创建宏交叉引用

创建宏交叉引用

有没有什么工具可以让我分析/查看/显示宏依赖关系?

要明确的是:之后

\def\a{\b\c}
\def\b{\x\c}

我希望能够以最佳方式显示\a使用\b\c的以及\b使用\x和的\c。让我非常高兴的是:该工具还应该告诉我\a在文件 X 的 Y 行中定义的...

答案1

稍微修改一下我对你的其他相关问题的回答,问:循环遍历宏主体中的所有标记

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\let\enddependency\relax
\let\test\relax
\newcommand\dependency[1]{The macro \string#1 contains these dependencies:%
  \expandafter\dependencyaux#1\enddependency\par}
\def\dependencyaux#1#2\enddependency{%
  \ifcat\relax\noexpand#1 \string#1\fi
  \ifx\enddependency#2\else\dependencyaux#2\enddependency\fi%
}
\begin{document}
\def\a{ blah \b de-blah-blah \c}
\def\b{\x{\c}}
\dependency{\a}
\dependency{\b}
\end{document}

在此处输入图片描述

相关内容