
Я могу без проблем использовать следующую команду в 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
Корректная поддержка luatex для имен файлов utf8 была добавлена в texlive 2020 в мае 2020 года. До этого она не работала.
С помощью текущей версии 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).