diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/smartref/byname.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/smartref/byname.sty | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/smartref/byname.sty b/Master/texmf-dist/tex/latex/smartref/byname.sty new file mode 100644 index 00000000000..648be4939d4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/smartref/byname.sty @@ -0,0 +1,65 @@ +\def\fileversion{v1.1} +\def\filedate{2001/07/12} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Giuseppe Bilotta +% +% Phone +39-095-338103 +% +% Email: bourbaki@bigfoot.com +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% This package is distributed under the terms +% of the LaTeX Project Public License +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Please read the readme.txt file for details +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{byname}[\filedate\space\fileversion\space Increase +reference capability (reference by name)] +% +\newcommand*{\byn@melabel}[2]{% + \def\@currnamelabel{{#1}{#2}}} + +\let\bns@vesect=\@sect + +\def\@sect#1#2#3#4#5#6[#7]#8{% + \bns@vesect{#1}{#2}{#3}{#4}{#5}{#6}[#7]{#8}% + \byn@melabel{#7}{#8}} + +\let\bns@vechap=\@chapter +\def\@chapter[#1]#2{% + \bns@vechap[#1]{#2}% + \byn@melabel{#1}{#2}} + +% Hack label: also write the NameRef data ... +\def\newnamelabel{\@newl@bel {name}} +%save previous \label +\AtBeginDocument{\let\nr@ldlabel=\label +\renewcommand*{\label}[1]{\nr@ldlabel{#1}% + \@bsphack% + \protected@write\@auxout{}% + {\string\newnamelabel{#1}{\@currnamelabel}}% + \@esphack}} +% Reference by name +% +\@ifpackageloaded{hyperref}{% + \newcommand*{\byname}[1]{% + \expandafter\real@setref\csname name@#1\endcsname\@secondoftwo{#1}% + } + \newcommand*{\byshortname}[1]{% + \expandafter\real@setref\csname name@#1\endcsname\@firstoftwo{#1}% + } + }{ + \newcommand*{\byname}[1]{% + \expandafter\@setref\csname name@#1\endcsname\@secondoftwo{#1}% + } + \newcommand*{\byshortname}[1]{% + \expandafter\@setref\csname name@#1\endcsname\@firstoftwo{#1}% + } + } +\endinput |