J'écrivais un script très simple pour compter la surface et le volume des ellipsoïdes et d'autres choses. Je présentais ma sortie en l'imprimant comme ceci:
print('Dims: {}x{}m\nArea: {}m^2\nVolume: {}m^3'.format(a, round(b,2), P, V))
Ce qui, bien sûr, a donné cette sortie (avec des exemples de données):
Dims: 13.49x2.25m
Area: 302.99m^2
Volume: 90.92m^3
Comme je l'ai écrit plus tôt, j'utilise le cahier jupyter, donc je peux utiliser les opérateurs $ dans réduction cellules pour créer des formules LaTeX.
Ma question est, est-il possible de générer une sortie en utilisant Python d'une manière qui sera comprise comme LaTeX formule et imprimé de telle manière que:
Merci pour toutes les réponses.
Utilisez la fonction display
de IPython.display
Avec un objet Math
:
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)))
Notez l'utilisation des sauts de ligne de style Latex \\
Et la chaîne r''
, Qui prendront les barres obliques inverses comme des barres obliques littérales et ne les verront pas comme des caractères d'échappement.
Trouvé la solution ici .
Voici une autre solution qui vous permet d'inclure du texte et des mathématiques un peu plus facilement: utilisez Markdown avec r
(afin que les barres obliques inverses ne deviennent pas des caractères d'échappement) et f
chaîne pour l'insertion de valeur.
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$
"""))