File Exchange

image thumbnail


version (28.8 KB) by Matthias Pospiech
This package enables the use of all fonts that are supported by LaTeX in a figure.

1 Download

Updated 22 May 2013

View License

The creation of really beautiful and publishable graphs with Matlab is not easy but possible.
However once you want to export your file you run into many problems, which are based on build in problems (bugs) of Matlab which have not been fixed since years.

The two most important bugs are the missing font support and wrong linestyles.

The function 'latexfigure' is an approach to solve this problem. It is basically a wrapper to several existing functions for the solution of these problems.

It was inspired by mlf2pdf and uses matlabfrag to get around the
eps font problem. However I had to patch matlabfrag to support also non math fonts.

The linestyles are corrected using the ‘fix_lines.m’ script from export_fig.

The major drawback of this approach is that it requires a complete LaTeX collection to create a pdf version of the figure, which can than be converted afterwards in the target format using ghostscript.

The code is hosted at

Cite As

Matthias Pospiech (2021). latexfigure (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (3)


It works now and it looks nice. '$$f_u$$' does not work, but '$f_u$' works.


it doesn't work. All figures were processed flawlessly by mlf2pdf, but with this routine, whatever i do, i get this :

No delimiter in string, inputString is returned
Cell contents reference from a non-cell array object.

Error in latexfigure/createLaTeXFile (line 178)
fprintf(fid,'%s\n',split{i}); % Suplementary LaTeX Code

Error in latexfigure (line 100)


I have used the script excessively and it has produced a lot of nice looking figures. But I have one issue with it.

I define a size for the legend using a four element vector for the setting of the ‘location’ but MATLAB is widening the legend so that the entry for the legend fits. When I use for the example of a revolution speed
$n = 500/\textrm{min}$
I get a very wide legend with a big white edge after latexfigure converts the term to n = 500/min.

Does somebody know a way/workaround to narrow down the legend?

MATLAB Release Compatibility
Created with R2011a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!