diff options
author | bwarken <bwarken> | 2013-05-13 20:08:23 +0000 |
---|---|---|
committer | bwarken <bwarken> | 2013-05-13 20:08:23 +0000 |
commit | a2a678da19fb2202d49a95687845b66da2f20e22 (patch) | |
tree | 2785bc9fde509783f6e3e4e5a3907aa8af961ade /contrib | |
parent | 953a3edc91624c62451e27cfedf9875f673e47b7 (diff) | |
download | groff-a2a678da19fb2202d49a95687845b66da2f20e22.tar.gz |
Restructure glilypond-files, add debug code.
Rewrite text lines in runoff.man.
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/RUNOFF/ChangeLog | 5 | ||||
-rw-r--r-- | contrib/RUNOFF/runoff.man | 5326 | ||||
-rw-r--r-- | contrib/glilypond/ChangeLog | 6 | ||||
-rw-r--r-- | contrib/glilypond/args.pl | 12 | ||||
-rwxr-xr-x | contrib/glilypond/glilypond.pl | 25 | ||||
-rw-r--r-- | contrib/glilypond/oop_fh.pl | 14 | ||||
-rw-r--r-- | contrib/glilypond/subs.pl | 12 |
7 files changed, 5246 insertions, 154 deletions
diff --git a/contrib/RUNOFF/ChangeLog b/contrib/RUNOFF/ChangeLog index f5be3b89..530db5d4 100644 --- a/contrib/RUNOFF/ChangeLog +++ b/contrib/RUNOFF/ChangeLog @@ -1,3 +1,8 @@ +2013-05-14 Bernd Warken <groff-bernd.warken-72@web.de> + + * runoff.man: Major rewrite, due to good documentation of 1974, + especially for text lines. + 2013-05-05 Bernd Warken <groff-bernd.warken-72@web.de> New `groff' project: `RUNOFF', which is the predecessor of `roff'. diff --git a/contrib/RUNOFF/runoff.man b/contrib/RUNOFF/runoff.man index 36e33ecc..b5080d03 100644 --- a/contrib/RUNOFF/runoff.man +++ b/contrib/RUNOFF/runoff.man @@ -25,7 +25,7 @@ Free Software Foundation, Inc. .RE . .P -Last update: 5 May 2013 +Last update: 14 May 2013 . .P This file is part of @@ -132,7 +132,13 @@ You can also visit .\" Underline $1 and append $2 without underline .\" .de UL -\Z'\\$1'\v'.25m'\D'l \w'\\$1'u 0'\v'-.25m'\\$2 +. if t \}\ +. nop \Z'\\$1'\v'.25m'\D'l \w'\\$1'u 0'\v'-.25m'\\$2 +. return +. \} +. ul 1 +\\$1\c +\\$2 .. . .\" -------------------------------------------------------------------- @@ -1186,17 +1192,41 @@ at the end of this document for internet addresses. .SH HISTORY .\" -------------------------------------------------------------------- . +The first text processing language was +.FONT CI DITTO +at the +.FONT CI CTSS +computer at +.FONT CI MIT R . +. +But now there isn't any documentation about the corresponding programs +nor files written in the +.FONT CI DITTO +language. +. +. +.P +So +.FONT CI RUNOFF +can regarded as the oldest text processing language, because there is +enough documentation and files written inb this language. +. +. +.P .FONT CI RUNOFF was built by .FONT CI "Jerome H. Saltzer" in 1963 and 1964 at .FONT CR \%MIT using the operating system -.FONT CR CTTS +.FONT CR CTSS on computers .FONT CR "IBM 7090" and -.FONT CR 7094 R . +.FONT CR 7094 +at the +.FONT CI MIT +in Boston. . . .P @@ -1226,19 +1256,34 @@ is the ancestor for .SS Old RUNOFF Documentation .\" -------------------------------------------------------------------- . -In 1964, -.FONT CI Saltzer -published a documentation for the +Look at section +.FONT CR "SEE ALSO" +for the internet connections to these documents. +. +. +.P +All started at the operating system called .I \%CTSS -users in -.I \%MIT -titled +in the early 1960s at the +.IR \%MIT . +. +. +.P +There was a first documentation in 1964 by +.FONT CI Saltzer +who created the +.FONT CI RUNOFF +language. +. +He published a documentation titled .FONT CI "Jerome H. Saltzer \(em TYPSET and RUNOFF, Memorandum editor and \ -type\-out commands" +type\-out commands" R . . . .P -In december 1966, he published an updated documentation +In december 1966, +.FONT CI Saltzer +published an updated documentation .FONT CI "Jerome H. Saltzer \(em Manuscript Typing and Editing" R . . This article can be regarded as the documentation of the original @@ -1268,17 +1313,4854 @@ There .FONT CI RUNOFF was further developed. . -There is a documentation of 1973 titled +. +.P +There is a good documentation of 1973 titled .FONT CI "Larry Barnes \(em RUNOFF: \ A Program for the Preparation of Documents" R . . -We use this documentation as well. +The +.FONT CI RUNOFF +was here further developed. +. +We use this document as well. +. +. +.P +Another good document comes from 1974 at the +.FONT CR "DEC RSTS" R . +. +It is titled +.FONT CI "RUNOFF User's Guide" R . +. +It contains the best description of the text lines. +. +We are glad to use that. +. +. +.P +The latest +.FONT CI RUNOFF +documentation is file +.FONT CB RUNOFF.DOC +from +.FONT CR PDP\-11 +at 1981, see +.FONT CR "SEE ALSO" R . +. +The content of this document is also included in this document, +although it has some errors. . . .P There is still more documentation by the .FONT CR "DEC PDP\-10 archive" R . . +So far this information is not yet included in this document, but it +will be done later on. +. +. +.\" -------------------------------------------------------------------- +.SS Early Environment 1963\-66 (CTSS) +.\" -------------------------------------------------------------------- +. +.FONT CI Saltzer +originally worked on +.IR \%MIT 's +.I \%CTSS time-sharing operating +.IR \%system . +. +There he had an editor +.FONT CB TYPSET +that he also documented in the documentation cited above. +. +This editor was an ancestor for +.BR \%ed (@MAN1EXT@). +. +. +.P +To use his +.FONT CI RUNOFF +language, he programmed a tool that he called +.FONT CB RUNOFF R . +. +. +.P +There is still an emulator and the old source files for +.FONT CB RUNOFF +and +.FONT CB TYPSET +at +.nh +.UR http://\:www.cozx.com/\:~dpitts/\:ibm7090.html +.FONT CR "IBM 7090 CTSS" +.UE . +.hy +. +. +.\" -------------------------------------------------------------------- +.SS The original RUNOFF program 1963-66 +.\" -------------------------------------------------------------------- +. +The original +.FONT CB RUNOFF +program is also documented in the documentation of 1966 above. +. +. +.P +.FONT CI Saltzer +uses upper case +.FONT CB RUNOFF +to denote his program. +. +So we will also use +.FONT CB RUNOFF +to refer to the original program of 1963-66. +. +. +.P +This program has mainly the task to adjust a printer of that time and +then print a +.FONT CI RUNOFF +document with this configuration. +. +Today this does not make much sense, but some parts are still +available in the options of +.BR \%groff (@MAN1EXT@), +but under different names. +. +So we will not build this ancient program, but we will document its +old command line here. +. +A lower case program +.FONT CB runoff +will be something different. +. +. +.P +.FONT CB RUNOFF +is a command used to type out files of the +.FONT CI RUNOFF +language in manuscript format. +. +.I Control words +(command names) scattered in the text may be used to provide detailed +control over the format. +. +Input files may be prepared by the context editor +.FONT CB TYPSET +which does not exist today. +. +. +.\" -------------------------------------------------------------------- +.SS Usage of RUNOFF Program +\" -------------------------------------------------------------------- +. +.SY RUNOFF +.I \%filespec +.RI [ "parameter \*[Ellipsis]" ] +.YS +. +. +.TP +.I filespec +is the primary name of a file to be typed out. +. +.TP +.I parameter +arguments are any number of the following parameters, in any order: +. +. +.RS +. +.TP +.FONT CB STOP +Pause between pages. +. +. +.TP +.FONT CB NOWAIT +Suppress the initial pause to load paper and the pause between pages +(not necessary today). +. +. +.TP +.FONT CB PAGE I " n" +Begin printing with the page numbered +.IR n . +. +. +.TP +.FONT CB BALL I " n" +Typewriter is using printing ball +.IR n . +If this parameter is omitted, +.FONT CB RUNOFF +assumes that the ball in use will properly print all +.I CTSS characters +in the file. +. +The number +.I n +is engraved on top of the printing ball. +. +.I CTSS characters +not appearing on the ball being used will be printed as blanks, so +that they may be drawn in. +. +This parameter does not make sense in our modern printers. +. +.RE +. +. +.\" -------------------------------------------------------------------- +.SH BASIC RUNOFF LANGUAGE OF ALL TIMES +.\" -------------------------------------------------------------------- +. +Files written in the +.FONT CI RUNOFF +language are similar to modern +.FONT CI roff +files. +. +. +.P +They are both written in text mode. +. +So they can be manipulated with text editors like +.BR emacs (1). +. +. +.P +In files written in the text languages +.FONT CI RUNOFF +or +.FONT CI roff R , +there are command lines and text lines. +. +. +.\" -------------------------------------------------------------------- +.SS Basic Command Lines +.\" -------------------------------------------------------------------- +. +All lines beginning with a period (dot) +.FONT CB . +are command lines in both languages +.FONT CI RUNOFF +and +.FONT CI roff R . +. +The period is followed by the name of the command (1 or 2 words of +arbitrary length, later one even more words), optionally followed by 1 +or more arguments. +. +. +.P +The inventor +.FONT CI Saltzer +called the command name +.IR "control word" , +but we keep using +.I command name +as was done in later times. +. +. +.P +In +.FONT CI roff R , +lines starting with a single quote +.FONT CB ' +are also command lines, but that's not true for the +.FONT CI RUNOFF +language by default. +. +. +.P +But in +.FONT CI RUNOFF R , +the period +.FONT CB . +at the beginning of a line can be changed into any character. +. +This can be done by the command +.FONT CB ".FLAG CONTROL" R . +. +So the starting period is only one possible special character. +. +But in this man\-page, we use the period before a command name, +because it is the default and helps recognizing commands directly. +. +. +.P +In +.FONT CI RUNOFF R , +the command names were quite long, sometimes consisting even of +several words. +. +This is the same in the +.FONT CI mom +language in +.FONT CI groff R . +. +. +.P +Moreover, the +.FONT CI RUNOFF +commands can be appreviated by defined 2 letters words (or 3 later on). +. +Later on, the +.FONT CI "classical roff" +languages used only the 2-letter abbreviations as requests; but +.FONT CI groff +expanded these to arbitrary length. +. +. +.P +In +.FONT CI RUNOFF R , +each +.FONT CI "control word" +(command name) can be written in upper or lower case. +. +That comes from the time where the computers had only upper case input. +. +This was not taken into +.FONT CI roff R , +because there were not enough 2-letter requests. +. +. +.P +In +.FONT CI RUNOFF R , +comments could be appended to a command line, see section +.FONT CB Comments R . +. +. +.P +Lines beginning with a period but having unrecognizable format are +treated as error. +. +. +.P +No lines beginning with a dot are printed unless the preceding line +was a +.I command line +with control name +.FONT CB .LITERAL R . +. +Then the the line is output or printed as is, special characters are +output without their special meaning. +. +. +.P +Abbreviations for command names are normally based on the first two +letters of a one word command or the first letter of the first two +words of a multi\-word command. +. +Later on 3-letter abbreviations where used for command names of 3 +words. +. +. +.P +An example of a +.I "control line" +(command line) with a single +.I "control word" +with 2 arguments is a long name with upper case +.IP +.FONT CB .COMMAND I " arg1 arg2" +.P +or the same name in lower case +.IP +.FONT CB .command I " arg1 arg2" +.P +or an abbreviation with upper case +.IP +.FONT CB .CO I " arg1 arg2" +.P +or the same abbreviation with lower case +.IP +.FONT CB .co I " arg1 arg2" +. +. +.P +Another example of a +.I "control line" +(command line) with 2 +.I "control words" +with 1 argument is a long name with upper case +.IP +.FONT CB ".WORD1 WORD2" I " arg" +.P +or the same name in lower case +.IP +.FONT CB ".word1 word2" I " arg" +.P +or an abbreviation with upper case +.IP +.FONT CB .WW I " arg" +.P +or the same abbreviation in lower case +.IP +.FONT CB .ww I " arg" +. +. +.P +These +.I "control words" +were renamed to +.I requests +and +.I macros +later on in +.FONT CI roff R . +. +. +In the 1973 document, the words +.I macros +and +.I formats +are used, but there isn't any documentation for these terms. +. +. +.\" -------------------------------------------------------------------- +.SS Comments +.\" -------------------------------------------------------------------- +. +In +.FONT CI roff R , +comments can be included by preceding the special character combination +.FONT CB \[rs]\[rq] R . +. +. +.P +That was unknown in +.FONT CI RUNOFF R . +. +There was only 1 method for including comments. +. +Command lines could be appended by comments. +. +. +.P +In the original +.FONT CI RUNOFF +language, a comment could be appended after the command arguments +without using separators. +. +For example, +.RS +.word1 word2 arg1 arg2 This is a comment +.RE +. +. +.P +In the newer +.FONT CI RUNOFF +languages (documented in 1974), they preceded the comments in command +lines by the exclamation point (bang) +.FONT CB ! R . +. +For example, +.RS +.word1 word2 arg1 arg2 !This is a comment +.RE +. +. +.\" -------------------------------------------------------------------- +.SS Basic Text Lines +.\" -------------------------------------------------------------------- +. +All lines that are not command lines are text lines in both languages. +. +. +.P +There are 2 modes of text lines in +.FONT CI RUNOFF R . +. +The newer mode had upper and lower case in the source file. +. +This was similar to +.FONT CI roff R . +. +. +.P +In the +.FONT CI CTSS +computer (early 1960s), there were only upper case input hardware. +. +So the +.FONT CI RUNOFF +files had only upper case ASCII characters in the original +.FONT CI RUNOFF +language. +. +. +.P +As the printers could print in upper and lower case, there were +special characters as case-shifters. +. +That was also used in late +.FONT CI RUNOFF +files. +. +This process is very different from +.FONT CI roff R . +. +. +.P +In the following sections, only the upper case text lines are documented. +. +. +,P +In +.FONT CI RUNOFF +and +.FONT CI roff R , +there are special character combinations that can change the handling +of the text. +. +But these special characters are totally different in both languages. +. +. +.P +One or more +.I blank lines +are not printed, but mean a +.IR "line break" . +. +This can also be reached by the +.FONT CB .BREAK +.IR "control word" . +. +. +.P +In +.IR groff , +blank lines are printed as lines of their own. +. +This is not a paragraph break, because a line is bigger than a +paragraph break. +. +. +.P +A text line that starts with one or more space characters means +.IR "begin a new paragraph" . +. +. +.P +In +.IR groff , +this will start a new line and inserts the space characters at the +beginning of the line. +. +. +.\" -------------------------------------------------------------------- +.SS Appending several Lines in RUNOFF +.\" -------------------------------------------------------------------- +. +In 1974, it is documented that several text or command lines can be +appended into a single line starting with a command. +. +. +.P +These lines should be separated by a +.FONT CI semi\-colon CB ; R . +. +If the appended line is a command line, then it starts with a period. +. +That's enough for separation. +. +In this case, separating semi\-colon can be omitted. +. +. +.\" -------------------------------------------------------------------- +.SS Default Conditions (modes) in RUNOFF +.\" -------------------------------------------------------------------- +. +The starting case-mode (for output or printing) is lower case. +. +Each text line starts with that mode. +. +. +.P +Usually the text is +.I filled +and +.I justified +as it is processed. +. +That is, the program +.I fills +a line by adding successive words from the source text until one more +word would cause the right margin to be exceeded. +. +The line is then +.I justified +by making the word spacings larger until the last word in the line +exactly meets the right margin. +. +. +.P +The user may occasionally wish to reproduce the source text exactly, +which is done by disabling +.I filling +and +.I justification +or by use of the +.FONT CR .LITERAL +command. +. +The program may be set to +.I fill +but not +.IR justify , +in which case the output will be normal except that lines will not be +justified to the right margin. +. +The program may also be set to +.I justify +but not +.IR fill , +although this would probably produce peculiar results and is not +recommended. +. +. +.P +When the +.I fill mode +is on, spaces and carriage returns occurring in the source text are +treated only as word separators. +. +Multiple separators are ignored. +. +. +.P +Some of the commands cause a BREAK in the output. +. +A +.I break +means that the current line is output without justification, and the +next word goes at the beginning of the next line. +. +This occurs at the end of paragraphs. +. +. +.P +The program will advance to new pages as necessary, placing the title +(if given) and the page number at the top of each page. +. +The user may call explicitly for a +.I page advance +where desired, and may inhibit the occurrence of a +.I page advance +within specified material. +. +. +.P +By the documentation of 1974 and 1981, some special characters in text +lines are initially disabled: +.FONT CB < R " (" CB CAPITALIZE R ), +.FONT CB > R " (" CB INDEX R ), +.FONT CB = R " (" CB HYPHENATE R ), +and +.FONT CB % R " (" CB OVERSTRIKE R ). +. +. +.P +The other special characters seem to be enabled by default. +. +These should be: +.FONT CB . R " (" CB CONTROL R ), +.FONT CB ! R " (" CB ENDFOOTNOTE R ), +.FONT CB ^ R " (" CB UPPERCASE R ), +.FONT CB \[rs] R " (" CB LOWERCASE R ), +.FONT CB & R " (" CB UNDERLINE R ), +.FONT CB # R " (" CB SPACE R ), +and +.FONT CB _ R " (" CB QUOTE R ). +. +. +.P +This can be changed by the commands +.RS +.FONT CB .FLAGS I " <mode>" +.RE +(enabling) and +.RS +.FONT CB ".NO FLAGS" I " <mode>" +.RE +(disabling). +. +Also, each special character can be set to another character by the +.RS +.FONT CB .FLAGS I " <mode> <some_character>" +.RE +command. +. +. +.P +The following informs about the +.I <mode> +arguments: +. +. +.TP +.FONT CB CONTROL +default: +.FONT CI period +on first column (start command line): +.FONT CB . +. +.TP +.FONT CB ENDFOOTNOTE +default: +.FONT CI "exclamation character" +on first column (end of footnote): +.FONT CB ! +. +.TP +.FONT CB UPPERCASE +upper case (single character) and case lock (2 characters), default: +.FONT CB ^ +. +.TP +.FONT CB LOWERCASE +lower case (single character) and case lock (2 characters), default: +.FONT CB \[rs] +. +.TP +.FONT CB UNDERLINE +underlining word witout spaces, default: +.FONT CB & +. +.TP +.FONT CB SPACE +quoted space (no filling and justifying), default: +.FONT CB # +. +.TP +.FONT CB QUOTE +quoting character (output special character without specialization), +default: +.FONT CB _ +. +.TP +.FONT CB CAPITALIZE +upper case for next character, default: +.FONT CB < +. +.TP +.FONT CB INDEX +set following word into index, default: +.FONT CB > +. +.TP +.FONT CB OVERSTRIKE +superimpose the surrounding characters, default: +.FONT CB % +. +.TP +.FONT CB HYPHENATE +default: +.FONT CB = +. +.TP +.FONT CB ALL +all but the 1st column characters +.FONT CB . +and +.FONT CB ! +. +.TP +.FONT CB null +same as +.FONT CB ALL +. +. +.P +The following special characters are only documented in 1981, but it +is not clear if they are initially enabled. +. +Also no +.I <mode> +for +.FONT CB .FLAGS +are documented: +.FONT CB { R , +.FONT CB } R , +.FONT CB | R , +and +.FONT CB Ctrl-N R . +. +. +.P +.FONT CI RUNOFF R 's +ability to change most special characters is unique. +. +.FONT CI roff +cannot do that. +. +. +.\" -------------------------------------------------------------------- +.SH UPPER CASE TEXT LINES +.\" -------------------------------------------------------------------- +. +The original +.FONT CI RUNOFF +text lines are different from the +.FONT CI roff +language. +. +. +.P +As the early +.FONT CI CTSS +computers could only produce upper case characters as input, the text +lines look very strange today. +. +This wasn't documented in the documentation of the 1960s. +. +But there are good documentations of 1974 and 1981 which contain also +the old style. +. +. +.\" -------------------------------------------------------------------- +.SS Case Changing of Text Lines +.\" -------------------------------------------------------------------- +. +In this section, the specification of case for files prepared on an +upper case terminal is documented. +. +There are special characters that in printing act as case-shifters for +ASCII characters into lower (ASCII code 97 to 122 decimal) or upper +case (ASCII code 65 to 90 decimal). +. +. +.P +The lower case mode seems to be the default mode. +. +Also, according to existing old +.FONT CI RUNOFF +files, each text line starts with this default mode. +. +. +.TP +.FONT CI "single circumflex " CB ^ +The following ASCII character is shifted to +.FONT CI "upper case" R . +. +The following from the document of 1981 seems to be wrong: +. +(It is also used to lock the +.I case mode +in +.IR "upper case" , +and the +.I underline mode +to +.UL "underline all text" ). + +. +. +.TP +.FONT CI "single back\-slash " CB \[rs] +The following ASCII character is shifted into lower case. +. +The following from the document of 1981 seems to be wrong: +. +(It is also used to lock the +.I case mode +in +.IR "lower case" , +and disable underlining.) +. +. +.TP +.FONT CI "double circumflex " CB ^^ +The case mode is shifted into upper case. +. +. +.TP +.FONT CI "double back\-slash " CB \[rs]\[rs] +The case mode is shifted into lower case. +. +. +.P +A common example with starting mode in lower case for these 4 special +characters is: +. +.P +.RS +^HERE IS A ^SAMPLE ^SENTENCE IN ^^UPPER CASE\\ AND LOWER CASE. +.RE +. +.P +is printed as: +. +.RS +Here is a Sample Sentence in UPPER CASE and lower case. +.RE +. +. +.\" -------------------------------------------------------------------- +.SS Further special Characters in Text Lines +.\" -------------------------------------------------------------------- +. +.TP +.FONT CI "ampersand " CB & +This is used for underscoring the next following character. +. +For example: +. +.RS +.P +.RS +&s&o&f&t&w&a&r&e +.RE +. +.P +becomes: +.RS +.UL software +.RE +. +.P +in the output or printing. +.RE +. +. +.TP +.FONT CI "circumflex and ampersand " CB ^& +This is used for underscoring all following characters except for +blanks. +. +One could say that by this character combination the underline mode is +put on. +. +. +.TP +.FONT CI "back\-slash and ampersand " CB \[rs]& +This is used for stopping the underscoring. +. +One could say that by this character combination the underline mode is +put off. +. +. +.RS +.P +For example: +.RS +^&PLATO\[rs]& was a very ^&wise \[rs]&man. +.RE +becomes +.RS +.UL PLATO +was a very +.UL wise +man. +.RE +. +. +.P +In +.FONT CI groff R , +spaces are not underlined as well. +. +.RE +. +. +.TP +.FONT CI "number sign " CB # +.FONT CI RUNOFF +interprets this character as a +.FONT CI "quoted space" R . +. +It outputs exactly 1 space character, it is not justified or filled. +. +It cannot end a line. +. +In the text it is not treated as a +.IR "word separator" . +. +. +.TP +.FONT CI "less\-than " CB < +This character preceding a word capitalizes the entire word up to the +first space character. +. +This is the same as preceding the word with +.FONT CB ^^ +and ending it with +.FONT CB \[rs]\[rs] R . +. +For example, if the current case mode is lower case, the following +text line +.RS +.RS +.FONT CB "<DIGITAL OF ^MAYNARD, <MA" +.RE +becomes +.RS +.FONT CB "DIGITAL of Maynard, MA" +.RE +in the output (printing). +. +This special character is initially disabled. +. +It can be activated by the command +.FONT CB .FLAGS R . +. +.RE +. +. +.TP +.FONT CI "greater\-than " CB > +This character enters the immediately following word (up to the first +space character) into the index, including all case shifters in the +word. +. +This special character is initially disabled. +. +It can be enabled by the command +.FONT CB .FLAGS R . +. +. +.TP +.FONT CI "percent " CB % +This is for +.FONT CI superimposition +of the surrounding characters, one character over the other. +. +For example, the combination +.FONT CB /%= +overstrikes the 2 characters +.FONT CI slash +and +.FONT CI equal +into the character +.FONT CB \[!=] +(unequal). +. +In underlining, superimposition cannot be done. +. +This special character is initially disabled. +. +So a percent character is output as is. +. +This character can be enabled by the command +.FONT CB .FLAGS R . +. +. +.\" -------------------------------------------------------------------- +.SS Special Characters in Text Lines of 1981 +.\" -------------------------------------------------------------------- +. +.TP +.FONT CB = CI " equals\-sign " I "\[em] hypenation disable" +If +.FONT CB ".FLAGS HYPHENATE" +has been engaged, the +.I equals +character +.FONT CB = +used to disable +.I hyphenation +for the word it precedes. +. +. +.TP +.FONT CB { CI " left\-brace " I "\[em] Reverse half\-linefeed" +If the output device type is no +.FONT CB N R , +then the +.I left +and +.I right braces +are used for +.I superscripting +and +.IR subscripting . +. +The +.I left\-brace +.FONT R ( CB { CR " 173 octal" R ) +produces a +.IR "reverse half\-linefeed" . +When combined with the +.I right brace +.FONT R ( CB } CR " 175 octal" R ) +scripting is created; e.g. +.FONT CB {super} +becomes +.EQ +"" sup superscript +.EN +and +.FONT CB }sub{ +becomes +.EQ +"" sub subscript +.EN +. +. +.TP +.FONT CB } CR " right\-brace " I "forward half\-linefeed" +As described above, the +.I right brace +.FONT R ( CB } CR " 175 octal" R ) +when coupled with the +.I left brace +will produce scripting. +. +This will only occur when a scripting output device is selected. +. +. +.TP +.FONT CB | CR " vertical\-bar " I "Engage/disengage alternate character set" +The +.I vertical bar +.FONT R ( CB | R , CR " 174 octal" R ) +acts as an on/off switch. +. +It will alternately transmit a +.I shift\-out +and a +.I shift\-in +character to change the selected character set; e.g. +.FONT CB |ABC| +becomes +.FONT CI Ctrl\-N CB ABC CI Ctrl\-O R . +. +. +.\" -------------------------------------------------------------------- +.SS Escape Sequences in Text Lines +.\" -------------------------------------------------------------------- +. +The +.FONT CI "escape character" +in +.FONT CI RUNOFF +(also called +.FONT CI "quote character" R ) +is the +.FONT CI "sub character " CB _ R . +. +Using this character as a prefix before a special character, outputs +the special character as it is without its speciality, no formatting +is done by it. +. +. +.TP +.FONT CB _^ +outputs the special character +.FONT CB ^ +. +. +.TP +.FONT CB _\[rs] +outputs the special character +.FONT CB \[rs] +. +. +.TP +.FONT CB _& +outputs the special character +.FONT CB & +. +. +.TP +.FONT CB _# +outputs the special character +.FONT CB # +. +. +.TP +.FONT CB _< +outputs the special character +.FONT CB < +. +. +.TP +.FONT CB _> +outputs the special character +.FONT CB > +. +. +.TP +.FONT CB _% +outputs the special character +.FONT CB % +. +. +.TP +.FONT CB __ +outputs the special character +.FONT CB _ +. +. +.\" -------------------------------------------------------------------- +.SH COMMAND NAMES (CONTROL WORDS) IN THE ORIGINAL RUNOFF LANGUAGE OF 1966 +.\" -------------------------------------------------------------------- +. +The documentation for +.I "control words" +in this paragraph are taken from the +.FONT CI RUNOFF +documentation of 1966. +. +Often this documentation refers to the +.FONT CB RUNOFF +program that doesn't exist any more. +. +When the +.FONT CI RUNOFF +language will be implemented for +.BR \%groff (@MAN1EXT@) +these documentations must be adjusted. +. +. +.TP +.FONT CB .ADJUST +.TQ +.FONT CB .AD +Enable +.I fill +mode. +. +The next line is the first one affected. +. +This is the default mode. +. +. +.TP +.FONT CB .APPEND I " file" +.TQ +.FONT CB .AP I " file" +Take as the next input line the first line of +.IR \%file . +. +Note that the whole of +.I \%file +is appended, and that the appending is an irreversible process \[em] that +is, once +.FONT CB RUNOFF +encounters the +.FONT CB .APPEND +.I "control line" +it will switch to the file +.I \%file +and continue from the first line of +.IR \%file . +. +All lines following the +.FONT CB .APPEND +.I "control line" +will not be processed by +.FONT CB RUNOFF R . +. +The file +.I \%file +may, of course, itself call for appending of still another file, and +so on. +. +. +.TP +.FONT CB ".BEGIN PAGE" +.TQ +.FONT CB .BP +Print out this page, start next line on a new page. +. +. +.TP +.FONT CB .BREAK +.TQ +.FONT CB .BR +The lines before and after the +.FONT CB .BREAK +.I "control word" +will not be run together by the +.FONT CI fill +mode of operation. +. +. +.TP +.FONT CB .CENTER +.TQ +.FONT CB .CD +The following line is to be centered between the left and right +margins. +. +. +.TP +.FONT CB ".DOUBLE SPACE" +.TQ +.FONT CB .DS +Copy is to be double spaced. +. +This mode takes effect after the next line. +. +. +.TP +.FONT CB .FILL +.TQ +.FONT CB .FI +Enable +.IR "fill mode" . +. +That means: Lengthen short lines by moving words from the following +line; trim long lines by moving words to the following line. +. +This is the default mode. +. +.FONT CB .NOFILL +disables the +.I fill +mode. +. +. +.TP +.FONT CB .HEADER I " word1 word2 \*[Ellipsis]" +.TQ +.FONT CB .HE I " word1 word2 \*[Ellipsis]" +All of the line after the first blank is used as a header line, and +appears at the top of each page, along with the page number, if +specified. +. +. +.TP +.FONT CB ".HEADING MODE" I " arg" +.TQ +.FONT CB .HM I " arg" +This +.I control sequence +alters the mode of the running head to that specified by the parameter +.IR \%arg . +. +Any of the following parameters are allowed for +.IR \%arg: +. +. +.\" -------------------------------------------------------------------- +.RS +. +. +.TP +.FONT CB CENTER +The header will be centered on the page. +. +. +.TP +.FONT CB MARGIN +The header will be adjusted against the right margin of the page. +. +. +.TP +.FONT CB FACING +On even\-numbered pages, the header will be adjusted against the left +margin, on odd numbered pages against the right. +. +. +.TP +.FONT CB OPPOSED +The header will be adjusted against the opposite margin from the page +number. +. +In the absence of a +.FONT CB ".HEADING MODE" +.IR "control sequence" , +the default option is +.FONT CB OPPOSED R . +. +. +.RE +.\" -------------------------------------------------------------------- +. +. +.TP +.FONT CB .INDENT I " n" +.TQ +.FONT CB .IN I " n" +The argument +.I \%n +is a number. +. +Set the number of spaces to be inserted at the beginning of each line +to +.IR \%n . +. +Indent is preset to 0. +. +. +.TP +.FONT CB ".LINE LENGTH" I " n" +.TQ +.FONT CB .LL I " n" +The argument +.I \%n +is a positive number. +. +Set the line length to +.IR \%n . +. +The line length is preset to 60. +. +. +.TP +.FONT CB .LITERAL +.TQ +.FONT CB .LI +The following line is not a +.IR "control word" , +despite the fact that it begins with a period. +. +. +.TP +.FONT CB .NOFILL +.TQ +.FONT CB .NF +Disable +.IR "fill mode" . +. +That means: Print all lines exactly as they appear without right +adjustment or filling out. +. +In +.I NOFILL +mode each input line produces one output line; further blank lines are +output in this mode. +. +Use the +.FONT CB .FILL +.I control word +to restart +.IR filling . +. +. +.TP +.FONT CB .NOJUST +.TQ +.FONT CB .NJ +Disable +.IR "fill mode" . +. +. +.TP +.FONT CB ".ODD PAGE" +.TQ +.FONT CB .OP +This +.I "control word" +causes the current page to be printed out, and the next page to be +numbered with the next higher odd page number. +. +. +.TP +.FONT CB .PAGE R " [" I n R ] +.TQ +.FONT CB .PA R " [" I n R ] +Print page numbers. +. +(The first page is not given a page number. +. +It has instead a two\-inch top margin. +. +See also +.FONT CB "Manuscript Conventions" R , +below.) +. +If argument +.I \%n +is present, insert a page break and number the next page +.IR \%n . +Note that +.FONT CB RUNOFF +does not output or print completely empty pages. +. +. +.TP +.FONT CB ".PAGING MODE" I " arg1 arg2 \*[Ellipsis]" +.TQ +.FONT CB .PM I " arg1 arg2 \*[Ellipsis]" +This +.I control sequence +alters the mode of page numbering to that specified by the arguments. +. +The arguments may be in any order, and must be selected from the +following list: +. +. +.\" -------------------------------------------------------------------- +.RS +. +. +.TP +.FONT CB MARGIN +Page numbers will be adjusted against the right margin. +. +. +.TP +.FONT CB FACING +Odd page numbers are adjusted against the right margin, even page +numbers are adjusted against the left margin. +. +. +.TP +.FONT CB CENTER +Page numbers are centered between the right and left margin. +. +. +.TP +.FONT CB TOP +Page numbers are placed on the fourth line from the top of the page. +. +. +.TP +.FONT CB BOTTOM +Page numbers are placed on the fourth line from the bottom of the +page. +. +. +.TP +.FONT CB OFF +Page numbers are discontinued. +. +. +.TP +.FONT CB PREFIX I " \(dqstring\(dq" +The string of characters between quotation marks is prefixed to the +page number. +. +The quotation marks may be next to each other, in which case no prefix +is used. +. +. +.TP +.FONT CB ROMANU +Page numbers will be printed in upper case Roman numerals. +. +. +.TP +.FONT CB ROMANL +Page numbers will be printed in lower case Roman numerals. +. +. +.TP +.FONT CB ARABIC +Page numbers will be printed in Arabic. (This is the normal mode.) +. +. +.TP +.FONT CB SET I " n" +Set the next page number to be the positive number +.IR \%n . +. +. +.TP +.FONT CB SKIP I " n" +Skip +.I \%n +page numbers. +. +. +.P +If in a single use of +.FONT CB ".PAGING MODE" +several arguments specify competing functions, the last one specified +takes precedence. +. +When the +.FONT CB ".PAGING MODE" +sequence appears in text at point A, all text up to A (and probably +some text after A) will appear on a page controlled by the previous +paging mode. +. +The new +.I paging mode +will take effect on the next page. +. +Then there is no danger of getting page numbers both at the top and +bottom of the same page. +. +. +.P +Use of the +.FONT CB .TOP +parameter may conflict with the +.I \%heading +.IR \%mode . +. +If a heading and a page number should be printed in the same column, +the page number will take precedence. +. +In the absence of a +.FONT CB ".PAGING MODE" +.I control +.IR sequence , +the default options are: +.FONT CB "TOP MARGIN PREFIX \(dqPAGE\(dq" R . +. +. +.RE +.\" -------------------------------------------------------------------- +. +. +.TP +.FONT CB ".PAPER LENGTH" I " n" +.TQ +.FONT CB .PL I " n" +This +.I control word +is used for running off a documentation file on non\-standard paper. +. +The number +.I \%n +is a line count, figured at 6 lines per inch. +. +If this +.I control word +is not given, +.I n +is assumed to be 66, for 11\-inch paper. +. +. +.TP +.FONT CB ".SINGLE SPACE" +.TQ +.FONT CB .SS +Copy is to be single spaced. +. +This mode takes effect after the next line. +. +(The normal mode is single space.) +. +. +.TP +.FONT CB .SPACE R " [" I n R ] +.TQ +.FONT CB .SP R " [" I n R ] +Insert +.I \%n +vertical spaces (carriage returns) in the copy. +. +If +.I \%n +carries spacing to the bottom of a page, spacing is stopped. +. +If +.I \%n +is absent or 0, one space is inserted. +. +. +.TP +.FONT CB .UNDENT I " n" +.TQ +.FONT CB .UN I " n" +In an indented region, this +.I control word +causes a break, and the next line only will be indented n spaces fewer +than usual. +. +This +.I "control word" +is useful for typing indented numbered paragraphs. +. +. +.\" -------------------------------------------------------------------- +.SH RUNOFF ADDITIONS 1973 +.\" -------------------------------------------------------------------- +. +Here are described only the additional +.I control words +that are documented in the 1973 documentation. +. +.\" -------------------------------------------------------------------- +.SS Formats +.\" -------------------------------------------------------------------- +. +. +.TP +.FONT CB .FORMAT I " name" +This command causes subsequent text to be output under the control of +tne specified format (see below at +.FONT CB ".DEFINE FORMAT" R ). +. +Each following logical line will be fit into the format until a +.FONT CB .FILL +or +.FONT CB .NOFILL +command 1s encountered. +. +. +.TP +.FONT CB ".DEFINE FORMAT" I " <name> <pos> <field_ definition> \ +\*[Ellipsis]" +.TQ +.FONT CB ".END FORMAT" +These commands define a format for use in producing tables, etc. +. +. +.RS +. +. +.TP +.I <name> +identifies the format. +. +It can be activated by the +.FONT CB .FORMAT +.IR command . +. +. +.TP +.I <pos> +is the position and may be one of +.FONT CB .LEFT R , +.FONT CB .RIGHT R , +or +.FONT CB .CENTER R , +and determines the overall positlon of the format with respect to the +margins. +. +. +.TP +.I <field_definition> +There can be several arguments of this type. +. +Each has the form: +. +. +.RS +. +.FONT CI <type> CB ( CI "<letter> \*[Ellipsis] <letter>" CB ) +. +.P +where the +.FONT CI <type> +is one of +. +.TP +.FONT CB L +for left, +. +.TP +.FONT CB R +for riqht, +. +.TP +.FONT CB C +for center, +. +.TP +.FONT CB F +for +.FONT CI fill R , +or +.FONT CB J +for +.FONT CI justify R . +. +. +.P +The first three types define fixed fields; the text to be formatted +must fit within the allocated space. +. +The latter types define variable fields; the text will be handled as +in normal fill mode processing. +. +. +.P +A picture showing the manner in which text should be output follows +the +.FONT CB ".DEFINE FORMAT" +command; following the picture should be an +.FONT CB ".END FORMAT" +command. +. +The following lines give an example: +. +. +.RS +. ft CB +. nf +. nh +. nop ".DEFINE FORMAT SUMMARY L(A) F(C) C(B)" +. nop "AAAA CCCCCCCCCCCCCCCCCCCCCCCCC BBBBBBB" +. nop " CCCCCCCCCCCCCCCCCCCCCCCCC " +. nop ".END FORMAT" +. hy +. fi +. ft +.RE +. +. +.P +The first field of text is left justified; the second is centered; the +third is subjected to +.I fill mode +processing without justification. +. +After the first line of output is generated using this format, all +subsequent lines are produced using the last picture 1ine. +. +(Strictly speaking the third line is unnecessary.) +. +. +.P +Text for formatted processing consists of a logical line (or +paragraph). +. +Each field except the last must be separated by +.IR tab . +. +The +.I tab character +is displayed here as backslash character +.FONT R ( CB \[rs] R ). +. +. +.P +The first field of text is +.FONT CB A R , +the second +.FONT CB B R , +etc. +. +Typical input for our example might be: +. +. +.RS +.nf +.nh +|A\\YES\\/THIS IS SOME TEXT +TO BE FILLED. +.hy +.fi +.RE +. +. +.P +The characters 1n the picture lines were 1nterpreted as follows. +. +Contiguous sequences of letters determine the fie1d positions; +non\-alphabetic characters are output literally. +. +(Note: +.FONT CB Q.QQ +wi11 not work, put the period +.RB \[dq] . \[dq] +in the text. +. +A sequence of characters written between double quotes is considered +literal text. +. +The +.I double quotes +are not output, and there is no way to use +.I double quote +as a +.IR literal . +. +. +.\" -------------------------------------------------------------------- +.SS Hyphenation Processing +.\" -------------------------------------------------------------------- +. +.TP +.FONT CB .HYPHENATE +Enable +.IR "hyphenation mode" . +. +This is the default when starting up. +. +The +.FONT CB RUNOFF +program used a small +.I glossary +for splitting. +. +In +.I hyphenation mode +.FONT CB RUNOFF +would try to find a word 1n the glossary which is the same (except for +the endings +.FONT CB \-S R , +.FONT CB \-ES R , +.FONT CB \-ED R , +and +.FONT CB \-E R ) +as the word at the end of the line of text. +. +When running in +.BR groff (1) +there are +.I glossaries +being much more complete than in +.BR RUNOFF . +. +. +.TP +.FONT CB .NOHYPHEN +Disable +.IR "hyphenation mode" . +. +. +.TP +.FONT CB .GLOSSARY I " word" +This command inserts words into the +.I glossary +for use in +.IR hyphenation . +. +Each word should have the form +.FONT CB hy\[hy]phen\[hy]ate +and be separated by spaces. +. +. +.TP +.FONT CB ".HYPHENATION BREAK" I " n" +This command set the parameter which determines the allowable number +of spaces to te inserted in a line before +.FONT CB RUNOFF +tried to hyphenate the last word. +. +Each space counts ten points. +. +If more than +.I n +points per word would have to be inserted, then +.I hyphenation +will be attempted. +. +The initial setting of this parameter is 5 (one\-half space per word). +. +. +.\" -------------------------------------------------------------------- +.SS Margin Controls +.\" -------------------------------------------------------------------- +. +There are two types of margins involved in +.FONT CI RUNOFF R . +. +. +.TP +(1) +The physical margins. +. +These are determined by the nature of the printing device. +. +The margins outline the area where it is physically possible to print +characters. +. +. +.TP +(2) +. +The logical margins. +. +These can be set bv the user as he wishes. +. +(Limits are imposed by the physical margins.) +. +They are initialized for standard 8.5\[dq] by 11\[dq] printing. +. +. +.P +Commands concerning vertical and horizontal margins are: +. +. +.TP +.FONT CB ".PAGE LAYOUT TM, EM, TOL" +This sets the vertical logical margins and vertical tolerence. +. +Parameters are top margin, bottom margin and tolerance. +. +The tolerance is used to determine where to break between pages on +page overflows. +. +If +there is a line break within +.I TCL lines +of the bottom, +.FONT CB RUNOFF +will break the page there; otherwise it will fill the page completely. +. +. +.TP +.FONT CB ".LINE LAYOUT LM, RM, NO, CS" +This sets the logical left and right margin, the number of columns, +and the number of spaces to insert between columns. +. +These margins are used for the page headings. +. +To adjust the relative +text position, use the subsequent commands. +. +. +.TP +.FONT CB ".REDUCE MARGIN LM, RM" +.TQ +.FONT CB ".EXPAND MARGIN LM, RM" +.TQ +.FONT CB ".END REDUCTION" +These commands enable the user to indent a certain portion of his text +using the first command, or +.FONT CB .UNDENT +his text using the second command. +. +In either case the original margins are restored by the third command. +. +The use of several +.FONT CB ".REDUCE MARGIN" +commends before the corresponding +.FONT CB ".END REDUCTION" +commands succesively indents the text more, and more. +. +Thus these commands are 1ike brackets (i.e. recursive). +. +.FONT CB LM +is added to the left logical margin and +.FONT CB RM +is subtracted from the right logical margin in the first command. +. +Just +the opposite is done on the second command. +. +Negative numbers are permitted. +. +These commands do not effect the position of page headings. +. +. +.TP +.FONT CB ".LAYOUT PLM, PRM, PTM, PBM, LL, LO" +This command defines the physical margins in the followinq complex +manner. +. +(It should only be used for non\-standard devices, normally this +command should not be necessary.) +. +The parameters are the physical left margin (in spaces), the physical +right margin, the physical top 1ine, the physical bottom line, the +line lenqth, and line origin. +. +The first four parameters define the physical 1imits of the printing +device. +. +The final two parameters define the length of the logical line and its +origin with respect to the left edge of the paper. +. +Printing starts at column +.FONT CB "LO + LM" R , +and ends at +.FONT CB "LO + RM" R , +where +.FONT CB LM +and +.FONT CB RM +are the logical margins established by +.FONT CB ".LINE LAYOUT" R . +. +When using the +.FONT CI "facing feature" +(see +.FONT CB ".PAGING MODE" R ), +the logical left margin is +.FONT CB "LL \[em] RM" +on even pages, and the right margin is +. +.FONT CB "LL \[em] LM" R . +. +The parameters for the layout command must satisfy: +. +.RS +.RS +.nh +.nf +.ft CB +.nop "min(LO + LL \[em] PLM, PRM \[em] LO) > max(PLM \[em] LO, \ +LO + LL \[em] PRM)\f[],\f[CB]" +.nop LL > 25\f[], and \f[CB]PBM \[em] PTM > 6\f[] +.fi +.hy +.RE +. +. +.P +This command sets +.FONT CB LM +to 15, +.FONT CB RM +to +.FONT CB "LL \[em] 10" R , +.FONT CB TM +to +.FONT CB PTM R , +and +.cb BM +to +.FONT CB "PBM \[em] 6" R . +. +(These margin settings produce the standard 1.5 inch left, and 1 inch +right, too, and bottom margins.) +. +.RE +. +. +.P +Initially +.FONT CB RUNOFF +sets the margins for +.I teletype +output to: +. +. +.RS +.RS +.nh +.nf +.ft CB +.nop .LAYOUT 6, 89, 6, 66, 8S, 0 +.nop .LINE LAYOUT 15, 75 +.nop .FILL +.ft +.fi +.hy +.RE +.RE +. +. +.P +The printer layout is: +. +.RS +.RS +.nh +.nf +.ft CB +.nop ".layout 5, 137, 6, 66, 85, 15" +.nop ".page layout 6, 60, 4" +.ft +.fi +.hy +.RE +.RE +. +.P +The logical margins must satisfy: +. +.RS +.RS +.nh +.nf +.ft CB +.nop min(LL, PRM \[em] LO, LO \[em] LL \[em] PLM) >= RM > +.nop " LM >= max(0, PLM \[em] LO, LO + LL \[em] PRM)" \f[],\f[CB] +.nop "PBM >= BM > TM >= PTM" "\f[], and\f[CB]" +.nop BM \[em] TM > TOL\f[]. +.fi +.hy +.RE +.RE +. +. +.\" -------------------------------------------------------------------- +.SS Paragraph Formatting +.\" -------------------------------------------------------------------- +. +.TP +.FONT CB ".PARAGRAPH SPACING" I " n" +. +This specifies how many lines are to be inserted between paragraphs. +. +Initial setting = 1. +. +. +.TP +.FONT CB ".PARAGRAPH INDENTATION" I " n" +This specifies how many additional spaces to insert at the beginning +of a paragraph. +. +Initial setting = 5. +. +. +.TP +.FONT CB ".PARAGRAPH UNDENTATION" I " n" +This command is the same as +.FONT CB ".PARAGRAPH INDENTATION" I " \-n" R . +. +That is, +.I n +fewer spaces are inserted at the beginning of the paragraph. +. +. +.\" -------------------------------------------------------------------- +.SS Special Line Justification and Control +.\" -------------------------------------------------------------------- +. +These commands pertain to the next logical line. +. +The end of the line should be designated with a break. +. +. +.TP +.FONT CB .CENTER +. +Center the next line. +. +. +.TP +.FONT CB .INDENT I " n" +. +Indent the next line +.I n +spaces. +. +If +.I n +is not provided, 5 is assumed. +. +. +.TP +.FONT CB .UNDENT I " n" +. +Start the next line +.I n +spaces to the left of the normal margin. +. +This command is the same as +.FONT CB .INDENT I " \-n" R . +. +. +.TP +.FONT CB .MARGIN +Justify the next 1ine against the right hand margin. +. +. +.\" -------------------------------------------------------------------- +.SS Heading and Paging +.\" -------------------------------------------------------------------- +. +.TP +.FONT CB .HEADER I " XXXXXXX" +.FONT CB RUNOFF +accepts a heading to go on the first line of +each paqe. +. +The heading strinq is assured to start at the first non\-blank +character after thd control word and end at carriage return. +. +. +.TP +.FONT CB ".HEADING MODE" I " <param>" +.I <param> +determines the position of the heading on the 11ne. +. +.I <param> +may be any of the following. +. +. +.RS +. +.TP +.FONT CB CENTER +The header will be centered on the 1ine. +. +. +.TP +.FONT CB MARGIN +The header will be adjusted against the riqht margin. +. +. +.TP +.FONT CB PAGING +On even numbered pages the header is adjusted against the right +margin. +. +On odd pages it is adjusted against the left mergin. +. +. +.TP +.FONT CB OPPOSED +The header will be adjusted against the opposite margin from the +page numter. +. +This is the initial mode. +. +.RE +. +. +.TP +.FONT CB ".PAGING MODE" I " <param>" +. +This command determines the placing of the page number. +. +All parameters are optional. +.I <param> +may be anyone or more of the following oommands. +. +In case of conflict the latest command wins. +. +.RS +. +.TP +.FONT CB CENTER +The page numbers are centered between the logical margins. +. +.TP +.FONT CB MARGIN +The page number is adjusted against the right margin. +. +.TP +.FONT CB FACING +On even numbered pages the number will be adjusted against the right +margin. +. +On odd numbered pages tne number will be adjusted against the +left margin. +. +.TP +.FONT CB TOP +Page numbers are placed on the first line. +. +.TP +.FONT CB BOTTOM +Page numbers are placed on the last line. +. +.TP +.FONT CB OFF +Printing page numbers is discontinued. +. +.TP +.FONT CB .PREFIX I " <string>" +.TQ +.FONT CB .SECTION I " <string>" +.TQ +.FONT CB .SUFFIX I " <string>" +The strings of characters between quotation marks are used to form the +page string, which has the form: +. +.RS +.I <prefix><section><page number><suffix> +. +.P +Any or all of these strings mav be null. +. +The section string is considered to be part of the page number for +purposes of indexing. +. +.RE +.P +Initial mode is: +. +.RS +.RS +.ft CB +.nop ".PAGING MODE TOP MARGIN PREFIX \[dq]Page\[dq]" +.nop ".PAGING MODE SECTION \[dq]\[dq] SUFFIX \[dq]\[dq]" +.RE +.RE +. +. +.P +If neither page number nor heading is used, the text will start on the +first logical line. +. +Otherwise it will start on the fourth logical line. +. +If the page number is at the bottom, text will end on the fourth line +from the bottom. +. +If the paging and headinq mode conflict, the page string overwrites +the heading. +. +.RE +. +. +.TP +.FONT CB ".ODD PAGE" +This +.FONT CI "control word" +causes the ourrent page to be printed out and the next page to be +started with the next higher odd number. +. +. +.TP +.FONT CB .PAGE I " n" +If +.I n +is present, insert a page break and start numbering the next pege +with +.IR n . +Otherwise, turn the +.I paging mode +on and do not insert a page break. +. +. +.TP +.FONT CB .EJECT I " n" +Insert a page break if either there are fewer than +.I n +lines left on the page or +.I n +is not present. +. +. +.\" -------------------------------------------------------------------- +.SS Lines and Spacing +.\" -------------------------------------------------------------------- +. +.TP +.FONT CB ".SINGLE SPACE" +Sing1e space all 1ines within paragraphs. +. +This is the initial state. +. +. +.TP +.FONT CB ".DOUBLE SPACE" +Double space all lines within paragraphs. +. +. +.TP +.FONT CB .SPACE I " n" +Output +.I n +1ine spaces. +. +If +.I n +is not provided, 1 is assumed. +. +In case of page overflow all remaining blank 1ines to be output are +deleted. +. +. +.TP +.FONT CB ".FIGURE SPACING" I " n" +This command is equivalent to +.FONT CB .EJECT I " n" +followed by +.FONT CB .SPACE +.IR n . +. +These commands provide the only means of creatinq blank 11nes. +. +. +.TP +.FONT CB .BREAK +The lines before and after this command will not be run together in +.IR "fill mode" . +. +A simpler way to get a line break is to insert one or more blank lines +in the text. +. +. +.TP +.FONT CB ".BEGIN GROUP" +.TQ +.FONT CB ".END GROUP" +The output lines enclosed between these two commands are forced to lie +on a page. +. +Thus this command acts in a manner similar to +.FONT CB .EJECT I " n" R , +where +.I n +has the 'right' value. +. +. +.\" -------------------------------------------------------------------- +.SS Miscellanous +.\" -------------------------------------------------------------------- +. +.TP +.FONT CB .UNDERLINE +The following 1ine is underlined. +. +. +.TP +.FONT CB .LITERAL +The next line is taken as part of text whether or not +it begins with dot. +. +. +.TP +.FONT CB .ESCAPE I <char> +.TQ +.FONT CB .SHIFT I <char> +.TQ +.FONT CB ".TAB CHARACTER" I <char> +The given character becomes the +.IR escape , +.IR shift , +or +.I tab +character. +. +The parameter for the +.FONT CB .SHIFT +and +.FONT CB ".TAB CHARACTER" +commands may be null, if no +.I shift +or +.I tab +character is desired. +. +. +.TP +.FONT CB ".DEFINE COMMAND" I " <name>" +.TQ +.FONT CB ".END COMMAND" +.TQ +.FONT CB .CALL I " <name>" +These commands give the user the opportunity to combine text and +control lines to form his own commands. +. +All text and command lines between the first and second commands is +stored away under +.IR name . +. +When the third command is executed, the stored string is read and the +commands within the string are executed. +. +Recursion is not permitted. +. +. +.TP +.FONT CB .INDEX I " <phrase>, <phrase>" +. +.FONT CB RUNOfF +saves the first phrase in the main index table and the second phrase +(if any) in a sub\-index table associated with the first phrase. +. +.RS +. +The index is formatted and output after the last page of text. +. +Two built\-in but redefinable formats, +.FONT CI RINDEX +and +.FONT CI SINDEX R , +are used to format the index as shown in the following example. +. +.RS +.nh +.nf +.FONT CB "Algorithms, 40, 78," R " \[rs]\[dq] uses " I RINDEX +.FONT CB " analysis of, 27, " R " \[rs]\[dq] uses " I SINDEX +.fi +.hy +.RE +. +. +The following lines give the initial definitions for the indexing +formats. +. +. +.RS +.nh +.nf +.ft CB +.nop ".define format RINDEX f(A)" +.nop "AAAAAAAAAAAAAAAAAAAAAAAAAAA" +.nop " AAAAAAAAAAIAAAAAAAAAAAA" +.nop ".end format" +.nop ".define format SINDEX f(A)" +.nop " AAAAAAAAAAAAAAAAAAAAAAAAA" +.nop " AAAAAAAAAAIAAAAAAAAAAAA" +.nop ".end format" +.ft +.fi +.hy +.RE +. +. +In order to get an index output in two columns, +.RS +.P +.FONT CB ".LINE LAYOUT 15, 75, 2, 4" +.P +should be the last line of the input. +.RE +. +.RE +. +. +.\" -------------------------------------------------------------------- +.SH RUNOFF DOCUMENTATION 1974 +.\" -------------------------------------------------------------------- +. +This document is the best documentation about text lines. +. +Parts of that is used in the document of 1981. +. +The documentation of text lines is the best at all. +. +This is reguarded above. +. +. +.P +The documentation of commands will be including later on. +. +. +.\" -------------------------------------------------------------------- +.SH RUNOFF COMMAND ADDITIONS 1981 +.\" -------------------------------------------------------------------- +. +The following +.I commands +will be recognized if they are at the beginning of a line started with +a period. +. +Any line in the source file beginning with a period is assumed to be +one of these +.IR commands . +. +If it is not, an +.I error diagnostic +will be typed and the line will be ignored. +. +Some +.I commands +take one or more decimal numeric arguments. +. +These are separated from the +.I command +by a +.FONT CR space R . +. +More than one +.I command +may be entered on a single line by separating the +.I commands +with a +.FONT CI semicolon +.FONT R ` CB ; R ' +or a +.FONT CI period +.FONT R ` CB . R '. +. +. +.P +.I Multi\-word commands +may appear in any form. +. +Thus, +.FONT CB ".NO HEADER" +and +.FONT CB .NOHEADER +are both legal. +. +. +.P +Many +.I commands +may be abbreviated. +. +Standard +.I abbreviations +are given below each +.IR command . +. +. +.\" -------------------------------------------------------------------- +.SS Text Formatting Commands +.\" -------------------------------------------------------------------- +. +.TP +.FONT CB .BREAK +.TQ +.FONT CB .BR +causes a +.IR break , +i.e. the current line will be output with no +.IR justification , +and the next word of the source text will be placed at the beginning +of the next line. +. +. +.TP +.FONT CB .SKIP CI " n" +.TQ +.FONT CB .SK CI " n" +.TQ +.FONT CB .S CI " n" +causes a BREAK after which +.CI n +is multiplied by the number of +.I spaces +between lines. +. +The result is the number of lines +.IR skipped . +. +Output is advanced to the top of the next page if there is no room on +the current page. +. +If the current page is empty, +.FONT CB .SKIP +does nothing. +. +. +.TP +.FONT CB .BLANK I " n" +.TQ +.FONT CB .B I " n" +causes the current line to be output with no +.IR justification , +skips +.FONT CI n +line spaces, and then starts output of the current source text. +. +.FONT CB .BLANK +is like +.FONT CB .SKIP R , +except that the +.I space +to be left is independent of line spacing. +. +If the page is empty, +.FONT CB .BLANK +does nothing. +. +. +.TP +.FONT CB .FIGURE I " n" +.TQ +.FONT CB .FG I " n" +leaves +.I n +lines blank to make room for a figure or diagram. +. +If fewer than +.I n +lines remain on the current page, text continues to +.I fill +this page, then the page is advanced and +.I n +blank lines are left at the top of the next page. +. +. +.TP +.FONT CB .INDENT I " n" +.TQ +.FONT CB .I I " n" +causes a +.CI break +and sets the next line to begin +.I n +spaces to the right of the left margin. +. +The +.I n +can be negative to allow beginning a line to the left of the left +margin. +. +However, a line cannot begin to the left of column 0. +. +If +.I n +is not supplied, the current paragraph indent is used. +. +. +.TP +.FONT CB .PARAGRAPH I " n, v, t" +.FONT CB .P I " n, v, t" +causes a +.I break +and formats the output paragraphs. +. +The +.I n +is optional and, if present, sets the number of spaces the paragraph +is to be indented. +. +The default value for +.I n +is +.FONT CB 5 +.RI ( n +can also have a negative value). +. +.I v +is the vertical spacing between paragraphs. +. +.I v +can range from +.FONT CB 0 +to +.FONT CB 5 R . +. +.FONT R ( CB 1 +is +.IR "single spacing" , +.FONT CB 2 +is +.IR "double spacing" , +etc.) +. +.I t +causes an automatic +.FONT CI ".TEST PAGE" +(see the +.FONT CB ".TEST PAGE" +.IR command ). +. +. +.TP +.FONT CB .CENTER I " n" CB ; I text +.TQ +.FONT CB .CENTRE I " n" CB ; I text +.TQ +.FONT CB .C I " n" CB ; I text +causes a +.I break +and centers the following text in the source file. +. +The centering is over column +.FONT CB ( I n CB " + " I "left margin" CB )/2 R . +If +.I n +is not given, it is assumed to be the +. +.IR "right margin" . +. +. +.RS +.P +.ce +NOTE +. +.P +.FONT CB .CENTER R , +.FONT CB ".RIGHT MARGIN" R , +.FONT CB ".LEFT MARGIN" R , +.FONT CB ".PAGE SIZE" R , +and +.FONT CB .STANDARD +take both relative and absolute values. +. +Relative values are expressed as +.FONT CB + I n +or +.FONT CB \- I n R , +while absolute values of +.I n +are unsigned. +.RE +. +. +.TP +.FONT CB .FOOTNOTE I " n" +.TQ +.FONT CB .FN I " n" +saves +.I n +lines at the bottom of the current page for a +.IR footnote . +. +The +.I n +is multiplied by the number of spaces set with the +.FONT CB .SPACING +command. +. +If insufficient room remains on the current page, space is allocated +at the bottom of the following page. +. +The text of the +.I footnote +should begin on the line following the +.FONT CB .FOOTNOTE +command. +. +.IR Indentation , +.IR "case lock" , +.IR justify , +.IR margins , +.IR spacing , +and +.I fill +are preserved around footnotes. +. +However, +.I commands +that affect page formatting are illegal in a +.IR footnote . +. +.I Tab stops +are illegal because they are not preserved. +. +A footnote within a footnote is also illegal. +. +. +.P +The actual space taken by a footnote can be more or less than +specified by +.IR n . +If necessary +.FONT CR adjust +.I n +after examining a draft printout. +. +. +.P +The +.I footnote +is terminated with a line beginning with an exclamation point (the +remainder of which is ignored). +. +. +.TP +.FONT CB .NOTE I " text" +.TQ +.FONT CB .NT I " text" +starts an +.IR "indented note" . +. +This command +.I blanks +.FONT CB 2 R , +reduces both +.IR margins , +.I centers +the text (if no text is given, it centers the word +.FONT CB NOTE R ), +and then +.I blanks +.FONT CB 1 R . +. +At this point you enter the text of the +.IR note . +. +If the left margin is at +.FONT CB 0 R , +the +.I margin reduction +is +.FONT CB 15 R , +otherwise it is +.FONT CB 5 R . +. +. +.TP +.FONT CB ".END NOTE" +.TQ +.FONT CB .EN +terminates the +.FONT CB .NOTE +command, +.I blanks +.CONT CB 2 R , +and reverts the margins and spacing modes to their settings before the +last +.FONT CB .NOTE +command. +. +. +.TP +.FONT CB .LIST I " n" +.FONT CB .LS I " n" +starts an indented list with +.I n +spacing, moves the left margin +.FONT CB 9 +spaces to the right for the first +.FONT CB .LIST +command, and +.FONT CB 4 +more spaces for each subsequent nested +.FONT CB .LIST R . +. +The normal +.I fill +and +.I justify modes +remain in effect. +. +Therefore, you must disengage them just after the +.FONT CB .LS +command if you want a ragged right. +. +. +.TP +.FONT CB ".LIST ELEMENT;" I " text" +.TQ +.FONT CB .LE; I " text" +starts an item in the list, used in conjunction with the +.FONT CB .LIST +comand. +. +The elements are numbered sequentially and the number is given a +negative indent so that the list lines up. +. +The number is followed by a +.I period +and two +.I spaces +so that the indent will be by +.FONT CB \-4 R . +. +The +.I list elements +are separated by the standard paragraph spacing and +.FONT CI "TEST PAGE" R . +. +If you want to type the text on the same line as the command, you must +separate the text from the command with any number of intervening +.I spaces +or +.IR tabs , +or (optionally) one +.IR semicolon . +. +. +.TP +.FONT CB ".END LIST" +.TQ +.FONT CB .ELS +terminates the +.FONT CB .LIST +command and returns to settings before the last +.FONT CB .LIST +command. +. +. +.TP +.FONT CB .COMMENT I " text" +.TQ +.FONT CB .; I " text" +causes the line to be ignored. +. +The text is not printed in the output file, but rather is used as a +.I comment +line in the source text. +. +. +.\" -------------------------------------------------------------------- +.SS Page Formatting Commands +.\" -------------------------------------------------------------------- +. +.TP +.FONT CB .PAGE +.FONT CB .PG +causes a +.I break +and an +.I advance +to a new page. +. +If the current page is empty, this +.I command +does not +.I advance +the page. +. +Just like an +.IR "automatic page advance" , +this +.I command +prints the +.I title +(if given) and +.I page numbers +on every page. +. +. +.TP +.FONT CB ".TEST PAGE" I " n" +.TQ +.FONT CB .TP I " n" +causes a +.I break +followed by a +.IR "conditional page advance" . +. +It skips to the next page if fewer than +.I n +lines are left on the page. +. +This capability is to ensure that the following +.I n +lines are all output on the same page. +. +This +.I command +has the form +.I t +as an optional argument to the +.FONT CB .PARAGRAPH +command. +. +. +.TP +.FONT CB .NUMBER I " n" +.TQ +.FONT CB .NM I " n" +starts page numbering. +. +This is the default so there is no reason to issue this command unless +page numbering is disengaged. +. +If +.I resumption +of page numbering is desired at a certain page, specify +.IR n . +. +. +.TP +.FONT CB .NONUMBER +.FONT CB .NNM +disengages page numbering. +. +However, pages continue to be counted, so that the normal page number +can appear if page numbering is re\-entered with the +.FONT CB .NUMBER +command. +. +. +.TP +.FONT CB .CHAPTER I " text" +.TQ +.FONT CB .CH I " text" +starts a new chapter using the text as the title of the chapter. +. +This +.I command +acts as if the following +.I command string +were entered: +. +. +.P +.EX +.nop ".BREAK;.PAGE;.BLANK 12;.CENTER;CHAPTER n" +.EE +.P +The +.I n +is incremented by +.FONT CB 1 +automatically. +. +After the CHAPTER +.I n +is typed on the page, +. +. +.P +.EX +.nop .BLANK 2;.CENTER;text;.BLANK 3 +.EE +.P +occurs. +. +This +.I command +then resets the +.IR case , +.IR margins , +.IR spacing , +and +.IR "justify/fill modes" . +. +It also clears any +.I subtitles +and sets the +.I chapter name +as the +.IR title . +. +. +.TP +.FONT CB ".NUMBER CHAPTER " I " n" +supplies a number +.I n +to be used in a subsequent +.FONT CB .CHAPTER +command. +. +.FONT CB ".NUMBER CHAPTER" +would be used when a +.I chapter +of a document occupies a source file of its own. +. +In such a case, +.FONT CB ".NUMBER CHAPTER" +would be the first command of the source file. +. +. +.TP +.FONT CB ".HEADER LEVEL" I " n text" +.TQ +.FONT CB .HL I " n text" +starts a section at the level specified and takes the following text +as the header. +. +.I n +can range from +.FONT CB 1 +to +.FONT CB 5 R . +. +The sections are incremented by +.FONT CB 1 +automatically, and the number is output in the form +.FONT I i CB . I j CB . I k CB . I l CB . I m R . +If this is a chapter oriented document, the +.I i +is the chapter number. +. +Otherwise, it is the number of the +.FONT CB ".HL 1" +level. +. +This command acts as a +. +.P +.EX +.FONT CB ".BREAK;.TEST PAGE 9;.BLANK 3" +.EE +. +.P +followed by the +.IR "section number" , +two +.IR spaces , +and the +.IR "section name" . +. +.FONT CI "HEADER LEVELS " CB 1 +and +.FONT CB 2 +end with a +.IR break . +.FONT CI "HEADER LEVELS" +.FONT CB 3 R ", " CB 4 R , +and +.FONT CB 5 +end with a space\-dash\-space combination (#\-#). +. +. +.TP +.FONT CB .TITLE I " text" +.TQ +.FONT CB .T I " text" +takes the remaining text as the title and outputs it on every page at +line +.FONT CB 0 R . +. +The default is no title. +. +If a +.I title +is desired, this +.I command +must be entered in the source file. +. +. +.TP +.FONT CB ".FIRST TITLE" I " text" +.TQ +.FONT CB ".FT" I " text" +Same as +.FONT CB .TITLE R , +but used to specify the title to be printed on the first page of the +document. +. +This command must precede all text in the source file. +. +Use of the +.FONT CB ".FIRST TITLE" +command is the only way to print a title line on the first page of the +document. +. +. +.TP +.FONT CB .SUBTITLE I " text" +.TQ +.FONT CB .SUBTTL I " text" +.TQ +.FONT CB .ST I " text" +takes the remaining text as the +.I subtitle +and outputs it on every page. +. +It appears directly under the title. +. +The +.I subtitle +is not +.IR indented , +but +.I indentation +can be achieved by typing leading spaces. +. +. +.TP +.FONT CB .INDEX I " text" +.TQ +.FONT CB .X I " text" +takes the remaining text on the line as a keyword and adds it, along +with the current +.IR "page number" , +to the internal index buffer. +. +The command does not cause a +.IR break . +. +It should appear immediately before the item to be +.IR indexed . +. +A keyword may be +.I indexed +more than once. +. +. +.TP +.FONT CB ".DO INDEX" I " text" +.TQ +.FONT CB ".DX" I " text" +forces a new page, centers the text, if given, otherwise it centers +the word +.FONT CI "INDEX" R . +. +This command prints the entire contents of the index buffer. +. +Entries are printed in alphabetic order and are set against the left +margin. +. +Regular line spacing is used, except that a blank line is left between +entries of different first letters. +. +The page number of each entry is placed on the same line as the entry +and in the middle of the page. +. +Additional page numbers for multiple entries follow, separated by +commas. +. +The index buffer is left empty. +. +. +.TP +.FONT CB ".PRINT INDEX" +.TQ +.FONT CB ".PX" +forces a new page after which it prints the entire contents of the +index buffer. +. +Entries are printed in alphabetical order and are set against the left +margin. +. +Regular line spacing is used, except that a blank line is left between +entries of different first letters. +. +The number of the first page on which each entry appeared is put on +the same line as the entry, beginning at the middle of the line +(midway betweeen the left and right margins). +. +Additional page numbers for multiple entries follow, separated by +commas. +. +The index buffer is left empty. +. +. +.P +.FONT CB ".PRINT INDEX" +and +.FONT CB ".DO INDEX" +perform the same task. +. +The only difference is that +.FONT CB ".PRINT INDEX" +does not interrupt the normal chapter and page sequencing. +. +. +.TP +.FONT CB .SUBPAGE +executes a +.FONT CB .PAGE +with page numbering suspended. +. +The page number is unchanged, but letters are appended to the page +number. +. +This permits insertion of additional pages within an existing document +without changing the existing page numbering. +. +. +.TP +.FONT CB ".END SUBPAGE" +disengages the +.FONT CB .SUBPAGE +command by executing a +.FONT CB .PAGE +command with page numbering resumed. +. +. +.TP +.FONT CB .APPENDIX I " text" +.TP +.FONT CB .AX I " text" +starts a new appendix using the text as the title of the appendix. +. +This command acts as if the following command string were entered: +. +.RS +.P +.EX +.nop ".BREAK;.PAGE;.BLANK 12;.CENTER;APPENDIX a" +.EE +.RE +.P +The a is a letter that is incremented alphabetically automatically. +. +After the +.FONT CB "APPENDIX A" +is typed on the page, +. +.RS +.P +.EX +.nop .BLANK 2;.CENTER;text;.BLANK 3 +.EE +.RE +. +.P +occurs. +. +This command then resets the +.IR case , +.IR margins , +.IR spacing , +and +.IR justify/fill +modes. +. +It also clears any subtitles and sets the appendix name as the title. +. +. +.TP +.FONT CB ".NUMBER APPENDIX" I " a" +supplies a letter +.I a +to be used as the letter for a subsequent +.FONT CB .APPENDIX +command. +. +. +.TP +.FONT CB .HEADER I " arg" +.TQ +.FONT CB .HD I " arg" +causes the page header +.RI ( title , +.IR subtitle , +and +.IR "page number" ) +to be printed. +. +.I arg should be +.FONT CB UPPER +to specify +.I upper case characters +for the title text, +.FONT CB LOWER +to specify +.IR "lower case" , +or +.FONT CB MIXED R . +. +The initial setting is +.FONT CB ".HEADER UPPER" R . +. +. +.TP +.FONT CB .NOHEADER +.TP +.FONT CB .NHD +causes the page header +.RI ( title , +.IR subtitle , +and +.IR "page number" ) +to be omitted. +. +The header lines are completely omitted, so that text begins at the +top of the page with no +.IR "top margin" . +. +. +.\" -------------------------------------------------------------------- +.SS Mode Setting Commands +.\" -------------------------------------------------------------------- +. +.TP +.FONT CB .JUSTIFY +.TQ +.FONT CB .J +causes a break and sets subsequent output lines to be justified +(initial setting). +. +The +.I command +increases the spaces between words until the last word exactly meets +the right margin. +. +. +.TP +.FONT CB .NOJUSTIFY +.TQ +.FONT CB .NJ +causes a +.I break +and prevents +.I justification +of subsequent output lines to make a ragged right margin. +. +. +.TP +.FONT CB .FILL +.TQ +.FONT CB .F +causes a break and specifies that subsequent output lines be filled +(inital setting). +. +Sets the justification mode to be that specified by the last +appearance of +.FONT CB .JUSTIFY +or +.FONT CB .NOJUSTIFY R . +. +.FONT CB .FILL +adds successive words from the source text until the adding of one +more word will exceed the right margin. +. +It stops before putting the last word in. +. +(If +.I hyphenation +has not been disabled, +.FONT CB RNO +will attempt to +.I break +words which cause line overflow into syllables.) +. +. +.TP +.FONT CB .NOFILL +.TP +.FONT CB .NF +disengages the +.I fill +and +.IR "justify modes" . +. +This +.I command +is used to permit typing a table. +. +. +.RS +. +. +.P +.ce +NOTE +. +.P +1. The +.I nofill\-nojustify mode +need be used only where there are several lines of material to be +copied exactly. +. +A single line example will not require using these commands if there +are breaks before and after. +. +. +.P +2. Normally +.FONT CB .FILL +and +.FONT CB .NOFILL +are used to turn both +.I filling +and +.I justification +on and off. +. +It is usually desirable to do both. +. +A subsequent appearance of a +.I justification command +will override the +.I fill command +however. +. +. +.P +3. Because of the action of +.FONT CB .FILL R , +a single occurrance of +.FONT CB .NOJUSTIFY +will cause the remainder of the file to be +.IR unjustified , +with +.I filling +as specified. +. +In order to +.I justify +but +.I not fill +(not recommended), a +.FONT CB .JUSTIFY +command must follow every +.FONT CB .NOFILL +command. +. +. +.RE +. +. +.TP +.FONT CB ".UPPER CASE" +.TQ +.FONT CB .UC +sets the output mode to +.IR "upper case" . +. +This comand acts the same as typing two +.CI circumflexes +.FONT CB ^^ R . +. +This is the default mode. +. +There is no need to type this command unless the mode was previously +altered to +.IR "lower case" . +. +. +.TP +.FONT CB ".LOWER CASE" +.TQ +.FONT CB .LC +sets the typeout mode to +.IR "lower case" . +This command acts the same as typing two +.I back\-slashes +.FONT CB \[rs]\[rs] R . +. +. +.TP +.FONT CB ".FLAGS CAPITALIZE" +.TQ +.FONT CB ".FL CAPITALIZE" +enables the +.CI less\-than +.FONT CB < +character to +.I capitalize +the entire word it precedes. +. +It then returns the file to the current case mode. +. +This +.I special character +is usually +.FONT CR off +and must be typed at the very beginning of the source text to enable +this character. +. +Typing a space or another +.FONT CI "less\-than " CB < +returns the file to the current +.IR "case lock" . +. +. +.TP +.FONT CB ".NO FLAGS CAPITALIZE" +.TQ +.FONT CB .NFC +disengages the +.FONT CB "FLAG CAPITALIZE" +command (inital setting). +. +. +.TP +.FONT CB .HYPHENATION +.TQ +.FONT CB .HY +engages +.I hyphenization +(initial setting). +. +. +.TP +.FONT CB ".NO HYPHENATION" +.TQ +.FONT CB .NHY +disengages +IR hyphenization . +. +. +.TP +.FONT CB ".FLAGS HYPHENATE" +.TQ +.FONT CB ".FL HYPHENATE" +enables the +.I equals character +.FONT CB = +to disengage +.I hyphenization +for the word it precedes. +. +This +.I special character +is initially +.FONT CR off +and must be typed at the beginning of the source file to enable this +character. +. +The +.FONT CI "FLAGS HYPHENATE" +.I character +is used to disengage +.I hyphenization +for words improperly +.I hyphenated +by the +.IR "hyphenization algorithm" . +. +. +.TP +.FONT CB ".NO FLAGS HYPHENATE" +.TQ +.FONT CB .NFH +disengages the +.FONT CB ".FLAGS HYPHENATE" +command (initial setting). +. +. +.TP +.FONT CB .NFL +disengages the +.FONT CB ".FLAGS CAPITALIZE" +and the +.FONT CB ".FLAGS HYPHENATE" +commands (initial setting). +. +. +.TP +.FONT CB .PERIOD +.TQ +.FONT CB .PR +enables printing of two +.I spaces +after every +.I period +.FONT CB . +that is followed by at least one +.I separator character +(initial setting). +. +. +.TP +.FONT CB .NOPERIOD +.TQ +.FONT CB .NPR +disengages conversion of +.I period/separator +to +.IR "period/two spaces" . +. +. +.TP +.FONT CB .LITERAL +.TQ +,FONT CB .LIT +disengages +.I fill/justify +to permit printing of text exactly as entered in source file. +. +. +.TP +.FONT CB ".END LITERAL" +.TQ +.FONT CB .ELI +used after +.FONT CB .LITERAL +command to re\-engage +.IR fill/justify . +. +. +.\" -------------------------------------------------------------------- +.SS Parameter Setting Commands +.\" -------------------------------------------------------------------- +. +.TP +.FONT CB ".LEFT MARGIN" I " n" +.TQ +.FONT CB .LM I " n" +sets the left margin to +.IR n . +. +The +.I n +must be less than the right margin but not less than +.FONT CB 0 R . +The initial setting is +.FONT CB 0 R . +If +.I n +is not supplied, +.FONT CB 0 +is used. +. +. +.TP +.FONT CB ".RIGHT MARGIN" I " n" +.TQ +.FONT CB .RM I " n" +sets the right margin +.IR n . +The +.I n +must be greater than the left margin. +. +The initial setting is +.FONT CB 60 R . +. +If +.I n +is not supplied, the current page width (set with the +.FONT CB ".PAGE SIZE" +command) is used. +. +. +.TP +.FONT CB ".PAPER SIZE" I " n" CB , I m +.TP +.FONT CB ".PAGE SIZE" I " n" CB , I m +.TP +.FONT CB ".PS" I " n" CB , I m +sets the size of the page +.I n +lines by +.I m +columns and sets the right margin to +.IR m . +The default setting is +.FONT CB 58,60 R . +. +. +.TP +.FONT CB .PITCH I " n" CB , I m +.TQ +.FONT CB .PIT I " n" CB , I m +sets the horizontal and vertical pitch on a supporting output device. +. +The horizontal pitch is +.I n +and is specified as characters per inch. +. +The value must divide evenly into +.FONT CB 60 +for +.FONT CI "Anderson\-Jacobson devices" +and into +.FONT CB 120 +for +.FONT CI "Diablo devices" R . +. +The default is +.FONT CB 12 R . +. +. +.P +The vertical pitch is +.I m +and is specified as lines per inch. +. +.I m +must divide evenly into +.FONT CB 48 R . +. +The default is the hardware setting. +. +.I n +and +.I m +may be set independently. +. +. +.TP +.FONT CB .SPACING I " n" +.TQ +.FONT CB .SP I " n" +sets the number of spaces between lines. +. +The +.I n +can range from +.FONT CB 1 +to +.FONT CB 5 R . +. +The default setting is +.FONT CB 1 R . +. +.FONT CB ".SPACING 1" +is like +.I single spacing +on a typewriter and +.FONT CB ".SPACING 2" +is like +.IR "double spacing" . +.FONT CB ".SPACING 2" +puts one +.I blank line +between lines of text. +. +. +.TP +.FONT CB .STANDARD I " n" +.TQ +.FONT CB .SD I " n" +returns all parameters, except the pitch settings, to their initial +settings and sets +.I n +as the page width. +. +If +.FONT CB ".STANDARD 60" +is specified, margins are reset +.FONT CB ".LM 0" R , +.FONT CB ".RM 60" R , +.FONT CB ".PAGE SIZE 58,60" R , +.FONT CB ".SPACING 1" R , +.FONT CB "PARAGRAPH INDENT 5" R , +and +.I fill +and +.I justify +are enabled. +. +.FONT CB ".STANDARD 70" +sets right margin to +.FONT CB 70 +and +.I page size +to +.FONT CB 58,70 R . +. +. +.TP +.FONT CB ".TAB STOPS" I " n" CB , I n CB , I \*[Ellipsis] +.TQ +.FONT CB ".TS" I " n" CB , I n CB , I \*[Ellipsis] +sets tabs. +. +The +.I n +must be greater than +.FONT CB 0 +and listed in ascending order. +. +If tabs already exist, the issuing of another +.FONT CB ".TAB STOPS" +command clears all previous +.I tabs +before setting new ones. +. +The +.I default tabs +are set at eight\-column intervals to match the +.FONT CR Digital +hardware standard. +. +These +.I tabs +are at columns +.FONT CB 8 R , +.FONT CB 16 R , +.FONT CB 24 R , +.FONT CB 32 R , +.FONT CB 40 R , +.FONT CB 48 R , +.FONT CB 56 R , +.FONT CB 64 R , +.FONT CB 72 R , +and +.FONT CB 80 R . +. +The tabs are converted to the appropriate number of non\-expandable +spaces. +. +If there are no regular spaces to the left of the +.IR tabs , +they will print out at the appropriate position, even if +.I fill +is on. +. +If +.I literal +is on, the +.I tabs +are not converted to +.IR spaces , +but are output as +.IR tabs . +. +. +.TP +.FONT CB .AUTOPARAGRAPH +.TQ +.FONT CB .AP +causes any +.I blank line +or any line starting with a +.I space +or +.I tab +to be considered as the start of a new paragraph. +. +This command allows normally typed text to be +.I justified +without special commands. +. +It does not cause a paragraph if +.I blank lines +are followed by a command. +. +. +.TP +.FONT CB .NOAUTOPARAGRAPH +.TQ +.FONT CB .NAP +disengages the +.FONT CI AUTOPARAGRAPH +mode. +. +. +.\" -------------------------------------------------------------------- +.SS List of Commands (Alphabetical) +.\" -------------------------------------------------------------------- +. +.if t \{ +.ig endTBL +.\} +. +.\" -------------------------------------------------------------------- +.\" Table using tbl for running in tty +.\" -------------------------------------------------------------------- +. +.nf +.nh +. +.TS +center,allbox,tab(@); +cIw(1.5i) sw(1.5i) cIw(1.5i). +Command or Abbreviation@Related Commands += +. +.T& +l l l. +\f[CB].AP\f[R]@(=\f[CB].AUTOPARAGRAPH\f[R])@ +\f[CB].APPENDIX\f[I] text \f[R]@(=\f[CB].AX\f[R])@\f[CB].NUMBER APPENDIX\f[I] a +\f[CB].AX\f[R]@(=\f[CB].APPENDIX\f[R])@ +\f[CB].AUTOPARAGRAPH \f[R]@(=\f[CB].AP\f[R])@T{ +\f[CB].NOAUTOPARAGRAPH +.br +\f[R](\f[CB].NAP\f[R]) +T} +_ +\f[CB].B\f[R]@(=\f[CB].BLANK\f[R])@ +\f[CB].BLANK \f[I]n \f[R]@(=\f[CB].B\f[R])@T{ +7\f[CB].SKIP \f[I]n +.br +\f[R](\f[CB].S\f[R]) +T} +\f[CB].BR\f[R]@(=\f[CB].BREAK\f[R])@ +\f[CB].BREAK@\f[R](=\f[CB].BR\f[R]) +_ +\f[CB].C\f[R]@(=\f[CB].CENTRE\f[R])@ +\f[CB].CENTER\f[R]@(=\f[CB].CENTRE\f[R])@ +\f[CB].CENTRE \f[I]n\f[CB];\f[I]text \f[R]@(=\f[CB].C\f[R])@ +\f[CB].CH\f[R]@(=\f[CB].CHAPTER\f[R])@ +\f[CB].CHAPTER \f[I]text \f[R]@(=\f[CB].CH\f[R])@\f[CB].NUMBER CHAPTER \f[I]n +\f[CB].COMMENT \f[I]text\f[R]@@ +_ +\f[CB].DO INDEX \f[I]text \f[R]@(=\f[CB].DX\f[R])@T{ +. +\f[CB].PRINT INDEX +.br +\f[R](\f[CB].PX\f[R]) +T} +. +\f[CB].DX\f[R]@(=\f[CB].DO INDEX\f[R])@ +_ +\f[CB].ELS\f[R]@(=\f[CB].END LIST\f[R])@ +\f[CB].EN\f[R]@(=\f[CB].END NOTE\f[R])@ +. +\f[CB].END LIST\f[R]@(=\f[CB].ELS\f[R])@T{ +\f[CB].LIST \f[I]n +.br +\f[R](\f[CB].LS\f[R]) +T} +. +\f[CB].END LITERAL \f[R]@(=\f[CB].ELI\f[R])@T{ +\f[CB].LITERAL +.br +\f[R](\f[CB].LIT\f[R]) +T} +. +\f[CB].END NOTE\f[R]@(=\f[CB].EN\f[R])@T{ +\f[CB].NOTE \f[I]text +.br +\f[R](\f[CB].NT\f[R]) +T} +. +\f[CB].END SUBPAGE\f[R]@@\f[CB].SUBPAGE +_ +\f[CB].F\f[R]@(=\f[CB].FILL\f[R])@ +\f[CB].FG\f[R]@(=\f[CB].FIGURE\f[R])@ +\f[CB].FIGURE n \f[R]@(=\f[CB].FG\f[R])@ +. +\f[CB].FILL \f[R]@(=\f[CB].F\f[R])@T{ +\f[CB].NOFILL +.br +\f[R](\f[CB].NF\f[R]) +T} +. +\f[CB].FIRST TITLE \f[I]text\f[R]@(=\f[CB].FT\f[R])@\f[CB].TITLE \f[I]text +. +\f[CB].FLAGS CAPITALIZE\f[R]@(=\f[CB].FL CAPITALIZE\f[R])@T{ +\f[CB].NO FLAGS CAPITALIZE +.br +\f[R](\f[CB].NFL\f[R]) +T} +. +\f[CB].FLAGS HYPHENATE \f[R]@(=\f[CB].FL HYPHENATE\f[R])@T{ +\f[CB].NO FLAGS HYPHENATE +.br +\f[R](\f[CB].NFH\f[R]) +T} +. +\f[CB].FN\f[R]@(=\f[CB].FOOTNOTE\f[R])@ +\f[CB].FOOTNOTE \f[I]n\f[R]@(=\f[CB].FN\f[R])@ +\f[CB].FT\f[R]@(=\f[CB].FIRST TITLE\f[R])@ +_ +\f[CB].HD\f[R]@(=\f[CB].HEADER\f[R])@ +. +T{ +\f[CB].HEADER \f[I]arg\f[R] +.br +\f[R] [\f[I]arg\f[R]=\f[CB]UPPER\f[R], \f[CB]LOWER\f[R], or \f[CB]MIXED]\f[R] +T}@(=\f[CB].HD\f[R])@T{ +\f[CB].NOHEADER +.br +\f[R](\f[CB].NHD\f[R]) +T} +. +\f[CB].HEADER LEVEL \f[I]n text\f[R]@(=\f[CB].HL\f[R])@ +\f[CB].HL\f[R]@(=\f[CB].HEADER LEVEL\f[R])@ +\f[CB].HY\f[R]@(=\f[CB].HYPHENATION\f[R])@ +. +\f[CB].HYPHENATION \f[R]@(=\f[CB].HY\f[R])@T{ +\f[CB].NO HYPHENATION +.br +\f[R](\f[CB].NHY\f[R]) +T} +. +_ +\f[CB].I\f[R]@(=\f[CB].INDENT\f[R])@ +\f[CB].INDENT \f[I]n\f[R]@(=\f[CB].I\f[R])@ +\f[CB].INDEX \f[I]text \f[R]@(=\f[CB].X\f[R])@ +_ +\f[CB].J\f[R]@(=\f[CB].JUSTIFY\f[R])@ +. +\f[CB].JUSTIFY \f[R](\f[CB].J\f[R])@@T{ +\f[CB].NOJUSTIFY +.br +\f[R](\f[CB].NJ\f[R]) +T} +. +_ +\f[CB].LC\f[R]@(=\f[CB].LOWER CASE\f[R])@ +\f[CB].LE\f[R]@(=\f[CB].LIST ELEMENT\f[R])@ +. +\f[CB].LEFT MARGIN \f[I]n\f[R]@(=\f[CB].LM\f[R])@T{ +\f[CB].RIGHT MARGIN \f[I]n +.br +\f[R](\f[CB].RM\f[R]) +T} +. +\f[CB].LIST \f[I]n\f[R]@(=\f[CB].LS\f[R])@T{ +\f[CB].END LIST +.br +\f[R](\f[CB].ELS\f[R]) +T} +. +\f[CB].LIST ELEMENT;\f[I]text\f[R]@(=\f[CB].LE\f[R])@T{ +\f[CB].END LIST +.br +\f[R](\f[CB].ELS\f[R]) +T} +. +\f[CB].LIT\f[R]@(=\f[CB].LITERAL\f[R])@ +. +\f[CB].LITERAL\f[R]@(=\f[CB].LIT\f[R])@T{ +\f[CB].END LITERAL +.br +\f[R](\f[CB].ELI\f[R]) +T} +. +\f[CB].LM\f[R]@(=\f[CB].LEFT MARGIN\f[R])@ +. +\f[CB].LOWER CASE\f[R]@(=\f[CB].LC\f[R])@T{ +\f[CB].UPPER CASE +.br +\f[R](\f[CB].UC\f[R]) +T} +. +\f[CB].LS\f[R]@(=\f[CB].LIST\f[R])@ +_ +\f[CB].NAP\f[R]@(=\f[CB].NOAUTOPARAGRAPH\f[R])@ +\f[CB].NF\f[R]@(=\f[CB].NOFILL\f[R])@ +\f[CB].NFC\f[R]@(=\f[CB].NO FLAGS CAPITALIZE\f[R])@ +\f[CB].NFH\f[R]@(=\f[CB].NO FLAGS HYPHENATE\f[R])@ +. +\f[CB].NFL\f[R]@T{ +(=\f[CB].NO FLAGS CAPITALIZE +.br +.ce +\f[R] and +.br +\f[CB].NO FLAGS HYPHENATE\f[R]) +T}@ +. +\f[CB].NHD\f[R]@(=\f[CB].NO HEADER\f[R])@ +\f[CB].NHY\f[R]@(=\f[CB].NO HYPHENATION\f[R])@ +\f[CB].NJ\f[R]@(=\f[CB].NO JUSTIFY\f[R])@ +\f[CB].NM\f[R]@(=\f[CB].NUMBER\f[R])@ +\f[CB].NNM\f[R]@(=\f[CB].NO NUMBER\f[R])@ +. +\f[CB].NOAUTOPARAGRAPH\f[R]@(=\f[CB].NAP\f[R])@T{ +\f[CB].AUTOPARAGRAPH \f[R](\f[CB].AP\f[R]) +.br +\f[CB]\ .PARAGRAPH \f[I]n,v,t \f[R](\f[CB].P\f[R]) +T} +. +\f[CB].NOFILL\f[R]@=(\f[CB].NF\f[R])@T{ +\f[CB].FILL +.br +\f[R](\f[CB].F\f[R]) +T} +. +\f[CB].NO FLAGS CAPITALIZE\f[R]@(=\f[CB].NFL\f[R])@T{ +\f[CB].FLAGS CAPITALIZE +.br +\f[R](\f[CB].FL CAPITALIZE\f[R]) +T} +. +\f[CB].NO FLAGS HYPHENATE\f[R]@(=\f[CB].NFH\f[R])@T{ +\f[CB].FLAGS HYPHENATE +.br +\f[R](\f[CB].FL HYPHENATE\f[R]) +T} +. +\f[CB].NOHEADER\f[R]@(=\f[CB].NHD\f[R])@T{ +\f[CB].HEADER \f[I]arg +.br +\f[R](\f[CB].HD\f[R]) +T} +. +\f[CB].NO HYPHENATION \f[R]@(=\f[CB].NHY\f[R])@T{ +\f[CB].HYPHENATION +.br +\f[R](\f[CB].HY\f[R]) +T} +. +\f[CB].NOJUSTIFY \f[R]@(=\f[CB].NJ\f[R])@T{ +\f[CB].JUSTIFY +.br +\f[R](\f[CB].J\f[R]) +T} +. +\f[CB].NONUMBER \f[R]@(=\f[CB].NNM\f[R])@T{ +\f[CB].NUMBER \f[I]n +.br +\f[R](\f[CB].NM\f[R]) +T} +. +\f[CB].NOPERIOD \f[R]@(=\f[CB].NPR\f[R])@T{ +\f[CB].PERIOD +.br +\f[R](\f[CB].PR\f[R]) +T} +. +\f[CB].NOTE text \f[R]@(=\f[CB].NT\f[R])@T{ +\f[CB].END NOTE +.br +\f[R](\f[CB].EN\f[R]) +T} +. +\f[CB].NPR\f[R]@(=\f[CB].NO PERIOD\f[R])@ +\f[CB].NT\f[R]@(=\f[CB].NOTE\f[R])@ +\f[CB].NUMBER APPENDIX \f[I]a\f[R]@@\f[CB].APPENDIX text +\f[CB].NUMBER CHAPTER \f[I]n\f[R]@@\f[CB].CHAPTER text +_ +\f[CB].P\f[R]@(=\f[CB].PARAGRAPH\f[R])@ +\f[CB].PAGE\f[R]@(=\f[CB].PG\f[R])@ +\f[CB].PAGE SIZE\f[R]@(=\f[CB].PAPER SIZE\f[R])@ +. +\f[CB].PAPER SIZE \f[I]v\f[CB],\f[I]h\f[R]@T{ +(=\f[CB].PS\f[R] +.br +\f[CB].PAGE SIZE\f[R]) +T}@ +. +\f[CB].PARAGRAPH \f[I]h\f[CB],\f[I]v\f[CB],\f[I]t \f[R]@(=\f[CB].P\f[R])@ +\f[CB].SKIP \f[I]n\f[R]@(=\f[CB].S\f[R])@\f[CB].BLANK \f[I]n \f[R](\f[CB].B\f[R]) +\f[CB].SP\f[R]@(=\f[CB].SPACING\f[R])@ +\f[CB].SPACING \f[I]n \f[R]@(=\f[CB].SP\f[R])@ +. +\f[CB].PERIOD\f[R]@(=\f[CB].PR\f[R])@T{ +\f[CB].NOPERIOD +.br +\f[R](\f[CB].NPR\f[R]) +T} +. +\f[CB].PG\f[R]@(=\f[CB].PAGE\f[R])@ +\f[CB].PITCH\f[R]@(=\f[CB].PIT\f[R])@ + +.\f[CB].PRINT INDEX \f[R]@(=\f[CB].PX\f[R])@T{ +\f[CB].DO INDEX text +.br +\f[R](\f[CB].DX\f[R]) +T} +. +\f[CB].PS\f[R]@(=\f[CB].PAPER SIZE\f[R])@ +\f[CB].PX\f[R]@(=\f[CB].PRINT INDEX\f[R])@ +_ +\f[CB].RIGHT MARGIN \f[I]n \f[R]@(=\f[CB].RM\f[R])@ +\f[CB].RM\f[R]@(=\f[CB].RIGHT MARGIN\f[R])@ +_ +\f[CB].S\f[R]@(=\f[CB].SKIP\f[R])@ +\f[CB].SD\f[R]@(=\f[CB].STANDARD\f[R])@ +\f[CB].ST\f[R]@(=\f[CB].SUBTITLE\f[R])@ +\f[CB].SUBPAGE\f[R]@@\f[CB].END SUBPAGE +\f[CB].SUBTITLE \f[I]text \f[R]@(=\f[CB].ST\f[R])@ +_ +\f[CB].T\f[R]@(=\f[CB].TITLE\f[R])@ +\f[CB].TAB STOPS \f[I]n,n, \*[Ellipsis] ,n \f[R]@(=\f[CB].TS\f[R])@ +\f[CB].TEST PAGE \f[I]n \f[R]@(=\f[CB].TP\f[R])@ +\f[CB].TITLE text\f[R]@(=\f[CB].T\f[R])@ +\f[CB].TP\f[R]@(=\f[CB].TEST PAGE\f[R])@ +\f[CB].TS\f[R]@(=\f[CB].TAB STOPS\f[R])@ +_ +\f[CB].UC\f[R]@(=\f[CB].UPPER CASE\f[R])@ +. +\f[CB].UPPER CASE\f[R]@(=\f[CB].UC\f[R])@T{ +\f[CB].LOWER CASE +.br +\f[R](\f[CB].LC\f[R]) +T} +. +_ +\f[CB].X\f[R]@(=\f[CB].INDEX\f[R])@ +. +.TE +. +.hy +.fi +. +. +.\" End of tbl ---------------------------------------------------------------- +. +. +.if t \{ +. endTBL +.\} +. +. +.\" use groff_hdtbl +.if t \{ +. mso hdtbl.tmac +. TableHDTBL +.\} +. +. +.\" -------------------------------------------------------------------- +.SH EXPERIMENTAL ADDITIONS 1965 +.\" -------------------------------------------------------------------- +. +. +These +.I "control words" +are documented in +.FONT CI Saltzer R 's +documentation of 1965. +. +It is unsure whether they were really implemented. +. +. +.P +In this documentation, all +.I control words +are written in +.IR "lower case" . +. +The writing in +.I upper case +is not mentioned, the same is true for +.IR abbreviations . +. +So this documentation uses only +.IR "lower case" . +. +. +.TP +.FONT CB .FIGURE +This +.I control word +turns control over to a +.I figure +.IR processor , +which creates in +.I core memory +a representation of a +.I flow diagram +under the control of a few special +.IR "control words" . +When the +.I control word +.FONT CB ".END FIGURE" +is encountered, the completed picture is printed immediately on the +page being generated if there is room on that page; otherwise the +.I figure +will appear at the top of the next page. +. +. +.RS +. +. +.P +Text following the +.FONT CB ".END FIGURE" +.I control word +will be smoothly attached to text before the +.FONT CB .FIGURE R . +. +No break is generated. +. +(Restriction: If a +.I figure +is being held for placement at the top of the next page, another +.I figure +may not be encountered before the first one is printed.) +. +. +.P +The only +.I control words +which are recognized when in the +.I \%figure processor +are the following three: +.FONT CB .FRAME R , +.FONT CB .BOX R , +and +.FONT CB ".END FIGURE" R . +. +. +.RE +. +. +.TP +.FONT CB .FRAME I " m n" +This +.I control word +intitalizes the +.I figure processor +by giving the height and width of the figure to be produced. +. +.I m +is +the height, in lines; and +.I n +is the width, in characters. +. +(Note that a 1050 types 6 lines per inch, and 10 characters per inch.) +. +. +.RS +. +. +.P +Any attempt to place items in the picture which extend beyond the +boundaries will cause an error comment to be generated. +. +.I \%m +and +.I \%n +must both be less than 100 and their product must be smaller than +5400. +. +We may now think of the +.I figure +to be produced as an array of +.I m +times +.I n +elements. +. +. +.RE +. +. +.TP +.FONT CB .BOX I " i j" +The text on the lines following this +.I control word +will be placed in the +.I figure +such that the first character on the first line following the +.FONT CB .BOX +will appear in row +.IR i , +character position +-IR j . +. +The end of the text is indicated by a +.FONT CB .BOX +.I control word +for another piece of text or the +.FONT CB ".END FIGURE" +.I control +.IR word . +. +Temporarily, the text should not include underlined or overtyped +characters. +. +. +.TP +.FONT CB ".END FIGURE" +This +.I control word +causes control to return to the regular +.I control processor +of the +.FONT CB .RUNOFF +command, for the decision to print the picture. +. +Note that another +.FONT CB .FIGURE +.I control word +may not appear until after this +.I figure +has been printed. +. +. +.RS +.P +One further +.I control word +has been added which is intended to facilitate bringing out revised +editions of a memorandum. +. +. +.RE +. +. +.TP +.FONT CB .FLAG +The next line to be printed after this +.I control word +is encountered will have an asterisk placed two spaces to the right of +the right margin, as illustrated. +. +. +.TP +.FONT CB .DEFINE I " symbol" +. +This +.I control word +defines the value of the symbol +.I symbol +to be the number of the page currently being printed. +. +The symbol may be used later with the +.FONT CB .USE +.I control word +to cause printing of the page number in text. +. +The characters in the symbol must be mappable into the six\-bit +character set, and all symbols must be six of fewer characters. +. +. +.TP +.FONT CB .USE I " symbol" +The value of the symbol +.I symbol +is inserted into the text with a single blank preceding and no blank +following. +. +If the symbol has not been previously defined, its value is +.FONT CB 0 R . +Text may continue following a blank typed after the symbol. +. +. +.RS +. +. +.P +Here is an example of the use of these +.I control +.IR words . +. +. +.RS +. +. +.P +In one area of text: +. +. +.RS +. +. +.P +We now discuss the operation of the typewriter +.FONT CB ".DEFINE REF1" +coordinator module, which \*[Ellipsis] +. +. +.RE +. +. +.P +In a later area of text: +. +. +.RS +. +. +.P +As we saw in the discussion of the typewriter coordinator on page +.FONT CB ".USE REF1" R , +the rest of \*[Ellipsis] +. +. +.RE +. +. +.P +if the first area of text were on page 14, the later line would read: +. +. +.RS +. +. +.P +As we saw in the discussion of the typewriter coordinator on page 14, +the rest of \*[Ellipsis] +. +. +.RE +.RE +.RE +- +. +.\" -------------------------------------------------------------------- +.SS Further Study of Experimental Additions +.\" -------------------------------------------------------------------- +. +A number of suggestions have been made for extending the +.I control word +language of +.FONT CI RUNOFF R , +and its capabilities. +. +These are listed here, primarily to elicit comment and discussion, +both on the language which describes these operations and the less +important problem of their implementation. +- +. +.TP +1. +. +Word division. +. +This is a whole are of study in itself. +. +. +.TP +2. +. +Automatic footnote insertion. +. +This was handled somewhat awkwardly in the +.FONT CB .DITTO +.IR command , +although the basic approach was probably reasonable. +. +. +.TP +3. +. +Automatic page references, perhaps via some symbolic reference scheme. +. +This would enable the page number in "as was described on page 32" to +be inserted by the program. +. +The analogy with an assembly program should be hotly pursued for +ideas. +. +. +.TP +4. +. +Special provision for printing facing pages. +. +This would require alternate running heads, placing page numbers +alternately at right and left, and matching line counts on facing +pages. +. +. +.TP +5. +. +Improved page\-division rules, to prevent the last line of a paragraph +appearing alone at the top of a page, for example. +. +At present, copy must be run off to check by hand that awkward page +divisions have not been made. +. +. +.TP +6. +. +Automatic generation of page numbers for a table of contents. +. +Again, the analogy of an assembly program symbol table appears +fruitful. +. +. +.TP +7. +. +Automatic generations of an index. +. +The problem here is obtaining too many references to a given word, +many irrelevant. +. +. +.TP +8. +. +Arrangement of tabulated data. +. +This problem may have already been partly approached with the +above\-described figure generator, or the facilities already available +in +.IR RUNOFF , +but automatic setup of column widths and positions would be desirable. +. +One could include in this category the ability to call on other +programs to computer numbers to place in tables, although this is +going pretty far afield. +. +. +.TP +9. +. +Placing figures in a +.I "cut" +or +.IR inset . +. +The control language is the most difficult problem here. +. +. +.TP +10. +. +Equation typing and numbering. +. +Again, the control language appears formidable. +. +. +.\" -------------------------------------------------------------------- +.SH "SEE ALSO" +.\" -------------------------------------------------------------------- +. +.PP +.\" BR RUNOFF (@MAN1EXT@), +.BR groff (@MAN1EXT@), +.BR groff (@MAN7EXT@), +.BR roff (@MAN7EXT@), +.BR groff_filenames (@MAN7EXT@) +. +. +.TP +.FONT R "1964 " CR "Jerome H. Saltzer" R : +.nh +.FONT CI "Jerome H. Saltzer \[em] TYPSET and RUNOFF, Memorandum editor and \ +type\-out commands" +.hy +available at +.UR \%http://\:mit.edu/\:Saltzer/\:www/\:publications/\:CC\-244.html +.UE +. +. +.TP +.FONT R "1965 " CR "Jerome H. Saltzer" R : +.nh +.FONT CI "Jerome H. Saltzer \(em Experimental Additions to the RUNOFF Command" +available at +.UR http://\:web.mit.edu/\:afs/\:athena.mit.edu/\:user/\:other/\ +\:a/\:Saltzer/\:www/\:publications/\:PSN\-40.html +.UE +.hy +. +. +.TP +.FONT R "1966 " CR "Jerome H. Saltzer" R : +.nh +.FONT CI "Jerome H. Saltzer \[em] Manuscript Typing and Editing" +.hy +which is available in the internet at +.UR http://\:mit.edu/\:Saltzer/\:www/\:publications/\:AH.9.01.html +.I MIT html +.UE +or +.UR \%http://\:web.mit.edu/\:Saltzer/\:www/\:publications/\:ctss\/\:AH.9.01.html +.I CTSS html +.UE +or +.UR \%http://\:web.mit.edu/\:Saltzer/\:www/\:publications/\:ctss/\:AH.9.01.pdf +.I CTSS pdf +.UE . +. +. +.TP +.FONT R "1973 " CR "Larry Barnes" R : +.FONT CI "Larry Barnes \[em] RUNOFF: A Program for the Preparation of Documents" +available as +.UR http://\:www.textfiles.com/\:bitsavers/\:pdf/\:sds/\:9xx/\:940/\ +\:ucbProjectGenie/\:mcjones/\:R\-37_RUNOFF.pdf +.I pdf +.UE . +. +. +.TP +. +.P +There is still more documentation by the +.FONT CR "DEC PDP\-10 archive" R . +. So far this information is not yet included, but it will be done later on. . @@ -1495,7 +6377,7 @@ language. . .P As the early -.FONT CI CTTS +.FONT CI CTSS computers could only produce upper case characters, the text lines look very strange today. . @@ -1897,7 +6779,7 @@ In the absence of a .FONT CB ".HEADING MODE" .IR "control sequence" , the default option is -.FONT CB OPPOSED R . +.FONT CB .OPPOSED R . . . .RE @@ -3112,6 +7994,189 @@ should be the last line of the input. . . .\" -------------------------------------------------------------------- +.SH RUNOFF DOCUMENTATION 1974 +.\" -------------------------------------------------------------------- +. +This document is the best documentation about text lines. +. +Parts of that is used in the document of 1981. +. +. +.\" -------------------------------------------------------------------- +.SS Command Lines +.\" -------------------------------------------------------------------- +. +All lines beginning with a period (dot) are +.FONT CI RUNOFF +command lines. +. +All other lines are text lines. +. +. +.P +A command line consists of a period, following by a command, which can +consist of one or more words, or a 2- or 3-letter abbreviation, +followed by 0 or 1 or more arguments. +. +This can be followed by a comment, which is preceeded by an +exclamation point (bang character) +.FONT CB ! R . +. +In ancient +.FONT CI RUNOFF R , +The comment didn't need to be preceeded. +. +. +.P +In this document, several command or text lines can be appended into a +multiple line if these parts are separated by a semi-colon +.FONT CB ; R . +. +If 2 commands are appended, the semi-colon may be omitted, because the +period is a sufficient separator. +. +. +.\" -------------------------------------------------------------------- +.SS Text Lines +.\" -------------------------------------------------------------------- +. +.P +There are 2 modes of text line structures: +. +. +.TP +.I ancient style +This is the original style. +. +Due to very old hardware, there were only input methods for upper case +characters. +. +But typewriters and printers were able to use both upper and lower case. +. +So the text lines are all in upper case with special characters that +are case-shifters for the printing. +. +. +.TP +.I newer style +By better hardware, it was possible to use input methods with both +upper and lower case. +. +Here the text lines are like those in later +.FONT CI roff +and +.FONT CI groff +mode. +. +. +.P +This paragraph describes only the +.I ancient style +of text lines. +. +. +.P +This text is filled and justified such as with the later +.FONT CI roff +language. +. +Just as in +.FONT CI roff R , +the filling, justification, and line break can be turned on or off by +commands. +. +. +.\" -------------------------------------------------------------------- +.SS Case Changing of Text Lines +.\" -------------------------------------------------------------------- +. +In this section, the specification of case for files prepared on an +upper case terminal is documented. +. +There are special characters that in printing act as case-shifters for +ASCII characters into lower (ASCII code 97 to 122 decimal) or upper +case (ASCII code 65 to 90 decimal). +. +. +.P +The lower case mode seems to be the default mode. +. +Also, according to existing old +.FONT CI RUNOFF +files, each text line starts with this default mode. +. +. +.TP +.FONT CI "single circumflex " CB ^ +The following ASCII character is shifted into upper case. +. +. +.TP +.FONT CI "single back\-slash " CB \[rs] +The following ASCII character is shifted into lower case. +. +. +.TP +.FONT CI "double circumflex " CB ^^ +The case mode is shifted into upper case. +. +. +.TP +.FONT CI "double back\-slash " CB \[rs]\[rs] +The case mode is shifted into lower case. +. +. +.P +A common example with starting mode in lower case for these 4 special +characters is: +. +.P +.RS +^HERE IS A ^SAMPLE ^SENTENCE IN ^^UPPER CASE\\ AND LOWER CASE. +.RE +. +.P +is printed as: +. +.RS +Here is a Sample Sentence in UPPER CASE and lower case. +.RE +. +. +.\" -------------------------------------------------------------------- +.SS Further special Characters in Text Lines +.\" -------------------------------------------------------------------- +. +.TP +.FONT CI "ampersand " CB & +This is used for underscoring the next following character. +. +For example: +. +.RS +.P +.RS +&s&o&f&t&w&a&r&e +.RE +. +.P +becomes: +.RS +.UL software +.RE +. +.P +in the output or printing. +.RE +. +. +.TP +.FONT CI "circumflex and ampersand " CB ^& +This is used for underscoring all following characters except for +blanks. +. +. +.\" -------------------------------------------------------------------- .SH RUNOFF ADDITIONS 1981 .\" -------------------------------------------------------------------- . @@ -5921,116 +10986,7 @@ mid\-line so that the end of the line is on the right margin. . . .\" -------------------------------------------------------------------- -.SH "SEE ALSO" -.\" -------------------------------------------------------------------- -. -. -.PP -.\" BR RUNOFF (@MAN1EXT@), -.BR groff (@MAN1EXT@), -.BR groff (@MAN7EXT@), -.BR roff (@MAN7EXT@), -.BR groff_filenames (@MAN7EXT@) -. -. -.TP -Jerome H. Saltzer 1964: -.nh -.FONT CI "Jerome H. Saltzer \[em] TYPSET and RUNOFF, Memorandum editor and \ -type\-out commands" -.hy -available at -.UR \%http://\:mit.edu/\:Saltzer/\:www/\:publications/\:CC\-244.html -.UE -. -. -.TP -Jerome H. Saltzer 1965: -.nh -.FONT CI "Jerome H. Saltzer \(em Experimental Additions to the RUNOFF Command" -available at -.UR http://\:web.mit.edu/\:afs/\:athena.mit.edu/\:user/\:other/\ -\:a/\:Saltzer/\:www/\:publications/\:PSN\-40.html -.UE -.hy -. -. -.TP -Jerome H. Saltzer 1966: -.nh -.FONT CI "Jerome H. Saltzer \[em] Manuscript Typing and Editing" -.hy -which is available in the internet at -.UR http://\:mit.edu/\:Saltzer/\:www/\:publications/\:AH.9.01.html -.I MIT html -.UE -or -.UR \%http://\:web.mit.edu/\:Saltzer/\:www/\:publications/\:ctss\/\:AH.9.01.html -.I CTTS html -.UE -or -.UR \%http://\:web.mit.edu/\:Saltzer/\:www/\:publications/\:ctss/\:AH.9.01.pdf -.I CTTS pdf -.UE . -. -. -.TP -Larry Barnes 1973: -.FONT CI "Larry Barnes \[em] RUNOFF: A Program for the Preparation of Documents" -available as -.UR http://\:www.textfiles.com/\:bitsavers/\:pdf/\:sds/\:9xx/\:940/\ -\:ucbProjectGenie/\:mcjones/\:R\-37_RUNOFF.pdf -.I pdf -.UE . -. -. -.TP -.FONT CR PDP\-11 R " 1981:" -This is the latest documentation on -.FONT CI RUNOFF -available as -.UR http://\:malarky.udel.edu/\:~dmills/\:data/\:du0/\:RUNOFF.DOC -text file. -.UE . -. -More exactly, this -.FONT .CB .DOC -file is an output file produced by the -.FONT CB RUNOFF -program a long time ago. -. -This extension doesn't work on actual systems who expect a Microsoft -office file. -. -You have to rename this file by appending the -.FONT CB .txt -extension. -. -Then the file can be viewed by -.FONT CB more -or -.FONT CB less R . -. -. -.P -.nh -.UR http://\:www.cozx.com/\:~dpitts/\:ibm7090.html -Emulator for -.FONT CR "IBM 7090 CTSS" -.UE . -.hy -. -. -.P -The home page of -.FONT CI "Jerome H. Saltzer" -is -.UR http://\:web.mit.edu/\:Saltzer/ -.UE . -. -. -.\" -------------------------------------------------------------------- -.SS Available RUNOFF Text Files +.SH AVAILABLE RUNOFF FILES .\" -------------------------------------------------------------------- . You can still find text files in the @@ -6150,6 +11106,124 @@ documents about .hy . . +.\" -------------------------------------------------------------------- +.SH "SEE ALSO" +.\" -------------------------------------------------------------------- +. +. +.PP +.\" BR RUNOFF (@MAN1EXT@), +.BR groff (@MAN1EXT@), +.BR groff (@MAN7EXT@), +.BR roff (@MAN7EXT@), +.BR groff_filenames (@MAN7EXT@) +. +. +.TP +.FONT R "1964 " CR "Jerome H. Saltzer" R : +.nh +.FONT CI "Jerome H. Saltzer \[em] TYPSET and RUNOFF, Memorandum editor and \ +type\-out commands" +.hy +available at +.UR \%http://\:mit.edu/\:Saltzer/\:www/\:publications/\:CC\-244.html +.UE +. +. +.TP +.FONT R "1965 " CR "Jerome H. Saltzer" R : +.nh +.FONT CI "Jerome H. Saltzer \(em Experimental Additions to the RUNOFF Command" +available at +.UR http://\:web.mit.edu/\:afs/\:athena.mit.edu/\:user/\:other/\ +\:a/\:Saltzer/\:www/\:publications/\:PSN\-40.html +.UE +.hy +. +. +.TP +.FONT R "1966 " CR "Jerome H. Saltzer" R : +.nh +.FONT CI "Jerome H. Saltzer \[em] Manuscript Typing and Editing" +.hy +which is available in the internet at +.UR http://\:mit.edu/\:Saltzer/\:www/\:publications/\:AH.9.01.html +.I MIT html +.UE +or +.UR \%http://\:web.mit.edu/\:Saltzer/\:www/\:publications/\:ctss\/\:AH.9.01.html +.I CTSS html +.UE +or +.UR \%http://\:web.mit.edu/\:Saltzer/\:www/\:publications/\:ctss/\:AH.9.01.pdf +.I CTSS pdf +.UE . +. +. +.TP +.FONT R "1973 " CR "Larry Barnes" R : +.FONT CI "Larry Barnes \[em] RUNOFF: A Program for the Preparation of Documents" +available as +.UR http://\:www.textfiles.com/\:bitsavers/\:pdf/\:sds/\:9xx/\:940/\ +\:ucbProjectGenie/\:mcjones/\:R\-37_RUNOFF.pdf +.I pdf +.UE . +. +. +.TP +.FONT R "1974 " CR "DEC RSTS" R : +.FONT CI "RUNOFF User's Guide" R : CR " v8.0-v4-d-rsts_e_runoff_users_guide.pdf" +at +.UR http://elvira.stacken.kth.se/rstsdoc/rsts-doc-v80/v8.0-v4-d-rsts_e_runoff_users_guide.pdf +.I DEC RSTS +.UE . +. +. +.TP +.FONT R "1981 " CR PDP\-11 R : +This is the latest documentation on +.FONT CI RUNOFF +available as +.UR http://\:malarky.udel.edu/\:~dmills/\:data/\:du0/\:RUNOFF.DOC +text file. +.UE . +. +More exactly, this +.FONT CB .DOC +file is an output file produced by the +.FONT CB RUNOFF +program a long time ago. +. +This extension doesn't work on actual systems who expect a Microsoft +office file. +. +You have to rename this file by appending the +.FONT CB .txt +extension. +. +Then the file can be viewed by +.FONT CB more +or +.FONT CB less R . +. +. +.P +.nh +.UR http://\:www.cozx.com/\:~dpitts/\:ibm7090.html +Emulator for +.FONT CR "IBM 7090 CTSS" +.UE . +.hy +. +. +.P +The home page of +.FONT CI "Jerome H. Saltzer" +is +.UR http://\:web.mit.edu/\:Saltzer/ +.UE . +. +. .SH "AUTHORS" .\" -------------------------------------------------------------------- . diff --git a/contrib/glilypond/ChangeLog b/contrib/glilypond/ChangeLog index 9279cf0b..45eeaf2b 100644 --- a/contrib/glilypond/ChangeLog +++ b/contrib/glilypond/ChangeLog @@ -1,3 +1,9 @@ +2013-05-10 Bernd Warken <groff-bernd.warken-72@web.de> + + * glilypond.pl: Correct position information. Add debug code. + + * args.pl, oop_fh.pl, subs.pl: Correct position information. + 2013-04-25 Bernd Warken <groff-bernd.warken-72@web.de> * Makefile.sub: minor corrections. diff --git a/contrib/glilypond/args.pl b/contrib/glilypond/args.pl index dbfe7562..1a007ba5 100644 --- a/contrib/glilypond/args.pl +++ b/contrib/glilypond/args.pl @@ -5,13 +5,13 @@ my $License = q* groff_lilypond - integrate `lilypond' into `groff' files -Source file position: `<groff-source>/contrib/lilypond/groff_lilypond.pl' -Installed position: `<prefix>/bin/groff_lilypond' +Source file position: `<groff-source>/contrib/glilypond/args.pl' +Installed position: `<prefix>/lib/groff/glilypond' Copyright (C) 2013 Free Software Foundation, Inc. Written by Bernd Warken <groff-bernd.warken-72@web.de> -Last update: 25 Apr 2013 +Last update: 10 May 2013 This file is part of `GNU groff'. @@ -34,9 +34,9 @@ directory of the `groff' source package. If not, see ##### end legalese -use strict; -use warnings; -use diagnostics; +# use strict; +# use warnings; +# use diagnostics; use integer; diff --git a/contrib/glilypond/glilypond.pl b/contrib/glilypond/glilypond.pl index ba46a9a0..a40c8d64 100755 --- a/contrib/glilypond/glilypond.pl +++ b/contrib/glilypond/glilypond.pl @@ -2,10 +2,20 @@ package main; -use strict; -use warnings; -use diagnostics; +######################################################################## +# debugging +######################################################################## + +# See `Mastering Perl', chapter 4. + +# use strict; +# use warnings; +# use diagnostics; +use Carp; +$SIG[__DIE__] = sub { &Carp::croak; }; + +use Data::Dumper; ######################################################################## # Legalese @@ -15,13 +25,13 @@ our $Legalese; { use constant VERSION => 'v1.1'; # version of glilypond - use constant LASTUPDATE => '25 Apr 2013'; # date of last update + use constant LASTUPDATE => '10 May 2013'; # date of last update ### This constant `LICENSE' is the license for this file `GPL' >= 3 use constant LICENSE => q* glilypond - integrate `lilypond' into `groff' files -Source file position: `<groff-source>/contrib/lilypond/glilypond.pl' +Source file position: `<groff-source>/contrib/glilypond/glilypond.pl' Installed position: `<prefix>/bin/glilypond' Copyright (C) 2013 Free Software Foundation, Inc. @@ -132,14 +142,11 @@ BEGIN { require 'subs.pl'; } - +die "test: "; ######################################################################## # OOP declarations for some file handles ######################################################################## -package main; -use strict; - require 'oop_fh.pl'; our $stdout = new FH_STDOUT(); diff --git a/contrib/glilypond/oop_fh.pl b/contrib/glilypond/oop_fh.pl index e256221f..36ee4f73 100644 --- a/contrib/glilypond/oop_fh.pl +++ b/contrib/glilypond/oop_fh.pl @@ -3,13 +3,13 @@ my $License = q* # Legalese ######################################################################## -Source file position: `<groff-source>/contrib/lilypond/oop_fh.pl' -Installed position: `<prefix>/lib/groff/lilypond/oop_fh.pl' +Source file position: `<groff-source>/contrib/glilypond/oop_fh.pl' +Installed position: `<prefix>/lib/groff/glilypond/oop_fh.pl' Copyright (C) 2013 Free Software Foundation, Inc. Written by Bernd Warken <groff-bernd.warken-72@web.de> -Last update: 25 Apr 2013 +Last update: 10 May 2013 This file is part of `glilypond', which is part of `GNU groff'. @@ -34,9 +34,9 @@ directory of the `groff' source package. If not, see ##### end legalese -use strict; -use warnings; -use diagnostics; +# use strict; +# use warnings; +# use diagnostics; use integer; @@ -83,7 +83,7 @@ use integer; @FH_STDOUT::ISA = qw( _FH_WRITE_OPENED ); sub new { - &_FH_WRITE_OPENED::new( '_FH_WRITE__OPENED', *STDOUT ); + &_FH_WRITE_OPENED::new( '_FH_WRITE_OPENED', *STDOUT ); } } # end FH_STDOUT diff --git a/contrib/glilypond/subs.pl b/contrib/glilypond/subs.pl index 548224a5..fa713d14 100644 --- a/contrib/glilypond/subs.pl +++ b/contrib/glilypond/subs.pl @@ -5,13 +5,13 @@ my $License = q* Subroutines for `glilypond'. -Source file position: `<groff-source>/contrib/lilypond/subs.pl' -Installed position: `<prefix>/lib7groff/lilypond/subs.pl' +Source file position: `<groff-source>/contrib/glilypond/subs.pl' +Installed position: `<prefix>/lib/groff/glilypond/subs.pl' Copyright (C) 2013 Free Software Foundation, Inc. Written by Bernd Warken <groff-bernd.warken-72@web.de> - Last update: 25 Apr 2013 + Last update: 10 May 2013 This file is part of `glilypond', which is part of `GNU groff'. @@ -34,9 +34,9 @@ directory of the `groff' source package. If not, see ##### end legalese -use strict; -use warnings; -use diagnostics; +# use strict; +# use warnings; +# use diagnostics; use integer; use utf8; |