diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/cleveref/cleveref.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/cleveref/cleveref.sty | 229 |
1 files changed, 149 insertions, 80 deletions
diff --git a/Master/texmf-dist/tex/latex/cleveref/cleveref.sty b/Master/texmf-dist/tex/latex/cleveref/cleveref.sty index fa826b01a83..6bc15ab9691 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/07/26 v0.13.2 Intelligent cross-referencing] + [2009/08/18 v0.14.1 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 @@ -71,6 +71,19 @@ \cref@old@label@in@display{[#1]{#2}}} \def\ltx@label#1{\cref@label#1} \let\cref@old@make@df@tag@@\make@df@tag@@ + \let\cref@old@subequations\subequations% + \let\cref@old@endsubequations\endsubequations% + \cref@resetby{equation}{\@result}% + \ifx\@result\relax\else% + \@addtoreset{parentequation}{\@result}% + \fi% + \renewenvironment{subequations}{% + \@addtoreset{equation}{parentequation}% + \cref@old@subequations% + }{% + \gdef\cl@parentequation{}% + \cref@old@endsubequations% + }% \def\make@df@tag@@#1{% \gdef\df@tag{\maketag@@@{#1}% \def\@currentlabel{[equation][][]#1}}} @@ -203,80 +216,22 @@ \@@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}}% + \cref@stack@init{\@tmpstack}% + \edef\@tmpa{\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}% + \expandafter\@cref@constructprefix\@tmpa% + \cref@stack@to@list{\@tmpstack}{\@tmpa}% + \expandafter\def\expandafter#2\expandafter{\@tmpa}} +\def\@cref@constructprefix#1#2{% + \cref@resetby{#1}{#2}% + \ifx#2\relax% \else% - \edef\@tmpa{{{\the\csname c@#3\endcsname}#1}{#3}}% + \edef\@tmpa{\the\csname c@#2\endcsname}% + \expandafter\cref@stack@push\expandafter{\@tmpa}{\@tmpstack}% + \edef\@tmpa{{#2}}% \expandafter\expandafter\expandafter\@cref@constructprefix% - \expandafter\@tmpa\expandafter{\expandafter#3\expandafter}% + \expandafter\@tmpa\expandafter{\expandafter#2\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}% @@ -290,6 +245,17 @@ \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@to@list#1#2{% + \cref@isstackfull{#1}% + \if@cref@stackfull% + \expandafter\expandafter\expandafter\def% + \expandafter\expandafter\expandafter#2% + \expandafter\expandafter\expandafter{% + \expandafter\@cref@stack@to@list#1}% + \else% + \def#2{}% + \fi} +\def\@cref@stack@to@list#1,\@nil{#1} \def\cref@stack@topandbottom#1#2#3{% \def#2{}% \def#3{}% @@ -400,6 +366,82 @@ \fi% \fi% \@iterate} +\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}% + \cref@stack@init{\@countstacka}% + \expandafter\cref@stack@push\expandafter% + {\@countera}{\@countstacka}% + \ifx\@prefixa\@empty% + \else% + \expandafter\cref@stack@push\expandafter% + {\@prefixa}{\@countstacka}% + \fi% + \cref@stack@init{\@countstackb}% + \expandafter\cref@stack@push\expandafter% + {\@counterb}{\@countstackb}% + \ifx\@prefixb\@empty% + \else% + \expandafter\cref@stack@push\expandafter% + {\@prefixb}{\@countstackb}% + \fi% + \@cref@countercmp% + \fi% + \fi% + \fi% + \fi% + \expandafter\endgroup\expandafter% + \chardef\expandafter#3\expandafter=\@result\relax} +\def\@cref@countercmp{% + \let\@iterate\relax% + \cref@isstackempty{\@countstacka}% + \if@cref@stackempty% + \cref@isstackempty{\@countstackb}% + \if@cref@stackempty% + \def\@result{0}% + \else% + \def\@result{1}% + \fi% + \else% + \cref@isstackempty{\@countstackb}% + \if@cref@stackempty% + \def\@result{2}% + \else% + \edef\@tmpa{\cref@stack@top{\@countstacka}}% + \cref@stack@pop{\@countstacka}% + \edef\@tmpb{\cref@stack@top{\@countstackb}}% + \cref@stack@pop{\@countstackb}% + \ifnum\@tmpa<\@tmpb\relax% + \def\@result{1}% + \else% + \ifnum\@tmpa>\@tmpb\relax% + \def\@result{2}% + \else% + \def\@iterate{\@cref@countercmp}% + \fi% + \fi% + \fi% + \fi% + \@iterate} \newif\if@cref@inresetlist \def\cref@isinresetlist#1#2{% \begingroup% @@ -447,6 +489,15 @@ \def#2{table}% \fi% \fi% + \@ifundefined{cl@parentequation}{}{% + \def\@tmpa{#1}% + \def\@tmpb{equation}% + \ifx\@tmpa\@tmpb% + \cref@isinresetlist{#1}{parentequation}% + \if@cref@inresetlist% + \def#2{parentequation}% + \fi% + \fi}% \def\@tmpa{#1}% \def\@tmpb{enumii}% \ifx\@tmpa\@tmpb% @@ -727,9 +778,11 @@ \countdef\count@consecutive=0% \countdef\count@group=1% \count@group=1% + \def\cref@variant{#1}% \newif\if@secondref% \cref@stack@init{\@refstack}% - \cref@stack@push{#2}{\@refstack}% + \edef\@tmpa{#2}% + \expandafter\cref@stack@push\expandafter{\@tmpa}{\@refstack}% \cref@isstackfull{\@refstack}% \@whilesw\if@cref@stackfull\fi{% \cref@stack@init{\@refsubstack}% @@ -753,6 +806,11 @@ \fi% \fi% \advance\count@group 1% + \if@cref@capitalise% + \def\cref@variant{Cref}% + \else + \def\cref@variant{cref}% + \fi% \fi% \if@cref@compress% \cref@processconsecutive% @@ -774,21 +832,24 @@ \ifnum\count@consecutive=1\relax% \cref@isstackfull{\@refsubstack}% \if@cref@stackfull% - \expandafter\@setcref\expandafter{\@beginref}{#1}{@first}% + \expandafter\@setcref% + \expandafter{\@beginref}{\cref@variant}{@first}% \else% - \expandafter\@setcref\expandafter{\@beginref}{#1}{}% + \expandafter\@setcref% + \expandafter{\@beginref}{\cref@variant}{}% \fi% \else% \ifnum\count@consecutive=2\relax% - \expandafter\@setcref\expandafter{\@beginref}{#1}{@first}% + \expandafter\@setcref% + \expandafter{\@beginref}{\cref@variant}{@first}% \expandafter\cref@stack@push\expandafter% {\@endref,}{\@refsubstack}% \else% \edef\@tmpa{{\@beginref}{\@endref}}% \if@cref@stackempty% - \expandafter\@setcrefrange\@tmpa{#1}{}% + \expandafter\@setcrefrange\@tmpa{\cref@variant}{}% \else% - \expandafter\@setcrefrange\@tmpa{#1}{@first}% + \expandafter\@setcrefrange\@tmpa{\cref@variant}{@first}% \fi% \fi% \fi% @@ -823,16 +884,16 @@ \def\@pos{@middle}% \fi% \ifnum\count@consecutive=1\relax% - \edef\@tmpa{{\@beginref}{#1}{\@pos}}% + \edef\@tmpa{{\@beginref}{cref}{\@pos}}% \expandafter\@setcref\@tmpa% \else% \ifnum\count@consecutive=2\relax% \expandafter\@setcref\expandafter% - {\@beginref}{#1}{@middle}% + {\@beginref}{cref}{@middle}% \expandafter\cref@stack@push\expandafter% {\@endref}{\@refsubstack}% \else% - \edef\@tmpa{{\@beginref}{\@endref}{#1}{\@pos}}% + \edef\@tmpa{{\@beginref}{\@endref}{cref}{\@pos}}% \expandafter\@setcrefrange\@tmpa% \fi% \fi% @@ -2139,6 +2200,14 @@ \PackageInfo{cleveref}{neither sorting nor compressing references} \@cref@sortfalse \@cref@compressfalse} +\newif\if@cref@capitalise +\@cref@capitalisefalse +\DeclareOption{capitalise}{% + \PackageInfo{cleveref}{always capitalise cross-reference names} + \@cref@capitalisetrue} +\DeclareOption{capitalize}{% + \PackageInfo{cleveref}{always capitalise cross-reference names} + \@cref@capitalisetrue} \crefdefaultlabelformat{#2#1#3} \creflabelformat{equation}{\textup{(#2#1#3)}} \def\cref@addto#1#2{% |