babel e index redefinem \markboth e \markright

babel e index redefinem \markboth e \markright

Eu uso os pacotes indexe babel. Ambos redefinem \markbothe \markright. Se eu incluir babelbefore index, o indexpacote me avisa sobre a dupla redefinição. Código:

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

Extraia da saída do 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) )

Se eu trocar as duas \usepackagelinhas para que indexsejam carregadas antes babel, não haverá aviso. Mas de qualquer forma, estou obtendo a definição desses comandos do que for carregado por último.

Meu objetivo é duplo: quero me livrar do aviso (porque os avisos não acionáveis ​​abafam os acionáveis) e quero entender o que estou perdendo de qualquer maneira (não detectei nenhum problema até agora, mas poderia estar faltando alguma coisa ou ter problemas inesperados mais tarde, enquanto escrevo mais do documento). Presumivelmente, se ambos os pacotes redefinirem esses comandos, eles terão um bom motivo.

Devo incluir babelantes ou depois index? Se antes, como faço para me livrar do aviso?

Há algo que eu possa/devo fazer para garantir que ambos babelestejam indexfuncionando corretamente? Que problemas devo procurar?

Responder1

Editar 2023

Enquanto isso, o kernel do LaTeX mudou o comando \markbothand \markright(para suportar opções de marca estendida). Isso significa que a verificação de index.sty falha em qualquer caso, com e sem babel e também independentemente da ordem de carregamento.

O aviso não pode ser evitado a menos que a embalagem seja adaptada.

Resposta antiga

Carregue indexantes de babelobter ambos: a redefinição indexe as adições de linguagem de babelcomo babel armazenarão a definição \org@markbothe depois a usarão.

informação relacionada