Main Content


LaTeX form of symbolic expression



chr = latex(S) returns the LaTeX form of the symbolic expression S.


collapse all

Find the LaTeX form of the symbolic expressions x^2 + 1/x and sin(pi*x) + alpha.

syms x phi
chr = latex(x^2 + 1/x)
chr = latex(sin(pi*x) + phi)
chr =

chr =
    '\phi +\sin\left(\pi \,x\right)'

Find the LaTeX form of the symbolic matrix M.

syms x
M = [sym(1)/3 x; exp(x) x^2]
chrM = latex(M)
M =
[    1/3,   x]
[ exp(x), x^2]

chrM =
    '\left(\begin{array}{cc} \frac{1}{3} & x\\ {\mathrm{e}}^x & x^2 \end{array}\right)'

Modify generated LaTeX by setting symbolic preferences using the sympref function.

Generate the LaTeX form of the expression π with the default symbolic preference.

chr = latex(sym(pi))
chr =
    '\pi '

Set the 'FloatingPointOutput' preference to true to return symbolic output in floating-point format. Generate the LaTeX form of π in floating-point format.

chr = latex(sym(pi))
chr =

Now change the output order of a symbolic polynomial. Create a symbolic polynomial and set 'PolynomialDisplayStyle' preference to 'ascend'. Generate LaTeX form of the polynomial sorted in ascending order.

syms x;
poly = x^2 - 2*x + 1;
chr = latex(poly)
chr =

The preferences you set using sympref persist through your current and future MATLAB® sessions. Restore the default values by specifying the 'default' option.


For x and y from -2π to 2π, plot the 3-D surface ysin(x)-xcos(y). Store the axes handle in a by using gca. Display the axes box by using a.Box and set the tick label interpreter to latex.

Create the x-axis ticks by spanning the x-axis limits at intervals of pi/2. Convert the axis limits to precise multiples of pi/2 using round and get the symbolic tick values in S. Display the ticks by setting the XTick property of a to S. Create the LaTeX labels for the x-axis by using arrayfun to apply latex to S and then concatenating $. Display the labels by assigning them to the XTickLabel property of a.

Repeat these steps for the y-axis. Set the x- and y-axes labels and the title using the latex interpreter.

syms x y
f = y.*sin(x)-x.*cos(y);
fsurf(f,[-2*pi 2*pi])
a = gca;
a.TickLabelInterpreter = 'latex';
a.Box = 'on';
a.BoxStyle = 'full';

S = sym(a.XLim(1):pi/2:a.XLim(2));
S = sym(round(vpa(S/pi*2))*pi/2);
a.XTick = double(S);
a.XTickLabel = strcat('$',arrayfun(@latex, S, 'UniformOutput', false),'$');

S = sym(a.YLim(1):pi/2:a.YLim(2));
S = sym(round(vpa(S/pi*2))*pi/2);
a.YTick = double(S);
a.YTickLabel = strcat('$',arrayfun(@latex, S, 'UniformOutput', false),'$');

title(['$' latex(f) '$ for $x$ and $y$ in $[-2\pi,2\pi]$'],'Interpreter','latex')

Figure contains an axes. The axes with title $y\,\sin\left(x\right)-x\,\cos\left(y\right)$ for $x$ and $y$ in $[-2\pi,2\pi]$ contains an object of type functionsurface.

Input Arguments

collapse all

Input, specified as a symbolic number, variable, vector, matrix, multidimensional array, function, or expression.

Introduced before R2006a