
Я работаю над book
документом с xelatex
. Документ разделен на parts
, и мне иногда приходится переключаться между двумя языками.
Я обнаружил, что когда мой документ содержит более одного языка, номер part
больше не отображается:
\documentclass{book}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{french}
\begin{document}
\selectlanguage{french}
\selectlanguage{english}
\part{My Part}
\end{document}
Результатом станет:
Если я использую только один язык, у меня не возникает никаких проблем:
\documentclass{book}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{french}
\begin{document}
% \selectlanguage{french}
\selectlanguage{english}
\part{My Part}
\end{document}
Главы и разделы работают хорошо в любом случае.
решение1
Язык french
переопределяет, \thepart
чтобы ничего не выдать, потому что он хочет «Première partie». Так что если вы переключаетесь на французский, команда переопределяется, но переключение на английский не определяет ее обратно.
\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}
Сохраните исходную \thepart
команду и восстановите ее при переключении языка с французского на другой.