Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Homework Help: Figures in Latex

  1. Mar 10, 2010 #1
    1. The problem statement, all variables and given/known data

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

    2. Relevant equations

    3. 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
  2. jcsd
  3. Mar 11, 2010 #2


    User Avatar
    Science Advisor
    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:


  4. Mar 12, 2010 #3
    Yes, it can
  5. Mar 13, 2010 #4
    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 (Text):
    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!).


    Code (Text):


    Code (Text):

    \caption{Any caption.}
    You may wanna look into the subfloat package for having subfigures (a) (b) (c) ... etc within one plot. Example:


    Code (Text):


    Code (Text):

    \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}}
    \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}}
    \caption{NMOSFET doping profile at critical locations.}
    The code looks ugly, but the final result is amazing!

    I hope this helps.
    Last edited: Mar 13, 2010
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook