多言語で複数の言語を使用するとパーツが機能しない

多言語で複数の言語を使用するとパーツが機能しない

私はbookで文書を作成していますxelatex。文書は に分かれておりparts、2 つの言語を切り替える必要が時々生じます。

ドキュメントに複数の言語が含まれている場合、番号partが表示されなくなることがわかりました。

\documentclass{book}

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

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

  \part{My Part}
\end{document}

結果は次のようになります:

部品番号が表示されない

1 つの言語だけを使用する場合、問題は発生しません。

\documentclass{book}

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

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

  \part{My Part}
\end{document}

部品番号の表示

章とセクションは、いずれの場合でもうまく機能します。

答え1

言語は「Première partie」が必要なため、何も発行しないようにfrench再定義します\thepart。したがって、フランス語に切り替えるとコマンドは再定義されますが、英語に切り替えても定義は戻りません。

\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コマンドを保存し、言語がフランス語から別の言語に切り替わったときに復元します。

関連情報