如果 biblatex 的选项位于多行,xkvltxp 会出现 keyval 错误

如果 biblatex 的选项位于多行,xkvltxp 会出现 keyval 错误

keyval如果同时出现以下情况,则会出现错误:

  • xkvltxp已加载
  • biblatex载入了多行选项。

以下 MWE 显示了这种奇怪的行为:

\documentclass{article}
% \usepackage{xkvltxp}
\usepackage[backend=biber,
style=numeric]{biblatex}
\begin{document}
Test.
\end{document}

效果很好,但是,如果xkvltxp加载,就会出现错误:

! Package keyval Error: style undefined.

See the keyval package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.10902 \blx@processoptions

只要biblatex在同一行给出 的选项,这个文件就会顺利编译。

我尝试了一些其他的包而不是biblatex在多行上使用选项的包,但是我发现只有它会出现这个错误。

答案1

有一个包kvoptions-patch。它试图比更保守xkvltxp。它只假设可能有key=value对来保护value部分(免受扩展、类别代码更改等)。

以下示例有效

\RequirePackage{kvoptions-patch}
\documentclass[myoption={val1,val2}]{article}
\usepackage[backend=biber,
style=numeric]{biblatex}  
\begin{document}
Test.
\end{document}

出现预期的警告:

LaTeX Warning: Unused global option(s):
    [myoption={val1,val2}].

相关内容