環境外の foo に対して、Foos のリスト/Foos のインデックスを生成するにはどうすればよいでしょうか。

環境外の foo に対して、Foos のリスト/Foos のインデックスを生成するにはどうすればよいでしょうか。

私のドキュメントでは、Foo についてさまざまな方法で説明しています。定義環境を通じて説明したり、インラインで単に言及したり、その他の方法で説明したりしています。Foo とは何でしょうか? 気にしないでください。特定のマクロ/コマンドかもしれませんし、完全に抽象的なものかもしれません (理論的には、必要に応じてファントム マーカーを追加できます)。

Foo の識別子とそれらが含まれるページを含む「Foo のリスト」または「Foo のインデックス」を生成するにはどうすればよいでしょうか?

答え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

関連情報