问题
如何\renewcommand{\todo}
在双倍行距文档的 todonotes 中给出单倍行距?
我尝试过
这文档(第 11 页,第 1.8.6 节)建议这样做(使用todonotes.sty在正确的目录中),但是没有:
\documentclass[12pt]{article}
\usepackage{setspace}
\doublespacing
\usepackage[backgroundcolor=white,textsize=tiny]{todonotes}
\newcommand{\smalltodo}[2][]
{\todo[caption={#2}, #1]
{\begin{spacing}{0.5}#2\end{spacing}}}
\begin{document}
\smalltodo[inline]{testing todonotes here with single spacing}
\end{document}
给出以下错误:
Runaway argument?
{\todo [caption={##2}, ##1] {\begin {spacing}{0.5}##2\end {spacing}} \ETC.
! File ended while scanning use of \@xargdef.
但我无法找出错误所在。
一旦我让它工作起来,我可以用\newcommand{\smalltodo}
吗\renewcommand{\todo}
?
答案1
虽然我不知道为什么它不能为你编译,但这是你的第二个问题的答案:
不,您不能只使用,\renewcommend
因为这样会创建一个无限循环;每次调用都会在其中\todo
调用另一个。但是,实际上只是 的别名(显然作者认为人们可能想要重新定义它),因此您只需执行以下操作:\todo
\todo
\@todo
\makeatletter
\renewcommand{\todo}[2][]{%
\@todo[caption={#2}, #1]{\begin{spacing}{0.5}#2\end{spacing}}%
}
\makeatother