What do you use to embed Julia code in LaTeX?

For julia in latex I use minted.
To run julia in presentations I use the “export to reveal.js slides” option in Jupyter

Here is a short wiki I created for my coworkers to include julia in latex

Minted

It is possible to include julia code using the package minted https://github.com/gpoore/minted

Prerequisites

pygmentize is required, if it is not installed, try running sudo pip install pygments

Get latest version of minted.sty from the github repo above. Put it in you texlive package folder or in the current working directory. Minted has other prerequisites, but those should be installed already.

A small example

  • \begin{minted}[breaklines,escapeinside=||,mathescape=true, linenos, numbersep=3pt, gobble=2, frame=lines, fontsize=\small, framesep=2mm]{julia}
    • Your awesome julia code here\end{minted}

minted.tex minted.pdf

Inclusion of unicode characters

With julia, one has the option of including most unicode characters in the code. For a copy-paste-kind of strategy to work, I have found the following two packages useful

\usepackage[mathletters]{ucs} \usepackage[utf8x]{inputenc}

With these packages, unicode characters in the input are handled quite well. At least if one builds with latexmk and pdflatex.

With luatex, use the following instead \usepackage[T1]{fontenc} \usepackage{unicode-math}

See luatex - Problem with math symbols unicode-math - TeX - LaTeX Stack Exchange for info regarding setting a math font. The following selects the font that is default in Atom

\usepackage{fontspec}\setmonofont{DejaVu Sans Mono}[Scale=0.8]

Note, there might be some conflicts between unicode-math and the department fonts. If you get errors, try removing all other font choices, such as schoolbook, newtxtext, newtxmath,inconsolata,fourier, and see if the erros go away.

Issues

Beamer

Frames must be declared fragile for minted to work

\begin{frame}[fragile]

Other issues

Minted has issues if the build output is stored in a subdirectory and not in the working directory, use \usepackage[outputdir=build]{minted}

If pygments is installed but pygmentize can not be found, reinstall pygments .

30 Likes