.;EDITED 12 AUG 70 /RCC
.TITLE ^^RUNOFF\\  12 ^AUG 70 - 100-519-001-01
.FIGURE 5
.SPACING 1
.CENTER
^^RUNOFF\\
.CENTER
100-519-001-01
.SKIP 1
.CENTER
^AUTHOR: ^R. ^CLEMENTS
.CENTER
^REVISION ^DATE: 12 ^AUGUST 70
.CENTER
^PROGRAM ^VERSION: 007
.SKIP 5
^^NOTICE: T\\HIS MEMORANDUM DESCRIBES A PROGRAM WHICH
^DIGITAL ^EQUIPMENT ^CORPORATION HAS NO COMMITTMENT
TO OFFER OR SUPPORT AT THIS TIME. ^THIS MEMORANDUM
IS, HOWEVER, BELIEVED TO BE AN ACCURATE 
DESCRIPTION OF ^^RUNOFF\\.
.PAGE
.PARAGRAPH 0
^^RUNOFF\\ IS A ^^PDP\\-10 PROGRAM TO FACILITATE THE
PREPARATION OF TYPED OR PRINTED MANUSCRIPTS, SUCH AS MEMOS,
MANUALS, ETC.  ^THE USER PREPARES HIS MATERIAL ON ANY
REGULAR ^^PDP\\-10 TERMINAL, AND WRITES IT ONTO A FILE USING
^^TECO \\ OR ^^LINED\\.  ^THE USER INCLUDES NOT ONLY
TEXTUAL MATERIAL, BUT ALSO CASE AND FORMATTING INFORMATION.
^^RUNOFF\\ THEN TAKES THE FILE AND REPRODUCES IT ONTO THE
LINE PRINTER, TELETYPE OR OTHER FILE TO PRODUCE A FINAL COPY
OR FINAL FILE IMAGE.  ^IT PERFORMS THE FORMATTING AND
CASE SHIFTING AS DIRECTED, AND WILL ALSO PERFORM LINE
JUSTIFICATION, PAGE NUMBERING AND TITLING, ETC.,
AS DESIRED.
.PARAGRAPH
^THE PRINCIPAL BENEFIT OF SUCH A PROGRAM IS THAT FILES
PREPARED FOR USE WITH IT MAY BE EDITED AND CORRECTED EASILY.
^SMALL OR LARGE AMOUNTS OF MATERIAL MAY BE ADDED OR DELETED, AND
UNCHANGED MATERIAL NEED NOT BE RETYPED.
^AFTER A SET OF CHANGES, THE PROGRAM MAY BE OPERATED TO
PRODUCE A NEW COPY WHICH IS PROPERLY PAGED AND FORMATTED.
^DOCUMENTATION MAY THUS BE UPDATED AS NECESSARY WITHOUT
REQUIRING EXTENSIVE RETYPING.
.SKIP 2
.TEST PAGE 20
.CENTER
^ON ^LINE ^OPERATION
.INDEX ^ON ^LINE ^OPERATION
.PARAGRAPH
^^RUNOFF\\ IS A SHARABLE PROGRAM MUCH LIKE MOST ^^PDP-10\\
CUSPS. ^IT IS ACCESSED BY THE USUAL "^R" OR "^R^U^N" COMMANDS
TO THE MONITOR.
.SKIP 1
^THE PROGRAM WILL FIRST RESPOND WITH ITS TITLE AND VERSION NUMBER, AND
THEN ASK:
.SKIP 1
.INDENT 10
^^INPUT FILE:\\
.SKIP 1
.INDEX ^SOURCE FILE NAME
^THE SOURCE FILE DESCRIPTOR (DEVICE, NAME, AND EXTENSION) SHOULD THEN BE TYPED.
^THE DEFAULT EXTENSION FOR ^^RUNOFF\\ SOURCE FILES
IS ^^.RNO\\ .
^IF THE NAME IS
TERMINATED WITH AN ALTMODE, THE OUTPUT FILE WILL BE WRITTEN ON
THE DISK IN NORMAL MODE AND OPERATION WILL
COMMENCE.  ^IF A CARRIAGE RETURN IS TYPED, THE PROGRAM WILL THEN ASK:
.SKIP 1
.INDENT 10
^^OUTPUT FILE:\\
.INDEX ^OUTPUT
.SKIP 1
^THE DESTINATION FILE DESCRIPTOR SHOULD BE TYPED.
^THE DESTINATION DEVICE MAY BE ^^TTY:\\,
THE TELETYPE, WHICH IS LIMITED  IN THAT ALL LETTERS ARE UPPER
CASE, AND UNDERLINING IS NOT AVAILABLE.
(^THESE RESTRICTIONS DO NOT APPLY TO SOME MORE ELABORATE
TELETYPE-LIKE TERMINALS.)
  ^ALTERNATELY, A DISK FILE NAME OR OTHER DEVICE AND
