PyTeXMK

GitHub License OS GitHub release Last Commit Issues PyPI version PyPI Downloads GitHub repo size

简体中文 | English

LaTeX 辅助编译命令行程序


<img src="https://github.com/YanMing-lxb/PyTeXMK/raw/main/imgs/show1.png" alt="示例部分1" width="45%" style="max-width: 700px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.19); margin-right: 2.5px;">
<img src="https://github.com/YanMing-lxb/PyTeXMK/raw/main/imgs/show2.png" alt="示例部分2" width="45%" style="max-width: 700px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.19); margin-left: 2.5px;">

安装

官方版本 PyTeXMK 发布在 PyPI 上,并且可以通过 pip 包管理器从 PyPI 镜像轻松安装。

请注意,您必须使用 Python 3 版本 pip:

pip3 install pytexmk

升级

pip3 install --upgrade pytexmk

使用入门

基础使用参见:Issues #1

请仔细阅读:待编译主文件及编译类型选定逻辑

PyTeXMK,仅支持 utf-8 编码的 TeX 文件。

默认配置

Pytexmk 默认配置如下:

  1. 编译程序:XeLaTeX
  2. 待编译主文件名:main.tex
  3. 编译结果存放在 LaTeX 项目的 Build 文件夹下 (VSCode 用户则需要在 settings.json 中注意设置 "latex-workshop.latex.outDir": "./Build", 使得 LaTeX-Workshop 能够找到 pdf )
  4. 辅助文件存放在 LaTeX 项目的 Auxiliary 文件夹下
  5. 编译模式:batch 模式(编译过程信息不显,如需显示编译过程信息请使用 -uq 参数)

注意:以上参数均可在配置文件中修改,具体请参考:配置文件说明

编译命令

PyTeXMK 支持:

位置参数:

Option Description
document 要被编译的文件名

选项:

Option Description
-h, –help 显示帮助信息
-v, –version 显示程序版本号
-p, –PdfLaTeX PdfLaTeX 进行编译
-x, –XeLaTeX XeLaTeX 进行编译
-l, –LuaLaTeX LuaLaTeX 进行编译
-d, –LaTeXDiff 使用 LaTeXDiff 进行编译,生成改动对比文件
-dc, –LaTexDiff-compile 使用 LaTeXDiff 进行编译,生成改动对比文件并编译新文件
-dr, –draft 启用草稿模式进行编译,提高编译速度 (无图显示)
-c, –clean 清除所有主文件的辅助文件
-C, –Clean 清除所有主文件的辅助文件(包含根目录)和输出文件
-ca, –clean-any 清除所有带辅助文件后缀的文件
-Ca, –Clean-any 清除所有带辅助文件后缀的文件(包含根目录)和主文件输出文件
-nq, –non_quiet 非安静模式运行,此模式下显示编译过程
-vb, –verbose 显示 PyTeXMK 运行过程中的详细信息
-pr, –pdf-repair 修复所有根目录以外的 pdf 文件
-pv, –pdf-preview 尝试编译结束后调用 Web 浏览器或者本地PDF阅读器预览生成的PDF文件,如有填写 ‘FILE_NAME’ 则不进行编译打开指定文件

说明:

-dc-d 命令新增风格选择,支持在参考文献和符号索引中显示修改痕迹,编译过程中会提醒输入选项 1 或者 2

魔法注释

PyTeXMK 支持使用魔法注释来定义待编译主文件、编译程序、编译结果存放位置等(仅支持检索文档前 50 行)。

Magic Comment Description Examples
% !TEX program = <XeLaTeX> 指定编译类型,可选 XeLaTeX PdfLaTeX LuaLaTeX % !TEX program = PdfLaTeX
% !TEX root = <待编译主文件名> 指定待编译 LaTeX 文件名,仅支持主文件在项目根目录下的情况 % !TEX root = test_file
% !TEX outdir = <out_folder> 指定编译结果存放位置,仅支持文件夹名称 % !TEX outdir = output
% !TEX auxdir = <aux_folder> 指定辅助文件存放位置,仅支持文件夹名称 % !TEX auxdir = auxfiles

魔法注释仅支持在主文件中定义,不支持在子文件中定义。

待编译主文件及编译类型选定逻辑

待编译主文件选定逻辑
  1. 如果命令行参数中指定主文件,则编译该主文件。例如: pytexmk <主文件名> 主文件名后可不跟随文件后缀名。
  2. 如果当前根目录下存在且只有一个 TEX 文件,则默认使用该文件作为待编译主文件。
  3. 如果存在魔法注释 % !TEX root,则根据魔法注释指定的文件作为待编译主文件。
  4. 检索 TEX 文件中的 \documentclass[]{}\begin{document} 来判断(仅支持检索文档前 200 行)
  5. 如果无法根据魔法注释确定主文件,则尝试根据默认主文件名 main.tex 指定待编译主文件。
  6. 如果仍然无法确定主文件,则输出错误信息并退出程序。
编译类型选定逻辑
  1. PyTeXMK 优先使用终端输入命令 -p -x -l 参数指定的编译类型
  2. 如果没有指定,则会使用 % !TEX program = XeLaTeX 指定的编译类型
  3. 如果没有指定,则会使用默认的编译类型 XeLaTeX

PyTeXMK 会优先使用 % !TEX outdir = PDFfile 指定的编译结果存放位置,如果没有指定,则会使用默认的编译结果存放位置 Build

配置文件说明

PyTeXMK 支持两种配置文件,分别为系统配置文件和本地配置文件。配置文件可以用于改变 Pytexmk 默认配置以及配置一些其他功能。 系统配置文件在首次运行 PyTeXMK 时自动生成,位于用户目录下,文件名为 .pytexmkrc; 本地配置文件会在该项目首次运行 PyTeXMK 时自动生成,位于当前工作目录下,文件名为 .pytexmkrc。 自动生成的配置文件中存在详细的注释,请根据注释进行配置。

配置文件路径

系统配置文件路径:Windows 系统为 C:\Users\用户名\.pytexmkrc,Linux 系统为 ~/.pytexmkrc 本地配置文件路径:为当前工作目录下的 .pytexmkrc 文件

配置文件优先级

本地配置文件优先级高于系统配置文件,如果两者对相同参数进行配置,则优先使用本地配置文件的配置。

构建 Wheel

1. 安装 Python3
2. pip install -r requirements-windows.txt
3. pip install pyinstaller
4. make

另外在 Windows 中 make 命令需要单独配置:详见 Window 下使用 make

更新记录

更新记录详见 CHANGELOG 文档

未来工作方向

Star History

Star History Chart

༼ つ ◕_◕ ༽つ Please share.