Wie kann Latexmk in Windows 10 eine Datei kompilieren, die chinesische Zeichen im Pfad enthält?

Wie kann Latexmk in Windows 10 eine Datei kompilieren, die chinesische Zeichen im Pfad enthält?

Ich kann den folgenden Befehl in Windows problemlos verwenden:

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

Wenn der Dateiname jedoch chinesische Zeichen enthält, schlägt der Vorgang fehl:

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

Ich habe versucht, die Standardcodepage auf 65001 zu ändern, aber das hat nicht geholfen. Der einzige Unterschied besteht darin, dass jetzt alle chinesischen Zeichen als Blöcke angezeigt werden und nicht als seltsame Zeichen.

Wie funktioniert es?

Die Ausgabe sieht wie folgt aus (Beachten Sie die seltsamen Zeichen ����):

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�ĵ��̴���ϵͳ�����ʵ��

Antwort1

Die korrekte Unterstützung für Luatex für UTF-8-Dateinamen wurde im Mai 2020 zu Texlive 2020 hinzugefügt. Vorher hat es nicht funktioniert.

Mit einem aktuellen Texlive 2020 kann ich Dateien mit chinesischen Dateinamen problemlos mit Lualatex ausführen:

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).

Aber latexmkes schlägt fehl:

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).

verwandte Informationen