How to use LaTeX symbols in Julia

LaTeX is a technique consisting of developing documents using clear text stylized with specific markup tags in a similar way to HTML/CSS or Markdown. This technique is mainly used for authoring scientific papers.

In Julia's ecosystem, we can leverage the capabilities of the package Latexify.jl to convert a wide assortment of Julia objects to LaTeX-formatted strings.

This package allows changing objects of different types to the LaTeX format like:

  • Expressions

  • Strings

  • Numbers

  • And many more

Let's go through the following examples showing how to render a simple formula in the LaTeX format:

Before delving into these examples, let's clarify that the latexify function included within the package Latexify.jl, which only generates a LaTeXString object, but does not provide any visualization on its own. Therefore, to render this LaTeXString object, we will leverage the capabilities of the powerful, simple-to-use, and free Google Chart API.

With the Google Chart API, we can easily create a chart from some data and embed it in a webpage. An HTTP request targeting this API is submitted with the data and formatting parameters. Consequently, the API returns an image of the chart generated in PNG format. Using this API, we can generate an image showing a mathematical formula while submitting the data in LaTeX format.

Code example 1

This example shows how to render a simple formula in LaTeX Format using the package Latexify.jl and the Google Chart API:

using Latexify
Latexify.set_default(; env=:inline)
formula = "a/(b_2)"
output = latexify(formula)
print(output)
link = "https://chart.googleapis.com/chart?cht=tx&chl=" * output
print("<br>",link)
download(link, "/usercode/output/latex.png")

Code explanation

Now, let's scrutinize the code widget above:

  • Line 1: We load the package Latexify.jl.

  • Line 3: We set the output environment parameter of the package to inline to surround the output generated with $ signs for inline rendering.

  • Line 4: We specify the formula to transform.

  • Line 5: We invoke the latexify function to transform the specified formula to LaTeX format and store it in the variable output. Noting that the latexify function generates a LaTeXString object but does not provide any visualization on its own.

  • Line 6: We display the output generated.

  • Line 8: We devise a link targeting the Google Chart API.

  • Line 9: We display the composed link.

  • Line 10: We call the link and download the generated image.

Code example 2

This example illustrates how to render a complex formula in the LaTeX Format:

using Latexify
using HTTP
Latexify.set_default(; env=:inline)
formula = ["a/b" 5//8 5+8im; 1 :P_x :(gamma(2))]
output = latexify(formula)
print("<br>",output)
encoded_output = HTTP.escapeuri(output)
print("<br>",encoded_output)
link = "https://chart.googleapis.com/chart?cht=tx&chl=" * encoded_output
print("<br>",link)
download(link, "/usercode/output/latex.png")

Code explanation

Now, let's explain the code widget above:

  • Line 12: We load the packages Latexify.jl and HTTP.jl.

  • Line 4: We set the output environment parameter of the package to inline to surround the output generated with $ signs for inline rendering.

  • Line 5: We specify the formula to transform provided in the form of an array, including a range of equations.

  • Line 6: We invoke the latexify function to transform the specified formula to LaTeX format and store it in the variable output.

  • Line 7: We display the output generated.

  • Line 8: We call the escapeuri function included within the HTTP package to encode the value stored in the variable output in a URL-encoded format.

  • Line 9: We display the encoded output.

  • Line 11: We devise a link targeting the Google Chart API.

  • Line 12: We display the composed link.

  • Line 14: We call the link and download the generated image.

Free Resources

Copyright ©2024 Educative, Inc. All rights reserved