\input blue.tex \loadindexmacros \report \vfuzz1000pt \bluepictures\bluemodelpic \bluechapter Introduction \pageno1 \beginsummary A plea is made for simplicity after having made the right a priori choices. The aim is to provide a user's guide such that \bluetex{} can be used with confidence. \TeX{} and its benefits are explained in a nutshell. The contents of each chapter is summarized and the audience addressed. The model of BLUe's format is given. The concept, syntax and template of a BLUe script are touched upon. At the end a list of notations and definitions has been included. \endsummary Scientific tradition has it that simplicity can be attained once the right a priori choices have been made. In relation to using \TeX{} this means to get your priorities right, to keep in mind that it is all about what you have to say, to what you developed and wish to communicate. Next to the a priori choices, selection is important. The `handful' of tags needed in practice most of the time, at least by me, will be treated. \TeX{} is just one of the tools needed for computer-assisted information exchange, and therefore there is no use in (sub)optimizing. \displaycenterline{Understand BLUe's format sufficiently and use \TeX{} with confidence!} The spirit of this work on using \TeX{} is to guide a user towards preparing documents with as little knowledge of the nitty-gritty of \TeX{} as possible. A tool should not become part of the problem.\ftn{My adage is {\oldstyle80}\% of the quality with {\oldstyle20}\% of the energy. Relevancy prevailed highbrowness. Common scripts marked up by sound, non-esoteric \TeX niques.} To quote {\TB} `\dots If you are preparing a simple manuscript, you won't need to learn much about {\TeX} at all; on the other hand \dots' \TeX\Dash designed in the late seventies and frozen in the early nineties\Dash is a tool for formatting documents by computer. Together with its twin sister \MF{} it has revolutionized computer-assisted typesetting. The benefits of ^{\TeX{}} are \bitem quality \bitem availability on most if not all computers (in the Public Domain, turn-key) \bitem independence from input and ouput devices \bitem open-endedness, to cooperate with EP tools, and last but not least \bitem stability. \smallbreak Because of this, an ASCII script with \TeX{} markup is portable in place and time. I'll show that \TeX{} is suited for structural markup. This in contrast with the widespread belief that this is the virtue of \LaTeX. Not true, IMHO, with all respect. \LaTeX{} provided a user's guide along with its macros and emphasized the concept of separate style files. From the ample \TeX{} commands I'll select BLUe's subset for practical day-to-day use. To format an article\Dash a set of transparencies, and some more\Dash with \bluetex, that is what it is all about. These representations of a script are common. Write down the results, and support the aftertalks by transparencies. The `^{BLUe's\ format}' section defines the structure of a ^{BLUe\ script}, and provides a template, to be filled in. How to mark up copy in detail, is subject of the chapters `Text,' `Mathematics,' `Tables,' and `Pictures.' How to add a list of references and how to make citations to that list is treated in the chapter `References.' The chapter `Index,' is about how to create and include an index. The chapter `Customization' is about modifying \bluetex. Each chapter contains exercises. As Appendices I included `Solution to the Exercises,' `Formats,' `Tools,' `BLUe's, BLUes, and Paradigms,' `List of Examples,\ftn{Although this work is not a cookbook, it's handy to have a quick access to the examples, because it has all to do with using, not in the least by example.}' `Table of Tags,' `History of Changes,' `Obsolete stuff,' `Index,' and `Table of Contents.' A similar approach as in `Publiceren met \LaTeX' has been on my mind. Ideally, the material dealt with should have been the same, with only the \LaTeX{} tool exchanged for \TeX. The underlying idea is that the functionalities required, and the essence of the exercises, should be independent of the tool used. The same setup and exercises should allow a treatise on you-name-it word processor.\ftn{The main difference with the early work on \LaTeX{} is that now the markup of a BLUe script is the issue.} Floating aspects have been used in a special sense. Information is set in a box and inserted via a pasteup control sequence at your place of choice. Of course the usual inserts of plain for floats, \cs{topinsert}, \cs{midsert} closed by \cs{endinsert}, are still there to be used I did not include a chapter on basic notions in publishing or book production, because that information can be found elsewhere, and would otherwise unduly increase the size of this work. I did not include a survey of `\TeX{} flavours and worlds' either, for similar reasons although it comes closer to the subject. For \TeX{} flavours et cetera, consult the archives of the worldwide electronic networks to find for example `What is \TeX{} and \MF{} all about?' Nothing of the world of \PS{} coupled to \TeX{} has been included, jeopardizing \PS's scalability of fonts, its rotation capabilities, and its possibilities with colours. I take the fonts which come with \TeX{} for granted, assuming English as the lingua franca for scientific communication. The latter implies that (multi-)lingual issues have not been touched upon either. Font switching and {font\ selection} has been treated poorly, to put it mildly. For the moment I stay with Knuth and copied his size-switching macros. BLUe's format contains the size-switching macros \cs{Large}, $\approx${\oldstyle17}pt, used for chapter headings, \cs{large}, $\approx${\oldstyle14}.{\oldstyle5}pt, used for transparencies, and \cs{small}, i.e., {\oldstyle8}pt, used for footnotes. Next to these \cs{tenpoint}, \cs{ninepoint}, and \cs{eightpoint} have been inherited from manmac. However, the abstraction of mapping the linear space of fonts onto a logical {\oldstyle5} dimensional space, which is the basic idea in NFFS, is nice and might become very useful some day. Because of these a priori choices this guide remained small and will hopefully be perceived as simple. The audience in mind consists of scientific workers, especially the growing breed of self-publishing authors, with substantially complex copy, especially complex math and tables. Authors who concentrate on the contents welcome a reasonable print-out, exchange their works via electronic networks, submit \AllTeX{} scripts to publishers, like to understand their tool, and last but not least aim to use it confidently with minimal markup.\ftn{\TeX{} markup is extremely tolerant. Many ways are possible, opening the door to quick-and-dirty markup. A discipline is needed.} In netland one can't rely much on publishers for the moment, one is on one's own. There is even the danger of becoming a \TeX hacker after some years, because \TeX{} will serve your lifetime. For running a BLUe script with text not much \TeX{} knowledge is required. When details of math, tables, and graphics come into play, familiarity with David Salomon's courseware\Dash MAPS special {\oldstyle1992}, also available on NTG's CD-ROM\Dash is assumed.\ftn{Advanced \TeX, {\oldstyle1995}, Springer-Verlag, ISBN {\oldstyle0}-{\oldstyle387}-{\oldstyle94556}-{\oldstyle3}.} \bluehead The key to understanding Knuth's markup ^^{Knuth's\ markup} It did take me quite a while to understand Knuth's markup, \winksmiley. Biased by my programming experience, and influenced by SGML and \dots\thinspace\LaTeX, I was on the wrong track. My mind was full of block structures with rigorous opening and closing tags, and parameterization via arguments of procedures. I was blocked for the simple approach of {\sl text replacement}, and had to unlearn much, in order to become innocent again, to open my mind for Knuth's approach. \begincenter ASCII text with visual layout and minimal markup tags added \endcenter The royal road to understanding and appreciating Knuth's markup is starting from ASCII text, what you would write by hand. The next step is inserting markup tags, as few as possible, that is, enriching the ASCII file with minimal markup.\ftn{It is quite another task to implement those minimal tags, however.} An example? Undo the examples in the Example Formats chapter of \TB{} of the markup, and insert your own markup, and you will know what I'm talking about. I hope you will come to the same conclusion as I did \displaycenterline{ Knuth's markup is unsurpassed!} I'll come back to the matter in the chapter `Text' and in the Appendix `Formats,' especially with the letter format. \bluehead BLUe's format The format is a personalized system to format compuscripts. It is a compatible extension of plain \TeX{} and organized as a `kernel + modules,' similar to the setup of FORTRANxx. It is designed to be supportive, to suit your needs. You are Ben Lee User. It is not imposing.\ftn{I know of the defensive attitude of publishers. They welcome the benefits of imposing formats to prevent the use of macros which hinder production. There is much truth in there, given the reality of the complex\Dash or better, the unusual\Dash \TeX{} markup language. However, there is no use in protecting an author against himself. Simple supporting tools should make the imposing attitude superfluous.} The concept of a BLUe script is at the heart. \bluetex{} allows one or more scripts to be processed\ftn{Either in sequence or nested. The former is handy when several contributions have to be run in one job, for a journal for example. The latter has been used in this script to switch temporarily to \cs{letter}, casu quo \cs{transparencies}.} in one run, even non-BLUe scripts. As an example of the latter \displaycenterline{Thank you. \cs{bye}} runs with \bluetex. This tolerance is handy while proofing parts. \blueexample BLUe script ^^{BLUe\ script,\ template} Generally, I use a template, an empty script as a fill-in form, with the main markup tags already there.\ftn{The order does not matter much for the elements before \cs{beginscript}. % They can be supplied in any order. Because of the short markup tags the feature to let the computer prompt the |\end<tag>|, once the |\begin<tag>| has been typed in, is not so relevant. The \cs{contents} can be used to provide a wired-in ToC, to facilitate browsing of the script, next to the dynamically generated one.} \thisverbatim{\catcode`\~=14 \catcode`\_=8 } \begincenterverbatim %Template BLUe script---outer level markup %Preliminary part, with %elements in arbitrary order \issue{MAPS 94.2} \title{BLUe's Format} \subtitle{The best of both worlds} \keywords{...} \abstract{...} \contents{Introduction \se Why? %\se acronym for subelement ... Acknowledgements, Conclusion, References} \references{~ \!math!langle!,name_1!rangle!dots!endmath~ \!math!langle!,name_n!rangle!endmath} \pictures{~ \!math!langle!,name_1!rangle!,pic!dots!endmath~ \!math!langle!,name_n!rangle!,pic!endmath} \acknowledgements{...} \beginscript %Marked up copy proper comes next \head{Introduction} %Various parts with inner markup ... %Ended by the following back matter \pasteupacknowledgements \pasteupreferences \endscript !endcenterverbatim Once used to the template, the outer markup is a trifle. Of course, in order to process the script it should be preceded by \cs{input} {\tt \bluetex}. On my Mac Classic II \bluetex{} is a format. One could even think of a bluetex command similar to \LaTeX. \exercise How to override the defaults for \cs{author} and the like? \answer To override the defaults assign values to the token variables \cs{author}, \cs{address}, \cs{netaddress}, and \cs{issue}. \exercise How can we process more scripts in one run? \answer Provide |\everyscript{\notlastscript}| and precede the last script by |\thisscript| |{| \cs{lastscript} |}|. This holds for scripts in sequence. For nested scripts see this script file for the examples of a letter and a few transparencies run within this script. Default the look-and-feel in print resembles much \TUB's (two-column) layout. \thissubhead{\runintrue} \bluesubhead The syntax ^^{BLUe\ script,\ syntax}for a BLUe script reads as follows.\ftn{I used the same Backus-Naur formalism for the syntax diagrams, as adopted by Knuth and explained in \TB{} {\oldstyle268}, {\oldstyle269}.} \beginsyntax <BLUe script>\is|\input|\thinspace \bluetex\thinspace<language><scripts> <language>\is<default>\alt|\english|\alt|\russian|\ftn{In progress as % spinoff of the translation effort. Default is English.}% \alt|\<yourlanguage>| <scripts>\is<script>\alt<script><scripts> <script>\is<preliminary><scriptoptions>|\beginscript|<sections>% <indexing>|\endscript| \endsyntax with refinements \beginsyntax <preliminary>\is<index><format>|\title|<infopart> <index>\is<empty>\alt|\loadindexmacros| <format>\is<empty>\alt|\concert|\alt|\letter|% \alt|\report|\alt|\transparencies|\alt|\<yourformat>| <infopart>\is<empty>\alt<infoelement><infopart> <infoelement>\is|\subtitle|\alt|\issue|\alt|\input|\alt<TeXcode> \alt|\author|\alt|\address|\alt|\netaddress|\ftn{Defaults.} \alt|\keywords|\alt|\abstract|\alt|\contents|\alt|\references|\alt|\pictures| \alt|\acknowledgements| <scriptoptions>\is<empty>\alt|\everyscript|\alt|\thisscript|% \alt|\everyscript||\thisscript| \endsyntax The sections consist of the tree of head structures with IM copy, inner marked up copy proper. \beginsyntax <sections>\is<empty>\alt<section><sections>\ftn{To be repeated for subsections and subsubsections.} <section>\is<head><paragraphs> <head>\is|\head|\alt|\bluehead|\ftn{A minimal markup alias % as a tribute to manmac.} <paragraphs>\is<empty>\alt<paragraph><paragraphs> <paragraph>\is<subsections>\alt<IM copy> <indexing>\is<empty>\alt|\sortindex||\pasteupindex| \endsyntax \bluesubhead Variants By a control sequence\Dash called an attribute in the SGML world\Dash the format used can be changed, resulting in a different look-and-feel in print. For example, via \cs{onecolumn} within the default format. This is meant for a script in total. However, two-column and one-column scripts can be processed in one run. The control sequence \cs{transparencies} changes the result into a representation suited for copying on transparencies. Adaptation of the script is mainly about deleting. Especially for PWT I designed the report format. It is essentially one-column, and a mod on top of the default. The control sequence \cs{report} yields the report layout. The path `From-report-to-transparencies' comes down to stripping off the superfluous. See the Appendix `Formats' for details. I also included Knuth's letter format, \cs{letter},\ftn{Well, I updated Knuth's approach a little, if I'm allowed to say so. Important is to provide for mail merge and in general to let the format cooperate with an address database. And of course I simplified the macros a little. No different modes of text processing.} and concert format, \cs{concert}. \bluesubhead Extras The Appendix `Tools' is mainly about the lower level extras. It provides a method to organize all your macros. It is not part of \bluetex, but can cooperate smoothly without overhead, respecting the `little user,' i.e., the user with modest demands. It is also important to think of a garbage bin. Somewhere to keep your obsolete stuff, macros or formats, in order that your scripts can still be formatted without change in future. For that purpose I introduced the obsolete.dat database. Finally, I coupled my address.dat database, that is letters can find addresses in that database, similar to a bibliography which will take the references from a bibliography database. \bluehead The model ^^{BLUe's\ format\ model} BLUe's format is a personalized formatting system. It's yours! It knows about your context. It is based on ^{manmac}, ^{gkppic}, and the use of databases. $$\qquad\qquad\bluemodelpic$$ What does the model say? One way of looking at it is to think of inner and outer worlds.\ftn{Knuth had the outer-inner duality on his mind already, as can be deduced from his \cs{outer} \cs{def}-s.} The extras part reflects the outer world in general. Your publisher and his tools, casu quo formats, and your colleagues who provide macros for general use. The BLUe's format part\Dash your inner world\Dash divides the markup tags into two clusters, supported by databases.\ftn{Database in this context means essentially a multi-file file. Each tool or macro set is part of a file. I prefer to have separate clusters for formats, tools, references pictures and addresses. The global structure has been simplified. What is needed will be loaded selectively. The best of both worlds.} These databases not only support the handling of the usual collection of references. It also provides the mechanism for elegantly storing pictures. Even newer is using the database approach to manipulate formats and tools. We don't need all those separate files any longer. This approach can also clean up the organization of the multitude of font files, I presume. Another way of looking at the model is that the model provides a structure for keeping pace with change and progress. You have to do the work. Polish what you have to say. Mark up, as naturally as possible, by using formatting goodies from the past like manmac and picmac. I like minimal markup, that is \displaycenterline{supprematism in markup} in the spirit of Malevich's `White cross on a white background,' let us say. Build up your collection of works relatively independently of context.\ftn{This looks trivial but experience has it that early \TUB{} articles, for example, can't be formatted without adaptation, because the formats used are obsolete. An intrinsic question is whether we should update or republish old work. Up till now I have updated my works. All my \AllTeX{} articles run with \bluetex. When composing this work, I decided not to update old works any longer. That is history from now on. This work contains the improvements, if any \smiley.} Communicate what you have lived through, and keep in touch with developments. When you are a self-publishing author, that is all there is. If not, you have to obey the wishes of your institute or publisher, meaning that outer-level issues have to be adapted. Outer-level commands govern the title part and the global page layout, like headings of sections, running headers and footers, the font(s) used, the number of columns, the page size, paragraph indentation and separation, and the like. The aim of the inner level set of markup tags is to remain invariant, with the purpose that these tags can be used in any context now and in future. The borderline between inner and outer markup is context dependent, and therefore undefined. I like to think in terms of overlapping clusters. What you might call outer I might call inner, and vice versa, not to mention your publisher's opinion. A pragmatic description of the group of your outer commands are those which you have to change when you submit your work to your publisher or a second publisher. The wish to modify has been anticipated in BLUe's format. For that purpose either control sequences, which represent a different format, can be invoked, or a handful of outer level markup commands, casu quo parameters, can be customized. Also the open-endedness is there. At the higher level the number of mappings from BLUe's format into publisher formats can grow. At the lower level you can add macros. And what about the old stuff? The old versions can be stored in the obsolete.dat database, with the purpose that BLUe scripts can still be formatted in future, without change.\ftn{Well, \dots\thinspace let us hope little change.} And if you have a database of your own, just make the connection. Portability and reusability are served by writing macros in plain \TeX, the lowest common and documented \TeX{} language of all the flavours. The multitude of tools have been organized in a database to load selectively from. The reusability of formats, tools, references, pictures, and addresses has been eased by storing these in databases. By this way I obeyed the ^{Samelson\ principle}, which comes down to \displaycenterline{ Don't pay for what you don't use.} \bluehead Notations and definitions ^{Acrobat} is Adobe's .pdf tool suite, which the consumer of scripts can use independent from the preparation tool used, to browse scripts, to add hyperlinks and so on. ^{address.dat} is the address database to cooperate smoothly with \cs{letter}. ^{\AmSTeX} denotes the \AllTeX{} system in use by the \AMS. ^{ASCII} is an acronym for American Standard Code for Information Interchange. BLU is Knuth's nickname for Ben Lee User. I adopted his cousin BLUe.^^{BLU, BLUe} ^{BLUe\ script} is an ASCII file with \TeX{} markup inserted, to be processed by \bluetex. ^{BLUe's\ format} is the collection of the formatting tools: ^{blue.tex}{} file (the kernel), and the databases fmt.dat, tools.dat, address.dat, lit.dat, pic.dat (modules). \bluetex{} denotes the kernel format to typeset scripts. ^{CTAN} is the acronym for Comprehensive \TeX{} Archive Network. The resource of \AllTeX{} materials on the internet. It comprises various sites with their contents automatically mirrored. Customization occurs a lot in this work. On the one hand it is explained what to do, and on the other hand it is indicated how to customize the macros. ^{DTP} an acronym for Desktop Publishing, an interactive approach orthogonal to markup-oriented systems. ^{EP} is an acronym for Electronic Publishing. ^{fmt.dat} denotes the database of formats to be used along with \bluetex. ^{gkppic} is the acronym for the macros used by Graham, Knuth and Pastashnik to format `Concrete Mathematics.' ^{HTML} is the acronym for HyperText Markup Language and facilitates clicking through a fragmented script. ^{IMHO} stands for In My Honest Opinion, usually with all respect. ^{\LaTeX} is Lamport's system on top of \TeX{} to format articles, reports, letters, books and so on. ^{lit.dat} is the literature database to cooperate smoothly with \bluetex. ^{manmac} stands for the macros used by Knuth to format \TB. ^^{markup, automatic, descriptive, functional, inner, Knuth's, logical, minimal, outer, recursive, structural, visual} Markup stands for the insertion of instructions in a script. There are various markup notions. \item{}Automatic markup is used by me when the computer generates the markup. \item{}Descriptive markup abstracts from concrete printers and emphasizes the descriptional nature. Agreed a little vague \smiley. \item{}Functional markup emphasizes the functional character of the elements. \item{}Inner markup tags is the set of markup tags that remains invariant when processing a script with another \TeX{} flavour. \item{}Logical markup is all about the logics of the script. \item{}Minimal markup stands for markup with as few as possible markup tags. \item{}Outer markup tags is the set of markup tags which needs to be customized when processing a script with another \TeX{} flavour. \item{}Recursive markup is used by me especially when the markup is generated by the computer by means of recursion. \item{}Structural markup emphasizes the structure of the script. \item{}Visual markup denotes the implicit markup by white space. \smallbreak I'm not claiming that these descriptions enjoy general acceptance; no, it helps to indicate the various backgrounds and intentions, as I have perceived them and hinted at in this script. IMHO, there is a lot of overlap, and no generally accepted list of definitions. ^^{miniature} Miniature is an initial of a chapter. Historically, a nice painting. In compuscripts generally a character from a special font. ^{NFSS} is the acronym for New Font Selection Scheme. Its purpose is to describe the selection of fonts logically. A mapping of the {\oldstyle1} dimensional space of fonts onto the logical {\oldstyle5} dimensional space as introduced by NFSS, with dimensions encoding scheme, family, series, shape, and size. ^{OTR} acronym for OutpuT Routine. ^{PDF} acronym for Adobe's Portable Document Format. ^{pic.dat} is the picture database to cooperate smoothly with \bluetex. ^|\PiCTeX| a system to format pictures with plain \TeX, due to Wichura. Parameterization denotes ways to parameterize a macro. ^{\PS} denotes Adobe's\Dash de facto standard\Dash page description language. References are stored in lit.dat, which contain even the works I don't remember explicitly but have built upon undoubtedly. Script is my term of a file with (\TeX) markup. Section is a document element, that is, a head followed by paragraphs.\ftn{Analogous for \cs{subsection} and \cs{subsubsection}.} ^{SGML} Standardized Generalized Markup Language. The ISO standard activity for markup, ISO{\oldstyle8879}. ^^{sorting\ keys} Sorting keys are pairs consisting of a control sequences and the replacement for sorting the item in the index. Syntax for tags: |\begin<tag>|, |\end<tag>|, |\<tag>|; |\pre<tag>|, |\post<tag>| placement within context; |\this<tag>|, |\every<tag>| handling of options ^{tools.dat} is the database of tools to cooperate smoothly with \bluetex. ^{WYSIWYG} What You See Is What You Get. An interactive way of working via what is seen on the display. It is at the heart of DTP systems, to counteract the difference of what is seen on the screen and what will be printed on the paper, especially with respect to the fonts. \bluehead Markup conventions adopted The preliminary pages are treated separately, don't take numbering, and have a label in the margin. There are two ToCs. A static one at the beginning to facilitate browsing the script file and the dynamically generated one at the end which takes page numbers. The chapter headings are set in a larger type. The title is used in the headline (without number), the list of examples, and the table of contents. The (hidden) number of the chapter has been used in the exercises, the table of contents, and the list of examples. Chapter headings and section headings are centered and don't take a number. The appendix headings have their number printed as a capital letter. Headings don't take a period. Run-in text can be recognized from the context. Headlines have the title of the chapter left and the title of the report right. They are both set in slanted type. \cs{parindent} has been set to {\oldstyle0}. Because of this the footnote numbers hang out. A \cs{generalindent} has been used. Exercises take a number, no further indication has been used. Examples are not numbered in the text, but labeled by the word `Example' and take a label to characterize the example. The label is reused in the list of examples, next to the hidden number. Punctuation marks and footnote markers are used in such a way that the footnote marker appears after the punctuation mark. (Except for question marks and exclamations.) Quotation closings come after that. Now and then an explicit \cs{newpage} has been inserted to prevent underfull vbox messages. No floats have been used, in order not to disturb the sequential ordering. \bluehead Copyrights BLUe's Format system The software $$\def\data{blue.tex\rs fmt.dat \rs tools.dat} \btable\data$$ is shareware available from CTAN and NTG's 4All\TeX{} CD-ROM. It is not allowed to make any profit on it. A happy user is requested to send US\$\thinspace{\oldstyle25} to the author. However, people in financial disadvantaged countries can send an amount according to the macindex, that is the amount in dollars equivalent to {\oldstyle20} breads. No check please, because of banking overhead. The contributors will be added to my address database, with field \cs{registeredbluetrue}. Russian users are relieved for the moment from the shareware request, with respect to personal use. Auxiliary and personalized files are the databases $$\def\data{address.dat\cs addresses \rs lit.dat \cs references\rs pic.dat \cs pictures.\hfill} \btable\data$$ The main reason for asking shareware support is to protect myself against too many request, and to raise some funds to continue my \TeX{} and \MP{} work. The user's guide `Publishing with \TeX,' and the accompanying articles are free for personal use, and can be plucked from the CTAN\ftn{Directory: pub/archive/info/pwt/\dots} or NTG's 4All\TeX{} CD-ROM. {\def\copyright{March, {\oldstyle1995}} \makesignature} \endinput