![如何让 latexmk/lualatex 在 Windows 中处理文件名中的空格?](https://linux22.com/image/416872/%E5%A6%82%E4%BD%95%E8%AE%A9%20latexmk%2Flualatex%20%E5%9C%A8%20Windows%20%E4%B8%AD%E5%A4%84%E7%90%86%E6%96%87%E4%BB%B6%E5%90%8D%E4%B8%AD%E7%9A%84%E7%A9%BA%E6%A0%BC%EF%BC%9F.png)
例如,尝试在C:\a\b c\d.tex
和处创建相同的 tex 文件C:\a\bc\d.tex
。然后尝试运行,lualatex
除了文件名外不带任何参数。第一个文件将完美编译。第二个文件将失败,就像lualatex
试图将文件名读取为 .tex 文档一样:
This is LuaHBTeX, Version 1.12.0 (TeX Live 2020/W32TeX)
restricted system commands enabled.
! I can't find file `c:'.
<to be read again>
\def
<*> "c:\a\b
c\d.tex"
(Press Enter to retry, or Control-Z to exit)
Please type another input file name:
答案1
确保所有文件名都使用正斜杠而不是反斜杠。如果您使用latexmk
自动,您可以在命令行参数或 RC 文件中放置一个标志:$MSWin_back_slash = 0;
它将自动为您执行此操作。