Escribo un código matemático en Python y uso Sphinx para producir la documentación. Sé que Sphinx puede manejar el código LaTeX en Python docstrings; ver http://sphinx.pocoo.org/latest/ext/math.html#module-sphinx.ext.mathbase. ¿Cómo puedo crear macros LaTeX, como \newcommand{\cG}{\mathcal{G}}
, para usar en las cadenas de Python?Creando macros de matemáticas LaTeX dentro de Sphinx
Respuesta
Aha, he encontrado una solución que funciona con la extensión pngmath Sphinx . Es el truco que usa Sage (software de matemática de código abierto); inspiración desde http://www.sagemath.org/doc/reference/sage/misc/latex_macros.html.
Para añadir sus propias macros de látex a un documento Sphinx:
1) Hacer un archivo, por ejemplo 'latex_macros.sty', que contiene las macros (uno por línea), y ponerlo en, por ejemplo, la misma directorio como su archivo Sphinx conf.py;
2) Agregue el código siguiente a su archivo conf.py Sphinx:
# Additional stuff for the LaTeX preamble.
latex_elements['preamble'] = '\usepackage{amsmath}\n\usepackage{amssymb}\n'
#####################################################
# add LaTeX macros
f = file('latex_macros.sty')
try:
pngmath_latex_preamble # check whether this is already defined
except NameError:
pngmath_latex_preamble = ""
for macro in f:
# used when building latex and pdf versions
latex_elements['preamble'] += macro + '\n'
# used when building html version
pngmath_latex_preamble += macro + '\n'
#####################################################
Si está utilizando la extensión pngmath, se puede poner que en el preámbulo insertando esto en el guión conf.py:
pngmath_latex_preamble = r"\newcommand{\cG}{\mathcal{G}}"
Si está utilizando mathjax, he aquí una solución posible. Todavía estoy buscando una solución más agradable, pero podría ser útil si necesitas un truco rápido.
Crear un archivo en el directorio especificado en la opción de configuración
html_static_path
(típicamente_static
), por ejemplomathconf.js
. Esto contendrá la configuración de JS para MathJax. Por ejemplo (de la MathJax documentation):MathJax.Hub.Config({ TeX: { Macros: { RR: '{\\bf R}', bold: ['{\\bf #1}', 1] } } });
se puede añadir más comandos siguientes de la sintaxis anterior. Los contenidos mostrados definen las macros
\RR
y\bold{#1}
, aceptando este último un argumento.Agregue un archivo
layout.html
en el directorio_templates
. La idea es ampliar el tema actual, por lo que busca en el archivo de configuración MathJax anterior. Por lo tanto, los contenidos son:{% extends "!layout.html" %} {% set script_files = script_files + ["_static/mathconf.js"] %}
Tenga en cuenta que en este caso es
_static
el directorio, ya que en este caso se refiere a dónde buscar después de la construcción. Sphinx habrá movido el archivo desdehtml_static_path
al directorio_static
en el directorio de compilación.
- 1. llaves para matemáticas en LaTeX
- 2. ¿Cómo habilitar las matemáticas en sphinx?
- 3. Creando un evaluador de expresiones matemáticas
- 4. Forma correcta de definir macros \ etc \ ie en latex
- 5. Sustituciones dentro de enlaces en reST/Sphinx
- 6. ¿Es posible hacer matemáticas dentro de CSS?
- 7. ¿Es Sphinx mejor que LaTex al escribir manuales/libros?
- 8. Entorno Verbatim dentro de la celda LaTeX?
- 9. Latex - \ multicolumn dentro de un entorno * alinear
- 10. DocBook macros?
- 11. Creando una ventana dentro de TThread
- 12. Creando JTable dentro del nodo de JTree
- 13. macros de asciidoc
- 14. LaTeX
- 15. PHP - Analizar ecuaciones matemáticas dentro de las cadenas
- 16. Acción Vim dentro del entorno LaTeX
- 17. OCR lib para fórmulas matemáticas
- 18. Centrado de texto dentro de una celda Multirow en LaTex
- 19. ¿Cómo encerrar dentro de las ecuaciones de LaTeX?
- 20. Incluyendo documentos completos de LaTeX dentro de otros
- 21. macros en macros
- 22. funciones matemáticas de composición tipográfica en LaTeX para crear en la Solicitud Android
- 23. Cómo quitar espacio extraño en matemáticas de estilo LaTeX en la parcela matplotlib
- 24. salida condicional en Sphinx Documentación
- 25. Puntuación en fórmulas LaTeX
- 26. ¿Se puede hacer que MathJax solo convierta LaTeX si está dentro de una determinada etiqueta?
- 27. creando una función de operador binario dentro de un paquete
- 28. Matemáticas - números de mapeo
- 29. LaTeX vs DocBook
- 30. ¿Dónde se puede publicar un código muy bien formateado combinado con LaTeX para expresiones matemáticas?
no funcionó para mí (Sphinx = 1.3.1), probablemente porque no puedo establecer el tipo de secuencia de comandos correctamente a '' (ver http://docs.mathjax.org/en/latest/configuration.html#using-in-line-configuration-options). – user511