В своем документе я говорю о Foo разными способами: иногда через среду определения; иногда просто упоминая их в строке; иногда другими способами. Что такое Foo? Неважно. Может быть, это определенный макрос/команда; может быть, это что-то совершенно абстрактное (к чему я мог бы теоретически добавить фантомный маркер, если необходимо).
Как мне создать «Список Foos» или «Индекс Foos» с идентификаторами Foos и страницами, на которых они находятся?
решение1
Вот пример, дающий вам listOfFoos
:
% arara: pdflatex
% arara: pdflatex
\documentclass{article}
\newcommand{\foo}[1]{#1%
\addcontentsline{new}{subsection}{#1}}
\makeatletter
\newcommand{\listOfFoos}{\section*{List of foos}\@starttoc{new}}
\begin{document}
\listOfFoos
\foo{Dave}
\foo{Nate}
\foo{Pat}
\foo{Taylor}
\foo{Chris}
\foo{Rami}
\end{document}
и вот пример использованияimakeidx
% arara: pdflatex: {shell: on}
\documentclass{article}
\usepackage[splitindex]{imakeidx}
% index stuff
\makeindex
\makeindex[name=myindex,title=index of foos]
\newcommand{\foo}[1]{#1%
\index[myindex]{#1}}
\begin{document}
\foo{Dave}
\foo{Nate}
\foo{Pat}
\foo{Taylor}
\foo{Chris}
\foo{Rami}
\printindex[myindex]
\end{document}
Обратите внимание, что в случае imakeidx
вам нужно будет использовать shell-escape
.