을 사용하여 내 문서에서 한자로 성공적으로 컴파일할 수 있습니다 CJKutf8
. 그러나 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
LuaLaTeX 또는 XeLaTeX를 자유롭게 사용할 수 있고 적절한 시스템 글꼴, 즉 필수 중국어 문자가 있는 글꼴이 있는 경우 CJK*
"일반" 환경 사이를 전환할 필요가 없습니다.
fontspec
다음 예제는 내 MacOS 시스템, MacTeX2018, 패키지 및 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}