Todonotes 生成双行注释而不是单行边距注释(使用 classicthesis 3.0)

Todonotes 生成双行注释而不是单行边距注释(使用 classicthesis 3.0)

我正在使用 style/package 撰写我的博士论文classicthesis。几天前我还在使用 Ubuntu 11.04 存储库中的 TeXLive 2009。升级到 Ubuntu 11.10 后,我决定安装“原始”TexLive 2011。安装很顺利,完成后,我用 升级了所有内容sudo tlmgr upgrade --self --all。然后我重新编译了我的文件,在前言中进行了一些调整(新版本的classicthesis,即 v.3.0 需要)后,编译成功。到目前为止,除了这一点之外,一切都运行良好:我todonotes在文档中使用,它在我以前的设置中运行良好,但现在,升级后,我的所有注释都显示为内联注释,并且相同的注释重复了两次!另一方面,内联注释(即需要内联的注释,例如\todo[inline}{inline note text})似乎是正确的。

我知道我应该把 MWE 放在这里,但由于这与包有关,classicthesis我根本无法创建 MWE 代码。因此,我将尝试以最简单的方式解释如何重现错误:

  1. 在驱动器上找到已安装的classicthesis软件包并复制整个文件夹,或者从项目的 Google Code 网站并将其解压到其自己的文件夹中。
  2. 打开 Classicthesis.tex 并添加\usepackage{todonotes}到序言中(我刚刚添加了它,\begin{document}所以它是最后加载的包)
  3. 在文本的任意位置添加\todo{some text}以产生边注
  4. [可选] 添加某处\todo[inline]{this is inline note}
  5. 使用以下方式编译pdflatex

如果我这样做,我生成的文件会显示重复的(双重)边注,该边注也放置在行内(只有左括号([)出现在注释实际应该出现的边注中)。第二个行内注释按预期显示。

为什么会发生这种情况以及如何避免/纠正它?

PS:我使用Ubuntu 11.10和TexLive 2011,来自日志文件:classicthesis 2011/06/05 v3.0和todonotes 2011/10/22。

答案1

问题是由\marginpar中的 重新定义引起的classicthesis.sty\marginpar由 使用todonotes。 如果您不需要 classicthesis marginpar 样式,可以通过恢复原始含义来修复。 只需将其添加到文档序言中:

\let\marginpar\oldmarginpar

相关内容