summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/cleveref
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-03-25 23:30:53 +0000
committerKarl Berry <karl@freefriends.org>2013-03-25 23:30:53 +0000
commitf8444eb2edb03a7da5018efcb86ddcd48d4f72e6 (patch)
treed4573a7951697fd0550e2ba2de671a17c8d840dc /Master/texmf-dist/source/latex/cleveref
parentac6d0cd3c85184c47dcb1498d22d1c69a9a36f2c (diff)
cleveref (24mar13)
git-svn-id: svn://tug.org/texlive/trunk@29503 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/cleveref')
-rw-r--r--Master/texmf-dist/source/latex/cleveref/cleveref.dtx749
1 files changed, 649 insertions, 100 deletions
diff --git a/Master/texmf-dist/source/latex/cleveref/cleveref.dtx b/Master/texmf-dist/source/latex/cleveref/cleveref.dtx
index 4fbe588731e..d2de28b72ce 100644
--- a/Master/texmf-dist/source/latex/cleveref/cleveref.dtx
+++ b/Master/texmf-dist/source/latex/cleveref/cleveref.dtx
@@ -1,9 +1,9 @@
-\def\packagedate{2012/09/25}
-\def\packageversion{0.18.6}
+\def\packagedate{2013/03/22}
+\def\packageversion{0.18.9}
% \iffalse meta-comment
%
% Package 'cleveref' to use with LaTeX2e
-% Copyright 2006--2012 Toby Cubitt
+% Copyright 2006--2013 Toby Cubitt
%
% Written and maintained by Toby Cubitt
%
@@ -46,7 +46,7 @@
%</driver>
% \fi
%
-% \CheckSum{18491}
+% \CheckSum{19291}
%% \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
@@ -261,13 +261,24 @@
% than global \textbackslash{}cref@currentlabel definitions. Fixed
% compatibility with \package{memoir}'s internal \package{subfig}
% re-implementation.}
-% \changes{v0.18.6}{2012/07/18}{Sorted out \package{algorithm} and
+% \changes{v0.18.6}{2012/09/25}{Sorted out \package{algorithm} and
% \package{algorithmicx} package support. Note: \package{algorithmic}
% package is \emph{not} supported. Fixed compatibility with
% \package{bigfoot} package. Added support for \package{polyglossia}
% package. Mentioned \package{autonum} as a possible replacement for
% (incompatible) \option{showonlyrefs} option to \package{mathtools}
% package.}
+% \changes{v0.18.7}{2012/10/04}{Fixed regression in \package{varioref}
+% support that once again (see v0.15.1) caused \textbackslash{}vref to
+% print \textbackslash{}reftextcurrent string for references on the
+% current page. Fixed regression(?) causing spurious whitespace to be
+% produced for empty cross-reference names (see v0.17.7).}
+% \changes{v0.18.8}{2013/03/22}{Fix automatic \textbackslash{}newtheorem
+% definitions in \package{amsthm} support. Add Swedish and Brazilian
+% translations. Fix bug in \package{algorithm2e} + \package{hyperref}
+% support.}
+% \changes{v0.18.9}{2013/03/22}{Fix regression that broke
+% \option{nameinlink} option.}
%
% \GetFileInfo{cleveref.sty}
%
@@ -492,7 +503,7 @@
% \DescribeMacro\cref
% To automatically typeset a cross-reference according to the type of
% thing referred to, simply refer to it using |\cref|\marg{label}.
-% \package{cleveref} imposes just one extra restriction on the names of
+% \package{Cleveref} imposes just one extra restriction on the names of
% labels: they are no longer allowed to contain commas ``,''. These are
% instead used to typeset multiple cross-references (see below).
%
@@ -557,7 +568,7 @@
%
% \DescribeMacro\ref
% \DescribeMacro\pageref
-% \package{cleveref} does \emph{not} modify the standard |\ref| or
+% \package{Cleveref} does \emph{not} modify the standard |\ref| or
% |\pageref| commands, so you can still use them to typeset the
% formatted label counter or page number alone, without any additional
% text or formatting.
@@ -802,7 +813,7 @@
% customisation: you can either customise the components, or you can take
% full control and override the component-derived format entirely.
%
-% \package{cleveref} treats page references, as produced e.g.\ by
+% \package{Cleveref} treats page references, as produced e.g.\ by
% |\cpageref|, as cross-references with the type ``page''. Therefore, all
% of the mechanisms for customising cross-references apply equally well
% to page references, simply by using ``page'' as the cross-reference
@@ -1282,9 +1293,10 @@
%
%
%
-% \subsection{Language and \package{babel} support}
+% \subsection{Language, \package{babel} and \package{polyglossia}
+% support}
% \label{sec:language_babel}
-% \package{cleveref} supports different languages via package options, in
+% \package{Cleveref} supports different languages via package options, in
% the usual way, though not all languages are supported
% yet.\footnote{Contributions of translations for missing languages are
% very welcome! See \cref{sec:new-features} for information on how to
@@ -1562,7 +1574,7 @@
% line should usually be the last |\usepackage| command in your
% document's preamble.
%
-% \package{cleveref} tries as far as possible to minimise its impact on
+% \package{Cleveref} tries as far as possible to minimise its impact on
% the standard \LaTeX{} cross-referencing machinery, allowing it to work
% alongside many of the other packages that also enhance \LaTeX{}'s
% cross-referencing features, though it can occasionally interact badly
@@ -1570,13 +1582,13 @@
% peacefully co-existing with many packages, \package{cleveref} includes
% specific support for a number other packages, allowing it to integrate
% its clever cross-referencing features with the features provided by
-% these packages: \package{babel}, \package{hyperref},
-% \package{varioref}, \package{ntheorem}, \package{amsthm},
-% \package{aliascnt}, \package{subfig},
+% these packages: \package{babel}, \package{polyglossia},
+% \package{hyperref}, \package{varioref}, \package{ntheorem},
+% \package{amsthm}, \package{aliascnt}, \package{subfig},
% \package{algorithmicx}\footnote{The \package{algorithmic} package is
% \emph{not} supported.}, \package{algorithm2e}, \package{listings}.
%
-% \package{cleveref} implements a significantly enhanced version of the
+% \package{Cleveref} implements a significantly enhanced version of the
% features found in the \package{fancyref} package, \package{ntheorem}'s
% \option{thref} option, and \package{varioref}'s |\labelformat| command.
% Although these features may (or may not) work correctly alongside
@@ -1625,11 +1637,12 @@
% the starred variants. Go bug the \package{varioref} maintainer about
% this if you don't like it.)
%
-% \package{Cleveref} is currently incompatibly with the
-% \package{mathtools} package's \option{showonlyrefs} option, which
-% automatically labels only those equations that are cross-referenced.
-% The \package{autonum} package provides a possible alternative, which
-% implements similar features in a \package{cleveref}-compatible manner.
+% \package{Cleveref} is currently incompatible with the
+% \package{mathtools} package's\linebreak[4] \option{showonlyrefs}
+% option, which automatically labels only those equations that are
+% cross-referenced. The \package{autonum} package provides a possible
+% alternative, which implements similar features in a
+% \package{cleveref}-compatible manner.
%
%
%
@@ -1647,12 +1660,14 @@
% \emph{without any warning in the \LaTeX{} output or log!} The
% packages \emph{must} be loaded in the following order:
% \package{varioref}, \package{hyperref}, \package{cleveref}.
-% \item \package{cleveref} on its own won't automatically infer the type
+% \item \package{Cleveref} on its own won't automatically infer the type
% of theorem-like environment you're referring to in a cross-reference.
% Cross-references to all theorem-like environments will use the same
% name, ``theorem''. To allow the theorem type to be determined
% automatically, you need to load either the \package{ntheorem} or the
-% \package{amsthm} package.
+% \package{amsthm} package. Also note that all |\newtheorem|
+% definitions must be placed \emph{after} the \package{cleveref}
+% package is loaded.
% \item If you are using \package{babel}, you \emph{must still} pass the
% appropriate language option to \package{cleveref}, as well as to
% \package{babel}. Passing it to \package{babel} alone is \emph{not}
@@ -1661,7 +1676,7 @@
% option in the |\documentclass| line. (This is standard \LaTeX{} and
% \package{babel} practice -- read up on \LaTeX{}'s option handling for
% more detail.)
-% \item \package{cleveref} will not work properly with the standard
+% \item \package{Cleveref} will not work properly with the standard
% \LaTeX{} |eqnarray| environment. There is no intention to fix this.
% The |eqnarray| environment is poorly implemented, making it difficult
% to get it to work properly with \package{cleveref}, and it's broken
@@ -1669,7 +1684,7 @@
% replacements, such as |gather|, |align|, |multline| and |split|,
% which \emph{do} work properly with \package{cleveref}. (See
% \url{http://www.tug.org/pracjourn/2006-4/madsen/}).
-% \item \package{cleveref} can't cope with active characters being
+% \item \package{Cleveref} can't cope with active characters being
% present in cross-reference label names. For example, if French
% \package{babel} support is loaded, the commonly used ``:'' in label
% names will often fail, spewing the usual random selection of
@@ -1725,20 +1740,20 @@
% labels to subfigure subcaptions in the \package{memoir} document
% class. A simpler solution in this particular case is to define the
% label in the subfigure body, instead of in the subcaption.
-% \item \package{cleveref} doesn't know about the \package{subfloat}
+% \item \package{Cleveref} doesn't know about the \package{subfloat}
% package, so you have to revert to using |\ref| for cross-references
% to sub-figures. (To be fixed in a future version.)
% \item The \package{beamer} document class redefines the |\label|
% command in a particularly devious way that breaks
% \package{cleveref}'s optional argument to that command. (To be fixed
% in a future version.)
-% \item \package{cleveref} is incompatible with the \option{showonlyrefs}
+% \item \package{Cleveref} is incompatible with the \option{showonlyrefs}
% option of the \package{mathtools} package, though it should be
% compatible with the rest of \package{mathtools}. (To be fixed in a
% future version.) The \package{autonum} package, which provides
% similar functionality and \emph{is} designed to be
% \package{cleveref}-compatible, is a possible alternative.
-% \item \package{cleveref} assumes that counters are only ever reset by
+% \item \package{Cleveref} assumes that counters are only ever reset by
% the standard sectioning commands (|\chapter|, |\section|, etc.). If
% this is not the case, the automatic compression of consecutive
% cross-references into a reference range may be incorrect. Making this
@@ -1760,7 +1775,7 @@
% pattern matching task -- just take a look at the code for escaping
% regexp special characters in this package!} than I'm prepared to
% invest.
-% \item \package{cleveref} doesn't include support for all languages yet.
+% \item \package{Cleveref} doesn't include support for all languages yet.
% Any contributions of translations for missing languages are most
% welcome! If you can contribute definitions for a missing language,
% ideally you should add them below the existing ones in the
@@ -1778,21 +1793,22 @@
% contributing code and translations. Thanks to Michael Ummels for
% contributing the \package{amsthm} support code, and to Stefan Pinnow,
% Gonzalo Medina, Massimo Redaelli, Philip H\"olzenspies, Aleksander
-% Gorohovski, Benjamin H{\o}yer and Johannes Mueller for contributing
-% translations. Thanks also to Susanna Goldschmidt for additional help
-% with the translations. Many people have suggested improvements or
-% reported bugs, indeed many have put significant effort into helping
-% investigate and fix them. So thanks (in alphabetical order) to: Adrian
-% Knoth, Akim Demaille, Alan Munn, Aleksander Gorohovski, Anand
-% Deopurkar, Andreas Haselbacher, Arne Meier, Bas Ploeger, Dan Luecking,
-% David Gleich, Denis Bitouz\'e, Domenic Denicola, Donald Ars\-en\-eau,
-% Hendrik Maryns, Iain Cunningham, 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, Olivier Roy,
-% Patrick H\"acker, Paul Gomme, Ricardo de Aldama S\'anchez, Robert
-% Fischer, Stefan Pinnow, Steve Dower, Ted Pavlic, Thomas Arildsen, and
-% Uwe L\"uck for their help. (If I missed you out, please let me know!)
+% Gorohovski, Benjamin H{\o}yer, Johannes Mueller, Paulo Roberto Massa
+% Cereda and Simon Sigurdhsson for contributing translations. Thanks also
+% to Susanna Goldschmidt for additional help with the translations. Many
+% people have suggested improvements or reported bugs, indeed many have
+% put significant effort into helping investigate and fix them. So thanks
+% (in alphabetical order) to: Adrian Knoth, Akim Demaille, Alan Munn,
+% Aleksander Gorohovski, Anand Deopurkar, Andreas Haselbacher, Arne
+% Meier, Bas Ploeger, Dan Luecking, David Gleich, Denis Bitouz\'e,
+% Domenic Denicola, Donald Ars\-en\-eau, Hendrik Maryns, Iain Cunningham,
+% 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, Nicolas Dudebout, Olivier Roy, Patrick
+% H\"acker, Paul Gomme, Ricardo de Aldama S\'anchez, Robert Fischer,
+% Stefan Pinnow, Steve Dower, Ted Pavlic, Thomas Arildsen, and Uwe L\"uck
+% for their help. (If I missed you out, please let me know!)
%
%
% \StopEventually{\clearpage\PrintChanges\clearpage\PrintIndex}
@@ -2000,7 +2016,7 @@
\edef\@tempa{\expandafter\noexpand%
\csname cref@#1@name@preamble\endcsname}%
\edef\@tempb{\expandafter\noexpand%
- \csname Cref@#1@name@preamble\endcsname}%
+ \csname Cref@#1@name@preamble\endcsname}%
\def\@tempc{#3}%
\ifx\@tempc\@empty\relax%
\expandafter\gdef\@tempa{}%
@@ -4329,7 +4345,7 @@
% Assemble the arguments for \cmd{\crefformat}, \cmd{\Crefformat} and
% \cmd{\labelcrefformat} from the components.
% \begin{macrocode}
- \ifx\@tempname\@empty\relax%
+ \expandafter\ifx\csname cref@#1@name\endcsname\@empty\relax%
\expandafter\def\expandafter\@tempfirst\expandafter{\@templabel}%
\else%
\expandafter\expandafter\expandafter\def%
@@ -4337,7 +4353,7 @@
\expandafter\expandafter\expandafter{%
\expandafter\@tempname\expandafter\nobreakspace\@templabel@first}%
\fi%
- \ifx\@tempName\@empty\relax%
+ \expandafter\ifx\csname Cref@#1@name\endcsname\@empty\relax%
\expandafter\def\expandafter\@tempFirst\expandafter{\@templabel}%
\else%
\expandafter\expandafter\expandafter\def%
@@ -4378,7 +4394,7 @@
% \cmd{\Crefrangeformat} and\linebreak[4] \cmd{\labelcrefrangeformat}
% from the components.
% \begin{macrocode}
- \ifx\@tempname\@empty\relax%
+ \expandafter\ifx\csname cref@#1@name\endcsname\@empty\relax%
\expandafter\def\expandafter\@tempfirst%
\expandafter{\@temprangelabel}%
\else%
@@ -4388,7 +4404,7 @@
\expandafter\@tempnameplural@range%
\expandafter\nobreakspace\@temprangelabel@first}%
\fi%
- \ifx\@tempName\@empty\relax%
+ \expandafter\ifx\csname Cref@#1@name\endcsname\@empty\relax%
\expandafter\def\expandafter\@tempFirst%
\expandafter{\@temprangelabel}%
\else%
@@ -4437,7 +4453,7 @@
% \cmd{\Crefmultiformat} and\linebreak[4] \cmd{\labelcrefmultiformat}
% from the components.
% \begin{macrocode}
- \ifx\@tempnameplural\@empty\relax%
+ \expandafter\ifx\csname cref@#1@name@plural\endcsname\@empty\relax%
\expandafter\def\expandafter\@tempfirst%
\expandafter{\@templabel}%
\else%
@@ -4447,7 +4463,7 @@
\expandafter\@tempnameplural%
\expandafter\nobreakspace\@templabel@first}%
\fi%
- \ifx\@tempNameplural\@empty\relax%
+ \expandafter\ifx\csname Cref@#1@name@plural\endcsname\@empty\relax%
\expandafter\def\expandafter\@tempFirst%
\expandafter{\@templabel}%
\else%
@@ -4531,7 +4547,7 @@
% \cmd{\crefrangemultiformat}, \cmd{\Crefrangemultiformat} and
% \cmd{\labelcrefrangemultiformat} from the reference components.
% \begin{macrocode}
- \ifx\@tempnameplural\@empty\relax%
+ \expandafter\ifx\csname cref@#1@name@plural\endcsname\@empty\relax%
\expandafter\def\expandafter\@tempfirst%
\expandafter{\@temprangelabel}%
\else%
@@ -4541,7 +4557,7 @@
\expandafter\@tempnameplural@range%
\expandafter\nobreakspace\@temprangelabel@first}%
\fi%
- \ifx\@tempNameplural\@empty\relax%
+ \expandafter\ifx\csname Cref@#1@name@plural\endcsname\@empty\relax%
\expandafter\def\expandafter\@tempFirst%
\expandafter{\@temprangelabel}%
\else%
@@ -5042,7 +5058,7 @@
\@ifpackageloaded{hyperref}{%
\@ifpackagewith{hyperref}{implicit=false}{}{%
\let\if@cref@hyperrefloaded\iftrue%
- \PackageInfo{cleveref}{`hyperref' support loaded}
+ \PackageInfo{cleveref}{`hyperref' support loaded}%
% \end{macrocode}
% \begin{macro}{\cref@hyperref}
% We define a utility macro to extract the hyperlink supplied by
@@ -5835,7 +5851,7 @@
% this.
% \begin{macrocode}
\@ifpackageloaded{IEEEtrantools}{%
- \PackageInfo{cleveref}{`IEEEtrantools' support loaded}
+ \PackageInfo{cleveref}{`IEEEtrantools' support loaded}%
% \end{macrocode}
%
% \begin{macro}{\@@IEEEeqnarray}
@@ -5914,7 +5930,7 @@
% referencing features so that they work with \package{cleveref}.
% \begin{macrocode}
\@ifpackageloaded{amsthm}{%
- \PackageInfo{cleveref}{`amsthm' support loaded}
+ \PackageInfo{cleveref}{`amsthm' support loaded}%
% \end{macrocode}
%
% \begin{macro}{\@thm}
@@ -5962,16 +5978,21 @@
\edef\@tempa{\expandafter\noexpand%
\csname cref@#1@name@preamble\endcsname}%
\edef\@tempb{\expandafter\noexpand%
- \csname Cref@#1@name@preamble\endcsname}%
+ \csname Cref@#1@name@preamble\endcsname}%
\def\@tempc{#3}%
\ifx\@tempc\@empty\relax%
\expandafter\gdef\@tempa{}%
\expandafter\gdef\@tempb{}%
\else%
+ \if@cref@capitalise%
+ \expandafter\expandafter\expandafter\gdef\expandafter%
+ \@tempa\expandafter{\MakeUppercase #3}%
+ \else%
+ \expandafter\expandafter\expandafter\gdef\expandafter%
+ \@tempa\expandafter{\MakeLowercase #3}%
+ \fi%
\expandafter\expandafter\expandafter\gdef\expandafter%
- \@tempa\expandafter{\MakeLowercase #3}%
- \expandafter\expandafter\expandafter\gdef\expandafter%
- \@tempa\expandafter{\MakeUppercase #3}%
+ \@tempb\expandafter{\MakeUppercase #3}%
\fi%
\cref@stack@add{#1}{\cref@label@types}%
% \end{macrocode}
@@ -6020,7 +6041,7 @@
% referencing features so that they work with \package{cleveref}.
% \begin{macrocode}
\@ifpackageloaded{ntheorem}{%
- \PackageInfo{cleveref}{`ntheorem' support loaded}
+ \PackageInfo{cleveref}{`ntheorem' support loaded}%
\@ifpackagewith{ntheorem}{thref}{%
\PackageWarning{cleveref}{`cleveref' supersedes `ntheorem's `thref'
option}%
@@ -6085,9 +6106,9 @@
%
% \begin{macrocode}
\@ifpackageloaded{varioref}{%
- \PackageInfo{cleveref}{`varioref' support loaded}
- \PackageInfo{cleveref}{`cleveref' supersedes `varioref's %
- \string\labelformat command}
+ \PackageInfo{cleveref}{`varioref' support loaded}%
+ \PackageInfo{cleveref}{`cleveref' supersedes `varioref's
+ \string\labelformat command}%
% \end{macrocode}
%
%
@@ -6115,11 +6136,24 @@
% \cmd{\cref} et al.\ to type set the cross-references, and the
% \package{cleveref}-enhanced \cmd{\vpageref} et al.\ to typeset page
% references.
+%
+% The original \cmd{\vref} command passes an empty first argument to
+% \cmd{\@@vpageref}, to omit the page reference if it refers to the
+% current page. In our case, we only want to omit it if it's the sole
+% page reference we're printing; otherwise we need to print it even if
+% it refers to the current page. This is taken care of by
+% \cmd{\cref@patchreftexts} (which gets called further down). For this
+% mechanism, it's more convenient to pass \cmd{\reftextcurrent} as the
+% first argument but temporarily redefine it to be empty, instead of
+% passing an empty first argument to \cmd{\cref@@vpageref}.
% \begin{macrocode}
\def\cref@vref#1#2{%
\leavevmode%
- \@cref{#1}{#2}\@setcref@space%
- \cref@@vpageref{\reftextcurrent}[]{#2}}
+ \begingroup%
+ \def\reftextcurrent{}%
+ \@cref{#1}{#2}\@setcref@space%
+ \cref@@vpageref{\reftextcurrent}[]{#2}%
+ \endgroup}
\def\cref@vrefrange#1#2#3{%
\@setcrefrange{#2}{#3}{#1}{}\@setcref@space\vpagerefrange{#2}{#3}}
\def\cref@fullref#1#2{%
@@ -6610,7 +6644,7 @@
% \end{macro}
% \begin{macrocode}
\@ifpackageloaded{algorithmicx}{%
- \PackageInfo{cleveref}{`algorithmicx' support loaded}
+ \PackageInfo{cleveref}{`algorithmicx' support loaded}%
% \end{macrocode}
%
% \begin{macro}{\ALG@step}
@@ -6658,7 +6692,7 @@
% uses, \cmd{\lstnumber}, to the ``listing'' cross-reference type.
% \begin{macrocode}
\@ifpackageloaded{listings}{%
- \PackageInfo{cleveref}{`listings' support loaded}
+ \PackageInfo{cleveref}{`listings' support loaded}%
\crefalias{lstlisting}{listing}%
\crefalias{lstnumber}{line}%
% \end{macrocode}
@@ -6700,15 +6734,36 @@
%
% \subsubsection{\package{algorithm2e} support}
% \begin{macro}{algorithm2e}
-% All we need to do to support the \package{algorithm2e} package is to
-% alias \emph{its} counters, \cmd{\algocf} and \cmd{\algocfline}, to
-% the ``algorithm'' and ``line'' cross-reference types.
+% When \package{hyperref} is not loaded, all we need to do to support
+% the \package{algorithm2e} package is to alias its counters,
+% \cmd{\algocf}, \cmd{AlgoLine} and \cmd{\algocfline}, to the
+% ``algorithm'' and ``line'' cross-reference types.
% \begin{macrocode}
\@ifpackageloaded{algorithm2e}{%
- \PackageInfo{cleveref}{`algorithm2e' support loaded}
+ \PackageInfo{cleveref}{`algorithm2e' support loaded}%
\crefalias{algocf}{algorithm}%
\crefalias{algocfline}{line}%
- }{}% end of \@ifpackageloaded{listings}
+ \crefalias{AlgoLine}{line}%
+% \end{macrocode}
+% When \package{hyperref} \emph{is} loaded, \package{algorithm2e} does
+% some trickery when stepping the line number counter to avoid getting
+% duplicate hyperlink anchor names, and updates \cmd{@currentlabel}
+% manually. Unfortunately, this by-passes both \cmd{\refstepcounter} and
+% \cmd{\H@refstepcounter}, so \cmd{\cref@currentlabel} never gets
+% updated. To fix this, we have to hack its \cmd{algocf@nl@sethref} macro
+% to update \cmd{cref@currentlabel} along with \cmd{@currentlabel}.
+% \begin{macrocode}
+ \let\cref@old@algocf@nl@sethref\algocf@nl@sethref%
+ \renewcommand{\algocf@nl@sethref}[1]{%
+ \cref@old@algocf@nl@sethref{#1}%
+ \cref@constructprefix{AlgoLine}{\cref@result}%
+ \@ifundefined{cref@AlgoLine@alias}%
+ {\def\@tempa{AlgoLine}}%
+ {\def\@tempa{\csname cref@AlgoLine@alias\endcsname}}%
+ \xdef\cref@currentlabel{%
+ [\@tempa][\arabic{AlgoLine}][\cref@result]%
+ \csname p@AlgoLine\endcsname\csname theAlgoLine\endcsname}}%
+ }{}% end of \@ifpackageloaded{algorithm2e}
% \end{macrocode}
% \end{macro}
%
@@ -6727,7 +6782,7 @@
% breaking \package{cleveref}'s optional argument. We also fix that.
% \begin{macrocode}
\@ifpackageloaded{subfig}{%
- \PackageInfo{cleveref}{`subfig' support loaded}
+ \PackageInfo{cleveref}{`subfig' support loaded}%
% \end{macrocode}
%
% \begin{macro}{\refsteponlycounter}
@@ -6863,7 +6918,7 @@
% \begin{macrocode}
\@ifpackageloaded{caption}{%
\@ifpackagelater{caption}{2011/08/19}{}{%
- \PackageInfo{cleveref}{`caption' support loaded}
+ \PackageInfo{cleveref}{`caption' support loaded}%
% \end{macrocode}
%
% \begin{macro}{\cref@old@caption@xlabel}
@@ -6932,7 +6987,7 @@
% \begin{macro}{\newaliascnt}
% \begin{macrocode}
\@ifpackageloaded{aliascnt}{%
- \PackageInfo{cleveref}{`aliascnt' support loaded}
+ \PackageInfo{cleveref}{`aliascnt' support loaded}%
\let\cref@old@newaliascnt\newaliascnt
\renewcommand*{\newaliascnt}[2]{%
\cref@old@newaliascnt{#1}{#2}%
@@ -6957,7 +7012,7 @@
% \end{macro}
% \begin{macrocode}
\DeclareOption{poorman}{%
- \PackageInfo{cleveref}{option `poorman' loaded}
+ \PackageInfo{cleveref}{option `poorman' loaded}%
% \end{macrocode}
%
%
@@ -7917,20 +7972,20 @@
% Options override default.
% \begin{macrocode}
\DeclareOption{sort}{%
- \PackageInfo{cleveref}{sorting but not compressing references}
- \@cref@sorttrue
+ \PackageInfo{cleveref}{sorting but not compressing references}%
+ \@cref@sorttrue%
\@cref@compressfalse}
\DeclareOption{compress}{%
- \PackageInfo{cleveref}{compressing but not sorting references}
- \@cref@sortfalse
+ \PackageInfo{cleveref}{compressing but not sorting references}%
+ \@cref@sortfalse%
\@cref@compresstrue}
\DeclareOption{sort&compress}{%
- \PackageInfo{cleveref}{sorting and compressing references}
- \@cref@sorttrue
+ \PackageInfo{cleveref}{sorting and compressing references}%
+ \@cref@sorttrue%
\@cref@compresstrue}
\DeclareOption{nosort}{%
- \PackageInfo{cleveref}{neither sorting nor compressing references}
- \@cref@sortfalse
+ \PackageInfo{cleveref}{neither sorting nor compressing references}%
+ \@cref@sortfalse%
\@cref@compressfalse}
% \end{macrocode}
% \end{macro}
@@ -7957,10 +8012,10 @@
% Option overrides default.
% \begin{macrocode}
\DeclareOption{capitalise}{%
- \PackageInfo{cleveref}{always capitalise cross-reference names}
+ \PackageInfo{cleveref}{always capitalise cross-reference names}%
\@cref@capitalisetrue}
\DeclareOption{capitalize}{%
- \PackageInfo{cleveref}{always capitalise cross-reference names}
+ \PackageInfo{cleveref}{always capitalise cross-reference names}%
\@cref@capitalisetrue}
% \end{macrocode}
% \end{macro}
@@ -7984,7 +8039,7 @@
% Option overrides default.
% \begin{macrocode}
\DeclareOption{nameinlink}{%
- \PackageInfo{cleveref}{include cross-reference names in hyperlinks}
+ \PackageInfo{cleveref}{include cross-reference names in hyperlinks}%
\@cref@nameinlinktrue}
% \end{macrocode}
% \end{macro}
@@ -8008,7 +8063,7 @@
% Option overrides default.
% \begin{macrocode}
\DeclareOption{noabbrev}{%
- \PackageInfo{cleveref}{no abbreviation of names}
+ \PackageInfo{cleveref}{no abbreviation of names}%
\@cref@abbrevfalse}
% \end{macrocode}
% \end{macro}
@@ -8225,7 +8280,7 @@
% change the cross-reference formats appropriately.
% \begin{macrocode}
\cref@addlanguagedefs{english}{%
- \PackageInfo{cleveref}{loaded `english' language definitions}
+ \PackageInfo{cleveref}{loaded `english' language definitions}%
\renewcommand{\crefrangeconjunction}{ to\nobreakspace}%
\renewcommand\crefrangepreconjunction{}%
\renewcommand\crefrangepostconjunction{}%
@@ -8441,7 +8496,7 @@
% change the cross-reference formats appropriately.
% \begin{macrocode}
\cref@addlanguagedefs{german}{%
- \PackageInfo{cleveref}{loaded `german language definitions}
+ \PackageInfo{cleveref}{loaded `german language definitions}%
\renewcommand{\crefrangeconjunction}{ bis\nobreakspace}%
\renewcommand\crefrangepreconjunction{}%
\renewcommand\crefrangepostconjunction{}%
@@ -8536,7 +8591,7 @@
% (note the ``n'') so that \cmd{\selectlanguage} etc.\ will work.
% \begin{macrocode}
\cref@addlanguagedefs{ngerman}{%
- \PackageInfo{cleveref}{loaded `ngerman' language definitions}
+ \PackageInfo{cleveref}{loaded `ngerman' language definitions}%
\renewcommand{\crefrangeconjunction}{ bis\nobreakspace}%
\renewcommand\crefrangepreconjunction{}%
\renewcommand\crefrangepostconjunction{}%
@@ -8736,7 +8791,7 @@
% change the cross-reference formats appropriately.
% \begin{macrocode}
\cref@addlanguagedefs{dutch}{%
- \PackageInfo{cleveref}{loaded `dutch' language definitions}
+ \PackageInfo{cleveref}{loaded `dutch' language definitions}%
\renewcommand{\crefrangeconjunction}{ tot\nobreakspace}%
\renewcommand\crefrangepreconjunction{}%
\renewcommand\crefrangepostconjunction{}%
@@ -8955,7 +9010,7 @@
% change the cross-reference formats appropriately.
% \begin{macrocode}
\cref@addlanguagedefs{french}{%
- \PackageInfo{cleveref}{loaded `french' language definitions}
+ \PackageInfo{cleveref}{loaded `french' language definitions}%
\renewcommand{\crefrangeconjunction}{ \`a\nobreakspace}%
\renewcommand\crefrangepreconjunction{}%
\renewcommand\crefrangepostconjunction{}%
@@ -9175,7 +9230,7 @@
% change the cross-reference formats appropriately.
% \begin{macrocode}
\cref@addlanguagedefs{spanish}{%
- \PackageInfo{cleveref}{loaded `spanish' language definitions}
+ \PackageInfo{cleveref}{loaded `spanish' language definitions}%
\renewcommand{\crefrangeconjunction}{ a\nobreakspace}%
\renewcommand{\crefrangepreconjunction}{}%
\renewcommand{\crefrangepostconjunction}{}%
@@ -9411,7 +9466,7 @@
% change the cross-reference formats appropriately.
% \begin{macrocode}
\cref@addlanguagedefs{italian}{%
- \PackageInfo{cleveref}{loaded `italian' language definitions}
+ \PackageInfo{cleveref}{loaded `italian' language definitions}%
\renewcommand{\crefrangeconjunction}{ a\nobreakspace}%
\renewcommand\crefrangepreconjunction{da\nobreakspace}%
\renewcommand\crefrangepostconjunction{}%
@@ -9860,7 +9915,7 @@
% change the cross-reference formats appropriately.
% \begin{macrocode}
\cref@addlanguagedefs{russian}{%
- \PackageInfo{cleveref}{loaded `russian' language definitions}
+ \PackageInfo{cleveref}{loaded `russian' language definitions}%
\renewcommand{\crefrangeconjunction}{--}%
\renewcommand\crefrangepreconjunction{}%
\renewcommand\crefrangepostconjunction{}%
@@ -10625,7 +10680,7 @@
% change the cross-reference formats appropriately.
% \begin{macrocode}
\cref@addlanguagedefs{ukrainian}{%
- \PackageInfo{cleveref}{loaded `ukrainian' language definitions}
+ \PackageInfo{cleveref}{loaded `ukrainian' language definitions}%
\renewcommand{\crefrangeconjunction}{--}%
\renewcommand\crefrangepreconjunction{}%
\renewcommand\crefrangepostconjunction{}%
@@ -11180,7 +11235,7 @@
% change the cross-reference formats appropriately.
% \begin{macrocode}
\cref@addlanguagedefs{norsk}{%
- \PackageInfo{cleveref}{loaded `norsk' language definitions}
+ \PackageInfo{cleveref}{loaded `norsk' language definitions}%
\renewcommand{\crefrangeconjunction}{ til\nobreakspace}%
\renewcommand\crefrangepreconjunction{}%
\renewcommand\crefrangepostconjunction{}%
@@ -11403,7 +11458,7 @@
% change the cross-reference formats appropriately.
% \begin{macrocode}
\cref@addlanguagedefs{danish}{%
- \PackageInfo{cleveref}{loaded `danish' language definitions}
+ \PackageInfo{cleveref}{loaded `danish' language definitions}%
\renewcommand{\crefrangeconjunction@preamble}{ til\nobreakspace}%
\renewcommand\crefrangepreconjunction@preamble{}%
\renewcommand\crefrangepostconjunction@preamble{}%
@@ -11617,7 +11672,7 @@
% change the cross-reference formats appropriately.
% \begin{macrocode}
\cref@addlanguagedefs{esperanto}{%
- \PackageInfo{cleveref}{loaded `esperanto' language definitions}
+ \PackageInfo{cleveref}{loaded `esperanto' language definitions}%
\renewcommand{\crefrangeconjunction}{ \^gis\nobreakspace}%
\renewcommand{\crefrangepreconjunction}{}%
\renewcommand{\crefrangepostconjunction}{}%
@@ -11699,6 +11754,500 @@
% \end{macrocode}
%
%
+% \subsubsection{Swedish}
+% \begin{macro}{swedish}
+% Swedish definitions thanks to Simon Sigurdhsson.
+% \end{macro}
+%
+% Set up the definitions used at the beginning of the document to define
+% the formats created by the document preamble.
+% \begin{macrocode}
+\DeclareOption{swedish}{%
+ \AtBeginDocument{%
+ \def\crefrangeconjunction@preamble{ till\nobreakspace}%
+ \def\crefrangepreconjunction@preamble{}%
+ \def\crefrangepostconjunction@preamble{}%
+ \def\crefpairconjunction@preamble{ och\nobreakspace}%
+ \def\crefmiddleconjunction@preamble{, }%
+ \def\creflastconjunction@preamble{ och\nobreakspace}%
+% \end{macrocode}
+% We have to define the group conjunctions explicitly here, rather than
+% relying on fall-back definitions in terms of the above conjunctions
+% (see \cref{sec:code:default_formats}), in case any other language
+% option defines them explicitly and we need to override those.
+% \begin{macrocode}
+ \def\crefpairgroupconjunction@preamble{ och\nobreakspace}%
+ \def\crefmiddlegroupconjunction@preamble{, }%
+ \def\creflastgroupconjunction@preamble{, och\nobreakspace}%
+ %
+ \Crefname@preamble{equation}{Ekvation}{Ekvation}%
+ \Crefname@preamble{figure}{Figur}{Figur}%
+ \Crefname@preamble{table}{Tabell}{Tabell}%
+ \Crefname@preamble{page}{Sida}{Sida}%
+ \Crefname@preamble{part}{Del}{Del}%
+ \Crefname@preamble{chapter}{Kapitel}{Kapitel}%
+ \Crefname@preamble{section}{Avsnitt}{Avsnitt}%
+ \Crefname@preamble{appendix}{Appendix}{Appendix}%
+ \Crefname@preamble{enumi}{Punkt}{Punkt}%
+ \Crefname@preamble{footnote}{Fotnot}{Fotnot}%
+ \Crefname@preamble{theorem}{Sats}{Sats}%
+ \Crefname@preamble{lemma}{Lemma}{Lemmas}%
+ \Crefname@preamble{corollary}{F\"oljdsats}{F\"oljdsats}%
+ \Crefname@preamble{proposition}{Proposition}{Proposition}%
+ \Crefname@preamble{definition}{Definition}{Definition}%
+ \Crefname@preamble{result}{Resultat}{Resultat}%
+ \Crefname@preamble{example}{Exempel}{Exempel}%
+ \Crefname@preamble{remark}{Anm\"arkning}{Anm\"arkning}%
+ \Crefname@preamble{note}{Notering}{Notering}%
+ \Crefname@preamble{algorithm}{Algoritm}{Algoritm}%
+ \Crefname@preamble{listing}{Kodlistning}{Kodlistning}%
+ \Crefname@preamble{line}{Rad}{Rad}%
+ %
+ \if@cref@capitalise% capitalise set
+ \if@cref@abbrev%
+ \crefname@preamble{equation}{Ekv.}{Ekv.}%
+ \crefname@preamble{figure}{Fig.}{Fig.}%
+ \else%
+ \crefname@preamble{equation}{Ekvation}{Ekvation}%
+ \crefname@preamble{figure}{Figur}{Figur}%
+ \fi%
+ \crefname@preamble{page}{Sida}{Sida}%
+ \crefname@preamble{table}{Tabell}{Tabell}%
+ \crefname@preamble{part}{Del}{Del}%
+ \crefname@preamble{chapter}{Kapitel}{Kapitel}%
+ \crefname@preamble{section}{Avsnitt}{Avsnitt}%
+ \crefname@preamble{appendix}{Appendix}{Appendix}%
+ \crefname@preamble{enumi}{Punkt}{Punkt}%
+ \crefname@preamble{footnote}{Fotnot}{Fotnot}%
+ \crefname@preamble{theorem}{Sats}{Sats}%
+ \crefname@preamble{lemma}{Lemma}{Lemmas}%
+ \crefname@preamble{corollary}{F\"oljdsats}{F\"oljdsats}%
+ \crefname@preamble{proposition}{Proposition}{Proposition}%
+ \crefname@preamble{definition}{Definition}{Definition}%
+ \crefname@preamble{result}{Resultat}{Resultat}%
+ \crefname@preamble{example}{Exempel}{Exempel}%
+ \crefname@preamble{remark}{Anm\"arkning}{Anm\"arkning}%
+ \crefname@preamble{note}{Notering}{Notering}%
+ \crefname@preamble{algorithm}{Algoritm}{Algoritm}%
+ \crefname@preamble{listing}{Kodlistning}{Kodlistning}%
+ \crefname@preamble{line}{Rad}{Rad}%
+ %
+ \else% capitalise unset
+ \if@cref@abbrev%
+ \crefname@preamble{equation}{ekv.}{ekv.}%
+ \crefname@preamble{figure}{fig.}{fig.}%
+ \crefname@preamble{page}{s.}{ss.}%
+ \else%
+ \crefname@preamble{equation}{ekvation}{ekvation}%
+ \crefname@preamble{figure}{figur}{figur}%
+ \crefname@preamble{page}{sida}{sida}%
+ \fi%
+ \crefname@preamble{table}{tabell}{tabell}%
+ \crefname@preamble{part}{del}{del}%
+ \crefname@preamble{chapter}{kapitel}{kapitel}%
+ \crefname@preamble{section}{avsnitt}{avsnitt}%
+ \crefname@preamble{appendix}{appendix}{appendix}%
+ \crefname@preamble{enumi}{punkt}{punkt}%
+ \crefname@preamble{footnote}{fotnot}{fotnot}%
+ \crefname@preamble{theorem}{sats}{sats}%
+ \crefname@preamble{lemma}{lemma}{lemmas}%
+ \crefname@preamble{corollary}{f\"oljdsats}{f\"oljdsats}%
+ \crefname@preamble{proposition}{proposition}{proposition}%
+ \crefname@preamble{definition}{definition}{definition}%
+ \crefname@preamble{result}{resultat}{resultat}%
+ \crefname@preamble{example}{exempel}{exempel}%
+ \crefname@preamble{remark}{anm\"arkning}{anm\"arkning}%
+ \crefname@preamble{note}{notering}{notering}%
+ \crefname@preamble{algorithm}{algoritm}{algoritm}%
+ \crefname@preamble{listing}{kodlistning}{kodlistning}%
+ \crefname@preamble{line}{rad}{rad}%
+ \fi%
+ \def\cref@language{swedish}%
+ }}% end \AtBeginDocument and \DeclareOption
+% \end{macrocode}
+%
+% If using \package{babel} and the corresponding option is set, or if
+% using \package{polyglossia} and the language has been loaded, add
+% format definition commands to \cmd{\extras}\meta{language} or
+% \cmd{\captions}\meta{language} so that language switching commands will
+% change the cross-reference formats appropriately.
+% \begin{macrocode}
+\cref@addlanguagedefs{swedish}{%
+ \PackageInfo{cleveref}{loaded `swedish' language definitions}%
+ \renewcommand{\crefrangeconjunction}{ till\nobreakspace}%
+ \renewcommand\crefrangepreconjunction{}%
+ \renewcommand\crefrangepostconjunction{}%
+ \renewcommand{\crefpairconjunction}{ och\nobreakspace}%
+ \renewcommand{\crefmiddleconjunction}{, }%
+ \renewcommand{\creflastconjunction}{ och\nobreakspace}%
+ \renewcommand{\crefpairgroupconjunction}{ and\nobreakspace}%
+ \renewcommand{\crefmiddlegroupconjunction}{, }%
+ \renewcommand{\creflastgroupconjunction}{, and\nobreakspace}%
+ %
+ \Crefname{equation}{Ekvation}{Ekvation}%
+ \Crefname{figure}{Figur}{Figur}%
+ \Crefname{subfigure}{Figur}{Figur}%
+ \Crefname{table}{Tabell}{Tabell}%
+ \Crefname{subtable}{Tabell}{Tabell}%
+ \Crefname{page}{Sida}{Sida}%
+ \Crefname{part}{Del}{Del}%
+ \Crefname{chapter}{Kapitel}{Kapitel}%
+ \Crefname{section}{Avsnitt}{Avsnitt}%
+ \Crefname{subsection}{Avsnitt}{Avsnitt}%
+ \Crefname{subsubsection}{Avsnitt}{Avsnitt}%
+ \Crefname{appendix}{Appendix}{Appendix}%
+ \Crefname{subappendix}{Appendix}{Appendix}%
+ \Crefname{subsubappendix}{Appendix}{Appendix}%
+ \Crefname{subsubsubappendix}{Appendix}{Appendix}%
+ \Crefname{enumi}{Punkt}{Punkt}%
+ \Crefname{enumii}{Punkt}{Punkt}%
+ \Crefname{enumiii}{Punkt}{Punkt}%
+ \Crefname{enumiv}{Punkt}{Punkt}%
+ \Crefname{enumv}{Punkt}{Punkt}%
+ \Crefname{footnote}{Fotnot}{Fotnot}%
+ \Crefname{theorem}{Sats}{Sats}%
+ \Crefname{lemma}{Lemma}{Lemmas}%
+ \Crefname{corollary}{F\"oljdsats}{F\"oljdsats}%
+ \Crefname{proposition}{Proposition}{Proposition}%
+ \Crefname{definition}{Definition}{Definition}%
+ \Crefname{result}{Resultat}{Resultat}%
+ \Crefname{example}{Exempel}{Exempel}%
+ \Crefname{remark}{Anm\"arkning}{Anm\"arkning}%
+ \Crefname{note}{Notering}{Notering}%
+ \Crefname{algorithm}{Algoritm}{Algoritm}%
+ \Crefname{listing}{Kodlistning}{Kodlistning}%
+ \Crefname{line}{Rad}{Rad}%
+ %
+ \if@cref@capitalise% capitalise set
+ \if@cref@abbrev%
+ \crefname{equation}{Ekv.}{Ekv.}%
+ \crefname{figure}{Fig.}{Fig.}%
+ \crefname{subfigure}{Fig.}{Fig.}%
+ \else%
+ \crefname{equation}{Ekvation}{Ekvation}%
+ \crefname{figure}{Figur}{Figur}%
+ \crefname{subfigure}{Figur}{Figur}%
+ \fi%
+ \crefname{page}{Sida}{Sida}%
+ \crefname{table}{Tablell}{Tabell}%
+ \crefname{subtable}{Tabell}{Tabell}%
+ \crefname{part}{Del}{Del}%
+ \crefname{chapter}{Kapitel}{Kapitel}%
+ \crefname{section}{Avsnitt}{Avsnitt}%
+ \crefname{subsection}{Avsnitt}{Avsnitt}%
+ \crefname{subsubsection}{Avsnitt}{Avsnitt}%
+ \crefname{appendix}{Appendix}{Appendix}%
+ \crefname{subappendix}{Appendix}{Appendix}%
+ \crefname{subsubappendix}{Appendix}{Appendix}%
+ \crefname{subsubsubappendix}{Appendix}{Appendix}%
+ \crefname{enumi}{Punkt}{Punkt}%
+ \crefname{enumii}{Punkt}{Punkt}%
+ \crefname{enumiii}{Punkt}{Punkt}%
+ \crefname{enumiv}{Punkt}{Punkt}%
+ \crefname{enumv}{Punkt}{Punkt}%
+ \crefname{footnote}{Fotnot}{Fotnot}%
+ \crefname{theorem}{Sats}{Sats}%
+ \crefname{lemma}{Lemma}{Lemmas}%
+ \crefname{corollary}{F\"oljdsats}{F\"oljdsats}%
+ \crefname{proposition}{Proposition}{Proposition}%
+ \crefname{definition}{Definition}{Definition}%
+ \crefname{result}{Resultat}{Resultat}%
+ \crefname{example}{Exempel}{Exempel}%
+ \crefname{remark}{Anm\"arkning}{Anm\"arkning}%
+ \crefname{note}{Notering}{Notering}%
+ \crefname{algorithm}{Algoritm}{Algoritm}%
+ \crefname{listing}{Kodlistning}{Kodlistnings}%
+ \crefname{line}{Rad}{Rad}%
+ %
+ \else% capitalise unset
+ \if@cref@abbrev%
+ \crefname{equation}{ekv.}{ekv.}%
+ \crefname{figure}{fig.}{fig.}%
+ \crefname{subfigure}{fig.}{fig.}%
+ \crefname{page}{s.}{ss.}%
+ \else%
+ \crefname{equation}{ekvation}{ekvation}%
+ \crefname{figure}{figur}{figur}%
+ \crefname{subfigure}{figur}{figur}%
+ \crefname{page}{sida}{sida}%
+ \fi%
+ \crefname{table}{tablell}{tabell}%
+ \crefname{subtable}{tabell}{tabell}%
+ \crefname{part}{del}{del}%
+ \crefname{chapter}{kapitel}{kapitel}%
+ \crefname{section}{avsnitt}{avsnitt}%
+ \crefname{subsection}{avsnitt}{avsnitt}%
+ \crefname{subsubsection}{avsnitt}{avsnitt}%
+ \crefname{appendix}{appendix}{appendix}%
+ \crefname{subappendix}{appendix}{appendix}%
+ \crefname{subsubappendix}{appendix}{appendix}%
+ \crefname{subsubsubappendix}{appendix}{appendix}%
+ \crefname{enumi}{punkt}{punkt}%
+ \crefname{enumii}{punkt}{punkt}%
+ \crefname{enumiii}{punkt}{punkt}%
+ \crefname{enumiv}{punkt}{punkt}%
+ \crefname{enumv}{punkt}{punkt}%
+ \crefname{footnote}{fotnot}{fotnot}%
+ \crefname{theorem}{sats}{sats}%
+ \crefname{lemma}{lemma}{lemmas}%
+ \crefname{corollary}{f\"oljdsats}{f\"oljdsats}%
+ \crefname{proposition}{proposition}{proposition}%
+ \crefname{definition}{definition}{definition}%
+ \crefname{result}{resultat}{resultat}%
+ \crefname{example}{exempel}{exempel}%
+ \crefname{remark}{anm\"arkning}{anm\"arkning}%
+ \crefname{note}{notering}{notering}%
+ \crefname{algorithm}{algoritm}{algoritm}%
+ \crefname{listing}{kodlistning}{kodlistnings}%
+ \crefname{line}{rad}{rad}%
+ \fi}% end \cref@addlangagedefs
+% \end{macrocode}
+%
+%
+% \subsection{Brazilian}
+% \begin{macro}{brazilian}
+% Brazilian translations courtesy of Paulo Roberto Massa Cereda.
+% \end{macro}
+% \begin{macrocode}
+\DeclareOption{brazilian}{%
+ \AtBeginDocument{%
+ \def\crefrangeconjunction@preamble{ a\nobreakspace}%
+ \def\crefrangepreconjunction@preamble{}%
+ \def\crefrangepostconjunction@preamble{}%
+ \def\crefpairconjunction@preamble{ e\nobreakspace}%
+ \def\crefmiddleconjunction@preamble{, }%
+ \def\creflastconjunction@preamble{ e\nobreakspace}%
+% \end{macrocode}
+% We have to define the group conjunctions explicitly here, rather than
+% relying on fall-back definitions in terms of the above conjunctions
+% (see \cref{sec:code:default_formats}), in case any other language
+% option defines them explicitly and we need to override those.
+% \begin{macrocode}
+ \def\crefpairgroupconjunction@preamble{ e\nobreakspace}%
+ \def\crefmiddlegroupconjunction@preamble{, }%
+ \def\creflastgroupconjunction@preamble{, e\nobreakspace}%
+ %
+ \Crefname@preamble{equation}{Equa\cc\~ao}{Equa\cc\~oes}%
+ \Crefname@preamble{figure}{Figura}{Figuras}%
+ \Crefname@preamble{table}{Tabela}{Tabelas}%
+ \Crefname@preamble{page}{P\'agina}{P\'aginas}%
+ \Crefname@preamble{part}{Parte}{Partes}%
+ \Crefname@preamble{chapter}{Cap\'itulo}{Cap\'itulos}%
+ \Crefname@preamble{section}{Se\cc\~ao}{Se\cc\~oes}%
+ \Crefname@preamble{appendix}{Ap\^endice}{Ap\^endices}%
+ \Crefname@preamble{enumi}{Item}{Itens}%
+ \Crefname@preamble{footnote}{Nota de rodap\'e}{Notas de rodap\'e}%
+ \Crefname@preamble{theorem}{Teorema}{Teoremas}%
+ \Crefname@preamble{lemma}{Lema}{Lemas}%
+ \Crefname@preamble{corollary}{Corol\'ario}{Corol\'arios}%
+ \Crefname@preamble{proposition}{Proposi\cc\~ao}{Proposi\cc\~oes}%
+ \Crefname@preamble{definition}{Defini\cc\~ao}{Defini\cc\~oes}%
+ \Crefname@preamble{result}{Resultado}{Resultados}%
+ \Crefname@preamble{example}{Exemplo}{Exemplos}%
+ \Crefname@preamble{remark}{Observa\cc\~ao}{Observa\cc\~oes}%
+ \Crefname@preamble{note}{Nota}{Notas}%
+ \Crefname@preamble{algorithm}{Algoritmo}{Algoritmos}%
+ \Crefname@preamble{listing}{Listagem}{Listagens}%
+ \Crefname@preamble{line}{Linha}{Linhas}%
+ %
+ \if@cref@capitalise% capitalise set
+ \if@cref@abbrev%
+ \crefname@preamble{equation}{Eq.}{Eqs.}%
+ \crefname@preamble{figure}{Fig.}{Figs.}%
+ \else%
+ \crefname@preamble{equation}{Equa\cc\~ao}{Equa\cc\~oes}%
+ \crefname@preamble{figure}{Figura}{Figuras}%
+ \fi%
+ \crefname@preamble{page}{P\'agina}{P\'aginas}%
+ \crefname@preamble{table}{Tabela}{Tabelas}%
+ \crefname@preamble{part}{Parte}{Partes}%
+ \crefname@preamble{chapter}{Cap\'itulo}{Cap\'itulos}%
+ \crefname@preamble{section}{Se\cc\~ao}{Se\cc\~oes}%
+ \crefname@preamble{appendix}{Ap\^endice}{Ap\^endices}%
+ \crefname@preamble{enumi}{Item}{Itens}%
+ \crefname@preamble{footnote}{Nota de rodap\'e}{Notas de rodap\'e}%
+ \crefname@preamble{theorem}{Teorema}{Teoremas}%
+ \crefname@preamble{lemma}{Lema}{Lemas}%
+ \crefname@preamble{corollary}{Corol\'ario}{Corol\'arios}%
+ \crefname@preamble{proposition}{Proposi\cc\~ao}{Proposi\cc\~oes}%
+ \crefname@preamble{definition}{Defini\cc\~ao}{Defini\cc\~oes}%
+ \crefname@preamble{result}{Resultado}{Resultados}%
+ \crefname@preamble{example}{Exemplo}{Exemplos}%
+ \crefname@preamble{remark}{Observa\cc\~ao}{Observa\cc\~oes}%
+ \crefname@preamble{note}{Nota}{Notas}%
+ \crefname@preamble{algorithm}{Algoritmo}{Algoritmos}%
+ \crefname@preamble{listing}{Listagem}{Listagens}%
+ \crefname@preamble{line}{Linha}{Linhas}%
+ %
+ \else% capitalise unset
+ \if@cref@abbrev%
+ \crefname@preamble{equation}{eq.}{eqs.}%
+ \crefname@preamble{figure}{fig.}{figs.}%
+ \else%
+ \crefname@preamble{equation}{equa\cc\~ao}{equa\cc\~oes}%
+ \crefname@preamble{figure}{figura}{figuras}%
+ \fi%
+ \crefname@preamble{page}{p\'agina}{p\'aginas}%
+ \crefname@preamble{table}{tabela}{tabelas}%
+ \crefname@preamble{part}{parte}{partes}%
+ \crefname@preamble{chapter}{cap\'itulo}{cap\'itulos}%
+ \crefname@preamble{section}{se\cc\~ao}{se\cc\~oes}%
+ \crefname@preamble{appendix}{ap\^endice}{ap\^endices}%
+ \crefname@preamble{enumi}{item}{itens}%
+ \crefname@preamble{footnote}{nota de rodap\'e}{notas de rodap\'e}%
+ \crefname@preamble{theorem}{teorema}{teoremas}%
+ \crefname@preamble{lemma}{lema}{lemas}%
+ \crefname@preamble{corollary}{corol\'ario}{corol\'arios}%
+ \crefname@preamble{proposition}{proposi\cc\~ao}{proposi\cc\~oes}%
+ \crefname@preamble{definition}{defini\cc\~ao}{defini\cc\~oes}%
+ \crefname@preamble{result}{resultado}{resultados}%
+ \crefname@preamble{example}{exemplo}{exemplos}%
+ \crefname@preamble{remark}{observa\cc\~ao}{observa\cc\~oes}%
+ \crefname@preamble{note}{nota}{notas}%
+ \crefname@preamble{algorithm}{algoritmo}{algoritmos}%
+ \crefname@preamble{listing}{listagem}{listagens}%
+ \crefname@preamble{line}{linha}{linhas}%
+ \fi%
+ \def\cref@language{brazilian}%
+ }}% end \AtBeginDocument and \DeclareOption
+% \end{macrocode}
+%
+% If using \package{babel} and the corresponding option is set, or if
+% using \package{polyglossia} and the language has been loaded, add
+% format definition commands to \cmd{\extras}\meta{language} or
+% \cmd{\captions}\meta{language} so that language switching commands will
+% change the cross-reference formats appropriately.
+% \begin{macrocode}
+\cref@addlanguagedefs{brazilian}{%
+ \PackageInfo{cleveref}{loaded `brazilian' language definitions}%
+ \renewcommand{\crefrangeconjunction}{ a\nobreakspace}%
+ \renewcommand\crefrangepreconjunction{}%
+ \renewcommand\crefrangepostconjunction{}%
+ \renewcommand{\crefpairconjunction}{ e\nobreakspace}%
+ \renewcommand{\crefmiddleconjunction}{, }%
+ \renewcommand{\creflastconjunction}{ e\nobreakspace}%
+ \renewcommand{\crefpairgroupconjunction}{ e\nobreakspace}%
+ \renewcommand{\crefmiddlegroupconjunction}{, }%
+ \renewcommand{\creflastgroupconjunction}{ e\nobreakspace}%
+ %
+ \Crefname{equation}{Equa\cc\~ao}{Equa\cc\~oes}%
+ \Crefname{figure}{Figura}{Figuras}%
+ \Crefname{subfigure}{Figura}{Figuras}%
+ \Crefname{table}{Tabela}{Tabelas}%
+ \Crefname{subtable}{Tabela}{Tabelas}%
+ \Crefname{page}{P\'agina}{P\'aginas}%
+ \Crefname{part}{Parte}{Partes}%
+ \Crefname{chapter}{Cap\'itulo}{Cap\'itulos}%
+ \Crefname{section}{Se\cc\~ao}{Se\cc\~oes}%
+ \Crefname{subsection}{Se\cc\~ao}{Se\cc\~oes}%
+ \Crefname{subsubsection}{Se\cc\~ao}{Se\cc\~oes}%
+ \Crefname{appendix}{Ap\^endice}{Ap\^endices}%
+ \Crefname{subappendix}{Ap\^endice}{Ap\^endices}%
+ \Crefname{subsubappendix}{Ap\^endice}{Ap\^endices}%
+ \Crefname{subsubsubappendix}{Ap\^endice}{Ap\^endices}%
+ \Crefname{enumi}{Item}{Itens}%
+ \Crefname{enumii}{Item}{Itens}%
+ \Crefname{enumiii}{Item}{Itens}%
+ \Crefname{enumiv}{Item}{Itens}%
+ \Crefname{enumv}{Item}{Itens}%
+ \Crefname{footnote}{Nota de rodap\'e}{Notas de rodap\'e}%
+ \Crefname{theorem}{Teorema}{Teoremas}%
+ \Crefname{lemma}{Lema}{Lemas}%
+ \Crefname{corollary}{Corol\'ario}{Corol\'arios}%
+ \Crefname{proposition}{Proposi\cc\~ao}{Proposi\cc\~oes}%
+ \Crefname{definition}{Defini\cc\~ao}{Defini\cc\~oes}%
+ \Crefname{result}{Resultado}{Resultados}%
+ \Crefname{example}{Exemplo}{Exemplos}%
+ \Crefname{remark}{Observa\cc\~ao}{Observa\cc\~oes}%
+ \Crefname{note}{Nota}{Notas}%
+ \Crefname{algorithm}{Algoritmo}{Algoritmos}%
+ \Crefname{listing}{Listagem}{Listagens}%
+ \Crefname{line}{Linha}{Linhas}%
+ %
+ \if@cref@capitalise% capitalise set
+ \if@cref@abbrev%
+ \crefname{equation}{Eq.}{Eqs.}%
+ \crefname{figure}{Fig.}{Figs.}%
+ \crefname{subfigure}{Fig.}{Figs.}%
+ \else%
+ \crefname{equation}{Equa\cc\~ao}{Equa\cc\~oes}%
+ \crefname{figure}{Figura}{Figuras}%
+ \crefname{subfigure}{Figura}{Figuras}%
+ \fi%
+ \crefname{page}{P\'agina}{P\'aginas}%
+ \crefname{table}{Tabela}{Tabelas}%
+ \crefname{subtable}{Tabela}{Tabelas}%
+ \crefname{part}{Parte}{Partes}%
+ \crefname{chapter}{Cap\'itulo}{Cap\'itulos}%
+ \crefname{section}{Se\cc\~ao}{Se\cc\~oes}%
+ \crefname{subsection}{Se\cc\~ao}{Se\cc\~oes}%
+ \crefname{subsubsection}{Se\cc\~ao}{Se\cc\~oes}%
+ \crefname{appendix}{Ap\^endice}{Ap\^endices}%
+ \crefname{subappendix}{Ap\^endice}{Ap\^endices}%
+ \crefname{subsubappendix}{Ap\^endice}{Ap\^endices}%
+ \crefname{subsubsubappendix}{Ap\^endice}{Ap\^endices}%
+ \crefname{enumi}{Item}{Itens}%
+ \crefname{enumii}{Item}{Itens}%
+ \crefname{enumiii}{Item}{Itens}%
+ \crefname{enumiv}{Item}{Itens}%
+ \crefname{enumv}{Item}{Itens}%
+ \crefname{footnote}{Nota de rodap\'e}{Notas de rodap\'e}%
+ \crefname{theorem}{Teorema}{Teoremas}%
+ \crefname{lemma}{Lema}{Lemas}%
+ \crefname{corollary}{Corol\'ario}{Corol\'arios}%
+ \crefname{proposition}{Proposi\cc\~ao}{Proposi\cc\~oes}%
+ \crefname{definition}{Defini\cc\~ao}{Defini\cc\~oes}%
+ \crefname{result}{Resultado}{Resultados}%
+ \crefname{example}{Exemplo}{Exemplos}%
+ \crefname{remark}{Observa\cc\~ao}{Observa\cc\~oes}%
+ \crefname{note}{Nota}{Notas}%
+ \crefname{algorithm}{Algoritmo}{Algoritmos}%
+ \crefname{listing}{Listagem}{Listagens}%
+ \crefname{line}{Linha}{Linhas}%
+ %
+ \else% capitalise unset
+ \if@cref@abbrev%
+ \crefname{equation}{eq.}{eqs.}%
+ \crefname{figure}{fig.}{figs.}%
+ \crefname{subfigure}{fig.}{figs.}%
+ \else%
+ \crefname{equation}{equa\cc\~ao}{equa\cc\~oes}%
+ \crefname{figure}{figura}{figuras}%
+ \crefname{subfigure}{figura}{figuras}%
+ \fi%
+ \crefname{table}{tabela}{tabelas}%
+ \crefname{subtable}{tabela}{tabelas}%
+ \crefname{page}{p\'agina}{p\'aginas}%
+ \crefname{part}{parte}{partes}%
+ \crefname{chapter}{cap\'itulo}{cap\'itulos}%
+ \crefname{section}{se\cc\~ao}{se\cc\~oes}%
+ \crefname{subsection}{se\cc\~ao}{se\cc\~oes}%
+ \crefname{subsubsection}{se\cc\~ao}{se\cc\~oes}%
+ \crefname{appendix}{ap\^endice}{ap\^endices}%
+ \crefname{subappendix}{ap\^endice}{ap\^endices}%
+ \crefname{subsubappendix}{ap\^endice}{ap\^endices}%
+ \crefname{subsubsubappendix}{ap\^endice}{ap\^endices}%
+ \crefname{enumi}{item}{itens}%
+ \crefname{enumii}{item}{itens}%
+ \crefname{enumiii}{item}{itens}%
+ \crefname{enumiv}{item}{itens}%
+ \crefname{enumv}{item}{itens}%
+ \crefname{footnote}{nota de rodap\'e}{notas de rodap\'e}%
+ \crefname{theorem}{teorema}{teoremas}%
+ \crefname{lemma}{lema}{lemas}%
+ \crefname{corollary}{corol\'ario}{corol\'arios}%
+ \crefname{proposition}{proposi\cc\~ao}{proposi\cc\~oes}%
+ \crefname{definition}{defini\cc\~ao}{defini\cc\~oes}%
+ \crefname{result}{resultado}{resultados}%
+ \crefname{example}{exemplo}{exemplos}%
+ \crefname{remark}{observa\cc\~ao}{observa\cc\~oes}%
+ \crefname{note}{nota}{notas}%
+ \crefname{algorithm}{algoritmo}{algoritmos}%
+ \crefname{listing}{listagem}{listagens}%
+ \crefname{line}{linha}{linhas}%
+ \fi}% end \cref@addlangagedefs
+% \end{macrocode}
+%
%
% \subsection{Default Cross-Reference Formats}
% \label{sec:code:default_formats}