Current File : //usr/share/texlive/texmf-dist/tex/latex/tools/showkeys.sty |
%%
%% This is file `showkeys.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% showkeys.dtx (with options: `package')
%%
%% This is a generated file.
%%
%% The source is maintained by the LaTeX Project team and bug
%% reports for it can be opened at https://latex-project.org/bugs/
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
%% Copyright (C) 1993-2020
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
%% --------------------------------------------------------------------------
%%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file may only be distributed together with a copy of the LaTeX
%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
%% without such generated files.
%%
%% The list of all files belonging to the LaTeX `Tools Bundle' is
%% given in the file `manifest.txt'.
%%
%% File: showkeys.dtx Copyright (C) 1992-1997 David Carlisle
%% File: showkeys.dtx Copyright (C) 2006-2019 David Carlisle, LaTeX3 Project
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{showkeys}
[2014/10/28 v3.17 Show cite and label keys (DPC, MH)]
\DeclareOption{notref}{\let\SK@ref\@empty}
\DeclareOption{notcite}{\let\SK@cite\@empty}
\let\SK@refcolor\relax
\let\SK@labelcolor\relax
\DeclareOption{color}{\AtEndOfPackage{%
\RequirePackage{color}%
\definecolor{refkey}{gray}{.75}%
\definecolor{labelkey}{gray}{.75}%
\def\SK@refcolor{\color{refkey}}%
\def\SK@labelcolor{\color{labelkey}}}}
\DeclareOption{final}{%
\providecommand*\showkeyslabelformat[1]{}%
\endinput}
\DeclareOption{draft}{}
\ProcessOptions
\let\SK@label\label
\let\SK@bibitem\@bibitem
\let\SK@lbibitem\@lbibitem
\def\label#1{%
\@bsphack
\SK@\SK@@label{#1}%
\begingroup
\SK@label{#1}%
\endgroup
\@esphack}
\def\@bibitem#1{%
\SK@bibitem{#1}\SK@\SK@@label{#1}\ignorespaces}
\def\@lbibitem[#1]#2{%
\SK@lbibitem[{#1}]{#2}\SK@\SK@@label{#2}\ignorespaces}
\def\SK@#1#2{%
\protected@edef\@tempa{#2}%
\expandafter#1\meaning\@tempa\SK@}
\providecommand*\showkeyslabelformat[1]{%
\fbox{\normalfont\small\ttfamily#1}}
\def\SK@@label#1>#2\SK@{%
\gdef\SK@lab{\smash{\SK@labelcolor\showkeyslabelformat{#2}}}%
\ifvmode
\if@inlabel
\global\setbox\@labels\hbox{%
\llap{\SK@lab\SK@lab@relax
\kern\@totalleftmargin\kern\marginparsep}%
\box\@labels}%
\else
\dimen@\prevdepth
\nointerlineskip
\ifinner
\skip@\lastskip\unskip
\advance\skip@\lastskip\unskip
\setbox\z@\lastbox
\ifvoid\z@
\llap{\SK@lab\SK@lab@relax\kern\marginparsep}%
\else
\hbox{\box\z@\rlap{\kern\marginparsep\SK@labx}}%
\fi
\vskip\skip@
\else
\llap{\SK@lab\SK@lab@relax\kern\marginparsep}%
\fi
\prevdepth\dimen@
\fi
\else
\csname SK@\@currenvir\endcsname
\ifSK@equation\else
\ifmmode
\SK@labx
\else
\ifinner
\rlap\SK@lab
\else
\vadjust{\llap{\SK@lab\kern\marginparsep}}%
\fi
\SK@lab@relax
\fi
\fi
\fi}
\AtBeginDocument{%
\let\SK@eqnnum\@eqnnum
\@ifpackageloaded{amsmath}{%
\let\SK@tagform@\tagform@
\let\SK@maketag@@@\maketag@@@
\iftagsleft@
\def\tagform@#1{%
\ifx\df@label\@empty
\SK@lab@relax
\else
\expandafter\SK@@label\meaning\df@label\SK@
\fi
\llap{\SK@lab\kern\marginparsep}%
\SK@lab@relax\SK@tagform@{#1}}%
\def\maketag@@@#1{%
\ifx\df@label\@empty
\SK@lab@relax
\else
\expandafter\SK@@label\meaning\df@label\SK@
\fi
\llap{\SK@lab\kern\marginparsep}\SK@lab@relax
\SK@maketag@@@{#1}%
}%
\def\@eqnnum{%
\llap{\SK@lab\kern\displaywidth\kern\marginparsep}%
\SK@lab@relax\SK@eqnnum}%
\else
\def\tagform@#1{%
\ifx\df@label\@empty
\SK@lab@relax
\else
\expandafter\SK@@label\meaning\df@label\SK@
\fi
\SK@tagform@{#1}%
\rlap{\kern\marginparsep\SK@lab}\SK@lab@relax}%
\def\maketag@@@#1{%
\ifx\df@label\@empty
\SK@lab@relax
\else
\expandafter\SK@@label\meaning\df@label\SK@
\fi
\SK@maketag@@@{#1}%
\rlap{\kern\marginparsep\SK@lab}\SK@lab@relax
}%
\def\@eqnnum{\SK@eqnnum\rlap{\kern\marginparsep\SK@lab}%
\SK@lab@relax}%
\fi
}%
{%
\@ifundefined{ver@leqno.clo}{%
\def\@eqnnum{\SK@eqnnum\rlap{\kern\marginparsep\SK@lab}%
\SK@lab@relax}%
}{%
\def\@eqnnum{%
\llap{\SK@lab\kern\displaywidth\kern\marginparsep}%
\SK@lab@relax\SK@eqnnum}%
}%
}%
}
\def\SK@labx{\rlap\SK@lab\global\let\SK@lab\relax}
\def\SK@lab@relax{\global\let\SK@lab\relax}\SK@lab@relax
\newif\ifSK@equation
\let\SK@equation\SK@equationtrue
\let\SK@eqnarray\SK@equationtrue
\toks@\expandafter{\eqnarray}
\edef\eqnarray{\let\noexpand\tagform@\noexpand\SK@tagform@\the\toks@}
\let\SK@align\SK@equationtrue
\let\SK@alignat\SK@equationtrue
\let\SK@xalignat\SK@equationtrue
\let\SK@xxalignat\SK@equationtrue
\let\SK@gather\SK@equationtrue
\let\SK@multline\SK@equationtrue
\let\SK@flalign\SK@equationtrue
\expandafter\let\csname SK@align*\endcsname\SK@equationtrue
\expandafter\let\csname SK@alignat*\endcsname\SK@equationtrue
\expandafter\let\csname SK@flalign*\endcsname\SK@equationtrue
\expandafter\let\csname SK@gather*\endcsname\SK@equationtrue
\expandafter\let\csname SK@multline*\endcsname\SK@equationtrue
\expandafter\let\csname SK@equation*\endcsname\SK@equationtrue
\def\SK@def#1{%
\edef\@tempa{\expandafter\@gobble\string#1}%
\@ifundefined{\@tempa\space}%
{\expandafter\let\csname SK@\@tempa\endcsname#1}%
{\expandafter\let\csname SK@\@tempa\expandafter\endcsname
\csname\@tempa\space\endcsname}%
\expandafter\def\expandafter#1\expandafter{%
\expandafter\protect\csname\@tempa\space\endcsname}%
\expandafter\def\csname\@tempa\space\endcsname}
\ifx\SK@ref\@empty
\AtBeginDocument{%
\@ifpackageloaded{varioref}{%
\SK@def\@@vpageref#1[#2]#3{{%
\let\label\SK@label
\SK@@@vpageref{#1}[{#2}]{#3}}}%
\def\vr@f#1{%
\leavevmode\unskip\vref@space
\ref{#1}%
{\let\label\SK@label
\vpageref[\unskip]{#1}}}%
}{}}
\else
\AtBeginDocument{%
\SK@def\ref#1{\SK@\SK@@ref{#1}\SK@ref{#1}}%
\SK@def\pageref#1{\SK@\SK@@ref{#1}\SK@pageref{#1}}%
\@ifpackageloaded{varioref}{%
\SK@def\@@vpageref#1[#2]#3{{%
\let\label\SK@label\let\ref\SK@ref\let\pageref\SK@pageref
\leavevmode\unskip\SK@\SK@@ref{#3}\SK@@@vpageref{#1}[{#2}]{#3}}}%
\def\vr@f#1{%
\leavevmode\unskip\vref@space
\ref{#1}%
\let\label\SK@label\let\ref\SK@ref\let\pageref\SK@pageref
\vpageref[\unskip]{#1}}%
}{}}
\fi
\ifx\SK@cite\@empty
\AtBeginDocument{%
\ifx\HAR@checkdef\@undefined\else
\expandafter\let\expandafter
\SK@HAR@bi\csname\string\harvarditem\endcsname
\expandafter\def\csname\string\harvarditem\endcsname[#1]#2#3#4{%
\SK@HAR@bi[{#1}]{#2}{#3}{#4}\SK@\SK@@label{#4}}%
\fi}
\else
\AtBeginDocument{%
\ifx\HAR@checkdef\@undefined
\ifx\citen\@undefined
\SK@def\@citex[#1]#2{\SK@citex[{#1}]{#2}}%
\else
\SK@def\citen#1{\SK@\SK@@ref{#1}\SK@citen{#1}}%
\fi
\SK@def\citeauthor#1{\SK@\SK@@ref{#1}\SK@citeauthor{#1}}%
\SK@def\citefullauthor#1{\SK@\SK@@ref{#1}\SK@citefullauthor{#1}}%
\SK@def\citeyear#1{\SK@\SK@@ref{#1}\SK@citeyear{#1}}%
\else
\SK@def\HAR@checkdef#1#2{%
\expandafter\SK@\expandafter\SK@@ref\expandafter{#1}%
\SK@HAR@checkdef{#1}{#2}}%
\expandafter\let\expandafter
\SK@HAR@bi\csname\string\harvarditem\endcsname
\expandafter\def\csname\string\harvarditem\endcsname[#1]#2#3#4{%
\SK@HAR@bi[{#1}]{#2}{#3}{#4}\SK@\SK@@label{#4}}%
\fi}
\def\SK@citex[#1]#2{%
\SK@\SK@@ref{#2}\SK@@citex[{#1}]{#2}}
\fi
\def\SK@@ref#1>#2\SK@{%
\leavevmode\vbox to\z@{{%
\vss
\SK@refcolor
\rlap{\vrule\raise .75em%
\hbox{\underbar{\normalfont\footnotesize\ttfamily#2}}}}}}
\endinput
%%
%% End of file `showkeys.sty'.