我在用包裹todonotes
并有三个要求,前两个是 MWE 已经满足的:
todo
在单独的辅助文件中获取注释列表。这可以通过\listoftodos
下面引用的类似名称的问题轻松获得。- 让其
\todo
出现在文档中——也有效。 - 什么是不是仍在工作:我愿意不是希望列表
todo
出现在此文档的标题中。
下面的 MWE 生成(两次运行后):
正确的结果应该只有todo
黄色和粉色的两条纸条,并且.tdo
文件需要比.tex文件更新
笔记:
- 没有自动测试 MWE 按原样运行的情况,然后在第二次运行时将其
\listoftodos
注释掉——这似乎会产生所需的结果,因为.tdo
存在较旧的文件。但是,我更喜欢在第一次编译时产生正确结果的解决方案。
背景:
- 我有许多小文件,每个文件中都有待办事项列表,但这并不是很有用。我的计划是对所有单独的
todo
辅助文件进行后期处理,以获得一个包含所有注释todo
以及创建这些注释的文件链接的文档。
参考:
代码:
\documentclass{article}
\usepackage[colorinlistoftodos]{todonotes}%
\begin{document}
\listoftodos% Want the temporary file generated
\bigskip
\todo[inline,color=yellow,caption={Fix me}]{There should be no text above this line (as if listoftodos was commented).}
\IfFileExists{\jobname.tdo}{%
% Yeah, we have the temporary file
\todo[inline,color=red!20]{Temporary .todo file exist.
But need to ensure that it was not left over from a previous run...}
}{%
\todo[inline,color=red]{Failed: No .todo file...}
}
\end{document}
答案1
您只是想要\@starttoc
没有文件输入:
\documentclass{article}
\usepackage[colorinlistoftodos]{todonotes}%
\makeatletter
\newwrite\tf@tdo
\immediate\openout\tf@tdo\jobname.tdo\relax
\makeatother
\begin{document}
\bigskip
\todo[inline,color=yellow,caption={Fix me}]{There should be no text above this line (as if listoftodos was commented).}
\IfFileExists{\jobname.tdo}{%
% Yeah, we have the temporary file
\todo[inline,color=red!20]{Temporary .todo file exist.
But need to ensure that it was not left over from a previous run...}
}{%
\todo[inline,color=red]{Failed: No .todo file...}
}
\end{document}