我有这个最小的例子:
\documentclass{article}
\usepackage{hyperref}
\usepackage[a-1b]{pdfx}
\begin{document}
Foo Bar
\end{document}
使用 pdflatex 或 lualatex 编译时会导致错误:
(c:/Local/TeXLive/texmf-dist/tex/latex/pdfx/l8uenc.def)
! Package kvsetkeys Error: Undefined key `pdftex,pdfa,pdfversion=1.4'.
See the kvsetkeys package documentation for explanation.
Type H <return> for immediate help.
...
l.806 }
问题出在 pdfx.sty 中的第 794 行(使用 luatex 编译时):
\hypersetup{\pdfx@pdfAE@opts@luatex}%
参数在 pdfx.sty 的第 750 行定义:
\def\pdfx@pdfAE@opts@luatex{pdftex,pdfa,pdfversion=1.\thepdfminorversion}%
但似乎\hypersetup
无法解析它们。pdfx.sty 文件指出:
[2016/05/03 v1.5.8 PDF/X and PDF/A support (CVR/HTH/RRM/PS)]
其他文件来自 TeXLive 2016。
有没有简单的方法可以解决这种情况?提前致谢。
答案1
让pdfx
负载hyperref
:
\documentclass{article}
\usepackage[a-1b]{pdfx}
\begin{document}
Foo Bar
\end{document}
一般来说,hyperref
应该最晚加载 - 除非特别要求先加载的包。