암호:
\documentclass{article}
\usepackage{index}
\usepackage{lipsum}
\makeindex
\begin{document}
\section{\index*{Hello World}}
Hello World
Some text about \index*{foo}.
\lipsum[1-15]
Hello World.
\printindex
\end{document}
출력(색인):
foo, 1 Hello World, 1
문제 설명: "Hello World"의 다른 항목은 인덱스에서 누락되었습니다.
\index{} 태그 아래에 다른 "Hello World" 항목은 포함하지 않았습니다.
그러나 나는 이런 식으로 색인에 키워드를 선언했다고 기대합니다.
LaTeX는 "Hello World" 자체에 대한 향후 참조를 처리해야 합니다.
\index{}를 사용하여 키워드를 지정하면 (tcl 스크립트를 사용하지 않고) 이 단어가 다음에 나오는 경우(다른 페이지에 있는 경우) 자동으로 색인에 입력되는 방법이 있습니까?
답변1
나는 바바라의 반대에 전적으로 동의한다. 나 역시 중요한 용어를 자동으로 색인화하는 아이디어를 갖고 간단한 스크립트를 작성했습니다. 물론 같은 일은 index all occurrences of “beautiful necklace”
하기 쉽습니다. beautiful necklace
선택한 색인화 및 강조 표시 매크로가 포함된 검색 및 바꾸기 후처리 스크립트만 있으면 됩니다 .
반면에 그 자체로 수행하는 것은 거의 불가능합니다. 예 를 들어 의 능력이 TeX
무엇을 제공하는지 모르겠습니다 . 그러나 어쨌든 적어도 컴파일러를 사용하여 코드를 LuaTeX
후처리하게 됩니다 (예 : 종종 더 많은 단계가 필요함). 그래서 그 사이에 다른 스크립트를 사용하는 것이 나에게는 간단해 보입니다.TeX
pdflatex
이제 barbara가 언급한 것처럼 모든 위치에서 교체가 발생하는 것을 원하지 않는 경우가 있을 수 있습니다. 이를 파악하는 것은 다소 복잡해질 수 있으며 자동으로 해결되지 않을 수도 있습니다.
더 큰 장애물은 색인된 용어가 문서에 균일하게 표시되지 않는 경우가 많다는 것입니다. 예를 들어, 어딘가에서 a에 대해 이야기 beautiful necklace
하고 나중에 여기서는 을 참조하여 색인만 This necklace is golden, which makes it very beautiful.
작성하겠습니다 라고 말할 수 있습니다 . 이러한 인스턴스를 감지하려면 자연어를 이해하는 것만큼 어렵습니다.beautiful
beautiful necklace
내 경험상 색인된 용어는주로일부 변형된 형태로 나타납니다. 이것이 바로 이 사실을 무시하고 실행 가능한 가장 간단한 해결책이 아무 소용이 없는 이유입니다.