[net.sources] Public Domain NRO - nro.nro

jordan@mddc.UUCP (08/15/83)

.TH NRO 1 "Unix V7 Version"
.SH NAME
nro - text processor
.SH SYNOPSIS
.bo
nro [-n] [+n] [-pxx] [-v] [-b] [-mmfile] ifile ... [>ofile]
.SH DESCRIPTION
.ul
NRO
is a text processor and formatter based on the design
provided in 
.bo
"Software Tools"
by Kernighan and Plauger.
The text and commands found in the
.cu
ifile(s)
are processed to
generate formatted text.
The output may be directed into a file or to the printer if
.ul
ofile
is present
in the command line; otherwise, the output will appear at
the user console.
Directing the output to the special filename,
.bo
$P,
will cause the output to be sent to the printer.
.sp
The
.ul
+n
option causes the output to start with page
.ul
n.
The
.ul
-n
option causes the output to stop after page
.ul
n.
.sp
The
.ul
-v
option prints the version number to the console.
.sp
The
.ul
-p
option causes the output to be shifted to the right by
.ul
xx
spaces.
This has the same effect as the
.cc +
+bo
.po
command.
+cc .
.sp
The
.ul
-b
option allows backspaces to appear in the output text when
underlining or overstriking.
This has the same effect as the
.cc +
+bo
.bs
command with a non-zero argument.
+cc .
.sp
The
.ul
-m
option processes the file
.ul
mfile
for macro definitions.
Note that files processed in this way should contain only macro
definitions, no immediate output should be generated from this file.
.sp
Commands typically are distinguished by a period in column one of the input
followed by a two character abbreviation for the command funtion.
The abbreviation may then be followed by an optional numeric or
character argument.
The numeric argument may be an absolute value such as setting
the right margin to a particular column, or the argument may be
preceded by a plus sign or a minus sign to indicate that the
parameter should be modified relative to a previous setting.
The following commands are recognized:
.sp
.nj
.in +6
.br
.ti -6
.cc !
.bo - causes the following lines of text to appear in
boldface.
The optional argument specifies the number of lines to
be typed in boldface.
Boldface and underlining are mutually exclusive features.
The appearance of a boldface command will cause any underlining
to cease.
!sp
!ti -6
.bp - causes succeeding text to appear at the top of
a new page.
The optional argument specifies the page number for the new page.
The initial value is one and the default value is one more than
the previous page number.
!sp
!ti -6
.br - causes succeeding text to start on a new line at the
current left margin.
There is no numeric argument for this command.
!sp
!ti -6
.bs - enables or disables the appearance of backspaces
in the output text.
Underlining and boldface options are implemented by inserting
character - backspace - character combinations into the output
buffer.
This is fine for devices which properly recognize the backspace
character.
Some printers, however, do not recognize backspaces, so the option is
provided to overprint one line buffer with another.
The first line buffer is terminated with just a carriage return
rather than the carriage return - linefeed combination.
A zero argument or no argument to the backspace command removes
backspaces from the output.
A non-zero argument leaves them in the output.
The default is to remove backspaces.
!sp
!ti -6
.cc - changes the
!ul
NRO
command character to that specified by the character argument.
If no argument is provided, the default is a period.
!sp
!ti -6
.ce - causes the next line of text to appear centered on the output.
The optional argument specifies if more than one line is to be centered.
!sp
!ti -6
.de - causes all text and commands following to be used to define
a macro.
The definition is terminated by a
!bo
.en
command.
The first two characters of the argument following the
!bo
.de
command become the name of the new command.
It should be noted that upper and lower case arguments are considered
different.
Thus, the commands
!bo
.PP
and
!bo
.pp
could define two different macros.
Care should be exercised since existing commands may be redefined.
!sp
A macro may contain up to ten arguments.
In the macro definition, the placement of arguments is designated by the
two character sequences, $0, $1, ... $9.
When the macro is invoked, each argument of the macro command line is
substituted for its corresponding designator in the expansion.
The first argument of the macro command is substituted for the $0
in the expansion, the second argument for the $1, and so forth.
Arguments are typically strings which do not contain blanks or tabs.
If an argument is to contain blanks, then it should be surrounded by
either single or double quotes. 
!sp
!ti -6
.cu - causes the next line(s) of text to be continuously underlined.
Unlike the underline command (see
!bo
.ul)
which underlines only alphanumerics, continuous underlining underlines
all printable characters.
The optional argument specifies the number of lines of text to underlined.
Any normal underlining or boldface commands currently in effect will be
terminated.
!sp
!ti -6
.ef - specifies the text for the footer on even numbered pages.
The format is the same as for the footer command (see
!bo
.fo).
!sp
!ti -6
.eh - specifies the text for the header on even numbered pages.
The format is the same as for the footer command (see
!bo
.fo).
!sp
!ti -6
.en - designates the end of a macro definition.
!sp
!ti -6
.fi - causes the input text to be rearranged or filled to obtain the
maximum word count possible between the previously set left and
right margins.
No argument is expected.
!sp
!ti -6
.fo - specifies text to be used for a footer.
The footer text contains three strings seperated by a delimiter
character.
The first non-blank character following the command is designated
as the delimiter.
The first text string is left justified to the current indentation
value (specified by
!bo
.in).
The second string is centered between the current indentation value
and the current right margin value (specified by
!bo
.rm).
The third string is right justified to the current right margin value.
The absence of footer text will result in the footer being printed as
one blank line.
The presence of the page number character (set by
!bo
.pc)
in the footer text results
in the current page number being inserted at that position.
Multiple occurrances of the page number character are allowed.
!sp
!ti -6
.he - specifies text to be used for a header.
The format is the same as for the footer (see
!bo
.fo).
!sp
!ti -6
.in - indents the left margin to the column value specified by the argument.
The default left margin is set to zero.
!sp
!ti -6
.ju - causes blanks to be inserted between words in a line of
output in order to align or justify the right margin.
The default is to justify.
!sp
!ti -6
.ls - sets the line spacing to the value specified by the argument.
The default is for single spacing.
!sp
!ti -6
.m1 - specifies the number of lines in the header margin.
This is the space from the physical top of page to and including
the header text.
A value of zero causes the header to not be printed.
A value of one causes the header to appear at the physical top of page.
Larger argument values cause the appropriate number of blank
lines to appear before the header is printed.
!sp
!ti -6
.m2 - specifies the number of blank lines to be printed between
the header line and the first line of the processed text.
!sp
!ti -6
.m3 - specifies the number of blank lines to be printed between
the last line of processed text and the footer line.
!sp
!ti -6
.m4 - specifies the number of lines in the footer margin.
This command affects the footer the same way the
!bo
.m1
command
affects the header.
!sp
!ti -6
.ne - specifies a number of lines which should not be broken
across a page boundary.
If the number of lines remaining on a page is less than the
value needed, then a new output page is started.
!sp
!ti -6
.nf - specifies that succeeding text should be printed without
rearrangement, or with no fill.
No argument is expected.
!sp
!ti -6
.nj - specifies that no attempt should be made to align or justify
the right margin.
No argument is expected.
!sp
!ti -6
.nr - causes the value of a number register to be set or modified.
A total of twenty-six number registers are available designated
@@na through @@nz (either upper or lower case is allowed).
When the sequence @@nc is imbedded in the text, the current value
of number register c replaces the sequence, thus, such things as
paragraph numbering can be accomplished with relative ease.
!sp
!ti -6
.of - specifies the text for the footer on odd numbered pages.
The format is the same as the footer command (see
!bo
.fo).
!sp
!ti -6
.oh - specifies the text for the header on odd numbered pages.
The format is the same as the footer command (see
!bo
.fo).
!sp
!ti -6
.pc - specifies the page number character to be used in headers
and footers.
The occurrance of this character in the header or footer text
results in the current page number being printed.
The default for this character is the hash mark (#).
!sp
!ti -6
.pl - specifies the page lenght or the number of lines per output page.
The default is sixty-six.
!sp
!ti -6
.po - specifies a page offset value.
This allows the formatted text to be shifted to the right by
the number of spaces specified.
This feature may also be invoked by a switch on the command line.
!sp
!ti -6
.rm - sets the column value for the right margin.
The default is eighty.
!sp
!ti -6
.so - causes input to be retrieved from the file specified
by the command's character string argument.
The contents of the new file are inserted into the output
stream until an EOF is detected.
Processing of the original file is then resumed.
Command nesting is allowed.
!sp
!ti -6
.sp - specifies a number of blank lines to be output before
printing the next line of text.
!sp
!ti -6
.ti - temporarily alters the indentation or left margin value for a single
succeeding line of text.
!sp
!ti -6
.ul - underlines the alphanumeric text in the following line(s).
The optional argument specifies the number of lines to be underlined.
Underlining and boldface are mutually exclusive features.
The appearance of an underline command cancels any existing
boldface operations.