diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/hyper/hxt-bc.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/hyper/hxt-bc.sty | 310 |
1 files changed, 310 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/hyper/hxt-bc.sty b/Master/texmf-dist/tex/latex/hyper/hxt-bc.sty new file mode 100644 index 00000000000..97efd9ba173 --- /dev/null +++ b/Master/texmf-dist/tex/latex/hyper/hxt-bc.sty @@ -0,0 +1,310 @@ +%% +%% This is file `hxt-bc.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% backcite.dtx (with options: `backcite') +%% +%% File: backcite.dtx Copyright (C) 1995--1999 Michael Mehlich +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt; either +%% version 1 of the License, or any later version. +\def\fileversion{V2.0} +\def\filedate{1997/03/01} +\def\docdate{1997/03/01} +%% +%% \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 +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{hxt-bc}% + [\filedate\space Backcite extension for HyperLaTeX2e] +\@ifpackageloaded{hyper}{}{% +\PackageWarningNoLine{backcite}{% + Backcite extension of hyper package needs hyper package.\MessageBreak + Loading hyper package.% +}% +\usepackage[no]{hyper}% +} +\def\hyper@aux#1#2#3{% + \expandafter\ifx\csname hyper@aux@#1@#2\endcsname\relax% + \expandafter\global% + \expandafter\edef\csname hyper@aux@#1@#2\endcsname% + {(#3)}% + \else% + \expandafter\global% + \expandafter\edef\csname hyper@aux@#1@#2\endcsname% + {\csname hyper@aux@#1@#2\endcsname(#3)}% + \fi% + \expandafter\ifx\csname hyper@aux@#1\endcsname\relax% + \expandafter\global\expandafter% + \newtoks\csname hyper@aux@#1\endcsname% + \fi% + \def\hyper@tempa{\csname hyper@aux@#1\endcsname}% + \expandafter\expandafter\expandafter\expandafter% + \expandafter\expandafter\expandafter\global% + \expandafter\expandafter\expandafter\expandafter% + \expandafter\expandafter\expandafter\hyper@tempa% + \expandafter\expandafter\expandafter\expandafter% + \expandafter\expandafter\expandafter{% + \expandafter\expandafter\expandafter\the\expandafter\hyper@tempa% + \csname hyper@aux@#1@#2\endcsname% + }% +} +\def\hyperbackcite#1#2#3#4{\hyper@aux{br}{#1}{#2,#3,#4}} +\def\hyper@back@to@aux#1{% + \@bsphack% + \protected@write% + \@auxout% + {}% + {\string\hyperbackcite% + {#1}% + {\@currenthyper}% + {\@currentlabel}% + {\thepage}% + }% + \@esphack% +} +\def\hyper@back@to@aux@list#1{% + \@for\@citeb:=#1\do% + {\edef\@citeb{\expandafter\@firstofone\@citeb}% + \@bsphack% + \protected@write% + \@auxout% + {}% + {\string\hyperbackcite% + {\@citeb}% + {\@currenthyper}% + {\@currentlabel}% + {\thepage}% + }% + \@esphack% + }% +} +\let\hyper@citex\@citex% +\def\@citex[#1]#2{% + \hyper@back@to@aux@list{#2}% + \hyper@citex[#1]{#2}% +}% +\ifx\harvarditem\@undefined\else% + \let\hyper@har@citetoaux\HAR@citetoaux% + \def\HAR@citetoaux#1{% + \hyper@back@to@aux{#1}% + \hyper@har@citetoaux{#1}% + }% +\fi +\ifx\NAT@set@cites\@undefined\else% + \let\hyper@hyper@natlinkstart\hyper@natlinkstart% + \def\hyper@natlinkstart#1#2\hyper@natlinkend{% + \hyper@back@to@aux{#1}% + \hyper@hyper@natlinkstart{#1}{#2}\hyper@natlinkend% + }% + \ifnum\NAT@sort=1\relax + \let\hyper@back@hold\relax + \def\hyper@compress@cite#1#2{% + \advance\@tempcnta\@ne% + \ifnum #1=\@tempcnta% + \ifx\@h@ld\relax% + \edef\@h@ld{% + \@citea% + \noexpand% + \hyper@natlinkstart{#2}{#1}% + \noexpand% + \hyper@natlinkend% + }% + \def\hyper@back@hold{\hyper@back@to@aux{#2}}% + \else% + \hyper@back@hold% + \def\@h@ld{% + \hbox{--}% + \hyper@natlinkstart{#2}{#1}\hyper@natlinkend% + }% + \def\hyper@back@hold{\hyper@back@to@aux{#2}}% + \fi% + \else% + \@h@ld\@citea% + \hyper@natlinkstart{#2}{#1}\hyper@natlinkend% + \let\@h@ld\relax% + \fi% + \@tempcnta#1\def\@citea{\NAT@sep\penalty\@m\NAT@space}% + } + \fi + \NAT@set@cites +\fi% +\let\hyper@lbibitem\@lbibitem +\def\@lbibitem[#1]#2#3\par{% + \hyper@lbibitem[#1]{#2}#3% + \expandafter\hyper@backcite\csname hyper@aux@br@#2\endcsname% + \par% +} +\let\hyper@bibitem\@bibitem +\def\hyper@bibitem#1#2\par{% + \hyper@bibitem{#1}#2% + \expandafter\hyper@backcite\csname hyper@aux@br@#1\endcsname% + \par% +} +\ifx\harvarditem\@undefined\else + \let\hyper@harvarditem\harvarditem + \def\harvarditem{% + \@ifnextchar[{\hyper@harvard@oitem}{\hyper@harvard@item}% + } + \def\hyper@harvard@item#1#2#3#4\par{% + \hyper@harvarditem{#1}{#2}{#3}#4% + \expandafter\hyper@backcite\csname hyper@aux@br@#3\endcsname% + \par% + } + \def\hyper@harvard@oitem[#1]#2#3#4#5\par{% + \hyper@harvarditem[#1]{#2}{#3}{#4}#5% + \expandafter\hyper@backcite\csname hyper@aux@br@#4\endcsname% + \par% + } +\fi +\def\hyperbackcitepage{Cited on page~} +\def\hyperbackcitepages{Cited on pages~} +\def\hyperbackcitesection{Cited in~} +\def\hyperbackcitesections{Cited in~} +\def\hyperbackcitenormalseparator{, } +\def\hyperbackcitefinalseparatorpair{ and~} +\def\hyperbackcitefinalseparatorlist{, and~} +\def\hyper@backcite#1{% + \bgroup% + \let\hyper@last@cite\relax% + \count11=0\relax% + \expandafter\hyper@back@cnt#1\relax% + \let\hyper@last@cite\relax% + \expandafter\ifnum\count11>0\relax% + \if@hyper@back@pages@% + \expandafter\ifnum\count11>1\relax% + \hyperbackcitepages% + \else% + \hyperbackcitepage% + \fi% + \else% + \expandafter\ifnum\count11>1\relax% + \hyperbackcitesection% + \else% + \hyperbackcitesections% + \fi% + \fi% + \ifnum\count11>2\relax% + \let\hyper@back@final@connection% + \hyperbackcitefinalseparatorlist% + \else% + \let\hyper@back@final@connection% + \hyperbackcitefinalseparatorpair% + \fi% + \expandafter\hyper@@backcite#1\relax.% + \fi% + \egroup% +} +\def\hyper@back@cnt{\@ifnextchar({\hyper@@back@cnt}{\@gobble}} +\def\hyper@@back@cnt(#1,#2,#3){% + \if@hyper@back@pages@% + \edef\hyper@tempa{#3}% + \ifx\hyper@last@cite\hyper@tempa\relax\else% + \advance\count11by1\relax% + \edef\hyper@last@cite{#3}% + \fi% + \else% + \edef\hyper@tempa{#2}% + \ifx\hyper@tempa\@empty% + \else\ifx\hyper@last@cite\hyper@tempa\relax\else% + \advance\count11by1\relax% + \edef\hyper@last@cite{#2}% + \fi\fi% + \fi% + \hyper@back@cnt% +} +\def\hyper@@backcite{\@ifnextchar({\hyper@@@backcite}{}} +\def\hyper@@@backcite(#1,#2,#3){% + \if@hyper@back@pages@% + \edef\hyper@tempa{#3}% + \ifx\hyper@tempa\@empty\relax% + \else\ifx\hyper@last@cite\hyper@tempa\relax\else% + \advance\count11by-1\relax% + \ifx\hyper@last@cite\relax\else% + \ifnum\count11=0\relax% + \hyper@back@final@connection% + \else% + \hyperbackcitenormalseparator% + \fi% + \fi% + \hyperpagereference{#3}{#3}% + \edef\hyper@last@cite{#3}% + \fi\fi% + \else% + \edef\hyper@tempa{#2}% + \ifx\hyper@tempa\@empty\relax% + \else\ifx\hyper@last@cite\hyper@tempa\relax\else% + \advance\count11by-1\relax% + \ifx\hyper@last@cite\relax\else% + \ifnum\count11=0\relax% + \hyper@back@final@connection% + \else% + \hyperbackcitenormalseparator% + \fi% + \fi% + \hyperreference{#1}{#2}% + \edef\hyper@last@cite{#2}% + \fi\fi% + \fi% + \hyper@@backcite% +} +\def\hyperbackcite@check#1#2#3#4{\hyper@aux{brc}{#1}{#2,#3,#4}} +\let\hyper@back@cite@enddocument\enddocument +\def\enddocument{% + \let\hyperbackcite\hyperbackcite@check% + \let\hyper@@backcite@end\@@end% + \def\@@end{\hyper@check@backcites\hyper@@backcite@end}% + \hyper@back@cite@enddocument% +} +\def\hyper@check@backcites{% + \expandafter\ifx\csname hyper@aux@br\endcsname\relax% + \expandafter\ifx\csname hyper@aux@brc\endcsname\relax% + \else% + \PackageWarningNoLine{backcite}{% + Backcite(s) may have changed.\MessageBreak + Rerun to get back references right% + }% + \fi% + \else\expandafter\ifx\csname hyper@aux@brc\endcsname\relax% + \PackageWarningNoLine{backcite}{% + Backcite(s) may have changed.\MessageBreak + Rerun to get back references right% + }% + \else% + \edef\hyper@tempa{\the\hyper@aux@br} + \edef\hyper@tempb{\the\hyper@aux@brc} + \edef\hyper@tempa{\hyper@tempa} + \edef\hyper@tempb{\hyper@tempb} + \ifx\hyper@tempa\hyper@tempb\else% + \PackageWarningNoLine{backcite}{% + Backcite(s) may have changed.\MessageBreak + Rerun to get back references right% + }% + \fi% + \fi\fi% +} +\newif\if@hyper@back@pages@ +\@hyper@back@pages@true +\DeclareOption{pages}{\@hyper@back@pages@true} +\DeclareOption{sections}{\@hyper@back@pages@false} +\ProcessOptions +\endinput +%% +%% End of file `hxt-bc.sty'. |