What is your favorite way to export figure for use in LaTeX?
174 views (last 30 days)
Show older comments
Matlab's standard plotting tools are sufficient for visualizing intermediate results, but there are many reasons why you can't simply export a eps or pdf to be included in a LaTeX generated report or publication. I've tried a several options varying from explicitly setting the fonts to using export tools such as matlab2tikz; but what tools/ methods do you find the most effective at easily making a beautiful figure without extensive effort?
2 Comments
Walter Roberson
on 13 Oct 2011
Most effective? Hand it over to a grad student or PDF (Post-Doctoral Fellow) ;-)
Answers (4)
ibrahim thamary
on 19 Feb 2018
I found this useful:
https://dgleich.github.io/hq-matlab-figs/
width = 3; % Width in inches
height = 3; % Height in inches
set(gcf,'InvertHardcopy','on');
set(gcf,'PaperUnits', 'inches');
papersize = get(gcf, 'PaperSize');
left = (papersize(1)- width)/2;
bottom = (papersize(2)- height)/2;
myfiguresize = [left, bottom, width, height];
set(gcf,'PaperPosition', myfiguresize);
% Save the file as PNG
print('r9','-dpng','-r300');
print('r9','-depsc2','-r300');
0 Comments
Oliver Woodford
on 13 Oct 2011
I create the graph or image in a MATLAB figure on screen exactly as I want it to appear in the paper. Then I save the figure as either a PDF or a PNG using export_fig. Finally I insert the output in latex using includegraphic and compile using pdflatex.
Export_fig respects figure dimensions, crops whitespace, embeds fonts and saves bitmaps at high quality, so the results look good.
1 Comment
Image Analyst
on 13 Oct 2011
Oliver's export_fig, mentioned in the FAQ, is certainly a very popular, if not the most popular, way to do it. http://matlab.wikia.com/wiki/FAQ#How_do_I_save_my_figure.2C_axes.2C_or_image.3F_I.27m_having_trouble_with_the_built_in_MATLAB_functions.
Daniel Shub
on 14 Oct 2011
While beauty is subjective, I don't think that it is possible to produce a beautiful figure without extensive effort. Even with extensive effort, I do not think that MATLAB can produce a beautiful figure. Now quick, publishable and clear, then you want to use export_fig.
0 Comments
Maalek Naghavi
on 12 Jun 2021
Edited: Maalek Naghavi
on 12 Jun 2021
Matlab-generated PDF graph
If you have saved your Matlab-created graph as a pdf file, then you can use it in your Latex document using:
\includegraphics[width=\textwidth,height=\textheight,scale=1]{path/to/figure.pdf}
You may change the size of your figure by tuning the options inside the braces to fit it to your space. Then compile your whole document:
pdflatex -interaction=nonstopmode -src main.tex
Matlab-generated EPS graph
If you have saved your Matlab-created graph as an eps file, then the same procedure applies for including the figure. For compilation use:
latex -interaction=nonstopmode -src main.pdf
dvips main.dvi
ps2pdf main.ps
If you are creating a presentation using beamer class, see beamer's documentation, chapter Creating PostScripts.
0 Comments
See Also
Categories
Find more on Printing and Saving in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!