diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/digests/tex88 |
Initial commit
Diffstat (limited to 'info/digests/tex88')
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 + + + +% |