babel und index definieren beide \markboth und \markright neu

babel und index definieren beide \markboth und \markright neu

Ich verwende sowohl das indexals auch babeldas Paket. Beide definieren \markbothund neu \markright. Wenn ich babelvor einschließe index, indexwarnt mich das Paket vor der doppelten Neudefinition. Code:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{index}
\begin{document}
\end{document}

Auszug aus der TeX-Ausgabe:

(/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) )

Wenn ich die beiden Zeilen vertausche, \usepackagesodass indexzuerst geladen wird babel, gibt es keine Warnung. Aber so oder so erhalte ich die Definition dieser Befehle von der Zeile, die zuletzt geladen wurde.

Ich habe zwei Ziele: Ich möchte die Warnung loswerden (weil nicht umsetzbare Warnungen die umsetzbaren übertönen) und ich möchte verstehen, was ich auf jeden Fall verliere (ich habe bisher kein Problem entdeckt, aber ich könnte etwas übersehen oder später auf unerwartete Probleme stoßen, wenn ich weiter am Dokument schreibe). Wenn beide Pakete diese Befehle neu definieren, haben sie vermutlich einen guten Grund dafür.

babelSoll ich „vorher“ oder „nachher“ einfügen index? Wenn „vorher“, wie werde ich die Warnung los?

Kann/sollte ich irgendetwas tun, um sicherzustellen, dass beide babelordnungsgemäß indexfunktionieren? Auf welche Probleme sollte ich achten?

Antwort1

Bearbeiten 2023

Mittlerweile hat der LaTeX-Kernel den \markbothand- \markrightBefehl geändert (um erweiterte Markierungsoptionen zu unterstützen). Das bedeutet, dass die Prüfung von index.sty in jedem Fall fehlschlägt, mit und ohne Babel und auch unabhängig von der Ladereihenfolge.

Die Warnung lässt sich nicht vermeiden, sofern das Paket nicht angepasst wird.

Alte Antwort

Laden Sie indexvor, babelSie erhalten dann beides: die Neudefinition von indexund die Sprachergänzungen von, babelda Babel die Definition darin speichert \org@markbothund sie dann verwendet.

verwandte Informationen