RUNOFF Revision Date: Dec 1981 Program Version: M02.2
RNO [OUTfilespec[/switchs]] [=] INfilespec[/switches]

RUNOFF (RNO) is a PDP-11 program to facilitate the preparation of typed or
printed manuscripts, such as memos, manuals, etc. The user prepares his
material on any regular PDP-11 terminal, and writes it onto a file using an
appropriate editor. 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, terminal 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. 

Type "HELP RNO topic" for help on the following topics:
COMMANDLINE	COMMANDS (general)		PARAMETERS (margins, etc.)
FILESPECS	SOURCEFILE (general)		TABS		
EDITING		FORMAT (page formatting)	COMMANDLIST
SWITCHES	MODES (justify, hyphen,etc.)	UNDERLINE
SPECIAL (reserved characters)	INDEX (auto index)
***** Help on an individual RUNOFF command: HELP RNO commandname. *****
2 COMMANDLINE
RUNOFF can be initiated in several ways. The general formats for RSX-11 users
are: 
	MCR>RNO <CR>
	MCR>RNO Filespec

System programs usually require a command string to specify such things as
input files and various options. A standard command string has one of the
following forms: 
	output-file=input-file
	or @command-file
Both output-file and input-file are strings comprising a file specification. 

The second form of command string (@command-file) is used to specify an
indirect command file. In this case each record of the file is used as a
command string before any commands following the indirect command are
accepted. 

For more help type "HELP RNO FILESPECS".
2 FILESPECS
An RSX-11 file specification has the following form:
	Dev:[UIC]Filename.Typ;Ver

In this specification Dev must be a legal device code. The default value is
SY:, the system disk. UIC must be a valid User Identification Code. Filename
is any 1- to 9-character alphanumeric string which specifies a file name. Typ
is a 1- to 3-character alphanumeric file type. System programs default to an
appropriate standard type so the typical user will not have to explicitly
specify it. Finally, Ver is a number which is the version number of the file.
This field also normally can be omitted since it defaults on input to the
highest existing version number for the file and on output to the highest
existing version number plus one. 

Default file specifications (any part of which may be overridden): 

Input: SY:RUNOFF.RNO
Output: SY:RUNOFF.DOC

RNO File means RNO TI:=File
RNO =file means RNO File=file
2 EDITING
Editing RUNOFF Output

RUNOFF output files may not be edited normally with the standard RSX/IAS file
editors. To edit RUNOFF output, the output file must first be processed by
TECO with a command of the format: 

*ERFilespec$EWFilespec/-CR$EX$$
or just TEC Filespec followed by EX$$
2 SWITCHES
A file specification may have one or more switches associated with it. A
switch is an indicator, consisting of a slash and a two-character ASCII
name, used to select program options. Several switches control the RNO
program. These switches, described below, may be specified on either the input
or output file specification. The defaults may be set by the system manager at
Task Build time. 

/SP -- Spool the output file
/UC -- Force ALL uppercase output
/FF -- Force Form-feeds (instead of multi-LFS)
/-FF:n -- Simulate Form-feeds with Line-feeds
  n is paper length, default set by
  your system manager.
/WA -- Wait for CR input at beginning of each page
/-WA -- Continue printing each page with no wait
/PA:L:H -- Output only indicated page range	/HY -- Hyphenate output
  L=lowest page number printed			/-HY -- Do not hyphenate output
  H=highest page number printed			/RI:n -- Right shift output. 
  The default setting is to print all pages. 	  n=amount of shift
/PS:m:n -- Set Page Size to m,n			/LM:N -- Set left margin
  (See PAGE SIZE command.)
/UL:B -- Underline with a spacing-backspace
/UL:L -- Underline via line overprint with underline character 
/UL:S -- Simulate underline with hyphen character on next line 
/UL:N -- Underlining suppressed.
/BT -- book style titling (page numbers alternate sides)
/BT:R -- Normally odd pages have page numer on right, but /BT:R reverses that.
/SC -- DIABLO/NEC spinwriter shift carriage 1/120 inch for bolding. 
2 SOURCEFILE
The source file contains the textual material which will appear on the final
copy, plus information to specify formatting. 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. 

All material in the source file is taken to be source text except those lines
beginning with a period. A line beginning with zero or more space/tabs
followed by a period is assumed to be a command. The commands provide the
formatting information, and control various optional modes of operation. 

