を使用すると、ドキュメント内の中国語の文字を正常にコンパイルできます。ただし、 pagestyleCJKutf8
を使用するすべてのファイルで、コンパイル中にエンコーディング関連のエラーが発生します。fancyhdr
fanc
再現するための最小限の例 (システムに cjk サポートがインストールされ、実行されていると想定):
\documentclass{article}
\usepackage{CJKutf8}
\usepackage{fancyhdr}
%\pagestyle{fancy} % <---- uncomment to throw error in compile
\begin{document}
\begin{CJK*}{UTF8}{gbsn}
\section{前言}
\section{关于数学部分}
数学、中英文皆可以混排。You can intersperse math, Chinese and English (Latin script) without adding extra environments.
\end{CJK*}
\bigskip %% Just some white space
You can also insert Latin text in your document
\bigskip %% Just some white space
\begin{CJK*}{UTF8}{bsmi}
這是繁體中文。
\end{CJK*}
\end{document}
例は以下から引用ここそして延長されました。
コメントを外すと\pagestyle{fancy}
次のエラーが発生します。
! PACKAGE INPUTENC ERROR: UNICODE CHAR Ņ� (U+5173)
(INPUTENC) NOT SET UP FOR USE WITH LATEX.
SEE THE INPUTENC PACKAGE DOCUMENTATION FOR EXPLANATION.
Type H <return> for immediate help.
今は、回避策として xetex や luatax を使用したくありません。また、ドキュメント内にかなり複雑なヘッダーをいくつか作成しましたが、それを保持したいと思っています。
私の質問は、たとえば特定のパッケージを追加したり、fancyhdr
正しく構成したりすることで、このエラーを解決する方法があるかどうかです。
答え1
最近では、非ラテン文字には luatex または xelatex を使用することをお勧めしますが、見出しの範囲内になるように CJK 処理を再アサートすることもできます。マクロで非表示にすると、拡張や大文字化の問題から保護されるため、より簡単です。
\documentclass{article}
\usepackage{CJKutf8}
\usepackage{fancyhdr}
\pagestyle{fancy} % <---- uncomment to throw error in compile
\protected\def\zzzA{\begin{CJK*}{UTF8}{gbsn}前言\end{CJK*}}
\protected\def\zzzB{\begin{CJK*}{UTF8}{gbsn}关于数学部分\end{CJK*}}
\begin{document}
\begin{CJK*}{UTF8}{gbsn}
\section{\zzzA}
\section{\zzzB}
数学、中英文皆可以混排。You can intersperse math, Chinese and English (Latin script) without adding extra environments.
\end{CJK*}
\bigskip %% Just some white space
You can also insert Latin text in your document
\bigskip %% Just some white space
\begin{CJK*}{UTF8}{bsmi}
這是繁體中文。
\end{CJK*}
\end{document}
答え2
CJK*
LuaLaTeX または XeLaTeX を自由に使用でき、適切なシステム フォント (必要な中国語文字を含むフォント) がある場合は、環境と「通常の」環境を切り替える必要はありません。
次の例は、私の MacOS システム、MacTeX2018、パッケージfontspec
、および SimSun システム フォント上の LuaLaTeX と XeLaTeX の両方で同様にコンパイルされます。
\documentclass{article}
\usepackage{fontspec} % for "\setmainfont" macro
\setmainfont{SimSun} % or some other suitable font
%\usepackage{CJKutf8} % not needed
\usepackage{fancyhdr}
\pagestyle{fancy}
\setlength\parindent{0pt} % just for this example
\begin{document}
%\begin{CJK*}{UTF8}{gbsn} % not needed
\section{前言}
\section{关于数学部分}
数学、中英文皆可以混排。You can intersperse math, Chinese and English
(Latin script) without adding extra environments.
%\end{CJK*} % not needed
\bigskip %% Just some white space
You can also insert Latin text in your document
\bigskip %% Just some white space
%\begin{CJK*}{UTF8}{bsmi} % not needed
這是繁體中文。
%\end{CJK*} % not needed
\end{document}