EDIT3:截至 2017-01-09,该错误已得到修复(参见:https://sourceforge.net/p/miktex/bugs/2565/)
EDIT2:联系 miktex-users 邮件列表后,发现这是一个当前的错误。在问题解决之前,请参阅下面的我的回答以找到解决方法。
几个月来我一直在批处理文件中使用下列命令来构建我的 LaTeX 文档,没有出现任何问题:
@miktex-xelatex.exe -enable-enctex -enable-etex -enable-installer -enable-mltex
-enable-pipes -enable-write18 -synctex=1 -aux-directory=_build_files
-output-directory=./ "%1.tex"
今天,我更新了 MiKTeX(以用户和管理员身份),它有很多.exe
文件更新/删除。一切都或多或少地正常构建,但该-aux-directory
选项似乎在-output-directory
存在时完全停止工作。-output-directory
现在它似乎表现得像-aux-directory
和覆盖它。
我一直使用-aux-directory
来处理所有构建文件,但仍然需要-output-directory
处理.pdf
输出.synctex.gz
文件。但是,通过更新,我可以使用任何一个
@miktex-xelatex.exe -enable-enctex -enable-etex -enable-installer -enable-mltex
-enable-pipes -enable-write18 -synctex=1 -aux-directory=_build_files "%1.tex"
或者
@miktex-xelatex.exe -enable-enctex -enable-etex -enable-installer -enable-mltex
-enable-pipes -enable-write18 -synctex=1 -output-directory=_build_files "%1.tex"
这里的问题是,这两种方法都没有将.pdf
和输出文件放在与文件.synctex.gz
相同的目录中.tex
这似乎肯定是一个错误?(它在 2016-12-23 版本的文件之前可以运行)
编辑:它可能是在 2016-12-23 之前引入的。经过思考...我不确定我最近更新了 MiKTeX 和软件包。因此,它可能早了 1-2 个版本?
答案1
这不是一个恰当的解决方案,因为我仍然相信这是一个错误。但是,如果其他人遇到此问题,希望它能帮助他们处理它,直到更新.exe
。
我修改了文件miktex-xelatex.exe
中的调用.bat
(即删除了-output-directory
选项:
@miktex-xelatex.exe -enable-enctex -enable-etex -enable-installer -enable-mltex
-enable-pipes -enable-write18 -synctex=1 -aux-directory=_build_files "%1.tex"
我还需要将以下内容添加到选项中,以将构建文件夹.pdf
和输出文件复制回该文件夹。.synctex.gz
.tex
@copy /Y "OUTPUT_DIR\%1.pdf" "%1.pdf"
@copy /Y "OUTPUT_DIR\%1.synctex.gz" "%1.synctex.gz"
希望这对某人有帮助!