α2α2 type titles notebook and latex jupyter-notebook ipython

latex - type - title jupyter



¿Cómo escribir LaTeX en IPython Notebook? (9)

¿Cómo puedo mostrar el código LaTeX en un cuaderno IPython?


Referencias LaTeX:

El Blog de Udacity tiene el Mejor LaTeX Primer que he visto: ¡Muestra claramente cómo usar los comandos de LaTeX de una manera fácil de leer y recordar! Muy recomendable .

Este enlace tiene excelentes ejemplos que muestran tanto el código como el resultado generado.
Puede usar este sitio para aprender rápidamente cómo escribir LaTeX por ejemplo.

Y, aquí hay una referencia rápida para los comandos / símbolos de LaTeX .

Para resumir: varias formas de indicar LaTeX en Jupyter / IPython:

Examples para las células de reducción:

en línea, envolver en: $

The equation used depends on whether the the value of $V​max​​$ is R, G, or B.

bloque, envolver en: $$

$$H← ​​​​​0 ​+​ /frac{​​30(G−B)​​}{Vmax−Vmin} ​​, if V​max​​ = R$$

bloque, envolver en: /begin{equation} y /end{equation}

/begin{equation} H← ​​​60 ​+​ /frac{​​30(B−R)​​}{Vmax−Vmin} ​​, if V​max​​ = G /end{equation}

bloquear, envolver en: /begin{align} y /end{align}

/begin{align} H←120 ​+​ /frac{​​30(R−G)​​}{Vmax−Vmin} ​​, if V​max​​ = B /end{align}

Examples para las celdas de código:

LaTex Cell: %%latex magic command convierte la celda completa en una celda LaTeX

%%latex /begin{align} /nabla /cdot /vec{/mathbf{E}} & = 4 /pi /rho // /nabla /times /vec{/mathbf{E}}/, +/, /frac1c/, /frac{/partial/vec{/mathbf{B}}}{/partial t} & = /vec{/mathbf{0}} // /nabla /cdot /vec{/mathbf{B}} & = 0 /end{align}

Objeto matemático para pasar en una cadena LaTeX sin formato :

from IPython.display import Math Math(r''F(k) = /int_{-/infty}^{/infty} f(x) e^{2/pi i k} dx'')

Clases de latex . Nota: tienes que incluir los delimitadores tú mismo. Esto le permite usar otros modos LaTeX como eqnarray :

from IPython.display import Latex Latex(r"""/begin{eqnarray} /nabla /times /vec{/mathbf{B}} -/, /frac1c/, /frac{/partial/vec{/mathbf{E}}}{/partial t} & = /frac{4/pi}{c}/vec{/mathbf{j}} // /nabla /cdot /vec{/mathbf{E}} & = 4 /pi /rho // /nabla /times /vec{/mathbf{E}}/, +/, /frac1c/, /frac{/partial/vec{/mathbf{B}}}{/partial t} & = /vec{/mathbf{0}} // /nabla /cdot /vec{/mathbf{B}} & = 0 /end{eqnarray}""")

Docs para células crudas:

(lo siento, no hay ejemplo aquí, solo los documentos)

Celdas sin procesar Las celdas sin procesar proporcionan un lugar en el que puede escribir la salida directamente. Las celdas en bruto no son evaluadas por el cuaderno. Cuando se pasa a través de nbconvert , las celdas sin formato llegan al formato de destino sin modificar. Por ejemplo, esto le permite escribir LaTeX completo en una celda sin procesar , que solo será procesada por LaTeX después de la conversión por nbconvert .

Documentación adicional:

Para Markdown Cells, como se cita en los Examples de Examples :

Dentro de las celdas Markdown, también puede incluir las matemáticas de una manera directa, utilizando la notación estándar de LaTeX: $ ... $ para las matemáticas en línea y $$ ... $$ para las matemáticas mostradas . Cuando se ejecuta la celda Markdown, las partes de LaTeX se representan automáticamente en la salida HTML como ecuaciones con tipografía de alta calidad. Esto es posible gracias a MathJax, que admite un gran subconjunto de la funcionalidad de LaTeX

Los entornos matemáticos estándar definidos por LaTeX y AMS-LaTeX (el paquete amsmath) también funcionan, como / begin {equation} ... / end {equation} , y / begin {align} ... / end {align} . Las nuevas macros de LaTeX pueden definirse usando métodos estándar, como / newcommand, colocándolos en cualquier lugar entre delimitadores matemáticos en una celda de Markdown. Estas definiciones están disponibles a lo largo del resto de la sesión de IPython.


