XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X X 1. Adjust paper position so that dark frame on this page is X X copied centered on paper 8.5 inches wide by 11 inches X X high. X X 2. Copy all remaining pages of document in same manner. X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX THEFROFFUSERSGU HEFROFFUSERSGUI E E G T F U DETHE OFFUS S E E OFFUSERSG H ROFFU R D H R T FROFF ERSGUI T FROFFU E EFROF E F D HEFRO USERSG D HEFROF I THEFR FUSERS I T U ETHEF FFUSER U ETHEFROFF G DETHE OFFUSE G F IDETHEFROFFUSERSGUIDETHEFROFFUSERSGUIDETHEFROFFUSERSGUID U F IDETHEF USER R I G DETHEFROF SERSG DET FROF SE GUIDETHEF FFUSERSGU S IDETHEFRO USERSG D HEFROF S SGUIDETHE O R UIDETHEFR FUSER UI THEFRO U RSGUIDETH ROFFUS E THEF RSGU ETHEFR F IDET U S SGUIDETHE OFF ERSG DETHEF F SERSGUIDE EFROFF U RSGUIDETH ROFF ERS IDETHE O USERSGUID H F ERSGUIDET FROFF ERS IDET FR FUSERSGUI T F SERSGUIDE EFROFF ERSG THEF FFUSERSGU E OFFUSERSGUIDETHEFROFFUSERSGUIDETHEFROFFUSERSGUIDETHEFROF R FUSERS IDET U H SERSGUI O F FFUSER UI THEFROFF ERSGUIDET FROFF ERS IDETHEFR E OFFUSE G DETHEFROF SERSGUIDE EFROFF E GU H ROFFUS SG DETHEFRO USERSGUID HEFRO USE GUIDE T FROFFU RSGU HEFR SGUI OFFUSER DET E EFROFF ERSGUIDE EF FFUSERSGU ETH ROFFUSERSGU ET D HEFROF SERSGUIDE E OFFUSERSG DETH ROFFUSERSGU E ID HEFR FUSERSGUI TH ROFFUSERS IDETH ROFFUSERS ID IDE ROFF IDET R UIDETH R SGU DETHEFROFFUSERSGUIDETHEFROFFUSERSGUIDETHEFROFFUSERS IDE F ERSGUI T F IDET R GU ETHEFROF SERSGU ETH ROF SERSG DE EFROFFUSE S IDETHEFRO USERSG DET FRO USERSG D H R UIDETHEFR FUSERS IDE EFR FUSERS I THEFRO E GUI F FFUSER UID HEF FFUSER U R S SGUIDE E OFFUSE GUI THE OFFUSE G DETHEF U RSGUID H ROFFUS SGU ETH ROFFUS S I FU RSGUI TH ROFF ERSG DET FROFF ER UIDETHEFR FUS ETHE FUSE E FUSE F USERSGUIDETHEFROFFUSERSGUIDETHEFROFFUSERSGUIDETHE The FROFF Word Processor User's Guide Donald E. Barth 10-Jul-83 TTTTTTTTTT HH HH EEEEEEEEEE TT HH HH EE TT HH HH EE TT HH HH EE TT HHHHHHHHHH EEEEEEE TT HH HH EE TT HH HH EE TT HH HH EE TT HH HH EEEEEEEEEE FFFFFFFFFF RRRRRRR OOOO FFFFFFFFFF FFFFFFFFFF FF RR RR OO OO FF FF FF RR RR OO OO FF FF FF RR RR OO OO FF FF FFFFFFF RRRRRRR OO OO FFFFFFF FFFFFFF FF RR RR OO OO FF FF FF RR RR OO OO FF FF FF RR RR OO OO FF FF FF RR RR OOOO FF FF UU UU SSSSSSS EEEEEEEEEE RRRRRRR SSSSSSS UU UU SS EE RR RR SS UU UU SS EE RR RR SS UU UU SS EE RR RR SS UU UU SSSS EEEEEEE RRRRRRR SSSS UU UU SS EE RR RR SS UU UU SS EE RR RR SS UU UU SS EE RR RR SS UUUU SSSSSSS EEEEEEEEEE RR RR SSSSSSS GGGGGGG UU UU IIIIII DDDDDDD EEEEEEEEEE GG UU UU II DD DD EE GG UU UU II DD DD EE GG UU UU II DD DD EE GG GGGGG UU UU II DD DD EEEEEEE GG GG UU UU II DD DD EE GG GG UU UU II DD DD EE GG GG UU UU II DD DD EE GGGGGGG UUUU IIIIII DDDDDDD EEEEEEEEEE The FROFF Word Processor User's Guide Donald E. Barth 10-Jul-83 Table of Contents ----- -- -------- 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 Appendix A: How to Run FROFF on Various Computer Systems How to Run FROFF on DECsystem10 and DECsystem20 . . 127 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 Appendix C: Commands Used in Performing Selected Tasks Commands Used for Specification of Footnotes . . 135 Commands Used for Specification of Indexes . . . 136 Appendix D: Description of Files on Distribution Tape Loading Instructions . . . . . . . . . . . 139 Program Source files . . . . . . . . . . . 140 Support Programs and Data Files . . . . . . . 141 Introduction 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. The production of a document using FROFF requires the following steps: 1. 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. 2. 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. 3. 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. 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. 2 The FROFF Word Processor User's Guide 3 Chapter 1 General Instructions 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. Short Descriptions of the Most Commonly Used Commands ----- ------------ -- --- ---- -------- ---- -------- 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. .AP 10 .AUTOPARAGRAPH 10 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. .B 5 .BLANK 5 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. .C .CENTER The text which appears in the next line in the source file is to be centered in the reformatted document. .EFN .END FOOTNOTE Terminates the declaration of the text of a footnote begun by a previous .FOOTNOTE command. .FG 10 .FIGURE 10 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. 4 The FROFF Word Processor User's Guide .FGD 5 .FIGURE DEFERRED 5 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. .F .FILL 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. .FN .FOOTNOTE 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. .FNR '-' .FOOTNOTE RULE '-' 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. .I 5 .INDENT 5 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. .J .JUSTIFY 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. .LM 10 .LEFT MARGIN 10 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. .NF .NO FILL 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. .NJ .NO JUSTIFY Extra spaces are not to be inserted between words. The result is a ragged right margin. .NM 5 .NUMBER 5 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. General Instructions 5 .NMFN .NUMBER FOOTNOTE 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. .O 10 .OFFSET 10 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. .PG .PAGE 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. .PGL 60 .PAGE LENGTH 60 Each page in the reformatted document can contain 60 lines. The default page size is 58 lines of 60 characters each. .PGW 72 .PAGE WIDTH 72 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. .P 4 .PARAGRAPH 4 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. .RM 72 .RIGHT MARGIN 72 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. .SP 2 .SPACING 2 The reformatted document is to be double spaced. The document is single spaced otherwise. .TSP 5 .TEST SPACING 5 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. 6 The FROFF Word Processor User's Guide .TT'left phrase','middle phrase','right phrase' .TOP TITLE'left phrase','middle phrase','right phrase' 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. 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. .U .UNDERLINE The text which appears in the next line in the source file is to be underlined in the reformatted document. 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 .BLANK .CENTER This is a line of text to be centered could instead be specified by the following single line. .B.C;This is a line of text to be centered 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. Reserved Characters -------- ---------- 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 General Instructions 7 characters which are not initially active can be used to indicate additional transformations. # (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. ^ (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. \ (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. & (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. > (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. _ (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.) A Typical Source File - ------- ------ ---- As a typical example of the use of the FROFF word processor, the following source text .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. 8 The FROFF Word Processor User's Guide .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. would be converted into the following 2 pages when processed by the FROFF program. ***************************** ***************************** * * *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. * ***************************** ***************************** General Instructions 9 How to Run FROFF on the DECsystem20 --- -- --- ----- -- --- ----------- 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. 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. 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. 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. @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 @ Options Which can be Selected When FROFF is Run ------- ----- --- -- -------- ---- ----- -- --- 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 10 The FROFF Word Processor User's Guide 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. The following examples are typical of these switches. /B:5 (B for begin) causes the output to begin with the 5th page, suppressing those that came before. /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. /E:8 (E for end) causes the output to end with the 8th page, suppressing those that would come after. /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. /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. For example, on the DECsystem20, the user might type TEST/O:10/B:20 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. 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. Complete List of The Runtime Options -------- ---- -- --- ------- ------- 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. /BEGIN:number 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. General Instructions 11 /CONTINUOUS 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. /END:number 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. /OFFSET:number 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. /PAUSE 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. /TERMINAL:number 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. /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. /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. /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 12 The FROFF Word Processor User's Guide 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. /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 For example, if the user types the command ONE/P/O:12/B:6/E:10 or TTY:=ONE.RNO/E:10/B:6/O:12/P 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. 13 Chapter 2 Source File Conventions The Structure of the Commands in the Source File --- --------- -- --- -------- -- --- ------ ---- 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. 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. 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. For example, a few of the many ways in which the command .LEFT MARGIN 5 could be abbreviated are .LEM 5, .LE M5, .LMA5, .L MA 5, .LEMA5 and .LE MA 5 A few of the many ways in which the command .FLAGS SPACE '*' could be abbreviated are .FSP'*' or .F SPA'*' or .FL SP '*' or .FLASP'*' 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. 14 The FROFF Word Processor User's Guide 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 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 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. For example, the text .SKIP 2 .CENTER This is a Title could also be specified by any of the following single lines .SKIP 2.CENTER;This is a Title .SKIP 2;.CENTER;This is a Title or .SKIP 2!comment;.CENTER!comment;This is a Title 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. Case Notation for Alphabetic Letters ---- -------- --- ---------- ------- 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. An .UPPER CASE command or 2 consecutive circumflexes (^^) anywhere in the source text indicates that the cases of all subsequent alphabetic 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 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 Source File Conventions 15 case form can be preceded by a single circumflex, and any single letter which is to be converted to its lower 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 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 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. 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. 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. For example, the source text .nofill.flags capitalize \\^ONLY THE FIRST LETTER IN THIS LINE REMAINS UPPER CASE. -' .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. Would be converted into the following 2 pages of formatted text when processed by this program. ***************************** ***************************** * 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 - * ***************************** ***************************** 30 The FROFF Word Processor User's Guide The commands in the above example perform the following functions: 1. 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. 2. 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. 3. 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. 4. 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. 5. 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. 6. 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. 7. 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. 8. 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. 9. 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. 10. 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. 11. 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. How to Perform Common Word Processing Tasks 31 12. 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. 13. 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. 32 The FROFF Word Processor User's Guide 33 Chapter 4 Concise Descriptions of the Commands The Commands Listed in Alphabetical Order --- -------- ------ -- ------------ ----- 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: 1. the result cannot be interpreted as any other command or as the abbreviation of any other command, and 2. 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. 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. 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. .AX .APPENDIX rest of text on line Following text starts new appendix .AP .AUTO PARAGRAPH number1, number2, number3 Paragraphs are marked by blank lines or indentation .BB .BEGIN BAR Place change bar along left if .ENABLE BAR active .B .BLANK number Skip single spaced blank lines .BST .BOTTOM SUBTITLE 'phrase1','phrase2','phrase3' Specifies second line at bottom of page .BT .BOTTOM TITLE 'phrase1','phrase2','phrase3' Specifies first line at bottom of page .BR .BREAK No more text is to be added to current line 34 The FROFF Word Processor User's Guide .C .CENTER number1, number2 or .C .CENTRE number1, number2 Center next line with original word spacing .CNF .CENTER NO FILL number1, number2 or .CNF .CENTRE NO FILL number1, number2 Center lines with original word spacing .CH .CHAPTER rest of text on line Following text starts new chapter .CFN .COLLECT FOOTNOTES Hold footnotes until .DO FOOTNOTE or .PRINT FOOTNOTE .COM .COMMENT rest of text on line Ignore rest of current line .DBB .DISABLE BAR No change bar at left from .BEGIN BAR to .END BAR .DIX .DISABLE INDEX Disable addition of items to index .DAX .DISPLAY APPENDIX type Type of numbers identifying appendix .DCH .DISPLAY CHAPTER type Type of numbers identifying chapter .DLE .DISPLAY ELEMENT 'character', type, 'character' Type of numbers identifying items in list .DISPFN .DISPLAY FOOTNOTE'character',type,'character',number Type of numbers in footnote identifying footnote .DISPX .DISPLAY INDEX type Type of page numbers on pages containing index .DHL .DISPLAY LEVELS type1, type2, type3 etc. Types of numbers identifying level of header line .DNM .DISPLAY NUMBER type or .DPG .DISPLAY PAGE type Type of page numbers on pages not containing index .DREF .DISPLAY REFERENCE'character',type,'character',number Type of numbers in text identifying footnote .DSP .DISPLAY SUBPAGE type Type of numbers identifying subpage .DFN .DO FOOTNOTES List collected footnotes starting on new page Concise Descriptions of the Commands 35 .DX .DO INDEX rest of text on line List index starting on new page .EBB .ENABLE BAR Mark change bar at left from .BEGIN BAR to .END BAR .EIX .ENABLE INDEX Enable addition of items to index .EB .END BAR Terminate change bar started by .BEGIN BAR .EFI .END FILE No more text is to be read from current file .EFN .END FOOTNOTE End footnote specification begun by .FOOTNOTE .ELS .END LIST End automatically numbered list begun by .LIST .EL .END LITERAL End unchanged copying of text begun by .LITERAL .ELO .END LOOP End repeating of source text begun by .LOOP .EN .END NOTE End embedded note begun by .NOTE .ESPL .END SPLICE End reading from second file requested by .SPLICE .ES .END SUBPAGE End subpage numbering requested by .SUBPAGE .Y .ENTRY rest of text on line Specifies line to be in index without page number .FAPG .FACING PAGE Start new page on facing side of paper .FG .FIGURE number Leave room for insertion at this point in text .FGD .FIGURE DEFERRED number Leave room for insertion after this point in text .F .FILL Accumulate words on each line until line overflows .FF .FIRST FORM Generate blank page at start .FT .FIRST TITLE Generate titles on first page if .HEADERS ON active 36 The FROFF Word Processor User's Guide .FL .FLAGS or .FL .FLAGS ALL Allow most flag characters such as ^, \, & and _ .FLCA .FLAGS CAPITALIZE 'character' Change flag marking words to be capitalized .FLCOM .FLAGS COMMENT 'character' Change flag marking comments following commands .FLCON .FLAGS CONTROL 'character' Change flag marking commands .FLEC .FLAGS END COMMAND 'character' Change flag separating commands from text .FLEFN .FLAGS END FOOTNOTE 'character' Change flag terminating footnote specifications .FLHD .FLAGS HALF DOWN 'character' Change flag marking characters to be half line down .FLHU .FLAGS HALF UP 'character' Change flag marking characters to be half line up .FLX .FLAGS INDEX 'character' Change flag marking words to be indexed .FLLC .FLAGS LOWER CASE 'character' Change flag marking letters to be lower case .FLPG .FLAGS PAGE 'character' Change flag marking page number locations in titles .FLQ .FLAGS QUOTE 'character' Change flag marking nonflag use of flag characters .FLSP .FLAGS SPACE 'character' Change flag marking spaces to be included in words .FLSX .FLAGS SUBINDEX 'character' Change flag marking ends of lines in index entry .FLTE .FLAGS TEXT 'character' Change flags delimiting phrases as command arguments .FLUL .FLAGS UNDERLINE 'character' Change flags marking characters to be underlined .FLUC .FLAGS UPPER CASE 'character' Change flags marking letters to be capitalized .FN .FOOTNOTE Following text to .END FOOTNOTE specifies footnote Concise Descriptions of the Commands 37 .FNH .FOOTNOTE HEADER rest of text on line Specifies line of text above each group of footnotes .FNR .FOOTNOTE RULE 'character' Line of this character above each group of footnotes .FPG .FORCE PAGE Start new page after producing footnotes and figures .HD .HEADERS or .HD .HEADERS ON Generate titles at top of second and following pages .HL .HEADER LEVEL number, rest of text on line Generate automatically numbered header line .IMFN .IMMEDIATE FOOTNOTES Generate footnotes on pages where referenced .I .INDENT number Indent next output line .ILS .INDENT ELEMENT number Indent start of .LIST ELEMENT item in range of .LIST .IFN .INDENT FOOTNOTE number Indent start of each footnote .ILV .INDENT LEVEL number Indent each header line specified by .HEADER LEVEL .INT .INDENT NOTE number1, number2, number3 Change first line indentation and margins of notes .X .INDEX rest of text on line Specifies line to be in index with page number .IPG .INITIAL PAGE Start new page not bearing titles at top or bottom .IW .INPUT WIDTH number Changes number of characters allowed in input line .JO .JOIN Attaches next word to preceding word .J .JUSTIFY Insert spaces between words for even right margins .LF .LAST FORM Generate blank page at end .LBST .LEFT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3' Specifies second line at bottom of left page 38 The FROFF Word Processor User's Guide .LBT .LEFT BOTTOM TITLE 'phrase1','phrase2','phrase3' Specifies first line at bottom of left page .LM .LEFT MARGIN number Changes left margin .LNF .LEFT NO FILL number1, number2 Left justify lines with original word spacing .LP .LEFT PAGE Start new page with left page titles .LTST .LEFT TOP SUBTITLE 'phrase1','phrase2','phrase3' Specifies second line at top of left page .LTT .LEFT TOP TITLE 'phrase1','phrase2','phrase3' Specifies first line at top of left page .LS .LIST number, 'up to 6 characters' Items in numbered list are marked by .LIST ELEMENT .LE .LIST ELEMENT Before each item in automatically numbered list .LT .LITERAL All lines, even initial period, are copied unchanged .LO .LOOP number Following source text is repeated several times .LC .LOWER CASE Capital letters are to be translated to lower case .MFG .MOVABLE FIGURE number Insert subsequent blank lines without breaking line .MPG .MOVABLE PAGE number Insert subsequent blank pages without breaking line .NAP .NO AUTO PARAGRAPH Blank lines or indentation do not mark new paragraph .NF .NO FILL number1, number2 Left justify lines with original word spacing .NFL .NO FLAGS or .NFL .NO FLAGS ALL Most flag characters are used as ordinary characters .NFLCA .NO FLAGS CAPITALIZE No flag can mark words to be capitalized .NFLCOM .NO FLAGS COMMENT No flag can mark comments following commands Concise Descriptions of the Commands 39 .NFLCON .NO FLAGS CONTROL No flag can mark commands .NFLEC .NO FLAGS END COMMAND No flag can separate commands from text .NFLEFN .NO FLAGS END FOOTNOTE No flag can terminate footnote specifications .NFLHD .NO FLAGS HALF DOWN 'character' No flag can mark characters to be half line down .NFLHU .NO FLAGS HALF UP 'character' No flag can mark characters to be half line up .NFLX .NO FLAGS INDEX No flag can mark words to be indexed .NFLLC .NO FLAGS LOWER CASE No flag can mark letters to be lower case .NFLPG .NO FLAGS PAGE No flag can mark page number locations in titles .NFLQ .NO FLAGS QUOTE No flag can mark nonflag use of flag characters .NFLSP .NO FLAGS SPACE No flag can mark spaces to be included in words .NFLSX .NO FLAGS SUBINDEX No flag can mark ends of lines in index entry .NFLTE .NO FLAGS TEXT No flag can delimit phrases as command arguments .NFLUL .NO FLAGS UNDERLINE No flag can mark characters to be underlined .NFLUC .NO FLAGS UPPER CASE No flag can mark letters to be capitalized .NFNH .NO FOOTNOTE HEADER No line of text is above each group of footnotes .NHD .NO HEADERS No titles are placed at top of any pages .NJ .NO JUSTIFY No extra spaces are added between words on each line .NNM .NO NUMBER No page number is right of title specified by .TITLE .NNFN .NO NUMBER FOOTNOTE No serial numbers are inserted at start of footnotes 40 The FROFF Word Processor User's Guide .NOO .NO OFFSET No extra offset of entire output text .NPA .NO PAGING Page length is not enforced .NPR .NO PERIOD No extra spaces after sentences .NST .NO SUBTITLE Cancel 2nd line at top of each page .NTI .NO TITLE Cancel first line at top of each page .NULS .NO UNDERLINE SPACE Do not underline spaces between underlined words .NT .NOTE rest of text on line Single space following text and indent both sides .NM .NUMBER number or .NMPG .NUMBER PAGE number Specifies number of next page .NMAX .NUMBER APPENDIX number Specifies number of next appendix .NMCH .NUMBER CHAPTER number Specifies number of next chapter .NMFN .NUMBER FOOTNOTE number Specifies that footnotes are to be serially numbered .NMLV .NUMBER LEVEL number1, number2, number3, etc. Specifies value of next numbered .HEADER LEVEL line .NMLS .NUMBER LIST number1, number2 Specifies value of next .LIST ELEMENT item in list .NMSPG .NUMBER SUBPAGE number Specifies value of next subpage .O .OFFSET number Specifies extra offset of entire output text .OLPG .OFFSET LEFT PAGE number Specifies extra offset of text on left pages .ORPG .OFFSET RIGHT PAGE number Specifies extra offset of text on right pages .OS .OPEN SPLICE Causes user to be asked for name of next splice file Concise Descriptions of the Commands 41 .PG .PAGE Start new page .PGL .PAGE LENGTH number Specifies maximum number of lines on a page .PS .PAGE SIZE number1, number2 Specifies length and width of page .PGW .PAGE WIDTH number Specifies number of characters across width of page .PA .PAGING Start new page whenever next line overflows page .P .PARAGRAPH number1, number2, number3 Following text starts new paragraph .PR .PERIOD Extra spaces are inserted after sentences .PFN .PRINT FOOTNOTES List collected footnotes continuing on current page .PX .PRINT INDEX rest of text on line List index continuing on current page .RE .RESET Restore most original settings except loop count .R .RIGHT number1, number2 Right justify next line with original word spacing .RBST .RIGHT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3' Specifies second line at bottom of right page .RBT .RIGHT BOTTOM TITLE 'phrase1','phrase2','phrase3' Specifies first line at bottom of right page .RM .RIGHT MARGIN number Specifies rightmost column if .FILL active .RNF .RIGHT NO FILL number1, number2 Right justify lines with original word spacing .RP .RIGHT PAGE Start new page with right page titles .RTST .RIGHT TOP SUBTITLE 'phrase1','phrase2','phrase3' Specifies second line at top of right page .RTT .RIGHT TOP TITLE 'phrase1','phrase2','phrase3' Specifies first line at top of right page .RU .RULE '1 or more characters', number1, number2 Rules a line between the indicated columns 42 The FROFF Word Processor User's Guide .SEQ .SEQUENCE 'characters' Specifies sorting order of characters in index .S .SKIP number Skip multiple spaced blank lines .SLP .SKIP LEFT PAGE Start new right page, generating left page if needed .SKPG .SKIP PAGE number Start new page after generating extra pages .SRP .SKIP RIGHT PAGE Start new left page, generating right page if needed .SPAX .SPACE APPENDIX number1, number2, number3 Change number of blank lines at start of appendix .SPB .SPACE BOTTOM number Change number of blank lines at bottom of page .SPCH .SPACE CHAPTER number1, number2, number3 Change number of blank lines at start of chapter .SPFN .SPACE FOOTNOTE number1, number2, number3 Change number of blank lines before footnotes .SPH .SPACE HEADER number1, number2 Change number of blank lines around header lines .SPX .SPACE INDEX number1, number2, number3, number4 Change number of blank lines at start of index .SPN .SPACE NOTE number1, number2, number3 Change number of blank lines around notes .SPT .SPACE TOP number1, number2, number3 Change number of blank lines at top of each page .SP .SPACING number Change spacing between lines .SPL .SPLICE number Insert text from second file .SD .STANDARD number Restores some original settings .STHL .STYLE HEADERS number1, number2, number3, number4 Changes capitalization and run-in of header lines .STX .STYLE INDEX number1, number2 Changes capitalization and format of index .SPG .SUBPAGE Start new subpage Concise Descriptions of the Commands 43 .ST .SUBTITLE rest of text on line Specifies second line at top of each page .TS .TAB STOPS number1, number2, number3, etc. Changes columns corresponding to tab characters .TL .TELL rest of text on line Types message on controlling terminal .TP .TEST PAGE number New page if not enough room for single spaced lines .TSP .TEST SPACING number New page if not enough room for multiple spaced lines .TI .TITLE rest of text on line Specifies first line at top of each page .TST .TOP SUBTITLE 'phrase1','phrase2','phrase3' Specifies second line at top of each page .TT .TOP TITLE 'phrase1','phrase2','phrase3' Specifies first line at top of each page .U .UNDERLINE Word or phrase on next line is to be underlined .ULS .UNDERLINE SPACE Underline spaces between words being underlined .UC .UPPER CASE Cases of alphabetic letters are retained 44 The FROFF Word Processor User's Guide 45 Chapter 5 Complete Descriptions of the Commands The Commands Listed in Alphabetical Order --- -------- ------ -- ------------ ----- .APPENDIX rest of text on line 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. 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. 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 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. .AUTO PARAGRAPH number1, number2, number3 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 or by a line which starts with one or more spaces at the left end. 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 PARAGRAPH command is issued. The arguments are the same as for the .PARAGRAPH command. .BEGIN BAR Providing that change bars are enabled, the following text, through the next appearance of an .END BAR command, is to bear a change bar 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. .BLANK number 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 page. The .FIGURE 46 The FROFF Word Processor User's Guide 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. 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 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. .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. .BOTTOM SUBTITLE 'phrase1','phrase2','phrase3' 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. Phrase1 is the word or phrase to be left justified in the subtitle line at the bottom of each page. Phrase2 is the word or phrase to be centered in the subtitle line at the bottom of each page. Phrase3 is the word or phrase to be right justified in the subtitle line at the bottom of each page. 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. 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. Complete Descriptions of the Commands 47 No bottom subtitle is initially active. .BOTTOM TITLE 'phrase1','phrase2','phrase3' 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. Phrase1 is the word or phrase to be left justified in the title line at the bottom of each page. Phrase2 is the word or phrase to be centered in the title line at the bottom of each page. Phrase3 is the word or phrase to be right justified in the title line at the bottom of each page. 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. 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. No bottom title is initially active. .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 following lines of source text will begin the specification of a new output line. .CENTER number1, number2 or .CENTRE number1, number2 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. 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 changing the number of words on the line and without changing the number of spaces before and between the words on the line. 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. 48 The FROFF Word Processor User's Guide 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. 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. 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. .LEFT NO FILL or .NO FILL 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 .CENTER 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 .CENTER NO FILL 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 .RIGHT 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 .RIGHT NO FILL 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 .CENTER NO FILL number1, number2 or .CENTRE NO FILL number1, number2 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 Complete Descriptions of the Commands 49 FILL and .RIGHT NO FILL commands. 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 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. 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. .CHAPTER rest of text on line 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. 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 bears no title) unless the top title has been declared by some version of the .TOP TITLE command. 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 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. .COLLECT FOOTNOTES Footnotes are to be collected and printed together when the next .DO 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. 50 The FROFF Word Processor User's Guide .COMMENT rest of text on line Causes the remainder of the line to be ignored even if this contains other commands or a semicolon. .DISABLE BAR 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 command applied a small offset to allow room for change bars, and the .DISABLE BAR command removes this offset. Change bars are initially disabled. .DISABLE INDEX Prevents the addition of any more items to the index until a subsequent .ENABLE INDEX command is issued. Any items already inserted into 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 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 be copied into the resulting document regardless of whether an .ENABLE INDEX command or a .DISABLE INDEX command has been issued the most recently. 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. .DISPLAY APPENDIX type (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) Causes the appendix numbers to be generated in the indicated system. 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. .DISPLAY APPENDIX LU is the default. .DISPLAY CHAPTER type (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) 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. .DISPLAY CHAPTER D is the default. Complete Descriptions of the Commands 51 .DISPLAY ELEMENT 'character', type, 'character' (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) Causes the numbers which identify the items specified by .LIST ELEMENT 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. 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. .DISPLAY ELEMENT,D,'.' is the default. .DISPLAY FOOTNOTE 'character', type, 'character', number (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) Causes the serial numbers which are inserted into the start of footnotes 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. 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. The number, if present following the .DISPLAY FOOTNOTE command, specifies whether the serial number which is inserted at the start 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 52 The FROFF Word Processor User's Guide 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. Number = 0, gives serial numbers which are not shifted above the ordinary text and which are not attached to the following words. Number = 1, gives serial numbers which are shifted half a line above the ordinary text, but which are not attached to the following words. Number = 2, gives serial numbers which are attached to the following words, but which are not shifted above the ordinary text. Number = 3, gives serial numbers which are shifted half a line above the ordinary text and which are attached to the following words. .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. .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. 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. .DISPLAY INDEX type (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) 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. .DISPLAY INDEX D is the default. .DISPLAY LEVELS type1, type2, type3 etc. (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) 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. Complete Descriptions of the Commands 53 .DISPLAY LEVELS D,D,D,D,D,D is the default. .DISPLAY NUMBER type or .DISPLAY PAGE type (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) 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. .DISPLAY REFERENCE 'character', type, 'character', number (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) 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. 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. 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 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. Number = 0, gives serial numbers which are not shifted above the ordinary text and which are not attached to the previous words. 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. Number = 2, gives serial numbers which are attached to the previous words, but which are not shifted above the ordinary text. Number = 3, gives serial numbers which are shifted half a line above the ordinary text and which are attached to the previous words. 54 The FROFF Word Processor User's Guide .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. 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. .DISPLAY SUBPAGE type (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) 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. .DO FOOTNOTES 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 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. .DO INDEX rest of text on line 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 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. .ENABLE BAR 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 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. Complete Descriptions of the Commands 55 .ENABLE INDEX Enables the insertion of additional items into the index until a subsequent .DISABLE INDEX command is issued. Items to be inserted 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. 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. .END BAR The following text is not to bear a change bar at the left edge. The .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. .END FILE Indicates that no more text is to be read from the file in which it appears. Not necessary if the entire file is to be processed. .END FOOTNOTE 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 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. .END LIST Terminates the specification of an automatically numbered list begun 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. .END LITERAL Terminates the specification of a section of text which is to be copied 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. .END LOOP If in the main input file, indicates that the text starting after the 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 56 The FROFF Word Processor User's Guide letters. .END NOTE Terminates the specification of a note begun by a preceding .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. .END SPLICE Ignored if in the main source file. In the splice file, terminates 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. .END SUBPAGE Terminates the specification of the contents of a sequence of subpages begun by a preceding .SUBPAGE command. The page number on the next 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. .ENTRY rest of text on line 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 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. .FACING PAGE 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. 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 Complete Descriptions of the Commands 57 command or a .FACING PAGE command 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. .FIGURE number The line of text currently being constructed is terminated and written into the resulting document, then the indicated number of single spaced 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. 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. 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. .FIGURE DEFERRED number 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. 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. 58 The FROFF Word Processor User's Guide 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. .FILL 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 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. .FIRST FORM 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. .FIRST TITLE If issued at the start of the source file, then the first page of output 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. .FLAGS or .FLAGS ALL Most flag characters are enabled in the source text. Does not change 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. .FLAGS ALL is the default. .FLAGS CAPITALIZE 'character' Words in which each letter is to be capitalized can be immediately preceded by the specified character. The less than character is assumed if no character follows the .FLAGS CAPITALIZE command. Opposite of .NO FLAGS CAPITALIZE. .NO FLAGS CAPITALIZE is the default. Complete Descriptions of the Commands 59 .FLAGS COMMENT 'character' The specified character can precede a comment which appears to the right of a command. Opposite of .NO FLAGS COMMENT. .FLAGS COMMENT '_!' is the default. .FLAGS CONTROL 'character' Commands in the source text are indicated by having the specified character in the first column. Opposite of .NO FLAGS CONTROL. .FLAGS CONTROL '_.' is the default. .FLAGS END COMMAND 'character' 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. .FLAGS END COMMAND '_;' is the default. .FLAGS END FOOTNOTE 'character' 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. .FLAGS END FOOTNOTE '_!' is the default. 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. .FLAGS HALF DOWN 'character' 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 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. If the printer or terminal upon which the output text is displayed 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 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 60 The FROFF Word Processor User's Guide current line and the next line even if the text is being single spaced. 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. .FLAGS HALF UP 'character' 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 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. If the printer or terminal upon which the output text is displayed 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 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. 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. .FLAGS INDEX 'character' 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. 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 Complete Descriptions of the Commands 61 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. 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. 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. 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. 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. The .FLAGS INDEX command is the opposite of the .NO FLAGS INDEX command, which is the default. .FLAGS LOWER CASE 'character' 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. .FLAGS LOWER CASE '_\' is the default. 62 The FROFF Word Processor User's Guide .FLAGS PAGE 'character' 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. .FLAGS PAGE '_>' is the default. .FLAGS QUOTE 'character' The specified character can precede any special character which is to be treated as an ordinary character. Opposite of .NO FLAGS QUOTE. .FLAGS QUOTE '__' is the default. .FLAGS SPACE 'character' 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. .FLAGS SPACE '_#' is the default. .FLAGS SUBINDEX 'character' 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. .FLAGS SUBINDEX '_>' is the default. 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. .FLAGS TEXT 'character' 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 Complete Descriptions of the Commands 63 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. 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. .FLAGS UNDERLINE 'character' 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 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. .FLAGS UNDERLINE '_&' is the default. .FLAGS UPPER CASE 'character' 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. .FLAGS UPPER CASE '_^' is the default. .FOOTNOTE 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. .FOOTNOTE HEADER rest of text on line The text specified by the .FOOTNOTE HEADER command is to be used as 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. 64 The FROFF Word Processor User's Guide .FOOTNOTE RULE 'character' A line formed by repeating the specified character is to be ruled above 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. .FORCE PAGE (Alias is .FPG) 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 contain nothing else. The .FORCE PAGE command implies a .BREAK command. 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. For example, the source text .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. would be converted into the following 3 pages of formatted text when processed by this program. ***************** ***************** ***************** * * * 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. * * * ***************** ***************** ***************** 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 Complete Descriptions of the Commands 65 instead, then the text following the .PAGE command could appear on the second page above the continuation of the footnote. For example, the source text .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. would be converted into the following 3 pages of formatted text when processed by this program. ***************** ***************** ***************** * * * 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. * * * ***************** ***************** ***************** 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. .HEADERS or .HEADERS ON 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 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. The .HEADERS command is the opposite of the .NO HEADERS command. 66 The FROFF Word Processor User's Guide .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. .HEADER LEVEL number, rest of text on line 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 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. 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 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. .IMMEDIATE FOOTNOTES 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. .INDENT number 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. .INDENT ELEMENT number 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 Complete Descriptions of the Commands 67 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. .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. .INDENT FOOTNOTE number 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. .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. .INDENT LEVEL number 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. .INDENT NOTE number1, number2, number3 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. 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 .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. 68 The FROFF Word Processor User's Guide 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. 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. .INDENT NOTE 0,4,-4 is the default. .INDEX rest of text on line 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. 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. .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. 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 text of preceding section . . .PAGE.INITIAL PAGE.SKIP LEFT PAGE.INITIAL PAGE . . text of new section If the skipped left pages can bear normal titles, then the sequence of Complete Descriptions of the Commands 69 commands could instead be text of preceding section . . .SKIP LEFT PAGE.INITIAL PAGE . . text of new section .INPUT WIDTH number 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 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. .JOIN 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. 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. 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. The .JOIN command is ignored if any of the following conditions apply. 1. A .FOOTNOTE command is active. 2. No source text has been specified since the last .BREAK command, or since the last command which implied a .BREAK command, was issued. 3. A .BREAK command, or any command which implies a .BREAK command is encountered before the next source line which is not a command. 70 The FROFF Word Processor User's Guide For example, the source text Please send this memo to .SPLICE 1 .JOIN . 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. .JUSTIFY 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. .LAST FORM 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. .LEFT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3' 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. .LEFT BOTTOM TITLE 'phrase1','phrase2','phrase3' 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. .LEFT MARGIN number NOTE: The .OFFSET command should be used instead of the .LEFT MARGIN command if the entire document is to be shifted to the right. 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. .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. Complete Descriptions of the Commands 71 .LEFT NO FILL number1, number2 or .NO FILL number1, number2 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. .LEFT PAGE 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. .LEFT TOP SUBTITLE 'phrase1','phrase2','phrase3' 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. .LEFT TOP TITLE 'phrase1','phrase2','phrase3' 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. .LIST number, 'up to 6 characters' 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. 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. 72 The FROFF Word Processor User's Guide .LIST ELEMENT 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. .LITERAL 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. 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 LITERAL command is copied into the output unchanged. .LOOP number 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 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. If the .LOOP command is used to construct form letters, then a .RESET 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. Complete Descriptions of the Commands 73 .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 the appearance of 2 back slashes. Opposite of .UPPER CASE, which is the default. .MOVABLE FIGURE number 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. 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. 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. .MOVABLE PAGE number 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. 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. 74 The FROFF Word Processor User's Guide .NO AUTO PARAGRAPH 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. .NO FILL number1, number2 or .LEFT NO FILL number1, number2 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 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. 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. 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. 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. .NO FLAGS or .NO FLAGS 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. Complete Descriptions of the Commands 75 .FLAGS ALL is the default. .NO FLAGS CAPITALIZE No special character can be used to indicate words in which each letter is to be capitalized. Opposite of .FLAGS CAPITALIZE. .NO FLAGS CAPITALIZE is the default. .NO FLAGS COMMENT A comment cannot appear to the right of a command. Opposite of .FLAGS COMMENT. .FLAGS COMMENT '_!' is the default. .NO FLAGS CONTROL 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. .FLAGS CONTROL '_.' is the default. .NO FLAGS END COMMAND 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. .FLAGS END COMMAND '_;' is the default. .NO FLAGS END FOOTNOTE 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. .FLAGS END FOOTNOTE '_!' is the default. .NO FLAGS HALF DOWN 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. .NO FLAGS HALF DOWN is the default. .NO FLAGS HALF UP 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 .NO FLAGS HALF UP is the default. 76 The FROFF Word Processor User's Guide .NO FLAGS INDEX 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. .NO FLAGS INDEX is the default. .NO FLAGS LOWER CASE No special character can be used to indicate single letters which are to be translated into lower case. Opposite of .FLAGS LOWER CASE. .FLAGS LOWER CASE '_\' is the default. .NO FLAGS PAGE 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. .FLAGS PAGE '_>' is the default. .NO FLAGS QUOTE No special character can precede any special character which is to be treated as an ordinary printing character. Opposite of .FLAGS QUOTE. .FLAGS QUOTE '__' is the default. .NO FLAGS SPACE 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. .FLAGS SPACE '_#' is the default. .NO FLAGS SUBINDEX 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. .FLAGS SUBINDEX '_>' is the default. .NO FLAGS TEXT 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. .NO FLAGS TEXT is the default. .NO FLAGS UNDERLINE 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. .FLAGS UNDERLINE '_&' is the default. Complete Descriptions of the Commands 77 .NO FLAGS UPPER CASE No special character can be used to indicate single letters which are to be translated into upper case. Opposite of .FLAGS UPPER CASE. .FLAGS UPPER CASE '_^' is the default. .NO FOOTNOTE HEADER No header line is to appear above the footnotes in the output. Opposite of .FOOTNOTE HEADER. .NO FOOTNOTE HEADER is the default. .NO HEADERS 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. .NO JUSTIFY 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. .NO NUMBER 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. .NO NUMBER FOOTNOTE 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. .NO OFFSET 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. .NO PAGING 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. 78 The FROFF Word Processor User's Guide .NO PERIOD 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. .NO SUBTITLE 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. .NO TITLE 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. .NO UNDERLINE SPACE 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. .NOTE rest of text on line 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. 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. 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 Complete Descriptions of the Commands 79 command. A .LEFT MARGIN command and/or a .RIGHT MARGIN command can be issued 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 instead. A .SPACING command can be issued within a note to temporarily change 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. A .PARAGRAPH command with a following number can be issued within 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 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. 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. The proper sequence of commands would be .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 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. .NUMBER number or .NUMBER PAGE number 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 80 The FROFF Word Processor User's Guide 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. 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 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. 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 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. .NUMBER 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. .NUMBER CHAPTER number 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. Complete Descriptions of the Commands 81 If a .NUMBER CHAPTER command has not been issued, then the first chapter will be chapter 1 or A. .NUMBER FOOTNOTE number 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. 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 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. 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 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. .NUMBER LEVEL number1, number2, number3, etc. 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. .NUMBER LIST number1, number2 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. 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 82 The FROFF Word Processor User's Guide commands. Number1 must not be greater than the depth of the current list. 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. .NUMBER SUBPAGE number 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. .OFFSET number 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. .OFFSET LEFT PAGE number 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. .OFFSET RIGHT PAGE number 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. Complete Descriptions of the Commands 83 .OPEN SPLICE 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. .PAGE 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. 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 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. 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. .END SUBPAGE causes the page numbers of the following pages to not bear the letter suffixes which were included after a previous .SUBPAGE 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. .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 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. .FORCE PAGE causes any immediate footnotes for which there was insufficient room on the previous page to be generated on an extra page or pages before the next output text is place on a new page. .INITIAL PAGE causes the new page to be treated as an initial page which will not bear page titles. .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 .FACING PAGE commands, the association of odd and even page numbers 84 The FROFF Word Processor User's Guide with the particular sides of the paper is established by the page number of the new page. .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 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. .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 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 LEFT PAGE generates an empty page bearing titles and subtitles if the next output text would otherwise have been placed on a left page. .SKIP PAGE generates 1 or more empty pages bearing titles and subtitles before the next output text is placed on a new page. .SKIP RIGHT PAGE generates an empty page bearing titles and subtitles if the next output text would otherwise have been placed on a right page. .SUBPAGE causes a letter suffix to be attached to each page number. This suffix is incremented for each following page until a subsequent .END SUBPAGE command is encountered. .TEST PAGE causes a new page to be begun if, and only if, there is not sufficient room on the current page for a specified number of additional single spaced lines. A .BREAK command is, however, always implied. .TEST SPACING causes a new page to be begun if, and only if, there 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. .PAGE LENGTH number 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. .PAGE LENGTH 58 is the default. Complete Descriptions of the Commands 85 .PAGE SIZE number1, number2 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. The .PAGE SIZE command specifies the height and width of the output pages. Number1, if specified, becomes the new number of lines on an output page, including the lines used for top and bottom titles and subtitles. 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. .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. .PAGE WIDTH number 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 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. .PAGE WIDTH 60 is the default. .PAGING 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. .PARAGRAPH number1, number2, number3 The next line of text is to start a new paragraph. Number1 is the number of spaces by which the first line of the paragraph is to be indented from the left margin. Number2 is the number of single spaced blank lines which are to precede the first line of the paragraph. 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. 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 86 The FROFF Word Processor User's Guide to the 3 commands .BLANK number2, .TEST SPACING number3, .INDENT number1 issued in this order. 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. .PERIOD 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. .PRINT 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. .PRINT INDEX rest of text on line 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. .RESET 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. Complete Descriptions of the Commands 87 .RIGHT number1, number2 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. 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. 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. 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. .RIGHT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3' 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. .RIGHT BOTTOM TITLE 'phrase1','phrase2','phrase3' 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. .RIGHT MARGIN number 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. .RIGHT NO FILL number1, number2 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. 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 88 The FROFF Word Processor User's Guide changing the original spacing before and between the words on the line. 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. 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. .RIGHT PAGE 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. .RIGHT TOP SUBTITLE 'phrase1','phrase2','phrase3' 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. .RIGHT TOP TITLE 'phrase1','phrase2','phrase3' 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. .RULE '1 or more characters', number1, number2 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. 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. Complete Descriptions of the Commands 89 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. .RULE'-' would rule a line of minus signs between the left and right margins. .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. 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. .SEQUENCE 'characters' 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. 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. .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 number 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 90 The FROFF Word Processor User's Guide nor the .SKIP command is active at the top of a new output 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. 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. .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 LEFT PAGE 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 PAGE number 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. 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. 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. Complete Descriptions of the Commands 91 .SKIP RIGHT PAGE 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. .SPACE APPENDIX number1, number2, number3 Modifies the number of blank lines appearing on the first page of an appendix. Number1 indicates the number of blank lines to appear on the first page of an appendix between the page header and the word APPENDIX. 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. 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. .SPACE APPENDIX 9,1,3 is the default. .SPACE BOTTOM number Modifies the number of blank lines appearing at the bottom of a page which bears a bottom title and/or a bottom subtitle. 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. .SPACE BOTTOM 1 is the default. .SPACE CHAPTER number1, number2, number3 Modifies the number of blank lines appearing on the first page of a chapter. Number1 indicates the number of blank lines to appear on the first page of a chapter between the page header and the word CHAPTER. 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. 92 The FROFF Word Processor User's Guide 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. .SPACE CHAPTER 9,1,3 is the default. .SPACE FOOTNOTE number1, number2, number3 Modifies the number of blank lines appearing before a list of footnotes and between the footnotes in a list of footnotes. Number1 indicates the number of extra blank lines to appear before the footnote header line. Number2 indicates the number of extra blank lines to appear after the footnote header line. Number3 indicates the number of extra blank lines to appear between successive footnotes on the same page. .SPACE FOOTNOTE 1,0,0 is the default. .SPACE HEADER number1, number2 Modifies the number of blank lines appearing before and after each subsection heading specified by a .HEADER LEVEL command. 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. 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. .SPACE HEADER 3,1 is the default. .SPACE INDEX number1, number2, number3, number4 Modifies the number of blank lines appearing at the start of each index. Number1 specifies the number of blank lines to appear above the header line in an index constructed by a .DO INDEX command. 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. 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. Complete Descriptions of the Commands 93 Number4 specifies the number of blank lines to appear after an index constructed by a .PRINT INDEX command. .SPACE INDEX 0,4,2,2 is the default. .SPACE NOTE number1, number2, number3 Modifies the number of blank lines appearing before and after notes which are delimited by the .NOTE and .END NOTE commands. Number1 specifies the number of blank lines, in addition to the normal line spacing, which are to appear before a note. Number2 specifies the number of blank lines which are to appear between the title of the note and the text of the note. 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. .SPACE NOTE 2,1,2 is the default. .SPACE TOP number1, number2, number3 Modifies the number of blank lines appearing at the top of each page. Number1 indicates the number of blank lines which are to appear at the top of each page above the top title. 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. 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. .SPACE TOP 0,2,3 is the default. .SPACING number 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. .SPLICE number 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. .STANDARD number 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 94 The FROFF Word Processor User's Guide other than 60 or 70. .STYLE HEADERS number1, number2, number3, number4 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. Number1 forces wrap-around format for depths equal to this value and above. 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. 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. 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. .STYLE HEADERS 3,1,6,2 is the default. .STYLE INDEX number1, number2 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. Number1 specifies the overall appearance of the index. 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. 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. 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 Complete Descriptions of the Commands 95 index on each page. 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 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. 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. 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. 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. 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. .SUBPAGE 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. .SUBTITLE rest of text on line 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. 96 The FROFF Word Processor User's Guide .TAB STOPS number1, number2, number3, etc. 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. .TELL rest of text on line or, if the .FLAGS TEXT command is active .TELL 'phrase' 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. 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. .TEST PAGE number 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. Complete Descriptions of the Commands 97 .TEST SPACING number 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. .TITLE rest of text on line or, if the .FLAGS TEXT command is active, .TITLE 'phrase' (Alias is .TI, however, .T is also accepted if the next printing character on the line is not alphabetic) 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. 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. 1. 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. 2. 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. 3. 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" 98 The FROFF Word Processor User's Guide 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. 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. 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. 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. 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. For example, the source text .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. would be converted into the following 3 pages of formatted text when processed by this program. Complete Descriptions of the Commands 99 ***************** ***************** ***************** *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. * * * * * * * * * * * * * * * * * * * * * * * * * ***************** ***************** ***************** .TOP SUBTITLE 'phrase1','phrase2','phrase3' 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. Phrase1 is the word or phrase to be left justified in the subtitle line at the top of each page. Phrase2 is the word or phrase to be centered in the subtitle line at the top of each page. Phrase3 is the word or phrase to be right justified in the subtitle line at the top of each page. 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. 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. No top subtitle is initially active. .TOP TITLE 'phrase1','phrase2','phrase3' (Alias is .TT) 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 > 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. 100 The FROFF Word Processor User's Guide The 3 arguments of the .TOP TITLE command specify the following portions of the title. Phrase1 specifies the characters which are to be left justified in the titles so that the leftmost character appears in column 1. 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. 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. 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. .TOP TITLE,,'Page >' is the default. 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 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. 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. 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. Complete Descriptions of the Commands 101 For example, the source text .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. would be converted into the following 2 pages of formatted text when processed by this program. *************************** *************************** *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' * *************************** *************************** 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. .UNDERLINE 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. For example, the source text .FILL;Some words .UNDERLINE;in this sentence are underlined. would produce the following text Some words in this sentence are underlined. __ ____ ________ .UNDERLINE SPACE 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 102 The FROFF Word Processor User's Guide .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. .UPPER CASE 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. .UPPER CASE is the default. 103 Chapter 6 Cover Embellishment Commands General Description of the Cover Embellishment Commands ------- ----------- -- --- ----- ------------- -------- 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. The results produced by applying a few of these commands are shown below. 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. SSSSS A MM MM PPPPP LL EEEEEEE SS AAA MMM MMM PP PP LL EE SS AA AA MMMM MMMM PP PP LL EE SSS AA AA MM MMM MM PPPPP LL EEEEEE SS AAAAAAA MM M MM PP LL EE SS AA AA MM MM PP LL EE SSSSS AA AA MM MM PP LLLLLLL EEEEEEE 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. SSSSSSS AAA MMMM MMMMPPPPPPP LLLL EEEEEEEEE SSS S AA AA M MM MM MP PPPL L E E S SSSSSS AA AA M MMM MP PPP PL L E EEEEEE S SSSS AA A AAM M MP PPP PL L E EEEEE SSS SSSA AAA AM M M MP PPPL L E E SSSS SA AM MM MM MP PPPP L L E EEEEE SSSSSS SA AAA AM MMMMM MP P L LLLLLLE EEEEEE S SSSA A A AM M M MP P L LE E SSSSSSS AAAA AAAAMMMM MMMMPPPP LLLLLLLLLEEEEEEEEE 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 104 The FROFF Word Processor User's Guide literal mode or in any of the various nofill modes. The right edges shown below are 2 characters wide and 2 lines high. SSSSSS M PPP L EEEEEE SSSSSSS A MM PPP P LL EEEEEEE S AAA M M MM PPPP LL SSS A MM MM MM PPPPPPP LL EEEEE S S AAA AA MM MM MM PPPPP LL EEEEEE SSSS AAA AA MM M MM PP SSSSSSSS AAA AAA MMM MMM PPP LLLLLLL EEEEEEE SSSSS AA AA MM MM PP LLLLLLL EEEEEEE 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. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXX XXXXX XXXXX XX XXXX XXXXXXX XXX XXX XXXXXXXXX XXXX XXX XX XXX XX XXXXXXX XXXXXXXX XXX XXXXXXXX X XXX X XX XXX XX XXXXXXX XXXXXXXX XXXXX XXXX XXX XX X X XX XXXX XXXXXXX XXXX XXXXXXXX XX XX XX XX XX XXXXXXX XXXXXXX XXXXXXXX XXXXXXXX XX XXX XX XXXXX XX XXXXXXX XXXXXXX XXXXXXXX XXX XXXX XXX XX XXXXX XX XXXXXXX XX XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX The aliases, argument lists and concise descriptions of the lettering and associated commands are listed below. .BG .BACKGROUND 'phrase', number1 through number10 Interconvert spaces and printing characters in text .EO .END OBJECT Terminate construction of an object being outlined .FLLTR .FLAGS LETTER 'character' Change flag marking modifications of large letters .LED .LEFT EDGE 'phrase', number1, number2, number3 Outline lower left edge of objects copied in text .LTR .LETTER 'phrase', number1, number2 through number5 Represent text on next line by multi-line letters .NFLLTR .NO FLAGS LETTER 'character' No flag can mark modifications of large letters .OUT .OUTLINE 'phrase', number1, number2 through number5 Outline objects in text copied in nofill or literal .RED .RIGHT EDGE 'phrase', number1, number2, number3 Outline lower right edge of objects copied in text .SQ .SQUEEZE number1, number2, number3 etc. Remove selected columns from multi-line letters Cover Embellishment Commands 105 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. Complete Descriptions of the Cover Embellishment Commands -------- ------------ -- --- ----- ------------- -------- .BACKGROUND 'phrase', number1, number2, through number10 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. 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. 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. 1. An .END OBJECT command is issued to terminate the background. 2. A .LEFT EDGE command, .RIGHT EDGE command, .OUTLINE command or another .BACKGROUND command is issued to begin a new object or background. 3. A .FILL command is issued so that the subsequent words in the source text are accumulated in lines of approximately equal length. 4. 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 106 The FROFF Word Processor User's Guide accumulated again in lines of approximately equal length (i.e., the previous .FILL command again becomes active). Since the .BACKGROUND command accepts several unrelated arguments, these are summarized below, then each argument is described in detail. phrase = a phrase to be used to darken the background number1 = number of columns to left of left edge of darkened background or offset from left margin if signed number2 = location of right edge of darkened background or offset from right margin if signed number3 = number of top border lines number4 = number of bottom border lines number5 = number of columns by which the phrase used to darken the background is offset from one line to the next number6 = selects the horizontal alignment of the pattern obtained by repeating the phrase = 0, the superimposed phrase starts at the left end of the first line at the top of the darkened background = 1, the superimposed phrase starts at the upper left printing character used to darken the background number7 = width of darkened stripes. Entire background is darkened if number7 through number10 are not specified number8 = separation between stripes number9 = separation between upper left corner and first stripe number10 = number of columns by which the stripe is offset from one line to the next. 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. 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. 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 Cover Embellishment Commands 107 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. 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. 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. The dimensions of the rectangular area which are controlled by number1 through number4 are diagrammed below. 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 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. 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. 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 108 The FROFF Word Processor User's Guide 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. 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. 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. 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. 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. 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. 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. As an example, the source text .BACKGROUND'PHRASE',0,45,2,2,2,1,25,10,5,2 .LEFT MARGIN 2.LETTER'*',2,3;DARK specifies the following items 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 Cover Embellishment Commands 109 and would produce the following darkened background when processed by this program. 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 .END OBJECT 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. .FLAGS LETTER 'character' 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. .FLAGS LETTER '_>' is the default. .LEFT EDGE 'phrase', number1, number2, number3 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. 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. 110 The FROFF Word Processor User's Guide 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. 1. An .END OBJECT command is issued to terminate the object. 2. An .OUTLINE command, .RIGHT EDGE command, .BACKGROUND command or another .LEFT EDGE command is issued to begin a new object. 3. A .FILL command is issued so that the subsequent words in the source text are accumulated in lines of approximately equal length. 4. 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). Since the .LEFT EDGE command accepts several unrelated arguments, these are summarized below, then each argument is described in detail. phrase = a phrase to be used to darken the edge number1 = width or height of the edge number2 = number of columns by which the phrase used to darken the edge is offset from one line to the next number3 = selects the horizontal alignment of the pattern obtained by repeating the phrase = 0, the superimposed phrase starts at the left end of the first line of the object = 1, the superimposed phrase starts at the upper left printing character used to darken the edge 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. 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 Cover Embellishment Commands 111 number1 is unsigned or positive, and causes the lower left edge to be shown if number1 is negative. 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. 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. 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. 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. As an example of the construction of a left edge, the following source text .LEFT EDGE'PHRASE',3,1,1 .NOFILL.LEFT MARGIN 5.SPACING 3 .LETTER,2,3;LEFT .LETTER,2,3;EDGE .END OBJECT 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. 112 The FROFF Word Processor User's Guide 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 .LETTER 'phrase', number1, number2, through number5 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. 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. If one of the various forms of the .NO FILL command is currently causing ordinary single line lettering to be left justified, centered or right justified, then the multi-line lettering will be positioned similarly. Cover Embellishment Commands 113 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. Since the .LETTER command accepts several unrelated arguments, these are summarized below, then each argument is described in detail. phrase = a phrase to be superimposed upon the lettering number1 = selects the size of the lettering in the line = 1, lettering is 5 lines high by 5 columns wide = 2, lettering is 7 lines high by 8 columns wide = 3, lettering is 9 lines high by 10 columns wide number2 = number of columns separating multi-line lettering number3 = selects type of shadows cast by lettering = 0, no shadows = 1, normal shadows cast toward the lower left = 2, normal shadows cast toward the lower right = 3, negative shadows cast toward the lower left = 4, negative shadows cast toward the lower right number4 = number of columns by which the superimposed phrase is offset from one line to the next number5 = selects the horizontal alignment of the superimposed pattern obtained by repeating the phrase = 0, superimposed phrase starts at the left end of the first line of the multi-line lettering = 1, superimposed phrase starts at the upper left printing character used to construct the lettering 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. 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. 114 The FROFF Word Processor User's Guide 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. 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. 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. As examples of the 3 sizes of lettering which can be selected by number1, the source text .SPACING 2 .LETTER,1,1;ABCDEFGH .LETTER,2,2;ABCDE .LETTER,3,3;ABCD would produce the following lines of multi-line lettering when processed by this program. A BBBB CCCC DDDD EEEEE FFFFF GGGG H H A A B B C D D E F G H H A A BBBB C D D EEEE FFFF G GG HHHHH AAAAA B B C D D E F G G H H A A BBBB CCCC DDDD EEEEE F GGGG H H AA BBBBBB CCCCC DDDDD EEEEEEEE AAAA BB BB CC DD DD EE AA AA BB BB CC DD DD EE AA AA BBBBBB CC DD DD EEEEEE AAAAAAAA BB BB CC DD DD EE AA AA BB BB CC DD DD EE AA AA BBBBBB CCCCC DDDDD EEEEEEEE AA BBBBBBB CCCCCCC DDDDDDD AAAA BB BB CC DD DD AA AA BB BB CC DD DD AA AA BB BB CC DD DD AA AA BBBBBBB CC DD DD AA AA BB BB CC DD DD AAAAAAAAAA BB BB CC DD DD AA AA BB BB CC DD DD AA AA BBBBBBB CCCCCCC DDDDDDD 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 Cover Embellishment Commands 115 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. As examples of the letter spacings selected by various values of number2, the source text .SPACING 2 .LETTER,2,0;FAULT .LETTER,2,1;FAULT .LETTER,2,2;FAULT would produce the following lines of multi-line lettering when processed by this program. FFFFFFFF AA UU UULL TTTTTTTT FF AAAA UU UULL TT FF AA AA UU UULL TT FFFFFF AA AAUU UULL TT FF AAAAAAAAUU UULL TT FF AA AA UU UU LL TT FF AA AA UUUU LLLLLLLL TT FFFFFFFF AA UU UU LL TTTTTTTT FF AAAA UU UU LL TT FF AA AA UU UU LL TT FFFFFF AA AA UU UU LL TT FF AAAAAAAA UU UU LL TT FF AA AA UU UU LL TT FF AA AA UUUU LLLLLLLL TT FFFFFFFF AA UU UU LL TTTTTTTT FF AAAA UU UU LL TT FF AA AA UU UU LL TT FFFFFF AA AA UU UU LL TT FF AAAAAAAA UU UU LL TT FF AA AA UU UU LL TT FF AA AA UUUU LLLLLLLL TT 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. 116 The FROFF Word Processor User's Guide Number3 = 0, does not produce shadows. Number3 = 1, gives normal shadows cast toward the lower left. The shadows are dark where the characters are dark. Number3 = 2, gives normal shadows cast toward the lower right. The shadows are dark where the characters are dark. 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. 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. As examples of the shadows selected by various values of number3, the source text .SPACING 2 .LETTER,2,3,2;TRUE .LETTER,2,3,4;FALSE would produce the following lines of multi-line lettering when processed by this program. TTTTTTTT RRRRRR UU UU EEEEEEEE TT RR RR UU UU EE TT RR RR UU UU EE TT RRRRRR UU UU EEEEEE TT RR RR UU UU EE TT RR RR UU UU EE TT RR RR UUUU EEEEEEEE TT RR RR UUUU EEEEEEEE TT RR RR UU UU EE TT RR RR UU UU EE TT RRRRRR UU UU EEEEEE TT RR RR UU UU EE TT RR RR UU UU EE TTTTTTTT RRRRRR UU UU EEEEEEEE FFFFFFFF AA LL SSSSSS EEEEEEEE FF AAAA LL SS EE FF AA AA LL SS EE FFFFFF AA AA LL SSSS EEEEEE FF AAAAAAAA LL SS EE FF AA AA LL SS EE FF AA AA LLLLLLLL SSSSSS EEEEEEEE FFFFFFF AAAA AAA LLL SSSSS FFFFFFF AAAA AAA LLLLLLLLLLLLLLL SSS EEEEEE FFFFFFF AAA LLLLLLLLLLLLLLL SSS EEEEEE FFF AAAA AAA LLLLLLLLLLL SSSSS EE FFFFFFFF AA AAAA LLLLLLLLL SSSSSSSSS EEEEEE FFFFFFFFF AAAAA LLLLLLLLL SSSSSSSSS EEEEEE FFFF AAAAAA LLLLLLLLLLL SSS Cover Embellishment Commands 117 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. 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. 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. 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. 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. >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. 118 The FROFF Word Processor User's Guide >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. >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. >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. >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. >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. >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. >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. >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. Cover Embellishment Commands 119 .NO FLAGS LETTER 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. .FLAGS LETTER '_>' is the default. .OUTLINE 'phrase', number1, number2, through number5 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. 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. 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. 1. An .END OBJECT command is issued to terminate the object. 2. A .LEFT EDGE command, .RIGHT EDGE command, .BACKGROUND command or another .OUTLINE command is issued to begin a new object. 3. A .FILL command is issued so that the subsequent words in the source text are accumulated in lines of approximately equal length. 4. 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). Since the .OUTLINE command accepts several unrelated arguments, these are summarized below, then each argument is described in detail. phrase = a phrase to be superimposed upon the outline 120 The FROFF Word Processor User's Guide number1 = width of the edges forming the outline number2 = height of the edges forming the outline number3 = selects whether corners are square and whether objects which are concave from the bottom up are filled in = 0, rounded corners, open concave objects = 1, rounded corners, filled concave objects = 2, square corners, open concave objects = 3, square corners, filled concave objects number4 = number of columns by which the superimposed phrase is offset from one line to the next number5 = selects the horizontal alignment of the superimposed pattern obtained by repeating the phrase = 0, superimposed phrase starts at the left end of the first line of the outline = 1, superimposed phrase starts at the upper left printing character used to construct the outline 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. 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. 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. 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. Cover Embellishment Commands 121 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. 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. 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. Number3 = 2, gives square corners but does not fill in concave objects. Identical to number3 = 0 if the outlines have a thickness of 1. 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. Either of the following 2 examples of source text .CENTER NO FILL 25.SPACING 2 .OUTLINE,1 .LETTER,2,2;USER .LETTER;GUIDE .END OBJECT or .NO FILL .OUTLINE,1 UU UU SSSSSS EEEEEEEE RRRRRR UU UU SS EE RR RR UU UU SS EE RR RR UU UU SSSS EEEEEE RRRRRR UU UU SS EE RR RR UU UU SS EE RR RR UUUU SSSSSS EEEEEEEE RR RR .CENTER NO FILL 25.SKIP.LETTER,2,2;GUIDE .END OBJECT 122 The FROFF Word Processor User's Guide would be converted into the following picture when processed by this program. UUUU UUUU SSSSSSSSEEEEEEEEEERRRRRRRR U U U USSS SE ER RRR U U U US SSSSSSSE EEEEEEER RRRR R U U U US SSSSS E EEEEE R RRRR R U U U USSS SSSE E R RRR U UUUU U SSSSS SE EEEEE R RR RR UU UU UUSSSSSSS SE EEEEEEER RRR RR UU UU S SSSE ER R RR R GGGGUUUUUUUSSSSSSSIIIIEEEEEEEEDRRRREEERREEEEE GGG GU U U UI ID DDD E E GG GGGGGGU U U UIII IIID DDD DDE EEEEEEE G GGGGGGGU U U U I I D D DD DE EEEEE G GG GU U U U I I D D D DE E G GGGG GU UUUU U I I D D DD DE EEEEE GG GGG GUU UU UUIII IIID DDD DDE EEEEEEE GGG G UU UU I ID DDD E E GGGGGGG UUUUUU IIIIIIIIDDDDDDD EEEEEEEEEE Changing the .OUTLINE,1 commands in either of the above examples to .OUTLINE,1,,1 would produce the following picture instead. UUUU UUUU SSSSSSSSEEEEEEEEEERRRRRRRR U U U USSS SE ER RRR U U U US SSSSSSSE EEEEEEER RRRR R U U U US SSSSSSSE EEEEEEER RRRR R U U U USSS SSSE EERR RRR U UUUU USSSSSSS SE EEEEEERR RR RR UU UU UUSSSSSSS SE EEEEEEER RRR RR UU UUUS SSSE ER RRRR R GGGGUUUUUUUSSSSSSSIIIIEEEEEEEEDRRRREEERREEEEE GGG GU USSU UI ID DDDRE E GG GGGGGGU UUUU UIII IIID DDD DDE EEEEEEE G GGGGGGGU UUUU UIII IIID DDDD DE EEEEE G GG GU UUUU UUII IIDD DDDD DE E G GGGG GU UUUU UUII IIDD DDDD DE EEEEE GG GGG GUU UU UUIII IIID DDD DDE EEEEEEE GGG GUUU UUUI ID DDDDE E GGGGGGGGUUUUUUUUUIIIIIIIIDDDDDDDDDDEEEEEEEEEE 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. 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 Cover Embellishment Commands 123 location of the first printing character on the line. Number5 is assumed to have the value zero if it is not specified. 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. 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. .RIGHT EDGE 'phrase', number1, number2, number3 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. 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. phrase = a phrase to be used to darken the edge number1 = width or height of the edge number2 = number of columns by which the phrase used to darken the edge is offset from one line to the next number3 = selects the horizontal alignment of the pattern obtained by repeating the phrase = 0, the superimposed phrase starts at the left end of the first line of the object = 1, the superimposed phrase starts at the upper left printing character used to darken the edge .SQUEEZE number1, number2, number3 etc. 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. 124 The FROFF Word Processor User's Guide 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. .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 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. 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 .LETTER,2,2;WIDER which would produce the following multi-line lettering. 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 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. 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 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, .SQUEEZE 6,13,18,24,36-2,44 .LETTER,2,2;WIDER Cover Embellishment Commands 125 which would produce the following compacted lettering when processed by this program. 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 126 The FROFF Word Processor User's Guide 127 Appendix A How to Run FROFF on Various Computer Systems How to Run FROFF on the DECsystem10 and DECsystem20 --- -- --- ----- -- --- ----------- --- ----------- 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. 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 ONE or DSK:ONE.DOC=DSK:ONE.RNO 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. 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 128 The FROFF Word Processor User's Guide 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. 129 Appendix B Use of FROFF at the Yale School of Management How To Use The Diablo Terminal To Get Output From FROFF --- -- --- --- ------ -------- -- --- ------ ---- ----- 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. You should follow the following instructions the first time you use the Diablo terminal. 1. 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. 2. If the LOCAL key at the left edge of the keyboard is depressed, press it again to release it to its outer position. 3. 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. 4. 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. 5. 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. 6. Press the RETURN key. The terminal will respond by typing a line similar to the following: Yale CS/SOM DECsystem2060 (#2300), TOPS-20 Monitor 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. 7. 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. 8. Invoke the FROFF program by typing the Exec command @FROFF 130 The FROFF Word Processor User's Guide 9. 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. 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. NAME/P to center a document which is 80 columns wide giving slightly less than 1 inch on both sides. NAME/P/O:1 to center a document which is 78 columns wide giving 1 inch margins on both sides. NAME/P/O:4 to center a document which is 72 columns wide giving 1.25 inch margins on both sides. NAME/P/O:10 for a document which is 72 columns wide giving 1.5 inch left margin and 1 inch right margin. 10. After you have specified the name of the file to be processed, FROFF will tell you INSERT PAPER, THEN HIT RETURN KEY 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. 11. 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. 12. 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. 13. 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. 14. When you get the @ prompt from the Exec, type the command @LOGOUT 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. 15. Move the switch on the blue "GANDALF" box into its down position. 16. Turn off the power on the Diablo terminal. Use of FROFF at the Yale School of Management 131 How To Change The Ribbon Cartridge On The Diablo Terminal --- -- ------ --- ------ --------- -- --- ------ -------- 1. 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. 2. 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. 3. Lift off the old cartridge. 4. 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. 5. 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. 6. 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. 7. 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. 8. 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. 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. What To Do If You Don't Have Enough Space For Output Files ---- -- -- -- --- ----- ---- ------ ----- --- ------ ----- 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. 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. 132 The FROFF Word Processor User's Guide @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] How To Process A Document Constructed From Several Files --- -- ------- - -------- ----------- ---- ------- ----- 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. 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 @FROFF _____ FROFF (10/81) Type /H for Help Source file? ONE,TWO,THREE _____________ Pages: 11 Source file? or @FROFF _____ FROFF (10/81) Type /H for Help Source file? ONE, ____ &TWO, ____ &THREE _____ Pages: 11 Source file? 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 Use of FROFF at the Yale School of Management 133 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. 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 ONE,TWO,THREE or ONE TWO THREE 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 @FROFF _____ FROFF (10/81) Type /H for Help Source file? @PAPER ______ Pages: 11 Source file? 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. For example, to write the document to the scratch area, a typical dialog might be either @FROFF _____ FROFF (10/81) Type /H for Help Source file? TEMP:=ONE,TWO,THREE ___________________ Pages: 11 Source file? or @FROFF _____ FROFF (10/81) Type /H for Help Source file? TEMP:=@PAPER ____________ Pages: 11 Source file? 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. 134 The FROFF Word Processor User's Guide @FROFF _____ FROFF (10/81) Type /H for Help Source file? /P ONE,TWO,THREE __ _____________ or @FROFF _____ FROFF (10/81) Type /H for Help Source file? /P@PAPER ________ How To Process Files In Other Directories --- -- ------- ----- -- ----- ----------- 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. 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 @TRANSLATE _________ ___________ PS: (IS) PS:[4,2471] @TRANSLATE _________ ___________ PS: (IS) PS:[4,374] @TRANSLATE _________ ___________ PS: (IS) PS:[4,1162] and the command file might then contain [4,2471]ONE [4,374]TWO [4,1162]THREE 135 Appendix C Commands Used in Performing Selected Tasks Commands Used for the Specification of Footnotes -------- ---- --- --- ------------- -- --------- 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. .CFN .COLLECT FOOTNOTES Hold footnotes until .DO FOOTNOTE or .PRINT FOOTNOTE .DISPFN .DISPLAY FOOTNOTE 'character', type, 'character' Type of numbers in footnote identifying footnote .DREF .DISPLAY REFERENCE 'character', type, 'character' Type of numbers in text identifying footnote .DFN .DO FOOTNOTES List collected footnotes starting on new page .EFN .END FOOTNOTE End footnote specification begun by .FOOTNOTE .F .FILL Accumulate words on each line until line overflows .FLEFN .FLAGS END FOOTNOTE 'character' Change flag terminating footnote specifications .FN .FOOTNOTE Following text to .END FOOTNOTE specifies footnote .FNH .FOOTNOTE HEADER rest of text on line Specifies line of text above each group of footnotes .FNR .FOOTNOTE RULE 'character' Line of this character above each group of footnotes .IMFN .IMMEDIATE FOOTNOTES Generate footnotes on pages where referenced .IFN .INDENT FOOTNOTE number Indent start of each footnote .JO .JOIN Attaches next word to preceding word 136 The FROFF Word Processor User's Guide .LM .LEFT MARGIN number Changes left margin .NF .NO FILL number1, number2 Left justify lines with original word spacing .NFLEFN .NO FLAGS END FOOTNOTE No flag can terminate footnote specifications .NFNH .NO FOOTNOTE HEADER No line of text is above each group of footnotes .NNFN .NO NUMBER FOOTNOTE No serial numbers are inserted at start of footnotes .NMFN .NUMBER FOOTNOTE number Specifies that footnotes are to be serially numbered .PFN .PRINT FOOTNOTES List collected footnotes continuing on current page .RM .RIGHT MARGIN number Specifies rightmost column if .FILL active .SPFN .SPACE FOOTNOTE number1, number2, number3 Change number of blank lines before footnotes .SP .SPACING number Change spacing between lines Commands Used for the Specification of Indexes -------- ---- --- --- ------------- -- ------- 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. .DIX .DISABLE INDEX Disable addition of items to index .DISPX .DISPLAY INDEX type Type of page numbers on pages containing index .DX .DO INDEX rest of text on line List index starting on new page .EIX .ENABLE INDEX Enable addition of items to index .Y .ENTRY rest of text on line Specifies line to be in index without page number Commands Used in Performing Selected Tasks 137 .FAPG .FACING PAGE Start new page on facing side of paper .FT .FIRST TITLE Generate titles on first page if .HEADERS ON active .FLX .FLAGS INDEX 'character' Change flag marking words to be indexed .FLSX .FLAGS SUBINDEX 'character' Change flag marking ends of lines in index entry .X .INDEX rest of text on line Specifies line to be in index with page number .LM .LEFT MARGIN number Changes left margin .NFLX .NO FLAGS INDEX No flag can mark words to be indexed .NFLSX .NO FLAGS SUBINDEX No flag can mark ends of lines in index entry .PX .PRINT INDEX rest of text on line List index continuing on current page .RM .RIGHT MARGIN number Specifies rightmost column if .FILL active .RP .RIGHT PAGE Start new page with right page titles .SLP .SKIP LEFT PAGE Start new right page, generating left page if needed .SPX .SPACE INDEX number1, number2, number3, number4 Change number of blank lines at start of index .SP .SPACING number Change spacing between lines .STX .STYLE INDEX number1, number2 Changes capitalization and format of index 138 The FROFF Word Processor User's Guide 139 Appendix D Description of Files on the Distribution Tape Loading Instructions ------- ------------ 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. FROFF.FOR/OPT RNOTIM.FOR/OPT RNOHL1.FOR/OPT RNOCM1.FOR/OPT RNOFI1.FOR/OPT RNOAS1.FOR/OPT MACRO3.FOR/OPT 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. FROFF.FOR/OPT RNOTIM.FOR/OPT RNOHL1.FOR/OPT RNOCM1.FOR/OPT RNOFI1.FOR/OPT RNOAS1.FOR/OPT MACRO2.MAC MACRO3.FOR/OPT/LIB 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. FROFF.FOR/OPT RNOTIM.FOR/OPT RNOFI1.FOR/OPT RNOAS3.FOR/OPT MACRO3.FOR/OPT 140 The FROFF Word Processor User's Guide Program Source Files ------- ------ ----- FROFF.FOR Single file containing the system independent portion of the FORTRAN sources of the FROFF program. 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: 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. LEAVE which terminates running of the program without typing the time statistics produced by the FORTRAN STOP statement on the DECsystem20. 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. 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. 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. 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. 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. Description of Files on the Distribution Tape 141 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. 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. 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. Support Programs and Data Files ------- -------- --- ---- ----- 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. 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. 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. 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. FROFF.KEY Data file which when processed by a special version of KEYWRD specifies the command words recognized by FROFF. FROFF.RNO The file which when processed by FROFF produces the FROFF User's Guide. 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. 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. 142 The FROFF Word Processor User's Guide 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. 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. 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. 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. 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. 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. 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. 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. 143 Index Abbreviations see command abbreviations see command aliases Address file sample, 21-22 see also splice file Addressing envelopes, 24 Aliases see command abbreviations see command aliases Ampersand use as underline flag, 7, 16, 63 Apostrophe in command which can take rest of line as argument, 97 use as delimiter of character or phrase argument, 62 Appendix association of page number and page side, 80 capitalization of header line, 94 changing appendix number, 80 header line inserted into title, 45 page numbers, 45 spacing of header line, 91 start of, 45 system used for representing appendix number, 50 APPENDIX command definition, 45 Asking user for name of splice file, 83 Attaching words together, 69 AUTO PARAGRAPH command definition, 45 disabling, 74 Automatic paging disabling, 77 enabling, 85 Automatic paragraphing disabling, 74 enabling, 45 Automatically numbered list changing values in, 81 discussion, 25 end of, 55 indentation of elements, 66 item in, 72 sample, 26 starting, 71 system used for representing numbers, 51 Back slash equivalent to LOWER CASE command when doubled, 14, 73 use as lower case flag, 7, 15, 61 use with ampersand to stop underlining, 16, 63 use with forward slash to stop subscripting, 59 144 The FROFF Word Processor User's Guide Back slash use with vertical bar to stop superscripting, 60 Background see darkened background, 105 BACKGROUND command definition, 105 Bar see change bar Bar character use as superscript flag, 60 BEGIN BAR command definition, 45 BLANK command at top of page, 45 comparison with SKIP command, 90 definition, 45 Blank left page, 90 Blank lines at start of appendix, 91 at start of chapter, 91 at start of index, 92 before and after note, 93 before and after subsection titles, 92 before paragraph, 85 between footnotes, 92 between paragraphs in an embedded note, 67 between text and bottom titles, 91 between text and footnotes, 92 between top of page and top titles, 93 between top titles and text, 93 in source indicate new paragraphs, 45 insertion into output, 45, 57, 73, 89 Blank page at start of document, 58 left, 90 right, 91 with break, 90 without break, 73 Blank right page, 91 Blank title setting, 100 suppressing room for title at top of page, 77 BOTTOM SUBTITLE command definition, 46 BOTTOM TITLE command definition, 47 Bottom titles blank lines above, 91 Break between output lines, 47 BREAK command definition, 47 Bulleted list, 71 Capital letters conversion to lower case, 14, 73 Capitalization of appendix title, 94 Index 145 Capitalization of chapter title, 94 of index, 95 of single letter, 15 of single word, 15, 58 of subsection header, 66, 94 retaining original, 102 Capitalization flag changing, 58 disabling, 75 Case conversion of capitals to lower case, see capital letters of lower case to capitals, see capitalization CENTER command comparison with other NO FILL commands, 48 definition, 47 CENTER NO FILL command comparison with other NO FILL commands, 48 definition, 48 Centering between margins, 48 of multi-line lettering, 112 on page width, 47 CENTRE command synonym of CENTER command CENTRE NO FILL command synonym of CENTER NO FILL Change bar disabling, 50 enabling, 54 end of, 55 start of, 45 Chapter association page number and page side, 80 capitalization of header line, 94 changing chapter number, 80 header line inserted into title, 49 page numbers, 49 spacing of header line, 91 start of, 49 system used for representing chapter number, 50 CHAPTER command definition, 49 Character argument delimiter see text flag Circumflex equivalent to UPPER CASE command when doubled, 14, 102 use as upper case flag, 7, 15, 63 use with ampersand to start underlining, 16, 63 use with forward slash to start subscripting, 59 use with vertical bar to start superscripting, 60 Collating sequence of characters in index, 89 COLLECT FOOTNOTES command definition, 49 discussion, 29 146 The FROFF Word Processor User's Guide Comma between arguments of command, 13 between phrases and page numbers in index, 94 Command abbreviations how formed, 13, 33 see command aliases Command aliases list of, 33 see command abbreviations Command line command separator flag, 59 comment flag, 59 control flag, 59 disabling, 72, 75 ignored after LITERAL command, 72 ignored after NO FLAGS CONTROL command, 75 structure of, 3, 13 Command separator flag changing, 59 disabling, 75 COMMENT command definition, 50 Comment flag changing, 59 disabling, 75 Commenting out line in input file, 50 Compressing width of multi-line lettering, 123 Control flag changing, 59 description, 13 disabling, 75 Conversion of capital letters to lower case, see capital letters of lower case to capitals, see capitalization of tab character to spaces, 96 Copying single character without change see quote flag Copying text without change, 72, 74 Darkened background end of, 109 sample, 104 start of, 105 DECsystem20 computer instructions for use of FROFF on, 9, 127 Deferred figure forcing out before new page, 64 with implied BREAK command, 57 without implied BREAK command, 73 Deferred page without implied BREAK command, 73 Delimiter of character or phrase argument see text flag DISABLE BAR command definition, 50 DISABLE INDEX command definition, 50 Index 147 DISPLAY APPENDIX command definition, 50 DISPLAY CHAPTER command definition, 50 DISPLAY ELEMENT command definition, 51 discussion, 26 DISPLAY FOOTNOTE command definition, 51 discussion, 28, 81 DISPLAY INDEX command definition, 52 DISPLAY LEVELS command definition, 52 DISPLAY NUMBER command definition, 53 DISPLAY PAGE command definition, 53 DISPLAY REFERENCE command definition, 53 discussion, 28, 81 DISPLAY SUBPAGE command definition, 54 DO FOOTNOTE command discussion, 29 DO FOOTNOTES command definition, 54 DO INDEX command definition, 54 Double back slash equivalent to LOWER CASE command, 14, 73 Double circumflex equivalent to UPPER CASE command, 14, 102 Double spacing lines, 93 Edge end of, 109 sample, 104, 112 start of left, 109 start of right, 123 Embedded note blank lines before and after, 93 end of, 56 footnote reference in, 28 indentation of paragraphs in, 67 spacing between paragraphs in, 67 start of, 78 ENABLE BAR command definition, 54 ENABLE INDEX command definition, 55 END BAR command definition, 55 END FILE command definition, 55 in splice file, 72 148 The FROFF Word Processor User's Guide END FOOTNOTE command definition, 55 discussion, 27 End footnote flag changing, 59 disabling, 75 END LIST command definition, 55 discussion, 26 END LITERAL command definition, 55 END LOOP command definition, 55 in splice file, 72 END NOTE command definition, 56 END OBJECT command definition, 109 End of current output line, 47 End of document form feed at, 70 END SPLICE command definition, 56 use in form letter, 19 END SUBPAGE command comparison with other PAGE commands, 83 definition, 56 ENTRY command definition, 56 ignored after DISABLE INDEX command, 50 Envelopes addressing, 24 Even page numbers page side based on, 57, 80, 83 Even right margin disabling, 77 enabling, 70 Exclamation point use as comment flag, 59 use as end footnote flag, 27, 59 Extra spaces after punctuation disabling, 78 enabling, 86 FACING PAGE command comparison with other PAGE commands, 83 definition, 56 Figure forcing out before new page, 64 reserving space immediately with break, 57 reserving space later with break, 57 reserving space without break, 73 FIGURE command comparison with BLANK and SKIP commands, 46, 90 comparison with MOVABLE FIGURE command, 73 comparison with .FIGURE DEFERRED command, 57 definition, 57 Index 149 FIGURE DEFERRED command definition, 57 File end of input, 55 line numbered input, 69 see splice file File name of splice file, 83 File name conventions on DECsystem20 computer, 9 FILL command definition, 58 FIRST FORM command definition, 58 FIRST TITLE command definition, 58 Flag characters disabling all, 74 disabling individual, see NO FLAGS ... commands enabling all, 58 enabling individual, see FLAGS ... commands list of most common, 7 FLAGS ALL command synonym of FLAGS command FLAGS CAPITALIZE command definition, 58 FLAGS command definition, 58 FLAGS COMMENT command definition, 59 FLAGS CONTROL command definition, 59 FLAGS END COMMAND command definition, 59 FLAGS END FOOTNOTE command definition, 59 FLAGS HALF DOWN command definition, 59 FLAGS HALF UP command definition, 60 FLAGS INDEX command definition, 60 FLAGS LETTER command definition, 109 FLAGS LOWER CASE command definition, 61 FLAGS PAGE command definition, 62 FLAGS QUOTE command definition, 62 FLAGS SPACE command definition, 62 FLAGS SUBINDEX command definition, 62 FLAGS TEXT command definition, 62 150 The FROFF Word Processor User's Guide FLAGS UNDERLINE command definition, 63 FLAGS UPPER CASE command definition, 63 Footnote at bottom of page, 66 automatically generated numbers, 51, 53, 77, 81 blank lines above and between, 92 collecting for printing at end of document, 49 discussion, 27 end of, 55, 59 forcing out before new page, 64 generating collected, 54, 86 indentation of first line, 67 interaction with JOIN command, 69 list of relevant commands, 135 phrase appearing above, 63 reference in embedded note, 28 ruled line appearing above, 64 start of, 63 FOOTNOTE command definition, 63 interaction with cover commands, 105 Footnote header blank lines above and below, 92 defining, 63 disabling, 77 ruled by repeating single character or phrase, 64 FOOTNOTE HEADER command definition, 63 discussion, 28 Footnote number at end of note, 79 disabling, 77 discussion, 28 enabling, 81 superscript, 51, 53 system used for representing numbers, 53 FOOTNOTE RULE command definition, 64 discussion, 28 FORCE PAGE command comparison with other PAGE commands, 83 comparison with PAGE command, 64 definition, 64 Form feed at end of document, 70 at start of document, 58 Form letter discussion, 19 end of, 55, 86 insertion into, 21, 93 sample, 19, 22 start of, 72 Forward slash use as subscript flag, 59 Index 151 Greater than use as index flag, 60 use as multi-line lettering transformation flag, 109 use as page number flag in messages, 96 use as page number flag in titles, 7, 62, 99 use between phrases in index, 62 Half down flag changing, 59 disabling, 75 Half up flag changing, 60 disabling, 75 Half-line spacing use for subscripting, 59 use for superscripting, 60 HEADER LEVEL command definition, 66 Header line phrase above footnotes, 63 ruled above footnotes, 64 HEADERS command definition, 65 HEADERS ON command synonym of HEADERS command Height of page, 84-85 IMMEDIATE FOOTNOTES command definition, 66 INDENT command definition, 66 INDENT ELEMENT command definition, 66 discussion, 26 INDENT FOOTNOTE command definition, 67 discussion, 28 INDENT LEVEL command definition, 67 INDENT NOTE command definition, 67 see NOTE command Indentation of first line of footnote, 67 of first line of note, 67, 79 of list elements, 66 of next line, 66 of paragraph, 85 of paragraphs in note, 67, 79 of subsection header, 67 Indented lines in source indicate new paragraphs, 45 Indented note see embedded note Indented quotation see embedded note 152 The FROFF Word Processor User's Guide Index blank lines at start of, 92 capitalization of items in, 68, 95 collating sequence in, 89 comma between phrases and page numbers, 94 comparison of methods of insertion, 61 disabling, 50 enabling, 55 generating, 54, 86 insertion of phrases into, 68 insertion of phrases into without page numbers, 56 insertion of single words into, 60 list of relevant commands, 136 periods between phrases and page numbers, 94 splitting of lines appearing in, 62 INDEX command definition, 68 ignored after DISABLE INDEX command, 50 Index flag capitalization of words marked by, 95 changing, 60 disabling, 76 ignored after DISABLE INDEX command, 50 INITIAL PAGE command comparison with other PAGE commands, 83 definition, 68 Input line length of, 69 INPUT WIDTH command definition, 69 Insertion of extra spaces disabling, 77 Insertion of lines from splice file, 93 Insertion of phrases into index, 68 Inter-line spacing see line spacing JOIN command definition, 69 use with insertions in form letters, 23 with footnote number, 28 Joining words together, 69 JUSTIFY command definition, 70 LAST FORM command definition, 70 LEFT BOTTOM SUBTITLE command definition, 70 LEFT BOTTOM TITLE command definition, 70 LEFT EDGE command definition, 109 Left margin setting, 70 LEFT MARGIN command definition, 70 Index 153 LEFT MARGIN command in note, 79 LEFT NO FILL command synonym of NO FILL command Left page definition of, 57, 80, 83 generating blank left page to get to right page, 90 skipping right page to get to, 91 subtitle at bottom, 70 subtitle at top, 71 title at bottom, 70 title at top, 71 LEFT PAGE command comparison with other PAGE commands, 83 definition, 71 LEFT TOP SUBTITLE command definition, 71 LEFT TOP TITLE command definition, 71 Length of input line, 69 Length of page, 84-85 Less than use as capitalization flag, 58 LETTER command definition, 112 Lettering see multi-line lettering Line indenting next line, 66 insertion from splice file, 93 maximum number of on page, 84-85 phrase above footnotes, 63 ruled above footnotes, 64 ruled by repeating character or phrase, 88 Line numbered input file width of lines in, 69 Line spacing changing, 93 checking for sufficient room at current line spacing, 97 checking for sufficient room for single spaced lines, 96 in footnote, 27 in note, 79 List see automatically numbered list LIST command definition, 71 discussion, 26 LIST ELEMENT command definition, 72 discussion, 26 LITERAL command comparison with NO FILL command, 72, 74 definition, 72 Literal copying of single character see quote flag Literal section end of, 55 154 The FROFF Word Processor User's Guide Literal section start of, 72 Loop end of, 55, 86 form letter, 19 opening splice file before, 83 start of, 72 LOOP command definition, 72 Lower case translating capital letters into, see capital letters LOWER CASE command definition, 73 equivalent to doubled back slashes, 14, 73 Lower case flag changing, 61 description, 7, 14 disabling, 76 Margin in footnote, 27 in note, 67, 79 setting left, 70 setting right, 87 Margins centering between, 49 Marking new text see change bars Message displaying to user, 96 MOVABLE FIGURE command comparison with FIGURE command, 73 comparison with MOVABLE PAGE command, 73 definition, 73 MOVABLE PAGE command comparison with MOVABLE FIGURE command, 73 comparison with other PAGE commands, 84 definition, 73 Moving document see offset Multiple spacing of lines, 93 Multi-line lettering adjustment of spaces between, 118 background sample, 104 complete description, 112 edge sample, 104 general discussion of, 103 indicating transformations of, 109, 117 inversion, 118 outline sample, 103 reducing width of, 123 reflection, 118 sample, 103 separation between characters, 115 shadows, 115 sizes, 114 width of spaces between, 118 Index 155 Multi-line lettering transformation flag changing, 109 disabling, 119 New page comparison of commands used for new page, 83 New text marking, see change bars NO AUTO PARAGRAPH command definition, 74 NO FILL command comparison with LITERAL command, 72, 74 comparison with NO JUSTIFY command, 74 comparison with other NO FILL commands, 48 definition, 74 NO FLAGS ALL command synonym of NO FLAGS command NO FLAGS CAPITALIZE command definition, 75 NO FLAGS command definition, 74 NO FLAGS COMMENT command definition, 75 NO FLAGS CONTROL command definition, 75 NO FLAGS END COMMAND command definition, 75 NO FLAGS END FOOTNOTE command definition, 75 NO FLAGS HALF DOWN command definition, 75 NO FLAGS HALF UP command definition, 75 NO FLAGS INDEX command definition, 76 NO FLAGS LETTER command definition, 119 NO FLAGS LOWER CASE command definition, 76 NO FLAGS PAGE command definition, 76 NO FLAGS QUOTE command definition, 76 NO FLAGS SPACE command definition, 76 NO FLAGS SUBINDEX command definition, 76 NO FLAGS TEXT command definition, 76 NO FLAGS UNDERLINE command definition, 76 NO FLAGS UPPER CASE command definition, 77 NO FOOTNOTE HEADER command definition, 77 NO HEADERS command definition, 77 156 The FROFF Word Processor User's Guide NO JUSTIFY command comparison with NO FILL command, 74 definition, 77 NO NUMBER command definition, 77 NO NUMBER FOOTNOTE command definition, 77 NO OFFSET command definition, 77 NO PAGING command definition, 77 NO PERIOD command definition, 78 NO SUBTITLE command definition, 78 NO TITLE command definition, 78 NO UNDERLINE SPACE command definition, 78 Note see embedded note NOTE command definition, 78 see INDENT NOTE command see SPACE NOTE command Number changing appendix value, 80 changing chapter value, 80 changing footnote value, 28, 81 changing length of subsection number, 94 changing page value, 79 changing subpage value, 82 changing value in subsection number, 81 changing value of item in automatically numbered list, 81 disabling automatically generated footnote numbers, 77 NUMBER APPENDIX command definition, 80 NUMBER CHAPTER command definition, 80 NUMBER command definition, 79 NUMBER FOOTNOTE command definition, 81 discussion, 28 NUMBER LEVEL command definition, 81 NUMBER LIST command definition, 81 discussion, 26 NUMBER PAGE command synonym of NUMBER command Number sign use as space flag, 7, 62 NUMBER SUBPAGE command definition, 82 Numbered list see automatically numbered list Index 157 Numbered subsection, 66 Odd page numbers page side based on, 57, 80, 83 Offset disabling, 77 increased when enabling change bar, 54 reduced when disabling change bar, 50 setting for all pages, 82 setting for left pages, 82 setting for right pages, 82 OFFSET command applies to footnote and surrounding text, 28 comparison with LEFT MARGIN command, 70 definition, 82 OFFSET LEFT PAGE command definition, 82 OFFSET RIGHT PAGE command definition, 82 OPEN SPLICE command definition, 83 Original conditions restoring, 86 Outline end of, 109 sample, 103, 122 start of, 119 OUTLINE command definition, 119 Page causing next to be left, 71 causing next to be on following side, 56 causing next to be right, 88 treating as initial page, 68 treating as subsequent page, 58 PAGE command comparison with FORCE PAGE command, 64 definition, 83 implied before footnotes, 54 implied before index, 54 implied by RESET command, 86 issued if insufficient room on page, 96-97 not implied before footnotes, 86 not implied before index, 86 various forms compared, 83 Page height, 84-85 PAGE LENGTH command definition, 84 Page number changing value of, 79 disabling in simple titles, 77 enabling in simple titles, 79 in message to user, 96 prefix as appendix number, 45, 50, 80 prefix as chapter number, 49-50, 80 suffix as subpage number, 54, 82, 95 158 The FROFF Word Processor User's Guide Page number flag changing, 62 description, 7 disabling, 76 Page side association with page number set by APPENDIX command, 80 association with page number set by CHAPTER command, 80 definition of, 57, 80, 83 Page size, 84-85 PAGE SIZE command definition, 85 Page width setting, 93 PAGE WIDTH command applies to footnote and surrounding text, 28 definition, 85 Paging disabling, 77 enabling, 85 PAGING command definition, 85 Paragraph automatic, 45 start of, 45, 85 within note, 67, 79 PARAGRAPH command definition, 85 within note, 79 Period use as control flag, 13, 59 PERIOD command definition, 86 Periods between phrases and page numbers in index, 94 Phrase insertion into index, 68 underlining, 101 Phrase argument delimiter see text flag PRINT FOOTNOTE command discussion, 29 PRINT FOOTNOTES command definition, 86 PRINT INDEX command definition, 86 Punctuation collating sequence of in index, 89 disabling extra spaces after, 78 enabling extra spaces after, 86 Quotation see embedded note Quote flag changing, 62 description, 7 disabling, 76 Index 159 Ragged right margin disabling, 70 enabling, 77 Reducing width of multi-line lettering, 123 Repeated text see loop RESET command definition, 86 in form letter, 72 Restoring original conditions, 86 Retaining cases, 14, 63, 102 RIGHT BOTTOM SUBTITLE command definition, 87 RIGHT BOTTOM TITLE command definition, 87 RIGHT command comparison with other NO FILL commands, 48 definition, 87 RIGHT EDGE command definition, 123 Right margin even, 70 ragged, 77 setting, 85, 87, 93 RIGHT MARGIN command definition, 87 in note, 79 RIGHT NO FILL command comparison with other NO FILL commands, 48 definition, 87 Right page definition of, 57, 80, 83 generating blank right page to get to left page, 91 skipping left page to get to, 90 subtitle at bottom, 87 subtitle at top, 88 title at bottom, 87 title at top, 88 RIGHT PAGE command comparison with other PAGE commands, 84 definition, 88 RIGHT TOP SUBTITLE command definition, 88 RIGHT TOP TITLE command definition, 88 RULE command definition, 88 Ruled line above footnotes, 64 across width of page, 88 Runtime options beginning page, 10 continuous output to terminal, 10-11 ending page, 10-11 offset, 10-11 pausing between pages, 10-11, 19 terminal type, 11, 59-60 160 The FROFF Word Processor User's Guide Runtime options terminal with bi-directional tractor, 12 terminal with half-line spacing, 11 terminal with uni-directional tractor, 11 terminal without half-line spacing, 11 Semicolon use as command separator flag, 14, 59 SEQUENCE command definition, 89 Shifting document see offset Single spacing lines, 93 SKIP command at top of page, 45 comparison with BLANK command, 90 definition, 89 SKIP LEFT PAGE command comparison with other PAGE commands, 84 definition, 90 SKIP PAGE command comparison with other PAGE commands, 84 definition, 90 SKIP RIGHT PAGE command comparison with other PAGE commands, 84 definition, 91 Skipped lines see blank lines Skipping page see blank page Skipping to known line on page, 46 Slash use as subscript flag, 59 Space conversion of tab character to, 96 marking of required space, 62 SPACE APPENDIX command definition, 91 SPACE BOTTOM command definition, 91 SPACE CHAPTER command definition, 91 Space flag changing, 62 description, 7, 15 disabling, 76 SPACE FOOTNOTE command definition, 92 discussion, 28 SPACE HEADER command definition, 92 SPACE INDEX command definition, 92 SPACE NOTE command definition, 93 see NOTE command Index 161 SPACE TOP command definition, 93 Spaces disabling underlining of, 78 enabling insertion for even right margin, 70 ragged right margin resulting from disabling insertion, 77 underlining, 16, 101 SPACING command definition, 93 in note, 79 Splice end of, 56 SPLICE command definition, 93 use in form letter, 19 Splice file establishing name, 83 reading lines from, 93 sample, 21-22 terminating reading from, 56 use in form letter, 19 SQUEEZE command definition, 123 STANDARD command definition, 93 Striped background, 105 STYLE HEADERS command definition, 94 STYLE INDEX command definition, 94 Subindex flag disabling, 76 SUBPAGE command comparison with other PAGE commands, 84 definition, 95 Subpaging changing value of, 82 enabling, 95 end of, 56 system used for representing subpage suffix, 54 Subscript flag changing, 59 disabling, 75 Subscripting disabling, 75 enabling, 59 Subsection header blank lines before and after, 92 capitalization of, 94 changing values in, 81 declaring, 66 indentation of, 67 minimum number of values in, 94 system used for representing numbers, 52 wrap-around of, 94 Subtitle at bottom of left pages, 70 162 The FROFF Word Processor User's Guide Subtitle at bottom of page, 46 at bottom of right page, 87 at top of left pages, 71 at top of page, 95, 99 at top of right page, 88 disabling, 78 SUBTITLE command definition, 95 Superscript flag changing, 60 disabling, 75 Superscript footnote numbers, 51, 53 Superscripting disabling, 75 enabling, 60 Suppressing room for title at top of page, 77 Tab character conversion to spaces, 96 TAB STOPS command definition, 96 TELL command definition, 96 Terminating current output line, 47 TEST PAGE command comparison with other PAGE commands, 84 comparison with TEST SPACING command, 96-97 definition, 96 TEST SPACING command comparison with other PAGE commands, 84 comparison with TEST PAGE command, 96-97 definition, 97 implied by PARAGRAPH command, 85 Text flag disabling, 76 enabling, 62 Title allowing on first page, 58 allowing room for at top of page, 65 at bottom of left pages, 70 at bottom of page, 47 at bottom of right page, 87 at top of left pages, 71 at top of page, 97, 99 at top of right page, 88 blank, 100 blank lines above title at bottom of page, 91 blank lines below title at top of page, 93 disabling, 78 disabling page number in simple, 77 enabling page number in simple, 79 suppressing of title on initial page, 68 suppressing room for at top of page, 77 TITLE command caution about alias of, 33 comparison with TOP TITLE command, 98 Index 163 TITLE command definition, 97 TOP SUBTITLE command definition, 99 TOP TITLE command comparison with TITLE command, 98 definition, 99 Triple spacing lines, 93 UNDERLINE command definition, 16, 101 Underline flag changing, 63 description, 7, 16 disabling, 76 UNDERLINE SPACE command definition, 101 Underlining spaces, 16, 78, 101 word or phrase, 16, 101 Underscore use as quote flag, 7, 14, 62 UPPER CASE command definition, 102 equivalent to doubled circumflexes, 14 Upper case flag changing, 63 description, 7, 14 disabling, 77 User interaction asking for name of splice file, 83 sending message to user, 96 Vertical bar in output, see change bar use as superscript flag, 60 Width of input line, 69 Width of page, 85 Word allowing wrap-around of, 58 conversion of lower case to capital, 15, 58 insertion into index, 60 joining together of, 69 underlining, 101 Wrap-around of lines, 58 of subsection header, 94 & (ampersand) use as underline flag, 7, 16, 63 ' (apostrophe) use as delimiter of character or phrase argument, 62 \ (back slash) equivalent to LOWER CASE command when doubled, 14, 73 164 The FROFF Word Processor User's Guide \ (back slash) use as lower case flag, 7, 15, 61 use with ampersand to stop underlining, 16, 63 use with forward slash to stop subscripting, 59 use with vertical bar to stop superscripting, 60 ^ (circumflex) equivalent to UPPER CASE command when doubled, 14, 102 use as upper case flag, 7, 15, 63 use with ampersand to start underlining, 16, 63 use with forward slash to start subscripting, 59 use with vertical bar to start superscripting, 60 ! (exclamation point) use as comment flag, 14, 59 use as end footnote flag, 27, 59 / (forward slash) use as subscript flag, 59 > (greater than) use as index flag, 60 use as multi-line lettering transformation flag, 109 use as page number flag in titles, 7, 62, 99 use between phrases in index, 62 use in page number flag in messages, 96 < (less than) use as capitalization flag, 58 # (number sign) use as space flag, 7, 62 . (period) use as control flag, 13, 59 ; (semicolon) use as command separator flag, 14, 59 _ (underscore) use as quote flag, 7, 14, 62 | (vertical bar)