LaTeX 辅助编译命令行工具 LaTeX Auxiliary Compilation Command Line Tool
Project description
PyTeXMK
LaTeX 辅助编译命令行程序 LaTeX Auxiliary Compilation Command Line Tool
安装
官方版本 PyTeXMK 发布在 PyPI 上,并且可以通过 pip 包管理器从 PyPI 镜像轻松安装。
请注意,您必须使用 Python 3 版本pip:
pip3 install pytexmk
升级
pip3 install --upgrade pytexmk
使用入门
PyTeXMK 默认参数:xelatex
编译、主文件名 main.tex、batch 模式(编译过程信息不显,如需显示编译过程信息请使用 -nq
参数)、编译结果存放在 LaTeX 项目的 Build 文件夹下 ( VSCode 用户则需要在 settings.json
中注意设置 "latex-workshop.latex.outDir": "./Build",
使得 LaTeX-Workshop 能够找到 pdf )、辅助文件存放在 LaTeX 项目的 Auxiliary 文件夹下。
请仔细阅读:主文件及编译类型选定逻辑
PyTeXMK,仅支持 utf-8 编码的 TeX 文件。
编译命令
PyTeXMK 支持:
- 编译命令:
xelatex
pdflatex
lualatex
- 参考文献:
bibtex
biblatex
thebibliography
- 符号索引:
glossaries
nomencl
mkeidx
位置参数:
Option | Description |
---|---|
document | 要被编译的文件名 |
选项:
Option | Description |
---|---|
-h, --help | 显示帮助信息 |
-v, --version | 显示程序版本号 |
-p, --pdflatex | pdflatex 进行编译 |
-x, --xelatex | xelatex 进行编译 |
-l, --lualatex | lualatex 进行编译 |
-c, --clean | 清除所有辅助文件 |
-C, --Clean | 清除所有辅助文件和 pdf 文件 |
-nq, --no-quiet | 非安静模式运行,此模式下显示编译过程 |
-vb, --verbose | 显示 PyTeXMK 运行过程中的详细信息 |
-cp, --clean-pdf | 修复所有根目录以外的 pdf 文件 |
说明:
-cp
参数的功能是 "当 LaTeX 编译过程中报类似 invalid X X R object at offset XXXXX
的警告时,可使用此参数清理所有 pdf 文件"
invalid X X R object at offset XXXXX
警告的出现是由于 PDF 图片文件在创建、编辑或传输过程中发生了某种形式的损坏或非法操作导致的,可能的原因包括文件部分内容缺失、xref表损坏、或者是文件结构中的其他问题
魔法注释
PyTeXMK 支持使用魔法注释来自定义编译命令、编译类型、编译结果存放位置等(仅支持检索文档前 50 行)。
Magic Comment | Description |
---|---|
% !TEX program = xelatex |
指定编译类型,可选 xelatex pdflatex lualatex |
% !TEX root = file.tex |
指定主 LaTeX 文件名,仅支持主文件在项目根目录下的情况 |
% !TEX outdir = PDFfile |
指定编译结果存放位置,仅支持文件夹名称 |
% !TEX auxdir = auxfiles |
指定辅助文件存放位置,仅支持文件夹名称 |
主文件及编译类型选定逻辑
-
PyTeXMK 优先使用终端输入命令
-p
-x
-l
参数指定的编译类型,如果没有指定,则会使用% !TEX program = xelatex
指定的编译类型,如果没有指定,则会使用默认的编译类型xelatex
-
PyTeXMK 主文件选定逻辑顺序:
- 使用终端输入的文件名
- 使用
% !TEX root = file.tex
指定的主 LaTeX 文件名 - 使用默认的主文件名
main.tex
- 检索 TeX 文件中的
\documentclass[]{}
或\begin{document}
来判断(仅支持检索文档前 200 行) - 根目录下 TeX 文件中只有一个文件,则选择该文件作为主文件
-
PyTeXMK 会优先使用
% !TEX outdir = PDFfile
指定的编译结果存放位置,如果没有指定,则会使用默认的编译结果存放位置Build
未来工作方向
- 增加尝试修复根目录以外所有 PDF 文件的功能(在创建、编辑或传输过程中发生了某种形式的损坏或非法操作而导致在编译过程中出现类似
invalid X X R object at offset XXXXX
的警告的问题) - 完善主文件判断功能:
- 通过检索 TeX 文件中的
\documentclass[]{}
或\begin{document}
来判断 - 多主文件编译功能
- 通过检索 TeX 文件中的
- 魔法注释功能
- 通过魔法注释设置主文件名
- 通过魔法注释设置编译引擎类型
- 通过魔法注释设置编译结果存放位置
- 根据魔法注释设置辅助文件存放位置
- 解决魔法注释大小写敏感问题
- 魔法注释重复定义时的处理方式
- 魔法注释冲突时的处理方式
- 编译次数自动判断功能
- 完善编译过程出错后的中断处理机制
- 自动判断是否需要编译参考文献
- 自动判断是否需要编译索引文件
- 自动判断是否要重新编译
- 增加配置文件功能
- 自定义默认的编译引擎 (目前默认编译命令是
xelatex
) - 自定义默认生成的结果文件存放位置(目前默认存放在
Build
子文件夹下) - 自定义默认的辅助文件存放位置(目前默认存放在
待定
子文件夹下) - 自定义其他索引宏包的配置
- 自定义 PDF 文件打开方式
- 自定义默认的编译引擎 (目前默认编译命令是
- 预览与日志功能
- 解决终端中文显示问题
- PDF 预览功能
- 报错信息显示功能
- 实现日志记录功能
- 完善清理功能
- 完善清理辅助文件功能
- 完善清理所有文件功能
- 完善清理所有辅助文件功能
- 宏包检缺失并自动安装(texlive)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file pytexmk-0.6.8.240723-py3-none-any.whl
.
File metadata
- Download URL: pytexmk-0.6.8.240723-py3-none-any.whl
- Upload date:
- Size: 41.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99e44444fedaec908cbd5cbe13c758a1d16b427f27f0f1e0344ccc190ea4adea |
|
MD5 | ac73f5401264d9dbe272647a4b1db566 |
|
BLAKE2b-256 | d563d7fa3c2c133371d5937b208dcc877e8c679ce2a10b3260796ce7e28af036 |