2

I have read the docs and the tutorial about kvoptions and xkeyval but I can not get my xkeyval example to compile.

This is the error:

! 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}{}

which I get with this code:

\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}

what am I doing wrong?

(posted also on de.comp.text.tex, but with no answer)

1 Answer 1

3

According to the syntax

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

check delimiters, the first argument is optional, the second argument cannot be in brackets. For example:

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

Also consider specifying the family for \ProcessOptionsX, such as

\ProcessOptionsX<warning>

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .