Representación de fórmulas matemáticas LaTeX | Python

Representar una fórmula matemática LaTeX a PNG

Si es necesario, consulte la sección de referencia de API para este tema. De hecho, la mejor manera de demostrar la función de representación de fórmula matemática LaTeX es comenzar con un ejemplo. Aquí lo tienes:

 1# Create rendering options setting the image resolution to 150 dpi.
 2options = PngMathRendererOptions() 
 3options.resolution = 150             # Specify the preamble.
 4options.preamble = r"""\usepackage{amsmath}
 5\usepackage{amsfonts}
 6\usepackage{amssymb}
 7\usepackage{color}"""
 8# Specify the scaling factor 300%.
 9options.scale = 3000
10# Specify the foreground color.
11options.text_color = Color.black
12# Specify the background color.
13options.background_color = Color.white
14# Specify the output stream for the log file.
15options.log_stream = BytesIO()
16# Specify whether to show the terminal output on the console or not.
17options.show_terminal = True
18
19# Create the output stream for the formula image.
20with open(path.join(Util.output_directory, "math-formula.png"), "wb") as stream:
21    # Run rendering.
22    size = PngMathRenderer().render(r"""\begin{equation*}
23e^x = x^{\color{red}0} + x^{\color{red}1} + \frac{x^{\color{red}2}}{2} + \frac{x^{\color{red}3}}{6} + \cdots = \sum_{n\geq 0} \frac{x^{\color{red}n}}{n!}
24\end{equation*}""", stream, options)
25
26# Show other results.
27print(options.error_report)
28print()
29print(f"Size: {size.width}x{size.height}")

Vayamos a los detalles. En primer lugar, iniciamos un objeto opciones de renderizado, similar a la composición tipográfica TeX/LaTeX, que incluye la especificación para la resolución de imagen de salida deseada.

A continuación, especificamos el preámbulo. El preámbulo predeterminado es:

1\usepackage{amsmath}
2\usepackage{amsfonts}
3\usepackage{amssymb}

que ofrece soporte mejorado para fórmulas matemáticas en comparación con el LaTeX estándar. Por ejemplo, puede incluir el paquete color para personalizar el resaltado en la fórmula, como se demuestra en el ejemplo de código proporcionado.

Luego le indicamos al renderizador que escale la salida en un 300%.

Las siguientes dos opciones determinan los colores de primer plano y de fondo. Cualquier parte de la fórmula que no se vea afectada por el resaltado personalizado se mostrará en el color “TextColor”.

La siguiente línea del ejemplo sirve como ilustración de que tiene la opción de redirigir la salida del registro a una secuencia específica.

Y finalmente, la opción ShowTerminal le permite controlar si la salida del terminal debe mostrarse en la consola.

El proceso de renderizado real lo lleva a cabo el método MathRenderer.render(), que devuelve el tamaño de la fórmula en puntos.

El método acepta la secuencia donde se escribirá la imagen como segundo argumento. Posteriormente, procedemos a crear el stream.

Y finalmente, se invoca el método MathRenderer.render(), pasando las opciones como tercer argumento. El código LaTeX de la fórmula se proporciona como primer argumento.

Las líneas finales del ejemplo muestran dos resultados del proceso de representación de fórmulas matemáticas: el tamaño de la fórmula y un informe de error conciso, si se produce algún error.

Aquí está el resultado del renderizado.

Representación de fórmulas matemáticas de LaTeX a PNG

Esto representa la aplicación más común y amplia de la funcionalidad representación de fórmulas matemáticas LaTeX.

También puede explorar la aplicación web gratuita, que utiliza la función implementada de Aspose.TeX para .NET API.

Representar una fórmula matemática LaTeX a SVG

De manera similar, podemos convertir una fórmula matemática LaTeX al formato SVG usando el mismo enfoque.

 1# Create rendering options.
 2options = SvgMathRendererOptions()
 3# Specify the preamble.
 4options.preamble = r"""\usepackage{amsmath}
 5\usepackage{amsfonts}
 6\usepackage{amssymb}
 7\usepackage{color}"""
 8# Specify the scaling factor 300%.
 9options.scale = 3000
10# Specify the foreground color.
11options.text_color = Color.black
12# Specify the background color.
13options.background_color = Color.white
14# Specify the output stream for the log file.
15options.log_stream = BytesIO()
16# Specify whether to show the terminal output on the console or not.
17options.show_terminal = True
18
19# Create the output stream for the formula image.
20with open(path.join(Util.output_directory, "math-formula.svg"), "wb") as stream:
21    # Run rendering.
22    size = SvgMathRenderer().render(r"""\begin{equation*}
23e^x = x^{\color{red}0} + x^{\color{red}1} + \frac{x^{\color{red}2}}{2} + \frac{x^{\color{red}3}}{6} + \cdots = \sum_{n\geq 0} \frac{x^{\color{red}n}}{n!}
24\end{equation*}""", stream, options)
25
26# Show other results.
27print(options.error_report)
28print()
29print(f"Size: {size.width}x{size.height}")

Las diferencias son:

Aquí está el resultado:

Representación de fórmula matemática LaTeX a SVG

También puede explorar la aplicación web gratuita, que utiliza la función implementada de Aspose.TeX para .NET API.

Have any questions about Aspose.TeX?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.