es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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:

¡rendered HTML

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.

Tags:  , ,

Answer

  1. Avatar for 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:

    def setup(app):
        app.add_css_file('custom.css')
    

    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 archivo conf.py y agregar el siguiente código para alinear a la izquierda todos los bloques de matemáticas:

    div.math {
        text-align: left;
        margin-left: 2em; /* ajusta según desees */
    }
    

    Este código selecciona todos los elementos div con la clase math y aplica las propiedades CSS text-align: left; para alinear a la izquierda el bloque de matemáticas y margin-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.

Comments are closed.