2285 lines
51 KiB
Plaintext
2285 lines
51 KiB
Plaintext
." $Header$
|
|
.LL 6.5i
|
|
.MS T E
|
|
\!.TL `\\n(S1``PUBMAC user's guide`
|
|
.ME
|
|
.MS T O
|
|
\!.TL `PUBMAC user's guide``\\n(S1`
|
|
.ME
|
|
.MS B E
|
|
\!.TL '%'''
|
|
.ME
|
|
.MS B O
|
|
\!.TL '''%'
|
|
.ME
|
|
.SM S1 B S
|
|
.IN 5
|
|
.N
|
|
.AD R
|
|
Report no. 4
|
|
.N
|
|
second revision
|
|
.N
|
|
.AD B
|
|
.N 10
|
|
.CS
|
|
.SS 14
|
|
.BS
|
|
PUBMAC
|
|
.BE
|
|
.N 1
|
|
.US
|
|
.SS 12
|
|
A Set of NROFF/TROFF-Macros
|
|
to Format Publications
|
|
.UE
|
|
.N 1
|
|
User's Guide
|
|
.N 2
|
|
Third, revised edition
|
|
March 1980
|
|
.N 11
|
|
.SS 10
|
|
Katholieke Universiteit Nijmegen
|
|
Informatics Department
|
|
Nijmegen, The Netherlands.
|
|
.CE
|
|
.N 8
|
|
.U ABSTRACT
|
|
.N 1
|
|
A set of NROFF/TROFF macros is presented, intended to facilitate the
|
|
formatting of a paper for publication purposes.
|
|
Predefined macros are supplied for the most frequent activities.
|
|
Sectioning, section-numbering, construction
|
|
of a table of contents and some other important
|
|
facilities are automated.
|
|
.S1 Introduction
|
|
The UNIX text formatting program NROFF/TROFF
|
|
.RS "NROFF/TROFF"
|
|
J.F. Ossanna, NROFF/TROFF User's Manual, Bell Laboratories, Murray Hill,
|
|
New Jersey
|
|
.RE
|
|
allows the user to define his own commands via a macro mechanism.
|
|
The present paper describes PUBMAC, a set of macros for a set
|
|
of very often repeated activities encountered in the text formatting
|
|
process for a paper to be published.
|
|
.P
|
|
These activities comprise e.g. the division of a paper into
|
|
sections, the automatic generation of a table of contents, footnote
|
|
handling etc.
|
|
PUBMAC is intended to simplify the user-interface of NROFF/TROFF in such a way
|
|
that it is suitable for use by personnel with little formal training
|
|
and no special talent for informatics.
|
|
The macro set described in this Guide is designed
|
|
by Thijs Zoethout
|
|
after the
|
|
.RS PUBMAC
|
|
H.M. Stahl, PUBMAC User's Guide, Report no.4 revised, Informatica Department,
|
|
Nijmegen University
|
|
.RE
|
|
macro set written by Hans-Michael Stahl for a previous version of NROFF.
|
|
The set was later adapted for use on a high-quality laser printer
|
|
allowing use of the full range of
|
|
.U troff's
|
|
capabilities
|
|
by E. G. Keizer.
|
|
.N
|
|
The construction of the macro set was influenced by the SYSPUB macro
|
|
set developed for SCRIPT at the University of Waterloo and described
|
|
in
|
|
.RS "SYSP77" "."
|
|
SYSPUB User's Guide, University of Waterloo Computing Centre,
|
|
1977
|
|
.RE
|
|
.P
|
|
However, in contrast to SCRIPT, NROFF/TROFF only allows two characters as name for commands,
|
|
so that it is quite difficult to select mnemonic command names.
|
|
We tried our best to make full use of the expressive power
|
|
of two characters...
|
|
.P
|
|
PUBMAC can be obtained from the author.
|
|
Prerequisites for its use are:
|
|
.PS
|
|
.PT
|
|
a machine with the UNIX operating system,
|
|
with NROFF or TROFF,
|
|
.PT
|
|
an output device e.g. a daisywheel printer or laser printer.
|
|
.PE
|
|
.S2 Invoking PUBMAC
|
|
calling NROFF/TROFF with the option
|
|
.B -mkun,
|
|
e.g.
|
|
.DS I 6
|
|
.BS
|
|
\&troff -mkun file....
|
|
.BE
|
|
.DE
|
|
The reader who desires to make use of further options may consult
|
|
[NROFF/TROFF].
|
|
Output from the preprocessors
|
|
.UW tbl ,
|
|
.U eqn
|
|
and
|
|
.U refer
|
|
is recognized by PUBMAC.
|
|
.N 1
|
|
The commands needed to print the formatted text differ between
|
|
installations.
|
|
.S2 PUBMAC Input
|
|
As for NROFF/TROFF, each line of
|
|
the input files for PUBMAC either contains text to be formatted
|
|
or is a command line.
|
|
A command line begins with a control
|
|
character (under PUBMAC ".") followed by the name of a
|
|
PUBMAC command or of a NROFF/TROFF request.
|
|
Command lines which do not contain a known PUBMAC or NROFF/TROFF
|
|
command are ignored without complaints.
|
|
.S2 Form of the PUBMAC commands
|
|
All PUBMAC commands have a name consisting of one or two capital letters
|
|
or a capital letter followed by a digit.
|
|
Most commands embedding some text, i.e. a start and an end command,
|
|
have a capital
|
|
.B S
|
|
(for start) and a capital
|
|
.B E
|
|
(for end)
|
|
as second letter to gain at least a bit of systematics.
|
|
.P
|
|
Some commands may have operands; these have to be enclosed
|
|
in double quotes ("), if they contain blanks.
|
|
The number of operands is restricted to 9, but operands can
|
|
be grouped into one operand by enclosing them in double quotes.
|
|
.P
|
|
Operands may be optional; this is indicated in the description by surrounding the
|
|
operand by square brackets (\ [\ and\ ]\ ).
|
|
A sequence of one or more operands is indicated by
|
|
one operand followed by ellipses, e.g
|
|
.B title... .
|
|
.S2 NROFF/TROFF Commands under PUBMAC
|
|
As PUBMAC does a lot of administration, NROFF/TROFF commands changing
|
|
global values (e.g. linelength, current indentation) nearly
|
|
always disturb this administration.
|
|
Therefore it is recommended not to use NROFF/TROFF commands
|
|
if not stated otherwise.
|
|
Also, a NROFF/TROFF command can be renamed and thus not available
|
|
any more under the old name.
|
|
.N
|
|
The renamed commands are:
|
|
.DS I
|
|
.TS 0
|
|
l l s
|
|
l l l.
|
|
PUBMAC NROFF/TROFF
|
|
\&.PO .po set page offset
|
|
\&.TL .tl define title line
|
|
.TE 0
|
|
.DE
|
|
.S2 PUBMAC Output
|
|
Input text to PUBMAC is subject to two formatting processes:
|
|
filling and adjusting.
|
|
Filling means that output lines are about equally filled
|
|
within the current line length;
|
|
it is achieved
|
|
by taking words from input lines as long until
|
|
a complete output line is formed.
|
|
A word, in the context of formatting, is any text
|
|
surrounded by blanks.
|
|
Adjusting means that all output lines are adjusted
|
|
to some uniformity.
|
|
This is achieved by expanding the blank spaces between
|
|
output words as necessary or leaving one or both margins ragged.
|
|
.P
|
|
Under PUBMAC normally filling and adjusting
|
|
are switched on by default, but both may be turned off separately
|
|
(within certain limits).
|
|
.N 5
|
|
.U Acknowledgement
|
|
.N
|
|
I wish to thank all PUBMAC users,
|
|
for their help in finding
|
|
errors, and their proposals for correcting them.
|
|
.S1 Global Structure
|
|
This section describes the basic PUBMAC commands necessary to
|
|
divide a paper into sections, paragraphs etc.
|
|
If you are using PUBMAC for the first
|
|
time, you are recommended to experiment with the commands described
|
|
herein on a small document.
|
|
.DS I
|
|
.TS 0
|
|
l l.
|
|
\&.RP select report layout
|
|
\&.S1 to create first level sections
|
|
\&.S2 to create second-level sections
|
|
\&.S3 to create third-level sections
|
|
\&.S4 to create fourth-level sections
|
|
\&.AP to start an appendix
|
|
\&.SN to set the start value for section numbers
|
|
\&.P to start a paragraph
|
|
\&.A to start an alinea
|
|
\&.PS to start a list of points
|
|
\&.PT to start a point
|
|
\&.PE to end a list of points
|
|
.TE 0
|
|
.DE
|
|
.S2 Selecting a Layout
|
|
PUBMAC offers two kinds of layout:
|
|
.PS
|
|
.PT
|
|
the
|
|
.U report layout
|
|
which is suited for short papers and technical notes.
|
|
.PT
|
|
the
|
|
.U manual layout
|
|
which is thought for larger publications
|
|
.FS * .
|
|
This PUBMAC user's guide is an example of the
|
|
manual layout.
|
|
.FE
|
|
.PE
|
|
When the manual layout is selected, the first page is reserved
|
|
as a title page and not counted for page numbering purposes,
|
|
no headers and footers are printed on it,
|
|
and new sections appear on a new page.
|
|
.A
|
|
For the report layout no title page is reserved, thus the
|
|
output text immediately starts on the first page.
|
|
A new section is not forced to appear on a new page.
|
|
.A
|
|
The manual layout is selected by default;
|
|
to select the report layout, use the command
|
|
.DS I 6
|
|
.BS
|
|
\&.RP
|
|
.BE
|
|
.DE
|
|
.UW ( R e P ort).
|
|
This command has to appear in the input text before the first
|
|
.B .S1
|
|
(see below).
|
|
.S2 Sections
|
|
PUBMAC offers commands
|
|
to divide a paper into sections and subsections.
|
|
Sections are numbered automatically and their
|
|
numbers, titles and page numbers are collected for the table of contents
|
|
which can be put out at the end of the report.
|
|
.P
|
|
To start a new section, use the command
|
|
.DS I 6
|
|
.BS
|
|
\&.S1 title...
|
|
.BE
|
|
.DE
|
|
where
|
|
.B title...
|
|
is the title of the section.
|
|
If the manual report is selected, the section will appear on a new page and the title will be
|
|
translated to capital letters and centered.
|
|
If the report layout is chosen, the title only will be underlined and PUBMAC
|
|
takes care that the title and the first 6 lines of the section
|
|
text
|
|
will appear on the same page.
|
|
The text of a section immediately follows the
|
|
.B .S1
|
|
command.
|
|
.P
|
|
A section may be divided further into subsections, which again
|
|
may be divided further etc, up to the level 4:
|
|
.DS I 6
|
|
.BS
|
|
\&.S2 title...
|
|
\&.S3 title...
|
|
\&.S4 title...
|
|
.BE
|
|
.DE
|
|
All subsections will be numbered automatically and their titles
|
|
collected for the table of contents.
|
|
The title of second-,
|
|
third- and fourth-level subsections will be underlined;
|
|
to make the underlining continuous,
|
|
blanks separating the single words of
|
|
.B title...
|
|
will be translated to underscores.
|
|
PUBMAC takes care, that the title and the first 5 lines of the text
|
|
of subsections
|
|
will appear on the same page.
|
|
.P
|
|
As an example, the next section was prefixed by
|
|
.B .S2
|
|
.BW Appendices .
|
|
.S2 Appendices
|
|
To start an appendix, use the command
|
|
.DS I 6
|
|
.BS
|
|
\&.AP title...
|
|
.BE
|
|
.DE
|
|
.UW ( AP pendix).
|
|
This command acts like
|
|
.B .S1
|
|
with the exception, that appendices are numbered with capital letters instead of
|
|
arabic numbers.
|
|
.P
|
|
To divide an appendix into further sections, use the
|
|
.B .S2, .S3
|
|
and
|
|
.B .S4
|
|
commands as explained above.
|
|
.S2 Setting the Section Numbers
|
|
Sometimes the need is felt to format a large paper not as a
|
|
whole but in parts, especially when the final state
|
|
of the paper has not yet been reached. Nevertheless the parts of
|
|
the paper should contain consecutive section numbers
|
|
and the correct page numbers.
|
|
To achieve this, use the command
|
|
.DS I 6
|
|
.BS
|
|
\&.SN s1 [s2 [s3 [s4 [ap]]]]
|
|
.BE
|
|
.DE
|
|
.UW ( S ection
|
|
.UW N umbers).
|
|
The operands
|
|
.B s1, s2, s3, s4
|
|
determine the start value for the numbering of following sections and subsections.
|
|
The operand
|
|
.B ap
|
|
serves to set the appendix number to the desired start value.
|
|
.P
|
|
To get the full table of contents and a complete
|
|
bibliography list, the paper must be formatted as a whole.
|
|
.S2 Paragraphs
|
|
Two commands are supplied to start a new paragraph.
|
|
They take care, that at least the first two
|
|
lines of a paragraph are not split across a page boundary.
|
|
.P
|
|
To start a new paragraph, use the
|
|
.DS I 6
|
|
.BS
|
|
\&.P [count [indent]]
|
|
.BE
|
|
.DE
|
|
.UW ( P aragraph)
|
|
command. The first line of the paragraph will be indented
|
|
by
|
|
.B indent
|
|
(default is 3) columns and it will be separated from the previous paragraph by
|
|
.B count
|
|
(default is 1) blank line(s).
|
|
.P
|
|
If a paragraph should not be preceded by a blank line, use the command
|
|
.DS I 6
|
|
.BS
|
|
\&.A [count [indent]]
|
|
.BE
|
|
.DE
|
|
.UW ( A linea),
|
|
which has the same effect as
|
|
.B .P
|
|
except that the operand
|
|
.B count
|
|
has the default 0.
|
|
.S2 Lists of Points
|
|
It is often desired to present a number of related items
|
|
as a list of points. The PUBMAC commands
|
|
.B .PS, .PT
|
|
simplify the creation of such list.
|
|
.P
|
|
The command
|
|
.DS I 6
|
|
.BS
|
|
\&.PS [style] [indentation] [ [prefix] suffix ]
|
|
.BE
|
|
.DE
|
|
.UW ( P oint
|
|
list
|
|
.UW S tart)
|
|
starts a list of points.
|
|
The text of each point is indented from the current left margin and
|
|
preceded by a label.
|
|
.P
|
|
.NE 13
|
|
The operand
|
|
.B style
|
|
selects the labeling style of the points following the
|
|
.B .PS
|
|
command.
|
|
The following styles are available:
|
|
.PS
|
|
.PT a:
|
|
the points are labeled with small letters (a,b,..aa,bb,...);
|
|
.PT A:
|
|
the points are labeled with capital letters (A,B,..AA,BB...);
|
|
.PT i:
|
|
the points are labeled with small roman numbers (i,ii,iii...);
|
|
.PT I:
|
|
the points are labeled with capital roman numbers (I,II,III...);
|
|
.PT 1:
|
|
the points are labeled with arabic numbers (1,2,3...);
|
|
.PE
|
|
If
|
|
.B style
|
|
is not any of these then each point is labeled with the operand
|
|
.BW style .
|
|
.A
|
|
The default is
|
|
.DS I 6
|
|
.BS
|
|
\&.PS -
|
|
.BE
|
|
.DE
|
|
The operand
|
|
.B indentation
|
|
determines how many columns from the
|
|
current left margin the text of the points in the list is to be
|
|
indented.
|
|
If this operand is not specified, the default value 3 will be used.
|
|
All operands remain valid for all points in the list.
|
|
.P
|
|
If you want the label selected by
|
|
.B .PS
|
|
to be followed
|
|
by an additional string, for instance for labels as
|
|
.B 1)
|
|
and
|
|
.B 2),
|
|
use
|
|
the operand
|
|
.BW suffix .
|
|
It determines the string to follow
|
|
the point-label selected by
|
|
.BW .PS .
|
|
The default
|
|
.B suffix
|
|
is the empty string "".
|
|
The operand
|
|
.B prefix
|
|
determines the string to be inserted before each point label.
|
|
.P
|
|
To start a point in such a list, use
|
|
.DS I 6
|
|
.BS
|
|
\&.PT [label]
|
|
.BE
|
|
.DE
|
|
.UW ( P oin T ).
|
|
The text of the point has to follow on the next
|
|
input lines.
|
|
The optional operand
|
|
.B label
|
|
allows the replacement of the label selected
|
|
by the
|
|
.B .PS
|
|
command ("-" or numbers as selected by "style")
|
|
for a single point.
|
|
If the text of the label is longer than the indentation selected
|
|
by
|
|
.B .PS,
|
|
the text of the point in the output will appear on a new line.
|
|
.P
|
|
To continue the list of points, simply repeat the
|
|
.B .PT
|
|
command for every new point.
|
|
.P
|
|
A list of points is terminated by the command
|
|
.DS I 6
|
|
.BS
|
|
\&.PE
|
|
.BE
|
|
.DE
|
|
.UW ( P oint
|
|
list
|
|
.UW E nd).
|
|
The command returns to the indentation level being
|
|
actual when the last
|
|
.B .PS
|
|
was encountered by PUBMAC.
|
|
.P
|
|
Lists of points may be nested up to a maximum level of nine.
|
|
A
|
|
.B .PS
|
|
command
|
|
inside the actual list will create a new, nested list of
|
|
points.
|
|
A new numbering style and indentation value
|
|
can be selected for this nested list of points.
|
|
To return to the previous list of points, use the
|
|
.B .PE
|
|
command, which also will restore the old operand values.
|
|
After being returned to the old list, the numbering
|
|
of further points will continue as selected when this list was started.
|
|
.P
|
|
To give an impression how the
|
|
.B .PT
|
|
command can be used, the following example is given. The input text:
|
|
.DS B
|
|
.BS
|
|
\&The .PT command can be used
|
|
\&.PS a 5 )
|
|
\&.PT
|
|
\&to construct a list of points which appear marked and
|
|
\&properly indented in the output file
|
|
\&.PT
|
|
\&to give a summary of information related to one point of view
|
|
\&.PT
|
|
\&to give more detailed information
|
|
\&for a given statement in a top-down way
|
|
\&.PS i 4 [ ]
|
|
\&.PT
|
|
\&this is possible in a nested way
|
|
\&.PT
|
|
\&the maximum level of nesting is nine, which
|
|
\&in general will be enough
|
|
\&.PE 0
|
|
\&.PT
|
|
\&in all respects, the .PT command
|
|
\&is very useful to construct a "structured" paper.
|
|
\&.PE
|
|
\&Here the normal text processing continues on the
|
|
\&indentation level as it was before the first .PT
|
|
\&in this section.
|
|
.BE
|
|
.DE
|
|
produces the following output:
|
|
.N 1
|
|
The .PT command can be used
|
|
.PS a 5 )
|
|
.PT
|
|
to construct a list of points which appear marked and properly
|
|
indented in the output file
|
|
.PT
|
|
to give a summary of information
|
|
related to one point of view
|
|
.PT
|
|
to give more detailed information
|
|
for a given statement in a top-down
|
|
way
|
|
.PS i 4 [ ]
|
|
.PT
|
|
this is possible in a nested way
|
|
.PT
|
|
the maximum level of nesting is nine, which
|
|
in general will be enough
|
|
.PE 0
|
|
.PT
|
|
in all respects, the .PT command
|
|
is very useful to construct a "structured"
|
|
paper.
|
|
.PE
|
|
Here the normal text processing continues on the
|
|
indentation level as it was before the first .PS
|
|
in this section.
|
|
.P
|
|
Another application for points are lists like the
|
|
command summary in appendix B.
|
|
The whole summary is a list of points preceded by
|
|
.B .PS 1 8,
|
|
every item in the list is a point started with
|
|
.B .PT xx,
|
|
where
|
|
.B xx
|
|
is the command name.
|
|
.S1 Local Layout
|
|
Two groups of commands are provided to determine the
|
|
local layout:
|
|
commands working on lines or groups of lines
|
|
(to create empty lines, for indenting, centering, etc),
|
|
and commands working on words (underlining, marking etc).
|
|
.DS I
|
|
.TS 0
|
|
l l.
|
|
\&.N [count] Begin new line, preceded by count blank lines
|
|
\&.BP Begin new page
|
|
\&.IS [count] Start indentating by count columns
|
|
\&.IE End indentation
|
|
\&.UN Undent temporarily
|
|
\&.CS Start centering
|
|
\&.CE End centering
|
|
\&.US Start underlining
|
|
\&.UE End underlining
|
|
\&.BS Start bold type face
|
|
\&.BE End bold type face
|
|
\&.NE [count] Need count lines on the current page
|
|
\&.U word... Underline word...
|
|
\&.CU word... Continuous underline word...
|
|
\&.B word... Bold face word...
|
|
.TE 0
|
|
.DE 0
|
|
.S2 Line Oriented Commands
|
|
The command
|
|
.DS I 6
|
|
.BS
|
|
\&.N [count]
|
|
.BE
|
|
.DE
|
|
.UW ( N ewline)
|
|
starts a new output line,
|
|
preceded by
|
|
.B count
|
|
blank lines.
|
|
If
|
|
.B count
|
|
is omitted, no blank lines are generated but only a new line is begun.
|
|
The command
|
|
.DS I 6
|
|
.BS
|
|
\&.BP
|
|
.BE
|
|
.DE
|
|
.UW ( B egin
|
|
.UW P age)
|
|
causes PUBMAC to put out the current page and start a new one.
|
|
.NE 6
|
|
.P
|
|
The command
|
|
.DS I 6
|
|
.BS
|
|
\&.IS [left indent [right indent [count]]]
|
|
.BE
|
|
.DE
|
|
.UW ( I ndentation
|
|
.UW S tart)
|
|
indents the output by
|
|
.B left indent
|
|
(default is 3) columns at the left margin.
|
|
Indents the output by
|
|
.B right indent
|
|
(default is 0) columns at the right margin,
|
|
after generating
|
|
.B count
|
|
(default 0) blank lines.
|
|
.DS I 6
|
|
.BS
|
|
\&.UN
|
|
.BE
|
|
.DE
|
|
.UW ( UN dent)
|
|
undents the next line temporarily, and the command
|
|
.DS I 6
|
|
.BS
|
|
\&.IE [count]
|
|
.BE
|
|
.DE
|
|
.UW ( I ndentation
|
|
.UW E nd)
|
|
undents the text permanently and
|
|
generates
|
|
.B count
|
|
(default 0) blank lines.
|
|
.P
|
|
Indentations can not be nested.
|
|
All three commands act as a break, i.e. put out a partially filled line.
|
|
.P
|
|
To center a piece of text, use the commands
|
|
.DS I 6
|
|
.BS
|
|
\&.CS [count]
|
|
\&.CE [count]
|
|
.BE
|
|
.DE
|
|
.UW ( C enter
|
|
.UW S tart,
|
|
.UW C enter
|
|
.UW E nd).
|
|
All input lines between the two commands will
|
|
appear centered, line for line without filling, in the output.
|
|
The operand
|
|
.B count
|
|
specifies the number of blank lines preceding and following the centered text
|
|
(default 0).
|
|
Both commands act as a break.
|
|
For instance, the title page of this report was formatted with the
|
|
commands
|
|
.DS I 6
|
|
.BS
|
|
\&.CS
|
|
\&PUBMAC
|
|
\&.N 1
|
|
\&A Set of NROFF/TROFF-Macros
|
|
\&to Format Publications
|
|
\&.N 1
|
|
\&User's Guide
|
|
\&.N 2
|
|
\&Third, revised edition
|
|
\&March 1980
|
|
\&.N 11
|
|
\&.CE
|
|
.BE
|
|
.DE
|
|
.P
|
|
To underline a piece of text, use the commands
|
|
.DS I 6
|
|
.BS
|
|
\&.US [C]
|
|
\&.UE
|
|
.BE
|
|
.DE
|
|
The text between the two commands will appear underlined.
|
|
If no operand is specified, only letters and digits will be underlined and
|
|
filling will take place.
|
|
The optional operand C stands for Continuous underline.
|
|
In this mode all characters and spaces will be underlined,
|
|
no filling will occur.
|
|
.P
|
|
To print a piece of text in boldface, use the commands
|
|
.DS I 6
|
|
.BS
|
|
\&.BS
|
|
\&.BE
|
|
.BE
|
|
.DE
|
|
.UW ( B old
|
|
.UW S tart,
|
|
.UW B old
|
|
.UW E nd).
|
|
The text between the two commands will appear in boldface.
|
|
The result highly depends on the output device.
|
|
In some cases the effect will be nil.
|
|
.P
|
|
Normally an input line starting with the control
|
|
character "." or "\'" is interpreted as a command.
|
|
To consider such lines as normal input,
|
|
precede each of them by "\e&".
|
|
.NE 5
|
|
.P
|
|
To assure that a certain piece of text is not split across a page boundary,
|
|
use the command
|
|
.DS I 6
|
|
.BS
|
|
\&.NE count
|
|
.BE
|
|
.DE
|
|
.UW ( NE ed)
|
|
which has no visible effect if there are still
|
|
.B count
|
|
lines left on the current output page,
|
|
but causes a page eject if not.
|
|
.S2 Word Oriented Commands
|
|
The following commands all take a list of words as operands
|
|
which are subject to a special treatment.
|
|
None of the commands causes a break.
|
|
.P
|
|
To underline a sequence of words, use
|
|
.DS I 6
|
|
.BS
|
|
\&.U word...
|
|
.BE
|
|
.DE
|
|
.UW ( U nderline).
|
|
The letters and digits in the operands
|
|
.B word...
|
|
will appear underlined in the output text.
|
|
The command
|
|
.P
|
|
.DS I 6
|
|
.BS
|
|
\&.CU word....
|
|
.BE
|
|
.DE
|
|
.UW ( C ontinuous
|
|
.UW U nderline)
|
|
will underline
|
|
.U all
|
|
characters,
|
|
including the separating spaces.
|
|
.P
|
|
The command
|
|
.DS I 6
|
|
.BS
|
|
\&.B word...
|
|
.BE
|
|
.DE
|
|
.UW ( B old)
|
|
will print the operands
|
|
.B word...
|
|
in bold face.
|
|
The result highly depends on the output device.
|
|
.S1 Tables, Figures and Formulas
|
|
PUBMAC provides commands which allow the user to
|
|
do his own formatting for figures, examples and so on.
|
|
Another related group of commands allows the user
|
|
to lay special stress on a piece of text.
|
|
For these purposes, the following commands are available:
|
|
.DS I
|
|
.TS 0
|
|
l l.
|
|
\&.DS start a display
|
|
\&.DS M start a marked display
|
|
\&.DS X start a boxed display
|
|
\&.DE end a display
|
|
\&.DB allow breaking of following display
|
|
.TE 0
|
|
.DE
|
|
A
|
|
.U display
|
|
is a text which should be kept together, i.e., if possible,
|
|
should not be split across a page
|
|
boundary, but moved as a whole to the next page
|
|
(however, see
|
|
.B .DB
|
|
below).
|
|
Provisions for several display types are made in PUBMAC.
|
|
To start a display, use
|
|
.DS I 6
|
|
.BS
|
|
\&.DS [mode]
|
|
.BE
|
|
.DE
|
|
.UW ( D isplay
|
|
.UW S tart),
|
|
where
|
|
.B mode
|
|
determines the kind of display.
|
|
To return to normal text processing, invoke the command
|
|
.DS I 6
|
|
.BS
|
|
\&.DE [count]
|
|
.BE
|
|
.DE
|
|
.UW ( D isplay
|
|
.UW E nd).
|
|
Where the operand
|
|
.B count
|
|
specifies the number of blank lines following the display (default 1).
|
|
.N
|
|
All text between both commands is subject to the formatting chosen
|
|
by the operands of the selected display.
|
|
Restrictions in the use of displays are discussed below.
|
|
.S2 Simple Displays
|
|
To start a simple display, use the command
|
|
.DS I 6
|
|
.BS
|
|
\&.DS
|
|
.BE
|
|
.DE
|
|
.UW ( D isplay
|
|
.UW S tart).
|
|
PUBMAC switches to no-format mode
|
|
i.e. input text lines are neither filled nor
|
|
adjusted.
|
|
The user himself has to take care for the formatting, especially that
|
|
the input text does not exceed the current linelength.
|
|
Other PUBMAC commands may be used inside the display to do
|
|
the formatting.
|
|
.S2 Marked and Boxed Displays
|
|
To lay special stress on a display,
|
|
e.g. to achieve more contrast between examples and running text,
|
|
it can be
|
|
.UW M arked
|
|
or
|
|
.UW bo X ed.
|
|
Optional operands specify the distance of the boundary of the display
|
|
from the left and right margin.
|
|
To start this kind of display, use the command
|
|
.DS I 6
|
|
.BS
|
|
\&.DS [mark] M [left-indentation]
|
|
\&.DS [mark] X [left-indentation] [right-indentation]
|
|
.BE
|
|
.DE
|
|
.UW ( D isplay
|
|
.UW S tart
|
|
.UW M arked,
|
|
.UW D isplay
|
|
.UW S tart
|
|
.UW bo X ed)
|
|
The boundary of the display will be
|
|
indented by
|
|
.B left-indentation
|
|
(default 3) columns from the current left margin.
|
|
.N
|
|
In the case of a marked display the left hand boundary of the display
|
|
will be represented by the
|
|
.B mark
|
|
character on each line.
|
|
.N
|
|
In the case of a boxed display the whole boundary of the display will
|
|
be indicated by the
|
|
.B mark
|
|
character.
|
|
The right hand boundary of the display will by indented by
|
|
.B right-indentation
|
|
(default 0) columns from the right margin.
|
|
.N
|
|
For instance, the input text
|
|
.DS I 6
|
|
.BS
|
|
\&.DS M
|
|
\&The marked display can be used
|
|
\&to make programming examples, formulae and similar text
|
|
\&distinguishable from the running text.
|
|
\&.DE
|
|
.BE
|
|
.DE
|
|
produces the output
|
|
.DS M
|
|
.BS
|
|
The marked display can be used
|
|
to make programming examples, formulae and similar text
|
|
distinguishable from the running text.
|
|
.BE
|
|
.DE
|
|
.S2 Inside the display
|
|
Inside simple and marked displays the text will be unformatted,
|
|
that is neither filled nor adjusted.
|
|
Inside boxed displays the text will be formatted.
|
|
.P
|
|
Appending
|
|
.B I
|
|
or
|
|
.B Q
|
|
operands after the before mentioned operands, allows the user
|
|
to control the formatting of the text and specify indentation
|
|
inside the boundary of the display.
|
|
.N
|
|
The possibilities are
|
|
.DS I 6
|
|
.BS
|
|
\&.DS [....] I [left-indentation]
|
|
\&.DS [....] Q [left-indentation] [right-indentation]
|
|
.BE
|
|
.DE
|
|
Use of the Q operand
|
|
.UW ( Q uoted)
|
|
causes
|
|
the text inside the display to be formatted.
|
|
Use of the I operand
|
|
.UW ( I ndent)
|
|
causes
|
|
the text to be unformatted.
|
|
The default for the
|
|
.B left-indentation
|
|
is 3 columns.
|
|
.N
|
|
The default for the
|
|
.B right-indentation
|
|
is
|
|
.BW left-indentation .
|
|
.P
|
|
As an example, the input lines
|
|
.DS
|
|
.BS
|
|
\&This is the sentence preceding the quotation; to start the
|
|
\"ation use the command ".DS Q".
|
|
\&.DS Q 15
|
|
\&This is the quoted material.
|
|
\&Note that it is automatically indented from both margins.
|
|
\&To terminate the quotation, use ".DE"
|
|
\&.DE
|
|
\&This is the first sentence following the quoted text.
|
|
.BE
|
|
.DE
|
|
produce the following output:
|
|
.NE 7
|
|
This is the sentence preceding the quotation; to start the
|
|
quotation use the command ".DS Q".
|
|
.DS Q 15
|
|
This is the quoted material.
|
|
Note that it is automatically indented from both margins.
|
|
To terminate the quotation, use ".DE"
|
|
.DE
|
|
This is the first sentence following the quoted text.
|
|
.P
|
|
The box
|
|
.DS X 10 Q 5
|
|
The text within the box display is subject
|
|
to the normal PUBMAC formatting, but other PUBMAC commands
|
|
can be used to get the desired layout.
|
|
.CS
|
|
Text for instance can appear
|
|
centered
|
|
within a box display
|
|
.CE
|
|
.DE
|
|
was created with the input text:
|
|
.DS I 6
|
|
.BS
|
|
\&.DS X 10 Q 5
|
|
\&The text within a box display is subject
|
|
\&to the normal PUBMAC formatting, but other PUBMAC commands
|
|
\&can be used to get the desired layout.
|
|
\&.CS
|
|
\&Text for instance can appear
|
|
\¢ered
|
|
\&within a box display
|
|
\&.CE
|
|
\&.DE
|
|
.BE
|
|
.DE
|
|
.S2 Breaking up a Display
|
|
Normally a display is moved to the next page, if there is
|
|
not enough space left on the current page to hold it completely.
|
|
Especially when a display is long,
|
|
this can lead to an annoyingly large amount of white paper
|
|
caused by the page eject.
|
|
.NE 5
|
|
The command
|
|
.DS I 6
|
|
.BS
|
|
\&.DB
|
|
.BE
|
|
.DE
|
|
.UW ( D isplay
|
|
.UW B reak
|
|
allowed),
|
|
.B .DS
|
|
allows all following displays to be split if necessary.
|
|
The same effect for one display only,
|
|
can be obtained by appending the operand
|
|
.B B
|
|
to the
|
|
.B .DS
|
|
request.
|
|
.S2 Restrictions with Displays
|
|
.PS
|
|
.PT
|
|
As already mentioned, the user has to take care in unformatted
|
|
displays that the length of the input lines does not exceed
|
|
the current output line length;
|
|
.ig
|
|
especially in multi-column mode too long display text can lead to overprinting
|
|
of columns.
|
|
..
|
|
.PT
|
|
To prevent ugly output,
|
|
the text of a box display should not be longer than a page.
|
|
.PT
|
|
It is not possible to nest displays.
|
|
.PE
|
|
.S2 Tables
|
|
The program
|
|
.B tbl
|
|
can be used to configure complicated tables.
|
|
A description of how to use it can be found in
|
|
the
|
|
.B tbl
|
|
user's manual.
|
|
.[
|
|
%A M. E. Lesk
|
|
%T T\s-2BL\s0\(emA program to format tables
|
|
%I Bell laboratories
|
|
%C Murray Hill, New Jersey
|
|
.]
|
|
PUBMAC will handle multiple page tables correctly.
|
|
To repeat the table's heading on each page it is necessary to
|
|
surround the heading with
|
|
.B ".TS H
|
|
and
|
|
.BW .TH .
|
|
The
|
|
.B ".TS H
|
|
command replaces the normal
|
|
.B .TS
|
|
command.
|
|
.S2 Formulas
|
|
The program
|
|
.B eqn
|
|
allows you to express formulas in a rather natural syntax.
|
|
For more documentation about how to use
|
|
.B eqn
|
|
see [UPM75].
|
|
.A
|
|
The program
|
|
.B eqn
|
|
converts formula descriptions into NROFF/TROFF commands.
|
|
Typical usage is
|
|
.DS I 6
|
|
.BS
|
|
\&eqn file | troff
|
|
.BE
|
|
.DE
|
|
where file contains both the
|
|
.B eqn
|
|
and PUBMAC requests.
|
|
.P
|
|
In PUBMAC the requests
|
|
.DS I 6
|
|
.BS
|
|
\&.EQ [I/C] [indent] [L/R number] [R/L number] [count]
|
|
\&.EN [count]
|
|
.BE
|
|
.DE
|
|
.UW ( EQ uation,
|
|
.UW E quation
|
|
.UW e N d)
|
|
are recognized.
|
|
The first operand of
|
|
.B .EQ
|
|
can be
|
|
.B I
|
|
or
|
|
.B C
|
|
\&, C has the effect of centering the formula on the line and is
|
|
the default, I has the
|
|
effect of indenting the display by the value of the operand following the
|
|
.B I
|
|
(default 0).
|
|
.P
|
|
The following operands allow the formula to be numbered in one or
|
|
both margins.
|
|
.B L
|
|
or
|
|
.B R
|
|
specify the the formula should be numbered at the Left or Right margin.
|
|
The number to be placed in that margin should follow the
|
|
.B L
|
|
or
|
|
.BW R .
|
|
.P
|
|
The operand
|
|
.B count
|
|
of
|
|
.B .EQ
|
|
and
|
|
.B .EN
|
|
specifies the amount of blank lines to be inserted at the
|
|
before and after the
|
|
formula.
|
|
.S1 Page Format
|
|
If you want to use another format than the standard format
|
|
which is described below, you only may do this with special PUBMAC
|
|
commands:
|
|
.DS I
|
|
.TS 0
|
|
l l.
|
|
\&.IN set standard indentation
|
|
\&.PO set page offset
|
|
\&.PN set page number
|
|
\&.PL set page length
|
|
\&.LL set line length
|
|
\&.MS T define top margin titles
|
|
\&.MS B define bottom margin titles
|
|
\&.ME end titles
|
|
\&.IN set default indent
|
|
\&.AD adjust rigth margin
|
|
\&.NA do not adjust right margin
|
|
\&.HY switch hyphenation on
|
|
\&.NH switch hyphenation off
|
|
\&.HC set hyphenation indicator character
|
|
.TE 0
|
|
.DE
|
|
.S2 The Standard Format
|
|
PUBMAC uses the following standard values for the page format:
|
|
.DS I
|
|
the width of 3 digits for the standard indentation
|
|
16.02 cm of text per line
|
|
pages of 29.7 cm
|
|
25.7 cm of text per page, including the margin titles
|
|
2 cm of blank on top of page
|
|
the page offset is 0
|
|
bottom title of page is "-- % --"
|
|
where % is the current page number in arabic numerals
|
|
adjust both margins, fill output lines
|
|
hyphenation enabled
|
|
.DE
|
|
.S2 Setting the Page Offset
|
|
If you want to have a larger
|
|
blank margin on the left hand side of your paper (e.g. for binding
|
|
purposes),
|
|
use the command
|
|
.DS I 6
|
|
.BS
|
|
\&.PO offset
|
|
.BE
|
|
.DE
|
|
.UW ( P age
|
|
.UW O ffset).
|
|
The output will be moved as a whole by
|
|
.B offset
|
|
columns to the right.
|
|
This command should precede all input text.
|
|
The default offset is zero, i.e. printing starts at the leftmost
|
|
position of the output device.
|
|
.NE 10
|
|
.S2 Changing the Page Format
|
|
To change the length of the page, use the command
|
|
.DS I 6
|
|
.BS
|
|
\&.PL paperlength [textlength [top offset]]
|
|
.BE
|
|
.DE
|
|
.UW ( P age
|
|
.UW L ength).
|
|
The operand
|
|
.B paperlength
|
|
determines the physical length of the page (the number of lines
|
|
which fit on one sheet of paper);
|
|
the operand
|
|
.B textlength
|
|
determines the number of lines used by PUBMAC (excluding top and bottom margin)
|
|
for text output.
|
|
If
|
|
.B textlength
|
|
is not specified it is defaulted to
|
|
.BW 26.03cm .
|
|
The default value for
|
|
.B paperlength
|
|
is 29.7cm, which is
|
|
the right value A4 paper.
|
|
.A
|
|
The offset of the text from the top of the paper is given by the operand
|
|
.B top offset
|
|
(default is 1.8cm).
|
|
The sum of
|
|
.B textlength
|
|
and
|
|
.B "top offset"
|
|
must be smaller then or equal to
|
|
.BW paperlength .
|
|
.A
|
|
This command must precede all other input text, as it is not
|
|
possible to change the page length during the text processing.
|
|
.P
|
|
To change the linelength, use the command
|
|
.DS I 6
|
|
.BS
|
|
\&.LL length [footnote length]
|
|
.BE
|
|
.DE
|
|
.UW ( L ine
|
|
.UW L ength).
|
|
The default line length 16.02cm.
|
|
The default footnote line length is 10/11 of the line length.
|
|
.S2 Head and Foot Titles
|
|
To define a head title, to appear at the start of each page, or to change
|
|
the standard foot title ("\-\-~%~\-\-") at the bottom of each page,
|
|
the commands
|
|
.DS I
|
|
.TS 0
|
|
l l.
|
|
\&.MS T define Top Margin titles
|
|
\&.MS B define Bottom Margin titles
|
|
\&.ME Title End
|
|
.TE 0
|
|
.DE
|
|
are supplied.
|
|
As with NROFF/TROFF, the current page number is represented by "%" in the
|
|
.B .TL
|
|
request.
|
|
.P
|
|
To define a head title, use the command
|
|
.DS I 6
|
|
.BS
|
|
\&.MS T [E/O] [count]
|
|
.BE
|
|
.DE
|
|
.UW ( M argin
|
|
.UW T op text).
|
|
The first optional operand allows the definition of different
|
|
titles for even and odd numbered pages;
|
|
specify
|
|
.B E
|
|
for titles to appear on even numbered, and
|
|
.B O
|
|
for titles to appear on odd numbered pages.
|
|
If the second operand is omitted, the title defined will
|
|
appear on all pages, regardless whether the page number
|
|
is even or odd.
|
|
The operand
|
|
.B count
|
|
specifies the number of blank lines between the top margin text
|
|
and the start of further text
|
|
(default 2).
|
|
.A
|
|
The text defining the head title
|
|
follows on the next input lines. If you want to enter PUBMAC
|
|
commands into the title which have to be executed each time the
|
|
head title is processed (e.g.
|
|
.B .TL
|
|
commands), precede the command lines with the character
|
|
sequence "\e!".
|
|
Commands that affect the general layout,
|
|
like
|
|
.BW .SS
|
|
and
|
|
.BW .IN ,
|
|
should be used with care.
|
|
In general it is wise to reset the altered environment to its
|
|
original state at the end of the title definition.
|
|
.P
|
|
To terminate the title definition, use
|
|
.DS I 6
|
|
.BS
|
|
\&.ME
|
|
.BE
|
|
.DE
|
|
.UW ( M argin
|
|
text
|
|
.UW E nd).
|
|
.P
|
|
Equivalent to head titles, foot titles can be defined. Use
|
|
.DS I 6
|
|
.BS
|
|
\&.MS B [E/O] [count]
|
|
.BE
|
|
.DE
|
|
.UW ( M argin
|
|
.UW B ottom
|
|
text) to start the input of the foot title. Use
|
|
the command
|
|
.B .ME
|
|
to terminate the foot title definition, too.
|
|
.P
|
|
The foot titles of this manual, for instance, have been
|
|
defined by:
|
|
.DS I 6
|
|
.BS
|
|
\&.MS B E
|
|
\&\e!.TL \'%\'\'\'
|
|
\&.ME
|
|
\&.MS B O
|
|
\&\e!.TL \'\'\'%\'
|
|
\&.ME
|
|
.BE
|
|
.DE
|
|
This example also shows the usage of the escape sequence
|
|
"\e!",
|
|
which prevents both
|
|
.B .TL
|
|
commands from being executed during the definition
|
|
of the titles, and causes them to be executed every time a new page
|
|
is processed.
|
|
This is essential to get the current page number
|
|
and not the page number being actual when the title is defined.
|
|
.NE 4
|
|
.P
|
|
To delete the standard foot title, simply define an empty foot title:
|
|
.DS I 6
|
|
.BS
|
|
\&.MS B 0
|
|
\&.ME
|
|
.BE
|
|
.DE
|
|
.S2 Setting the Standard Indentation
|
|
The value used for indenting paragraphs, after section start,
|
|
indented and quoted displays, and for the command
|
|
.B .IS,
|
|
by default is set to 3.
|
|
This value can be changed by invoking the command
|
|
.DS I 6
|
|
.BS
|
|
\&.IN [indent]
|
|
.BE
|
|
.DE
|
|
.UW ( IN dentation).
|
|
After this command, further sections, paragraphs etc. are indented by
|
|
the number of columns specified by
|
|
.BW indent .
|
|
If no indentation at all is desired, specify
|
|
.B 0
|
|
as operand.
|
|
.B Indent
|
|
has as default value 3.
|
|
.S2 "Page Number"
|
|
Sometimes a paper is formatted in parts.
|
|
The number of the first page of a certain part will not
|
|
always be 1.
|
|
The command
|
|
.DS I 6
|
|
.BS
|
|
\&.PN number [style]
|
|
.BE
|
|
.DE
|
|
.UW ( P age
|
|
.UW N umber)
|
|
allows you to use a different start value for page numbers.
|
|
The
|
|
.B style
|
|
operand
|
|
can have one of the values: a, A, i, I and 1.
|
|
These letters have the same meaning as for the
|
|
.B style
|
|
operand of the
|
|
.B .PS
|
|
request.
|
|
The new number ( and format ) becomes valid at the next printed page,
|
|
or at the first page if given before any text.
|
|
.S2 Adjusting
|
|
As already has been mentioned, the default mode for formatting
|
|
is filling and adjusting.
|
|
.A
|
|
Adjusting can be switched off
|
|
by the command
|
|
.DS I 6
|
|
.BS
|
|
\&.NA
|
|
.BE
|
|
.DE
|
|
.UW ( N o
|
|
.UW A djust).
|
|
All text following will not be aligned to a uniform right margin,
|
|
until a
|
|
.DS I 6
|
|
.BS
|
|
\&.AD [type]
|
|
.BE
|
|
.DE
|
|
.UW ( AD just)
|
|
is encountered, which switches on adjusting again.
|
|
The operand
|
|
.B type
|
|
can be one of the following,
|
|
.PS i 5
|
|
.PT "~~R"
|
|
Right adjusted: uniform right margin, ragged left margin
|
|
.PT "~~L"
|
|
Left adjusted: uniform left margin, ragged right margin
|
|
.PT "~~C"
|
|
Centered: both margins ragged by the same amount
|
|
.PT "~~B"
|
|
Both adjusted (default): uniform left and right margin
|
|
.PE
|
|
.S2 Hyphenation
|
|
Hyphenation can be switched off globally by using the command
|
|
.DS I 6
|
|
.BS
|
|
\&.NH
|
|
.BE
|
|
.DE
|
|
.UW ( N o
|
|
.UW H yphenation).
|
|
.NE 6
|
|
.N
|
|
The command
|
|
.DS I 6
|
|
.BS
|
|
\&.HY
|
|
.BE
|
|
.DE
|
|
.UW ( HY phenation)
|
|
enables hyphenation again.
|
|
.P
|
|
A second possibility is to use the command
|
|
.DS I 6
|
|
.BS
|
|
\&.HC character
|
|
.BE
|
|
.DE
|
|
(set
|
|
.UW H yphenation
|
|
.UW C haracter),
|
|
which determines the operand
|
|
.B character
|
|
to be the indicator character for hyphenation.
|
|
I.e. a word will be hyphenated
|
|
at the points indicated by this character.
|
|
The character itself will not appear in the
|
|
output, even if the word is not hyphenated.
|
|
Example:
|
|
.DS I 6
|
|
.BS
|
|
\&.HC `
|
|
\& .....
|
|
\& ... Algo`rithmus ...
|
|
.BE
|
|
.DE
|
|
This occurence of
|
|
.B Algorithmus
|
|
will now, if necessary, be hyphenated as
|
|
.BS
|
|
Algo-rithmus.
|
|
.BE
|
|
.A
|
|
To prevent a word to be hyphenated at all,
|
|
it has to be preceded by the hyphenation indicator character, e.g.
|
|
.BW `Algorithmus .
|
|
.S1 Footnotes, Table of Contents, Bibliography
|
|
PUBMAC provides commands for the creation of
|
|
footnotes, a table of contents and a list of bibliograpy.
|
|
.P
|
|
The following commands are available:
|
|
.DS I
|
|
.TS 0
|
|
l l.
|
|
\&.FS start a footnote
|
|
\&.FN start numbered footnote
|
|
\&.FE end a footnote
|
|
\&.CT put out the table of contents
|
|
\&.RS start a bibliography reference
|
|
\&.RF start a reference
|
|
\&.RE end a bibliography reference
|
|
\&.RT give list of bibliography
|
|
.TE 0
|
|
.DE
|
|
.S2 Footnotes
|
|
Three commands are provided to create a footnote.
|
|
Footnotes appear on the bottom of the page where they are
|
|
defined; if the remaining place on the page is too small
|
|
for the text of a footnote it will be shifted to the bottom of the next page.
|
|
.P
|
|
To start a footnote text, use the PUBMAC command
|
|
.DS I 6
|
|
.BS
|
|
\&.FS [prefix] indicator [ suffix ]
|
|
\&.FN [prefix] [suffix]
|
|
.BE
|
|
.DE
|
|
.UW ( F ootnote
|
|
.UW S tart,
|
|
.UW F ootnote
|
|
start
|
|
.UW N umbered).
|
|
.B indicator
|
|
allows to identify the footnote:
|
|
it will appear in the output text at the place where
|
|
.B .FS
|
|
was encountered in the input text, and it will appear at the start
|
|
of the footnote text.
|
|
.P
|
|
The
|
|
.B .FN
|
|
request has as default indicator a number.
|
|
This number is automaticaly incremented at each occurence of a
|
|
.B .FN
|
|
request.
|
|
The footnote counter is reset to one for each new section, when
|
|
in manual mode.
|
|
.A
|
|
The operand
|
|
.B suffix
|
|
is meant for the special case that
|
|
a full stop, comma, semicolon etc. immediately has to follow
|
|
the footnote indicator in the output text (otherwise the special
|
|
character and the indicator would be separated by a blank, or even worse,
|
|
by a newline).
|
|
The operand
|
|
.B prefix
|
|
serves a similar purpose.
|
|
.A
|
|
If only two of the three operands are specified, the last is
|
|
interpreted as the prefix.
|
|
.P
|
|
To end the text of a footnote, the command
|
|
.DS I 6
|
|
.BS
|
|
\&.FE
|
|
.BE
|
|
.DE
|
|
.UW ( F ootnote
|
|
.UW E nd)
|
|
is used. If the footnote is referenced in the middle of a sentence,
|
|
the rest of the sentence has to follow the
|
|
.B .FE
|
|
on the next line.
|
|
.NE 5
|
|
.P
|
|
As an example
|
|
.FS (*) ,
|
|
this is an example of a footnote
|
|
.FE
|
|
the footnote at the bottom of this page was created by the following
|
|
input lines:
|
|
.DS I 6
|
|
.BS
|
|
\&As an example
|
|
\&.FS (*) ,
|
|
\&this is an example of a footnote
|
|
\&.FE
|
|
\&the footnote at the .....
|
|
.BE
|
|
.DE
|
|
This example also shows the usage of the operand
|
|
.B suffix
|
|
of the
|
|
.B .FS
|
|
command, you see that the indicator "(*)"
|
|
is followed by "," immediately without a separating space.
|
|
.S2 Table of Contents
|
|
As mentioned above, all titles of sections are saved for a table
|
|
of contents.
|
|
To put out the table of contents,
|
|
at the end of the input text invoke the command
|
|
.DS I 6
|
|
.BS
|
|
\&.CT
|
|
.BE
|
|
.DE
|
|
.UW ( C ontents
|
|
.UW T able).
|
|
The table of contents collected up to now is put out and then deleted.
|
|
No headers or new page commands are generated.
|
|
This gives one the flexibility to put out the table of contents
|
|
for example at
|
|
the end of each chapter on a separate page or at the end of the
|
|
text in an appendix.
|
|
To have the pages on which the table of contents is printed, numbered
|
|
with roman numbers starting
|
|
with "i", use the command
|
|
.B .PN 1 i
|
|
before the
|
|
.B .CT
|
|
command.
|
|
The table of contents can then be inserted
|
|
before the front page of your paper instead of at the end.
|
|
In report mode the table of contents is also entered in the table of contents.
|
|
.S2 Bibliography
|
|
Besides supporting the
|
|
.U refer
|
|
utility PUBMAC provides
|
|
commands to collect literature references and
|
|
to print them at the desired place.
|
|
.A
|
|
To generate an entry in the bibliography and to refer to it, use
|
|
.DS I 6
|
|
.BS
|
|
\&.RS [prefix] refname [suffix]
|
|
.BE
|
|
.DE
|
|
.UW ( R eference
|
|
.UW S tart).
|
|
The text following this command is saved for the bibliography.
|
|
Similar to the operands of the footnote command ,
|
|
.B refname
|
|
is placed in the running output text and at the start of the
|
|
bibliography entry.
|
|
.B refname
|
|
will be enclosed in square brackets
|
|
(\ [ and\ ]\ ).
|
|
.B suffix
|
|
and
|
|
.B prefix
|
|
have the same meaning as with the footnote command.
|
|
PUBMAC commands for formatting the bibliography text have to be escaped
|
|
by "\e!", as the layout of the bibliography is determined
|
|
when the
|
|
.B .RT
|
|
command is invoked.
|
|
.P
|
|
.NE 8
|
|
If you want to create an entry without referring to it
|
|
in the text explicitely, use the command
|
|
.DS I 6
|
|
.BS
|
|
\&.RF refname
|
|
.BE
|
|
.DE
|
|
.UW ( R e F erence
|
|
start).
|
|
The result is the same as with
|
|
.B .RS,
|
|
but
|
|
.B refname
|
|
will not appear in the running text.
|
|
.P
|
|
To terminate a bibliography entry, use the command
|
|
.DS I 6
|
|
.BS
|
|
\&.RE
|
|
.BE
|
|
.DE
|
|
.UW ( R eference
|
|
entry
|
|
.UW E nd),
|
|
which will switch back to normal text
|
|
processing.
|
|
.P
|
|
To put out the collected bibliography, invoke the command
|
|
.DS I 6
|
|
.BS
|
|
\&.RT
|
|
.BE
|
|
.DE
|
|
.UW ( R eference
|
|
.UW T able).
|
|
The bibliography collected up to now is put out and then deleted,
|
|
so that it is possible to start a new bibliography.
|
|
In this way, bibliographies can be made either per section
|
|
or for the whole paper.
|
|
The bibliography is put out in the format being chosen the
|
|
point at which the
|
|
.B .RT
|
|
command is invoked.
|
|
.S2 Using refer
|
|
The program
|
|
.B refer
|
|
can be used to add references to articles mentioned in a
|
|
systemwide database, a private database or in the text.
|
|
It places an indicator in the text and the reference in a footnote
|
|
on the same page.
|
|
If the
|
|
.I \-e
|
|
option of
|
|
.B refer
|
|
is used the references will appear at the appropiate place.
|
|
The
|
|
collected references have to be surrounded by appropiate
|
|
PUBMAC commands.
|
|
.S2 Indeces
|
|
Commands are provided to collect index words accompanied by the number
|
|
of the page they occur.
|
|
Another command causes the list of collected index words to be printed
|
|
on NROFF/TROFF's error output.
|
|
.A
|
|
To add an index entry to the list use
|
|
.DS I 6
|
|
.BS
|
|
\&.IX index-word ...
|
|
\&.IW [prefix] index-word [suffix]
|
|
\&.IR index-word ...
|
|
.BE
|
|
.DE
|
|
The arguments of the
|
|
.B .IX
|
|
.UW ( I nde\c
|
|
.UW X )
|
|
and
|
|
.B .IW
|
|
.UW ( I ndex
|
|
.UW W ord)
|
|
commands appear in the running text,
|
|
as opposed to
|
|
.B .IR
|
|
.UW ( I ndex
|
|
.UW R ference)
|
|
whose arguments only appear in the index list.
|
|
.B Suffix
|
|
and
|
|
.B prefix
|
|
have the same meaning as with the footnote command.
|
|
.A 1
|
|
The collected references can be produced
|
|
on NROFF/TROFF's error output with the command
|
|
.DS I 6
|
|
.BS
|
|
\&.IT
|
|
.BE
|
|
.DE
|
|
.UW ( I ndex
|
|
.UW T able).
|
|
By redirecting the error output of NROFF/TROFF
|
|
one can save this list for further processing.
|
|
.DS I
|
|
.BS
|
|
troff -mkun files .... 2>indeces
|
|
awk -f .... indeces | troff -mkun
|
|
.BE
|
|
.DE
|
|
.A
|
|
The index entries are produced on one line each with the index words
|
|
enclosed in square brackets and
|
|
inmediatly followed by the appropiate page number.
|
|
An example:
|
|
.DS I 6
|
|
.BS
|
|
[indeces]\n%
|
|
.BE
|
|
.DE
|
|
.S1 Special Considerations
|
|
This section discusses
|
|
the use of the tabulator, special characters and some other special
|
|
facilities in PUBMAC.
|
|
.S2 Tabulator
|
|
The tabulator stops in PUBMAC are set to
|
|
.DS I 6
|
|
.BS
|
|
9,17,25,33,....
|
|
.BE
|
|
.DE
|
|
by default.
|
|
To set the tabulator positions to your needs, use
|
|
.DS I 6
|
|
.BS
|
|
\&.ta pos...
|
|
.BE
|
|
.DE
|
|
(set
|
|
.UW TA bulator),
|
|
which will set the tabulator stops to the
|
|
positions indicated by
|
|
.B pos...
|
|
If pubmac is used in conjuction with
|
|
.B tbl
|
|
the tab stops will be heavily used by tbl and thereby rendered
|
|
almost unusable outside the tables.
|
|
.S2 Special characters
|
|
.SP
|
|
The character
|
|
"~"
|
|
is replaced by the unpaddable space character,
|
|
which permits tying two or more words together so that
|
|
they will neither be moved apart nor split across two lines.
|
|
For example, if you want the words
|
|
"integral number denotation" not to be separated by more
|
|
than one blank, enter them as
|
|
.BW integral~number~denotation .
|
|
.P
|
|
The command
|
|
.DS I 6
|
|
.BS
|
|
\&.SP [character]
|
|
.BE
|
|
.DE
|
|
allows you to use any other character as indicator for the unpaddable space.
|
|
If you specify no operand, you will have no single character to
|
|
indicate a unpaddable space.
|
|
.SP ~
|
|
.P
|
|
Since the backslash character "\e" is used heavily by NROFF/TROFF as escape
|
|
character,
|
|
it has to be written twice if one wants to see it back in the output.
|
|
As the text of displays is processed several times,
|
|
even a doubled backslash will be lost.
|
|
Therefore a backslash in a display should be entered
|
|
either eight or a higher power of 2 times (which is a nuisance) or as "\ee".
|
|
.S2 Halfline Motions
|
|
NROFF/TROFF, thus also PUBMAC, provides the
|
|
possibility for half line motions, e.g. for formatting
|
|
mathematical formulas.
|
|
The sequence
|
|
.B \ed
|
|
moves down half a line, and the sequence
|
|
.B \eu
|
|
moves up half a line.
|
|
The output
|
|
.N 1
|
|
(i\d1\u - i\d2\u)\u2\d
|
|
.N 1
|
|
was produced with the input
|
|
.DS I 6
|
|
.BS
|
|
(i\ed1\eu - i\ed2\eu)\eu2\ed
|
|
.BE
|
|
.DE
|
|
Usage of
|
|
.B \ed
|
|
and
|
|
.B \eu
|
|
can result in messy output on devices
|
|
not capable of performing half line motions; messy output
|
|
also will result if not the same number of "ups" and "downs" is
|
|
used.
|
|
.P
|
|
Typically lineprinters and display terminals can not perform half line
|
|
motions, whereas the HyPrint devices are capable of doing so.
|
|
.P
|
|
See also the section describing the use of
|
|
.B eqn
|
|
with PUBMAC.
|
|
.S2 The Actual Section Number
|
|
The actual section numbers are stored in registers named
|
|
.B Sn,
|
|
where
|
|
.B n
|
|
stands for any of the digits 1, 2, 3, 4 and 5.
|
|
If you want to refer to it, access it in the input text through
|
|
.B \en(Sn,
|
|
which will be replaced in the output text by the current section
|
|
number of the corresponding section depth.
|
|
For example if you wish to insert the number of the current chapter
|
|
use
|
|
.BW \en(S1 .
|
|
The register named S5 is used for the numbering of appendices.
|
|
.A
|
|
To use it in a page title definition, two backslashes have to be written:
|
|
.BW \e\en(Sn .
|
|
The first line of the page header of
|
|
this manual, for instance, has been produced by entering the
|
|
command
|
|
.DS I 6
|
|
.BS
|
|
\&\e!.TL \'PUBMAC users guide\'\'\e\en(S1\'
|
|
.BE
|
|
.DE
|
|
when defining the head title with the commands
|
|
.B .MS T
|
|
and
|
|
.B .ME
|
|
(see previous chapter).
|
|
.SM AP A
|
|
.AP "Error messages"
|
|
Besides error messages issued by NROFF/TROFF,
|
|
messages from PUBMAC may be written to the users terminal
|
|
(Unix error output file 2).
|
|
The messages have the following form:
|
|
.DS I 6
|
|
.BS
|
|
Error (p=.., l=..): message
|
|
.BE
|
|
.DE
|
|
.B message
|
|
gives information about the kind of error encountered.
|
|
The location of the error is described between the parentheses
|
|
in the order
|
|
.DS I
|
|
p = page number
|
|
l = line number on the page
|
|
.DE
|
|
Additionally, errors are marked by three plus signs (\(pl\(pl\(pl) or a \(lh
|
|
.DS I 6
|
|
.BS
|
|
\&\(lh Error
|
|
.BE
|
|
.DE
|
|
appearing on the right margin of the output text.
|
|
Since many errors are detected much too late,
|
|
the actual error is always located before the location stated.
|
|
.LL
|
|
.AP "Command Summary"
|
|
In the summary, the following abbreviations are used for operands:
|
|
.VS 0.8 0.2
|
|
.PS - 6
|
|
.PT n
|
|
denotes a number (e.g. '1', '5', '231')
|
|
.PT c
|
|
denotes a single character (e.g. 'i', 'F', 'O')
|
|
.PT w
|
|
denotes a word (e.g. 'NROFF', 'pubmac')
|
|
.PT w...
|
|
denotes a sequence of 1 or more words
|
|
(e.g. 'Table of Contents')
|
|
.PE
|
|
.VS
|
|
.N 4
|
|
.PS 1 14
|
|
.PT Command
|
|
Explanation
|
|
.PT .A [n]
|
|
.B Alinea.
|
|
.N
|
|
First line of alinea will be indented.
|
|
.N
|
|
The alinea will be preceded by n (default 0) blank lines.
|
|
.PT .AD [c]
|
|
.B Adjust mode.
|
|
.N
|
|
Left, Right, Centered or Both.
|
|
.NE 3+1
|
|
.PT ".AP w..."
|
|
.B Appendix.
|
|
.N
|
|
Same as .S1.
|
|
.NE 6+1
|
|
.PT ".B w..."
|
|
.B Boldface.
|
|
.N
|
|
Write the words given as operands w... in
|
|
bold face letters (this is done in a output device dependant way).
|
|
.PT .BE
|
|
.B Bold end.
|
|
.N
|
|
End of bolt text.
|
|
.PT .BP
|
|
.B Begin page.
|
|
.PT ".BS"
|
|
.B Bold start.
|
|
.N
|
|
All following text is printed in bold face up to .BE.
|
|
.N
|
|
The way bold face is printed depends on the output device.
|
|
.NE 10
|
|
.PT .CE
|
|
.B Centering end.
|
|
.N
|
|
The centered text will be followed by n blank lines.
|
|
.NE 3
|
|
.PT .CS
|
|
.B Centering start.
|
|
.N
|
|
Following input lines up to .CE will be centered.
|
|
.N
|
|
The centered text will be preceded by n blank lines.
|
|
.NE 10+1
|
|
.PT ".CT"
|
|
.B Table of contents.
|
|
.N
|
|
All titles collected from previous .S1, .S2, .S3, .S4 and .AP commands
|
|
are put out.
|
|
.PT ".CU w..."
|
|
.B Continuous underline.
|
|
.N
|
|
Like .U only all characters are underlined.
|
|
.NE 4+1
|
|
.PT .DB
|
|
.B Display break.
|
|
.N
|
|
Allow the following displays to be broken
|
|
up, if necessary.
|
|
.PT .DE [n]
|
|
.B Display end.
|
|
.N
|
|
The display will be followed by n (default 1) blank lines.
|
|
.NE 6+1
|
|
.PT ".DS "
|
|
.B Display.
|
|
.N
|
|
A display is text
|
|
which is kept together and not spread over a page boundary.
|
|
.N
|
|
The operands determine the kind of display.
|
|
The first few operands are:
|
|
.N
|
|
.PS - 4
|
|
.PT B
|
|
.B box display
|
|
.N
|
|
the text between .DS B and .DE
|
|
will be surrounded by a box, the text will be formatted and adjusted
|
|
.PT M
|
|
.B marked display
|
|
.N
|
|
the text will be marked by |
|
|
on the left hand side, not adjusted and not filled
|
|
.PT no
|
|
.N 1
|
|
not adjusted, not filled
|
|
.PE
|
|
These operands can be followed by:
|
|
.PS - 4
|
|
.PT I
|
|
.B indented display
|
|
.N
|
|
not adjusted, not filled
|
|
.PT Q
|
|
.B quoted display
|
|
.N
|
|
indented from both margins,
|
|
adjusted and filled
|
|
.PE
|
|
.PT .FE
|
|
.B Footnote end.
|
|
.NE 3
|
|
.PT ".FN [[w2] w1]"
|
|
.B Numbered footnote start
|
|
.N
|
|
As with .FS, but the indicator is defaulted to a number in parenthesis.
|
|
.NE 17+1
|
|
.PT ".FS [w3] w1 [w2]"
|
|
.B Footnote start.
|
|
.N
|
|
The footnote will be moved to the bottom of the page.
|
|
Operands: w1=indicator, w2=suffix and w3=prefix.
|
|
The indicator (w1) appears in the output text and
|
|
at the start of the footnote text as well to identify the footnote.
|
|
Prefix and suffix are for the special case that the indicator
|
|
has to be preceded or followed by e.g. comma, full stop etc.
|
|
The running text will contain w3w1w2.
|
|
.NE 10+1
|
|
.PT ".HC c"
|
|
.B Hyphenation character.
|
|
.N
|
|
The hyphenation control character is set to c.
|
|
It can be imbedded in words to indicate where they should be
|
|
hyphenated. If it precedes a word, this word will not be
|
|
hyphenated. The hyphenation character itself will not appear in
|
|
the output.
|
|
.PT .HY
|
|
.B Hyphenation.
|
|
.PT .IE
|
|
.B Indentation end.
|
|
.N
|
|
Return to the indentation level before the last .IS.
|
|
.NE 4+1
|
|
.PT ".IN n"
|
|
.B Set Indentation.
|
|
.N
|
|
The indentation used for paragraphs, section start etc
|
|
is set to n.
|
|
.NE 4+1
|
|
.PT .IR w...
|
|
.B Index Reference
|
|
add the words to the index list, do not
|
|
insert them in the running text.
|
|
.NE 4+1
|
|
.PT .IS [n]
|
|
.B Indentation start.
|
|
.N
|
|
Indent following text by n (default three) columns until
|
|
a .IE is encountered.
|
|
.NE 4+1
|
|
.PT .IT
|
|
.B Index Table
|
|
Produce the index table on file descriptor 2.
|
|
.NE 4+1
|
|
.PT .IW [w3] w1 [w2]
|
|
.B Index word
|
|
Insert w1, w2 and w3 in the running text as with
|
|
.B .FS
|
|
and add w1 to the index list.
|
|
.NE 4
|
|
.PT IX w...
|
|
.B Index
|
|
Insert the words in the running text and the index list.
|
|
.NE 5+1
|
|
.PT ".LL n"
|
|
.B Linelength.
|
|
.N
|
|
The line length is set to n.
|
|
The default line length is 66.
|
|
Must occur before any input text.
|
|
.NE 6+1
|
|
.PT .ME
|
|
.B Margin input end
|
|
.NE 13+1
|
|
.PT ".MS c1 c2"
|
|
.B Title input start.
|
|
.N
|
|
Operands: c1=T for T title, c1=B for bottom title,
|
|
c2=E for even pages, c2=O for odd pages.
|
|
The text between .MS and .ME will appear
|
|
as top and bottom margin text on each page.
|
|
Defaults: no top margin text, bottom margin text= ".TL \'\'-- % --\'\'".
|
|
Attention: NROFF/TROFF commands to be executed every time
|
|
(e.g. .TL \'\'-%-\'\')
|
|
a title is processed, have to be preceded by "\e!".
|
|
.PT ".N [n]"
|
|
.B New line.
|
|
.N
|
|
The new line will be preceded by n (default 0) blank lines.
|
|
.PT .NA
|
|
.B No adjust mode.
|
|
.N
|
|
The right margin will be ragged.
|
|
.NE 4+1
|
|
.PT ".NE n"
|
|
.B Need lines.
|
|
.N
|
|
If no n lines are left on the current page, a new page is begun.
|
|
.PT .NH
|
|
.B No hyphenation.
|
|
.NE 5+1
|
|
.PT ".P [n]"
|
|
.B Paragraph.
|
|
.N
|
|
The paragraph is separated from the preceding text
|
|
by n (default 1) blank lines and its first line is indented.
|
|
.PT .PE [n]
|
|
.B End list of points.
|
|
.NE 5+1
|
|
.N
|
|
The list will be followed by n (default 1) blank lines.
|
|
.NE 9+1
|
|
.PT ".PL n m"
|
|
.B Set pagelength.
|
|
.N
|
|
The first operand determines the physical length of the
|
|
page, the second one the number of lines printed per physical page.
|
|
The default value for n is 66, for m 59.
|
|
Must occur before any input text.
|
|
.PT ".PN n c"
|
|
.B Page number.
|
|
.N
|
|
The firts operand specifies the number of the next printed page.
|
|
The second operand specifies the format of the page number when printed.
|
|
(see .PS, but only a,A,i,I and 1).
|
|
.PT ".PO [n] "
|
|
.B Set page offset.
|
|
.N
|
|
The left margin is moved n columns to the
|
|
right.
|
|
.NE 12+1
|
|
.PT ".PS [c [n]] [[w2] w1]"
|
|
.B List of points start.
|
|
.N
|
|
Operands:
|
|
c=numbering style, n=indentation of points (default=3).
|
|
If c=- or empty, points are labeled with "-", if c=1
|
|
numbering of points will be arabic, if c=a with small letters,
|
|
if c=A with capital letters, if c=i with small roman numbers, if c=I
|
|
with capital roman numbers.
|
|
w1 is a suffix that will follow each point, w2 is a point prefix.
|
|
.NE 4+1
|
|
.PT ".PT w... "
|
|
.B Point.
|
|
.N
|
|
The operands w... replace the label chosen by .PS
|
|
for this point only.
|
|
.NE 4+1
|
|
.NE 2
|
|
.PT .RE
|
|
.B Reference entry end
|
|
.N
|
|
To close the text of the reference entry started by .RF or .RS.
|
|
.NE 12+1
|
|
.PT ".RF [w3] w1 [w2]"
|
|
.B Reference.
|
|
.N
|
|
Operands: w1=reference abbreviation,
|
|
w2=suffix, w3=prefix.(see .FS)
|
|
The reference abbreviation is embedded in square brackets
|
|
and inserted to the output text and to the start of the reference
|
|
entry as well for identification purposes.
|
|
References are collected to be put out
|
|
with .RT.
|
|
.PT .RP
|
|
.B Report layout.
|
|
.NE 4+1
|
|
.PT ".RS w"
|
|
.B Reference start.
|
|
.N
|
|
Same as .RF, but the reference w will not appear in the running output
|
|
text.
|
|
.NE 7+1
|
|
.PT .RT
|
|
.B Give bibliography.
|
|
.N
|
|
Via .RF and .RS collected bibliography is put out and then deleted.
|
|
.PT ".S1 w..."
|
|
.B Section.
|
|
.N
|
|
t is the section title, also saved for the table of contents.
|
|
Sections and subsections (see below) are numbered automatically.
|
|
.NE 5+1
|
|
.PT ".S2 w..."
|
|
.B Subsection.
|
|
.N
|
|
The title will be saved for the table of contents, as for
|
|
the following commands .S3 and .S4
|
|
.PT ".S3 w..."
|
|
.B Subsubsection.
|
|
.PT ".S4 w..."
|
|
.B Subsubsubsection.
|
|
.NE 6+1
|
|
.PT ".SN n n n n n"
|
|
.B Section numbers.
|
|
.N
|
|
The first, second, third and fourth operands
|
|
set the start values for section numbers, subsection numbers and so on.
|
|
The last operands sets the start value for the appendix number.
|
|
.NE 4+1
|
|
.PT ".ta n..."
|
|
.B Set tabulator.
|
|
.N
|
|
The tabulator stops are set to the positions n...
|
|
given in the operand list.
|
|
Usage conflicts with use of
|
|
.B tbl.
|
|
.NE 4+1
|
|
.PT ".TL x"
|
|
.B Title.
|
|
.N
|
|
To define a three part title; x is of the
|
|
form \'left\'center\'right\'.
|
|
.PT ".U w..."
|
|
.B Underline.
|
|
.N
|
|
The words given as operands w... are underlined.
|
|
.PT .UE
|
|
.B Underlining end.
|
|
.PT .UN
|
|
.B Undent temporarily.
|
|
.PT ".US [c]"
|
|
.B "Underlining start"
|
|
.N
|
|
All following text up to .UE is underlined.
|
|
Operand: c=C then the input text is non-filled and continuously underlined,
|
|
normaly only letters and digits are underlined.
|
|
.PE
|
|
.AP Bibliography
|
|
.N 2
|
|
.RT
|
|
.PN 1 A
|
|
.MS T E
|
|
\!.TL ```PUBMAC user's guide`
|
|
.ME
|
|
.MS T O
|
|
\!.TL `PUBMAC user's guide```
|
|
.ME
|
|
.BP
|
|
.N 0.5
|
|
.CS
|
|
Table of Contents
|
|
.CE
|
|
.N 1.5
|
|
.CT
|