Latexmk如何在Windows 10中编译路径中包含中文字符的文件?

Latexmk如何在Windows 10中编译路径中包含中文字符的文件?

我可以在 Windows 中毫无问题地使用以下命令:

latexmk -lualatex -shell-escape "xxx.tex"

但如果文件名包含中文字符,则会失败:

latexmk -lualatex -shell-escape "中文.tex"

我尝试将默认代码页改为 65001,但无济于事。唯一的区别是现在它将所有中文字符显示为块,而不是一些奇怪的字符。

如何让它工作?

输出如下所示(注意奇怪的字符����):

Latexmk: This is Latexmk, John Collins, 17 March 2019, version: 4.63b.
Latexmk: In reading rule 'lualatex' in 'c:/Users/Jeff/thesis2.0/����NodeJs�ĵ��̴���ϵͳ�����ʵ��.fdb_latexmk',
  destination has different name than configured...
Rule 'lualatex': File changes, etc:
   Changed files, or newly in use since previous run(s):
      'chapter4/sku-lock-design.tex'
...
----------------------
C:\texlive\2019\bin\win32\runscript.tlu:907: command failed with exit code 12:
perl.exe c:\texlive\2019\texmf-dist\scripts\latexmk\latexmk.pl -lualatex -shell-escape -enable-write18 -synctex=1 -interaction=nonstopmode -outdir=c:/Users/Jeff/thesis2.0 -f ����NodeJs�ĵ��̴���ϵͳ�����ʵ��

答案1

2020 年 5 月,texlive 2020 中添加了对 luatex 对 utf8 文件名的正确支持。在此之前它不起作用。

使用当前的 texlive 2020,我可以使用 lualatex 运行带有中文文件名的文件而不会出现问题:

This is LuaHBTeX, Version 1.12.0 (TeX Live 2020/W32TeX)  (format=lualatex 2020.9.14)  19 SEP 2020 21:18
 restricted system commands enabled.
**中文.tex
(./中文.tex

...

Output written on 中文.pdf (1 page, 2891 bytes).

latexmk失败了:

C:\Users\XXXX\Documents\tests>latexmk -lualatex 中文.tex
Rc files read:
  NONE
Latexmk: This is Latexmk, John Collins, 13 September 2020, version: 4.70a.
Latexmk: Filename '5%.tex' contains character not allowed for TeX file.
Latexmk: Stopping because of bad filename(s).

相关内容