
저는 현재 초안 버전에서 수행할 작업을 표시해야 하는 문서를 작업 중이며, 할 일이 숨겨진 최종 버전을 제작하고 싶습니다. 패키지 에는 이를 달성하기 위한 옵션이 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로 처리된 마크다운 파일이므로 이 동작을 생성하는 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}