summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/showlabels
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-12-11 23:19:23 +0000
committerKarl Berry <karl@freefriends.org>2015-12-11 23:19:23 +0000
commita6451a5b29813f32c1fb91745c853c23fc2722a3 (patch)
tree01da36c3e1ee540a5e1699912dbb39b77eadba20 /Master/texmf-dist/tex/latex/showlabels
parente9d6d57d90449717e3a5a70e914275379a3dee6b (diff)
showlabels (11dec15)
git-svn-id: svn://tug.org/texlive/trunk@39083 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/showlabels')
-rw-r--r--Master/texmf-dist/tex/latex/showlabels/showlabels.sty168
1 files changed, 109 insertions, 59 deletions
diff --git a/Master/texmf-dist/tex/latex/showlabels/showlabels.sty b/Master/texmf-dist/tex/latex/showlabels/showlabels.sty
index ccbbeb32ec0..408968da868 100644
--- a/Master/texmf-dist/tex/latex/showlabels/showlabels.sty
+++ b/Master/texmf-dist/tex/latex/showlabels/showlabels.sty
@@ -8,7 +8,7 @@
%% Showlabels: Style to display labels in the margin
%% This is the showlabels package
%%
-%%%% Copyright 2005--2013, Norman Gray
+%%%% Copyright 1999, 2001--09, 2013--15, Norman Gray
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -25,91 +25,130 @@
%% This work consists of the files showlabels.dtx and showlabels.ins,
%% and the derived file showlabels.cls.
\def\filename{showlabels}
-\def\fileversion{1.6.6}
-\def\filedate{2013/12/06}
-\def\docdate{2013 December 6}
+\def\fileversion{1.7}
+\def\filedate{2015/12/08}
+\def\docdate{2015 December 8}
\def\filemaintainer{norman@astro.gla.ac.uk}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{showlabels}[\filedate\space v\fileversion]
\typeout{Package: `showlabels' v\fileversion\space<\filedate>}
\newif\ifSL@AMS
-\expandafter\ifx\csname maketag@@@\endcsname\relax
+\@ifundefined{maketag@@@}
\SL@AMSfalse
-\else
- \SL@AMStrue
- \typeout{with amsmath equation tags}
-\fi
+ {\SL@AMStrue\typeout{with amsmath equation tags}}
+\def\SL@eqntext{%
+ \ifSL@labelsinline
+ \let\@tempa\SL@interlinetextleft
+ \else
+ \let\@tempa\SL@eqnlrtext
+ \fi
+ \@tempa
+}
+\def\SL@wrap@labeller#1{%
+ \expandafter\let\csname SL@orig@#1\expandafter\endcsname\csname #1\endcsname
+ \expandafter\def\csname #1\endcsname{%
+ \csname SL@orig@#1\endcsname
+ \ifx\SL@labelname\relax
+ % do nothing
+ \else
+ \SL@eqntext{\SL@labelname}%
+ \fi
+ \global\let\SL@labelname\relax}}
\ifSL@AMS
- \let\SL@maketag@@@=\maketag@@@
- \def\maketag@@@#1{%
- \SL@maketag@@@{#1}%
- %\message{maketag@@@: df@label=\df@label, SL@labelname=\SL@labelname, env=\@currenvir}%
+ \let\SL@orig@maketag@@@=\maketag@@@
+ \def\SL@maketag@@@#1{%
+ \SL@orig@maketag@@@{#1}%
\ifx\df@label\@empty
\ifx\SL@labelname\relax
% do nothing
\else
- \SL@eqnlrtext{\SL@labelname}%
+ \SL@eqntext{\SL@labelname}%
\fi
\else
- \SL@eqnlrtext{\df@label}%
+ \SL@eqntext{\df@label}%
\fi
\global\let\SL@labelname\relax
}
\else
- \let\SL@eqnnum=\@eqnnum
- \def\@eqnnum{%
- \SL@eqnnum
- \ifx\SL@labelname\relax
- % do nothing
- \else
- \SL@eqnlrtext{\SL@labelname}%
- \fi
- \global\let\SL@labelname\relax
- }
+ %% \let\SL@eqnnum=\@eqnnum
+ %% \def\@eqnnum{%
+ %% \SL@eqnnum
+ %% \ifx\SL@labelname\relax
+ %% % do nothing
+ %% \else
+ %% \SL@eqntext{\SL@labelname}%
+ %% \fi
+ %% \global\let\SL@labelname\relax
+ %% }
+ \SL@wrap@labeller{@eqnnum}
\fi
\global\let\SL@labelname\relax
\@ifundefined{ttfamily}
{\providecommand{\showlabelfont}{\small\tt}}
{\providecommand{\showlabelfont}{\small\ttfamily}}
-\providecommand{\showlabelsetlabel}[1]{{\normalfont\showlabelfont #1}}
+\providecommand{\showlabelsetlabel}[1]{{\normalfont\showlabelfont\SL@fmt@ #1}}
\def\SL@gobblethree#1#2#3{}
\def\SL@prlabelname#1{%
\expandafter\expandafter\expandafter\SL@gobblethree
\expandafter\string\csname r@#1\endcsname}
-\def\showlabels#1{%
- \@temptokena=\expandafter{\csname #1\endcsname}
- \expandafter\edef\csname SL@init#1\endcsname{%
- \let\csname SL@orig#1\endcsname\the\@temptokena
- \let\the\@temptokena\csname SL@#1\endcsname}
- \AtBeginDocument{\csname SL@init#1\endcsname}%
- \expandafter\def\csname SL@#1\endcsname{\SL@showlabels{#1}}
+\def\showlabels{\@ifnextchar[\showlabels@{\showlabels@[]}}
+\def\showlabels@[#1]#2{%
+ \@temptokena=\expandafter{\csname #2\endcsname}
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty
+ \expandafter\let\csname SL@fmt@#2\endcsname\relax
+ \else
+ \expandafter\def\csname SL@fmt@#2\endcsname{#1}%
+ \fi
+ \expandafter\edef\csname SL@init@#2\endcsname{%
+ \let\csname SL@orig#2\endcsname\the\@temptokena
+ \let\the\@temptokena\csname SL@#2\endcsname}
+ \AtBeginDocument{\csname SL@init@#2\endcsname}%
+ \expandafter\def\csname SL@#2\endcsname{%
+ \expandafter\let\expandafter\SL@fmt@\csname SL@fmt@#2\endcsname
+ \SL@showlabels{#2}}
}
+\let\SL@fmt@\relax
\DeclareRobustCommand\SL@showlabels[1]{%
- \def\@tempa{\csname SL@orig#1\endcsname}%
- \@ifnextchar[\SL@showlabelsopt\SL@showlabelsplain
+ \expandafter\let\expandafter\SL@orig@@next\csname SL@orig#1\endcsname
+ \@ifstar
+ {\SL@showlabelsplainstar}
+ {\@ifnextchar[
+ {\SL@showlabelsopt}
+ {\SL@showlabelsplain}}
}
\def\SL@showlabelsopt[#1]#2{%
\@bsphack
\SL@setlabel{#2}\relax
\ifhmode \spacefactor\@savsf \ifdim\@savsk>\z@ \hskip1sp \fi\fi
- \@tempa[#1]{#2}%
+ \SL@orig@@next[#1]{#2}%
}
\def\SL@showlabelsplain#1{%
\@bsphack
\SL@setlabel{#1}\relax
\ifhmode \spacefactor\@savsf \ifdim\@savsk>\z@ \hskip1sp \fi\fi
- \@tempa{#1}%
+ \SL@orig@@next{#1}%
+}
+\def\SL@showlabelsplainstar#1{%
+ \@bsphack
+ \SL@setlabel{#1}\relax
+ \ifhmode \spacefactor\@savsf \ifdim\@savsk>\z@ \hskip1sp \fi\fi
+ \SL@orig@@next*{#1}%
}
\def\SL@initmakecaption{%
\let\SL@origmakecaption\@makecaption
\def\@makecaption##1##2{{%
- \let\SL@setlabel\SL@inlinetext\SL@origmakecaption{##1}{##2}}}}
+ \let\SL@setlabel\SL@inlinetext
+ \SL@origmakecaption{##1}{##2}}}}
\AtBeginDocument{\SL@initmakecaption}
\def\SL@margtext#1{%
\ifmmode
\xdef\SL@labelname{\SL@prlabelname{#1}}%
+ \else\ifdim\displaywidth>0pt
+ \xdef\SL@labelname{\SL@prlabelname{#1}}%
\else
- \setbox\@tempboxa=\vbox to 0pt{\vss
+ \setbox\@tempboxa=\vbox to 0pt{%
+ \vss
\hbox to \hsize{\SL@lrtext{#1}}}%
\dp\@tempboxa\z@
\ifvmode
@@ -119,21 +158,15 @@
\else
\vadjust{\box\@tempboxa\nobreak}%
\fi
- \fi
+ \fi\fi
}
\def\SL@inlinetext#1{%
-\ifmmode
- \ifSL@AMS\else
- \xdef\SL@labelname{\SL@prlabelname{#1}}%
- \fi
-\else
\SL@interlinetextright{\SL@prlabelname{#1}}%
-\fi
}
\def\SL@interlinetextleft{\SL@setlefttrue\SL@interlinetext}
\def\SL@interlinetextright{\SL@setleftfalse\SL@interlinetext}
\def\SL@interlinetext#1{%
- \setbox\@tempboxa=\hbox{\showlabelsetlabel{#1}}\dp\@tempboxa\z@
+ \setbox\@tempboxa=\hbox{\showlabelsetlabel{\SL@prlabelname{#1}}}\dp\@tempboxa\z@
\ifvmode
\nointerlineskip\vbox to 0pt{\vss
\hbox to \columnwidth{\hss \box\@tempboxa}}%
@@ -144,13 +177,13 @@
\vbox to 0pt{\vss
\hbox to 0pt{\hss\box\@tempboxa}%
\showlabelrefline
- }}%
+ }}%
\else
\hbox to 0pt{%
\vbox to 0pt{\vss
\box\@tempboxa
\showlabelrefline
- }\hss}%
+ }\hss}%
\fi
\penalty10000
\fi
@@ -235,12 +268,22 @@
\DeclareOption{inner}{\SL@labelposition=1}
\DeclareOption{left}{\SL@labelposition=2}
\DeclareOption{right}{\SL@labelposition=3}
-\DeclareOption{marginal}{\let\SL@setlabel\SL@margtext}
-\DeclareOption{inline}{\let\SL@setlabel\SL@inlinetext}
-\let\SL@setlabel\SL@margtext
-\newif\if@showlabellabel
-\@showlabellabeltrue
-\DeclareOption{nolabel}{\@showlabellabelfalse}
+\newif\ifSL@labelsinline
+\SL@labelsinlinefalse
+\DeclareOption{marginal}{\SL@labelsinlinefalse}
+\DeclareOption{inline}{\SL@labelsinlinetrue}
+\def\SL@setlabel{%
+ \ifSL@labelsinline
+ \let\@tempa\SL@inlinetext
+ \else
+ \let\@tempa\SL@margtext
+ \fi
+ \@tempa
+}
+\def\showlabelsinline{\SL@labelsinlinetrue}
+\newif\ifSL@labellabel
+\SL@labellabeltrue
+\DeclareOption{nolabel}{\SL@labellabelfalse}
\DeclareOption{final}{\let\showlabels\@gobble}
\DeclareOption{draft}{}
\ProcessOptions
@@ -281,11 +324,18 @@
\let\SL@eqnlrtext\SL@eqnrighttext
\fi
\fi
-\ifx\SL@setlabel\SL@inlinetext
- \let\SL@eqnlrtext\SL@interlinetextleft
-\fi
-\if@showlabellabel
+\ifSL@labellabel
\showlabels{label}
+ \ifSL@AMS
+ \ifx\showlabels\@gobble
+ % do nothing -- we're in [final] mode (see test case t13)
+ \else
+ \let\maketag@@@\SL@maketag@@@
+ \fi
+ \fi
+ \@ifundefined{theIEEEsubequationdis}\relax % and \theequationdis
+ {\SL@wrap@labeller{theIEEEsubequationdis}
+ \SL@wrap@labeller{theequationdis}}
\fi
\endinput
%%