How to pretty print in ipython notebook via sympy?

colinfang picture colinfang · Jan 7, 2014 · Viewed 37.3k times · Source

I tried pprint, print, the former only prints Unicode version, and the latter doesn't do pretty prints.

from sympy import symbols, Function
import sympy.functions as sym
from sympy import init_printing
init_printing(use_latex=True)
from sympy import pprint
from sympy import Symbol

x = Symbol('x')

# If a cell contains only the following, it will render perfectly.
(pi + x)**2

# However I would like to control what to print in a function, 
# so that multiple expressions can be printed from a single notebook cell.
pprint((pi + x)**2)

Answer

Matt picture Matt · Jan 8, 2014

you need to use display:

from IPython.display import display

display(yourobject)

It will choose the appropriate representation (text/LaTex/png...), in recent enough version of IPython (6.0+) display is imported by default, still we recommend to explicitly import it.