如何在 todonotes 中设置单倍行距?

如何在 todonotes 中设置单倍行距?

问题

如何\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 

相关内容