透過多語言使用多種語言時,部分功能不起作用

透過多語言使用多種語言時,部分功能不起作用

我正在處理一個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 party”。因此,如果您切換到法語,則該命令將重新定義,但切換到英語不會重新定義它。

\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命令並在語言從法語切換到另一種語言時恢復它。

相關內容