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

眉间皱痕 提交于 2019-12-18 12:00:54

问题


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{}m\nArea: {}m^2\nVolume: {}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.


回答1:


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.




回答2:


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$
"""))


来源:https://stackoverflow.com/questions/48422762/is-it-possible-to-show-print-output-as-latex-in-jupyter-notebook

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!