summaryrefslogtreecommitdiff
path: root/info/examples/tex-in-practice/part-cr.tip
diff options
context:
space:
mode:
Diffstat (limited to 'info/examples/tex-in-practice/part-cr.tip')
-rw-r--r--info/examples/tex-in-practice/part-cr.tip94
1 files changed, 94 insertions, 0 deletions
diff --git a/info/examples/tex-in-practice/part-cr.tip b/info/examples/tex-in-practice/part-cr.tip
new file mode 100644
index 0000000000..0627218539
--- /dev/null
+++ b/info/examples/tex-in-practice/part-cr.tip
@@ -0,0 +1,94 @@
+% This macro source file is from the four volume series
+% "TeX in Practice" by Stephan von Bechtolsheim, published
+% 1993 by Springer-Verlag, New York.
+% Copyright 1993 Stephan von Bechtolsheim.
+% No warranty or liability is assumed.
+% This macro may be copied freely if no fees other than
+% media cost or shipping charges are charged and as long
+% as this copyright and the following source code itself
+% is not changed. Please see the series for further information.
+%
+% Version: 1.0
+% Date: May 1, 1993
+%
+%
+% This source code is documented in 30.8.1, p. III-564.
+% Original source in file "pp1.TEX", starting line 1572.
+\wlog{L: "part-cr.tip" ["pp1.TEX," l. 1572, p. III-564]}%
+% This file DOES belong to format "texip."
+\InputD{gobble.tip}
+\InputD{pickfs.tip}
+\InputD{namedef.tip}
+\InputD{defauarg.tip}
+\InputD{compst.tip}
+\InputD{isprefix.tip}
+\InputD{droppre.tip}
+\catcode`\@ = 11
+\newif\if@LabelsOk
+\def\@LabelRefPrefix{@REF-}
+\def\@LabelIsDefined #1{%
+ TT\fi
+ \if\NameDefinedConditional{\@LabelRefPrefix#1}%
+}
+\def\@NewLabel #1#2#3{%
+ \if\@LabelIsDefined{#1}%
+ \wlog{\string\@NewLabel: warning: label "#1"
+ already defined.}%
+ \fi
+ \NameGdef{\@LabelRefPrefix #1}{{#2}{#3}}%
+}
+\let\Saved@NewLabel = \@NewLabel
+\def\Ref #1{%
+ \@ref{0}{#1}%
+ \if\StringsEqualConditional{\@TheExpandedLabel}{??}%
+ {??}%
+ \else
+ \@TheExpandedLabel
+ \fi
+ \@PrintAfterLabel
+}
+\def\PageRef #1{%
+ \@ref{1}{#1}%
+ \if\StringsEqualConditional{\@TheExpandedLabel}{??}%
+ {??}%
+ \else
+ \@TheExpandedLabel
+ \fi
+ \@PrintAfterLabel
+}
+\def\@MostRecentLabel{}
+\def\@ref #1#2{%
+ \xdef\@PrintAfterLabel{}%
+ \DefaultArg{\@ThisLabel}{#2}{\@MostRecentLabel}%
+ \if\StringsEqualConditional{\@ThisLabel}{.}%
+ \xdef\@ThisLabel{\@MostRecentLabel}%
+ \xdef\@PrintAfterLabel{.}%
+ \fi
+ \if\StringsEqualConditional{\@ThisLabel}{,}%
+ \xdef\@ThisLabel{\@MostRecentLabel}%
+ \xdef\@PrintAfterLabel{,}%
+ \fi
+ \if\StringsEqualConditional{\@ThisLabel}{)}%
+ \xdef\@ThisLabel{\@MostRecentLabel}%
+ \xdef\@PrintAfterLabel{)}%
+ \fi
+ \if\StringsEqualConditional{\@ThisLabel}{;}%
+ \xdef\@ThisLabel{\@MostRecentLabel}%
+ \xdef\@PrintAfterLabel{;}%
+ \fi
+ \xdef\@MostRecentLabel{\@ThisLabel}%
+ \if\@LabelIsDefined{\@ThisLabel}%
+ \edef\@CrefTemp{\NameUse{\@LabelRefPrefix\@ThisLabel}}%
+ \ifcase #1\relax
+ \edef\@TheExpandedLabel{%
+ \expandafter\PickFirstOfTwo\@CrefTemp}%
+ \or
+ \edef\@TheExpandedLabel{%
+ \expandafter\PickSecondOfTwo\@CrefTemp}%
+ \fi
+ \else
+ \def\@TheExpandedLabel{??}
+ \wlog{\string\@ref: Label \@ThisLabel\space undefined.}%
+ \fi
+}
+\catcode`\@ = 12