PyTeXMK Logo

PyTeXMK

LaTeX 辅助编译命令行程序

PyPI version PyPI Downloads GitHub release License OS

Issues Last Commit Repo Size Stars

简体中文 · English


✨ 功能特性


📸 预览

PyTeXMK 预览 1 PyTeXMK 预览 2


🚀 快速开始

安装

官方版本 PyTeXMK 发布在 PyPI 上,可以通过 pip 或 uv 轻松安装:

# 使用 pip 安装
pip install pytexmk

# 使用 uv 安装(推荐)
uv pip install pytexmk

升级

# pip
pip install --upgrade pytexmk

# uv
uv pip install --upgrade pytexmk

基本使用

在 LaTeX 项目根目录下运行:

# 使用默认配置编译
pytexmk

# 指定主文件编译
pytexmk main.tex

# 使用 XeLaTeX 编译
pytexmk -x main.tex

# 清理辅助文件
pytexmk -c

注意:PyTeXMK 仅支持 UTF-8 编码的 TeX 文件。


⚙️ 默认配置

配置项 默认值 说明
编译程序 XeLaTeX 可选:XeLaTeX、PdfLaTeX、LuaLaTeX
主文件名 main.tex 待编译的 LaTeX 主文件
输出目录 Build 编译结果存放目录
辅助目录 Auxiliary 辅助文件存放目录
编译模式 batch 模式 编译过程不显示详细信息

提示:以上参数均可在配置文件中修改,详见 配置文件说明

VSCode 用户需在 settings.json 中设置 "latex-workshop.latex.outDir": "./Build" 以便 LaTeX-Workshop 找到 PDF 文件。


📖 使用说明

编译命令

PyTeXMK 支持的编译选项:

位置参数

参数 说明
document 要被编译的文件名

选项参数

选项 说明
-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 编译后预览 PDF 文件

参数说明

魔法注释

PyTeXMK 支持使用魔法注释来自定义编译行为(仅检索文档前 50 行)。

魔法注释 说明 示例
% !TEX program = <XeLaTeX> 指定编译类型 % !TEX program = PdfLaTeX
% !TEX root = <主文件名> 指定待编译主文件 % !TEX root = test_file
% !TEX outdir = <输出目录> 指定编译结果存放位置 % !TEX outdir = output
% !TEX auxdir = <辅助目录> 指定辅助文件存放位置 % !TEX auxdir = auxfiles

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

主文件与编译类型选定逻辑

📂 待编译主文件选定逻辑
  1. 命令行参数中指定主文件 → 编译该文件(如 pytexmk <主文件名>,可省略后缀)
  2. 当前目录仅有一个 .tex 文件 → 默认使用该文件
  3. 存在魔法注释 % !TEX root → 使用注释指定的文件
  4. 检索 \documentclass[]{}\begin{document} 判定(仅前 200 行)
  5. 默认主文件名 main.tex → 尝试使用
  6. 以上均失败 → 输出错误信息并退出
⚙️ 编译类型选定逻辑
  1. 命令行参数 -p / -x / -l 指定 → 优先级最高
  2. 魔法注释 % !TEX program 指定 → 使用注释值
  3. 均未指定 → 使用默认 XeLaTeX

输出目录优先级:% !TEX outdir 魔法注释 > 默认 Build

配置文件说明

PyTeXMK 支持两级配置文件:系统配置项目配置

自动生成的配置文件中包含详细注释,可根据需要进行修改。

配置文件路径

类型 Windows Linux / macOS
系统配置 C:\Users\用户名\.pytexmkrc ~/.pytexmkrc
项目配置 当前目录 .pytexmkrc 当前目录 .pytexmkrc

优先级:项目配置 > 系统配置


🛠 开发与构建

环境要求

开发环境搭建

# 克隆项目
git clone https://github.com/YanMing-lxb/PyTeXMK.git
cd PyTeXMK

# 安装开发依赖
uv sync --all-extras --dev

# 运行开发版本
uv run pytexmk --help

构建分发包

# 构建 wheel 和 sdist
uv build

构建可执行程序

# 生成平台图标
make icon

# 构建 Cython 加密的可执行程序(onedir 模式)
make build

# 清理构建产物
make clean

Windows 中的 make 命令需要单独配置,详见 Windows 下使用 make

代码检查

uv run ruff check src/
uv run ruff format src/

📄 许可证

本项目基于 GPLv3 许可证开源。


📝 更新记录

详细更新记录请参阅 CHANGELOG.md


⭐ Star History

Star History Chart


如果这个项目对你有帮助,欢迎点个 Star ⭐ 支持一下!