我正在使用 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 代码。因此,我将尝试以最简单的方式解释如何重现错误:
- 在驱动器上找到已安装的
classicthesis
软件包并复制整个文件夹,或者从项目的 Google Code 网站并将其解压到其自己的文件夹中。 - 打开 Classicthesis.tex 并添加
\usepackage{todonotes}
到序言中(我刚刚添加了它,\begin{document}
所以它是最后加载的包) - 在文本的任意位置添加
\todo{some text}
以产生边注 - [可选] 添加某处
\todo[inline]{this is inline note}
- 使用以下方式编译
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