FILE NAME MAY BE GIVEN, AND THE
FINAL IMAGE WILL BE WRITTEN ONTO IT.
.PARAGRAPH
^IF THE OUTPUT FILE NAME IS TERMINATED BY AN ALTMODE, THE FOLLOWING
QUESTIONS WILL NOT BE ASKED, AND NORMAL MODE WILL BE ASSUMED.
^IF THE NAME IS TERMINATED WITH A CARRIAGE RETURN,
THE PROGRAM WILL ASK:
.SKIP 1
.INDENT 10
^^UNDERSCORE (L, C, B OR N)?\\
.INDEX ^UNDERSCORING
.SKIP 1
TO WHICH THE USER MUST REPLY ^L, ^C, ^B, OR ^N. ^L (^^LINE\\)
IS NORMAL, AND IS USED FOR
A LINE PRINTER WITH UNDERLINING
OR FOR FILES WHICH WILL EVENTUALLY BE
COPIED TO SUCH A LINE PRINTER. ^IT CAUSES UNDERSCORING
(WHERE SPECIFIED BY _&) TO BE DONE BY OVERPRINTING A LINE.
^C (^^CHARACTER\\) IS USED FOR FILES WHICH WILL BE PRINTED WITH A
.INDEX ^FLEXOWRITER
FLEXOWRITER OR ANY OTHER DEVICE WHICH HAS A NON-SPACING
UNDERSCORE CHARACTER.
^B (^^BACKSPACE\\) CAUSES EACH UNDERLINE CHARACTER IN THE
OUTPUT FILE TO BE FOLLOWED BY A BACKSPACE CHARACTER. ^THIS MODE
SHOULD BE USED FOR TERMINALS WHICH HAVE BOTH A SPACING
UNDERSCORE AND A BACKSPACE FUNCTION.
^N (^^NO\\) CAUSES UNDERLINING REQUESTS TO BE DISCARDED.
.SKIP 1
^THE PROGRAM WILL NEXT ASK:
.SKIP 1
.INDENT 10
^^SIMULATE FORM FEED (Y OR N)?\\
.INDEX ^FORM FEED MODE
.SKIP 1
TO WHICH THE USER MUST REPLY ^Y OR ^N. ^^NO\\ IS NORMAL AND
MEANS THAT A FORM-FEED CHARACTER (CONTROL-^L) WILL BE USED
TO ADVANCE THE LISTING TO THE TOP OF A PAGE. ^THIS MODE
SHOULD BE USED FOR THE LINE PRINTER AND FOR FILES INTENDED
FOR THE FLEXOWRITER.
.INDEX ^FLEXOWRITER
  ^^YES\\ MEANS THAT THE PROGRAM WILL ADVANCE
TO A NEW PAGE BY TYPING AN APPROPRIATE NUMBER OF LINE-FEED
CHARACTERS.  ^IT MUST BE USED WITH ANY DEVICE WHICH DOES
NOT HAVE MECHANICAL PAGE ADVANCE BUILT IN.
.PARAGRAPH
^THE PROGRAM WILL
THEN ASK:
.SKIP 1
.INDENT 10
^^PAUSE?\\
.SKIP 1
^A ^^YES\\ ANSWER MEANS THAT THE PROGRAM WILL STOP AT THE TOP OF
EACH PAGE TO ALLOW THE PAPER TO BE POSITIONED MANUALLY. 
^THE USER SHOULD TYPE  A SPACE TO
CAUSE PRINTING TO BE RESUMED.
^THIS MODE IS APPROPRIATE FOR TYPING THE OUTPUT ONTO PAGES
OF DUPLICATING MASTERS.
.PARAGRAPH
^WHEN THE PROGRAM HAS COMPLETED PROCESSING, IT WILL TYPE ^^DONE\\,
AND RETURN TO MONITOR LEVEL.
.PAGE
.TEST PAGE 20
.CENTER
^^SOURCE FILE FORMAT\\
.INDEX ^SOURCE FILE FORMAT
.PARAGRAPH
^AS STATED ABOVE, THE SOURCE FILE CONTAINS THE TEXTUAL MATERIAL
WHICH WILL APPEAR ON THE FINAL COPY, PLUS INFORMATION TO
SPECIFY FORMATTING.  ^MOST IMPORTANTLY, UPPER AND LOWER CASE
INFORMATION MAY ALSO BE SUPPLIED SO THAT COPY CAN BE PREPARED ON
THE TELETYPE OR OTHER SUCH DEVICE WHICH CAN NORMALLY INPUT ONLY
UPPER CASE LETTERS.  ^ALL COMMAND INFORMATION CONSISTS
OF REGULAR ^^ASCII\\ PRINTING CHARACTERS SO THAT A LISTING OF
THE SOURCE FILE MAY BE EXAMINED IF THE FINAL COPY IS NOT
EXACTLY AS DESIRED.
.PARAGRAPH
^ALL MATERIAL IN THE SOURCE FILE IS TAKEN TO BE SOURCE TEXT
EXCEPT THOSE LINES BEGINNING WITH A PERIOD.  ^A LINE BEGINNING
WITH A PERIOD IS ASSUMED TO BE A COMMAND,
.INDEX ^COMMAND FORMAT
 AND MUST MATCH ONE
