summaryrefslogtreecommitdiff
path: root/info/digests/tex88
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/digests/tex88
Initial commit
Diffstat (limited to 'info/digests/tex88')
-rw-r--r--info/digests/tex88/abs.bib884
-rw-r--r--info/digests/tex88/exotex/diatop.tex10
-rw-r--r--info/digests/tex88/exotex/exotex.tex335
-rw-r--r--info/digests/tex88/exotex/greek.tex190
-rw-r--r--info/digests/tex88/hoenig/drop.tex22
-rw-r--r--info/digests/tex88/hoenig/h0.tex290
-rw-r--r--info/digests/tex88/l_frame.tex123
-rw-r--r--info/digests/tex88/polish/polset.tex273
-rw-r--r--info/digests/tex88/proc.info34
-rw-r--r--info/digests/tex88/ramek/diagram.def790
-rw-r--r--info/digests/tex88/ramek/struct.def703
-rw-r--r--info/digests/tex88/ramek/tex88.fg158
-rw-r--r--info/digests/tex88/ramek/tex88.fg1019
-rw-r--r--info/digests/tex88/ramek/tex88.fg1122
-rw-r--r--info/digests/tex88/ramek/tex88.fg1235
-rw-r--r--info/digests/tex88/ramek/tex88.fg1337
-rw-r--r--info/digests/tex88/ramek/tex88.fg1426
-rw-r--r--info/digests/tex88/ramek/tex88.fg1516
-rw-r--r--info/digests/tex88/ramek/tex88.fg1616
-rw-r--r--info/digests/tex88/ramek/tex88.fg1711
-rw-r--r--info/digests/tex88/ramek/tex88.fg1812
-rw-r--r--info/digests/tex88/ramek/tex88.fg1920
-rw-r--r--info/digests/tex88/ramek/tex88.fg250
-rw-r--r--info/digests/tex88/ramek/tex88.fg20197
-rw-r--r--info/digests/tex88/ramek/tex88.fg325
-rw-r--r--info/digests/tex88/ramek/tex88.fg421
-rw-r--r--info/digests/tex88/ramek/tex88.fg4521
-rw-r--r--info/digests/tex88/ramek/tex88.fg636
-rw-r--r--info/digests/tex88/ramek/tex88.fg6736
-rw-r--r--info/digests/tex88/ramek/tex88.fg817
-rw-r--r--info/digests/tex88/ramek/tex88.fg924
-rw-r--r--info/digests/tex88/tree/l_pic.tex842
32 files changed, 5195 insertions, 0 deletions
diff --git a/info/digests/tex88/abs.bib b/info/digests/tex88/abs.bib
new file mode 100644
index 0000000000..a63d26035d
--- /dev/null
+++ b/info/digests/tex88/abs.bib
@@ -0,0 +1,884 @@
+@string{texeter="\TeX: Applications, Uses, Methods"}
+
+@proceedings{TeX88,
+title=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+publisher={Ellis Horwood},
+address={Chichester}
+price={\pounds39.95},
+isbn={0139122966}}
+
+@inproceedings{AH1,
+title={An {Introduction} to {\TeX} for {New} {Users}},
+author={Alan Hoenig},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={1--8},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={This paper presents a brief overview of the \TeX\
+typesetting system. Amateurs, novices, and new users are
+often slighted at meetings like this. This does them and
+\TeX\ no good, and I am pleased to have the opportunity to
+make brief remarks of an introductory nature about
+\TeX{}. The remarks will be so brief that I cannot
+possibly deliver a tutorial on the use of \TeX, but I will
+instead strive for an overview, with special attention to
+\TeX's idiosyncrasies. }
+}
+
+@inproceedings{BNRG,
+title={{\TeX} and good design -- are they compatible?},
+author={Bill Noble and Rachel Ganz},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={9--17},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={This paper is a highly personal view of style
+filters. It describes the implementation of (and
+rationale behind) a style filter called Var\TeX. Var\TeX\
+is an implementation of \TeX\ intended to enforce design
+discipline on authors.
+}}
+
+@inproceedings{MCCB,
+title={Whither {\TeX}? {Why} {Has} {\TeX} {Not} {Taken} {Over} the
+{World}\dots?},
+author={Malcolm Clark and Cathy Booth},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={19--36},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={\TeX\ is a high quality document preparation
+system that predates the current interest in `desktop
+publishing'. It is a highly flexible typesetting package
+-- a markup language -- which has been implemented on a
+wide variety of systems, and which uses a range of output
+devices, including typesetters, laser printers and dot
+matrix.
+\par
+This paper charts some of the relevant aspects of
+the background and growth of \TeX\ from mainframes to
+micros. It describes the original motivations behind \TeX,
+and the mixed blessings of its public domain status in
+relation to its current standing in the `desktop
+publishing' arena.
+\par
+The elements of \TeX\ have found favour with developers of other text
+processing systems. Several such advantages are
+illustrated, together with some drawbacks, whether actual
+or merely pre-supposed. Our intention is to draw an
+up-to-date picture of \TeX\ and its influences, and give
+an idea of its future directions in a world populated with
+many tools for document preparation, maintenance,
+formatting and mastering.
+}}
+
+@inproceedings{LCKSK,
+title={{\TeX} {Device} {Drivers} {Today}},
+author={Lance Carnes and William S Kaster},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={37},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={We discuss the state of \TeX\ device drivers
+today, focusing on the capabilities that are available in
+Personal \TeX, Inc.'s range of products. Opinions
+regarding new features to be added will be entertained,
+as well as opinions regarding old features that are
+unusable and should be modified or deleted.
+\par
+Emphasis will be placed on \TeX\ screen previewers,
+towards determining an absolute minimal set of core
+features.
+}}
+
+@inproceedings{JvK,
+title={Quality printing of {\TeX} {DVI} files},
+author={Jan van Knippenberg},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+pages={39--41},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={Oc\'e has developed a laser printer, the Oc\'e
+6750, based on the wellknown and proven engine of the
+1900 copier family. The laser printer has a
+resolution of 508dpi (20 dots/mm). The
+printspeed is 23 pages per minute.
+\par
+The heavy duty engine guarantees a target load of 150,000 pages
+per month. Paper input and output are as usual for the Oc\'e
+copiers. Input is via two trays ($1600 + 600$) and output is to 20
+selectable bins of 100 sheets each.
+\par
+ODA is the first Open Systems standard to provide an information
+architecture. ODA is a framework for products which communicate
+and interwork using OSI standards like X-400 electronic mail
+standards. The Oc\'e 6750 is an ODA-printer.
+\par
+Oc\'e has developed software to connect the Oc\'e 6750 laser printer
+to a wide range of VAX/VMS computers.
+The \TeX-dvi output files are converted to the ECMA/ODA
+protocol of the Oc\'e 6750 printer. The software
+furthermore contains a print symbiont. The symbiont
+controls the printer controller and the conversion
+program. Also available are a series of font tools for
+generating \TeX\ pxl and tfm files with the Metafont
+package and converting \TeX\ pxl files into the format
+for the Oc\'e 6750 laser printer. }}
+
+@inproceedings{KGJS,
+title={High {Quality} {DVI} {Drivers}},
+author={Klaus Guntermann and Joachim Schrod},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={43--60},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={Document preparation with \TeX{} is done in two
+steps -- first \TeX{} formats the document, afterwards a
+\DVI{} driver creates the final output. While \TeX{} is
+reliable and produces the same results in each
+implementation, dvi drivers remain the critical part of
+the document preparation process. To specify a high-quality
+\DVI{} driver the circumstances of its usage must be
+analysed. We identify four groups of persons
+concerned with the handling of a driver: users, (\TeX{})
+system administrators, distributors, and
+developers/maintainers.
+\par
+The demands on a dvi driver are mainly high reliability
+(the device must remain in a consistent state), a uniform
+user interface (previews and printer drivers should behave
+similarly), and a standardized treatment of extensions
+(e.g., handling of graphics inclusion). Other matters of
+interest are available features, accuracy of output,
+throughput, font handling, portability, and maintainability.
+This analysis yields in criteria for the judgement of a
+dvi driver's quality -- furthermore these criteria
+constitute a contribution to the standardization process.
+}}
+
+@inproceedings{TSTT,
+title={An environment for {\TeX}-{Output}
+with original {Monotype} {Fonts}},
+author={Thomas Stadler and Tibor Tscheke},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={61},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={The paper will show what has to be done to use the
+original Monotype fonts when working with \TeX. What
+kinds of incompatibilities turn up when \TeX\ output is
+to be processed on the Lasercomp, and in where do
+the standard macro packages have to be changed?
+\par
+Integrating the Monotype Times in \TeX\ involved
+the problem that the results can only be viewed after
+processing on the Lasercomp. Visual control that late
+makes it considerably more difficult to use \TeX\ as an
+interactive means of typesetting. For this reason we made
+Metafont produce typefaces with the width table of the
+Times font, but of course, using the Computer
+Modern sources. The resulting pk-files are
+public domain. With these you can anticipate the exact
+positions of line make-up and page make-up of the
+Lasercomp on both screen and laserprinter: thus it is
+possible to simulate Lasercomp output.
+In addition we are planning to make characters and fonts
+available that are missing in the \TeX\ character pool,
+such as phonetics, gothic fonts and special characters for
+various university faculties.
+\par
+We have put together font, tfm-files, macro
+packages and special characters into a package wich is
+easy to install and which enables an author to switch
+from the Computer Modern environment to the
+Monotype Times and back.}
+}
+
+@inproceedings{RM,
+title={The {Cambridge} {\TeX}-to-{Type} {Service}},
+author={Rod Mulvey},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={63},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={Cambridge University Press has integrated \TeX\
+into its production of books and journals. This
+integration has addressed all aspects of text preparation
+that relate to writing, design, editing, typesetting and
+generation of camera-ready copy. The Press has had to
+examine the way that \TeX\ redefines the roles of author,
+editor, designer and typesetter. This has resulted in a
+new role for the DTP specialist working alongside the
+designer and typesetter.
+\par
+Several benefits can result from authors having a direct
+hand in the production of typeset pages leading to
+reduced costs and faster turnaround, without a
+corresponding drop in quality. Widespread experience
+demonstrates that these benefits do not necessarily
+follow just from a willingness to adopt DTP methods and
+we have analysed why this is so within the context of the
+large printer-publisher. This analysis and the resulting
+\TeX-to-Type service will be described.}}
+
+@inproceedings{GP,
+title={Lino{\TeX}: {Professional} {Electronic} {Publishing}},
+author={Gerlinde Petersen},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={65--70},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={GESYCOM has developped a \TeX-driver for the
+Linotype type setter LTC 300/500, which allows
+professional publishing with high quality laser technology
+and a resolution of 2540dpi. The basis of the driver
+development was to avoid any restriction in the available
+exposure device functions and technology. Moreover, all
+the exposure functions should be supplied to the user with
+special commands, (e.g. tint and pattern, transposed and
+arbitrarily rotated or electronically modified blocks).
+The PC-\TeX driver is available for MSDOS-PC's. The PC is
+directly coupled to the Linotype Laser exposure device LTC
+300/500 (without a PostScript Rip). Formatting via \TeX\ is
+achieved by means of the Linotype font metric data for
+approximately 2000 fonts. The \TeX\ mathematical fonts
+were newly digitised from Linotype in the required \TeX\
+font structure. Preview is carried out for a number of
+graphic cards using \TeX\ reference fonts and Linotype
+metrics. Proof printing is carried out in the same way on
+HP-Laserjet+ (compatible) laserprinters. With this
+PC-\TeX-driver new possibilities of high quality output
+with additional exposure functions is offered for
+the users. The type setter industry, as the place of
+production can take particular advantage of the
+\TeX-typical formula composition. In the function of a
+service industry a typesetting firm can secure for itself
+an almost undeveloped sector of market.
+}}
+
+@inproceedings{FJC,
+title={The {Notation} and {Structure}
+of {Mathematical} {Texts} and their {Representation}
+within {Electronic} {Documentation} {Systems}},
+author={Francis J Cave},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={71},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={The development of mathematical notation is
+inextricably entwined with the development of mathematics
+as a whole, viewed both as an area of scholarly study in
+its own right and as a toolkit for scholars working in
+other disciplines. It can be argued that advances in human
+knowledge are impossible without suitable language for
+articulating such knowledge, and the abstract concepts of
+mathematics provide extreme examples of this. The paper
+discusses the impact that electronic methods of
+communications have on the use and development of
+mathematical notation, which could have a significant
+impact on future developments in mathematics as well as in
+other fields. It considers how currently-available
+systems for electronic document description perform in
+recording and conveying the concepts that scholars wish to
+share through the medium of the electronic document. }
+}
+
+@inproceedings{JW,
+title={{\TeX}-{Fonts} in {Image} {Generation} {Software}},
+author={J\"org Winckler},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={73--78},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={One problem in pseudorealistic computer graphics
+is the provision of letters in two and three dimensions
+which are both detailed and smooth. Metafont is a source
+of two dimensional letters. The internal representation of
+letters in Metafont uses B\'ezier splines. The great
+advantage of splines is their independence of the image
+resolution. We use the splines of Metafont to triangulate
+the letters, while transforming their shapes into
+design patches. These patches have abilities to describe
+their own border curves. Design patches have been
+implemented in the Vera-raytracing software for use in
+CAD-systems. (Vera is a software product of the
+Department of Computer Science, University of Karlsruhe)
+The design patches allow the generation of highly
+smoothed free form surfaces without increasing the
+rendering time for raytracing algorithms. We built three
+dimensional letters with these design patches. In the
+image generation, the design patch is refined into usual
+triangles, which are scene adapted: letters which are `far
+away' are refined into a small set of triangles, and
+letters `close' to the eye point are refined into a larger
+set of triangles guaranteeing smooth border curves for the
+letter. }}
+
+@inproceedings{VO,
+title={Metafont versus {PostScript}},
+author={Victor Ostromoukhov},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={79},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={The problem of the inter-relationship between Metafont\
+and PostScript\ should be discussed in the context of wider
+problem of communication between \TeX-based software and
+PostScript-based printing equipment.
+\par
+In the present study, we examine the basic constraints
+which should be imposed on Metafont sources in order to
+translate them into proper PostScript outline font
+descriptions. These constraints are:
+\item{$\bullet$} to inhibit use of the
+`unfill' and `undraw' primitives in the Metafont
+sources
+\item{$\bullet$} to avoid excessively long and
+complicated constructions in the Metafont sources
+\item{$\bullet$} to forsee and avoid curves that may be
+ambiguously interpreted on the pixel grid by the
+PostScript interpreter.
+\par
+The latter constraint, the most crucial one, is related to the famous `one-dot
+problem', very difficult to resolve inside PostScript,
+as recently discussed in TUGboat.
+\par
+The mechanism of translation of Metafont sources into
+PostScript outline font descriptions will be illustrated
+using the MacMetafont, the author's implementation of the
+Metafont, and applied to the Computer Modern family.}}
+
+@inproceedings{RR,
+title={Using {Menudriven} {\TeX} under {MVS}},
+author={Rainer Rupprecht},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={81--89},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={In this article, written for the 1988 European
+\TeX\ Users Conference at Exeter it will be shown how to
+use a full screen environment which makes the use of \TeX\
+easier; how to write it, and what the task of the \TeX\
+system maintainer will be. Within this article some other
+facilities developed at the Computing Center, will be
+mentioned. The help of those who have contributed to the
+installation and running of \TeX\ on the current system
+must be acknowledged, especially:
+\item{$\bullet$}
+Dietmar Heinrich: Menus development and \LaTeX\
+Styles
+\item{$\bullet$} Martin Kerner: \TeX\ implementation,
+CLISTS and Menus
+\item{$\bullet$}Harald Meyer: Device driver, Graphics in
+\TeX\ and Menus.
+\par
+All the menus, helps etc., are made in the German
+language, but there should not be any problems to
+translate them in foreign languages. All the menus and
+their programming are created with the operating system
+BS3000 (nearly compatible to MVS) using the PFD facilities
+(like ISPF). In January 1989 it will be completely changed
+to MVS and the ISPF facilities.}
+}
+
+@inproceedings{GA,
+title={Type and {Set}: {\TeX} as the {Engine} of a
+{Friendly} {Publishing} {System}},
+author={Graham Asher},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={91--100},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={The front end to Type and Set has two parts: a
+style sheet editor which automatically writes out a large
+and intricate macro package embodying the design of a
+document; and a file conversion program which takes
+documents created on a user's favourite word processor
+and converts them into standard \TeX\ format.
+\par
+The back end is possibly the most interesting part of the
+system, and was certainly the most difficult to write. It
+is a page make up system called PAGE which takes the
+galley dvi files produced at the \TeX\ stage, reads the
+style sheet associated with the document, and pastes up
+the material into pages, adding running headers, running
+footers, folios and footnotes, and positioning spaces
+left for figures. The document is globally optimised
+using a system resembling the \TeX\ counting algorithm:
+\TeX\ itself cannot optimise over an entire document,
+which is one of the easons PAGE was preferred to an
+output routine written in \TeX.
+\par
+Tables are created on the screen in semi-wysiwyg
+form and converted into suitable Type and Set format by
+Table.}
+}
+
+@inproceedings{PJO,
+title={Publishing `{Exotic}' {Documents} with {\ExoTeX}},
+author={Peter J. Olivier},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={115--121},
+publisher={Ellis Horwood},
+address={Chichester},
+exotex={\def\ExoTeX{E\kern-.12em\lower.5ex\hbox{X}\kern-.2em\lower.5ex
+ \hbox{O}\kern-.24em\TeX}}
+
+abstract={At the end of 1986, I had to look out for some
+text processing software, in order to prepare
+about 42 articles of a `Festschrift' for publication. The
+contributions to this volume cover a wide range of
+`exotic' philologies: Indo-European (comparative)
+linguistics and related languages, such as Old Indic
+(Vedic and Sanskrit) and many others, which normally are
+transliterated by using the Latin alphabet, when either
+no original character font is available or the citations
+should also be read by scholars who are not familiar with
+just these `exotic' scripts or whatever other reason.
+Those languages make use of a great variety of
+diacritical marks and/or even of letters of non-Latin
+origin. \TeX\ provides a lot of accents, math accents and
+symbols that are quite useful also for linguistic
+disciplines, but there are many more characters, which
+have to be created separately. I tried it my way by
+writing macros which may eventually be helpful for
+philologists dealing with `exotic' languages, to get
+camera-ready copies of their articles within a very short
+time, and to avoid painting `strange' accents and marks by
+hand. This ExoTeX is still `under construction', and I
+would be most grateful for any suggestions by \TeX nicians
+and \TeX perts to make ExoTeX more elegant and
+powerful.}}
+
+@inproceedings{HP,
+title={German {\TeX}},
+author={Hubert Partl},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={123--132},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={Although \TeX\ and \LaTeX\ have been designed
+for American standards only, they are being used all over
+the world and with a lot of different languages. This
+article is intended to show an example of the problems
+that arise when modifying \TeX\ or \LaTeX\ for easier
+application with a language other than English. Hints are
+added, how similar work might be performed for other
+European languages, with special emphasis on compatibility
+and portability problems.}
+}
+
+@inproceedings{SPQR,
+title={A {Survey} of {Picture-Drawing} in {\LaTeX}},
+author={Sebastian P. Q. Rahtz},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={139},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={The plain \TeX\ package does not attempt to
+provide any tools for drawing, leaving the production of
+graphics almost entirely to the special system; the
+\LaTeX\ package does provide a `picture' environment, where
+line drawings are created from characters in special
+fonts, but the possibilities are quite limited and the
+commands not easy to use. This paper attempts to outline
+some of the methods used to get around this problem;
+examples will be given for \LaTeX, but most are also
+applicable to plain \TeX. It describes the different sorts
+of drawing needed in a typical document -- half tones;
+pure `art' (bitmaps); vector drawings; and analytical
+graphics. It also describes solutions, ranging from
+pasted-in photographs through MacDraw-like graphics
+to \LaTeX\ `picture'. We will also describe drawing
+tools in systems like The Publisher and
+Interleaf. Nearly all the discussion will assume that a
+`large' version of \TeX\ is available and that printing is
+through a PostScript device: discussion of screen-based
+drawing tools will be limited to the Macintosh and the Sun
+workstation.}
+}
+
+@inproceedings{BJTHMR,
+title={With {\TeX} to the {Poles}},
+author={{Bogus\l aw} Jackowski and Tomasz {Ho\l dys} and Marek
+Ry\'cko},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={133--137},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={As rumour says, Poles live somewhere near a Pole.
+Which one? -- say East\dots\ Therefore it may sound odd
+that they are eager to use \TeX\ to typeset texts written
+in their strange language. Believe it or not -- this is
+true. For strangers an attractive feature of \TeX\ is its
+support for languages that use diacritical letters: basic
+fonts include a large collection of special symbols (e.g.,
+cross `char32' to obtain Polish suppressed
+`L' and `l', i.e., `\L' and `\l', and long Hungarian
+umlaut `char125') and \TeX\ itself provides mechanisms
+facilitating usage of these symbols (an accent
+primitive, ligatures, implicit kerns, etc.). In practice,
+however, \TeX\ turns out to be somewhat foreigner
+unfriendly. The obstacles we have met seem to be common to
+all \TeX\ users whose native languages contain diacritical
+letters, Gariepy (1988) and Partl (1988). This encouraged
+us to add our remarks -- maybe they will have an impact on
+further development of \TeX's international standard?}
+}
+
+@inproceedings{AH,
+title={Including {Pictures} in {\TeX}},
+author={Alois Heinz},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={141--151},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={We describe different methods for including pictures into \TeX{}
+documents. These methods are applicable on line graphics as
+well as on raster graphics. We compare these methods under
+different aspects, such as compatibility with printer
+drivers, space efficiency and we try to give a complete
+set of characteristics under which such methods can be
+compared. We find out that some of the described methods
+are better than others but, in general, the choice should
+depend on the requirements of the kind of picture.}
+}
+
+@inproceedings{SL,
+title={{PRO\TeX}: Integration of {Text}, {Graphics} and {Images}},
+author={Susanne Lachmann},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+organization={\TeX88},
+pages={153--158},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={We -- that is GESYCOM GmbH -- have been working on and with \TeX\ since 1984.
+Our environment consists of various IBM compatible PCs with DOS, and our
+favourite programming language is TURBO Pascal 5.0. We
+mainly work on software solutions for the typesetting
+industry, especially the development of connections
+between different -- normally stand alone -- systems.}
+}
+
+@inproceedings{ABKDW,
+title={Drawing {Trees} {Nicely} with {\TeX}},
+author={Anne Br\"uggemann-Klein and Derick Wood},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+pages={185--206},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={Various algorithms have been proposed for the
+difficult problem of producing aesthetically
+pleasing drawings of trees, see Reingold and Tilford
+(1981), Wetherell and Shannon (1979), but implementations
+only exist as `special purpose software', designed for
+specialenvironments. 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.
+\par
+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 Tree\TeX{} 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, Tree\TeX{} 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.
+\par
+In addition, we have implemented an option that
+produces drawings which make the structure of the trees
+more obvious to the human eye, even though they may not be
+as aesthetically pleasing.
+}}
+
+
+@inproceedings{FRDJDLS,
+title={Sweet-te{X}, a {Report}},
+author={Frank R Drake and John Derrick and Laurent
+Siebenmann},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+pages={101--102},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={Sweet-teX\ is a \TeX\ pre-processor, intended to
+make the keyboard inputting of \TeX\ simpler; in
+particular, easier for a secretary or mathematical typist
+to use, without first having to learn much about \TeX. In
+effect some sort of pre-processor is always going to be
+used for the keyboard inputing of \TeX\ (be it the
+crudest of mainframe editors).
+\par
+ Sweet-teX\ aims to use all the facilities
+of a good micro (such as the Macintosh), including
+standard word-processor facilities, together with a
+range of fonts, to allow the screen display to appear
+closer to the final intention. As far as possible, each
+command sequence and each symbol is input by a single
+keystroke, with as much mnemonic aid as possible, and
+will look on screen like the intended output.
+This is of great advantage to beginners, who do not have
+to learn command sequences, and to poor typists, who do
+not have to press so many keys; its value to the fluent
+typist who already knows \TeX\ must be judged by other
+features.
+\par
+One of these is that a syntax-checker is provided which
+checks such things as the balancing of entering and
+leaving mathematics, \TeX-nical braces $\{$, $\}$,
+and many other details, saving many \TeX\ errors.
+\par
+Another is that the screen display can be printed
+in a way which leaves out or modifies the screen
+symbols representing \TeX-nical input (such as
+enter and leave mathematics, command \hbox{sequences} and
+\TeX-nical braces), giving a pre-print which can be used
+for proof-reading (or other purposes). A \TeX\
+pre-print becomes unnecessary except for particularly
+awkward material.
+\par
+There are macro facilities which complement those in
+\TeX{}. These include `variant tags' which give very
+easy treatment of rarely met symbols, in a way which
+will at least recognizable in the pre-print, and
+correct in the final output (if \TeX\ has the symbol;
+the \AmSTeX\ extra fonts are available).
+The possibility of
+resorting to \TeX\ itself is preserved for use in the most
+difficult cases.
+\par
+There has been some evolution of Sweet-teX\ since its
+public announcement in 1986. Its system of logical
+formatting using `road-signs' is more complete, and
+invisible character trickery is no longer necessary to
+pass information from {\it MacWrite} to \TeX.
+\par
+ Sweet-teX\ has
+been in use in Leeds University Pure Mathematics
+Department and some account of its use there will be
+given, in particular the use of a TOPS network to
+transfer \dvi\ files to an IBM PC clone to print on
+an HP Laserjet.}}
+
+@inproceedings{RG,
+title={{\TeX} in the {Mainframe} {World} -- the {Durham}
+{Experience}},
+author={Roger Gawley},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+pages={103--107},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={The original motivation for installing \TeX\ was
+curiosity on the part of a couple of Computer Centre staff
+members, but it became apparent that if we could get \TeX\
+working properly, it could displace all other mainframe
+text processors allowing us to concentrate on one
+language. As \TeX\ had been installed at the University of
+Michigan, this was in principle simply a matter of
+restoring a few files from the distribution tapes to get a
+version fully customised to mts. (I have never seen a
+Stanford distribution tape.) Reality was a little more
+complicated.}}
+
+
+@inproceedings{PA,
+title={{UK\TeX} and the {Aston} {Archive}},
+author={Peter Abbott},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+pages={109--114},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={I propose to split my talk into two parts
+\item{} UK\TeX:
+I shall discuss its origin, the computing facilities used for this service,
+give details of the current (June 30 1988) recipients and a suggestion for
+future developments.
+\item{} The Aston Archive:
+I shall discuss the principles of the archive, the equipment and capacity
+available, how to extract and contribute material, concluding with a
+discussion on where to go from here.
+}}
+
+@inproceedings{AH2,
+title={Line-{Oriented} {Layout} with {\TeX}},
+author={Alan Hoenig},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+pages={159--183},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={We speak of a line-oriented
+layout when the design landmarks in documents are given in
+terms of lines of the typeset document -- lines down from the
+beginning of a paragraph, lines down from the top of the
+page, and so on. \TeX\ design specifications are normally
+made on the basis of units identifiable in the source
+document file before any typesetting takes place. This
+paper suggests several techniques for creating \TeX\ design
+layout on a line-by-line basis. We will discuss three
+examples: the use of \TeX\ in typesetting `windows' of
+space entirely enclosed within paragraphs; the creation of
+paragraph shapes for an arbitrary sequence of paragraphs;
+and the creation of a macro to identify the typeset position
+on the page. These are used to show how to design a
+page-layout system that might be suitable for a small
+newspaper or newsletter. This set of page layout macros
+illustrates the ability to continue stories several pages
+after they begin and to provide automatic forward and
+backward page references to the beginning and ending
+portions.}}
+
+
+@inproceedings{ACNALO,
+title={Electronic {Publishing}
+and {Chemical} {Text} {Processing}},
+author={A C Norris and A L Oakley},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+pages={207--225},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={There are impressive systems for the modelling and graphical display of chemical
+molecules but systems for the computer-based typesetting of chemical structures
+integrated with scientific text are less successful, especially where high
+quality is to be combined with ease of use and low costs. This paper evaluates
+strategies to meet these objectives and reports the results of interfacing an
+interactive chemical structure editor with PostScript and
+\TeX. }}
+
+@inproceedings{MR,
+title={Chemical {Structure} {Formul\ae} and x/y {Diagrams} with
+{\TeX}},
+author={Michael Ramek},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+pages={227--258},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={\TeX\ offers excellent tools for mathematical
+formul\ae\ but lacks corresponding commands for most
+other fields of science. The purpose of this contribution
+is to present the macros structure and diagram, and a set
+of secondary macros which allow an easy (but not
+unlimited) generation of chemical structure formul\ae\
+and x/y diagrams. Portability should be guaranteed, since
+these macros are designed to work in the \plain\
+environment. No additional font tables are required;
+instead the program converting the dvi file into the
+actual print file must be able to handle rules correctly.}}
+
+@inproceedings{ROS,
+title={Nontraditional {Uses} of {METAFONT}},
+author={Richard O. Simpson},
+booktitle=texeter,
+year={1990},
+editor={Malcolm Clark},
+pages={259--271},
+publisher={Ellis Horwood},
+address={Chichester},
+abstract={Metafont can be used with \TeX\ for purposes
+other than the production of ordinary alphabets or even sets of
+special symbols. Using the \TeX\ system based on the IBM 6150 (RT),
+the following functions have been implemented, employing Metafont in a
+nontraditional fashion:
+ \item{} A plotting program, which graphs sets of numeric data as
+ x-y plots or bar charts. A Metafont program is
+created to draw
+ the curves.
+ \item{} A conversion program which accepts the output of a
+ mouse-based drawing program (Gremlin), converting the drawing
+ commands into a Metafont program.
+ \item{} A conversion program which accepts the output of an
+ image processing program on the 6150 and converts
+ raster images directly into characters in pk style
+\TeX\ fonts. In each case, the strategy is to produce a
+font containing only a single (very large) character. The
+character is not a letter or even a special symbol, but is
+an entire picture (a graph, a drawing, or a bit image).
+\TeX\ knows how to deal with characters in fonts
+regardless of their size, and typesets them in the
+ordinary way. The result is a very flexible system which
+combines text, arbitrary data plots and drawings, and
+images, in a very natural and straightforward way. }}
diff --git a/info/digests/tex88/exotex/diatop.tex b/info/digests/tex88/exotex/diatop.tex
new file mode 100644
index 0000000000..f7819f2be2
--- /dev/null
+++ b/info/digests/tex88/exotex/diatop.tex
@@ -0,0 +1,10 @@
+% File: DIATOP.TEX (c) Christina Thiele, Ottawa. (from TeXniques 5)
+% Tested by Peter J. Olivier. Last change: 4th August 1988.
+%
+\def\diatop[#1|#2]{{\leavevmode\setbox1=\hbox{{#1{}}}\setbox2=\hbox{{#2{}}}%
+ \dimen0=\ifdim\wd1>\wd2\wd1\else\wd2\fi%
+ \dimen1=\ht2\advance\dimen1by-1ex%
+ \setbox1=\hbox to1\dimen0{\hss#1\hss}%
+ \rlap{\raise1\dimen1\box1}%
+ \hbox to1\dimen0{\hss#2\hss}}}%
+
diff --git a/info/digests/tex88/exotex/exotex.tex b/info/digests/tex88/exotex/exotex.tex
new file mode 100644
index 0000000000..83a13ea54d
--- /dev/null
+++ b/info/digests/tex88/exotex/exotex.tex
@@ -0,0 +1,335 @@
+% Input-File EXOTEX.TEX (V 0.4) (c) Peter J. Olivier, Frankfurt 1988
+% Letzte Aenderung: 8.8.88 (OL) (auf Atari ST)
+%
+% Makropaket fuer "exotische" Sprachen.
+% Enthaelt bereits Definitionen von diakritischen Zeichen fuer folgende
+% Sprachen: Indogermanisch, Indisch (Vedisch und klassisches
+% Sanskrit, Mittelindisch, Pali, Neuindisch, Hindi u.a.), Altiranisch,
+% Tocharisch, Hethitisch, Orientalische Sprachen (Arabisch, Hebraeisch,
+% usw.), Altgermanisch (mit Islaendisch), Romanisch, Keltisch, Slavisch,
+% Baltisch, Armenisch, Albanisch, Griechisch uvm.
+%
+% Definition des "ExoTeX"-Logos (c) Peter J. Olivier, Frankfurt <--
+% -----------------------------
+\def\ExoTeX{E\kern-.12em\lower.5ex\hbox{X}\kern-.2em\lower.5ex
+ \hbox{O}\kern-.24em\TeX}
+%
+\font\csc=cmcsc10
+%
+\def\amstex{$\cal A\kern-.1667em%
+\lower.5ex\hbox{$\cal M$}\kern-.075emS$-\TeX{}} % <== AMS-TeX-Logo
+\def\latex{\LaTeX{}} % <== LaTeX-Logo (leichter zu tippen!)
+\def\tex{\TeX{}} % <== TeX-Logo ( " " " )
+\def\exotex{\ExoTeX{}} % <== ExoTeX-Logo ( " " " )
+\def\pctex{{\csc pc}\TeX{}}% <== PCTeX-Logo ( " " " )
+\def\sttex{{\csc st}\TeX{}}% <== STTeX-Logo ( " " " )
+\def\turbotex{Turbo\TeX{}}% <== TurboTeX-Logo ( " " " )
+%\font\man=manual
+%\def\MF{{\man META\-FONT{}}}%<== METAFONT-Logo ( " " " )
+%
+\font\mitfiv=cmmi5 \font\mitsix=cmmi6 \font\mitsvn=cmmi7
+\font\mitegt=cmmi8 % \font\mitnin=cmmi9
+\font\mitten=cmmi10 % ****** Math-Italic-Fonts <==
+\font\itsvn=cmti7 \font\itegt=cmti8 \font\itnin=cmti9
+\font\itten=cmti10 % ****** Text-Italic-Fonts <==
+\font\sfi=cmssi10 % ****** Sans Serif-Font <==
+\font\symegt=cmsy8 % ****** Symbol-Font <==
+%
+\newdimen\hh
+\hh=6.9444pt
+\newbox\alif
+\newbox\ayin
+\setbox\alif=\hbox{{\mitten \char'055}}
+\setbox\ayin=\hbox{{\mitten \char'054}}
+\advance\hh by -\ht\alif
+\def\){\leavevmode\kern+.1em \raise\hh \copy\alif} % \) hamza (alif) <--
+\def\({\leavevmode\kern+.1em \raise\hh \copy\ayin} % \( ayin <--
+%
+% * andere Definition von "alef" und "ain":
+\mathchardef\lhook="012C \mathchardef\rhook="012D
+\def\ain{\kern+1pt$\lhook$} \def\alef{\kern+1pt$\rhook$} % <--
+%
+%
+\def\rlap#1{\hbox to 0pt{#1\hss}} % <--
+%
+\def\llap#1{\hbox to 0pt{\hss#1}} % <--
+%
+%
+% brv = Breve ueber Langvokal <--
+%
+\def\brv#1{\leavevmode\setbox0=\hbox{#1}\dimen0=\ht0\advance\dimen0 by-1ex%
+\rlap{\raise\dimen0\hbox{\char'25}}\box0{}}
+%
+\def\loka{\brv{\=a}} % loka = Lang- oder Kurz-"a" <--
+\def\loke{\brv{\=e}} % loke = Lang- oder Kurz-"e" <--
+\def\loki{\brv{\=\i}} % loki = Lang- oder Kurz-"i" <--
+\def\loko{\brv{\=o}} % loko = Lang- oder Kurz-"o" <--
+\def\loku{\brv{\=u}} % loku = Lang- oder Kurz-"u" <--
+%
+% "U" stellt Breve u n t e r ein Zeichen <--
+%
+\def\U#1{\oalign{#1\crcr\hidewidth
+ \kern-.4em \vbox to .2ex{\hbox{\char'25}\vss}\hidewidth}}
+%
+% ist fuer "italic" definiert!! <--
+%
+\def\hu{\U{h}} % "hu" fuer das hethitische "h" <--
+%
+% "lak" fuer Lang-Vokal Akut <--
+%
+\def\lak#1{\leavevmode\setbox0=\hbox{#1}\dimen0=\ht0\advance\dimen0 by-1ex%
+ \rlap{\raise\dimen0\hbox{\char'23}}\box0{}}
+%
+\def\laka{\lak{\=a}} % laka = Laenge + Akut ueber "a" <--
+\def\lake{\lak{\=e}} % lake = Laenge + Akut ueber "e" <--
+\def\laki{\lak{\={\i}}} % laki = Laenge + Akut ueber "i" <--
+\def\lako{\lak{\=o}} % lako = Laenge + Akut ueber "o" <--
+\def\laku{\lak{\=u}} % laku = Laenge + Akut ueber "u" <--
+%
+% "trak" fuer Trema-Vokal Akut <--
+%
+\def\traka{\lak{\"a}} % traka = Trema + Akut ueber "a" <--
+\def\trake{\lak{\"e}} % trake = Trema + Akut ueber "e" <--
+\def\traki{\lak{\"{\i}}} % traki = Trema + Akut ueber "i" <--
+\def\trako{\lak{\"o}} % trako = Trema + Akut ueber "o" <--
+\def\traku{\lak{\"u}} % traku = Trema + Akut ueber "u" <--
+%
+% "lgr" fuer Lang-Vokal Gravis <--
+%
+\def\lgr#1{\leavevmode\setbox0=\hbox{#1}\dimen0=\ht0\advance\dimen0 by-1ex%
+ \rlap{\raise\dimen0\hbox{\char'22}}\box0{}}
+%
+\def\lgra{\lgr{\=a}} % lgra = Laenge + Gravis ueber "a" <--
+\def\lgre{\lgr{\=e}} % lgre = Laenge + Gravis ueber "e" <--
+\def\lgri{\lgr{\={\i}}} % lgri = Laenge + Gravis ueber "i" <--
+\def\lgro{\lgr{\=o}} % lgro = Laenge + Gravis ueber "o" <--
+\def\lgru{\lgr{\=u}} % lgru = Laenge + gravis ueber "u" <--
+%
+% "kak" fuer Kurz-Vokal Akut <--
+%
+\def\kak#1{\leavevmode\setbox0=\hbox{#1}\dimen0=\ht0\advance\dimen0 by-1ex%
+ \rlap{\raise\dimen0\hbox{\char'23}}\box0{}}
+%
+\def\kaka{\kak{\u{a}}} % kaka = Kuerze + Akut ueber "a" <--
+\def\kake{\kak{\u{e}}} % kake = Kuerze + Akut ueber "e" <--
+\def\kaki{\kak{\u{\i}}} % kaki = Kuerze + Akut ueber "i" <--
+\def\kako{\kak{\u{o}}} % kako = Kuerze + Akut ueber "o" <--
+\def\kaku{\kak{\u{u}}} % kaku = Kuerze + Akut ueber "u" <--
+%
+% "cand" fuer Candrabindu (Anunasika) <--
+%
+\def\cand#1{\leavevmode\setbox0=\hbox{#1}\dimen0=\ht0\advance\dimen0%
+ by-1ex\rlap{\raise\dimen0\hbox{\accent'137}}\box0{}}
+\def\candm{\cand{\u{m}}} % <-- Candrabindu ueber m
+\def\candn{\cand{\u{n}}} % <-- Candrabindu ueber n
+% alle anderen entsprechend codieren !! <-- ist noch nicht so gut!
+%
+% "kgr" fuer Kurz-Vokal Gravis <--
+%
+\def\kgr#1{\leavevmode\setbox0=\hbox{#1}\dimen0=\ht0\advance\dimen0 by-1ex%
+ \rlap{\raise\dimen0\hbox{\char'22}}\box0{}}
+%
+\def\kgra{\kgr{\u{a}}} % kgra = Kuerze + Gravis ueber "a" <--
+\def\kgre{\kgr{\u{e}}} % kgre = Kuerze + Gravis ueber "e" <--
+\def\kgri{\kgr{\u{\i}}} % kgri = Kuerze + Gravis ueber "i" <--
+\def\kgro{\kgr{\u{o}}} % kgro = Kuerze + Gravis ueber "o" <--
+\def\kgru{\kgr{\u{u}}} % kgru = Kuerze + Gravis ueber "u" <--
+%
+% "til" - Zirkumflex (Tilde) ueber Akzentzeichen <--
+%
+\def\til#1{\leavevmode\setbox0=\hbox{#1}\dimen0=\ht0\advance\dimen0 by-1ex%
+ \rlap{\raise\dimen0\hbox{\char'176}}\box0{}}
+%
+% "kri" - Kringel (circle) ueber Akzentzeichen <--
+%
+\def\kri#1{\leavevmode\setbox0=\hbox{#1}\dimen0=\ht0\advance\dimen0 by-1.1ex%
+ \rlap{\kern-1.6pt\raise\dimen0\hbox{\char'27}}\box0{}}
+%
+% "kru" - Kringel (circle) unter einem Buchstaben <--
+%
+\def\kru#1{\oalign{#1\crcr\hidewidth
+ \vbox to.2ex{\ifnum\fam=\itfam\hbox{\kern-1.8pt\char'27}
+ \else\hbox{\char'27}\fi\vss}\hidewidth}}
+%
+% "dotu" - Punkt unter einem Buchstaben <--
+%
+\def\dotu#1{\oalign{#1\crcr\hidewidth%
+ \vbox to.2ex{\ifnum\fam=\itfam\hbox{\kern-1.8pt\char'56}
+ \else\hbox{\char'56}\fi\vss}\hidewidth}}
+%
+\def\anusv{\dotu{m}} % <-- Anusvara
+\def\visarg{\dotu{h}} % <-- Visarga
+%
+% "ro" fuer silbisch "r" (desgleichen "R") <--
+%
+\def\ro{\kru{r}} \def\Ro{\kru{R}}
+%
+% "lo" fuer silbisch "l" (desgleichen "L") <--
+%
+\def\lo{\kru{l}} \def\Lo{\kru{L}}
+%
+% "mo" fuer silbisch "m" (desgleichen "M") <--
+%
+\def\mo{\kru{m}} \def\Mo{\kru{M}}
+%
+% "no" fuer silbisch "n" (desgleichen "N") <--
+%
+\def\no{\kru{n}} \def\No{\kru{N}}
+%
+% "bui" - "bar under italic" (z.B. fuer Fremdzeichen toch.) <--
+%
+\def\bui#1{\oalign{#1\crcr\hidewidth
+ \vbox to.2ex{\ifnum\fam=\itfam\hbox{\kern-2.5pt\char'26}
+ \else\hbox{\char'26}\fi\vss}\hidewidth}}
+%
+% "ip" fuer Interpunktion tocharisch <--
+%
+\def\ip{{\symegt \char'05}}
+%
+% "dip" fuer Doppel-Interpunktion toch. <--
+%
+\newdimen\hx
+\newbox\dopp \setbox\dopp=\hbox{{\symegt \char'05}}
+\hx=\ht\dopp \advance\hx by .1pt
+\def\dip{\unhcopy\dopp \kern-\wd\dopp \raise\hx\copy\dopp}
+%
+% "dan" fuer einfachen Danda (senkr. Strich) <--
+%
+\def\dan{$\mid$}
+%
+% "ddan" fuer Doppel-Danda (parallele Striche) <--
+%
+\def\ddan{$\parallel$}
+%
+% "uw" fuer u-Halbvokal <--
+%
+\def\uw{\oalign{{u}\crcr\hidewidth%
+ \kern-.4em\vbox to .2ex{\hbox{{\mitegt \char'177}}\vss}\hidewidth}}
+%
+% "huw" u-Halbvokal hochgestellt <--
+%
+\def\huw{\raise.7ex\hbox{\oalign{{\mitsvn \char'165}\crcr\hidewidth%
+ \kern-.4em\vbox to .2ex{\hbox{{\mitsix \char'177}}\vss}\hidewidth}}}
+%
+% "fnuw" fuer u-Halbvokal in Fussnoten <--
+%
+\def\fnuw{\oalign{{u}\crcr\hidewidth%
+ \kern-.4em\vbox to .2ex{\hbox{{\mitsix \char'177}}\vss}\hidewidth}}
+%
+% "fnhuw" u-Halbvokal in Fussnoten hochgestellt <--
+%
+\def\fnhuw{$^{\fnuw}$}
+%
+% "ij" fuer i-Halbvokal <--
+%
+\def\ij{\oalign{{i}\crcr\hidewidth%
+ \kern-.4em\vbox to .2ex{\hbox{{\mitegt \char'177}}\vss}\hidewidth}}
+%
+% "hij" i-Halbvokal hochgestellt <--
+%
+\def\hij{\raise.7ex\hbox{\oalign{{\mitsvn \char'151}\crcr\hidewidth%
+ \kern-.4em\vbox to .2ex{\hbox{{\mitsix \char'177}}\vss}\hidewidth}}}
+%
+% "fnij" fuer i-Halbvokal in Fussnoten <--
+%
+\def\fnij{\oalign{{i}\crcr\hidewidth%
+ \kern-.4em\vbox to .2ex{\hbox{{\mitsix \char'177}}\vss}\hidewidth}}
+%
+% "fnhij" i-Halbvokal in Fussnoten hochgestellt <--
+%
+\def\fnhij{$^{\fnij}$}
+%
+% "kc" Palatales k fuer "Indogermanisch" <--
+%
+\def\kc{\leavevmode\setbox0=\hbox{k}\dimen0=\ht0%
+ \advance\dimen0 by-1ex \rlap{\raise\dimen0\hbox{{\mitegt \char'177}}}\box0{}}
+%
+% "gc" Palatales g fuer "Indogermanisch" <--
+%
+\def\gc{\leavevmode\setbox0=\hbox{g}\dimen0=\ht0%
+ \advance\dimen0 by-1ex \rlap{\raise\dimen0\hbox{{\mitegt \char'177}}}\box0{}}
+%
+% "eh" (Schwa / Laryngal) fuer "Indogermanisch" <--
+%
+%\def\eh{{\mitsix \char'100}}
+\def\eh{\leavevmode\setbox0=\hbox{\mitsix \char'100}%
+ \dimen0=\ht0\advance\dimen0 by-1ex%
+ \rlap{\kern-1.1pt\raise\dimen0\hbox{ }}\box0{}}
+%
+% "fneh" (Schwa / Laryngal) fuer Fussnoten <--
+%
+\def\fneh{{\mitfiv \char'100}}
+%
+% "leh" (Langes Schwa / Laryngal) <--
+%
+\def\leh{\leavevmode\setbox0=\hbox{\mitsix \char'100}%
+ \dimen0=\ht0\advance\dimen0 by-1ex%
+ \rlap{\kern-1.1pt\raise\dimen0\hbox{\char'26}}\box0{}}
+%
+% "fnleh" (Langes Schwa / Laryngal) fuer Fussnoten <--
+%
+\def\fnleh{\leavevmode\setbox0=\hbox{\mitfiv \char'100}%
+ \dimen0=\ht0\advance\dimen0 by-1ex%
+ \rlap{\kern-1.1pt\raise\dimen0\hbox{\char'26}}\box0{}}
+%
+% "tilu" (Tilde unter Buchstaben) <--
+%
+\def\tilu#1{\oalign{#1\crcr\hidewidth%
+ \vbox to.2ex{\ifnum\fam=\itfam\hbox{\kern-1.8pt\char'176}
+ \else\hbox{\char'176}\fi\vss}\hidewidth}}
+%
+% "scharfes s (sz)" (Umdefinition) <--
+%
+\def\3{\ss{}}
+%
+% "tschech. langes u" <--
+%
+\def\uo{\accent'27u}
+%
+% "cyrillisches Weichheitszeichen" <--
+%
+ \def\wz{{\mitsvn \char'142}}
+%
+% "cyrill. Weichheitszeichen fuer Fussnoten" <--
+%
+\def\fnwz{{\mitfiv \char'142}}
+%
+% "cyrillisches Haertezeichen" <-- !!!
+%
+\setbox0=\hbox{{\mitsvn \char'142}} % <-- geaendert !!!!!!!!
+ \def\hz{{\itsvn \char'067\kern-.2em\copy0}}
+%
+% "cyrill. Haertezeichen fuer Fussnoten" <--
+%
+% * der Font ist fuer beide char' mitfiv!
+\setbox0=\hbox{\mitfiv \char'142}
+ \def\fnhz{\raise.3ex\hbox{\mitfiv \char'067}{\hbox to 2pt{\kern-.2em{\copy0}}}}
+%
+% * noch zu definieren: text-Greek, Cyrillic, usw.
+%
+%
+\def\thorn{p\llap{b}} % Thorn <--
+%
+\def\vir{\oalign{~\crcr\hidewidth % Virama <--
+ \kern-.4em\vbox to.2ex{\hbox{\sfi \char'022}\vss}\hidewidth}}
+%
+\def\aevir{\oalign{{$^{\ddot a}$}\crcr\hidewidth % Virama + ae <--
+ \vbox to.2ex{\hbox{\sfi \char'022}\vss}\hidewidth}}
+%
+\def\og#1{\setbox0=\hbox{#1}\ifdim\ht0=1ex$_{\;_{\lhook}}$%
+\llap{#1}\else{\ooalign{\hidewidth$_{\;_{\lhook}}$%
+\hidewidth\crcr\unhbox0}}\fi} % Ogonek <--
+%
+\def\skdj{d\kern-.45em\char'026} % serbokroatisches dj <--
+%
+\def\skDj{D\kern-.83em\lower.47ex\hbox{\char'026}}% serbokroatisches Dj <--
+%
+\def\ng{{\it r\kern-.25em\j}} % Gutturaler Nasal <--
+%
+\def\hve{h\kern-.25emv} % <-- germanisches Hv
+%
+\def\zje{\lower.5ex\hbox{\char'063}} % <-- germanisches 3
+%
+% * vorlaeufiges Ende der Definitionen diakritischer Zeichen
+%
+
diff --git a/info/digests/tex88/exotex/greek.tex b/info/digests/tex88/exotex/greek.tex
new file mode 100644
index 0000000000..8847c15d2c
--- /dev/null
+++ b/info/digests/tex88/exotex/greek.tex
@@ -0,0 +1,190 @@
+% File: GREEK.TEX (c) Peter J. Olivier. Letzte Aenderung: 8.8.88
+% Erlaubt Eingabe von akzentuiertem Griechisch
+% (bisher noch ohne Spiritus)
+%
+\def\aaa{$\alpha$} %\aaa
+\def\bbb{$\beta$} %\bbb
+\def\ggg{$\gamma$} %\ggg
+\def\ddd{$\delta$} %\ddd
+\def\eee{$\varepsilon$}% \eee
+\def\zzz{$\zeta$}% \zzz
+\def\hhh{$\eta$}% \hhh
+\def\thh{$\vartheta$}% \thh
+\def\iii{$\iota$}% \iii
+\def\kkk{$\kappa$}% \kkk
+\def\lll{$\lambda$}% \lll
+\def\mmm{$\mu$} %\mmm
+\def\nnn{$\nu$}% \nnn
+\def\kss{$\xi$}% \kss
+\def\ooo{$o$}% \ooo
+\def\ppp{$\pi$}% \ppp
+\def\rrr{$\varrho$}% \rrr
+\def\sss{$\sigma$}% \sss
+\def\ccc{$\varsigma$}% \ccc
+\def\ttt{$\tau$} %\ttt
+\def\uuu{$\upsilon$}% \uuu
+\def\fff{$\varphi$}% \fff
+\def\xxx{$\chi$} %\xxx
+\def\pss{$\psi$}% \pss
+\def\ome{$\omega$}% \ome
+\font\sfi=cmssi10
+\def\dig{{\sfi F}} %\dig % <-- Digamma
+%
+\def\jos#1{\oalign{#1\crcr\hidewidth% <-- iota subscriptum
+ \vbox to.2ex{\ifnum\fam=\itfam%
+\hbox{\kern-1.8pt{\mitfiv \char'023}}\else\hbox{{\mitfiv \char'023}}\fi%
+\vss}\hidewidth}}
+%
+\newdimen\hjsub \hjsub=4.5pt
+\newbox\jotasub \setbox\jotasub=\hbox{{\mitfiv \char'023}}
+\advance\hjsub by -\ht\jotasub
+\def\johs{$\eta$\llap\lower4.5pt\hbox{\jotasub}}% <-- iota subscriptum
+ % f. Eta
+%
+\font\mitegt=cmmi8
+\font\rmten=cmr10
+\newbox\splen \newbox\spasp
+\newbox\akut \newbox\gravis
+\newbox\lenak \newbox\lengr
+\newbox\aspak \newbox\aspgr
+\setbox\splen=\hbox{{\mitegt \char'055}}
+\setbox\spasp=\hbox{{\mitegt \char'054}}
+\setbox\akut=\hbox{{\rmten \char'023}}
+\setbox\gravis=\hbox{{\rmten \char'022}}
+\setbox\lenak=\hbox{{\splen}\kern-.1em\copy\akut}
+\setbox\lengr=\hbox{{\splen}\kern-.1em\copy\gravis}
+\setbox\aspak=\hbox{{\spasp}\kern-.1em\copy\akut}
+\setbox\aspgr=\hbox{{\spasp}\kern-.1em\copy\gravis}
+\def\spl#1{\leavevmode\hbox{#1}\llap\raise.02ex\copy{\splen}}
+\def\spa#1{\leavevmode\hbox{#1}\llap\raise.02ex\copy{\spasp}}
+\def\splak#1{\leavevmode\hbox{#1}\llap\raise.02ex\copy{\lenak}}
+\def\splgr#1{\leavevmode\hbox{#1}\llap\raise.02ex\copy{\lengr}}
+\def\spaak#1{\leavevmode\hbox{#1}\llap\raise.02ex\copy{\aspak}}
+\def\spagr#1{\leavevmode\hbox{#1}\llap\raise.02ex\copy{\aspgr}}
+\def\aak{$\acute{\alpha}$} % \aak
+%\def\asl{\leavevmode\raise.02ex\hbox{\spl}\llap{\kern.1em\aaa}}
+\def\asl{\spl{\aaa}}
+%\def\asa{\leavevmode\kern-.6em\raise.02ex\hbox{\spa}\llap{\aaa}}
+\def\asa{\spa{\aaa}}
+%\def\asl{{\hbox{\aaa}\llap{\hbox{\spl}}}}
+%\def\asa{{\hbox{\aaa}\llap{\hbox{\spa}}}}
+%\def\aslak{{\hbox{\aaa}\llap{\hbox{\splak}}}}
+\def\aslak{\splak{\aaa}}
+%\def\asaak{{\hbox{\aaa}\llap{\hbox{\spaak}}}}
+\def\asaak{\spaak{\aaa}}
+\def\agr{$\grave{\alpha}$} % \agr
+\def\aslgr{\splgr{\aaa}}
+\def\asagr{\spagr{\aaa}}
+\def\azf{$\tilde{\alpha}$} % \azf
+%\def\aslzf{}
+%\def\asazf{}
+\def\ajo{\jos{$\alpha$}} % \ajo % <-- umdefinieren! OK
+\def\ajoak{\jos{\aak}}
+\def\ajogr{\jos{\agr}}
+\def\ajozf{\jos{\azf}} % \ajozf % <-- umdefinieren! OK
+\def\eak{$\acute{\varepsilon}$}% \eak
+%\def\esl{\leavevmode\raise.02ex\hbox{\)}\llap{\eee}}
+%\def\esa{\leavevmode\raise.02ex\hbox{\(}\llap{\eee}}
+%\def\eslak{}
+%\def\esaak{}
+\def\egr{$\grave{\varepsilon}$}% \egr
+%\def\eslgr{}
+%\def\esagr{}
+\def\ezf{$\tilde{\varepsilon}$}
+\def\hak{$\acute{\eta}$} % \hak
+%\def\hsl{\leavevmode\raise.5ex\hbox{\)}\llap{\hhh}}
+%\def\hsa{\leavevmode\raise.5ex\hbox{\(}\llap{\hhh}}
+%\def\hslak{}
+%\def\hsaak{}
+\def\hgr{$\grave{\eta}$} % \hgr
+%\def\hslgr{}
+%\def\hsagr{}
+\def\hzf{$\tilde{\eta}$} % \hzf
+%\def\hslzf{}
+%\def\hsazf{}
+%\def\hjo{\johs{$\eta$}} % \hjo % <-- Eta + iota subscriptum
+%\def\hjoak{\johs{\hak}} % <-- dto. mit Akut
+%\def\hjogr{\johs{\hgr}} % <-- dto. mit Gravis
+%\def\hjozf{\johs{\hzf}} % \hjozf % <-- dto. mit Zirkumflex
+\def\iak{$\acute{\iota}$} % \iak
+%\def\isl{\leavevmode\raise.5ex\hbox{\)}\llap{\iii}}
+%\def\isa{\leavevmode\raise.5ex\hbox{\(}\llap{\iii}}
+%\def\islak{}
+%\def\isaak{}
+\def\igr{$\grave{\iota}$} % \igr
+%\def\islgr{}
+%\def\isagr{}
+\def\izf{$\tilde{\iota}$} % \izf
+%\def\islzf{}
+%\def\isazf{}
+\def\itr{$\ddot{\iota}$} % \itr
+\def\itrak{\lak{\itr}} % \itrak
+\def\itrgr{\lgr{\itr}} % \itrgr
+\def\itrzf{\til{\itr}} % \itrzf
+\def\uak{$\acute{\upsilon}$} % \uak
+\def\usl{\leavevmode\raise.5ex\hbox{\)}\llap{\uuu}}
+%\def\usa{\leavevmode\raise.5ex\hbox{\(}\llap{\uuu}}
+%\def\uslak{}
+%\def\usaak{}
+\def\ugr{$\grave{\upsilon}$} % \ugr
+%\def\uslgr{}
+%\def\usagr{}
+\def\uzf{$\tilde{\upsilon}$} % \uzf
+%\def\uslzf{}
+%\def\usazf{}
+\def\utr{$\ddot{\upsilon}$} % \utr
+\def\utrak{\lak{\utr}} % \utrak
+\def\utrgr{\lgr{\utr}} % \utrgr
+\def\utrzf{\til{\utr}} % \utrzf
+\def\oak{$\acute{o}$} % \oak
+%\def\osl{\leavevmode\raise.5ex\hbox{\)}\llap{\ooo}}
+%\def\osa{\leavevmode\raise.5ex\hbox{\(}\llap{\ooo}}
+%\def\oslak{}
+%\def\osaak{}
+\def\ogr{$\grave{o}$} % \ogr
+\def\ozf{$\tilde{o}$}
+%\def\oslgr{}
+%\def\osagr{}
+\def\omak{$\acute{\omega}$} % \omak
+%\def\omsl{\leavevmode\raise.5ex\hbox{\)}\llap{\ome}}
+%\def\omsa{\leavevmode\raise.5ex\hbox{\(}\llap{\ome}}
+%\def\omslak{}
+%\def\omsaak{}
+\def\omgr{$\grave{\omega}$} % \omgr
+%\def\omslgr{}
+%\def\omsagr{}
+\def\omzf{$\tilde{\omega}$} % \omzf
+%\def\omslzf{}
+%\def\omsazf{}
+\def\omjo{\jos{$\omega$}}
+\def\omjoak{\jos{\omak}}
+\def\omjogr{\jos{\omgr}}
+\def\omjozf{\jos{\omzf}}
+%
+%
+\def\AAA{$A$}% \AAA
+\def\BBB{$B$}% \BBB
+\def\GGG{$\it \Gamma$}% \GGG
+\def\DDD{$\it \Delta$} %\DDD
+\def\EEE{$E$} %\EEE
+\def\ZZZ{$Z$} %\ZZZ
+\def\HHH{$H$}% \HHH
+\def\THH{$\it \Theta$}
+\def\III{$I$}% \III
+\def\KKK{$K$}% \KKK
+\def\LLL{$\it \Lambda$}% \LLL
+\def\MMM{$M$}% \MMM
+\def\NNN{$N$}% \NNN
+\def\KSS{$\it \Xi$}% \KSS
+\def\OOO{$O$}% \OOO
+\def\PPP{$\it \Pi$}% \PPP
+\def\RRR{$P$}% \RRR
+\def\SSS{$\it \Sigma$}% \SSS
+\def\TTT{$T$}% \TTT
+\def\YYY{$Y$}% \YYY
+\def\FFF{$\it \Phi$}% \FFF
+\def\XXX{$X$}% \XXX
+\def\PSS{$\it \Psi$}% \PSS
+\def\OME{$\it \Omega$}% \OME
+%
+
diff --git a/info/digests/tex88/hoenig/drop.tex b/info/digests/tex88/hoenig/drop.tex
new file mode 100644
index 0000000000..acd3124190
--- /dev/null
+++ b/info/digests/tex88/hoenig/drop.tex
@@ -0,0 +1,22 @@
+%dropped cap macro from tom rokicki (via alan hoenig)
+\font\dfont=cmb10 scaled\magstep5
+\newbox\dibox \newbox\vsk
+\def\di#1{\smallskip\noindent\strut
+ \setbox\dibox=\hbox{\dfont #1}%
+ \setbox\vsk=\hbox{(}%
+ \hangindent=\wd\dibox
+ \hangafter=-2 % depends on the fonts
+ \strut\hbox to 0pt{\hss\vbox to0pt
+ {\vskip-\ht\vsk
+ \box\dibox\vss}}\noindent}
+%and an example...
+\di There is another advantage to \TeX's command structure.
+Since the command is independent of the text
+it is possible to change the text secure in the knowledge
+that we have not altered the typeset appearance of the
+document in any fundamental way. This is not always the
+case with other computer typesetting systems, which would
+require relaying out of the text after certain revisions.
+Using a macro written by Tom Rokicki, this paragraph has
+been set by\dots
+\bye
diff --git a/info/digests/tex88/hoenig/h0.tex b/info/digests/tex88/hoenig/h0.tex
new file mode 100644
index 0000000000..ef6878c0f1
--- /dev/null
+++ b/info/digests/tex88/hoenig/h0.tex
@@ -0,0 +1,290 @@
+%%
+%%
+%% STRUTS and miscellaneous macros.
+%%
+%\newdimen\strutheight \newdimen\strutdepth
+%\strutheight=\ht\strutbox \strutdepth=\dp\strutbox
+\newdimen\fudgedimen \fudgedimen=1.944444pt
+\font\specialfont=cmbxsl10 scaled\magstep1 \def\z{0pt}
+%%
+%% WHERE AM I?
+%% Macro a la Reid to determine current position
+%% on the page. \NEWOUTPUT is the temporary new
+%% output that we use in this macro to get position.
+%% Normal output routine is stored as \SAVEDOUTPUT.
+%%
+\newtoks\savedoutput \savedoutput={\the\output}
+\newbox\partialpage \newdimen\currentheight
+\def\newoutput{\setbox\partialpage=\vbox{\unvbox255}%
+\global\currentheight=\ht\partialpage \unvbox\partialpage}
+%%
+\def\whereami{\global\savedoutput=\output %
+\global\output={\newoutput}%
+\par \penalty-10000 % huge reward for doing output
+\global\output=\savedoutput}
+%%
+%% COMPUTEGOALHEIGHT
+%% =================
+%%
+%% Computes space we want to allocate for page 1
+%% of story. \GOALHEIGHT stores the computed goad
+%% height. This macro uses the following rule: If
+%% the space left on page is > .5\vsize, then half of
+%% that will be the goal height. Otherwise, all the re-
+%% maining space is allocated to \goalheight. Users and
+%% editors can code their own space allocation scheme into
+%% this macro. This macro has no arguments.
+%%
+\newdimen\goalheight
+\def\computegoalheight{%
+\goalheight=\vsize %%
+\advance\goalheight by-\currentheight
+\ifdim\currentheight>.5\vsize \else \divide\goalheight by2
+\fi
+\advance\goalheight by-2\baselineskip % adjust for title
+\count10=\goalheight %% compute goalheight equiv in lines
+\divide\count10 by\baselineskip
+\advance\count10 by1 %% adjust for truncation in division
+}
+%%
+%% \BEGINSTORY, \ENDSTORY Macros
+%% ======================
+%% Use these macros to typeset the article. Begin
+%% with \beginstory and frame the end with \endstory.
+%%
+\newcount\n %% used by \createparshapespec
+\newbox\currentpage %% to hold the article lead
+\newtoks\parshapespec %% used by \createparshapespec
+\newtoks\keyword %% will contain keyword identifier
+\newdimen\leadhsize % \hsize of lead
+\newdimen\jumphsize % \hsize of jump
+\newdimen\shortsize % width of last line of lead
+%%
+\def\beginstory[title:#1][key:#2][lead hsize:#3][lead
+height:#4lines][jump hsize:#5]{%
+%% #1: the title of the story
+%% #2: a single word for ident purposes
+%% #3: width (hsize) of story lead
+%% #4: depth of first part of story in LINES (1line
+%% = \baselineskip); let it be -1 (or any negative num)
+%% if you want \TeX to compute it as the goalheight
+%% #5: width of second part (jump) of story
+%% \BEGINSTORY will always typeset the lead part of the
+%% story. Complete the story with the command \ENDSTORY
+%% You have to explicitly give the command to typeset the
+%% JUMP. Do this via ``\printjump[key]'' where the `key' is
+%% the parameter #2.
+%%
+%% Because the determination of the forward and backward
+%% page references requires a 2-pass compilation, you will
+%% have to typeset your story TWICE. Otherwise, the page
+%% references will appear as question marks `???'.
+%%
+\setbox0=\hbox{\quad\it Please see {\bf #2} on page ??}
+\shortsize=#3 %% to hold width of last line of lead
+\advance\shortsize by-\wd0 %% reduce by space for xref
+%%
+\leadhsize=#3 \jumphsize=#5
+\setbox0=\vbox to2\baselineskip{\hbox
+to\leadhsize{\hss\specialfont #1\hss}\vss}%
+%% assume title occupies 2\baselineskip of space
+\box0 %% typeset title info
+\count10=#4 \advance\count10 by-2 %% adjust for title
+%%
+\ifnum\count10>0 %% User specified space for lead?
+ \goalheight=\count10\baselineskip %% yes
+ \n=\count10 %% set numerical argument for \parshape
+ \else %% no
+ \whereami \computegoalheight
+ \n=\count10 %%set numerical argument for \parshape
+\fi %\n is the number of lines in the lead
+\advance\n by1 % \n is the parameter for \parshape
+%% \box0 will contain title
+\createparshapespec
+\makeboxident{#2}%
+\global\keyword={#2}%
+\partoks=% will contain `stuff' controlling typesetting
+{\tolerance=7000 \hsize=#3 \pageshape=\n \the\parshapespec}
+\putinvbox{#2}%
+} %% END OF MACRO \BEGINSTORY
+%%
+%%
+\newdimen\splitheight %% ht of article lead
+\def\endstory{%% \ENDSTORY Macro
+\shutbox %% close box containing lead
+\splittopskip=\strutheight
+\ifpasstwo %% then determine page reference
+\def\pageident{\expandafter\csname\the\keyword
+b\endcsname}%
+ \else %% first pass; for explanation of weird
+%% \write convolutions, see TeXbook, ex 21.10
+\def\pageident{???}{\edef\mywrite{\write\xrefout{\{\csname\the\keyword
+a\endcsname:}} \mywrite}%
+{\let\the=0\edef\mywrite{\write\xrefout{\the\pageno:\} }}
+\mywrite}\fi
+\advance\n by-1 %% num of lines in lead
+\splitheight=\n\baselineskip %% how high will lead be?
+\setbox\currentpage=\vsplit\allocationnumber to\splitheight
+%% see TeXbook, pg 346 ff for \allocationnumber
+\vbox{% keep \box\currentpage & reference together
+\box\currentpage
+\vskip-\baselineskip \vskip-\strutdepth
+\vskip-\fudgedimen
+\hbox to\leadhsize{\hss\it \strut Please see
+{\bf\the\keyword} on page \pageident}%
+}% end of \vbox
+}%% End of \ENDSTORY
+%%
+%%
+%% \CREATEPARSHAPESPEC Macro
+%% =========================
+%%
+%% \n contains the numerical argument for \parshape.
+%% This macro called by \beginstory only.
+%%
+\def\createparshapespec{%
+\count10=\n %% use \count10 as scratch register
+\advance\count10 by-2 \global\parshapespec={}%
+\loop\ifnum\count10>0
+\parshapespec=\expandafter{\the\parshapespec \z\leadhsize}
+\advance\count10 by-1 \repeat
+\parshapespec=\expandafter{\the\parshapespec \z\shortsize}
+\parshapespec=\expandafter{\the\parshapespec \z\jumphsize}%
+}
+%%
+%% PAGESHAPE Macros
+%%
+\newcount\linesdone %% tracks \prevgraf for each par
+\newtoks\oldeverypar \oldeverypar={}
+\let\oldparshape=\parshape
+\def\parshape{\prevgraf=0 \linesdone=0 \oldparshape}
+\def\par{{\endgraf \global\linesdone=\prevgraf}}
+\everypar={\the\oldeverypar \prevgraf=\linesdone}
+\def\pageshape{\global\linesdone=0 \oldparshape}
+%%
+%%
+%% BOXIDENTS: How to use them.
+%% ===========================
+%% Any KEYWORD can refer to a box by first saying
+%% \makeboxident{KEYWORD} (e.g., \makeboxident{Story1},
+%% etc.). TWO commands control placing text in the box.
+%% Start with the \PUTINVBOX{KEYWORD} command. KEYWORD
+%% should be the same as in the corresponding
+%% \makeboxident command. Follow \PUTINVBOX with
+%% the text. Finish up with the \SHUTBOX command (no
+%% arguments.) \PUTINVBOX starts by expanding a \partoks
+%% token list, so commands to control the text can be
+%% placed in this token (e.g., \partoks={\noindent \hsize
+%% 3.5in \bf \parshape=3 0pt\hsize 0pt.75\hsize
+%% 0pt.5\hsize}). In these macros, ``a'' refers to the
+%% lead of an article, and ``b'' refers to the jump.
+%%
+%% To typeset the material, enter the command
+%% \printjump{KEYWORD}, e.g.,
+%% \printjump{Story1}.
+%%
+%% Redefine NEWBOX so as not to be OUTER.
+%% WARNING: This is a deviation from Plain.Tex. If
+%% this offends you, please read no further. If it
+%% doesn't offend you, please beware of possible box
+%% allocation problems that may arise.
+%%
+%% See TeXbook, page 346 ff, for discussion of box and
+%% register allocation.
+%%
+\catcode`\@=11 %% make @ a letter temporarily
+\def\newbox#1{%\alloc@4\box\chardef\insc@unt}
+\global\advance\count14 by1
+\ch@ck4\insc@unt\box% make sure there is still room
+\allocationnumber=\count14
+\global\expandafter\chardef#1=\allocationnumber
+\wlog{\string#1=\string\box\the\allocationnumber}}
+\catcode`\@=12
+%%
+\newtoks\partoks \partoks={}
+%%
+\def\makeboxident#1{\newbox{\csname#1box\endcsname}}
+%%
+\def\putinvbox#1{%
+%% single argument is keyword identifier
+%%
+\gdef\myident{\csname#1box\endcsname}%
+\setbox\myident=\vbox\bgroup \the\partoks \strut%
+} %% End of \PUTINVBOX.
+%%
+\def\shutbox{\strut\egroup} %% \SHUTBOX closes box opened
+%% by \putinvbox.
+%%
+\def\printjump[#1]{%% to print the jump portion of article
+\gdef\myident{\csname#1box\endcsname}%
+\ifpasstwo \def\pageident{\csname#1a\endcsname}\else
+\def\pageident{???}
+{\edef\mywrite{\write\xrefout{\{\csname#1b\endcsname:}}\mywrite}
+{\let\the=0\edef\mywrite{\write\xrefout{\the\pageno:\}}}\mywrite}
+\fi
+\vtop{\hbox to\jumphsize{{\bf#1} {\it from page
+\pageident}\strut\hss}\box\myident}}
+%%
+%%
+%% INPUT, OUTPUT, CROSS_REFERENCE Section.
+%% =======================================
+%%
+%% In what follows, we provide the i/o and
+%% cross-reference machinery for replacing the
+%% `???' in the `Please see...' and `Continued
+%% from...' messages. As before, everything will be
+%% keyed off the KEYWORD spec.
+%%
+%%
+%% Temporary redefinition of group symbols so we can
+%% redefine \{ and \} for use in output.
+%%
+\bgroup
+\catcode`\{=11 \catcode`\}=11 \catcode`\[=1 \catcode`\]=2
+\gdef\{[{] \gdef\}[}]
+\egroup
+%%
+\newread\xrefin \newwrite\xrefout
+\newif\ifpasstwo \passtwofalse
+\openin\xrefin=\jobname.xrf
+\ifeof\xrefin \passtwofalse \else\passtwotrue \fi
+\ifpasstwo
+\immediate\write16{**********************************}%
+\immediate\write16{I AM NOW INSERTING PAGE REFERENCES IN
+YOUR ARTICLES.}%
+\immediate\write16{**********************************}%
+\else
+\immediate\write16{**********************************}%
+\immediate\write16{PLEASE don't forget to typeset this a
+SECOND time!}%
+\immediate\write16{**********************************}%
+\openout\xrefout=\jobname.xrf \fi
+%%
+\newtoks\mytok
+\def\readxreffile{%
+\read\xrefin to\mykey
+\mytok=\mykey
+\ifeof\xrefin \let\next=\relax \else
+\expandafter\parse\the\mytok
+\let\next=\readxreffile \fi \next}
+
+%%
+\def\parse#1: #2:{\def#1{#2}}
+%%
+\ifpasstwo \readxreffile \fi
+
+%%
+\def\cleanup{\closein\xrefin \closeout\xrefout}
+%%
+%% TESTING the macros.
+%%
+%%
+\font\bigbold=cmbx10 scaled \magstep3
+\def\warbond{\setbox0=\vbox to60.8pt{\bigbold\null\vfil
+\hbox to.25\hsize{\hss BUY\hss}\vfil \hbox to.25\hsize{\hss
+WAR\hss}\vfil \hbox to.25\hsize{\hss
+BONDS!\hss}\vfil}\setbox0=\vbox{\null
+\vskip6pt\hbox{\hskip6pt\box0\hskip6pt}\vskip6pt}
+\setbox0=\vbox{\hrule height3pt\hbox{\vrule
+width3pt\box0\vrule width3pt}\hrule height3pt} \box0}
+
diff --git a/info/digests/tex88/l_frame.tex b/info/digests/tex88/l_frame.tex
new file mode 100644
index 0000000000..d3c9991e9b
--- /dev/null
+++ b/info/digests/tex88/l_frame.tex
@@ -0,0 +1,123 @@
+% All this stuff comes from latex.tex, most of it from the
+% picture environment. No changes!!!
+
+\catcode`\@=11
+\def\newcount{\alloc@0\count\countdef\insc@unt}
+\def\newdimen{\alloc@1\dimen\dimendef\insc@unt}
+\def\newskip{\alloc@2\skip\skipdef\insc@unt}
+\def\newbox{\alloc@4\box\chardef\insc@unt}
+\def\newwrite{\alloc@7\write\chardef\sixt@@n}
+
+
+\def\@nnil{\@nil}
+\def\@empty{}
+\def\@fornoop#1\@@#2#3{}
+
+\def\@for#1:=#2\do#3{\edef\@fortmp{#2}\ifx\@fortmp\@empty \else
+ \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}\fi}
+
+\def\@forloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else
+ #5\def#4{#2}\ifx #4\@nnil \else#5\@iforloop #3\@@#4{#5}\fi\fi}
+
+\def\@iforloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
+ \let\@nextwhile=\@fornoop \else
+ #4\relax\let\@nextwhile=\@iforloop\fi\@nextwhile#2\@@#3{#4}}
+
+
+\def\@tfor#1:=#2\do#3{\xdef\@fortmp{#2}\ifx\@fortmp\@empty \else
+ \@tforloop#2\@nil\@nil\@@#1{#3}\fi}
+\def\@tforloop#1#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
+ \let\@nextwhile=\@fornoop \else
+ #4\relax\let\@nextwhile=\@tforloop\fi\@nextwhile#2\@@#3{#4}}
+
+\def\makebox{\@ifnextchar ({\@makepicbox}{\@ifnextchar
+ [{\@makebox}{\mbox}}}
+
+\def\mbox#1{\leavevmode\hbox{#1}}
+
+\def\@makebox[#1]{\leavevmode\@ifnextchar [{\@imakebox[#1]}{\@imakebox[#1][x]}}
+
+\long\def\@imakebox[#1][#2]#3{\hbox to#1{\let\mb@l\hss
+\let\mb@r\hss \expandafter\let\csname mb@#2\endcsname\relax
+\mb@l #3\mb@r}}
+
+\def\@makepicbox(#1,#2){\leavevmode\@ifnextchar
+ [{\@imakepicbox(#1,#2)}{\@imakepicbox(#1,#2)[]}}
+
+\long\def\@imakepicbox(#1,#2)[#3]#4{\vbox to#2\unitlength
+ {\let\mb@b\vss \let\mb@l\hss\let\mb@r\hss
+ \let\mb@t\vss
+ \@tfor\@tempa :=#3\do{\expandafter\let
+ \csname mb@\@tempa\endcsname\relax}%
+\mb@t\hbox to #1\unitlength{\mb@l #4\mb@r}\mb@b}}
+
+\def\newsavebox#1{\@ifdefinable#1{\newbox#1}}
+
+\def\savebox#1{\@ifnextchar ({\@savepicbox#1}{\@ifnextchar
+ [{\@savebox#1}{\sbox#1}}}
+
+\def\sbox#1#2{\setbox#1\hbox{#2}}
+
+\def\@savebox#1[#2]{\@ifnextchar [{\@isavebox#1[#2]}{\@isavebox#1[#2][x]}}
+
+\long\def\@isavebox#1[#2][#3]#4{\setbox#1 \hbox{\@imakebox[#2][#3]{#4}}}
+
+\def\@savepicbox#1(#2,#3){\@ifnextchar
+ [{\@isavepicbox#1(#2,#3)}{\@isavepicbox#1(#2,#3)[]}}
+
+\long\def\@isavepicbox#1(#2,#3)[#4]#5{\setbox#1 \hbox{\@imakepicbox
+ (#2,#3)[#4]{#5}}}
+
+\def\usebox#1{\leavevmode\copy #1\relax}
+
+%% The following definition of \frame was written by Pavel Curtis
+\long\def\frame#1{\leavevmode
+ \hbox{\hskip-\@wholewidth
+ \vbox{\vskip-\@wholewidth
+ \hrule \@height\@wholewidth
+ \hbox{\vrule \@width\@wholewidth #1\vrule \@width \@wholewidth}
+ \hrule \@height \@wholewidth\vskip -\@halfwidth}
+ \hskip-\@wholewidth}}
+
+\newdimen\fboxrule
+\newdimen\fboxsep
+
+\long\def\fbox#1{\leavevmode\setbox\@tempboxa\hbox{#1}\@tempdima\fboxrule
+ \advance\@tempdima \fboxsep \advance\@tempdima \dp\@tempboxa
+ \hbox{\lower \@tempdima\hbox
+ {\vbox{\hrule \@height \fboxrule
+ \hbox{\vrule \@width \fboxrule \hskip\fboxsep
+ \vbox{\vskip\fboxsep \box\@tempboxa\vskip\fboxsep}\hskip
+ \fboxsep\vrule \@width \fboxrule}
+ \hrule \@height \fboxrule}}}}
+
+\def\framebox{\@ifnextchar ({\@framepicbox}{\@ifnextchar
+ [{\@framebox}{\fbox}}}
+
+\def\@framebox[#1]{\@ifnextchar [{\@iframebox[#1]}{\@iframebox[#1][x]}}
+
+\long\def\@iframebox[#1][#2]#3{\leavevmode
+ \savebox\@tempboxa[#1][#2]{\kern\fboxsep #3\kern\fboxsep}\@tempdima\fboxrule
+ \advance\@tempdima \fboxsep \advance\@tempdima \dp\@tempboxa
+ \hbox{\lower \@tempdima\hbox
+ {\vbox{\hrule \@height \fboxrule
+ \hbox{\vrule \@width \fboxrule \hskip-\fboxrule
+ \vbox{\vskip\fboxsep \box\@tempboxa\vskip\fboxsep}\hskip
+ -\fboxrule\vrule \@width \fboxrule}
+ \hrule \@height \fboxrule}}}}
+
+\def\@framepicbox(#1,#2){\@ifnextchar
+ [{\@iframepicbox(#1,#2)}{\@iframepicbox(#1,#2)[]}}
+
+\long\def\@iframepicbox(#1,#2)[#3]#4{\frame{\@imakepicbox(#1,#2)[#3]{#4}}}
+
+\def\parbox{\@ifnextchar [{\@iparbox}{\@iparbox[c]}}
+
+\long\def\@iparbox[#1]#2#3{\leavevmode \@pboxswfalse
+ \if #1b\vbox
+ \else \if #1t\vtop
+ \else \ifmmode \vcenter
+ \else \@pboxswtrue $\vcenter
+ \fi
+ \fi
+ \fi{\hsize #2\@parboxrestore #3}\if@pboxsw $\fi}
diff --git a/info/digests/tex88/polish/polset.tex b/info/digests/tex88/polish/polset.tex
new file mode 100644
index 0000000000..3e6ad8be0d
--- /dev/null
+++ b/info/digests/tex88/polish/polset.tex
@@ -0,0 +1,273 @@
+%----------------------------------------------------------------------
+% 18:46:21 7/4/1988
+%----------------------------------------------------------------------
+% module `POLTAILS'
+%
+%
+% macro package for PLAIN TeX
+% A PREMATURED VERSION!!!
+% to be used with crossed fingers
+% NO RIGHTS RESERVED
+%
+% SPECIFICATION:
+% defines macros \Polisha \PolishA \Polishe \PolishE
+% for Polish tailed characters,
+% \Polishl and \PolishL for Polish suppressed l's
+% and, moreover, macro \polopenquot as Polish
+% opening quotation symbol, macro \numbersymbol for N,
+% and facilitates the use of them.
+%
+% macros and variables with names containing at-sign `@' are assumed
+% to be local for this module
+%
+%
+% IMPLEMENTATION :
+%
+% authors: B. JACKOWSKI - T. HOœDYS - M. RY›KO
+%
+%--------
+%
+\def\KeepKerns#1#2{%
+#2{\setbox0=\hbox{#1}\kern-\wd0\copy0\kern-\wd0}#2}%
+%--------
+\catcode `\@=11 %
+%--------
+\newdimen\prop@rshift
+% \prop@rshift<0 - shift to the left, >0 - shift to the right
+\newdimen\taild@pth
+\newdimen\d@pthcorr
+% \d@pthcorr<0 - shift up, >0 - shift down
+\newdimen\min@x
+\newdimen\curr@x
+%--------
+{%
+\font\fivegr@@k=cmmi5 at 5truept%
+\global\min@x=\fontdimen5\fivegr@@k}
+%--------
+\def\@@lap#1{\vbox to 0pt{\hsize=0pt\kern\d@pthcorr\rlap{\hss#1}\vss}}%
+%--------
+\def\s@ttwofonts#1#2{%
+\font\small@rfont=\curr@nttailfont#1%
+\font\bigg@rfont=\curr@nttailfont#2%
+}%
+%--------
+\def\s@tprop@rfonts{%
+\curr@x=\fontdimen5\the\font%
+% doubled magnification factors (half excluded): 2000, 2400, 3456, 4148, 4976
+\s@ttwofonts00%
+\ifdim 2\min@x>\curr@x%
+\s@ttwofonts01%
+\else\ifdim 2.4\min@x>\curr@x%
+\s@ttwofonts12%
+\else\ifdim 3.456\min@x>\curr@x%
+\s@ttwofonts23%
+\else\ifdim 4.148\min@x>\curr@x%
+\s@ttwofonts34%
+\else%
+\ifdim 4.976\min@x>\curr@x%
+\s@ttwofonts45%
+\fi\fi\fi\fi\fi}%
+%--------
+\def\s@ttailparam@t@rs#1#2{%
+% \curr@ntcedillashift and \curr@ntiotashift are defined later on
+\if c\curr@nttail%
+% C E D I L L A
+\prop@rshift=\curr@ntcedillashift{#2}%
+\def\prop@rchar{\char'30}%
+\d@pthcorr=-0.05ex
+\setbox0=\hbox{\prop@rchar}\taild@pth=\dp0
+\advance\taild@pth by \d@pthcorr % O.K. since \s@ttailparam@t@rs
+% is used inside a group in \tail@d
+\else%
+% G R E E K I O T A
+\def\prop@rchar{\char'23}%
+\prop@rshift=\curr@ntiotashift{#2}%
+\s@tprop@rfonts%
+\ifnum \the\lccode`#1=`#1 % small letter
+\small@rfont\else%
+\ifnum \the\uccode`#1=`#1 % capital letter
+\bigg@rfont%
+\fi\fi%
+\d@pthcorr=-0.05ex
+\taild@pth=1ex \advance\taild@pth by \d@pthcorr \fi}%
+%--------
+\def\tail@d#1#2{%
+#1% incidentally, preceeding implicit kerns are preserved
+% (e.g., W\\asko is O.K.)
+{\s@ttailparam@t@rs{#1}{#2}%
+\setbox0=\@@lap{\kern2\prop@rshift\prop@rchar}\dp0=\taild@pth \box0}%
+}%
+%--------
+\def\PolishA{\tail@d A0}%
+\def\PolishE{\tail@d E1}%
+\def\Polisha{\tail@d a2}%
+\def\Polishe{\tail@d e3}%
+%--------
+\def\Polishl{\char32l}%
+\def\PolishL{\leavevmode{\setbox0\hbox{L}\hbox to\wd0{\hss\char32L}%
+\kern-\wd0}L}
+%--------
+\newdimen\polop@nquotdim%
+\def\polopenquot{%
+{\setbox0=\hbox{''}\polop@nquotdim=\ht0%
+\setbox0=\hbox{,}\advance\polop@nquotdim by -\ht0%
+\setbox1=\hbox{\lower\polop@nquotdim\hbox{''}}%
+\ht1=\ht0 \dp1=\dp0%
+\leavevmode\box1}}%
+%--------
+\def\@@symbol{\vrule height 1ex width 0.22em depth -0.9ex%
+\llap{\char'27 \kern -0.28em}}%
+%--------
+\def\numbersymbol{N\kern0.05em\@@symbol\kern 0.1em }% DON'T REMOVE THE SPACE!
+%--------
+\catcode `\@=12%
+%----------------------------------------------------------------------
+% the main macro of this part of the module, i.e., \Polishdiacriticalletters#1,
+% produces the Polish diacritical character made of a letter #1;
+% it may be used with letters a, c, e, l, n, o, s, x, z,
+% and A, C, E, L, N, O, S, X, Z,
+% #1=x and #1=X represent accented z and Z, resp.
+% #1=z and #1=Z represent dotted z and Z, resp.,
+% #1=@ repesents N§ symbol,
+% #1=, repesents Polish opening quotation mark,i.e. ",,";
+%
+
+% GENERAL REMARKS
+% the module should work well with a basic set of CM or AM fonts;
+% due to especial arragement of macros accomplishing
+% Polish "tailed" letters implicit kernings are preserved;
+%
+% IT DOES NOT WORK IN MATHMODE!!! - embeding in boxes might help...
+% (also typewriter fonts does not provide necessary types)
+%
+%--------
+\def\Polishdiacriticalletters#1{%
+\if a#1\KeepKerns{\Polisha}a%
+\else\if c#1\KeepKerns{\'c}c%
+\else\if e#1\KeepKerns{\Polishe}e%
+\else\if l#1\Polishl%
+\else\if n#1\'n%
+\else\if o#1\KeepKerns{\'o}o%
+\else\if s#1\'s%
+\else\if x#1\'z%
+\else\if z#1\.z%
+\else\if A#1\KeepKerns{\PolishA}A%
+\else\if C#1\KeepKerns{\'C}C%
+\else\if E#1\PolishE%
+\else\if L#1\PolishL%
+\else\if N#1\'N%
+\else\if O#1\KeepKerns{\'O}O%
+\else\if S#1\'S%
+\else\if X#1\'Z%
+\else\if Z#1\.Z%
+\else\if @#1\numbersymbol%
+\else\if ,#1\polopenquot%
+\else%
+\ifhmode %
+ \hskip2pt \vrule height1.5ex width\overfullrule depth0.2ex \hskip2pt %
+\else %
+ \ifvmode %
+ \vskip2pt \hrule height1.5ex width\overfullrule depth0.2ex \vskip2pt %
+\fi %
+\fi %
+%\message{NIE MA DIAKRYTYCZNEGO #1! }%
+\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
+%
+%--------
+%
+\begingroup
+\global\let\previoustwobackslashes=\\%
+\def\\#1{%
+\Polishdiacriticalletters{#1}}%
+\global\let\Polishtwobackslashes=\\
+\endgroup
+%--------
+%
+% An alternative implementation, using active `/' rather than `\\':
+%
+%--------
+\newcount\previousslashcode \previousslashcode=\the\catcode`\/%
+\begingroup
+\catcode`\/=12 %
+\global\def\normalslash{/}
+\catcode`\/=\active %
+\global\let\previoussingleslash=/%
+\def/#1{%
+\ifx /#1\normalslash \else%
+\Polishdiacriticalletters{#1}%
+\fi%
+}%
+\global\let\Polishsingleslash=/
+%----------------------------------------------------------------------
+% macros \switchtoslash and \switchtobackslashes enable an undecided
+% user to switch back and forth between the two ways of marking Polish
+% diacritical letters in a source text: after \switchtoslash / should be
+% used as the preceding operator, after \switchtobackslashes - \\ (default).
+% Switching restores the previous meaning of the other operator.
+%----------------------------------------------------------------------
+\global\def\switchtoslash{%
+\global\previousslashcode=\the\catcode`\/%
+\catcode`\/=\active%
+\global\let\\=\previoustwobackslashes%
+\global\let\previoussingleslash=/%
+\global\let/=\Polishsingleslash}%
+%
+\global\def\switchtobackslashes{%
+\global\let\previoustwobackslashes=\\%
+\global\let\\=\Polishtwobackslashes%
+\ifnum \the\catcode`\/=\active \global\let/=\previoussingleslash \fi%
+\global\catcode`\/=\previousslashcode %
+}%
+\endgroup%
+%
+%----------------------------------------------------------------------
+% some additional macros:
+%----------------------------------------------------------------------
+\begingroup%
+\catcode`\@=11 %
+% a, A, e, and E shifts:
+\global\def\setiotashifts(#1\A #2\E #3\a #4\e){%
+\def\curr@ntiotashift##1{%
+\ifcase##1 #1em\or#2em\or#3em\or#4em\fi}}% DON'T REMOVE THE SPACE!
+%--------
+\global\def\setcedillashifts(#1\A #2\E #3\a #4\e){%
+\def\curr@ntcedillashift##1{%
+\ifcase##1 #1em\or#2em\or#3em\or#4em\fi}}% DON'T REMOVE THE SPACE!
+%--------
+\global\def\switchtoiotatail{\let\curr@nttail=i}%
+\global\def\switchtocedillatail{\let\curr@nttail=c}%
+\global\def\switchtononbold{%
+\setiotashifts(-0.12\A -0.2\E -0.1\a -0.18\e)%
+\setcedillashifts(-0.1\A -0.24\E -0.14\a -0.2\e)%
+\def\curr@nttailfont##1{%
+\ifcase ##1 cmmi5 at 5truept \or%
+cmmi5 at 5.475truept \or%
+cmmi5 at 6truept \or%
+cmmi5 at 7.2truept \or%
+cmmi5 at 8.64truept \or%
+cmmi5 at 10.37truept \or%
+\fi}%
+}%
+\global\def\switchtobold{%
+\setiotashifts(-0.14\A -0.18\E -0.1\a -0.2\e)%
+\setcedillashifts(-0.18\A -0.24\E -0.16\a -0.22\e)%
+\def\curr@nttailfont##1{%
+\ifcase ##1 cmmi5 at 5truept \or%
+cmmi5 at 5.475truept \or%
+cmmi5 at 6truept \or%
+cmmi5 at 7.2truept \or%
+cmmib10 at 10truept \or%
+cmmib10 at 10.95truept \or%
+\fi}%
+}%
+\endgroup%
+%----------------------------------------------------------------------
+% DEFAULTS:
+%----------------------------------------------------------------------
+\switchtobackslashes
+\switchtoiotatail
+\switchtononbold
+%
+%
+\endinput
diff --git a/info/digests/tex88/proc.info b/info/digests/tex88/proc.info
new file mode 100644
index 0000000000..dba172cd36
--- /dev/null
+++ b/info/digests/tex88/proc.info
@@ -0,0 +1,34 @@
+Proceedings, TeX88 Conference
+
+The macros referred to in a number of the papers
+in the proceedings are included in the archive.
+In addition, there is a file ABS.BIB which contains
+a BibTeX-style set of abstracts for the proceedings.
+There are a couple of mistakes in the form of ABS.BIB,
+although the content is `correct'.
+The other extra is the file L_FRAME.TEX which
+allows the \framebox type macros of LaTeX to
+be used with plain (similar in style and content
+to the L_PIC.TEX macros, cf. Bruggeman-Klein & Woods).
+
+The othetr macro files are separated into sub-directories:
+[.EXOTEX] contains DIATOP.TEX, EXOTEX.TEX and GREEK.TEX;
+ used in Peter Olivier's paper
+[.POLISH] contains POLSET.TEX;
+ used in Rycko et al's paper
+[.HOENIG] contains H0.TEX and DROP.TEX;
+ used in Alan Hoenig's two papers
+[.GERMAN] contains GERMAN.STY;
+ used in Hubert Partl's paper;
+[.TREE] contains L_PIC.TEX;
+ used in Bruggeman-Klein & Woods paper:
+ for the rest of the macros, see [TEX-ARCHIVE.TEX-STYLE.TREETEX]
+[.RAMEK] contains DIAGRAM.DEF and STRUCT.DEF
+ used in Michael Ramek's paper. It also
+ has the example files, TEX88.FG1 to TEX88.FG20
+ which illustrate the use of these two great macros.
+
+We hope that the macros of Norris & Oakley may be added later.
+Watch this space!
+
+malcolm clark (ed)
diff --git a/info/digests/tex88/ramek/diagram.def b/info/digests/tex88/ramek/diagram.def
new file mode 100644
index 0000000000..44c3d05617
--- /dev/null
+++ b/info/digests/tex88/ramek/diagram.def
@@ -0,0 +1,790 @@
+{\catcode`\|=0 |catcode`|\=12 |obeyspaces |let|m=|message
+|m{ }
+|m{ These macros may be used free of charge and without authorization }
+|m{ for scientific work only. Written permission is required for any }
+|m{ commercial use. If used in publications, citation similar to the }
+|m{ following reference is required: }
+|m{ }
+|m{ Michael Ramek, }
+|m{ ``Chemical Structure Formul\ae\ and x/y-Diagrams with \TeX'', }
+|m{ in }
+|m{ ``\TeX: Applications, Uses, Methods, Proceedings of the \TeX88 }
+|m{ Conference'', }
+|m{ edited by Malcolm Clark, }
+|m{ published by Ellis Horwood Publishers, Chichester, UK, }
+|m{ pages 227--258 }
+|m{ }
+|m{ Questions and inquiries should be addressed to the author: }
+|m{ }
+|m{ Michael Ramek }
+|m{ Institut f\"ur Physikalische und Theoretische Chemie, }
+|m{ Technische Universit\"at Graz }
+|m{ Rechbauerstra{\ss}e 12 }
+|m{ A--8010 Graz }
+|m{ Austria }
+|m{ }|m{}}
+\newwrite\eIns\newwrite\zwEi%
+\newhelp\noscaleIgnored{mproper noscale ignored!}%
+\newhelp\noaxisIgnored{mproper noaxis ignored!}%
+\newhelp\curveIgnored{ncomplete curve ignored!}%
+\newhelp\hpointIgnored{mproper hpoint ignored!}%
+\newhelp\vpointIgnored{mproper vpoint ignored!}%
+\newhelp\diagramIgnored{ncorrect diagram ignored!}%
+\newhelp\improperxIncrement%
+{mproper increment of x-axis!}%
+\newhelp\negativxIncrement%
+{ncrement of x-axis is not positive!}%
+\newhelp\improperyIncrement%
+{mproper increment of y-axis!}%
+\newhelp\negativyIncrement%
+{ncrement of y-axis is not positive!}%
+%
+\def\messAge#1{\escapechar`I%
+\message{\the#1}\escapechar`\\}%
+%
+\def\nogrid{\count0=0\relax}%
+%
+\def\noscale{\ifnum\count20=30 \count30=0\else%
+\ifnum\count20=40 \count40=0\else%
+\messAge{\noscaleIgnored}\fi\fi\relax}%
+\def\noaxis{\ifnum\count20=30 \count30=0\count31=0\else%
+\ifnum\count20=40 \count40=0\count41=0\else%
+\messAge{\noaxisIgnored}\fi\fi\relax}%
+%
+\def\xaxis#1,#2.#3,#4.#5,#6.#7,#8;{\dimen7=#6.#7\pt\relax%
+\ifdim\dimen7>0\em \count20=30\advance\dimen1 by#1%
+\fontdimen2\tenrm\dimen252\setbox0\hbox{#8}%
+\ifdim\wd0>0\em \setbox0\hbox{#8$\qquad\longrightarrow$}\fi%
+\dimen8\ht0\advance\dimen8 by\dp0\advance\dimen8 by2.5\em%
+\advance\dimen2 by\dimen8\fontdimen2\tenrm0\em%
+\dimen61=#2.#3\pt\dimen63=#4.#5\pt\advance\dimen63 by-\dimen61%
+\setbox2\hbox{#2}\ifdim\wd2=0\em \count12=0\else%
+\ifdim\wd2=\wd4 \if#2- \count12=0\else\count12=#2\fi%
+\else\count12=#2\fi\fi%
+\setbox2\hbox{#4}\ifdim\wd2=0\em \count14=0\else%
+\ifdim\wd2=\wd4 \if#4- \count14=0\else\count14=#4\fi%
+\else\count14=#4\fi\fi \count13=0#3\count15=0#5%
+\count16=0#6\count17=0#7\setbox2\hbox{#2.}\dimen7\wd2%
+\setbox2\hbox{#6.}\ifdim\wd2>\dimen7 \dimen7\wd2\fi%
+\setbox2\hbox{#3}\dimen13\wd2\setbox2\hbox{#5}%
+\ifdim\wd2>\dimen13 \dimen13\wd2\fi\setbox2\hbox{#7}%
+\ifdim\wd2>\dimen13 \dimen13\wd2\fi%
+\advance\dimen7 by\dimen13\count18=1%
+\loop\setbox2\hbox{\number\count18}\ifdim\wd2<\dimen13 %
+\multiply\count18 by10\repeat\multiply\count18 by10%
+\multiply\count12 by\count18\multiply\count14 by\count18%
+\multiply\count16 by\count18\setbox2\hbox{#3}%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#3 0}\multiply\count13 by10\fi%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#3 00}\multiply\count13 by10\fi%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#3 000}\multiply\count13 by10\fi%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#3 0000}\multiply\count13 by10\fi%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#3 00000}\multiply\count13 by10\fi%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#3 000000}\multiply\count13 by10\fi%
+\dimen3=#2.#3\pt\relax\ifdim\dimen3<0\em %
+\advance\count12 by-\count13\else%
+\advance\count12 by\count13\fi\setbox2\hbox{#5}%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#5 0}\multiply\count15 by10\fi%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#5 00}\multiply\count15 by10\fi%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#5 000}\multiply\count15 by10\fi%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#5 0000}\multiply\count15 by10\fi%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#5 00000}\multiply\count15 by10\fi%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#5 000000}\multiply\count15 by10\fi%
+\dimen3=#4.#5\pt\relax\ifdim\dimen3<0\em %
+\advance\count14 by-\count15%
+\else\advance\count14 by\count15\fi\setbox2\hbox{#7}%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#7 0}\multiply\count17 by10\fi%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#7 00}\multiply\count17 by10\fi%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#7 000}\multiply\count17 by10\fi%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#7 0000}\multiply\count17 by10\fi%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#7 00000}\multiply\count17 by10\fi%
+\ifdim\wd2<\dimen13 %
+\setbox2\hbox{#7 000000}\multiply\count17 by10\fi%
+\advance\count16 by\count17\dimen3=#1%
+\count19=\count12\loop\advance\count19 by\count16\relax%
+\ifnum\count19<\count14 \repeat%
+\ifnum\count14=\count19 \advance\count1 by1\else%
+\messAge{\improperxIncrement}\fi%
+\else\messAge{\negativexIncrement}\fi}%
+%
+\def\yaxis#1,#2.#3,#4.#5,#6.#7,#8;{\dimen10=#6.#7\pt\relax%
+\ifdim\dimen10>0\em \count20=40\advance\dimen2 by#1%
+\fontdimen2\tenrm\dimen252\setbox1\hbox{#8}%
+\fontdimen2\tenrm0\em\advance\dimen1 by2.5\em%
+\advance\dimen1 by\wd1\setbox2\hbox{#2.}\dimen10\wd2%
+\setbox2\hbox{#6.}\ifdim\wd2>\dimen10 \dimen10\wd2\fi%
+\setbox2\hbox{#3}\dimen14\wd2%
+\setbox2\hbox{#5}\ifdim\wd2>\dimen14 \dimen14\wd2\fi%
+\setbox2\hbox{#7}\ifdim\wd2>\dimen14 \dimen14\wd2\fi%
+\advance\dimen10 by\dimen14\advance\dimen1 by\dimen10%
+\dimen62=#2.#3\pt\dimen64=#4.#5\pt\advance\dimen64 by-\dimen62%
+\setbox2\hbox{#2}\ifdim\wd2=0\em \count22=0\else%
+\ifdim\wd2=\wd4 \if#2- \count22=0\else\count22=#2 \fi%
+\else\count22=#2 \fi\fi%
+\setbox2\hbox{#4}\ifdim\wd2=0\em \count24=0\else%
+\ifdim\wd2=\wd4 \if#4- \count24=0\else\count24=#4 \fi%
+\else\count24=#4 \fi\fi%
+\count23=0#3\count25=0#5\count26=0#6\count27=0#7\count28=1%
+\loop\setbox2\hbox{\number\count28}\ifdim\wd2<\dimen14 %
+\multiply\count28 by10\repeat\multiply\count28 by10%
+\multiply\count22 by\count28\multiply\count24 by\count28%
+\multiply\count26 by\count28\setbox2\hbox{#3}%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#3 0}\multiply\count23 by10\fi%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#3 00}\multiply\count23 by10\fi%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#3 000}\multiply\count23 by10\fi%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#3 0000}\multiply\count23 by10\fi%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#3 00000}\multiply\count23 by10\fi%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#3 000000}\multiply\count23 by10\fi%
+\dimen4=#2.#3\pt\relax\ifdim\dimen4<0\em %
+\advance\count22 by-\count23%
+\else\advance\count22 by\count23\fi\setbox2\hbox{#5}%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#5 0}\multiply\count25 by10\fi%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#5 00}\multiply\count25 by10\fi%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#5 000}\multiply\count25 by10\fi%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#5 0000}\multiply\count25 by10\fi%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#5 00000}\multiply\count25 by10\fi%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#5 000000}\multiply\count25 by10\fi%
+\dimen4=#4.#5\pt\relax\ifdim\dimen4<0\em %
+\advance\count24 by-\count25%
+\else\advance\count24 by\count25\fi\setbox2\hbox{#7}%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#7 0}\multiply\count27 by10\fi%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#7 00}\multiply\count27 by10\fi%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#7 000}\multiply\count27 by10\fi%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#7 0000}\multiply\count27 by10\fi%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#7 00000}\multiply\count27 by10\fi%
+\ifdim\wd2<\dimen14 %
+\setbox2\hbox{#7 000000}\multiply\count27 by10\fi%
+\advance\count26 by\count27\dimen4=#1%
+\count29=\count22\loop\advance\count29 by\count26\relax%
+\ifnum\count29<\count24 \repeat%
+\ifnum\count24=\count29 \advance\count1 by2\else%
+\messAge{\improperyIncrement}\fi%
+\else\messAge{\negativyIncrement}\fi}%
+%
+\def\printsymbol#1{{\symbol#1\box2}}%
+%
+\def\symbol#1{\ifcase#1%
+\ownsymbol{\lower.03em\hbox{\kern.05em$\circ$}}\or%
+\ownsymbol{\lower.03em\hbox{\kern.05em$\bullet$}}\or%
+\ownsymbol{\raise.1em\hbox{$\oplus$}}\or%
+\ownsymbol{\raise.1em\hbox{\kern.01em$\otimes$}}\or%
+\ownsymbol{\raise.1em\hbox{\kern.0235em+}}\or%
+\ownsymbol{\raise.1em\hbox{\kern.05em$\times$}}\or%
+\ownsymbol{$\ast$}\or%
+%\ownsymbol{\vrule width.5em depth.05em height.45em}\or%
+\ownsymbol{\vrule width.4em height.4em}\or%
+\ownsymbol{\lower.03em\hbox{\kern.03em$\diamond$}}\or%
+\ownsymbol{$\bowtie$}\fi}%
+%
+\def\ownsymbol#1{\advance\dimen12 by.5\wd2%
+\advance\dimen13 by.5\ht2\advance\dimen13 by.5\dp2%
+\setbox2\hbox{#1}\advance\dimen12 by-.5\wd2%
+\advance\dimen13 by-.5\ht2\advance\dimen13 by-.5\dp2}%
+%
+\def\nosymbol{\ownsymbol{}}%
+%
+\def\values#1{\ownsymbol{\kern.02\em{\tt x}}\count1=0 #1}%
+%
+\def\connect#1{\nosymbol\count1=1\count0=0 #1}%
+%
+\def\curve#1{\nosymbol\count1=3\count0=0\count29=0%
+\immediate\openout\eIns\jobname.co1 #1\nosymbol%
+\immediate\write\eIns{-1}\immediate\closeout\eIns%
+\ifnum\count0<2 \messAge{\curveIgnored}\fi\relax%
+\ifnum\count0=2 \advance\count19 by\count29\relax%
+\ifnum\count19=0 \immediate\openin\eIns\jobname.co1%
+\immediate\read\eIns to\zeIle%
+\immediate\read\eIns to\zeIle\dimen9=\zeIle%
+\immediate\read\eIns to\zeIle\dimen10=\zeIle%
+\immediate\closein\eIns\docOnnect\fi\else\dOcurve\fi}%
+%
+\def\absdOcurve{\relax%
+\ifdim\dimen11<0\em \multiply\dimen11 by-1\fi\relax}%
+%
+\def\dOcurve{\count20=\eIns\count21=\zwEi\count27\dimen0%
+\divide\count27 by175\multiply\count27 by\count27%
+\count39=0\loop\count38=0\ifnum\count20=\eIns %
+\immediate\openin\count20\jobname.co1%
+\immediate\openout\count21\jobname.co2\else%
+\immediate\openin\count20\jobname.co2%
+\immediate\openout\count21\jobname.co1\fi%
+\count0=0\read\count20 to\zeIle\count29=\zeIle\relax%
+\dacApo\ifnum\count29>-1 \dimen12\dimen9\dimen13\dimen10%
+\read\count20 to\zeIle\dimen9=\zeIle\read\count20 to\zeIle%
+\dimen10=\zeIle\advance\count0 by1\relax\ifnum\count0=2 %
+\dimen34\dimen9\dimen35\dimen10\count35=\count29%
+\dimen42\dimen9\dimen43\dimen10\count43=\count29\fi%
+\ifnum\count0=1 \dimen32\dimen9\dimen33\dimen10%
+\count33=\count29\dimen40\dimen9\dimen41\dimen10%
+\count41=\count29\fi\ifnum\count0=3 %
+\dimen44\dimen9\dimen45\dimen10\count45=\count29%
+\ifnum\count33=0 \ifnum\count35=2 \dimen31\dimen33%
+\dimen30\dimen34\multiply\dimen30 by2%
+\advance\dimen30 by-\dimen32\fi\relax%
+\ifnum\count35=1 \dimen30\dimen32\dimen31\dimen35%
+\multiply\dimen31 by2\advance\dimen31 by-\dimen33\fi\relax%
+\ifnum\count35=0 \dimen30\dimen9\dimen31\dimen10\fi\fi\fi%
+\relax\ifnum\count0>3 \helpdOcurve\dimen44\dimen9%
+\dimen45\dimen10\count45=\count29\fi\relax%
+\ifnum\count0>2 \reallydOcurve\fi\count37=\count29%
+\read\count20 to\zeIle\count29=\zeIle\fi\relax%
+\ifnum\count29>-1 \alfIne\relax%
+\ifnum\count0=2 \ifnum\count33=2 \dimen31\dimen35%
+\dimen30\dimen32\multiply\dimen30 by2%
+\advance\dimen30 by-\dimen34\count35=0\fi\relax%
+\ifnum\count33=1 \dimen30\dimen34\dimen31\dimen33%
+\multiply\dimen31 by2\advance\dimen31 by-\dimen35%
+\count35=0\fi\relax%
+\ifnum\count35=2 \dimen31\dimen33\dimen30\dimen34%
+\multiply\dimen30 by2\advance\dimen30 by-\dimen32\fi%
+\ifnum\count35=1 \dimen30\dimen32\dimen31\dimen35%
+\multiply\dimen31 by2\advance\dimen31 by-\dimen33\fi%
+\dimen44\dimen30\dimen45\dimen31\else\dimen12\dimen9%
+\dimen13\dimen10\count37=\count45\helpdOcurve%
+\dimen44\dimen30\dimen45\dimen31\count45=\count31\fi%
+\reallydOcurve\immediate\write\count21{\the\count37}%
+\immediate\write\count21{\the\dimen9}%
+\immediate\write\count21{\the\dimen10}%
+\immediate\write\count21{-1}%
+\immediate\closein\count20\immediate\closeout\count21%
+\advance\count38 by1\message{\the\count38}%
+\count11=\count21\count21=\count20\count20=\count11%
+\ifnum\count38=\count39 \count38=999\else%
+\count39=\count38\fi\relax%
+\ifnum\count38<99 \repeat\relax\ifnum\count20=\eIns %
+\immediate\openin\count20\jobname.co1\else%
+\immediate\openin\count20\jobname.co2\fi%
+\read\count20 to\zeIle\count29=\zeIle%
+\read\count20 to\zeIle\dimen40=\zeIle%
+\advance\dimen40 by.5\wd1%
+\read\count20 to\zeIle\dimen41=\zeIle%
+%\advance\dimen41 by.5\wd1%
+\read\count20 to\zeIle\count29=\zeIle\relax%
+\dacApo\read\count20 to\zeIle\dimen42=\zeIle%
+\advance\dimen42 by.5\wd1\read\count20 to\zeIle%
+\dimen43=\zeIle%
+%\advance\dimen43 by.5\wd1%
+\dimen9\dimen40\dimen10\dimen41\dimen12\dimen42%
+\dimen13\dimen43\dimen40\dimen42\dimen41\dimen43%
+\docOnnect\read\count20 to\zeIle\count29=\zeIle\relax%
+\ifnum\count29>-1 \alfIne\immediate\closein\count20\relax}%
+%
+\def\helpdOcurve{%
+\dimen30\dimen32\dimen31\dimen33\count31=\count33%
+\dimen32\dimen34\dimen33\dimen35\count33=\count35%
+\dimen40\dimen42\dimen41\dimen43\count41=\count43%
+\dimen34\dimen12\dimen35\dimen13\count35=\count37%
+\dimen42\dimen34\dimen43\dimen35\count43=\count35}%
+%
+\def\reallydOcurve{%
+\ifnum\count33=2 \dimen31\dimen35\dimen30\dimen32%
+\multiply\dimen30 by2\advance\dimen30 by-\dimen34\fi%
+\ifnum\count33=1 \dimen30\dimen34\dimen31\dimen33%
+\multiply\dimen31 by2\advance\dimen31 by-\dimen35\fi%
+\ifnum\count43=2 \dimen45\dimen41\dimen44\dimen42%
+\multiply\dimen44 by2\advance\dimen44 by-\dimen40\fi%
+\ifnum\count43=1 \dimen44\dimen40\dimen45\dimen43%
+\multiply\dimen45 by2\advance\dimen45 by-\dimen41\fi%
+\immediate\write\count21{\the\count33}%
+\immediate\write\count21{\the\dimen32}%
+\immediate\write\count21{\the\dimen33}%
+\advance\count38 by1\relax\dimen11\dimen32%
+\advance\dimen11 by-\dimen34\dimen14\dimen33%
+\advance\dimen14 by-\dimen35\divide\dimen11 by1000%
+\divide\dimen14 by1000\count251\dimen11%
+\multiply\count251 by\count251\count252\dimen14%
+\multiply\count252 by\count252\advance\count252 by\count251%
+\relax\ifnum\count252>\count27 \kreisdOcurve%
+\dimen23\dimen25\dimen24\dimen26\count255=\count251%
+\kreisdOcurve\relax\advance\count255 by\count251\relax%
+\ifnum\count255<6 \advance\dimen25 by\dimen23%
+\divide\dimen25 by2\advance\dimen26 by\dimen24%
+\divide\dimen26 by2\immediate\write\count21{0}%
+\immediate\write\count21{\the\dimen25}%
+\immediate\write\count21{\the\dimen26}%
+\advance\count38 by1\fi\fi\relax}%
+%
+\def\kreisdOcurve{\count251=0\dimen25\dimen32%
+\advance\dimen25 by\dimen34\divide\dimen25 by2%
+\dimen26\dimen33\advance\dimen26 by\dimen35%
+\divide\dimen26 by2\ifnum\count33=2 \dimen36\dimen32%
+\dimen11\dimen34\advance\dimen11 by-\dimen32%
+\dimen14\dimen33\advance\dimen14 by-\dimen35%
+\divide\dimen14 by1000\divide\dimen11 by\dimen14%
+\dimen37\dimen32\advance\dimen37 by-\dimen25%
+\divide\dimen37 by1000\multiply\dimen37 by\dimen11%
+\advance\dimen37 by\dimen26\count251=1\fi\relax%
+\ifnum\count33=1 \dimen37\dimen33\dimen11\dimen33%
+\advance\dimen11 by-\dimen35\dimen14\dimen34%
+\advance\dimen14 by-\dimen32\divide\dimen14 by1000%
+\divide\dimen11 by\dimen14\dimen36\dimen33%
+\advance\dimen36 by-\dimen26\divide\dimen36 by1000%
+\multiply\dimen36 by\dimen11\advance\dimen36 by\dimen25%
+\count251=1\fi\relax\ifnum\count251=0 \dimen11\dimen34%
+\advance\dimen11 by-\dimen32\dimen14\dimen33%
+\advance\dimen14 by-\dimen31\divide\dimen11 by1000%
+\divide\dimen14 by1000\multiply\dimen14 by\dimen11%
+\dimen11\dimen32\advance\dimen11 by-\dimen30%
+\dimen15\dimen35\divide\dimen11 by1000%
+\advance\dimen15 by-\dimen33\divide\dimen15 by1000%
+\multiply\dimen11 by\dimen15\advance\dimen11 by-\dimen14%
+\absdOcurve\ifdim\dimen11<.5\pt \dimen15\dimen25%
+\advance\dimen15 by-\dimen32\divide\dimen15 by1000%
+\dimen14\dimen26\advance\dimen14 by-\dimen33%
+\divide\dimen14 by1000\multiply\dimen15 by\dimen15%
+\multiply\dimen14 by\dimen14\advance\dimen15 by\dimen14%
+\count4\dimen15\rOot\count251=\count3%
+\multiply\count251 by1000\dimen15\dimen32%
+\advance\dimen15 by-\dimen30\dimen14\dimen33%
+\advance\dimen14 by-\dimen31\divide\dimen15 by1000%
+\divide\dimen14 by1000\count4\dimen15%
+\multiply\count4 by\count4\count3\dimen14%
+\multiply\count3 by\count3\advance\count4 by\count3\rOot%
+\divide\count251 by\count3\multiply\dimen15 by\count251%
+\multiply\dimen14 by\count251\advance\dimen15 by\dimen32%
+\advance\dimen14 by\dimen33\advance\dimen25 by\dimen15%
+\advance\dimen26 by\dimen14\divide\dimen25 by2%
+\divide\dimen26 by2\relax\count251=2\ifdim\dimen11=0\em %
+\count251=3\fi\fi\fi\relax%
+\ifnum\count251=0 \dimen36\dimen32\count252=\count33\relax%
+\ifnum\count252=0 \dimen11\dimen31%
+\advance\dimen11 by-\dimen33\absdOcurve%
+\ifdim\dimen11<\dimen0 \count252=2\dimen36\dimen30%
+\advance\dimen36 by\dimen32\divide\dimen36 by2\fi\fi%
+\dimen11\dimen32\advance\dimen11 by-\dimen34%
+\dimen14\dimen35\advance\dimen14 by-\dimen33%
+\ifnum\count252=0 \dimen15\dimen14\relax%
+\ifdim\dimen15<0\em \multiply\dimen15 by-1\fi\relax%
+\ifdim\dimen15<\dimen0 \dimen36\dimen32%
+\advance\dimen36 by\dimen34\divide\dimen36 by2%
+\dimen11\dimen30\advance\dimen11 by-\dimen32%
+\dimen14\dimen33\advance\dimen14 by-\dimen31%
+\dimen25\dimen30\advance\dimen25 by\dimen32%
+\divide\dimen25 by2\dimen26\dimen31%
+\advance\dimen26 by\dimen33\divide\dimen26 by2%
+\count252=2\fi\fi\relax%
+\ifnum\count252=2 \divide\dimen14 by1000%
+\divide\dimen11 by\dimen14\dimen37\dimen36%
+\advance\dimen37 by-\dimen25\divide\dimen37 by1000%
+\multiply\dimen37 by\dimen11\advance\dimen37 by\dimen26%
+\dimen25\dimen32\advance\dimen25 by\dimen34%
+\divide\dimen25 by2\dimen26\dimen33%
+\advance\dimen26 by\dimen35\divide\dimen26 by2\fi%
+\ifnum\count252=1 \dimen37\dimen33\divide\dimen11 by1000%
+\divide\dimen14 by\dimen11\dimen36\dimen26%
+\advance\dimen36 by-\dimen37\divide\dimen36 by1000%
+\multiply\dimen36 by\dimen14\advance\dimen36 by\dimen25\fi%
+\ifnum\count252=0 \dimen19\dimen31%
+\advance\dimen19 by-\dimen35\dimen15\dimen34%
+\dimen37\dimen19\relax%
+\ifdim\dimen37<0\em \multiply\dimen37 by-1\fi\relax%
+\ifdim\dimen37<\dimen0 \dimen36\dimen34%
+\advance\dimen36 by\dimen30\divide\dimen36 by2%
+\advance\dimen15 by-\dimen32\dimen19\dimen33%
+\advance\dimen19 by-\dimen35\divide\dimen19 by1000%
+\dimen37\dimen36\divide\dimen15 by\dimen19%
+\advance\dimen37 by-\dimen25\divide\dimen37 by1000%
+\multiply\dimen37 by\dimen15\advance\dimen37 by\dimen26%
+\else\advance\dimen15 by-\dimen30\divide\dimen14 by1000%
+\divide\dimen19 by1000\dimen21\dimen34%
+\advance\dimen21 by\dimen30\divide\dimen21 by2%
+\dimen22\dimen35\advance\dimen22 by\dimen31%
+\divide\dimen22 by2\divide\dimen11 by\dimen14%
+\divide\dimen15 by\dimen19\count253\dimen11%
+\count254\dimen15\dimen36\dimen25\divide\dimen36 by1000%
+\multiply\dimen36 by\count253\divide\dimen21 by1000%
+\multiply\dimen21 by\count254\advance\dimen36 by-\dimen21%
+\advance\dimen36 by\dimen22\advance\dimen36 by-\dimen26%
+\advance\count253 by-\count254\divide\dimen36 by\count253%
+\dimen37\dimen36\multiply\dimen36 by1000%
+\multiply\dimen37 by\count254\advance\dimen37 by-\dimen21%
+\advance\dimen37 by\dimen22\fi\fi\fi\relax%
+\ifnum\count251<2 \dimen11\dimen36%
+\advance\dimen11 by-\dimen32\absdOcurve\dimen14\dimen11%
+\dimen11\dimen37\advance\dimen11 by-\dimen33\absdOcurve%
+\ifdim\dimen11<\dimen14 \dimen15\dimen11\dimen11\dimen14%
+\dimen14\dimen15\fi\count48=1000\divide\dimen11 by1000%
+\divide\dimen14 by1000\relax%
+\ifdim\dimen11>.1\pt \divide\dimen11 by10%
+\divide\dimen14 by10\multiply\count48 by10\fi\relax%
+\ifdim\dimen11>.1\pt \divide\dimen11 by10%
+\divide\dimen14 by10\multiply\count48 by10\fi\relax%
+\ifdim\dimen11>.1\pt \divide\dimen11 by10%
+\divide\dimen14 by10\multiply\count48 by10\fi\relax%
+\ifdim\dimen11>.1\pt \divide\dimen11 by10%
+\divide\dimen14 by10\multiply\count48 by10\fi\relax%
+\ifdim\dimen11>.1\pt \divide\dimen11 by10%
+\divide\dimen14 by10\multiply\count48 by10\fi\relax%
+\multiply\dimen11 by\dimen11\multiply\dimen14 by\dimen14%
+\advance\dimen11 by\dimen14\count4\dimen11\rOot%
+\multiply\count3 by1000\count252=\count3\dimen11\dimen25%
+\advance\dimen11 by-\dimen36\divide\dimen11 by\count48%
+\count4\dimen11\multiply\count4 by\count4\dimen14\dimen26%
+\advance\dimen14 by-\dimen37\divide\dimen14 by\count48%
+\count3\dimen14\multiply\count3 by\count3%
+\advance\count4 by\count3\rOot\divide\count252 by\count3%
+\relax\ifnum\count252=1000 \relax\else\ifnum\count48>1000 %
+\divide\count48 by1000\multiply\dimen11 by\count48%
+\multiply\dimen14 by\count48\fi%
+\multiply\dimen11 by\count252\dimen25\dimen36%
+\dimen26\dimen37\advance\dimen25 by\dimen11%
+\multiply\dimen14 by\count252\advance\dimen26 by\dimen14%
+\fi\fi\dimen11\dimen32\dimen32\dimen42\dimen42\dimen11%
+\dimen11\dimen34\dimen34\dimen40\dimen40\dimen11%
+\dimen11\dimen33\dimen33\dimen43\dimen43\dimen11%
+\dimen11\dimen35\dimen35\dimen41\dimen41\dimen11%
+\dimen11\dimen30\dimen30\dimen44\dimen44\dimen11%
+\dimen11\dimen31\dimen31\dimen45\dimen45\dimen11%
+\count4=\count33\count33=\count43\count43=\count4}%
+%
+\def\lsqline#1{\ownsymbol{\kern.02\em{\tt x}}\count1=2%
+\count0=0\count30=0\count34=0\count32=0\count33=0\relax#1%
+\nosymbol\count31=\count34\divide\count31 by1000%
+\divide\count31 by\count0\divide\count32 by\count31%
+\multiply\count32 by-1000\advance\count32 by\count30%
+\divide\count33 by\count31\multiply\count33 by-1000%
+\advance\count33 by\count34\multiply\count32 by10%
+\divide\count33 by100\divide\count32 by\count33% 1000 slope
+\multiply\count31 by\count32\divide\count30 by\count0%
+\advance\count30 by-\count31% intercept
+\dimen12=0\em\dimen13=\count30sp\relax%
+\ifdim\dimen13>\dimen4 \dimen12\dimen4%
+\advance\dimen12 by-\dimen13\dimen13\dimen4%
+\multiply\dimen12 by1000\divide\dimen12 by\count32\fi%
+\ifdim\dimen13<0\em \dimen12-\dimen13\dimen13=0\em%
+\multiply\dimen12 by1000\divide\dimen12 by\count32\fi%
+\advance\dimen13 by\dimen6\advance\dimen12 by\dimen5%
+\dimen9\dimen3\count40\dimen9\divide\count40 by1000%
+\multiply\count40 by\count32\advance\count40 by\count30%
+\dimen10=\count40sp\relax%
+\ifdim\dimen10>\dimen4 \dimen9\dimen4\dimen10\dimen4%
+\advance\dimen9 by-\count30sp\multiply\dimen9 by1000%
+\divide\dimen9 by\count32\fi%
+\ifdim\dimen10<0\em \dimen9-\count30sp\dimen10=0\em%
+\multiply\dimen9 by1000\divide\dimen9 by\count32\fi%
+\advance\dimen10 by\dimen6\advance\dimen9 by\dimen5%
+\docOnnect}%
+%
+\def\dacApo#1\alfIne{\def\dacApoalfine{#1}\dacApoal}%
+%
+\def\dacApoal{\dacApoalfine\let\fIne\dacApoal\else%
+\let\fIne\relax\fi\fIne}%
+%
+\def\rOot{\count3=\count4\divide\count3 by4%
+\ifnum\count3>0 \rOo\fi}%
+% Compute \count3=sqrt(\count4) by a recursion formula.
+\def\rOo{\roOt\let\roOz\rOo\else\let\roOz\relax\fi\roOz}%
+\def\roOt{\count5=\count4\divide\count5 by\count3%
+\advance\count5 by\count3\count6=\count5\divide\count6 by2%
+\advance\count6 by5\ifnum\count3>\count6 \count3=\count5%
+\divide\count3 by2\relax}%
+%
+\def\docOnnect{\ifdim\dimen9=\dimen12%
+\advance\dimen12 by.5\wd2\advance\dimen10 by.5\dp2%
+\advance\dimen10 by.5\ht2\advance\dimen13 by.5\dp2%
+\advance\dimen13 by.5\ht2\kern\dimen12%
+\ifdim\dimen10>\dimen13 \advance\dimen13 by-\dimen0%
+\vrule width\dimen0 height\dimen10 depth-\dimen13\else%
+\advance\dimen10 by-\dimen0%
+\vrule width\dimen0 height\dimen13 depth-\dimen10\fi%
+\kern-\dimen0\kern-\dimen12\else\ifdim\dimen10=\dimen13 %
+\advance\dimen12 by.5\wd2\advance\dimen9 by.5\wd2%
+\ifdim\dimen9>\dimen12 \dimen10\dimen9\dimen9\dimen12%
+\dimen12\dimen10\fi\advance\dimen12 by-\dimen9%
+\advance\dimen13 by.5\dp2\advance\dimen13 by.5\ht2%
+\dimen10\dimen13\advance\dimen10 by-\dimen0\kern\dimen9%
+\vrule width\dimen12 height\dimen13 depth-\dimen10%
+\kern-\dimen9\kern-\dimen12\else\dotcOnnect\fi\fi}%
+%
+\def\dotcOnnect{\dimen16\dimen9\advance\dimen16 by-\dimen12%
+\divide\dimen16 by10000\dimen17\dimen10%
+\advance\dimen17 by-\dimen13\divide\dimen17 by10000%
+\count3\dimen16\multiply\count3 by\dimen16%
+\count4\dimen17\multiply\count4 by\dimen17%
+\advance\count4 by\count3\rOot\count2=0\count4=10000%
+\advance\count4 by-\count2\count6=\wd1%
+\multiply\count6 by2\divide\count6 by3%
+\divide\count6 by\count3\advance\dimen13 by.5\dp2%
+\advance\dimen12 by.5\wd2\advance\dimen13 by.5\ht2%
+\kern\dimen12\loop\dimen32=0\em%
+\advance\dimen32 by\count2\dimen16\dimen18\dimen13%
+\advance\dimen18 by\count2\dimen17\kern\dimen32%
+\raise\dimen18\copy1\kern-\wd1\kern-\dimen32%
+\advance\count2 by\count6%
+\ifnum\count2<\count4 \repeat\kern-\dimen12}%
+%
+\def\hpoint#1;{\ifnum\count1<3 \messAge{\hpointIgnored}%
+\else\count29=2\point#1;\fi}%
+%
+\def\vpoint#1;{\ifnum\count1<3 \messAge{\vpointIgnored}%
+\else\count29=1\point#1;\fi}%
+%
+\def\point#1.#2,#3.#4;{\dimen9=#1.#2\pt\dimen10\dimen63%
+\advance\dimen9 by-\dimen61%
+\relax\count9\dimen9\count2\dimen10\multiply\count9 by10%
+\count3=\count9\divide\count3 by\count2%
+\count11=\count2\multiply\count11 by\count3%
+\advance\count9 by-\count11\multiply\count9 by10%
+\count4=\count9\divide\count4 by\count2%
+\count11=\count2\multiply\count11 by\count4%
+\advance\count9 by-\count11\multiply\count9 by10%
+\count5=\count9\divide\count5 by\count2%
+\count11=\count2\multiply\count11 by\count5%
+\advance\count9 by-\count11\multiply\count9 by10%
+\count6=\count9\divide\count6 by\count2%
+\count11=\count2\multiply\count11 by\count6%
+\advance\count9 by-\count11\multiply\count9 by10%
+\count7=\count9\divide\count7 by\count2%
+\count11=\count2\multiply\count11 by\count7%
+\advance\count9 by-\count11\multiply\count9 by10%
+\count8=\count9\divide\count8 by\count2%
+\dimen9\dimen5\dimen10\dimen3%
+\divide\dimen10 by10\advance\dimen9 by\count3\dimen10%
+\divide\dimen10 by10\advance\dimen9 by\count4\dimen10%
+\divide\dimen10 by10\advance\dimen9 by\count5\dimen10%
+\divide\dimen10 by10\advance\dimen9 by\count6\dimen10%
+\divide\dimen10 by10\advance\dimen9 by\count7\dimen10%
+\divide\dimen10 by10\advance\dimen9 by\count8\dimen10%
+\dimen30\dimen9\advance\dimen30 by-\dimen5%
+\advance\dimen9 by-.5\wd2%
+\dimen10=#3.#4\pt\dimen11\dimen64%
+\advance\dimen10 by-\dimen62%
+\count9\dimen10\count2\dimen11\multiply\count9 by10%
+\count3=\count9\divide\count3 by\count2%
+\count11=\count2\multiply\count11 by\count3%
+\advance\count9 by-\count11\multiply\count9 by10%
+\count4=\count9\divide\count4 by\count2%
+\count11=\count2\multiply\count11 by\count4%
+\advance\count9 by-\count11\multiply\count9 by10%
+\count5=\count9\divide\count5 by\count2%
+\count11=\count2\multiply\count11 by\count5%
+\advance\count9 by-\count11\multiply\count9 by10%
+\count6=\count9\divide\count6 by\count2%
+\count11=\count2\multiply\count11 by\count6%
+\advance\count9 by-\count11\multiply\count9 by10%
+\count7=\count9\divide\count7 by\count2%
+\count11=\count2\multiply\count11 by\count7%
+\advance\count9 by-\count11\multiply\count9 by10%
+\count8=\count9\divide\count8 by\count2%
+\dimen10\dimen6\dimen11\dimen4%
+\divide\dimen11 by10\advance\dimen10 by\count3\dimen11%
+\divide\dimen11 by10\advance\dimen10 by\count4\dimen11%
+\divide\dimen11 by10\advance\dimen10 by\count5\dimen11%
+\divide\dimen11 by10\advance\dimen10 by\count6\dimen11%
+\divide\dimen11 by10\advance\dimen10 by\count7\dimen11%
+\divide\dimen11 by10\advance\dimen10 by\count8\dimen11%
+\dimen32\dimen10\advance\dimen32 by-\dimen6%
+\advance\dimen10 by-.5\ht2\advance\dimen10 by-.5\dp2%
+\raise\dimen10\hbox to\dimen1{\kern\dimen9\copy2\hss}%
+\kern-\dimen1%
+%
+\ifnum\count1=2 \advance\count0 by1\count11\dimen30%
+\advance\count34 by\count11\divide\count11 by1000%
+\count13\dimen32\advance\count30 by\count13\count3=\count11%
+\multiply\count3 by\count11\advance\count33 by\count3%
+\divide\count13 by1000\multiply\count13 by\count11%
+\advance\count32 by\count13\fi\relax%
+%
+\ifnum\count1=3 \advance\dimen32 by\dimen6%
+\advance\dimen30 by\dimen5%
+\immediate\write\eIns{\the\count29}%
+\advance\dimen30 by-.5\dimen0%
+\immediate\write\eIns{\the\dimen30}%
+\advance\dimen32 by.5\dimen0%
+\immediate\write\eIns{\the\dimen32}\advance\count0 by1%
+\ifnum\count0=2 \dimen30\dimen12\dimen32\dimen13\fi\fi%
+\relax%
+%
+\ifnum\count1=1 \ifnum\count0=0 \count0=1\else%
+\dimen30\dimen9\dimen31\dimen10\docOnnect\dimen10\dimen31%
+\dimen9\dimen30\fi\fi%
+%
+\dimen12\dimen9\dimen13\dimen10\count19=\count29\count29=0}%
+%
+\def\nomOrediagrams{\def\nogrid{}\def\noscale{}%
+\def\noaxis{}\def\xaxis{}\def\yaxis{}\def\printsymbol{}%
+\def\ownsymbol{}\def\symbol{}\def\nosymbol{}\def\values{}%
+\def\curve{}\def\rOot{}\def\connect{}\def\absdOcurve{}%
+\def\dOcurve{}\def\helpdOcurve{}\def\reallydOcurve{}%
+\def\lsqline{}\def\dacApo\alfIne{}\def\rOo{}\def\roOt{}%
+\def\dacApoal{}\def\docOnnect{}\def\dotcOnnect{}%
+\def\hpoint{}\def\vpoint{}\def\point{}\def\diagram{}%
+\ifnum\count17=\zwEi \global\advance\count17 by-2\fi}%
+%
+\def\nomorediagrams{\nomOrediagrams\def\nomOrediagrams{}}%
+%
+\def\diagram#1#2{\hbox{\tenrm%
+\catcode`\ 9\catcode`\^^M9\catcode`\^^I9%
+\dimendef\em250\em1em\dimendef\pt249\pt1pt%
+\dimen252\fontdimen2\tenrm\fontdimen2\tenrm0\em%
+\dimen253\fontdimen3\tenrm\fontdimen3\tenrm0\em%
+\dimen254\fontdimen4\tenrm\fontdimen4\tenrm0\em%
+\dimen255\fontdimen7\tenrm\fontdimen7\tenrm0\em%
+\dimen251\parindent\parindent0\em%
+\count0=1% grid flag, point counter
+\count1=0% axis definition counter, curve type selector
+\count20=0% axis marker
+\count30=1% xaxis scaling marker
+\count40=1% yaxis scaling marker
+\count31=1% xaxis printing marker
+\count41=1% yaxis printing marker
+\dimen44=.07\em% stroke thickness
+\dimen1=0\em% xlength
+\dimen2=0\em% ylength
+\dimen0\dimen44%
+\setbox4\hbox{-}#1\setbox2\hbox{0}\ifnum\count1=3 %
+\vbox to\dimen2{\dimen5\dimen1\advance\dimen5 by-\dimen3%
+\dimen6\dimen2\advance\dimen6 by-\dimen4%
+\hbox to\dimen1{%
+ \vbox to\dimen2{%
+ \ifdim\wd1>0\em \hbox to\wd1{\hss$\Bigl\uparrow$\hss}%
+ \vskip2\em\box1\fi\vfill\hbox to\dimen1{\hfill\box0}%
+ }%
+ \kern-\dimen1\ifnum\count41=0 \dimen0=0\em\fi%
+ \raise\dimen2\hbox to\dimen1{\hfill%
+ \vrule width\dimen0 depth\dimen4 height0\em\kern\dimen3}%
+ \kern-\dimen1\dimen0\dimen44\ifnum\count31=0 %
+ \dimen0=0\em\fi\raise\dimen6\hbox to\dimen1{\hfill%
+ \advance\dimen3 by\dimen0%
+ \vrule width\dimen3 height0\em depth\dimen0}\kern-\dimen1%
+ \count19=0\advance\dimen8 by-1.5\em\xaxIs\dimen0\dimen44%
+ \ifnum\count31=0 \dimen0=0\em\else\divide\dimen0 by2\fi%
+ \advance\dimen1 by-.5\dimen7\advance\dimen3 by-.5\dimen7%
+ \advance\dimen4 by-.5\ht2\dimen9=0\em%
+ \ifnum\count0=1 \dimen9\dimen4\fi\raise\dimen6%
+ \hbox to\dimen1{\kern\dimen5\loop%
+ \vrule width\dimen0 depth.3\em height\dimen9%
+ \ifnum\count12<\count14 \advance\count12 by\count16\hss%
+ \else\count19=1\fi\relax\ifnum\count19<1 \repeat%
+ }\kern-\dimen1\dimen10\dimen6\advance\dimen10 by-.5\ht2 %
+ \dimen0\dimen44\ifnum\count41=0 \dimen0=0\em\else%
+ \divide\dimen0 by2\fi\yaxIs\dimen9=.3\em\ifnum\count0=1%
+ \advance\dimen9 by\dimen3\fi\raise\dimen6%
+ \hbox to\dimen1{\kern\dimen5\kern-.3\em%
+ \vbox to\dimen4{\count19=0\count29=0%
+ \setbox1\hbox{%
+ \vrule width\dimen9 depth\dimen0 height0\em}%
+ \loop\advance\count19 by1%
+ \advance\count22 by\count26\ifnum\count22<\count24 %
+ \else\count29=1\fi\relax\ifnum\count29=0 \repeat%
+ \loop\copy1\advance\count19 by-1\relax%
+ \ifnum\count19>0 \vss\repeat}%
+ \hfill}\kern-\dimen1\dimen0\dimen44%
+ \setbox1\hbox{\vrule width\dimen0 height0\em depth\dimen0}%
+ \count9=\count14\divide\count9 by\count18\count15=\count9%
+ \multiply\count15 by-\count18\advance\count15 by\count14%
+ \relax\ifnum\count15<0 \multiply\count15 by-1\fi\relax%
+ \count3=\count18\divide\count3 by10%
+ \setbox3\hbox{\the\count3}%
+ \dimen39=.\number\count15\pt\relax%
+ \setbox4\hbox{\the\count15}\relax\ifdim\wd3=\wd4 \else%
+ \setbox4\hbox{0\the\count15}\relax\ifdim\wd3=\wd4 %
+ \divide\dimen39 by10\relax\else%
+ \setbox4\hbox{00\the\count15}\relax\ifdim\wd3=\wd4 %
+ \divide\dimen39 by100\relax\else%
+ \setbox4\hbox{000\the\count15}\relax\ifdim\wd3=\wd4 %
+ \divide\dimen39 by1000\relax\else%
+ \setbox4\hbox{0000\the\count15}\relax\ifdim\wd3=\wd4 %
+ \divide\dimen39 by10000\relax\else%
+ \setbox4\hbox{00000\the\count15}\relax\ifdim\wd3=\wd4 %
+ \divide\dimen39 by100000\relax\fi\fi\fi\fi\fi\fi%
+ \ifnum\count9<0 \multiply\dimen39 by-1\fi\relax%
+ \advance\dimen39 by\count9\pt\relax%
+ \count9=\count24\divide\count9 by\count28\count25=\count9%
+ \multiply\count25 by-\count28\advance\count25 by\count24%
+ \relax\ifnum\count25<0 \multiply\count25 by-1\fi\relax%
+ \count3=\count28\divide\count3 by10%
+ \setbox5\hbox{\the\count3}%
+ \dimen49=.\number\count25\pt\relax%
+ \setbox4\hbox{\the\count25}\relax\ifdim\wd5=\wd4 \else%
+ \setbox4\hbox{0\the\count25}\relax\ifdim\wd5=\wd4 %
+ \divide\dimen49 by10\relax\else%
+ \setbox4\hbox{00\the\count25}\relax\ifdim\wd5=\wd4 %
+ \divide\dimen49 by100\relax\else%
+ \setbox4\hbox{000\the\count25}\relax\ifdim\wd5=\wd4 %
+ \divide\dimen49 by1000\relax\else%
+ \setbox4\hbox{0000\the\count25}\relax\ifdim\wd5=\wd4 %
+ \divide\dimen49 by10000\relax\else%
+ \setbox4\hbox{00000\the\count25}\relax\ifdim\wd5=\wd4 %
+ \divide\dimen49 by100000\relax\fi\fi\fi\fi\fi\fi%
+ \ifnum\count9<0 \multiply\dimen49 by-1\fi\relax%
+ \advance\dimen49 by\count9\pt\relax#2\hss}%
+}\else\messAge{\diagramIgnored}\fi%
+\fontdimen2\tenrm\dimen252\fontdimen3\tenrm\dimen253%
+\fontdimen4\tenrm\dimen254\fontdimen7\tenrm\dimen255%
+\parindent\dimen251}}%
+%
+\def\xaxIs{\ifnum\count30=1 \raise\dimen8\hbox to\dimen1{%
+\kern\dimen5\kern-.5\dimen7\loop\count11=\count12%
+\divide\count11 by\count18\count13=\count11%
+\multiply\count13 by-\count18\advance\count13 by\count12%
+\relax\ifnum\count13<0 \multiply\count13 by-1\fi%
+\ifnum\count11<0 \multiply\count11 by-1\fi%
+\setbox0\hbox{\the\count13}%
+\ifdim\wd0<\dimen13 \setbox0\hbox{0\the\count13}\fi%
+\ifdim\wd0<\dimen13 \setbox0\hbox{00\the\count13}\fi%
+\ifdim\wd0<\dimen13 \setbox0\hbox{000\the\count13}\fi%
+\ifdim\wd0<\dimen13 \setbox0\hbox{0000\the\count13}\fi%
+\ifdim\wd0<\dimen13 \setbox0\hbox{00000\the\count13}\fi%
+\ifdim\wd0<\dimen13 \setbox0\hbox{000000\the\count13}\fi%
+\hbox to\dimen7{%
+\hss\ifnum\count12<0 $-$\fi\number\count11.\box0}%
+\ifnum\count12<\count14 \advance\count12 by\count16\hss%
+\else\count19=1\fi\relax\ifnum\count19<1 \repeat%
+}\kern-\dimen1\fi}%
+%
+\def\yaxIs{\ifnum\count40=1 \raise\dimen10%
+\hbox to\dimen5{\advance\dimen4 by\ht2%
+\vbox to\dimen4{\count19=0\count29=0\loop%
+\advance\count19 by1\count11=\count22%
+\divide\count11 by\count28\count23=\count11%
+\multiply\count23 by-\count28\advance\count23 by\count22%
+\relax\ifnum\count23<0 \multiply\count23 by-1\fi%
+\ifnum\count11<0 \multiply\count11 by-1\fi%
+\setbox0\hbox{\the\count23}%
+\ifdim\wd0<\dimen14 \setbox0\hbox{0\the\count23}\fi%
+\ifdim\wd0<\dimen14 \setbox0\hbox{00\the\count23}\fi%
+\ifdim\wd0<\dimen14 \setbox0\hbox{000\the\count23}\fi%
+\ifdim\wd0<\dimen14 \setbox0\hbox{0000\the\count23}\fi%
+\ifdim\wd0<\dimen14 \setbox0\hbox{00000\the\count23}\fi%
+\ifdim\wd0<\dimen14 \setbox0\hbox{000000\the\count23}\fi%
+\setbox\count19\hbox to\dimen5{\hfill%
+\ifnum\count22<0 $-$\fi\number\count11.\box0\kern.5\em}%
+\advance\count22 by\count26\ifnum\count22<\count24 %
+\else\count29=1\fi\relax\ifnum\count29=0 \repeat%
+\loop\box\count19\advance\count19 by-1\relax%
+\ifnum\count19>0 \vss\repeat}%
+}\kern-\dimen5\fi}%
diff --git a/info/digests/tex88/ramek/struct.def b/info/digests/tex88/ramek/struct.def
new file mode 100644
index 0000000000..f575985c25
--- /dev/null
+++ b/info/digests/tex88/ramek/struct.def
@@ -0,0 +1,703 @@
+{\catcode`\|=0 |catcode`|\=12 |obeyspaces |let|m=|message
+|m{ }
+|m{ These macros may be used free of charge and without authorization }
+|m{ for scientific work only. Written permission is required for any }
+|m{ commercial use. If used in publications, citation similar to the }
+|m{ following reference is required: }
+|m{ }
+|m{ Michael Ramek, }
+|m{ ``Chemical Structure Formul\ae\ and x/y-Diagrams with \TeX'', }
+|m{ in }
+|m{ ``\TeX: Applications, Uses, Methods, Proceedings of the \TeX88 }
+|m{ Conference'', }
+|m{ edited by Malcolm Clark, }
+|m{ published by Ellis Horwood Publishers, Chichester, UK, }
+|m{ pages 227--258 }
+|m{ }
+|m{ Questions and inquiries should be addressed to the author: }
+|m{ }
+|m{ Michael Ramek }
+|m{ Institut f\"ur Physikalische und Theoretische Chemie, }
+|m{ Technische Universit\"at Graz }
+|m{ Rechbauerstra{\ss}e 12 }
+|m{ A--8010 Graz }
+|m{ Austria }
+|m{ }|m{}}
+\newhelp\maxsIde{mproper nesting of side chains!}%
+\newhelp\aromatsideIgnored%
+{ncomplete aromatic system in side chain ignored!}%
+\newhelp\bicycloIgnored%
+{mproper bicyclo definition ignored!}%
+\newhelp\aromatIgnored{ncomplete aromatic system ignored!}%
+\def\messAge#1{\escapechar`I%
+\message{\the#1}\escapechar`\\}%
+%
+\def\atom#1{\sAve{#1}\adjustAtom}%
+\def\phantatom#1{\sAve{#1}\phAntbox\adjustAtom}%
+\def\adjustAtom{\advance\dimen0 by-\dimen6\ifnum\count23=1 %
+\halfbAck\else\ifnum\count23=2 \fullbAck\fi\fi%
+\raise\dimen1\box0\ifdim\dimen0<\dimen3 %
+\dimen3\dimen0\fi\advance\dimen0 by\dimen6%
+\dimen42\baselineskip\dimen52=\count33sp%
+\advance\dimen42 by\dimen1\advance\dimen52 by-\dimen1%
+\vrule width0\em height\dimen42 depth\dimen52\count23=0}%
+%
+\def\epin#1{\setbox0\hbox{#1}\ifnum\count13=0 \phAntbox\fi%
+\raise\dimen1\copy0\kern-\wd0\advance\dimen0 by\wd0\relax%
+\ifdim\dimen0>\dimen2 \dimen2\dimen0\fi%
+\advance\dimen0 by-\wd0}%
+\def\wpin#1{\kern-\dimen6\setbox0\hbox{#1}%
+\ifnum\count13=0 \phAntbox\fi%
+\kern-\wd0\advance\dimen0 by-\wd0\advance\dimen0 by-\dimen6%
+\relax\ifdim\dimen0<\dimen3 \dimen3\dimen0\fi%
+\advance\dimen0 by\dimen6\advance\dimen0 by\wd0%
+\raise\dimen1\box0\kern\dimen6}%
+\def\spin#1{\kern-.5\dimen6\setbox0\hbox{#1}%
+\ifnum\count13=0 \phAntbox\fi%
+\kern-.5\wd0\advance\dimen1 by-\ht0\advance\dimen1 by-\dp0%
+\advance\dimen1 by-.2\em\raise\dimen1\copy0%
+\advance\dimen1 by\ht0\advance\dimen1 by\dp0%
+\advance\dimen1 by.2\em\kern-.5\wd0\kern.5\dimen6}%
+\def\npin#1{\kern-.5\dimen6\setbox0\hbox{#1}%
+\ifnum\count13=0 \phAntbox\fi%
+\kern-.5\wd0\advance\dimen1 by\ht0\advance\dimen1 by\dp0%
+\advance\dimen1 by.2\em\raise\dimen1\copy0%
+\advance\dimen1 by-\ht0\advance\dimen1 by-\dp0%
+\advance\dimen1 by-.2\em\kern-.5\wd0\kern.5\dimen6}%
+%
+\def\sAve#1{\setbox0\hbox{#1}%
+\dimen5\ht0\advance\dimen5 by\dp0\dimen6\wd0%
+\advance\dimen4 by\wd0\advance\dimen0 by\wd0%
+\relax\ifdim\dimen0>\dimen2 \dimen2\dimen0\fi%
+\ifnum\count13=0 \phAntbox\fi}%
+\def\phAntbox{\dimen12\ht0\advance\dimen12 by-\dp0%
+\dimen13-\ht0\advance\dimen13 by\dimen12%
+\dimen12-\dimen12\advance\dimen12 by-\dp0%
+\setbox0\hbox{%
+\vrule width\dimen6 height\dimen12 depth\dimen13}}%
+%
+\def\side#1{\ifnum\count11>20 \messAge{\maxsIde}\else%
+\advance\count11 by1\count21=\count11\multiply\count21 by10%
+\count31=\count21\advance\count31 by10%
+\loop\count41=\count31\advance\count41 by-10\relax%
+\ifnum\count41>0 \dimen\count31\dimen\count41%
+\advance\count31 by-1\repeat%
+\count31=\count21\advance\count31 by20%
+\loop\count41=\count31\advance\count41 by-10\relax%
+\ifnum\count41>10 \count\count31=\count\count41%
+\advance\count31 by-10\repeat%
+\dimen4=0\em\count20=0 #1\kern-\dimen4%
+\advance\dimen0 by-\dimen4\dimen1\dimen11%
+\count31=4\advance\count21 by1%
+\loop\count41=\count31\advance\count41 by10%
+\ifnum\count31<\count21 \dimen\count31\dimen\count41%
+\advance\count31 by1\repeat\advance\count21 by20%
+\count31=20\ifnum\count20>0 \messAge{\aromatsideIgnored}%
+\fi\loop\count41=\count31\advance\count41 by10\relax%
+\ifnum\count41<\count21 \count\count31=\count\count41%
+\advance\count31 by10\repeat\advance\count11 by-1\fi}%
+%
+\def\fullbAck{\advance\dimen4 by-\dimen6%
+\advance\dimen0 by-\dimen6\kern-\dimen6}%
+\def\halfbAck{\advance\dimen4 by-.5\dimen6%
+\advance\dimen0 by-.5\dimen6\kern-.5\dimen6}%
+\def\nestrIch{\ifnum\count83=0 \setbox83\hbox{\count12=0%
+\dimen12=.65\em\kern.09\em\loop\dimen13\dimen12%
+\advance\dimen13 by-.06\em%
+\vrule height\dimen12 depth-\dimen13 width.012\em%
+\advance\dimen12 by.0083\em\advance\count12 by1\relax%
+\ifnum\count12<50 \repeat%
+\kern.09\em}\count83=1\fi\sAve{\copy83}}%
+\def\nwstrIch{\ifnum\count93=0 \setbox93\hbox{\count12=0%
+\dimen12=.65\em\kern.09\em\loop\dimen13\dimen12%
+\advance\dimen13 by-.06\em%
+\vrule height\dimen12 depth-\dimen13 width.012\em%
+\advance\dimen12 by-.0083\em\advance\count12 by1\relax%
+\ifnum\count12<50 \repeat\kern.09\em}%
+\count93=1\fi\sAve{\copy93}}%
+\def\dotbackslAsh{\setbox1\hbox{.}\raise.65\em\copy1%
+\kern-.15\em\raise.425\em\copy1%
+\kern-.15\em\raise.2\em\copy1%
+\kern-.15\em\lower.025\em\copy1%
+\kern-.15\em\lower.25\em\box1\kern.08\em}%
+\def\dotslAsh{\setbox1\hbox{.}\lower.25\em\copy1%
+\kern-.15\em\lower.025\em\copy1%
+\kern-.15\em\raise.2\em\copy1%
+\kern-.15\em\raise.425\em\copy1%
+\kern-.15\em\raise.65\em\box1\kern.08\em}%
+\def\nnepfEil{\ifnum\count13=0 \sAve{%
+\vrule height0\em width.377838\em}\else%
+\sAve{\kern.09\em\dimen12=.546\em\dimen13-.541\em\relax%
+\loop\ifdim\dimen13<.554\em %
+\vrule width.004\em depth\dimen12 height\dimen13%
+\advance\dimen12 by-.015\em\advance\dimen13 by.05\em\relax%
+\repeat\loop\ifdim\dimen13>-\dimen12 %
+\vrule width.004\em depth\dimen12 height\dimen13%
+\advance\dimen12 by-.015\em\advance\dimen13 by-.0005\em%
+\relax\repeat}\fi}%
+\def\enepfEil{\ifnum\count63=0 %
+\setbox63\hbox{\dimen12=.086\em\dimen13-\dimen12%
+\kern.1\em\loop\advance\dimen12 by-.003\em%
+\advance\dimen13 by.011\em\relax\ifdim\dimen13<.2\em %
+\vrule width\dimen251 depth\dimen12 height\dimen13\repeat%
+\vrule width\dimen251 depth\dimen12 height.1\em%
+\kern.07\em}\count63=1\fi\sAve{\copy63}}%
+\def\esepfEil{\ifnum\count43=0 %
+\setbox43\hbox{\dimen12-.086\em\dimen13-\dimen12%
+\kern.1\em\loop\advance\dimen12 by.003\em%
+\advance\dimen13 by-.011\em\relax\ifdim\dimen13>-.2\em %
+\vrule width\dimen251 depth-\dimen13 height-\dimen12\repeat%
+\vrule width\dimen251 height-\dimen12 depth.1\em%
+\kern.07\em}\count43=1\fi\sAve{\copy43}}%
+\def\ssepfEil{\ifnum\count13=0 %
+\sAve{\vrule height0\em width.377838\em}\else%
+\sAve{\kern.09\em\dimen12=.546\em\dimen13-.541\em%
+\relax\loop\ifdim\dimen13<.554\em %
+\vrule width.004\em height\dimen12 depth\dimen13%
+\advance\dimen12 by-.015\em\advance\dimen13 by.05\em%
+\relax\repeat\loop\ifdim\dimen13>-\dimen12 %
+\vrule width.004\em height\dimen12 depth\dimen13%
+\advance\dimen12 by-.015\em\advance\dimen13 by-.0005\em%
+\relax\repeat}\fi}%
+\def\sswpfEil{\ifnum\count13=0 %
+\sAve{\vrule height0\em width.377838\em}\else%
+\sAve{\dimen12-.5\em\dimen13=.53\em\relax%
+\loop\ifdim\dimen13<.554\em %
+\vrule width.004\em height\dimen12 depth\dimen13%
+\advance\dimen12 by.015\em\advance\dimen13 by.0005\em%
+\relax\repeat\loop\ifdim\dimen12<.546\em %
+\vrule width.004\em height\dimen12 depth\dimen13%
+\advance\dimen13 by-.05\em\advance\dimen12 by.015\em%
+\relax\repeat\kern.05\em}\fi}%
+\def\wswpfEil{\ifnum\count53=0 %
+\setbox53\hbox{\dimen12=0\em\kern.07\em%
+\vrule width\dimen251 depth.1\em height0\em%
+\advance\dimen12 by.003\em\dimen13=.2\em\relax%
+\loop\ifdim\dimen12>-\dimen13 %
+\vrule width\dimen251 depth\dimen13 height\dimen12%
+\advance\dimen12 by.003\em\advance\dimen13 by-.011\em%
+\relax\repeat\kern.1\em}\count53=1\fi\sAve{\copy53}}%
+\def\wnwpfEil{\ifnum\count73=0 %
+\setbox73\hbox{\dimen12=0\em\kern.07\em%
+\vrule width\dimen251 depth0\em height.1\em%
+\advance\dimen12 by.003\em\dimen13=.2\em\relax%
+\loop\ifdim\dimen12>-\dimen13 %
+\vrule width\dimen251 depth\dimen12 height\dimen13%
+\advance\dimen12 by.003\em\advance\dimen13 by-.011\em%
+\relax\repeat\kern.1\em}\count73=1\fi\sAve{\copy73}}%
+\def\nnwpfEil{\ifnum\count13=0 %
+\sAve{\vrule height0\em width.377838\em}\else%
+\sAve{\dimen12-.5\em\dimen13=.53\em\relax%
+\loop\ifdim\dimen13<.554\em %
+\vrule width.004\em depth\dimen12 height\dimen13%
+\advance\dimen12 by.015\em\advance\dimen13 by.0005\em%
+\relax\repeat\loop\ifdim\dimen12<.546\em %
+\vrule width.004\em depth\dimen12 height\dimen13%
+\advance\dimen12 by.015\em\advance\dimen13 by-.05\em%
+\relax\repeat\kern.05\em}\fi}%
+%
+\def\nphantom{\adjUstn\postadjUstn}%
+\def\nsingle{\adjUstn\raise\dimen1\nstrIch\postadjUstn}%
+\def\ndouble{\adjUstn\kern.1\em\raise\dimen1\nstrIch%
+\kern-.2\em\raise\dimen1\nstrIch\kern.1\em\postadjUstn}%
+\def\ntriple{\adjUstn\kern-.2\em\raise\dimen1\nstrIch%
+\kern.2\em\raise\dimen1\nstrIch\kern.2\em%
+\raise\dimen1\nstrIch\kern-.2\em\postadjUstn}%
+\def\adjUstn{\advance\dimen1 by1.111111\dimen5\halfbAck}%
+\def\postadjUstn{\advance\dimen1 by1.352\em\count23=1}%
+\def\nstrIch{\ifnum\count13=0 %
+\hbox{\vrule width0\em height1.19\em depth-.1\em}\else%
+\hbox{\vrule width.04\em height1.19\em depth-.1\em}%
+\kern-.04\em\fi}%
+%
+\def\nneabove{\advance\dimen1 by2.05\dimen5\halfbAck%
+\nnepfEil\raise\dimen1\box0\kern.17\dimen6%
+\advance\dimen4 by.17\dimen6\advance\dimen0 by.17\dimen6%
+\advance\dimen1 by.803\em\count23=1}%
+\def\nneevoba{\advance\dimen1 by2.05\dimen5\halfbAck%
+\sswpfEil\raise\dimen1\box0\kern.34\dimen6%
+\advance\dimen4 by.34\dimen6\advance\dimen0 by.34\dimen6%
+\advance\dimen1 by.803\em\count23=1}%
+\def\nnebelow{\advance\dimen1 by2.05\dimen5\halfbAck%
+\sAve{\setbox1\hbox{.}\lower.555\em\copy1\kern-.23\em%
+\lower.310\em\copy1\kern-.23\em\lower.065\em\copy1%
+\kern-.23\em\raise.180\em\copy1\kern-.23\em%
+\raise.425\em\box1}\raise\dimen1\box0\kern-.05\dimen6%
+\advance\dimen4 by-.05\dimen6%
+\advance\dimen0 by-.05\dimen6\advance\dimen1 by.803\em%
+\count23=1}%
+\def\nnephantom{\halfbAck\sAve{/}\phAntbox\adjUstnne%
+\raise\dimen1\box0\postadjUstnne}%
+\def\nnesingle{\halfbAck\sAve{/}\adjUstnne%
+\raise\dimen1\box0\postadjUstnne}%
+\def\nnedouble{\halfbAck\sAve{/}\adjUstnne%
+\advance\dimen1 by.031\em\kern-.093\em%
+\raise\dimen1\copy0\advance\dimen1 by-.062\em\kern-\wd0%
+\kern.186\em\raise\dimen1\box0\kern-.093\em%
+\advance\dimen1 by.031\em\postadjUstnne}%
+\def\nnetriple{\halfbAck\sAve{/}\adjUstnne%
+\advance\dimen1 by.062\em\kern-.186\em%
+\raise\dimen1\copy0\advance\dimen1 by-.062\em\kern-\wd0%
+\kern.186\em\raise\dimen1\copy0%
+\advance\dimen1 by-.062\em\kern-\wd0\kern.186\em%
+\raise\dimen1\box0\kern-.186\em\advance\dimen1 by.062\em%
+\postadjUstnne}%
+\def\adjUstnne{\advance\dimen1 by1.111111\dimen5%
+\kern.37\dimen6\advance\dimen4 by.37\dimen6%
+\advance\dimen0 by.37\dimen6}%
+\def\postadjUstnne{\advance\dimen1 by\dimen5\kern.13\dimen6%
+\advance\dimen4 by.13\dimen6\advance\dimen0 by.13\dimen6%
+\relax\ifdim\dimen0>\dimen2 \dimen2\dimen0\fi\count23=1}%
+%
+\def\nebelow{\halfbAck\sAve{\dotslAsh}\adjUstnne%
+\raise\dimen1\box0\postadjUstnne}%
+\def\nephantom{\nestrIch\phAntbox\raise\dimen1\box0%
+\advance\dimen1 by1.055\em}%
+\def\nesingle{\nestrIch\raise\dimen1\box0%
+\advance\dimen1 by1.055\em}%
+\def\nedouble{\nestrIch\advance\dimen1 by.0707\em%
+\kern-.0707\em\raise\dimen1\copy0\kern-\wd0\kern.1414\em%
+\advance\dimen1 by-.1414\em\raise\dimen1\box0%
+\kern-.0707\em\advance\dimen1 by1.1257\em}%
+\def\netriple{\nestrIch\raise\dimen1\copy0\kern-\wd0%
+\kern-.1414\em\advance\dimen1 by.1414\em%
+\raise\dimen1\copy0\kern-\wd0\kern.2828\em%
+\advance\dimen1 by-.2828\em\raise\dimen1\box0%
+\kern-.1414\em\advance\dimen1 by1.1964\em}%
+%
+\def\eneabove{\advance\dimen1 by.49\em\enepfEil%
+\raise\dimen1\box0\advance\dimen1 by-.09\em}%
+\def\eneevoba{\advance\dimen1 by.585\em\wswpfEil%
+\raise\dimen1\box0\advance\dimen1 by-.185\em}%
+\def\enebelow{\advance\dimen1 by.51\em\sAve{\lurOdots}%
+\raise\dimen1\box0\advance\dimen1 by-.11\em}%
+%
+\def\ephantom{\sAve{\hstrIch}\phAntbox\raise\dimen1\box0}%
+\def\esingle{\sAve{\hstrIch}\raise\dimen1\box0}%
+\def\edouble{\sAve{\hstrIch}\advance\dimen1 by.1\em%
+\raise\dimen1\copy0\kern-\wd0\advance\dimen1 by-.2\em%
+\raise\dimen1\box0\advance\dimen1 by.1\em}%
+\def\etriple{\sAve{\hstrIch}\advance\dimen1 by.2\em%
+\raise\dimen1\copy0\kern-\wd0\advance\dimen1 by-.2\em%
+\raise\dimen1\copy0\advance\dimen1 by-.2\em\kern-\wd0%
+\raise\dimen1\box0\advance\dimen1 by.2\em}%
+%
+\def\eseabove{\advance\dimen1 by.19\em\esepfEil%
+\raise\dimen1\box0\advance\dimen1 by-.59\em}%
+\def\eseevoba{\advance\dimen1 by.09\em\wnwpfEil%
+\raise\dimen1\box0\advance\dimen1 by-.49\em}%
+\def\esebelow{\advance\dimen1 by.17\em\sAve{\lorUdots}%
+\raise\dimen1\box0\advance\dimen1 by-.57\em}%
+%
+\def\sebelow{\ssegenerAl{\dotbackslAsh}}%
+\def\sephantom{\nwstrIch\phAntbox\advance\dimen1 by-.628\em%
+\raise\dimen1\box0\advance\dimen1 by-.428\em}%
+\def\sesingle{\nwstrIch\advance\dimen1 by-.628\em%
+\raise\dimen1\box0\advance\dimen1 by-.428\em}%
+\def\sedouble{\nwstrIch\advance\dimen1 by-.6987\em%
+\kern-.0707\em\raise\dimen1\copy0\kern-\wd0\kern.1414\em%
+\advance\dimen1 by.1414\em\raise\dimen1\box0\kern-.0707\em%
+\advance\dimen1 by-.4987\em}%
+\def\setriple{\nwstrIch\advance\dimen1 by-.628\em%
+\raise\dimen1\copy0\kern-\wd0\kern-.1414\em%
+\advance\dimen1 by-.1414\em\raise\dimen1\copy0%
+\kern-\wd0\kern.2828\em\advance\dimen1 by.2828\em%
+\raise\dimen1\box0%
+\kern-.1414\em\advance\dimen1 by-.5694\em}%
+%
+\def\sseabove{\advance\dimen1 by-1.222222\dimen5\halfbAck%
+\ssepfEil\raise\dimen1\box0\kern-.06\dimen6%
+\advance\dimen4 by-.06\dimen6\advance\dimen0 by-.06\dimen6%
+\advance\dimen1 by-1.366666\em\count23=1}%
+\def\sseevoba{\advance\dimen1 by-1.222222\dimen5\halfbAck%
+\nnwpfEil\raise\dimen1\box0\kern.06\dimen6%
+\advance\dimen4 by.06\dimen6\advance\dimen0 by.06\dimen6%
+\advance\dimen1 by-1.366666\em\count23=1}%
+\def\ssebelow{\advance\dimen1 by-1.222222\dimen5\halfbAck%
+\sAve{\setbox1\hbox{.}\raise.455\em\copy1\kern-.23\em%
+\raise.210\em\copy1\kern-.23\em%
+\lower.035\em\copy1\kern-.23\em%
+\lower.280\em\copy1\kern-.23\em%
+\lower.525\em\box1}\kern-.08\dimen6%
+\raise\dimen1\box0\kern-.17\dimen6%
+\advance\dimen4 by-.25\dimen6\advance\dimen0 by-.25\dimen6%
+\advance\dimen1 by-1.366666\em\count23=1}%
+\def\ssephantom{\halfbAck\sAve{$\backslash$}\phAntbox%
+\adjUstsse\raise\dimen1\box0\postadjUstsse}%
+\def\ssesingle{\ssegenerAl{$\backslash$}}%
+\def\ssedouble{\halfbAck\sAve{$\backslash$}\adjUstsse%
+\advance\dimen1 by.031\em\kern.093\em\raise\dimen1\copy0%
+\advance\dimen1 by-.062\em\kern-\wd0\kern-.186\em%
+\raise\dimen1\box0\kern.093\em\advance\dimen1 by.031\em%
+\postadjUstsse}%
+\def\ssetriple{\halfbAck\sAve{$\backslash$}\adjUstsse%
+\advance\dimen1 by.062\em\kern.186\em\raise\dimen1\copy0%
+\advance\dimen1 by-.062\em\kern-\wd0\kern-.186\em%
+\raise\dimen1\copy0\advance\dimen1 by-.062\em\kern-\wd0%
+\kern-.186\em\raise\dimen1\box0\kern.186\em%
+\advance\dimen1 by.062\em\postadjUstsse}%
+\def\ssegenerAl#1{\halfbAck\sAve{#1}\adjUstsse%
+\raise\dimen1\box0\postadjUstsse}%
+\def\adjUstsse{\kern.23\dimen6\advance\dimen4 by.23\dimen6%
+\advance\dimen0 by.23\dimen6\advance\dimen1 by-\dimen5}%
+\def\postadjUstsse{\advance\dimen1 by-1.111111\dimen5%
+\kern.27\dimen6\advance\dimen4 by.27\dimen6%
+\advance\dimen0 by.27\dimen6\relax%
+\ifdim\dimen0>\dimen2 \dimen2\dimen0\fi\count23=1}%
+%
+\def\sphantom{\adjUsts\postadjUsts}%
+\def\ssingle{\adjUsts\raise\dimen1\sstrIch\postadjUsts}%
+\def\sdouble{\adjUsts\kern.1\em\raise\dimen1\sstrIch%
+\kern-.2\em\raise\dimen1\sstrIch\kern.1\em\postadjUsts}%
+\def\striple{\adjUsts\kern-.2\em\raise\dimen1\sstrIch%
+\kern.2\em\raise\dimen1\sstrIch\kern.2\em\raise\dimen1%
+\sstrIch\kern-.2\em\postadjUsts}%
+\def\adjUsts{\advance\dimen1 by-1.111111\dimen5\halfbAck}%
+\def\postadjUsts{\advance\dimen1 by-1.352\em\count23=1}%
+\def\sstrIch{\ifnum\count13=0 %
+\hbox{\vrule width0\em height.54\em depth.55\em}\else%
+\hbox{\vrule width.04\em height.54\em depth.55\em}%
+\kern-.04\em\fi}%
+%
+\def\sswabove{\advance\dimen1 by-1.222222\dimen5\halfbAck%
+\sswpfEil\kern-1.25\dimen6\raise\dimen1\box0%
+\kern-.81\dimen6\advance\dimen4 by-2.06\dimen6%
+\advance\dimen0 by-2.06\dimen6%
+\advance\dimen1 by-1.366666\em\count23=1}%
+\def\sswevoba{\advance\dimen1 by-1.222222\dimen5\halfbAck%
+\nnepfEil\kern-1.1\dimen6\raise\dimen1\box0%
+\kern-.83\dimen6\advance\dimen4 by-1.93\dimen6%
+\advance\dimen0 by-1.93\dimen6%
+\advance\dimen1 by-1.366666\em\count23=1}%
+\def\sswbelow{\advance\dimen1 by-1.222222\dimen5\halfbAck%
+\sAve{\setbox1\hbox{.}\lower.505\em\copy1\kern-.23\em%
+\lower.260\em\copy1\kern-.23\em%
+\lower.015\em\copy1\kern-.23\em%
+\raise.230\em\copy1\kern-.23\em%
+\raise.475\em\box1}\kern-.9\dimen6\raise\dimen1\box0%
+\kern-.85\dimen6\advance\dimen4 by-1.75\dimen6%
+\advance\dimen0 by-1.75\dimen6%
+\advance\dimen1 by-1.366666\em\count23=1}%
+%
+\def\swbelow{\sswgenerAl{\dotslAsh}}%
+\def\sswphantom{\halfbAck\sAve{/}\phAntbox\adjUstssw%
+\raise\dimen1\box0\postadjUstssw}%
+\def\sswsingle{\sswgenerAl{/}}%
+\def\sswdouble{\halfbAck\sAve{/}\adjUstssw%
+\advance\dimen1 by.031\em\kern-.093\em%
+\raise\dimen1\copy0\advance\dimen1 by-.062\em\kern-\wd0%
+\kern.186\em\raise\dimen1\box0\kern-.093\em%
+\advance\dimen1 by.031\em\postadjUstssw}%
+\def\sswtriple{\halfbAck\sAve{/}\adjUstssw%
+\advance\dimen1 by.062\em\kern-.186\em%
+\raise\dimen1\copy0\advance\dimen1 by-.062\em\kern-\wd0%
+\kern.186\em\raise\dimen1\copy0\advance\dimen1 by-.062\em%
+\kern-\wd0\kern.186\em\raise\dimen1\box0%
+\kern-.186\em\advance\dimen1 by.062\em\postadjUstssw}%
+\def\sswgenerAl#1{\halfbAck\sAve{#1}\adjUstssw%
+\raise\dimen1\box0\postadjUstssw}%
+\def\adjUstssw{\kern-1.1\dimen6\advance\dimen1 by-\dimen5%
+\advance\dimen4 by-1.1\dimen6\advance\dimen0 by-1.1\dimen6}%
+\def\postadjUstssw{\advance\dimen1 by-1.111111\dimen5%
+\kern-1.4\dimen6\advance\dimen0 by-1.4\dimen6%
+\advance\dimen4 by-1.4\dimen6\count23=1}%
+%
+\def\swphantom{\fullbAck\nestrIch\phAntbox%
+\advance\dimen1 by-1.054\em\fullbAck\raise\dimen1\box0%
+\fullbAck\count23=2}%
+\def\swsingle{\fullbAck\nestrIch\advance\dimen1 by-1.054\em%
+\fullbAck\raise\dimen1\box0\fullbAck\count23=2}%
+\def\swdouble{\fullbAck\nestrIch%
+\advance\dimen1 by-1.1247\em\fullbAck\kern.0707\em%
+\raise\dimen1\copy0\kern-\wd0\kern-.1414\em%
+\advance\dimen1 by.1414\em\raise\dimen1\box0\kern.0707\em%
+\fullbAck\advance\dimen1 by-.0707\em\count23=2}%
+\def\swtriple{\fullbAck\nestrIch\advance\dimen1 by-1.054\em%
+\fullbAck\raise\dimen1\copy0\kern-\wd0\kern-.1414\em%
+\advance\dimen1 by.1414\em\raise\dimen1\copy0\kern-\wd0%
+\kern.2828\em\advance\dimen1 by-.2828\em\raise\dimen1\box0%
+\kern-.1414\em\fullbAck\advance\dimen1 by.1414\em%
+\count23=2}%
+%
+\def\wswabove{\advance\dimen1 by.19\em\fullbAck\wswpfEil%
+\fullbAck\raise\dimen1\box0\advance\dimen1 by-.59\em%
+\fullbAck\count23=2}%
+\def\wswevoba{\advance\dimen1 by.09\em\fullbAck\enepfEil%
+\fullbAck\raise\dimen1\box0\advance\dimen1 by-.49\em%
+\fullbAck\count23=2}%
+\def\wswbelow{\advance\dimen1 by.12\em\fullbAck%
+\sAve{\lurOdots}\fullbAck\raise\dimen1\box0%
+\advance\dimen1 by-.52\em\fullbAck\count23=2}%
+%
+\def\wphantom{\adjUstw\advance\dimen0 by-\dimen6%
+\advance\dimen4 by-\dimen6\count23=2}%
+\def\wsingle{\adjUstw\raise\dimen1\box0\fullbAck\count23=2}%
+\def\wdouble{\adjUstw\advance\dimen1 by.1\em%
+\raise\dimen1\copy0\kern-\wd0\advance\dimen1 by-.2\em%
+\raise\dimen1\box0\advance\dimen1 by.1\em\fullbAck%
+\count23=2}%
+\def\wtriple{\adjUstw\advance\dimen1 by.2\em%
+\raise\dimen1\copy0\kern-\wd0%
+\advance\dimen1 by-.2\em\raise\dimen1\copy0\kern-\wd0%
+\advance\dimen1 by-.2\em\raise\dimen1\box0%
+\advance\dimen1 by.2\em\fullbAck\count23=2}%
+\def\adjUstw{\fullbAck\sAve{\hstrIch}\fullbAck%
+\ifdim\dimen0<\dimen3 \dimen3\dimen0\fi}%
+%
+\def\wnwabove{\advance\dimen1 by.49\em\fullbAck\wnwpfEil%
+\fullbAck\raise\dimen1\box0\advance\dimen1 by-.09\em%
+\fullbAck\count23=2}%
+\def\wnwevoba{\advance\dimen1 by.59\em\fullbAck\esepfEil%
+\fullbAck\raise\dimen1\box0\advance\dimen1 by-.19\em%
+\fullbAck\count23=2}%
+\def\wnwbelow{\advance\dimen1 by.56\em\fullbAck%
+\sAve{\lorUdots}\fullbAck\raise\dimen1\box0%
+\advance\dimen1 by-.16\em\fullbAck\count23=2}%
+%
+\def\nwbelow{\nnwgenerAl{\dotbackslAsh}}%
+\def\nwphantom{\fullbAck\nwstrIch\phAntbox\fullbAck%
+\advance\dimen1 by.42\em\raise\dimen1\box0\fullbAck%
+\advance\dimen1 by.635\em\count23=2}%
+\def\nwsingle{\fullbAck\nwstrIch\fullbAck%
+\advance\dimen1 by.42\em\raise\dimen1\box0\fullbAck%
+\advance\dimen1 by.635\em\count23=2}%
+\def\nwdouble{\fullbAck\nwstrIch\fullbAck\kern-.0707\em%
+\advance\dimen1 by.3493\em\raise\dimen1\copy0\kern-\wd0%
+\kern.1414\em\advance\dimen1 by.1414\em\raise\dimen1\box0%
+\kern-.0707\em\advance\dimen1 by.5643\em\fullbAck%
+\count23=2}%
+\def\nwtriple{\fullbAck\nwstrIch\fullbAck%
+\advance\dimen1 by.42\em\raise\dimen1\copy0\kern-\wd0%
+\kern-.1414\em\advance\dimen1 by-.1414\em%
+\raise\dimen1\copy0\kern-\wd0\kern.2828\em%
+\advance\dimen1 by.2828\em\raise\dimen1\box0%
+\kern-.1414\em\fullbAck\advance\dimen1 by.4936\em%
+\count23=2}%
+%
+\def\nnwabove{\advance\dimen1 by2.05\dimen5\halfbAck%
+\nnwpfEil\kern-1.14\dimen6\raise\dimen1\box0%
+\advance\dimen1 by.803\em\kern-1.20\dimen6%
+\advance\dimen4 by-2.34\dimen6%
+\advance\dimen0 by-2.34\dimen6\count23=1}%
+\def\nnwevoba{\advance\dimen1 by2.05\dimen5\halfbAck%
+\ssepfEil\kern-1.06\dimen6\raise\dimen1\box0%
+\advance\dimen1 by.803\em\kern-1.11\dimen6%
+\advance\dimen4 by-2.17\dimen6%
+\advance\dimen0 by-2.17\dimen6\count23=1}%
+\def\nnwbelow{\advance\dimen1 by2.05\dimen5\halfbAck%
+\sAve{\setbox1\hbox{.}\raise.435\em\copy1\kern-.23\em%
+\raise.190\em\copy1\kern-.23\em%
+\lower.075\em\copy1\kern-.23\em%
+\lower.3\em\copy1\kern-.23\em%
+\lower.545\em\box1}\kern-.9\dimen6\raise\dimen1\box0%
+\kern-1.05\dimen6\advance\dimen4 by-1.95\dimen6%
+\advance\dimen0 by-1.95\dimen6\advance\dimen1 by.803\em%
+\count23=1}%
+\def\nnwphantom{\halfbAck\sAve{$\backslash$}\phAntbox%
+\adjUstnnw\raise\dimen1\box0\postadjUstnnw}%
+\def\nnwsingle{\nnwgenerAl{$\backslash$}}%
+\def\nnwdouble{\halfbAck\sAve{$\backslash$}\adjUstnnw%
+\advance\dimen1 by.031\em\kern.093\em\raise\dimen1\copy0%
+\advance\dimen1 by-.062\em\kern-\wd0\kern-.186\em%
+\raise\dimen1\box0\kern.093\em\advance\dimen1 by.031\em%
+\postadjUstnnw}%
+\def\nnwtriple{\halfbAck\sAve{$\backslash$}\adjUstnnw%
+\advance\dimen1 by.062\em\kern.186\em\raise\dimen1\copy0%
+\advance\dimen1 by-.062\em\kern-\wd0\kern-.186\em%
+\raise\dimen1\copy0\advance\dimen1 by-.062\em\kern-\wd0%
+\kern-.186\em\raise\dimen1\box0\kern.186\em%
+\advance\dimen1 by.062\em\postadjUstnnw}%
+\def\nnwgenerAl#1{\halfbAck\sAve{#1}\adjUstnnw%
+\raise\dimen1\box0\postadjUstnnw}%
+\def\adjUstnnw{\advance\dimen1 by1.111111\dimen5%
+\kern-1.15\dimen6\advance\dimen4 by-1.15\dimen6%
+\advance\dimen0 by-1.15\dimen6}%
+\def\postadjUstnnw{\kern-1.35\dimen6%
+\advance\dimen4 by-1.35\dimen6%
+\advance\dimen0 by-1.35\dimen6%
+\advance\dimen1 by\dimen5\count23=1}%
+%
+\def\nmostaromatatom#1{\atom{#1}\dimen8\dimen1%
+\advance\dimen8 by-.4\em\aromAtincr}%
+\def\smostaromatatom#1{\atom{#1}\dimen10\dimen1%
+\advance\dimen10 by\dimen5\advance\dimen10 by.3\em%
+\advance\count20 by1\aromAtincr}%
+\def\wmostaromatatom#1{\atom{#1}\dimen7\dimen0%
+\advance\count20 by2\advance\dimen7 by.36\em\aromAtincr}%
+\def\emostaromatatom#1{\atom{#1}\dimen9\dimen0%
+\advance\dimen9 by-\dimen6\advance\count20 by3%
+\advance\dimen9 by-.24\em\aromAtincr}%
+\def\aromAtincr{\advance\count20 by1\count42=\count20%
+\relax\ifnum\count20=10 \aromAtsymbol\fi}%
+\def\wUrzel{\count42=\count52\divide\count42 by4\wUrz}%
+% Compute \count42=sqrt(\count52) by a recursion formula.
+\def\wUrz{\wurzEl\let\wurzE\wUrz\else\let\wurzE\relax\fi%
+\wurzE}%
+\def\wurzEl{\count62=\count52\divide\count62 by\count42%
+\advance\count62 by\count42\count72=\count62%
+\divide\count72 by2\advance\count72 by5%
+\relax\ifnum\count42>\count72 \count42=\count62%
+\divide\count42 by2}%
+\def\aromAtsymbol{\count20=0\ifnum\count13>0 %
+\advance\dimen8 by-\dimen10\dimen8=.5\dimen8%
+\advance\dimen7 by-\dimen9\dimen7-.5\dimen7%
+\setbox1\hbox{\vrule width.04\em height.04\em}%
+\dimen22=.4\wd1\count32=7100\count22\dimen22%
+\divide\count22 by60\dimen22=.0001\dimen7%
+\dimen23=.0001\dimen8\setbox0\hbox{\loop%
+\advance\count32 by-\count22\count62=\count32%
+\multiply\count62 by\count32\count52=100000000%
+\advance\count52 by-\count62\wUrzel\kern\count42\dimen22%
+\lower\count32\dimen23\copy1\kern-\wd1%
+\raise\count32\dimen23\copy1\kern-\wd1%
+\count72-\count42\kern\count72\dimen22\kern\count72\dimen22%
+\lower\count32\dimen23\copy1\kern-\wd1%
+\raise\count32\dimen23\copy1\kern-\wd1\kern\count42\dimen22%
+\kern\count32\dimen22\lower\count42\dimen23\copy1\kern-\wd1%
+\raise\count42\dimen23\copy1\kern-\wd1\count72-\count32%
+\kern\count72\dimen22\kern\count72\dimen22%
+\lower\count42\dimen23\copy1\kern-\wd1%
+\raise\count42\dimen23\copy1\kern-\wd1\kern\count32\dimen22%
+\ifnum\count32>\count22 \repeat\kern-10000\dimen22\copy1%
+\kern-\wd1\kern20000\dimen22\copy1\kern-\wd1}%
+\advance\dimen9 by-\dimen0\kern\dimen9\kern-10000\dimen22%
+\dimen13\dimen10\advance\dimen13 by\dimen8%
+\raise\dimen13\box0\kern-\dimen9\fi}%
+%
+\def\firstbicycloatom#1{\atom{#1}\ifnum\count13>0 %
+\ifnum\count20>0 \count20=0\messAge{\bicycloIgnored}\else%
+\dimen7\dimen0\advance\dimen7 by-.5\dimen6\count20=100%
+\dimen8\dimen1\advance\dimen8 by.4\dimen5\dimen9\dimen6%
+\fi\fi}%
+\def\secondbicycloatom#1{\atom{#1}\ifnum\count13>0 %
+\ifnum\count20=100 \dimen12\dimen0%
+\advance\dimen12 by-.5\dimen6\dimen13\dimen1%
+\advance\dimen13 by.4\dimen5\ifdim\dimen9<\dimen6 %
+\dimen9\dimen6\fi\relax\ifdim\dimen9<\dimen5 \dimen9\dimen5\fi%
+\setbox1\hbox{\vrule width.04\em height.04\em}%
+\kern-.5\dimen6\dimen22\dimen7\advance\dimen22 by-\dimen12%
+\divide\dimen22 by10000\dimen23\dimen8%
+\advance\dimen23 by-\dimen13\divide\dimen23 by10000%
+\count42\dimen22\multiply\count42 by\dimen22%
+\count52\dimen23\multiply\count52 by\dimen23%
+\advance\count52 by\count42\wUrzel\divide\dimen9 by100%
+\multiply\dimen9 by85\count32\dimen9%
+\divide\count32 by\count42\count52=10000%
+\advance\count52 by-\count32\count72\wd1\divide\count72 by2%
+\divide\count72 by\count42\loop\dimen32=0\em%
+\advance\dimen32 by\count32\dimen22\dimen33\dimen13%
+\advance\dimen33 by\count32\dimen23\kern\dimen32%
+\raise\dimen33\copy1\kern-\wd1\kern-\dimen32%
+\advance\count32 by\count72\relax\ifnum\count32<\count52 \repeat%
+\kern.5\dimen6\else\messAge{\bicycloIgnored}\fi\fi%
+\count20=0\relax}%
+%
+\def\nopositioncheck{\count13=1}%
+%
+\def\shorterewbonds{\def\hstrIch{\hbox to.784\em%
+{\hss\vrule width.6\em height.36\em depth-.32\em\hss}}%
+\dimen251=.025\em\relax%
+\count43=0\count53=0\count63=0\count73=0%
+\def\lurOdots{\setbox1\hbox{.}\kern.01\em%
+\lower.125\em\copy1\lower.025\em\copy1\raise.075\em\box1}%
+\def\lorUdots{\setbox1\hbox{.}\kern.01\em%
+\raise.025\em\copy1\lower.075\em\copy1%
+\lower.175\em\box1\kern.01\em}}%
+\def\longerewbonds{\def\hstrIch{\hbox to1.184\em%
+{\hss\vrule width1\em height.36\em depth-.32\em\hss}}%
+\dimen251=.0452\em\relax%
+\count43=0\count53=0\count63=0\count73=0%
+\def\lurOdots{\setbox1\hbox{.}\kern.01\em%
+\lower.125\em\copy1\lower.075\em\copy1%
+\lower.025\em\copy1\raise.025\em\copy1\raise.075\em\box1}%
+\def\lorUdots{\setbox1\hbox{.}\kern.01\em%
+\raise.025\em\copy1\lower.025\em\copy1%
+\lower.075\em\copy1\lower.125\em\copy1%
+\lower.175\em\box1\kern.01\em}}%
+%
+\def\nomOrestructures{\def\atom{}\def\phantatom{}%
+\def\adjustAtom{}\def\epin{}\def\wpin{}\def\spin{}%
+\def\npin{}\def\sAve{}\def\phAntbox{}\def\side{}%
+\def\fullbAck{}\def\halfbAck{}\def\nestrIch{}%
+\def\nwstrIch{}\def\dotbackslAsh{}\def\dotslAsh{}%
+\def\nnepfEil{}\def\enepfEil{}\def\esepfEil{}%
+\def\ssepfEil{}\def\sswpfEil{}\def\wswpfEil{}%
+\def\wnwpfEil{}\def\nnwpfEil{}\def\nphantom{}%
+\def\nsingle{}\def\ndouble{}\def\ntriple{}\def\adjUstn{}%
+\def\postadjUstn{}\def\nstrIch{}\def\nneabove{}%
+\def\nneevoba{}\def\nnebelow{}\def\nnephantom{}%
+\def\nnesingle{}\def\nnedouble{}\def\nnetriple{}%
+\def\adjUstnne{}\def\postadjUstnne{}\def\nebelow{}%
+\def\nephantom{}\def\nesingle{}\def\nedouble{}%
+\def\netriple{}\def\eneabove{}\def\eneevoba{}%
+\def\enebelow{}\def\ephantom{}\def\esingle{}%
+\def\edouble{}\def\etriple{}\def\eseabove{}%
+\def\eseevoba{}\def\esebelow{}\def\sebelow{}%
+\def\sephantom{}\def\sesingle{}\def\sedouble{}%
+\def\setriple{}\def\sseabove{}\def\sseevoba{}%
+\def\ssebelow{}\def\ssephantom{}\def\ssesingle{}%
+\def\ssedouble{}\def\ssetriple{}\def\ssegenerAl{}%
+\def\adjUstsse{}\def\postadjUstsse{}\def\sphantom{}%
+\def\ssingle{}\def\sdouble{}\def\striple{}\def\adjUsts{}%
+\def\postadjUsts{}\def\sstrIch{}\def\sswabove{}%
+\def\sswevoba{}\def\sswbelow{}\def\sswphantom{}%
+\def\sswsingle{}\def\sswdouble{}\def\sswtriple{}%
+\def\sswgenerAl{}\def\adjUstssw{}\def\postadjUstssw{}%
+\def\swbelow{}\def\swphantom{}\def\swsingle{}%
+\def\swdouble{}\def\swtriple{}\def\wswabove{}%
+\def\wswevoba{}\def\wswbelow{}\def\wphantom{}%
+\def\wsingle{}\def\wdouble{}\def\wtriple{}\def\adjUstw{}%
+\def\wnwabove{}\def\wnwevoba{}\def\wnwbelow{}\def\nwbelow{}%
+\def\nwphantom{}\def\nwsingle{}\def\nwdouble{}%
+\def\nwtriple{}\def\nnwabove{}\def\nnwevoba{}%
+\def\nnwbelow{}\def\nnwphantom{}\def\nnwsingle{}%
+\def\nnwdouble{}\def\nnwtriple{}\def\nnwgenerAl{}%
+\def\adjUstnnw{}\def\postadjUstnnw{}\def\nmostaromatatom{}%
+\def\smostaromatatom{}\def\wmostaromatatom{}%
+\def\emostaromatatom{}\def\aromAtincr{}\def\wUrzel{}%
+\def\wUrz{}\def\wurzEl{}\def\aromAtsymbol{}%
+\def\firstbicycloatom{}\def\secondbicycloatom{}%
+\def\nopositioncheck{}\def\shorterewbonds{}\def\lurOdots{}%
+\def\lorUdots{}\def\longerewbonds{}\def\lurOdots{}%
+\def\lorUdots{}\def\structure{}}%
+%
+\def\nomorestructures{\nomOrestructures%
+\def\nomOrestructures{}}%
+%
+\def\structure#1{\hbox{\rm\catcode`\ 9\catcode`\^^M9%
+\catcode`\^^I9\dimendef\em250\em1em%
+\dimen252\fontdimen2\tenrm\fontdimen2\tenrm0\em%
+\dimen253\fontdimen3\tenrm\fontdimen3\tenrm0\em%
+\dimen254\fontdimen4\tenrm\fontdimen4\tenrm0\em%
+\dimen255\fontdimen7\tenrm\fontdimen7\tenrm0\em%
+\shorterewbonds% initialize \dimen251 and definitions
+\count11=0% side chain nesting
+\count20=0% definition counter of aromatatoms and bicycloatoms
+\count13=0% disable printing
+\count23=0% fullback/halfback/noback flag
+\dimen0\baselineskip\advance\dimen0 by-.7\em%
+\advance\baselineskip by-.3\em%
+\count33\dimen0% amount of depth to be added
+\count43=0% marker for eseabove- and wnwevoba-bonds
+\count53=0% marker for wswabove- and eneevoba-bonds
+\count63=0% marker for eneabove- and wswevoba-bonds
+\count73=0% marker for wnwabove- and eseevoba-bonds
+\count83=0% marker for in-plane ne- and swbonds
+\count93=0% marker for in-plane nw- and sebonds
+\dimen0=0\em% actual horizontal position
+\dimen1=0\em% actual vertical position
+\dimen2=0\em% maximum horizontal position
+\dimen3=0\em% minimum horizontal position
+\dimen4=0\em% horizontal side chain correction
+\dimen5=0\em% last height + depth
+\dimen6=0\em% last width
+\dimen7=0\em%
+\dimen8=0\em%
+\dimen9=0\em%
+\dimen10=0\em%
+#1\ifnum\count13=0 \kern-\dimen0\kern-\dimen3\dimen0=0\em%
+\dimen1=0\em\dimen2=0\em\count13=1 \shorterewbonds#1\fi%
+\ifnum\count20>0 \messAge{\aromatIgnored}\fi\kern-\dimen0%
+\kern\dimen2\advance\baselineskip by.3\em%
+\fontdimen2\tenrm\dimen252\fontdimen3\tenrm\dimen253%
+\fontdimen4\tenrm\dimen254\fontdimen7\tenrm\dimen255}}%
diff --git a/info/digests/tex88/ramek/tex88.fg1 b/info/digests/tex88/ramek/tex88.fg1
new file mode 100644
index 0000000000..28ffcbc23a
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg1
@@ -0,0 +1,58 @@
+\centerline{
+\structure{\phantatom{C}
+% The \phantatom just processed defines the central empty spot,
+% from which all the bonds spray out; each one of the following
+% \side{...} commands will generate one direction. The rules
+% for \side are explained in chapter 27.3 .
+\side{\wsingle\phantatom{C}\wdouble\phantatom{C}\wtriple
+\atom{\tt W}}
+\side{\esingle\phantatom{C}\edouble\phantatom{C}\etriple
+\atom{\tt E}}
+\side{\ssingle\phantatom{C}\sdouble\phantatom{C}\striple
+\atom{\tt S}}
+\side{\nsingle\phantatom{C}\ndouble\phantatom{C}\ntriple
+\atom{\tt N}}
+\side{\swsingle\phantatom{C}\swdouble\phantatom{C}\swtriple
+\atom{\tt SW}}
+\side{\sesingle\phantatom{C}\sedouble\phantatom{C}\setriple
+\atom{\tt SE}}
+\side{\nesingle\phantatom{C}\nedouble\phantatom{C}\netriple
+\atom{\tt NE}}
+\side{\nwsingle\phantatom{C}\nwdouble\phantatom{C}\nwtriple
+\atom{\tt NW}}
+\side{\nnwsingle\phantatom{C}\nnwdouble\phantatom{C}\nnwtriple
+\atom{\tt NNW}}
+\side{\nnesingle\phantatom{C}\nnedouble\phantatom{C}\nnetriple
+\atom{\tt NNE}}
+\side{\ssesingle\phantatom{C}\ssedouble\phantatom{C}\ssetriple
+\atom{\tt SSE}}
+\side{\sswsingle\phantatom{C}\sswdouble\phantatom{C}\sswtriple
+\atom{\tt SSW}}
+}
+\hskip 1truecm
+\structure{\phantatom{C}
+\side{\wnwbelow\phantatom{C}\wnwabove\phantatom{C}\wnwevoba
+\atom{\tt WNW}}
+\side{\enebelow\phantatom{C}\eneabove\phantatom{C}\eneevoba
+\atom{\tt ENE}}
+\side{\wswbelow\phantatom{C}\wswabove\phantatom{C}\wswevoba
+\atom{\tt WSW}}
+\side{\esebelow\phantatom{C}\eseabove\phantatom{C}\eseevoba
+\atom{\tt ESE}}
+\side{\swbelow\atom{\tt SW}}
+\side{\sebelow\atom{\tt SE}}
+\side{\nebelow\atom{\tt NE}}
+\side{\nwbelow\atom{\tt NW}}
+\side{\nnwbelow\phantatom{C}\nnwabove\phantatom{C}\nnwevoba
+\atom{\tt NNW}}
+\side{\nnebelow\phantatom{C}\nneabove\phantatom{C}\nneevoba
+\atom{\tt NNE}}
+\side{\ssebelow\phantatom{C}\sseabove\phantatom{C}\sseevoba
+\atom{\tt SSE}}
+\side{\sswbelow\phantatom{C}\sswabove\phantatom{C}\sswevoba
+\atom{\tt SSW}}
+}
+}
+\medskip
+\centerline{\bf Figure~1. \rm All available in-plane and
+out-of-plane bonds.}
diff --git a/info/digests/tex88/ramek/tex88.fg10 b/info/digests/tex88/ramek/tex88.fg10
new file mode 100644
index 0000000000..45432d32e2
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg10
@@ -0,0 +1,19 @@
+\vbox{
+\centerline{
+\structure{\longerewbonds\phantatom{H}\swphantom\atom{N}
+\side{\sseabove\atom{H}}
+\side{\sebelow\atom{H}}\nnesingle\atom{C}
+\side{\nnwabove\atom{H}}\side{\nwbelow\atom{H}}
+\esingle\atom{C}\side{\ssedouble\atom{O}}
+\nnesingle\atom{O}\esingle\atom{H}}
+\hskip 1cm{$\rightleftharpoons$}\hskip 1cm
+\structure{\longerewbonds\phantatom{H}\swphantom\atom{N}
+\side{\sseabove\atom{H}}\side{\sebelow\atom{H}}
+\nnesingle\atom{C}\side{\nnwabove\atom{H}}
+\side{\nwbelow\atom{H}}\esingle\atom{C}\side{\nnedouble\atom{O}}
+\ssesingle\atom{O}\esingle\atom{H}}
+}
+\medskip
+\centerline{\bf Figure~10. \rm
+Two conformeres of neutral glycine in equilibrium.}
+}
diff --git a/info/digests/tex88/ramek/tex88.fg11 b/info/digests/tex88/ramek/tex88.fg11
new file mode 100644
index 0000000000..f39569548c
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg11
@@ -0,0 +1,22 @@
+\newbox\monomera\setbox\monomera=%
+\structure{\nopositioncheck\esingle\atom{C}
+\side{\nsingle\atom{C}\epin{H$_3$}}
+\atom{H}\esingle\atom{CH$_2$}}%
+\newbox\monomerb\setbox\monomerb=%
+\structure{\nopositioncheck\esingle\atom{C}
+\side{\ssingle\atom{C}\epin{H$_3$}}
+\atom{H}\esingle\atom{CH$_2$}}%
+\newbox\monomere\setbox\monomere=%
+\structure{\nopositioncheck\esingle\atom{C}
+\side{\nsingle\atom{C}\epin{H$_3$}}
+\atom{H}\esingle\atom{CH$_2$}\esingle\phantatom{}}%
+\vbox{
+\centerline{\copy\monomera\copy\monomera\copy\monomera%
+\copy\monomera\copy\monomera\copy\monomere}
+\medskip
+\centerline{\copy\monomerb\copy\monomera\copy\monomerb%
+\box\monomera\box\monomerb\box\monomere}
+\medskip
+\centerline{\bf Figure~11. \rm Isotactic and syndiotactic
+polypropylene.}
+}
diff --git a/info/digests/tex88/ramek/tex88.fg12 b/info/digests/tex88/ramek/tex88.fg12
new file mode 100644
index 0000000000..d2044b6771
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg12
@@ -0,0 +1,35 @@
+\centerline{\structure{
+\atom{C}\epin{H$_3$}\nnwsingle\atom{C}\wpin{H$_2$}
+\nnesingle\atom{C}\epin{H$_2$}\nnwsingle\atom{C}\wpin{H$_2$}
+\nnesingle\atom{C}\epin{H$_2$}\nnwsingle\atom{C}\wpin{H$_2$}
+\nnesingle\atom{C}\epin{H$_2$}\nnwsingle\atom{C}\wpin{H$_2$}
+\nnesingle\atom{C}\epin{H$_2$}\nnwsingle\atom{C}\wpin{H$_2$}
+\nnesingle\atom{C}\epin{H$_2$}\nnwsingle\atom{C}\wpin{H$_2$}
+\nnesingle\atom{C}\epin{H$_2$}\nnwsingle\atom{C}\wpin{H$_2$}
+\nnesingle\atom{C}\epin{H$_2$}\nnwsingle\atom{C}
+\side{\wdouble\atom{O}}
+\nnesingle\atom{O}\nesingle\atom{C}\epin{H$_2$}
+\nnesingle\firstbicycloatom{C}\side{\wsingle\atom{H}}
+\nnwsingle\atom{C}\wpin{H$_2$}\nnesingle\atom{O}
+\side{\nsingle\atom{P}\side{\esingle\atom{O$^\ominus$}}
+\side{\ndouble\atom{O}}
+\side{\wsingle\atom{O}\swsingle\atom{CH$_2$}\nwsingle
+\atom{~~H$_3$C---N$^\oplus$---CH$_2$}
+\side{\nsingle\atom{C}\epin{H$_3$}}
+\side{\ssingle\atom{C}\epin{H$_3$}}}}
+\ephantom\phantatom{OOO}\ephantom\ssephantom\phantatom{O}
+\sswphantom\secondbicycloatom{O}\sesingle\atom{C}
+\side{\nedouble\atom{O}}
+\ssesingle\atom{C}\epin{H$_2$}\sswsingle\atom{C}\wpin{H$_2$}
+\ssesingle\atom{C}\epin{H$_2$}\sswsingle\atom{C}\wpin{H$_2$}
+\ssesingle\atom{C}\epin{H$_2$}\sswsingle\atom{C}\wpin{H$_2$}
+\ssesingle\atom{C}\epin{H$_2$}\sswsingle\atom{C}
+\side{\wsingle\atom{H}}\ssedouble\atom{C}
+\side{\swsingle\atom{H}}
+\sesingle\atom{C}\epin{H$_2$}\ssesingle\atom{C}\wpin{H$_2$}
+\sesingle\atom{C}\epin{H$_2$}\ssesingle\atom{C}\wpin{H$_2$}
+\sesingle\atom{C}\epin{H$_2$}\ssesingle\atom{C}\wpin{H$_2$}
+\sesingle\atom{C}\epin{H$_2$}\ssesingle\atom{C}\epin{H$_3$}}}
+\medskip
+\centerline{\bf Figure~12. \rm
+1-Palmitoyl-2-oleoyl-3-{\it sn\/}-glycerophosphocholin.}
diff --git a/info/digests/tex88/ramek/tex88.fg13 b/info/digests/tex88/ramek/tex88.fg13
new file mode 100644
index 0000000000..c727d50174
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg13
@@ -0,0 +1,37 @@
+\def\Symbol{{\tt {\char'134}symbol}}
+\vbox{\line{\hfil
+\diagram{\xaxis3truecm,0.,1.0,0.5,;\noscale
+\yaxis4truecm,-1.0,9.0,1.,\Symbol;\nogrid}
+{\values{
+\symbol0\point0.5,0.0;
+\symbol1\point0.5,1.0;
+\symbol2\point0.5,2.0;
+\symbol3\point0.5,3.0;
+\symbol4\point0.5,4.0;
+\symbol5\point0.5,5.0;
+\symbol6\point0.5,6.0;
+\symbol7\point0.5,7.0;
+\symbol8\point0.5,8.0;
+\symbol9\point0.5,9.0;}}
+\hfil
+\diagram{\xaxis3truecm,0.,1.0,0.5,;\noscale
+\yaxis4truecm,-1.0,9.0,1.,;}
+{\values{
+\symbol0\point0.5,0.0;
+\symbol1\point0.5,1.0;
+\symbol2\point0.5,2.0;
+\symbol3\point0.5,3.0;
+\symbol4\point0.5,4.0;
+\symbol5\point0.5,5.0;
+\symbol6\point0.5,6.0;
+\symbol7\point0.5,7.0;
+\symbol8\point0.5,8.0;
+\symbol9\point0.5,9.0;}}
+\hfil}
+\vskip -\medskipamount
+\noindent{\bf Figure~13.
+\rm Ten symbols are predefined:
+\printsymbol0 = \Symbol{\tt0},
+\printsymbol1 = \Symbol{\tt1},
+\dots,
+\printsymbol9 = \Symbol{\tt9}.}}
diff --git a/info/digests/tex88/ramek/tex88.fg14 b/info/digests/tex88/ramek/tex88.fg14
new file mode 100644
index 0000000000..e08657e5ba
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg14
@@ -0,0 +1,26 @@
+\vbox{\line{\hfill
+\diagram{\xaxis6truecm,0.0,2.0,0.5,$x$;
+\yaxis3.5truecm,0.0,7.0,1.0,$y=e^x$;\nogrid}
+{\connect{
+% Points were generated by the Fortran program
+% DO 1 X = 0.0,1.9,0.15
+% 1 WRITE(7,2)X,EXP(X),X+0.05,EXP(X+0.05),X+0.1,EXP(X+0.1)
+% 2 FORMAT(3('\point',F4.2,',',F6.4,';'))
+% END
+\point0.00,1.0000;\point0.05,1.0513;\point0.10,1.1052;
+\point0.15,1.1618;\point0.20,1.2214;\point0.25,1.2840;
+\point0.30,1.3499;\point0.35,1.4191;\point0.40,1.4918;
+\point0.45,1.5683;\point0.50,1.6487;\point0.55,1.7333;
+\point0.60,1.8221;\point0.65,1.9155;\point0.70,2.0138;
+\point0.75,2.1170;\point0.80,2.2255;\point0.85,2.3396;
+\point0.90,2.4596;\point0.95,2.5857;\point1.00,2.7183;
+\point1.05,2.8577;\point1.10,3.0042;\point1.15,3.1582;
+\point1.20,3.3201;\point1.25,3.4903;\point1.30,3.6693;
+\point1.35,3.8574;\point1.40,4.0552;\point1.45,4.2631;
+\point1.50,4.4817;\point1.55,4.7115;\point1.60,4.9530;
+\point1.65,5.2070;\point1.70,5.4739;\point1.75,5.7546;
+\point1.80,6.0496;\point1.85,6.3598;\point1.90,6.6859;
+}}
+\hfill}
+\medskip
+\centerline{\bf Figure~14. \rm The function $y=e^x$.}}
diff --git a/info/digests/tex88/ramek/tex88.fg15 b/info/digests/tex88/ramek/tex88.fg15
new file mode 100644
index 0000000000..46d2734d8f
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg15
@@ -0,0 +1,16 @@
+\vbox{\line{\hfill
+\diagram{\xaxis7truecm,75.0,100.0,5.0,$T$ [K];\nogrid
+\yaxis4truecm,1.05,1.25,0.05,%
+$1/\chi_{\rm m}\cdot10^{-6}$ [kg$\,$m$^{-3}$];}
+{\connect{\symbol4
+\point99.6,1.234;\point97.6,1.213;\point95.5,1.193;
+\point93.4,1.171;\point91.4,1.151;\point89.3,1.131;
+\point88.2,1.120;\point87.5,1.113;\point86.1,1.102;
+\point84.1,1.082;\point83.2,1.090;\point82.7,1.094;
+\point81.4,1.113;\point80.8,1.123;\point79.6,1.145;
+\point78.7,1.161;\point77.8,1.181;\point77.1,1.195;}}
+\hfill}
+\medskip \noindent{\bf Figure 15. \rm
+Reciprocal magnetic susceptibility (measured at a
+magnetic flux density of 0.75~T) of superconducting
+Tm$_{0.75}$Sc$_{0.25}$Ba$_2\!$Cu$_3$O$_{7-x}$.}}
diff --git a/info/digests/tex88/ramek/tex88.fg16 b/info/digests/tex88/ramek/tex88.fg16
new file mode 100644
index 0000000000..3680e352e9
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg16
@@ -0,0 +1,16 @@
+\vbox{\line{\hfill
+\diagram{\xaxis9truecm,0.,100.0,20.0,$w_{\rm Ca(N_3)_2}$ [\%];
+\yaxis10truecm,-30.0,80.0,10.0,$T$ [$^\circ$\thinspace C];
+\nogrid}{\connect{\point0.0,-20.8;\point63.3,-20.8;}
+\connect{\point63.3,-30.0;\point63.3,0.5;}
+\connect{\point82.1,-30.0;\point82.1,25.0;}
+\connect{\point93.2,-30.0;\point93.2,41.5;}
+\connect{\point32.,0.5;\point82.1,0.5;}
+\connect{\point37.,25.0;\point93.2,25.0;}
+\connect{\point41.,41.5;\point100.0,41.5;}
+\connect{\point100.,-30.0;\point100.0,80.0;}
+\connect{\point0.0,0.0;\point28.3,-20.8;\point32.,0.5;
+\point37.,25.0;\point41.,41.5;\point43.,80.0;}}
+\hfill} \medskip
+\centerline{\bf Figure~16. \rm Phase diagram of
+the H$_2\!$O -- Ca(N$_3$)$_2$ system (simplified).}}
diff --git a/info/digests/tex88/ramek/tex88.fg17 b/info/digests/tex88/ramek/tex88.fg17
new file mode 100644
index 0000000000..b65b4d91dd
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg17
@@ -0,0 +1,11 @@
+\vbox{\line{\hfill
+\diagram{\xaxis8truecm,140.,240.,20.,$T$ [$^\circ$C];
+\yaxis11.5truecm,225.,255.,5.,$E$ [mV];\nogrid}
+{\lsqline{\point239.1,251.06;\point229.5,248.5;
+\point220.4,246.11;\point211.1,243.71;\point201.6,241.37;
+\point192.1,239.14;\point182.6,236.9;\point173.1,234.65;
+\point163.5,232.43;\point154.1,230.29;\point144.1,228.14;}}
+\hfill} \medskip
+\noindent{\bf Figure 17. \rm Temperature dependence of the
+electromotorical force $E$ of the galvanic cell
+Pt/Ag/AgJ/Te($\!$Ag),Ag$_5\!$Te$_3$/Pt.}}
diff --git a/info/digests/tex88/ramek/tex88.fg18 b/info/digests/tex88/ramek/tex88.fg18
new file mode 100644
index 0000000000..5c9133a0da
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg18
@@ -0,0 +1,12 @@
+\vbox{\line{\hfill
+\diagram{\xaxis7truecm,0.,180.0,30.0,dihedral angle N--C--C=O;
+\yaxis7truecm,-282.165,-282.157,0.001,$E$ [Hartree];\nogrid}
+{\curve{\hpoint0.,-282.164306;\point20.,-282.163403;
+\point50.,-282.159406;\point70.,-282.157569;
+\hpoint76.085,-282.157477;\point90.,-282.157919;
+\point120.,-282.160011;\point140.,-282.160990;
+\hpoint180.,-282.161409;}}
+\hfill} \medskip
+\noindent{\bf Figure~18. \rm Energy profile for the neutral
+glycine equilibrium shown in Figure~10, obtained from {\it ab
+initio\/} SCF calculations with the 4-21G basis set.}}
diff --git a/info/digests/tex88/ramek/tex88.fg19 b/info/digests/tex88/ramek/tex88.fg19
new file mode 100644
index 0000000000..685c624670
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg19
@@ -0,0 +1,20 @@
+\vbox{\line{\hfill
+\diagram{\xaxis7truecm,0.,1.0,0.2,$x_{\rm Al_2O_3}$;\nogrid
+\yaxis7truecm,-6.0,0.0,1.0,${\mit\Delta}_{mix}G$ %
+[kJmol$^{-1}$];}
+{\connect{\point1.0,-6.0;\point1.0,0.0;}
+\curve{\vpoint0.,0.;\point0.1,-3.687;
+\point0.2,-4.527;\point0.3,-4.676;\point0.4,-4.426;
+\point0.5,-3.929;\point0.6,-3.322;\point0.7,-2.723;
+\point0.8,-2.183;\point0.9,-1.597;\vpoint1.,0.;}
+\values{\ownsymbol{1473\enspace K}\point0.37,-4.;}
+\curve{\vpoint0.,0.;\point0.1,-3.993;
+\point0.2,-4.886;\point0.3,-5.046;\point0.4,-4.743;
+\point0.5,-4.248;\point0.6,-3.605;\point0.7,-2.963;
+\point0.8,-2.360;\point0.9,-1.698;\vpoint1.,0.;}
+\values{\ownsymbol{1513\enspace K}\point0.64,-4.;}}
+\hfill}
+\medskip
+\noindent{\bf Figure~19. \rm Integral Gibbs energy of solution
+of the $\alpha$-Cr$_2$O$_3-\alpha$-Al$_2$O$_3$
+system at 1473 and 1513~K.}}
diff --git a/info/digests/tex88/ramek/tex88.fg2 b/info/digests/tex88/ramek/tex88.fg2
new file mode 100644
index 0000000000..a98feee2c9
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg2
@@ -0,0 +1,50 @@
+\centerline{
+\structure{\nopositioncheck\atom{C}\esingle\atom{C}\nnwsingle
+\atom{C}\sswsingle\atom{C}}
+\hskip 1truecm
+\structure{\nopositioncheck\atom{C}\nsingle\atom{C}\sesingle
+\atom{C}\swsingle\atom{C}}
+\hskip 1truecm
+\structure{\nopositioncheck\atom{C}\nsingle\atom{C}\esingle
+\atom{C}\ssingle\atom{C}\wsingle\atom{C}}
+\hskip 1truecm
+\structure{\atom{C}\nwsingle\atom{C}\nesingle\atom{C}\sesingle
+\atom{C}\swsingle\atom{C}}
+\hskip 1truecm
+\structure{\atom{C}\nnwsingle\atom{C}\nesingle\atom{C}\sesingle
+\atom{C}\sswsingle\atom{C}\wsingle\atom{C}}
+}
+\medskip
+\centerline{
+\structure{\atom{C}\nwsingle\atom{C}\nsingle\atom{C}\nesingle
+\atom{C}\sesingle\atom{C}\ssingle\atom{C}\swsingle\atom{C}}
+\hskip 1truecm
+\structure{\atom{C}\nnwsingle\atom{C}\nnesingle\atom{C}\esingle
+\atom{C}\ssesingle\atom{C}\sswsingle\atom{C}\wsingle\atom{C}}
+\hskip 1truecm
+\structure{\atom{C}\nnwsingle\atom{C}\nnesingle\atom{C}\esingle
+\atom{C}\sesingle\atom{C}\ssingle\atom{C}\swsingle\atom{C}
+\wsingle\atom{C}}
+\hskip 1truecm
+\structure{\atom{C}\nwsingle\atom{C}\nnwsingle\atom{C}\nesingle
+\atom{C}\esingle\atom{C}\sesingle\atom{C}\sswsingle\atom{C}
+\swsingle\atom{C}}
+}
+\medskip
+\centerline{
+\structure{\atom{C}\nwsingle\atom{C}\nsingle\atom{C}\nesingle
+\atom{C}\esingle\atom{C}\sesingle\atom{C}\ssingle\atom{C}
+\swsingle\atom{C}\wsingle\atom{C}}
+\hskip 1truecm
+\structure{\atom{C}\nwsingle\atom{C}\nnwsingle\atom{C}\nsingle
+\atom{C}\nesingle\atom{C}\esingle\atom{C}\sesingle\atom{C}
+\ssingle\atom{C}\sswsingle\atom{C}\swsingle\atom{C}}
+\hskip 1truecm
+\structure{\atom{C}\nwsingle\atom{C}\nnwsingle\atom{C}\nnesingle
+\atom{C}\nesingle\atom{C}\esingle\atom{C}\sesingle\atom{C}
+\ssesingle\atom{C}\sswsingle\atom{C}\swsingle\atom{C}\wsingle
+\atom{C}}
+}
+\medskip\centerline{\bf Figure~2. \rm
+Three- to ten-membered carbon rings.}
+
diff --git a/info/digests/tex88/ramek/tex88.fg20 b/info/digests/tex88/ramek/tex88.fg20
new file mode 100644
index 0000000000..37d90c3ce3
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg20
@@ -0,0 +1,197 @@
+% Circle diagram generation:
+%
+% Call: \Torte{arg1}{arg2} .
+%
+% arg1: Approximate diameter (in any of TeX's units) .
+%
+% arg2: Sector definition (in order) by \Sektor arg3,arg4; .
+%
+% arg3: Sector size in percent .
+%
+% arg4: Sector label .
+%
+% NOTE: Sector sizes MUST add up to 100 percent .
+%
+\def\Coo#1,#2;{%
+\ifnum\count100=1 \point#1,#2;\fi%
+\ifnum\count100=2 \point#2,#1;\fi%
+\ifnum\count100=3 \point#2,-#1;\fi%
+\ifnum\count100=4 \point#1,-#2;\fi%
+\ifnum\count100=5 \point-#1,-#2;\fi%
+\ifnum\count100=6 \point-#2,-#1;\fi%
+\ifnum\count100=7 \point-#2,#1;\fi%
+\ifnum\count100=8 \point-#1,#2;\fi}%
+%
+\def\Kreis{% Coordinates were generated by the program
+% character*7 h
+% real s(26),c(26)
+% character*4 coo
+% data coo/'\Coo'/
+% pi=4.*atan(1.)
+% do1i=1,26
+% x=float(i-1)/100.*pi
+% s(i)=100.*sin(x)
+% 1 c(i)=100.*cos(x)
+% write(7,2)(coo,s(i),c(i),i=1,26)
+% 2 format(3(a4,f7.3,',',f7.3,';'),'%')
+% end
+\Coo 0.000,100.000;\Coo 3.141, 99.951;\Coo 6.279, 99.803;%
+\Coo 9.411, 99.556;\Coo 12.533, 99.211;\Coo 15.643, 98.769;%
+\Coo 18.738, 98.229;\Coo 21.814, 97.592;\Coo 24.869, 96.858;%
+\Coo 27.899, 96.029;\Coo 30.902, 95.106;\Coo 33.874, 94.088;%
+\Coo 36.812, 92.978;\Coo 39.715, 91.775;\Coo 42.578, 90.483;%
+\Coo 45.399, 89.101;\Coo 48.175, 87.631;\Coo 50.904, 86.074;%
+\Coo 53.583, 84.433;\Coo 56.208, 82.708;\Coo 58.779, 80.902;%
+\Coo 61.291, 79.016;\Coo 63.742, 77.051;\Coo 66.131, 75.011;%
+\Coo 68.455, 72.897;\Coo 70.711, 70.711;
+}
+\def\Adjust{\count100=1
+\ifdim\dimen101>12.5pt \advance\count100 by1\fi%
+\ifdim\dimen101>25pt \advance\count100 by1\fi%
+\ifdim\dimen101>37.5pt \advance\count100 by1\fi%
+\ifdim\dimen101>50pt \advance\count100 by1\fi%
+\ifdim\dimen101>62.5pt \advance\count100 by1\fi%
+\ifdim\dimen101>75pt \advance\count100 by1\fi%
+\ifdim\dimen101>87.5pt \advance\count100 by1%
+\advance\dimen101 by-25pt\fi\relax%
+\ifnum\count100>1 \advance\dimen101 by-25pt\fi\relax%
+\ifnum\count100>3 \advance\dimen101 by-25pt\fi\relax%
+\ifnum\count100>5 \advance\dimen101 by-25pt\fi\relax%
+\ifdim\dimen101<0pt \multiply\dimen101 by-1\fi\relax}%
+%
+\def\Vorbei{\dimen101=-1pt}%
+\def\Sektor#1,#2;{\dimen101=\dimen100%
+\advance\dimen100 by #1pt \ifdim\dimen100>100pt %
+\message{Sector beyond 100 percent ignored}\else%
+\advance\dimen101 by\dimen100\divide\dimen101 by2\Adjust%
+\values{\ifnum\count100<5 \ownsymbol{\hbox to1em{#2\hss}}%
+\else\ownsymbol{\hbox to1em{\hss#2}}\fi\relax%
+% The following code was generated by the program
+% dimension x1(41),x2(41),x3(41)
+% pi=4.*atan(1.)
+% i=0
+% do1x=12.3,0.1,-.3
+% i=i+1
+% xx=x/50.*pi
+% x1(i)=x
+% x2(i)=120.*sin(xx)
+% x3(i)=120.*cos(xx)
+% 1 write(7,2)x,x2(i),x3(i)
+% 2 format('\ifdim\dimen101>',f4.1,'pt \Coo',f7.3,',',f7.3,
+% $';\Vorbei\fi\relax%')
+% write(7,3)
+% 3 format('\ifdim\dimen101<0pt \else\Coo0.,120.;\fi}%'/
+% $'\dimen101=\dimen100\Adjust\connect{\point0.,0.;%')
+% write(7,2)(x1(i),x2(i)/1.2,x3(i)/1.2,i=1,41)
+% end
+%
+\ifdim\dimen101>12.3pt \Coo 83.780, 85.912;\Vorbei\fi\relax%
+\ifdim\dimen101>12.0pt \Coo 82.146, 87.476;\Vorbei\fi\relax%
+\ifdim\dimen101>11.7pt \Coo 80.482, 89.009;\Vorbei\fi\relax%
+\ifdim\dimen101>11.4pt \Coo 78.790, 90.510;\Vorbei\fi\relax%
+\ifdim\dimen101>11.1pt \Coo 77.070, 91.979;\Vorbei\fi\relax%
+\ifdim\dimen101>10.8pt \Coo 75.323, 93.415;\Vorbei\fi\relax%
+\ifdim\dimen101>10.5pt \Coo 73.549, 94.819;\Vorbei\fi\relax%
+\ifdim\dimen101>10.2pt \Coo 71.749, 96.188;\Vorbei\fi\relax%
+\ifdim\dimen101> 9.9pt \Coo 69.923, 97.523;\Vorbei\fi\relax%
+\ifdim\dimen101> 9.6pt \Coo 68.072, 98.824;\Vorbei\fi\relax%
+\ifdim\dimen101> 9.3pt \Coo 66.197,100.089;\Vorbei\fi\relax%
+\ifdim\dimen101> 9.0pt \Coo 64.299,101.319;\Vorbei\fi\relax%
+\ifdim\dimen101> 8.7pt \Coo 62.378,102.513;\Vorbei\fi\relax%
+\ifdim\dimen101> 8.4pt \Coo 60.435,103.671;\Vorbei\fi\relax%
+\ifdim\dimen101> 8.1pt \Coo 58.470,104.792;\Vorbei\fi\relax%
+\ifdim\dimen101> 7.8pt \Coo 56.484,105.875;\Vorbei\fi\relax%
+\ifdim\dimen101> 7.5pt \Coo 54.479,106.921;\Vorbei\fi\relax%
+\ifdim\dimen101> 7.2pt \Coo 52.454,107.929;\Vorbei\fi\relax%
+\ifdim\dimen101> 6.9pt \Coo 50.410,108.898;\Vorbei\fi\relax%
+\ifdim\dimen101> 6.6pt \Coo 48.349,109.829;\Vorbei\fi\relax%
+\ifdim\dimen101> 6.3pt \Coo 46.270,110.721;\Vorbei\fi\relax%
+\ifdim\dimen101> 6.0pt \Coo 44.175,111.573;\Vorbei\fi\relax%
+\ifdim\dimen101> 5.7pt \Coo 42.064,112.386;\Vorbei\fi\relax%
+\ifdim\dimen101> 5.4pt \Coo 39.938,113.159;\Vorbei\fi\relax%
+\ifdim\dimen101> 5.1pt \Coo 37.798,113.892;\Vorbei\fi\relax%
+\ifdim\dimen101> 4.8pt \Coo 35.645,114.584;\Vorbei\fi\relax%
+\ifdim\dimen101> 4.5pt \Coo 33.479,115.235;\Vorbei\fi\relax%
+\ifdim\dimen101> 4.2pt \Coo 31.301,115.846;\Vorbei\fi\relax%
+\ifdim\dimen101> 3.9pt \Coo 29.112,116.415;\Vorbei\fi\relax%
+\ifdim\dimen101> 3.6pt \Coo 26.912,116.943;\Vorbei\fi\relax%
+\ifdim\dimen101> 3.3pt \Coo 24.703,117.430;\Vorbei\fi\relax%
+\ifdim\dimen101> 3.0pt \Coo 22.486,117.874;\Vorbei\fi\relax%
+\ifdim\dimen101> 2.7pt \Coo 20.260,118.277;\Vorbei\fi\relax%
+\ifdim\dimen101> 2.4pt \Coo 18.027,118.638;\Vorbei\fi\relax%
+\ifdim\dimen101> 2.1pt \Coo 15.788,118.957;\Vorbei\fi\relax%
+\ifdim\dimen101> 1.8pt \Coo 13.543,119.233;\Vorbei\fi\relax%
+\ifdim\dimen101> 1.5pt \Coo 11.293,119.467;\Vorbei\fi\relax%
+\ifdim\dimen101> 1.2pt \Coo 9.039,119.659;\Vorbei\fi\relax%
+\ifdim\dimen101> 0.9pt \Coo 6.782,119.808;\Vorbei\fi\relax%
+\ifdim\dimen101> 0.6pt \Coo 4.523,119.915;\Vorbei\fi\relax%
+\ifdim\dimen101> 0.3pt \Coo 2.262,119.979;\Vorbei\fi\relax%
+\ifdim\dimen101<0pt \else\Coo0.,120.;\fi}%
+\dimen101=\dimen100\Adjust\connect{\point0.,0.;%
+\ifdim\dimen101>12.3pt \Coo 69.817, 71.594;\Vorbei\fi\relax%
+\ifdim\dimen101>12.0pt \Coo 68.455, 72.897;\Vorbei\fi\relax%
+\ifdim\dimen101>11.7pt \Coo 67.069, 74.174;\Vorbei\fi\relax%
+\ifdim\dimen101>11.4pt \Coo 65.659, 75.425;\Vorbei\fi\relax%
+\ifdim\dimen101>11.1pt \Coo 64.225, 76.649;\Vorbei\fi\relax%
+\ifdim\dimen101>10.8pt \Coo 62.769, 77.846;\Vorbei\fi\relax%
+\ifdim\dimen101>10.5pt \Coo 61.291, 79.016;\Vorbei\fi\relax%
+\ifdim\dimen101>10.2pt \Coo 59.790, 80.157;\Vorbei\fi\relax%
+\ifdim\dimen101> 9.9pt \Coo 58.269, 81.269;\Vorbei\fi\relax%
+\ifdim\dimen101> 9.6pt \Coo 56.727, 82.353;\Vorbei\fi\relax%
+\ifdim\dimen101> 9.3pt \Coo 55.165, 83.408;\Vorbei\fi\relax%
+\ifdim\dimen101> 9.0pt \Coo 53.583, 84.433;\Vorbei\fi\relax%
+\ifdim\dimen101> 8.7pt \Coo 51.982, 85.428;\Vorbei\fi\relax%
+\ifdim\dimen101> 8.4pt \Coo 50.362, 86.392;\Vorbei\fi\relax%
+\ifdim\dimen101> 8.1pt \Coo 48.725, 87.326;\Vorbei\fi\relax%
+\ifdim\dimen101> 7.8pt \Coo 47.070, 88.229;\Vorbei\fi\relax%
+\ifdim\dimen101> 7.5pt \Coo 45.399, 89.101;\Vorbei\fi\relax%
+\ifdim\dimen101> 7.2pt \Coo 43.712, 89.941;\Vorbei\fi\relax%
+\ifdim\dimen101> 6.9pt \Coo 42.009, 90.748;\Vorbei\fi\relax%
+\ifdim\dimen101> 6.6pt \Coo 40.291, 91.524;\Vorbei\fi\relax%
+\ifdim\dimen101> 6.3pt \Coo 38.558, 92.267;\Vorbei\fi\relax%
+\ifdim\dimen101> 6.0pt \Coo 36.812, 92.978;\Vorbei\fi\relax%
+\ifdim\dimen101> 5.7pt \Coo 35.053, 93.655;\Vorbei\fi\relax%
+\ifdim\dimen101> 5.4pt \Coo 33.282, 94.299;\Vorbei\fi\relax%
+\ifdim\dimen101> 5.1pt \Coo 31.499, 94.910;\Vorbei\fi\relax%
+\ifdim\dimen101> 4.8pt \Coo 29.704, 95.486;\Vorbei\fi\relax%
+\ifdim\dimen101> 4.5pt \Coo 27.899, 96.029;\Vorbei\fi\relax%
+\ifdim\dimen101> 4.2pt \Coo 26.084, 96.538;\Vorbei\fi\relax%
+\ifdim\dimen101> 3.9pt \Coo 24.260, 97.013;\Vorbei\fi\relax%
+\ifdim\dimen101> 3.6pt \Coo 22.427, 97.453;\Vorbei\fi\relax%
+\ifdim\dimen101> 3.3pt \Coo 20.586, 97.858;\Vorbei\fi\relax%
+\ifdim\dimen101> 3.0pt \Coo 18.738, 98.229;\Vorbei\fi\relax%
+\ifdim\dimen101> 2.7pt \Coo 16.883, 98.564;\Vorbei\fi\relax%
+\ifdim\dimen101> 2.4pt \Coo 15.023, 98.865;\Vorbei\fi\relax%
+\ifdim\dimen101> 2.1pt \Coo 13.156, 99.131;\Vorbei\fi\relax%
+\ifdim\dimen101> 1.8pt \Coo 11.286, 99.361;\Vorbei\fi\relax%
+\ifdim\dimen101> 1.5pt \Coo 9.411, 99.556;\Vorbei\fi\relax%
+\ifdim\dimen101> 1.2pt \Coo 7.533, 99.716;\Vorbei\fi\relax%
+\ifdim\dimen101> 0.9pt \Coo 5.652, 99.840;\Vorbei\fi\relax%
+\ifdim\dimen101> 0.6pt \Coo 3.769, 99.929;\Vorbei\fi\relax%
+\ifdim\dimen101> 0.3pt \Coo 1.885, 99.982;\Vorbei\fi\relax%
+%
+\ifdim\dimen101<0pt \else\Coo0.,100.;\fi}\fi}%
+%
+\def\Torte#1#2{\diagram{\xaxis#1,-95.,155.,250.,;\noaxis%
+\yaxis#1,-125.,125.,250.,;\noaxis\nogrid}{\dimen100=0pt\relax#2%
+\advance\dimen100 by-100pt\relax\ifdim\dimen100<0pt %
+\multiply\dimen100 by-1\fi\relax\ifdim\dimen100<0.01pt %
+\count100=1\connect{\Kreis}\count100=2\connect{\Kreis}%
+\count100=3\connect{\Kreis}\count100=4\connect{\Kreis}%
+\count100=5\connect{\Kreis}\count100=6\connect{\Kreis}%
+\count100=7\connect{\Kreis}\count100=8\connect{\Kreis}\fi}}
+%
+\vbox{\centerline{\Torte{6truecm}{
+\Sektor1.1,Geometry\enspace\&\enspace Basis;
+\Sektor23.0,Integrals;\Sektor0.5,Guess;\Sektor12.7,SCF;
+\Sektor62.7,Gradient;}}
+\noindent{\bf Figure~20. \rm Distribution of CPU time for
+the first optimization cycle in an {\it ab initio\/} SCF
+geometry optimization of $\beta$-Alanine with the 4-31G basis
+set, using the program GAMESS on a CONVEX~C1-XP.
+(Starting on top and proceeding clockwise: geometry and basis
+set definition: 38.9\thinspace s~(=~1.1\%),
+integral calculation: 778.1\thinspace s~(=~23.0\%),
+guess of initial density matrix: 16.5\thinspace s~(=~0.5\%),
+SCF iteration: 428.7\thinspace s~(=~12.7\%), gradient
+calculation: 2123.0\thinspace s~(=~62.7\%)\thinspace.)}}
diff --git a/info/digests/tex88/ramek/tex88.fg3 b/info/digests/tex88/ramek/tex88.fg3
new file mode 100644
index 0000000000..0a4e269712
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg3
@@ -0,0 +1,25 @@
+\centerline{
+\structure{\nopositioncheck\wmostaromatatom{C}\nsingle\atom{C}
+\nesingle\nmostaromatatom{C}\sesingle\emostaromatatom{C}\ssingle
+\atom{C}\swsingle\smostaromatatom{C}\nwsingle\phantatom{C}}
+\hskip 1truecm
+\structure{\nopositioncheck\atom{C}\ndouble\atom{C}\nesingle
+\firstbicycloatom{C}\sesingle\atom{C}\sdouble\atom{C}\swsingle
+\secondbicycloatom{C}\nwsingle\phantatom{C}}
+\hskip 1truecm
+\structure{\nopositioncheck\firstbicycloatom{C}\nsingle
+\phantatom{C}\nesingle\secondbicycloatom{C}\swphantom
+\firstbicycloatom{C}\nephantom\phantatom{C}\sesingle\atom{C}
+\sdouble\atom{C}\swsingle\secondbicycloatom{C}\nwsingle
+\phantatom{C}}
+\hskip 1truecm
+\structure{\nopositioncheck\firstbicycloatom{C}\sesingle
+\phantatom{C}\nephantom\secondbicycloatom{C}\swsingle
+\firstbicycloatom{C}\nephantom\phantatom{C}\nsingle\phantatom{C}
+\nwsingle\secondbicycloatom{C}\sephantom\firstbicycloatom{C}
+\nwphantom\phantatom{C}\swsingle\secondbicycloatom{C}\ssingle
+\phantatom{C}}
+}
+\medskip\centerline{\bf Figure~3. \rm
+Four different benzene structures.}
+
diff --git a/info/digests/tex88/ramek/tex88.fg4 b/info/digests/tex88/ramek/tex88.fg4
new file mode 100644
index 0000000000..dce0ced7a2
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg4
@@ -0,0 +1,21 @@
+\hbox{\vbox{
+\hbox to 0.5\hsize{\hss
+\structure{\emostaromatatom{C}\swsingle\smostaromatatom{C}
+\wsingle\atom{C}\nnwsingle\wmostaromatatom{C}\nnesingle
+\nmostaromatatom{C}\esingle\atom{C}\sesingle\wmostaromatatom{C}
+\nesingle\nmostaromatatom{C}\ssesingle\emostaromatatom{C}
+\sswsingle\smostaromatatom{C}\nwsingle\phantatom{C}\nsingle
+\phantatom{C}}
+\hss}
+\medskip\hbox to 0.5\hsize{\bf Figure~4. \rm
+The azulene ring system.\hss}
+}\vbox{
+\hbox to 0.5\hsize{\hss
+\structure{\longerewbonds\firstbicycloatom{C}\nnwsingle\atom{C}
+\eneabove\atom{C}\eseevoba\atom{C}\sswsingle
+\secondbicycloatom{C}}
+\hss}
+\medskip
+\vbox{\hsize=0.5\hsize\noindent\bf Figure~5. \rm
+Envelope form of the cyclo\-pentane ring.}
+}}
diff --git a/info/digests/tex88/ramek/tex88.fg45 b/info/digests/tex88/ramek/tex88.fg45
new file mode 100644
index 0000000000..dce0ced7a2
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg45
@@ -0,0 +1,21 @@
+\hbox{\vbox{
+\hbox to 0.5\hsize{\hss
+\structure{\emostaromatatom{C}\swsingle\smostaromatatom{C}
+\wsingle\atom{C}\nnwsingle\wmostaromatatom{C}\nnesingle
+\nmostaromatatom{C}\esingle\atom{C}\sesingle\wmostaromatatom{C}
+\nesingle\nmostaromatatom{C}\ssesingle\emostaromatatom{C}
+\sswsingle\smostaromatatom{C}\nwsingle\phantatom{C}\nsingle
+\phantatom{C}}
+\hss}
+\medskip\hbox to 0.5\hsize{\bf Figure~4. \rm
+The azulene ring system.\hss}
+}\vbox{
+\hbox to 0.5\hsize{\hss
+\structure{\longerewbonds\firstbicycloatom{C}\nnwsingle\atom{C}
+\eneabove\atom{C}\eseevoba\atom{C}\sswsingle
+\secondbicycloatom{C}}
+\hss}
+\medskip
+\vbox{\hsize=0.5\hsize\noindent\bf Figure~5. \rm
+Envelope form of the cyclo\-pentane ring.}
+}}
diff --git a/info/digests/tex88/ramek/tex88.fg6 b/info/digests/tex88/ramek/tex88.fg6
new file mode 100644
index 0000000000..ce05167696
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg6
@@ -0,0 +1,36 @@
+\vbox{% First: Save Fig. 6 and Fig. 7 in separate boxes.
+\newbox\figsix\setbox\figsix=\structure{
+\nopositioncheck\atom{H}\esingle\wmostaromatatom{C}
+\nnesingle\nmostaromatatom{C}
+\side{\nnwsingle\atom{C}\side{\nneabove\atom{H}}
+\side{\nebelow\atom{H}}\wsingle\atom{H}}
+\esingle\atom{C}\side{\nnesingle\atom{H}}\ssesingle
+\emostaromatatom{C}\side{\esingle\atom{S}\esingle
+\wmostaromatatom{C}\nnesingle\atom{C}
+\side{\nnwsingle\atom{H}}\esingle\nmostaromatatom{C}
+\side{\nnesingle\atom{H}}\ssesingle\emostaromatatom{C}
+\side{\esingle\atom{C}\side{\sseabove\atom{H}}
+\side{\sebelow\atom{H}}\nnesingle\atom{H}}\sswsingle
+\smostaromatatom{C}\side{\ssesingle\atom{H}}\wsingle
+\atom{C}\side{\sswsingle\atom{H}}\nnwsingle\phantatom{C}}
+\sswsingle\atom{C}\side{\ssesingle\atom{H}}\wsingle
+\smostaromatatom{C}\side{\sswsingle\atom{H}}\nnwsingle
+\phantatom{C}}
+\newbox\figseven\setbox\figseven=\structure{\atom{H}
+\nnebelow\atom{B}\side{\nesingle\atom{H}}
+\side{\nwsingle\atom{H}}\sseabove\atom{H}\sswevoba\atom{B}
+\side{\swsingle\atom{H}}\side{\sesingle\atom{H}}
+\nnwbelow\phantatom{B}}
+% Second: Use the width of the saved structures for the
+% figure captions, comment each end-of-line to avoid
+% additional spacing.
+\newbox\caption\setbox\caption=\hbox to\hsize{\hss%
+\hbox to\wd\figsix{\hss\bf Figure~6. \rm %
+3,4'-Ditolylsulfide.\hss}\hss\hss%
+\hbox to\wd\figseven{\hss\bf Figure~7. \rm Diborane.\hss}%
+\hss}
+% Third: Print structures and captions.
+\line{\hss\box\figsix\hss\hss\box\figseven\hss}
+\medskip
+\box\caption
+}
diff --git a/info/digests/tex88/ramek/tex88.fg67 b/info/digests/tex88/ramek/tex88.fg67
new file mode 100644
index 0000000000..ce05167696
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg67
@@ -0,0 +1,36 @@
+\vbox{% First: Save Fig. 6 and Fig. 7 in separate boxes.
+\newbox\figsix\setbox\figsix=\structure{
+\nopositioncheck\atom{H}\esingle\wmostaromatatom{C}
+\nnesingle\nmostaromatatom{C}
+\side{\nnwsingle\atom{C}\side{\nneabove\atom{H}}
+\side{\nebelow\atom{H}}\wsingle\atom{H}}
+\esingle\atom{C}\side{\nnesingle\atom{H}}\ssesingle
+\emostaromatatom{C}\side{\esingle\atom{S}\esingle
+\wmostaromatatom{C}\nnesingle\atom{C}
+\side{\nnwsingle\atom{H}}\esingle\nmostaromatatom{C}
+\side{\nnesingle\atom{H}}\ssesingle\emostaromatatom{C}
+\side{\esingle\atom{C}\side{\sseabove\atom{H}}
+\side{\sebelow\atom{H}}\nnesingle\atom{H}}\sswsingle
+\smostaromatatom{C}\side{\ssesingle\atom{H}}\wsingle
+\atom{C}\side{\sswsingle\atom{H}}\nnwsingle\phantatom{C}}
+\sswsingle\atom{C}\side{\ssesingle\atom{H}}\wsingle
+\smostaromatatom{C}\side{\sswsingle\atom{H}}\nnwsingle
+\phantatom{C}}
+\newbox\figseven\setbox\figseven=\structure{\atom{H}
+\nnebelow\atom{B}\side{\nesingle\atom{H}}
+\side{\nwsingle\atom{H}}\sseabove\atom{H}\sswevoba\atom{B}
+\side{\swsingle\atom{H}}\side{\sesingle\atom{H}}
+\nnwbelow\phantatom{B}}
+% Second: Use the width of the saved structures for the
+% figure captions, comment each end-of-line to avoid
+% additional spacing.
+\newbox\caption\setbox\caption=\hbox to\hsize{\hss%
+\hbox to\wd\figsix{\hss\bf Figure~6. \rm %
+3,4'-Ditolylsulfide.\hss}\hss\hss%
+\hbox to\wd\figseven{\hss\bf Figure~7. \rm Diborane.\hss}%
+\hss}
+% Third: Print structures and captions.
+\line{\hss\box\figsix\hss\hss\box\figseven\hss}
+\medskip
+\box\caption
+}
diff --git a/info/digests/tex88/ramek/tex88.fg8 b/info/digests/tex88/ramek/tex88.fg8
new file mode 100644
index 0000000000..560b43b36b
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg8
@@ -0,0 +1,17 @@
+\vbox{
+\centerline{\structure{\nopositioncheck
+\atom{O}\etriple\atom{C}\esingle\firstbicycloatom{Fe}
+\side{\nwsingle\atom{C}\nwtriple\atom{O}}
+\side{\swsingle\atom{C}\swtriple\atom{O}}
+\sesingle\atom{C}\side{\sdouble\atom{O}}\nesingle\phantatom{Fe}
+\side{\esingle\atom{C}\etriple\atom{O}}
+\side{\sesingle\atom{C}\setriple\atom{O}}
+\side{\nesingle\atom{C}\netriple\atom{O}}
+\nnwsingle\secondbicycloatom{C}\side{\nnedouble\atom{O}}
+\ssephantom\firstbicycloatom{Fe}\swphantom\phantatom{C}
+\nwphantom\phantatom{Fe}\nnesingle\secondbicycloatom{C}
+\side{\nnwdouble\atom{O}}\sswphantom\firstbicycloatom{Fe}
+\sephantom\phantatom{C}\nephantom\secondbicycloatom{Fe}}}
+\medskip \centerline{\bf Figure~8. \rm
+Tri-$\mu$-carbonyl-bis(tricarbonyliron).}
+}
diff --git a/info/digests/tex88/ramek/tex88.fg9 b/info/digests/tex88/ramek/tex88.fg9
new file mode 100644
index 0000000000..ab822765c9
--- /dev/null
+++ b/info/digests/tex88/ramek/tex88.fg9
@@ -0,0 +1,24 @@
+\vbox{
+\centerline{
+\structure{\atom{\enspace\thinspace Li$^+$}
+\side{\nwbelow\atom{O}
+\side{\nsingle\atom{H}\nnwbelow\atom{O}\side{\wsingle\atom{H}}
+\nsingle\atom{H}}\swsingle\atom{H}\wnwbelow\atom{O}
+\side{\wsingle\atom{H}}\nsingle\atom{H}}
+\side{\nebelow\atom{O}
+\side{\nsingle\atom{H}\nnebelow\atom{O}\side{\esingle\atom{H}}
+\nsingle\atom{H}}\sesingle\atom{H}\enebelow\atom{O}
+\side{\esingle\atom{H}}\nsingle\atom{H}}
+\side{\swbelow\atom{O}
+\side{\ssingle\atom{H}\sswbelow\atom{O}\side{\wsingle\atom{H}}
+\ssingle\atom{H}}\nwsingle\atom{H}\wswbelow\atom{O}
+\side{\wsingle\atom{H}}\ssingle\atom{H}}
+\side{\sebelow\atom{O}
+\side{\ssingle\atom{H}\ssebelow\atom{O}\side{\esingle\atom{H}}
+\ssingle\atom{H}}\nesingle\atom{H}\esebelow\atom{O}
+\side{\esingle\atom{H}}\ssingle\atom{H}}}
+}
+\medskip
+\centerline{\bf Figure~9. \rm A lithium cation surrounded by
+two hydration spheres.}
+}
diff --git a/info/digests/tex88/tree/l_pic.tex b/info/digests/tex88/tree/l_pic.tex
new file mode 100644
index 0000000000..11aeab036a
--- /dev/null
+++ b/info/digests/tex88/tree/l_pic.tex
@@ -0,0 +1,842 @@
+% All this stuff comes from latex.tex, most of it from the
+% picture environment. No changes!!!
+% It is needed if you want to use TreeTeX together with plain TeX.
+
+\catcode`\@=11
+
+\def\@height{height}
+\def\@depth{depth}
+\def\@width{width}
+
+\font\tenln=line10
+\font\tencirc=circle10
+\font\tenlnw=linew10
+\font\tencircw=circlew10
+
+\newcount\@tempcnta
+\newcount\@tempcntb
+\newdimen\@tempdima
+\newdimen\@tempdimb
+\newbox\@tempboxa
+
+\def\@whilenoop#1{}
+\def\@whilenum#1\do #2{\ifnum #1\relax #2\relax\@iwhilenum{#1\relax
+ #2\relax}\fi}
+\def\@iwhilenum#1{\ifnum #1\let\@nextwhile=\@iwhilenum
+ \else\let\@nextwhile=\@whilenoop\fi\@nextwhile{#1}}
+
+\def\@whiledim#1\do #2{\ifdim #1\relax#2\@iwhiledim{#1\relax#2}\fi}
+\def\@iwhiledim#1{\ifdim #1\let\@nextwhile=\@iwhiledim
+ \else\let\@nextwhile=\@whilenoop\fi\@nextwhile{#1}}
+
+\def\@ifnextchar#1#2#3{\let\@tempe #1\def\@tempa{#2}\def\@tempb{#3}\futurelet
+ \@tempc\@ifnch}
+\def\@ifnch{\ifx \@tempc \@sptoken \let\@tempd\@xifnch
+ \else \ifx \@tempc \@tempe\let\@tempd\@tempa\else\let\@tempd\@tempb\fi
+ \fi \@tempd}
+
+% NOTE: the following hacking must precede the definition of \:
+% as math medium space.
+
+\def\:{\let\@sptoken= } \: % this makes \@sptoken a space token
+
+\def\:{\@xifnch} \expandafter\def\: {\futurelet\@tempc\@ifnch}
+
+\def\@ifstar#1#2{\@ifnextchar *{\def\@tempa*{#1}\@tempa}{#2}}
+
+\let\:=\>
+
+% ****************************************
+% * THE PICTURE ENVIRONMENT *
+% ****************************************
+%
+% \unitlength = value of dimension argument
+% \@wholewidth = current line width
+% \@halfwidth = half of current line width
+% \@linefnt = font for drawing lines
+% \@circlefnt = font for drawing circles
+%
+% \linethickness{DIM} : Sets the width of horizontal and vertical lines
+% in a picture to DIM. Does not change width of slanted lines
+% or circles. Width of all lines reset by \thinlines and
+% \thicklines
+%
+% \picture(XSIZE,YSIZE)(XORG,YORG)
+% BEGIN
+% \@picht :=L YSIZE * \unitlength
+% box \@picbox :=
+% \hbox to XSIZE * \unitlength
+% {\hskip -XORG * \unitlength
+% \lower YORG * \unitlength
+% \hbox{
+% END
+%
+% \endpicture ==
+% BEGIN
+% } \hss }
+% heigth of \@picbox := \@picht
+% depth of \@picbox := 0
+% leavevmode
+% \box\@picbox
+% END
+%
+% \put(X, Y){OBJ} ==
+% BEGIN
+% \@killglue
+% \raise Y * \unitlength \hbox to 0pt { \hskip X * \unitlength
+% OBJ \hss }
+% \ignorespaces
+% END
+%
+% \multiput(X,Y)(DELX,DELY){N}{OBJ} ==
+% BEGIN
+% \@killglue
+% \@multicnt := N
+% \@xdim := X * \unitlength
+% \@ydim := Y * \unitlength
+% while \@multicnt > 0
+% do \raise \@ydim \hbox to 0pt { \hskip \@xdim
+% OBJ \hss }
+% \@multicnt := \@multicnt - 1
+% \@xdim := \@xdim + DELX * \unitlength
+% \@ydim := \@ydim + DELY * \unitlength
+% od
+% \ignorespaces
+% END
+%
+% \shortstack[POS]{TEXT} : Makes a \vbox containing TEXT stacked as
+% a one-column array, positioned l, r or c as indicated by POS.
+
+\newdimen\@wholewidth
+\newdimen\@halfwidth
+\newdimen\unitlength \unitlength =1pt
+\newbox\@picbox
+\newdimen\@picht
+
+\def\picture(#1,#2){\@ifnextchar({\@picture(#1,#2)}{\@picture(#1,#2)(0,0)}}
+
+\def\@picture(#1,#2)(#3,#4){\@picht #2\unitlength
+\setbox\@picbox\hbox to #1\unitlength\bgroup
+\hskip -#3\unitlength \lower #4\unitlength \hbox\bgroup}
+
+\def\endpicture{\egroup\hss\egroup\ht\@picbox\@picht
+\dp\@picbox\z@\leavevmode\box\@picbox}
+
+\long\def\put(#1,#2)#3{\@killglue\raise#2\unitlength\hbox to \z@{\hskip
+#1\unitlength #3\hss}\ignorespaces}
+
+\long\def\multiput(#1,#2)(#3,#4)#5#6{\@killglue\@multicnt=#5\relax
+\@xdim=#1\unitlength
+\@ydim=#2\unitlength
+\@whilenum \@multicnt > 0\do
+{\raise\@ydim\hbox to \z@{\hskip
+\@xdim #6\hss}\advance\@multicnt \m@ne\advance\@xdim
+#3\unitlength\advance\@ydim #4\unitlength}\ignorespaces}
+
+\def\@killglue{\unskip\@whiledim \lastskip >\z@\do{\unskip}}
+
+\def\thinlines{\let\@linefnt\tenln \let\@circlefnt\tencirc
+ \@wholewidth\fontdimen8\tenln \@halfwidth .5\@wholewidth}
+\def\thicklines{\let\@linefnt\tenlnw \let\@circlefnt\tencircw
+ \@wholewidth\fontdimen8\tenlnw \@halfwidth .5\@wholewidth}
+
+\def\linethickness#1{\@wholewidth #1\relax \@halfwidth .5\@wholewidth}
+
+\def\shortstack{\@ifnextchar[{\@shortstack}{\@shortstack[c]}}
+
+\def\@shortstack[#1]{\leavevmode
+\vbox\bgroup\baselineskip-1pt\lineskip 3pt\let\mb@l\hss
+\let\mb@r\hss \expandafter\let\csname mb@#1\endcsname\relax
+\let\\\@stackcr\@ishortstack}
+
+\def\@ishortstack#1{\halign{\mb@l ##\unskip\mb@r\cr #1\crcr}\egroup}
+
+
+\def\@stackcr{\@ifstar{\@ixstackcr}{\@ixstackcr}}
+\def\@ixstackcr{\@ifnextchar[{\@istackcr}{\cr\ignorespaces}}
+
+\def\@istackcr[#1]{\cr\noalign{\vskip #1}\ignorespaces}
+
+
+% \line(X,Y){LEN} ==
+% BEGIN
+% \@xarg := X
+% \@yarg := Y
+% \@linelen := LEN * \unitlength
+% if \@xarg = 0
+% then \@vline
+% else if \@yarg = 0
+% then \@hline
+% else \@sline
+% if
+% if
+% END
+%
+% \@sline ==
+% BEGIN
+% if \@xarg < 0
+% then @negarg := T
+% \@xarg := -\@xarg
+% \@yyarg := -\@yarg
+% else @negarg := F
+% \@yyarg := \@yarg
+% fi
+% \@tempcnta := |\@yyarg|
+% if \@tempcnta > 6
+% then error: 'LATEX ERROR: Illegal \line or \vector argument.'
+% \@tempcnta := 0
+% fi
+% \box\@linechar := \hbox{\@linefnt \@getlinechar(\@xarg,\@yyarg) }
+% if \@yarg > 0 then \@upordown = \raise
+% \@clnht := 0
+% else \@upordown = \lower
+% \@clnht := height of \box\@linechar
+% fi
+% \@clnwd := width of \box\@linechar
+% if @negarg
+% then \hskip - width of \box\@linechar
+% \@tempa == \hskip - 2* width of box \@linechar
+% else \@tempa == \relax
+% fi
+% %% Put out integral number of line segments
+% while \@clnwd < \@linelen
+% do \@upordown \@clnht \copy\@linechar
+% \@tempa
+% \@clnht := \@clnht + ht of \box\@linechar
+% \@clnwd := \@clnwd + width of \box\@linechar
+% od
+%
+% %% Put out last segment
+% \@clnht := \@clnht - height of \box\@linechar
+% \@clnwd := \@clnwd - width of \box\@linechar
+% \@tempdima := \@linelen - \@clnwd
+% \@tempdimb := \@tempdima - width of \box\@linechar
+% if @negarg then \hskip -\@tempdimb
+% else \hskip \@tempdimb
+% fi
+% \@tempdima := 1000 * \@tempdima
+% \@tempcnta := \@tempdima / width of \box\@linechar
+% \@tempdima := (\@tempcnta * ht of \box\@linechar)/1000
+% \@clnht := \@clnht + \@tempdima
+% if \@linelen < width of box\@linechar
+% then \hskip width of box\@linechar
+% else \hbox{\@upordown \@clnht \copy\@linechar}
+% fi
+% END
+%
+% \@hline ==
+% BEGIN
+% if \@xarg < 0 then \hskip -\@linelen \fi
+% \vrule height \@halfwidth depth \@halfwidth width \@linelen
+% if \@xarg < 0 then \hskip -\@linelen \fi
+% END
+%
+% \@vline == if \@yarg < 0 \@downline else \@upline fi
+%
+%
+% \@getlinechar(X,Y) ==
+% BEGIN
+% \@tempcnta := 8*X - 9
+% if Y > 0
+% then \@tempcnta := \@tempcnta + Y
+% else \@tempcnta := \@tempcnta - Y + 64
+% fi
+% \char\@tempcnta
+% END
+%
+% \vector(X,Y){LEN} ==
+% BEGIN
+% \@xarg := X
+% \@yarg := Y
+% \@linelen := LEN * \unitlength
+% if \@xarg = 0
+% then \@vvector
+% else if \@yarg = 0
+% then \@hvector
+% else \@svector
+% if
+% if
+% END
+%
+% \@hvector ==
+% BEGIN
+% \@hline
+% {\@linefnt if \@xarg < 0 then \@getlarrow(1,0)
+% else \@getrarrow(1,0)
+% fi}
+% END
+%
+% \@vvector == if \@yarg < 0 \@downvector else \@upvector fi
+%
+% \@svector ==
+% BEGIN
+% \@sline
+% \@tempcnta := |\@yarg|
+% if \@tempcnta < 5
+% then \hskip - width of \box\@linechar
+% \@upordown \@clnht \hbox
+% {\@linefnt
+% if @negarg then \@getlarrow(\@xarg,\@yyarg)
+% else \@getrarrow(\@xarg,\@yyarg)
+% fi }
+% else error: 'LATEX ERROR: Illegal \line or \vector argument.'
+% fi
+% END
+%
+% \@getlarrow(X,Y) ==
+% BEGIN
+% if Y = 0
+% then \@tempcnta := '33
+% else \@tempcnta := 16 * X - 9
+% \@tempcntb := 2 * Y
+% if \@tempcntb > 0
+% then \@tempcnta := \@tempcnta + \@tempcntb
+% else \@tempcnta := \@tempcnta - \@tempcntb + 64
+% fi
+% fi
+% \char\@tempcnta
+% END
+%
+% \@getrarrow(X,Y) ==
+% BEGIN
+% \@tempcntb := |Y|
+% case of \@tempcntb
+% 0 : \@tempcnta := '55
+% 1 : if X < 3
+% then \@tempcnta := 24*X - 6
+% else if X = 3
+% then \@tempcnta := 49
+% else \@tempcnta := 58 fi
+% fi
+% 2 : if X < 3
+% then \@tempcnta := 24*X - 3
+% else \@tempcnta := 51 % X must = 3
+% fi
+% 3 : \@tempcnta := 16*X - 2
+% 4 : \@tempcnta := 16*X + 7
+% endcase
+% if Y < 0
+% then \@tempcnta := \@tempcnta + 64
+% fi
+% \char\@tempcnta
+% END
+
+\newif\if@negarg
+
+\def\line(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
+\@linelen=#3\unitlength
+\ifnum\@xarg =0 \@vline
+ \else \ifnum\@yarg =0 \@hline \else \@sline\fi
+\fi}
+
+\def\@sline{\ifnum\@xarg< 0 \@negargtrue \@xarg -\@xarg \@yyarg -\@yarg
+ \else \@negargfalse \@yyarg \@yarg \fi
+\ifnum \@yyarg >0 \@tempcnta\@yyarg \else \@tempcnta -\@yyarg \fi
+\ifnum\@tempcnta>6 \@badlinearg\@tempcnta0 \fi
+\setbox\@linechar\hbox{\@linefnt\@getlinechar(\@xarg,\@yyarg)}%
+\ifnum \@yarg >0 \let\@upordown\raise \@clnht\z@
+ \else\let\@upordown\lower \@clnht \ht\@linechar\fi
+\@clnwd=\wd\@linechar
+\if@negarg \hskip -\wd\@linechar \def\@tempa{\hskip -2\wd\@linechar}\else
+ \let\@tempa\relax \fi
+\@whiledim \@clnwd <\@linelen \do
+ {\@upordown\@clnht\copy\@linechar
+ \@tempa
+ \advance\@clnht \ht\@linechar
+ \advance\@clnwd \wd\@linechar}%
+\advance\@clnht -\ht\@linechar
+\advance\@clnwd -\wd\@linechar
+\@tempdima\@linelen\advance\@tempdima -\@clnwd
+\@tempdimb\@tempdima\advance\@tempdimb -\wd\@linechar
+\if@negarg \hskip -\@tempdimb \else \hskip \@tempdimb \fi
+\multiply\@tempdima \@m
+\@tempcnta \@tempdima \@tempdima \wd\@linechar \divide\@tempcnta \@tempdima
+\@tempdima \ht\@linechar \multiply\@tempdima \@tempcnta
+\divide\@tempdima \@m
+\advance\@clnht \@tempdima
+\ifdim \@linelen <\wd\@linechar
+ \hskip \wd\@linechar
+ \else\@upordown\@clnht\copy\@linechar\fi}
+
+\def\@hline{\ifnum \@xarg <0 \hskip -\@linelen \fi
+\vrule \@height \@halfwidth \@depth \@halfwidth \@width \@linelen
+\ifnum \@xarg <0 \hskip -\@linelen \fi}
+
+\def\@getlinechar(#1,#2){\@tempcnta#1\relax\multiply\@tempcnta 8
+\advance\@tempcnta -9 \ifnum #2>0 \advance\@tempcnta #2\relax\else
+\advance\@tempcnta -#2\relax\advance\@tempcnta 64 \fi
+\char\@tempcnta}
+
+\def\vector(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
+\@linelen=#3\unitlength
+\ifnum\@xarg =0 \@vvector
+ \else \ifnum\@yarg =0 \@hvector \else \@svector\fi
+\fi}
+
+\def\@hvector{\@hline\hbox to 0pt{\@linefnt
+\ifnum \@xarg <0 \@getlarrow(1,0)\hss\else
+ \hss\@getrarrow(1,0)\fi}}
+
+\def\@vvector{\ifnum \@yarg <0 \@downvector \else \@upvector \fi}
+
+\def\@svector{\@sline
+\@tempcnta\@yarg \ifnum\@tempcnta <0 \@tempcnta=-\@tempcnta\fi
+\ifnum\@tempcnta <5
+ \hskip -\wd\@linechar
+ \@upordown\@clnht \hbox{\@linefnt \if@negarg
+ \@getlarrow(\@xarg,\@yyarg) \else \@getrarrow(\@xarg,\@yyarg) \fi}%
+\else\@badlinearg\fi}
+
+\def\@getlarrow(#1,#2){\ifnum #2 =\z@ \@tempcnta='33\else
+\@tempcnta=#1\relax\multiply\@tempcnta \sixt@@n \advance\@tempcnta
+-9 \@tempcntb=#2\relax\multiply\@tempcntb \tw@
+\ifnum \@tempcntb >0 \advance\@tempcnta \@tempcntb\relax
+\else\advance\@tempcnta -\@tempcntb\advance\@tempcnta 64
+\fi\fi\char\@tempcnta}
+
+\def\@getrarrow(#1,#2){\@tempcntb=#2\relax
+\ifnum\@tempcntb < 0 \@tempcntb=-\@tempcntb\relax\fi
+\ifcase \@tempcntb\relax \@tempcnta='55 \or
+\ifnum #1<3 \@tempcnta=#1\relax\multiply\@tempcnta
+24 \advance\@tempcnta -6 \else \ifnum #1=3 \@tempcnta=49
+\else\@tempcnta=58 \fi\fi\or
+\ifnum #1<3 \@tempcnta=#1\relax\multiply\@tempcnta
+24 \advance\@tempcnta -3 \else \@tempcnta=51\fi\or
+\@tempcnta=#1\relax\multiply\@tempcnta
+\sixt@@n \advance\@tempcnta -\tw@ \else
+\@tempcnta=#1\relax\multiply\@tempcnta
+\sixt@@n \advance\@tempcnta 7 \fi\ifnum #2<0 \advance\@tempcnta 64 \fi
+\char\@tempcnta}
+
+
+
+\def\@vline{\ifnum \@yarg <0 \@downline \else \@upline\fi}
+
+\def\@upline{\hbox to \z@{\hskip -\@halfwidth \vrule \@width \@wholewidth
+ \@height \@linelen \@depth \z@\hss}}
+
+\def\@downline{\hbox to \z@{\hskip -\@halfwidth \vrule \@width \@wholewidth
+ \@height \z@ \@depth \@linelen \hss}}
+
+\def\@upvector{\@upline\setbox\@tempboxa\hbox{\@linefnt\char'66}\raise
+ \@linelen \hbox to\z@{\lower \ht\@tempboxa\box\@tempboxa\hss}}
+
+\def\@downvector{\@downline\lower \@linelen
+ \hbox to \z@{\@linefnt\char'77\hss}}
+
+% \dashbox{D}(X,Y) ==
+% BEGIN
+% leave vertical mode
+% \hbox to 0pt {
+% \baselineskip := 0pt
+% \lineskip := 0pt
+% %% HORIZONTAL DASHES
+% \@dashdim := X * \unitlength
+% \@dashcnt := \@dashdim + 200 % to prevent roundoff error
+% \@dashdim := D * \unitlength
+% \@dashcnt := \@dashcnt / \@dashdim
+% if \@dashcnt is odd
+% then \@dashdim := 0pt
+% \@dashcnt := (\@dashcnt + 1) / 2
+% else \@dashdim := \@dashdim / 2
+% \@dashcnt := \@dashcnt / 2 - 1
+% \box\@dashbox := \hbox{\vrule height \@halfwidth
+% depth \@halfwidth width \@dashdim}
+% \put(0,0){\copy\@dashbox}
+% \put(0,Y){\copy\@dashbox}
+% \put(X,0){\hskip -\@dashdim\copy\@dashbox}
+% \put(X,Y){\hskip -\@dashdim\box\@dashbox}
+% \@dashdim := 3 * \@dashdim
+% fi
+% \box\@dashbox := \hbox{\vrule height \@halfwidth
+% depth \@halfwidth width D * \unitlength
+% \hskip D * \unitlength}
+% \@tempcnta := 0
+% \put(0,0){\hskip \@dashdim
+% while \@tempcnta < \@dascnt
+% do \copy\@dashbox
+% \@tempcnta := \@tempcnta + 1
+% od
+% }
+% \@tempcnta := 0
+% put(0,Y){\hskip \@dashdim
+% while \@tempcnta < \@dascnt
+% do \copy\@dashbox
+% \@tempcnta := \@tempcnta + 1
+% od
+% }
+%
+% %% vertical dashes
+% \@dashdim := Y * \unitlength
+% \@dashcnt := \@dashdim + 200 % to prevent roundoff error
+% \@dashdim := D * \unitlength
+% \@dashcnt := \@dashcnt / \@dashdim
+% if \@dashcnt is odd
+% then \@dashdim := 0pt
+% \@dashcnt := (\@dashcnt + 1) / 2
+% else \@dashdim := \@dashdim / 2
+% \@dashcnt := \@dashcnt / 2 - 1
+% \box\@dashbox := \hbox{\hskip -\@halfwidth
+% \vrule width \@wholewidth
+% height \@dashdim }
+% \put(0,0){\copy\@dashbox}
+% \put(X,0){\copy\@dashbox}
+% \put(0,Y){\lower\@dashdim\copy\@dashbox}
+% \put(X,Y){\lower\@dashdim\copy\@dashbox}
+% \@dashdim := 3 * \@dashdim
+% fi
+% \box\@dashbox := \hbox{\vrule width \@wholewidth
+% height D * \unitlength }
+% \@tempcnta := 0
+% put(0,0){\hskip -\halfwidth
+% \vbox{while \@tempcnta < \@dashcnt
+% do \vskip D*\unitlength
+% \copy\@dashbox
+% \@tempcnta := \@tempcnta + 1
+% od
+% \vskip \@dashdim
+% } }
+% \@tempcnta := 0
+% put(X,0){\hskip -\halfwidth
+% \vbox{while \@tempcnta < \@dashcnt
+% do \vskip D*\unitlength
+% \copy\@dashbox
+% \@tempcnta := \@tempcnta + 1
+% od
+% \vskip \@dashdim
+% }
+% }
+% } % END DASHES
+%
+% \@imakepicbox(X,Y)
+% END
+
+\def\dashbox#1(#2,#3){\leavevmode\hbox to \z@{\baselineskip \z@%
+\lineskip \z@%
+\@dashdim=#2\unitlength%
+\@dashcnt=\@dashdim \advance\@dashcnt 200
+\@dashdim=#1\unitlength\divide\@dashcnt \@dashdim
+\ifodd\@dashcnt\@dashdim=\z@%
+\advance\@dashcnt \@ne \divide\@dashcnt \tw@
+\else \divide\@dashdim \tw@ \divide\@dashcnt \tw@
+\advance\@dashcnt \m@ne
+\setbox\@dashbox=\hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
+\@width \@dashdim}\put(0,0){\copy\@dashbox}%
+\put(0,#3){\copy\@dashbox}%
+\put(#2,0){\hskip-\@dashdim\copy\@dashbox}%
+\put(#2,#3){\hskip-\@dashdim\box\@dashbox}%
+\multiply\@dashdim 3
+\fi
+\setbox\@dashbox=\hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
+\@width #1\unitlength\hskip #1\unitlength}\@tempcnta=0
+\put(0,0){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
+\do{\copy\@dashbox\advance\@tempcnta \@ne }}\@tempcnta=0
+\put(0,#3){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
+\do{\copy\@dashbox\advance\@tempcnta \@ne }}%
+\@dashdim=#3\unitlength%
+\@dashcnt=\@dashdim \advance\@dashcnt 200
+\@dashdim=#1\unitlength\divide\@dashcnt \@dashdim
+\ifodd\@dashcnt \@dashdim=\z@%
+\advance\@dashcnt \@ne \divide\@dashcnt \tw@
+\else
+\divide\@dashdim \tw@ \divide\@dashcnt \tw@
+\advance\@dashcnt \m@ne
+\setbox\@dashbox\hbox{\hskip -\@halfwidth
+\vrule \@width \@wholewidth
+\@height \@dashdim}\put(0,0){\copy\@dashbox}%
+\put(#2,0){\copy\@dashbox}%
+\put(0,#3){\lower\@dashdim\copy\@dashbox}%
+\put(#2,#3){\lower\@dashdim\copy\@dashbox}%
+\multiply\@dashdim 3
+\fi
+\setbox\@dashbox\hbox{\vrule \@width \@wholewidth
+\@height #1\unitlength}\@tempcnta0
+\put(0,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta < \@dashcnt
+\do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
+\vskip\@dashdim}}\@tempcnta0
+\put(#2,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta< \@dashcnt
+\relax\do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
+\vskip\@dashdim}}}\@makepicbox(#2,#3)}
+
+% CIRCLES AND OVALS
+%
+% USER COMMANDS:
+%
+% \circle{D} : Produces the circle with the diameter as close as
+% possible to D * \unitlength. \put(X,Y){\circle{D}}
+% puts the circle with its center at (X,Y).
+%
+% \oval(X,Y) : Makes an oval as round as possible that fits in the
+% rectangle of width X * \unitlength and height
+% Y * \unitlength. The reference point is the center.
+%
+% \oval(X,Y)[POS] : Save as \oval(X,Y) except it draws only the
+% half or quadrant of the oval indicated by POS.
+% E.G., \oval(X,Y)[t] draws just the top half
+% and \oval(X,Y)[br] draws just the bottom right
+% quadrant. In all cases, the reference point is
+% the same as the unqualified \oval(X,Y) command.
+%
+% \@ovvert {DELTA1} {DELTA2} : Makes a vbox containing either the left side
+% or the right side of the oval being constructed. The baseline
+% will coincide with the outside bottom edge of the oval; the left
+% side of the box will coincide with the left edge of the vertical
+% rule. The width of the box will be \@tempdima.
+% DELTA1 and DELTA2 are added to the character number in \@tempcnta
+% to get the characters for the top and bottom quarter circle pieces.
+%
+% \@ovhorz : Makes an hbox containing the straight rule for either the
+% top or the bottom of the oval being constructed. The baseline
+% will coincide with bottom edge of the rule; the left side of
+% the box will coincide with the left side of the oval.
+% The width of the box will be \@ovxx.
+%
+% \@getcirc {DIAM} : Sets \@tempcnta to the character number
+% of the top-right quarter circle with the largest
+% diameter less than or equal to DIAM.
+% Sets \@tempboxa to an hbox containing that character.
+% Sets \@tempdima to \wd \@tempboxa, which is the distance
+% from the circle's left outside edge to its right
+% inside edge.
+% (These characters are like those described in the
+% TeXbook, pp. 389-90.)
+%
+% \@getcirc {DIAM} ==
+% BEGIN
+% \@tempcnta := integer coercion of DIAM
+% \@tempcnta := \@tempcnta / integer coercion of 4pt
+% if \@tempcnta > 10
+% then \@tempcnta := 10 fi
+% if \@tempcnta > 0
+% then \@tempcnta := \@tempcnta-1
+% else LaTeX Warning: Oval too small.
+% fi
+% \@tempcnta := 4 * \@tempcnta
+% \@tempboxa := \hbox{\@circlefnt \char \@tempcnta}
+% \@tempdima := \wd \@tempboxa
+% END
+%
+% \@put{X}{Y}{OBJ} ==
+% BEGIN
+% \raise Y \hbox to 0pt{\hskip X OBJ \hss}
+% END
+%
+% \@oval(X,Y)[POS] ==
+% BEGIN
+% \begingroup
+% \boxmaxdepth := \maxdimen
+% @ovt := @ovb := @ovl := @ovr := true
+% for all E in POS
+% do @ovE := false od
+% \@ovxx := X * \unitlength
+% \@ovyy := Y * \unitlength
+% \@tempdimb := min(\@ovxx,\@ovyy)
+% \@getcirc{\@tempdimb}
+% \@ovro := \ht \@tempboxa
+% \@ovri := \dp \@tempboxa
+% \@ovdx := \@ovxx - \@tempdima
+% \@ovdx := \@ovdx/2
+% \@ovdy := \@ovyy - \@tempdima
+% \@ovdy := \@ovyy/2
+% \@circlefnt
+% \@tempboxa :=
+% \hbox{
+% if @ovr
+% then \@ovvert{3}{2} \kern -\@tempdima
+% fi
+% if @ovl
+% then \kern \@ovxx \@ovvert{0}{1} \kern -\@tempdima
+% \kern -\@ovxx
+% fi
+% if @ovt
+% then \@ovhorz \kern -\@ovxx
+% fi
+% if @ovb
+% then \raise \@ovyy \@ovhorz
+% fi
+% }
+% \@ovdx := \@ovdx + \@ovro
+% \@ovdy := \@ovdy + \@ovro
+% \ht\@tempboxa := \dp\@tempboxa := 0
+% \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}
+% \endgroup
+% END
+%
+% \@ovvert {DELTA1} {DELTA2} ==
+% BEGIN
+% \vbox to \@ovyy {
+% if @ovb
+% then \@tempcntb := \@tempcnta + DELTA1
+% \kern -\@ovro
+% \hbox { \char \@tempcntb }
+% \nointerlineskip
+% else \kern \@ovri \kern \@ovdy
+% fi
+% \leaders \vrule width \@wholewidth \vfil
+% \nointerlineskip
+% if @ovt
+% then \@tempcntb := \@tempcnta + DELTA2
+% \hbox { \char \@tempcntb }
+% else \kern \@ovdy \kern \@ovro
+% fi
+% }
+% END
+%
+% \@ovhorz ==
+% BEGIN
+% \hbox to \@ovxx{
+% \kern \@ovro
+% if @ovr
+% then
+% else \kern \@ovdx
+% fi
+% \leaders \hrule height \@wholewidth \hfil
+% if @ovl
+% then
+% else \kern \@ovdx
+% fi
+% \kern \@ovri
+% }
+% END
+%
+% \circle{DIAM} ==
+% BEGIN
+% \begingroup
+% \boxmaxdepth := maxdimen
+% \@tempdimb := DIAM *\unitlength
+% if \@tempdimb > 15.5pt
+% then \@getcirc{\@tempdimb}
+% \@ovro := \ht \@tempboxa
+% \@tempboxa := \hbox{
+% \@circlefnt
+% \@tempcnta := \@tempcnta + 2
+% \char \@tempcnta
+% \@tempcnta := \@tempcnta - 1
+% \char \@tempcnta
+% \kern -2\@tempdima
+% \@tempcnta := \@tempcnta + 2
+% \raise \@tempdima \hbox { \char \@tempcnta }
+% \raise \@tempdima \box\@tempboxa
+% }
+% \ht\@tempboxa := \dp\@tempboxa := 0
+% \@put{-\@ovro}{-\@ovro}{\@tempboxa}
+% else
+% \@circ{\@tempdimb}{96}
+% fi
+% \endgroup
+% END
+%
+% \circle*{DIAM} == \@dot{DIAM} == \@circ{DIAM*\unitlength}{112}
+%
+% \@circ{DIAM}{CHAR} ==
+% BEGIN
+% \@tempcnta := integer coercion of (DIAM + .5pt)/1pt.
+% if \@tempcnta > 15 then \@tempcnta := 15 fi
+% if \@tempcnta > 1 then \@tempcnta := \@tempcnta - 1 fi
+% \@tempcnta := \@tempcnta + CHAR
+% \@circlefnt
+% \char \@tempcnta
+% END
+%
+
+\newif\if@ovt
+\newif\if@ovb
+\newif\if@ovl
+\newif\if@ovr
+\newdimen\@ovxx
+\newdimen\@ovyy
+\newdimen\@ovdx
+\newdimen\@ovdy
+\newdimen\@ovro
+\newdimen\@ovri
+
+\def\@getcirc#1{\@tempdima #1\relax \@tempcnta\@tempdima
+ \@tempdima 4pt\relax \divide\@tempcnta\@tempdima
+ \ifnum \@tempcnta > 10\relax \@tempcnta 10\relax\fi
+ \ifnum \@tempcnta >\z@ \advance\@tempcnta\m@ne
+ \else \@warning{Oval too small}\fi
+ \multiply\@tempcnta 4\relax
+ \setbox \@tempboxa \hbox{\@circlefnt
+ \char \@tempcnta}\@tempdima \wd \@tempboxa}
+
+\def\@put#1#2#3{\raise #2\hbox to \z@{\hskip #1#3\hss}}
+
+\def\oval(#1,#2){\@ifnextchar[{\@oval(#1,#2)}{\@oval(#1,#2)[]}}
+
+\def\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
+ \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
+ \@tfor\@tempa :=#3\do{\csname @ov\@tempa false\endcsname}\@ovxx
+ #1\unitlength \@ovyy #2\unitlength
+ \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
+ \@getcirc \@tempdimb
+ \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
+ \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
+ \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
+ \@circlefnt \setbox\@tempboxa
+ \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
+ \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi
+ \if@ovt \@ovhorz \kern -\@ovxx \fi
+ \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
+ \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
+ \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
+ \endgroup}
+
+\def\@ovvert#1#2{\vbox to \@ovyy{%
+ \if@ovb \@tempcntb \@tempcnta \advance \@tempcntb by #1\relax
+ \kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip
+ \else \kern \@ovri \kern \@ovdy \fi
+ \leaders\vrule width \@wholewidth\vfil \nointerlineskip
+ \if@ovt \@tempcntb \@tempcnta \advance \@tempcntb by #2\relax
+ \hbox{\char \@tempcntb}%
+ \else \kern \@ovdy \kern \@ovro \fi}}
+
+\def\@ovhorz{\hbox to \@ovxx{\kern \@ovro
+ \if@ovr \else \kern \@ovdx \fi
+ \leaders \hrule height \@wholewidth \hfil
+ \if@ovl \else \kern \@ovdx \fi
+ \kern \@ovri}}
+
+\def\circle{\@ifstar{\@dot}{\@circle}}
+\def\@circle#1{\begingroup \boxmaxdepth \maxdimen \@tempdimb #1\unitlength
+ \ifdim \@tempdimb >15.5pt\relax \@getcirc\@tempdimb
+ \@ovro\ht\@tempboxa
+ \setbox\@tempboxa\hbox{\@circlefnt
+ \advance\@tempcnta\tw@ \char \@tempcnta
+ \advance\@tempcnta\m@ne \char \@tempcnta \kern -2\@tempdima
+ \advance\@tempcnta\tw@
+ \raise \@tempdima \hbox{\char\@tempcnta}\raise \@tempdima
+ \box\@tempboxa}\ht\@tempboxa\z@ \dp\@tempboxa\z@
+ \@put{-\@ovro}{-\@ovro}{\box\@tempboxa}%
+ \else \@circ\@tempdimb{96}\fi\endgroup}
+
+\def\@dot#1{\@tempdimb #1\unitlength \@circ\@tempdimb{112}}
+
+\def\@circ#1#2{\@tempdima #1\relax \advance\@tempdima .5pt\relax
+ \@tempcnta\@tempdima \@tempdima 1pt\relax
+ \divide\@tempcnta\@tempdima
+ \ifnum\@tempcnta > 15\relax \@tempcnta 15\relax \fi
+ \ifnum \@tempcnta >\z@ \advance\@tempcnta\m@ne\fi
+ \advance\@tempcnta #2\relax
+ \@circlefnt \char\@tempcnta}
+
+
+%INITIALIZATION
+\thinlines
+
+\newcount\@xarg
+\newcount\@yarg
+\newcount\@yyarg
+\newcount\@multicnt
+\newdimen\@xdim
+\newdimen\@ydim
+\newbox\@linechar
+\newdimen\@linelen
+\newdimen\@clnwd
+\newdimen\@clnht
+\newdimen\@dashdim
+\newbox\@dashbox
+\newcount\@dashcnt
+
+
+
+%