隱藏使用 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}

相關內容