From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/blu/address.dat | 234 +++ macros/blu/blue.tex | 4225 ++++++++++++++++++++++++++++++++++++++++++++++++ macros/blu/fmt.dat | 1418 ++++++++++++++++ macros/blu/lit.dat | 2375 +++++++++++++++++++++++++++ macros/blu/pic.dat | 1358 ++++++++++++++++ macros/blu/readme.fst | 120 ++ macros/blu/tools.dat | 2082 ++++++++++++++++++++++++ 7 files changed, 11812 insertions(+) create mode 100644 macros/blu/address.dat create mode 100644 macros/blu/blue.tex create mode 100644 macros/blu/fmt.dat create mode 100644 macros/blu/lit.dat create mode 100644 macros/blu/pic.dat create mode 100644 macros/blu/readme.fst create mode 100644 macros/blu/tools.dat (limited to 'macros/blu') diff --git a/macros/blu/address.dat b/macros/blu/address.dat new file mode 100644 index 0000000000..b052997064 --- /dev/null +++ b/macros/blu/address.dat @@ -0,0 +1,234 @@ +%Address database, cgl@rc.service.rug.nl +%Setup Januari 1995 +%Conventions +%\def\{% +%Name of person or organization +%\\Affiliation +%\email{...} +%\phone{...} +%\fax{...} +%\private{} +%} +%The \email, \phone and \fax are extra, +%when defined as gobble they won't hinder. +\lst\adamskim{Marcin +\\Marcin M Adamski +\\Centrum Banacha pok. 3 +\\Ul. Mokotowska 25 +\\00-950 Warszawa +\\POLAND +\phone{} +\email{adamski@impan.impan.gov.pl} +\registeredbluetrue%\no{-1} +} +\lst\bollandj{Julita +\\Julita Bolland +\\Ul. Kaspyska 2m.2 +\\02-760 Warszawa +\\POLAND +\phone{0 48 (0)22 421767} +\email{julitab@plearn.edu.pl} +\registeredbluetrue%\no{-1} +} +\lst\bzylw{W{\l}odek +\\W Bzyl +\\Borowikowa 27m.4 +\\81080 Gdynia +\\POLAND +\phone{0 23 (0)85 84} +\email{matwb@halina.univ.gda.pl} +} +\lst\coninckl{Luc +\\L de Coninck +\\De Kraal +\\Zeedijk 101 +\\8400 Ostende +\\BELGIUM +\phone{059 506139} +\email{ldc@kihwv.be} +\registeredbluetrue\no{1} +} +\lst\creiderc{Chet +\\C Creider +\\Canada +\email{creider@csd.uwo.ca} +%\registeredbluetrue\no{2}%??? +} +\lst\dolw{Wietse +\\W Dol +\\Coebergerstr. 12 +\\5624 AV Eindhoven +\\The Netherlands +\phone{040 467083} +\email{W.Dol@LEI.AGRO.NL} +\registeredbluetrue%\no{-1} +} +\lst\frambachehm{Erik +\\Erik Frambach +\\Boelemaheerd 32 +\\Groningen +\email{e.h.m.frambach@eco.rug.nl} +\phone{050 633785 privat: 050-421826} +\registeredbluetrue%\no{-1} +} +\lst\gorbunovai{Irina +\\Irina and Sergei Gorbunovi +\\Dimitrovski Pr. {\oldstyle8}, KB {\oldstyle93} +\\{\oldstyle125422} Moscow +\\RUSSIA +\phone{095 9768261} +\registeredbluetrue%\no{hon} +} +\lst\grinevaoa{Olienka +\\O.A Grineva +\\Kosigina {\oldstyle11}-{\oldstyle2}, KB {\oldstyle322} +\\{\oldstyle195426} St.\ Peterburg +\\RUSSIA +\phone{00-7-812-5206186} +\registeredbluetrue%\no{-1} +} +\lst\oljagpo{Olja +\\O.A Grineva +\\OS-{\oldstyle426} Post Office Box {\oldstyle153} +\\{\oldstyle195426} St. Peterburg +\\RUSSIA +\registeredbluetrue%\no{-1} +} +\lst\hendricksona{Amy +\\A Hendrickson +\\57 Longwood Avenue +\\Brookline MA 02146 +\\USA +\email{amyh@ai.mit.edu} +\phone{617-738-8029} +\registeredbluetrue%\no{-1} +} +\lst\isf{ISF +\\International Science Foundation +\\Washington +\\USA +\fax{202 342 2765} +} +\lst\jancm{Mirko +\\M Janc +\\Texhnical Typesetting Inc. +\\1510 Caton Center Drive Suite E +\\Baltimore MD 21227 +\\USA +\phone{410 987 1822} +\privat{613 Waterwheel Lane +\\Apt 34 MIllersville +\\MD 21108 +\\USA} +} +\lst\jascowskib{Bogus{\l}aw +\\B Jascowski +\\Ul. Tatrza\'nska 6/1 +\\80331 Gdansk +\\POLAND +\phone{0 48 (0)58 567877} +\registeredbluetrue%\no{-1} +} +\lst\knuthde{Prof.\ Knuth +\\D.E Knuth +\\Department of The Art of Computer Programming +\\Stanford University +\\Stanford CA 94305 +\\USA +\registeredbluetrue%\no{-1} +} +\lst\kolodziejskah{Hanna +\\H Ko{\l}odziejskah +\\Ul. Rembielinska 15m.131 +\\03-352 Warszawa +\\POLAND +\phone{614 08 11} +\email{hkolo@plearn.edu.pl} +\registeredbluetrue%\no{-1} +} +\lst\laancgvander{Kees +\\C.G van der Laan +\\Hunzeweg 57 +\\9893 PB Garnwerd +\\Garnwerd (Gr) +% \\The Netherlands +\phone{31 (0)5941 1525} +\email{cgl@rc.service.rug.nl} +\registeredbluetrue%\no{-100} +} +\lst\makhovayai{Irina +\\I Makhovaya +\\MIR Publishers +\\Pervy Rishsky Pr. 2 +\\129820 Moscow +\\RUSSIA +\email{cyrtug@mir.msk.su} +\phone{286 06 22} +\registeredbluetrue%\no{-1} +} +\lst\nemogak{Karol +\\RNDr Karol Nemoga Csc +\\Obchodno 4 +\\Bratuslava +\\SLOWAKY +\phone{07 3309 224} +\email{nemoga@savba.cs} +} +\lst\nesgjhv{Gerard +\\G J H van Nes +\\Dars 9 +\\1751 PD Schagerbrug +%\\The Netherlands +\phone{02247-1918} %ecn: \phone{02246-4185}, \fax{02246-1864} +\email{vannes@ecn.nl} +\registeredbluetrue%\no{-1} +} +\lst\ntg{NTG +\\Nederlandstalige \TeX{} Gebruikersgroep +\\Postbus 394 +\\1740 AJ Schagen +%\\The Netherlands +\email{ntg@nic.surfnet.nl} +\registeredbluetrue%\no{-1} +} +\lst\ryckom{Marek +\\M Ry\'cko +\\Ul. Anielewicza 23m.68 +\\01-026 Warszawa +\\POLAND +\phone{0 48 (0)22 386258} +\email{marek@camk.edu.pl} +\registeredbluetrue%\no{-1} +} +\lst\salomond{David +\\D Salomon +\\11835 Sapota Dr. +\\Lakeside CA 92040 +\\USA +\email{dxs@ms.secs.csun.edu} +\phone{09 619 443 6528} +\registeredbluetrue%\no{-1} +} +\lst\temme{Nico +\\N.M Temme +\\P. van Wijngaardlaan 18 +\\1391 VD Abcoude +%\\THE NETHERLANDS +\email{nicot@cwi.nl} +\phone{02946 3345} +\registeredbluetrue%\no{-1} +} +\lst\winninkj{Jos +\\Jos Winnink +\\Centraal Plan Bureau +\\Applied Mathematics and Computer Science Department +\\van Stolkweg 14 +\\PO Box 80510 +\\2508GM Den Haag +%\\THE NETHERLANDS +\email{jos.winnink@cpb.nl} +\phone{31) 70 338 3339 privat: 050-421826} +\fax{(31) 70 338 3350} +\registeredbluetrue%\no{-1} +} +\endinput \ No newline at end of file diff --git a/macros/blu/blue.tex b/macros/blu/blue.tex new file mode 100644 index 0000000000..0aa5d33fb8 --- /dev/null +++ b/macros/blu/blue.tex @@ -0,0 +1,4225 @@ +%To prevent double loading +\ifx\beginscript\undefined\else +\message{---not loaded---}\endinput\fi +%The material is shareware and subject +%to the separate note on copyright. +% +%To print the format properly, copy +%the following 11-lines job and +%substitute the semicolon token +%(=escape char) for `semi-col'. (2x) +% ---Kees--- +%\input blue.tex +%\hfuzz10pt +%\title{File: blue.tex} +%\issue{Version 1.0} +%\beginscript +%\thisverbatim={\catcode`\`semicol'=0 +% \catcode`\!=12 +% \catcode`\|=12 +% \input blue.tex} +%\beginverbatim +%`semi-col'endverbatim +%\endscript +% +% +% +%Copyright Notice BLUe's Format system +%------------------------------------- +%The software +% blue.tex +% fmt.dat +% tools.dat +%is shareware available. It is not allowed +%to make any profit on it. A happy user is +%requested to send US$25 to the author, or +%better still according to the Macindex the +%equivalent of 20 breads in US dollars. +%(twenty-five US dollar) +% C.G van der Laan +% Hunzeweg 57 +% 9893 PB Garnwerd +% The Netherlands +% (cgl@rc.service.rug.nl) +%The contributors will be added to my +% register.blu database. +%Russian users are relieved for the moment +%from the shareware request, with respect +%to personal use. +%Auxiliary and personalized files are the +%databases +% address.dat addresses +% lit.dat references +% pic.dat pictures. +% +%The main reason to ask for shareware support +%is to protect myself against too many request, +%and to raise some funds to continue my \TeX{} +%work. +% +%The user's guide `Publishing with \TeX,' and the +%accompanying articles are free for personal use. +% +% March, 1995 +% C.G van der Laan%;newcol +% +% +% +%begin%%%%%%%%%%%%%%%general description% +\message{ ---blue.tex 1.0, Jan 95, cgl--- } +% ;nonum +%This file blue.tex accompanies +%Publishing with TeX by Kees van der Laan +%Available from CTAN: +%-pwt.scr (user's guide, which invokes +% the chapters: pwt.int, -.txt, -.mat +% -.tab, -.grf, -.ref, -.ind, -.cus +% -.aft, -.fmt, -.tls, -.tot, -.his, +% next to the dynamical generated +% answers, examples, contents and index.) +%-blue.tex (macros) +%-fmt.dat, tools.dat, +%-lit.dat, pic.dat, address.dat. +%Author: C.G. van der Laan +% Hunzeweg 57 +% 9893 PB Garnwerd +% The Netherlands +% 31 (0)594 62 1525 +% cgl@rc.service.rug.nl +%Purpose: general independent format. +%It is composed of +%-- abbreviations, from tugboat.cmn +%-- manmac.tex (+customization macros) +%-- ppt.tex, my preprint proposal, from +% TUGboat BLUes +%-- miscellaneous additions +%-- \eqalign family with multi-alignment +% point, from Math into BLUes +%-- icon macros via LaTeX's line fonts +%-- btable.tex, my bordered table macros, +% from Table Diversions +%-- vrb.tex (my verbatim mode suite), from +% BLUe's Verbatim +%-- macros for cross-referencing, from +% BLUe's Cross-Referencing +%-- macros for bibliography handling, from +% BLUe's Bibliography +%-- gkppic.tex a subset of gkpmac.tex for +% LaTeX's picture environment +%-- turtle graphics +%-- trs.tex for overhead transparencies +%-- crs.tex for crosswords via plain +%-- macros for creating an index +% from BLUe's Index +%The problem is to keep the constituent +%collections unaltered. +%For each set a table of contents has +%been added to locate macros. +%The reason for putting it all in one file +%is to handle conflicting items and to +%facilitate fast loading, read make it a +%format. +%Note. In order to process this file +%verbatim the semicolon has been reserved +%as escape character. +%The files have not been ordered alphabe- +%tically, due to the hierarchy. +%end%%%%%%%%%%%%%%%%%general description%;newpage +% +% +% +\catcode`\@=11 +%begin%%%%%%%%%%%%%%%%%%%%%abbreviations% +%;numvrb +%Abbreviations borrowed from tugboat.cmn. +\newcount\TestCount +\def\smc{\tensmc} +\def\SMC{\ninerm} +\font\tensmc=cmcsc10 + +\def\AllTeX{(\La)\TeX} + +\def\AMS{American Mathematical Society} + +\def\AmS{{\the\textfont2 A}\kern-.1667em% + \lower.5ex\hbox{\the\textfont2 M}% + \kern-.125em{\the\textfont2 S}} +\def\AmSTeX{\AmS-\TeX} + \def\AmSLaTeX{\AmS-\LaTeX}%Addition +\def\aw{A\kern.1em-W} +\def\AW{Addison\kern.1em-\penalty\z@ + \hskip\z@skip Wesley} + +\def\BibTeX{{\rm B\kern-.05em{\smc i% + \kern-.025emb}\kern-.08em\TeX}} + +\def\CandT{{\sl Computers \& + Typesetting}} + +\def\DVItoVDU{DVIto\kern-.12em VDU} + +\def\ISBN{{\SMC ISBN} } + +% Japanese TeX +\def\JTeX{\leavevmode\hbox{\lower.5ex% + \hbox{J}\kern-.18em\TeX}} + +\def\JoT{{\sl The Joy of \TeX}} + +\def\LAMSTeX{L\raise.42ex\hbox{\kern + -.3em\the\scriptfont2 A}\kern-.2em% + \lower.376ex\hbox{\the\textfont2 M}% + \kern-.125em{\the\textfont2 S}-\TeX} + \let\LAmsTeX=\LAMSTeX%addition +\def\La{\TestCount=\the\fam \leavevmode + L\raise.42ex\hbox{$\fam\TestCount + \scriptstyle\kern-.3em A$}} +\def\LaTeX{\La\kern-.15em\TeX} + +% for Robert McGaffey +\def\Mc{\setbox\TestBox=\hbox{M}M\vbox + to\ht\TestBox{\hbox{c}\vfil}} + +\font\manual=logo10 +% font used for the METAFONT logo, etc. +\def\MF{{\manual META}\-{\manual FONT}} +\def\MP{{\manual META}\-{\smc post}} +\def\MFB{{\sl The \slMF book}} + +% multilingual (INRS) TeX +\def\mtex{T\kern-.1667em\lower.5ex% + \hbox{\^E}\kern-.125emX} + +\def\pcMF{\leavevmode\raise.5ex\hbox + {p\kern-.3ptc}MF} +\def\PCTeX{PC\thinspace\TeX} +\def\pcTeX{\leavevmode\raise.5ex\hbox + {p\kern-.3ptc}\TeX} + +\def\Pas{Pascal} + +\def\PiC{P\kern-.12em\lower.5ex% + \hbox{I}\kern-.075emC} +\def\PiCTeX{\PiC\kern-.11em\TeX} + +\def\plain{{\tt plain}} + +\def\POBox{P.\thinspace O.\ Box } +\def\POBoxTUG{\POBox\unskip\ 21041, + Santa Barbara, CA93121-1041, USA} + +\def\PS{{Post\-Script}} + +\def\SC{Steering Committee} + +\def\SGML{{\SMC SGML}} + +\def\SliTeX{{\rm S\kern-.06em{\smc + l\kern-.035emi}\kern-.06em\TeX}} + +\def\slMF{\MF} +%Use \font\manualsl=logosl10 instead, +%if it's available, for +%\def\slMF{{\manualsl META}\-{\manualsl +% FONT}} + +% Atari ST (Klaus Guntermann) +\def\stTeX{{\smc st\rm\kern-0.13em\TeX}} + +\def\TANGLE{{\tt TANGLE}} + +\def\TB{{\sl The \TeX book}} +\def\TP{{\sl \TeX\/}: + {\sl The Program\/}} + +\def\TeX{T\hbox{\kern-.1667em% + \lower.424ex\hbox{E}\kern-.125emX}} + +\def\TeXhax{\TeX hax} + +% Don Hosek +\def\TeXMaG{\TeX M\kern-.1667em% + \lower.5ex\hbox{A}\kern-.2267emG} + +\def\TeXtures{{\it Textures}} +\let\Textures=\TeXtures + +\def\TeXXeT{\TeX--X\kern-.125em% + \lower.5ex\hbox{E}\kern-.1667emT} + +\def\ttn{{\sl TTN}} +\def\TTN{{\sl \TeX{} and TUG News}} + +\def\tubfont{\sl} +\def\TUB{{\tubfont TUGboat\/}} + +\def\TUG{\TeX\ \UG} + +\def\UG{Users Group} + +\def\UNIX{{\SMC UNIX}} + +\def\VAX{\leavevmode\hbox{V\kern-.12em% + A\kern-.1em X}} + +\def\VorTeX{V\kern-2.7pt\lower.5ex% + \hbox{O\kern-1.4pt R}\kern-2.6pt\TeX} + +\def\XeT{\leavevmode\hbox{X\kern-.125em% + \lower.424ex\hbox{E}\kern-.1667emT}} + +\def\WEB{{\tt WEB}} +\def\WEAVE{{\tt WEAVE}} +%Additions +\def\maps#1#2{MAPS {\oldstyle#1}.% + {\oldstyle#2}}%;nonum +% +%Although not necessary because of +%alphabetical ordering, I supplied +%also +% +%Table of contents abbreviations TUG +%\AllTeX..........................7 +%\AMS.............................9 +%\AmS, \AmSTeX...................14 +%\aw.............................16 +%\AW.............................17 +%\BibTeX.....................20, 21 +%\CandT......................23, 24 +%\DVItoVDU.......................26 +%\ISBN...........................28 +%\JTeX.......................31, 32 +%\JoT............................34 +%\LAMSTeX....................36--39 +%\La.........................41--43 +%\LaTeX..........................44 +%\maps (added) +%\Mc.........................47--48 +%\MF.............................52 +%\mf.............................53 +%\MFB........................54, 55 +%\mtex.......................57, 58 +%\pcMF.......................60, 61 +%\PCTeX..........................62 +%\pcTeX......................63, 64 +%\Pas............................66 +%\PiCTeX.........................70 +%\plain..........................72 +%\POBox..........................74 +%\POBoxTUG...................75--76 +%\PS.............................78 +%\SC.............................80 +%\SGML...........................82 +%\SliTeX.....................84, 85 +%\slMF......................%90, 91 +%\stTeX..........................94 +%\TANGLE.........................96 +%\TB.............................98 +%\TP.............................99 +%\TeX......................102, 103 +%\TeXhax........................105 +%\TeXMaG...................108, 109 +%\TeXtures......................111 +%\TeXXeT...................114, 115 +%\ttn...........................117 +%\TTN...........................118 +%\TUB...........................121 +%\TUG...........................123 +%\UG............................125 +%\UNIX..........................127 +%\VAX......................129, 130 +%\VorTeX...................132, 133 +%\XeT......................135, 136 +%\WEB...........................138 +%\WEAVE.........................139 +%end%%%%%%%%%%%%%%%%%%%%%%%abbreviations%;newpage +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%manmac% +%;numvrb +%manmac.tex cgl@rc.service.rug.nl +%Knuth's macros for formatting The TeXbook +%and The METAfont book. +% +%\catcode`@=11 +% +\font\tentex=cmtex10 + +\font\inchhigh=cminch +\font\titlefont=cmssdc10 at 40pt + +\font\ninerm=cmr9 +\font\eightrm=cmr8 +\font\sixrm=cmr6 + +\font\ninei=cmmi9 +\font\eighti=cmmi8 +\font\sixi=cmmi6 +\skewchar\ninei='177 +\skewchar\eighti='177 +\skewchar\sixi='177 + +\font\ninesy=cmsy9 +\font\eightsy=cmsy8 +\font\sixsy=cmsy6 +\skewchar\ninesy='60 +\skewchar\eightsy='60 +\skewchar\sixsy='60 + +\font\eightss=cmssq8 + +\font\eightssi=cmssqi8 + +\font\ninebf=cmbx9 +\font\eightbf=cmbx8 +\font\sixbf=cmbx6 + +\font\ninett=cmtt9 +\font\eighttt=cmtt8 + +\hyphenchar\tentt=-1 % inhibit hyphenation + % in typewriter type +\hyphenchar\ninett=-1 +\hyphenchar\eighttt=-1 + +\font\ninesl=cmsl9 +\font\eightsl=cmsl8 + +\font\nineit=cmti9 +\font\eightit=cmti8 + +\font\tenu=cmu10 % unslanted text italic +\font\magnifiedfiverm=cmr5 at 10pt +%Next two not available on my system +%\font\manual=manfnt % font used for the + % METAFONT logo, etc. +%\font\cmman=cmman % font used for +% +%miscellaneous Computer Modern variations +\newskip\ttglue +\def\tenpoint{\def\rm{\fam0\tenrm}% + \textfont0=\tenrm\scriptfont0=\sevenrm + \scriptscriptfont0=\fiverm + \textfont1=\teni \scriptfont1=\seveni + \scriptscriptfont1=\fivei + \textfont2=\tensy\scriptfont2=\sevensy + \scriptscriptfont2=\fivesy + \textfont3=\tenex\scriptfont3=\tenex + \scriptscriptfont3=\tenex + \def\it{\fam\itfam\tenit}\def\oldstyle + {\fam1 \teni}\textfont\itfam=\tenit + \def\sl{\fam\slfam\tensl}% + \textfont\slfam=\tensl + \def\bf{\fam\bffam\tenbf}% + \textfont\bffam=\tenbf + \scriptfont\bffam=\sevenbf + \scriptscriptfont\bffam=\fivebf + \def\tt{\fam\ttfam\tentt}% + \textfont\ttfam=\tentt + \tt \ttglue=.5em plus.25em minus.15em + \normalbaselineskip=12pt plus1pt minus1pt + \def\MF{{\manual META}\-{\manual FONT}}% + \let\sc=\eightrm + \let\big=\tenbig + \setbox\strutbox=\hbox{\vrule + height8.5pt depth3.5pt width\z@}% + \normalbaselines\rm} + +\def\ninepoint{\def\rm{\fam0\ninerm}% + \textfont0=\ninerm\scriptfont0=\sixrm + \scriptscriptfont0=\fiverm + \textfont1=\ninei\scriptfont1=\sixi + \scriptscriptfont1=\fivei + \textfont2=\ninesy\scriptfont2=\sixsy + \scriptscriptfont2=\fivesy + \textfont3=\tenex\scriptfont3=\tenex + \scriptscriptfont3=\tenex + \def\it{\fam\itfam\nineit}\def\oldstyle + {\fam1 \ninei}\textfont\itfam=\nineit + \def\sl{\fam\slfam\ninesl}% + \textfont\slfam=\ninesl + \def\bf{\fam\bffam\ninebf}% + \textfont\bffam=\ninebf + \scriptfont\bffam=\sixbf + \scriptscriptfont\bffam=\fivebf + \def\tt{\fam\ttfam\ninett}% + \textfont\ttfam=\ninett + \tt \ttglue=.5em plus.25em minus.15em + \normalbaselineskip=11pt plus1pt minus1pt + \def\MF{{\manual hijk}\-{\manual lmnj}}% + \let\sc=\sevenrm + \let\big=\ninebig + \setbox\strutbox=\hbox{\vrule height8pt + depth3pt width\z@}% + \normalbaselines\rm} + +\def\eightpoint{\def\rm{\fam0\eightrm}% + \textfont0=\eightrm \scriptfont0=\sixrm + \scriptscriptfont0=\fiverm + \textfont1=\eighti \scriptfont1=\sixi + \scriptscriptfont1=\fivei + \textfont2=\eightsy \scriptfont2=\sixsy + \scriptscriptfont2=\fivesy + \textfont3=\tenex \scriptfont3=\tenex + \scriptscriptfont3=\tenex + \def\it{\fam\itfam\eightit}\def\oldstyle + {\fam1 \eighti}\textfont\itfam=\eightit + \def\sl{\fam\slfam\eightsl}% + \textfont\slfam=\eightsl + \def\bf{\fam\bffam\eightbf}% + \textfont\bffam=\eightbf + \scriptfont\bffam=\sixbf + \scriptscriptfont\bffam=\fivebf + \def\tt{\fam\ttfam\eighttt}% + \textfont\ttfam=\eighttt + \tt \ttglue=.5em plus.25em minus.15em + \normalbaselineskip=10pt plus1pt minus1pt + \def\MF{{\manual opqr}\-{\manual stuq}}% + \let\sc=\sixrm + \let\big=\eightbig + \setbox\strutbox=\hbox{\vrule height7pt + depth2pt width\z@}% + \normalbaselines\rm} + +\def\tenmath{\tenpoint\fam-1 } % use after $ + % in ninepoint sections +\def\tenbig#1{{\hbox{$\left#1\vbox to8.5pt{}% + \right.\n@space$}}} +\def\ninebig#1{{\hbox{$\textfont0=\tenrm + \textfont2=\tensy + \left#1\vbox to7.25pt{}\right.\n@space$}}} +\def\eightbig#1{{\hbox{$\textfont0=\ninerm + \textfont2=\ninesy + \left#1\vbox to6.5pt{}\right.\n@space$}}} +% Page layout +\newdimen\manmachsize\newdimen\manmacvsize +\newdimen\pagewidth \newdimen\pageheight +\newdimen\manmacparindent\newdimen\ruleht%Cornrules +\manmachsize29pc\manmacvsize44pc\maxdepth2.2pt +\manmacparindent=3pc \ruleht=.5pt +\pagewidth\manmachsize\pageheight\manmacvsize +\abovedisplayskip=6pt plus 3pt minus 1pt +\belowdisplayskip=6pt plus 3pt minus 1pt +\abovedisplayshortskip=0pt plus 3pt +\belowdisplayshortskip=4pt plus 3pt + +\newinsert\footins +\def\manmacfootnote#1{\edef\@sf{\spacefactor + \the\spacefactor}#1\@sf + \insert\footins\bgroup\eightpoint + \interlinepenalty100 \let\par=\endgraf + \leftskip=\z@skip \rightskip=\z@skip + \splittopskip=10pt plus 1pt minus 1pt + \floatingpenalty=20000 + \smallskip\item{#1}\bgroup\strut + \aftergroup\@foot\let\next} + +\skip\footins=12pt plus 2pt minus 4pt +% space added when footnote is present +\count\footins=1000 +% footnote magnification factor (1 to 1) +\dimen\footins=30pc +% maximum footnotes per page + +\newinsert\margin +\dimen\margin=\maxdimen +\count\margin=0 \skip\margin=0pt +% marginal inserts take up no space + +\newif\iftitle +\def\titlepage{\global\titletrue} +% for pages without headlines +\def\rhead{} % contains the running headline + +\def\leftheadline{\hbox to \pagewidth{% + \vbox to 10pt{}% strut to position the + % baseline + \llap{\tenbf\folio\kern1pc}% folio to + % left of text + \tenit\rhead\hfil% running head flush left +}} +\def\rightheadline{\hbox to \pagewidth{% + \vbox to 10pt{}% strut to position the + % baseline + \hfil\tenit\rhead\/% running head flush + % right + \rlap{\kern1pc\tenbf\folio}% folio to + % right of text +}} + +\def\onepageout#1{\shipout\vbox{ % here we + % define one page of output + \offinterlineskip % butt the boxes together + \vbox to 3pc{ % this part goes on top of + % the 44pc pages + \iftitle % the next is used for title pages + \global\titlefalse % reset the titlepage + % switch + \setcornerrules % for camera alignment + \else\ifodd\pageno \rightheadline\else + \leftheadline\fi\fi + \vfill} % this completes the \vbox to 3pc + \vbox to \pageheight{ + \ifvoid\margin\else%marginal info is present + \rlap{\kern31pc\vbox to\z@{\kern4pt% + \box\margin \vss}}\fi + #1 % now insert the main information + \ifvoid\footins\else%footnote info is present + \vskip\skip\footins \kern-3pt + \hrule height\ruleht width\pagewidth + \kern-\ruleht \kern3pt + \unvbox\footins\fi + \boxmaxdepth=\maxdepth + } % this completes the \vbox to \pageheight +}\advancepageno} + +\def\setcornerrules{\hbox to \pagewidth{% + \vrule width 1pc height\ruleht + \hfil \vrule width 1pc} + \hbox to \pagewidth{\llap{\sevenrm(page + \folio)\kern1pc}% + \vrule height1pc width\ruleht depth\z@ + \hfil \vrule width\ruleht depth\z@}} + +\def\manmacoutput{\onepageout{ + \unvbox255}} + +\newbox\partialpage +\def\begindoublecolumns{\begingroup + \output={\global\setbox\partialpage= + \vbox{\unvbox255\bigskip}}\eject + \output={\doublecolumnout}% + \hsize=9cm \vsize=51cm}%cgl mods +\def\enddoublecolumns{\output= + {\balancecolumns}\eject \endgroup + \pagegoal=\vsize} + +\def\doublecolumnout{\splittopskip=\topskip + \splitmaxdepth=\maxdepth \dimen@=25cm + \advance\dimen@ by-\ht\partialpage + \setbox0=\vsplit255 to\dimen@ + \setbox2=\vsplit255 to\dimen@ + \onepageout\pagesofar + \unvbox255 \penalty\outputpenalty} +\def\pagesofar{\unvbox\partialpage + \wd0=\hsize \wd2=\hsize \hbox to + \pagewidth{\box0\hfil\box2}} +\def\balancecolumns{\setbox0=\vbox{\unvbox255} + \dimen@=\ht0 + \advance\dimen@ by\topskip + \advance\dimen@ by-\baselineskip + \divide\dimen@ by2 \splittopskip=\topskip + {\vbadness=10000 + \loop \global\setbox3=\copy0 + \global\setbox1=\vsplit3 to\dimen@ + \ifdim\ht3>\dimen@ + \global\advance\dimen@ by1pt + \repeat} + \setbox0=\vbox to\dimen@{\unvbox1} + \setbox2=\vbox to\dimen@{\unvbox3} + \pagesofar} + +% To produce only a subset of pages, +% put the page numbers on separate +% lines in a file called pages.tex +\let\Shipout=\shipout +\newread\pages \newcount\nextpage +\openin\pages=pages +\def\getnextpage{\pages\else + {\endlinechar=-1\read\pages to\next + \ifx\next\empty % in this case we should + % have eof now + \else\global\nextpage=\next\fi}\fi} +\ifeof\pages\else\message{OK, I'll ship only + the requested pages}\getnextpage\fi +% +\def\shipout{\ifeof\pages + \let\next=\Shipout\else + \ifnum\pageno=\nextpage + \getnextpage\let\next=\Shipout + \else\let\next=\Tosspage\fi\fi \next} +% +\newbox\garbage +\def\Tosspage{\deadcycles=0 + \setbox\garbage=} + +% Chapter formatting +% The preface and table of contents are +% formatted in place, not here. +\newcount\exno % for the number of exercises + % in the current chapter +\newcount\subsecno % for the number of + % subsections in the current chapter + +\def\manmacbeginchapter#1 #2#3. #4\par{% +\global\exno=0\subsecno=0\def\chapno{#2#3} + \ifodd\pageno + \errmessage{You had too much text on + that last page, I'm backing up} + \advance\pageno by-1 + \fi \titlepage + \def\\{ } % \\'s in the title will be + % treated as spaces + \message{#1 #2#3:} % show the chapter + % title on the terminal + \def\MF{{\manual 89:%insert semi-col + <=>:}} % slant the logo + \xdef\rhead{#1 #2#3: #4\unskip} + {\def\TeX{T\kern-.2em\lower.5ex% + \hbox{E}\kern-.06em X} + \def\MF{{\vbox to30pt{}\manual ()*+,-.*}} + \def\\{#3} + \ifx\empty\\ + \rightline{\inchhigh #2\kern-.04em} + \else\rightline{\inchhigh #2\kern-.06em% + #3\kern-.04em}% + \fi \vskip 1.75pc + \baselineskip 36pt \lineskiplimit + \titlelsl \lineskip 12pt + \let\\=\cr%now the \\'s are line dividers + \halign{\line{\titlefont\hfil##}\\#4% + \unskip\\}\vfill\eject} % output the + % chapter title page + \tenpoint\noindent\ignorespaces}% the first +%paragraph of a chapter is not indented +\newdimen\titlelsl \titlelsl=1pt + +\outer\def\manmacendchapter{\ifodd\pageno + \else\vfill\eject\null\fi + \begingroup\bigskip\vfill % beginning of + % the quotes + \def\eject{\endgroup\eject} + \def\par{\ifhmode\/\endgraf\fi}\obeylines + \def\TeX{T\kern-.2em\lower.5ex\hbox{E}% + \kern-.000em X} + \def\MF{{\manual opqr}\-{\manual stuq}} + \eightpoint \let\tt=\ninett + \baselineskip 10pt + \parfillskip \z@ + \interlinepenalty 10000 + \leftskip \z@ plus 40pc minus \parindent + \let\rm=\eightss \let\sl=\eightssi + \everypar{\sl}} +% +\def\manmacauthor#1(#2){\smallskip +\noindent\rm--- #1\unskip\enspace(#2)} + +\def\dbend{{\manual\char127}} +% dangerous bend sign +\def\d@nger{\medbreak\begingroup + \clubpenalty=10000 + \def\par{\endgraf\endgroup\medbreak} + \noindent\hang\hangafter=-2 + \hbox to0pt{\hskip-\hangindent\dbend + \hfill}\ninepoint} +\outer\def\danger{\d@nger} +\def\dd@nger{\medbreak\begingroup + \clubpenalty=10000 + \def\par{\endgraf\endgroup\medbreak} + \noindent\hang\hangafter=-2 + \hbox to0pt{\hskip-\hangindent\dbend + \kern1pt\dbend\hfill}\ninepoint} +\outer\def\ddanger{\dd@nger} +\def\enddanger{\endgraf\endgroup} % omits + % the \medbreak + +\outer\def\subsection#1. {\medbreak + \advance\subsecno by 1 + \noindent + {\it \the\subsecno.\enspace#1.\enspace}} +\def\ansno#1.#2:{\medbreak\noindent + \hbox to\parindent{\bf\hss#1.#2.\enspace} + \ignorespaces} + +% Composition macros +\hyphenation{man-u-script man-u-scripts + ap-pen-dix xscaled} + +%\def\AmSTeX{$\cal A\kern-.1667em\lower +% .5ex\hbox{$\cal M$}\kern-.075em S$-\TeX} +\def\bull{\vrule height .9ex width .8ex% + depth -.1ex } % square bullet +\def\SS{{\it SS}} % scriptscript style +\def\|{\leavevmode\hbox{\tt\char`\|}} + % vertical line +\def\dn{\leavevmode\hbox{\tt\char'14}} + % downward arrow +\def\up{\leavevmode\hbox{\tt\char'13}} + % upward arrow +\def\]{\leavevmode\hbox{\tt\char`\ }} + % visible space + +\def\pt{$\,${\rm pt}} % units of points, + % in math formulas +\def\em{$\,${\rm em}} % units of ems, + % in math formulas +\def\<#1>{\leavevmode\hbox{$\langle$#1% + \/$\rangle$}} % syntactic quantity +\def\oct#1{\hbox{\rm\'{}\kern-.2em\it + #1\/\kern.05em}} % octal constant +\def\hex#1{\hbox{\rm\H{}\tt#1}} + % hexadecimal constant +\def\cstok#1{\leavevmode\thinspace\hbox{% + \vrule\vtop{\vbox{\hrule\kern1pt\hbox{% + \vphantom{\tt/}\thinspace{\tt#1}% + \thinspace}}\kern1pt\hrule}\vrule}% + \thinspace} % control sequence token + +{\obeyspaces\gdef {\ }} +\def\parbreak{\hfil\break\indent\strut} +\def\stretch{\nobreak\hskip0pt plus2pt\relax} + +% macros for non-centered displays +\outer\def\begindisplay{\obeylines + \startdisplay} +{\obeylines\gdef\startdisplay#1 + {\catcode`\^^M=5$$#1\halign\bgroup\indent + ##\hfil&&\qquad##\hfil\cr}} +% +\outer\def\enddisplay{\crcr\egroup$$} +% (the following \begin...\end-type +% macros do not appear in Appendix E) +% macros for demonstrating math constructions +\outer\def\beginmathdemo{ + $$\advance\baselineskip by2pt + \halign\bgroup\indent\hbox to 160pt{##\hfil}& + $##$\hfil\cr\noalign{\vskip-2pt} +} +\outer\def\begindisplaymathdemo{ + $$\advance\baselineskip by15pt + \halign\bgroup\indent\hbox to 160pt{##\hfil}& + $\displaystyle{##}$\hfil\cr + \noalign{\vskip-15pt} +} +\outer\def\beginlongmathdemo{ + $$\advance\baselineskip by2pt + \halign\bgroup\indent\hbox to 210pt{##\hfil}& + $##$\hfil\cr\noalign{\vskip-2pt} +} +\outer\def\beginlongdisplaymathdemo{ + $$\advance\baselineskip by15pt + \halign\bgroup\indent\hbox to 210pt{##\hfil}& + $\displaystyle{##}$\hfil\cr + \noalign{\vskip-15pt} +} +\outer\def\endmathdemo{\crcr\egroup$$} + +% macros for font tables +\def\oddline#1{\cr + \noalign{\nointerlineskip} + \multispan{19}\hrulefill& + \setbox0=\hbox{\lower 2.3pt\hbox{% + \hex{#1x}}}\smash{\box0}\cr + \noalign{\nointerlineskip}} +\def\evenline{\cr\noalign{\hrule}} +\def\chartstrut{\lower4.5pt\vbox to14pt{}} +\def\beginchart#1{$$\postdisplaypenalty=-10000 + \global\count@=0 #1 + \halign to\hsize\bgroup + \chartstrut##\tabskip0pt plus10pt& + &\hfil##\hfil&\vrule##\cr + \lower6.5pt\null + &&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&& + \oct5&&\oct6&&\oct7&\evenline} +\def\endchart{\raise11.5pt\null&&&\hex 8&& + \hex 9&&\hex A&&\hex B&&\hex C&&\hex D&& + \hex E&&\hex F&\cr\egroup$$} +\def\:{\setbox0=\hbox{\char\count@}% + \ifdim\ht0>7.5pt\reposition + \else\ifdim\dp0>2.5pt\reposition\fi\fi + \box0\global\advance\count@ by1 } +\def\reposition{\setbox0=\hbox{$\vcenter + {\kern2pt\box0\kern2pt}$}} +\def\normalchart{% + &\oct{00x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&&\oddline0 + &\oct{01x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&\evenline + &\oct{02x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&&\oddline1 + &\oct{03x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&\evenline + &\oct{04x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&&\oddline2 + &\oct{05x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&\evenline + &\oct{06x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&&\oddline3 + &\oct{07x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&\evenline + &\oct{10x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&&\oddline4 + &\oct{11x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&\evenline + &\oct{12x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&&\oddline5 + &\oct{13x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&\evenline + &\oct{14x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&&\oddline6 + &\oct{15x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&\evenline + &\oct{16x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&&\oddline7 + &\oct{17x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& + \:&\evenline} +% +% (now Appendix E resumes again) +% macros for verbatim scanning +\chardef\other=12 +\def\ttverbatim{\begingroup + \catcode`\\=\other + \catcode`\{=\other + \catcode`\}=\other + \catcode`\$=\other + \catcode`\&=\other + \catcode`\#=\other + \catcode`\%=\other + \catcode`\~=\other + \catcode`\_=\other + \catcode`\^=\other + \obeyspaces \obeylines \tt} + +\outer\def\begintt{$$\let\par=\endgraf + \ttverbatim \parskip=\z@ + \catcode`\|=0 \rightskip-5pc \ttfinish} +{\catcode`\|=0 |catcode`|\=\other + % | is temporary escape character + |obeylines % end of line is active + |gdef|ttfinish#1^^M#2\endtt{#1|vbox{#2}% + |endgroup$$}} +\catcode`\|=\active +{\obeylines \gdef|{\ttverbatim + \spaceskip=\ttglue +\let^^M=\ \let|=\endgroup}} + +% macros for syntax rules (again, not in +% Appendix E) +\def\[#1]{\silenttrue\xref|#1|\thinspace + {\tt#1}\thinspace} % keyword in syntax +\def\beginsyntax{\endgraf\nobreak\medskip + \begingroup \catcode`<=13 \catcode`[=13 + \let\par=\endsyntaxline \obeylines} +\def\endsyntaxline{\futurelet\next + \syntaxswitch} +\def\syntaxswitch{\ifx\next\<\let\next= + \syntaxrule\else + \ifx\next\endsyntax\let\next=\endgroup + \else\let\next=\continuerule + \fi\fi \next +} +\def\continuerule{\hfil\break\indent\qquad} +\def\endsyntax{\medbreak\noindent} +{\catcode`<=13 \catcode`[=13 + \global\let<=\< \global\let[=\[ + \gdef\syntaxrule<#1>{\endgraf\indent + \silentfalse%\xref%Mod cgl + \<#1>}} \def\alt{\ $\vert$ } +\def\is{\ $\longrightarrow$ } + +% macros to demarcate lines quoted from +% TeX source files +\def\beginlines{\par\begingroup\nobreak + \medskip\parindent\z@ \obeylines + \hrule\kern1pt\nobreak \everypar{\strut}} +\def\endlines{\kern1pt\hrule\endgroup + \medbreak\noindent} +\def\weakendlines{\kern1pt\hrule\endgroup + \medskip\noindent} +\def\finalendlines{\kern1pt\hrule\endgroup + \medbreak} + +\outer\def\manmacexercise{\medbreak + \global\advance\exno by 1 + \noindent\llap{\manual\char'170 + \rm\kern.15em}% triangle in margin + {\ninebf EXERCISE \bf\chapno.\the\exno}\par + \nobreak\noindent} +\def\dexercise{\global\advance\exno by 1 + \llap{\manual\char'170 + \rm\kern.15em}% triangle in indented space + {\eightbf EXERCISE \bf\chapno.\the\exno}\hfil + \break} +\outer\def\dangerexercise{\d@nger\dexercise} +\outer\def\ddangerexercise{\dd@nger\dexercise} + +\newwrite\ans +\immediate\openout\ans=answers + % file for answers to exercises +\outer\def\manmacanswer{\par\medbreak + \immediate\write\ans{} + \immediate\write\ans{\string\ansno + \chapno.\the\exno:}\copytoblankline} +\def\copytoblankline{\begingroup\setupcopy + \copyans} +\def\setupcopy{\def\do##1{\catcode`##1= + \other}\dospecials + \catcode`\|=\other \obeylines} +{\obeylines \gdef\copyans#1 + {\def\next{#1}% + \ifx\next\empty\let\next=\endgroup + \else\immediate\write\ans{\next}% + \let\next=\copyans + \fi\next}} + +% Macros for drawing figures (not in +% Appendix E) +\def\hidehrule#1#2{\kern-#1\hrule + height#1 depth#2 \kern-#2 } +\def\hidevrule#1#2{\kern-#1{\dimen0=#1 + \advance\dimen0 by#2\vrule width\dimen0}% + \kern-#2 } +% \makeblankbox puts rules at the edges of +% a blank box whose dimensions are those +% of \box0 (assuming nonnegative wd,ht,dp) +% #1 is rule thickness outside, +% #2 is rule thickness inside +\def\makeblankbox#1#2{\hbox{\lower\dp0 + \vbox{\hidehrule{#1}{#2}% + \kern-#1% overlap the rules at the corners + \hbox to\wd0{\hidevrule{#1}{#2}% + \raise\ht0\vbox to #1{}% set the vrule height + \lower\dp0\vtop to #1{}% set the vrule depth + \hfil\hidevrule{#2}{#1}}% + \kern-#1\hidehrule{#2}{#1}}}} +\def\maketypebox{\makeblankbox{0pt}{1pt}} +\def\makelightbox{\makeblankbox{.2pt}{.2pt}} + +% \box\bigdot is a null box with a bullet +% at its reference point +\newbox\bigdot \newbox\smalldot +\setbox0=\hbox{$\vcenter{}$} +% \ht0 is the axis height +\setbox1=\hbox to\z@{$\hss\bullet\hss$} +% bullet is centered on the axis +\setbox\bigdot=\vbox to\z@{\kern-\ht1 + \kern\ht0 \box1 \vss} +\setbox1=\hbox to\z@{$\hss\cdot\hss$} +% cdot is centered on the axis +\setbox\smalldot=\vbox to\z@{\kern-\ht1 + \kern\ht0 \box1 \vss} + +% \arrows makes things like <--- text ---> +\def\arrows#1#2{% #1=width, #2=text +{\setbox0=\hbox{$\mkern-2mu\mathord + -\mkern-2mu$} + \hbox to #1{\kern-.055556em$\leftarrow + \mkern-6mu$\cleaders\copy0\hfil + \kern.4em #2\kern.4em\cleaders\copy0\hfil + $\mkern-6mu\rightarrow$\kern-.055556em}}} + +% \samplebox makes the outline of a box, +% with big dot at reference point +\def\samplebox#1#2#3#4{% #1=ht, #2=dp, #3=wd, +% #4=text + {\setbox0=\vtop{\vbox to #1{\hbox to #3{} + \vss}\nointerlineskip\vbox to #2{}} + % now \box0 has the desired ht, dp, and wd + \hbox{\copy\bigdot + \vrule height.2pt depth.2pt width#3% + \kern-#3\makelightbox\kern-#3% + \raise#1\vbox{\hbox to #3{\hss#4\hss} + \kern 3pt}}}} + +% \sampleglue makes glue between sample boxes +\newdimen\varunit +\varunit=\hsize +\advance\varunit by-2\parindent +\divide\varunit by 58 % illustrations in + % Chapter 12 +\def\sampleglue#1#2{% #1=width, #2=text + \vtop{\hbox to #1{\xleaders\hbox to + .5\varunit{\hss\copy\smalldot\hss}\hfil} + \kern3pt + \tabskip \z@ plus 1fil + \halign to #1{\hfil##\cr#2\cr}}} + +% Indexing macros +\newif\ifproofmode +\proofmodetrue % this should be false when + % making camera-ready copy +\newwrite\inx +\immediate\openout\inx=index % file for + % index reminders +\newif\ifsilent +\def\specialhat{\ifmmode\def\next{^}\else + \let\next=\beginxref\fi\next} +\def\beginxref{\futurelet\next + \beginxrefswitch} +\def\beginxrefswitch{\ifx\next\specialhat + \let\next=\silentxref\else + \silentfalse\let\next=\xref\fi \next} +\catcode`\^=\active \let ^=\specialhat +\def\silentxref^{\silenttrue\xref} + +\def\marginstyle{\vrule height6pt depth2pt + width\z@ \sevenrm} + +\chardef\bslash=`\\ +\def\xref{\futurelet\next\xrefswitch} +\def\xrefswitch{\begingroup + \ifx\next|\aftergroup\vxref + % case 1 or 2, |arg| or |\arg| + \else\ifx\next\<\aftergroup\anglexref + % case 3, "\" means angle brackets + \else\aftergroup\normalxref + \fi\fi\endgroup} % case 0, "{arg}" +\def\vxref|{\catcode`\\=\active + \futurelet\next\vxrefswitch} +\def\vxrefswitch#1|{\catcode`\\=0 + \ifx\next\empty\def\xreftype{2}% + \def\next{{\tt\bslash\text}}%type2 + \else\def\xreftype{1}\def\next{% + {\tt\text}}\fi %type1 + \edef\text{#1}\makexref} +{\catcode`\|=0 \catcode`\\=\active |gdef\{}} +\def\anglexref\<#1>{\def\xreftype{3}% + \def\text{#1}\def\next{\<\text>}\makexref} +\def\normalxref#1{\def\xreftype{0}% + \def\text{#1}\let\next=\text\makexref} +\def\makexref{\ifproofmode\insert\margin + {\hbox{\marginstyle\text}}% +% \ifindexfile %Mod cgl oct 94 + \xdef\writeit{\write\inx{\text\space!% + \xreftype\space\noexpand\number\pageno.% + }}\writeit +% \else\advance\inxcnt1 +% \ea\xdef\csname\the\inxcnt\endcsname +% {\text\space!\xreftype\space}% +% \mark{\the\inxcnt}\fi + \else\ifhmode\kern0pt\fi\fi + \ifsilent\ignorespaces\else\next\fi} +% the \insert (which is done in proofmode +% only) suppresses hyphenation, so the +% \kern\z@ is put in to give the same effect +% in non-proofmode. + +% Internal cross references that may change +\def\sesame{61} + % page number for Sesame Street quote +\def\bmiexno{20} + % exercise number for bold math italic +\def\punishexno{1} + % exercise number for `punishment' +\def\fracexno{6} + % exercise number for `\frac' +\def\vshippage{31} + % error message from `\vship' +\def\storypage{24} + % listing of story.tex +\def\metaT{4} + % exercise number for T of METAFONT +\def\xwhat{2} + % exercise number for x3:=whatever +\def\Xwhat{2} + % exercise number for whatever itself + +\def\checkequals#1#2{\ifnum#1=#2\else + \errmessage{Redefine \string#1 to be + \the#2}\fi} + +%Things for The METAFONTbook only +%(omitted) ;nonum +% +%Contents manmac.tex +% cgl@rc.service.rug.nl +%Font definition ................7-58 +%Size switching macros ........60-154 +%Page layout (and OTR) .......156-282 +%-parameters..................159-193 +%-\manmacfootnote.............167-176 +%-\margin (insert)............185-188 +%-\titlepage......................191 +%-\leftheadline...............195-201 +%-\rightheadline..............202-209 +%-\onepageout.................211-235 +%-\setcornerrules.............237-243 +%-\manmacoutput...................245 +%-\begindoublecolumns.........248-253 +%-\enddoublecolumns...........254-256 +%-\doublecolumnout............258-264 +%-\pagesofar..................265-267 +%-\balancecolumns.............268-281 +%Subset of pages..............283-304 +%-\Shipout........................286 +%-\getnextpage................289-295 +%-\shipout....................297-301 +%-\Tosspage.......................304 +%Chapter formatting ..........306-393 +%-\manmacbeginchapter.........315-344 +%-\manmacendchapter...........348-363 +%-\author....................365, 366 +%-\dbend......................368-385 +%-\subsection.................387-393 +%Composition macros...........395-431 +%-\AmSTeX....................399, 400 +%-\bull......................401, 402 +%-\SS.............................403 +%-\vrt............................404 +%-\dn........................406, 407 +%-\up........................408, 409 +%-\]..............................410 +%-\pt........................413, 414 +%-\em........................415, 416 +%-\<#1>......................417, 418 +%-\oct.......................419, 420 +%-\hex............................421 +%-\cstok......................423-427 +%-\parbreak..................429, 430 +%-\stretch........................431 +%Macros for non-centered +% displays..................433-439 +%-\begindisplay..............434, 435 +%-\startdisplay...............436-438 +%-\enddisplay.....................440 +%Macros for showing math +% constructions.............441-466 +%-\beginmathdemo..............444-448 +%-\begindisplaymathdemo.......449-454 +%-\beginlongmathdemo..........455-459 +%-\beginlongdisplaymathdemo...460-465 +%-\endmathdemo....................466 +%Macros for font tables.......468-526 +%-\oddline....................469-474 +%-\evenline.......................475 +%-\chartstrut.....................476 +%-\beginchart.................477-484 +%-\endchart...................485-487 +%-\:..........................488-491 +%-\reposition................492, 493 +%-\normalchart................494-526 +%Macros for verbatim scanning.529-555 +%-\ttverbatim.................531-542 +%-\begintt....................544-546 +%-\ttfinish...................547-551 +%Macros for syntax rules......557-579 +%-\[#1]......................559, 560 +%-\beginsyntax................561-563 +%-\endsyntaxline.............564, 565 +%-\syntaxswitch...............566-570 +%-\continuerule...................572 +%-\endsyntax......................573 +%-<, [............................575 +%-\syntaxrule................576, 577 +%-\alt............................578 +%-\is.............................579 +%Macros to demarcate lines quoted +% from \TeX{} source files..581-591 +%-\beginlines................583, 585 +%-\endlines..................586, 587 +%-\weakendlines..............588, 589 +%-\finalendlines.............590, 591 +%Macros to mark up exercises +% and answers...............593-624 +%-\manmacexercise............593, 598 +%-\dexercise..................599-603 +%-\dangerexercise.................604 +%-\ddangerexercise................605 +%-\manmacanswer...............610-613 +%-\copytoblankline...........614, 615 +%-\setupcopy..................616-618 +%-\copyans....................619-624 +%Macros for drawing figures...626-696 +%-\hidehrule.................628, 629 +%-\hidevrule..................630-632 +%-\makeblankbox...............638-645 +%-\maketypebbox...................646 +%-\makelightbox...................647 +%-\bigdot....................656, 657 +%-\smalldot..................660, 661 +%-\arrows.....................664-670 +%-\samplebox..................674-683 +%-\sampleglue.................691-696 +%Indexing macros..............698-752 +%-\ifproofmode, \ifsilent....698, 704 +%-\inx............................701 +%-\specialhat................706, 707 +%-\beginxref.................708, 709 +%-\beginxrefswitch............710-712 +%-^...............................713 +%-\silentxref.....................714 +%-\marginstyle...............716, 717 +%-\bslash.........................719 +%-\xref...........................720 +%-\xrefswitch.................721-727 +%-\vxref.....................728, 729 +%-\vxrefswitch................730-736 +%-\anglexref.................738, 739 +%-\normalxref................740, 741 +%-\makexref...................742-754 +%Internal cross-references that +% may change................760-782 +% +%Additions +% +%\Large font for amongst others +%chapterhead of report +\font\Largerm=cmr12 + scaled\magstep4 +\let\subsubheadfont\Largerm +\font\Largei=cmmi12 + scaled\magstep4\relax +\font\Largeit=cmti12 + scaled\magstep4\relax +\font\Largesl=cmsl12 + scaled\magstep5\relax +\font\Largesy=cmsy10 + scaled\magstep5\relax +\font\Largeex=cmex10 + scaled\magstep5\relax +\font\Largebf=cmbx12 + scaled\magstep4\relax +\font\Largett=cmtt12 + scaled\magstep4\relax +\font\twelverm=cmr12 +\font\twelvebf=cmbx12 +\font\twelveit=cmti12 +\font\twelvesl=cmsl12 +\font\twelvemus=cmmi12 +\font\twelvesy=cmsy10 scaled\magstep1 +\font\twelveex=cmex10 scaled\magstep1 +\font\nineex=cmex10 scaled\magstephalf +\def\Large{\def\rm{\fam0\Largerm}% + \textfont0=\Largerm + \scriptfont0=\twelverm + \scriptscriptfont0=\ninerm + \textfont1=\Largei + \scriptfont1=\twelvemus + \scriptscriptfont1=\ninei + \textfont2=\Largesy + \scriptfont2=\twelvesy + \scriptscriptfont2=\ninesy + \textfont3=\Largeex + \scriptfont3=\twelveex + \scriptscriptfont3=\nineex + \def\it{\fam\itfam \Largeit}% + \textfont\itfam=\Largeit + \def\sl{\fam\slfam\Largesl}% + \def\oldstyle{\fam1 \Largei} + \textfont\slfam=\Largesl + \def\bf{\fam\bffam\Largebf}% + \textfont\bffam=\Largebf + \scriptfont\bffam=\tenbf + \scriptscriptfont\bffam=\sevenbf + \def\tt{\fam\ttfam\Largett}% + \textfont\ttfam=\Largett + \tt\ttglue=.5em plus.25em minus.15em + \normalbaselineskip=21pt + \def\MF{{\manual META}\-{\manual FONT}}% + \setbox\strutbox=\hbox{\vrule + height16pt depth5pt width\z@}% + \let\sc=\twelverm\let\big=\Largebig + \normalbaselines\rm} +\def\Largebig#1{{\hbox{$\left#1\vbox + to12pt{}\right.\n@space}}} +% +%\large font for transparencies +\font\largerm=cmr12 + scaled\magstep2 +\let\subsubheadfont\largerm +\font\largei=cmmi12 + scaled\magstep2\relax +\font\largeit=cmti12 + scaled\magstep2\relax +\font\largesl=cmsl12 + scaled\magstep2\relax +\font\largesy=cmsy10 + scaled\magstep3\relax +\font\largeex=cmex10 + scaled\magstep3\relax +\font\largebf=cmbx12 + scaled\magstep2\relax +\font\largett=cmtt12 + scaled\magstep2\relax +\def\large{\def\rm{\fam0\largerm}% + \textfont0=\largerm + \scriptfont0=\tenrm + \scriptscriptfont0=\sevenrm + \textfont1=\largei + \scriptfont1=\teni + \scriptscriptfont1=\seveni + \textfont2=\largesy + \scriptfont2=\tensy + \scriptscriptfont2=\sevensy + \textfont3=\largeex + \scriptfont3=\tenex + \scriptscriptfont3=\tenex + \def\it{\fam\itfam \largeit}% + \textfont\itfam=\largeit + \def\sl{\fam\slfam\largesl}% + \def\oldstyle{\fam1 \largei} + \textfont\slfam=\largesl + \def\bf{\fam\bffam\largebf}% + \textfont\bffam=\largebf + \scriptfont\bffam=\tenbf + \scriptscriptfont\bffam=\sevenbf + \def\tt{\fam\ttfam\largett}% + \textfont\ttfam=\largett + \tt\ttglue=.5em plus.25em minus.15em + \normalbaselineskip=20pt + \def\MF{{\manual META}\-{\manual FONT}}% + \setbox\strutbox=\hbox{\vrule + height15.5pt depth4.5pt width\z@}% + \let\sc=\tenrm \let\big=\largebig + \normalbaselines\rm} +\def\largebig#1{{\hbox{$\left#1\vbox + to10pt{}\right.\n@space}}} +% +%Customization of \beginchapter and +%\endchapter from Manmac BLUes. +\outer\def\beginchapter#1 #2#3. #4\par{% + \def\chapno{#2#3}\global\exno0 \subsecno0 + \def\hl{\gdef\hl{\the\issue\hfil\it\rhead}} + \headline{\hl} + \def\\{ }\xdef\rhead{#4} + \centerline{\titlefont + #1 #2#3\quad #4} + \bigskip\tenpoint\noindent\ignorespaces} +% +\footline{\tiny\rlap{\the\year}\hfil + --\folio--\hfil\llap{\copyright cgl}} +% +\outer\def\endchapter{\vfill\eject\vfill} +% +%\output{\plainoutput} +% +\hsize18cm \pagewidth\hsize +\vsize25cm \pageheight\vsize +%\issue{MAPS 93.1} +%History of changes +%1994 Table of contents added and +% names of footnote and output +% provided with unique prefix manmac. +% Customization \beginchapter added. +%1993 Adapted for twocolumn layout. +%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%manmac%;newpage +% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%ppt.tex cgl@rc.service.rug.nl +%;numvrb +%Adapted TUGboat.sty, 2-column bias +%\xcol is the column no within a page, +%ranges from 1 to \maxcols (=1 or 2). +\newcount\xcol +\newcount\maxcols +% +\newdimen\pagewd\newdimen\colwd +\newdimen\intercolwd +\newtoks\headlinesep\newtoks\footlinesep +\headlinesep{\kern2ex}\footlinesep{\kern1ex} +%\catcode`\@=11 +% remove \outer +\def\newbox{\alloc@4\box\chardef\insc@unt} +\def\boxcs#1{\box\csname#1\endcsname} +\def\setboxcs#1{\setbox\csname#1\endcsname} +\def\newboxcs#1{\expandafter + \newbox\csname#1\endcsname} +\newboxcs{column1} +\newboxcs{column2} +% +\def\midpage#1{\vbox{\ifnum\xcol=\maxcols + \the\headline\else\null\vskip\baselineskip + \fi\the\headlinesep + \vbox to\vsize{% + \hbox to\pagewd{#1}\vss} + \the\footlinesep + \ifnum\xcol=\maxcols + \the\footline\else\vskip4ex\fi}} +% +\headline={\hbox to\pagewd{\sevenrm + \the\issue\hfill{\it\the\title}}} +% +\newtoks\pagenumber\pagenumber{\folio} +\footline={\hbox to\pagewd{\tiny +\rlap{Draft \today}\hfill--\the\pagenumber + --\hfill\llap{\copyright cgl}}} +\def\today{\ifcase\month\or Jan\or Feb\or + March\or April\or May\or June\or July\or + Aug\or Sept\or Oct\or Nov\or Dec\fi + { }{\ea\oldstyle\number\day}, + {\ea\oldstyle\number\year}} +% +\def\newcol{\endgraf\vfill\eject} +% +\def\newpage{\vfill\eject +%\loop + \ifnum\xcol>1 + {\leavevmode\endgraf\vfill\eject} + \fi +}%\xcol is reset in the OTR %\repeat} +% horizontal offset of column +% from left edge of page +\newdimen\coloffset \coloffset=\z@ +\def\incrcoloffset{% + \global\advance\coloffset\colwd + \global\advance\coloffset\intercolwd} +% +\output={\global\setboxcs{column\number\xcol}= + \midpage{\kern\coloffset\pagebody\hfil} + \incrcoloffset + \ifnum\xcol=\maxcols + \shipout\hbox{% + \rlap{\boxcs{column1}}% + \rlap{\boxcs{column2}}% + \hbox to\pagewd{\hss}}% + \advancepageno + \global\coloffset\z@ + \global\xcol=\@ne + \else + \global\advance\xcol\@ne + \fi} +% +%Title, header and miscellaneous +\newtoks\title\newtoks\subtitle +\newtoks\author\newtoks\address +\newtoks\businessaccount +\newtoks\translator\newtoks\issue +\newtoks\netaddress\newtoks\crowner +\newtoks\telephone +\newtoks\thisscript\newtoks\everyscript +\newtoks\prehead\newtoks\posthead +\newtoks\presubhead\newtoks\postsubhead +\newtoks\presubsubhead\newtoks\postsubsubhead +\newtoks\thishead +\newtoks\thissubhead\newtoks\thissubsubhead +\newtoks\everyhead +\newtoks\everysubhead\newtoks\everysubsubhead +\newtoks\tocvar +\newdimen\subheadindent\subheadindent=0pc +\newdimen\subsubheadindent\subsubheadindent=2pc +\def\pasteupkeywords{\box\keywordsbox} +\def\pasteupabstract{\box\abstractbox} +\def\pasteupcontents{\unvbox\contentsbox} +\def\pasteupacknowledgements{\ifvoid + \acknowledgementsbox + \else\the\preacknowledgements\unvbox + \acknowledgementsbox\fi + }% +%pastupindex is much more complicated;vrblin100 +\def\beginscript{\lastscript + \the\everyscript\begingroup + \the\thisscript + \hrule\kern2ex\noindent + {\titlefont\the\title\unskip}% + \if!\the\subtitle!\else{\subtitlefont + \Dash\the\subtitle\unskip}\fi + \medskip\the\author + \medskip\pasteupkeywords + \medskip\pasteupabstract + \medbreak\pasteupcontents\smallbreak} +\def\endscript{\makesignature + \xcol=\maxcols + \vfil\eject\endgroup\tracingstats1 + \stop\thisscript{}} +\def\notlastscript{\let\stop\relax} +\def\lastscript{\let\stop\end} +\prehead{\vskip0pt plus9ex + \penalty-250\vskip0pt plus-9ex + \bgroup\catcode`\^=7 \the\everyhead + \the\thishead\bigskip\noindent} +\posthead{\medskip\nobreak\egroup + \noindent\ignorewhitespace} +\def\beginhead{\the\prehead\bgroup + \headfont} +\def\endhead{\egroup\the\posthead} +\presubhead{\vskip0pt plus6ex + \penalty-100\vskip0pt plus-6ex + \medskip\vskip\parskip\noindent + \bgroup\catcode`\^7 \the\everysubhead + \the\thissubhead + \leavevmode\hbox to\subheadindent{}} +\postsubhead{\egroup\quad\ignorewhitespace} +\def\beginsubhead{\the\presubhead + \bgroup\subheadfont} +\def\endsubhead{\egroup\the\postsubhead} +\presubsubhead{\vskip0pt plus3ex + \penalty-50\vskip0pt plus-3ex\bgroup + \catcode`\^=7 + \the\everysubsubhead\the\thissubsubhead + \smallskip\vskip\parskip\noindent + \leavevmode\hbox to\subsubheadindent{}} +\postsubsubhead{\egroup\quad\ignorewhitespace} +\def\beginsubsubhead{\the\presubsubhead + \bgroup\subsubheadfont} +\def\endsubsubhead{\egroup + \the\postsubsubhead} +%;vrblin150 +\def\head#{\beginhead\bgroup\ag\endhead + \afterassignment\ignorespaces + \let\dummy=} +\def\subhead#{\beginsubhead\bgroup\ag + \endsubhead\afterassignment\ignorespaces + \let\dummy=} +\def\subsubhead#{\beginsubsubhead\bgroup + \ag\endsubsubhead\let\dummy=} +\def\script#{\beginscript\bgroup\ag\endscript + \afterassignment\ignorespaces + \let\dummy=} +% +\def\bluetitle#1\par{\title{#1}} +\def\bluesubtitle#1\par{\subtitle{#1}} +\def\bluekeywords#1\par{\keywords{#1}} +\def\bluehead#1\par + {\beginhead#1\unskip\endhead} +\def\bluesubhead#1\par + {\beginsubhead#1\endsubhead} +\def\bluesubsubhead#1\par + {\beginsubsubhead#1\endsubsubhead} +\def\bluemakelabels#1\par + {\makelabels{#1}} +\def\blueabstract#1\par{\abstract{#1}} +\def\blueissue#1\par{\issue{#1}} +% +\long\def\ignorepars#1{\ifx\par#1\let\next\relax + \else\let\next#1\sraperongi\fi\ignorepars} +\long\def\sraperongi#1\ignorepars{\fi\next} +{\catcode`\^=7 \gdef\ignorewhitespace{\begingroup +%Due to Phil Taylor EuroTeX 94 +\catcode`\ =9 %space +\catcode`\^^I=9 %tab +\catcode`\^^L=9 %f-feed +\catcode`\^^M=9 %e-o-l +\futurelet\dummy\endgroup}} +%;vrblin200 +\def\tubissue#1(#2){TUGboat~{\oldstyle#1}, + {\oldstyle#2}} \def\\{\hfil\break} +\def\makesignature{\medskip + \rightline{\hbox to.4\hsize{\strut + \llap{\copyright\quad}\the\author\hss}} + \rightline{\vbox{\noindent + \hsize=.4\hsize + \the\address\hfill\break + \the\netaddress\\ + \the\telephone}}} +% +\def\on{\bgroup\afterassignment\doold\count0=} +% +\def\doold{\oldstyle\the\count0\egroup} +\def\oa#1 {{\oldstyle\fifoolda#1\ofifolda} } +\def\fifoolda#1#2{\ifcat#1a#1\else\aftergroup#1\fi + \ifx\ofifolda#2 \ofifolda\fi + \fifoolda#2} +\def\ofifolda#1\ofifolda{\fi} +% +% Defaults +% %;vrblin250 +\newif\ifonecol +\def\A#1{\csname A#1\endcsname} +\expandafter\def\csname A4\endcsname + {\ifonecol\hsize16cm\pagewd\hsize + \else\hsize9cm\intercolwd.5cm + \pagewd\hsize + \advance\pagewd\hsize + \advance\pagewd\intercolwd + \fi\colwd\hsize \vsize25cm} +% +\def\onecol{\maxcols=1 \xcol=1 + \onecoltrue\A4 + \hyphenchar\tentt='055 %`- + \hyphenchar\ninett='055 + \hyphenchar\eighttt='055 + \tolerance500 + \hbadness=499 + \hfuzz=4pt +} +% +\def\twocol{\maxcols=2 \xcol=1 + \onecolfalse\A4 + \hyphenchar\tentt='055 + \hyphenchar\ninett='055 + \hyphenchar\eighttt='055 + \tolerance500 + \hbadness=499 + \hfuzz=5pt +} +%Personalisation +\author{Kees van der Laan} +\address{Hunzeweg {\oldstyle57}\\ + {\oldstyle9893} PB Garnwerd\\ + The Netherlands} +\netaddress{cgl@rc.service.rug.nl} +\telephone{{\oldstyle31\thinspace{\rm(}0{\rm)}% + 594\thinspace62\thinspace1525}} +\crowner{cgl} +\businessaccount{Giro: C.G. van der Laan + no {\oldstyle1321224}} +\def\logo{\copy\ntglogobox}%a \vbox +%end Personalisation +\def\bluetex{blue.tex} +%\catcode`\@=12 +\hoffset-1cm \voffset-1cm +\parindent1pc +\let\titlefont\bf +\let\headfont\bf +\let\subheadfont\bf +\let\subsubheadfont\bf +\let\subtitlefont\rm +\twocol +%\endinput +%;nonum +%Contents ppt cgl@rc.service.rug.nl +%- OTR +% \boxcs........................14 +% \setboxcs.....................15 +% \newboxcs.....................16 +% \midpage...................21-28 +% \headline..................30-31 +% \footline..................34-36 +% \pagenumber...................33 +% \today.....................37-41 +% \newcol.......................42 +% \newpage...................44-49 +% \incrcoloffset.............53-55 +% \output....................57-72 +%- Markup structures +% \title, \subtitle.............75 +% \author.......................76 +% \address, \netaddress.........77 +% \issue........................77 +% \thisscript, \everyscript.....78 +% \prehead, \posthead...........79 +% \presubhead...................80 +% \presubsubhead................81 +% \pasteupkeywords..............82 +% \pasteupabstract..............83 +% \pasteupcontents..............84 +% \beginscript.............101-110 +% \endscript...............111-114 +% \notlastscript...............115 +% \lastscript..................116 +% \prehead.................117-119 +% \posthead................120-121 +% \presubhead..............124-126 +% \beginhead...............122-123 +% \endhead.....................124 +% \beginsubhead............127-128 +% \endsubhead..................129 +% \beginsubsubhead.........133-134 +% \endsubsubhead...............135 +% \script..................159-161 +% \head....................151-153 +% \subhead.................154-156 +% \subsubhead..............157-158 +% \ignorepars..............159-160 +% \sraperongi..................161 +% \ignorewhitespace........162-169 +%- Miscellaneous +% \tubissue....................201 +% \\...........................202 +% \makesignature...........203-209 +% \on...................... +% \ona..................... +%- Defaults +% \onecol..................251-263 +% \twocol..................265-277 +%- Initializations 278-289 +% \author......................278 +% \address.................279-280 +% \netaddress..............281-282 +% \headfont....................286 +% \subheadfont.................287 +% \subsubheadfont..............288 +% \parindent...................285 +% \hoffset, \voffset...........284 +% +%Split-off---inner level---are +% - tugboat.cmn abbreviations +% - size switching macros +% - \beginquote...\endquote +% - \bitem (essentially plain's \item) +% - verbatim mode macros +% - (bibliography macros, +% \beginbtable...\endbtable, +% ...) +%Author: C.G van der Laan +% Hunzeweg 57, 9893P +% Garnwerd The Netherlands +% cgl@rc.service.rug.nl, 0594621525 +% +%History of changes +%March 1996 \on, \ona added +%Dec 1994 \global\advance\count0\@ne +% changed into plain's \advancepageno. +% Phil Taylor's +% \ignorewhitespace has been included. +% Parameterization over +% \headlinesep, \footlinesep. +% \makesignature's \diamond +% changed into \copyright. +%July 1994 No parameter separators for +% \head etc. +% \beginscript, \endscript instead +% of \article, \endarticle. +% Token variables for \prehead +% \posthead, \presubhead +% \presubsubhead. +%June 1994 Name changed into ppt.tex +%May 94 \runhead and \runfoot changed +% into \headline and \footline +% compatible with plain. +%March 94 Essential set up +%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ppt.tex%;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%Additions% +%Additions to ppt +%Shortcuts ;numvrb +\let\ea=\expandafter\let\nx=\noexpand +\let\ag=\aftergroup +\def\dash{--}\def\Dash{---} +\newtoks\contentsname +\newtoks\abstractname +\newtoks\keywordsname +\newtoks\acknowledgementsname +\newtoks\preacknowledgements +\preacknowledgements{\bigbreak\leftline{\bf + \the\acknowledgementsname}\nobreak + \medskip\noindent} +\newtoks\postacknowledgements +\def\DeK{D\kern-.11em\lower.5ex\hbox + {E}\kern-.1em K} %;vrblin=50 +\def\tiny{\fiverm\baselineskip7pt minus1pt + \let\it\fivei\let\bf\fivebf\def\oldstyle + {\fam1 \fivei}} %;vrblin=200 +%\pagenumber{\folio} +\newcount\fcnt +\def\ftn{\global\advance\fcnt1 + \footnote{${}^{\oldstyle\the\fcnt}$}} +\def\vfootnote#1{\insert\footins + \bgroup\interlinepenalty + \interfootnotelinepenalty + \splittopskip\ht\strutbox + \splitmaxdepth\dp\strutbox + \floatingpenalty\@MM + \leftskip\z@skip + \rightskip\z@skip + \spaceskip\z@skip + \xspaceskip\z@skip +%mods cgl +\small\noindent\llap{\oldstyle + #1\enspace}% +%end mods cgl + \footstrut\futurelet\next\fo@t +} +%LaTeX things ;vrblin=250 +%\def\\{\hfil\break} +\def\cite#1{(#1)} +\def\verb{} +\def\em{\it} +\def\cs#1{{\tt\char92 #1}} +%Some layout macros ;vrblin=300 +\newbox\keywordsbox +\keywordsname{Keywords} +% +\def\beginkeywords{\setbox\keywordsbox + \vbox\bgroup\subhead{\sevenbf + \the\keywordsname: }\small} +% +\def\endkeywords{\egroup} +% +\def\keywords#{\beginkeywords\bgroup + \aftergroup\endkeywords + \afterassignment\ignorespaces + \let\dummy=} +% +\newbox\abstractbox +%\abstractname{Abstract} +% +\def\beginabstract{\setbox\abstractbox + \vbox\bgroup\centerline{\sevenbf + \the\abstractname}\beginquote\small} +% +\def\endabstract{\endquote\egroup} +% +\def\abstract#{\beginabstract\bgroup + \aftergroup\endabstract + \afterassignment\ignorespaces + \let\dummy=} +% +\newbox\contentsbox +% +\let\se\quad\let\sse\qquad +% +\def\begincontents{\setbox\contentsbox + \vbox\bgroup\small\noindent + \the\contentsname\par\obeylines} +% +\def\endcontents{\egroup} +% +\def\contents#{\begincontents\bgroup + \aftergroup\endcontents + \afterassignment\ignorespaces + \let\dummy=} +% +\newbox\acknowledgementsbox +% +\def\beginacknowledgements{\setbox + \acknowledgementsbox=\vbox\bgroup} +% +\def\endacknowledgements{\egroup + \the\postacknowledgements} +% +\def\acknowledgements#{\beginacknowledgements + \bgroup\aftergroup\endacknowledgements + \afterassignment\ignorespaces + \let\dummy=} +% +\def\beginquote{\endgraf\bgroup\narrower + \smallbreak\noindent} +% +\def\endquote{\smallbreak\egroup\endgraf + \noindent} +% +\def\quote#{\beginquote\bgroup + \aftergroup\endquote + \afterassignment\ignorespaces + \let\dummy=} +% +\def\beginsummary{\beginquote + \narrower\sl} +% +\def\endsummary{\endquote\bigskip} +% +\def\summary#{\beginsummary\bgroup + \aftergroup\endsummary + \afterassignment\ignorespaces + \let\dummy=} +% +\def\begincenter{\bgroup\smallskip +\leftskip0pt plus1fill +\rightskip0pt plus 1fill +\parfillskip0pt +\obeylines} +% +\def\endcenter{\smallskip\egroup} +\def\center#{\begincenter\bgroup + \aftergroup\endcenter + \afterassignment\ignorespaces + \let\dummy=} +% +\def\begincenterblock{\bgroup + \let\par\cr\obeylines\startcenterblock} +{\obeylines\gdef\startcenterblock#1 + {$$#1\vbox\bgroup\halign\bgroup% + &##\hfil\cr}} +% +\def\endcenterblock{\egroup\egroup$$ + \egroup} +% +\def\begindisplaycenterline{% + $$\hbox\bgroup} +% +\def\enddisplaycenterline{\egroup$$} +% +\def\displaycenterline#{% + \begindisplaycenterline\bgroup + \aftergroup\enddisplaycenterline + \afterassignment\ignorespaces + \let\dummy=} +% +\def\begincenterdisplay{\csname + begindisplay\endcsname\vbox\bgroup} +% +\def\endcenterdisplay{\crcr\egroup\egroup$$} +% +% %;vrblin=350 +\def\bitem{\item{$\bullet$}} +% +\newcount\itemno +% +\def\nitem{\bgroup + \def\nitem{\advance\itemno1 + \item{\the\prenum{\oldstyle\the\itemno + }\the\postnum}} + \def\smallbreak{\endgraf\egroup + \smallbreak} + \let\smallskip\smallbreak\nitem} +% +\def\aitem{\bgroup\itemno96 + \def\aitem{\advance\itemno1 + \item{\char\itemno.}} + \def\smallbreak{\endgraf\egroup + \smallbreak} + \let\smallskip\smallbreak + \aitem} +% +\def\Aitem{\bgroup\itemno64 + \def\Aitem{\advance\itemno1 + \item{\char\itemno.}} + \def\smallbreak{\endgraf\egroup + \smallbreak} + \let\smallskip\smallbreak + \Aitem} +% +\def\endlist{\endgraf\egroup} +%On purpose no \smallskip or so. +% +\newtoks\thisexample +\newtoks\everyexample +\newtoks\preexample +\newtoks\postexample +\newtoks\examplename +% +\preexample{\vskip0pt plus5ex + \penalty-100\vskip0pt plus-5ex + \medbreak\noindent} +% +\postexample{\nobreak\par\noindent + \ignorewhitespace} +% +\def\beginexample{\the\preexample\bgroup + \the\examplename\kern1ex\sl + (\ignorewhitespace} +% +\def\endexample{)\egroup\the\postexample} +% +\def\example#{\beginexample\bgroup + \aftergroup\endexample + \afterassignment\ignorewhitespace + \let\dummy=} +%and the limited variants +\def\limexample#1{\the\preexample + \the\examplename\kern1ex{\sl(#1)}\nobreak + \par\noindent\ignorewhitespace} +%with as tribute to manmac +\def\blueexample#1\par + {\limexample{#1\unskip}} +% +\def\endintermezzo{\hfil\break\nobreak + {\bf End intermezzo.}\medbreak} +%For in \onecol +%;numvrb400 +\def\begindemo{\endgraf\line\bgroup + $\vcenter\bgroup\hsize.475\hsize + \beginverbatim} +% +\def\yields{\endverbatim + \global\thisverbatim{}\egroup$ + \kern\gutter + $\vcenter\bgroup\hsize.55\hsize} +% +\def\enddemo{\egroup$\hss\egroup} +%;numvrb500 +\def\pagenorepresentation#1{\quad\dotfill + {\oldstyle#1}} +% +\def\fbox#1{\setbox0\hbox{\strut + $\;$#1$\,$}\leavevmode\rlap{\copy0}% + \makelightbox} +%Knuth's frac Ex 11.6 +\def\frac#1/#2{\leavevmode\kern.1em + \raise.5ex\hbox{\the\scriptfont0 #1}% + \kern-.1em/\kern-.15em\lower.25ex + \hbox{\the\scriptfont0 #2}} +%Defaults +\let\small\eightpoint +\overfullrule=0pt +%;nonum +%Contents +%Newcount +% \itemcnt.................208 +%Newtoks +% \itemtag.................209 +%Shortcuts +% \ea, \nx....................1 +% \ag.........................2 +% \dash, \Dash................3 +% \DeK.....................6, 7 +%Font switching +% \tiny......................51 +% \small....................414 +% \cs.......................255 +%Footnote, paragraph +% \ftncnt...................202 +% \ftn..................203-204 +%LaTeX +% \\........................251 +% \cite.....................252 +% \verb.....................253 +% \em.......................254 +%Lay-out +% \keywordsbox..............301 +% \abstractbox..............311 +% \contentsbox..............321 +% \beginkeywords........303-305 +% \endkeywords..............306 +% \keywordsname.............302 +% \keywords.............307-310 +% \beginabstract........313-315 +% \endabstract..............316 +% \abstractname.............312 +% \abstract.............317-320 +% \begincontents........323-325 +% \endcontents..............326 +% \contentsname.............322 +% \contents.............327-330 +% \beginsummary......... +% \endsummary............... +% \summary.............. +% \beginquote...........331-332 +% \endquote.............333-334 +% \quote................335-338 +%Centering texts +% \begindisplaycenterline +% \enddisplaycenterline +% \displaycenterline +% \begincenter +% \endcenter +% \center +% \begincenterblock +% \endcenterblock +% \begincenter..........339-342 +% \endcenter................343 +% \center...............344-347 +% +% \bitem....................351 +% \itemno...................352 +% \nitem................353-359 +% \aitem................360-366 +% \Aitem................367-373 +% \endlist..................374 +% \example..............376-378 +% \endintermezzo........379-380 +% \begindemo............401-403 +% yields...405-408 +% \enddemo..................410 +%Parameterization ToC setting +% \pagenorepresentation.501-502 +%Built on manmac +% \fbox.................504-505 +%Defaults +% \overfullrule=0pt.........507 +% +%History of changes +%Jan 95 \xyz and \partlogo to tools.dat +% \pagenorepresentation added +%July 1994 Boxes for keywords, abstract, +% and contents added. +%March 1994 Set up +%end%%%%%%%%%%%%%%%%%%%%%%%%%%%Additions%;newpage +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%math extras% +%From Math into BLUes the mods +%-- \centering into \centeringp +% in order not to +% conflict with LaTeX +%-- \eqalign has gotten a repetitive +% template to allow for more +% than one alignment point. +%-- arrows for commutative diagrams +%-- Knuth's typographer's half +%-- prime for accenting summation symbols +%-- Poor man's symbols +% blackboard, grtlss, ext tensor prod. +\newskip\centeringp%plain's +\centeringp=0pt plus1000pt minus1000pt +\def\eqalign#1{\null\,\vcenter{\openup + \jot\m@th\ialign{\strut\hfil + $\displaystyle {##}$&&%mod cgl + $\displaystyle {{}##}$\hfil\crcr + #1\crcr }}\,} +\def\eqalignno#1{\displ@y + \tabskip\centeringp + \halign to\displaywidth{\hfil + $\@lign\displaystyle{##}$\tabskip\z@skip + &$\@lign\displaystyle{{}##}$\hfil + \tabskip\centeringp &\llap{$\@lign##$}% + \tabskip\z@skip\crcr + #1\crcr}} +\def\leqalignno#1{\displ@y + \tabskip\centeringp + \halign to\displaywidth {\hfil + $\@lign\displaystyle{##}$\tabskip\z@skip + &$\@lign\displaystyle{{}##}$\hfil + \tabskip\centeringp&\kern-\displaywidth + \rlap{$\@lign ##$}\tabskip\displaywidth + \crcr #1\crcr}} +% +\def\fracdek#1/#2{\leavevmode\kern.1em + \raise.50ex\hbox{\the\scriptfont0 #1} + \kern-.1em/\kern-.15em\lower.25ex + \hbox{\the\scriptfont0 #2}} +% +\def\lllongrightarrow{\relbar\joinrel% + \relbar\joinrel\relbar\joinrel% + \relbar\joinrel\rightarrow} +\def\llongrightarrow{\relbar\joinrel% + \relbar\joinrel\rightarrow} +\def\adaptedbaselines{% + \baselineskip20pt + \lineskip3pt + \lineskiplimit3pt} +\def\mapright#1{\smash{\mathop{ + \llongrightarrow}\limits^{#1}}} +\def\lmapright#1{\smash{\mathop{ + \lllongrightarrow}\limits^{#1}}} +\def\mapdown#1{\Big\downarrow + \rlap{$\vcenter{\hbox{$#1$}}$}} +\def\mapup#1{\Big\uparrow + \rlap{$\vcenter{\hbox{$#1$}}$}} +% +\def\acclap#1{{}^{\rlap{$\scriptstyle + #1$}}} +% +\def\cfsymbol{\vbox{\hbox to \wd0{\hss + \vrule height1.5\ht0} + \hrule + \hbox to \wd0{\vrule depth1.5\ht0 + \hss}}} +%Space saving variant continued fraction +\def\cf#1#2{\setbox0=\hbox{$#1\,\over + \,#2$}\vcenter{\cfsymbol}\kern-\wd0 + {#1\atop#2}} +% +\def\IN{{\rm I\kern-.5ex N}} +\def\Z{{\rm Z\kern-.9ex Z}} +\def\Q{{\rm\kern.2ex\vrule + height1.5ex depth-.1ex + width.4pt\kern-.7ex Q}} +\def\R{{\rm I\kern-.5ex R}} +\def\C{{\rm\kern.3ex\vrule + height1.5ex depth-.05ex + width.4pt\kern-.7ex C}} +\def\gtrless{\mathrel{\vcenter{ + \offinterlineskip\hbox{${>}$}% + \kern-.2ex\hbox{${<}$} } }} +\def\boxit#1{\vbox{\hrule\hbox{% <--!! + \vrule#1\vrule}\hrule}} +\def\boxtimes{\mathbin{\boxit + {$\times$}}} +%end%%%%%%%%%%%%%%%%%%%%%%%%%math extras%;newpage +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%icons% +%From icons via LaTeX's fonts. +%Here use is made of gkpmac's picture +%environment. +\def\icmat#1#2{%ICon MATrix(rectangular) +%#1 is ht of icon matrix, e.g. 4 +%#2 is wd of icon matrix, e.g. 2 +\vbox{\hrule + \hbox to#2\unitlength{\vrule + height#1\unitlength\hfil\vrule}% + \hrule}% +}%end icmat +% +\def\icurt#1#2{%IConUpperRightTriangle +%#1 is ht of icon matrix, with UT +%the upper triangular part, e.g. 4 +%#2 is wd of icon (upper triangular) +%matrix, e.g. 2 +\vbox to #1\unitlength{\hrule + \hbox{\gkpbeginpicture(#2,#2)(0,0)% + \put(0,#2){\line(1,-1){#2}}% + \gkpendpicture\vrule}% + \vss}% +}%end icurt +% +\def\squineicurt#1#2{%IConUpperRightTriangle +%#1 is ht of icon matrix, with UT +%the upper triangular part, e.g. 4 +%#2 is wd of icon (upper triangular) +%matrix, e.g. 2 +%For small diaglines +\csname newcount\endcsname\half +\half#2 \divide\half 2 +\vbox to #1\unitlength{\hrule + \hbox{\gkpbeginpicture(#2,#2)(0,0)% + \put(0,0){\squine(0,\the\half,#2,#2,% + \the\half,0)}% + \gkpendpicture\vrule}% + \vss}% +}%end icurt +\def\icllt#1#2{%IConLowerLeftTriangle +%#1 is ht of icon matrix, with LT +%the lower triangular part, e.g. 4 +%#2 is wd of icon (lower triangular) +%matrix, e.g. 2 +\vbox to #1\unitlength{\vss + \hbox{\vrule + \gkpbeginpicture(#2,#1)(0,0)% + \put(0,#2){\line(1,-1){#2}}% + \gkpendpicture}% + \hrule}% +}%end icllt +% +\def\icuh#1#2#3{%IConUpperHessenberg +%#1 is size of icon matrix, with UH +% the upper Hessenberg part, e.g. 4 +%#2 is wd of icon (upper Hesenberg) +% matrix, e.g. 1 +%#3 is size Lower Left triangular part, +% #1-#2 (for simplicity the latter is added, +% could have been calculated, perhaps some +% inconsistency test could be incorporated) +\vbox{\offinterlineskip + \hrule + \hbox to#1\unitlength{\vrule height% + #2\unitlength depth0pt\relax + \hfil\vrule}% + \hbox to#1\unitlength + {\gkpbeginpicture(#3,#3)(0,0)% + \put(0,#3){\line(1,-1){#3}}% + \gkpendpicture\hfil\vrule}% + \hbox to#1\unitlength{\hfil\vrule + width#2\unitlength height.2pt\relax}% + }% +}%end icuh +%Example of use +%\input blue.tex +%\beginscript +%\unitlength=1ex +%$$\icmat44\kern\unitlength\icllt44= +% \icllt44\icuh413\qquad AL=LH$$ +%$$\icmat63=\icmat63\kern\unitlength +% \icurt63\qquad A=QR$$ +%\endscript +%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%icons%;newpage +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%btable% +%Table Diversions cgl@rc.service.rug.nl +%EuroTeX '92 proceedings, MAPS92.2. +%The article discusses typsetting tables +%via plain, surveys related work, +%introduces the file btable.tex, and +%provides a discipline for typesetting +%cell-blocks. +%;numvrb +\newbox\btablebox +\newtoks\thisbtable\newtoks\everybtable +\newtoks\prebtable\newtoks\postbtable +%Cell vertical size, +%row height and depth (separation implicit), +\newdimen\cvsize +\newdimen\tsht \newdimen\tsdp +\newdimen\tvsize\newdimen\thsize +%Parameter setting macros: Rules +\def\hruled{\def\lineglue{\hrulefill} + \def\colsep{}\def\rowsep{\hrule} + \let\rowstbsep=\colsep + \let\headersep=\rowsep} +\def\vruled{\def\lineglue{\hfil} + \def\colsep{\vrule}\def\rowsep{} + \let\rowstbsep=\colsep + \let\headersep=\hrule} +\def\ruled{\def\lineglue{\hrulefill} + \def\colsep{\vrule}\def\rowsep{\hrule} + \let\rowstbsep=\colsep + \let\headersep=\rowsep} +\def\nonruled{\def\lineglue{\hfil} + \def\colsep{}\def\rowsep{} + \def\rowstbsep{\vrule} + \def\headersep{\hrule}} +\def\dotruled{\def\lineglue{\dotfill} + \def\rowsep{\hbox to\thsize{\dotfill}} + \def\colsep{\lower1.5\tsdp\vbox to + \cvsize{\leaders\hbox to0pt{\vrule + height2pt depth2pt width0pt\hss.\hss} + \vfil}} + \let\rowstbsep=\colsep + \let\headersep=\rowsep} +%Parameter setting macros: +% Controling positioning +\def\ctr{\def\lft{\hfil}\def\rgt{\hfil}} +%Centered +\def\fll{\def\lft{} \def\rgt{\hfil}} +%Flushed left +\def\flr{\def\lft{\hfil}\def\rgt{}} +%Flushed right +%Parameter setting macros: Framing +\def\framed{\let\frameit=\boxit} +\def\nonframed{\def\frameit##1{##1}} +\def\dotframed{\let\frameit=\dotboxit} +%;vrblin=100 +\def\beginbtable{\vbox\bgroup +\ifx\empty\rowstblst \let\rsl=\rowstblst +\else\ea\def\ea\rsl\ea{\rowstblst{}}%Append with sentinel +\fi\ifx\empty\template\ifx\empty\rsl + \def\template{\colsepsurround + \lft####\rgt&&\lft####\rgt\cr} + \else\def\template{\colsepsurround + ####\hfil&&\lft####\rgt\cr}\fi +\fi +\def\tstrut{\vrule height\tsht + depth\tsdp width0pt} +%Logical mark up of column and +%row separators, via use of +\def\cs{&\colsepsurround\colsep + \colsepsurround&} +\def\prs{&\colsepsurround\lineglue&} +\def\srp{&\lineglue\colsepsurround&} +\def\rs{\colsepsurround\tstrut\cr + \ifx\empty\rowsep + \else\noalign{\rowsep}\fi + \ifx\empty\rsl + \else\ea\nxtrs\fi} +\def\grs{\colsepsurround\tstrut\cr\ghostrow} +\def\ghostrow{\rss\prs\logms2\lineglue\cr\nxtrs} +\def\rss{&\colsepsurround\rowstbsep + \colsepsurround&} +\def\hs{\colsepsurround\tstrut\cr + \ifx\empty\headersep + \else\noalign{\headersep}\fi + \ifx\empty\rsl\else\ea\nxtrs\fi} +\the\everybtable\relax +\the\thisbtable\relax +\cellsize +\tsht=.775\cvsize\tsdp=.225\cvsize +\setbox\btablebox=\vbox\bgroup + \tabskip=0pt\relax\offinterlineskip + \halign\bgroup + \span\template\ifx\empty\first + \ifx\empty\rsl + \else\ifx\empty\header + \else\ea\rss\fi + \fi\else\first\ea\rss\fi + \ifx\empty\header + \ifx\empty\first + \ifx\empty\rsl\else + \ea\nxtrs\fi\else\ea\hs\fi + \else\header\tstrut\ea\hs\fi}% +%end \beginbtable +%;vrblin=200 +\def\endbtable{\colsepsurround + \tstrut\crcr\egroup\egroup + %end setbox + \global\thsize=\wd\btablebox + \global\tvsize=\ht\btablebox + \global\advance\tvsize by\dp\btablebox + \the\prebtable + \ifx\btablecaption\empty + \else\hbox to\thsize{\strut\hfil + \btablecaption\hss}\captionsep\fi + \frameit{\copy\btablebox} + \ifx\footer\empty + \else\footersep\hbox to\thsize{\strut + \footer\hss}\fi + \egroup\the\postbtable + \thisbtable={}}% +%end \endbtable +% +\def\btable#1{\beginbtable#1\endbtable} +%Defaults %;vrblin=300 +\def\cellsize{\cvsize=4ex + \tsht=.775\cvsize\tsdp=.225\cvsize} +%\cellsize +\def\colsepsurround{\kern.5em} +\def\btablecaption{} +\def\first{} +\def\header{} +\def\rowstblst{} +\def\footer{} +\def\captionsep{\medskip} +\def\headersep{\hrule} +\def\footersep{\smallskip} +\def\rowstbsep{\vrule} +\def\template{} +\ctr +\nonruled +\nonframed +%end Defaults +%Auxiliaries %;vrblin=350 +\def\boxit#1{\vbox{\hrule\hbox{\vrule + \vbox{#1}\vrule}\hrule}} +\def\dotboxit#1{\vbox{\offinterlineskip + \hbox to\thsize{\dotfill}% + \hbox{\lower\dp\btablebox\vbox to\tvsize{% + \xleaders\hbox to0pt{\hss\vrule + height1.5pt depth1.5pt width0pt.\hss + }\vfil}% + \vbox{#1}\lower\dp\btablebox\vbox to\tvsize{% + \xleaders\hbox to0pt{\hss\vrule + height1.5pt depth1.5pt width0pt.\hss + }\vfil}}% + \hbox to\thsize{\dotfill}}} +%And to account for logical columns with +%\logms% logical multispan +\def\spicspan{\span\omit} +\def\logms#1{\omit\mscount=#1\multiply + \mscount by2 \advance\mscount by-1 + \loop\ifnum\mscount>1 + \spicspan\advance\mscount by-1 + \repeat} +%To process FIFO +\def\fifo#1{\ifx\ofif#1\ofif\fi + \process{#1}\fifo} +\def\ofif#1\fifo{\fi} +%To handle row stub list +\def\nxtrs{\ifx\empty\rsl + \else\def\nxtel{\ea\nrs\rsl\srn}% + \ea\nxtel\fi}%next Row Stub +\def\nrs#1#2\srn{\gdef\rsl{#2}#1\rss} +%\endinput %btable +%;nonum +%Contents btable.tex +%Newbox +% \btablebox..................1 +%Newtoks +% \thisbtable, \everybtable...2 +% \prebtable, \postbtable.....3 +%Parameter setting: rules +% \hruled.................10-13 +% \vruled.................14-17 +% \ruled..................18-21 +% \nonruled...............22-25 +% \dotruled...............26-33 +%Parameter setting: positioning +% \ctr.......................36 +% \fll.......................38 +% \flr.......................40 +%Parameter setting: framing +% \framed....................43 +% \nonframed.................44 +% \dotframed.................45 +%User macro +% \beginbtable..........101-148 +% \endbtable............201-217 +% \btable...................219 +%Defaults +% \cellsize.............301-303 +% \colsepsurround...........304 +% \btablecaption............305 +% \first....................306 +% \header...................307 +% \rowstblst................308 +% \footer...................309 +% \captionsep...............310 +% \headersep................312 +% \footersep................312 +% \rowstbsep................314 +% \template.................314 +% \ctr......................320 +% \nonruled.................321 +% \nonframed................322 +%Auxiliaries +% \boxit................351-352 +% \dotboxit.............353-363 +% \spicspan.................366 +% \logms................367-371 +% \fifo.................373-374 +% \ofif.....................375 +% \nxtrs................377-379 +% \nrs......................380 +% +%History of changes +%Version +%December 1994 +%\rowstblst (and \rsl): +% no longer does last element of list +% need extra braces. +%\postbtable is token variable +%to guide user positioning. +%\data omitted in the macro. +%Formatting of footer made symmetrical +%with caption. +%\dotboxit corrected such that +%vertical dotted lines are symmetrical +%July 1994 +% \cellsize is invoked in +% \beginbtable. +% Token vars for \prebtable +% \postbtable. +%June 1994 +% \beginbtable...\endbtable +% two-part macro +% \btable minimal variant +% \preinsert, \postinsert changed +% into \prebtable, \postbtable +% toks vars: \everybtable, +% \thisbtable +%Version 1.1 \btablecaption as caption +% (to prevent name clashes) +% \def\cellsize{\cvsize= +% et cetera} to be used +% as default +% and after font change. +%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%btable%;newpage +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%vrb% +%vrb.tex +%Author: C.G. van der Laan +% Hunzeweg 57, 9893PB +% Garnwerd The Netherlands +% 0594621525, cgl@rc.service.rug.nl. +%Purpose: Verbatim macros via plain, +% to be used with AnyTeX. +% ;numvrb +%User toks variables +\newtoks\thisverbatim +\newtoks\everyverbatim +\newtoks\preverbatim +\newtoks\postverbatim +% +%User customization +\preverbatim{\medskip} +\postverbatim{\smallbreak} +% ;vrblin100 +%User `options': \numvrb +\newcount\vrblin +\def\numvrb{\vrblin0 + \everypar{\advance\vrblin1 + \llap{\sevenrm\the\vrblin\quad}}} +\def\nonum{\everypar={}} +% : \emc, \unmc +\def\makeescape#1{\catcode`#1=0 } +\def\makeactive#1{\catcode`#1=13 } +{\makeactive\< + \gdef\emc{\makeactive\<% + \def<##1>{$\langle##1\rangle$}}} +\def\unmc{\catcode`\<=12 }%;vrblin200 +%User macro +\def\beginverbatim{\begingroup + \the\preverbatim\tt\setupverbatim + \the\everyverbatim\relax + \the\thisverbatim\relax + \verbatimgobble} +% +\def\endverbatim{\the\postverbatim + \endgroup\global\thisverbatim={}} +% +\def\setupverbatim{%\makeactive\`% + \let\!=!\makeescape\!%Knuth&Levy + \def\par{\leavevmode\endgraf}%TB381 + \parskip0pt + \obeylines\uncatcodespecials + \obeyspaces} +% +{\obeyspaces\global\let =\ \catcode`\^=7 + \obeylines\gdef\verbatimgobble#1^^M{}% +%\makeactive\` \gdef`{\relax\lq}%TB381 +}% +\def\uncatcodespecials{\def\do##1{% + \catcode`##1=12 }\dospecials} +% +\def\math{\bgroup$\catcode`\_=8\relax + \catcode`\^=7\relax} +\def\endmath{$\egroup} +% +\def\verbatim#{\beginverbatim\bgroup + \aftergroup\endverbatim + \afterassignment\ignorespaces + \let\dummy=} +% ;vrblin250 +%Minimal | tag for inline verbatim +\def\vrt{{\tt\char`\|}}\makeactive\| +\def|{\bgroup\tt\setupverbatim + \the\everyverbatim\relax + \the\thisverbatim\relax + \def|{\egroup\thisverbatim{}}} +%;\vrblin300 +%centering verbatims +\def\boxlines{\obeyspaces\fifol} +%\gdef\fifol#1^^M{\ifx\lofif#1\lofif\fi +% \processl{#1}\fifol} +\def\begincenterverbatim{$$% + \def\processl##1{\hbox{##1}}% + \def\lofif##1\fifol{\fi\egroup + \egroup$$\thisverbatim{}} + \let\endcenterverbatim\lofif + \bgroup\tt\setupcopy + \let\!=!\catcode`\!=0 + \the\everyverbatim\the\thisverbatim + \vbox\bgroup\boxlines} +% +{\obeylines\gdef\fileverbatim#1{% + \thisverbatim{\input#1}\beginverbatim + \endverbatim +}} +\def\bluefileverbatim#1\par{\fileverbatim{#1}} +%Default +\everyverbatim{\baselineskip12pt + plus2ptminus1pt + \lineskip1ptplus1ptminus1pt} +%\endinput +% ;nonum +%Contents vrb.tex cgl@rc.service.rug.nl +%Newtoks +% \thisverbatim.................2 +% \everyverbatim................3 +% \preverbatim..................4 +% \postverbatim.................5 +%Customization +% \preverbatim..................8 +% \postverbatim.................9 +%Options +% \numvrb.................103-105 +% \vrblin.....................104 +% \nonum......................106 +% \makeescape.................108 +% \makeactive.................109 +% \emc....................111-112 +% \unmc.......................113 +% <#1>........................112 +%User macro +% \beginverbatim..........202-206 +% endverbatim...208-209 +% \verbatim...............228-231 +% \setupverbatim..........211-215 +% \verbatimgobble.............218 +% `...........................219 +% \uncatcodespecials..........221 +% math.......224-225 +% endmath....... 226 +% \begincenterverbatim....305-313 +%Inline verbatim +% \vrt........................252 +% vertical bar symbol...... ..253 +%Files +% \bluefileverbatim........... +% +%History of changes +%March 1996 \bluefileverbatim added +%July 1994 Version 2 +% \pre- and \postverbatim +% changed into token vars. +% Added +% \unmc, unable metacode +% \verbatim minimal tag +% math +% endmath +%Febr 1994 Release Version 1.0 +%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%vrb%;newpage +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%bibliography% +%From BLUe's Bibliography%;numvrb +%\ls template +\newcount\bcnt +\def\lsstraight{\let\ls\nitem} +% +%\ls a la AMS +% +\newcount\suffixcnt +\def\lsams{\frenchspacing + \let\lstnme\relax \let\lstyear\relax + % + \def\ls##1{\ea\bibitem##1} + % + \def\bibitem##1(##2){% + \def\authornme{##1}% + \def\authoryear{##2}% + \ifx\lstnme\authornme + \def\authornme{------}% + \ifx\lstyear\authoryear + \global\advance\suffixcnt1 + \def\authoryear{--}% + \else\let\lstyear\authoryear\suffixcnt0 + \fi + \else\let\lstnme\authornme + \let\lstyear\authoryear\suffixcnt0 + \fi\nitem\authornme$\,$% + (\authoryear\suffix)}%end \bibitem +% +\def\suffix{\ifcase\suffixcnt\or a\or b\or + c\or d\or e\or f\or g\or h\or i\or j\or + k\or l\or m\or n\or o\or p\or q\or r\or + s\or t\or u\or v\or w\or x\or y\or z\fi} +} %;vrblin100 +%Loading +%Load selected entries +\def\gobble#1{} +\def\loadselectivefrom#1{%#1 lit etc. + \def\lst##1{\ifx##1\undefined\ea\gobble + \else \ea\gdef\ea##1\fi} + \input #1.dat \relax%e.g. lit.dat + } %;vrblin200 +\newif\ifstore \storetrue +\newtoks\thisreferences +\newtoks\referencesname +\newtoks\prereferences +\newtoks\postreferences +\newtoks\referencesfile +\newbox\referencesbox +\referencesfile{lit} +%\referencesname{References} +\def\references#1{\beginreferences#1% + \endreferences} +\def\bluereferences#1\par + {\beginreferences#1\endreferences} +\def\loadreferences{\loadselectivefrom + {\the\referencesfile}} +\def\beginreferences#1\endreferences{% + \bgroup\def\process##1{\ifx\undefined##1 + \global\let##1\referenceserror\else + \message{***\tt\string##1 + already loaded.***} + \fi\namelst\ea{\the\namelst\lst##1}}% + \fifo#1\ofif + \if]#1]\else\ea\loadreferences\fi + %formatting + \ifstore\global\setbox\referencesbox= + \vbox\bgroup\fi\prenum{}\postnum{} + \lsams%Default ls + \the\thisreferences + \def\lst##1{\ls{##1} + \xdef##1{\the\itemno}} + \the\namelst\endreferences} +% +\def\referenceserror{Reference not in + database (Sorry.)\loaderror{Reference}} +% +\def\endreferences{\smallbreak\egroup + \ifstore\egroup\fi + \thisreferences{}} +% +\def\pasteupreferences{% + \the\prereferences + \unvbox\referencesbox + \the\postreferences} +% +\prereferences{\head{\the + \referencesname}} +%\postreferences{} +%;vrblin250 +%Double loading is not prevented +%instead a message is provided. +\def\beginpictures#1\endpictures{% + \def\process##1{\ifx\undefined##1 + \gdef##1{Picture {\tt\string##1} not + in database, Sorry. + \loaderror{Picture}}% + \else \message{***\string##1 + already loaded.***}% + \fi}% + \fifo#1\ofif + \loadselectivefrom{\the\picturesfile} + \commonforpic} +% +%\def\endpictures{\egroup} +% +\def\pictures#1{\beginpictures#1% + \endpictures} +\def\bluepictures#1\par + {\beginpictures#1\endpictures} +\def\loadallpictures{\input\the + \picturesfile.dat\relax\commonforpic} +% +\def\loaderror#1{\write16{#1 not in + database}} +%\endinput %;nonum +%Contents bibliography +% cgl@rc.service.rug.nl +%Newcount +% \bcnt.........................2 +% \suffixcnt....................8 +%Newif +% \ifstore....................201 +%Newtoks +% \thisreferences.............202 +% \referencesname........203, 206 +% \prereferences.........204, 234 +% \postreferences.............205 +%Newbox +% \referencesbox..............206 +%Initializations +% \prereferences..........231-232 +% \postreferences.............233 +%\ls customization +% \lsstraight.................3-6 +% \lsams.....................9-34 +% \suffix...................30-33 +%loading +% \gobble.....................102 +% \loadselectivefrom......104-109 +%User level +% \references.............208-209 +% \beginreferences........210-225 +% \endreferences..........226-228 +% \pasteupreferences......230-233 +% \beginpictures..........251-259 +% \endpictures................260 +% \pictures...............261-262 +% \loadallpictures........263-265 +% \loaderror..............266-267 +%History of changes +%July 1994 Information supplied before +% \beginscript, past up later. +% Separate loading of pictures. +%June 1994 Simpler user interface +% \beginreferences +% \ ... \ +% \endreferences +%Created May 1994 +%end%%%%%%%%%%%%%%%%%%%%%%%%bibliography%;newpage +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%Cross-Refs% +%From BLUe's Cross-Referencing +%cgl@rc.service.rug.nl %;numvrb +\newif\ifadvance \advancetrue +\newcount\frmcnt +\newtoks\prenum\newtoks\postnum +%Default prenum and postnum +\prenum{(}\postnum{)} +%Automatic numbering +\def\frmnum{\ifadvance\global\advance + \frmcnt1 \fi + \the\prenum\the\frmcnt\the\postnum} +%Automatic numbering and attaching a name +\def\ref{\frmnum\create} +%\def\create#1{\ifx#1$$\else +% \xdef#1{\the\frmcnt}\fi} +%The version, which handles also displaylines +\def\create#1{\ifx#1$$\else + \ifx#1\hfil\hfil\else + \xdef#1{\the\prenum\the\frmcnt + \the\postnum}\fi\fi} +%Citation +\newif\ifproof \prooftrue +\def\crsref#1{\ifx#1\undefined{\ifproof + \leavevmode\vadjust{\kern-1ex + \rightline{\vbox to0pt{\vss + \rlap{FR: \tt\string#1}}}}\fi} + \else#1\fi} +%;nonum +%Contents Cross-Referencing +% cgl@rc.service.rug.nl +%Newifs, newcounts +% \ifadvance, \ifproof..........1, 18 +% \frmcnt...........................2 +%Newtoks +% \prenum, \postnum.................3 +%Context +% \prenum, \postnum.................4 +%Automatic numbering, referencing +% \frmnum.........................7-9 +% \ref.............................11 +% \create.......................15-16 +%Cross referencing +% \crsref.......................19-23 +% +%History of changes +%Jan 95 \prenum and postnum values are +% stored together with the number +% by \create +%June 94 Designed. +%end%%%%%%%%%%%%%%%%%%%%%%%%%%%cross-ref%;newpage +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%gkppic% +%From gkpmac (line diagrams) +% `Pictures (a subset of \LaTeX's +% conventions)' +%These macros have been used for typesetting +%`Concrete Mathematics,' among others. +% cgl@rc.service.rug.nl ;numvrb +%\catcode`@=11 % borrow the private macros +% % of PLAIN (with care) +\newskip\hsssglue +\hsssglue=0pt plus 1fill minus 1fill +\def\hsss{\hskip\hsssglue} + +\newdimen\unitlength +\newdimen\linethickness +\newdimen\@picheight \newdimen\@xdim +\newdimen\@ydim \newdimen\@len \newdimen\@save +\newcount\@multicount \newcount\@xarg +\newcount\@yarg\newbox\@picbox \newbox\@mpbox + +\font\tenln=line10 \font\tenlnw=linew10 +\font\tencirc=lcircle10 +\font\tencircw=lcirclew10 +\font\smallln=linew10 scaled 483 % magstep-4 + +\def\thinlines{\let\linefont=\tenln + \let\circlefont=\tencirc + \linethickness=\fontdimen8\linefont} +\def\thicklines{\let\linefont=\tenlnw + \let\circlefont=\tencircw + \linethickness=\fontdimen8\linefont} +\thinlines + +\def\gkpbeginpicture(#1,#2)(#3,#4){\begingroup +\@picheight=#2\unitlength \let\line=\@line + \setbox\@picbox=\hbox to#1\unitlength + \bgroup\kern-#3\unitlength + \lower#4\unitlength\hbox\bgroup + \ignorespaces} +\def\gkpendpicture{\egroup\hss\egroup + \ht\@picbox=\@picheight \dp\@picbox=\z@ + \leavevmode\box\@picbox\endgroup} + +\def\put(#1,#2)#3{\raise#2\unitlength + \rlap{\kern#1\unitlength #3}\ignorespaces} + +\def\multiput(#1,#2)(#3,#4)#5#6{\@multicount + =#5\@xdim=#1\unitlength \@ydim=#2\unitlength +\setbox\@mpbox=\hbox{#6}% + \loop\ifnum\@multicount>0 + \raise\@ydim\rlap{\kern\@xdim + \unhcopy\@mpbox}% + \advance\@xdim#3\unitlength + \advance\@ydim#4\unitlength + \advance\@multicount\m@ne + \repeat\ignorespaces} + +%makebox is replaced because its reference +%point does not coincide with LaTeX's +%\def\makebox(#1,#2)#3{\setbox\@picbox= +% \hbox to#1\unitlength{\hss#3\hss}% +% \advance\@ydim-\dp\@picbox +% \ht\@picbox=#2\unitlength +% \dp\@picbox=\z@ +% \leavevmode\lower.5\@ydim\box\@picbox} +\def\makebox(#1,#2)#3{% + \hbox to#1\unitlength{\hss + \vbox to#2\unitlength{\vss + \hbox{#3}\vss}\hss}} +%LaTeX's framebox is added +\def\framebox(#1,#2)#3{\setbox0= + \hbox to#1\unitlength{\hss + \vbox to#2\unitlength{\vss + \hbox{#3}\vss}\hss}% + \makelightbox\kern-\wd0\box0} + +\newif\ifneg +\def\@line(#1,#2)#3{\@xarg=#1 \@yarg=#2 + \@len=#3\unitlength \leavevmode + \ifnum\@xarg<0 \reverseline \else + \negfalse \@ydim=\z@\fi + \ifnum\@xarg=0 \@vline + \else\ifnum\@yarg=0 \@hline + \else\@sline\fi\fi +\ifneg\kern-\@len\else\@save=\@ydim\fi} +\def\reverseline{\negtrue \kern-\@len + \@xarg=-\@xarg + \@ydim=\@len \multiply\@ydim\@yarg + \divide\@ydim\@xarg \@yarg=-\@yarg} + +\def\@hline{\vrule height.5\linethickness + depth.5\linethickness width\@len} +\def\@vline{\kern-.5\linethickness\vrule + width\linethickness + \ifnum\@yarg<0 height\z@ depth\else + depth\z@ height\fi\@len + \kern-.5\linethickness} + +\def\@sline{\setbox\@picbox=\hbox{\linefont + \count@=\@xarg \multiply\count@ 8 + \ifnum\@yarg>0 \advance\count@\@yarg + \advance\count@-9 + \else \advance\count@-\@yarg + \advance\count@ 55 \fi + %\immediate\write0{count@=\the\count@}% + \char\count@}% + \ifnum\@yarg<0 \@picheight=-\ht\@picbox + \advance\@ydim\@picheight + \else \@picheight=\ht\@picbox \fi + \@xdim=\wd\@picbox \@save=\@ydim +%\hbox to0pt{\hss$\bullet$\hss}% + \loop\ifdim\@xdim<\@len + \raise\@ydim\copy\@picbox + \advance\@xdim\wd\@picbox + \advance\@ydim\@picheight%\immediate + %\write0{x, y: \the\@xdim, \the\@ydim}% + \repeat + \advance\@xdim-\@len \kern-\@xdim + \multiply\@xdim\@yarg + \divide\@xdim\@xarg + \advance\@ydim-\@xdim +%Mod cgl June 94 + \ifdim\@len<\ht\@picbox + \kern\wd\@picbox\else + \raise\@ydim\box\@picbox\fi} + +\def\vector(#1,#2)#3{\@line(#1,#2){#3}% + \ifnum\@xarg=0 \@vvector + \else\ifnum\@yarg=0 \@hvector + \else\@svector\fi\fi} +\def\@hvector{\ifneg\rlap{\linefont\char + 27}\else\smash{\llap{\linefont\char45}}\fi + } % we have to smash because of font bug +\def\@vvector{\ifnum\@yarg<0 + \raise-\@len\rlap{\linefont\char63}% + \else\setbox\@picbox=\rlap{\linefont + \char54}\advance\@len-\ht\@picbox + \raise\@len\box\@picbox\fi} + +\def\@svector{\setbox\@picbox=\hbox + to\z@{\linefont + \ifnum\@yarg<0 \count@=55 \@yarg=-\@yarg + \else\count@=-9 \fi + \ifneg\multiply\@xarg16 \multiply\@yarg2 + \else\hss % \llap + \ifnum\@xarg>2 \multiply\@xarg9 + \multiply\@yarg2 + \advance\count@29 + \else\ifnum\@yarg>2 \multiply\@xarg16 + \multiply\@yarg9 + \advance\count@-20 + \else\multiply\@xarg24 \multiply\@yarg3 + \fi\fi\fi + \advance\count@\@xarg + \advance\count@\@yarg \char\count@ + \ifneg\hss\fi}% \rlap + \raise\@save\box\@picbox} + +\def\disk#1{\@len=#1\unitlength + \count@='160 \@diskcirc} +\def\circle#1{\@len=#1\unitlength + \count@='140 \@diskcirc} +\def\@diskcirc{\setbox\@picbox= + \hbox{\circlefont\char\count@}% + \@xdim=\wd\@picbox \leavevmode + \ifdim\@len>15.499\@xdim \@bigdc + \else \@smalldc\fi} +\def\@bigdc{\ifnum\count@<'160 \@bigcirc + \else \@len=15\@xdim \@diskcirc\fi} +\def\@smalldc{{\advance\@len-.5\@xdim + \loop\ifdim\@xdim<\@len + \advance\count@\@ne + \advance\@xdim\wd\@picbox + \repeat + \hbox{\circlefont\char\count@}}} +\def\@bigcirc{{\circlefont\count@=15 + \setbox\@picbox=\hbox{\char\count@ + }\@xdim=\wd\@picbox + \ifdim\@len>2.5\@xdim \@len=2.5\@xdim\fi + \advance\@len-.125\wd\@picbox + \loop\ifdim\@xdim<\@len + \advance\count@4 + \advance\@xdim.25\wd\@picbox + \repeat + \@ydim=.5\@xdim + \advance\@ydim.5\linethickness + \setbox\@picbox=\vbox{\hbox{\char + \count@\advance\count@-3\char\count@}% + \nointerlineskip + \hbox{\advance\count@\m@ne\char + \count@\advance\count@\m@ne + \char\count@}}% + \kern-\@ydim\lower\@ydim\box\@picbox}} + +\newif\ifovaltl \newif\ifovaltr +\newif\ifovalbl \newif\ifovalbr +\ovaltltrue \ovaltrtrue +\ovalbltrue \ovalbrtrue +\def\oval(#1,#2){\@xdim=#1\unitlength + \@ydim=#2\unitlength + {\circlefont + \setbox\@picbox=\hbox{\char0} + \ifdim\@xdim<\wd\@picbox + \@xdim=\wd\@picbox\fi + \ifdim\@ydim<\wd\@picbox + \@ydim=\wd\@picbox\fi + \@save=\@xdim + \ifdim\@ydim<\@save \@save=\@ydim \fi + \count@=39 + \loop \setbox\@picbox=\hbox{\char + \count@}\ifdim\@save<\wd\@picbox + \advance\count@-4 + \repeat + \setbox\strutbox=\hbox{\vrule height\ht + \@picbox depth\dp\@picbox width\z@ + \kern\wd\@picbox}% + \@save=.5\wd\@picbox + \advance\@save-.5\linethickness + \setbox0=\hbox to\@xdim{\ifovaltl + \char\count@\else\strut\fi + \kern-\@save\leaders\hrule height + \ifovaltl\linethickness\else\z@\fi + \hfil + \leaders\hrule height\ifovaltr + \linethickness\else\z@\fi + \hfil\kern\@save + \ifovaltr\advance\count@-3 + \char\count@\else\strut\fi + \kern-\wd\@picbox}% + \advance\count@\m@ne + \setbox2=\hbox to\@xdim{\ifovalbl + \char\count@\else\strut\fi + \kern-\@save\leaders\hrule height + \ifovalbl\linethickness\else\z@\fi + \hfil + \leaders\hrule height + \ifovalbr\linethickness\else + \z@\fi\hfil\kern\@save + \ifovalbr\advance\count@\m@ne + \char\count@\else\strut\fi + \kern-\wd\@picbox}% + \@save=\@ydim + \advance\@save-\wd\@picbox + \divide\@save 2 + \setbox\@picbox=\vbox{\box0 + \nointerlineskip + \hbox to\@xdim{\vrule height\@save + width\ifovaltl\linethickness + \else\z@\fi + \hfil\ifovaltr\vrule + width\linethickness + \kern-\linethickness\fi}% + \nointerlineskip + \hbox to\@xdim{\vrule height\@save + width\ifovalbl\linethickness + \else\z@\fi + \hfil\ifovalbr\vrule + width\linethickness + \kern-\linethickness\fi}% + \nointerlineskip\box2}% + \@save=.5\@ydim + \advance\@save.5\linethickness + \leavevmode + \kern-.5\@xdim + \kern-.5\linethickness + \lower\@save\box\@picbox}} + +\def\begincpic#1\endcpic{\vcenter{\hbox + {\beginpicture#1\endpicture}}} + +% Squines (quadratic splines) +% example of use: to plot f(x) between +% x0 and x1, you can say +% \put(0,0){\squine(x0,xm,x1,y0,ym,y1)}, +% where y0=f(x0), y1=f(x1) +% xm=(y0-y1+s1x1-s0x0)/(s1-s0), +% ym=(s0(s1x1-y1)-s1(s0x0-y0))/(s1-s0), +% s0=f'(x0), and s1=f'(x1). + +\newdimen\@xi \newdimen\@xii +\newdimen\@xiii \newdimen\@xiv +\newdimen\@xpt \newdimen\@xoldpt +\newdimen\@yi \newdimen\@yii +\newdimen\@yiii \newdimen\@yiv +\newdimen\@ypt \newdimen\@yoldpt +\def\squineelem{.} +%\def\squineelem{\tencirc q} +\def\squine(#1,#2,#3,#4,#5,#6){\setbox + \@picbox\hbox{\squineelem}% + \global\@xoldpt=#1\unitlength + \global\@yoldpt=#4\unitlength + \kern\@xoldpt + \@xi=\@xoldpt + \@xii=#2\unitlength + \@xiii=#3\unitlength + \@yi=\@yoldpt + \@yii=#5\unitlength + \@yiii=#6\unitlength + \squinerec + \@xpt=#3\unitlength + \@ypt=#6\unitlength + \@addpoint + \raise\@ypt\copy\@picbox} +\newif\iffar +\def\squinerec{\farfalse + \testnear\@xi\@xiii \testnear\@yi\@yiii + \iffar \decast \fi} +\def\testnear#1#2{\@save=#1\advance + \@save-#2% + \ifdim\@save<\z@ \@save=-\@save\fi + \ifdim\@save>\p@ \fartrue \fi} +\def\decast{\@xpt=\@xi + \advance\@xpt\@xii \divide\@xpt2 + \advance\@xii\@xiii \divide\@xii2 + \@xiv=\@xpt + \advance\@xiv\@xii + \divide\@xiv2 + \@ypt=\@yi + \advance\@ypt\@yii + \divide\@ypt2 + \advance\@yii\@yiii + \divide\@yii2 + \@yiv=\@ypt + \advance\@yiv\@yii + \divide\@yiv2 + \begingroup\@xii=\@xpt \@xiii=\@xiv + \@yii=\@ypt \@yiii=\@yiv + \squinerec\endgroup + \@xpt=\@xiv \@ypt=\@yiv \@addpoint + \@xi=\@xiv \@yi=\@yiv \squinerec} +\def\@addpoint{% + %\message{(\the\@xpt,\the\@ypt)}% + \global\advance\@xoldpt-\@xpt + \wd\@picbox=-\@xoldpt + \raise\@yoldpt\copy\@picbox + \global\@xoldpt=\@xpt + \global\@yoldpt=\@ypt} +%Additions%;vrblin399 +\newtoks\xdim \newtoks\ydim +\newtoks\xoffset \newtoks\yoffset +\newtoks\everypicture +\newtoks\thispicture +\xoffset{0}\yoffset{0}%defaults +\def\beginpicture{\bgroup + \the\everypicture\the\thispicture + \gkpbeginpicture(\the\xdim,\the\ydim)% + (\the\xoffset,\the\yoffset)} +\def\endpicture{\gkpendpicture\egroup + \global\thispicture{}} +\def\rhombus(#1,#2)#3#4{% +%#1,#2 ratio of horizontal/vertical size, <=6 +%#3 the size in unitlengths (half of total width) +%#4 text to be put in the middle. +%The centre is the reference point, +%like \oval. +\setbox0=\hbox{\line(#1,#2){#3}}% +\setbox1=\hbox{\line(#1,-#2){#3}}% +\hbox to0pt{\hss + \vbox to0pt{\offinterlineskip\vss + \copy0\copy1\vss}% + \vbox to0pt{\vss\copy1\copy0\vss}\hss}% + \vbox to0pt{\vss + \hbox to 0pt{\hss#4\hss}\vss}} +%lu is pointing left up, +%rl is pointing roght down +\def\rdarrowhead{\hbox to 0pt{\hss + \vrule height.1ptdepth.1ptwidth.5ex + \vrule height.5ex\relax}} +\def\luarrowhead{\hbox to 0pt{\vrule + depth.5ex\relax + \vrule height.1ptdepth.1ptwidth.5ex}} +%\endinput %;nonum +% +%Contents Picture environm. named +%gkppic. cgl@rc.service.rug.nl +%Dimensions +% \unitlength......................7 +% \linethickness...................8 +% \@picheight......................9 +% \@xdim, \@ydim................9-10 +% \@xarg, \@yarg, \@len........10-12 +% \@save..........................10 +% \@picbox........................12 +% \@mpbox.........................12 +% \@xi, \@xii, \@xiii, \@xiv.270-271 +% \@xpt, \@xoldpt................272 +% \@yi, \@yii, \@yiii, \@yiv.273-274 +% \@ypt, \@yoldpt................275 +%Newifs +% \ifneg..........................70 +% \ifovaltl, \ifovaltr...........185 +% \ifovalbl, \ifovalbr...........186 +% \iffar.........................297 +%Fonts +% \tenln, \tenlnw.................14 +% \tencirc, \tencircw..........15-16 +% \smallln........................17 +%Size switching +% \thinlines, \thicklines......19-25 +%Picture environment +% \gkpbeginpicture +% (and \line in there)......27-32 +% \gkpendpicture...............33-35 +% \begincpic, \endcpic.......258-259 +% \put.........................37-38 +% \multiput....................40-49 +%Picture elements +% \makebox.....................59-62 +% \framebox....................64-68 +% \@line.......................71-78 +% \reverseline.................79-82 +% \@hline......................84-85 +% \@vline......................86-90 +% \@sline.....................92-115 +% \vector....................117-120 +% \@hvector..................121-123 +% \@vvector..................124-128 +% \@svector..................130-147 +% \disk......................149-150 +% \circle....................151-152 +% \@diskcirc.................153-157 +% \@bigdc....................158-159 +% \@smalldc..................160-165 +% \@bigcirc..................166-183 +% \oval......................189-256 +%Curves +% \squineelem................276-277 +% \squine....................278-293 +% \squinerec.................295-297 +% \testnear..................298-301 +% \decast....................302-320 +% \@addpoint.................321-327 +%Additions, compatible blue.tex conventions +%Newtoks +% \xdim, \ydim, +% \xoffset, \yoffset.........400-401 +%\everypicture, \thispicture..402-403 +%\beginpicture................406-409 +%\endpicture..................410-411 +%\rhombus.....................412-424 +%\luarrowhead.................430-432 +%\rlarrowhead.................427-429 +%History of changes +%Dec 94 \rhombus picture element added. +% \luarrowhead, \rlarrowhead added. +%Jun 94 Extensions added for compati- +% bility with blue.tex. +% \makebox adapted to LaTeX. +% \framebox added. +% \@sline adapted for case +% \@len less then \ht\@picbox +% (suppress line +% element but kern conditionally.) +% The `dot' element in \squine has +% been parameterized and initialized +% differently. +%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%gkppic%;newcol +% +% +% +%%%%%%%%% Amy's Diagonal line %%%%%%%%%% +\newif\ifminuswd +\newif\ifminusht +\newbox\dotwide +\newbox\dotbox +\newdimen\savehtofdiagline +\newdimen\htofdiagline +\newdimen\wdofdiagline +\newdimen\dotmove +\newdimen\newsaveht +\newdimen\savewdofdiagline +% +\def\diagline #1 #2 wd #3 ht{% +%#1 dot, e.g. . +%#2 width in units, eg 2ex +%#3 height in units, eg 3ex +%Amy Hendrickson, TB6#2, 1985 +%Comment cgl: Line thickness varies over +%the direction, nearly verticals go wrong. +\global\setbox\dotwide=\hbox{#1}% +\global\setbox\dotbox= + \hbox to0pt{\hss#1\hss}% +\global\wdofdiagline=#2\relax% +\ifdim\wdofdiagline<1sp + \global\minuswdtrue + \global\advance\wdofdiagline + by-2\wdofdiagline +\else\global\minuswdfalse%Robustness +\fi% turn neg dim to positive +\global\htofdiagline=#3\relax% +\ifdim\htofdiagline<1sp + \global\advance\htofdiagline + by-2\htofdiagline\global\minushttrue +\else\global\minushtfalse%Robustness +\fi +\global\dotmove=1pt%% +\setbox1=\hbox{% + \global\divide\htofdiagline + by\the\wdofdiagline\relax}% +\ifminuswd\rlap\bgroup% +\else\bgroup\fi% +\loop\ifdim\htofdiagline>.4pt%CGL mod +\global\divide\htofdiagline by2% +\global\divide\dotmove by2\repeat% +\global\savehtofdiagline=\htofdiagline% +\loop\ifdim\wdofdiagline>0pt% +\hskip\ifminuswd-\dotmove% + \else\dotmove\fi% +\ifminusht\lower\else\raise\fi% + \htofdiagline\copy\dotbox% +\global\advance\htofdiagline + by\savehtofdiagline% +\global\advance\wdofdiagline + by-\dotmove\repeat% +\egroup% +}% end diagonal line +\def\amyicurt#1#2{%IConUpperRightTriangle +%#1 is ht of icon matrix, +%with UT the upper triangular part, e.g. 4ex +%#2 is wd of icon (upper triangular) +%matrix, e.g. 2ex +\vbox to #1{\hrule + \hbox{\diagline . #2 wd -#2 ht\vrule}% + \vfil}% +}%end amyicurt +%endamy's diagline%%%%%%%%%%%%%%%%%%;nonum;newcol +% +% +% +\newtoks\picturesfile +\picturesfile{pic} +%;numvrb +%begin%%%%%%Generalized \samplebox +\def\point#1 #2 #3{\kern#1\unitlength + \raise#2\unitlength\hbox to0pt{\the\prefil + \the\prepoint#3\the\postfil + }\kern-#1\unitlength} +% +\def\gbox#1#2#3#4{%#1=ht,#2=dp,#3=wd +%#4=text. Assumed: the dimen vars +%\xshift, \yshift have been initialized. +%position of begin of text. +{\setbox0=\vtop{\vbox to#1{% + \hbox to#3{}\vss}\nointerlineskip + \vbox to#2{}}% +%now \box0 has the desired +%ht, dp, and wd + \hbox{\makelightbox\kern-#3% + \raise\yshift\hbox to#3{\kern\xshift + #4\hss}% + }}}%;nonum;newpage +% +% +%Turtle graphics macros added, July 1995 +%cgl@rc.service.rug.nl, July 1995 +%\newdimen\unitlength +\unitlength3ex %deault +\newdimen\unitlengthx +\newdimen\unitlengthy +\newdimen\x \newdimen\auxdim +\newdimen\leftx \newdimen\rightx +\newdimen\y \newdimen\yy +\newdimen\lefty \newdimen\righty +%\newcount\i +\newcount\k \newcount\kaux +\newcount\loccnt \newcount\modsum +\newcount\level \newcount\order +\newcount\kmax +\newcount\kk \newcount\ekk +\newcount\dir +\newbox\nel \newbox\nwl +\newbox\hlfwndelm +%\newdimen\linethickness \linethickness.2pt +\newdimen\linesize +\setbox\hlfwndelm=\hbox{\vrule + height\linethickness + width\linethickness} +\def\xy#1{%Function: place #1 at x, y + \vbox to0pt{\kern-\y + \hbox to0pt{\kern\x#1\hss}\vss}} +% +\def\xytxt#1{%Function: place text #1 at x, y + \xy{\vbox to0pt{\vss + \hbox to0pt{\strut#1\hss}\kern0pt}}} +% +\def\N#1{\xy{\kern-.5\linethickness + \vbox to0pt{\vss + \hrule height#1\unitlength + width\linethickness}}% +\advance\y#1\unitlength} +% +\def\S#1{\advance\y-#1\unitlength + {\N{#1}}} +% +\def\E#1{\xy{\vbox to0pt{\vss + \hrule width#1\unitlength + height\linethickness + depth0pt\vss +}}\advance\x#1\unitlength} +% +\def\W#1{\advance\x-#1\unitlength + {\E{#1}}} +% +\def\NE#1{\auxdim#1\unitlength\correction +\loop\advance\auxdim-\wd\hlfwndelm +\ifdim\auxdim>-.5\wd\hlfwndelm + \xy{\vbox to0pt{\vss\copy\hlfwndelm}}% + \advance\x\wd\hlfwndelm + \advance\y\ht\hlfwndelm +\repeat} +% +\def\NW#1{\auxdim#1\unitlength\correction +\loop\advance\auxdim-\wd\hlfwndelm +\ifdim\auxdim>-.5\wd\hlfwndelm + \advance\x-\wd\hlfwndelm + \xy{\vbox to0pt{\vss\copy\hlfwndelm}}% + \advance\y\ht\hlfwndelm +\repeat} +% +\def\SW#1{\auxdim#1\unitlength\correction +\loop\advance\auxdim-\wd\hlfwndelm +\ifdim\auxdim>-.5\wd\hlfwndelm + \advance\x-\wd\hlfwndelm + \advance\y-\ht\hlfwndelm + \xy{\vbox to0pt{\vss\copy\hlfwndelm}}% +\repeat} +% +\def\SE#1{\auxdim#1\unitlength\correction +\loop\advance\auxdim-\wd\hlfwndelm +\ifdim\auxdim>-.5\wd\hlfwndelm + \advance\y-\ht\hlfwndelm + \xy{\vbox to0pt{\vss\copy\hlfwndelm}}% + \advance\x\wd\hlfwndelm +\repeat} +% +%Convenient aliases are +\let\0\N +\let\1\E +\let\2\S +\let\3\W +%to supply text to the east (by preceding +%it with \hss it is centered) +\def\trttxt#1{\hbox to0pt{% + \kern\x\vbox to0pt{\vss + \hbox to0pt{\strut#1\hss + }\kern\y}\hss}} +%white writing i.e. just move, don't draw +\def\whiteE#1{\advance\x#1\unitlength } +\def\whiteN#1{\advance\y#1\unitlength } +\def\whiteW#1{\advance\x-#1\unitlength } +\def\whiteS#1{\advance\y-#1\unitlength } +%sometimes the following variants with +%global changes are needed +\def\globalN#1{\xy{\kern-.5\linethickness + \vbox to0pt{\vss + \hrule height#1\unitlength + width\linethickness}}% +\global\advance\y#1\unitlength} +% +\def\globalS#1{\global\advance + \y-#1\unitlength{\N{#1}}} +% +\def\globalE#1{\xy{\vbox to0pt{\vss + \hrule width#1\unitlength + height\linethickness + depth0pt\vss +}}\global\advance\x#1\unitlength} +% +\def\globalW#1{\global\advance + \x-#1\unitlength{\E{#1}}} +% +\newbox\trielm +\linethickness.2pt +\setbox\trielm=\hbox{\vrule + width1.74\linethickness + height\linethickness\relax} +%To account for element in 30 degrees direction +\unitlengthy\ht\trielm %default.2pt +\unitlengthx\wd\trielm %default.3482pt +\unitlength\unitlengthy%default.2pt +% +\def\WSW#1{\auxdim#1\unitlength\divide\auxdim2 + \loop\advance\auxdim-\unitlengthy + \ifdim\auxdim>-.5\unitlengthy + \advance\x-\unitlengthx + \advance\y-\unitlengthy + \xy{\vbox to0pt{\vss\copy\trielm}}% + \repeat} +% +\def\ESE#1{\auxdim#1\unitlength\divide\auxdim2 + \loop\advance\auxdim-\unitlengthy + \ifdim\auxdim>-.5\unitlengthy + \advance\y-\unitlengthy + \xy{\vbox to0pt{\vss\copy\trielm}}% + \advance\x\unitlengthx + \repeat} +% +\def\correction{\multiply\auxdim23 + \divide\auxdim32\relax} +% +%And the shortcut +\def\draw{\csname\the\dir\endcsname + {\the\kk}} +%The useful \bintree for trees +\def\bintree{\S1\ifnum2=\kk\eertnib\fi + \divide\kk2 + {\W{\the\kk}\bintree}% + \E{\the\kk}\bintree\relax} +\def\eertnib#1\relax{\fi\global\advance\k1 + \whiteS1\xytxt{ \csname\the\k\endcsname}} +% +%cgl@rc.service.rug.nl, July 1995 +%\newdimen\x \newdimen\y \newdimen\yy +%\newcount\k \newcount\kmax +\ea\newdimen\csname X1\endcsname +\ea\newdimen\csname X2\endcsname +\ea\newdimen\csname X3\endcsname +\ea\newdimen\csname X4\endcsname +\ea\newdimen\csname X12\endcsname +\ea\newdimen\csname X23\endcsname +\ea\newdimen\csname X34\endcsname +\ea\newdimen\csname X123\endcsname +\ea\newdimen\csname X234\endcsname +\ea\newdimen\csname X1234\endcsname +\def\X#1{\csname X#1\endcsname} +% +\ea\newdimen\csname Y1\endcsname +\ea\newdimen\csname Y2\endcsname +\ea\newdimen\csname Y3\endcsname +\ea\newdimen\csname Y4\endcsname +\ea\newdimen\csname Y12\endcsname +\ea\newdimen\csname Y23\endcsname +\ea\newdimen\csname Y34\endcsname +\ea\newdimen\csname Y123\endcsname +\ea\newdimen\csname Y234\endcsname +\ea\newdimen\csname Y1234\endcsname +\def\Y#1{\csname Y#1\endcsname} +% +\newbox\smileybox +%Next the METAfont spline implementation +\def\mfs{\ifnum\k=\kmax \sfm\fi +\advance\k1 +\midpoints\x\X{1234}\y\Y{1234}\putatxy +{\X2\X{12}\X3\X{123}\X4\X{1234}% + \Y2\Y{12}\Y3\Y{123}\Y4\Y{1234}\mfs}% +{\X1\X{1234}\X2\X{234}\X3\X{34}% + \Y1\Y{1234}\Y2\Y{234}\Y3\Y{34}\mfs}\relax}%end \mfs +% +\def\sfm#1\relax{\fi} +% +% +\def\midpoints{%z1,...,z4 -> z1, z12, z23,...,z1234 +\X{12}\X1\advance\X{12}by\X2\divide\X{12}by2 +\X{23}\X2\advance\X{23}by\X3\divide\X{23}by2 +\X{34}\X3\advance\X{34}by\X4\divide\X{34}by2 +\X{123}\X{12}\advance\X{123}by\X{23}\divide\X{123}by2 +\X{234}\X{23}\advance\X{234}by\X{34}\divide\X{234}by2 +\X{1234}\X{123}\advance\X{1234}by\X{234}\divide\X{1234}by2 +% +\Y{12}\Y1\advance\Y{12}by\Y2\divide\Y{12}by2 +\Y{23}\Y2\advance\Y{23}by\Y3\divide\Y{23}by2 +\Y{34}\Y3\advance\Y{34}by\Y4\divide\Y{34}by2 +\Y{123}\Y{12}\advance\Y{123}by\Y{23}\divide\Y{123}by2 +\Y{234}\Y{23}\advance\Y{234}by\Y{34}\divide\Y{234}by2 +\Y{1234}\Y{123}\advance\Y{1234}by\Y{234}\divide\Y{1234}by2 } +%\putatxy already in blue.tex +\def\putatxy{\hbox to0pt{\kern\x\kern-.15pt + \vbox to0pt{\vss\hrule width.3pt + height.3pt\relax + \kern\y}\hss}} +% +%\def\S#1{...}%See earlier +% +\def\initialize#1#2#3#4#5#6#7#8{%points: (#1,#2),...(#7,#8) + \csname X1\endcsname#1\unitlength + \csname X2\endcsname#3\unitlength + \csname X3\endcsname#5\unitlength + \csname X4\endcsname#7\unitlength + \csname Y1\endcsname#2\unitlength + \csname Y2\endcsname#4\unitlength + \csname Y3\endcsname#6\unitlength + \csname Y4\endcsname#8\unitlength} +% +% +%\def\smiley{\loadsmileys\hbox{\unitlength.01pt +% \copy\smileybox\eyes\mouth\kern1000\unitlength} } +%\def\winksmiley{\loadsmileys\hbox{\unitlength.01pt +% \copy\smileybox\winkeye\mouth\kern1000\unitlength} } +%\def\sadsmiley{\loadsmileys\hbox{\unitlength.01pt +% \copy\smileybox\squinteyes\sadmouth\kern1000\unitlength} } +% +%Contents turtle tools +%Storage allocations +%\newcount +% \k, \loccnt, \modsum, +% \level, \order, \kmax, +% \kk, \ekk, \dir +%newdimen +% \x, \leftx, \rightx, +% \y, \yy, \lefty, \righty, +%\newbox +% \hlfwndelm, \trielm +%Definitions +% \N, \E, \S, \W +% \NE, \SE, \SW, \NW +% \WSW, \ESE +% \whiteN, \whiteE, \whiteS, \whiteW +% \globalN, \globalE, \globalS, \globalW +% \correction +% \draw +% \bintree, \eertnib +% \putarxy +% \mfs, \sfm +% \midpoints +% \initialize +%Aliases +%\0, \1, \3, \4 +%History of changes +%July 1995 Setup turtle graphics +%\endinput +% +% +%Undocumented features +%\rnd from Reid, 1987 +%(Included in index macros of BLUe.) +%\newcount\rndnum \newcount\rndtmp +%\newcount\rndval +\def\rnd{\multiply\rndnum371{}% + \advance\rndnum1{}% + \ifnum\rndnum>99999 + \rndtmp\rndnum \divide\rndtmp100000 + \multiply\rndtmp100000 + \advance\rndnum-\rndtmp + \fi\rndval\rndnum + \divide\rndval1000 } +% +\def\dieiii{\rnd\throw= + \ifnum\rndval<34 0\else + \ifnum\rndval<67 1\else2 + \fi\fi} +\def\dieiv{\rnd\throw= + \ifnum\rndval<25 0\else + \ifnum\rndval<50 1\else + \ifnum\rndval<75 2\else3 + \fi\fi\fi} +\def\diev{\rnd\throw= + \ifnum\rndval<20 0\else + \ifnum\rndval<40 1\else + \ifnum\rndval<60 2\else + \ifnum\rndval<80 3\else4 + \fi\fi\fi\fi} +% +% +%;numvrb +%Formats. +\def\loadformat{\input fmt.dat\relax} +% +\def\concert{\ifx\undefined\concertfmt + \let\concertfmt=x\fi + \loadformat + \let\concertfmt\undefined +} +%;vrblin50 +\newtoks\addressesfile +\addressesfile{address} +% +\def\letter{\ifx\undefined\letterfmt + \let\letterfmt=x\fi + \loadformat + \let\letterfmt\undefined +} +%;vrblin100 +\newcount\reportloadcnt +%Prevent double loading. +\def\report{\ifx\undefined\reportfmt + \let\reportfmt=x\fi + \ifnum\reportloadcnt=0 \ea\loadformat\fi + \advance\reportloadcnt1 + \let\reportfmt\undefined +} +%;vrblin150 +\newcount\transparenciesloadcnt +\def\transparencies{% + \ifx\undefined\transparenciesfmt + \let\transparenciesfmt=x\fi + \ifnum\transparenciesloadcnt=0 + \ea\loadformat\fi + \advance\transparenciesloadcnt1 + \let\transparenciesfmt\undefined +}% +\newcount\trsno +\newbox\trsppt +\newcount\transparenciespptloadcnt +\def\transparenciesppt{% + \ifx\undefined\transparenciespptfmt + \let\transparenciespptfmt=x\fi + \ifnum\transparenciespptloadcnt=0 + \ea\loadformat\fi + \advance\transparenciespptloadcnt1 + \let\transparenciespptfmt\undefined +}%;nonum;newpage +% +% +%;numvrb +%Tools +%General macros. +\def\fifo#1{\ifx\ofif#1\ofif\fi + \process{#1}\fifo} +\def\ofif#1\fifo{\fi} +% +{\obeylines\gdef\fifol#1 + {\ifx\lofif#1\lofif\fi% + \processl{#1}\fifol}} +\def\lofif#1\fifol{\fi} +% +{\obeyspaces\gdef\fifow#1 {\ifx +\wofif#1\wofif\fi\processw{#1}\ \fifow}} +\def\wofif#1\fifow{\fi} +% +\long\def\gobbletool#1\endinput{\egroup} +\long\def\tool#1{\ifx#1\undefined + \bgroup\unouterdefs + \ea\gobbletool\fi} +% +\def\toolverbatim{\thisverbatim{% + \baselineskip12ptplus2ptminus1pt + \lineskip1ptplus1ptminus1pt}% + \beginverbatim} +% +\let\cgl\relax +%\def\cgl{\endverbatim\endinput} +% +\def\unouterdefs{%List of defs which + %have to be neglected + \ea\let\csname+\endcsname\relax + \catcode`\^12 + %more to come +} +% +\newif\iffound +\def\loc#1#2{\def\locate##1#1##2\end + {\ifx\empty##2\empty\foundfalse + \else\foundtrue\fi}\ea\locate#2.#1\end} +% +\def\contentsdatabase#1{%#1 pic lit address +\ea\let\ea\name\csname toc#1\endcsname +\immediate\openout\name=contents#1 +%Define list element tag `\lst' +\def\lst##1##2{\let##1\relax + \advance\k1 + \immediate\write\name{##1}} +\input #1.dat\relax +\message{Database #1 contains + \the\k\space entries. + See the file contents#1 for + the list of the names of the entries.}} +% +\newwrite\tocfmt +\newwrite\toctools +% +\def\contentstoolsorfmt#1{%#1 tools fmt +\bgroup +\ea\let\ea\name\csname toc#1\endcsname +\immediate\openout\name=contents#1 +\long\def\tool##1##2\endinput{% + \immediate\write\name{\nx##1}} +\unouterdefs +\input #1.dat\relax +\message{Database #1 contains + \the\k\space entries.}% +\egroup} +% +%Tags for the address database +\newif\ifregisteredblue +%Searching the database +\newtoks\searchfile +\newtoks\foundfile +\newtoks\namelst +\def\search#1{\def\loc##1##2{% + \def\locate####1##1####2\end + {\ifx\empty####2\empty\foundfalse + \else\foundtrue\fi}\ea\locate##2.##1\end} + \def\lst##1##2{\loc{#1}{##2}\iffound + \immediate\write16{\nx##1}%log file + \namelst\ea{\the\namelst\lst##1} + \def##1{##2}%define found element + \fi}\input\the\searchfile.dat\relax} +%;vrblin200 +\def\bluechapter#1\par + {\beginchapterhead#1\unskip\endchapterhead} +%Because of \par not in fmt.dat +\def\blueexample#1\par + {\example{#1\unskip}} +% +\def\bluedisplaycenterline#1\par + {\begindisplaycenterline + #1\enddisplaycenterline}%;nonum;newcol +% +% +%;numvrb +%Tools +%Next sorted on tool +% +\def\loadtool{\input tools.dat\relax} +%;vrblin20 +%Binarytreetool +\newcount\ltree \newcount\m +\newcount\lu \newcount\levelone +\newdimen\tophns \newdimen\tophnshalf +\newdimen\vnodesep +\newdimen\treewidth %\treewidth= +%\prod_{i=1}^k{1+1/2i} * \tophns, for level k tree. +\newtoks\thisbintree +\newtoks\everybintree +\def\beginbintree{\begingroup + \let\bintreetool=x + \loadtool + \startbintree} +\newtoks\thisbt +\newtoks\everybt +\newtoks\prebt +\newtoks\postbt +\def\beginbt{\begingroup + \let\bttool=x + \loadtool\bt} +%;vrblin50 +%Bridgetool +\def\beginbridge{\begingroup + \let\endbridge\endgroup + \let\bridgetool=x + \loadtool +} +%;vrblin100 +%Crosswordstool +\def\begincrosswords{\begingroup + \let\endcrosswords\endgroup + \let\crosswordstool=x + \loadtool +} +%;vrblin150 +%Hanoitool +\def\hanoi#1{\beginhanoi{#1}\endhanoi} +\def\beginhanoi{\begingroup + \let\endhanoi\endgroup + \let\hanoitool=x + \loadtool +\sethanoi} +%;vrblin200 +%Indextool +\newcount\indexloadcnt +\def\loadindexmacros{% + \ifx\undefined\indextool + \let\indextool=x\fi + \ifnum\indexloadcnt=0 + \ea\loadtool\fi + \advance\indexloadcnt1 + \let\indextool\undefined} +%(mini-)ToCtool +\newwrite\toc +\newcount\tocloadcnt +\def\loadtocmacros{% + \ifx\undefined\toctool + \let\toctool=x\fi + \ifnum\tocloadcnt=0 + \ea\loadtool\fi + \advance\tocloadcnt1 + \let\toctool\undefined} +%;vrblin250 +%Language tools +\def\english{\let\englishtool=x + \loadtool + \let\englishtool\undefined +} +\def\russian{\let\russiantool=x + \loadtool + \let\russiantool\undefined +} +%;vrblin500 +%ntglogo +\font\calx=cmsy10 scaled \magstep4 +\newbox\ntglogobox +\def\loadntglogo{\let\ntglogotool=x + \loadtool + \let\ntglogotool\undefined +} +\def\loadntginfo{\let\ntginfotool=x + \loadtool + \let\ntginfotool\undefined +} +% +%;vrblin525 +\newbox\smileybox +\newcount\smileysloadcount +\def\smiley{\loadsmileys\raise.5ex + \hbox{\unitlength.01pt + \copy\smileybox + \eyes\mouth + \kern1000\unitlength} } +\def\winksmiley{\loadsmileys\raise.5ex + \hbox{\unitlength.01pt\copy\smileybox + \winkeye\mouth + \kern1000\unitlength} } +\def\sadsmiley{\loadsmileys\raise.5ex + \hbox{\unitlength.01pt\copy\smileybox + \squinteyes\sadmouth + \kern1000\unitlength} } +\def\loadsmileys{\ifx\undefined\smileystool + \let\smileystool=x\fi + \ifnum\smileysloadcount=0 \ea\loadtool + \else\message{--- smileys already loaded---}\fi + \advance\smileysloadcount1 + \let\smileystool\undefined} +% +%;vrblin550 +\def\loadxyz{\let\xyztool=x + \loadtool + \let\xyztool\undefined +} +%;vrblin575 +\def\loadpartlogo{\let\partlogotool=x + \loadtool + \let\partlogotool\undefined +} +%;vrblin600 +%Pascaltool +%Declarations +\newtoks\prepascal +\newtoks\postpascal +\newtoks\reservedset +\newcount\commentstatus +%Initializations +\let\reservedwordsfont\bf +\let\pascalprogramfont\it +\let\pascalcommentfont\rm +\prepascal{\medskip\noindent} +\postpascal\prepascal +%Reserved words need right catcodes +% +\def\beginpascal{\begingroup + \let\pascaltool=x + \loadtool + \afterassignment\fifol\let\dummy=}%;nonum;newcol +% +% +% +%***Storage allocation*** ;numvrb +%\new...-s needed in the various tools +%Space is once reserved. +%General +\newtoks\storedheadline +\newtoks\storedfootline +\newtoks\appendixname +\appendixname{Appendix} +\newcount\storedpageno +%;vrblin10 +%From \contentsdatabase +\newwrite\tocpic +\newwrite\toclit +\newwrite\tocaddress +%;vrblin20 +%From \letter +\newtoks\letterfile +%\newtoks\addressesfile +\newtoks\addresseename\newtoks\fullname +\newtoks\addresseelist +\newtoks\subject +\newtoks\ourreference +\newtoks\yourreference +\newtoks\enclosures +\newdimen\longindentation +\newdimen\storedvsize +\newskip\vaoffset%vert address offset +\newskip\haoffset%hor address offset +\newbox\affiliationbox +\letterfile{letter} +%\addressesfile{address} +%From \transparencies +\newtoks\regularheadline +\newtoks\regularfootline +%;vrblin50 +%From \report +\newtoks\chapternumbering +\newtoks\thischapterhead +\newtoks\everychapterhead +\newtoks\prefacename +\newtoks\bibliographydata +\newtoks\chaptertitle +\newtoks\prechapterhead +\newtoks\postchapterhead +\newtoks\headtitle +\newtoks\subheadtitle +\newtoks\subsubheadtitle +\newtoks\prepoint +\newtoks\prefil +\newtoks\postfil +\newtoks\thisexample +\newtoks\everyexample +\newtoks\exampletitle +\newbox\prefacebox +\newbox\contentsbox +\newbox\forewordtranslatorbox +\newdimen\generalindent +\newdimen\gutter \gutter1em +\newdimen\xshift +\newdimen\yshift +\newdimen\subsubheadindent +\newcount\headcnt +\newcount\chaptercnt +\newcount\examplecnt +\newcount\exercisecnt +\newwrite\toc +\newwrite\toe +\newif\ifrunin +%;vrblin100 +%From transparencies +\newtoks\identification +%\newtoks\crowner +\newtoks\headtitle +\newtoks\subheadtitle +\newtoks\subsubheadtitle +\newskip\leftskiptrs +\newskip\rightskiptrs +%;vrblin125 +%From crosswords +\newif\ifpuzzle +\newcount\cnt +\newdimen\csize +%;vrblin150 +%From index +\newif\ifcontinue%controls loops +\newif\iffound%locating accent cs +\newif\ifproof\prooftrue +\newtoks\indword +\newcount\n +\newcount\lc +\newcount\r +\newcount\ic +\newcount\uone +\newcount\jc +\newcount\jj +\newcount\jjone +%Counters +%\newcount\n +%\newcount\m +%\newcount\k +%\newcount\kk +\n=0 +\newcount\kzero\kzero0 %Bias value +\newcount\pk +\newcount\pkone%Used in sortcs +\newcount\frst%First value of range +\newcount\last %Last value of range +\newcount\slast%Successor \last +\newcount\dif %Difference \last-\frst +\newcount\nw %Number of words +\newcount\nc %Number of characters/comp +\newcount\numex %Number of exchanges +\newcount\rndval%Random number +\newcount\rndnum%Seed random generator +\newcount\rndtmp%Temporary value +\newcount\throw +\newcount\status%Status comparison +\newcount\low +\newcount\up +\newif\ifgoon +\newread\inxin +\newtoks\indword +\newtoks\indexfile + %To parameterize the resulting index +\newtoks\irfile + %To parameterize the IRs +\newtoks\indexname +\newtoks\preindex +\newtoks\postindex +\newtoks\ignores +\newtoks\conseqs +\newtoks\consyms +\newtoks\srtkeys +\newtoks\srtkeypairs +%;vrblin500 +%Contents Tools +%- bridgetool +%- crosswordstool +%- hanoitool +%- indextool +%- langauages englishtool (default) +%- ntglogotool +%- ntginfotool +%- russiantool +%- smileys +%- toctool +%- xyztool +%- pascaltool +%;nonum +%History of changes Tools +% Jan 1995 Created +% Summer 1995 Smileys added +% March 1996 Toc tool added +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +% +\def\\{\hfil\break} +\let\annotation\relax +\generalindent\parindent +\subsubheadindent\generalindent +\loadntglogo +\english +\catcode`\@=12 +\endinput +%for Mac as pre format +\global\advance\count0-1 \dump +%%%end blue.tex, cgl%%% \ No newline at end of file diff --git a/macros/blu/fmt.dat b/macros/blu/fmt.dat new file mode 100644 index 0000000000..684c4540f2 --- /dev/null +++ b/macros/blu/fmt.dat @@ -0,0 +1,1418 @@ +%The material is shareware and subject +%to the separate notes on copyright. +% +%File of formats to cooperate with blue.tex +%To print the formats properly, copy +%the following 11-lines job and +%substitute the semicolon token +%(=escape char) for `semi-col'. (2x) +% ---Kees--- +%\input blue.tex +%\hfuzz25pt +%\title{File: fmt.dat} +%\issue{Version 1.0} +%\beginscript +%\thisverbatim={\catcode`\`semicol'=0 +% \catcode`\!=12 +% \catcode`\|=12 +% \input fmt.dat} +%\beginverbatim +%`semi-col'endverbatim +%\endscript %or use pgfile.tex +% +% +% +%Contents: +%- concert +%- letter +%- report +%- transparencies +% +\message{fmt.dat browsed (Version March 1996)} +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%concert% +%cgl@rc.service.rug.nl %;numvrb +\tool\concertfmt +\message{ ---Concert format, Jan 95, cgl--- } +%Concert format TeXbook 409, 412 +%\font\twelverm=cmr12 +%\font\twelvebf=cmbx12 +%\font\twelveit=cmti12 %all in blue.tex +%\font\twelvesl=cmsl12 +%\font\twelvemus=cmmi12 +% +\def\bigtype{\let\rm=\twelverm + \let\bf=\twelvebf\let\it=\twelveit + \let\sl=\twelvesl\let\mus=\twelvemus + \baselineskip=14pt minus 1pt \rm} +\def\medtype{\let\rm=\tenrm + \let\bf=\tenbf\let\it=\tenit + \let\sl=\tensl\let\mus=\teni + \baselineskip=12pt minus 1pt \rm} +\def\smalltype{\let\rm=\eightrm + \let\bf=\eightbf\let\it=\eightit + \let\sl=\eightsl\let\mus=\eighti + \baselineskip=9.5pt minus .75pt \rm} +% +\def\flat{\raise.2ex\hbox{\mus\char"5B}} +\def\sharp{\raise.4ex\hbox{\mus\char"5D}} +\let\,=\thinspace +\def\(#1){{\rm(}#1\/{\rm)}} +% ;vrblin50 +\def\composition#1{\halign{\bf + \quad##\hfil\cr\kern-1em#1\crcr}} +% use \cr's if more than one line +\def\composer#1{\rightline{\bf#1}} +\def\movements#1{\halign{\quad\it##\hfil + &&\qquad\it##\hfil\cr#1\crcr}} +\def\soloists#1{\centerline{\bf + \vbox{\halign{##\hfil\cr#1\crcr}}}} +% ;vrblin100 +\def\tsaologo{\vbox{\bigtype\bf + \line{\hrulefill} + \kern-.5\baselineskip + \line{\hrulefill\phantom +{ THE ST.\,ANFORD ORCHESTRA }\hrulefill} + \kern-.5\baselineskip + \line{\hrulefill\hbox +{ THE ST.\,ANFORD ORCHESTRA }\hrulefill} + \kern-.5\baselineskip + \line{\hrulefill\phantom +{ R. J. Drofnats, Conductor }\hrulefill} + \kern-.5\baselineskip + \line{\hrulefill\hbox +{ R. J. Drofnats, Conductor }\hrulefill} + }} +%Defaults +\onecol\hsize=4in\bigtype +\endinput %;nonum +%Contents +%Fonts +% \bigtype................10-13 +% \medtype................14-17 +% \smalltype..............18-21 +% \flat......................23 +% \sharp.....................24 +% \,.........................25 +% \(...).....................26 +%Layout +% \composition............51-52 +% \composer..................54 +% \movement..................55 +% \soloists...............57-58 +% \tsalogo..............101-115 +%Defaults +% \onecol\hsize\bigtype.....117 +%History of changes. +%Jan 95 Creation. +%end%%%%%%%%%%%%%%%%%%%%concert%!cgl;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%letter%;numvrb +\tool\letterfmt +%Inspired upon the TeXbook App E +%\today already in blue.tex +\message{ ---Letter format, + Jan 95, cgl--- } +%Addresses assumed in address.dat +%Toks vars: \letterfile\addressesfile +%Address handling +\def\beginaddresses#1\endaddresses{% + \def\process##1{\ifx\undefined##1 + \let##1\addresserror + \else \message{\Dash\string##1 + already loaded.\Dash}% + \fi\namelst\ea{\the\namelst\lst##1}} + \fifo#1\ofif%end defining all names + \loadselectivefrom{\the\addressesfile}} +%with on top the trivial variant +\def\addresserror{Address not in database, + Sorry.\loaderror{Addresses}} +\def\addresses#1{\beginaddresses + #1\endaddresses} +% +\def\addressee#1{\ea + \splitaddress#1\egroup}%;nonum +% +%with at the lower level +%;numvrb;vrblin50 +\def\splitaddress#1\\#2\\{\addresseename{#1% + \unskip}\fullname{#2\unskip}\setbox + \affiliationbox\hbox\bgroup#2\\}%;nonum +% +%To handle letters +%;numvrb;vrblin100 +\def\letterto#1{{\everyscript{\notlastscript} + \storedvsize\vsize + \storedheadline\headline + \storedfootline\footline + \beginaddresses#1\endaddresses + \let\lst\processletter + \the\namelst}} +% +\def\lettertoall{{\everyscript{\notlastscript} + \def\lst##1{\processletter} + \input\the\addressesfile.dat\relax}}%;nonum +% +\def\makesearchletters{\def\lst{% + \thisscript{\notlastscript} + \processletter} + \the\namelst} +%with at the lower level +%;numvrb;vrblin150 +\def\processletter#1{{%#1 name or address + \headline\storedheadline + \footline\storedfootline + \vsize\storedvsize + \addressee{#1} + \beginscript + \input\the\letterfile\relax + \endscript}} +%;vrblin175 +%\def\makelistaddresseetags{\def\lst +% ##1##2{\namelst\ea{\the\namelst##1}} +% \input\the\addressesfile\relax}%;nonum +% +%`Page makeup' +%;numvrb;vrblin200 +\headline{\line{\vbox to3cm{% +\line{\logo\hss + \vbox{\hsize.33\hsize\small + \the\address\\\the\netaddress\\\the\telephone} +}\kern3pt\hrule\vss}\hss}% +\addresseewindow +%and for follow pages +\global\headline{\line{\vbox + to3cm{\vss%Implicit vspace + \line{\tenrm \To: \the\fullname + \hss\today/\the\subject/\the\crowner\ + \oldstyle\the\ourreference}\kern2pt\hrule + \vss}}}%end follow \headline +}%end \headline +% +\footline{\line{\vbox{% + \kern\baselineskip\hrule\kern.5ex + \hbox{\strut\the\businessaccount}}\hss} +%and for follow pages + \global\vsize19cm + \global\footline{\line{\null + \hss--{\oldstyle\the\count0}--\hss + }}%end follow \footline +}%end \footline +%;vrblin250 +\def\addresseewindow{\line{% +\vbox to 4cm{%Window height Dutch + %envelopes +\vskip\vaoffset %To shift address vert. +\leftskip\haoffset%To shift address hor. +\unhbox\affiliationbox +\vss}\hss}%end line +\line{\hbox to\longindentation + {\hbox to11ex{\Subject\hss:} + \the\subject\hss}\today\hss} +\line{\hbox to11ex{\small \Ourref\hss:} + \the\crowner\ + \oldstyle\the\ourreference\hss} +\line{\hbox to11ex{\small \Yourref\hss:} + \the\yourreference\hss} +}%;nonum +% +%Processing labels +%;numvrb;vrblin300 +\def\makelabels#1{\vsize=26cm% + \headline{}\footline{}% + \beginaddresses#1\endaddresses + \let\lst\processlabel + \the\namelst} +% +\def\makealllabels{\vsize=28cm + \headline{}\footline{} + \def\lst##1{\processlabel} + \input\the\addressesfile.dat\relax +} +% +\def\makesearchlabels{\vsize=28cm + \headline{}\footline{} + \let\lst\processlabel + \the\namelst}%;nonum +% +%with at the lower level +%;numvrb;vrblin350 +\def\processlabel#1{\addressee{#1}% + \boxit{\kern1cm\vbox to3.5cm + {\noindent\leftskip.33\hsize + \hsize.9\hsize + \unhbox\affiliationbox\vss} + {\smallskip\small + \leftskip\generalindent + \the\author\\ + \the\address\bigskip} +}\smallskip}%end \processlabel%;nonum +% +%general things +% ;numvrb;vrblin400 +\def\beginscript{% + \lastscript\the\everyscript + \the\thisscript +\begingroup\pageno1 \null +\vskip3\bigskipamount +}%end \beginscript +\let\beginletter\beginscript +% +\def\endscript{\smallskip + \vfil\eject\endgroup + \tracingstats1 + \stop\thisscript{}} +\let\endletter\endscript +%;vrblin500 +%To be replaced by your salutation +\def\sincerely{{\bigskip + \parindent\longindentation + Sincerely, + \medskip + \the\author\vskip3\bigskipamount}} +% +\def\dear{Dear \the\addresseename,\bigskip} +% +\def\ps{\bigskip\small\item{P.S.}} +\def\cc{\bigskip\small\item{cc.}} +\def\appendix#1{\newpage\tenpoint + \centerline{\bf\the\appendixname\ #1} + \bigskip}%;nonum +\def\enclosures{\bigskip\small} +% +%Defaults, Initializations \letter +% ;numvrb;vrblin900 +%\loadntglogo +\onecol%Because in blue.tex + %\twocol default +\addressesfile{address} +\searchfile{address} +\letterfile{letter} +\def\email#1{}\def\phone#1{}\def\fax#1{} +%Separation headline and rest +\vsize13cm%First page +\hsize13cm\pagewd\hsize +\hoffset1cm +\parindent0pt +\generalindent2pc +\interlinepenalty1000 +\longindentation.667\hsize +\storedvsize\vsize +\storedheadline\headline +\storedfootline\footline +\raggedbottom +\def\english{ + \def\To{To} + \def\Yourref{Your ref} + \def\Ourref{Our ref} + \def\Subject{Subject}} +\def\nederlands{ + \def\today{\ifcase \month \or Januari\or Februari\or + Maart\or April\or Mei\or + Juni\or Juli\or Augustus\or September\or October\or + November\or December\fi { }{\ea + \oldstyle \number \day }, {\ea \oldstyle \number \year }} + \def\To{Aan} + \def\dear{Beste} + \def\Yourref{Uw ref} + \def\Ourref{Onze ref} + \def\Subject{Subject} + \def\sincerely{{\bigskip + \parindent\longindentation + Hoogachtend, + \medskip + \the\author\vskip3\bigskipamount}} +} +\english +\endinput %;nonum +% +%Contents +%Address +% \beginaddresses...........9-19 +% \endaddresses...............21 +% \addresses...............23-24 +% \addressee...............26-27 +%lower level +% \splitaddress............51-54 +%Letter +% \letterto..............101-107 +% \lettertoall...........109-110 +% \makesearchletters.....112-115 +%lower level +% \processletter.........151-158 +% \makelistaddresseetags.176-183 +%Header and footer +% \headline..............201-214 +% \footline..............216-224 +%lower level +% \addresseewindow.......251-266 +%Labels +% \makelabels............301-304 +% \makealllabels.........306-309 +% \makesearchlabels......311-313 +%lower level +% \processlabel..........351-360 +%Composition +% \beginscript...........401-406 +% (\beginletter).............407 +% \endscript.............409-412 +% (\endletter)...............413 +% \sincerely.............502-506 +% \dear......................508 +% \ps........................510 +% \cc........................511 +% \appendix..............512-514 +% \enclosures +% \nederlands +% \english +%Defaults.................901-9xx +%History of changes. +%May 96 \nederlands (\endlish) added +%Aug 95 Extended by \makesearchletters +%Jan 95 Creation. +%end%%%%%%%%%%%%%%%%%%%%%%letter%!cgl;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%report%;numvrb +\tool\reportfmt +%Report format Jan 95 ;numvrb +%cgl@rc.service.rug.nl +\message{ ---Report format, + Jan 95, cgl--- } +\let\chapterfont\Large +\font\subtitlefont=cmr12 scaled\magstep2 +% +\immediate\openout\ans=answers +\immediate\openout\toe=examples +\immediate\openout\toc=contents +%;vrblin100 +%Chapter title matters +\prechapterhead{\newpage\null + \vskip4pc\bgroup\catcode`\^=7 + \the\everychapterhead + \the\thischapterhead + \global\advance\chaptercnt1 +% \xdef\chapno{\the\chaptercnt}% +} +%;vrblin110 +\postchapterhead{\egroup + \headcnt0 \exercisecnt0 \examplecnt0 + \immediate\write\toc{\nx\separator{\alfanum + \the\chaptercnt}{\the\chaptertitle}} + %suppress headline first page chapter + \global\headline{\global\headline + {\hbox to\pagewd + {\sl\the\chaptertitle\hfill + \the\title}}}% + \footline{\hbox to\pagewd{\small + \rlap{Draft \today}\hfill\dash + {\oldstyle\the\pagenumber}\dash + \hfill\llap{\copyright + \the\crowner}}}% +%Example is redefined here such that on +%first use if ever in the chapter, it +%redefines itself as the regular macro, +%while writing the chapter title to the +%table-of-examples, ToE, file. +%In this way titles of chapters without +%examples are suppressed in the ToE. + \def\example{\immediate\write\toe{\nx + \separator{\alfanum + \the\chaptercnt}{\the\chaptertitle}} + \let\example\regularexample\example} +%To get the title of ToC Appendix also in +%the ToC the \immediate is needed + \thischapterhead{}\vskip3pc} +% +\def\beginchapterhead{\the\prechapterhead + \storechaptertitle} +% +\def\storechaptertitle#1\endchapterhead{% + \global\chaptertitle{#1}\endchapterhead} +% +\def\endchapterhead{\centerline{\chapterfont + \the\chapternumbering\the\chaptertitle} + \the\postchapterhead\ignorewhitespace} +% +\def\chapterhead{\bgroup + \def\storechaptertitle##1{\egroup + \global\chaptertitle{##1}% + \endchapterhead} + \beginchapterhead} +% +\def\setupappendices{\thischapterhead= + {\chaptercnt64 \gdef\alfanum{\char}% + \global\chapternumbering + {\alfanum\the\chaptercnt: }}} +% +\def\pasteupanswers +{\chapterhead{Answers to the Exercises} + \immediate\closeout\ans + {\ninepoint\parindent2pc + \input answers\relax}} +% +\def\pasteuptoe{% + \chapterhead{List of Examples} +\immediate\closeout\toe %Table Of Examples +{\ninepoint\def\exampleno##1.##2: {\noindent + \hbox to\generalindent{{\oldstyle##1}.% + {\oldstyle##2}\hss}}% + \def\separator##1{\smallbreak\noindent + \hbox to\generalindent{{\oldstyle##1}\hss}} + \parindent0pt\obeylines\sl + \input examples\relax}} +% +\def\pasteuptoc{% + \chapterhead{Table of \the\contentsname} +\immediate\closeout\toc%Table Of Contents +{\ninepoint\def\contentsno##1.##2: + {\noindent\hbox to\generalindent + {{\oldstyle##1}.{\oldstyle##2}\hss}} + \def\separator##1{\smallbreak\noindent + \hbox to\generalindent{{\oldstyle##1}\hss}} + \def\she{\noindent\hbox + to1.5\generalindent{\hss}} + \def\sshe{\noindent\hbox + to2\generalindent{\hss}} + \parindent0pc\obeylines\sl + \input contents\relax}} +% +\preindex{\chapterhead{\the\indexname}} +% +\def\pagenorepresentation#1{\quad\dotfill + \hbox to\generalindent{\hfil\oldstyle#1}} +% +%;vrblin250 +%Invariant for value \parindent +\def\beginquote{\endgraf\bgroup + \parindent\generalindent + \narrower\smallbreak\noindent} +%;vrblin300 +%Header matters +\def\beginhead{\the\prehead + \global\advance\headcnt1 + \storeheadtitle} +% +\def\storeheadtitle#1\endhead{% + \global\headtitle{#1}\endhead} +% +\def\endhead{\centerline{\headfont + \the\headtitle}\the\posthead} +% +\def\head{\bgroup + \def\storeheadtitle##1{\egroup + \global\headtitle{##1}\endhead} + \beginhead} +% +\posthead{\egroup\xdef\writetoc{% + \write\toc{\contentsno + \nx\alfanum\the\chaptercnt.\the\headcnt: + \the\headtitle\nx\nx\nx + \pagenorepresentation{\nx\number + \pageno}}}\writetoc + \nobreak\medskip\noindent + \ignorewhitespace} +%;vrblin350 +\def\beginsubhead{\the\presubhead + \the\thissubhead + \storesubheadtitle} +% +\def\storesubheadtitle#1\endsubhead{% + \global\subheadtitle{#1}\endsubhead} +% +\def\endsubhead{{\subheadfont + \the\subheadtitle}\the\postsubhead} +% +\def\subhead{\bgroup + \def\storesubheadtitle##1{\egroup + \global\subheadtitle{##1}\endsubhead} + \beginsubhead} +% +\postsubhead{\egroup\xdef\writetoc{% + \write\toc{\nx\nx\nx\she + \the\subheadtitle\nx\nx\nx + \pagenorepresentation{\nx\number + \pageno}}}\writetoc + \ifrunin\ \else\quad\fi\ignorewhitespace} +%;vrblin400 +\def\beginsubsubhead{\the\presubsubhead + \the\thissubsubhead + \storesubsubheadtitle} +% +\def\storesubsubheadtitle#1% + \endsubsubhead{\global + \subsubheadtitle{#1}\endsubsubhead} +% +\def\endsubsubhead{{\subsubheadfont + \the\subsubheadtitle}\the\postsubsubhead} +% +\def\subsubhead{\bgroup + \def\storesubsubheadtitle##1{% + \egroup\global + \subsubheadtitle{##1}% + \endsubsubhead} + \beginsubsubhead} +% +\postsubsubhead{\egroup\xdef\writetoc{% + \write\toc{\nx\nx\nx\sshe + \the\subsubheadtitle\nx\nx\nx + \pagenorepresentation{\nx\number + \pageno}}}\writetoc + \ifrunin\ \else\quad\fi\ignorewhitespace} +% +%Inner markup;vrblin500 +%;vrblin525 +\def\beginexample{\vskip0pt plus5ex + \penalty-100\vskip0pt plus-5ex + \medskip + \global\advance\examplecnt1 + \bgroup\catcode`\^=7 \the\everyexample + \the\thisexample\storeexampletitle} +% +\def\storeexampletitle#1\endexample{% + \global\exampletitle{#1}\endexample} +% +\def\endexample{% + \xdef\writeexa{\write\toe{\exampleno + \alfanum\the\chaptercnt.\the\examplecnt: + \the\exampletitle + \nx\nx\nx\pagenorepresentation + {\the\count0}}}\writeexa + {\the\examplename} {\sl(\the\exampletitle)} + \egroup + \nobreak\endgraf\noindent\ignorewhitespace} +% +\def\example{\bgroup + \def\storeexampletitle##1{\egroup + \global\exampletitle{##1}\endexample} + \beginexample} +% +%;vrblin550 +%Mod item macros, to prevent hanging out +%with \parindent=0pt +\def\hang{\hangindent\generalindent} +% +\def\itemitem{\endgraf\leavevmode + \hskip\generalindent + \hangindent2\generalindent\textindent} +% +\def\textindent#1{\leavevmode + \hskip\generalindent + \llap{#1\enspace}\ignorespaces} +%;vrblin575 +\def\exercise{\medbreak + \global\advance\exercisecnt1 + \hangindent\generalindent + \noindent\hbox to\generalindent{% + {\oldstyle\the\chaptercnt}.{\oldstyle + \the\exercisecnt}\hfil}} +% +\def\answer{\endgraf\medbreak + \immediate\write\ans{} + \immediate\write\ans{\string\ansno + \the\chaptercnt.\the\exercisecnt:}% + \copytoblankline} +% +\def\ansno#1.#2:{\medbreak\noindent + \hbox to\generalindent{{\oldstyle#1}% + .{\oldstyle#2}\hss}\hangindent + \generalindent\ignorespaces} +%;vrblin700 +%Preliminary pages matters +%Markup preliminary pages via \beginscript +\def\beginscript{\lastscript +\the\everyscript\begingroup +\the\thisscript +\pageno-1 \headline{}\footline{} +\ifproof\rightline{\rlap{\sl Cover}}\fi +\kern7\bigskipamount +\centerline{\chapterfont\the\title} +\bigskip\if!\the\subtitle!\else +\centerline{\subtitlefont\Dash + \the\subtitle\Dash}\fi +\vskip\bigskipamount +\centerline{by} +\vskip\bigskipamount +\centerline{\subtitlefont\the\author} +\vfill +\ifx\coverpic\undefined +\else$$\coverpic$$ +\fi +\vfill +\if!\the\translator! +\else\rightline{\subtitlefont + Translated by \the\translator} +\fi + \newpage +\ifproof\rightline{\rlap{\sl Inside + Cover}}\fi +% +\kern3\bigskipamount +\pasteupkeywords +\smallskip +\the\bibliographydata +\vfill\vfill +\pasteupacknowledgements +% + \newpage +\ifproof\rightline{\rlap{\sl Title + Page}}\fi +\kern7\bigskipamount +\centerline{\chapterfont\the\title} +\bigskip +\centerline{\subtitlefont\Dash + \the\subtitle\Dash} +\vskip\bigskipamount +\centerline{by} +\vskip\bigskipamount +\centerline{\subtitlefont\the\author} +\vfill\pasteupabstract\vfill\vfill +% +\ifvoid\forewordtranslatorbox +\else \newpage + \ifproof\rightline{\rlap + {\sl Foreword Translation}}\fi + \vfill + \unvbox\forewordtranslatorbox + \vfill + \rightline{\vtop{\hbox{Irina Gorbunova + %\the\translator + }\hbox{\the\author}}}\vfill +\fi +% +\ifvoid\prefacebox +\else \newpage + \ifproof\rightline{\rlap{\sl Preface + Page}}\fi + \vfill\pasteuppreface\vfill\vfill +\fi + \newpage +\ifproof\rightline{\rlap{\sl Contents + Page}}\fi +\vfill\pasteupcontents +\vfill\eject +%\immediate\openout\ans=answers +%\immediate\openout\toe=examples +%\immediate\openout\toc=contents +}%end \beginscript +% +%;vrblin800 +%Auxiliaries preliminary pages +\def\beginkeywords{\setbox\keywordsbox + \vbox\bgroup{\bf\the\keywordsname: }} +% +\preacknowledgements{\leftline{\bf + \the\acknowledgementsname}\medskip} +% +\def\pasteupacknowledgements{\ifvoid + \acknowledgementsbox + \else\the\preacknowledgements\unvbox + \acknowledgementsbox\bigskip + \makesignature\fi} +% +\def\beginpreface{\setbox\prefacebox + \vbox\bgroup} +% +\def\endpreface{\egroup} +% +\def\preface#{\beginpreface\bgroup + \aftergroup\endpreface + \afterassignment\ignorespaces + \let\dummy=} +% +\def\pasteuppreface{\centerline{\chapterfont + \the\prefacename}\bigskip\unvbox\prefacebox} +% +\def\beginforewordtranslator{\setbox + \forewordtranslatorbox= + \vbox\bgroup\begincenter} +% +\def\endforewordtranslator{\endcenter\egroup} +% +\def\forewordtranslator#{\beginforewordtranslator + \bgroup + \aftergroup\endforewordtranslator + \let\dummy=} +% +\def\pasteupforewordtranslator{\unvbox + \forewordtranslatorbox\relax} +% +\def\begincontents{% + \setbox\contentsbox\vbox\bgroup + \def\separator{\vbox to.5ex{}} + \def\newcol{\cr} + \ea\def\csname par\endcsname{&}\obeylines + \valign\bgroup&\noindent\strut + \hsize=7cm##\cr} +% +\def\endcontents{\cr\egroup\egroup} +% +\def\pasteupcontents{\unvbox\contentsbox} +% +%;vrblin900 +\def\endscript{\xcol=\maxcols + \vfill\eject\endgroup\backcover + \tracingstats=1 \stop\thisscript{}} +% +\def\pwtbackcover{\headline{}\footline{}% +\begingroup%inside back cover. +\hsize=12cm \hoffset2cm +\ifproof\hbox to13cm{\hss\rlap{\sl + Inside Back}}%14cm is regular page + %width of PWT +\fi +\vfill +\loadntginfo \ntginfo +\vfill +%Irina, you can include here another half +%page about CyrTUG. +%It should be possible to have both +%info parts on one page. +%Adapt eventually the \hsize. +%---Kees--- +\eject\endgroup + \ifproof\rightline{\rlap{\sl Back + Cover}}\fi + \vskip.75\vsize + \pictures{\cglpic} + $$\cglpic\vbox{% + \hbox to12ex{\hss Thank You\hss} + \hbox to12ex{\hss\cs{bye}\hss}}$$ +}%end \pwtbackcover +%;vrblin1000 +%Defaults +\def\onecol{\maxcols=1 + \hsize=14cm%MOD + \pagewd=\hsize + \colwd=\hsize + \vsize=25cm + \xcol=1 +\hyphenchar\tentt='055 +\hyphenchar\ninett='055 +\hyphenchar\eighttt='055 +\tolerance500 +\hbadness=499 +\hfuzz=7pt +} +\onecol +\tolerance500\hbadness=499\vbadness=500 +\everychapterhead={\catcode`\^=7 } +\everyhead\everychapterhead +\everysubhead\everychapterhead +\everysubsubhead\everychapterhead +\hoffset1cm +\generalindent2pc +\parindent0pt +\subsubheadindent0pt +\parskip\smallskipamount +\chapternumbering{} +\let\regularexample\example +\let\exampleno\relax +\let\contentsno\relax +%\let\coverpic\relax +\let\backcover\relax +\everyverbatim{\emc} +\gutter1em +\def\alfanum{\number} +\prefacename{Preface} +\postfil{\hss} +\def\she{\hskip5em} +\def\sshe{\hskip6em} +\endinput %;nonum +%Table of Contents report format +%Token vars (declared in blue.tex) +% \prefacename +% \bibliographydata +% \chaptertitle +% \prechapterhead +% \postchapterhead +% \headtitle +% \subheadtitle +% \subsubheadtitle +% \prepoint +% \prefil +% \postfil +%Box vars (declared in blue.tex) +% \prefacebox +% \contentsbox +%New dimens (declared in blue.tex) +% \generalindent +% \gutter +% \xshift +% \yshift +% \subsubheadindent +%New counts (declared in blue.tex) +% \headcnt +% \chaptercnt +% \examplecnt +% \exercisecnt +%New writes (declared in blue.tex) +% (opened in \beginscript) +% \toc +% \toe +%Fonts +% \chapterfont\Large.........4 +% \subtitlefont..............5 +%Chapter title matters +% \chapno (manmac) +% \prechapterhead.......102-109 +% \postchapterhead......111-138 +% \beginchapterhead.....140-141 +% \storechaptertitle....143-144 +% \endchapterhead.......146-148 +% \chapterhead..........150-154 +% \setupappendices......156-159 +% \pasteupanswers.......161-165 +% \pasteuptoe...........167-176 +% \pasteuptoc...........178-191 +% \pagenorepresentation.193-194 +%Summary +% \beginsummary (blue.tex) +% \endsummary (blue.tex) +% \summary (blue.tex) +% \beginquote...........252-254 +% \endquote (blue.tex) +%Header matters +%Head +% \beginhead............302-304 +% \storeheadtitle.......306-307 +% \endhead..............309-310 +% \head.................312-315 +% \posthead.............317-324 +%Subhead +% \beginsubhead.........351-353 +% \storesubheadtitle....355-356 +% \endsubhead...........358-359 +% \subhead..............361-364 +% \postsubhead..........366-371 +%Subsubhead +% \beginsubsubhead......401-403 +% \storesubsubheadtitle.405-407 +% \endsubsubhead........409-410 +% \subsubhead...........412-417 +% \postsubsubhead.......419-424 +%Inner markup +% \begindemo (blue.tex) +% yields(blue.tex) +% \enddemo (blue.tex) +% \beginexample.........526-531 +% \storeexampletitle....533-534 +% \endexample...........536-544 +% \example..............546-549 +% \hang.....................553 +% \itemitem.............555-557 +% \textindent...........559-561 +% \exercise.............576-581 +% \answer...............583-587 +% \ansno................589-592 +%Generalized \samplebox +% \point (blue.tex) +% \gbox (blue.tex) +%Centering verbatims +% \boxlines (blue.tex) +% \begincenterverbatim(blue.tex) +% \endcenterverbatim (blue.tex) +%Preliminary pages matter +% \def\beginscript......703-772 +%Closing pages matter +% \endscript............901-903 +% \pwtbackcover.........905-929 +%Auxiliaries +% \beginkeywords........802-803 +% \preacknowledgements..805-806 +% \pasteupacknowledgements808/812 +% \beginpreface.........814-815 +% \endpreface...............817 +% \preface..............819-822 +% \pasteuppreface.......824-825 +% \beginforewordtranslator827/9 +% \endforewordtranslator....831 +% \forewordtranslator...833-836 +% \pasteupforewordtranslator838/9 +% \begincontents........841-847 +% \endcontents..............849 +% \pasteupcontents..........851 +% NTG info (tools.dat) +%Defaults...............1000-10xx +% (\she....................1037 +% \sshe...................1038) +%end Table of Contents +% +%History of changes +%July 95 \immediate\openout\toc=contents +% etc. included in \beginscript +%Jan 95 Creation +%end%%%%%%%%%%%%%%%%%%%%%report%!cgl;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%trs% +%trs.tex from BLUe's Transparencies +% cgl@rc.service.rug.nl +%Purpose: Preparing transparencies from +% TeX marked up copy. +% ;numvrb +\tool\transparenciesfmt +\message{ ---Transparencies format, Jan 95, + revision March 1996, cgl--- } +\catcode`\@=11 +\font\titlefont =cmr12 + scaled\magstep4\relax +\font\subheadfont =cmr12 + scaled\magstep3\relax +%\font\subsubheadfont=cmr12 +% scaled\magstep2\relax +\font\headlinefont =cmr12 + scaled\magstep1\relax +\let\headfont\titlefont +\font\ffont=cmr7\relax +\let\authorfont\titlefont +\let\subsubheadfont\subheadfont +% +%Rest all in blue.tex +%\font\largerm=cmr12 +% scaled\magstep2 +%etc +%\def\large{\def\rm{\fam0\largerm}% +%etc. +%} +\let\small\tenpoint +% +%Mark up title transparency;vrblin200 +\def\begincontents{\global\setbox + \contentsbox\vbox\bgroup + \leftskip1.5\leftskiptrs + \large\baselineskip3.5ex + \everypar{$\bullet$\enspace} + \obeylines} +% +\def\endcontents{\egroup} +%;vrblin250 +\def\beginscript{\lastscript + \the\everyscript\the\thisscript + \pictures\cglpic + \begincenter + \footline={}\headline={} +\message{\the\title} + {\titlefont\the\title} + \medskip + {\Dash\the\subtitle\Dash} + \bigskip + {\authorfont\the\author} + \medskip\hfil\the\address + \bigskip$$\box\contentsbox$$} +% +\def\endscript{\endcenter\vfill +\rightline{\small\cglpic\vbox{% + \hbox to12ex{\hss Thank You\hss} + \hbox to12ex{\hss\cs{bye}\hss}} +}\vfill\eject\stop +\gdef\bluehead##1\par{\head{##1}} +\gdef\bluesubhead##1\par{\subhead{##1}} +\gdef\bluesubsubhead##1\par{\subsubhead{##1}} +} +% +%Mark up regular transparencies;vrblin300 +\prehead{\nxttrs\headline\regularheadline + \footline\regularfootline\pageno1 + \prehead{\nxttrs}} +% +\posthead{\medskip} +% +\def\beginhead#1\endhead{\the\prehead + \headtitle{#1}\subheadtitle{}% + \subsubheadtitle{}{\headfont#1}% + \the\posthead} +% +\def\head#1{\beginhead#1\endhead} +% ;vrblin350 +\presubhead{\medbreak} +% +\postsubhead{\smallskip\nobreak} +% +\def\beginsubhead#1\endsubhead{% + \subheadtitle{#1}\subsubheadtitle{}% + \the\presubhead{\subheadfont#1}% + \the\postsubhead\thissubhead{}} +% +\def\subhead#1{\beginsubhead#1\endsubhead} +% ;vrblin400 +\presubsubhead{\smallbreak} +% +\postsubsubhead{\smallskip\nobreak} +% +\def\beginsubsubhead#1\endsubsubhead{% + \subsubheadtitle{#1} + \the\presubsubhead{\subsubheadfont#1} + \the\postsubsubhead\thissubsubhead{}} +%added March 1996 +\def\subsubhead#1{% + \beginsubsubhead#1\endsubsubhead} +% +{\obeylines\gdef\bluehead#1 + {\head{#1}}% +\gdef\bluesubhead#1 + {\subhead{#1}}% +\gdef\bluesubsubhead#1 + {\subsubhead{#1}}} +%;vrblin450 +\preverbatim{\leftskip\leftskiptrs + \rightskip0pt plus1fil\relax} +%;vrblin500 +\def\bitem{\bgroup\leftskip\leftskiptrs + \rightskip0pt plus1fil\relax + \def\bitem{\item{$\bullet$}\strut} + \def\smallbreak{\endgraf\egroup + \smallbreak} + \let\smallskip\smallbreak + \bitem} +%enumerate item +\def\eitem{\bgroup\leftskip\leftskiptrs + \rightskip0pt plus1fil\relax + \def\eitem##1{\item{##1}\strut} + \def\smallbreak{\endgraf\egroup + \smallbreak} + \let\smallskip\smallbreak + \eitem} +%;vrblin550 +\let\bgnsyn\beginsyntax +\def\beginsyntax{\bgroup + \leftskip\leftskiptrs + \rightskip0pt plus 1fil\relax\bgnsyn} +% +\let\endsyn\endsyntax +% +\def\endsyntax{\endsyn\egroup} +% +%Header and footer ;vrblin600 +\regularheadline={\line{\vbox to0pt{\vss + \centerline{\titlefont + \strut\the\title} + \vskip2ex + \line{\logo\hfill\vbox{% + \llap{\strut\the\headtitle} + \llap{\strut\the\subheadtitle} + \llap{\strut\the\subsubheadtitle}}} + \vskip1ex + \hrule width\hsize height1pt + }}%end hbox +}%end headline +% ;vrblin650 +\regularfootline={\vbox to 0pt{% +\leftskip0pt\rightskip0pt\relax + \hrule width\hsize height1pt + \vskip.5ex + \line{\small + \rlap{\the\identification}% + \hfil--{\oldstyle\the\pagenumber}--\hfil + \llap{\copyright\the\crowner}% + }\vss}%end vbox +}%end footline +% +%Auxiliaries ;vrblin700 +\def\nxttrs{\vfill\eject} +\def\continue{\vfill + \rightline{\dots continued}\eject} +%Defaults;vrblin900 +\identification{\today} +%\let\small\tenpoint +\def\begincenter{\leftskip0pt plus1fill +\rightskip0pt plus 1fill\parfillskip0pt +\obeylines} \def\endcenter{} +% +\onecol +\hsize=17.5cm \vsize=20cm +\voffset3.5cm%\hoffset-1truecm +\pagewd=\hsize +\pagenumber{\folio} +\leftskiptrs.2\hsize\relax +\rightskiptrs.1\hsize\relax +\overfullrule0pt\parindent0pt +\large +\loadntglogo +\def\logo{\copy\ntglogobox} +\catcode`\@=11 +\endinput %;nonum +%Contents transparencies format +%Fonts +% \titlefont...................5-6 +% \subheadfont.................7-8 +% \subsubheadfont.............9-10 +% \headlinefont..............11-12 +% \authorfont...................15 +% \largerm..............(blue.tex) +% \largeit..............(blue.tex) +% \largesl..............(blue.tex) +% \largesy..............(blue.tex) +% \largeex..............(blue.tex) +% \largebf..............(blue.tex) +% \largett..............(blue.tex) +% \large................(blue.tex) +% \largebig.............(blue.tex) +% \small.......................124 +%Newtoks +% \identification.......(blue.tex) +% \crowner..............(blue.tex) +% \headtitle............(blue.tex) +% \subheadtitle.........(blue.tex) +% \subsubheadtitle......(blue.tex) +%Newskips +% \leftskiptrs, \rightskiptrs..908/9 +%Page size +% \hsize, \vsize...............903 +% offsets......................904 +% \pagewd......................905 +%Markup title +% \begincontents...........201-206 +% \endcontents.................208 +% \beginscript.............251-263 +% \endscript...................265 +%Markup regular transparencies +% \prehead.................301-302 +% \beginhead\endhead.......306-309 +% \head........................311 +% \posthead....................304 +% \presubhead..................351 +% \beginsubhead\endsubhead.355-358 +% \subhead.....................360 +% \postsubhead.................353 +% \presubsubhead...............401 +% \beginsubsubhead +% \endsubsubhead......405-408 +% \subsubhead..............410-411 +% \postsubsubhead..............403 +% \bluehead +% \bluesubhead +% \bluesubsubhead +% \preverbatim.............451-452 +% \bitem...................501-507 +% \beginsyntax.............552-554 +% \endsyntax...................558 +%Header and footer +% \headline................601-615 +% \footline................651-660 +% \identification..............901 +%Auxiliaries +% \nxttrs......................701 +% \continue................702-703 +% \begincenter (blue.tex) +% \endcenter...(blue.tex) +% \center......(blue.tex) +%Personalisation (blue.tex) +%Defaults +% \logo........................913 +% \pagenumber..................906 +% \onecol......................907 +% \hsize,\vsize................903 +% \leftskiptrs.................908 +% \rightskiptrs................909 +% \large.......................911 +%History of changes +%March 1996 \bluehad etc. added +%Jan 1995 As format with blue.tex +%Aug 1994 Centering markup automated +%Jul 1994 \contentsbox is used +% \pagenumber introduced +%Jun 1994 More consistent with +% blue.tex. +% \small is \eightpoint. +% \begincontents...\endcontents +%Feb 1994 Release Version 1.0 +%Example of use +%\bluetitle Manmac BLUes +% +%\bluesubtitle how to typeset a book via \TeX +% +%\contents{ +%User's guide +%Coding +%} +% +%\beginscript +%\bluehead Why? +% +%To return to the roots... + +%\bluehead User's Guide +% +%Relative numbering +%\pagenumber{U\folio}\pageno=1 +%... +%\nxttrs %Next transparency +%\bluesubsubhead Markup paragraphs +% +%... +%\continue%Continuation on next slide +%... +%\bluehead Conclusions +% +%\pagenumber{--x--} +%\bitem... +%\bitem +%\smallbreak +%\vfil +%\rightline{\vtop{\hbox{Thank you} +% \hbox{\cs{bye}}}} +%\endscript +%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%trs%!cgl +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%trs% +%Preprint for BLUe's Transparencies +% cgl@rc.service.rug.nl +%Purpose: Printing transparencies from +% TeX marked up copy in A6, +% 4 on each page. +% ;numvrb +\tool\transparenciespptfmt +\message{ ---Transparencies A6 proof format, May 95, + cgl--- } +\hfuzz=25pt \vfuzz=25pt +\font\titlefont=cmbx10 +\font\headfont=cmr10 +\let\subheadfont\headfont +\let\headlinefont\titlefont +\font\ffont=cmr5 +\let\authorfont\headfont +\let\subsubheadfont\subheadfont +% +%Mark up title transparency;vrblin200 +\def\begincontents{\setbox + \contentsbox\vbox\bgroup + \baselineskip3ex\null\vfil + \everypar{$\bullet$\enspace} + \obeylines\parindent1em} +% +\def\endcontents{\egroup} +%;vrblin250 +\def\beginscript{\lastscript + \the\everyscript\the\thisscript + \leavevmode\noindent + \setbox\trsppt=\vbox to.475\vsize + \bgroup\hsize.475\hsize\parindent2em + \null\vfil + \titlefont\the\title + \smallskip\subtitlefont + \Dash\the\subtitle\Dash + \medskip\let\\\par + \authorfont\the\author + \smallskip\the\address + \medskip$$\box\contentsbox$$} +% +\def\endscript{\vss +\rightline{\small\cglpic\qquad} +\vss +\line{\strut\hss--\the\trsno--\hss}\egroup +\boxit{\box\trsppt}\endgraf +\vfill\eject\stop} +% +\def\nxttrs{\vfil\kern3ex +\ifnum\trsno>0 \line{\strut\hss + --\the\trsno--\hss}\fi +\egroup +\boxit{\box\trsppt}\advance\trsno1 +\ifodd\trsno\kern3ex\else + \hfil\break\vfil\noindent\fi +\setbox\trsppt=\vbox to.475\vsize\bgroup +\hsize.475\hsize\parindent2em\null\par\noindent} +% +%Mark up regular transparencies;vrblin300 +\prehead{\nxttrs\trsno1 \medskip\noindent\hfil + \global\prehead{\nxttrs\medskip\noindent\hfil}} +% +\posthead{\medskip\noindent} +% +\def\beginhead#1\endhead{\the\prehead + \headtitle{#1}\subheadtitle{}% + \subsubheadtitle{}{\headfont#1}% + \the\posthead} +% +\def\head#1{\beginhead#1\endhead} +% ;vrblin350 +\presubhead{\medbreak\noindent\hfil} +% +\postsubhead{\smallskip\nobreak} +% +\def\beginsubhead#1\endsubhead{% + \subheadtitle{#1}\subsubheadtitle{}% + \the\presubhead{\subheadfont#1}% + \the\postsubhead\thissubhead{}} +% +\def\subhead#1{\beginsubhead#1\endsubhead} +% ;vrblin400 +\presubsubhead{\smallbreak\noident\hfil} +% +\postsubsubhead{\smallskip\nobreak} +% +\def\beginsubsubhead#1\endsubsubhead{% + \subsubheadtitle{#1} + \the\presubsubhead{\subsubheadfont#1} + \the\postsubsubhead\thissubsubhead{}} +% +\def\subsubhead#1{% + \beginsubsubhead#1\endsubsubhead} +%;vrblin450 +\preverbatim{} +%;vrblin550 +% +%Header and footer ;vrblin600 +\headline={\hbox to\pagewd{\titlefont + \hss\the\title\hss} +}%end headline +% ;vrblin650 +\footline={\hbox to\pagewd{% + \rlap{\fiverm\strut\the\identification}\hss + \llap{\fiverm\copyright\the\crowner}}% +}%end footline +% +%Auxiliaries ;vrblin700 +\catcode`\@=11 +\def\fivepoint{\def\rm{\fam0\fiverm}% + \textfont0=\fiverm \scriptfont0=\fiverm + \scriptscriptfont0=\fiverm + \textfont1=\fivei \scriptfont1=\fivei + \scriptscriptfont1=\fivei + \textfont2=\fivesy \scriptfont2=\fivesy + \scriptscriptfont2=\fivesy + \textfont3=\tenex \scriptfont3=\tenex + \scriptscriptfont3=\tenex + \def\it{\fam\itfam\fivei}\def\oldstyle + {\fam1 \fivei}\textfont\itfam=\fivei + \def\sl{\fam\slfam\fivei}% + \textfont\slfam=\fivei + \def\bf{\fam\bffam\fivebf}% + \textfont\bffam=\fivebf + \scriptfont\bffam=\fivebf + \scriptscriptfont\bffam=\fivebf + \def\tt{\fam\ttfam\fiverm}% + \textfont\ttfam=\fiverm + \tt \ttglue=.5em plus.25em minus.15em + \normalbaselineskip=7pt plus1pt minus1pt + \def\MF{{\manual opqr}\-{\manual stuq}}% + \let\sc=\fivexrm + \let\big=\fivebig + \setbox\strutbox=\hbox{\vrule height7pt + depth2pt width\z@}% + \normalbaselines\rm} + \def\fivebig#1{\hbox{$\left#1\vbox to4.5pt{}\right.\n@space$}} +\catcode`\@=12 +% +\def\continue{\vss + \rightline{\dots continued}\nxttrs} +%Defaults;vrblin900 +\identification{\today} +\onecol +\hsize=18.5cm \vsize=25cm +\pagewd=\hsize +%\pagenumber{\folio} +\let\small\fivepoint +\overfullrule0pt +\parindent0pt +\obeylines +\endinput diff --git a/macros/blu/lit.dat b/macros/blu/lit.dat new file mode 100644 index 0000000000..4381b28d42 --- /dev/null +++ b/macros/blu/lit.dat @@ -0,0 +1,2375 @@ +%Database of EP related literature, to be processed by blue.fmt. +%Version Aug 1994 +%Files: lit.dat (data this file) +%C.G. van der Laan, Hunzeweg 57, 9893PB, Garnwerd, The Netherlands +% 05941-1525, cgl@rc.service.rug.nl +%Note: Don't include blank lines! (TeX ends paragraphs then and will +% disturb your typeset list of references.) +% Don't use \verb|...| or so for verbatims (catcodes are fixed once read) +%Auxiliary macros +%\def\thepage{\folio} %Necessary when with tugboat.sty +%\def\tubissue#1(#2){\TUB~#1, no.~#2}%To be independent from tugboat.sty c.q. + % ltugboat.sty. +%Conventions entries +%\def\ %Key for database, add a, b, ... +% { (): %All with minimal interpunction +% %No discrimination +% <source> %ISBN for books in here, pages as range +% \annotation{<Comments, annotations.>}% <numbers>\dash<numbers> +%}%end entry +% +%Data +\lst\aap + {Association of American Publishers (1989): + Markup of Tabular Material. + Version 2.0 AAP Inc. +} +\lst\aapstd + {Association of American Publishers (1987): + Standard for electronic manuscript preparation and markup. + AAP inc. + \annotation{Association of American Publishers, + 2005 Massachusetts Avenue, NW. Washington, DC 20036, + Phone: (202) 232-3335.} +} +\lst\aapaut + {Association of American Publishers (1989): + Author's guide to electronic manuscript preparation and + markup. + AAP inc. (2$^{nd}$ version.) +} +\lst\aapref + {Association of American Publishers (1989): + Reference manual on electronic manuscript preparation and markup. + AAP inc. + (2$^{nd}$ version.) ISBN 1-55653-084-6. +} +\lst\aaptab + {Association of American Publishers (1989): + Markup of tabular material. + AAP Inc. ISBN 1-55653-085-4. + (2$^{nd}$ version.). +} +\lst\aapmat + {Association of American Publishers (1989): Markup of + Mathematical Formulas. + AAP Inc. EPSIG. + (2$^{nd}$ version.) +} +\lst\abrahamspw + {Abrahams P.W (1990): \TeX\ for the impatient. + Addison-Wesley. +} +\lst\adobeb + {Adobe (1985): + PostScript Language Reference Manual. + Addison-Wesley. ISBN 0-201-10174-2. +} +\lst\adobeA + {Adobe Magazine (1995): + The Technology of type. + Adobe Magazine, 2, 16\dash19. + (A nice survey of the outline fonts in relation to truetype.) +} +\lst\ahoav + {Aho A.V, R. Sethi (1988): + Maintaining Cross-references in Manuscripts. + Softw.Pract.exp., 18, 1, 1\dash14. +} +\lst\alexanderjc + {Alexander J.C (1986): + Tib, a reference setting package. + \tubissue{ 7}(3), 138\dash139. + \annotation{An update note is in \tubissue{8}(2), 102. + A C program inspired upon troff's refer (and its successor bib). + It is a preprocessor tailored for use with (All)\TeX. + It allows for a few citation styles, and a publisher can extend these. + It provides also for a powerful word-definition citation search. + Flexible in general. + Tagging of the entries a la refer has to be obeyed. + From the UKTuG meeting of 1990 the following characteristics. + It consists of: + tibdex, a hashing program to speed up access to + large collections of citations, by creating an index to the bibliography; + tiblist, to format and print the database; + looktib, a program to query the database; + tib, main program goes through the source document and looks for + keywords between [ and ]. + Advantages: 1-pass, pattern-matching citation no need to invent unique + key, compatible with UNIX refer databases, + good toolbox of style elements, single index + of bibliographies, formatting more-closely related to \TeX. + Disadvantages: pre-processor system, possible wrong matches, possible errors + in repeated citations, non-algorithmic style language, left up to Tib + to work out citation type, lack of extensibility in field, + not very robust (crashes).} +} +%\lst\amsa {AMS (1989): AMS-\LaTeX. AMS.} +\lst\amsb + {AMS (1991): + A look inside the AMS. + \annotation{A nice brochure of what AMS is all about.} +} +\lst\amsc + {AMS (1991): + Think about publishing with the AMS. + \annotation{Another nice brochure about the merits of + publishing with AMS: effective marketing, extensive promotion, world-wide + distribution, better sales, longer life of book, royalties, support + worthwhile noncommercial activities for the benefit of the scientific + community at large, for example the \TeX\ project.} +} +\lst\amsd + {AMS (1993): + \AmSTeX\ User's Guide 2.1. +} +\lst\amse + {AMS (1993): + \AmSTeX\ Installation Guide 2.1. +} +\lst\amsf + {AMS (1993): + \AmS-\LaTeX\ User's Guide 1.1. +} +\lst\amsg + {AMS (1993): + \AmS-\LaTeX\ Installation Guide 1.1. +} +\lst\amsh + {AMS (1993): + AMSfonts. User's Guide 2.1. +} +\lst\amsi + {AMS (1993): + AMSfonts. Installation Guide 2.1. +} +\lst\amsj + {AMS (1993): + Guidelines for preparing electronic manuscripts. + \AmSTeX\ (booklet, 52p), and the mirrored one + \AmS-\LaTeX\ (booklet, 58p). + \annotation{The first is very well-done. + I have not seen a guideline of similar quality of yet! + Simply the best available. Much experience is embodied to learn from. + The second is verbose, incomplete, and deals at length with issues + an author should not be bothered with.} +} +\lst\amsteljja + {Amstel J.J van, J Bomhoff, G.J Schoenmakers (1978): + Inleiding tot het programmeren 1. + Academic Service. +} +\lst\appeltwa + {Appelt W (1987): + Macros with keyword parameters. + \tubissue{8}(2), 284\dash287. +} +\lst\appeltwb + {Appelt W (1988): + Typesetting Chess. + \tubissue{9}(3), 284\dash287. +} +\lst\appeltwc + {Appelt W (1988): + \TeX\ f\"ur Fort\-geschrit\-tene\-\Dash + Pro\-gram\-mier\-tech\-ni\-ken und Makro\-pa\-kette. + Addison-Wesley. +} +\lst\appeltwd + {Appelt W (1988): + Introduction to \TeX. Addison-Wesley. +} +\lst\aps + {APS (1992): + The REV\TeX{} input guide. + (From the file server.) +} +\lst\arsenaud + {Arsenau D (1992): + overcite.sty, drftcite.sty, citesty. + (From the file server. + No longer needed when BLUe's Bib, especially as part of blue.fmt, + is used.) +} +\lst\arsenaudb + {Arsenau D (1993): + Typesetting paragraphs of a specified shape. + MAPS 93.2, 191\dash193. +} +\lst\asher + {Asher (1992): + Inside Type \& Set. + \tubissue{13}(1), 13--22. +} +\lst\aurbachrl + {Aurbach R.L (1987): + Automatic Index Generation for \LaTeX. + \tubissue{8}(2), 201\dash209. + \annotation{The IdxTeX program provides the external processing + and generates a file of \LaTeX{} source which may be included + in a document to produce the desired index.} +} +\lst\batageljv + {Batagelj V (1994): + Combining \TeX{} and PostScript. + Proceedings Euro\TeX{} 94, 83\dash90. +} +\lst\barlettfh + {Barlett F.H (1991): + Contra-\LaTeX, or what really works in the publishing world. + TUG '91. \tubissue12(3), 367\dash371. +} +\lst\barrond + {Barron D (1989): Why use SGML? + Electronic publishing, 2,1, 3--24. +} +\lst\bechtolsheimsa + {Bechtolsheim S. von (1988): + Tutorial on \cs{futurelet}. + \tubissue{9}(3), 276\dash278. +} +\lst\bechtolsheimsaa + {Bechtolsheim S von (1988): + Using the emacs editor to savely edit \TeX\ sources. + \TeX niques 7, 195\dash202. +} +\lst\bechtolsheims + {Bechtolsheim S von (1989): + \cs{csname} and \cs{string}. + \tubissue{10}(2), 203\dash206. + \annotation{Apart from the basics, SvB discusses the convenient + (read non-double) loading of macro files, and + the cross-referencing. Common to both applications is the use + of \cs{csname} and \cs{string}. No nesting of \cs{csname}, + and no mentioning of associating \cs{csname} with arrays.} +} +\lst\bechtolsheimsb + {Bechtolsheim S von (1993): + \TeX\ in Practice. + 1.~Basics + 2.~Paragraphs, Math and Fonts + 3.~Tokens, Macros + 4.~Output Routines, Tables + Springer-Verlag. +} +\lst\beebenhfa + {Beebe N.H.F (1988): + A \TeX\ driver family. + \TeX niques 5, 71\dash113. +} +\lst\beebenhfb + {Beebe N.H.F (1989): + \TeX\ and graphics: The state of the problem. + Cahiers GUTenberg, 2, 13\dash53. +} +\lst\beebenhfc + {Beebe N.H.F (1991): + The TUGlib server. + MAPS 91.2, 117\dash123. + (Also \TeX line 11.) +} +\lst\beebenhfd + {Beebe N.H.F (1992): + \LaTeX\ Editing Support. + MAPS 92.1, 91\dash114. +} +\lst\beebenhfe + {Beebe N.H.F (1993): + Bibliography prettyprinting and syntax checking. + \tubissue{14}(3/4), 222, respectively ?\dash?. +} +\lst\beetonbn + {Beeton B.N (editor, 1991): + TUG Resource Directory. + \annotation{It contains: TUG membership list, + \TeX\ User Associations, + Sources of \TeX\ software, + Output Device Drivers, + \TeX\ archives, + Electronic Discusion Lists, + \TeX\ bibliography.} +} +\lst\beetonbnb + {Beeton B.N (1990): + \TUB{} production: \TeX, \LaTeX, and paste-up. + SGML-\TeX{} meeting, Groningen. \annotation{Unpublished} +} +\lst\bell + {Bell System Technical Journal (1978): + UNIX Time Sharing System. + BTJ, Vol 57, 6, part 2. +} +\lst\bentleyjla + {Bentley J.L (1986): + Programming Pearls. + ISBN 0-201-10331-1. Addison-Wesley. +} +\lst\bentleyjlb + {Bentley J.L (1988): + More programming Pearls---confessions of a coder. + ISBN 0-201-11889-0. Addison-Wesley. +} +\lst\berryka + {Berry K (199?): + Expanded plain \TeX. + From the file server. + \annotation{A toolbox to cooperate with Any\TeX. It contains + a fancy cross-referencing scheme, and left justification + of math displays, among others. An announcement of + the availability of the toolbox\Dash and its contents\Dash + has appeared in \tubissue{11}(4), 571\dash572.} +} +\lst\bestr + {Best R (1993): + \TeX\ zonder omhaal; voor ATARI PC en andere PCs. + MAPS 93.1\&2, 57\dash68, resp.~111\dash114. + MAPS 94.1\&2, 31\dash34, 35\dash36, resp.~43\dash44. + (Also ATARI-ST Journal.) +} +\lst\bienzt + {Bienz T, R Cohn (1993): + Portable Document Format Reference Manual. + Adobe Systems Inc. Addison-Wesley. ISBN 0-201-62628-4. +} +\lst\bleekerj + {Bleeker J (1989): Electronische verzending, + bewerking en opslag van wetenschappelijke artikelen. + In: SGML de consequenties. + De eerste Nederlandse SGML conferentie. + SGML User's Group Holland. (Dutch) +} +\lst\bloemenpa + {Bloemen P (1993): + 4all\TeX: NTG's \TeX{} for MS-DOS. + MAPS 93.2, 141\dash154. + \annotation{The announcement of this working environment. For simple users only + 1 HD flop, and in its full glory over 30 HD floppies. Available + from NTG's shop. Shareware.} +} +\lst\bloemenpb + {Bloemen P (1993): + Shells for \TeX. + MAPS 93.2, 155\dash159. + (It discusses \TeX Shell and 4\TeX.) +} +\lst\bloemenpc + {Bloemen P (1994): + \PS{} fonts in \TeX. + MAPS 94.2, 139\dash148. +} +\lst\bodenheimerb + {Bodenheimer B (?): + Frequently asked questions. + comp.text.tex newsgroup. + (Adapted by Van Oostrum in MAPS 91.1, 85\dash92.). +} +\lst\boothv + {Booth V (1975): Writing a scientific paper. + The Biochemical Society, London. +} +\lst\borceuxf + {Borceux F (1990): De la construction de diagrammes. + Cahiers GUTenberg, 5, 41\dash48. +} +\lst\botwaylc + {Botway L, C Biemesderfer (198?): + \LaTeX\ command summary. + \TeX niques 10. +} +\lst\braamsjl + {Braams J.L (1991): + Babel, a multilingual style-option system for use with \LaTeX's standard + document styles. + \tubissue{12}(2), 291\dash301. + (Pre-release MAPS 91.1; + updated \tubissue{14}(1), 60\dash61.) +} +\lst\braamsjla + {Braams J.L, V Eijkhout, N.A.F.M Poppelier (1990): + The development of national \LaTeX\ styles. + \tubissue{10}(3), 401--406. +} +\lst\braamsjlb + {Braams J.L (1991): + Babel, a multilingual style-option system + for use with \LaTeX's standard document styles. + \tubissue{12}(2), 291--301. + (Early version in MAPS 91.1.) +} +\lst\bridge + {BRIDGE. Monthly of the NBB (Dutch Bridge Union). +} +\lst\brueggemana + {Br\"uggemann-Klein A, D Wood (1989): + Drawing trees nicely with \TeX. + EP-ODD, 2, 2, 101\dash115. + (Also in \TeX\ Applications, Uses and Methods, Malcom Clark, editor.) +} +\lst\bruinr + {Bruin R de, C.G van der Laan, J.R Luyten, H.F Vogt (1988): + Publiceren met \LaTeX. + CWI Syllabus 19. + (See also Addendum `Publiceren met \LaTeX' in MAPS 92.1.) +} +\lst\bryanma + {Bryan M (1988): + SGML, an Author's Guide to the Standard + Generalized Markup Language. + Addison-Wesley. +} +\lst\bryanm + {Bryan M (1993): + A \TeX{} user's guide to ISO's Documentstyle Semantics and Specification + Language (DSSSL). + Proceedings TUG '93. \tubissue{14}(3), ?\dash?. +} +\lst\buergerd + {B\"urger D (1990): + \LaTeX\ for scientists and engineers. MC Graw-Hill. +} +\lst\bzylw + {Bzyl W, T Przechlewski (1993): + An application of literate programming: creating a format for the Bulletin + of the Polish TUG. + TUG '93. \tubissue{14}(3), 296\dash299. + \annotation{Very promising this using of the experience embodied in {\tt tugboat.sty} + via transformation into Web and modify this with GUST's mods via + change files. As a bonus there is an index. + Handy to locate commands, but it won't help to locate + the various @begin$<foo>$ commands because these are invoked via + csnames.} +} +\lst\cameronpj + {Cameron P.J (1990): + Adventures of a new \TeX nician. + \TeX line 12, 2\dash3. +} +\lst\carlisleda + {Carlisle D (1992): + longtable.sty. + From the fileserver. +} +\lst\chemtex + {Chem-\TeX (?): + From the file server. +} +\lst\chenp + {Chen P, M Harrison (1987): + Automatic index preparation. + CSB-TR 87/347. UCB. + \annotation{A nice survey of issues relevant to preparing indexes + automatically. Existing indexing tools in use in various systems + are discussed. The paper emerged from the experience gained in writing + the makeindex C program.} +} +\lst\cheswickb + {Cheswick B (1990): + A permuted index for \TeX\ and \LaTeX. + CSR 145. AT\&T. + (Also \TeX niques 14. Handy for looking up if a command is already in use.) +} +\lst\childsba + {Childs B (1989): + Teaching \TeX. + \tubissue{10}(2), 156\dash163. +} +\lst\childsbb + {Childs, B (1989): + Answers to \TeX\ tests. + \tubissue{10}(3), 319\dash323. +} +\lst\clarkaa + {Clark A.F (1987): + Halftone output from \TeX. + \tubissue{8}(3), 270\dash274. +} +\lst\clarkma + {Clark M (1987): + More symbols for \TeX. + \TeX line 5, 7\dash8. +} +\lst\clarkmaa + {Clark M (1988): + A note comparing \TeX\ to SGML. + SGML User's Group Bulletin, 3, 2, 67\dash68. +} +\lst\clarkmab + {Clark M (1988): + A note comparing \TeX\ to SGML. + SGML User's Group Bulletin, 3, 2, 67\dash68. +} +\lst\clarkmac + {Clark M (1989): + \TeX\ and/or SGML. + Proceedings Euro\TeX89. Karls\-ruhe. + \annotation{Context sensitivity as a tool for checking + input correctness is stressed; + an example of how to do this within \TeX\ + is given.} +} +\lst\clarkmb + {Clark M (editor, 1990): + \TeX\ applications, uses and methods. + Proceedings of Euro\TeX\ '88. + Ellis Horwood. ISBN 0-13-912296-6. +} +\lst\clarkmc + {Clark M (1992): + Portable Graphics in \TeX. + Proceedings TUG '92. \tubissue{13}(3), 253\dash260. + (Also as chapter 17 in his \TeX\ Primer.) +} +\lst\clarkmd + {Clark M (1992): + A plain \TeX\ primer. + Oxford University Press. 480p. +} +\lst\cms + {The Chicago manual of style (1982). + University of Chicago Press. +} +\lst\coffings + {Coffin G.S (1954): Bridge Plays: + Four classics. Faber and Faber. London. +} +\lst\commacm + {Comm ACM (1988): + Special Issue: Hypertext. + Comm. ACM, 88, 31, 7. + \annotation{It contains: + An overview of hypertext, by J.B Smith, S.F Weiss; + KMS: A distributed hypermedia system for managing knowledge in + organizations, by R.M Akscyn, D.L McCracken, E.A Yoder; + Reflections on notecards: seven issues for the next generation of + hypermedia systems, by F.G Halasz; + HAM: A general purpose hypertext abstract machine, by B Campbell, J.M + Goodman; + Abstraction mechanisms in hypertext, by P.K Carg; + Hypertext and the new Oxford dictionary, by D.R Raymond, F.W Tompa; + Searching for information in a hypertext medical handbook, by + M.E Frisse; + Hypertext '87: Keynote address, by A van Dam. + There are conferences devoted to the subject at least each year.} +} +\lst\coombsjh + {Coombs J.H, A.H Renear, S.J DeRose (1987): + Markup systems and the future of scholarly text processing. + Comm. ACM, 30, 11, 933\dash947. +} +\lst\cowanrf + {Cowan R.F (1985): + Making tables with macros. tables.tex \& tabledoc.tex. + (Available from file servers.) +} +\lst\crowhurste + {Crowhurst E (1986): + ACOL in competition. Pelham. London. +} +\lst\damrauj + {Damrau J, M Wester (1991): Form letters with 3-across + labels capability. TUG '91. \tubissue{12}(4), 510\dash516. +} +\lst\dobrowolskiae + {Dobrowolski A, E (1992): + Typesetting SGML documents using \TeX. + Proceedings TUG '92. \tubissue{12}(4), 409\dash414. +} +\lst\dolw + {Dol W, E.H.M Frambach, M van der Vlerk (1993): + 4\TeX: a \TeX\ workbench for MS-DOS PCs. + MAPS 93.1, 53\dash56. +} +\lst\dolwb + {Dol W (1993): + The ease of including graphics in \TeX{} documents using 4\TeX. + MAPS 93.2, 171\dash176. +} +\lst\dolwc + {Dol W, E.H.M Frambach, S Kroonenberg, M van der Vlerk (1994): + \TeX{} \& 4\TeX{} Guide. + (Booklet to accompany NTG's 4All\TeX{} CD-ROM.) +} +\lst\doobma + {Doob M (1990): + A gentle introduction to \TeX. + \TeX niques 12. + (Also from the file server, as is my review.) +} +\lst\doobmb + {Doob M, C Platt (1993): + Virtual fonts in a production environement. + TUG '93. \tubissue{14}(3), 275\dash281. +} +\lst\doumontjl + {Doumont J.L (1994): + Pascal pretty-printing: + an example of `preprocessing within \TeX.' + Proceedings TUG '94. \tubissue{15}(3), 167\dash173. +} +\lst\downesmja + {Downes M.J. (1991): + Dialogue with \TeX. + Proceedings TUG '91. \tubissue{12}(4), 502\dash509. +} +\lst\drilcon + {DRILCON (1990): A program for conversion between \TeX\ and wordprocessors. + KUB. The Netherlands. + (It uses an intermediate language.) +} +\lst\duchierd + {Duchier D (1990): + \TeX, ex\-ter\-nal tensor pro\-duct. + \TeX HaX 90.20. +} +\lst\dunna + {Dunnr A (1987): + Using \PS{} with \TeX. + \tubissue{8}(2), 171\dash173. +} +\lst\durstlka + {Durst L.K (1989): Bibliographic citations, or variations + on the old shell game. \tubissue{10}(3), 390\dash394. + \annotation{It discusses how to cope with \TeX ing a bibliography. BLUe's Bib + has undoubtedly been influenced by this work, because I read it + at least a year before creating BLUe's Bib. Durst does not use the + list separator \TeX nique, and therefore the encoding is a little more + complex. Also the writing to a file and the external sorting makes it + more cumbersome. In the paper it is not worked out how to use it within + one of \TeX's flavours. + The basic approach is very similar to mine, however.} +} +\lst\durstlkb + {Durst L.K (1990): + Long-winded endnotes and exercises with hints or solutions. + \tubissue{11}(4), 580\dash588. + \annotation{A comment is given in Hefferon (1991): Getting {\tt\char92answers} + in \TeX.} +} +\lst\durstlkc + {Durst L.K (1991): + Some tools for making indexes: Part I. + \tubissue{12}(2), 248\dash258. +} +\lst\dysonmc + {Dyson M.C (1992): + The curriculum as a hypertext. + EP-ODD, 5, 2, 63\dash72. +} +\lst\dysonmcb + {Dyson M.C (1993): + Teaching digital typography\Dash the Didot project. + TUG '93. \tubissue{14}(3), 329\dash332. + (Also MAPS 93.2, 216\dash218.) +} +\lst\eijkhoutva + {Eijkhout V (1990): + Unusual paragraph shapes. + \tubissue{11}(1), 51\dash53. +} +\lst\eijkhoutvb + {Eijkhout V (1990): + An indentation scheme. + \tubissue{11}(4), 613\dash616. + (Also MAPS 90.2.) +} +\lst\eijkhoutvc + {Eijkhout V (1990): + A {\tt\char92parskip} scheme. + \tubissue{11}(1), 616\dash619. + (Also MAPS 90.2.) +} +\lst\eijkhoutvd + {Eijkhout V (1992): + \TeX\ by Topic. Addison-Wesley. +} +\lst\eijkhoutve + {Eijkhout, V (1993): + The bag of tricks. \tubissue{13}(4), 494\dash495. + (It is about how to layout a macro. What I like most of it is the + summary of how to counteract unwanted spaces. At the end the important + difference between the \cs{ifUndefinedCS} and \cs{if}\cs{UndefinedCS} + has been treated.) +} +\lst\einarssonb + {Einarsson B, W.M Gentleman(1984): + Mixed Language programming. + Soft.Prac.Exp., 14, 4 383\dash396. +} +\lst\eppsteind + {Eppstein D (1985): + Trees in \TeX. + \tubissue{6}(1), 31\dash37. +} +\lst\fergusonmj + {Ferguson M.J (1991): + INRS-\TeX\ (new version). + (See also his multilingual reports, \tubissue{11}(4), 514\dash515) +} +\lst\fineja + {Fine J (1992): Some basic control macros for \TeX. + \tubissue{13}(1), 75\dash83. +} +\lst\floydrw + {Floyd R.W (1978): The paradigms of programming. + Comm ACM ?\dash?. + Also in ACM Turing Award Lectures. The first twenty years 1966\dash1985. + ACM Press. Addison-Wesley IBN 0-201-07794-9. + \annotation{} +} +\lst\furutar + {Furuta R, J Scofield, A Shaw (1982): + Document Formatting Systems: Survey, Concepts, and Issues. + Computing Surveys, 14, 3, 417\dash472. +} +\lst\genussapl + {Genussa P.L (1987): + Document Preparation Method + of the United States Aire Force + Automated Technical Order System. + SGML Users' group. Bulletin 2, 1. +} +\lst\gibbonsj + {Gibbons J (1993): + Footnotes with verbatim material. + TTN, 2, 4, p.9. + \annotation{\LaTeX's footnote implementation has been modified to allow also for + verbatims similar to plain's encoding. Basically it comes down to handling + the `argument.' Really nice.} +} +\lst\glendowng + {Glendown G (1990): Round boxes for plain \TeX. + \tubissue{10}(3), 385--386. +} +\lst\goossensma + {Goossens M (1993): + POSTSCRIPT en \LaTeX, de komplementariteit in de praktijk. + MAPS 93.1, 101\dash113. +} +\lst\goossensmb + {Goossens M, F Mittelbach, A Samarin (1993): + The \LaTeX-companion. Addison-Wesley. +} +\lst\goossensmc + {Goossens M, F Mittelbach, A Samarin (1993): + Customizing \LaTeX's lists. + MAPS 93.2, 177\dash183. +} +\lst\goossensmd + {Goossens M, S.P.Q Rahtz (1994): + Colour slides with \LaTeX{} and Seminar. + Baskerville, 4,1, 8\dash12. +} +\lst\goossensme + {Goossens M, S.P.Q Rahtz (1994): + Simple colour design and colour in \LaTeX2$\epsilon$. + Euro\TeX, 196\dash205. +} +\lst\grahamrla + {Graham R.L, D.E Knuth, O Pastashnik (1989): + Concrete Mathematics. Addison-Wesley. + \annotation{The macros for formatting this book are available from the + CTAN and known as gkpmac.tex.} +} +\lst\greeni + {Green I (1992): + citesort.sty. + (From the file server.) +} +\lst\greeneam + {Greene A.M (1989): + \TeX reation\Dash Playing Games with \TeX's mind. + \tubissue{10}(4), 691\dash705. +} +\lst\greenwadegd + {Greenwade G.D (1993): + The Comprehensive \TeX\ Archive Network\Dash CTAN. + TUG '93. \tubissue{14}(3), 342\dash351. + (Also MAPS 93.2, 133\dash140.) +} +\lst\griesd + {Gries D (1983 snd printing): + The science of programming. + Springer-Verlag. ISBN 0-387-90641-x. +} +\lst\grootenhuisj + {Grootenhuis J (1990): + Typesetting SGML coded Mathematics. + Paper presented at Markup'90. Charleston. +} +\lst\guittetc + {Guittet C (1986): + FORMEX: une mise en practique des normes internationales. + SGML user's group. Bulletin, 1, 2. +} +\lst\gurariema + {Gurari E.M (1989): + An introduction to the theory of computation. + Computer Science Press. +} +\lst\gurariemb + {Gurari E.M (1994): + \TeX{} \& \LaTeX\Dash Drawing \& Literate Programming. + Mc Graw Hill. ISBN 0-07-025208-4. +} +\lst\gurariemc + {Gurari E.M (1994): + Writing with \TeX. + Mc Graw Hill. ISBN 0-07-025207-6. +} +\lst\hafnerja + {Hafner J (1992): + Foil\TeX, a \LaTeX-like system for typesetting foils. + \tubissue{13}(3), 347\dash356. +} +\lst\hagenja + {Hagen J, A.F Otten (1994): + PPCH\TeX: Chemische structuur formules in \TeX. + MAPS 94.2, 167\dash177. +} +\lst\hagenjb + {Hagen J (1994): + Een meertalige interface naar \TeX. + MAPS 94.2, 178\dash182. +} +\lst\hagenjc + {Hagen J (1994): + Sub- en Superscripts in Chemische Formules. + MAPS 94.2, 183. +} +\lst\hamiltonb + {Hamilton Kelly B (1989): + The autodoc-option. + \tubissue{10}(2), 274\dash284. +} +\lst\hamiltonba + {Hamilton Kelly B (1990): + Some macros to draw crosswords. + \tubissue{11}(1), 103\dash119. +} +\lst\hamiltonh + {Hamilton H (1989): + Mastering \TeX{} with templates. + TUG '89. \tubissue{10}(4), 541\dash548. + \annotation{It has all to do with learning by example.} +} +\lst\hammingrw + {Hamming R.W (1978): One man's view of computer science. + Comm ACM ?\dash?. + Also in ACM Turing Award Lectures. The first twenty years 1966\dash1985. + ACM Press. Addison-Wesley IBN 0-201-07794-9. + \annotation{} +} +\lst\haralambousy + {Haralambous Y (1992): + \TeX\ conventions concerning languages. TTN, 1, 4, 3\dash10. +} +\lst\heckelp + {Heckel P (1982): + The elements of friendly software design. + Warner Books. ISBN 0-446-38040-7. +} +\lst\hemelj + {Hemel J, C.G van der Laan, R.C.G.M Lauwerier (1989): + Het maken van transparanten voor overhead-projectie. + RC-Rapport 23. + \annotation{In this report a set of 4 characteristic transparencies---a drawing, + a bar-chart, a pie-chart, + a list of items with some formulas---is selected, + and the aspects which come along when making these by hand, + by Wordperfect, or by \LaTeX, are discussed. The results are shown and + the needed amount of work for each approach is summarized among others.} +} +\lst\hendersonda + {Henderson D (1989): + Outline fonts with METAfont. + \tubissue{10}(1), 36\dash38. +} +\lst\hendersondb + {Henderson D (1989): + Introduction to METAfont. + \tubissue{10}(4), 467\dash480. +} +\lst\hendricksonaa + {Hendrickson A (1985): + Some diagonal line hacks. + \tubissue{6}(2), 83\dash86. + \annotation{The macros go wrong for (nearly) vertical lines.} +} +\lst\hendricksonab + {Hendrickson A (1989): + Macro\TeX. +} +\lst\hendricksonac + {Hendrickson A (1990): + Getting \TeX nical: Insights into \TeX\ macro writing \TeX niques. + \tubissue{11}(3), 359\dash370. +} +\lst\hendricksonax + {Hendrickson A (priv.\ comm.). +} +\lst\henricip + {Henrici, P (1977): Applied and computational complex analysis. + II. Special functions, integral transformations, asymptotics, continued + fractions. John-Wiley. +} +\lst\herwijnenea + {Herwijnen E van (1988): + Electronic submission of Physics + articles to publishers. De $1^e$ Nederlandse + SGML conferentie. SGML: De Consequenties. + \annotation{Also published in: Computer Physics + Communications 57 (1989) 244\dash250: + The use of text interchange standards + for submitting physics articles to journals. + In the context of this paper the discussion of + SGML related to \TeX\ is relevant.} +} +\lst\herwijnene + {Herwijnen E van (1990): + Practical SGML. Kluwer. +} +\lst\herwijnenea + {Herwijnen E van, N.A.F.M Poppelier, C.A Rowley (to appear): + Standard DTDs and scientific publishing. + MAPS 92.2, 69\dash80. +} +\lst\herwijneneb + {Herwijnen E van (priv. comm.): Streamlining publishing + procedures. +} +\lst\herwijnenec + {Herwijnen E van (1988): + TexT Processing at CERN I. + SGML Users' Group Bulletin, 3, 2, 39--54. +} +\lst\hoarecar + {Hoare C.A.R (1980): The emperor's old clothes. + Comm ACM ?\dash?. + Also in ACM Turing Award Lectures. The first twenty years 1966\dash1985. + ACM Press. Addison-Wesley IBN 0-201-07794-9. + \annotation{} +} +\lst\hobbyjda + {Hobby J.D (1992): + A user's manual for METAPost. + CSTR 162. AT\&T Bell Laboratories. + (Since 1995 METAPost is in the public domain.) +} +\lst\hobbyjdb + {Hobby J.D (1992): + Introduction to METAPost. + Euro\TeX{} 92. 21\dash36. +} +\lst\hoenigajaa + {Hoenig A.J (1987): + \TeX{} does windows. + \tubissue{8}(2), 212\dash216. +} +\lst\hoenigajab + {Hoenig A.J (1989): + Fractal images with \TeX. + Proceedings TUG '89. \tubissue{10}(4), 491\dash497. +} +\lst\hoenigaja + {Hoenig A.J (1990): + Labelling figures in \TeX\ documents. + TUG '90. \tubissue{12}(1), 125\dash128. +} +\lst\hoenigajb + {Hoenig A.J (1991): + When \TeX\ and METAfont talk: + Typesetting on curved paths and other special effects. + TUG91 proceedings. \tubissue{12}(3), 554\dash557. +} +\lst\hoenigajba + {Hoenig A.J (1991): + Typesetting along arbitrary curves with \TeX\ and METAfont. + TUG91 proceedings. +} +\lst\hoenigajc + {Hoenig A.J (1991): + \TeX\ for new users. MAPS 91.2, 91\dash96. +} +\lst\hoenigajd + {Hoenig A.J (1992): + When \TeX\ and METAfont work together. + Euro\TeX\ '92 proceedings, 1\dash19. + (An updated version released in MAPS 93.1.) +} +\lst\hoenigaje + {Hoenig A (1992): Q \& A. Partitioned Matrices. + \tubissue{13}(1), 60\dash62. +} +\lst\hoenigajf + {Hoenig A (1994): + Less is more: Complex page layouts and shapes with \TeX. + TUG94 proceedings. \tubissue{15}(3), 232\dash243. +} +\lst\hooveraza + {Hoover A.Z (1989): + Using wordperfect 5.0 to create \TeX\ and \LaTeX\ documents. + \tubissue{10}(4), 549\dash559. +} +\lst\hooverazb + {Hoover A.Z (1991): + Getting Postscript into \TeX\ and \LaTeX\ documents. + TUG '91. MAPS 91.2. +} +\lst\hooverazc + {Hoover A.Z (1992): + The key to successful support: knowing your \TeX\ and \LaTeX\ users. + Euro\TeX{} '92 proceedings, 1\dash19. + (Also MAPS 92.2.) +} +\lst\horakk + {Horak K (priv. comm. 1992): + Examples of (scientific) METAfont use. + (Some have been encorporated in NTG's PR set.) +} +\lst\horakka + {Horak K (1994): + Fighting with big METAfont pictures + when printing them reversely or landscape. + Proceedings Euro\TeX{} 94, 105\dash107. +} +\lst\hornbkp + {Horn B.K.P (1993): + Where are the Math fonts? + TUG '93. \tubissue{14}(3), 282\dash284. +} +\lst\hornbkpa + {Horn B.K.P (1993): + New from Y\&Y: complete bitmap-free \TeX{} packages! + Flyer 8p. + \annotation{Reviewed in Notices of the AMS by J.L Casti. + Very good with respect to + encorporation of Postscript (product: DVIPSONE) + and the accompanying previewer (product: DVIWindo). + No virtual fonts are supported, and as + argued by the author there is no need for it to do so.} +} +\lst\horowitze + {Horowitz E (1984): + Fundamentals of programming languages. + Computer Science Press. ISBN 0-88175-004-2. +} +\lst\hosekd + {Hosek D (1991): + \TeX\ Output Devices. + TUG Resource Directory, 133\dash158. +} +\lst\houtjfmj + {Hout J.F.M.J, M.J.A Mirande, E.B Smuling (1981): + Geven van hoorcolleges. + Aula 807. + \annotation{Apart from the useful survey aspects it supplies also references + to Gagn\'e's work.} +} +\lst\isosgml + {ISO (8879): Information Processing\Dash Text and Office + Systems\Dash Standard Generalized Markup Language (SGML). 1986--10--15. +} +\lst\isosgmltr + {ISO (TR9573): Information Processing\Dash SGML + Support Facilities\Dash Techniques for using SGML. + 1988--09--12. +} +\lst\iwakumat + {Iwakuma Tetsuo (1994): + A guide to use Macros and Style files in \LaTeX. + MAPS 94.2, 73\dash110. +} +\lst\jackowskibc + {B Jascowski, M Ry\'cko (1994): + Labyrinth of METAfont paths in outline. + Proceedings Euro\TeX{} 94, 18\dash32. +} +\lst\janschcr +{J\"ansch C.R, U R\"ode, K Schnepper (1988): + Macro expansion, a tool for the systematic development of scientific software. + TUM-I8814. +} +\lst\jeffreya + {Jeffrey A (1990): Lists in \TeX's mouth. + \tubissue{11}(2), 237\dash244. +} +\lst\jeffreyab + {Jeffrey A (1993): + A Postscript font installation package written in \TeX. + TUG '93. \tubissue{14}(3), 285\dash292. +} +\lst\jeffreyac + {Jeffrey A (editor, 1993): + Math font encodings: a workshop summary. + TUG '93. \tubissue{14}(3), 293\dash295. +} +\lst\jensenk + {Jensen K, N Wirth (1975): PASCAL user manual and report. + Springer-Verlag. +} +\lst\jonesdm + {Jones D.M (1992): + A catalogue of \TeX{} macros. + (From the file server.) +} +\lst\jurrienstaa + {Jurriens T.A (priv. comm.): + Supertabular.sty. + (From the file server.) +} +\lst\jurrienstaaa + {Jurriens T.A (1992): \TeX\ for everybody? + Euro\TeX92. + \annotation{Experience \LaTeX\ teaching.} +} +\lst\jurrienstab + {Jurriens, T.A (1991): + Ladies and \LaTeX I-II-III. + MAPS 91.2, 102\dash104, 92.1, 133\dash134, MAPS 92.2, 102\dash104. +} +\lst\jurrienstac + {Jurriens T.A (1992): \TeX\ as database. MAPS92.2, + 100\dash101. +} +\lst\jurrienstad + {Jurriens T.A (1992): + From observation to publication. + \tubissue{14}(2), 123\dash126. +} +\lst\kabelschachta + {Kabelschacht A (1987): + \cs{expandafter} vs.\ \cs{let} and \cs{def}, and + a generalization of plain's loop. + \tubissue{8}(2), 184\dash185. +} +\lst\kappertr + {Kappert R (1992): scite.sty. (A compilation + of the earlier versions of Arseneau and Green. + From the file server.) +} +\lst\kelderj + {Kelder J, B van der Velde (1986): + Dwangposities tegen \'e\'en tegenstander. Becht. A'dam. (Dutch). + Translated from: + Kelsey H.W (1985, paperback): + Simple squeezes. Gollancz. London. +} +\lst\kelleram + {Keller, A.M (1985): + From text to \TeX\Dash coursenotes for \TeX\ for beginners. + (TOPS 20 is outdated. emacs is still actual.) +} +\lst\khanhha + {Khanh Ha (1990): + Easy Table. \tubissue{11}(2), 250\dash264. +} +\lst\knappenja + {Knappen J (1992): + Changing the appearance of Math. + Euro\TeX'92. +} +\lst\knesert + {Kneser T (1990): + \LaTeX-paragraphs floating around figures. + \tubissue{12}(1), 28\dash30. +} +\lst\knuthdea + {Knuth D.E (1968): + The art of computer programming. Vol. I: Fundamental algorithms. + Addison-Wesley.ISBN 0-201-03809-9. +} +\lst\knuthdeb + {Knuth D.E (1969): + The art of computer programming. Vol. II: Seminumerical algorithms. + Addison-Wesley.LLOCC 67-26020. +} +\lst\knuthdec + {Knuth D.E (1973): + The art of computer programming. Vol. III: Sorting and searching. + Addison-Wesley. LLOCC 67-26020. +} +\lst\knuthdeca + {Knuth D.E (1974): + Computer programming as an art. + Comm ACM ?\dash?. + Also in ACM Turing Award Lectures. The first twenty years 1966\dash1985. + ACM Press. Addison-Wesley IBN 0-201-07794-9. + \annotation{} +} +\lst\knuthdeca + {Knuth D.E (1979): Mathematical Typography. + Bulletin AMS, 1, 2, 345\dash372. +} +\lst\knuthdecb + {Knuth D.E (1979): + \TeX\ and METAfont: New directions in typesetting. + Part 1 Mathematical Typography. 45p. + Part 2 \TeX\ a system for technical text. 201p. + Part 3 METAfont, a system for alphabet design. 105p. + AMS. Digital Press. ISBN 0-932376-02-9. + \annotation{A nice and handy book which explains the basic approaches in + not too much detail.} +} +\lst\knuthdecc + {Knuth D.E (1984): + Literate Programming. + The Computer Journal, 27, 2, 97\dash111. +} +\lst\knuthded + {Knuth D.E (1984): + Computers and Typesetting. + \TB. Addison-Wesley. + ISBN 0-201-13447-0 (hard cover) + ISBN 0-201-13448-9 (soft cover). + \annotation{For the correct printing look in the index + for \cs{language}. + \TeX, frozen in version $\pi$, + 3.1415\dots} +} +\lst\knuthdee + {Knuth D.E (1984): + A course on METAfont programming. + \tubissue{5}(2), 105\dash118. +} +\lst\knuthdeea + {Knuth, D.E (1985): Recipes and fractions. + \tubissue{6}(1), 36\dash38. +} +\lst\knuthdef + {Knuth D.E (1986): + Computers and Typesetting.\TeX: the program. + Addison-Wesley. + \annotation{Reprint with corrections 1988, + a version dated after 1989 is needed. + Look again for \cs{language} in the index.} + ISBN 0-201-13437-3. +} +\lst\knuthdeg + {Knuth D.E (1986): + Computers and Typesetting. The METAfont book. + Addison-Wesley. + ISBN 0-201-13445-4. +} +\lst\knuthdeh + {Knuth D.E (198?): + Computers and Typesetting. METAfont: the program. + Addison-Wesley. +} +\lst\knuthdehb + {Knuth D.E, P Mackay (1987): + Mixing right-to-left texts with left-to-right texts. + \tubissue{7}(1), 14--25. +} +\lst\knuthdehc + {Knuth D.E (1987): + Saturday morning problem\Dash conclusion. + \tubissue{8}(2), 211. + \annotation{The principle of text flowing around a figure + via an OTR with a `mock'-\cs{everyline}. Hoenig in TUG 94 + has elaborated the issue further.} +} +\lst\knuthdehd + {Knuth D.E (1987): + Reply: Printing out selected pages. + \tubissue{8}(2), 217. + \annotation{Manmac's shipout for slected pages.} +} +\lst\knuthdehe + {Knuth D.E (1987): + Fonts for digital halftones. + \tubissue{8}(2), 135\dash270. + \annotation{} +} +\lst\knuthdei + {Knuth D.E (1989): + The errors of \TeX. + Software Practice and Experience, 19, 7, 607\dash685. + (Also \tubissue{10}(4), 529\dash532.) +} +\lst\knuthdeib + {Knuth D.E, T Larrabee, P.M Roberts (1989): + Mathematical writing. + MMA Notes, 14. +\annotation{With contributions by Paul Halmos, Leslie Lamport, Mary-Claire van Leunen, +Nils Nilsson, Rosalie Stemer, Jeff Ullman, and Herbert S. Wilf.} +} +\lst\knuthdej + {Knuth D.E (1990): + Virtual Fonts: More Fun for Grand Wizards. + \tubissue{11}(1), 13\dash23. +} +\lst\knuthdek +{Knuth D.E, S Levy (1987): + The CWEB System of Structured Documentation. + (FTP: labrea.stanford.edu, in directory /pub/cweb) +} +\lst\kopkah + {Kopka H, P.W Daly (1993): + A guide to \LaTeX\Dash Document preparation for beginners and advanced users. + Addison-Wesley. ISBN 0-201-56889-6. +} +\lst\kolodziejska + {Ko{\l}odziejska H (1991): + Go diagrams with \TeX. + MAPS 91.2, 63\dash68. + (From the file server.) +} +\lst\kopkah + {Kopka H, P.W Daly (1993): + A guide to \LaTeX---Document preparation + for beginners and advanced users. + Addison-Wesley. ISBN 0-201-56889-6. +} +\lst\krimpenh + {Krimpen H van (1986): + Boek over het maken van boeken. + Gaade Uitgevers. Veenendaal. ISBN 9-060-17521-2. +} +\lst\kuykenshjp + {Kuykens H.J P (1994): + MIDI2\TeX, een music\TeX{} tool. + MAPS 94.2, 184\dash188. +} +\lst\laancg + {Laan C.G van der (1984): (Graceful) Mixed Language + Programming. Argonne National Laboratory Workshop. +} +\lst\laancga + {Laan C.G van der, J.R Luyten (1988): + Evaluation of K-talk. + RC-RUG rapport 15. + \annotation{Contains test collection for evaluating converters. + The conclusion is that ordinary marked up text is no problem, + but tables, math and graphics go wrong.} +} +\lst\laancgaa + {Laan C.G van der (1989): + Teaching \TeX: critics and \LaTeX\ proposal. + Appendix V. Minutes $4^{th}$ NTG meeting. +} +\lst\laancgb + {Laan C.G van der (1989): + Typesetting Bridge via \LaTeX. + \tubissue{10}(1), 113\dash116. + (Also MAPS 91.2.) +} +\lst\laancgc + {Laan C.G van der (1990): + Typesetting Bridge via \TeX. + \tubissue{11}(2), 265\dash276. + (Pre-release GUTenberg Cahiers 5, and a copy in MAPS 91.2.) +} +\lst\laancgd + {Laan C.G van der (1990): + SGML(, \TeX\ and \dots). + \tubissue{12}(1), 90\dash104. + (Pre-release MAPS 90.2 and GUTenberg + cahiers 5. + It contains also an extensive bibliography + about SGML-\TeX\ relation.) +} +\lst\laancge + {Laan C.G van der (1991): + Math into BLUes. + Part~I: Mourning. TUG '91. \tubissue{12}(3), 485\dash501. + Part~II: Sing your song. Euro\TeX\ '91. + GUTenberg Cahiers 10\&11, 147\dash170. + (Pre-release MAPS 91.1.) +} +\lst\laancgf + {Laan C.G van der (1992): + Tower of Hanoi, revisited. + \tubissue{13}(1), 91\dash94. +} +\lst\laancgg + {Laan C.G van der (1992): + Table Diversions. + MAPS 92.2, 115\dash129. + (An earlier version at Euro\TeX{} '92.) +} +\lst\laancgga + {Laan C.G van der (1992): + Spivak's \OE uvre. + MAPS 92.1, 139\dash142. +} +\lst\laancgh + {Laan C.G van der (1992): + FIFO and LIFO sing the BLUes. + \tubissue{14}(1), 54\dash59. + (An earlier version at Euro\TeX{} '92 + and MAPS 92.2.) +} +\lst\laancgi + {Laan C.G van der (1992): + Typesetting crosswords via \TeX, revisited. + MAPS 92.2, 145-146. + \annotation{Submitted TUGboat. An earlier version based upon \cs{halign} in + Proceedings Euro\TeX\ '92, 217\dash224, and MAPS 92.1, 128\dash132.} +} +\lst\laancgj + {Laan C.G van der (1992): + Syntactic Sugar. + TUG '93. + \tubissue{14}(3), 310\Dash318. + (Earlier versions in MAPS 92.2, abridged in GUST bulletin 1.) +} +\lst\laancgk + {Laan C.G van der (1993): + Manmac BLUes\Dash Or how to typeset a book via \TeX. + MAPS 93.1, 171\dash191. +} +\lst\laancgl + {Laan C.G van der (1993): + AMS BLUes\Dash Professionals at work. + MAPS 93.1, 192\dash212. +} +\lst\laancgm + {Laan C.G van der (1993): + Sorting in BLUe. + MAPS 93.1, 149\dash170. + (Abrid\-ged TUG '93. \tubissue{14}(3), 319\dash328.) +} +\lst\laancgo + {Laan C.G van der (1993): + Typesetting number sequences. + MAPS 93.1, 145\dash148. + \annotation{Submitted TUGboat. No longer relevant when BLUe's Bib is used.} +} +\lst\laancgp + {Laan C.G van der (1993): + Matrix icons via \LaTeX. + MAPS 93.2, 211\dash212. + (Also note in TTN 3.3, 1994.) +} +\lst\laancgq + {Laan C.G van der (1993): + BLUe's Bibliography\Dash A ge\-ne\-ric ap\-proach. + MAPS 93.2, 205\dash210. + \annotation{Selective loading has been added in MAPS 94.1.} +} +\lst\laancgr + {Laan C.G van der (1993): + What is \TeX{} and \MF{} all about? + MAPS 93.2, 67\dash87. + (Also: proceedings `PD, Shareware, Freeware' + meeting NLUUG, November 1993. CTAN + and PTF CD in \dots/whatstex in + ctan/info/info.zip) +} +\lst\laancgs + {Laan C.G van der (1994): + TUGboat BLUes\Dash How \TeX ies do it. + MAPS 94.1, 119\dash150. +} +\lst\laancgt + {Laan C.G van der (1994): + BLUe's Trans\-paren\-cies\Dash From report to transparency. + MAPS 94.1, 111\dash114. +} +\lst\laancgu + {Laan C.G van der (1994): + BLUe's Verbatim\Dash The selection. + MAPS 94.1, 116\dash118. +} +\lst\laancgv + {Laan C.G van der (1994): + BLUe's Format\Dash The best of both worlds. + MAPS 94.2, 189\dash199. + (Abridged. Euro\TeX\ '94, 33\dash44, also abridged. + Unabridged version from the CTAN.) +} +\lst\laancgw + {Laan C.G van der (1994): + BLUe's Biblio\-gra\-phy\Dash Se\-lec\-tive loading.\\ + MAPS~94.1, 115. +} +\lst\laancgx + {Laan C.G van der (1994): + BLUe's Graphs\Dash Simplicity, aha! + MAPS 94.2, 200\dash206. +} +\lst\laancgy + {Laan C.G van der (1994): + BLUe's Cross-Referen\-cing\Dash A one-pass approach. + MAPS 94.2, 207\dash209. +} +\lst\laancgz + {Laan C.G van der (1995): + Publishing with \TeX\Dash BLUe's Selection. + MAPS Special. %CWI tract. + See CTAN /pub/archive/info/pwt. +} +\lst\laancgA + {Laan C.G van der (1994): + Paradigms\Dash Headache? + MAPS 94.2, 212\dash214. +} +\lst\laancgB + {Laan C.G van der (1994): + Paradigms\Dash Plain's items extended. + MAPS 94.2, 210\dash211. +} +\lst\laancgC + {Laan C.G van der (1995): + BLUe's Typesetting of Pascal\Dash Lean and mean. + MAPS 95.1, 208\dash210. + \annotation{This early paper has been improved. The typesetting + of array brackets is possible now.} +} +\lst\laancgD + {Laan C.G van der (1995): + BLUe's Index\Dash The principle and some more. + MAPS 95.1, 178\dash186. + \annotation{A more user oriented version has been appeared in a chapter of the + PWT guide and also in the proceedings of Euro\TeX~95.} +} +\lst\laancgE + {Laan C.G van der (1995): + BLUe's Format Databases\Dash Stay organized. + MAPS 95.1, 170\dash177. +} +\lst\laancgF + {Laan C.G van der (1995): + Paradigms\Dash Two-part macros. + MAPS 95.1, 200\dash204. +} +\lst\laancgG + {Laan C.G van der (1995): + Paradigms\Dash Parameterization I \Dash\ Options. + MAPS 95.1, 205\dash207. +} +\lst\laancgH + {Laan C.G van der (1995): + Use of \TeX{} as databases with any \TeX. + Proceedings Euro\TeX~95, 273\dash278. +} +\lst\lammarschj + {Lammarsch J (1993): + A new typesetting system: is it really necessary? + TUG '93. \tubissue{14}(3), 167\dash170. +} +\lst\lamportla + {Lamport L (1985?): + Bezier.sty. + \annotation{(For drawing arbitray lines within the picture environment. + From the file server. See however also gkpmac.} +} +\lst\lamportlb + {Lamport L (1985): + \LaTeX\ User's Guide \& Reference Manual. + Addison-Wesley. ISBN-0-201-15790-X. + \annotation{With respect to \BibTeX\ the following characteristics + from UKTUG meeting of 1990. + Advantages: clear layout of database, unique identifyer for elements, + compatibility with Scribe databases, explicit statement of citation type, + extensible style language, uses \LaTeX's cross-referencing, easy to + edit output, can be mixed with non-automatic generated bibliographies, + cross-referencing and abbreviations. + Disadvantages: multiple passes (\LaTeX, \BibTeX, \LaTeX, \LaTeX); + have to remember unique references, style language is opaque, + database is very wordy and boring to enter.} +} +\lst\lamportlc + {Lamport L (1987): + Makeindex: An index processor for \LaTeX. + (From the file server.) +} +\lst\langmyhrda + {Langmyhr D (1994): + How to make your own documentstyle in \LaTeX2e. + Euro\TeX'94, 167\dash175. + (Also MAPS 94.2, 65\dash72.) +} +\lst\larsonje + {Larson J.E (1989): + A chess font for \TeX. + \tubissue{10}(3), 351. +} +\lst\lauwerierhab + {Fractals\Dash meetkundige figuren in eindeloze herhaling. + Aramith. ISBN/NUGI-90-6834-031X/619. + \annotation{Some basic programs of the fractals are included.} +} +\lst\lavaudma + {Lavaud M (1991): + As\TeX, or developing a multi-windowing environment for research based on + \TeX. + Euro\TeX\ '90. Cahiers Gutenberg. + (Developments Euro\TeX\ '92, and TUG '93. \tubissue{14}(3), 238\dash244.) +} +\lst\lavaudmb + {Lavaud M (1993): + Disquettes PC-GUT: \TeX\ \& Co pour PC. + (With: manual d'installation, revised 25/6/93.) +} +\lst\lawrencem + {Lawrence M. (1988): + The complete book on hand evaluation. Max Hardy. + ISBN 0-939460-27-0. +} +\lst\lebanb + {Leban B (1985): + A solution to the Tower of Hanoi problem using \TeX. + \tubissue 6(3), 151\dash154. +\annotation{Review. Leban requires as input the number of disks and the first tower as +a sequence of one-digit numbers. +This means that creation of the initial tower is not part of the paper. +Furthermore, Leban develops a set of Lisp like functions for \TeX. +Apparently Knuth's List macros, \TeX book Appendix D.2, have been overlooked. +Leban's small list processing system is an example of reinventing the wheel, +with the concept of an active list separator absent. As a consequence +the printing of the towers is done by recursion which is not necessary +when using Knuth's list separator appropriately to `execute' the list.} +} +\lst\leskme + {Lesk M.E (1979): + Tbl\Dash a program to format tables. + UNIX manual,157--174. +} +\lst\louarnp + {Louarn P (1991): + Instructions to Euro\TeX{} and GUTenberg '91 authors. +} +\lst\louarnpa + {Louarn P (1991): Manipulons une matrice. + Cahiers GUTenberg 8. 59\dash61. + \annotation{His step-by-step explanation is very clear. The example + does not contain braces connecting cells, + or sub parts.} +} +\lst\makeindex + {Makeindex (1987): + Makeindex. + \annotation{From the file server. See also Chen and Harrison, Lamport (1987), + Salomon for a plain variant. Since 1995 there is BLUe's Index.} +} +\lst\markit + {MARK-IT (1989): SGML Parser, version 2. Sobemap NV, + Place du Champ de Mars 5, Bte 40, 1050 Bruxelles. +} +\lst\martincr + {Martin C.R (1990): + \TeX\ for \TeX nical typists. + \tubissue{11}(3), 425\dash428. +} +\lst\mattese + {Mattes E (1990?): + em\TeX. + (PD version for MS-DOS PCs, in general use. From the archives.) +} +\lst\mauss + {Maus S (1991): An expansion power lemma. + \tubissue{12}(2), 277. +} +\lst\mcclurem + {McClure M (1989): + \TeX\ macros for COBOL syntax diagrams. + TUGboat, 10, 4, 743--750. +} +\lst\meulenbroekd + {Meulenbroek D (1989): + Nieuwsblad v/h Noorden. December. + (Dutch) +} +\lst\meyerse + {Meyers E, F Paige (199?): \TeX sis. + \annotation{Provides \cs{ruledtable} and documentation in 100p. + \TeX{} file. + From lifshitz.ph.utexas.edu, directory /texsis.} +} +\lst\minskym + {Minsky M (1969): + Form and content in computer science. + Comm ACM ?\dash?. + Also in ACM Turing Award Lectures. The first twenty years 1966\dash1985. + ACM Press. Addison-Wesley IBN 0-201-07794-9. + \annotation{} +} +\lst\mittelbachfa + {Mittelbach F (1989): + An environment for multi-column output. + \tubissue{10}(3), 407\dash415. +} +\lst\mittelbachfab + {Mittelbach F (1989): + The doc-option.. + \tubissue{10}(2), 245\dash273. +} +\lst\mittelbachfb + {Mittelbach F (1989): + An extension for the \LaTeX\ theorem environment. + \tubissue{10}(3), 416\dash426. +} +\lst\mittelbachfc + {Mittelbach F (1991): + E-\TeX: Guidelines for future \TeX\ extensions. + \tubissue{11}(3), 337\dash345. + (Redistributed: MAPS 93.1) +} +\lst\mittelbachfd + {Mittelbach F, R Sch\"opf (1989): + The new font selection scheme. + For \TeX{} packages. + \tubissue{10}(2), 222\dash238.\\ + User interface to standard \LaTeX. + Reprint: \tubissue{11}(2), 297\dash305. + (See also NFSS 2, in Goossens, Mittelbach Samarin.) +} +\lst\mittelbachfe + {Mittelbach F, R Sch\"opf (1990): + Towards \LaTeX~3.0. + \tubissue{12}(1), 74\dash79. + (Also MAPS 90.2.) +} +\lst\mittelbachff + {Mittelbach F, R Sch\"opf (1992): + The Pursuit of quality. + Electronic Publishing '92. ISBN 0-521-43277-4. + (Redistributed MAPS 92.2.) +} +\lst\mittelbachffb + {Mittelbach F, C.A Rowley (1993): + The \LaTeX3 project. + MAPS 93.1, 95\dash99. + (Also in various early nineties proceedings.) +} +\lst\mittelbachfg + {Mittelbach F, C.A Rowley, M.J Downes (1993): + Volunteer work for \LaTeX3 project. + \tubissue{13}(4), 510\dash515. +} +\lst\mcclurem + {McClure M (1989): + \TeX\ macros for COBOL syntax diagrams. + \tubissue{10}(4), 743\dash750. +} +\lst\modestmf + {Modest M.F (1989): + Using \TeX\ and \LaTeX\ with Wordperfect5.0. + \tubissue{10}(1), 67\dash72. +} +\lst\nagyd + {Nagy Dezs\"o (1989): + A bar chart in \LaTeX. + \tubissue{10}(2), 239\dash240. +} +\lst\nearingj + {Nearing J (1989): Extended equation numbering + in plain \TeX. + \tubissue{10}(1), 82\dash88. +} +\lst\oostrumpa + {Oostrum P van (1989): + Fancyheadings. + From the fileserver. +} +\lst\oostrumpb + {Oostrum P van (1991): + Program text generation with \TeX\slash\LaTeX. + MAPS 91.1, 99\dash105. + (A survey of the available tools.) +} +\lst\palaisr + {Palais R (1992): + Moving a fixed-point. \tubissue{13}(4), 425\dash432. +} +\lst\paperts + {Papert S (1980): + Mindstorms---Children, computers, and powerful ideas. + Harvester studies in cognitive science; 14. + ISBN 0-85527-163-9. +} +\lst\paternotter + {Paternotte R (1989): Dwangneurose. + De {\bf E}nige {\bf G}oede + {\bf B}ridge {\bf C}ourant. + December. (Dutch) +} +\lst\petryckilj + {Petrycki L.J (1991): Comparing \TeX\ and + traditional typesetting for the composition of a textbook. + \tubissue{12}(3), 359\dash366. +} +\lst\pittmanje + {Pittman J.E (1988): + Loopy.\TeX. \tubissue{9}(3), 289\dash291. +} +\lst\polyaga + {Polya G (1957): + How to solve it. Anchor. +} +\lst\polyagb + {Polya G (1954): + Mathematics and plausible reasoning. + I. Induction and analogy in Mathematics. + ISBN 0-691-08005-4. Princeton University Press. +} +\lst\polyagc + {Polya G (1954): + Mathematics and plausible reasoning. + II. Patterns of plausible inference. + L.C. Card 68-56327. Princeton University Press. +} +\lst\poppeliernafm + {Poppelier N.A.F.M (1990): + SGML and \TeX\ in scientific publishing. + \tubissue{12}(1), 105\dash109. (Also MAPS 90.2) +} +\lst\quinlre + {Quin L.R.E (1990): + Summary of METAfont fonts available. + \TeX MaG, 4, 6, 1990 + (Also MAPS 91.1.) +} +\lst\rahtzspq + {Rahtz S.P.Q (1987): Bibliographic tools. + Literary and linguistic computing, 2, 4, 231\dash241. +} +\lst\rahtzspqa + {Rahtz S.P.Q, M Burbank (1993): + Guidelines for Proceedings of the 1993 Annual Meeting of the \TeX{} Users + Group. + TUG Office. +} +\lst\rahtzspqaa + {Rahtz S.P.Q (1993): + Essential NFSS2, version 2. + \tubissue{14}(2), 132\dash137. + (The abstract copied from the article: + This article offers a user's view of the New Font Selection Scheme, version 2. + It describes the reasons for using the NFSS; + the differences a user will encounter between NFSS and old \LaTeX; + what it will be like installing and using NFSS2; + some special situations in mathematics; and + an overview of the advanced NFSS2 commands for describing new fonts.) +} +\lst\rahtzspqb + {Rahtz S.P.Q (1994): + Implementing the extended \TeX{} layout + using \PS{} fonts. + \tubissue{14}(2), 107\dash117. +} +\lst\raichleb + {Raichle B (1993): + In: V. Eijkhout. Oral \TeX; Erratum. + \tubissue{13}(1), 75. +} +\lst\raichleba + {Raichle B (priv.\ comm.): Sorting in \TeX's mouth (revisited). + Proceedings Euro\TeX{} 94. 53\dash58. Reprinted in MAPS 95.1. + \annotation{Bernd Raichle reported at DANTE's 1994 Februari meeting about + sorting numbers in \TeX's mouth in the spirit of the work of + Jeffrey. Although his algorithms are of order $n^2$ the execution + time is good. The only drawback for practice is that it is restricted + to numbers so far. For Euro\TeX{} '94 he has extended his work + with quicksort in the mouth.} +} +\lst\raichlebb + {Raichle B (priv.\ comm.): Orale Spielereien. + \TeX nische Kom\"ode. + \annotation{Bernd Raichle started in 1994 a series of notes exploiting + the mouth processing of \TeX.\\ + I. The n-asteriks is studied in depth. A completely expandable \LaTeX{} + \cs{Romannumeral} proposal is included.\\ + II. Here the digestive processing of the \TeX{} engine is explained. + The explained n-asteriks solution is intriguing\Dash if not for the use + of \cs{uccode}\Dash and probably the fastest. +} +} +\lst\ramekmb + {Ramek M (1988): + Chemical structure formulae and X/Y diagrams with \TeX. + Proceedings Euro\TeX\ '88, 227\dash258. +} +\lst\readd + {Read D (priv.comm.): + Some ideas to improve \LaTeX. + \annotation{Report with suggestions about + \LaTeX\ implementation, SGML-based.} +} +\lst\reidtj + {Reid T.J (1987): + Floating figures at the right\Dash and\Dash Some random text for testing. + \tubissue{8}(3), 315\dash320. +} +\lst\rokickyta + {Rokicky T (199?): + DVIPS. + } +\lst\rokickytb + {Rokicky T (1994): + Driver support for color in \TeX: Proposal and Implementation. + \tubissue{15}(3), 205\dash2126. +} +\lst\rogersdf + {Rogers D.F (1992): On contrarian views. + \TeX line 14. 2\dash3. +} +\lst\rubinsteinza + {Rubinstein Z (1989): + Chess printing via METAfont and \TeX. + \tubissue{10}(2), 170\dash172. + (With erratum in \tubissue{10}(3), 359.) +} +\lst\rubinsteinzb + {Rubinstein Z (1989): + Printing annotated chess literature in natural notation. + \tubissue{10}(3), 387\dash390. +} +\lst\ryckom + {Ry\'cko M, B Jackowski (1993): + \TeX{} from {\tt\char92indent} to {\tt\char92par}. + TUG '93. \tubissue{14}(3), 171\dash176. +} +\lst\salomonda + {Salomon D (1989): + Macros for indexing and table of contents preparation. + \tubissue{10}(3), 394\dash400. + \annotation{Comments by Breitenlohner (1990): \tubissue{11}(1)62, + with respect to writing long records to {\tt\char92write} + streams. In 1994 he made \cs{makeindex} available + for plain \TeX.} +} +%\lst\salomondb +% {} +\lst\salomondc + {Salomon D (1990): + Output Routines Examples \& Techniques. + Part~I: Introduction \& Examples. \tubissue{11}(1), 69\dash85. + Part~II: OTR Techniques. \tubissue{11}(2), 212\dash236. + Part~III: Insertions. \tubissue{11}(4), 588\dash + 605. + \annotation{Incorporated in his courseware: Insights and Hindsights.} + Part~IV: Horizontal Techniques. \tubissue{15}(1), 28\dash39. +} +\lst\salomondd + {Salomon D (1992): + Arrows for technical drawings. + \tubissue{13}(2), 146\dash149. +} +\lst\salomonde + {Salomon D (1992): + Creating shaded rectangles with POSTSCRIPT. + \tubissue{13}(3), 327\dash329. (Also MAPS 92.2.) +} +\lst\salomondf + {Salomon D (1992): + DDA methods in \TeX. + \tubissue{10}(2), 207\dash216. +} +\lst\salomondg + {Salomon D (1992): + NTG's Advanced \TeX\ course: Insights and Hindsights. + MAPS Special, $\approx500p.$ +} +\lst\salomondh + {Salomon D (1995): + The advanced \TeX book. + Springer-Verlag. ISBN 0-387-94556-3. +} +\lst\salomondx + {Salomon D (priv.\ comm.). +} +\lst\samuelal + {Samuel A.L (1985): + First grade \TeX\Dash A beginners \TeX\ manual. + \TeX niques 11. + \annotation{Beautiful, obligatory reading! Even for \LaTeX\ devotees, + and for every novice. The layout is nice too. Only some 30p.} +} +\lst\sankers + {Sankar S (1989): + APE\Dash a set of \TeX\ macros to to format ADA programs. + \tubissue{10}(1), 89\dash97. +} +\lst\schellera + {Scheller A (1989): + Experience with SGML in the real world. + Advisory Group on Computer Graphics workshop, Rutherford. + \annotation{Work reported from DAPHNE-project: Document Application Processing in a + Heterogeneous Network Environment.} +} +\lst\schoepfra + {Sch\"opf R (1989): + Drawing histogram bars inside the \LaTeX\ picture-environment. + \tubissue{10}(1), 105\dash108. +} +\lst\schoepfrb + {Sch\"opf R (1989): + A new implementation of the \LaTeX\ {\tt verbatim[*]} environments. + \tubissue{11}(2), 284\dash296. +} +\lst\schrodj + {Schrod J (1992): + The DVI Standard, level 0. The TUG DVI Driver standards committee. + \tubissue{13}(1), 54\dash57. +} +\lst\schumacherefa + {Schumacher E.F (1973): + Small is beautiful. + Blond \& Briggs, London. +} +\lst\schumacherefb + {Schumacher E.F (1979): + Good Work. + Jonathan Cape Ltd, London. +} +\lst\schwarzn + {Schwarz N (1987): + {\em Einf\"uhrung in \TeX}. Addison-Wesley. + (Translated into English with co-author + J. Krieger (1990): Introduction to \TeX. + Addison-Wesley. Also into Dutch.) +} +\lst\schwarzhr + {Schwarz H.R, H Rutishauser, E Stiefel (1972): + Numerik symmetrischer Matrizen. + Teubner. (German) +} +\lst\seroulr + {Seroul R (1989): + Le petit livre de \TeX. Inter-\'Editions. + Paris. +} +\lst\sewellw + {Sewell W (1989): + Weaving a program\Dash Literate programming in WEB. + Van Nostrand. ISBN 0-442-31946. +} +\lst\sewellwa + {Sewell W (1987): + Multiple changefiles: The adventure continues. + \tubissue{8}(2), 117\dash118. +} +\lst\sgmlug + {SGML User's Group (Newsletter): (Editorial + address: Pindar Infotek, 2 Grosvenor Road, Wallington, + Surrey SM6 0ER, UK.) +} +\lst\siebenmannl + {Siebenmann L (1992): +Elementary text processing and parsing in \TeX\Dash The appreciation of tokens. + \tubissue{13}(1), 62\dash73. +} +\lst\smedingar + {Smedinga R (1991): + Hoe met \LaTeX\ een boek gemaakt kan worden. + MAPS 91.2, 97\dash101. +} +\lst\smithjma + {Smith J.M (1987): The standard generalized markup language + (SGML): Guidelines for editors and publishers. + British National Bibliography Research Fund Report 26. + ISBN 0-7123-3111-5. +} +\lst\smithjmb + {Smith J.M (1987): The standard generalized markup language + (SGML): Guidelines for authors. + British National Bibliography Research Fund Report 27. + ISBN 0-7123-3112-3. +} +\lst\southallra + {Southall R (1984): + First principles of typographic design for document production. + \tubissue{5}(2), 79\dash90. + (Corrigenda (1985): \tubissue{6}(1), p.6.) +} +\lst\southallrb + {Southall, R (1985): + Designing a new typeface via METAfont. + STAN-CS-85-1074. +} +\lst\sowafa + {Sowa F (1991): + Graphics and halftones with BM2font. + TUG '91. \tubissue{12}(4), 534\dash538. +} +\lst\sowafb + {Sowa F (1994): + Printing colour pictures. + Euro\TeX'94, 176\dash181. + TUG 94, \tubissue{15}(3), 223\dash227. +} +\lst\sperbergmcq + {Sperberg-McQueen C.M, L Bernard (1990): + ACH-ACL-ALLC. Guidelines for the encoding and + interchange of machine readable texts. +} +\lst\spivakmda + {Spivak M.D (1986): + The Joy of \TeX\Dash\AmSTeX. + AMS. ISBN 0-8218-2999-8. + (Updated 2$^{nd}$ printing 1990.) +} +\lst\spivakmdb + {Spivak M.D (1989): + \LAMSTeX\Dash The Syn\-thesis. + \TeX\-plora\-tors Corporation. +} +\lst\spivakmdc + {Spivak M.D (1991): + \LAMSTeX\Dash The wizards manual. + \TeX\-plora\-tors Corporation. +} +\lst\swansone + {Swanson E (1986): + Mathematics into Type. + AMS. +} +\lst\swonkgl + {Swonk G.L (1991): + \LaTeX\ tree drawer. + \tubissue{12}(2), 286\dash289. +} +\lst\taupind + {Taupin D (1990): + Musique en \TeX. + Cahiers GUTenberg, 5, 62\dash69. + (Updated English version MAPS 92.1.) +} +\lst\taylorp + {Taylor P (1992): + The future of \TeX. + In: Proceedings Euro\TeX\ '92. + 235\dash254. (Reprinted in \tubissue{13}(4), 433\dash442.) +} +\lst\taylorpb + {Taylor P (1993): + NTS: The future of \TeX? + TUG '93. \tubissue{14}(3), 177\dash182. +} +\lst\taylorpba + {Taylor P (1994): + $\epsilon$-\TeX{} and NTS: a status report + Euro\TeX'94, 182\dash187. +} +\lst\taylorpc + {Taylor P (1993): + A pragmatic approach to paragraphs. + \tubissue{14}(2), 138\dash140. +} +\lst\taylorpd + {Taylor P (1994): + Defensive programming in \TeX: + towards a better class of a \TeX{} macro. + Proceedings Euro\TeX{} 94, 69\dash82. +} +\lst\temmenm + {Temme N.M (1990): + Speciale functies in de mathematische + fysica. Epsilon 15. ISBN 90-5041-019-7. + (Dutch) +} +\lst\thielec + {Thiele C (1993): + The future of \TeX{} and TUG. + TUG '93. \tubissue{14}(3), 162\dash166. +} +\lst\thieleca + {Thiele C (1987): + What constitutes a well-documented macro? + \tubissue8(3), 307\dash308. +} +\lst\tobing + {Tobin G (198?): + METAfont for beginners. + (From the CTAN.) +} +\lst\tofstedd + {Tofsted D (1990): + An improved chess font. + \tubissue{11}(4), 542\dash544. +} +\lst\treebusk + {Treebus K (1988): + Tekstwijzer, een gids voor het grafisch verwerken van tekst. + SDU. Den Haag. +} +\lst\tugpub + {TUG (publications): + TUGboat, TTN, \TeX niques. +\\ (TUGboat: Scholarly quarterly of TUG, with the proceedings of the annual + meeting as special issue, and the resource directory as + supplementary issue. From 1980 onward. + The style files involved are {\tt tugboat.cmn}, + and the styles {\tt tug\-boat}, and + {\tt ltug\-boat} available from the (CTAN) archives. +\\ \TeX niques: Special themed editions, with no 1 to 14 of 1993) + TTN: A portable quarterly newsletter of TUG. From 1990 onward.) +} +\lst\tutelaersp + {Tutelaers P (1991): + A font and a style for typesetting chess using \LaTeX\ or \TeX. + MAPS 91.2, 41\dash45. (Also \tubissue{13}(1), 85\dash90.) +} +\lst\urbanm + {Urban M (1986): + An introduction to \LaTeX. + TRW Software Productivity Project. + \TeX niques 9. +} +\lst\vensej + {Vens E.J (1992): + Incorporating POSTSCRIPT fonts in \TeX. + In: Proceedings Euro\TeX\ '92, 173\dash181. + (Also in MAPS 92.2.) +} +\lst\vignaudd + {Vignaud D (1989): + L'\'edition structr\'ee dans les documents, + SGML applications \`a l'\'edition fran\c caise. + \'Editions du Cercle de la Librairie. Paris. +} +\lst\vriesh + {Vries H de (1990): Biedwedstrijd. + De {\bf E}nige {\bf G}oede + {\bf B}ridge {\bf C}ourant. Maart. (Dutch) +} +\lst\warmerj + {Warmer J, S van Egmond (1989): + The implementation of the Amsterdam SGML Parser. + EP-ODD, 2, 2, 65\dash90. +} +\lst\whitneyrf + {Whitney R.F, B.N Beeton (1989): + TUGboat authors' guide. + \tubissue{10}(3), 378\dash385. + (Updated versions via the file server.) +} +\lst\wichuramj + {Wichura M.J (199?): + The \PiCTeX\ manual. + \TeX niques, 6. + (${\approx}\$30,$\dash.) +} +\lst\wichuramja + {Wichura M.J (1990): + Showing-off math macros. + \tubissue{11}(1), 57\dash61. +} +\lst\wilkinsonjh + {Wilkinson J.H (1965): + The Algebraic Eigenvalue Problem. + Oxford University Press. +} +\lst\williamsl + {Williams L, L Hall (1990): + Increased efficiency using advanced EDT editing features. + \tubissue{11}(3), 421\dash424. +} +\lst\williamst + {Williams T, C Kelley (199?): + GNUplot: an interactive plotting program. + Version 3. +} +\lst\wilsonir + {Wilson I.R, A.M Addyman (1983, second edition, reprint): + A practical introduction to PASCAL with BS 6192. + Macmillan Press Ltd. ISBN 0 333 3340 3. +} +\lst\winninkjj + {Winnink J.J (editor, 1993): + NTG's PR set. + MAPS '93 Special, $\approx25$p. + (Contains: Wat is \TeX?, Hoenig's \TeX\ for new users, 4\TeX/em\TeX\ + information, and examples with respect to + math, tables, graphics, and the hobbies bridge, chess, and music.) +} +\lst\winogradt + {Winograd T, B Paxton (1980): + An indexing facility for \TeX. + \tubissue{1}(x), A1\dash A12. + \annotation{The work uses \TeX\ version 1.x and a Lisp + program. It does not contain such a clear user guide as for makeindex. + It provides numbers in range notation and allows for + subentries, and cross-references like see \dots and see also \dots. + The program can merge files. The program has been converted into + Pascal some years later. The latter version is available on file servers.} +} +\lst\wirthna + {Wirth N (1973): + Systematic Programming: An introduction. + Prentice-Hall. ISBN 0-13-880369-2. +} +\lst\wirthnb + {Wirth N (1976): + Algorithms $+$ Data Structures $=$ Programs. + Prentice-Hall. ISBN 0-13-022418-9. +} +\lst\wittbeckera + {Wittbecker A (1988): + Making paragraphs. + \tubissue{9}(3), 272\dash276. +} +\lst\wittbeckeraa + {Wittbecker A (1989): + \TeX\ enslaved. Proceedings TUG89. Stanford. + \annotation{Advantages and disadvantages of \TeX-formatter with SGML + ``front-end'' are discussed, related to DEC's VAX Document.} +} +\lst\wonnebergerr + {Wonneberger R (1987): Kompaktf\"uhrer \LaTeX. + Addison-Wesley. +} +\lst\yasukis + {Ysuki Saito (1987): + Report on J\TeX: a Japanese \TeX. + \tubissue{8}(2), 103\dash116. +} +\lst\youngenra + {Youngen R (1989): + Computers and Mathematics. + Notices AMS. + \annotation{Discusses \TeX, \LaTeX\ + and \AmSTeX, summarizing also the relative advantages. + Since the publication of this note \AmS-\LaTeX\ has been released, + and Spivak has provided \LAMSTeX. Of course these are not dealt with.} +} +\lst\youngenrb + {Youngen R (1991): + Typesetting with \TeX\ at the AMS. + 4p. + \annotation{A nice survey of why-and-what AMS is using \TeX\ for.} +} +\lst\youngenrc + {Youngen R (1992): + \TeX-based production at AMS. + MAPS 92.2, 63\dash68. +} +\lst\zalmstraj + {Zalmstra J, D.F. Rogers (1989): + A page make-up macro. + \tubissue{10}(1), 73--81. +} +\lst\zandta + {Zandt T van (1992): + PStricks. Princeton University. +} +\lst\zandtb + {Zandt T van, D Girou (1994): + Inside PStricks. + \tubissue{15}(3), 239\dash246. +} +\lst\zbikowskir + {Zbikowski R (1993): + Hacker's guide to AMSfonts and NFSS in the context of \LaTeX. + \tubissue{14}(1), 62\dash69. +} +\lst\zlatuskaja + {Zlatuska J (1991): + Virtual fonts with accented letters. + Cahiers GUTenberg 10\&11, 57\dash68. +} +\lst\zlatuskajb + {Zlatuska J (editor, 1992): + Proceedings Euro\TeX\ '92. + Masarykova universita, Brno. ISBN 80-210-0480-0. +} +\lst\zusek + {Zuse K (1976): + The Plankalk\"ul, + Gesellschaft f\"ur Mathematik und Datenverarbeitung, + Bonn. BMFT-GMD-106. +} +%%end data +\endinput diff --git a/macros/blu/pic.dat b/macros/blu/pic.dat new file mode 100644 index 0000000000..8a320cd5fd --- /dev/null +++ b/macros/blu/pic.dat @@ -0,0 +1,1358 @@ +%Copyright: C.G. van der Laan, +%cgl@rc.service.rug.nl, (050)0594621525 +%File: pic.dat Set up of May, 1995 +\message{pic.dat browsed (Version: May 1996, cgl)} +% +\def\commonforpic{\csname newif\endcsname + \ifmarkorigin + \csname newif\endcsname\iffull +\def\markorigin{\hbox to0pt{\hss + \vrule width1exdepth.2ptheight.2pt + \vrule height1exdepth1ex + \vrule width1exdepth.2ptheight.2pt + \hss}% +}%end markorigin +\def\corners##1{%##1 size of corner bar + \put(.1,.1){\line(-1,0){##1}}% + \put(.1,.1){\line(0,-1){##1}}% + \put(.2,.2){\line(-1,0){##1}}% + \put(.2,.2){\line(0,-1){##1}}% +}%end corners +\def\card##1##2##3{%#1,#2 x,y coord.corner; #3 label + \put(##1,##2){\line(-1,0){1.25}} + \put(##1,##2){\line(0,-1){ .45}} + \put(##1,##2){\lower.45\unitlength + \hbox{\line(-1,0){ .25}}} + \put(##1,##2){\hbox to0pt{\kern-1.25\unitlength + \hbox{\line(0,-1){ .25}}\hss}} + \put(##1,##2){\lower.5\unitlength\hbox + {\hskip.05\unitlength{\tiny ##3}}} +}%end card +%45 degree rightupper diag dots at #1,#2 +\def\diagdots##1##2{\put(##1,##2){$\raise1pt + \hbox to0pt{\kern-1pt.\hss}\kern2pt^{.^.}$}} +%\thinlines %(default in blue.tex) +\def\fatlbrace{\delimiter"4000308 } +}%end commonforpic +% +% +% +\lst\bintreepic{%July 1995, cgl +\bgroup\unitlength.5ex + \kk32 \xoffset{-32} \yoffset{-5}% + \xdim{66}\ydim{5}% + \def\eertnib##1\bintree{\fi} +\beginpicture\bintree\endpicture\egroup +\thispicture{}} +% +\lst\bluemodelpic{\bgroup\unitlength=3.5ex + \yoffset{-.75} + \xdim{13}\ydim{12} +\beginpicture +\def\str{\lower.5ex\null} +%baseline +\put(1,0){\vector(-1,0){.9}} +\put(4,0){\vector(1,0){.9}} +\put(2.5,0){\makebox(0,0){extras}} +\put(6,0){\vector(-1,0){.9}} +\put(12,0){\vector(1,0){.9}} +\put(9,0){\makebox(0,0){BLUe's format}} +% +\put(0,4){\framebox(4,2){Extensions}} +\put(0,8){\framebox(4,2){Publ.\ + formats}} +%Horizontal connection lines +\put(4,5){\line(1,0){2}} +\put(4,9){\line(1,0){2}} +%\multiput(4,5)(.2, 0){10}{\hbox to +% .2\unitlength{-\hss-}} +%\multiput(4,9)(.2, 0){10}{\hbox to +% .2\unitlength{-\hss-}} +%Vertical separation line +\multiput(5,0)(0,1){11}{\vrule + height.5\unitlength\relax} +\put(6,4){\framebox(4,6){\vbox{% + \hbox{\tiny outer tags} + \kern1.25\unitlength + \hbox{blue.tex} + \kern1.25\unitlength + \hbox{\tiny inner tags}}}} +%\put(6,4){\framebox(4,2){\vbox{% +% \hbox{\strut Inner}\hbox{Tags}}}} +%\put(6,8){\framebox(4,2){\vbox{% +% \hbox{\strut Outer}\hbox{Tags}}}} +\put(9.1,8.1){\vbox{\offinterlineskip + \hbox{\tiny\str ppt}\hbox{\tiny\str ref}% + }} +\put(9.1,4.1){\vbox{\offinterlineskip + \hbox{\tiny\str man}% + \hbox{\tiny\str gkp}% + \hbox{\tiny\str\raise2ex\null crs}% + \hbox{\tiny\str vrb}% + \hbox{\tiny\str btb}\hbox{\tiny + \str abr}}} +%\put(8,6){\line(0,1){2}} +%Databases next +%Outer database +%\multiput(10,9)(.2, 0){5}{\hbox to +% .2\unitlength{-\hss}} +\put(10,9){\line(1,0){1}} +\put(11,7){\line(0,1){2}} +%\card{12.25}{7.25}{fmt.dat} +\put(11,7){\framebox(1.25, .5){}} +\put(12.3, 7){{\tiny fmt.dat}} +%Inner databases +\put(10,5){\line(1,0){1}} +%\multiput(10,5)(.2, 0){5}{\hbox to +% .2\unitlength{-\hss}} +\put(11,3){\line(0,1){2}} +\put(10,1){\framebox(2,2){\vbox{% + \hbox{\strut Data}\hbox{Bases}}}} +% +\card{12.25}{3.25}{tools.dat} +\card{12.5 }{3.5 }{obsolete.dat} +\card{12.75}{3.75}{pic.dat} +\card{13 }{4 }{lit.dat} +\card{13.25}{4.25}{address.dat} +% +%\diagdots{13.35}{4.35} +% +\put(4,6){\corners{.975}}% +\put(4,10){\corners{.975}} +\endpicture\egroup\thispicture{}% +}%end bluemodelpic +% +\lst\bluepagepic{\vbox{\arrows{2cm}{\small headline} +\hbox to2cm{\hss\tiny headlinesep(2ex)\hss} +\hbox{\vrule\vbox to 3cm{\hrule\offinterlineskip + \hbox to2cm{\hss$\uparrow$\hss}\vss + \arrows{2cm}{\lower3pt\null\small pagewd} + \vss + \hbox to2cm{\lower2pt\null\hss\small v\hss} + \hbox to2cm{\lower2pt\null\hss\small s\hss} + \hbox to2cm{\lower2pt\null\hss\small i\hss} + \hbox to2cm{\lower2pt\null\hss\small z\hss} + \hbox to2cm{\lower2pt\null\hss\small e\hss} +\vss\hbox to2cm{\hss$\downarrow$\hss}\hrule +}\vrule}\kern-.7\baselineskip +\hbox to2cm{\hss\tiny footlinesep(1ex)\hss} +\arrows{2cm}{\small footline} +}} +% +\lst\cantordustpic{%July 1995, cgl +%Revision March 1996 +\bgroup +\def\cf{{\E{\the\k}}\divide\k3 + \ifnum0=\k \fc\fi + \advance\y-3\unitlength + {\cf}\advance\x\the\k\unitlength + \advance\x\the\k\unitlength + \cf}% +\def\fc##1\cf{\fi}% +\k243 \unitlength1pt +\xdim{243}\yoffset{-10}% +\beginpicture\cf\endpicture +\egroup\thispicture{}} +% +\lst\cglpic{\bgroup\unitlength20pt% +\xdim{1}\ydim{1}% +\beginpicture +\put(0,0){\squine(0,.4,.8,0,1,0)} +\put(0,0){\squine(0,.4,.8,1,0,1)} +\put(0,0){\squine(0,0,.4,.5,1,1)} +\put(0,0){\squine(0,0,.4,.5,0,0)} +\put(0,0){\squine(.8,.8,.4,.5,1,1)} +\put(0,0){\squine(.8,.8,.4,.5,0,0)} +\endpicture\egroup\thispicture{}% +}%end \cgl +% +\lst\chartpic{%July 1995, cgl +%Revision March 1996 +\bgroup +\def\bintree{\E{\the\ekk}\ifnum\kk=2 \eertnib\fi + \divide\kk2 {\N{\the\kk}\bintree}% + \S{\the\kk}\bintree}% +\def\eertnib##1\bintree{\fi}% +\let\Eold\E +\def\E{\global\advance\k1 + \xytxt{ \csname\the\k\endcsname}\Eold}% +\def\1{LMB, 1912}% +\def\2{MJHB, 1882}\def\5{PAME, 1884}% +\def\3{JHB, 1838}\def\4{MDB, 1840}% +\def\6{EFE, 1845}\def\7{CLW, 1850}% +\ekk8\k0\unitlength2ex\kk8 +\xdim{25}\ydim{17}\yoffset{-8}% +\beginpicture\bintree\endpicture +\egroup\thispicture{}} +% +\lst\dragonpic{%July 1995, cgl +\bgroup +\let\0\globalN\let\1\globalW +\let\2\globalS\let\3\globalE +\def\dragon{\k0 + \loop \draw + \advance\k1 \kk\k \calcdir + \ifnum\k<\kmax + \repeat} +\def\calcdir{\ifodd\kk \kaux\kk + \divide\kaux4 \multiply\kaux4 \advance\kk-\kaux + \advance\dir\kk \ifnum\dir>3 \advance\dir-4 \fi + \else\divide\kk2 \ea\calcdir\fi} +\def\draw{\csname\the\dir\endcsname1} +\unitlength2ex +\dir0\x0pt\y0pt \kmax4 +\beginpicture\dragon\endpicture +\egroup\thispicture{}} +% +\lst\flowchartlooppic +{\bgroup\unitlength=3.8ex + \xoffset{-.5}\yoffset{-.3} + \xdim{5}\ydim{7.5} +\beginpicture +\ifmarkorigin\put(0,0)\markorigin\fi +\put(0,0){\line(1,0){2}} +\put(0,0){\line(0,1){6}} +\put(0,6){\vector(1,0){2}} +\put(2,6.5){\vector(0,-1){1.5}} +\put(1,4){\framebox(2,1){pretst}} +\put(2,4){\vector(0,-1){.5}} +%rhombus +\put(2,3){\rhombus(2,1)1{tst}} +%\put(1,3){\line(2,1){1}} +%\put(1,3){\line(2,-1){1}} +%\put(3,3){\line(-2,1){1}} +%\put(3,3){\line(-2,-1){1}} +%\put(2,3){\makebox(0,0){tst}} +% +\put(2,2.5){\line(0,-1){0.5}} +\put(1,1){\framebox(2,1){posttst}} +\put(2,1){\line(0,-1){1}} +% +\put(3,3){\line(1,0){1}} +\put(4,3){\vector(0,-1){3}} +\put(4,2.5){\kern2pt`{\tt\char92else}'} +\endpicture\egroup%end flowchartlooppic +} +\lst\furutapic +{\bgroup\unitlength=4ex\yoffset{-1} + \xdim{14}\ydim{4.5} +\beginpicture +%\ifmarkorigin\put(0,0)\markorigin\fi +\put(1, 1){\oval(2, 1)} +\put(1, 1){\makebox(0, 0){Start}} +\put(2, 1){\vector(1, 0){1.5}} +\put(3.5,.25){\framebox(2,1.5){Edit}} +\put(5.5, 1){\vector(1, 0){1.5}} +\put(7,.25){\framebox(2,1.5){Format}} +\put(9, 1){\vector(1, 0){1.5}} +\put(11.5, 1){\oval(2, 1)} +\put(11.5, 1){\makebox(0, 0){End}} +\put(0,0){\squine(4.5,8,11.5,1.85,4,1.6)} +\put(11.65,1.55)\rdarrowhead +\put(0,0){\squine(4.5,6.25,8,.1,-1,.1)} +\put(4.5,.175)\luarrowhead +\endpicture\egroup%end furutapic +} +% +\lst\gpic{\bgroup\unitlength20pt% +\xdim{1}\ydim{1}% +\beginpicture +\put(0,0){\squine(0,0,.4,.5,1,1)} +\put(0,0){\squine(0,0,.4,.5,0,0)} +\put(0,0){\squine(.8,.8, 0.4,.75,1,1)} +\put(0,0){\squine(.8,.8, 0.4,.25,.5,.5)} +\put(0,0){\squine(.4,.8,.8, 0, 0,.25)} +\endpicture\egroup\thispicture{}% +}%end \gpic +% +\lst\hfractalpic{%July 1995, cgl +\bgroup +\def\mod##1{\advance\dir##1 + \ifnum3<\dir \advance\dir-4 \fi}%mod 4 +\def\nxt{\csname\the\dir\endcsname + {\the\kk}\multiply\kk17\divide\kk24 + \advance\level-1 \hf}% +\def\hf{\ifnum\level=0 \fh\fi + {\mod1\nxt}\mod3\nxt\relax}% +\def\fh##1\relax{\fi}% +\unitlength.1ex + \xdim{80}\ydim{140}\yoffset{-60}% + \kk48 \dir0 \level6 +\beginpicture\hf\endpicture +\egroup\thispicture{}} +% +\lst\indmodelpic +{\bgroup\unitlength=6ex + \xdim{7.5}\ydim{6} +\beginpicture +\put(2,0){\makebox(0,0){Result}} +\put(2,1){\vector(0,-1){.8}} +\put(2,1.25){\makebox(0,0){\cs{pasteupindex}}} +\put(5.5,1.6){\vector(-1,0){3}} +\put(2,3){\vector(0,-1){1.5}} +\put(2,3.25){\makebox(0,0){\cs{sortindex}}} +\put(2.5,2.9){\line(1,0){3}} +\put(5.5, 2.9){\vector(0,-1){.5}} +\put(5.5, 2.25){\makebox(0,0){`Enrich' index.elm\ }} +\put(5.5, 2){\line(0,-1){.4}} +\put(2,4.3){\vector(0,-1){.8}} +\put(2,4.5){\makebox(0,0){Copy + IR markup}} +\put(2,5.55){\vector(0,-1){.8}} +\put(3,5.75){\makebox(0,0){\cs{input} blue + \cs{loadindexmacros} \cs{report}}} +\endpicture\egroup} +%end indmodelpic +% +\lst\kochfractalpic{%July 1995, cgl +\bgroup +\let\0\globalN\let\1\globalE +\let\2\globalS\let\3\globalW +\def\left{\advance\dir3 \ifnum\dir>3 + \advance\dir-4 \fi}% +\def\right{\advance\dir1 \ifnum\dir>3 + \advance\dir-4 \fi}% +\def\koch{\ifnum\kk=1 \draw\hcok\fi + {\divide\kk4 + \koch\left\koch\right\koch\right\koch\koch + \left\koch\left\koch\right\koch}\relax} +\def\hcok##1\relax{\fi}% +\x0pt\y0pt\dir1\kk4 \unitlength1ex +\beginpicture\koch\endpicture +\egroup\thispicture{}} +% +\lst\lettertreepic +{\bgroup\smallskip\small + \unitlength2ex + \xdim{25}\ydim{17} + \def\makebox(##1##2)##3{\hbox + to##1\unitlength{\vbox to##2\unitlength + {\vss\hbox{##3}\vfil}\hss}} +\beginpicture +\put(0,8.9){\makebox(4,0){Letter\lower.2ex\null}} +\put(5,9){\line(-1,0){1.5}} +%first level +%vert line +\put(5,2){\line(0,1){14}}%End coordinates (5,16) +%hor lines +\multiput(5,2)(0,2){8}{\line(1,0){.75}} +%texts +\put(6,1.9){\makebox(5,0){Post}} +\put(6,3.9){\makebox(5,0){Signed}} +\put(6,5.9){\makebox(5,0){Body}} +\put(6,7.9){\makebox(5,0){Subject}} +\put(6,9.9){\makebox(5,0){Addr$+$}} +\put(6,11.9){\makebox(5,0){Date}} +\put(6,13.9){\makebox(5,0){Yourref}} +\put(6,15.9){\makebox(5,0){Ref}} +%\put(6,17.9){\makebox(5,0){Header}} +%Considered as format issue +%Second level +%hor lines +\put(11,2){\line(-1,0){2}} +\put(11,6){\line(-1,0){1.5}} +\put(11,10){\line(-1,0){1}} +%vert lines +\put(11,1){\line(0,1){2}} +\put(11,5){\line(0,1){2}} +\put(11,8){\line(0,1){4}} +%hor lines +\multiput(11,1)(0,1){3}{\line(1,0){.75}} +\multiput(11,5)(0,2){2}{\line(1,0){.75}} +\multiput(11,8)(0,2){3}{\line(1,0){.75}} +%texts +\put(12,.9){\makebox(5,0){cc$*$}} +\put(12,1.9){\makebox(7,0){Enclosures$*$}} +\put(12,2.9){\makebox(5,0){PS$*$}} +\put(12,4.9){\makebox(5,0){p$+$}} +\put(12,6.9){\makebox(5,0){Dear}} +\put(12,7.9){\makebox(5,0){Comm}} +\put(12,9.9){\makebox(5,0){Address}} +\put(12,11.9){\makebox(5,0){Name}} +%Third level +%hor lines +\put(17,5){\line(-1,0){2}} +\put(17,8){\line(-1,0){1}} +\put(17,10){\line(-1,0){.75}} +\put(17,12){\line(-1,0){1}} +%Vert lines +\put(17,4){\line(0,1){2}} +\put(17,7.5){\line(0,1){1}} +\put(17,9.5){\line(0,1){1}} +\put(17,11.5){\line(0,1){1}} +%hor lines +\multiput(17,4)(0,1){3}{\line(1,0){.75}} +\multiput(17,7.5)(0,1){2}{\line(1,0){.75}} +\multiput(17,9.5)(0,1){2}{\line(1,0){.75}} +\multiput(17,11.5)(0,1){2}{\line(1,0){.75}} +%texts +\put(18,3.9){\makebox(5,0){hp$*$}} +\put(18,4.9){\makebox(5,0){q$*$}} +\put(18,5.9){\makebox(5,0){list$*$}} +\put(18,7.4){\makebox(5,0){e-mail$*$}} +\put(18,8.4){\makebox(5,0){phone$*$}} +\put(18,9.4){\makebox(5,0){city}} +\put(18,10.4){\makebox(5,0){street}} +\put(18,11.4){\makebox(5,0){given}} +\put(18,12.4){\makebox(5,0){family}} +%fourth level +\put(21.75,9.5){\line(-1,0){1.25}} +\put(21.75,10.5){\line(-1,0){.25}} +\put(22,9.4){\makebox(5,0){country}} +\put(22,10.4){\makebox(5,0){code}} +\endpicture +\egroup} +%end lettertreepic +% +\lst\levyfractalpic{%July 1995, cgl +\bgroup +\def\summodfour{{\modsum0 + \loop \ifodd\k \advance\modsum1 \fi + \divide\k2 \ifnum\k>0 + \repeat \global\dir\modsum + \divide\modsum4 \multiply\modsum4 + \global\advance\dir-\modsum}} +\def\levyfractal{\loop\summodfour + \draw \advance\k1 + \ifnum\k<\order \repeat} +\unitlength1ex\x0pt\y0pt +\k0 \dir0 \order256 +\kk1 %argument for \draw +\ydim{14}%\yoffset{-7}% +\xdim{21}\xoffset{-2}% +\beginpicture\levyfractal\endpicture +\egroup\thispicture{}} +% +\lst\linespic +{\bgroup\unitlength1cm + \yoffset{-1.5} + \xdim{7}\ydim{3} +\beginpicture +\ifmarkorigin\put(0,0){\markorigin}\fi +\line(1,-1){1} +\line(1,1){1} +\makebox(2,0){Beer} +\disk{.25}\quad +\circle{.5} +\endpicture\egroup%end linespic +} +% +\lst\metapostpic{\bgroup +\unitlength3ex\xdim{12}\ydim{10} +\xoffset{-6} +\beginpicture +\put(-2,0){\framebox(4,1){.ps}} +\put(0,1){\line(0,1)1} +\put(-6,2){\makebox(12,1){dvips, or \dots}} +\put(0,2.5){\oval(12,1)} +\put(-4,3){\line(0,1)1} +\put(-6,4){\framebox(4,1){.eps}} +\put(-4,5){\line(0,1)1} +\put(-6,6){\makebox(4,1){MetaPost}} +\put(-4,6.5){\oval(4,1)} +\put(-4,7){\line(0,1)1} +\put(-6,8){\framebox(4,1){.mp}} +% +\put(4,3){\line(0,1)1} +\put(2,4){\framebox(4,1){.dvi}} +\put(4,5){\line(0,1)1} +\put(2,6){\makebox(4,1){(any)\TeX}} +\put(4,6.5){\oval(4,1)} +\put(4,7){\line(0,1)1} +\put(2,8){\framebox(4,1){.tex}} +\put(6,9){\corners1} +\put(6.4,9){{\tiny (e)psfig}} +\endpicture\egroup} +% +\lst\ntgpiepic +{\bgroup\unitlength=7ex + \xoffset{-3}\yoffset{-2.25} + \xdim{6}\ydim{5} +\beginpicture +%1st quadrant +%\bezier{100}(2, 0)(2, .54)(1.79, .89) + % 0 - `30' 2:1-lijn +%\bezier{60}(1.79, .89)(1.46, 1.46)(1, +%1.73) +\put(0,0){\squine(1.79,1.46,1,.89,1.46, + 1.73)} + % `30' - 60 +%\bezier{60}(1, 1.73)(.54, 2)(0, 2) + % 60 - 90 +\put(0,0){\squine(1,.54,0,1.73,2,2)} +%2nd quadrant +%\bezier{60}(0, 2)(-.54, 2)(-1, 1.73) + % 90 - 120 +\put(0,0){\squine(0,-.54,-1,2,2,1.73)} +%\bezier{60}(-1,1.73)(-1.46,1.46)(-1.73, +%1) + %120 - 150 +\put(0,0){\squine(-1,-1.46,-1.73,1.73, + 1.46,1)} +%\bezier{60}(-1.73, 1)(-2, .54)(-2, 0) + %150 - 180 +\put(0,0){\squine(-1.73,-2,-2,1,.54,0)} +%3rd quadrant +%\bezier{60}(-2, 0)(-2, -.54)(-1.73, -1) + %180 - 210 +\put(0,0){\squine(-2,-2,-1.73,0,-.54, + -1)} +%\bezier{60}(-1.73,-1)(-1.46,-1.46)(-1, +%-1.73) + %210 -240 +\put(0,0){\squine(-1.73,-1.46,-1,-1, + -1.46,-1.73)} +%\bezier{60}(-1, -1.73)(-.54, -2)(0, -2) + %240 - 270 +\put(0,0){\squine(-1,-.54,0,-1.73,-2,-2)} +%4th quadrant +%\bezier{60}(0, -2)(.54, -2)(1, -1.73) + %270 - 300 +\put(0,0){\squine(0,.54,1,-2,-2,-1.73)} +%\bezier{60}(1,-1.73)(1.46,-1.46)(1.73,-1) + %300 - 330 +\put(0,0){\squine(1,1.46,1.73,-1.73, + -1.46,-1)} +%\bezier{60}(1.73, -1)(2, -.54)(2, 0) + %330 - 360 +\put(0,0){\squine(1.73,2,2,-1,-.54,0)} +%division lines +\put(0, 0){\line(1, 0){2}} +\put(0, 0){\line(2, 1){1.79}} + %1.79 = 2 cos arctg .5 +%\put(0, 0){\line(-2, 1){1.79}} +%\bezier{75}(0, 0)(-.81, .59)(-1.61, +%1.18) + %-.81 = cos 144; .59 = sin 144 +\put(0,0){\squine(0,-.81,-1.61,0,.59, + 1.18)} +%\put(0, 0){\line(-1, -2){.89}} + % .89 = 2 sin arctg .5 +%\bezier{75}(0, 0)(-.59, -.81)(-1.18, +%-1.62) + %-.59 = cos -126; -.81 = sin -126 +\put(0,0){\squine(0,-.59,-1.18,0,-.81, + -1.62)} +%piece +%\bezier{60}(2.5, 0.1)(2.5, .64)(2.29, +%.99) + % shift .5, .1 +\put(0,0){\squine(2.5,2.5,2.29,0.1,.64, + .99)} +\put(0.5, 0.1){\line(1, 0){2}} +\put(0.5, 0.1){\line(2, 1){1.79}} +%Candles: +%\bezier{20}(0,1.31)(-.15,1.45)(0,1.61) +\put(0,0){\squine(0,-.15,0,1.31,1.45, + 1.61)} +%\bezier{20}(0,1.31)(.175,1.45)(0,1.61) +\put(0,0){\squine(0,.175,0,1.31,1.45, + 1.61)} +%Middle +\put(-.1,.11){\line(0,1){1.2}} +\put(.1,.05){\line(0,1){.95}} +\put(.1,1.1){\line(-2,3){.2}} +%Left +%\bezier{20}(-.25,1.46)(-.40,1.6)( +%-.25,1.76) +\put(0,0){\squine(-.25,-.40,-.25, + 1.46,1.6,1.76)} +%\bezier{20}(-.25,1.46)(-.075,1.6)( +%-.25,1.76) +\put(0,0){\squine(-.25,-.075,-.25, + 1.46,1.6,1.76)} +\put(-.35,.26){\line(0,1){1.2}} +\put(-.15,.21){\line(0,1){.95}} +\put(-.15,1.15){\line(-2,3){.2}} +%Right +%\bezier{20}(.25,1.46)(.40,1.6)(.25, +%1.76) +\put(0,0){\squine(.25,.40,.25,1.46, + 1.6,1.76)} +%\bezier{20}(.25,1.46)(.075,1.6)(.25, +%1.76) +\put(0,0){\squine(.25,.075,.25,1.46, + 1.6,1.76)} +\put(.35,.25){\line(0,1){1.2}} +\put(.15,.2){\line(0,1){.95}} +\put(.15,1.15){\line(2,3){.2}} +%Leftleft +%\bezier{20}(-.5,1.61)(-.65,1.75)( +%-.5,1.91) +\put(0,0){\squine(-.5,-.65,-.5,1.61, + 1.75,1.91)} +%\bezier{20}(-.5,1.61)(-.325,1.75)( +%-.5,1.91) +\put(0,0){\squine(-.5,-.325,-.5,1.61, + 1.75,1.91)} +\put(-.6,.41){\line(0,1){1.2}} +\put(-.4,.36){\line(0,1){.95}} +\put(-.4,1.3){\line(-2,3){.2}} +%Rightright +%\bezier{20}(.5,1.61)(.65,1.75)(.5, +%1.91) +\put(0,0){\squine(.5,.65,.5,1.61,1.75, + 1.91)} +%\bezier{20}(.5,1.61)(.325,1.75)(.5, +%1.91) +\put(0,0){\squine(.5,.325,.5,1.61, + 1.75,1.91)} +\put(.6,.4){\line(0,1){1.2}} +\put(.4,.35){\line(0,1){.95}} +\put(.4,1.3){\line(2,3){.2}} +%texts +\put(-1, -.1){\makebox(0, 0){\strut + Happy}} +\put(.5, -1){\makebox(0, 0){\strut + Birthday}} +\put(1.9, .35){\makebox(0, 0){\strut + NTG}} +\endpicture\egroup%end ntgpiepic +\thispicture{}} +% +\lst\overviewtexpic +{\bgroup\unitlength=3.8ex \fullfalse + \xoffset{-.5}\yoffset{-2.75} + \xdim{15}\ydim{16.5} +\beginpicture +%1st column +\put(1, 0){\line(0, 1){1.5}} +\put(1, 2){\oval(2, 1)} +\iffull\put(1.1, 2.1){\ovaltlfalse\ovalblfalse\ovalbrfalse + \oval(2, 1)} + \put(2.1, 2){{\tiny .ps}} + \put(1.2, 2.2){\ovaltlfalse\ovalblfalse\ovalbrfalse + \oval(2, 1)} + \put(2.3, 2.2){{\tiny .log}} +\fi +\put(1, 2){\makebox(0, 0){.pk}} +\put(1, 4){\vector(0, -1){1.5}} +\put(-.5, 4){\framebox(3, 1){% + METAFONT}} +\iffull\card{2.75}{5.25}{-{%\smc%Too large + post}} +\fi +\put(1, 6.5){\vector(0, -1){1.5}} +\put(1, 7){\oval(2, 1)} +\put(1, 7){\makebox(0, 0){.mf}} +%second column +\put(7.5, -.5){\framebox(2, 1){% + driver}} +\put(9.5,.5){\corners{.5}}% +\put(8.5, 1.5){\vector(0, -1){1}} + %mod 24/1/94 +\put(8.5, 2){\oval(2, 1)} +\iffull + \put(8.6, 2.1){\ovaltlfalse\ovalblfalse\ovalbrfalse + \oval(2, 1)} + \put(9.6, 2){{\tiny .log}} +%\put(8.7, 2.2){\ovaltlfalse\ovalblfalse\ovalbrfalse +% \oval(2, 1)} +\fi +\put(8.5, 2){\makebox(0, 0){.dvi}} +\put(8.5, 4){\vector(0, -1){1.5}} +\put(7.5, 4){\framebox(2, 1){\TeX}} +%Flavours +\card{ 9.75}{5.25}{BLUe} +\card{10 }{5.5 }{La\TeX} +\card{10.25}{5.75}{AMS-(La)\TeX} +%\diagdots{10.35}{5.85} +% +\put(8.5, 6.5){\vector(0, -1){1.5}} +\put(8.5, 7){\oval(2, 1)} +\put(8.5, 7){\makebox(0, 0){.tex}} +% +\multiput(8.5, 9)(0, -.415){3}{% + \line(0, -1){.25}} +\put(8.5, 8.7){\vector(0, 1){.3}} +\put(8.5, 7.8){\vector(0, -1){.3}} +\put(7.5, 9){\framebox(2, 1){editor}} +%Tools +\card{ 9.75}{10.25}{Spell} +\card{10 }{10.5 }{Style} +%\diagdots{10.1}{10.6} +% +\put(8.5, 11.5){\vector(0, -1){1.5}} +\put(8.5, 12){\oval(2, 1)} +\put(8.5, 12){\makebox(0, 0){copy}} +%basis +\put(1, 0){\vector(1, 0){6.5}} +\put(9.5, 0){\vector(1, 0){1.5}} +\put(11, -.75){\framebox(2, 1.5){\vbox{% + \hbox{printer} + \hbox{screen}}}} +%middle +\multiput(5, 5.25)(0, 1){3}{% + \line(0,1){.5}} +\multiput(5, .25)(0, 1){4}{% + \line(0,1){.5}} +\multiput(5, -2.25)(0, .5){2}{% + \line(0,1){.25}} +\put(5,-.5){\line(0,1){.25}} +%PostScript +\iffull + \put(1, -1){\oval(2, .5)} + \put(1, -1){\makebox(0, 0){{\tiny A-Type1}}} + \put(1.1, -.9){\ovaltlfalse\ovalblfalse\ovalbrfalse + \oval(2, .5)} + \put(1.2, -.8){\ovaltlfalse\ovalblfalse\ovalbrfalse + \oval(2, .5)} + \multiput(2, -1)(.45, 0){4}{% + \line(1,0){.25}} + \put(4,-1){\vector(1,0){0}} + \put(4, -1.250){\framebox(2, .5){% + {\tiny \PS}}} + \multiput(6, -1)(.45, 0){8}{% + \line(1,0){.25}} + \put(9.75,-1){\vector(1,0){0}} + \put(10.25, -1){\oval(1, .5)} + \put(10.25, -1){\makebox(0, 0){{\tiny .ps}}} + \multiput(10.75, -1)(.45, 0){5}{% + \line(1,0){.25}} + \put(13.25,-1){\vector(1,0){0}} + \put(12,-1){\vector(0,1){.25}} + \put(13.25, -1.25){\framebox(1.5, .5){{\tiny Acrobat}}} + \put(14.75, -.75){\corners{.5}} + \multiput(14, -.625)(0,1){2}{\line(0,1){.25}} + \put(13.25, .75){\framebox(1.5, .5){{\tiny Acrobat}}} + \put(14.75, 1.25){\corners{.5}} + \put(14, 0){\oval(1,.5)} + \put(14, 0){\makebox(0, 0){{\tiny .pdf}}} + \multiput(13.25,1)(-.5, 0){3}{\line(-1,0){.25}} + \put(12, 1){\vector(0,-1){.25}} + \put(8.5, -1){\vector(0, 1){.5}} + \put(8.5,-.5){\vector(0,-1){.5}} +\else + \put(5, -1){\line(0, -1){.25}} +\fi +% +\put(2.5, 4.5){\vector(1, 0){1.5}} +\put(5, 4.5){\oval(2, 1)} +\put(5, 4.5){\makebox(0, 0){.tfm}} +\put(6, 4.5){\vector(1, 0){1.5}} +%Source variants +\iffull + \put(9.5, 7){\vector(-1,0){0}} + \multiput(9.5, 7)(.5,0){2}{\line(1, 0){.25}} + \multiput(10.25, 7.375)(.5,0){2}{\line(1, 0){.25}} + \put(11, 7.375){\vector(1,0){0}} + \put(11, 7.125){\framebox(1.5,.5){\tiny SGML}} + \multiput(10.25, 7.375)(0,-.5){2}{\line(0,-1){.25}} + \multiput(10.25, 6.625)(.5,0){2}{\line(1, 0){.25}} + \put(11,6.625){\vector(1,0){0}} + \put(11,6.375){\framebox(1.5,.5){\tiny HTML}} + %\put(12, 4.5){\oval(2, 1)} + %\put(12, 4.5){\makebox(0, 0){.log}} +\fi +%base line +\put(.51,-2.25){\vector(-1, 0){1}} +\put(2.25, -2.25){\makebox(0, 0){Fonts}} +\put(3.9,-2.25){\vector( 1, 0){1}} +\put(6.1,-2.25){\vector(-1, 0){1}} +\put(9, -2.25){\makebox(0, 0){% + Typesetting}} +\put(11.9,-2.25){\vector(1, 0){1}} +\endpicture\egroup%end overviewtexpic +\thispicture{}} +% +\lst\partitionedmatrixpic{\bgroup + \def\vdts{\vbox{\baselineskip4pt + \lineskiplimit0pt + \vglue2pt\hbox{.}\hbox{.}\hbox{.}}}% +\vcenter{\offinterlineskip%No interline +% space in between parts +\halign{\hfil$##$&\hfil$##$\hfil\cr%2-column +%first row with braces, element 11 empty +{}&\hfil\enspace\mathop{\hbox to.9cm% + {\downbracefill}}\limits^{\vbox{\hbox{ + $\scriptstyle p$}\kern2pt}} + \enspace\hfil\mathop{\hbox to.6cm% + {\downbracefill}}\limits^{\vbox{\hbox to + 0pt{\hss$\scriptstyle n-p$\hss}\kern2pt}}% + \enspace\hfil\cr % end first row +%Separation between first (border) row and +%rest +\noalign{\vglue.5ex} +%first column with braces +\vcenter{\kern1ex% + \hbox{${\scriptstyle p}\left\fatlbrace\vbox to5.5ex{} + \right.$}\kern1.5ex + \hbox{\llap{$\scriptstyle n{-}$}% + ${\scriptstyle p}\left\fatlbrace\vbox to4ex{} + \right.$}} +&%22-element is the matrix proper +\left(\vcenter{\offinterlineskip +\halign{\hfil$##$\hfil&\hfil$##$\hfil& +\hfil$##$\hfil&\hfil$##$\hfil +\tabskip=.5\tabskip&\vdts##& +\tabskip=2\tabskip +\hfil$##$\hfil&\hfil$##$\hfil& +\hfil$##$\hfil\cr%end template +\times&\times&\times&\times&&\times& + \times&\times\cr +0 &\times&\times&\times&&\times& + \times&\times\cr +0 &0 &\times&\times&&\times& + \times&\times\cr +0 &0 &0 &\times&&\times& + \times&\times\cr +\noalign{\vglue.5ex} +\multispan8\dotfill\cr +0 &0 &0 &0 &&\times& + \times&\times\cr +0 &0 &0 &0 &&\times& + \times&\times\cr +0 &0 &0 &0 &&\times& +\times&\times\cr}%end halign (22) +}%end vcenter +\right)\cr %end 22-element +%Separation between last (border) row +%and rest +\noalign{\vglue1ex} +{}&\hfil\enspace\mathop{\hbox to.9cm{% + \upbracefill}}\limits_{\vbox{\kern2pt + \amyicurt{4ex}{1.5ex}}} + \enspace\hfil + \mathop{\hbox to.6cm{% + \upbracefill}}\limits_{\vbox{\kern2pt + \unitlength1ex + \icmat4{1.5}}}\enspace\hfil% +\cr % end last row +}%end halign +}\egroup%end vbox +}%end partitionedmatrixpic +% +\lst\pstexpic{%cgl, June 1996 +\bgroup +\unitlength3ex\xdim{12}\ydim{14} +\xoffset{-6} +\beginpicture +\put(-2,0){\makebox(4,1){P/G-script}} +\put(0,.5){\oval(4,1)} +\put(0,1){\line(0,1)1} +\put(-2,2){\framebox(4,1){.ps}} +\put(0,3){\line(0,1)1} +\put(-2,4){\makebox(4,1){dvips}} +\put(0,4.5){\oval(4,1)} +\put(0,5){\line(0,1)1} +\put(-2,6){\framebox(4,1){.dvi}} +\put(2,7){\corners1} +\put(2.4,7){{\tiny .eps}} +\put(0,7){\line(0,1)1} +\put(-2,8){\makebox(4,1){(any)\TeX}} +\put(0,8.5){\oval(4,1)} +\put(0,9){\line(0,1)1} +\put(-2,10){\framebox(4,1){.tex}} +\put(2,11){\corners1} +\put(2.4,11){{\tiny (e)psfig}} +% +\put(0,11){\line(0,1)1} +\put(-2,12){\makebox(4,1){editor}} +\put(0,12.5){\oval(4,1)} +\put(2,12.5){\line(1,0)1} +\put(3,12.5){\line(0,-1)1} +\put(3,10.5){\line(0,-1)3} +\endpicture\egroup} +% +\lst\pythpic{%July 1995, cgl +%Revision March 1996 +\bgroup +%\newdimen\leftx \newdimen\rightx +%\newdimen\lefty \newdimen\righty +\let\0\N \let\1\NE \let\2\E \let\3\SE +\let\4\S \let\5\SW \let\6\W \let\7\NW +\def\right{\turn2}% +\def\left{\turn6}% +\def\turn##1{\advance\dir##1 + \ifnum\dir>7 \advance\dir-8 \fi}%mod 8 +\def\draw{\csname\the\dir\endcsname{\the\kk}}% +\def\ldrawsq{\draw \leftx\x \lefty\y + \right\draw \rightx\x \righty\y + \right\draw + \right\draw + \right}% +\def\rdrawsq{\draw \rightx\x \righty\y + \left\draw \leftx\x \lefty\y + \left\draw + \left\draw + \left}% +\let\drawsq\ldrawsq +\def\pyth{\ifnum\level=1 \htyp\fi + \drawsq\advance\level-1 \multiply\kk18\divide\kk25 + {\turn7\x\leftx \y\lefty \let\drawsq\ldrawsq\pyth}% + \turn1\x\rightx \y\righty\let\drawsq\rdrawsq\pyth} +\def\htyp##1\pyth{\fi}% +\unitlength0.2ex\kk20 +\rightx\the\kk\unitlength +\divide\rightx2 \x-\rightx%positioning +\level5 +\xdim{28}\ydim{70}\xoffset{-9}% +\beginpicture\pyth\endpicture +\egroup\thispicture{}} +% +\lst\pythtreepic{%July 1995, cgl +%Revision March 1996 +\bgroup +\let\0\N \let\1\NE \let\2\E \let\3\SE +\let\4\S \let\5\SW \let\6\W \let\7\NW +\def\leftbranch{\advance\dir7 + \ifnum\dir>7 \advance\dir-8 \fi}%mod 8 +\def\rightbranch{\advance\dir1 + \ifnum\dir>7 \advance\dir-8 \fi}%mod 8 +\def\draw{\csname\the\dir\endcsname{\the\kk}} +\def\pythtree{\ifnum\level=1 \eerthtyp\fi + \advance\level-1 + \multiply\kk23\divide\kk32 + {\leftbranch\draw\pythtree}% + \rightbranch\draw\pythtree} +\def\eerthtyp##1\pythtree{\fi} +%alternative +%\def\pythtree{\ifnum\level>1 +% \expandafter\dopyth\fi} +%\def\dopyth{\advance\level-1 +% \multiply\kk23\divide\kk32 +% {\leftbranch\draw\pythtree}% +% \rightbranch\draw\pythtree} +%\linethickness.2pt + \unitlength.2pt + \level6 \dir0 \kk90 +\xdim{285}\ydim{285}\xoffset{-90}% +\beginpicture +\setbox\hlfwndelm=\hbox{\vrule + width\the\linethickness + height\the\linethickness depth0pt} +\N{\the\kk}\pythtree\endpicture +\egroup\thispicture{}}%end \pythtreepic +% +\lst\regulartransparencypic{ +\setbox0=\vbox to.6\hsize{\let\x\fiverm + \hsize=.4\hsize\def\w{\kern.5ex} + \vskip.5ex\noindent + \centerline{\x Title Transparencies Set} + \line{\x\w\vbox to 10ex{\vss + \rlap{\x LOGO}\vss}\hfill + \vbox to 10ex{\vss + \x\baselineskip3ex + \llap{\x headtitle} + \llap{\x subheadtitle} + \llap{\x subsubheadtitle} + \vss}\w} + \hrule\vfil + \centerline{o\ o} + \centerline{\vrt} + \centerline{\teni\char'136} + \vfil\hrule\vskip.5ex + \line{\x\w\rlap{\x date}\hfill + --number--\hfill + \llap{\x copyright}\w} + \vskip.5ex} +% +\vbox{\vskip1ex\hbox to.4\hsize{\hss + Regular Transparency\hss} +\kern2ex +\hbox{\rlap{\copy0}\makelightbox}} +} +\lst\rotatedbintreepic{%July 1995, cgl +\bgroup\unitlength1ex% + \let\W\N \let\exchange\E + \let\E\S \let\S\exchange + \def\1{x}\def\2{y}\def\3{a}\def\4{b}% + \def\5{piet}\def\6{hans}\def\7{etc.}\def\8{}% + \k0\kk16\xdim{10}\ydim{30}% +\beginpicture\bintree\endpicture\egroup +\thispicture{}} +% +\lst\sgmltexpic +{\bgroup\csname newcount\endcsname\leg +\unitlength2.5ex\xoffset{-13} +\xdim{20}\ydim{25} +\beginpicture +\put(-7,\the\leg){\framebox(4,2){% + (La)\TeX}} +\put(-2,\the\leg){\framebox(4,2){% + TROFF}} +\put(3,\the\leg){\framebox(4,2){\dots}} +\advance \leg by 4 +%hark +\put(-5,\the\leg){\vector(0,-1){1.75}} +\put(0,\the\leg){\vector(0,-1){1.75}} +\put(5,\the\leg){\vector(0,-1){1.75}} +\put(-5,\the\leg){\vector(1,0){5}} +%backarrow +\put( 0,\the\leg){\line(1,0){5}} +%converters +\put(5.5,\the\leg){\vtop to 0pt{% +\hbox{Specific}\hbox{format file}\vss}} +\put(0,\the\leg){\vector(0, 1){1}} +%backarrow +\advance \leg by 1 +\put(-4,\the\leg){\framebox(8,2){% + $\vcenter{\hbox{Generic markup} + \hbox{$\Rightarrow$\ + procedural}}$ + } + } +\advance \leg by 2 +\put(4,\the\leg){\corners1} +%\put(4.2,\the\leg.2){\line(0, -1){1}} +%\put(4.2,\the\leg.2){\line(-1, 0){1}} +%\put(4.4,\the\leg.4){\line(0, -1){1}} +%\put(4.4,\the\leg.4){\line(-1, 0){1}} +\put(4.4,\the\leg.2){{\tiny Formats}} +% +\advance \leg by 1 +\put(0,\the\leg.5){\vector(0,-1){1.5}} +\put(0,\the\leg.5){\vector(0, 1){0}} +%backarrow head +%applications +\advance \leg by 1 +\put(-10,\the\leg){\makebox(0,0){Exchange}} +\put(-5,\the\leg){\makebox(0,0){Storage}} +\put(0,\the\leg){\makebox(0,0){% + Publication}} +\put(5,\the\leg){\makebox(0,0){% + Database}} +\put(10,\the\leg){\makebox(0,0){% +\vtop to 0pt{\hbox{(Text-)} + \hbox{analysis}\vss}}} +%hark +\advance \leg by 2 +\put(0,\the\leg){\vector(0,-1){1.25}} +\put(-5,\the\leg){\vector(0,-1){1.25}} +\put(-10,\the\leg){\vector(0,-1){1.25}} +\put(5,\the\leg){\vector(0,-1){1.25}} +\put(10,\the\leg){\vector(0,-1){1.25}} +\put(-10.5,\the\leg){\line(1,0){21}} +\put(11.25,\the\leg){\makebox(0,0){\dots}} +\put(-11.25,\the\leg){\makebox(0,0){\dots}} +\advance \leg by 2 +\put(0,\the\leg){\line(0,-1){2}} +\put(0,\the\leg){\vector(0,1){0}} +%back (up) arrow head +\put(-7.5,\the\leg){\framebox(15,1){% + Complete, correct SGML doc.}} +\advance \leg by 2 +\put(.5,\the\leg.25){Parser} +\advance \leg by 2 +\put(0,\the\leg){\vector(0,-1){3}} +%\advance \leg by 1 +\put(-7.5,\the\leg){\framebox(15,3){ + $\vcenter{\hbox{|<|!SGML + - - declaration - -|>|} + \hbox{|<|!DOCTYPE + - - declaration - -|>|} + \hbox{|<|! + - - Markup copy - -|>|}}$ + } + } +\advance \leg by 3 +%\corners +\put(7.5,\the\leg){\corners2} +%\put(7.7,\the\leg.2){\line(0,-1){2}} +%\put(7.7,\the\leg.2){\line(-1,0){2}} +%\put(7.9,\the\leg.4){\line(0,-1){2}} +%\put(7.9,\the\leg.4){\line(-1,0){2}} +\put(7.9,\the\leg.2){{\tiny DTDs}} +% +\advance \leg by 1 +\put(.5,\the\leg){Editor} +\advance \leg by 1 +\put(0,\the\leg.5){\vector(0,-1){2.5}} +\advance \leg by 1 +\put(0,\the\leg){\framebox(0,0){\strut + ``Copy''}} +\endpicture\egroup%end sgmltexpic +\thispicture{}} +% +\lst\sierpinskitripic{%July 1995, cgl +%Revision March 1996 +\bgroup +\def\triangle{\ifnum\kk=0 \elgnairt\fi + {\N{\the\kk}}{\E{\the\kk}}\divide\kk2 + {\triangle}% + {\advance\x\the\kk\unitlength\triangle}% + \advance\y\the\kk\unitlength\triangle} +\def\elgnairt##1\triangle{\fi} +\unitlength1ex\kk16 +\xdim{16}\ydim{16} +\beginpicture\triangle\endpicture +\egroup\thispicture{}} +% +\lst\simplepic +{\bgroup\unitlength=1cm + \xdim{3}\ydim{1.25} +\beginpicture +\ifmarkorigin\put(0,0){\markorigin}\fi +\put(1.5,.5){\oval(2,1)} +\put(0.5,0){\makebox(2,1){Kees}} +\endpicture\egroup%end simplepic +} +\lst\spiralpic{%July 1995, cgl +\bgroup\unitlength.5ex\k30 + \xdim{\the\k}\ydim{34}% + \yoffset{-\the\k}% +\beginpicture + \loop\E{\the\k}\advance\k-1 + \S{\the\k}\advance\k-1 + \W{\the\k}\advance\k-1 + \N{\the\k}\advance\k-1 + \ifnum\k>4 \repeat +\endpicture\egroup +\thispicture{}} +% +\lst\texflowpic +{\bgroup\smallskip\small +\unitlength=2.5ex +\xdim{18}\ydim{19}\yoffset{2} +\beginpicture +\put(6,1.5){\makebox(0,0){``Copy''}} +\put(6,20.5){\makebox(0,0){``Results''}} +\put(6,5){\oval(6,2)} +\put(6,5){\makebox(0,0){Editor}} +\put(6,9){\oval(6,2)} +\put(6,9){\makebox(0,0){\AllTeX}} +\put(6,13){\makebox(0,0){{\rm Error?}}} +\put(6,17){\oval(6,2)} +\put(6,17){\makebox(0,0){Driver}} +\put(12,4){%\dashbox{.5}(8,2){\makebox(0,0){% + \framebox(8,2){\vbox{% + \hbox{\tiny Spelling checker} + \hbox{\tiny Style tools}}}} +\put(0.2,13.2){Yes} +\put(6.50,14.5){No} +\put(6,2){\vector(0,1){2}} +\put(6,6){\vector(0,1){2}} +\put(6,10){\vector(0,1){2}} +\put(6,14){\vector(0,1){2}} +\put(6,18){\vector(0,1){2}} +\put(0,13){\line(0,-1){8}} +\put(9,5){\vector(1,0){3}} +\put(12,5){\vector(-1,0){3}} +\put(0,5){\vector(1,0){3}} +\put(3,13){\line(-1,0){3}} +\put(3,13){\line(3,1){3}} +\put(3,13){\line(3,-1){3}} +\put(9,13){\line(-3,1){3}} +\put(9,13){\line(-3,-1){3}} +\endpicture +%\caption{Correction cyclus \label{correctie}} +\smallskip\egroup +} +\lst\systemtheorypic +{\bgroup +\unitlength1cm\xoffset{-1.5} +\xdim{7}\ydim{2.25} +\beginpicture +\ifmarkorigin\put(0,0){\markorigin}\fi +\put(-1,1.75){$u_1$} +\put(-.4,1.5){$^{\fivesy+}$} +\put(-1,1.5){\vector(1,0){.9}} +\put(0,0){\vector(0,1){1.4}} +\put(-.3,1.125){$^{\fivesy+}$} +\put(0,1.5){\circle{.1}} +% +\put(.1,1.5){\vector(1,0){1.65}} +\put(.5,1.25){$e_1$} +\put(1.75,1.125){\framebox(1,.75){$G$}} +\put(2.75,1.5){\line(1,0){1.75}} +% +\put(4.5,1.5){\vector(0,-1){1.4}} +\put(4.6,.2){$^{\fivesy+}$} +\put(4.5,0){\circle{.1}} +% +\put(1.75,0){\line(-1,0){1.75}} +\put(1.75,-.375){\framebox(1,.75){$K$}} +\put(4.4,0){\vector(-1,0){1.65}} +\put(3.25,-.25){$e_1$} +% +\put(5.5,0){\vector(-1,0){.9}} +\put(4.7,-.375){$^{\fivesy+}$} +\put(5.5,-.25){\llap{$u_2$}} +\endpicture +\egroup%end systemtheorypic +} + +\lst\titletransparencypic{% +\setbox0=\vbox to.6\hsize{\let\x\fiverm + \let\s\sevenrm + \hsize=.4\hsize\def\w{\kern.5ex} + \vskip7ex\noindent + \centerline{\s Title Transparencies + Set} + \centerline{\x subtitle} + \vskip2ex + \centerline{\s author name} + \centerline{\x address} + \vskip3ex + \centerline{\llap{\s\kern-10ex-- + \quad\dots}} + \centerline{\llap{\s\kern-10ex-- + \quad\dots}} + \vfil} +% +\vbox{\hbox to.4\hsize{\hss Title + Transparency\hss} +\kern2ex +\hbox{\rlap{\copy0}\makelightbox}} +} +% +\lst\trimodelpic{%July 1995, cgl +\bgroup\linethickness1ex +\unitlength1ex +\xdim{0}\ydim{15}% +\yoffset{-5}% +\beginpicture +\setbox\trielm=\hbox{\vrule + width1.74\linethickness + height\linethickness\relax} +\unitlengthy\ht\trielm +\unitlengthx\wd\trielm +\unitlength\unitlengthy +{\N{10}}{\ESE{10}}{\WSW{10}}$$ +\endpicture\egroup +\thispicture{}}%end \trimodelpic +% +\lst\tritreepic{%July 1995, cgl +%Revision March 1996 +\bgroup\linethickness.2pt +%Here we have to correct for the direction +%and to adjust the drawing element atom +%into a rectangular block, +%default of size $.348{\times}.2$pt.\ftn{% +% Vertically only half of the atoms have to be stacked. +% Horizontally the right distance must be paced, +% i.e.\ a factor $\sqrt3$ larger. +% The rectangular block has sides in the proportion of $\sqrt3$.} +\def\tritree{\ifnum\level=1 \eertirt\fi + \advance\level-1 \divide\kk2 + {\N{\the\kk}\tritree}% + {\ESE{\the\kk}\tritree}% + \WSW{\the\kk}\tritree}% +\def\eertirt##1\tritree{\fi}% +\unitlength.2pt +\xdim{0}\ydim{320}% +\xoffset{0}\yoffset{0}% +\level5 \kk128 +\beginpicture +\setbox\trielm=\hbox{\vrule + width1.74\linethickness + height\linethickness}% +%To account for element in 30 degrees direction +\unitlengthy\ht\trielm %default.2pt +\unitlengthx\wd\trielm %default.3482pt +\unitlength\unitlengthy +\tritree +\endpicture\egroup +\thispicture{}}%end \tritreepic +% +\lst\vectorbundlepic +{\bgroup\unitlength=1cm + \xdim{4}\ydim{5}\yoffset{-.25} +\beginpicture +\ifmarkorigin\put(0,0){\markorigin}\fi +\put(2,0){\vector(1,1){1}} +\put(2,0){\vector(1,2){1}} +\put(2,0){\vector(1,3){1}} +\put(2,0){\vector(2,3){1}} +\put(2,0){\vector(1,4){1}} +\put(2,0){\vector(2,1){1}} +\put(2,0){\vector(3,1){1}} +\put(2,0){\vector(3,2){1}} +\put(2,0){\vector(4,1){1}} +%Second quadrant +\put(2,0){\vector(-1,1){1}} +\put(2,0){\vector(-2,1){1}} +\put(2,0){\vector(-3,1){1}} +\put(2,0){\vector(-3,2){1}} +\put(2,0){\vector(-4,1){1}} +\put(2,0){\vector(-1,2){1}} +\put(2,0){\vector(-1,3){1}} +\put(2,0){\vector(-1,3){1}} +\put(2,0){\vector(-2,3){1}} +\put(2,0){\vector(-1,4){1}} +\endpicture\egroup%end vector +} % bundlepic +% +\lst\viewtexpic +{\bgroup\smallskip\small +\unitlength2.5ex +\xdim{24}\ydim{20.5} +\beginpicture +\put( 3, 4){\oval( 6, 2)} +\put( 3, 4){\makebox( 0, 0){\tiny PC preview}} +\put( 3, 7){\oval( 6, 2)} +\put( 3, 7){\makebox( 0, 0){\tiny VDU preview}} +\put(21, 1){\oval( 6, 2)} +\put(21, 1){\makebox( 0, 0){\tiny Photo setter}} +\put(21, 4){\oval( 6, 2)} +\put(21, 4){\makebox( 0, 0){\tiny Laser printer}} +\put(21, 7){\oval( 6, 2)} +\put(21, 7){\makebox( 0, 0){\tiny Matrix printer}} +\put(12,19.5){\oval( 6, 2)} +\put(12,19.5){\makebox( 0, 0){CompuScript}} +\put(9,15.5){\framebox(6, 2){\TeX}} +\put(12,13.5){\oval( 6, 2)} +\put(12,13.5){\makebox( 0, 0){dvi-file}} +\put( 9, 9){%dashbox{.5}( 6, 2){PostScript}} + \framebox( 6, 2){PostScript}} +\put(12, 1){\line( 0, 1){8}} +\put(12,12.5){\vector( 0,-1){1.5}}%dvi-postscript +\put(12,18.5){\vector(0,-1){1}} %ms-dos dvi +\put(12,15.5){\vector(0,-1){1}} %ms-dos dvi +\put(12, 7){\vector( 1, 0){6}} +\put(12, 7){\vector(-1, 0){6}} +\put(12, 4){\vector( 1, 0){6}} +\put(12, 4){\vector(-1, 0){6}} +\put(12, 1){\vector( 1, 0){6}} +\endpicture +\smallskip\egroup +} +\lst\webpic{\bgroup +\unitlength2.5ex\xdim{12}\ydim{10} +\xoffset{-6} +\beginpicture +\put(2,0){\framebox(4,1){nme.dvi}} +\put(4,1){\line(0,1)1} +\put(4,2.5){\oval(4,1)} +\put(4,3){\line(0,1)1} +\put(2,2){\makebox(4,1){\TeX}} +\put(4,5){\line(0,1)1} +\put(2,4){\framebox(4,1){nme.tex}} +\put(4,6.5){\oval(4,1)} +\put(2,6){\makebox(4,1){cweave}} +\put(-4,2.5){\oval(4,1)} +\put(-6,2){\makebox(4,1){C}} +\put(-4,3){\line(0,1)1} +\put(-6,4){\framebox(4,1){nme.c}} +\put(-4,5){\line(0,1)1} +\put(-4,6.5){\oval(4,1)} +\put(-6,6){\makebox(4,1){ctangle}} +\put(-4,7){\line(4,1)4} +\put( 4,7){\line(-4,1)4} +\put(-2,8){\framebox(4,1){nme.w}} +\endpicture\egroup} +% +\lst\windpic{%July 1995, cgl +\bgroup\unitlength10ex +\let\0\N \let\1\NE \let\2\E \let\3\SE +\let\4\S \let\5\SW \let\6\W \let\7\NW +\def\draw{\csname\the\dir\endcsname1}% + \xoffset{0}\yoffset{-1}% + \xdim{0}\ydim{2}% +\beginpicture +\setbox\hlfwndelm=\hbox{\vrule + width\the\linethickness + height\the\linethickness depth0pt}% +\loop\ifnum\dir<8{\draw}\advance\dir1\repeat +\endpicture\egroup +\thispicture{}} +% +\lst\xyturtlepic{\bgroup% +\unitlength.5ex% +\xdim{44}\ydim{27}% +\y=0pt\x=0pt% +\xoffset{0}\yoffset{0}% +\beginpicture \whiteN6\E4% + {\S4\whiteS2\xytxt{ Ref.\ point}}{\E{40}}% + \N{20}\whiteE{20}\S4\whiteS4\xytxt{ (x,y)}% +\endpicture\egroup\thispicture{}} +\endinput \ No newline at end of file diff --git a/macros/blu/readme.fst b/macros/blu/readme.fst new file mode 100644 index 0000000000..9f2a8cbbb8 --- /dev/null +++ b/macros/blu/readme.fst @@ -0,0 +1,120 @@ +README first BLUe's format system June 1996 + +Subject: Note which accompanies BLUe's format system and + provides a survey of the background articles. + +The BLUe's format system is for typesetting with plain TeX, and +is shareware available. +(A happy :-) user is requested to send the equivalent of ~20 breads + in US dollars to the author to support his work especially upgrading + my hardware. The pricing policy is according to the macindex and + appropriate for users in financial disadvantaged countries. + Don't send breads nor a check. Just the money in an envelope.) + +The user's guide `Publishing with TeX' and accompanying articles +which explain details and show examples are free for personal use. + +No profit is allowed to make from it. + +When the results are used a proper credit +---be it Knuth or the authors of gkpmac, + or me for the composition and the fill-ins--- +is the least a happy publishing user can do. + +Best wishes and good luck, ---Kees--- cgl@rc.service.rug.nl + +How to process the PWT user's guide? +------------------------------------ +Copy blue.tex, fmt.dat, tools.dat, pic.dat, next to the PWT files +pwt.scr is the basic script which invokes all the other chapters: +pwt.int, pwt.txt, pwt.mat, pwt.tab, pwt.grf, pwt.ref, pwt.ind, +pwt.cus, pwt.aft, pwt.fmt, pwt.tls, pwt.sur, pwt.his, pwt.tot, pwt.obs, +into a directory where TeX can find them, and then run tex +tex pwt.scr +(Each chapter can be processed independently via tex pwt.int for example). + +Contents BLUe's format system +----------------------------- +The files are: blue.tex (format) + fmt.dat (variant formats) + tools.dat (tools like indexing) + address.dat, lit.dat, pic.dat (databases) +The user's guide is called Publishing with TeX. + +A handy auxiliary is pfile to print blue.tex with appropriate line numbers. +A generalization is pgfile which prompts for the name of the file to be printed. + +The files which compose the user's guide Publishing with TeX have pwt as rootname +and the chapter indicaton as extension. +pwt.scr is the basic script which invokes all the other chapters: +pwt.int, pwt.txt, pwt.mat, pwt.tab, pwt.grf, pwt.ref, pwt.ind, +pwt.cus, pwt.aft, pwt.fmt, pwt.tls, pwt.sur, pwt.his, pwt.tot, pwt.obs. +In total 16 files. Answers to the exercises, list of examples, table of +contents, and index---yes that is new---are all generated on the fly and +included automatically as appendices. +Special is plnindex.tpl, a template for indexing loosened from blue.tex. +It can be used with AnyTeX, as an independent tool for making an index. +Needed is tools.dat, especially the sorting and indexing macros. +The latter are loaded selectively from the database tools.dat. + +Background articles (Have appeared in MAPS and are available on NTG's CD-ROM) +------------------- +BLUe's Format (The umbrella article about blue.tex.) +BLUe's Graphs (The gkppic macros are explained.) +BLUe's Cross-Refs (One-pass cross-referencing with math.) +BLUe's Bibliography (One-pass bibliography handling.) +BLUe's Verbatim (Handling verbatims in TeX.) +BLUe's Transparencies (The making of transparencies.) +BLUe's Index (The making of indexes in a one-pass job.) +BLUe's Pascal (About typesetting Pascal programs/fragments.) +BLUe's Reports (The making of reports.) +BLUe's Letters (The making of letters.) +BLUe's Databases (The approach to storing auxiliaries.) +BLUe-2-LaTeX (Acceptance and conversion.) + +Related material (Have appeared in MAPS and are available on NTG's CD-ROM) +---------------- +Manmac BLUes (Is all about manmac, as-is etc.) +AMS BLUes (Details with AMS practice, \lsams for + formatting references is inspired upon AMS.) +TUGboat BLUes (TUGboat styles are discussed. ppt.tex emerged + from this which is at the heart of blue.tex) +Math into BLUes (The typesetting of math via TeX is detailed with.) +Icons via lfonts (Common matrix icons via LaTeX's fonts.) +Table Diversions (The typesetting of tables via TeX is treated.) + +Auxiliary (Have appeared in MAPS and are available on NTG's CD-ROM) +--------- +Sorting in BLUe (The basics needed for making a simple index.) +FIFO and LIFO sing the BLUes (FIFO paradigm is treated, fundamental.) +Syntactic Sugar (Discusses various approaches to macros.) + +An overview is supplied in What is TeX and METAfont all about? (NLUUG, 1993) +The relation to SGML is treated in SGML(TeX,\dots ). (Cork 1990) +Spivak's approach has been reviewed in Spivak's Oeuvre. + +For fun are added---and also show macro writing by example--- +Typesetting bridge via TeX +Typesetting crosswords via TeX +Tower of Hanoi, revisited. + +Paradigms (See elsewhere in the CTAN; +--------- have appeared in MAPS and are available on NTG's CD-ROM) + +Headache? +Plain's item extended +Two-part macros +Parameterization I Options +Parameterization II Place within context +Winds and halfwinds---Details matter +It's all in the game +Loops +Searching in BLUe +Sorting in TeX +Just a little bit of PostScript (with a few .eps files) + +Of course all the articles run with blue.tex in plain TeX. +Earlier versions have appeared in NTG's MAPS casu quo in proceedings of TuG/LUG meetings. + +Kees van der Laan, Hunzeweg 57, 9893PB, Garnwerd, The Netherlands. +Phone: (31) (0)594 62 1525, email: cgl@rc.service.rug.nl. \ No newline at end of file diff --git a/macros/blu/tools.dat b/macros/blu/tools.dat new file mode 100644 index 0000000000..b50429d1fb --- /dev/null +++ b/macros/blu/tools.dat @@ -0,0 +1,2082 @@ +%Tools database to cooperate with blue.tex +%Januari 95, cgl@rc.service.rug.nl +%To print the formats properly, copy +%the following 11-lines job and +%substitute the semicolon token +%(=escape char) for `semi-col'. (2x) +% ---Kees--- +%\input blue.tex +%\hfuzz25pt +%\title{File: tools.dat} +%\issue{Version 1.0} +%\beginscript +%\thisverbatim={\catcode`\`semicol'=0 +% \catcode`\!=12 +% \catcode`\|=12 +% \input tools.dat} +%\beginverbatim +%`semi-col'endverbatim +%\endscript +% +% +% +%Syntax included tools +%\tool\<name>tool +%...the file which otherwise would +%...have been input +%\endinput +%Disadvantages: +%-No outer defs allowed. +% (\newtoks\x via \csname x\endcsname) +%-No \par-s, use \endgraf +% +% +% +%Contents: +%- binarytreetool +%- bridgetool +%- crosswordstool +%- hanoitool +%- indextool +% (Sorting in BLUe, quick.tex +% heap.tex and BLUe's Index) +%- language english, russian +%- ntglogo +%- smileys +%- toc +%- xyztool +%- partlogotool +%- pascaltool +% +% +% +%Tools are sorted on name. %;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%binarytree% +\tool\bintreetool +%Because redefined in manmac & BLUe's system. +\catcode`\^=7 +% +\def\startbintree{\catcode`\^^M=9 + \nodes}%neglect e-o-l +% +\def\nodes#1#2{\ifx\sedon#2 + \levelone#1 \sedon\fi + \ea\def\csname#1\endcsname{#2}\nodes} +\def\sedon#1\nodes{\fi + \setbintree\endgroup} +\let\endbintree\sedon +% +\def\fork{\vbox{\offinterlineskip +%Connection lines ____|____ +% | | +\hbox{\ea%empty branche? + \ifx\csname\the\ltree\the\m + \endcsname\relax + \vrule width\tophnshalf + height0pt depth0pt + \else%non-empty branche + \vrule height\vnodesep + \vbox to\vnodesep{\hrule + width\tophnshalf\vss}% + \kern-.2pt\vrule height + 2\vnodesep + depth-\vnodesep\relax + \fi\advance\m1 \ea%empty branche + \ifx\csname\the\ltree\the\m + \endcsname\relax + \vrule width\tophnshalf + height0pt depth0pt + \else%non-empty branch + \kern-.4pt\vrule height + 2\vnodesep + depth-\vnodesep\relax + \vbox to\vnodesep{\hrule + width\tophnshalf\vss}% + \vrule height\vnodesep\relax + \fi}\kern1ex%Separation below + %connection lines +%The sibling nodes +\hbox to\tophns + {\hbox to0pt{\strut\hss + \csname\the\ltree\the\m + \endcsname\hss}\hss + \global\advance\m1 + \hbox to0pt{\strut\hss + \csname\the\ltree\the\m + \endcsname\hss}}}} +% +\def\setbintree{%level >=1 +\ltree0 \m0 +%bounds for recursion +\lu1 %dynamic for the rows +\advance\levelone1 +%defaults +\tophns30ex \vnodesep3ex +%hook to override defaults if neede +\the\everybintree +\the\thisbintree +%dependent quantities +\treewidth3\tophns +\tophnshalf\tophns \divide\tophnshalf2 +%root, level 00 +\vbox{\levelline{\vbox{\offinterlineskip + \hbox to0pt{\strut\hss + \csname\the\ltree\the\m + \endcsname\hss}}}% +\loop\advance\ltree1 \multiply\lu2 +\levelline{\noindent\m1 \fork + \loop\ifnum\m<\lu + \kern\tophns \advance\m1 \fork + \repeat}\tophns\tophnshalf + \divide\tophnshalf2 +\ifnum\ltree<\levelone +\repeat}\thisbintree{}}%end \bintree +% +\def\levelline#1{\hbox to\treewidth{\hss#1\hss}} +\endinput +%end%%%%%%%%%%%%%%%%%%%%binarytreel%!cgl;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%b(inary)t(ree)l%!cgl;newcol +\tool\bttool +\message{ ---bttool, Aug 95, cgl--- } +\def\drawbt{\whiteS{120}% + \trttxt{\hss{\small\csname\node\endcsname}}% + \ea\ifx\csname\node0\endcsname\relax + \tbward\fi%Backtrack + \S{80}\advance\k-125 + {\W{\the\k}\S{80}\edef\node{\node0}% + \drawbt}% + \E{\the\k}\S{80}\edef\node{\node1}% + \drawbt\relax} +\def\tbward#1\relax{\fi} +% +\everybt{\k1024\unitlength.02ex\x0pt\y0pt} +%\thisbt{} +\prebt{$$\multiply\count1by280 + \ea\ydim\ea{\the\count1} + \ea\yoffset\ea{\ea-\the\count1}} +\postbt{$$} +\obeylines% +\def\bt#1 #2 + {\ifx\endbt#2\count1=#1 \tbdne\fi% + \ea\def\csname#1\endcsname{#2}\bt}% +\def\tbdne#1\bt{\fi\def\node{1}% + \the\prebt\the\everybt\the\thisbt% + \beginpicture\drawbt\endpicture% + \the\postbt\endgroup}% +\endinput +%end%%%%%%%%%%%%%%%%%b(inary)t(ree)l%!cgl;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%brd% +\tool\bridgetool +\message{ ---bridgetool, Jan 95, cgl--- } +%Typesetting bridge publications +%via (plain) TeX. Version May 92. +%The macros can als be used within LaTeX. +%Version: 1.1 March 1994 (basically +%unmodified since publication in 1990) +%Author: Kees van der Laan +% Hunzeweg 57, 9893PB, Garnwerd (Gr) +% The Netherlands. 05941-1525, +% cgl@rc.service.rug.nl +%Examples of use have been published in +%TUGboat, 11, 2, 265--276, and MAPS 91.2. +%(A few are appended at the end.) +%The macros consists of 3 indep. parts: +%- dec.tex ((language) declarations, +% used register and +% control sequences) +%- bid.tex (macros for bidding and +% layout of games) +%- play.tex (macros for discussing the +% course of a play) +% %;numvrb +%%%%%%%dec.tex%%%%%%% +%Card definitions +\def\sp{$\spadesuit$} +\def\h{$\heartsuit$} +\def\d{$\diamondsuit$} +\def\cl{$\clubsuit$} +%(Toks register) control sequences +%for hands used by play macros: +%showgame, pc, strip +\ea\let\ea\NT\csname newtoks\endcsname +\NT\hnd%Dynamically one of: +\NT\Ns\NT\Es\NT\Ss\NT\Ws +\NT\Nh\NT\Eh\NT\Sh\NT\Wh +\NT\Nd\NT\Ed\NT\Sd + \NT\Wd %Beware! Already +%in TUGboat.sty in lower case +\NT\Nc\NT\Ec\NT\Sc\NT\Wc +% +\def\bridgeenglish{ +%In central figure NESW +\def\N{N}\def\E{E}\def\S{S}\def\W{W} +%In heading bplay +\def\NS{NS}\def\EW{EW} +\def\TRICK{Trick} +%Definition of hands +%used by bbid +\def\FIH{North}\def\SEH{East} +\def\THH{South}\def\FOH{West} +}% end \bridgeenglish +\bridgeenglish%default +% +\def\LEADN{\gdef\FIP{N}\gdef\SEP{E}% + \gdef\THP{S}\gdef\FOP{W}} +\def\LEADE{\gdef\FIP{E}\gdef\SEP{S}% + \gdef\THP{W}\gdef\FOP{N}} +\def\LEADS{\gdef\FIP{S}\gdef\SEP{W}% + \gdef\THP{N}\gdef\FOP{E}} +\def\LEADW{\gdef\FIP{W}\gdef\SEP{N}% + \gdef\THP{E}\gdef\FOP{S}} +%Definition of counters +%used by bplay +\csname newcount\endcsname\trno +%trick number +%Definition of dimensions used in bbid +\csname newdimen\endcsname\wr %width column +\wr=7ex \relax +\def\bidwidth{4\wr} +%used in crdima +\csname newbox\endcsname\NESW +% +\def\dutch{ +\def\FIH{Noord}\def\SEH{Oost} +\def\THH{Zuid}\def\FOH{West} +\def\N{N}\def\E{O}\def\S{Z} +\def\W{W}\def\EW{OW}\def\NS{NZ} +\def\TRICK{Slag} +\setbox\NESW\hbox{\NESWfig} +}%end \dutch +% +\def\french{ +\def\FIH{Nord}\def\SEH{Est} +\def\THH{Sud}\def\FOH{Ouest} +\def\N{N}\def\E{E}\def\S{S} +\def\W{O}\def\EW{EO}\def\NS{NS} +\def\TRICK{Lev\'ee} +\setbox\NESW\hbox{\NESWfig} +}%end \french +%end input dec.tex +% +%%%%%%%bid.tex%%%%%%% +%Modified central figure +\def\hand#1#2#3#4{% +%Example: \hand{AKJ765}{AK9}{--}{T983} +\vtop{\hbox{\strut\sp\enspace#1} +\hbox{\strut\h\enspace#2} +\hbox{\strut\d\enspace#3} +\hbox{\strut\cl\enspace#4}}%end \vtop +}%end \hand +% +\def\crdima#1#2#3#4#5#6{% +%purpose: layout bridge hand +%#1 left upper text +%#2 right upper text +%#3, #4, #5, #6: N, E, S, W hands +\vbox{\halign{ &##\quad\cr + #1& #3& #2\cr + $\vcenter{#6}$&$\vcenter{\copy\NESW}$& + $\vcenter{#4}$\cr + & #5& \cr + }%end \halign + }%end \vbox +}%end \crdima +% +\def\NESWfig{% +\hbox{\vrule +\vbox{\offinterlineskip\tabskip0pt +\hrule\kern.25ex\halign{\hskip.5ex +##\tabskip.5ex&\hfil##\hfil& +##\hskip.5ex \tabskip0pt\cr +\noalign{\vskip.5ex} + &\hbox to 2ex{\hss\N\hss}& \cr +\noalign{\vskip.25ex} +\kern.25ex\W& &\E\kern.25ex +\cr\noalign{\vskip.25ex} + &\hbox to 2ex{\hss\S\hss}& \cr +\noalign{\vskip.5ex} + }%end \halign +\kern.25ex\hrule}%end \vbox +\vrule}%end \hbox +}% end \NESWfig +\setbox\NESW\hbox{\NESWfig} +% +\def\ebid{\errormessage{% + bbid command is missing}} +% +\def\bbid{\bgroup% + \def\ebid{\egroup\egroup\egroup} + \def\alert{$^A$} + \def\think{$\ldots$\thinspace} + % etc. + \vtop\bgroup + \halign to\bidwidth\bgroup \tabskip2ex + plus 1ex minus 1ex& ##\hfil\cr + \FIH\hfil& \SEH\hfil& + \THH\hfil&\FOH\hfil\cr + \noalign{\vskip.5ex} +}%end \bbid +%end input bid.tex% +% +%%%%%%%play.tex%%%%%%% +%\input{play.tex} +%Modified 11/11/91 Central table +%\bplay etc +% bplay, showgame, pc, strip +\def\eplay{\errormessage{% + bplay command is missing}} +% +\def\bplay{\bgroup\global\trno=0 +\def\eplay{\egroup\egroup} +\def\bintermezzo{\noalign\bgroup + \smallskip\noindent} +\def\eintermezzo{\smallskip\egroup} +\tabskip1ex plus 1fill +\halign to\hsize\bgroup + \tabskip1ex plus 1ex minus 1ex + \global\advance\trno by 1 % + \hbox to.5\wr{\hss\the\trno\hss}%<=! + \hbox to\wr{\pc\FIP##\hss}\hfil& + \hbox to\wr{\pc\SEP##\hss}\hfil& + \hbox to\wr{\pc\THP##\hss}\hfil& + \hbox to\wr{\pc\FOP##\hss}\hfil + \tabskip4ex plus2ex minus1ex& + \hbox to.5\wr{\hss##\hss} + \tabskip1ex plus 1ex minus 1ex& + \hbox to.5\wr{\hss##\hss} + \tabskip1ex plus 1fill\cr + %End template line, next is headline + \omit\hbox to1\wr{\TRICK\hss}\hfil& + \omit\hfil&\omit\hfil&\omit\hfil& + %Note only 3 \omits + \NS&\EW\cr%Headline +}% end \bplay +% +\def\pc#1#2#3{% Version 3/3/90 +%Function: prints card #2#3 and +% deletes it from player #1 +%#1 the hand N, E, S, W(uppercase) +%#2 colour s, h, d, or c +%#3 card value A K Q ... 2, or x +%(or your (consistent/language) choice) +%%%% 1. Update hand \#1#2; e.g. \Ns %%% +\xdef\hnd{\csname #1#2\endcsname} +\strip{#3}{\hnd}% +%%%% 2. print card in table %%% +\xdef\colour{\csname #2\if#2cl\else + \if#2sp\fi\fi\endcsname} +\colour\thinspace #3% +% %Needed for immediate postfix mark(s) +}% end \pc +% +\def\strip#1#2{% Version 3/3/90 +%Function: deletes card value #1 +% from #2, i.e., \Ns, or ... + \def\wis##1#1##2\wis{% + %Function: #1 is deleted from argument + % in \wis ... \wis and result + % is assigned to \hnd + % (last card is replaced by --) + \global\hnd={##1##2} + \xdef\pa{##1} \xdef\pb{##2} + \ifx\pa\empty {\ifx\pb\empty + \global\hnd={--}% void colour + \fi}\fi + }% end \wis + \expandafter\wis\the #2\wis +}% end \strip +% +\def\showgame{ +%Purpose: Shows all cards still active +% in the play, via \Ns, ..., \Wc, +% (note use of upper case for players) +%Used: \crdima, \hand, \LFTINF, \RGTINF +% \Ns, ..., \Wc +$$\crdima{\LFTINF}{\RGTINF}% + {\hand{\the\Ns}{\the\Nh}{\the\Nd}% + {\the\Nc}}% + {\hand{\the\Es}{\the\Eh}{\the\Ed}% + {\the\Ec}}% + {\hand{\the\Ss}{\the\Sh}{\the\Sd}% + {\the\Sc}}% + {\hand{\the\Ws}{\the\Wh}{\the\Wd}% + {\the\Wc}}% +$$}% end \showgame +%end input play.tex %In total: 215 lines +\endinput +%Examples: diagram, bidding, course of play. +% +%\hsize=.5\hsize +%1. Diagram +%$$\crdima{N/None}{\vtop{\hbox{Deal:} +% \hbox{demo}}}% +% {\hand{J74}{AJ}{QJT2}{Q874}}%N +% {\hand{K86}{T9542}{874}{T3}}%E +% {\hand{QT952}{Q83}{AK5}{A6}}%S +% {\hand{A3}{K76}{963}{KJ952}}%W +%$$ +%2. Bidding +%$$\bbid +%1\cl\alert& ? no& 1\sp&\think no\cr +% 2\sp& no& 4\sp& a.p.\cr +%\noalign{\vskip.5ex} +%\alert\ means Alert, +% conventional bid\hidewidth\cr +%? means explanation +% asked\hidewidth\cr +%\think means think +%% pause\hidewidth\cr +%\ebid $$ +%3. Course of play +%\def\LFTINF{Puzzle} +%\def\RGTINF{\vtop{\hbox{6NT,} +% \hbox{by East}}} +% +%\Ns={KQ76}\Es={T9}\Ss={8542}\Ws={AJ3} +%\Nh={J98} \Eh={A2}\Sh={QT74}\Wh={K653} +%\Nd={J942}\Ed={T5}\Sd={Q876}\Wd={AK3} +%\Nc={65}\Ec={KJ9xxxx}\Sc={2}\Wc={AQT} +% +%\showgame +% +%*Problem* How must NS defend in +%order to guarantee 1 trick? +% +%*Solution* Start with a \h\ +%lead in order to break communication. +%N must discard \h s +%and S must discard \sp s. +%\smallskip\noindent +%\LEADS +%\bplay +%%\noalign{\LEADS} +%h4! & hK & h8 & h2 & -- & 1\LEADW\cr +%%\noalign{\LEADW} +%cA & c5 & cx & c2 & -- & 2\cr +%cQ & c6 & cx & s2 & -- & 3\cr +%cT & h9 & cK & s4 & -- & 4\LEADE\cr +%%\noalign{\LEADE} +%cJ & s5 & s3 & s6 & -- & 5\cr +%c9 & s8 & h5 & s7 & -- & 6\cr +%cx & d6 & sJ & d2 & -- & 7\cr +%\bintermezzo +%On lead of the next \cl\ +%neither South nor North can be +%squeezed as can be seen from% +%\def\RGTINF{\vtop{\hbox{NS squeezed on} +% \hbox{\c\ continuation?}}} +%\showgame +%with continuation +%\eintermezzo +%cx & h7 & h6 & hJ & -- & 8\cr +%dT & d7 & dA & d4 & -- & 9\LEADW\cr +%%\noalign{\LEADW} +%dK & d9 & d5 & d8 & -- & 10\cr +%h3 & dJ & hA & hT & -- & 11\LEADE\cr +%\noalign{\LEADE} +%sT & hQ & sA & sQ & -- & 12\LEADW\cr +%\noalign{\LEADW} +%d3 & sK & s9 & dQ & 1 & 12\cr +%\eplay +%\bye %;nonum +% +%Contents +% +%Declarations. +% Newtoks, \NT alias.............10 +% \hnd, \Ns, \Es, \Ss, \Ws....12 +% \Nh, \Eh, \Sh, \Wh....13 +% \Nd, \Ed, \Sd, \Wd....14 +% \Nc, \Ec, \Sc, \Wc....17 +% \bridgeenglish..............19-30 +% \dutch......................51-58 +% \french.....................60-67 +% \N, \E, \S, \W..............21 +% \NS, \EW....................23 +% \TRICK......................24 +% \FIH, \SEH, \THH, \FOH...27-28 +% \sp, \h, \cl, \d..............3-6 +% \LEADN \LEADE \LEADS \LEADW 32-38 +% Newcount +% \trno.......................42 +% Newdimen +% \wr.........................46 +% \bidwidth{4\wr}.............47 +% Newbox +% \NESW...................49, 111 +% +% \hand........................72-78 +% \crdima......................80-92 +% \bbid, \ebid......116-127, 113-114 +% \alert.......................118 +% \think.......................119 +%%%%%%%play.tex%%%%%%% +% \bplay, \eplay....138-162, 135-136 +% \bintermezzo, \eintermezzo 140-142 +% \pc........................164-179 +% \hnd.........................172 +% \colour......................175 +% \strip.....................181-196 +% \showgame..................198-213 +% Examples +% diagram..................219-226 +% bidding..................227-238 +% course of play...........239-289 +% +%History of changes +%July 1994 \c and \s changed into +% \cl and \sp, +% \colour adapted +%March 1994 Prepared for NTG's CD-ROM +% Examples of use added +% NESW figure adapted +%Jan 1994 Submitted to CTAN. +%end%%%%%%%%%%%%%%%%%%%%%%%bridge%!cgl;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%crs% +\tool\crosswordstool +\message{ ---crosswordstool, + Jan 95, cgl--- } +%From Typesetting crosswords via TeX +%EuroTeX 92, MAPS 92.1 +%NOTE In order to use natural input, +%spaces except for the last one, and not +%let this choice for ;] (space=\relax) +%work through globally, start with +%\bgroup\obeyspaces\let =\relax +%\bdata +%<natural data> +%\edata +%$$\crw$$%(or \sol) +%\egroup +%;numvrb +\puzzletrue +\csize3ex +% %;numvrb %;vrblin99 +\def\bdata{\bgroup\obeylines\obeyspaces% +\store} +\def\store#1\edata{\egroup\def\data{#1}} +%{\obeyspaces\global\let =\relax} +\def\usersize{} +% ;vrblin=199 +{\catcode`\^=7 \catcode`\^^M=13 %local scope +\gdef\crw{\cnt0\relax\boxit{\usersize% +\hrule\ea\fifol\data\lofif^^M}}% +\gdef\sol{\boxit{\def\num{}\puzzlefalse% +\usersize\hrule\ea\fifol\data\lofif^^M}}% +\gdef\fifol#1^^M{\ifx\lofif#1\lofif\fi% +\processl{#1}\fifol}}%end local scope% +% %;vrblin=299 +\def\lofif#1\fifol{\fi} +\def\processl#1{\hbox{\fifo#1\ofif}\hrule} +\def\fifo#1{\ifx\ofif#1\ofif\fi% +\process#1\fifo} \def\ofif#1\fifo{\fi} +% +\def\process#1{\if*#1\cc\else% +\ifx\relax#1\cc\else% +\ifnum`#1=\uccode`#1\capchar#1\else% +\lowchar#1\fi\fi\fi} +\def\lowchar#1{\hbox to\csize{\vrule +height.8\csize depth.2\csize\relax% +\ifpuzzle\null\else\hss\uppercase{#1}% +\fi\hss\vrule}} +\def\capchar#1{\hbox to\csize{\vrule +height.8\csize depth.2\csize\relax% +\num\ifpuzzle\null\else\hss#1\fi% +\hss\vrule}} +\def\cc{\vrule height.8\csize depth% +.2\csize width\csize} +% +\def\num{\global\advance\cnt1\relax% +\vbox to.8\csize{\rlap{\kern1pt% +\fiverm\the\cnt\hss}\vfil}}% +% %;vrblin=399 +\def\boxit#1{\vbox{\hrule\hbox{\vrule% +\vbox{#1}\vrule}\hrule}}% cgl, oct92 +\endinput %;nonum +%Contents +%\newif +% \ifpuzzle (blue.tex) +%\newcount +% \cnt (blue.tex) +%\newdimen +% \csize (blue.tex) +%Data +% \bdata........................100 +% \store........................102 +% \edata........................102 +% \usersize.....................104 +%Crw +% \crw..........................201 +% \sol..........................203 +%Auxiliaries +% \fifol........................205 +% \process, \processl......305, 301 +% \lofif........................300 +% \lowchar......................309 +% \capchar......................313 +% \cc...........................317 +% \num..........................320 +% \boxit........................400 +%History of changes +%July 1994 In tools.dat to cooperate +% with blue.tex +% \global\let =\relax removed. +%Jan 1994 Submitted CTAN +%1992 Submitted to EuroTeX and MAPS +%end%%%%%%%%%%%%%%%%%%%%%%%%%crs%!cgl;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%hanoi% +\tool\hanoitool +\message{ ---hanoitool, Jan 95, cgl---} +%Tower of Hanoi macros +%hanoi.tex version 19 dec 91 %;numvrb +%\hanoi changed into \sethanoi June 95 +%\n=number of disks \brd=breadth towers +%\hgt=height tower \dskhgt=height disk +\csname newcount\endcsname\n +\csname newcount\endcsname\brd +\csname newcount\endcsname\hgt +\csname newcount\endcsname\dskhgt +\def\preloop{%To create loopcnt, a + %local loopcounter + %(see also loopy.TeX). + \bgroup \advance\count10 by 1 + \countdef\loopcnt=\count10 + %Symbolic name + \loopcnt=1 %(default) + }%end \preloop +\def\postloop{\loopcnt=0 %Restore + \egroup}%end \postloop +% +%Hanoi macros, top level +\def\sethanoi#1{%Argument can be digit(s) + %or a counter (numeric) + \n=#1 %Assign argument value to \n + \def\II{}\def\III{}%Empty towers + %Next is inspired by the TeXbook, + %p374, 378 + %The initial tower for \I is created + %The initial tower for \I is created + % \def\I{\disksep\i\disksep\ii + % \disksep\iii...\disksep\`n'} + %next to the defs for \i,\ii,...\`n'. + \preloop\ag\def\ag\I\ag{% + \loop + \ea\xdef\csname\romannumeral\loopcnt + \endcsname{\the\loopcnt} + \ag\disksep%separator + \ea\ag\csname + \romannumeral\loopcnt\endcsname + \ifnum\loopcnt<\n + \advance\loopcnt by 1 + \repeat \ag} + \postloop + %For printing, values are needed for + \brd=\n %Breadth of largest disk + \advance\brd by 3 %Little room extra + \dskhgt=1 %Height of disks + \hgt=\n\multiply\hgt by2 %\hgt is height + \advance\hgt by1 %of towers + \showtowers %Print initial state + \Hanoi\I\II\III\n + }%end \sethanoi +% +\def\Hanoi#1#2#3#4{%Moves from #1 to #2, + %with aid of tower #3. + %The number of disks is #4, in a counter. + \ifnum#4=1 %For Tower of 1 disk, + %just move the disk + \movedisk\from#1\to#2% + \showtowers%Print towers after move + \else%Problem of #4 disks is solved by + %- problem of (#4-1) disks, + %- a move, and + %- a problem of (#4-1) disks. + {\advance#4 by-1 \Hanoi#1#3#2#4}% + \movedisk\from#1\to#2% + \showtowers%Print towers after move + {\advance#4 by-1 \Hanoi#3#2#1#4}% + \fi}%end \Hanoi +% +%Moving of the disks, TeXbook, App. D.2 +%Slightly adapted versions of \lop ( +%called \movedisk with function that +%first element of #1 is prefixed to #2) +%and \lopoff modification +\def\movedisk\from#1\to#2{%Move disk from + %tower #1 to tower #2 + \ea\lopoffx#1\lopoffx#1#2} +\def\lopoffx\disksep#1#2\lopoffx#3#4{\ea + \gdef\ea#4\ea{\ea\disksep\ea#1#4} + \gdef#3{#2}%restore stub}%end\lopoffx + }%end \movedisk +% +%Printing tower status +\def\showtowers{%Display pyramids + \endgraf\quad\hbox{\pt\I\ \pt\II\ \pt\III + }\endgraf + }%end \showtowers +% +%Auxiliaries +\def\gobble#1{}%To eat character +% +\def\disksep#1{\hbox to\brd ex{\hss + \vrule width#1ex height\dskhgt ex + \hss}% + }%end \disksep +% +\def\pt#1{%Print Tower. + %#1 is \I, \II, or \III + \vbox to\hgt ex{\baselineskip=.2ex\vss + #1% + %Format pointer underneath + \hbox to\brd ex{\hss + \ea\gobble\string#1\hss}% + }%end vbox + }%end \pt +\endinput %;nonum +%Contents +%\Hanoi .........................51--66 +%\hanoi .........................19--49 +%\movedisk ......................73--79 +%\showtowers ....................82--85 +%Auxiliaries +% \preloop .....................8--15 +% \postloop ...................16--17 +% \lopoffx ....................76--78 +% \gobble .........................88 +% \disksep.....................90--93 +% \pt ........................95--103 +%History of changes +%Jan 95 \\ changed into \disksep +%March 1994 Contents added +% From tugboat.sty into tug.ppt +% 1991 MAPS and TUGboat versions +%end**%%%%%%%%%%%%%%%%%%%%%%%sort%!cgl;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sort% +\tool\indextool +\message{ ---indextool, Jan 95, cgl--- } +%Shorthands ;numvrb +%Counters in blue.tex +%\newcount\n +%\newcount\k +%\newcount\kk\n=0 +%\newcount\kzero\kzero0 %Bias value +%\newcount\pk +%\newcount\pkone%Used in sortcs +%\newcount\frst%First value of range +%\newcount\last %Last value of range +%\newcount\slast%Successor \last +%\newcount\dif %Difference \last-\frst +%\newcount\nw %Number of words +%\newcount\nc %Number of chars/comp +%\newcount\numex %Number of exchanges +%\newcount\rndval%Random number +%\newcount\rndnum%Seed random generator +%\newcount\rndtmp%Temporary value +%\newcount\status%Status comparison +%;vrblin=100 +%Storing: from copy +\def\seq#1\qes{\k0 \fifow#1 \wofif{} } +%Auxiliaries: FIFO +\def\fifow#1 {\ifx\wofif#1\n\k\wofif\fi + \processw{#1}\fifow} +\def\wofif#1\fifow{\fi} +\def\processw#1{\advance\k1 \ea + \gdef\csname\the\k\endcsname{#1}} +% +%Storing: from file +\def\storefrom#1{%#1 is file name + \immediate\openin\inx=#1 \k\kzero + \continuetrue + \loop\ifeof\inx\continuefalse\fi + \ifcontinue\advance\k1{}% + \read\inx t\ea o\csname\the\k\endcsname + \repeat\advance\k-1\n\k + \immediate\closein\inx} +% +%Storing: random numbers +\def\storerandomn#1{%#1 number of numbers + \n#1\k0 + \loop\ifnum\k<\n\advance\k1 \rnd\ea + \xdef\csname\the\k\endcsname{\the\rndval} + \repeat} +% +%With, due to Reid, 1987 +%Moved into kernel blue.tex +%\def\rnd{\global\multiply\rndnum371{}% +% \global\advance\rndnum1{}% +% \ifnum\rndnum>99999\relax +% \rndtmp\rndnum \divide\rndtmp100000 +% \multiply\rndtmp100000 +% \global\advance\rndnum-\rndtmp +% \fi\global\rndval\rndnum +% \global\divide\rndval1000 } +% +%Storing: random words +\def\storerandomw#1{%#1 number of words + \n#1\nw\n\def\defarr{\ea\gdef + \csname\the\nw\endcsname} + {\loop\ifnum0<\nw{\ag\defarr\ag{% + \randomword}}\advance\nw-1 + \repeat}}%end s-r-w. +% +\def\randomword{\rnd \nc\rndval + \divide\nc15 \advance\nc2 + \loop\ifnum0<\nc\randomchar + \advance\nc-1 + \repeat}%end r-word +% +%Random character is modified +\def\randomchar{\rnd + \multiply\rndval29 \divide\rndval100 + \ifnum26=\rndval\rndval0 \fi + \ifnum26<\rndval\rndval4 \fi +%Mod cgl: I \ag-ed the letter +\ea\ag\ifcase\rndval + a\or b\or c\or d\or e\or f\or g\or h\or + i\or j\or k\or l\or m\or n\or o\or p\or + q\or r\or s\or t\or u\or v\or w\or x\or + y\or z\fi}%end r-char +%;vrblin=200Typeset +%Parameters: Separators +\def\sepn{, }%Number separator +\def\sepw{ } %Word separator +%\csname newtoks\endcsname\indword +\let\sep\sepw +% +\def\prc#1{\init{#1}\def\prc##1{% + \ifnum\last=##1{}\else\ifnum\slast=##1{}% + \last\slast\advance\slast1{}\else + \prtfl\sepn\init{##1}\fi\fi}} +% +\def\init#1{\frst=#1\last=#1\slast=#1{}% + \advance\slast1{}} +% +%Print range: \frst-\last (or \last). +\def\prtfl{\the\frst\ifnum\frst<\last + \advance\frst1{}\ifnum\frst=\last\sepn + \else\nobreak--\nobreak\fi\the\last\fi} +% +%Printing sequences +\def\prts{{\k\kzero%print \1...\n + \def\sep{\let\sep=\sepw}% + \loop\ifnum\k<\n\advance\k1 + \sep\csname\the\k\endcsname + \repeat}}%end \prts +% +\let\prtw=\prts +% +\def\prtn{{\k\kzero%Print number sequence + \loop\ifnum\k<\n\advance\k1 + \ea\prc\csname\the\k\endcsname + \repeat\prtfl}}%end \prtn +% +\def\typindentry#1{%#1 a def + \ea\splitintoks#1% + \ifcase\digit\the\indword\or + {\tt\the\indword}\or + {\tt\char92\the\indword}\or + $\langle\hbox{\the\indword}\rangle$\fi{} + {\oldstyle\pagenrs}.} +\def\hyphen{{\rm-}} +\def\comma{{\rm, }} +% +\def\splitintoks#1 !#2 #3.{\indword{#1}% + \chardef\digit=#2{}\def\pagenrs{#3}} +% +\def\prtind{{\k\kzero + \def\sep{\let\sep\sepw}% + \loop\ifnum\k<\n\advance\k1 + \sep\ea\typindentry\csname\the\k\endcsname% + \repeat}} +%;vrblin=300 +%Sorting in O(nlog n) +\def\sortn{\let\cmp\cmpn\sort\prtn} +% +\def\sortaw{\let\cmp\cmpaw\sort\prtw} +% +\def\sortw{\let\cmp\cmpw{\accdef\sort}\prtw} +% +\def\sort{\heapsort} +% +%Paramaters: ij and accent string +\def\accstr{\`\'\"\^\c} +% +\def\accdef{\def\i{i}\def\j{j}% + \def\'##1{##1a}\def\`##1{##1g}% + \def\"##1{##1t}\def\^##1{##1h}% + \def\c##1{##1c}} +% +\def\ij{ij} +% +%Sorting parameters: exchange macro +\def\xch#1#2{%#1, #2 counter variables + \ea\let\ea\auxone\csname\the#1\endcsname + \ea\let\ea\auxtwo\csname\the#2\endcsname + \ea\global\ea\let\csname\the#2\endcsname + \auxone + \ea\global\ea\let\csname\the#1\endcsname + \auxtwo} +% +%Sorting parameters: number comparison +\def\cmpn#1#2{%#1, #2 are def-s +%Result: \status= 0, 1, 2, if +% \val{#1} =, >, < \val{#2} + \ifnum#1=#2\global\status0 \else + \ifnum#1>#2\global\status1 \else + \global\status2 \fi\fi} +% +%Parameters: comparison of words +\def\cmpw#1#2{%#1, #2 are def-s +%Result: \status= 0, 1, 2, if +% \val{#1} =, >, < \val{#2} + \let\nxt\nxtw\cmpc#1#2} +% +\def\cmpaw#1#2{%#1, #2 are defs with as +%replacement text the words. +%Result: \status= 0, 1, 2, if +% \val{#1} =, >, < \val{#2} + \let\nxt\nxtaw\cmpc#1#2} +% +\def\cmpc#1#2{%#1, #2 are def-s +%Result: \status= 0, 1, 2, if +% \val{#1} =, >, < \val{#2} +\ifproof\global\advance\nc1 + \let\aa#1\let\bb#2\fi + \global\status0 \continuetrue + {\loop\ifx\empty#1\continuefalse\fi + \ifx\empty#2\continuefalse\fi + \ifcontinue\nxt#1\nxtt\nxt#2\nxtu + \lge\nxtt\nxtu + \repeat}\ifnum0=\status + \ifx\empty#1\ifx\empty#2\else + \global\status2 \fi + \else\ifx\empty#2\global\status1 \fi + \fi\fi +% \ifproof\immediate\write16{\aa +% \ifnum0=\status=\else +% \ifnum1=\status>\else +% <\fi\fi\bb} +% \fi%end ifproof +} +% +\def\lge#1#2{%#1 and #2 letter values +%Result: \status= 0, 1, 2, if +% #1 =, >, < #2. +%and \continuefalse if #1=/#2. + \ifnum#1=#2{}\else\continuefalse + \ifnum#1<#2\global\status2 \else + \global\status1 \fi + \fi} +% +\def\nxtw#1#2{\def\pop##1##2\pop{% + \gdef#1{##2}\def\head{##1}}%head and tail + \ea\pop#1\pop%split in head and tail + \ea\loc\head\accstr%\head is an accent cs? + \if<\head\ea\pop#1\pop\fi + \iffound\let\acs\head + \ea\pop#1\pop%next head and tail + \ea\let\ea#2\csname ot\acs\head\endcsname + \else\ea\let\ea#2\csname ot\head\endcsname + \fi} +% +\def\loc#1#2{\def\locate##1#1##2\end + {\ifx\empty##2\empty\foundfalse + \else\foundtrue\fi}\ea\locate#2.#1\end} +% +%Parameters: for ASCII words +\def\nxtaw#1#2{%Result: value of first +%letter of string supplied in #1 is delivered +%in #2. (To be used as a number (\chardef)). +%#1, #2 are control sequences. + \def\pop##1##2\pop{\gdef#1{##2}% + \chardef#2=`##1{}}\ea\pop#1\pop} +% +\def\cmpir#1#2{%#1, #2 defs +%Result: \status= 0, 1, 2 if +% \val{#1} =, >, < \val{#2} +%\immediate\write16{Compared are: #1 and #2}% +\ea\ea\ea\decom\ea#1#2} +% +\def\decom#1 !#2 #3.#4 !#5 #6.{% + \def\one{#1}\def\four{#4}\cmpw\one\four + \ifnum0=\status%Compare secondary keys + \ifnum#2<#5{}\global\status2{}\else + \ifnum#2>#5{}\global\status1{}\else + %Compare tertiary keys + \ifnum#3<#6{}\global\status2{}\else + \ifnum#3>#6{}\global\status1{}\fi + \fi + \fi + \fi + \fi} +% +\def\red{%Reduction of \1,...,\n + \k0\kk0\let\refer\empty + \loop\ifnum\k<\n\advance\k1 + \ea\let\ea\record\csname\the\k\endcsname + \ea\splitwn\record% + \ifx\refer\word%extend with number + \ea\xdef\csname\the\kk\endcsname{% + \csname\the\kk\endcsname, \num}% + \else%write record to \kk + \advance\kk1\let\refer\word\ea\global + \ea\let\csname\the\kk\endcsname\record + \fi + \repeat\n=\kk} +% +\def\redrng{%Reduction of \1,...,\n, with +%range representation of page numbers + {\k1\kk0 \ifnum\n>0 + \ea\let\ea\record\csname\the\k\endcsname + \ea\splitwn\record\let\refer\word + \let\nrsrng\empty\prcrng\num\fi + \loop\ifnum\k<\n\advance\k1 + \ea\let\ea\record\csname\the\k\endcsname + \ea\splitwn\record% + \ifx\refer\word%extend \nrsrng with number + \prcrng\num + \else%write record to \kk + \advance\kk1 \strnrs + \ea\xdef\csname\the\kk\endcsname{\refer{} + \nrsrng.}\let\nrsrng\empty\init\num + \prcrng\num\let\refer\word + \fi + \repeat\ifnum1<\n + \advance\kk1 \strnrs + \ea\xdef\csname\the\kk\endcsname{\word{} + \nrsrng.} + \global\n\kk\fi}} +% +\def\prcrng#1{\init{#1}\def\prcrng##1{% + \ifnum##1=\last\else\ifnum##1=\slast + \last\slast\advance\slast1 \else + \strnrs\init{##1}\fi\fi}} +% +\let\sepn\comma +\def\strnrs{\dif\last\advance\dif-\frst +\edef\nrsrng{\ifx\nrsrng\empty\else + \nrsrng\nx\nx\nx\sepn\fi\the\frst\ifnum0<\dif + \ifnum1=\dif\nx\nx\nx\sepn\the\last + \else\nx\nx\nx\hyphen\the\last + \fi + \fi}} +% +\def\splitwn#1 !#2 #3.{\def\word{#1 !#2}% + \def\num{#3}} +% +\def\getdig#1 !#2 #3.{\def\dig{#2}} +% +\def\sortcs{\global\k0\global\pk\n +\global\pkone\pk\global\advance\pkone1 +%Invariant: 1:k non-cs +% pk+1:n control seq-s +\loop\global\advance\k1 +\ifnum\k<\pkone + \ea\ea\ea\getdig\csname\the\k\endcsname.% + \if2\dig{\continuetrue + \loop + \ifnum\k=\pk\continuefalse + \else\ea\ea\ea\getdig\csname\the\pk + \endcsname.% + \if2\dig + \else\xch\k\pk\continuefalse + \fi + \fi\global\pkone\pk\global\advance\pk-1 + \ifcontinue + \repeat}% + \fi +\repeat}%Result\1:\pk non-cs, \pkone:\n cs +%;vrblin=500 +%Parameters: Ordering table +%suffix g stands for grave, ` +% a stands for aigue, ' +% h stands for hat, ^ +% t stands for trema, " +% c stands for cedille. +\ea\chardef\csname ot=\endcsname=12 +\ea\chardef\csname ot/\endcsname=11 +\ea\chardef\csname ot-\endcsname=13 +\ea\chardef\csname ot,\endcsname=14 +\ea\chardef\csname ot.\endcsname=15 +\ea\chardef\csname ot"\endcsname=9 +\ea\chardef\csname ot&\endcsname=5 +\ea\chardef\csname ot'\endcsname=7 +\ea\chardef\csname ot`\endcsname=8 +\ea\chardef\csname ot*\endcsname=10 +\ea\chardef\csname ot<\endcsname=28 +\ea\chardef\csname ot>\endcsname=29 +\ea\chardef\csname ot!\endcsname=30 +\ea\chardef\csname ot?\endcsname=31 +\ea\chardef\csname ot[\endcsname=13 +\ea\chardef\csname ot]\endcsname=14 +\ea\chardef\csname ot0\endcsname=16 +\ea\chardef\csname ot1\endcsname=17 +\ea\chardef\csname ot2\endcsname=18 +\ea\chardef\csname ot3\endcsname=19 +\ea\chardef\csname ot4\endcsname=20 +\ea\chardef\csname ot5\endcsname=21 +\ea\chardef\csname ot6\endcsname=22 +\ea\chardef\csname ot7\endcsname=23 +\ea\chardef\csname ot8\endcsname=24 +\ea\chardef\csname ot9\endcsname=25 +\chardef\ota=35 \chardef\otA=35 + \chardef\otaa=35 \chardef\otag=35 + \chardef\otat=35\chardef\otah=35 +\chardef\otb=40 \chardef\otB=40 +\chardef\otc=46 \chardef\otC=46 + \chardef\otcc=46 +\chardef\otd=53 \chardef\otD=53 +\chardef\ote=60 \chardef\otE=60 + \chardef\otea=60 \chardef\oteg=60 + \chardef\otet=60 \chardef\oteh=60 +\chardef\otf=67 \chardef\otF=67 +\chardef\otg=74 \chardef\otG=74 +\chardef\oth=81 \chardef\otH=81 +\chardef\oti=88 \chardef\otI=88 + \chardef\otit=88 \chardef\otih=88 +\chardef\otj=95 \chardef\otJ=95 + \chardef\otjt=95 +\chardef\otk=102 \chardef\otK=102 +\chardef\otl=109 \chardef\otL=109 +\chardef\otm=116 \chardef\otM=116 +\chardef\otn=123 \chardef\otN=123 +\chardef\oto=130 \chardef\otO=130 + \chardef\otoa=130 \chardef\otog=130 + \chardef\otot=130 \chardef\otoh=130 +\chardef\otp=137 \chardef\otP=137 +\chardef\otq=143 \chardef\otQ=143 +\chardef\otr=150 \chardef\otR=150 +\chardef\ots=157 \chardef\otS=157 +\chardef\ott=164 \chardef\otT=164 +\chardef\otu=171 \chardef\otU=171 + \chardef\otut=171 \chardef\otuh=171 +\chardef\otv=178 \chardef\otV=178 +\chardef\otw=185 \chardef\otW=185 +\chardef\otx=192 \chardef\otX=192 +\chardef\otij=199 \chardef\otIJ=199 +\chardef\oty=200 \chardef\otY=200 +\chardef\otz=206 \chardef\otZ=206 +%\endinput%;nonum %cgl@rc.service.rug.nl +%Contents sort.tex +%Counters (blue.tex).............5--19 +%newifs ..(blue.tex)............20--23 +%Storing +%from copy ...................101--108 +% \seq...\qes ...................102 +%from file ...................110--117 +% \storefrom ...............112--117 +%random generated items +% \storerandomn ............124--125 +% \rnd .....................128--134 +% \storerandomw ............138--143 +% \randomword ..............145--149 +% \randomchar ..............152--161 +%Typeset +% parameters ................202-205 +% \prc .....................207--210 +% \init ....................212--213 +% \prtfl ...................216--218 +% \prts ....................221--225 +% \prtw .........................227 +% \prtn ....................229--232 +% \typeindentry.............234--240 +% \splitintoks..............244--245 +% \prtind ..................247--251 +%Sorting +% \sortn ........................302 +% \sortaw .......................304 +% \sortw ........................306 +% \sort .........................308 +% \accstr .......................311 +% \accdef ..................313--316 +% \ij ...........................318 +% \xch .....................321--327 +% \cmpn ....................330--335 +% \cmpw ....................338--341 +% \cmpaw ...................343--347 +% \cmpc ....................349--369 +% \lge .....................371--378 +% \nxtw ....................380--388 +% \loc .....................391--393 +% \nxtaw ...................396--401 +% \cmpir ...................403--407 +% \decom ...................409--420 +% \red .....................421--434 +% \redrng ..................436--457 +% \prcrng ..................459--462 +% \strnrs ..................465--471 +% \splitwn .................473--474 +% \getdig .......................476 +% \sortcs ..................478--497 +%Ordering table ..............501--569 +%History of changes +%Oct 1994 OT modified with respect to +% Index sorting. +% Sorting macros adapted and +% extended. +%March 1994 Contents added to file sort.tex. +%Jan 1994 Macros released for CTAN. +%Spring 1993 Abridged version Sorting in BLUe +% for TUG'93 (Aston) TB 14.3, 1993. +%Fall 1992 Release for MAPS 93.1. +%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sort%;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%heap% +%heapsort.tex Jan, 93 +%\newcount\n\newcount\lc\newcount\r +%\newcount\ic\newcount\uone +%\newcount\jc\newcount\jj\newcount\jjone +%\newif\ifgoon +%Non-descending sorting +\def\heapsort{%data in \1 to \n +\r=\n\heap\ic=1{}% +{\loop\ifnum\r>1{}\xch\ic\r + \advance\r-1{}\sift\ic\r +\repeat}} +% +\def\heap{%Transform \1..\n into heap + \lc=\n\divide\lc2{}\advance\lc1{}% + {\loop\ifnum\lc>1{}\advance\lc-1{}% + \sift\lc\n\repeat}} +% +\def\sift#1#2{%#1, #2 counter variables + \jj=#1\uone=#2\advance\uone1{}\goontrue + {\loop\jc=\jj \advance\jj by\jj + \ifnum\jj<\uone + \jjone=\jj \advance\jjone1{}% + \ifnum\jj<#2{}\cmpval\jj\jjone + \ifnum2=\status\jj=\jjone\fi\fi + \cmpval\jc\jj\ifnum2>\status\goonfalse\fi + \else\goonfalse\fi +\ifgoon\xch\jc\jj\repeat}} +% +\def\cmpval#1#2{%#1, #2 counter variables +%Result: \status= 0, 1, 2 if +% \val{#1} =, >, < \val{#2} + \ea\let\ea\aone\csname\the#1\endcsname + \ea\let\ea\atwo\csname\the#2\endcsname + \cmp\aone\atwo} +%\endinput %cgl@rc.service.rug.nl +%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%heap%;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%quick% +%quick.tex Jan 93 +%\newcount\low\newcount\up\newcount\m +\def\quicksort{%Values given in +%\low,...,\up are sorted, non-descending. +%Parameters: \cmp, comparison. + \ifnum\low<\up\else\brk\fi +%\refval, a reference value selected at random. + \m=\up\advance\m-\low%Size-1 of array part + \ifnum10<\m\rnd\multiply\m\rndval + \divide\m99{}\advance\m\low \xch\low\m + \fi + \ea\let\ea\refval\csname\the\low\endcsname + \m=\low\k=\low\let\refvalcop=\refval + {\loop\ifnum\k<\up\advance\k1{}% + \ea\let\ea\oneqs\csname\the\k\endcsname + \cmp\refval\oneqs\ifnum1=\status + \global\advance\m1{}\xch\m\k\fi + \let\refval=\refvalcop + \repeat}\xch\low\m + {\up=\m\advance\up-1{}\quicksort}% + {\low=\m\advance\low1{}\quicksort}\krb} +% +\def\brk#1\krb{\fi}\def\krb{\relax} +%\endinput %cgl@rc.service.rug.nl +%end%%%%%%%%%%%%%%%%%%%%%%%%quick%;nonum!cgl;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%index% +%From BLUe's Index Oct 94%;numvrb +\catcode`\@=11 +%Some unused macros are left in. +%\newread\inxin +%\newtoks\indword +%\newtoks\indexfile + %To parameterize the resulting index +%\newtoks\irfile + %To parameterize the IRs +%\newtoks\indexname +%\newtoks\preindex +%\newtoks\postindex +%\newtoks\ignores +%\newtoks\conseqs +%\newtoks\consyms +%\newtoks\srtkeys +%\newtoks\srtkeypairs +%Initializations +\proofmodetrue +\irfile{index} +\indexfile{index.elm} +\preindex{\head{\the\indexname}} +\postindex{} +\immediate\openout\inx=index +\conseqs{\c\space\bf\it\rm\tt\sub\relax} +\consyms{\`\'\"\^\~} +\srtkeypairs{\AmSTeX{amstex} + \LAMSTeX{lamstex} + \LaTeX{latex} + \PS{PostScript} + \TeX{tex}} +\srtkeys{\AmSTeX\LAMSTeX\LaTeX\PS\TeX} +\let\sub\relax +%Macros +% +%User level +%;vrblin=100 +\def\sortindex{%Nov 1994, cgl +%Purpose: +%To sort IR file. +%Input: default index is sorted +% ( file specified in \irfile) +%Output: file index.elm. + \newpage\immediate\closeout\inx + \filetoarray{\the\irfile} + \immediate\write16{Sorting n=\the\n. + Please wait, O(nlog n) process.} + \let\cmp\cmpir\let\nxtw\nxtwindex + \otindex\let\ \space + {%Make sortkey defs + \ea\sokdef\the\srtkeypairs\fedkos\relax + \sort + \let\spaceseparator\space + \setupnxtokens\def\ {\nx\ }% + \immediate\write16{Range reduction.} + \redrngtofile{index.srt} + \immediate\write16{After reduction and + writing to file index.srt; n=\the\n.} + \immediate\write16{Transform + index.srt-->index.elm.} + \tawfiletofile{index.srt}{\the + \indexfile}}} +% +%Set up set of \srtkeys +\def\setupsrtkeys{\ea + \sok\the\srtkeypairs\kos\relax} +%;vrblin=150 +\def\pasteupindex{%May 1995, cgl +%Purpose: +%To set index in (balanced) doublecolumn. +%The index is preceded by +%\chapterhead{\the\indexname} +%and by the contents of +%\preindex and followed by contents of +%\postindex. +%Input: default index.elm is set +% (file specified in \indexfile). +%Biased by manmac's \begindoublecolumns +%\chapterhead{\the\indexname}%in preindex + \begingroup\def\space{{\tt\char32 }}% + \the\preindex\endgraf + \pageheight\vsize + \pagewd\hsize + \pagewidth\pagewd%anachronism + \parindent1em + \output={\global\setbox\partialpage= + \vbox{\unvbox255\bigskip}}% + \eject + \output={\bluedoublecolumnout}% +% \hsize=8.5cm \vsize=51cm%blue.tex values +%2*\hsize+(\hfil)=\pagewd + \divide\hsize2 \advance\hsize-1cm + \advance\vsize\vsize \advance\vsize1cm + \parskip0pt plus.8pt\relax + \obeylines\everypar{% + \hangindent2\parindent}% + \ea\let\csname par\endcsname\endgraf + \let\sub\endgraf +% + \input\the\indexfile\relax +% +%endpasteupindex part biased by +%manmac's \enddoublecolumns + \output={\balancecolumns}\eject + \endgroup + \pagegoal=\vsize\the\postindex} +% +%Add an element #1 to toks var #2 +\def\add#1to#2{#2\ea{\the#2#1}} +% +%Inner level +% +%IR creation +% +\let\spaceseparator\space +%;vrblin=200 +%Things are set up within \makexref to +%allow dynamical use. +\def\makexref{\ifproofmode%Mod cgl oct 94 + \setupsrtkeys + \bgroup\def\ {\string\ }% + \def\process##1{\def##1{\string##1 }}% + \ea\ea\ea\fifo\ea\the\ea\conseqs + \the\srtkeys\ofif + \def\process##1{\def##1{\string##1}}% + \ea\fifo\the\consyms\ofif + \xdef\writeit{\write\inx{\text{} + !\xreftype\spaceseparator + \nx\number\pageno.}}\writeit + \egroup + \else\ifhmode\kern0pt\fi\fi + \ifsilent\ignorespaces\else{\next}\fi} +% +%Sorting +%;vrblin=250 +\def\cmpir#1#2{%#1, #2 defs +%Result: \status= 0, 1, 2 if +% \val{#1} =, >, < \val{#2} +%\immediate\write16{Compared are: *#1* +% and *#2*}% +\ea\ea\ea\decom\ea#1#2} +% +\def\nxtwindex#1#2{% +%Function: +%On input: #1 contains the `word' +%As result: #2 contains the value +% of the first non-ignored token as given +% in the ordering table. +%#1 contains the rest of the `word' + \def\pop##1##2\pop{% + \gdef#1{##2}\def\pophead{##1}}%head and tail + \ea\pop#1\pop%split in head and tail + \ignores\ea\ea\ea{\ea + \the\ea\conseqs\the\consyms}% + \ea\loc\pophead{\the\ignores}% + \iffound\ifx\empty#1 \chardef#2=0 + \else\nxtwindex#1#2 \fi + \else + \ea\loc\pophead{\the\srtkeys}% + \iffound\xdef\pophead{\pophead}% + \ea\ea\ea\gdef\ea\ea\ea#1\ea\ea\ea + {\ea\pophead#1}% + \nxtwindex#1#2 + \else + \ea\let\ea#2\csname ot\pophead\endcsname + \fi + \fi} +% +\def\otindex{%Parameters: Ordering `table' +%Special cases +\ea\chardef\csname ot \endcsname=0 +\ea\chardef\csname ot\space\endcsname=0 +%{|}~(\char126) in ASCII after lowercase +%^ active character +%Bulk according to ACII +\def\process##1{\ea\chardef + \csname ot##1\endcsname=`##1 } +%lowercase letters +\fifo abcdefghijklmnopqrstuvwxyz\ofif +\chardef\otij=`y \chardef\otIJ=`y +%other characters +\fifo !"##$&'()*+,-./0123456789:;<=>?@ + []_`\ofif +%uppercase letters equal lowercase +\def\process##1{\ea\chardef + \csname ot##1\endcsname=\lccode`##1 } +\uppercase{\fifo + abcdefghijklmnopqrstuvwxyz\ofif} +} +% +%Range reduction +%;vrblin=400 +\def\redrngtofile#1{%Reduction of \1,...,\n, +%with range representation of page numbers +\immediate\openout\inx=#1 + {\k1\kk0 \ifnum\n>0 + \ea\ea\ea\splitwn\csname\the\k\endcsname + \let\refer\word + \let\nrsrng\empty\prcrng\num\fi + \loop\ifnum\k<\n\advance\k1 + \ea\ea\ea\splitwn\csname\the\k\endcsname + \ifx\refer\word%extend \nrsrng with number + \prcrng\num + \else%write record to \kk + \advance\kk1 \strnrs + \immediate\write\inx{\refer\spaceseparator + \nrsrng.}% + \let\nrsrng\empty\init\num + \prcrng\num\let\refer\word + \fi + \repeat\ifnum1<\n + \advance\kk1 \strnrs + \immediate\write\inx{\refer\spaceseparator + \nrsrng.}% + \global\n\kk\fi + }\immediate\closeout\inx} +% +%Copying +%;vrblin=500 +\def\filetoarray#1{%#1 is file name + \immediate\openin\inxin=#1\relax + \ifeof\inxin\immediate\write16{File #1 empty + or non-existent.}% + \fi \n\kzero\continuetrue + \loop\ifeof\inxin\continuefalse\fi + \ifcontinue\advance\n1 \immediate + \read\inxin t\ea o\csname\the\n\endcsname +%\immediate\write16{k: \number\n: +% \csname\the\n\endcsname}% + \repeat\advance\n-1 + \immediate\closein\inxin} +% +\def\tawfiletofile#1#2{\continuetrue + \immediate\openin\inxin=#1\relax + \immediate\openout\inx=#2\relax + \loop\read\inxin to\IR + \ifeof\inxin\continuefalse\fi + \ifcontinue\trfandwrite\IR + \repeat + \immediate\closein\inxin + \immediate\closeout\inx +} +% +\def\setupnxtokens{% + \def\process##1{\def##1{\nx##1}}% + \ea\ea\ea\fifo\ea\the\ea\conseqs + \the\srtkeys\ofif + \def\process##1{\def##1{\string##1}}% + \ea\fifo\the\consyms\ofif +} +% +\def\trfandwrite#1{\ea\splitintoks#1% + \immediate\write\inx{\nx\noindent + \ifcase\digit{\the\indword}\or + {\nx\tt\the\indword}\or + \nx\cs{\the\indword}\or + $\nx\langle\hbox{\the\indword}\nx\rangle + $\fi\spaceseparator{\nx + \oldstyle\pagenrs}}}%Period deleted +% +\def\splitintoks#1 !#2 #3.{\indword{#1}% + \chardef\digit=#2\relax\def\pagenrs{#3}} +% +%Typesetting;vrblin=600 +\def\bluedoublecolumnout{% +%Biased by manmac's doublecolumnout + \splittopskip=\topskip + \splitmaxdepth=\maxdepth \dimen@\pageheight + \advance\dimen@ by-\ht\partialpage + \setbox0=\vsplit255 to\dimen@ + \setbox2=\vsplit255 to\dimen@ + \blueonepageout\pagesofar + \unvbox255 \penalty\outputpenalty} +% +\def\blueonepageout#1{% +%Biased by manmac's \onepageout + \shipout\vbox{% + \vbox to\baselineskip{\null + \the\headline\vss}% + \kern2ex + \vbox to\pageheight{#1\vss}% + \kern1ex + \the\footline + }\advancepageno} +% +%Auxiliaries;vrblin=700 +%SetOfKeys +\def\sok#1#2{%Function: +%Build from \srtkeykpairs \srtkeys +%via \ea\sok\srtkeypairs\kos\relax +\ifx#1\kos\kos\fi + \srtkeys\ea{\the\srtkeys#1}\sok} +\def\kos#1\sok{\fi} +% +\def\sokdef#1#2{%Function: +%Build from \srtkeypairs srtkey defs +\ifx#1\fedkos\fedkos\fi + \def#1{#2}\sokdef} +\def\fedkos#1\sokdef{\fi} +\endinput%;nonum +%Table of contents: blue.ind +%Variables +% \indexname...........(blue.tex) +% \preindex....................21 +% \postindex...................22 +% \indword.............(blue.tex) +% \indexfile...........(blue.tex) +% \irfile..............(blue.tex) +% \conseqs.....................24 +% \consyms.....................25 +% \srtkeys.....................31 +% \srtkeypairs..............26-30 +% \ignores.............(blue.tex) +%User level macros +% \sortindex..............101-125 +% \pasteupindex...........151-187 +% \add#1to#2..................190 +%Lower level macros +%IR Creation +% \makexref...............203-216 +%Sorting +% \cmpir..................251-256 +% \nxtwindex..............258-282 +% \otindex................284-304 +%Range reduction +% \redrngtofile...........401-424 +%Copying +% \filetoarray............501-512 +% \tawfiletofile..........514-523 +% \trfandwrite............533-540 +% \setupnxtokens..........525-531 +% \splitintoks............542-543 +%OTR doublecolumns +% \bluedoublecolumnout....601-609 +% \blueonepageout.........611-620 +%Auxiliaries +% \sok....................702-707 +% \sokdef.................709-713 +%History of changes +%Nov 1994 Set up. +%end%%%%%%%%%%%%%%%%%%%index%;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%ntglogo% +\tool\ntglogotool %;numvrb +\message{ ---ntglogo, Jan 95, cgl--- } +\font\calx=cmsy10 scaled \magstep4 +\def\ntglogo{\vbox{% + \hbox{{\calx N}ederlandstalige} + \hbox{\hskip1em{\calx T}\kern-.2ex + \raise-.5ex\hbox{E}\kern.1exX} + \hbox{\hskip2em{\calx G}ebruikersgroep}}} +\setbox\ntglogobox\ntglogo +%end%%%%%%%%%%%%%%%%%%%ntglogo%!cgl;nonum +\endinput +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%ntginfo% +\tool\ntginfotool %;numvrb +\message{ ---ntginfo, Jan 95, cgl--- } +\def\dropntglogo{\noindent + \hangindent5\generalindent\hangafter-5 + \smash{\lower3.5\baselineskip + \hbox to0pt{\hskip-.9\hangindent + \copy\ntglogobox\hss}}} +\def\ntginfo{% +\dropntglogo is the Dutch-language-oriented + \TeX{} \UG, founded in + {\oldstyle1988}. The activities + comprise two meetings per year, + with the wealthy MAPS\Dash Minutes + and APpendiceS\Dash + sent out before each meeting.\\ +The activities are biased by sharing experience +in using \AllTeX, \MF, literate programming, +SGML, Adobe's \PS{} and PDF, next to +multi-media, in short, sharing knowledge about +Electronic Publishing, biased by \AllTeX. +The intricacies of the World-Wide-Web in +relation to using \AllTeX{} is also explored. +Less than {\oldstyle5}\% of our energy was +devoted to organizational matters in the past. +Apart from the regular MAPS we enjoy MAPS specials. +Up till {\oldstyle1994} NTG's PR set and David +Salomon's courseware\Dash +Advanced \TeX: Insights and Hindsights\Dash +have appeared in this series. +The {\oldstyle 1994} special has the title +{\oldstyle 100} FAQ: Everything you will ever +have to know about \AllTeX.\ftn{Courtesy Bobby Bodenheimer + and ukTUG, + Reprint Baskerville, {\oldstyle4}, {\oldstyle6}.} +\smallskip +Important activities, listed in historical +order, have been +\bigskip +{\generalindent5\generalindent +\item{\oldstyle1988\quad} NTG's discussion + list and fileserver on the air +\item{\oldstyle1989\quad} NTG days, various + courses have been offered since +\item{\oldstyle1990\quad} SGML-\TeX{} conference, + Babel emerges +\item{\oldstyle1992\quad} Belgian commissioner + for Flemish \AllTeX ies +\item{\oldstyle1993\quad} Goddijn's Bulletin Board +\item{\oldstyle1994\quad} 4All\TeX{} CD-ROM + with turnkey-\TeX{} system +\item{\oldstyle1995\quad} Euro\TeX, + BLUe's system emerges +\smallskip +}\bigskip +Close contacts have been maintained over the +years with the TUG\Dash \TUG\Dash and the +other LUGs\Dash Language-oriented \TUG s. +One can subscribe for a joint membership of +NTG and TUG. +\smallskip +The regular subscription fee for an individual +NTG membership is in the order of +{\it f}~{\oldstyle90} per year. +Students are granted a discount. +An institutional membership is possible. +\smallskip +Enquiries, casu quo a registration form, +can be obtained from + NTG's secretary Postbus {\oldstyle394}, + {\oldstyle1740} AJ Schagen, + ntg@nic.surfnet.nl.} +\endinput +%end%%%%%%%%%%%%%%%%%%%ntginfo%;nonum!cgl;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%smileys% +\tool\smileystool %;numvrb +\message{ ---smileys, July 95, cgl--- }% +%Assumed \mfs etc. available +\def\eyes{{\x250\unitlength\y150\unitlength + \putatxy}%l-eye + {\x750\unitlength\y150\unitlength + \putatxy}%r-eye +}% +\def\lefteyes{{\x200\unitlength\y150\unitlength + \putatxy}%l-eye + {\x700\unitlength\y150\unitlength + \putatxy}%r-eye +}% +\def\squinteyes{{\x300\unitlength\y150\unitlength + \putatxy}%l-eye + {\x700\unitlength\y150\unitlength + \putatxy}%r-eye +}% +\def\winkeye{\initialize + {100}{150}{250}{75}{250}{75}{400}{150}% + {\k0\kmax2\x0pt\y0pt\mfs}%l-winkeye + {\x750\unitlength\y150\unitlength\putatxy}%r-eye +}% +\def\mouth{\initialize + {250}{-250}{500}{-350}{500}{-350}{750}{-250}% + \k0\x0pt\y0pt\mfs} +% +\def\sadmouth{\initialize + {250}{-350}{500}{-250}{500}{-250}{750}{-350}% + \k0\x0pt\y0pt\mfs} +% +\kmax5 %level +\setbox\smileybox=\hbox{\unitlength.01pt + \initialize + 000{650}{1000}{650}{1000}0% + \k0\putatxy\mfs + \initialize + 000{-650}{1000}{-650}{1000}0% + \k0\mfs\y0pt\x\X4\putatxy + \kmax3 + \initialize + {100}{200}{250}{250}{250}{250}{400}{200}% + \k0\x0pt\y0pt\mfs%l-brow + \initialize + {600}{200}{750}{250}{750}{250}{900}{200}% + \k0\x0pt\y0pt\mfs%r-brow + {\x500\unitlength\y150\unitlength\S{250}}%Nose +}% +\endinput +%end%%%%%%%%%%%%%%%%%%%smileys%!cgl;newcol;nonum +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%toc% +\tool\toctool %;numvrb +\message{---(mini-)ToC, + Sept 95, March 96 cgl---} +%March 96 writing to file is replaced by +% maintaining \toksvar tocvar. +\let\bh\bluehead +\long\def\bluehead#1\par{\bh#1\par +\tocvar\ea{\the\tocvar\par#1}} +\let\bsh\bluesubhead +\long\def\bluesubhead#1\par{\bsh#1\par +\tocvar\ea{\the\tocvar\par\quad#1}} +\let\bssh\bluesubsubhead +\long\def\bluesubsubhead#1\par{\bssh#1\par +\tocvar\ea{\the\tocvar\par\qquad#1}} +\let\be\blueexample +\long\def\blueexample#1\par{\be#1\par +\tocvar\ea{\the\tocvar\par\qquad ex: #1}} +\long\def\pasteuptoc{\newcol + \bluehead Contents\par + \the\tocvar + \let\makesignature\relax} +\endinput +%end**%%%%%%%%%%%%%%%%%%%%%%%toc%!cgl;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%english% +\tool\englishtool %;numvrb +\message{ ---English , Jan 95, cgl--- } +\abstractname{Abstract} +\acknowledgementsname{Acknowledgements} +\contentsname{Contents} +\indexname{Index} +\examplename{Example} +\keywordsname{Keywords} +\referencesname{References} +\endinput +%end%%%%%%%%%%%%%%%%%%%%english%;nonum +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%russian% +\tool\russiantool %;numvrb +\message{ ---Russian , %Jan 95, + not yet available, cgl--- } +%\abstractname{Abstract} +%\acknowledgementsname{Acknowledgements} +%\contentsname{Contents} +%\indexname{Index} +%\examplename{Example} +%\keywordsname{Keywords} +%\referencesname{References} +%end%%%%%%%%%%%%%%%%%%%%russian%;nonum +\endinput %!cgl;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%%%xyz% +\tool\xyztool %;numvrb +\def\xyz#1#2#3{\leavevmode% +\message{ ---xyz, jan 95, cgl--- }% + \setbox0\vbox{\hbox{/}\kern0pt}% + \lower2.65\ht0\hbox{\copy0% + \rlap{\qquad#1}}% + \kern-.185\ht0\lower1.8\ht0\copy0% + \kern-.185\ht0\lower0.95\ht0\copy0% + \kern-.11\ht0% + \vrule height9ex depth0pt\relax% + \raise7ex\rlap{\qquad#3}% + \vrule height.1pt depth.1pt width 8ex% + \qquad\lower.6ex\hbox{#2}}% +\endinput %;nonum +%end%%%%%%%%%%%%%%%%%%%%%xyz%!cgl;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%partlogo% +\tool\partlogotool %;numvrb +%from TeX book +\def\partlogo#1{\goodbreak + \bigskip\noindent + \vbox{\line{\hrulefill}% + \kern-.5\baselineskip +\line{\hrulefill{ \phantom{\bf #1}} % + \hrulefill}% + \kern-.5\baselineskip + \line{\hrulefill{ \bf #1} + \hrulefill}% + \kern-.5\baselineskip + \line{\hrulefill}% +}\nobreak\smallskip\noindent} +\endinput %;nonum +%end%%%%%%%%%%%%%%%%%%%%%partlogo%!cgl;newcol +% +% +% +%begin%%%%%%%%%%%%%%%%%%%%%%%pascal% +\tool\pascaltool +\message{ ---pascaltool, Jan, Aug 95, cgl--- } +%C.G. van der Laan, Jan, Oct 95.%;numvrb +%Processing (first set of macros) +%\let\beginpascal\fifol +\def\lofif#1\fifol{\fi + \the\postpascal\endgroup} +\let\endpascal\lofif +\def\lf{x}%toggle for last font to insert \/ +\def\processw#1{% + \ifnum\commentstatus>0 + \if p\lf\leavevmode\/\fi#1\def\lf{c}\else + \ifx\relax#1\relax{ }%space + \else\foundfalse + \loc{ #1 }{\the\reservedset}% + \iffound{\if p\lf\leavevmode\/\fi + \reservedwordsfont#1}\def\lf{r}% + \else\if=#1${}={}$\else + {\pascalprogramfont#1{}}\def\lf{p}\fi\fi + \fi\fi}%end processw;vrblin50 +%for the rest of listing use +%another escape char;endinput +%Typesetting : ;= ; . ^ +\def\becomes{:=} +\catcode`\:=\active +\def:#1{\if=#1${}\becomes{}$\else + {\rm\char`\:}#1\fi} +\catcode`\;=\active + \def;{{\/\rm\char`\;}} +\catcode`\.=\active \def.{{\pascalprogramfont + \char`\.}} +\catcode`\^=\active \def^{\char'\active6} + %\def^{{\enspace$\uparrow$}} +\catcode`\[=\active \catcode`\]=\active + \def[{{\rm \char`\[}} + \def]{{\rm\/\char`\]}} +\def\leftbrace{(} +\catcode`\(=\active \catcode`\*=\active +\def(#1{\ifx*#1$\{\,$\global + \advance\commentstatus1 + \pascalcommentfont + \else\leftbrace#1\fi} +%Reserved words ;vrblin100 +\reservedset{ and array begin case const + div do downto else end. end; file for + function goto if in label mod nil not of + or otherwise packed procedure program record + repeat set step string then to type until + var while with}% +%Handling of >= <= <> > < ;vrblin150 +\def\lt{<}\def\gt{>} +\catcode`\>=\active +\def>#1{\if=#1${}\geq{}$\else + ${}\gt{}$#1\fi} +\catcode`\<=\active +\def<#1{\ifx>#1${}\ne{}$\else + \if=#1${}\leq{}$\else + ${}\lt{}$#1\fi\fi} +%Handling of + - * ;vrblin200 +\def\-{-}%Save for hyphen use +\def\plus{+}\def\minus{-} +\catcode`\+=\active \def+{${}\plus{}$} +\def*#1{\if)#1$\,\}$\global + \advance\commentstatus-1 + \else${}\times{}$#1\fi} +%{\catcode`\-=\active \gdef-{${}\minus{}$}} +%Later catcode is set for minus +%Last part of processing ;vrblin250 +\obeyspaces\let =\ +\def\fifow#1 {\ifx +\wofif#1\wofif\fi\processw{#1}\ \fifow}% +\def\processl#1{\fifow#1 \wofif + \endgraf}%First space is needed +% ;vrblin300 +\let\zero0 \catcode`\0=\active\def0{{\rm\zero}} +\let\one1 \catcode`\1=\active\def1{{\rm\one}} +\let\two2 \catcode`\2=\active\def2{{\rm\two}} +\let\three3\catcode`\3=\active\def3{{\rm\three}} +\let\four4 \catcode`\4=\active\def4{{\rm\four}} +\let\five5 \catcode`\5=\active\def5{{\rm\five}} +\let\six6 \catcode`\6=\active\def6{{\rm\six}} +\let\seven7\catcode`\7=\active\def7{{\rm\seven}} +\let\eight8\catcode`\8=\active\def8{{\rm\eight}} +\let\nine9 \catcode`\9=\active\def9{{\rm\nine}} +\catcode`\-=\active \def-{${}\minus{}$}% +\obeylines\smallskip% +\the\prepascal\relax%;nonum +\endinput%cgl@rc.service.rug.nl +% +% +% +%Contents Pascal +% \beginpascal +% \lofif +% \endpascal +% \processw +%Typesetting : := ;semicol . ^ +% \becomes +% : +% ; +% . +% ^ +%Reserved words +%Handling of >= <= <> > < +% \lt +% \gt +% > +% < +%Handling of + - * +% - +% \plus +% \minus +% \times +% + +% * +% - +%Last part of processing +% \fifow# +% \processl +%Keeping track of comments, and +%using comment fonts +% {, } +% [, ] +% \commentstatus +% \pascalcommentfont +% \prepascal +% +%Use of the above file via +%\input pascal.tex +%\beginpascal +%(*Print length of third side of +% triangle given two sides and +% enclosed angle*) +%program EX4A(input, output); +%var a, b, c angle : real; +%begin read(a, b, angle); +% c:=sqrt(sqr(a)+sqr(b)- +% 2*a*b*cos(angle)); +% writeln(`The third side is', c) +%end. +%\endpascal +%\beginpascal +%(*heap creation*) +%l := n div 2 + 1; +%while l <> 1 do +%begin l := l-1; sift(a, l, n) end; +%(*sorting*) +%r := n; +%while r <> 1 do +%begin swap(a[1], a[r]); +% r := r-1; sift(a, 1, r) +%end; +%(*sift arg1 through arg2*) +%j:= arg1; +%while 2j >= arg2 and +% (a[j] < a[2j] or a[j] < a[2j+1]) +%do begin mi := 2j + if a[2j] > a[2j+1] +% then 0 +% else 1; +% exchange(a[j], a[mi]); j := mi +%end. +%\endpascal +%\bye +%Together with blue.tex and tools.dat +%replace +%\input pascal.tex +%by +%\input blue.tex +%End pascal.tex +% +% +%History of changes +%Jan 95 Designed +%end%%%%%%%%%%%%%%%%%%%%pascal%!cgl;newcol +% +% +% +\tool\efg +phoney tool, for test purpose +\endinput%end \efg \ No newline at end of file -- cgit v1.2.3