![在最后收集文档中使用的所有 \TODO 命令的输入](https://linux22.com/image/265652/%E5%9C%A8%E6%9C%80%E5%90%8E%E6%94%B6%E9%9B%86%E6%96%87%E6%A1%A3%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E6%89%80%E6%9C%89%20%5CTODO%20%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%85%A5.png)
我有一个命令\TODO
(和\FIXME
)可以在文档中显示审阅注释。我还想在文档末尾收集所有这些注释,就像图片列表一样。
有没有简单的方法可以用注释和页码来实现这一点?列出章节也可以获得额外加分。
答案1
托克洛夫特
您可以使用以下方式定义新列表tocloft
包裹。
例如:
\newlistof{todo}{lotd}{TODO List}
然后,在您的 TODO 命令中:
\newcommand*{\TODO}{%
\refstepcounter{todo}
\addcontentsline{lotd}{todo}{TODO \thetodo}
% Your TODO command
}
最后,在文档的最后,你可以运行:
\listoftodo
打印类似于目录或图表列表的待办事项表。更多信息请参阅文档tocloft
。
待办事项
正如其他人所建议的那样,todonotes
包看起来也不错。它的工作方式类似,你可以使用以下命令插入列表:
\listoftodos
该问题已被标记为社区维基,以防我错过其他类似的软件包。
答案2
如您所见,我在文本本身中标记了待办事项。如果您不想打乱格式,可以删除该功能,但这样可能很难在原始文档中找到待办事项。(已编辑以删除虚假空格)
\documentclass{article}
\usepackage{ifthen}
\newcounter{todoindex}
\setcounter{todoindex}{0}
\newcommand\TODO[1]{%
\addtocounter{todoindex}{1}%
\expandafter\def\csname todo\roman{todoindex}\endcsname{#1}%
(TODO \arabic{todoindex})%
}
\newcounter{index}
\newcommand\showTODOs{%
\vspace{5ex}%
\rule{10ex}{.5ex}TO-DO LIST\rule{10ex}{.5ex}\\%
\setcounter{index}{0}%
\whiledo{\value{index} < \value{todoindex}}{%
\addtocounter{index}{1}%
\arabic{index}): \csname todo\roman{index}\endcsname\\%
}%
}
\begin{document}
I start hear \TODO{Fix this bug} and do some work
THen I do thiis \TODO{Get spelling fixed, too} which I have to get back
to
and then I am done
\showTODOs
\end{document}