Как мне сгенерировать список-Foos/индекс-Foos для foo, не относящегося к среде

Как мне сгенерировать список-Foos/индекс-Foos для foo, не относящегося к среде

В своем документе я говорю о 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.

Связанный контент