pytexmk


Namepytexmk JSON
Version 0.5.5.240427 PyPI version JSON
download
home_pageNone
SummaryLaTeX 辅助编译命令行工具 LaTeX Auxiliary Compilation Command Line Tool
upload_time2024-04-27 14:48:24
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords latex build latexmk
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!--
 *  =======================================================================
 *  ····Y88b···d88P················888b·····d888·d8b·······················
 *  ·····Y88b·d88P·················8888b···d8888·Y8P·······················
 *  ······Y88o88P··················88888b·d88888···························
 *  ·······Y888P··8888b···88888b···888Y88888P888·888·88888b·····d88b·······
 *  ········888······"88b·888·"88b·888·Y888P·888·888·888·"88b·d88P"88b·····
 *  ········888···d888888·888··888·888··Y8P··888·888·888··888·888··888·····
 *  ········888··888··888·888··888·888···"···888·888·888··888·Y88b·888·····
 *  ········888··"Y888888·888··888·888·······888·888·888··888··"Y88888·····
 *  ·······························································888·····
 *  ··························································Y8b·d88P·····
 *  ···························································"Y88P"······
 *  =======================================================================
 * 
 *  -----------------------------------------------------------------------
 * Author       : 焱铭
 * Date         : 2024-02-29 10:23:19 +0800
 * LastEditTime : 2024-04-27 10:10:51 +0800
 * Github       : https://github.com/YanMing-lxb/
 * FilePath     : \PyTeXMK\README.md
 * Description  : 
 *  -----------------------------------------------------------------------
 -->

# PyTeXMK

