We provide a way to syntax-highlight Lean code in LaTeX documents. It requires a Python package `Pygments` and a LaTeX package `minted`. Python Package: `Pygments` -------------------------- Checkout [Leanprover's Pygments repository][lean-pygments] and build Pygments: ```bash hg clone https://bitbucket.org/leanprover/pygments-main cd pygments-main make mapfiles sudo ./setup.py install ```` [lean-pygments]: https://bitbucket.org/leanprover/pygments-main LaTeX package: `minted` ----------------------- Save the latest version of [minted.sty][minted.sty] at the working directory. [minted]: https://github.com/gpoore/minted [minted.sty]: https://raw.githubusercontent.com/gpoore/minted/master/source/minted.sty How to use them (example) ------------------------- Please save the following sample LaTeX file as `test.tex`: ```latex \documentclass{article} \usepackage{minted} \setminted{encoding=utf-8} \usepackage{fontspec} \setmainfont{FreeSerif} \setmonofont{FreeMono} \usepackage{fullpage} \begin{document} \begin{minted}[mathescape, linenos, numbersep=5pt, frame=lines, framesep=2mm]{Lean} theorem mul_cancel_left_or {a b c : ℤ} (H : a * b = a * c) : a = 0 ∨ b = c := have H2 : a * (b - c) = 0, by simp, have H3 : a = 0 ∨ b - c = 0, from mul_eq_zero H2, or.imp_or_right H3 (assume H4 : b - c = 0, sub_eq_zero H4) \end{minted} \end{document} ``` You can compile `test.tex` by executing the following command: ```bash xelatex --shell-escape test ``` Some remarks: - `xelatex` is required to handle unicode in LaTeX. - `--shell-escape` option is needed to allow `xelatex` to execute `pygmentize` in a shell. Contribute ---------- Please fork [Leanprover's Pygments repository][lean-pygments], improve it, and make a pull-request.