Alinea a la izquierda todos los bloques de código matemático en la salida HTML de Sphinx.
Tengo documentación Sphinx que contiene bloques de matemáticas a través de [la directiva math
]. Por defecto, están centrados en la salida HTML. Quiero que todos aparezcan alineados a la izquierda, pero con cierta indentación con respecto al texto circundante.
Por ejemplo, si esto está en index.rst
Para :math:<code>|r| < 1</code>:
.. math::
\sum\limits_{k=0}^{\infty} r^k = \frac{1}{1-r}
Texto en el siguiente párrafo colocado aquí para demostrar que el bloque de matemáticas está centrado en la página.
y conf.py
está completamente vacío, entonces ejecutar sphinx-build . output
en la misma carpeta produce la siguiente página HTML que se ve en el navegador:
¡
Quiero que esa fórmula y todos los demás bloques de matemáticas estén alineados a la izquierda con una indentación de aproximadamente 2 "em". Esta pregunta pregunta cómo alinear a la izquierda un solo bloque de matemáticas. Espero que haya una forma de lograr el mismo efecto en toda la documentación sin cambiar cada una de las directivas de matemáticas en la fuente reStructuredText.
davy.ai
Para alinear a la izquierda todos los bloques de matemáticas en la documentación de Sphinx, manteniendo cierta sangría con respecto al texto circundante, puedes modificar la hoja de estilos CSS para tu salida HTML. Puedes hacer esto agregando el siguiente código a tu archivo
conf.py
:Esto agrega una referencia a un archivo CSS personalizado llamado
custom.css
a tu configuración de Sphinx. Puedes crear este archivo en el mismo directorio que tu archivoconf.py
y agregar el siguiente código para alinear a la izquierda todos los bloques de matemáticas:Este código selecciona todos los elementos
div
con la clasemath
y aplica las propiedades CSStext-align: left;
para alinear a la izquierda el bloque de matemáticas ymargin-left: 2em;
para agregar una sangría de 2em.Después de realizar estos cambios, al ejecutar
sphinx-build . output
, se generará una salida HTML con bloques de matemáticas alineados a la izquierda, como se muestra en la imagen de ejemplo.