When the fill mode is on, spaces, and carriage returns occurring in the source
text are treated only as word separators. Multiple separators are ignored. The
.LITERAL command can reproduce text exactly as entered. 

For general information on commands , see HELP RNO COMMANDS.
For special reserved characters, see HELP RNO SPECIAL.
For text formatting commands, see HELP RNO FORMAT.
For mode setting commands, see HELP RNO MODES.
For tab commands see HELP RNO TABS.
2 SPECIAL
Special Characters

& Ampersand Underscoring

The character ampersand (&) is used to specify underscoring. The ampersand
will cause the character following it to be underscored. An appearance of
ampersand preceded by circumflex (^&) will cause underlining of all following
characters except space. An appearance of ampersand preceded by backslash (\&)
will disable this mode. 

# Number Sign Explicit space
^ Circumflex Upper-case shift or mode lock
\ Backslash Lower-case shift or mode unlock
< Less-than Capitalize next word (if .FLAGS CAPITALIZE in effect)
= Equals-sign Hypenation disable next word (if .FLAGS HYPHENATE in effect)

_ Underline Quote next character:
The following cases occur: _&, _^, _\, __, _=, _< and _#.
2 COMMANDS
Commands will be recognized if they are at the beginning of a line started
with a period (optionally preceeded by any number of space/tabs). 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 numeric arguments. These are
separated from the command by a space. More than one command may be entered on
a single line by separating the commands with a semicolon (;) or a period (.).

Multi-word commands may appear in any form. Thus, .NO HEADER and .NOHEADER are
both legal. 

Many commands may be abbreviated. Standard abbreviations are given below each
command. 

Some of the commands have the format:
	.command ; text
If the semicolon is omitted, the "text" for the command is on the next source
line. 

See HELP RNO COMMANDLIST.
2 BREAK
 #FORMAT
2 SKIP
 #FORMAT
2 BLANK
 #FORMAT
2 FIGURE
 #FORMAT
2 INDENT
 #FORMAT
2 PARAGRAPH
 #FORMAT
2 CENTER
 #FORMAT
2 FOOTNOTE
 #FORMAT
2 NOTE
 #FORMAT
2 ENDNOTE
 #FORMAT
2 FORMAT
.BREAK (.BR) -- causes a break. The next word of text starts a new line.
.SKIP n (.SK n or .S n) -- causes a BREAK and skips "n" lines.
.BLANK n (.B n) -- like SKIP, but "n" is absolute, not relative to spacing.
.FIGURE n (.FG n) -- leaves n lines blank to make room for a figure or diagram.
.INDENT n (.I n) -- causes a BREAK and indents next line n spaces. (Neg. n OK)
.PARAGRAPH n, v, t (.P n, v, t) -- formats the output paragraphs. The n is
	optional and, if present, sets spaces for paragraph indenting (default
	5). v is the vertical spacing between paragraphs. (Range 0 to 5). 
	t specifies a value for an automatic TESTPAGE (see TEST PAGE command). 
.CENTER n;text (.C n;text) -- causes a BREAK and centers the following text.
			NOTE
	CENTER, RIGHT MARGIN, LEFT MARGIN, PAGE SIZE, And
	STANDARD take both relative and absolute values.
	Relative values are expressed as +n or -n, while
	absolute values of n are unsigned.
.FOOTNOTE n (.FN n) -- saves n lines at bottom of page for a footnote.
	The text of the footnote should begin on the line following.
	The footnote is terminated with a line beginning with an "!".
.NOTE text (.NT text) -- starts an indented note. "Text" is centered; text of
	actual note should begin on next line.
.END NOTE (.EN) -- end a NOTE.
	***** For more on formatting, type HELP RNO MOREFORM *****
2 LISTELEMENT
 #MOREFORMAT
2 ENDLIST
 #MOREFORMAT
2 PAGE
 #MOREFORMAT
2 TESTPAGE
 #MOREFORMAT
2 NUMBER
 #MOREFORMAT
2 NONUMBER
 #MOREFORMAT
2 CHAPTER
 #MOREFORMAT
2 HEADER
 #MOREFORMAT
2 HL
 #MOREFORMAT
2 TITLE
 #MOREFORMAT
2 SUBTITLE
 #MOREFORMAT
2 SUBPAGE
 #MOREFORMAT
2 NOHEADER
 #MOREFORMAT
2 MOREFORMAT
.LIST N (.LS n) -- starts an indented list with n spacing. (up to 5 deep).
.LIST ELEMENT n;text (.LE n;text) -- starts an item in the list. Optional n
	sets the "test page" value for this and all further list elements.
