更新了 MiKTeX 文件,现在 miktex-xelatex.exe“-aux-directory=DIR”和“-output-directory=DIR”选项突然冲突?

更新了 MiKTeX 文件,现在 miktex-xelatex.exe“-aux-directory=DIR”和“-output-directory=DIR”选项突然冲突?

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"

希望这对某人有帮助!

相关内容