7 个版本
0.1.6 | 2021 年 3 月 11 日 |
---|---|
0.1.5 | 2021 年 3 月 7 日 |
0.1.3 | 2021 年 2 月 16 日 |
0.1.0 | 2020 年 12 月 23 日 |
#11 in #mathml
80KB
682 代码行
latexml-runner
使用 latexmls 进行高性能转换的 Rust 运行器。
如果
- 您有许多具有共享 TeX/LaTeX 包和前导的作业。
- 任务足够小,latexml 的开销成为性能瓶颈(例如单个公式或摘要/段落)。
- 您的系统安装允许自定义 Perl 插件
- 具体为 latexmls v1.5.0,LaTeXML 的套接字服务器。
如果您的转换任务需要分布式设置且/或无法预加载大多数依赖项,则此 crate 不会为您提供很大的速度提升。对于此类情况,可以考虑 LaTeXML::Plugin::Cortex 作为一种替代方案。
演示
您可以通过使用公共 docker 映像来尝试它,避免任何安装问题。
以下示例中,我们使用适用于转换 StackExchange 和 Wikipedia 等网站中的数学的调用
$ for i in {1..200}; do echo "\sqrt{x}+\frac{1}{2}=0" >> formula_latex.txt; done
$ time docker run --cpus="2.0" --memory="8g" \
-v "$(pwd)":/workdir -w /workdir \
latexml/latexml-runner:latest \
-i formula_latex.txt -o formula_xml.csv -l formula_status.log \
--preload=LaTeX.pool --preload=bm.sty --preload=texvc.sty \
--preload="literal:\\let\\theequation\\relax" \
--whatsin=math --whatsout=math --pmml --cmml --mathtex --format=html5 \
--nodefaultresources --timeout=30
在例如 Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz
的机器上应在 9.5 秒内完成。
重要的是,formula_status.log
文件应包含两百个零,每行一个,以表示转换稳健地完成,无错误。换句话说, harness 和 latexmls
正确通信。
依赖项
~6–15MB
~196K SLoC