RUNOFF BONNER LAB version - i - TABLE OF CONTENTS CHAPTER I INTRODUCTION 1 CHAPTER Ii RSX/IAS OPERATING PROCEDURES 2 Ii.1 INITIATING RUNOFF 2 Ii.2 RNO COMMAND STRING 2 CHAPTER Iii SOURCE FILE FORMAT 6 Iii.1 CASE INFORMATION 7 Iii.2 SPECIAL CHARACTERS 8 CHAPTER Iv INTRODUCTION TO THE COMMANDS 11 CHAPTER V RUNOFF COMMANDS 15 V.1 TEXT FORMATTING 16 V.2 FOOTNOTE / NOTE 18 V.3 PAGE FORMATTING 20 V.4 PAGE HEADERS 22 V.5 LISTS 25 V.6 CHAPTER/APPENDIX FORMATTING 26 V.7 SECTION HEADERS 28 V.8 DISPLAY COMMANDS 31 V.9 MODE SETTING 33 V.10 PARAMETER SETTING 37 V.11 TAB STOPS 39 V.12 FLAGS 41 V.13 ENABLE/DISABLE 46 V.14 DEFINE / RESET 48 V.15 MISC COMMANDS 51 V.16 INDEXING 52 V.17 TABLE OF CONTENTS 53 V.18 EQUATION FORMATTING 55 V.19 CONDITIONAL TEXT 56 APPENDIX A RUNOFF LIMITATIONS 58 APPENDIX B FILL/JUSTIFY 59 APPENDIX C RNO ERROR MESSAGES 60 APPENDIX D BUILDING RUNOFF 66 APPENDIX E SPECIAL CHARACTERS 69 APPENDIX F LIST OF COMMANDS (ALPHABETICAL) 70 APPENDIX G NON STANDARD COMMANDS 74 APPENDIX H SPECIAL PRINTER SUPPORT 75 APPENDIX I INDEX 77 - ii - RUNOFF Revision Date: May 11 1983 Program Version: BL3.6 Document Revision : May 1983 Document Printed : 13 May 83 10:52:24 NOTICE: This document describes a program which the Digital Equipment Corporation has no committment to offer or support at this time. This document is, however, believed to be an accurate description of RUNOFF. This version of RUNOFF is a major revision of the RNO working group ver- sion. The revisions essentially add a large number of features from DSR to RUNOFF while maintaining compatability. There are 3 known incompati- ble changes, to the .CENTER , .NUMBER, and .FOOTNOTE commands. The ad- ditions include the .REQUIRE command, overstrike capability, and escape sequence handling. A macro facility via the SUBSTITUTE flag has been added and permanent margins are also implemented. The permanent margins can cause incompatible output with respect to the headers if they are not set. In addition all FLAGS are redefinable and many can be enabled/disabled. The escape sequence handling has been designed to give the user the ability to define arbitrary sequences, and intermix them with standard RNO text. This is capable of handling any arbitrary printer. Since both this version of RNO and the previous versions used ASCII non printing characters internally, including such characters in your input file could be disastrous. To prevent this all such char- acters with the exception of CR,LF,TAB are ignored. The philosophy of this version of RNO has been to create a program which can handle virtually any printer with minimal support for any specific printer. As a result of this decision general mechanisms have been in- cluded for printer control, but only suggested escape sequence defini- tions have been added as part of the permanent escape sequence table. The necessity for added pre or post processors has been avoided by ad- ding the /CR switch, and by adding features which allow RNO to handle the table of contents directly. New features such as multiple column output would directly conflict with the general escape sequence handling mechanisms. For example font changes would spill over onto adjacent co- lumns rather than continue within a column. As a bonus this version of RNO can be used in a multiple pass manner. The output text may be fed back into RNO as input text, after being edited. If you have any problems with this version I will be glad to answer your questions. I do not guarantee that all errors can be patched. I will try to maintain this version and release new versions with most bugs fixed and some enhancements added. If there are other users who need to use this on RSTS or RT-11 I will answer any questions you have about the conversion, and I will consider including the added code to conditional- ize this version to other operating systems. - iii - John Clement T. W. Bonner Nuclear Lab Rice University P.O. Box 1892 Houston, Tx, 77251 Tel (713) 527-4018 - iv - CHAPTER I INTRODUCTION RUNOFF (RNO) is a PDP-11 program to facilitate the preparation of typed or printed manuscripts, such as memos, manuals, etc. The user prepares his material on any regular PDP-11 terminal, and writes it onto a file using an appropriate editor. The user includes not only textual materi- al, but also case and formatting information. RUNOFF then takes the file and reproduces it onto the line printer, terminal or other file to produce a final copy or final file image. It performs the formatting and case shifting as directed, and will also perform line justification, page numbering and titling, etc., as desired. The principal benefit of such a program is that files prepared for use with it may be easily edited and corrected. Small or large amounts of material may be added or deleted, and unchanged material need not be re- typed. After a set of changes, the program may be operated to produce a new copy which is properly paged and formatted. Documentation may thus be updated as necessary without requiring extensive retyping. - 1 - CHAPTER Ii RSX/IAS OPERATING PROCEDURES Ii.1 INITIATING RUNOFF RUNOFF can be initiated in several ways. The general formats for RSX-11 users are: General and Privileged Users MCR>RNO CR> MCR>RNO filespec Privileged User Only MCR>RUN ...RNO/UIC=[uic] MCR>RUN $RNO/UIC=[uic] Ii.2 RNO COMMAND STRING System programs usually require a command string to specify such things as input files and various options. A standard command string has one of the following forms: output-file,toc-file=input-file or @command-file The output-file, toc-file, and input-file are strings comprising a file specification. The toc-file may be omitted if no table of contents is desired. The second form of command string (@command-file) is used to specify an indirect command file. In this case each record of the file is used as a command string before any commands following the indirect command are accepted. The command string syntax is described more completely in the User's Guide for the relevant operating system. - 2 - RSX/IAS OPERATING PROCEDURES RNO COMMAND STRING Ii.2.1 File specifications An RSX-11 file specification has the following form: Dev:[UIC]Filename.Typ;Ver In this specification Dev must be a legal device code. The default value is SY:, the system disk. UIC must be a valid User Identification Code. Filename is any 1- to 9-character alphanumeric string which spec- ifies a file name. Typ is a 1- to 3-character alphanumeric file type. System programs default to an appropriate standard type so the typical user will not have to explicitly specify it. Finally, Ver is a number which is the version number of the file. This field also normally can be omitted since it defaults on input to the highest existing version number for the file and on output to the highest existing version number plus one. Default file specifications (any part of which may be overridden): Input: SY:RUNOFF.RNO Output: SY:RUNOFF.DOC Table of contents: SY:RUNOFF.RNT Editing RUNOFF Output RUNOFF output files may not be edited normally with the stan- dard RSX/IAS file editors. This version may produce editable output by using the /-CR switch, when the text is processed. If You do this /UL:L will not work but the output may easily be edited. If this switch is used the ouput text/line must not exceed 256 characters, the output buffer size. If you need to use this feature with more than 256 characters/line see BUILDING RNO on how to change the output buffer size. Ii.2.2 RNO SWITCHES A file specification may have one or more switches associated with it. A switch is an indicator, consisting of a slash and a two-character ASCII name, used to select program options. The switch itself may have three forms. If the switch designator, for example, is SW, then: /SW sets the switch action; /-SW negates the switch action, and /NOSW also negates the switch action. In addition the switch identifier may be followed by any number of va- lues. The permitted values are ASCII strings numbers, and decimal numbers. Any numeric value may be preceded with a + or a - sign; The following are valid switch specifications. /SW:27:XXX:29 /-SW - 3 - RSX/IAS OPERATING PROCEDURES RNO COMMAND STRING /NOSW:NOSWITCH:-50 - 4 - RSX/IAS OPERATING PROCEDURES RNO COMMAND STRING Eleven switches control the RNO program. These switches, described below, may be specified on either the input or output file specifica- tion. the defaults may be set by the system manager at Task Build time. /SP -- Spool the output file /-SP -- Inhibit spooling of output file /UC -- Force ALL uppercase output /-UC -- Allow normal case conversion /FF -- Force Form-feeds (instead of multi-LFs) /-FF:n -- Simulate Form-feeds with Line-feeds n is paper length, default set by your system manager. /WA -- Wait for CR input at beginning of each page /-WA -- Continue printing each page with no wait /PA:l:h -- Output only indicated page range l = lowest page to print h = highest page to print default = print all This switch should be used with the /AP,/CH switches for chapter oriented text. /CH:l:h -- Output only indicated chapter range. /AP:l:h -- Output only indicated appendix range. /PS:H:W -- Set page size to H,W (height,width) Default is /PS:58:60 (See PAGE SIZE command) /HY -- Hyphenate output /-HY -- Do not hyphenate output /RI:n -- Right shift output. n=amount of shift /UL:B -- Underline with a spacing-backspace /UL:L -- Underline via line overprint with underline character. /UL:S -- Simulate underline with hyphen character on next line. /UL:N -- Underlining suppressed. /CR -- Output CR,LF in file. /-CR -- Output regular text (No CR,LF). This doesn't work if the output line exceeds 256 characters. - 5 - CHAPTER Iii SOURCE FILE FORMAT The source file contains the textual material which will appear on the final copy, plus information to specify formatting. Most importantly, upper and lower case information also may be supplied so that copy can be prepared on the terminal or other such device which can input only upper case letters. All command information consists of regular ASCII printing characters so that a listing of the source file may be examined if the final copy is not exactly as desired. All material in the source file is taken to be source text except those lines beginning with a period. A line beginning with a period is as- sumed to be a command, and must match one of those listed in chapter 4. The commands provide the formatting information, and control various op- tional modes of operation. Usually the text is filled and justified as it is processed. That is, the program FILLS a line by adding successive words from the source text until one more word would cause the right margin to be exceeded. The line is then JUSTIFIED by making the word spacings larger until the last word in the line exactly meets the right margin. The user may occasionally wish to reproduce the source text exactly, which is done by disabling filling and justification or by use of the LITERAL command. The program may be set to fill but not justify, in which case the output will be normal except that lines will not be jus- tified to the right margin. The program may also be set to justify but not fill, although this would probably produce peculiar results and is not recommended. When the fill mode is on, spaces, and carriage returns occurring in the source text are treated only as word separators. Multiple separators are ignored. In addition an extra space is added to punctuation occur- ring at the end of a sentence. Some of the commands cause a BREAK in the output. A break means that the current line is output without justification, and the next word goes at the beginning of the next line. This occurs at the end of para- graphs. The program will advance to new pages as necessary, placing the title (if given) and the page number at the top of each page. The user may call explicitly for a page advance where desired, and may inhibit the occurrence of a page advance within specified material. - 6 - SOURCE FILE FORMAT CASE INFORMATION Iii.1 CASE INFORMATION NOTE The following section explains how to change the case of the input text. If you have a terminal with a shift key you do not need to read this section. Specification of case for files prepared on the terminal is done with two characters, circumflex (^), and back-slash (\). The appearance of a circumflex causes the letter immediately following to be transmitted in upper case. The appearance of a back-slash causes the letter immediate- ly following to be converted to lower case. Any letter not preceeded by one of these characters is transmitted in the current mode. The mode is initially upper case, and is changed by the occurrance of two successive case control characters. Two circumflexes (^^) cause the mode to be set to upper case, and two back-slashes (\\) cause the mode to be set to lower case. When the text is in upper case mode (^^) the text is printed exactly as you typed it in. This means that no case conversion occurrs. If in lower case mode (\\) all text is converted to lower case except where explicitly specified as upper case by a single upper shift character (^). The following shows the uses of the case control characters: H\\ERE IS A ^SAMPLE ^SENTENCE IN ^^UPPER CASE\\ AND LOWER CASE. becomes: Here is a Sample Sentence in UPPER CASE and lower case. An additional character, less-than (<), capitalizes the entire word it precedes. It then returns the file to the current case. This character is not engaged unless preceded by the FLAGS CAPITALIZE command. If the capitalization character is engaged, you may capitalize a whole section of text by inserting ^< in front of the text and ^^ after the text. Similarly to the lower case lock a single character may be forced to lower case rather than upper case by preceeding it with (\). These case change control symbols always override the actual case of the input text and also the implied case of a command. For example the com- mand .HEADER LEVEL would normally produce a capitalized title for level number 1. This may be changed by preceeding the title with \\ to force it to lower case. - 7 - SOURCE FILE FORMAT SPECIAL CHARACTERS Iii.2 SPECIAL CHARACTERS & Ampersand UNDERLINE The character ampersand (&) is used to specify underlining. The ampersand will cause the character following it to be underlined, e.g. &f&o&o becomes foo. To begin underlining a whole section of --- text you preceed the section by ^& and follow the section by \&. Any spaces in the section will not be underlined. To underline a single space preceed it by &. Text with imbedded spaces may be underlined spaces and all by issuing the command .UNDERLINE SPACES. # Number Sign Quoted or explicit SPACE It is occasionally necessary to include spaces in the text which should not be treated as word separators. For this purpose, RUNOFF treats the number-sign character (#) as a quoted space; i.e. it will print as exactly one space in the output. Normal spaces may be expanded to multiple spaces to justify the text, but quoted spaces may not be expanded. Also normal spaces mark the end of the previous word and the beginning of the next. Text with imbedded quoted spaces may not be broken at the quoted spaces and split into separate lines. _ Underline ACCEPT or Quote character To allow the appearance of the special characters (ampersand, number-sign, circumflex, or back-slash) in the output, the under- line character (_) is used as a quote character. The character im- mediately following an underline will be transmitted to the output with no formatting effect. The underline itself is thus another case requiring quoting. The following five cases occur: _&, _^, _\, _, _$, _|, _=, _%, _<, and_#. If normal spaces or tabs are preceeded by an ACCEPT character they are converted to quoted spaces. ^ Circumflex UPPERCASE shift or mode lock As described above, the circumflex character (^) is used to convert the letter following to upper-case. It is also used to lock the case mode in upper case, and the underline mode to "underline all text". If it is to appear in the printed text, it must be preceded by the quote character (_^). \ Backslash LOWERCASE shift or mode unlock As described above, the backslash character (\) is used to output the letter following in lower-case. It is also used to lock the case mode in lower-case, and to disable underlining. If it is to appear in the printed text, it must be preceded by the quote char- acter (_\). - 8 - SOURCE FILE FORMAT SPECIAL CHARACTERS < Less-than CAPITALIZE next word If .FLAGS CAPITALIZE has been engaged, the less-than character (<) is a special character used to capitalize the entire word it pre- cedes. If it is to appear in the printed text, it must be preceded by the quote character (_<). An appearance of a circumflex fol- lowed by less than (^<) permanently locks Runoff into capitalize mode. This may be cancelled by a double circumflex (^^). = Equals-sign HYPHENATE character If .FLAGS HYPHENATE has been engaged, the equals character (=) used to disable automatic hyphenation for the word it preceeds. If it is to appear in the printed text, it must be preceded by the quote character (_=). If it is used in the middle of a word, the auto- matic hyphenation is not used, and instead the equals sign marks where hyphenation may occurr. % Percent sign OVERSTRIKE character If .FLAGS OVERSTRIKE has been engaged, the percent character (%) will generate a backspace to allow overstriking the previous char- acter to form new composite characters. When overstriking is en- abled, this character must be preceeded by the quote character. The default is .NO FLAGS OVERSTRIKE. Multiple backspaces may be generated, but you should be careful since the characters following the multiple backspace can cause unpredictable results if they are not printable characters. . Period CONTROL character This flag marks the rest of a line as a control or command if it appears at the beginning of a line. $ Dollar sign SUBSTITUTE character If .FLAGS SUBSTITUTE has been enabled then the dollar sign marks the beginning of a substitution label. Runoff will then substitute some specified text for the label. The text may be specified by the .DEFINE SUBSTITUTE command. | Vertical bar BREAK character If .FLAGS BREAK is enabled this character marks where a word or ex- pression may be broken. A word containing a break will not be hy- phenated, but will be broken if necessary. This flag also marks where a string is justified if .TAB RIGHT is enabled. NOTE All of these flags may be disabled by a .NO FLAGS com- mand. They may be enabled and changed to a different character by a .FLAGS command. For example if you use the equals sign frequently you may change it to the dou- ble quotes which you never use by entering the following line. - 9 - SOURCE FILE FORMAT SPECIAL CHARACTERS .FLAGS HYPHENATE " - 10 - CHAPTER Iv INTRODUCTION TO THE COMMANDS When you first use RUNOFF the wealth of available commands may seem confusing , but this wealth may be used to speed the creation of docu- ments. The first thing you must learn is how to create simple documents such as letters. To do this you must learn the following commands. 1. .RIGHT MARGIN to set the right margin. 2. .LEFT MARGIN sets the left margin. 3. .TOP MARGIN sets the top margin on the paper. 4. .PAGE SIZE combines all of the above and sets the page length. This command should always be used if you wish to produce docu- ments with the pages numbered. 5. .PARAGRAPH starts paragraphs. 6. .CENTER centers a line of text. 7. .RIGHT right justifies a line of text. 8. .INDENT indents the next line. 9. .SPACING sets the spacing to single, double, triple .... 10. .HALF SPACING sets RNO to produce in between spacing such as 11/2, 21/2 .... - - 11. .SKIP skips a line (or 2 if double spacing, 3 etc.) In other words skip skips lines according to the spacing selected. 12. .BLANK skips multiple lines independent of spacing. 13. .FIGURE reserves n lines independent of spacing for inserting drawings, or other artwork later. 14. .PAGE starts a new page. You should read the sections on how .FILL, .JUSTIFY, .BREAK, and .ENABLE HYPHENATION all work. These commands form the basic set of commands which automatically place the text on the page in a "pleasing manner". For example .FILL will automatically make sure each line has enough text to go all the way to the right margin. The task of setting up paragraphs may be simplified by using the .AUTO- PARAGRAPH command. Once this command has been given any line preceeded by a blank,tab, or a blank line automatically starts a new paragraph. By using this command the input text may be formatted to "look" like the final document. The .SET PARAGRAPH command may be used in conjunction with the .AUTOPARAGRAPH to control the format of each paragraph. One of the most frequently asked question is: How do I do bibliogra- phies or tables? This is usually a matter of setting up a negative in- dentation and adding the same extra extra to the left margin. For exam- ple you issue .LM +5 .SET PARAGRAPH -5. Every time you begin a para- graph the line will start on the old left margin, and the text will be indented. The text will look like the following. .SET PARAGRAPH [-indent],[-skip],[test page] this command sets the format produced by the .PARAGRAPH command, or the .AUTOPARAGRAPH feature. The indentation may be either positive or negative. - 11 - INTRODUCTION TO THE COMMANDS Next you should learn how to control the overall look of the pages. This is controlled by the .HEADER commands, .LAYOUT, and .TITLE/.SUBTITLE commands. The basic page contains a title/subtitle at the top with a page number. The location of the title/subtitle and the page number may be varied using the .LAYOUT command. This allows 8 dif- ferent placements. The title and subtitle are 2 lines of text which ap- pear at the top of each page. The text may be specified by the .TITLE or .SUBTITLE command. If no title is specified none appears. In addi- tion the .NO TITLE command will suppress both the title and subtitle without suppressing the page number. The .NO HEADER command on the other hand will suppress title,subtitle, and page number. The .NO NUMBER PAGE command may be used to suppress the page number without af- fecting the title/subtitle. Normally the page number is preceeded by the word "Page". If you want only a number and no extra word the .DIS- PLAY NUMBER command can be used to suppress the word "Page". The .DIS- PLAY NUMBER command can substitute some other text for the word "Page" and can add extra text after the page number. For example, this could be used to number the pages of a 4 page document as 1/4,2/4,3/4,4/4. The .DISPLAY command can also switch page numbers to other forms. Nor- mally the first page of a document will not have the title/subtitle printed on it. This may be changed by using the .FIRST TITLE command. A common problem with text is arranging it on each page. Often you may wish to keep a section of text all on the same page without having it split between 2 pages. This may be achieved by using the .TEXT and .END TEXT commands. An alternate way to guarantee a fixed number of lines all on the same page is by use of the .TEST TEXT command or the .TEST PAGE command. You should be aware that the .PARAGRAPH command has an automatic .TEST TEXT built into it. Once you are able to basically format a letter or simple few page docu- ment, you should begin to learn some of the shortcuts. Often you need to produce lists such as the list above of simple commands. The easy way to do this is by using 3 commands .LIST, .LIST ELEMENT, and .END LIST. These commands make creation and modification of lists simple and perhaps even enjoyable. 1. .LIST is the command to begin a list. 2. .LIST ELEMENT starts each entry in the list. If you need to insert more entries in the list you need only insert a new .LIST ELEMENT command with the added text and the list will be appropriately numbered. 3. .END LIST ends the list. The file LIST.TST contains an example of a properly formatted list. If you need to produce lists preceeded by Roman numerals or letters rather than numbers the .DISPLAY ELEMENTS command allows you to change the list format. This is illustrated in the file DISLIST.RNO. You may wish to format a large document. This is most easily done by breaking it up into sections. Each section may be combined by using the .REQUIRE command. You would make a master file containing just the com- mand .REQUIRE "filename". For each file you wish to combine you insert the .REQUIRE with the finlename being the name of each file with text you wish to print. If you later on decide that you must reshuffle the various sections it is easily done by rearranging the various .REQUIRE statements. Another thing you may do in a large document is divide it into chapters and appendices. The best way to do this is by using the .CHAPTER and - 12 - INTRODUCTION TO THE COMMANDS .APPENDIX commands. These commands automatically format the beginning of each chapter in identical fashion and the chapters are numbered in the order in which they occurr. If later you need to insert a new chapter this is easily done because the chapters are then automatically renumbered. The "look" of the chapters may be modified by the .STYLE CHAPTER command. This sets up the margins, and placement of the chapter number and title. Some documents may need the page number placed in different locations depending on whether the current page is the first page of a chapter. The .CHAPTER LAYOUT command may be used to control the first page of each chapter independently of subsequent pages. .DIS- PLAY CHAPTER and .DISPLAY APPENDIX may be used to select either letters, ruman numerals, or normal Arabic numerals for numbering the chapters and appendices. Whenever a doucument is chapter oriented the page numbers are then printed as chapter-page. For example the 5'th page in chapter 2 would be numbered 2-5. If sequential page numbering without the chapter numbers is desired, then .NO NUMBER CHAPTER should be used. Often you wish to divide a document into sections in addition to or instead of chapters. Each section is started with a section header con- sisting of a number followed by a title. A section number is a string of numbers separated by periods. For example 3.2.5 or 1.2 and so on. A string of 3 numbers is called the third header level, 2 numbers the sec- ond and 1 the first. RUNOFF can automatically generate headers by using the .HEADER LEVEL command. This is illustrated by the file .HEADER.TST. Using the header level command allows you to easily insert more sections because RUNOFF will then renumber all the remaining sections automati- cally. Headers can be reformatted by the .STYLE HEADERS command. This controls the spacing and placement of the headers. In addition the .IN- DENT LEVELS command indents the left and right margins on the headers as desired. If you need to use letters or Roman numerals instead of normal decimal numbers you may use the .DISPLAY LEVELS command to change the type of numeral. The next page number or chapter number and so on may be assigned by the .NUMBER commands. These assign numbers for the document. In addition to pages subpages may be numbered. This allows insertion of extra pages without reformatting and reprinting the whole document. For example after page 12 you may insert 12A, 12B, and 12C for a total of 3 more subpages. This is done by issuing the .SUBPAGE and .END SUBPAGE com- mands. The actual subpage number may be selected with the .NUMBER SUB- PAGE command. The .NUMBER commands make skipping pages possible. You should also be aware that it is possible to format only selected pages and chapters by using the CH,AP, and PA switches. Text may be underlined by using the underline flag. This is controlled by the .FLAGS UNDERLINE, .ENABLE UNDERLINING and .DISABLE UNDERLINING commands. Likewise a whole cornicopia (or Pandoras box) of extra fea- tures may be controlled by the .FLAGS commands. These allow you to en- able and redefine special symbols to perform various functions as under- lining, capitalization, hyphenation, overstriking, breaking, and substi- tuting. The .ENABLE or .DISABLE commands let you control when these features are used. Most of these features are self explanatory. Three of them are explained a little further here. 1. OVERSTRIKING is where more than 1 symbol is printed in the same spot. For example overstriking an oh "O" with a minus sign "-" can produce the Greek letter theta. 2. BREAK is a special way of telling RUNOFF where it may break a line as opposed to hyphenating it. This is also used to - 13 - INTRODUCTION TO THE COMMANDS control tabulation. 3. SUBSTITUTION is a way of defining abbreviations for long com- monly used lines of text, or symbols. This is most convenient- ly used to create complex symbols which may be printed on spe- cial line printers. See .DEFINE SUBSTITUTE, .RESET SUBSTITUTE, .FLAGS SUBSTITUTE, and .ENABLE SUBSTITUTION Sometimes you need to type a table in column format. This can be par- ticularly onerous even with the tab stops on a typewriter. RUNOFF con- tains tab stops settable by the .TAB STOPS command. In addition RUNOFF can right justify columns or even center justify columns using .TAB STOPS, .TAB RIGHT, and .FLAGS BREAK. An example of some of this is shown in the file TAB.TST. You may want to connect items in a list by ellipses to guide the eye. The command .ELLIPSES will fill in ellipses rather than spaces whenever you tab to the next item. You should be aware that RUNOFF can automatically take care of foot- notes. The .FOOTNOTE command allows you to type the footnote at the same point it is referenced, and it will appear at the bootom of the page. In addition RUNOFF can produce an INDEX to your document and also a table of contents. To do this you should have some experience with the aforementioned features. The .RNO files included with this document give examples of most of these features. Since this version of RUNOFF is almost the same as Digital Standard Ru- noff (DSR), the DSR manual can be used a guide to most of the basic fea- tures. VAX/VMS users may prefer this version to DSR because of the extra features available to customize documents. RSX or IAS users have no choice but to use one of the versions of RUNOFF available through DECUS. - 14 - CHAPTER V RUNOFF COMMANDS The following commands will be recognized if they are at the beginning of a line started with a period. Any line in the source file beginning with a period is assumed to be one of these commands. If it is not, an error diagnostic will be typed and the line will be ignored. Some com- mands take one or more decimal numeric arguments. These are separated from the command by a space. Multiple arguments may be separated by spaces,tabs, or commas. If the parameters are separated by commas, any number of tabs or spaces may appear before or after the comma. If the argument is preceeded by a minus sign (-) then it may be entered as a negative value. If it is preceeded by +- then it may be a relative ar- gument. A relative argument changes the old value by the + or - the value specified. Square are [] brackets are used to denote optional syntax elements. More than one command may be entered on a single line. The commands may be optionally separated by a semicolon (;). If the semicolon is used as a separator the next command must immediately follow with no intervening spaces. Commands which are followed by text may be the last command on a line, but may not have other commands after them on the same line. For example the following line is a legal set of commands all on 1 line: .TP 10.Fill;.EH .Title GONE WITH THE WIND Multi-word commands may appear in any form. Thus, .NO HEADER and .NOH- EADER are both legal. Many commands may be abbreviated. Standard ab- breviations are given below each command. Commands may have text following them provided the text is separated from the command by a semicolon (;). For example the following line will produce a centered title. .C; THIS IS A TITLE The semicolon is essentially a separator which indicates that the rest of the line is to be treated just as if a new line had begun. For example the following forms of the .PAGE SIZE command area all legal. .PAGE SIZE 20,20 .PAGE SIZE 20 , 20 .PAGESIZE 20 20 .PS ,,1,2 .ps , , 1 2 - 15 - RUNOFF COMMANDS V.1 TEXT FORMATTING .BREAK .BR causes a break, i.e. the current line will be output with no jus- tification, and the next word of the source text will be placed at the beginning of the next line. .SKIP [-n] .S [-n] causes a BREAK after which n is multiplied by the number of spaces between lines. The result is the number of lines skipped. Output is advanced to the top of the next page if there is no room on the current page. If the current page is empty, SKIP does nothing. The n can also have a negative value. Negative values indicate skips to n lines from the bottom of the page. Negative skips or skips greater than 6 are not allowed during footnotes or .TEXT sec- tions. .BLANK [-n] .B -[n] causes the current line to be output with no justification, skips n line spaces, and then starts output of the current source text. BLANK is like SKIP, except that the space to be left is independent of line spacing. If the page is empty, BLANK does nothing. n can be negative to move to n lines from the end of the page. Negative n or n greater than 6 are not allowed in footnotes or .TEXT sec- tions. .FIGURE [n] .FG n leaves n lines blank to make room for a figure or diagram. If fewer than n lines remain on the current page, the page is advanced and n blank lines are left at the top of the next page. This com- mand guarantees your having n blank lines for a figure, while blank will only guarantee n or fewer blank lines. This command is not allowed during footnotes or .TEXT sections. This command has the unfortunate side effect that if the current page doesn't have enough space for the figure, the page is left with a number of blank lines at the bottom of it. The default is .FIGURE 1 .FIGURE DEFERRED [n] .FGD [n] This command is similar to figure. It will reserve n lines on the current page or if there is not enough room n lines at the top of the next page. If there is not enough room on the next page for all the lines requested an error message is produced and the next page will be entirely blank. This differs from .FIGURE in that the current page will be filled with text right to the bottom line if there is no room for the figure on this page. This command can not - 16 - RUNOFF COMMANDS TEXT FORMATTING have the figure caption follow the .FIGURE command, unlike .FIGURE. NOTE .BLANK, .SKIP, and .FIGURE are very similar commands. If you are intending to leave 1 inch of space .BLANK 6 would be appropriate. If you need 3 lines of space .SKIP 3 is the correct command. If you need to leave space at the top of a page, or need a guaranteed amount of space use .FIGURE or .FIGURE DEFERRED. When choosing between .SKIP and .BLANK remember that .SKIP is appropriate if you are concerned with the number of text lines to skip, where text lines may be more than 1 physical line. .BLANK is appropriate when the space to be left is an absolute value, for example .5 inches which is normally 3 physical lines. .INDENT [-n] .I [-n] | .LEFT [-n] | .L [-n] causes a BREAK and sets the next line to begin n spaces to the right of the left margin. The n can be negative to allow beginning a line to the left of the left margin. However, a line cannot begin to the left of column 0. If n is not supplied, the current paragraph indent is used. .RIGHT [-n] .R [-n] places the following text flush with the right margin if n is zero or unspecified. If n is specified the text is placed n spaces to the left of the margin (n positive) or n to the right (n negative). | If .RIGHT is issued after .CENTER TEXT, but before .END CENTER, the | text will be centered not right justified. .PARAGRAPH [-n], [v], [t] .P [-n], [v], [t] CAUSES A BREAK and formats the output paragraphs. The n is option- al and, if present, sets the number of spaces the paragraph is to be indented. (n can also have a negative value). v is the verti- cal spacing or number of lines between paragraphs. v can range from 0 to 5. T is the TEST TEXT value. If there is not room for t lines remaining on the page then a new page is started. The action of both t and v are changed by the .SPACING command. Initially n,v,t are 1,5,2 as the default. If you specify n,v,t different from the defaults, you only need to do this once. Every .PARAGRAPH command that follows will assume the same n,v,t. This command is the same as issuing the following sequence of commands. .SKIP v .TEST TEXT t .INDENT n - 17 - RUNOFF COMMANDS TEXT FORMATTING .CENTER [LINE][+-n] .CENTRE [+-n] .C [LINE] [+-n] causes a BREAK and centers the following line of text in the source file. The centering is halfway between the right and left margins if n is not specified. If n is specified as an absolute argument (no sign) then the centering is over column n. If n is a relative argument the centering is over the default center plus the relative value of n. NOTE The definition of n differs from the previous version of RUNOFF. .CENTER TEXT [+-n] .C TEXT [+-n] centers the following lines of text until a .END CENTER command. This differs from .CENTER LINE in that it centers more than 1 line of text. Centering automatically prevents filling and justifica- tion. The argument n has the same meaning as for CENTER LINE. .END CENTER .ECN stops centering the text. This must be given only after a .CENTER TEXT command. V.2 FOOTNOTE / NOTE .FOOTNOTE .FN saves lines at the bottom of the current page for a footnote. When the bottom of the page is reached the text following the .FOOTNOTE command will be printed. If insufficient room remains on the cur- rent page, space is allocated at the bottom of the following page. The text of the footnote should begin on the line following the FOOTNOTE command. Indentation, case lock, justify, margins, spac- ing, bar, and fill are preserved around footnotes. However, com- mands that affect page formatting are illegal in a footnote. Tab stops are illegal because they are not preserved. A footnote with- in a footnote is also illegal. If the footnote overflows from the current page onto the next page, it is possible that the line referring to the footnote will also be printed on the next page. To prevent this either preface the .FOOTNOTE command by a command that causes a break, or place enough text between the reference and the command to guarantee a full line of text. | Normally this command does not draw a line between the body of the | text and the footnotes. If you want it to automatically draw a - 18 - RUNOFF COMMANDS FOOTNOTE / NOTE | line you must use .PERMANENT FOOTNOTE. .END FOOTNOTE .EFN ends the footnote. The previous version of RUNOFF used an exclama- tion point ( ! ) to do this. The exclamation point is not support- ed in this version. Each .FOOTNOTE or .PERMANENT FOOTNOTE command must be followed by a .END FOOTNOTE command. | .PERMANENT FOOTNOTE | .PFN | This command may only be issued before other footnote commands. If | this command is issued and a footnote command has already been | given for the current page, the command will be flagged as an | error. The text following this command is taken a permanent foot- | note which is then printed between the body of text on a page, and | the footnotes at the bottom. This also sets up permanent margins, | spacing, and fill/justify mode for footnotes. The left and right | margins, and the spacing may be set during the permanent footnote, | and they will be restored for every subsequent .FOOTNOTE command. | For example you may wish to separate the footnote from the text by | a blank line, and a divider. To do this you might use the follow- | ing sequence of instructions. | .PERMANENT FOOTNOTE | .SKIP 2;------- footnote ------- | .END FOOTNOTE | The permanent footnote will not be printed at the bottom of the | page if no regular footnotes are declared. .NOTE [title text] .NT [title text] This command is used to format notes. A note is text set off from the rest of the text by reduced margins and a centered title. The text of the note is follows the .NOTE command, and is ended by a .END NOTE command. First this command issues a .TEST TEXT n where | n is 4 added to the paragraph test page count. This command SKIPs | 2, reduces both margins, centers the title text (if no text is | given, it centers the word "NOTE"), and then SKIPS 1. The text of | the note is then printed. An indentation is applied to both the | left and right margins. The indentation is either 20,15,10, or 5 | whichever produces no more than a 25% reduction in the text line. | If the indentation produces a text line less than the minimum, no | indentation is used, and an error message is typed. | .END NOTE [n] | .EN [n] | terminates the NOTE command, SKIPs n, and reverts the margins and spacing modes to their settings before the last NOTE command. If n is not specified it will be 2 as the default. - 19 - RUNOFF COMMANDS PAGE FORMATTING V.3 PAGE FORMATTING .PAGE .PG causes a BREAK and an advance to a new page. If the current page is empty, this command does not advance the page. Just like an au- tomatic page advance, this command prints the title (if given) and page numbers on every page. .SUBPAGE .SPG executes a PAGE with page numbering suspended. The page number is unchanged, but letters are appended to the page number. This per- mits insertion of additional pages within an existing document without changing the existing page numbering. .END SUBPAGE .ES disengages the SUBPAGE command and starts a new page. Normal page numbering is resumed. .NUMBER [PAGE] [+-n] .NMPG [+-N] starts page numbering. This is the default so there is no reason to issue this command unless page numbering is disengaged. If re- sumption of page numbering is desired at a certain page, specify n as the next page number. n may also be a string of up to 3 letters. If n is a letter A cooresponds to 1, B to 2, Z to 26. Similarly AA is 27, AB 28 and so on. The maximum value for n is 4000. If you wish to skip several pages for inserting diagrams, artwork or any other items which require a full pages, you may do so by issuing the following commands: .NUMBER PAGE +n .PAGE The next page number will be the current page number +n. The page number is normally right justified with respect to the permenant right margin. See the .PAGE SIZE command. .NO NUMBER .NNM disengages page numbering. However, pages continue to be counted, so that the normal page number can appear if page numbering is re-entered with the NUMBER command. .NUMBER SUBPAGE [+-n] .NMSPG [+-n] starts the next page as subpage number n or letter n where n is the subpage letter. The maximum value for n is 255 or the largest letter is JT. - 20 - RUNOFF COMMANDS PAGE FORMATTING | .TEXT | .TX | This command begins a section of text that you wish to keep all on | one page. The .END TEXT or another .TEXT command ends the section. | With this command you can guarantee that a given section of text | will not be split between 2 pages unless it is too long to fit on 1 | page. This command is illegal inside a footnote, or note. Like- | wise footnotes and .TEST PAGE, .TEST TEXT, or .FIGURE are illegal | inside this command. | .END TEXT | .ETX | This ends a section of text you wish to keep all on the same page. .TEST PAGE n .TP n causes a BREAK followed by a conditional page advance. It skips to the next page if fewer than n lines are left on the page. This ca- pability is to ensure that the following n lines are all output on the same page. | .IMMEDIATE TEST PAGE n | .ITP n | This is almost the same as test page except that it doesn't cause a | break. If fewer than n lines remain on this page a new page is | started and the current line is the first line on the new page. | This is useful if you wish to test for sufficient space without | breaking the line. | .TEST TEXT n | .TT n | First this command causes a break, then tests to see if enough room | is on the current page for n lines of text. If not a new page is | started. This differs from .TEST PAGE in that the actual space re- | quired depends on the current spacing. | .IMMEDIATE TEST TEXT n | .ITT n | This command is the same as test text except that no break occurrs | before the test. This command is very useful when you are filling | and justifying text. It allows you to "see" if there is enough | room on the page for the rest of the text and start a new page if | there is not. This may be used to prevent single lines from dan- | gling on the top of the next page. - 21 - RUNOFF COMMANDS PAGE HEADERS V.4 PAGE HEADERS The page header consists of a title, and subtitle printed at the top of each page, as well as a page number. This title is printed on the first line below the top margin, and the subtitle on the next line. The page number will normally appear right justified on the same line with the title. The page number is normally preceeded by the word "Page". The title and subtitle are normally left justified. The actual location of title,subtitle, and page number are controlled by the .LAYOUT command. In addition to the following commands the .NUMBER PAGE, .DISPLAY NUMBER .NO NUMBER, and .NO NUMBER CHAPTER commands control the page header. .TITLE [text] .T [text] takes the remaining text as the title and outputs it on every page at line 0. The title is normally left justified with respect to the permanent left margin. See the .PAGE SIZE command. The per- manent margins allow different margins for the headers than for the text. Titles and subtitles may not contain escape flags. In addi- tion tabs are converted to single spaces. Some of these restric- tions may be removed in future releases. Titles are also produced by these commands: .FIRST TITLE, .CHAPTER, or .APPENDIX. .NO TITLE prevents printing either the title or subtitle at the top of the page. The title print is reinstated by the .TITLE command. This command also prevents titles from being produced by the .CHAPTER command. The chapter title will still be printed after the chapter number , but it will not appear as part of the page header. .FIRST TITLE [text] .FT [text] Same as TITLE , but used to specify the title to be printed on the first page of the document. This command must precede all text in the source file. Use of the FIRST TITLE command is the only way to print a title line on the first page of the document. If the page number appears on the same line as the title it will also not ap- pear on the first page unless a .FIRST TITLE command is issued. If the title is blank only the page number will be printed. If the page number is at the bottom of the page it will be printed on the first page whether or not a .FIRST TITLE command is used. This command is equivalent to: .HEADER .TITLE [ text ] .SUBTITLE [text] .ST [text] takes the remaining text as the subtitle and outputs it on every page. It appears directly under the title. The subtitle is al- igned on the same margin as the title. The subtitle is not printed if the .NO TITLE command is in force. - 22 - RUNOFF COMMANDS PAGE HEADERS changes the layout of the title and page numbers on the page. This command doesn't have any affect on the current page. The next page will have the new layout. If you want to change only the first page of each chapter use the .CHAPTER LAYOUT command. The spacing is the number of blank lines between the last line on the page and the page number. If the code is 0 then the spacing is the number of blank lines-1 between the bottom of the text and the bottom of the page. Pages with different layouts but the same spacing will have the same number of lines on a page regardless of whether the page number is at the top or bottom of the page. If the spacing is omitted it is assumed to be 2 except for code 0. For code 0 it is | assumed to be -1 if not specified. Normally if layout 0 is used | the first page of a document will not have a page number, unless | .FIRST TITLE or .HEADER commands are used at the beginning. | However all other layouts will number every page. This is consis- | tent with DSR usage. The codes are: CODE PAGE LAYOUT ---- ---- ------ 0 Title flush left, page number flush right 1 Title centered ,Page number centered at bottom 2 Title flush left odd page ,Title flush right even page ,Page number centered at bottom 3 Title flush left, Page number centered at bottom 4 Title top left, Page bottom right 5 Title top center, page number bottom right 6 Title top center, page number bottom right for odd numbers, left for even 7 Title top, page bottom, both right for odd numbers, left for even The default is code 0. .CHAPTER LAYOUT code [,spacing] .CHLO [code] [,spacing] This command changes the layout for the first page of a chapter or appendix without having any effect on any other pages. The parame- ters are specified in the same manner as for the .LAYOUT command. If this command is not used, or used with no parameters, the layout will be the same all pages of a document. .HEADER .HD causes the page header (title, subtitle, and page number) to be printed. - 23 - RUNOFF COMMANDS PAGE HEADERS .NO HEADER .NHD causes the page header (title, subtitle, and page number) to be om- itted. If a layout other than 0 is used, then the page number is still printed at the bottom of the page and only the title and sub- title are suppressed. The header lines are completely omitted, so that text begins at the top margin where the header would normally start. The first page of output from RNO is formatted as if the .NO HEADER command had been issued, while subsequent pages are for- matted as if the .HEADER command had been issued. This may be changed by issuing the .FIRST TITLE command before any text on the first page. .HEADER PAGE sets RUNOFF to print the word PAGE in front of the page number. This is the initial or default option. .HEADER NO PAGE set RUNOFF to print only the page number without the word PAGE in front of it. This essentially supresses the pre-header on the page number. .HEADER UPPER .HEADER MIXED .HEADER LOWER These 3 commands enable the header and determine the format of the pre-header. UPPER,MIXED or LOWER cause the word "PAGE" to be printed before the page number in all upper case, capitalized, or all lower case respectively. NOTE The .DISPLAY NUMBER command should be used rather than .HEADER UPPER .HEADER LOWER, .HEADER MIXED, .HEADER NO PAGE, and .HEADER PAGE. It is a more versatile command and it can perform all the same functions as these other HEADER commands. .HEADER SPACING [n] sets the spacing between the title and the first line of text. The value n is the number of lines to skip. If n is not specified then the current spacing per line of text is used as the default. The initial setting is 3. The minimum value for n is 1 and if 0 is specified the value of 1 is assumed. - 24 - RUNOFF COMMANDS LISTS V.5 LISTS The following commands format lists of items. Say you wish to make up a list of the colors of the rainbow. To do this you could issue the fol- lowing commands. .list 0 .le RED .le ORANGE .le YELLOW .le GREEN .le BLUE .le VIOLET .end list The result would be the following: 1. RED 2. ORANGE 3. YELLOW 4. GREEN 5. BLUE 6. VIOLET It is possible to preceed the list with letters as A,B,C ... and so on, or by Roman numerals. To do this see the .DISPLAY LIST command. The following commands control lists: .LIST n .LS n starts an indented numbered list with n spacing, moves the left margin 9 spaces to the right for the first LIST command, and 4 more spaces for each subsequent nested LIST. The n specified in the .LIST command skips n lines before each list element in the current list. If the spacing is set to other than single spacing the actu- al number of blank lines is n times the spacing. If n is omitted the current paragraph spacing is used. .LIST ELEMENT .LE starts an item in the list, used in conjunction with the LIST co- mand. If you want to type the text on the same line as the com- mand, you must separate the text from the command with any number of intervening spaces or tabs, or (optionally) one semicolon. Each list element produces a number followed by the text. The first list element is numbered 1 the second 2 and so on. Each number is normally followed by a decimal point ( . ) and 2 spaces. If you prefer letters, roman numerals or some character other than the de- cimal point see .DISPLAY ELEMENTS. The text lines up with the cur- rent left margin and the numbers are placed 4 spaces to the left of the new left margin. The numbers will not be placed to the left of the permanent left margin. If you want the numbers lined up on the left margin with the text indented, you may do this by issuing .LM after the .LS command to reset the left margin back to the perman- ent left margin. A .TEST PAGE is taken for each list element ac- cording to the value set in the last .PARAGRAPH or .SET PARAGRAPH command. - 25 - RUNOFF COMMANDS LISTS | This command may be used without preceeding it by a .LIST command. | The numbers will again be indented -4 from the current margin but | not to the left of the permanent margin. This might be considered | to be the 0'th or base list. All of the other commands except .END | LIST apply to this list also. .END LIST n .ELS n Terminate the .LIST command and returns the settings to the same as for the last .LIST command. The optional value n sets the spacing at the end of the current list. If none is supplied the current paragraph spacing is used. The actual number of lines skipped is n times the current spacing. .NUMBER LIST [+-n] .NMLS [+-n] sets the next number in the list to n. If n is preceeded by + or - then the next list element number will be the current one + or - n. You may also specify a letter instead of n. If this is done A cor- responds to 1, B to 2 and so on. The maximum value for n is 4000. V.6 CHAPTER/APPENDIX FORMATTING .CHAPTER [text] .CH [text] starts a new chapter using the text as the title of the chapter. The text may not contain escape sequences, and tabs within the text are treated as ordinary spaces. This command declares the text as being chapter oriented, which has effects on the page numbers and the section headers. This command acts as if the following command string were entered: .NO HEADER .PAGE SIZE .PAGE .FIGURE 12 .CENTER; CHAPTER n The n is incremented by 1 automatically. After the CHAPTER n is typed on the page the following are executed: .BLANK 2 .CENTER; text .BLANK 3 .TITLE text .FILL .HEADER .SUBTITLE The result of this command is a chapter heading with centered title and chapter number. The chapters of this document are an example of this format. This command resets the case, margins, spacing, and justify/fill modes. It also clears any subtitles and sets the chapter name as the title. The title will appear in CAPS unless it contains a shift down (\\). If the .NO AUTOTITLE or .NO TITLE com- mand is used, the page title will not automatically be the same as the chapter title. To retain control over the margins and spacing you should use the .PAGE SIZE command to set the permanent margins and spacing before the .CHAPTER command is executed. - 26 - RUNOFF COMMANDS CHAPTER/APPENDIX FORMATTING It is possible to reformat the chapters with the .STYLE CHAPTER command. The chapter numbers may be selected to be letters or Roman numerals with the .DISPLAY CHAPTER command. In addition the .DISPLAY CHAPTER command may also change the word "CHAPTER" to another word, or just blank space. The STYLE and DISPLAY commands when used together can completely alter the chapter header. .APPENDIX [text] .AX [text] starts a new appendix using the text as the title of the appendix. This command performs the same functions as .CHAPTER except that an appendix results. This command acts as if the following command string were entered: .NO HEADER .PAGE SIZE .PAGE .FIGURE 12 .CENTER APPENDIX a .BLANK 2 .CENTER; text .BLANK 3 .TITLE text .FILL .HEADER .SUBTITLE The letter a following APPENDIX is incremented before it is print- ed. Both .STYLE CHAPTER and .DISPLAY APPENDIX alter the look of the appendix header. .NUMBER CHAPTER [+-n] .NMCH [+-N] supplies a number (n) to be used in a subsequent CHAPTER command. NUMBER CHAPTER would be used when a chapter of a document occupies a source file of its own. In such a case, NUMBER CHAPTER would be the first command of the source file. n may also be a letter. The maximum value for n is 255 or the largest letter is JT. This would also be used if you wish to skip a chapter for insertion later on. To skip chapters specify +n. This command also enables chapter numbering. When chapter numbering is in effect each .CHAPTER or .APPENDIX command resets the page number to 1 and the chapter or appendix number are printed with the page number as part of the page header. This is the normal RUNOFF mode. .NO NUMBER CHAPTER disables chapter numbering. When it is disabled, the page numbers are not reset with each chapter or appendix, and the chapter/appendix number is not printed as part of the header. This command must be issued before the first .CHAPTER or .APPENDIX com- mand if you wish to disable chapter-page numbering. In addition it must be reissued after each .NUMBER CHAPTER if you intend to con- trol chapter numbering but wish running page numbers. .NUMBER APPENDIX [+-n] supplies a number or letter to be used as the letter for a subse- quent APPENDIX command. n may also be a letter. See NUMBER PAGE. The maximum value for n is 255 or the largest letter is JT. - 27 - RUNOFF COMMANDS CHAPTER/APPENDIX FORMATTING | .STYLE CHAPTER [n1],[-n2],[-n3],[-n4],[-n5] | .STCH [n1],[-n2],[-n3],[-n4],[-n5] | changes the style of the chapter headers. | n1 = The number of lines to skip before printing CHAPTER. | n2 = Number of lines to skip after the word CHAPTER. If n2=-1 then | the title and word CHAPTER will appear on the same line. | n3 = Number of lines from title to text. If n3=-1 then the title | and any following text will be on the same line. | n4 = The number of spaces to indent the word CHAPTER. | n5 = The number of spaces to indent the title. If n4 or n5 are -1 | then the line will be centered. If n4 or n5 are -2 then the | lines are right justified. | The default values are 12,1,3,-1,-1. V.7 SECTION HEADERS A section header consists of a string of numbers ( n1.n2.n3.... ) fol- lowed by a title. For example this section is preceeded by a section header with the title "Section Headers". There are a variety of com- mands to control section headers. If you are using either the .CHAPTER or .APPENDIX command then the first number n1 is the same as the chapter or appendix number. The number of numbers ( n1.n2...) which preceed the section header is call the level of the header. If you have a chapter oriented document, the chapter number is not included in the numbering. For example the following header is at level 4 1.2.3.4 Example of a header The following is at level 6: 3.1.1.1.1.1 Example of a header Section headers always consist of at least 2 numbers so that in a non chapter orinted document header s at level 1 are printed as n.0. The following commands control the header levels. .HEADER LEVEL [+-n] text .HL [+-n] text starts a section at the level specified and takes the following text as the header or title of the section. n can range from 1 to 6. The sections are incremented by 1 automatically, and the number is output in the form i.j.k.l.m. If this is a chapter oriented do- cument, the i is the chapter number. Otherwise, it is the number of the .HL 1 level. This command acts as a .BREAK;.TEST PAGE 7;.BLANK 2 followed by the section number, two spaces, and the section name. if the level number is preceeded by + or - the current level number is the previous one + or - the value specified. LEVEL 1 capitalizes the section name and separates it from the the rest of the text by putting it on a separate line. LEVEL 2 only separates the section name from the rest of the text - 28 - RUNOFF COMMANDS SECTION HEADERS by a break. LEVELS 3,4,5 run the title and following text together and the title and text are separated by a single dash. If the title is too long to fit on 1 line it is filled, justified, and continued on the next line indented to line up with the first part of the title. Autohyphena- tion is not performed on header titles. If the title is omitted, only the number is printed, and the next line of text follows it separated by 2 spaces. For this case no distinction is made between different level numbers. | .NUMBER LEVEL [+-n1],[+-n2],[+-n3],[+-n4],[+-n5],[+-n6] | .NMLV [+-n1],[+-n2],[+-n3],[+-n4],[+-n5],[+-n6] | sets the next header to the number specified. If n is preceeded by | + or - the n is added or subtracted from the current value. The | next time .HEADER LEVEL is used the number specified will be the | header number. If the next .HEADER LEVEL command specifies a level | different from the one implied in the .NUMBER LEVEL command the re- | sult will be undefined. Instead of a number n may be up to 2 | letters. The maximum value for n is 255 or the largest letter is | JT. For example the following command sequence is specified: | .NUMBER HEADER 5,4,3,2 .HEADER LEVEL | The result of this would be: | 5.4.3.2 .STYLE HEADERS [n1],[n2],[n3],[n4],[n5],[n6],[n7],[n8],[n9] .STHL [n1],[n2],[n3],[n4],[n5],[n6],[n7],[n8],[n9] controls the formats of the header levels. The initial default is in (). n1 = The lowest level at which text starts on same line as title. (3) n2 = The lowest level with title capitalized. (1) n3 = The higest level with first letter of title in CAPS. (6) n4 = Lowest level with no level number. (7) n5 = Lowest level with centered title and number. If the title and text are on the same line no centering occurrs. (7) n6 = The number of blank lines before the header. (2) n7 = The number of blank lines after the title. (1) n8 = The implicit test page value (7) n9 = Number spaces between section number and title. (2) | .INDENT LEVELS n1,n2 | this causes the header levels to be indented by n1 from the left | margin and indented n2 from the right margin. A positive value of | n1 causes indentation to the right of the left margin. A positive | value of n2 causes indentation to the left of the right margin. | .ENABLE LEVELS [+-n1],[+-n2] | enables output of header levels up to n1, and TOC output up to n2. | In other words the .DOC file will have header levels 1 to n1 and | the .RNT file will have levels up to n2. If n2 is greater than n1 - 29 - RUNOFF COMMANDS SECTION HEADERS | the .RNT file will only contain levels up to n1. The default is 6. | If n is not specified the default is assumed. - 30 - RUNOFF COMMANDS V.8 DISPLAY COMMANDS | .DISPLAY NUMBER ["pre-header",] [format] [,"post-header"] | .DNM ["pre-header",] [format] [,"post-header"] controls the format of the page numbers as they are printed at the | top of the page, in the index and in the table of contents. The | pre and post headers specify text to be printed before and after | the page number. The pre-header may consist of up to 10 char- | acters. The post headr may be up to 4 characters long. This extra | text is only printed on the individual pages, and do not appear in | the index or table of contents page numbers. Any flag characters | included in the pre or post header text are printed, and do not act | as flags. In addition no case conversion is made on the header | text. The pre or post headers may be enclosed in either apos- | trophes (') or quotes ("). The format determines what format the page number is in. It can be either regular decimal numbers, Roman numerals, or a sequence of letters. See the table of formats below. You may specify only the pre-header and omit the format and post-header. However if you wish to specify the post-header you must specify the format. The pre-header is always optional. | Assume you want pages to be numbered in lower case roman numerals. | You would use the following command: | .DISPLAY NUMBER RL | As another example say you wish to print a 4 page memorandum and on | each page you want the page number and the total number of pages | printed as n/4. To do this you issue the following command. | .DISPLAY NUMBER "", D, "/4" | The first page is numbered 1/1 the second 1/2 and so on. | This document is numbered with: | .DISPLAY "- ",D," -". | The default is: | .DISPLAY NUMBER "Page" , D , "" format Description ------ ----------- D Decimal numbers (1,2,3......) LU Letters uppercase (A,B,C.....Z,AA,AB,AC....) LL Letters lowercase (a,b,c.....) LM Letters mixed (first is uppercase) (A,B....,Aa,Ab,...) RU Roman numerals uppercase (I,II,....) RL Roman lowercase (i,ii.....) RM Roman mixed (I,Ii,Iii......) - 31 - RUNOFF COMMANDS DISPLAY COMMANDS | .DISPLAY CHAPTER ["pre-header",] [format] [,"post-header"] | .DCH ["pre-header",] [format] [,"post-header"] controls the format of the chapter numbers as they are printed when | the .CHAPTER command is used. The pre-header is up to 10 char- | acters of text to be printed in front of the chapter number. The | format determines what type of number is printed. See .DISPLAY | NUMBER. The post-header is up to 4 characters to be printed after | the chapter number. | For example rather than chapters you want sections with numbering | by Roman numerals, so you include the following in your .RNO file: | .DISPLAY 'Section (' , RU , ')' | When you issue the .CHAPTER command for the 6'th time you get the | following in the chapter header: | Section (VI) The default is: .DISPLAY CHAPTER "CHAPTER " , D , "" | .DISPLAY APPENDIX ["pre-header",] [format] [,"post-header"] | .DAX ["pre-header",] [format] [,"post-header"] controls the format of the appendix number. This works the same way as .DISPLAY CHAPTER. The default is: .DISPLAY APPENDIX "APPENDIX " , LU , "" .DISPLAY SUBPAGE [format] .DSP [format] controls the format of the subpage number. It is normally upper- case letters. See .DISPLAY NUMBER for a table of possible formats. .DISPLAY LEVELS [fm1],[fm2],[fm3],[fm4],[fm5],[fm6] .DHL [fm1],[fm2],[fm3],[fm4],[fm5],[fm6] sets the header level numbers to be displayed in the selected for- mat. fm1 to fm6 are format codes for LEVELS 1 to 6. See .DISPLAY NUMBER for a table of possible formats. The default is: .DISPLAY LEVELS D,D,D,D,D,D .DISPLAY ELEMENTS ["l"] [,format] [,"r"] .DLE ["l",] [format] [,"r"] this command sets the format of the current LIST element. The "l" and "r" are the left and right characters to put around the list number. See .LIST, .LIST ELEMENT, .END LIST for explanations of the list elements. See .DISPLAY NUMBER for a table of possible formats. Once you have specified the display characteristics for a given list it will remain specified even after more .LIST or .END LIST commands. The optional characters may be delimited by either quotes ["] or a pair of apostrophes [']. The default format is: .DISPLAY ELEMENTS "" , D , "." If you wish to setup your lists at the beginning of the document to - 32 - RUNOFF COMMANDS DISPLAY COMMANDS normal outline form you issue the following commands. .LIST 0 .LIST 0 .DISPLAY ELEMENTS LU .LIST 0 .DISPLAY ELEMENTS LL .END LIST 0 .END LIST 0 .END LIST 0 V.9 MODE SETTING | .ENABLE BAR [n1] [,n2] | .EBB [n1] [,n2] The change bar is a vertical bar printed in the in the left margin of a document. It is generally used to note sections of the docu- ment that have been changed since the last printing of the docu- ment. This command enables the printing of change bars. Bars will not actually be printed unless a .BEGIN BAR command is issued. | This command is normally issued at the beginning of a document. | Each line is shifted right by n1 before the change bar and by n2-1 | after the change bar. If no change bar is printed the line is | shifted right by n1+n2. In effect if n1 is 4 and n2 is 3 the text | line is always indented by 7 but the change bar appears 2 spaces to | the left of the text when it is turned on. The defaults for n1,n2 | are 0,3. If you set a left margin the n1,n2 are in addition to the | left margin. .DISABLE BAR .DBB Causes change bar mode to be disabled. If this is done at all, it is usually only at page breaks. This is the default setting. .BEGIN BAR .BB Causes the change bar to be printed in the document. It will be printed until a .END BAR command is encountered. .END BAR .EB This command stops the printing of change bars. .JUSTIFY .J Causes a break and sets subsequent output lines to be justified (initial setting). The command increases the spaces between words until the last word exactly meets the right margin. .NO JUSTIFY .NJ Causes a break and prevents justification of subsequent output lines to make a ragged right margin. - 33 - RUNOFF COMMANDS MODE SETTING .FILL .F Causes a break and specifies that subsequent output lines be filled (inital setting). Sets the justification mode to be that specified by the last appearance of JUSTIFY or NOJUSTIFY. FILL adds succes- sive words from the source text until the adding of one more word will exceed the right margin. It stops before putting the last word in. (If hyphenation has not been disabled, RNO will attempt | to break words which cause line overflow into syllables.) Normally | the end of an input line is treated as a space unless the command | .NO SPACE is used. .NO FILL .NF disengages the FILL and JUSTIFY modes. This command is used to permit typing a table. NOTE 1. The nofill-nojustify mode need be used only where there are several lines of material to be copied exactly. A single line example will not require using these com- mands if there are breaks before and after. 2. Normally FILL and NOFILL are used to turn both filling and justification on and off. It is usually desirable to do both. A subsequent appearance of a justification com- mand will override the fill command however. 3. Because of the action of FILL, a single occurrance of NOJUSTIFY will cause the remainder of the file to be un- justified, with filling as specified. In order to justi- fy but not fill (not recommended), a JUSTIFY command must follow every NOFILL command. | .NO SPACE | .NSP | This command may be used to join 2 filled lines without the normal | space in the output between them. If .FILL is engaged and you | issue .NO SPACE after a line, the end of that line will not auto- | matically generate a space in the output .DOC file. .UPPER CASE .UC sets the output mode to upper case. This comand acts the same as typing two circumflexes (^^). This is the default mode. There is no need to type this command unless the mode was previously altered to lower case. - 34 - RUNOFF COMMANDS MODE SETTING .LOWER CASE .LC sets the typeout mode to lower case. This command acts the same as typing two backslashes (\\). .PERIOD .PR enables printing of two spaces after every punctuation that is fol- lowed by at least one separator character (initial setting). The legal punctuations are: . ; : ? ! If you wish to prevent 2 spaces from being inserted after one of these punctuation marks you may insert a SPACE flag after the punc- tuation rather than a space. .NO PERIOD .NPR disengages conversion of punctuation/separator to punctuation/two spaces. .LITERAL .LT turns off all flags and all features to permit printing of text ex- actly as it appears in the source file. In addition all commands are disabled except for .END LITERAL. Commands appear in the out- put as if they were normal text. Blank lines are output instead of being ignored. This command is almost equivalent to the following sequence of commands. .NO FILL .NO FLAGS ALL .NO FLAGS CONTROL Unlike the sequence above the .LITERAL command may be turned off by the .END LITERAL command. .END LITERAL .ELI is used at the end of a LITERAL to allow normal text processing again. This is the only command recognized after the .LITERAL com- mand. It is equivalent to the following: .FLAGS CONTROL .FLAGS ALL In addition the fill mode is restored if it was in effect when the .LITERAL command was issued. .UNDERLINE SPACES sets RUNOFF to underline the spaces imbedded in a line of text to be underlined. .UNDERLINE NO SPACES set RUNOFF to not underline spaces imbedded in a line of text. This is the normal option. - 35 - RUNOFF COMMANDS MODE SETTING .AUTOPARAGRAPH .AP causes any blank line or any line starting with a space or tab to be considered as the start of a new paragraph. This command allows normally typed text to be justified without special commands. It does not cause a paragraph if blank lines are followed by a com- mand. .NO AUTOPARAGRAPH .NAP disengages the AUTOPARAGRAPH mode. .AUTOHYPHENATE .AH turns on automatic hyphenation. When it is on RNO will automati- cally hyphenate words wherever necessary. If .DISABLE HYPHENATION is used all hyphenation including autohyphenation is disabled, until .ENABLE HYPHENATION is issued. This is the default so this command need not be used if you want autohyphenation. .NO AUTOHYPHENATE .NAH turns off autohyphenation. When it is off user selectable hyphena- tion may still be used. Note that autohyphenation may be turned off temporarily for 1 word by preceeding it with the hyphenate flag. | .AUTOTITLE | .AT | This command enables automatic titles. Everytime you give a | .CHAPTER or .APPENDIX command the chapter or appendix title will be | used as the title at the top of the page. This is the normal de- | fault so it is no necessary to give this command. | .NO AUTOTITLE | .NAT | turns off the autotitle mode. When off the .CHAPTER or .APPENDIX | commands will not automatically generate titles. | .AUTOSUBTITLE [+-n] | .AST [+-n] | Turns on autosubtitling. When this is on each header level command | lower than n sets the subtitle to the current header level title. | The default for n is 1. | .NO AUTOSUBTITLE | .NAST | Turns off autosubtitling. This is the normal default. - 36 - RUNOFF COMMANDS PARAMETER SETTING V.10 PARAMETER SETTING .LEFT MARGIN [+-n] .LM [+-n] sets the left margin to n. The n must be less than the right mar- gin but not less than 0. The initial setting is 0. If n is not supplied, the permanent margin is used. You should note that tab stops are relative to the margin at 0. In other words if you set .LEFT MARGIN 10 .TAB STOPS 10,15,20,25 the tab stop at 10 will be ineffective because it is already at the left margin. .RIGHT MARGIN [+-n] .RM [+-n] sets the right margin n. The n must be greater than the left mar- gin. The initial setting is 60. If n is not supplied, the current page width (set with the PAGE SIZE command) is used. .TOP MARGIN [+-n] .TM [+-n] sets the top margin or the number of blank lines at the top of the page to n. The top margin must be less than the number of total lines in the page. The default value is 0. If n is not specified the top margin is reset to the default or permanent value. See also .PAGE SIZE command below. | .PAPER SIZE [+-h],[+-w],[+-l],[+-t],[s] | .PAGE SIZE [+-h],[+-w],[+-l],[+-t],[s] .PS [+-h],[+-w],[+-l],[+-t],[s] sets the size of the page to h by w for the height and width. Also | sets the LEFT MARGIN to l, the TOP MARGIN to t and the spacing to | s. The initial setting is 58,60,0,0,1. These settings are perman- ent since they are now the new default for the duration of the do- cument. Every .CH command will reinstate the PAGE SIZE settings. In addition the other margin commands without any margins specified will reset the requested margin to the permanent value. You may reset all of these values to the permanent value by issuing the .PAGE SIZE command without any parameters. The permanent values are used to determine the margins of the heading on each page. The older versions of RUNOFF used only the temporary right margin to set the header margins. If the margins are set so that there are fewer than 16 lines on a page or fewer than 16 spaces per line the .PAGE SIZE command will be rejected with an error message. This restriction also applies to the margin commands. NOTE If you wish this command or any other margin command to set the margins for the entire document including the first page, you must put the command before all text, and spacing commands. A spacing command is .BLANK , .SKIP, .FIGURE, or any other command that generates extra blank lines. - 37 - RUNOFF COMMANDS PARAMETER SETTING .SET PARAGRAPH [indent],[spacing],[test-page-lines] .SPR sets the paragraph parameters without actually causing a break, or starting a new paragraph. This is similar to the .PARAGRAPH com- mand. The parameters specifed in this command also have an effect on the following commands: .LIST .LIST ELEMENT .END LIST .NOTE .PRINT INDEX .DO INDEX .SPACING [n] .SP [n] sets the number of spaces between lines. The n can range from 1 to | 5. If n is omitted the permanent spacing (normally 1) is restored. | The permanent spacing is set by the .PAGE SIZE command. This com- mand influences .PARAGRAPH, .SET PARAGRAPH, and .SKIP. It has no effect on .TEST PAGE, .FIGURE, or .BLANK. SPACING 1 is like single spacing on a typewriter and SPACING 2 is like double spacing. SPACING 2 puts one blank line between lines of text. | .HALF SPACING [n] | This command is very similar to the spacing command except that it | turns on half spaing. The n will be the number of half lines per | line of text. Once half spacing is enabled, every command which | specifies spacing now works in increments of half lines. Commands | which are affected by half spacing are: | .BLANK .FIGURE .FIGURE DEFERRED | .PAGE SIZE .TOP MARGIN .SPACING | .HEADER SPACING .LAYOUT .STYLE LEVELS | .STYLE CHAPTER | .NO HALF SPACING | This turns off the half spacing option. All commands which specify | a spacing will work in increments of 1 space only. Previously | specified spacing will however remain the same. .STANDARD n .SD n returns all parameters to their initial settings and sets n as the page width. This command has been retained for compatability with previous versions of RNO and is NOT recommended for general use. --- The .PAGE SIZE command with no parameters will reset margins to the permanent values, while this command resets them to "installation standard". If .STANDARD 70 is specified, margins are reset .PAGE SIZE 58,70,0,3 .SPACING 1 .FILL .SET PARAGRAPH 5,1,2 The actual parameters may differ according to the "installation standard". - 38 - RUNOFF COMMANDS PARAMETER SETTING .LOCK this command locks a number of page formatting parameters. While locked these parameters can not be changed. Essentially all com- mands that change the page format are locked. The following com- mands will give error messages if issued after a .LOCK command: .HEADER UPPER .HEADER LOWER .HEADER MIXED .HEADER PAGE .HEADER NO PAGE .HEADER SPACING .NO HEADER .HEADER .INDENT LEVELS .PAGE SIZE .TOP MARGIN .STYLE (all commands) .STANDARD .NO NUMBER .NO NUMBER CHAPTER .NO TITLE .LAYOUT .DISPLAY (all commands) In addition the .NUMBER CHAPTER will not reinstate chapter number- ing, and .NUMBER PAGE will not reinstate page numbering. If you are careful to put all page formatting commands into a separate file, this command will probably not be necessary. If however you have been foolish enough to sprinkle them throughout your text, or you need to merge several documents into a single coherent tome, this command can be a valuable short cut. This is intended to facilitate merging several files into 1 docu- ment. You first set up all the parameters mentioned above and then lock them. If you still have page formatting commands in the rest of the document they will not be obeyed. This will produce a uni- form document with all the same format. V.11 TAB STOPS Lists of items may be conveniently expressed in tabular form using the tab key and the .TAB STOPS command. Every time you press the "tab" key you have entered a tab into the text. Just as on a typewriter the next text will begin at the next tab stop. The tab stops are set using the .TAB STOP command. You can right justify or center justify the items by using the .TAB RIGHT command. When tabbing it is suggested that you use the .NO JUSTIFY command or the .NO FILL command. Having both fill and justify modes on will either give you error messages, or cause unpred- ictable results. You should also .DISABLE HYPHENATION when using the tab feature. You may wish to set up a list of items to go into regular columns, but where any item could go into any column. This can be achi- eved by putting a "tab" at the end of each item, and setting the left margin to the first column, with .FILL enabled. .TAB STOPS [n1],[n2], . . . ,[n32] .TS [n1],[n2], . . . ,[n32] sets tabs. The n must be listed in ascending order. The value of a tab stop (n) must be between 1 to 255. If tabs already exist, the issuing of another TAB STOPS command clears all previous tabs before setting new ones. Initially tabs are set at eight-column intervals to match the Digital hardware standard. These tabs are at columns 8, 16, 24, 32, 40, 48, 56, 64, 72, and 80. The tabs are converted to the appropriate number of non-expandable spaces. If there are no regular spaces to the left of the tabs, they will print out at the appropriate position, even if FILL is on. Up to - 39 - RUNOFF COMMANDS TAB STOPS 32 tab stops may be specified. .TAB RIGHT this causes the text following a tab to be right justified. The text is right justified at the next tab terminator. The text is considered to be terminated by either a space, tab, end of line,, or break character. If the break character is used to define the right side of the text, then the .FLAGS BREAK command must be is- sued. This allows typing tables with the text right justified, or with an arbitrary point (defined by the break) lined up. The first example of this is listing a column of figures right jus- tified. You type in the following text. .NO FILL .TAB STOPS 30,40,50,60 .TAB RIGHT NAME Jan Feb Mar April Jones 152.75 0.00 3.78 1000.50 Smith 4.95 300.22 5.75 54.95 Which produces the following text: NAME Jan Feb Mar April Smith 152.75 0.00 3.78 1000.50 Jones 4.95 300.22 5.75 54.95 The second example is columns of figures lined up along the decimal points. You input the following lines: .NO FILL .FLAGS BREAK .TAB STOPS 20,30,40,50 .TAB RIGHT 1|.23 3|.1415 75|.2 789|.0 55|.2 100|.98765 Which produces the following text. 1.23 3.1415 75.2 789.0 55.2 100.98765 .TAB LEFT this sets the tabs back to the normal action of left justifying the text on the next tab stop. This is the default. The following ex- ample illustrates the .TAB LEFT command. You type in the following text. .NO FILL .TAB STOPS 30,40,50,60 .TAB LEFT NAME Jan Feb Mar April Jones 152.75 0.00 3.78 1000.50 Smith 4.95 300.22 5.75 54.95 Which produces the following text: NAME Jan Feb Mar April Smith 152.75 0.00 3.78 1000.50 Jones 4.95 300.22 5.75 54.95 - 40 - RUNOFF COMMANDS TAB STOPS .ELLIPSES causes tabbed text to be filled with ellipses rather than spaces. In other words if you tab and this feature is on the text will be padded by ellipses ( . . . .) rather than spaces to justify the text. For example you type in the following text: .NO FILL .TAB STOPS 30,40,50,60 .TAB RIGHT NAME Jan Feb Mar April .ELLIPSES;Jones 152.75 0.00 3.78 1000.50 Smith 4.95 300.22 5.75 54.95 Which produces the following text: NAME Jan Feb Mar April Smith . . . 152.75 . . 0.00 . . 3.78 . 1000.50 Jones . . . . 4.95 . 300.22 . . 5.75 . . 54.95 .NO ELLIPSES turns off the ELLIPSES feature. This is the default. V.12 FLAGS A flag is a character which performs some special action and does not appear in the final document. An example of a flag is the ampersand (&). It causes the next character to be underlined. Each flag char- acter can be defined by the .FLAG command. This command defines what the character does and can optionally define which character does it. For example the following command will redefine the double quotes as the underline flag. .FLAGS UNDERLINE " After issuing this command any character preceeded by double quotes (") will be underlined. The ampersand will then be merely a simple printing character. The .NO FLAGS command disables the selected flag character. It is then a normal printable character. If you issue a .FLAGS command with a character specified which is already in use as a flag, RUNOFF will reject the command and give you an error message. .FLAGS ACCEPT [new flag] .FL ACCEPT [new flag] enables recognition of the underscore (_) to allow printing other characters that are reserved to flags. This is normally enabled, but may be disabled by .NO FLAGS ACCEPT. The underscore may be re- placed by another character to use for this flag. .NO FLAGS ACCEPT .NFL ACCEPT disables the use of (_) as an accept flag, so that it may be used as a normal character in the text. - 41 - RUNOFF COMMANDS FLAGS .FLAGS ALL .FL ALL .FL turns on all flags that have been previously enabled. This is an- alogous to a master switch which turns on all other switches. .NO FLAGS ALL .NFL ALL .NFL turns off all flags. They can only be enabled again by .FLAGS ALL This will not turn off the CONTROL FLAG. .FLAGS BREAK [new flag] .FL BREAK [new flag] enables the break flag (|) or vertical bar. This flag is used to mark where a word or expression may be broken. The expression will only be broken there if it would otherwise exceed the right margin. Normally this flag is not enabled. .NO FLAGS BREAK .NFL BREAK disables the break flag. .FLAGS CAPITALIZE [new flag] .FL CAPITALIZE [new flag] enables the less-than (<) character to capitalize the entire word it precedes. It then returns the file to the current case mode. This special character is usually off and must be typed at the very beginning of the source text to enable this character. Typing a space returns the file to the current case lock. The flag command can be followed by a character to be used instead of the less-than (<). (^<) may be used as a permanent shift to upper case only. (^^) will then cancel this mode. .NO FLAGS CAPITALIZE .NFC disengages the FLAG CAPITALIZE command (inital setting). .FLAGS CONTROL [new flag] .FL CONTROL [new flag] allows you to specify a new CONTROL flag. Normally it is a period (.). This is the code which appears at the start of a line to sig- nal a command. .NO FLAGS CONTROL .NFL CONTROL disables recognition of the CONTROL flag. Once this command has been issued you can no longer give any commands including .FLAGS CONTROL. So this is a non reversable command. - 42 - RUNOFF COMMANDS FLAGS .FLAGS ESCAPE [escape flag] .FL ESCAPE enables the escape sequence flags. This allows you to issue spe- cial control codes (escape sequences) to the printer to perform a variety of functions. In addition you must ENABLE ESCAPE to actu- ally output the control codes. Normally the escape flag is dis- abled. The escape flag defines a flag symbol for the escape se- quence. Escape sequences can be defined for the circumflex (^), back slash (\), and an escape character of your choice. To define escape sequences you must use .DEFINE ESCAPE. .NO FLAGS ESCAPE .NFL ESCAPE disables the recognition of the escape sequence flags. This is the normal default. | .FLAGS EQUATION | .FL EQUATION | Turns on the equation formatting flags. This sets the left and | right braces { } as the flags to use in formatting equations. | .NO FLAGS EQUATION | .NFL EQUATION | Turns off the equation flags. .FLAGS HYPHENATE [new flag] .FL HYPHENATE [new flag] enables the equals character (=) to disengage hyphenization for the word it preceeds, or specify where rno may hyphenate inside a word. This special character is initially off and must be typed at the beginning of the source file to enable this character. The FLAGS HYPHENATE character is used to disengage hyphenization for words improperly hyphenated by the hyphenation algorithm. .NO FLAGS HYPHENATE .NFL HYPHENATE Disengages the FLAGS HYPHENATE command (initial setting). .FLAGS OVERSTRIKE [new flag] .FL OVERSTRIKE [new flag] enables the overstrike flag (%). This flag generates a backspace so you may overstrike the previous character. This allows forma- tion of composite characters to approximate scientific symbols or add diacritical marks for foreign languages. A different character other than % may be assigned to this flag. - 43 - RUNOFF COMMANDS FLAGS .NO FLAGS OVERSTRIKE .NFL OVERSTRIKE disables the overstrike flag (%). This is the mode RUNOFF normally starts in, so if you wish to use this flag it must be enabled. .FLAGS SPACE [new flag] .FL SPACE [new flag] enables the number (#) sign as a quoted non expandable space. Every time the # appears in the text RUNOFF changes it to a space, but only 1 space even if FILL is enabled. A different character may be assigned to this function when it is enabled. This flag is normally enabled. .NO FLAGS SPACE .NFL SPACE disables the space flag (#), thus allowing the # to be used in the text without explicitly quoting or accepting it. .FLAGS SPECIAL [flag] .FL SPECIAL [flag] This sets up a single character to trigger an escape sequence. The flag is the character desired. The escape sequence must be defined with the first character equal to the circumflex (^). For example you wish the left square braket ([) to output an escape sequence for superscripting on most printers. You enter the following commands: .FLAGS SPECIAL < .DEFINE ESCAPE /^RNO EXAMPLE,EXAMPLE=EXAMPLE | The EXAMPLE.RNT file must then be passed through RNO to get the final | TOC. You may edit the .RNT file if it is not satisfactory. You would | do the following: | >RNO EXAMPLE.TOC=EXAMPLE.RNT | You now have the final EXAMPLE.DOC and EXAMPLE.TOC files. They may be | printed separately or a new composite file may be created: | >COPY EXAMPLE.TOC,EXAMPLE.DOC EXAMPLE.TXT | or | >PIP EXAMPLE.TXT=EXAMPLE.TOC,EXAMPLE.DOC | Now the composite file EXAMPLE.TXT may be printed as a whole document. | The following commands control the TOC output. | .SEND TOC text | .STC text | sends the "text" to the .RNT file. The text may be used to control | the TOC output. The text may actually be a set of commands for ex- | ample .REQUIRE "FORMAT" to insert a set of commands to control the | format of the TOC. If the same command appears in the text then | you can make sure the TOC and documentation all have the same for- | mat. - 53 - RUNOFF COMMANDS TABLE OF CONTENTS | .TOC | You do not normally use this command. It is automatically placed | at the head of a .RNT file. It enables formatting for the table of | contents. It does the following: 1. New pages for each chapter are inhibited. 2. All tab stops are cleared. 3. .NO NUMBER CHAPTER 4. .STYLE CHAPTER 1,-1,-1,0,2 5. .STYLE HEADERS ,,,,,0,0 6. .INDENT LEVELS 8,8 | .END TOC | You would not normally use this command unless you wish to append | more text to the .RNT file for processing with the same page | numbering as the table of contents. This command is the complement | to .TOC. It ends the table of contents and allows normal text pro- | cessing. It does the following: 1. New pages are allowed at the start of each chapter. 2. Tab stops are NOT changed. --- 3. .NUMBER CHAPTER 4. .STYLE CHAPTER 12,1,3,-1,-1 5. .STYLE HEADERS ,,,,,2,1 6. .INDENT LEVELS 0,0 | The format of the final table of contents may be varied either by edit- | ing the .RNT file or by using .STC to add extra commands. The following | hints may help you in designing your own format. 1. The .RNT file needs .FILL to operate properly so do not edit a | .NO FILL command into it. | 2. The page numbers are right justified using tabs without el- | lipses enabled. If you want ellipses used in the table of con- | tents you should .SEND TOC .ELLIPSES. le .ENABLE LEVELS n1,n2 | may be used to automatically determine which header levels are | printed in the table of contents. The parameter n2 is the max- | imum header level to output to the .RNT file and hence the max- | imum to appear in the table of contents. | 3. A title page may be placed in front of the table of contents by | putting it into a separate file called TITLE and inserting .STC | .REQUIRE "TITLE" at the front of the .RNO file. 4. You may wish to number the table of contents in lower roman | numerals by using the command .STC .DISPLAY NUMBER RL. 5. The .STYLE commands may be inserted into the .RNT file to con- | trol the actual format of the final table. By doing this you | can vary the spacing between the entries, the spacing between | items in the entries, the Capitalization of the header levels | and so on. 6. .INDENT LEVELS can also be used to change the HEADER LEVEL in- | dentation. 7. Finally the foreward or preface may be inserted into the table | of contents file bye .STC .REQUIRE "PREFACE" and it will follow | the same numbering as the table of contents. You may wish to | .END TOC at the beginning of the PREFACE.RNO file. This should - 54 - RUNOFF COMMANDS TABLE OF CONTENTS | only be necessary if the preface contains section headers. V.18 EQUATION FORMATTING | An equation formatting routine has been added to RUNOFF. This is de- | signed to format multiple nested fractions. To use this facility the | equation flag must be enabled via the .FLAGS EQUATION command. Sub- | scripts or superscripts are normally taken care of in formatting frac- | tions, but you may wish to add extra space between the line and the num- | erator or denominator. To do this give the command .ENABLE EQATION 1 to | add 1/2 line or .ENABLE EQUATION 2 to add 1 whole line. With these | preliminary commands out of the way the braces { } are now flags which | are used in formatting equations. They must be preceeded by the under- | score _ if they are to appear in the text. | Fractions are formatted in the following manner. You express the fac- | tion as: | {NUMERATOR}/{DENOMINATOR} | and RNO will output: | NUMERATOR | ___________ | DENOMINATOR | Fractions may be nested inside each other | {{A}/{B} + {C}/{D}}/{DENOMINATOR}. The macimum nesting is about 6 deep. | If the nesting is all in numerators then it is limited to 12, all in de- | nominators is limited to 6. Spaces or tabs may be freely used between | numerators and denominators outside of the braces for clarity. They | will not appear in the final output. For example {A}/{B} will format | the same as {A} / {B}. Certain features will no longer work inside | fractions. Normal spaces are treated as non expandable, and tabs are | likewise treated as non expandable spaces. As a result fractions are | never expanded to right justify the text. | One warning is in order. Fractions may not be split between 2 output | lines. If this occurrs because the text is too long, you will get a | string of error messages and the output will be messed up. You certain- | ly may use more than 1 input line to format the fraction. You may wish | to use the command .NO SPACE to prevent extra spaces from being automat- | ically inserted. | The commands used to control equation formatting are: 1. .FLAGS EQUATION 2. .NO FLAGS EQUATION 3. .ENABLE EQUATION n 4. .DISABLE EQUATION NOTE | This equation routine will only work properly with word pro- | cessing style hard copy printers which support sub/superscript | escape sequences and backspacing. In addition | sub/superscripting escape sequences must be defined with VSP - 55 - RUNOFF COMMANDS EQUATION FORMATTING | parameters. V.19 CONDITIONAL TEXT | Sometimes you may wish to have 2 different copies of the same document. | There are many ways to achieve this goal. Only 3 methods will be consi- | dered. 1. .REQUIRE may be used to achieve this goal. You can break up | the document into small sections, and then set up 2 master | files which you might call DOCUMENT1.RNO or DOCUMENT2.RNO. | Each master file would then require only those sections appro- | priate to generating each different document. 2. SUBSTITUTIONS can be used to change a document. For example | you may wish to generate different documents each personalized. | You could define different substitutions which would generate | different output. 3. Finally you could use the .IF, .IF NOT, .ENDIF, and .VARIANT | statements to conditionlize sections of a document. These are | shown below. NOTE | The .IF, .IF NOT, and .ENDIF commands must be the first com- | mand on a line. | .IF aaa | This statement causes the text following it to be ignored until an | .ENDIF aaa statement is encountered. The aaa is a label which con- | trols the action of the .IF. If aaa has been previously defined in | a .VARIANT statement then the text is not skipped. If not defined | the text is skipped. | .IF NOT aaa | This statement causes the text following it to be ignored if aaa is | undefined. In other words if a .VARIANT statement preceeds the .IF | NOT with the label aaa then the text is skipped. | .ENDIF aaa | This statement terminates the range of the .IF or .IF NOT state- | ments. The label aaa must be the same as the previous .IF which is | terminated. - 56 - RUNOFF COMMANDS CONDITIONAL TEXT | .VARIANT aaa | This statement defines a label aaa which is used to control the ac- | tion of subsequent .IF commands. aaa may be up to 10 characters in | either upper or lower case. The case is ignored and ABC or abc are | equivalent labels. If the label is defined in the VARIANT state- | ment then .IF aaa will cause text to be printed and .IF NOT aaa | will suppress text. | For example: | .VARIANT NOTES | .IF notes | This line is printed | .ENDIF notes | .IF NOT notes | This line is not printed | .ENDIF notes - 57 - APPENDIX A RUNOFF LIMITATIONS Runoff has many limitations as a general text formatting program. One of the main limitations is the inability to look ahead and format the text based on what will be happening in the next few lines. Here is a partial list of some of the implications of this inability, and what you can do to alleviate this. 1. RUNOFF has the annoying habit of leaving single lines of a par- agraph dangling on the next page. This can be fixed by hinting that the paragraph is about to end by issuing .IMMEDIATE TEST TEXT 2 about 2 lines before the next paragraph begins. 2. Sometimes a word can be hyphenated between pages. This can only happen on a page with a footnote. Hyphenation is usually inhibited for the last line of a page. However a footnote can confuse RUNOFF if the end of the page is reached during the .FOOTNOTE command. The only solution to this is to .DISABLE HYPHENATION or use the hyphenation flag to declare the word in- elegible for hyphenation. 3. Similarly RUNOFF can hyphenate the last word of a paragraph. This is easily fixed by using the hyphenate flag in front of the last word of each paragraph. 4. Footnotes may appear on the page before the line that referrs to them. This may be fixed by starting the footnote about 1 line after the reference. This "fix" may make the footnote ap- pear on the next page after the reference, if the reference is too near to the bottom of the page. The .IMMEDIATE TEST TEXT command may then be used before the reference to force both the reference and footnote onto the same page. - 58 - APPENDIX B FILL/JUSTIFY The commands .FILL and .JUSTIFY allow the user a large number of options for the final text format. To understand how these work the following rules may clarify their operation. FILL 1. When .FILL is enabled, multiple or reduncant spaces are re- moved. This includes the following: (A) Spaces following spaces. (B) Spaces following non expandable spaces " " (C) Spaces following "tabs" (D) Spaces at the beginning of a line. 2. When .FILL is enabled the end of a line is treated exactly like a space. 3. If both .FILL and .PERIOD are enabled a punctuation followed by a space is converted to "punctuation", "space", "non expandable space". 4. If .NO FILL is used, the end of a line is treated as a break ("|"). 5. Regardless of whether .FILL or .NO FILL is used, if the input line is longer than the available page size, and it contains no "normal" spaces, it will be truncated to fit the available space. The only exception to this is when the line contains a "break" character ("|"). Then the line is divided at the break character to make it fit. JUSTIFY 1. If .JUSTIFY is enabled then all "normal" spaces are expanded or padded to right justify the final output. 2. If a break occurrs between lines, then the previous line is NOT --- justified. 3. If an input line is shorter than the output line size and it contains no "normal" spaces, the line can not be justified. This is indicated by an error message: "Can't justify line" 4. If .NO JUSTIFY is used then the output will not be padded with extra spaces , but if .FILL is enabled it will be missing re- dundant spaces. - 59 - APPENDIX C RNO ERROR MESSAGES RUNOFF produces error messages in the following format: RNO -- error message This appendix tabulates the error messages produced by RNO. Most of the error messages are self-explanatory. In some cases, RNO prints the line in which the error has occurred, so that the user can examine the source line which caused the problem and correct it. If the source line is printed it is printed only up to the point at which the error occurred. The error is generally the last character, or word in the source. Fol- lowing the source line is the line and page number of the output text on which the error will cause problems. 1. RNO -- Bad parameters This message is given if any of the parameters which follow a command are not "correct". The command is listed up to the bad parameter. An example of a bad parameter would be .INDENT 25 when you only have 20 characters per line. Remember that the minimum number of characters per line is 16 and the minimum number of lines/page is also 16. The following is a partial list of commands which generate this error. (A) .DEFINE ESCAPE accepts only decimal or literal input, and any other input constitutes an error. (B) .DEFINE SUBSTITUTE must have a label surrounded by delim- iters and this error will occurr if the delimiters are not present. (C) .DISPLAY either the format is not one of the following: D, LU, LL, LM, RU, RL, or RM. or The pre-header is more than 10 characters or The post-header is more than 4 characters or The post-header is specified, but no format is speci- fied. You may however specify a pre-header with no format or post-header. (D) Commands which take literals as input will generally give this error if the apostrophe (') or quotes (") are missing. (E) Most commands check input numbers and if they are too big or too small this error will result. For example .HEADER LEVEL 7 is nonsensical and is flagged as an error. 2. RNO -- Can't indent list element The user has nested lists that cause RNO to attempt indenting beyond the right margin. 3. RNO -- Can't justify line: RNO found a line of text containing no spaces (other than quot- ed spaces), so the line could not be justified. - 60 - RNO ERROR MESSAGES 4. RNO -- Can't reduce margins A .NOTE command occurred after the margins were set to values that prevent the .NOTE command from reducing margins by 5. The margins can't be reduced to less than 16 characters/line. 5. RNO -- Character already defined as flag In attempting to enable a character as a flag you have used the same same character as a previous .FLAGS command. The same character may not be used as 2 different flags. You must de- cide which flag you want and either disable the previous flag via a .NO FLAGS command, or use a different character for the second flag. 6. RNO -- Character specified is not special flag You have attempted to disable an individual special flag, but the flag character you specified was not previously defined as a special flag in a .FLAGS SPECIAL command. 7. RNO -- Command string syntax error You have entered a command string in a format that RNO can't decipher. The general form of the RNO command string is: Documentfile,Tocfile=Inputfile/Switches The switches or Tocfile may be omitted, but the other items must be specified. See the section RNO COMMAND STRING. 8. RNO -- Extraneous chars in command One or more extraneous characters appear after a legal command and before the next command. These are either typographical errors or you used the command improperly. The command is exe- cuted in either case. 9. RNO -- Illegal command This message encompasses a large range of errors. The follow- ing is a partial listing of the commands which can be illegal. (A) .END FOOTNOTE if no .FOOTNOTE command preceeds it. (B) .END LIST if no .LIST command preceeds it or if the spacing is greater than 5 or less than 0. (C) .END LITERAL if no .LITERAL command preceeds it. (D) .END NOTE if no .NOTE command preceeds it. 10. RNO -- Illegal command after .LOCK command You used .LOCK at the head of the document and subsequent ille- gal commands were encountered. You can probably ignore the error message if your document is satisfactory. The inclusion of the .LOCK command was designed to exclude the statements which are now illegal. 11. RNO -- Illegal command after a .TEXT command You probably forgot to end the text section with an .END TEXT command. - 61 - RNO ERROR MESSAGES 12. RNO -- Illegal command during footnote You probably forgot to include an .END FOOTNOTE statement at the end of your footnote. You should be aware that statements which change the overall page format are forbidden during foot- notes. 13. RNO -- Illegal command during note You probably forgot to end your note with an .END NOTE command. 14. RNO -- Illegal flag character Only special characters may be used as flags. This includes: ^ ! " # $ % & ' ( ) * = [ ] { } ~ + ` | < > ? _ \ / , . No numbers or letters may be used as flag characters. 15. RNO -- Input file error A read error has occurred on an input file. One of the follow- ing conditions may exist: (A) The file contains a line of text with more than 512 char- acters. You should edit the file and shorten all such long lines to less than 512 characters. (B) A problem exists with a physical device (e.g. device cy- cled down). (C) The file is corrupted or the format is wrong. (D) The file is a nonsource file. (Object file, etc.) 16. RNO -- Input file open error The file system, while attempting to open an input file, has detected an error. One of the following conditions may exist. (A) The user directory file is protected against an open. (B) A problem exists with the physical device. (C) The volume is not mounted. (D) The specified file directory does not exist. (E) The file does not exist as specified. 17. RNO -- Input file specification error An error exists in the input file specification. Correct the specification and re-enter the command. 18. RNO -- Insufficient dynamic memory One of the following commands filled up the dynamic memory. (A) .FOOTNOTE (B) .TEXT (C) .DEFINE ESCAPE - permanent (D) .DEFINE SUBSTITUTE - permanent (E) .INDEX - permanent All index entries, escape sequences, and substitutions reduce dynamic memory permenantly until the end of the current docu- ment while footnotes and .TEXT only use it temporarily. If you define many substitutions or use .INDEX frequently you must cut down on these statements. If it occurred during a footnote or .TEXT you can reduce the amount of text before the .END - 62 - RNO ERROR MESSAGES statement. Instead of .TEXT and .END TEXT use .TEST PAGE or .TEST TEXT. If you are currently using the non overlaid ver- sion of RNO switch to the overlaid version. 19. RNO -- Internal error - Contact your system manager This message is caused by an internal program error. You should never get this message. If you get this message contact the system manager. This indicates that RNO is not working properly and should be fixed. It is also possible that you have a hardware malfunction if the same version of RNO used to work on the same identical text. Identical means no changes at all!! 20. RNO -- Maximum list level exceeded You have attempted to create more than 6 nested lists. That is you issued the command .LIST more than 6 times without any .END LIST statements. The 7'th and subsequent .LIST statements are ignored. 21. RNO -- Missing parameter This command requires a parameter. Look up the command and add the parameter to the command. 22. RNO -- Missing right braces in equation One of the following errors have been made:] (A) You forgot to close a fraction with a right brace }. The number of right braces must be the same as the number of left braces in all fractions. (B) The fraction was too wide to fit on the current line and it overflowed to the next one. 23. RNO -- Output file error A write error has occurred on the output file. One of the fol- lowing conditions exists: (A) The device is full or is write protected. The hardware has failed. (B) The user does not have write access privileges to the file. 24. RNO -- Output file open failure The file system, while attempting to open the output file, has detected an error. One of the following conditions may exist: (A) The user's directory file is protected against an open. (B) A problem exists with the physical device. (C) The volume is not mounted. (D) The specified file directory does not exist. (E) The device is full of write protected. 25. RNO -- Output file specification error An error exists in the output file specification. Correct the specification and re-enter the command. - 63 - RNO ERROR MESSAGES 26. RNO -- Permanent footnote error You specified a permanent footnote, while a footnote was pend- ing for the current output page. You must specify the perman- ent footnote first. 27. RNO -- Symbol already defined This is one of the following errors. (A) .DEFINE ESCAPE - The escape sequence you are attempting to define is already defined. Either change the sequence name, or .RESET ESCAPE. (B) .DEFINE SUBSTITUTE - The substitution name or abbreviation has already been defined. You must change the name or .RESET SUBSTITUTE. 28. RNO -- Syntax error in equation You have incorrectly formatted a fraction. Fractions are for- matted as: {Numerator}/{Denominator} You have made one of the following mistakes. (A) There are extraneous characters between the numerator and denominator. For example the following is an error }/Denominator (B) You have started a numerator or denominator with a right brace } when you should use a left brace {. (C) You have omitted the slash / between the numerator and de- nominator. The following expression is an example of this error: {Numerator}{Denominator} 29. RNO -- Too many nested fractions The equation flag has been engaged, and an attempt to format fractions has been made using the braces { }. Too many frac- tions have been nested on top of one another. For example if you input the following expression: {{A}/{B}}/{Denominator} You have nested fractions up to a depth of 2. When the nesting exceeds a depth of 6 the equation formatting may fail. See the section on EQUATION FORMATTING. 30. RNO -- Too many nested .REQ More than 5 nested levels of .REQUEST have been found. This means that the original file contained a .REQ for a second file, which contained a .REQ for a third file and so on. When the .REQ for a sixth file was issued, it was ignored and this error message was issued. To fix this error you must rearrange your files to prevent more than 5 input files being in use at one time. 31. RNO -- Too many nested substitutions More than 3 levels of substitution have been attempted. This means that the first substitution contained a second, the sec- ond contained a third and the third contained a fourth. The - 64 - RNO ERROR MESSAGES fourth level is ignored. 32. RNO -- Too many tabs specified The maximum number of tabs stops you may specify is 32. Any specified beyond the thirty-second one are ignored. 33. RNO -- Undefined sustitution The substitution flag ($) was followed by an unrecognized label. Either you made a typographical error in the label or you wished to print the substitute flag character in the text, but forgot to preceed it with an Accept flag character(_). 34. RNO -- Unrecognized command You probably misspelled the command or abbreviation. You should be aware that any input line is considered to begin with a command if the first character in column 1 is a decimal point. If you wish to begin a line of text with a decimal point insert a space before it to prevent its being confused with a command. - 65 - APPENDIX D BUILDING RUNOFF RSX-11M MAPPED SYSTEMS Procedure: 1. Use UFD to set up the proper UFDs, if necessary. 2. Select the proper task build file: (A) RNOBLD Overlayed (B) RNOBLDFCS Overlayed, resident library (C) BIGRNOBLD Non overlayed, resident FCS library (D) RNOIASBLD IAS overlayed 3. Select the options you require by editing the RNPRE.MAC. For example the conditional $FLORD may be enabled by deleting the semicolon. This will enter a default set of escape sequences for the FLORIDA DATA printer. 4. Edit the Task Build command file to reflect your individual system needs. The Task Build command file contains parameters to set the default switches, default paper size (for /-FF) and default underline mode. If you use lots of index terms or oth- erwise make heavy demands on dynamic memory RNO will run faster by increasing EXTSK parameter. The overlayed version has lots of room for dynamic memory extension and runs nearly as fast as the non overlayed version. 5. Assemble MAC @RNOASM 6. Build the task TKB @RNOBLD .....or TKB @RNOBLDFCS ..or TKB @BIGRNOBLD 7. The final RNO.TSK should be copied to LB:[1,54] if you wish to make it available to all users. RSX-11M UNMAPPED SYSTEMS Users of unmapped systems should follow the procedure outlined for mapped systems, but selecting UICs as appropriate. File RNOBLD.CMD will have to be edited to delete the /MM switch and to change the PAR direc- tive to match system requirements. RSX-11D/IAS Users of RSX-11D/IAS should follow the procedure outlined for users of RSX-11M Mapped systems. Since the conventions for source and object - 66 - BUILDING RUNOFF files are installation dependent, all .CMD and .ODL files should be ed- ited accordingly. Additionally, RSX-11D/IAS users should alter RNOBLD.CMD to change the /MM switch to /MU and to change the PAR direc- tive as needed. Alternatively, IAS users may use command file RNOIAS.CMD to assemble and build RUNOFF. The command file contains parameters to set the default switches, default paper size (for /-FF) and default underline mode. VAX/VMS users This program must be built under compatibility mode using MCR. The com- mands are: MCR MAC @RNOASM MCR TKB @RNOBLD Otherwise the 11-M proceedure should be used. The final RNO.EXE should be copied to SYS$SYSTEM with W:r protection if all users are to be able to use it via the $ MCR RNO command. For convenience the following sym- bol may be defined: $ RNO :== MCR RNO This makes RNO work with the same commands as on an 11/M system. RESTRICTIONS This version of RNO uses the SOB instruction. If your machine (11/20 or 11/10) doesn't have this instruction it may be simulated in the RNPRE.MAC file. Since almost every PDP-11 has this instruction you will probably not have to worry about this. In addition the prefix file has a symbol $FLORD to define a set of default escape sequences for the Flo- rida data printer. If you wish to define your own internal set of de- fault escape sequences the default table is in routine INIT. | BUFFER SIZES | The maximum input line is currently set to 512 characters. If this is | too short you may redefine the symbol IBFSZ in RNPRE.MAC. You should be | aware that if you do this the program will grow in size at the expense | of dynamic memory. The maximum output line is 256. characters. If | this is not correct you may redefine it by changing symbol OBFSZ in | RNPRE.MAC. This should only be necessary if you need shorter lines to | pass to another program, or if you need longer lines in conjunction with | the /-CR switch. Normally each line of printed text will occupy 1 out- | put record, unless you have a large number of imbedded escape sequences | which cause it to grow beyond 256. If it is longer than 256 it is split | into several records. This causes no problems as long as you do not use | /-CR. If you need to print more than 150 characters on a line and you | use /UL:S or /UL:L the underline buffer size may not be adequate. The | current definition is symbol ULNSZ found in RNPRE.MAC. | EFFICIENCY | The overlay structure places all of the commonly used routines and the | hyphenation routine in the same overlay. The .LIST,.LIST ELEMENT, | .CHAPTER, .APPENDIX, .NOTE, .HEADER LEVEL commands are in a separate | overlay. The least used commands such as .STYLE, .LAYOUT, .DISPLAY are | in a third overlay. This structure should be only slightly slower than | a non overlaid program, and it contains a maximum of dynamic memory | space (16+ Kbytes). With this document the non overlaid version was - 67 - BUILDING RUNOFF | only about 10% slower. Anyone contemplating using the SUBSTITUTE com- | mands, or indexing will probably need the overlaid version. If no in- | dexing is done, and a limited number of escape sequences, and substitu- | tions are defined, the non overlaid version will also probably do the | job. One way of increasing the efficiency of RUNOFF is to turn off au- | tohyphenation. This will prevent excessive overlay switching as well as | eliminating some code. If you still want autohyphenation for most text | you can still achieve greater efficiency by turning it off only while | processing lists with many items. For this document turning off hyphen- | tation only decreased the time by about 6%. One more way to increase | efficiency is to increase the the task extension. This only has an ef- | fect if large amounts of dynamic memory are used. Large footnotes, | large .TEXT sections, or many large definitions may make this option ne- | cessary. In general most users will find existing dynamic memory ade- | quate. NOTE This program has been successfully run on RSX-11M, VAX/VMS, and IAS systems. It has not been tried on unmapped systems. It has 1 major known bug. Indirect command files will not work as input to RUNOFF when executing on IAS. They work fine for RSX or VMS systems. - 68 - APPENDIX E SPECIAL CHARACTERS Below is a list of RUNOFF's special characters. To appear in the text, each must be preceeded by the underscore character (itself a special character). ^ UPPERCASE shift or LOCK function \ LOWERCASE shift or UNLOCK function < CAPITALIZE word flag character * # SPACE character (non expandable or quoted space) = HYPHENATE specify or temporary autohyphenate disable. * & UNDERLINE the following character or ^ _ ACCEPT the following character. % OVERSTRIKE the previous char by the next char * $ SUBSTITUTE defined text for abbreviation * | BREAK text with no spaces * { EQUATION flag 1 * } EQUATION flag 2 * -------- footnote -------- * Only becomes a special character if the FLAG is engaged. - 69 - APPENDIX F LIST OF COMMANDS (ALPHABETICAL) * Indicates the command causes a line BREAK. $ Indicates a command forbidden during a FOOTNOTE. D Indicates the default setting ~ Indicates not available in DSR Command Abbreviation Opt. ------- ------------ ---- APPENDIX [title] . . . . . . . . . . . . . . AX . . . . . *$ AUTOHYPHENATE . . . . . . . . . . . . . . . AH . . . . . $D~ AUTOPARAGRAPH . . . . . . . . . . . . . . . AP . . . . . $ AUTOSUBTITLE . . . . . . . . . . . . . . . . AST . . . . . $ AUTOTITLE . . . . . . . . . . . . . . . . . AT . . . . . $D~ BEGIN BAR . . . . . . . . . . . . . . . . . BB BLANK [-space] . . . . . . . . . . . . . . . B . . . . . . * BREAK . . . . . . . . . . . . . . . . . . . BR . . . . . * CENTER [LINE][+-n] . . . . . . . . . . . . . C [LINE] . . * CENTER TEXT [+-n] . . . . . . . . . . . . . C TEXT . . . * ~ CENTRE [+-n] . . . . . . . . . . . . . . . . C . . . . . . * CHAPTER [title] . . . . . . . . . . . . . . CH . . . . . *$ CHAPTER LAYOUT [code][,spacing] . . . . . . CHLO . . . . $ ~ COMMENT [comment text] . . . . . . . . . . . ; DEFINE ESCAPE escape definition . . . . . . . . . . . . . $ ~ DEFINE SUBSTITUTE /label/text . . . . . . . . . . . . . . $ ~ DISABLE BAR . . . . . . . . . . . . . . . . DBB . . . . . D DISABLE ESCAPE . . . . . . . . . . . . . . . DES . . . . . ~ DISABLE EQUATION . . . . . . . . . . . . . . DEQ . . . . . ~ DISABLE HYPHENATION . . . . . . . . . . . . DHY DISABLE INDEXING . . . . . . . . . . . . . . DIX DISABLE TABS . . . . . . . . . . . . . . . . DTB . . . . . ~ DISABLE TOC . . . . . . . . . . . . . . . . DTC DISABLE OVERSTRIKING . . . . . . . . . . . . DOV DISABLE UNDERLINING . . . . . . . . . . . . DUN DISPLAY APPENDIX ["pre",][form][,"post"] . . DAX . . . . . $ DISPLAY CHAPTER ["pre",][form][,"post"] . . DCH . . . . . $ DISPLAY ELEMENTS ["pre",][form][,"post"] . . DLE . . . . . $ DISPLAY LEVELS [f1],[f2],... . . . . . . . . DHL . . . . . $ DISPLAY NUMBER ["pre",][form][,"post"] . . . DNM . . . . . $ DISPLAY SUBPAGE [form] . . . . . . . . . . . DSP . . . . . $ (form = D,LU,LL,LM,RU,RL,RM) DO INDEX [title] . . . . . . . . . . . . . . DX . . . . . *$ ELLIPSES . . . . . . . . . . . . . . . . . . . . . . . . . $ ~ ENABLE BAR . . . . . . . . . . . . . . . . . EBB . . . . . D ENABLE ESCAPE . . . . . . . . . . . . . . . ESC . . . . . D~ ENABLE EQUATION n . . . . . . . . . . . . . EEQ . . . . . D~ ENABLE HYPHENATION . . . . . . . . . . . . . EHY . . . . . D ENABLE INDEXING . . . . . . . . . . . . . . EIX . . . . . D - 70 - LIST OF COMMANDS (ALPHABETICAL) ENABLE LEVELS [+-out],[+-toc] . . . . . . . . . . . . . . $ ~ ENABLE TABS . . . . . . . . . . . . . . . . ETB . . . . . D~ ENABLE TOC . . . . . . . . . . . . . . . . . ETC . . . . . D ENABLE OVERSTRIKING . . . . . . . . . . . . EOV . . . . . D ENABLE SUBSTITUTION . . . . . . . . . . . . . . . . . . . D ENABLE UNDERLINING . . . . . . . . . . . . . EUN . . . . . D END BAR . . . . . . . . . . . . . . . . . . EB END CENTER . . . . . . . . . . . . . . . . . ECN . . . . . ~ END FOOTNOTE . . . . . . . . . . . . . . . . EFN ENDIF aaaa END LIST [space] . . . . . . . . . . . . . . ELS . . . . . *$ END LITERAL . . . . . . . . . . . . . . . . EL . . . . . *$ END NOTE . . . . . . . . . . . . . . . . . . EN . . . . . *$ END SUBPAGE . . . . . . . . . . . . . . . . ES . . . . . *$ END TEXT . . . . . . . . . . . . . . . . . . ETX . . . . . *$ ~ FIGURE [space] . . . . . . . . . . . . . . . FG . . . . . *$ FIGURE DEFERRED [space] . . . . . . . . . . FGD . . . . . *$ FILL . . . . . . . . . . . . . . . . . . . . F . . . . . . D FIRST TITLE . . . . . . . . . . . . . . . . FT . . . . . $ FLAGS ACCEPT [new flag] . . . . . . . . . . FL ACCEPT . . $D FLAGS [ALL] . . . . . . . . . . . . . . . . FL [ALL] . . $ FLAGS BREAK [new flag] . . . . . . . . . . . FL BREAK . . $ FLAGS CAPITALIZE [new flag] . . . . . . . . FL CAPITALIZE $ FLAGS CONTROL [new flag] . . . . . . . . . . FL CONTROL . $D FLAGS ESCAPE [new flag] . . . . . . . . . . FL ESCAPE . . $ ~ FLAGS EQUATION . . . . . . . . . . . . . . . FL EQUATION . ~ FLAGS HYPHENATE [new flag] . . . . . . . . . FL HYPHENATE $ FLAGS INDEX [new flag] . . . . . . . . . . . FL INDEX . . $ FLAGS LOWERCASE [new flag] . . . . . . . . . FL LOWERCASE $D FLAGS OVERSTRIKE [new flag] . . . . . . . . FL OVERSTRIKE $ FLAGS SUBSTITUTE [new flag] . . . . . . . . FL SUBSTITUTE $ FLAGS UNDERLINE [new flag] . . . . . . . . . FL UNDERLINE $D FLAGS UPPERCASE [new flag] . . . . . . . . . FL UPPERCASE $D FOOTNOTE . . . . . . . . . . . . . . . . . . FN . . . . . $ HALF SPACING [n] . . . . . . . . . . . . . . . . . . . . . ~ HEADER . . . . . . . . . . . . . . . . . . . HD . . . . . $D HEADER LEVEL [+-level] [title] . . . . . . . HL . . . . . *$ HEADER LOWER . . . . . . . . . . . . . . . . . . . . . . . $ HEADER MIXED . . . . . . . . . . . . . . . . . . . . . . . $D HEADER NO PAGE . . . . . . . . . . . . . . . . . . . . . . $ ~ HEADER PAGE . . . . . . . . . . . . . . . . . . . . . . . $D~ HEADER SPACING [spacing] . . . . . . . . . . . . . . . . . ~ HEADER UPPER . . . . . . . . . . . . . . . . . . . . . . . $ IF aaaa IF NOT aaaa IMMEDIATE TEST PAGE n . . . . . . . . . . . ITP . . . . . $ ~ IMMEDIATE TEST TEXT n . . . . . . . . . . . ITT . . . . . $ ~ INDENT [-n] . . . . . . . . . . . . . . . . I . . . . . . * INDENT LEVELS [-l],[-r] . . . . . . . . . . . . . . . . . $ ~ INDEX entry . . . . . . . . . . . . . . . . X JUSTIFY . . . . . . . . . . . . . . . . . . J . . . . . . D LAYOUT [code] [,spacing] . . . . . . . . . . LO . . . . . *$ (0=all at top 1-7=Header top,number bottom) - 71 - LIST OF COMMANDS (ALPHABETICAL) (0=default 1=C 2=LR,C 3=L,C 4=L,R 5=C,R 6=C,LR 7=RL) LEFT MARGIN [+-n] . . . . . . . . . . . . . LM . . . . . * LIST . . . . . . . . . . . . . . . . . . . . LS . . . . . *$ LIST ELEMENT text . . . . . . . . . . . . . LE . . . . . *$ LITERAL . . . . . . . . . . . . . . . . . . LT . . . . . * LOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . $ ~ LOWER CASE . . . . . . . . . . . . . . . . . LC NO AUTOHYPHENATE . . . . . . . . . . . . . . NAH . . . . . $ NO AUTOPARAGRAPH . . . . . . . . . . . . . . NAP . . . . . $D NO AUTOSUBTITLE . . . . . . . . . . . . . . NAST . . . . $D NO AUTOTITLE . . . . . . . . . . . . . . . . NAT . . . . . $ ~ NO ELLIPSES . . . . . . . . . . . . . . . . . . . . . . . $D~ NO FILL . . . . . . . . . . . . . . . . . . NF . . . . . * NO FLAGS [flag name] . . . . . . . . . . . . NFL . . . . . $ NO HALF SPACING . . . . . . . . . . . . . . . . . . . . . D~ NO JUSTIFY . . . . . . . . . . . . . . . . . NJ NO PAGING . . . . . . . . . . . . . . . . . NPA . . . . . $ NO NUMBER . . . . . . . . . . . . . . . . . NNM . . . . . $ NO NUMBER CHAPTER . . . . . . . . . . . . . . . . . . . . $ ~ NO SPACE . . . . . . . . . . . . . . . . . . NSP NO TITLE . . . . . . . . . . . . . . . . . . . . . . . . . $ ~ NOTE . . . . . . . . . . . . . . . . . . . . N . . . . . . *$ NUMBER APPENDIX [+-n] . . . . . . . . . . . NMAX . . . . $ NUMBER CHAPTER [+-n] . . . . . . . . . . . . NMCH . . . . $D NUMBER LEVEL [+-n1],....,[+-n6] . . . . . . NMLV . . . . $ NUMBER LIST [+-n] . . . . . . . . . . . . . NPLS . . . . $ NUMBER [PAGE] [+-n] . . . . . . . . . . . . NMPG . . . . $D NUMBER SUBPAGE [+-n] . . . . . . . . . . . . NMSPG . . . . $ PAGE . . . . . . . . . . . . . . . . . . . . PG . . . . . *$ PAGE SIZE [+-h],[+-w],[+-l],[+-t],[s] . . . PS . . . . . $ PAPER SIZE [+-h],[+-w],[+-l],[+-t],[s] . . . PS . . . . . $ PAGING . . . . . . . . . . . . . . . . . . . PA . . . . . $ PARAGRAPH [-n],[v],[t] . . . . . . . . . . . P . . . . . . *$ PERIOD . . . . . . . . . . . . . . . . . . . PR . . . . . $D PERMANENT FOOTNOTE . . . . . . . . . . . . . PFN . . . . . $ ~ PRINT INDEX . . . . . . . . . . . . . . . . PX . . . . . *$ RESET ESCAPE . . . . . . . . . . . . . . . . . . . . . . . $ ~ RESET SUBSTITUTE . . . . . . . . . . . . . . . . . . . . . $ ~ REQUIRE 'file spec' . . . . . . . . . . . . REQ . . . . . $ RIGHT [+-indent] . . . . . . . . . . . . . . R . . . . . . $ RIGHT MARGIN [+-n] . . . . . . . . . . . . . RM . . . . . * SEND TOC text . . . . . . . . . . . . . . . STC SET PARAGRAPH [-n],[v],[t] . . . . . . . . . STP . . . . . $ SKIP [lines] . . . . . . . . . . . . . . . . S . . . . . . * SPACING [s] . . . . . . . . . . . . . . . . SP . . . . . $ STYLE CHAPTER [n1],...,[n5] . . . . . . . . STCH . . . . $ ~ (1-3 = spacing, 4,5=indent (-1 centered,-2 right just) STYLE HEADERS [n1],...,[n9] . . . . . . . . STHL . . . . *$ (line,CAPS,Cap,number,center,skip before,after,test,indent) SUBPAGE . . . . . . . . . . . . . . . . . . SPG . . . . . *$ SUBTITLE [subtitle] . . . . . . . . . . . . ST . . . . . $ TAB LEFT . . . . . . . . . . . . . . . . . . . . . . . . . $D~ TAB RIGHT . . . . . . . . . . . . . . . . . . . . . . . . $ ~ - 72 - LIST OF COMMANDS (ALPHABETICAL) TAB STOPS [+-n1,n2...] . . . . . . . . . . . TS . . . . . $ TEST PAGE n . . . . . . . . . . . . . . . . TP . . . . . *$ TEST TEXT n . . . . . . . . . . . . . . . . TT . . . . . *$ ~ TEXT . . . . . . . . . . . . . . . . . . . . TX . . . . . *$ ~ TITLE [title] . . . . . . . . . . . . . . . T . . . . . . $D TOP MARGIN [+-n] . . . . . . . . . . . . . . TM . . . . . *$ ~ UNDERLINE SPACES . . . . . . . . . . . . . . . . . . . . . $ ~ UNDERLINE NO SPACES . . . . . . . . . . . . . . . . . . . $D~ UPPER CASE . . . . . . . . . . . . . . . . . UC . . . . . D VARIANT aaaa . . . . . . . . . . . . . . . . . . . . . . . ~ - 73 - APPENDIX G NON STANDARD COMMANDS Command Standard equivalent ------- -------- ---------- ELI END LITERAL HY ENABLE HYPHENATION HYPHENATION ENABLE HYPHENATION LIT LITERAL NFC NO FLAGS CAPITALIZE NFH NO FLAGS HYPHENATE NHY DISABLE HYPHENATION NM NUMBER PAGE NO HYPHENATION DISABLE HYPHENATION SK SKIP SUBTTL SUBTITLE In addition to the non standard commands and the commands marked as not available in DSR some commands have additional functions not available in DSR. The permanent margins are not available in DSR and the TOP, LEFT margins parameters for .PAGE SIZE will not be recognized when tran- sporting text to DSR. The layout codes 4-7 are not in DSR. The pre/post headers in the .DISPLAY NUMBER, .DISPLAY CHAPTER, and, .DISPLAY APPENDIX are not available in DSR. The indentation for the .NOTE com- mand is slightly different from DSR. The parameter for the .CENTER com- mand is non standard. Other than these exceptions this version of RNO is a superset of other versions of RNO and a subset of DSR. - 74 - APPENDIX H SPECIAL PRINTER SUPPORT A number of features have been added to support special printers. Some of these require that the printer respond to specific special code se- quences or escape sequences. Three general commands are involved. 1. .HALF SPACING requires an escape sequence to move the paper up by 1/2 line. The escape sequence must be: ESC U 2. .FLAGS EQUATION needs the escape sequence ESC U for moving the paper up. In addition it need the ability to backspace via the BS code and the escape sequence ESC D to move the paper down 1/2 line. 3. .FLAGS ESCAPE may be used to enable a variety of special escape sequences. The following escape sequences permanently defined when RNO is built by enabling the line defining the symbol $FLORD found in RNPRE.for Florida data printers. For spinwriter model 5515/25 and various Diablo models, enable the symbol $DIAB. The following escape sequences will then be ava- ilable. (A) ^> Causes the text to be shifted up 1/2 space for writing superscripts, or cancelling subscripts. (B) ^< Shifts the text down 1/2 space for writing subsripts or cancelling superscripts This escape sequence conflicts with the CAPITALIZE FLAG if the flag is enabled. If the flag is enabled, it takes precedence over the escape sequence definition. (C) ^( Causes the text to shift up 1 whole line. (D) ^) Shifts text down 1 whole line. FONT SELECTION for FLORIDA DATA only. (E) ^n Where n is a number between 1 and 9 selects a font. 3 is currently a 10 pitch ROMAN font and 8 will be GREEK and special symbols. SHADOW PRINT for FLORIDA DATA only (F) ^* Begins shadow printing for boldface text. This normally ends at the end of a line or until turned off whichever comes first. (G) \* End shadow print If .FLAGS SPECIAL * is used then you may boldface 1 character by preceeding it with *. ELONGATED PRINT for FLORIDA DATA only (H) ^= Begin elongated double width printing. (I) \= End elongated print. If FLAGS SPECIAL = is used, then a single occurrence of = will elongate only the character following it. GRAPHICS MODE for DIABLO/SPINWRITER only (J) ^! Begin graphics mode (K) \! End graphics mode The following are the .DEFINE ESCAPE statements equivalent to the permanently defined sequences. - 75 - SPECIAL PRINTER SUPPORT (A) .DEFINE ESCAPE "^" VSP 1, 33, "U" (B) .DEFINE ESCAPE "^>" VSP -1, 33, "D" (C) .DEFINE ESCAPE "^(" VSP -2, 33, 13 (D) .DEFINE ESCAPE "^)" VSP 2, 13 (E) .DEFINE ESCAPE "^1", 33, 2 (F) .DEFINE ESCAPE "^2", 33, 3 (G) .DEFINE ESCAPE "^3", 33, 4 (H) .DEFINE ESCAPE "^4", 33, 5 (I) .DEFINE ESCAPE "^5", 33, 6 (J) .DEFINE ESCAPE "^8", 33, 9 (K) .DEFINE ESCAPE "^*", LCK, CHR, 33, "W" (L) .DEFINE ESCAPE "\*", LCK, CHR, 33, "&" (M) .DEFINE ESCAPE "^=", LCK, CHR, HSP, 2, PSP, 16 (N) .DEFINE ESCAPE "\=", LCK, CHR, HSP, 1, PSP, 17 (O) .DEFINE ESCAPE "^!", LCK, 33, "3" (P) .DEFINE ESCAPE "\!", LCK, 33, "4" - 76 - APPENDIX I INDEX (RUNOFF commands appear in upper case.) Accept character . . . . . . . . . . . . . . . . . . . . . . . . . . 8 APPENDIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 AUTOHYPHENATE . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 AUTOPARAGRAPH . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 AUTOSUBTITLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 AUTOTITLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 BEGIN BAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 BLANK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 BREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6, 16 Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Case information . . . . . . . . . . . . . . . . . . . . . . . . . . 7 CENTER LINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 CENTER TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 CENTRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 CHAPTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 CHAPTER LAYOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 COMMAND FORMAT . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Command string . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 COMMANDS, FORMATTING . . . . . . . . . . . . . . . . . . . . . . . . 16 COMMANDS, MODE SETTING . . . . . . . . . . . . . . . . . . . . . . . 33 COMMANDS, PAGE FORMATTING . . . . . . . . . . . . . . . . . . . . . 20 COMMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Define / Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 DEFINE ESCAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 DEFINE SUBSTITUTE . . . . . . . . . . . . . . . . . . . . . . . . . 50 DISABLE BAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 DISABLE EQUATION . . . . . . . . . . . . . . . . . . . . . . . . . . 46 DISABLE ESCAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 DISABLE HYPHENATION . . . . . . . . . . . . . . . . . . . . . . . . 47 DISABLE OVERSTRIKING . . . . . . . . . . . . . . . . . . . . . . . . 47 DISABLE SUBSTITUTION . . . . . . . . . . . . . . . . . . . . . . . . 47 DISABLE TABS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 DISABLE TOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 DISABLE UNDERLINING . . . . . . . . . . . . . . . . . . . . . . . . 48 DISPLAY APPENDIX . . . . . . . . . . . . . . . . . . . . . . . . . . 32 DISPLAY CHAPTER . . . . . . . . . . . . . . . . . . . . . . . . . . 32 DISPLAY ELEMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . 32 DISPLAY LEVELS . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 DISPLAY NUMBER . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 DISPLAY SUBPAGE . . . . . . . . . . . . . . . . . . . . . . . . . . 32 DO INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 - 77 - INDEX ELLIPSES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Enable / Disable . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ENABLE BAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ENABLE EQUATION . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ENABLE ESCAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ENABLE HYPHENATION . . . . . . . . . . . . . . . . . . . . . . . . . 46 ENABLE INDEXING . . . . . . . . . . . . . . . . . . . . . . . . . . 47 ENABLE LEVELS . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ENABLE OVERSTRIKING . . . . . . . . . . . . . . . . . . . . . . . . 47 ENABLE SUBSTITUTION . . . . . . . . . . . . . . . . . . . . . . . . 47 ENABLE TABS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 ENABLE TOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 ENABLE UNDERLINING . . . . . . . . . . . . . . . . . . . . . . . . . 48 END BAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 END CENTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 END FOOTNOTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 END LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 END LITERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 END NOTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 END SUBPAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 END TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 END TOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 ENDIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 ERROR MESSAGES . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 FIGURE DEFERRED . . . . . . . . . . . . . . . . . . . . . . . . . . 16 FIGURE n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 File Specifications . . . . . . . . . . . . . . . . . . . . . . . . 3 FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34, 59 Filling of text . . . . . . . . . . . . . . . . . . . . . . . . . . 6 FIRST TITLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 FLAGS ACCEPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 FLAGS ALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 FLAGS BREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 FLAGS CAPITALIZE . . . . . . . . . . . . . . . . . . . . . . . . . . 42 FLAGS CONTROL . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 FLAGS EQUATION . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 FLAGS ESCAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 FLAGS HYPHENATE . . . . . . . . . . . . . . . . . . . . . . . . . . 43 FLAGS OVERSTRIKE . . . . . . . . . . . . . . . . . . . . . . . . . . 43 FLAGS SPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 FLAGS SPECIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 FLAGS SUBSTITUTE . . . . . . . . . . . . . . . . . . . . . . . . . . 44 FLAGS UNDERLINE . . . . . . . . . . . . . . . . . . . . . . . . . . 45 FLAGS UPPERCASE . . . . . . . . . . . . . . . . . . . . . . . . . . 45 FOOTNOTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Form-feeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 FORMATTING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 HALF SPACING . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 HEADER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 HEADER LEVEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 HEADER LOWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 HEADER MIXED . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 HEADER NO PAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 HEADER PAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 HEADER SPACING . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 - 78 - INDEX HEADER UPPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Hyphenation . . . . . . . . . . . . . . . . . . . . . . 5, 36, 43, 46 IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 IF NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 IMMEDIATE TEST PAGE . . . . . . . . . . . . . . . . . . . . . . . . 21 IMMEDIATE TEST TEXT . . . . . . . . . . . . . . . . . . . . . . . . 21 INDENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 INDENT LEVELS . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Justification of text . . . . . . . . . . . . . . . . . . . . . . . 6 JUSTIFY . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33, 59 LAYOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 LEFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 LEFT MARGIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 LIST ELEMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 LITERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Literals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 LOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 LOWER CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 MODE SETTING . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 NO AUTOHYPHENATE . . . . . . . . . . . . . . . . . . . . . . . . . . 36 NO AUTOPARAGRAPH . . . . . . . . . . . . . . . . . . . . . . . . . . 36 NO AUTOSUBTITLE . . . . . . . . . . . . . . . . . . . . . . . . . . 36 NO AUTOTITLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 NO ELLIPSES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 NO FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 NO FLAGS ALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 NO FLAGS BREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 NO FLAGS CAPITALIZE . . . . . . . . . . . . . . . . . . . . . . . . 42 NO FLAGS EQUATION . . . . . . . . . . . . . . . . . . . . . . . . . 43 NO FLAGS ESCAPE . . . . . . . . . . . . . . . . . . . . . . . . . . 43 NO FLAGS HYPHENATE . . . . . . . . . . . . . . . . . . . . . . . . . 43 NO FLAGS SPECIAL . . . . . . . . . . . . . . . . . . . . . . . . . . 44 NO FLAGS SUBSTITUTE . . . . . . . . . . . . . . . . . . . . . . . . 45 NO FLAGS UNDERLINE . . . . . . . . . . . . . . . . . . . . . . . . . 45 NO HALF SPACING . . . . . . . . . . . . . . . . . . . . . . . . . . 38 NO HEADER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 NO JUSTIFY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 NO NUMBER CHAPTER . . . . . . . . . . . . . . . . . . . . . . . . . 27 NO PERIOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 NO SPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 NO TITLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 NONUMBER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 NOTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 NUMBER APPENDIX . . . . . . . . . . . . . . . . . . . . . . . . . . 27 NUMBER CHAPTER . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 NUMBER LEVEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 NUMBER LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 NUMBER PAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 NUMBER SUBPAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 - 79 - INDEX Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 PAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 PAGE FORMATTING . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Page Numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 PAGE SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 PAPER SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 PARAGRAPH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Parameter setting . . . . . . . . . . . . . . . . . . . . . . . . . 37 PERIOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 PERMANENT FOOTNOTE . . . . . . . . . . . . . . . . . . . . . . . . . 19 PRINT INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Quote character . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Quoted Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 REQUIRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 RESET SUBSTITUTE . . . . . . . . . . . . . . . . . . . . . . . . . . 50 RIGHT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 RIGHT MARGIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Right shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 RUNOFF COMMANDS . . . . . . . . . . . . . . . . . . . . . . . . . . 15 SEND TOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 SET PARAGRAPH . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 SKIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Source File Format . . . . . . . . . . . . . . . . . . . . . . . . . 6 Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6, 8 SPACING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 SPECIAL CHARACTERS . . . . . . . . . . . . . . . . . . . . . . . 8, 69 Spooling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 STANDARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 STYLE CHAPTER . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 STYLE HEADERS . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 SUBPAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Substitute character . . . . . . . . . . . . . . . . . . . . . . . . 9 SUBTITLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 TAB LEFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 TAB RIGHT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 TAB STOPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Table of contents . . . . . . . . . . . . . . . . . . . . . . . . . 53 TEST PAGE n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 TEST TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6, 22 TOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 TOP MARGIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 UNDERLINE NO SPACES . . . . . . . . . . . . . . . . . . . . . . . . 35 UNDERLINE SPACES . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Underlining . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 8 UPPER CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 VARIANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 - 80 - INDEX Word spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 81 -