我正在尝试编译哈佛论文模板,就像它来自 这里。我已经安装了所有软件包,并按照自述文件中的说明进行操作,包括使用 xelatex 进行编译。但是我不断收到以下错误:
! Package keyval Error: figurewithin undefined.
See the keyval package documentation for explanation.
Type H <return> for immediate help.
...
l.448 \ProcessOptionsWithKV{caption}
Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
! Package keyval Error: tablewithin undefined.
See the keyval package documentation for explanation.
Type H <return> for immediate help.
...
l.448 \ProcessOptionsWithKV{caption}
Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
看来 keyval 和 caption 包之间存在冲突,尽管出现此错误,但仍会生成 pdf 文件。我在 ubuntu 12.10 上使用 texlive 2012。我对 LaTex 还不太熟悉,不知道发生了什么,而且我在论坛上也没有找到任何东西。我希望有人能向我解释一下。非常感谢。
另一件事是我在运行时遇到完全相同的错误
latex caption.dtx
该文件可获取这里。
答案1
\ProcessOptionsWithKV
自 2007/01/30 起将不再被该软件包使用(这肯定比 TeXlive 2012 旧得多),因此我认为您的软件包caption
中存在新旧软件包的奇怪混合。caption
请仔细查看生成的日志文件,了解不同部分来自何处。所有caption
相关包都应从(相同)TeXlive 目录加载,并且应具有相似的年龄。以下是一个例子,它应该如何不是是caption.sty
从 TeXlive 目录加载的,而是caption3.sty
从当前文档文件夹加载的:
(/usr/local/texlive/2013/texmf-dist/tex/latex/caption/caption.sty
Package: caption 2013/05/02 v3.3-89 Customizing captions (AR)
(./caption3.sty
Package: caption3 2013/06/17 v1.7-96 caption3 kernel (AR)
顺便说一句:文件内的https://github.com/suchow/LaTeX-template-for-Harvard-dissertation/tree/master/packages已经非常过时,甚至包括早已过时的版本(如subfigure
)。因此请避免使用这些软件包版本。