Код:
\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}
Вывод (индекс):
фу, 1 Привет, мир, 1
Постановка задачи: Другие упоминания «Hello World» в индексе пропущены.
Я не включил другие вхождения «Hello World» в тег \index{}.
Но я ожидаю, что таким образом я объявил ключевое слово для индекса.
LaTeX должен сам позаботиться о будущих ссылках на «Hello World».
Есть ли способ (без использования скрипта TCL), чтобы после указания ключевого слова с помощью \index{} все последующие вхождения этого слова (если они находятся на другой странице) автоматически заносились в индекс?
решение1
Я полностью согласен с возражением Барбары. У меня тоже была идея автоматически индексировать важные термины, и я написал простой скрипт. Конечно, такие вещи index all occurrences of “beautiful necklace”
легко сделать. Вам нужен только скрипт постобработки поиска и замены, который включает в себя beautiful necklace
макросы индексации и подсветки по вашему выбору.
TeX
С другой стороны, сделать это само по себе почти невозможно, хотя я не знаю, какие LuaTeX
возможности предоставляет eg. Но в конце концов, вы в любом случае постобрабатываете свой TeX
код, по крайней мере, с помощью своего компилятора (eg pdflatex
, часто требуется больше шагов). Поэтому мне кажется прямолинейным использовать другой скрипт между ними.
Теперь, как заметила Барбара, могут быть случаи, когда вы не хотите, чтобы замена происходила во всех местах. Выяснение этих моментов может быть довольно сложным и даже не решаемым автоматически.
Еще большим препятствием является то, что часто эти индексированные термины не представлены единообразно в документе. Например, вы можете где-то говорить о а beautiful necklace
и позже сказать This necklace is golden, which makes it very beautiful.
Здесь я бы индексировал beautiful
только, ссылаясь на beautiful necklace
. Обнаружение таких случаев требует и, таким образом, так же сложно, как и понимание естественного языка.
По моему опыту, индексированные термины непо большей частипоявляются в какой-то измененной форме. Вот почему самое простое решение, которое игнорирует этот факт и было бы осуществимым, бесполезно.