答案1
出现此问题的原因是,默认情况下,latexmk 在调用 MSWin 下的程序时会将反斜杠替换为正斜杠作为目录分隔符。这对应于 MSWin 的文件名标准格式。但进行替换会导致 TeXLive 发行版中的 xelatex 版本(而不是 MiKTeX 版本!)出现问题。这是因为 TeXLive 版本将反斜杠视为引入 TeX 宏名称。
您可以通过以下设置解决问题
$MSWin_back_slash = 0;
在初始化文件(即 latexmkrc)中。
在 latexmk 4.69a 或更高版本中,您还可以-MSWinBackSlash-
在命令行中使用该选项。例如:
latexmk -cd- -MSWinBackSlash- -xelatex new/main
然后xelatex
将使用/
目录分隔符而不是来调用\
。有关发生了什么以及为什么发生的进一步解释,请$MSWin_back_slash
在 latexmk v. 4.69a 及更高版本的文档中查找有关变量的详细信息。