.END LIST (.ELS) -- terminates the LIST command.
.COMMENT text (.; text) -- causes the line to be ignored.
.PAGE (.PG) -- causes a BREAK and an advance to a new page.
.TEST PAGE n (.TP n) -- causes a BREAK followed by a conditional page advance.
	Skips to the next page if fewer than n lines are left.
.NUMBER n (.NM n) -- starts page numbering. (ON BY DEFAULT).
.NONUMBER (.NNM) -- disengages page numbering.
.CHAPTER Text (.CH text) -- starts new chapter using text as title of the 
	chapter. Chapter number is incremented by 1 automatically. 
.NUMBER CHAPTER n -- supplies number (n) to use in a subsequent CHAPTER command
.HEADER LEVEL N text (.HL n text) -- starts a section at the level specified.
	Takes the following text as the header. n can range from 1 to 5.
.TITLE text (.T text) -- takes the remaining text as the title and outputs it 
	on every page at line 0. The default is no title. 
.FIRST TITLE text (.FT text) -- Used to specify title for first page.
.SUBTITLE text (.SUBTTL text or .ST text) -- puts out text as subtitle.
.SUBPAGE -- executes a PAGE with page numbering suspended. 
.END SUBPAGE -- disengages the SUBPAGE command, resumes page numbering.
.HEADER arg (.HD arg) -- causes the page header (title, subtitle, and page 
	number) to be printed. Arg is "UPPER" to specify upper case characters 
	for the title text, "LOWER" to specify lower case, or "MIXED". The 
	initial setting is "HEADER MIXED". 
.NOHEADER (.NHD) -- causes the page header to be omitted.
2 APPENDIX
 #INDEX
2 DOINDEX
 #INDEX
2 PRINTINDEX
 #INDEX
2 TABLEOFCONTENTS
 #INDEX
2 INDEX
.INDEX text (.X text) -- takes text line as keyword and adds to index.
	Should precede item being indexed. Items may be indexed more than once.
.DO INDEX text (.DX text) -- forces a new page, centers the text, if given, 
	otherwise it centers the word "INDEX". This command prints the entire
	contents of the index buffer. A "DO INDEX" is forced if there is 
	anything in the index buffer, when end-of-file is encountered.
.PRINT INDEX (.PX) -- forces a new page after which it prints the entire 
	contents of the index buffer. 
	.PRINT INDEX and .DO INDEX perform the same task. The only difference 
	is that .PRINT INDEX does not interrupt the normal chapter and page 
	sequencing. 
.APPENDIX text (.AX text) -- starts a new appendix using text as title.
.NUMBER APPENDIX a -- supplies a letter (a) to be used as the letter for a
	subsequent APPENDIX command. ("a" increments by default if not used)
TABLE OF CONTENTS -- generated automatically at end-of-file if .HL commands
	were used in text.
2 BAR
 #MODES
2 CHANGEBAR
 #MODEX
2 ENABLEBAR
 #MODES
2 DISABLEBAR
 #MODES
2 BEGINBAR
 #MODES
2 ENDBAR
 #MODES
2 JUSTIFY
 #MODES
2 NOJUSTIFY
 #MODES
2 FILL
 #MODES
2 NOFILL
 #MODES
2 HYPHENATION
 #MODES
2 MODES
.ENABLE BAR (.EBB) -- Causes change bars to be enabled. Output is shifted 
	right 3 columns to make room for the potential change bar.
.DISABLE BAR (.DBB) -- Causes change bar mode to be disabled. 
.BEGIN BAR (.BB) -- Causes the change bar range to start.
.END BAR (.EB) -- Causes the change bar range to end.
.JUSTIFY (.J) -- Causes a break and sets justfication on. (Right justify).
.NOJUSTIFY (.NJ) -- Causes a break and disables justification (ragged).
.FILL (.F) -- Causes a break and lines to be filled (inital setting). 
.NOFILL (.NF) -- disengages the FILL and JUSTIFY modes. (Use for tables.)
.LITERAL (.LIT) -- disengages FILL/JUSTIFY to permit printing of text exactly
	as entered in source file. All special characters are treated as normal
	printing characters.
