¿Hay alguna manera de hacer que fancyhdr con estilo de página sea compatible con el idioma chino?

¿Hay alguna manera de hacer que fancyhdr con estilo de página sea compatible con el idioma chino?

Puedo compilar con éxito caracteres chinos en mis documentos usando CJKutf8. Sin embargo, hace que todos mis archivos se usen fancyhdrcon estilo de página fancpara generar errores relacionados con la codificación durante la compilación.

Ejemplo mínimo para reproducir (suponiendo que el soporte cjk esté instalado en el sistema y en ejecución):

\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}

El ejemplo fue tomado deaquíy extendido.

Descomentar \pagestyle{fancy}produce el siguiente error:

! 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.

Ahora no quiero usar xetex o luatax como soluciones alternativas y también he creado algunos encabezados bastante complejos en mis documentos, que me gustaría conservar.

Entonces mi pregunta es si hay alguna manera de resolver este error, por ejemplo agregando un paquete específico o configurando fancyhdrcorrectamente.

Respuesta1

Hoy en día probablemente se recomienda usar luatex o xelatex para escrituras no latinas, pero puede reafirmar el procesamiento CJK para que esté dentro del alcance del encabezado. Es más sencillo ocultarlo en una macro para que esté a salvo de problemas de expansión y uso de mayúsculas.

ingrese la descripción de la imagen aquí

\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}

Respuesta2

Si puede utilizar LuaLaTeX o XeLaTeX y tiene una fuente de sistema adecuada, es decir, una que tenga los caracteres chinos necesarios, puede prescindir de cambiar entre CJK*entornos "ordinarios".

El siguiente ejemplo se compila igualmente bien en LuaLaTeX y XeLaTeX en mi sistema MacOS, MacTeX2018, el fontspecpaquete y la fuente del sistema SimSun.

ingrese la descripción de la imagen aquí

\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}

información relacionada