OF THOSE LISTED BELOW.  ^THE COMMANDS PROVIDE THE FORMATTING
INFORMATION, AND CONTROL VARIOUS OPTIONAL MODES OF OPERATION.
.PARAGRAPH
^USUALLY THE TEXT IS FILLED
.INDEX ^FILLING OF TEXT
 AND JUSTIFIED
.INDEX ^JUSTIFICATION OF TEXT
 AS IT IS PROCESSED.
^THAT IS, THE PROGRAM ^^FILLS\\ A LINE BY ADDING SUCCESSIVE WORDS
FROM THE SOURCE TEXT UNTIL ONE MORE WORD WOULD CAUSE THE RIGHT
MARGIN TO BE EXCEEDED.  ^THE LINE IS THEN ^^JUSTIFIED\\ BY
MAKING THE WORD SPACINGS LARGER UNTIL THE LAST WORD IN THE LINE
EXACTLY MEETS THE RIGHT MARGIN.
.PARAGRAPH
^THE USER MAY OCCASIONALLY WISH TO REPRODUCE THE SOURCE TEXT
EXACTLY WHICH IS DONE BY
DISABLING FILLING AND JUSTIFICATION.  ^THE PROGRAM MAY BE SET
TO FILL BUT NOT 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 JUSTIFY BUT NOT FILL, 
ALTHOUGH THIS WOULD PROBABLY PRODUCE PECULIAR RESULTS AND
IS NOT RECOMMENDED.
.PARAGRAPH
^WHEN THE FILL MODE IS ON, SPACES
.INDEX ^SPACE
.INDEX ^WORD SPACING
 AND CARRIAGE RETURNS 
OCCURRING IN THE SOURCE TEXT ARE TREATED ONLY AS WORD
SEPARATORS.  ^MULTIPLE SEPARATORS ARE IGNORED.
.PARAGRAPH
^SOME OF THE COMMANDS CAUSE A ^^BREAK\\
.INDEX ^BREAK
 IN THE
OUTPUT.  ^A BREAK MEANS THAT THE CURRENT LINE IS OUTPUT WITHOUT
JUSTIFICATION, AND THE NEXT WORD GOES AT THE BEGINNING
OF THE NEXT LINE.  ^THIS OCCURS AT THE END OF PARAGRAPHS.
.PARAGRAPH
^THE PROGRAM WILL ADVANCE TO NEW PAGES AS NECESSARY, PLACING
.INDEX ^PAGE ^NUMBERING
.INDEX ^TITLE
THE TITLE (IF GIVEN) AND THE PAGE NUMBER AT THE TOP OF EACH
PAGE.  ^THE USER MAY EXPLICITLY CALL FOR A PAGE ADVANCE WHERE
DESIRED, AND MAY INHIBIT THE OCCURRANCE OF A PAGE ADVANCE
WITHIN SPECIFIED MATERIAL.
.SKIP 2
.TEST PAGE 20
.CENTER
^^CASE INFORMATION\\
.INDEX ^CASE SPECIFYING
.PARAGRAPH
^SPECIFICATION OF CASE FOR FILES PREPARED ON THE TELETYPE IS
DONE WITH TWO CHARACTERS, UP-ARROW
(_^, SHIFT-^N), AND BACK-SLASH (_\, SHIFT-^L).
^THE APPEARANCE OF AN UP-ARROW CAUSES THE LETTER IMMEDIATELY
FOLLOWING TO BE TRANSMITTED IN UPPER CASE.  ^THE APPEARANCE
OF A BACK-SLASH CAUSES THE LETTER IMMEDIATELY FOLLOWING TO
BE CONVERTED TO LOWER CASE.  ^ANY LETTER NOT PRECEEDED BY ONE OF
THESE CHARACTERS IS TRANSMITTED IN THE CURRENT MODE.  ^THE MODE
IS INITIALLY LOWER CASE, AND IS CHANGED BY THE OCCURRANCE
OF TWO SUCCESSIVE CASE CONTROL CHARACTERS.  ^TWO 
UP-ARROWS (_^_^) CAUSE THE MODE TO BE SET TO UPPER CASE,
AND TWO BACK-SLASHES (_\_\) CAUSE THE MODE TO BE SET TO
LOWER CASE.
.PARAGRAPH
^THE USE OF THE ABOVE CORRESPONDS TO THE USE OF THE SHIFT AND
SHIFT-LOCK KEYS ON A TYPEWRITER.  ^USUALLY, TYPING APPEARS
IN LOWER CASE. ^TO TYPE ONE LETTER IN UPPER CASE, THE SHIFT
KEY IS USED.  ^THE SHIFT-LOCK IS SET TO TYPE A SERIES OF
UPPER CASE LETTERS, AFTER WHICH IT IS RELEASED.
.PARAGRAPH
^THE FOLLOWING SHOWS THE USES OF THE CASE CONTROL CHARACTERS:
.SKIP 1
^^_^HERE IS A _^SAMPLE _^SENTENCE IN _^_^UPPER CASE_\_\ AND
LOWER CASE.
\\
.SKIP 1
BECOMES:
.SKIP 1
^HERE IS A ^SAMPLE ^SENTENCE IN ^^UPPER CASE\\ AND LOWER CASE.
.PARAGRAPH