.END LITERAL (.ELI) -- used after LITERAL command to re-engage FILL/JUSTIFY.
.HYPHENATION (.HY) -- engages hyphenization.
.NO HYPHENATION (.NHY) -- disengages hyphenization (initial setting).
.FLAGS HYPHENATE (.FL HYPHENATE) -- enables the equals character (=) to 
	disengage hyphenization for the word it precedes.
.NO FLAGS HYPHENATE (.NFH) -- Disengages the FLAGS HYPHENATE command.
.NFL -- Disengages the FLAGS CAPITALIZE and the FLAGS HYPHENATE
	commands (initial setting).
	***** Type HELP MOREMODES for more on mode setting. *****
2 UPPERCASE
 #MOREMODES
2 LOWERCASE
 #MOREMODES
2 CAPITALIZE
 #MOREMODES
2 PERIOD
 #MOREMODES
2 NOPERIOD
 #MOREMODES
2 MOREMODES
.UPPER CASE (.UC) -- sets the output mode to upper case. 
.LOWER CASE (.LC) -- sets the output mode to lower case. 
.FLAGS CAPITALIZE (.FL CAPITALIZE) -- enables the less-than (<) character to 
	capitalize the entire word it precedes. 
.NO FLAGS CAPITALIZE (.NFC) -- disengages the FLAG CAPITALIZE command.
.PERIOD (.PR) -- causes at least two spaces to occur after every sentence
	seperator that is followed be a space. Sentence seperators are: 
		: ; ! ? . 
.NOPERIOD (.NPR) -- disengages conversion of period/separator to period/two
	spaces.
2 LEFTMARGIN
 #PARAMETERS
2 RIGHTMARGIN
 #PARAMETERS
2 PAPERSIZE
 #PARAMETERS
2 PAGESIZE
 #PARAMETERS
2 LA120
 #PARAMETERS
2 SPACING
 #PARAMETERS
2 STANDARD
 #PARAMETERS
2 AUTOPARAGRAPH
 #PARAMETERS
2 PARAMETERS
.LEFT MARGIN n (.LM n) -- sets the left margin to n. If signed, value is
	added to or subtracted from current left margin.
.RIGHT MARGIN N (.RM n) -- sets the right margin n. If signed, value is 
	added to or subtracted from current right margin.
.PAPER SIZE N,m (.PAGE SIZE n,m or .PS n,m) -- sets the size of the page to n 
	lines, and the permanent right margin to m. 
.LA120 cpi,lpi -- causes a break and puts to the output file a control
	sequence which will reset the character size on an LA-120 terminal. 
	CPI (characters per inch) may be: 5, 6, 7, 8, 10, 12, 13, or 16
	LPI (lines per inch) may be: 2, 3, 4, 6, 8, or 12
.SPACING n (.SP n) -- sets the number of spaces between lines. 
.STANDARD N (.SD n) -- returns all parameters to their initial settings and 
	sets n as the page width. If STANDARD 60 is specified, margins are 
	reset LM 0, RM 60, PAGE SIZE 58,60, SPACING 1, paragraph indent to the 
	installation standard, and FILL and JUSTIFY are enabled. 
.AUTOPARAGRAPH (.AP) -- causes any blank line or any line starting with a 
	space or tab to be considered as the start of a new paragraph. This
	command allows normally typed text to be justified without special 
	commands. It does not cause a paragraph if blank lines are followed by
	a command.
.NOAUTOPARAGRAPH (.NAP) -- disengages the AUTOPARAGRAPH mode.
2 TABS
.TAB STOPS n,n,... (.TS n,n,...) -- sets tabs. The n must be greater than 0 and
	listed in ascending order. If tabs already exist, the issuing of 
	another TAB STOPS command clears all previous tabs before setting new 
	ones. The default tabs are set at eight-column intervals to match the 
	Digital hardware standard.
.RELATIVE TABS n (.RT n) -- specifies what the tab stops are relative to. If n
	is omitted, the tabs stops will be relative to the left margin in 
	effect when the tab is encountered. If n is '-1', the tab stops will be
	relative to the left margin in effect at the time this command is 
	encountered. Otherwise the tab stops will be relative to column 'n'. 
	The initial value is '0'. 
2 DARK
 #UNDERLINE
2 SETDARK
 #UNDERLINE
2 UNDERLINE
.UNDERLINE;text (.UL;text) -- the text is to be underlined in the output file.
.DARK;TEXT -- the text is be be overprinted to appear dark in the output.
.SETUL -- set the default emphasis mode for characters emphasized by instream 
	commands "^&" and "\&" to be underscore rather than dark. 
	This is the initial setting.
