index
私は との両方のbabel
パッケージを使用しています。どちらも と を再定義します\markboth
。before\markright
を含めると、パッケージは二重の再定義について警告します。コード:babel
index
index
\documentclass{article}
\usepackage[english]{babel}
\usepackage{index}
\begin{document}
\end{document}
TeX出力からの抜粋:
(/usr/share/texlive/texmf-dist/tex/latex/index/index.sty
LaTeX Warning: Command \markboth has changed.
Check if current package is valid.
LaTeX Warning: Command \markright has changed.
Check if current package is valid.
) (./a.aux) (./a.aux) )
が前にロードされる\usepackage
ように2 行を入れ替えると、警告は表示されません。ただし、どちらの場合でも、最後にロードされた方からこれらのコマンドの定義が取得されます。index
babel
私の目的は 2 つあります。1 つは警告をなくしたい (対処不可能な警告が対処可能な警告をかき消すため)、もう 1 つはどちらにしても失うものを把握したい (今のところ問題は見つかっていませんが、何か見落としている可能性があります。あるいは、後でドキュメントを書き進めていくうちに予期しない問題に遭遇するかもしれません)。おそらく、両方のパッケージがこれらのコマンドを再定義するのであれば、それには十分な理由があるはずです。
babel
before と after のどちらを含めるべきですかindex
? before の場合、警告を消すにはどうすればよいですか?
babel
との両方が正しく動作していることを確認するためにできること/すべきことはありますかindex
? どのような問題に注意すればよいですか?
答え1
編集 2023
その間に、LaTeX カーネルは\markboth
and\markright
コマンドを変更しました (拡張マーク オプションをサポートするため)。つまり、index.sty からのチェックは、babel の有無にかかわらず、また読み込み順序に関係なく、いずれの場合でも失敗します。
パッケージを適応させない限り警告は回避できません。
古い回答
ロードするindex
前にbabel
、 からの再定義index
と からの言語追加の両方を取得します。Babelbabel
は に定義を保存して\org@markboth
使用します。