# Is it possible to show `print` output as LaTeX in jupyter notebook?

## Question:

I was writing a very simple script to count ellipsoid area and volume and some other things. I was presenting my output printing it out like this:

``````print('Dims: {}x{}mnArea: {}m^2nVolume: {}m^3'.format(a, round(b,2), P, V))
``````

What, of course, gave this output (with sample data):

``````Dims: 13.49x2.25m
Area: 302.99m^2
Volume: 90.92m^3
``````

As I wrote earlier, I am using jupyter notebook, so I can use `\$` operators in markdown cells to create LaTeX formulas.

My question is, is it possible to generate output using Python code in a way that it will be understood as LaTeX formula and printed in such a way, that:

Thanks for all replies.

Use `IPython.display`‘s `display` function with a `Math` object:

``````from IPython.display import display, Math
display(Math(r'Dims: {}x{}m \ Area: {}m^2 \ Volume: {}m^3'.format(a, round(b,2), P, V)))
``````

Note the use of Latex-style `\` newlines, and the `r''` string, which will take the backslashes as literal backslashes and not see them as escape characters.

Found the solution here.

Here’s another solution that let’s you include text and math a little easier:
Use Markdown with `r` (so backslashed don’t become escape chars) and `f` string
for value insertion.

``````from IPython.display import display, Markdown

a = 13.49
b = 2.2544223
P = 302.99
V = 90.02

display(Markdown(
rf"""
Dims: \${a}m times{b:5.2}m\$

Area: \${P}m^2\$

Volume: \${V}m^3\$
"""))
``````

(don’t have enough reputation to comment on the discussion below JMann’s answer)

To escape LaTeX curly braces in format strings, you can double up the curly braces. e.g.

``````rf"NEP \$Nu_{{photon}}\$: {calc_nep(T):.3f} \$frac{{W}}{{ sqrt{{Hz}} }}\$."
``````
Categories: questions
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.