Listar todas as chamadas de macro

Listar todas as chamadas de macro

Suponha que eu tenha um documento grande que usa várias macros, digamos \AAA, \BBB, etc., em todo o documento.

Existe uma maneira de ter uma lista de todas essas macros no PDF final? Quero repetir todas as \AAAchamadas do início, por exemplo, para dar uma olhada rápida nelas enquanto escrevo o documento.

Um recurso opcional usaria o hyperref para clicar em uma \AAAlista para ir diretamente para a página do PDF onde a macro é realmente usada.

Responder1

Você poderia colocar um \hypertargetem cada chamada de \AAA, onde o nome usa um contador. Depois você pode referenciá-lo por \hyperlink.

No exemplo \AAA No. 1, etc. são links clicáveis.

\documentclass{article}
\pagestyle{empty}% for cropping
\usepackage{pgffor,hyperref}
\newcount\countAAA
\countAAA=0
\newcommand*\AAA{%
    \advance\countAAA by 1%
    \hypertarget{AAA\the\countAAA}{}%
    AAA% your replacement text goes here
}
\newcommand\blindtext{\par\noindent Lorem ipsum dolor sit amet \par\noindent}
\begin{document}
\section{Some text with \texttt{\string\AAA} macros}
\blindtext
\AAA
\blindtext
\AAA
\blindtext
\AAA
\blindtext
\AAA
\section{List of \texttt{\string\AAA} calls}
There are \the\countAAA\ calls of \texttt{\string\AAA} throughout the document.

\foreach \i in {1,...,\the\countAAA} {
    \hyperlink{AAA\i}{\texttt{\string\AAA} No.\ \i}
}
\end{document}

insira a descrição da imagem aqui

informação relacionada