.comment this document is to be typed using elite character .comment spacing (12 per inch) giving 6.5 inch wide columns. .comment it can be typed using pica character spacing (10 per .comment inch) giving 6.0 inch wide columns if the values of .comment 78, 82 and 84 are changed to 60, 63 and 65 and if the .comment right page offset is changed from 6 to 5 in the lines .comment through that following the reset command. The table .comment of contents will have to be changed to reflect this. . .page width 84.page length 60 .rule 'X',0,84 .nofill.left margin 3 .BACKGROUND'X',0,84,0,0,0,1,1,82,0,0 .figure 1 1. Adjust paper position so that dark frame on this page is copied centered on paper 8.5 inches wide by 11 inches high. 2. Copy all remaining pages of document in same manner. .FIGURE 50 .END OBJECT .RULE'X',0,84 .RESET .page width 78.page length 60.offset right page 6 .top title' ' .footnote RULE '-' .number footnote .first form.NOFILL .figure 5 .CENTER NO FILL ,4 .outline'THEFROFFUSERSGUIDE',1,1,1,1,1 .LETTER,3,1;THE .skip.LETTER;FROFF .skip.LETTER;USERS .skip.LETTER;GUIDE .END OBJECT.SKIP 4 .CENTER ,3;The FROFF Word Processor User's Guide .skip;Donald E. Barth .skip;10-Jul-83 .fill .page.initial page.skip left page.INITIAL PAGE .figure 6 .CENTER NO FILL ,4 .LETTER,3,1;THE .skip.LETTER;FROFF .skip.LETTER;USERS .skip.LETTER;GUIDE .skip 5 .CENTER ,3;The FROFF Word Processor User's Guide .skip;Donald E. Barth .skip;10-Jul-83 .page.initial page.skip left page.INITIAL PAGE .nofill .center;Table of Contents .center;----- -- -------- .skip2 Introduction . . . . . . . . . . . . . . . 1 Chapter 1: General Instructions Short Descriptions of Most Commonly Used Commands . . 3 Reserved Characters . . . . . . . . . . . . 6 A Typical Source File . . . . . . . . . . . 7 How to Run FROFF on the DECsystem20 . . . . . . . 9 Options Which can be Selected when FROFF is Run . . 9 Complete List of the Runtime Options . . . . . . 10 Chapter 2: Source File Conventions Structure of Commands in Source File . . . . . . 13 Case Notation for Alphabetic Letters . . . . . . 14 Underlining Characters, Words and Phrases . . . . . 16 Chapter 3: How to Perform Common Word Processing Tasks Specification of Form Letters . . . . . . . . . 19 Addressing Envelopes for Use with Form Letters . . . 23 Automatically Numbered Lists . . . . . . . . . 25 Footnotes . . . . . . . . . . . . . . . 27 Chapter 4: Concise Descriptions of the Commands Commands listed in alphabetical order . . . . . . 33 Chapter 5: Complete Descriptions of Commands Commands listed in alphabetical order . . . . . . 45 Chapter 6: Cover Embellishment Commands General Description of Cover Embellishment Commands 103 Complete Descriptions of Cover Embellishment Commands 105 .test page 3 Appendix A: How to Run FROFF on Various Computer Systems How to Run FROFF on DECsystem10 and DECsystem20 . . 127 .test page 7 Appendix B: Use of FROFF at Yale School of Management How to Use Diablo Terminal to get Output from FROFF 129 How to Change Ribbon Cartridge on Diablo Terminal . 131 What to do if You Don't Have Enough Space for Output 131 How to Process Document Constructed from Several Files 132 How to Process Files in Other Directories . . . . 134 .test page 4 Appendix C: Commands Used in Performing Selected Tasks Commands Used for Specification of Footnotes . . 135 Commands Used for Specification of Indexes . . . 136 .test page 5 Appendix D: Description of Files on Distribution Tape Loading Instructions . . . . . . . . . . . 139 Program Source files . . . . . . . . . . . 140 Support Programs and Data Files . . . . . . . 141 .fill .page .sequence'_&_'_\_^_!_/_>_<_#_._;___|' .left margin 0.fill .page.initial page.skip left page.INITIAL PAGE .space chapter 0 .number 1 .LEFT top title'>',,'The FROFF Word Processor User''s Guide' .RIGHT TOP TITLE'Introduction',,'>' .fill.center;Introduction .skip.fill .first form .test page 3 FROFF is a word processing program which accepts the same source text conventions and recognizes most of the same commands as does the DECsystem-10/20 word processing program known as RUNOFF. Although RUNOFF is faster than FROFF, FROFF allows much greater control of the appearance of the processed text, and provides many features not provided by RUNOFF. FROFF is itself written in FORTRAN (hence the letter F at the start of its name), and should be easily convertible to any other large computer system. .skip .test page 3 The production of a document using FROFF requires the following steps: .LIST .LE;You first use an interactive text editor to create a source file which contains the words which you want to have in the final document, together with instructions specifying how the final document is to appear. This source file is the most important version of the document, since it is to this source file that any subsequent changes must be made. The instructions in the source file are specified by lines which begin with periods, and the words which are to be in the resulting document are specified by lines which begin with any characters other than periods. The instructions are all simple, most consisting of merely a word or two, and all have short aliases. For example, _.SKIP or _.S followed by a number skips that number of blank lines, and _.PAGE or _.PG skips to the top of a new page. .LE;You then use FROFF to process the source file which you created using the text editor. FROFF produces a new file which contains the resulting document which would be read by others. This new file is expendable since it can be recreated when needed from the original source file. .le;If errors are found in the resulting document, you again use the text editor to correct the source file and use FROFF to produce a new version of the resulting document. .end list .skip .test page 3 The most elementary functions provided by FROFF are the accumulation of words from one or several lines in the source file to form lines of approximately equal length in the resulting document, and the insertion of page breaks and titles. If placed into automatic paragraphing mode by the appearance of an _.AUTO PARAGRAPH command at the start of the source file, then a quite presentable document can be produced from a source text in which the start of each new paragraph is indicated either by an extra blank line or by a line which starts with one or more spaces. FROFF can, however, perform many other word processing functions such as the construction of footnotes, of automatically numbered lists, and of alphabetically sorted indexes. .left margin 0.fill .skip left page.right top title,,'>' .center;Chapter 1 .skip .center;General Instructions .rtt'General Instructions',,'>' .skip 3 The information presented in this chapter should be sufficient for the production of simple documents using FROFF. Where specific file names are used in the examples, the naming conventions for the DECsystem20 are assumed. See the appendices of this guide for information about the naming conventions for other computers. .skip 2 .CENTER;Short Descriptions of the Most Commonly Used Commands .CENTER;----- ------------ -- --- ---- -------- ---- -------- .SKIP .index command line>structure of FROFF interprets each line in the source file which starts with a period as a command directing how the reformatted document is to appear. Each line which begins with any other character is assumed to contain a word or words which are to be reformatted according to the commands in the lines which begin with periods. The commands are all simple, most consisting of merely a word or two, and all have short aliases. The aliases and the full spellings of the more commonly used commands are listed below. The numbers shown with some commands are merely meant to be typical of those which would be used. Although capitol letters have been used to construct the commands shown here, either capitol or lower case letters can be used. .LM 5 .SKIP .test page 3 .INDENT -5 _.AP#10####.AUTOPARAGRAPH#10## .BREAK Causes the text which follows each empty line or which starts with a line which begins with one or more spaces in the source file to be placed in a new paragraph. This is a global command, it remains in effect throughout the rest of the source file. The left end of the first line of each new paragraph is to be indented 10 spaces to the right of the left margin. If the number is negative, then the first line of each paragraph is indented to the left of the left margin instead. If a number is not given, then it is taken to be 5. .SKIP .test page 3 .INDENT -5 _.B#5######.BLANK#5########### .BREAK Produces 5 blank lines at the current location. These blank lines are suppressed if at the top of a page. If a number is not given, then it is taken to be 1. .SKIP .test page 3 .INDENT -5 _.C########.CENTER############ .BREAK The text which appears in the next line in the source file is to be centered in the reformatted document. .SKIP .test page 3 .INDENT -5 _.EFN######.END#FOOTNOTE .BREAK Terminates the declaration of the text of a footnote begun by a previous _.FOOTNOTE command. .SKIP .test page 3 .INDENT -5 _.FG#10####.FIGURE#10######### .BREAK Produces 10 blank lines at the current location if there is room on the current page, or generates a new page and produces 10 blank lines at the top of this new page if there is not room on the current page. .SKIP .test page 3 .INDENT -5 _.FGD#5####.FIGURE#DEFERRED#5# .BREAK Produces 5 blank lines at the current location if there is room on the current page, or continues to insert text on the current page and produces 5 blank lines at the top of the following page if there is not room on the current page. .SKIP .test page 3 .INDENT -5 _.F########.FILL############## .BREAK Words in the lines in the source file are to be accumulated until the next word would cause the contents of the accumulated line to extend beyond the right margin. Opposite of the _.NO FILL command. The _.FILL command is the default. .SKIP .test page 3 .INDENT -5 _.FN#######.FOOTNOTE .BREAK The following text, through the next _.END FOOTNOTE command, is to be placed in a footnote. Each new footnote is assigned a sequentially higher number if a _.NUMBER FOOTNOTE command has been issued. Neither the _.FOOTNOTE command, nor any of the commands issued between the _.FOOTNOTE command and the following _.END FOOTNOTE command, break the line being constructed when the _.FOOTNOTE command was issued. .SKIP .test page 3 .INDENT -5 _.FNR#'-'##.FOOTNOTE RULE '-' .BREAK A line of minus signs is to be ruled above the footnotes at the bottom of each page which bears footnotes. Because the underscore is a special character used to mark appearances of other special characters which are to be treated as normal characters, 2 underscores would have to appear between the apostrophes in order to cause a line of underscores to be ruled instead. .SKIP .test page 3 .INDENT -5 _.I#5######.INDENT#5########## .BREAK The left end of the next line of text is to begin 5 spaces to the right of the left margin. A negative number can be used to cause the next line of text to begin to the left of the left margin instead. .SKIP .test page 3 .INDENT -5 _.J########.JUSTIFY########### .BREAK Extra spaces can be inserted between words to force the right margin to be even. Opposite of the _.NO JUSTIFY command. The _.JUSTIFY command is the default. .SKIP .test page 3 .INDENT -5 _.LM#10####.LEFT#MARGIN#10#### .BREAK Each line is to begin 10 spaces to the right of the left edge of the document. Each line begins at the left edge of the document if a _.LEFT MARGIN command has not been issued. The _.OFFSET command should be issued instead of the _.LEFT MARGIN command if the intent is to move the entire document to the right. .SKIP .test page 3 .INDENT -5 _.NF#######.NO#FILL########### .BREAK The contents of the lines in the source file are to be copied into the reformatted document without changing the number of words per line or the spacing between these words until the next _.FILL command is encountered. .SKIP .test page 3 .INDENT -5 _.NJ#######.NO#JUSTIFY######## .BREAK Extra spaces are not to be inserted between words. The result is a ragged right margin. .SKIP .test page 3 .INDENT -5 _.NM#5#####.NUMBER#5 .BREAK Causes the next page to have 5 as its page number. If the number is signed, then the page numbering is adjusted by the indicated amount. .SKIP .test page 3 .INDENT -5 _.NMFN#####.NUMBER#FOOTNOTE .BREAK Causes footnotes to be sequentially numbered. If a number appears to the right of the _.NUMBER FOOTNOTE command, then that number is assigned to the next footnote. Each footnote number is inserted both at the location in the surrounding text at which the footnote is specified, and at the start of the footnote. The _.DISPLAY REFERENCE and the _.DISPLAY FOOTNOTE commands (see the descriptions of these commands given later in this guide) can be issued to change the manner in which these numbers are represented. .SKIP .test page 3 .INDENT -5 _.O#10#####.OFFSET#10######### .BREAK The entire reformatted document is to be shifted 10 columns to the right. The _.OFFSET command does not change the appearance of the reformatted document, since each line is constructed before being shifted. .SKIP .test page 3 .INDENT -5 _.PG#######.PAGE############## .BREAK The text which follows is to be placed on a new page. The _.LEFT PAGE or the _.RIGHT PAGE commands (see the descriptions of these given later in this guide) should be issued instead if the new page is always to bear left page titles or right page titles respectively. The _.SKIP LEFT PAGE or _.SKIP RIGHT PAGE commands (see the descriptions of these given later in this guide) should be issued if an empty page is to be generated if this is necessary to prevent the new page from being a left page or a right page respectively. .SKIP .test page 3 .INDENT -5 _.PGL#60###.PAGE#LENGTH#60 .BREAK Each page in the reformatted document can contain 60 lines. The default page size is 58 lines of 60 characters each. .SKIP .test page 3 .INDENT -5 _.PGW#72###.PAGE#WIDTH#72 .BREAK Each line in the reformatted document can contain 72 characters. The default page size is 58 lines of 60 characters each. The number of characters on each line can also be modified by the _.RIGHT MARGIN command. .SKIP .test page 3 .INDENT -5 _.P#4######.PARAGRAPH#4####### .BREAK The text which follows is to be placed in a new paragraph with the first line indented 4 spaces to the right of the left margin. If the number is negative, then the first line of the paragraph is indented to the left of the left margin instead. If a number is not given, then it is taken as the value last given by a _.PARAGRAPH command, or as 5 otherwise. .SKIP .test page 3 .INDENT -5 _.RM#72####.RIGHT#MARGIN#72### .BREAK Each line in the reformatted document is to end 72 columns to the right of the left edge of the document. Each line ends 60 columns to the right of the left edge of the document if neither a _.RIGHT MARGIN command nor a _.PAGE WIDTH command has been issued. .SKIP .test page 3 .INDENT -5 _.SP#2#####.SPACING#2######### .BREAK The reformatted document is to be double spaced. The document is single spaced otherwise. .SKIP .test page 3 .INDENT -5 _.TSP#5####.TEST#SPACING#5#### .BREAK The text which follows is to be placed on a new page if there is not enough room on the current page for 5 more lines at the current line spacing. If the document is being double spaced, then this would actually test for the availability of (2*5)-1 or 9 lines. .SKIP .test page 4 .INDENT -5 _.TT'left phrase','middle phrase','right phrase' .test page 3 .INDENT -5 _.TOP TITLE'left phrase','middle phrase','right phrase' .BREAK A title consisting of the words "left phrase" left justified on the line, the words "middle phrase" centered on the line, and the words "right phrase" right justified on the line is to be placed at the top of each page. The apostrophes in the command merely delimit the phrases and do not appear in the title. The _> character (the greater than sign) can appear in a phrase where the current page number is desired. The similar _.TOP SUBTITLE command can be used to specify a subtitle to appear at the top of each page on the line immediately below the title. The _.BOTTOM TITLE and the _.BOTTOM SUBTITLE commands can be used to declare lines which are to appear at the bottom of each page. The _.TOP SUBTITLE, the _.BOTTOM TITLE and the _.BOTTOM SUBTITLE commands reduce the number of lines available on the page for normal text. .SKIP If left and right pages are to bear different titles or different subtitles, then the word "LEFT" or "RIGHT" can be inserted between the initial period and the word "TOP" or "BOTTOM". For example, the _.LEFT BOTTOM SUBTITLE command could be used to define a line which is to appear only at the bottom of left pages which are usually those bearing even page numbers. A _.LEFT PAGE or _.RIGHT PAGE command can, however, be issued instead of a _.PAGE command to cause the new page to be either a left page or a right page respectively. .SKIP .test page 3 .INDENT -5 _.U########.UNDERLINE######### .BREAK The text which appears in the next line in the source file is to be underlined in the reformatted document. .LM 0 .skip If several commands are to be applied concurrently, then these can usually be typed together on a single line. If a command would logically apply to the following line of text, then the command and the associated text can be typed together on the same line if separated by a semicolon. The commands and text in the following 3 lines .SKIP .INDENT 5;_.BLANK .INDENT 5;_.CENTER .INDENT 5;This is a line of text to be centered .SKIP could instead be specified by the following single line. .BREAK .SKIP .INDENT 5;_.B.C;This is a line of text to be centered .LEFT MARGIN 0 .SKIP There are many other commands. You should consult the more detailed lists of commands given later in this guide if you need a particular word processing feature but it is not listed above. .SKIP 2 .TEST PAGE 6 .CENTER;Reserved Characters .CENTER;-------- ---------- .SKIP .test page 3 A few of the less commonly used characters are interpreted by FROFF as indications that the subsequent characters in the source file are to be modified. Used singly and in pairs, some of these act in a manner analogous to the shift and shift lock keys on a typewriter keyboard. The characters which initially serve these functions are listed below. These characters can be changed, as can the leading period used to mark commands and the semicolon which can appear to the right of the commands on a line. Several other characters which are not initially active can be used to indicate additional transformations. .index flag characters>list of most common .SKIP .LM 3 .test page 3 .INDENT -3 _###(number or pound sign) indicates a incompressible, nonexpansible space. In other words, it represents a nonprinting character which is to be treated as a printing character. .index number sign>use as space flag .index _# (number sign)>use as space flag .index space flag>description .SKIP .test page 3 .INDENT -3 _^##(circumflex or up arrow) if followed by an alphabetic letter, indicates that this letter is to be an upper case (capital) letter. If doubled, as in _^_^, it causes the cases of alphabetic letters in the subsequent text to be maintained, this being the default. If followed by an ampersand, as in _^_&, it causes the printing characters in the subsequent text to be underlined. .index _^ (circumflex)>use as upper case flag .index circumflex>use as upper case flag .index upper case flag>description .SKIP .test page 3 .INDENT -3 _\##(back or reverse slash) if followed by an alphabetic letter, indicates that this letter is to be lower case. If doubled, as in _\_\, it causes upper case (capital) letters in the subsequent text to be converted to lower case. If followed by an ampersand, as in _\_&, it terminates the underlining of text specified by a previous circumflex ampersand pair. .index back slash>use as lower case flag .index _\ (back slash)>use as lower case flag .index lower case flag>description .SKIP .test page 3 .INDENT -3 _&##(ampersand or and sign) if not preceded by either a circumflex or a backslash, indicates that the following character is to be underlined. If followed by a space, and if a _.FILL command is active, then all of the spaces between the previous word and the next word will be underlined. If preceded by a circumflex, as in _^_&, it causes the printing characters in the subsequent text to be underlined. If preceded by a backslash, as in _\_&, it terminates the underlining of the text specified by a previous circumflex ampersand pair. .index ampersand>use as underline flag .index _& (ampersand)>use as underline flag .index underline flag>description .SKIP .test page 3 .INDENT -3 _>##(greater than sign) indicates the locations at which the page numbers are to appear in the top and bottom titles and in the top and bottom subtitles. It is treated as an ordinary printing character elsewhere. .index _> (greater than)>use as page number flag in titles .index greater than>use as page number flag in titles .index page number flag>description .SKIP .test page 3 .INDENT -3 __##(underscore, or left arrow on older computer terminals) can precede any reserved character listed above which is to appear unchanged in the resulting document. ___# would produce a single number sign. ____ would produce a single underscore character. (You might note that in order to get 2 underscores to print here, the source file which was processed to produce this document contained 4 underscores.) .index underscore>use as quote flag .index __ (underscore)>use as quote flag .index quote flag>description .LEFT MARGIN 0 .SKIP .SKIP .TEST PAGE 5 .CENTER;A Typical Source File .CENTER;- ------- ------ ---- .SKIP As a typical example of the use of the FROFF word processor, the following source text .SKIP .LITERAL .TOP TITLE'^&A Sample Title\&',,'>' .PAGE LENGTH 20.PAGE WIDTH 27 .NUMBER FOOTNOTE.FOOTNOTE RULE'-' .CENTER.UNDERLINE;A Sample Document .PARAGRAPH This sentence contains the first footnote .FOOTNOTE This sentence is in the first footnote. .END FOOTNOTE reference. The many extra spaces in this sentence have been removed. .BLANK The following table was generated using the .NOFILL command. .BLANK.LEFT MARGIN 5.TEST SPACING 4.NOFILL starting inventory 5 sold during month 2 --- current inventory 3 .FILL.LEFT MARGIN 0 .PARAGRAPH.NO JUSTIFY This sentence contains the second footnote .FOOTNOTE This sentence is in the second footnote. .END FOOTNOTE reference. This sentence contains several .UNDERLINE;words which are underlined. .END literal .SKIP would be converted into the following 2 pages when processed by the FROFF program. .SKIP .NOFILL.TEST PAGE 22 ***************************** ***************************** * * *^&A Sample Title\& 2* * * * * * * * * * ^&A Sample Document\& * * starting inventory 5* * * * sold during month 2* * This sentence contains* * ---* *the first footnote [1]* * current inventory 3* *reference. The many extra* * * *spaces in this sentence* * This sentence contains* *have been removed. * *the second footnote [2] * * * *reference. This sentence * *The following table was* *contains several ^&words\& * *generated using the .NOFILL* *^&which are\& underlined. * *command. * * * * * * * * * * * * * * * *---------------------------* *---------------------------* *[1] This sentence is in* *[2] This sentence is in* *the first footnote. * *the second footnote. * ***************************** ***************************** .FILL .SKIP 2 .TEST PAGE 7 .CENTER;How to Run FROFF on the DECsystem20 .CENTER;--- -- --- ----- -- --- ----------- .SKIP .index DECsystem20 computer>instructions for use of FROFF on The procedure used for running FROFF will vary according to the computer system being used. The procedure on the DECsystem20 is as simple as any, since the only thing which the user is required to type is the name of the input file with default values being assumed for everything else. .skip.test page 3 FROFF is invoked on the DECsystem20 by merely typing its name. It will confirm that it is being run, and will then ask for the name of the source file which is to be processed. The first part of the name of this source file, that is, the part of the name preceding the first period, must be formed of 6 or fewer characters. If the file has a file type, that is, the part of the name following the first period, then this file type must be formed of 3 or fewer characters. If the file type is present and is anything other than _.RNO, then the user must include the file type when specifying the source file. Several runtime options can be selected by switches each consisting of an initial slash followed immediately by an alphabetic letter. The runtime options are described later in this guide. If one or more of these switches are needed, then these can be typed either before or after the name of the source file. If the switches are typed before the name of the source file, then the switches must be separated from the file name by one or more spaces. .index file name conventions>on DECsystem20 computer .SKIP.test page 3 FROFF will write the reformatted document into a file for which the first part of the name is the same as that of the source file, but having _.DOC as its file type. For example, if the name of the source file is either TEST without a file type or is TEST.RNO, then the request for the name of the source file should be answered with just the first part of the name, that is, with the name TEST typed without a period, and the file containing the resulting reformatted document will be named TEST.DOC. If files already exist with both of the names TEST and TEST.RNO, then the answer typed by the user should be TEST_. with a period to process the former or TEST.RNO to process the latter. .SKIP.test page 3 When processing of the source file has been completed, FROFF will report the number of pages produced, and will ask for the name of another source file to be processed. Either just a carriage return or a control-C can be typed if there are no additional files to be processed. The following is a typical dialog between a user and FROFF. The text typed by the user is underlined. .SKIP .NOFILL .TEST PAGE 9 @^&FROFF\& FROFF (06/81) Type /H for Help Source file? ^&TEST/B3/O10\& (begin on third page and offset 10) Pages: 2 Source file? ^&#\& (that is, merely a carriage return) CPU TIME: 1.60 ELAPSED TIME: 9.25 EXIT @ .FILL .skip 2.test page 7 .center;Options Which can be Selected When FROFF is Run .center;------- ----- --- -- -------- ---- ----- -- --- .SKIP Several options which are likely to be changed each time that the source file is processed can be specified by the user when FROFF is run. Each of these options is selected by typing a slash immediately followed by an alphabetic letter. In some cases, the letter can itself be followed immediately by a colon and then immediately by a number. Some versions of FROFF will request that these switches be typed first and separate from the file specifications, but most versions, including those for the DECsystem10 and DECsystem20 computers, expect that the switches, if any, will be typed with the name of the first input file. .skip.test page 3 The following examples are typical of these switches. .left margin 5.skip.test page 3.indent -5 /B:5#(B for begin) causes the output to begin with the 5th page, suppressing those that came before. .index runtime options>beginning page .skip.test page 3.indent -5 /C###(C for continuous) causes the reformatted document to be written directly to the terminal without pausing at the top of each page. This would be used to type onto fanfold, sprocket-hole punched paper. .index runtime options>continuous output to terminal .left margin 5.skip.test page 3.indent -5 /E:8#(E for end) causes the output to end with the 8th page, suppressing those that would come after. .index runtime options>ending page .skip.test page 3.indent -5 /O:5#(O for offset) causes the entire reformatted document to be offset 5 spaces to the right. This is in addition to any offset which might have been specified in the source file. .index runtime options>offset .skip.test page 3.indent -5 /P###(P for pause) causes the reformatted document to be written directly to the terminal, pausing at the top of each page. This would be used to type onto individual sheets of paper. The user must type a carriage return after a new sheet of paper has been inserted into the terminal to cause FROFF to resume typing. .index runtime options>pausing between pages .skip.left margin 0 For example, on the DECsystem20, the user might type .skip .indent 5 TEST/O:10/B:20 .skip.test page 3 in response to the request for the name of the source file to cause FROFF to process the file named TEST.RNO, offsetting the reformatted document 10 spaces to the right and suppressing the first 19 pages. .skip.test page 3 For information about the other runtime features which are available, you can either consult the more detailed descriptions given below or you can type the /H switch when FROFF is run. .skip 2 .test page 8.left margin 0 .center;Complete List of The Runtime Options .center;-------- ---- -- --- ------- ------- .skip .test page 3 All of the options which can be specified by the user each time FROFF is run are described below. However, the short list given above will be sufficient for most users. Don't bother to read this section if you are a novice user of FROFF. .skip .test page 4 .left margin 5.indent -5 .indent -5 /BEGIN:number .break .index runtime options>beginning page causes all pages to be suppressed which precede the indicated page. The page count which is used in making the comparison is 1 for the first page and is incremented by 1 for each following page regardless of the page numbers marked on these pages. .skip .test page 4 .indent-5 /CONTINUOUS .break .index runtime options>continuous output to terminal causes the output to be written to the controlling terminal without pausing at the top of each new page. This switch would be used to output onto fanfold paper or to check the resulting document on a video terminal. .skip .test page 4 .indent -5 /END:number .break .index runtime options>ending page causes all pages to be suppressed which follow the indicated page. The page count which is used in making the comparison is 1 for the first page and is incremented by 1 for each following page regardless of the page numbers marked on these pages. .skip .test page 4 .indent -5 /OFFSET:number .BREAK .index runtime options>offset causes the output to be shifted to the right by the indicated number of columns. This offset is applied in addition to any offset which may be specified within the source file by an _.OFFSET command. .skip .test page 4 .indent -5 /PAUSE .break .index runtime options>pausing between pages causes the output to be written to the controlling terminal. The program will pause at the top of each new page and wait for you to hit the carriage return key before continuing. This allows you to insert individual sheets of paper into the terminal. If the document contains an index, then FROFF will temporarily stop responding near the end of the document while the index is being constructed. .skip.test page 4 .indent -5 /TERMINAL:number .break .index runtime options>terminal type selects the type of terminal upon which the document will be displayed. This switch does not need to be specified unless the document contains superscript or subscript characters and the terminal upon which the document will ultimately be displayed can perform half-line spacing. .test page 3.indent-5 .index runtime options>terminal without half-line spacing /T:0#if the output device cannot do half-line spacing. This is the default if no /T switch is issued. Superscript characters will be superimposed upon blank lines above the lines containing unshifted characters and subscript characters will be superimposed upon blank lines below the lines containing unshifted characters. If the lines of the document are being singly spaced, then extra lines will be inserted which contain only the superscript or subscript characters. If the lines of the document are being doubly or triply spaced, then the lines which contain the superscript or subscript characters will be those which would otherwise separate the lines which contain the unshifted printing characters. .test page 3.indent-5 .index runtime options>terminal with half-line spacing /T:1#if a draft is to be produced which is to be displayed upon an output device which cannot do half-line spacing, but the document will ultimately be displayed upon a device which can do half-line spacing. The pages which contain superscript or subscript characters can be longer than normal since extra lines may have to be inserted to contain the superscript or subscript characters, but each page will contain the same information as if an output device had been selected which could do half-line spacing. The document will have to be processed again using the /T switch with a value which specifies a different type of terminal to produce the final version. .test page 3.indent-5 .index runtime options>terminal with uni-directional tractor /T:2#if the output device is a Diablo or a Xerox daisywheel terminal with a uni-directional form tractor with sprockets above the platen but not behind the platen. Superscript characters will be displayed half a line above the normal line by doing a half-line feed before typing the superscript characters, then doing another half-line feed before typing the characters which are not shifted either up or down. Subscript characters will similarly be displayed after the characters which are not shifted. The text on each page will be typed a half-line lower than normal to allow for some pages to start with title lines which contain superscript characters. .test page 3.indent-5 .index runtime options>terminal with bi-directional tractor /T:3#if the output device is a Diablo or a Xerox daisywheel terminal with a bi-directional form tractor with sprockets both above and behind the platen. Superscript and subscript characters will be typed intermixed with the unshifted characters in the order in which these appear from left to right on the line. Groups of contiguous superscript characters will be preceded by a reverse half-line feed and followed by a forward half-line feed. Groups of contiguous subscript characters will be preceded by a forward half-line feed and followed by a reverse half-line feed. This option should not be selected if the terminal has a uni-directional form tractor since such a tractor cannot reliably shift the paper to a higher position on the page when reverse paper motion is requested .skip.left margin 0 .test page 5 For example, if the user types the command .skip .INDENT 5 ONE/P/O:12/B:6/E:10 .BREAK or .INDENT 5 TTY:=ONE.RNO/E:10/B:6/O:12/P .skip .test page 3 in response to the "Source file?" request, then the sixth through the tenth pages resulting from the processing of the file ONE.RNO would be typed on the terminal, with each line being shifted to the right 12 columns, and with the program pausing at the top of each page. .left margin 0.fill .skip left page.right top title,,'>' .center;Chapter 2 .skip .center;Source File Conventions .rtt'Source File Conventions',,'>' .skip 3 .fill .left margin 0 .center;The Structure of the Commands in the Source File .center;--- --------- -- --- -------- -- --- ------ ---- .skip .index control flag>description .index command line>structure of .index _. (period)>use as control flag .index period>use as control flag Each line of the source file which does not start with a period in the left column contains text which is to be represented in the output file. Each line in the source file which starts with a period in the left column is interpreted as a command which specifies how the text is to be represented in the output file. A command consists of the leading period followed either by a word or by a phrase which identifies the command, followed for some commands by numbers, by characters or phrases marked at both ends by apostrophes, or by the text which extends through the rightmost printing character on the line. .skip .test page 3 The alphabetic letters which form the word or phrase which identifies the command can appear in lower case, in upper case, or in a mixture of upper and lower cases. In addition to its reserved alias, a command name can also be abbreviated by the deletion of the rightmost letters in the word or in each of the words of a phrase provided that enough letters remain to unambiguously identify the command. The spaces between the words of a phrase are not necessary unless the first deleted letter in a word is the same as the first letter of the next word in the phrase. In general, any shortened form of a command which appears to make sense is recognizable by FROFF. If FROFF does happen to complain about a shortened form, then you have probably not noticed that another command has a similar name and you should specify more letters. .index command abbreviations>how formed .skip .test page 3 The numbers, the characters or phrases marked at both ends by apostrophes, or the line of text which follows the word or phrase are referred to as the arguments of the command. Each pair of arguments in the series of several arguments which can be used with some commands can be separated by spaces and/or by a single comma, but the comma is required only if the preceding argument is missing. .index comma>between arguments of command .skip .test page 7 For example, a few of the many ways in which the command .SKIP .INDENT 5;_.LEFT MARGIN 5 .SKIP could be abbreviated are .SKIP .INDENT 5;_.LEM 5, .LE M5, .LMA5, .L MA 5, .LEMA5 and .LE MA 5 .SKIP.test page 7 A few of the many ways in which the command .skip .indent 5 _.FLAGS SPACE '*' .skip .break could be abbreviated are .skip .indent 5 _.FSP'*' or .F SPA'*' or .FL SP '*' or .FLASP'*' .skip .test page 3 If the word SPACE were to be abbreviated by truncation to merely the single letter S, then these abbreviations would be ambiguous since these abbreviations could then just as well select the _.FLAGS SUBINDEX command. .break .skip .test page 3 Except for those commands in which the word or phrase which identifies the command can be followed by the text which extends through the rightmost printing character on the line, any command can be followed on the same line by another command or by a semicolon which can be followed in turn by whatever would otherwise have appeared on the next line. If 2 commands are separated by a semicolon, then spaces can .index _; (semicolon)>use as command separator flag .index semicolon>use as command separator flag appear to the left of the semicolon and to the right of the second period, but cannot appear between the semicolon and the second period. If 2 commands appear on the same line but are not separated by a semicolon, then spaces can appear between the first command and the second period. A leading period or a command can be followed by an exclamation point and then by a comment which extends through the next .index _! (exclamation point)>use as comment flag semicolon on the same line or through the end of the line if a semicolon does not appear on the same line to the right of the exclamation point. A comment is not terminated by the appearance of a period. .skip .test page 5 For example, the text .skip .left margin 5 .nofill _.SKIP 2 _.CENTER This is a Title .fill .left margin 0 .skip .test page 6 could also be specified by any of the following single lines .skip .indent 5 _.SKIP 2.CENTER;This is a Title .indent 5 _.SKIP 2;.CENTER;This is a Title .break or .indent 5 _.SKIP 2!comment;.CENTER!comment;This is a Title .skip .test page 3 An underscore character can appear before any character, such as a leading period in a noncommand line, or a semicolon, exclamation point, comma or another underscore in a command line, which is to be treated as an ordinary printing character. .index __ (underscore)>use as quote flag .index underscore>use as quote flag .fill .skip 2 .test page 6 .center Case Notation for Alphabetic Letters .center ---- -------- --- ---------- ------- .skip .test page 3 The alphabetic letters A through Z in the source text should, if at all possible, be in upper case where upper case (capital) letters are desired in the resulting document, and should be in lower case where lower case (small) letters are desired. However, if the alphabetic letters in the source text, or in a portion of it, are all in a single case, then the letters and words which are to be in upper case in the resulting document can be marked by preceding them with flag characters and the rest of the letters can then be converted to lower case letters. Such case conversion requires very little extra processing, but the insertion of the flag characters into the source text will probably take the user more time than would depressing the shift key, and is more prone to error. .skip .test page 3 .index retaining cases An _.UPPER CASE command or 2 consecutive circumflexes (_^_^) anywhere in the source text indicates that the cases of all subsequent alphabetic .index upper case flag>description .index UPPER CASE command>equivalent to doubled circumflexes .index _^ (circumflex)>equivalent to UPPER CASE command when doubled .index double circumflex>equivalent to UPPER CASE command .index circumflex>equivalent to UPPER CASE command when doubled letters which are not otherwise marked are to be retained. An _.UPPER CASE command is considered to be in effect when this program is started. A _.LOWER CASE command or 2 consecutive back slashes (_\_\) anywhere in the source text indicates that all subsequent alphabetic letters .index lower case flag>description .index LOWER CASE command>equivalent to doubled back slashes .index _\ (back slash)>equivalent to LOWER CASE command when doubled .index double back slash>equivalent to LOWER CASE command .index back slash>equivalent to LOWER CASE command when doubled .index capital letters>conversion to lower case .entry case conversion>of lower case to capitals, see capitalization .entry case conversion>of capitals to lower case, see capital letters which are not otherwise marked are to be converted to their lower case forms. Regardless of the overall case setting, any single letter which is to be converted to its upper case form can be preceded by a single .index _^ (circumflex)>use as upper case flag .index circumflex>use as upper case flag .index capitalization>of single letter circumflex, and any single letter which is to be converted to its lower .index _\ (back slash)>use as lower case flag .index back slash>use as lower case flag case form can be preceded by a single back slash. If a _.FLAGS CAPITALIZE command has been issued, then a less than sign (_<) can be used at the start of a word to indicate that all of the following alphabetic letters are to be converted to their upper case forms in .index capitalization>of single word .index word>conversion of lower case to capital the word which extends either through the rightmost character on the line, or up to the next space, or up to the next less than sign, whichever comes first. A single underscore can precede any character, such as a circumflex or a back slash or even another underscore, which is to be treated as a nonalphabetic printing character. A space which is to be treated as a nonalphabetic printing character can be indicated .index space flag>description either by a number sign or else by a space which is preceded by an underscore. A number sign which is to be kept as a number sign must be preceded by a single underscore. Any of these flag characters can be changed or temporarily disabled by commands in the source file. .skip .test page 3 If the source file contains only lower case letters, but both cases are desired, then, without any special action, all letters will remain in their lower case forms except for those letters which immediately follow a single circumflex or which are in words which are preceded by a less than sign if a _.FLAGS CAPITALIZE command has been issued. .skip .test page 3 If the source file contains only upper case letters, but both cases are desired, then the input file should contain a _.LOWER CASE command or 2 consecutive back slashes so that subsequent letters will be translated to their lower case forms except for those letters which immediately follow a single circumflex or which follow a single underscore or which are in words which are preceded by a less than sign if a _.FLAGS CAPITALIZE command has been issued. If there are sections of the source text which are to be kept primarily in their original upper case forms, then these sections can be preceded by an _.UPPER CASE command or by 2 consecutive circumflexes, and then any individual letters which need to be converted to their lower case forms can be preceded by single back slashes. .skip .test page 8 For example, the source text .skip .nofill .test page 6 _.nofill.flags capitalize _\_\_^ONLY THE FIRST LETTER IN THIS LINE REMAINS UPPER CASE. definition .index underlining>word or phrase .skip.test page 5 For example, the source text .skip.nofill Some words _.UNDERLINE;in this sentence are underlined. .skip.fill.test page 3 would produce the following text .skip Some words ^&in this sentence\& are underlined. .skip .test page 3 The _.UNDERLINE command cannot, however, be used to underline individual letters within words and cannot be used to underline individual words within lines which are within the range of a _.NOFILL command and which are therefore being copied with the words in their original locations. Instead, when only some of the printing characters which appear on a single line in the input file are to be underlined, then the characters to be underlined can be indicated in either of the following ways: .skip.lm+3 .test page 3 .indent-3;a.#Each individual character which is to be underlined can be preceded by an ampersand character (_&). .index _& (ampersand)>use as underline flag .index ampersand>use as underline flag .index underline flag>description .skip .test page 4 For example, the line of output text shown above could instead have been specified by the following source text .skip.literal Some words &i&n &t&h&i&s &s&e&n&t&e&n&c&e are underlined. .end literal.skip .test page 3 .indent -3;b.#Each word or phrase which is to be underlined can be preceded by a circumflex character (_^) followed immediately by an .index _^ (circumflex)>use with ampersand to start underlining .index circumflex>use with ampersand to start underlining ampersand to indicate the start of the text being underlined. The end of the word or phrase which is being underlined is then indicated by a backslash character (_\) followed immediately by an ampersand. .index _\ (back slash)>use with ampersand to stop underlining .index back slash>use with ampersand to stop underlining .skip .test page 4 For example, the line of output text shown above could also have been specified by the following source text .skip.literal Some words ^&in this sentence\& are underlined. .end literal.lm-3.skip .test page 3 The spaces within a phrase are not usually underlined if the phrase is preceded by the _^_& character pair. If the text is being filled (that is, words are being wrapped around from one line to the next to make the lines be of approximately equal length), then a single ampersand placed after a word will cause the space or spaces between that word and the next to be underlined. If the text is not being filled, and this applies as well to text being centered or right justified, then each and every space which is to be underlined would be preceded by an ampersand. If all spaces are to be underlined which are between words which are being underlined, then an _.UNDERLINE SPACE .index spaces>underlining .index underlining>spaces command can be issued instead. An _.UNDERLINE SPACE command issued in the main text of the document does not cause spaces to be underlined which are between underlined words in footnotes, and an _.UNDERLINE SPACE command issued in a footnote does not cause spaces to be underlined which are between underlined words in the main text of the document. .skip .test page 3 An ampersand which is to appear in the output text as itself must be preceded in the source text by an underscore character which indicates that the character following it is to be copied literally rather than be used as a flag character. Several spaces which are to be underlined can either be indicated by several ampersand-number sign pairs, or by a circumflex-ampersand pair followed by several number signs followed in turn by a back slash-ampersand pair, or by twice the desired number of underscores. .skip.test page 7 For example, the source text .skip .literal These are blanks: &#&#&#&#&#, ^&#####\& _& __________ .end literal .skip would produce the following line of output text .skip.nofill These are blanks: &#&#&#&#&#, ^&#####\& _& __________ .fill .entry abbreviations>see command aliases .entry abbreviations>see command abbreviations .entry command abbreviations>see command aliases .entry aliases>see command abbreviations .entry aliases>see command aliases .entry command aliases>see command abbreviations .entry address file>see also splice file .left margin 0.fill .skip left page.right top title,,'>' .center;Chapter 3 .skip .center;How to Perform Common Word Processing Tasks .rtt'How to Perform Common Word Processing Tasks',,'>' .skip 3 .fill .left margin 0 .center Specification of Form Letters .center ------------- -- ---- ------- .skip .test page 3 Form letters can be generated by placing the unchanging portion of the letter in a form letter specification file, and the varying portions of the individual letters together in a splice file. The form letter specification file would begin with the commands .index form letter>discussion .skip .test page 5 _.OPEN SPLICE.LOOP .index loop>form letter .SKIP and end with the commands .skip _.RESET.END LOOP .SKIP .test page 3 Within the form letter specification file, _.SPLICE commands would be inserted at each location where 1 or more lines of text are to be brought in from the splice file. If no number appears to the right of the _.SPLICE command, then the splice file is read until an _.END SPLICE command is found. If a number appears to the right of the _.SPLICE command, then this is the number of lines which are to be read from the splice file. No additional commands or text should appear to the right of the _.END SPLICE command. The lines of text read from the splice file are treated exactly as though these lines had been read from the form letter specification file. .index splice file>use in form letter .index SPLICE command>use in form letter .index END SPLICE command>use in form letter .skip.test page 3 If FROFF is run from a terminal which will accept separate sheets of typewriter paper, then, when the user is asked to specify the source file, the user should type the switch /PAUSE along with the name of the source file. At the start of each new page, FROFF will issue a form feed to eject the last sheet of paper from the terminal, and will wait for the user to hit the return key before proceeding. .index runtime options>pausing between pages .skip.test page 13 A simple form letter specification file is shown below. .skip.nofill.test page 11 _.OPEN SPLICE.LOOP.PAGE LENGTH 20.PAGE WIDTH 27 _.NO HEADER.NO FILL.NO FLAGS.LEFT MARGIN 11 Boarding Kennels 13 Central Plaza Atlantis _.SKIP.LEFT MARGIN 0.SPLICE.SKIP.FILL We regret to inform you that your pet died when a troll destroyed our building. _.SKIP.NOFILL.LEFT MARGIN 11;Yours truly, _.SKIP 2;Joan Doe _.RESET.END LOOP .index form letter>sample .skip.fill.test page 3 The commands in this form letter specification file perform the following functions. .skip.lm+1.list 0 .le;The _.OPEN SPLICE command causes FROFF to ask the user to identify the splice file before the first letter is typed. Otherwise, this dialog would take place while the first letter is being typed. .le;The _.LOOP command causes the following source text, through the following _.END LOOP command in the original file, to be processed repeatedly until an _.END LOOP command is encountered in the splice file. .le;The _.PAGE LENGTH command sets the height of each page and the _.PAGE WIDTH command sets the width of each page. These commands are used to force very small pages which can be inserted easily into this manual. Such a small page size would not be used for the production of actual form letters. .le;The _.NO HEADER command suppresses the blank lines reserved at the top of each page for the title and subtitle. This command would not be necessary if each letter were longer than a single page. .le;The _.NO FILL command causes each line of the sender's address on the following lines in the form letter specification file and of the recipients' addresses and the salutations in the splice file to be copied without changing the original spacing before and between the words on the line. .le;The _.NO FLAGS command allows characters, such as ampersands, which would otherwise be treated as flag characters, to instead appear as ordinary characters in the output. .le;The _.LEFT MARGIN 11 command shifts the sender's address 11 columns to the right. This shift is smaller for this example than it would be for the production of actual form letters. .le;The _.SKIP command inserts a blank line between the sender's address and the recipient's address which will be read from the splice file. .le;The _.LEFT MARGIN 0 command shifts the recipient's address and the rest of the text of the letter back to the left edge of the page. .le;The _.SPLICE command causes the lines of text to be copied from the splice file until an _.END SPLICE command is encountered in the splice file. These lines will specify the recipient's address, a separating blank line and the salutation complete with punctuation. .le;The _.SKIP command inserts a blank line between the salutation and the body of the letter. .le;The _.FILL command causes the words in the text of the letter to be shifted from one line to the next to form lines of equal length. This terminates the effect of the _.NO FILL command issued earlier. .le;The _.SKIP command skips a blank line between the text of the letter and the closing lines. .le;The _.NOFILL command causes the closing lines to be copied without changing the number of words on each line and without changing the spacing before and between these words. .le;The _.LEFT MARGIN 11 command shifts the closing lines 11 columns to the right. Again, this shift is smaller for this example than it would be for the production of actual form letters. .le;The _.SKIP 2 command skips 2 lines before the sender's name. .le;The _.RESET command causes the initial conditions to be restored for the next letter and causes the next letter to be typed starting on a new first page. The _.RESET command could also have been inserted directly after the _.LOOP command, but it must be within the loop and must be issued either before all other commands in the loop or after all other commands in the loop. .le;The _.END LOOP command defines the end of the source text in the original file which is to be processed repeatedly until an _.END LOOP command is encountered in the splice file. .end list.lm-1.skip.test page 3 A typical splice file is shown below. This file defines both the address and the salutation to appear at the start of each letter. The blank lines in this file would produce blank lines in the output if a _.NO FILL command has been issued in the form letter specification file. The blank lines could be replaced by lines containing _.SKIP commands instead. .skip.nofill.test page 13 Mr. John Smith 22 Narrow Av. Wide Town, Conn. Dear Mr. Smith: _.END SPLICE Ms. Jane Jones 44 Flat Street Hilly City, Mass. Dear Ms. Jones: _.END SPLICE _.END LOOP .index splice file>sample .index address file>sample .skip.fill.test page 22 The form letters shown below are produced when the form letter specification file shown above is used to process this splice file. .skip .NOFILL.TEST PAGE 22 ***************************** ***************************** * Boarding Kennels* * Boarding Kennels* * 13 Central Plaza* * 13 Central Plaza* * Atlantis * * Atlantis * * * * * *Mr. John Smith * *Ms. Jane Jones * *22 Narrow Av. * *44 Flat Street * *Wide Town, Conn. * *Hilly City, Mass. * * * * * *Dear Mr. Smith: * *Dear Ms. Jones: * * * * * *We regret to inform you* *We regret to inform you* *that your pet died when a* *that your pet died when a* *troll destroyed our* *troll destroyed our* *building. * *building. * * * * * * Yours truly, * * Yours truly, * * * * * * * * * * Joan Doe * * Joan Doe * * * * * ***************************** ***************************** .FILL .skip.test page 3 Form letters can be customized by the insertion of words, phrases, sentences, or even whole paragraphs from the splice file. A _.SPLICE 1 command would appear in the form letter specification file wherever a word or a phrase is to be inserted. A longer insertion of variable length would be handled in a manner similar to the recipient's addresses in the above example; the _.SPLICE command would be issued without a following number at the point in the form letter specification file at which the long insertion is needed, and each section of text being inserted would be terminated by an _.END SPLICE command in the splice file. If there is more than a single insertion per letter, then all of the insertions for the first letter appear first in the splice file in the order in which these insertions are to appear in the letter, all of the insertions for the second letter appear next, and so on. .index form letter>insertion into .skip.test page 17 The following is a typical form letter specification file which requires 2 fixed length insertions in addition to the variable length recipient's address. .skip.test page 13.nofill _.OPEN SPLICE.LOOP.PAGE LENGTH 20.PAGE WIDTH 27 _.NO HEADER.NO FILL.NO FLAGS.LEFT MARGIN 11 Boarding Kennels 13 Central Plaza Atlantis _.SKIP.LEFT MARGIN 0.SPLICE.SKIP.FILL We regret to inform you that _.SPLICE 1;your pet _.SPLICE 1;died when a troll destroyed our building. _.SKIP.NOFILL.LEFT MARGIN 11;Yours truly, _.SKIP 2;Joan Doe _.RESET.END LOOP .index form letter>sample .skip.fill The splice file shown below includes the 2 extra lines needed for each form letter. Additional _.END SPLICE commands are not necessary since the _.SPLICE commands specify the number of lines to be read. .skip.test page 17.nofill Mr. John Smith 22 Narrow Av. Wide Town, Conn. Dear Mr. Smith: _.END SPLICE Screech, yellow harpy, Ms. Jane Jones 44 Flat Street Hilly City, Mass. Dear Ms. Jones: _.END SPLICE Fangs, snail, _.END LOOP .index splice file>sample .index address file>sample .fill.skip.test page 26 The new form letters shown below are produced when the form letter specification file including the extra _.SPLICE commands is used to process this splice file. .skip .NOFILL.TEST PAGE 22 ***************************** ***************************** * Boarding Kennels* * Boarding Kennels* * 13 Central Plaza* * 13 Central Plaza* * Atlantis * * Atlantis * * * * * *Mr. John Smith * *Ms. Jane Jones * *22 Narrow Av. * *44 Flat Street * *Wide Town, Conn. * *Hilly City, Mass. * * * * * *Dear Mr. Smith: * *Dear Ms. Jones: * * * * * *We regret to inform you* *We regret to inform you* *that Screech, your pet* *that Fangs, your pet snail,* *yellow harpy, died when a* *died when a troll destroyed* *troll destroyed our* *our building. * *building. * * * * * * Yours truly, * * Yours truly, * * * * * * * * * * Joan Doe * * Joan Doe * * * ***************************** ***************************** .FILL .skip In the above example, the punctuation marks which are to appear at the ends of the words or phrases inserted from the splice file actually appear in the splice file. If the same punctuation mark is always to appear at the end of a particular insertion, then this punctuation mark can instead appear once in the form letter specification file rather than repeatedly in the splice file. A _.JOIN command would have to be issued after the _.SPLICE command, but before the punctuation character appears as ordinary text in the form letter specification file, to cause the punctuation mark to be attached directly to the word or to the last word of a phrase inserted from the splice file. For example, the form letter specification file could contain the command sequence .index JOIN command>use with insertions in form letters .SKIP _.SPLICE 1.JOIN;, .SKIP to append a comma to the word or to the last word of a phrase read from the splice file. The semicolon which appears to the right of the _.JOIN command allows the text which could appear on the following line to instead appear to the right of the semicolon on the same line. If a period is to be appended to the word or to the last word of a phrase read from the splice file, then an extra blank should appear between the semicolon and the period so that the period will not be treated as though it marks the start of another command. .skip 2.test page 7 .center;Addressing Envelopes for Use with Form Letters .center;---------- --------- --- --- ---- ---- ------- .skip Addresses can be typed on envelopes by using a file similar to those used for specifying form letters. This file only needs to print the sender's address, then skip down to the center of the envelope and print the next address read from the splice file. The splice file should contain only the recipients' addresses, each followed by an _.END SPLICE command, and a final _.END LOOP command. Salutations and all other splice insertions for the form letters must be removed before a splice file meant for the form letters can be used for the envelopes. .index addressing envelopes .index envelopes>addressing .skip.test page 3 Each envelope is treated as a separate page. After the sender's address has been typed at the upper left corner of the envelope, then either a _.FIGURE command or a _.SKIP command can be used to shift down to the location at which the recipient's address is to be typed. If the sender's address is not typed at the upper left corner of the envelope, then a _.FIGURE command must be used to shift down to the location at which the recipient's address is to be typed since a _.SKIP command is always ignored when issued at the top of a page. .skip.test page 3 The dimensions shown in the following diagram can be used to estimate the left margin for the recipient's address, and the space between the bottom of the sender's address and the top of the recipient's address. If the envelopes are typed with 6 lines per inch, then the number of lines in the sender's address and the number of lines skipped by the _.FIGURE command should total about 11 or 12. If the envelopes are typed with 10 characters horizontally per inch, then the left margin for the recipient's address should be about 35 for a short envelope and 45 for a long envelope. If typed with 12 characters per inch, these left margins would be about 42 and 54, respectively. These values should be adjusted to fit personal preferences. .skip.test page 14.nofill ************************************************************ * * * First line of address . * * Second line . * * Third line 1 3/4 to 2 inches * * between tops of addresses * * . * * . * * ................................. First line of address * * 3 1/2 inches for short envelope Second line * * 4 1/2 inches for long envelope Third line * * between edges of addresses * * * ************************************************************ .skip.fill.test page 9 The following is a typical form envelope specification file for short envelopes which are to be typed with 6 lines and 10 characters per inch. .skip.nofill.test page 5 _.OPEN SPLICE.LOOP.NO HEADER.NO FILL.NO FLAGS Boarding Kennels 123 This St. That City, N.H. 99999 _.FIGURE 8.LEFT MARGIN 35.SPLICE.RESET.END LOOP .skip.fill The commands in the above form envelope specification file perform the following functions. .skip.lm+1.list0 .le;The _.OPEN SPLICE command causes FROFF ask the user to identify the splice file before the first envelope is typed. Otherwise, this dialog would have to appear on the first envelope. .le;The _.LOOP command causes the following source text, through the following _.END LOOP command in the original file, to be processed repeatedly until an _.END LOOP command is encountered in the splice file. .le;The _.NO HEADER command suppresses the blank lines reserved for the title and subtitle. .le;The _.NO FILL command causes each of the lines of the sender's and of the recipients' addresses to be copied without changing the original number of words per line and without changing the original spacing before and between the words on the line. .le;The _.NO FLAGS command allows characters, such as ampersands, which would otherwise be treated as flag characters, to instead appear in the output. .le;The _.FIGURE command shifts down to the location at which the recipient's address is to be typed. .le;The _.LEFT MARGIN command shifts the recipient's address to the right. .le;The _.SPLICE command causes lines of text to be copied from the splice file until an _.END SPLICE command is encountered in the splice file. .le;The _.RESET command causes the initial conditions to be restored for the next envelope and causes the next envelope to be typed on a new page. .le;The _.END LOOP command defines the end of the source text in the original file which is to be processed repeatedly until an _.END LOOP command is encountered in the splice file. .end list.lm-1.skip.fill.test page 5 The following form envelope specification file could be used if the envelopes were preprinted with the sender's address. .skip.nofill _.OPEN SPLICE.LOOP.NO HEADER.NO FILL.NO FLAG _.FIGURE 11.LEFT MARGIN 35.SPLICE.RESET.END LOOP .skip.fill.test page 13 Either of the above form envelope specification files could be used with the following address specification splice file. .SKIP.NOFILL Mr. John Doe 22 Narrow Av. Wide Town, Conn. _.END SPLICE Ms. Jane Doe 44 Flat Street Hilly city, Mass. _.END SPLICE _.END LOOP .fill .skip 2.fill.left margin 0 .test page 6 .center;Automatically Numbered Lists .center;------------- -------- ----- .skip .test page 3 Lists of items can be generated in which each item is preceded by an automatically supplied number. This frees the author from having to modify the numbers for the subsequent items in a numbered (or lettered) list each time an item is added to or removed from the list. Such lists can be declared inside other lists to a maximum total depth of 10 levels. The numbers which identify the items at a particular level can be generated in any of several notations, either Arabic or Roman numerals or alphabetic letters. Roman numerals or alphabetic letters can be generated in either upper case (capital) letters or lower case (small) letters. If letters are used, then the 27th item in a list would be preceded by the letters AA and the 28th by AB. Lists can also be generated in which each item is preceded by 1 or more characters which are the same for all items in the list, the lower case letter o or a few periods often being used. .index automatically numbered list>discussion .skip .test page 3 The start of each list is indicated in the source text by a _.LIST .index LIST command>discussion command, each item within the list is preceded by a _.LIST ELEMENT .index LIST ELEMENT command>discussion command, and the end of the list is indicated by an _.END LIST command. .index END LIST command>discussion Each new _.LIST command freezes the interline spacing, and bases the left margin for the items in the list on the current value of the left margin. The interline spacing and the left margin can be modified for unnumbered special displays within the list or for more deeply embedded lists, but will be restored to their original settings for each new numbered item in the list at the original depth. If some of the numbers which identify items in the list are larger than can be represented by just a single digit, then the left margin should be shifted sufficiently far to the right to make room for the largest number before the _.LIST command is issued, since the left margin cannot be modified for the individual items within the list. The _.END LIST command restores the left margin and the interline spacing which were in effect when the corresponding _.LIST command was issued, but, if the left margin was shifted to allow for numbers requiring more than a single digit, then the left margin will be restored to its value after the shift, not to its previous value. .skip .test page 3 The first item in each more deeply embedded list is numbered 1 (or I in Roman numerals or A in letters). A _.NUMBER LIST command can .index NUMBER LIST command>discussion be used to change the value of the number identifying the next item at the current list depth or of any list in which the current list is embedded. Initially, each item within each list which is at a greater depth than has already been used in the current document is identified by an Arabic numeral. The manner in which the numbers are displayed can be changed for the current level of lists, and for all following lists at that level, by issuing a _.DISPLAY ELEMENT command .index DISPLAY ELEMENT command>discussion after the _.LIST command which initializes the list. The indentation of the items can be changed for the current level of lists, and for all of the following lists at that level, by issuing an _.INDENT ELEMENT .index INDENT ELEMENT command>discussion command after the _.LIST command. .skip .test page 12 For example, the following source text .test page 10.skip.nofill.no flag control .NO HEADER.PAGE LENGTH 24.PAGE WIDTH 27.SPACING 2 This text appears before the 1st list command. .LIST .LIST ELEMENT;1st item in the outer list. .NO FILL.LEFT MARGIN +2.SPACING 1 1st line of display 2nd line of display .FILL .LIST ELEMENT;2nd item in the outer list. .SPACING 1.LEFT MARGIN +1.LIST.DISPLAY ELEMENT '(',RU,')' .LIST ELEMENT;1st item in the 1st inner list. .LIST ELEMENT;2nd item in the 1st inner list. .END LIST .LIST ELEMENT;3rd item in the outer list. .SPACING 1.LEFT MARGIN +1.LIST .LIST ELEMENT;1st item in the 2nd inner list. .LIST,'...' .LIST ELEMENT;1st dotted item. .LIST ELEMENT;2nd dotted item. .END LIST .LIST ELEMENT;2nd item in the 2nd inner list. .END LIST .LIST ELEMENT;4th item in the outer list. .END LIST;This appears after the final end list command. .flag control .index automatically numbered list>sample .skip.fill .test page 29 would be converted into the following 2 pages of formatted text when processed by this program. .skip .NOFILL.TEST PAGE 26 ***************************** ***************************** *This text appears before* *3. 3rd item in the outer* * * * * *the 1st list command. * * list. * * * * * * * * * *1. 1st item in the outer* * (I) 1st item in the* * * * 2nd inner list. * * list. * * * * * * ... 1st dotted* * 1st line of display * * item. * * 2nd line of display * * * * * * ... 2nd dotted* *2. 2nd item in the outer* * item. * * * * * * list. * * (II) 2nd item in the* * * * 2nd inner list. * * * * * * (I) 1st item in the* *4. 4th item in the outer* * 1st inner list. * * * * * * list. * * (II) 2nd item in the* * * * 1st inner list. * *This appears after the* * * * * * * *final end list command. * ***************************** ***************************** .FILL .fill.skip 2.test page 6 .center;Footnotes .center;--------- .skip .test page 3 .index footnote>discussion Each footnote should be declared within the text which it annotates. The text which is to appear in the footnote is specified on the lines following a _.FOOTNOTE command, and extends to an _.END FOOTNOTE command .index END FOOTNOTE command>discussion or to an exclamation point which appears in the leftmost column of a subsequent line in the source file. If the footnote specification is terminated by a line containing a leading exclamation point, then whatever appears immediately to the right of this exclamation point .index _! (exclamation point)>use as end footnote flag .index exclamation point>use as end footnote flag is treated as though it were in the leftmost column instead. Neither the declaration of the footnote, nor any command which implies a _.BREAK command and which appears within the specification of the footnote, causes a break in the surrounding text. .skip .test page 3 The footnotes are, in general, treated as though they had been defined in a separate document which is inserted at the bottom of the page or, if there is insufficient room there, on the page following the text surrounding the declaration of the footnote. The notation selected in the source text for specifying the cases of alphabetic letters will be the same in the footnotes as in the surrounding text since it is assumed that these were written at the same time. However, major modifications of appearance, such as of margins and interline spacing, .index margin>in footnote .index line spacing>in footnote .entry inter-line spacing>see line spacing are set independently in the footnotes and in the surrounding text. If the margins or spacing are changed in a footnote, then they are changed for any subsequent footnotes as well, but do not change the margins or spacing in the surrounding text. If the margins or spacing are changed in the surrounding text, then they are not changed in the footnotes. However, the _.PAGE WIDTH command alters the right margin .index PAGE WIDTH command>applies to footnote and surrounding text for both the footnotes and the surrounding text, and the _.OFFSET .index OFFSET command>applies to footnote and surrounding text command, if issued in the surrounding text, moves the entire document, including any footnotes, to the right. .skip .test page 3 The footnotes will be automatically numbered if a _.NUMBER FOOTNOTE .index NUMBER FOOTNOTE command>discussion .index footnote number>discussion .index number>changing footnote value command appears in the source text prior to the declaration of the first footnote. The first footnote is then assigned the number 1 and each successive footnote is assigned a value 1 greater. The number identifying each footnote is enclosed between left and right square brackets ([ and ]), and is inserted both into the surrounding text at the point at which the footnote was declared and at the start of the footnote itself. A _.DISPLAY REFERENCE command can be issued to .index DISPLAY REFERENCE command>discussion change the characters enclosing the footnote number inserted at the point at which each footnote was declared. A _.DISPLAY FOOTNOTE command .index DISPLAY FOOTNOTE command>discussion can be issued to change the characters enclosing the footnote number inserted at the start of each footnote. The _.DISPLAY REFERENCE and _.DISPLAY FOOTNOTE commands can also cause the footnote numbers to be attached to the adjacent words and/or to be raised half a line above the adjacent text. .skip .test page 3 Each footnote number and its enclosing brackets are treated as a separate word which is inserted at the end of the line of text currently being accumulated, provided that there is sufficient room on the line for them. The footnote number will be attached to the previous word on the line either if a _.DISPLAY REFERENCE command has specified that all such footnote numbers are to be attached to the words preceding them or if a _.JOIN command was issued just prior to the _.FOOTNOTE .index JOIN command>with footnote number command. If the footnote number would extend beyond the right margin, then both the footnote number and the preceding word to which it is attached are held for the next output line. Neither the _.DISPLAY REFERENCE command nor the _.JOIN command can, however, properly attach a footnote number to an automatically numbered header title specified by a _.HEADER LEVEL command. If a footnote annotates an indented, .index embedded note>footnote reference in .index footnote>reference in embedded note single spaced note begun by a _.NOTE command, then the footnote must be declared prior to the _.END NOTE command, so that the footnote number does not become part of the text following the end of the note. .skip .test page 3 A _.JOIN command can also be issued just after an _.END FOOTNOTE command to attach that particular footnote number to the following word or to the following punctuation mark. If the footnote number is to be attached to a following period which is to be treated as an end of sentence (i.e., is to be followed by an extra space), then the period must be preceded on the next line of the source text by at least one extra space which indicates that this period does not start a command. .skip .test page 3 An _.INDENT FOOTNOTE command can be issued to change the indentation .index INDENT FOOTNOTE command>discussion of each number inserted at the start of a footnote. .skip .test page 3 A _.FOOTNOTE RULE command can be issued to cause each group of footnotes .index FOOTNOTE RULE command>discussion to be preceded at the bottom of the page by a line ruled from the left edge to the right edge of the page. A _.FOOTNOTE HEADER command can .index FOOTNOTE HEADER command>discussion be issued instead if each group of footnotes is to be preceded by a line containing some other sequence of characters. A _.SPACE FOOTNOTE .index SPACE FOOTNOTE command>discussion command can be issued to change the number of extra blank lines which are to appear above and below the line selected by either the _.FOOTNOTE HEADER or the _.FOOTNOTE RULE command or to change the number of blank lines which are to appear between successive footnotes. .skip .test page 3 If, rather than being printed at the bottoms of the pages in which they were specified, the footnotes are to be collected and printed together, then a _.COLLECT FOOTNOTE command must be issued before the .index COLLECT FOOTNOTES command>discussion first footnote is specified. Either a _.DO FOOTNOTE or a _.PRINT .index DO FOOTNOTE command>discussion .index PRINT FOOTNOTE command>discussion FOOTNOTE command can then be issued where the footnotes are to be printed. The only difference between these commands is that the _.DO FOOTNOTE command causes the footnotes to be printed starting on a new page while the _.PRINT FOOTNOTE command does not. .skip .test page 12 For example, the following source text .skip .test page 10 .no fill.no flags control .FIRST TITLE.PAGE LENGTH 19.PAGE WIDTH 27.SPACING 2 .TOP TITLE,'Footnote Example'.BOTTOM TITLE,'- > -' .NUMBER FOOTNOTE.FOOTNOTE RULE'-' This line contains the first .FOOTNOTE This is the text of the first footnote. .END FOOTNOTE and second .FOOTNOTE This is the text of the second footnote. !footnote references. .DISPLAY REFERENCE'',D,'',3.DISPLAY FOOTNOTE'',D,'.',0 .INDENT FOOTNOTE 0 This line contains the third .FOOTNOTE.LEFT MARGIN 5 This is the text of the third footnote. !and fourth .FOOTNOTE This is the text of the fourth footnote. .END FOOTNOTE footnote references. .flags control.fill.skip .test page 24 Would be converted into the following 2 pages of formatted text when processed by this program. .skip .NOFILL.TEST PAGE 21 ***************************** ***************************** * Footnote Example * * Footnote Example * * * * * * * * 4 * *This line contains the* *and fourth footnote* * * * * *first [1] and second [2]* *references. * * * * * *footnote references. This* * * * 3* * * *line contains the third * * * * * * * * * * * *---------------------------* *---------------------------* *[1] This is the text of* * 3. This is the text of* *the first footnote. * * the third footnote. * *[2] This is the text of* * 4. This is the text of* *the second footnote. * * the fourth footnote. * * * * * * - 1 - * * - 2 - * ***************************** ***************************** .FILL .skip The commands in the above example perform the following functions: .skip.left margin+1.list .le The _.FIRST TITLE command causes titles to appear on the first page of the output. Otherwise, blank lines would appear at the title positions on the first page. .le The _.PAGE LENGTH command sets the height of each page and the _.PAGE WIDTH command sets the width of each page. These commands are used to force very small pages which can be inserted easily into this manual. This command changes the right margin both outside and within the footnotes. .le The _.SPACING command causes the output lines to be doubly spaced. The line spacing within the footnotes is not changed since this command does not appear in a footnote. .le The _.TOP TITLE command specifies the title to appear at the tops of the pages. This command can have 3 arguments, the text to be left justified, the text to be centered and the text to be right justified at the tops of the pages. Here, only the text to be centered is specified. .le The _.BOTTOM TITLE command specifies the title to appear at the bottoms of the pages. The greater than sign (>) will be replaced by the page number. .le The _.NUMBER FOOTNOTE command causes each footnote to be automatically numbered. Since no number was specified to the right of this command, the first number assigned will be one. .le The _.FOOTNOTE RULE command causes a line of minus signs to be ruled above the footnotes at the bottoms of the pages. To obtain a line of underscores instead, 2 underscores would have to appear between the apostrophes since the first underscore would merely specify that the second underscore is to be used literally. .le The _.FOOTNOTE command specifies that the following lines define the text of a footnote. The specification of the footnote appears within the specification of a sentence in the outer text, but neither the _.FOOTNOTE command nor any of the commands issued in specifying the text of the footnote will terminate the specification of the sentence in the outer text. .le The _.END FOOTNOTE command terminates the specification of the text of the footnote. The second footnote is terminated by the appearance of an exclamation point in the leftmost column. The exclamation point can be followed on the same line by the commands or text which would otherwise have started in column 1 of the following line. The _.END FOOTNOTE command can similarly be followed on the same line by additional commands, but must first be followed by a semicolon if it is to be followed on the same line by any text which does not form a command. .le The _.DISPLAY REFERENCE command specifies the appearance of the numbers which are inserted into the surrounding text at the locations at which the footnotes are specified. The first pair of apostrophes which enclose nothing else specifies that no character is to appear to the left of each footnote number, the letter d specifies that each footnote number is to be represented in decimal, the second pair of apostrophe specifies that no character is to follow each footnote number, and the number 3 specifies that the footnote numbers are to be raised above the surrounding text and attached to the preceding words. The final argument could instead have the value 0 to select numbers which are neither attached nor raised, the value 1 to select raised numbers which are not attached, or the value 2 to select attached numbers which not raised. .le The _.DISPLAY FOOTNOTE command specifies the appearance of the numbers which are inserted at the start of each footnote. This command selects decimal numbers which are followed by periods but which are not attached to the first words in the footnotes. .le The _.INDENT FOOTNOTE command specifies the indentation of the first character of the first word in each footnote. The zero indentation requested here means that the first character of the first word is to be even with the left margin of the footnote if possible. .le The _.LEFT MARGIN command, since it appears while a footnote is being specified, sets the left margin in the current and following footnotes, but does not change the left margin in the surrounding text. .end list.left margin 0 .skip 2.left margin 0 .nofill.test page 6 .fill.left margin 0 .skip left page.right top title,,'>' .center;Chapter 4 .skip .center;Concise Descriptions of the Commands .right top title'Concise Descriptions of the Commands',,'>' .skip 3 .center;The Commands Listed in Alphabetical Order .center;--- -------- ------ -- ------------ ----- .skip .fill All of the commands which are recognized by FROFF are listed below. Each of these commands can be abbreviated by deletion of the rightmost letters of the word, or of the rightmost letters of the words in a multiple word command, providing that: .index command abbreviations>how formed .list 1 .le;the result cannot be interpreted as any other command or as the abbreviation of any other command, and .le;at least one letter is retained in each word if this word is part of a multiple word command and any letters are retained in any words to its right. .end list .skip The spaces between the words in a multiple word command are not necessary unless the first letter in the word following the space could also be taken as the first character deleted from the word preceding it. For example, _.FLAL is not an allowed abbreviation of _.FLAGS ALL, but _.FL AL is allowed. .skip Many commands have short synonyms which are not constructed by deletion of the rightmost letters in the words, or which are abbreviations which would be ambiguous were they not explicitly assigned meanings. These aliases are shown to the left of the full forms of the commands in the list below. Almost all of these aliases are identical to those allowed by RUNOFF. However, FROFF recognizes several multiple word commands which start with the letter T, and so cannot recognize the abbreviation _.T for _.TITLE, unless the first printing character in the title is not alphabetic or unless a _.FLAGS TEXT command has been issued so that apostrophes can be used to delimit the title. .index TITLE command>caution about alias of .index command aliases>list of .skip .nofill _.AX .APPENDIX rest of text on line Following text starts new appendix .skip.test page 2 _.AP .AUTO PARAGRAPH number1, number2, number3 Paragraphs are marked by blank lines or indentation .skip.test page 2 _.BB .BEGIN BAR Place change bar along left if .ENABLE BAR active .skip.test page 2 _.B .BLANK number Skip single spaced blank lines .skip.test page 2 _.BST .BOTTOM SUBTITLE 'phrase1','phrase2','phrase3' Specifies second line at bottom of page .skip.test page 2 _.BT .BOTTOM TITLE 'phrase1','phrase2','phrase3' Specifies first line at bottom of page .skip.test page 2 _.BR .BREAK No more text is to be added to current line .skip.test page 4 _.C .CENTER number1, number2 or _.C .CENTRE number1, number2 Center next line with original word spacing .skip.test page 4 _.CNF .CENTER NO FILL number1, number2 or _.CNF .CENTRE NO FILL number1, number2 Center lines with original word spacing .skip.test page 2 _.CH .CHAPTER rest of text on line Following text starts new chapter .skip.test page 2 _.CFN .COLLECT FOOTNOTES Hold footnotes until .DO FOOTNOTE or .PRINT FOOTNOTE .skip.test page 2 _.COM .COMMENT rest of text on line Ignore rest of current line .skip.test page 2 _.DBB .DISABLE BAR No change bar at left from .BEGIN BAR to .END BAR .skip.test page 2 _.DIX .DISABLE INDEX Disable addition of items to index .skip.test page 2 _.DAX .DISPLAY APPENDIX type Type of numbers identifying appendix .skip.test page 2 _.DCH .DISPLAY CHAPTER type Type of numbers identifying chapter .skip.test page 2 _.DLE .DISPLAY ELEMENT 'character', type, 'character' Type of numbers identifying items in list .skip.test page 2 _.DISPFN .DISPLAY FOOTNOTE'character',type,'character',number Type of numbers in footnote identifying footnote .skip.test page 2 _.DISPX .DISPLAY INDEX type Type of page numbers on pages containing index .skip.test page 2 _.DHL .DISPLAY LEVELS type1, type2, type3 etc. Types of numbers identifying level of header line .skip.test page 4 _.DNM .DISPLAY NUMBER type or _.DPG .DISPLAY PAGE type Type of page numbers on pages not containing index .skip.test page 2 _.DREF .DISPLAY REFERENCE'character',type,'character',number Type of numbers in text identifying footnote .skip.test page 2 _.DSP .DISPLAY SUBPAGE type Type of numbers identifying subpage .skip.test page 2 _.DFN .DO FOOTNOTES List collected footnotes starting on new page .skip.test page 2 _.DX .DO INDEX rest of text on line List index starting on new page .skip.test page 2 _.EBB .ENABLE BAR Mark change bar at left from .BEGIN BAR to .END BAR .skip.test page 2 _.EIX .ENABLE INDEX Enable addition of items to index .skip.test page 2 _.EB .END BAR Terminate change bar started by .BEGIN BAR .skip.test page 2 _.EFI .END FILE No more text is to be read from current file .skip.test page 2 _.EFN .END FOOTNOTE End footnote specification begun by .FOOTNOTE .skip.test page 2 _.ELS .END LIST End automatically numbered list begun by .LIST .skip.test page 2 _.EL .END LITERAL End unchanged copying of text begun by .LITERAL .skip.test page 2 _.ELO .END LOOP End repeating of source text begun by .LOOP .skip.test page 2 _.EN .END NOTE End embedded note begun by .NOTE .skip.test page 2 _.ESPL .END SPLICE End reading from second file requested by .SPLICE .skip.test page 2 _.ES .END SUBPAGE End subpage numbering requested by .SUBPAGE .skip.test page 2 _.Y .ENTRY rest of text on line Specifies line to be in index without page number .skip.test page 2 _.FAPG .FACING PAGE Start new page on facing side of paper .skip.test page 2 _.FG .FIGURE number Leave room for insertion at this point in text .skip.test page 2 _.FGD .FIGURE DEFERRED number Leave room for insertion after this point in text .skip.test page 2 _.F .FILL Accumulate words on each line until line overflows .skip.test page 2 _.FF .FIRST FORM Generate blank page at start .skip.test page 2 _.FT .FIRST TITLE Generate titles on first page if .HEADERS ON active .skip.test page 4 _.FL .FLAGS or _.FL .FLAGS ALL Allow most flag characters such as _^, _\, _& and __ .skip.test page 2 _.FLCA .FLAGS CAPITALIZE 'character' Change flag marking words to be capitalized .skip.test page 2 _.FLCOM .FLAGS COMMENT 'character' Change flag marking comments following commands .skip.test page 2 _.FLCON .FLAGS CONTROL 'character' Change flag marking commands .skip.test page 2 _.FLEC .FLAGS END COMMAND 'character' Change flag separating commands from text .skip.test page 2 _.FLEFN .FLAGS END FOOTNOTE 'character' Change flag terminating footnote specifications .skip.test page 2 _.FLHD .FLAGS HALF DOWN 'character' Change flag marking characters to be half line down .skip.test page 2 _.FLHU .FLAGS HALF UP 'character' Change flag marking characters to be half line up .skip.test page 2 _.FLX .FLAGS INDEX 'character' Change flag marking words to be indexed .skip.test page 2 _.FLLC .FLAGS LOWER CASE 'character' Change flag marking letters to be lower case .skip.test page 2 _.FLPG .FLAGS PAGE 'character' Change flag marking page number locations in titles .skip.test page 2 _.FLQ .FLAGS QUOTE 'character' Change flag marking nonflag use of flag characters .skip.test page 2 _.FLSP .FLAGS SPACE 'character' Change flag marking spaces to be included in words .skip.test page 2 _.FLSX .FLAGS SUBINDEX 'character' Change flag marking ends of lines in index entry .skip.test page 2 _.FLTE .FLAGS TEXT 'character' Change flags delimiting phrases as command arguments .skip.test page 2 _.FLUL .FLAGS UNDERLINE 'character' Change flags marking characters to be underlined .skip.test page 2 _.FLUC .FLAGS UPPER CASE 'character' Change flags marking letters to be capitalized .skip.test page 2 _.FN .FOOTNOTE Following text to .END FOOTNOTE specifies footnote .skip.test page 2 _.FNH .FOOTNOTE HEADER rest of text on line Specifies line of text above each group of footnotes .skip.test page 2 _.FNR .FOOTNOTE RULE 'character' Line of this character above each group of footnotes .skip.test page 2 _.FPG .FORCE PAGE Start new page after producing footnotes and figures .skip.test page 4 _.HD .HEADERS or _.HD .HEADERS ON Generate titles at top of second and following pages .skip.test page 2 _.HL .HEADER LEVEL number, rest of text on line Generate automatically numbered header line .skip.test page 2 _.IMFN .IMMEDIATE FOOTNOTES Generate footnotes on pages where referenced .skip.test page 2 _.I .INDENT number Indent next output line .skip.test page 2 _.ILS .INDENT ELEMENT number Indent start of .LIST ELEMENT item in range of .LIST .skip.test page 2 _.IFN .INDENT FOOTNOTE number Indent start of each footnote .skip.test page 2 _.ILV .INDENT LEVEL number Indent each header line specified by .HEADER LEVEL .skip.test page 2 _.INT .INDENT NOTE number1, number2, number3 Change first line indentation and margins of notes .skip.test page 2 _.X .INDEX rest of text on line Specifies line to be in index with page number .skip.test page 2 _.IPG .INITIAL PAGE Start new page not bearing titles at top or bottom .skip.test page 2 _.IW .INPUT WIDTH number Changes number of characters allowed in input line .skip.test page 2 _.JO .JOIN Attaches next word to preceding word .skip.test page 2 _.J .JUSTIFY Insert spaces between words for even right margins .skip.test page 2 _.LF .LAST FORM Generate blank page at end .skip.test page 2 _.LBST .LEFT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3' Specifies second line at bottom of left page .skip.test page 2 _.LBT .LEFT BOTTOM TITLE 'phrase1','phrase2','phrase3' Specifies first line at bottom of left page .skip.test page 2 _.LM .LEFT MARGIN number Changes left margin .skip.test page 2 _.LNF .LEFT NO FILL number1, number2 Left justify lines with original word spacing .skip.test page 2 _.LP .LEFT PAGE Start new page with left page titles .skip.test page 2 _.LTST .LEFT TOP SUBTITLE 'phrase1','phrase2','phrase3' Specifies second line at top of left page .skip.test page 2 _.LTT .LEFT TOP TITLE 'phrase1','phrase2','phrase3' Specifies first line at top of left page .skip.test page 2 _.LS .LIST number, 'up to 6 characters' Items in numbered list are marked by .LIST ELEMENT .skip.test page 2 _.LE .LIST ELEMENT Before each item in automatically numbered list .skip.test page 2 _.LT .LITERAL All lines, even initial period, are copied unchanged .skip.test page 2 _.LO .LOOP number Following source text is repeated several times .skip.test page 2 _.LC .LOWER CASE Capital letters are to be translated to lower case .skip.test page 2 _.MFG .MOVABLE FIGURE number Insert subsequent blank lines without breaking line .skip.test page 2 _.MPG .MOVABLE PAGE number Insert subsequent blank pages without breaking line .skip.test page 2 _.NAP .NO AUTO PARAGRAPH Blank lines or indentation do not mark new paragraph .skip.test page 2 _.NF .NO FILL number1, number2 Left justify lines with original word spacing .skip.test page 4 _.NFL .NO FLAGS or _.NFL .NO FLAGS ALL Most flag characters are used as ordinary characters .skip.test page 2 _.NFLCA .NO FLAGS CAPITALIZE No flag can mark words to be capitalized .skip.test page 2 _.NFLCOM .NO FLAGS COMMENT No flag can mark comments following commands .skip.test page 2 _.NFLCON .NO FLAGS CONTROL No flag can mark commands .skip.test page 2 _.NFLEC .NO FLAGS END COMMAND No flag can separate commands from text .skip.test page 2 _.NFLEFN .NO FLAGS END FOOTNOTE No flag can terminate footnote specifications .skip.test page 2 _.NFLHD .NO FLAGS HALF DOWN 'character' No flag can mark characters to be half line down .skip.test page 2 _.NFLHU .NO FLAGS HALF UP 'character' No flag can mark characters to be half line up .skip.test page 2 _.NFLX .NO FLAGS INDEX No flag can mark words to be indexed .skip.test page 2 _.NFLLC .NO FLAGS LOWER CASE No flag can mark letters to be lower case .skip.test page 2 _.NFLPG .NO FLAGS PAGE No flag can mark page number locations in titles .skip.test page 2 _.NFLQ .NO FLAGS QUOTE No flag can mark nonflag use of flag characters .skip.test page 2 _.NFLSP .NO FLAGS SPACE No flag can mark spaces to be included in words .skip.test page 2 _.NFLSX .NO FLAGS SUBINDEX No flag can mark ends of lines in index entry .skip.test page 2 _.NFLTE .NO FLAGS TEXT No flag can delimit phrases as command arguments .skip.test page 2 _.NFLUL .NO FLAGS UNDERLINE No flag can mark characters to be underlined .skip.test page 2 _.NFLUC .NO FLAGS UPPER CASE No flag can mark letters to be capitalized .skip.test page 2 _.NFNH .NO FOOTNOTE HEADER No line of text is above each group of footnotes .skip.test page 2 _.NHD .NO HEADERS No titles are placed at top of any pages .skip.test page 2 _.NJ .NO JUSTIFY No extra spaces are added between words on each line .skip.test page 2 _.NNM .NO NUMBER No page number is right of title specified by .TITLE .skip.test page 2 _.NNFN .NO NUMBER FOOTNOTE No serial numbers are inserted at start of footnotes .skip.test page 2 _.NOO .NO OFFSET No extra offset of entire output text .skip.test page 2 _.NPA .NO PAGING Page length is not enforced .skip.test page 2 _.NPR .NO PERIOD No extra spaces after sentences .skip.test page 2 _.NST .NO SUBTITLE Cancel 2nd line at top of each page .skip.test page 2 _.NTI .NO TITLE Cancel first line at top of each page .skip.test page 2 _.NULS .NO UNDERLINE SPACE Do not underline spaces between underlined words .skip.test page 2 _.NT .NOTE rest of text on line Single space following text and indent both sides .skip.test page 4 _.NM .NUMBER number or _.NMPG .NUMBER PAGE number Specifies number of next page .skip.test page 2 _.NMAX .NUMBER APPENDIX number Specifies number of next appendix .skip.test page 2 _.NMCH .NUMBER CHAPTER number Specifies number of next chapter .skip.test page 2 _.NMFN .NUMBER FOOTNOTE number Specifies that footnotes are to be serially numbered .skip.test page 2 _.NMLV .NUMBER LEVEL number1, number2, number3, etc. Specifies value of next numbered .HEADER LEVEL line .skip.test page 2 _.NMLS .NUMBER LIST number1, number2 Specifies value of next .LIST ELEMENT item in list .skip.test page 2 _.NMSPG .NUMBER SUBPAGE number Specifies value of next subpage .skip.test page 2 _.O .OFFSET number Specifies extra offset of entire output text .skip.test page 2 _.OLPG .OFFSET LEFT PAGE number Specifies extra offset of text on left pages .skip.test page 2 _.ORPG .OFFSET RIGHT PAGE number Specifies extra offset of text on right pages .skip.test page 2 _.OS .OPEN SPLICE Causes user to be asked for name of next splice file .skip.test page 2 _.PG .PAGE Start new page .skip.test page 2 _.PGL .PAGE LENGTH number Specifies maximum number of lines on a page .skip.test page 2 _.PS .PAGE SIZE number1, number2 Specifies length and width of page .skip.test page 2 _.PGW .PAGE WIDTH number Specifies number of characters across width of page .skip.test page 2 _.PA .PAGING Start new page whenever next line overflows page .skip.test page 2 _.P .PARAGRAPH number1, number2, number3 Following text starts new paragraph .skip.test page 2 _.PR .PERIOD Extra spaces are inserted after sentences .skip.test page 2 _.PFN .PRINT FOOTNOTES List collected footnotes continuing on current page .skip.test page 2 _.PX .PRINT INDEX rest of text on line List index continuing on current page .skip.test page 2 _.RE .RESET Restore most original settings except loop count .skip.test page 2 _.R .RIGHT number1, number2 Right justify next line with original word spacing .skip.test page 2 _.RBST .RIGHT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3' Specifies second line at bottom of right page .skip.test page 2 _.RBT .RIGHT BOTTOM TITLE 'phrase1','phrase2','phrase3' Specifies first line at bottom of right page .skip.test page 2 _.RM .RIGHT MARGIN number Specifies rightmost column if .FILL active .skip.test page 2 _.RNF .RIGHT NO FILL number1, number2 Right justify lines with original word spacing .skip.test page 2 _.RP .RIGHT PAGE Start new page with right page titles .skip.test page 2 _.RTST .RIGHT TOP SUBTITLE 'phrase1','phrase2','phrase3' Specifies second line at top of right page .skip.test page 2 _.RTT .RIGHT TOP TITLE 'phrase1','phrase2','phrase3' Specifies first line at top of right page .skip.test page 2 _.RU .RULE '1 or more characters', number1, number2 Rules a line between the indicated columns .skip.test page 2 _.SEQ .SEQUENCE 'characters' Specifies sorting order of characters in index .skip.test page 2 _.S .SKIP number Skip multiple spaced blank lines .skip.test page 2 _.SLP .SKIP LEFT PAGE Start new right page, generating left page if needed .skip.test page 2 _.SKPG .SKIP PAGE number Start new page after generating extra pages .skip.test page 2 _.SRP .SKIP RIGHT PAGE Start new left page, generating right page if needed .skip.test page 2 _.SPAX .SPACE APPENDIX number1, number2, number3 Change number of blank lines at start of appendix .skip.test page 2 _.SPB .SPACE BOTTOM number Change number of blank lines at bottom of page .skip.test page 2 _.SPCH .SPACE CHAPTER number1, number2, number3 Change number of blank lines at start of chapter .skip.test page 2 _.SPFN .SPACE FOOTNOTE number1, number2, number3 Change number of blank lines before footnotes .skip.test page 2 _.SPH .SPACE HEADER number1, number2 Change number of blank lines around header lines .skip.test page 2 _.SPX .SPACE INDEX number1, number2, number3, number4 Change number of blank lines at start of index .skip.test page 2 _.SPN .SPACE NOTE number1, number2, number3 Change number of blank lines around notes .skip.test page 2 _.SPT .SPACE TOP number1, number2, number3 Change number of blank lines at top of each page .skip.test page 2 _.SP .SPACING number Change spacing between lines .skip.test page 2 _.SPL .SPLICE number Insert text from second file .skip.test page 2 _.SD .STANDARD number Restores some original settings .skip.test page 2 _.STHL .STYLE HEADERS number1, number2, number3, number4 Changes capitalization and run-in of header lines .skip.test page 2 _.STX .STYLE INDEX number1, number2 Changes capitalization and format of index .skip.test page 2 _.SPG .SUBPAGE Start new subpage .skip.test page 2 _.ST .SUBTITLE rest of text on line Specifies second line at top of each page .skip.test page 2 _.TS .TAB STOPS number1, number2, number3, etc. Changes columns corresponding to tab characters .skip.test page 2 _.TL .TELL rest of text on line Types message on controlling terminal .skip.test page 2 _.TP .TEST PAGE number New page if not enough room for single spaced lines .skip.test page 2 _.TSP .TEST SPACING number New page if not enough room for multiple spaced lines .skip.test page 2 _.TI .TITLE rest of text on line Specifies first line at top of each page .skip.test page 2 _.TST .TOP SUBTITLE 'phrase1','phrase2','phrase3' Specifies second line at top of each page .skip.test page 2 _.TT .TOP TITLE 'phrase1','phrase2','phrase3' Specifies first line at top of each page .skip.test page 2 _.U .UNDERLINE Word or phrase on next line is to be underlined .skip.test page 2 _.ULS .UNDERLINE SPACE Underline spaces between words being underlined .skip.test page 2 _.UC .UPPER CASE Cases of alphabetic letters are retained .fill .left margin 0.fill .skip left page.right top title,,'>' .center;Chapter 5 .skip .center;Complete Descriptions of the Commands .right top title'Complete Descriptions of the Commands',,'>' .skip 3 .center;The Commands Listed in Alphabetical Order .center;--- -------- ------ -- ------------ ----- .skip .LEFT MARGIN 5 .test page 5.indent -5 _.APPENDIX rest of text on line .index APPENDIX command>definition .index appendix>start of .break The output text which is specified by the source lines which follow the _.APPENDIX command will start a new appendix. This text will be preceded by an output line bearing the word "APPENDIX" and the appendix letter (or number), and a second output line bearing the text which appears to the right of the _.APPENDIX command. The position of these lines on the page can be changed by issuing a _.SPACE APPENDIX command. .skip .test page 3 The text which appears to the right of the _.APPENDIX command will have been converted to upper case unless the header level at which upper case conversion takes place has been reduced below the section level by the _.STYLE HEADERS command. The text which appears to the right of the _.APPENDIX command will also replace the current title at the top of the second and subsequent pages of the appendix (the first page bears no title) unless the top title has been declared by some version of the _.TOP TITLE command. .index appendix>header line inserted into title .skip .test page 3 The page number will be reset to 1 at the start of each appendix and will be preceded by the appendix letter which will be increased by 1 letter in the alphabet for each appendix. The appendix letter will be A for the first appendix unless a _.NUMBER APPENDIX command has .index page number>prefix as appendix number been issued. A _.DISPLAY APPENDIX command can also be issued to cause the appendix identifier to be displayed in some form other than as an upper case alphabetic letter. .index appendix>page numbers .skip .test page 5.indent -5 _.AUTO PARAGRAPH number1, number2, number3 .index AUTO PARAGRAPH command>definition .break .index paragraph>start of .index paragraph>automatic The start of a new paragraph can be indicated in the source lines which follow the _.AUTO PARAGRAPH command either by one or more blank lines .index blank lines>in source indicate new paragraphs or by a line which starts with one or more spaces at the left end. .index indented lines>in source indicate new paragraphs The following source lines which start with a printing character other than a period in the left column will be included in the paragraph until another blank line or another line starting with a space is found. The automatic paragraphing will remain active until a _.NO AUTO .index automatic paragraphing>enabling PARAGRAPH command is issued. The arguments are the same as for the _.PARAGRAPH command. .skip.test page 5.indent -5 _.BEGIN BAR .index BEGIN BAR command>definition .entry bar>see change bar .index change bar>start of .entry vertical bar>in output, see change bar .break Providing that change bars are enabled, the following text, through the next appearance of an _.END BAR command, is to bear a change bar .entry marking new text>see change bars .entry new text>marking, see change bars at the left edge. Change bars are enabled by the _.ENABLE BAR command and are disabled by the _.DISABLE BAR command. Change bars are initially disabled. .skip .test page 3 .indent -5 _.BLANK number .index BLANK command>definition .break .index blank lines>insertion into output The specified number of extra single spaced blank lines are to be inserted into the output text. If no number is given, 1 is assumed. The _.SKIP command is similar, but gives the specified number of blank lines with the current interline spacing between them. Neither the _.BLANK nor the _.SKIP command is active at the top of a new output .index SKIP command>at top of page .index BLANK command>at top of page page. The _.FIGURE command can be used instead to generate blank lines at the start of the first page of output or after a new page has been requested by any of the various _.PAGE commands. .index FIGURE command>comparison with BLANK and SKIP commands .skip.test page 3 If the number appearing to the right of the _.BLANK command is negative or zero, then this number instead specifies the position of the next printed line relative to the bottom of the page if a bottom title or bottom .index skipping to known line on page subtitle has not been specified, or relative to the bottom margin if a bottom title and/or bottom subtitle has been specified. The absolute value of the number is the maximum number of lines which can be on the page below the next printed line. Either _.BLANK#0 or _.SKIP#0 would cause the next line of text to be at the bottom of the page. If the next printed line would already be at or below the specified position, then the _.BLANK command is ignored. The _.BLANK command is also currently ignored if the next printed line would be the first line on a new page, but a future version of FROFF should allow the position of the first line on a page to be specified in this manner. The position of the next printed line is stated relative to the bottom of the text above the bottom margin, instead of relative to the bottom of the page, so that only the page length, not the individual _.BLANK and _.SKIP commands, needs to be changed to maintain the same paging when a bottom title or subtitle is specified in a document which did not previously have titles or subtitles at the bottom of the pages. .skip.test page 3 _.BLANK 10 would cause the next printed line to be 10 lines lower on the page than it would otherwise have been. _.BLANK-10 would cause the next printed line to be the 11th line from the bottom of the page (that is, to be followed by 10 lines) if the next line would otherwise have been above the 11th line. .skip .test page 5.indent -5 _.BOTTOM SUBTITLE 'phrase1','phrase2','phrase3' .index BOTTOM SUBTITLE command>definition .break .index subtitle>at bottom of page Specifies the text to be in the subtitle line just below the title line at the bottom of each page. A > character, either alone or followed by the number zero, can be used to indicate any location in the subtitle where the current page number is desired. The > character should not be followed by any number other than zero. .skip .test page 3 Phrase1 is the word or phrase to be left justified in the subtitle line at the bottom of each page. .skip .test page 3 Phrase2 is the word or phrase to be centered in the subtitle line at the bottom of each page. .skip .test page 3 Phrase3 is the word or phrase to be right justified in the subtitle line at the bottom of each page. .skip .test page 3 These arguments are constructed similarly to those of the _.TOP TITLE command. The description of the _.TOP TITLE command should be consulted for more information. .skip .test page 3 The _.LEFT BOTTOM SUBTITLE command and the _.RIGHT BOTTOM SUBTITLE command can be used to specify different subtitles which are to appear at the bottoms of left pages and right pages respectively. The _.BOTTOM TITLE command or the combination of the _.LEFT BOTTOM TITLE command and the _.RIGHT BOTTOM TITLE command can be used to specify a bottom title which is to appear at the bottom of each page above the bottom subtitle. .skip .test page 3 No bottom subtitle is initially active. .skip .test page 5.indent -5 _.BOTTOM TITLE 'phrase1','phrase2','phrase3' .index BOTTOM TITLE command>definition .break .index title>at bottom of page Specifies the text to be in the title line at the bottom of each page. A > character, either alone or followed by the number zero, can be used to indicate any location in the title where the current page number is desired. The > character should not be followed by any number other than zero. .skip .test page 3 Phrase1 is the word or phrase to be left justified in the title line at the bottom of each page. .skip .test page 3 Phrase2 is the word or phrase to be centered in the title line at the bottom of each page. .skip .test page 3 Phrase3 is the word or phrase to be right justified in the title line at the bottom of each page. .skip .test page 3 These arguments are constructed similarly to those of the _.TOP TITLE command. The description of the _.TOP TITLE command should be consulted for more information. .skip .test page 3 The _.LEFT BOTTOM TITLE command and the _.RIGHT BOTTOM TITLE command can be used to specify different titles which are to appear at the bottoms of left pages and right pages respectively. The _.BOTTOM SUBTITLE command or the combination of the _.LEFT BOTTOM SUBTITLE command and the _.RIGHT BOTTOM SUBTITLE command can be used to specify a bottom subtitle which is to appear at the bottom of each page below the bottom title. .skip .test page 3 No bottom title is initially active. .skip .test page 4 .indent -5 _.BREAK .index BREAK command>definition .break No additional text is to be included in the line of text currently being accumulated while a _.FILL command is active. The line currently being accumulated will be output without right justification. The .index terminating current output line .index end of current output line .index break between output lines following lines of source text will begin the specification of a new output line. .skip .test page 7.indent -5 _.CENTER number1, number2 .index CENTER command>definition .break or .indent -5 _.CENTRE number1, number2 .entry CENTRE command>synonym of CENTER command .break NOTE: The _.CENTER NO FILL command should be used instead of the _.CENTER command if the text on the following line or lines is to be centered between the current left and right margins. .skip.test page 3 The _.CENTER command causes the next line or lines of source text which are not commands to be centered between the left and right edges of the output pages. Each of the lines which is centered is copied without .index centering>on page width changing the number of words on the line and without changing the number of spaces before and between the words on the line. .skip .test page 3 Number1 specifies the horizontal placement of the next line or lines of text on the page. If number1 is missing, then the _.CENTER command causes the contents of the next line or lines of text to be centered between the left edge of the page and the rightmost column which has ever been declared as a right margin. If number1 is present and unsigned, then the _.CENTER command causes the next line or lines of text to be centered between the left edge of the page and the column indicated by number1. If number1 is present and signed, then the _.CENTER command causes the next line or lines of text to be centered between the left edge of the page and number1 added to the rightmost column which has ever been declared as a right margin. As a result, if number1 is signed, then the next line or lines of text are shifted by half of that number of columns to the right of the center position if the number is positive or to the left if the number is negative. .skip .test page 3 Number2, if present, is the number of following lines of source text, not counting those which contain only other commands, which are to be centered in the output. Only a single line of source text is centered if number2 is absent. .skip.test page 3 The first argument of the _.CENTER command is interpreted quite differently from that of the _.RIGHT command. These arguments, however, are interpreted in the same manner as by the RUNOFF program which FROFF emulates. The interpretations of the arguments of the _.LEFT NO FILL, _.CENTER NO FILL and _.RIGHT NO FILL commands are consistent among themselves, but are not consistent with the interpretations of the arguments of either the _.CENTER or _.RIGHT commands. These differences are listed below. .skip .nofill.test page 5 _.LEFT NO FILL or _.NO FILL .index NO FILL command>comparison with other NO FILL commands left justifies at left margin unsigned first argument is column at left end - signed first argument shifts left by value + signed first argument shifts right by value .test page 6 _.CENTER .index CENTER command>comparison with other NO FILL commands centers between left and right edges of page first argument gives half of the expected shift unsigned first argument centers at 1/2 that column - signed first argument shifts left by 1/2 value + signed first argument shifts right by 1/2 value .test page 5 _.CENTER NO FILL .index CENTER NO FILL command>comparison with other NO FILL commands centers between left and right margins unsigned first argument centers at that column - signed first argument shifts left by value + signed first argument shifts right by value .test page 5 _.RIGHT .index RIGHT command>comparison with other NO FILL commands right justifies at right margin first argument gives shift in unexpected direction - signed first argument shifts right by value + or unsigned first argument shifts left by value .test page 5 _.RIGHT NO FILL .index RIGHT NO FILL command>comparison with other NO FILL commands right justifies at right margin unsigned first argument is column at right end - signed first argument shifts left by value + signed first argument shifts right by value .fill .skip.left margin 5.test page 7.indent -5 _.CENTER NO FILL number1, number2 .index CENTER NO FILL command>definition .break or .indent -5 _.CENTRE NO FILL number1, number2 .entry CENTRE NO FILL command>synonym of CENTER NO FILL .break .index centering>between margins The _.CENTER NO FILL command causes the next line or lines of source text which are not commands to be centered in the output. Each of the lines which is centered is copied without changing the number of words on the line and without changing the number of spaces before and between the words on the line. The arguments are similar to those of the _.LEFT NO FILL and _.RIGHT NO FILL commands. .skip.test page 3 Number1 specifies the horizontal placement of the next line or lines of text on the page. If number1 is missing, then the lines of text .index margins>centering between are centered between the current left and right margins. If number1 is signed, then the lines of text are shifted to the right by the indicated number of columns from the midpoint between the current left and right margins if the number is positive, or to the left if the number is negative. If number1 is unsigned, then the lines of text are centered about the column indicated by number1. .skip.test page 3 Number2, if present, is the number of following lines of source text, not counting those which contain only other commands, which are to be centered in the output. If number2 is missing, then the following lines of source text which are not commands are centered in the output text until a subsequent _.FILL command is issued, or until a subsequent _.NO FILL, _.LEFT NO FILL, _.CENTER NO FILL or _.RIGHT NO FILL command is issued without a second argument. .skip.test page 5.indent -5 _.CHAPTER rest of text on line .index chapter>start of .index CHAPTER command>definition .break The output text which is specified by the source lines which follow the _.CHAPTER command will start a new chapter. This text will be preceded by an output line bearing the word "CHAPTER" and the chapter number (or letter), and a second output line bearing the text which appears to the right of the _.CHAPTER command. The position of these lines on the page can be changed by issuing a _.SPACE CHAPTER command. .SKIP .test page 3 The text which appears to the right of the _.CHAPTER command will have been converted to upper case unless the header level at which upper case conversion takes place has been reduced below the section level by the _.STYLE HEADERS command. The text which appears to the right of the _.CHAPTER command will also replace the current title at the top of the second and subsequent pages of the chapter (the first page .index chapter>header line inserted into title bears no title) unless the top title has been declared by some version of the _.TOP TITLE command. .skip .test page 3 The page number will be reset to 1 at the start of each chapter and will be preceded by the chapter number which will be increased by 1 for each chapter. The chapter number will be 1 for the first chapter .index page number>prefix as chapter number unless a _.NUMBER CHAPTER command has been issued. A _.DISPLAY CHAPTER command can also be issued to cause the chapter identifier to be displayed in some form other than as a decimal number. .index chapter>page numbers .skip .test page 5.indent -5 _.COLLECT FOOTNOTES .index COLLECT FOOTNOTES command>definition .break Footnotes are to be collected and printed together when the next _.DO .index footnote>collecting for printing at end of document FOOTNOTE or _.PRINT FOOTNOTE command is encountered. The only difference between the _.DO FOOTNOTE and the _.PRINT FOOTNOTE commands is that the _.DO FOOTNOTE command causes the footnotes to be printed starting on a new page while the _.PRINT FOOTNOTE command does not. Footnotes are instead printed at the bottoms of the pages in which the footnotes are specified if a _.COLLECT FOOTNOTES command has not been issued or if an _.IMMEDIATE FOOTNOTES command has been issued more recently than a _.COLLECT FOOTNOTES command. .skip .test page 5.indent -5 _.COMMENT rest of text on line .index COMMENT command>definition .break Causes the remainder of the line to be ignored even if this contains .index commenting out line in input file other commands or a semicolon. .skip.test page 5.indent -5 _.DISABLE BAR .index DISABLE BAR command>definition .BREAK .index change bar>disabling Change bars are not to be marked at the left edge of lines which follow a _.BEGIN BAR command. If an _.ENABLE BAR command has been active, but no extra offset has been applied either by the _.OFFSET command or by an offset explicitly invoked by the user, then the _.ENABLE BAR .index offset>reduced when disabling change bar command applied a small offset to allow room for change bars, and the _.DISABLE BAR command removes this offset. Change bars are initially disabled. .skip .test page 5.indent -5 _.DISABLE INDEX .index DISABLE INDEX command>definition .break Prevents the addition of any more items to the index until a subsequent _.ENABLE INDEX command is issued. Any items already inserted into .index index>disabling the index will be sorted and printed when a subsequent _.DO INDEX or _.PRINT INDEX command is issued. Subsequent _.INDEX and _.ENTRY commands will be ignored. If a _.FLAGS INDEX command has been issued .index INDEX command>ignored after DISABLE INDEX command .index ENTRY command>ignored after DISABLE INDEX command more recently than a _.NO FLAGS INDEX command, then the words marked by subsequent appearances of the index flag character in the source text will likewise not be inserted into the index. If a index flag character is active, then its appearances in the source text will not .index index flag>ignored after DISABLE INDEX command be copied into the resulting document regardless of whether an _.ENABLE INDEX command or a _.DISABLE INDEX command has been issued the most recently. .SKIP.test page 3 Index construction is extremely slow. Use of the _.DISABLE INDEX command can greatly speed the processing of a document which specifies an index. Indexing is initially enabled. .skip .test page 5.indent -5 _.DISPLAY APPENDIX type .index DISPLAY APPENDIX command>definition .break (where type is D for decimal, O for octal, H for hexadecimal, RU for Roman upper case, RL for Roman lower case, RM for Roman mixed case, LU for letters upper case, LL for letters lower case or LM for letters mixed case) .skip .test page 3 Causes the appendix numbers to be generated in the indicated system. .index appendix>system used for representing appendix number .index page number>prefix as appendix number The appendix numbers appear to the right of the word APPENDIX on the first line of the first page of the appendix, and are used as prefixes to the page numbers on the second and subsequent pages of the appendix. .SKIP _.DISPLAY APPENDIX LU is the default. .skip .test page 5.indent -5 _.DISPLAY CHAPTER type .index DISPLAY CHAPTER command>definition .break (where type is D for decimal, O for octal, H for hexadecimal, RU for Roman upper case, RL for Roman lower case, RM for Roman mixed case, LU for letters upper case, LL for letters lower case or LM for letters mixed case) .skip .test page 3 Causes chapter numbers to be generated in the indicated system. The chapter numbers appear to the right of the word CHAPTER on the first line of the first page of the chapter, and are used as prefixes to the page numbers on the second and subsequent pages of the chapter. .index chapter>system used for representing chapter number .index page number>prefix as chapter number .SKIP _.DISPLAY CHAPTER D is the default. .skip .test page 5.indent -5 _.DISPLAY ELEMENT 'character', type, 'character' .index DISPLAY ELEMENT command>definition .break (where type is D for decimal, O for octal, H for hexadecimal, RU for Roman upper case, RL for Roman lower case, RM for Roman mixed case, LU for letters upper case, LL for letters lower case or LM for letters mixed case) .skip .test page 3 Causes the numbers which identify the items specified by _.LIST ELEMENT .index automatically numbered list>system used for representing numbers commands at the current list depth to be generated in the indicated system. The current list depth is the number of lists which have been enabled by _.LIST commands but which have not yet been disabled by following _.END LIST commands. The _.DISPLAY ELEMENT command does not modify the numbers which identify the items in an outer list inside which the current list is embedded, and does not modify the numbers which identify the items in a list later declared inside the current list. .skip.TEST PAGE 3 If the first character is given, then it precedes each of the numbers at the current list depth. If the final character is given, then it follows each of the numbers at the current list depth. The characters previously selected to appear on both sides of these numbers will continue to be used if the _.DISPLAY ELEMENT command is issued but does not respecify either character. The character will be cleared if it is respecified as an null character indicated by 2 adjacent apostrophes, or if it is not respecified when the character to be used on the other side of the numbers is respecified. .skip _.DISPLAY ELEMENT,D,'.' is the default. .skip .test page 5 .left margin 5 .indent -5 _.DISPLAY FOOTNOTE 'character', type, 'character', number .index DISPLAY FOOTNOTE command>definition .break (where type is D for decimal, O for octal, H for hexadecimal, RU for Roman upper case, RL for Roman lower case, RM for Roman mixed case, LU for letters upper case, LL for letters lower case or LM for letters mixed case) .skip .test page 3 Causes the serial numbers which are inserted into the start of footnotes .index footnote>automatically generated numbers to be generated in the indicated system. Such numbers are generated only if a _.NUMBER FOOTNOTE command has been issued more recently than a _.NO NUMBER FOOTNOTE command. A _.DISPLAY REFERENCE command, rather than a _.DISPLAY FOOTNOTE command, would be issued to modify the numbers which are inserted into the output text at the locations at which the footnotes are defined in the source text. .skip.TEST PAGE 3 If the first character is given, then it precedes each of the numbers which are inserted at the start of the footnotes. If the final character is given, then it follows each of the numbers which are inserted at the start of the footnotes. The characters previously selected to appear on both sides of these numbers will continue to be used if the _.DISPLAY FOOTNOTE command is issued but does not respecify either character. The character will be cleared if it is respecified as an null character indicated by 2 adjacent apostrophes, or if it is not respecified when the character to be used on the other side of the numbers is respecified. .skip.TEST PAGE 3 The number, if present following the _.DISPLAY FOOTNOTE command, specifies whether the serial number which is inserted at the start .index superscript footnote numbers .index footnote number>superscript of each footnote is to be shifted half a line above the ordinary text, and whether the serial number is to be attached to the first word in the footnote. If the number is not present following the _.DISPLAY FOOTNOTE command, then the shift and attachment specified by the previously issued _.DISPLAY FOOTNOTE command continue to be applied, or else no shift and no attachment are performed if a _.DISPLAY FOOTNOTE command has not been issued previously. .skip.test page 3 Number = 0, gives serial numbers which are not shifted above the ordinary text and which are not attached to the following words. .break.test page 3 Number = 1, gives serial numbers which are shifted half a line above the ordinary text, but which are not attached to the following words. .break.test page 3 Number = 2, gives serial numbers which are attached to the following words, but which are not shifted above the ordinary text. .break.test page 3 Number = 3, gives serial numbers which are shifted half a line above the ordinary text and which are attached to the following words. .skip.TEST PAGE 3 _.DISPLAY FOOTNOTE'',D,'.',0 would cause the serial number inserted at the start of each footnote to be followed by a single period, and be on the same line as, but not attached to, the first word in the footnote. .SKIP.TEST PAGE 3 _.DISPLAY FOOTNOTE'',D,'',3 would cause the serial number inserted at the start of each footnote to be to the upper left of, and attached to, the first word in the footnote, but without any extra enclosing characters. .SKIP.TEST PAGE 3 If a _.NUMBER FOOTNOTE command has been issued, but a _.DISPLAY FOOTNOTE command has not been issued, then the serial number which is inserted at the start of each footnote will be a decimal number enclosed between left and right square brackets, on the same line as the ordinary text, but not attached to the first word in the footnote. This notation could also be selected by a _.DISPLAY FOOTNOTE'[',D,']',0 command. .skip .test page 5.indent -5 _.DISPLAY INDEX type .index DISPLAY INDEX command>definition .break (where type is D for decimal, O for octal, H for hexadecimal, RU for Roman upper case, RL for Roman lower case, RM for Roman mixed case, LU for letters upper case, LL for letters lower case or LM for letters mixed case) .skip .test page 3 Causes the page numbers in an index constructed by the _.DO INDEX command to be generated in the indicated system. Page numbers in an index constructed by the _.PRINT INDEX command are generated in the system selected by the _.DISPLAY NUMBER command. .SKIP _.DISPLAY INDEX D is the default. .skip .test page 5.indent -5 _.DISPLAY LEVELS type1, type2, type3 etc. .index DISPLAY LEVELS command>definition .break (where type is D for decimal, O for octal, H for hexadecimal, RU for Roman upper case, RL for Roman lower case, RM for Roman mixed case, LU for letters upper case, LL for letters lower case or LM for letters mixed case) .skip .test page 3 .index subsection header>system used for representing numbers Causes the numbers which are separated by periods in the representations of the values of the subsection headings specified by the _.HEADER LEVEL command to be displayed in the indicated systems. The types of all of these numbers can be set by a single command. The _.DISPLAY LEVELS command can be followed by up to 6 type specifications, this being the maximum header level depth. Type1 specifies the system used to specify the leading number in the series, type2 specifies the system used to specify the number appearing after the first period, and so on. The types of any numbers in the series which are not specified are left unchanged. .SKIP _.DISPLAY LEVELS D,D,D,D,D,D is the default. .skip .test page 7.indent -5 _.DISPLAY NUMBER type .index DISPLAY NUMBER command>definition .break or .indent -5 _.DISPLAY PAGE type .index DISPLAY PAGE command>definition .BREAK (where type is D for decimal, O for octal, H for hexadecimal, RU for Roman upper case, RL for Roman lower case, RM for Roman mixed case, LU for letters upper case, LL for letters lower case or LM for letters mixed case) .skip .test page 3 Causes the page numbers to be generated in the indicated system. _.DISPLAY NUMBER D is the default, such that the tenth page would be numbered 10. .skip .test page 5 .left margin 5 .indent -5 _.DISPLAY REFERENCE 'character', type, 'character', number .index DISPLAY REFERENCE command>definition .break (where type is D for decimal, O for octal, H for hexadecimal, RU for Roman upper case, RL for Roman lower case, RM for Roman mixed case, LU for letters upper case, LL for letters lower case or LM for letters mixed case) .skip .test page 3 .index footnote>automatically generated numbers .index footnote number>system used for representing numbers Causes the serial numbers which are inserted into the output text at the locations at which the footnotes are defined in the source text to be generated in the indicated system. Such numbers are generated only if a _.NUMBER FOOTNOTE command has been issued more recently than a _.NO NUMBER FOOTNOTE command. A _.DISPLAY FOOTNOTE command, rather than a _.DISPLAY REFERENCE command, would be issued to modify the numbers which are inserted at the start of each footnote. .skip.TEST PAGE 3 If the first character is given, then it precedes each of the numbers which are inserted into the output text. If the final character is given, then it follows each of the numbers which are inserted into the output text. The characters previously selected to appear on both sides of these numbers will continue to be used if the _.DISPLAY REFERENCE command is issued but does not respecify either character. The character will be cleared if it is respecified as an null character indicated by 2 adjacent apostrophes, or if it is not respecified when the character to be used on the other side of the numbers is respecified. .skip.TEST PAGE 3 The number, if present following the _.DISPLAY REFERENCE command, specifies whether the serial number which is inserted into the output text is to be shifted half a line above the ordinary text, and whether .index footnote number>superscript .index superscript footnote numbers the serial number is to be attached to the last word in the preceding text. If the number is not present following the _.DISPLAY REFERENCE command, then the shift and attachment specified by the previously issued _.DISPLAY REFERENCE command continue to be applied, or else no shift and no attachment are performed if a _.DISPLAY REFERENCE command has not been issued previously. .skip.test page 3 Number = 0, gives serial numbers which are not shifted above the ordinary text and which are not attached to the previous words. .break.test page 3 Number = 1, gives serial numbers which are shifted half a line above than the ordinary text, but which are not attached to the previous words. .break.test page 3 Number = 2, gives serial numbers which are attached to the previous words, but which are not shifted above the ordinary text. .break.test page 3 Number = 3, gives serial numbers which are shifted half a line above the ordinary text and which are attached to the previous words. .SKIP.TEST PAGE 3 _.DISPLAY REFERENCE'',D,'',3 would cause each serial number inserted into the output text to be a decimal number placed to the upper right of, and attached to, the previous word, but without any extra enclosing characters. .SKIP.TEST PAGE 3 If a _.NUMBER FOOTNOTE command has been issued, but a _.DISPLAY REFERENCE command has not been issued, then the serial number which is inserted into the output text will be a decimal number enclosed between left and right square brackets, on the same line as the ordinary text, but not attached to the preceding word. This notation could also be selected by a _.DISPLAY REFERENCE'[',D,']',0 command. .skip.test page 5.indent -5 _.DISPLAY SUBPAGE type .index DISPLAY SUBPAGE command>definition .break (where type is D for decimal, O for octal, H for hexadecimal, RU for Roman upper case, RL for Roman lower case, RM for Roman mixed case, LU for letters upper case, LL for letters lower case or LM for letters mixed case) .skip .test page 3 .index page number>suffix as subpage number .index subpaging>system used for representing subpage suffix Causes the subpage numbers to be generated in the indicated system. Subpage numbers appear as suffixes to the page numbers after a _.SUBPAGE command has been issued. _.DISPLAY SUBPAGE LU is the default, such that the fifth subpage of page 10 would be numbered 10E. .skip .test page 5.indent -5 _.DO FOOTNOTES .index DO FOOTNOTES command>definition .break Footnotes being held by a previous _.COLLECT FOOTNOTES command are to be generated now. The list of footnotes will begin on a new page, and will be followed by a new page. The _.PRINT FOOTNOTES command should be used instead if the list of footnotes is not to begin on a new page. Neither the _.DO FOOTNOTES command nor the _.PRINT .index footnote>generating collected .index PAGE command>implied before footnotes FOOTNOTES command implies an _.IMMEDIATE FOOTNOTES command. If a _.COLLECT FOOTNOTES command is active and if more footnotes are specified following the _.DO FOOTNOTES command or the _.PRINT FOOTNOTES command, then a subsequent _.DO FOOTNOTES command or a _.PRINT FOOTNOTES command will have to be issued to cause them to be printed. .skip .test page 5.indent -5 _.DO INDEX rest of text on line .index DO INDEX command>definition .break An index is to be constructed, starting on a new page, with the first page number being reset to 1, and with the word Index to the left of the page numbers. The title and subtitle, if any, will be the same as in the preceding document. The _.PRINT INDEX command should be .index index>generating .index PAGE command>implied before index used instead if the page numbering is to continue the page numbering in the preceding document. If items have been placed into the index storage by either the _.INDEX command or by the index flag (assuming that a _.FLAGS INDEX command has been given), Then a _.DO INDEX command is assumed at the end of the document if neither a _.DO INDEX command nor a _.PRINT INDEX command is issued. If text is specified to the right of the _.DO INDEX command, then this text is centered at the top of the first page of the index. .skip.test page 5.indent -5 _.ENABLE BAR .index ENABLE BAR command>definition .break Change bars are to be marked at the left edge of lines which follow a _.BEGIN BAR command. If no extra offset has been applied either .index change bar>enabling .index offset>increased when enabling change bar by the _.OFFSET command or by an offset explicitly invoked by the user, then a small offset will be applied to allow room for change bars. .skip.test page 5.indent -5 _.ENABLE INDEX .index ENABLE INDEX command>definition .break Enables the insertion of additional items into the index until a subsequent _.DISABLE INDEX command is issued. Items to be inserted .index index>enabling into the index can be specified by the _.INDEX command or by the _.ENTRY command. If a _.FLAGS INDEX command has been issued more recently than a _.NO FLAGS INDEX command, then individual words which are to be inserted into the index can also be marked with the index flag character. .skip.test page 3 Construction of an index is extremely slow. Use of the _.DISABLE INDEX command can greatly speed the processing of a document which specifies an index. If a index flag character is active, then its appearances in the source text will not be copied into the resulting document regardless of whether an _.ENABLE INDEX command or a _.DISABLE INDEX command has been issued the most recently. Any items already inserted into the index when the _.DISABLE INDEX command is issued will be sorted and printed when a subsequent _.DO INDEX or _.PRINT INDEX command is issued. Indexing is initially enabled. .skip.test page 5.indent -5 _.END BAR .index END BAR command>definition .break The following text is not to bear a change bar at the left edge. The .index change bar>end of _.END BAR command terminates a bar which might have been begun by a _.BEGIN BAR command. The _.END BAR command does not remove the offset which an _.ENABLE BAR command might have applied to allow room for change bars. .skip .test page 5.INDENT -5 _.END FILE .index END FILE command>definition .BREAK Indicates that no more text is to be read from the file in which it .index file>end of input appears. Not necessary if the entire file is to be processed. .skip.test page 5.indent -5 _.END FOOTNOTE .index END FOOTNOTE command>definition .break Terminates the specification of a footnote begun by a preceding _.FOOTNOTE command. Footnotes can also be terminated by the appearance of an exclamation point, or whatever character has been specified by .index footnote>end of a _.FLAGS END FOOTNOTE command, in column 1. If the footnote is terminated by an exclamation point in column 1, then column 2 is treated as the initial column of the line. .skip.test page 5.indent -5 _.END LIST .index END LIST command>definition .break Terminates the specification of an automatically numbered list begun .index automatically numbered list>end of .entry numbered list>see automatically numbered list .entry list>see automatically numbered list by a preceding _.LIST command. The left and right margins, and the interline spacing, are restored to the values which they had when the _.LIST command was issued. .skip.test page 5.indent -5 _.END LITERAL .index END LITERAL command>definition .break Terminates the specification of a section of text which is to be copied .index literal section>end of literally without change of flag characters. This section of text will have been begun by a _.LITERAL command. The _.END LITERAL command is the only command which is recognized within the range of a _.LITERAL command. The _.END LITERAL command can be in either upper or lower case or a mixture of these, but must not itself incorporate flag characters. .skip .test page 5.indent -5 _.END LOOP .index END LOOP command>definition .break If in the main input file, indicates that the text starting after the .index loop>end of .index form letter>end of preceding _.LOOP command and extending up to the _.END LOOP command is to be processed the number of times indicated by the _.LOOP command. If in the splice file, terminates the processing of the text being repeated in the main input file. A _.RESET command should appear either at the start or at the end of the loop if the _.LOOP command is used to construct form letters. .skip.test page 5.indent -5 _.END NOTE .index END NOTE command>definition .break Terminates the specification of a note begun by a preceding _.NOTE .index embedded note>end of .entry note>see embedded note .entry indented note>see embedded note .entry quotation>see embedded note .entry indented quotation>see embedded note command. The left and right margins, the interline spacing, and whether a _.FILL or a _.NO FILL command is active, are restored to the values which they had when the _.NOTE command was issued. .skip .test page 5.indent -5 _.END SPLICE .index END SPLICE command>definition .index splice file>terminating reading from .break Ignored if in the main source file. In the splice file, terminates .index splice>end of reading of text from the splice file. A subsequent _.SPLICE command in the main source file would, however, resume reading of the same splice file. .skip.test page 5.indent -5 _.END SUBPAGE .index END SUBPAGE command>definition .break Terminates the specification of the contents of a sequence of subpages begun by a preceding _.SUBPAGE command. The page number on the next .index subpaging>end of page will not bear a subpage letter suffix. If either a footnote or deferred figure which is too long to fit onto the current page could have been specified before the _.END SUBPAGE command, and if it is necessary to include the continuation of the footnote or the deferred figure on pages which bear subpage suffixes, then a _.FORCE PAGE command should be issued before the _.END SUBPAGE command. To cause the start of a new subpage within a sequence of subpages, either a _.PAGE or a _.SUBPAGE command should be issued, not an _.END SUBPAGE command. .skip.test page 5.indent -5 _.ENTRY rest of text on line .index ENTRY command>definition .break The line of text specified by the _.ENTRY command is to be inserted into the index. No number will be shown to the right of the line of text. The first character in the line of text being placed into the .index index>insertion of phrases into without page numbers index will be converted to upper case unless it is preceded by an underscore or by a back slash. The _.INDEX command should be issued instead if the page number in the output text corresponding to the location in the source text at which the command was issued is to be shown to the right of the line of text. .skip.test page 5.indent -5 _.FACING PAGE .index FACING PAGE command>definition .break .index page>causing next to be on following side The text which is specified by the subsequent source lines will be placed on a new page which will be on the side of the paper immediately following the previous page in a document which is printed on both sides of the paper, regardless of whether the page number on the new page is odd or even. The new page will be a left page if the previous page was a right page, or will be a right page if the previous page was a left page. As with the _.LEFT PAGE and _.RIGHT PAGE commands, the page number of the new page establishes the association of odd and even page numbers with the particular sides of the paper for the subsequent pages. The _.NUMBER command which establishes the page number of the new page should be issued immediately after the _.FACING PAGE command. The _.FACING PAGE command is equivalent to a _.PAGE command if the page numbering scheme is not changed. The _.FACING PAGE command is equivalent to a _.LEFT PAGE command if the current page is a right page and the page numbers are changed before the next page such that it would also be a right page. .skip.test page 3 If none of the commands _.LEFT PAGE, _.RIGHT PAGE nor _.FACING PAGE have been issued, then pages which are not being chapter numbered are assigned as right and left pages according to whether the page numbers are odd and even, respectively. (This assignment is reversed if a _.RIGHT PAGE command or a _.FACING PAGE command .index left page>definition of .index right page>definition of .index page side>definition of .index odd page numbers>page side based on .index even page numbers>page side based on has been issued when a left page would otherwise have been generated, or vice versa, or if a odd number of subpages has been generated.) Changing the page number of the next page by issuing the .NUMBER command does not change this association of right and left pages with odd and even page numbers. If the page numbers are reset to 1 by a _.NUMBER#1 command at the start of a new section but a _.CHAPTER or an _.APPENDIX command is not used, for example, if an introduction with Roman page numbers is to precede an ordinary section with Arabic page numbers, then each new page one will be a right page. The _.NUMBER#1 command should be preceded by a _.FACING PAGE command if the new page one is instead to be on the side of the paper immediately following the previous page in a document which is printed on both sides of the paper. Using either a _.LEFT PAGE or _.RIGHT PAGE command to establish the page side of the new page when the following page side is desired would mean that the command would have to be changed whenever the number of preceding pages changes. .skip.test page 5.indent -5 _.FIGURE number .index FIGURE command>definition .BREAK .index blank lines>insertion into output The line of text currently being constructed is terminated and written into the resulting document, then the indicated number of single spaced .index figure>reserving space immediately with break blank lines are produced. If there is not enough room on the current page for these blank lines, then they will all appear at the top of a new page, and the text on the lines following the _.FIGURE command will specify the text which appears below the blank lines on the new page. .SKIP .test page 3 The _.FIGURE command is equivalent to the combination of a _.TEST PAGE command and a _.MOVABLE FIGURE command. The _.MOVABLE FIGURE command used by itself does not break the construction of the current line, and if there is not enough room on the current page for the blank lines specified by the _.MOVABLE FIGURE command, then the text on the source lines following the _.MOVABLE FIGURE command will continue to define the text on the current page and the blank lines will be inserted at the top of the next page when some circumstance other than the issuing of the _.MOVABLE FIGURE command causes a new page to be generated. .skip .test page 3 The _.SKIP PAGE command or the _.MOVABLE PAGE command should be used instead of the _.FIGURE command or the _.MOVABLE FIGURE command respectively if one or more completely empty pages are to be generated. .skip.test page 5.indent -5 _.FIGURE DEFERRED number .index FIGURE DEFERRED command>definition .break .index deferred figure>with implied BREAK command .index blank lines>insertion into output .index figure>reserving space later with break The _.FIGURE DEFERRED command terminates the line of text currently being constructed and writes this line into the resulting document. The indicated number of single spaced blank lines are then produced. If there is not enough room on the current page for these blank lines, then the text on the source lines following the _.FIGURE DEFERRED command will start a new output line which will follow the previous line on the current page, and the blank lines will be inserted at the top of the next page when some circumstance other than the issuing of the _.FIGURE DEFERRED command causes a new page to be generated. .skip .test page 3 The _.FIGURE DEFERRED command is equivalent to the use of a _.BREAK command either before or after a .MOVABLE FIGURE command. The _.FIGURE DEFERRED command is similar to the _.FIGURE command, but if there is not enough room on the current page for the blank lines, then the _.FIGURE command will generate a new page and insert the blank lines on this new page and the text on the lines following the _.FIGURE command will define the text below the inserted blank lines on the new page. .index FIGURE command>comparison with _.FIGURE DEFERRED command .skip.test page 3 The _.FIGURE command should be used instead of the _.FIGURE DEFERRED command if no other text can appear in the output between the text already on the output page and the blank lines which are generated by the command. The _.MOVABLE FIGURE command should be used instead of the _.FIGURE DEFERRED command if the issuing of the command is not to terminate the line of output text being constructed when the command is issued. .skip .test page 5 .indent -5 _.FILL .index FILL command>definition .break The lines of output text are to be filled with the next words which appear in the source text until the following word would extend beyond the current right margin, or until a _.BREAK command or any command .index wrap-around>of lines .index word>allowing wrap-around of which implies a _.BREAK command is encountered. If the first word is wider than the current separation between the left and right margins, then the entire word is fitted onto the current line. Opposite of _.NO FILL, which causes the contents of the lines of source text to be copied into the output without changing the number of words per line and without changing the spacings before and between words. _.FILL is the default. The _.FILL command is sometimes confused with the _.JUSTIFY command, although the latter merely causes the insertion of extra spaces between words to produce even right margins when a _.FILL command is active. .skip .test page 5.indent -5 _.FIRST FORM .index FIRST FORM command>definition .break .index form feed>at start of document .index blank page>at start of document A form feed (a completely blank page without titles or text) is to be generated before the first line of output on the first page. .skip.test page 5.indent -5 _.FIRST TITLE .index FIRST TITLE command>definition .BREAK If issued at the start of the source file, then the first page of output .index title>allowing on first page .index page>treating as subsequent page will bear a title and subtitle, providing that these have been specified. The initial page of a chapter or appendix generated by a subsequent _.CHAPTER or _.APPENDIX command will similarly bear titles and subtitles. Otherwise, blank lines will appear on these initial pages instead of the title and subtitle. An _.INITIAL PAGE command can be issued to start a new page which is not to bear titles and subtitles. If an _.INITIAL PAGE command is issued, or if a _.FIRST TITLE command has not been issued, then the initial pages of subsequent chapters and appendixes will not bear titles and subtitles. .skip .test page 7 .indent -5 _.FLAGS .index FLAGS command>definition .break or .indent -5 _.FLAGS ALL .entry FLAGS ALL command>synonym of FLAGS command .break .entry flag characters>enabling individual, see FLAGS ... commands .entry flag characters>disabling individual, see NO FLAGS ... commands Most flag characters are enabled in the source text. Does not change .index flag characters>enabling all the interpretation of the flag characters specified by the _.FLAGS COMMENT, _.FLAGS CONTROL, _.FLAGS END COMMAND and _.FLAGS TEXT commands. Opposite of _.NO FLAGS ALL. .SKIP _.FLAGS ALL is the default. .skip .test page 5 .indent -5 _.FLAGS CAPITALIZE 'character' .index FLAGS CAPITALIZE command>definition .break Words in which each letter is to be capitalized can be immediately .entry conversion>of lower case to capitals, see capitalization .index word>conversion of lower case to capital .index capitalization>of single word .index capitalization flag>changing .index _< (less than)>use as capitalization flag .index less than>use as capitalization flag preceded by the specified character. The less than character is assumed if no character follows the _.FLAGS CAPITALIZE command. Opposite of _.NO FLAGS CAPITALIZE. .SKIP _.NO FLAGS CAPITALIZE is the default. .skip .test page 4 .indent -5 _.FLAGS COMMENT 'character' .index FLAGS COMMENT command>definition .break .index command line>comment flag .index comment flag>changing .index _! (exclamation point)>use as comment flag .index exclamation point>use as comment flag The specified character can precede a comment which appears to the right of a command. Opposite of _.NO FLAGS COMMENT. .SKIP _.FLAGS COMMENT '___!' is the default. .skip .test page 5 .indent -5 _.FLAGS CONTROL 'character' .index FLAGS CONTROL command>definition .break .index command line>control flag .index control flag>changing .index _. (period)>use as control flag .index period>use as control flag Commands in the source text are indicated by having the specified character in the first column. Opposite of _.NO FLAGS CONTROL. .SKIP _.FLAGS CONTROL '___.' is the default. .skip .test page 5 .indent -5 _.FLAGS END COMMAND 'character' .index FLAGS END COMMAND command>definition .break .index command line>command separator flag .index _; (semicolon)>use as command separator flag .index semicolon>use as command separator flag .index command separator flag>changing A command can be followed by the specified character and then by whatever would otherwise have appeared on the next line. Opposite of _.NO FLAGS END COMMAND. .SKIP _.FLAGS END COMMAND '___;' is the default. .skip.test page 5.indent -5 _.FLAGS END FOOTNOTE 'character' .index FLAGS END FOOTNOTE command>definition .break .index _! (exclamation point)>use as end footnote flag .index exclamation point>use as end footnote flag .index end footnote flag>changing .index footnote>end of The specification of a footnote can be terminated by a line in which the specified character appears in the leftmost column. If a footnote is terminated by the appearance of this character in the leftmost column of a line, then the rest of the line which starts with the end footnote flag character is interpreted as though column 2 were the initial column of the line. Opposite of _.NO FLAGS END FOOTNOTE. .SKIP _.FLAGS END FOOTNOTE '___!' is the default. .SKIP Although the characters used as the end footnote flag and as the comment flag are initially the same, these flag characters are used in different contexts, and changing one does not change the other. .skip.test page 5.indent -5 _.FLAGS HALF DOWN 'character' .index FLAGS HALF DOWN command>definition .break .index half down flag>changing .index _/ (forward slash)>use as subscript flag .index slash>use as subscript flag .index forward slash>use as subscript flag .index subscript flag>changing .index subscripting>enabling Single characters in the source text which are to be displayed slightly below the current output line can each be preceded by a single appearance of the specified character. Words or phrases which are to be displayed slightly below the output line can be preceded by a single appearance of the character specified by the _.FLAGS HALF DOWN command, this character itself being preceded by a circumflex (or by whatever character has been specified by the _.FLAGS UPPER CASE command). Such words or phrases which are being displayed slightly below the current line must be followed by a backslash (or by whatever .index _^ (circumflex)>use with forward slash to start subscripting .index circumflex>use with forward slash to start subscripting .index _\ (back slash)>use with forward slash to stop subscripting .index back slash>use with forward slash to stop subscripting character has been specified by the _.FLAGS LOWER CASE command) and then by the character specified by the _.FLAGS HALF DOWN command to return the following characters to their normal positions. .skip.test page 3 If the printer or terminal upon which the output text is displayed can perform half-line spacing, and if the corresponding terminal type .index half-line spacing>use for subscripting .index runtime options>terminal type is selected through the issuing by the user of the /T switch with the appropriate following number when FROFF is run, then the characters, words or phrases marked by the half down flag character will be displayed half the normal line spacing lower than usual. See the description of the /T switch for a description of the correspondence between the numbers which can follow the /T switch and terminal types. If the /T switch is not issued, then the marked characters will be one full line spacing lower than usual and will appear on an otherwise empty line between the current line and the next line even if the text is being single spaced. .skip.test page 3 If the _.FLAGS HALF DOWN command is issued, but without any character to its right, then the character selected by the previous _.FLAGS HALF DOWN command is reselected, or the forward slash (/) is selected if this is the first _.FLAGS HALF DOWN command. Initially, the half down flag character is not active. _.NO FLAGS HALF DOWN is the default. .skip.test page 5.indent -5 _.FLAGS HALF UP 'character' .index FLAGS HALF UP command>definition .break .index half up flag>changing .index _| (vertical bar)>use as superscript flag .index bar character>use as superscript flag .index vertical bar>use as superscript flag .index superscript flag>changing .index superscripting>enabling Single characters in the source text which are to be displayed slightly above the current output line can each be preceded by a single appearance of the specified character. Words or phrases which are to be displayed slightly above the output line can be preceded by a single appearance of the character specified by the _.FLAGS HALF UP command, this character itself being preceded by a circumflex (or by whatever character has been specified by the _.FLAGS UPPER CASE command). Such words or phrases which are being displayed slightly above the current line must be followed by a backslash (or by whatever .index _^ (circumflex)>use with vertical bar to start superscripting .index circumflex>use with vertical bar to start superscripting .index _\ (back slash)>use with vertical bar to stop superscripting .index back slash>use with vertical bar to stop superscripting character has been specified by the _.FLAGS LOWER CASE command) and then by the character specified by the _.FLAGS HALF UP command to return the following characters to their normal positions. .skip.test page 3 If the printer or terminal upon which the output text is displayed .index half-line spacing>use for superscripting can perform half-line spacing, and if the corresponding terminal type is selected through the issuing by the user of the /T switch with the .index runtime options>terminal type appropriate following number when FROFF is run, then the characters, words or phrases marked by the half up flag character will be displayed half the normal line spacing higher than usual. See the description of the /T switch for a description of the correspondence between the numbers which can follow the /T switch and terminal types. If the /T switch is not issued, then the marked characters will be one full line spacing higher than usual and will appear on an otherwise empty line between the previous line and the current line even if the text is being single spaced. .skip.test page 3 If the _.FLAGS HALF UP command is issued, but without any character to its right, then the character selected by the previous _.FLAGS HALF UP command is reselected, or the vertical bar (_|) is selected if this is the first _.FLAGS HALF UP command. Initially, the half up flag character is not active. _.NO FLAGS HALF UP is the default. .skip.test page 5.indent -5 _.FLAGS INDEX 'character' .index FLAGS INDEX command>definition .break .index _> (greater than)>use as index flag .index greater than>use as index flag .index index flag>changing .index word>insertion into index .index index>insertion of single words into Single words which are to be included in the index can be immediately preceded in the source text by the specified character. Each appearance of the word which is to be included in the index must be marked in this manner, since marking a word once does not cause the subsequent unmarked appearances of the same word to be included in the index. If the _.FLAGS INDEX command is issued, but without a following character, then the greater than character (>), or whatever character has been most recently selected by a previous _.FLAGS INDEX command, is assigned this function. .skip.test page 3 The word marked by the flag character will be copied without change into the output at the point corresponding to its appearance in the source text. The same word will appear in the index followed by the number of the page bearing the marked appearance of the word. The first character of the word in the index will be converted to upper case, unless this character was immediately preceded in the source text by either an underscore or a back slash, and the subsequent characters will be converted to lower case. A _.STYLE INDEX command can be issued before the use of the index flag character either to preserve the cases of all the characters in each word inserted into the index or to preserve the cases of all but the first character in each word. The word will not be underlined in the index even if the marked appearance of the word is being underlined. .skip.test page 3 If the entire word is not to be included in the index, then the flag character can appear in the word twice, immediately to the left of the leftmost character which is to appear in the index, and immediately to the right of the rightmost character which is to appear in the index. In particular, since a punctuation mark is taken to be part of the word to which it is attached, a second appearance of the flag character just before the punctuation mark should be used in a word which is followed immediately by a comma or by a period. .skip.test page 3 The flag character can be used to mark words in the main body of the document or in footnotes, regardless of whether the text is being filled, justified or centered, and in the header titles specified by _.HEADER LEVEL commands. The flag character cannot be used to mark words in page titles, page subtitles, chapter titles, appendix titles or index titles, or in text which is being copied literally. .skip.test page 3 There are other methods by which items can be inserted into the index. An _.INDEX command can be used to specify a word or a phrase or a series of words or phrases in which each subsequent item in the series is to be indented further to the right and only the final item is to bear a page number. An _.ENTRY command can be used to specify a word or a phrase or a series of words or phrases which is to be inserted into the index properly placed alphabetically, but without a page number. .index index>comparison of methods of insertion The _.INDEX and _.ENTRY commands do not cause the text which is being inserted into the index to also appear in the document at the point at which the command is issued. Thus, to cause a word or phrase to appear both in the document and in the index, the word or phrase would have to appear in the source text twice, first in the text which defines the body of the document, and immediately thereafter to the right of the _.INDEX or _.ENTRY command. This order should not be reversed. If an _.INDEX command were to specify the word or phrase immediately before the appearance of the word or phrase in the text of the document, then it would be possible for the page number to be 1 too small in the index if it should happen that the word or phrase would not fit onto the current page. Of course, the relative order is of no concern for an _.ENTRY command. .skip.test page 3 The _.FLAGS INDEX command is the opposite of the _.NO FLAGS INDEX command, which is the default. .skip .test page 4 .indent -5 _.FLAGS LOWER CASE 'character' .index FLAGS LOWER CASE command>definition .break .index _\ (back slash)>use as lower case flag .index back slash>use as lower case flag .index lower case flag>changing .entry lower case>translating capital letters into, see capital letters Letters in the source text which are to be translated into lower case can each be preceded by a single appearance of the specified character. Two adjacent appearances of this character are equivalent to the _.LOWER CASE command. Opposite of _.NO FLAGS LOWER CASE. .SKIP _.FLAGS LOWER CASE '___\' is the default. .skip .test page 6.indent -5 _.FLAGS PAGE 'character' .index FLAGS PAGE command>definition .break .index _> (greater than)>use as page number flag in titles .index greater than>use as page number flag in titles .index page number flag>changing The location in the top and bottom titles and subtitles at which the page number is to appear can be indicated by the specified character in the various _.TOP TITLE, _.TOP SUBTITLE, _.BOTTOM TITLE and _.BOTTOM SUBTITLE commands. The page flag character is not active in top titles and top subtitles specified by the _.TITLE and _.SUBTITLE commands. Opposite of _.NO FLAGS PAGE. .SKIP _.FLAGS PAGE '___>' is the default. .skip .test page 4 .indent -5 _.FLAGS QUOTE 'character' .index FLAGS QUOTE command>definition .break .index __ (underscore)>use as quote flag .index underscore>use as quote flag .entry copying single character without change>see quote flag .entry literal copying of single character>see quote flag .index quote flag>changing The specified character can precede any special character which is to be treated as an ordinary character. Opposite of _.NO FLAGS QUOTE. .SKIP _.FLAGS QUOTE '____' is the default. .skip .test page 4 .indent -5 _.FLAGS SPACE 'character' .index FLAGS SPACE command>definition .break .index _# (number sign)>use as space flag .index number sign>use as space flag .index space flag>changing .index space>marking of required space The specified character can be used to represent a space which is to be treated as a portion of a word rather than as a word boundary. Opposite of _.NO FLAGS SPACE. .SKIP _.FLAGS SPACE '___#' is the default. .skip.test page 5.indent -5 _.FLAGS SUBINDEX 'character' .index FLAGS SUBINDEX command>definition .break .index _> (greater than)>use between phrases in index .index greater than>use between phrases in index .index index>splitting of lines appearing in The specified character can be used in the text appearing to the right of an _.INDEX command to indicate the locations at which the text is to be split across lines when this text is entered into the index. Each new line indicated by the subindex flag is indented slightly to the right of those above it. Only the final line bears the number of the page upon which the _.INDEX command was issued. Opposite of _.NO FLAGS SUBINDEX. .SKIP _.FLAGS SUBINDEX '___>' is the default. .SKIP Although the characters used as the index flag, subindex flag and page flag are initially the same, these flag characters are used in different contexts, and changing one does not change the others. .skip .test page 6.indent -5 _.FLAGS TEXT 'character' .index FLAGS TEXT command>definition .break .index text flag>enabling .index _' (apostrophe)>use as delimiter of character or phrase argument .index apostrophe>use as delimiter of character or phrase argument .entry delimiter of character or phrase argument>see text flag .entry character argument delimiter>see text flag .entry phrase argument delimiter>see text flag The specified character can be used to mark both the start and the end of the text appearing to the right of commands such as _.TITLE, _.SUBTITLE, _.NOTE, _.CHAPTER, _.APPENDIX and _.HEADER LEVEL. The text which is specially treated by these commands would otherwise extend through the ends of the lines upon which these commands appear. The use of this delimiter character permits additional commands to follow these commands on the same line. If the delimiter character is found to the right of these commands then the specially treated text begins to the right of the first appearance of the delimiter character and extends up to the next appearance on the line of the delimiter character which is not followed immediately by the same delimiter character or through the end of the line if a single delimiter character does not appear again on the line. If it is necessary to include the delimiter character itself in the text, then the delimiter character can be preceded either by the underscore character or by an additional appearance of the same delimiter character. If the text begins with any other character than the delimiter character, then the text extends up to the next semicolon on the line or else through the end of the line if a semicolon does not appear to the right on the same line. If the _.FLAGS TEXT command is issued, but without any character to its right, then the character selected by the previous _.FLAGS TEXT command is reselected, or the apostrophe is selected if this is the first _.FLAGS TEXT command. .skip .test page 3 The delimiter character selected by the _.FLAGS TEXT command can also be used to mark the starts and ends of the characters or words or short phrases which are specially treated by (that is, are arguments of) other commands. The delimiter character is initially inactive for marking specially treated text which would otherwise extend through the rightmost printing character on the line and can be deactivated again for such text by the _.NO FLAGS TEXT command. The same delimiter character, however, remains active for the marking of characters and words and short phrases which are the arguments of commands even if a _.NO FLAGS TEXT command is issued. .skip.test page 5.indent -5 _.FLAGS UNDERLINE 'character' .index FLAGS UNDERLINE command>definition .break .index _& (ampersand)>use as underline flag .index ampersand>use as underline flag .index underline flag>changing Characters in the source text which are to be underlined can each be preceded by a single appearance of the specified character. Words or phrases which are to be underlined can be preceded by a single appearance of the character specified by the _.FLAGS UNDERLINE command, this character itself being preceded by a circumflex (or by whatever character has been specified by the _.FLAGS UPPER CASE command). Such words or phrases which are being underlined must be followed by a backslash (or by whatever character has been specified by a _.FLAGS .index _^ (circumflex)>use with ampersand to start underlining .index circumflex>use with ampersand to start underlining .index _\ (back slash)>use with ampersand to stop underlining .index back slash>use with ampersand to stop underlining LOWER CASE command) and then by the character specified by the _.FLAGS UNDERLINE command to turn the underlining off again. _.FLAGS UNDERLINE is the opposite of _.NO FLAGS UNDERLINE. .SKIP _.FLAGS UNDERLINE '___&' is the default. .skip .test page 4 .indent -5 _.FLAGS UPPER CASE 'character' .index FLAGS UPPER CASE command>definition .break .index upper case flag>changing .index _^ (circumflex)>use as upper case flag .index circumflex>use as upper case flag .index retaining cases Letters in the source text which are to be translated to upper case can each be preceded by a single appearance of the specified character. Two adjacent appearances of this character are equivalent to the _.UPPER CASE command. Opposite of _.NO FLAGS UPPER CASE. .SKIP _.FLAGS UPPER CASE '___^' is the default. .skip .test page 5.indent -5 _.FOOTNOTE .index FOOTNOTE command>definition .BREAK .index footnote>start of Causes the following lines of text, through the next _.END FOOTNOTE command or the next line starting with an exclamation point in column 1, to be taken as a footnote. The declaration of the footnote should immediately follow its reference in the text. Neither the _.FOOTNOTE command, nor any command issued while specifying the footnote, cause the line of text in which the reference occurs to be split onto a new line. .skip .test page 5.indent -5 _.FOOTNOTE HEADER rest of text on line .index FOOTNOTE HEADER command>definition .break The text specified by the _.FOOTNOTE HEADER command is to be used as .index footnote>phrase appearing above .index footnote header>defining .index header line>phrase above footnotes .index line>phrase above footnotes a header above the footnotes at the bottom of the pages in the output. The _.FOOTNOTE RULE command should be used instead if the line above the footnotes is to extend across the full width of the page and is to be formed by repeating just a single character. .skip .test page 5.indent -5 _.FOOTNOTE RULE 'character' .index FOOTNOTE RULE command>definition .break .index footnote>ruled line appearing above A line formed by repeating the specified character is to be ruled above .index footnote header>ruled by repeating single character or phrase .index line>ruled above footnotes .index header line>ruled above footnotes .index ruled line>above footnotes the footnotes at the bottom of the pages in the output. If this line is to be formed by repeating the underscore character, then the underscore must appear twice to the right of the _.FOOTNOTE RULE command since the first appearance of the underscore serves to quote its second appearance. The _.FOOTNOTE HEADER command should be used instead if the line above the footnotes is not to extend across the full width of the page or is to be formed other than by repeating just a single character. .skip .test page 5.indent -5 _.FORCE PAGE .index FORCE PAGE command>definition .break (Alias is _.FPG) .skip The _.FORCE PAGE command terminates the specification of the text upon the page which is currently being constructed. The source text on the lines following the _.FORCE PAGE command will appear on a new page. If an immediate footnote or a deferred figure has been specified which is too long to fit onto the current page, then the extra portion of the footnote or of the figure appears on a following page which will .index footnote>forcing out before new page .index figure>forcing out before new page .index deferred figure>forcing out before new page contain nothing else. The _.FORCE PAGE command implies a _.BREAK command. .skip .test page 3 A _.PAGE command would usually be issued instead of a _.FORCE PAGE command. The _.PAGE and _.FORCE PAGE commands are similar, but the _.PAGE command allows the source text on the lines following the _.PAGE command to appear on the same page as the excess portion of a footnote or deferred figure. A _.FORCE PAGE command is implied by the _.APPENDIX and _.CHAPTER commands. .index FORCE PAGE command>comparison with PAGE command .index PAGE command>comparison with FORCE PAGE command .skip .test page 3 For example, the source text .skip .nofill .no flag control .space footnote 0,0,0.footnote header-footnote- .page size 10,15.nojustify This text appears before the .FORCE PAGE command. .footnote.nojustify This is a footnote which will be too long to fit onto the current page. .end footnote.force page This text appears after the .FORCE PAGE command. .flag control .fill .skip .test page 3 would be converted into the following 3 pages of formatted text when processed by this program. .skip .NOFILL.TEST PAGE 12 ***************** ***************** ***************** * * * Page 2* * Page 3* * * * * * * * * * * * * *This text * * * *This text * *appears before * * * *appears after * *the .FORCE PAGE* *-footnote- * *the .FORCE PAGE* *command. * *will be too * *command. * *-footnote- * *long to fit * * * *This is a * *onto the * * * *footnote which * *current page. * * * ***************** ***************** ***************** .FILL .skip .test page 3 In the above example, the _.FORCE PAGE command caused the text following the _.FORCE PAGE command to appear on the next page after the continuation of the footnote on the second page. If a _.PAGE command had been used instead, then the text following the _.PAGE command could appear on the second page above the continuation of the footnote. .skip .test page 3 For example, the source text .skip.nofill.noflagcontrol .space footnote 0,0,0.footnote header-footnote- .page size 10,15.nojustify This text appears before the .PAGE command. .footnote.nojustify This is a footnote which will be too long to fit onto the current page. .end footnote.page This text appears after the .PAGE command. .flagcontrol.fill.skip would be converted into the following 3 pages of formatted text when processed by this program. .skip .NOFILL.TEST PAGE 12 ***************** ***************** ***************** * * * Page 2* * Page 3* * * * * * * * * * * * * *This text * *This text * *the .PAGE * *appears before * *appears after * *command. * *the .PAGE * *-footnote- * * * *command. * *will be too * * * *-footnote- * *long to fit * * * *This is a * *onto the * * * *footnote which * *current page. * * * ***************** ***************** ***************** .FILL .skip .test page 3 The commands _.LEFT PAGE, _.RIGHT PAGE, _.SKIP PAGE, _.SKIP LEFT PAGE and _.SKIP RIGHT PAGE are all variations of the _.PAGE command and do not force the output of either the continuation of a footnote or of a deferred figure. The _.LEFT PAGE and _.RIGHT PAGE commands cause the next page to be a left page bearing left page titles and subtitles or to be a right page bearing right page titles and subtitles, respectively. The _.SKIP PAGE command generates an extra empty page bearing titles and subtitles but no other text. The _.SKIP LEFT PAGE and _.SKIP RIGHT PAGE commands generate an extra empty page only if this would be a left page or a right page, respectively. .skip.test page 5.indent -5 _.HEADERS .index HEADERS command>definition .BREAK or .indent -5 _.HEADERS ON .entry HEADERS ON command>synonym of HEADERS command .break All pages, except for those which are the initial pages of new sections, are to include the title and subtitle at the top of each page. If both a _.HEADERS command and a _.FIRST TITLE command have been issued, then the initial pages of new sections will also bear titles and .index title>allowing room for at top of page subtitles at the top of each page. If a _.HEADERS command has been issued, but a _.FIRST TITLE command has not been issued, then the initial pages of new sections will bear blank lines, rather than titles and subtitles, at the top of each page. Pages which are treated as the initial pages of new sections include the first page of the document, the first page in each new chapter or appendix, the first page in an index printed by a _.DO INDEX command, and any page following an _.INITIAL PAGE command. .skip The _.HEADERS command is the opposite of the _.NO HEADERS command. _.HEADERS is the default. If a _.NO HEADERS command has been issued more recently than a _.HEADERS command, then initial pages will not bear blank lines at the top of each page and other pages will not bear titles and subtitles at the top of each page. Neither the _.HEADERS command nor the _.NO HEADERS command change the display of titles or subtitles at the bottoms of the pages. .skip.test page 5.indent -5 _.HEADER LEVEL number, rest of text on line .index HEADER LEVEL command>definition .break The text specified by the _.HEADER LEVEL command is to be used as a subsection heading. The number appearing to the right of the _.HEADER LEVEL command specifies the depth of the subsection heading. This depth cannot exceed 6. The depth of the subsection heading is the .index numbered subsection .index subsection header>declaring number of values separated by periods which appear in the output at the left end of the subsection heading. If no number appears to the right of the _.HEADER LEVEL command, then the depth of the subsection heading will either be the depth of the subsection heading requested by the previous _.HEADER LEVEL command, or will be the number of values which have since been individually specified by a _.NUMBER LEVEL command. The rightmost number in the series will be incremented by 1 if the previous _.HEADER LEVEL command requested the display of the same number of values and these values have not since been respecified by a _.NUMBER LEVEL command. .skip .test page 3 If the depth of the subsection heading is 1, that is, if the number to the right of the _.HEADER LEVEL command is 1, then the heading will be converted entirely to upper case. If the depth of the subsection .index capitalization>of subsection header heading is 2 or greater, then the first letter of each word in the heading, except for those which are preceded by either an underscore or a back slash, will be converted to upper case. If the depth of the subsection heading is 2 or less, then the heading will be separated by a blank line from the following text. If the depth of the subsection heading is 3 or greater, then the heading will be separated from the following text only by an extra hyphen. The _.STYLE HEADERS command can be used to modify the depths of the subsection headings in which upper case conversion and for which blank line separation take place. .skip .test page 5.indent -5 _.IMMEDIATE FOOTNOTES .index IMMEDIATE FOOTNOTES command>definition .break .index footnote>at bottom of page Footnotes are to be printed at the bottoms of the pages in which they are specified. A _.COLLECT FOOTNOTES command can be issued instead to specify that the footnotes are to be collected and printed together when the next _.DO FOOTNOTE or _.PRINT FOOTNOTE command is encountered. _.IMMEDIATE FOOTNOTES is the default. .skip .test page 3 .indent -5 _.INDENT number .index INDENT command>definition .break .index indentation>of next line .index line>indenting next line The following line of output text is to be indented to the right of the current left margin by the insertion of the indicated number of extra spaces if the number is positive or unsigned. The following line of output text will be indented to the left by the removal of the indicated number of spaces from the left margin if the number is negative. The line of output text which is indented either can have been accumulated while a _.FILL command is active, or can be copied directly while a _.NO FILL command is active. .skip .left margin 5 .test page 5 .indent -5 _.INDENT ELEMENT number .index INDENT ELEMENT command>definition .break .index automatically numbered list>indentation of elements .index indentation>of list elements Causes the first printing character to the right of the serial number in each list element at the current list depth to be indented to the right of the left margin by the indicated number of columns if the number following the _.INDENT ELEMENT command is positive or unsigned, or to be indented to the left by the indicated number of columns if the number is negative. This indentation does not change the positions of the characters in the first line of the list element, but rather adjusts the left margin for the second and subsequent lines of the list element so that the first line appears to have the requested indentation. .skip.test page 3 _.INDENT ELEMENT 0 is the default if an _.INDENT ELEMENT command has not been issued at the current list depth so that the first printing character to the right of the serial number in each list element lines up with the first character in the second and each of the subsequent lines of the list element. .skip .left margin 5 .test page 5 .indent -5 _.INDENT FOOTNOTE number .index INDENT FOOTNOTE command>definition .break .index footnote>indentation of first line .index indentation>of first line of footnote Causes the first printing character of the text of each footnote to be indented to the right of the left margin by the indicated number of columns if the number following the _.INDENT FOOTNOTE command is positive or unsigned, or to be indented to the left by the indicated number of columns if the number is negative. If a _.NUMBER FOOTNOTE command is active, then the _.INDENT FOOTNOTE command specifies the position of the first printing character to the right of the footnote number, and does not specify the position of the footnote number. The _.INDENT FOOTNOTE command can be issued at any point in the source text before the specification of the first footnote to which it is to apply, or can be issued immediately after the _.FOOTNOTE command. .skip.test page 3 _.INDENT FOOTNOTE 0 is the default so that left end of the first line of each footnote lines up with the second and each of the subsequent lines of the footnote. .skip .test page 5.indent -5 _.INDENT LEVEL number .index INDENT LEVEL command>definition .break .index indentation>of subsection header .index subsection header>indentation of The number and text of each subsection heading specified by a _.HEADER LEVEL command are to be indented to the right of the left margin by the insertion of the indicated number of extra spaces if the number is positive or unsigned. The number and text of each subsection heading are to be indented to the left of the left margin by the removal of the indicated number of spaces from the left margin if the number is negative. The _.INDENT LEVEL command only needs to be issued once, it applies to the subsection headings specified by all of the following _.HEADER LEVEL commands. .skip.test page 5.indent -5 _.INDENT NOTE number1, number2, number3 .index Margin>in note .index Indentation>of first line of note .index INDENT NOTE command>definition .break .index indentation>of paragraphs in note .index embedded note>indentation of paragraphs in Changes the indentation of the first line of an embedded note introduced by the _.NOTE command, the indentation of the first line of any paragraphs inside the note, and the offset by which the margins of the note are shifted from those of the surrounding text. .skip .test page 3 Number1 is the number of spaces by which the first line of each note and by which the first line of each of the paragraphs in each note are to be indented from the left margin of the note. A _.PARAGRAPH command with its own following first number can be issued within a note to change the indentation of the following paragraph within the note and of all paragraphs within subsequent notes without changing the indentations of the first lines of these notes and without changing the indentations of paragraphs which are not in notes. Such a .index blank lines>between paragraphs in an embedded note .index embedded note>spacing between paragraphs in .index paragraph>within note _.PARAGRAPH command issued within a note can similarly change the spacing between paragraphs within the note and between all paragraphs within subsequent notes without changing the spacing between paragraphs which are not within notes. .skip .test page 3 Number2 is the number of spaces by which the left margin of each note is to be offset from the left margin of the surrounding text. .skip .test page 3 Number3 is the number of spaces by which the right margin of each note is to be offset from the right margin of the surrounding text. Number2 would usually be positive and Number3 would usually be negative so that the left and right margins of the note would both be shifted inward from the surrounding text. The left and right margins can also be modified within a particular note by the _.LEFT MARGIN and _.RIGHT MARGIN commands, but these margins would not be preserved beyond the end of the particular note within which these commands were issued. .skip _.INDENT NOTE 0,4,-4 is the default. .skip.test page 5.indent -5 _.INDEX rest of text on line .index INDEX command>definition .break .index index>insertion of phrases into .index insertion of phrases into index .index phrase>insertion into index The line of text specified by the _.INDEX command is to be inserted into the index. The page number in the output text corresponding to the location in the source text at which the _.INDEX command was issued will be shown to the right of the line of text. The _.ENTRY command should be issued instead if a page number is not to be shown to the right of the line of text. .SKIP.TEST PAGE 3 The first character of the line of text being placed into the index either by an _.INDEX command or by an _.ENTRY command will be converted to upper case unless this first character is immediately preceded by an underscore or by a back slash. The cases of the subsequent characters will not be changed. If a single word is placed into the index by its being preceded by the flag character selected by a _.FLAG INDEX command, then the first character of the word will be converted to upper case unless this first character is immediately preceded by an underscore or by a back slash, and the subsequent characters in the word will be converted to lower case unless these subsequent characters are individually preceded by underscores or by circumflexes. .index index>capitalization of items in .skip .test page 5.indent -5 _.INITIAL PAGE .index INITIAL PAGE command>definition .BREAK .index page>treating as initial page .index title>suppressing of title on initial page The text which is specified by the source lines following the _.INITIAL PAGE command is to be placed on a new page which will not bear titles or subtitles. If an _.INITIAL PAGE command is issued, or if a _.FIRST TITLE command has not been issued, then the initial pages of subsequent chapters and appendixes will not bear titles and subtitles. .skip .test page 3 If the document is to have running page numbers (i.e., page numbers which do not include the chapter number and which are not reset to 1 at the start of each chapter), if the initial page of each new section is to start on a right page and is not to bear titles and if the page preceding each new section is not to bear titles if it is a skipped left page, then the sequence of commands could be .skip .nofill.test page 7 text of preceding section . . _.PAGE.INITIAL PAGE.SKIP LEFT PAGE.INITIAL PAGE . . text of new section .fill.skip If the skipped left pages can bear normal titles, then the sequence of commands could instead be .skip.nofill.test page 7 text of preceding section . . _.SKIP LEFT PAGE.INITIAL PAGE . . text of new section .fill .skip.test page 5.indent -5 _.INPUT WIDTH number .index INPUT WIDTH command>definition .break .index width of input line .index length of input line .index input line>length of Specifies the maximum number of characters to be processed in each line of the source text. Default is 132. Maximum is 300. If the input file is line sequenced numbered, that is, if each line bears an initial 5 digit number followed by a tab character, then the actual .index file>line numbered input .index line numbered input file>width of lines in number of characters which will be interpreted in each line of source text will be 6 less than the number specified by the _.INPUT WIDTH command. .skip .left margin 5 .test page 5 .indent -5 _.JOIN .index JOIN command>definition .break .index joining words together .index attaching words together .index word>joining together of If a _.FILL command is active, then the _.JOIN command specifies that the leftmost word (that is, an unbroken sequence of printing characters) in the next line of source text which is not a command is to extend the rightmost word in the line of text which is currently being constructed. Any spaces or tab characters to the left of the leftmost word in the next line of source text which is not a command are ignored. The extended word will start a new line if it does not fit into the line which is currently being constructed. If an _.AUTOPARAGRAPH command is active, and if the next line of source text which is not a command is empty, then the only effect of the _.JOIN command will be to prevent the empty line from signalling the start of a new paragraph. .skip .test page 3 .index footnote>interaction with JOIN command If a _.NUMBER FOOTNOTE command is active, and if the _.JOIN command precedes a _.FOOTNOTE command, then it is the footnote reference number which is joined to the preceding word. If a _.NUMBER FOOTNOTE command is active, and if the _.JOIN command follows an _.END FOOTNOTE command, then it is the footnote reference number which is joined to the subsequent word. .skip .test page 3 If a _.NO FILL command is active, then the next line of source text will be attached to the line of text currently being constructed, but any spaces at the left end of the next line of source text will be retained. .skip .test page 3 The _.JOIN command is ignored if any of the following conditions apply. .list .le;A _.FOOTNOTE command is active. .le;No source text has been specified since the last _.BREAK command, or since the last command which implied a _.BREAK command, was issued. .le;A _.BREAK command, or any command which implies a _.BREAK command is encountered before the next source line which is not a command. .end list .skip .test page 6 For example, the source text .skip.nofill.test page 4 Please send this memo to _.SPLICE 1 _.JOIN _. .skip.fill could be used to bring in a person's name from the splice file, and then to append a period, which would act as an end of sentence, to this name. The period could not appear in column 1, or else it would be taken as a null command, and could not be preceded by a quoting underscore, or else it would not act as an end of sentence. .skip .test page 5 .indent -5 _.JUSTIFY .index JUSTIFY command>definition .break .index even right margin>enabling .index right margin>even .index ragged right margin>disabling .index spaces>enabling insertion for even right margin An even right margin is to be formed by the insertion of extra spaces between the words which are wrapped around from one line to the next while a _.FILL command is active. The _.JUSTIFY command is sometimes confused with the _.FILL command, although the latter merely enables the wrapping around of words from one line to the next to form lines of approximately equal length. The _.JUSTIFY command is the opposite of _.NO JUSTIFY. _.JUSTIFY is the default. .skip .test page 5.indent -5 _.LAST FORM .index LAST FORM command>definition .BREAK .index form feed>at end of document .index end of document>form feed at A form feed (a completely blank page without titles or text) is to be generated after the last line of output on the last page. .skip .test page 5.indent -5 _.LEFT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3' .index LEFT BOTTOM SUBTITLE command>definition .break .index left page>subtitle at bottom .index subtitle>at bottom of left pages Specifies the text to be in the subtitle line just below the title line at the bottom of each left page. The contents of the subtitle line at the bottom of each right page are unchanged. The arguments are the same as for the _.BOTTOM SUBTITLE command. .skip .test page 5.indent -5 _.LEFT BOTTOM TITLE 'phrase1','phrase2','phrase3' .index LEFT BOTTOM TITLE command>definition .break .index left page>title at bottom .index title>at bottom of left pages Specifies the text to be in the title line at the bottom of each left page. The contents of the title line at the bottom of each right page are unchanged. The arguments are the same as for the _.BOTTOM TITLE command. .skip .test page 4 .indent -5 _.LEFT MARGIN number .index LEFT MARGIN command>definition .break .index OFFSET command>comparison with LEFT MARGIN command .index left margin>setting .index margin>setting left NOTE: The _.OFFSET command should be used instead of the _.LEFT MARGIN command if the entire document is to be shifted to the right. .skip.test page 3 The _.LEFT MARGIN command specifies the number of spaces, in addition to any additional offset applied by the _.OFFSET command or explicitly requested by the user when this program is run, which are to be inserted at the left end of each output line which is not a title or subtitle line. Unlike the _.OFFSET command, the _.LEFT MARGIN command does change the appearance of the resulting document. The spaces inserted by the _.LEFT MARGIN command are treated as characters of text and reduce the number of other characters which fit between the left and right margins. The left margin can be changed for a single line by the application of an indentation by the _.INDENT or similar command. .skip _.LEFT MARGIN 0 is the default, such that the leftmost character of each output line, excluding any offset applied by an _.OFFSET command or indentation applied by an _.INDENT or similar command, will be in column 1. .skip.left margin 5.test page 6.indent -5 _.LEFT NO FILL number1, number2 .entry LEFT NO FILL command>synonym of NO FILL command .break or .indent -5 _.NO FILL number1, number2 .break The _.LEFT NO FILL command is identical to the _.NO FILL command. Consult the description of the _.NO FILL command for a complete description of these commands. .skip .test page 5.indent -5 _.LEFT PAGE .index LEFT PAGE command>definition .break .index page>causing next to be left The text which is specified by the source lines following the _.LEFT PAGE command is to be placed on a new page which will bear left titles and/or subtitles. .skip .test page 5.indent -5 _.LEFT TOP SUBTITLE 'phrase1','phrase2','phrase3' .index LEFT TOP SUBTITLE command>definition .break .index subtitle>at top of left pages .index left page>subtitle at top Specifies the text to be in the subtitle line just below the title line at the top of each left page. The contents of the subtitle line at the top of each right page are unchanged. The arguments are the same as for the _.TOP SUBTITLE command. .skip .test page 5.indent -5 _.LEFT TOP TITLE 'phrase1','phrase2','phrase3' .index LEFT TOP TITLE command>definition .break .index title>at top of left pages .index left page>title at top Specifies the text to be in the title line at the top of each left page. The contents of the title line at the top of each right page are unchanged. The arguments are the same as for the _.TOP TITLE command. .skip .test page 5 .indent -5 _.LIST number, 'up to 6 characters' .index LIST command>definition .break .index automatically numbered list>starting .index bulleted list A new list is to be constructed with the indicated number of blank lines appearing between each item in the list. If one or more characters are specified, then these, rather than a number, appear to the left of the start of each item in the list. Any spaces, periods, semicolons, exclamation points or apostrophes among these characters must either be quoted by preceding underscores, or else the group of characters must be enclosed in apostrophes. A single apostrophe can be included among the characters which are enclosed in apostrophes if it is quoted either with an extra apostrophe or by an underscore. At most 6 characters can be specified in this manner, but additional characters can be specified at both ends by the _.DISPLAY ELEMENT command. If no characters are specified, then each item in the list is numbered. For example, the command _.LIST,'...' would insert 3 periods to the left of each item in the list. The _.LIST command merely enables the construction of a list, each item in the list must be declared by a _.LIST ELEMENT command. .skip .test page 3 If the character argument is missing following the _.LIST command, then the _.LIST command shifts the left margin far enough to the right for a 1 digit number to appear to the left of each item in the list. If the character argument follows the _.LIST command, then the left margin is shifted far enough to the right for the characters in this argument to appear to the left of each item in the list. If the items in the list are going to be labeled with numbers, any of which are more than 1 digit long, then the left margin should be shifted to the right correspondingly before the _.LIST command is issued, and then be shifted back to the left after the _.END LIST command is issued. For example, if the list is going to contain items which are labeled with numbers in the hundreds (that is, with 3 digits), then a _.LEFT MARGIN+2 command should precede the _.LIST command, and a _.LEFT MARGIN-2 command should follow the _.END LIST command. .skip.test page 5.indent -5 _.LIST ELEMENT .index LIST ELEMENT command>definition .break .index automatically numbered list>item in The next output line is to start the first or a new item in the list enabled by the _.LIST command. The interline spacing and the right margin are reset to their values when the _.LIST command was issued, and the left margin is reset based upon its value when the _.LIST command was issued. If a _.DISPLAY ELEMENT command has been issued at the current list depth, then the number to the left of the text in the output will be generated in the system specified by the _.DISPLAY ELEMENT command. .skip.test page 5.indent -5 _.LITERAL .index LITERAL command>definition .break .index LITERAL command>comparison with NO FILL command .index NO FILL command>comparison with LITERAL command NOTE: The _.NO FILL command should be used instead of the _.LITERAL command if subsequent lines which start with periods in the left column are to be treated by FROFF as command lines, or if flag characters in the subsequent text are used to indicate that the following characters are to be modified. .skip .index command line>disabling .index copying text without change .index literal section>start of The _.LITERAL command indicates that the following lines of source text are to be copied into the output unchanged except for the conversion of tab characters to spaces, and except for the application of underlining if underlining was requested prior to the _.LITERAL command. Flag characters are not acted upon, and are copied into the output unchanged. Alphabetic letters are not converted to lower case even if such conversion was requested by a pair of back slashes (_\_\) or by a _.LOWER CASE command before the _.LITERAL command was issued. An _.END LITERAL command, which can be used to terminate the literal copying of the source text, is the only command which can be recognized after a _.LITERAL command is issued. Any line which starts with a period in the left column but which cannot be interpreted as an _.END .index command line>ignored after LITERAL command LITERAL command is copied into the output unchanged. .skip .test page 5.indent -5 _.LOOP number .index LOOP command>definition .break .index loop>start of .entry repeated text>see loop The following lines from the input file, through the next _.END LOOP command, are to be processed the indicated number of times. Processing will be terminated early and any text to the right of the _.END LOOP command in the original source file will be ignored if an additional _.END LOOP command is read from the splice file, or if an _.END FILE .index END FILE command>in splice file .index END LOOP command>in splice file command is read from the splice file, or if the physical end of the splice file is encountered. If the number is missing to the right of the _.LOOP command, and if the loop contains one or more _.SPLICE commands, then the source text between the _.LOOP command and the subsequent _.END LOOP command in the original source file will be processed repeatedly until one of these termination conditions is encountered in the splice file. If the number is missing to the right of the _.LOOP command, and if the loop does not contain any _.SPLICE commands, then the source text between the _.LOOP command and the subsequent _.END LOOP command will be processed only once. .skip If the _.LOOP command is used to construct form letters, then a _.RESET .index form letter>start of .index RESET command>in form letter command should appear within the loop, either at the start or at the end. If these form letters are being typed directly onto the user's terminal, and if a _.SPLICE command appears within the range of the _.LOOP command, then an _.OPEN SPLICE command should appear before the _.LOOP command so that the user will be asked to identify the splice file before the first form letter is typed. .skip .test page 5 .indent -5 _.LOWER CASE .index LOWER CASE command>definition .break .entry conversion>of capital letters to lower case, see capital letters .index capital letters>conversion to lower case Upper case alphabetic letters in the source lines following the _.LOWER CASE command are to be translated to lower case unless these upper case letters are preceded by circumflexes or underscores or, if a _.FLAG CAPITALIZE command has been issued, unless these upper case letters are in words which are preceded by less than signs. Equivalent to .index LOWER CASE command>equivalent to doubled back slashes .index _\ (back slash)>equivalent to LOWER CASE command when doubled .index double back slash>equivalent to LOWER CASE command .index back slash>equivalent to LOWER CASE command when doubled the appearance of 2 back slashes. Opposite of _.UPPER CASE, which is the default. .skip.test page 5.indent -5 _.MOVABLE FIGURE number .index MOVABLE FIGURE command>definition .index figure>reserving space without break .index deferred figure>without implied BREAK command .index blank lines>insertion into output .break The indicated number of single spaced blank lines are to be inserted into the output text below the output line currently being constructed. If there is not enough room for these blank lines on the current page below the output line currently being constructed, then the text on the source lines following the _.MOVABLE FIGURE command will continue to define the text on the current page, and the blank lines will be inserted at the top of the next page when some circumstance other than the issuing of the _.MOVABLE FIGURE command causes a new page to be generated. If the resulting text is being double or triple spaced, then the interline spacing will appear above the space reserved for the figure if this reserved space follows other text on the page, and the interline spacing will likewise appear below the space reserved for the figure if this reserved space is followed by other text on the same page. .skip .test page 3 The _.MOVABLE FIGURE command is similar to the _.FIGURE command, but the _.FIGURE command terminates the line of text currently being constructed and causes the blank lines to be inserted into the text at the location at which the _.FIGURE command is issued. If there is not enough room on the current page for the blank lines specified by the _.FIGURE command, then the _.FIGURE command will generate a new page and insert the blank lines onto this new page and the text on the lines following the _.FIGURE command will define the text below the inserted blank lines on the new page. .index FIGURE command>comparison with MOVABLE FIGURE command .index MOVABLE FIGURE command>comparison with FIGURE command .skip .test page 3 The _.MOVABLE PAGE command described below should be used if a completely empty extra page is needed. If a completely empty extra page were instead to be reserved by issuing a _.MOVABLE FIGURE command for the number of lines on a page, less the lines in the top and/or bottom margins, then the _.MOVABLE FIGURE command would have to be adjusted whenever the height of the pages changes. The _.MOVABLE PAGE command, like the _.MOVABLE FIGURE command, does not break the line of text currently being constructed. .index MOVABLE FIGURE command>comparison with MOVABLE PAGE command .index MOVABLE PAGE command>comparison with MOVABLE FIGURE command .skip.test page 5.indent -5 _.MOVABLE PAGE number .index MOVABLE PAGE command>definition .break .index deferred page>without implied BREAK command The indicated number of extra blank pages are to be inserted into the output text when the next new page is generated following the output line which is currently being constructed. A single extra blank page is generated if no number is specified. The _.MOVABLE PAGE command does not terminate the line of text currently being constructed. The text on the source lines following the _.MOVABLE PAGE command will continue to define the text on the current page. .index blank page>without break .entry skipping page>see blank page .skip .test page 3 The _.MOVABLE PAGE command is similar to the _.SKIP PAGE command, but the _.SKIP PAGE command terminates the line of text currently being constructed, and produces the extra empty page immediately. .skip.test page 5.indent -5 _.NO AUTO PARAGRAPH .index NO AUTO PARAGRAPH command>definition .break .index automatic paragraphing>disabling .index AUTO PARAGRAPH command>disabling In the lines of source text which follow the _.NO AUTO PARAGRAPH command, the start of a new paragraph will not be indicated either by a blank line or by a line which starts with one or more spaces. Blank lines and initial spaces will be discarded if a _.FILL command is active. Opposite of _.AUTO PARAGRAPH. _.NO AUTO PARAGRAPH is the default. .skip .test page 7.indent -5 _.NO FILL number1, number2 .index NO FILL command>definition .break or .indent -5 _.LEFT NO FILL number1, number2 .entry LEFT NO FILL command>synonym of NO FILL command .break .index NO FILL command>comparison with NO JUSTIFY command .index NO JUSTIFY command>comparison with NO FILL command NOTE: The combination of a _.NO JUSTIFY command and a _.FILL command should be used instead of the _.NO FILL command if a ragged right margin is desired but the words are to be moved from one line to another to give lines of approximately uniform length. The _.LITERAL command .index NO FILL command>comparison with LITERAL command .index LITERAL command>comparison with NO FILL command should be used instead of the _.NO FILL command if the lines of source text, including those starting with periods and those containing flag characters, are to be copied without any changes whatsoever. .skip.test page 3 .index copying text without change The _.NO FILL command is identical to the _.LEFT NO FILL command. These commands cause the following line or lines of text to be copied into the output with the leftmost character in each line in the same column. Each of these lines is copied with the original number of words per line and with the original spacing before and between words. Case conversion and underscoring continue to be performed. The right margin is not enforced. The lines of output text can be wider than the current page width without changing the position of the page numbers. The _.NO FILL command is the opposite of the _.FILL command, which is the default. .skip .test page 3 Number1 specifies the horizontal placement of the next line or lines of text on the page. If number1 is missing, then the leftmost character of each output line will be in the left margin. If number1 is signed, then the lines of text are shifted to the right by the indicated number of columns from the left margin if the number is positive, or to the left if the number is negative. If number1 is unsigned, then the leftmost character of each output line will be in the column indicated by number1. The original left margin is reset after the range of the _.NO FILL command is terminated. .skip .test page 3 Number2 specifies the number of lines which are to be copied in this manner. The original method of copying, whether within the range of a _.FILL command or within the range of a _.NOFILL, _.LEFT NO FILL, _.CENTER NO FILL or _.RIGHT NO FILL command issued without a second argument, is reset after the indicated number of source lines have been copied. If number2 is missing, then the following lines of source text which are not commands will continue to be copied so that their leftmost characters are in the indicated column until a subsequent _.FILL command is issued, or until a subsequent _.NO FILL, _.LEFT NO FILL, _.CENTER NO FILL or _.RIGHT NO FILL command is issued without a second argument. .skip .test page 6 .indent -5 _.NO FLAGS .index NO FLAGS command>definition .break or .indent -5 _.NO FLAGS ALL .entry NO FLAGS ALL command>synonym of NO FLAGS command .break .index flag characters>disabling all Most flag characters are disabled in the source text. Does not disable the interpretation of the flag characters specified by the _.FLAGS COMMENT, _.FLAGS CONTROL, _.FLAGS END COMMAND and _.FLAGS TEXT commands. Opposite of _.FLAGS ALL. .SKIP _.FLAGS ALL is the default. .skip .test page 4 .indent -5 _.NO FLAGS CAPITALIZE .index NO FLAGS CAPITALIZE command>definition .break .index capitalization flag>disabling No special character can be used to indicate words in which each letter is to be capitalized. Opposite of _.FLAGS CAPITALIZE. .SKIP _.NO FLAGS CAPITALIZE is the default. .skip .test page 4 .indent -5 _.NO FLAGS COMMENT .index NO FLAGS COMMENT command>definition .break .index comment flag>disabling A comment cannot appear to the right of a command. Opposite of _.FLAGS COMMENT. .SKIP _.FLAGS COMMENT '___!' is the default. .skip .test page 5.indent -5 _.NO FLAGS CONTROL .index NO FLAGS CONTROL command>definition .BREAK .index control flag>disabling .index command line>ignored after NO FLAGS CONTROL command .index command line>disabling The following lines of source text which begin with the character (normally the period) by which commands are identified are to be treated as lines of ordinary text instead. A _.FLAGS CONTROL command, which would again enable the use of the initial period to indicate lines which contain commands, is the only command which is recognized once a _.NO FLAGS CONTROL command is applied. The _.NO FLAGS CONTROL command does not imply a _.NO FILL or _.LITERAL command, the words are still wrapped around from one line to the next if a _.FILL command is active. .SKIP _.FLAGS CONTROL '___.' is the default. .skip .test page 4 .indent -5 _.NO FLAGS END COMMAND .index NO FLAGS END COMMAND command>definition .index command separator flag>disabling .break No special character can follow a command to indicate that the text to its right is to be treated as though this text appeared on the next line. Opposite of _.FLAGS END COMMAND. .SKIP _.FLAGS END COMMAND '___;' is the default. .skip.test page 5.indent -5 _.NO FLAGS END FOOTNOTE .index NO FLAGS END FOOTNOTE command>definition .break .index end footnote flag>disabling No special character can be used at the left end of a line following a _.FOOTNOTE command to terminate the specification of the footnote. Opposite of _.FLAGS END FOOTNOTE. .SKIP _.FLAGS END FOOTNOTE '___!' is the default. .skip.test page 5.indent -5 _.NO FLAGS HALF DOWN .index NO FLAGS HALF DOWN command>definition .index subscript flag>disabling .index half down flag>disabling .index subscripting>disabling .break No special character can be used in the source text to indicate letters, words or phrases which are to be shifted half a line spacing below the ordinary text. Opposite of _.FLAGS HALF DOWN. .SKIP _.NO FLAGS HALF DOWN is the default. .skip.test page 5.indent -5 _.NO FLAGS HALF UP .index NO FLAGS HALF UP command>definition .break .index superscripting>disabling .index superscript flag>disabling .index half up flag>disabling No special character can be used in the source text to indicate letters, words or phrases which are to be shifted half a line spacing above the ordinary text. Opposite of _.FLAGS HALF UP .SKIP _.NO FLAGS HALF UP is the default. .skip.test page 5.indent -5 _.NO FLAGS INDEX .index NO FLAGS INDEX command>definition .break .index index flag>disabling No special character can be used in the source text to mark words which are to be included in the index. Opposite of _.FLAGS INDEX. .SKIP _.NO FLAGS INDEX is the default. .skip .test page 4 .indent -5 _.NO FLAGS LOWER CASE .index NO FLAGS LOWER CASE command>definition .break .index lower case flag>disabling No special character can be used to indicate single letters which are to be translated into lower case. Opposite of _.FLAGS LOWER CASE. .SKIP _.FLAGS LOWER CASE '___\' is the default. .skip .test page 5.indent -5 _.NO FLAGS PAGE .index NO FLAGS PAGE command>definition .BREAK .index page number flag>disabling The location in the top and bottom titles and subtitles at which the page number is to appear cannot be indicated in the various _.TOP TITLE, _.TOP SUBTITLE, _.BOTTOM TITLE and _.BOTTOM SUBTITLE commands. .SKIP _.FLAGS PAGE '___>' is the default. .skip .test page 4 .indent -5 _.NO FLAGS QUOTE .index NO FLAGS QUOTE command>definition .break .index quote flag>disabling No special character can precede any special character which is to be treated as an ordinary printing character. Opposite of _.FLAGS QUOTE. .SKIP _.FLAGS QUOTE '____' is the default. .skip .test page 4 .indent -5 _.NO FLAGS SPACE .index NO FLAGS SPACE command>definition .break .index space flag>disabling No special character can be used to represent a space which is to be treated as a portion of a word rather than as a word boundary. Opposite of _.FLAGS SPACE. .SKIP _.FLAGS SPACE '___#' is the default. .skip.test page 5.indent -5 _.NO FLAGS SUBINDEX .index NO FLAGS SUBINDEX command>definition .break .index subindex flag>disabling No special character can be used in the text appearing to the right of an _.INDEX command to indicate the locations at which the text is to be split across lines when this text is entered into the index. Opposite of _.FLAGS SUBINDEX. .SKIP _.FLAGS SUBINDEX '___>' is the default. .skip .test page 5.indent -5 _.NO FLAGS TEXT .index NO FLAGS TEXT command>definition .break .index text flag>disabling The text strings which can be used as arguments of commands such as _.TITLE, _.SUBTITLE, _.NOTE, _.CHAPTER, _.APPENDIX and _.HEADER LEVEL start immediately after the command (or after the first argument in the case of _.HEADER LEVEL) and extend through the end of the line. See the description of the _.FLAGS TEXT command. .SKIP _.NO FLAGS TEXT is the default. .skip.test page 5.indent -5 _.NO FLAGS UNDERLINE .index NO FLAGS UNDERLINE command>definition .break .index underline flag>disabling No special character can be used in the source text to indicate letters, words or phrases which are to be underlined. Opposite of _.FLAGS UNDERLINE. .SKIP _.FLAGS UNDERLINE '___&' is the default. .skip .test page 4 .indent -5 _.NO FLAGS UPPER CASE .index NO FLAGS UPPER CASE command>definition .break .index upper case flag>disabling No special character can be used to indicate single letters which are to be translated into upper case. Opposite of _.FLAGS UPPER CASE. .SKIP _.FLAGS UPPER CASE '___^' is the default. .skip.test page 5.indent -5 _.NO FOOTNOTE HEADER .index NO FOOTNOTE HEADER command>definition .break .index footnote header>disabling No header line is to appear above the footnotes in the output. Opposite of _.FOOTNOTE HEADER. _.NO FOOTNOTE HEADER is the default. .skip.test page 5.indent -5 _.NO HEADERS .index NO HEADERS command>definition .break .index title>suppressing room for at top of page .index suppressing room for title at top of page .index blank title>suppressing room for title at top of page The title and subtitle are not to be inserted at the top of each page. The blank lines specified by the _.SPACE TOP command are not to be generated at the top of each page. The ordinary output text will start on the first line of each page. Opposite of _.HEADERS ON, which is the default. .skip .test page 3 .indent -5 _.NO JUSTIFY .index NO JUSTIFY command>definition .break .index right margin>ragged .index ragged right margin>enabling .index even right margin>disabling .index insertion of extra spaces>disabling .index spaces>ragged right margin resulting from disabling insertion An even right margin is not to be formed by the insertion of extra spaces between the words which are wrapped around from one line to the next when a _.FILL command is active. The _.NO JUSTIFY command is sometimes confused with the _.NO FILL command, although the latter prevents wrap around of words from one line to the next and causes the lines of source text to be copied to the output with the same number words per line and with the same spacings before and between words. The _.NO JUSTIFY command is the opposite of _.JUSTIFY, which is the default. .skip.test page 5.indent -5 _.NO NUMBER .index NO NUMBER command>definition .break .index page number>disabling in simple titles .index title>disabling page number in simple A page number is not to appear at the upper right corner of each page on which the top title was specified by a _.TITLE command. Ignored if the top title was specified by any of the various _.TOP TITLE commands. Opposite of _.NUMBER PAGE, which is the default. .skip.left margin 5.test page 5.indent -5 _.NO NUMBER FOOTNOTE .index NO NUMBER FOOTNOTE command>definition .break .index number>disabling automatically generated footnote numbers .index footnote number>disabling .index footnote>automatically generated numbers A serial number identifying each footnote is not to be inserted into the output text at the point at which each footnote is defined, and is not to be inserted into the start of each footnote. The serial numbers, however, continue to be incremented as each footnote is defined. Opposite of _.NUMBER FOOTNOTE. _.NO NUMBER FOOTNOTE is the default. .skip .test page 6 .indent -5 _.NO OFFSET .index NO OFFSET command>definition .break .index offset>disabling No spaces are to be inserted at the left edge of each line in addition to the normal left margin and indentation. Equivalent to _.OFFSET 0, which is the default. When this program is run, the user will be asked to specify an offset which is applied to all lines even if a _.NO OFFSET command appears in the source text. .skip.test page 5.indent -5 _.NO PAGING .index NO PAGING command>definition .break .index paging>disabling .index automatic paging>disabling The only page breaks in the output text are to be those which are explicitly requested by the various versions of the _.PAGE commands or by the other commands, such as _.CHAPTER and _.APPENDIX, which apply a _.PAGE command. Each new output line is added to the page currently being constructed without generating a new page even if the page is already full. Opposite of _.PAGING, which is the default. .skip.test page 5.indent -5 _.NO PERIOD .index NO PERIOD command>definition .break .index extra spaces after punctuation>disabling .index punctuation>disabling extra spaces after When lines of text are being constructed while a _.FILL command is active, no extra spaces are to be inserted following the end of sentence punctuation characters period, question mark, colon and exclamation point. If a _.PERIOD command has been issued more recently than a _.NO PERIOD command, then an extra space is added to the right of any of these characters if it is followed on the same line in the output by another word and the punctuation character neither is followed immediately by another printing character nor was preceded in the source text by an underscore. _.PERIOD is the default. .skip .test page 5.indent -5 _.NO SUBTITLE .index NO SUBTITLE command>definition .BREAK .index subtitle>disabling Cancels the subtitle which might have been specified to appear on the second line at the top of each page by the _.SUBTITLE command or by any of the variations of the _.TOP SUBTITLE command. The output text will start 1 line higher on each page than if subtitles are being generated unless this shift has been prevented by a _.SPACE TOP command. .skip.test page 5.indent -5 _.NO TITLE .index NO TITLE command>definition .break .index title>disabling Cancels the title which might have been specified to appear on the first line at the top of each page by the _.TITLE command or by any of the variations of the _.TOP TITLE command. Each page, except the initial page or those following a _.CHAPTER, _.APPENDIX or _.INITIAL PAGE command, will bear the word page followed by the appropriate page number at the right end of the first line. .skip .test page 5.indent -5 _.NO UNDERLINE SPACE .index NO UNDERLINE SPACE command>definition .BREAK .index underlining>spaces .index spaces>disabling underlining of The spaces which appear between words in the remainder of the resulting text are not to be underlined when these spaces separate words which are being underlined but are not each immediately preceded in the source text by an extra ampersand. Spaces which are not immediately preceded by ampersands but which appear between underlined words are not underlined unless an _.UNDERLINE SPACE command has been issued. If an _.UNDERLINE SPACE command has been issued both in the main text of the document and in a footnote, then issuing a _.NO UNDERLINE SPACE command in the main text of the document does not cause spaces between underlined words in the footnotes to not be underlined, and issuing a _.NO UNDERLINE SPACE command in a footnote does not cause spaces between underlined words in the main text to not be underlined. .skip .test page 5.indent -5 _.NOTE rest of text on line .index NOTE command>definition .break NOTE: In most cases, the _.NOTE command will be used without any text to its right. The title which can appear to the right of the _.NOTE command is provided only for compatibility with RUNOFF. If second command appears to the right of the _.NOTE command, then this second command will be treated as a title instead. .skip.test page 3 .index embedded note>start of The output text which is specified by the lines of source text which follow the _.NOTE command are to be single spaced and to have the margins moved in by 4 columns on each side. A _.FILL command is simulated. The text which follows the _.NOTE command on the same line is to be centered above the text of the note. The original spacing and original margins are reset by a subsequent _.END NOTE command. .skip.test page 3 The amount by which the left and right margins are moved in for the note can be changed by the _.INDENT NOTE command. The number of blank lines inserted above and below the note can be changed by the _.SPACE NOTE command. .entry NOTE command>see INDENT NOTE command .entry NOTE command>see SPACE NOTE command .skip.test page 3 A _.LEFT MARGIN command and/or a _.RIGHT MARGIN command can be issued .index LEFT MARGIN command>in note .index RIGHT MARGIN command>in note .index Margin>in note within the note to temporarily change the margins for the rest of the note. The margins which were in effect when the _.NOTE command was issued will still be properly restored when the note is closed by an _.END NOTE command. The _.LEFT MARGIN command and/or the _.RIGHT MARGIN command should be used in a note only if the margins are to be temporarily changed. The new margins set by these commands will not be carried forward to the next note. If what is really desired is to change the amount by which the margins are shifted automatically for all of the notes, then the _.INDENT NOTE command should be used .entry INDENT NOTE command>see NOTE command .entry SPACE NOTE command>see NOTE command instead. .skip.test page 3 A _.SPACING command can be issued within a note to temporarily change .index Line spacing>in note .index SPACING command>in note the line spacing for the rest of the note. The original line spacing will be restored when the note is closed by an _.END NOTE command. The line spacing selected by the _.SPACING command within the note will not be carried forward to the next note. .skip.test page 3 A _.PARAGRAPH command with a following number can be issued within .index Indentation>of paragraphs in note .index Paragraph>within note .index PARAGRAPH command>within note a note to start a new paragraph with its first line indented by the indicated amount, and to set the default indentation of paragraphs in the rest of the current note and in all following notes. This does not change the indentation of paragraphs outside the notes. Issuing the _.PARAGRAPH command with a following number in a note also does .index Indentation>of first line of note not change the amount by which the first line of each note is automatically indented. The _.INDENT NOTE command can be used to change both the amount by which the first line of each note is automatically indented and the default indentation of paragraphs within the notes. .skip.test page 3 If a note is to bear a footnote number, then the footnote must be specified before the note is closed by the _.END NOTE command. .index Footnote number>at end of note The proper sequence of commands would be .skip.nofill.test page 11 _.NOTE first line of text to be in the note . . final line of text to be in the note _.FOOTNOTE first line of text to be in the footnote . . final line of text to be in the footnote _.END FOOTNOTE_.END NOTE .skip.fill If the footnote is instead declared after the _.END NOTE command has been issued, then the footnote number will be on a separate line following the note and will appear at the left margin of the surrounding text. .skip.test page 7.indent -5 _.NUMBER number .index NUMBER command>definition .break or .INDENT -5 _.NUMBER PAGE number .entry NUMBER PAGE command>synonym of NUMBER command .break .index title>enabling page number in simple .index page number>enabling in simple titles .index page number>changing value of .index number>changing page value Indicates that the next page is to have the specified number as its page number. If the title at the top of each page was specified by the _.TITLE command, rather than by some version of the _.TOP TITLE command, then the page number will appear at the upper right corner of each page. If an unsigned number was specified by the _.NUMBER command, then this will be the number of the next page. If a signed number was specified by the _.NUMBER command, then the number of the next page will be modified by this amount. Opposite of _.NO NUMBER. _.NUMBER is the default. .skip.test page 3 Pages which are not being chapter numbered are assigned as right and left pages according to whether the page numbers are odd and even, respectively. (This assignment is reversed if a _.RIGHT PAGE command .index left page>definition of .index right page>definition of .index page side>definition of .index odd page numbers>page side based on .index even page numbers>page side based on has been issued when a left page would otherwise have been generated, or vice versa, or if a odd number of subpages has been generated.) Changing the page number of the next page by issuing the .NUMBER command does not change this association of right and left pages with odd and even page numbers. If the page numbers are reset to 1 by a _.NUMBER#1 command at the start of a new section but a _.CHAPTER or an _.APPENDIX command is not used, for example, if an introduction with Roman page numbers is to precede an ordinary section with Arabic page numbers, then each new page one will be a right page. If the new page one is instead to be on the page immediately following the previous page in a document which is printed on both sides of the paper, then the _.NUMBER#1 command must be preceded by a _.FACING PAGE command. Issuing a _.FACING PAGE command is equivalent to issuing a _.LEFT PAGE command if and only if the next page would otherwise be a right page, and is equivalent to issuing a _.RIGHT PAGE command otherwise. .skip.test page 3 Each chapter, appendix or index will begin on the page side which next follows the last page of the previous section. If the new section .index chapter>association page number and page side .index appendix>association of page number and page side .index page side>association with page number set by CHAPTER command .index page side>association with page number set by APPENDIX command is always to begin on a right page, then the _.CHAPTER, _.APPENDIX or _.DO INDEX command must be preceded either by a _.RIGHT PAGE or by a .SKIP LEFT PAGE command. Both of these latter commands cause the next page to be a right page. The only difference between these commands is that the _.SKIP LEFT PAGE command generates an empty left page bearing titles and subtitles if the new section would otherwise begin on a left page. The _.RIGHT PAGE or _.SKIP LEFT PAGE command should be preceded by a _.FORCE PAGE command if the last page of the previous section included one or more immediate footnotes. .skip .test page 5.indent -5 _.NUMBER APPENDIX number .index NUMBER APPENDIX command>definition .break .index number>changing appendix value .index appendix>changing appendix number .index page number>prefix as appendix number Indicates that page numbers in the next appendix are to have a letter or number as their prefix which has a value equal to the specified number. The letter or number appearing with the word APPENDIX on the first page of the appendix will also have this value. The value 26 would select the letter Z if letters are being used to represent the appendix value, the value 27 would select the pair of letters AA, and so on. If the number is signed, then the next appendix value is to be incremented by the indicated amount. The resulting appendix value must be zero or greater. If a _.NUMBER APPENDIX command has not been issued, then the first appendix will be appendix 1 or A. .skip .test page 5.indent -5 _.NUMBER CHAPTER number .index NUMBER CHAPTER command>definition .break .index chapter>changing chapter number .index page number>prefix as chapter number .index number>changing chapter value Indicates that page numbers in the next chapter are to have a letter or number as their prefix which has a value equal to the specified number. The letter or number appearing with the word CHAPTER on the first page of the chapter will also have this value. The value 26 would select the letter Z if letters are being used to represent the chapter value, the value 27 would select the pair of letters AA, and so on. If the number is signed, then the next chapter value is to be incremented by the indicated amount. The resulting chapter value must be zero or greater. If a _.NUMBER CHAPTER command has not been issued, then the first chapter will be chapter 1 or A. .skip .test page 5 .left margin 5 .indent -5 _.NUMBER FOOTNOTE number .index NUMBER FOOTNOTE command>definition .BREAK .index footnote>automatically generated numbers .index footnote number>enabling .index number>changing footnote value A serial number identifying each footnote is to be inserted into the output text at the location at which each footnote was defined in the source text. The same number is inserted at the start of each footnote. If no number follows the _.NUMBER FOOTNOTE command, then the serial number of the next footnote will be the number of footnotes, including that footnote, which have been specified. If an unsigned number follows the _.NUMBER FOOTNOTE command, then this number becomes the serial number identifying the next footnote. If a signed number follows the _.NUMBER FOOTNOTE command, then the serial number of the next footnote is incremented by this amount. No such numbers are inserted either if a _.NUMBER FOOTNOTE command has not been issued, or if a _.NO NUMBER FOOTNOTE command has been issued more recently than a _.NUMBER FOOTNOTE command. .skip .test page 3 All of the numbers which are inserted into the output text at the locations at which the footnotes were defined will be represented in decimal and will be enclosed in square brackets unless a _.DISPLAY REFERENCE command has been issued. Each number, together with the .index DISPLAY REFERENCE command>discussion enclosing brackets, will be treated as a separate word unless, for that particular footnote, a _.JOIN command immediately precedes the _.FOOTNOTE command causing the leading bracket to be attached to the preceding word, or unless, for that particular footnote, a _.JOIN command immediately follows the _.END FOOTNOTE command causing the trailing bracket to be attached to the following word. .skip .test page 3 All of the numbers which are inserted at the start of the footnotes will similarly be represented in decimal and will be enclosed in square brackets unless a _.DISPLAY FOOTNOTE command has been issued. Providing .index DISPLAY FOOTNOTE command>discussion that the left margin is sufficiently to the right, the first printing character of the first line of the footnote will be lined up with the left margin. An _.INDENT FOOTNOTE command can be issued to cause the first line of the footnote, together with the leading number, to be indented to the right. For example, if an _.INDENT FOOTNOTE 10 command has been issued, and if the footnote number is in the range 10 through 99 and is being enclosed in square brackets, then the 10 character indentation minus the leading bracket, the 2 digits of the number, the trailing bracket and 2 separating spaces would leave 4 spaces to appear between the left margin and the leading bracket. .break .skip.test page 5.indent -5 _.NUMBER LEVEL number1, number2, number3, etc. .index NUMBER LEVEL command>definition .break .index number>changing value in subsection number .index subsection header>changing values in Specifies the numbers to be printed separated by periods at the left of the next subsection heading specified by a _.HEADER LEVEL command. If unsigned, the values are used directly. If signed, the new values increment the values printed to the left of the last subsection heading. .skip .test page 5.indent -5 _.NUMBER LIST number1, number2 .index NUMBER LIST command>definition .break .index number>changing value of item in automatically numbered list .index automatically numbered list>changing values in The next line of source text which is preceded by a _.LIST ELEMENT command in the list at the depth indicated by number1 is to be labeled with the value specified by number2. .SKIP .test page 3 Number1 is the depth of the list containing the item which bears the label which is to be changed. The depth of the list containing the item is the number of _.LIST commands which have been issued before the item but which have not been cancelled by subsequent matching _.END LIST commands. Number1 must not be greater than the depth of the current list. .skip .test page 3 Number2 is the value of the label to be shown with the next item which is in the list at the depth indicated by number1. If number2 is signed, then the value of the label is incremented by the indicated amount. .skip.test page 5.indent -5 _.NUMBER SUBPAGE number .index NUMBER SUBPAGE command>definition .break .index page number>suffix as subpage number .index subpaging>changing value of .index number>changing subpage value If an unsigned number is specified by the _.NUMBER SUBPAGE command, then this will be the number of the next subpage. If a signed number is specified by the _.NUMBER SUBPAGE command, then the number of the next subpage will be modified by this amount. The subpage number or increment must be stated as a number even if the subpage number is being displayed in the output in alphabetic form. .skip .test page 5.indent -5 _.OFFSET number .index OFFSET command>definition .break .index offset>setting for all pages .entry shifting document>see offset .entry moving document>see offset Indicates that the following text is to be shifted to the right by the insertion of the indicated number of spaces at the left end of each output line. This offset is in addition to the spaces inserted by a _.LEFT MARGIN command and any possible indentation applied by an _.INDENT or similar command. An _.OFFSET command issued outside a footnote applies both to the text outside the footnote and to the footnote. An _.OFFSET command issued inside a footnote applies only to the text inside the footnotes. The _.OFFSET LEFT PAGE and _.OFFSET RIGHT PAGE commands can similarly be issued to cause left and right pages to be offset differently. When this program is run, it will also ask the user to specify an offset which is applied to all lines on all (both left and right) pages in addition to any offsets specified within the source text by the _.OFFSET command. Unlike the shift applied by the _.LEFT MARGIN command, the offsets applied by the various forms of the _.OFFSET command do not change the appearance of the resulting document. .skip.test page 5.indent -5 _.OFFSET LEFT PAGE number .index OFFSET LEFT PAGE command>definition .break .index offset>setting for left pages Indicates that the following text which appears on left pages is to be shifted to the right by the insertion of the indicated number of spaces at the left end of each output line. The offset which was previously specified for all pages by an _.OFFSET command or which was specified only for right pages by an _.OFFSET RIGHT PAGE command will continue to be applied to the text which appears on right pages. Pages in the resulting document are considered to be left pages if they bear even page numbers unless a _.SUBPAGE command has been issued to force the retention of the same page number across several pages or unless a _.LEFT PAGE command has been issued to force a new page which is a left page or a _.RIGHT PAGE command has been issued to force a new page which is a right page. By offsetting left pages less than right pages, the text printed on these pages can be shifted away from the binding or staples used to hold the document together. .skip.test page 5.indent -5 _.OFFSET RIGHT PAGE number .index OFFSET RIGHT PAGE command>definition .break .index offset>setting for right pages Indicates that the following text which appears on right pages is to be shifted to the right by the insertion of the indicated number of spaces at the left end of each output line. The offset which was previously specified for all pages by an _.OFFSET command or which was specified only for left pages by an _.OFFSET LEFT PAGE command will continue to be applied to the text which appears on left pages. .skip.test page 5.indent -5 _.OPEN SPLICE .index OPEN SPLICE command>definition .break .entry file>see splice file .index splice file>establishing name .index loop>opening splice file before .index file name>of splice file .index user interaction>asking for name of splice file .index asking user>for name of splice file The user is to be asked immediately to supply the name of the splice file, but nothing is as yet to be read from this file. Nothing more is to be read from the previously specified splice file, if any. The _.OPEN SPLICE command is used prior to a loop which is generating form letters which are being typed directly to the user's terminal so that the user is not asked to specify the splice file while the first form letter is being typed. .skip.test page 5.indent -5 _.PAGE .index PAGE command>definition .break The _.PAGE command is the simplest of several commands which cause the text which is specified by the subsequent source lines to be placed on a new page. .skip.test page 3 If the next page which is generated after the _.PAGE command is issued has an odd page number then this new page will usually be a right page, i.e., will bear right page titles. The new page will usually be a left page if it has an even page number. The _.LEFT PAGE, _.RIGHT PAGE and _.FACING PAGE commands can be issued to force the next page to a particular side of the paper regardless of whether its page number is odd or even. The new association of odd and even page numbers with .index left page>definition of .index right page>definition of .index page side>definition of .index odd page numbers>page side based on .index even page numbers>page side based on particular sides of the paper then continues for the rest of the document. The association of odd and even page numbers with particular sides of the paper can also be changed if _.CHAPTER or _.APPENDIX commands are issued to start a new section since a new section usually starts on the following side of the paper. The association of odd and even page numbers with particular sides of the paper is also changed if an odd number of subpages is generated. .skip.test page 3 The other forms of the _.PAGE command are listed below. With the sole exception of the _.MOVABLE PAGE command, all of these commands terminate the line or paragraph currently being accumulated (i.e., they imply a _.BREAK command), and start the new page immediately. .lm+5 .skip.test page 3.i-5 .index new page>comparison of commands used for new page .index PAGE command>various forms compared _.END SUBPAGE causes the page numbers of the following pages to not bear the letter suffixes which were included after a previous _.SUBPAGE .index END SUBPAGE command>comparison with other PAGE commands command. After a _.SUBPAGE command is issued, until a subsequent _.END SUBPAGE command is encountered, the letter suffix, rather than the numeric portion, of the page number is incremented for each new page. .skip.test page 3.i-5 _.FACING PAGE causes the new page to be a left page if the previous page was a right page, or to be a right page if the previous page was .index FACING PAGE command>comparison with other PAGE commands a left page. As with the _.LEFT PAGE and _.RIGHT PAGE commands, the association of odd and even page numbers with the particular sides of the paper is established by the page number of the new page. .skip.test page 3.i-5 _.FORCE PAGE causes any immediate footnotes for which there was insufficient room on the previous page to be generated on an extra .index FORCE PAGE command>comparison with other PAGE commands page or pages before the next output text is place on a new page. .skip.test page 3.i-5 _.INITIAL PAGE causes the new page to be treated as an initial .index INITIAL PAGE command>comparison with other PAGE commands page which will not bear page titles. .skip.test page 3.i-5 _.LEFT PAGE causes the new page to be a left page regardless of whether it bears an odd or even page number. As with the _.RIGHT PAGE and .index LEFT PAGE command>comparison with other PAGE commands _.FACING PAGE commands, the association of odd and even page numbers with the particular sides of the paper is established by the page number of the new page. .skip.test page 3.i-5 _.MOVABLE PAGE causes 1 or more empty pages bearing titles and subtitles to be generated later when the next new page is begun. Unlike the .index MOVABLE PAGE command>comparison with other PAGE commands other forms of the _.PAGE command, the _.MOVABLE PAGE command does not itself cause a new page to be begun immediately, and does not terminate the line or paragraph in which it appears. The _.SKIP PAGE command should be used instead if the empty page is to be generated immediately. .skip.test page 3.i-5 _.RIGHT PAGE causes the new page to be a right page regardless of whether it bears an odd or even page number. As with the _.LEFT PAGE .index RIGHT PAGE command>comparison with other PAGE commands and _.FACING PAGE commands, the association of odd and even page numbers with the particular sides of the paper is established by the page number of the new page. .skip.test page 3.I-5 _.SKIP LEFT PAGE generates an empty page bearing titles and subtitles .index SKIP LEFT PAGE command>comparison with other PAGE commands if the next output text would otherwise have been placed on a left page. .skip.test page 3.I-5 _.SKIP PAGE generates 1 or more empty pages bearing titles and subtitles .index SKIP PAGE command>comparison with other PAGE commands before the next output text is placed on a new page. .skip.test page 3.I-5 _.SKIP RIGHT PAGE generates an empty page bearing titles and subtitles .index SKIP RIGHT PAGE command>comparison with other PAGE commands if the next output text would otherwise have been placed on a right page. .skip.test page 3.I-5 _.SUBPAGE causes a letter suffix to be attached to each page number. .index SUBPAGE command>comparison with other PAGE commands This suffix is incremented for each following page until a subsequent _.END SUBPAGE command is encountered. .skip.test page 3.I-5 _.TEST PAGE causes a new page to be begun if, and only if, there is .index TEST PAGE command>comparison with other PAGE commands not sufficient room on the current page for a specified number of additional single spaced lines. A _.BREAK command is, however, always implied. .skip.test page 3.I-5 _.TEST SPACING causes a new page to be begun if, and only if, there .index TEST SPACING command>comparison with other PAGE commands is not sufficient room on the current page for a specified number of additional lines spaced according to the current line spacing. A _.BREAK command is, however, always implied. .lm-5 .skip.test page 5.indent -5 _.PAGE LENGTH number .index PAGE LENGTH command>definition .break .index height of page .index length of page .index page height .index page size .index line>maximum number of on page Specifies the maximum number of lines which can appear on a single page. Provided that a _.NO PAGING command has not been issued more recently than a _.PAGING command, then a new page will be begun whenever the next line of output text, together with any immediate footnotes which have been specified and any bottom titles and bottom subtitles, would cause there to be more than the specified number of lines on the current page. The _.PAGE LENGTH command implies a _.BREAK command, but does not imply a _.PAGE command, i.e., issuing the _.PAGE LENGTH command does not cause a new page to be generated immediately unless the new page length is less than or equal to the number of lines already on the page. .skip _.PAGE LENGTH 58 is the default. .skip.test page 5.indent -5 _.PAGE SIZE number1, number2 .index PAGE SIZE command>definition .break NOTE: The _.PAGE SIZE command is equivalent to the combination of a _.PAGE LENGTH command issued with number1 as its argument and a _.PAGE WIDTH command issued with number2 as its argument. It is suggested that the latter 2 commands be used instead of the _.PAGE SIZE command. The _.PAGE SIZE command is a RUNOFF command and is included only for compatibility with RUNOFF. .skip .index height of page .index length of page .index page height .index page size .index line>maximum number of on page .index width of page The _.PAGE SIZE command specifies the height and width of the output pages. .skip .test page 3 Number1, if specified, becomes the new number of lines on an output page, including the lines used for top and bottom titles and subtitles. .skip .test page 3 Number2, if specified, becomes the new number of characters across an output page, exclusive of any offset specified by an _.OFFSET command. The right margin is set to the new page width also. .index right margin>setting .SKIP.TEST PAGE 3 _.PAGE SIZE 58, 60 is the default so that each page will contain at most 58 lines, including headings, and the right margin will be in column 60. .skip.test page 5.indent -5 _.PAGE WIDTH number .index PAGE WIDTH command>definition .break .index width of page Specifies the maximum number of characters across the width of an output page, exclusive of any offset applied by the _.OFFSET, _.OFFSET LEFT PAGE or _.OFFSET RIGHT PAGE commands, and exclusive of any offset requested by the user when the source file is actually processed. The right margin both for the text external to footnotes and for the text .index right margin>setting within footnotes is set equal to the new page width. The right ends of the portions of titles and subtitles which are being right justified will also be aligned with the new page width. The _.PAGE WIDTH command implies a _.BREAK command but does not imply a _.PAGE command. .skip _.PAGE WIDTH 60 is the default. .skip.test page 5.indent -5 _.PAGING .index PAGING command>definition .break .index paging>enabling .index automatic paging>enabling A new page is started whenever the next line to be added to the output page would cause that page to contain more lines than the page height specified by the _.PAGE LENGTH or the _.PAGE SIZE commands. Opposite of _.NO PAGING. _.PAGING is the default. .skip .test page 5 .indent -5 _.PARAGRAPH number1, number2, number3 .index PARAGRAPH command>definition .break .index paragraph>start of The next line of text is to start a new paragraph. .index indentation>of paragraph .index blank lines>before paragraph .index TEST SPACING command>implied by PARAGRAPH command .skip .test page 3 Number1 is the number of spaces by which the first line of the paragraph is to be indented from the left margin. .skip .test page 3 Number2 is the number of single spaced blank lines which are to precede the first line of the paragraph. .skip .test page 3 Number3 is the minimum number of initial lines of the paragraph which are to be kept together on the same page. The paragraph will start on a new page if there is insufficient space on the current page, at the current line spacing, for the number of printing lines specified by number3. .skip .test page 3 If any number is not specified, then the value specified for this number by the previous _.PARAGRAPH command is used. The default values are number1=5, number2=1 and number3=3. The _.PARAGRAPH command is equivalent to the 3 commands _.BLANK number2, _.TEST SPACING number3, _.INDENT number1 issued in this order. .skip .test page 3 A _.PARAGRAPH command can be issued with its following numbers in the main text of the document to change the indentation and spacing between paragraphs in the remainder of the main text of the document without changing the indentation and spacing between paragraphs in embedded notes or in footnotes. A _.PARAGRAPH command can be issued with its following numbers within a note or within a footnote to change the indentation or spacing between paragraphs within the current and following embedded notes or within the current and following footnotes respectively without changing the indentation and spacing between paragraphs in the main text of the document. .skip.test page 5.indent -5 _.PERIOD .index PERIOD command>definition .break .index extra spaces after punctuation>enabling .index punctuation>enabling extra spaces after When lines of text are being constructed while a _.FILL command is active, an extra space is inserted following any of the end of sentence punctuation characters period, question mark, colon and exclamation point when this is followed on the same line in the output by another word and the punctuation character is neither followed immediately by another printing character nor is preceded in the source text by an underscore. If a _.NO PERIOD command has been issued more recently than a _.PERIOD command, then an extra space is not added to the right of any of these characters. _.PERIOD is the default. .skip .test page 5.indent -5 _.PRINT FOOTNOTES .index PRINT FOOTNOTES command>definition .BREAK .index footnote>generating collected .index PAGE command>not implied before footnotes Similar to the _.DO FOOTNOTES command except the list of footnotes does not start on a new page unless a _.PAGE command has just been given. Neither the _.DO FOOTNOTES command nor the _.PRINT FOOTNOTES command implies an _.IMMEDIATE FOOTNOTES command. If a _.COLLECT FOOTNOTES command is active and if more footnotes are specified following the _.DO FOOTNOTES command or the _.PRINT FOOTNOTES command, then a subsequent _.DO FOOTNOTES command or a _.PRINT FOOTNOTES command will have to be issued to cause them to be printed. .skip .test page 5.indent -5 _.PRINT INDEX rest of text on line .index PRINT INDEX command>definition .break .index index>generating .index PAGE command>not implied before index An index is to be constructed on pages which have the same page numbering scheme as those in the preceding document. The index will begin on a new page if there is insufficient room at the bottom of the current page to print at least 3 lines at the current line spacing, or whatever number of lines has been most recently specified by the third argument of either the _.PARAGRAPH or _.AUTOPARAGRAPH command as the required number of lines to be available for a paragraph to begin at the bottom of a page. A _.PAGE command can also be issued before the _.PRINT INDEX command to force the index to start on a new page. A _.NUMBER command can be issued before the _.PRINT INDEX command to reset the numbers of the pages on which the index is printed. The _.DO INDEX command should be issued instead of the _.PRINT INDEX command if the page numbers of the pages on which the index is printed are to start with 1 and are to be prefaced by the word Index. If text is specified to the right of the _.PRINT INDEX command, then this text is centered at the start of the index. .skip .test page 5.indent -5 _.RESET .index RESET command>definition .break .index loop>end of .index form letter>end of .index restoring original conditions .index original conditions>restoring .index PAGE command>implied by RESET command Restores most original settings except the loop count parameter set by the _.LOOP command. This is most useful in the generation of form letters. The following text will start a new page. .skip .test page 5.indent -5 _.RIGHT number1, number2 .index RIGHT command>definition .break NOTE: The first argument of the _.RIGHT command is interpreted quite differently from that of any other command. This argument, however, is interpreted in the same manner as by the RUNOFF program which FROFF emulates. The _.RIGHT and _.RIGHT NO FILL commands perform similar functions, but the interpretation of the arguments of the _.RIGHT NO FILL command is consistent with the interpretations of most of the other commands. .skip.test page 3 The _.RIGHT command causes the next line or lines of source text which are not commands to be copied into the output with the rightmost character in each line in the same column. Each of these lines is copied without changing the number of words on the line and without changing the number of spaces before and between the words on the line. .skip .test page 3 Number1 specifies the horizontal placement of the next line or lines of text on the page. If number1 is missing or is zero, then the right character of the next line will be output in the right margin. If number1 is positive or unsigned, then the right character of the next line will be located the indicated number of character positions to the left of the right margin. If number1 is negative, then the right character of the next line will be located the indicated number of character positions to the right of the right margin. .skip .test page 3 Number2, if present, is the number of following lines, not counting those which contain only other commands, which are to be right justified in the output. Only a single line of source text is right justified if number2 is absent. .skip .test page 5.indent -5 _.RIGHT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3' .index RIGHT BOTTOM SUBTITLE command>definition .break .index right page>subtitle at bottom .index subtitle>at bottom of right page Specifies the text to be in the subtitle line just below the title line at the bottom of each right page. The contents of the subtitle line at the bottom of each left page are unchanged. The arguments are the same as for the _.BOTTOM SUBTITLE command. .skip .test page 5.indent -5 _.RIGHT BOTTOM TITLE 'phrase1','phrase2','phrase3' .index RIGHT BOTTOM TITLE command>definition .break .index right page>title at bottom .index title>at bottom of right page Specifies the text to be in the title line at the bottom of each right page. The contents of the title line at the bottom of each left page are unchanged. The arguments are the same as for the _.BOTTOM TITLE command. .skip .test page 4 .indent -5 _.RIGHT MARGIN number .index RIGHT MARGIN command>definition .break .index right margin>setting .index margin>setting right If lines of text are being constructed while a _.FILL command is active, then words are accumulated until the next word would extend beyond the indicated column, counting any indentation applied by the _.INDENT or similar command, but not counting any offset applied by the _.OFFSET command. _.RIGHT MARGIN 60 is the default. .skip.left margin 5.test page 5.indent -5 _.RIGHT NO FILL number1, number2 .index RIGHT NO FILL command>definition .break NOTE: The _.RIGHT and _.RIGHT NO FILL commands perform similar functions, but the interpretation of the arguments of the _.RIGHT NO FILL command is more consistent with the interpretations of the arguments of the other commands. .skip.test page 3 The _.RIGHT NO FILL command causes the following line or lines of text which are not commands to be copied into the output with the rightmost character in each line in the same column. Each of these lines is copied without changing the original number of words per line and without changing the original spacing before and between the words on the line. .skip.test page 3 Number1 specifies the horizontal placement of the next line or lines of text on the page. If number1 is missing, then the rightmost character of each output line will be in the right margin. If number1 is signed, then the lines of text are shifted to the right by the indicated number of columns from the right margin if the number is positive, or to the left if the number is negative. If number1 is unsigned, then the lines of text have their rightmost characters in the column indicated by number1. .skip.test page 3 Number2 specifies the number of lines which are to be copied in this manner. The original method of copying, whether within the range of a _.FILL command or within the range of a _.NOFILL, _.LEFT NO FILL, _.CENTER NO FILL or _.RIGHT NO FILL command issued without a second argument, is reset after the indicated number of source lines have been copied. If number2 is missing, then the following lines of source text which are not commands will continue to be copied so that their leftmost characters are in the indicated column until a subsequent _.FILL command is issued, or until a subsequent _.NO FILL, _.LEFT NO FILL, _.CENTER NO FILL or _.RIGHT NO FILL command is issued without a second argument. .skip .test page 5.indent -5 _.RIGHT PAGE .index RIGHT PAGE command>definition .break .index page>causing next to be right The text which is specified by the lines following the _.RIGHT PAGE command is to be placed on a new page which will bear right titles and/or subtitles. .skip .test page 5.indent -5 _.RIGHT TOP SUBTITLE 'phrase1','phrase2','phrase3' .index RIGHT TOP SUBTITLE command>definition .break .index right page>subtitle at top .index subtitle>at top of right page Specifies the text to be in the subtitle line just below the title line at the top of each right page. The contents of the subtitle line at the top of each left page are unchanged. The arguments are the same as for the _.TOP SUBTITLE command. .skip .test page 5.indent -5 _.RIGHT TOP TITLE 'phrase1','phrase2','phrase3' .index RIGHT TOP TITLE command>definition .break .index right page>title at top .index title>at top of right page Specifies the text to be in the title line at the top of each right page. The contents of the title line at the top of each left page are unchanged. The arguments are the same as for the _.TOP TITLE command. .SKIP.TEST PAGE 5.INDENT -5 _.RULE '1 or more characters', number1, number2 .index RULE command>definition .break .index line>ruled by repeating character or phrase .index ruled line>across width of page Rules a line formed by repeating the character or characters between the columns indicated by the numbers. If the half down flag character and the half up flag character are active, then these flag characters can be used to slightly modify the vertical placement of the characters which form the line. The line will be formed from minus signs if no character is specified. The line will be ruled between the left and right margins if the numbers are not specified. .skip.test page 3 Number1 specifies the number of spaces to the left of the leftmost character on the line. If number1 is missing, then the leftmost character on the line will be to the immediate right of the current left margin. If number1 is unsigned, then this is the number of spaces to the left of the leftmost character on the line. If number1 is signed, then the leftmost character on the line will be indented to the left of the current left margin by the indicated number of columns if number1 is negative, or to the right if number1 is positive. .skip.test page 3 Number2 specifies the column containing of the right end of the line. If number2 is missing, then the right end of the line will be in the current right margin. If number2 is unsigned, then the right end of the line will be in the column indicated by number2. If number2 is signed, then the right end of the line will be in the right margin, indented to the left by the indicated number of columns if number2 is negative, or to the right if number2 is positive. .skip.test page 3 _.RULE'-' would rule a line of minus signs between the left and right margins. .skip.test page 3 _.RULE'*#',+5,-5 would rule a line formed by alternating asterisks and spaces starting 5 columns to the right of the left margin and ending 5 columns to the left of the right margin. .skip.test page 3 The underscore character would have to appear twice between the apostrophes to obtain a line ruled with underscores if the underscore character is itself being used to mark special characters which are to be treated as normal characters instead. _.RULE'____',5,25 would specify a line of underscores starting in column 6 and extending through column 25. .skip.test page 5.indent -5 _.SEQUENCE 'characters' .index SEQUENCE command>definition .break .index collating sequence>of characters in index .index index>collating sequence in .index punctuation>collating sequence of in index Defines the sorting or collating sequence to be used in the index for characters other than the alphabetic letters A through Z and the digits 0 through 9. Any character in the sequence which is currently active as a flag character would have to be preceded by the underscore character or by whatever character has been most recently selected by a _.FLAGS QUOTE command. The sorting sequence specified by the _.SEQUENCE command is ignored for characters which have been encountered in items already inserted into the index. .skip.test page 3 Regardless of whether a _.SEQUENCE command has been issued, the lower case form of each alphabetic letter appears before the upper case form, and the letters appear before the digits. Other characters appear after the digits and, if they have not previously been specified by a _.SEQUENCE command, appear in the order in which these characters are first encountered in items which are inserted into the index. For example, if a plus sign is encountered in any item which is inserted into the index before a minus sign is encountered, then, when the items in the index are sorted, plus signs will always appear after the letters and digits but before the minus signs. If a minus sign were to be encountered before a plus sign, then it would be the minus signs which would always appear after the letters and digits but before the plus signs. The _.SEQUENCE command can instead be used to force a particular sorting sequence which is independent of the order in which the characters are first encountered. .skip.test page 3 _.SEQUENCE'+-*/' would specify that the items in the index would be sorted so that plus signs appeared earlier than minus signs, so that minus signs appeared earlier than asterisks, and so that asterisks appeared earlier than slashes. .skip .test page 5 .indent -5 _.SKIP number .index SKIP command>definition .break .index blank lines>insertion into output The specified number of extra blank lines with the current interline spacing between them are to be inserted into the output text. If no number is given, 1 is assumed. The _.BLANK command is similar, but gives the specified number of single spaced blank lines. Neither the _.BLANK nor the _.SKIP command is active at the top of a new output .index BLANK command>comparison with SKIP command .index SKIP command>comparison with BLANK command .index FIGURE command>comparison with BLANK and SKIP commands page. The _.FIGURE command can be used instead to generate blank lines at the start of the first page of output or after a new page has been requested by any of the various _.PAGE commands. .skip.test page 3 If the number appearing to the right of the _.SKIP command is negative or zero, then this number instead specifies the position of the next printed line relative to the bottom of the page if a bottom title or bottom subtitle has not been specified, or relative to the bottom margin if a bottom title and/or bottom subtitle has been specified. The absolute value of the number times the spacing specified by the _.SPACING command is the maximum number of lines which can be on the page below the next printed line. Either _.BLANK#0 or _.SKIP#0 would cause the next line of text to be at the bottom of the page. If the next printed line would already be at or below the specified position, then the _.SKIP command is ignored. The _.SKIP command is also currently ignored if the next printed line would be the first line on a new page, but a future version of FROFF should allow the position of the first line on a page to be specified in this manner. The position of the next printed line is stated relative to the bottom of the text above the bottom margin, instead of relative to the bottom of the page, so that only the page length, not the individual _.BLANK and _.SKIP commands, needs to be changed to maintain the same paging when a bottom title or subtitle is specified in a document which did not previously have titles or subtitles at the bottom of the pages. .skip.test page 3 _.SPACING 2_.SKIP 10 would cause the next printed line to be 20 lines lower on the page than it would otherwise have been. _.SPACING 2_.SKIP-10 would cause the next printed line to be the 21st line from the bottom of the page (that is, to be followed by 10*2 lines) if the next line would otherwise have been above the 21st line. .skip .test page 5.indent -5 _.SKIP LEFT PAGE .index SKIP LEFT PAGE command>definition .break .index blank left page .index blank page>left .index left page>generating blank left page to get to right page .index right page>skipping left page to get to The text which follows the _.SKIP LEFT PAGE command is to be placed on a new page which will bear right titles and/or subtitles. If the page which is currently being constructed is a right page (that is, if it bears right titles and/or subtitles), then an empty left page will be generated bearing only left titles and/or subtitles before the new right page is begun. .skip.test page 5.indent -5 _.SKIP PAGE number .index SKIP PAGE command>definition .break .index blank page>with break The text which follows the _.SKIP PAGE command is to be placed on a new page. The indicated number of empty pages will be generated before the new page is begun. If the number is missing, then a single extra empty page will be generated. .skip .test page 3 The _.SKIP LEFT PAGE and the _.SKIP RIGHT PAGE commands can be used instead to produce a single extra empty page if this extra empty page would be either a left page or a right page respectively. .skip .test page 3 The _.SKIP PAGE command is similar to the _.MOVABLE PAGE command, but the _.MOVABLE PAGE command does not break the line of text currently being accumulated, and the _.MOVABLE PAGE command delays the extra empty page until some circumstance other than the issuing of the _.MOVABLE PAGE command causes a new page to be generated. .skip .test page 5.indent -5 _.SKIP RIGHT PAGE .index SKIP RIGHT PAGE command>definition .break .index blank page>right .index blank right page .index right page>generating blank right page to get to left page .index left page>skipping right page to get to The text which follows the _.SKIP RIGHT PAGE command is to be placed on a new page which will bear left titles and/or subtitles. If the page which is currently being constructed is a left page (that is, if it bears left titles and/or subtitles), then an empty right page will be generated bearing only right titles and/or subtitles before the new left page is begun. .skip .test page 5.indent -5 _.SPACE APPENDIX number1, number2, number3 .index SPACE APPENDIX command>definition .break .index blank lines>at start of appendix .entry skipped lines>see blank lines .index appendix>spacing of header line Modifies the number of blank lines appearing on the first page of an appendix. .skip .test page 3 Number1 indicates the number of blank lines to appear on the first page of an appendix between the page header and the word APPENDIX. .skip .test page 3 Number2 indicates the number of blank lines to appear on the first page of an appendix between the word APPENDIX and the appendix heading which was specified by the _.APPENDIX command, or between the word APPENDIX and the text of the appendix if no appendix heading was specified by the _.APPENDIX command. .skip .test page 3 Number3 indicates the number of blank lines to appear on the first page of an appendix between the appendix heading which was specified by the _.APPENDIX command and the text of the appendix. .SKIP _.SPACE APPENDIX 9,1,3 is the default. .skip .test page 5.indent -5 _.SPACE BOTTOM number .index SPACE BOTTOM command>definition .break .index title>blank lines above title at bottom of page .index blank lines>between text and bottom titles .index bottom titles>blank lines above Modifies the number of blank lines appearing at the bottom of a page which bears a bottom title and/or a bottom subtitle. .break The number specified by the _.SPACE BOTTOM command is the minimum number of blank lines which are to appear between the text on the page and the bottom title if there is a bottom title, or between the text on the page and the bottom subtitle if there is a bottom subtitle but there is no bottom title. If either left or right pages bear bottom titles or subtitles, then the margin at the bottom of both left and right pages is the larger of the margins required for either left or right pages. No extra blank lines appear on the bottom of the page if neither left nor right pages bear either bottom titles or bottom subtitles. .SKIP _.SPACE BOTTOM 1 is the default. .skip .test page 5.indent -5 _.SPACE CHAPTER number1, number2, number3 .index SPACE CHAPTER command>definition .break .index blank lines>at start of chapter .index chapter>spacing of header line Modifies the number of blank lines appearing on the first page of a chapter. .skip .test page 3 Number1 indicates the number of blank lines to appear on the first page of a chapter between the page header and the word CHAPTER. .skip .test page 3 Number2 indicates the number of blank lines to appear on the first page of a chapter between the word CHAPTER and the chapter heading which was specified by the _.CHAPTER command, or between the word CHAPTER and the text of the chapter if no chapter heading was specified by the _.CHAPTER command. .skip .test page 3 Number3 indicates the number of blank lines to appear on the first page of a chapter between the chapter heading which was specified by the _.CHAPTER command and the text of the chapter. .SKIP _.SPACE CHAPTER 9,1,3 is the default. .skip .test page 5.indent -5 _.SPACE FOOTNOTE number1, number2, number3 .index SPACE FOOTNOTE command>definition .break .index blank lines>between footnotes .index blank lines>between text and footnotes .index footnote>blank lines above and between .index footnote header>blank lines above and below Modifies the number of blank lines appearing before a list of footnotes and between the footnotes in a list of footnotes. .skip .test page 3 Number1 indicates the number of extra blank lines to appear before the footnote header line. .skip .test page 3 Number2 indicates the number of extra blank lines to appear after the footnote header line. .skip .test page 3 Number3 indicates the number of extra blank lines to appear between successive footnotes on the same page. .SKIP _.SPACE FOOTNOTE 1,0,0 is the default. .skip .test page 5.indent -5 _.SPACE HEADER number1, number2 .index SPACE HEADER command>definition .break .index blank lines>before and after subsection titles .index subsection header>blank lines before and after Modifies the number of blank lines appearing before and after each subsection heading specified by a _.HEADER LEVEL command. .skip .test page 3 Number1 specifies the number of blank lines to appear in addition to the normal interline spacing before each subsection heading if the preceding text was not itself a subsection heading, or if the preceding text was a subsection heading having a level equal to or greater than 3, or whatever level has been specified as the level at which wrap-around occurs by the first number after the _.STYLE HEADERS command. .skip .test page 3 Number2 specifies the number of blank lines to appear in addition to the normal interline spacing after a subsection heading for which the level is less than 3, or whatever level has been specified as the level at which wrap-around occurs by the first number after the _.STYLE HEADERS command. If these blank lines are followed in turn by text which is not itself a subsection heading, then the next subsection heading will be preceded by the number of blank lines specified by number1. .SKIP _.SPACE HEADER 3,1 is the default. .skip .test page 5.indent -5 _.SPACE INDEX number1, number2, number3, number4 .index SPACE INDEX command>definition .break .index blank lines>at start of index .index index>blank lines at start of Modifies the number of blank lines appearing at the start of each index. .skip .test page 3 Number1 specifies the number of blank lines to appear above the header line in an index constructed by a _.DO INDEX command. .skip .test page 3 Number2 specifies the number of blank lines to appear between the header line and the index constructed by either a _.DO INDEX or a _.PRINT INDEX command. .skip .test page 3 Number3 specifies the number of blank lines to appear between the preceding text and the header line in an index constructed by a _.PRINT INDEX command. .skip .test page 3 Number4 specifies the number of blank lines to appear after an index constructed by a _.PRINT INDEX command. .SKIP _.SPACE INDEX 0,4,2,2 is the default. .skip.test page 5.indent -5 _.SPACE NOTE number1, number2, number3 .index SPACE NOTE command>definition .BREAK .index blank lines>before and after note .index embedded note>blank lines before and after Modifies the number of blank lines appearing before and after notes which are delimited by the _.NOTE and _.END NOTE commands. .skip .test page 3 Number1 specifies the number of blank lines, in addition to the normal line spacing, which are to appear before a note. .skip .test page 3 Number2 specifies the number of blank lines which are to appear between the title of the note and the text of the note. .skip .test page 3 Number3 specifies the number of blank lines, in addition to the normal line spacing, which are to appear after a note delimited by the _.NOTE and _.END NOTE commands. .SKIP _.SPACE NOTE 2,1,2 is the default. .skip .test page 5.indent -5 _.SPACE TOP number1, number2, number3 .index SPACE TOP command>definition .break .index blank lines>between top of page and top titles .index blank lines>between top titles and text .index title>blank lines below title at top of page Modifies the number of blank lines appearing at the top of each page. .skip .test page 3 Number1 indicates the number of blank lines which are to appear at the top of each page above the top title. .skip .test page 3 Number2 indicates the minimum number of blank lines which are to appear at the top of each page below the the title, or below the subtitle if there is one, and before the text which appears on the page. .skip .test page 3 Number3 indicates the minimum number of lines at the top of the page which are to be reserved for the top title and top subtitle. .SKIP _.SPACE TOP 0,2,3 is the default. .skip .test page 4 .indent -5 _.SPACING number .index SPACING command>definition .break .index single spacing lines .index double spacing lines .index triple spacing lines .index multiple spacing of lines .index line spacing>changing Specifies the interline spacing between lines of output text. One less than the indicated number of blank lines are to be inserted between the lines of text. The default is _.SPACING 1 which gives single spacing. .skip .test page 5.indent -5 _.SPLICE number .index SPLICE command>definition .break .index line>insertion from splice file .index insertion of lines from splice file .index splice file>reading lines from .index form letter>insertion into Indicates that the specified number of source lines are to be processed from the splice file. If a splice file is not open, then the user will be asked to specify the name of the splice file. If the number is missing, then the splice file is processed until the next _.END SPLICE or _.END FILE command is found in the splice file or until the end of the splice file is reached. .skip.test page 5.indent -5 _.STANDARD number .index STANDARD command>definition .break .index page width>setting .index right margin>setting Resets several formatting options to their default values. The text specified by the source lines which follow the _.STANDARD command will be single spaced, filled and justified. The left margin is set to zero, and the right margin and the page width are set to the number which follows the _.STANDARD command. If the resulting page width is 60, then the page height is set to 58. If the resulting page width is 70, then the page height is set to 74. The page height is not changed if the page width is other than 60 or 70. .skip .test page 5.indent -5 _.STYLE HEADERS number1, number2, number3, number4 .index STYLE HEADERS command>definition .break .index subsection header>wrap-around of .index subsection header>capitalization of .index appendix>capitalization of header line .index chapter>capitalization of header line .index wrap-around>of subsection header .index capitalization>of subsection header .index capitalization>of appendix title .index capitalization>of chapter title Modifies the depth of the subsections specified by the _.HEADER LEVEL command at which upper case conversion and blank line separation from the rest of the text take place. Modifies the minimum number of values which are to be printed separated by periods at the left of each subsection heading. .skip .test page 3 Number1 forces wrap-around format for depths equal to this value and above. .skip .test page 3 Number2 forces capitalization of the titles of depths equal to this value and below. Number2=0 causes capitalization only of each letter in the chapter or appendix titles. Number2=-1 does not even capitalize each letter in the chapter or appendix titles. .skip .test page 3 Number3 forces capitalization of the first letter of each word in the titles of depths equal to this value and below. Number3=0 caused capitalization only of the first letter in each word in the chapter or appendix titles. Number3=-1 does not even capitalize the chapter or appendix titles. .skip .test page 3 .index subsection header>minimum number of values in .index number>changing length of subsection number Number4 is the minimum number of values separated by periods which are printed separated by periods at the left of each subsection heading. If fewer values would be shown, then extra zeroes are inserted at the right to provide the requested number of values. .SKIP _.STYLE HEADERS 3,1,6,2 is the default. .SKIP.TEST PAGE 5.INDENT -5 _.STYLE INDEX number1, number2 .index STYLE INDEX command>definition .break Specifies whether each item in the index is to be separated from the first page number to its right by a row of periods or by a single comma, and whether the cases of the alphabetic letters in the items inserted into the index are to be modified to be uniform. The _.STYLE INDEX command does not itself cause the index to be generated. Either a _.DO INDEX command or a _.PRINT INDEX command must still be issued to cause the index to be constructed after all of the items have been inserted into the index. .skip.test page 3 .index index>comma between phrases and page numbers .index index>periods between phrases and page numbers .index comma>between phrases and page numbers in index .index periods>between phrases and page numbers in index Number1 specifies the overall appearance of the index. .skip.test page 3 Number1 = -1 causes each word or phrase in the index to begin at the left margin. A row of dots connects the word or phrase with the list of page numbers which begins midway between the left and right margins and which then extends to the right margin. .skip.test page 3 Number1 = 0 causes the each word or phrase in the index to begin at the left margin. A single comma separates the word or phrase from the list of page numbers which then extends to the right margin. .skip.test page 3 Number1 = 1 or greater (not yet implemented, equivalent to number1 = 0) produces a 2 column index. The general appearance of each column is similar to that produced by number1 = 0, except that the list of page numbers appearing to the right of each item in the index only extends across the remaining width of the corresponding column, not to the right margin. Number1 is the number of spaces separating the 2 columns of the index on each page. .skip.test page 3 .index capitalization>of index .index index>capitalization of items in Number2 specifies whether the first character in each of the words and phrases inserted into the index by an _.ENTRY or an _.INDEX command is to be converted to upper case or is to be the same as was specified in the text which appeared to the right of the _.ENTRY or _.INDEX command in the source text. Number2 also specifies whether the cases of all of the alphabetic letters in each word which is inserted into the index due to the word having been preceded in the source text by the index flag .index index flag>capitalization of words marked by character are to be identical to the cases of the letters in the appearance of the same word in the output text which is pointed to by the reference in the index. Regardless of the value of number2, the cases of the letters in the appearance of the word in the output text which is pointed to by the reference in the index are not modified. .skip.test page 3 Number2 = -1 causes the cases of all of the alphabetic letters in the items inserted into the index to be the same as in the source text. .skip.test page 3 Number2 = 0 causes the first character in each of the items inserted into the index to be converted to upper case unless this character is immediately preceded in the source text by either an underscore or a back slash. The cases of the subsequent letters in the items inserted into the index remain the same as in the source text. .skip.test page 3 Number2 = 1 causes the first character in each of the items inserted into the index to be converted to upper case unless this character is immediately preceded in the source text by either an underscore or a back slash. The cases of the subsequent alphabetic letters in items inserted into the index by either _.ENTRY or _.INDEX commands remain the same as in the source text. Subsequent alphabetic letters in each word which is inserted into the index by the word having been preceded in the source text by the index flag character are converted to lower case unless these letters are individually and immediately preceded in the source text by either underscores or circumflexes. .skip.test page 3 If a _.STYLE INDEX command has not been issued, then the items in the index will be separated from the page numbers by rows of dots, the first characters of all items inserted into the index will be converted to upper case, and the subsequent letters in the appearances in the index of words marked by the index flag character will be converted to lower case. This could also be selected by issuing a _.STYLE INDEX -1,1 command. .skip.test page 5.indent -5 _.SUBPAGE .index SUBPAGE command>definition .break .index page number>suffix as subpage number .index subpaging>enabling The text which is specified by the source lines which follow the _.SUBPAGE command is to be placed on a new page. The page number of this new page will be the same as that which preceded it, but the page number will bear a suffix which will be incremented each time that a new page is generated. The _.SUBPAGE and _.PAGE commands are equivalent when issued within the range of another _.SUBPAGE command. Subpage numbering will continue until a subsequent _.END SUBPAGE command is encountered. .skip.test page 5.indent -5 _.SUBTITLE rest of text on line .index SUBTITLE command>definition .break .index subtitle>at top of page The text specified by the _.SUBTITLE command is to appear on both left and right pages on the line below the title at the top of the page. .skip.test page 5.indent -5 _.TAB STOPS number1, number2, number3, etc. .index TAB STOPS command>definition .break .index tab character>conversion to spaces .index conversion>of tab character to spaces .index space>conversion of tab character to If a tab character is encountered in the source text which is being copied while either a _.NO FILL or a _.LITERAL command is active, then the tab character is converted to enough spaces to extend through the next column the number of which is the smallest number in the list established by the _.TAB STOPS command which is equal to or greater than the location at which the first space resulting from the conversion of the tab character is copied. The tab stops are initially at columns 8, 16, 24 and so on, at integral multiples of 8. At most 32 tab stops can be specified by the _.TAB STOPS command. .skip.test page 7.indent-5 _.TELL rest of text on line .index TELL command>definition .break or, if the _.FLAGS TEXT command is active .indent-5 _.TELL 'phrase' .break .index message>displaying to user .index user interaction>sending message to user .index page number>in message to user .index _> (greater than)>use in page number flag in messages .index greater than>use as page number flag in messages The _.TELL command specifies a message which is to be displayed on the controlling terminal, provided that the resulting document is not itself being displayed on the controlling terminal. A greater than character (_>), either alone or followed immediately by the number zero, can be used to indicate any location in the message at which the current page number in the resulting document is to be displayed. The use of the greater than character followed immediately by any number other than zero is reserved for marking locations in the message at which future versions of this program will make other dynamic insertions into the message. The character used to mark the locations at which the page numbers are to be inserted can be changed by the _.FLAGS PAGE command. The _.TELL command might be used to remind the user of pages which are to contain insertions. .skip.test page 3 The apostrophe, or some other character specified by a _.FLAG TEXT command, can be used to enclose the text of the message and additional commands can appear to the right on the same line only if a _.FLAG TEXT command has been issued more recently than a _.NO FLAG TEXT command. The text of the message will extend to but not include a following semicolon on the same line if the apostrophe is active but the first printing character to the right of the word "TELL" is not an apostrophe. The text of the message extends through the rightmost printing character on the line and no additional commands can appear to the right on the same line if a _.FLAG TEXT command has not been issued or if a _.NO FLAG TEXT command has been issued more recently than a _.FLAG TEXT command. The characters which are within the message will be determined by the same rules as are described elsewhere for the _.TITLE command. .skip.test page 5.indent -5 _.TEST PAGE number .index TEST PAGE command>definition .break .index PAGE command>issued if insufficient room on page .index TEST PAGE command>comparison with TEST SPACING command .index TEST SPACING command>comparison with TEST PAGE command .index line spacing>checking for sufficient room for single spaced lines The text specified by the lines which follow the _.TEST PAGE command will be placed on a new page if the number of lines which have not yet been used on the current page is less than the number specified by the _.TEST PAGE command. The _.TEST PAGE command assumes either that the lines will be single spaced, or that the number of multiple spaced lines has been converted to the corresponding number of single spaced lines. The _.TEST SPACING command can be issued instead to test whether there is enough room to print a particular number of lines at the current line spacing. If the text is being double spaced and room is needed to print 5 lines, then either a _.TEST PAGE 9 or a _.TEST SPACING 5 command could be used. .SKIP .test page 5.INDENT -5 _.TEST SPACING number .index TEST SPACING command>definition .break .index PAGE command>issued if insufficient room on page .index TEST PAGE command>comparison with TEST SPACING command .index TEST SPACING command>comparison with TEST PAGE command .index line spacing>checking for sufficient room at current line spacing The text specified by the lines which follow the _.TEST SPACING command will be placed on a new page if there does not remain enough room on the current page to print the number of lines specified by the _.TEST SPACING command at the current line spacing. The _.TEST PAGE command could be issued instead to test if there is enough room left on the page to print the indicated number of single spaced lines. .skip.test page 9.indent -5 _.TITLE rest of text on line .index TITLE command>definition .break or, if the _.FLAGS TEXT command is active, .indent-5 _.TITLE 'phrase' .break (Alias is _.TI, however, _.T is also accepted if the next printing character on the line is not alphabetic) .skip .break .index title>at top of page The _.TITLE command specifies the text which is to appear as the title at the top of both left and right pages. The word "Page" and the page number will appear at the upper right corner of each page unless a _.NO NUMBER command has been issued more recently than a _.NUMBER command. If a _.TITLE command either has not been issued, or has been issued without any text to be used as the title, then only the word "Page" and the page number will appear on the title line at the top of each page. The _.TITLE command does not imply a _.BREAK command. .skip .test page 3 The apostrophe, or some other character specified by a _.FLAG TEXT command, can be used to enclose the text of the title and additional commands can appear to the right on the same line only if a _.FLAG TEXT command has been issued more recently than a _.NO FLAG TEXT command. The text of the title extends through the rightmost printing character on the line and no additional commands can appear to the right on the same line if a _.FLAG TEXT command has not been issued or if a _.NO FLAG TEXT command has been issued more recently than a _.FLAG TEXT command. The characters which are within the title will be determined by one of the following rules. .index apostrophe>in command which can take rest of line as argument .list .le;If the apostrophe is not active, then the text of the title will start with the first character after the word "TITLE" in the command if this character is a printing nonalphabetic character, or will start with the next character after the first space if a space follows the word "TITLE". The text of the title will then extend through the rightmost printing character on the line. No additional commands can appear to the right on the same line. .le;If the apostrophe is active and is the next printing character following the word "TITLE" in the command, then the text of the title will start with the character immediately following the apostrophe and extend up to the next unpaired apostrophe or through the rightmost printing character on the line if an unpaired apostrophe does not appear on the line. If an apostrophe is to be inserted into the title itself, then it must be preceded by an underscore or by a second apostrophe which is otherwise ignored. Additional commands or a semicolon and whatever could otherwise appear on the next line can follow the unpaired apostrophe which appears at the right end of the text of the title. .le;If the apostrophe is active but is not the next printing character following the word "TITLE" in the command, then the text of the title will start with the next printing character after the word "TITLE" and will extend up to the next semicolon on the line or through the rightmost printing character on the line if a semicolon does not appear on the line. The text of the title will then incorporate any intervening periods, exclamation points and apostrophes. If a semicolon is to be inserted into the title itself, then it must be preceded by an underscore character. Additional commands or whatever could otherwise appear on the next line can follow the semicolon which terminates the text of the title. .end list.skip Initial spaces and multiple spaces within the definition of the title are used directly in constructing the titles. The leftmost character of the text of the title will appear in column 1 at the left edge of the page. If, applying the above rules, the text of the title starts with one or more spaces, then the rest of the title will effectively be indented from the left edge of the page. .skip .test page 3 The title will be written on the top line on the page unless the _.SPACE TOP command has requested extra blank lines at the top. Two blank lines will appear between the title and the body of the text or, if there is a subtitle, between the subtitle and the body of the text unless this separation has been changed by the _.SPACE TOP command. .skip .test page 3 The title specified by the _.TITLE command replaces that which may have been declared previously by a _.TOP TITLE, a _.LEFT TOP TITLE or a _.RIGHT TOP TITLE command. A subsequent _.TOP TITLE command would replace the title specified by the _.TITLE command on both left and right pages. A subsequent _.LEFT TOP TITLE command would leave the title specified by the _.TITLE command intact on right pages. A subsequent _.RIGHT TOP TITLE command would leave the title specified by the _.TITLE command intact on left pages. .skip .test page 3 .index TITLE command>comparison with TOP TITLE command .index TOP TITLE command>comparison with TITLE command A _.TOP TITLE command should be used instead of the _.TITLE command if page numbers are desired anywhere except following the word "Page" at the upper right corner of the page. The _.LEFT TOP TITLE and _.RIGHT TOP TITLE commands should be used instead of the _.TITLE command if the titles on left and right pages are to be different. The greater than character, which is used in the arguments of the _.TOP TITLE, _.LEFT TOP TITLE and _.RIGHT TOP TITLE commands to indicate the locations at which the page number is to appear, is treated as a nonflag character in the text of the title specified by the _.TITLE command and, in particular, is not replaced by the page number in the title specified by the _.TITLE command. .skip .test page 3 For example, the source text .skip.literal .page size 10,15.nojustify .first title.title First's This text appears on the first page. .page.nonumber.flag text.title'Second''s This text appears on the second page. .page.title Third's;.number This text appears on the third page. .end literal.skip would be converted into the following 3 pages of formatted text when processed by this program. .skip .NOFILL.TEST PAGE 12 ***************** ***************** ***************** *First's Page 1* *Second's * *Third's Page 3* * * * * * * * * * * * * *This text * *This text * *This text * *appears on the * *appears on the * *appears on the * *first page. * *second page. * *third page. * * * * * * * * * * * * * * * * * * * * * * * * * ***************** ***************** ***************** .FILL .skip .test page 5.indent -5 _.TOP SUBTITLE 'phrase1','phrase2','phrase3' .index TOP SUBTITLE command>definition .break .index subtitle>at top of page Specifies the text to be in the subtitle line just below the title line at the top of each page. A > character, either alone or followed by the number zero, can be used to indicate any location in the subtitle where the current page number is desired. The > character should not be followed by any number other than zero. .skip .test page 3 Phrase1 is the word or phrase to be left justified in the subtitle line at the top of each page. .skip .test page 3 Phrase2 is the word or phrase to be centered in the subtitle line at the top of each page. .skip .test page 3 Phrase3 is the word or phrase to be right justified in the subtitle line at the top of each page. .skip .test page 3 These arguments are constructed similarly to those of the _.TOP TITLE command. The description of the _.TOP TITLE command should be consulted for more information. .skip .test page 3 The _.LEFT TOP SUBTITLE command and the _.RIGHT TOP SUBTITLE command can be used to specify different subtitles which are to appear at the tops of left pages and right pages respectively. The _.TOP TITLE command or the combination of the _.LEFT TOP TITLE command and the _.RIGHT TOP TITLE command can be used to specify a top title which is to appear at the top of each page above the top subtitle. .skip .test page 3 No top subtitle is initially active. .skip .test page 6.indent -5 _.TOP TITLE 'phrase1','phrase2','phrase3' .index TOP TITLE command>definition .break (Alias is .TT) .skip .test page 3 .index title>at top of page The _.TOP TITLE command specifies the text which is to appear as a title at the top of both left and right pages. Each argument is a group of characters which is to be inserted into the title. A _> .index _> (greater than)>use as page number flag in titles .index greater than>use as page number flag in titles character, either alone or followed by the number zero, can be used to indicate any location in the title which is to contain the current page number. If an argument is present, then it should be enclosed between apostrophes. If the apostrophe is to be inserted into the title itself, then it can be preceded either by an underscore or by an extra appearance of the apostrophe. Successive arguments can be separated by one or more spaces and/or by a single comma, although commas are never required unless arguments are missing. The _.TOP TITLE command does not imply a _.BREAK command. .skip .test page 3 The 3 arguments of the _.TOP TITLE command specify the following portions of the title. .skip .test page 3 Phrase1 specifies the characters which are to be left justified in the titles so that the leftmost character appears in column 1. .skip .test page 3 Phrase2 specifies the characters which are to be centered in the titles between column 1 and the rightmost column which has ever been declared as a right margin. .skip .test page 3 Phrase3 specifies the characters which are to be right justified in the titles so that the rightmost character appears in the rightmost column which has ever been declared as a right margin. .skip .test page 3 The _.LEFT TOP TITLE command and the _.RIGHT TOP TITLE command can be used to specify different titles which are to appear at the tops of left pages and right pages respectively. The _.TOP SUBTITLE command or the combination of the _.LEFT TOP SUBTITLE command and the _.RIGHT TOP SUBTITLE command can be used to specify a top subtitle which is to appear at the top of each page below the top title. .skip _.TOP TITLE,,'Page >' is the default. .skip .test page 3 Initial spaces and multiple spaces within the arguments are used directly in constructing the titles. If the first argument begins with 10 spaces then the rest of that argument will effectively be indented 10 characters from the left edge of the page. Trailing spaces in the rightmost argument are included in the titles only if the rightmost argument is terminated by a closing apostrophe. If any argument is missing, then nothing will appear in the corresponding location in the titles. If the _.TOP TITLE command is issued without .index blank title>setting .index title>blank any arguments, then the title line will be absent, although any blank lines requested by the _.SPACE TOP command will still appear at the top of the page. .skip .test page 3 The title specified by the _.TOP TITLE command replaces that which may have been declared previously by a _.TITLE, a _.LEFT TOP TITLE or a _.RIGHT TOP TITLE command. A subsequent _.TITLE command would replace the title specified by the _.TOP TITLE command on both left and right pages. A subsequent _.LEFT TOP TITLE command would leave the title specified by the _.TOP TITLE command intact on right pages. A subsequent _.RIGHT TOP TITLE command would leave the title specified by the _.TOP TITLE command intact on left pages. .skip .test page 3 A greater than character followed immediately by the number zero or by any nonflag character other than a digit can be used to mark the location in the title at which the current page number is to appear. If the greater than character is followed immediately by a number, then this number will not appear in the title. If the greater than character is followed immediately by any non-flag character other than a digit, then this following character will appear in the title. The use of the greater than character followed immediately by a number other than zero is reserved for marking locations at which future versions of this program will make other dynamic insertions into the title. If the greater than character is to be inserted into the title itself, then it must be preceded by an underscore character. .skip .test page 3 For example, the source text .skip .literal .page size 10,25.first title .top title 'at left','< > _>','at right' .left top subtitle 'left page''s subtitle .right top subtitle,,'right page_'s subtitle .bottom title,'''centered bottom title'' The first page will be a right page. This is some more text which will appear on the first page. The second page will be a left page. .end literal .skip .test page 3 would be converted into the following 2 pages of formatted text when processed by this program. .skip .NOFILL.TEST PAGE 12 *************************** *************************** *at left < 1 > at right* *at left < 2 > at right* * right page's subtitle* *left page's subtitle * * * * * * * * * *The first page will be a* *The second page will be a* *right page. This is some* *left page. * *more text which will* * * *appear on the first page.* * * * * * * * 'centered bottom title' * * 'centered bottom title' * *************************** *************************** .FILL .skip .test page 3 The apostrophe character which is used to delimit the arguments of the _.TOP TITLE command can be changed by use of the _.FLAG TEXT command. However, the apostrophe, or whatever character has been most recently selected by the _.FLAG TEXT command, cannot be disabled by either the _.NO FLAG TEXT or the _.NO FLAG ALL commands. .skip .test page 4 .indent -5 _.UNDERLINE .index UNDERLINE command>definition .BREAK .index underlining>word or phrase .index word>underlining .index phrase>underlining The word or phrase appearing in the next line of source text is to be underlined in the output. The _.UNDERLINE command does not break the wrapping around of words on the line either before or after the word or phrase being underlined. .skip.test page 5 For example, the source text .skip.nofill _.FILL;Some words _.UNDERLINE;in this sentence are underlined. .skip.fill.test page 3 would produce the following text .skip .test page 3 Some words ^&in this sentence\& are underlined. .skip .test page 4 .indent -5 _.UNDERLINE SPACE .index UNDERLINE SPACE command>definition .break .index underlining>spaces .index spaces>underlining The spaces which appear between words in the remainder of the resulting text are to be underlined if these spaces separate words which are being underlined. The spaces which appear between words will not be underlined unless this command is given or unless each such space is immediately preceded by an ampersand character. Issuing this command in the main text of the document does not cause the underlining of spaces which appear between underlined words in footnotes, and vice versa. If an _.UNDERLINE SPACE command has been issued in the main text of the document, then a subsequent _.NO UNDERLINE SPACE command can be issued in the main text of the document to prevent the underlining of spaces which appear between underlined words in the remainder of the main text of the document. If an _.UNDERLINE SPACE command has been issued in a footnote, then a subsequent _.NO UNDERLINE SPACE command can similarly be issued in the same or in a later footnote to prevent the underlining of spaces which appear between underlined words in the remainder of that or subsequent footnotes. .skip .test page 4 .indent -5 _.UPPER CASE .index UPPER CASE command>definition .break .index retaining cases .index capitalization>retaining original The cases of alphabetic letters in the source lines following the _.UPPER CASE command are to be retained. Equivalent to the appearance of 2 circumflexes in the source text. Opposite of _.LOWER CASE. .index _^ (circumflex)>equivalent to UPPER CASE command when doubled .index double circumflex>equivalent to UPPER CASE command .index circumflex>equivalent to UPPER CASE command when doubled _.UPPER CASE is the default. .left margin 0.fill .skip left page.right top title,,'>' .center;Chapter 6 .skip .center;Cover Embellishment Commands .right top title'Cover Embellishment Commands',,'>' .skip 3 .center;General Description of the Cover Embellishment Commands .center;------- ----------- -- --- ----- ------------- -------- .skip .entry lettering>see multi-line lettering .index multi-line lettering>general discussion of Several commands can be used to construct and modify large, multi-line lettering such as might appear on the covers of documents. An outline, an edge or a dark background can be shown around such large, multi-line lettering or around any object which has previously been constructed by the user from ordinary printing characters, and the original printing characters in the lettering or object are then converted to spaces. In general, the commands which construct the lettering and which select these transformations work as would be expected with the other commands which might be used to construct a cover, namely with the _.LEFT MARGIN and _.RIGHT MARGIN commands, with the various _.NOFILL commands, and with the _.SKIP, _.BLANK and _.LITERAL commands. Although the _.TEST PAGE command can be used with these commands, the user must include the extra lines resulting from these transformations in the number which is specified to the right of the _.TEST PAGE command. .skip.test page 3 The results produced by applying a few of these commands are shown below. .skip.test page 3 The _.LETTER command can be issued to represent any text by multi-line lettering in any one of three sizes. The intermediate size is shown below. Shadows can also be cast below the lettering to either the left or to the right. .skip .LNF+3,1 .SQUEEZE 5,15,26,36,46,60 .test page 7.LETTER,2,2;SAMPLE .index multi-line lettering>sample .skip.test page 3 An _.OUTLINE command can be issued to construct a border around such large, multi-line lettering or around any object originally formed of printing characters which are on lines in the source text which are read in literal mode or in any of the various nofill modes. The edges of the border shown below are 1 character wide and 1 line high. .skip 2 .LNF+3,1 .OUTLINE,1,1 .SQUEEZE 5,15,26,36,46,60 .test page 9.LETTER,2,2;SAMPLE .index multi-line lettering>outline sample .index outline>sample .skip.test page 3 Either the _.LEFT EDGE command can be issued to show the lower left edge or the _.RIGHT EDGE command can be issued to show the lower right edge of multi-line lettering or of any object originally formed of printing characters read in literal mode or in any of the various nofill modes. The right edges shown below are 2 characters wide and 2 lines high. .LNF+3,1 .RIGHT edge,2 .SQUEEZE 5,15,26,36,46,60 .test page 9.LETTER;SAMPLE .skip.test page 3 .index multi-line lettering>edge sample .index edge>sample The _.BACKGROUND command can be issued to darken the background around multi-line lettering or around any object originally formed of printing characters, and to make the lettering or the object be transparent. .skip 2 .LNF+3,1 .BACKGROUND,0,60 .SQUEEZE 5,15,26,36,46,60 .test page 9.LETTER;SAMPLE .index multi-line lettering>background sample .index darkened background>sample .skip.test page 3 The aliases, argument lists and concise descriptions of the lettering and associated commands are listed below. .NOFILL .skip.test page 2 _.BG .BACKGROUND 'phrase', number1 through number10 Interconvert spaces and printing characters in text .skip.test page 2 _.EO .END OBJECT Terminate construction of an object being outlined .skip.test page 2 _.FLLTR .FLAGS LETTER 'character' Change flag marking modifications of large letters .skip.test page 2 _.LED .LEFT EDGE 'phrase', number1, number2, number3 Outline lower left edge of objects copied in text .skip.test page 2 _.LTR .LETTER 'phrase', number1, number2 through number5 Represent text on next line by multi-line letters .skip.test page 2 _.NFLLTR .NO FLAGS LETTER 'character' No flag can mark modifications of large letters .skip.test page 2 _.OUT .OUTLINE 'phrase', number1, number2 through number5 Outline objects in text copied in nofill or literal .skip.test page 2 _.RED .RIGHT EDGE 'phrase', number1, number2, number3 Outline lower right edge of objects copied in text .skip.test page 2 _.SQ .SQUEEZE number1, number2, number3 etc. Remove selected columns from multi-line letters .FILL .skip 1.test page 3 The _.OUTLINE, _.LEFT EDGE, _.RIGHT EDGE and _.BACKGROUND commands are mutually exclusive. To construct the negative image of a border of an object, it would be necessary to process the image twice, first applying the _.OUTLINE command, then inserting a _.BACKGROUND command and a _.NO FILL command into the resulting output text, and processing this text again to finally obtain the desired combination of transformations. The _.OUTLINE, _.LEFT EDGE, _.RIGHT EDGE and _.BACKGROUND commands cannot be issued inside a footnote. A _.FOOTNOTE command, if issued while one of these commands is active, will terminate the construction of the object prematurely. .index FOOTNOTE command>interaction with cover commands .skip 2.test page 8 .center Complete Descriptions of the Cover Embellishment Commands .center -------- ------------ -- --- ----- ------------- -------- .lm5 .skip.test page 6.indent -5 _.BACKGROUND 'phrase', number1, number2, through number10 .index BACKGROUND command>definition .break .index background>see darkened background .index darkened background>start of Causes the area surrounding the printing characters in the following lines of source text which are copied in literal mode or in any of the various nofill modes to be darkened by superimposing either a repeating single character or a repeating phrase upon this area. The printing characters originally within the darkened areas are changed to spaces. The entire rectangular background can be darkened, or the area either above or below a line connecting diagonally opposite corners can be darkened, or barberpole stripes can be darkened. The printing characters which are outside the darkened areas are not changed to spaces. Only a very bold, coarse pattern will remain legible when barberpole stripes are superimposed upon it. .index striped background .skip.test page 3 If a _.FILL command is active when the _.BACKGROUND command is encountered, so that the words which are read from the source text are being accumulated in lines of approximately equal length, then the darkened background will enclose spaces at the locations originally occupied by the printing characters on the lines copied from the source text following a subsequent _.LITERAL command or following any of the various forms of the _.NO FILL command. If one of the various forms of the _.NO FILL command is issued either before or after the _.BACKGROUND command, then the darkened background can enclose, in addition to the spaces at the locations originally occupied by the printing characters on the ordinary lines copied from the source text, one or more lines of large lettering each resulting from the application of a _.LETTER command. If a _.FILL command is active when the _.BACKGROUND command is issued, and still remains active when a subsequent _.LETTER command is encountered, then the darkened background will enclose only the resulting single line of large lettering. .skip.test page 3 If the lines of source text are being copied in literal mode or in any of the various nofill modes, then the background will continue to be darkened until one of the following conditions is encountered. .skip.list 0.display list,d .le;An _.END OBJECT command is issued to terminate the background. .le;A _.LEFT EDGE command, _.RIGHT EDGE command, _.OUTLINE command or another _.BACKGROUND command is issued to begin a new object or background. .le;A _.FILL command is issued so that the subsequent words in the source text are accumulated in lines of approximately equal length. .le;The number of lines of source text indicated by the previous _.LITERAL command or by any of the various forms of the _.NO FILL command has been copied and the words in the subsequent source text are to be accumulated again in lines of approximately equal length (i.e., the previous _.FILL command again becomes active). .end list .skip.test page 3 Since the _.BACKGROUND command accepts several unrelated arguments, these are summarized below, then each argument is described in detail. .SKIP.test page 3 .lm+10 .i-10;phrase##=#a phrase to be used to darken the background .test page 3.i-10;number1#=#number of columns to left of left edge of darkened background or offset from left margin if signed .test page 3.i-10;number2#=#location of right edge of darkened background or offset from right margin if signed .test page 3.i-10;number3#=#number of top border lines .test page 3.i-10;number4#=#number of bottom border lines .test page 3.i-10;number5#=#number of columns by which the phrase used to darken the background is offset from one line to the next .test page 3.i-10;number6#=#selects the horizontal alignment of the pattern obtained by repeating the phrase .test page 3.i-2;=#0, the superimposed phrase starts at the left end of the first line at the top of the darkened background .test page 3.i-2;=#1, the superimposed phrase starts at the upper left printing character used to darken the background .test page 3.i-10;number7#=#width of darkened stripes. Entire background is darkened if number7 through number10 are not specified .test page 3.i-10;number8#=#separation between stripes .test page 3.i-10;number9#=#separation between upper left corner and first stripe .test page 3.i-10;number10#=#number of columns by which the stripe is offset from one line to the next. .lm-10 .skip.test page 3 If a phrase is enclosed between a pair of apostrophes to the right of the _.BACKGROUND command, then the characters of this phrase are used to darken the background. The characters which are used to darken the background are determined by repeating the phrase across the width of the background, either starting the first appearance of the phrase in column 1 in the top line of the darkened background or else positioning the first character of the phrase to coincide with the upper left space which is actually converted to a printing character in the process of darkening the background. The value of number6 selects the type of alignment which is used. The phrase is offset to the right in the second line by the number of characters specified by number5, is offset to the right in the third line by this amount again, and so on through the last line needed to darken the background. If the phrase which is to be used to darken the background is not specified to the right of the _.BACKGROUND command, then the background will be darkened by repeating the letter X. .skip.test page 3 Number1 specifies the number of columns (character positions) to the left of the rectangular area which can be darkened. If number1 is missing, then the rectangular area will be to the immediate right of the current left margin. If number1 is unsigned, then this is the number of columns to the left of the rectangular area. If number1 is signed, then the left edge of the rectangular area will be shifted to the left of the current left margin by the indicated number of columns if number1 is negative, or to the right if number1 is positive. .skip.test page 3 Number2 specifies the location of the right edge of the rectangular area which can be darkened relative to the left edge of the page. If number2 is missing, then the right edge of the rectangular area will be in the current right margin. If number2 is unsigned, then the right edge of rectangular area will be in the column indicated by number2. If number2 is signed, then the right edge of the rectangular area will be in the right margin, shifted to the left by the indicated number of columns if number2 is negative, or to the right if number2 is positive. .skip.test page 3 Number3 specifies the number of lines which are to be darkened above those which are specified in nofill or literal mode. If number3 is zero, then no extra lines will be darkened above those which are specified in nofill or literal mode. If number3 is not specified, then the upper border will consist of a single line. .skip.test page 3 Number4 specifies the number of lines which are to be darkened below those which are specified in nofill or literal mode. If number4 is zero, then no extra lines will be darkened below those which are specified in nofill or literal mode. If number4 is not specified, then the lower border will consist of a single line. .skip.test page 3 The dimensions of the rectangular area which are controlled by number1 through number4 are diagrammed below. .skip.test page 3 .test page 13.nofill PHRASEPHRASEPHRASEPHRASEPHRASE ---- EPHRASEPHRASEPHRASEPHRASEPHRAS number3 SEPHRASEPHRASEPHRASEPHRASEPHRA ---- AS ASEPH ASEP EPH ASE HR RA EPH ASE H ASE HRA EP RA EPH lines specified in HR SEP RA EPH AS ASE ASEP literal or any of PH ASE HR RA EP RAS PH ASE the nofill modes EP EPH ASE HR SEP RA EPH AS SEPHRASEPHRASEPHRASEPHRASEPHRA ---- ASEPHRASEPHRASEPHRASEPHRASEPHR number4 RASEPHRASEPHRASEPHRASEPHRASEPH ---- ! ! number1 number2 .skip.fill.test page 3 Number5 specifies the shift, from one line to the next below it, of the repetitions of the phrase which are used to darken the background. If number5 is greater than zero, then the phrase on the next lower line will be shifted this number of characters to the right. If number5 is zero, then the repetitions of the phrase will be aligned vertically. If number5 is negative, then the phrase on the next lower line will be shifted this number of characters to the left. The maximum value of number5 is the number of characters in the phrase, which, like a value of zero, gives vertical alignment. If number5 is not specified, then it is assumed to be 1 giving alignment slanting to the lower right. Number5 is ignored if a phrase is not specified, or if the phrase consists of a single letter. .skip.test page 3 Number6 specifies, when a phrase is used to darken the background, whether the first character of the phrase which is repeated across the first line of the background is to be in column 1, or is to be the first character which actually replaces a space in the process of darkening the background. Number6 is assumed to have the value zero if it is not specified. .skip.test page 3 Number6 = 0 causes the pattern which is used to darken the background to be shifted so that the first character of the phrase could appear in column 1 in the top line of the darkened background, regardless of whether this position is within the rectangular area which can be darkened and regardless of whether a space is actually converted to a printing character at this position. .skip.test page 3 Number6 = 1 causes the pattern which is used to darken the background to be shifted so that the upper left character which is actually used to darken the background will be the first character of the superimposed phrase. .skip.test page 3 Number7 through number10 specify the orientation of the stripes which can be darkened in the rectangular area defined by number1 through number4. If number7 through number10 are not specified, then the entire rectangular area is darkened. .skip.test page 3 Number7 specifies the number of columns across the width of each of the darkened stripes. If number7 is not specified, then the stripes are assumed to be wider than the width of the rectangular area. .skip.test page 3 Number8 specifies the number of columns separating the darkened stripes. If number8 is not specified or is zero, then the darkened stripes are assumed to touch so that the entire rectangular area is darkened. .skip.test page 3 Number9 specifies the number of columns between the upper left corner of the rectangular area and the upper left corner of the left stripe which crosses the top line of the rectangular area. If number9 is positive, then the leftmost stripe which crosses the top line of the rectangular area will be offset this number of columns to the right of the upper left corner of the rectangular area. If number9 is negative, then the projection of the left edge of the stripe at or just below the upper left corner of the rectangular area would intersect the top line of the rectangular area this number of columns to the left of the upper left corner of the rectangular area. The maximum value of number9 is the sum of the stripe width and the stripe separation (number7 + number8), which, like a value of zero, would cause the left edge of a stripe to intersect the upper left corner of the rectangular area. .skip.test page 3 Number10 specifies the offset of the stripe from one line to the next line below it. If number10 is positive, then the stripe slants to the lower right. If number10 is negative, then the stripe slants to the lower left. The maximum value of number10 is the sum of the stripe width and the stripe separation (number7 + number8), which, like a value of zero, would cause the stripes to be vertical. .skip.test page 11 As an example, the source text .skip.test page 3 .literal .BACKGROUND'PHRASE',0,45,2,2,2,1,25,10,5,2 .LEFT MARGIN 2.LETTER'*',2,3;DARK .end literal .skip.test page 3 specifies the following items .skip.nofill.test page 4 left margin 0 phrase slant 2 stripe width 25 right margin 45 alignment type 1 stripe gap 10 top border 2 stripe offset 5 bottom border 2 stripe slant 2 .fill.skip.test page 14 and would produce the following darkened background when processed by this program. .skip.test page 11 .nofill PHRASEPHRASEPHRASEPHRASEP EPHRA PHRASEPHRASEPHRASEPHRASEP EPH ***** PHRASEP ASEPHR ASEP ** ** E H ** ** PHRA RASEP ASEP ASE * ** EP * ** P AS HRAS HRAS HRA P** AS H ** **PHRA PHR ASEPH HR EPH ** **** SEP AS HRASE A P EP ASE ** RAS HRA PHRA PHR EP AS SEPH ** **PHR EPHR EPH SEPH SE HRASEPHRASEPH PHRASEPHRASEPHRASEPHRA EPHRASEPHRASEPH PHRASEPHRASEPHRASEPH .fill.test page 3 .lm5 .lm5 .skip.test page 6.indent -5 _.END OBJECT .index END OBJECT command>definition .break .index outline>end of .index edge>end of .index darkened background>end of Terminates the including of additional lines read from the source text into the object being outlined by a previous _.OUTLINE, _.LEFT EDGE, _.RIGHT EDGE or _.BACKGROUND command. The object can also be terminated if a _.FILL command is issued, or if the range of the previous _.NOFILL command is terminated, or if another _.OUTLINE, _.LEFT EDGE, _.RIGHT EDGE or _.BACKGROUND command is issued to start a new object. .lm5 .skip.test page 6.indent -5 _.FLAGS LETTER 'character' .index FLAGS LETTER command>definition .break .index greater than>use as multi-line lettering transformation flag .index _> (greater than)>use as multi-line lettering transformation flag .index multi-line lettering transformation flag>changing .index multi-line lettering>indicating transformations of The specified character can be used as the first character of a pair of characters in the source text to select some transformation, such as inversion or reflection, of the large multi-line lettering produced by the _.LETTER command. Opposite of _.NO FLAGS LETTER. See the description of the _.LETTER command for a list of the available transformations. .skip.test page 3 _.FLAGS LETTER '__>' is the default. .lm5 .skip.test page 6.indent -5 _.LEFT EDGE 'phrase', number1, number2, number3 .index LEFT EDGE command>definition .break .index edge>start of left The printing characters in the following lines of source text which are copied in literal mode or in any of the various nofill modes are to be treated as forming an object of which only the lower left edge is to be shown. This edge is formed by copying the printing characters of the object into the closest adjoining empty locations below and to the left of the object, then deleting the original printing characters. Although the edge is usually formed from the printing characters of the object, some other single character or a phrase can be superimposed upon the edge instead. .skip.test page 3 If a _.FILL command is active when the _.LEFT EDGE command is encountered, so that the words which are read from the source text are being accumulated in lines of approximately equal length, then the object of which only the edge is shown will begin with the lines copied from the source text following a subsequent _.LITERAL command or following any of the various forms of the _.NO FILL command. If one of the various forms of the _.NO FILL command is issued either before or after the _.LEFT EDGE command, then the object can include, in addition to the ordinary lines copied from the source text, one or more lines of large lettering each resulting from the application of a _.LETTER command. If a _.FILL command is active when the _.LEFT EDGE command is issued, and still remains active when a subsequent _.LETTER command is encountered, then the object of which only the edge is shown will consist of only the resulting single line of large lettering. .skip.test page 3 If the lines of source text are being copied in literal mode or in any of the various nofill modes, then the printing characters in the source text will continue to be treated as part of the object until one of the following conditions is encountered. .skip.list 0.display list,d .le;An _.END OBJECT command is issued to terminate the object. .le;An _.OUTLINE command, _.RIGHT EDGE command, _.BACKGROUND command or another _.LEFT EDGE command is issued to begin a new object. .le;A _.FILL command is issued so that the subsequent words in the source text are accumulated in lines of approximately equal length. .le;The number of lines of source text indicated by the previous _.LITERAL command or by any of the various forms of the _.NO FILL command has been copied and the words in the subsequent source text are to be accumulated again in lines of approximately equal length (i.e., the previous _.FILL command again becomes active). .end list .skip.test page 3 Since the _.LEFT EDGE command accepts several unrelated arguments, these are summarized below, then each argument is described in detail. .SKIP.test page 3.LEFT MARGIN+10.I-10 phrase##=#a phrase to be used to darken the edge .i-10.test page 3 number1#=#width or height of the edge .i-10.test page 3;number2#=#number of columns by which the phrase used to darken the edge is offset from one line to the next .i-10.test page 3;number3#=#selects the horizontal alignment of the pattern obtained by repeating the phrase .i-2.test page 3;=#0, the superimposed phrase starts at the left end of the first line of the object .i-2.test page 3;=#1, the superimposed phrase starts at the upper left printing character used to darken the edge .skip.lm-10.test page 3 If a phrase is enclosed between a pair of apostrophes to the right of the _.LEFT EDGE command, then the characters of this phrase are used to form the edge. The characters which are superimposed upon the edge are determined by repeating the phrase across the width of the edge, either positioning the first character of the phrase in column 1 in the first line of the object or positioning the first character of the phrase to coincide with the upper left printing character used to construct the edge. The particular alignment used is selected by the value of number3. The phrase is offset to the right in the second line by the number of characters specified by number2, is offset to the right in the third line by this amount again, and so on through the last line needed for the edge. If the phrase which is to be superimposed upon the edge is not specified to the right of the _.LEFT EDGE command, then the edge will be formed from the closest printing characters in the object of which only the edge is shown. .skip.test page 3 Number1 specifies the thickness of the edges. Number1 is the number of columns to the left and the number of lines below the object into which the printing characters originally in the object are copied. Issuing the _.LEFT EDGE command does not shift the object to the right. If the object is closer than number1 columns to the left edge of the page, then the left column or columns of the edge will be lost. If number1 is not specified, then the edges are assumed to be 1 column wide and 1 line high. If number1 is negative, then an edge is shown to the lower right instead. The _.LEFT EDGE command is identical to a _.RIGHT EDGE command issued with number1 having the opposite sign. The _.RIGHT EDGE command causes a lower right edge of the indicated thickness to be shown if number1 is unsigned or positive, and causes the lower left edge to be shown if number1 is negative. .skip.test page 3 Number2 specifies the shift, from one line to that below it, of the phrase which is superimposed upon the edge. If number2 is greater than zero, then the phrase on the next lower line will be shifted this number of characters to the right. If number2 is zero, then the repetitions of the phrase will be aligned vertically. If number2 is negative, then the phrase on the next lower line will be shifted this number of characters to the left. The maximum value of number2 is the number of characters in the phrase, which, like a value of zero, gives vertical alignment. If number2 is not specified, then it is assumed to be 1 giving alignment slanting to the lower right. Number2 is ignored if a phrase is not specified, or if the phrase consists of a single letter. .skip.test page 3 Number3 specifies, when a phrase is being superimposed upon the edge, whether the first character of the phrase which is repeated across the first line of the object is to be in column 1 or whether the first character of the phrase is to be at the location of the first printing character used to form the edge. Number3 is assumed to have the value zero if it is not specified. .skip.test page 3 Number3 = 0 causes the pattern which is superimposed upon the edge to be shifted so that the first character of the phrase could appear in column 1 of the upper line of the object if it were possible for a character to actually appear in column 1 on this line. Since the edge is shown below the object, not beside it, the first line which can actually contain a printing character of the edge is the second line of the object so the character which could appear in column 1 in this second line would be shifted number2 characters in the phrase. .skip.test page 3 Number3 = 1 causes the pattern which is superimposed upon the edge to be shifted so that the upper left character which is actually used to construct the edge will be the first character of the superimposed phrase. .skip.test page 8 As an example of the construction of a left edge, the following source text .skip .literal .LEFT EDGE'PHRASE',3,1,1 .NOFILL.LEFT MARGIN 5.SPACING 3 .LETTER,2,3;LEFT .LETTER,2,3;EDGE .END OBJECT .end literal.skip.test page 3 would produce the following picture when processed by this program. The edges in this example are thicker than the separation between the 2 lines of lettering, so that the second line of lettering blocks the observer's view of a portion of the lower edges of the upper line of lettering. .skip .test page 18 .nofill P E RASEP S HRASE ASEP AS SE AS HRAS RA PHRA HRASE R RAS HRA PHR EPHRAS HRA PHR EPH EPH SEP HRA PHR EPH SE SEP AS PHR EPH SEP ASE R EPH SEPHRASEPH ASEPHRASEP RASE SEPH ASEPHRASE RASEPHRAS HRA ASE RAS HRA PH A PHRAS R EPH EPHR P ASEPH HR EPHR PH SEPH ASEP SE RASE EPH SEP ASEP E RA RAS SEP ASE ASE RASE AS RAS HRA PHR ASE RA RAS RA HRAS HRA PHR EP RAS HRA A PHRASE EPH HRASEPHRAS PHRASEPH EPHRASEPHR SEPHRASEPH PHRASEPHR EPHRASE EPHRASEP ASEPHRASE EPHRASEP SEPHR PHRAS RASEPHRA .index edge>sample .fill .lm5 .skip.test page 6.indent -5 _.LETTER 'phrase', number1, number2, through number5 .index LETTER command>definition .break .index multi-line lettering>complete description Causes the characters on the next line of the source text which does not specify a command to be represented in the output by large, multi-line lettering. This large, multi-line lettering can be produced in one of 3 sizes: 5, 7 or 9 lines high. The multi-line characters can also be treated as solid objects lying on a vertical plane which can cast shadows onto a horizontal plane. Ordinarily, the character which is repeated in the output text to represent the shape of a character is the same as the character which is being represented. However, some other single character or a phrase can be superimposed upon the multi-line lettering. If the lettering is too wide to fit onto the page, selected columns can be removed from the lettering by issuing a prior _.SQUEEZE command. .skip.test page 3 Only capital or upper case alphabetic letters can be represented. If the line of the source text which is being represented contains lower case alphabetic letters, then the upper case forms of the same letters are represented instead. The underscore character, which indicates that the next character is to be taken literally, is the only flag character which is active in the text being represented. The other flag characters are neither represented as multi-line characters nor acted upon. No provision is made for underscoring multi-line lettering nor for shifting it up into the superscript position nor for shifting it down into the subscript position. Several special transformations, such as reflection and inversion, of the multi-line lettering are indicated in the source text which is being represented by pairing the greater than character with several other following characters. The greater than character can itself be represented in the output as a large, multi-line character if it is preceded in the source text either by an underscore or by an extra appearance of itself. The character which is used for marking such transformations can be changed by the _.FLAGS LETTER command or can be disabled by the _.NO FLAGS LETTER command. The greater than character is initially active. If a _.FLAGS INDEX command has been issued, then the greater than character can also be used elsewhere in the source text to indicate words which are to be inserted into the index. .skip.test page 3 If one of the various forms of the _.NO FILL command is currently causing ordinary single line lettering to be left justified, centered .index centering>of multi-line lettering or right justified, then the multi-line lettering will be positioned similarly. If the _.NO FILL command specified the number of source lines which are to be copied, then the source line which is being represented as multi-line lettering counts as 1 line. If a _.LETTER command is issued within the range of a _.FILL command, then the multi-line lettering is left justified at the left margin. The multi-line lettering will also be left justified if within the range of a _.NO FILL or _.LEFT NO FILL COMMAND, centered if within the range of a _.CENTER or _.CENTER NO FILL command, or right justified if within the range of a _.RIGHT or _.RIGHT NO FILL command. .skip.test page 3 Since the _.LETTER command accepts several unrelated arguments, these are summarized below, then each argument is described in detail. .skip.test page 3 .lm+10 .i-10;phrase##=#a phrase to be superimposed upon the lettering .test page 3.i-10;number1#=#selects the size of the lettering in the line .test page 3.i-2;=#1, lettering is 5 lines high by 5 columns wide .test page 3.i-2;=#2, lettering is 7 lines high by 8 columns wide .test page 3.i-2;=#3, lettering is 9 lines high by 10 columns wide .test page 3.i-10;number2#=#number of columns separating multi-line lettering .test page 3.i-10;number3#=#selects type of shadows cast by lettering .test page 3.i-2;=#0, no shadows .test page 3.i-2;=#1, normal shadows cast toward the lower left .test page 3.i-2;=#2, normal shadows cast toward the lower right .test page 3.i-2;=#3, negative shadows cast toward the lower left .test page 3.i-2;=#4, negative shadows cast toward the lower right .test page 3.i-10;number4#=#number of columns by which the superimposed phrase is offset from one line to the next .test page 3.i-10;number5#=#selects the horizontal alignment of the superimposed pattern obtained by repeating the phrase .test page 3.i-2;=#0, superimposed phrase starts at the left end of the first line of the multi-line lettering .test page 3.i-2;=#1, superimposed phrase starts at the upper left printing character used to construct the lettering .lm-10 .skip.test page 3 If a phrase is enclosed between a pair of apostrophes to the right of the _.LETTER command, then the characters of this phrase are used to form the multi-line lettering. The characters which are superimposed upon the multi-line lettering are determined by repeating the phrase across the width of the multi-line lettering, either positioning the first character of the phrase in column 1 in the first line which forms the multi-line lettering or positioning the first character of the phrase to coincide with the upper left printing character used to construct the multi-line lettering. The particular alignment used is selected by the value of number5. The phrase is offset to the right in the second line by the number of columns specified by number2, is offset to the right in the third line by this amount again, and so on through the last line needed to form the multi-line lettering. If the phrase is not specified to the right of the _.LETTER command, then the multi-line lettering will instead be formed from the characters being represented. Unlike the numbers which can follow the _.LETTER command, the phrase specified by a _.LETTER command is not retained for subsequent _.LETTER commands which do not respecify it. .skip.test page 3 Number1 selects the size of the multi-line lettering. If number1 is not specified, then the new multi-line lettering will be the same size as was selected by the previous _.LETTER command. The smallest lettering, such as is produced by setting number1 = 1, is produced if number1 has not been specified by any previous _.LETTER command. .skip.test page 3 Number1 = 1 gives the smallest lettering. Most characters are 5 lines high by 5 columns wide. However, the letter I, the number one, and many of the punctuation marks are narrower. .index multi-line lettering>sizes .skip.test page 3 Number1 = 2 gives intermediate sized lettering. Most characters are 7 lines high by 8 columns wide with vertical strokes 2 columns wide. However, the letters M and W are wider and the letter I and the number one and many of the punctuation marks are narrower. .skip.test page 3 Number1 = 3 gives the largest lettering. Most characters are 9 lines high by 10 columns wide with vertical strokes 2 columns wide. However, the letters M and W are wider and the letter I and the number one and many of the punctuation marks are narrower. .skip.test page 3 As examples of the 3 sizes of lettering which can be selected by number1, the source text .skip.test page 4.literal .SPACING 2 .LETTER,1,1;ABCDEFGH .LETTER,2,2;ABCDE .LETTER,3,3;ABCD .end literal.skip.test page 3 would produce the following lines of multi-line lettering when processed by this program. .skip.test page 5.LETTER,1,1;ABCDEFGH .skip.test page 7.LETTER,2,2;ABCDE .skip.test page 9.LETTER,3,3;ABCD .skip.test page 3 Number2 specifies the apparent separation between adjacent multi-line characters. The adjoining profiles of adjacent pairs of multi-line characters are compared, and the second character of the pair is shifted so that the number of spaces in the output text between the multi-line characters both diagonally and horizontally is at least equal to number2. The most normal appearing separation is obtained if number2 is set equal to number1. Number2 = 0 would cause most characters to touch. However, the characters never overlap, so a short punctuation mark, such as a period or a comma, would never be tucked under the overhanging portions of a letter, such as an F or a T, which extends farthest out at the top. If number2 is not specified, then the separation specified by the previous _.LETTER command is used. The separation will be 1 column if the separation has not been specified by any previous _.LETTER command. .index multi-line lettering>separation between characters .skip.test page 3 As examples of the letter spacings selected by various values of number2, the source text .skip.test page 4.literal .SPACING 2 .LETTER,2,0;FAULT .LETTER,2,1;FAULT .LETTER,2,2;FAULT .end literal .skip.test page 3 would produce the following lines of multi-line lettering when processed by this program. .skip.test page 7.LETTER,2,0;FAULT .skip.test page 7.LETTER,2,1;FAULT .skip.test page 7.LETTER,2,2;FAULT .skip.test page 3 Number3 specifies the type of shadows which are shown below the lettering. If number3 is not specified, then the new multi-line lettering will bear the same type of shadows as was selected by the previous _.LETTER command. No shadows are produced if number3 has not been specified by any previous _.LETTER command. It is the normal upright lettering which is left justified, centered or right justified. The inclusion of the shadows does not shift the position of the normal upright lettering. If shadows are being cast toward the lower left but the lettering is too close to the left edge of the page, then the portion of the shadow cast by the upper left corner of the ordinary lettering will be cut off. If a _.BLANK or a _.SKIP command is issued after the magnified text, then the skipped lines are treated as beginning after the completion of the shadow, since the shadow is not cast into the blank space created by the skipped lines. .index multi-line lettering>shadows .skip.test page 3 Number3 = 0, does not produce shadows. .skip.test page 3 Number3 = 1, gives normal shadows cast toward the lower left. The shadows are dark where the characters are dark. .skip.test page 3 Number3 = 2, gives normal shadows cast toward the lower right. The shadows are dark where the characters are dark. .skip.test page 3 Number3 = 3, gives negative shadows cast toward the lower left. The shadows are dark around the profiles of the characters, but light where the characters are dark. .skip.test page 3 Number3 = 4, gives negative shadows cast toward the lower right. The shadows are dark around the profiles of the characters, but light where the characters are dark. .skip.test page 3 As examples of the shadows selected by various values of number3, the source text .skip.test page 3.literal .SPACING 2 .LETTER,2,3,2;TRUE .LETTER,2,3,4;FALSE .end literal .skip.test page 3 would produce the following lines of multi-line lettering when processed by this program. .skip.test page 14.LETTER,2,3,2;TRUE .skip.test page 14.LETTER,2,3,4;FALSE .skip.test page 3 Number4 specifies the shift, from one line to that below it, of the phrase which is superimposed upon the multi-line lettering. If number4 is greater than zero, then the phrase on the next lower line will be shifted this number of characters to the right. If number4 is zero, then the repetitions of the phrase will be aligned vertically. If number4 is negative, then the phrase on the next lower line will be shifted this number of characters to the left. The maximum value of number4 is the number of characters in the phrase, which, like a value of zero, gives vertical alignment. If number4 is not specified, then it is assumed to have the same value as was specified by the previous _.LETTER command. If number4 has not been specified by any previous _.LETTER command, then it is assumed to have the value 1 giving alignment slanting to the lower right. Number4 is ignored if a phrase is not specified, or if the phrase consists of a single letter. .skip.test page 3 Number5 specifies, when a phrase is being superimposed upon the lettering, whether the first character of the phrase which is repeated across the the first line of the multi-line lettering is to be in column 1 or is to be at the location of the first printing character on the line. If number5 is not specified, then the value of number5 specified by the previous _.LETTER command is used. Number5 is assumed to have the value 0 if it has not been specified by any _.LETTER command. .skip.test page 3 Number5 = 0 causes the pattern which is superimposed upon the multi-line lettering to be shifted so that the first character of the phrase could appear in column 1 of the upper line of the multi-line lettering regardless of whether a character actually appears in column 1. The character which is superimposed upon the upper left character actually used to form the multi-line lettering will be the character which just happens to be in the phrase at that point as the phrase is repeated across the width of the line. .skip.test page 3 Number5 = 1 causes the pattern which is superimposed upon the multi-line lettering to be shifted so that the upper left character which is actually used to construct the multi-line lettering will be the first character of the superimposed phrase. .skip.test page 3 A greater than sign appearing in the text to be represented is taken to be a control character and is not itself represented in the output. If the character following the initial greater than sign is also a greater than sign, then a single greater than sign is represented. A second character other than a greater than sign selects some option and neither character is represented. A >= character pair can be issued to remove any other transformations of the lettering which might have been selected by previous > character pairs. A >= is assumed to be issued after each line is represented so the transformations are not applied to subsequent lines. Several other > character pairs are recognized and are listed below. If a leading greater than sign is followed by any character other than those which are listed here, then both the greater than sign and the following character are ignored and are not represented in the multi-line lettering. .index multi-line lettering>indicating transformations of .skip.test page 3 >H and >V are used to reflect and invert the character representations. The lettering can be read with the resulting page turned upside down if the text being represented is spelled backwards and if both >H and >V are applied. .skip.test page 3.lm+5.i-4 >H##(Horizontal reflection) reflects the subsequent character representations horizontally so that the normal left edge is at the right. If >H is already in effect, then a second >H is ignored. A subsequent >= would return the character representation to normal. .index multi-line lettering>reflection .skip.i-4.test page 3 >V##(Vertical inversion) inverts the subsequent character representations vertically so that the normal lower edge is at the top. If >V is already in effect, then a second >V is ignored. A subsequent >= would return the character representation to normal. .index multi-line lettering>inversion .skip.lm-5.test page 3 >A and >F specify whether the distance between adjacent character representations is to be kept constant or whether the distance between character representations is to be adjusted to approximately equalize white space. .skip.lm+5.i-4.test page 3 >A##(Adjust) specifies that the distances to the next character representation and between subsequent character representations are to be adjusted to include approximately equal white space between the characters. A subsequent >F will cause the distances between adjacent character representations to be kept constant. The inclusion of the >A in the text being represented is not necessary unless a >F has been encountered. .index multi-line lettering>adjustment of spaces between .skip.i-4.test page 3 >F##(Fixed) specifies that the distances to the next character representation and between subsequent character representations are to be kept constant. A subsequent >A, or a subsequent >= will cause the distances between adjacent character representations to be adjusted to approximately equalize white space. .skip.lm-5.test page 3 >N and >W modify the number of empty columns used to represent space characters in the multi-line lettering. If a >= has been issued, or if neither a >N or a >W has been issued, then space characters are represented in the multi-line lettering by a number of empty columns equal to the most common width of the printing characters in the font. .skip.test page 3 .lm+5.i-4 >N##(Narrow), the number of empty columns by which space characters are to be represented in the multi-line lettering is to be half of the most common width of the printing characters in the font, whether or not a preceding >W has been encountered. A subsequent >= would cause subsequent spaces to again be their normal width. A subsequent >W would cause subsequent spaces to be one and one half times their normal width whether or not a preceding >N has been encountered. .index multi-line lettering>width of spaces between .skip.test page 3 .i-4 >W##(Wide), the number of empty columns by which space characters are to be represented in the multi-line lettering is to be one and one half times the most common width of the printing characters in the font, whether or not a preceding >N has been encountered. A subsequent >= would cause subsequent spaces to again be their normal width. A subsequent >N would cause subsequent spaces to be half of their normal width whether or not a preceding >W has been encountered. .lm-5 .skip.test page 6.indent -5 _.NO FLAGS LETTER .index NO FLAGS LETTER command>definition .break .index multi-line lettering transformation flag>disabling No special character can be used as the first character of a pair of characters in the source text to select transformations, such as inversion or reflection, of the large multi-line lettering produced by the _.LETTER command. Opposite of _.FLAGS LETTER. .skip.test page 3 _.FLAGS LETTER '__>' is the default. .lm5 .skip.test page 6.indent -5 _.OUTLINE 'phrase', number1, number2, through number5 .index OUTLINE command>definition .break .index outline>start of The printing characters in the following lines of source text which are copied in literal mode or in any of the various nofill modes are to be treated as forming an object of which only an outline is to be shown. This outline is formed by copying the printing characters of the object into the closest adjoining empty locations in all directions, then deleting the original printing characters. If the object which is being outlined encloses an empty space, then an outline is also drawn just inside the perimeter of the enclosed space. Although the outline is usually formed from the printing characters of the object, some other single character or a phrase can be superimposed upon the outline instead. .skip.test page 3 If a _.FILL command is active when the _.OUTLINE command is encountered, so that the words which are read from the source text are being accumulated in lines of approximately equal length, then the object which is outlined will begin with the lines copied from the source text following a subsequent _.LITERAL command or following any of the various forms of the _.NO FILL command. If one of the various forms of the _.NO FILL command is issued either before or after the _.OUTLINE command, then the object can include, in addition to the ordinary lines copied from the source text, one or more lines of large lettering each resulting from the application of a _.LETTER command. If a _.FILL command is active when the _.OUTLINE command is issued, and still remains active when a subsequent _.LETTER command is encountered, then the object which is outlined will consist of only the resulting single line of large lettering. .skip.test page 3 If the lines of source text are being copied in literal mode or in any of the various nofill modes, then the printing characters in the source text will continue to be treated as part of the object until one of the following conditions is encountered. .skip.list 0.display list,d .le;An _.END OBJECT command is issued to terminate the object. .le;A _.LEFT EDGE command, _.RIGHT EDGE command, _.BACKGROUND command or another _.OUTLINE command is issued to begin a new object. .le;A _.FILL command is issued so that the subsequent words in the source text are accumulated in lines of approximately equal length. .le;The number of lines of source text indicated by the previous _.LITERAL command or by any of the various forms of the _.NO FILL command has been copied and the words in the subsequent source text are to be accumulated again in lines of approximately equal length (i.e., the previous _.FILL command again becomes active). .end list .skip.test page 3 Since the _.OUTLINE command accepts several unrelated arguments, these are summarized below, then each argument is described in detail. .skip.lm+10 .i-10.test page 3;phrase##=#a phrase to be superimposed upon the outline .i-10.test page 3;number1#=#width of the edges forming the outline .i-10.test page 3;number2#=#height of the edges forming the outline .i-10.test page 3;number3#=#selects whether corners are square and whether objects which are concave from the bottom up are filled in .i-2.test page 3;=#0, rounded corners, open concave objects .i-2.test page 3;=#1, rounded corners, filled concave objects .i-2.test page 3;=#2, square corners, open concave objects .i-2.test page 3;=#3, square corners, filled concave objects .i-10.test page 3;number4#=#number of columns by which the superimposed phrase is offset from one line to the next .i-10.test page 3;number5#=#selects the horizontal alignment of the superimposed pattern obtained by repeating the phrase .i-2.test page 3;=#0, superimposed phrase starts at the left end of the first line of the outline .i-2;=#1, superimposed phrase starts at the upper left printing character used to construct the outline .lm-10 .skip.test page 3 If a phrase is enclosed between a pair of apostrophes to the right of the _.OUTLINE command, then the characters of this phrase are used to form the outline. The characters which are superimposed upon the outline are determined by repeating the phrase across the width of the outline, either positioning the first character of the phrase in column 1 in the first line of the outline or positioning the first character of the phrase to coincide with the upper left printing character used to construct the outline. The particular alignment used is selected by the value of number5. The phrase is offset to the right in the second line by the number of characters specified by number4, is offset to the right in the third line by this amount again, and so on through the last line needed for the outline. If the phrase which is to be superimposed upon the outline is not specified to the right of the _.OUTLINE command, then the outline will be formed from the closest printing characters in the object being outlined. .skip.test page 3 Number1 specifies the width of the edges which form the outline. Number1 is the number of columns to each side into which the printing characters originally in the object are copied. The _.OUTLINE command does not shift the object to the right. If the object is closer than number1 columns to the left edge of the page, then the left column or columns of the outline will be lost. If number1 is not specified, then the edges which form the outline are assumed to be 1 column wide. .skip.test page 3 Number2 specifies the height of the edges which form the outline. Number2 is the number of lines above and below into which the printing characters originally in the object are copied. If number2 is not specified, then the height of the edges will be the same as their width. The maximum height of the edges is 2 lines. The edges will be 2 lines high if a height greater than 2 is requested. .skip.test page 3 Number3 specifies whether the outer corners of outlines having either a height which is greater than 1 or a width which is greater than 1 are to be rounded or square, and whether the interiors of objects which are concave from the bottom up are to be filled in. Outlines having both a height of 1 and a width of 1 always have square corners. If multi-line lettering is being filled in, then the horizontal separation between the large characters should be equal to no more than twice number1 columns, and the vertical separation between the large characters should be equal to no more than twice number2 lines, but should never be more than 4. Provided that the separations are held within these limits, the result will be white lettering on a black background extending just far enough outside the lettering to outline the left, upper and right edges. The bottom of the protruding background will, however, be flush across the full width of the lowest portions of the lettering. .skip.test page 3 Number3 = 0, gives rounded corners but does not fill in concave objects. Any object with a top and with sides which are further apart than twice the value of number1 will have a empty center. .skip.test page 3 Number3 = 1, gives rounded corners and fills in objects which are concave from the bottom. Any object with a top and with sides will have the center completely darkened down to the bottom edge of the shorter side. .skip.test page 3 Number3 = 2, gives square corners but does not fill in concave objects. Identical to number3 = 0 if the outlines have a thickness of 1. .skip.test page 3 Number3 = 3, gives square corners and fills in objects which are concave from the bottom. Identical to number3 = 1 if the outlines have a thickness of 1. .skip.test page 3 Either of the following 2 examples of source text .skip.test page 5.literal .CENTER NO FILL 25.SPACING 2 .OUTLINE,1 .LETTER,2,2;USER .LETTER;GUIDE .END OBJECT .end literal .skip.test page 3 or .skip.test page 11.nofill _.NO FILL _.OUTLINE,1 .nofill +6,1.LETTER,2,2,0;USER _.CENTER NO FILL 25.SKIP.LETTER,2,2;GUIDE _.END OBJECT .fill.skip.test page 20 would be converted into the following picture when processed by this program. .skip 2.nofill .NO FILL +6,1 .OUTLINE,1 .LETTER,2,2;USER .skip .no fill +2,1 .LETTER;GUIDE .fill .skip 1.test page 20 .index outline>sample Changing the _.OUTLINE,1 commands in either of the above examples to _.OUTLINE,1,,1 would produce the following picture instead. .skip 2.nofill .NO FILL +6,1 .OUTLINE,1,,1 .LETTER,2,2;USER .skip .no fill +2,1 .LETTER;GUIDE .fill .skip.test page 3 Number4 specifies the shift, from one line to that below it, of the phrase which is superimposed upon the outline. If number4 is greater than zero, then the phrase on the next lower line will be shifted this number of characters to the right. If number4 is zero, then the repetitions of the phrase will be aligned vertically. If number4 is negative, then the phrase on the next lower line will be shifted this number of characters to the left. The maximum value of number4 is the number of characters in the phrase, which, like a value of zero, gives vertical alignment. If number4 is not specified, then it is assumed to be 1 giving alignment slanting to the lower right. Number4 is ignored if a phrase is not specified, or if the phrase consists of a single letter. .skip.test page 3 Number5 specifies, when a phrase is being superimposed upon the outline, whether the first character of the phrase which is repeated across the first line of the outline is to be in column 1 or is to be at the location of the first printing character on the line. Number5 is assumed to have the value zero if it is not specified. .skip.test page 3 Number5 = 0 causes the pattern which is superimposed upon the outline to be shifted so that the first character of the phrase could appear in column 1 of the upper line of the outline regardless of whether a character actually appears in column 1. The character which is superimposed upon the upper left character actually used to form the outline will be the character which just happens to be in the phrase at that point as the phrase is repeated across the width of the line. .skip.test page 3 Number5 = 1 causes the pattern which is superimposed upon the outline to be shifted so that the upper left character which is actually used to construct the outline will be the first character of the superimposed phrase. .lm5 .skip.test page 6.indent -5 _.RIGHT EDGE 'phrase', number1, number2, number3 .index RIGHT EDGE command>definition .break .index edge>start of right The printing characters in the following lines of source text which are copied in literal mode or in any of the various nofill modes are to be treated as forming an object of which only the lower right edge is to be shown. This edge is formed by copying the printing characters of the object into the closest adjoining empty locations below and to the right of the object, then deleting the original printing characters. Although the edge is usually formed from the printing characters of the object, some other single character or a phrase can be superimposed upon the edge instead. .skip.test page 3 The arguments accepted by the _.RIGHT EDGE command are summarized below. The _.RIGHT EDGE command is identical to a _.LEFT EDGE command issued with number1 having the opposite sign. The _.LEFT EDGE command causes a lower left edge of the indicated thickness to be shown if number1 is unsigned or positive, and causes the lower right edge to be shown if number1 is negative. The description of the _.LEFT EDGE command should be consulted for a detailed description the arguments of these commands. .SKIP.LEFT MARGIN+10.I-10.test page 3 phrase##=#a phrase to be used to darken the edge .i-10.test page 3 number1#=#width or height of the edge .i-10.test page 3;number2#=#number of columns by which the phrase used to darken the edge is offset from one line to the next .i-10.test page 3;number3#=#selects the horizontal alignment of the pattern obtained by repeating the phrase .i-2.test page 3;=#0, the superimposed phrase starts at the left end of the first line of the object .i-2.test page 3;=#1, the superimposed phrase starts at the upper left printing character used to darken the edge .lm-10 .lm5 .skip.test page 6.indent -5 _.SQUEEZE number1, number2, number3 etc. .index SQUEEZE command>definition .break .index reducing width of multi-line lettering .index compressing width of multi-line lettering .index multi-line lettering>reducing width of Removes selected columns from the large, multi-line lettering constructed by the next _.LETTER command so that the lettering can fit into the desired page width. The columns which are to be removed are indicated by specifying the column numbers which would apply if the lettering were to be left justified with a left margin of zero. When the lettering is constructed, the indicated columns are removed, and only then is the remaining portion of the lettering justified or centered on the page. The list is cleared by the _.LETTER command to which it is applied. .skip.test page 3 If several adjacent columns are to be removed, then these can be specified individually, or the left column which is to be removed can be specified, followed by the negative of the total number of adjacent columns including the left column. Thus any of the following commands could be used to remove columns 25, 26, 27, 45 and 46. .skip.test page 5.literal .SQUEEZE 25,26,27,45,46 .SQUEEZE 25,-3,45,46 .SQUEEZE 25,26,27,45,-2 .SQUEEZE 25,-3,45,-2 .SQUEEZE 25,-1,-1,-1,45,-1,-1 .end literal .skip.test page 3 The list of column numbers can include up to 50 isolated columns, or up to 25 groups of 2 or more adjacent columns. No more than 32 numbers can be specified by a single _.SQUEEZE command, however, so subsequent _.SQUEEZE commands can be issued if necessary to append additional column numbers to the list. .skip.test page 3 For example, to make the word WIDER fit into a narrow page, one could first produce the word without compacting it by issuing a command such as the following .skip.test page 3 .literal .LETTER,2,2;WIDER .end literal .SKIP.test page 3 which would produce the following multi-line lettering. .skip .nofill.test page 7 WW WW IIIIII DDDDD EEEEEEEE RRRRRR WW WW II DD DD EE RR RR WW WW WW II DD DD EE RR RR WW WWWW WW II DD DD EEEEEE RRRRRR WWWW WWWW II DD DD EE RR RR WWW WWW II DD DD EE RR RR WW WW IIIIII DDDDD EEEEEEEE RR RR .skip.test page 3.fill Columns which are not essential to the legibility of the lettering would then be decided upon. Several such columns are ruled with vertical lines in the picture below. It is not necessary that the columns which are removed contain any printing characters. It is usually best to only remove columns which contain the same characters as adjacent columns which are retained. .skip.nofill.test page 9 11111111112222222222333333333344444444445 12345678901234567890123456789012345678901234567890 WW ! WW !IIII! DDD!D EEEEE!!E RRR!RR WW ! WW ! II ! DD ! DD EE !! RR ! RR WW W! WW ! II ! DD ! DD EE !! RR ! RR WW WW!W WW ! II ! DD ! DD EEEEE!! RRR!RR WWWW !WWWW ! II ! DD ! DD EE !! RR !RR WWW ! WWW ! II ! DD ! DD EE !! RR ! RR WW ! WW !IIII! DDD!D EEEEE!!E RR ! RR .fill.skip.test page 3 The columns to be removed would then be specified by a _.SQUEEZE command issued prior to the _.LETTER command, such as in the following example, .skip.test page 2.literal .SQUEEZE 6,13,18,24,36-2,44 .LETTER,2,2;WIDER .end literal .skip.test page 3 which would produce the following compacted lettering when processed by this program. .skip .test page 7.nofill WW WW IIII DDDD EEEEEE RRRRR WW WW II DD DD EE RR RR WW W WW II DD DD EE RR RR WW WWW WW II DD DD EEEEE RRRRR WWWW WWWW II DD DD EE RR RR WWW WWW II DD DD EE RR RR WW WW IIII DDDD EEEEEE RR RR .fill .left margin 0.fill .skip left page.right top title,,'>' .center;Appendix A .skip .center;How to Run FROFF on Various Computer Systems .rtt'How to Run FROFF on Various Computer Systems',,'>' .skip 3 .CENTER;How to Run FROFF on the DECsystem10 and DECsystem20 .CENTER;--- -- --- ----- -- --- ----------- --- ----------- .SKIP .test page 3 .index DECsystem20 computer>instructions for use of FROFF on When started, FROFF will ask you for the name of the source file which contains the text which is to be processed. The name of this source file can consist of 1 to 6 letters or digits, optionally followed by a period and then by 1 to 3 letters or digits. The 3 letters or digits which can appear to the right of the period will be assumed to be _.RNO unless you specify otherwise. FROFF will read the text and the commands which are in the file which you specify, and will write a new file containing the processed text. The name of the new file will have the same 1 to 6 letters or digits to the left of the period, but the 3 letters to the right of the period will be _.DOC instead. .skip .test page 3 If you want to specify the output device and/or the name of the output file then these can be typed to the left of an equal sign preceding the name of the source file. You can also specify the device for the source file. Thus, if you want to process the file named ONE.RNO which is on your disk area, and if you want the resulting text to be written to a file named ONE.DOC also in your disk area, then the command which you type could be either .skip.test page 3.indent 5 ONE .break or .break.indent 5 DSK:ONE.DOC=DSK:ONE.RNO .skip .test page 3 If FROFF is being run on a DECsystem10, then the project and programmer number of the owner of the source file can be written enclosed in square brackets either before the name of the device from which the source file is read, between the name of the device and the name of the source file or after the name of the source file. If you are privileged to write to another area, then the project and programmer number of the owner of that area can be written similarly enclosed in square brackets either before the name of the device to which the output file is to be written, between the name of the device and the name of the output file, or between the name of the output file and the equal sign. .skip .test page 3 If you want to process the text which is in several source files and to have this text be treated as though it appeared in a single source file, then you can type the names of these files separated by commas. If the source file references a splice file, then the name of the splice file should follow the name of the source file by which it is first referenced. If the next file name would cause the line which you are typing to be longer than 72 characters, then you should instead type either a comma or an ampersand (_&) at the right end of the line, and continue typing the names of the remaining files on the following lines. The comma or ampersand must appear to the right of a file specification since a single file specification cannot be split across 2 lines. Instead of retyping all of this information each time, you can place this information into another file, and type its name either preceded immediately or followed immediately by an at sign character (@). Each line in the command file must contain no more than 72 characters, but the names of the files to be processed can appear either together on a single line if separated by commas or on separate lines in which case rightmost commas or ampersands are not necessary. If the command file contains more than a single command, then these commands must be separated by semicolons. The 3 letters or digits which can appear to the right of the period in the name of the command file will be assumed to be _.CMD if you do not specify otherwise. .left margin 0.fill .skip left page.right top title,,'>' .center;Appendix B .skip .center;Use of FROFF at the Yale School of Management .rtt'Use of FROFF at the Yale School of Management',,'>' .skip 3 .center How To Use The Diablo Terminal To Get Output From FROFF .center --- -- --- --- ------ -------- -- --- ------ ---- ----- .skip.test page 3 The Diablo terminal in the terminal room has been adjusted to type 12 characters per inch. If you are using the FROFF text processor to format your document, you can insert a _.RM72 command at the start of your original file to get text 6 inches wide, or a _.RM78 command to get text 6.5 inches wide. If you do not include a right margin command such as _.RM72 or _.RM78 in your file, then your right margin will instead be in column 60 and your document will be only 5 inches wide when it is typed at 12 characters per inch. .skip.test page 3 You should follow the following instructions the first time you use the Diablo terminal. .skip .lm+1.list0 .le;Turn on the POWER switch on the Diablo terminal. The power switch is the red switch at the upper right corner of the keyboard. The red light next to the power switch should light up. .le;If the LOCAL key at the left edge of the keyboard is depressed, press it again to release it to its outer position. .le;Insert a sheet of paper into the terminal. To do this, make sure that the lever on the back right corner of the top of the terminal is as far back as it will go, then insert the sheet of paper behind the platen and turn the platen until the paper is pulled under the platen and is just visible above the inked ribbon cartridge. The platen is the long black rubber roller extending across the width of the terminal. .le;Pull the paper bail into its position closest to you. The paper bail is the thin chromed rod with the small rubber rollers which hold the paper against the platen. Later, when several lines of text have been typed and approximately an inch of paper extends above the ribbon cartridge, you will have to push the paper bail into its position furthest from you so that the paper will still be held properly when the bottom of the paper is reached. .le;Move the switch on the blue "GANDALF" box to the up position. The red light under the word "READY" on the GANDALF box should light up. If the switch is already in the up position, move it to the down position first and then back to the up position. .le;Press the RETURN key. The terminal will respond by typing a line similar to the following: .indent 5 Yale CS/SOM DECsystem2060 (_#2300), TOPS-20 Monitor .break and will then type a single at sign (@) on the next line. Press the RETURN key again if the terminal does not respond in this manner. .le;To the right of the at sign typed by the terminal, you then should type your account name, followed by a space and your password, and then press the RETURN key. The letters of your password will not be visible. After you have successfully identified yourself to the computer, you will probably want to suppress the login messages by holding down on the control key and pressing the letter O key after these messages have started to be typed. .le;Invoke the FROFF program by typing the Exec command .indent 5;@FROFF .break .le;When FROFF asks for the name of the source file, you should type the name of your source file followed by a slash and the letter P and then press the RETURN key. To shift the document to the right, in addition to the /P, type /O: followed by the number of columns by which the document is to be shifted to the right. The letter P here stands for the word PAUSE and the letter O stands for the word OFFSET. The file name must be constructed of 1 to 6 letters or digits followed by a period and then by no more than 3 letters or digits. If the second portion of the file name is _.RNO, then you do not need to type the period and the following letters. .break For example, the following file specifications might be used to cause FROFF to process a file named NAME.RNO, depending on the width of the resulting document. .lm+13 .i-13;NAME/P#######to center a document which is 80 columns wide giving slightly less than 1 inch on both sides. .i-13;NAME/P/O:1###to center a document which is 78 columns wide giving 1 inch margins on both sides. .i-13;NAME/P/O:4###to center a document which is 72 columns wide giving 1.25 inch margins on both sides. .i-13;NAME/P/O:10##for a document which is 72 columns wide giving 1.5 inch left margin and 1 inch right margin. .le;After you have specified the name of the file to be processed, FROFF will tell you .indent 5;INSERT PAPER, THEN HIT RETURN KEY .break and will not type the first page of the document until you hit the return key. You should insert a fresh sheet of paper with its left edge flush with the left end of the platen and with its top edge flush with the top of the metal guard in front of the ribbon cartridge. Pull the paper bail into its position closest to you, then press the RETURN key to cause FROFF to type the first page of your document. Push the paper bail into its position furthest from you once the paper has been advanced beyond the paper bail. .le;If the typing is not oriented correctly on the paper, hold down the CONTROL key and press the C key twice to exit from FROFF. Decide whether you need to insert the paper further to the left or to the right and whether you want to have more of the paper be shown initially above the metal guard, and then again invoke FROFF and supply the name of the file together with the /P. Insert a fresh sheet of paper in the correct alignment and press the RETURN key. .le;When the page has been completely typed, FROFF will wait for you to insert a fresh sheet of paper. FROFF will not resume typing until you again press the RETURN key. .le;When the entire document has been typed, FROFF will ask for the name of the next file to be processed. Merely press the RETURN key if you are finished. .le;When you get the @ prompt from the Exec, type the command .indent 5;@LOGOUT .break to terminate your job. You should not use the OFF command to terminate your job since the OFF command is designed for the video terminals. .le;Move the switch on the blue "GANDALF" box into its down position. .le;Turn off the power on the Diablo terminal. .end list .skip 2.test page 7 .center How To Change The Ribbon Cartridge On The Diablo Terminal .center --- -- ------ --- ------ --------- -- --- ------ -------- .SKIP.list .le;Remove the wide black cover which protects the portion of the Diablo terminal between the keyboard and the platen. Just pull it up and toward you. The cover is held by springs at both ends and will snap out. .le;Gently, ever so gently, press down on the plastic tabs, each about a quarter of an inch square, at both the left and right sides of the ribbon cartridge. The cartridge will snap upwards slightly as it is released. .le;Lift off the old cartridge. .le;Turn the knob or rod extending from the top of the new cartridge in the direction of the arrow molded into the surface of the cartridge near the knob until the ribbon is tightly stretched between the 2 arms of the cartridge. .le;Slip the new cartridge into the position vacated by the old one. Be careful that the ribbon itself is between the chromed metal horns on either side of the print wheel and the metal guard which is between the print wheel and the platen. .le;Press down on the top of the cartridge until it is held by the plastic tabs which you earlier had to press down to release it. .le;Turn the knob or rod extending from the top of the cartridge in the direction indicated by the arrow on the cartridge until you feel a slight resistance. This seats the spring mounted drive shaft below the cartridge into the grooves in the bottom end of the rod. .le;Replace the wide black cover which protects the moving parts of the terminal. Press down on the ends of the cover, and it will snap into place. .end list .lm0.skip.test page 3 DO NOT CHANGE THE PRINT WHEEL ON THE DIABLO TERMINAL. Both the print wheels and the terminal itself are easily damaged when the print wheels are changed to type at other character spacings. If the print wheel has been damaged in any way, please ask either a terminal room monitor or a member of the Computer Services staff to provide a new wheel. The wheels are made of soft plastic, and the more commonly typed characters, the lower case vowels a, e, i and o, wear out before the other characters. You should check these characters carefully. DO NOT SET THE HAMMER STRIKE TO ITS MAXIMUM DENSITY, since the hardest hammer strike will quickly destroy the print wheel. .skip 2.test page 7 .center What To Do If You Don't Have Enough Space For Output Files .center ---- -- -- -- --- ----- ---- ------ ----- --- ------ ----- .SKIP.test page 3 The CS/SOM DECsystem20 has a scratch area called TEMP_: which can be used for the temporary storage of files. The scratch area is purged often and at regular intervals so you should never store your source files in this scratch area, but you can direct FROFF to write the resulting document there. You do this by typing "TEMP:=" before the name of your source file when FROFF asks you to specify the file to be processed. Then, when you are ready to print the file, type "TEMP:" immediately before the name of the _.DOC file when you issue the PRINT command. .skip.test page 3 The following example demonstrates the use of the scratch area to store the document resulting from processing a file having GROUP.RNO as its name. The characters typed by the user have been underlined. .skip.nofill.left margin+5.test page 12 @^&FROFF\& FROFF (10/81) Type /H for Help Source file? ^&TEMP:=GROUP\& Pages: 1 Source file? EXIT @^&DIRECT TEMP:GROUP\& PS: GROUP.DOC.1 @^&PRINT TEMP:GROUP.DOC\& [Job GROUP Queued, Request-ID 1634, Limit 9] .fill.left margin -5 .skip2.test page 7 .center;How To Process A Document Constructed From Several Files .center;--- -- ------- - -------- ----------- ---- ------- ----- .SKIP.test page 3 If you are processing a document which is constructed from more than just a single source file, but these source files all exist in your area, then you can type the names of these files separated by commas when FROFF asks for you to specify the name of the source file. If you would have to type more than 72 characters, then you must indicate that you will continue specifying the source files on a subsequent line or lines by typing a rightmost comma or ampersand (_&). You cannot, however, split the name of a single file across 2 lines. If you have typed a rightmost comma or ampersand, then, when the files which you have already specified have been processed, FROFF will prompt you to type more by displaying a single ampersand. The resulting document will be the same as if you had appended the source files together prior to processing them with FROFF. The name of the resulting document will be based upon the name of the first source file in the series. .skip.test page 3 For example, to process the source text contained in the files named ONE.RNO, TWO.RNO and THREE.RNO, a typical dialog might be either .skip.nofill.left margin+5.test page 15 @^&FROFF\& FROFF (10/81) Type /H for Help Source file? ^&ONE,TWO,THREE\& Pages: 11 Source file? .indent-5;or @^&FROFF\& FROFF (10/81) Type /H for Help Source file? ^&ONE,\& _&^&TWO,\& _&^&THREE\& Pages: 11 Source file? .skip .fill.left margin -5 You can place the command which you would have typed directly to FROFF in another file (called the command file) instead and then direct that FROFF is to read its instructions from this command file by typing an at sign (_@) followed by the name of this command file when FROFF asks you to specify the source file. Rightmost commas or ampersands are not necessary in a command file, but each line is still limited to 72 characters, and if the command file contains more than a single command (i.e., more than a single output file is to result), then these commands must themselves be separated by semicolons since an end of line in a command file does not terminate the command. .skip.test page 3 For example, to process the source text contained in the files named ONE.RNO, TWO.RNO and THREE.RNO, a command file could be created which contained either .skip.nofill.left margin+5.test page 5 ONE,TWO,THREE .indent-5;or ONE TWO THREE .FILL.left margin -5 .SKIP.test page 3 The name of the command file must be constructed of 1 to 6 letters or digits followed by a period and then by no more than 3 letters or digits. If the second portion of the name of the command file is _.CMD, then you do not need to type the period and the following letters when you specify the command file to FROFF. If the command file is named PAPER.CMD, then a typical dialog for its use would be .skip.nofill.left margin+5.test page 6 @^&FROFF\& FROFF (10/81) Type /H for Help Source file? ^&@PAPER\& Pages: 11 Source file? .SKIP .FILL.left margin -5 The document resulting from the processing of several files can still be written to the scratch area or, if run from the Diablo terminal, to the terminal. .skip.test page 3 For example, to write the document to the scratch area, a typical dialog might be either .skip.nofill.left margin+5.test page 13 @^&FROFF\& FROFF (10/81) Type /H for Help Source file? ^&TEMP:=ONE,TWO,THREE\& Pages: 11 Source file? .indent-5;or @^&FROFF\& FROFF (10/81) Type /H for Help Source file? ^&TEMP:=@PAPER\& Pages: 11 Source file? .SKIP .FILL.left margin -5 Similarly, either of the following dialogs could be used to write the resulting document to the terminal, stopping after each page so that a new sheet of paper can be inserted. In this instance, however, if you are typing the names of the files directly into FROFF, then you would not want to type them on several lines since you would then have to specify them while the document is being typed. .nofill.left margin+5.test page 9 @^&FROFF\& FROFF (10/81) Type /H for Help Source file? ^&/P ONE,TWO,THREE\& .indent-5;or @^&FROFF\& FROFF (10/81) Type /H for Help Source file? ^&/P@PAPER\& .fill.left margin 0 .skip 2.test page 7 .center How To Process Files In Other Directories .center --- -- ------- ----- -- ----- ----------- .skip.test page 3 FROFF, unfortunately, cannot interpret DECsystem20 account names. It can, however, handle the account numbers which you can obtain by issuing the EXEC command TRANSLATE followed by the account name. These account numbers can then be included enclosed in square brackets along with the names of the source files which are either in the command file or which you type directly when FROFF asks for you to specify the name of the source file. .skip.test page 3 For example, if the file named ONE.RNO is in the area owned by , the file named TWO.RNO in the area owned by , and the file named THREE.RNO in the area owned by , then the following dialog might be used to obtain the corresponding account numbers .skip.nofill.left margin+5.test page 6 @^&TRANSLATE \& PS: (IS) PS:[4,2471] @^&TRANSLATE \& PS: (IS) PS:[4,374] @^&TRANSLATE \& PS: (IS) PS:[4,1162] .FILL.SKIP.LEFT MARGIN-5 and the command file might then contain .skip.left margin +5.test page 3.nofill [4,2471]ONE [4,374]TWO [4,1162]THREE .fill.left margin 0 .left margin 0.fill .skip left page.right top title,,'>' .center;Appendix C .skip .center;Commands Used in Performing Selected Tasks .rtt'Commands Used in Performing Selected Tasks',,'>' .skip 3 .c;Commands Used for the Specification of Footnotes .c;-------- ---- --- --- ------------- -- --------- .skip .index footnote>list of relevant commands The following commands are used for the specification of footnotes. The _.FILL, _.LEFT MARGIN, _.NO FILL, _.RIGHT MARGIN and _.SPACING commands are included in this list since these commands, if issued during the construction of a footnote, alter the appearance of the current and subsequent footnotes without altering the appearance of the text which was interrupted for the specification of the footnote. The _.JOIN command is included since this command is often issued just before an automatically numbered footnote is specified to cause the footnote number to be attached to the preceding word. .nofill .skip.test page 2 _.CFN .COLLECT FOOTNOTES Hold footnotes until .DO FOOTNOTE or .PRINT FOOTNOTE .skip.test page 2 _.DISPFN .DISPLAY FOOTNOTE 'character', type, 'character' Type of numbers in footnote identifying footnote .skip.test page 2 _.DREF .DISPLAY REFERENCE 'character', type, 'character' Type of numbers in text identifying footnote .skip.test page 2 _.DFN .DO FOOTNOTES List collected footnotes starting on new page .skip.test page 2 _.EFN .END FOOTNOTE End footnote specification begun by .FOOTNOTE .skip.test page 2 _.F .FILL Accumulate words on each line until line overflows .skip.test page 2 _.FLEFN .FLAGS END FOOTNOTE 'character' Change flag terminating footnote specifications .skip.test page 2 _.FN .FOOTNOTE Following text to .END FOOTNOTE specifies footnote .skip.test page 2 _.FNH .FOOTNOTE HEADER rest of text on line Specifies line of text above each group of footnotes .skip.test page 2 _.FNR .FOOTNOTE RULE 'character' Line of this character above each group of footnotes .skip.test page 2 _.IMFN .IMMEDIATE FOOTNOTES Generate footnotes on pages where referenced .skip.test page 2 _.IFN .INDENT FOOTNOTE number Indent start of each footnote .skip.test page 2 _.JO .JOIN Attaches next word to preceding word .skip.test page 2 _.LM .LEFT MARGIN number Changes left margin .skip.test page 2 _.NF .NO FILL number1, number2 Left justify lines with original word spacing .skip.test page 2 _.NFLEFN .NO FLAGS END FOOTNOTE No flag can terminate footnote specifications .skip.test page 2 _.NFNH .NO FOOTNOTE HEADER No line of text is above each group of footnotes .skip.test page 2 _.NNFN .NO NUMBER FOOTNOTE No serial numbers are inserted at start of footnotes .skip.test page 2 _.NMFN .NUMBER FOOTNOTE number Specifies that footnotes are to be serially numbered .skip.test page 2 _.PFN .PRINT FOOTNOTES List collected footnotes continuing on current page .skip.test page 2 _.RM .RIGHT MARGIN number Specifies rightmost column if .FILL active .skip.test page 2 _.SPFN .SPACE FOOTNOTE number1, number2, number3 Change number of blank lines before footnotes .skip.test page 2 _.SP .SPACING number Change spacing between lines .fill .skip 2.test page 6.nofill.left margin 0 .c;Commands Used for the Specification of Indexes .c;-------- ---- --- --- ------------- -- ------- .skip.fill .index index>list of relevant commands The following commands are used for the specification of indexes. The _.LEFT MARGIN, _.RIGHT MARGIN and _.SPACING commands are included in this list since these commands are often issued just before the index is constructed to change the appearance of the items in the index. The _.FIRST TITLE, _.FACING PAGE, _.RIGHT PAGE and _.SKIP LEFT PAGE commands are included since these commands are often issued just before the index is constructed to control the type of titles appearing on the first page of the index. .nofill .skip.test page 2 _.DIX .DISABLE INDEX Disable addition of items to index .skip.test page 2 _.DISPX .DISPLAY INDEX type Type of page numbers on pages containing index .skip.test page 2 _.DX .DO INDEX rest of text on line List index starting on new page .skip.test page 2 _.EIX .ENABLE INDEX Enable addition of items to index .skip.test page 2 _.Y .ENTRY rest of text on line Specifies line to be in index without page number .skip.test page 2 _.FAPG .FACING PAGE Start new page on facing side of paper .skip.test page 2 _.FT .FIRST TITLE Generate titles on first page if .HEADERS ON active .skip.test page 2 _.FLX .FLAGS INDEX 'character' Change flag marking words to be indexed .skip.test page 2 _.FLSX .FLAGS SUBINDEX 'character' Change flag marking ends of lines in index entry .skip.test page 2 _.X .INDEX rest of text on line Specifies line to be in index with page number .skip.test page 2 _.LM .LEFT MARGIN number Changes left margin .skip.test page 2 _.NFLX .NO FLAGS INDEX No flag can mark words to be indexed .skip.test page 2 _.NFLSX .NO FLAGS SUBINDEX No flag can mark ends of lines in index entry .skip.test page 2 _.PX .PRINT INDEX rest of text on line List index continuing on current page .skip.test page 2 _.RM .RIGHT MARGIN number Specifies rightmost column if .FILL active .skip.test page 2 _.RP .RIGHT PAGE Start new page with right page titles .skip.test page 2 _.SLP .SKIP LEFT PAGE Start new right page, generating left page if needed .skip.test page 2 _.SPX .SPACE INDEX number1, number2, number3, number4 Change number of blank lines at start of index .skip.test page 2 _.SP .SPACING number Change spacing between lines .skip.test page 2 _.STX .STYLE INDEX number1, number2 Changes capitalization and format of index .fill .left margin 0.fill .skip left page.right top title,,'>' .center;Appendix D .skip .center;Description of Files on the Distribution Tape .rtt'Description of Files on the Distribution Tape',,'>' .skip 3 .center;Loading Instructions .center;------- ------------ .skip FROFF can be loaded on the DECsystem10 using the FORTRAN10 version 7 compiler with the following command file. Full input and output file specifications and runtime options can be typed by the user together on a single line. .skip.nofill.test page 7.left margin 5 FROFF.FOR/OPT RNOTIM.FOR/OPT RNOHL1.FOR/OPT RNOCM1.FOR/OPT RNOFI1.FOR/OPT RNOAS1.FOR/OPT MACRO3.FOR/OPT .skip.fill.left margin 0 FROFF can be loaded on the DECsystem20 using the FORTRAN20 version 7 compiler with the following command file. This version of FROFF is the DECsystem10 version with the addition of a few very simple assembly language terminal and disk management routines. Since the compiler and runtime system use the DECsystem10 emulator, the location of files read from other than the users own account must still be specified by project and programmer numbers rather than by account names. .skip.nofill.test page 8.left margin 5 FROFF.FOR/OPT RNOTIM.FOR/OPT RNOHL1.FOR/OPT RNOCM1.FOR/OPT RNOFI1.FOR/OPT RNOAS1.FOR/OPT MACRO2.MAC MACRO3.FOR/OPT/LIB .skip.fill.left margin 0 A version of FROFF having a very simple runtime command parser can be loaded on the DECsystem10 or DECsystem20 using the following command file. This version is meant to be easily convertible for use on other computer systems. Each of the file names and the collection of run time options must be typed by the user on separate lines. .skip.test page 5.nofill.left margin 5 FROFF.FOR/OPT RNOTIM.FOR/OPT RNOFI1.FOR/OPT RNOAS3.FOR/OPT MACRO3.FOR/OPT .left margin 0.fill .skip 2.test page 10 .left margin 0 .center;Program Source Files .center;------- ------ ----- .skip .LEFT MARGIN 12 .test page 3.INDENT-11 FROFF.FOR##Single file containing the system independent portion of the FORTRAN sources of the FROFF program. .skip.test page 3.INDENT-12 MACRO2.MAC##Assembly language sources of some subroutines which customize FROFF for use on the DECsystem20 computer. These subroutines are not absolutely necessary, and the non-functional FORTRAN versions having the same names contained in the file MACRO3.FOR can be loaded instead. The following subroutines are contained in these files: .SKIP.test page 3 EXPUNG#which removes deleted files on the DECsystem-20. EXPUNG is called by FROFF after each temporary scratch file is closed and deleted. If EXPUNG is replaced by a non-functional version, then deleted scratch files will accumulate on the DECsystem20 if footnotes or indexes are being produced. .SKIP.test page 3 LEAVE#which terminates running of the program without typing the time statistics produced by the FORTRAN STOP statement on the DECsystem20. .SKIP.test page 3 TTYSET#which sets the characteristics of the controlling terminal so that a document which is typed directly by FROFF on a letter quality printer will be displayed correctly. TTYSET allows lower case letters, form feed characters and other control characters to be sent unchanged to the terminal, turns off the insertion of carriage returns and line feeds into long lines, and turns off the pausing after a fixed number of lines have been displayed. .skip.test page 3.INDENT-12 MACRO3.FOR##which contains non-functional FORTRAN versions of the subroutines in the assembly language MACRO2.MAC file and which contains a non-functional version of a routine named TTYSIM. On some systems, TTYSIM is called with a unit number as its single argument to specify that the character in column 1 of lines written to that unit is to be converted directly to the appropriate carriage control character. .skip.test page 3.indent -12 RNOAS1.FOR##which contains the runtime command parser for use on either the DECsystem10 or the DECsystem20. The user can, in a single line, specify input and output files and switches, or these instructions can be read from another file. .skip.test page 3.indent -12 RNOAS3.FOR##which contains a very simple runtime command parser for use when FROFF is run on computers for which a customized command parser is not available. Although this was written for the DECsystem10 and the DECsystem20, it should be very easily converted to other systems. .skip.test page 3.indent -12 RNOCM1.FOR##which contains the COMMON declarations of the arrays which are used by the command parser in the RNOAS1.FOR file and which must be maintained while FROFF is being run. This must be loaded into the permanently resident portion if FROFF is loaded with an overlay structure on either the DECsystem10 or the DECsystem20. .skip.test page 3.indent -12 RNOFI1.FOR##which contains the FORTRAN subroutine containing the OPEN and CLOSE statements for the scratch files which are used by FROFF. This version is written for either the DECsystem10 or the DECsystem20. .skip.test page 3.indent -12 RNOHL1.FOR##which contains the FORTRAN subroutine which displays the instructions on the controlling terminal if the user types the /HELP switch. This subroutine is produced when the RNOHL1.FMT file is processed by the FORMAT program. This version is written for either the DECsystem10 or the DECsystem20. .skip.test page 3.indent -12 RNOTIM.FOR##which contains a FORTRAN function which returns the current time of day in seconds from midnight as a floating point or real number. This number becomes a unique identifier for the current job and is used in constructing the names of the scratch files so that 2 or more jobs logged into the same account can run FROFF concurrently without interfering with each other. .skip 2.test page 10 .left margin 0 .center;Support Programs and Data Files .center;------- -------- --- ---- ----- .LEFT MARGIN 12 .skip.test page 3.INDENT-12 COMPAR.FOR##FORTRAN program which compares the files resulting from processing the test cases using different versions of FROFF, and identifies any test cases for which the results are different. .skip.test page 3.indent-10 FONT.FOR##FORTRAN program which converts the large multi-line lettering in the FROFF.FNT file into packed binary numbers and represents these numbers in FORTRAN DATA statements which can then be compiled so that FROFF can produce such large lettering. .skip.test page 3.indent-11 FRAME.FOR##FORTRAN program which rules borders around sample pages of output from test versions of FROFF still having the carriage control characters in the left column so that these sample pages can be incorporated into the FROFF User's Guide. .skip.test page 3.indent-11 FROFF.FNT##Data file which when processed by the FONT program defines the shapes of the large multi-line lettering which can be produced by FROFF. .skip.test page 3.indent-11 FROFF.KEY##Data file which when processed by a special version of KEYWRD specifies the command words recognized by FROFF. .skip.test page 3.indent-11 FROFF.RNO##The file which when processed by FROFF produces the FROFF User's Guide. .skip.test page 3.indent-12 FROFF?.GET##(where ? indicates a letter or digit) Several files which contain the results expected when the over 1000 test cases in the various FROFF?.TRY files are processed without conversion of the characters in column 1 to carriage control characters. These files are long and may not be included with the rest. .skip.test page 3.indent-12 FROFF?.TRY##(where ? indicates a letter or digit) Several files which contain over 1000 test cases which, when processed without conversion of the characters in column 1 to carriage control characters, produce the results in the various FROFF?.GET files. These files are long and may not be included with the rest. .skip.test page 3.indent-12 KEYWRD.FOR##FORTRAN program which constructs the tree used to recognize the commands in the input file processed by FROFF. This version handles multiple word phrases better than the version in the DECUS library, but still has problems. The previous version did not allow _.AP to be declared as an abbreviation of _.AUTO PARAGRAPH since the P in _.APPENDIX was recognized before the P in PARAGRAPH. The output from this program is FORTRAN code which must be inserted into the BLOCK DATA routine in FROFF. .skip.test page 3.indent-11 MERGE.FOR##FORTRAN program which combines files containing the separate test cases into a composite test file and combines the files containing the expected results into a composite result file. Requires a file which contains the names of the individual cases and which is produced when the SPLIT program is used to split apart the original composite files. .skip.test page 3.indent-12 NUMBER.FOR##FORTRAN program which converts the names of the test cases in a composite test file and in the corresponding composite result file to begin with the same stem and to be numbered consecutively. .skip.test page 3.indent-12 RNOFNT.RNO##FROFF command file which when processed by FROFF produces a new version of the FROFF.FNT file specifying the current shapes of the large, multi-line lettering which can be produced by FROFF. This new version of FROFF.FNT can in turn be edited and then be processed by the FONT program to produce a new version of the BLOCK DATA routine in FROFF.FOR which contains the bit packed arrays which specify the character shapes. .skip.test page 3.indent-12 RNOHL1.FMT##File which when processed by the FORMAT program produces the subroutine used by FROFF to write the initial instructions which can be requested by the /HELP switch when FROFF is run. This version gives the instructions for the DECsystem10 computer interface which accepts a complete user command on a single line. .skip.test page 3.indent-12 RNOHL3.FMT##File which when processed by the FORMAT program produces the subroutine used by FROFF to write the initial instructions which can be requested by the /HELP switch when FROFF is run. This version gives the instructions for the simple user interface which separately asks for the switches and for the names of the input and output files. .skip.test page 3.indent-12 SELECT.FOR##FORTRAN program which selects individual test cases by name from the composite test case file or selects individual expected results by name from the composite expected result file. The selected test cases or the selected expected results are written into a new, smaller composite file. .skip.test page 3.indent-11 SPLIT.FOR##FORTRAN program which splits apart the file containing a collection of test cases and the file containing a collection of expected results into separate files. Also produces a file which specifies the names of the individual cases so that these can later be recombined by the MERGE program. .left margin 0.skip left page .FIRST TITLE.rtt,,'>' .style index 0,1 .center;Index .space index 0,0,0,0 .skip 3 .rtt'Index',,'>' .print index