304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% This is file `kvoptions.sty',
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% generated with the docstrip utility.
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% The original source files were:
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% kvoptions.dtx (with options: `package')
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% This is a generated file.
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% Copyright (C) 2004, 2006, 2007 by
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% Heiko Oberdiek <oberdiek@uni-freiburg.de>
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% This work may be distributed and/or modified under the
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% conditions of the LaTeX Project Public License, either
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% version 1.3 of this license or (at your option) any later
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% version. The latest version of this license is in
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% and version 1.3 or later is part of all distributions of
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% LaTeX version 2005/12/01 or later.
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% This work has the LPPL maintenance status "maintained".
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% This Current Maintainer of this work is Heiko Oberdiek.
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% This work consists of the main source file kvoptions.dtx
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% and the derived files
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% kvoptions.sty, kvoptions.pdf, kvoptions.ins, kvoptions.drv,
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% No we don't need the option 'color'.
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% With color support option 'emphcolor' will dynamically change
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% the color of \emph statements.
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\NeedsTeXFormat{LaTeX2e}
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\ProvidesPackage{kvoptions}
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann [2007/06/11 v2.7 Connects package keyval with LaTeX options (HO)]%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\RequirePackage{keyval}
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\x{\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\AtEndOfPackage{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \catcode\@ne=\the\catcode\@ne\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \catcode\tw@=\the\catcode\tw@\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\catcode\@ne=14 %
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\catcode\tw@=14 %
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\DeclareOption{debugshow}{\catcode\@ne=9 }
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\DeclareOption{patch}{\catcode\tw@=9 }
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\ProcessOptions\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\define@key{KVO}{family}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\edef\csname KVO@family@\@currname.\@currext\endcsname{#1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@family{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifundefined{KVO@family@\@currname.\@currext}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname KVO@family@\@currname.\@currext\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\define@key{KVO}{prefix}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\edef\csname KVO@prefix@\@currname.\@currext\endcsname{#1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@prefix{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifundefined{KVO@prefix@\@currname.\@currext}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@currname @%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname KVO@prefix@\@currname.\@currext\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\newcommand*{\SetupKeyvalOptions}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \setkeys{KVO}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\newcommand*{\DeclareBoolOption}[2][false]{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@ifdefinable{if\KVO@prefix#2}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@ifdefinable{\KVO@prefix#2true}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@ifdefinable{\KVO@prefix#2false}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\newif\csname if\KVO@prefix#2\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifundefined{\KVO@prefix#2#1}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \PackageWarning{kvoptions}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Initialization of option `#2' failed,\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann cannot set boolean option to `#1',\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann use `true' or `false', now using `false'%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname\KVO@prefix#2#1\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\x{\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\define@key{\KVO@family}{#2}[true]{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\KVO@boolkey{\@currname}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@currext\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\@pkgextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann {\KVO@prefix}{#2}{####1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\newcommand*{\DeclareComplementaryOption}[2]{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifundefined{if\KVO@prefix#2}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \PackageError{kvoptions}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Cannot generate option code for `#1',\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann parent switch `#2' does not exist%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann You are inside %
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@currext\@clsextension class\else package\fi\space
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann `\@currname.\@currext'.\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann `\KVO@family' is used as familiy for the keyval options.\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann `\KVO@prefix' serves as prefix for internal switch macros.\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@ifdefinable{\KVO@prefix#1true}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@ifdefinable{\KVO@prefix#1false}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\let\csname\KVO@prefix#1false\expandafter\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname\KVO@prefix#2true\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\let\csname\KVO@prefix#1true\expandafter\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname\KVO@prefix#2false\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\x{\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\define@key{\KVO@family}{#1}[true]{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\KVO@boolkey{\@currname}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@currext\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\@pkgextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann {\KVO@prefix}{#1}{####1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@ifdefinable#1{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\@ifdefinable\csname #1\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@boolkey#1#2#3#4#5{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\KVO@param{#5}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@onelevel@sanitize\KVO@param
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\KVO@param\KVO@true
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\@firstofone
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\KVO@param\KVO@false
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\expandafter\expandafter\@firstofone
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx#2\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\ClassWarning
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\PackageWarning
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Value `\KVO@param' is not supported by\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\expandafter\expandafter\@gobble
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A\ifx#2\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A \expandafter\ClassInfo
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A \expandafter\PackageInfo
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A{#1}{[option] #4=\KVO@param}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname#3#4\KVO@param\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@true{true}
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@false{false}
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\@onelevel@sanitize\KVO@true
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\@onelevel@sanitize\KVO@false
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\newcommand*{\DeclareStringOption}[2][]{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifnextchar[{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@DeclareStringOption{#1}{#2}@%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@DeclareStringOption{#1}{#2}{}[]%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@DeclareStringOption#1#2#3[#4]{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@ifdefinable{\KVO@prefix#2}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@namedef{\KVO@prefix#2}{#1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \toks@{[{#4}]}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\x{\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\define@key{\KVO@family}{#2}\the\toks@{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A\begingroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A \toks@{####1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A \ifx\@currext\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A \noexpand\ClassInfo
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A \noexpand\PackageInfo
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A {\@currname}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A [option] #2={\noexpand\the\toks@}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\def
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\noexpand\csname\KVO@prefix#2\endcsname{####1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\newcommand*{\DeclareVoidOption}[1]{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\next\@gobbletwo
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@ifdefinable{\KVO@prefix#1}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\next\@firstofone
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\x{\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\define@key{\KVO@family}{#1}[\KVO@VOID@]{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\KVO@voidkey{\@currname}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@currext\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\@pkgextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\noexpand\csname\KVO@prefix#1\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@namedef{\KVO@prefix#1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@VOID@{@VOID@}
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@voidkey#1#2#3#4{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \def\CurrentOption{#3}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\x\KVO@VOID@
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx#2\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\ClassWarning
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\PackageWarning
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Unexpected value for option `#3'\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A\ifx#2\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A \expandafter\ClassInfo
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A \expandafter\PackageInfo
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A{#1}{[option] #3}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\newcommand*{\DeclareDefaultOption}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@namedef{KVO@default@\@currname.\@currext}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\SetupKeyvalOptions{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann family=KVOdyn,%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann prefix=KVOdyn@%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\DeclareBoolOption[true]{global}
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\DeclareComplementaryOption{local}{global}
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\DeclareStringOption[undef]{action}
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\let\KVOdyn@name\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\let\KVOdyn@ext\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\define@key{KVOdyn}{class}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \def\KVOdyn@name{#1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\KVOdyn@ext\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\define@key{KVOdyn}{package}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \def\KVOdyn@name{#1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\KVOdyn@ext\@pkgextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\newcommand*{\DisableKeyvalOption}[3][]{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \setkeys{KVOdyn}{#1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \def\x{\endgroup}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifundefined{KVO@action@\KVOdyn@action}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \PackageError{kvoptions}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Unknown disable action %
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann `\expandafter\strip@prefix\meaning\KVOdyn@action'\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann for option `#3' in keyval family '#2'%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname KVO@action@\KVOdyn@action\endcsname{#2}{#3}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@action@undef#1#2{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\x{\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifKVOdyn@global\global\fi
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\noexpand\csname KV@#1@#2\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifKVOdyn@global\global\fi
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\noexpand\csname KV@#1@#2@default\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A\PackageInfo{kvoptions}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A [option] key `#2' of family `#1'\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A is disabled (undef, \ifKVOdyn@global global\else local\fi)%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@action@ignore#1#2{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\x{\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifKVOdyn@global\global\fi
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\noexpand\csname KV@#1@#2\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifKVOdyn@global\global\fi
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\noexpand\csname KV@#1@#2@default\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A\PackageInfo{kvoptions}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A [option] key `#2' of family `#1'\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A is disabled (ignore, \ifKVOdyn@global global\else local\fi)%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@action@error{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@do@action{error}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@action@warning{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@do@action{warning}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@do@action#1#2#3{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\KVOdyn@name\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \PackageError{kvoptions}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Action type `#1' needs package/class name\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann for key `#3' in family `#2'%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\x{\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\define@key{#2}{#3}[]{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\noexpand\csname KVO@disable@#1\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann {\KVOdyn@name}\noexpand\KVOdyn@ext{#3}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifKVOdyn@global
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\noexpand\csname KV@#2@#3\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\noexpand\csname KV@#2@#3\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\noexpand\csname KV@#2@#3@default\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\noexpand\csname KV@#2@#3@default\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A\ifx\KVOdyn@ext\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A \expandafter\ClassInfo
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A \expandafter\PackageInfo
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A{\KVOdyn@name}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A [option] key `#3' of family `#2'\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann ^^A is disabled (#1, \ifKVOdyn@global global\else local\fi)%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@disable@error#1#2#3{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx#2\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\ClassError
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\PackageError
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Option `#3' is given too late,\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann now the option is ignored%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@disable@warning#1#2#3{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx#2\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\ClassWarning
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\PackageWarning
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Option `#3' is already consumed\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann and has no effect%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\newcommand*{\ProcessKeyvalOptions}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\x{\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\KVO@ProcessKeyvalOptions{\KVO@family}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@ProcessKeyvalOptions
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@ProcessKeyvalOptions#1{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\@tempc\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\KVO@temp\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@currext\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@classoptionslist\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@for\KVO@CurrentOption:=\@classoptionslist\do{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifundefined{KV@#1@\expandafter\KVO@getkey\KVO@CurrentOption=\@nil}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\KVO@temp{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann^^B \etex@unexpanded\expandafter{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann^^B \etex@unexpanded\expandafter{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@CurrentOption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann^^B \@onelevel@sanitize\KVO@CurrentOption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@expandtwoargs\@removeelement\KVO@CurrentOption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@unusedoptionlist\@unusedoptionlist
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifundefined{opt@\@currname.\@currext}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \toks@\expandafter{\KVO@temp}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \toks@\expandafter\expandafter\expandafter{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname opt@\@currname.\@currext\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@currext\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\CurrentOption{\the\toks@}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \toks@\expandafter{\KVO@temp}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@for\CurrentOption:=\CurrentOption\do{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifundefined{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann KV@#1@\expandafter\KVO@getkey\CurrentOption=\@nil
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann^^B \@onelevel@sanitize\CurrentOption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@unusedoptionlist\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \global\let\@unusedoptionlist\CurrentOption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\expandafter\expandafter\gdef
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\expandafter\expandafter\@unusedoptionlist
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\expandafter\expandafter{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\@unusedoptionlist
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter,\CurrentOption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \toks@\expandafter{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \the\expandafter\toks@\expandafter,\CurrentOption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifundefined{KVO@default@\@currname.\@currext}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \toks@\expandafter\expandafter\expandafter{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\KVO@temp\the\toks@
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\CurrentOption{\the\toks@}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \toks@\expandafter{\KVO@temp}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@for\CurrentOption:=\CurrentOption\do{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifundefined{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann KV@#1@\expandafter\KVO@getkey\CurrentOption=\@nil
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \toks\tw@\expandafter{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \the\toks\expandafter\tw@\expandafter,\CurrentOption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \toks@\expandafter{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \the\expandafter\toks@\expandafter,\CurrentOption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\KVO@temp{\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\KVO@calldefault{\the\toks\tw@}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\setkeys{#1}{\the\toks@}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\CurrentOption\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \AtEndOfPackage{\let\@unprocessedoptions\relax}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@getkey#1=#2\@nil{#1}
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@calldefault#1{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\x\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@for\CurrentOption:=#1\do{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\CurrentOption\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\KVO@setcurrents\CurrentOption=\@nil
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@nameuse{KVO@default@\@currname.\@currext}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@setcurrents#1=#2\@nil{
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \def\CurrentOptionValue{#2}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\CurrentOptionValue\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\CurrentOptionKey\CurrentOption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\CurrentOptionValue\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\CurrentOptionKey{\zap@space#1 \@empty}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\KVO@setcurrentvalue\CurrentOption\@nil
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@setcurrentvalue#1=#2\@nil{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KV@@sp@def\CurrentOptionValue{#2}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\PackageInfo{kvoptions}{Patching LaTeX's option system}
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\begingroup\expandafter\expandafter\expandafter\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\expandafter\ifx\csname eTeXversion\endcsname\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \PackageWarningNoLine{kvoptions}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Option `patch' ignored, because e-TeX is missing%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\endinput
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\RequirePackage{etexcmds}
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\ifetex@unexpanded
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \PackageError{kvoptions}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Could not find eTeX's \string\unexpanded.\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Try adding \string\RequirePackage\string{etexcmds\string} %
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann before \string\documentclass%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\endinput
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\@ifpackageloaded{xkvltxp}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \PackageWarningNoLine{kvoptions}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Option `patch' cannot be used together with\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann package `xkvltxp' that is already loaded.\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Therefore option `patch' will be ignored%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\@if@ptions#1#2#3{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@normalize\KVO@temp{#3}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\x{\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\@if@pti@ns{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \detokenize\expandafter\expandafter\expandafter{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname opt@#2.#1\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \detokenize\expandafter{\KVO@temp}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\@pass@ptions#1#2#3{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@normalize\KVO@temp{#2}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifundefined{opt@#3.#1}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\gdef\csname opt@#3.#1%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\endcsname\expandafter{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\gdef\csname opt@#3.#1%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\expandafter\expandafter\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\expandafter\expandafter{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname opt@#3.#1\expandafter\endcsname\expandafter,\KVO@temp
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\ProcessOptions{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\ds@\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifundefined{opt@\@currname.\@currext}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\@curroptions\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\expandafter\expandafter\def
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\expandafter\expandafter\@curroptions
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\expandafter\expandafter{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname opt@\@currname.\@currext\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifstar\KVO@xprocess@ptions\KVO@process@ptions
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@process@ptions{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@for\CurrentOption:=\@declaredoptions\do{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\CurrentOption\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@currext\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \toks@\expandafter{\@classoptionslist,}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \toks\tw@\expandafter{\@curroptions}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\x{\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\in@{,\CurrentOption,}{,\the\toks@\the\toks\tw@,}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@use@ption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@process@pti@ns
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@xprocess@ptions{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@currext\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@for\CurrentOption:=\@classoptionslist\do{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\CurrentOption\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@in@\CurrentOption\@declaredoptions
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@use@ption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@process@pti@ns
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@in@#1#2{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@for\x:=#2\do{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\x#1\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\x{\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\in@true
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@process@pti@ns{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@for\CurrentOption:=\@curroptions\do{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifundefined{ds@\KVO@SanitizedCurrentOption}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@use@ption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@use@ption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@for\CurrentOption:=\@declaredoptions\do{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\let\csname ds@\CurrentOption\endcsname\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\CurrentOption\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\@fileswith@pti@ns\@@fileswith@pti@ns
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \AtEndOfPackage{\let\@unprocessedoptions\relax}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@use@ption{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\x{\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \noexpand\@removeelement{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \detokenize\expandafter{\CurrentOption}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \detokenize\expandafter{\@unusedoptionlist}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \x\@unusedoptionlist
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname ds@\KVO@SanitizedCurrentOption\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\OptionNotUsed{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@currext\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \xdef\@unusedoptionlist{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@unusedoptionlist\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \detokenize\expandafter{\@unusedoptionlist,}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \detokenize\expandafter{\CurrentOption}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\CurrentOption@SaveLevel{0}
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\ExecuteOptions{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\KVO@ExecuteOptions
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname CurrentOption@\CurrentOption@SaveLevel\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@ExecuteOptions#1#2{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let#1\CurrentOption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\CurrentOption@SaveLevel{\the\numexpr\CurrentOption@SaveLevel+1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@for\CurrentOption:=#2\do{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname ds@\CurrentOption\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\CurrentOption@SaveLevel{\the\numexpr\CurrentOption@SaveLevel-1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\CurrentOption#1%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@fileswith@pti@ns#1[#2]#3[#4]{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx#1\@clsextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@classoptionslist\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@normalize\KVO@temp{#2}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\gdef\expandafter\@classoptionslist\expandafter{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \def\reserved@a{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@onefilewithoptions{#3}[{#2}][{#4}]#1%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@documentclasshook
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \def\reserved@a{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@onefilewithoptions{#3}[{#2}][{#4}]#1%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\KVO@temp\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\KVO@onefilewithoptions\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\@pkgextension\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \def\reserved@b##1,{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@nil##1\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\relax##1\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@onefilewithoptions{##1}[{\KVO@temp}][{#4}]\@pkgextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\reserved@b
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\reserved@a{\zap@space#3 \@empty}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\reserved@a{\expandafter\reserved@b\reserved@a,\@nil,}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \def\KVO@temp{\the\toks@}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\reserved@a{\endgroup \reserved@a}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@onefilewithoptions#1[#2][#3]#4{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@pushfilename
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \xdef\@currname{#1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \global\let\@currext#4%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\CurrentOption\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@reset@ptions
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \makeatletter
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \def\reserved@a{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifl@aded\@currext{#1}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@if@ptions\@currext{#1}{#2}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifundefined{opt@#1.\@currext}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\expandafter\expandafter\strip@prefix
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\meaning\csname opt@#1.\@currext\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\y{\expandafter\strip@prefix\meaning\y}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@latex@error{Option clash for \@cls@pkg\space #1}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann The package #1 has already been loaded %
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann with options:\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \space\space[\x]\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann There has now been an attempt to load it %
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann with options\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \space\space[\y]\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Adding the global options:\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \x,\y\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann to your \noexpand\documentclass declaration may fix this.%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Try typing \space <return> \space to proceed.%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@pass@ptions\@currext{#2}{#1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \global\expandafter
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\csname ver@\@currname.\@currext\endcsname\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \InputIfFileExists
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann {\@currname.\@currext}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann {\@missingfileerror\@currname\@currext}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\@unprocessedoptions\@@unprocessedoptions
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname\@currname.\@currext-h@@k\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\let\csname\@currname.\@currext-h@@k\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@unprocessedoptions
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifl@ter\@currext{#1}{#3}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@latex@warning@no@line{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann You have requested,\on@line, %
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann version\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann #3' of \@cls@pkg\space #1,\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann but only version\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann `\csname ver@#1.\@currext\endcsname'\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann is available%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@popfilename
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@reset@ptions
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\@unknownoptionerror{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@latex@error{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Unknown option `\KVO@SanitizedCurrentOption' %
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann for \@cls@pkg\space`\@currname'%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann The option `\KVO@SanitizedCurrentOption' was not declared in %
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@cls@pkg\space`\@currname', perhaps you\MessageBreak
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann misspelled its name. %
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann Try typing \space <return> %
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \space to proceed.%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\@@unprocessedoptions{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@currext\@pkgextension
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@ifundefined{opt@\@currname.\@currext}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\@curroptions\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\let\expandafter\@curroptions
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \csname opt@\@currname.\@currext\endcsname
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@for\CurrentOption:=\@curroptions\do{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\CurrentOption\@empty\else\@unknownoptionerror\fi
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@SanitizedCurrentOption{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\strip@prefix\meaning\CurrentOption
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@normalize#1#2{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\KVO@result\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@splitcomma#2,\@nil
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let#1\KVO@result
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@splitcomma#1,#2\@nil{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@ifempty{#1}{}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@checkkv#1=\@nil
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@ifempty{#2}{}{\KVO@splitcomma#2\@nil}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@ifempty#1{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\ifx\expandafter\\\detokenize{#1}\\%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\@firstoftwo
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\@secondoftwo
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@checkkv#1=#2\@nil{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@ifempty{#2}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann % option without value
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\KVO@x{\zap@space#1 \@empty}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\KVO@x\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann % ignore empty option
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann % append to list
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\KVO@result{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \etex@unexpanded\expandafter{\KVO@result},\KVO@x
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann % #1: "key", #2: "value="
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann % add key part
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\KVO@result{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \etex@unexpanded\expandafter{\KVO@result},%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \zap@space#1 \@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \futurelet\@let@token\KVO@checkfirsttok#2 \@nil| = \@nil|\KVO@nil
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@checkfirsttok{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\@let@token\bgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann % no space at start
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\KVO@removelastspace\expandafter=%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann % "<value><spaceopt>= \@nil"
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \expandafter\KVO@checkfirstA
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@checkfirstA#1 #2\@nil{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@ifempty{#2}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@removelastspace=#1 \@nil
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@ifempty{#1}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@removelastspace=#2\@nil
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@removelastspace=#1 #2\@nil
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@removelastspace#1 = \@nil|#2\KVO@nil{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \KVO@ifempty{#2}{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\KVO@result{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \etex@unexpanded\expandafter{\KVO@result}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \etex@unexpanded\expandafter{\KVO@removegarbage#1\KVO@nil}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\KVO@result{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \etex@unexpanded\expandafter{\KVO@result}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \etex@unexpanded{#1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@removegarbage#1= \@nil#2\KVO@nil{#1}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\def\KVO@removeelement#1#2{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \@for\x:=#2\do{%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\x\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\x#1\relax
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\t{\the\toks@}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \ifx\t\@empty
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \toks@\expandafter{\the\toks@,}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \toks@\expandafter{\the\expandafter\toks@\x}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \edef\x{\endgroup
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \def\noexpand#2{\the\toks@}%
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\let\@@fileswith@pti@ns\KVO@fileswith@pti@ns
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann\ifx\@fileswith@pti@ns\@badrequireerror
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann \let\@fileswith@pti@ns\KVO@fileswith@pti@ns
304d15b2ffa9376d78bddcfc63569824381714abDaniel Hausmann%% End of file `kvoptions.sty'.