페이지 스타일이 fancy인 fancyhdr을 중국어와 호환되도록 만드는 방법이 있나요?

페이지 스타일이 fancy인 fancyhdr을 중국어와 호환되도록 만드는 방법이 있나요?

을 사용하여 내 문서에서 한자로 성공적으로 컴파일할 수 있습니다 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}

관련 정보