% comment out to define %\def\CompileTikZFigures{} \documentclass{article} \usepackage{xspace} \usepackage{tikz} \ifx\CompileTikZFigures\undefined \usetikzlibrary{external} \tikzexternalize[prefix=pics/tikz/] \fi \usepackage{todonotes} \ifx\CompileTikZFigures\undefined \makeatletter \renewcommand{\todo}[2][]{% \tikzexternaldisable% \@bsphack\@todo[#1]{#2}\@esphack\ignorespaces% \tikzexternalenable% \xspace% } \makeatother \else \makeatletter \renewcommand{\todo}[2][]{% \@bsphack\@todo[#1]{#2}\@esphack\ignorespaces\xspace% } \makeatother \fi \begin{document} Example by Marek Rjelka. \verb+\CompileTikZFigures+ is \ifx\CompileTikZFigures\undefined% un% \fi% defined. \bigskip Here goes some\todo{a comment} text. \end{document}