What is your favorite way to export figure for use in LaTeX?

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 comentarios

Most effective? Hand it over to a grad student or PDF (Post-Doctoral Fellow) ;-)
Craig
Craig el 14 de Oct. de 2011
That sounds like a great idea, can I borrow one of yours?

Iniciar sesión para comentar.

Respuestas (4)

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');
Oliver Woodford
Oliver Woodford el 13 de Oct. de 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 comentario

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.

Iniciar sesión para comentar.

Daniel Shub
Daniel Shub el 14 de Oct. de 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.
Maalek Naghavi
Maalek Naghavi el 12 de Jun. de 2021
Editada: Maalek Naghavi el 12 de Jun. de 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.

Categorías

Más información sobre Printing and Saving en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 13 de Oct. de 2011

Editada:

el 12 de Jun. de 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by