summaryrefslogtreecommitdiff
path: root/support/hypertex/tanmoy/lhyper.old.tex
diff options
context:
space:
mode:
Diffstat (limited to 'support/hypertex/tanmoy/lhyper.old.tex')
-rw-r--r--support/hypertex/tanmoy/lhyper.old.tex257
1 files changed, 257 insertions, 0 deletions
diff --git a/support/hypertex/tanmoy/lhyper.old.tex b/support/hypertex/tanmoy/lhyper.old.tex
new file mode 100644
index 0000000000..5341b47c67
--- /dev/null
+++ b/support/hypertex/tanmoy/lhyper.old.tex
@@ -0,0 +1,257 @@
+\input hyperbasics
+
+\expandafter\edef\csname hypers@fe\endcsname{\catcode
+ `\noexpand@=\the\catcode`\@}%
+\catcode`\@=11
+{\setbox0=\hbox{
+\errhelp{lhyper needs a higher revision of hyperbasics.}
+\ifx\hyperv@rsion\hyper@ndefined
+ \errmessage{Need at least version 1 of hyperbasics. You have %
+ version 0}%
+ \egroup\egroup\expandafter\stop
+\else
+ \ifnum2>\hyperv@rsion
+ \errmessage{Need at least version 1 of hyperbasics. You have %
+ version \hyperv@rsion}%
+ \egroup\egroup\expandafter\expandafter\expandafter\stop
+ \fi
+\fi}}
+
+\let\hypernoname=\relax
+% Change all places where \@currentlabel is being set.
+% Tempoarily, put a \hyperdef at precisely those points.
+\def\refstepcounter#1{\stepcounter{#1}\let\@tempa\protect
+\def\protect{\noexpand\protect\noexpand}%
+\hyperdef\hypernoname{#1}{\csname the#1\endcsname}{}%
+\edef\@currentlabel{\hyper@\hyperpr@ref\hypernoname%
+ {\csname p@#1\endcsname\csname the#1\endcsname}}%
+\let\protect\@tempa}%
+
+% Equations are special too
+\def\equation{$$% $$ BRACE MATCHING HACK
+\let\hyper@n@=\hyperdef
+\let\hyperdef=\hyper@nique\refstepcounter{equation}%
+\let\hyperdef=\hyper@n@\let\hyper@qn@=\theequation
+\def\theequation{\hyperdef\hypernoname{equation}{\hyper@qn@}{\hyper@qn@}}%
+}
+
+
+\def\eqnarray{\stepcounter{equation}%
+\global\@eqnswtrue\m@th
+\global\@eqcnt\z@\tabskip\@centering\let\\\@eqncr
+\let\hyper@qn@=\theequation
+\hyper@nique\hypernoname{equation}{\hyper@qn@}{}%
+\edef\@currentlabel{%
+\hyper@\hyperpr@ref\hypernoname{\theequation}}%
+$$%
+\def\theequation{\hyperdef\hypernoname{equation}{\hyper@qn@}{\hyper@qn@}}%
+\edef\@currentlabel{%
+\hyper@\hyperpr@ref\noexpand\hypernoname{\noexpand\hyper@qn@}}%
+\halign to\displaywidth\bgroup\@eqnsel\hskip\@centering
+ $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne
+ \hskip 2\arraycolsep \hfil${##}$\hfil
+ &\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle\tabskip\z@{##}$\hfil
+ \tabskip\@centering&\llap{##}\tabskip\z@\cr}
+
+% footnotes are special. We simply redefine all occurances of \@thefnmark.
+
+\def\footnote{\@ifnextchar[{\@xfootnote}{\stepcounter{\@mpfn}%
+ \hyper@nique\hypernoname{footnote}{\thempfn}{}%
+ \begingroup\let\protect\noexpand
+ \xdef\@thefnmark{\hyper@\hyperpr@ref\hypernoname
+ {\thempfn}}\endgroup
+ \@footnotemark\@footnotetext}}
+
+\def\@xfootnote[#1]{
+ \hyper@nique\hypernoname{footnote}{\thempfn}{}%
+ \begingroup \csname c@\@mpfn\endcsname #1\relax
+ \let\protect\noexpand
+ \xdef\@thefnmark{\hyper@\hyperpr@ref\hypernoname
+ {\thempfn}}\endgroup
+ \@footnotemark\@footnotetext}
+
+\def\footnotemark{\@ifnextchar[{\@xfootnotemark}{\stepcounter{footnote}%
+ \hyper@nique\hypernoname{footnote}{\thefootnote}{}%
+ \begingroup\let\protect\noexpand
+ \xdef\@thefnmark{\hyper@\hyperpr@ref\hypernoname
+ {\thefootnote}}\endgroup
+ \@footnotemark}}
+
+\def\@xfootnotemark[#1]{\begingroup \c@footnote #1\relax
+ \hyper@nique\hypernoname{footnote}{\thefootnote}{}%
+ \let\protect\noexpand
+ \xdef\@thefnmark{\hyper@\hyperpr@ref\hypernoname
+ {\thefootnote}}\endgroup \@footnotemark}
+
+\def\footnotetext{\@ifnextchar [{\@xfootnotenext}%
+ {\begingroup\let\protect\noexpand
+ \hyper@nique\hypernoname{footnote}{\thempfn}{}%
+ \xdef\@thefnmark{\hyper@\hyperpr@ref\hypernoname
+ {\thempfn}}\endgroup
+ \@footnotetext}}
+
+\def\@xfootnotenext[#1]{\begingroup \csname c@\@mpfn\endcsname #1\relax
+ \let\protect\noexpand
+ \hyper@nique\hypernoname{footnote}{\thempfn}{}%
+ \xdef\@thefnmark{\hyper@\hyperpr@ref\hypernoname
+ {\thempfn}}\endgroup \@footnotetext}
+
+
+% The footnote has to be defined when insertion being generated.
+\def\hyper@eat#1\hyperpr@ref#2#3#4#5{#5}%
+\long\def\@footnotetext#1{\insert\footins{\reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}%
+ {\edef\@thefnmark{\expandafter\hyper@eat\@thefnmark}%
+ \edef\@thefnmark{\noexpand\hyperdef\noexpand\hypernoname{footnote}%
+ {\@thefnmark}{\@thefnmark}}%
+ \@makefntext
+ {\rule{\z@}{\footnotesep}\ignorespaces
+ #1\strut}}}}
+
+% Similarly references are special
+\def\@lbibitem[#1]#2{\item[\hyperdef\hypernoname{reference}{#1}%
+ {\@biblabel{#1}}\hfill]\if@filesw
+ {\def\protect##1{\string ##1\space}\immediate
+ \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
+
+\def\@bibitem#1{\@noitemargtrue\@item
+ [\hyperdef\hypernoname{reference}{\the\value{\@listctr}}%
+ {\the\value{\@listctr}}]\if@filesw \immediate\write\@auxout
+ {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces}
+
+\def\bibcite#1#2{\expandafter\xdef\csname b@#1\endcsname{\hyper@\hyperpr@ref
+ {}{reference}{#2}{#2}}%
+ \expandafter\gdef\csname hyperb@#1\endcsname{#2}}
+
+
+%
+% Sectioning macros
+%
+\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
+ \let\@svsec\@empty\else
+ \let\hyper@n@=\hyperdef
+ \let\hyperdef=\hyper@nique
+ \refstepcounter{#1}%
+ \let\hyperdef=\relax\let\hypernoname=\relax
+ \edef\@svsec{\hyperdef\hypernoname{#1}%
+ {\csname the#1\endcsname}{\csname the#1\endcsname\hskip 1em}}%
+ \let\hyperdef=\hyper@n@\fi
+ \@tempskipa #5\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup #6\relax
+ \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}%
+ \endgroup
+ \csname #1mark\endcsname{#7}\addcontentsline
+ {toc}{#1}{\ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\hyper@\hyperpr@ref\hypernoname
+ {\hbox{\hskip1pt\relax\csname the#1\endcsname}%
+ }\hskip-1pt\relax}\fi
+ #7}\else
+ \def\@svsechd{#6\hskip #3\relax %% \relax added 2 May 90
+ \@svsec #8\csname #1mark\endcsname
+ {#7}\addcontentsline
+ {toc}{#1}{\ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\hyper@\hyperpr@ref\hypernoname
+ {\hbox{\hskip1pt\relax\csname the#1\endcsname}%
+ }\hskip-1pt\relax}\fi
+ #7}}\fi
+ \@xsect{#5}}
+
+%
+% Captions
+%
+\def\caption{\let\hyper@n@=\hyperdef
+ \let\hyperdef=\hyper@nique
+ \refstepcounter\@captype
+ \let\hyperdef=\hyper@n@
+ \@dblarg{\@caption\@captype}}
+\long\def\@caption#1[#2]#3{\par\begingroup
+ \@parboxrestore
+ \normalsize
+ \@makecaption{\hyperdef\hypernoname{#1}{\csname the#1\endcsname}%
+ {\csname fnum@#1\endcsname}}{\ignorespaces #3}\par
+ \addcontentsline{\csname
+ ext@#1\endcsname}{#1}{\protect\numberline{\csname
+ the#1\endcsname}{\ignorespaces #2}}%
+ \endgroup}
+
+%
+% toc
+%
+\def\@outputpage{\begingroup\catcode`\ =10
+ \let\-\@dischyph \let\'\@acci \let\`\@accii \let\=\@acciii
+ \if@specialpage
+ \global\@specialpagefalse\@nameuse{ps@\@specialstyle}\fi
+ \if@twoside
+ \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
+ \let\@themargin\oddsidemargin
+ \else \let\@thehead\@evenhead
+ \let\@thefoot\@evenfoot \let\@themargin\evensidemargin
+ \fi\fi
+ \shipout
+ \vbox{\reset@font %% RmS 91/08/15
+ {\let\hyperdef\relax\let\hyperref\relax\let\hypernoname\relax\setbox0=\hbox{\@thefoot}%
+ \global\ifnum\wd0=0\let\hyper@mpty=\hss\else\let\hyper@mpty=\relax
+ \fi}%
+ \normalsize \baselineskip\z@ \lineskip\z@
+ \let\par\@@par %% 15 Sep 87
+ \vskip \topmargin \moveright\@themargin
+ \vbox{\setbox\@tempboxa
+ \vbox to\headheight{\vfil \hbox to\textwidth
+ {\let\label\@gobble \let\index\@gobble
+ \let\glossary\@gobble %% 21 Jun 91
+ \@thehead}}% %% 22 Feb 87
+ \dp\@tempboxa\z@
+ \box\@tempboxa
+ \vskip \headsep
+ \box\@outputbox
+ \baselineskip\footskip
+ \hbox to\textwidth{\let\label\@gobble
+ \let\index\@gobble %% 22 Feb 87
+ \let\glossary\@gobble %% 21 Jun 91
+ \hyperdef\hypernoname{page}{\thepage}%
+ {\hyper@mpty\@thefoot}%
+ }}}\global\@colht\textheight
+ \endgroup\stepcounter{page}\let\firstmark\botmark}
+
+
+\edef\contentsline#1#2#3{\noexpand\hyper@nique\noexpand\hypernoname
+ {page}{#3}{}%
+ \noexpand\csname l@#1\noexpand\endcsname{#2}%
+ {\hyper@\hyperpr@ref\noexpand\hypernoname{#3}}}
+
+% Some style files change this setup. After loading a style file check if
+% the corresponding .hty file exists. Load it in that case.
+\newread\hyper@inputcheck
+\def\hyper@nput #1.sty{\input #1.sty\relax
+ \immediate\openin\hyper@inputcheck #1.hty\relax
+ \ifeof\hyper@inputcheck\relax
+ \immediate\closein\hyper@inputcheck\relax
+ \else\immediate\closein\hyper@inputcheck\relax
+ \input #1.hty\relax
+ \fi}%
+\def\@documentstyle[#1]#2{\makeatletter
+ \def\@optionlist{#1}\gdef\@optionfiles{}\hyper@nput #2.sty\relax
+ \let\@elt\hyper@nput \@optionfiles \let\@elt\relax \makeatother}
+
+\def\hyper@pen#1{\immediate\openin\hyper@inputcheck #1.hty\relax
+ \ifeof\hyper@inputcheck\relax
+ \immediate\closein\hyper@inputcheck\relax
+ \else\immediate\closein\hyper@inputcheck\relax
+ \input #1.hty\relax
+ \fi}
+
+\def\enddocument{\@checkend{document}\clearpage\begingroup
+\if@filesw \immediate\closeout\@mainaux
+\def\global\@namedef##1##2{}\def\newlabel{\@testdef r}%
+\def\bibcite{\@testdef {hyperb}}\@tempswafalse \makeatletter\input \jobname.aux
+\if@tempswa \@@warning{Label(s) may have changed. Rerun to get
+cross-references right}\fi\fi\endgroup\deadcycles\z@\@@end}
+
+\hypers@fe
+\endinput
+% Leave this line in the file