groff-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Groff-commit] groff/contrib RUNOFF/ChangeLog RUNOFF/runoff.ma...


From: Bernd Warken
Subject: [Groff-commit] groff/contrib RUNOFF/ChangeLog RUNOFF/runoff.ma...
Date: Mon, 13 May 2013 20:08:23 +0000

CVSROOT:        /cvsroot/groff
Module name:    groff
Changes by:     Bernd Warken <bwarken>  13/05/13 20:08:23

Modified files:
        contrib/RUNOFF : ChangeLog runoff.man 
        contrib/glilypond: ChangeLog args.pl glilypond.pl oop_fh.pl 
                           subs.pl 

Log message:
        Restructure glilypond-files, add debug code.
        Rewrite text lines in runoff.man.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/RUNOFF/ChangeLog?cvsroot=groff&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/RUNOFF/runoff.man?cvsroot=groff&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/glilypond/ChangeLog?cvsroot=groff&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/glilypond/args.pl?cvsroot=groff&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/glilypond/glilypond.pl?cvsroot=groff&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/glilypond/oop_fh.pl?cvsroot=groff&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/glilypond/subs.pl?cvsroot=groff&r1=1.5&r2=1.6

Patches:
Index: RUNOFF/ChangeLog
===================================================================
RCS file: /cvsroot/groff/groff/contrib/RUNOFF/ChangeLog,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- RUNOFF/ChangeLog    6 May 2013 00:00:32 -0000       1.1
+++ RUNOFF/ChangeLog    13 May 2013 20:08:23 -0000      1.2
@@ -1,3 +1,8 @@
+2013-05-14  Bernd Warken  <address@hidden>
+
+       * runoff.man: Major rewrite, due to good documentation of 1974,
+       especially for text lines.
+
 2013-05-05  Bernd Warken  <address@hidden>
 
        New `groff' project: `RUNOFF', which is the predecessor of `roff'.

Index: RUNOFF/runoff.man
===================================================================
RCS file: /cvsroot/groff/groff/contrib/RUNOFF/runoff.man,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- RUNOFF/runoff.man   6 May 2013 00:00:33 -0000       1.1
+++ RUNOFF/runoff.man   13 May 2013 20:08:23 -0000      1.2
@@ -25,7 +25,7 @@
 .RE
 .
 .P
-Last update: 5 May 2013
+Last update: 14 May 2013
 .
 .P
 This file is part of
@@ -132,7 +132,13 @@
 .\" 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
 ..
 .
 .\" --------------------------------------------------------------------
@@ -1167,113 +1173,4989 @@
 .SH DESCRIPTION
 ..\" --------------------------------------------------------------------
 .
