构建与编译

构建系统概览

TeX64 使用 latexmk 引擎来编译您的 LaTeX 文档。latexmk 会自动管理构建包含参考文献、索引和交叉引用的复杂文档所需的中间步骤。

所有构建均在本地完成,无需互联网连接。TeX64 可完全离线工作,保护您的安全与隐私。编译过程快速且透明。

平台说明:TeX64 目前面向 macOS(Apple Silicon 与 Intel)发布,TeX 发行版的管理也在 macOS 上进行。Windows 与 Linux 版本仍在计划中、尚未提供。下文面向 macOS 的快捷键与安装步骤是当前受支持的方式;文中出现的 Windows/Linux 对应内容将在相应版本发布后生效。

如何构建

开始构建非常简单。您有以下几种选择:

  • 工具栏按钮点击工具栏中的构建按钮(播放图标)。Cmd+B 保留用于在编辑器中插入 \textbf{}。
  • 清理构建打开 Settings > Build Profile,然后点击 Clean。若还要删除生成的输出文件,请使用 Clean -C。

构建成功完成后,PDF 预览会自动更新。

构建过程

构建期间,latexmk 会自动管理:

  • 多次编译LaTeX 通常需要运行 2~3 次以解析交叉引用
  • BibTeX/Biber自动处理参考文献条目
  • 索引生成运行 makeindex 或 xindy 生成索引条目
  • 交叉引用确保 \ref、\cite、\pageref 等命令正确解析
  • 变更检测若文件未变更则跳过重新构建,节省时间

构建过程中,构建输出会实时显示在日志面板。您可以查看实时进度,准确了解 latexmk 的执行情况。

主文件选择

对于包含多个 .tex 文件的项目,TeX64 会识别哪个文件是您的主(根)文档。它通过扫描只出现在主文件中的 \documentclass 命令来完成识别。

在大多数情况下,自动检测都能正常工作。但若您的项目结构复杂、含有多个 \documentclass 声明,您可在项目设置中手动指定主文件。

TeX64 始终从主文件开始编译。所有其他文件都应通过主文件中的 \input 或 \include 命令引入。

提示:如果出现「找不到文件」错误,请确认已选择正确的主文件。TeX64 会在底部状态栏显示当前主文件。

构建配置

TeX64 允许您配置多个构建配置,每个配置都有自己的 LaTeX 引擎和自定义设置。这在需要用不同引擎测试文档时非常有用。

构建配置可在项目设置中创建和管理。每个配置都包含名称、引擎选择以及可选的自定义参数。

构建配置适用于以下场景:

  • 用不同引擎测试同一文档(例如 pdflatex 与 xelatex)
  • 为正式版本和草稿模式保留独立的构建设置
  • 为演示文稿或特殊格式使用自定义引擎选项

支持的引擎

TeX64 支持以下主要 LaTeX 引擎:

pdflatex

pdflatex 是最成熟、使用最广泛的引擎。几乎兼容所有 LaTeX 宏包与模板,是标准文档的理想之选。直接生成 PDF 输出,速度很快。

最适合:学术论文、技术报告、书籍以及大多数标准文档。如果您不确定该用哪种引擎,pdflatex 是安全的选择。

xelatex

xelatex 原生支持 Unicode 与系统字体,是处理中文、日文、阿拉伯文等非拉丁文字的理想选择。您可使用系统中已安装的任意字体。

最适合:多语言文档、非拉丁文字以及需要系统字体的项目。如果您正在处理日文、中文或其他复杂书写系统,xelatex 是正确选择。

lualatex

lualatex 是一款现代引擎,将 Lua 脚本能力与先进字体处理相结合。原生支持 OpenType 字体,允许进行精细的排版控制。

最适合:需要高级脚本、复杂排版或现代字体技术的项目。兼具 xelatex 的优点与 Lua 的可扩展性。

自定义 latexmk 参数

高级用户可添加自定义 latexmk 参数以微调构建行为。这些参数在项目设置中配置。

常用参数包括:

  • -shell-escape启用 \write18 以从 LaTeX 内部运行外部程序(Minted 等宏包需要)
  • -interaction=nonstopmode即使出错也继续编译(适用于一次性检查多个问题)
  • -output-directory=为 PDF 和中间文件指定自定义输出目录
  • -pdf强制启用 PDF 输出模式
警告:自定义参数是高级功能。使用前请务必查阅 latexmk 手册或 TeX 文档,错误设置可能导致构建失败。

编译日志

编译日志显示 LaTeX 编译器与 latexmk 的完整输出。TeX64 会解析此输出,并以颜色编码突出显示错误与警告。

  • 错误以红色高亮显示。这些会导致编译失败。
  • 警告以黄色或橙色高亮显示。它们不会阻止编译,但可能影响输出质量。
  • 消息以灰色显示。这些是有关构建过程的提示信息。

