我正在准备一份文件,在尝试加载一些自制的样式文件后,它开始崩溃。这显然与[texhax] 最新的 xkeyval 破坏了 pdfpages 和 fancytooltips,遗憾的是似乎没有回应。
我可以将其归结为以下最小示例(在 Ubuntu Linux 上使用 TexLive 2010):
\documentclass{article}
\usepackage{xkeyval} % comment to have compilation pass
\usepackage{pax}
\usepackage{pdfpages}
\begin{document}
Test
\includepdf[scale=1,addtotoc={1,subsection,2,My PDF Document,mypdf-doc}]{mypdf-doc.pdf}
\end{document}
当\usepackage{xkeyval}
取消注释时,则会pdflatex
失败:
! Package xkeyval Error: `scale' undefined in families `PAX@Gin'.
See the xkeyval package documentation for explanation.
Type H <return> for immediate help.
...
l.11 ...ument,mypdf-doc}]{mypdf-doc.pdf}
如果xkeyval
没有加载,则编译可以顺利通过。
有人知道我怎么才能“欺骗”pdflatex吗xkeyval
?pdfpages
共存?密钥验证.pdf说:
2) ‘fams’ 家族中 ‘name’ 未定义(错误)
密钥名称未在 fams 中的系列中定义。您可能输入了错误的名称。
... 但我的问题是,我不知道我通过自制样式文件包含的样式文件实际上包括了哪些xkeyval
- 所以我希望也许有一种作弊的方法xkeyval
- 也许通过某种方式“定义”scale
家庭PAX@Gin
?!如果有人知道这是否可能以及如何实现,听到答案会很棒 :)
编辑:这里:CTAN 软件包更新:xkeyval据称已经发布了针对此问题的修复程序;显然,我没有得到它?!我的 TexLive 发行版中的文件显示:
\ProvidesPackage{xkeyval}
[2008/08/13 v2.6a package option processing (HA)]
答案1
似乎要避免的技巧'scale' undefined in families 'PAX@Gin'
是添加:
\makeatletter
\define@key{PAX@Gin}{scale}{}
\makeatother
...所以现在通过编译的整个最小文件是:
\documentclass{article}
\usepackage{xkeyval}
\usepackage{pax}
\usepackage{pdfpages}
% \presetkeys[PAX@Gin]{scale}{num=}{} % no work
% this work:
\makeatletter
\define@key{PAX@Gin}{scale}{}
\makeatother
\begin{document}
Test
\includepdf[scale=1,addtotoc={1,subsection,2,My PDF Document,mypdf-doc}]{mypdf-doc.pdf}
\end{document}
希望这在我的大文档中也能适用:)