-.FONT CI RUNOFF
-is a language for creating documents.
+.FONT CI RUNOFF
+is a language for creating documents.
+.
+This was the first document language at all.
+.
+It is the ancestor of
+.FONT CI roff R .
+.
+.
+.P
+See section
+.FONT CB "SEE ALSO"
+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 CTSS
+on computers
+.FONT CR "IBM 7090"
+and 
+.FONT CR 7094
+at the
+.FONT CI MIT
+in Boston.
+.
+.
+.P
+At the
+.FONT CI Unix
+operating system, the
+.FONT CI RUNOFF
+language was the base for the generation of the text generator language
+.IR \%roff .
+.
+Today
+.I \%roff
+is maintained by
+.IR \%GNU\~troff ,
+the program 
+.BR \%groff (@MAN1EXT@)
+and its language
+.BR \%groff (@MAN7EXT@).
+.
+So
+.FONT CI RUNOFF
+is the ancestor for
+.IR \%groff .
+.
+.
+.\" --------------------------------------------------------------------
+.SS Old RUNOFF Documentation
+.\" --------------------------------------------------------------------
+.
+Look at section
+.FONT CR "SEE ALSO"
+for the internet connections to these documents.
+.
+.
+.P
+All started at the operating system called
+.I \%CTSS
+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" R .
+.
+.
+.P
+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
+.FONT CI RUNOFF R .
+.
+.
+.P
+Moreover
+.FONT CI Saltzer
+published another document in 1965.
+.
+It's titled
+.FONT CI "Jerome H. Saltzer \(em Experimental Additions to the RUNOFF Command"
+.
+We integrate the
+.I "control words"
+in this documentation in a section about
+.I \%Experimental
+.IR \%Additions .
+.
+.
+.P
+In later years, many people worked with the operating system
+.FONT CI Multics R .
+.
+There
+.FONT CI RUNOFF
+was further developed.
+.
+.
+.P
+There is a good documentation of 1973 titled
+.FONT CI "Larry Barnes \(em RUNOFF: \
+A Program for the Preparation of Documents" R .
+.
+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 address@hidden 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])@
address@hidden(=\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])@
+.
address@hidden
+(=\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}
+.
address@hidden(\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],address@hidden
+(=\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.
 .
-This was the first document language at all.
+Arrangement of tabulated data.
 .
-It is the ancestor of
-.FONT CI roff R .
+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.
 .
-.P
-See section
-.FONT CB "SEE ALSO"
-at the end of this document for internet addresses.
 .
+.TP
+9.
 .
-.\" --------------------------------------------------------------------
-.SH HISTORY
-.\" --------------------------------------------------------------------
+Placing figures in a
+.I "cut"
+or
+.IR inset .
 .
-.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
-on computers
-.FONT CR "IBM 7090"
-and 
-.FONT CR 7094 R .
+The control language is the most difficult problem here.
 .
 .
-.P
-At the
-.FONT CI Unix
-operating system, the
-.FONT CI RUNOFF
-language was the base for the generation of the text generator language
-.IR \%roff .
+.TP
+10.
 .
-Today
-.I \%roff
-is maintained by
-.IR \%GNU\~troff ,
-the program 
-.BR \%groff (@MAN1EXT@)
-and its language
-.BR \%groff (@MAN7EXT@).
+Equation typing and  numbering.
 .
-So
-.FONT CI RUNOFF
-is the ancestor for
-.IR \%groff .
+Again, the control language appears formidable.
 .
 .
 .\" --------------------------------------------------------------------
-.SS Old RUNOFF Documentation
+.SH "SEE ALSO"
 .\" --------------------------------------------------------------------
 .
-In 1964,
-.FONT CI Saltzer
-published a documentation for the
-.I \%CTSS
-users in
-.I \%MIT
-titled
-.FONT CI "Jerome H. Saltzer \(em TYPSET and RUNOFF, Memorandum editor and \
-type\-out commands"
-.
-.
-.P
-In december 1966, he published an updated documentation
-.FONT CI "Jerome H. Saltzer \(em Manuscript Typing and Editing" R .
+.PP
+.\" BR RUNOFF (@MAN1EXT@),
+.BR groff (@MAN1EXT@),
+.BR groff (@MAN7EXT@),
+.BR roff (@MAN7EXT@),
+.BR groff_filenames (@MAN7EXT@)
 .
-This article can be regarded as the documentation of the original
-.FONT CI RUNOFF R .
 .
+.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
 .
-.P
-Moreover
-.FONT CI Saltzer
-published another document in 1965.
 .
-It's titled
+.TP
+.FONT R "1965 " CR "Jerome H. Saltzer" R :
+.nh
 .FONT CI "Jerome H. Saltzer \(em Experimental Additions to the RUNOFF Command"
-.
-We integrate the
-.I "control words"
-in this documentation in a section about
-.I \%Experimental
-.IR \%Additions .
+available at
+.UR http://\:web.mit.edu/\:afs/\:athena.mit.edu/\:user/\:other/\
+\:a/\:Saltzer/\:www/\:publications/\:PSN\-40.html
+.UE
+.hy
 .
 .
-.P
-In later years, many people worked with the operating system
-.FONT CI Multics R .
+.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 .
 .
-There
-.FONT CI RUNOFF
-was further developed.
 .
-There is a documentation of 1973 titled
-.FONT CI "Larry Barnes \(em RUNOFF: \
-A Program for the Preparation of Documents" R .
+.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 .
 .
-We use this documentation as well.
 .
+.TP
 .
 .P
 There is still more documentation by the
@@ -1495,7 +6377,7 @@
 .
 .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 @@
 .FONT CB ".HEADING MODE"
 .IR "control sequence" ,
 the default option is
-.FONT CB OPPOSED R .
+.FONT CB .OPPOSED R .
 .
 .
 .RE
@@ -3068,49 +7950,232 @@
 .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
+.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.
+.
+.
+.\" --------------------------------------------------------------------
+.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:
 .
-The following lines give the initial definitions for the indexing
-formats.
+.P
+.RS
+^HERE IS A ^SAMPLE ^SENTENCE IN ^^UPPER CASE\\ AND LOWER CASE.
+.RE
 .
+.P
+is printed as:
 .
 .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
+Here is a Sample Sentence in UPPER CASE and lower case.
 .RE
 .
 .
-In order to get an index output in two columns,
+.\" --------------------------------------------------------------------
+.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
-.FONT CB ".LINE LAYOUT 15, 75, 2, 4"
+.RS
+&s&o&f&t&w&a&r&e
+.RE
+.
 .P
-should be the last line of the input.
+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 @@
 .
 .
 .\" --------------------------------------------------------------------
-.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 @@
 .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"
 .\" --------------------------------------------------------------------
 .

Index: glilypond/ChangeLog
===================================================================
RCS file: /cvsroot/groff/groff/contrib/glilypond/ChangeLog,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- glilypond/ChangeLog 25 Apr 2013 22:37:57 -0000      1.11
+++ glilypond/ChangeLog 13 May 2013 20:08:23 -0000      1.12
@@ -1,3 +1,9 @@
+2013-05-10  Bernd Warken  <address@hidden>
+
+       * glilypond.pl: Correct position information.  Add debug code.
+
+       * args.pl, oop_fh.pl, subs.pl: Correct position information.
+
 2013-04-25  Bernd Warken  <address@hidden>
 
        * Makefile.sub: minor corrections.

Index: glilypond/args.pl
===================================================================
RCS file: /cvsroot/groff/groff/contrib/glilypond/args.pl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- glilypond/args.pl   25 Apr 2013 00:21:14 -0000      1.3
+++ glilypond/args.pl   13 May 2013 20:08:23 -0000      1.4
@@ -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 <address@hidden>
 
-Last update: 25 Apr 2013
+Last update: 10 May 2013
 
 This file is part of `GNU groff'.
 
@@ -34,9 +34,9 @@
 ##### end legalese
 
 
-use strict;
-use warnings;
-use diagnostics;
+# use strict;
+# use warnings;
+# use diagnostics;
 
 use integer;
 

Index: glilypond/glilypond.pl
===================================================================
RCS file: /cvsroot/groff/groff/contrib/glilypond/glilypond.pl,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- glilypond/glilypond.pl      30 Apr 2013 00:40:39 -0000      1.6
+++ glilypond/glilypond.pl      13 May 2013 20:08:23 -0000      1.7
@@ -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 @@
 
 {
   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 @@
   require 'subs.pl';
 }
 
-
+die "test: ";
 ########################################################################
 # OOP declarations for some file handles
 ########################################################################
 
-package main;
-use strict;
-
 require 'oop_fh.pl';
 
 our $stdout = new FH_STDOUT();

Index: glilypond/oop_fh.pl
===================================================================
RCS file: /cvsroot/groff/groff/contrib/glilypond/oop_fh.pl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- glilypond/oop_fh.pl 25 Apr 2013 00:21:14 -0000      1.3
+++ glilypond/oop_fh.pl 13 May 2013 20:08:23 -0000      1.4
@@ -3,13 +3,13 @@
 # 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 <address@hidden>
 
-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 @@
 ##### end legalese
 
 
-use strict;
-use warnings;
-use diagnostics;
+# use strict;
+# use warnings;
+# use diagnostics;
 
 use integer;
 
@@ -83,7 +83,7 @@
   @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

Index: glilypond/subs.pl
===================================================================
RCS file: /cvsroot/groff/groff/contrib/glilypond/subs.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- glilypond/subs.pl   25 Apr 2013 00:21:14 -0000      1.5
+++ glilypond/subs.pl   13 May 2013 20:08:23 -0000      1.6
@@ -5,13 +5,13 @@
 
 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 <address@hidden>
 
-  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 @@
 ##### end legalese
 
 
-use strict;
-use warnings;
-use diagnostics;
+# use strict;
+# use warnings;
+# use diagnostics;
 
 use integer;
 use utf8;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]