ctex でタイトルを翻訳する

ctex でタイトルを翻訳する

私の理解する限りでは、ctexパッケージをロードする方法は 2 つあります。ドキュメント クラスとして (つまり )、\documentclass{ctexbook}またはパッケージとして (つまり\usepackage{ctex}) です。別のドキュメント クラスを使用しているため、後者を選択しました。ただし、これはドキュメント全体のタイトルに英語が使用されることを意味します (例: 目次、用語集)。

を使用してドキュメントの一部のタイトルの名前を変更しようとすると\CTEXoptions、常に失敗します。例:

\documentclass{book}
\usepackage{ctex}
\usepackage{xeCJK}
\usepackage{fontspec}
\CTEXoptions[contentsname={目录名}]
\begin{document}
    \tableofcontents
    \chapter{This is a chapter title}
\end{document}

これはコンパイルに失敗します:

! Package xkeyval Error: `contentsname' undefined in families `CTEX'.

See the xkeyval package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                              
l.6 \CTEXoptions[contentsname={目录名}]
  • ドキュメント内でこれらの項目の名前を適切に設定するにはどうすればよいですか?

コンテンツ名 目次

listfigurename テーブルリスト

listtablename テーブルリスト

図形名 図

tablename 表

abstractname 摘要

インデックス名 索引

bibname 参考文献

答え1

ctexcapの代わりにパッケージをロードしますctex。これにより、質問で言及した文字列が自動的に再定義されます。コマンド\CTEXoptions[contentsname={目录名}]も機能するようになります。

P/S: 目录名は間違っていませんか?

答え2

これはLianTze Limさんの回答に対する長いコメントです。

  • ctexcap他のドキュメント クラスのパッケージをロードします。しかし、ctexcap標準に基づいたドキュメントクラスのみをロードする必要がありますarticlereportbookたとえば、とctexcapを一緒に使用できますが、や と一緒に使用しないでください。 実際にははほとんど使用されません。 (編集: まあ、それは問題ではありません)extarticleltxdocctexcapbeamerscrartclmoderncvctexcap

  • バンドルを使用する場合、明示的にxeCJKand を使用する必要はありません。fontspecctex

  • 目录名であるべきです目录

  • このような質問は、CTeXフォーラム

関連情報