^NOTE: ^CASE CONVERSION TAKES PLACE ONLY ON ^^ASCII\\
CODES 101 TO 132 OCTAL, THAT IS, THE UPPER CASE LETTERS.  ^ANY
ACTUAL LOWER CASE LETTERS (CODES 141 TO 172 OCTAL) APPEARING
IN THE SOURCE WILL BE TRANSMITTED UNCHANGED.  ^IF THE SOURCE
IS PREPARED ON A DEVICE SUCH AS A FLEXOWRITER
OR MODEL 37 TELETYPE WHICH PRODUCES
LETTERS OF THE PROPER CASE, THE MODE SHOULD BE SET TO
UPPER CASE AT THE BEGINNING OF THE FILE AND LEFT UNCHANGED FOR
THE REMAINDER.
.SKIP 2
.TEST PAGE 20
.CENTER
^SPECIAL ^CHARACTERS
.INDEX ^SPECIAL ^CHARACTERS
.PARAGRAPH
^THE CHARACTER AMPERSAND (_&, SHIFT-6) IS USED TO SPECIFY
UNDERSCORING.
.INDEX ^UNDERSCORING
^THE AMPERSAND WILL CAUSE THE CHARACTER FOLLOWING IT TO BE
UNDERSCORED, E.G. _&F_&O_&O BECOMES ^&FOO\&.
.PARAGRAPH
^UNDERLINING OF A STRING OF CHARACTERS CAN ALSO BE SPECIFIED,
SIMILARLY TO THE USE OF THE SHIFT LOCK OPERATIONS DESCRIBED ABOVE.
 ^AN
