%% %% This is file `cweb.hyp', %% generated with the docstrip utility. %% %% The original source files were: %% %% hyper.dtx (with options: `cweb') %% %% File: hyper.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{V4.2d} \def\filedate{1999/03/09} \def\docdate{1999/03/09} %% %% \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 \~} %% \InputIfFileExists{\CwebBaseClass.hyp}{}% {\PackageError{hyper}{\CwebBaseClass.hyp not found.\MessageBreak Please choose another base document class for cweb\MessageBreak or redefine \string\CwebBaseClass to point to a\MessageBreak modification document class for the base document class }{}% }% \RequirePackage{defpattern} \chardef\hyper@CatUsCode=\catcode`\_ \catcode`\_=\CatLetter \let\hyper@cweb@refstepcounter=\hyper@refstepcounter \def\refstepcounter#1{% \def\@tempa{#1}% \ifx \@tempa\cweb@string@chunk% \protected@edef\@currenthyper{cweb.\cweb@refchunk}% \hyper@settype{chunk}% \protected@edef\@currentlabel{\cweb@refchunk}% \else% \hyper@setcurrent% \hyper@settype{chunk}% \hyper@cweb@refstepcounter{#1}% \fi% } \let\hyper@CwebRefName\CwebRefName \def\CwebRefName#1:#2\X{% \ifmmode \gdef\cwbb@toggle_text{\null$\null}% \else \let\cwbb@toggle_text\relax% \fi% \cwbb@toggle_text% \expandafter\ifx\csname hyper@cweb.#1\endcsname\relax% \expandafter\ifx\csname hyper@new@cweb.#1\endcsname\relax% \PackageWarning{hyper}% {Hyper reference for `cweb.#1' on page \hyper@thepage\space undefined}% \hyper@change1\relax% \hyper@undef@color{% $\langle\,${\cwbb@tex \cwbb@check_dot{#2}\CwebRefNumber{#1}}$\,\rangle$% }% \else% \hyperreference{cweb.#1}{% $\langle\,${\cwbb@tex \cwbb@check_dot{#2}\CwebRefNumber{#1}}$\,\rangle$% }% \fi% \else% \hyperreference{cweb.#1}{% $\langle\,${\cwbb@tex \cwbb@check_dot{#2}\CwebRefNumber{#1}}$\,\rangle$% }% \fi% \cwbb@toggle_text% } \ifcase \cweb@structure %% hierarchic \let\hyper@cwbb@marginal_chunkno\cwbb@marginal_chunkno% \def\cwbb@marginal_chunkno{% \let\hyper@thechunk\thechunk% \def\thechunk{\hyperanchor{cweb.\arabic{chunk}}{\hyper@thechunk}}% \hyper@cwbb@marginal_chunkno% \let\thechunk\hyper@thechunk% } \or %% flat \let\hyper@M\M% \def\M#1{% \let\hyper@thechunk\thechunk% \def\thechunk{\hyperanchor{cweb.\arabic{chunk}}{\hyper@thechunk}}% \hyper@M{#1}% \let\thechunk\hyper@thechunk% } \fi \let\hyper@CwebCREt\CwebCREt \let\hyper@CwebCRsEt\CwebCRsEt \def\CwebCREt{!} \def\CwebCRsEt{?} \defpattern\hyper@split@CwebCrossRef[#2]{\hyperreference{cweb.#2}{#2}} \defpattern\hyper@split@CwebCrossRef[ #2]{\hyper@split@CwebCrossRef[#2]} \defpattern\hyper@split@CwebCrossRef[#2,#3]{% \hyper@split@CwebCrossRef[#2], % \hyper@split@CwebCrossRef[#3]% } \defpattern\hyper@split@CwebCrossRef[#2!#3]{% \hyper@split@CwebCrossRef[#2]\hyper@CwebCREt% \hyper@split@CwebCrossRef[#3]% } \defpattern\hyper@split@CwebCrossRef[#2?#3]{% \hyper@split@CwebCrossRef[#2]\hyper@CwebCRsEt% \hyper@split@CwebCrossRef[#3]% } \def\hypersplit@CwebCrossRef[#1]{% \edef\hyper@tmp{#1}% \expandafter\hyper@split@CwebCrossRef\expandafter[\hyper@tmp]% } \let\hyper@CwebCrossRef\CwebCrossRef \def\CwebCrossRef#1#2.{% \hyper@CwebCrossRef{#1}{\hypersplit@CwebCrossRef[#2]}.% } \let\hyper@CwebRefList\CwebRefList \def\hyper@CwebRefName@RefList#1:#2\X{% \hyper@CwebRefName\hypersplit@CwebCrossRef[#1]:#2\X% } \def\CwebRefList{% \let\hyper@CwebReadPPList\CwebReadPPList% \let\CwebReadPPList\relax% \hyper@CwebRefList% \let\X\hyper@CwebRefName@RefList \def\CwebCrossRef##1##2.{% \quad {\reset@font\footnotesize ##1~\hypersplit@CwebCrossRef[##2].}% }% \let\CwebReadPPList\hyper@CwebReadPPList% \CwebReadPPList% } \let\hyper@CwebIndexEntry\CwebIndexEntry \let\hyper@CwebIndexDeclared\CwebIndexDeclared \def\CwebIndexDeclared#1]{|#1|} \defpattern\hyper@cwebindex[#2]{\hyperreference{cweb.#2}{#2}} \defpattern\hyper@cwebindex[|#2|]{% \hyperreference{cweb.#2}{\hyper@CwebIndexDeclared#2]}% } \defpattern\hyper@cwebindex[#2, #3]{% \hyper@cwebindex[#2], \hyper@cwebindex[#3]% } \def\hyper@cweb@index#1{% \edef\hyper@tmp{#1}% \expandafter\hyper@cwebindex\expandafter[\hyper@tmp]% } \def\CwebIndexEntry#1, #2.{% \hyper@CwebIndexEntry#1, \hyper@cweb@index{#2}.% } \catcode`\_=\hyper@CatUsCode \endinput %% %% End of file `cweb.hyp'.