.SETDARK -- set the default emphasis mode for characters emphasized by instream
	commands "^&" and "\&" to be dark rather than underscore.
2 COMMANDLIST
AP (=autoparagraph)
APPENDIX text (AX) NUMBER APPENDIX a
AX (=appendix)
AUTOPARAGRAPH (AP) NOAUTOPARAGRAPH (NAP)
B (=blank)
BB (=begin bar)
BEGIN BAR (BB) END BAR (EB)
BLANK n (B) SKIP n (S)
BR (=break)
BREAK (BR)
C (=centre)
CENTER (=centre)
CENTRE n;text (C)
CH (=chapter)
CHAPTER text (CH) NUMBER CHAPTER n
COMMENT text
DBB (= DISABLE BAR)
DISABLE BAR (DBB) ENABLE BAR (EBB)
DO INDEX text (DX) PRINT INDEX (PX)
DX (=do index)
EB (=end bar)
EBB (=enable bar)
ELS (=end list)
EN (=end note)
END BAR (EB) BEGIN BAR (BB)
ENABLE BAR (EBB) DISABLE BAR (DBB)
END LIST (ELS) LIST n (LS)
END LITERAL (ELI) LITERAL (LIT)
END NOTE (EN) NOTE text (NT)
END SUBPAGE SUBPAGE
F (=fill)
FG (=figure)
FIGURE n (FG)
FILL (F) NOFILL (NF)
FIRST TITLE text (FT) TITLE text
FLAGS CAPITALIZE (FL CAPITALIZE) NO FLAGS CAPITALIZE (NFL)
FLAGS HYPHENATE HYPHENATION (HY)
FN (=footnote)
FOOTNOTE n (FN)
FT (=first title)
HD (=header)
HEADER arg (HD) NOHEADER (NHD)
[arg=UPPER, LOWER, or MIXED]
HEADER LEVEL n text (HL)
HL (=header level)
HY (=hyphenation)
HYPHENATION (HY) NO HYPHENATION (NHY)
I (=indent)
INDENT n (I)
INDEX text (X)
J (=justify)
JUSTIFY (J) NOJUSTIFY (NJ)
LC (=lower case)
LE (=list element)
LEFT MARGIN n (LM) RIGHT MARGIN n (RM)
LIST n (LS) END LIST (ELS)
LIST ELEMENT;text (LE) END LIST (ELS)
LIT (=literal)
LITERAL (LIT) END LITERAL (ELI)
LM (=left margin)
LOWER CASE (LC) UPPER CASE (UC)
LS (=list)
NAP (=noautoparagraph)
NF (=nofill)
NFL (=no flags capitalize)
NHD (=no header)
NHY (=no hyphenation)
NJ (=no justify)
NM (=number)
NNM (=no number)
NOAUTOPARAGRAPH (NAP) AUTOPARAGRAPH (AP)
PARAGRAPH n,v,t (P)
NOFILL (NF) FILL (F)
NO FLAGS CAPITALIZE (NFL) FLAGS CAPITALIZE
NOHEADER (NHD) HEADER arg (HD)
NO HYPHENATION (NHY) HYPHENATION (HY)
NOJUSTIFY (NJ) JUSTIFY (J)
NONUMBER (NNM) NUMBER n (NM)
NOPERIOD (NPR) PERIOD (PR)
NOTE text (NT) END NOTE (EN)
NPR (=no period)
NT (=note)
NUMBER APPENDIX a APPENDIX text
NUMBER CHAPTER n CHAPTER text
P (=paragraph)
PAGE (PG)
PAGE SIZE (=paper size)
PAPER SIZE v,h (PS, PAGE SIZE)
PARAGRAPH h,v,t (P)
PERIOD (PR) NOPERIOD (NPR)
PG (=page)
PRINT INDEX (PX) DO INDEX text (DX)
PS (=paper size)
PX (=print index)
RIGHT MARGIN n (RM)
RM (=right margin)
S (=skip)
SD (=standard)
SKIP n (S) BLANK n (B)
SP (=spacing)
SPACING n (SP)
ST (=subtitle)
SUBPAGE END SUBPAGE
SUBTITLE text (ST)
T (=title)
TAB STOPS n,n, ... ,n (TS)
TEST PAGE n (TP)
TITLE text (T)
TP (=test page)
TS (=tab stops)
UC (=upper case)
UPPER CASE (UC) LOWER CASE (LC)
X (=index)
