나는 index
및 babel
패키지를 모두 사용합니다. 둘 다 \markboth
및 를 재정의합니다 \markright
. babel
before 를 포함하면 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
두 줄을 바꾸면 경고가 표시되지 않습니다. 그러나 어느 쪽이든 마지막에 로드된 명령에서 이러한 명령의 정의를 얻습니다.index
babel
내 목표는 두 가지입니다. 경고를 제거하고 싶고(실행할 수 없는 경고가 실행 가능한 경고를 압도하기 때문입니다), 어느 쪽이든 내가 놓치고 있는 것이 무엇인지 이해하고 싶습니다(지금까지 어떤 문제도 발견하지 못했지만 뭔가 누락되었거나 나중에 문서를 더 작성할 때 예상치 못한 문제에 부딪힐 수도 있습니다. 아마도 두 패키지 모두 이러한 명령을 재정의한다면 그럴 만한 이유가 있을 것입니다.
babel
이전 또는 이후에 포함해야 합니까 index
? 이전에 경고를 제거하려면 어떻게 해야 합니까?
과 가 모두 올바르게 작동하는지 babel
확인 하기 위해 내가 할 수 있거나 해야 할 일이 있습니까 ? index
어떤 문제를 찾아야 합니까?
답변1
2023년 편집
그 동안 LaTeX 커널은 \markboth
및 \markright
명령을 변경했습니다(확장 표시 옵션을 지원하기 위해). 즉, 바벨이 있든 없든, 로딩 순서에 관계없이 어떤 경우에도 index.sty 검사가 실패한다는 의미입니다.
패키지를 조정하지 않으면 경고를 피할 수 없습니다.
이전 답변
index
로드 하기 전에 로드 babel
하면 바벨의 재정의 index
와 언어 추가가 babel
정의를 저장한 \org@markboth
다음 사용하게 됩니다.