Como no pude usar todos los comandos de látex en el Código, incluso después de usar la palabra clave %% latex o el limitador $ .. $, instalé las extensiones a través de las cuales podía usar los comandos de látex en Markdown. Después de seguir las instrucciones aquí: https://github.com/ipython-contrib/IPython-notebook-extensions/blob/master/README.md y luego reinicie Jupyter y luego localhost: 8888 / nbextensions y luego active "Latex Environment for Jupyter ", podría ejecutar muchos comandos de látex. Los ejemplos están aquí: https://rawgit.com/jfbercher/latex_envs/master/doc/latex_env_doc.html

/section{First section} /textbf{Hello} $ /begin{equation} c = /sqrt{a^2 + b^2} /end{equation} $ /begin{itemize} /item First item /item Second item /end{itemize} /textbf{World}

Como ves, todavía no puedo usar el paquete de usep. Pero tal vez se mejore en el futuro.


El portátil IPython usa MathJax para representar LaTeX dentro de html / markdown. Simplemente ponga su matemática LaTeX dentro de $$ .

$$c = /sqrt{a^2 + b^2}$$

O puede mostrar la salida de LaTeX / Math de Python, como se ve hacia el final del recorrido del portátil :

from IPython.display import display, Math, Latex display(Math(r''F(k) = /int_{-/infty}^{/infty} f(x) e^{2/pi i k} dx''))


La respuesta dada por (incluida para completar) es buena, pero hay otra manera que me gusta aún más.

También puede representar una celda completa como LaTeX escribiendo %%latex como la primera línea en una celda de texto. Esto es útil si

  • quiero más control,
  • quiere más que solo un entorno matemático,
  • o si vas a escribir muchas matemáticas en una celda.

respuesta de :

El portátil IPython usa MathJax para representar LaTeX dentro de html / markdown. Simplemente ponga su matemática LaTeX dentro de $$ .

$$c = /sqrt{a^2 + b^2}$$

O puede mostrar la salida de LaTeX / Math de Python, como se ve hacia el final del recorrido del portátil :

from IPython.display import display, Math, Latex display(Math(r''F(k) = /int_{-/infty}^{/infty} f(x) e^{2/pi i k} dx''))


No puedo negar que no estoy parcializado, pero prefiero usar prettyPy en lugar de escribir expresiones de LaTeX completas.

Ejemplo:

Por supuesto, sympy es una excelente alternativa y, aunque prettyPy no permite evaluar expresiones, no es necesaria la inicialización de variables.


Puede elegir una celda para que sea reducida, luego escriba el código de látex que Mathjax interpreta, como dice uno de los que respondieron anteriormente.

Alternativamente, la sección de látex del tutorial iPython notebook explica esto bien.

Usted puede hacer:

from IPython.display import Latex Latex(r"""/begin{eqnarray} /nabla /times /vec{/mathbf{B}} -/, /frac1c/, /frac{/partial/vec{/mathbf{E}}}{/partial t} & = /frac{4/pi}{c}/vec{/mathbf{j}} // /nabla /cdot /vec{/mathbf{E}} & = 4 /pi /rho // /nabla /times /vec{/mathbf{E}}/, +/, /frac1c/, /frac{/partial/vec{/mathbf{B}}}{/partial t} & = /vec{/mathbf{0}} // /nabla /cdot /vec{/mathbf{B}} & = 0 /end{eqnarray}""")

o haz esto:

%%latex /begin{align} /nabla /times /vec{/mathbf{B}} -/, /frac1c/, /frac{/partial/vec{/mathbf{E}}}{/partial t} & = /frac{4/pi}{c}/vec{/mathbf{j}} // /nabla /cdot /vec{/mathbf{E}} & = 4 /pi /rho // /nabla /times /vec{/mathbf{E}}/, +/, /frac1c/, /frac{/partial/vec{/mathbf{B}}}{/partial t} & = /vec{/mathbf{0}} // /nabla /cdot /vec{/mathbf{B}} & = 0 /end{align}

Más información encontrada en este link


Si su principal objetivo es hacer matemáticas, SymPy proporciona un excelente enfoque para las expresiones de látex funcionales que se ven geniales.


Use $$ si desea que sus matemáticas aparezcan en una sola línea, por ejemplo,

$$a = b + c$$ (line break after the equation)

Si no necesita un salto de línea después del cálculo, use el signo de dólar único $, por ejemplo,

$a = b + c$ (no line break after the equation)


Esto surgió en una búsqueda que estaba haciendo, encontré una mejor solución con un poco más de búsqueda, los portátiles IPython ahora tienen una magia de %%latex que produce el látex de toda la celda sin el envoltorio $$ para cada línea.

Consulte el recorrido del cuaderno para el sistema de pantalla enriquecido