diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/cleveref/cleveref.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/cleveref/cleveref.sty | 3505 |
1 files changed, 2611 insertions, 894 deletions
diff --git a/Master/texmf-dist/tex/latex/cleveref/cleveref.sty b/Master/texmf-dist/tex/latex/cleveref/cleveref.sty index 9c571406374..5dc50fcd937 100644 --- a/Master/texmf-dist/tex/latex/cleveref/cleveref.sty +++ b/Master/texmf-dist/tex/latex/cleveref/cleveref.sty @@ -22,7 +22,7 @@ %% version 1999/12/01 or later. \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{cleveref} - [2009/11/02 v0.12 Intelligent cross-referencing] + [2009/17/04 v0.13 Intelligent cross-referencing] %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -44,16 +44,13 @@ } \def\refstepcounter@noarg#1{% \cref@old@refstepcounter{#1}% - \cref@resetby{#1}{\@result}% - \ifx\@result\relax\def\@result{}% - \else\edef\@result{\csname the\@result\endcsname}\fi% + \cref@constructprefix{#1}{\@result}% \protected@edef\@currentlabel{% - [#1][\arabic{#1}][\@result]\@currentlabel}} + [#1][\arabic{#1}][\@result]% + \csname p@#1\endcsname\csname the#1\endcsname}} \def\refstepcounter@optarg[#1]#2{% \cref@old@refstepcounter{#2}% - \cref@resetby{#2}{\@result}% - \ifx\@result\relax\def\@result{}% - \else\edef\@result{\csname the\@result\endcsname}\fi% + \cref@constructprefix{#2}{\@result}% \protected@edef\@currentlabel{% [#1][\arabic{#2}][\@result]\@currentlabel}} \def\cref@override@label@type[#1][#2][#3]#4\@nil#5{[#5][#2][#3]#4} @@ -65,14 +62,22 @@ \expandafter\cref@override@label@type\@currentlabel\@nil{#1}}% \cref@old@label}% \@ifpackageloaded{amsmath}{% - \let\cref@label\label% - \let\cref@old@label@in@display\label@in@display% + \let\cref@label\label + \let\cref@old@label@in@display\label@in@display \def\label@in@display{% \@ifnextchar[\label@in@display@optarg\label@in@display@noarg}%] \def\label@in@display@noarg#1{\cref@old@label@in@display{{#1}}} \def\label@in@display@optarg[#1]#2{% \cref@old@label@in@display{[#1]{#2}}} - \def\ltx@label#1{\cref@label#1}% + \def\ltx@label#1{\cref@label#1} + \let\cref@old@make@df@tag@@\make@df@tag@@ + \def\make@df@tag@@#1{% + \gdef\df@tag{\maketag@@@{#1}% + \def\@currentlabel{[equation][][]#1}}} + \def\make@df@tag@@@#1{% + \gdef\df@tag{\tagform@{#1}% + \toks@\@xp{\p@equation{#1}}% + \edef\@currentlabel{[equation][][]\the\toks@}}} }{}% } \def\cref@reflabel#1#2{\@result} @@ -90,34 +95,70 @@ \renewcommand\appendix{% \cref@old@appendix% \@ifundefined{chapter}{% - \def\refstepcounter@noarg##1{% + \gdef\refstepcounter@noarg##1{% \cref@old@refstepcounter{##1}% - \cref@resetby{##1}{\@result}% - \ifx\@result\relax\def\@result{}% - \else\edef\@result{\csname the\@result\endcsname}\fi% - \def\@tmpa{##1} + \cref@constructprefix{##1}{\@result}% + \edef\@result{{2147483647}\@result}% + \def\@tmpa{##1}% \def\@tmpb{section}% \ifx\@tmpa\@tmpb% \protected@edef\@currentlabel{% [appendix][\arabic{##1}][\@result]\@currentlabel}% - \else - \protected@edef\@currentlabel{% - [##1][\arabic{##1}][\@result]\@currentlabel} - \fi} + \else% + \def\@tmpa{##1}% + \def\@tmpb{subsection}% + \ifx\@tmpa\@tmpb% + \protected@edef\@currentlabel{% + [subappendix][\arabic{##1}][\@result]\@currentlabel}% + \else% + \def\@tmpa{##1}% + \def\@tmpb{subsubsection}% + \ifx\@tmpa\@tmpb% + \protected@edef\@currentlabel{% + [subsubappendix][\arabic{##1}][\@result]% + \@currentlabel}% + \else% + \protected@edef\@currentlabel{% + [##1][\arabic{##1}][\@result]\@currentlabel}% + \fi% + \fi% + \fi}% }{% \def\refstepcounter@noarg##1{% \cref@old@refstepcounter{##1}% - \cref@resetby{##1}{\@result}% - \ifx\@result\relax\def\@result{}% - \else\edef\@result{\csname the\@result\endcsname}\fi% - \def\@tmpa{##1} + \cref@constructprefix{##1}{\@result}% + \edef\@result{{2147483647}\@result}% + \def\@tmpa{##1}% \def\@tmpb{chapter}% \ifx\@tmpa\@tmpb% \protected@edef\@currentlabel{% [appendix][\arabic{##1}][\@result]\@currentlabel}% - \else - \protected@edef\@currentlabel{% - [##1][\arabic{##1}][\@result]\@currentlabel} + \else% + \def\@tmpa{##1}% + \def\@tmpb{section}% + \ifx\@tmpa\@tmpb% + \protected@edef\@currentlabel{% + [subappendix][\arabic{##1}][\@result]\@currentlabel}% + \else% + \def\@tmpa{##1}% + \def\@tmpb{subsection}% + \ifx\@tmpa\@tmpb% + \protected@edef\@currentlabel{% + [subsubappendix][\arabic{##1}][\@result]% + \@currentlabel}% + \else% + \def\@tmpa{##1}% + \def\@tmpb{subsubsection}% + \ifx\@tmpa\@tmpb% + \protected@edef\@currentlabel{% + [subsubsubappendix][\arabic{##1}]% + [\@result]\@currentlabel}% + \else% + \protected@edef\@currentlabel{% + [##1][\arabic{##1}][\@result]\@currentlabel}% + \fi% + \fi% + \fi% \fi}% }% } @@ -149,19 +190,127 @@ \def\@cref@getprefix{\@ifnextchar[%] \@@cref@getprefix{\@@cref@getprefix[][][]}} \def\@@cref@getprefix[#1][#2][#3]#4\@nil#5{\def#5{#3}} +\def\cref@constructprefix#1#2{% + \edef\@tmpa{\noexpand{\noexpand}\noexpand{#1\noexpand}}% + \expandafter\def\expandafter\@tmpa\expandafter{\@tmpa{#2}}% + \expandafter\@cref@constructprefix\@tmpa} +\def\@cref@constructprefix#1#2#3{% + \cref@resetby{#2}{#3}% + \ifx#3\relax% + \edef#3{#1}% + \else% + \edef\@tmpa{{{\the\csname c@#3\endcsname}#1}{#3}}% + \expandafter\expandafter\expandafter\@cref@constructprefix% + \expandafter\@tmpa\expandafter{\expandafter#3\expandafter}% + \fi} +\def\cref@counter@first#1#2\@nil{#1} +\def\cref@counter@rest#1#2\@nil{#2} +\def\cref@countercmp#1#2#3{% + \begingroup% + \def\@tmpa{#1}% + \ifx\@tmpa\@empty% + \def\@result{1}% + \else% + \def\@tmpa{#2}% + \ifx\@tmpa\@empty% + \def\@result{2}% + \else% + \expandafter\ifx\csname r@#1\endcsname\relax% + \def\@result{2}% + \else% + \expandafter\ifx\csname r@#2\endcsname\relax% + \def\@result{1}% + \else% + \cref@getcounter{#1}{\@countera}% + \cref@getprefix{#1}{\@prefixa}% + \cref@getcounter{#2}{\@counterb}% + \cref@getprefix{#2}{\@prefixb}% + \edef\@tmpa{{\@prefixa{\@countera}}{\@prefixb{\@counterb}}}% + \expandafter\@cref@countercmp\@tmpa% + \fi% + \fi% + \fi% + \fi% + \expandafter\endgroup\expandafter% + \chardef\expandafter#3\expandafter=\@result\relax} +\def\@cref@countercmp#1#2{% + \let\@iterate\relax% + \def\@counta{#1}% + \def\@countb{#2}% + \ifx\@counta\@empty% + \ifx\@countb\@empty% + \def\@result{0}% + \else% + \def\@result{1}% + \fi% + \else% + \ifx\@countb\@empty% + \def\@result{2}% + \else% + \edef\@counta{\cref@counter@first#1\@nil}% + \edef\@countb{\cref@counter@first#2\@nil}% + \ifnum\@counta<\@countb\relax% + \def\@result{1}% + \else% + \ifnum\@counta>\@countb\relax% + \def\@result{2}% + \else% + \edef\@counta{\cref@counter@rest#1\@nil}% + \edef\@countb{\cref@counter@rest#2\@nil}% + \edef\@counta{{\@counta}{\@countb}}% + \expandafter\def\expandafter\@iterate\expandafter{% + \expandafter\@cref@countercmp\@counta}% + \fi% + \fi% + \fi% + \fi% + \@iterate} \def\cref@append@toks#1#2{\toks0={#2}% \edef\act{\noexpand#1={\the#1\the\toks0}}% \act}% \def\cref@stack@init#1{\def#1{\@nil}} -\def\cref@stack@top#1{\expandafter\cref@stack@top@aux#1} -\def\cref@stack@top@aux#1,#2\@nil{#1} -\def\cref@stack@pop#1{\expandafter\cref@stack@pop@aux#1#1} -\def\cref@stack@pop@aux#1,#2\@nil#3{\def#3{#2\@nil}} +\def\cref@stack@top#1{\expandafter\@cref@stack@top#1} +\def\@cref@stack@top#1,#2\@nil{#1} +\def\cref@stack@pop#1{\expandafter\@cref@stack@pop#1#1} +\def\@cref@stack@pop#1,#2\@nil#3{\def#3{#2\@nil}} \def\cref@stack@push#1#2{% - \expandafter\cref@stack@push@aux\expandafter{#2}{#1}{#2}} -\def\cref@stack@push@aux#1#2#3{\def#3{#2,#1}} -\def\cref@stack@pull#1#2{\expandafter\cref@stack@pull@aux#2{#1}{#2}} -\def\cref@stack@pull@aux#1\@nil#2#3{\def#3{#1#2,\@nil}} + \expandafter\@cref@stack@push\expandafter{#2}{#1}{#2}} +\def\@cref@stack@push#1#2#3{\def#3{#2,#1}} +\def\cref@stack@pull#1#2{\expandafter\@cref@stack@pull#2{#1}{#2}} +\def\@cref@stack@pull#1\@nil#2#3{\def#3{#1#2,\@nil}} +\def\cref@stack@topandbottom#1#2#3{% + \def#2{}% + \def#3{}% + \cref@isstackfull{#1}% + \if@cref@stackfull% + \edef#2{\cref@stack@top{#1}}% + \cref@stack@pop{#1}% + \cref@isstackfull{#1}% + \@whilesw\if@cref@stackfull\fi{% + \edef#3{\cref@stack@top{#1}}% + \cref@stack@pop{#1}% + \cref@isstackfull{#1}}% + \fi} +\def\cref@stack@add#1#2{% + \begingroup% + \def\@arg1{#1}% + \let\@tmpstack#2% + \newif\if@notthere% + \@nottheretrue% + \cref@isstackfull{\@tmpstack}% + \@whilesw\if@cref@stackfull\fi{% + \edef\@tmpb{\cref@stack@top{\@tmpstack}}% + \def\@tmpa{#1}% + \ifx\@tmpa\@tmpb% + \@cref@stackfullfalse% + \@nottherefalse% + \else% + \cref@stack@pop{\@tmpstack}% + \cref@isstackfull{\@tmpstack}% + \fi + }% + \expandafter\endgroup% + \if@notthere\cref@stack@push{#1}{#2}\fi} \newif\if@cref@stackempty \newif\if@cref@stackfull \def\cref@isstackempty#1{% @@ -172,54 +321,156 @@ \def\@tmpa{\@nil}% \ifx#1\@tmpa\@cref@stackfullfalse% \else\@cref@stackfulltrue\fi} +\def\cref@stack@sort#1#2{% + \begingroup% + \cref@stack@init{\@sortstack}% + \edef\@element{\cref@stack@top{#1}}% + \expandafter\cref@stack@push\expandafter{\@element}{\@sortstack}% + \cref@stack@pop{#1}% + \cref@isstackfull{#1}% + \if@cref@stackfull% + \edef\@tmpa{\cref@stack@top{#1}}% + \@whilesw\ifx\@tmpa\@empty\fi{% + \cref@stack@pull{}{\@sortstack}% + \cref@stack@pop{#1}% + \cref@isstackempty{#1}% + \if@cref@stackempty% + \let\@tmpa\relax% + \else% + \edef\@tmpa{\cref@stack@top{#1}}% + \fi}% + \fi% + \cref@isstackfull{#1}% + \@whilesw\if@cref@stackfull\fi{% + \edef\@element{\cref@stack@top{#1}}% + \cref@stack@pop{#1}% + \def\@empties{}% + \cref@isstackfull{#1}% + \if@cref@stackfull% + \edef\@tmpa{\cref@stack@top{#1}}% + \@whilesw\ifx\@tmpa\@empty\fi{% + \edef\@empties{\@empties,}% + \cref@stack@pop{#1}% + \cref@isstackempty{#1}% + \if@cref@stackempty% + \let\@tmpa\relax% + \else% + \edef\@tmpa{\cref@stack@top{#1}}% + \fi}% + \fi% + \edef\@tmpa{{\expandafter\noexpand\@element}% + {\expandafter\noexpand\@empties}% + {\noexpand\@sortstack}{\noexpand#2}}% + \expandafter\cref@stack@insert\@tmpa% + \cref@isstackfull{#1}}% + \expandafter\endgroup\expandafter% + \def\expandafter#1\expandafter{\@sortstack}} +\def\cref@stack@insert#1#2#3#4{% + \let\@cmp#4% + \@cref@stack@insert{}{#1}{#2}{#3}% + \cref@stack@pop{#3}} +\def\@cref@stack@insert#1#2#3#4{% + \let\@iterate\relax% + \cref@isstackempty{#4}% + \if@cref@stackempty% + \cref@stack@push{#1,#2#3}{#4}% + \else% + \edef\@tmpa{\cref@stack@top{#4}}% + \expandafter\@cmp\expandafter{\@tmpa}{#2}{\@result}% + \ifnum\@result=2\relax% + \cref@stack@push{#1,#2#3}{#4}% + \else% + \cref@stack@pop{#4}% + \edef\@tmpa{{\noexpand#1,\@tmpa}{\noexpand#2}% + {\noexpand#3}{\noexpand#4}}% + \expandafter\def\expandafter\@iterate\expandafter% + {\expandafter\@cref@stack@insert\@tmpa}% + \fi% + \fi% + \@iterate} \newif\if@cref@inresetlist \def\cref@isinresetlist#1#2{% - \def\@counter{#1}% \begingroup% + \def\@counter{#1}% \def\@elt##1{##1,}% \expandafter\ifx\csname cl@#2\endcsname\relax% - \gdef\cref@resetstack{,\@nil}% + \def\cref@resetstack{,\@nil}% \else% - \xdef\cref@resetstack{\csname cl@#2\endcsname\noexpand\@nil}% + \edef\cref@resetstack{\csname cl@#2\endcsname\noexpand\@nil}% \fi% - \endgroup% - \cref@isstackfull{\cref@resetstack}% - \@whilesw\if@cref@stackfull\fi{% - \edef\@nextcounter{\cref@stack@top{\cref@resetstack}}% - \ifx\@nextcounter\@counter% - \@cref@stackfullfalse% + \let\@nextcounter\relax% + \cref@isstackfull{\cref@resetstack}% + \@whilesw\if@cref@stackfull\fi{% + \edef\@nextcounter{\cref@stack@top{\cref@resetstack}}% + \ifx\@nextcounter\@counter% + \@cref@stackfullfalse% + \else% + \let\@nextcounter\relax% + \cref@stack@pop{\cref@resetstack}% + \cref@isstackfull{\cref@resetstack}% + \fi}% + \ifx\@nextcounter\relax% + \def\@next{\@cref@inresetlistfalse}% \else% - \let\@nextcounter\relax% - \cref@stack@pop{\cref@resetstack}% - \cref@isstackfull{\cref@resetstack}% - \fi}% - \ifx\@nextcounter\relax% - \@cref@inresetlistfalse% - \else% - \@cref@inresetlisttrue% - \fi} + \def\@next{\@cref@inresetlisttrue}% + \fi% + \expandafter% + \endgroup% + \@next} \def\cref@resetby#1#2{% - \cref@isinresetlist{#1}{subsubsubsection}% - \if@cref@inresetlist% - \def#2{subsubsubsection}% - \else% - \cref@isinresetlist{#1}{subsubsection}% + \let#2\relax% + \def\@tmpa{#1}% + \def\@tmpb{subfigure}% + \ifx\@tmpa\@tmpb% + \cref@isinresetlist{#1}{figure}% + \if@cref@inresetlist% + \def#2{figure}% + \fi% + \fi% + \def\@tmpa{#1}% + \def\@tmpb{subtable}% + \ifx\@tmpa\@tmpb% + \cref@isinresetlist{#1}{table}% \if@cref@inresetlist% - \def#2{subsubsection}% + \def#2{table}% + \fi% + \fi% + \def\@tmpa{#1}% + \def\@tmpb{enumii}% + \ifx\@tmpa\@tmpb% + \def#2{enum}% + \fi% + \def\@tmpb{enumiii}% + \ifx\@tmpa\@tmpb% + \def#2{enum}% + \fi% + \def\@tmpb{enumiv}% + \ifx\@tmpa\@tmpb% + \def#2{enum}% + \fi% + \def\@tmpb{enumv}% + \ifx\@tmpa\@tmpb% + \def#2{enum}% + \fi% + \def\@tmpb{enum}% + \ifx#2\@tmpb% + \cref@isinresetlist{#1}{enumiv}% + \if@cref@inresetlist% + \def#2{enumiv}% \else% - \cref@isinresetlist{#1}{subsection}% + \cref@isinresetlist{#1}{enumiii}% \if@cref@inresetlist% - \def#2{subsection}% + \def#2{enumiii}% \else% - \cref@isinresetlist{#1}{section}% + \cref@isinresetlist{#1}{enumii}% \if@cref@inresetlist% - \def#2{section}% + \def#2{enumii}% \else% - \cref@isinresetlist{#1}{chapter}% + \cref@isinresetlist{#1}{enumi}% \if@cref@inresetlist% - \def#2{chapter}% + \def#2{enumi}% \else% - \cref@isinresetlist{#1}{part}% + \cref@isinresetlist{#1}{part}% \if@cref@inresetlist% \def#2{part}% \else% @@ -229,251 +480,353 @@ \fi% \fi% \fi% + \fi% + \ifx#2\relax% + \cref@isinresetlist{#1}{table}% + \if@cref@inresetlist% + \def#2{table}% + \else% + \cref@isinresetlist{#1}{subsubsection}% + \if@cref@inresetlist% + \def#2{subsubsection}% + \else% + \cref@isinresetlist{#1}{subsection}% + \if@cref@inresetlist% + \def#2{subsection}% + \else% + \cref@isinresetlist{#1}{section}% + \if@cref@inresetlist% + \def#2{section}% + \else% + \cref@isinresetlist{#1}{chapter}% + \if@cref@inresetlist% + \def#2{chapter}% + \else% + \cref@isinresetlist{#1}{part}% + \if@cref@inresetlist% + \def#2{part}% + \else% + \let#2\relax% + \fi% + \fi% + \fi% + \fi% + \fi% + \fi% \fi} -\DeclareRobustCommand{\cref}[1]{\@cref{cref}{#1}} -\DeclareRobustCommand{\Cref}[1]{\@cref{Cref}{#1}} -\DeclareRobustCommand{\crefrange}[2]{\@setcrefrange{#1}{#2}{cref}{}} -\DeclareRobustCommand{\Crefrange}[2]{\@setcrefrange{#1}{#2}{Cref}{}} -\def\@cref#1#2{% +\newif\if@cref@refconsecutive% +\def\cref@isrefconsecutive#1#2{% \begingroup% - \countdef\count@consecutive=0% - \def\@empty{}% - \newif\if@firstgroup% - \newif\if@secondgroup% - \newif\if@secondref% - \cref@stack@init{\@refstack}% - \cref@stack@push{#2}{\@refstack}% - \@firstgrouptrue% - \@secondgroupfalse% - \cref@isstackfull{\@refstack}% - \@whilesw\if@cref@stackfull\fi{% - \cref@stack@init{\@refsubstack}% - \edef\@nextref{\cref@stack@top{\@refstack}}% - \expandafter\ifx\csname r@\@nextref\endcsname\relax% - \def\@currenttype{\@undefined}% - \else% - \expandafter\cref@gettype\expandafter{\@nextref}{\@currenttype}% + \countdef\refa@counter=0% + \countdef\refb@counter=1% + \cref@getcounter{#1}{\@result}% + \refa@counter=\@result% + \cref@getcounter{#2}{\@result}% + \refb@counter=\@result% + \cref@getprefix{#1}{\refa@prefix}% + \cref@getprefix{#2}{\refb@prefix}% + \def\@after{\@cref@refconsecutivefalse}% + \ifx\refa@prefix\refb@prefix% + \ifnum\refa@counter=\refb@counter\relax% + \def\@after{\@cref@refconsecutivetrue}% + \else% + \advance\refa@counter 1\relax% + \ifnum\refa@counter=\refb@counter\relax% + \def\@after{\@cref@refconsecutivetrue}% + \fi% + \fi% \fi% - \let\@nexttype\@currenttype% - \@whilesw\ifx\@nexttype\@currenttype\fi{% - \expandafter\cref@stack@pull\expandafter% - {\@nextref}{\@refsubstack}% - \cref@stack@pop{\@refstack}% - \cref@isstackempty{\@refstack}% - \if@cref@stackempty% - \def\@nexttype{\relax}% + \expandafter\endgroup\@after} +\def\cref@processgroup#1#2{% + \edef\@nextref{\cref@stack@top{#1}}% + \expandafter\ifx\csname r@\@nextref\endcsname\relax% + \def\@grouptype{\@undefined}% + \def\@groupformat{\@undefined}% + \else% + \expandafter\cref@gettype\expandafter{\@nextref}{\@grouptype}% + \expandafter\expandafter\expandafter\def% + \expandafter\expandafter\expandafter\@groupformat% + \expandafter\expandafter\expandafter{% + \csname cref@\@grouptype @format\endcsname% + {\@dummya}{\@dummyb}{\@dummyc}}% + \fi% + \let\@nexttype\@grouptype% + \let\@nextformat\@groupformat% + \@whilesw\ifx\@nextformat\@groupformat\fi{% + \expandafter\cref@stack@pull\expandafter{\@nextref}{#2}% + \cref@stack@pop{#1}% + \cref@isstackempty{#1}% + \if@cref@stackempty% + \let\@nexttype\relax% + \let\@nextformat\relax% + \else% + \edef\@nextref{\cref@stack@top{#1}}% + \ifx\@nextref\@empty% + \let\@nexttype\@grouptype% + \let\@nextforamt\@groupformat% \else% - \edef\@nextref{\cref@stack@top{\@refstack}}% - \ifx\@nextref\@empty% - \let\@currenttype\@nexttype% + \expandafter\ifx\csname r@\@nextref\endcsname\relax% + \def\@nexttype{\@undefined}% + \def\@nextformat{\@undefined}% \else% - \expandafter\ifx\csname r@\@nextref\endcsname\relax% - \def\@currenttype{\@undefined}% + \expandafter\cref@gettype\expandafter% + {\@nextref}{\@nexttype}% + \def\@tmpa{\@undefined}% + \ifx\@nexttype\@tmpa% + \def\@nextformat{\@undefined}% \else% - \expandafter\cref@gettype\expandafter% - {\@nextref}{\@currenttype}% + \expandafter\expandafter\expandafter\def% + \expandafter\expandafter\expandafter\@nextformat% + \expandafter\expandafter\expandafter{% + \csname cref@\@nexttype @format\endcsname% + {\@dummya}{\@dummyb}{\@dummyc}}% \fi% \fi% - \fi}% - \if@firstgroup% - \@firstgroupfalse% - \@secondgrouptrue% + \fi% + \fi}% +} +\def\cref@processgroupall#1#2{% + \cref@stack@init{\@tmpstack}% + \edef\@nextref{\cref@stack@top{#1}}% + \expandafter\ifx\csname r@\@nextref\endcsname\relax% + \def\@grouptype{\@undefined}% + \def\@groupformat{\@undefined}% + \else% + \expandafter\cref@gettype\expandafter{\@nextref}{\@grouptype}% + \expandafter\expandafter\expandafter\def% + \expandafter\expandafter\expandafter\@groupformat% + \expandafter\expandafter\expandafter{% + \csname cref@\@grouptype @format\endcsname% + {\@dummya}{\@dummyb}{\@dummyc}}% + \fi% + \let\@lasttype\@grouptype% + \let\@lastformat\@groupformat% + \cref@isstackfull{#1}% + \@whilesw\if@cref@stackfull\fi{% + \edef\@nextref{\cref@stack@top{#1}}% + \ifx\@nextref\@empty% + \ifx\@lastformat\@groupformat% + \let\@nexttype\@grouptype% + \let\@nextformat\@groupformat% + \else% + \let\@nexttype\relax% + \let\@nextformat\relax% + \fi% \else% - \cref@isstackfull{\@refstack}% - \if@cref@stackfull% - \@setcref@middlegroupconjunction% + \expandafter\ifx\csname r@\@nextref\endcsname\relax% + \def\@nexttype{\@undefined}% + \def\@nextformat{\@undefined}% \else% - \if@secondgroup% - \@setcref@pairgroupconjunction% + \expandafter\cref@gettype\expandafter% + {\@nextref}{\@nexttype}% + \def\@tmpa{\@undefined}% + \ifx\@nexttype\@tmpa% + \def\@nextformat{\@undefined}% \else% - \@setcref@lastgroupconjunction% + \expandafter\expandafter\expandafter\def% + \expandafter\expandafter\expandafter\@nextformat% + \expandafter\expandafter\expandafter{% + \csname cref@\@nexttype @format\endcsname% + {\@dummya}{\@dummyb}{\@dummyc}}% \fi% \fi% - \@secondgroupfalse% \fi% - \edef\@nextref{\cref@stack@top{\@refsubstack}}% - \cref@stack@pop{\@refsubstack}% - \cref@isstackempty{\@refsubstack}% - \if@cref@stackempty% - \expandafter\@setcref\expandafter{\@nextref}{#1}{}% + \ifx\@nextformat\@groupformat% + \expandafter\cref@stack@pull\expandafter{\@nextref}{#2}% \else% - \edef\@beginref{\@nextref}% - \let\@endref\relax% - \edef\@nextref{\cref@stack@top{\@refsubstack}}% - \count@consecutive=1% - \expandafter\ifx\csname r@\@beginref\endcsname\relax% + \expandafter\cref@stack@pull\expandafter{\@nextref}{\@tmpstack}% + \fi% + \cref@stack@pop{#1}% + \let\@lasttype\@nexttype% + \let\@lastformat\@nextformat% + \cref@isstackfull{#1}}% + \let#1\@tmpstack} +\def\cref@processconsecutive#1#2#3#4{% + #4=0% + \edef\@nextref{\cref@stack@top{#1}}% + \cref@stack@pop{#1}% + \cref@isstackempty{#1}% + \if@cref@stackempty% + \edef#2{\@nextref}% + \let#3\relax% + #4=1\relax% + \else% + \edef#2{\@nextref}% + \let#3\relax% + \edef\@nextref{\cref@stack@top{#1}}% + #4=1\relax% + \expandafter\ifx\csname r@#2\endcsname\relax% + \@cref@refconsecutivefalse% + \else% + \ifx\@nextref\@empty% + \@cref@refconsecutivefalse% + \@whilesw\ifx\@nextref\@empty\fi{% + \cref@stack@pop{#1}% + \cref@isstackempty{#1}% + \if@cref@stackempty% + \let\@nextref\relax% + \else% + \edef\@nextref{\cref@stack@top{#1}}% + \fi}% + \else% + \expandafter\ifx\csname r@\@nextref\endcsname\relax% + \@cref@refconsecutivefalse% + \else% + \edef\@tmpa{{#2}{\@nextref}}% + \expandafter\cref@isrefconsecutive\@tmpa% + \fi% + \fi% + \fi% + \@whilesw\if@cref@refconsecutive\fi{% + \advance#4 1% + \let#3\@nextref% + \cref@stack@pop{#1}% + \cref@isstackempty{#1}% + \if@cref@stackempty% \@cref@refconsecutivefalse% \else% + \edef\@nextref{\cref@stack@top{#1}}% \ifx\@nextref\@empty% \@cref@refconsecutivefalse% \@whilesw\ifx\@nextref\@empty\fi{% - \cref@stack@pop{\@refsubstack}% - \cref@isstackempty{\@refsubstack}% + \cref@stack@pop{#1}% + \cref@isstackempty{#1}% \if@cref@stackempty% \let\@nextref\relax% \else% - \edef\@nextref{\cref@stack@top{\@refsubstack}}% - \fi% - }% - \ifnum\count@consecutive=2% - \edef\@endref{\@endref,}% - \fi% + \edef\@nextref{\cref@stack@top{#1}}% + \fi}% \else% \expandafter\ifx\csname r@\@nextref\endcsname\relax% \@cref@refconsecutivefalse% \else% - \edef\@tmpa{{\@beginref}{\@nextref}}% + \edef\@tmpa{{#3}{\@nextref}}% \expandafter\cref@isrefconsecutive\@tmpa% \fi% \fi% + \fi}% + \fi} +\DeclareRobustCommand{\cref}[1]{\@cref{cref}{#1}} +\DeclareRobustCommand{\Cref}[1]{\@cref{Cref}{#1}} +\DeclareRobustCommand{\crefrange}[2]{\@setcrefrange{#1}{#2}{cref}{}} +\DeclareRobustCommand{\Crefrange}[2]{\@setcrefrange{#1}{#2}{Cref}{}} +\def\@cref#1#2{% + \begingroup% + \countdef\count@consecutive=0% + \countdef\count@group=1% + \count@group=1% + \newif\if@secondref% + \cref@stack@init{\@refstack}% + \cref@stack@push{#2}{\@refstack}% + \cref@isstackfull{\@refstack}% + \@whilesw\if@cref@stackfull\fi{% + \cref@stack@init{\@refsubstack}% + \if@cref@sort% + \cref@processgroupall{\@refstack}{\@refsubstack}% + \cref@stack@sort{\@refsubstack}{\cref@countercmp}% + \else% + \cref@processgroup{\@refstack}{\@refsubstack}% + \fi% + \ifnum\count@group=1\relax% + \advance\count@group 1% + \else% + \cref@isstackfull{\@refstack}% + \if@cref@stackfull% + \@setcref@middlegroupconjunction% + \else% + \ifnum\count@group=2\relax% + \@setcref@pairgroupconjunction% + \else% + \@setcref@lastgroupconjunction% + \fi% \fi% - \@whilesw\if@cref@refconsecutive\fi{% - \advance\count@consecutive 1% - \let\@endref\@nextref% + \advance\count@group 1% + \fi% + \if@cref@compress% + \cref@processconsecutive% + {\@refsubstack}{\@beginref}{\@endref}{\count@consecutive}% + \else% + \edef\@beginref{\cref@stack@top{\@refsubstack}}% + \cref@stack@pop{\@refsubstack}% + \@whilesw\ifx\@beginref\@empty\fi{% \cref@stack@pop{\@refsubstack}% \cref@isstackempty{\@refsubstack}% \if@cref@stackempty% - \@cref@refconsecutivefalse% + \let\@beginref\relax% \else% - \edef\@nextref{\cref@stack@top{\@refsubstack}}% - \ifx\@nextref\@empty% - \@cref@refconsecutivefalse% - \@whilesw\ifx\@nextref\@empty\fi{% - \cref@stack@pop{\@refsubstack}% - \cref@isstackempty{\@refsubstack}% - \if@cref@stackempty% - \let\@nextref\relax% - \else% - \edef\@nextref{\cref@stack@top{\@refsubstack}}% - \fi% - }% - \ifnum\count@consecutive=2% - \edef\@endref{\@endref,}% - \fi% - \else% - \expandafter\ifx\csname r@\@nextref\endcsname\relax% - \@cref@refconsecutivefalse% - \else% - \edef\@tmpa{{\@endref}{\@nextref}}% - \expandafter\cref@isrefconsecutive\@tmpa% - \fi% - \fi% + \edef\@beginref{\cref@stack@top{\@refsubstack}}% \fi}% - \ifx\@endref\relax% + \let\@endref\relax% + \count@consecutive=1\relax% + \fi% + \ifnum\count@consecutive=1\relax% + \cref@isstackfull{\@refsubstack}% + \if@cref@stackfull% \expandafter\@setcref\expandafter{\@beginref}{#1}{@first}% \else% - \ifnum\count@consecutive=2% - \expandafter\@setcref\expandafter{\@beginref}{#1}{@first}% - \expandafter\cref@stack@push\expandafter% - {\@endref}{\@refsubstack}% + \expandafter\@setcref\expandafter{\@beginref}{#1}{}% + \fi% + \else% + \ifnum\count@consecutive=2\relax% + \expandafter\@setcref\expandafter{\@beginref}{#1}{@first}% + \expandafter\cref@stack@push\expandafter% + {\@endref,}{\@refsubstack}% + \else% + \edef\@tmpa{{\@beginref}{\@endref}}% + \if@cref@stackempty% + \expandafter\@setcrefrange\@tmpa{#1}{}% \else% - \edef\@tmpa{{\@beginref}{\@endref}}% - \if@cref@stackempty% - \expandafter\@setcrefrange\@tmpa{#1}{}% - \else% - \expandafter\@setcrefrange\@tmpa{#1}{@first}% - \fi% + \expandafter\@setcrefrange\@tmpa{#1}{@first}% \fi% \fi% - \@secondreftrue% - \cref@isstackfull{\@refsubstack}% - \@whilesw\if@cref@stackfull\fi{% + \fi% + \@secondreftrue% + \cref@isstackfull{\@refsubstack}% + \@whilesw\if@cref@stackfull\fi{% + \if@cref@compress% + \cref@processconsecutive% + {\@refsubstack}{\@beginref}{\@endref}{\count@consecutive}% + \else% \edef\@beginref{\cref@stack@top{\@refsubstack}}% \cref@stack@pop{\@refsubstack}% - \let\@endref\relax% - \cref@isstackempty{\@refsubstack}% - \if@cref@stackempty% - \if@secondref% - \expandafter\@setcref\expandafter{\@beginref}{#1}{@second}% - \else% - \expandafter\@setcref\expandafter{\@beginref}{#1}{@last}% - \fi% - \else% - \edef\@nextref{\cref@stack@top{\@refsubstack}}% - \count@consecutive=1% - \ifx\@nextref\@empty% - \@cref@refconsecutivefalse% - \@whilesw\ifx\@nextref\@empty\fi{% - \cref@stack@pop{\@refsubstack}% - \cref@isstackempty{\@refsubstack}% - \if@cref@stackempty% - \let\@nextref\relax% - \else% - \edef\@nextref{\cref@stack@top{\@refsubstack}}% - \fi% - }% - \ifnum\count@consecutive=2% - \edef\@endref{\@endref,}% - \fi% - \else% - \expandafter\ifx\csname r@\@nextref\endcsname\relax% - \@cref@refconsecutivefalse% - \else% - \edef\@tmpa{{\@beginref}{\@nextref}}% - \expandafter\cref@isrefconsecutive\@tmpa% - \fi% - \fi% - \@whilesw\if@cref@refconsecutive\fi{% - \advance\count@consecutive 1% - \let\@endref\@nextref% - \cref@stack@pop{\@refsubstack}% - \cref@isstackempty{\@refsubstack}% - \if@cref@stackempty% - \@cref@refconsecutivefalse% - \else% - \edef\@nextref{\cref@stack@top{\@refsubstack}}% - \ifx\@nextref\@empty% - \@cref@refconsecutivefalse% - \@whilesw\ifx\@nextref\@empty\fi{% - \cref@stack@pop{\@refsubstack}% - \cref@isstackempty{\@refsubstack}% - \if@cref@stackempty% - \let\@nextref\relax% - \else% - \edef\@nextref{\cref@stack@top{\@refsubstack}}% - \fi% - }% - \ifnum\count@consecutive=2% - \edef\@endref{\@endref,}% - \fi% - \else% - \expandafter\ifx\csname r@\@nextref\endcsname\relax% - \@cref@refconsecutivefalse% - \else% - \edef\@tmpa{{\@endref}{\@nextref}}% - \expandafter\cref@isrefconsecutive\@tmpa% - \fi% - \fi% - \fi}% + \@whilesw\ifx\@beginref\@empty\fi{% + \cref@stack@pop{\@refsubstack}% \cref@isstackempty{\@refsubstack}% \if@cref@stackempty% - \if@secondref% - \def\@pos{@second}% - \else% - \def\@pos{@last}% - \fi% + \let\@beginref\relax% \else% - \def\@pos{@middle}% - \fi% - \ifx\@endref\relax% - \edef\@tmpa{{\@beginref}{#1}{\@pos}}% - \expandafter\@setcref\@tmpa% - \else% - \ifnum\count@consecutive=2% - \expandafter\@setcref\expandafter% - {\@beginref}{#1}{@middle}% - \expandafter\cref@stack@push\expandafter% - {\@endref}{\@refsubstack}% - \else% - \edef\@tmpa{{\@beginref}{\@endref}{#1}{\@pos}}% - \expandafter\@setcrefrange\@tmpa% - \fi% - \fi% + \edef\@beginref{\cref@stack@top{\@refsubstack}}% + \fi}% + \let\@endref\relax% + \count@consecutive=1\relax% + \fi% + \cref@isstackempty{\@refsubstack}% + \if@cref@stackempty% + \if@secondref% + \def\@pos{@second}% + \else% + \def\@pos{@last}% \fi% - \@secondreffalse% - \cref@isstackfull{\@refsubstack}% - }% end loop over reference substack - \fi% + \else% + \def\@pos{@middle}% + \fi% + \ifnum\count@consecutive=1\relax% + \edef\@tmpa{{\@beginref}{#1}{\@pos}}% + \expandafter\@setcref\@tmpa% + \else% + \ifnum\count@consecutive=2\relax% + \expandafter\@setcref\expandafter% + {\@beginref}{#1}{@middle}% + \expandafter\cref@stack@push\expandafter% + {\@endref}{\@refsubstack}% + \else% + \edef\@tmpa{{\@beginref}{\@endref}{#1}{\@pos}}% + \expandafter\@setcrefrange\@tmpa% + \fi% + \fi% + \@secondreffalse% + \cref@isstackfull{\@refsubstack}% + }% end loop over reference substack \cref@isstackfull{\@refstack}% }% end loop over main reference stack \endgroup} @@ -496,25 +849,6 @@ \fi% \fi} \def\@@setcref#1#2{\cref@getlabel{#2}{\@templabel}#1{\@templabel}{}{}} -\newif\if@cref@refconsecutive% -\def\cref@isrefconsecutive#1#2{% - \begingroup% - \countdef\refa@counter=1% - \countdef\refb@counter=2% - \cref@getcounter{#1}{\@result}% - \refa@counter=\@result% - \advance\refa@counter 1% - \cref@getcounter{#2}{\@result}% - \refb@counter=\@result% - \cref@getprefix{#1}{\refa@prefix}% - \cref@getprefix{#2}{\refb@prefix}% - \def\@after{\@cref@refconsecutivefalse}% - \ifx\refa@prefix\refb@prefix% - \ifnum\refa@counter=\refb@counter% - \def\@after{\@cref@refconsecutivetrue}% - \fi% - \fi% - \expandafter\endgroup\@after} \def\@setcrefrange#1#2#3#4{% \begingroup% \expandafter\ifx\csname r@#1\endcsname\relax% @@ -535,7 +869,8 @@ \protect\G@refundefinedtrue% \cref@getlabel{#1}{\@labela}% \@labela--\nfss@text{\reset@font\bfseries ??}% - \@latex@warning{Reference `#2' on page \thepage \space undefined}% + \@latex@warning{Reference `#2' on page \thepage % + \space undefined}% \else% \cref@gettype{#1}{\@typea}% \cref@gettype{#2}{\@typeb}% @@ -570,29 +905,28 @@ \def\@setcref@pairgroupconjunction{\crefpairgroupconjunction} \def\@setcref@middlegroupconjunction{\crefmiddlegroupconjunction} \def\@setcref@lastgroupconjunction{\creflastgroupconjunction} +\cref@stack@init{\cref@label@types} \newcommand{\crefdefaultlabelformat}[1]{% \def\cref@default@label##1##2##3{#1}} \newcommand{\crefname}[3]{% - \@crefname{cref}{#1}{#2}{#3}% - \@crefdefineallformats{#1}} + \@crefname{cref}{#1}{#2}{#3}{}} \newcommand{\Crefname}[3]{% - \@crefname{Cref}{#1}{#2}{#3}% - \@crefdefineallformats{#1}} + \@crefname{Cref}{#1}{#2}{#3}{}} \newcommand{\creflabelformat}[2]{% - \@creflabelformat{#1}{#2}% - \@crefdefineallformats{#1}} + \expandafter\def\csname cref@#1@label\endcsname##1##2##3{#2}% + \cref@stack@add{#1}{\cref@label@types}} \newcommand{\crefrangelabelformat}[2]{% - \@crefrangelabelformat{#1}{#2}% - \@crefdefineallformats{#1}} -\def\@creflabelformat#1#2{% - \expandafter\def\csname cref@#1@label\endcsname##1##2##3{#2}} -\def\@crefrangelabelformat#1#2{% \expandafter\def\csname cref@#1@rangelabel\endcsname% - ##1##2##3##4##5##6{#2}} -\def\@crefname#1#2#3#4{% + ##1##2##3##4##5##6{#2}% + \cref@stack@add{#1}{\cref@label@types}} +\newcommand{\crefname@preamble}[3]{% + \@crefname{cref}{#1}{#2}{#3}{@preamble}} +\newcommand{\Crefname@preamble}[3]{% + \@crefname{Cref}{#1}{#2}{#3}{@preamble}} +\def\@crefname#1#2#3#4#5{% \begingroup% - \expandafter\gdef\csname #1@#2@name\endcsname{#3}% - \expandafter\gdef\csname #1@#2@name@plural\endcsname{#4}% + \expandafter\gdef\csname #1@#2@name#5\endcsname{#3}% + \expandafter\gdef\csname #1@#2@name@plural#5\endcsname{#4}% \def\@tmpa##1##2\@nil{% \if##1c% \def\@other{C##2}% @@ -602,7 +936,7 @@ \def\@changecase{\MakeLowercase}% \fi}% \@tmpa#1\@nil% - \@ifundefined{\@other @#2@name}{% + \@ifundefined{\@other @#2@name#5}{% \expandafter\expandafter\expandafter\def% \expandafter\expandafter\expandafter\@tmpa% \expandafter\expandafter\expandafter{% @@ -621,13 +955,14 @@ \expandafter\@changecase\@tmpb}% \toksdef\@toksa=0% \@toksa={% - \expandafter\gdef\csname\@other @#2@name\endcsname}% + \expandafter\gdef\csname\@other @#2@name#5\endcsname}% \expandafter\the\expandafter\@toksa\expandafter{\@tmpa}% \@toksa={% - \expandafter\gdef\csname\@other @#2@name@plural\endcsname}% + \expandafter\gdef\csname\@other @#2@name@plural#5\endcsname}% \expandafter\the\expandafter\@toksa\expandafter{\@tmpb}% }{}% - \endgroup} + \endgroup% + \cref@stack@add{#2}{\cref@label@types}} \def\@crefconstructcomponents#1{% \@ifundefined{cref@#1@label}{% \let\@tmplabel\cref@default@label% @@ -642,39 +977,43 @@ \@tmplabel{####2}{####5}{####6}}% \toksdef\@toksa=0% \@toksa={\def\@tmprangelabel##1##2##3##4##5##6}% - \expandafter\expandafter\expandafter\expandafter% + % \expandafter\expandafter\expandafter\expandafter% + % \expandafter\expandafter\expandafter\the% + % \expandafter\expandafter\expandafter\expandafter% + % \expandafter\expandafter\expandafter\@toksa% + % \expandafter\expandafter\expandafter\expandafter% + % \expandafter\expandafter\expandafter{% + % \expandafter\expandafter\expandafter\@tmpa% + % \expandafter\crefrangeconjunction\@tmpb}% \expandafter\expandafter\expandafter\the% - \expandafter\expandafter\expandafter\expandafter% \expandafter\expandafter\expandafter\@toksa% - \expandafter\expandafter\expandafter\expandafter% \expandafter\expandafter\expandafter{% - \expandafter\expandafter\expandafter\@tmpa% - \expandafter\crefrangeconjunction\@tmpb}% + \expandafter\@tmpa\expandafter\crefrangeconjunction\@tmpb}% }{% \expandafter\let\expandafter\@tmprangelabel% \csname cref@#1@rangelabel\endcsname% }% - \expandafter\expandafter\expandafter\def% - \expandafter\expandafter\expandafter\@tmpname% - \expandafter\expandafter\expandafter{% - \csname cref@#1@name\endcsname}% - \expandafter\expandafter\expandafter\def% - \expandafter\expandafter\expandafter\@tmpName% - \expandafter\expandafter\expandafter{% - \csname Cref@#1@name\endcsname}% - \expandafter\expandafter\expandafter\def% - \expandafter\expandafter\expandafter\@tmpnameplural% - \expandafter\expandafter\expandafter{% - \csname cref@#1@name@plural\endcsname}% - \expandafter\expandafter\expandafter\def% - \expandafter\expandafter\expandafter\@tmpNameplural% - \expandafter\expandafter\expandafter{% - \csname Cref@#1@name@plural\endcsname}% \expandafter\def\expandafter\@tmplabel\expandafter{% \@tmplabel{########1}{########2}{########3}}% \expandafter\def\expandafter\@tmprangelabel\expandafter{% \@tmprangelabel{########1}{########2}{########3}% {########4}{########5}{########6}}% + % \expandafter\expandafter\expandafter\def% + % \expandafter\expandafter\expandafter\@tmpname% + % \expandafter\expandafter\expandafter{% + % \csname cref@#1@name\endcsname}% + \expandafter\def\expandafter\@tmpname\expandafter{% + \csname cref@#1@name\endcsname}% + % \expandafter\expandafter\expandafter\def% + % \expandafter\expandafter\expandafter\@tmpName% + % \expandafter\expandafter\expandafter{% + % \csname Cref@#1@name\endcsname}% + \expandafter\def\expandafter\@tmpName\expandafter{% + \csname Cref@#1@name\endcsname}% + \expandafter\def\expandafter\@tmpnameplural\expandafter{% + \csname cref@#1@name@plural\endcsname}% + \expandafter\def\expandafter\@tmpNameplural\expandafter{% + \csname Cref@#1@name@plural\endcsname}% } \def\@crefdefineformat#1{% \begingroup% @@ -721,17 +1060,23 @@ \expandafter\expandafter\expandafter\@tmpFirst% \expandafter\expandafter\expandafter{% \expandafter\@tmpNameplural\expandafter~\@tmplabel}% - \expandafter\expandafter\expandafter\def% - \expandafter\expandafter\expandafter\@tmpsecond% - \expandafter\expandafter\expandafter{% + % \expandafter\expandafter\expandafter\def% + % \expandafter\expandafter\expandafter\@tmpsecond% + % \expandafter\expandafter\expandafter{% + % \expandafter\crefpairconjunction\@tmplabel}% + \expandafter\def\expandafter\@tmpsecond\expandafter{% \expandafter\crefpairconjunction\@tmplabel}% - \expandafter\expandafter\expandafter\def% - \expandafter\expandafter\expandafter\@tmpmiddle% - \expandafter\expandafter\expandafter{% + % \expandafter\expandafter\expandafter\def% + % \expandafter\expandafter\expandafter\@tmpmiddle% + % \expandafter\expandafter\expandafter{% + % \expandafter\crefmiddleconjunction\@tmplabel}% + \expandafter\def\expandafter\@tmpmiddle\expandafter{% \expandafter\crefmiddleconjunction\@tmplabel}% - \expandafter\expandafter\expandafter\def% - \expandafter\expandafter\expandafter\@tmplast% - \expandafter\expandafter\expandafter{% + % \expandafter\expandafter\expandafter\def% + % \expandafter\expandafter\expandafter\@tmplast% + % \expandafter\expandafter\expandafter{% + % \expandafter\creflastconjunction\@tmplabel}% + \expandafter\def\expandafter\@tmplast\expandafter{% \expandafter\creflastconjunction\@tmplabel}% \toksdef\@toksa=0% \toksdef\@toksb=1% @@ -769,17 +1114,23 @@ \expandafter\expandafter\expandafter\@tmpFirst% \expandafter\expandafter\expandafter{% \expandafter\@tmpNameplural\expandafter~\@tmprangelabel}% - \expandafter\expandafter\expandafter\def% - \expandafter\expandafter\expandafter\@tmpsecond% - \expandafter\expandafter\expandafter{% + % \expandafter\expandafter\expandafter\def% + % \expandafter\expandafter\expandafter\@tmpsecond% + % \expandafter\expandafter\expandafter{% + % \expandafter\crefpairconjunction\@tmprangelabel}% + \expandafter\def\expandafter\@tmpsecond\expandafter{% \expandafter\crefpairconjunction\@tmprangelabel}% - \expandafter\expandafter\expandafter\def% - \expandafter\expandafter\expandafter\@tmpmiddle% - \expandafter\expandafter\expandafter{% + % \expandafter\expandafter\expandafter\def% + % \expandafter\expandafter\expandafter\@tmpmiddle% + % \expandafter\expandafter\expandafter{% + % \expandafter\crefmiddleconjunction\@tmprangelabel}% + \expandafter\def\expandafter\@tmpmiddle\expandafter{% \expandafter\crefmiddleconjunction\@tmprangelabel}% - \expandafter\expandafter\expandafter\def% - \expandafter\expandafter\expandafter\@tmplast% - \expandafter\expandafter\expandafter{% + % \expandafter\expandafter\expandafter\def% + % \expandafter\expandafter\expandafter\@tmplast% + % \expandafter\expandafter\expandafter{% + % \expandafter\creflastconjunction\@tmprangelabel}% + \expandafter\def\expandafter\@tmplast\expandafter{% \expandafter\creflastconjunction\@tmprangelabel}% \toksdef\@toksa=0% \toksdef\@toksb=1% @@ -995,313 +1346,156 @@ \csname #1@#2@format@last\endcsname% }{}% \endgroup} -\newcommand{\crefrangeconjunction}{ to~} -\newcommand{\crefpairconjunction}{ and~} -\newcommand{\crefmiddleconjunction}{, } -\newcommand{\creflastconjunction}{ and~} -\crefdefaultlabelformat{#2#1#3} -\AtBeginDocument{% - \@ifundefined{crefpairgroupconjunction}{% - \let\crefpairgroupconjunction\crefpairconjunction}{}% - \@ifundefined{crefmiddlegroupconjunction}{% - \let\crefmiddlegroupconjunction\crefmiddleconjunction}{}% - \@ifundefined{creflastgroupconjunction}{% - \def\@tmpa{ and~}% - \ifx\creflastconjunction\@tmpa% - \def\creflastgroupconjunction{, and~}% - \else% - \let\creflastgroupconjunction\creflastconjunction% - \fi}{}% - \@ifundefined{cref@equation@name}{% - \@crefname{cref}{equation}{eq.}{eqs.}% - \@crefname{Cref}{equation}{Equation}{Equations}}{}% - \@ifundefined{cref@equation@label}{% - \@creflabelformat{equation}{\textup{(#2#1#3)}}% - \@ifundefined{cref@equation@rangelabel}{% - \@crefrangelabelformat{equation}{% - \textup{(#3#1#4)}--\textup{(#5#2#6)}}}{}}{}% - \@ifundefined{cref@chapter@name}{% - \@crefname{cref}{chapter}{chapter}{chapters}% - \@crefname{Cref}{chapter}{Chapter}{Chapters}}{}% - \@ifundefined{cref@section@name}{% - \@crefname{cref}{section}{section}{sections}% - \@crefname{Cref}{section}{Section}{Sections}}{}% - \@ifundefined{cref@subsection@name}{% - \@crefname{cref}{subsection}{section}{sections}% - \@crefname{Cref}{subsection}{Section}{Sections}}{}% - \@ifundefined{cref@subsubsection@name}{% - \@crefname{cref}{subsubsection}{section}{sections}% - \@crefname{Cref}{subsubsection}{Section}{Sections}}{}% - \@ifundefined{cref@subsubsubsection@name}{% - \@crefname{cref}{subsubsubsection}{section}{sections}% - \@crefname{Cref}{subsubsubsection}{Section}{Sections}}{}% - \@ifundefined{cref@appendix@name}{% - \@crefname{cref}{appendix}{appendix}{appendices}% - \@crefname{Cref}{appendix}{Appendix}{Appendices}}{}% - \@ifundefined{cref@figure@name}{% - \@crefname{cref}{figure}{fig.}{figs.}% - \@crefname{Cref}{figure}{Figure}{Figures}}{}% - \@ifundefined{cref@figure@rangelabel}{% - \@crefrangelabelformat{figure}{#3#1#4--#5#2#6}}{}% - \@ifundefined{cref@table@name}{% - \@crefname{cref}{table}{table}{tables}% - \@crefname{Cref}{table}{Table}{Tables}}{}% - \@ifundefined{cref@theorem@name}{% - \@crefname{cref}{theorem}{theorem}{theorems}% - \@crefname{Cref}{theorem}{Theorem}{Theorems}}{}% - \@ifundefined{cref@enumi@name}{% - \@crefname{cref}{enumi}{item}{items}% - \@crefname{Cref}{enumi}{Item}{Items}}{}% - \@ifundefined{cref@enumii@name}{% - \@crefname{cref}{enumii}{item}{items}% - \@crefname{Cref}{enumii}{Item}{Items}}{}% - \@ifundefined{cref@enumiii@name}{% - \@crefname{cref}{enumiii}{item}{items}% - \@crefname{Cref}{enumiii}{Item}{Items}}{}% - \@ifundefined{cref@enumiv@name}{% - \@crefname{cref}{enumiv}{item}{items}% - \@crefname{Cref}{enumiv}{Item}{Items}}{}% - \@ifundefined{cref@enumv@name}{% - \@crefname{cref}{enumv}{item}{items}% - \@crefname{Cref}{enumv}{Item}{Items}}{}% - \@ifundefined{cref@equation@format}{% - \@crefdefineformat{equation}}{}% - \@ifundefined{crefrange@equation@format}{% - \@crefrangedefineformat{equation}}{}% - \@ifundefined{cref@equation@format@first}{% - \@crefdefinemultiformat{equation}}{}% - \@ifundefined{crefrange@equation@format@first}{% - \@crefrangedefinemultiformat{equation}}{}% - \@ifundefined{cref@chapter@format}{% - \@crefdefineformat{chapter}}{}% - \@ifundefined{crefrange@chapter@format}{% - \@crefrangedefineformat{chapter}}{}% - \@ifundefined{cref@chapter@format@first}{% - \@crefdefinemultiformat{chapter}}{}% - \@ifundefined{crefrange@chapter@format@first}{% - \@crefrangedefinemultiformat{chapter}}{}% - \@ifundefined{cref@section@format}{% - \@crefdefineformat{section}}{}% - \@ifundefined{crefrange@section@format}{% - \@crefrangedefineformat{section}}{}% - \@ifundefined{cref@section@format@first}{% - \@crefdefinemultiformat{section}}{}% - \@ifundefined{crefrange@section@format@first}{% - \@crefrangedefinemultiformat{section}}{}% - \@ifundefined{cref@subsection@format}{% - \@crefdefineformat{subsection}}{}% - \@ifundefined{crefrange@subsection@format}{% - \@crefrangedefineformat{subsection}}{}% - \@ifundefined{cref@subsection@format@first}{% - \@crefdefinemultiformat{subsection}}{}% - \@ifundefined{crefrange@subsection@format@first}{% - \@crefrangedefinemultiformat{subsection}}{}% - \@ifundefined{cref@subsubsection@format}{% - \@crefdefineformat{subsubsection}}{}% - \@ifundefined{crefrange@subsubsection@format}{% - \@crefrangedefineformat{subsubsection}}{}% - \@ifundefined{cref@subsubsection@format@first}{% - \@crefdefinemultiformat{subsubsection}}{}% - \@ifundefined{crefrange@subsubsection@format@first}{% - \@crefrangedefinemultiformat{subsubsection}}{}% - \@ifundefined{cref@subsubsubsection@format}{% - \@crefdefineformat{subsubsubsection}}{}% - \@ifundefined{crefrange@subsubsubsection@format}{% - \@crefrangedefineformat{subsubsubsection}}{}% - \@ifundefined{cref@subsubsubsection@format@first}{% - \@crefdefinemultiformat{subsubsubsection}}{}% - \@ifundefined{crefrange@subsubsubsection@format@first}{% - \@crefrangedefinemultiformat{subsubsubsection}}{}% - \@ifundefined{cref@appendix@format}{% - \@crefdefineformat{appendix}}{}% - \@ifundefined{crefrange@appendix@format}{% - \@crefrangedefineformat{appendix}}{}% - \@ifundefined{cref@appendix@format@first}{% - \@crefdefinemultiformat{appendix}}{}% - \@ifundefined{crefrange@appendix@format@first}{% - \@crefrangedefinemultiformat{appendix}}{}% - \@ifundefined{cref@figure@format}{% - \@crefdefineformat{figure}}{}% - \@ifundefined{crefrange@figure@format}{% - \@crefrangedefineformat{figure}}{}% - \@ifundefined{cref@figure@format@first}{% - \@crefdefinemultiformat{figure}}{}% - \@ifundefined{crefrange@figure@format@first}{% - \@crefrangedefinemultiformat{figure}}{}% - \@ifundefined{cref@table@format}{% - \@crefdefineformat{table}}{}% - \@ifundefined{crefrange@table@format}{% - \@crefrangedefineformat{table}}{}% - \@ifundefined{cref@table@format@first}{% - \@crefdefinemultiformat{table}}{}% - \@ifundefined{crefrange@table@format@first}{% - \@crefrangedefinemultiformat{table}}{}% - \@ifundefined{cref@theorem@format}{% - \@crefdefineformat{theorem}}{}% - \@ifundefined{crefrange@theorem@format}{% - \@crefrangedefineformat{theorem}}{}% - \@ifundefined{cref@theorem@format@first}{% - \@crefdefinemultiformat{theorem}}{}% - \@ifundefined{crefrange@theorem@format@first}{% - \@crefrangedefinemultiformat{theorem}}{}% - \@ifundefined{cref@enumi@format}{% - \@crefdefineformat{enumi}}{}% - \@ifundefined{crefrange@enumi@format}{% - \@crefrangedefineformat{enumi}}{}% - \@ifundefined{cref@enumi@format@first}{% - \@crefdefinemultiformat{enumi}}{}% - \@ifundefined{crefrange@enumi@format@first}{% - \@crefrangedefinemultiformat{enumi}}{}% - \@ifundefined{cref@enumii@format}{% - \@crefdefineformat{enumii}}{}% - \@ifundefined{crefrange@enumii@format}{% - \@crefrangedefineformat{enumii}}{}% - \@ifundefined{cref@enumii@format@first}{% - \@crefdefinemultiformat{enumii}}{}% - \@ifundefined{crefrange@enumii@format@first}{% - \@crefrangedefinemultiformat{enumii}}{}% - \@ifundefined{cref@enumiii@format}{% - \@crefdefineformat{enumiii}}{}% - \@ifundefined{crefrange@enumiii@format}{% - \@crefrangedefineformat{enumiii}}{}% - \@ifundefined{cref@enumiii@format@first}{% - \@crefdefinemultiformat{enumiii}}{}% - \@ifundefined{crefrange@enumiii@format@first}{% - \@crefrangedefinemultiformat{enumiii}}{}% - \@ifundefined{cref@enumiv@format}{% - \@crefdefineformat{enumiv}}{}% - \@ifundefined{crefrange@enumiv@format}{% - \@crefrangedefineformat{enumiv}}{}% - \@ifundefined{cref@enumiv@format@first}{% - \@crefdefinemultiformat{enumiv}}{}% - \@ifundefined{crefrange@enumiv@format@first}{% - \@crefrangedefinemultiformat{enumiv}}{}% - \@ifundefined{cref@enumiv@format}{% - \@crefdefineformat{enumiv}}{}% - \@ifundefined{crefrange@enumiv@format}{% - \@crefrangedefineformat{enumiv}}{}% - \@ifundefined{cref@enumiv@format@first}{% - \@crefdefinemultiformat{enumiv}}{}% - \@ifundefined{crefrange@enumiv@format@first}{% - \@crefrangedefinemultiformat{enumiv}}{}% -} \@ifpackageloaded{hyperref}{% -\PackageInfo{cleveref}{`hyperref' support loaded} -\@ifpackagewith{hyperref}{backref}{% - \PackageError{cleveref}{`cleveref' is currently incompatible with - `hyperref's `backref' option}{Remove the `backref' option from - `hyperref' if you want to use `cleveref'}}{} -\def\cref@reflabel#1#2#3#4#5{\@result} -\def\cref@hyperref#1{\expandafter\expandafter\expandafter% - \@fourthoffive\csname r@#1\endcsname} -\def\cref@getlabel#1#2{% - \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname% - \edef\@tmpa{\expandafter\@firstoffive\@tmpa}% - \expandafter\@cref@getlabel\@tmpa\@nil#2} -\def\cref@gettype#1#2{% - \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname% - \edef\@tmpa{\expandafter\@firstoffive\@tmpa}% - \expandafter\@cref@gettype\@tmpa\@nil#2} -\def\cref@getcounter#1#2{% - \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname% - \edef\@tmpa{\expandafter\@firstoffive\@tmpa}% - \expandafter\@cref@getcounter\@tmpa\@nil#2} -\def\cref@getprefix#1#2{% - \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname% - \edef\@tmpa{\expandafter\@firstoffive\@tmpa}% - \expandafter\@cref@getprefix\@tmpa\@nil#2} -\def\H@refstepcounter#1{% - \stepcounter{#1}% - \cref@resetby{#1}{\@result}% - \ifx\@result\relax\def\@result{}% - \else\edef\@result{\csname the\@result\endcsname}\fi% - \protected@edef\@currentlabel{% - [#1][\arabic{#1}][\@result]% - \csname p@#1\endcsname\csname the#1\endcsname}} -\def\refstepcounter@noarg#1{\cref@old@refstepcounter{#1}% -} -\def\refstepcounter@optarg[#1]#2{% - \cref@old@refstepcounter{#2}% - \expandafter\@cref@getlabel\@currentlabel\@nil{\@tmplabel}% - \cref@resetby{#2}{\@tmpreset}% - \ifx\@tmpreset\relax\def\@tmpreset{}% - \else\edef\@tmpreset{\csname the\@tmpreset\endcsname}\fi% - \protected@edef\@currentlabel{% - [#1][\arabic{#2}][\@tmpreset]\@tmplabel}} -\renewcommand\appendix{% - \cref@old@appendix% - \@ifundefined{chapter}{% - \def\H@refstepcounter##1{% - \stepcounter{##1}% - \cref@resetby{##1}{\@result}% - \ifx\@result\relax\def\@result{}% - \else\edef\@result{\csname the\@result\endcsname}\fi% - \def\@tmpa{##1}% - \def\@tmpb{section}% - \ifx\@tmpa\@tmpb% - \protected@edef\@currentlabel{% - [appendix][\arabic{##1}][\@result]% - \csname p@##1\endcsname\csname the##1\endcsname}% - \else% - \protected@edef\@currentlabel{% - [##1][\arabic{##1}][\@result]% - \csname p@##1\endcsname\csname the##1\endcsname}% - \fi}% - }{% - \def\H@refstepcounter##1{% - \stepcounter{##1}% - \cref@resetby{##1}{\@result}% - \ifx\@result\relax\def\@result{}% - \else\edef\@result{\csname the\@result\endcsname}\fi% - \def\@tmpa{##1}% - \def\@tmpb{chapter}% - \ifx\@tmpa\@tmpb% - \protected@edef\@currentlabel{% - [appendix][\arabic{##1}][\@result]% - \csname p@##1\endcsname\csname the##1\endcsname}% - \else% - \protected@edef\@currentlabel{% - [##1][\arabic{##1}][\@result]% - \csname p@##1\endcsname\csname the##1\endcsname}% - \fi}% - }% -} -\newif\if@crefstarred -\DeclareRobustCommand{\cref}{% - \@ifstar{\@crefstar{cref}}{\@crefnostar{cref}}} -\DeclareRobustCommand{\Cref}{% - \@ifstar{\@crefstar{Cref}}{\@crefnostar{Cref}}} -\DeclareRobustCommand{\crefrange}{% - \@ifstar{\@crefrangestar{cref}}{\@crefrangenostar{cref}}} -\DeclareRobustCommand{\Crefrange}{% - \@ifstar{\@crefrangestar{Cref}}{\@crefrangenostar{Cref}}} -\def\@crefnostar#1#2{\@cref{#1}{#2}} -\def\@crefstar#1#2{% - \@crefstarredtrue\@crefnostar{#1}{#2}\@crefstarredfalse} -\def\@crefrangenostar#1#2#3{\@setcrefrange{#2}{#3}{#1}{}} -\def\@crefrangestar#1#2#3{% - \@crefstarredtrue\@crefrangenostar{#1}{#2}{#3}\@crefstarredfalse} -\def\@@setcref#1#2{% - \cref@getlabel{#2}{\@tmplabel}% - \if@crefstarred% - #1{\@tmplabel}{}{}% - \else% - \edef\@tmplink{\cref@hyperref{#2}}% - #1{\@tmplabel}{\hyper@linkstart{link}{\@tmplink}}{\hyper@linkend}% - \fi} -\def\@@setcrefrange#1#2#3{% - \cref@getlabel{#2}{\@labela}% - \cref@getlabel{#3}{\@labelb}% - \if@crefstarred% - #1{\@labela}{\@labelb}{}{}{}{}% - \else% - \edef\@linka{\cref@hyperref{#2}}% - \edef\@linkb{\cref@hyperref{#3}}% - #1{\@labela}{\@labelb}% - {\hyper@linkstart{link}{\@linka}}{\hyper@linkend}% - {\hyper@linkstart{link}{\@linkb}}{\hyper@linkend}% - \fi} -}{} + \PackageInfo{cleveref}{`hyperref' support loaded} + \@ifpackagewith{hyperref}{backref}{% + \PackageError{cleveref}{`cleveref' is currently incompatible with + `hyperref's `backref' option}{Remove the `backref' option from + `hyperref' if you want to use `cleveref'}}{} + \def\cref@reflabel#1#2#3#4#5{\@result} + \def\cref@hyperref#1{\expandafter\expandafter\expandafter% + \@fourthoffive\csname r@#1\endcsname} + \def\cref@getlabel#1#2{% + \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname% + \edef\@tmpa{\expandafter\@firstoffive\@tmpa}% + \expandafter\@cref@getlabel\@tmpa\@nil#2} + \def\cref@gettype#1#2{% + \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname% + \edef\@tmpa{\expandafter\@firstoffive\@tmpa}% + \expandafter\@cref@gettype\@tmpa\@nil#2} + \def\cref@getcounter#1#2{% + \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname% + \edef\@tmpa{\expandafter\@firstoffive\@tmpa}% + \expandafter\@cref@getcounter\@tmpa\@nil#2} + \def\cref@getprefix#1#2{% + \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname% + \edef\@tmpa{\expandafter\@firstoffive\@tmpa}% + \expandafter\@cref@getprefix\@tmpa\@nil#2} + \def\H@refstepcounter#1{% + \stepcounter{#1}% + \cref@constructprefix{#1}{\@result}% + \protected@edef\@currentlabel{% + [#1][\arabic{#1}][\@result]% + \csname p@#1\endcsname\csname the#1\endcsname}} + \def\refstepcounter@noarg#1{\cref@old@refstepcounter{#1}} + \def\refstepcounter@optarg[#1]#2{% + \cref@old@refstepcounter{#2}% + \expandafter\@cref@getlabel\@currentlabel\@nil{\@tmplabel}% + \cref@constructprefix{#2}{\@tmpreset}% + \protected@edef\@currentlabel{% + [#1][\arabic{#2}][\@tmpreset]\@tmplabel}} + \renewcommand\appendix{% + \cref@old@appendix% + \@ifundefined{chapter}{% + \def\H@refstepcounter##1{% + \stepcounter{##1}% + \cref@constructprefix{##1}{\@result}% + \edef\@result{{2147483647}\@result}% + \def\@tmpa{##1}% + \def\@tmpb{section}% + \ifx\@tmpa\@tmpb% + \protected@edef\@currentlabel{% + [appendix][\arabic{##1}][\@result]% + \csname p@##1\endcsname\csname the##1\endcsname}% + \else% + \def\@tmpa{##1}% + \def\@tmpb{subsection}% + \ifx\@tmpa\@tmpb% + \protected@edef\@currentlabel{% + [subappendix][\arabic{##1}][\@result]% + \csname p@##1\endcsname\csname the##1\endcsname}% + \else% + \def\@tmpa{##1}% + \def\@tmpb{subsubsection}% + \ifx\@tmpa\@tmpb% + \protected@edef\@currentlabel{% + [subsubappendix][\arabic{##1}][\@result]% + \csname p@##1\endcsname\csname the##1\endcsname}% + \else% + \protected@edef\@currentlabel{% + [##1][\arabic{##1}][\@result]% + \csname p@##1\endcsname\csname the##1\endcsname}% + \fi% + \fi% + \fi}% + }{% + \def\H@refstepcounter##1{% + \stepcounter{##1}% + \cref@constructprefix{##1}{\@result}% + \edef\@result{{2147483647}\@result}% + \def\@tmpa{##1}% + \def\@tmpb{chapter}% + \ifx\@tmpa\@tmpb% + \protected@edef\@currentlabel{% + [appendix][\arabic{##1}][\@result]% + \csname p@##1\endcsname\csname the##1\endcsname}% + \else% + \def\@tmpa{##1}% + \def\@tmpb{section}% + \ifx\@tmpa\@tmpb% + \protected@edef\@currentlabel{% + [subappendix][\arabic{##1}][\@result]% + \csname p@##1\endcsname\csname the##1\endcsname}% + \else% + \def\@tmpa{##1}% + \def\@tmpb{subsection}% + \ifx\@tmpa\@tmpb% + \protected@edef\@currentlabel{% + [subsubappendix][\arabic{##1}][\@result]% + \csname p@##1\endcsname\csname the##1\endcsname}% + \else% + \def\@tmpa{##1}% + \def\@tmpb{subsubsection}% + \ifx\@tmpa\@tmpb% + \protected@edef\@currentlabel{% + [subsubsubappendix][\arabic{##1}][\@result]% + \csname p@##1\endcsname\csname the##1\endcsname}% + \else% + \protected@edef\@currentlabel{% + [##1][\arabic{##1}][\@result]% + \csname p@##1\endcsname\csname the##1\endcsname}% + \fi% + \fi% + \fi% + \fi}% + }% + } + \newif\if@crefstarred + \DeclareRobustCommand{\cref}{% + \@ifstar{\@crefstar{cref}}{\@crefnostar{cref}}} + \DeclareRobustCommand{\Cref}{% + \@ifstar{\@crefstar{Cref}}{\@crefnostar{Cref}}} + \def\@crefnostar#1#2{\@cref{#1}{#2}} + \def\@crefstar#1#2{% + \@crefstarredtrue\@cref{#1}{#2}\@crefstarredfalse} + \DeclareRobustCommand{\crefrange}{% + \@ifstar{\@crefrangestar{cref}}{\@crefrangenostar{cref}}} + \DeclareRobustCommand{\Crefrange}{% + \@ifstar{\@crefrangestar{Cref}}{\@crefrangenostar{Cref}}} + \def\@crefrangenostar#1#2#3{\@setcrefrange{#2}{#3}{#1}{}} + \def\@crefrangestar#1#2#3{% + \@crefstarredtrue\@setcrefrange{#2}{#3}{#1}{}\@crefstarredfalse} + \def\@@setcref#1#2{% + \cref@getlabel{#2}{\@tmplabel}% + \if@crefstarred% + #1{\@tmplabel}{}{}% + \else% + \edef\@tmplink{\cref@hyperref{#2}}% + #1{\@tmplabel}{\hyper@linkstart{link}{\@tmplink}}{\hyper@linkend}% + \fi} + \def\@@setcrefrange#1#2#3{% + \cref@getlabel{#2}{\@labela}% + \cref@getlabel{#3}{\@labelb}% + \if@crefstarred% + #1{\@labela}{\@labelb}{}{}{}{}% + \else% + \edef\@linka{\cref@hyperref{#2}}% + \edef\@linkb{\cref@hyperref{#3}}% + #1{\@labela}{\@labelb}% + {\hyper@linkstart{link}{\@linka}}{\hyper@linkend}% + {\hyper@linkstart{link}{\@linkb}}{\hyper@linkend}% + \fi}% + }{}% end of \@ifpackageloaded \AtBeginDocument{% \DeclareRobustCommand{\ref}{\@ifstar\cref@refstar\cref@ref} \def\cref@refstar#1{% @@ -1312,262 +1506,1785 @@ \fi% \expandafter\real@setref\csname r@#1\endcsname{\cref@reflabel}{#1}}% } -\@ifpackageloaded{ntheorem}{% -\PackageInfo{cleveref}{`ntheorem' support loaded} -\@ifpackagewith{ntheorem}{thref}{% - \PackageWarning{cleveref}{`cleveref' supersedes `ntheorem's `thref' - option}% - \renewcommand{\thref}{\cref}}{} -\@ifundefined{theorem@prework}{\let\theorem@prework\relax}{} -\gdef\@thm#1#2#3{% - \if@thmmarks% - \stepcounter{end\InTheoType ctr}% - \fi% - \renewcommand{\InTheoType}{#1}% - \if@thmmarks% - \stepcounter{curr#1ctr}% - \setcounter{end#1ctr}{0}% - \fi% - \refstepcounter[#1]{#2}% <<<<< - \theorem@prework% - \thm@topsepadd \theorempostskipamount% - \ifvmode \advance\thm@topsepadd\partopsep\fi% - \trivlist% - \@topsep \theorempreskipamount% - \@topsepadd \thm@topsepadd% - \advance\linewidth -\theorem@indent% - \advance\@totalleftmargin \theorem@indent% - \parshape \@ne \@totalleftmargin \linewidth% - \@ifnextchar[{\@ythm{#1}{#2}{#3}}{\@xthm{#1}{#2}{#3}}%] - } -\AtBeginDocument{% - \@ifundefined{cref@lemma@name}{% - \@crefname{cref}{lemma}{lemma}{lemmas}% - \@crefname{Cref}{lemma}{Lemma}{Lemmas}}{}% - \@ifundefined{cref@corollary@name}{% - \@crefname{cref}{corollary}{corollary}{corollaries}% - \@crefname{Cref}{corollary}{Corollary}{Corollaries}}{}% - \@ifundefined{cref@proposition@name}{% - \@crefname{cref}{proposition}{proposition}{propositions}% - \@crefname{Cref}{proposition}{Proposition}{Proposition}}{}% - \@ifundefined{cref@definition@name}{% - \@crefname{cref}{definition}{definition}{definitions}% - \@crefname{Cref}{definition}{Definition}{Definitions}}{}% - \@ifundefined{cref@result@name}{% - \@crefname{cref}{result}{result}{results}% - \@crefname{cref}{result}{Result}{Results}}{}% - \@ifundefined{cref@lemma@format}{% - \@crefdefineformat{lemma}}{}% - \@ifundefined{crefrange@lemma@format}{% - \@crefrangedefineformat{lemma}}{}% - \@ifundefined{cref@lemma@format@first}{% - \@crefdefinemultiformat{lemma}}{}% - \@ifundefined{crefrange@lemma@format@first}{% - \@crefrangedefinemultiformat{lemma}}{}% - \@ifundefined{cref@corollary@format}{% - \@crefdefineformat{corollary}}{}% - \@ifundefined{crefrange@corollary@format}{% - \@crefrangedefineformat{corollary}}{}% - \@ifundefined{cref@corollary@format@first}{% - \@crefdefinemultiformat{corollary}}{}% - \@ifundefined{crefrange@corollary@format@first}{% - \@crefrangedefinemultiformat{corollary}}{}% - \@ifundefined{cref@definition@format}{% - \@crefdefineformat{definition}}{}% - \@ifundefined{crefrange@definition@format}{% - \@crefrangedefineformat{definition}}{}% - \@ifundefined{cref@definition@format@first}{% - \@crefdefinemultiformat{definition}}{}% - \@ifundefined{crefrange@definition@format@first}{% - \@crefrangedefinemultiformat{definition}}{}% - \@ifundefined{cref@result@format}{% - \@crefdefineformat{result}}{}% - \@ifundefined{crefrange@result@format}{% - \@crefrangedefineformat{result}}{}% - \@ifundefined{cref@result@format@first}{% - \@crefdefinemultiformat{result}}{}% - \@ifundefined{crefrange@result@format@first}{% - \@crefrangedefinemultiformat{result}}{}% -}% -}{} -\DeclareOption{poorman}{% -\PackageInfo{cleveref}{option `poorman' loaded} -\edef\cref@text{} -\AtBeginDocument{% - \newwrite\@crefscript% - \immediate\openout\@crefscript=\jobname.sed% -} -\AtEndDocument{% - \immediate\closeout\@crefscript% - \newread\@crefscript% - \immediate\openin\@crefscript=\jobname.sed% - \begingroup% - \newif\if@not@eof% - \def\@eof{\par }% - \catcode`.=13 \catcode`[=13 \catcode`]=13 - \catcode`^=13 \catcode`$=13 %$ - \catcode`\=0 \catcode`<=1 \catcode`>=2 - \catcode`\\=13 \catcode`\{=12 \catcode`\}=12 \catcode`_=12 - \lccode`/=92 - \lccode`~=92\lowercase{\def~{\string/\string/}}% - \lccode`~=46\lowercase{\def~{\string/\string.}}% - \lccode`~=91\lowercase{\def~{\string/\string[}}% - \lccode`~=93\lowercase{\def~{\string/\string]}}% - \lccode`~=94\lowercase{\def~{\string/\string^}}% - \lccode`~=36\lowercase{\def~{\string/\string$}}% $ - \lccode`~=0 \lccode`/=0 \catcode`~=12 - \def\cref@text{}% - \immediate\read\@crefscript to \@tmpa% - \ifx\@tmpa\@eof% - \@not@eoffalse% + \@ifpackageloaded{ntheorem}{% + \PackageInfo{cleveref}{`ntheorem' support loaded} + \@ifpackagewith{ntheorem}{thref}{% + \PackageWarning{cleveref}{`cleveref' supersedes `ntheorem's `thref' + option}% + \renewcommand{\thref}{\cref}}{} + \@ifundefined{theorem@prework}{\let\theorem@prework\relax}{} + \gdef\@thm#1#2#3{% + \if@thmmarks% + \stepcounter{end\InTheoType ctr}% + \fi% + \renewcommand{\InTheoType}{#1}% + \if@thmmarks% + \stepcounter{curr#1ctr}% + \setcounter{end#1ctr}{0}% + \fi% + \refstepcounter[#1]{#2}% <<<<< + \theorem@prework% + \thm@topsepadd \theorempostskipamount% + \ifvmode \advance\thm@topsepadd\partopsep\fi% + \trivlist% + \@topsep \theorempreskipamount% + \@topsepadd \thm@topsepadd% + \advance\linewidth -\theorem@indent% + \advance\@totalleftmargin \theorem@indent% + \parshape \@ne \@totalleftmargin \linewidth% + \@ifnextchar[{\@ythm{#1}{#2}{#3}}{\@xthm{#1}{#2}{#3}}%] + }}{}% end of \@ifpackageloaded +\@ifpackageloaded{varioref}{% + \PackageInfo{cleveref}{`varioref' support loaded} + \PackageInfo{cleveref}{`cleveref' supersedes `varioref's % + $\backslash$\labelformat command, which will not work} + \AtBeginDocument{% + \def\cref@vref#1#2{% + \if@cref@legacyvarioref% + \leavevmode\unskip\vref@space + \fi% + \@cref{#1}{#2} % space here is deliberate + \begingroup% + \def\@tmpstack{#2,\@nil}% + \cref@stack@topandbottom{\@tmpstack}{\@firstref}{\@lastref}% + \ifx\@lastref\@empty% + \vpageref{#2}% + \else% + \edef\@tmpa{{\@firstref}{\@lastref}}% + \expandafter\vpagerefrange\@tmpa% + \fi% + \endgroup} + \def\cref@vrefrange#1#2#3{% + \@setcrefrange{#2}{#3}{#1}{} \vpagerefrange{#2}{#3}} + \def\cref@fullref#1#2{% + \@cref{#1}{#2} % space here is deliberate + \begingroup% + \def\@tmpstack{#2,\@nil}% + \cref@stack@topandbottom{\@tmpstack}{\@firstref}{\@lastref}% + \ifx\@lastref\@empty% + \reftextfaraway{#2}% + \else% + \expandafter\vrefpagenum\expandafter% + \@tmpa\expandafter{\@firstref}% + \expandafter\vrefpagenum\expandafter% + \@tmpb\expandafter{\@lastref}% + \ifx\@tmpa\@tmpb + \expandafter\reftextfaraway\expandafter{\@firstref}% + \else + \edef\@tmpa{{\@firstref}{\@lastref}}% + \expandafter\reftextpagerange\@tmpa% + \fi% + \fi% + \endgroup} + \if@cref@legacyvarioref% + \def\vr@f#1{\cref@vref{cref}{#1}} + \def\Vr@f#1{\cref@vref{Cref}{#1}} + \renewcommand\vrefrange[3][\reftextcurrent]{% + \crefrange{#2}{#3} \vpagerefrange{#2}{#3}} + \def\fullref#1{\cref@fullref{cref}{#1}} \else% - \@not@eoftrue% - \edef\@tmpa{\@tmpa}% + \@ifpackageloaded{hyperref}{% + \DeclareRobustCommand{\vref}{% + \@ifstar{\cref@vrefstar{cref}}{\cref@vref{cref}}} + \DeclareRobustCommand{\Vref}{% + \@ifstar{\cref@vrefstar{Cref}}{\cref@vref{Cref}}} + \DeclareRobustCommand{\vrefrange}{% + \@ifstar{\cref@vrefrangestar{cref}}{\cref@vrefrange{cref}}} + \DeclareRobustCommand{\Vrefrange}{% + \@ifstar{\cref@vrefrangestar{Cref}}{\cref@vrefrange{Cref}}}% + \DeclareRobustCommand{\fullref}{% + \@ifstar{\cref@fullrefstar{cref}}{\cref@fullref{cref}}} + \DeclareRobustCommand{\Fullref}{% + \@ifstar{\cref@fullrefstar{Cref}}{\cref@fullref{Cref}}} + \def\cref@vrefstar#1#2{% + \@crefstarredtrue% + \cref@vref{#1}{#2}% + \@crefstarredfalse} + \def\cref@vrefrangestar#1#2#3{% + \@crefstarredtrue% + \cref@vrefrange{#1}{#2}{#3}% + \@crefstarredfalse} + \def\cref@fullrefstar#1#2{% + \@crefstarredtrue% + \cref@fullref{#1}{#2}% + \@crefstarredfalse} + }{% + \DeclareRobustCommand{\vref}{\cref@vref{cref}} + \DeclareRobustCommand{\Vref}{\cref@vref{Cref}} + \DeclareRobustCommand{\vrefrange}{\cref@vrefrange{cref}} + \DeclareRobustCommand{\Vrefrange}{\cref@vrefrange{Cref}} + \DeclareRobustCommand{\fullref}{\cref@fullref{cref}} + \DeclareRobustCommand{\Fullref}{\cref@fullref{Cref}} + } \fi% - \@whilesw\if@not@eof\fi{% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% + }% end of \AtBeginDocument + }{}% end of \@ifpackageloaded +\let\if@cref@legacyvarioref\iffalse +\DeclareOption{legacyvarioref}{% + \PackageInfo{cleveref}{legacy `varioref' compatibility enabled} + \let\if@cref@legacyvarioref\iftrue} +\DeclareOption{poorman}{% + \PackageInfo{cleveref}{option `poorman' loaded} + \gdef\cref@poorman@text{} + \AtBeginDocument{% + \newwrite\@crefscript% + \immediate\openout\@crefscript=\jobname.sed} + \newif\if@cref@switched@language + \@ifpackageloaded{babel}{% + \AtBeginDocument{% + \let\cref@old@select@language\select@language + \def\select@language{% + \@cref@switched@languagetrue% + \cref@writelanguagerules% + \cref@old@select@language} + \let\cref@old@forreign@language\forreign@language + \def\forreign@language{% + \@cref@switched@languagetrue% + \cref@writelanguagerules% + \cref@old@forreign@language} + \edef\cref@inputlineno{\the\inputlineno}} + \AtEndDocument{% + \let\select@language\cref@old@select@language% + \let\forreign@language\cref@old@forreign@language% + \cref@writelanguagerules} + \def\cref@writelanguagerules{% + \begingroup% + \if@cref@switched@language% + \edef\@address{\cref@inputlineno,\the\inputlineno}% + \else% + \def\@address{}% + \fi% + \expandafter\def\expandafter\cref@poorman@text\expandafter{% + \crefrangeconjunction}% + \expandafter\def\expandafter\@tmpa\expandafter{% + \expandafter{\@address}{\string\crefrangeconjunction}} + \expandafter\cref@writescript\@tmpa% + \expandafter\def\expandafter\cref@poorman@text\expandafter{% + \crefpairconjunction}% + \expandafter\def\expandafter\@tmpa\expandafter{% + \expandafter{\@address}{\string\crefpairconjunction}} + \expandafter\cref@writescript\@tmpa% + \expandafter\def\expandafter\cref@poorman@text\expandafter{% + \crefmiddleconjunction}% + \expandafter\def\expandafter\@tmpa\expandafter{% + \expandafter{\@address}{\string\crefmiddleconjunction}} + \expandafter\cref@writescript\@tmpa% + \expandafter\def\expandafter\cref@poorman@text\expandafter{% + \creflastconjunction}% + \expandafter\def\expandafter\@tmpa\expandafter{% + \expandafter{\@address}{\string\creflastconjunction}} + \expandafter\cref@writescript\@tmpa% + \expandafter\def\expandafter\cref@poorman@text\expandafter{% + \crefpairgroupconjunction}% + \expandafter\def\expandafter\@tmpa\expandafter{% + \expandafter{\@address}{\string\crefpairgroupconjunction}} + \expandafter\cref@writescript\@tmpa% + \expandafter\def\expandafter\cref@poorman@text\expandafter{% + \crefmiddlegroupconjunction}% + \expandafter\def\expandafter\@tmpa\expandafter{% + \expandafter{\@address}{\string\crefmiddlegroupconjunction}} + \expandafter\cref@writescript\@tmpa% + \expandafter\def\expandafter\cref@poorman@text\expandafter{% + \creflastgroupconjunction}% + \expandafter\def\expandafter\@tmpa\expandafter{% + \expandafter{\@address}{\string\creflastgroupconjunction}} + \expandafter\cref@writescript\@tmpa% + \let\@tmpstack\cref@label@types% + \cref@isstackfull{\@tmpstack}% + \@whilesw\if@cref@stackfull\fi{% + \edef\@tmpa{\cref@stack@top{\@tmpstack}}% + \expandafter\expandafter\expandafter\def% + \expandafter\expandafter\expandafter\cref@poorman@text% + \expandafter\expandafter\expandafter{% + \csname cref@\@tmpa @name\endcsname}% + \edef\@tmpa{% + \string\cref@\expandafter\noexpand\@tmpa @name\space}% + \expandafter\expandafter\expandafter\def% + \expandafter\expandafter\expandafter\@tmpa% + \expandafter\expandafter\expandafter{% + \expandafter\expandafter\expandafter{% + \expandafter\@address\expandafter}% + \expandafter{\@tmpa}} + \expandafter\cref@writescript\@tmpa% + \edef\@tmpa{\cref@stack@top{\@tmpstack}}% + \expandafter\expandafter\expandafter\def% + \expandafter\expandafter\expandafter\cref@poorman@text% + \expandafter\expandafter\expandafter{% + \csname cref@\@tmpa @name@plural\endcsname}% + \edef\@tmpa{% + \string\cref@\expandafter\noexpand\@tmpa% + @name@plural\space}% + \expandafter\expandafter\expandafter\def% + \expandafter\expandafter\expandafter\@tmpa% + \expandafter\expandafter\expandafter{% + \expandafter\expandafter\expandafter{% + \expandafter\@address\expandafter}% + \expandafter{\@tmpa}} + \expandafter\cref@writescript\@tmpa% + \edef\@tmpa{\cref@stack@top{\@tmpstack}}% + \expandafter\expandafter\expandafter\def% + \expandafter\expandafter\expandafter\cref@poorman@text% + \expandafter\expandafter\expandafter{% + \csname Cref@\@tmpa @name\endcsname}% + \edef\@tmpa{% + \string\Cref@\expandafter\noexpand\@tmpa @name\space}% + \expandafter\expandafter\expandafter\def% + \expandafter\expandafter\expandafter\@tmpa% + \expandafter\expandafter\expandafter{% + \expandafter\expandafter\expandafter% + {\expandafter\@address\expandafter}% + \expandafter{\@tmpa}} + \expandafter\cref@writescript\@tmpa% + \edef\@tmpa{\cref@stack@top{\@tmpstack}}% + \expandafter\expandafter\expandafter\def% + \expandafter\expandafter\expandafter\cref@poorman@text% + \expandafter\expandafter\expandafter{% + \csname Cref@\@tmpa @name@plural\endcsname}% + \edef\@tmpa{% + \string\Cref@\expandafter\noexpand\@tmpa% + @name@plural\space}% + \expandafter\expandafter\expandafter\def% + \expandafter\expandafter\expandafter\@tmpa% + \expandafter\expandafter\expandafter{% + \expandafter\expandafter\expandafter% + {\expandafter\@address\expandafter}% + \expandafter{\@tmpa}} + \expandafter\cref@writescript\@tmpa% + \cref@stack@pop{\@tmpstack}% + \cref@isstackfull{\@tmpstack}}% + \endgroup% + \edef\cref@inputlineno{\the\inputlineno}}% + }{}% end of \@ifpackageloaded + \AtEndDocument{% + \immediate\closeout\@crefscript% + \newread\@crefscript% + \immediate\openin\@crefscript=\jobname.sed% + \begingroup% + \newif\if@not@eof% + \def\@eof{\par }% + \catcode`.=13 \catcode`*=13 + \catcode`[=13 \catcode`]=13 + \catcode`^=13 \catcode`$=13 %$ + \catcode`\=0 \catcode`<=1 \catcode`>=2 + \catcode`\\=13 \catcode`\{=12 \catcode`\}=12 \catcode`_=12 + \lccode`/=92 + \lccode`~=92\lowercase{\def~{\string/\string/}}% + \lccode`~=42\lowercase{\def~{\string/\string*}}% + \lccode`~=46\lowercase{\def~{\string/\string.}}% + \lccode`~=91\lowercase{\def~{\string/\string[}}% + \lccode`~=93\lowercase{\def~{\string/\string]}}% + \lccode`~=94\lowercase{\def~{\string/\string^}}% + \lccode`~=36\lowercase{\def~{\string/\string$}}% $ + \lccode`~=0 \lccode`/=0 \catcode`~=12 + \def\cref@poorman@text{}% \immediate\read\@crefscript to \@tmpa% \ifx\@tmpa\@eof% \@not@eoffalse% \else% \@not@eoftrue% \edef\@tmpa{\@tmpa}% - \fi}% - \endgroup% - \immediate\closein\@crefscript% - \begingroup% - \lccode`|=92 \lccode`<=123 \lccode`>=125 \lccode`C=67 - \lowercase{\edef\@tmpa{s/||usepackage|(|[.*|]|)|?<cleveref>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{s/||[cC]refformat<.*><.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{s/||[cC]refrangeformat<.*><.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{s/||[cC]refmultiformat<.*><.*><.*><.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{% - s/||[cC]refrangemultiformat<.*><.*><.*><.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{s/||[cC]refname<.*><.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{s/||[cC]reflabelformat<.*><.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{s/||[cC]refrangelabelformat<.*><.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{s/||[cC]refdefaultlabelformat<.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{% - s/||renewcommand<||crefpairconjunction><.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{% - s/||renewcommand<||crefpairgroupconjunction><.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{% - s/||renewcommand<||crefmiddleconjunction><.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{% - s/||renewcommand<||crefmiddlegroupconjunction><.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{% - s/||renewcommand<||creflastconjunction><.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{% - s/||renewcommand<||creflastgroupconjunction><.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{s/||renewcommand<||[cC]ref><.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \lowercase{\edef\@tmpa{s/||renewcommand<||[cC]refrange><.*>//g}}% - \expandafter\g@addto@macro\expandafter\cref@text\expandafter{% - \@tmpa^^J}% - \endgroup% - \newwrite\@crefscript% - \immediate\openout\@crefscript=\jobname.sed% - \immediate\write\@crefscript{\cref@text}% - \immediate\closeout\@crefscript% + \fi% + \@whilesw\if@not@eof\fi{% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \immediate\read\@crefscript to \@tmpa% + \ifx\@tmpa\@eof% + \@not@eoffalse% + \else% + \@not@eoftrue% + \edef\@tmpa{\@tmpa}% + \fi}% + \endgroup% + \immediate\closein\@crefscript% + \begingroup% + \lccode`|=92 \lccode`<=123 \lccode`>=125 \lccode`C=67 + \lowercase{\def\@tmpa{%[ + s/||label|[[^]]*|]/||label/g}} + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{s/||usepackage|(|[.*|]|)|?<cleveref>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{s/||[cC]refformat<.*><.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{s/||[cC]refrangeformat<.*><.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{s/||[cC]refmultiformat<.*><.*><.*><.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{% + s/||[cC]refrangemultiformat<.*><.*><.*><.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{s/||[cC]refname<.*><.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{s/||[cC]reflabelformat<.*><.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{s/||[cC]refrangelabelformat<.*><.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{s/||[cC]refdefaultlabelformat<.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{% + s/||renewcommand<||crefpairconjunction><.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{% + s/||renewcommand<||crefpairgroupconjunction><.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{% + s/||renewcommand<||crefmiddleconjunction><.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{% + s/||renewcommand<||crefmiddlegroupconjunction><.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{% + s/||renewcommand<||creflastconjunction><.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{% + s/||renewcommand<||creflastgroupconjunction><.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{s/||renewcommand<||[cC]ref><.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \lowercase{\edef\@tmpa{s/||renewcommand<||[cC]refrange><.*>//g}}% + \expandafter\g@addto@macro\expandafter% + \cref@poorman@text\expandafter{\@tmpa^^J}% + \endgroup% + \newwrite\@crefscript% + \immediate\openout\@crefscript=\jobname.sed% + \immediate\write\@crefscript{\cref@poorman@text}% + \immediate\closeout\@crefscript% + } + \def\cref@getmeaning#1{\expandafter\@cref@getmeaning\meaning#1\@nil} + \def\@cref@getmeaning#1->#2\@nil{#2} + \def\cref@writescript#1#2{% + \edef\@tmpa{\cref@getmeaning{\cref@poorman@text}}% + \immediate\write\@crefscript{#1 s/#2/\@tmpa/g}} + \@ifpackageloaded{hyperref}{% + \def\@crefnostar#1#2{% + \gdef\cref@poorman@text{}% + \@cref{#1}{#2}% + \begingroup% + \lccode`|=92 \lccode`<=123 \lccode`>=125 \lccode`C=67 + \lowercase{\cref@writescript{}{|#1<#2>}}% + \endgroup} + \def\@crefstar#1#2{% + \gdef\cref@poorman@text{}% + \@crefstarredtrue\@cref{#1}{#2}\@crefstarredfalse% + \begingroup% + \lccode`|=92 \lccode`<=123 \lccode`>=125 \lccode`C=67 + \lowercase{\cref@writescript{}{|#1*<#2>}}% + \endgroup} + \def\@crefrangenostar#1#2#3{% + \gdef\cref@poorman@text{}% + \@setcrefrange{#2}{#3}{#1}{}% + \begingroup% + \lccode`|=92 \lccode`<=123 \lccode`>=125 \lccode`C=67 + \lowercase{\cref@writescript{}{|#1range<#2><#3>}}% + \endgroup} + \def\@crefrangestar#1#2#3{% + \gdef\cref@poorman@text{}% + \@crefstarredtrue\@setcrefrange{#2}{#3}{#1}{}\@crefstarredfalse% + \begingroup% + \lccode`|=92 \lccode`<=123 \lccode`>=125 \lccode`C=67 + \lowercase{\cref@writescript{}{|#1range*<#2><#3>}}% + \endgroup} + }{% + \DeclareRobustCommand{\cref}[1]{% + \edef\cref@poorman@text{}% + \@cref{cref}{#1}% + \cref@writescript{}{\string\cref\string{#1\string}}} + \DeclareRobustCommand{\Cref}[1]{% + \edef\cref@poorman@text{}% + \@cref{Cref}{#1}% + \cref@writescript{}{\string\Cref\string{#1\string}}} + \DeclareRobustCommand{\crefrange}[2]{% + \edef\cref@poorman@text{}% + \@setcrefrange{#1}{#2}{cref}{}% + \cref@writescript{}{% + \string\crefrange\string{#1\string}\string{#2\string}}} + \DeclareRobustCommand{\Crefrange}[2]{% + \edef\cref@poorman@text{}% + \@setcrefrange{#1}{#2}{Cref}{}% + \cref@writescript{}{% + \string\Crefrange\string{#1\string}\string{#2\string}}} + } + \@ifpackageloaded{varioref}{% + \AtBeginDocument{% + \if@cref@legacyvarioref% + \DeclareRobustCommand{\vref}{% + \@ifstar{\cref@vrefstar{cref}}{\cref@vref{cref}}} + \def\cref@vrefstar#1#2{% + \@crefstarredtrue\cref@vref{#1}{#2}\@crefstarredfalse} + \fi + \def\cref@vref#1#2{% + \gdef\cref@poorman@text{}% + \if@cref@legacyvarioref% + \leavevmode\unskip\vref@space + \fi% + \begingroup% + \let\if@tmp\if@crefstarred% + \if@cref@legacyvarioref\@crefstarredfalse\fi% + \@cref{#1}{#2} % space here is deliberate + \let\if@crefstarred\if@tmp% + \def\@tmpstack{#2,\@nil}% + \cref@stack@topandbottom{\@tmpstack}{\@firstref}{\@lastref}% + \ifx\@lastref\@empty% + \vpageref{#2}% + \g@addto@macro\cref@poorman@text{ \vpageref{#2}}% + \else% + \g@addto@macro\cref@poorman@text{ }% + \edef\@tmpa{{\@firstref}{\@lastref}}% + \expandafter\vpagerefrange\@tmpa% + \expandafter\g@addto@macro\expandafter\cref@poorman@text% + \expandafter{\expandafter\vpagerefrange\@tmpa}% + \fi% + \def\@tmpa##1##2\@nil{% + \if##1c% + \if@crefstarred% + \cref@writescript{}{\string\vref*\string{#2\string}}% + \else% + \cref@writescript{}{\string\vref\string{#2\string}}% + \fi% + \else% + \if@crefstarred% + \cref@writescript{}{\string\Vref*\string{#2\string}}% + \else% + \cref@writescript{}{\string\Vref\string{#2\string}}% + \fi% + \fi}% + \@tmpa#1\@nil% + \endgroup} + \def\cref@vrefrange#1#2#3{% + \gdef\cref@poorman@text{}% + \@setcrefrange{#2}{#3}{#1}{} \vpagerefrange{#2}{#3}% + \g@addto@macro\cref@poorman@text{ \vpagerefrange{#2}{#3}}% + \def\@tmpa##1##2\@nil{% + \if##1c% + \if@crefstarred% + \cref@writescript{}{% + \string\vrefrange*\string{#2\string}\string{#3\string}}% + \else% + \cref@writescript{}{% + \string\vrefrange\string{#2\string}\string{#3\string}}% + \fi% + \else% + \if@crefstarred% + \cref@writescript{}{% + \string\Vrefrange*\string{#2\string}\string{#3\string}}% + \else% + \cref@writescript{}{% + \string\Vrefrange\string{#2\string}\string{#3\string}}% + \fi% + \fi}% + \@tmpa#1\@nil} + \def\cref@fullref#1#2{% + \gdef\cref@poorman@text{}% + \begingroup% + \@cref{#1}{#2} % space here is deliberate + \def\@tmpstack{#2,\@nil}% + \cref@stack@topandbottom{\@tmpstack}{\@firstref}{\@lastref}% + \ifx\@lastref\@empty% + \reftextfaraway{#2}% + \def\@pageref{\reftextfaraway{#1}}% + \else% + \expandafter\vrefpagenum\expandafter% + \@tmpa\expandafter{\@firstref}% + \expandafter\vrefpagenum\expandafter% + \@tmpb\expandafter{\@lastref}% + \ifx\@tmpa\@tmpb + \expandafter\reftextfaraway\expandafter{\@firstref}% + \expandafter\def\expandafter\@pageref\expandafter{% + \expandafter\reftextfaraway\expandafter{\@firstref}}% + \else + \edef\@tmpa{{\@firstref}{\@lastref}}% + \expandafter\reftextpagerange\@tmpa% + \expandafter\def\expandafter\@pageref\expandafter{% + \expandafter\reftextpagerange\@tmpa}% + \fi% + \fi% + \g@addto@macro\cref@poorman@text{ }% + \expandafter\g@addto@macro\expandafter\cref@poorman@text% + \expandafter{\@pageref}% + \def\@tmpa##1##2\@nil{% + \if##1c% + \if@crefstarred% + \cref@writescript{}{\string\fullref*\string{#2\string}}% + \else% + \cref@writescript{}{\string\fullref\string{#2\string}}% + \fi% + \else% + \if@crefstarred% + \cref@writescript{}{\string\Fullref*\string{#2\string}}% + \else% + \cref@writescript{}{\string\Fullref\string{#2\string}}% + \fi% + \fi}% + \@tmpa#1\@nil + \endgroup} + }% end of \AtBeginDocument + }{}% end of \@ifpackageloaded + \def\@setcref@pairgroupconjunction{% + \crefpairgroupconjunction% + \expandafter\g@addto@macro\expandafter\cref@poorman@text% + \expandafter{\crefpairgroupconjunction}} + \def\@setcref@middlegroupconjunction{% + \crefmiddlegroupconjunction% + \expandafter\g@addto@macro\expandafter\cref@poorman@text% + \expandafter{\crefmiddlegroupconjunction}} + \def\@setcref@lastgroupconjunction{% + \creflastgroupconjunction% + \expandafter\g@addto@macro\expandafter\cref@poorman@text% + \expandafter{\creflastgroupconjunction}} + \@ifpackageloaded{hyperref}{% + \def\@@setcref#1#2{% + \cref@getlabel{#2}{\@tmplabel}% + \if@crefstarred% + #1{\@tmplabel}{}{}% + \expandafter\g@addto@macro\expandafter\cref@poorman@text% + \expandafter{#1{\ref*{#2}}{}{}}% + \else% + \edef\@tmplink{\cref@hyperref{#2}}% + #1{\@tmplabel}{\hyper@linkstart{link}{\@tmplink}}% + {\hyper@linkend}% + \expandafter\g@addto@macro\expandafter\cref@poorman@text% + \expandafter{#1{\ref{#2}}{}{}}% + \fi} + \def\@@setcrefrange#1#2#3{% + \cref@getlabel{#2}{\@labela}% + \cref@getlabel{#3}{\@labelb}% + \if@crefstarred% + #1{\@labela}{\@labelb}{}{}{}{}% + \expandafter\g@addto@macro\expandafter\cref@poorman@text% + \expandafter{#1{\ref*{#2}}{\ref*{#3}}{}{}{}{}}% + \else% + \edef\@linka{\cref@hyperref{#2}}% + \edef\@linkb{\cref@hyperref{#3}}% + #1{\@labela}{\@labelb}% + {\hyper@linkstart{link}{\@linka}}{\hyper@linkend}% + {\hyper@linkstart{link}{\@linkb}}{\hyper@linkend}% + \expandafter\g@addto@macro\expandafter\cref@poorman@text% + \expandafter{#1{\ref{#2}}{\ref{#3}}{}{}{}{}}% + \fi} + }{% + \def\@@setcref#1#2{% + \old@@setcref{#1}{#2}% + \expandafter\g@addto@macro\expandafter{% + \expandafter\cref@poorman@text\expandafter}\expandafter{% + #1{\ref{#2}}{}{}}} + \def\@@setcrefrange#1#2#3{% + \old@@setcrefrange{#1}{#2}{#3}% + \expandafter\g@addto@macro% + \expandafter{\expandafter\cref@poorman@text\expandafter}% + \expandafter{#1{\ref{#2}}{\ref{#3}}{}{}{}{}}} + } +}% end of poorman option +\newif\if@cref@sort +\newif\if@cref@compress +\@cref@sorttrue +\@cref@compresstrue +\DeclareOption{sort}{% + \PackageInfo{cleveref}{sorting but not compressing references} + \@cref@sorttrue + \@cref@compressfalse} +\DeclareOption{compress}{% + \PackageInfo{cleveref}{compressing but not sorting references} + \@cref@sortfalse + \@cref@compresstrue} +\DeclareOption{sort&compress}{% + \PackageInfo{cleveref}{sorting and compressing references} + \@cref@sorttrue + \@cref@compresstrue} +\DeclareOption{nosort}{% + \PackageInfo{cleveref}{neither sorting nor compressing references} + \@cref@sortfalse + \@cref@compressfalse} +\crefdefaultlabelformat{#2#1#3} +\creflabelformat{equation}{\textup{(#2#1#3)}} +\def\cref@addto#1#2{% + \@temptokena{#2}% + \ifx#1\undefined + \edef#1{\the\@temptokena}% + \else + \toks@\expandafter{#1}% + \edef#1{\the\toks@\the\@temptokena}% + \fi + \@temptokena{}\toks@\@temptokena% } -\@ifpackageloaded{hyperref}{% - \def\@crefnostar#1#2{% - \edef\cref@text{}% - \@cref{#1}{#2}% - \cref@writescript{% - \expandafter\string\csname#1\endcsname\string{#2\string}}} - \def\@crefrangenostar#1#2#3{% - \edef\cref@text{}% - \@setcrefrange{#2}{#3}{#1}{}% - \cref@writescript{% - \expandafter\string\csname#1range\endcsname% - \string{#2\string}\string{#3\string}}}% -}{% - \DeclareRobustCommand{\cref}[1]{% - \edef\cref@text{}% - \@cref{cref}{#1}% - \cref@writescript{\string\cref\string{#1\string}}} - \DeclareRobustCommand{\Cref}[1]{% - \edef\cref@text{}% - \@cref{Cref}{#1}% - \cref@writescript{\string\Cref\string{#1\string}}} - \DeclareRobustCommand{\crefrange}[2]{% - \edef\cref@text{}% - \@setcrefrange{#1}{#2}{cref}{}% - \cref@writescript{% - \string\crefrange\string{#1\string}\string{#2\string}}} - \DeclareRobustCommand{\Crefrange}[2]{% - \edef\cref@text{}% - \@setcrefrange{#1}{#2}{Cref}{}% - \cref@writescript{% - \string\Crefrange\string{#1\string}\string{#2\string}}}% +\@onlypreamble\cref@addto +\DeclareOption{english}{% + \PackageInfo{cleveref}{loaded `english' language definitions} + \AtBeginDocument{% + \def\crefrangeconjunction@preamble{ to~} + \def\crefpairconjunction@preamble{ and~} + \def\crefmiddleconjunction@preamble{, } + \def\creflastconjunction@preamble{ and~} + \def\crefpairgroupconjunction@preamble{ and~} + \def\crefmiddlegroupconjunction@preamble{, } + \def\creflastgroupconjunction@preamble{, and~} + \crefname@preamble{equation}{eq.}{eqs.} + \Crefname@preamble{equation}{Equation}{Equations} + \crefname@preamble{chapter}{chapter}{chapters} + \Crefname@preamble{chapter}{Chapter}{Chapters} + \crefname@preamble{section}{section}{sections} + \Crefname@preamble{section}{Section}{Sections} + \crefname@preamble{appendix}{appendix}{appendices} + \Crefname@preamble{appendix}{Appendix}{Appendices} + \crefname@preamble{figure}{fig.}{figs.} + \Crefname@preamble{figure}{Figure}{Figures} + \crefname@preamble{table}{table}{tables} + \Crefname@preamble{table}{Table}{Tables} + \crefname@preamble{theorem}{theorem}{theorems} + \Crefname@preamble{theorem}{Theorem}{Theorems} + \crefname@preamble{enumi}{item}{items} + \Crefname@preamble{enumi}{Item}{Items} + \crefname@preamble{lemma}{lemma}{lemmas} + \Crefname@preamble{lemma}{Lemma}{Lemmas} + \crefname@preamble{corollary}{corollary}{corollaries} + \Crefname@preamble{corollary}{Corollary}{Corollaries} + \crefname@preamble{proposition}{proposition}{propositions} + \Crefname@preamble{proposition}{Proposition}{Propositions} + \crefname@preamble{definition}{definition}{definitions} + \Crefname@preamble{definition}{Definition}{Definitions} + \crefname@preamble{result}{result}{results} + \Crefname@preamble{result}{Result}{Results} + \def\cref@language{english}% + \cref@addto\extrasenglish{% + \renewcommand{\crefrangeconjunction}{ to~} + \renewcommand{\crefpairconjunction}{ and~} + \renewcommand{\crefmiddleconjunction}{, } + \renewcommand{\creflastconjunction}{ and~} + \renewcommand{\crefpairgroupconjunction}{ and~} + \renewcommand{\crefmiddlegroupconjunction}{, } + \renewcommand{\creflastgroupconjunction}{, and~} + \crefname{equation}{eq.}{eqs.} + \Crefname{equation}{Equation}{Equations} + \crefname{chapter}{chapter}{chapters} + \Crefname{chapter}{Chapter}{Chapters} + \crefname{section}{section}{sections} + \Crefname{section}{Section}{Sections} + \crefname{subsection}{section}{sections} + \Crefname{subsection}{Section}{Sections} + \crefname{subsubsection}{section}{sections} + \Crefname{subsubsection}{Section}{Sections} + \crefname{appendix}{appendix}{appendices} + \Crefname{appendix}{Appendix}{Appendices} + \crefname{subappendix}{appendix}{appendices} + \Crefname{subappendix}{Appendix}{Appendices} + \crefname{subsubappendix}{appendix}{appendices} + \Crefname{subsubappendix}{Appendix}{Appendices} + \crefname{subsubsubappendix}{appendix}{appendices} + \Crefname{subsubsubappendix}{Appendix}{Appendices} + \crefname{figure}{fig.}{figs.} + \Crefname{figure}{Figure}{Figures} + \crefname{subfigure}{fig.}{figs.} + \Crefname{subfigure}{Figure}{Figures} + \crefname{table}{table}{tables} + \Crefname{table}{Table}{Tables} + \crefname{subtable}{table}{tables} + \Crefname{subtable}{Table}{Tables} + \crefname{theorem}{theorem}{theorems} + \Crefname{theorem}{Theorem}{Theorems} + \crefname{enumi}{item}{items} + \Crefname{enumi}{Item}{Items} + \crefname{enumii}{item}{items} + \Crefname{enumii}{Item}{Items} + \crefname{enumiii}{item}{items} + \Crefname{enumiii}{Item}{Items} + \crefname{enumiv}{item}{items} + \Crefname{enumiv}{Item}{Items} + \crefname{enumv}{item}{items} + \Crefname{enumv}{Item}{Items} + \crefname{lemma}{lemma}{lemmas} + \Crefname{lemma}{Lemma}{Lemmas} + \crefname{corollary}{corollary}{corollaries} + \Crefname{corollary}{Corollary}{Corollaries} + \crefname{proposition}{proposition}{propositions} + \Crefname{proposition}{Proposition}{Propositions} + \crefname{definition}{definition}{definitions} + \Crefname{definition}{Definition}{Definitions} + \crefname{result}{result}{results} + \Crefname{result}{Result}{Results}% + }}} +\DeclareOption{german}{% + \PackageInfo{cleveref}{loaded `german' language definitions} + \AtBeginDocument{% + \def\crefrangeconjunction@preamble{ bis~} + \def\crefpairconjunction@preamble{ und~} + \def\crefmiddleconjunction@preamble{, } + \def\creflastconjunction@preamble{ und~} + \def\crefpairgroupconjunction@preamble{ und~} + \def\crefmiddlegroupconjunction@preamble{, } + \def\creflastgroupconjunction@preamble{ und~} + \crefname@preamble{equation}{Gleichung}{Gleichungen} + \Crefname@preamble{equation}{Gleichung}{Gleichungen} + \crefname@preamble{chapter}{Kapitel}{Kapitel} + \Crefname@preamble{chapter}{Kapitel}{Kapitel} + \crefname@preamble{section}{Abschnitt}{Abschnitte} + \Crefname@preamble{section}{Abschnitt}{Abschnitte} + \crefname@preamble{appendix}{Anhang}{Anh\"ange} + \Crefname@preamble{appendix}{Anhang}{Anh\"ange} + \crefname@preamble{figure}{Abbildung}{Abbildungen} + \Crefname@preamble{figure}{Abbildung}{Abbildungen} + \crefname@preamble{table}{Tabelle}{Tabellen} + \Crefname@preamble{table}{Tabelle}{Tabellen} + \crefname@preamble{theorem}{Theorem}{Theoremen} + \Crefname@preamble{theorem}{Theorem}{Theoremen} + \crefname@preamble{enumi}{Punkt}{Punkte} + \Crefname@preamble{enumi}{Punkt}{Punkte} + \crefname@preamble{lemma}{Lemma}{Lemmata} + \Crefname@preamble{lemma}{Lemma}{Lemmata} + \crefname@preamble{corollary}{Korollar}{Korollaren} + \Crefname@preamble{corollary}{Korollar}{Korollaren} + \crefname@preamble{proposition}{Satz}{S\"atze} + \Crefname@preamble{proposition}{Satz}{S\"atze} + \crefname@preamble{definition}{Definition}{Definitionen} + \Crefname@preamble{definition}{Definition}{Definitionen} + \crefname@preamble{result}{Ergebnis}{Ergebnisse} + \Crefname@preamble{result}{Ergebnis}{Ergebnisse}% + \def\cref@language{german}% + \cref@addto\extrasgerman{% + \renewcommand{\crefrangeconjunction}{ bis~}% + \renewcommand{\crefpairconjunction}{ und~}% + \renewcommand{\crefmiddleconjunction}{, }% + \renewcommand{\creflastconjunction}{ und~}% + \renewcommand{\crefpairgroupconjunction}{ und~}% + \renewcommand{\crefmiddlegroupconjunction}{, }% + \renewcommand{\creflastgroupconjunction}{ und~}% + \crefname{equation}{Gleichung}{Gleichungen}% + \Crefname{equation}{Gleichung}{Gleichungen}% + \crefname{chapter}{Kapitel}{Kapitel}% + \Crefname{chapter}{Kapitel}{Kapitel}% + \crefname{section}{Abschnitt}{Abschnitte}% + \Crefname{section}{Abschnitt}{Abschnitte}% + \crefname{subsection}{Abschnitt}{Abschnitte}% + \Crefname{subsection}{Abschnitt}{Abschnitte}% + \crefname{subsubsection}{Abschnitt}{Abschnitte}% + \Crefname{subsubsection}{Abschnitt}{Abschnitte}% + \crefname{appendix}{Anhang}{Anh\"ange}% + \Crefname{appendix}{Anhang}{Anh\"ange}% + \crefname{subappendix}{Anhang}{Anh\"ange} + \Crefname{subappendix}{Anhang}{Anh\"ange} + \crefname{subsubappendix}{Anhang}{Anh\"ange} + \Crefname{subsubappendix}{Anhang}{Anh\"ange} + \crefname{subsubsubappendix}{Anhang}{Anh\"ange} + \Crefname{subsubsubappendix}{Anhang}{Anh\"ange} + \crefname{figure}{Abbildung}{Abbildungen}% + \Crefname{figure}{Abbildung}{Abbildungen}% + \crefname{subfigure}{Abbildung}{Abbildungen}% + \Crefname{subfigure}{Abbildung}{Abbildungen}% + \crefname{table}{Tabelle}{Tabellen}% + \Crefname{table}{Tabelle}{Tabellen}% + \crefname{subtable}{Tabelle}{Tabellen}% + \Crefname{subtable}{Tabelle}{Tabellen}% + \crefname{theorem}{Theorem}{Theoremen}% + \Crefname{theorem}{Theorem}{Theoremen}% + \crefname{enumi}{Punkt}{Punkte}% + \Crefname{enumi}{Punkt}{Punkte}% + \crefname{enumii}{Punkt}{Punkte}% + \Crefname{enumii}{Punkt}{Punkte}% + \crefname{enumiii}{Punkt}{Punkte}% + \Crefname{enumiii}{Punkt}{Punkte}% + \crefname{enumiv}{Punkt}{Punkte}% + \Crefname{enumiv}{Punkt}{Punkte}% + \crefname{enumv}{Punkt}{Punkte}% + \Crefname{enumv}{Punkt}{Punkte}% + \crefname{lemma}{Lemma}{Lemmata}% + \Crefname{lemma}{Lemma}{Lemmata}% + \crefname{corollary}{Korollar}{Korollaren}% + \Crefname{corollary}{Korollar}{Korollaren}% + \crefname{proposition}{Satz}{S\"atze}% + \Crefname{proposition}{Satz}{S\"atze}% + \crefname{definition}{Definition}{Definitionen}% + \Crefname{definition}{Definition}{Definitionen}% + \crefname{result}{Ergebnis}{Ergebnisse}% + \Crefname{result}{Ergebnis}{Ergebnisse}% + }}} +\DeclareOption{ngerman}{% + \PackageInfo{cleveref}{loaded `ngerman' language definitions} + \ExecuteOptions{german} + \def\cref@language{ngerman} + \AtBeginDocument{% + \cref@addto\extrasngerman{% + \renewcommand{\crefrangeconjunction}{ bis~}% + \renewcommand{\crefpairconjunction}{ und~}% + \renewcommand{\crefmiddleconjunction}{, }% + \renewcommand{\creflastconjunction}{ und~}% + \renewcommand{\crefpairgroupconjunction}{ und~}% + \renewcommand{\crefmiddlegroupconjunction}{, }% + \renewcommand{\creflastgroupconjunction}{ und~}% + \crefname{equation}{Gleichung}{Gleichungen}% + \Crefname{equation}{Gleichung}{Gleichungen}% + \crefname{chapter}{Kapitel}{Kapitel}% + \Crefname{chapter}{Kapitel}{Kapitel}% + \crefname{section}{Abschnitt}{Abschnitte}% + \Crefname{section}{Abschnitt}{Abschnitte}% + \crefname{subsection}{Abschnitt}{Abschnitte}% + \Crefname{subsection}{Abschnitt}{Abschnitte}% + \crefname{subsubsection}{Abschnitt}{Abschnitte}% + \Crefname{subsubsection}{Abschnitt}{Abschnitte}% + \crefname{appendix}{Anhang}{Anh\"ange}% + \Crefname{appendix}{Anhang}{Anh\"ange}% + \crefname{subappendix}{Anhang}{Anh\"ange} + \Crefname{subappendix}{Anhang}{Anh\"ange} + \crefname{subsubappendix}{Anhang}{Anh\"ange} + \Crefname{subsubappendix}{Anhang}{Anh\"ange} + \crefname{subsubsubappendix}{Anhang}{Anh\"ange} + \Crefname{subsubsubappendix}{Anhang}{Anh\"ange} + \crefname{figure}{Abbildung}{Abbildungen}% + \Crefname{figure}{Abbildung}{Abbildungen}% + \crefname{subfigure}{Abbildung}{Abbildungen}% + \Crefname{subfigure}{Abbildung}{Abbildungen}% + \crefname{table}{Tabelle}{Tabellen}% + \Crefname{table}{Tabelle}{Tabellen}% + \crefname{subtable}{Tabelle}{Tabellen}% + \Crefname{subtable}{Tabelle}{Tabellen}% + \crefname{theorem}{Theorem}{Theoremen}% + \Crefname{theorem}{Theorem}{Theoremen}% + \crefname{enumi}{Punkt}{Punkte}% + \Crefname{enumi}{Punkt}{Punkte}% + \crefname{enumii}{Punkt}{Punkte}% + \Crefname{enumii}{Punkt}{Punkte}% + \crefname{enumiii}{Punkt}{Punkte}% + \Crefname{enumiii}{Punkt}{Punkte}% + \crefname{enumiv}{Punkt}{Punkte}% + \Crefname{enumiv}{Punkt}{Punkte}% + \crefname{enumv}{Punkt}{Punkte}% + \Crefname{enumv}{Punkt}{Punkte}% + \crefname{lemma}{Lemma}{Lemmata}% + \Crefname{lemma}{Lemma}{Lemmata}% + \crefname{corollary}{Korollar}{Korollaren}% + \Crefname{corollary}{Korollar}{Korollaren}% + \crefname{proposition}{Satz}{S\"atze}% + \Crefname{proposition}{Satz}{S\"atze}% + \crefname{definition}{Definition}{Definitionen}% + \Crefname{definition}{Definition}{Definitionen}% + \crefname{result}{Ergebnis}{Ergebnisse}% + \Crefname{result}{Ergebnis}{Ergebnisse}% + }}} +\DeclareOption{french}{% + \PackageInfo{cleveref}{loaded `french' language definitions} + \AtBeginDocument{% + \def\crefrangeconjunction@preamble{ \`a~} + \def\crefpairconjunction@preamble{ et~} + \def\crefmiddleconjunction@preamble{, } + \def\creflastconjunction@preamble{ et~} + \def\crefpairgroupconjunction@preamble{ et~} + \def\crefmiddlegroupconjunction@preamble{, } + \def\creflastgroupconjunction@preamble{, et~} + \crefname@preamble{equation}{{\'e}quation}{{\'e}quations} + \Crefname@preamble{equation}{{\'E}quation}{{\'E}quations} + \crefname@preamble{chapter}{chapitre}{chapitres} + \Crefname@preamble{chapter}{Chapitre}{Chapitres} + \crefname@preamble{section}{section}{sections} + \Crefname@preamble{section}{Section}{Sections} + \crefname@preamble{appendix}{appendice}{appendices} + \Crefname@preamble{appendix}{Appendice}{Appendices} + \crefname@preamble{figure}{figure}{figures} + \Crefname@preamble{figure}{Figure}{Figures} + \crefname@preamble{table}{tableau}{tableaux} + \Crefname@preamble{table}{Tableau}{Tableaux} + \crefname@preamble{theorem}{th\'eor\`eme}{th\'eor\`emes} + \Crefname@preamble{theorem}{Th\'eor\`eme}{Th\'eor\`emes} + \crefname@preamble{enumi}{point}{points} + \Crefname@preamble{enumi}{Point}{Points} + \crefname@preamble{lemma}{lemme}{lemmes} + \Crefname@preamble{lemma}{Lemme}{Lemmes} + \crefname@preamble{corollary}{corollaire}{corollaires} + \Crefname@preamble{corollary}{Corollaire}{Corollaires} + \crefname@preamble{proposition}{proposition}{propositions} + \Crefname@preamble{proposition}{Proposition}{Propositions} + \crefname@preamble{definition}{d\'efinition}{d\'efinitions} + \Crefname@preamble{definition}{D\'efinition}{D\'efinitions} + \crefname@preamble{result}{r\'esultat}{r\'esultats} + \Crefname@preamble{result}{R\'esultat}{R\'esultats} + \def\cref@language{french}% + \cref@addto\extrasfrench{% + \renewcommand{\crefrangeconjunction}{ \`a~}% + \renewcommand{\crefpairconjunction}{ et~}% + \renewcommand{\crefmiddleconjunction}{, }% + \renewcommand{\creflastconjunction}{ et~}% + \renewcommand{\crefpairgroupconjunction}{ et~}% + \renewcommand{\crefmiddlegroupconjunction}{, }% + \renewcommand{\creflastgroupconjunction}{ et~}% + \crefname{equation}{{\'e}quation}{{\'e}quations}% + \Crefname{equation}{{\'E}quation}{{\'E}quations}% + \crefname{chapter}{chapitre}{chapitres}% + \Crefname{chapter}{Chapitre}{Chapitres}% + \crefname{section}{section}{sections}% + \Crefname{section}{Section}{Sections}% + \crefname{subsection}{section}{sections}% + \Crefname{subsection}{Section}{Sections}% + \crefname{subsubsection}{section}{sections}% + \Crefname{subsubsection}{Section}{Sections}% + \crefname{appendix}{appendice}{appendices}% + \Crefname{appendix}{Appendice}{Appendices}% + \crefname{subappendix}{appendice}{appendices} + \Crefname{subappendix}{Appendice}{Appendices} + \crefname{subsubappendix}{appendice}{appendices} + \Crefname{subsubappendix}{Appendice}{Appendices} + \crefname{subsubsubappendix}{appendice}{appendices} + \Crefname{subsubsubappendix}{Appendice}{Appendices} + \crefname{figure}{figure}{figures}% + \Crefname{figure}{Figure}{Figures}% + \crefname{subfigure}{figure}{figures}% + \Crefname{subfigure}{Figure}{Figures}% + \crefname{table}{tableau}{tableaux}% + \Crefname{table}{Tableau}{Tableaux}% + \crefname{subtable}{tableau}{tableaux}% + \Crefname{subtable}{Tableau}{Tableaux}% + \crefname{theorem}{th\'eor\`eme}{th\'eor\`emes}% + \Crefname{theorem}{Th\'eor\`eme}{Th\'eor\`emes}% + \crefname{enumi}{point}{points}% + \Crefname{enumi}{Point}{Points}% + \crefname{enumii}{point}{points}% + \Crefname{enumii}{Point}{Points}% + \crefname{enumiii}{point}{points}% + \Crefname{enumiii}{Point}{Points}% + \crefname{enumiv}{point}{points}% + \Crefname{enumiv}{Point}{Points}% + \crefname{enumv}{point}{points}% + \Crefname{enumv}{Point}{Points}% + \crefname{lemma}{lemme}{lemmes}% + \Crefname{lemma}{Lemme}{Lemmes}% + \crefname{corollary}{corollaire}{corollaires}% + \Crefname{corollary}{Corollaire}{Corollaires}% + \crefname{proposition}{proposition}{propositions}% + \Crefname{proposition}{Proposition}{Propositions}% + \crefname{definition}{d\'efinition}{d\'efinitions}% + \Crefname{definition}{D\'efinition}{D\'efinitions}% + \crefname{result}{r\'esultat}{r\'esultats}% + \Crefname{result}{R\'esultat}{R\'esultats}% + }}} +\ExecuteOptions{english} +\ProcessOptions*\relax +\AtBeginDocument{% + \edef\@tmpa{% + \expandafter\noexpand\csname extras\cref@language\endcsname}% + \@ifundefined{crefrangeconjunction}{% + \let\crefrangeconjunction\crefrangeconjunction@preamble% + }{% + \expandafter\def\expandafter\@tmpb\expandafter{% + \expandafter\renewcommand\expandafter% + {\expandafter\crefrangeconjunction\expandafter}% + \expandafter{\crefrangeconjunction}}% + \expandafter\expandafter\expandafter\cref@addto% + \expandafter\@tmpa\expandafter{\@tmpb}% + }% + \@ifundefined{crefpairconjunction}{% + \let\crefpairconjunction\crefpairconjunction@preamble% + }{% + \expandafter\def\expandafter\@tmpb\expandafter{% + \expandafter\renewcommand\expandafter% + {\expandafter\crefpairconjunction\expandafter}% + \expandafter{\crefpairconjunction}}% + \expandafter\expandafter\expandafter\cref@addto% + \expandafter\@tmpa\expandafter{\@tmpb}% + }% + \@ifundefined{crefmiddleconjunction}{% + \let\crefmiddleconjunction\crefmiddleconjunction@preamble% + }{% + \expandafter\def\expandafter\@tmpb\expandafter{% + \expandafter\renewcommand\expandafter% + {\expandafter\crefmiddleconjunction\expandafter}% + \expandafter{\crefmiddleconjunction}}% + \expandafter\expandafter\expandafter\cref@addto% + \expandafter\@tmpa\expandafter{\@tmpb}% + }% + \@ifundefined{creflastconjunction}{% + \let\creflastconjunction\creflastconjunction@preamble% + }{% + \expandafter\def\expandafter\@tmpb\expandafter{% + \expandafter\renewcommand\expandafter% + {\expandafter\creflastconjunction\expandafter}% + \expandafter{\creflastconjunction}}% + \expandafter\expandafter\expandafter\cref@addto% + \expandafter\@tmpa\expandafter{\@tmpb}% + }% + \@ifundefined{crefpairgroupconjunction}{% + \let\crefpairgroupconjunction% + \crefpairgroupconjunction@preamble% + }{% + \expandafter\def\expandafter\@tmpb\expandafter{% + \expandafter\renewcommand\expandafter% + {\expandafter\crefpairgroupconjunction\expandafter}% + \expandafter{\crefpairgroupconjunction}}% + \expandafter\expandafter\expandafter\cref@addto% + \expandafter\@tmpa\expandafter{\@tmpb}% + }% + \@ifundefined{crefmiddlegroupconjunction}{% + \let\crefmiddlegroupconjunction% + \crefmiddlegroupconjunction@preamble% + }{% + \expandafter\def\expandafter\@tmpb\expandafter{% + \expandafter\renewcommand\expandafter% + {\expandafter\crefpairmiddleconjunction\expandafter}% + \expandafter{\crefpairmiddleconjunction}}% + \expandafter\expandafter\expandafter\cref@addto% + \expandafter\@tmpa\expandafter{\@tmpb}% + }% + \@ifundefined{creflastgroupconjunction}{% + \let\creflastgroupconjunction% + \creflastgroupconjunction@preamble% + }{% + \expandafter\def\expandafter\@tmpb\expandafter{% + \expandafter\renewcommand\expandafter% + {\expandafter\crefpairlastconjunction\expandafter}% + \expandafter{\crefpairlastconjunction}}% + \expandafter\expandafter\expandafter\cref@addto% + \expandafter\@tmpa\expandafter{\@tmpb}% + }% + \@ifundefined{crefpairgroupconjunction}{% + \let\crefpairgroupconjunction\crefpairconjunction}{}% + \@ifundefined{crefmiddlegroupconjunction}{% + \let\crefmiddlegroupconjunction\crefmiddleconjunction}{}% + \@ifundefined{creflastgroupconjunction}{% + \edef\creflastgroupconjunction{, \creflastconjunction}}{}% + \let\@tmpstack\cref@label@types% + \cref@isstackfull{\@tmpstack}% + \@whilesw\if@cref@stackfull\fi{% + \edef\@tmpa{\cref@stack@top{\@tmpstack}}% + \@ifundefined{cref@\@tmpa @name}{% + \expandafter\def\expandafter\@tmpb\expandafter{% + \csname cref@\@tmpa @name\endcsname}% + \expandafter\def\expandafter\@tmpc\expandafter{% + \csname cref@\@tmpa @name@preamble\endcsname}% + \expandafter\expandafter\expandafter\let\expandafter\@tmpb\@tmpc% + \expandafter\def\expandafter\@tmpb\expandafter{% + \csname cref@\@tmpa @name@plural\endcsname}% + \expandafter\def\expandafter\@tmpc\expandafter{% + \csname cref@\@tmpa @name@plural@preamble\endcsname}% + \expandafter\expandafter\expandafter\let\expandafter\@tmpb\@tmpc + }{% + \edef\@tmpb{% + \expandafter\noexpand\csname extras\cref@language\endcsname}% + \expandafter\def\expandafter\@tmpc\expandafter{% + \expandafter\crefname\expandafter{\@tmpa}}% + \expandafter\expandafter\expandafter\cref@addto% + \expandafter\expandafter\expandafter\@tmpc% + \expandafter\expandafter\expandafter{% + \expandafter\expandafter\expandafter{% + \csname cref@\@tmpa @name\endcsname}}% + \expandafter\expandafter\expandafter\cref@addto% + \expandafter\expandafter\expandafter\@tmpc% + \expandafter\expandafter\expandafter{% + \expandafter\expandafter\expandafter{% + \csname cref@\@tmpa @name@plural\endcsname}}% + \expandafter\expandafter\expandafter\cref@addto% + \expandafter\@tmpb\expandafter{\@tmpc}% + }% + \@ifundefined{Cref@\@tmpa @name}{% + \expandafter\def\expandafter\@tmpb\expandafter{% + \csname Cref@\@tmpa @name\endcsname}% + \expandafter\def\expandafter\@tmpc\expandafter{% + \csname Cref@\@tmpa @name@preamble\endcsname}% + \expandafter\expandafter\expandafter\let\expandafter\@tmpb\@tmpc% + \expandafter\def\expandafter\@tmpb\expandafter{% + \csname Cref@\@tmpa @name@plural\endcsname}% + \expandafter\def\expandafter\@tmpc\expandafter{% + \csname Cref@\@tmpa @name@plural@preamble\endcsname}% + \expandafter\expandafter\expandafter\let\expandafter\@tmpb\@tmpc + }{% + \edef\@tmpb{% + \expandafter\noexpand\csname extras\cref@language\endcsname}% + \expandafter\def\expandafter\@tmpc\expandafter{% + \expandafter\Crefname\expandafter{\@tmpa}}% + \expandafter\expandafter\expandafter\cref@addto% + \expandafter\expandafter\expandafter\@tmpc% + \expandafter\expandafter\expandafter{% + \expandafter\expandafter\expandafter{% + \csname Cref@\@tmpa @name\endcsname}}% + \expandafter\expandafter\expandafter\cref@addto% + \expandafter\expandafter\expandafter\@tmpc% + \expandafter\expandafter\expandafter{% + \expandafter\expandafter\expandafter{% + \csname Cref@\@tmpa @name@plural\endcsname}}% + \expandafter\expandafter\expandafter\cref@addto% + \expandafter\@tmpb\expandafter{\@tmpc}% + }% + \@ifundefined{cref@\@tmpa @format}{% + \expandafter\@crefdefineformat\expandafter{\@tmpa}}{}% + \@ifundefined{crefrange@\@tmpa @format}{% + \expandafter\@crefrangedefineformat\expandafter{\@tmpa}}{}% + \@ifundefined{cref@\@tmpa @format@first}{% + \expandafter\@crefdefinemultiformat\expandafter{\@tmpa}}{}% + \@ifundefined{crefrange@\@tmpa @format@first}{% + \expandafter\@crefrangedefinemultiformat\expandafter{\@tmpa}}{}% + \cref@stack@pop{\@tmpstack}% + \cref@isstackfull{\@tmpstack}}% + \@ifundefined{cref@subsection@format}{% + \let\cref@subsection@format% + \cref@section@format}{}% + \@ifundefined{Cref@subsection@format}{% + \let\Cref@subsection@format% + \Cref@section@format}{}% + \@ifundefined{crefrange@subsection@format}{% + \let\crefrange@subsection@format% + \crefrange@section@format}{}% + \@ifundefined{Crefrange@subsection@format}{% + \let\Crefrange@subsection@format% + \Crefrange@section@format}{}% + \@ifundefined{cref@subsection@format@first}{% + \let\cref@subsection@format@first% + \cref@section@format@first}{}% + \@ifundefined{Cref@subsection@format@first}{% + \let\Cref@subsection@format@first% + \Cref@section@format@first}{}% + \@ifundefined{cref@subsection@format@second}{% + \let\cref@subsection@format@second% + \cref@section@format@second}{}% + \@ifundefined{Cref@subsection@format@second}{% + \let\Cref@subsection@format@second% + \Cref@section@format@second}{}% + \@ifundefined{cref@subsection@format@middle}{% + \let\cref@subsection@format@middle% + \cref@section@format@middle}{}% + \@ifundefined{Cref@subsection@format@middle}{% + \let\Cref@subsection@format@middle% + \Cref@section@format@middle}{}% + \@ifundefined{cref@subsection@format@last}{% + \let\cref@subsection@format@last% + \cref@section@format@last}{}% + \@ifundefined{Cref@subsection@format@last}{% + \let\Cref@subsection@format@last% + \Cref@section@format@last}{}% + \@ifundefined{crefrange@subsection@format@first}{% + \let\crefrange@subsection@format@first% + \crefrange@section@format@first}{}% + \@ifundefined{Crefrange@subsection@format@first}{% + \let\Crefrange@subsection@format@first% + \Crefrange@section@format@first}{}% + \@ifundefined{crefrange@subsection@format@second}{% + \let\crefrange@subsection@format@second% + \crefrange@section@format@second}{}% + \@ifundefined{Crefrange@subsection@format@second}{% + \let\Crefrange@subsection@format@second% + \Crefrange@section@format@second}{}% + \@ifundefined{crefrange@subsection@format@middle}{% + \let\crefrange@subsection@format@middle% + \crefrange@section@format@middle}{}% + \@ifundefined{Crefrange@subsection@format@middle}{% + \let\Crefrange@subsection@format@middle% + \Crefrange@section@format@middle}{}% + \@ifundefined{crefrange@subsection@format@last}{% + \let\crefrange@subsection@format@last% + \crefrange@section@format@last}{}% + \@ifundefined{Crefrange@subsection@format@last}{% + \let\Crefrange@subsection@format@last% + \Crefrange@section@format@last}{}% + \@ifundefined{cref@subsubsection@format}{% + \let\cref@subsubsection@format% + \cref@subsection@format}{}% + \@ifundefined{Cref@subsubsection@format}{% + \let\Cref@subsubsection@format% + \Cref@subsection@format}{}% + \@ifundefined{crefrange@subsubsection@format}{% + \let\crefrange@subsubsection@format% + \crefrange@subsection@format}{}% + \@ifundefined{Crefrange@subsubsection@format}{% + \let\Crefrange@subsubsection@format% + \Crefrange@subsection@format}{}% + \@ifundefined{cref@subsubsection@format@first}{% + \let\cref@subsubsection@format@first% + \cref@subsection@format@first}{}% + \@ifundefined{Cref@subsubsection@format@first}{% + \let\Cref@subsubsection@format@first% + \Cref@subsection@format@first}{}% + \@ifundefined{cref@subsubsection@format@second}{% + \let\cref@subsubsection@format@second% + \cref@subsection@format@second}{}% + \@ifundefined{Cref@subsubsection@format@second}{% + \let\Cref@subsubsection@format@second% + \Cref@subsection@format@second}{}% + \@ifundefined{cref@subsubsection@format@middle}{% + \let\cref@subsubsection@format@middle% + \cref@subsection@format@middle}{}% + \@ifundefined{Cref@subsubsection@format@middle}{% + \let\Cref@subsubsection@format@middle% + \Cref@subsection@format@middle}{}% + \@ifundefined{cref@subsubsection@format@last}{% + \let\cref@subsubsection@format@last% + \cref@subsection@format@last}{}% + \@ifundefined{Cref@subsubsection@format@last}{% + \let\Cref@subsubsection@format@last% + \Cref@subsection@format@last}{}% + \@ifundefined{crefrange@subsubsection@format@first}{% + \let\crefrange@subsubsection@format@first% + \crefrange@subsection@format@first}{}% + \@ifundefined{Crefrange@subsubsection@format@first}{% + \let\Crefrange@subsubsection@format@first% + \Crefrange@subsection@format@first}{}% + \@ifundefined{crefrange@subsubsection@format@second}{% + \let\crefrange@subsubsection@format@second% + \crefrange@subsection@format@second}{}% + \@ifundefined{Crefrange@subsubsection@format@second}{% + \let\Crefrange@subsubsection@format@second% + \Crefrange@subsection@format@second}{}% + \@ifundefined{crefrange@subsubsection@format@middle}{% + \let\crefrange@subsubsection@format@middle% + \crefrange@subsection@format@middle}{}% + \@ifundefined{Crefrange@subsubsection@format@middle}{% + \let\Crefrange@subsubsection@format@middle% + \Crefrange@subsection@format@middle}{}% + \@ifundefined{crefrange@subsubsection@format@last}{% + \let\crefrange@subsubsection@format@last% + \crefrange@subsection@format@last}{}% + \@ifundefined{Crefrange@subsubsection@format@last}{% + \let\Crefrange@subsubsection@format@last% + \Crefrange@subsection@format@last}{}% + \@ifundefined{cref@subappendix@format}{% + \let\cref@subappendix@format% + \cref@appendix@format}{}% + \@ifundefined{Cref@subappendix@format}{% + \let\Cref@subappendix@format% + \Cref@appendix@format}{}% + \@ifundefined{crefrange@subappendix@format}{% + \let\crefrange@subappendix@format% + \crefrange@appendix@format}{}% + \@ifundefined{Crefrange@subappendix@format}{% + \let\Crefrange@subappendix@format% + \Crefrange@appendix@format}{}% + \@ifundefined{cref@subappendix@format@first}{% + \let\cref@subappendix@format@first% + \cref@appendix@format@first}{}% + \@ifundefined{Cref@subappendix@format@first}{% + \let\Cref@subappendix@format@first% + \Cref@appendix@format@first}{}% + \@ifundefined{cref@subappendix@format@second}{% + \let\cref@subappendix@format@second% + \cref@appendix@format@second}{}% + \@ifundefined{Cref@subappendix@format@second}{% + \let\Cref@subappendix@format@second% + \Cref@appendix@format@second}{}% + \@ifundefined{cref@subappendix@format@middle}{% + \let\cref@subappendix@format@middle% + \cref@appendix@format@middle}{}% + \@ifundefined{Cref@subappendix@format@middle}{% + \let\Cref@subappendix@format@middle% + \Cref@appendix@format@middle}{}% + \@ifundefined{cref@subappendix@format@last}{% + \let\cref@subappendix@format@last% + \cref@appendix@format@last}{}% + \@ifundefined{Cref@subappendix@format@last}{% + \let\Cref@subappendix@format@last% + \Cref@appendix@format@last}{}% + \@ifundefined{crefrange@subappendix@format@first}{% + \let\crefrange@subappendix@format@first% + \crefrange@appendix@format@first}{}% + \@ifundefined{Crefrange@subappendix@format@first}{% + \let\Crefrange@subappendix@format@first% + \Crefrange@appendix@format@first}{}% + \@ifundefined{crefrange@subappendix@format@second}{% + \let\crefrange@subappendix@format@second% + \crefrange@appendix@format@second}{}% + \@ifundefined{Crefrange@subappendix@format@second}{% + \let\Crefrange@subappendix@format@second% + \Crefrange@appendix@format@second}{}% + \@ifundefined{crefrange@subappendix@format@middle}{% + \let\crefrange@subappendix@format@middle% + \crefrange@appendix@format@middle}{}% + \@ifundefined{Crefrange@subappendix@format@middle}{% + \let\Crefrange@subappendix@format@middle% + \Crefrange@appendix@format@middle}{}% + \@ifundefined{crefrange@subappendix@format@last}{% + \let\crefrange@subappendix@format@last% + \crefrange@appendix@format@last}{}% + \@ifundefined{Crefrange@subappendix@format@last}{% + \let\Crefrange@subappendix@format@last% + \Crefrange@appendix@format@last}{}% + \@ifundefined{cref@subsubappendix@format}{% + \let\cref@subsubappendix@format% + \cref@subappendix@format}{}% + \@ifundefined{Cref@subsubappendix@format}{% + \let\Cref@subsubappendix@format% + \Cref@subappendix@format}{}% + \@ifundefined{crefrange@subsubappendix@format}{% + \let\crefrange@subsubappendix@format% + \crefrange@subappendix@format}{}% + \@ifundefined{Crefrange@subsubappendix@format}{% + \let\Crefrange@subsubappendix@format% + \Crefrange@subappendix@format}{}% + \@ifundefined{cref@subsubappendix@format@first}{% + \let\cref@subsubappendix@format@first% + \cref@subappendix@format@first}{}% + \@ifundefined{Cref@subsubappendix@format@first}{% + \let\Cref@subsubappendix@format@first% + \Cref@subappendix@format@first}{}% + \@ifundefined{cref@subsubappendix@format@second}{% + \let\cref@subsubappendix@format@second% + \cref@subappendix@format@second}{}% + \@ifundefined{Cref@subsubappendix@format@second}{% + \let\Cref@subsubappendix@format@second% + \Cref@subappendix@format@second}{}% + \@ifundefined{cref@subsubappendix@format@middle}{% + \let\cref@subsubappendix@format@middle% + \cref@subappendix@format@middle}{}% + \@ifundefined{Cref@subsubappendix@format@middle}{% + \let\Cref@subsubappendix@format@middle% + \Cref@subappendix@format@middle}{}% + \@ifundefined{cref@subsubappendix@format@last}{% + \let\cref@subsubappendix@format@last% + \cref@subappendix@format@last}{}% + \@ifundefined{Cref@subsubappendix@format@last}{% + \let\Cref@subsubappendix@format@last% + \Cref@subappendix@format@last}{}% + \@ifundefined{crefrange@subsubappendix@format@first}{% + \let\crefrange@subsubappendix@format@first% + \crefrange@subappendix@format@first}{}% + \@ifundefined{Crefrange@subsubappendix@format@first}{% + \let\Crefrange@subsubappendix@format@first% + \Crefrange@subappendix@format@first}{}% + \@ifundefined{crefrange@subsubappendix@format@second}{% + \let\crefrange@subsubappendix@format@second% + \crefrange@subappendix@format@second}{}% + \@ifundefined{Crefrange@subsubappendix@format@second}{% + \let\Crefrange@subsubappendix@format@second% + \Crefrange@subappendix@format@second}{}% + \@ifundefined{crefrange@subsubappendix@format@middle}{% + \let\crefrange@subsubappendix@format@middle% + \crefrange@subappendix@format@middle}{}% + \@ifundefined{Crefrange@subsubappendix@format@middle}{% + \let\Crefrange@subsubappendix@format@middle% + \Crefrange@subappendix@format@middle}{}% + \@ifundefined{crefrange@subsubappendix@format@last}{% + \let\crefrange@subsubappendix@format@last% + \crefrange@subappendix@format@last}{}% + \@ifundefined{Crefrange@subsubappendix@format@last}{% + \let\Crefrange@subsubappendix@format@last% + \Crefrange@subappendix@format@last}{}% + \@ifundefined{cref@subsubsubappendix@format}{% + \let\cref@subsubsubappendix@format% + \cref@subsubappendix@format}{}% + \@ifundefined{Cref@subsubsubappendix@format}{% + \let\Cref@subsubsubappendix@format% + \Cref@subsubappendix@format}{}% + \@ifundefined{crefrange@subsubsubappendix@format}{% + \let\crefrange@subsubsubappendix@format% + \crefrange@subsubappendix@format}{}% + \@ifundefined{Crefrange@subsubsubappendix@format}{% + \let\Crefrange@subsubsubappendix@format% + \Crefrange@subsubappendix@format}{}% + \@ifundefined{cref@subsubsubappendix@format@first}{% + \let\cref@subsubsubappendix@format@first% + \cref@subsubappendix@format@first}{}% + \@ifundefined{Cref@subsubsubappendix@format@first}{% + \let\Cref@subsubsubappendix@format@first% + \Cref@subsubappendix@format@first}{}% + \@ifundefined{cref@subsubsubappendix@format@second}{% + \let\cref@subsubsubappendix@format@second% + \cref@subsubappendix@format@second}{}% + \@ifundefined{Cref@subsubsubappendix@format@second}{% + \let\Cref@subsubsubappendix@format@second% + \Cref@subsubappendix@format@second}{}% + \@ifundefined{cref@subsubsubappendix@format@middle}{% + \let\cref@subsubsubappendix@format@middle% + \cref@subsubappendix@format@middle}{}% + \@ifundefined{Cref@subsubsubappendix@format@middle}{% + \let\Cref@subsubsubappendix@format@middle% + \Cref@subsubappendix@format@middle}{}% + \@ifundefined{cref@subsubsubappendix@format@last}{% + \let\cref@subsubsubappendix@format@last% + \cref@subsubappendix@format@last}{}% + \@ifundefined{Cref@subsubsubappendix@format@last}{% + \let\Cref@subsubsubappendix@format@last% + \Cref@subsubappendix@format@last}{}% + \@ifundefined{crefrange@subsubsubappendix@format@first}{% + \let\crefrange@subsubsubappendix@format@first% + \crefrange@subsubappendix@format@first}{}% + \@ifundefined{Crefrange@subsubsubappendix@format@first}{% + \let\Crefrange@subsubsubappendix@format@first% + \Crefrange@subsubappendix@format@first}{}% + \@ifundefined{crefrange@subsubsubappendix@format@second}{% + \let\crefrange@subsubsubappendix@format@second% + \crefrange@subsubappendix@format@second}{}% + \@ifundefined{Crefrange@subsubsubappendix@format@second}{% + \let\Crefrange@subsubsubappendix@format@second% + \Crefrange@subsubappendix@format@second}{}% + \@ifundefined{crefrange@subsubsubappendix@format@middle}{% + \let\crefrange@subsubsubappendix@format@middle% + \crefrange@subsubappendix@format@middle}{}% + \@ifundefined{Crefrange@subsubsubappendix@format@middle}{% + \let\Crefrange@subsubsubappendix@format@middle% + \Crefrange@subsubappendix@format@middle}{}% + \@ifundefined{crefrange@subsubsubappendix@format@last}{% + \let\crefrange@subsubsubappendix@format@last% + \crefrange@subsubappendix@format@last}{}% + \@ifundefined{Crefrange@subsubsubappendix@format@last}{% + \let\Crefrange@subsubsubappendix@format@last% + \Crefrange@subsubappendix@format@last}{}% + \@ifundefined{cref@subfigure@format}{% + \let\cref@subfigure@format% + \cref@figure@format}{}% + \@ifundefined{Cref@subfigure@format}{% + \let\Cref@subfigure@format% + \Cref@figure@format}{}% + \@ifundefined{crefrange@subfigure@format}{% + \let\crefrange@subfigure@format% + \crefrange@figure@format}{}% + \@ifundefined{Crefrange@subfigure@format}{% + \let\Crefrange@subfigure@format% + \Crefrange@figure@format}{}% + \@ifundefined{cref@subfigure@format@first}{% + \let\cref@subfigure@format@first% + \cref@figure@format@first}{}% + \@ifundefined{Cref@subfigure@format@first}{% + \let\Cref@subfigure@format@first% + \Cref@figure@format@first}{}% + \@ifundefined{cref@subfigure@format@second}{% + \let\cref@subfigure@format@second% + \cref@figure@format@second}{}% + \@ifundefined{Cref@subfigure@format@second}{% + \let\Cref@subfigure@format@second% + \Cref@figure@format@second}{}% + \@ifundefined{cref@subfigure@format@middle}{% + \let\cref@subfigure@format@middle% + \cref@figure@format@middle}{}% + \@ifundefined{Cref@subfigure@format@middle}{% + \let\Cref@subfigure@format@middle% + \Cref@figure@format@middle}{}% + \@ifundefined{cref@subfigure@format@last}{% + \let\cref@subfigure@format@last% + \cref@figure@format@last}{}% + \@ifundefined{Cref@subfigure@format@last}{% + \let\Cref@subfigure@format@last% + \Cref@figure@format@last}{}% + \@ifundefined{crefrange@subfigure@format@first}{% + \let\crefrange@subfigure@format@first% + \crefrange@figure@format@first}{}% + \@ifundefined{Crefrange@subfigure@format@first}{% + \let\Crefrange@subfigure@format@first% + \Crefrange@figure@format@first}{}% + \@ifundefined{crefrange@subfigure@format@second}{% + \let\crefrange@subfigure@format@second% + \crefrange@figure@format@second}{}% + \@ifundefined{Crefrange@subfigure@format@second}{% + \let\Crefrange@subfigure@format@second% + \Crefrange@figure@format@second}{}% + \@ifundefined{crefrange@subfigure@format@middle}{% + \let\crefrange@subfigure@format@middle% + \crefrange@figure@format@middle}{}% + \@ifundefined{Crefrange@subfigure@format@middle}{% + \let\Crefrange@subfigure@format@middle% + \Crefrange@figure@format@middle}{}% + \@ifundefined{crefrange@subfigure@format@last}{% + \let\crefrange@subfigure@format@last% + \crefrange@figure@format@last}{}% + \@ifundefined{Crefrange@subfigure@format@last}{% + \let\Crefrange@subfigure@format@last% + \Crefrange@figure@format@last}{}% + \@ifundefined{cref@subtable@format}{% + \let\cref@subtable@format% + \cref@table@format}{}% + \@ifundefined{Cref@subtable@format}{% + \let\Cref@subtable@format% + \Cref@table@format}{}% + \@ifundefined{crefrange@subtable@format}{% + \let\crefrange@subtable@format% + \crefrange@table@format}{}% + \@ifundefined{Crefrange@subtable@format}{% + \let\Crefrange@subtable@format% + \Crefrange@table@format}{}% + \@ifundefined{cref@subtable@format@first}{% + \let\cref@subtable@format@first% + \cref@table@format@first}{}% + \@ifundefined{Cref@subtable@format@first}{% + \let\Cref@subtable@format@first% + \Cref@table@format@first}{}% + \@ifundefined{cref@subtable@format@second}{% + \let\cref@subtable@format@second% + \cref@table@format@second}{}% + \@ifundefined{Cref@subtable@format@second}{% + \let\Cref@subtable@format@second% + \Cref@table@format@second}{}% + \@ifundefined{cref@subtable@format@middle}{% + \let\cref@subtable@format@middle% + \cref@table@format@middle}{}% + \@ifundefined{Cref@subtable@format@middle}{% + \let\Cref@subtable@format@middle% + \Cref@table@format@middle}{}% + \@ifundefined{cref@subtable@format@last}{% + \let\cref@subtable@format@last% + \cref@table@format@last}{}% + \@ifundefined{Cref@subtable@format@last}{% + \let\Cref@subtable@format@last% + \Cref@table@format@last}{}% + \@ifundefined{crefrange@subtable@format@first}{% + \let\crefrange@subtable@format@first% + \crefrange@table@format@first}{}% + \@ifundefined{Crefrange@subtable@format@first}{% + \let\Crefrange@subtable@format@first% + \Crefrange@table@format@first}{}% + \@ifundefined{crefrange@subtable@format@second}{% + \let\crefrange@subtable@format@second% + \crefrange@table@format@second}{}% + \@ifundefined{Crefrange@subtable@format@second}{% + \let\Crefrange@subtable@format@second% + \Crefrange@table@format@second}{}% + \@ifundefined{crefrange@subtable@format@middle}{% + \let\crefrange@subtable@format@middle% + \crefrange@table@format@middle}{}% + \@ifundefined{Crefrange@subtable@format@middle}{% + \let\Crefrange@subtable@format@middle% + \Crefrange@table@format@middle}{}% + \@ifundefined{crefrange@subtable@format@last}{% + \let\crefrange@subtable@format@last% + \crefrange@table@format@last}{}% + \@ifundefined{Crefrange@subtable@format@last}{% + \let\Crefrange@subtable@format@last% + \Crefrange@table@format@last}{}% + \@ifundefined{cref@enumii@format}{% + \let\cref@enumii@format% + \cref@enumi@format}{}% + \@ifundefined{Cref@enumii@format}{% + \let\Cref@enumii@format% + \Cref@enumi@format}{}% + \@ifundefined{crefrange@enumii@format}{% + \let\crefrange@enumii@format% + \crefrange@enumi@format}{}% + \@ifundefined{Crefrange@enumii@format}{% + \let\Crefrange@enumii@format% + \Crefrange@enumi@format}{}% + \@ifundefined{cref@enumii@format@first}{% + \let\cref@enumii@format@first% + \cref@enumi@format@first}{}% + \@ifundefined{Cref@enumii@format@first}{% + \let\Cref@enumii@format@first% + \Cref@enumi@format@first}{}% + \@ifundefined{cref@enumii@format@second}{% + \let\cref@enumii@format@second% + \cref@enumi@format@second}{}% + \@ifundefined{Cref@enumii@format@second}{% + \let\Cref@enumii@format@second% + \Cref@enumi@format@second}{}% + \@ifundefined{cref@enumii@format@middle}{% + \let\cref@enumii@format@middle% + \cref@enumi@format@middle}{}% + \@ifundefined{Cref@enumii@format@middle}{% + \let\Cref@enumii@format@middle% + \Cref@enumi@format@middle}{}% + \@ifundefined{cref@enumii@format@last}{% + \let\cref@enumii@format@last% + \cref@enumi@format@last}{}% + \@ifundefined{Cref@enumii@format@last}{% + \let\Cref@enumii@format@last% + \Cref@enumi@format@last}{}% + \@ifundefined{crefrange@enumii@format@first}{% + \let\crefrange@enumii@format@first% + \crefrange@enumi@format@first}{}% + \@ifundefined{Crefrange@enumii@format@first}{% + \let\Crefrange@enumii@format@first% + \Crefrange@enumi@format@first}{}% + \@ifundefined{crefrange@enumii@format@second}{% + \let\crefrange@enumii@format@second% + \crefrange@enumi@format@second}{}% + \@ifundefined{Crefrange@enumii@format@second}{% + \let\Crefrange@enumii@format@second% + \Crefrange@enumi@format@second}{}% + \@ifundefined{crefrange@enumii@format@middle}{% + \let\crefrange@enumii@format@middle% + \crefrange@enumi@format@middle}{}% + \@ifundefined{Crefrange@enumii@format@middle}{% + \let\Crefrange@enumii@format@middle% + \Crefrange@enumi@format@middle}{}% + \@ifundefined{crefrange@enumii@format@last}{% + \let\crefrange@enumii@format@last% + \crefrange@enumi@format@last}{}% + \@ifundefined{Crefrange@enumii@format@last}{% + \let\Crefrange@enumii@format@last% + \Crefrange@enumi@format@last}{}% + \@ifundefined{cref@enumiii@format}{% + \let\cref@enumiii@format% + \cref@enumii@format}{}% + \@ifundefined{Cref@enumiii@format}{% + \let\Cref@enumiii@format% + \Cref@enumii@format}{}% + \@ifundefined{crefrange@enumiii@format}{% + \let\crefrange@enumiii@format% + \crefrange@enumii@format}{}% + \@ifundefined{Crefrange@enumiii@format}{% + \let\Crefrange@enumiii@format% + \Crefrange@enumii@format}{}% + \@ifundefined{cref@enumiii@format@first}{% + \let\cref@enumiii@format@first% + \cref@enumii@format@first}{}% + \@ifundefined{Cref@enumiii@format@first}{% + \let\Cref@enumiii@format@first% + \Cref@enumii@format@first}{}% + \@ifundefined{cref@enumiii@format@second}{% + \let\cref@enumiii@format@second% + \cref@enumii@format@second}{}% + \@ifundefined{Cref@enumiii@format@second}{% + \let\Cref@enumiii@format@second% + \Cref@enumii@format@second}{}% + \@ifundefined{cref@enumiii@format@middle}{% + \let\cref@enumiii@format@middle% + \cref@enumii@format@middle}{}% + \@ifundefined{Cref@enumiii@format@middle}{% + \let\Cref@enumiii@format@middle% + \Cref@enumii@format@middle}{}% + \@ifundefined{cref@enumiii@format@last}{% + \let\cref@enumiii@format@last% + \cref@enumii@format@last}{}% + \@ifundefined{Cref@enumiii@format@last}{% + \let\Cref@enumiii@format@last% + \Cref@enumii@format@last}{}% + \@ifundefined{crefrange@enumiii@format@first}{% + \let\crefrange@enumiii@format@first% + \crefrange@enumii@format@first}{}% + \@ifundefined{Crefrange@enumiii@format@first}{% + \let\Crefrange@enumiii@format@first% + \Crefrange@enumii@format@first}{}% + \@ifundefined{crefrange@enumiii@format@second}{% + \let\crefrange@enumiii@format@second% + \crefrange@enumii@format@second}{}% + \@ifundefined{Crefrange@enumiii@format@second}{% + \let\Crefrange@enumiii@format@second% + \Crefrange@enumii@format@second}{}% + \@ifundefined{crefrange@enumiii@format@middle}{% + \let\crefrange@enumiii@format@middle% + \crefrange@enumii@format@middle}{}% + \@ifundefined{Crefrange@enumiii@format@middle}{% + \let\Crefrange@enumiii@format@middle% + \Crefrange@enumii@format@middle}{}% + \@ifundefined{crefrange@enumiii@format@last}{% + \let\crefrange@enumiii@format@last% + \crefrange@enumii@format@last}{}% + \@ifundefined{Crefrange@enumiii@format@last}{% + \let\Crefrange@enumiii@format@last% + \Crefrange@enumii@format@last}{}% + \@ifundefined{cref@enumiv@format}{% + \let\cref@enumiv@format% + \cref@enumiii@format}{}% + \@ifundefined{Cref@enumiv@format}{% + \let\Cref@enumiv@format% + \Cref@enumiii@format}{}% + \@ifundefined{crefrange@enumiv@format}{% + \let\crefrange@enumiv@format% + \crefrange@enumiii@format}{}% + \@ifundefined{Crefrange@enumiv@format}{% + \let\Crefrange@enumiv@format% + \Crefrange@enumiii@format}{}% + \@ifundefined{cref@enumiv@format@first}{% + \let\cref@enumiv@format@first% + \cref@enumiii@format@first}{}% + \@ifundefined{Cref@enumiv@format@first}{% + \let\Cref@enumiv@format@first% + \Cref@enumiii@format@first}{}% + \@ifundefined{cref@enumiv@format@second}{% + \let\cref@enumiv@format@second% + \cref@enumiii@format@second}{}% + \@ifundefined{Cref@enumiv@format@second}{% + \let\Cref@enumiv@format@second% + \Cref@enumiii@format@second}{}% + \@ifundefined{cref@enumiv@format@middle}{% + \let\cref@enumiv@format@middle% + \cref@enumiii@format@middle}{}% + \@ifundefined{Cref@enumiv@format@middle}{% + \let\Cref@enumiv@format@middle% + \Cref@enumiii@format@middle}{}% + \@ifundefined{cref@enumiv@format@last}{% + \let\cref@enumiv@format@last% + \cref@enumiii@format@last}{}% + \@ifundefined{Cref@enumiv@format@last}{% + \let\Cref@enumiv@format@last% + \Cref@enumiii@format@last}{}% + \@ifundefined{crefrange@enumiv@format@first}{% + \let\crefrange@enumiv@format@first% + \crefrange@enumiii@format@first}{}% + \@ifundefined{Crefrange@enumiv@format@first}{% + \let\Crefrange@enumiv@format@first% + \Crefrange@enumiii@format@first}{}% + \@ifundefined{crefrange@enumiv@format@second}{% + \let\crefrange@enumiv@format@second% + \crefrange@enumiii@format@second}{}% + \@ifundefined{Crefrange@enumiv@format@second}{% + \let\Crefrange@enumiv@format@second% + \Crefrange@enumiii@format@second}{}% + \@ifundefined{crefrange@enumiv@format@middle}{% + \let\crefrange@enumiv@format@middle% + \crefrange@enumiii@format@middle}{}% + \@ifundefined{Crefrange@enumiv@format@middle}{% + \let\Crefrange@enumiv@format@middle% + \Crefrange@enumiii@format@middle}{}% + \@ifundefined{crefrange@enumiv@format@last}{% + \let\crefrange@enumiv@format@last% + \crefrange@enumiii@format@last}{}% + \@ifundefined{Crefrange@enumiv@format@last}{% + \let\Crefrange@enumiv@format@last% + \Crefrange@enumiii@format@last}{}% + \@ifundefined{cref@enumv@format}{% + \let\cref@enumv@format% + \cref@enumiv@format}{}% + \@ifundefined{Cref@enumv@format}{% + \let\Cref@enumv@format% + \Cref@enumiv@format}{}% + \@ifundefined{crefrange@enumv@format}{% + \let\crefrange@enumv@format% + \crefrange@enumiv@format}{}% + \@ifundefined{Crefrange@enumv@format}{% + \let\Crefrange@enumv@format% + \Crefrange@enumiv@format}{}% + \@ifundefined{cref@enumv@format@first}{% + \let\cref@enumv@format@first% + \cref@enumiv@format@first}{}% + \@ifundefined{Cref@enumv@format@first}{% + \let\Cref@enumv@format@first% + \Cref@enumiv@format@first}{}% + \@ifundefined{cref@enumv@format@second}{% + \let\cref@enumv@format@second% + \cref@enumiv@format@second}{}% + \@ifundefined{Cref@enumv@format@second}{% + \let\Cref@enumv@format@second% + \Cref@enumiv@format@second}{}% + \@ifundefined{cref@enumv@format@middle}{% + \let\cref@enumv@format@middle% + \cref@enumiv@format@middle}{}% + \@ifundefined{Cref@enumv@format@middle}{% + \let\Cref@enumv@format@middle% + \Cref@enumiv@format@middle}{}% + \@ifundefined{cref@enumv@format@last}{% + \let\cref@enumv@format@last% + \cref@enumiv@format@last}{}% + \@ifundefined{Cref@enumv@format@last}{% + \let\Cref@enumv@format@last% + \Cref@enumiv@format@last}{}% + \@ifundefined{crefrange@enumv@format@first}{% + \let\crefrange@enumv@format@first% + \crefrange@enumiv@format@first}{}% + \@ifundefined{Crefrange@enumv@format@first}{% + \let\Crefrange@enumv@format@first% + \Crefrange@enumiv@format@first}{}% + \@ifundefined{crefrange@enumv@format@second}{% + \let\crefrange@enumv@format@second% + \crefrange@enumiv@format@second}{}% + \@ifundefined{Crefrange@enumv@format@second}{% + \let\Crefrange@enumv@format@second% + \Crefrange@enumiv@format@second}{}% + \@ifundefined{crefrange@enumv@format@middle}{% + \let\crefrange@enumv@format@middle% + \crefrange@enumiv@format@middle}{}% + \@ifundefined{Crefrange@enumv@format@middle}{% + \let\Crefrange@enumv@format@middle% + \Crefrange@enumiv@format@middle}{}% + \@ifundefined{crefrange@enumv@format@last}{% + \let\crefrange@enumv@format@last% + \crefrange@enumiv@format@last}{}% + \@ifundefined{Crefrange@enumv@format@last}{% + \let\Crefrange@enumv@format@last% + \Crefrange@enumiv@format@last}{}% + \let\cref@language\relax% } -\def\cref@writescript#1{% - \edef\@tmpa{\cref@getmeaning{\cref@text}}% - \immediate\write\@crefscript{s/#1/\@tmpa/g}} -\let\old@@setcref\@@setcref -\let\old@@setcrefrange\@@setcrefrange -\def\cref@getmeaning#1{\expandafter\@cref@getmeaning\meaning#1\@nil} -\def\@cref@getmeaning#1->#2\@nil{#2} -\def\@@setcref#1#2{% - \old@@setcref{#1}{#2}% - \expandafter\g@addto@macro\expandafter{% - \expandafter\cref@text\expandafter}\expandafter{% - #1{\ref{#2}}{}{}}} -\def\@@setcrefrange#1#2#3{% - \old@@setcrefrange{#1}{#2}{#3}% - \expandafter\g@addto@macro% - \expandafter{\expandafter\cref@text\expandafter}% - \expandafter{#1{\ref{#2}}{\ref{#3}}{}{}{}{}}} -\def\@setcref@pairgroupconjunction{% - \crefpairgroupconjunction% - \expandafter\g@addto@macro% - \expandafter{\expandafter\cref@text\expandafter}% - \expandafter{\crefpairgroupconjunction}} -\def\@setcref@middlegroupconjunction{% - \crefmiddlegroupconjunction% - \expandafter\g@addto@macro% - \expandafter{\expandafter\cref@text\expandafter}% - \expandafter{\crefmiddlegroupconjunction}} -\def\@setcref@lastgroupconjunction{% - \creflastgroupconjunction% - \expandafter\g@addto@macro% - \expandafter{\expandafter\cref@text\expandafter}% - \expandafter{\creflastgroupconjunction}} -} % end of poorman option -\ProcessOptions\relax \endinput %% %% End of file `cleveref.sty'. |