
Ich möchte den Befehl \input oder \include verwenden, um eine Datei mit diesem Namen und CJK-Zeichen einzubinden.
\documentclass[UTF8]{ctexart}
\title{input with cjk path}
\begin{document}
\maketitle
\input{中文}
\end{document}
und die 中文.tex ist
hello, world
Ich habe die UTF-8-Kodierung und die GBK-Kodierung ausprobiert, aber xelatex zeigt den gleichen Fehler an
LaTeX Error: File `涓枃.tex' not found.
Das Betriebssystem ist Windows und ich verwende den Befehl xelatex:
xelatex a.tex
und ich habe versucht, die Codepage zu ändern, es funktioniert immer noch nicht:
chcp 65001
xelatex a.tex
und a.log zeigen
This is XeTeX, Version 3.14159265-2.6-0.99998 (TeX Live 2017/W32TeX)(preloaded format=xelatex 2017.6.21) 3 JUL 2017 20:55
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**./a.tex
(./a.tex
LaTeX2e <2017-04-15>
...
...
...
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 4.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 4.
LaTeX Warning: No \author given.
! LaTeX Error: File `中文.tex' not found.
Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: tex)
Enter file name: X
)
(\end occurred when \ifx on line 5 was incomplete)
(\end occurred when \ifx on line 5 was incomplete)
Here is how much of TeX's memory you used:
19344 strings out of 493005
406504 string characters out of 6131656
441240 words of memory out of 5000000
23197 multiletter control sequences out of 15000+600000
6602 words of font info for 39 fonts, out of 8000000 for 9000
1348 hyphenation exceptions out of 8191
57i,6n,68p,10436b,270s stack positions out of 5000i,500n,10000p,200000b,80000s
No pages of output.
Antwort1
Wenn ich die Hallo-Welt-Datei erzeuge 中文.tex
und die Hauptdatei in UTF-8 speichere, funktioniert es bei mir mit Windows 10 (und Texlive 2017 Cygwin Tex).
Wenn ich dann die Hauptdatei in gbk-Kodierung erneut speichere, erhalte ich die Fehlermeldung „Datei nicht gefunden“. In meinem Fall erhalte ich
! LaTeX Error: File `����.tex' not found.
wobei alle Zeichen durch das „Ersatzzeichen“ U+fffd ersetzt werden, anstatt wie in Ihrem Beispiel falsche Zeichen anzuzeigen. Die Details der UTF-8-Dekodierung können jedoch von Ihrer Xetex-Version abhängen.