% FNCYLAB.STY v1.1 % Copyright 2000,2003 Robin Fairbairns (robin.fairbairns@cl.cam.ac.uk) % Copyright 2019 LaTeX Team % % This program can redistributed and/or modified under the terms % of the LaTeX Project Public License; either version 1.2 of the % license, or (at your option) any later version. % % See http://www.latex-project.org/lppl.txt for the latest version % of the license. % % This package provides support for arbitrary structuring of the way % label references look. The \labelformat command takes two % arguments: % #1 the counter that will define the label (e.g., section, figure, % enumi, etc.) % #2 the definition of how the label will be formatted: in this % argument, #1 (*not* ##1) substitutes the `raw' value of the % thing which is the source of the label. % % The package makes use of a built-in LaTeX facility (which actually % needs a bit of patching before it's usable); this allows the precise % layout of the references to labels generated from any LaTeX counter % to be altered. Note that the way in which the counter itself is % represented in references depends on \the -- it's the same % as the way the counter gets printed. % % example % \labelformat{section}{section #1} % ... % \section{The Blah Field}\label{blah} % ... % ... As we saw above in~\ref{blah} ... % % will typeset as % ... As we saw above in section 3 ... % % For references at the start of a sentence, the package defines a % command \Ref, which is used as follows: % ... \Ref{blah} shows us that ... % % which will typeset as % ... Section 3 shows us that ... % as 2019 the modification (and \labelformat and \Ref) has been added % to the LaTeX kernel, so there is nothing to do for this package any more % unless it is run using an older kernel. \ifx\labelformat\@undefined % if defined we assume a newer kernel % this check and redefinition is suggested in the latex source % (ltxref.dtx) \CheckCommand*\refstepcounter[1]{\stepcounter{#1}% \protected@edef\@currentlabel {\csname p@#1\endcsname\csname the#1\endcsname}% } \renewcommand*\refstepcounter[1]{\stepcounter{#1}% \protected@edef\@currentlabel {\csname p@#1\expandafter\endcsname\csname the#1\endcsname}% } \def\labelformat#1{\expandafter\def\csname p@#1\endcsname##1} \DeclareRobustCommand\Ref[1]{\protected@edef\@tempa{\ref{#1}}% \expandafter\MakeUppercase\@tempa } \else \PackageWarningNoLine{fncylab}{% fncylab is not required with releases after 2019.\MessageBreak All its functionality is now in the LaTeX kernel} \fi \endinput