APPEARANCE OF AMPERSAND PRECEDED BY UP-ARROW (_^_&) WILL
CAUSE UNDERLINING OF ALL FOLLOWING CHARACTERS EXCEPT SPACE. ^AN
APPEARANCE OF AMPERSAND PRECEDED BY BACKSLASH (_\_&) WILL
DISABLE THIS MODE.
.PARAGRAPH
^THE PRESENT VERSION OF ^^RUNOFF\\ USES THE ^^ASCII\\ CHARACTER
176 FOR AN UNDERLINE, WHICH PRINTS AS A RAISED TILDE ON THE
^^LP-10C\\ PRINTER. ^THIS IS DUE TO THE ERRATIC NATURE OF ^^ASCII\\
ON CERTAIN CHARACTERS SUCH AS UNDERLINE OVER THE YEARS.
^THIS CHARACTER MAY BE CHANGED BY A REASSEMBLY OF RUNOFF
IF NECESSARY.
.PARAGRAPH
.INDEX ^SPACE
.INDEX ^QUOTED ^SPACE
^IT IS OCCASIONALLY NECESSARY TO INCLUDE SPACES IN THE TEXT
WHICH SHOULD NOT BE TREATED AS WORD SEPARATORS. ^FOR
THIS PURPOSE, ^^RUNOFF\\ TREATS ^&NUMBERSIGN\& (_#) AS A
QUOTED SPACE; I.E. IT WILL PRINT AS EXACTLY ONE SPACE IN THE
OUTPUT, WILL NEVER BE EXPANDED NOR CHANGED TO A CARRIAGE RETURN.
.PARAGRAPH
^TO ALLOW THE APPEARANCE OF THE SPECIAL CHARACTERS (AMPERSAND,
NUMBER-SIGN, UP-ARROW, OR BACK-SLASH) IN
THE OUTPUT, THE CHARACTER LEFT-ARROW (__, SHIFT-^O) IS USED
AS A QUOTE 
.INDEX ^QUOTE CHARACTER
CHARACTER.  ^THE CHARACTER IMMEDIATELY FOLLOWING
A LEFT-ARROW WILL BE TRANSMITTED TO THE OUTPUT WITH NO
FORMATTING EFFECT.
^THE LEFT ARROW ITSELF IS THUS ANOTHER CASE REQUIRING
QUOTING. ^THE FOLLOWING FIVE CASES OCCUR: ___&,
___^, ___\, ____, AND ___#.
.PAGE
.TEST PAGE 20
.CENTER
^^COMMANDS\\
.INDEX ^COMMAND FORMAT
.PARAGRAPH
^THE FOLLOWING COMMANDS WILL BE RECOGNIZED IF THEY ARE AT THE
BEGINNING OF A LINE STARTED WITH A PERIOD.  ^ANY LINE IN THE
SOURCE FILE BEGINNING WITH A PERIOD IS ASSUMED TO BE ONE OF
THESE COMMANDS.  ^IF IT IS NOT, AN ERROR DIAGNOSTIC WILL BE
TYPED AND THE LINE WILL BE IGNORED.  ^SOME COMMANDS TAKE ONE
OR MORE DECIMAL NUMBERS FOLLOWING. ^THESE ARE SEPARATED FROM
THE COMMAND BY A SPACE.

.SKIP 2
.TEST PAGE 20
.CENTER
^FORMATTING
.INDEX ^COMMANDS, FORMATTING
.LEFT MARGIN 5
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^BREAK\\
.INDEX ^^BREAK\\
.PARAGRAPH
^CAUSES A BREAK, I.E. THE CURRENT LINE WILL BE OUTPUT WITH
NO JUSTIFICATION, AND THE NEXT WORD OF THE SOURCE TEXT WILL
BE PLACED AT THE BEGINNING OF THE NEXT LINE.
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^SKIP\\ N
.INDEX ^^SKIP\\ N
.PARAGRAPH
^CAUSES A BREAK AFTER WHICH N*(LINE SPACING) LINES ARE LEFT BLANK.
^IF THE SKIP WOULD LEAVE ROOM FOR LESS THAN TWO PRINTED
LINES ON THE PAGE (I.E. IF THERE ARE LESS THAN
N+2*(LINE SPACING) LINES LEFT),
THE OUTPUT IS
ADVANCED TO THE TOP OF THE NEXT PAGE.
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^BLANK\\ N
.INDEX ^^BLANK\\ N
.PARAGRAPH
^EXACTLY LIKE ^^SKIP\\, EXCEPT THAT N
(RATHER THAN N*(LINE SPACING)) LINES ARE SPECIFIED. ^^BLANK\\
IS USED WHERE SPACE IS TO BE LEFT INDEPENDENT OF THE LINE
SPACING; ^^SKIP\\, WHERE THE SPACE SHOULD BE RELATIVE TO
THE SIZE OF LINE SPACE.
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^FIGURE\\ N
.INDEX ^^FIGURE\\ N
.PARAGRAPH
^LIKE ^^BLANK\\ EXCEPT THAT IF LESS THAN N LINES REMAIN ON THE
CURRENT PAGE, THE PAGE WILL BE ADVANCED, AND N BLANK
LINES WILL BE LEFT AT THE TOP OF THE NEW PAGE.
^PRINCIPALLY USED WHERE IT IS DESIRED TO LEAVE ROOM FOR A FIGURE
TO BE DRAWN IN MANUALLY.
.SKIP 1
.INDENT -5

.TEST PAGE 10
 .^^INDENT\\ N
.INDEX ^^INDENT\\ N
.PARAGRAPH
^CAUSES A BREAK AND SETS THE NEXT LINE TO BEGIN N SPACES
TO THE RIGHT OF THE LEFT MARGIN.  N MAY BE NEGATIVE TO CAUSE
THE LINE TO BEGIN TO THE LEFT OF THE LEFT MARGIN
(USEFUL FOR NUMBERED PARAGRAPHS).

.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^PARAGRAPH\\ N
.INDEX ^^PARAGRAPH\\ N
.PARAGRAPH
^THE NUMBER IS OPTIONAL AND, IF PRESENT, SETS THE NUMBER
OF SPACES WHICH PARAGRAPHS ARE TO BE INDENTED.  ^THE INITIAL
SETTING IS 5.  ^THE COMMAND CAUSES A BREAK AND LEAVES
(M+1)/2 BLANK LINES, WHERE M IS THE REGULAR LINE SPACING.  ^THE NEXT
LINE WILL BE INDENTED AS INDICATED ABOVE.
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^PAGE\\
.INDEX ^^PAGE\\
.PARAGRAPH
^CAUSES A BREAK AND AN ADVANCE TO A NEW PAGE.  ^DOES NOTHING
IF THE CURRENT PAGE IS EMPTY.  ^TITLING AND NUMBERING AS FOR
AUTOMATIC PAGE ADVANCE.
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^TEST PAGE\\ N
.INDEX ^^TEST PAGE\\ N
.PARAGRAPH
^CAUSES A BREAK FOLLOWED BY A CONDITIONAL PAGE ADVANCE.  ^IF
THERE ARE N OR MORE LINES REMAINING ON THE CURRENT PAGE, NO
ADVANCE IS MADE AND NO LINES ARE SKIPPED.  ^OTHERWISE, THE
PAGE IS ADVANCED AS FOR ^^PAGE\\.
^THIS COMMAND SHOULD BE USED TO ENSURE THAT THE FOLLOWING ^N
LINES ARE ALL OUTPUT ON THE SAME PAGE.
.PARAGRAPH -5
^^.NUMBER\\ N
.INDEX ^^NUMBER\\ N
.INDEX ^PAGE ^NUMBERING
.PARAGRAPH 0
^TURNS ON PAGE NUMBERING (NORMAL) AND, IF &N IS SUPPLIED, SETS
THE CURRENT PAGE NUMBER TO &N.
.PARAGRAPH -5
^^.NONUMBER\\
.INDEX ^^NONUMBER\\
.PARAGRAPH 0
^TURNS OFF PAGE NUMBERING. ^PAGES WILL CONTINUE TO BE COUNTED,
SO THE NORMAL PAGE NUMBER WILL APPEAR IF NUMBERING IS RE-ENABLED.
.SKIP 2
.TEST PAGE 20
.CENTER
^MODE ^SETTING
.INDEX ^COMMANDS, MODE SETTING
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^JUSTIFY\\
.INDEX ^^JUSTIFY\\
.PARAGRAPH
^CAUSES A BREAK AND SETS SUBSEQUENT OUTPUT LINES TO BE JUSTIFIED.
(^INITIAL SETTING)
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^NOJUSTIFY\\
.INDEX ^^NOJUSTIFY\\
.PARAGRAPH
^CAUSES A BREAK AND PREVENTS JUSTIFICATION OF SUBSEQUENT
OUTPUT LINES.
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^FILL\\
.INDEX ^^FILL\\
.PARAGRAPH
^CAUSES A BREAK AND SPECIFIES THAT SUBSEQUENT OUTPUT LINES BE
FILLED.  ^SETS THE JUSTIFICATION MODE TO BE THAT SPECIFIED BY
THE LAST APPEARANCE OF ^^JUSTIFY\\ OR ^^NOJUSTIFY\\. (^INITIAL
SETTING)
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^NOFILL\\
.INDEX ^^NOFILL\\
.PARAGRAPH
^CAUSES A BREAK AND PREVENTS FILLING OF SUBSEQUENT OUTPUT
LINES.  ^ALSO TURNS OFF JUSTIFICATION.
.PARAGRAPH
^NOTE:
.LEFT MARGIN 11
.PARAGRAPH -3
1.#^THE NOFILL-NOJUSTIFY MODE NEED BE USED ONLY WHERE THERE
ARE SEVERAL LINES OF MATERIAL TO BE COPIED EXACTLY.  ^A SINGLE
LINE EXAMPLE WILL NOT REQUIRE USING THESE COMMANDS IF THERE
ARE BREAKS BEFORE AND AFTER.
.PARAGRAPH
2.#^NORMALLY ^^FILL\\ AND ^^NOFILL\\ ARE USED TO TURN BOTH
FILLING AND JUSTIFICATION ON AND OFF.  ^IT IS USUALLY
DESIRABLE TO DO BOTH.  ^A SUBSEQUENT APPEARANCE OF A JUSTIFICATION
COMMAND WILL OVERRIDE THE FILL COMMAND HOWEVER.
.PARAGRAPH
3.#^BECAUSE OF THE ACTION OF ^^FILL\\, A SINGLE OCCURRANCE OF
^^NOJUSTIFY\\ WILL CAUSE THE REMAINDER OF THE FILE TO BE
UNJUSTIFIED, WITH FILLING AS SPECIFIED.  ^IN ORDER TO JUSTIFY
BUT NOT FILL (NOT RECOMMENDED), A ^^JUSTIFY\\ COMMAND MUST
FOLLOW EVERY ^^NOFILL \\ COMMAND.
.LEFT MARGIN 5
.SKIP 2
.TEST PAGE 20
.CENTER
^PARAMETER ^SETTINGS
.INDEX ^COMMANDS, PARAMETER
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^LEFT MARGIN\\ N
.INDEX ^^LEFT MARGIN\\ N
.PARAGRAPH 0
^CAUSES A BREAK AFTER WHICH THE LEFT MARGIN IS SET TO N.  N
MUST BE LESS THAN THE RIGHT MARGIN, BUT NOT LESS THAN 0. ^THE
INITIAL SETTING IS 0.  ^THE AMOUNT OF ANY INDENT PLUS THE
LEFT MARGIN MUST NOT BE LESS THAN 0.
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^RIGHT MARGIN\\ N
.INDEX ^^RIGHT MARGIN\\ N
.PARAGRAPH
^CAUSES A BREAK AFTER WHICH THE RIGHT MARGIN IS SET TO N. N MUST
BE GREATER THAN THE LEFT MARGIN.  ^THE INITIAL SETTING IS 60.
.PARAGRAPH
^THE NUMBER OF CHARACTERS ON A LINE WILL BE EQUAL TO OR LESS
THAN THE RIGHT MARGIN MINUS THE LEFT MARGIN MINUS ANY INDENTING
WHICH MAY BE SPECIFIED.  ^EVEN IF FILLING HAS BEEN DISABLED, 
LINES WILL NOT BE EXTENDED PAST THE RIGHT MARGIN.
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^SPACING\\ N
.INDEX ^^SPACING\\ N
.PARAGRAPH
^CAUSES A BREAK AFTER WHICH THE LINE SPACING WILL BE SET TO N.
N MUST BE WITHIN THE RANGE 1 TO 5.  ^SINGLE SPACING
.INDEX ^SINGLE SPACING
.INDEX ^DOUBLE SPACING
 IS 1, 
DOUBLE SPACING IS 2, ETC.
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^PAPER SIZE\\ N,M
.INDEX ^^PAPER SIZE\\ N,M
.PARAGRAPH
^SETS THE NUMBER OF LINES PER PAGE TO N.  N MUST BE GREATER THAN
10. ^THE INITIAL SETTING IS 58. N INCLUDES THE TOP MARGIN
OF 5 LINES.  ^THE PAGE NUMBER AND TITLE APPEAR ON THE SECOND
LINE.
^THE SECOND ARGUMENT, M, IS OPTIONAL. ^IF PRESENT, IT SETS
THE PAPER WIDTH IN COLUMNS (INITIALLY 60). ^IT MUST
BE GREATER THAN THE LEFT MARGIN, AND IT IS SET INTO THE RIGHT MARGIN AS IF A ^^RIGHT
MARGIN\\ M COMMAND HAD ALSO BEEN TYPED.
^THIS COMMAND IS USUALLY USED ONLY AT THE BEGINNING
OF A FILE, BUT MAY BE USED THROUGHOUT IF NEEDED.
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^TAB STOPS\\ N ... N
.INDEX ^^TAB STOPS\\ N ... N
.PARAGRAPH
^CLEARS ALL PREVIOUS TAB STOPS AND SETS NEW TAB STOPS AS
SPECIFIED.  ^THE SEVERAL N (MAX 32) MUST BE GREATER THAN
ZERO AND IN INCREASING ORDER.  ^THEY ARE THE POSITIONS OF
TAB STOPS INDEPENDENT OF THE SETTING OF THE LEFT MARGIN, 
ALTHOUGH ANY WHICH ARE LESS THAN THE LEFT MARGIN WILL NOT
BE SEEN.  ^THERE ARE NO TAB STOPS INITIALLY.
.PARAGRAPH
^TABS SHOULD BE USED ONLY IN LINES WHICH WILL BE UNJUSTIFIED
AND UNFILLED, I.E. WHERE FILLING IS DISABLED OR A BREAK
IMMEDIATELY FOLLOWS. ^CLEARLY, THE SPACES SPECIFIED BY A TAB
CHARACTER SHOULD NOT BE EXPANDED TO JUSTIFY THE LINE--THIS
WOULD DEFEAT THE EFFECT OF TAB FORMATTING.

^THE APPEARANCE OF A TAB IN THE SOURCE TEXT WILL BE TRANSLATED
TO ONE OR MORE SPACES, THE AMOUNT NECESSARY TO ADVANCE TO THE
NEXT TAB STOP.
^IF A TAB APPEARS AT A POINT WHERE NO FURTHER TAB STOPS HAVE
BEEN SET ON A LINE, THE TAB WILL BE TREATED AS THOUGH IT HAD
BEEN A SPACE.
.SKIP 2
.TEST PAGE 20
.CENTER
^MISCELLANEOUS
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^TITLE\\ TTTT ... TTTT
.INDEX ^^TITLE\\ TTTT ... TTTT
.PARAGRAPH
^THIS COMMAND TAKES THE REMAINING TEXT ON THE LINE AS THE TITLE.
^THIS TEXT WILL APPEAR AT THE TOP OF ALL SUBSEQUENT PAGES, AT
POSITION 0, ON THE SECOND LINE WITH THE PAGE NUMBER.  ^THE
TITLE IS INITIALLY BLANK.
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^SUBTITLE\\ TTTT ... TTTT
.INDEX ^^SUBTITLE\\ TTTT ... TTTT
.PARAGRAPH
^THIS COMMAND TAKES THE REMAINING TEXT ON THE LINE AS THE SUBTITLE.
^THIS TEXT WILL APPEAR ON THE LINE IMMEDIATELY FOLLOWING THE
TITLE AND PAGE NUMBER. ^THE SUBTITLE IS INITIALLY BLANK.
^THE SUBTITLE IS NOT INDENTED, BUT MAY CONTAIN LEADING SPACES TO
ACHIEVE THE SAME EFFECT, IF DESIRED.
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^CENTER\\ N
.INDEX ^^CENTER\\ N
.PARAGRAPH
^THIS COMMAND CAUSES A BREAK AFTER WHICH IT CENTERS THE
NEXT LINE FOLLOWING  IN THE SOURCE FILE.  ^THE
CENTERING IS OVER THE COLUMN N/2, INDEPENDENT OF THE SETTING OF
THE LEFT AND RIGHT MARGINS.
^IF N IS MISSING, N IS ASSUMED TO BE THE PAPER WIDTH, INITIALLY 60.
(^SEE ^^PAPER SIZE\\ COMMAND.)

.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^FOOTNOTE\\ N
.INDEX ^^FOOTNOTE\\ N
.PARAGRAPH
^ALLOCATES N*(LINE SPACING) LINES AT THE BOTTOM OF THE CURRENT PAGE FOR
A FOOTNOTE(1).
.FOOTNOTE 5
.LEFT MARGIN 0
.SKIP 1
.CENTER
- - - - - - - - - - -
(1) ^THIS IS A FOOTNOTE.  ^THIS TEXT AND THE DIVIDING LINE ABOVE
WERE SPECIFIED BY TEXT AND COMMANDS FOLLOWING A ^^FOOTNOTE\\ 5
COMMAND.
!
^IF INSUFFICIENT ROOM REMAINS ON THE CURRENT PAGE, SPACE WILL
BE ALLOCATED AT THE BOTTOM OF THE FOLLOWING PAGE.  ^THE TEXT FOR
THE FOOTNOTE BEGINS ON THE LINE FOLLOWING THE COMMAND,
AND IT MAY CONTAIN ANY APPROPRIATE COMMANDS (E.G. ^^CENTER,
SKIP\\) NECESSARY TO FORMAT THE FOOTNOTE.  ^THE FOOTNOTE IS TERMINATED
BY A LINE BEGINNING WITH AN EXCLAMATION POINT (THE REMAINDER
OF WHICH IS IGNORED).
.INDEX ^EXCLAMATION POINT
^THE LINES DELIMITED BY THIS LINE AND THE ^^FOOTNOTE\\ COMMAND
ARE PUT INTO A BUFFER TO BE PROCESSED WHEN THE OUTPUT MOVES
TO WITHIN THE STATED DISTANCE OF THE BOTTOM OF THE PAGE.
^IF A PAGE HAS MULTIPLE FOOTNOTES, THE ALLOCATED SPACE IS THE
SUM OF THE ALLOCATIONS FOR ALL FOOTNOTES ASSIGNED TO THE PAGE.  ^THE
USER MUST INCLUDE HIS CHOICE OF FOOTNOTE-DESIGNATING SYMBOLS
WITHIN THE TEXT.
.PARAGRAPH
^THE CURRENT VALUES OF LEFT AND RIGHT MARGIN AND LINE SPACING
ARE SAVED AND RESTORED AFTER PROCESSING OF FOOTNOTES. ^THEREFORE,
A FOOTNOTE MAY CONTAIN COMMANDS WHICH CHANGE THESE PARAMETERS,
AND THE EFFECT WILL BE LIMITED TO THE FOOTNOTE TEXT.
.PARAGRAPH
^THE ACTUAL SPACE TAKEN BY THE FOOTNOTE MAY BE MORE OR LESS THAN
THAT SPECIFIED BY N. ^THE N MERELY ALLOCATES SPACE AND SHOULD
BE THE USER'S BEST GUESS.  ^IF IT IS CONSIDERABLY OFF,
THE FOOTNOTE LINES MAY OVERFLOW THE PAGE, OR EXTRA SPACE
MAY BE LEFT AT THE BOTTOM.  ^THE USER MAY WISH TO ADJUST N AFTER
EXAMINING A FIRST DRAFT PRINTOUT.
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^INDEX\\ TTTT ... TTTT
.INDEX ^^INDEX\\ TTTT ... TTTT
.PARAGRAPH
^THIS COMMAND TAKES THE REMAINING TEXT ON THE LINE
AS A KEY WORD OR WORDS AND ADDS IT, ALONG WITH THE CURRENT
PAGE NUMBER, TO THE INTERNAL INDEX BUFFER.  ^THE COMMAND
DOES NOT CAUSE A BREAK.  ^IT SHOULD APPEAR IMMEDIATELY BEFORE
THE ITEM TO BE INDEXED.  ^A KEY WORD OR WORDS MAY BE
INDEXED MORE THAN ONCE.
.SKIP 1
.INDENT -5
.TEST PAGE 10
 .^^PRINT INDEX\\
.INDEX ^^PRINT INDEX\\
.PARAGRAPH
^CAUSES A BREAK 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 BETWEEN THE LEFT AND RIGHT MARGINS).  ^ADDITIONAL
PAGE NUMBERS FOR MULTIPLE ENTRIES FOLLOW, SEPARATED BY COMMAS.
^THE INDEX BUFFER IS LEFT EMPTY.
.LEFT MARGIN 0

.PAGE
.SPACING 1
.CENTER
^^INDEX\\
.CENTER
(^ENTRIES ENTIRELY IN UPPER CASE ARE COMMAND NAMES.)
.SKIP 2
.PRINT INDEX
                                                                                                                                                                                                                                                                   