
В настоящее время я работаю над документом, в котором мне нужно указать, что нужно сделать в черновой версии, и я хотел бы создать окончательную версию, в которой todos скрыты. В todonotes
пакете есть disable
опция, которая должна этого добиться; она удаляет todos, определенные с помощью команды \todo
, но она не срабатывает на моих пользовательских командах, таких как эта:
\newcommand{\minortodo}[2][]{\todo[color=green, #1]{#2}}
Окончательный вывод PDF при использовании \minortodo[inline]{change this to that}
— это именно [inline]change this to that
. Как мне указать todonotes
скрыть и эти экземпляры? (примечание: удаление inline не решает проблему).
РЕДАКТИРОВАТЬ: следующий минимальный рабочий пример (спасибо за предложение) предполагает, что проблема имеет другое происхождение; это работает так, как и ожидалось (т.е. мелкие задачи тоже исчезают):
\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 по-прежнему не вызывает проблем. Фактический источник моего документа — это файл markdown, обработанный pandoc без моего собственного шаблона, поэтому, полагаю, мне придется посмотреть, что pandoc вставляет, что приводит к такому поведению.
\usepackage{minitoc}\dominitoc
\usepackage{dot2texi}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usetikzlibrary{shapes,arrows}
\usepackage{fancyvrb}
\usepackage{tabulary}
\usepackage{todonotes}
\usepackage{varwidth}
решение1
sed
Виноваты мои недостатки в использовании , а не todonotes
или pandoc
. На всякий случай: я думал, что следующая команда заменит \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}