
Estou trabalhando em um book
documento com xelatex
. O documento está dividido em parts
, e ocasionalmente tenho necessidade de alternar entre dois idiomas.
Descobri que quando meu documento contém mais de um idioma, o part
número não é mais exibido:
\documentclass{book}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{french}
\begin{document}
\selectlanguage{french}
\selectlanguage{english}
\part{My Part}
\end{document}
Vai resultar em:
Se eu usar apenas um idioma, não terei nenhum problema:
\documentclass{book}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{french}
\begin{document}
% \selectlanguage{french}
\selectlanguage{english}
\part{My Part}
\end{document}
Capítulos e seções funcionam bem em qualquer caso.
Responder1
A french
linguagem se redefine \thepart
para não emitir nada, porque quer “Première partie”. Portanto, se você mudar para o francês, o comando será redefinido, mas mudar para o inglês não o definirá novamente.
\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}
Salve o comando original \thepart
e restaure-o quando o idioma mudar do francês para outro.