Partes que no funcionan cuando se usan varios idiomas con poliglosia

Partes que no funcionan cuando se usan varios idiomas con poliglosia

Estoy trabajando en un bookdocumento con xelatex. El documento está dividido en partsy ocasionalmente tengo la necesidad de cambiar entre dos idiomas.

Descubrí que cuando mi documento contiene más de un idioma, el partnúmero ya no se muestra:

\documentclass{book}

\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{french}

\begin{document}
  \selectlanguage{french}
  \selectlanguage{english}

  \part{My Part}
\end{document}

Resultará en:

No muestra el número de pieza

Si uso solo un idioma, no tengo ningún problema:

\documentclass{book}

\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{french}

\begin{document}
  % \selectlanguage{french}
  \selectlanguage{english}

  \part{My Part}
\end{document}

Mostrando el número de pieza

Los capítulos y secciones funcionan bien en cualquier caso.

Respuesta1

El frenchlenguaje se redefine \thepartpara no emitir nada, porque quiere “Première partie”. Entonces, si cambia al francés, el comando se redefine, pero cambiar al inglés no lo vuelve a definir.

\documentclass{book}

\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{french}

\makeatletter
\let\latex@thepart\thepart
\appto\noextras@french{\let\thepart\latex@thepart}
\makeatother

\begin{document}

\selectlanguage{french}
\selectlanguage{english}

\part{My Part}

\end{document}

Guarde el comando original \theparty restáurelo cuando el idioma cambie del francés a otro.

información relacionada