为何使用此 LaTeX 格式化工具?
- 底层使用 Prettier 配合 unified-latex,实现结构感知的 LaTeX 格式化
- 适用于典型的 .tex 文档(文章、报告、论文、Beamer 幻灯片、笔记、作业)
- 标准化环境、数学公式和宏参数周围的缩进和换行
- 尽可能保留注释和大多数有意留空的行
- 直接粘贴 LaTeX 代码或拖放文本文件(最多约 5 MB)
- 可调整缩进大小,并通过换行长度提供可选的软性行宽指导
- 优先在浏览器中进行客户端格式化,需要时提供安全的后备服务
🔧 如何在线格式化您的LaTeX代码 for latex-formatter
1. 粘贴或拖放您的LaTeX
将LaTeX代码粘贴到编辑器中,或拖放基于文本的文件(通常是.tex)。您可以处理从小片段到完整文档的任何内容。
2. 选择缩进和换行长度
调整缩进大小(1-8个空格)和可选的换行长度。较短的换行长度会产生较窄的段落;0表示禁用自动换行。
3. 格式化并查看输出
运行格式化程序。如果LaTeX解析正确,您将获得干净、重新缩进的代码。如果存在解析问题,您会看到错误以便修复源代码。
4. 复制回您的编辑器
将格式化后的LaTeX复制回您的编辑器或另存为新文件。提交清理后的版本,以便合著者和审阅者获得一致的布局。
技术细节
格式化引擎
此工具使用Prettier与unified-latex插件将LaTeX解析为结构化AST,然后以标准化缩进和换行重新打印。它仅对源代码进行操作,不编译您的文档。
| 方面 | 行为 |
|---|---|
| 引擎 | Prettier + unified-latex格式化器 |
| 输入 | 纯文本LaTeX(UTF-8) |
| 输出 | 重新格式化的LaTeX源代码(UTF-8) |
| 执行 | 客户端优先(浏览器),带有可选的安全后端备用方案 |
| 超时 | 对于繁重输入或复杂文档,约25秒安全超时 |
典型文件类型
接受任何纯文本LaTeX;以下是最常见的:
| 类型 | 示例 | 备注 |
|---|---|---|
| .tex文档 | 文章、报告、书籍、beamer | 包含前言和正文的主要LaTeX源文件 |
| 片段 | \section{}, \begin{proof}… | 非常适合清理文档或幻灯片中使用的较小片段 |
| 输入文件 | chapter.tex, intro.tex | 通过 \input/\include 包含的独立章节或部分 |
格式化行为
格式化程序专注于布局和可读性,而非语义验证。
| 区域 | 功能 | 不涉及功能 |
|---|---|---|
| 缩进 | 根据配置的缩进大小对环境、嵌套结构和某些宏体进行缩进。 | 不会推断超出 unified-latex 理解范围的自定义宏的逻辑结构。 |
| 换行 | 根据换行长度对长行进行换行(如果设置为0则保持原样)。 | 不保证对每个自定义命令或深度嵌套宏的完美换行。 |
| 注释 | 保留注释行和大多数内联注释的位置。 | 不解释或重构注释文本。 |
| 数学 | 保持数学环境和内联数学公式不变,适当调整周围的缩进。 | 不验证数学正确性或 LaTeX 包的使用。 |
| 导言区 | 以一致的间距格式化导言区部分,如 \usepackage, \newcommand 等。 | 不会为了兼容性重新排序包或命令。 |
限制与性能
格式化程序针对学术和技术环境中使用的实际文档进行了优化。
| 输入 | 限制 | 备注 |
|---|---|---|
| 文本大小(编辑器) | ≈ 2 MB | 格式化程序强制执行的硬性限制,以保持浏览器响应。 |
| 文件上传 | ≈ 5 MB | 由用户界面文件大小上限控制。 |
| 格式化时间 | < 1–2 秒(典型) | 因文档复杂度和浏览器性能而异。 |
| 超时行为 | 优雅失败 | 如果格式化操作超时,您将收到错误提示而非标签页卡死。 |
安全与隐私
标准使用场景下,格式化操作通过Prettier + unified-latex适配器直接在浏览器中运行。某些环境下,若浏览器插件不可用,会采用安全的后端格式化器作为备选方案。两种情况下,LaTeX内容均被视为临时输入:仅用于格式化处理,不会被编译或执行。
命令行 LaTeX 格式化替代方案
更倾向本地工具或希望将格式化集成到构建/CI流程中?以下是常见选项。
Linux / 🍏 macOS
使用 latexindent 原地格式化 LaTeX 文件
latexindent -w main.tex以标准化缩进和布局重写 main.tex。
格式化项目中的所有 .tex 文件
find . -name "*.tex" -print0 | xargs -0 latexindent -w对当前目录树中的每个 LaTeX 文件应用 latexindent。
Windows (PowerShell)
格式化当前文件夹中的所有 .tex 文件
Get-ChildItem -Filter *.tex | ForEach-Object { latexindent -w $_.FullName }使用 PowerShell 对每个 LaTeX 文件运行 latexindent。
实用 LaTeX 格式化器应用场景
学术论文与学位论文
- 在发送给导师或合著者前清理杂乱草稿。
- 保持长段落、证明和附录的缩进一致性。
- 标准化行长度,使 Git 差异对比更易审阅。
% 格式化前
\begin{proof}Let $G$ be a group with identity $e$... \end{proof}
% 格式化后
\begin{proof}
Let $G$ be a group with identity $e$...
\end{proof}
Beamer 幻灯片与教学材料
- 整理含多框架和叠加层的幻灯片组。
- 让示例代码块和数学环境更便于助教维护。
- 以统一风格准备研讨会或讲义笔记。
\begin{frame}{标题}
\begin{itemize}
\item 第一要点
\item 第二要点
\end{itemize}
\end{frame}
报告、文档与开发导向的 LaTeX
- 在提交前格式化自动生成的 LaTeX 报告。
- 清理含大量代码和逐字块的技术文档。
- 在团队间统一宏和环境布局标准。
\begin{verbatim}
$ git commit -m "cleaned tex formatting"
\end{verbatim}
❓ Frequently Asked Questions
❓这个工具是编译我的 LaTeX 还是仅重新格式化源代码?
🧪格式化会改变我的文档含义吗?
📏我的 LaTeX 文件可以有多大?
📦它理解自定义宏和包吗?
🔒我的 LaTeX 文档会存储在服务器上吗?
Pro Tips
保持环境视觉对齐:一致的 \begin 和 \end 块缩进使复杂的证明和推导更易于导航。
在提交到 Git 前运行格式化器,以便合著者审查内容更改而非空白噪音。
处理脆弱命令或自定义宏时,先格式化文件副本并重新编译,以确保布局更改不影响输出。
将此在线格式化器与本地 latexindent 或编辑器插件配对,实现完全自动化的 LaTeX 格式化工作流。
Additional Resources
Other Tools
- CSS 美化器
- HTML 美化器
- JavaScript 美化器
- PHP 美化器
- 颜色选择器
- 精灵图提取器
- Base64 解码器
- Base64 编码器
- C# 格式化器
- CSV 格式化器
- Dockerfile Formatter
- Elm 格式化器
- ENV 格式化器
- Go 格式化器
- GraphQL 格式化器
- HCL 格式化器
- INI 格式化器
- JSON 格式化器
- Markdown 格式化器
- Objective-C 格式化器
- Php Formatter
- Proto 格式化器
- Python 格式化器
- Ruby 格式化器
- Rust 格式化器
- Scala 格式化器
- Shell 脚本格式化器
- SQL 格式化器
- SVG 格式化工具
- Swift 格式化工具
- TOML 格式化工具
- Typescript Formatter
- XML 格式化工具
- YAML 格式化工具
- Yarn 格式化工具
- CSS 压缩器
- Html Minifier
- Javascript Minifier
- JSON 压缩器
- XML 压缩器
- HTTP 头部查看器
- PDF 转文本
- 正则表达式测试器
- 搜索引擎排名检查器
- Whois 查询