![列出所有宏调用](https://linux22.com/image/286237/%E5%88%97%E5%87%BA%E6%89%80%E6%9C%89%E5%AE%8F%E8%B0%83%E7%94%A8.png)
假设我有一个大文档,其中整个文档使用了多个宏,比如\AAA
,等等。\BBB
有没有办法让我在最终的 PDF 中列出所有这些宏?\AAA
例如,我想在开头重复所有调用,以便在编写文档时快速浏览它们。
一个可选功能将使用 hyperref 单击\AAA
列表之一以直接转到实际使用宏的 pdf 页面。
答案1
\hypertarget
您可以在每次调用 时放置一个\AAA
,其中名称使用计数器。之后您可以通过 引用它\hyperlink
。
示例中的\AAA No. 1
等是可点击的链接。
\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}