• Support PF! Buy your school textbooks, materials and every day products Here!

Figures in Latex

  • Thread starter sara_87
  • Start date
  • #1
763
0

Homework Statement



Is there a way i can attatch matlab graphs onto the Latex file?

Homework Equations





The Attempt at a Solution



I copied and pasted it onto paint then saved it as .jpg but i was wondering if theres a way i could attatch the original graph without copying and pasting it onto paint.

Thank you
 

Answers and Replies

  • #2
LCKurtz
Science Advisor
Homework Helper
Insights Author
Gold Member
9,517
733
I don't use Matlab. Can it export its graphs as encapsulated PostScript files? It it can, then you can do it like this:

\usepackage{graphicx}

\begin{center}
\includegraphics[width=2.5in,height=2.5in]{yourgraph.eps}
\end{center}
 
  • #3
192
0
I don't use Matlab. Can it export its graphs as encapsulated PostScript files? It it can, then you can do it like this:

\usepackage{graphicx}

\begin{center}
\includegraphics[width=2.5in,height=2.5in]{yourgraph.eps}
\end{center}
Yes, it can
 
  • #4
372
0

Homework Statement



Is there a way i can attatch matlab graphs onto the Latex file?

Homework Equations





The Attempt at a Solution



I copied and pasted it onto paint then saved it as .jpg but i was wondering if theres a way i could attatch the original graph without copying and pasting it onto paint.

Thank you
Sara, here's the magic:

MATLAB > SVG > PDF > Latex

1) You need to download "Scalable Vector Graphics (SVG) Export of Figures" from MATLAB Central.

a. Go to

Code:
http://www.mathworks.com/matlabcentral/fileexchange/7401-scalable-vector-graphics-svg-export-of-figures
b. Extract zip file into the matlab folder you will use as a current directory (i.e. where your M-files are located)

c. Simply type "plot2svg" in command window or M-file, a GUI will pop up and ask you where to save the figure as an SVG file. Of course, you need a plot( ) command just before this step to generate a figure!

Note: svgs do not have resolution constraints, like true pdfs.

2) You need inkscape

a. Download: www.inkscape.org/

b. Open the svg file from matlab in inkscape

c. shift+ctrl+d: opens document properties, you might want to click fit page to selection - this removes any extra space surrounding the figure.

d. Add any annotations as you wish.

e. shift+ctrl+s: save as... pdf via Cairo

3) Latex

Example of scaled figure (33% of the initial size and lossless!).

Preamble:

Code:
\usepackage{graphics}
Body:

Code:
\begin{figure}[!h]
\centerline{
{\scalebox{0.33}{\includegraphics{figure.pdf}} 
}
\caption{Any caption.}
\label{fig:figlabel}
\end{figure}
You may wanna look into the subfloat package for having subfigures (a) (b) (c) ... etc within one plot. Example:

Preamble:

Code:
\usepackage{graphics}
\usepackage{subfig}
Body:

Code:
\begin{figure}[!h]
\centerline{
\subfloat[Vertical cutlines.]%
{\scalebox{0.33}{\includegraphics{NMOS_cutlines.pdf}} \label{fig:nmos1athena2dcut}}
\quad
\subfloat[Doping profile for cutline \# 1.]%
{\scalebox{0.33}{\includegraphics{NMOS_cutlines1.pdf}} \label{fig:nmos1athena2dcut1}} 
\vspace{0.5cm}
}
\centerline{
\subfloat[Doping profile for cutline \# 2.]%
{\scalebox{0.33}{\includegraphics{NMOS_cutlines2.pdf}} \label{fig:nmos1athena2dcut2}}
\quad
\subfloat[Doping profile for cutline \# 3.]
{\scalebox{0.33}{\includegraphics{NMOS_cutlines3.pdf}} \label{fig:nmos1athena2dcut3}} 
\vspace{0.5cm}
}
\caption{NMOSFET doping profile at critical locations.}
\label{fig:nmos2}
\end{figure}
The code looks ugly, but the final result is amazing!

I hope this helps.
 
Last edited:

Related Threads for: Figures in Latex

  • Last Post
Replies
0
Views
3K
Replies
2
Views
5K
  • Last Post
Replies
10
Views
1K
  • Last Post
Replies
5
Views
21K
  • Last Post
Replies
1
Views
3K
  • Last Post
Replies
16
Views
3K
  • Last Post
Replies
3
Views
1K
Replies
11
Views
914
Top