点击日志中的任何错误或警告,可直接跳转到源代码中的对应行。文件名与行号会被高亮,便于快速调试。

错误解析

TeX64 会自动解析 LaTeX 错误以识别正确的文件与行号。

常见错误模式包括:

  • Undefined control sequence命令未定义或包含拼写错误
  • Missing \endcsname inserted通常由花括号或圆括号不匹配引起
  • File not found\input 或 \include 所引用的文件不存在
  • Package not found\usepackage 指定的宏包未安装
  • Runaway argument通常由命令参数中未关闭的花括号引起

LaTeX 经常产生连锁错误,因此找到首个错误至关重要。修复日志中的第一个错误,往往能消除后续大量错误。

AI 辅助调试

TeX64 的 AI 助手可分析您的编译日志并建议错误的修复方法。对于晦涩的 LaTeX 错误信息尤其有用。

在构建失败后使用 AI 调试:

  1. 点击编译日志面板中的「Ask AI」按钮
  2. TeX64 将完整的错误上下文发送给 AI
  3. AI 提示可能的原因与修复方法

AI 的建议是一个有用的起点,但并非总是正确。如果您没有深厚的 TeX 经验,它会特别有帮助。

环境诊断

TeX64 启动时会检查您的系统是否已安装构建所需的全部工具。它会验证:

  • latexmkLaTeX 构建自动化引擎(必需)
  • TeX distributionTeX Live、MacTeX、MiKTeX 或其他 TeX 发行版(必需)
  • latexindent代码格式化工具(可选但推荐)
  • synctex源代码与 PDF 同步(可选但推荐)

如果缺少任何必需的工具,TeX64 会发出警告并提供安装指导。

设置提示:TeX64 目前在 macOS 上运行,并在 macOS 上管理您的 TeX 发行版。请使用 Homebrew 安装 MacTeX:brew install mactex,然后重启 TeX64 以检测所有工具。完整安装需要几分钟。Windows 与 Linux 版本仍在计划中;发布后,您将可通过系统包管理器安装 TeX Live。

清理构建

清理构建会删除所有中间文件,然后从头重新构建整个文档。

清理构建会移除:

  • .aux辅助文件(交叉引用等)
  • .log构建日志
  • .toc目录文件
  • .lof, .lot图表清单
  • .bbl, .blg参考文献文件
  • .fdb_latexmklatexmk 文件依赖数据库

在以下情况下使用清理构建:

  • 构建似乎卡在奇怪的状态,普通构建无法修复
  • 进行重大结构变更之后(例如增删章节)
  • 怀疑交叉引用或编号出现缓存问题时
  • 更改了项目设置或引擎选项后

增量编译

默认情况下,TeX64 使用增量编译。latexmk 会追踪哪些文件已被修改,仅重新运行必要的编译步骤。

这能显著加快小幅修改后的构建。latexmk 在内部追踪依赖关系,只有在确有必要时才执行完整重建。

如果增量编译似乎遗漏了某些更改,请使用清理构建强制完整重建。

构建故障排查

如果构建失败,请检查以下常见问题:

「找不到主文件」

  • 确认主文件正确。多文件项目必须从包含 \documentclass 的文件进行编译。
  • 确认主文件仍然存在,未被删除或移动。

晦涩的错误信息

  • 查看编译日志获取实际错误信息。滚动到第一条错误,而非最后一条——修复首个问题通常能解决连锁错误。
  • 使用 TeX64 的 AI 调试来分析复杂的错误信息。

宏包缺失错误

  • 确认所有必需的宏包均已用 \usepackage 加载。
  • TeX64 会告诉您缺少哪个宏包。按照错误信息中的指引进行安装。
  • 在 macOS 上安装 MacTeX 后,大多数宏包都会自动可用。

内存或资源问题

  • 含有大量大图或复杂图形的文档可能内存不足。
  • 尝试压缩图片或减小其尺寸以降低资源消耗。
  • 另一种方法是将大型文档拆分为较小的部分分别编译。

构建缓慢

  • 确认增量编译正常工作。大幅修改后可能需要清理构建。
  • 复杂的图形与高级排版会显著增加构建时间。
提示:如果问题持续存在,请复制编译日志并在 TeX StackExchange 或 LaTeX 社区搜索错误信息。这些社区非常活跃,通常能迅速给予帮助。

性能优化建议

以下是缩短构建时间的策略:

  • 草稿模式在 \documentclass 中添加 draft 选项,跳过图像处理仅编译版式
  • 选择性编译使用 \includeonly 仅编译特定章节
  • 图像优化将大型位图图像转换为 PDF 或减小其尺寸
  • 字体选择Computer Modern 字体(默认)比复杂的系统字体编译更快
  • TikZ/PGFPlots 优化将复杂图表预编译为 PDF,并作为图像引入

结合运用这些技巧,可显著缩短大型项目的构建时间。