From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- info/examples/tip/pm-4.tip | 122 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 info/examples/tip/pm-4.tip (limited to 'info/examples/tip/pm-4.tip') diff --git a/info/examples/tip/pm-4.tip b/info/examples/tip/pm-4.tip new file mode 100644 index 0000000000..86721bf4f7 --- /dev/null +++ b/info/examples/tip/pm-4.tip @@ -0,0 +1,122 @@ +% 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.7.5, p. III-555. +% Original source in file "pp1.TEX", starting line 1123. +\wlog{L: "pm-4.tip" ["pp1.TEX," l. 1123, p. III-555]}% +% This file DOES NOT belong to format "texip." +\InputD{robust.tip} +\InputD{input-at.tip} +\InputD{mspaces.tip} +\catcode`\@ = 11 +\let\@ex = \expandafter +\def\WriteToAuxSpecial #1#2#3#4#5{% + {% + \@MakeRobustMacros + \edef\@WriteTemp{% + \string\@ForSpecialFile{#1}{#2}{#3}% + }% + \@ex\@ex\@ex\@p@write\@ex{\@WriteTemp}% + \edef\@WriteTemp{\EightSpaces{#4}}% + \@ex\@ex\@ex\@p@write\@ex{\@WriteTemp}% + \@p@write{\EightSpaces{#5}}% + }% +} +\def\TableOfContents #1{% + \@TableOrListOfSomething{\TocFileNameExtension}{#1}% +} +\def\ListOfFigures #1{% + \@TableOrListOfSomething{\LofFileNameExtension}{#1}% +} +\def\ListOfTables #1{% + \@TableOrListOfSomething{\LotFileNameExtension}{#1}% +} +\def\@TableOrListOfSomething #1#2{% + \wlog{\string\@TableOrListOfSomething (#1: "#2")}% + \def\@SomethingFileList{}% + \if\EmptyStringConditional{#2}% + \wlog{\EightSpaces (whole document)}% + \edef\@SpecialFileBaseName{\jobname}% + \i@write\@TmpFileStream{% + \string\@BuildSpecialFile + {#1}% + {\@SpecialFileBaseName.#1}% + }% + {% + \def\\##1{% + \i@write\@TmpFileStream + {\string\InputC{##1.\AuxFileNameExtension}}}% + \@AllPartsOfDocumentList + }% + \else + \wlog{\EightSpaces (some parts only)}% + \edef\@SpecialFileBaseName{\CurrentPartName}% + \i@write\@TmpFileStream{% + \noexpand\@BuildSpecialFile + {#1}% + {\@SpecialFileBaseName.#1}% + } + \ConvertArgsToListAndAppend{\@SomethingFileList}{#2}% + {% + \def\\##1{% + \i@write\@TmpFileStream + {\string\InputC{##1.\AuxFileNameExtension}}% + \if\MemberOfListConditional + {\@AllPartsOfDocumentList}{##1}% + \else + \wlog{\string\@TableOrListOfSomething: + WARNING: part "##1" does NOT + belong to this document!}% + \fi + }% + \@SomethingFileList + }% + \fi + \i@write\@TmpFileStream{\string\@EndBuildSpecialFile}% + \InputCWithAt{\@SpecialFileBaseName.#1}% +} +\def\@BuildNewSpecialFiles{% + \wlog{\string\@BuildNewSpecialFiles: started.}% + \InputAt{\jobname.\TmpFileNameExtension}% + \wlog{\string\@BuildNewSpecialFiles: done.}% +} +\def\@BuildSpecialFile #1#2{% + \begingroup + \@MakeRobustMacros + \wlog{\string\@BuildSpecialFile: working on "#2".}% + \@IgnoreAuxStuff + \let\@ForSpecialFile = \@ForSpecialFileSave + \def\@ForSpecialFileExtension{#1}% + \OpenGenericOStream{#2}% +} +\def\@ForSpecialFileSave #1#2#3#4#5{% + \if\StringsEqualConditional{#1}{\@ForSpecialFileExtension}% + \i@write\GenericOStream{% + \string\EntryInto#1% + {#2}{#3}% + }% + \i@write\GenericOStream{% + \EightSpaces{#4}% + }% + \i@write\GenericOStream{% + \EightSpaces{#5}% + }% + \fi +}% +\def\@EndBuildSpecialFile{% + \CloseGenericOStream + \wlog{\string\@EndBuildSpecialFile: closed file}% + \endgroup +} +\catcode`\@ = 12 -- cgit v1.2.3