隐藏使用 todonotes 创建的待办事项

隐藏使用 todonotes 创建的待办事项

我目前正在处理一份文档,需要在草稿版本中标明要完成的任务,并且希望制作一个隐藏待办事项的最终版本。该todonotes软件包提供了一个disable选项,可以实现这一点;它确实删除了使用该\todo命令定义的待办事项,但它在我的自定义命令上失败了,例如:

\newcommand{\minortodo}[2][]{\todo[color=green, #1]{#2}}

使用时,最终 PDF 的输出\minortodo[inline]{change this to that}正是[inline]change this to that。我该如何告诉todonotes也隐藏这些实例?(注意:删除内联并不能解决问题)。

编辑:以下最小工作示例(感谢您的建议)表明问题有另一个根源;这按预期工作(即次要待办事项也消失了):

\documentclass{book}
\usepackage[disable]{todonotes}   
\newcommand{\minortodo}[2][]{\todo[color=magenta, #1]{#2}}
\begin{document}
    Here's some text.
    \todo[inline]{this todo goes away}
    \minortodo[inline]{this one too}
\end{document}

在我的实际文档中,我使用了book类并加载了以下包,但将它们添加到 MWE 仍然没有问题。我的文档的实际来源是一个用 pandoc 处理的 markdown 文件,没有我自己的模板,所以我想我必须研究一下 pandoc 插入了什么导致这种行为。

\usepackage{minitoc}\dominitoc  
\usepackage{dot2texi}           
\usepackage{tikz}
\usetikzlibrary{matrix}
\usetikzlibrary{shapes,arrows}  
\usepackage{fancyvrb}           
\usepackage{tabulary}           
\usepackage{todonotes}          
\usepackage{varwidth}

答案1

我使用中的缺点sed是,不是todonotespandoc。万一它可能会有用:我以为以下命令会替换\usepackage{todonotes}\usepackage[disable]{todonotes},但grep结果却告诉我我错了:

$ sed s/\\usepackage{todonotes}/\\usepackage[disable]{todonotes}/ draftdoc.tex | grep todonotes
\Sepackage[disable]{todonotes}

因此,\todo命令未定义(我仍然不明白它们是如何被隐藏的,而次要待办事项却没有被隐藏)。这产生了正确的结果(请注意附加的引号):

$ sed 's/\\usepackage{todonotes}/\\usepackage[disable]{todonotes}/' draftdoc.tex | grep todonotes
\usepackage[disable]{todonotes}

相关内容