[![GitHub](https://img.shields.io/badge/Github-PyTeXMK-000000.svg)](https://github.com/YanMing-lxb/PyTeXMK) [![License](https://img.shields.io/badge/license-GPLv3-aff)](https://www.latex-project.org/lppl/) ![OS](https://img.shields.io/badge/OS-Linux%2C%20Win%2C%20Mac-pink.svg) [![GitHub release](https://img.shields.io/github/release/YanMing-lxb/PyTeXMK.svg?color=blueviolet&label=version&style=popout)](https://github.com/YanMing-lxb/PyTeXMK/releases/latest) [![Last Commit](https://img.shields.io/github/last-commit/YanMing-lxb/PyTeXMK)](https://github.com/YanMing-lxb/PyTeXMK/zipball/master) [![Issues](https://img.shields.io/github/issues/YanMing-lxb/PyTeXMK)](https://github.com/YanMing-lxb/PyTeXMK/issues) [![Github Action](https://github.com/YanMing-lxb/PyTeXMK/workflows/Test/badge.svg)](https://github.com/YanMing-lxb/PyTeXMK/actions) [![PyPI version](https://img.shields.io/pypi/v/pytexmk.svg)](https://pypi.python.org/pypi/pytexmk/) [![PyPI Downloads](https://img.shields.io/pypi/dm/pytexmk.svg?label=PyPI%20downloads)](https://pypi.org/project/pytexmk/) ![GitHub repo size](https://img.shields.io/github/repo-size/YanMing-lxb/PyTeXMK)

LaTeX 辅助编译命令行程序 LaTeX Auxiliary Compilation Command Line Tool

---

## 安装

官方版本 PyTeXMK 发布在 [PyPI](https://pypi.org/project/pytexmk/) 上,并且可以通过 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 )。

请仔细阅读:[主文件及编译类型选定逻辑](#主文件及编译类型选定逻辑)

> 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  | 非安静模式运行,此模式下显示编译过程             |
| -cp, --clean-pdf  | 清理所有 pdf 文件                          |

**说明:**
`-cp` 参数的功能是 "当 LaTeX 编译过程中报类似 `invalid X X R object at offset XXXXX` 的警告时,可使用此参数清理所有 pdf 文件"

### 魔法注释

PyTeXMK 支持使用魔法注释来自定义编译命令、编译类型、编译结果存放位置等(仅支持检索文档前 50 行)。    

| Magic Comment | Description                                |
|---------------|----------|
| `% !TEX program = xelatex` | 指定编译类型,可选 `xelatex` `pdflatex` `lualatex` |
| `% !TEX root = file.tex` | 指定主 LaTeX 文件名,仅支持主文件在项目根目录下的情况 |
| `% !TEX outdir = PDFfile` | 指定编译结果存放位置,仅支持文件夹名称,如果使用 LaTeX-Workshop,则需要在 `settings.json` 中设置 `"latex-workshop.latex.outDir": "./PDFfile",` |

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

- PyTeXMK 优先使用终端输入命令 `-p` `-x` `-l` 参数指定的编译类型,如果没有指定,则会使用 `% !TEX program = xelatex` 指定的编译类型,如果没有指定,则会使用默认的编译类型 `xelatex`
- PyTeXMK 主文件选定逻辑顺序:
    1. 使用终端输入的文件名
    2. 使用 `% !TEX root = file.tex` 指定的主 LaTeX 文件名
    3. 使用默认的主文件名 `main.tex`
    4. 检索 TeX 文件中的 `\documentclass[]{}` 或 `\begin{document}` 来判断(仅支持检索文档前 200 行)
    5. 根目录下 TeX 文件中只有一个文件,则选择该文件作为主文件
        
- PyTeXMK 会优先使用 `% !TEX outdir = PDFfile` 指定的编译结果存放位置,如果没有指定,则会使用默认的编译结果存放位置 `Build`

# 更新日志

- 2024-03-22 完善编译过程出错后的中断处理机制:在编译过程中出现错误时,程序会自动中断,并提示 `请用 -nq 模式运行以显示错误信息!`,使用 `-nq` 参数运行时,则会显示错误信息。
- 2024-04-26 增加:
    1. 魔法注释功能,使得用户可以自定义编译命令、编译类型、编译结果存放位置等
    2. 完善主文件及编译类型选定逻辑
- 2024-04-26 
    1. 修复边 \documentclass 和 \begin{document} 检索逻辑。
    2. 解决文档读取编码导致的报错。


# 未来工作方向

- [X] 完善编译过程出错后的中断处理机制
- [ ] 完善检索主 LaTeX 文件的功能:
    - [X] 根据魔法注释 `% !TEX root = file.tex` 找到主 LaTeX 文件
    - [X] 通过检索 TeX 文件中的 `\documentclass[]{}` 或 `\begin{document}` 来判断
- [ ] 完善自动判断编译类型:
    - [X] 根据魔法注释 `% !TEX program = xelatex` 设置需要编译的类型
- [x] 通过魔法注释设置编译结果存放位置
- [X] 通过魔法注释实现编译命令的自定义
- [ ] 增加配置文件功能,用于改变默认设置
    - [ ] 指定生成的结果文件存放位置(目前默认存放在 `Build` 子文件夹下)
    - [ ] 默认的编译命令(目前默认编译命令是 `xelatex`)
- [ ] texlive 宏包检缺失并自动安装
- [ ] 多主文件编译功能

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pytexmk",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "LaTeX, build, latexmk",
    "author": null,
    "author_email": "\u7131\u94ed <lxb-yanming@foxmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/2d/df/371b4575cd2cd5a3cc8a03da59367a103a3725dce30f3279ca45a2795905/pytexmk-0.5.5.240427.tar.gz",
    "platform": null,
    "description": "<!--\r\n *  =======================================================================\r\n *  \u00b7\u00b7\u00b7\u00b7Y88b\u00b7\u00b7\u00b7d88P\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7888b\u00b7\u00b7\u00b7\u00b7\u00b7d888\u00b7d8b\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\r\n *  \u00b7\u00b7\u00b7\u00b7\u00b7Y88b\u00b7d88P\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b78888b\u00b7\u00b7\u00b7d8888\u00b7Y8P\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\r\n *  \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7Y88o88P\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b788888b\u00b7d88888\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\r\n *  \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7Y888P\u00b7\u00b78888b\u00b7\u00b7\u00b788888b\u00b7\u00b7\u00b7888Y88888P888\u00b7888\u00b788888b\u00b7\u00b7\u00b7\u00b7\u00b7d88b\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\r\n *  \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7888\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\"88b\u00b7888\u00b7\"88b\u00b7888\u00b7Y888P\u00b7888\u00b7888\u00b7888\u00b7\"88b\u00b7d88P\"88b\u00b7\u00b7\u00b7\u00b7\u00b7\r\n *  \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7888\u00b7\u00b7\u00b7d888888\u00b7888\u00b7\u00b7888\u00b7888\u00b7\u00b7Y8P\u00b7\u00b7888\u00b7888\u00b7888\u00b7\u00b7888\u00b7888\u00b7\u00b7888\u00b7\u00b7\u00b7\u00b7\u00b7\r\n *  \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7888\u00b7\u00b7888\u00b7\u00b7888\u00b7888\u00b7\u00b7888\u00b7888\u00b7\u00b7\u00b7\"\u00b7\u00b7\u00b7888\u00b7888\u00b7888\u00b7\u00b7888\u00b7Y88b\u00b7888\u00b7\u00b7\u00b7\u00b7\u00b7\r\n *  \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7888\u00b7\u00b7\"Y888888\u00b7888\u00b7\u00b7888\u00b7888\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7888\u00b7888\u00b7888\u00b7\u00b7888\u00b7\u00b7\"Y88888\u00b7\u00b7\u00b7\u00b7\u00b7\r\n *  \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7888\u00b7\u00b7\u00b7\u00b7\u00b7\r\n *  \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7Y8b\u00b7d88P\u00b7\u00b7\u00b7\u00b7\u00b7\r\n *  \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\"Y88P\"\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\r\n *  =======================================================================\r\n * \r\n *  -----------------------------------------------------------------------\r\n * Author       : \u7131\u94ed\r\n * Date         : 2024-02-29 10:23:19 +0800\r\n * LastEditTime : 2024-04-27 10:10:51 +0800\r\n * Github       : https://github.com/YanMing-lxb/\r\n * FilePath     : \\PyTeXMK\\README.md\r\n * Description  : \r\n *  -----------------------------------------------------------------------\r\n -->\r\n\r\n# PyTeXMK\r\n\r\n[![GitHub](https://img.shields.io/badge/Github-PyTeXMK-000000.svg)](https://github.com/YanMing-lxb/PyTeXMK) [![License](https://img.shields.io/badge/license-GPLv3-aff)](https://www.latex-project.org/lppl/) ![OS](https://img.shields.io/badge/OS-Linux%2C%20Win%2C%20Mac-pink.svg) [![GitHub release](https://img.shields.io/github/release/YanMing-lxb/PyTeXMK.svg?color=blueviolet&label=version&style=popout)](https://github.com/YanMing-lxb/PyTeXMK/releases/latest) [![Last Commit](https://img.shields.io/github/last-commit/YanMing-lxb/PyTeXMK)](https://github.com/YanMing-lxb/PyTeXMK/zipball/master) [![Issues](https://img.shields.io/github/issues/YanMing-lxb/PyTeXMK)](https://github.com/YanMing-lxb/PyTeXMK/issues) [![Github Action](https://github.com/YanMing-lxb/PyTeXMK/workflows/Test/badge.svg)](https://github.com/YanMing-lxb/PyTeXMK/actions) [![PyPI version](https://img.shields.io/pypi/v/pytexmk.svg)](https://pypi.python.org/pypi/pytexmk/) [![PyPI Downloads](https://img.shields.io/pypi/dm/pytexmk.svg?label=PyPI%20downloads)](https://pypi.org/project/pytexmk/) ![GitHub repo size](https://img.shields.io/github/repo-size/YanMing-lxb/PyTeXMK)\r\n\r\nLaTeX \u8f85\u52a9\u7f16\u8bd1\u547d\u4ee4\u884c\u7a0b\u5e8f LaTeX Auxiliary Compilation Command Line Tool\r\n\r\n---\r\n\r\n## \u5b89\u88c5\r\n\r\n\u5b98\u65b9\u7248\u672c PyTeXMK \u53d1\u5e03\u5728 [PyPI](https://pypi.org/project/pytexmk/) \u4e0a\uff0c\u5e76\u4e14\u53ef\u4ee5\u901a\u8fc7 pip \u5305\u7ba1\u7406\u5668\u4ece PyPI \u955c\u50cf\u8f7b\u677e\u5b89\u88c5\u3002\r\n\r\n\u8bf7\u6ce8\u610f\uff0c\u60a8\u5fc5\u987b\u4f7f\u7528 Python 3 \u7248\u672cpip\uff1a\r\n\r\n```\r\npip3 install pytexmk\r\n```\r\n\r\n## \u5347\u7ea7\r\n\r\n```\r\npip3 install --upgrade pytexmk\r\n```\r\n\r\n## \u4f7f\u7528\u5165\u95e8\r\n\r\nPyTeXMK \u9ed8\u8ba4\u53c2\u6570\uff1a`xelatex` \u7f16\u8bd1\u3001\u4e3b\u6587\u4ef6\u540d main.tex\u3001batch \u6a21\u5f0f\uff08\u7f16\u8bd1\u8fc7\u7a0b\u4fe1\u606f\u4e0d\u663e\uff0c\u5982\u9700\u663e\u793a\u7f16\u8bd1\u8fc7\u7a0b\u4fe1\u606f\u8bf7\u4f7f\u7528 `-nq` \u53c2\u6570\uff09\u3001\u7f16\u8bd1\u7ed3\u679c\u5b58\u653e\u5728 LaTeX \u9879\u76ee\u7684 Build \u6587\u4ef6\u5939\u4e0b ( VSCode \u7528\u6237\u5219\u9700\u8981\u5728 `settings.json` \u4e2d\u6ce8\u610f\u8bbe\u7f6e `\"latex-workshop.latex.outDir\": \"./Build\",` \u4f7f\u5f97 LaTeX-Workshop \u80fd\u591f\u627e\u5230 pdf )\u3002\r\n\r\n\u8bf7\u4ed4\u7ec6\u9605\u8bfb\uff1a[\u4e3b\u6587\u4ef6\u53ca\u7f16\u8bd1\u7c7b\u578b\u9009\u5b9a\u903b\u8f91](#\u4e3b\u6587\u4ef6\u53ca\u7f16\u8bd1\u7c7b\u578b\u9009\u5b9a\u903b\u8f91)\r\n\r\n> PyTeXMK\uff0c\u4ec5\u652f\u6301 utf-8 \u7f16\u7801\u7684 TeX \u6587\u4ef6\u3002\r\n\r\n### \u7f16\u8bd1\u547d\u4ee4\r\nPyTeXMK \u652f\u6301\uff1a\r\n\r\n- \u7f16\u8bd1\u547d\u4ee4\uff1a`xelatex` `pdflatex` `lualatex`\r\n- \u53c2\u8003\u6587\u732e\uff1a`bibtex` `biblatex` `thebibliography`\r\n- \u7b26\u53f7\u7d22\u5f15\uff1a`glossaries` `nomencl` `mkeidx`\r\n\r\n\u4f4d\u7f6e\u53c2\u6570:\r\n| Option              | Description                    |\r\n|---------------------|-------------------------------|\r\n| document          | \u8981\u88ab\u7f16\u8bd1\u7684\u6587\u4ef6\u540d                   |\r\n\r\n\u9009\u9879:\r\n| Option           | Description                                |\r\n|------------------|--------------------------------------------|\r\n| -h, --help       | \u663e\u793a\u5e2e\u52a9\u4fe1\u606f                                 |\r\n| -v, --version    | \u663e\u793a\u7a0b\u5e8f\u7248\u672c\u53f7                               |\r\n| -p, --pdflatex   | pdflatex \u8fdb\u884c\u7f16\u8bd1                           |\r\n| -x, --xelatex    | xelatex \u8fdb\u884c\u7f16\u8bd1                            |\r\n| -l, --lualatex   | lualatex \u8fdb\u884c\u7f16\u8bd1                           |\r\n| -c, --clean      | \u6e05\u9664\u6240\u6709\u8f85\u52a9\u6587\u4ef6                              |\r\n| -C, --Clean      | \u6e05\u9664\u6240\u6709\u8f85\u52a9\u6587\u4ef6\u548c pdf \u6587\u4ef6                    |\r\n| -nq, --no-quiet  | \u975e\u5b89\u9759\u6a21\u5f0f\u8fd0\u884c\uff0c\u6b64\u6a21\u5f0f\u4e0b\u663e\u793a\u7f16\u8bd1\u8fc7\u7a0b             |\r\n| -cp, --clean-pdf  | \u6e05\u7406\u6240\u6709 pdf \u6587\u4ef6                          |\r\n\r\n**\u8bf4\u660e\uff1a**\r\n`-cp` \u53c2\u6570\u7684\u529f\u80fd\u662f \"\u5f53 LaTeX \u7f16\u8bd1\u8fc7\u7a0b\u4e2d\u62a5\u7c7b\u4f3c `invalid X X R object at offset XXXXX` \u7684\u8b66\u544a\u65f6\uff0c\u53ef\u4f7f\u7528\u6b64\u53c2\u6570\u6e05\u7406\u6240\u6709 pdf \u6587\u4ef6\"\r\n\r\n### \u9b54\u6cd5\u6ce8\u91ca\r\n\r\nPyTeXMK \u652f\u6301\u4f7f\u7528\u9b54\u6cd5\u6ce8\u91ca\u6765\u81ea\u5b9a\u4e49\u7f16\u8bd1\u547d\u4ee4\u3001\u7f16\u8bd1\u7c7b\u578b\u3001\u7f16\u8bd1\u7ed3\u679c\u5b58\u653e\u4f4d\u7f6e\u7b49\uff08\u4ec5\u652f\u6301\u68c0\u7d22\u6587\u6863\u524d 50 \u884c\uff09\u3002    \r\n\r\n| Magic Comment | Description                                |\r\n|---------------|----------|\r\n| `% !TEX program = xelatex` | \u6307\u5b9a\u7f16\u8bd1\u7c7b\u578b\uff0c\u53ef\u9009 `xelatex` `pdflatex` `lualatex` |\r\n| `% !TEX root = file.tex` | \u6307\u5b9a\u4e3b LaTeX \u6587\u4ef6\u540d\uff0c\u4ec5\u652f\u6301\u4e3b\u6587\u4ef6\u5728\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u7684\u60c5\u51b5 |\r\n| `% !TEX outdir = PDFfile` | \u6307\u5b9a\u7f16\u8bd1\u7ed3\u679c\u5b58\u653e\u4f4d\u7f6e\uff0c\u4ec5\u652f\u6301\u6587\u4ef6\u5939\u540d\u79f0\uff0c\u5982\u679c\u4f7f\u7528 LaTeX-Workshop\uff0c\u5219\u9700\u8981\u5728 `settings.json` \u4e2d\u8bbe\u7f6e `\"latex-workshop.latex.outDir\": \"./PDFfile\",` |\r\n\r\n### \u4e3b\u6587\u4ef6\u53ca\u7f16\u8bd1\u7c7b\u578b\u9009\u5b9a\u903b\u8f91\r\n\r\n- PyTeXMK \u4f18\u5148\u4f7f\u7528\u7ec8\u7aef\u8f93\u5165\u547d\u4ee4 `-p` `-x` `-l` \u53c2\u6570\u6307\u5b9a\u7684\u7f16\u8bd1\u7c7b\u578b\uff0c\u5982\u679c\u6ca1\u6709\u6307\u5b9a\uff0c\u5219\u4f1a\u4f7f\u7528 `% !TEX program = xelatex` \u6307\u5b9a\u7684\u7f16\u8bd1\u7c7b\u578b\uff0c\u5982\u679c\u6ca1\u6709\u6307\u5b9a\uff0c\u5219\u4f1a\u4f7f\u7528\u9ed8\u8ba4\u7684\u7f16\u8bd1\u7c7b\u578b `xelatex`\r\n- PyTeXMK \u4e3b\u6587\u4ef6\u9009\u5b9a\u903b\u8f91\u987a\u5e8f\uff1a\r\n    1. \u4f7f\u7528\u7ec8\u7aef\u8f93\u5165\u7684\u6587\u4ef6\u540d\r\n    2. \u4f7f\u7528 `% !TEX root = file.tex` \u6307\u5b9a\u7684\u4e3b LaTeX \u6587\u4ef6\u540d\r\n    3. \u4f7f\u7528\u9ed8\u8ba4\u7684\u4e3b\u6587\u4ef6\u540d `main.tex`\r\n    4. \u68c0\u7d22 TeX \u6587\u4ef6\u4e2d\u7684 `\\documentclass[]{}` \u6216 `\\begin{document}` \u6765\u5224\u65ad\uff08\u4ec5\u652f\u6301\u68c0\u7d22\u6587\u6863\u524d 200 \u884c\uff09\r\n    5. \u6839\u76ee\u5f55\u4e0b TeX \u6587\u4ef6\u4e2d\u53ea\u6709\u4e00\u4e2a\u6587\u4ef6\uff0c\u5219\u9009\u62e9\u8be5\u6587\u4ef6\u4f5c\u4e3a\u4e3b\u6587\u4ef6\r\n        \r\n- PyTeXMK \u4f1a\u4f18\u5148\u4f7f\u7528 `% !TEX outdir = PDFfile` \u6307\u5b9a\u7684\u7f16\u8bd1\u7ed3\u679c\u5b58\u653e\u4f4d\u7f6e\uff0c\u5982\u679c\u6ca1\u6709\u6307\u5b9a\uff0c\u5219\u4f1a\u4f7f\u7528\u9ed8\u8ba4\u7684\u7f16\u8bd1\u7ed3\u679c\u5b58\u653e\u4f4d\u7f6e `Build`\r\n\r\n# \u66f4\u65b0\u65e5\u5fd7\r\n\r\n- 2024-03-22 \u5b8c\u5584\u7f16\u8bd1\u8fc7\u7a0b\u51fa\u9519\u540e\u7684\u4e2d\u65ad\u5904\u7406\u673a\u5236\uff1a\u5728\u7f16\u8bd1\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u9519\u8bef\u65f6\uff0c\u7a0b\u5e8f\u4f1a\u81ea\u52a8\u4e2d\u65ad\uff0c\u5e76\u63d0\u793a `\u8bf7\u7528 -nq \u6a21\u5f0f\u8fd0\u884c\u4ee5\u663e\u793a\u9519\u8bef\u4fe1\u606f\uff01`\uff0c\u4f7f\u7528 `-nq` \u53c2\u6570\u8fd0\u884c\u65f6\uff0c\u5219\u4f1a\u663e\u793a\u9519\u8bef\u4fe1\u606f\u3002\r\n- 2024-04-26 \u589e\u52a0\uff1a\r\n    1. \u9b54\u6cd5\u6ce8\u91ca\u529f\u80fd\uff0c\u4f7f\u5f97\u7528\u6237\u53ef\u4ee5\u81ea\u5b9a\u4e49\u7f16\u8bd1\u547d\u4ee4\u3001\u7f16\u8bd1\u7c7b\u578b\u3001\u7f16\u8bd1\u7ed3\u679c\u5b58\u653e\u4f4d\u7f6e\u7b49\r\n    2. \u5b8c\u5584\u4e3b\u6587\u4ef6\u53ca\u7f16\u8bd1\u7c7b\u578b\u9009\u5b9a\u903b\u8f91\r\n- 2024-04-26 \r\n    1. \u4fee\u590d\u8fb9 \\documentclass \u548c \\begin{document} \u68c0\u7d22\u903b\u8f91\u3002\r\n    2. \u89e3\u51b3\u6587\u6863\u8bfb\u53d6\u7f16\u7801\u5bfc\u81f4\u7684\u62a5\u9519\u3002\r\n\r\n\r\n# \u672a\u6765\u5de5\u4f5c\u65b9\u5411\r\n\r\n- [X] \u5b8c\u5584\u7f16\u8bd1\u8fc7\u7a0b\u51fa\u9519\u540e\u7684\u4e2d\u65ad\u5904\u7406\u673a\u5236\r\n- [ ] \u5b8c\u5584\u68c0\u7d22\u4e3b LaTeX \u6587\u4ef6\u7684\u529f\u80fd\uff1a\r\n    - [X] \u6839\u636e\u9b54\u6cd5\u6ce8\u91ca `% !TEX root = file.tex` \u627e\u5230\u4e3b LaTeX \u6587\u4ef6\r\n    - [X] \u901a\u8fc7\u68c0\u7d22 TeX \u6587\u4ef6\u4e2d\u7684 `\\documentclass[]{}` \u6216 `\\begin{document}` \u6765\u5224\u65ad\r\n- [ ] \u5b8c\u5584\u81ea\u52a8\u5224\u65ad\u7f16\u8bd1\u7c7b\u578b\uff1a\r\n    - [X] \u6839\u636e\u9b54\u6cd5\u6ce8\u91ca `% !TEX program = xelatex` \u8bbe\u7f6e\u9700\u8981\u7f16\u8bd1\u7684\u7c7b\u578b\r\n- [x] \u901a\u8fc7\u9b54\u6cd5\u6ce8\u91ca\u8bbe\u7f6e\u7f16\u8bd1\u7ed3\u679c\u5b58\u653e\u4f4d\u7f6e\r\n- [X] \u901a\u8fc7\u9b54\u6cd5\u6ce8\u91ca\u5b9e\u73b0\u7f16\u8bd1\u547d\u4ee4\u7684\u81ea\u5b9a\u4e49\r\n- [ ] \u589e\u52a0\u914d\u7f6e\u6587\u4ef6\u529f\u80fd\uff0c\u7528\u4e8e\u6539\u53d8\u9ed8\u8ba4\u8bbe\u7f6e\r\n    - [ ] \u6307\u5b9a\u751f\u6210\u7684\u7ed3\u679c\u6587\u4ef6\u5b58\u653e\u4f4d\u7f6e\uff08\u76ee\u524d\u9ed8\u8ba4\u5b58\u653e\u5728 `Build` \u5b50\u6587\u4ef6\u5939\u4e0b\uff09\r\n    - [ ] \u9ed8\u8ba4\u7684\u7f16\u8bd1\u547d\u4ee4\uff08\u76ee\u524d\u9ed8\u8ba4\u7f16\u8bd1\u547d\u4ee4\u662f `xelatex`\uff09\r\n- [ ] texlive \u5b8f\u5305\u68c0\u7f3a\u5931\u5e76\u81ea\u52a8\u5b89\u88c5\r\n- [ ] \u591a\u4e3b\u6587\u4ef6\u7f16\u8bd1\u529f\u80fd\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "LaTeX \u8f85\u52a9\u7f16\u8bd1\u547d\u4ee4\u884c\u5de5\u5177 LaTeX Auxiliary Compilation Command Line Tool",
    "version": "0.5.5.240427",
    "project_urls": {
        "Bug Tracker": "https://github.com/YanMing-lxb/PyTeXMK/issues",
        "Homepage": "https://github.com/YanMing-lxb/PyTeXMK"
    },
    "split_keywords": [
        "latex",
        " build",
        " latexmk"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1ff512e75da04f22073554585bb154533218a6b8b1ebd0548af541417da32752",
                "md5": "c5dfdb617c742e443cdd91e74cae2849",
                "sha256": "17cb57add6221c9b81e21db60c165788b6f948c4539c1c15cba19783d5bd5118"
            },
            "downloads": -1,
            "filename": "pytexmk-0.5.5.240427-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c5dfdb617c742e443cdd91e74cae2849",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 34528,
            "upload_time": "2024-04-27T14:48:21",
            "upload_time_iso_8601": "2024-04-27T14:48:21.773334Z",
            "url": "https://files.pythonhosted.org/packages/1f/f5/12e75da04f22073554585bb154533218a6b8b1ebd0548af541417da32752/pytexmk-0.5.5.240427-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2ddf371b4575cd2cd5a3cc8a03da59367a103a3725dce30f3279ca45a2795905",
                "md5": "dd60a4eb4ca83ed7b341646e33665ddf",
                "sha256": "da60d2314863eba9af2d7576ba4ccbb0eb27847ef4ed9a83e24dbf27b845c710"
            },
            "downloads": -1,
            "filename": "pytexmk-0.5.5.240427.tar.gz",
            "has_sig": false,
            "md5_digest": "dd60a4eb4ca83ed7b341646e33665ddf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 35202,
            "upload_time": "2024-04-27T14:48:24",
            "upload_time_iso_8601": "2024-04-27T14:48:24.037618Z",
            "url": "https://files.pythonhosted.org/packages/2d/df/371b4575cd2cd5a3cc8a03da59367a103a3725dce30f3279ca45a2795905/pytexmk-0.5.5.240427.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-27 14:48:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "YanMing-lxb",
    "github_project": "PyTeXMK",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pytexmk"
}
        
Elapsed time: 0.25150s