我使用 latexmk 编译了我的 main.tex 文件
latexmk -xelatex -outdir=output -auxdir=auxil main.tex
直到突然 latexmk 停止检测我给出的选项:
(venv) PS C:\Users\user\PycharmProjects\test2\src> latexmk -xelatex -outdir=output -auxdir=auxil main.tex
Usage
=====
latexmk [options] [filename]
latexmk: error: no such option: -x
此外:Latexmk 对任何长度超过 1 个字符的首次传递选项执行相同的操作:
(venv) PS C:\Users\user\PycharmProjects\test2\src> latexmk -outdir=output -auxdir=auxil main.tex
Usage
=====
latexmk [options] [filename]
latexmk: error: no such option: -o
该错误不是xelatex
因为我可以单独运行它并且它运行良好,但由于我无法使用,所以latexmk
我必须手动编译main.tex
几次。
我已经检查了 latexmk 的版本并且它显示:
(venv) PS C:\Users\user\PycharmProjects\test2\src> latexmk --version
latexmk 0.4
我最终从我的计算机上卸载并重新安装了 latexmk 模块,但没有任何改变。
我一直在网上寻找类似的问题,但似乎找不到。
答案1
tl;dr:latexmk 和 latexmk.py 之间存在冲突
感谢@daleif的评论,
我检查了我的 latexmk 版本,因为我更新过几次,但它似乎已经过时了,而我的版本实际上是 MikTex 上的 4.80。
然后我输入latexmk -h
以获得帮助,它显示我是 latexmk 的 python 版本,并且这个包实际上是 0.4 版本。
因此我检查了我的 PyCharm pip(我在我的项目中使用 PyCharm),但未检测到该模块。
我必须使用 Windows shell 而不是 PyCharm 终端来卸载它,然后当我尝试检查 latexmk 的版本时,我终于得到了:
(venv) PS C:\Users\user\PycharmProjects\test2\src> latexmk --version
Initial Win CP for (console input, console output, system): (CP850, CP65001, CP1252)
I changed them all to CP1252
Latexmk, John Collins, 4 Apr. 2023. Version 4.80
Reverting Windows console CPs to (in,out) = (850,65001)
最后告诉我,我正在使用 Perl(和原始)版本的 Latexmk
编辑:最重要的是,编译现在可以正常工作了!