summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/hyper/hxt-bc.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/hyper/hxt-bc.sty')
-rw-r--r--Master/texmf-dist/tex/latex/hyper/hxt-bc.sty310
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'.