6 个版本
新版本 0.3.1 | 2024年8月17日 |
---|---|
0.3.0 | 2024年7月31日 |
0.2.2 | 2024年6月15日 |
0.2.0 | 2024年5月25日 |
0.1.0 | 2024年4月27日 |
#128 在 开发工具
229 每月下载量
33KB
945 行
tex-fmt
一个极快的、使用 Rust 编写的 LaTeX 格式化工具。
输入 | 输出 |
|
|
- ⚡ 极快的运行时性能
- 🔧 无需配置
- 📟 命令行界面
- 📜 处理 LaTeX 文件类型
.tex
、.bib
、.cls
和.sty
- 🦀 完全使用安全的 Rust 编写
安装
Cargo
# install stable release
cargo install tex-fmt
# install from github
cargo install --git "https://github.com/wgunderwood/tex-fmt"
Nix
nix build "github:wgunderwood/tex-fmt"
用法
tex-fmt file.tex # format file.tex and overwrite
tex-fmt -c file.tex # check if file.tex is correctly formatted
tex-fmt -p file.tex # format file.tex and print to STDOUT
tex-fmt -h # view help information
性能
当格式化所有测试用例时,tex-fmt 的速度比 latexindent 快数百倍。
文件 | 行 | 大小 | tex-fmt | latexindent | latexindent -m |
---|---|---|---|---|---|
47 | 93k | 3.5M | 0.143s | 102.1s [x714] | 128.4s [x898] |
局限性
- 未执行 LaTeX 代码的语义解析
- 不支持代码检查或语法错误纠正
- 不支持通过配置文件进行自定义
- 不保证符合现有的格式化指南
- 当前不提供编辑器集成
- 不支持拼写或语法检查
现有工具
-
latexindent. Perl 脚本,许多配置选项,在大文件上运行缓慢。
-
LaTeXTidy. Perl 脚本,下载链接似乎已损坏。
-
latex-pretty. 基于 Web,使用 latexindent 作为后端。
-
latexformat.com. 基于 Web。
-
texpretty. 一种C程序,有时可以工作,看起来运行速度快。在某些括号内的关键字中会失败。
-
latex-editor. 基于浏览器的编辑器。
-
LaTeXFmt. Vim插件,不应用缩进。
-
latex-formatter. Visual Studio插件,使用latexindent作为后端。
依赖项
~3.5–5.5MB
~94K SLoC