summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/plain
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 00:45:48 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 00:45:48 +0000
commit5dc602d16c5be2fd035b254ca23484a90aebd6dc (patch)
tree72efb15fba318cc2096a8cc6999ed3fa0bff317d /Master/texmf-dist/doc/plain
parentb4fc5f639874db951177ec539299d20908adb654 (diff)
doc 5
git-svn-id: svn://tug.org/texlive/trunk@81 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/plain')
-rw-r--r--Master/texmf-dist/doc/plain/cellular/cellular.doc114
-rw-r--r--Master/texmf-dist/doc/plain/cellular/origin28
-rw-r--r--Master/texmf-dist/doc/plain/gustlib/README146
-rw-r--r--Master/texmf-dist/doc/plain/gustlib/readme.biblotex17
-rw-r--r--Master/texmf-dist/doc/plain/gustlib/readme.plbtx99375
-rw-r--r--Master/texmf-dist/doc/plain/gustlib/readme.plmac21824
-rw-r--r--Master/texmf-dist/doc/plain/harvmac/harvsamp.tex273
-rw-r--r--Master/texmf-dist/doc/plain/jsmisc/deutsch.doc329
-rw-r--r--Master/texmf-dist/doc/plain/jsmisc/deutsch.tex350
-rw-r--r--Master/texmf-dist/doc/plain/jsmisc/idverb.doc194
-rw-r--r--Master/texmf-dist/doc/plain/metatex/README92
-rw-r--r--Master/texmf-dist/doc/plain/metatex/gpl.txt340
-rw-r--r--Master/texmf-dist/doc/plain/metatex/mtmp2pdf.tex369
-rw-r--r--Master/texmf-dist/doc/plain/metatex/mtpaper.pdfbin0 -> 133791 bytes
-rw-r--r--Master/texmf-dist/doc/plain/metatex/mtpaper/delay.mf301
-rw-r--r--Master/texmf-dist/doc/plain/metatex/mtpaper/diagram.tex83
-rw-r--r--Master/texmf-dist/doc/plain/metatex/mtpaper/frame.tex23
-rw-r--r--Master/texmf-dist/doc/plain/metatex/mtpaper/mtpaper.tex654
-rw-r--r--Master/texmf-dist/doc/plain/metatex/mtpaper/shadow.tex85
-rw-r--r--Master/texmf-dist/doc/plain/mnras/fonttest.tex169
-rw-r--r--Master/texmf-dist/doc/plain/mnras/mnguide.tex1988
-rw-r--r--Master/texmf-dist/doc/plain/mnras/mnland.tex82
-rw-r--r--Master/texmf-dist/doc/plain/mnras/mnsample.tex705
-rw-r--r--Master/texmf-dist/doc/plain/mnras/readme.txt15
-rw-r--r--Master/texmf-dist/doc/plain/newsletr/READ.ME76
-rw-r--r--Master/texmf-dist/doc/plain/newsletr/losample.tex380
-rw-r--r--Master/texmf-dist/doc/plain/newsletr/newsletr.txt134
-rw-r--r--Master/texmf-dist/doc/plain/newsletr/newssamp.tex267
-rw-r--r--Master/texmf-dist/doc/plain/patch/patch.doc543
-rw-r--r--Master/texmf-dist/doc/plain/pdcmac/00readme.txt21
-rw-r--r--Master/texmf-dist/doc/plain/pdcmac/copying.txt358
-rw-r--r--Master/texmf-dist/doc/plain/pdcmac/install.txt91
-rw-r--r--Master/texmf-dist/doc/plain/pdcmac/news.txt14
-rw-r--r--Master/texmf-dist/doc/plain/pdcmac/oput01.eps423
-rw-r--r--Master/texmf-dist/doc/plain/pdcmac/oput02.eps404
-rw-r--r--Master/texmf-dist/doc/plain/pdcmac/version.txt19
-rw-r--r--Master/texmf-dist/doc/plain/plgraph/00readme.txt105
-rw-r--r--Master/texmf-dist/doc/plain/plgraph/autopict.ins102
-rw-r--r--Master/texmf-dist/doc/plain/plgraph/exmplcol.tex6
-rw-r--r--Master/texmf-dist/doc/plain/plgraph/exmplgrf.tex10
-rw-r--r--Master/texmf-dist/doc/plain/plgraph/exmplpfg.tex17
-rw-r--r--Master/texmf-dist/doc/plain/plgraph/exmplpic.tex15
-rw-r--r--Master/texmf-dist/doc/plain/plnfss/LPPL.txt405
-rw-r--r--Master/texmf-dist/doc/plain/plnfss/plnfss.txt132
-rw-r--r--Master/texmf-dist/doc/plain/plnfss/test-plnfss.tex40
-rw-r--r--Master/texmf-dist/doc/plain/treetex/epodd.bbl107
-rw-r--r--Master/texmf-dist/doc/plain/treetex/epodd.tex1189
-rw-r--r--Master/texmf-dist/doc/plain/treetex/readme19
-rw-r--r--Master/texmf-dist/doc/plain/treetex/tree_doc.bbl97
-rw-r--r--Master/texmf-dist/doc/plain/treetex/tree_doc.tex1331
-rw-r--r--Master/texmf-dist/doc/plain/tugboat/tubguide.pdfbin0 -> 140238 bytes
-rw-r--r--Master/texmf-dist/doc/plain/tugboat/tubguide.tex844
-rw-r--r--Master/texmf-dist/doc/plain/typespec/TypeSpec.pdfbin0 -> 646412 bytes
-rw-r--r--Master/texmf-dist/doc/plain/typespec/TypeSpec.tex255
-rw-r--r--Master/texmf-dist/doc/plain/vertex/vertex.doc289
-rw-r--r--Master/texmf-dist/doc/plain/yannisgr/00changes.txt36
-rw-r--r--Master/texmf-dist/doc/plain/yannisgr/00readme.txt49
-rw-r--r--Master/texmf-dist/doc/plain/yannisgr/monsyl.txt456
-rw-r--r--Master/texmf-dist/doc/plain/yannisgr/rgr.readme39
-rw-r--r--Master/texmf-dist/doc/plain/yannisgr/rgreekmacros.tex159
-rw-r--r--Master/texmf-dist/doc/plain/yannisgr/rgrhyph.tex1179
-rw-r--r--Master/texmf-dist/doc/plain/yannisgr/rgrpaper.tex763
-rw-r--r--Master/texmf-dist/doc/plain/yannisgr/rgrtestfont.tex274
-rw-r--r--Master/texmf-dist/doc/plain/yannisgr/tomakeformat.txt26
64 files changed, 17130 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/plain/cellular/cellular.doc b/Master/texmf-dist/doc/plain/cellular/cellular.doc
new file mode 100644
index 00000000000..0a46d604381
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/cellular/cellular.doc
@@ -0,0 +1,114 @@
+% File: TeX Inputs cellular.doc
+% Author: J E Pittman
+% Bitnet: JEPTeX@TAMVenus
+% Internet: JEPTeX@Venus.TAMU.EDU
+% Date: November 8, 1988
+
+A cellular table is specified by:
+
+ \begincellular{specifications that change defaults}
+ appropriate macro definitions
+ column header specifications
+ row specifications (header and data)
+ \endcellular
+
+The following are examples of specifications that change defaults:
+
+ \pixelwidth=1in
+ \divide\pixelwidth by 300
+
+ The pixel width dimension register should be set to the resolution
+ of the device used. The default is 1/300th of an inch.
+
+ \setverticaladjustment -or- \sethorizontaladjustment
+
+ Some printers (such as the Xerox 9700s and 4050s) produce vertical
+ and horizontal rules that have a different visual thickness for the
+ same specified thickness. The macros set vertical and set
+ horizontal adjustment specified that vertical or horizontal rules
+ are to be thickened by pixel width, which may correct this problem.
+
+ \edef\everycolumn{\everycolumn
+ \leftrulewidth=0.4pt\relax
+ \rightrulewidth=\leftrulewidth
+ \leftborderskip=6pt plus 1fil\relax
+ \rightborderskip=\leftborderskip
+ \columnwidth=\zeropt\relax
+ \columnwidth=\zeropt\relax
+ }%
+
+ An \edef can be used to add material (usually default overrides) to
+ the every column macro. The information shown above reflect the
+ defaults. Care must be exercised to avoid introducing spurous
+ spaces, which will be very visible when output.
+
+ \edef\everyrow{\everyrow
+ \toprulewidth=0.4pt\relax
+ \bottomrulewidth=\toprulewidth
+ \topborderskip=3pt plus 1fil\relax
+ \bottomborderskip=\topborderskip
+ \rowheight=\zeropt\relax
+ }%
+
+ Same as every column.
+
+ \tracingexpansions=1
+
+ This specification will request notes on how column and rows are
+ expanded to accommedate spans.
+
+Any sort of macros can be defined within a cellular table. An obvious
+example is abbrevations for commonly used control sequence names.
+
+A column header is specified as:
+
+ \column{specifications}
+
+ The specifications are the same as for every column. Note: There
+ is a considerable amount of processing required for these
+ specifications, wise selection of defaults can decrease execution
+ time significantly.
+
+ Column headers are optional.
+
+Rows are specified as a row header (similiar to a column header) and a
+series of entry specifications.
+
+An entry specification can be any of the following:
+
+ \blank
+
+ A blank entry specification creates a completely blank spot in the
+ table (no rules or text).
+
+ \mergeright
+
+ A merge right specification merges the width of the entry into the
+ width of the entry to the right. It is used to create column
+ spans.
+
+ \mergedown
+
+ Similar to merge right. Note: The overhead for a merge down
+ specification is considerably higher than a merge right.
+ Therefore, when specifing an entry that spans both rows and
+ columns, merge rights should be used as much as possible. For
+ example:
+
+ > > > V V V V V
+ > > > V rather V V V V
+ > > > V than V V V V
+ > > > * > > > *
+
+ \entry{horizontal mode material}
+
+ An entry macro takes the specified material and formats it as
+ appropriate.
+
+It is not necessary to complete every row.
+
+Vertical mode material can be added after a row by specifying:
+
+ \noalign{vertical mode material}
+
+at any point in the row. Multiple no aligns are permitted.
diff --git a/Master/texmf-dist/doc/plain/cellular/origin b/Master/texmf-dist/doc/plain/cellular/origin
new file mode 100644
index 00000000000..89d309c957c
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/cellular/origin
@@ -0,0 +1,28 @@
+Date: Wed, 9 Nov 88 13:33:46 CST
+From: J E PITTMAN <JEPTEX@venus.tamu.edu>
+Subject: TeX Inputs cellular.tex (table-generating macros)
+Keywords: macros
+
+Several months ago, someone sent in a request for macros that allow vertical
+and horizontal spans within a ruled table. There have also been questions
+about `nubs' and `gaps' within ruled tables.
+
+After thinking about the problem for a while, I realized that a solution was to
+abandon the \halign primitive and start from scratch.
+
+I have finished my first attempt at a set of table generating macros, which I
+have chosen to call Cellular.TeX. These macros allow for both vertical and
+horizontal spans and take steps to prevent `nubs' and `gaps' when rules are
+used.
+
+They are, unfortunately, very slow and I have not been able to increase their
+speed without sacrificing memory conservation and generality.
+
+I am sending the macros under separate cover since there are nearly 1,000 lines
+of code involved, divided into five files. Detailed comments are available in
+the file TeX Inputs cellular.doc.
+
+J E Pittman Bitnet: JEPTeX@TAMVenus
+User Services Group Internet: JEPTeX@Venus.TAMU.Edu
+Computing Services Center
+Texas A&M University
diff --git a/Master/texmf-dist/doc/plain/gustlib/README b/Master/texmf-dist/doc/plain/gustlib/README
new file mode 100644
index 00000000000..addbba104d2
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/gustlib/README
@@ -0,0 +1,146 @@
+GUSTLIB
+===========
+W tym katalogu znajduje się parę | In this catalogue you'll find a couple
+przydatnych makr do \input-owania | of useful macros (to be input).
+Jest to moja propozycja podręcznej | It is my proposal of a handy library
+biblioteczki dla użytkowników | primarily for plain format users,
+głównie Plain/MeX, choć powinny | although the macros are supposed
+dzialać też w LaTeX-u. | to work also with LaTeX.
+ |
+Niektóre pakiety są już umieszczone | some packages are already located
+w strukturze katalogów TeXLive CD | in the TeX Live CD structure
+(patrz lista na końcu pliku) | (see the end of this file)
+----------------------------------------------------------------------------
+1. biblo10.zip
+ BibloTeX to system makr do | Macros for generating bibliography
+ generowania bibliografii w Plain. | in Plain (emulating LaTeX's macros)
+ Od strony użytkownika makra te |
+ emulują działanie makr LaTeX-a |
+B. Lichoński
+----------------------------------------------------------------------------
+2. infram.tex
+ niemalże trywialne makro do | nearly trivial macro for putting
+ ujmowania tekstu w ramkę | a frame around a text (infr-ex.tex --
+ (infr-ex.tex -- przykład użycia) | an example how to use it).
+folk's invention
+----------------------------------------------------------------------------
+3. licz.zip
+ makra do rozwijania liczb | macros for expanding numbers into
+ w napisy i przykład. | text strings (rather for Poles ;-).
+M. Ryćko
+----------------------------------------------------------------------------
+4. map.zip
+ makra do operacji na żetonach | generic macros for token manipulations;
+ (token) i makra do spacjowania | macros for letter spacing (tsp.tex)
+ tekstu (tsp.tex) oraz | and underlining text (tun.tex)
+ podkreślania (tun.tex) wraz | with examples.
+ z przykładami. |
+M. Ryćko
+----------------------------------------------------------------------------
+5. meashor.tex
+ makro do wyznaczania położenia | a macro for determining a position
+ w akapicie (polecane do mierzenia | in a paragraph (recommended for
+ długości ostatniego wiersza | measuring the length of the last
+ akapitu). | line of a paragraph).
+B. Jackowski
+----------------------------------------------------------------------------
+6. mimulcol.tex
+ skład wielołamowy (mcol-ex.tex | multicolumn format (mcol-ex.tex
+ -- przykład użycia). | -- an example how to use it).
+F. Mittelbach, | F. Mittelbach,
+ ,,splainował'' B. Jackowski | ``plained'' by B. Jackowski
+----------------------------------------------------------------------------
+7. plbtx993.zip
+ polskie style bibliograficzne | Polish bibliography styles for LaTeX
+ do programu BibTeX dla LaTeX | (for Plain use with macros from
+ (w Plain wraz z makrami z pakietu | biblo10.zip package)
+ biblo10.zip) |
+B. Lichoński
+----------------------------------------------------------------------------
+8. plidxmac.zip
+ makra do tworzenia indeksów | generic macros for index entries
+ w Plain w oparciu o program | with plindex (Polish adaptation
+ plindex. | of MakeIndex).
+B. Lichoński
+----------------------------------------------------------------------------
+9. roundbox.tex
+ ramki zaokrąglone (rbox-ex.tex | rounded frames (rbox-ex.tex
+ -- przykład użycia). | -- an example how to use it).
+G. Glendown i B. Jackowski
+----------------------------------------------------------------------------
+10. tp-crf.tex
+ makra do obsługi odsyłaczy dla | generic macros for cross-references;
+ formatu plain, na końcu pliku | example of use at the end of file.
+ zawarto przykład użycia. |
+T. Przechlewski
+----------------------------------------------------------------------------
+11. verbatim.tex
+ makra do składu ,,dosłownego'': | all purpose verbatim macros
+ np. cytatów kodu programów. | (program listings, etc.).
+D. E. Knuth et al.
+
+============================================================================
+Inne makra z GUSTLIB | Other macros from GUSTLIB
+
+texmf/dvips/tex-ps/mirr.hd
+ plik nagłówkowy dla DVIPS do | this small header for DVIPS can
+ wydruku ,,lustrzanego'' (mirror) | be used for producing mirrored
+ na drukarkach, np. | output on printers, e.g.
+ dvips -hmirr.hd [other_options1] <DVI_file> [other_options2]
+B. Jackowski, P. Pianowski
+----------------------------------------------------------------------------
+texmf/tex/generic/c_pascal/*
+ CAP (C albo Pascal) -- makra do | CAP (C and Pascal) macro package for
+ składu programów w C i Pascalu | typesetting programs in C and Pascal
+----------------------------------------------------------------------------
+texmf/tex/generic/insbox/*
+ makra do umieszczania rysunków | macros for inserting pictures/boxes
+ lub pudełek z tekstem w ramach | into paragraphs.
+ akapitu. |
+M. Gulczy\'nski
+----------------------------------------------------------------------------
+texmf/tex/generic/poligraf/poligraf.tex
+ makra do obudowy strony dokumentu | preparation of pages for prepress, color
+ dla celów drukarskich (pasery, | separation, crop-marks, color and gray
+ paski kontrolne kolorów i szaro- | scale bars, booklet preparation, etc.
+ ści), separacje barwne, montaż |
+ stron na arkuszach drukarskich |
+J. M. Nowacki
+----------------------------------------------------------------------------
+texmf/tex/generic/tex-ps/bop-hax.tex
+ makra do obs/lugi druku | macros for landscape and mirror
+ pejzażowego i lustrzanego | (meant for PostScript/Dvips).
+ z wykorzystaniem sterownika Dvips |
+B. Jackowski i P. Pianowski
+----------------------------------------------------------------------------
+texmf/tex/generic/tex-ps/cmyk-hax.tex
+ pakiet makr do wykonywania | the set of macros for making color
+ wyciągów barwnych (także | separation (also bitmaps) and examples
+ bitmap) i przykłady | of use
+B. Jackowski, P. Pianowski
+----------------------------------------------------------------------------
+texmf/tex/generic/tex-ps/epsfx.tex
+ rozszerzenie makr epsf.tex | extension of T. Rokicki's epsf.tex:
+ T. Rokickiego; pozwala bezpiecznie| safe including of EPS files generated
+ włączać do składu pliki EPS | by Dvips, can also display bounding
+ tworzone programem Dvips oraz | boxes. (for dvips 5.58)
+ wyświetlać na życzenie |
+ prostok/at ograniczający |
+ (bounding box). (dla dvips 5.58) |
+B. Jackowski i P. Pianowski
+----------------------------------------------------------------------------
+texmf/tex/generic/tex-ps/trans.tex
+ makra ułatwiające geometryczne | macros for easy transformations:
+ przekształcenia elementów | rotation, slanting, scaling of boxes
+ składu (obracanie, pochylanie, | (eg., containing text or picture).
+ przeskalowania). |
+B. Jackowski i P. Pianowski
+----------------------------------------------------------------------------
+texmf/tex/generic/tap/tap.tex
+ pakiet makr do wygodnego składu | generic macros for making tables;
+ tabelek, także kolorowych. | also coloured/grayed.
+B. Jackowski, P. Pianowski, P. Strzelczyk
+
+----------------------------------------------------------------------------
+Prepared by Staszek Wawrykiewicz <StaW@gust.org.pl>
+24.03.98
diff --git a/Master/texmf-dist/doc/plain/gustlib/readme.biblotex b/Master/texmf-dist/doc/plain/gustlib/readme.biblotex
new file mode 100644
index 00000000000..20d45de5cd8
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/gustlib/readme.biblotex
@@ -0,0 +1,17 @@
+Gdynia 2 IX 1994
+================
+
+To jest pakiet BibloTeX v.1.0. ________________________________Free software!
+
+BibloTeX to system makr do generowania bibliografii w systemie plain-TeX.
+Od strony u§ytkownika makra te emuluj† dzia’anie makr LaTeX-owych.
+
+
+Dalsze informacje
+-----------------
+Dalszych informacji nale§y szuka w dokumentacji -> plik texidxbs.zip
+
+
+Test
+----
+Aby przetestowa te makra nale§y skompilowa plik -> przyklad.tex
diff --git a/Master/texmf-dist/doc/plain/gustlib/readme.plbtx993 b/Master/texmf-dist/doc/plain/gustlib/readme.plbtx993
new file mode 100644
index 00000000000..bcb5b2d3d64
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/gustlib/readme.plbtx993
@@ -0,0 +1,75 @@
+Gdynia 22 X 1997
+================
+
+To jest pakiet PLBTXBST v.0.99.3[a-z] __________________________Free software!
+
+PLBTXBST v.0.99.3[a-z] to system polskich styli bibliograficznych
+dla programu BibTeX v.0.99[a-z].
+
+Styli tych mo/zna u/zywa/c w~systemie \LaTeX\ lub
+plain-\TeX (wraz ze zbiorem makr \BibloTeX).
+
+
+Podzi/ekowania
+--------------
+Dziekuje mojemu najwytrwalszemu testerowi
+Andrzejowi Kosi/nskiemu (and@ichf.edu.pl)
+za przetrzepanie moich styli. Dzieki niemu
+powsta/ly wersje v.0.99.[1-3][a-z].
+
+
+Dalsze informacje
+-----------------
+Dalszych informacji nale/zy szuka/c w dokumentacji -> plik texidxbs.zip
+dost/epny pod adresem:
+
+ ftp://ftp.gust.org.pl/GUST/contrib/plindex/texidxbs.zip
+
+
+
+Opis plik/ow
+------------
+00CONTEN -- zawarto/s/c katalogu bie/z/acego
+
+README -- ten plik
+
+PLABBRV BST -- cztery gotowe do pracy polskie style bibliograficzne
+PLALPHA BST
+PLPLAIN BST
+PLUNSRT BST
+
+PLBTXBST DOC -- cztery polskie style bibliograficzne wraz z dokumentacj/a
+ nie gotowe do pracy
+
+MAKE-BST -- plik u/latwiaj/acy generacj/e czterech podstawowych styli
+ z~pliku plbtxbst.doc
+
+TEST.TEX
+i TEST.BIB -- ma/ly przyk/ladzik
+
+
+Generowanie styli
+-----------------
+W pliku PLBTXBST.DOC znajduj/a si/e cztery polskie style bibliograficzne
+(PLABBRV.BST, PLALPHA.BST, PLPLAIN.BST, PLUNSRT.BST), kt/ore mo/zna
+wygenerowa/c nast/epuj/aco:
+
+cc -P -E -DPLPLAIN plbtxbst.doc | grep -v "^%" > plplain.bst
+cc -P -E -DPLUNSRT plbtxbst.doc | grep -v "^%" > plunsrt.bst
+cc -P -E -DPLALPHA plbtxbst.doc | grep -v "^%" > plalpha.bst
+cc -P -E -DPLABBRV plbtxbst.doc | grep -v "^%" > plabbrv.bst
+
+Dalszych informacji na temat generacji styli nale/zy szuka/c w dokumentacji
+ftp://ftp.gust.org.pl/GUST/contrib/plindex/texidxbs.zip
+
+
+Autor
+-----
+Nie czuj opor/ow i informuj mnie o ka/zdym znalezionym b/l/edzie.
+Jestem uchwytny na li/scie dyskusyjnej GUSTu (GUST-L@man.torun.pl)
+
+Mi/lej zabawy!
+
+**Bogus/law Lichonski (b.lichonski@gwo.com.pl)
+
+[EOF]
diff --git a/Master/texmf-dist/doc/plain/gustlib/readme.plmac218 b/Master/texmf-dist/doc/plain/gustlib/readme.plmac218
new file mode 100644
index 00000000000..5a2127faa0c
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/gustlib/readme.plmac218
@@ -0,0 +1,24 @@
+Sopot 7 V 1996
+==============
+
+To jest pakiet PLIDXMAC v.2.18. ________________________________Free software!
+
+PLIDXMAC to system makr do tworzenia indeks/ow w systemie plain-TeX.
+Od strony u/zytkownika makra te emuluj/a dzia/lanie makr LaTeX-owych.
+
+Test
+----
+Aby przetestowa/c te makra nale/zy skompilowa/c plik -> przyklad.tex
+nast/pnie uruchomi/c program PLINDEX z parametrami jak w przyk/ladowym
+pliku plind.bat i ponownie skompilowa/c plik
+
+Plik stylu PLAINTEX.IST mo/zna umie/sci/c w katalogu wskazywanym przez
+zmienn/a systemow/a (np: set indexstyle=c:\emtex\idxstyle)
+
+Dalsze informacje
+-----------------
+Dalszych informacji nale/zy szuka/c w pakiecie plind211.zip (plindex.asc)
+i w dokumentacji -> plik texidxbs.zip (archiwum GUST
+ ftp.gust.org.pl:/pub/TeX/GUST/contrib/plindex/texidxbs.zip)
+
+(pakiet zmodyfikowa/l i uporz/adkowa/l St. Wawrykiewicz, 5 V 96)
diff --git a/Master/texmf-dist/doc/plain/harvmac/harvsamp.tex b/Master/texmf-dist/doc/plain/harvmac/harvsamp.tex
new file mode 100644
index 00000000000..738c1cde5d7
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/harvmac/harvsamp.tex
@@ -0,0 +1,273 @@
+\input harvmac
+
+\Title{HUTP-91/A000}{This is the Template}
+
+%For more complicated situations, substitute for {\it either\/} argument:
+%\Title{\vbox{\baselineskip12pt\hbox{HUTP-88/A000}\hbox{SLAC-PUB 88-001}
+% \hbox{photocopy at own risk}}}
+%{\vbox{\centerline{This title is too long to fit}
+% \vskip2pt\centerline{comfortably on one line*}}}
+% \footnote{}{*optional footnote on title}
+
+\centerline{Author One and Author Two\footnote{$^\dagger$}
+{(author@huhepl.hepnet, \ @huhepl.bitnet, \ or \ @huhepl.harvard.edu)}}
+\bigskip\centerline{Lyman Laboratory of Physics}
+\centerline{Harvard University}\centerline{Cambridge, MA 02138}
+
+%if too many authors for abstract on same page, say \vfill\eject\pageno0
+
+\vskip .3in
+This sample is produced by the file `sample.tex' in the directory
+tex\$macros and is intended to exhibit the conventions used
+in the file `harvmac.tex' also in this directory, as inputted above.
+{\it (You do not need to copy {\rm tex\$macros:harvmac.tex} into your own
+directory\/}, nor do you need to explicitly specify its directory as
+long as there is no harvmac.tex in your default directory.)
+The vskips, etc., on this title page have been chosen to give
+a reasonable looking HUTP style preprint in either full-sized or reduced
+format (selected by typing b or $\ell$ in response to the big/little query
+from the macro). Note that the `Title' and `Date' macros should be used
+together to choose fonts and horizontal size appropriately, suppress first
+page number, etc., for `big' and `little' formats with title page. One may
+most easily start a new paper by making a copy of this sample and then
+replacing the dummy text with something potentially more interesting. It is
+useful to read pp.~1--54, 127--201 of Knuth's {\it Texbook\/}.
+
+\Date{4/91} %replace this line by \draft for preliminary versions
+ %or specify \draftmode at some point
+
+%if you want double-space, use e.g. \baselineskip=20pt plus 2pt minus 2pt
+
+\newsec{Introduction}
+
+Sections are begun
+\def\\#1 {{\tt\char'134#1} }% (defines \\ to single backslash in macro names)
+using the macro \\newsec as above. For papers without separate sections,
+leave out \\newsec and equations will automatically be numbered consecutively
+(without section numbers).
+
+References are done using the macro \\ref as follows\ref
+\rIi{John Q. Physicist, Phys. Rev. D20 (1980) 1234.}\ref\rIii{Author
+One and Author Two, Nucl. Phys. B52 (1975) 439.}.
+The labels on the references\rIi\ and \rIii\ (which include the brackets,
+note the second backslash to provide a space) can then be used to refer
+back to them\rIi. (note no extra backslash needed before period\rIii, or
+before comma.) Here is how to put two papers in one reference\ref
+\rAG{L. Alvarez-Gaum\'e and P. Ginsparg, ``The Structure of
+Gauge and Gravitational Anomalies,'' Harvard preprint HUTP-84/A016,
+to appear in Ann. Phys.\semi
+L. Alvarez-Gaum\'e and P. Ginsparg, Nucl. Phys. B243 (1984) 449.}.
+Note the use of the macro \\semi %(= ;\hfil\break)
+to separate them (the macro \\nref can be used to suppress the immediate
+appearance of the bracketed reference number in the text if desired\ref
+\rSP{Seminal Paper.}%
+\nref\rMIF{Moderately Interesting Follow-ups.}%
+--\ref\rCUR{Completely Useless Ripoffs.}). The references are listed in the
+file refs.tmp, and can be of arbitrary length.
+
+The macro \\foot is used for footnotes.\foot{like this} They also get
+automatically numbered\foot{consecutively} throughout the paper.
+
+To do equations we use the macro \\eqn
+%
+\eqn\eIi{R^a{}_b=d\om ab+\om ac\wedge\om cb}
+%
+and
+%
+\eqn\eIii{\om a{{b,\mu}}\equiv e^a{}_\nu\grad\mu e_b{}^\nu=
+-e_b{}^\nu\grad\mu e^a{}_\nu.}
+%
+The equations are then referred to (see \eIi\ or \eIii) using the
+label (which includes the parentheses). In draftmode, the equation
+labels appear in the right margin next to the equation.
+
+%To start in the middle of text, initialize for example with
+%\pageno=5\secno=3\meqno=2\startrefs{24}%\draftmode
+
+\newsec{Body}
+
+Ordinarily one uses equations with internal eqaligns:
+%
+\eqn\eIIx{\eqalign{&d=2+2=4\cr
+&d=2\times 2=4.\cr}}
+%
+(How could Nature fail to avail herself of such a fine opportunity to base
+herself on the remarkable numerical coincidence embodied in eqn.~\eIIx?)
+To specify equation numbers in aligned equations and/or equations
+specified with a's, b's, etc., just tag the equation numbers first
+using the macro \\eqnn or \\eqna and then use \\eqalignno
+\eqna\eIIi %(only for equation labels with a,b type argument)
+\eqnn\eIIii
+%
+$$\eqalignno{\left(\int_{-\infty}^\infty e^{-x^2}\,dx\right)^2
+&={\rm something}&\eIIi a\cr
+&={\rm something\ else}\cr
+&=\pi&\eIIi b\cr
+&=2\pi/2.&\eIIii\cr}$$
+%
+We can then easily refer back to \eIIii\ or \eIIi{a}\ or \eIIi{a,b}\
+or even \eIIi{a\hbox{--}c}\ (\\eqna defines a label which takes an argument
+$\{a,b,\ldots\}$ when used to refer back; it could be used instead of
+\\eqnn if one remembers to type $\{\}$ after the label when referring
+back, e.g., \eIIi{}\ ). (Note also that \\nref and \\eqnn can always be
+used to simulate macro packages that require a separate macro to define
+labels in advance of using them.)
+
+To list the references, use the macro \\listrefs as at the end of
+this file\foot{In draftmode reference labels appear in left margin
+next to reference.}.
+
+\newsec{Conclusion}
+
+\seclab\sconcl % (defines a section label for later use)
+To call Tex on a source file filename.tex, issue the command
+$$\hbox{\$ tex filename}$$
+which creates a file filename.dvi (and also a filename.log file).
+The macro package will ask you whether you want ``big''
+output, ordinary typewritten pages, or ``little,'' reduced two-column pages
+suitable for preprinting.
+(Default is for postscript laserprinters. In order to print out in
+reduced format on qms printer at HEPL, you need to specify \\qms
+after inputting the macros.)
+
+\subsec{At Lyman}
+
+After eliminating any tex errors in your manuscript, issue the command
+%
+$$\hbox{\$ lw filename}$$
+%
+to convert the .dvi file to a postscript file that is then automatically
+sent to the lyman laserwriter.
+(To process only selected portions of a .dvi file,
+type instead \ \$ dvips filename --- then type i for interactive [or
+? for help at any time].
+\$ lw filename.ps with explicit .ps extension then sends the .ps
+file to the Lyman laserwriter.)
+
+\subsec{At HEPL}
+
+\subseclab\shepl % (defines a subsection label for later use)
+(at hepl, use instead
+%
+$$\hbox{\$ qmstex filename}$$
+%
+to convert the .dvi file to a .qms file that is then automatically
+sent to the hepl laserprinter). Before logging off, it is
+probably preferable to get rid of any .ps, .dvi, .qms, and .log files.
+
+
+\bigbreak\bigskip\bigskip\centerline{{\bf Acknowledgements}}\nobreak
+This work was supported in part by various colleagues. We also thank
+NSF contract PHY-82-15249 for discussions.
+
+\appendix{A}{}
+
+Everything same as before, now equations appear as (A.1), etc.
+Appendix A has no title.
+
+\appendix{B}{Enhancements added, 11/88}
+
+For fancier treatment of multiple references, say \refs{\rSP{--}\rCUR},
+\refs{\rIii,\rSP}, or even \refs{\rIi,\rIii,\rAG{--}\rCUR}. (The arguments
+have to be previously defined references, so use \\nref before for any
+first occurrences.) To strip off the brackets from a single reference for
+some reason, use \\xref to give \xref\rIi\ instead of \rIi.
+
+To refer to equations (or references) that occur much later in the
+paper, add \\writedefs after inputting macros.
+This redefines the equation and reference macros so they write all the
+label definitions to a file labeldefs.tmp. Then tex a second time with a
+line inputting this file. To start from the middle of a paper, tex
+the first part with \\writedefs and \\writestop %i.e. \writedefs\writestop
+(the latter adds to labeldefs a line with the pagenumber, section number,
+etc., at the point \\listrefs was called). Inputting labeldefs.tmp then
+starts the continuation where the previous left off, and allows referring
+to any of the previously defined reference and equation labels.
+
+The subsection option in section 3 above is also new.
+
+Another macro, \\footend, redefines \\foot so that it writes the footnotes
+in a file foots.tmp, which is then automatically called in by \\listrefs
+before the references. For journals that prefer the footnotes at the
+end, one can thus add \\footend after inputting harvmac,
+with no other changes necessary.
+
+A new macro \\fig (also \\nfig, \\figs, \\xfig) works for figures just
+as does \\ref. The label is defined to include the abbreviation fig.
+For papers with thousands of figures, the macro
+\fig\flabel{This is the figure caption}. This works exactly as does
+\ref\rlabel{For a compendium of references missing here, see M. Green,
+J. Schwarz, and E. Witten, {\it Superstring theory\/}, Vols. I,II,
+Cambridge Univ. Press (1987).}, with the label defined to include the
+abbreviation `fig.~'. The macro \\nfig suppresses immediate appearance of
+`fig.~x', \nfig\flabi{second dummy figure}\nfig\flabii{third dummy figure}%
+so that one can instead say, for example, \figs{\flabi,\flabii}\
+using the macro \\figs. %(here gives figs.~2,3)
+\\xfig strips off the `fig.~' to leave just the figure number,
+i.e.\ \xfig\flabel, if necessary for some reason.
+The figure captions are written in a file figs.tmp that is called in by
+saying \\listfigs after \\listrefs.
+(Note that the formerly used macro \\figures need not be used if
+\\fig is instead used in conjunction with \\listfigs.)
+
+% Instead of \listfigs, if \fig not used in text, after \listrefs say
+%
+%\figures % former version, still supported
+%\fig{1}{This is the first figure caption.}
+%\fig{2}{This is the second figure caption.}
+%\fig{3}{Note that \\fig automatically types a colon and lines up the
+%text properly.}
+%
+%\parindent=20pt
+
+\appendix{C}{Enhancements added, 6/89}
+
+A macro \\seclab sets a label equal to the current section number, useful
+for referring back to the section, e.g.\ as used in section \sconcl\ above.
+Similarly, \\subseclab sets a label equal to the current
+section.subsection, as in the definition of subsection \shepl\ in the ``at
+HEPL'' subsection above.
+(Using \\writedefs, these definitions will appear in labeldefs.tmp so can
+be used as well to refer forward. In draftmode, the definitions appear in
+the right margin.)
+
+A macro \\writetoc writes a file toc.tmp that contains section and
+subsection numbers and headings with the pagenumbers on which they appear.
+The macro \\listtoc writes the heading {\bf Contents} and inputs the file
+toc.tex. It is evidently necessary to tex in two passes, renaming toc.tmp
+to toc.tex after the first.
+%(Note that the pagenumbers will not come out properly in ``little'' mode
+% --- the easiest (and least elegant) way around this is to set
+% \output={\plainoutput} (after harvmac input) to produce toc.tmp,
+% then remove and tex again with \\listtoc to produce final .dvi file.
+
+\appendix{D}{Enhancements added, 1/91}
+
+A macro \\lref (same syntax as \\ref and \\nref)
+\lref\reflabel{Another reference.}
+defines the reflabel to be a macro that calls \\ref on itself.
+This allows making a list of references via \\lref (in any order) at the
+beginning of a file and only those used in the text will actually appear
+(automatically listed in correct order of first appearance by \\listrefs).
+(In principle \\lref can be used to compile a long standard reference file
+to input, although this might eventually cause problems due to clogging up tex
+memory with too many unused definitions.)
+
+\lref\riii{extra ref three.}
+\lref\rii{extra ref two.}
+\lref\ri{extra ref one.}
+\\refs is defined to not display reference labels that appear in succession
+(i.e.\ without intervening delimiter), so that e.g.\ \refs{\ri\rii{--}\riii}
+can expand the middle reference \rii\ if it hasn't already appeared.
+\\refs will also accept reflabels that are not previously defined so that it is
+possible to tex preliminary versions without inputting full reference list
+(For this mode, even individual refs, e.g.\ \refs{\reflabel}, need to be
+called via \\refs.)
+
+The macro \\sequentialequations inserted at beginning causes
+equations to be numbered sequentially (1)--(n) throughout paper
+(rather than with section numbers (2.1)$\ldots$).
+
+\listrefs
+\listfigs %(if necessary)
+\bye
diff --git a/Master/texmf-dist/doc/plain/jsmisc/deutsch.doc b/Master/texmf-dist/doc/plain/jsmisc/deutsch.doc
new file mode 100644
index 00000000000..8285a980c3c
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/jsmisc/deutsch.doc
@@ -0,0 +1,329 @@
+% $Id: deutsch.doc,v 1.4 1995/07/30 13:23:56 schrod Exp $
+%----------------------------------------------------------------------
+% Written by Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>.
+% This file is distributed without any copyright restriction.
+
+%
+% deutsch.doc -- typeset German documents with plain TeX.
+%
+% [TeX in MAKEPROG]
+% (history at end)
+
+
+\input progdoc
+
+\input names.sty
+\def\babel{{\sf babel}}
+
+
+
+\title{Typesetting German Documents with Plain \TeX{}}
+
+
+
+\chap Introduction.
+
+There are several defencies of plain \TeX{} if used for German
+documents:
+
+\item{---} Mappings of national characters (`umlauts' and `sharp~s')
+to macros or to other character codes (if special fonts are available)
+are missing.
+
+\item{---} \TeX{} produces lots of overfull hboxes for German texts.
+That's because the words there are usually longer than English ones.
+Furthermore we have to use much more hyphenation for German texts than
+for English ones, narrow typesetting is more important than few
+hyphenations. In particular, words with umlauts are not hyphenated
+often anyhow, even with the `multiple-word' approach from |german.sty|.
+
+\item{---} It is typographic usage that between compound words
+ligatures are not built. Plain~\TeX{} has no easy, readable way to
+provide this.
+
+\noindent This file does the according definitions. They are quite
+often only a kludge. But it is hard to make the restrictions
+disappear, sometimes it is even impossible within the current
+implementation of \TeX{}---and there will never be any other
+implementation. So we must live with these kludges.
+
+
+\sect Of course, there is more to German typesetting. Hyphenation,
+also for words with umlauts and sharp~s, etc. This basic
+functionality is supplied by the \babel{} system and DANTE's
+|german.sty|, we have to load the appropriate module.
+
+There's one problem, though. \babel{}~3.5 defines
+|\DeclareTextSymbol|, a symbol used by |german.sty| to decide if it
+shall use NFSS code to access symbols. But that usage will lead to an
+endless recursion, because some text symbols are defined by
+themselves. I don't know if that problem is caused by \babel{}'s code
+or by its usage in |german.sty| -- turning it off seems to be an
+appropriate fix.
+
+\beginprog
+\let\DeclareTextSymbol\undefined
+\input german.sty
+\endprog
+
+
+\sect But before we start we declare some shorthands for category
+codes. By declaring the at sign~(`|@|') as well as the
+underscore~`(|_|)' as letters we can use them in our macros. (I
+agree with D.~Knuth that |\identifier_several_words_long| is more
+readable than |\IdentifierSeveralWordsLong| and in every case better
+than |\p@@@s|.) With the at sign we can use the ``private'' Plain
+macros and with the underscore we can make our own macros more
+readable. But as we have to restore these category codes at the end
+of this macro file we store their former values in control
+sequences. This method is better than to use
+a group because not all macros have to be defined global this way.
+
+\beginprog
+\ifx \CatEscape\undefined
+ \chardef\CatEscape=0
+ \chardef\CatOpen=1
+ \chardef\CatClose=2
+ \chardef\CatIgnore=9
+ \chardef\CatLetter=11
+ \chardef\CatOther=12
+ \chardef\CatActive=13 % \active of plain.tex
+ \chardef\CatInvalid=15
+
+ \chardef\CatAtCode=\catcode`\@
+ \chardef\CatUsCode=\catcode`\_
+\fi
+
+\catcode`\@=\CatLetter % top level macro file
+\catcode`\_=\CatLetter
+\endprog
+
+
+\sect Let's identify this macro file against the user and in the Log file.
+
+\beginprog
+\begingroup
+ \catcode`\$=\CatIgnore
+ \catcode`\:=\CatIgnore
+ \message{Support for German documents, $Revision: 1.4 $}
+\endgroup
+\endprog
+
+
+
+\chap National Characters.
+
+By default no extended characters are available, except those defined
+below. I.e., we start to treat all characters from |"7F| to |"FF| as
+invalid characters.
+
+\beginprog
+\count@="7F
+\loop
+ \catcode \the\count@ = \CatInvalid
+ \advance\count@ by 1
+ \ifnum \count@ < "100
+\repeat
+\endprog
+
+
+\sect We provide a command for the definition of non-ASCII characters:
+|\ExtendChar|. A sample definition of an ``Umlaut-a''~(\"a) in the
+extended code of an IBM~PC (hex code~|"84|) is:
+$$
+ |\ExtendChar\^^84: {^^84}{\"a}|
+$$
+First the hex code is given as a control sequence, followed by a
+colon. Afterwards come two parameters, the first is again the hex
+code, the second is the token list which should be used instead of the
+hex code.
+
+The macro definition is rather easy, we just have to make the
+respective character active and bind it to it's new meaning.
+
+\beginprog
+\def\ExtendChar #1:{%
+ \catcode`#1 \CatActive
+ \extend_char
+ }
+\def\extend_char #1#2{%
+ \def #1{#2}%
+ }
+\endprog
+
+
+\sect Now we can define some replacements.
+
+The braces after the control sequences are needed when characters from
+the extended character set are written to an auxiliary file and read
+in later. During the |\write| they are expanded and following white
+space would be gobbled if the braces would not be there.
+
+\beginprog
+% ISO-Latin-1
+\ExtendChar\^^c4: {^^c4}{\"A}
+\ExtendChar\^^d6: {^^d6}{\"O}
+\ExtendChar\^^dc: {^^dc}{\"U}
+\ExtendChar\^^df: {^^df}{\ss{}}
+\ExtendChar\^^e4: {^^e4}{\"a}
+\ExtendChar\^^f6: {^^f6}{\"o}
+\ExtendChar\^^fc: {^^fc}{\"u}
+
+% IBM PC (code page 850)
+\ExtendChar\^^81: {^^81}{\"u}
+\ExtendChar\^^84: {^^84}{\"a}
+\ExtendChar\^^8e: {^^8e}{\"A}
+\ExtendChar\^^94: {^^94}{\"o}
+\ExtendChar\^^99: {^^99}{\"O}
+\ExtendChar\^^9a: {^^9a}{\"U}
+\ExtendChar\^^e1: {^^e1}{\ss{}} % actually \beta, used as \ss in Germany
+
+% Atari ST (like IBM PC, but with a real `sharp~s')
+\ExtendChar\^^9e: {^^9e}{\ss{}}
+\endprog
+
+
+
+\chap Paragraph Breaking.
+
+As outlined in the introduction, we allow longer interword spaces. A
+line now may have a badness up to 2500, over 1500 a warning is to be
+given. Furthermore the penalties for hyphenation are lowered because a
+narrow typesetting is preferred against few hyphenations.
+
+These values are still experimental and should be tuned.
+
+As |german.sty| uses \babel{} compatible structure, the german
+language hook is a good place to store such definitions. But to
+use \babel{}'s convenient macros, too, we have to assure that it's
+kernel code is loaded first.
+
+\beginprog
+\ifx \babel@core@loaded\undefined
+ \input babel.def
+\fi
+\addto\extrasgerman{%
+ \babel@savevariable\tolerance
+ \babel@savevariable\hbadness
+ \babel@savevariable\doublehyphendemerits
+ \babel@savevariable\finalhyphendemerits
+ \babel@savevariable\adjdemerits
+ \tolerance 2500 \hbadness 1500
+ \doublehyphendemerits 50000
+ \finalhyphendemerits 25000
+ \adjdemerits 50000
+ }
+\endprog
+
+
+\sect In some languages ligatures should not appear between compound
+words. We use {\tt \string\|\/} to mark those places. This is only
+done within text mode, in math mode {\tt \string\|\/} is still
+`$\|$'. But it is sure that one can always hyphenate between compound
+words, so we insert |\-|. To allow the hyphenation in other parts of
+the word though, we use |\allowhyphens| again.
+
+\beginprog
+\def\|{% % break open a ligature (if not in math mode)
+ \relax
+ \ifmmode \Vert
+ \else \allowhyphens\-\allowhyphens
+ \fi
+ }
+\endprog
+
+
+\sect Don't use the dreaded `double quote special meaning' stuff of
+|german.sty|. And use original umlauts. Already in M\"unster I voted
+against it\dots
+
+\beginprog
+\addto\extrasgerman{%
+ \mdqoff
+ \umlautlow
+ }
+\endprog
+
+
+\sect Define |\SwitchtoLanguage| for upward compatibility. It does
+not really do the same, the old definition was more similar to
+|\selectlanguage|. But other languages have to be declared
+explicitely, that's not done by this macro file. So we just want to
+make old documents processable.
+
+\beginprog
+\def\SwitchtoLanguage#1{\language \csname l@#1\endcsname}
+\endprog
+
+
+\sect We are finished; switch to german language (to enable the new
+extras defined above), restore the catcodes and prevent from following
+garbage.
+
+\beginprog
+\selectlanguage{german}
+
+\catcode`\@=\CatAtCode
+\catcode`\_=\CatUsCode
+
+\endinput
+\endprog
+
+
+%% \sect {\it Acknowledgements:}\quad I would like to thank XXX
+
+
+\bye
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% $Log: deutsch.doc,v $
+% Revision 1.4 1995/07/30 13:23:56 schrod
+% Discard babel definition of \DeclareTextCommand before including
+% german.sty, they are incompatible.
+%
+% Revision 1.3 1995/07/29 17:58:24 schrod
+% Use german.sty, not germanb.sty. (babel 3.5 is not functional for
+% plain TeX any more.) But we still want to use babel's macros, we have
+% to load it's kernel for that.
+%
+% Revision 1.2 1995/03/13 23:18:10 schrod
+% Started to manage this package with CVS. Made minor code cleanup.
+%
+% Revision 1.1 1994/10/16 16:57:30 schrod
+% Merged macros from local.tex, codes.tex, and language.tex. This
+% new file is mainly there to provide upward compatibility for our old
+% documents.
+%
+%
+%
+% pre-CVS Version History:
+%
+% DATE WHO REMARKS
+% 91-01-18 js set all extended characters to code invalid
+% 90-12-23 js added the definition of \ExtendChar for usage in codes.tex.
+% 90-10-06 js renamed from dlocal to local, it's now international,
+% adapted to TeX 3:
+% included codes.tex and langdef.tex if they exist,
+% assumed that language.tex is already loaded,
+% defined German parameters as a language hook,
+% removed first \allowhyphens in \uml@ut,
+% documented it with MAKEPROG.
+% 89-10-27 js was reworked for ILaTeX
+% 89-05-31 js defined \| as a separator for ligatures in text mode
+% 87-10-01 js introduced \protect,
+% set parameters for German page makeup
+% 87-??-?? kg first release
+%
+% kg: Klaus Guntermann <gunterma@<schrod@iti.informatik.th-darmstadt.de>
+% js: Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Local Variables:
+mode: plain-TeX
+TeX-master: t
+TeX-brace-indent-level: 4
+End:
diff --git a/Master/texmf-dist/doc/plain/jsmisc/deutsch.tex b/Master/texmf-dist/doc/plain/jsmisc/deutsch.tex
new file mode 100644
index 00000000000..26f3e3719d6
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/jsmisc/deutsch.tex
@@ -0,0 +1,350 @@
+% $Id: deutsch.doc,v 1.4 1995/07/30 13:23:56 schrod Exp $
+%----------------------------------------------------------------------
+% Written by Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>.
+% This file is distributed without any copyright restriction.
+
+%
+% deutsch.doc -- typeset German documents with plain TeX.
+%
+% [TeX in MAKEPROG]
+% (history at end)
+
+
+%%%%
+%%%%
+%%%% These TeX macros were documented with the documentation system
+%%%% MAKEPROG and automatically converted to the current form.
+%%%% If you have MAKEPROG available you may transform it back to
+%%%% the original input: Remove every occurence of three percents
+%%%% and one optional blank from the beginning of a line and remove
+%%%% every line which starts with four percents. The following lex
+%%%% program will do this:
+%%%%
+%%%% %%
+%%%%
+%%%% ^%%%\ ? ;
+%%%% ^%%%%.*\n ;
+%%%%
+%%%% If you just want to print the documentation you may fetch
+%%%% the archive print-makeprog.tar.Z from ftp.th-darmstadt.de (directory
+%%%% pub/tex/latex). It contains *all* used styles -- but beware, they
+%%%% may not be in a documented form...
+%%%%
+%%%%
+%%% \input progdoc
+
+%%% \input names.sty
+%%% \def\babel{{\sf babel}}
+
+
+
+%%% \title{Typesetting German Documents with Plain \TeX{}}
+
+
+
+%%% \chap Introduction.
+
+%%% There are several defencies of plain \TeX{} if used for German
+%%% documents:
+
+%%% \item{---} Mappings of national characters (`umlauts' and `sharp~s')
+%%% to macros or to other character codes (if special fonts are available)
+%%% are missing.
+
+%%% \item{---} \TeX{} produces lots of overfull hboxes for German texts.
+%%% That's because the words there are usually longer than English ones.
+%%% Furthermore we have to use much more hyphenation for German texts than
+%%% for English ones, narrow typesetting is more important than few
+%%% hyphenations. In particular, words with umlauts are not hyphenated
+%%% often anyhow, even with the `multiple-word' approach from |german.sty|.
+
+%%% \item{---} It is typographic usage that between compound words
+%%% ligatures are not built. Plain~\TeX{} has no easy, readable way to
+%%% provide this.
+
+%%% \noindent This file does the according definitions. They are quite
+%%% often only a kludge. But it is hard to make the restrictions
+%%% disappear, sometimes it is even impossible within the current
+%%% implementation of \TeX{}---and there will never be any other
+%%% implementation. So we must live with these kludges.
+
+
+%%% \sect Of course, there is more to German typesetting. Hyphenation,
+%%% also for words with umlauts and sharp~s, etc. This basic
+%%% functionality is supplied by the \babel{} system and DANTE's
+%%% |german.sty|, we have to load the appropriate module.
+
+%%% There's one problem, though. \babel{}~3.5 defines
+%%% |\DeclareTextSymbol|, a symbol used by |german.sty| to decide if it
+%%% shall use NFSS code to access symbols. But that usage will lead to an
+%%% endless recursion, because some text symbols are defined by
+%%% themselves. I don't know if that problem is caused by \babel{}'s code
+%%% or by its usage in |german.sty| -- turning it off seems to be an
+%%% appropriate fix.
+
+%%% \beginprog
+\let\DeclareTextSymbol\undefined
+\input german.sty
+%%% \endprog
+
+
+%%% \sect But before we start we declare some shorthands for category
+%%% codes. By declaring the at sign~(`|@|') as well as the
+%%% underscore~`(|_|)' as letters we can use them in our macros. (I
+%%% agree with D.~Knuth that |\identifier_several_words_long| is more
+%%% readable than |\IdentifierSeveralWordsLong| and in every case better
+%%% than |\p@@@s|.) With the at sign we can use the ``private'' Plain
+%%% macros and with the underscore we can make our own macros more
+%%% readable. But as we have to restore these category codes at the end
+%%% of this macro file we store their former values in control
+%%% sequences. This method is better than to use
+%%% a group because not all macros have to be defined global this way.
+
+%%% \beginprog
+\ifx \CatEscape\undefined
+ \chardef\CatEscape=0
+ \chardef\CatOpen=1
+ \chardef\CatClose=2
+ \chardef\CatIgnore=9
+ \chardef\CatLetter=11
+ \chardef\CatOther=12
+ \chardef\CatActive=13 % \active of plain.tex
+ \chardef\CatInvalid=15
+
+ \chardef\CatAtCode=\catcode`\@
+ \chardef\CatUsCode=\catcode`\_
+\fi
+
+\catcode`\@=\CatLetter % top level macro file
+\catcode`\_=\CatLetter
+%%% \endprog
+
+
+%%% \sect Let's identify this macro file against the user and in the Log file.
+
+%%% \beginprog
+\begingroup
+ \catcode`\$=\CatIgnore
+ \catcode`\:=\CatIgnore
+ \message{Support for German documents, $Revision: 1.4 $}
+\endgroup
+%%% \endprog
+
+
+
+%%% \chap National Characters.
+
+%%% By default no extended characters are available, except those defined
+%%% below. I.e., we start to treat all characters from |"7F| to |"FF| as
+%%% invalid characters.
+
+%%% \beginprog
+\count@="7F
+\loop
+ \catcode \the\count@ = \CatInvalid
+ \advance\count@ by 1
+ \ifnum \count@ < "100
+\repeat
+%%% \endprog
+
+
+%%% \sect We provide a command for the definition of non-ASCII characters:
+%%% |\ExtendChar|. A sample definition of an ``Umlaut-a''~(\"a) in the
+%%% extended code of an IBM~PC (hex code~|"84|) is:
+%%% $$
+%%% |\ExtendChar\^^84: {^^84}{\"a}|
+%%% $$
+%%% First the hex code is given as a control sequence, followed by a
+%%% colon. Afterwards come two parameters, the first is again the hex
+%%% code, the second is the token list which should be used instead of the
+%%% hex code.
+
+%%% The macro definition is rather easy, we just have to make the
+%%% respective character active and bind it to it's new meaning.
+
+%%% \beginprog
+\def\ExtendChar #1:{%
+ \catcode`#1 \CatActive
+ \extend_char
+ }
+\def\extend_char #1#2{%
+ \def #1{#2}%
+ }
+%%% \endprog
+
+
+%%% \sect Now we can define some replacements.
+
+%%% The braces after the control sequences are needed when characters from
+%%% the extended character set are written to an auxiliary file and read
+%%% in later. During the |\write| they are expanded and following white
+%%% space would be gobbled if the braces would not be there.
+
+%%% \beginprog
+% ISO-Latin-1
+\ExtendChar\^^c4: {^^c4}{\"A}
+\ExtendChar\^^d6: {^^d6}{\"O}
+\ExtendChar\^^dc: {^^dc}{\"U}
+\ExtendChar\^^df: {^^df}{\ss{}}
+\ExtendChar\^^e4: {^^e4}{\"a}
+\ExtendChar\^^f6: {^^f6}{\"o}
+\ExtendChar\^^fc: {^^fc}{\"u}
+
+% IBM PC (code page 850)
+\ExtendChar\^^81: {^^81}{\"u}
+\ExtendChar\^^84: {^^84}{\"a}
+\ExtendChar\^^8e: {^^8e}{\"A}
+\ExtendChar\^^94: {^^94}{\"o}
+\ExtendChar\^^99: {^^99}{\"O}
+\ExtendChar\^^9a: {^^9a}{\"U}
+\ExtendChar\^^e1: {^^e1}{\ss{}} % actually \beta, used as \ss in Germany
+
+% Atari ST (like IBM PC, but with a real `sharp~s')
+\ExtendChar\^^9e: {^^9e}{\ss{}}
+%%% \endprog
+
+
+
+%%% \chap Paragraph Breaking.
+
+%%% As outlined in the introduction, we allow longer interword spaces. A
+%%% line now may have a badness up to 2500, over 1500 a warning is to be
+%%% given. Furthermore the penalties for hyphenation are lowered because a
+%%% narrow typesetting is preferred against few hyphenations.
+
+%%% These values are still experimental and should be tuned.
+
+%%% As |german.sty| uses \babel{} compatible structure, the german
+%%% language hook is a good place to store such definitions. But to
+%%% use \babel{}'s convenient macros, too, we have to assure that it's
+%%% kernel code is loaded first.
+
+%%% \beginprog
+\ifx \babel@core@loaded\undefined
+ \input babel.def
+\fi
+\addto\extrasgerman{%
+ \babel@savevariable\tolerance
+ \babel@savevariable\hbadness
+ \babel@savevariable\doublehyphendemerits
+ \babel@savevariable\finalhyphendemerits
+ \babel@savevariable\adjdemerits
+ \tolerance 2500 \hbadness 1500
+ \doublehyphendemerits 50000
+ \finalhyphendemerits 25000
+ \adjdemerits 50000
+ }
+%%% \endprog
+
+
+%%% \sect In some languages ligatures should not appear between compound
+%%% words. We use {\tt \string\|\/} to mark those places. This is only
+%%% done within text mode, in math mode {\tt \string\|\/} is still
+%%% `$\|$'. But it is sure that one can always hyphenate between compound
+%%% words, so we insert |\-|. To allow the hyphenation in other parts of
+%%% the word though, we use |\allowhyphens| again.
+
+%%% \beginprog
+\def\|{% % break open a ligature (if not in math mode)
+ \relax
+ \ifmmode \Vert
+ \else \allowhyphens\-\allowhyphens
+ \fi
+ }
+%%% \endprog
+
+
+%%% \sect Don't use the dreaded `double quote special meaning' stuff of
+%%% |german.sty|. And use original umlauts. Already in M\"unster I voted
+%%% against it\dots
+
+%%% \beginprog
+\addto\extrasgerman{%
+ \mdqoff
+ \umlautlow
+ }
+%%% \endprog
+
+
+%%% \sect Define |\SwitchtoLanguage| for upward compatibility. It does
+%%% not really do the same, the old definition was more similar to
+%%% |\selectlanguage|. But other languages have to be declared
+%%% explicitely, that's not done by this macro file. So we just want to
+%%% make old documents processable.
+
+%%% \beginprog
+\def\SwitchtoLanguage#1{\language \csname l@#1\endcsname}
+%%% \endprog
+
+
+%%% \sect We are finished; switch to german language (to enable the new
+%%% extras defined above), restore the catcodes and prevent from following
+%%% garbage.
+
+%%% \beginprog
+\selectlanguage{german}
+
+\catcode`\@=\CatAtCode
+\catcode`\_=\CatUsCode
+
+\endinput
+%%% \endprog
+
+
+%%% %% \sect {\it Acknowledgements:}\quad I would like to thank XXX
+
+
+%%% \bye
+
+%%%
+%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% %
+%%% % $Log: deutsch.doc,v $
+%%% % Revision 1.4 1995/07/30 13:23:56 schrod
+%%% % Discard babel definition of \DeclareTextCommand before including
+%%% % german.sty, they are incompatible.
+%%% %
+%%% % Revision 1.3 1995/07/29 17:58:24 schrod
+%%% % Use german.sty, not germanb.sty. (babel 3.5 is not functional for
+%%% % plain TeX any more.) But we still want to use babel's macros, we have
+%%% % to load it's kernel for that.
+%%% %
+%%% % Revision 1.2 1995/03/13 23:18:10 schrod
+%%% % Started to manage this package with CVS. Made minor code cleanup.
+%%% %
+%%% % Revision 1.1 1994/10/16 16:57:30 schrod
+%%% % Merged macros from local.tex, codes.tex, and language.tex. This
+%%% % new file is mainly there to provide upward compatibility for our old
+%%% % documents.
+%%% %
+%%% %
+%%% %
+%%% % pre-CVS Version History:
+%%% %
+%%% % DATE WHO REMARKS
+%%% % 91-01-18 js set all extended characters to code invalid
+%%% % 90-12-23 js added the definition of \ExtendChar for usage in codes.tex.
+%%% % 90-10-06 js renamed from dlocal to local, it's now international,
+%%% % adapted to TeX 3:
+%%% % included codes.tex and langdef.tex if they exist,
+%%% % assumed that language.tex is already loaded,
+%%% % defined German parameters as a language hook,
+%%% % removed first \allowhyphens in \uml@ut,
+%%% % documented it with MAKEPROG.
+%%% % 89-10-27 js was reworked for ILaTeX
+%%% % 89-05-31 js defined \| as a separator for ligatures in text mode
+%%% % 87-10-01 js introduced \protect,
+%%% % set parameters for German page makeup
+%%% % 87-??-?? kg first release
+%%% %
+%%% % kg: Klaus Guntermann <gunterma@<schrod@iti.informatik.th-darmstadt.de>
+%%% % js: Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>
+
+
+%%%
+%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Local Variables:
+%%% mode: plain-TeX
+%%% TeX-master: t
+%%% TeX-brace-indent-level: 4
+%%% End:
diff --git a/Master/texmf-dist/doc/plain/jsmisc/idverb.doc b/Master/texmf-dist/doc/plain/jsmisc/idverb.doc
new file mode 100644
index 00000000000..79fb0b183dd
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/jsmisc/idverb.doc
@@ -0,0 +1,194 @@
+% $Id: idverb.doc,v 1.1 1995/03/13 23:18:11 schrod Exp $
+%----------------------------------------------------------------------
+% Written by Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>.
+% Copyright conditions see below.
+
+%
+% idverb.doc --- typeset identifiers verbatim
+%
+% [plain TeX in MAKEPROG]
+% (history at end)
+
+
+\input progdoc
+
+\input names.sty
+\def\v{{\tt \vbar\/}}
+
+
+
+\title{Identifiers Verbatim \`a la {\ttitlefont WEB}}
+
+
+
+\chap Introduction.
+
+This macro files allows to write identifiers in a \WEB{} like style,
+i.e.\ as {\tt \origvert identifier\origvert\/}. The identifiers are
+typeset verbatim in the monospace type face. The macros
+|\makevertother| and |\makevertactive| are available to activate and
+deactivate the special behaviour of the vertical bar.
+
+
+\sect This macro file uses the namespace |idv|.
+
+\beginprog
+\ifx \IdvLoaded\undefined
+ \def\IdvLoaded{$Revision: 1.1 $}
+\else \endinput \fi % <-- one line!
+\endprog
+
+
+\sect These macros are supported. Send bug reports, comments and
+repairs.
+
+The reference version may be retrieved via anonymous ftp from
+|ftp.th-darmstadt.de| [130.83.47.112], directory |pub/tex/plain|. It's
+placed there as a gzipped tar file. (The information on the
+IP~number is dated March 13, 1995. It might have changed, also this is very
+unlikely. Use your friendly nameserver.)
+
+
+\sect This is freely distributable software; you can redistribute it
+and/or modify it under the terms of the GNU General Public License as
+published by the Free Software Foundation; either version~2 of the
+License, or (at your option) any later version.
+
+This software is distributed in the hope that it will be useful, but
+{\bf without any warranty\/}; without even the implied warranty of
+{\bf merchantability\/} or {\bf fitness for a particular purpose}. See
+the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License in
+the file |License| along with this package; if not, write to the Free
+Software Foundation, Inc., 675~Mass Ave, Cambridge, MA~02139,~USA.
+
+
+\sect But before we start we declare some shorthands for category
+codes. By declaring the at sign~(`|@|') as well as the
+underscore~`(|_|)' as letters we can use them in our macros. (I agree
+with D.~Knuth that |\identifier_several_words_long| is more readable
+than |\IdentifierSeveralWordsLong| and in every case better than
+|\p@@@s|.) With the at sign we can use the ``private'' Plain macros
+and with the underscore we can make our own macros more readable. But
+as we have to restore these category codes at the end of this macro
+file we store their former values in control sequences. This method is
+better than to use a group because not all macros have to be defined
+global this way.
+
+Only the first macro file read in defines the |Cat| cseqs.
+
+\beginprog
+\ifx \CatEscape\undefined
+ \chardef\CatEscape=0
+ \chardef\CatOpen=1
+ \chardef\CatClose=2
+ \chardef\CatIgnore=9
+ \chardef\CatLetter=11
+ \chardef\CatOther=12
+ \chardef\CatActive=13 % \active of plain.tex
+ \chardef\CatInvalid=15
+
+ \chardef\CatAtCode=\catcode`\@
+ \chardef\CatUsCode=\catcode`\_
+\fi
+
+\catcode`\@=\CatLetter % top level macro file
+\catcode`\_=\CatLetter
+\endprog
+
+
+\sect Let's identify this macro file against the user and in the Log file.
+
+\beginprog
+\begingroup
+ \catcode`\$=\CatIgnore
+ \catcode`\:=\CatIgnore
+ \message{Verbatim identifiers, $Revision: 1.1 $}
+\endgroup
+\endprog
+
+
+\sect The usual verbatim macros use |\dospecials| to change the
+catcode of all special characters. We have to add `\v' to this list.
+The old meaning is stored in |\idv_OrigDospecials|.
+
+\beginprog
+\let\idv_OrigDospecials=\dospecials
+\begingroup
+ \def\do#1{\noexpand\do\noexpand#1}
+ \xdef\dospecials{\idv_OrigDospecials\do\|}
+\endgroup
+\let\idv_dospecials=\dospecials
+
+\def\makevertactive{\catcode`\|\CatActive \let\dospecials\idv_dospecials}
+\def\makevertother{\catcode`\|\CatOther \let\dospecials\idv_OrigDospecials}
+
+\makevertactive
+\endprog
+
+
+\sect Now we can define `\v'. This definition is a little bit tricky,
+as it redefines itself to |\egroup| to close the hbox. But if the hbox
+is ended, `\v' is restored to its original meaning. |\origvert| is
+given the original meaning of `\v'. |\vbar| is the character from the
+current font that has the ASCII code of a vertical bar, sometimes this
+{\it is\/} a vertical bar.
+
+\beginprog
+\let\origvert=|
+\chardef\vbar=`\|
+
+\def\idv_setup_verbatim{%
+ \def\do##1{\catcode`##1\CatOther}\idv_OrigDospecials
+ \parskip\z@skip \parindent\z@
+ \obeylines \obeyspaces \frenchspacing
+ \tt
+ }
+
+\def|{%
+ \leavevmode
+ \hbox\bgroup
+ \let\par\space \idv_setup_verbatim
+ \let|\egroup
+ }
+\endprog
+
+
+\sect We are finished;
+restore the catcodes and prevent from following garbage.
+
+\beginprog
+\catcode`\@=\CatAtCode
+\catcode`\_=\CatUsCode
+
+\endinput
+\endprog
+
+
+%% \sect {\it Acknowledgements:}\quad I would like to thank XXX
+
+
+\bye
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% $Log: idverb.doc,v $
+% Revision 1.1 1995/03/13 23:18:11 schrod
+% Started to manage this package with CVS. Made minor code cleanup.
+%
+
+%
+% Pre-CVS Log:
+%
+% 27 Jul 89 js Initial revision.
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Local Variables:
+mode: plain-TeX
+TeX-master: t
+TeX-brace-indent-level: 4
+End:
diff --git a/Master/texmf-dist/doc/plain/metatex/README b/Master/texmf-dist/doc/plain/metatex/README
new file mode 100644
index 00000000000..1e384d8e7ef
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/metatex/README
@@ -0,0 +1,92 @@
+
+\title METATeX
+
+\section What is METATeX?
+
+METATeX is a set of plain TeX and METAFONT macros that you can use to
+define both the text and the figures in a single source file. Because
+METATeX sets up two way communication, from TeX to METAFONT and back
+from METAFONT to TeX, drawing dimensions can be controlled by TeX and
+labels can be located by METAFONT. Only standard features of TeX and
+METAFONT are used, but two runs of TeX and one of METAFONT are needed.
+
+
+\section How to use METATeX?
+
+Please read the TUGboat paper on METATeX to get an explanation. The
+paper is provided here in pdf format (mtpaper.pdf). To recreate yourself
+the paper, you will need the plain TUGboat style files (tugboat.cmn and
+tugboat.sty), in addition to the sources located in the mtpaper subdir
+(mtpaper.tex, delay.mf, diagram.tex, frame.tex and shadow.tex),.
+
+The original TUGboat paper on METATeX is:
+
+"METATeX" by Ram\'on Casares.
+ TUGboat (ISSN 0896-3207)
+ Volume 23, Number 3/4, pp. 313-318, 2002.
+
+It is also available on-line:
+ http://www.tug.org/TUGboat/Articles/tb23-3-4/tb75casa.pdf
+
+
+\section Where to find METATeX?
+
+The home of METATeX is CTAN:
+
+ http://www.ctan.org/tex-archive/macros/plain/contrib/metatex/
+
+
+\section Bugs and comments
+
+Please address your comments and bug reports to (change # by @):
+
+ r.casares#computer.org
+
+I do not promise anything.
+
+
+\section Files
+
+METATeX comprises the following files:
+
+ metatex.tex
+ mtmp2pdf.tex
+ mtpaper.pdf
+ mtpaper/mtpaper.tex
+ mtpaper/delay.mf
+ mtpaper/diagram.tex
+ mtpaper/frame.tex
+ mtpaper/shadow.tex
+ README
+ gpl.txt
+
+
+\section License
+
+ METATeX.TeX communicates TeX and METAFONT
+ Copyright (C) 2003, 2004 Ram\'on Casares
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the
+ Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330,
+ Boston, MA 02111-1307 USA
+
+
+\section Versions
+
+ 1.1 Date 2004.08.12. File mptopdf.tex renamed to mtmp2pdf.tex.
+ 1.0 Date 2003.10.15. The first public version.
+
+
+\bye
diff --git a/Master/texmf-dist/doc/plain/metatex/gpl.txt b/Master/texmf-dist/doc/plain/metatex/gpl.txt
new file mode 100644
index 00000000000..98acb4ffd90
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/metatex/gpl.txt
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/Master/texmf-dist/doc/plain/metatex/mtmp2pdf.tex b/Master/texmf-dist/doc/plain/metatex/mtmp2pdf.tex
new file mode 100644
index 00000000000..6cc2b4841b4
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/metatex/mtmp2pdf.tex
@@ -0,0 +1,369 @@
+% MTMP2PDF.TeX (RMCG19970919)
+
+% MTMP2PDF.TeX converts from PostScript code (by METAPost) to PDF
+% Adapted by Ram\'on Casares from ConTeXt by PRAGMA
+% ConTeXt copyright={PRAGMA / Hans Hagen & Ton Otten}
+% Under the same terms as ConTeXt
+% http://www.pragma-ade.com/general/manuals/mreadme.pdf
+
+% \catcode`\@ should be 11
+
+\newcount\MPcounter
+\newdimen\MPdimen
+
+% POSTSCRIPT operators that METAPOST uses
+
+\def \PScurveto {curveto}
+\def \PSlineto {lineto}
+\def \PSmoveto {moveto}
+\def \PSshowpage {showpage}
+\def \PSnewpath {newpath}
+\def \PSfshow {fshow}
+\def \PSclosepath {closepath}
+\def \PSfill {fill}
+\def \PSstroke {stroke}
+\def \PSclip {clip}
+\def \PSrlineto {rlineto}
+\def \PSsetlinejoin {setlinejoin}
+\def \PSsetlinecap {setlinecap}
+\def \PSsetmiterlimit {setmiterlimit}
+\def \PSsetgray {setgray}
+\def \PSsetrgbcolor {setrgbcolor}
+\def \PSsetdash {setdash}
+\def \PSgsave {gsave}
+\def \PSgrestore {grestore}
+\def \PStranslate {translate}
+\def \PSscale {scale}
+\def \PSconcat {concat}
+\def \PSdtransform {dtransform}
+
+\def \PSBoundingBox {BoundingBox:}
+\def \PSHiResBoundingBox {HiResBoundingBox:}
+\def \PSExactBoundingBox {ExactBoundingBox:}
+\def \PSPage {Page:}
+
+% A stack
+
+\newcount\nofMPsegments
+\newcount\nofMParguments
+
+\def\@@MP{@@MP}
+
+\def\setMPargument#1{\advance\nofMParguments by 1
+ \expandafter\def
+ \csname\@@MP\the\nofMPsegments\the\nofMParguments\endcsname%
+ {\do#1}}
+
+\def\gMPa#1{\csname\@@MP0#1\endcsname}
+\def\gMPs#1{\csname\@@MP\the\nofMPsegments#1\endcsname}
+
+\def\setMPkeyword#1
+ {\expandafter\def\csname\@@MP\the\nofMPsegments0\endcsname{#1}%
+ \advance\nofMPsegments by 1 \nofMParguments=0\relax}
+
+\def\getMPkeyword#1{\csname\@@MP#10\endcsname}
+
+\def\resetMPstack{\catcode`\%=13 % active
+ \let\handleMPgraphic=\handleMPendgraphic
+ \def\resetMPstack{\nofMParguments=0\relax}%
+ \resetMPstack}
+
+% Ignore, most of times, ( and ), but with care
+% Take care, also of TeX specials
+
+\def\octalMPcharacter#1#2#3{\char'#1#2#3\relax}
+
+\bgroup
+\catcode`\|=14 \catcode`\%=13 \catcode`\[=13 \catcode`\]=13
+\catcode`\{=13 \catcode`\}=13 \catcode`B=1 \catcode`E=2
+\gdef\ignoreMPspecialsB\def%BE\def[BE\def]BE\def{BE\def}BEE
+\gdef\obeyMPspecialsB\def%B\char 37\relax E|
+ \def[B\char 91\relax E\def]B\char 93\relax E|
+ \def{B\char123\relax E\def}B\char125\relax EE
+\gdef\setMPspecialsB\catcode`\%=13
+ \catcode`\[=13 \catcode`\]=13 \catcode`\{=13 \catcode`\}=13
+ \catcode`\$=11 \catcode`\_=11 \catcode`\#=11 \catcode`\^=11
+ \catcode`\&=11 \catcode`\|=11 \catcode`\~=11
+ \def\(B\char40\relax E\def\)B\char41\relax E\def\\B\char92\relax E|
+ \def\0B\octalMPcharacter0E\def\1B\octalMPcharacter1E|
+ \def\2B\octalMPcharacter2E\def\3B\octalMPcharacter3E|
+ \def\4B\octalMPcharacter4E\def\5B\octalMPcharacter5E|
+ \def\6B\octalMPcharacter6E\def\7B\octalMPcharacter7E|
+ \def\8B\octalMPcharacter8E\def\9B\octalMPcharacter9EE
+\egroup
+
+% We use the comment symbol as a sort of trigger:
+
+\bgroup \catcode`\%=13
+\gdef\startMPscanning{\let%=\startMPconversion}
+\egroup
+
+\def\startMPconversion{\catcode`\%=9 \ignoreMPspecials \handleMPsequence}
+
+% The main loop.
+% Most arguments are numbers that can be recognized by their \lccode.
+
+\def\dohandleMPsequence#1#2 {\ifnum\lccode`#1=0 \setMPargument{#1#2}%
+ \else \edef\somestring{#1#2}\ifx\somestring\PSmoveto
+ \edef\lastMPmoveX{\gMPa1}\edef\lastMPmoveY{\gMPa2}%
+ \pdfliteral{\gMPa1 \gMPa2 m}\resetMPstack
+ \else\ifx\somestring\PSnewpath \let\handleMPsequence=\handleMPpath
+ \else\ifx\somestring\PSgsave \pdfliteral{q}\resetMPstack
+ \else\ifx\somestring\PSgrestore \pdfliteral{Q}\resetMPstack
+ \else\ifx\somestring\PSdtransform % == setlinewidth
+ \let\handleMPsequence=\handleMPdtransform
+ \else\ifx\somestring\PSconcat
+ \pdfliteral{\gMPa1 \gMPa2 \gMPa3 \gMPa4 \gMPa5 \gMPa6 cm}\resetMPstack
+ \else\ifx\somestring\PSsetrgbcolor
+ \pdfliteral{\gMPa1 \gMPa2 \gMPa3 rg \gMPa1 \gMPa2 \gMPa3 RG}%
+ \resetMPstack
+ \else\ifx\somestring\PSsetgray \pdfliteral{\gMPa1 g \gMPa1 G}\resetMPstack
+ \else\ifx\somestring\PStranslate
+ \pdfliteral{1 0 0 1 \gMPa1 \gMPa2 cm}\resetMPstack
+ \else\ifx\somestring\PSsetdash \handleMPsetdash \resetMPstack
+ \else\ifx\somestring\PSsetlinejoin \pdfliteral{\gMPa1 j}\resetMPstack
+ \else\ifx\somestring\PSsetmiterlimit \pdfliteral{\gMPa1 M}\resetMPstack
+ \else\ifx\somestring\PSfshow \handleMPfshow \resetMPstack
+ \else\ifx\somestring\PSsetlinecap \pdfliteral{\gMPa1 J}\resetMPstack
+ \else\ifx\somestring\PSrlineto
+ \pdfliteral{\lastMPmoveX\space \lastMPmoveY\space l S}\resetMPstack
+ \else\ifx\somestring\PSscale
+ \pdfliteral{\gMPa1 0 0 \gMPa2 0 0 cm}\resetMPstack
+ \else \handleMPgraphic{#1#2}%
+ \fi\fi\fi\fi\fi\fi\fi\fi \fi\fi\fi\fi\fi\fi\fi\fi \fi
+ \handleMPsequence}
+
+% Graphics
+
+\def\handleMPendgraphic#1{\ifx\somestring\PSshowpage
+ \let\handleMPsequence=\finishMPgraphic \else
+ \setMPargument{#1}\fi}
+
+\def\handleMPbegingraphic#1{\ifx\somestring\PSBoundingBox
+ \let\handleMPsequence=\handleMPboundingbox
+ \else\ifx\somestring\PSHiResBoundingBox
+ \let\handleMPsequence=\handleMPboundingbox
+ \else\ifx\somestring\PSExactBoundingBox
+ \let\handleMPsequence=\handleMPboundingbox
+ \else\ifx\somestring\PSPage
+ \let\handleMPsequence=\handleMPpage
+ \else \setMPargument{#1}\fi\fi\fi\fi}
+
+\let\handleMPgraphic=\handleMPbegingraphic
+
+% There are three kind of bounding boxes:
+% BoundingBox: llx lly ucx ucy
+% HiResBoundingBox: llx lly ucx ucy
+% ExactBoundingBox: llx lly ucx ucy
+% The dimensions are saved for later use.
+
+\def\handleMPboundingbox #1 #2 #3 #4 {\nofMParguments=0
+ \let\handleMPsequence=\dohandleMPsequence \handleMPsequence}
+
+% The page comment is a signal that stackbuilding can be started
+
+\def\handleMPpage #1 #2 {\nofMParguments=0
+ \let\handleMPsequence=\dohandleMPsequence \handleMPsequence}
+
+% METAPOST: 0 0 rlineto
+
+\def\lastMPmoveX{0}\def\lastMPmoveY{0}
+
+% Text
+
+{\catcode`\.=12 \catcode`\p=12 \catcode`\t=12
+ \gdef\WITHOUTPT#1pt{#1}}
+\def\withoutpt#1{\expandafter\WITHOUTPT#1}
+\def\ScaledPointsToBigPoints#1#2{\MPdimen=#1sp\relax
+ \MPdimen=.996264\MPdimen \edef#2{\withoutpt{\the\MPdimen}}}
+
+\def\handleMPfshow{\setbox0=\hbox{\obeyMPspecials
+ \edef\size{\gMPa{\the\nofMParguments} }%
+ \advance\nofMParguments by -1
+ \font\temp=\gMPa{\the\nofMParguments} at \size bp
+ \advance\nofMParguments by -1 \temp
+ \ifnum\nofMParguments=1 \def\do(##1){##1}\gMPa1%
+ \else \MPcounter=1
+ \def\do(##1{##1}\gMPa{\the\MPcounter}\space\def\do{}%
+ \loop \advance\MPcounter by 1
+ \ifnum\MPcounter<\nofMParguments \gMPa{\the\MPcounter}\space\repeat
+ \def\do##1){##1}\gMPa{\the\MPcounter}%
+ \fi
+ \unskip}%
+ \dimen0=\lastMPmoveY bp \advance\dimen0 by \ht0
+ \ScaledPointsToBigPoints{\number\dimen0}\lastMPmoveY
+ \pdfliteral{n q 1 0 0 1 \lastMPmoveX\space\lastMPmoveY\space cm}%
+ \dimen0=\ht0 \advance\dimen0 by \dp0 \box0 \vskip-\dimen0
+ \pdfliteral{Q}}
+
+
+% Take care of dashes
+
+\def\handleMPsetdash{\bgroup \def\somestring{[}\MPcounter=1
+ \loop \ifnum\MPcounter<\nofMParguments
+ \edef\somestring{\somestring\space\gMPa{\the\MPcounter}}%
+ \advance\MPcounter by 1 \repeat
+ \edef\somestring{\somestring]\gMPa{\the\MPcounter} d}%
+ \pdfliteral{\somestring}\egroup}
+
+% setlinewidth
+
+\def\handleMPdtransform{\ifdim\gMPa1pt>0pt
+ \pdfliteral{\gMPa1 w}%
+ \def\next##1 ##2 ##3 ##4 ##5 ##6 {\handleMPsequence}\else
+ \pdfliteral{\gMPa2 w}%
+ \def\next##1 ##2 ##3 ##4 {\handleMPsequence}\fi
+ \let\handleMPsequence=\dohandleMPsequence \resetMPstack
+ \next}
+
+% Paths, concat
+
+\def\handleMPpath{\chardef\finiMPpath=0
+ \let\closeMPpath=\relax \let\flushMPpath=\flushnormalMPpath
+ \resetMPstack \nofMPsegments=1
+ \let\handleMPsequence=\dohandleMPpath \dohandleMPpath}
+
+\def\flushnormalMPpath{\MPcounter=\nofMPsegments \nofMPsegments=1
+ \loop \expandafter\ifcase\getMPkeyword{\the\nofMPsegments}\relax
+ \pdfliteral{\gMPs1 \gMPs2 l}\or
+ \pdfliteral{\gMPs1 \gMPs2 \gMPs3 \gMPs4 \gMPs5 \gMPs6 c}\or
+ \pdfliteral{\lastMPmoveX\space \lastMPmoveY\space l S}\or
+ \edef\lastMPmoveX{\gMPs1}\edef\lastMPmoveY{\gMPs2}%
+ \pdfliteral{\lastMPmoveX\space \lastMPmoveY\space m}\fi
+ \advance\nofMPsegments by 1\relax
+ \ifnum\nofMPsegments<\MPcounter \repeat}
+
+\def\flushconcatMPpath{\MPcounter=\nofMPsegments \nofMPsegments=1
+ \loop \expandafter\ifcase\getMPkeyword{\the\nofMPsegments}\relax
+ \doMPconcat{\gMPs1}\a{\gMPs2}\b \pdfliteral{\a\space \b\space l}%
+ \or
+ \doMPconcat{\gMPs1}\a{\gMPs2}\b
+ \doMPconcat{\gMPs3}\c{\gMPs4}\d
+ \doMPconcat{\gMPs5}\e{\gMPs6}\f
+ \pdfliteral{\a\space \b\space \c\space \d\space \e\space \f\space c}%
+ \or
+ \bgroup \noMPtranslate \doMPconcat\lastMPmoveX\a\lastMPmoveY\b
+ \pdfliteral{\a\space \b\space l S}\egroup
+ \or
+ \edef\lastMPmoveX{\gMPs1}\edef\lastMPmoveY{\gMPs2}%
+ \doMPconcat\lastMPmoveX\a\lastMPmoveY\b
+ \pdfliteral{\a\space \b\space m}%
+ \fi
+ \advance\nofMPsegments by 1\relax
+ \ifnum\nofMPsegments<\MPcounter \repeat}
+
+% The transformation of the coordinates
+
+\def\MPconcatfactor{256}
+
+\def\doMPreducedimen#1 {\count0=\MPconcatfactor
+ \advance\dimen#1 \ifdim\dimen#1>0pt .5\else -.5\fi\count0
+ \divide\dimen#1 \count0\relax}
+
+\def\doMPexpanddimen#1 {\multiply\dimen#1 \MPconcatfactor\relax}
+
+\def\presetMPconcat%
+ {\dimen 0=\gMPs1 pt \doMPreducedimen 0 % r_x
+ \dimen 2=\gMPs2 pt \doMPreducedimen 2 % s_x
+ \dimen 4=\gMPs3 pt \doMPreducedimen 4 % s_y
+ \dimen 6=\gMPs4 pt \doMPreducedimen 6 % r_y
+ \dimen 8=\gMPs5 pt \doMPreducedimen 8 % t_x
+ \dimen10=\gMPs6 pt \doMPreducedimen10 } % t_y
+
+\def\presetMPscale%
+ {\dimen 0=\gMPs1 pt \doMPreducedimen 0
+ \dimen 2=0pt
+ \dimen 4=0pt
+ \dimen 6=\gMPs2 pt \doMPreducedimen 6
+ \dimen 8=0pt
+ \dimen10=0pt }
+
+\def\noMPtranslate% use this one grouped
+ {\dimen 8=0pt % t_x
+ \dimen10=0pt } % t_y
+
+\def\doMPconcat#1#2#3#4%
+ {\dimen12=#1 pt \doMPreducedimen12 % p_x
+ \dimen14=#3 pt \doMPreducedimen14 % p_y
+ %
+ \dimen16 \dimen 0
+ \multiply \dimen16 \dimen 6
+ \dimen20 \dimen 2
+ \multiply \dimen20 \dimen 4
+ \advance \dimen16 -\dimen20
+ %
+ \dimen18 \dimen12
+ \multiply \dimen18 \dimen 6
+ \dimen20 \dimen14
+ \multiply \dimen20 \dimen 4
+ \advance \dimen18 -\dimen20
+ \dimen20 \dimen 4
+ \multiply \dimen20 \dimen10
+ \advance \dimen18 \dimen20
+ \dimen20 \dimen 6
+ \multiply \dimen20 \dimen 8
+ \advance \dimen18 -\dimen20
+ %
+ \multiply \dimen12 -\dimen 2
+ \multiply \dimen14 \dimen 0
+ \advance \dimen12 \dimen14
+ \dimen20 \dimen 2
+ \multiply \dimen20 \dimen 8
+ \advance \dimen12 \dimen20
+ \dimen20 \dimen 0
+ \multiply \dimen20 \dimen10
+ \advance \dimen12 -\dimen20
+ %
+ \doMPreducedimen16
+ \divide \dimen18 \dimen16 \doMPexpanddimen18
+ \divide \dimen12 \dimen16 \doMPexpanddimen12
+ %
+ \edef#2{\withoutpt{\the\dimen18}}% % p_x^\prime
+ \edef#4{\withoutpt{\the\dimen12}}} % p_y^\prime
+
+\def\processMPpath{\flushMPpath \closeMPpath
+ \pdfliteral{\ifcase\finiMPpath W n\or S\or f\or B\fi}%
+ \let\handleMPsequence=\dohandleMPsequence
+ \resetMPstack \nofMPsegments=0 \handleMPsequence}
+
+\def\handleMPpathconcat{\presetMPconcat
+ \pdfliteral{\gMPs1 \gMPs2 \gMPs3 \gMPs4 \gMPs5 \gMPs6 cm}%
+ \resetMPstack}
+
+\def\handleMPpathscale{\presetMPscale
+ \pdfliteral{\gMPs1 0 0 \gMPs2 0 0 cm}\resetMPstack}
+
+\def\dohandleMPpath#1#2 {\ifnum\lccode`#1=0 \setMPargument{#1#2}%
+ \else \def\somestring{#1#2}\ifx\somestring\PSlineto \setMPkeyword0
+ \else\ifx\somestring\PScurveto \setMPkeyword1
+ \else\ifx\somestring\PSrlineto \setMPkeyword2
+ \else\ifx\somestring\PSmoveto \setMPkeyword3
+ \else\ifx\somestring\PSclip \let\handleMPsequence=\processMPpath
+ \else\ifx\somestring\PSgsave \chardef\finiMPpath=3
+ \else\ifx\somestring\PSgrestore
+ \else\ifx\somestring\PSfill
+ \ifnum\finiMPpath=0
+ \chardef\finiMPpath=2 \let\handleMPsequence=\processMPpath \fi
+ \else\ifx\somestring\PSstroke
+ \ifnum\finiMPpath=0 \chardef\finiMPpath=1 \fi
+ \let\handleMPsequence=\processMPpath
+ \else\ifx\somestring\PSclosepath \def\closeMPpath{\pdfliteral{h}}%
+ \else\ifx\somestring\PSconcat
+ \let\flushMPpath=\flushconcatMPpath \handleMPpathconcat
+ \else\ifx\somestring\PSscale
+ \let\flushMPpath\flushconcatMPpath \handleMPpathscale
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \handleMPsequence}
+
+% The main conversion command
+
+\def\MPtoPDF#1{\bgroup
+ \setMPspecials\startMPscanning\def\do{}%
+ \setbox0=\vbox\bgroup
+ \parskip=0pt \leftskip=0pt \parindent=0pt \everypar{}\offinterlineskip
+ \pdfliteral{q}\let\handleMPsequence=\dohandleMPsequence
+ \input #1 \relax}
+
+\def\finishMPgraphic{\pdfliteral{Q}\egroup\box0\egroup}
+
+\endinput
diff --git a/Master/texmf-dist/doc/plain/metatex/mtpaper.pdf b/Master/texmf-dist/doc/plain/metatex/mtpaper.pdf
new file mode 100644
index 00000000000..80953ce70b1
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/metatex/mtpaper.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/plain/metatex/mtpaper/delay.mf b/Master/texmf-dist/doc/plain/metatex/mtpaper/delay.mf
new file mode 100644
index 00000000000..72bafc9f173
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/metatex/mtpaper/delay.mf
@@ -0,0 +1,301 @@
+% DELAY.MF (RMCG19950405)
+
+% DELAY.MF delays the actual drawing till the endchar;
+% Copyright (C) 2003 Ram\'on Casares
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program; if not, write to the
+% Free Software Foundation, Inc.,
+% 59 Temple Place, Suite 330,
+% Boston, MA 02111-1307 USA
+
+def clear_del =
+ save _dn, _del; _dn := 0; string _del[];
+enddef;
+
+def make_del =
+ for k := 1 upto _dn: scantokens _del[k]; endfor
+enddef;
+
+extra_beginchar := extra_beginchar & "clear_del;";
+extra_endchar := "make_del;" & extra_endchar;
+
+def MTlabel(suffix i)(expr v,h,add,wd,ht,dp) =
+ x.i.l = x.i if h="c": - wd/2 elseif h="r": - wd fi;
+ y.i.t = y.i if v="c": + ht/2 elseif v="b": + ht fi;
+ x.i.r = x.i.l + wd; y.i.b = y.i.t - ht - dp;
+ if not (add=""): _del[incr _dn] := "_delete(" & str i & ");"; fi
+ _del[incr _dn] := "_pos(" & str i & ");";
+enddef;
+
+def _delete(suffix i) = erase fill (x.i.l,y.i.t) --
+ (x.i.l,y.i.b) -- (x.i.r,y.i.b) -- (x.i.r,y.i.t) -- cycle;
+enddef;
+
+def _pos(suffix i) =
+ message"\MTloglabel"; show x\i/pt; show y\i/pt; message"";
+enddef;
+
+pickup pencircle scaled 0.4pt; thin_pen:=savepen;
+pickup pencircle scaled 0.8pt; med_pen:=savepen;
+pickup pencircle scaled 1.2pt; thick_pen:=savepen;
+
+def thinpen = pickup thin_pen;
+ _del[incr _dn] := "pickup thin_pen;";
+enddef;
+
+def medpen = pickup med_pen;
+ _del[incr _dn] := "pickup med_pen;";
+enddef;
+
+def thickpen = pickup thick_pen;
+ _del[incr _dn] := "pickup thick_pen;";
+enddef;
+
+def rectangle(suffix s)(expr width,height) =
+ x.s.l = x.s - width/2; x.s.r = x.s + width/2;
+ y.s.t = y.s + height/2; y.s.b = y.s - height/2;
+ _del[incr _dn] := "_rectangle(" & str s & ");";
+enddef;
+
+def _rectangle(suffix s) =
+ draw (x.s.l,y.s.b) -- (x.s.r,y.s.b) --
+ (x.s.r,y.s.t) -- (x.s.l,y.s.t) -- cycle;
+enddef;
+
+def square(suffix s)(expr side) =
+ x.s.l = x.s - side/2; x.s.r = x.s + side/2;
+ y.s.t = y.s + side/2; y.s.b = y.s - side/2;
+ _del[incr _dn] := "_square(" & str s & ");";
+enddef;
+
+def _square(suffix s) =
+ draw (x.s.l,y.s.b) -- (x.s.r,y.s.b) --
+ (x.s.r,y.s.t) -- (x.s.l,y.s.t) -- cycle;
+enddef;
+
+def ellipse(suffix s)(expr width,height) =
+ x.s.l = x.s - width/2; x.s.r = x.s + width/2;
+ y.s.t = y.s + height/2; y.s.b = y.s - height/2;
+ _del[incr _dn] := "_ellipse(" & str s & ");";
+enddef;
+
+def _ellipse(suffix s) =
+ draw (fullcircle xscaled (x.s.r - x.s.l) yscaled (y.s.t - y.s.b)
+ shifted z.s);
+enddef;
+
+def circle(suffix s)(expr diameter) =
+ x.s.l = x.s - diameter/2; x.s.r = x.s + diameter/2;
+ y.s.t = y.s + diameter/2; y.s.b = y.s - diameter/2;
+ _del[incr _dn] := "_circle(" & str s & ");";
+enddef;
+
+def _circle(suffix s) =
+ draw (fullcircle scaled (x.s.r - x.s.l) shifted z.s);
+enddef;
+
+def oval(suffix s)(expr width,height,superness) =
+ x.s.l = x.s - width/2; x.s.r = x.s + width/2;
+ y.s.t = y.s + height/2; y.s.b = y.s - height/2;
+ x.s.ness = superness;
+ _del[incr _dn] := "_oval(" & str s & ");";
+enddef;
+
+def _oval(suffix s) =
+ draw superellipse((x.s.r,y.s),(x.s,y.s.t),(x.s.l,y.s),(x.s,y.s.b),
+ x.s.ness);
+enddef;
+
+def triangle(suffix s)(expr width,height) =
+ x.s.l = x.s - width/2; x.s.r = x.s + width/2;
+ y.s.t = y.s + height/2; y.s.b = y.s - height/2;
+ _del[incr _dn] := "_triangle(" & str s & ");";
+enddef;
+
+def _triangle(suffix s) =
+ draw (x.s.l,y.s.b) -- (x.s.r,y.s.b) -- (x.s,y.s.t) -- cycle;
+enddef;
+
+def lozenge(suffix s)(expr width,height) =
+ x.s.l = x.s - width/2; x.s.r = x.s + width/2;
+ y.s.t = y.s + height/2; y.s.b = y.s - height/2;
+ _del[incr _dn] := "_lozenge(" & str s & ");";
+enddef;
+
+def _lozenge(suffix s) =
+ draw (x.s.l,y.s) -- (x.s,y.s.b) --
+ (x.s.r,y.s) -- (x.s,y.s.t) -- cycle;
+enddef;
+
+dot_diameter := 2.4pt;
+
+def dot(suffix s) =
+ x.s.dd = dot_diameter;
+ _del[incr _dn] := "_dot(" & str s & ");";
+enddef;
+
+def _dot(suffix s) =
+ fill fullcircle scaled x.s.dd shifted z.s;
+enddef;
+
+def line(suffix s) =
+ _del[incr _dn] := "_line(" & str s & ");";
+enddef;
+
+def _line(suffix s) =
+ draw z.s.o -- z.s.d;
+enddef;
+
+dash_length := 4pt;
+
+def dottedline(suffix s) =
+ x.s.dl = dash_length; x.s.dd = dot_diameter;
+ _del[incr _dn] := "_dottedline(" & str s & ");";
+enddef;
+
+def _dottedline(suffix s) =
+ begingroup save p, n;
+ path p; p = z.s.o -- z.s.d;
+ n := floor(length(z.s.d-z.s.o)/abs(x.s.dl));
+ for i := 0 upto n:
+ fill fullcircle scaled x.s.dd shifted (point i/n of p);
+ endfor endgroup
+enddef;
+
+def dashedline(suffix s) =
+ x.s.dl = dash_length;
+ _del[incr _dn] := "_dashedline(" & str s & ");";
+enddef;
+
+def _dashedline(suffix s) =
+ begingroup save p, n;
+ path p; p = z.s.o -- z.s.d;
+ n := floor(length(z.s.d-z.s.o)/abs(x.s.dl));
+ if not (odd n): n := n + 1; fi
+ for i := 0 upto (n-1): if not (odd i):
+ draw subpath(i/n,(i+1)/n) of p;
+ fi endfor endgroup
+enddef;
+
+arrow_head_length := 6pt;
+arrow_head_width := 2.4pt;
+
+def arrowhead(suffix s) =
+ x.s.ahl = arrow_head_length; x.s.ahw = arrow_head_width;
+ _del[incr _dn] := "_arrowhead(" & str s & ");";
+enddef;
+
+def _arrowhead(suffix s) =
+ z.s.dh = (x.s.ahl/length(z.s.d-z.s.o))[z.s.d,z.s.o];
+ z.s.dr = z.s.dh + x.s.ahw / 2 * dir(angle(z.s.d-z.s.o)+90);
+ z.s.dl = z.s.dh + x.s.ahw / 2 * dir(angle(z.s.d-z.s.o)-90);
+ fill z.s.d -- z.s.dr -- z.s.dl -- cycle;
+enddef;
+
+def arrow(suffix s) =
+ arrowhead(s);
+ _del[incr _dn] := "_arrow(" & str s & ");";
+enddef;
+
+def _arrow(suffix s) =
+ draw z.s.o .. z.s.dh;
+enddef;
+
+def cillinder(suffix s)(expr width,height) =
+ x.s.l = x.s - 1/2width; x.s.r = x.s + 1/2width;
+ y.s.b = y.s - 1/2height; y.s.t = y.s + 1/2height;
+ y.s.ar = 1/6height;
+ _del[incr _dn] := "_cillinder(" & str s & ");";
+enddef;
+
+def _cillinder(suffix s) =
+ draw (x.s.l,y.s.t-y.s.ar) -- (x.s.l,y.s.b+y.s.ar);
+ draw (x.s.r,y.s.t-y.s.ar) -- (x.s.r,y.s.b+y.s.ar);
+ draw (x.s.l,y.s.b+y.s.ar){down} .. (x.s,y.s.b){right}
+ .. (x.s.r,y.s.b+y.s.ar){up};
+ draw (x.s.l,y.s.t-y.s.ar){down} .. (x.s,y.s.t-2y.s.ar){right}
+ .. (x.s.r,y.s.t-y.s.ar){up} .. (x.s,y.s.t){left} .. cycle;
+enddef;
+
+join_radius := 5pt;
+
+def box(suffix s)(expr width,height) =
+ x.s.l = x.s - width/2; x.s.r = x.s + width/2;
+ y.s.t = y.s + height/2; y.s.b = y.s - height/2;
+ x.s.jr = join_radius;
+ _del[incr _dn] := "_box(" & str s & ");";
+enddef;
+
+def _box(suffix s) =
+ if min((x.s.r-x.s.l),(y.s.t-y.s.b)) > 2x.s.jr:
+ draw (((x.s,y.s.b) .. (x.s.r,y.s.b)) softjoin
+ ((x.s.r,y.s.b) .. (x.s.r,y.s.t)) softjoin
+ ((x.s.r,y.s.t) .. (x.s.l,y.s.t)) softjoin
+ ((x.s.l,y.s.t) .. (x.s.l,y.s.b)) softjoin
+ ((x.s.l,y.s.b) .. (x.s,y.s.b)));
+ else:
+ draw (fullcircle xscaled (x.s.r-x.s.l) yscaled (y.s.t-y.s.b)
+ shifted z.s);
+ fi
+enddef;
+
+def soft(suffix s) =
+ _del[incr _dn] := "_soft(" & str s & ");";
+enddef;
+
+def _soft(suffix s) =
+ draw (z.s.o -- z.s.m) softjoin (z.s.m -- z.s.d);
+enddef;
+
+def softt(suffix s) =
+ _del[incr _dn] := "_softt(" & str s & ");";
+enddef;
+
+def _softt(suffix s) =
+ draw ((z.s.o .. z.s.m1) softjoin
+ (z.s.m1 .. z.s.m2) softjoin (z.s.m2 .. z.s.d));
+enddef;
+
+def fork(suffix s) =
+ z.s.head.o = z.s.m; z.s.head.d = z.s.d;
+ arrowhead(s.head);
+ dot(s.o);
+ z.s.body.o = z.s.o; z.s.body.m = z.s.m;
+ z.s.body.d = z.s.head.dh;
+ soft(s.body);
+enddef;
+
+def darrow(suffix s) =
+ z.s.med = 1/2[z.s.o,z.s.d];
+ z.s.one.o = z.s.med; z.s.one.d = z.s.d;
+ arrow(s.one);
+ z.s.two.o = z.s.med; z.s.two.d = z.s.o;
+ arrow(s.two);
+enddef;
+
+def arroww(suffix s) =
+ z.s.head.o = z.s.m; z.s.head.d = z.s.d;
+ arrowhead(s.head);
+ z.s.body.o = z.s.o; z.s.body.m = z.s.m;
+ z.s.body.d = z.s.head.dh;
+ soft(s.body);
+enddef;
+
+def arrowww(suffix s) =
+ z.s.head.o = z.s.m2; z.s.head.d = z.s.d;
+ arrowhead(s.head);
+ z.s.body.o = z.s.o; z.s.body.m1 = z.s.m1;
+ z.s.body.m2 = z.s.m2; z.s.body.d = z.s.head.dh;
+ softt(s.body);
+enddef;
diff --git a/Master/texmf-dist/doc/plain/metatex/mtpaper/diagram.tex b/Master/texmf-dist/doc/plain/metatex/mtpaper/diagram.tex
new file mode 100644
index 00000000000..9dd392df99f
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/metatex/mtpaper/diagram.tex
@@ -0,0 +1,83 @@
+% DIAGRAM.TEX
+
+\dimen0=\hsize \divide\dimen0 by 10
+\dimen2=\dimen0 \divide\dimen2 by 3 \multiply\dimen2 by 4
+
+\MTbeginchar(\the\dimen0,\the\dimen2,0pt);
+\MT: thickpen;
+\MT: z1 = (0,0); z2 = (0,h); z3 = (w,h); z4 = (w,0);
+\MT: z5 = (1/3w,1/8h); z6 = (1/2w,0); z7 = (2/3w,-1/16h);
+\MT: draw z1 -- z2 -- z3 -- z4;
+\MT: draw z1 .. z5 ..z6 .. z7 .. z4;
+\MT: thinpen;
+\MT: for i = 11 upto 20: y[i] = 1/8h + 7/80h*(i-10); endfor
+\MT: for i = 12,13,15,16,17,19,20:
+\MT: draw (1/8w,y[i]) -- (7/8w,y[i]);
+\MT: endfor;
+\MT: for i = 11,14,18:
+\MT: draw (1/4w,y[i]) -- (7/8w,y[i]);
+\MT: endfor;
+\MTendchar;
+
+\setbox0=\box\MTbox
+
+\ifdim\hsize<10cm
+ \let\figfont=\smallsf \def\driver{drv}
+ \dimen0=\hsize \multiply\dimen0 by 2 \divide\dimen0 by 3
+\else
+ \let\figfont=\sf \def\driver{Driver}
+ \dimen0=\hsize \multiply\dimen0 by 2 \divide\dimen0 by 4
+\fi
+
+\MTbeginchar(\the\hsize,\the\dimen0,\the\ht0);
+\MT: save u, v; u = w/10; v = h/10;
+\MT: thickpen;
+%\MT: draw (0,-d)--(0,h)--(w,h)--(w,-d)--cycle; draw(0,0)--(w,0);
+\MT: x1l = x2l = x4l = x7l = 2u;
+\MT: y1t = h - v; z1lbl = z1;
+\MT: rectangle(1)(u,v);
+\MTlabel(1lbl)"\figfont\TeX";
+\MT: y2 = y3 = y1 - 2v; z2lbl = z2; z3lbl = z3; x3 = x2 + 2u;
+\MT: ellipse(2)(u,v); rectangle(3)(u,v);
+\MTlabel(2lbl)"\figfont\TeX"; \MTlabel(3lbl)"\figfont TFM";
+\MT: y4 = y5 = y6 = y2 - 2v; x5 = x3 + 2u; x6 = x5 + 2u;
+\MT: z4lbl = z4; z5lbl = z5; z6lbl = z6;
+\MT: rectangle(4)(u,v); ellipse(5)(u,v); rectangle(6)(u,v);
+\MTlabel(4lbl)"\figfont DVI"; \MTlabel(5lbl)"\figfont MF";
+\MTlabel(6lbl)"\figfont MF";
+\MT: y7 = y8 = y4 - 2v; x8 = x3; z7lbl = z7; z8lbl = z8;
+\MT: ellipse(7)(u,v); rectangle(8)(u,v);
+\MTlabel(7lbl)"\figfont\driver"; \MTlabel(8lbl)"\figfont GF";
+\MT: x9 = x7; y9t = y7t - 2v;
+\MTlabel(9)"\box0";
+\MT: x31r = x2l - u; y31 = y2; z31lbl = z31; rectangle(31)(u,v);
+\MTlabel(31lbl)"\figfont FMT";
+\MT: x32 = x5; y32b = y5t + v; z32lbl = z32; rectangle(32)(u,v);
+\MTlabel(32lbl)"\figfont BAS";
+\MT: x33 = x31; y33 = y4; z33lbl = z33; rectangle(33)(u,v);
+\MTlabel(33lbl)"\figfont log";
+\MT: x34 = x32; y34 = y7; z34lbl = z34; rectangle(34)(u,v);
+\MTlabel(34lbl)"\figfont log";
+\MT: thinpen; join_radius:=15pt;
+\MT: z11o = (x1,h); z11d = (x1,y1t); arrow(11);
+\MT: z12o = (x1,y1b); z12d = (x2,y2t); arrow(12);
+\MT: z13o = (x3l,y3); z13d = (x2r,y2); arrow(13);
+\MT: z14o = (x2,y2b); z14d = (x4,y4t); arrow(14);
+\MT: z15o = (w,y6); z15d = (x6r,y6); arrow(15);
+\MT: z16o = (x6l,y6); z16d = (x5r,y5); arrow(16);
+\MT: z17o = (x5l,y5); z17d = (x3,y3b); z17m = (x3,y5);
+\MT: arroww(17);
+\MT: z18o = (x5l,y5); z18d = (x8,y8t); z18m = (x8,y5);
+\MT: arroww(18);
+\MT: z19o = (x4,y4b); z19d = (x7,y7t); arrow(19);
+\MT: z20o = (x8l,y8); z20d = (x7r,y7); arrow(20);
+\MT: z21o = (x7,y7b); z21d = (x9,y9t); arrow(21);
+\MT: z41o = (x31r,y31); z41d = (x2l,y2); arrow(41);
+\MT: z42o = (x32,y32b); z42d = (x5,y5t); arrow(42);
+\MT: z43o = (x2,y2b); z43d = (x33r,y33t); arrow(43);
+\MT: z44o = (x5,y5b); z44d = (x34,y34t); arrow(44);
+\MT: x0 = w/2; y0 = y9; % y0b = -d;
+\MTlabel(0)"\rm \TeX\ formats";
+\MTendchar;
+
+\centerline{\box\MTbox}
diff --git a/Master/texmf-dist/doc/plain/metatex/mtpaper/frame.tex b/Master/texmf-dist/doc/plain/metatex/mtpaper/frame.tex
new file mode 100644
index 00000000000..a1433d567c7
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/metatex/mtpaper/frame.tex
@@ -0,0 +1,23 @@
+% FRAME.TEX (RMCG19950401)
+
+\catcode`\@=11
+
+\newbox\@uxbox
+
+\let\oldhrule=\hrule \let\oldvrule=\vrule
+\def\rulethickness{\afterassignment\rul@thickness\dimen0 }
+\def\rul@thickness{\edef\hrule{\oldhrule height\dimen0 }%
+ \edef\vrule{\oldvrule width\dimen0 }}
+
+\def\framebox{\afterassignment\fr@mebox\count@=}
+\def\fr@mebox{\ifvoid\count@\else \bgroup
+ \dimen0=\wd\count@ \dimen2=\ht\count@ \advance\dimen2\dp\count@
+ \global\setbox\@uxbox=\vtop{
+ \hbox to\dimen0{\vrule\hss\vbox to \dimen2{\hrule\vss
+ \hbox to\dimen0{}\vss\hrule}\hss\vrule}\kern0pt}\egroup
+ \wd\@uxbox=0pt \ht\@uxbox=0pt \dp\@uxbox=0pt
+ \ifhbox\count@
+ \setbox\count@=\hbox{\raise\ht\count@\box\@uxbox\box\count@}\else
+ \setbox\count@=\vbox{\box\@uxbox\nointerlineskip\box\count@}\fi\fi}
+
+\catcode`\@=12
diff --git a/Master/texmf-dist/doc/plain/metatex/mtpaper/mtpaper.tex b/Master/texmf-dist/doc/plain/metatex/mtpaper/mtpaper.tex
new file mode 100644
index 00000000000..de044df2bf7
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/metatex/mtpaper/mtpaper.tex
@@ -0,0 +1,654 @@
+
+\input tugboat.sty
+
+%\input tugboat.dates
+%\input tb75pages
+%\pageno=\TBcasa
+
+% EXTRA CODE
+
+\ifx\plaindefaults\undefined \let\next=\relax
+\else \let\next=\plaindefaults \fi \next
+
+\input metatex
+\MTline{input delay.mf;}
+
+\def\MTeX{{\manual META}\-\TeX}
+\font\smallsf=cmssq8
+\font\sf=cmss10
+
+% END EXTRA CODE
+
+
+\title * {\MTeX} *
+\author * Ram\'on Casares *
+\address * Telef\'onica de Espa\~na *
+\netaddress * r.casares@computer.org *
+
+\article %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\head * Abstract *
+
+{\MTeX} is a set of {\plain} {\TeX} and {\MF} macros that you can use to
+define both the text and the figures in a single source file. Because
+{\MTeX} sets up two way communication, from {\TeX} to {\MF} and back
+from {\MF} to {\TeX}, drawing dimensions can be controlled by {\TeX} and
+labels can be located by {\MF}. Only standard features of {\TeX} and
+{\MF} are used, but two runs of {\TeX} and one of {\MF} are needed.
+
+
+\head * Overview *
+
+Together, {\TeX} and {\MF} define the page layout to the pixel. This
+means that nothing more is needed, not even a means of including figures
+in a {\TeX} document. To prove this is the aim of this paper.
+
+To split the typesetting process in two parts, one to define and draw
+the characters and the other to arrange the characters in paragraphs and
+pages, is surely the best way to reduce the complexity of the
+typesetting task, provided it needs simplification (see Figure~1). But
+this method makes it difficult, for example, to integrate labels with
+graphics in figures, because while {\TeX} is best suited to typeset the
+labels, {\MF} is the appropriate tool to draw the graphics. And, of
+course, labels should be located in accordance with the graphics.
+
+Therefore, the true successor of {\TeX} has to include in a single
+program both the capabilities of {\TeX} and {\MF}. Then the typesetting
+engine would include a powerful graphic tool, a grid in which to typeset if
+required, and it could take into account the shapes of the characters to
+determine, for example, kernings or italic corrections. The other way
+around is also possible. It could be seen as a graphic engine with a
+powerful typesetting tool. From this point of view, the page would be a
+graphic object that could contain paragraphs of different shapes
+requested from the typesetting tool.
+
+\MTeX, although it does not fulfill the requirements of such a
+successor, can be seen as an early sign of its possibilities. For the
+moment, {\MTeX} takes advantage of {\MF}'s equation solving capabilities
+to locate objects, including the labels, which are typeset by {\TeX}. The
+cost of this nice feature is that two {\TeX} passes are required.
+
+During the first {\TeX} pass a {\MF} file is written. As it is {\TeX}
+itself who writes the {\MF} file, any dimension controlled by {\TeX} can
+be used and incorporated in {\MF}'s calculations. For example, the label
+sizes, as they will be typeset by {\TeX}, are made known to {\MF}.
+
+After the first {\TeX} pass, {\MF} draws the graphic figures and
+writes the label locations in its log file. So it is {\MF}'s
+responsibility to locate the labels. Note that, depending on the style
+of {\MF} programming, this can be completely determined from {\TeX}. In
+other words, you can relate the label location to the location and size
+of other {\MF} objects, or not.
+
+When {\TeX} executes its second pass, it takes the graphics
+from the new font, reads the location of labels from the
+{\MF} log file, and then everything is complete.
+
+Because labels are just |\hbox|es typeset by \TeX, every macro currently
+defined for text automatically applies also to figures. For example, if
+a macro |\person| is defined to write its argument in a small caps font
+and save it to an index file, the same happens whenever it is used
+inside a figure label.
+
+
+\head * Methods *
+
+{\MTeX} allows the source file to include, in addition to the customary
+{\TeX} macros to control the text, other commands to generate
+figures with {\MF}.
+
+\subhead * Steps *
+
+In order to use {\MTeX} the following three steps are to be executed:
+
+\list[\numbered]
+
+\item The {\MTeX} file, suppose it is |filename.ext|, is first
+processed by |TEX|, with the {\plain} format, during which a {\MF} file
+named |auxiliar.mf| is created. This {\MF} file contains information
+provided by {\TeX} concerning the size of the labels, so the |MF|
+program can delete this area from the figure if requested. If the output
+file |filename.dvi| were typeset now, it would have blanks in place of
+the figures, but otherwise be the same as the final document.
+
+\item Then |MF|, with the {\plain} base, is run on |auxiliar.mf|.
+As a result, information specifying where to typeset the labels is
+written in the log file, |auxiliar.log|. In addition, the metric file,
+|auxiliar.tfm|, and the generic format bitmap font, |auxiliar.329gf|,
+are created. On my system I have to process this |gf| file to get a
+|pk| file that my drivers can read, so I execute the program |GFtoPK| on
+it, getting the packed bitmap font |auxiliar.329pk|. Please note three
+points. i)~The number |329|, referring to the resolution, varies
+according to the {\MF} mode. ii)~The |tfm| and |pk| files must be in or
+moved to directories where programs can find them. iii)~{\MTeX} sets the
+{\MF} mode to |localfont|, thus assuming that |localfont| is assigned
+the appropriate name.
+
+\item Lastly, |filename.ext| is again run through |TEX|. During this
+second run, both the font |auxiliar| containing the figures and the
+information explaining where to locate the labels are available, so the
+document is complete.
+
+\endlist
+
+The figures fill exactly the same area in both the first and second
+|TEX| program runs, so indices, tables of contents, and other references
+that also need two passes to be resolved can take advantage of the two
+runs needed by {\MTeX}.
+
+\subhead * Use *
+
+To use the {\MTeX} macros, they must be imported by writing in the
+source file: ||\input metatex||
+
+\noindent This has to be written after |\mag| has been given its final
+value. When |metatex.tex| is read, {\MTeX} checks whether the file
+|auxiliar.mf| exists. If it does not exist, then things are set up for
+the first pass; for example, |auxiliar.mf| is opened for writing. If it
+does exist, then things are set for the second pass; for example,
+|auxiliar.log| is opened for reading. This means that if
+|auxiliar.mf| is not deleted, then step~3, the second |TEX| program
+pass, is executed directly. This saves time when only the text in file
+|filename.ext|, but not the figures, were modified.
+
+\subhead * User macros *
+
+The {\MTeX} user macros are:
+
+\list
+
+\item |\MTbeginchar(wd,ht,dp);| states that a figure sized as given
+(width |wd|, height |ht|, depth |dp|) will be created. These values
+should be known both by {\TeX} and by {\MF}, so for example |12pt|,
+|6cm|, |\the\hsize| or |\the\dimen0|, always without |#|, are allowed.
+During the {\it first pass}, {\TeX} writes in |auxiliar.mf| the {\MF}
+macro |beginchar| assigning character codes sequentially, and box
+|\MTbox| is made empty but sized as specified by the arguments of this
+macro. During the {\it second pass}, {\TeX} puts the corresponding
+character of the font |auxiliar| in box |\MTbox|. The size of |\MTbox| is
+that specified and not affected by the character dimensions.
+
+\item |\MTendchar;| finishes the figure definition. During the
+{\it first pass}, {\TeX} writes the {\MF} macro |endchar;| in file
+|auxiliar.mf|. During the {\it second pass}, box |\MTbox| contains the
+complete figure, including labels. Something like |\box\MTbox| is
+used to typeset the figure.
+
+\item |\MTlabel*(s)cc"Text";| adds a label to the current figure.
+The parameter between quotes, |Text| in the example, is the label
+content; it will be put inside an |\hbox| and therefore could be
+anything that {\TeX} allows inside an |\hbox|. The optional asterisk
+after |\MTlabel| instructs {\MTeX} to erase the area of the figure
+already drawn that it is under the label.
+
+The label will be located at {\MF} point |z.s|, where |s| is the parameter
+between parentheses. The reference point is further specified by the
+optional parameter after the right parenthesis, |cc| in the example.
+This parameter is composed of exactly two letters: the first can be |t|
+meaning top, |c| meaning center or |b| meaning bottom; and the second
+letter can be |l| meaning left, |c| meaning center or |r| meaning right.
+So, for example, |tl| means that the label reference point is its top
+left corner. The default value for the reference point is |cc|, that is,
+its center.
+
+|\MTlabel| should only be used between |\MTbeginchar| and |\MTendchar|.
+During the {\it first pass}, it writes the following three elements in
+|auxiliar.mf|: i)~the {\MF} macros which in turn cause |MF| to write the
+label reference point location to its log file, |auxiliar.log|; ii)~the
+four label sides, which are by this means made available to the
+following {\MF} code for the figure, notated as |y.s.t| for the top side,
+|y.s.b| for the bottom side, |x.s.l| for the left side and |x.s.r| for the right
+side; and iii)~the code to delete, if requested, the figure area already
+drawn that is under the rectangle occupied by the label. During the {\it
+second pass}, it adds the label to the box |\MTbox| in the place that
+reads from file |auxiliar.log|, making no modification to the dimensions of
+|\MTbox|, even if the label is typeset outside the box.
+
+\endlist
+
+There are three more macros for passing information to \MF, that is, for
+writing general text in |auxiliar.mf|: |\MT:|, |\MTcode| and |\MTline|.
+This happens only during the first pass; during the second pass, these
+macros do nothing.
+
+\list
+
+\item |\MT:| writes in file |auxiliar.mf| everything till the end of
+line. It writes verbatim except for the character |\|, which keeps its
+normal {\TeX} |\catcode| of |0|. Spaces are {\it not\/} ignored after
+macros. The sequence |\\| writes a single |\| in file |auxiliar.mf|.
+
+\item |\MTcode| writes in file |auxiliar.mf| everything until it finds a
+line equal (including |\catcode|s) to the current value of |\MTendmark|.
+By default, this is a blank line, thus, |\def\MTendmark{}|. As with
+|\MT:|, it writes verbatim except for |\|, which still operates as an
+escape character. The control sequence |\\| writes a single |\| in file
+|auxiliar.mf|.
+
+\item |\MTline{text}| writes its parameter to |auxiliar.mf|,
+|text| in the example. It does not change the |\catcode|s in the
+argument, so it does not perform verbatim writing. But all {\plain}
+special characters can be written prefixing them by the escape character
+|\|. The {\plain} special characters are (not including the first colon
+nor the final period): |\{}$&#^_~%|. For example, |\#| results in
+|#|.
+
+\endlist
+
+When defining {\TeX} macros that write to |auxiliar.mf|, |\MTline|
+should generally be used in preference to |\MT:| or |\MTcode|, because
+the latter two use
+the end of line in a special way that is not usually available when
+{\TeX} is reading a macro.
+
+{\TeX} dimensions can be included using any of these three writing
+macros. For example, |\the\hsize| will be expanded to {\tt \the\hsize}
+(for the present article),
+and written as such to the {\MF} file |auxiliar.mf|. Note that the character
+|\| keeps its escape |\catcode| in all three writing macros. In the
+case of |\MTline|, braces |{}| also keep their |\catcode|s and therefore
+macros with parameters can be used normally.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\head * Examples *
+
+\subhead * Diagram *
+
+First a typical example of {\MTeX} usage, showing the file formats,
+programs, and their relationships. The figure width is exactly
+|\hsize|, but what is more important is that the same code will adapt
+itself to any value for the measure. Well, of course, not to {\it any\/}
+width but to any width between, let's say, $8\,$cm and $25\,$cm.
+
+\figure[\caption{Figure 1: One column diagram}]
+ \input diagram
+\endfigure
+
+%\twocolfigure[\caption{Figure 2: Two columns diagram}]
+% \input diagram
+%\endfigure
+
+Figure~1 is the one column version, and Figure~2 (above the appendix) is
+the two column version, generated by the same source.
+
+
+%%%%%%%%%%%%%%%%%%%
+
+\input shadow
+
+\def\beginshadowpar{\setbox0=\vbox\bgroup \kern3pt
+ \advance\parindent by -3pt \leftskip=3pt\rightskip=3pt }
+\def\endshadowpar{\par\kern3pt\egroup\framebox0\shadowbox0\box0 }
+
+% \subhead * Shadowing *
+\bigskip % \subhead skip
+
+\beginshadowpar\noindent
+{\bf Shadowing.} Both {\TeX} and {\MF} are ill suited to creating
+shadows. In {\TeX}, one straightforward technique is double use of
+|\leaders|, but in practice this results in huge |dvi| files. In {\MF},
+drawing lots of tiny points easily exceeds the capacity of the program.
+The solution is to coordinate the work of both programs.
+\endshadowpar
+
+To create a large rectangular shadow we divide it into an array of $n
+\times m$ smaller rectangles. The smaller rectangles are all identical,
+so it is enough for {\MF} to draw one shadow character and then for
+{\TeX} to typeset a solid area repeating it.
+
+To simplify the tasks of both {\TeX} and {\MF}, the size of the shadow
+character should be similar to that of normal characters, because neither
+program was designed to work well with extraordinarily large (or small)
+characters. So a
+good approach is to make the shadow character as big as possible but
+never wider nor higher than 16$\,$pt.
+
+For {\MTeX}, each figure is a character. This causes problems with {\MF}
+when the figure is big and the resolution is high, because it cannot
+draw areas bigger than $4095\times4095$ pixels. This is not usually a
+problem working at 300$\,$dpi. (It is never a problem with {\MP}, see
+the following section on {\PS}. Another advantage of using {\PS} is that
+you get a shadow simply by drawing a grey rule, and none of the above
+machinations are necessary.)
+
+%%%%%%%%%%%%%%%%%%%
+
+\subhead * Keys *
+
+After the following {\MTeX} macros:
+
+\verbatim[\numbered\outputtofile{keys.tex}]
+\MTcode
+def keybox =
+ pickup pencircle scaled 0.8pt;
+ x1 = x3 = 1pt;
+ x2 = x4 = w - 1pt;
+ x5 = 0; x6 = w;
+ y1 = y2 = -d;
+ y3 = y4 = h;
+ y5 = y6 = (h - d)/2;
+ draw z1 -- z2 .. z6{up} ..
+ z4 -- z3 .. z5{down} .. cycle;
+ z0 = (x1,0);
+enddef;
+
+\def\defkey#1#2{\setbox0=\hbox{\sf#2}%
+ \dimen0=\wd0\advance\dimen0 by 2pt
+ \dimen2=\ht0\advance\dimen2 by 1pt
+ \dimen4=\dp0\advance\dimen4 by 1pt
+ \MTbeginchar(\the\dimen0,%
+ \the\dimen2,%
+ \the\dimen4);%
+ \MTline{keybox;}%
+ \MTlabel(0)bl"\sf #2";%
+ \MTendchar;%
+ \expandafter\newbox
+ \csname\string#1box\endcsname
+ \expandafter\setbox
+ \csname\string#1box\endcsname
+ =\vtop{\unvbox\MTbox}%
+ \def#1{\expandafter\copy
+ \csname\string#1box\endcsname}}
+
+\def\makekey#1{\expandafter\defkey%
+ \csname#1\endcsname{#1}}
+\endverbatim
+
+\input keys
+
+Then, we can declare |\makekey{Alt}|\makekey{Alt} to
+typeset {\Alt} simply via |\Alt|. It is also possible to
+declare |\defkey\escape{\tt\char92}|\defkey\escape{\tt\char92} and then
+|\escape| results in \escape.
+
+%%%%%%%%%%%%%%%%%%%
+
+\subhead * Baroque tables *
+
+Baroque periods are the result of new technical achievements providing
+unexplored possibilities and hence the urgent need to experiment with them,
+frequently far away from what discretion might recommend. This explains
+the time of baroque software that we live in, and increases the value of
+\MTeX, because it provides the means to easily draw baroque tables. I am not
+a baroque man, so my baroque table example is not baroque but, and this
+is the point, it is at least not built with straight lines.
+
+\MTcode
+def tablebox =
+ pickup pencircle scaled 1.6pt;
+ x0 = 5pt; y0 = 5pt;
+ draw (0,h) ... (w/2,h+y0) ... (w,h) ... (w+x0,(h-d)/2) ... (w,-d) ...
+ (w/2,-d-y0) ... (0,-d) ... (-x0,(h-d)/2) ... cycle;
+enddef;
+
+\def\beginbaroquetable{\setbox0=\vbox\bgroup
+ \halign\bgroup##\hfil&&\quad##\hfil\cr}
+\def\endbaroquetable{\crcr\egroup\egroup
+ \MTbeginchar(\the\wd0,\the\ht0,\the\dp0);%
+ \MTline{ tablebox;}%
+ \MTendchar;%
+ $$\rlap{\box\MTbox}\box0$$}
+
+\beginbaroquetable
+ This is not a straight table\cr
+ but it's only an example\cr
+ and therefore not so ample\cr
+ of what's {\MTeX}-able!
+\endbaroquetable
+
+%%%%%%%%%%%%%%%%%%%
+
+\MTcode
+def leftbrace =
+ pickup penrazor scaled 2pt rotated 30;
+ x3 = 0; x0 = x6 = w; x1 = x5 = w/5; x2 = x4 = w-x1;
+ y0 = 0; y1 = h/8; y2 = h/3; y3 = h/2;
+ y4 + y2 = h; y1 + y5 = h; y6 = h;
+ draw z0 .. z1 .. z2 .. z3;
+ draw z6 .. z5 .. z4 .. z3;
+enddef;
+
+\def\beginbracedpar{\setbox0=\vbox\bgroup
+ \leftskip=20pt }
+\def\endbracedpar{\strut\par\egroup
+ \MTbeginchar(20pt,\the\ht0,0pt);%
+ \MTline{ leftbrace;}%
+ \MTendchar;%
+ \hbox to\hsize{\rlap{\box\MTbox}\box0\hss}}
+
+%\subhead * Ornate paragraphs *
+\bigskip % \subhead skip
+
+\beginbracedpar\noindent
+{\bf Ornate paragraphs.} Only if you are truly baroque can you get the
+most from {\MTeX}. If, for example, you like ornate paragraphs, you are
+in your element. Just put the material in a |\vbox| to get the height
+and the depth, and pass these dimensions to {\MF} to draw a right sized
+embellishment. Ah!, but be aware that Computer Modern is a neoclassical
+font, so it won't mix well with your elaborations.
+\endbracedpar
+
+%%%%%%%%%%%%%%%%%%%
+
+% To fill unused space!
+\MTcode
+ def tribar(expr alpha) =
+ pickup pencircle scaled 0.8pt;
+ % draw (0,0)--(w,0)--(w,h)--(0,h)--cycle;
+ save u, v; u = w/2; v = 12;
+ z1 = (w/2,h/2) + u*(right rotated alpha);
+ z2 = (w/2,h/2) + u*(right rotated (alpha+120));
+ z3 = (w/2,h/2) + u*(right rotated (alpha-120));
+ z1r = (w/2,h/2) + u*(right rotated (alpha+v));
+ z2r = (w/2,h/2) + u*(right rotated (alpha+120+v));
+ z3r = (w/2,h/2) + u*(right rotated (alpha-120+v));
+ draw z1 .. z1r; draw z2 .. z2r; draw z3 .. z3r;
+ draw z1 .. z3r; draw z2 .. z1r; draw z3 .. z2r;
+ z1m = whatever[z1,z2r]; z1m = whatever[z1r,z3];
+ z2m = whatever[z2,z3r]; z2m = whatever[z2r,z1];
+ z3m = whatever[z3,z1r]; z3m = whatever[z3r,z2];
+ draw z1 .. z2m; draw z2 .. z3m; draw z3 .. z1m;
+ z1ra = z1 reflectedabout (z1r,z1m);
+ z2ra = z2 reflectedabout (z2r,z2m);
+ z3ra = z3 reflectedabout (z3r,z3m);
+ draw z1m .. z1ra; draw z2m .. z2ra; draw z3m .. z3ra;
+ z3x - z1x = whatever*(z3-z1m);
+ z2x - z3x = whatever*(z2-z3m);
+ z1x - z2x = whatever*(z1-z2m);
+ z1ra - z1x = whatever*(z3-z1m);
+ z3ra - z3x = whatever*(z2-z3m);
+ z2ra - z2x = whatever*(z1-z2m);
+ z1y = whatever[z1m,z3]; z1y = whatever[z1x,z2x];
+ z2y = whatever[z2m,z1]; z2y = whatever[z2x,z3x];
+ z3y = whatever[z3m,z2]; z3y = whatever[z3x,z1x];
+ draw z1x .. z3y;
+ draw z2x .. z1y;
+ draw z3x .. z2y;
+ enddef;
+
+\def\tribar#1#2{% #1=ht, #2=angle
+ \MTbeginchar(#1,#1,0pt);\MTline{tribar(#2);}\MTendchar;\box\MTbox}
+
+\newcount\angle \angle=-36
+\newdimen\tribarht \tribarht=75pt
+
+%\subhead * Exercice *
+\bigskip % \subhead skip
+
+ \noindent
+ {\bf Exercise.}\footnote*{The real exercise is to fill the rest of the
+ page with tribars. A clue: let {\TeX} to calculate how many are needed,
+ so you can concentrate your efforts in drawing the figure.}
+ Take three equal bars and build as shown.
+ Ask Roger Penrose if you don't find the solution.
+ \vskip1pc
+
+ \loop
+ \vfil
+ \line{\tribar{\the\tribarht}{\the\angle}\hfil \global\advance\angle5
+ \tribar{\the\tribarht}{\the\angle}\hfil \global\advance\angle5
+ \tribar{\the\tribarht}{\the\angle}\global\advance\angle5 }
+ \dimen0=\pagegoal \advance\dimen0 by-\pagetotal
+ \ifdim\dimen0>\tribarht
+ \repeat
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\head * {\PS} *
+
+By taking advantage of {\MP}, we can make {\PS} versions of the
+{\MTeX} files. Simply execute |mpost &plain auxiliar.mf| instead of
+{\MF} and, after {\TeX}'s second pass, execute |dvips| ({\MTeX} uses
+|dvips| specials). This works because |auxiliar.mf| is valid code
+for both {\MF} and {\MP}, and because, in the second {\TeX} pass,
+{\MTeX} checks which one was used and adapts itself to the situation.
+
+And thanks to {\PDF\TeX} and the Con{\TeX}t files |supp-mis.tex| and
+|supp-pdf.tex|, it is also possible to get \acro{PDF} output. Just
+execute {\PDF\TeX} twice, instead of {\TeX}, and once {\MP}, instead of
+{\MF}. (In practice, {\MTeX} uses its own macro file |mtmp2pdf.tex| for
+this, instead of the Con{\TeX}t files. I extracted all that {\MTeX}
+needs from the Con{\TeX}t files into |mtmp2pdf.tex|.)
+
+This works because, if {\MTeX} determines that {\MP} was employed to
+draw the figures, it then checks which program, {\TeX} or {\PDF\TeX}, is
+executing. If {\TeX}, then it includes the files produced by {\MP} using
+the |dvips| specials. If {\PDF\TeX}, it translates from |ps| to |pdf|.
+
+Therefore, the same {\MTeX} source file generates at will any of the
+three output formats---|dvi|, |ps|, or |pdf|---just by running the
+appropriate programs. In the appendix, as an example, there is a
+\acro{DOS} batch file that shows how to get the |pdf| version of a file
+|filename.ext|.
+
+
+\head * Other graphical tools *
+
+There are other tools to include pictures in a {\TeX} document.
+{\LaTeX}'s |picture| environment, {\PiCTeX}, and |mfpic|, are three of
+them. {\MTeX} is similar to |mfpic|, in that both use {\MF} to draw.
+
+The aim of |mfpic| is to overcome the difficulties of {\LaTeX}'s
+|picture| environment and of {\PiCTeX}. {\LaTeX}'s |picture| environment
+uses four pre-cooked special fonts, and its drawings are just
+compositions of these characters (as well as {\TeX}'s builtin |\hrule|s and
+|\vrule|s). {\PiCTeX} only uses a tiny point to compose the pictures, so
+it is more general. But letting {\TeX} to draw the figures setting point
+after point is painful, as noted above. The |mfpic| solution uses a
+better tool for drawing: {\MF}.
+
+With these origins, for |mfpic|, {\MF} is a hidden back-end processor,
+and |mfpic| imposes only two requirements on its users: to know {\TeX},
+and to know |mfpic|. On the other hand, {\MTeX}'s approach is
+minimalist, at the cost of being more demanding with its users. A
+{\MTeX} user has to know {\TeX}, {\MF}, and {\MTeX}\Dash although this
+last requirement is small, because {\MTeX} only builds the necessary
+bridges to use {\TeX} and {\MF} in a cooperative way.
+
+A feature that shows the different strategies employed in designing
+|mfpic| and {\MTeX} is label positioning. {\MTeX} labels are located by
+{\MF}, so {\TeX} has to read the {\MF} log file to learn where to
+typeset them. For |mfpic|, {\TeX} itself locates the labels,
+but by doing so |mfpic| has to give up some nice {\MF} characteristics,
+such as its equation solving capabilities.
+
+% |mfpic| is to {\LaTeX} as {\MTeX} is to |plain| {\TeX}.
+In summary, |mfpic|'s aim is to draw pictures in {\TeX} documents in a
+better way than using {\LaTeX}'s |picture| environment or {\PiCTeX};
+while {\MTeX}'s intention is to coordinate the work of {\TeX} and
+{\MF}. In this way, {\MTeX} provides the full raw power of {\TeX} and
+{\MF}, and it is up to you to harness them.
+
+
+\head * Final remarks *
+
+I have been using {\MTeX} for some years. The first version was dated
+1994, but it has been used only for personal purposes. For this reason,
+it is not truly a straightforward end-user tool, as for example {\LaTeX} packages
+should be. It has to be used knowledgeably and with care. And though
+most tasks can be automated, by chaining {\TeX} and {\MF} errors are
+even more difficult to pinpoint than in {\TeX} or {\MF} alone.
+
+Nevertheless, {\MTeX} serves to validate the feasibility of a closer
+collaboration between {\TeX} and {\MF} and to appraise the interest of
+such a collaboration. And, of course, if you dare, you can get lots of
+fun, and at least an equal amount of frustration, using {\MTeX}. Try it!
+
+The {\MTeX} package is available from {\CTAN} in
+\acro{CTAN}|:/macros/plain/contrib/metatex|.
+
+Happy {\MTeX}ing!
+
+
+\makesignature
+
+
+\newpage
+
+
+\onecol % Annex in one column, can't switch to \twocol on the same page
+ % with current plain tugboat macros.
+
+\figure[\caption{Figure 2: Two-column diagram}]
+\input diagram
+\endfigure
+
+\head * Appendix: Pseudo-batch example *
+
+This is an example based on \acro{DOS} batch files that can be adapted for
+other operating systems. It processes the file |filename.ext|, generating
+|filename.pdf|. We will comment each line of pseudo-code.
+
+\list[\numbered]
+\item We go to the directory where our working files are.
+ ||cd c:\dir\subdir\mydir||
+\item We set environment variables (if necessary). In this case we are
+using a |web2c| system, so it is enough to set one. In |web2c|, by
+default, all programs look for files in the current dir, ``|.|'', and
+that is enough for us.
+ ||set TEXMFCNF=c:\tex\texmf.local\web2c;c:\tex\texmf\web2c;d:\texmf\web2c||
+\item We tell the operating system where to find the programs.
+ ||path=$path$;c:\tex\bin\dos||
+\item After the settings, we force the first {\TeX} pass.
+ ||if exist auxiliar.mf del auxiliar.mf||
+\item Then, we execute the first {\TeX} pass (in this case, it is {\PDF\TeX}).
+ ||pdftex &plain filename.ext||
+\item If {\MTeX} was not used, and no |auxiliar.mf| was written, then we
+are done.
+ ||if not exist auxiliar.mf goto end||
+\item Otherwise we run {\MP} with its |&plain| memory (format),
+also known as |&mpost|.
+ ||mpost &plain auxiliar.mf||
+\item Finally, we execute the second {\TeX} pass.
+ ||pdftex &plain filename.ext||
+\item We now have the complete |filename.pdf| file.
+ ||:end||
+
+\endlist
+
+\MTline{end.} % METATeX changes \bye
+\endarticle
+
+
+% To check labels (ink intensive example!)
+\MTbeginchar(5cm,5cm,0cm);
+\MT: fill (0,0)--(w,0)--(w,h)--(0,h)--cycle;
+\MT: z0 = (w/2,h/2);
+\MT: z1 = (w/2,3h/4); z11 = z1;
+\MT: z2 = (w/2,h/4);
+\MT: z3 = (0,h/2);
+\MT: z4 = (0,h/4);
+\MTlabel*(0)"Center";
+\MTlabel*(1)tl".";
+\MTlabel*(11)br".";
+\MTlabel*(2)":";
+\MTlabel(3)"Out";
+\MTlabel*(4)"Intruder";
+\MTendchar;
+$$\box\MTbox$$
diff --git a/Master/texmf-dist/doc/plain/metatex/mtpaper/shadow.tex b/Master/texmf-dist/doc/plain/metatex/mtpaper/shadow.tex
new file mode 100644
index 00000000000..5ac184ef523
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/metatex/mtpaper/shadow.tex
@@ -0,0 +1,85 @@
+% SHADOW.TEX (RMCG19950401)
+
+\ifx\MT\undefined \input metatex \fi
+\ifx\framebox\undefined \input frame \fi
+
+\let\TMline=\MTline
+
+\catcode`\@=11
+
+\newdimen\shadowdim \shadowdim=0.3pt % for 600dpi; try 0.85 for 300dpi
+
+\TMline{\% Defined by SHADOW.TEX}
+\TMline{}
+\TMline{ if unknown prologues: font_size 12pt\#; fi}
+\TMline{}
+\TMline{ def shadowall(expr dist) =}
+\TMline{ begingroup}
+\TMline{ save u,v,distx,disty,zbase,zcur;}
+\TMline{ pair zbase,zcur;}
+\TMline{ u := floor(w/dist); if odd u: u := u + 1; fi distx = w/u;}
+\TMline{ v := floor(h/dist); if odd v: v := v + 1; fi disty = h/v;}
+\TMline{ zbase := (1/2distx,1/2disty);}
+\TMline{ for i := 0 upto (u-1):}
+\TMline{ zcur := zbase if odd i: + (0,disty) fi;}
+\TMline{ for j := 0 upto (v-1): if (not odd(i+j)):}
+\TMline{ addto currentpicture contour unitsquare shifted zcur;}
+\TMline{ zcur := zcur + (0,2disty);}
+\TMline{ fi endfor}
+\TMline{ zbase := zbase + (distx,0);}
+\TMline{ endfor}
+\TMline{ endgroup;}
+\TMline{ enddef;}
+\TMline{}
+
+\def\shadowbox{\afterassignment\sh@dowbox\count@=}
+\def\sh@dowbox{\ifvoid\count@ \let\next=\relax \else
+ \shadowchar
+ \ifMTmf \let\next=\MTsh@dow \else
+ \ifx\pdfliteral\undefined \let\next=\PSsh@dow \else
+ \let\next=\ACsh@dow \fi \fi \fi
+ \next}
+
+\def\shadowchar{\bgroup
+ \dimen0=\wd\count@ \dimen2=\ht\count@ \advance\dimen2\dp\count@
+ \dimen4=16pt \count2=\dimen4
+ \count0=\dimen0 \divide\count0 by \count2 \advance\count0 by 1
+ \dimen4=\dimen0 \divide\dimen4 by \count0
+ \count0=\dimen2 \divide\count0 by \count2 \advance\count0 by 1
+ \dimen6=\dimen2 \divide\dimen6 by \count0
+ \setbox0=\box\MTbox
+ \MTbeginchar(\the\dimen4,\the\dimen6,0pt);%
+ \MTline{ shadowall(\the\shadowdim);}%
+ \MTendchar;%
+ \global\setbox\@uxbox=\vtop to \dimen2{\cleaders
+ \hbox to \dimen0{\cleaders\box\MTbox\hfil}\vfil}%
+ \global\setbox\MTbox=\box0 \egroup}
+
+\def\MTsh@dow{\wd\@uxbox=0pt \ht\@uxbox=0pt \dp\@uxbox=0pt
+ \ifhbox\count@
+ \setbox\count@=\hbox{\raise\ht\count@\box\@uxbox\box\count@}\else
+ \setbox\count@=\vbox{\box\@uxbox\nointerlineskip\box\count@}\fi}
+
+\def\PSsh@dow{\ifhbox\count@
+ \setbox\count@=\hbox{\special{ps:gsave 0.8 setgray}%
+ \rlap{\vrule width \wd\count@ height \ht\count@ depth \dp\count@}%
+ \special{ps:0 setgray grestore}%
+ \unhbox\count@}\else
+ \setbox\count@=\vbox{\special{ps:gsave 0.8 setgray}
+ \vtop to 0pt{\vbox to 0pt{
+ \hrule width \wd\count@ height \ht\count@ depth \dp\count@
+ \vss}\vss}
+ \special{ps:0 setgray grestore}
+ \nointerlineskip
+ \unvbox\count@}\fi}
+
+\def\ACsh@dow{\ifhbox\count@
+ \setbox\count@=\hbox{\pdfliteral{q 0.8 g}%
+ \rlap{\vrule width \wd\count@ height \ht\count@ depth \dp\count@}%
+ \pdfliteral{0 g Q}\unhbox\count@}\else
+ \setbox\count@=\vbox{\pdfliteral{q 0.8 g}
+ \vtop to 0pt{\vbox to 0pt{
+ \hrule width \wd\count@ height \ht\count@ depth \dp\count@
+ \vss}\vss}\pdfliteral{0 g Q}\nointerlineskip\unvbox\count@}\fi}
+
+\catcode`\@=12
diff --git a/Master/texmf-dist/doc/plain/mnras/fonttest.tex b/Master/texmf-dist/doc/plain/mnras/fonttest.tex
new file mode 100644
index 00000000000..c84aa89bc44
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/mnras/fonttest.tex
@@ -0,0 +1,169 @@
+% FONTTEST.TEX
+%
+% Test all the possible font combinations in the MN design
+%
+% v0.4 --- released 25th August 1994 (M. Reed)
+% v0.3 --- released 22nd February 1994
+% v0.25 --- released 24th July 1992
+% v0.1 --- first released 27th February 1992
+%
+% Copyright Cambridge University Press
+
+% The following line automatically loads the mn macros if you are not
+% using a format file.
+\ifx\mnmacrosloaded\undefined \input mn\fi
+
+
+% If your system has the AMS fonts version 2.0 installed, MN.tex can be
+% made to use them by uncommenting the line: %\AMStwofontstrue
+%
+% By doing this, you will be able to obtain upright Greek characters.
+% e.g. \umu, \upi etc. See the section on "Upright Greek characters" in
+% the author guide for further information.
+
+\newif\ifAMStwofonts
+%\AMStwofontstrue
+
+\ifCUPmtplainloaded
+ \AMStwofontstrue
+\else
+ \NewTextAlphabet{textbfit} {cmbxti10} {}
+ \NewTextAlphabet{textbfss} {cmssbx10} {}
+ \NewMathAlphabet{mathbfit} {cmbxti10} {} % for math mode
+ \NewMathAlphabet{mathbfss} {cmssbx10} {} % " " "
+ %
+ \ifAMStwofonts
+ \NewSymbolFont{upmath} {eurm10}
+ \NewSymbolFont{AMSa} {msam10}
+ \NewMathSymbol{\upi} {0}{upmath}{19}
+ \NewMathSymbol{\umu} {0}{upmath}{16}
+ \NewMathSymbol{\upartial}{0}{upmath}{40}
+ \NewMathSymbol{\leqslant}{3}{AMSa}{36}
+ \NewMathSymbol{\geqslant}{3}{AMSa}{3E}
+ \let\oldle=\le \let\oldleq=\leq
+ \let\oldge=\ge \let\oldgeq=\geq
+ \let\leq=\leqslant \let\le=\leqslant
+ \let\geq=\geqslant \let\ge=\geqslant
+ \fi
+ %
+\fi
+
+\def\tface{\ifCUPmtplainloaded (Monotype Times)\else (Computer Modern)\fi}
+
+\parindent=0pt
+
+\onecolumn
+
+\pageoffset{-2.5pc}{0pc}
+
+\begintopmatter
+\title{A test file showing all of the possible font combinations}
+
+\shortauthor{Monthly Notices font test \tface}
+\shorttitle{Monthly Notices font test \tface}
+\maketitle
+
+\overfullrule=0pt
+
+\loadboldmathnames
+
+% not available in sub, sub sub and super, super super script:
+% \it, \sl, \tt, \sc and \sf (Computer Modern version)
+
+\def\digs{0123456789}
+\def\testfont#1{%
+ \advance\baselineskip by 5pt
+ {\tenrm #1:}\medskip
+ {$\rm Roman^{\rm Roman^{\rm Roman}}$}\ \
+ {$\bf Boldface^{\bf Boldface^{\bf Boldface}}$}\par
+%
+ \ifCUPmtplainloaded % Times version
+ {$\it Italic^{\it Italic^{\it Italic}}$}\ \
+ {$\sl Slanted^{\sl Slanted^{\sl Slanted}}$}\par
+ {$\tt Typewriter^{\tt Typewriter^{\tt Typewriter}}$}\ \
+ {$\sc Small\ Caps^{\sc Small\ Caps^{\sc Small\ Caps}}$}\par
+ {$\sf Sans\ Serif^{\sf Sans\ Serif^{\sf Sans\ Serif}}$}\par
+ \else
+ {\it Italic}\ \
+ {\sl Slanted}\ \
+ {\tt Typewriter}\par
+ {\sc Small Caps}\ \
+ {\sf Sans Serif}\par
+ \fi
+ %
+ {\textbfit{Bold text italic}%
+ $^{\mathbfit{Bold\ text\ italic^{\mathbfit{Bold\ text\ italic}}}}$}\par
+ {\textbfss{Bold sans-serif}%
+ $^{\mathbfss{Bold\ sans-serif}^{\mathbfss{Bold\ sans-serif}}}$}\par
+ %
+ \ifAMStwofonts
+ Upright math, and others $\upi^{\upi^{\upi}}, \umu^{\umu^{\umu}},
+ \upartial^{\upartial^{\upartial}}, \le^{\le^{\le}}, \ge^{\ge^{\ge}}$
+ \par
+ \fi
+ %
+ {$\cal CALAGRAPHIC^{\cal CALAGRAPHIC^{\cal CALAGRAPHIC}}$}\par
+ {$\bmath{\cal BOLD\ CALAGRAPHIC^{\cal BOLD\ CALAGRAPHIC^{\cal BOLD\ CALAGRAPHIC}}}$}\par
+
+ {$Math\ italic^{Math\ italic^{Math\ italic}}$}\par
+ {$\bmath{Bold\ math\ italic^{Bold\ math\ italic^{Bold\ math\ italic}}}$}\par
+
+ {${\rm Oldstyle}\ \oldstyle \digs^{\oldstyle \digs^{\oldstyle \digs}}$}\par
+ {${\rm Bold\ oldstyle}\ \bmath{\oldstyle \digs^{\oldstyle \digs^{\oldstyle \digs}}}$}\par
+
+ {\rm Math symbols}\ \
+ $\gamma^{\gamma^{\gamma}}\quad \theta^{\theta^{\theta}}
+ \quad \nu^{\nu^{\nu}}\quad \nabla^{\nabla^{\nabla}}$\par
+ {\rm Bold math symbols}\ \
+ $\bgamma^{\bgamma^{\bgamma}}\quad \btheta^{\btheta^{\btheta}}
+ \quad \bnu^{\bnu^{\bnu}}\quad \bnabla^{\bnabla^{\bnabla}}$\par
+% $$
+% \bar x_1-\bar x_2-\left (t_{1-{\alpha\over 2}}
+% \ \times \ s\sqrt{{1\over n_1}+{1\over n_2}}\right )\ {\rm to} \ \bar
+% x_1-\bar x_2+\left (t_{1-{\alpha\over 2}}
+% \times s\sqrt{{1\over n_1}+{1\over n_2}}\right )
+% $$
+% }%
+ Special symbols:
+ $\la$\ $\ga$\ $\getsto$\ $\cor$\ $\lid$\ $\gid$\ $\sol$\ $\sog$\
+ $\lse$\ $\gse$\ $\grole$\ $\leogr$\ $\loa$\ $\goa$\ \sun\ \degr\
+ \diameter\ $\sq$\ \fd\ \fh\ \fm\ \fs\ \fdg\ \fp\ \farcs\ \farcm\
+ \arcsec\ \arcmin\ $\bbbr$ $\bbbm$ $\bbbn$ $\bbbf$ $\bbbh$ $\bbbk$
+ $\bbbp$ $\bbbone$ $\bbbc$ $\bbbq$ $\bbbt$ $\bbbs$ $\bbbz$\par
+ %
+ \ifCUPmtplainloaded
+ \Half
+ \noindent (Monotype Times version only)\par
+ \noindent AMS symbol fonts:
+ $\boxplus$, $\boxtimes$, $\blacksquare$, $\centerdot$, $\lozenge$,
+ $\blacklozenge$, $\yen$, $\checkmark$, $\circledR$, $\maltese$,
+ $\nleqq$, $\ngeqq$,
+ $\precneqq$, $\succneqq$, $\precnapprox$, $\succnapprox$, $\lnapprox$,
+ $\gnapprox$\par
+ \noindent Blackboard Bold: $\Bbb{A}\ldots\Bbb{Z}$\par
+ \fi
+ \Two
+}
+
+
+\eightpoint\testfont{8 point}%
+
+\ninepoint\testfont{9 point}%
+
+\vfil\eject
+
+\tenpoint\testfont{10 point}%
+
+\elevenpoint\testfont{11 point}%
+
+\vfil\eject
+
+\fourteenpoint\testfont{14 point}%
+
+\vfil\eject
+
+\seventeenpoint\testfont{17 point}%
+
+\bye
+
+% end of fonttest.tex
diff --git a/Master/texmf-dist/doc/plain/mnras/mnguide.tex b/Master/texmf-dist/doc/plain/mnras/mnguide.tex
new file mode 100644
index 00000000000..f68e7a06bef
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/mnras/mnguide.tex
@@ -0,0 +1,1988 @@
+% MNGUIDE.TEX
+%
+% Authors' guide for the plain TeX MN macros
+%
+% v1.5 --- released 25th August 1994 (M. Reed)
+% v1.4 --- released 22nd February 1994
+% v1.3 --- released 21st December 1992
+%
+% Copyright Cambridge University Press
+
+% The following line automatically loads the mn macros if you are not
+% using a format file.
+\ifx\mnmacrosloaded\undefined \input mn\fi
+
+% If your system has the AMS fonts version 2.0 installed, MN.tex can be
+% made to use them by uncommenting the line: %\AMStwofontstrue
+%
+% By doing this, you will be able to obtain upright Greek characters.
+% e.g. \umu, \upi etc. See the section on "Upright Greek characters" in
+% this guide for further information.
+
+\newif\ifAMStwofonts
+%\AMStwofontstrue
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Macros for this guide %%%%%%%%%%%%%%%%%%%%%%%%%%%
+\makeatletter
+\newskip\ttglue \ttglue=0pt
+
+\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}%
+{\obeyspaces\gdef {\ }}
+
+\outer\def\begintt{$$\let\par=\endgraf \ttverbatim \parskip=0pt%
+ \catcode`\|=0 \rightskip=-5pc \ttfinish}
+
+{\catcode`\|=0 |catcode`|\=\other
+ |obeylines
+ |gdef|ttfinish#1^^M#2\endtt{#1|vbox{#2}|endgroup$$}}
+
+\catcode`\|=\active
+{\obeylines\gdef|{\ttverbatim\spaceskip=\ttglue\let^^M=\ \let|=\endgroup}}
+
+\newdimen\macind \macind=1em % the default indent
+
+\def\beginlines{\par\begingroup\nobreak\Half
+ \leftskip=\macind
+ \parindent=0pt%
+ \nobreak \obeylines \everypar{\strut}%
+}
+\def\endlines{\endgroup\Half\noindent}
+
+\def\hang#1#2{%
+ \par\hangindent=70pt%
+ \advance\hangindent by 1em
+ \noindent\hskip 1em \rlap{\tt #1}\hskip 70pt\relax
+ #2\par%
+}
+
+\def\beginexhang#1{\par\bgroup\let\item=\ex@hang}
+
+\def\ex@hang#1{%
+ \everypar{}\par
+ \Half
+ \everypar{\noindent \ignorespaces}%
+ \noindent %\hskip-\hangindent
+ \boxw{\tt\char"5C #1}\quad\ignorespaces
+}
+
+\def\endexhang{\par\egroup\Half}
+
+\def\beginquote{\bgroup\par\Half\leftskip=2em \rightskip=2em
+ \eightpoint\noindent\ignorespaces}
+\def\endquote{\par\Half\egroup\noindent}
+
+\newdimen\fboxrule \fboxrule=.4pt
+\newdimen\fboxsep \fboxsep=3pt
+\newdimen\tempdimA
+\newbox\BoxA
+
+\newif\ifnocr
+\def\boxw#1{{\global\nocrtrue \fboxsep=2pt \boxit{#1}}}
+
+\long\def\boxit#1{%
+ \setbox\BoxA=\hbox{\kern\fboxsep #1\kern\fboxsep}%
+ \tempdimA=\fboxrule
+ \advance\tempdimA by \fboxsep
+ \advance\tempdimA by \dp\BoxA
+ \noindent \hbox{\lower\tempdimA
+ \hbox{%
+ \vbox{%
+ \hrule height \fboxrule
+ \hbox{%
+ \vrule width \fboxrule \hskip-\fboxrule
+ \vbox{\vskip\fboxsep \box\BoxA\vskip.5\fboxsep}%
+ \hskip -\fboxrule \vrule width \fboxrule
+ }%
+ \hrule height \fboxrule
+ }%
+ }%
+ }%
+ \ifnocr \global\nocrfalse\else \par\medskip\noindent\ignorespaces\fi
+}
+
+\def\multi{\vbox\bgroup\advance\hsize by -2\fboxsep \def\\{\hfil\break}}
+\def\endmulti{\egroup}
+
+\def\Notes{%
+ \if@nobreak \everypar{}\half \else \addpen{\gds@cbrk}\addvspace{\half}\fi
+ \noindent\@nohdbrk {\em Notes}\par
+ \nobreak \vskip\half \nobreak \@noafterindent
+}
+
+
+\def\LaTeX{La\TeX}
+\makeatother
+%%%%%%%%%%%%%%%%%%%%%% End of macros for guide %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\ifCUPmtplainloaded \else
+ \NewTextAlphabet{textbfit} {cmbxti10} {}
+ \NewTextAlphabet{textbfss} {cmssbx10} {}
+ \NewMathAlphabet{mathbfit} {cmbxti10} {} % for math mode
+ \NewMathAlphabet{mathbfss} {cmssbx10} {} % " " "
+ %
+ \ifAMStwofonts
+ %
+ \NewSymbolFont{upmath} {eurm10}
+ \NewSymbolFont{AMSa} {msam10}
+ \NewMathSymbol{\upi} {0}{upmath}{19}
+ \NewMathSymbol{\umu} {0}{upmath}{16}
+ \NewMathSymbol{\upartial}{0}{upmath}{40}
+ \NewMathSymbol{\leqslant}{3}{AMSa}{36}
+ \NewMathSymbol{\geqslant}{3}{AMSa}{3E}
+ \let\oldle=\le \let\oldleq=\leq
+ \let\oldge=\ge \let\oldgeq=\geq
+ \let\leq=\leqslant \let\le=\leqslant
+ \let\geq=\geqslant \let\ge=\geqslant
+ \else
+ \def\umu{\mu}
+ \def\upi{\pi}
+ \def\upartial{\partial}
+ \fi
+\fi
+
+% Marginal adjustments using \pageoffset maybe required when printing
+% proofs on a Laserprinter (this is usually not needed).
+% Syntax: \pageoffset{ +/- hor. offset}{ +/- vert. offset}
+% e.g. \pageoffset{-3pc}{-4pc}
+
+\pageoffset{-2.5pc}{0pc}
+
+\loadboldmathnames
+
+\begintopmatter % start the two spanning material
+
+\title{Monthly Notices of the Royal Astronomical Society:\hfil\break
+ plain \TeX\ style guide for authors}
+\author{M. A. Reed}
+\affiliation{Cambridge University Press, Shaftesbury Road,
+ Cambridge CB2 2BS}
+
+\shortauthor{M. A. Reed}
+\shorttitle{Monthly Notices: plain \TeX\ guide for authors}
+
+\acceptedline{Accepted 1993 December 11. Received 1993 March 17}
+
+\abstract {This guide is for authors who are preparing papers for the
+Monthly Notices of the Royal Astronomical Society using the
+Monthly Notices plain \TeX\ macros.}
+
+\keywords {Plain \TeX, {\tt mn.tex} -- sample text -- user guide.}
+\pagerange{1--13}%%
+\pubyear{1994}
+
+\maketitle
+
+% Start of main text
+
+\section{Introduction}
+
+In addition to the standard submission of hardcopy from authors,
+Monthly Notices accepts machine-readable forms of papers in \TeX.
+The layout design for Monthly Notices has been implemented as a
+\TeX\ format. This guide is not a substitute for the \TeX\ manual
+itself. Authors planning to submit their papers in \TeX\ are advised
+to use |mn.tex| as early as possible in the creation of their files.
+
+
+\subsection{The MN macros}
+
+MN is a set of plain \TeX\ macros for the Monthly Notices design,
+incorporating both the single- and double-column formats.
+MN.STY is the corresponding \LaTeX\ style file.
+The MN design package consists of the following files; do not edit these
+files in any way.
+\Half
+\hang{MN.TEX} {the macro definitions}
+\hang{MNGUIDE.TEX} {the input file for this guide}
+\hang{MNSAMPLE.TEX} {the input file for a sample article}
+\hang{MNLAND.TEX} {a landscape figure for use with the sample article}
+\hang{FONTTEST.TEX} {a file to test all of the fonts used in MN}
+\Half
+\noindent The input files for the guide, sample pages, landscape sample and
+fonttest automatically call in the MN macros if you haven't preloaded them
+by using a format file.
+Therefore, this guide can be typeset by typing: |tex MNGUIDE|, or
+|tex &mn MNGUIDE|.
+
+When your article is printed in the Monthly Notices journal, it is typeset
+in Monotype Times. As most authors do not have this font, it is likely that
+the make-up will change with the change of font. For this reason, we ask
+you to ignore details such as slightly long lines, page stretching, or
+figures falling out of synchronization, because these details can be dealt with at a later stage.
+
+
+\subsection{General style issues}
+
+For general style issues, authors are referred to the `Instructions for
+Authors' on the inside back cover of Monthly Notices. Authors who are
+interested in the details of style are referred to Butcher (1992) and
+The Chicago Manual (1982). The language of the journal is British
+English and spelling should conform to this.
+
+
+\subsection{Submission of \TeX\ articles to the journal}
+
+Authors are urged to state that electronic submission is intended when
+first submitting their paper. Papers should initially be submitted in the
+usual way to the Executive Secretary, Royal Astronomical Society, Burlington
+House, London W1V~0NL, as set out on the inside front cover of each issue
+of Monthly Notices. Three hard copies should be supplied. One of these
+copies should be single-sided and double-spaced throughout, while the other
+two should be weight-reduced, by being either single-spaced or double-sided.
+Note that articles, or revised versions thereof, may not be submitted by
+electronic mail. Appropriate gaps should be left for figures, original
+versions and copies of which should also be supplied. Authors should ensure
+that their figures are suitable (in terms of lettering, size, etc.) for the
+reduction they intend.
+
+Authors who wish to include PostScript artwork dir\-ectly into their
+articles can do so, by using either Tomas Rokicki's {\sf EPSF} macros
+or Trevor Darrell's {\sf PSFIG} macros (both of which are supplied with
+the DVIPS PostScript driver). Please remember to supply any additional
+figure macros you use with your article.
+Please also supply hard copies of your figures, for the use of production
+editors and as a back-up.
+Authors should not attempt to
+use implementation specific |\special|'s directly.
+
+The correct Monthly Notices House
+Style should be used -- details are given in the Instructions for Authors,
+in the Style Guide published in the 1~January 1993 issue (\hbox{MNRAS},
+260,~1), and in Appendix C of this guide.
+No disk should be submitted at this initial stage. When the paper has been
+accepted, the double-spaced copy will be marked up by the subeditors at
+Blackwell Science (BS) and returned to you for correction.
+When the requested corrections have been made, you should send the following
+material to BS:
+\beginlist
+\item (i) a 3.5-inch or 5.25-inch disk for PC (double or high density or
+Apple Mac), containing the {\em corrected\/} version of the paper; the file
+for the final version should be text-only, with no source-dependent control
+codes (i.e. an ASCII file);
+
+\item (ii) two hard copies of the corrected version, plus the original
+marked up copy of the article; {\em any further author corrections should
+be clearly indicated on the latter\/};
+
+\item (iii) a signed statement that the revised hard copy and the disk do
+indeed correspond.
+\endlist
+In addition, you should submit the following information concerning the disk
+and its contents:
+\beginlist
+\item (i) the disk format (e.g. PC 360k);
+
+\item (ii) how many files the disk contains, their names, a description of
+the file contents and the number of pages each file will produce when
+printed; details of any user-defined macros;
+
+\item (iii) the computer system and implementation of \TeX\ used (e.g.
+IBM~PC-386, PC\TeX~v3.14).
+\endlist
+Unless the layout of the paper has to be significantly changed by the
+typesetter (for example, if the gaps left for figures are not suitable), it
+will not be necessary to send you a typeset proof to check, as the paper
+will be set directly from your submitted disk. However, you should note
+that, if serious problems are encountered with the coding of your paper
+(missing author-defined macros, for example), it may prove necessary to
+divert the paper to conventional typesetting.
+
+
+\section{General instructions for installation}
+
+The simplest way to use this macro package is to copy the above files into a
+suitable directory or work area on your computer. Write your
+article using the macros described below (or use the sample article as a
+template) and ensure that the following is included at the very beginning of your input file:
+\beginlines
+|\ifx\mnmacrosloaded\undefined \input mn\fi|
+\endlines
+
+When you typeset your article using |tex <article file name>| the macro
+definitions will be loaded automatically before your text is processed.
+This will happen rather slowly on a small computer and you may find it much
+faster to work with the \TeX\ format file for the MN macros.
+This can be created by using the program INITEX:
+\beginlines
+|initex &plain mn|
+\endlines
+This usage of this command will vary from one installation of \TeX\ to
+another. In {\sc Unix} implementations of \TeX\ the `|&|' character must
+be `escaped' with a `|\|` because it is a magic character,
+e.g. |initex \&plain mn|.
+In PC\TeX\ you type the following (seek local advice if you
+are not sure how to use INITEX on your system):
+\beginlines
+|tex &plain mn /i|
+\endlines
+
+When the process is complete type |\dump| at the \TeX\ prompt.
+This creates the format file |MN.FMT|. Type the following command to
+typeset your article:
+\beginlines
+|tex &mn <article file name>|
+\endlines
+\TeX\ will process your article at high speed.
+
+
+\subsection{The font test and sample pages}
+
+Once you have installed the MN macros, run the following test. The file
+|FONTTEST.TEX| produces a sample of each font size used in the MN design.
+To use this do |tex FONTTEST| or |tex &mn FONTTEST| (after creating the
+|MN.FMT| format file).
+Preview the resulting |DVI| file on-screen and generate hard copy output on
+your facilities. It will show you whether any of the fonts selected by the
+Monthly Notices design are going to cause problems on your system.
+
+As a final test of the installation, typeset the sample article, using
+|tex MNSAMPLE| or |tex &mn MNSAMPLE|.
+Use this article in conjunction with the instructions in this guide to
+work out how to typeset an article for Monthly Notices.
+
+
+\subsubsection{Page margins}
+
+Some \TeX\ sites may find that pages from the MN design are positioned
+incorrectly on the paper from local laserprinters. This can be corrected by the
+use of the |\pageoffset| macro. It takes two parameters, the first being
+the horizontal offset, the second the vertical offset, e.g.
+\beginlines
+|\pageoffset{-1pc}{2pc}|
+\endlines
+The above example will shift the output one pica to the left, and two picas
+down the page. Usually there is no need to use this macro; only use it if
+required.
+
+
+\subsubsection{Author macro names}
+
+For efficiency, some authors may wish to write their own macros. Those who
+intend to do this will be aware of the problem of creating unique
+identifiers (macro names). The most common way around this problem has been
+to include |@| somewhere in the identifier, e.g. |\@utput| or |\sec@tion|.
+Knuth, the creator of \TeX, has adopted this method in the plain \TeX\
+definitions and it can also be found in other format packages such as
+\LaTeX.
+
+However, use of this method can cause problems if the internals of plain
+\TeX\ or the MN macros get `over-ridden'. There is a simpler method which is
+much safer. Simply prefix your macro names with your initials,
+e.g.\ |\MARmacro|.
+
+
+\section{The design macros}
+
+Refer to the source code of the sample pages for examples of the following
+design macros in use. It is very important that the article should end
+with a |\bye| as this typesets `This paper$\ldots$' at the very end.
+
+
+\subsection{Article opening}
+
+There are certain macros that should appear near the top of your input file.
+The following is the recommended way to begin your article.
+%
+\beginexhang{begintopmatter}
+\item{onecolumn} Selects single-column output (default = two-column).
+ The |\onecolumn| command {\em must\/} be used before |\begintopmatter|
+ for the article opening to work correctly.
+
+ You should not use |\onecolumn| unless your article has a high
+ mathematical content which won't fit into the two-column measure easily.
+ Selection of one-column output also affects the actions of other macros,
+ particularly those controlling figures and tables.
+
+\item {Referee} This selects referee mode (double spaced) if required
+ (default = not selected). Figure captions and Tables are not double
+ spaced by this option.
+
+\item {authorcomment} This creates a catchline at the bottom of the page
+ which authors may wish to use to keep track of the versions of their
+ article.
+
+\item {begintopmatter} This macro should be used just before defining the
+ article title and author names. If you omit this macro \TeX\ will
+ complain loudly when it reaches the |\maketitle| macro.
+
+\item {title} Set the article title, e.g.
+\beginlines
+|\title{Dust envelopes around RV Tauri stars}|
+\endlines
+
+\item {author} Set the article author(s), e.g.
+\beginlines
+|\author{A. V. Raveendran}|
+\endlines
+
+\item {affiliation} Set the author affiliation(s), e.g.
+\beginlines
+|\affiliation{Indian Institute of Astrophysics..}|
+\endlines
+Multiple author names should be set as follows. Do not use
+`\&' between names, always use `and'. Each author name is
+listed, followed by a reference mark (usually a superscripted
+number). The reference mark refers to each author's
+respective affiliations in a list which follows afterwards.
+For example,
+\beginlines
+\vbox{%
+|\author{A.~Moorhouse,$^{1,2}$|
+| P.~W.~J.~L.~Brand,$^1$|
+| T.~R.~Geballe$^3$ and M.~G.~Burton$^4$}|
+|\affiliation{$^1$ Department of Astronomy, ...}|
+|\affiliation{$^2$ Present address: Dublin|
+| Institute for ...}|
+|\affiliation{$^3$ Joint Astronomy Centre ...}|
+|\affiliation{$^4$ NASA Ames Research Center ...}|
+}%
+\endlines
+Note that the `present address' in
+the above example is treated as though it were an affiliation. Similarly,
+fellowships or other posts, for example `Visiting Observer, Mount John
+University Observatory \dots' should be listed in the acknowledgments.
+
+\item {shortauthor} Define the even-page running head.
+\beginlines
+|\shortauthor{R. A. Stathakis and E. M. Sadler}|
+\endlines
+Initials only should be used in running heads; use `and',
+not~`\&', to separate the final two names. When there is a
+long list of authors (four or more) use the form
+\beginlines
+|\shortauthor{D.~T.~Wickramasinghe et al.}|
+\endlines
+
+\item {shorttitle} Define the odd-page running head.
+\beginlines
+|\shorttitle{The H\,{\eightit I} spectra}|
+\endlines
+Notice the use of the |\,| (thinspace) after the `H' in the above example.
+The |\eightit| simulates the effect of an italic small-caps.
+If you require roman (upright) text in the short-title, say for `IRAS',
+you would use:
+\beginlines
+|\shorttitle{...{\rm IRAS}...}|
+\endlines
+It may also be necessary to add an italic correction |\/| before the |\rm|
+to improve the spacing.
+
+\item {abstract} Set the abstract information, e.g.
+\beginlines
+|\abstract {This is the text of the abstract ...}|
+\endlines
+This design macro requires that the text (which can be
+longer than one paragraph) is enclosed in braces.
+The abstract must fit on to the
+first page of the article when typeset.
+
+\item {keywords} Set any article key words, e.g.
+\beginlines
+|\keywords {circumstellar matter|
+| -- infrared: stars.}|
+\endlines
+The same applies for |\keywords| as for the |\abstract| macro.
+
+\item {maketitle} This macro must be used just before the first section
+ or the first text paragraph.
+\endexhang
+
+
+\subsection{Headings}
+
+Some headings are capitalized. Where this is true the design macro will
+automatically capitalize whatever you key. As a rule, it is advisable to
+capitalize the first letter, and any words that normally start with a capital,
+i.e. proper nouns, abbreviations, but key all other words in lower case.
+
+The |\section|, |\subsection| and |\subsubsection| mac\-ros are
+automatically numbered. To produce unnumbered headings, `star' forms of
+these macros exist, e.g. |\section*|.
+%
+\beginexhang{subsubsection}
+\item {section} Start a new section, e.g.
+\beginlines
+|\section{Introduction}|
+\endlines
+For main section headings such as `Acknowledgments' and
+`References' use the |\section*| macro, e.g.
+\beginlines
+|\section*{Acknowledgments}|
+\endlines
+The |\section| command is also used to produce appendices
+(see Subsection~3.11 for more information).%%
+
+\item {subsection} Start a new subsection, e.g.
+\beginlines
+|\subsection{Colour--colour diagram}|
+\endlines
+
+\item {subsubsection} Start a new subsubsection, e.g.
+\beginlines
+|\subsubsection{Correlation with subgroups}|
+\endlines
+
+\item {paragraph} Start a new subsubsubsection, e.g.
+\beginlines
+|\paragraph{Correlation with subgroups.} Text|
+| runs on after heading...|
+\endlines
+It is important to note that text runs on after a
+|\paragraph|. There should be no break between this heading
+and the next paragraph.
+\endexhang
+
+\noindent The macro |\section| forces the text of the heading into upper
+case, and |\subsection| emboldens the text. When headings contain names
+with lowercase or small capital letters, place these letters in the
+argument of |\lowercase|, e.g.
+\beginlines
+|N\lowercase{a}\,{\sixbf I}/%|
+|C\lowercase{a}\,{\sixbf II}|
+\endlines
+to get `\dots\ {\bf Na\,{\sixbf I}/Ca\,{\sixbf II}}\ \dots' in a section
+heading. The |\sixbf| commands produce a simulated bold small-caps.
+This technique can also be applied to the running heads; see the example in
+|\shorttitle|.
+
+The paragraph indent on any text following a |\section|, |\subsection|
+or |\subsubsection| is automatically removed by the macros.
+
+
+\subsection{Lists}
+\subsubsection{Numbered lists}
+
+Numbered lists are keyed in a simple and straightforward way. They begin
+with a |\beginlist| command. Each item is marked with |\item| with its
+number (in round braces) followed by the text for the item. The number
+should be in lower case roman numerals. The list is ended with |\endlist|.
+For example,
+\beginlines
+|\beginlist|
+|\item (i) the attenuated and diluted stellar|
+| radiation;|
+|\item (ii) scattered radiation, and|
+|\item (iii) reradiation from other grains.|
+|\endlist|
+\endlines
+
+\Notes
+
+\beginlist
+\item (i) Extra white space is automatically added above and below the list.
+\item (ii) Outside the scope of the |\beginlist| and |\endlist| commands the
+ |\item| command reverts to its plain \TeX\ definition. Don't use the
+ plain \TeX\ |\item| command on its own, as the spacing and indents will
+ be incorrect.
+\item (iii) The paragraph indentation on the first paragraph following the
+ |\endlist| command is removed automatically if you leave no blank
+ line between the |\endlist| and the text.
+\endlist
+
+
+\subsubsection{Unnumbered lists}
+
+These should be keyed in the same way as numbered lists (described above),
+except that each item in the list has no number in round braces.
+
+
+\subsection{Illustrations (or figures)}
+
+Figures should be keyed as follows:
+\beginlines
+|\beginfigure{|{\em n\/}|}|
+| \vskip 3cm|
+| \caption{{\bf Figure |{\it f}|.} An example figure in|
+| which space has been left for the artwork.}|
+|\endfigure|
+\endlines
+Figure captions should be below the figure itself, therefore
+the |\caption| command should appear after the figure or space
+left for an illustration.
+The {\em n\/} value is the logical figure number. This number determines
+the output order of the figure (in two-column mode).
+It must start at~1 and increase with each successive figure.
+\beginfigure{1}
+ \vskip 3cm
+ \caption{{\bf Figure 1.} An example figure in which space has been
+ left for the artwork.}
+\endfigure
+The |\caption| macro is only valid in the scope of
+|\beginfigure|$\ldots$|\endfigure|.
+
+The example above will produce a single-column figure in two-column mode.
+To produce a double-spanning figure use:
+\beginlines
+|\beginfigure*{|{\em n\/}|}|
+| |$\ldots$
+| \caption{|$\ldots$|}|
+|\endfigure|
+\endlines
+Notice that |\beginfigure*| ends with |\endfigure|. If the text in the
+caption is less than one line long it is centred automatically, otherwise
+it is set full-out.
+
+\Notes
+
+\beginlist
+\item (i) If there is more than one figure panel to a caption, the depth
+ value should increase by 13pt (4.5mm) for every extra figure (if they are
+ one above another). This allows for a gap between each figure panel.
+
+\item (ii) If a figure occupies one complete page, insert a depth that does
+ not completely fill the page, otherwise the figure may be output at the
+ end of the paper (or not at all)!
+\endlist
+
+See `Instructions for Authors' in Monthly Notices for submission of
+artwork.
+
+\subsubsection{Points to note for figures in one-column articles}
+
+\beginlist
+\item (i) All figures (and their captions) will be set to full width even
+ if they are keyed using |\beginfigure|$\ldots$|\endfigure|.
+ Captions shorter than one line will be centred as normal.
+
+\item (ii) The logical figure number is ignored in one-column mode.
+ Therefore the figures are output in the order in which they appear in
+ the source.
+
+\item (iii) If a figure is placed very early in the source code,
+ it is possible for it to float to the top of the first page
+ (above the title). In this case, move the figure one paragraph down and
+ try again. It may be necessary to do this with other figures to keep the
+ output order correct.
+\endlist
+
+
+\subsection{Tables}
+
+Tables should be keyed something like this:
+\beginlines
+|\begintable{|{\em n\/}|}|
+| \caption{{\bf Table |{\em t\/}|.} |$\ldots$|}|
+| \halign{| $<$alignment$>$ |}|
+| \tabletext{| text below table, table footnotes, etc. |}|
+|\endtable|
+\endlines
+The {\em n\/} value is the logical table number, and {\em t\/} is the
+table number. The logical table number determines the output order of the
+table (in two-column mode).
+It must start at~1 and increase with each successive table.
+
+The table caption should appear before the body of the table.
+The |\tabletext| macro is provided for table notes, and table footnotes.
+It can contain more than one paragraph of text. Ten points of space are
+automatically added above |\tabletext|. Only one |\tabletext| is allowed
+per table. The usage of |\tabletext| is optional.
+
+If you wish to insert non-aligned text into the body of the alignment do
+not use |\noalign{|{\em text\/}|}| as this will make the table appear to
+be full width to the macros, resulting in the table being set flush left.
+In this case you can either use |\multispan| or use
+|\noalign{\hbox{|{\em text\/}|}}|.
+
+The caption, and any text below the table will be set to the table
+width, when the table is centred by the macros.
+The |\caption| and |\tabletext| macros are only valid in the scope of the
+|\begintable|$\ldots$|\endtable|.
+
+Table~1 is produced with the following code:
+\beginlines
+|\begintable{1}|
+| \caption{{\bf Table 1.} Radio-band beaming|
+| model parameters for FSRQs and BL Lacs.}|
+| \halign{#\hfil & \quad \hfil#\hfil\quad &|
+| \hfil#\hfil\quad & \hfil#\hfil\quad &|
+| \hfil#\hfil\quad & \hfil#\hfil\quad &|
+| \hfil#\hfil\cr|
+| Class & $\gamma_1$ & $\gamma_2$ & $\langle|
+| \gamma \rangle$ & $G$ & $f$|
+| & $\theta_{\rm c}$ \cr|
+| BL Lacs & 5 & 36 & 7 & $-4.0$ & $1.0\times|
+| 10^{-2}$ & 10$^\circ$ \cr|
+| FSRQs & 5 & 40 & 11 & $-2.3$ & $0.5\times|
+| 10^{-2}$ & 14$^\circ$ \cr|
+| }|
+| \tabletext{{\em G} is the slope of the Lorentz|
+| factor distribution, i.e. $n(\gamma)\propto|
+| \gamma^G$, extending between $\gamma_1$|
+| and $\gamma_2$, with mean value $\langle|
+| \gamma\rangle$, {\em f\/} is the ratio|
+| between the intrinsic jet luminosity and the|
+| extended, unbeamed luminosity, while|
+| $\theta_{{\rm c}}$ is the critical angle|
+| separating the beamed class from the parent|
+| population.}|
+|\endtable|
+\endlines
+
+\begintable{1}
+ \caption{{\bf Table 1.} Radio-band beaming model parameters
+ for FSRQs and BL Lacs.}
+ \halign{#\hfil&\quad \hfil#\hfil\quad& \hfil#\hfil\quad&
+ \hfil#\hfil\quad& \hfil#\hfil\quad& \hfil#\hfil\quad&
+ \hfil#\hfil\cr
+ Class & $\gamma_1$ & $\gamma_2$ & $\langle \gamma \rangle$ & $G$ & $f$
+ & $\theta_{\rm c}$ \cr
+ BL Lacs & 5 & 36 & 7 & $-4.0$ & $1.0\times 10^{-2}$ & 10$^\circ$ \cr
+ FSRQs & 5 & 40 & 11 & $-2.3$ & $0.5\times 10^{-2}$ & 14$^\circ$ \cr
+ }
+ \tabletext{{\em G} is the slope of the Lorentz factor distribution, i.e.
+ $n(\gamma)\propto \gamma ^G$, extending between $\gamma _1$ and
+ $\gamma_2$, with mean value $\langle \gamma \rangle$, {\em f\/} is the
+ ratio between the intrinsic jet luminosity and the extended, unbeamed
+ luminosity, while $\theta_{{\rm c}}$ is the critical angle separating
+ the beamed class from the parent population.}
+\endtable
+
+\noindent The example above will produce a single-column table in two-column
+mode. To produce a double-spanning table use:
+\beginlines
+|\begintable*{|{\em n\/}|}|
+| \caption{|$\ldots$|}|
+| \halign{|$\ldots$|}|
+| \tabletext{|$\ldots$|}|
+|\endtable|
+\endlines
+Notice that |\begintable*| ends with |\endtable|.
+
+Tables are allowed to have single horizontal rules, at the head
+and foot only. Horizontal rules should have 3pt of space above and below
+them. Vertical rules should not be used.
+
+If a table occupies one complete page, you may find it necessary to reduce
+its depth slightly, so that it doesn't completely fill the page, otherwise
+the table may be output at the end of the paper (or not at all)!
+
+
+\subsubsection{Points to note for tables in one-column articles}
+
+\beginlist
+\item (i) Tables that will fit into a column in two-column mode will be
+ centred on the full page width in one-column mode.
+
+\item (ii) The logical table number is ignored in two-column mode.
+ Therefore the tables are output in the order in which they appear in
+ the source.
+
+\item (iii) If a table is placed very early in the source code,
+ it is possible for it to float to the top of the first page
+ (above the title). In this case, move the table one paragraph down and
+ try again. It may be necessary to do this with other tables to keep the
+ output order correct.
+\endlist
+
+
+\subsection{Captions for continued figures and tables}
+
+If a very large figure or table does not fit on one page,
+it must be split into two floats; the second float should use a
+continued caption in the form:
+\smallskip
+\centerline{{\bf Figure 6} -- {\it continued}}
+\smallskip
+\noindent The figure or table number in the continued caption should be
+the same as in the original caption. These captions should be keyed as
+follows:
+\beginlines
+|\begintable{|{\it n\/}|}|
+| \caption{{\bf Table |{\it t\/}|} -- {\it continued}}|
+| :|
+|\endtable|
+\endlines
+Notice that there is no full-point after the figure/table number.
+
+
+\subsection{Landscape pages}
+
+If a table or illustration is too wide to fit the standard measure, it
+must be turned, with its caption, through 90 degrees anticlockwise.
+Landscape illustrations and/or tables cannot be produced directly
+using the MN macros because \TeX\ itself cannot turn the
+page, and not all device drivers provide such a facility.
+
+The first step is to produce blank pages (with a running head) in the
+output, so that the landscape material can be pasted in later. How
+this is done depends on whether your article is in one or two columns.
+
+For one-column articles use the following:
+\beginlines
+|\pageinsert|
+| \vfil\centerline{{\bf Figure |{\em f\/}|.} Landscape|
+| figure to go here.}\vfil|
+|\endinsert|
+\endlines
+otherwise use
+\beginlines
+|\beginfigure*{|{\em n\/}|}|
+| \vbox to 646pt{\vfil \caption{{\bf Figure |{\em f\/}|.}|
+| Landscape figure to go here.}\vfil}|
+|\endfigure|
+\endlines
+for two-column articles. You may find it necessary to move the above code
+up or down the source code until the blank page appears on the page after
+the first reference.
+
+Next create a separate document containing the command |\landscape| near
+the top (or use |mnland.tex| as a template).
+In this file include the complete tables and illustrations (with captions)
+using the figure and table macros provided, remembering to number the
+captions in the correct sequence, e.g.
+\ifCUPmtplainloaded \else \eject\fi %%
+\beginlines
+|\ifx\mnmacrosloaded\undefined \input mn\fi|
+\smallskip
+|% use the following if your driver supports it|
+|% \special{landscape}|
+\smallskip
+|% you may require \pageoffset for landscape|
+|% \pageoffset{0pc}{-1.5pc}|
+\smallskip
+|\landscape|
+|\authorcomment{Landscape material to be pasted|
+| into the article.}|
+\smallskip
+|\begintopmatter|
+|\maketitle|
+\smallskip
+|\beginfigure{1}|
+|\caption{{\bf Figure 4.} Photometric|
+| comparisons |$\ldots$|}|
+|\endfigure|
+\smallskip
+|:|
+\smallskip
+|\bye|
+\endlines
+Once you have successfully processed the new file with the MN macros, you
+can pass the resulting output through your dvi printer driver. Because the
+output of the MN macros is wider than it is deep, the page has to be printed
+landscape on your output device.
+
+Some dvi printer drivers will understand the `landscape' |\special| command
+and will automatically rotate the output, while others need to be told from
+the command line. Consult your local documentation if you don't know how to
+do this.
+
+
+\subsection{Plate pages}
+
+These are provided for tip-in plates, and should only be used for
+these. The plate page macros create a blank page with a special running
+head; its contents can be set using the |\plate| command. The text in the
+head should be keyed as shown below. The {\em no\/} and {\em vol\/}
+numbers will be determined by the typesetter.
+\beginlines
+|\beginplatepage|
+| \plate{Opposite p.~|{\em no\/}|, MNRAS, {\bf |{\em vol\/}|}}|
+| \caption{{\bf Figure |{\em f\/}|.} |$\ldots$|}|
+|\endplatepage|
+\endlines
+If the plate is a `landscape' plate its caption (if any) should be set
+using a separate `landscape' file (as described above). If the plate is
+to be placed `portrait' its caption can be set by using the |\caption|
+command as shown above. The style of the caption should be the same as for
+normal figure captions. If the plate fills most of the page, it is advisable
+to place the caption at the very bottom of the page -- this can be achieved
+by using |\vfill| above the caption.
+
+Plate pages will always appear on the page following the one on which the
+|\endplatepage| command is encountered. At present it is impossible to have
+two plate pages side by side, since there must be at least one page between
+them. If a new plate page is started before a previous one is output the
+first plate page is lost.
+
+
+\subsection{Footnotes}
+
+Footnotes are only available in the one-column format. They should be
+keyed in the standard plain \TeX\ way using |\footnote|, e.g.
+\beginlines
+|text\footnote {|{\em symbol\/}|}{|{\em footnote text}$\ldots$|} text|
+\endlines
+where {\em symbol\/} should be in the sequence:
+$\star$ (|\star|), \dag, \ddag, \S, \P, $\|$, $\star\star$ (|\star\star|),
+\dag\dag, \ddag\ddag, \S\S, \P\P, $\|\|$.
+The |\footnote| command should only be used for footnotes in the main text.
+
+
+\subsection{Bibliography}
+
+References to published literature should be quoted in text by author
+and date: e.g.\ Draine (1978) or (Begelman, Blandford \& Rees 1984).
+Where more than one reference is cited having the same author(s) and date,
+the letters a,b,c, $\ldots$ should follow the date: e.g.\ Smith (1988a),
+Smith (1988b), etc.
+
+
+\subsubsection{References in the text}
+
+References in the text are given by author and date, and, whichever
+method is used to produce the bibliography, the references in the text
+are done in the same way.
+When you introduce a three-author paper, you should list all
+three authors at the first citation, and thereafter use et al.
+
+\subsubsection{The list of references}
+
+The following listing shows how references should be keyed in the style of
+the journal.
+\beginlines
+|\section*{References}|
+\smallskip
+|\beginrefs|
+|\bibitem Butcher J., 1992, Copy-editing:|
+| The Cambridge Handbook, 3rd edn.|
+| Cambridge Univ. Press, Cambridge|
+|\bibitem The Chicago Manual of Style, 1982.|
+| Univ. Chicago Press, Chicago|
+|\bibitem Blanco P., 1991, PhD thesis,|
+| Edinburgh University|
+|\bibitem Brown A. B., Jones C. D., 1989,|
+| in Robinson E. F., Smith G. H., eds,|
+| Proc. IAU Symp. 345, Black Dwarfs.|
+| Kluwer, Dordrecht, p. 210|
+|\bibitem Edelson R. A., 1987, ApJ, 313, 651|
+|\bibitem Lamport L., 1986, \LaTeX: A Document|
+| Preparation System. Addison--Wesley,|
+| New York|
+|\bibitem Mirabel I. F., Sanders D. B., 1989,|
+| ApJ, 340, L53|
+|\bibitem Misner C. W., Thorne K. S.,|
+| Wheeler J. A., 1973, Gravitation.|
+| Freeman, San Francisco|
+|\bibitem Sopp H. M., Alexander P., 1991,|
+| MNRAS, 251, 112|
+|\bibitem Stella L., Campana S., 1991, in|
+| Treves A., Perola G. C., Stella L., eds,|
+| Iron Line Diagnostic in X-ray Sources.|
+| Springer--Verlag, Berlin, p. 230|
+|\endrefs|
+\endlines
+The following rules apply for the ordering of your references:
+\beginlist
+\item (i) if an author has written several papers, some with other authors,
+ the rule is that the single-author papers precede the two-author
+ papers, which, in turn, precede the multi-author papers;
+\item (ii) within the two-author paper citations, the order is determined
+ by the second author's surname, regardless of date;
+\item (iii) within the multi-author paper citations, the order is
+ chronological, regardless of author surnames.
+\endlist
+
+\Notes
+
+\beginlist
+\item (i) The |\bibitem| command is undefined unless it is used in the
+ scope of the |\beginrefs|$\ldots$|\endrefs|.
+\item (ii) Bibliographical items can be longer than one paragraph.
+\item (iii) The paragraph indentation on the first paragraph following the
+ |\endrefs| command is removed automatically if you leave no blank
+ line between the |\endrefs| and the text.
+\endlist
+
+
+\subsection{Appendices}
+
+The appendices section of your article should start with a |\appendix|,
+after which each |\section| starts a new appendix. For example,
+\beginlines
+|\appendix|
+|\section{for authors}|
+\endlines
+will yield:\par
+\smallskip
+\centerline{\bf APPENDIX A:\enskip FOR AUTHORS}\par
+\smallskip
+\noindent The |\appendix| macro should only be used once.
+
+If the appendix has no subtitle, the parameter to the |\section| command
+should be left empty. For example,
+\beginlines
+|\section{}|
+\endlines
+will produce:\par
+\smallskip
+\centerline{\bf APPENDIX B}\par
+\smallskip
+\noindent Any subsections or subsubsections in the appendix are
+automatically numbered.
+You should also note that displayed equations in appendices should be
+numbered (A1), (A2) for Appendix A, and (B1), (B2) for Appendix B, etc.
+
+The numbering for displayed equations can be made automatic by using the
+|\stepeq| macros described in Subsubsection~3.13.2.%%
+
+Figures and Tables should also be numbered in a similar way,
+e.g. Fig. A1, A2, Table A1, A2 in appendices.
+
+
+\subsection{Typeface selection}
+
+The normal plain \TeX\ typeface conventions apply. The following faces
+are available as normal: |\rm|, |\it|, |\bf|, |\sl|, |\sf|, |\sc|,
+|\tt|, |\mit|, |\cal| and |\oldstyle|.
+
+Bold versions of |\cal| and |\oldstyle| can be produced in
+combination with |\bmath|. Use of |\bmath| on its own will provide bold
+math italic letters.
+
+A new |\em| command provides {\em emphasis\/} for important words.
+The |\em| command will automatically switch the face of the emphasized
+words to make them stand out. So,
+\beginlines
+|\rm this is an {\em emphasized\/} word.|
+|\it this is an {\em emphasized} word.|
+\endlines
+gives\par
+\centerline{\rm this is an {\em emphasized\/} word.}
+\centerline{\it this is an {\em emphasized\/} word.}
+\Half
+\noindent Notice the use of the italic correction command (|\/|) in the
+above example.
+
+The following are fully loaded in text, script and scriptscript sizes:
+|\rm|, |\bf|, math italic, math symbol, bold math italic and bold symbol.
+The faces |\it|, |\sl|, |\tt|, |\sc| and |\sf| are loaded at text size only.
+See |fonttest.tex| for a better idea of how these work.
+
+
+\subsection{Typesetting mathematics}
+\subsubsection{Displayed mathematics}
+
+Equations should be keyed using normal plain \TeX\ macros.
+Display mathematics are automatically set flush left by the macros.
+The standard plain \TeX\ math commands |\eqalign|, |\eqalignno| will
+work as before. The |\leqalignno| command is switched automatically
+to |\eqalignno| to prevent the equation number from crashing into the
+equation. If you wish to use |\displaylines|, this has to be handled
+in a slightly different way. For example,
+$$
+\displaylines{%
+ \hbox to \hsize{}\cr
+ [\nu_1]-[\nu_2]=-2.5\log [f(\nu_1)/f(\nu_2)],\hfill\stepeq\cr
+ \alpha=-(1+Q)\beta-3,\hfill\stepeq\cr
+ q=2+\gamma -Q.\hfill\stepeq\cr}
+$$
+was produced with:
+\beginlines
+|$$|
+|\displaylines{%|
+| \hbox to \hsize{}\cr|
+| [\nu_1]-[\nu_2]=-2.5\log [f(\nu_1)/f(\nu_2)],|
+| \hfill\stepeq\cr|
+| \alpha=-(1+Q)\beta-3,\hfill\stepeq\cr|
+| q=2+\gamma -Q.\hfill\stepeq\cr}|
+|$$|
+\endlines
+Notice the |\hbox to \hsize{}| to ensure that the equation is set to the
+full width. The |\hfill|'s ensure that the equations are set flush left
+and the equation numbers are set flush right.
+
+If the equations in |\displaylines| are unnumbered, you still need the
+|\hfill|'s to ensure the equations are set flush left.
+
+
+\subsubsection{Automatic equation numbering}
+
+Displayed equations can be numbered automatically by the use of |\stepeq|.
+For example,
+\beginlines
+|$$|
+| \alpha=-(1+Q)\beta-3,\eqno\stepeq|
+|$$|
+\endlines
+which produces:
+$$
+\alpha=-(1+Q)\beta-3,\eqno\stepeq
+$$
+The |\stepeq| macro can be used in any of the places where a equation
+number is normally expected. Sub-equation numbering is also provided,
+allowing equation numbers in the form (2a) to be produced. For example,
+$$
+\eqalignno{%
+ \alpha & =-(1+Q)\beta-3, & \startsubeq\cr
+ q & =2+\gamma -Q. & \stepsubeq\cr
+ [\nu_1]-[\nu_2] & =-2.5\log [f(\nu_1)/f(\nu_2)] & \stepsubeq\cr}
+$$
+was produced by:
+\ifCUPmtplainloaded \else \eject\fi %%
+\beginlines
+|$$|
+|\eqalignno{%|
+| \alpha & =-(1+Q)\beta-3, & \startsubeq\cr|
+| q & =2+\gamma -Q. & \stepsubeq\cr|
+| [\nu_1]-[\nu_2] & =-2.5\log [f(\nu_1)/f(\nu_2)]|
+| & \stepsubeq\cr}|
+|$$|
+\endlines
+The sub-equation number is reset each time a |\stepeq| is used. Equation
+numbering is automatically reset to `(A1)' when a |\appendix| is used.
+
+
+\subsubsection{Bold math italic}
+
+To obtain bold math italic, you should use |\bmath|.
+So to obtain:
+$$
+ d(\bmath{s_{t_u}}) = \langle [RM(\bmath{X_y}
+ + \bmath{s_t}) - RM(\bmath{x_y})]^2 \rangle
+$$
+you would key:
+\beginlines
+|$$|
+| d(\bmath{s_{t_u}}) = \langle [RM(\bmath{X_y}|
+| + \bmath{s_t}) - RM(\bmath{x_y})]^2 \rangle|
+|$$|
+\endlines
+This facility is available in all typesizes.
+
+
+\subsubsection{Bold Greek and other bold symbols}
+
+Bold lowercase Greek characters can be obtained by prefixing
+the normal (unbold) symbol name with a `b', e.g.\ |\bgamma| gives $\bgamma$.
+This rule does not apply to bold |\eta|, as this would lead to a name
+clash with |\beta|. Instead use |\boldeta| for bold eta. Note that there
+is no |\omicron| (so there is no |\bomicron|), just use `o' in math mode
+for omicron and `|\bmath{o}|' for bold omicron.
+
+Bold versions of most of the other symbols in appendix~F in the \TeX book
+can be obtained in the same way.
+
+For bold uppercase Greek, prefix the unbold character name with |\bf|,
+e.g.\ |\bf\Gamma| gives $\bf\Gamma$.
+Upper and lowercase Greek characters are available in all typesizes.
+
+You can then use these definitions in math mode, as you would normal Greek
+characters:
+%
+\beginlines
+|$$|
+| \balpha_{\bmu} = {\bf\Theta} \alpha.|
+|$$|
+\endlines
+%
+will produce
+%
+$$
+ \balpha_{\bmu} = {\bf\Theta} \alpha.
+$$
+To save \TeX's valuable memory the symbol names for the bold math
+characters are not loaded automatically. To load them simply type
+\beginlines
+| \loadboldmathnames|
+\endlines
+in the document. Alternatively, if you only need one or two of them,
+simply copy the appropriate definitions from |mn.tex|
+to your document. For a complete list of the bold math symbols
+supplied, see the file |mn.tex|.
+
+
+\subsubsection{Upright Greek characters}
+
+You can obtain upright Greek characters if you have access to the
+American Maths Society Euler fonts (version 2.0), but you may not
+have these. In this case, you will have to use the normal math italic
+symbols and the typesetter will substitute the corresponding upright
+characters. You will make this easier if you can use the macros |\upi|,
+|\umu| and |\upartial| etc.\ in your text to indicate the need for upright
+characters, together with the following definitions in the preamble
+(before |\begintopmatter|):
+
+\subsubsection*{Authors with AMS fonts}
+
+\beginlines
+|\ifCUPmtplainloaded \else|
+| \NewSymbolFont{upmath} {eurm10}|
+| \NewMathSymbol{\upi} {0}{upmath}{19}|
+| \NewMathSymbol{\umu} {0}{upmath}{16}|
+| \NewMathSymbol{\upartial}{0}{upmath}{40}|
+|\fi|
+\endlines
+
+\subsubsection*{Authors without AMS fonts}
+
+\beginlines
+|\ifCUPmtplainloaded \else|
+| \def\umu{\mu}|
+| \def\upi{\pi}|
+| \def\upartial{\partial}|
+|\fi|
+\endlines
+Wether you have AMS fonts or not, the |\if..| and |\fi| are required in the
+above examples to ensure that when your article is typeset in Monotype
+Times, the correct definitions for these symbols are used.
+
+The sample pages, guide and fonttest can be made to use AMS fonts if you
+have them. To use them, just uncomment the following line in the preamble
+of |mnguide.tex|, |mnsample.tex| and |fonttest.tex|:
+%
+\beginlines
+|%\AMStwofontstrue|
+\endlines
+%
+If you do this, the following upright symbols are used in the
+sample pages, guide and fonttest: |\upi|, |\umu| and |\upartial|.
+
+
+\subsubsection{Special symbols}
+
+The macros for the special symbols in Tables~2 and~3 have been taken from
+the Springer Verlag `Astronomy and Astrophysics' design, with their
+permission. They are directly compatible and use the same macro names.
+These symbols will work in all text sizes, but are only guaranteed to work
+in text and displaystyles. Some of the symbols will not get any smaller
+when they are used in sub- or superscripts, and will therefore be displayed
+at the wrong size. Don't worry about this as the typesetter will be able to
+sort it out.
+%
+\begintable*{2}
+\caption{{\bf Table 2.} Special symbols which can only be used in
+math mode.}
+\advance\baselineskip by 2pt
+\halign{#\hfil\quad&#\hfil\quad&#\hfil\qquad\qquad
+ &#\hfil\quad&#\hfil\quad&#\hfil\cr
+Input & Explanation & Output & Input & Explanation & Output\cr
+\noalign{\vskip 3pt\hrule\vskip 3pt}
+|\la| & less or approx & $\la$ &
+ |\ga| & greater or approx & $\ga$\cr
+|\getsto| & gets over to & $\getsto$ &
+ |\cor| & corresponds to & $\cor$\cr
+|\lid| & less or equal & $\lid$ &
+ |\gid| & greater or equal & $\gid$\cr
+|\sol| & similar over less & $\sol$ &
+ |\sog| & similar over greater & $\sog$\cr
+|\lse| & less over simeq & $\lse$ &
+ |\gse| & greater over simeq & $\gse$\cr
+|\grole| & greater over less & $\grole$ &
+ |\leogr| & less over greater & $\leogr$\cr
+|\loa| & less over approx & $\loa$ &
+ |\goa| & greater over approx & $\goa$\cr
+|\bbbr| & Blackboard bold R & $\bbbr$ &
+ |\bbbm| & Blackboard bold M & $\bbbm$ \cr
+|\bbbn| & Blackboard bold N & $\bbbn$ &
+ |\bbbf| & Blackboard bold F & $\bbbf$ \cr
+|\bbbh| & Blackboard bold H & $\bbbh$ &
+ |\bbbk| & Blackboard bold K & $\bbbk$ \cr
+|\bbbp| & Blackboard bold P & $\bbbp$ &
+ |\bbbone| & Blackboard bold 1 & $\bbbone$ \cr
+|\bbbc| & Blackboard bold C & $\bbbc$ &
+ |\bbbq| & Blackboard bold Q & $\bbbq$ \cr
+|\bbbt| & Blackboard bold T & $\bbbt$ &
+ |\bbbs| & Blackboard bold S & $\bbbs$ \cr
+|\bbbz| & Blackboard bold Z & $\bbbz$ \cr
+%
+\noalign{\vskip 3pt\hrule}
+}
+\endtable
+
+\begintable*{3}
+\caption{{\bf Table 3.} Special symbols which don't have to be
+used in math mode.}
+\advance\baselineskip by 2pt
+\halign{#\hfil\quad&#\hfil\quad&#\hfil\qquad\qquad
+ &#\hfil\quad&#\hfil\quad&#\hfil\cr
+Input & Explanation & Output & Input & Explanation & Output\cr
+\noalign{\vskip 3pt\hrule\vskip 3pt}
+|\sun| & sun symbol & $\sun$ &
+ |\degr| & degree & $\degr$\cr
+|\diameter| & diameter & \diameter &
+ |\sq| & square & $\sq$\cr
+|\fd| & fraction of day & \fd &
+ |\fh| & fraction of hour & \fh\cr
+|\fm| & fraction of minute & \fm &
+ |\fs| & fraction of second & \fs\cr
+|\fdg| & fraction of degree & \fdg &
+ |\fp| & fraction of period & \fp\cr
+|\farcs| & fraction of arcsecond & \farcs &
+ |\farcm| & fraction of arcmin & \farcm\cr
+|\arcsec| & arcsecond & \arcsec &
+ |\arcmin| & arcminute & \arcmin\cr
+\noalign{\vskip 3pt\hrule}
+}
+\endtable
+
+\ifCUPmtplainloaded
+\subsubsection{Extra features in the Monotype Times version}
+
+This section of the guide will only be included if the guide is \TeX ed
+with the Times version of the MN macros (mtmn.tex). The following features
+are only available in the Times version:
+\beginlist
+\item (i) All of the type sizes available are fully loaded.
+\item (ii) Most of the symbols in Table~2 will be substituted
+ with symbols from the |mtxm| font. Only |\sq| is substituted in Table~3.
+\item (iii) All of the symbols in the |mtxm| and |mtym| fonts can be used,
+ at any size (using the normal AMS names).
+ If the author has used |mssymb.tex| then this can be removed, as most
+ of this file is now included in MN. If the author has used the new AMS
+ symbol fonts |msam| and |msbm| -- check the log file for missing
+ characters (once you've removed |msam| and |msbm|).
+ You have to do this because |msam| and |msbm| contain a few extra
+ characters NOT in |mtxm| and |mtym|. If you find missing characters get
+ help!
+\item (iv) Uppercase blackboard bold is available in all sizes. e.g.
+ \beginlines
+ |$\Bbb{A}\ldots\Bbb{Z}$|\qquad gives\qquad $\Bbb{A}\ldots\Bbb{Z}$
+ \endlines
+ If the author has made-up their own uppercase blackboard bold characters
+ you can safely use |\Bbb| instead.
+\item (v) If the author has used the simulated Blackboard bold symbols
+ these are automatically substituted for the real characters, except for
+ |\bbbone| which is redefined to work better with Times fonts.
+\endlist
+\fi
+
+\section{Example of section heading with
+ S{\sevenbf MALL} C{\sevenbf APS},
+ \lowercase{lowercase}, \textbfit{italic}, and bold
+ Greek such as $\bmu^{\bkappa}$}
+
+The above heading was produced with:
+\beginlines
+|\section{Example of section heading with|
+| S{\sevenbf MALL} C{\sevenbf APS},|
+| \lowercase{lowercase}, \textbfit{italic},|
+| and bold Greek such as $\bmu^{\bkappa}$}|
+\endlines
+
+\appendix
+\section{for authors}
+
+Table~A1 is a list of design macros which are unique to |mn.tex|. The list
+displays each macro's name and description.
+%
+\begintable*{4}
+\caption{{\bf Table A1.} Authors' notes.}
+\vbox to 630pt{%
+\halign{#\hfil&\quad #\hfil\cr
+Macro name and syntax & Description\cr
+\noalign{\vskip 3pt\hrule\vskip 3pt}
+|\pageoffset {h-off}{v-off}| & Adjust positioning of text area on paper.\cr
+|\Referee| & Enable double-spaced referee mode.\cr
+|\onecolumn| & Enable one-column mode (default =
+ two-column).\cr
+|\landscape| & Enable landscape mode (default = portrait).\cr
+ & The |\landscape| command automatically calls |\onecolumn|.\cr
+|\loadboldmathnames| & Enable the use of bold symbols, e.g. |\bgamma|\cr
+|\authorcomment| & Catchline for draft version/date.\cr
+\noalign{\Half}
+|\begintopmatter| & Start the two-spanning topmatter.\cr
+|\title {<text>}| & Article title.\cr
+|\author {<text>}| & Author(s).\cr
+|\affiliation {<text>}| & Author affiliation(s).\cr
+|\shortauthor {<text>}| & Set the even-page running head.\cr
+|\shorttitle {<text>}| & Set the odd-page running head.\cr
+|\abstract {<text>}| & Abstract.\cr
+|\keywords {<text>}| & Key words.\cr
+|\maketitle| & End the two-spanning topmatter.\cr
+\noalign{\Half}
+|\section {<text>}| & Heading level A.\cr
+|\section* {<text>}| & Unnumbered A-heading.\cr
+|\subsection {<text>}| & Heading level B.\cr
+|\subsubsection {<text>}| & Heading level C.\cr
+|\paragraph {<text>}| & Heading level D.\cr
+|\appendix| & Start the articles appendix section.
+ The |\section| command starts\cr
+ & a new appendix.\cr
+\noalign{\Half}
+|\stepeq|, |\startsubeq|, |\stepsubeq| & Automatic equation numbering.\cr
+\noalign{\Half}
+|\beginlist| & Numbered list:\cr
+| \item (i) <text>| & Omit the number and round braces from
+ each |\item| for an unnumbered list.\cr
+| \item (ii) <text>|\cr
+\noalign{\vskip-.25\baselineskip}
+| |$\ldots$\cr
+\noalign{\vskip-.2\baselineskip}
+|\endlist|\cr
+\noalign{\Half}
+|\beginrefs| & Bibliography.\cr
+| \bibitem <text>|\cr
+\noalign{\vskip-.25\baselineskip}
+| |$\ldots$\cr
+\noalign{\vskip-.2\baselineskip}
+|\endrefs|\cr
+\noalign{\Half}
+|\beginfigure{n}| & Figures:\cr
+| <figure space>| & Use the |\beginfigure*| form for a
+ double-spanning figure\cr
+| \caption{{\bf Figure n.} caption}| & in two-column mode.\cr
+|\endfigure|\cr
+\noalign{\Half}
+|\begintable{n}| & Tables:\cr
+| \caption{{\bf Table n.} caption}|
+ & Use the |\begintable*| form for a double-spanning table\cr
+| <alignment>| & in two-column mode.\cr
+| \tabletext{<text>}|\cr
+|\endtable|\cr
+\noalign{\Half}
+|\caption{{\bf Figure n} -- {\it continued}}| & Continued captions.\cr
+|\caption{{\bf Table n} -- {\it continued}}|\cr
+\noalign{\Half}
+|\beginplatepage| & Plate pages.\cr
+| \plate{Opposite p.\ n, MNRAS, {\bf n}}|\cr
+| <figure space>|\cr
+| \caption{{\bf Figure n.} caption}|\cr
+|\endplatepage|\cr
+\noalign{\Half}
+|\Two, \OneHalf, \One, \Half| & Extra vertical space: These macros insert
+ white space, in multiples\cr
+ & of the linefeed, between paragraphs. Use during page make-up in \cr
+ & preference to plain \TeX's |\smallskip|, |\medskip| and |\bigskip|.\cr
+\noalign{\Half}
+|\bmath{math text}|, |\em| & Bold math and emphasized text.\cr
+|\textbfit{text}|, |\mathbfit{text}| & Bold text italic (defined in
+ the preamble of |mnsample.tex|).\cr
+|\textbfss{text}|, |\mathbfss{text}|& Bold text sans serif (defined in
+ the preamble of |mnsample.tex|).\cr
+|\umu|, |\upi|, |\upartial| & Upright math characters. These will only
+ appear upright if you have\cr
+ & AMS v2.0 fonts. See ``upright greek
+ characters" for further information.\cr
+\noalign{\vskip 3pt\hrule\vskip 3pt}
+}}
+\endtable
+
+
+\section{for editors}
+
+The additional features shown in Table~B1 may be used for production
+purposes only.
+%
+\begintable*{5}
+\caption{{\bf Table B1.} Editors' notes.}
+\halign{#\hfil&\quad #\hfil\cr
+Macro name and syntax & Description\cr
+\noalign{\vskip 3pt\hrule\vskip 3pt}
+|\pageno=000| & to set pagination; default = 1.\cr
+|\pagerange{000--000}| & note the use of the en-rule\cr
+|\letters| & for short communications (adds L to folios)\cr
+|\pagerange{L00--L00}| & for short communications\cr
+|\microfiche{MN000/0}| & for articles accompanied by microfiche\cr
+|\pubyear{0000}| & catchline date\cr
+|\volume{000}| & catchline volume\cr
+|\acceptedline{text}| & acceptance date\cr
+|\nofloat| & Position a figure or table at the current position
+ (one-column only).\cr
+ & The |\nofloat| macro should be positioned directly after the\cr
+ & |\beginfigure|/|table|, and will cause the macros to use |\midinsert|\cr
+ & (remember that |\midinsert| will turn into a |\topinsert| if there\cr
+ & is not enough space).\cr
+\noalign{\vskip 3pt\hrule\vskip 3pt}
+}
+\endtable
+
+
+\section{Monthly Notices journal style}
+
+Authors submitting \TeX\ or \LaTeX\ papers to Monthly Notices
+may wish to note the following points regarding journal style.
+Adherence to correct style from the start will obviously save time
+and effort later on, in terms of fewer requested subeditorial
+corrections. The notes given here relate to common style errors found
+in Monthly Notices manuscripts, and are {\it not\/} intended to be
+exhaustive. Please see the editorials in issues 257/2 and 260/1, as
+well as any recent issue of the journal, for more details. As far
+as possible, the subeditor will indicate which of your changes
+would be best done globally, thus saving you time.
+
+\subsection{Punctuation}
+
+When deciding where to add commas, it may be helpful to read
+ through the sentence and note where the natural `pauses' occur.
+The needs of readers for whom English is not a first language
+should be borne in mind when punctuating long sentences.
+\ifCUPmtplainloaded \else \vadjust{\eject}\fi %%
+For example, consider the following sentence as it
+appeared in Monthly Notices:
+`When we do not limit ourselves by constraints arising
+from the choice of an initial fluctuation spectrum, structures in
+an open universe, including the peculiar velocity structure, can
+be reproduced in a flat Lema\^{\i}tre universe for a large part of
+their evolution.' Now consider the same sentence without commas:
+`When we do not limit ourselves by constraints arising
+from the choice of an initial fluctuation spectrum structures in
+an open universe including the peculiar velocity structure can be
+reproduced in a flat Lema\^{\i}tre universe for a large part of their
+evolution.'
+
+
+\subsection{Spelling}
+
+Please use British spelling -- e.g.\ centre not center, labelled
+not labeled. The following style regarding -ise and -ize spellings is
+followed. -ise: devise, surprise, comprise, revise,
+exercise, analyse. -ize: recognize, criticize, minimize, emphasize, organize.
+
+
+\subsection{Titles and section/subsection headings}
+
+With the exception of section headings (e.g.\
+{\bf INTRO\-DUC\-TION}$\ldots$),
+capital letters should be used only where they occur in a normal
+sentence -- e.g.\
+`\textbfit{ROSAT\/} {\bf observations of the unusual star}$\ldots$', not
+`\textbfit{ROSAT\/} {\bf Observations of the Unusual Star}$\ldots$'.
+
+\subsection{Key words}
+
+The list of Monthly Notices key words is published with the 4th
+issue of each volume. No other key words should be used. Please
+use the correct layout for key words:
+\smallskip
+
+\noindent {\bf Key words:} galaxies: active -- galaxies: Seyfert --
+radio continuum: galaxies.
+
+\subsection{Hyphens and N-rules}
+
+\beginlist
+\item (i) Hyphens (one dash in \TeX/\LaTeX). Monthly Notices uses hyphens
+for compound adjectives (e.g.\ low-density gas, least-squares fit,
+two-component model). This also applies to simple units (e.g.\
+1.5-m telescope, 284.5-nm line), but not to complex units or
+ranges, which could become cumbersome (e.g.\ 15 km s$^{-1}$ feature,
+100--200 $\umu$m observations).
+
+\item (ii) N-rules (two dashes in \TeX/\LaTeX). These are used (a) to
+separate key words, (b) as parentheses (e.g.\ `the results --
+assuming no temperature gradient -- are indicative of$\ldots$), (c) to
+denote a range (e.g.\ 1.6--2.2 $\umu$m), and (d) to denote the joining
+of two words (e.g.\ Kolmogorov--Smirnov test, Herbig--Haro
+object).
+
+\item (iii) The M-rule (three dashes in \TeX/\LaTeX) is not used in
+Monthly Notices.
+\endlist
+
+
+\subsection{References}
+
+It is important to use the correct reference style, details of
+which can be found in the editorials cited above, and which is
+demonstrated in any recent issue of the journal. The main points
+are summarized below.
+%
+\beginlist
+\item (i) In text -- for three-author papers, give all three authors
+at first mention, and `et al.' thereafter.
+
+\item (ii) In references list -- no bold or italic, no commas after
+author surnames, and no ampersand between final two author names.
+Use simplified abbreviations for frequently used journals (e.g.\
+MNRAS, ApJ, A\&A, PASP -- see full list in editorial in issue
+260/1). List all authors if eight or less, otherwise `et al.' For
+example,
+\endlist
+
+\beginrefs
+\bibitem Biggs J.D., Lyne A.G., 1992, MNRAS, 254, 257
+
+\bibitem Brown A.B., Jones C.D., 1989, in Robinson E.F.,
+Smith G.H., eds, Proc. IAU Symp. 345, Black Dwarfs. Kluwer, Dordrecht,
+p.~210
+
+\bibitem Felsteiner J., Opher R., 1991, in Treves A., ed.,
+Iron Line Diagnostics in X-ray Sources. Springer-Verlag, Berlin, p.~209
+
+\bibitem Gunn J.E., Knapp G., 1993, in Soifer B.T., ed., ASP
+Conf.\ Ser.\ Vol.~43, Sky Surveys. Astron.\ Soc.\ Pac., San Francisco,
+p.~267
+
+\bibitem Peebles P.J.E., 1980, The Large-Scale Structure of the Universe. Princeton Univ. Press, Princeton, NJ
+
+\bibitem Pounds K.A. et al., 1993, MNRAS, 260, 77
+
+\bibitem Williams B.G., 1992, PhD thesis, Univ.\ Edinburgh
+\endrefs
+
+
+\subsection{Maths}
+
+Scalar variables are italic; vectors are bold italic; matrices
+are `bold Univers' font (like bold sans serif). Differential d,
+complex i, exponential e, sin, cos, tan, log, etc., are roman.
+Sub/superscripts that are physical variables are italic, while
+those that are just labels are roman (e.g.\ $C_p$, but $T_{{\rm eff}}$).
+Equations should be punctuated as part of the sentence.
+
+
+\subsection{Miscellaneous}
+
+e.g., i.e., cf., etc., are roman.
+Single quotes ` ' not double quotes `` ".
+Take care to use correct units -- see recent \hbox{issues} for details.
+Use superscript $-1$, not solidus /, for units -- e.g.\ km~s$^{-1}$ not
+km/s. The unit of arcseconds is arcsec when used to denote angular
+size or separation (e.g.\ `beamsize 12~arcsec', `30~arcsec
+west of the star'); use \arcsec\ for positions (e.g.\
+Dec.~$-30^\circ$~29\arcmin~23\arcsec) (similarly for arcminutes).
+The unit of magnitudes is mag,
+not superscript m. Percentages should be written `per cent', not
+\%. Use the degree symbol $^\circ$ (|$^\circ$|) except to denote, e.g., areas, where
+`deg$^2$' may be more appropriate (e.g.\ `a survey area of 3~deg$^2$').
+Degree symbols should be positioned above the decimal point if
+there is one -- i.e.\ 23\fdg 4 not 23.4$^\circ$ (similarly for
+\ifCUPmtplainloaded \vadjust{\eject}\else\fi %%
+superscript
+h, m, s, and \arcmin, \arcsec\ symbols in coordinates). See guide for coding.
+Ionized species should be denoted by small caps, with a thin
+space -- e.g.\ \hbox{He\,{\sc ii}}, \hbox{C\,{\sc iv}},
+\hbox{[Fe\,{\sc ii}]} 465.8 nm, \hbox{N\,{\sc iii}} 463.4~nm. If
+lack of the correct font at your site prevents this from coming
+out on your printout, it would be helpful if you were to indicate
+as such on your manuscript so that the subeditor knows that there
+is no need for correction.
+Computer software (e.g.\ {\sc figaro}) should be in small capitals.
+Satellite names should be italic (e.g.\ {\it Ginga, IRAS\/}).
+The correct bracket order is $\{[( )]\}$.
+
+
+\section{Trouble-shooting}
+
+Authors may from time to time encounter problems with the preparation
+of their papers in \TeX/\LaTeX. The appropriate action to
+take will depend on the nature of the problem -- the following is
+intended to act as a guide.
+%
+\beginlist
+\item (i) If a problem is with \TeX/\LaTeX\ itself, rather than with the
+actual macros, \ifCUPmtplainloaded \else \vadjust{\eject}\fi %%
+please refer to the appropriate handbooks for
+initial advice.\footnote{\dag}{\TeX : Knuth D., 1986, The \TeX book.
+Addison Wesley; \LaTeX: Lamport L., 1985, \LaTeX\ User's Guide and
+Reference Manual. Addison Wesley.} If the
+solution cannot be found, and you suspect that the problem lies
+with the macros, then please contact the RAS Journal Production
+team at Blackwell Science (BS), 23 Ainslie
+Place, Edinburgh EH3 6AJ, UK (Tel: 031 226 7232; Fax: 031 226 3803;
+omit the first zero if calling from outside the UK).
+The BS office will shortly be
+accessible by email -- please see the Instructions for Authors on
+the inside back cover of Monthly Notices for details. Please
+provide precise details of the problem (what you were trying to
+do -- ideally, include examples of source code as well -- and
+what exactly happened; what error message was received).
+
+\item (ii) Problems with page make-up, particularly in the two-column
+mode (e.g.\ large spaces between paragraphs, or under headings or
+figures; uneven columns; figures/tables appearing out of order).
+Please do {\it not\/} attempt to remedy these yourself using `hard' page
+make-up commands -- the typesetters at Cambridge University Press
+(CUP) will sort out problems when typesetting. (You may, if you
+wish, draw attention to particular problems when submitting the
+final version of your paper.)
+
+\item (iii) If a required font is not available at your site, allow \TeX\
+to substitute the font and report the problem on your disk
+documentation form.
+\endlist
+
+
+\subsection{Fixes for coding problems}
+
+The new versions of the style files and macros have been designed
+to minimize the need for user-defined macros to create special
+symbols. Authors are urged, wherever possible, to use the following
+coding rather than create their own. This will minimize the
+danger of author-defined macros being accidentally `over-ridden'
+when the paper is typeset in Monotype Times (see Subsection~3.13, %%
+`Typesetting mathematics').
+%
+\beginlist
+\item (i) Fonts in sections and paper titles. The following are examples
+of styles that sometimes prove difficult to code.
+\endlist
+
+
+\subsection*{\it P\lowercase{aper titles}}
+
+\boxit{\multi\seventeenpoint\bf
+ A survey of \textbfit{IRAS\/} galaxies\\
+ at $\bmath{\delta > {\bf 50}^\circ}$\endmulti}
+%
+is produced by:
+%
+\beginlines
+|\title{A survey of \textbfit{IRAS\/} galaxies|
+| \hfil\break at $\bmath{\delta>{\bf 50}^\circ}$}|
+\smallskip
+|\shorttitle{A survey of IRAS galaxies at $\delta|
+| > 50^\circ$}|
+\endlines
+\bigskip
+
+\boxit{\multi\seventeenpoint\bf\noindent
+ Observations of compact\\
+ H\,{\elevenbf II} regions\endmulti}
+%
+is produced by:
+%
+\beginlines
+|\title{Observations of compact|
+| H\,{\elevenbf II} regions}|
+\smallskip
+|\shorttitle{Observations of compact|
+| H\,{\eightit II} regions}|
+\endlines
+
+
+\subsection*{\it S\lowercase{ection headings}}
+
+\boxit{\bf 1\quad THE \textbfit{IRAS\/} DATA FOR
+ $\bmath{\delta > {\bf 50}^\circ}$}
+%
+is produced by:
+%
+\beginlines
+|\section{The \textbfit{IRAS\/} data for|
+| $\bmath{\delta>{\bf 50}^\circ}$}|
+\endlines
+\bigskip
+
+\boxit{\bf 2\quad H\,{\sevenbf II} GALAXIES AT
+ $\bmath{\lowercase{z} > {\bf 1.6}}$}
+%
+is produced by:
+%
+\beginlines
+|\section{H\,{\sevenbf II} galaxies at|
+| $\bmath{\lowercase{z}>{\bf 1.6}}$}|
+\endlines
+
+
+\subsection*{\it S\lowercase{ubsection headings}}
+
+\boxit{\multi\bf 2.1\quad The \textbfit{IRAS\/} data for
+ $\bmath{\delta > {\bf 50}^\circ}$: galaxies\\
+ at $\bmath{z > {\bf 1.5}}$\endmulti}
+%
+is produced by:
+%
+\beginlines
+|\subsection{The \textbfit{IRAS\/} data for|
+| $\bmath{\delta > {\bf 50}^\circ}$: galaxies|
+| \hfil\break at $\bmath{z > {\bf 1.5}}$}|
+\endlines
+\bigskip
+
+\boxit{\bf 2.2\quad Observations of compact H\,{\sevenbf II} regions}
+%
+is produced by:
+%
+\beginlines
+|\subsection{Observations of compact|
+| H\,{\sevenbf II} regions}|
+\endlines
+\bigskip
+
+\boxit{\it 2.2.1\quad A survey of radio galaxies
+ for $\delta > {\it 50}^\circ$}
+%
+is produced by:
+%
+\beginlines
+|\subsubsection{A survey of radio galaxies|
+| for $\delta > {\it 50}^\circ$}|
+\endlines
+\bigskip
+
+\boxit{\it 2.2.2\quad Determination of T$_{eff}$ in compact
+ H\,{\sevenit II} regions}
+%
+is produced by:
+%
+\beginlines
+|\subsubsection{Determination of T$_{eff}$ in|
+| compact H\,{\sevenit II} regions}|
+\endlines
+
+\beginlist
+\item (ii) Small capitals and other unusual fonts in table and figure
+captions:
+\par\smallskip
+\boxit{\eightpoint {\bf Figure 1.} Profiles of the H$\alpha$ and
+ N\,{\sc iii} lines observed.}
+%
+is produced by:
+%
+\beginlines
+|\caption{Profiles of the H$\alpha$ and|
+| N\,{\sc iii} lines observed.}|
+\endlines
+
+\item (iii) Multiple author lists (to get the correct vertical spacing
+and wraparound on the title page of a multiple-author paper).
+\par\smallskip
+
+\boxit{\multi
+ \seventeenpoint\bf\noindent
+ The variation in the\\
+ strength of low-$\bmath{l}$ solar\\
+ $\bmath{p}$-modes: 1981--2
+ \medskip
+ \fourteenpoint\noindent
+ Y. Elsworth, R. Howe, G.R. Isaac,\\
+ C.P. McLeod, B.A. Miller, R. New,\\
+ C.C. Speake and S.J. Wheeler\endmulti
+}
+%
+is produced by:
+%
+\beginlines
+|\title{The variation in the\hfil\break|
+| strength of low-$\bmath{l}$ solar\hfil\break|
+| $\bmath{p}$-modes: 1981--2}|
+\smallskip
+|\shorttitle{The variation in the strength of|
+| low-$l$ solar $p$-modes: 1981--2}|
+\smallskip
+|\author{Y. Elsworth, R. Howe, G.R. Isaac,|
+| \hfil\break C.P. McLeod, B.A. Miller, R. New,|
+| \hfil\break C.C. Speake and S.J. Wheeler}|
+\smallskip
+|\shortauthor{Y. Elsworth et al.}|
+\endlines
+
+\item (iv) Ionized species (as used in the examples above). The correct
+style calls for the use of small capitals and a thin space after
+the symbol for the element: e.g.\ for \hbox{H\,{\sc ii}}, use the code
+|\hbox{H\,{\sc ii}}|. The use of the |\hbox| will stop the
+H and the {\sc ii} being separated.
+
+\item (v) Lower case greek pi ($\pi$), mu ($\mu$) and partial ($\partial$).
+In certain circumstances, the Monthly Notices style calls for these to be
+roman [when pi is used to denote the constant 3.1415$\ldots$, mu is
+used to denote `micro' in a unit (e.g.\ $\umu$m, $\umu$Jy), and partial
+is a differential symbol]. See Subsubsection~3.13.5 for instructions.
+
+\item (vi) Decimal degrees, arcmin, arcsec, hours, minutes and seconds.
+The symbol needs to be placed vertically above the decimal point.
+For example, the sentence
+%
+\beginquote
+The observations were made along position angle
+120\fdg 5, starting from the central coordinates
+${\rm RA}(1950)=19^{\rm h}~22^{\rm m}~18\fs 2$,
+${\rm Dec.}~(1950)=45^\circ~18'~36\farcs 4$
+\endquote
+%
+uses the following coding:
+%
+\beginlines
+|The observations were made along position angle|
+|120\fdg 5, starting from the central coordinates|
+|${\rm RA}(1950)=19^{\rm h}~22^{\rm m}~18\fs 2$,|
+|${\rm Dec.}~(1950)=45^\circ~18'~36\farcs 4$|
+\endlines
+
+\item (vii) The correct coding for the prime symbol \arcmin\ is
+|\arcmin|, and that for \arcsec\ is |\arcsec|; see the two
+tables on special symbols.
+
+\item (viii) N-rules, hyphens and minus signs (see style guide for
+correct usage). To create the correct symbols in the sentence
+%
+\beginquote
+The high-resolution observations were made along a
+line at an angle of $-15^\circ$ (east from north)
+from the axis of the jet, which runs north--south
+\endquote
+%
+you would use the following code:
+%
+\beginlines
+|The high-resolution observations were made along|
+|a line at an angle of $-15^\circ$ (east from|
+|north) from the axis of the jet, which runs|
+|north--south|
+\endlines
+
+\item (ix) Vectors and matrices should be bold italic and bold sans
+serif respectively. To create the correct fonts for the vector $\bmath{x}$
+and the matrix \textbfss{P}, you should use |$\bmath{x}$| and
+|\textbfss{P}| respectively; |\mathbfss| is for use in
+math mode. Bold face text italic can be obtained by using
+|\textbfit{..}| and |\mathbfit{..}| for math mode.
+\ifCUPmtplainloaded \else \vfil\eject\fi %%
+\item (x) Bold italic superscripts and subscripts. To get these
+to come out in the correct font and the right size, you need to use
+|\bmath|. You can create the output $\bmath{k_x}$ by typing |$\bmath{k_x}$|.
+Try to avoid using \TeX\ commands to determine script sizes that are
+already defined in the macros. For example, macros such as
+%
+\beginlines
+|\def\th{^\hbox{\sevenrm th}}|
+\endlines
+%
+are generating extra work;
+%
+\beginlines
+|\def\th{^{\rm th}}|
+\endlines
+%
+will do, and will get the size of the superscript right whether in main
+text, tables or captions (the use of |\sevenrm| over-rides the macros).
+Also, the |\hbox| is not necessary, as \TeX\ won't split a
+superscript/subscript from its variable at a line break.
+
+\item (xi) Calligraphic letters (uppercase only).
+%
+Normal uppercase calligraphic can be produced with |\cal| as
+normal (in math mode). Bold calligraphic can be produced with |\bmath|,
+e.g.\ |$\bmath{\cal A}$| gives $\bmath{\cal A}$.
+
+\item (xii) Automatic scaling of brackets. The codes |\left| and
+|\right| should be used to scale brackets automatically to
+fit the equation being set. For example, to get
+$$
+ v = x \left( {N+2}\over {N} \right)
+$$
+use the code
+%
+\beginlines
+|$$|
+| v = x \left( {N+2}\over {N} \right)|
+|$$|
+\endlines
+
+\item (xiii) Roman font in equations. It is often necessary to make some
+symbols roman in an equation (e.g.\ units, subscripts). For example,
+to get the following output:
+$$
+ \sigma \simeq (r/13~h^{-1}~{\rm Mpc})^{-0.9},
+ \qquad \omega = {{N-N_{\rm s}}\over {N_{\rm R}}},
+$$
+you should use:
+%
+\beginlines
+|$$|
+| \sigma\simeq (r/13~h^{-1}~{\rm Mpc})^{-0.9},|
+| \qquad\omega={{N-N_{\rm s}}\over {N_{\rm R}}},|
+|$$|
+\endlines
+
+\item (xiv) Continuation figure and table captions.
+See Subsection~3.6. %%
+\endlist
+
+
+\subsection{Springer-Verlag macro names}
+
+These have been incorporated from the Astronomy \& Astrophysics \LaTeX\
+style file, to aid in the creation of various commonly used
+astronomical symbols. Please see Subsubsection~3.13.6 for details. %%
+
+\bye
+
+% end of mnguide.tex
diff --git a/Master/texmf-dist/doc/plain/mnras/mnland.tex b/Master/texmf-dist/doc/plain/mnras/mnland.tex
new file mode 100644
index 00000000000..968077488f8
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/mnras/mnland.tex
@@ -0,0 +1,82 @@
+% MNLAND.TEX
+%
+% A landscape figure for the sample plain TeX Monthly Notices article.
+%
+% v1.1 --- released 25th August 1994 (M. Reed)
+% v1.0 --- first released 17th February 1994
+%
+% Copyright Cambridge University Press
+
+% The following line automatically loads the mn macros if you are not
+% using a format file.
+\ifx\mnmacrosloaded\undefined \input mn\fi
+
+% If your system has the AMS fonts version 2.0 installed, MN.tex can be
+% made to use them by uncommenting the line: %\AMStwofontstrue
+%
+% By doing this, you will be able to obtain upright Greek characters.
+% e.g. \umu, \upi etc. See the section on "Upright Greek characters" in
+% this guide for further information.
+
+% !! AMS fonts are not used in this file. The following code is provided
+% for your convenience !!
+\newif\ifAMStwofonts
+%\AMStwofontstrue
+
+\ifCUPmtplainloaded \else
+ \NewTextAlphabet{textbfit} {cmbxti10} {}
+ \NewTextAlphabet{textbfss} {cmssbx10} {}
+ \NewMathAlphabet{mathbfit} {cmbxti10} {} % for math mode
+ \NewMathAlphabet{mathbfss} {cmssbx10} {} % " " "
+ %
+ \ifAMStwofonts
+ %
+ \NewSymbolFont{upmath} {eurm10}
+ \NewSymbolFont{AMSa} {msam10}
+ \NewMathSymbol{\upi} {0}{upmath}{19}
+ \NewMathSymbol{\umu} {0}{upmath}{16}
+ \NewMathSymbol{\upartial}{0}{upmath}{40}
+ \NewMathSymbol{\leqslant}{3}{AMSa}{36}
+ \NewMathSymbol{\geqslant}{3}{AMSa}{3E}
+ \let\oldle=\le \let\oldleq=\leq
+ \let\oldge=\ge \let\oldgeq=\geq
+ \let\leq=\leqslant \let\le=\leqslant
+ \let\geq=\geqslant \let\ge=\geqslant
+ \else
+ \def\umu{\mu}
+ \def\upi{\pi}
+ \def\upartial{\partial}
+ \fi
+\fi
+
+
+%\special{landscape} % only use this if your driver supports it
+
+% Marginal adjustments using \pageoffset maybe required when printing
+% proofs on a Laserprinter (this is usually not needed).
+% Syntax: \pageoffset{ +/- hor. offset}{ +/- vert. offset}
+% e.g. \pageoffset{-3pc}{-4pc}
+
+\pageoffset{0pc}{-1.5pc}
+
+\landscape
+\authorcomment{Landscape material to be pasted into the article.}
+
+\begintopmatter % these must be here
+\maketitle %
+
+
+\beginfigure{1}
+\caption{{\bf Figure 4.} Photometric comparisons in the overlap areas
+ between the fields. The differences between photometry of individual images
+ from different fields for the overlapping fields 52--51, 50--51, 50--28 and
+ 30--29 are shown for the $B_{\rm J}$ and $R$ wavebands. The axes are as
+ follows. Left-hand panels: $\Delta B$ ($-1$ to 1) against
+ $\langle B \rangle$ (13 to 21). Right-hand panels: $\Delta R$ ($-1$ to 1)
+ against $\langle R \rangle$ (12 to 20).}
+\endfigure
+
+
+\bye
+
+% end of mnland.tex
diff --git a/Master/texmf-dist/doc/plain/mnras/mnsample.tex b/Master/texmf-dist/doc/plain/mnras/mnsample.tex
new file mode 100644
index 00000000000..b19ea01c605
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/mnras/mnsample.tex
@@ -0,0 +1,705 @@
+% MNSAMPLE.TEX
+%
+% A sample plain TeX single/two column Monthly Notices article.
+%
+% v1.5 --- released 25th August 1994 (M. Reed)
+% v1.4 --- released 22nd February 1994
+% v1.3 --- released 8th December 1992
+%
+% Copyright Cambridge University Press
+
+% The following line automatically loads the mn macros if you are not
+% using a format file.
+\ifx\mnmacrosloaded\undefined \input mn\fi
+
+% If your system has the AMS fonts version 2.0 installed, MN.tex can be
+% made to use them by uncommenting the line: %\AMStwofontstrue
+%
+% By doing this, you will be able to obtain upright Greek characters.
+% e.g. \umu, \upi etc. See the section on "Upright Greek characters" in
+% this guide for further information.
+
+\newif\ifAMStwofonts
+%\AMStwofontstrue
+
+\ifCUPmtplainloaded \else
+ \NewTextAlphabet{textbfit} {cmbxti10} {}
+ \NewTextAlphabet{textbfss} {cmssbx10} {}
+ \NewMathAlphabet{mathbfit} {cmbxti10} {} % for math mode
+ \NewMathAlphabet{mathbfss} {cmssbx10} {} % " " "
+ %
+ \ifAMStwofonts
+ %
+ \NewSymbolFont{upmath} {eurm10}
+ \NewSymbolFont{AMSa} {msam10}
+ \NewMathSymbol{\upi} {0}{upmath}{19}
+ \NewMathSymbol{\umu} {0}{upmath}{16}
+ \NewMathSymbol{\upartial}{0}{upmath}{40}
+ \NewMathSymbol{\leqslant}{3}{AMSa}{36}
+ \NewMathSymbol{\geqslant}{3}{AMSa}{3E}
+ \let\oldle=\le \let\oldleq=\leq
+ \let\oldge=\ge \let\oldgeq=\geq
+ \let\leq=\leqslant \let\le=\leqslant
+ \let\geq=\geqslant \let\ge=\geqslant
+ \else
+ \def\umu{\mu}
+ \def\upi{\pi}
+ \def\upartial{\partial}
+ \fi
+\fi
+
+
+% Marginal adjustments using \pageoffset maybe required when printing
+% proofs on a Laserprinter (this is usually not needed).
+% Syntax: \pageoffset{ +/- hor. offset}{ +/- vert. offset}
+% e.g. \pageoffset{-3pc}{-4pc}
+
+\pageoffset{-2.5pc}{0pc}
+
+\loadboldmathnames
+
+% \Referee % uncomment this for referee mode (double spaced)
+
+% \pagerange, \pubyear and \volume are defined at the Journals office and
+% not by an author.
+
+% \onecolumn % enable one column mode
+% \letters % for `letters' articles
+\pagerange{1--7} % `letters' articles should use \pagerange{Ln--Ln}
+\pubyear{1989}
+\volume{226}
+% \microfiche{} % for articles with microfiche
+% \authorcomment{} % author comment for footline
+
+\begintopmatter % start the two spanning material
+
+\title{Dust envelopes around RV Tauri stars}
+\author{A. V. Raveendran}
+\affiliation{Indian Institute of Astrophysics, Bangalore 560034, India}
+
+\shortauthor{A. V. Raveendran}
+\shorttitle{Dust envelopes around RV Tauri stars}
+
+% \acceptedline is to be defined at the Journals office and not
+% by an author.
+
+\acceptedline{Accepted 1988 December 15. Received 1988 December 14;
+ in original form 1988 October 11}
+
+\abstract {In the {\it IRAS\/} [12]--[25], [25]--[60]
+colour--colour diagram, RV Tauri stars are found to populate
+cooler temperature regions $(T<600\,{\rm K})$, distinctly
+different from those occupied by the oxygen and carbon Miras.
+The {\it IRAS\/} fluxes are consistent with the dust density in
+the envelope varying as the inverse square of the radial
+distance, implying that the grain formation processes in these
+objects are most probably continuous and not sporadic. It is
+found that the spectroscopic subgroups A and B are
+well separated in the far-infrared two-colour diagram, with
+group B objects having systematically cooler dust envelopes. We
+interpret this as being due to a difference in the nature of
+grains, including the chemical composition, in the two cases.}
+
+\keywords {circumstellar matter -- infrared: stars.}
+
+\maketitle % finish the two spanning material
+
+
+\section{Introduction}
+
+It has been well established that RV Tauri variables
+possess infrared emission far in excess of their expected
+blackbody continuum, arising from their extended cool dust
+envelopes (Gehrz \& Woolf 1970; Gehrz 1972; Gehrz \& Ney 1972).
+Recently, Lloyd Evans (1985) and Goldsmith et~al.\ (1987)
+have given detailed descriptions of the near-infrared
+properties of RV Tauri stars. In this paper we present an
+analysis of the {\it IRAS\/} data of RV Tauri stars with the help
+of the far-infrared two-colour diagram and a grid computed
+using a simple model of the dust envelope. Such two-colour plots
+have already been employed extensively by several investigators
+to study the circumstellar envelopes around oxygen-rich and
+carbon-rich objects which are in the late stages of stellar
+evolution (Hacking et~al.\ 1985; Zuckerman \& Dyck 1986;
+van der Veen \& Habing 1988; Willems \& de Jong 1988).
+
+Table~1 summarizes the basic data on the 17 objects
+detected at 60$\,\umu$m. Apart from the {\it IRAS\/} identification
+and the flux densities at 12-, 25-, 60- and 100-$\umu$m wavebands,
+it gives the spectroscopic groups of Preston et~al.\ (1963),
+the light-curve classes of Kukarkin et~al.\ (1969) and the periods of
+light variation. The list, which
+contains about 20 per cent of all the known RV Tauri stars,
+is essentially the same as that given by Jura (1986). The
+spectroscopic subgroups are from either Preston et~al.\ (1963) or
+Lloyd Evans (1985).
+%
+\begintable*{1}
+\caption{{\bf Table 1.} Data on the RV Tauri stars detected by {\it IRAS}.}
+\halign{%
+\rm#\hfil&\qquad\rm#\hfil&\qquad\rm\hfil#&\qquad\rm\hfil
+#&\qquad\rm\hfil#&\qquad\rm\hfil#&\qquad\rm#\hfil
+&\qquad\rm\hfil#&\qquad\rm#\hfil&\qquad\hfil\rm#\cr
+Name&&\multispan4\hskip23pt\hss Flux density (Jy)$^a$\hss \cr
+Variable&{\it IRAS}&12$\;\umu$m&25$\;\umu$m
+&60$\;\umu$m&100$\;\umu$m&Sp.&Period&Light-&$T_0({\rm K})$\cr
+&&&&&&group&(d)\hfill&curve\cr
+&&&&&&&&type\cr
+\noalign{\vskip 10pt}
+TW Cam&04166$+$5719&8.27&5.62&1.82&$<$1.73&A&85.6&a&555\cr
+RV Tau&04440$+$2605&22.53&18.08&6.40&2.52&A&78.9&b&460\cr
+DY Ori&06034$+$1354&12.44&14.93&4.12&$<$11.22&B&60.3&&295\cr
+CT Ori&06072$+$0953&6.16&5.57&1.22&$<$1.54&B&135.6&&330\cr
+SU Gem&06108$+$2734&7.90&5.69&2.16&$<$11.66&A&50.1&b&575\cr
+UY CMa&06160$-$1701&3.51&2.48&0.57&$<$1.00&B&113.9&a&420\cr
+U Mon&07284$-$0940&124.30&88.43&26.28&9.24&A&92.3&b&480\cr
+AR Pup&08011$-$3627&131.33&94.32&25.81&11.65&B&75.0&b&450\cr
+IW Car&09256$-$6324&101/06&96.24&34.19&13.07&B&67.5&b&395\cr
+GK Car&11118$-$5726&2.87&2.48&0.78&$<$12.13&B&55.6&&405\cr
+RU Cen&12067$-$4508&5.36&11.02&5.57&2.01&B&64.7&&255\cr
+SX Cen&12185$-$4856&5.95&3.62&1.09&$<$1.50&B&32.9&b&590\cr
+AI Sco&17530$-$3348&17.68&11.46&2.88&$<$45.62&A&71.0&b&480\cr
+AC Her&18281$+$2149&41.47&65.33&21.12&7.79&B&75.5&a&260\cr
+R Sct&18448$-$0545&20.88&9.30&8.10&$<$138.78&A&140.2&a\cr
+R Sge&20117$+$1634&10.63&7.57&2.10&$<$1.66&A&70.6&b&455\cr
+V Vul&20343$+$2625&12.39&5.72&1.29&$<$6.96&A&75.7&a&690\cr
+}
+\tabletext{\noindent $^a$Observed by {\it IRAS}.}
+\endtable
+
+
+\section{Description of the envelope model}
+
+If we assume that the dust grains in the envelope are
+predominantly of the same kind and are in thermal equilibrium,
+the luminosity at frequency $\nu$ in the infrared is given by
+$$
+ L(\nu)=\mskip-25mu\int\limits_{\rm envelope}\mskip-25mu
+ \rho(r)Q_{{\rm abs}}
+ (\nu)B[\nu,T_{\rm g}(r)]\exp [-\tau(\nu,r)]\> {\rm d}V, \eqno\stepeq
+$$
+where
+$Q_{{\rm abs}}(\nu)$ is the absorption efficiency at frequency $\nu$,
+$\rho(r)$ is the dust grain density,
+$T_{\rm g}(r)$ is the grain temperature,
+$B[\nu,T_{\rm g}(r)]$ is the Planck function and
+$\tau(\nu,r)$ is the optical depth at distance {\it r\/} from the
+centre of the star.
+
+The temperature $T_{\rm g}(r)$ is determined by the condition of
+energy balance: amount of energy radiated = amount of energy
+absorbed. The amount of energy absorbed at any point is
+proportional to the total available energy at that point, which
+consists of:
+\beginlist
+\item (i) the attenuated and diluted stellar radiation;
+\item (ii) scattered radiation, and
+\item (iii) reradiation from other grains.
+\endlist
+
+Detailed solutions of radiative transfer in circumstellar
+dust shells by Rowan-Robinson \& Harris (1983a,b) indicate that
+the effect of heating by other grains becomes significant only at
+large optical depths at the absorbing frequencies $[\tau({\rm
+UV})\gg 10]$, and at optical depths $\tau({\rm UV})<1$ the grains
+have approximately the same temperature that they would have if
+they were seeing the starlight unattenuated and no other
+radiation.
+
+The Planck mean optical depths of circumstellar envelopes
+around several RV Tauri stars, derived from the ratios of the
+luminosities of the dust shell (at infrared wavelengths) and
+the star, range from 0.07 to 0.63 (Goldsmith et~al.\ 1987).
+There is much uncertainty in the nature of the optical
+properties of dust grains in the envelope. The carbon-rich RV
+Tauri stars are also reported to show the 10-$\umu$m silicate
+emission feature typical of oxygen-rich objects (Gehrz \& Ney
+1972; Olnon \& Raimond 1986). The pure terrestrial silicates or
+lunar silicates are found to be completely unsuitable to account
+for the infrared emission from circumstellar dust shells around
+M-type stars (Rowan-Robinson \& Harris 1983a). We assume that
+the absorption efficiency $Q_{{\rm abs}} (\nu)$ in the infrared
+varies as $\nu^{\gamma}$. ${\gamma}=1$ appears to provide a
+reasonable fit in a variety of sources (Harvey, Thronson \&
+Gatley 1979; Jura 1986). Under these circumstances the
+condition of energy balance implies that the dust temperature
+$T_{\rm g}$ will vary as $r^{\beta}$.
+
+In view of the low value of the observed Planck mean optical
+depth for the stellar radiation and the nature of the assumed
+frequency dependence of the absorption efficiency, the
+extinction of the infrared radiation by the dust envelope can
+be neglected. If we consider the envelope to be spherically
+symmetric, equation (1) reduces to
+$$
+ L(\nu)=\!\!\int_{r_{1}}^{r_{2}}\!\!4\upi r^2\rho(r)\> Q_{{\rm abs}}
+ (\nu)B[\nu,T_{\rm g}(r)]\> {\rm d}r, \eqno\stepeq
+$$
+where $r_1$ and $r_2$ are the inner and outer radii of the
+shell. For a dusty density distribution $\rho(r)\propto
+r^{\alpha}$ and $r_2\gg r_1$, equation (2) reduces to
+$$
+ L(\nu)\propto \nu^{2+\gamma-Q}
+ \int_{X_0}^{\infty}{{x^Q}\over{{\rm e}^x-1}}{\rm d}x, \eqno\stepeq
+$$
+where $Q=-(\alpha+\beta+3)/\beta$ and $X_0=(h\nu /kT_0)$.
+$T_0$ represents the temperature at the inner boundary of the
+dust shell where grains start condensing. In a steady radiation
+pressure driven mass outflow in the optically thin case, values of
+$\alpha$ lie near $-2$ (Gilman 1972). $\gamma$ and $\beta$ are
+related by $\beta=-2/(\gamma+4)$.
+
+In the {\it IRAS\/} Point Source Catalog (PSC, Beichman et~al.\ 1985a),
+the flux densities have been quoted at the effective
+wavelengths 12, 25, 60 and 100$\,\umu$m, assuming a flat energy
+spectrum $[\nu F(\nu)=1]$ for the observed sources. For each model
+given by equation (3), using the relative system response, the
+colour-correction factors (Beichman et~al.\ 1985b) in each
+of the {\it IRAS\/} passbands were calculated and the fluxes
+were converted into flux densities expected for a flat energy
+distribution, as assumed in the {\it IRAS\/} PSC, so that the
+computed colours can be directly compared with the colours
+determined from the catalogue quantities. Such a procedure
+is more appropriate than correcting the {\it IRAS\/}
+colours for the energy distribution given by a particular model
+and then comparing them with those computed by the model.
+
+
+\subsection{Colour--colour diagram}
+
+The IR colour is defined as
+$$
+ [\nu_1]-[\nu_2]=-2.5\log [f(\nu_1)/f(\nu_2)],
+$$
+where $\nu_1$ and $\nu_2$ are any two wavebands and
+$f(\nu_1)$ and $f(\nu_2)$ are the corresponding flux densities
+assuming a flat energy spectrum for the source.
+%
+\beginfigure{1}
+\vskip 91mm
+\caption{{\bf Figure 1.} Plot of [25]--[60] colours of
+RV Tauri stars against their [12]--[25] colours after normalizing
+as indicated in Beichman et~al.\ (1985b). Some of the objects
+are identified by their variable-star names. Typical error bars
+are shown in the bottom right-hand corner. The lines represent
+the loci for constant inner shell temperature and the quantity
+$Q$. Note the separation of group A and B stars at $T_0 \sim$
+460$\,$K. Positions occupied by a sample of carbon and oxygen
+Miras are also shown. The $Q=1.0$ line differs from the
+blackbody line by a maximum of $\sim 0.05$.}
+\endfigure
+
+In Fig.~1, we have plotted the [25]--[60] colours of
+RV Tauri stars against their corresponding [12]--[25] colours
+derived from the {\it IRAS\/} data. Filled circles represent
+stars of group A and open circles stars of group B. The two
+sets of near-parallel lines represent the loci of constant
+inner shell temperature $T_0$ and the quantity $Q$ defined
+above. The models correspond to the case of absorption
+efficiency $Q_{{\rm abs}}(\nu)$ varying as $\nu$ (with
+$\gamma=1$ and hence $\beta=-0.4$). We have omitted R Sct in
+Fig.~1 because it shows a large deviation from the average
+relation shown by all the other objects. R Sct has a
+comparatively large excess at 60$\,\umu$m, but the extent of a
+possible contamination by the infrared cirrus (Low et~al.\ 1984)
+is unknown. Goldsmith et~al.\ (1987) found no
+evidence of the presence of a dust envelope at near-IR
+wavelengths and the spectrum was consistent with a stellar
+continuum. This explains why R Sct lies well below the mean
+relation shown by stars of groups A and C between the
+[3.6]--[11.3] colour excess and the photometrically determined
+(Fe/H) (Dawson 1979). R Sct has the longest period of 140$\,$d
+among the RV Tauri stars detected at far-infrared wavelengths
+and does not have the 10-$\umu$m emission feature seen in other
+objects (Gehrz 1972; Olnon \& Raimond 1986). R Sct is probably
+the most irregular RV Tauri star known (McLaughlin 1932).
+
+The inner shell temperatures $(T_0)$ derived for the various
+objects are also given in Table~1 and we find the majority of
+them to have temperatures in the narrow range 400--600$\,$K. If
+the dependences of $Q_{{\rm abs}}(\nu)$ on $\nu$ and $\rho(r)$ on
+$r$ are similar in all the objects considered, then in the
+colour--colour diagram they all should lie along a line
+corresponding to different values of $T_0$ and in Fig.~1 we find
+that this is essentially the case. In view of the quoted
+uncertainties in the flux measurements, we cannot attach much
+significance to the scatter in Fig.~1.
+%
+\beginfigure*{2}
+\vskip 5.9cm
+\caption{{\bf Figure 2.} Plot of the [60]--[100] colours
+of RV Tauri stars against their [25]--[60] colours after normalizing
+as indicated in Beichman et~al.\ (1985b). The solid lines
+represent the loci for constant inner shell temperature and the
+quantity $Q$. The dashed line shows the locus for a blackbody
+distribution.}
+\endfigure
+
+At 100$\,\umu$m the infrared sky is characterized by emission,
+called infrared cirrus, from interstellar dust on all spatial
+scales (Low et~al.\ 1984), thereby impairing the
+measurements at far-infrared wavelengths. In Fig.~2, we have
+plotted the [60]--[100] colours of the six RV Tauri stars
+detected at 100$\,\umu$m against their [25]--[60] colours, along
+with the grid showing the regions of different values for inner
+shell temperature $T_0$ and the quantity $Q$, as in Fig.~1. The
+results indicated by Fig.~2 are consistent with those derived
+from Fig.~1. AR Pup shows a large excess at 100$\,\umu$m but, in
+view of the large values for the cirrus flags given in the
+catalogue, the intrinsic flux at 100$\,\umu$m is uncertain.
+
+
+\subsection{Radial distribution of dust}
+
+From Fig.~1, it is evident that all RV Tauri stars lie
+between the lines corresponding to $Q=1.5$ and $0.5$. With
+$$
+ \alpha=-(1+Q)\beta-3,
+$$
+these values suggest limits of $r^{-2.0}$ and $r^{-2.4}$
+for the dust density variation, indicating a near-constant
+mass-loss rate. Jura (1986) has suggested that the density in
+the circumstellar envelope around RV Tauri stars varies as
+$r^{-1}$, implying a mass-loss rate that was greater in the
+past than it is currently. By fitting a power law to the
+observed fluxes, such that $f(\nu)$ varies as $\nu^q$, values
+of $q$ determined by him for the various objects given in
+Table~1 lie in the range 0.6--1.2, with a mean $\bar q=0.98$. The
+assumption of a power law corresponds to the case of $X_0=0$ in
+equation (3) and hence we get
+$$
+ q=2+\gamma -Q.
+$$
+Since we assume that $Q_{{\rm abs}}(\nu)$ varies as $\nu$,
+the resulting value for $Q$=2.0. None of the objects is found
+to lie in the corresponding region in the colour--colour
+diagram. Even this extreme value for $Q$ implies a density
+which varies as $r^{-1.8}$.
+
+Goldsmith et~al.\ (1987) have reported that the
+simultaneous optical and near-IR data of AC Her can be fitted
+by a combination of two blackbodies at 5680 and 1800$\,$K,
+representing, respectively, the stellar and dust shell
+temperatures, and suggested that in RV Tauri stars the grain
+formation is a sporadic phenomenon and not a continuous
+process. Apparently, they have been influenced by the remark by
+Gehrz \& Woolf (1970) that their data in the 3.5--11$\,\umu$m
+region of AC Her indicated a dust temperature of $\sim300\,$K. We
+find that the {\it K--L\/} colours given by Gehrz (1972), Lloyd
+Evans (1985) and Goldsmith et~al.\ (1987) are all
+consistent with each other. Surely, hot dust ($\sim 1800\,$K), if
+present at the time of observations by Goldsmith et~al.\ (1987),
+would have affected the {\it K--L\/} colour
+significantly. AC Her, like other members of its class, is
+found to execute elongated loops in the ({\it U--B\/}), ({\it
+B--V\/}) plane (Preston et~al.\ 1963), indicating that
+significant departure of the stellar continuum from the
+blackbody is to be expected. Further, their data show only a
+marginal excess at the near-IR wavelengths. We feel that the
+case for the existence of hot dust around AC Her and hence for
+the sporadic grain formation around RV Tauri stars is not
+strong. In Fig.~3 we find that AC Her and
+RU Cen lie very close to R Sct which, according to Goldsmith
+et~al.\ (1987), shows no evidence for the presence of a hot
+dust envelope.
+
+
+\subsubsection{Comparison with oxygen and carbon Miras}
+
+In Fig.~1 we have also shown the positions of a sample of
+oxygen-rich and carbon-rich Miras. At the low temperatures
+characteristic of the Miras, a part of the emission at 12$\,\umu$m
+comes from the photosphere. For a blackbody at 2000$\,$K, the ratio
+of fluxes at wavelengths of 12 and 2$\,\umu$m $(f_{12}/f_{2})\sim
+0.18$. The Miras shown in Fig.~1 have $(f_{12}/f_{2})$
+ratios larger than twice the above value. It is clear that the
+three groups of objects populate three different regions of the
+diagram. Hacking et~al.\ (1985) have already noticed that
+there are distinct differences between the {\it IRAS\/} colours
+of oxygen-rich and carbon-rich objects. On the basis of an
+analysis, using a bigger sample of bright giant stars in the
+{\it IRAS\/} catalogue, this has been interpreted by Zuckerman \&
+Dyck (1986) as being due to a systematic difference in the dust
+grain emissivity index. U Mon shows the 10-$\umu$m silicate
+emission convincingly and, in most of the other objects for
+which low-resolution spectra in the near-infrared have been
+reported (Gehrz 1972; Olnon \& Raimond 1986), the 10-$\umu$m
+emission may be partly attributed to silicates. Hence it is
+reasonable to expect that, in the envelopes around at least some
+of the RV Tauri stars, the dust grains are predominantly of
+silicates, as in the case of oxygen Miras (Rowan-Robinson \&
+Harris 1983a). The fact that none of the RV Tauri stars is
+found in the region of the two-colour diagram occupied by the
+oxygen Miras indicates that the emissivity indices of the
+silicate grains in the two cases are different. Because of the
+higher temperatures and luminosities, the environment of grain
+formation will be different in RV Tauri stars.
+
+
+\subsubsection{Correlation with subgroups}
+
+Preston et~al.\ (1963) have identified three spectroscopic
+subgroups, which are designated as groups A, B and C. Objects of
+group A are metal-rich; group C are metal-poor; group~B objects are
+also metal-poor, but show carbon enhancements (Preston et~al.\ 1963;
+Lloyd Evans 1974; Dawson 1979; Baird 1981). It is interesting
+to see that Table~1 contains no group C objects and that in Fig.~1
+there is a clear separation of the two spectroscopic subgroups A
+and B, with the demarcation occurring at an inner shell
+temperature of about 450$\,$K, group~B stars having lower
+temperatures than group A. SX Cen is the only exception. Lloyd
+Evans (1974) has reported that metal lines are stronger in SX Cen
+than in other group~B objects. It may be worth noting that SX Cen
+has the shortest period among the 100 or so objects with the RV
+Tauri classification. RU Cen has the coolest inner shell
+temperature, as already suggested by the near-infrared spectrum
+(Gehrz \& Ney 1972).
+%
+\beginfigure{3}
+\vskip 59mm
+\caption{{\bf Figure 3.} Plot of $(K$--$L)$ colours of
+RV Tauri stars detected by {\it IRAS\/} against their corresponding
+$(J$--$K)$ colours. The position of AR Pup is indicated. The three
+objects lying close to the blackbody line are AC Her, RU Cen and R Sct.}
+\endfigure
+
+Group~B objects follow a different mean relationship from those
+of group~A, having systematically larger 11-$\umu$m excess for a
+given excess at 3$\,\umu$m (Lloyd Evans 1985). For a general
+sample of RV Tauri stars, the distinction between the
+oxygen-rich and carbon-rich objects is not that apparent in the
+{\it JHKL\/} bands. In Fig.~3 we have plotted the near-IR
+magnitudes of the objects given in Table~1 (except V Vul which
+has no available measurements) in the {\it J--K, K--L\/} plane.
+The colours, taken from Lloyd Evans (1985) and Goldsmith
+et~al.\ (1987), are averaged if more than one observation
+exists, because the internal agreements are found to be often
+of the order of observational uncertainties, in accordance with
+the earlier finding by Gehrz (1972) that variability has
+relatively little effect on colours. Barring RU Cen and AC Her,
+it is evident that stars belonging to group~B show
+systematically larger excesses at {\it L\/}~band for a given
+excess at {\it K}. The low excesses at near-IR wavelengths for
+AC Her and RU Cen are consistent with the very low dust
+temperatures indicated by the far-infrared colours.
+%
+\ifsinglecol
+ \pageinsert
+ \vfil
+ \centerline{Landscape figure to go here. This figure was not
+ part of the original paper and is inserted here for illustrative
+ purposes.}
+ \centerline{See the author guide for details on how to handle landscape
+ figures or tables, and {\tt mnland.tex}.}
+ \centerline{{\bf Figure 4.}}
+ \vfil
+ \endinsert
+\else
+ \beginfigure*{4}
+ \vbox to 646pt{\vfil
+ \centerline{Landscape figure to go here. This figure was not
+ part of the original paper and is inserted here for illustrative
+ purposes.}
+ \centerline{See the author guide for details on how to handle landscape
+ figures or tables, and {\tt mnland.tex}.}
+ \caption{{\bf Figure 4.}}
+ \vfil}
+ \endfigure
+\fi
+
+It is already well established that from {\it UBV\/} photometry
+one can distinguish between groups A and~B, members of group~A
+being significantly redder than those of group~B (Preston
+et~al.\ 1963). Similarly, Dawson (1979) has found that the two
+spectroscopic groups are well separated in the DDO
+colour--colour diagrams when mean colours are used for the
+individual objects.
+
+The clear separation of the spectroscopic subgroups A and~B in
+the IR two-colour diagram suggests that the natures of dust
+grains in the envelopes in the two cases are not identical.
+This is to be expected because of the differences in the
+physical properties of the stars themselves. The average
+colours of group~B stars are bluer than group A, but the
+envelope dust temperatures of B are cooler than those of~A. The
+near-IR spectra of AC Her and RU Cen are extremely similar
+(Gehrz \& Ney 1972). The striking similarities in the optical
+spectra of AC Her and RU Cen have been pointed out by Bidelman
+(O'Connell 1961). We feel that the physical properties,
+including the chemical composition, of the grains formed in
+the circumstellar envelope strongly depend on those of the
+embedded star. This, probably, explains the diversity of the
+energy distributions of RV Tauri stars in the near-infrared
+found by Gehrz \& Ney (1972). On the basis of the observed
+differences in chemical abundances and space distribution of RV
+Tauri stars, Lloyd Evans (1985) has already pointed out that
+there is no direct evolutionary connection between group~A and
+group~B objects, thus ruling out the possibility that group~B
+objects are the evolutionary successors of group~A, in which
+grain formation has stopped and the cooler temperatures for the
+former are caused by an envelope expansion.
+
+Kukarkin et~al.\ (1969) have subdivided RV Tauri stars
+into two classes, RVa and RVb, on the basis of their light
+curves; the former shows a constant mean brightness, whereas
+the latter shows a cyclically varying mean brightness.
+Extensive observations in the near-infrared show that, on
+average, RVb stars are redder than RVa stars, and Lloyd Evans
+(1985) has suggested that in RVb stars dust shells are denser
+in the inner regions and hence radiate strongly in the
+1--3$\,\umu$m region. Fig.~3 confirms this; RVb objects show
+systematically larger ({\it J--K\/}) and ({\it K--L\/}) colours than RVa
+objects. Apparently, there is no distinction between objects of
+the two light-curve types at far-infrared wavelengths (Fig.~1).
+
+
+\section{Conclusions}
+
+In the [12]--[25], [25]--[60] colour diagram, RV Tauri
+stars populate cooler temperature regions $(T<600\,\rm {K})$,
+distinctly different from those occupied by the oxygen and
+carbon Miras. Using a simple model in which
+\beginlist
+\item (i) the envelope is spherically symmetric,
+\item (ii) the IR-emitting grains are predominantly of the same kind, and
+\item (iii) in the IR the absorption efficiency $Q_{{\rm abs}} (\nu)\propto\nu$,
+\endlist
+we find that the {\it IRAS\/} fluxes
+are consistent with the density in the envelope $\rho(r)\propto
+r^{-2}$, where {\it r\/} is the radial distance. Such a
+dependence for the dust density implies that the mass-loss
+rates in RV Tauri stars have not reduced considerably during
+the recent past, contrary to the suggestion by Jura (1986). In
+the two-colour diagram, the blackbody line and the line
+corresponding to $\rho(r)\propto r^{-2.2}$ nearly overlap and
+the present data are insufficient to resolve between the two
+cases. The latter case is more physically reasonable, however.
+
+The spectroscopic subgroups A and B are well separated in
+the {\it IRAS\/} two-colour diagram, with group B objects having
+systematically cooler dust envelopes. If we consider only the
+objects detected by {\it IRAS}, we find that stars
+belonging to group B show systematically larger excess at {\it
+L\/}~band for a given excess at {\it K}. Apparently, there is no
+correlation between the light-curve types (RVa and RVb) and the
+far-infrared behaviour of these objects. It is fairly certain
+that the physical properties, including the chemical
+composition, of the embedded stars are directly reflected by
+those of the dust grains. Most probably, the grain formation
+process in RV Tauri stars is continuous and not sporadic as
+suggested by Goldsmith et~al.\ (1987).
+
+
+\section*{Acknowledgments}
+
+I thank Professor N. Kameswara Rao for some helpful
+suggestions, Dr H. C. Bhatt for a critical reading of the
+original version of the paper and an anonymous referee for
+very useful comments that improved the presentation of the paper.
+
+
+\section*{References}
+
+\beginrefs
+\bibitem Baird S.R., 1981, ApJ, 245, 208
+\bibitem Beichman C.A., Neugebauer G., Habing H.J., Clegg P.E.,
+ Chester T.J., 1985a, {\it IRAS\/} Point Source Catalog. Jet
+ Propulsion Laboratory, Pasadena
+\bibitem Beichman C.A., Neugebauer G., Habing H.J., Clegg P.E.,
+ Chester T.J., 1985b, {\it IRAS\/} Explanatory Supplement. Jet
+ Propulsion Laboratory, Pasadena
+\bibitem Dawson D.W., 1979, ApJS, 41, 97
+\bibitem Gerhz R.D., 1972, ApJ, 178, 715
+\bibitem Gerhz R.D., Ney E.P., 1972, PASP, 84, 768
+\bibitem Gerhz R.D., Woolf N.J., 1970, ApJ, 161, L213
+\bibitem Gilman R.C., 1972, ApJ, 178, 423
+\bibitem Goldsmith M.J., Evans A., Albinson J.S., Bode M.F., 1987, MNRAS,
+ 227, 143
+\bibitem Hacking P. et al., 1985, PASP, 97, 616
+\bibitem Harvey P.M., Thronson H.A., Gatley I., 1979, ApJ, 231, 115
+\bibitem Jura M., 1986, ApJ, 309, 732
+\bibitem Kukarkin B.V. et al., 1969, General Catalogue of Variable Stars.
+ Moscow
+\bibitem Lloyd Evans T., 1974, MNRAS, 167, 17{\sc p}
+\bibitem Lloyd Evans T., 1985, MNRAS, 217, 493
+\bibitem Low F.J. et al., 1984, ApJ, 278, L19
+\bibitem McLaughlin D.B., 1932, Publ. Univ. Obs. Mich., 4, 135
+\bibitem O'Connell J.K., 1961, Specola Vaticana Ric. Astron., 6, 341
+\bibitem Olnon F.M., Raimond E., 1986, A\&AS, 65, 607
+\bibitem Preston G.W., Krzeminski W., Smak J., Williams J.A.,
+ 1963, ApJ, 137, 401
+\bibitem Rowan-Robinson M., Harris S., 1983a, MNRAS, 202, 767
+\bibitem Rowan-Robinson M., Harris S., 1983b, MNRAS, 202, 797
+\bibitem van der Veen W.E.C.J., Habing H.J., 1988, A\&A, 194, 125
+\bibitem Willems F.J., de Jong T., 1988, A\&A, 196, 173
+\bibitem Zuckerman B., Dyck H.M., 1986, ApJ, 311, 345
+\endrefs
+
+
+\appendix
+
+\section{Large gaps in {$\bf L\lowercase{y}\balpha$} forests
+ due to fluctuations in line distribution}
+
+(This appendix was not part of the original paper by A.V.~Raveendran and is
+included here just for illustrative purposes.)
+
+Spectroscopic\looseness=1\ observations of bright quasars show that the mean number
+density of ${\rm Ly}\alpha$ forest lines, which satisfy certain criteria,
+evolves
+like ${\rm d}N/{\rm d}z=A(1+z)^\gamma$, where $A$ and~$\gamma$ are two
+constants. Given
+the above intrinsic line distribution we examine the probability of finding
+large gaps in the ${\rm Ly}\alpha$ forests. We concentrate here only on
+the statistics and neglect all observational complications such as the line
+blending effect (see Ostriker, Bajtlik \&~Duncan 1988).
+
+Suppose we have observed a ${\rm Ly}\alpha$ forest between redshifts $z_1$
+and~$z_2$
+and found $N-1$ lines. For high-redshift quasars $z_2$~is usually the emission
+redshift $z_{\rm em}$ and $z_1$ is set to $(\lambda_{\rm Ly\beta}/\lambda_{\rm
+Ly\alpha})(1+z_{\rm em})=0.844(1+z_{\rm em})$ to avoid contamination by
+Ly$\beta$ lines. We want to know whether the largest gaps observed in the
+forest are significantly inconsistent with the above line distribution. To do
+this we introduce a new variable~$x$:
+$$
+ x={(1+z)^{\gamma+1}-(1+z_1)^{\gamma+1} \over
+ (1+z_2)^{\gamma+1}-(1+z_1)^{\gamma+1}}. \eqno\stepeq
+$$
+$x$ varies from 0 to 1. We then have ${\rm d}N/{\rm d}x=\lambda$,
+where $\lambda$ is the mean number of lines between $z_1$ and $z_2$ and is
+given by
+$$
+ \lambda\equiv{A[(1+z_2)^{\gamma+1}-(1+z_1)^{\gamma+1}]\over\gamma+1}.
+ \eqno\stepeq
+$$
+This means that the ${\rm Ly}\alpha$ forest lines are uniformly distributed
+in~$x$.
+The probability of finding $N-1$ lines between $z_1$ and~$z_2$, $P_{N-1}$, is
+assumed to be the Poisson distribution.
+%
+\beginfigure{5}
+\vskip 11pc
+\caption{{\bf Figure A1.} $P(>x_{\rm gap})$ as a function of
+$x_{\rm gap}$ for, from left to right, $N=160$, 150, 140, 110, 100, 90, 50,
+45 and~40.}
+\endfigure
+
+\subsection{Subsection title}
+
+We plot in Fig.~A1 $P(>x_{\rm gap})$ for several $N$ values.
+We see that, for $N=100$ and $x_{\rm gap}=0.06$, $P(>0.06)\approx 20$
+per cent. This means that the
+\ifsinglecol\else \vadjust{\vfill\eject}\fi
+probability of finding a gap with a size
+larger than six times the mean separation is not significantly small.
+When the mean number of lines is large, $\lambda\sim N>>1$, our
+$P(>x_{\rm gap})$ approaches the result obtained by Ostriker et~al.\ (1988)
+for small (but still very large if measured in units of the mean separation)
+$x_{\rm gap}$, i.e., $P(>x_{\rm gap})\sim N(1-x_{\rm gap})^{N-1}\sim N
+{\rm exp}(-\lambda x_{\rm gap})$.
+
+
+\bye
+
+% end of mnsample.tex
diff --git a/Master/texmf-dist/doc/plain/mnras/readme.txt b/Master/texmf-dist/doc/plain/mnras/readme.txt
new file mode 100644
index 00000000000..167ae336a0c
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/mnras/readme.txt
@@ -0,0 +1,15 @@
+% readme.txt (v1.1 released 2nd September 1994)
+% for Monthly Notices (plain TeX)
+%
+% The files for MN are as follows:
+%
+% README.TXT this file
+% FONTTEST.TEX a file to test all of the fonts used in the MN design
+% with your output device
+% MN.TEX the design macros
+% MNGUIDE.TEX authors' instructions
+% MNSAMPLE.TEX sample pages
+% MNLAND.TEX landscape page for sample pages
+%
+% Typeset MNGUIDE.TEX, MNSAMPLE.TEX and MNLAND.TEX for instructions
+% and examples.
diff --git a/Master/texmf-dist/doc/plain/newsletr/READ.ME b/Master/texmf-dist/doc/plain/newsletr/READ.ME
new file mode 100644
index 00000000000..53d258b0d55
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/newsletr/READ.ME
@@ -0,0 +1,76 @@
+% Save file as: AAAREAD.ME Source: FILESERV@SHSU.BITNET
+
+ NEWSLETR - A newsletter format for Plain TeX
+ Hunter Goatley
+ August 21, 1991
+
+NEWSLETR is a file of plain TeX macros that has been used for the last few
+years to publish a newsletter about a horror author (Robert R. McCammon).
+Most of the macros are original, but some came from _The TeXbook_ and other
+sources; most of these have been either rewritten or modified. The following
+files should be found here (and the names are short for people using MS-DOS):
+
+ AAAREAD.1ST This file
+ NEWSLETR.TEX The newsletter format
+ NEWSLETR.TXT List of commands in newsletter format
+ NEWSSAMP.TEX Sample newsletter file
+ NEWSSAMP.UUE Uuencoded sample .DVI file
+ LODRIVER.TEX Sample newsletter driver (part of a real newsletter)
+ LOSAMPLE.TEX Sample newsletter title page, articles, etc.
+
+The format is for plain TeX, not LaTeX---real TeXies don't use LaTeX! 8-)
+Seriously, I developed my newsletter format because LaTeX wasn't flexible
+enough for the stuff I wanted to do---namely multiple columns (1--6 columns),
+switching columns on the same page, and including figures.
+
+When you see it, some of the stuff will look kludged---but it sounds like
+what some of you are using now was kludged, so it shouldn't be much worse!
+
+Because the format file (NEWSLETR.TEX) is pretty big, I'd suggest that you
+create a new TeX format file that contains it. Under VMS using DECUS TeX,
+the command would be:
+
+ $ TEX/INIT/NOFORMAT "&plain \input newsletr \dump"
+ $ TEX/FORMAT=newsletr
+
+NEWSLETR is set up so that it can be used as an extended plain TeX (you have
+access to the macros, with all of TeX's default settings). When building
+a newsletter, you can execute \newspage to use pages that are a little taller
+and wider (7" x 9") and to change some of TeX's penalties, etc.
+
+Finally, I would like to point out a couple of features that I think would be
+useful for anybody who uses TeX for any reason. I've extracted these two
+pieces into separate files so that you can easily include them in other
+documents.
+
+As you all know, TeX requires that you use `` and '' instead of " to get
+proper double-quotes. I have written a macro that will let the double-quote
+character (") work like `` and ''. It assumes that they come in pairs, except
+that a " as the first character of a paragraph is treated as ``. To enable
+the double-quote recognition, simply add \begindoublequotes to your file.
+(You can disable it using \enddoublequotes.) Proper spacing after '' is
+maintained. (QUOTE.TEX)
+
+I've also included macros \ital and \slant for typesetting text in the
+italic (\it) and slanted (\sl) fonts, respectively. A lot of people don't
+seem to know about---or forget to use---the italic correction (\/) when
+switching among fonts. The \ital and \slant macros look at the next character
+following the parameter and add the italic correction unless the next character
+is a period or a comma, as recommended on page 14 of _The TeXbook_. Using
+these macros, you should never need to type \/ again. (ITALIC.TEX)
+
+I would appreciate being kept informed of bug fixes or improvements you make
+to the file. To that end, I've created a mailing list that can be used to
+discuss the NEWSLETR format. Feel free to post questions, problems, or
+solutions to the list; as usually with freeware, I can't promise support,
+but I use these macros too, and I'm willing to help whenever/wherever I can.
+To subscribe to the list, send e-mail with the body SUBSCRIBE NEWSLETR to
+LISTSERV@WKUVX1.BITNET. Note that this isn't a real LISTSERV, so commands
+other than UNSUBSCRIBE and REVIEW won't work.
+
+Questions, comments, or suggestions are welcome.
+
+Hunter Goatley, VAX Systems Programmer E-mail: goathunter@WKUVX1.BITNET
+Academic Computing, STH 226 Voice: (502) 745-5251
+Western Kentucky University
+Bowling Green, KY 42101
diff --git a/Master/texmf-dist/doc/plain/newsletr/losample.tex b/Master/texmf-dist/doc/plain/newsletr/losample.tex
new file mode 100644
index 00000000000..660019319ee
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/newsletr/losample.tex
@@ -0,0 +1,380 @@
+% Save file as: LOSAMPLE.TEX Source: FILESERV@SHSU.BITNET
+%% TITLE.TEX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begingroup
+\font\HUGE=cmss17 %scaled\magstep2
+
+\pageheader{}{}{}
+\pagefooter{}{}{}
+
+\setbox0=\vbox{\hsize=2.25in
+ \vskip4.25in
+ {\baselineskip=21pt
+ \centerline{\HUGE Vol.\ 1\ \ No.\ 4}
+ \centerline{\HUGE June 1990}
+ }
+ }
+
+\vbox to9in{\unvbox0
+
+\vskip 1.75in
+\vfil
+\vbox{\hbox to\hsize{\hfill
+\leftshadowbox{
+ \hsize=6in
+ \vsize=1.75in
+ \vbox to\vsize{
+ \vfil
+ {\baselineskip=19pt
+ \centerline{\HUGE Inside This Issue:}
+ }
+ \vfil
+ \centerline{$\bullet$\ "The State of Where," by \RRM}
+ \centerline{$\bullet$\ An interview with Jeffrey Sackett, by Hunter Goatley}
+ \centerline{$\bullet$\ Interviews with Al Sarrantonio and Kazue Tanaka,
+ by \RRM}
+ \centerline{$\bullet$\ A letters column}
+ \centerline{$\bullet$\ Reports on NECON X and the 1990 WFC}
+ \centerline{$\bullet$\ A Joe R. Lansdale update}
+ \centerline{$\bullet$\ News of \McC's new novel \book{Boy's Life}}
+ \vfil
+ }}
+\hfill}
+\vfil
+}} % End of \vbox
+
+\eject
+\endgroup
+
+%% EDITORIAL.TEX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Lights Out! Vol. 2 No. 1
+% Editorial page
+%
+\newbox\edboxone \newbox\edboxtwo % \newbox\edbox3 \newbox\edbox4
+\newdimen\edcolwidth
+
+%
+%\edcolwidth=\pagewidth
+%\advance\edcolwidth by -\wd\edboxone
+%\advance\edcolwidth by -\columnsep
+%\advance\edcolwidth by -\columnsep
+%
+%\setbox\edboxtwo=\vbox to 9in{\hsize\edcolwidth
+%%{\hsize 4in
+\articletitle{"And Now, the End Is Near\edots"}{A Look at the Future by Hunter
+Goatley}
+
+\begincolumns{2}
+\ninepoint \rm
+
+\noindent
+Well, once again, finally! As you all know, I think,
+this issue has been delayed because my family and I moved again, this
+time from Knoxville to Bowling Green, KY. Again, I appreciate your
+patience and understanding.
+
+Each time I go to press, the issue seems to change from what I originally
+intended. I've been telling you for awhile that this issue would feature a new
+McCammon short story---well, it doesn't. It does, however, have an essay
+entitled "The State of Where," written by \McC\ exclusively for \LO\ \ The
+essay describes where McCammon is in his career, and where he's going. I think
+you'll find it interesting.
+
+Now the bad news. As you probably gathered from the title above, I'm
+extinguishing the lights on \LO\ \ Despite my best efforts, finding the time to
+devote to the newsletter is becoming more and more difficult.
+The fact that I've only been able to do three
+issues in the last 13 months shows that something's not right.
+There are several reasons that I won't be able to keep up \LO:
+
+\beginlist\parindent=18pt
+\item{1.)} Production costs have steadily risen as I've moved around the
+ country. The last issue and this one were more expensive than
+ the previous three issues had been; in fact, much of the
+ subscription renewals went to pay for those issues. I also
+ severely
+ over-estimated the growth of \LO---the renewals since June
+ will not cover the cost of four more issues; more on that in
+ a minute.
+\item{2.)} I \slant{like} my job now. In the beginning, \LO\ was a
+ much-needed diversion from a programming job that had become
+ unbearable---only I didn't realize it at the time. Now that
+ I'm out of the "hell-job," I find myself less willing to spend
+ my free time working on \LO
+\item{3.)} I've been stepping up my writing for the technical journal
+ \book{VAX Professional}. Since 1986 I've written 16 articles
+ for them; this year I'm to start a series of programming
+ articles that will probably be published as a book.
+\item{4.)} I'm going to be teaching some programming classes this fall at
+ Western Kentucky University.
+\item{5.)} And most importantly, my almost-two-year-old daughter Margaret
+ wants---and should have---more
+ time to spend with Daddy. Lately, between work and \LO\ she
+ and Dana have had to spend too much time without me---and vice
+ versa.
+\endlist
+
+Since renewals have been lower than anticipated and new subscriptions have been
+virtually non-existent, I cannot afford to publish four more issues of
+\LO---instead of offering refunds, I've decided that there will be one more
+issue of \LO\ sometime later this year. This special issue will be longer than
+previous issues and will be available to \slant{current subscribers only}.
+Book dealers will not be selling them and I won't have any extra copies for
+sale.
+
+Rick McCammon has been a joy to work with, and when I told him of my plans
+to discontinue \LO\ he offered to help me make the last issue very special
+for you. Therefore, the next and final issue of \LO\ will feature not one,
+but \slant{two} excerpts from abandoned \RRM\ novels!
+
+Though Rick once told me that he would never show \book{The Address} to anyone,
+he has volunteered to let me publish what he had written at the time he shelved
+the book. That's about 50 manuscript pages. Rick is also providing me with the
+beginning of \book{The Midnight Man}, a novel he started last year. In addition,
+the issue will feature a brand-new interview with Rick, where we'll discuss
+\book{Boy's Life} and more about Rick's plans for the future. I'll be driving
+to Birmingham in March or April to sit down and talk with Rick, so if you have
+any questions you want me to ask him, please send them soon.
+
+As you can see, I'm planning for \LO\ to go with a {\ss BANG!} And since the
+next issue is for current subscribers only, there won't be very many copies.
+I've got plenty of back issues of issues 2 and 3 sitting around being a fire
+hazard; if you'd like extra copies of those issues, send \$1 for each copy and
+I'll mail them out immediately. The \$1 will cover postage and the envelope(s).
+There are no limits, except that the offer is available only to current
+subscribers. I still have some of issues 1 and 4, but I'm not sure how many;
+let me know if you want those issues and I'll include them as long as they last.
+Please send all correspondence to the address at the bottom of this page. And
+thanks for your patience---the last issue will be out this summer.
+
+\vskip.5\baselineskip \hrule \vskip.5\baselineskip
+{\eightpoint\ss\noindent
+On the cover: the artwork for McCammon's upcoming novel, \book{Boy's Life},
+and a magazine illustration accompanying a Japanese translation of "The Thang."
+\eoa}
+\endcolumns
+
+
+\vfill
+
+\setbox0=\vbox to 1.25in{\hsize=125pt%
+ \vfil\elevenpoint
+ \centerline{\bf Lights Out!}
+ \vfil\hrule\vfil
+ \centerline{The}
+ \centerline{\RRM}
+ \centerline{Newsletter}
+ \vfil \hrule \vfil\ninepoint
+ \line{Vol.~2\ \ No.~1\hfill February 1991\hskip2pt}
+ \vfil
+ }
+
+\setbox1=\vbox to 1.25in{\hsize=120pt%
+ \vfil\vfil
+ \centerline{\ss Published by:}
+ \centerline{\bf Hunter Goatley}
+ \vfil \hrule \vfil
+ \centerline{\LO}
+ \centerline{\POBox}
+ \centerline{\CityState}
+ \centerline{\ZipCode}
+ \vfil\vfil
+ }
+
+\setbox2=\vbox to 1.25in{\hsize=120pt%
+ \vfil\noindent\eightpoint\ss\parindent=6pt\narrower
+ Thanks to Paddy McKillop, Jodi Strissel, Paul Schulz, Adam Rothberg,
+ \& you.
+ Thanks especially to Jeffrey Sackett, Kazue Tanaka, Al Sarrantonio,
+ Joe Lansdale, and Rick \& Sally McCammon.
+ Incredibly special thanks to Dana \& Margaret Goatley!
+ % for putting up with me!
+ \par
+ \vfil}
+
+\setbox3=\vbox to 1.25in{\hsize=125pt%
+ \vfil\noindent\eightpoint\ss\leftskip=6pt
+ This newsletter was typeset on a Digital VAX 6320, using the \TeX\
+ typesetting system developed by Donald~E. Knuth.
+ \par
+ \vfil \hrule \vfil
+ \noindent\smallcopyright\ 1991 by Hunter Goatley. All rights reserved.
+ Permission to reprint required.\par
+ \vfil}
+
+
+\setbox\edboxone=\vbox{\hbox{\box0\vrule\box1\vrule\box2\vrule\box3}}
+
+\setbox\edboxone=\vbox to1.5in{
+ \boxitspace=6pt
+ \vfill
+ \boxit{\unvbox\edboxone}
+ \vfill
+ }
+
+\box\edboxone
+
+\eject % Force a page break
+
+%% KAZUE.TEX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% TeX file: KAZUE.TEX
+%
+% Desc: Interview with Kazue Tanaka, by Robert R. McCammon
+%
+% Interview Date: 03-NOV-1990
+% Transcription Date: 24-NOV-1990
+%
+\articletitle{Interview: Kazue Tanaka}{Conducted by \RRM; transcribed by Hunter Goatley}
+
+\begincolumns{2}
+\definefigs{2} % Define figures for up to 7 pages
+
+%\definefig{2}{2}{top}{\Certo}
+
+%\definefig{3}{2}{middle}{\Quote{%
+% I think it's a challenge to see the world
+% through different eyes. And I think that's what writing, in a way, is
+% all about.\qRM}}
+
+%\handlefigures
+%
+% "RM:" in 10pt roman is 22.xx pts wide, so let's put these things in boxes
+% that size with about 5pts whitespace following them.
+%
+\def\RM:{\vskip6pt\noindent\hbox to27pt{\bf RM:\hfil}}
+\def\KT:{\vskip6pt\noindent\hbox to27pt{\bf KT:\hfil}}
+
+
+\ednote{Ms.~Kazue Tanaka is a Japanese writer/translator who has translated
+\RRM's stories from \book{Night Visions IV} into Japanese. The following
+interview was conducted at the 1990 World Fantasy Convention, where Ms.~Tanaka
+finished up a month-long visit to the United States. Ms.~Tanaka is currently
+at work translating \McC's 1981 vampire epic, \book{They Thirst}.
+%\hfill\break\vskip-12pt
+}
+
+\RM: I'd like to know how you go about translating, say, one of my books.
+Do you read the book first?
+
+\KT: Yes. Usually I read the book a couple of times and then I start
+translating. Maybe you know that we have a completely different grammatical
+diction from English, so we can't put a word in the same order in Japanese.
+Usually I read a sentence and grasp the meaning of it and reconstruct it in
+Japanese.
+
+\RM: I would think that would be very difficult to do.
+
+\KT: It is!
+
+\RM: I'm sure it is, because there's such a great difference in the grammatical
+form. You have to be very careful, I guess, in terms of reading in English and
+translating to Japanese. That seems to me to be very difficult. How did you
+train to do this?
+
+\KT: Usually we have some kind of mentor or teacher.
+
+\RM: Were you like an apprentice, and someone teaches you to do this?
+
+\KT: Yes. We put the original stories [beside] the translations and compare
+the sentences.
+
+\RM: How long would it take you to translate \book{They Thirst}?
+
+\KT: It depends on how long the story is. \book{They Thirst} will take at
+least three months. How long did it take you to write~it?
+
+\RM: Well, it took about six or seven months to write.
+
+\KT: Maybe I'll need that kind of time, too!
+
+\RM: But it's almost like, if you're interpreting, you're almost doing some
+writing yourself. If you're making something more concise, or---do you do that?
+Are you abridging? Do you think anything gets changed in the translation?
+
+\KT: We try not to change, but sometimes a little change is necessary. We
+don't have some things that you have here in America. For instance, some brand
+names. We don't have the culture of your country, and the Japanese readers
+don't know if I translated correctly, but it is impossible for Japanese readers
+to understand that culture. Maybe, in that case, things get changed sometimes.
+
+\RM: Do you feel that you interpret the story more so your countrymen can
+understand what's going on in the book? Do you think you add more of your
+culture to the story?
+
+\KT: Basically, we don't add anything, we don't take away anything. But in
+that case, we explain [the cultural differences] after the story in an
+afterword.
+
+\RM: How many books have you translated?
+
+\KT: Maybe twelve, or something. Among them, \book{Brain Child}, by John Saul,
+and some mysteries. I'm going to translate some stories of Orson Scott Card's.
+
+\RM: I think it would be very interesting, if I could read Japanese, to read my
+book and see what the changes are. Or how it's geared toward that culture.
+
+\KT: Conversation---when people talk---is very difficult to put
+into Japanese. If the character is a woman, a man, a boy, or a girl, Japanese
+has a very distinctive way of speaking. Especially between a man and woman.
+English does not have as much difference.
+
+\RM: Well, that's fascinating. I think it would be a very tough thing to
+do---to translate something into an entirely different culture and still have
+the flavor of the American version, at least. I wouldn't want to do it---I
+don't think I could do it very well.
+
+\KT: Your stories are very American---that may be why they appeal to Japanese
+readers.
+
+\RM: Really? I was going to ask you why my stories appeal---if they do
+appeal---to Japanese readers. Well, first, I didn't know that horror fiction
+was so popular in Japan. Is it? Is it becoming more popular? What do you
+think the situation is?
+
+\KT: Your [novels] have not been translated at all yet. So, apart from you,
+Stephen King and Dean~R. Koontz are very popular---they are as popular as
+other big writers. Other horror writers are not so well-known. Some very keen
+fans like American horror.
+
+\RM: Why do you think that is? King and Koontz are definitely very American
+writers. Do you think that's their appeal---the American style?
+
+\KT: Yes, I do.
+
+\RM: Not necessarily because of the story being told, but because maybe it's
+told in an American voice?
+
+\KT: Yes, sometimes. I'm still trying to [learn] the American voice---it's
+very hard to do.
+
+\RM: Well, I know that's very tough to do, and I'm looking forward to seeing
+the books when they are translated.
+
+\KT: I'm looking forward to it too!\eoa
+
+\endcolumns
+
+%% NEXTTIME.TEX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\vfill
+
+\begingroup
+\font\HUGE=cmss17 %scaled\magstep2
+\setbox0=\vbox{\hsize=5in
+ \twelvepoint\ss\noindent%
+ The final issue of \LO\ will feature excerpts from \RRM's unpublished
+ novels \book{The Address} and \book{The Midnight Man}, a brand-new
+ interview with \McC\ about \book{Boy's Life}, more author
+ interviews, and the latest news! Coming Summer 1991!
+ \vfill%
+ }
+
+\centerline{\shadowbox{\vbox to 1in{%
+ \hsize=6in
+ \vfil
+ \offinterlineskip
+ \noindent\hfil\box0\hfil
+ \vfil
+ }}}
+
+\endgroup
diff --git a/Master/texmf-dist/doc/plain/newsletr/newsletr.txt b/Master/texmf-dist/doc/plain/newsletr/newsletr.txt
new file mode 100644
index 00000000000..df802b00264
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/newsletr/newsletr.txt
@@ -0,0 +1,134 @@
+% Save file as: NEWSLETR.TXT Source: FILESERV@SHSU.BITNET
+ Help for NEWSLETTER_FORMAT.TEX
+ Hunter Goatley
+ August 21, 1991
+
+\newspage - Sets up larger page for newsletter (taller/wider)
+\DATE - Include current month and year (July 1989)
+\include{file.ext} - Include a .TeX file (prints message)
+\say{Message} - Writes a message to the terminal
+\newpage - Begin a new page
+\nullpage - Creates an empty page with header/footer in place
+\nullline - Creates an empty line
+
+\ignoreunderfill - Avoids undervfill and underhfill messages
+
+\articlesep - Article separator; creates hrule = \hsize
+
+\ital{text} - Set in \it font (with proper italic correction)
+\slant{text} - Set in \sl font (with proper italic correction)
+\book{Title} - Book titles (uses \ital)
+
+\Quote{quote}{quotee} - Insert a quote with the quotee in small caps font
+\beginquote - Begins a quote; draws hrule, indents, larger font
+\endquote - Ends a quote; resets font to original size
+
+\articletitle{Title}{Byline}
+ - Builds an articletitle box (see example)
+\coltitle{Title} - Builds boxed title for use in double-column format
+
+\headfootrule=Xpt - Define height of rule in header & footer
+\columnsep=Xpt - Amount of space between columns in multi-column mode
+\columnwidth=Xpt - Width of a column in multi-column mode (calc. by def.)
+\columnseprule=Xpt - Width of vertical rule between columns (can be 0pt)
+\begincolumns{x} - Begins multiple-column mode (1 < X < 7)
+\endcolumns - Ends multiple-column mode
+
+\definefigs{#ofPages} - Initializes figures for multi-column mode
+\handlefigures - Must be specified right after \definefigs (bug)
+\definefig{Page}{Col}{Pos}{box}
+ - Defines a figure
+\abovedisplayskip - Amount of vskip before middle and bottom figures
+\belowdisplayskip - Amount of vskip below top and middle figures
+
+\shadowbox{some_box} - Draw a shadow box around an hbox or vbox
+\leftshadowbox{somebox} - Draw a left-hand shadow box around an hbox or vbox
+\centerbox{somebox} - Center a \vbox on a page
+\boxshadowsize=Xpt - Width of shadow boxes
+\boxit{some_box} - Draw a box around an hbox or vbox
+\boxitrule=Xpt - Width of rules used to draw boxes
+\boxitspace=Xpt - Space between box rules and box contents
+\bestbreak - Tell TeX that this is a pretty good place to break
+\ednote - Do editor's note in a box
+
+\listindent - Specify the amount to indent lists
+\beginlist - Begin a simple list of dotted items
+\endlist - End item list
+\beginlistt{title} - Begin list with a title (attached with vglue)
+\endlistt - End list with title (ends with \par)
+\dotitem - Item list with a bullet
+
+\beginbibliography - Begin a bibliography - main setup
+\endbibliography - End a bibliography
+\beginbiblist - Begin a list of references
+\beginanotherlist - Begin a dotitem list inside a \beginbiblist
+\endbiblist - End a bibliography list of references
+\ENUM item - Number items in a list
+\ENum item - Don't number, but indent as if number is present
+\NoENUM item - Don't number; start text where number would appear
+\bibshort{Title} - Short story entry
+\bibbook{Title} - Book entry
+\bibview{The...} - Interview entry
+\subbib{Subheading} - Subtitle for an entry
+\bibsectitle{title} - Adds a bibliography section title (BOOKS, etc.)
+
+\begindoublequote - Enable double-quote as a macro
+\enddoublequote - Disable double-quote as a macro
+" - Alternates between `` and ''
+\eoa - End of Article; draws black rectangle at right of line
+\smallcopyright - Insert a small (7pt) copyright character
+\farright{text} - Place text flush against the right-margin, possibly
+ on a new line if it won't fit.
+\ellip - Insert ellipsis with proper spacing (word\ellip word)
+\edots - Insert ellipsis at end of sentence (4 dots)
+
+The font commands below redefine \sl, \it, \bf, \rm, \ss, and \ssi for that font
+
+\twelvepoint - Switch to twelve-point fonts
+\elevenpoint - Switch to eleven-point fonts
+\tenpoint - Switch to ten-point fonts
+\ninepoint - Switch to nine-point fonts
+\eightpoint - Switch to eight-point fonts
+
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+ These macros implement the headers and footers for the newsletter format.
+ The macros accept three parameters: text that is to appear flush-left on
+ the line, text that should be centered, and text that should be flush-right
+ on the line. Parameters can be omitted by specifying empty braces ({}).
+
+ The following macros are defined for headers and footers:
+
+ \evenpageheader{LEFT}{CENTER}{RIGHT}
+ \oddpageheader{LEFT}{CENTER}{RIGHT}
+ \evenpagefooter{LEFT}{CENTER}{RIGHT}
+ \oddpagefooter{LEFT}{CENTER}{RIGHT}
+
+ If the headers/footers are the same for even & odd pages, the following
+ macros can be used instead of the four above:
+
+ \pageheader{LEFT}{CENTER}{RIGHT}
+ \pagefooter{LEFT}{CENTER}{RIGHT}
+
+ Additional header/footer definitions:
+
+ \pageheaderlinetrue - A line should extend below header text
+ \pageheaderlinefalse - Header does NOT have a line
+ \pagefooterlinetrue - A line should extend above footer text
+ \pagefooterlinefalse - Footer does NOT have a line
+ \headfootrule=Xpt - Thickness of header/footer lines
+ \pageheaderskip=Xpt - \vskip between header and line
+ \pagefooterskip=Xpt - \vskip between footer and line
+ \headfont=\fontname - Font to use for header text
+ \footfont=\fontname - Font to use for footer text
+
+ Example:
+
+ \pageheader{}{My Newsletter}{}
+ \pagefooter{#1}{}{\pageno}
+
+ Defaults:
+
+ \pageheaderlinefalse \pagefooterlinefalse
+ \pageheaderskip=4pt \pageheaderskip=4pt
+ \pageheader{}{}{} \pagefooter{}{}{}
+
diff --git a/Master/texmf-dist/doc/plain/newsletr/newssamp.tex b/Master/texmf-dist/doc/plain/newsletr/newssamp.tex
new file mode 100644
index 00000000000..006946ed2d9
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/newsletr/newssamp.tex
@@ -0,0 +1,267 @@
+% Save file as: NEWSSAMP.TEX Source: FILESERV@SHSU.BITNET
+%
+% File: NEWSLETTER_SAMPLE.TEX
+%
+% Functional description:
+%
+% This file is a sample TeX file to demonstrate the functionality of the
+% NEWSLETTER_FORMAT macros.
+%
+% It depends on the file NEWSLETTER_FORMAT.TEX.
+%
+% Author: Hunter Goatley
+%
+% Date: August 15, 1991
+%
+\ifx\undefined\eoa\input newsletr \fi % Include macro definitions
+\say{Producing sample newsletter}
+%
+% Define the page headers and footers. Different for even/odd pages.
+%
+\pageheaderlinetrue \pagefooterlinetrue
+\evenpageheader{}{Goat Droppings!}{}
+\oddpageheader{}{My Newsletter}{}
+\evenpagefooter{August\ 1991}{}{Page\ \folio}
+\oddpagefooter{Page \folio}{}{Vol.\ 1\ \ No.\ 1}
+
+\begindoublequotes % Handle double quotes
+
+\ignoreunderfill % Ignore undervfill errors
+\parskip=0pt % Don't skip between paragraphs
+\parindent=18pt % Indent paragraphs 18pt
+\rm % Use tenpoint roman
+
+%
+% Define a few commands to make typing easier.
+%
+\def\RRM{Robert~R. McCammon}
+\edef\TeX{\TeX\null}
+\def\LaTeX{{\rm L\kern-.36em\raise.3ex\hbox{\quoteefont a}\kern-.15em
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
+%
+% Now define a short verbatim, which can be used for short strings:
+%
+\def\cmd#1{{\tt\string#1}}
+
+%
+% Setup for newsletter page (a little taller and wider, with increased
+% \tolerance, etc.)
+%
+\newspage
+
+%\nullpage % Null page w/ head/foot
+
+%
+% Now start the first article. Do the article in double-column format.
+%
+% The title and by-line are written in a double-box.
+%
+\articletitle{Using \TeX\ to Do A Newsletter}{By Hunter Goatley}
+
+\begincolumns{2} % Begin double-columns
+
+%
+% Reserve boxes for up to 3 pages of figures.
+%
+\definefigs{3}
+
+%
+% Define a quote as a figure in the middle of column 2 on page 1 of this
+% article.
+%
+\definefig{1}{2}{middle}{\Quote{%
+ Nothing beats \TeX\null. Nothing.}{Hunter Goatley}}
+%
+% Now do one that extends across the whole page.
+%
+\definefig{2}{0}{top}{\hsize=\normalhsize%
+\vbox{\centerline{\shadowbox{%
+ \hsize=5in
+ \vsize=.5in
+ \vbox to\vsize{
+ \vfill
+ \centerline{This is inside a \cmd{\shadowbox}.}
+ \vfill
+ } %End vbox
+ } %End shadowbox
+ }} %End vbox
+ \vskip12pt
+ \centerline{This is a figure across the whole page.}
+ } %End definefig
+
+\handlefigures % Necessary, but shouldn't be.
+\noindent
+This document attempts to describe how my plain \TeX\ newsletter format works.
+The documentation is sparse, but I hope to let it speak for itself through
+the use of examples. Will they be meaningful examples? Probably not. But,
+hey, I'll give it a shot.
+
+I started producing {\it Lights Out!---The \RRM\ Newsletter\/}
+in June 1989. For those who don't know, \RRM\ is a very popular author whose
+books have primarily been categorized in the horror genr\'e. His latest,
+\book{Boy's Life}, was published in hardcover by Pocket Books in August 1991.
+\book{Boy's Life} is {\sl not\/} horror---it's a wonderful tale of how 1964
+looked to a 12-year-old boy. There's a mystery, but the book is primarily
+about remembering life when you were young. I urge you to find the book and
+give it a try. Here are quotes from a couple of reviews of McCammon's previous
+novel, \book{Mine}:
+
+%
+% A sample \dotitem'ed list.
+%
+\bgroup % Start a new group to keep \listindent local
+\listindent{10pt}\beginlist
+\dotitem "\book{Mine} grips you tightly by the throat, right at the
+ start, and squeezes\edots" \farright{---\book{The New York Daily
+ News}}
+\dotitem "McCammon at his very best\ \dots\ and then some."
+ \farright{---\book{The Birmingham News}}%
+\endlist
+\egroup
+
+\noindent % Don't indent the paragraph after the quotes.
+Well, enough about \RRM. Even if you don't like horror, I think you'll like
+McCammon's work. Other titles include \book{Swan Song}, \book{Blue World},
+and \book{Mystery Walk}.
+
+I'll now break and we'll start a new sub-article under this main
+article. I used this approach in a regular column entitled "Things Unearthed,"
+which consisted of various news items about new book releases and other
+news items.
+
+%
+% Begin a new sub-article. \coltitle draws a box around the title. This
+% one has two centered lines, with a box around it.
+%
+\articlesep
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\coltitle{\centerline{Why I Chose \TeX\ Over}\break
+ \centerline{Ventura and PageMaker}}
+
+When I decided I was going to start producing a newsletter, I started looking
+at the options I had available to me. Because I'm a VAX systems programmer,
+I preferred to use something on the VAX. I had had some exposure to \TeX\ and
+knew that it would do the job, but I thought I'd look at PC-based choices.
+
+I played around with PageMaker some, and read about Ventura---and decided that
+they were way too clumsy to do what I wanted. I liked the fact that \TeX\ used
+regular text files with embedded commands---I could use the editor I was
+accustomed to, \TeX\ was available for a variety of platforms, and \TeX\ was
+incredibly flexible.
+
+So I decided on \TeX, I had to decide if I was going to use \TeX\ or \LaTeX.
+But that's another sub-article.
+
+\articlesep % Line to separate arts
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\coltitle{\centerline{Why I Chose Plain \TeX}\break % Column title box
+ \centerline{Instead of \LaTeX}}
+
+I had originally intended to use \LaTeX, because that's what the technical
+writing group of my employer-at-the-time was using to produce their manuals.
+I knew that I wanted multiple columns and to be able to switch back and forth
+between single- and double-columns on the same page at will. After trying
+many variations of the \LaTeX\ double-column style, I finally decided I
+couldn't easily do it. (This was before Frank Mittelbach's \LaTeX\ macros
+appeared in {\it The TUGboat\/}.)
+
+So, once I decided on \TeX, I decided I better learn about \TeX\ so I could
+write my own macros. Two years later, I still modify the file some, but it
+has been lots of fun and I learned a whole lot about \TeX.
+
+I've since learned that, apparently, not many people use plain \TeX.
+Personally, I don't know why everybody flocks to \LaTeX---plain \TeX\ is
+so much more flexible. It is true that you need a default set of macros
+to get you going, but once they're there, I believe \TeX\ is actually
+easier to use than \LaTeX.
+
+An aside here: if you haven't seen \book{\TeX\ for the Impatient}, by Paul~W.
+Abrahams, I strongly recommend a copy. It's a great reference book for
+plain \TeX, and his {\tt eplain.tex} (Extended Plain \TeX) provides some
+very useful macros. It was published last year by Addison-Wesley.
+
+\articlesep
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\coltitle{\centerline{Some of the Highlights}\break
+ \centerline{of the Newsletter Format}}
+
+There are variety of commands provided by my newsletter format. Because
+{\it Lights Out!\/} covered a horror author, some of the commands are
+specifically designed to handle books and interviews. While I was developing
+the format, I tried to make sure that I kept things as generic as possible
+so that it could be used to generate other newsletters. It remains to be
+seen if whether or not I was successful.
+
+%The next page features a list of some of the commands that are available
+%and how they're used.
+
+I've included the commands \cmd{\twelvepoint}, \cmd{\elevenpoint},
+\dots, \cmd{\eightpoint} to change font sizes. I didn't do these
+the "official" \TeX\ way (font families) out of laziness. To get the
+eight-point font {\tt cmss8} you simply type: \cmd{\eightpoint\string\ss},
+probably within a group.
+
+My multiple columns command supports up to 6 columns on a page. When you
+increase the number of columns on a page, you usually need to change
+the font size (for three columns, I switched to the {\tt cmss8} font---it
+seemed to work out OK because the sans serif font helped differentiate
+between the "Letters" column and the rest of the newsletter).
+
+One of the things that seems to be hardest in \TeX---especially when multiple
+columns are involved---is the insertion of figures. I like things to be
+very structured---the mathematical side of me, I guess---so when I added
+figure support to my macros, I did it by setting up my multiple column
+output routine to place figures in certain locations on a page. You can
+specify that a figure is inserted across the entire page at the top and
+bottom of the page, or at the top, middle, or bottom of each column.
+Here comes the really kludgy part of my format.
+
+The macro \cmd{\definefigs} must be executed to tell \TeX\ how many pages
+are following that may contain figures. What happens is that a large block
+of boxes is allocated. I tried various combinations to make it more dynamic,
+but had little luck. Because of time constraints, I went with the way that
+worked. This shouldn't really cause a problem, because you define figures
+within an article, and most articles aren't so long that you exceed the number
+of boxes \TeX\ has. The command to define a figure is:
+\vskip\baselineskip
+\centerline{\cmd{\definefig\string{Page\string}\string{Column\string}%
+ \string{Position\string}\string{Box\string}}}
+\vskip\baselineskip
+where \cmd{Box} is a \cmd{\vbox} containing your figure. This can be an empty
+\cmd{\vbox} \cmd{\vfill}'ed to the correct size for later pasting. The quote
+on the previous page was inserted with a \cmd{\Quote} as the argument to
+the \cmd{\definefig} command.
+
+That's all I'm going to say about the commands for now. Notice that when
+you end the double columns, they are automatically balanced.\eoa
+
+\endcolumns % End of double columns
+
+
+\articlesep % Separate the articles w/ rule
+
+%
+% Now do another article in single column format.
+%
+\articletitle{This Is Another Article}{By Me, Of Course}
+
+\begincolumns{3}
+
+This is more just to show that you can also do three-columns on the same page
+with single- and double-column formats without \TeX\ complaining about it.
+I hope this example has been of some use to you.
+
+Note that balancing these columns still has a few glitches---but nothing adding
+or subtracting a few words won't fix. I've been using this format to generate
+five newsletters so far.
+
+\endcolumns
+
+\articlesep
+
+This is more just to show that you can keep both single-, double-, and
+triple-column formats on the same page. \TeX\ won't complain about it
+at all (usually).\eoa
+
+
+\bye
diff --git a/Master/texmf-dist/doc/plain/patch/patch.doc b/Master/texmf-dist/doc/plain/patch/patch.doc
new file mode 100644
index 00000000000..9f70895d02f
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/patch/patch.doc
@@ -0,0 +1,543 @@
+%\iffalse This is patch.doc, and it's -*-LaTeX-*- text
+%% patch.doc/patch.tex
+%% (c) 1994 by David Kastrup (dak@pool.informatik.rwth-aachen.de)
+%% Version 0.91
+%% Redistribution of patch.doc is allowed, provided it is not modified
+%% in any way. The stripped version patch.tex may only be distributed
+%% as part of other packages, and only if the unstripped version
+%% is distributed on demand.
+% Stripping is to be done by removing all lines starting with a single
+% percent sign.
+% You may extract a driver file for printing the documentation with
+% the doc style package by extracting all lines starting with
+% %<+driver>, while removing the %<+driver> directive.
+%\fi
+% \CheckSum{360}
+% \title{Using {\tt patch.tex}}
+% \author{David Kastrup\\dak@pool.informatik.rwth-aachen.de}
+% \date{January 22, 1994}
+% \maketitle
+% \MakeShortVerb\"
+% \begin{abstract}
+% Often one has the need to use a preestablished format, such
+% as~\LaTeX, but with some slight changes to some of the macros.
+% Of~course, it is possible to just copy the offendin maco
+% definitions into your application or style file, and~modify them
+% there. This can lead to parts of your macros being from different
+% versions of \LaTeX{} resp.~\TeX.
+%
+% This input file is a tool for replacing just parts of existing macros
+% by user defined parts. If those parts are no longer recognizable,
+% an~error message is produced, calling the user to~attention.
+% \end{abstract}
+% \tableofcontents
+% \section{User Interface}
+% The macros defined here will allow ``patching'' up already existing
+% macros. A~typical example, included from a~style file used for
+% typesetting Greek text (to~appear in "kdgreek") is the following:
+%\begin{verbatim}
+%\input patch.tex
+%\ifx\descriptionlabel\undefined\else
+%\gpatch\descriptionlabel#1{{#1}}{%
+% \bf {\grbf}} \fi
+%\ifx\@part\undefined\else
+%\gpatch\@part[#1]#2{[#1]{#2}}{%
+% \bf\partname~{\grbf\partname\nobreak\ }%
+% \bf {\grbf}} \fi
+%...
+%\endpatch
+%\end{verbatim}
+%This shows almost all features that are really there. You start by
+%inputting "patch.tex". This, among other things, opens a~local
+%group in which all of the definitions of~"patch.tex" are read~in.
+%In~order not to use up unnecessary hash~space, almost all local
+%commands are in the form~"\^^80" and upwards. For this reason,
+%you cannot {\em use\/} any macros of yours with such names
+%(Note: they are {\em
+%not\/} active characters, but rather regular one-letter control
+%sequences), and you should not patch them, but you can patch any
+%macros containing them, or patch them into macros.
+%
+%One macro is {\em very\/} special and must not appear in any macro
+%you patch, nor in any arguments to~"\patch": this is~"\@ndp@tch".
+%
+%\DescribeMacro{\patch}
+%\DescribeMacro{\gpatch}
+%You follow the "\input" by several "\patch" or "\gpatch"
+%commands. These commands
+%consist of several parts:
+%\begin{itemize}
+%\item[Optional "\bslash long"] for definition of macros possibly containing
+% "\par" tokens in their arguments. Note that the prefixes "\global"
+% and~"\outer" are not supported. "\global"ness is achieved by~usage
+% of~"\gpatch" as opposed to~"\patch", and is explained later, and
+% "\outer" macros are detestable.
+%\item ["\bslash patch" or "\bslash gpatch"] To be expected.
+%\item [\meta{Argument list}] which is the argument list the macro will
+% have in the patched version (usually the same as the original one).
+% It~is terminated by the opening brace of
+%\item [\meta{Argument replacement}] which is enclosed in braces. This
+% is fed as an argument list into the old macro, in order to get the
+% replacement text for the new macro. Basically this means that you
+% will have to use, say, "{#1}" for an undelimited parameter~"#1",
+% "#1@" for a delimited parameter "#1@", and "@$#!?!!" for a brace
+% delimited parameter "#1#{" (don't try patching any macros like
+% that. Presume you have never heard of~them).
+%\item [\meta{Substitution list}] This contains a~brace enclosed list
+% of~replacements. Each replacement consists of
+% \begin{itemize}
+% \item [\meta{Matching sequence}] which is a sequence of tokens not
+% containing any braces. If really need to match braces, you can
+% match by using implicit braces you get by saying something like
+% "\let\openbrace={". If you think of using the default implicit
+% braces "\bgroup" and~"\egroup", forget~it. They are used in
+% several macros we might want to~patch, and thus are disabled
+% by~default.
+% \item [\meta{Replacement sequence}] which is enclosed in~braces.
+% Again, if you want braces to appear in your replacement, you can
+% make that happen by using implicit braces. Matched braces,
+% however, you may include explicitly.
+% \end{itemize}
+%\end{itemize}
+%\DescribeMacro{\endpatch}
+%Then the patches are followed by~"\endpatch", which closes the group
+%opened by~"\input", thus freeing up almost all \TeX{} space
+%"patch.tex" took up. Since~mismatched patches can be hard to
+%diagnose, "\endpatch" is defined as being~"\outer". As~long as
+%the "\outer" nuisance prevails, we~might use it for what it~is
+%useful~for.
+%
+%That's all there is to it! Except for the "\global" issue we promised
+%to explain\dots{}
+%Usually you will be patching macros of some style, and there will be no
+%point in using~"\patch" instead of~"\gpatch". So~mostly "\gpatch" does
+%no harm, and will cause a~global definition. "\patch", on the other
+%hand, has the problem that its definitions should hold in the group
+%ended by~"\endpatch", but not globally. So~"\patch" cannot just make
+%the definitions. Instead, it collects the new definitions, and~does
+%them all at~"\endpatch".
+%
+%\DescribeMacro{\globaldefs}
+%Here is one friendly feature: If "\globaldefs" is negative,
+%"\gpatch"~will invoke "\patch" instead of its own behaviour, so that
+%local patches will be performed instead of none at~all (since the then
+%non-global definition would disappear at~"\endpatch"). This feature was
+%deemed desirable\footnote{Reason:
+%I~made an example file showing the effects of several
+%"\bslash documentstyle" commands with my Greek macro set. The Greek style
+%patched up some \LaTeX{} macros, and this was wanted only
+%locally, namely for the length of the demonstration of one particular
+%document style.}.
+%\subsection{Things to beware of (aka bugs)}
+%"patch.doc" is a very simple package (sort~of). It can fail for
+%a~number of reasons, and is not applicable in every situation. You
+%will have problems if
+%\begin{enumerate}
+%\item You use implicit tokens which are implicit at the time the
+% patches are applied. "\bgroup" and~"\egroup" are explicitly disabled
+% for this reason. Implicit spaces will be regarded as explicit ones
+% by~"\patch". Implicit macro parameter characters I~am not so sure
+% about. \TeX~behaves pretty wierd with regard to them anyhow. Other
+% implicits should do no~harm. "\patch"~will take the problematic
+% implicit
+% tokens for explicit ones while it is analyzing tokens. It analyzes
+% both matching and replacement tokens, and all tokens in the original
+% macro up to the last replacement performed. This means that, for
+% example, matching implicit braces in locations where you did not
+% intend it can lead to mismatched explicit braces and lots
+% of~confusion.
+%\item You use outer tokens in any respect.
+% "\patch" does not care for them.
+%\item When "\@ndp@tch" appears anywhere, namely in a~macro to be
+% patched, or in a matching or replacement sequence. It~is used for
+% internal purposes, and you can cause lots of confusion when
+% using~it. This means, for one thing, that you should not try
+% "\patch"ing up any macros of this package with itself.
+%\item And this is harsh: if the macro you patch contains "#" marks
+% (which originally were produced by writing "##") these will not be
+% reduplicated, leading to missing parameter number errors (which will
+% do the right thing if you ignore them, but that's ugly), or to
+% recombination with a following number, which is plain wrong. You can
+% work around this ugliness in an~ugly way: specify a~replacement
+% "#{##}" for any such token. I~am pretty much afraid I~know no
+% better way around this one.
+%\item Since "\bgroup" and~"\egroup" are disabled, using any macro that
+% in turn uses those will not work while in patch~mode. What
+% I~guarantee to keep working in future versions is "\let" (locally,
+% for making implicit tokens),
+% all expandable constructs (like conditionals) not
+% using any of the macros of this package, and~"\patch"es.
+% Other things are not necessarily supported in patch~mode.
+% Specifically, do not use "\def" or~"\gdef", since manipulation of
+% localness might unnecessarily be thwarted if you~do.
+%\item Do not change "\toks@" in any way, or use a~macro changing it.
+% Cannot happen really, if you listen to the last advice.
+%\item Do not rely on the patches either taking place or not before the
+% final "\endpatch"! This means, do not use a~patched macro before
+% "\endpatch" in ways which require specifically the patched or
+% the unpatched version. For example, do not patch one and the same macro
+% with two separate "\patch" commands in the same patch session! The
+% reason for this is the collecting behaviour for non-global patches.
+% And you never really know when a~package of yours might come handy
+% non-globally.
+%\item For similar reasons,
+% do not use "\input patch.tex" in a local group when you are doing
+% "\gpatch"es (unless you know what you are doing, as in the case of
+% negative~"\globaldefs"). It~might get to~being a~problem sometime.
+%\item Never set "\globaldefs" to a~non-zero {\em positive\/} value
+% while working with~"\patch", since it will interfere disastrously with
+% "patch.tex"'s internals, which heavily work with local groups.
+% Anyway, "patch.tex" is by its nature intended for local use only.
+%\item Just as a note aside: it is a~very bad idea to set "\globaldefs"
+% to non-zero values longer than strictly necessary. It is especially
+% a~bad idea to set it to a~negative value while {\em typesetting\/}
+% anything,
+% because the output routine (implicitly enclosed in a~group) will
+% never be able to get anything done permanently, and will therefore
+% be repeated over and~over.
+%\end{enumerate}
+%
+%Ok, this should be all there really is to it. If I~look that list over
+%again, it seems like groups really occupy my fantasy.
+%
+%Happy "\patch"ing!
+%\StopEventually{\PrintIndex}
+%\section{The Implementation}
+%We begin by opening our local group and making private control
+%sequences accessible:
+% \begin{macrocode}
+\begingroup
+\catcode`@=11
+% \end{macrocode}
+%We then set "\toks@" to the initial set of~actions to~perform at the
+%end of the~patches.
+% \begin{macrocode}
+\toks@={\endgroup}
+% \end{macrocode}
+% \begin{macro}{\endpatch}
+% Rather simple. "\outer"~seems not to do much harm here. It might
+% help better pinpointing severe failures when using~"\patch".
+% \begin{macrocode}
+\outer\def\endpatch{\the\toks@}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\futuredef}
+% This is somewhat similar to "\futurelet", only not at~all. It
+% defines the macro which is its first argument as~code which can
+% by use of~"\aftergroup" reproduce the third argument~token,
+% and after doing that it will call the second argument.
+% All~arguments are removed from the input, unlike "\futurelet"'s
+% behaviour.
+% \begin{macrocode}
+\def\futuredef#1#2{\begingroup
+% \end{macrocode}
+% We do this locally, and set up a few things to do after the
+% group. Since a~"\def" is going to finish what we want, we can
+% insert the ``do-after'' token via "\afterassignment".
+% \begin{macrocode}
+ \aftergroup\afterassignment \aftergroup#2%
+ \aftergroup\def \aftergroup#1%
+ \futurelet\next\^^90}
+% \end{macrocode}
+% \end{macro}
+% We still have the token in our input stream, but also a copy of
+% its meaning in "\next". We first try out some cases which will
+% not allow us to treat the next token as an undelimited macro
+% parameter. Of course we cannot distinguish explicit from implicit
+% tokens, but we rely on the user to explicitly unimplicate possibly
+% implicit characters. We will do this ourselves with the following
+% two ones:
+% \begin{macrocode}
+\let\bgroup\relax \let\egroup\relax
+% \end{macrocode}
+% Now we start checking all problematic cases.
+% "\^^90" will substitute an appropriate definition given
+% explicitly instead of the following token. If we can, however, we
+% rather use the token we get. If you wonder about this name, here
+% is why: we have to use hosts of macros because of various
+% "\futurelet"-like constructions. Patches occur just in a local group,
+% and should not permanently require resources. If we did not use
+% one-letter control sequences here, the hash table size would be
+% somewhat reduced, permanently, because entries never leave the
+% hash table. One letter control sequences, however, are not
+% hashed, and can disappear without a trace again.
+% \begin{macrocode}
+\def\^^90{%
+ \ifcat\noexpand\next{%
+ \^^91{\aftergroup{\iffalse}\fi}%
+ \else\ifcat\noexpand\next}%
+ \^^91{\iffalse{\fi\aftergroup}}%
+ \else\ifcat\noexpand\next\space
+ \^^91{\expandafter\aftergroup\space}%
+ \else\ifcat\noexpand\next##
+ \^^91{\aftergroup########}%
+ \else
+ \let\next\^^93%
+ \fi\fi\fi\fi\next}
+% \end{macrocode}
+% "\^^91" is rather simple. We save the definition in
+% "\next@", and we'll call upon this after disposing of the next
+% token.
+% \begin{macrocode}
+\def\^^91#1{\def\next@{\endgroup{#1}}%
+ \let\next\^^92}
+\def\^^92{\afterassignment\next@ \let\next= }
+% \end{macrocode}
+% "\^^93" will actively get the next token, and produce an
+% "\aftergroup" definition from that. It is "\long" in case we are
+% dealing with a "\par" token.
+% \begin{macrocode}
+\long\def\^^93#1{\endgroup{\aftergroup#1}}
+% \end{macrocode}
+% \begin{macro}{\@ndp@tch}
+% This is supposed to be used as a delimiter. So that we may
+% check for its appearance conveniently, we define it as its own
+% "\futuredef" expansion.
+% \begin{macrocode}
+\def\@ndp@tch{\aftergroup\@ndp@tch}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\gpatch}
+% This is it. If you are in doubt as to what the "\def\next{}" is
+% supposed to~achieve, this is~easy. We want to detect whether you
+% want a~long macro to be~patched. In that case, you say
+% "\long\gpatch"\dots. We can figure this out by comparing
+% "\next" to the non-long~"\empty". Of course, we do not
+% explicitly check for "\outer"ness. You should not even think of
+% wanting to make an "\outer" definition.
+%
+% We start by defining~"\gpatch", which will in the case
+% of~disabled "global"ness revert to~"\patch". Both~"\patch"
+% and~"\gpatch" define "\next" as a~macro getting one
+% "\@ndp@tch"-delimited argument:
+% it is all what should appear after a~"\def".
+% "\next"~should make all necessary actions for doing
+% the~definition. After setting~up "\next", "\^^a0"~is called, for
+% which we wrap up the argument list as a~separate argument.
+% \begin{macrocode}
+\def\gpatch{\ifnum\globaldefs<\z@
+ \expandafter\patch
+ \else
+ \expandafter\^^98%
+ \fi}
+\long\def\^^98#1#2#{\def\next{}%
+ \long\edef\next##1\@ndp@tch%
+ {\ifx\next\empty\else\long\fi\gdef##1}%
+ \^^a0#1{#2}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\patch}
+% "\patch"~is a~bit more complicated, because we need to~make
+% additions to the current "\toks@"~list.
+% \begin{macrocode}
+\def\patch#1#2#{\def\next{}%
+ \long\edef\next##1\@ndp@tch
+ {\toks@ \noexpand\expandafter {\noexpand\the \toks@
+ \ifx\next\empty\else\long\fi \def##1}}%
+ \^^a0#1{#2}}
+% \end{macrocode}
+% \end{macro}
+%
+% Now the real fun starts. We get the argument replacement list,
+% and the macro body replacement list. We define a~macro~"\^^e0"
+% (the "e" means error) just for knowing the proper macro name for
+% error messages.
+%
+% We prepare in a local
+% "\toks@" the definition (because we could not simply
+% "\aftergroup" the argument replacement, which could consist of
+% any number of~tokens). Note that we start yet another group,
+% making the definitions of "\toks@" and "\next" stable.
+%
+% \begin{macrocode}
+\long\def\^^a0#1#2#3#4{\begingroup
+ \def\^^e0{#1}%
+ \toks@{\endgroup\next#1#2}%
+ \begingroup
+ \aftergroup\the\aftergroup\toks@
+% \end{macrocode}
+% We collect the replacement in a continually shrinking token list.
+% Do not get annoyed, but we'll use "\toks@" for that, too.
+% When we are through with replacements, we'll say "\endgroup",
+% after which the definition takes place.
+%
+% The replacement needs
+% to be in a token list instead of a macro in order not to break upon
+% encountering hash marks. The use of "\toks@" for this does not
+% conflict with its other uses due to the grouping.
+%
+% After that, we are ready to start the fun by expanding our macro,
+% and putting~"\p@check" to~work.
+% \begin{macrocode}
+ \toks@{#4}%
+ \expandafter\p@check\expandafter{#1#3}\@ndp@tch}
+% \end{macrocode}
+% \begin{macro}{\p@match}
+% \begin{macro}{\p@replace}
+% These are token lists holding the current string to be matched
+% next, and its replacement string. We
+% use token lists~1 and~2 for that.
+% \begin{macrocode}
+\toksdef\p@match=\@ne
+\toksdef\p@replace=\tw@
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\p@check}
+% We check for any remaining replacements. If there are none, we
+% may quit. "\toks@"~is the list of
+% remaining substitutions. "\endgroup"~stops and makes the
+% definition (check~"\^^a0" to~see~why), "\^^a1"~continues. By the
+% way, in case of an~error, we will later use~"\next@" in order to
+% tell what replacements were not carried out.
+% \begin{macrocode}
+\def\p@check{\edef\next@{\the\toks@}%
+ \ifx\empty\next@ \expandafter\endgroup
+ \else \expandafter\^^a1\fi}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\p@first}
+% This sets "\p@first" to the "\futuredef" expansion of the first
+% token we want to~match. "\^^a2"~will rewrap the rest of~"\toks@",
+% and needs an (as~to~yet) unmatched closing brace for that.
+% It~will provide the matching open one by~itself.
+% \begin{macrocode}
+\def\^^a1{\iffalse{\fi
+ \expandafter\futuredef \expandafter\p@first
+ \expandafter\^^a2\the\toks@}}
+% \end{macrocode}
+% \end{macro}
+% Ok, we rewrap the rest to be matched into~"\p@match", and the
+% replacement into~"\p@replace", after which we continue with~"\^^a3".
+% \begin{macrocode}
+\def\^^a2#1#{\p@match{#1}\afterassignment\^^a3\p@replace}
+% \end{macrocode}
+% The remaining substitutions we repack into~"\toks@". Now we need to
+% insert the matching opening brace for the closing one we put~before.
+% \begin{macrocode}
+\def\^^a3{\afterassignment\^^a4\toks@\expandafter{\iffalse}\fi}
+% \end{macrocode}
+% We now get the first (or next) token of the original macro.
+% \begin{macrocode}
+\def\^^a4{\futuredef\next\^^a5}
+% \end{macrocode}
+% If this token matches~"\p@first", we check the rest in~"\^^a6". We
+% collect in~"\toks@" all tokens matched so far (excluding "\p@first"),
+% so that we can
+% reinsert them if the match cannot be completed successfully. This~is
+% done in a~separate group. If~"\next" turns out to
+% be~"\@ndp@tch", however,
+% this is an~error indication. It~means that the end of patchable
+% material was reached. We call then~"\^^e1", which quits in that
+% case in a somewhat unusual (but relatively fast) way, reinserting
+% the gotten~"\@ndp@tch".
+%
+% It does not do any harm that "\next" is contained in conditional
+% context. Coming from~"\futuredef", it cannot be "\let" to an
+% unmatched conditional, and will correctly be~skipped.
+% \begin{macrocode}
+\def\^^a5{\ifx\next\p@first
+ \begingroup \toks@{}\expandafter\^^a6%
+ \else\ifx\next\@ndp@tch \^^e1\fi
+ \next \expandafter \^^a4%
+ \fi}
+% \end{macrocode}
+% In case of an error, we give the original macro (which has not yet
+% been patched). And at definition time, we will show how the macro
+% looks like afterwards.
+% \begin{macrocode}
+\def\^^e1{\let\^^a4\endgroup
+ \newlinechar`\^^J
+ \toks@\expandafter{\next@}%
+ \errorcontextlines\m@ne
+ \errhelp{I am ignoring inapplicable patches. Go on.}%
+ \errmessage{When trying to patch
+ \expandafter\string\^^e0, which was defined as^^J%
+ \expandafter\meaning\^^e0^^J%
+ the following patches remained inapplicable:^^J%
+ \the\toks@^^J%
+ I will show the results of the succeeded patches as soon^^J%
+ as I can without further comment, so do not be surprised.}%
+ \aftergroup\show \expandafter\aftergroup\^^e0%
+}
+% \end{macrocode}
+% Ok, we look whether there are any tokens remaining to be matched. If
+% there are not, replacement can go~forth. In~that case, we end our
+% local group, and go over to~"\^^ac". If~there are, we continue
+% with~"\^^a7".
+% \begin{macrocode}
+\def\^^a6{\edef\next{\the\p@match}%
+ \ifx\next\empty \endgroup\expandafter\^^ac%
+ \else \expandafter\^^a7\fi}
+% \end{macrocode}
+% We get the next token to be matched into~"\next@" from~"\p@match".
+% We~will have to adjust "\p@match" again with a token list
+% reassignment. For this we need to insert an unmatched closing brace
+% after its expansion, which will again be matched later.
+% \begin{macrocode}
+\def\^^a7{\iffalse{\fi
+ \expandafter\futuredef\expandafter\next@
+ \expandafter\^^a8\the\p@match}}
+% \end{macrocode}
+% Ok, here we gather the rest into~"\p@match" and~continue.
+% \begin{macrocode}
+\def\^^a8{\afterassignment\^^a9\p@match\expandafter{\iffalse}\fi}
+% \end{macrocode}
+% Now we get the next token from the original macro into~"\next".
+% \begin{macrocode}
+\def\^^a9{\futuredef\next\^^aa}
+% \end{macrocode}
+% In case of a match, we continue with~"\^^ab". Otherwise, if~we have
+% reached the illegal end of~macro ("\next" set to~"\@ndp@tch"),
+% we~stop.
+% If~we have no match legally, we reinsert~"\p@first", continue
+% scanning with~"\^^a4", reinserting everything matched with the help
+% of the "\futuredef" generated "\aftergroup"-sequence in~"\toks@".
+% This will hapen also if "\@ndp@tch" indicates something went
+% haywire, because "\@ndp@tch" cannot be in a~match sequence (if you
+% do not put it there, and you are not allowed to).
+% this we do also in the case of error, as you can easily see.
+% \begin{macrocode}
+\def\^^aa{\ifx\next@\next
+ \expandafter\^^ab%
+ \else \aftergroup\p@first
+ \aftergroup\^^a4%
+ \the\toks@\next\expandafter\endgroup\fi}
+% \end{macrocode}
+% We now have to append the "\aftergroup" sequence of the next matched
+% token in~"\next" to~"\toks@". After that, we can loop.
+% \begin{macrocode}
+\def\^^ab{\toks@\expandafter\expandafter\expandafter{%
+ \expandafter\the\expandafter\toks@\next}%
+ \^^a6}
+% \end{macrocode}
+% Ok, here follows the code if a~match {\em was\/} completed. We
+% insert the tokens of~"\p@replace". We~have to scan "\p@replace"
+% token by~token, so that implicit braces work like in the match
+% code sequences. We do this until "\p@replace" is exhausted. Which we
+% can detect by finding "\@ndp@tch".
+% \begin{macrocode}
+\def\^^ac{\expandafter\^^ad\the\p@replace\@ndp@tch}
+% \end{macrocode}
+% The following analysis loop is about as straight as it can get.
+% \begin{macrocode}
+\def\^^ad{\futuredef\next\^^ae}
+\def\^^ae{\ifx\next\@ndp@tch
+ \expandafter\p@check
+ \else
+ \next \expandafter\^^ad%
+ \fi}
+% \end{macrocode}
+% We end here by giving the driver file for the documentation, which
+% will typically be extracted using~"docstrip.sty".
+% \begin{macrocode}
+%<+driver>\documentstyle[doc]{article}
+%<+driver> \EnableCrossrefs
+%<+driver>% \DisableCrossrefs
+%<+driver>
+%<+driver> \CodelineIndex
+%<+driver>\begin{document}
+%<+driver> \DocInput{patch.doc}
+%<+driver>\end{document}
+% \end{macrocode}
+%\Finale
diff --git a/Master/texmf-dist/doc/plain/pdcmac/00readme.txt b/Master/texmf-dist/doc/plain/pdcmac/00readme.txt
new file mode 100644
index 00000000000..5739d05b91d
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/pdcmac/00readme.txt
@@ -0,0 +1,21 @@
+00readme.txt -*-text-*- Time-stamp: <pdc 1995-03-20>
+
+ PDCMAC, a collection of macros for plain TeX documents.
+ Release 1.0 -- Spring 1995
+
+This is collection of TeX definition files which may be useful for
+setting documents using plain TeX (as opposed to more complex formats
+like LaTeX). See "install.txt" for installation hints.
+
+This software may be used and distributed without fee under certain
+conditions. While I would like it to be useful, I cannot offer any
+guarantee or warranty. See "pdcguide.tex" for more information.
+
+Please send reports of problems, comments and suggestions to the address
+below. If you find pdcmac useful or amusing, please send me a pretty
+postcard.
+
+P. Damian Cugley * * * * * * * * * * * * * * * <damian.cugley@comlab.ox.ac.uk>
+Oxford University Computing Laboratory, Parks Road, Oxford OX1 3QD, UK
+Alleged Literature, c/o Damian Cugley, 255B Banbury Road, Oxford OX2 7HN, UK
+http://boothp1.ecs.ox.ac.uk:5705/people/pdc.html * My other computer is a Linux
diff --git a/Master/texmf-dist/doc/plain/pdcmac/copying.txt b/Master/texmf-dist/doc/plain/pdcmac/copying.txt
new file mode 100644
index 00000000000..87bc9146ac2
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/pdcmac/copying.txt
@@ -0,0 +1,358 @@
+ GNU GENERAL PUBLIC LICENSE
+ **************************
+
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 675 Mass Ave, Cambridge, MA 02139, USA
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+Preamble
+========
+
+ The licenses for most software are designed to take away your freedom
+to share and change it. By contrast, the GNU General Public License is
+intended to guarantee your freedom to share and change free software--to
+make sure the software is free for all its users. This General Public
+License applies to most of the Free Software Foundation's software and
+to any other program whose authors commit to using it. (Some other Free
+Software Foundation software is covered by the GNU Library General
+Public License instead.) You can apply it to your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it if
+you want it, that you can change the software or use pieces of it in new
+free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 1. This License applies to any program or other work which contains a
+ notice placed by the copyright holder saying it may be distributed
+ under the terms of this General Public License. The "Program",
+ below, refers to any such program or work, and a "work based on the
+ Program" means either the Program or any derivative work under
+ copyright law: that is to say, a work containing the Program or a
+ portion of it, either verbatim or with modifications and/or
+ translated into another language. (Hereinafter, translation is
+ included without limitation in the term "modification".) Each
+ licensee is addressed as "you".
+
+ Activities other than copying, distribution and modification are
+ not covered by this License; they are outside its scope. The act
+ of running the Program is not restricted, and the output from the
+ Program is covered only if its contents constitute a work based on
+ the Program (independent of having been made by running the
+ Program). Whether that is true depends on what the Program does.
+
+ 2. You may copy and distribute verbatim copies of the Program's source
+ code as you receive it, in any medium, provided that you
+ conspicuously and appropriately publish on each copy an appropriate
+ copyright notice and disclaimer of warranty; keep intact all the
+ notices that refer to this License and to the absence of any
+ warranty; and give any other recipients of the Program a copy of
+ this License along with the Program.
+
+ You may charge a fee for the physical act of transferring a copy,
+ and you may at your option offer warranty protection in exchange
+ for a fee.
+
+ 3. You may modify your copy or copies of the Program or any portion of
+ it, thus forming a work based on the Program, and copy and
+ distribute such modifications or work under the terms of Section 1
+ above, provided that you also meet all of these conditions:
+
+ a. You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b. You must cause any work that you distribute or publish, that
+ in whole or in part contains or is derived from the Program or
+ any part thereof, to be licensed as a whole at no charge to
+ all third parties under the terms of this License.
+
+ c. If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display
+ an announcement including an appropriate copyright notice and
+ a notice that there is no warranty (or else, saying that you
+ provide a warranty) and that users may redistribute the
+ program under these conditions, and telling the user how to
+ view a copy of this License. (Exception: if the Program
+ itself is interactive but does not normally print such an
+ announcement, your work based on the Program is not required
+ to print an announcement.)
+
+ These requirements apply to the modified work as a whole. If
+ identifiable sections of that work are not derived from the
+ Program, and can be reasonably considered independent and separate
+ works in themselves, then this License, and its terms, do not apply
+ to those sections when you distribute them as separate works. But
+ when you distribute the same sections as part of a whole which is a
+ work based on the Program, the distribution of the whole must be on
+ the terms of this License, whose permissions for other licensees
+ extend to the entire whole, and thus to each and every part
+ regardless of who wrote it.
+
+ Thus, it is not the intent of this section to claim rights or
+ contest your rights to work written entirely by you; rather, the
+ intent is to exercise the right to control the distribution of
+ derivative or collective works based on the Program.
+
+ In addition, mere aggregation of another work not based on the
+ Program with the Program (or with a work based on the Program) on a
+ volume of a storage or distribution medium does not bring the other
+ work under the scope of this License.
+
+ 4. You may copy and distribute the Program (or a work based on it,
+ under Section 2) in object code or executable form under the terms
+ of Sections 1 and 2 above provided that you also do one of the
+ following:
+
+ a. Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of
+ Sections 1 and 2 above on a medium customarily used for
+ software interchange; or,
+
+ b. Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a
+ medium customarily used for software interchange; or,
+
+ c. Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with
+ such an offer, in accord with Subsection b above.)
+
+ The source code for a work means the preferred form of the work for
+ making modifications to it. For an executable work, complete
+ source code means all the source code for all modules it contains,
+ plus any associated interface definition files, plus the scripts
+ used to control compilation and installation of the executable.
+ However, as a special exception, the source code distributed need
+ not include anything that is normally distributed (in either source
+ or binary form) with the major components (compiler, kernel, and so
+ on) of the operating system on which the executable runs, unless
+ that component itself accompanies the executable.
+
+ If distribution of executable or object code is made by offering
+ access to copy from a designated place, then offering equivalent
+ access to copy the source code from the same place counts as
+ distribution of the source code, even though third parties are not
+ compelled to copy the source along with the object code.
+
+ 5. You may not copy, modify, sublicense, or distribute the Program
+ except as expressly provided under this License. Any attempt
+ otherwise to copy, modify, sublicense or distribute the Program is
+ void, and will automatically terminate your rights under this
+ License. However, parties who have received copies, or rights,
+ from you under this License will not have their licenses terminated
+ so long as such parties remain in full compliance.
+
+ 6. You are not required to accept this License, since you have not
+ signed it. However, nothing else grants you permission to modify
+ or distribute the Program or its derivative works. These actions
+ are prohibited by law if you do not accept this License.
+ Therefore, by modifying or distributing the Program (or any work
+ based on the Program), you indicate your acceptance of this License
+ to do so, and all its terms and conditions for copying,
+ distributing or modifying the Program or works based on it.
+
+ 7. Each time you redistribute the Program (or any work based on the
+ Program), the recipient automatically receives a license from the
+ original licensor to copy, distribute or modify the Program subject
+ to these terms and conditions. You may not impose any further
+ restrictions on the recipients' exercise of the rights granted
+ herein. You are not responsible for enforcing compliance by third
+ parties to this License.
+
+ 8. If, as a consequence of a court judgment or allegation of patent
+ infringement or for any other reason (not limited to patent
+ issues), conditions are imposed on you (whether by court order,
+ agreement or otherwise) that contradict the conditions of this
+ License, they do not excuse you from the conditions of this
+ License. If you cannot distribute so as to satisfy simultaneously
+ your obligations under this License and any other pertinent
+ obligations, then as a consequence you may not distribute the
+ Program at all. For example, if a patent license would not permit
+ royalty-free redistribution of the Program by all those who receive
+ copies directly or indirectly through you, then the only way you
+ could satisfy both it and this License would be to refrain entirely
+ from distribution of the Program.
+
+ If any portion of this section is held invalid or unenforceable
+ under any particular circumstance, the balance of the section is
+ intended to apply and the section as a whole is intended to apply
+ in other circumstances.
+
+ It is not the purpose of this section to induce you to infringe any
+ patents or other property right claims or to contest validity of
+ any such claims; this section has the sole purpose of protecting
+ the integrity of the free software distribution system, which is
+ implemented by public license practices. Many people have made
+ generous contributions to the wide range of software distributed
+ through that system in reliance on consistent application of that
+ system; it is up to the author/donor to decide if he or she is
+ willing to distribute software through any other system and a
+ licensee cannot impose that choice.
+
+ This section is intended to make thoroughly clear what is believed
+ to be a consequence of the rest of this License.
+
+ 9. If the distribution and/or use of the Program is restricted in
+ certain countries either by patents or by copyrighted interfaces,
+ the original copyright holder who places the Program under this
+ License may add an explicit geographical distribution limitation
+ excluding those countries, so that distribution is permitted only
+ in or among countries not thus excluded. In such case, this
+ License incorporates the limitation as if written in the body of
+ this License.
+
+ 10. The Free Software Foundation may publish revised and/or new
+ versions of the General Public License from time to time. Such new
+ versions will be similar in spirit to the present version, but may
+ differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+ Program specifies a version number of this License which applies to
+ it and "any later version", you have the option of following the
+ terms and conditions either of that version or of any later version
+ published by the Free Software Foundation. If the Program does not
+ specify a version number of this License, you may choose any
+ version ever published by the Free Software Foundation.
+
+ 11. If you wish to incorporate parts of the Program into other free
+ programs whose distribution conditions are different, write to the
+ author to ask for permission. For software which is copyrighted by
+ the Free Software Foundation, write to the Free Software
+ Foundation; we sometimes make exceptions for this. Our decision
+ will be guided by the two goals of preserving the free status of
+ all derivatives of our free software and of promoting the sharing
+ and reuse of software generally.
+
+ NO WARRANTY
+
+ 12. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
+ WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
+ LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS
+ AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+ OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
+ PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
+ DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR
+ OR CORRECTION.
+
+ 13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+ WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
+ MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
+ LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
+ INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
+ INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+ DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
+ OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
+ OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+
+How to Apply These Terms to Your New Programs
+=============================================
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these
+terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
+ Copyright (C) 19YY NAME OF AUTHOR
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the
+appropriate parts of the General Public License. Of course, the
+commands you use may be called something other than `show w' and `show
+c'; they could even be mouse-clicks or menu items--whatever suits your
+program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ SIGNATURE OF TY COON, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications
+with the library. If this is what you want to do, use the GNU Library
+General Public License instead of this License.
+
diff --git a/Master/texmf-dist/doc/plain/pdcmac/install.txt b/Master/texmf-dist/doc/plain/pdcmac/install.txt
new file mode 100644
index 00000000000..51455322ef0
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/pdcmac/install.txt
@@ -0,0 +1,91 @@
+install.txt -*-text-*- Time-stamp: <pdc 1995-02-23>
+
+ INSTALLING PDCMAC
+
+1. GNERIC INSTALLATION
+
+ The file "contents.txt" gives a list of all the files (except
+ itself) with their sizes in bytes.
+
+ The macro files are packaged with their documentation in "dtx"
+ files (the LaTeX 2e distribution uses files with the same suffix
+ for a similar purpose).
+
+ You do not need Docstrip or LaTeX to unpack these files; all you
+ need is a copy of "pdccode.tex". Just run plain TeX on the
+ "dtx" files to generate the macro files and the printed
+ documentation all at the same time.
+
+ Then put the macro files somewhere where TeX can find them. For
+ systems with the new TeX Directory Structure this directory
+ might be "$texmf/tex/plain/pdcmac/"; for UNIXTeX 6.1 it might be
+ "$texmf/tex/plain/"; for older TeX it might be "$tex/inputs" or
+ "$tex/macros".
+
+ You may want to put the DVI files and the DTX files together in
+ a documentation directory if you have one. On TDS systems this
+ might be "$texmf/doc/pdcmac/".
+
+
+2. UNIX SYSTEMS
+
+ For the benefit of people on UNIX systems I can supply a
+ Makefile template and a configuration script. The conventions
+ for the config scriopt are based on the GNU Coding Standards.
+
+(1) Configuration. Run the command "./configure" (you may need to say
+ "sh configure"); this is a shell script that attempts to guess
+ sensible values for things like "texdir" (the directory to put
+ TeX macro files). It generates a shellscript "config.status"
+ which records the current configuration; running it recreates
+ the "Makefile".
+
+ The "configure" script understands the following options.
+ *You should not need to specify any of these.*
+
+ -n, -nocreate, --nocreate
+ Make "config.status" but don't run it to generate "Makefile".
+
+ -h, -help, --help
+ Print a summary of options.
+
+ -pDIR, -prefix DIR, --prefix=DIR
+ Set the "prefix" for directory names. FOr example, "-p/usr"
+ indcates that TeX files are under "/usr/texmf" or "/usr/tex" or
+ somesuch.
+
+ -sDIR, -srcdir DIR, --srcdir=DIR
+ Tell "configure" where the source files are. This is used when
+ building the package in a different directory. Normally even
+ in this case "configure" can guess the cirrect dierctory by
+ examining $0.
+
+ -tDIR, -texdir DIR, --texdir=DIR
+ Tell "configure" where TeX files are (this makes -p redundant).
+ For example "-t/usr/texmf".
+
+ -wtds, -with tds, --with-tds
+ Tell "configure" you have a new-style TeX Directory Structure.
+ Usually "configure" can guess correctly.
+
+ Other options are ignored.
+
+(2) Run "make". The makefile generated by "configure" is tested with
+ GNU "make". The makefile understands the following conventional
+ targets:
+
+ "make"
+ Generates all the "tex" macro files, and runs TeX on the other
+ documentation files.
+
+ "make install"
+ Copies the macro files into TeX's macros directory, and the DVI
+ files into the $docdir.
+
+ "make uninstall"
+ Deletes the files that would be created by "make install".
+
+ "make mostlyclean|clean|distclean|realclean"
+ Delete files made from source files. "mostlyclean" removes the
+ ones that are generated most often; "realclean" removes even
+ those that are rarely deleted.
diff --git a/Master/texmf-dist/doc/plain/pdcmac/news.txt b/Master/texmf-dist/doc/plain/pdcmac/news.txt
new file mode 100644
index 00000000000..79c7dc241d0
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/pdcmac/news.txt
@@ -0,0 +1,14 @@
+news.txt -*-text-*- Time-stamp: <pdc 1995-04-06>
+
+
+Changes to the PDCMAC package since Release 1.0
+
+* Support for Emacs tags added
+
+The shellscript "dtxtags" generates a tags file in the style of etags(1).
+
+* Bug fixes
+
+** Nested numbered lists will work beyond (e)
+** partial pages don't have spurious space added
+** Maamac.tex can be used on its own (it lacked a definition of \toksa)
diff --git a/Master/texmf-dist/doc/plain/pdcmac/oput01.eps b/Master/texmf-dist/doc/plain/pdcmac/oput01.eps
new file mode 100644
index 00000000000..78056236005
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/pdcmac/oput01.eps
@@ -0,0 +1,423 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: oput01.fig
+%%Creator: fig2dev
+%%CreationDate: Thu Apr 6 12:42:28 1995
+%%For: pdc@booth35.ecs (Damian Cugley,MC86,S.E.H.,N)
+%%BoundingBox: 0 0 424 499
+%%Pages: 1
+%%EndComments
+/mtrx matrix def
+/l {lineto} bind def
+/m {moveto} bind def
+/s {stroke} bind def
+/n {newpath} bind def
+/gs {gsave} bind def
+/gr {grestore} bind def
+/clp {closepath} bind def
+/graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+4 -2 roll mul setrgbcolor} bind def
+/col0 {0 0 0 setrgbcolor} bind def
+/col1 {0 0 1 setrgbcolor} bind def
+/col2 {0 1 0 setrgbcolor} bind def
+/col3 {0 1 1 setrgbcolor} bind def
+/col4 {1 0 0 setrgbcolor} bind def
+/col5 {1 0 1 setrgbcolor} bind def
+/col6 {1 1 0 setrgbcolor} bind def
+/col7 {1 1 1 setrgbcolor} bind def
+%%EndProlog
+
+%%Page: 1 1
+
+0 setlinecap 0 setlinejoin
+-8 27 translate
+0.0 499.0 translate 0.900 -0.900 scale
+0.500 setlinewidth
+% Polyline
+n 89 329 m 224 329 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 329 m 224 317 l 89 317 l 89 329 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 89 299 m 224 299 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 299 m 224 287 l 89 287 l 89 299 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 89 284 m 224 284 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 284 m 224 272 l 89 272 l 89 284 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 89 269 m 224 269 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 269 m 224 257 l 89 257 l 89 269 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 89 254 m 224 254 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 254 m 224 242 l 89 242 l 89 254 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 89 239 m 224 239 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 239 m 224 227 l 89 227 l 89 239 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 89 224 m 224 224 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 224 m 224 212 l 89 212 l 89 224 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 89 209 m 224 209 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 209 m 224 197 l 89 197 l 89 209 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 89 194 m 224 194 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 194 m 224 182 l 89 182 l 89 194 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 89 179 m 224 179 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 179 m 224 167 l 89 167 l 89 179 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 89 164 m 224 164 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 164 m 224 152 l 89 152 l 89 164 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 89 149 m 224 149 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 149 m 224 137 l 89 137 l 89 149 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 89 134 m 224 134 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 134 m 224 122 l 89 122 l 89 134 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 89 119 m 224 119 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 119 m 224 107 l 89 107 l 89 119 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 89 104 m 224 104 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 104 m 224 92 l 89 92 l 89 104 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 89 89 m 224 89 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 224 89 m 224 77 l 89 77 l 89 89 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 149 m 374 149 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 149 m 374 137 l 239 137 l 239 149 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 134 m 374 134 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 134 m 374 122 l 239 122 l 239 134 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 119 m 374 119 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 119 m 374 107 l 239 107 l 239 119 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 104 m 374 104 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 104 m 374 92 l 239 92 l 239 104 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 89 m 374 89 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 89 m 374 77 l 239 77 l 239 89 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 224 m 374 224 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 224 m 374 212 l 239 212 l 239 224 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 209 m 374 209 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 209 m 374 197 l 239 197 l 239 209 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 194 m 374 194 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 194 m 374 182 l 239 182 l 239 194 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 179 m 374 179 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 179 m 374 167 l 239 167 l 239 179 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 164 m 374 164 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 164 m 374 152 l 239 152 l 239 164 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 299 m 374 299 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 299 m 374 287 l 239 287 l 239 299 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 284 m 374 284 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 284 m 374 272 l 239 272 l 239 284 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 269 m 374 269 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 269 m 374 257 l 239 257 l 239 269 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 254 m 374 254 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 254 m 374 242 l 239 242 l 239 254 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 239 m 374 239 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 239 m 374 227 l 239 227 l 239 239 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 374 m 374 374 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 374 m 374 362 l 239 362 l 239 374 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 359 m 374 359 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 359 m 374 347 l 239 347 l 239 359 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 344 m 374 344 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 344 m 374 332 l 239 332 l 239 344 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 329 m 374 329 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 329 m 374 317 l 239 317 l 239 329 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 314 m 374 314 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 314 m 374 302 l 239 302 l 239 314 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 449 m 374 449 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 449 m 374 437 l 239 437 l 239 449 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 434 m 374 434 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 434 m 374 422 l 239 422 l 239 434 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 419 m 374 419 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 419 m 374 407 l 239 407 l 239 419 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 404 m 374 404 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 404 m 374 392 l 239 392 l 239 404 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 389 m 374 389 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 389 m 374 377 l 239 377 l 239 389 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 494 m 374 494 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 494 m 374 482 l 239 482 l 239 494 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 479 m 374 479 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 479 m 374 467 l 239 467 l 239 479 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 239 464 m 374 464 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 374 464 m 374 452 l 239 452 l 239 464 l
+ clp gs 0.85 setgray fill gr
+% Polyline
+n 449 59 m 449 47 l 89 47 l 89 59 l
+ clp gs 0.80 setgray fill gr
+% Polyline
+n 449 524 m 449 512 l 89 512 l 89 524 l
+ clp gs 0.80 setgray fill gr
+0.500 setlinewidth
+n 254 344 m 254 344 l gs s gr
+ [4.000000] 0 setdash
+% Polyline
+n 449 494 m 449 77 l 389 77 l 389 494 l
+ clp gs s gr
+ [] 0 setdash
+ [4.000000] 0 setdash
+% Polyline
+n 299 494 m 299 77 l 239 77 l 239 494 l
+ clp gs s gr
+ [] 0 setdash
+ [4.000000] 0 setdash
+% Polyline
+n 149 494 m 149 77 l 89 77 l 89 494 l
+ clp gs s gr
+ [] 0 setdash
+ [4.000000] 0 setdash
+% Polyline
+n 374 494 m 374 77 l 314 77 l 314 494 l
+ clp gs s gr
+ [] 0 setdash
+ [4.000000] 0 setdash
+% Polyline
+n 224 494 m 224 77 l 164 77 l 164 494 l
+ clp gs s gr
+ [] 0 setdash
+% Polyline
+n 308 569 m 317 581 l 320 581 l gs s gr
+1.000 setlinewidth
+% Polyline
+n 479 554 m 479 29 l 59 29 l 59 554 l
+ clp gs s gr
+% Polyline
+n 89 308 m 224 308 l gs s gr
+0.500 setlinewidth
+% Polyline
+n 89 59 m 449 59 l gs s gr
+% Polyline
+n 29 344 m 83 308 l gs s gr
+n 75.234 310.774 m 83.000 308.000 l 77.453 314.102 l gs 2 setlinejoin s gr
+% Polyline
+n 269 563 m 269 569 l 344 569 l 344 563 l gs s gr
+% Polyline
+n 89 524 m 449 524 l gs s gr
+/Times-Roman findfont 12.00 scalefont setfont
+113 326 m
+gs 1 -1 scale (caption) show gr
+/Times-Roman findfont 12.00 scalefont setfont
+146 215 m
+gs 1 -1 scale (column 0) show gr
+/Times-Roman findfont 12.00 scalefont setfont
+311 218 m
+gs 1 -1 scale (column 1) show gr
+/Times-Roman findfont 12.00 scalefont setfont
+275 53 m
+gs 1 -1 scale (headline) show gr
+/Times-Roman findfont 12.00 scalefont setfont
+359 515 m
+gs 1 -1 scale (footline) show gr
+/Times-Roman findfont 12.00 scalefont setfont
+323 584 m
+gs 1 -1 scale (grid cell) show gr
+/Times-Roman findfont 12.00 scalefont setfont
+8 371 m
+gs 1 -1 scale (separator) show gr
+/Times-Roman findfont 12.00 scalefont setfont
+8 359 m
+gs 1 -1 scale (caption) show gr
+/Times-Roman findfont 12.00 scalefont setfont
+104 419 m
+gs 1 -1 scale (illustration) show gr
+/Times-Roman findfont 12.00 scalefont setfont
+419 404 m
+gs 1 -1 scale 90.0 rotate (illustration) show gr
+showpage
diff --git a/Master/texmf-dist/doc/plain/pdcmac/oput02.eps b/Master/texmf-dist/doc/plain/pdcmac/oput02.eps
new file mode 100644
index 00000000000..b36b202cea1
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/pdcmac/oput02.eps
@@ -0,0 +1,404 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: oput02.fig
+%%Creator: fig2dev
+%%CreationDate: Thu Apr 6 12:42:30 1995
+%%For: pdc@booth35.ecs (Damian Cugley,MC86,S.E.H.,N)
+%%BoundingBox: 0 0 443 499
+%%Pages: 1
+%%EndComments
+/mtrx matrix def
+/l {lineto} bind def
+/m {moveto} bind def
+/s {stroke} bind def
+/n {newpath} bind def
+/gs {gsave} bind def
+/gr {grestore} bind def
+/clp {closepath} bind def
+/graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+4 -2 roll mul setrgbcolor} bind def
+/col0 {0 0 0 setrgbcolor} bind def
+/col1 {0 0 1 setrgbcolor} bind def
+/col2 {0 1 0 setrgbcolor} bind def
+/col3 {0 1 1 setrgbcolor} bind def
+/col4 {1 0 0 setrgbcolor} bind def
+/col5 {1 0 1 setrgbcolor} bind def
+/col6 {1 1 0 setrgbcolor} bind def
+/col7 {1 1 1 setrgbcolor} bind def
+%%EndProlog
+
+%%Page: 1 1
+
+0 setlinecap 0 setlinejoin
+-54 27 translate
+0.0 499.0 translate 0.900 -0.900 scale
+0.000 setlinewidth
+% Polyline
+n 254 329 m 254 317 l 179 317 l 179 329 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 179 329 m 254 329 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 254 344 m 254 332 l 179 332 l 179 344 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 179 344 m 254 344 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 254 299 m 254 287 l 179 287 l 179 299 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 179 299 m 254 299 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 254 284 m 254 272 l 179 272 l 179 284 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 179 284 m 254 284 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 254 269 m 254 257 l 179 257 l 179 269 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 179 269 m 254 269 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 254 254 m 254 242 l 179 242 l 179 254 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 179 254 m 254 254 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 254 239 m 254 227 l 179 227 l 179 239 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 179 239 m 254 239 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 254 224 m 254 212 l 179 212 l 179 224 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 179 224 m 254 224 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 254 209 m 254 197 l 179 197 l 179 209 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 179 209 m 254 209 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 254 194 m 254 182 l 179 182 l 179 194 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 179 194 m 254 194 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 254 179 m 254 167 l 179 167 l 179 179 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 179 179 m 254 179 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 344 359 m 344 347 l 269 347 l 269 359 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 269 359 m 344 359 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 344 329 m 344 317 l 269 317 l 269 329 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 269 329 m 344 329 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 344 344 m 344 332 l 269 332 l 269 344 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 269 344 m 344 344 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 344 299 m 344 287 l 269 287 l 269 299 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 269 299 m 344 299 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 344 284 m 344 272 l 269 272 l 269 284 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 269 284 m 344 284 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 344 269 m 344 257 l 269 257 l 269 269 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 269 269 m 344 269 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 344 254 m 344 242 l 269 242 l 269 254 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 269 254 m 344 254 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 344 239 m 344 227 l 269 227 l 269 239 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 269 239 m 344 239 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 344 224 m 344 212 l 269 212 l 269 224 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 269 224 m 344 224 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 344 209 m 344 197 l 269 197 l 269 209 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 269 209 m 344 209 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 344 194 m 344 182 l 269 182 l 269 194 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 269 194 m 344 194 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 344 179 m 344 167 l 269 167 l 269 179 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 269 179 m 344 179 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 344 374 m 344 362 l 269 362 l 269 374 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 269 374 m 344 374 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 344 389 m 344 377 l 269 377 l 269 389 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 269 389 m 344 389 l gs s gr
+0.000 setlinewidth
+% Polyline
+n 344 314 m 344 302 l 269 302 l 269 314 l
+ clp gs 0.85 setgray fill gr
+0.500 setlinewidth
+% Polyline
+n 269 314 m 344 314 l gs s gr
+% Polyline
+n 254 389 m 254 164 l 179 164 l 179 389 l
+ clp gs s gr
+ [4.000000] 0 setdash
+% Polyline
+n 164 389 m 164 164 l 89 164 l 89 389 l
+ clp gs s gr
+ [] 0 setdash
+% Polyline
+n 344 389 m 344 164 l 269 164 l 269 389 l
+ clp gs s gr
+ [4.000000] 0 setdash
+% Polyline
+n 434 164 m 434 74 l 89 74 l 89 164 l
+ clp gs s gr
+ [] 0 setdash
+0.000 setlinewidth
+% Polyline
+n 434 59 m 434 47 l 89 47 l 89 59 l
+ clp gs 0.80 setgray fill gr
+% Polyline
+n 434 524 m 434 512 l 89 512 l 89 524 l
+ clp gs 0.80 setgray fill gr
+0.500 setlinewidth
+ [4.000000] 0 setdash
+% Polyline
+n 434 389 m 434 164 l 359 164 l 359 389 l
+ clp gs s gr
+ [] 0 setdash
+n 97.000 571.000 m 89.000 569.000 l 97.000 567.000 l gs 2 setlinejoin s gr
+% Polyline
+n 89 569 m 434 569 l gs s gr
+n 426.000 567.000 m 434.000 569.000 l 426.000 571.000 l gs 2 setlinejoin s gr
+n 522.000 502.000 m 524.000 494.000 l 526.000 502.000 l gs 2 setlinejoin s gr
+% Polyline
+n 524 494 m 524 554 l gs s gr
+n 526.000 546.000 m 524.000 554.000 l 522.000 546.000 l gs 2 setlinejoin s gr
+n 537.000 37.000 m 539.000 29.000 l 541.000 37.000 l gs 2 setlinejoin s gr
+% Polyline
+n 539 29 m 539 554 l gs s gr
+n 541.000 546.000 m 539.000 554.000 l 537.000 546.000 l gs 2 setlinejoin s gr
+n 67.000 586.000 m 59.000 584.000 l 67.000 582.000 l gs 2 setlinejoin s gr
+% Polyline
+n 59 584 m 479 584 l gs s gr
+n 471.000 582.000 m 479.000 584.000 l 471.000 586.000 l gs 2 setlinejoin s gr
+n 522.000 37.000 m 524.000 29.000 l 526.000 37.000 l gs 2 setlinejoin s gr
+% Polyline
+n 524 29 m 524 74 l gs s gr
+n 526.000 66.000 m 524.000 74.000 l 522.000 66.000 l gs 2 setlinejoin s gr
+ [4.000000] 0 setdash
+% Polyline
+n 425 89 m 515 89 l gs s gr
+ [] 0 setdash
+% Polyline
+n 449 59 m 449 74 l gs s gr
+n 451.000 66.000 m 449.000 74.000 l 447.000 66.000 l gs 2 setlinejoin s gr
+% Polyline
+n 449 104 m 449 89 l gs s gr
+n 447.000 97.000 m 449.000 89.000 l 451.000 97.000 l gs 2 setlinejoin s gr
+% Polyline
+n 329 158 m 344 158 l gs s gr
+n 336.000 156.000 m 344.000 158.000 l 336.000 160.000 l gs 2 setlinejoin s gr
+% Polyline
+n 374 158 m 359 158 l gs s gr
+n 367.000 160.000 m 359.000 158.000 l 367.000 156.000 l gs 2 setlinejoin s gr
+n 507.000 67.000 m 509.000 59.000 l 511.000 67.000 l gs 2 setlinejoin s gr
+% Polyline
+n 509 59 m 509 89 l gs s gr
+n 511.000 81.000 m 509.000 89.000 l 507.000 81.000 l gs 2 setlinejoin s gr
+n 492.000 502.000 m 494.000 494.000 l 496.000 502.000 l gs 2 setlinejoin s gr
+% Polyline
+n 494 494 m 494 527 l gs s gr
+n 496.000 519.000 m 494.000 527.000 l 492.000 519.000 l gs 2 setlinejoin s gr
+ [4.000000] 0 setdash
+% Polyline
+n 431 59 m 515 59 l gs s gr
+ [] 0 setdash
+n 492.000 82.000 m 494.000 74.000 l 496.000 82.000 l gs 2 setlinejoin s gr
+% Polyline
+n 494 74 m 494 494 l gs s gr
+n 496.000 486.000 m 494.000 494.000 l 492.000 486.000 l gs 2 setlinejoin s gr
+% Polyline
+n 89 524 m 434 524 l gs s gr
+% Polyline
+n 89 59 m 434 59 l gs s gr
+1.000 setlinewidth
+% Polyline
+n 479 554 m 479 29 l 59 29 l 59 554 l
+ clp gs s gr
+0.500 setlinewidth
+% Polyline
+n 155 284 m 155 299 l gs s gr
+n 157.000 291.000 m 155.000 299.000 l 153.000 291.000 l gs 2 setlinejoin s gr
+% Polyline
+n 155 329 m 155 314 l gs s gr
+n 153.000 322.000 m 155.000 314.000 l 157.000 322.000 l gs 2 setlinejoin s gr
+n 187.000 160.000 m 179.000 158.000 l 187.000 156.000 l gs 2 setlinejoin s gr
+% Polyline
+n 179 158 m 254 158 l gs s gr
+n 246.000 156.000 m 254.000 158.000 l 246.000 160.000 l gs 2 setlinejoin s gr
+n 363.000 172.000 m 365.000 164.000 l 367.000 172.000 l gs 2 setlinejoin s gr
+% Polyline
+n 365 164 m 365 389 l gs s gr
+n 367.000 381.000 m 365.000 389.000 l 363.000 381.000 l gs 2 setlinejoin s gr
+1.000 setlinewidth
+% Polyline
+n 170 164 m 170 389 l gs s gr
+% Polyline
+n 179 308 m 254 308 l gs s gr
+% Polyline
+n 260 164 m 260 389 l gs s gr
+% Polyline
+n 350 164 m 350 389 l gs s gr
+0.500 setlinewidth
+ [4.000000] 0 setdash
+% Polyline
+n 89 389 m 89 494 l 434 494 l 434 389 l
+ clp gs s gr
+ [] 0 setdash
+/Times-Italic findfont 10.00 scalefont setfont
+269 566 m
+gs 1 -1 scale (bodywd) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+269 581 m
+gs 1 -1 scale (paperwd) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+521 524 m
+gs 1 -1 scale 90.0 rotate (botmg) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+491 509 m
+gs 1 -1 scale 90.0 rotate (footlineskip) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+491 284 m
+gs 1 -1 scale 90.0 rotate (bodyht) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+536 284 m
+gs 1 -1 scale 90.0 rotate (paperht) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+506 74 m
+gs 1 -1 scale 90.0 rotate (headlineskip) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+521 53 m
+gs 1 -1 scale 90.0 rotate (topmg) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+449 86 m
+gs 1 -1 scale (topskip) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+350 155 m
+gs 1 -1 scale (colsep) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+269 119 m
+gs 1 -1 scale (topbox) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+269 464 m
+gs 1 -1 scale (botbox) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+269 518 m
+gs 1 -1 scale (footline) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+254 56 m
+gs 1 -1 scale (headline) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+218 266 m
+gs 1 -1 scale (column 0) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+305 266 m
+gs 1 -1 scale (column 1) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+125 221 m
+gs 1 -1 scale (leftbox) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+218 338 m
+gs 1 -1 scale (caption) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+215 374 m
+gs 1 -1 scale (illo) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+215 152 m
+gs 1 -1 scale (colwd) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+374 284 m
+gs 1 -1 scale 90.0 rotate (colht) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+407 251 m
+gs 1 -1 scale (rightbox) dup stringwidth pop 2 div neg 0 rmoveto show gr
+/Times-Italic findfont 10.00 scalefont setfont
+152 308 m
+gs 1 -1 scale 90.0 rotate (capsep) dup stringwidth pop 2 div neg 0 rmoveto show gr
+showpage
diff --git a/Master/texmf-dist/doc/plain/pdcmac/version.txt b/Master/texmf-dist/doc/plain/pdcmac/version.txt
new file mode 100644
index 00000000000..bb3870108d0
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/pdcmac/version.txt
@@ -0,0 +1,19 @@
+* pdcmac release 1.0, patch level 01 *
+Version ID list generated 1995-04-06
+
+maamac.dtx = 1.5 1995/04/06 13:33:44 pdc Exp
+magrmac.dtx = 1.3 1995/03/29 16:32:24 pdc Exp
+pdcadobe.dtx = 1.3 1995/03/30 16:07:31 pdc Exp
+pdccode.dtx = 1.6 1995/03/30 16:08:32 pdc Exp
+pdcfmt2.dtx = 2.4 1995/04/06 11:55:16 pdc Exp
+pdcfsel.dtx = 3.5 1995/03/28 19:05:54 pdc Exp
+pdcl1maa.dtx = 1.3 1995/03/30 16:09:52 pdc Exp
+pdcmisc.dtx = 1.4 1995/03/30 16:13:08 pdc Exp
+pdcoput5.dtx = 5.3 1995/04/06 11:51:03 pdc Exp
+pdcsty.dtx = 1.2 1995/03/30 16:12:17 pdc Exp
+
+configure = 1.0 Time-stamp: <pdc 1995-03-24>
+dtxtags = 1.1 Time-stamp: <pdc 1995-04-06>
+fig2epsf = 1.0 Time-stamp: <pdc 1995-03-24>
+pinstall = 1.1 Time-stamp: <pdc 1995-03-24>
+pmkdir = 1.0 Time-stamp: <pdc 1995-03-27>
diff --git a/Master/texmf-dist/doc/plain/plgraph/00readme.txt b/Master/texmf-dist/doc/plain/plgraph/00readme.txt
new file mode 100644
index 00000000000..ccabe9f77ca
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/plgraph/00readme.txt
@@ -0,0 +1,105 @@
+
+Graphics code for non-LaTeX users.
+==================================
+
+This directory provides a small wrapper file such that users of
+formats based on plain TeX may make use of some of the parts of the
+standard LaTeX distribution.
+
+These files are *NOT* supported by the LaTeX3 project, and any
+problems with them should *NOT* be reported to the LaTeX bugs system.
+
+Currently problems may be reported to me, david@dcarlisle.demon.co.uk
+although as I only ever use LaTeX for documents, these files have not
+been extensively tested. If some plain TeX user wants to `adopt' them
+and take over their support then they are welcome to it:-)
+
+David Carlisle 1995/01/29
+ 1996/11/13
+
+Copyright 1995 1996 David Carlisle
+
+ All the files in this directory may be redistributed and/or modified
+ under the terms of the LaTeX Project Public License distributed from
+ CTAN archives in directory macros/latex/base/lppl.txt; either
+ version 1 of the License, or (at your option) any later version.
+
+
+
+This directory contains
+
+00readme.txt This file.
+
+exmplpic.tex
+ A plain TeX document using LaTeX' `picture mode': a portable
+ means of producing simple diagrams.
+
+exmplgrf.tex
+ A plain TeX document using the LaTeX graphicx package, for
+ rotating and scaling text, and include PostScript and other
+ graphics formats. (This will include the file a.ps available
+ in the LaTeX graphics distribution.)
+
+exmplcol.tex
+ A plain TeX document using the LaTeX color package, for
+ producing colour.
+
+exmplpfg.tex
+ A plain TeX document using the contributed LaTeX psfrag package,
+ for including PostScript documents, while replacing certain text
+ strings with TeX typeset replacements. This uses the example.eps
+ figure from the psfrag 3.0 distribution.
+
+miniltx.tex
+ A small `miniLaTeX' that defines fakes or otherwise hacks
+ sufficient bits of LaTeX internals so that the packages can load.
+
+picture.tex
+ The user interface to the picture environment.
+ \input picture.
+ Normally a plain-style syntax is used, viz
+ \picture(100,100)
+ ....
+ \endpicture
+
+ However if the command \LaTeXbegin is issued, then a LaTeX
+ syntax of
+ \begin{picture}(100,100)
+ ....
+ \end{picture}
+ May be used. this may be prefered if the picture is being copied
+ from a LaTeX document, or if it is produced automatically from
+ a drawing tool such as xfig or texcad.
+
+autopict.ins
+ picture.tex requires the use of the Standard LaTeX file
+ autopict.sty. To generate this, either run the autoload.ins
+ install file in the main LaTeX distribution, which will make
+ autopict.sty along with some other files (not needed here) or
+ alternatively just obtain obtain ltpictur.dtx and docstrip.tex
+ from the LaTeX distribution, and TeX the file autopict.ins that
+ is included in this distribution.
+
+
+graphicx.tex
+ The user interface to the graphicx package.
+ \input graphicx
+ See the documentation in grfguide.ps in the LaTeX graphics
+ distribution.
+ This file sets the driver to be dvips. If you
+ use another driver, edit accordingly.
+
+color.tex
+ The user interface to the color package.
+ \input color
+ See the documentation in grfguide.ps in the LaTeX graphics
+ distribution.
+ This file sets the driver to be dvips. If you
+ use another driver, edit accordingly.
+
+
+psfrag.tex
+ The user interface to the psfrag package.
+ \input psfrag
+ See the documentation in pfgguide.tex in the psfrag distribution,
+ and the example document pfgexmpl.tex included here. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/plain/plgraph/autopict.ins b/Master/texmf-dist/doc/plain/plgraph/autopict.ins
new file mode 100644
index 00000000000..f6cc2fc7814
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/plgraph/autopict.ins
@@ -0,0 +1,102 @@
+%%
+%% docstrip install file for autopict.sty (only)
+%% based on autoload.ins in the LaTeX distribution.
+
+%%
+\def\batchfile{autopict.ins}
+\input docstrip
+
+\let\interactive\relax
+
+{\ifx\generate\undefined
+\Msg{**********************************************}
+\Msg{*}
+\Msg{* This installation requires docstrip}
+\Msg{* version 2.3c or later.}
+\Msg{*}
+\Msg{* An older version of docstrip has been input}
+\Msg{*}
+\Msg{**********************************************}
+\errhelp{Move or rename old docstrip.tex.}
+\errmessage{Old docstrip in input path}
+\batchmode
+\csname @@end\endcsname
+\fi}
+
+\keepsilent
+\declarepreamble\mainpreamble
+
+This is a generated file.
+
+Copyright 1993 1994 1995 1996
+The LaTeX3 Project and any individual authors listed elsewhere
+in this file.
+
+For further copyright information, and conditions for modification
+and distribution, see the file legal.txt, and any other copyright
+notices in this file.
+
+This file is part of the LaTeX2e system.
+----------------------------------------
+ This system is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ For error reports concerning UNCHANGED versions of this file no
+ more than one year old, see bugs.txt.
+
+ Please do not request updates from us directly. Primary
+ distribution is through the CTAN archives.
+
+
+IMPORTANT COPYRIGHT NOTICE:
+
+You are NOT ALLOWED to distribute this file alone.
+
+You are allowed to distribute this file under the condition that it
+is distributed together with all the files listed in manifest.txt.
+
+If you receive only some of these files from someone, complain!
+
+
+Permission is granted to copy this file to another file with a
+clearly different name and to customize the declarations in that
+copy to serve the needs of your installation, provided that you
+comply with the conditions in the file legal.txt.
+
+However, NO PERMISSION is granted to generate or to distribute a
+modified version of this file under its original name.
+
+You are NOT ALLOWED to change this file.
+
+
+MODIFICATION ADVICE:
+
+If you want to customize this file, it is best to make a copy of
+the source file(s) from which it was produced. Use a different
+name for your copy(ies) and modify the copy(ies); this will ensure
+that your modifications do not get overwritten when you install a
+new release of the standard system. You should also ensure that
+your modified source file does not generate any modified file with
+the same name as a standard file.
+
+You can then easily distribute your modifications by distributing
+the modified and renamed copy of the source file, taking care to
+observe the conditions in legal.txt; this will ensure that other
+users can safely use your modifications.
+
+You will also need to produce your own, suitably named, .ins file to
+control the generation of files from your source file; this file
+should contain your own preambles for the files it generates, not
+those in the standard .ins files.
+
+The names of the source files used are shown above.
+
+
+
+\endpreamble
+\usepreamble\mainpreamble
+
+\generate{\file{autopict.sty}{\from{ltpictur.dtx}{def}}}
+
+
diff --git a/Master/texmf-dist/doc/plain/plgraph/exmplcol.tex b/Master/texmf-dist/doc/plain/plgraph/exmplcol.tex
new file mode 100644
index 00000000000..0442ed9a404
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/plgraph/exmplcol.tex
@@ -0,0 +1,6 @@
+
+\input color
+
+a \textcolor{red}{bbb} \colorbox{green}{one two}
+
+\bye
diff --git a/Master/texmf-dist/doc/plain/plgraph/exmplgrf.tex b/Master/texmf-dist/doc/plain/plgraph/exmplgrf.tex
new file mode 100644
index 00000000000..d1a51b8ef10
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/plgraph/exmplgrf.tex
@@ -0,0 +1,10 @@
+
+\input graphicx
+
+\includegraphics{a}
+
+\includegraphics[scale=2]{a}
+
+hello\rotatebox[origin=c]{180}{hello}hello
+
+\bye
diff --git a/Master/texmf-dist/doc/plain/plgraph/exmplpfg.tex b/Master/texmf-dist/doc/plain/plgraph/exmplpfg.tex
new file mode 100644
index 00000000000..0026cd0ee68
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/plgraph/exmplpfg.tex
@@ -0,0 +1,17 @@
+
+\input psfrag
+
+First without psfrag:
+
+ \includegraphics[width=3.5in]{example.eps}
+
+and now with:
+
+ \psfragscanon
+ \psfrag{p1}[][l]{$\ast$}
+ \psfrag{p2}[][l]{$\ast$}
+ \psfrag{p3}{$\cos(t)$}
+ \includegraphics[width=3.5in]{example.eps}
+
+
+\bye
diff --git a/Master/texmf-dist/doc/plain/plgraph/exmplpic.tex b/Master/texmf-dist/doc/plain/plgraph/exmplpic.tex
new file mode 100644
index 00000000000..cb8852123be
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/plgraph/exmplpic.tex
@@ -0,0 +1,15 @@
+\input picture
+
+\picture(100,100)
+\put(0,0){\line(1,1){50}}
+\endpicture
+
+\LaTeXbegin
+
+\begin{picture}(40,40)
+\put(0,0){\vector(1,1){40}}
+\multiput(0,5)(10,10){4}{a}
+\end{picture}
+
+\bye
+
diff --git a/Master/texmf-dist/doc/plain/plnfss/LPPL.txt b/Master/texmf-dist/doc/plain/plnfss/LPPL.txt
new file mode 100644
index 00000000000..bfe13a27b8b
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/plnfss/LPPL.txt
@@ -0,0 +1,405 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3a 2004-10-01
+
+Copyright 1999 2002-04 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+you may use it with small modifications even if your work is unrelated
+to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ "LaTeX-Format".
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete, unmodified
+ copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do
+not apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under this license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for
+a particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you
+assume the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of
+the Work, or any other party who may distribute and/or modify the Work
+as permitted above, be liable to you for damages, including any
+general, special, incidental or consequential damages arising out of
+any use of the Work or out of inability to use the Work (including,
+but not limited to, loss of data, data being rendered inaccurate, or
+losses sustained by anyone as a result of any failure of the Work to
+operate with any other programs), even if the Copyright Holder or said
+author or said other party has been advised of the possibility of such
+damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2003 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2003/12/01 or later.
+ %
+ % This work has the LPPL maintenance status "maintained".
+ %
+ % This Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any "LaTeX-Format", and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change "maintained" above into "author-maintained".
+However, we recommend that you use "maintained" as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
+
diff --git a/Master/texmf-dist/doc/plain/plnfss/plnfss.txt b/Master/texmf-dist/doc/plain/plnfss/plnfss.txt
new file mode 100644
index 00000000000..1f60345b574
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/plnfss/plnfss.txt
@@ -0,0 +1,132 @@
+plnfss-1.1
+
+Copyright 2003-2005 Han The Thanh <hanthethanh@gmx.net>.
+This file is part of plnfss. License: LPPL, version 1.3 or newer,
+according to http://www.latex-project.org/lppl.txt
+
+
+Description
+===========
+plnfss is a set of macros to provide easy font access (somewhat similar to
+NFSS but with some limitations) with plain tex.
+
+plnfss can automatically make use of PSNFSS fd files, ie. when a postscript
+font is used the relevant fd file will be loaded automatically.
+For cmr-like fonts (ec, vnr, csr or plr fonts), a special format called pfd
+(plain fd) is required and must be loaded manually.
+
+
+Authors
+=======
+The authors of plnfss are
+
+ Han The Thanh <HanTheThanh@gmx.net> and
+ Michal Konecny <mik@konecny.aow.cz>.
+
+
+License
+=======
+All files are under LPPL, version 1.3 or newer.
+
+See
+ http://www.latex-project.org/lppl.txt
+
+
+Support
+=======
+The current maintainer is
+
+ Reinhard Kotucha <Reinhard.Kotucha@web.de>
+
+
+Recent Changes
+==============
+The current version contains
+
+ * Copyright messages in all files,
+
+ * a bugfix provided by Hartmut Henkel to avoid spurious white spaces,
+
+ * additional .pfd files.
+
+
+Installation
+============
+plnfss.zip is supposed to be extracted in the root of a TDS compliant
+texmf tree. In most cases texmf-local is an appropriate place.
+
+On web2c based systems you have to update the file database. Read the
+documentation of the TeX system you are using for details.
+
+-------------------------
+You only need plnfss.zip.
+-------------------------
+
+
+Usage Example
+=============
+______________________________________________________________________
+\input plnfss
+\input ot1cm.pfd % plain font description file for CM fonts
+
+\setfontsize{12pt} % set the default font size to 12pt
+\selectfont % activate the font with requested attributes
+
+%% default attributes:
+% \setfontencoding{OT1}
+% \setfontfamily{cmr}
+% \setfontseries{m}
+% \setfontshape{n}
+% \setfontsize{10pt}
+% \setrmdefault{cmr}
+% \setttdefault{cmtt}
+% \setsfdefault{cmss}
+
+...
+some text and some \textit{italic} and some {\bfseries bold}.
+
+\usefont{OT1}{ptm}{m}{n} % switch to Times; the fd file ot1ptm.fd will
+ % be loaded automatically
+...
+______________________________________________________________________
+
+
+Supported Encodings
+===================
+The following encoding files are provided:
+
+ ams.pfd
+ il2cm.pfd
+ ly1lm.pfd
+ ot1cm.pfd
+ ot4cm.pfd
+ qxlm.pfd
+ t1lm.pfd
+ t5cm.pfd
+ t5lm.pfd
+ ts1lm.pfd
+
+Using the files
+
+ il2cmr.pfd
+ ot1cmr.pfd
+ t5cmr.pfd
+
+is deprecated, they are provided for backward compatibility only.
+
+
+Supported Commands
+==================
+\rmfamily \sffamily \ttfamily \mdseries
+\bfseries \upshape \itshape \slshape \scshape
+\normalfont
+\textrm \textsf \texttt \textmd \textbf \textup \textit \textsl \textsc
+\rm \sf \tt \md \bf \up \it \sl \sc
+
+
+What is missing?
+================
+- size commands: \large, \huge etc. Use \fontsize{20pt} instead.
+- scaling
+- math support is poor
+
diff --git a/Master/texmf-dist/doc/plain/plnfss/test-plnfss.tex b/Master/texmf-dist/doc/plain/plnfss/test-plnfss.tex
new file mode 100644
index 00000000000..9edcfa22a76
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/plnfss/test-plnfss.tex
@@ -0,0 +1,40 @@
+% plnfss-1.1
+
+% Copyright 2003-2005 Han The Thanh <hanthethanh@gmx.net>.
+% This file is part of plnfss. License: LPPL, version 1.3 or newer,
+% according to http://www.latex-project.org/lppl.txt
+
+\input plnfss
+\input ot1cm.pfd
+
+\def\testfontdecl#1#2{%
+ \expandafter\setfont#1/10pt/%
+ \leftline{%
+ \hbox to 4cm{\setfont OT1/cmtt/m/n/10pt/#1\hss}%
+ The quick brown fox jumps over a lazy dog
+ }
+ \smallskip
+}
+
+\def\testpfd#1{{%
+ \centerline{\setfont OT1/cmr/m/n/15pt/Test of \texttt{#1}}
+ \bigskip
+ \input #1
+ \let\DeclareFont=\testfontdecl
+ \input #1
+ \vfil\eject
+}}
+
+\testpfd{il2cm.pfd}
+\testpfd{ly1lm.pfd}
+\testpfd{ot1cm.pfd}
+\testpfd{ot4cm.pfd}
+\testpfd{qxlm.pfd}
+\testpfd{t1lm.pfd}
+\testpfd{t5cm.pfd}
+\testpfd{t5lm.pfd}
+
+% \testpfd{ot1cmr.pfd}
+% \testpfd{t5cmr.pfd}
+% \testpfd{ams.pfd}
+\bye
diff --git a/Master/texmf-dist/doc/plain/treetex/epodd.bbl b/Master/texmf-dist/doc/plain/treetex/epodd.bbl
new file mode 100644
index 00000000000..0d07cfe5fb8
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/treetex/epodd.bbl
@@ -0,0 +1,107 @@
+\begin{thebibliography}{10}
+
+\bibitem{BaezaTrees}
+R.~A. Baeza-Yates.
+\newblock On embedding a binary tree on a hypercube.
+\newblock Submitted for publication, November 1988.
+
+\bibitem{Tables}
+R.~J. Beach.
+\newblock {\em Setting Tables and Illustrations with Style}.
+\newblock PhD thesis, University of Waterloo, 1985.
+
+\bibitem{Karlsruhe}
+A.~Br{\"u}ggemann-Klein, P.~Dolland, and A.~Heinz.
+\newblock How to please authors and publishers: A versatile document
+ preparation system at {K}arlsruhe.
+\newblock In J.~D\'esarm\'enien, editor, {\em {\TeX{}} for Scientific
+ Documentation}, pages 8--31, Strasbourg, France, June 1986.
+\newblock Springer-Verlag Lecture Notes in Computer Science~236.
+
+\bibitem{Exeter}
+A.~Br{\"u}ggemann-Klein and D.~Wood.
+\newblock Drawing trees nicely with {\TeX}.
+\newblock In M.~Clark, editor, {\em Proceedings of the Third European
+ \TeX{}-Conference}, Exeter, England, July 1988.
+\newblock To appear.
+
+\bibitem{BinarySearchTrees}
+L.~Devroye.
+\newblock A note on the height of binary search trees.
+\newblock {\em Journal of the ACM}, 33(3):489--498, July 1986.
+
+\bibitem{BinaryTrees}
+Ph. Flajolet and A.~Odlyzko.
+\newblock The average height of binary trees and other simple trees.
+\newblock {\em Journal of Computer and System Sciences}, 25:171--213, 1982.
+
+\bibitem{DocumentFormatting}
+R.~Furuta, J.~Scofield, and A.~Shaw.
+\newblock Document formatting systems: Surveys, concepts, issues.
+\newblock {\em Computing Surveys}, 14(3):417--472, 1982.
+
+\bibitem{GML}
+Ch.~F. Goldfarb.
+\newblock A generalized approach to document markup.
+\newblock {\em SIGPLAN Notices of the ACM}, 16(6):68--73, June 1981.
+
+\bibitem{KWIFIP}
+R.~Klein and D.~Wood.
+\newblock On binary trees.
+\newblock In G.~Ritter, editor, {\em Proceedings of the 11th World Computer
+ Congress}, San Francisco, USA, 1989.
+\newblock To appear.
+
+\bibitem{ACP}
+D.~E. Knuth.
+\newblock {\em Fundamental Algorithms}, volume~1 of {\em The Art of Computer
+ Programming}.
+\newblock Addison-Wesley, Reading, Massachusetts, 1973.
+
+\bibitem{TeXbook}
+D.~E. Knuth.
+\newblock {\em The {\TeX{}}book}, volume~A of {\em Computers \& Typesetting}.
+\newblock Addison-Wesley, Reading, Massachusetts, 1986.
+
+\bibitem{LaTeX}
+L.~Lamport.
+\newblock {\em {\LaTeX}, User's Guide \& Reference Manual}.
+\newblock Addison-Wesley, Reading, Massachusetts, 1986.
+
+\bibitem{OAPD}
+Th. Ottmann and P.~Widmayer.
+\newblock {\em Algorithmen und Datenstrukturen}.
+\newblock Bibliographisches Institut, Mannheim, 1989.
+\newblock To appear.
+
+\bibitem{Grif}
+V.~Quint, I.~Vatton, and H.~Bedor.
+\newblock Grif: An interactive environment for {\TeX{}}.
+\newblock In J.~D\'esarm\'enien, editor, {\em {\TeX{}} for Scientific
+ Documentation}, pages 145--158, Strasbourg, France, June 1986.
+\newblock Springer-Verlag Lecture Notes in Computer Science~236.
+
+\bibitem{Scribe}
+B.~K. Reid.
+\newblock {\em Scribe: A Document Specification Language and its Compiler}.
+\newblock PhD thesis, Carnegie Mellon University, 1980.
+
+\bibitem{TidierTrees}
+E.~M. Reingold and J.~S. Tilford.
+\newblock Tidier drawings of tree.
+\newblock {\em IEEE Transactions on Software Engineering}, 7(2):223--228, March
+ 1981.
+
+\bibitem{Complexity}
+K.~J. Supowit and E.~M. Reingold.
+\newblock The complexity of drawing trees nicely.
+\newblock {\em Acta Informatica}, 18(4):377--392, 1983.
+
+\bibitem{TidyTrees}
+Ch. Wetherell and A.~Shannon.
+\newblock Tidy drawings of trees.
+\newblock {\em IEEE Transactions on Software Engineering}, 5(5):514--520,
+ September 1979.
+
+\end{thebibliography}
+
diff --git a/Master/texmf-dist/doc/plain/treetex/epodd.tex b/Master/texmf-dist/doc/plain/treetex/epodd.tex
new file mode 100644
index 00000000000..06d5b65bd9f
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/treetex/epodd.tex
@@ -0,0 +1,1189 @@
+% This is epodd.tex, the description of the treetex macro package as it will
+% appear in EP-ODD in summer 89. It is in some aspects more general
+% than tree_doc.tex and corrects an error in the computation of
+% the number of registers used by treetex. The user interface of
+% treetex is explained in more detail in tree_doc.tex.
+
+\documentstyle[12pt,fullpage]{article}
+
+\clubpenalty=10000
+\widowpenalty=10000
+
+\def\addcontentsline#1#2#3{\relax}% Some captions are too long for some
+ % TeX installations (buffer size too small)
+
+\newenvironment{lemma}{\begingroup\samepage\begin{lemmma}\ }{\end{lemmma}%
+ \endgroup}
+\newtheorem{lemmma}{Lemma}[section]
+\newenvironment{proof}{\begin{prooof}\rm\ \nopagebreak}{\end{prooof}}
+\newcommand{\proofend}{\qquad\ifmmode\Box\else$\Box$\fi}
+\newtheorem{prooof}{Proof}
+\renewcommand{\theprooof}{} % makes shure that prooof doesn't get numbers
+\newenvironment{Figure}{\begin{figure}\vspace{1\baselineskip}}%
+ {\vspace{1\baselineskip}\end{figure}}
+\newlength{\figspace} % space between figures in a single
+\setlength{\figspace}{30pt} % Figure environment
+
+\newcommand{\var}[1]{{\it #1\/}} % use it for names of variables
+\renewcommand{\emph}[1]{{\em #1\/}} % use it for emphazided text
+ % (This notion sticks to the
+ % applicative style of markup.)
+\renewcommand{\O}{{\rm O}} % O-notation, also for math mode
+\newcommand{\T}{{\cal T}} % the set T in math mode
+\newcommand{\TreeTeX}{Tree\TeX}
+\newcommand{\fig}[1]{Figure~\ref{#1}}
+\let\p\par
+
+\input treetex
+\Treestyle{\vdist{20pt}\minsep{16pt}}
+\dummyhalfcenterdim@n=2pt
+
+% \def\Tree#1\end#2{\end{Tree}} % Trees are not processed
+% \let\endTree\relax %
+
+\def\Node(#1,#2){\put(#1,#2){\circle*{4}}}
+\def\Edge(#1,#2,#3,#4,#5){\put(#1,#2){\line(#3,#4){#5}}}
+
+\def\enode{\node{\external\type{dot}}}
+\def\inode{\node{\type{dot}}}
+
+\def\e{\node{\external\type{dot}}}
+\def\i{\node{\type{dot}}}
+\def\il{\node{\type{dot}\leftonly}}
+\def\ir{\node{\type{dot}\rightonly}}
+
+\newcommand{\stack}[3]{%
+ \vtop{\settowidth{\hsize}{#1}%
+ \setlength{\leftskip}{0pt plus 1fill}%
+ \setlength{\baselineskip}{#2}#3}}
+
+\let\multic\multicolumn
+
+\newlength{\hd} % hidden digit
+\setbox0\hbox{1}
+\settowidth{\hd}{\usebox{0}}
+\newcommand{\ds}{\hspace{\hd}} % digit space
+
+\newcommand{\ccol}[1]{\multicolumn{1}{c}{#1}}
+
+\hyphenation{post-or-der sym-bol Karls-ruhe bool-ean}
+
+\begin{document}
+
+\bibliographystyle{plain}
+
+\title{Drawing Trees Nicely with \TeX\thanks{This work was supported by
+ a Natural Sciences and Engineering Research Council of Canada
+ Grant~A-5692, a Deutsche Forschungsgemeinschaft Grant~Sto167/1-1,
+ and a grant from the Information Technology Research Centre.
+ It was begun during the first author's stay with
+ the Data Structuring Group in Waterloo.}}
+\author{Anne Br\"uggemann-Klein\thanks{Institut f\"ur Informatik,
+ Universit\"at Freiburg, Rheinstr.~10--12, 7800~Freiburg,
+ West~Germany}\ \and Derick Wood\thanks{Data
+ Structuring Group, Department of Computer Science, University of
+ Waterloo, Waterloo, Ontario N2L~3G1, Canada}}
+\date{}
+\maketitle
+
+\begin{abstract}
+
+We present a new solution to the tree drawing problem that
+integrates an excellent tree drawing algorithm into one of the best text
+processing systems available. More precisely, we present a \TeX{} macro package
+called \TreeTeX{} that produces drawings of trees from a purely logical
+description. Our approach has three advantages: Labels
+for nodes can be handled in a reasonable way; porting
+\TreeTeX{} to any site running \TeX{} is a trivial operation; and
+modularity in the description of a tree and \TeX{}'s macro capabilities
+allow for libraries of subtrees and tree classes.
+
+In addition, \TreeTeX{} has an option that produces
+drawings that make the
+\emph{structure} of the trees more obvious to the human eye,
+even though they may not be as aesthetically pleasing.
+
+\end{abstract}
+
+\section{Introduction}
+
+The problem of successfully integrating pictures and text in a
+document processing environment is tantalizing and difficult.
+Although there are systems available that allow such integration, they
+fall short in many ways, usually in document quality. Furthermore,
+most authors using document preparation systems are neither book
+designers nor graphic artists. Just as modern document preparation
+systems do not expect an author to be a book designer, so we would
+prefer that they do not expect an author to be a graphic artist. The
+second author, Wood, needed to draw many trees in a series of papers
+on trees and in a projected book on trees. This problem enabled us
+to tackle the integration issue for one subarea of graphics, namely,
+tree drawing. We had the decided advantage that there already existed good
+algorithms to draw trees {\em without any author intervention}.
+Previous experience of the integration of pictures and text had been
+uninspiring; the systems expected the author to prepare each picture
+in total. For example, a tree could be built up from smaller
+subtrees but the relative placement of them was left to the author.
+This situation continues to hold today with the drawing facilities
+available on most personal computers, and, because of this, the
+resulting figures still appear to be ``hand-drawn.'' Additionally,
+they are of inferior quality when compared with the quality of
+the surrounding text.
+
+In this paper we present an entirely new solution that integrates
+a tree drawing algorithm into one of the best text processing
+systems available. More precisely, we describe \TreeTeX{}, a
+\TeX{} macro package that produces an aesthetically pleasing
+drawing of a tree from a purely logical description.
+We made two fundamental design
+decisions that heavily influenced the method of implementation.
+First, we wanted to allow an author to label the nodes of a tree.
+This decision means that the tree drawing package must be able to
+typeset labels exactly as they would be typeset by the typesetting
+program. There are two reasons for this. Text should be typeset
+consistently, wherever it appears in a document, and the tree
+drawing program needs to know the dimensions of the typeset labels.
+Second, we wanted to ensure that the program could be ported
+easily to other installations and sites, so that other, putative
+users would be able to use it easily.
+Indeed, \TreeTeX{} has been used successfully to typeset trees in
+\cite{BaezaTrees}, \cite{KWIFIP}, and \cite{OAPD}.
+
+By basing our package on \TeX{}, which for more subjective
+reasons we preferred over other typesetting systems such as
+troff, we could ensure wide interest
+in the package. By implementing it as a \TeX{} macro package
+instead of a preprocessor
+we made porting trivial and, furthermore, this also ensured
+consistency of typeset text within a document.
+The down side of this decision is that we had to program with
+\TeX{} macros, not an experience to be recommended, and we had to live
+with the inherent register limitations of \TeX{}.
+
+This paper consists of a further nine sections. In Sections~2, 3 and~4,
+we discuss the aesthetics of tree drawing and the algorithm of
+Reingold and Tilford~\cite{TidierTrees}. In Sections~5, 6, and~7, we
+describe our method of incorporating tree drawing into \TeX{}. Then,
+in the last three short sections, we consider the expected number of
+registers \TeX{} needs to draw a tree, the user interface (and three
+\TreeTeX{} examples), and discussion of, among other things, the
+performance of \TreeTeX{}.
+
+\section{Aesthetical criteria for drawing trees}
+
+In this paper, we are dealing with ordered
+trees in the sense of~\cite{ACP}, specifically binary and unary-binary
+trees. A {\em binary tree\/} is a finite set of nodes that either
+is empty, or consists of a root and two disjoint binary trees called
+the left and right subtrees of the root. A {\em unary-binary tree\/} is
+a finite set of nodes that either is empty, or consists of a root and
+two disjoint unary-binary trees, or consists of a root and one
+nonempty unary-binary tree. An {\em extended binary tree\/} is a binary tree
+in which each node has either two nonempty subtrees or two
+empty subtrees.
+
+There are some basic agreements on how such trees should be drawn, reflecting
+the top-down and left-right ordering of nodes in a tree.
+In \cite{TidierTrees} and \cite{TidyTrees} these basic agreements were
+formalized as the following axioms.
+
+\begin{enumerate}
+\item[1.] Trees impose a distance on the nodes; no node
+ should be closer to the root than any of its
+ ancestors.
+\item[2.] Nodes on the same level should lie on a straight
+ line, and the straight lines defining the levels should be
+ parallel.
+\item[3.] The relative order of nodes on any level should be the same
+ as in the level order traversal of the tree.
+\end{enumerate}
+
+These axioms guarantee that trees are drawn as planar graphs: edges do
+not intersect except at nodes. Two further axioms improve the aesthetical
+appearance of trees.
+
+\begin{enumerate}
+\item[4.] In a unary-binary tree, each left child should be positioned
+ to the left of its parent, each
+ right child to the right of its parent, and each unary child
+ should be positioned below its parent.
+\item[5.] A parent should be centered over its children.
+\end{enumerate}
+
+An additional axiom deals with the problem of tree drawings becoming too wide
+and therefore exceeding the physical limit of the output medium:
+
+\begin{enumerate}
+\item[6.] Tree drawings should occupy as little width as possible without
+ violating the other axioms.
+\end{enumerate}
+
+In \cite{TidyTrees}, Wetherell and Shannon introduce two algorithms for
+tree drawings, the first of which fulfills axioms~1--5, and the second
+1--6. However, as Reingold and Tilford in \cite{TidierTrees}
+point out, there is a lack of symmetry in the algorithms of
+Wetherell and Shannon which may lead to unpleasant results;
+therefore, Reingold and Tilford introduce a new structured
+axiom.
+
+\begin{enumerate}
+\item[7.] A subtree of a given tree should be
+ drawn the same way regardless of where it occurs in the tree.
+\end{enumerate}
+
+Axiom~7 allows the same tree to be drawn differently only when it occurs as
+a subtree in different trees.
+Reingold and Tilford give an algorithm which fulfills axioms~1--5
+and~7. Although
+this algorithm doesn't fulfill axiom~6,
+the aesthetical improvements are well worth the additional space.
+\fig{algorithms} illustrates the benefits of axiom~7, and \fig{narrowtrees}
+shows that the algorithm of Reingold and Tilford violates axiom~6.
+
+\begin{Figure}
+\centering
+\leavevmode\noindent
+\begin{Tree}
+\enode
+\enode\enode\inode\enode\enode\inode\inode\inode
+\node{\external\type{dot}\rght{\unskip\hskip2\mins@p\hskip2\dotw@dth}}
+\enode\enode\inode\enode\enode\inode\inode\inode
+\inode
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\qquad
+\begin{Tree}
+\enode
+\enode\enode\inode\enode\enode\inode\inode\inode
+\enode
+\enode\enode\inode\enode\enode\inode\inode\inode
+\inode
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\
+\caption{The left tree is drawn by the algorithm of Wetherell and Shannon,
+and the tidier right one is drawn by the algorithm of Reingold and Tilford.}
+\label{algorithms}
+
+\vspace{\figspace}
+\centering
+\leavevmode\noindent
+\begin{Tree}
+\enode\enode\enode\enode\enode\enode\enode\enode\enode
+\enode\inode\inode\inode
+\enode\inode\inode\inode
+\enode\inode\inode\inode
+\enode\inode\inode\inode
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\qquad
+\begin{Tree}
+\enode\enode\enode\enode\enode\enode\enode\enode
+\node{\external\type{dot}\rght{\unskip\hskip\mins@p\hskip\dotw@dth}}
+\enode\inode\inode\node{\type{dot}\rght{\unskip\hskip\mins@p\hskip\dotw@dth}}
+\enode\inode\inode\node{\type{dot}\rght{\unskip\hskip\mins@p\hskip\dotw@dth}}
+\enode\inode\inode\node{\type{dot}\rght{\unskip\hskip\mins@p\hskip\dotw@dth}}
+\enode\inode\inode\inode
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\
+\caption{The left tree is drawn by the algorithm of Reingold and Tilford, but
+the right tree shows that narrower drawings fulfilling all aesthetic axioms
+are possible.}
+\label{narrowtrees}
+\end{Figure}
+
+
+\section{The algorithm of Reingold and Tilford}
+
+The algorithm of Reingold and Tilford (hereafter called ``the RT~algorithm'')
+takes a modular approach to the
+positioning of nodes. The relative positions of the nodes in a subtree
+are calculated independently of the rest of the tree. After the
+relative positions of two subtrees have been calculated, they can be
+joined as siblings in a larger tree by placing them as close
+together as possible and centering the parent node above them.
+Incidentally, this modular approach is the reason that the
+algorithm fails to fulfill axiom~6; see~\cite{Complexity}.
+Two sibling subtrees are placed as close together as possible,
+during a postorder traversal, as follows.
+Imagine that the two subtrees of a binary node
+have been drawn and cut out of paper along
+their contours. Then, starting with the two subtrees superimposed at their
+roots, move them apart until a minimal agreed upon distance
+between the trees is obtained at each level. This can be done gradually.
+Initially, their roots are separated by some agreed upon minimum
+distance; then, at the next level, they are pushed
+apart until the minimum separation is established there.
+This process is continued at successively lower levels until the
+last level of the shorter subtree is reached. At some levels no movement may be
+necessary, but at no level are the two subtrees moved closer
+together. When the process is complete, the position of the
+subtrees is fixed relative to their parent, which is centered over them.
+Assured that the subtrees will never be placed closer together,
+the postorder traversal is continued.
+
+A nontrivial implementation of
+this algorithm has been obtained by Reingold and Tilford in~\cite{TidierTrees}
+that runs in time $\O(N)$, where $N$ is the number of
+nodes of the tree to be drawn.
+Their crucial idea is to keep track of the contour of the subtrees
+by special pointers, called threads, such that whenever
+two subtrees are joined, only the
+top part of the trees down to the lowest level of the
+smaller tree need to be taken into account.
+
+The nodes are positioned on a fixed grid and are
+considered to have zero width; labeling is not provided.
+Although the algorithm only draws binary trees, it is easily
+extended to multiway trees.
+
+\section{Improving human perception of trees}
+
+It is common understanding in book design that aesthetics and readability
+don't necessarily coincide, and---as Lamport (\cite{LaTeX}) puts it---%
+``documents are meant to be read, not hung in museums.''
+Therefore, readability is more important than aesthetics.
+
+When it comes to tree drawings, readability means that the structure of
+a tree must be easily recognizable. This criterion is not always met
+by the RT~algorithm. As an example, there are trees whose structure is
+different even though they have the same number
+of nodes on each level. The RT~algorithm might assign identical positions to
+these nodes making it very hard to perceive the structural differences.
+Hence, we have modified the RT~algorithm such that additional white space
+is inserted between subtrees of
+\emph{significant} nodes. Here a binary node
+is called significant if the minimum distance
+between its two subtrees is achieved \emph{below} their root level.
+Setting the amount of additional white space to zero retains the original RT~%
+placement. The effect of having nonzero additional white space between
+the subtrees of significant
+nodes is illustrated in \fig{addspace}.
+
+Another feature we have added to the RT~algorithms is the possibility to draw
+an unextended binary tree with the same placement of nodes as its
+associated extended version;
+this makes the structure of a tree more prominent; see \fig{extended}.
+We define the \emph{associated extended version}
+of a binary tree to be the binary tree obtained by replacing each empty subtree
+having a nonempty sibling with a subtree consisting of one node.
+
+\begin{Figure}
+\centering
+\leavevmode\noindent
+\begin{Tree}
+\e\il\e\e\i\i\il % the left subtree
+\e\ir\il % the right subtree
+\i
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\qquad
+\begin{Tree}
+\e\il\il\il % the left subtree
+\e\e\i\e\i\il % the right subtree
+\i
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\qquad
+\adds@p10pt
+\begin{Tree}
+\e\il\e\e\i\node{\type{dot}\lft{$\longrightarrow$}}\il % the left subtree
+\e\ir\il % the right subtree
+\node{\type{dot}\lft{$\longrightarrow$}}
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\qquad
+\begin{Tree}
+\e\il\il\il % the left subtree
+\e\e\i\e\i\il % the right subtree
+\node{\type{dot}\lft{$\longrightarrow$}}
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\
+\adds@p0pt
+
+\caption{The nodes of the first two trees are placed in the same positions
+by the RT~algorithm, although the structure of the two trees is different.
+The alternative drawings highlight the structural differences
+of the trees by adding additional white space between the subtrees of
+($\longrightarrow$) significant nodes.}
+\label{addspace}
+\end{Figure}
+
+\begin{Figure}
+\centering
+\leavevmode\noindent
+\begin{Tree}
+\e\e\i\il\e\e\i\i
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\hbox{}\qquad
+\begin{Tree}
+\e\e\i\e\i\e\ir\i
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\hbox{}\\
+\extended
+\begin{Tree}
+\e\e\i\il\e\e\i\i
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\hbox{}\qquad
+\begin{Tree}
+\e\e\i\e\i\e\ir\i
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\hbox{}\\
+\noextended
+\begin{Tree}
+\e\e\i\e\i\e\e\i\i
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\
+\caption{As in the previous figure, the nodes of the first two trees
+are placed in the same position by the RT algorithm,
+although their structure is different. The modified
+RT~algorithms highlights the structural differences of the trees by
+drawing them like their identical extended
+version (given in the third row), but suppressing the additional nodes.}
+\label{extended}
+\end{Figure}
+
+
+\section{Trees in a document preparation environment}
+
+Drawings of trees do not usually appear by themselves,
+but are included in some text
+that is itself typeset by a text processing system. Therefore, a typical
+scenario is a pipe of three stages. First, we have a tree drawing
+program that calculates the positioning of the nodes of the tree to
+be drawn and outputs a description of the tree drawing in
+some graphics language; this is followed by
+a graphics system that transforms this
+description into an intermediate language that can be interpreted by the output
+device; and, finally, we have the
+text processing system that integrates the output of the
+graphics system into the text.
+
+This scenario loses its linear structure once nodes have to be labeled, since
+the labeling influences the positioning of the nodes. Labels usually occur
+inside, to the left of, to the right of, or beneath nodes (the latter only for
+external nodes). Their widths should certainly be taken into account
+by the tree drawing algorithm. But the labels have to be typeset first
+to determine their extensions,
+preferably by the typesetting program that
+is used for the regular text, because this ensures uniformity in the textual
+parts of the document and provides the author with the full power of a
+text processing system for composing the labels. Hence, a more complex
+communication scheme than a simple pipe is required.
+
+Although a system of two processes running simultaneously might be the most
+elegant solution, we wanted a system that is easily portable to
+widely different machines at our sites
+including personal computers with single process
+operating systems.
+Therefore, we decided to use a text processing system
+having programming facilities powerful enough to
+program a tree drawing algorithm and graphics facilities powerful enough
+to draw a tree. One text processing system
+rendering outstanding typographic quality and satisfactory programming
+facilities is \TeX, developed by Knuth at Stanford University;
+see~\cite{TeXbook}.
+The \TeX{} system includes the following programming facilities.
+
+\begin{enumerate}
+\item[1.] Datatypes:\\
+ integers~(256), dimensions\footnote{The term \emph{dimension} is used
+ in \TeX\ to describe physical measurements of typographical objects;
+ for example, the length of a word.}~(512),
+ boxes~(256), tokenlists~(256), and
+ boolean variables~(unrestricted).
+\item[2.] Elementary statements:\\
+ $a:=\rm const$, $a:=b$ (all types);\\
+ $a:=a+b$, $a:=a*b$, $a:=a/b$ (integers and dimensions); and\\
+ horizontal and vertical nesting of boxes.
+\item[3.] Control constructs:\\
+ if-then-else statements testing relations between integers,
+ dimensions, boxes, or boolean variables.
+\item[4.] Modularization constructs:\\
+ macros with up to 9~parameters (can be viewed as procedures without
+ the concept of local variables).
+\end{enumerate}
+
+Although the programming
+facilities of \TeX{} hardly exceed the abilities of a Turing machine,
+they are sufficient to
+handle small programs. How about the graphics facilities?
+Although \TeX{} has no built-in graphics facilities, it
+allows the placement of characters in arbitrary positions on
+the page. Therefore, complex pictures can be synthesized from elementary
+picture elements treated as characters. Lamport has included such
+a picture drawing environment in his macro package \LaTeX, using
+quarter circles of different sizes and line segments (with and without
+arrow heads) of different slopes as basic elements; see~\cite{LaTeX}.
+These elements are sufficient for drawing trees.
+
+This survey of \TeX's capabilities implies that \TeX{} may be a suitable
+text processing system to implement a tree drawing algorithm directly.
+We base our algorithm on the RT~algorithm, because this algorithm
+gives, aesthetically, the most pleasing results. In the first version
+presented here, we
+restrict ourselves to unary-binary trees, although our method is
+applicable to arbitrary multiway trees. But to take advantage
+of the text processing environment, we expand the algorithm to allow
+labeled nodes.
+
+In contrast to previous tree drawing programs, we feel no necessity to
+position the nodes of a tree on a fixed grid. While this may be
+reasonable for a plotter with a coarse resolution, it is certainly not
+necessary for \TeX, a system that is capable of handling
+arbitrary dimensions
+and producing device \emph{independent} output.
+
+
+\section{A representation method for \TeX{}trees}
+
+The first problem to be solved in implementing our tree drawing algorithm
+is how to choose a good internal representation
+for trees. A straightforward adaptation
+of the implementation by Reingold and Tilford requires, for each node,
+at least:
+%
+\begin{enumerate}
+\item two pointers to the children of the node,
+\item two dimensions for the offset to the left and the right child (these
+ may be different once there are labels of different widths to the
+ left and right of the nodes),
+\item two dimensions for the $x$- and $y$-coordinates of the final
+ position of the nodes,
+\item three or four labels, and
+\item one token to store the geometric shape (circle, square, framed text, etc.)
+ of the node.
+\end{enumerate}
+%
+Because these data are used frequently in calculations, they should be
+stored in registers (that's what variables are called in \TeX)
+rather than being recomputed, to obtain
+reasonably fast performance. This gives a total of $10N$ registers for
+a tree with $N$ nodes, which quickly exceeds
+\TeX's limited supply of registers. Therefore, we present a
+modified algorithm hand-tailored to the abilities of \TeX{}.
+We start with the following observation.
+Suppose a unary-binary tree is built bottom-up, using a postorder
+traversal. This can be done by repeating the following three steps in
+an order determined by the tree to be built.
+
+\begin{enumerate}
+\item Create a new subtree consisting of one external node.
+\item Create a new subtree by appending the two subtrees last created
+ to a new binary node; see \fig{Construct}.
+\item Create a new subtree by appending the subtree created last as a left,
+ right, or unary subtree of a new node; see \fig{Construct}.
+\end{enumerate}
+
+(A pointer to) each subtree that has been
+created in steps 1--3 is pushed onto a stack, and
+steps 2 and 3 remove two trees or one tree, respectively,
+from the stack before the push
+operation is carried out. The tree to be built is
+the tree remaining on the stack.
+
+\begin{Figure}
+\centering
+\begin{Tree}
+\treesymbol{\lvls{2}}%
+\hspace{-\l@stlmoff}\usebox{\l@sttreebox}\hspace{\l@strmoff}
+$+$
+\treesymbol{\lvls{2}}%
+\hspace{-\l@stlmoff}\usebox{\l@sttreebox}\hspace{\l@strmoff}\quad
+$\Longrightarrow$\quad
+\treesymbol{\lvls{2}}%
+\treesymbol{\lvls{2}}%
+\node{\type{dot}}%
+\hspace{-\l@stlmoff}\raisebox{\vd@st}{\usebox\l@sttreebox}\hspace{\l@strmoff}%
+\end{Tree}
+
+\vskip\baselineskip
+
+\begin{Tree}
+\treesymbol{\lvls{2}}%
+\hspace{-\l@stlmoff}\usebox{\l@sttreebox}\hspace{\l@strmoff}\quad
+$\Longrightarrow$\quad
+\treesymbol{\lvls{2}}%
+\node{\leftonly\type{dot}}%
+\hspace{-\l@stlmoff}\raisebox{\vd@st}{\usebox\l@sttreebox}\hspace{\l@strmoff}%
+\quad or\quad
+\treesymbol{\lvls{2}}%
+\node{\unary\type{dot}}%
+\hspace{-\l@stlmoff}\raisebox{\vd@st}{\usebox\l@sttreebox}\hspace{\l@strmoff}%
+\quad or\quad
+\treesymbol{\lvls{2}}%
+\node{\rightonly\type{dot}}%
+\hspace{-\l@stlmoff}\raisebox{\vd@st}{\usebox\l@sttreebox}\hspace{\l@strmoff}%
+\end{Tree}
+
+\caption{Construction steps 2 and 3}
+\label{Construct}
+\end{Figure}
+
+This tree traversal is performed twice in the RT~algorithm.
+During the first pass,
+at each execution of steps 2 or~3, the relative positions of the
+subtree(s) and of the new node are computed.
+A closer examination of the RT~algorithm reveals that information about the
+subtree's coordinates is not needed during this pass; the contour information
+alone is sufficient. Complete information is only needed in the second
+traversal, when the tree is really drawn. This is where we can use
+a special feature of \TeX{} that allows us to save registers.
+Unlike Pascal, \TeX{} has the capability of
+storing a drawing in a single box register that can be positioned freely in
+later drawings. This means that in our implementation the two passes
+of the original RT~algorithm can be woven into a single pass,
+storing the contour and drawing of each subtree on the stack.
+Although the latter is a complex object, it takes only one of
+\TeX's precious registers.
+
+
+\section{The internal representation}
+
+Given a tree, the corresponding \TeX{}tree is a box containing
+the ``drawing'' of the tree, together with some additional
+information about the contour of the tree.
+The reference point of a \TeX{}tree-box is always in the root of the
+tree. The height, depth, and width of the box of a \TeX{}tree are
+of no importance in this context.
+
+The additional information about the contour of the tree is stored in some
+registers for numbers and dimensions and
+is needed in order to put subtrees together to form a larger tree.
+An array \var{loff} of dimensions contains for each
+level of the tree the horizontal offset between the
+left end of the leftmost node at the current level and the
+left end of the leftmost node at the next level.
+The horizontal offset between the root
+and the leftmost node of the whole tree is hold in \var{lmoff}, and
+the horizontal offset between the root and the leftmost node at
+the bottom level of the tree is hold in \var{lboff}.
+Finally, \var{ltop} holds the distance between the reference point
+of the tree and the leftmost end of the root.
+We use
+\var{roff}, \var{rmoff}, \var{rboff}, and \var{rtop}
+as the corresponding variables for ``left'' replaced by ``right.'' Finally,
+\var{height} holds the height of the tree, and \var{type} holds the
+geometric shape of the root of the tree. \fig{TeXtree} shows an example
+\TeX{}tree, that is a tree drawing and the corresponding additional information.
+
+\begin{Figure}
+\centering
+\begin{Tree}
+\e\ir\ir\e
+ \node{\type{dot}\rightonly\rght{\unskip\vrule height.8pt width5pt depth0pt}}%
+ \i % A
+\end{Tree}
+\leavevmode
+\stack{-10pt}{\vd@st}{%
+ -10pt\\10pt\\10pt\\\var{loff}}%
+\hspace{1em}%
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}%
+\hspace{1em}%
+\stack{-10pt}{\vd@st}{%
+ 15pt\\5pt\\-10pt\\\var{roff}}%
+
+\vskip\baselineskip\raggedright
+height:~3, type:~dot, ltop:~2pt, rtop:~2pt, lmoff:~-10pt, rmoff:~20pt, lboff:~10pt,
+rboff:~10pt.
+
+\caption{A \TeX{}tree consists of the drawing of the tree and the additional
+information. The width of the dots is 4pt, the minimal separation between
+adjacent nodes is 16pt, making for a distance of 20pt center to center.
+The length of the small rule labeling
+one of the nodes is 5pt. The column left (right)
+of the tree drawing is the array \var{loff} (\var{roff}),
+describing the left (right) contour of the tree. At each level,
+the dimension given is the horizontal
+offset between the border at the current and
+at the next level. The offset between
+the left border of the root node and the leftmost node at level~1 is -10pt,
+the offset between the right border of the root node and the rightmost node at
+level~1 is 15pt, etc.}
+\label{TeXtree}
+\end{Figure}
+
+Given two \TeX{}trees \var{A} and \var{B},
+how can a new \TeX{}tree \var{C} be built that
+consists of a new root and has \var{A} and \var{B} as subtrees?
+An example is given in \fig{AddInfo}.
+First we determine which tree is higher; this is
+\var{B} in the example.
+Then we have to compute the minimal distance
+between the roots of \var{A} and \var{B}, such that at all levels
+of the trees there is free space of at least \var{minsep} between
+the trees when they are drawn side by side.
+For this purpose we keep track of two values, \var{totsep} and
+\var{currsep}. The variables \var{totsep} and \var{currsep}
+hold the total distance between the roots and the distance
+between the rightmost node of \var{A} and the leftmost node
+of \var{B} at the current level. To calculate
+\var{totsep} and \var{currsep}, we start at level 0 and
+visit each level of the trees until we reach the bottommost level
+of the smaller tree; this is \var{A} in our example.
+
+\begin{Figure}
+\centering
+\begin{Tree}
+\e\ir\ir\e
+ \node{\type{dot}\rightonly\rght{\unskip\vrule height.8pt width5pt depth0pt}}%
+ \i % A
+\end{Tree}
+\leavevmode
+A: \stack{-10pt}{\vd@st}{%
+ -10pt\\10pt\\10pt\\\ \\\var{loff}(\var{A})}%
+\hspace{1em}%
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}%
+\hspace{1em}%
+\stack{-10pt}{\vd@st}{%
+ 15pt\\5pt\\-10pt\\\ \\\var{roff}(\var{A})}%
+\qquad
+\begin{Tree}
+\e\il\e\i\il\il\ir % B
+\end{Tree}
+\leavevmode
+B: \stack{-10pt}{\vd@st}{%
+ 10pt\\-10pt\\-10pt\\-10pt\\-10pt\\\ \\\var{loff}(\var{B})}%
+\hspace{1em}%
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}%
+\hspace{1em}%
+\stack{-10pt}{\vd@st}{%
+ 10pt\\-10pt\\-10pt\\10pt\\-30pt\\\ \\\var{roff}(\var{B})}%
+\\[\figspace]
+\begin{Tree}
+\e\ir\ir\e
+ \node{\type{dot}\rightonly\rght{\unskip\vrule height.8pt width5pt depth0pt}}%
+ \i % A
+\e\il\e\i\il\il\ir % B
+\i % C
+\end{Tree}
+\leavevmode
+C: \stack{-10pt}{\vd@st}{%
+ -20\\-10pt\\%
+ \makebox[0pt][r]{\var{loff}(\var{A})$\smash{\left\{\vrule height\vd@st
+ depth\vd@st width0pt\right.}$ }%
+ 10pt\\10pt\\%
+ \makebox[0pt][r]{$\longrightarrow$ }%
+ 10pt\\%
+ \makebox[0pt][r]{\raisebox{-.5\vd@st}{\var{loff}(\var{B})$\smash
+ {\left\{\vrule height.5\vd@st
+ depth.5\vd@st width0pt\right.}$ }}%
+ \makebox[0pt][r]{-}10pt\\\ \\\var{loff}(\var{C})}%
+\hspace{1em}%
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}%
+\hspace{1em}%
+\stack{-10pt}{\vd@st}{%
+ 20pt\\10pt\\-10pt\\-10pt%
+ \makebox[0pt][l]{\raisebox{-.5\vd@st}{
+ $\smash{\left\}\vrule height2.5\vd@st
+ depth2.5\vd@st width0pt\right.}$\var{roff}(\var{B})}}%
+ \\10pt\\-30pt\\\ \\\var{roff}(\var{C})}%
+
+\vspace{\figspace}
+\centering
+\begin{tabular}{|l|r|r|r|}
+\hline
+&\multic{1}{c|}{\var{A}}&\multic{1}{c|}{\var{B}}&\multic{1}{c|}{\var{C}}\\
+\hline
+height&\multic{1}{c|}{3}& \multic{1}{c|}{5}& \multic{1}{c|}{6}\\
+type& \multic{1}{c|}{dot}&\multic{1}{c|}{dot}&\multic{1}{c|}{dot}\\
+ltop& 2pt& 2pt& 2pt\\
+rtop& 2pt& 2pt& 2pt\\
+lmoff& -10pt& -30pt& -30pt\\
+rmoff& 20pt& 10pt& 30pt\\
+lboff& 10pt& -30pt& -10pt\\
+rboff& 10pt& -30pt& -10pt\\
+\hline
+\end{tabular}\qquad
+\begin{tabular}{|c|r|r|}
+\hline
+\multic{1}{|c|}{level}&\multic{1}{c|}{\var{totsep}}&
+ \multic{1}{c|}{\var{currsep}}\\
+\hline
+0&20pt&0/16pt\\
+1&25pt&11/16pt\\
+2&40pt&1/16pt\\
+3&40pt&16pt\\
+\hline
+\end{tabular}
+\caption{The \TeX{}trees \var{A} and~\var{B} are combined to form the
+larger \TeX{}\-tree~\var{C}. The first table gives the additional
+information of the three \TeX{}trees,
+and the second table gives the
+history of the computation for \var{totsep} and \var{currsep}.}
+\label{AddInfo}
+\end{Figure}
+
+At level 0, the distance between the roots of \var{A} and \var{B}
+should be at least \var{minsep}. Therefore, we set
+$\var{totsep}:=\var{minsep} + \var{rtop}(\var{A})
++ \var{ltop}(\var{B})$ and $\var{currsep}:=\var{minsep}$.
+Using $\var{roff}(\var{A})$ and $\var{loff}(\var{B})$, we can
+calculate \var{currsep} for the next level.
+If $\var{currsep} < \var{minsep}$, we have to increase \var{totsep} by
+the difference and update \var{currsep}. This process is
+repeated until we reach the lowest level of \var{A}
+at which point \var{totsep} holds the final distance between the
+nodes of \var{A} and \var{B}, as calculated by the RT~algorithm.
+If the root of \var{C} is a significant node, then the additional space,
+which is 0pt by default, is added to \var{totsep}.
+However, the approach of synthesizing
+drawings from simple graphics characters allows only a finite
+number of orientations for the tree edges; therefore, \var{totsep}
+must be increased slightly to fit the next orientation
+available.
+
+Now we are ready to build the box of \TeX{}tree~\var{C}.
+Simply put \var{A} and~\var{B} side by side, with the reference
+points \var{totsep}~units apart, insert a new node
+above them, and connect the parent and children by edges.
+Next, we compute the additional information
+for \var{C}. This can be done by using the additional information
+for \var{A} and~\var{B}.
+Note that most components of $\var{roff}(\var{C})$ and
+$\var{lroff}(\var{C})$ are the same as in the higher tree, which
+is \var{B} in our case.
+So, if we can avoid moving this information around,
+the number of counters we have to access to update the additional information
+for \var{C} is within a small constant of the height of~\var{A}.
+Hence, we can apply the same argument as
+in~\cite{TidierTrees}, which gives
+us a running time of $\O(N)$ for drawing a tree with N nodes.
+
+We must design the allocation of storage registers for
+the additional information of \TeX{}trees carefully to fulfill the
+following requirement. If a new tree is built from
+two subtrees, the additional information of the new tree
+shares storage with its larger subtree.
+Organizational overhead, that is,
+pointers that keep track of the locations of different parts of additional
+information, must be avoided.
+This means that the additional information
+for one \TeX{}tree should be stored in a sequence
+of consecutive dimension registers
+such that only one pointer for access to the first element
+in this sequence is needed. On the other hand, each parent
+tree is higher and, therefore, needs more storage than its subtrees.
+So we must ensure that there is always enough space in the sequence
+for more information.
+
+The obvious way to fulfill these requirements is to use a stack and to
+allow only the topmost \TeX{}trees of this stack to be
+combined into a larger tree at any time.
+This leads to the following allocation of registers: A contiguous sequence of
+box registers contains the treeboxes of the subtrees in the stack. A
+contiguous sequence of token registers contains the type information for the
+nodes of the subtrees in the stack. For each subtree in the stack,
+a contiguous sequence of dimension registers contains the contour
+information of the subtree. The ordering of these groups of dimension
+registers reflects the ordering of the subtrees in the
+stack. Finally, a contiguous sequence of counter registers contains
+the height and the address of the first dimension register for
+each subtree in the stack. Four address counters store the addresses
+of the last treebox, type information, height, and address of contour
+information. A sketch of the register organization for a stack of \TeX{}trees
+is provided in \fig{Registers}.
+
+\begin{Figure}
+Dimension registers\\
+\var{lmoff}(1) \var{rmoff}(1) \var{lboff}(1) \var{rboff}(1) \var{ltop}(1)
+ \var{rtop}(1)\\
+\var{loff}($h_1$) \var{roff}($h_1$) \dots\ \var{loff}(1) \var{roff}(1)\\
+\dots\\
+\var{lmoff}($n$) \var{rmoff}($n$) \var{lboff}($n$) \var{rboff}($n$)
+ \var{ltop}($n$) \var{rtop}($n$)\\
+\var{loff}($h_n$) \var{roff}($h_n$) \dots\ \var{loff}(1) \var{roff}(1)\\
+\mbox{}\\
+Counter registers\\
+\var{lasttreebox} \var{lasttreeheight} \var{lasttreeinfo} \var{lasttreetype}\\
+\var{treeheight}(1) \var{diminfo}(1) \dots\ \var{treeheight}($n$)
+ \var{diminfo}($n$)\\
+\mbox{}\\
+Box registers\\
+\var{treebox}(1) \dots\ \var{treebox}($n$)\\
+\mbox{}\\
+Token registers\\
+\var{type}(1) \dots\ \var{type}($n$)
+
+\caption{\var{lasttreebox}, \var{lasttreeheight}, \var{lasttreeinfo},
+\var{lasttreetype} contain pointers to \var{treebox}($n$)
+\var{treeheight}($n$), \var{lmoff}($n$), \var{type}($n$),
+\var{diminfo}($i$) contains a pointer to
+\var{lmoff}($i$). Unused dimension registers are
+allowed between the dimension registers of subsequent trees. The counter
+registers \var{lasttreebox},\ldots,\var{diminfo}($n$) serve as a directory
+mechanism to access the \TeX{}trees on the stack.}
+\label{Registers}
+\end{Figure}
+
+
+When a new node is pushed onto the stack, the treebox, type information,
+height, address of contour information, and contour information are
+stored in the next free registers of the appropriate type, and the
+four address counters are updated accordingly.
+
+When a new tree is formed from the topmost subtrees on the stack,
+the treebox, type information, height, and address of contour information
+of the new tree are sorted in the registers formerly used by the bottommost
+subtree that has occurred in the construction step,
+and the four address registers are
+updated accordingly. This means that this information for the subtrees
+is no longer accessible. The contour information of the new subtree
+is stored in the same registers as the contour information of the larger
+subtree used in the construction, apart from the left and right offset
+of the root to the left and right child, which are stored in the
+following dimension registers. This means that gaps can occur
+between the contour information of subtrees in the
+stack, namely when the right subtree, which is in a higher position in the
+stack, is higher than the left one. To avoid these
+gaps, the user can specify an option \verb.\lefttop. when entering a
+binary node, which makes the topmost tree in the stack the
+left subtree of the node.
+
+This stack concept also has consequences for the design of the user interface
+that is discussed in Section~\ref{Interface}.
+
+\section{Space cost analysis}
+
+Suppose we want to draw a unary-binary tree $T$ of height $h$ having
+$N$ nodes\footnote{The height $h$ and the number of nodes $N$ refer to the
+drawing of the tree. $N$ is the number of circles, squares,~etc., actually
+drawn, and $h$ is the number of levels in the drawing minus 1.}.
+According to our internal representation,
+for each subtree in the stack we need:
+
+\begin{enumerate}
+\item one box register to store the box of the \TeX{}tree;
+\item one token register to store the type of the root of the subtree;
+\item $2h^\prime+6$ dimension registers to store the additional
+ information, where $h^\prime$ is the height of the
+ subtree; and
+\item three counter registers to store the register numbers of the
+ box register, the token register, and the first dimension register above.
+\end{enumerate}
+
+\begin{lemma}
+Let $T$ be a unary-binary tree of height~$h$ and size~$N$; then:
+\begin{enumerate}
+\item at any time, there are at most $h+1$ subtrees of $T$ on the
+ stack; and
+\item for each set $\T$ of subtrees of $T$ that are on the stack
+ simultaneously we have
+ $$\sum_{T^\prime\in \T}({\rm ht}(T^\prime)+1) \le N$$
+\end{enumerate}
+\end{lemma}
+
+The lemma implies that our implementation
+uses at most $9h+2N$~registers.
+To compare this with the
+$10N$ registers used in the straightforward implementation,
+an estimation of the average height of a tree with $N$ nodes is
+needed. Several results, depending on the type of trees and of the
+randomization model, are cited in \fig{Stat}, which
+compares the number of registers used in a straightforward
+implementation with the average number of registers used in our
+implementation. This table shows clearly the advantage of our
+implementation.
+
+\begin{Figure}
+\centering
+
+\begin{tabular}{|c|c|c|c|c|}
+\hline
+&registers&\multicolumn{3}{c|}{average registers}\\
+\cline{3-5}
+nodes&(straight-&&unary-binary&binary\\
+&forward)&binary trees&trees&search trees\\
+$N$&&($2\sqrt{\pi N}$) \cite{BinaryTrees}&
+ ($\sqrt{3\pi N}$) ~\cite{BinaryTrees}&
+ ($4.311\log N$) \cite{BinarySearchTrees}\\
+\hline
+\ds10 & \ds100 & 120.89 & 107.37 & 109.34 \\
+\ds20 & \ds200 & 182.68 & 163.56 & 156.23 \\
+\ds30 & \ds300 & 234.75 & 211.33 & 191.96 \\
+\ds40 & \ds400 & 281.78 & 254.75 & 223.12 \\
+\ds50 & \ds500 & 325.60 & 295.37 & 251.78 \\
+\ds60 & \ds600 & 367.13 & 334.02 & 278.86 \\
+\ds70 & \ds700 & 406.93 & 371.17 & 304.84 \\
+\ds80 & \ds800 & 445.36 & 407.13 & 330.02 \\
+\ds90 & \ds900 & 482.67 & 442.12 & 354.59 \\
+100 & 1000 & 519.04 & 476.30 & 378.68 \\
+\hline
+\end{tabular}
+
+\caption{The numbers of registers used by a straightforward implementation
+(second column) and by our modified implementation (third to fifth column)
+of the RT~algorithm are
+given for different types of trees and randomization models.
+The formulas in parentheses indicate the average height of the respective
+classes of trees.}
+\label{Stat}
+\end{Figure}
+
+
+\section{The user interface}\label{Interface}
+
+The user interface of \TreeTeX{} has been designed in the spirit of
+the thorough separation of the logical description of document components
+and their layout; see~\cite{DocumentFormatting,GML}. This concept
+ensures both uniformity and flexibility of document layout and frees
+authors from layout problems that have nothing to do with the
+substance of their work. For some powerful implementations and projects
+see \cite{Tables,Karlsruhe,LaTeX,Grif,Scribe}.
+
+The description of a tree consists of a description of its nodes
+in postorder. Each description of a node, in turn, has to specify
+the outdegree, the geometric shape and the labels of the node.
+Defaults are provided for all specifications,
+thereby allowing the user to omit many definitions
+if the defaults match what he or she wants.
+
+A separate style command defines layout parameters for tree drawings
+that are valid for all trees of a document.
+Layout parameters include the font to be used for labels, the diameter
+of circle nodes, the vertical distance between two subsequent levels
+of the tree, and the minimal horizontal distance between nodes.
+
+Standard versions of \TeX{} provide only a limited number of
+font and circle sizes. Hence, the user of the style command must make
+sure that the specified sizes can be realized. This is especially
+cumbersome when everything has to be magnified for later reproduction
+with reduction. But the style variables can be made parametric for
+installations that provide scalable fonts and replace \LaTeX{}'s
+circle- and line-drawing commands with routines that provide arbitrary
+diameters and slopes.
+
+Three examples of tree descriptions are given in
+Figures~\ref{firstex}--\ref{lastex}.
+A more detailed description of the user interface is
+given in~\cite{Exeter}.
+
+\section{Conclusions}
+
+We hope that, by now, we have convinced the reader of the main advantages
+of \TreeTeX{}: It integrates graphics and text; it is portable to all
+sites running \TeX{};
+and it is easy to use for the author, because it derives the drawing
+of a tree from a purely structural description. But our decision to
+implement \TreeTeX{} as a \TeX{} macro package has also some
+drawbacks, both for the programmer and for the user of the system.
+
+>From the programmer's point of view, \TeX{}'s macro language is
+a low level programming language. Hence, maintaining and extending
+the package is a more tedious task than it would be if we had used
+a higher level language with better support for modularization.
+
+>From the author's point of view, \TreeTeX{}'s limitations lie in
+speed, size of trees, and graphical primitives.
+Typesetting all the trees in this article takes about two~minutes on
+a VAX~750, and typesetting a complete binary tree with 63~internal
+and 64~external nodes takes about one~minute on the same machine.
+The size of the trees is limited by three factors, namely,
+the number of registers, the complexity of the nested boxes that
+contain the drawing of a tree, and the limited number of slopes
+that are available for the edges, the latter being the most severe
+problem at present. Hence, the main area of application for
+\TreeTeX{} is modest use such as in textbooks; displaying
+large amounts of statistical data, for example, is out of the question.
+
+Currently edges and circular nodes are drawn from \LaTeX{}'s set of
+predefined graphical characters. Hence, \TreeTeX{} cannot draw
+arbitrarily wide trees or large circular nodes. We consider
+this restriction, however, to be a temporary one, since a committee inside
+the \TeX{} Users Group is working on standard graphic
+extensions to \TeX{} that will remove these limitations.
+
+As to further developments of \TreeTeX{}, it would be desirable to
+draw larger classes of trees, for example multiway trees, and to allow
+labels not only for nodes, but also for edges and whole subtrees.
+
+
+\Treestyle{\vdist{60pt}}
+\dummyhalfcenterdim@n=10pt
+
+\begin{Figure}
+\centering
+\begin{Tree}
+\node{\external\bnth{first}\cntr{1}\lft{Beeton}}
+\node{\external\cntr{3}\rght{Kellermann}}
+\node{\cntr{2}\lft{Carnes}}
+\node{\external\cntr{6}\lft{Plass}}
+\node{\external\bnth{last}\cntr{8}\rght{Tobin}}
+\node{\cntr{7}\rght{Spivak}}
+\node{\leftonly\cntr{5}\rght{Lamport}}
+\node{\cntr{4}\rght{Knuth}}
+\end{Tree}
+
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}\
+
+\begin{verbatim}
+\begin{Tree}
+\node{\external\bnth{first}\cntr{1}\lft{Beeton}}
+\node{\external\cntr{3}\rght{Kellermann}}
+\node{\cntr{2}\lft{Carnes}}
+\node{\external\cntr{6}\lft{Plass}}
+\node{\external\bnth{last}\cntr{8}\rght{Tobin}}
+\node{\cntr{7}\rght{Spivak}}
+\node{\leftonly\cntr{5}\rght{Lamport}}
+\node{\cntr{4}\rght{Knuth}}
+\end{Tree}
+
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}
+\end{verbatim}
+
+\caption{This is an example of a tree that includes labels.}
+\label{firstex}
+\end{Figure}
+
+\begin{Figure}
+\centering
+\begin{Tree}
+\node{\external\type{frame}\bnth{first}\cntr{Beeton}}
+\node{\external\type{frame}\cntr{Kellermann}}
+\node{\type{frame}\cntr{Carnes}}
+\node{\external\type{frame}\cntr{Plass}}
+\node{\external\type{frame}\bnth{last}\cntr{Tobin}}
+\node{\type{frame}\cntr{Spivak}}
+\node{\leftonly\type{frame}\cntr{Lamport}}
+\node{\type{frame}\cntr{Knuth}}
+\end{Tree}
+
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}\
+
+\begin{verbatim}
+\begin{Tree}
+\node{\external\type{frame}\bnth{first}\cntr{Beeton}}
+\node{\external\type{frame}\cntr{Kellermann}}
+\node{\type{frame}\cntr{Carnes}}
+\node{\external\type{frame}\cntr{Plass}}
+\node{\external\type{frame}\bnth{last}\cntr{Tobin}}
+\node{\type{frame}\cntr{Spivak}}
+\node{\leftonly\type{frame}\cntr{Lamport}}
+\node{\type{frame}\cntr{Knuth}}
+\end{Tree}
+
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}
+\end{verbatim}
+\caption{This is an example of a tree with framed center labels.}
+\end{Figure}
+
+\begin{Figure}
+\Treestyle{\treefonts{\small\it}\nodesize{16pt}\vdist{40pt}\minsep{16pt}}
+\centering
+\begin{Tree}
+\node{\external\bnth{first}\cntr{1}\lft{Beeton}}
+\node{\external\cntr{3}\rght{Kellermann}}
+\node{\cntr{2}\lft{Carnes}}
+\node{\external\cntr{6}\lft{Plass}}
+\node{\external\bnth{last}\cntr{8}\rght{Tobin}}
+\node{\cntr{7}\rght{Spivak}}
+\node{\leftonly\cntr{5}\rght{Lamport}}
+\node{\cntr{4}\rght{Knuth}}
+\end{Tree}
+
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}\
+
+\caption{This tree was produced from the same logical description as in
+Figure~\ref{firstex}, but with different style parameters}
+\label{lastex}
+\end{Figure}
+
+\clearpage
+\bibliography{trees}
+\end{document}
+
+
diff --git a/Master/texmf-dist/doc/plain/treetex/readme b/Master/texmf-dist/doc/plain/treetex/readme
new file mode 100644
index 00000000000..575afc2fe0b
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/treetex/readme
@@ -0,0 +1,19 @@
+TreeTeX is a public domain macro package for drawing
+trees with TeX. It may be freely distributed, provided
+that the following files are kept together:
+
+ README epodd.bbl epodd.tex tree_doc.bbl tree_doc.tex
+ classes.tex l_pic.tex treetex.tex
+
+Copyright is with Anne Brueggemann-Klein and Derick Wood.
+
+All remarks, bug reports etc. should be directed to
+
+ Dr. Anne Brueggemann-Klein
+ Institut fuer Informatik
+ Rheinstr. 10--12
+ 7800 Freiburg, West Germany
+
+ email: abk@sun1.ruf.uni-freiburg.dbp.de
+
+
diff --git a/Master/texmf-dist/doc/plain/treetex/tree_doc.bbl b/Master/texmf-dist/doc/plain/treetex/tree_doc.bbl
new file mode 100644
index 00000000000..88c540ee0b7
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/treetex/tree_doc.bbl
@@ -0,0 +1,97 @@
+\begin{thebibliography}{10}
+
+\bibitem{Tables}
+R.~J. Beach.
+\newblock {\it Setting Tables and Illustrations with Style}.
+\newblock PhD thesis, University of Waterloo, 1985.
+
+\bibitem{Karlsruhe}
+A. Br{\"u}ggemann-Klein, P. Dolland, and A. Heinz.
+\newblock How to please authors and publishers: a versatile document
+ preparation system at {K}arlsruhe.
+\newblock In J. D\'esarm\'enien, editor, {\it {\TeX{}} for Scientific
+ Documentation}, Strasbourg, France, June 1986.
+\newblock LNCS~236.
+
+\bibitem{TreeTeX}
+A. Br{\"u}ggemann-Klein and D. Wood.
+\newblock {\it Tree{\TeX}: Documentation and User Handbook}.
+\newblock Technical Report, University of Waterloo, 1987.
+
+\bibitem{AverageHeight}
+N.G. de~Bruijn, D. Knuth, and S.O. Rice.
+\newblock The average height of planted plane trees.
+\newblock In R.C. Read, editor, {\it Graph Theory and Computing}, 1972.
+
+\bibitem{BinarySearchTrees}
+L. Devroye.
+\newblock A note on the height of binary search trees.
+\newblock {\it Journal of the ACM}, 33(3), July 1986.
+
+\bibitem{BinaryTrees}
+Ph. Flajolet and A. Odlyzko.
+\newblock The average height of binary trees and other simple trees.
+\newblock {\it Journal of Computer and System Sciences}, 25, 1982.
+
+\bibitem{DocumentFormatting}
+R. Furuta, J. Scofield, and A. Shaw.
+\newblock Document formatting systems: surveys, concepts, issues.
+\newblock {\it Computing Surveys}, 14(3), 1982.
+
+\bibitem{GML}
+Ch.~F. Goldfarb.
+\newblock A generalized approach to document markup.
+\newblock {\it SIGPLAN Notices of the ACM}, June 1981.
+
+\bibitem{ACP}
+D.~E. Knuth.
+\newblock {\it Fundamental Algorithms}.
+\newblock Volume~1 of {\it The Art of Computer Programming}, Addison-Wesley,
+ Reading, Massachusetts, 1973.
+
+\bibitem{TeXbook}
+D.~E. Knuth.
+\newblock {\it The {\TeX{}}book}.
+\newblock Volume~A of {\it Computers \& Typesetting}, Addison-Wesley, Reading,
+ Massachusetts, 1986.
+
+\bibitem{LaTeX}
+L. Lamport.
+\newblock {\it {\LaTeX}, User's Guide \& Reference Manual}.
+\newblock Addison-Wesley, Reading, Massachusetts, 1986.
+
+\bibitem{Brother}
+Th. Ottmann, H.-W. Six.
+\newblock Eine neue Klasse ausgeglichener Bin\"arb\"aume.
+\newblock {\it Angewandte Informatik}, 9, 1976.
+
+\bibitem{Grif}
+V. Quint, I. Vatton, and H. Bedor.
+\newblock Grif: an interactive environment for {\TeX{}}.
+\newblock In J. D\'esarm\'enien, editor, {\it {\TeX{}} for Scientific
+ Documentation}, Strasbourg, France, June 1986.
+\newblock LNCS~236.
+
+\bibitem{Scribe}
+B.~K. Reid.
+\newblock {\it Scribe: A Document Specification Language and its Compiler}.
+\newblock PhD thesis, Carnegie Mellon University, 1980.
+
+\bibitem{TidierTrees}
+E.~M. Reingold and J.~S. Tilford.
+\newblock Tidier drawings of tree.
+\newblock {\it IEEE Transactions on Software Engineering}, 7(2), March 1981.
+
+\bibitem{Complexity}
+K.~J. Supowit and E.~M. Reingold.
+\newblock The complexity of drawing trees nicely.
+\newblock {\it Acta Informatica}, 18, 1983.
+
+\bibitem{TidyTrees}
+Ch. Wetherell and A. Shannon.
+\newblock Tidy drawings of trees.
+\newblock {\it IEEE Transactions on Software Engineering}, 5(5), September
+ 1979.
+
+\end{thebibliography}
+
diff --git a/Master/texmf-dist/doc/plain/treetex/tree_doc.tex b/Master/texmf-dist/doc/plain/treetex/tree_doc.tex
new file mode 100644
index 00000000000..635d0dab5d6
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/treetex/tree_doc.tex
@@ -0,0 +1,1331 @@
+% This is tree_doc.tex, the documentation for the treetex macro package
+% as it will appear in the conference proceedings of the third European
+% TeX meeting in Exeter, England, 1988.
+
+\documentstyle[12pt,a4]{article}
+
+\advance\voffset by -2cm
+
+\clubpenalty=10000
+\widowpenalty=10000
+\def\addcontentsline#1#2#3{\relax}% Some captions are too long for some
+ % TeX installations (buffer size too small)
+
+
+\newenvironment{lemma}{\begingroup\samepage\begin{lemmma}\ }{\end{lemmma}%
+ \endgroup}
+\newtheorem{lemmma}{Lemma}[section]
+\newenvironment{proof}{\begin{prooof}\rm\ \nopagebreak}{\end{prooof}}
+\newcommand{\proofend}{\qquad\ifmmode\Box\else$\Box$\fi}
+\newtheorem{prooof}{Proof}
+\renewcommand{\theprooof}{} % makes shure that prooof doesn't get numbers
+\newenvironment{Figure}{\begin{figure}\vspace{1\baselineskip}}%
+ {\vspace{1\baselineskip}\end{figure}}
+\newlength{\figspace} % space between figures in a single
+\setlength{\figspace}{30pt} % Figure environment
+
+\newcommand{\var}[1]{{\it #1\/}} % use it for names of variables
+\renewcommand{\emph}[1]{{\em #1\/}} % use it for emphazided text
+ % (This notion sticks to the
+ % applicative style of markup.)
+\renewcommand{\O}{{\rm O}} % O-notation, also for math mode
+\newcommand{\T}{{\cal T}} % the set T in math mode
+\newcommand{\TreeTeX}{Tree\TeX}
+\newcommand{\fig}[1]{Figure~\ref{#1}}
+\let\p\par
+
+\input treetex
+\Treestyle{\vdist{20pt}\minsep{16pt}}
+\dummyhalfcenterdim@n=2pt
+
+\def\Node(#1,#2){\put(#1,#2){\circle*{4}}}
+\def\Edge(#1,#2,#3,#4,#5){\put(#1,#2){\line(#3,#4){#5}}}
+
+\def\enode{\node{\external\type{dot}}}
+\def\inode{\node{\type{dot}}}
+
+\def\e{\node{\external\type{dot}}}
+\def\i{\node{\type{dot}}}
+\def\il{\node{\type{dot}\leftonly}}
+\def\ir{\node{\type{dot}\rightonly}}
+
+\newcommand{\stack}[3]{%
+ \vtop{\settowidth{\hsize}{#1}%
+ \setlength{\leftskip}{0pt plus 1fill}%
+ \setlength{\baselineskip}{#2}#3}}
+
+\let\multic\multicolumn
+
+\newlength{\hd} % hidden digit
+\setbox0\hbox{1}
+\settowidth{\hd}{\usebox{0}}
+\newcommand{\ds}{\hspace{\hd}} % digit space
+
+\newcommand{\ccol}[1]{\multicolumn{1}{c}{#1}}
+
+\hyphenation{post-or-der sym-bol Karls-ruhe bool-ean}
+
+\begin{document}
+
+\bibliographystyle{plain}
+
+\title{Drawing Trees Nicely with \TeX\thanks{This work was supported by
+ a Natural Sciences and Engineering Research Council of Canada
+ Grant~A-5692 and a Deutsche Forschungsgemeinschaft Grant~Sto167/1-1.
+ It was started during the first author's stay with
+ the Data Structuring Group in Waterloo.}}
+\author{Anne Br\"uggemann-Klein\thanks{Institut f\"ur Informatik,
+ Universit\"at Freiburg, Rheinstr.~10--12, 7800~Freiburg,
+ West~Germany}\ \and Derick Wood\thanks{Data
+ Structuring Group, Department of Computer Science, University of
+ Waterloo, Waterloo, Ontario, N2L~3G1, Canada}}
+\maketitle
+
+\begin{abstract}
+
+Various algorithms have been proposed for the difficult problem of
+producing aesthetically pleasing drawings of trees, see~%
+\cite{TidierTrees,TidyTrees} but
+implementations only exist as ``special purpose software'',
+designed for special environments. Therefore,
+many users resort to the
+drawing facilities available on most personal computers, but the
+figures obtained in this way still look ``hand-drawn''; their quality is
+inferior to the quality of the surrounding text that can be realized by
+today's high quality text processing systems.
+
+In this paper we present an entirely new solution that
+integrates a tree drawing algorithm into one of the best text
+processing systems available. More precisely, we present a \TeX{} macro package
+\TreeTeX{} that produces a drawing of a tree from a purely logical
+description. Our approach has three advantages. First, labels
+for nodes can be handled in a reasonable way. On the one hand, the tree
+drawing algorithm can compute the widths of the labels and take
+them into account for the positioning of the nodes; on the other hand,
+all the textual parts of the document can be treated uniformly. Second,
+\TreeTeX{} can be trivially ported to any site running \TeX{}. Finally,
+modularity in the description of a tree and \TeX{}'s macro capabilities
+allow for libraries of subtrees and tree classes.
+
+In addition, we have implemented an option that produces
+drawings which make the
+\emph{structure} of the trees more obvious to the human eye,
+even though they may not be as aesthetically pleasing.
+
+\end{abstract}
+
+\section{Aesthetical criteria for drawing trees}
+
+One of the most commonly used data structures in computer science is the tree.
+As many people are using trees in their research or just as illustration
+tools, they are usually struggling with the problem of
+\emph{drawing} trees. We are concerned primarily with ordered
+trees in the sense of~\cite{ACP}, especially binary and unary-binary
+trees. A binary tree is a finite set of nodes which either
+is empty, or consists of a root and two disjoint binary trees called
+the left and right subtrees of the root. A unary-binary tree is
+a finite set of nodes which either is empty, or consists of a root and
+two disjoint unary-binary trees, or consists of a root and one
+nonempty unary-binary tree. An extended binary tree is a binary tree
+in which each node has either two nonempty subtrees or two
+empty subtrees.
+
+For these trees there
+are some basic agreements on how they should be drawn, reflecting
+the top-down and left-right ordering of nodes in a tree;
+see \cite{TidierTrees} and \cite{TidyTrees}.
+
+\begin{enumerate}
+\item[1.] Trees impose a distance on the nodes; no node
+ should be closer to the root than any of its
+ ancestors.
+\item[2.] Nodes of a tree at the same height should lie on a straight
+ line, and the straight lines defining the levels should be
+ parallel.
+\item[3.] The relative order of nodes on any level should be the same
+ as in the level order traversal of the tree.
+\end{enumerate}
+
+These axioms guarantee that trees are drawn as planar graphs: edges do
+not intersect except at nodes. Two further axioms improve the aesthetical
+appearance of trees:
+
+\begin{enumerate}
+\item[4.] In a unary-binary tree, each left child should be positioned
+ to the left of its parent, each
+ right child to the right of its parent, and each unary child
+ should be positioned below its parent.
+\item[5.] A parent should be centered over its children.
+\end{enumerate}
+
+An additional axiom deals with the problem of tree drawings becoming too wide
+and therefore exceeding the physical limit of the output medium:
+
+\begin{enumerate}
+\item[6.] Tree drawings should occupy as little width as possible without
+ violating the other axioms.
+\end{enumerate}
+
+In \cite{TidyTrees}, Wetherell and Shannon introduce two algorithms for
+tree drawings, the first of which fulfills axioms~1--5, and the second
+1--6. However, as Reingold and Tilford in \cite{TidierTrees}
+point out, there is a lack of symmetry in the algorithms of
+Wetherell and Shannon which may lead to unpleasant results.
+Therefore, Reingold and Tilford introduce a new structured
+axiom:
+
+\begin{enumerate}
+\item[7.] A subtree of a given tree should be
+ drawn the same way regardless of where it occurs in the given tree.
+\end{enumerate}
+
+Axiom~7 allows the same tree to be drawn differently when it occurs as
+a subtree in different trees.
+Reingold and Tilford give an algorithm which fulfills axioms~1--5
+and~7. Although
+this algorithm doesn't fulfill axiom~6,
+the aesthetical improvements are well worth the additional space.
+\fig{algorithms} illustrates the benefits of axiom~7, and \fig{narrowtrees}
+shows that the algorithm of Reingold and Tilford violates axiom~6.
+
+\begin{Figure}
+\centering
+\leavevmode\noindent
+\begin{Tree}
+\enode
+\enode\enode\inode\enode\enode\inode\inode\inode
+\node{\external\type{dot}\rght{\unskip\hskip2\mins@p\hskip2\dotw@dth}}
+\enode\enode\inode\enode\enode\inode\inode\inode
+\inode
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\qquad
+\begin{Tree}
+\enode
+\enode\enode\inode\enode\enode\inode\inode\inode
+\enode
+\enode\enode\inode\enode\enode\inode\inode\inode
+\inode
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\
+\caption{The left tree is drawn by the algorithm of Wetherell and Shannon,
+and the tidier right one is drawn by the algorithm of Reingold and Tilford.}
+\label{algorithms}
+
+\vspace{\figspace}
+\centering
+\leavevmode\noindent
+\begin{Tree}
+\enode\enode\enode\enode\enode\enode\enode\enode\enode
+\enode\inode\inode\inode
+\enode\inode\inode\inode
+\enode\inode\inode\inode
+\enode\inode\inode\inode
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\qquad
+\begin{Tree}
+\enode\enode\enode\enode\enode\enode\enode\enode
+\node{\external\type{dot}\rght{\unskip\hskip\mins@p\hskip\dotw@dth}}
+\enode\inode\inode\node{\type{dot}\rght{\unskip\hskip\mins@p\hskip\dotw@dth}}
+\enode\inode\inode\node{\type{dot}\rght{\unskip\hskip\mins@p\hskip\dotw@dth}}
+\enode\inode\inode\node{\type{dot}\rght{\unskip\hskip\mins@p\hskip\dotw@dth}}
+\enode\inode\inode\inode
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\
+\caption{The left tree is drawn by the algorithm of Reingold and Tildford, but
+the right tree shows that narrower drawings fulfilling all aesthetic axioms
+are possible.}
+\label{narrowtrees}
+\end{Figure}
+
+
+\section{The algorithm of Reingold and Tilford}
+
+The algorithm of Reingold and Tilford (hereafter called ``the RT~algorithm'')
+takes a modular approach to the
+positioning of nodes: The relative positions of the nodes in a subtree
+are calculated independently from the rest of the tree. After the
+relative positions of two subtrees have been calculated, they can be
+joined as siblings in a larger tree by placing them as close
+together as possible and centering the parent node above them.
+Incidentally, the modularity principle is the reason that the
+algorithm fails to fulfill axiom~6; see~\cite{Complexity}.
+Two sibling subtrees are placed as close together as possible,
+during a postorder traversal, as follows. At each node \var{T},
+imagine that its two subtrees have been drawn and cut out of paper along
+their contours. Then, starting with the two subtrees superimposed at their
+roots, move them apart until a minimal agreed upon distance
+between the trees is obtained at each level. This can be done gradually:
+Initially, their roots are separated by some agreed upon minimum
+distance. Then, at the next lower level,
+they are pushed
+apart until the minimum separation is established there.
+This process is continued at successively lower levels until the
+bottom of the shorter subtree is reached. At some levels no movement may be
+necessary; but at no level are the two subtrees moved closer
+together. When the process is complete, the position of the
+subtrees is fixed relative to their parent, which is centered over them.
+Assured that the subtrees will never be placed closer together,
+the postorder traversal is continued.
+
+A nontrivial implementation of
+this algorithm has been obtained by Reingold and Tilford that runs
+in time $\O(N)$, where $N$ is the number of
+nodes of the tree to be drawn.
+Their crucial idea is to keep track of the contour of the subtrees
+by special pointers, called threads, such that whenever
+two subtrees are joined, only the
+top part of the trees down to the lowest level of the
+smaller tree need to be taken into account.
+
+The RT algorithm is given in \cite{TidierTrees}.
+The nodes are positioned on a fixed grid and are
+considered to have zero width. No labelling is provided. The algorithm only
+draws binary trees, but is easily extendable to multiway trees.
+
+\section{Improving human perception of trees}
+
+It is common understanding in book design that aesthetics and readability
+don't necessarily coincide, and---as Lamport (\cite{LaTeX}) puts it---%
+books are meant to be read, not to be hung on walls. Therefore, readability is
+more important than aesthetics.
+
+When it comes to tree drawings, readability means that the structure of
+a tree must be easily recognizable. This criterion is not always met
+by the RT~algorithm. As an example, there are trees whose structure is very
+different, the only common thing being the fact that they have the same number
+of nodes at each level. The RT~algorithm might assign identical positions to
+these nodes making it very hard to perceive the different structures.
+Hence, we have modified the RT~algorithm such that additional white space
+is inserted between subtrees of
+\emph{significant} nodes. Here a binary node
+is called significant if the minimum distance
+between its two subtrees is taken \emph{below} their root level.
+Setting the amount of additional white space to zero retains the original RT~%
+placement. The effect of having nonzero additional white space between
+the subtrees of significant
+nodes is illustrated in \fig{addspace} .
+
+Another feature we have added to the RT~algorithms is the possibility to draw
+an unextended binary tree with the same placement of nodes as its
+associated extended version. We define the \emph{associated extended version}
+of a binary tree to be the binary tree obtained by replacing each empty subtree
+having a nonempty sibling with a subtree consisting of one node. This feature
+also makes the structure of a tree more prominent; see \fig{extended}.
+
+\begin{Figure}
+\centering
+\leavevmode\noindent
+\begin{Tree}
+\e\il\e\e\i\i\il % the left subtree
+\e\ir\il % the right subtree
+\i
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\qquad
+\begin{Tree}
+\e\il\il\il % the left subtree
+\e\e\i\e\i\il % the right subtree
+\i
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\qquad
+\adds@p10pt
+\begin{Tree}
+\e\il\e\e\i\node{\type{dot}\lft{$\longrightarrow$}}\il % the left subtree
+\e\ir\il % the right subtree
+\node{\type{dot}\lft{$\longrightarrow$}}
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\qquad
+\begin{Tree}
+\e\il\il\il % the left subtree
+\e\e\i\e\i\il % the right subtree
+\node{\type{dot}\lft{$\longrightarrow$}}
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\
+\adds@p0pt
+
+\caption{The first two trees get the same placement of their nodes
+by the RT~algorithm, although the structure of the two trees is very different.
+The alternative drawings highlight the structure of the trees by adding
+additional white space between the subtrees of
+($\longrightarrow$) significant nodes.}
+\label{addspace}
+\end{Figure}
+
+\begin{Figure}
+\centering
+\leavevmode\noindent
+\begin{Tree}
+\e\e\i\il\e\e\i\i
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\qquad
+\begin{Tree}
+\e\e\i\e\i\e\ir\i
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\qquad
+\extended
+\begin{Tree}
+\e\e\i\il\e\e\i\i
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\qquad
+\begin{Tree}
+\e\e\i\e\i\e\ir\i
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\\
+\noextended
+\begin{Tree}
+\e\e\i\e\i\e\e\i\i
+\end{Tree}
+\hskip\leftdist\box\TeXTree\hskip\rightdist\
+\caption{In the first two drawings, the RT~algorithm assigns the same placement
+to the nodes of two trees although their structure is very different. The modified
+RT~algorithms highlights the structure of the trees by optionally
+drawing them like their extended
+counterpart, which is given in the second row.}
+\label{extended}
+\end{Figure}
+
+
+\section{Trees in a document preparation environment}
+
+Drawings of trees usually don't come alone, but are included in some text
+which is itself typeset by a text processing system. Therefore, a typical
+scenario is a pipe of three stages. First comes the tree drawing
+program which calculates the positioning of the nodes of the tree to
+be drawn and outputs a description of the tree drawing in
+some graphics language; next comes a graphics system which transforms this
+description into an intermediate language which can be interpreted by the output
+device; and finally comes the
+text processing system which integrates the output of the
+graphics system into the text.
+
+This scenario loses its linear structure once nodes have to be labelled, since
+the labelling influences the positioning of the nodes. Labels usually occur
+inside, to the left of, to the right of, or beneath nodes (the latter only for
+external nodes), and their extensions certainly should be taken into account
+by the tree drawing algorithm. But the labels have to be typeset first
+in order to determine their extensions,
+preferably by the typesetting program that
+is used for the regular text, because this method makes for the uniformity in the textual
+parts of the document and provides the author with the full power of the
+text processing system for composing the labels. Hence, a more complex
+communication scheme than a simple pipe is required.
+
+Although a system of two processes running simultaneously might be the most
+elegant solution, we wanted a system that is easily portable to
+a large range of hardware at our sites
+including personal computers with single process
+operating systems.
+Therefore, we thought of using a text processing system
+having programming facilities powerful enough to program a tree drawing algorithm
+and graphics facilities powerful enough
+to draw a tree. One text processing system
+rendering outstanding typographic quality and good enough programming
+facilities is \TeX, developed by Knuth at Stanford University;
+see~\cite{TeXbook}.
+The \TeX{} system includes the following programming facilities:
+
+\begin{enumerate}
+\item[1.] datatypes:\\
+ integers~(256), dimensions\footnote{The term \emph{dimension} is used
+ in \TeX\ to describe physical measurements of typographical objects,
+ like the length of a word.}~(512), boxes~(256), tokenlists~(256), boolean
+ variables~(unrestricted)
+\item[2.] elementary statements:\\
+ $a:=\rm const$, $a:=b$ (all types);\\
+ $a:=a+b$, $a:=a*b$, $a:=a/b$ (integers and dimensions);\\
+ horizontal and vertical nesting of boxes
+\item[3.] control constructs:\\
+ if-then-else statements testing relations between integers,
+ dimensions, boxes, or boolean variables
+\item[4.] modularization constructs:\\
+ macros with up to 9~parameters (can be viewed as procedures without
+ the concept of local variables).
+\end{enumerate}
+
+Although the programming
+facilities of \TeX{} hardly exceed the abilities of a Turing machine,
+they are sufficient to
+handle relatively small programs. How about the graphics facilities?
+Although \TeX{} has no built-in graphics facilities, it
+allows the placement of characters in arbitrary positions on
+the page. Therefore, complex pictures can be synthesized from elementary
+picture elements treated as characters. Lamport has included such
+a picture drawing environment in his macro package \LaTeX, using
+quarter circles of different sizes and line segments (with and without
+arrow heads) of different slopes as basic elements; see~\cite{LaTeX}.
+These elements are sufficient for drawing trees.
+
+This survey of \TeX's capabilities implies that \TeX{} may be a suitable
+text processing system to implement a tree drawing algorithm directly.
+We are basing our algorithm on the RT~algorithm, because this algorithm
+gives the aesthetically most pleasing results. In the first version
+presented here, we
+restrict ourselves to unary-binary trees, although our method is
+applicable to arbitrary multiway trees. But in order to take advantage
+of the text processing environment, we expand the algorithm to allow
+labelled nodes.
+
+In contrast to previous tree drawing programs, we feel no necessity to
+position the nodes of a tree on a fixed grid. While this may be
+reasonable for a plotter with a coarse resolution, it is certainly not
+necessary for \TeX, a system that is capable of handling
+arbitrary dimensions
+and produces device \emph{independent} output.
+
+
+\section{A representation method for \TeX{}trees}
+
+The first problem to be solved in implementing our tree drawing algorithm
+is how to choose a good internal representation
+for trees. A straightforward adaptation
+of the implementation by Reingold and Tilford requires, for each node,
+at least the following fields:
+
+\begin{enumerate}
+\item two pointers to the children of the node
+\item two dimensions for the offset to the left and the right child (these
+ may be different once there are labels of different widths to the
+ left and right of the nodes)
+\item two dimensions for the $x$- and $y$-coordinates of the final
+ position of the nodes
+\item three or four labels
+\item one token to store the geometric shape (circle, square, framed text etc.)
+ of the node.
+\end{enumerate}
+
+Because these data are used very frequently in calculations, they should be
+stored in registers (that's what variables are called in \TeX),
+rather than being recomputed, in order to obtain
+reasonably fast performance. This gives a total of $10N$ registers for
+a tree with $N$ nodes, which would exceed
+\TeX's limited supply of registers. Therefore, we present a
+modified algorithm hand-tailored to the abilities of \TeX{}.
+We start with the following observation.
+Suppose a unary-binary tree is constructed bottom-up, in a postorder
+traversal. This is done by iterating the following three steps in
+an order determined by the tree to be constructed.
+
+\begin{enumerate}
+\item Create a new subtree consisting of one external node.
+\item Create a new subtree by appending the two subtrees created last
+ to a new binary node; see \fig{Construct}.
+\item Create a new subtree by appending the subtree created last as a left,
+ right, or unary subtree of a new node; see \fig{Construct}.
+\end{enumerate}
+
+(A pointer to) each subtree that has been
+created in steps 1--3 is pushed onto a stack, and
+steps 2 and 3 remove two trees or one, respectively,
+from the stack before the push
+operation is carried out. Finally, the tree to be constructed will
+be the remaining tree on the
+stack.
+
+\begin{Figure}
+\centering
+\begin{Tree}
+\treesymbol{\lvls{2}}%
+\hspace{-\l@stlmoff}\usebox{\l@sttreebox}\hspace{\l@strmoff}
+$+$
+\treesymbol{\lvls{2}}%
+\hspace{-\l@stlmoff}\usebox{\l@sttreebox}\hspace{\l@strmoff}\quad
+$\Longrightarrow$\quad
+\treesymbol{\lvls{2}}%
+\treesymbol{\lvls{2}}%
+\node{\type{dot}}%
+\hspace{-\l@stlmoff}\raisebox{\vd@st}{\usebox\l@sttreebox}\hspace{\l@strmoff}%
+\end{Tree}
+
+\vskip\baselineskip
+
+\begin{Tree}
+\treesymbol{\lvls{2}}%
+\hspace{-\l@stlmoff}\usebox{\l@sttreebox}\hspace{\l@strmoff}\quad
+$\Longrightarrow$\quad
+\treesymbol{\lvls{2}}%
+\node{\leftonly\type{dot}}%
+\hspace{-\l@stlmoff}\raisebox{\vd@st}{\usebox\l@sttreebox}\hspace{\l@strmoff}%
+\quad or\quad
+\treesymbol{\lvls{2}}%
+\node{\unary\type{dot}}%
+\hspace{-\l@stlmoff}\raisebox{\vd@st}{\usebox\l@sttreebox}\hspace{\l@strmoff}%
+\quad or\quad
+\treesymbol{\lvls{2}}%
+\node{\rightonly\type{dot}}%
+\hspace{-\l@stlmoff}\raisebox{\vd@st}{\usebox\l@sttreebox}\hspace{\l@strmoff}%
+\end{Tree}
+
+\caption{Construction steps 2 and 3}
+\label{Construct}
+\end{Figure}
+
+This tree traversal is performed twice in the RT~algorithm.
+During the first pass,
+at each execution of step 2 or step 3, the relative positions of the
+subtree(s) and of the new node are computed.
+A closer examination of the RT~algorithm reveals that information about the
+subtree's coordinates is not needed during this pass; the contour information
+alone would be sufficient. Complete information is only needed in the second
+traversal, when the tree is actually drawn. Here a special feature of
+\TeX{} comes in that allows us to save registers.
+Unlike Pascal, \TeX{} provides the capability of
+storing a drawing in a single box register that can be positioned freely in
+later drawings. This means that in our implementation the two passes
+of the original RT~algorithm can be intertwined into a single pass,
+storing for each subtree on the stack its contour and its drawing.
+Although the latter is a complex object, it takes only one of
+\TeX's precious registers.
+
+
+\section{The internal representation}
+
+Given a tree, the corresponding \TeX{}tree is a box containing
+the ``drawing'' of the tree, together with some additional
+information about the contour of the tree.
+The reference point of a \TeX{}tree-box is always in the root of the
+tree. The height, depth, and width of the box of a \TeX{}tree are
+of no importance in this context.
+
+The additional information about the contour of the tree is stored in some
+registers for numbers and dimensions and
+is needed in order to put subtrees together to form a larger tree.
+\var{loff} is an array of dimensions which contains for each
+level of the tree the horizontal offset between the
+left end of the
+leftmost node at the current level and the
+left end of the leftmost node at
+the next level.
+\var{lmoff} holds the horizontal offset between the root
+and the leftmost node of the whole tree. \var{lboff} holds the
+horizontal offset between the root and the leftmost node at
+the bottom level of the tree.
+Finally, \var{ltop} holds the distance between the reference point
+of the tree and the leftmost end of the root.
+The same is true for
+\var{roff}, \var{rmoff}, \var{rboff}, and \var{rtop}; just replace
+``left'' by ``right''. Finally,
+\var{height} holds the height of the tree, and \var{type} holds the
+geometric shape of the root of the tree. \fig{TeXtree} shows an example \TeX{}tree,
+i.e. a tree drawing and the corresponding additional information.
+
+\begin{Figure}
+\centering
+\begin{Tree}
+\e\ir\ir\e
+ \node{\type{dot}\rightonly\rght{\unskip\vrule height.8pt width5pt depth0pt}}%
+ \i % A
+\end{Tree}
+\leavevmode
+\stack{-10pt}{\vd@st}{%
+ -10pt\\10pt\\10pt\\\var{loff}}%
+\hspace{1em}%
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}%
+\hspace{1em}%
+\stack{-10pt}{\vd@st}{%
+ 15pt\\5pt\\-10pt\\\var{roff}}%
+
+\vskip\baselineskip\raggedright
+height:~3, type:~dot, ltop:~2pt, rtop:~2pt, lmoff:~-10pt, rmoff:~20pt, lboff:~10pt,
+rboff:~10pt.
+
+\caption{A \TeX{}tree consists of the drawing of the tree and the
+additional information. The width of the dots is 4pt, the minimal separation between
+adjacent nodes is 16pt, making for a distance of 20pt center to center.
+The length of the small rule labelling one of the nodes is 5pt. The column left (right)
+of the tree drawing is the array \var{loff} (\var{roff}),
+describing the left (right) contour of the tree. At each level,
+the dimension given is the horizontal
+offset between the border at the current and at the next level. The offset between
+the left border of the root node and the leftmost node at level~1 is -10pt,
+the offset between the right border of the root node and the rightmost node at
+level~1 is 15pt, etc.}
+\label{TeXtree}
+\end{Figure}
+
+Given two \TeX{}trees \var{A} and \var{B},
+how can a new \TeX{}tree \var{C} be built that
+consists of a new root and has \var{A} and \var{B} as subtrees?
+An example is given in \fig{AddInfo}.
+
+\begin{Figure}
+\centering
+\begin{Tree}
+\e\ir\ir\e
+ \node{\type{dot}\rightonly\rght{\unskip\vrule height.8pt width5pt depth0pt}}%
+ \i % A
+\end{Tree}
+\leavevmode
+A: \stack{-10pt}{\vd@st}{%
+ -10pt\\10pt\\10pt\\\ \\\var{loff}(\var{A})}%
+\hspace{1em}%
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}%
+\hspace{1em}%
+\stack{-10pt}{\vd@st}{%
+ 15pt\\5pt\\-10pt\\\ \\\var{roff}(\var{A})}%
+\qquad
+\begin{Tree}
+\e\il\e\i\il\il\ir % B
+\end{Tree}
+\leavevmode
+B: \stack{-10pt}{\vd@st}{%
+ 10pt\\-10pt\\-10pt\\-10pt\\-10pt\\\ \\\var{loff}(\var{B})}%
+\hspace{1em}%
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}%
+\hspace{1em}%
+\stack{-10pt}{\vd@st}{%
+ 10pt\\-10pt\\-10pt\\10pt\\-30pt\\\ \\\var{roff}(\var{B})}%
+\\[\figspace]
+\begin{Tree}
+\e\ir\ir\e
+ \node{\type{dot}\rightonly\rght{\unskip\vrule height.8pt width5pt depth0pt}}%
+ \i % A
+\e\il\e\i\il\il\ir % B
+\i % C
+\end{Tree}
+\leavevmode
+C: \stack{-10pt}{\vd@st}{%
+ -20\\-10pt\\%
+ \makebox[0pt][r]{\var{loff}(\var{A})$\smash{\left\{\vrule height\vd@st
+ depth\vd@st width0pt\right.}$ }%
+ 10pt\\10pt\\%
+ \makebox[0pt][r]{$\longrightarrow$ }%
+ 10pt\\%
+ \makebox[0pt][r]{\raisebox{-.5\vd@st}{\var{loff}(\var{B})$\smash
+ {\left\{\vrule height.5\vd@st
+ depth.5\vd@st width0pt\right.}$ }}%
+ \makebox[0pt][r]{-}10pt\\\ \\\var{loff}(\var{C})}%
+\hspace{1em}%
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}%
+\hspace{1em}%
+\stack{-10pt}{\vd@st}{%
+ 20pt\\10pt\\-10pt\\-10pt%
+ \makebox[0pt][l]{\raisebox{-.5\vd@st}{
+ $\smash{\left\}\vrule height2.5\vd@st
+ depth2.5\vd@st width0pt\right.}$\var{roff}(\var{B})}}%
+ \\10pt\\-30pt\\\ \\\var{roff}(\var{C})}%
+
+\vspace{\figspace}
+\centering
+\begin{tabular}{|l|r|r|r|}
+\hline
+&\multic{1}{c|}{\var{A}}&\multic{1}{c|}{\var{B}}&\multic{1}{c|}{\var{C}}\\
+\hline
+height&\multic{1}{c|}{3}& \multic{1}{c|}{5}& \multic{1}{c|}{6}\\
+type& \multic{1}{c|}{dot}&\multic{1}{c|}{dot}&\multic{1}{c|}{dot}\\
+ltop& 2pt& 2pt& 2pt\\
+rtop& 2pt& 2pt& 2pt\\
+lmoff& -10pt& -30pt& -30pt\\
+rmoff& 20pt& 10pt& 30pt\\
+lboff& 10pt& -30pt& -10pt\\
+rboff& 10pt& -30pt& -10pt\\
+\hline
+\end{tabular}\qquad
+\begin{tabular}{|c|r|r|}
+\hline
+\multic{1}{|c|}{level}&\multic{1}{c|}{\var{totsep}}&
+ \multic{1}{c|}{\var{currsep}}\\
+\hline
+0&20pt&0/16pt\\
+1&25pt&11/16\\
+2&40pt&1/16pt\\
+3&40pt&16pt\\
+\hline
+\end{tabular}
+\caption{The \TeX{}trees \var{A} and~\var{B} are combined to form the
+larger \TeX{}\-tree~\var{C}. The small table gives the
+history of computation for \var{totsep} and \var{currsep}.}
+\label{AddInfo}
+\end{Figure}
+
+
+First we determine which tree is higher; this is
+\var{B} in the example.
+Then we have to compute the minimal distance
+between the roots of \var{A} and \var{B}, such that at all levels
+of the trees there is free space of at least \var{minsep} between
+the trees when they are drawn side by side.
+For this purpose we keep track of two values, \var{totsep} and
+\var{currsep}. The variables \var{totsep} and \var{currsep}
+hold the total distance between the roots and the distance
+between the rightmost node of \var{A} and the leftmost node
+of \var{B} at the current level. In order to calculate
+\var{totsep} and \var{currsep}, we start at level 0 and
+visit each level of the trees until we reach the bottom level
+of the smaller tree; this is \var{A} in our example.
+
+At level 0, the distance between the roots of \var{A} and \var{B}
+should be at least \var{minsep}. Therefore, we set
+$\var{totsep}:=\var{minsep} + \var{rtop}(\var{A})
++ \var{ltop}(\var{B})$ and $\var{currsep}:=\var{minsep}$.
+Using $\var{roff}(\var{A})$ and $\var{loff}(\var{B})$, we can
+proceed to calculate \var{currsep} for the next level.
+If $\var{currsep} < \var{minsep}$, we have to increase \var{totsep} by
+the difference and update \var{currsep}. This process is
+iterated until we reach the lowest level of \var{A}.
+Then \var{totsep} holds the final distance between the
+nodes of \var{A} and \var{B}, as calculated by the RT~algorithm.
+If the root of \var{C} is a significant node, then the additional space ,
+which is 0pt by default, is added to \var{totsep}.
+However, the approach of synthesizing
+drawings from simple graphics characters allows only a finite
+number of orientations for the tree edges; therefore, \var{totsep}
+must be increased slightly to fit the next orientation
+available.
+
+Now we are ready to construct the box of \TeX{}tree~\var{C}.
+Simply put \var{A} and~\var{B} side by side, with the reference
+points \var{totsep}~units apart, insert a new node
+above them, and connect the parent and children by edges.
+
+Next, we update the additional information
+for \var{C}. This can be done by using the additional information
+for \var{A} and~\var{B}.
+Note that most components of $\var{roff}(\var{C})$ and
+$\var{lroff}(\var{C})$ are the same as in the higher tree, which
+is \var{B} in our case.
+So, if we can avoid moving this information around, we only have
+to access $\var{height}(\var{A}) + \var{const}$ many counters in
+order to update the additional information for \var{C}.
+This implies that we can apply the same argument as
+in~\cite{TidierTrees}, which gives
+us a running time of $\O(N)$ for drawing a tree with N nodes.
+
+Therefore, we must carefully design the storage allocation for
+the additional information of \TeX{}trees in order to fulfill the
+following requirements:
+If a new tree is built from
+two subtrees, the additional information of the new tree should
+share storage with its larger subtree.
+Organizational overhead, that is,
+pointers which keep track of the locations of different parts of additional
+information, must be avoided.
+This means that all the additional information
+for one \TeX{}tree should be stored in a row of consecutive dimension registers
+such that only one pointer granting access to the first element
+in this row is needed.
+On the other hand, each parent
+tree is higher and therefore needs more storage than its subtrees.
+So we must ensure that there is always enough space in the row
+for more information.
+
+The obvious way to fulfill these requirements is to use a stack and to
+allow only the topmost \TeX{}trees of this stack to be
+combined into a larger tree at any time.
+This leads to the following register allocation: A subsequent number of
+box registers contains the treeboxes of the subtrees in the stack. A
+subsequent number of token registers contains the type information for the
+nodes of the subtrees in the stack. For each subtree in the stack,
+a subsequent number of dimension registers contains the contour
+information of the subtree. The ordering of these groups of dimension
+registers reflects the ordering of the subtrees in the
+stack. Finally, a subsequent number of counter registers contains
+the height and the address of the first dimension register for
+each subtree in the stack. Four address counters store the addresses
+of the last treebox, type information, height, and address of contour
+information. A sketch of the register organization for a stack of \TeX{}trees
+is provided in \fig{Registers}.
+
+\begin{Figure}
+Dimension registers\\
+\var{lmoff}(1) \var{rmoff}(1) \var{lboff}(1) \var{rboff}(1) \var{ltop}(1)
+ \var{rtop}(1)\\
+\var{loff}($h_1$) \var{roff}($h_1$) \dots\ \var{loff}(1) \var{roff}(1)\\
+\dots\\
+\var{lmoff}($n$) \var{rmoff}($n$) \var{lboff}($n$) \var{rboff}($n$)
+ \var{ltop}($n$) \var{rtop}($n$)\\
+\var{loff}($h_n$) \var{roff}($h_n$) \dots\ \var{loff}(1) \var{roff}(1)\\
+\ \\
+Counter registers\\
+\var{lasttreebox} \var{lasttreeheight} \var{lasttreeinfo} \var{lasttreetype}\\
+\var{treeheight}(1) \var{diminfo}(1) \dots\ \var{treeheight}($n$)
+ \var{diminfo}($n$)\\
+\ \\
+Box registers\\
+\var{treebox}(1) \dots\ \var{treebox}($n$)\\
+\ \\
+Token registers\\
+\var{type}(1) \dots\ \var{type}($n$)
+
+\caption{\var{lasttreebox}, \var{lasttreeheight}, \var{lasttreeinfo},
+\var{lasttreetype} contain pointers to \var{treebox}($n$)
+\var{treeheight}($n$), \var{lmoff}($n$), \var{type}($n$),
+\var{diminfo}($i$) contains a pointer to
+\var{lmoff}($i$). Unused dimension registers are
+allowed between the dimension registers of subsequent trees. The counter
+registers \var{lasttreebox},\ldots,\var{diminfo}($n$) serve as a directory
+mechanism to access the \TeX{}trees on the stack.}
+\label{Registers}
+\end{Figure}
+
+
+When a new node is pushed onto the stack, the treebox, type information,
+height, address of contour information, and contour information are
+stored in the next free registers of the appropriate type, and the
+four address counters are updated accordingly.
+
+When a new tree is formed from the topmost subtrees on the stack,
+the treebox, type information, height, and address of contour information
+of the new tree are sorted in the registers formerly used by the bottommost
+subtree that has occured in the construction step, and the four address registers are
+updated accordingly. This means that these informations for the subtrees
+are no longer accessible. The contour information of the new subtree
+is stored in the same registers as the contour information of the larger
+subtree used in the construction, apart from the left and right offset
+of the root to the left and right child, which are stored in the
+following dimension registers. That means that gaps can occur
+between the contour information of subsequent subtrees in the
+stack, namely when the right subtree, which is on a higher position on the
+stack, is higher than the left one. In order to avoid these
+gaps, the user can specify an option \verb.\lefttop. when entering a
+binary node, which makes the topmost tree in the stack the
+left subtree of the node.
+
+This stack concept also has consequences for the design of the user interface
+that is discussed in Section~\ref{Interface}.
+
+\section{Space cost analysis}
+
+Suppose we want to draw a unary-binary tree $T$ of height $h$ having
+$N$ nodes\footnote{The height $h$ and the number of nodes $N$ refer to the
+drawing of the tree. $N$ is the number of circles, squares etc.~actually
+drawn, and $h$ is the number of levels in the drawing minus 1.}.
+According to our internal representation,
+for each subtree in the stack we need
+
+\begin{enumerate}
+\item one box register to store the box of the \TeX{}tree.
+\item one token register to store the type of the root of the subtree.
+\item $2h^\prime+6$ dimension registers to store the additional
+ information, where $h^\prime$ is the height of the
+ subtree.
+\item three counter registers to store the register numbers of the
+ box register, the token register, and the first dimension register above.
+\end{enumerate}
+
+The following lemma relates to $h$ and $N$ the number
+of subtrees of $T$ which are on the
+stack simultaneously and their heights.
+
+\begin{lemma}
+\begin{enumerate}
+\item At any time, there are at most $h+1$ subtrees of $T$ on the
+ stack.
+\item For each set $\T$ of subtrees of $T$ which are on the stack
+ simultaneously we have
+ $$\sum_{T^\prime\in \T}({\rm ht}(T^\prime)+1)
+ \le\min(N,{(h+1)(h+2)\over2}).$$
+\end{enumerate}
+\end{lemma}
+
+\begin{proof}
+\begin{enumerate}
+\item By induction on $h$.\label{stackdepth}
+\item The trees in $\T$ are pairwise disjoint, and each tree of
+ height $h^\prime$ has at least $h^\prime+1$ nodes. This implies
+ $$\sum_{T^\prime\in \T}({\rm ht}(T^\prime)+1)
+ \le N.$$
+ The second part is shown by induction on $h$.
+ The basis $h=0$ is clear.
+ Assume the assumption holds for all trees of height less than
+ $h$. If $\T$
+ contains only subtrees of either the left or the right subtree
+ of $T$, we have
+ $$\sum_{T^\prime\in \T}({\rm ht}(T^\prime)+1)\le
+ {h(h+1)\over2}\le{(h+1)(h+2)\over2}.$$
+ Otherwise, $\T$ contains the left or the right subtree $T_s$ of
+ $T$. Then all elements of $\T-\{T_s\}$ belong to the other
+ subtree. This implies
+ \begin{eqnarray*}
+ \sum_{T^\prime\in \T}({\rm ht}(T^\prime)+1)&\le&
+ {\rm ht}(T_s)+1
+ +\sum_{T^\prime\in \T-\{T_s\}}({\rm ht}(T^\prime)+1)\\
+ &\le& h+{h(h+1)\over2}\le{(h+1)(h+2)\over2}.\proofend
+ \end{eqnarray*}
+\end{enumerate}
+\end{proof}
+
+Therefore, our implementation uses at most $9h+2\min(N,(h+1)(h+2)/2)$
+registers. In order to compare this with the
+$10N$ registers used in the straightforward implementation,
+an estimation of the average height of a tree with $N$ nodes is
+needed. Several results, depending on the type of trees and of the
+randomization model, are cited in \fig{Stat}, which
+compares the number of registers used in a straightforward
+implementation with the average number of registers used in our
+implementation. This table shows clearly the advantage of our
+implementation.
+
+\begin{Figure}
+\centering
+\begin{tabular}{|c|c|c|c|c|}
+\hline
+&registers&\multicolumn{3}{c|}{average registers}\\
+\cline{3-5}
+nodes&(straight-&extended&unary-binary&binary\\
+&forward)&binary trees&trees&
+ search trees\\
+&&($\sqrt{\pi n}$) \cite{AverageHeight}&
+ ($\sqrt{3\pi n}$) ~\cite{BinaryTrees}&
+ ($4.311\log n$) \cite{BinarySearchTrees}\\
+\hline
+\ds8& \ds80& \ds61.12& \ds94.15& \ds51.04\\
+\ds9& \ds90& \ds65.86& 100.89& \ds55.02\\
+ 10& 100& \ds70.44& 107.37& \ds58.80\\
+ 11& 110& \ds74.91& 113.64& \ds62.41\\
+ 12& 120& \ds79.26& 119.71& \ds65.87\\
+ 20& 200& 111.34& 163.56& \ds90.48\\
+ 30& 300& 147.37& 211.33& 117.31\\
+ 40& 400& 180.89& 254.75& 132.58\\
+ 50& 500& 212.80& 295.37& 143.54\\
+\hline
+\end{tabular}
+
+\caption{The numbers of registers used by a straightforward implementation
+(second column) and by our modified implementation (third to fifth column)
+of the RT~algorithm are
+given for different types of trees and randomization models.
+The formula in parentheses indicates the average height of the respective class
+of trees, as depending on the number of nodes.}
+\label{Stat}
+\end{Figure}
+
+
+\section{The user interface}\label{Interface}
+
+\subsection{General design considerations}
+
+The user interface of \TreeTeX{} has been designed in the spirit of
+the thorough separation of the logical description of document components
+and their layout; see~\cite{DocumentFormatting,GML}. This concept
+ensures both uniformity and flexibility of document layout and frees
+authors from layout problems which have nothing to do with the
+substance of their work. For some powerful implementations and projects
+see \cite{Tables,Karlsruhe,LaTeX,Grif,Scribe}.
+
+In this context, the description of a tree is given in a purely
+logical form, and layout variations are defined by a separate style
+command which is valid for all trees of a document.
+
+A second design principle is to provide defaults for all specifications,
+thereby allowing the user to omit many definitions
+if the defaults match what he or she wants.
+
+The node descriptions of a tree must be entered in postorder.
+This fits the internal representation
+of \TeX{}trees best. Although this is a natural method of describing a
+tree, a user might prefer more flexible description methods.
+However, note that instances of well defined tree classes can be described
+easily by \TeX{} macros. In section~\ref{ExampleClasses}. we give examples of macros
+for complete binary trees and Fibonacci trees.
+
+\TreeTeX{} uses the picture making macros of \LaTeX. If \TreeTeX{} is used with
+any other macro package or format, the picture macros of
+\LaTeX{} are included automatically.
+
+\subsection{The description of a tree}
+
+The description of a tree is started by the command \verb.\beginTree.
+and closed by \verb.\endTree. (or \verb.\begin{Tree}. and
+\verb.\end{Tree}. in \LaTeX). The description can be
+started in any mode; it defines a box and two dimensions. The
+box is stored in the box register \verb.\TeXTree. and contains the
+drawing of the tree. The box has zero height and width, and its depth
+is the height of the drawing. The reference point is in the
+center of the node of the tree. The dimensions are stored in the
+registers \verb.\leftdist. and \verb.\rightdist. and describe
+the distance between the reference point and the left and
+right margin of the drawing. These data can be used to position the
+drawing of the tree.
+
+Note that the \TreeTeX{} macros don't contribute anything to the current
+page but only store their results in the registers
+\verb.\TeXTree., \verb.\leftdist., and \verb.\rightdist.. It is the
+user's job to put the drawing onto the page, using the
+commands \verb.\copy. or \verb.\box. (or \verb.\usebox. in \LaTeX).
+
+Each matching pair of \verb.\beginTree. and \verb.\endTree. must
+contain the description for only \emph{one} tree.
+Descriptions of trees cannot be nested and
+new registers cannot be allocated inside
+a matching pair of \verb.\beginTree. and \verb.\endTree..
+
+As already stated, each tree description defines the nodes of the tree in
+postorder, that is, a tree description is a particular sequence of node
+descriptions.
+
+A node description, in turn, consists of the macro \verb.\node.,
+followed by a list of node options, included in braces. The list
+of node options may be empty. The node options describe the labels,
+the geometric shape (type), and the outdegree of the node. Default values are
+provided for all options which are not explicitly specified.
+The following node options are available:
+
+\begin{enumerate}
+\item[1.] \verb.\lft{<label>}., \verb.\rght{<label>}.,
+ \verb.\cntr{<label>}.,\\\verb.\bnth{<label>}.:\\
+ These options describe the labels which are put to the left of, to the
+ right of, in the
+ center of, or beneath the node (the latter only makes sense for
+ external nodes). The arguments of these macros are processed in
+ internal horizontal mode (LR-mode in \LaTeX), but can consist of
+ arbitrary nested boxes for more sophisticated labels. For each of
+ these options, the default is an empty label.
+
+\item[2.] \verb.\external., \verb.\unary.,
+ \verb.\leftonly., \verb.\rightonly.:\\
+ These options describe the outdegree
+ of the node.
+ The default is binary (no outdegree option is specified).
+
+\item[3.] \verb.\type{<type>}.:\\
+ This option describes the type or geometric shape of the node.
+ \verb.<type>. can have the values \verb.square.,
+ \verb.dot., \verb.text., or \verb.frame..
+ The default value is \verb.circle. (no type is specified). A node of type
+ \verb.square. has a fixed width, while a node of type \verb.frame. has its
+ width determined by the center label. A node of type \verb.text. has no frame
+ around its center label. The center label can have arbitrary width.
+
+\item[3.] \verb.\leftthick., \verb.\rightthick.:
+ These options change the thickness of the left or right outgoing edge of
+ a binary node. Defaults are thin edges (neither option is specified).
+
+\item[4.] \verb.\lefttop.:\\
+ The node option \verb.\lefttop. in a binary node makes the
+ last entered subtree the left child of the node (the right child is the
+ default). This option helps to cut down on the number of dimension registers
+ used during the construction of a tree. As a rule of thumb,
+ this option is recommended when the left subtree has a smaller
+ height than the right subtree, that is,
+ in this case the right subtree should
+ be entered before the left one and their parent should be assigned the option
+ \verb.\lefttop..
+\end{enumerate}
+
+\subsection{Macros for classes of trees}
+\label{ExampleClasses}
+
+Tree descriptions can be produced by macros. This is especially useful
+for trees which belong to a larger class of trees and which can be specified
+by some simple parameters. A small library of such
+macros is provided in the file \verb!TreeClasses.tex!.
+
+\begin{enumerate}
+\item[1.] \verb.\treesymbol{<node options>}.:\\
+ This macro produces a triangular tree symbol which can be included in
+ a tree description instead of an external node. Labels for these
+ tree symbols are described as for ordinary nodes. In addition, the
+ options \verb.\lvls{<number>}. and \verb.\slnt{<number>}.
+ are provided. \verb.\lvls. defines the number of levels in the
+ tree over which the triangle extends, and \verb.\slnt. gives
+ the slant of the sides of the triangle, ranging from 1~(minimal)
+ to 24~(maximal). On the other hand,
+ \verb.\treesymbol. does not expand to a tree description, because
+ a tree symbol cannot be built from subtrees, and, on the other hand,
+ it is not a node, because it is allowed to extend over several tree
+ levels and therefore has a longer contour than an ordinary node.
+
+\item[2.] \verb.\binary{<bin specification>}.:\\
+ This macro truly expands to a tree description. It produces
+ a complete binary tree, that is, an extended binary tree,
+ where, for a given $h$, all external nodes appear at level $h$
+ or $h-1$, and all external nodes at level $h$ lie left of those at
+ level $h-1$. \verb.<bin specification>. consists of the
+ following options:
+ \verb.\no{<number>}. defines the number of internal nodes,
+ with \verb.<number>. greater than 0, and
+ \verb.\squareleaves. produces leaves of type
+ \verb.square.. Defaults are \verb.\no{1}. and
+ leaves of type \verb.circle..
+
+\item[3.] \verb.fibonacci{<fib specification>}.:\\
+ This macro produces a Fibonacci tree.
+ \verb.<fib specification>. allows for the three options
+ \verb.\hght{<number>}., \verb.\unarynodes.,
+ and \verb.\squareleaves..
+ Normally, a Fibonacci tree of height $h+2$ is a binary tree
+ with Fibonacci trees of height $h$ and $h+1$ as left and
+ right subtrees. The option \verb.\unarynodes. means that the
+ Fibonacci tree is augmented by unary nodes such that each
+ two subtree siblings have the same height. These are examples
+ of what has been called brother-trees in the literature;
+ see~\cite{Brother}. Defaults are
+ \verb.\hght{0}., the unaugmented version of a Fibonacci tree,
+ and external nodes of type \verb.circle..
+\end{enumerate}
+
+\subsection{Style options for trees}
+\sloppy
+The \TreeTeX{} package includes a style command
+\verb.\Treestyle{<style option>}., where \verb.<style option>.
+contains all the parameter settings the user might want
+to change.
+Normally, the command \verb.\Treestyle. appears only once at the beginning
+of the document and the style options are valid for all trees of the
+document.
+
+\fussy
+The changes in the style options are global. A \verb.\Treestyle. command
+changes only the specified style options; non-specified options retain
+the last specified value or the default value, respectively. The following
+style options are available:
+
+\begin{enumerate}
+\item[1.] \verb.\treefonts{<font options>}.:\\
+ \sloppy
+ \verb.\treefonts. is invoked by \verb.\beginTree., and it simply executes
+ whatever is specified in \verb.<font options>.. Defaults are
+ \verb.\treefonts{\tenrm}. (or \verb.\treefonts{\normalsize\rm}. in
+ \LaTeX).
+
+\fussy
+\item[2.] \verb.\nodesize{<size>}.:\\
+ \verb.\nodesize. defines the size of the nodes. \verb.<size>. is a
+ dimension and specifies the diameter of circle nodes. The
+ width of square nodes is adjusted accordingly to be slightly
+ smaller than the diameter of circle nodes in order to
+ balance their appearance. Furthermore,
+ \verb.\nodesize. adjusts the amount of space by which the
+ baseline of the labels is placed beneath the center of the node.
+ The default value of \verb.\nodesize. suits the default of
+ \verb.\treefonts. (taking into account the size option
+ of \LaTeX's document style).
+
+\item[3.] \verb.\vdist{<dimen>}., \verb.\minsep{<dimen>}.,
+ \verb.\addsep{<dimen>}.:\\
+ \sloppy
+ \verb.vdist. specifies the vertical distance between two
+ subsequent levels of the tree. Default is \verb.\vdist{60pt}..
+ \verb.\minsep. specifies the minimal horizontal distance between two
+ adjacent nodes. Default is \verb.\minsep{20pt}..
+ \verb.\addsep. specifies the additional amount of horizontal space
+ by which two subtree siblings are pushed apart farther than
+ calculated by the RT~algorithm,
+ if the level at which they are closest is beneath
+ their root level. Default is \verb.\addsep{0pt}.
+
+\fussy
+\item[4.] \verb.\extended., \verb.\nonextended.:\\
+ With the option \verb.\extended. in effect, the nodes of a binary
+ tree are placed in exactly the same way as they would be in the
+ associated extended version of the tree (the missing nodes are
+ assumed to have no labels). The default is \verb.\nonextended.,
+ that is the usual layout.
+\end{enumerate}
+
+Some examples of tree descriptions
+are given in the next figures.
+A detailed description of the
+\TreeTeX{} macros is given in~\cite{TreeTeX}.
+
+\Treestyle{\vdist{60pt}}
+\dummyhalfcenterdim@n=10pt
+
+\begin{Figure}
+\centering
+\begin{Tree}
+\node{\external\bnth{first}\cntr{1}\lft{Beeton}}
+\node{\external\cntr{3}\rght{Kellermann}}
+\node{\cntr{2}\lft{Carnes}}
+\node{\external\cntr{6}\lft{Plass}}
+\node{\external\bnth{last}\cntr{8}\rght{Tobin}}
+\node{\cntr{7}\rght{Spivak}}
+\node{\leftonly\cntr{5}\rght{Lamport}}
+\node{\cntr{4}\rght{Knuth}}
+\end{Tree}
+
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}\
+
+\begin{verbatim}
+\begin{Tree}
+\node{\external\bnth{first}\cntr{1}\lft{Beeton}}
+\node{\external\cntr{3}\rght{Kellermann}}
+\node{\cntr{2}\lft{Carnes}}
+\node{\external\cntr{6}\lft{Plass}}
+\node{\external\bnth{last}\cntr{8}\rght{Tobin}}
+\node{\cntr{7}\rght{Spivak}}
+\node{\leftonly\cntr{5}\rght{Lamport}}
+\node{\cntr{4}\rght{Knuth}}
+\end{Tree}
+
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}
+\end{verbatim}
+
+\caption{This is an example of a tree that includes labels.}
+\end{Figure}
+
+\begin{Figure}
+\centering
+\begin{Tree}
+\node{\external\type{frame}\bnth{first}\cntr{Beeton}}
+\node{\external\type{frame}\cntr{Kellermann}}
+\node{\type{frame}\cntr{Carnes}}
+\node{\external\type{frame}\cntr{Plass}}
+\node{\external\type{frame}\bnth{last}\cntr{Tobin}}
+\node{\type{frame}\cntr{Spivak}}
+\node{\leftonly\type{frame}\cntr{Lamport}}
+\node{\type{frame}\cntr{Knuth}}
+\end{Tree}
+
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}\
+
+\begin{verbatim}
+\begin{Tree}
+\node{\external\type{frame}\bnth{first}\cntr{Beeton}}
+\node{\external\type{frame}\cntr{Kellermann}}
+\node{\type{frame}\cntr{Carnes}}
+\node{\external\type{frame}\cntr{Plass}}
+\node{\external\type{frame}\bnth{last}\cntr{Tobin}}
+\node{\type{frame}\cntr{Spivak}}
+\node{\leftonly\type{frame}\cntr{Lamport}}
+\node{\type{frame}\cntr{Knuth}}
+\end{Tree}
+
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}
+\end{verbatim}
+\caption{This is an example of a tree with framed center labels.}
+\end{Figure}
+
+\begin{Figure}
+\centering
+\begin{Tree}
+\binary{\no{6}\squareleaves}
+\end{Tree}
+
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}\
+
+\begin{verbatim}
+\begin{Tree}
+\binary{\no{6}\squareleaves}
+\end{Tree}
+
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}
+\end{verbatim}
+\caption{This is an example of a complete binary tree.}
+\end{Figure}
+
+
+\begin{Figure}
+\centering
+\begin{Tree}
+\fibonacci{\hght{4}\unarynodes\squareleaves}
+\end{Tree}
+
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}\
+
+\begin{verbatim}
+\begin{Tree}
+\fibonacci{\hght{4}\unarynodes\squareleaves}
+\end{Tree}
+\hspace{\leftdist}\usebox{\TeXTree}\hspace{\rightdist}
+\end{verbatim}
+
+\caption{This is an example of a Fibonacci tree.}
+\end{Figure}
+
+
+\clearpage
+\bibliography{trees}
+\end{document}
+
+
+
diff --git a/Master/texmf-dist/doc/plain/tugboat/tubguide.pdf b/Master/texmf-dist/doc/plain/tugboat/tubguide.pdf
new file mode 100644
index 00000000000..19e97d6f1f0
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/tugboat/tubguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/plain/tugboat/tubguide.tex b/Master/texmf-dist/doc/plain/tugboat/tubguide.tex
new file mode 100644
index 00000000000..ef930b2ebaa
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/tugboat/tubguide.tex
@@ -0,0 +1,844 @@
+%% @texfile{
+%% filename="tubguide.sty",
+%% version="1.02",
+%% date="9-Mar-1992",
+%% filetype="TUGboat Authors' Guide",
+%% copyright="Copyright (C) TeX Users Group.
+%% Copying of this file is authorized only if either:
+%% (1) you make absolutely no changes to your copy, OR
+%% (2) if you do make changes, you first rename it to some
+%% other name.",
+%% author="TeX Users Group",
+%% address="TeX Users Group",
+%% P. O. Box 9506,
+%% Providence, RI 02940,
+%% USA",
+%% telephone="401-751-7760",
+%% email="Internet: TUGboat@Math.AMS.com",
+%% codetable="ISO/ASCII",
+%% checksumtype="line count",
+%% checksum="844",
+%% keywords="tex users group, tugboat, authors' guide",
+%% abstract="This file is an updated version of the file
+%% that produced the original Authors' Guide in
+%% TUGboat 10, no. 3, November 1989."
+%% }
+%% *********************************************************
+%%
+%% TeXing this file requires the following files:
+%% TUGBOAT.STY (version 1.09+)
+%% TUGBOAT.CMN (version 1.08+) (loaded by TUGBOAT.STY)
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\input tugboat.sty
+
+\enablemetacode
+\everyverbatim{\enablemetacode}
+\def\halfline{\vskip 0.5\baselineskip \ignoreendline}
+
+% ****************************************************************
+
+\title *\TUB\/ Authors' Guide*
+
+\author * Ron Whitney *
+\address * \TUG\\
+ \POBox 9506\\
+ Providence, RI 02940-9506 *
+\netaddress * TUGboat@Math.AMS.com *
+
+\author * Barbara Beeton *
+\address * American Mathematical Society\\
+ \POBox 6248\\
+ Providence, RI 02940-6248 *
+\netaddress * TUGboat@Math.AMS.com *
+
+
+\vfootnote{}{Revised March 1992; the original appeared in \tubissue 10(3),
+November 1989.}
+
+\article
+
+With this article we hope to fill a lacuna (some might say ``void'')
+whose existence we have been attributing to the usual factors: tight
+schedules, alternative priorities and warty \TeX\ code. We now feel
+the macros in use for \TUB\/ have stabilized to the extent that
+documentation and suggestions for authors will remain fairly constant,
+and we hope this article can serve as a reasonable guide to
+preparation of manuscripts for \TUB. Authors who have used the \TUB\/
+macros before will note several changes (including more modern names
+for the style files). Suggestions and comments are quite welcome at
+the addresses listed below.
+
+\TUB\/ was originally typeset with a package based only on \plain.
+Later, as demand for style files follows wherever
+\LaTeX-devotees wander, a \TUB\/ variant of the \LaTeX\ {\tt article}
+style was also created. The two macro sets yield
+much the same output, differing in certain ways for input. Below we
+make comment on various aspects of the \TUB\/ package, first for the
+\plain-based macros, then for \LaTeX. The macro sets share
+the file |tugboat.cmn|,\footnote{$^1$}{This file used to be named
+{\tt tugboat.com}, but that notation was in conflict with conventions
+of MS-DOS and other operating systems; no conflicts are known to
+exist for the new name.} and users of either style should read the
+section entitled ``Common Abbreviations and Utilities''. We conclude
+with some general suggestions to help make the lives of those on the
+receiving end of (any kind of) electronic copy a little easier.
+
+
+\head * The \plain-based macros: {\tt tugboat.sty} *
+
+The macros are contained in two files, |tugboat.sty| and |tugboat.cmn|.$^1$
+
+\subhead * General description of tags *
+We attempt wherever possible to tag the various elements of \TUB\/
+articles in a ``generic'' way, modified in some respects by
+convenience. Authors and editors, of course, need tools to shape
+their articles to the form they desire, but we also wish to encourage
+a tagging style which is appropriate for electronic interchange. It
+seems unfair to expect much thought from authors concerning the
+markup of their information if we only provide a bag of widgets and
+do-hickies to hack and pound an article together. The tags whose use
+we encourage are the higher-level tags that mark the logical
+document structure. Below these are formatting macros that we
+recognize may be essential for certain applications. Both sorts of
+tags are described in the following article.
+
+Generally, to ``mark up'' the data <foo>, a tag |\xxx| will precede
+<foo> and |\endxxx| will follow (thus: |\xxx <foo>\endxxx|). We use
+the |{...}| form to delimit arguments of lower-level formatting
+macros. Optional commands follow tags and are enclosed in
+|[\lastoption][...]|, \`a la \LaTeX. Several options may be enclosed
+within one set of square brackets, or each
+option may be enclosed in its own set of brackets. These ``options''
+are actually just \TeX{} commands, and it is always possible to
+insert raw \TeX{} code as an option. Such practice violates truly
+generic markup, but it is {\it helpful\/} and at least confines
+The Raw and Dirty to a smaller area.
+\subtext
+Perhaps a little more detail is of use to some readers here.
+Upon encountering a tag, the general operational scheme of the
+macros is as follows:
+\verbatim[\makecomment\%]%
+[\def\lquote{`}\def\rquote{'}\makeescape\|\makebgroup\`\makeegroup\']%
+[\displaystyle{\everypar{\hangindent2\parindent}\advance\baselineskip by 1pt}]
+<read tag>
+\begingroup
+<set defaults>
+\the\every...
+<read options>
+<branch to appropriate action,|hfil|break|ignoreendline
+using `|rm|lquote|lquote'argument|/`|rm|rquote|rquote' as necessary>
+<cleanup>
+\endgroup
+\endverbatim
+The scheme shows that code inserted as an option is localized and that
+it may be used to override certain defaults and to guide branching.
+Things are not always simple, however. Sometimes parameters are set
+after a branch is taken (e.g.\ the macros might only call |\raggedright|
+after determining whether the mode is ``|\inline|'' or
+``|\display|''), and, despite localization, parameter setting might
+affect the current paragraph if a branch has yet to be taken.
+This is {\it not\/} to say the macros don't work, but rather that
+those authors who venture beyond the documented regions of the
+macros should do so with their eyes open.
+\endtext
+
+For convenience, we also allow the |*| as a delimiter for the
+higher-level tags; thus we could use either
+||\title \TUB\/ Authors' Guide \endtitle||
+or
+||\title * \TUB\/ Authors' Guide *||
+to indicate the title of this paper. To typeset a \ast{} within text
+delimited by |*|, the \plain\ control sequence |\ast| has been extended
+to give
+\ast{} in text and the usual $\ast$ in math.
+\subtext
+This markup scheme may suffer at the hands of \TeX's parsing mechanism
+when tagged data is nested. In these cases, one may group (|{...}|)
+embedded data so that \TeX{} knows to proceed to the next |\end...|
+or |*|.
+\endtext
+
+In the cases where we show extra spaces and carriage returns around
+arguments in this article, those (discretionary) spaces are
+accommodated in the macros. Thus, for example, when the argument to
+|\title| above is typeset, |\ignorespaces| and |\unskip| surround it
+and the extra spaces have no untoward effect. Spaces are also
+gobbled between options.
+
+
+\subhead * Outer form *
+At the outermost level, a source file will have the form (using the
+|*...*| delimiters):
+\verbatim[\makeescape\|]
+\input tugboat.sty
+|halfline
+<perhaps additional macros for article>
+|halfline
+\title * <title> *
+\author * <author> *
+\address * <address> *
+\netaddress * <network address> *
+|halfline
+\article
+|vellipsis
+<body of article>
+|vellipsis
+\makesignature
+\endarticle
+\endverbatim
+
+Data preceding |\article| is saved and typeset when |\article|
+is encountered. Each author should have his/her own
+||
+\author ...
+\address ...
+\netaddress ...
+||
+block, and the macros will do their best to combine the information
+properly in the appropriate places. Explicit linebreaks can be
+achieved within any of these items via |\\|. Title and authors are,
+of course, set at the beginning of an article; the address
+information is listed separately in a ``signature'' near the end of
+an article, and is present for the convenience of those who might
+photocopy excerpts from an issue of \TUB. |\makesignature| does the
+typesetting work. Generally authors are listed separately in the
+signature. In cases where authors and addresses are to be combined,
+one may use |\signature{...}| and |\signaturemark| with some or all
+of
+||
+\theauthor {<author number>}
+\theaddress {<author number>}
+\thenetaddress {<author number>}
+||
+to get the desired result. For example, for an article with
+\verbatim[\outputtofile{ray.vbm}]
+\author * Ray Goucher *
+\address * \TUG *
+\netaddress *TUG@Math.AMS.com*
+
+\author * Karen Butler *
+\address * \TUG *
+\netaddress *TUG@Math.AMS.com*
+\endverbatim
+we could say
+\verbatim[\outputtofile{sig.vbm}]
+\signature {
+ \signaturemark
+ \theauthor1 and \theauthor2\\
+ \theaddress1\\
+ \thenetaddress1}
+\endverbatim
+to obtain the signature
+\begingroup
+\authornumber=0
+\input ray.vbm
+\input sig.vbm
+\makesignature
+\medskip
+\endgroup
+
+\noindent
+Use of at least |\thenetaddress| is recommended for this just so that
+the network address gets formatted properly. The optional command
+|[\lastoption][\network{...}]| will introduce the network address
+with a network name, so
+||[\outputtofile{code.vbm}]
+\netaddress[\network{Internet}]
+ * TUGboat@Math.AMS.com *
+||
+produces
+{\authornumber=1
+ \input code.vbm
+ \figure[\mid\nofloat] \leftline{\kern\parindent\thenetaddress1} \endfigure
+}
+
+\leavevmode|\endarticle| marks the end of input and is defined as
+|\vfil\end| for most uses. We redefine it as |\endinput| to
+assemble streams of articles in \TUB.
+
+
+\subhead * Section Heads *
+Heads of sections, subsections, etc.\ are introduced with |\head|,
+|\subhead|, etc., respectively. The underlying macros all use
+|\head|, so |\endhead| is the long-form ending for all these tags.
+For example, the first two heads of this article could have been
+keyed as
+||
+\head The \plain-based macros:
+ {\tt tugboat.sty} \endhead
+||
+and
+||
+\subhead General description of
+ tags \endhead
+||
+
+In \TUB\/ style, the paragraph following a first-level head is not
+indented. This is achieved by a look-ahead mechanism which gobbles
+|\par|s and calls |\noindent|. Actually all of the |\...head| tags
+gobble pars and spaces after their occurrence. This allows one to
+enter a blank line in the source file between head and text, such
+practice being a visual aid to your friendly \TUB\/ editors (if not to
+you). Be careful of that |\noindent| after a first-level head:
+you will be in horizontal mode after the |\head *...*|, so spaces
+which {\it appear\/} innocuous, may not be so.
+
+
+\subhead * Lists *
+Lists are everywhere, of course, and a simple list hierarchy can
+transform a one-dimensional typesetting problem into something
+nasty. All of which is to say, we are certainly not done with
+this area of tagging, but here are the available macros.
+
+Not surprisingly, |\list| marks the beginning of a list. A list
+can be itemized, wherein each item is tagged with |\item|, or
+unitemized wherein items are delimited by |^^M| (the end of your
+input line). The itemized
+style is the default and |[\lastoption][\unitemized]| will get
+the other. Tags for the items default to the |\bullet|
+($=\bullet$), but can be changed by feeding an argument to
+|\tag{...}|. The |[\lastoption][\tag{...}]| option
+used with |\list| assigns the tag for each item of the entire
+list, while |[\lastoption][\tag{...}]| used with |\item| changes
+only the tag for that item. The obvious dynamical tags are available
+with options
+\verbatim[\makeescape\|\makebgroup\`\makeegroup\']
+\numbered
+\romannumeraled
+\lettered `|rm(lowercase)'
+\Lettered `|rm(uppercase)'
+\endverbatim
+
+Lists can be set in several columns by setting |\cols=...|. The
+columns are aligned on their top baselines and the user must
+break the columns with |\colsep|. Thus,
+\verbatim[\outputtofile{code.vbm}]
+\list[\unitemized\numbered][\cols=2]
+Fourscore
+and seven
+years ago
+our fathers
+\colsep
+brought forth
+on this
+continent
+\endlist
+\endverbatim
+yields
+\input code.vbm
+
+|\everylist| is a token register which is scanned at the beginning
+of each list
+after the default parameters are set and before
+options are read. If you want all your lists numbered, for example,
+you might insert ||\everylist{\numbered}|| at the top of your file
+rather than giving an option to each list.
+
+Implementation of sublists is under construction.
+
+\subhead * Verbatim Modes *
+
+There are several variations on this theme. In each case, text is
+printed in a typewriter font and (almost) all input characters
+produce the glyph in the font position of their character-code (i.e.\
+you get what you type, no escaping it). In addition to the long form
+||\verbatim...\endverbatim|| the \verbinline|\endverbatim\ character
+can be used to enter and leave verbatim mode, acting as a toggle much
+as the |$| does with math. \verbinline|...|\endverbatim\space
+produces inline verbatim text, while \verbinline||...||\endverbatim
+displays its output. |\verbatim| itself defaults to display form,
+but |\verbatim[\inline]| and its contraction |\verbinline| (both
+terminated by |\endverbatim|) produce the inline form. |^^M| yields
+a space inline, and a new paragraph in display. Generally, for
+snippets of text we use the \verbinline|...|\endverbatim form, and
+for longer items the
+||[\makeescape\!]
+\verbatim
+!vellipsis
+\endverbatim
+||
+form (although \verbinline||...||\endverbatim is a good way to
+display a single line of code).
+
+In addition to formatting text between |\verbatim| and
+|\endverbatim|, |\verbatim| may read and write data from and to
+files. We find this variant useful in ({\it almost\/}) guaranteeing
+consonance between macros in use and their published listings.
+||[\makeescape\!]
+\verbatim[\inputfromfile{foo.inp}]
+!vellipsis
+\endverbatim
+||
+will incorporate the contents of file |foo.inp| in the listing before
+the text between |\verbatim| and |\endverbatim|. The shortened form
+||\verbfile{foo.inp}\endverbatim|| accomplishes the above in the case
+that the text is empty. While the code around the data, |foo.inp|,
+above looks excessively long, do remember the implementation
+uses the basic |\verbatim| macro, so options can also be read after
+the filename. For example,
+||
+\verbfile{foo.inp}[\numbered]
+\endverbatim
+||
+would number the lines of the listing.
+
+We often rearrange code supplied to us so
+that it fits in the narrow measure of \TUB's two-column format, and
+we sometimes make corrections to macro sets (you thought you were
+perfect!). Since errors can (and do\Dash we aren't perfect either)
+creep in with these modifications, we use the above technique to
+maintain consistency between the listing published in \TUB\/ and the
+underlying macros used for examples.
+
+To write out information, use
+||[\makeescape\!]
+\verbatim[\outputtofile{foo.out}]
+!vellipsis
+\endverbatim
+||
+An added bonus here is that characters which get internalized as
+moribund ``letters'' or ``others'' in the process of listing them,
+can return revitalized for perhaps their real use when written out to
+another file and read in again. The example above involving Ray
+and Karen was coded as
+||[\makeescape\/][\makeactive\!][\def!{\VertChar}]
+... to get the desired result. For
+example, for an article with
+\verbatim[\outputtofile{ray.vbm}]
+\author * Ray Goucher *
+/vellipsis
+\endverbatim
+we could say
+\verbatim[\outputtofile{sig.vbm}]
+\signature {
+ \signaturemark
+ \theauthor1 and \theauthor2\\
+ \theaddress1\\
+ \thenetaddress1}
+\endverbatim
+to obtain the signature
+\begingroup
+\authornumber=0
+\input ray.vbm
+\input sig.vbm
+\makesignature
+\endgroup
+||
+This is perhaps not the most edifying example, but you get the gist.
+(We localize the process of storing and retrieving these
+authors and addresses so as not to clobber our own.)
+We would encourage our authors to use these mechanisms for connecting
+verbatim text to external files for the sake of maintaining
+consistency between active code and its documentation.
+
+\leavevmode|\verbatim| scans to |\endverbatim| (a 12-token sequence
+since the |\| is of type `other' after |\verbatim| gets going). Only
+this sequence of characters will interrupt the scan. On the other
+hand, \verbinline|\endverbatim and \verbinline||\endverbatim scan to
+the next \verbinline|\endverbatim and \verbinline||\endverbatim,
+respectively. Needless to say, one should use forms of |\verbatim|
+to set text which contains \verbinline|\endverbatim (and
+\verbinline|\endverbatim or \verbinline||\endverbatim to set text
+containing |\endverbatim| if you are writing an article like this
+one). Both the \verbinline|\endverbatim and |\verbatim| tags scan
+ahead for the usual |[\lastoption][| to check for options. In those
+rare cases when the |[\lastoption][| is really supposed to be the
+first character of the verbatim text, use the option
+|[\lastoption][\lastoption]| to stop option parsing. For example, to
+show ||[\lastoption][\lastoption]|| we keyed
+\verbatim
+|[\lastoption][\lastoption]|
+\endverbatim
+
+There are situations where one wants to typeset most things verbatim,
+but ``escape'' to format something exceptional. For example, the
+insertions of metacode given in the listings above require some
+access to the italic font. By giving the option
+|[\lastoption][\makeescape\!]| to |\verbatim|, the |!| is made an
+escape character in that block. Thus,
+||[\makeescape\/]
+\verbatim[\makeescape\!]
+/vellipsis
+...!it...
+/vellipsis
+\endverbatim
+||
+really calls the italic font in the middle of the listing (one might
+also want to use |\makebgroup| and |\makeegroup| in the options to define
+characters to localize this call; see p.~384). Situations
+will dictate preferences for what character may be used as an escape
+(we use the \verbinline|\endverbatim, |!|, and |/| in this article).
+There is also a means of changing the setup of every occurrence of
+verbatim mode. The contents of token register |\everyverbatim|
+is scanned after the defaults of verbatim mode
+have been set. In this article, for example, we have made
+|[\makeother\<]<| active and defined it in such a way that
+|[\makeother\<]<...>| typesets as metacode. Since |\verbatim|
+ordinarily changes |[\makeother\<]<| to type `other' on startup, we key
+||\everyverbatim{\enablemetacode}|| at the beginning of the file
+to have the proper adjustment made whenever verbatim is started.
+
+When ``escaping'' within a verbatim block, one should be aware that
+spaces and carriages returns are {\it active\/} and hence not gobbled
+as usual. Using the |!| as the active character, one might key
+||[\makeescape\/]
+\verbatim[\makeescape\!]
+/vellipsis
+!vskip .5!baselineskip
+/vellipsis
+\endverbatim
+||
+to get an extra half line of space in the middle of the listing. The
+space and carriage return on this line, however, cause problems. The
+space expands to |\ifvmode\indent\fi\space| and \TeX\ will not like
+the |\indent| after |\vskip|. The |^^M| expands to
+|\leavevmode\endgraf|, and therefore puts an extra line into the
+listing. The solutions, in this case, are to drop the space and to
+use |!ignoreendline| (which just gobbles the |^^M|), but one should
+be aware, generally, that some thought may be required in these situations.
+
+The option |[\lastoption][\numbered]| causes the lines of a
+verbatim listing to be numbered, while |[\lastoption][\ruled]|
+places rules around the whole thing:
+\verbatim[\numbered\ruled]
+<code>
+<more code>
+<yet more code>
+...
+\endverbatim
+The option |[\lastoption][\continuenumbers]| picks up the numbering
+where it last left off.
+\verbatim[\continuenumbers]
+<more>
+<and more>
+...
+\endverbatim
+
+The code underlying |\verbatim| in display style implements each line
+as a paragraph and places math-display-size whitespace above and
+below the verbatim section. Page and column breaks {\it are\/}
+permitted within these listings. To prohibit breaks at specific
+points or globally, one must insert penalties or redefine |^^M| to
+insert |\nobreak| in the vertical list at the end of each
+``paragraph'' (i.e.\ line). We should also note that the bottom of
+such a verbatim listing is implemented so that ensuing
+text may or may not start a new paragraph depending on whether an
+intervening blank line (or |\par|) is or is not present.
+
+
+\subhead * Figures and Page Layout *
+Figures are keyed as
+\verbatim[\makeescape\|]
+\figure
+|halfline
+<vertical mode material>
+|halfline
+\endfigure
+\endverbatim
+These are generally implemented as single-column floating
+top-insertions, but the options |[\lastoption][\mid]| and
+|[\lastoption][\bot]| can change specific items to be mid- or
+bottom-insertions, respectively. Here we recommend that the
+long-form terminator be used ({\it not\/} the |*...*| form). One can
+think of the information ``passed'' as being ``long'' in the sense of
+possibly containing paragraphs, this being a mnemonic device only.
+The primary reason for the recommendation is that one is (in some
+sense, maybe) more likely to encounter a rogue |*| in longer text
+than in shorter text and hence more likely to encounter a surprising
+result due to a macro stopping short at the wrong |*|.
+
+\subtext
+Perhaps here is a natural place to mention also that these macros
+sometimes read their arguments and then act, and sometimes act on the
+fly, not actually storing an argument as a string of tokens at all.
+|\title|, for example, is in the former category, while |\figure| is
+in the latter. Reasons may vary for the choice in
+methods. Storing a string of tokens as an argument does not allow
+re-interpretation of the category codes of the underlying
+character string. Thus, storing
+the ``argument'' of |\figure| all at once might misinterpret some
+characters which should appear as verbatim text. For this reason we
+set figures as we go and just close off the box with |\endfigure|. On
+the other hand, using information in multiple situations (e.g.\
+titles and running heads) requires storing the information as a token
+string, not as a typeset list.
+
+When text delimited by |*...*| is read as an argument, the |*|s are
+dropped by the parsing process. When the text is handled on the fly,
+the first |*| is gobbled and the second is made active to perform
+whatever action is necessary at the close of the macro. When
+possible, we prefer to operate on the fly since nested tags are
+handled properly in that case and no memory is consumed to store
+arguments. Examination of |tugboat.sty| will show which case applies
+in a given situation, but this general knowledge may help when trying
+to debug those situations in which an unexpected |*| has disrupted
+things.
+\endtext
+
+
+A primitive |\caption{...}| option is available to |\ulap|
+(i.e.\ lap upward) its argument into the figure space, but
+formatting of the caption is left to the user. For example,
+the code:
+\verbatim[\outputtofile{code.vbm}]
+\figure[\top]
+ [\caption{\centerline{Odd Fig.~1}}]
+\vbox to 5pc{}
+\endfigure
+\endverbatim
+produces the figure at the top of this column or the next.
+
+\input code.vbm
+
+Figures spanning columns at the top and bottom of a page are currently
+supported only on the first page of an article, but we expect they
+will soon be allowed on any page (a general rewrite of the output
+routine is in progress). |\twocolfigure| (terminated by |\endfigure|)
+starts up such a figure and currently {\it must\/} occur before any
+material has been typeset on the first page (i.e.\ {\it before\/}
+|\article|).
+
+
+Macros |\onecol|, |\twocol|, and |\threecol| provide one-, two-, and
+three-column layouts, but these cannot currently be intermixed on a
+page. We hope to provide automatic column-balancing and convenient
+switching between one- and two-column format within a year.
+|\newpage| in each format is defined to fill and eject enough columns
+to get to the next page. |\newcol| is just |\par\vfill\eject|.
+
+\subhead * Command List Summary *
+Tags are listed in the order discussed. Options are
+listed under tags.
+||
+\title
+\author
+\address
+\netaddress
+ \network
+\signature
+\article
+\makesignature
+\endarticle
+\head
+\subhead
+\subsubhead
+\list
+ \numbered
+ \romannumeraled
+ \lettered
+ \Lettered
+ \ruled
+ \tag{...}
+\item
+ \tag{...}
+\everylist
+\verbatim
+ \numbered
+ \ruled
+ \inputfromfile{...}
+ \outputtofile{...}
+\verbinline
+\verbfile
+\figure
+ \mid
+ \bot
+ \caption{...}
+\twocolfigure
+||
+and, of course, \verbinline|\endverbatim and \verbinline||\endverbatim.
+
+\head * The \LaTeX\ macros: {\tt ltugboat.sty} *
+
+|ltugboat.sty| is the primary macro file, and is based on the \LaTeX{}
+|article.sty|. |tugboat.cmn|, a collection of items common to both
+\LaTeX\ and \plain\ input, is also required. Articles will have
+the form:\footnote{$^2$}{{\tt ltugboat} used to be a substyle; it now
+stands on its own, by automatically inputting {\tt article.sty}.}
+\verbatim[\makeescape\|]
+\documentstyle{ltugboat}
+|halfline
+<perhaps additional macros for article>
+|halfline
+\title {<title>}
+\author{<author>}
+\address{<address>}
+\netaddress{<netaddress>}
+
+\begin{document}
+\maketitle
+|vellipsis
+<body of article>
+|vellipsis
+\makesignature
+\end{document}
+\endverbatim
+This is the usual form for \LaTeX\ documents, of course, except
+that now each author will have his/her own
+\verbatim
+\author{...}
+\address{...}
+\netaddress{...}
+\endverbatim
+block. As with the \plain{} style, the author and address
+macros will store their information for later display.
+See the discussion of |\address|, |\netaddress| and |\makesignature|
+on the second page of this article to understand more. Linebreaks
+within |\title|, |\author|, and |\...address| are specified with |\\|.
+
+We refer the user to the \LaTeX\ manual for description of section
+heads, verbatim mode, insertions, and movement between one- and
+two-column format. The style of printed output has, of course, been
+somewhat modified to fit \TUB\/ style. |ltugboat.sty| might be of some
+use to others wishing to modify the |article| option in this
+direction.
+
+
+
+\head * Common Abbreviations and Utilities *
+
+Definitions of a number of commonly used abbreviations such as |\MF|
+and |\BibTeX| are contained in |tugboat.cmn|. Please use these whenever
+possible rather than creating your own. We will add to the list as
+necessary.
+
+Several other constructions that we have found useful for both
+\plain- and \LaTeX-style input have been incorporated in
+|tugboat.cmn|. Various |\*lap|\,s (|\ulap|, |\dlap|, |\xlap|,
+|\ylap|, |\zlap|) and |\*smash|\,es provide means of setting type
+which ``laps'' into neighboring regions. |\dash| and |\Dash| are en-
+and em-dashes that break properly. |\slash| is a breakable slash.
+The macro
+\verbatim
+\makestrut [<ascender dimen>;
+ <descender dimen>]
+\endverbatim
+allows {\it ad hoc\/} construction of
+struts.
+
+|\makeatletter| |\catcode|s the |@| for internal control-sequences.
+There are also more general functions
+\verbatim
+\makeescape
+\makebgroup
+\makeegroup
+\makeletter
+\makeother
+\makeactive
+\endverbatim
+that change the category of a given character into the type mentioned
+at the end of the macro name. For example, |\makeactive\!| changes the
+category of the |!| to 13. We have given many other examples of these in
+this article. Readers may look at the end of |tugboat.cmn| after the
+|\endinput| statement to see further documentation on the contents of the file.
+
+
+\subhead * Issue Makeup *
+Constructing an entire issue of \TUB\/ requires use of a few features
+that authors may notice when articles are returned for proofing.
+|\xrefto| allows for symbolic cross-referencing, but is enabled only
+late in the production process. The distribution version of
+|tugboat.cmn| defines |\xrefto| so that ``???'' is typeset whenever it
+is called. Not to worry.
+
+We also put notes into the file since there are many things to
+remember, and these appear as |\TBremark{...}|. Authors can look for
+such things, if they are interested.
+
+
+\head * General Coding Suggestions *
+
+Probably 90\% of the code we receive is easily handled, and for this
+we are most appreciative. We do have suggestions of a general nature
+that authors should keep in mind as they create articles for
+transmission here or anywhere else.
+
+Those who create code find it much easier to read and understand their
+own code than do others who read the ``finished'' product. In fact,
+some people seem to forget that the electronic file will be viewed (in
+fact, studied) in addition to the printed copy. Documentation and
+uniform habits of presentation always help. Blank lines are easier to
+digest by eye than |\par|s. Tables and display math can often be
+keyed in such a way that rows and columns are clear in the source file
+on a display screen as well as in print. Explanations or warnings of
+tricky code can be {\it very} helpful. Authors should place font and
+macro definitions in one location at the beginning of an article
+whenever possible.
+
+Authors should anticipate that articles will undergo some
+transformation, and that positioning of some elements may change
+simply because articles are {\it run together\/} in \TUB. Decisions
+on linebreaks, pagebreaks, figure and table placement are generally
+made after the text is deemed correct. We avoid inserting ``hard''
+line- and page-breaks whenever possible, and will not do so, in any
+case, until the last minute. We also use floating insertions for
+figure and table placement when we first receive an article. It is
+easier for us to work with a clean file containing some bad breaks,
+overfull boxes or other unsightliness, than it is to handle a document
+containing {\it ad hoc\/} code dedicated to a beauteous (albeit
+narrowly specific) result.
+
+
+When authors proof their articles in formats other than that of \TUB\/
+(for example), they should expect that \TUB's changes in pagewidth and
+pagedepth may drastically alter text layout. Paragraphs are rebroken
+automatically when |\hsize| and |\vsize| change, but |\centerline|
+does not break, and we often see tables and math displays which are
+rigidly laid out. When possible, authors might use paragraphing
+techniques instead of calls to, say, |\centerline| (Beeton will be
+writing up her lectures on paragraphing techniques for a future issue
+of \TUB\/), and they should try to code tables in such a way that
+widths of columns can be changed easily. Generally, authors should
+attempt to anticipate the work that might be necessary if requests for
+other reasonable formats of their texts are made. In the case of
+\TUB, we make a strong effort to stuff macro listings and tables into
+the two-column format. Since these types of items are not generally
+susceptible to automatic line-breaking, we give thanks to stuffings
+made by authors ahead of time. In this context, we recommend the use
+of |\verbfile{...}| (see the section {\bf Verbatim Modes}) to maintain
+consistency between documentation and reality.
+
+Specifically in the domain of \TeX\ macros, we find that many authors
+throw in unnecessary |%| characters to end code lines. Except in
+cases where the |^^M| means something other than end-of-line,
+linebreaks can reliably be placed after control-words and numerical
+assignments. We have seen \TeX's buffer size exceeded when |%|
+was placed after {\it every\/} line.
+
+A wider perspective in the matter of naming macros can prevent
+problems that occur when definitions are overwritten as articles are
+run together. The names of control sequences used in \plain, \LaTeX,
+and \AmSTeX\ are documented and authors should avoid using them for
+other purposes. It is also wise to avoid commonly used names such as
+|\temp|, |\result|, |\1|, and |\mac| in presenting code that might be
+cribbed by other users. The frequently used technique of temporarily
+|\catcode|ing a character to be a letter (e.g.\ the |@|) provides a
+good method of hiding control sequences so that they will not be
+clobbered later. Readers are in need of small macros to do little
+tricks, and they often try suggestions brought forth in \TUB. A
+little extra effort in making these macros consistent with the macros
+in wide distribution and in making them robust will be much
+appreciated.
+
+\TBremark{Anything about formatting macros?}
+
+
+\head * Electronic Documentation and Submission Procedure *
+
+In addition to |tugboat.sty|, |ltugboat.sty|, and |tugboat.cmn|,
+a copy of this article, |tubguide.tex|, will be available at
+most \TeX{} archives, including those at SHSU, Aston, and Stuttgart.
+
+Please address all electronic correspondence to the \TUB{} maildrop:
+||TUGboat@Math.AMS.com||
+Mail to either of our personal addresses is liable to go unseen if
+vacation or illness intervenes. We also request that you supply
+an abstract of any expository article. This will be used as the
+basis for translation of abstracts to languages other than that
+in which the article is published.
+
+
+\makesignature
+
+\endarticle
diff --git a/Master/texmf-dist/doc/plain/typespec/TypeSpec.pdf b/Master/texmf-dist/doc/plain/typespec/TypeSpec.pdf
new file mode 100644
index 00000000000..5a63b687b7f
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/typespec/TypeSpec.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/plain/typespec/TypeSpec.tex b/Master/texmf-dist/doc/plain/typespec/TypeSpec.tex
new file mode 100644
index 00000000000..5b2f19781c1
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/typespec/TypeSpec.tex
@@ -0,0 +1,255 @@
+\hsize4.5in
+\hoffset6.5in
+\advance\hoffset-\hsize
+\divide\hoffset2
+
+\def\ob{\tt\string{}
+\def\cb{\tt\string}}
+
+\footline={\ifnum\pageno=1 \else \hss\folio\hss\fi}
+
+\chardef\other=12
+\def\deactivate{%
+\catcode`\\=\other \catcode`\{=\other
+\catcode`\}=\other \catcode`\$=\other
+\catcode`\&=\other \catcode`\#=\other
+\catcode`\%=\other \catcode`\~=\other
+\catcode`\^=\other \catcode`\_=\other}
+
+\def\makeactive#1{\catcode`#1=\active \ignorespaces}
+
+\def\LaTeX{L\kern-.26em \raise.6ex\hbox{\fivei A}%
+\kern-.15em TeX}%
+
+{\makeactive\^^M %
+\gdef\obeywhitespace{\makeactive\^^M %
+\let^^M=\newline %
+\aftergroup\removebox %
+\obeyspaces}}
+
+\def\newline{\par\indent}
+\def\removebox{\setbox0=\lastbox}
+
+{\catcode`\|=\active
+\gdef\verbatim{%
+ \par\begingroup\deactivate\obeywhitespace\tt
+ \catcode`\|=\active
+ \def|{\endgroup\par}}}
+
+\clubpenalty10000
+\widowpenalty10000
+\raggedbottom
+\interlinepenalty10000
+
+\def\section#1\par{%
+\medskip
+\noindent\llap{\raise1.25pt\hbox{$\diamond$\enskip}}{\bf#1}\par\nobreak\noindent}
+
+\section Introduction
+
+I use a lot of type. I also use \TeX~--~what better medium can there be for showing off type?~--~in
+its Macintosh incarnation as Textures. I need samples that I can show clients, and that I can
+refer to for the technical details of the typeface. The results are the type specimens you see
+here. The code itself has some annotations that you might want to read. The macros are not
+complex~--~I don't have time to decode clever macros, and I may need to alter them for unusual
+situations as they arise. You are encouraged to do the same. The current distribution of these
+specimens includes: This introduction; eight type specimens; an Acrobat PDF file with typeset
+examples of the specimens and this introduction.
+
+Some of the fonts in these examples (particularly {\it Centaur} in {\tt TypeSpc8.tex}) were made \TeX-ready
+by using Alan Jeffrey's {\tt fontinst}. The {\tt fontinst} package is discussed in considerable detail in Alan
+Hoenig's new book {\it\TeX\ Unbound:\ \LaTeX\ and \TeX\ Strategies for Fonts, Graphics \& More} (Oxford 1998), which
+discusses {\tt fontinst} over the course of several chapters and works through numerous examples. If you deal at all with
+fonts and
+\TeX\ you will need this book.
+
+Clearly, these specimens will be most easily produced on systems that use outline fonts
+as opposed to bitmaps. I have used these specimens on a Mac with Textures using both PostScript and TrueType, and on a PC
+with PC\TeX using TrueType. Textures (now at version 2.0) is interesting in that it can create font metrics
+``on the fly'' from the Mac's bitmap files. For more demanding work, you will, however, want to stick with {\tt fontinst}.
+
+\section A word about color
+
+Blue Sky Research {\it Textures} is a wonderful implementation of \TeX\ that has a very convenient
+way to use color through the {\tt\string\special} mechanism. I'm going to describe it so that if
+you use a different implementation that can take advantage of color, you will understand the
+macros here. Color is invoked by:
+
+\verbatim\special{color rgb 1.0 0.0 0.0}|
+
+\noindent This tells \TeX\ to trun everything red from this point on. This specification could
+also have been given by:
+
+\verbatim\special{color cmyk 0.0 1.0 0.1 0.0}|
+
+\noindent as red in the CMYK model is 100\% of magenta and yellow. To jump back and forth between
+colors, Textures has a color stack and you can push colors onto the stack and pop them off. So, a
+typical use of color might be something like this:
+
+\verbatim\special{color push}% Puts current color (black) on stack|
+\verbatim%%% Calls red and puts it on stack:|
+\verbatim\special{color rgb 1.0 0.0 0.0}|
+\verbatim Some text in red.|
+\verbatim\special{color pop}% Pops red off stack, restores black|
+\verbatim More text in black.|
+
+\noindent Simple. You can also define a color for later use:
+
+\verbatim\special{color define red rgb 1.0 0.0 0.0}|
+
+\noindent and summon it by calling:
+
+\verbatim\special{color red}|
+
+\noindent The advantage of this is that you can call colors that downstream processors (separation
+software, or a printer) can use to identify color use. You can even screen the color for tints:
+
+\verbatim\special{color red .5}|
+
+\noindent which would give a 50\% tint of red, or pink.
+
+\section TypeSpc1.tex, TypeSpc2.tex, TypeSpc3.tex
+
+These are essentially variations on a theme, differing only in the display type at the top of the
+page. TypeSpc1 has a selection of telltale characters. The top of the {\it A\/} often has a distinctive
+treatment; the lower half of the {\it G\/} and the tail of the {\it Q\/} also tend to
+be distinctive; the shape and size of the enclosed
+areas of the lowercase {\it a\/} and {\it e\/} are also
+telltale, and important in that very small such spaces
+are likely to close up under less than ideal printing
+conditions; the ampersand frequently has a good deal of
+creativity lavished upon it. TypeSpc2 sets the
+uppercase and lowercase of each letter next to each other. TypeSpc3 has a line of uppercase
+characters (not good design, but some people like or expect it) followed by a line of lowercase characters.
+
+\section Selecting the type
+
+At the beginning you can insert three items of information: the \TeX\ name of the font; the name
+of the font that will appear as the `title' of the specimen; and any comments that you wish to
+have at the end of the chart. I like this specimen because the chosen typeface is used for the
+whole specimen, including annotations. Clearly, these specimens and macros are more suited to
+PostScript and TrueType fonts than bitmaps -- proceed accordingly.
+
+\section Column width
+
+Under normal circumstances, a column of type should be about 70 lowercase characters (about 2.5
+lowercase alphabets) in width, or about 4.5 inches in width, which ever comes first. Much longer, and the eye tires, and
+loses its place when moving to the next line; much shorter and you increase the level of visual
+noise such as hyphenation and highly variable word spacing. This sample shows 10pt type at the
+width of 2.5 lowercase alphabets, and calculates the size of type necessay to set 70 characters
+to a measure of 4.5 inches. Interestingly, 10pt type
+usually comes very close to fitting 4.5 inches with 70
+characters. One of the most common signs of uninformed typography is
+column width that pays no attention to the realities of
+type and reading.
+
+\section Leading
+
+The calculation of leading~--~{\tt\string\baselineskip} in \TeX~--~is based purely on the
+physical realities of the type being set. The maximum height and depth of the typeface's characters is found, and then a
+percentage of that amount is added to itself to arrive at the leading. The x-height of the font
+is also given some influence over the leading.
+
+\section Choice of text
+
+I have provided three sample texts in token registers. The first is a simple piece of English
+prose. The second is a collection of {\it pangrams}~--~sentences using all twenty-six letters of the alphabet~--~from the large
+collection of David Lemon of Adobe Systems, Inc.; so you get to see all of the letters of the alphabet in
+use. The third is an amalgam of Latin and semi-Latin texts. In the first place, Latin~--~as
+Beatrice Warde pointed out~--~has fewer descenders so the text sits more cleanly on the baseline;
+second, as W.\ A.\ Dwiggins pointed out to Beatrice Warde, it is good to have a sample of text in
+a language the reader does not read~--~in this way the reader looks at the type itself, and not
+through the type to the information it conveys.
+
+\section Type factor
+
+The type factor is basically an extension of the the characters per pica concept, but scaled to
+the size of the typeface. It is based on a sample of type in which $f=(c\,t)/m$ where $f$ is the
+typefactor, $c$ is the number of characters in the sample, $t$ is the type size in points, and $m$
+is the total horizontal width of the sample. The formula can be put to some good use. For
+instance, characters per pica, $p$, can be obtained from $p=h/f$ where $h$ is the size of the type
+in points; the size of the type, $h$, necessary to place $n$ characters on a column width of $w$
+(in picas) is: $h=(fw)/n$. I have used a sample based on the relative frequency of letters in
+English. This gives excellent agreement with published figures, particularly those in {\it Brown's
+Index}. It is best not to take figures like characters-per-pica or type factors too seriously. They are very useful for
+judging the relative characteristics of typefaces. Before computer typesetting they were far more useful when the actual
+typesetting of material was costly and time-consuming. Computers allow us to be able to change typesetting parameters
+interactively and quickly, relieving us from having to know precisely ahead of time how the material is going to layout.
+
+\section The ratio of the x-height to the ascender height
+
+This is an important characheristic of type. As x-height increases, type tends to look darker, or
+more crowded on the page. The antidote to this is to increase the leading slightly. {\it See above.}
+
+\section TypeSpc4.tex -- a mini-specimen
+
+The principal attraction of TypeSpc4 is the
+{\tt\string\makefontbox} macro which gives a kind miniature specimen that can be as little or as
+large as you like. In the examples I give, the grid is certainly optional as is the use of color:
+They are merely suggestions to get you started. The five arguments to {\tt\string\makefontbox} are
+as follows:
+
+\medskip
+
+\vbox{\raggedright\parskip3pt
+
+\itemitem{\#1}\TeX's name for the desired font
+
+\itemitem{\#2}The name font name as you want it to print
+
+\itemitem{\#3}The name of the type's designer, or other salient
+ piece of information that lends itself to display
+
+\itemitem{\#4}The size of the type inside the box
+
+\itemitem{\#5}The overall desired width of the box}
+
+\section TypeSpc5.tex -- by the numbers
+
+It is very often useful to know where the characters of a typeface are, and to gain an overall
+impression of all of the characters of a font. This specimen is simply an enumeration of the
+characters with respect to their character numbers. The macro to notice is
+{\tt\string\lineofchars}. You can specify how may characters are to be in the line, and what the
+numerical starting point will be. Numerous other design variables can be specified, and they are
+discussed in TypeSpc5.tex.
+
+\section TypeSpc6.tex -- for florid fonts
+
+There are times when you simply have to see a font in all its splendor. You don't need it at every
+imaginable size. And in the case of ornate calligraphic fonts, it does not make any sense at all
+to shove uppercase letters together for any reason, not even for display.
+
+\section TypeSpc7.tex -- homage \`a Caslon
+
+This ornate example is meant to be both fun and useful. It was inspired by the specimen sheets of
+William Caslon. The names of the type sizes~--~Ruby, Minion, Brevier, etc.~--~are traditional and
+could be replaced with sizes in points. This is a useful sample for PostScript typefaces which are
+often packaged as a family of four fonts: roman, italic, bold and bold-italic. The principle fonts
+are the roman and italic, however, and these are the fonts primarily featured in this specimen. The
+sample text is in a token list and can be changed at will~--~just make sure that there is enough
+of it.
+
+\section TypeSpc8.tex
+
+This specimen uses techniques that we have established in earlier samples. Again, this is suitable
+for typefaces that exist in pairs (or pairs of pairs) of fonts: roman and italic, bold and
+bold-italic. There is also a macro for a single, centered paragraph that could be used, say, for
+small caps. The type size, leading and type factor are given for each font.
+
+\section TypeSpc9.tex
+
+I combined two formats here to show off the principal characteristics of the roman along with the
+fonts of the family as used for text.
+
+\section TypeSp10.tex
+
+Another variation using one sample per line. Also notice the very beautiful typeface.
+
+\bigskip
+\hrule
+
+\section Stephen Moye, 23 IV 1998
+
+Stephen\hbox to .5em{\hrulefill}Moye@brown.edu\hfill\break Brown University Graphic Services
+
+\bye \ No newline at end of file
diff --git a/Master/texmf-dist/doc/plain/vertex/vertex.doc b/Master/texmf-dist/doc/plain/vertex/vertex.doc
new file mode 100644
index 00000000000..c5e98292b66
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/vertex/vertex.doc
@@ -0,0 +1,289 @@
+\magnification=\magstep1
+\input vertex
+\input ppt.sty
+
+\topmatter
+ \title{Ver\TeX\ User's Manual}
+ \author{Hal R. Varian}
+ \affil{University of Michigan}
+ \abstract{This documentation describes Ver\TeX, a package of \TeX\
+macros that will produce beautiful working papers, and allow you to
+simulate final versions in a variety of journal styles.}
+ \keywords{\TeX, typesetting, economics}
+ \address{Prof. Hal R. Varian, Department of Economics, University of
+Michigan, Ann Arbor, MI 48109, U.S.A.\ \ Internet address: {\tt
+Hal\_Varian@UM.CC.UMICH.EDU}}
+ \thanks{Thanks to Kari Gluski, the participants of {\tt tex:forum},
+the members of the Economics Department at the University of Michigan,
+and all the \TeX\ hackers who made this work possible.} \date{August,
+1986}
+ \version{\today}
+ \prelim
+ \endtopmatter
+ \document
+
+There are several \TeX\ macro packages already available, so why is one
+more necessary? Basically I felt that there was a need for a simple,
+flexible package that added a minimum amount to {\tt PLAIN.TEX}, and yet
+still provided useful features for writing technical reports.
+
+Ver\TeX\ will help you to {\bf V}isualize {\bf E}conomics {\bf R}eports
+using \TeX. Ver\TeX\ will produce nice looking preprints and will aid in
+formatting your bibliography, but it will also produce simulated journal
+styles for a variety of economics journals. It is very easy to add new
+journal styles to Ver\TeX for someone who knows a little bit of \TeX.
+
+\section Ver\TeX\ Commands
+
+The easiest way to show you Ver\TeX's commands is to show you the
+start of this paper. It looks like something like this:
+
+\verbatim/
+\magnification=\magstep1
+\input vertex
+\input ppt.sty
+
+\topmatter
+ \title{Ver\TeX\ User's Manual}
+ \author{Hal R. Varian}
+ \affil{University of Michigan}
+ \abstract{This documentation describes Ver\TeX, a package of \TeX\
+macros that will produce beautiful working papers, and allow you to
+simulate final versions in a variety of journal styles.}
+ \keywords{\TeX, typesetting, economics}
+ \address{Prof. Hal R. Varian, Department of Economics, University of
+Michigan, Ann Arbor, MI 48109, U.S.A.\ \ Internet address: {\tt
+Hal\_Varian@UM.CC.UMICH.EDU}}
+ \thanks{Thanks to Kari Gluski, the participants of {\tt tex:forum},
+the members of the Economics Department at the University of Michigan,
+and all the \TeX\ hackers who made this work possible.} \date{August,
+1986}
+ \version{\today}
+ \prelim
+ \endtopmatter
+ \document
+
+There are several \TeX\ macro packages already available, so why is
+one more necessary? Basically I felt that there was a need for a
+simple, flexible package that added a minimum amount to {\tt
+PLAIN.TEX}, and yet still provided useful features for writing
+technical reports./
+
+\bigskip
+
+That's pretty simple, isn't it? The only extra feature that you need to
+know is that you can put \verbatim/\cr/ into the \verbatim/\title/ macro if
+you want to split the title into two or more lines, as in
+ $$\verbatim/\title{A very, very, very, very \cr very long title}/$$
+
+If there are two authors of a paper, use the commands
+ $$\verbatim/\authortwo{The Name}\affiltwo{The University}/$$
+The \verbatim/\thanks/ should come {\it before\/} the \verbatim/\author/
+and \verbatim/\title/ keywords, if the style you are using attaches the
+thanks as a footnote to the author or title.
+
+What if there are more than two authors? In that case you are on your
+own, except in the preprint style. There you can do something like:
+
+\verbatim/\author{A. Winken \cr {\it MIT} \cr B. Blinken \cr
+ {\it University of California} \cr {\rm and} \cr C. Nod \cr
+ {\it University of Michigan}}/
+
+This will set the authors and affiliations up the way you want them.
+Be sure to leave the \verbatim/\affil/ box out if you do this trick.
+I intend to provide better support for multi-authored papers in the
+next release of Ver\TeX.
+
+When you want to start a new section, you type
+ $$\verbatim/\section title of the section \par/$$
+and when you want to start a subsection you type
+ $$\verbatim/\subsection title of the subsection \par/$$
+Ver\TeX\ will handle the section numbers for you, automatically numbering
+each section as required.
+
+You can enter footnotes by using the construction
+ $$\verbatim/\fnote{This is a footnote}/$$ and you get a
+footnote.\fnote{Like this!} If at the end of your document, you type
+\verbatim/\PrintEndNotes/, \TeX\ will print out an end page with all your
+footnotes on it, for those journals who just have to have it.
+
+If you want the paper to be double spaced, put \verbatim#\doublespace#
+between \verbatim#\endtopmatter# and \verbatim#\document#. This way the
+cover will come out single spaced and the document will come out double
+spaced, which is what people usually want.
+
+If you are in doublespace mode and want to put a paragraph in single
+spaced mode for some reason, type \verbatim#\singlespace#. The document
+will now revert to single spaced mode until you enter \verbatim#\doublespace#
+again.
+
+One common reason to want to use single spacing in a doublespaced document
+is for long quotes. Ver\TeX\ provides this via the command
+\verbatim/\quote/, as in \verbatim/\quote{Four score and seven $\ldots$}/.
+
+\section Extra Goodies for Math and Figures
+
+But there are more goodies in Ver\TeX. For example, you can attach {\it
+names\/} to equations, and have \TeX\ automatically number (and renumber!)
+them for you. To use this feature you type something like the following
+when you first introduce an equation:
+ $$\verbatim/$$e=mc^2\eqno\Equation\Einstein$$/$$
+and then when you want to reference it, you say
+ $$\ldots\verbatim/as in equation (\Einstein)./$$
+The same sort of thing works with figures. When you first reference a
+figure, called, say \verbatim/\MonaLisa/, you type
+\verbatim/\Fig\MonaLisa/. \TeX\ will assign the next figure number to it
+and enter ``Figure 2'' (or whatever) in the text. At the end of the
+paragraph, or roughly where you want the figure to appear, you
+type
+ $$\verbatim/\Figure\MonaLisa{2in}{The great painting Mona Lisa.}/$$
+The three arguments to the \verbatim/\Figure/ macro are: (1) the
+figure name, (2) the vertical size of the figure, and (3) the
+caption for the figure. \TeX\ will insert the figure using the
+\verbatim/\midinsert/ command, so it will appear on the page you
+ask for it if there is room, and otherwise float to the top of the
+next page.
+
+There are couple of things about equation and figure names that are worth
+pointing out. First, \TeX\ does not allow you to use {\it numbers\/} as
+part of a name. Thus names like \verbatim/\Eq1/ and \verbatim/\Eq2/ are
+not allowed. However, you can {\it reuse\/} names as often as you wish.
+You can refer to an equation as \verbatim/\A/ in one section of the paper
+and later on redefine \verbatim/\A/ to refer to another equation. I find
+it convenient to use rather long descriptive names like
+\verbatim/\FirstOrderCondition/ for equations that I refer to throughout the
+paper and use short names like \verbatim/\A/ for equations that I only
+refer to once or twice.
+
+There a couple of handy math commands. You can type \verbatim/\text{for all}/
+if you want ``for all'' to appear in math mode. You can type
+\verbatim/\D{f(x)}{x_i}/ to get
+ $$\D{f(x)}{x_i}$$ and
+\verbatim/d{f(x)}{x_i}/ to get $\d{f(x)}{x_i}$.
+
+The command \verbatim/\proof/ sets a nice {\it Proof.} The command
+\verbatim/\qed/ gives you a box: \qed The command \verbatim/\proclaim/
+works the same as described in {\it The \TeX book}, but the style has been
+changed slightly.
+
+The command \verbatim/\today/ gives today's date nicely spelled out, like:
+\today.
+
+To get verbatim \TeX\ listings, use the construction
+
+ $$\verbatim/\verbatim#This will appear verbatim#/$$
+
+Any convenient symbols can be used as a delimiter in place of the
+\verbatim/#/ signs.
+
+\section References
+
+Ver\TeX\ has nice way to deal with references. You type something
+like the following:
+
+\verbatim/
+
+\ref \by{Afriat, S.} \paper{The Construction of a Utility Function from
+Expenditure Data} \jour{International Economic Review} \vol{8}
+\yr{1967} \pages{67--77}\endref
+
+\ref \by{Afriat, S.} \paper{On the Constructability of Consistent Price
+Indices Between Several Periods Simultaneously} \inbook{Essays in
+the Theory and Measurement of Consumer Behavior in Honor of Sir
+Richard Stone}\editor{A. Deaton} \publ{Cambridge University Press}
+\publaddr{Cambridge, England}\yr{1984}\endref
+
+\ref \by{Browning, M.}\paper{A Non-Parametric Test of the Life-Cycle
+Rational Expectations Hypothesis} \paperinfo{Princeton University
+Discussion Paper 64} \yr{1984}\endref
+
+\ref \by{Varian, H.} \paper{Nonparametric Test of Models of Consumer
+Behavior}\jour{Review of Economic Studies} \vol{50} \yr{1982b} \no{3}
+\pages{99--110}\endref
+
+\ref \by{Varian, H.} \book{Microeconomic Analysis} \publ{W.
+W. Norton \& Co.} \publaddr{New York} \yr{1984}\endref
+/
+\medskip
+
+and you will get a nice typeset output like:
+
+\bigskip
+
+\ref \by{Afriat, S.} \paper{The Construction of a Utility Function from
+Expenditure Data} \jour{International Economic Review} \vol{8}
+\yr{1967} \pages{67--77}\endref
+
+\ref \by{Afriat, S.} \paper{On the Constructability of Consistent Price Indices
+Between Several Periods Simultaneously} \inbook{Essays in the Theory and
+Measurement of Consumer Behavior in Honor of Sir Richard Stone}
+\editor{A. Deaton} \publ{Cambridge University Press} \publaddr{Cambridge,
+England}\yr{1984}\endref
+
+\ref \by{Browning, M.}\paper{A Non-Parametric Test of the Life-Cycle Rational
+Expectations Hypothesis} \paperinfo{Princeton University Discussion Paper 64}
+\yr{1984}\endref
+
+\ref \by{Varian, H.} \paper{Nonparametric Test of Models of Consumer
+Behavior} \jour{Review of Economic Studies} \vol{50} \yr{1982b} \no{3}
+\pages{99--110}\endref
+
+\ref \by{Varian, H.} \book{Microeconomic Analysis} \publ{W.
+W. Norton \& Co.} \publaddr{New York} \yr{1984}\endref
+
+\medskip
+
+The reference macros are quite complicated and are still being fixed; use
+them at your own risk. Currently if you omit a field that is
+require---like leaving out the page numbers or something like
+that---Ver\TeX\ will sometimes print out excess commas and other
+punctuation. Eventually this will be fixed, but for now it is better to
+put in a dummy value, like \verbatim#\pages{???}# or something like that.
+
+If you have a fancy reference that doesn't fit one of the above models,
+just use the \verbatim#\ref# macro to start the reference. You'll get
+the right hanging indentation and inter-reference spacing that way.
+
+Refer to the file \verbatim#vertex.hst# for the history of revisions to
+Ver\TeX. If you add some peachy macros of your own, I strongly suggest
+that you put them in a separate file. Then as new revisions of Ver\TeX\
+come out, you won't have to modify them in any way.
+
+Ver\TeX\ is in the public domain; please feel free to distribute it however
+you want, as long as you indicate the original author.
+
+\section Journals
+
+Want to get published quick? Then use Ver\TeX's journal simulation
+feature. Instead of using the command \verbatim\input ppt.sty\ use
+the style files:
+
+\medskip
+
+\verbatim\jpe.sty\ --- for the {\it Journal of Polemical Economy}.
+
+\verbatim\jep.sty\ --- for the {\it Journal of Economic Perspectives}.
+
+\verbatim\jet.sty\ --- for the {\it Journal of Economic Theorems}.
+
+\verbatim\aer.sty\ --- for the {\it Armenian Economic Review}.
+
+\verbatim\ecnmet.sty\ --- for {\it Economagica}.
+
+\verbatim\restud.sty\ --- for {\it Review for Economic Students}.
+
+\verbatim\qje.sty\ --- for the {\it Quartered Journal of Economics}.
+
+\medskip
+
+When you use one of these styles, Ver\TeX\ will automatically adjust the
+style of the document and the style of the references to be more-or-less
+consistent with the journal style. Some fine tuning may be needed, but
+the output generally looks pretty good.
+
+If you want to see a small sample of each output, \TeX\ the file {\tt
+vertest.tex}.
+
+\enddocument
+
+\bye
diff --git a/Master/texmf-dist/doc/plain/yannisgr/00changes.txt b/Master/texmf-dist/doc/plain/yannisgr/00changes.txt
new file mode 100644
index 00000000000..9be612e38ba
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/yannisgr/00changes.txt
@@ -0,0 +1,36 @@
+ -Files renamed to avoid conflicts with CM:
+ accent.mf renamed to rgraccent.mf
+ punct.mf renamed to rgrpunct.mf
+
+ -Files renamed to avoid conflicts with Levy's Greek
+ gen_acc.mf renamed to rgen_acc.mf
+ grbase.mf renamed to rgrbase.mf
+ greek.mf renamed to rgreek.mf
+ greekmacros.tex renamed to rgreekmacros.tex
+ grtestfont.tex renamed to rgrtestfont.tex
+ lig.mf renamed to rgrlig.mf
+ lower.mf renamed to rgrlower.mf
+ upper.mf renamed to rgrupper.mf
+
+ -Files renamed to conform to HMC foreign language conventions
+ rgrhyph.tex renamed to grhypha.tex
+
+ -Files replaced with near-identical files from Levy's Greek
+ digits.mf
+
+ -Files changed to reflect above renamings:
+ greekcsc.mf
+ mrgrbf10.mf
+ mrgrrg10.mf
+ mrgrsl10.mf
+ mrgrti10.mf
+ m_greek.mf
+ rgrbf10.mf
+ rgreek.mf
+ rgrpaper.tex
+ rgrrg10.mf
+ rgrsc10.mf
+ rgrsl10.mf
+ rgrtestfont.tex
+ rgrti10.mf
+ tomakeformat.txt
diff --git a/Master/texmf-dist/doc/plain/yannisgr/00readme.txt b/Master/texmf-dist/doc/plain/yannisgr/00readme.txt
new file mode 100644
index 00000000000..9110bf9a1c1
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/yannisgr/00readme.txt
@@ -0,0 +1,49 @@
+
+Directory TEX_ROOT:[BABEL.GREEK.YANNIS]
+
+00CHANGES.TXT;5
+00README.TXT;1
+CSC_MISCE.MF;1
+DIGITS.MF;2
+GEN_ACC.MF;2
+GEN_M_ACC.MF;1
+GREEKCSC.MF;2
+IT_DIGITS.MF;1
+IT_LIG.MF;1
+IT_LOWER.MF;1
+LIGCSC.MF;1
+MONSYL.TXT;1
+MRGRBF10.MF;2
+MRGRRG10.MF;2
+MRGRSL10.MF;2
+MRGRTI10.MF;2
+M_ACCENT.MF;1
+M_GREEK.MF;2
+RGEN_ACC.MF;1
+RGR.README;2
+RGRACCENT.MF;1
+RGRBASE.MF;1
+RGRBF10.MF;3
+RGREEK.MF;3
+RGREEKMACROS.TEX;1
+RGRHYPH.TEX;1
+RGRLIG.MF;1
+RGRLOWER.MF;1
+RGRPAPER.DVI;1
+RGRPAPER.LIS;2
+RGRPAPER.TEX;3
+RGRPUNCT.MF;1
+RGRRG10.MF;3
+RGRSC10.300GF;1
+RGRSC10.LIS;1
+RGRSC10.MF;2
+RGRSC10.PL;1
+RGRSC10.TFM;1
+RGRSL10.MF;3
+RGRTESTFONT.TEX;2
+RGRTI10.MF;3
+RGRUPPER.MF;1
+SCSC.MF;1
+TOMAKEFORMAT.TXT;2
+
+Total of 44 files.
diff --git a/Master/texmf-dist/doc/plain/yannisgr/monsyl.txt b/Master/texmf-dist/doc/plain/yannisgr/monsyl.txt
new file mode 100644
index 00000000000..b704a49ee7f
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/yannisgr/monsyl.txt
@@ -0,0 +1,456 @@
+%
+% This is part of the rgr-package, version 1.0
+%
+% LIST OF ONE-SYLLAB WORDS WHICH TAKE NO ACCENT
+% IN THE NEW ONE-ACCENT SYSTEM
+%
+% Source: Dictionnary of Mhqi'wthc (ref. 3 in the paper)
+%
+%
+% Exceptions are: >'h, p~wc, po~u, und mo~u, so~u, to~u etc
+% in case of misunderstanding:
+% for example o pat'erac mou e'ipe
+% can mean: my father said (<o pat'erac mou, e>~ipe)
+% or father said to me (<o pat'erac, mo~u e>~ipe).
+% In the first case it would be: o pat'erac mou e'ipe
+% and in the second one: o pat'erac mo'u e'ipe.
+% But if there is no possible misunderstanding, these words get no
+% accent.
+%
+%
+>~a
+>'a
+<'a
+>'ai
+>'ah
+<'alc
+>'alt
+>'an
+>'aq
+b'att
+b'aq
+b'hx
+b'olt
+bo~u
+bo~uc
+bg'ec
+br'ec
+bg~w
+bge~ic
+bge~i
+bgo~un
+br'e
+b~wx
+bi'oc
+br~w
+bre~ic
+bre~i
+bro~un
+bo~un
+g'a
+g'ar
+g~h
+g~hc
+g~hn
+gi'a
+gi'en
+gi'wt
+gk'el
+gk'i
+gk'olf
+gi'oc
+gio~u
+gi'o
+gio'i
+gi~wn
+gio'uc
+gkro'um
+gla~ux
+gra~uc
+gr'i
+gr~u
+gr'uy
+gk'ol
+g'in
+gi'angk
+gi'ok
+g'uy
+d'a
+da'ic
+d'ac
+d'e
+de~i
+de~in
+d'en
+d'ec
+d~w
+de~ic
+do~un
+d'h
+d'hx
+di'a
+d'ic
+d'on
+do'ux
+dr'ax
+du'o
+dr~w
+dr~ac
+dr~a
+dro~un
+dr~uc
+>'e
+>'ea
+e<~ic
+>'em
+<'en
+<'ex
+e>~u
+ze'uc
+ze~i
+ze~ic
+z~hn
+zo~un
+z~w
+z'en
+>~hn
+<'h
+<~hc
+<'hn
+j'a
+j'in
+j'ic
+jl~a
+jl~ac
+jlo~un
+jl~w
+j'ec
+jr'ix
+jr'iy
+jro~uc
+j'wc
+jei'oc
+jei'a
+jeio'i
+jeio'uc
+jei~wn
+jeio~u
+jei~ac
+jei'ec
+>'ic
+>'i
+ka'i
+k>'an
+k'ic
+k~in
+kl~a
+kl~ac
+klo~un
+kl~w
+k'itc
+k'atc
+kr'a
+kr'aq
+kr'hc
+kte'ic
+k'ur
+k'wk
+k~wc
+k~w
+kla~ic
+ka~ic
+ka~in
+kl'unn
+l'a
+l'ax
+l'iy
+l'ugx
+l'ec
+l'en
+l'ok
+m'a
+ma'itr
+m'arc
+m~ac
+m'at
+m'atc
+m'e
+mo'utc
+m'en
+m'h
+m'hn
+m'i
+m'ic
+mn~an
+mn~ac
+mn~a
+m'orc
+mi'a
+m'ec
+mp~a
+mp'a
+mp'ar
+mp'ac
+mp'iz
+mpl'e
+mpl'ok
+mo~u
+mp'ec
+mplo'um
+mplo'uz
+mp'ol
+mp'ox
+mpr'e
+mpr'ik
+mpr'itz
+mp'it
+mp'ip
+mpr'oc
+m~u
+m~uc
+m'wy
+mp'ak
+mpo'um
+mp'am
+n'a
+na'i
+na~u
+na~un
+na~uc
+n'h
+n'i
+ni'a
+nt'an
+n'ok
+nt'e
+nt'o
+nt'ok
+nt'on
+nto'uc
+n~u
+n~un
+n'ux
+n'ec
+nt'ip
+ntr'in
+nto~u
+ni'oc
+nio~u
+ni'o
+nio'i
+ni~wn
+nio'uc
+ni~ac
+ni'an
+ni'ec
+>'on
+<'oc
+o<~u
+<'on
+<'o
+o<'i
+o<'uc
+o<'u
+o>~uc
+o>'ust
+o>'uf
+o>'uq
+>'oq
+p'a
+pa~ic
+pa~i
+p~an
+p'an
+p~ac
+p'at
+p~w
+pe~ic
+pe~i
+po~un
+p'ec
+p'ik-n'ik
+pl'hn
+plo~uc
+plo~i
+plo~un
+plo~u
+p'i
+pi'ec
+pie~i
+pio~un
+pi~w
+pie~ic
+pn'ux
+po'u
+po'uc
+po'uf
+pr'in
+pr'o
+pro'ix
+pi'a
+pi'o
+pr'oc
+p'ux
+p~ur
+p'w
+p'wc
+poi'oc
+poi'a
+poi'o
+poio'i
+poio'uc
+poi~wn
+poio~u
+poi~ac
+poi'an
+poi'on
+poi'ec
+r'ax
+r'e
+r'ingk
+r'ic
+ro~uc
+ro~u
+ro~un
+r'wx
+r'wc
+r~w
+r'o
+r'ok
+re~i
+s'an
+s'a
+s'arx
+s~ac
+s'e
+s'ex
+s'er
+s'hc
+s'hy
+s'ef
+st'a
+st'o
+s'ik
+sk'i
+sk'wr
+sk'wy
+sn'omp
+s'ok
+s'oc
+so'ut
+so~u
+sto~u
+st'on
+sto'uc
+spl'hn
+sp'or
+sp~w
+sp~ac
+sp~an
+st'ar
+st'ul
+st'ux
+s'u
+st~hc
+st'hn
+st~wn
+st'h
+s'un
+s~uc
+s~un
+sf'hn
+sf'hx
+sf'igx
+st'op
+str'ac
+st'ok
+t'a
+ta~u
+t'akt
+t'an
+t~ac
+t'e
+t'est
+tz'in
+t'i
+ts'ok
+tz'im
+tz'wn
+t'ik
+t'ic
+t'o
+to~u
+t'on
+to'uc
+t~hc
+t'hn
+t~wn
+tr'ak
+t'h
+tz'ak
+tr'am
+tr'ast
+tre~ic
+tr'ic
+tr'ik
+tr'wc
+tr~wc
+tr~wn
+ts'ak
+t'ak
+t'ok
+ts'e
+ts'ek
+ts'if
+tso'u
+ts'a
+tso'uf
+ts'af
+tz'az
+t'ost
+tz'ast
+ts'ingk
+f'i
+f~ac
+f~an
+fe~u
+fl'ert
+fl'ey
+fl'it
+fl'ux
+f'wr
+f~wc
+f'wc
+f'ilm
+fl'ac
+f'ic
+f'on
+fto~u
+f'ast
+fo~unt
+q'a
+q'i
+q'e
+qo'u
+qe'ir
+q'hn
+qj'ec
+qt'ec
+qj'wn
+jo~uc
+jo~un
+jr'h
+jr'wc
+j'wl
+y'i
+y'ec
+y'hn
+y'it
+>'w
+>~w
+>'wm
+>'wn
+>'wq
+>'wy
+<'wc
+
diff --git a/Master/texmf-dist/doc/plain/yannisgr/rgr.readme b/Master/texmf-dist/doc/plain/yannisgr/rgr.readme
new file mode 100644
index 00000000000..f7a455b19aa
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/yannisgr/rgr.readme
@@ -0,0 +1,39 @@
+List of files:
+accent.mf, csc_misce.mf, digits.mf, gen_acc.mf, gen_m_acc.mf, grbase.mf,
+greek.mf, greekcsc.mf, it_digits.mf, it_lig.mf, it_lower.mf, lig.mf,
+ligcsc.mf, lower.mf, m_accent.mf, m_greek.mf, punct.mf, scsc.mf, upper.mf,
+
+rgrrg10.mf, rgrsl10.mf, rgrti10.mf, rgrbf10.mf, rgrsc10.mf, mrgrrg10.mf,
+mrgrsl10.mf, mrgrti10.mf, mrgrbf10.mf,
+
+greekmacros.tex, monsyl.txt, rgrhyph.tex, rgrpaper.tex, tomakeformat.txt,
+grtestfont.tex
+
+*************************************************************************
+ USERS'S GUIDE
+*************************************************************************
+
+Run all the fonts with \mag:=1; Run rgrrg10 also with \mag:=.9;. Make sure
+that the fonts cmssqi8 and mcyr10 are available. Same thing for tugbot.sty
+and tugbot.com (version 0.5 at least). Run rgrpaper.tex (this is a NEW version
+of "Y. Haralambous, K. Thull, Typesetting modern greek with 128 character
+codes, TUGboat 10 (1989) 354-359).
+
+Read it!
+
+If you want to make a greek format, remove "\input hyphen.tex" from plain.tex,
+and replace by he contents of tomakeformat.txt.
+
+If you want to make the PASCAL word processor mentionned in rgrpaper, you
+will find in monsyl.txt a list of monosyllabes.
+
+That's it. If you are a satisfied user you can send me a postcard for my
+collection (or perhaps some work you have done with this package), else send
+me your remarks and complaints. My address is
+
+ Yannis Haralambous
+ 101/11, rue Breughel
+ 59650 Villeneuve d'Ascq, France
+ Tel. (33) 20.05.28.80
+ email: (Bitnet) yannis@frcitl71
+ (after June, 1, 1990 yannis@frcitl81)
diff --git a/Master/texmf-dist/doc/plain/yannisgr/rgreekmacros.tex b/Master/texmf-dist/doc/plain/yannisgr/rgreekmacros.tex
new file mode 100644
index 00000000000..3aad8fd1ac0
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/yannisgr/rgreekmacros.tex
@@ -0,0 +1,159 @@
+\def\lt{<}
+\def\gt{>}
+\newcount\fontnumber
+\fontnumber=0
+\newif\ifoneaccent\oneaccenttrue
+\def\ifnextchar#1#2#3{\let\tempe #1\def\tempa{#2}\def\tempb{#3}\futurelet
+ \tempc\ifnch}
+\def\ifnch{\ifx\tempc\tempe\let\tempd\tempa\else\let\tempd\tempb\fi\tempd}
+\def\gobble#1{}
+\def\greekmode{%
+\catcode`\<=13%
+\catcode`\>=13%
+\catcode`\'=11%
+\catcode`\`=13%
+\catcode`\~=11%
+\catcode`\"=13%
+\lccode`\<=`\<%
+\lccode`\>=`\>%
+\lccode`\'=`\'%
+\lccode`\~=`\~%
+\lccode`\"=`\"%
+\def\rg{\fontnumber=1\tengr}%
+\def\sl{\fontnumber=2\tengrsl}%
+\def\it{\fontnumber=3\tengrit}%
+\def\bf{\fontnumber=4\tengrbf}%
+\def\smc{\fontnumber=5\tengrsmc}%
+\def\I##1{\setbox0\hbox{##1}\ifdim\ht0=1ex\accent'174 ##1%
+ \else{\ooalign{\hidewidth\char'174\hidewidth\crcr\unhbox0}}\fi}}%
+\newcount\vwl
+\newcount\acct
+{
+ \greekmode
+ \gdef>{\ifnextchar ~{\expandafter\smoothcircumflex\gobble}{\char\lq\>}}
+ \gdef<{\ifnextchar ~{\expandafter\roughcircumflex\gobble}{\char\lq\<}}
+ \gdef\smoothcircumflex#1{\acct=\rq134 \vwl=\lq#1 \dobreathingcircumflex}
+ \gdef\roughcircumflex#1{\acct=\rq100 \vwl=\lq#1 \dobreathingcircumflex}
+ \gdef\dobreathingcircumflex{\ifnum\vwl\lt\rq140 %if uppercase
+ \char\the\acct\kern -.2em\char\the\vwl\else
+ \doaccent\fi}
+ \gdef\doaccent{\accent\the\acct \char\the\vwl\relax}
+ \gdef"{\ifnextchar '{\expandafter\diaeresisacute\gobble}{\accent\lq\"}}
+ \gdef\diaeresisacute#1{\accent\rq043 #1}
+ \gdef`{'}
+}
+
+\newif\ifgreek\greekfalse
+
+\def\begingreek{\bgroup\font\tengr=rgrrg10\font\tengrsl=rgrsl10%
+\font\tengrbf=rgrbf10\font\tengrit=rgrti10\font\tengrsmc=rgrsc10%
+\greektrue\greekmode\rg}
+\def\beginmgreek{\bgroup\font\tengr=mrgrrg10\font\tengrsl=mrgrsl10%
+\font\tengrbf=mrgrbf10\font\tengrit=mrgrti10\font\tengrsmc=rgrsc10%
+\greektrue\greekmode\rg}
+\def\endgreek{\egroup}
+\def\endmgreek{\egroup}
+\def\monotoniko{%
+\font\tengr=mrgrrg10\font\tengrsl=mrgrsl10%
+\font\tengrbf=mrgrbf10\font\tengrit=mrgrti10%
+\ifnum\fontnumber=5\smc%
+ \else\ifnum\fontnumber=4\bf%
+ \else\ifnum\fontnumber=3\it%
+ \else\ifnum\fontnumber=2\sl%
+ \else\rg%
+ \fi%
+ \fi%
+ \fi%
+\fi%
+}
+\def\polutoniko{%
+\font\tengr=rgrrg10\font\tengrsl=rgrsl10%
+\font\tengrbf=rgrbf10\font\tengrit=rgrti10%
+\ifnum\fontnumber=5\smc%
+ \else\ifnum\fontnumber=4\bf%
+ \else\ifnum\fontnumber=3\it%
+ \else\ifnum\fontnumber=2\sl%
+ \else\rg%
+ \fi%
+ \fi%
+ \fi%
+\fi%
+}
+\let\math=$%
+{\catcode`\$=13%
+\gdef\greekdelims{\catcode`\$=13%
+\def${\ifgreek\endgreek\else\begingreek\fi}
+\def\display{\math\math}\def\enddisplay{\math\math}}}
+\def\grave#1{{\edef\next{\the\font}\smc\accent\rq001\next#1}}
+\def\roughgrave#1{{\edef\next{\the\font}\smc\accent\rq002\next#1}}
+\def\smoothgrave#1{{\edef\next{\the\font}\smc\accent\rq003\next#1}}
+\def\diaeresisgrave#1{{\edef\next{\the\font}\smc\accent\rq004\next#1}}
+\def\diaeresiscircumflex#1{{\edef\next{\the\font}\smc\accent\rq005\next#1}}
+\def\breve#1{{\edef\next{\the\font}\smc\accent\rq006\next#1}}
+\def\macron#1{{\edef\next{\the\font}\smc\accent\rq007\next#1}}
+\def\rhorough{{\tengrsmc
+\ifnum\fontnumber=5\char\rq162
+ \else\ifnum\fontnumber=4\char\rq016
+ \else\ifnum\fontnumber=3\char\rq014
+ \else\ifnum\fontnumber=2\char\rq012
+ \else\char\rq010
+ \fi
+ \fi
+ \fi
+\fi
+}}
+\def\rhosmooth{{\tengrsmc
+\ifnum\fontnumber=5\char\rq162
+ \else\ifnum\fontnumber=4\char\rq017
+ \else\ifnum\fontnumber=3\char\rq015
+ \else\ifnum\fontnumber=2\char\rq013
+ \else\char\rq011
+ \fi
+ \fi
+ \fi
+\fi
+}}
+\def\digamma{{\smc\char\rq135}}
+\def\smallDigamma{{\smc\char\rq140}}
+\def\Digamma{{\tengrsmc
+\ifnum\fontnumber=5\char\rq021
+ \else\ifnum\fontnumber=4\char\rq027
+ \else\ifnum\fontnumber=3\char\rq025
+ \else\ifnum\fontnumber=2\char\rq023
+ \else\char\rq021
+ \fi
+ \fi
+ \fi
+\fi
+}}
+\def\vardigamma{{\tengrsmc
+\ifnum\fontnumber=5\char\rq020
+ \else\ifnum\fontnumber=4\char\rq026
+ \else\ifnum\fontnumber=3\char\rq024
+ \else\ifnum\fontnumber=2\char\rq022
+ \else\char\rq020
+ \fi
+ \fi
+ \fi
+\fi
+}}
+\def\understroke{{\smc\char\rq046}}
+\def\overstroke{{\smc\char\rq044}}
+\def\sanpi{{\smc\char\rq136}}
+\def\Sanpi{{\smc\char\rq137}}
+\def\qoppa{{\smc\char\rq133}}
+\def\varqoppa{{\smc\char\rq134}}
+\def\Qoppa{{\smc\char\rq103}}
+\def\Tao{{\smc\char\rq177}}
+\def\ssh{\breve{s}}\def\SSH{\breve{S}}
+\def\dz{\breve{z}}\def\DZ{\breve{Z}}
+\def\psh{\breve{y}}\def\PSH{\breve{Y}}
+\def\ksh{\breve{x}}\def\KSH{\breve{X}}
+\def\inviota{{\smc\char\rq126}}
+\def\grMF{{\smc\char\rq030\char\rq031\char\rq032\char\rq033}\-{\smc%
+\char\rq034\char\rq036\char\rq037\char\rq032}}
+\def\MF{{\smc\char\rq030\char\rq031\char\rq032\char\rq033}\-{\smc%
+\char\rq040\char\rq036\char\rq037\char\rq032}}
+
+\endinput
+
diff --git a/Master/texmf-dist/doc/plain/yannisgr/rgrhyph.tex b/Master/texmf-dist/doc/plain/yannisgr/rgrhyph.tex
new file mode 100644
index 00000000000..5ae489b008c
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/yannisgr/rgrhyph.tex
@@ -0,0 +1,1179 @@
+%
+% This is part of the rgr-package version 1.1
+% as of March 2, 1990 Lille (France)
+%
+% Hyphenation patterns for modern greek language
+% **********************************************
+%
+\patterns{%
+.>a4
+.>'a4
+.>~a4
+.<a4
+.<'a4
+.<~a4
+.'a4
+.>e4
+.>'e4
+.>~e4
+.<e4
+.<'e4
+.<~e4
+.'e4
+.>h4
+.>'h4
+.>~h4
+.<h4
+.<'h4
+.<~h4
+.'h4
+.>i4
+.>'i4
+.>~i4
+.<i4
+.<'i4
+.<~i4
+.'i4
+.>o4
+.>'o4
+.>~o4
+.<o4
+.<'o4
+.<~o4
+.'o4
+.<u4
+.<'u4
+.<~u4
+.'u4
+.>w4
+.>'w4
+.>~w4
+.<w4
+.<'w4
+.<~w4
+.'w4
+a1
+a2i
+a2'i
+a2~i
+a2>i
+a2>'i
+a2>~i
+a2<i
+a2<'i
+a2<~i
+'a3i
+a3"
+a2u
+a2'u
+a2~u
+a2>u
+a2>'u
+a2>~u
+a2<u
+a2<'u
+a2<~u
+'a3u
+e1
+e2i
+e2'i
+e2~i
+e2>i
+e2>'i
+e2>~i
+e2<i
+e2<'i
+e2<~i
+'e3i
+e3"
+e2u
+e2'u
+e2~u
+e2>u
+e2>'u
+e2>~u
+e2<u
+e2<'u
+e2<~u
+'e3u
+h1
+h2u
+h2'u
+h2~u
+h2>u
+h2>'u
+h2>~u
+h2<u
+h2<'u
+h2<~u
+'h3u
+h3"
+i1
+i2a
+i2'a
+i2~a
+'i3a
+~i3a
+u2'a
+i2e
+i2'e
+'i3e
+~i3e
+u2'e
+i2o
+i2'o
+'i3o
+~i3o
+u2'o
+i2w
+i2'w
+i2~w
+'i3w
+~i3w
+u2'w
+'4'
+''4'
+''4>
+''4<
+'''a4
+''>a'4
+''<a'4
+''>~a4
+''<~a4
+'''e4
+'''>e'4
+'''<e'4
+'''h4
+''>h'4
+''<h'4
+''>~h4
+''<~h4
+'''i4
+''>i'4
+''<i'4
+''>~i4
+''<~i4
+'''o4
+''>o'4
+''<o'4
+'''u4
+''>u'4
+''<u'4
+''>~u4
+''<~u4
+'''w4
+''>w'4
+''<w'4
+''>~w4
+''<~w4
+o1
+o2i
+o2'i
+o2~i
+o2>i
+o2>'i
+o2>~i
+o2<i
+o2<'i
+o2<~i
+'o3i
+o3"
+o2u
+o2'u
+o2~u
+o2>u
+o2>'u
+o2>~u
+o2<u
+o2<'u
+o2<~u
+'o3u
+u1
+u2i
+u2'i
+u2~i
+u2>i
+u2>'i
+u2>~i
+u2<i
+u2<'i
+u2<~i
+u3"
+w1
+~a3i
+~a3u
+~h3u
+a1b
+a1g
+a1d
+a1z
+a1j
+a1k
+a1l
+a1m
+a1n
+a1x
+a1p
+a1r
+a1s
+a1t
+a1f
+a1q
+a1y
+e1b
+e1g
+e1d
+e1z
+e1j
+e1k
+e1l
+e1m
+e1n
+e1x
+e1p
+e1r
+e1s
+e1t
+e1f
+e1q
+e1y
+h1b
+h1g
+h1d
+h1z
+h1j
+h1k
+h1l
+h1m
+h1n
+h1x
+h1p
+h1r
+h1s
+h1t
+h1f
+h1q
+h1y
+i1b
+i1g
+i1d
+i1z
+i1j
+i1k
+i1l
+i1m
+i1n
+i1x
+i1p
+i1r
+i1s
+i1t
+i1f
+i1q
+i1y
+o1b
+o1g
+o1d
+o1z
+o1j
+o1k
+o1l
+o1m
+o1n
+o1x
+o1p
+o1r
+o1s
+o1t
+o1f
+o1q
+o1y
+u1b
+u1g
+u1d
+u1z
+u1j
+u1k
+u1l
+u1m
+u1n
+u1x
+u1p
+u1r
+u1s
+u1t
+u1f
+u1q
+u1y
+w1b
+w1g
+w1d
+w1z
+w1j
+w1k
+w1l
+w1m
+w1n
+w1x
+w1p
+w1r
+w1s
+w1t
+w1f
+w1q
+w1y
+2b1b
+2b1z
+2b1j
+2b1k
+2b1m
+2b1n
+2b1x
+2b1s
+2b1t
+2b1f
+2b1q
+2b1y
+2g1b
+2g1g
+2g1z
+2g1j
+2g1m
+2g1x
+2g1s
+2g1t
+2g1f
+2g1q
+2g1y
+2d1b
+2d1g
+2d1d
+2d1z
+2d1j
+2d1k
+2d1l
+2d1m
+2d1n
+2d1x
+2d1p
+2d1s
+2d1t
+2d1f
+2d1q
+2d1y
+2z1b
+2z1g
+2z1d
+2z1z
+2z1j
+2z1k
+2z1l
+2z1m
+2z1n
+2z1x
+2z1p
+2z1r
+2z1s
+2z1t
+2z1f
+2z1q
+2z1y
+2j1b
+2j1g
+2j1d
+2j1z
+2j1j
+2j1k
+2j1m
+2j1n
+2j1x
+2j1p
+2j1s
+2j1t
+2j1f
+2j1q
+2j1y
+2k1b
+2k1g
+2k1d
+2k1z
+2k1j
+2k1k
+2k1m
+2k1n
+2k1x
+2k1p
+2k1s
+2k1f
+2k1q
+2k1y
+2l1b
+2l1g
+2l1d
+2l1z
+2l1j
+2l1k
+2l1l
+2l1m
+2l1n
+2l1x
+2l1p
+2l1r
+2l1s
+2l1t
+2l1f
+2l1q
+2l1y
+2m1b
+2m1g
+2m1d
+2m1z
+2m1j
+2m1k
+2m1l
+2m1m
+2m1x
+2m1r
+2m1s
+2m1t
+2m1f
+2m1q
+2m1y
+2n1b
+2n1g
+2n1d
+2n1z
+2n1j
+2n1k
+2n1l
+2n1m
+2n1n
+2n1x
+2n1p
+2n1r
+2n1s
+2n1f
+2n1q
+2n1y
+2x1b
+2x1g
+2x1d
+2x1z
+2x1j
+2x1k
+2x1l
+2x1m
+2x1n
+2x1x
+2x1p
+2x1r
+2x1s
+2x1t
+2x1f
+2x1q
+2x1y
+2p1b
+2p1g
+2p1d
+2p1z
+2p1j
+2p1k
+2p1m
+2p1x
+2p1p
+2p1s
+2p1f
+2p1q
+2p1y
+2r1b
+2r1g
+2r1d
+2r1z
+2r1j
+2r1k
+2r1l
+2r1m
+2r1n
+2r1x
+2r1p
+2r1r
+2r1s
+2r1t
+2r1f
+2r1q
+2r1y
+2s1b
+2s1d
+2s1z
+sj2m
+2s1l
+2s1n
+2s1x
+2s1r
+2s1s
+2s1y
+2t1b
+2t1g
+2t1d
+2t1z
+2t1j
+2t1k
+2t1l
+2t1m
+2t1n
+2t1x
+2t1p
+2t1t
+2t1f
+2t1q
+2t1y
+2f1b
+2f1g
+2f1d
+2f1z
+2f1k
+2f1m
+2f1n
+2f1x
+2f1p
+2f1s
+2f1f
+2f1y
+2q1b
+2q1g
+2q1d
+2q1z
+2q1j
+2q1k
+2q1m
+2q1n
+2q1x
+2q1p
+2q1s
+2q1f
+2q1q
+2q1y
+2y1b
+2y1g
+2y1d
+2y1z
+2y1j
+2y1k
+2y1l
+2y1m
+2y1n
+2y1x
+2y1p
+2y1r
+2y1s
+2y1t
+2y1f
+2y1q
+2y1y
+a1"'i
+e1"'i
+o1"'i
+a1"'u
+e1"'u
+o1"'u
+h1"'u
+a1"~1
+e1"~i
+o1"~i
+a1"~u
+e1"~u
+o1"~u
+h1"~u
+4'a.
+4~a.
+4'e.
+4~e.
+4'h.
+4~h.
+4'i.
+4~i.
+4'u.
+4~u.
+4'o.
+4~o.
+4'w.
+4~w.
+4'aa.
+4'ab.
+4'ag.
+4'ad.
+4'ae.
+4'az.
+4'ah.
+4'aj.
+4'ai.
+4'ak.
+4'al.
+4'am.
+4'an.
+4'ax.
+4'ao.
+4'ap.
+4'ar.
+4'ac.
+4'at.
+4'au.
+4'af.
+4'aq.
+4'ay.
+4'aw.
+4'ea.
+4'eb.
+4'eg.
+4'ed.
+4'ee.
+4'ez.
+4'eh.
+4'ej.
+4'ei.
+4'ek.
+4'el.
+4'em.
+4'en.
+4'ex.
+4'eo.
+4'ep.
+4'er.
+4'ec.
+4'et.
+4'eu.
+4'ef.
+4'eq.
+4'ey.
+4'ew.
+4'ha.
+4'hb.
+4'hg.
+4'hd.
+4'he.
+4'hz.
+4'hh.
+4'hj.
+4'hi.
+4'hk.
+4'hl.
+4'hm.
+4'hn.
+4'hx.
+4'ho.
+4'hp.
+4'hr.
+4'hc.
+4'ht.
+4'hu.
+4'hf.
+4'hq.
+4'hy.
+4'hw.
+4'ia.
+4'ib.
+4'ig.
+4'id.
+4'ie.
+4'iz.
+4'ih.
+4'ij.
+4'ii.
+4'ik.
+4'il.
+4'im.
+4'in.
+4'ix.
+4'io.
+4'ip.
+4'ir.
+4'ic.
+4'it.
+4'iu.
+4'if.
+4'iq.
+4'iy.
+4'iw.
+4'oa.
+4'ob.
+4'og.
+4'od.
+4'oe.
+4'oz.
+4'oh.
+4'oj.
+4'oi.
+4'ok.
+4'ol.
+4'om.
+4'on.
+4'ox.
+4'oo.
+4'op.
+4'or.
+4'oc.
+4'ot.
+4'ou.
+4'of.
+4'oq.
+4'oy.
+4'ow.
+4'ua.
+4'ub.
+4'ug.
+4'ud.
+4'ue.
+4'uz.
+4'uh.
+4'uj.
+4'ui.
+4'uk.
+4'ul.
+4'um.
+4'un.
+4'ux.
+4'uo.
+4'up.
+4'ur.
+4'uc.
+4'ut.
+4'uu.
+4'uf.
+4'uq.
+4'uy.
+4'uw.
+4'wa.
+4'wb.
+4'wg.
+4'wd.
+4'we.
+4'wz.
+4'wh.
+4'wj.
+4'wi.
+4'wk.
+4'wl.
+4'wm.
+4'wn.
+4'wx.
+4'wo.
+4'wp.
+4'wr.
+4'wc.
+4'wt.
+4'wu.
+4'wf.
+4'wq.
+4'wy.
+4'ww.
+4~aa.
+4~ab.
+4~ag.
+4~ad.
+4~ae.
+4~az.
+4~ah.
+4~aj.
+4~ai.
+4~ak.
+4~al.
+4~am.
+4~an.
+4~ax.
+4~ao.
+4~ap.
+4~ar.
+4~ac.
+4~at.
+4~au.
+4~af.
+4~aq.
+4~ay.
+4~aw.
+4~ha.
+4~hb.
+4~hg.
+4~hd.
+4~he.
+4~hz.
+4~hh.
+4~hj.
+4~hi.
+4~hk.
+4~hl.
+4~hm.
+4~hn.
+4~hx.
+4~ho.
+4~hp.
+4~hr.
+4~hc.
+4~ht.
+4~hu.
+4~hf.
+4~hq.
+4~hy.
+4~hw.
+4~ia.
+4~ib.
+4~ig.
+4~id.
+4~ie.
+4~iz.
+4~ih.
+4~ij.
+4~ii.
+4~ik.
+4~il.
+4~im.
+4~in.
+4~ix.
+4~io.
+4~ip.
+4~ir.
+4~ic.
+4~it.
+4~iu.
+4~if.
+4~iq.
+4~iy.
+4~iw.
+4~ua.
+4~ub.
+4~ug.
+4~ud.
+4~ue.
+4~uz.
+4~uh.
+4~uj.
+4~ui.
+4~uk.
+4~ul.
+4~um.
+4~un.
+4~ux.
+4~uo.
+4~up.
+4~ur.
+4~uc.
+4~ut.
+4~uu.
+4~uf.
+4~uq.
+4~uy.
+4~uw.
+4~wa.
+4~wb.
+4~wg.
+4~wd.
+4~we.
+4~wz.
+4~wh.
+4~wj.
+4~wi.
+4~wk.
+4~wl.
+4~wm.
+4~wn.
+4~wx.
+4~wo.
+4~wp.
+4~wr.
+4~wc.
+4~wt.
+4~wu.
+4~wf.
+4~wq.
+4~wy.
+4~ww.
+4a'a.
+4b'a.
+4g'a.
+4d'a.
+4e'a.
+4z'a.
+4h'a.
+4j'a.
+4i'a.
+4k'a.
+4l'a.
+4m'a.
+4n'a.
+4x'a.
+4o'a.
+4p'a.
+4r'a.
+4s'a.
+4t'a.
+4u'a.
+4f'a.
+4q'a.
+4y'a.
+4w'a.
+4a'e.
+4b'e.
+4g'e.
+4d'e.
+4e'e.
+4z'e.
+4h'e.
+4j'e.
+4i'e.
+4k'e.
+4l'e.
+4m'e.
+4n'e.
+4x'e.
+4o'e.
+4p'e.
+4r'e.
+4s'e.
+4t'e.
+4u'e.
+4f'e.
+4q'e.
+4y'e.
+4w'e.
+4a'h.
+4b'h.
+4g'h.
+4d'h.
+4e'h.
+4z'h.
+4h'h.
+4j'h.
+4i'h.
+4k'h.
+4l'h.
+4m'h.
+4n'h.
+4x'h.
+4o'h.
+4p'h.
+4r'h.
+4s'h.
+4t'h.
+4u'h.
+4f'h.
+4q'h.
+4y'h.
+4w'h.
+4a'i.
+4b'i.
+4g'i.
+4d'i.
+4e'i.
+4z'i.
+4h'i.
+4j'i.
+4i'i.
+4k'i.
+4l'i.
+4m'i.
+4n'i.
+4x'i.
+4o'i.
+4p'i.
+4r'i.
+4s'i.
+4t'i.
+4u'i.
+4f'i.
+4q'i.
+4y'i.
+4w'i.
+4a'o.
+4b'o.
+4g'o.
+4d'o.
+4e'o.
+4z'o.
+4h'o.
+4j'o.
+4i'o.
+4k'o.
+4l'o.
+4m'o.
+4n'o.
+4x'o.
+4o'o.
+4p'o.
+4r'o.
+4s'o.
+4t'o.
+4u'o.
+4f'o.
+4q'o.
+4y'o.
+4w'o.
+4a'u.
+4b'u.
+4g'u.
+4d'u.
+4e'u.
+4z'u.
+4h'u.
+4j'u.
+4i'u.
+4k'u.
+4l'u.
+4m'u.
+4n'u.
+4x'u.
+4o'u.
+4p'u.
+4r'u.
+4s'u.
+4t'u.
+4u'u.
+4f'u.
+4q'u.
+4y'u.
+4w'u.
+4a'w.
+4b'w.
+4g'w.
+4d'w.
+4e'w.
+4z'w.
+4h'w.
+4j'w.
+4i'w.
+4k'w.
+4l'w.
+4m'w.
+4n'w.
+4x'w.
+4o'w.
+4p'w.
+4r'w.
+4s'w.
+4t'w.
+4u'w.
+4f'w.
+4q'w.
+4y'w.
+4w'w.
+4a~a.
+4b~a.
+4g~a.
+4d~a.
+4e~a.
+4z~a.
+4h~a.
+4j~a.
+4i~a.
+4k~a.
+4l~a.
+4m~a.
+4n~a.
+4x~a.
+4o~a.
+4p~a.
+4r~a.
+4s~a.
+4t~a.
+4u~a.
+4f~a.
+4q~a.
+4y~a.
+4w~a.
+4a~h.
+4b~h.
+4g~h.
+4d~h.
+4e~h.
+4z~h.
+4h~h.
+4j~h.
+4i~h.
+4k~h.
+4l~h.
+4m~h.
+4n~h.
+4x~h.
+4o~h.
+4p~h.
+4r~h.
+4s~h.
+4t~h.
+4u~h.
+4f~h.
+4q~h.
+4y~h.
+4w~h.
+4a~i.
+4b~i.
+4g~i.
+4d~i.
+4e~i.
+4z~i.
+4h~i.
+4j~i.
+4i~i.
+4k~i.
+4l~i.
+4m~i.
+4n~i.
+4x~i.
+4o~i.
+4p~i.
+4r~i.
+4s~i.
+4t~i.
+4u~i.
+4f~i.
+4q~i.
+4y~i.
+4w~i.
+4a~u.
+4b~u.
+4g~u.
+4d~u.
+4e~u.
+4z~u.
+4h~u.
+4j~u.
+4i~u.
+4k~u.
+4l~u.
+4m~u.
+4n~u.
+4x~u.
+4o~u.
+4p~u.
+4r~u.
+4s~u.
+4t~u.
+4u~u.
+4f~u.
+4q~u.
+4y~u.
+4w~u.
+4a~w.
+4b~w.
+4g~w.
+4d~w.
+4e~w.
+4z~w.
+4h~w.
+4j~w.
+4i~w.
+4k~w.
+4l~w.
+4m~w.
+4n~w.
+4x~w.
+4o~w.
+4p~w.
+4r~w.
+4s~w.
+4t~w.
+4u~w.
+4f~w.
+4q~w.
+4y~w.
+4w~w.
+}
+\endinput
+
diff --git a/Master/texmf-dist/doc/plain/yannisgr/rgrpaper.tex b/Master/texmf-dist/doc/plain/yannisgr/rgrpaper.tex
new file mode 100644
index 00000000000..98aa8cd94e5
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/yannisgr/rgrpaper.tex
@@ -0,0 +1,763 @@
+%
+% ************ tb26haralambous.tex
+\input tugboat.sty
+
+%\input mssymb
+\font\cyr=mcyr10
+%\input cyracc.def
+
+\input rgreekmacros
+\newcount\m \newcount\n \newcount\p \newdimen\dim
+\chardef\other=12
+\def\oct#1{\hbox{\tenrm\'{}\kern-.2em\tenit#1\/\kern.05em}} % octal constant
+\def\hex#1{\hbox{\tenrm\H{}\tentt#1}} % hexadecimal constant
+\def\setdigs#1"#2{\gdef\h{#2}% \h=hex prefix; \0\1=corresponding octal
+ \m=\n \divide\m by 64 \xdef\0{\the\m}%
+ \multiply\m by-64 \advance\m by\n \divide\m by 8 \xdef\1{\the\m}}
+\def\testrow{\setbox0=\hbox{\penalty 1\def\\{\char"\h}%
+ \\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\\A\\B\\C\\D\\E\\F%
+ \global\p=\lastpenalty}} % \p=1 if none of the characters exist
+\def\oddline{\cr
+ \noalign{\nointerlineskip}
+ \multispan{19}\hrulefill&
+ \setbox0=\hbox{\lower 2.3pt\hbox{\hex{\h x}}}\smash{\box0}\cr
+ \noalign{\nointerlineskip}}
+\newif\ifskipping
+\def\evenline{\loop\skippingfalse
+ \ifnum\n<128 \m=\n \divide\m 16 \chardef\next=\m
+ \expandafter\setdigs\meaning\next \testrow
+ \ifnum\p=1 \skippingtrue \fi\fi
+ \ifskipping \global\advance\n 16 \repeat
+ \ifnum\n=128 \let\next=\endchart\else\let\next=\morechart\fi
+ \next}
+\def\morechart{\cr\noalign{\hrule}
+ \chartline \oddline \m=\1 \advance\m 1 \xdef\1{\the\m}
+ \chartline \evenline}
+\def\chartline{&\oct{\0\1x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&}
+\def\chartstrut{\lower4.5pt\vbox to14pt{}}
+\def\table{$$\global\n=0
+ \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{\cr\noalign{\hrule}
+ \raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B&
+ &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup$$\par}
+\def\:{\setbox0=\hbox{\char\n}%
+ \ifdim\ht0>7.5pt\reposition
+ \else\ifdim\dp0>2.5pt\reposition\fi\fi
+ \box0\global\advance\n 1 }
+\def\reposition{\setbox0=\vbox{\kern2pt\box0}\dim=\dp0
+ \advance\dim 2pt \dp0=\dim}
+\def\centerlargechars{
+ \def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}}
+\greekdelims
+\font\ninergr=rgrrg10 scaled 900
+
+\TBremark{Pick up fonts for Imagen. Make fonts for APS}
+
+\def\blash{\math\backslash\math}
+\let\bs=\blash
+\def\begineight{\smallskip\bgroup\eightpoint}
+\def\endeight{\par\egroup\smallskip}
+%\font\smallrg=rgrrg8 % commented out by rw
+\def\QED.{\math\square\mah}
+\def\O#1{\hbox{\rm\char'23\kern-.2em\it#1\/\kern.05em}} % octal constant
+\def\refersto#1{\math{}^#1\math}
+\def\referred#1{\par\hang\noindent#1.} % overwritten below
+\newdimen\thehangindent
+\setbox0=\hbox{0. }
+\thehangindent=\wd0
+\def\referred#1{\par\hangindent\thehangindent\noindent
+ \hbox to \thehangindent{\hss#1.\ }\ignorespaces}
+
+\def\infoot{\baselineskip9.4pt\eightrm}
+\def\@{@}
+%\def\.#1{{\def\\{\backslash}\tentex#1}} % commented out by rfw
+\font\qq=cmssqi8
+\def\mottoline#1{{\rightline{\qq #1}}}
+\def\htb{\hskip2pt\relax}
+\def\frak{\fam\euffam}
+%\def\cyr{\cyracc\tencyr}
+
+% ***********************************************************************
+
+\title * Typesetting Modern Greek with\\ 128 Character Codes \\ version 1.1*
+
+\author * Yannis Haralambous *
+\address * U.F.R. de Math\'ematiques\\
+ Universit\'e de Lille--Flandres--Artois\\
+ 59655 Villeneuve d'Ascq Cedex, France *
+\netaddress[\network{Bitnet}] * yannis@frcitl81 *
+
+\author * Klaus Thull *
+\address * Freie Universit\"at Berlin *
+\netaddress[\network{Usenet}] * thull@fubinf.uucp *
+\TBremark{Check Thull's network address; gateway didn't like "unido".}
+\TBremark{this one generally works--kt}
+
+\article
+
+{\baselineskip11.3pt
+\mottoline{``Ved dette v\ae ret,}
+\mottoline{n\aa r det regner}
+\mottoline{s\aa\ sn\o r det''}
+\smallskip
+\mottoline{--- Fr\o ydis Frosk}
+}
+
+\vskip8pt\noindent
+In european scripts where diacritical marks are common,
+there are (at least) two reasons to avoid \TeX's accent mechanism
+in favor of many accented characters.
+
+One is the possible misplacement of accents by |dvitype|'s rounding
+algorithm;\TBremark{dvitype or a driver?}
+\TBremark{really dvitype--kt}
+the second is lack or invalidity of hyphenation. For
+example, large portions of german text may be unhyphenatable, and,
+given the german inclination to long words, may not be in shape to be
+typeset at all. Thus, in Europe, the obvious thing to do is: let
+$\MF$\ put the accents onto the letters, then access these characters
+via \TeX's ligature mechanism.
+
+Accordingly, the greek fonts created by Silvio Levy\refersto1 have
+256 characters each, and are a fine tool to typeset greek texts,
+ancient as well as modern, except those containing the most recent
+unique accent ``$\monotoniko '{}$'' (see below). But alas, there is
+the commercial world, whose device drivers just cannot do 256-code
+fonts (even |.pxl|-fonts were seen on the ``Big-Tech'' sales
+exhibition in West Berlin last winter). The free drivers are in
+better shape generally, but often the commercial ones cannot be
+disposed of in a hurry. So we decided to reduce these fonts to 128
+characters. We kept only the ones strictly necessary for writing
+modern greek without misusing the |\accent| primitive. At the same
+time, we constructed some new fonts, which we describe below.
+
+\head * The Reduced Greek Fonts *
+
+In modern post-war greek, the use of the grave accent ``$\grave{}$''
+($bare'ia$) progressively faded, so that only two accents and the
+breathings were left (this was the kind of greek the first author
+learned at school). So the first reduction we did on Levy's fonts was
+to omit all grave accents. Secondly, we made $s$ a free character
+again, so that in the transliteration one has to type |s| for $s$,
+and |c| for $c$. Thirdly, we omitted the iota subscribed letters.
+All these, however, can still be accessed by macros if so wished.
+
+Let's recall now the procedure, most of which is due to Levy: to
+typeset greek, you get into ``Greek mode'' by typing |\begingreek|.
+Similarly, you get out by typing |\endgreek|, but if you have to do
+this often, it is better to type |\greekdelims| at the beginning of
+your file. In that case |$| is used to enter and leave greekmode, and
+|\math| takes the former meaning of |$| (do not forget to type
+``{\tt\bs\SP}''). The transliteration code is the following:
+\display
+\tabskip1.1pt
+\hbox{\valign
+{\hbox to
+8pt{\null\hfil\strut$#$\hfil}&\hbox to 8pt{\null\hfil\strut\tt#\hfil}\cr
+a&a\cr b&b\cr g&g\cr d&d\cr e&e\cr z&z\cr h&h\cr j&j\cr
+i&i\cr k&k\cr l&l\cr m&m\cr n&n\cr x&x\cr o&o\cr p&p\cr
+r&r\cr s&s\cr c&c\cr t&t\cr u&u\cr f&f\cr q&q\cr y&y\cr w&w\cr}}
+\enddisplay
+To get an acute ($>oxe'ia$), or circumflex ($perispwm'enh$) accent you
+type |'|~(single quote), or |~|~(tilde) resp.\ in front of the vowel.
+To get a rough ($dase'ia$) or smooth ($yil'h$) breathing you type |<|
+or |>|, resp., in front of the vowel or the accent, if there is one.
+A diaeresis ($dialutik'a$) is represented by |"|~(double quote), and
+for a diaeresis with acute accent, just type |"'|~(double quote,
+single quote). To get a vowel with a iota subscript
+($<upogegramm'enh$) you have to use the macro |\I{...}|.
+
+If you need one of the omitted accents or combination of accents,
+you can get it by a macro:
+for example
+\list[\unitemized]
+$\grave{e}$ by |\grave{e}|,
+$\breve{a}$ by |\breve{a}|,
+$\macron{h}$ by |\macron{h}|,
+$\roughgrave{i}$ by |\roughgrave{i}|,
+$\smoothgrave{o}$ by |\smoothgrave{o}|,
+$\diaeresisgrave{w}$ by |\diaeresisgrave{w}|,
+$\diaeresiscircumflex{u}$ by |\diaeresiscircumflex{u}|,
+$\rhorough$ by |\rhorough|, and
+$\rhosmooth$ by |\rhosmooth|.
+\endlist
+
+Finally, you have access to the following punctuation marks:
+\display
+\hbox{\tabskip1.5pt
+\valign
+{\hbox to 15pt{\hfil\strut$#$\hfil}&\hbox to 15pt{\hfil\strut\tt#\hfil}\cr
+.&.\cr ,&,\cr ;&;\cr :&:\cr !&!\cr ?&?\cr ''&''\cr ((&((\cr
+))&))\cr
+}}
+\enddisplay
+as well as the ten digits, parentheses, hyphen, en-dash, slash,
+percent sign, asterisk, plus and equal signs.
+
+\head * Some New Fonts *
+
+To write mathematics in greek one also needs slanted letters (for
+statements of theorems, according to |amsppt| style) and small
+capital letters (for titles and references). We have constructed
+these fonts, in the same reduced way, so that, together with the
+reduced Levy fonts, we obtain a complete family of greek fonts,
+namely regular, boldface, slanted, and small caps. We have called
+these fonts |rgrrg|, |rgrbf|, |rgrsl|, |rgrsc|. Inside of greek mode
+you just write |\bf|, |\sl|, |\smc| as usual and |\rg| (instead of
+|\rm|) to get the regular gree font.
+
+Here is an example of an alleged mathematical text, complete with
+translation:
+$
+\proclaim \smc {1.1.4.} Jewrhma.
+Gi'a k'aje jetik'o >ak'eraio
+\math n\math,
+<up'arqei m'ia tri'ada m'h mhdenik~wn >akera'iwn \math(x,y,z)\math, t'etoia
+<~wste\math\math x^n+y^n=z^n.\math\math
+
+\noindent{\smc Apodeixh tou 1.1.4.} Gi'a \math n=2\math, ft'anei n'a p'aroume
+\math x=3,y=4,z=5\math. Gi'a \math n\gt 2\math,
+>af'hnoume t'hn >ap'odeixh st'on >anagn'wsth s'an >'askhsh.
+{\bf <'o.>'e.d.}
+$
+
+\proclaim \smc {1.1.4.} Theorem.
+For each positive integer \math n\math,
+there exists a triple of non-zero integers \math (x,y,z)\math\ such that
+\math\math x^n+y^n=z^n.\math\math
+
+\noindent{\smc Proof of 1.1.4.} For \math n=2\math, we find
+\math x=3,y=4,z=5\math. For \math n\gt 2\math, the proof
+left to the reader as an exercise. {\bf q.e.d.}
+
+\head * Fonts for one-accent greek *
+
+Some years after the re-establishment of democracy in Greece in 1974,
+a new system of accentuation has been introduced, omitting completely
+breathings and subscript iota, and simplifying the two remaining
+accents into one ``universal accent,'' $\monotoniko ' \polutoniko
+(tonik'o shme~io).$ This system is currently taught at school and it
+seems that any official document (including written examinations in
+some high schools) written in the old fashion multi-accent system is
+considered invalid (!).
+
+So we thought that perhaps people would like to write in the old
+system and have a font to print the same text in fully official
+one-accent greek. We created fonts analogous to the reduced regular,
+boldface, and slanted which we have denoted by the prefix ``|m|''
+(for $monotonik'o$): |mrgrrg|, |mrgrbf|, |mrgrsl|. Note that the
+small capitals font |rgrsc| doesn't have any accents at all, and so
+may be used in any accent system.
+
+These new fonts are designed to work with the same input as the old
+accent system. The printed text will follow the current
+grammar\refersto2 (at least concerning the accent), with one
+exception: monosyllables (like articles, prepositions and other
+auxiliary words) don't take any accent at all. To solve this problem
+we are working at a Pascal word processor program, based on Fred
+M.~Liang's packed trie device, which will, once given the list of the
+accented monosyllables, recognize them, and replace them by
+non-accented words. According to the dictionary of
+H.~Mihiotis\refersto3, there are 284 such words, to which we ust
+add many new and foreign words.
+
+Of course, you can write your text in one-accent greek right away
+(unfortunately there is no ``magic'' macro to transform it back into
+multi-accent greek~\dots). With these new fonts you will get a nice
+symmetric ``universal'' accent instead of an acute or a circumflex.
+
+To write in one-accent greek you get into ``Greek one-accent mode'',
+by typing |\beginmgreek|. If you are in greek multi-accent mode
+already, you must use the macro |\monotoniko|. There is also the
+converse macro |\polutoniko|. So if you want to obtain
+\display\vbox{$
+\centerline{\monotoniko O Hr'akleitoc 'elege \polutoniko
+((t\grave{a} p'anta \rhorough e~i))}
+\centerline{\monotoniko kai e'iqe d'ikio! \dots}
+$}\enddisplay
+you type
+\verbatim
+\beginmgreek O Hr'akleitoc 'elege
+\polutoniko
+ ((t\grave{a} p'anta \rhorough e~i))
+\monotoniko
+ kai e'iqe d'ikio!...\endgreek
+\endverbatim
+
+\head * The Greek Numeral Symbols *
+
+The so-called Ionian\refersto4 system of numeration (\math{\sim}\math
+fifth century {\smc bc}) consisted of the following numerals:
+\display
+\hbox{\valign
+{\hbox to 15pt{\hfil\strut$#$\hfil}&\hbox to 15pt{\hfil\strut\rm#\hfil}\cr
+A&1\cr B&2\cr G&3\cr D&4\cr E&5\cr {\Digamma}&6\cr Z&7\cr H&8\cr J&9\cr}}
+\enddisplay
+\display
+\hbox{\valign
+{\hbox to 15pt{\hfil\strut$#$\hfil}&\hbox to 15pt{\hfil\strut\rm#\hfil}\cr
+I&{10}\cr K&{20}\cr L&{30}\cr M&{40}\cr N&{50}\cr X&{60}\cr
+O&{70}\cr P&{80}\cr {\Qoppa}&{90}\cr}}
+\enddisplay
+\display
+\hbox{\valign
+{\hbox to 20pt{\hfil\strut$#$\hfil}&\hbox to 20pt{\hfil\strut\rm#\hfil}\cr
+R&{100}\cr S&{200}\cr T&{300}\cr U&{400}\cr F&{500}\cr Q&{600}\cr Y&{700}\cr
+W&{800}\cr {\Sanpi}&{900}\cr}}
+\enddisplay
+
+The letters $\Digamma, \Qoppa, \Sanpi$ are called digamma, qoppa,
+sanpi. They belong to an older alphabet. Later on, as lowercase
+letters were introduced and as the need for higher numbers grew, the
+numerals became:
+\display
+\hbox{\tabskip1pt
+\valign
+{\hbox to 15pt{\hfil\strut$#\overstroke$\hfil}&
+ \hbox to 15pt{\hfil\strut\rm#\hfil}\cr
+a&1\cr b&2\cr g&3\cr d&4\cr e&5\cr {\digamma}&6\cr z&7\cr h&8\cr
+j&9\cr}}
+\enddisplay
+\display
+\hbox{\tabskip1pt
+\valign
+{\hbox to 15pt{\hfil\strut$#\overstroke$\hfil}&
+ \hbox to 15pt{\hfil\strut\rm#\hfil}\cr
+i&{10}\cr k&{20}\cr l&{30}\cr m&{40}\cr n&{50}\cr x&{60}\cr
+o&{70}\cr p&{80}\cr {\qoppa}&{90}\cr}}
+\enddisplay
+\display
+\hbox{\tabskip1pt
+\valign
+{\hbox to 20pt{\hfil\strut$#\overstroke$\hfil}&
+ \hbox to 20pt{\hfil\strut\rm#\hfil}\cr
+r&{100}\cr s&{200}\cr t&{300}\cr u&{400}\cr f&{500}\cr q&{600}\cr y&{700}\cr
+w&{800}\cr {\sanpi}&{900}\cr}}
+\enddisplay
+\display
+\hbox{\tabskip2.5pt\valign
+{\hbox to 30pt{\hfil\strut$\understroke#$\hfil}&
+ \hbox to 30pt{\hfil\strut\rm#000\hfil}\cr
+a&1\cr b&2\cr g&3\cr d&4\cr e&5\cr {\digamma}&6\cr z&7\cr}}
+\enddisplay
+\display
+\hbox{\valign
+{\hbox to 30pt{\hfil\strut$#$\hfil}&
+ \hbox to 30pt{\hfil\strut\rm#000\hfil}\cr
+h&8\cr j&9\cr M&{10}\cr}}
+\enddisplay
+So, for example, the date {\sl February 16th, 1989} would be written
+$i\digamma\overstroke\ Febrouar'iou \understroke a\sanpi pj$ and the
+following equality holds:
+$
+\display\vbox{
+\centerline{sz\overstroke\math{} + {}\math ypj\overstroke\ =
+ \sanpi\qoppa\digamma\hskip1pt\overstroke.}
+}
+\enddisplay
+$
+
+Notice that there is no zero. Zero is, and has always been, the
+cardinal of the empty set which in Ancient Greece was not considered
+an entity in its own right.
+
+To express numbers greater than 10,000 there were many ways. One of
+them was to use 10,000 as a base: thus, for example, 67,536,753
+(\math {}= 6753 \mathbin\cdot 10,000 + 6753\math) was written
+$M\understroke\digamma yng\math\cdot\math \understroke\digamma yng$.
+
+\medskip
+\noindent{\smc Exercise}:
+ {\sl If $-gwno$ means ``-gon'', which of the following
+polygons can by constructed by rule and compasses?}\par
+\smallskip
+$\centerline{iz\overstroke -gwno, l\digamma\overstroke -gwno, \understroke
+dtxj-gwno,}
+\centerline{\understroke akd-gwno, Me\overstroke\math\cdot\math\understroke
+eflz-gwno, \sanpi\qoppa\digamma\overstroke-gwno.}$
+\medskip
+
+Let's return now to \TeX: you can obtain these symbols by the following
+macros:
+|\digamma| for
+$\digamma$,
+|\vardigamma| for
+$\vardigamma$,
+|\Digamma| for
+$\Digamma$,
+|\qoppa| for
+$\qoppa$,
+|\Qoppa| for
+$\Qoppa$,
+|\sanpi| for
+$\sanpi$, and
+|\Sanpi| for
+$\Sanpi$.
+To get the tick marks which distinguish units and thousands, you can
+use |\overstroke| after the numeral, or |\understroke| in front of
+the numeral.
+
+\head * Symbols for cypriotic greek *
+
+The official language of Cyprus is greek. It is also the language
+used in the mass-media and at school. But the language actually
+spoken is a dialect, derived from byzantine greek (and as it seems,
+far more faithful to ancient greek than the one spoken
+in Greece). Some literature has been written in the dialect, and
+since there are phonemes not available in the greek alphabet,
+cypriotic writers use several conventions of new symbols to express
+them.
+
+In the convention we followed,\refersto5 the symbols $\ssh$, $\SSH$
+stand for the sound ``sh'' (like ``shower'' in english, or ``{\cyr
+shashka}'' in russian), $\dz$, $\DZ$ stand for ``j'' (like ``jazz''
+in english or ``{\cyr dzhungli}'' in russian), $\psh$, $\PSH$ stand
+for a $y$ followed by a $\ssh$ (like ``{\cyr pshenitza}'' in russian)
+and $\ksh$, $\KSH$ stand for a $k$ followed by a $\ssh$ (like in
+hindi ``k\d setriya'').
+
+You can get these symbols by the macros |\ssh|, |\SSH|, |\dz|, |\DZ|,
+|\psh|, |\PSH|, |\ksh|, |\KSH|. Here is an example of a small text
+using these symbols:
+\smallskip
+$
+\ninergr
+\frenchspacing
+\parindent0pt
+\advance\baselineskip1.0pt
+\tolerance=5000
+\obeylines
+Dki'alexec to'uc xer'orotsouc, dentr'on mou, n'a riz'wseic,
+n'a f'aeic t'hn zwo'ullan sou, pott'e s>'on j'a sterk'wseic.
+T\dz i >'en kane~i p>'on''xerokagi'ac t\dz i >'en >'e\ssh ei st'axhn %
+q~wma
+n'a \ssh\ssh iepasto~un o<i r'izec sou, plast~hkan t\dz i >'all''>a\-k'o\-ma.
+O<i spalajki'ec t\dz a'i o<i bati'ec p~asin n'a s'e tul'ixoun,
+>epki'asan se po'u t'on laim'on, sf'iggoun se n'a s'e pn'i\-xoun.
+T\dz i >'an pp'esei mi'a sta\ksh i'a ner'on, >enn'a t'hn p'innoun >'alloi
+t\dz i >enn'a skent\dz 'ereic t\dz eiaqama'i, <'enan xerodroump'a\-lin.
+>'Ejja xort'wseic n'a \ssh\ssh iaste~ic pott'e to~u <'hliou >amm'a\-ti,
+giat''>enn'a s'e qaski'azousin o<i spalajki'ec t\dz i o<i b'atoi.
+T\dz i >eso'unh, kakor'izikon, >enn'a doule'ukeic gr'onouc
+t\dz a'i n'a gure'ukeic ''pospa\ssh i'an po'u to'uc kako'uc geit'o\-nouc.
+T\dz i o<i k'opoi e>ic t''>an'ajjeman. M'agkoumou m'en prok'a\-meic\dots
+t\dz i >eso'unh t'o qa"'irin mou, ftwq'on mou, >'enna k'ameic.
+$
+\rightline{\sevenrm From Ilias Georgiou's ``Geloklaman"}
+
+\smallskip
+
+\head * On hyphenation *
+
+There is still no greek hyphenation list, so one has to use
+hyphenation from other languages. We have compared on an ordinary
+text, the standard english (Liang), the german (Schwarz) and
+portuguese (Rezende)\refersto6 hyphenation patterns. The results
+were surprising: on 267 possible hyphens, these three patterns missed
+199 (!!), 141 and 149 resp, found 46, 115, 111 correct ones and 22,
+11, 7 bad ones (the portuguese mistakes were less embarrassing than
+the german ones). So, for a temporary substitute, we would choose
+either the german or the portuguese patterns.
+
+And since you will be forced to make corrections by hand, here are the
+complete actual rules of greek hyphenation:
+
+{\sl Let \math c_1,c_2,\dots,c_n\math\ be consonants \math (n\geq2)\math\
+and \math v_1,v_2,v_3,v_4\math\ vowels. Then we have}
+\list[\parindent0pt\leftskip0pt\sl][\def\tagform#1{{\smc #1\enspace}}]
+
+\item[\tag{Rule 1.}] The combination \math v_1c_1v_2\math\ is
+separated as \math v_1-c_1v_2\math\ {\rm(ex. $pa-ra-ka-l~w$)}
+
+\item[\tag{Rule 2.}] The combination \math v_1c_1\dots c_nv_2\math\
+is separated as \math v_1-c_1\dots c_nv_2\math\ {\bf if }there
+is a greek word starting with \math c_1c_2\math\ $(l'a-sph,
+ko-fte-r'oc),$ {\bf else }\math v_1c_1-c_2\dots c_nv_2\math\
+$(j'ar-roc, >eq-jr'oc)$
+
+\item[\tag{Rule 3.}] The combinations of vowels \math v_1v_2,
+v_1v_2v_3\math\ or \math v_1v_2v_3v_4\math\ are not to be separated
+if they are pronounced as one phoneme $(>ah-d'o-ni$ but
+$>a-'ht-th-toc$, $pi'o$ but $p'u-o).$
+\endlist
+
+S.~Levy made in his fonts separate characters of all possible accented
+letters, to prevent problems of hyphenation (\TeX\ doesn't yet
+hyphenate words with accents). The only exceptions he made, were the
+two combinations $ \roughgrave{}, \smoothgrave{}$ which occur only on
+monosyllables.
+
+In our case, to be able to reduce the fonts, we were forced to make
+accents also of $\char\rq134$, $\char\rq100$, $"{}$, $"'{}$, $\I{}$
+(and macros of $\grave{}$, $\smoothgrave{}$, $\roughgrave{}$,
+$\breve{}$, $\macron{}$, $\diaeresisgrave{}$,
+$\diaeresiscircumflex{}$, $\rhorough$, $\rhosmooth$ as already
+mentioned). This of course adds problems to hyphenation.
+Nevertheless, $\char\rq134$, $\char\rq100$ occur on one- and
+2-syllable words only, $"{}$, $"'{}$ occur rarely and $\I{}$ depends
+on the kind of language one is writing (to find it, you have to go
+back to older versions of $kajare'uousa$ as for example in the
+following lovely text:
+
+\medskip
+
+{\tolerance=5000
+$ \advance\baselineskip1pt >En\I{~w} <esp'eran tin\grave{a}
+>exantl'hsac t\grave{a} murol'ogi'a tou >ekoim~ato <o Froum'entioc
+>ep\grave{i} t~hc >'ammou t~hc paral'iac, katab\grave{a}c >ex
+o>uran~wn <o >ap'ostoloc >eke~inoc t~wn Sa\-x'o\-nwn >'hnoixe
+di\grave{a} maqa'irac t\grave{a} st'hjh to~u koimwm'enou, e>is'hgage
+to\grave{u}c <iero\grave{u}c dakt'ulouc tou e>ic \def\hhh{\grave{h}}
+t\hhh n >op\hhh n ka\grave{i} >exag\grave{w}n t\hhh n kard'ian
+>eb'ujisen a>ut'hn e>ic l'akkon pl'hrh <'udatoc, <'oper <hg'iasen
+prohgoum'enwc. <H fl'egousa >eke'inh kard'ia >'efrixen e>ic
+t\grave{o} <'udwr <wc smar\grave{i}c
+\def\ooo{\grave{o}}%
+\def\aaa{\grave{a}}%
+\def\uuu{\grave{u}}%
+\def\iii{\grave{i}}%
+>ent\ooo c to~u thgan'iou, >afo~u d\grave{e} >ekr'uwsen,
+>'ejese p'alin a>ut\hhh n <o <'agioc e>ic t\ooo n t'opon thc ka\iii\
+kle'isac t\hhh n plhg\hhh n >ep'estreyen e>ic t\ooo n >idik'on tou.
+
+>'Etuq'e pote, >anagn~wst'a mou, n\aaa\ >apokoimhj\I{~h}c m\grave{e}
+>anup'oforon b~hqa, koim'wmenoc n\aaa\ <idr'ws\I{h}c ka\iii\ >exu\-pn'h\-sac
+n\aaa\ e<urej\I{~h}c >iatreum'enoc? >Agno~wn <'oti e>~isai kal\aaa\
+>ano'igeic mhqanik~wc t\ooo\ st'oma, <'ina plh\-r'w\-s\I{h}c e>ic t\ooo n
+>epikat'araton b~hqa t\ooo n sun'hjh f'oron. >All\aaa\ p'oshn a>isj'anesai
+qar'an, m\hhh\ e<ur'iskwn e>ic t\ooo n l'a\-rugga t\ooo\ >oqlhr\ooo n
+jhr'ion! O<'utw <'ama >'hnoixe ka\iii\ <o Frou\-m'entioc to\uuu c
+>ofjalmo'uc, <htoim'asjh n\aaa\ prosf'e\-r\I{h} e>ic t\hhh n >aq'a\-riston
+>Iw'annan t\hhh n sun'hjh dakr'uwn spo\-nd'hn, >all\aaa\ par\aaa\ p~asan
+prosdok'ian o<i >ofjalmo'i tou e<u\-r'e\-jhsan xhro\iii\ ka\iii\ n\aaa\
+progeumat'is\I{h} m~allon \smoothgrave{h} n\aaa\ kla'us\I{h}
+\I{>h}sj'a\-ne\-to >'orexin met\aaa\ polu'hmeron nhste'i\-an <o kal\ooo c
+Be\-ne\-de\-kt~i\-noc.
+$
+}
+
+\rightline{\sevenrm From Emmanouil~Ro\"\i dis' ``The Popess Johanna (1866)''}
+\medskip
+
+Note that in one-accent greek, all accented letters are represented
+by separate characters in the code table, so that no hyphenation
+problem arises.
+
+$
+\gdef\tttt{
+Kaj'otan mprost'a thc ka'i t'hn k'uttaze. Noi'w\-jo\-ntac mi'a >ap'eranth
+ e>uqar'isthsh n'a t'hn bl'epei >'etsi mprost'a tou ka'i <'ena >ap'eranto
+ >ani\-ka\-no\-po'i\-h\-to po'u d'en mpo\-ro~u\-se n'a t'hn
+ tra\-b'h\-xei st'hn >agka\-li'a tou ka'i n'a t'hn fi\-l'h\-sei
+ >eke~i st'on laim'o
+ po'u t'hn e>~iqe fi\-l'h\-sei t'hn m'ia ka'i mo\-na\-di\-k'h
+ for'a ka'i e>~iqe
+ noi'w\-sei m'esa tou t'hn pi'o >'omor\-fh stig\-m'h to~u ka\-lo\-kai\-rio~u
+ ki <'oti
+ t'o ka\-lo\-ka'i\-ri a>u\-t'o, ft'a\-no\-ntac st'o >apo\-ko\-r'u\-fw\-m'a
+ tou, e>~iqe ki'o\-lac pe\-r'a\-sei. >All'a d'en e>~iqe >ak'oma
+ pe\-r'a\-sei tele'iwc, giat'i >eke'inh bris\-k'o\-tan t'wra mpro\-st'a
+ tou. Ka'i d'en mpo\-ro~u\-se n'a k'anei t'i\-po\-ta.
+}
+$
+
+
+\head * Samples, Tables, and Remarks *
+
+\head * The font {\tt rgrrg10} *
+$\tttt$
+
+\head * The font {\tt rgrbf10} *
+$\bf\tttt$
+
+\head * The font {\tt rgrsl10} *
+$\sl\tttt$
+
+\figure[\top]
+\raggedcenter
+Layout for fonts |rgrrg|, |rgrbf|, |rgrsl|
+$\table$
+\endfigure
+
+$\monotoniko
+\gdef\ttttt
+{
+Kaj'otan mprost'a thc kai thn k'uttaze. Noi'w\-jo\-ntac mia >ap'eranth
+ e>uqar'isthsh na thn bl'epei >'etsi mprost'a tou kai <'ena >ap'eranto
+ >ani\-ka\-no\-po'i\-h\-to pou den mpo\-ro~u\-se na thn
+ tra\-b'h\-xei sthn >agka\-li'a tou kai na thn fi\-l'h\-sei
+ >eke~i ston laim'o
+ pou thn e>~iqe fi\-l'h\-sei thn m'ia kai mo\-na\-di\-k'h
+ for'a kai e>~iqe
+ noi'w\-sei m'esa tou thn pio >'omor\-fh stig\-m'h tou ka\-lo\-kai\-rio~u
+ ki <'oti
+ to ka\-lo\-ka'i\-ri a>u\-t'o, ft'a\-no\-ntac sto >apo\-ko\-r'u\-fw\-m'a
+ tou, e>~iqe ki'o\-lac pe\-r'a\-sei. >All'a den e>~iqe >ak'oma
+ pe\-r'a\-sei tele'iwc, giat'i >eke'inh bris\-k'o\-tan t'wra mpro\-st'a
+ tou. Kai den mpo\-ro~u\-se na k'anei t'i\-po\-ta.
+}
+$
+
+
+\figure[\bot]
+\raggedcenter
+Layout for fonts |mrgrrg|, |mrgrbf|, |mrgrsl|
+$\monotoniko\table$
+\endfigure
+
+\head * The font {\tt mrgrrg10} *
+$\monotoniko\ttttt$
+
+\head * The font {\tt mrgrbf10} *
+$\monotoniko\bf\ttttt$
+
+\head * The font {\tt mrgrsl10} *
+$\monotoniko\sl\ttttt$
+
+
+\figure[\top]
+\raggedcenter
+Layout for font |rgrsc|
+$\smc\table$
+\endfigure
+
+
+We conclude with the following remark: people writing french, czech,
+turkish or other languages with many diacritical marks complain that
+there is no space left in Computer Modern to incorporate
+already-accented letters. The solution (in the case of French) that
+D\'esarm\'enien\refersto7 proposed, was to replace greek uppercase
+letters by the french \'e, \`e, \^ e, \^ o, \^\i, \^ a, \^ u, \`a,
+\`u. But then the question is: where to put the greek uppercase
+letters, which are necessary for mathematical formulas. We answer: if
+you have the greek |rgr| family of fonts, you already have all kinds
+of greek uppercase letters. Just take them from there! Of course,
+math families must be restructured in that case since math family~7
+cannot be used for those letters anymore. As Gariepy\refersto8
+pointed out already, the inconvenience with this solution is that for
+every language with accents you will need another |cm| family of
+fonts. That's why we still believe that the best once and for all
+solution would be to be able to work with fonts of 256 characters.
+
+
+\head * Improvements and changes -- version 1.1 (as of March 4, 1990) *
+
+(by the first author)\medskip
+
+\noindent An hyphenation list has been added.
+Greek grammar has changed very often in
+the last 20 years, mainly because greek is a very manifold language (some
+people find it {\it chaotic}, I find it {\it beautiful\/}). I followed the
+hyphenation rules of \refersto2\ as presented in section ``On hyphenation''
+of this paper. These rules
+are very simple and hold as well for the multi-accent as for the one-accent
+system. I found exactly 1168 patterns; many of them came simply from the
+following fact: since |'|,|~|,|>|,|<| are of category 11 during hyphenation,
+|<'o-so| could occur. This leaves $<'o$ alone, which is rather ugly.
+
+Italics fonts (|rgrti| and |mrgrti|) have been added.
+Since in the |cm| family,
+|cmti| has almost the same lowercase letters as |cmmi| and the same uppercase
+ones as |cmsl|, I tried to do the same. Some changes were necessary: 1) the
+handwritten modern greek alpha looks more like {\it a} and 2) tau's stem has a
+hook. There is still some kerning to do. I call this version {\it
+``experimental''}. Maybe in some later (1.2?) version there will be an entirely
+new italics font.
+
+In the |rgrsc| font (as you can see in the table) the symbols $\rhorough,
+\rhosmooth, \Digamma$ and $\vardigamma$ exist now in all styles: regular,
+slanted, italic and boldface. \TeX\ will know which one to choose, depending on
+the font you are using (inside |greekmode|). If you add some new style (for
+example typewriter or sans-serif) 1) please let me know, 2) add these four
+letters in |rgrsc|, 3) add the information in |greekmacros.tex|.
+
+There is |\smallDigamma| for the small capital digamma $\smallDigamma$. Some
+people still persist in calling it {\it ``ef''}. Also there are two new
+symbols:
+
+1) following an advice of my father, I added a variation $\varqoppa$
+of lowercase qoppa. This symbol is used in our days for the numeral 90 (the
+current year is $\understroke a\sanpi\varqoppa$). The macro for $\varqoppa$ is
+|\varqoppa|.
+
+2) a funny ``upside-down'' iota with circumflex $\inviota$ (the macro is
+|\inviota|). This symbol was used in the last century for the sound of $i$ in
+$gi'a$ (cf. ``$pi'o$'' in hyphenation {\smc rule 3}). Here is an example
+of such a text, taken from a 1907 edition\refersto9:
+
+\let\w=\grave
+$
+{\ninergr
+\frenchspacing
+\parindent0pt
+\advance\baselineskip1.0pt
+\tolerance=5000
+\obeylines
+Kair\w oc f'ernei t\w a l'aqana, kair\w oc t\w a parapo'ul\inviota a,
+M\w e t\w on kair\w o ka\w i t\w o dendr\w i k'anei karp\w o ka\w i f'ulla.
+>'A"inte, >or'e, m\inviota\w a kopan\inviota\w a s>'an n>~atan qulop'hta,
+N\w a ''p\inviota\I{~h}c t\w hn Gk'olfw j'arreuec?
+D\w en e>~in'' mall\inviota\w a t\w a g'ene\inviota a.
+J'el''<h >ag'ap'' >apomon\w h ki''>ahto~u grhgorws'unh.
+J'elei lago~u pat'hmata, >allo\inviota ~wc <uge\inviota\w a s''>af'inei.
+X'ereic t'i magar'oplash po~u e>~inai \I{<h} guna~ikec?
+$
+\rightline{\sevenrm From Spyridon Peresiadis's ``I Golfo"}
+}
+
+\smallskip
+
+Finally I inserted the logos $\grMF$ and $\MF$ in the |rgrsc| font (the macros
+are |\grMF| and the usual |\MF|). There is still no PASCAL word processor
+program to detect monosyllabes, volunteers are welcome. This upgrading has been
+done on a Macintosh SE/30 using Andrew Trevorrow's Oz\TeX\ and Victor
+Ostromoukhov's Mac$\MF$.
+
+
+\setbox0=\hbox{22. }
+\thehangindent=\wd0
+\def\referred#1{\par\hangindent\thehangindent\noindent
+ \hbox to \thehangindent{\hss#1.\ }\ignorespaces}
+\raggedright
+
+\head * References *
+
+\referred1 {\smc S.Levi}: Using Greek Fonts with \TeX, {\sl TUGboat},
+{\bf 9} (1988) 20--24
+%\referred2 $\monotoniko {\smc M.Triantafullidh:} Grammatik'h
+\referred2 $\monotoniko {\smc M.Triantafullidh:}
+{\rg Neoellhnik'h Grammatik'h, }
+{\sl Organism'oc 'Ek\-do\-shc Sqolik'wn Bibl'iwn},
+Aj'hna 1982$
+\referred3 {$\smc Q.Mhqiwth:$} $Ne'wtaton Lexik'on t~hc Neoellhnik~hc Gl'wsshc,
+{\sl >Ek\-d'o\-seic Kastal'ia}, >Aj~hnai 1972$
+\referred4 {\smc C.B.Boyer}: A History of Mathematics, {J.\ Wiley \&
+Sons,} New~York 1968
+\referred5 ${\smc H.Gewrgiou:} Gel'oklam'an, {\sl Seir'a Kupriak~hc
+La"ik~hc Po'ihshc <Upourge'iou paide'iac\/} {\bf 4}, Leukws'ia 1980$
+\referred6 {\smc Unix} \TeX\ distribution tape, Seattle 1988
+\referred7 {\smc J.D\'esarm\'enien:} How to run \TeX\ in a French
+environment: hyphenation, fonts, typography, {\sl TUGboat}, {\bf 5} (1984)
+91--102
+\referred8 {\smc A.Gariepy:} French in \TeX, {\sl TUGboat}, {\bf 9}
+(1988) 65--69
+\referred9 {$\smc S.Peresiadhc:$} $<H Gk'olfw. Dr'ama e>idulliak\w on e>ic
+pr'axeic p'ente, {\sl >Ekdotik\w oc O>~ikoc Gewrg'iou F'exh,} >Aj~hnai 1907$
+
+
+\makesignature
+\endarticle
+
+% version 19.6.1989
+
+\hbox{Yannis Haralambous}
+\hbox{Universit\'e de Lille--Flandres--Artois}
+\smallskip
+\hbox{Klaus Thull}
+\hbox{Freie Universit\"at Berlin}
+-------
+
diff --git a/Master/texmf-dist/doc/plain/yannisgr/rgrtestfont.tex b/Master/texmf-dist/doc/plain/yannisgr/rgrtestfont.tex
new file mode 100644
index 00000000000..4b4b770f71b
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/yannisgr/rgrtestfont.tex
@@ -0,0 +1,274 @@
+% This file is based on Knuth's and Levy's "testfont"files
+%
+% The text is taken from the book of Kwsto'ula Mhtropo'ulou, Za'ar 19.
+%
+\tracinglostchars=0
+\tolerance=1000
+\raggedbottom
+\nopagenumbers
+\parindent=0pt
+\newlinechar=`@
+\input rgreekmacros %not necessary if you have a greek format
+
+\newcount\m \newcount\n \newcount\p \newdimen\dim
+\chardef\other=12
+
+\def\today{\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space\number\day, \number\year}
+\def\hours{\n=\time \divide\n 60
+ \m=-\n \multiply\m 60 \advance\m \time
+ \twodigits\n\twodigits\m}
+\def\twodigits#1{\ifnum #1\lt10 0\fi \number#1}
+
+{\catcode`\|=0 \catcode`\\=\other
+|gdef|help{|message{%
+\init switches to another font;@%
+\end or \bye finishes the run;@%
+\table prints the font layout in tabular format;@%
+\text prints a sample text, assuming TeX text font conventions;@%
+\sample combines \table and \text;@%
+\mixture mixes a background character with a series of others;@%
+\alternation interleaves a background character with a series;@%
+\alphabet prints all lowercase letters within a given background;@%
+\alphabets does one \alphabet for each lowercase background letter;@%
+\ALPHABET prints all uppercase letters within a given background;@%
+\ALPHABETs does one \ALPHABET for each uppercase background letter;@%
+\accents prints all lowercase vowels with accents and breathings;@%
+\series prints a series of letters withing a given background;@%
+\lowers prints a comprehensive test of lowercase;@%
+\uppers prints a comprehensive test of uppercase;@%
+\digits prints a comprehensive test of numerals;@%
+\math prints a comprehensive test of TeX math italic;@%
+\names prints a text that mixes upper and lower case;@%
+\punct prints a punctuation test;@%
+\bigtest combines many of the above routines;@%
+\help repeats this message;@%
+and you can use ordinary TeX commands (e.g., to \input a file).}}}
+
+\def\setbaselineskip{\setbox0=\hbox{\n=0
+\loop\char\n \ifnum \n\lt255 \advance\n 1 \repeat}
+\baselineskip=6pt \advance\baselineskip\ht0 \advance\baselineskip\dp0 }
+
+\def\setchar#1{{\escapechar-1\message{\string#1 character = }%
+ \def\do##1{\catcode`##1=\other}\dospecials
+ \read-1 to\next
+ \expandafter\finsetchar\next\next#1}}
+\def\finsetchar#1#2\next#3{\global\chardef#3=`#1
+ \ifnum #3=`\# \global\chardef#3=#2 \fi}
+\def\promptthree{\setchar\background
+ \setchar\starting \setchar\ending}
+
+\def\init{\message{@Name of the font to test = }
+ \read-1 to\fontname
+ \font\testfont=\fontname
+ \headline={\sevenrm Test of \fontname\unskip\ on \today\ at \hours\hfil
+ Page \folio}
+ \testfont \setbaselineskip
+ \ifdim\fontdimen6\testfont\lt10pt \rightskip=0pt plus 20pt
+ \else\rightskip=0pt plus 2em \fi
+ \spaceskip=\fontdimen2\testfont % space between words (\raggedright)
+ \xspaceskip=\fontdimen2\testfont \advance\xspaceskip by\fontdimen7\testfont
+ \message{Now type a test command (\string\help\space for help):}}
+
+\def\mixture{\promptthree \domix\mixpattern}
+\def\alternation{\promptthree \domix\altpattern}
+\def\mixpattern{\0\1\0\0\1\1\0\0\0\1\1\1\0\1}
+\def\altpattern{\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0}
+\def\domix#1{\par\chardef\0=\background \n=\starting
+ \until\ifnum\n=\ending\do\chardef\1=\n #1\par\n=\count\n \repeat}
+
+\count`w=`a\count`a=`b\count`b=`g\count`g=`d\count`d=`e\count`e=`z
+\count`z=`h\count`h=`j\count`j=`i\count`i=`k\count`k=`l\count`l=`m
+\count`m=`n\count`n=`x\count`x=`o\count`o=`p\count`p=`r\count`r=`c
+\count`c=`t\count`t=`u\count`u=`f\count`f=`q\count`q=`y\count`y=`w
+\count`W=`A\count`A=`B\count`B=`G\count`G=`D\count`D=`E\count`E=`Z
+\count`Z=`H\count`H=`J\count`J=`I\count`I=`K\count`K=`L\count`L=`M
+\count`M=`N\count`N=`X\count`X=`O\count`O=`P\count`P=`R\count`R=`S
+\count`S=`T\count`T=`U\count`U=`F\count`F=`Q\count`Q=`Y\count`Y=`W
+\count`0=`1\count`1=`2\count`2=`3\count`3=`4\count`4=`5
+\count`5=`6\count`6=`7\count`7=`8\count`8=`9\count`9=`0
+
+\long\def\until#1\do#2\repeat{\def\body{#2}\def\cond{#1}\etareti}
+\def\etareti{\cond\let\next=\relax\else\let\next=\etareti\fi\body\next}
+
+\def\alphabet{\setchar\background \dosseries{`a}{`w}}
+\def\ALPHABET{\setchar\background \doseries{`A}{`W}}
+\def\series{\promptthree \doseries\starting\ending}
+\def\doseries#1#2{\def\!{\discretionary{\background}{\background}{\background}}
+ \!\n=#1\until\ifnum\n=#2\do\char\n\!\n=\count\n \repeat\par}
+\def\dosseries#1#2{\def\!{\discretionary{\background}{\background}{\background}}
+ \!\n=#1\until\ifnum\n=#2\do\char\n\!\n=\count\n \repeat s\par}
+
+\def\lowers{\docomprehensive hs{`a}{`w}}
+\def\uppers{\docomprehensive HO{`A}{`W}}
+\def\digits{\docomprehensive H0{`0}{`9}}
+\def\docomprehensive#1#2#3#4{\par\n=#3
+ \until\ifnum\n=#4\do\line{\altr#1\hfil\altr#2}\n=\count\n\repeat}
+\def\altr#1{\setbox0=\hbox{#1}\setbox2=\hbox{#1\char\n}%
+ \dim=.5\hsize \advance\dim-\wd0 \divide\dim\wd2 \multiply\dim\wd2
+ \xleaders\box2\hskip\dim\box0}
+\def\alphabets{\m=`a\until\ifnum\m=`w
+ \do\chardef\background=\m{\dosseries{`a}{`w}}\m=\count\m \repeat}
+\def\ALPHABETS{\m=`A\until\ifnum\m=`W
+ \do\chardef\background=\m{\doseries{`A}{`W}}\m=\count\m \repeat}
+
+\def\separator{\vfil\penalty-100\vfilneg
+ \medskip\leaders\hrule height.4pt\vskip.4pt\medskip}
+
+\def\bigtest{%
+\sample\vfil\break
+\accents\separator
+\names\separator
+\punct\separator
+\alphabets\separator
+\lowers\separator
+\uppers\separator
+\digits}
+
+\def\math{\message{(Sorry, that's not here yet.)}}
+
+\def\oct#1{\hbox{\tenrm\'{}\kern-.2em\tenit#1\/\kern.05em}} % octal constant
+\def\hex#1{\hbox{\tenrm\H{}\tentt#1}} % hexadecimal constant
+\def\setdigs#1"#2{\gdef\h{#2}% \h=hex prefix; \0\1=corresponding octal
+ \m=\n \divide\m by 64 \xdef\0{\the\m}%
+ \multiply\m by-64 \advance\m by\n \divide\m by 8 \xdef\1{\the\m}}
+\def\testrow{\setbox0=\hbox{\penalty 1\def\\{\char"\h}%
+ \\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\\A\\B\\C\\D\\E\\F%
+ \global\p=\lastpenalty}} % \p=1 if none of the characters exist
+\def\oddline{\cr
+ \noalign{\nointerlineskip}
+ \multispan{19}\hrulefill&
+ \setbox0=\hbox{\lower 2.3pt\hbox{\hex{\h x}}}\smash{\box0}\cr
+ \noalign{\nointerlineskip}}
+\newif\ifskipping
+\def\evenline{\loop\skippingfalse
+ \ifnum\n\lt128 \m=\n \divide\m 16 \chardef\next=\m
+ \expandafter\setdigs\meaning\next \testrow
+ \ifnum\p=1 \skippingtrue \fi\fi
+ \ifskipping \global\advance\n 16 \repeat
+ \ifnum\n=128 \let\next=\endchart\else\let\next=\morechart\fi
+ \next}
+\def\morechart{\cr\noalign{\hrule}
+ \chartline \oddline \m=\1 \advance\m 1 \xdef\1{\the\m}
+ \chartline \evenline}
+\def\chartline{&\oct{\0\1x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&}
+\def\chartstrut{\lower4.5pt\vbox to14pt{}}
+\def\table{$$\global\n=0
+ \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{\cr\noalign{\hrule}
+ \raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B&
+ &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup$$\par}
+\def\:{\setbox0=\hbox{\char\n}%
+ \ifdim\ht0>7.5pt\reposition
+ \else\ifdim\dp0>2.5pt\reposition\fi\fi
+ \box0\global\advance\n 1 }
+\def\reposition{\setbox0=\vbox{\kern2pt\box0}\dim=\dp0
+ \advance\dim 2pt \dp0=\dim}
+\def\centerlargechars{
+ \def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}}
+
+\begingreek
+
+\def\accents{\longseries a\shortseries e\longseries h\mediumseries i
+\shortseries o\mediumseries u\longseries w \rseries}
+\def\longseries#1{#1 `#1 '#1 ~#1 #1| `#1| '#1| ~#1| <#1 <`#1 <'#1 <~#1 <#1|
+ <`#1| <'#1| <~#1| >#1 >`#1 >'#1 >~#1 >#1| >`#1| >'#1| >~#1| \par}
+\def\shortseries#1{#1 `#1 '#1 <#1 <`#1 <'#1 >#1 >`#1 >'#1 \par}
+\def\mediumseries#1{#1 `#1 '#1 ~#1 %
+ <#1 <`#1 <'#1 <~#1 >#1 >`#1 >'#1 >~#1 "#1 "`#1 "'#1 "~#1 \par}
+\def\rseries{r <r >r\par}
+\def\names{ >Afrod'ith Beatr'ikh Gi'annhc Dhm'htrhc E>ugen'ia
+ Zw'h <Hrakl~hc Je'ofiloc >Iw'anna Kl'aouc Louk~ac
+ Mar'ia N'ikh Xanjo'ula O>id'ipouc Pl'atwn Rox'anh S'ilbio
+ Ter'eza <Upat'ia F'ilippoc Qar'a Yuq'h >Wrig'enhc \par}
+\def\punct{{\hyphenpenalty=10000\par\dopunct{ka'i}\dopunct{t~hs}\dopunct{<'ena}
+ \dopunct{<ELLAS}\par}}
+\def\dopunct#1{#1, #1: #1; ''#1'' #1? #1! ((#1)) (#1) [#1] #1* #1.\par}
+\def\from#1{{\sevenrm\unskip\nobreak\hfil\penalty50\hskip2em\hbox{}
+ \nobreak\hfil (From #1)\parfillskip=0pt\finalhyphendemerits=0 \par}}
+
+\def\text{{\advance\baselineskip-4pt
+\setbox0=\hbox{abcdefghijklmnopqrstuvwxyz}
+\ifdim\hsize\gt2\wd0 \ifdim 15pc\gt2\wd0 \hsize=15pc \else \hsize=2\wd0 \fi\fi
+((T'o br~hka!)) f'wnaxe. ((T'o br~hka! E>~isai <'ena pr'oswpo m'esa >ap'o
+<'ena bibl'io po'u pot'e d'en gr'afthke, giat'i >eg'w prosp'ajhsa, >eg'w
+m'ono, ka'i m''a>ut'h t'h nekr'h gl'wssa ka'i d'en mp'oresa n'a t'o p~w, n'a
+t'o fti'axw, d'en mp'oresa pot'e, giat'i <h gl'wssa e>~inai nekr'h,
+>endi'amesh, mi'a gl'wssa gi'a poiht'ec, gi'a >anjr'wpouc po'u >oneire'uontai
+s'an a>ut'o t'o paid'i, t'on >Ast'erh po'u to~u f'ortwsan >'adika du'o
+jan'atouc ka'i d'en m'ilhse. D'en e>~inai mi'a gl'wssa gi'a >emp'orio to'uth
+>ed~w <h dik'h mou ka'i gi''a>ut'o d'en s'e >anagn'wrise kan'enac <'otan
+milo~usa gi'a s'ena. D'en j'a mporo~use pot'e n'a e>~inai s'ugqronh <h pr'axh
+m'e t'h fantas'ia. Pot'e >'idia <h pragmatik'h <istor'ia m'e t'h nekr'h
+gl'wssa. Pot'e. T'a pr'oswpa <up'hrxane, na'i, e>~inai >al'hjeia, <up'hrxane
+>all'a pot'e s'e sq'esh m'e t'hn pragmatik'othta po'u dihg'hjhka m'e t'h
+nekr'h, >'aqrhsth gl'wssa t~wn qam'enwn >Etro'uskwn. <Up'hrxane s'e qr'ono
+ka'i q~wro parwqhm'eno, >'asqeto, qr'ono mhd'en, pr'oswpa po'u <h
+pragmatik'othta <h dik'h mac t'a e>~iqe de~i >alli~wc. Ka'i m'ono >es'u,
+m'ono >es'u e>~isai mis'oc, e>~isai KANENAS, giat'i >eg'w d'en pr'oftasa
+n'a s'e k'anw >al'hjeia, >eg'w d'en mp'oresa n'a s'e k'anw pr'oswpo
+<uparkt'o m'esa >ap'o t'h fjor'a. E>~isai <'ena pr'oswpo m'esa >ap'o <'ena
+mujist'orhma po'u pot'e d'en gr'afthke giat'i <h gl'wssa a>ut'h e>~inai
+m'ono gi'a t'oso, t'oso l'igo, <'oso >~htan o<i 19 m'erec s'e ke~ino t'o
+Sept'embrh ka'i >'etsi >~htan po'u s''>'afhsa mis'o, s''<'ena trago'udi
+m'esa, s'e mi'a l'exh pali'a, s''<'ena >anastenagm'o, s'e mis'o >'oneiro
+spasm'eno. S''>'afhsa >'etsi ka'i d'en >'eginec pot'e mi'a >al'hjeia gi'a
+to'uc >'allouc, gi'a to'uc tr'itouc, gi'a to'uc logiko'uc, gi'a <'osouc
+rwto~usan gi'a s'ena, gi'a t'h guna'ika sou >ak'oma po'u nom'izei p'wc s'e
+x'erei ka'i d'en x'erei t'ipota >ap'o s'ena. >Eg'w fta'iw >ag'aph mou ka'i
+p'ali >ag'aph j'a so~u''dina ka'i l'exeic nekr'ec, >'aqrhstec ka'i
+m''a>ut'ec j'a prospajo~usa, j'a >'hjela n'a g'ineic <'ena >ast'eri ka'i mi'a
+ter'astia fwtein'h gramm'h st'hn >'akrh to~u k'osmou, >en~w >es'u mo~u
+mil~ac gi'a qrus'afi ka'i p'wc gi''a>ut'o t'o mis'o qrus'afi, mis'o ka'i
+klemm'eno, sk'otwsec du'o >aj'wouc, du'o x'enouc, du'o zw'ec, >es'u, t'o
+>'astro mou ka'i t'o f~wc mou. M'ilhs'e mou loip'on, p'ec mou p'wc >'eqw
+>'adiko ka'i p'wc d'en e>~inai gi'a s'ena <'ola to~uta, p'ec mou t'hn
+>al'hjeia >'h <'ena y'ema, p'ec mou, p'ec mou Za'ar >ag'aph mou...))
+
+Logik'oc. M'e t'ic l'exeic metrhm'enec. Du'o, t'esseric, >oqt'w, d'wdeka. <O
+>'erwt'ac tou kr'athse <'oso krat~ane o<i >epoq'ec. Mi'a >epoq'h. M'e broq'ec
+ka'i ke~ino t'o jamp'o k'itrino <'hlio. Sept'embrhc. <'Enac. M'ono. Met'a
+xanag'urise st'o sp'iti tou. X'enoc. Ka'i m'onoc. Ka'i >'emeine >eke~i.
+X'eqase. >'H o>'ute ki a>ut'o. P'erase st'hn >'allh >'oqjh, st'o pot'ami,
+p'anta t'o''lege p'wc <h >'allh >'oqjh e>~inai <h pi'o e>'ukolh. >'Oqi a>ut'h
+>ed~w po'u t'hn perpat~ame. <H >'allh. A>ut'h po'u d'en t'hn x'eroume >ak'oma.
+Za'ar, t'o d'eqthke n'a t'on l'eei m'ono >eke'inh. Na'i e>~iqe skot'wsei. Du'o
+>aj'wouc. >'Enoqouc. D'en e>~iqe shmas'ia. >'Afhse n'a <upoyiasto~un t'on
+>Ast'erh. >Eke~inoc >'agnwstoc. Ka'i m'ono gi'a t'o qrus'afi milo~use. <O
+>Ast'erhc j'a pono~use. <'Opwc p'onese >eke'inh. >'Oqi, d'en >'hjele n'a
+pon~ane o<i >'anjrwpoi. >'Oqi po'u noiaz'otan. >'Oqi po'u d'en t'o >'anteqe.
+<'Omwc fob'otan. Fob'otan pol'u k'aje for'a po'u >'emene m'onoc m'e t'on
+<eaut'o tou. Ka'i <h logik'h d'en >'eftane. T'ote, d'en >'eftane <h logik'h.
+>'Htane gi'a to'uc pol'u >aj'wouc a>ut'h <h logik'h. A>ut'oc tetrag'wnize to'uc
+k'uklouc. T'esseric gwn'iec. M'ia, d'uo, tre~ic, t'esseric. Gwn'ies. <'Olec.
+Ka'i <h logik'h tou. <O >'erwt'ac tou m'ono mi'a >epoq'h.
+
+((>Eg'w d'en >erwte'uomai)) e>~iqe pe~i. D'en t'on e>~iqe pist'eyei. >~Htan <o
+k'itrinoc jamp'oc Sept'embrhc ka'i <h l'imnh ka'i o<i stajmo'i ka'i o<i n'uqtec
+m'e t'on >'erwta. D'en t'on e>~iqe pist'eyei.
+
+((T'i >'eqeic n'a mo~u pe~ic t'wra? S''t'o e>~iqa pe~i. <H gl'wssa po'u
+>epim'eneic n'a mil~ac, <h dik'h sou <h gl'wssa e>~inai >'aqrhsth >entel~wc
+ka'i d'en mpore~i kan'enac n'a t'hn zwntan'eyei. >Eg'w >'emeina p'anta <o
+x'enoc, t'o e>~idec, t'o x'ereic, t'o''majec pi'a. Giat'i >epim'eneic? T'i
+zht~ac >ap'o m'ena? >Eg'w >'etsi <'opwc e>~imai ftiagm'enoc d'en qwr'aw s'e
+kan'ena >'oneiro, d'en qwr'aw s'e kami'a nekr'h di'alekto. E>~imai <o x'enoc
+ka'i d'en j'a s''>anagnwr'izw s'e l'igo. D'en j'a x'erw giat'i ka'i p~wc ka'i
+p'oso m''>ag'aphsec. Ka'i j'a''jela st''>al'hjeia n'a mo~u t'o pe~ic a>ut'o:
+Nom'izeic <'oti m''>ag'amhsec? >Es'u, >em'ena!! M'a poi'a sq'esh j'a mporo~use
+n'a <up'arqei >an'ames'a mac? M'ila mou. S'>ako'uw. E>~imai <o x'enoc. >'Emeina
+<o x'enoc. K'anenac d'en kat'alabe t'hn >erhmi'a mou. Pot'e. M'onoc ka'i
+x'enoc. Ka'i s'e koit'azw st'a m'atia. P~wc s'e l'ene? Poi'a e>~isai? Giat'i
+s''>ar'esei n'a >epim'eneic <'oti m''>ag'aphsec? T'i x'ereic >es'u >ap'o
+m'ena?))}}
+
+\def\sample{\names\table\text}
+
+\init
+
diff --git a/Master/texmf-dist/doc/plain/yannisgr/tomakeformat.txt b/Master/texmf-dist/doc/plain/yannisgr/tomakeformat.txt
new file mode 100644
index 00000000000..b2f85c8fdcf
--- /dev/null
+++ b/Master/texmf-dist/doc/plain/yannisgr/tomakeformat.txt
@@ -0,0 +1,26 @@
+% Hyphenation, miscellaneous macros, and initial values for standard layout
+\message{hyphenation}
+
+\def\lt{<}\def\gt{>}
+\catcode`\<=11
+\catcode`\>=11
+\catcode`\'=11
+\catcode`\~=11
+\catcode`\"=11
+\lccode`\<=`\<%
+\lccode`\>=`\>%
+\lccode`\'=`\'%
+\lccode`\~=`\~%
+\lccode`\"=`\"%
+
+\input grhypha
+
+\catcode`\<=12
+\catcode`\>=12
+\catcode`\'=12
+\catcode`\~=13
+\catcode`\"=12
+
+\message{greekmacros v1.1}
+\input rgreekmacros
+