Formule matematiche in LaTeX rendering | Python

Rendering una formula matematica in LaTeX a PNG

Se necessario, dai un’occhiata alla sezione di riferimento API per questo argomento. In effetti, il modo migliore per dimostrare la funzione di rendering della formula matematica ** Latex è iniziare con un esempio. Ecco qui:

 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}")

Arriviamo ai dettagli. In primo luogo, iniziamo un oggetto Opzioni di rendering, simile alla composizione Tex/LaTex, che include le specifiche per la risoluzione dell’immagine di output desiderata.

Successivamente, specifichiamo il preambolo. Il preambolo predefinito è:

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

che offre un supporto migliorato per le formule matematiche rispetto al LaTeX standard. Ad esempio, è possibile includere il pacchetto Color per personalizzare l’evidenziazione nella formula, come dimostrato nell’esempio del codice fornito.

Quindi istruiamo il rendering di ridimensionare l’output del 300%.

Le due opzioni successive determinano il primo piano e i colori di sfondo. Tutte le parti della formula che non sono interessate dall’evidenziazione personalizzata verranno visualizzate nel colore TextColor.

La riga seguente nell’esempio funge da illustrazione che hai la possibilità di reindirizzare l’output del registro su un flusso specifico.

Infine, l’opzione “Showterminal” consente di controllare se l’output del terminale deve essere visualizzato nella console.

Il processo di rendering effettivo viene effettuato dal metodo MathRender.Render(), che restituisce le dimensioni della formula in punti.

Il metodo accetta il flusso in cui l’immagine verrà scritta come secondo argomento. Successivamente, procediamo a creare il flusso.

E infine, il metodo MathRender.Render() viene invocato, con le opzioni superate come terzo argomento. Il codice LaTeX della formula è fornito come primo argomento.

Le righe finali dell’esempio visualizzano due output del processo di rendering della formula matematica: la dimensione della formula e un rapporto di errore conciso, se si verificano errori.

Ecco il risultato del rendering.

Formula di matematica in LaTeX Rendering a PNG

Ciò rappresenta l’applicazione più comune e ampia della formula della formula matematica Latex.

Puoi anche esplorare la app Web gratuita, che utilizza la funzione implementata dell’API Aspose.TeX per .NET.

Rendering una formula matematica in LaTeX a SVG

Allo stesso modo, possiamo convertire una formula matematica in LaTeX in formato SVG usando lo stesso approccio.

 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}")

Le differenze sono:

Ecco il risultato:

Formula di matematica in LaTeX Rendering a SVG

Puoi anche esplorare la app Web gratuita, che utilizza la funzione implementata dell’API Aspose.TeX per .NET.

Have any questions about Aspose.TeX?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.