# Figures in Latex

## Homework Statement

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

## 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

LCKurtz
Homework Helper
Gold Member
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}

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

## Homework Statement

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

## 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

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}}
\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}}
\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: