summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/cleveref
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-04-30 22:56:22 +0000
committerKarl Berry <karl@freefriends.org>2018-04-30 22:56:22 +0000
commitd0308f57a6117f6a8de05dccf1605f43579be38f (patch)
tree0a31a299127ff2c14c6f11085d9f89feb194be85 /Master/texmf-dist/source/latex/cleveref
parent9cc7e0dfb995e3ef79ac1725801e859f8e1440e7 (diff)
cleveref (19apr18)
git-svn-id: svn://tug.org/texlive/trunk@47525 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/cleveref')
-rw-r--r--Master/texmf-dist/source/latex/cleveref/cleveref.dtx202
1 files changed, 182 insertions, 20 deletions
diff --git a/Master/texmf-dist/source/latex/cleveref/cleveref.dtx b/Master/texmf-dist/source/latex/cleveref/cleveref.dtx
index 4321c0e9135..05370a49bb3 100644
--- a/Master/texmf-dist/source/latex/cleveref/cleveref.dtx
+++ b/Master/texmf-dist/source/latex/cleveref/cleveref.dtx
@@ -1,5 +1,5 @@
-\def\packagedate{2018/03/03}
-\def\packageversion{0.21.3}
+\def\packagedate{2018/03/27}
+\def\packageversion{0.21.4}
% \iffalse meta-comment
%
% Package 'cleveref' to use with LaTeX2e
@@ -46,7 +46,7 @@
%</driver>
% \fi
%
-% \CheckSum{19145}
+% \CheckSum{19764}
%% \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
@@ -336,6 +336,11 @@
% example to manual. Modify \textbackslash{}@crefcopyformats so it
% copys over format \emph{components}, rather than copying over the
% low-level format definitions.}
+% \changes{v0.21.4}{2018/03/27}{Make subsubsection/subsubappendix formats
+% inherit from subsection/subappendix rather than section/appendix.
+% Modify \textbackslash{}@crefcopyformats to copy over low-level
+% formats again \emph{if} no components have have been customised.
+% Improve explanation of sub-format inheritance in the manual.}
%
% \GetFileInfo{cleveref.sty}
%
@@ -1148,11 +1153,21 @@
% |subsection| is by default inherited from that of |section|, and that
% of |subsubsection| is inherited from |subsection| (which might itself
% have been inherited from |section|). Similarly for |subappendix|,
-% |subsubappendix| and |subsubsubappendix|, and also for |enumii|,
-% |enumiii|, |enumiv| and |enumv|, which inherit from |enumi|. Finally,
-% |subfigure| and |subtable| inherit from |figure| and |table|,
+% |subsubappendix| and |subsubsubappendix|. The |enumii|, |enumiii|,
+% |enumiv| and |enumv| formats each inherit from the preceding one, with
+% |enumii| inheriting from |enumi|. Finally, |subfigure|, |subtable| and
+% |subequation| inherit from |figure|, |table| and |equation|,
% respectively.
%
+% If some of the format components for one of these reference types have
+% been customised using high-level customisation commands, any remaining
+% components are inherited from the parent type, and the
+% cross-reference formats are then defined in terms of those components.
+% (In this case, if the format for the parent type has been customised
+% using low-level commands, this low-level customisation will \emph{not}
+% be inherited.) If \emph{none} of the format components have been
+% customised, the whole format is always inherited from the parent type.
+%
% \DescribeMacro\creflabelformat
% You may want the label format for a particular cross-reference type to
% differ from the global format set by |\crefdefaultlabelformat| (see
@@ -1938,13 +1953,14 @@
% Ars\-en\-eau, Eric Ahlberg, Frank Mittlebach, Hendrik Maryns, Iain
% Cunningham, Ingolf Becker, James Sharam, Jens Mueller, Joel C.\
% Salomon, Jonas Nyrup, Joris Pinkse, Kristian Debrabant, Leo Shidai Liu,
-% Lev Bishop, Mak Trifkovic, Matej Batic, Matt Gately, Matthew Skala,
-% Michael Barber, Michael Gorven, Michal Kaut, Mico Loretan, Milania,
-% Nicolas Dudebout, Olivier Roy, Patrick H\"acker, Paul Gomme, Ricardo de
-% Aldama S\'anchez, Robert Fischer, Sebastian \O{}rsted, Simon Spiegel,
-% Stefan Pinnow, Steve Dower, Ted Pavlic, Thomas Arildsen, Tobias Jores,
-% Uwe L\"uck and Vadim Makarov for their help. (If I've inadvertently
-% missed you out, please let me know!)
+% Lev Bishop, Mak Trifkovic, Mark Cipolone, Matej Batic, Matt Gately,
+% Matthew Skala, Michael Barber, Michael Gorven, Michal Kaut, Mico
+% Loretan, Milania, Nicolas Dudebout, Olivier Roy, Patrick H\"acker, Paul
+% Gomme, Ricardo de Aldama S\'anchez, Robert Fischer, Sebastian
+% \O{}rsted, Simon Spiegel, Stefan Pinnow, Steve Dower, Ted Pavlic,
+% Thomas Arildsen, Tobias Jores, Uwe L\"uck and Vadim Makarov for their
+% help.
+% (If I've inadvertently missed you out, please let me know!)
%
%
% \StopEventually{\clearpage\PrintChanges\clearpage\PrintIndex}
@@ -4857,31 +4873,177 @@
% from those for type |#1|.
% \begin{macrocode}
\def\@crefcopyformats#1#2{%
+ \let\@tempf\iffalse%
\@ifundefined{cref@#2@name}{%
\edef\@tempa{\expandafter\noexpand\csname cref@#2@name\endcsname}%
\edef\@tempb{\expandafter\noexpand\csname cref@#1@name\endcsname}%
\expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb%
\edef\@tempa{\expandafter\noexpand\csname cref@#2@name@plural\endcsname}%
\edef\@tempb{\expandafter\noexpand\csname cref@#1@name@plural\endcsname}%
- \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb%
+ }{%
+ \let\@tempf\iftrue%
+ }%
\@ifundefined{Cref@#2@name}{%
\edef\@tempa{\expandafter\noexpand\csname Cref@#2@name\endcsname}%
\edef\@tempb{\expandafter\noexpand\csname Cref@#1@name\endcsname}%
\expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb%
\edef\@tempa{\expandafter\noexpand\csname Cref@#2@name@plural\endcsname}%
\edef\@tempb{\expandafter\noexpand\csname Cref@#1@name@plural\endcsname}%
- \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb%
+ }{%
+ \let\@tempf\iftrue%
+ }%
\@ifundefined{cref@#2@label}{%
\@ifundefined{cref@#1@label}{}{%
\edef\@tempa{\expandafter\noexpand\csname cref@#2@label\endcsname}%
\edef\@tempb{\expandafter\noexpand\csname cref@#1@label\endcsname}%
- \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}}{}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}%
+ }{%
+ \let\@tempf\iftrue%
+ }%
\@ifundefined{cref@#2@rangelabel}{%
\@ifundefined{cref@#1@rangelabel}{}{%
\edef\@tempa{\expandafter\noexpand\csname cref@#2@rangelabel\endcsname}%
\edef\@tempb{\expandafter\noexpand\csname cref@#1@rangelabel\endcsname}%
- \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}}{}%
- \@crefdefineallformats{#2}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}%
+ }{%
+ \let\@tempf\iftrue%
+ }%
+% \end{macrocode}
+% If at least one format component has been customised specifically for
+% reference type |#2|, generate its formats from components.
+% \begin{macrocode}
+ \@tempf\relax%
+ \@crefdefineallformats{#2}%
+% \end{macrocode}
+% If no format components have been defined for reference type |#2|, copy
+% over the low-level formats from type |#1|.
+% \begin{macrocode}
+ \else%
+ \@ifundefined{cref@#2@format}{%
+ \edef\@tempa{\expandafter\noexpand\csname cref@#2@format\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname cref@#1@format\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{crefrange@#2@format}{%
+ \edef\@tempa{\expandafter\noexpand\csname crefrange@#2@format\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname crefrange@#1@format\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{cref@#2@format@first}{%
+ \edef\@tempa{\expandafter\noexpand\csname cref@#2@format@first\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname cref@#1@format@first\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{cref@#2@format@second}{%
+ \edef\@tempa{\expandafter\noexpand\csname cref@#2@format@second\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname cref@#1@format@second\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{cref@#2@format@middle}{%
+ \edef\@tempa{\expandafter\noexpand\csname cref@#2@format@middle\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname cref@#1@format@middle\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{cref@#2@format@last}{%
+ \edef\@tempa{\expandafter\noexpand\csname cref@#2@format@last\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname cref@#1@format@last\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{crefrange@#2@format@first}{%
+ \edef\@tempa{\expandafter\noexpand\csname crefrange@#2@format@first\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname crefrange@#1@format@first\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{crefrange@#2@format@second}{%
+ \edef\@tempa{\expandafter\noexpand\csname crefrange@#2@format@second\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname crefrange@#1@format@second\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{crefrange@#2@format@middle}{%
+ \edef\@tempa{\expandafter\noexpand\csname crefrange@#2@format@middle\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname crefrange@#1@format@middle\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{crefrange@#2@format@last}{%
+ \edef\@tempa{\expandafter\noexpand\csname crefrange@#2@format@last\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname crefrange@#1@format@last\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+%
+ \@ifundefined{Cref@#2@format}{%
+ \edef\@tempa{\expandafter\noexpand\csname Cref@#2@format\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname Cref@#1@format\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{Crefrange@#2@format}{%
+ \edef\@tempa{\expandafter\noexpand\csname Crefrange@#2@format\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname Crefrange@#1@format\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{Cref@#2@format@first}{%
+ \edef\@tempa{\expandafter\noexpand\csname Cref@#2@format@first\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname Cref@#1@format@first\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{Cref@#2@format@second}{%
+ \edef\@tempa{\expandafter\noexpand\csname Cref@#2@format@second\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname Cref@#1@format@second\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{Cref@#2@format@middle}{%
+ \edef\@tempa{\expandafter\noexpand\csname Cref@#2@format@middle\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname Cref@#1@format@middle\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{Cref@#2@format@last}{%
+ \edef\@tempa{\expandafter\noexpand\csname Cref@#2@format@last\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname Cref@#1@format@last\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{Crefrange@#2@format@first}{%
+ \edef\@tempa{\expandafter\noexpand\csname Crefrange@#2@format@first\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname Crefrange@#1@format@first\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{Crefrange@#2@format@second}{%
+ \edef\@tempa{\expandafter\noexpand\csname Crefrange@#2@format@second\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname Crefrange@#1@format@second\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{Crefrange@#2@format@middle}{%
+ \edef\@tempa{\expandafter\noexpand\csname Crefrange@#2@format@middle\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname Crefrange@#1@format@middle\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{Crefrange@#2@format@last}{%
+ \edef\@tempa{\expandafter\noexpand\csname Crefrange@#2@format@last\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname Crefrange@#1@format@last\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+%
+ \@ifundefined{labelcref@#2@format}{%
+ \edef\@tempa{\expandafter\noexpand\csname labelcref@#2@format\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname labelcref@#1@format\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{labelcrefrange@#2@format}{%
+ \edef\@tempa{\expandafter\noexpand\csname labelcrefrange@#2@format\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname labelcrefrange@#1@format\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{labelcref@#2@format@first}{%
+ \edef\@tempa{\expandafter\noexpand\csname labelcref@#2@format@first\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname labelcref@#1@format@first\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{labelcref@#2@format@second}{%
+ \edef\@tempa{\expandafter\noexpand\csname labelcref@#2@format@second\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname labelcref@#1@format@second\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{labelcref@#2@format@middle}{%
+ \edef\@tempa{\expandafter\noexpand\csname labelcref@#2@format@middle\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname labelcref@#1@format@middle\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{labelcref@#2@format@last}{%
+ \edef\@tempa{\expandafter\noexpand\csname labelcref@#2@format@last\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname labelcref@#1@format@last\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{labelcrefrange@#2@format@first}{%
+ \edef\@tempa{\expandafter\noexpand\csname labelcrefrange@#2@format@first\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname labelcrefrange@#1@format@first\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{labelcrefrange@#2@format@second}{%
+ \edef\@tempa{\expandafter\noexpand\csname labelcrefrange@#2@format@second\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname labelcrefrange@#1@format@second\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{labelcrefrange@#2@format@middle}{%
+ \edef\@tempa{\expandafter\noexpand\csname labelcrefrange@#2@format@middle\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname labelcrefrange@#1@format@middle\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \@ifundefined{labelcrefrange@#2@format@last}{%
+ \edef\@tempa{\expandafter\noexpand\csname labelcrefrange@#2@format@last\endcsname}%
+ \edef\@tempb{\expandafter\noexpand\csname labelcrefrange@#1@format@last\endcsname}%
+ \expandafter\expandafter\expandafter\let\expandafter\@tempa\@tempb}{}%
+ \fi%
}
% \end{macrocode}
% \end{macro}
@@ -13189,9 +13351,9 @@
% appendices, subfigures, subtables, subequations and enums.
% \begin{macrocode}
\@crefcopyformats{section}{subsection}%
- \@crefcopyformats{section}{subsubsection}%
+ \@crefcopyformats{subsection}{subsubsection}%
\@crefcopyformats{appendix}{subappendix}%
- \@crefcopyformats{appendix}{subsubappendix}%
+ \@crefcopyformats{subappendix}{subsubappendix}%
\@crefcopyformats{figure}{subfigure}%
\@crefcopyformats{table}{subtable}%
\@crefcopyformats{equation}{subequation}%