summaryrefslogtreecommitdiff
path: root/info/examples/tex-in-practice/isprefix.tip
diff options
context:
space:
mode:
Diffstat (limited to 'info/examples/tex-in-practice/isprefix.tip')
-rw-r--r--info/examples/tex-in-practice/isprefix.tip55
1 files changed, 55 insertions, 0 deletions
diff --git a/info/examples/tex-in-practice/isprefix.tip b/info/examples/tex-in-practice/isprefix.tip
new file mode 100644
index 0000000000..9bdefdce10
--- /dev/null
+++ b/info/examples/tex-in-practice/isprefix.tip
@@ -0,0 +1,55 @@
+% 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 24.1.18.1, p. III-302.
+% Original source in file "macros4.TEX", starting line 1096.
+\wlog{L: "isprefix.tip" ["macros4.TEX," l. 1096, p. III-302]}%
+% This file DOES belong to format "texip."
+\InputD{compst.tip}
+\InputD{strleng.tip}
+\InputD{showx.tip}
+\catcode`\@ = 11
+\newif\if@PrefixResult
+\newcount\@LengthPrefixString
+\newcount\@LengthMainString
+\def\PrefixConditional #1#2{%
+ TT\fi
+ \StringLength{#1}%
+ \@LengthMainString = \StringLengthResult
+ \StringLength{#2}%
+ \@LengthPrefixString = \StringLengthResult
+ \ifnum\@LengthMainString < \@LengthPrefixString
+ \@PrefixResultfalse
+ \else
+ \@PrefixConditionalTwo{#1}{#2}%
+ \fi
+ \if@PrefixResult
+}
+\def\@PrefixConditionalTwo #1#2{%
+ \edef\@PrefixBoth{#1#2}%
+ \edef\@PrefixTemp{%
+ \def\noexpand\@TestPrefix ####1#2####2\noexpand\@Del{%
+ \noexpand\if\noexpand\EmptyStringConditional{####1}%
+ }%
+ }%
+ \ShowX\@PrefixTemp
+ \@PrefixTemp
+ \ShowX{\@TestPrefix}%
+ \expandafter\@TestPrefix\@PrefixBoth\@Del
+ \@PrefixResulttrue
+ \else
+ \@PrefixResultfalse
+ \fi
+}
+\catcode`\@ = 12