9 releases
0.3.3 | Nov 18, 2020 |
---|---|
0.3.2 | Oct 26, 2020 |
0.2.1 | Oct 26, 2020 |
0.1.2 | Oct 22, 2020 |
#1845 in Text processing
32KB
666 lines
texrender
A small crate to run latexmk
from Rust, similar to latex, escape LaTeX code and generate LaTeX documents programmatically.
Example: Rendering latex
let doc = r"
\documentclass{article}
\begin{document}
hello, world.
\end{document}
";
let tex = TexRender::from_bytes(doc.into());
let _pdf = tex.render().expect("latex rendering failed");
Example: Generating latex code
use texrender::elems;
use texrender::tpl::TexElement;
use texrender::tpl::elements::{N, doc, document, documentclass, section, t};
let tex = doc(elems!(
documentclass(N, "article"),
document(elems!(
section("Hello, world"),
t("This is fun & easy.")
))
));
let output = tex.render().expect("rendering failed");
assert_eq!(output,
"\\documentclass{article}\n\
\\begin{document}\n\
\\section{Hello, world}\n\
This is fun \\& easy.\n\
\\end{document}\n");
Dependencies
~0.7–1.3MB
~24K SLoC