Documentation can be found at https://pythonhosted.org/latex .
Allows calling LaTeX from Python without leaving a mess. Similar to the (officially obsolete) tex package, whose successor is not PyPi-installable:
min_latex = (r"\documentclass{article}"
r"\begin{document}"
r"Hello, world!"
r"\end{document}")
from latex import build_pdf
# this builds a pdf-file inside a temporary directory
pdf = build_pdf(min_latex)
# look at the first few bytes of the header
print bytes(pdf)[:10]Also comes with support for using Jinja2 templates to generate LaTeX files.
make_env can be used to create an Environment that plays well with
LaTex:
Variables can be used in a LaTeX friendly way: Hello, \VAR{name|e}.
Note that autoescaping is off. Blocks are creating using the block macro:
\BLOCK{if weather is 'good'}
Hooray.
\BLOCK{endif}
\#{comments are supported as well}
%# and so are line comments
To keep things short, line statements can be used:
%- if weather is good
Yay.
%- endif
from jinja2.loaders import FileSystemLoader
from latex.jinja2 import make_env
env = make_env(loader=FileSystemLoader('.'))
tpl = env.get_template('doc.latex')
print(tpl.render(name="Alice"))The base.latex demonstrates how \BLOCK{...} is substituted for
{% ... %}:
\documentclass{article}
\begin{document}
\BLOCK{block body}\BLOCK{endblock}
\end{document}Finally, doc.latex shows why the %- syntax is usually preferable:
%- extends "base.latex"
%- block body
Hello, \VAR{name|e}.
%- endblock