#document #latex #escaping #tex #generate #render #wrapper

texrender

对运行 latexmk 进行轻量级封装,以渲染LaTeX文档。也支持生成TeX文档。

9个版本

0.3.3 2020年11月18日
0.3.2 2020年10月26日
0.2.1 2020年10月26日
0.1.2 2020年10月22日

#1736 in 文本处理

MIT/Apache

32KB
666

texrender

一个小型crate,用于从Rust运行latexmk,类似于latex,转义LaTeX代码并生成LaTeX文档。

示例:渲染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");

示例:生成latex代码

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");

依赖关系

~0.7–1.3MB
~24K SLoC