xkeyval 示例无法编译

xkeyval 示例无法编译

我已经阅读了有关 kvoptions 和 xkeyval 的文档和教程,但我无法编译我的 xkeyval 示例。

这是错误:

! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
....
l.10 \define@choicekey*{test}[war
ning]{errorlevel}{info,warning,error}{}

我用这段代码得到:

\documentclass{scrbook}
\usepackage{filecontents}    

% Test using xkeyval
\begin{filecontents}{options.sty}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{options}
\RequirePackage{xkeyval}
%
\define@choicekey*{test}[warning]{errorlevel}{info,warning,error}{}
\setkeys{test}{errorlevel=info}
\ProcessOptionsX

\providecommand\printerrorlevel{%
Errorlevel is: \KV@test@errorlevel%
}
\end{filecontents}

\usepackage[errorlevel=error]{options}

\begin{document}
\printerrorlevel
\end{document}

我究竟做错了什么?

(也发布在 de.comp.text.tex 上,但没有答案)

答案1

根据语法

\define@choicekey*[pre]{fam}{key}[bin]{al}[dft]{func}

检查分隔符,第一个参数是可选的,第二个参数不能在括号中。例如:

\define@choicekey*{warning}{errorlevel}{info,warning,error}{}

还可以考虑指定家庭\ProcessOptionsX,例如

\ProcessOptionsX<warning>

相关内容