有没有什么工具可以让我分析/查看/显示宏依赖关系?
要明确的是:之后
\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}