我正在处理一份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
命令,并在语言从法语切换到另一种语言时恢复它。