对于包含许多 TikZ 图片的较大文档,我使用 tikzexternalize 和 todonotes 包。基于这个问题我(重新)定义了一个命令,该命令会自动将待办事项注释排除在外部化之外,该命令按预期工作。但是,由于我的待办事项注释有时会跨越多行,因此我开始将注释写在单独的行中(而不是排队) 像这样
Next line will be a todo.
\todo{todo goes here}
Text goes on...
这样做会产生非常烦人的双空白,我试图在不更改 LaTeX 文档中的数千行的情况下摆脱它。
以下 MWE 指出了问题,以及它在定义时\tikzexternaldisable
以及\tikzexternalenable
在周围的样子\todo{}
\documentclass{report}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize
\usepackage{todonotes}
\makeatletter
\newcommand{\todoo}[2][]{\tikzexternaldisable\@todo[#1]{#2}\tikzexternalenable}
\makeatother
\begin{document}
\noindent
Hello Hello\newline
Hello
\todoo{wrong spacing}
Hello\newline
Hello
\tikzexternaldisable\todo{proper spacing}\tikzexternalenable
Hello\newline
\end{document}