Wrappers for calling LaTeX/building LaTeX documents.
Project Links
Meta
Author: Marc Brinkmann
Classifiers
Programming Language
- Python :: 2
- Python :: 3
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
Example use
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
0.7.0
Nov 16, 2017
0.6.4
Nov 10, 2016
0.6.3
Oct 16, 2016
0.6.2
Jul 01, 2016
0.6.1
Jul 22, 2015
0.6.0
Jul 22, 2015
0.5.5
Jun 12, 2015
0.5.4
Jun 11, 2015
0.5.3
Jun 10, 2015
0.5.2
Apr 25, 2015
0.5.2.dev1
Apr 25, 2015
0.5
Apr 25, 2015
0.4
Mar 26, 2015
0.3
Mar 26, 2015
Files in release
No dependencies