跟踪所有命令的使用位置

跟踪所有命令的使用位置

我目前正在合作撰写论文,所以我需要处理一份我们所有人共享的 tex 手稿。问题是,由于论文很长,我很容易忽略我的合作者发表评论的地方。目前,我们正在使用或多或少传统的方式来做到这一点:(让合著者成为“X”)

\newcommand{\commentA}[1]{{\color{red} #1 --A}}

为我们完成这项工作。我是否可以在文档开头的某个地方创建一个列表,以追踪使用新定义的命令 \commentA 的所有位置?

答案1

我不确定这有多大用处,但你可以\commentA在日志文件中列出出现的行号(或任何类似定义的命令)。

\documentclass{article}
\usepackage{xcolor}

\makeatletter
\newcommand{\roytrace}[1]{%
  \immediate\write\@auxout{\string\roy@trace{#1}{\the\inputlineno}}%
}
\newcommand\roy@trace[2]{}
\AtEndDocument{%
  \renewcommand\roy@trace[2]{\typeout{\expandafter\string\csname #1\endcsname\space used at line #2}}%
}


\newcommand{\commentA}[1]{\roytrace{commentA}\textcolor{red}{#1 --A}}

\begin{document}

Something

Something \commentA{else}

Again

Again \commentA{What?}

\end{document}

请注意,这需要通常的两次传递过程。

控制台将显示

(./royhan.aux
\commentA used at line 20
\commentA used at line 24
)

没有什么是无法通过搜索源头获得的东西。

相关内容