% THIS IS FILENAME MANUAL
%
%       ***This is the Users' Guide to the HP TeX Macro package ***
%
%                    Copyright 1984 Hewlett-Packard Co.
%
\let\indx=\relax
\def\evenheading{\vbox{\hbox to \hsize{\eightrm Page \folio\hfil\HPTEX}
               \nointerlineskip\vskip2pt
               \hbox{\vrule width \hsize height .4pt}}}
\def\oddheading{\vbox{\hbox to \hsize{\eightrm Macros \hfil Page \folio}
               \nointerlineskip\vskip2pt
               \hbox{\vrule width \hsize height .4pt}}}
\def\noheading{\hfil}
\headline{\ifnum\pageno=1\noheading
          \else\ifodd\pageno\oddheading
                \else\evenheading\fi\fi}
\centerfooting{}

\tolerance=1000
\noindentstyle
\font\hplogo=hplogo
\font\csc=amcsc10 \def\headno{\levelno} \def\emspace{\enspace}
\def\lb{$\langle$} \def\rb{$\rangle$}
\def\bs{{\tt \char92}\relax}
\font\bo=amb10
\font\tenbo=amb10
\def\+{{\tt \char92}\relax} \def\_{\kern.06em\vbox{\hrule width.5em}}
\def\[{$\{$} \def\]{$\}$} \def\tbw{{\bf - TO BE WRITTEN -}}
\def\ent{\textbox{\tt ENTER}} \def\sec{{\bf -SECTION NUMBER HERE-}}
\def\degrees{$^\circ$}
\def\gt{$>$}
\def\spacechar{\hskip1pt\lower3pt\vbox{
              \hbox to 5pt{\vrule height4pt width.009in
                            \hfill
                            \vrule height4pt width.009in}
              \hrule depth.009in height0pt}\hskip2pt}

\firstlevelhead{\need.75in\null\bigskip\leftline{\fourteenbf\levelno\enspace%
                \title}%
     \medskip\ctswrite{\hskip15pt\tenrm\title}}
\secondlevelhead{\need.6in\medskip\leftline{\twelvebf\levelno\enspace\title}%
     \ctswrite{\hskip30pt\tenrm\title}}
\thirdlevelhead{\need.5in\medskip\leftline{\twelvebf\levelno\enspace\title}%
     \ctswrite{\hskip45pt\ninerm\title}}

\def\bs{{\tt \char92}\relax}
\def\+{{\tt \char92}\relax}

\def\tspec{\lb{\sa table spec.}\rb}
\def\colspec{\lb{\sa column spec.}\rb}
\def\col{\lb{\sa column list}\rb}


\def\cmd#1{\need 0.5in\bigskip {\tentt\bs #1}\lbreak}
%\def\mcmd#1{\need 0.5in\bigskip {{\tentt\bs #1}}\lbreak}
%\def\\#1{\lbreak\indent{{\tentt\bs #1}}}
\def\lb{$\langle$}
\def\rb{$\rangle$}
\def\[{$\{$}
\def\]{$\}$}
\def\blk{\lb{\sa blockname}\rb}
\def\hor{\lb{\sa horizontal list}\rb}
\def\int{\lb{\sa integer}\rb}
\def\dim{\lb{\sa dimension}\rb}
\def\ver{\lb{\sa vertical list}\rb}
\def\vol{\lb{\sa Volume Name}\rb}

\null
\vskip1in
\centerline{\eighteenbf THE HP \TeX\ MACROS}\footnote{}{\eightrm\copyright
                                                     1984 Hewlett-Packard Co.}

\vskip.5in
\centerline{HEWLETT-PACKARD CO.}
\vskip1.47in

\level1{Introduction}
This set of macros was written as part of \HPTEX, Hewlett-Packard's software
package designed to facilitate the use of \TeX\ on the HP Series 200 Desktop
Computers.  The \HPTEX\ program can be run on either an SRM based, or a
stand-alone (LIF) system, and requires 1.25 Mbytes main memory and a minimum
of 15 Mbytes mass storage.  It uses an HP 2688A Laser Printer.

The HP2688A is a page printer which uses scanned electrophotography technology
to print computer output on single sheet paper.  The 300 dots per inch
resolution, high contrast and speed, plus sophisticated character printing,
allow a high degree of application flexibility.  Unique features include
90\degrees\ rotation of page print, multiple pages of data output per printed
sheet, and a graphics option.  The print rate is approximately 12 pages per
minute.

The \HPTEX\ macro package  is designed to supplement \TeX\ by providing macros
for formating documents and for controlling the HP2688A.  The user of \HPTEX\
can use any of the \TeX\ commands as well as the \HPTEX\ macro commands.

While the formating macros include macros for headings and footings,
paragraph style, lists, lines, boxes, paragraph headings, multiple columns,
tables, and table of contents, they are not meant to be a complete system.
They are intended to enable the user to get
started, and to provide useful macros that can be modified and used as
examples by the user for the creation
of a customized macro package.

A second release of \HPTEX\ is planned that will include graphics capability.

\vfil
On \indx{syntax}
lines, when curly braces ``\[$\ldots$\]'' are shown, they are required in the
source file, text between
angle brackets ``\lb$\ldots$\rb'' identifies a parameter variable,
and the character ``\spacechar '' represents a required space.
\vfil\eject

\level1{ Document Formatting Macros}
The following HP \TeX\ commands control the basic style and formatting
of a document:

\level2{Page Layout}
The HP \TeX\ defaults for \indx{page layout} are the same as they are in
the \TeX\ program.  That is,
all margins are set to approximately
one inch from the edges. (Plain \TeX\ sets {\tt \+vsize=8.9in} and
{\tt \+hsize=6.5in}.) \indx{Headings and footings} are printed {\bo outside}
those margins.

The following macros affect the running head and the footing of
each page. The heading and footing lists are expanded during the
output routine so the \TeX\ commands \indx{{\tentt\bs firstmark}},
\indx{{\tentt\bs topmark}} and
\indx{{\tentt\bs botmark}} are compatible here.

\need.5in\bigskip\relax{{\tentt \+centerheading}}\[\hor\]\lbreak
      \relax{{\tentt \+leftheading}}\[\hor\]\lbreak
      \relax{{\tentt \+rightheading}}\[\hor\]\lbreak
      \relax{{\tentt \+outsideheading}}\[\hor\]\lbreak
      \relax{{\tentt \+insideheading}}\[\hor\]\lbreak
These macros accept text which is to be placed at the top of every page.
The first three macros place the argument in the center, left, or right
of the page respectively.
{\tt\bs outsideheading} and {\tt\bs insideheading},
if specified, override the left and right headings. On odd pages, the
inside heading will appear on the left, outside on the right.  Even
pages are the opposite. (This feature is helpful when the output is
to be used as two-sided copy.)


\need.5in\bigskip\relax{{\tentt \+centerfooting}}\[\hor\]\lbreak
      \relax{{\tentt \+leftfooting}}\[\hor\]\lbreak
      \relax{{\tentt \+rightfooting}}\[\hor\]\lbreak
      \relax{{\tentt \+outsidefooting}}\[\hor\]\lbreak
      \relax{{\tentt \+insidefooting}}\[\hor\]\lbreak
These are like the above commands, only they are for footings at the bottom
of each page. For example, if page numbers
are desired in the left side of the bottom of each page, type:
{\tt\bs leftfooting\[\indx{\bs folio\]}}

{\tt\bs outsidefooting} and {\tt\bs insidefooting} will
produce similar results as {\tt\bs outsideheading} and
{\tt\bs insideheading} (see above). The default in HP \TeX\ is
{\tt \+centerfooting\[\+folio\]}. This produces page numbers at
the center of the bottom of each page.

\need.5in\bigskip\relax{{\tentt \+noheading}}\lbreak
      \relax{{\tentt \+nofooting}}\lbreak
These macros turn off headings or footings for the current and all
successive pages until the {\tt\bs resumefooting} or
{\tt\bs resumeheading} command is used.

\need.5in\bigskip\relax{{\tentt \+suspendheading}}\int\lbreak
      \relax{{\tentt \+suspendfooting}}\int\lbreak
These macros suspend headings or footings for the specified number of
pages or until the use of a {\tt\bs resumeheading} or {\tt\bs resumefooting}.

\need.5in\bigskip\relax{{\tentt \+resumeheading}}\lbreak
      \relax{{\tentt \+resumefooting}}\lbreak
These macros undo the effects of the {\tt\bs suspendheading},
{\tt\bs noheading}, {\tt\bs suspendfooting} and
{\tt\bs nofooting} macros above.

\break
\level2{Paging}

\cmd{\indx{newpage}}
This macro forces a \indx{page eject} if not on a new page.\note{\tenpoint
If {\tt \+newpage, \+oddpage}, or {\tt \+evenpage}
occur at the bottom of a full page, they will cause an extra page
eject.  If this happens, insert an {\tt \+eject} just before the
page command.}

\cmd{\indx{oddpage}}
This macro causes a page eject, and if the current page is an odd-numbered
page, leaves an extra blank page so that the following text is
guaranteed to begin on an odd-numbered page.

\cmd{\indx{evenpage}}
This macro is similar to oddpage, but the following text will appear on
an even rather than an odd numbered page.

The {\bo plain} \TeX\ command, {\tt\+pageno} will set the current page number
to the specified page number.  (See ``Some Useful \TeX\ Commands'' in
Chapter~2 of this manual.)

\level2{Paragraph Style}
As \TeX\ accepts text from the input file, the text is formatted into
paragraphs. The following commands can be used to control the shape
of the paragraphs.


\cmd{\indx{inset}=\dim}
Specifies a general amount of indentation to be used with itemized
lists, notes, warnings and indent blocks. Default is 0.5
 inch.

\need.5in\bigskip\relax{{\tentt \+start\[indent\]}}\lbreak
      \relax{{\tentt \+finish\[indent\]}}\lbreak
These commands are used to indent the left margin by the inset
dimension. The right margin is unaffected by this block.

\cmd{\indx{indentspace}=\dim}
This command assigns the indentation value for the first line of all succeeding
paragraphs when {\tt\bs indentstyle} is in effect. The default is
20 points.

\cmd{\indx{indentstyle}}
This causes the first line of each paragraph to be indented
(the amount of the indentation is assigned by the {\tt\bs indentspace}
command). This is the default paragraph style.

\cmd{\indx{noindentstyle}}
This causes the paragraphs to be formatted with no indentation.
The nominal \indx{spacing} between paragraphs is 5 points greater without
indentation than when {\tt\bs indentstyle} is being used.
\start{note}
\centerline{-- NOTE --}
Spacing between paragraphs can be user specified by using the {\tt
\bs parskip} command.
\finish{note}

\level2{Itemized and Bulleted Lists}
The following macros are aids in producing lists. The various list commands
cause indentation at various levels and use various tokens (numbers, letters,
dots, dashes, $etc.$) to the left of the
first line of the listed item to set off the list entry.

\need.5in\bigskip\relax{{\tentt \+numbereditems}}\lbreak
      \relax{{\tentt \+lettereditems}}\lbreak
      \relax{{\tentt \+Lettereditems}}\lbreak
      \relax{{\tentt \+romanitems}}\lbreak
      \relax{{\tentt \+Romanitems}}\lbreak
      \relax{{\tentt \+squareditems}}\lbreak
      \relax{{\tentt \+dotteditems}}\lbreak
      \relax{{\tentt \+dasheditems}}\lbreak
These macros initialize the tag allocation macro {\tt\bs itemtag}.
Default is {\tt\bs numbereditems}.

\need.5in\bigskip\indx{{\tentt \+numberedsubitems}}\lbreak
      \relax{{\tentt \+letteredsubitems}}\lbreak
      \relax{{\tentt \+Letteredsubitems}}\lbreak
      \relax{{\tentt \+romansubitems}}\lbreak
      \relax{{\tentt \+Romansubitems}}\lbreak
      \relax{{\tentt \+squaredsubitems}}\lbreak
      \relax{{\tentt \+dottedsubitems}}\lbreak
      \relax{{\tentt \+dashedsubitems}}\lbreak
These macros initialize the tag allocation macro {\tt\bs subitemtag}.
Default is\lbreak {\tt\bs letteredsubitems}.

\cmd{\indx{itemtag}}
This macro causes a number, letter, roman numeral, square, dot or dash
to be printed as the item specifier
depending upon what initialization has taken place (see above).

\cmd{\indx{subitemtag}}
Similar to {\tt\bs itemtag} but pertains to subitems.

\cmd{\indx{square}}
This macro prints a .4em-by-.4em square ( \square\ ). This macro can be used at
any time a horizontal list is being built (such as the middle of a
paragraph),
but it is particularly useful as the argument for the {\tt\bs itemlist} macro.
(This command produces the same symbol as \TeX 's {\tt \+bull} command.)
\cmd{\indx{dott}}
This macro prints a solid round dot ( \dott\ ). (Same as {\bo plain} \TeX 's
{\tt \$\+bullet\$}.)

\cmd{\indx{emdash}}
Sets a horizontal rule one ``\indx{em}'' long ( \emdash\ ).

\cmd{\indx{itemlist}\[\hor\]}
This macro introduces an item of a list by indenting both left and right
margins by the \dim\ specified in the last {\tt\bs inset} command.
The \hor\ is inserted within braces to specify the token
which is to set off the text. If the token has already been
specified (using {\tt \bs dotteditems, \bs Romanitems}, $etc.$),
or the default {\tt \bs numbereditems} is acceptable,
then the command {\tt \bs itemtag} can be inserted here.
The text of the item follows.  (The text
does {\bo not\/} need to be enclosed within braces.)
Indentation continues only for the duration
of one paragraph (if more than one paragraph is desired in an
item, {\tt\bs itempar} should be used).
The use of {\tt\bs itemlist} resets the subitem tag.

\cmd{\indx{subitem}\[\hor\]}
This macro is similar to {\tt\bs itemlist}, but the indentations are twice as
large as for {\tt\bs itemlist}. This can be used to indicate a
 second level of list. (See {\tt \bs itemlist} for contents of
 the \hor .

\need.5in\bigskip\relax{{\tentt \+itempar}}\lbreak
      \relax{{\tentt \+subitempar}}\lbreak
These macros are used to start new paragraphs within an item or
subitem respectively.

\cmd{\indx{enditems}}
This commands properly ends an itemized list by resetting the item counter
and appending {\tt\bs bigskip} \indx{glue}.

\cmd{\indx{itm}}
Similar to {\tt\bs itemlist\[\bs itemtag\]} except that a
period is appended to the tag if it is a letter, number
or roman numeral. With this command, the item tag must be
specified ahead of time using the command
{\tt \bs dotteditems, \bs lettereditems}, $etc.$, unless the
default ({\tt \bs numbereditems}) is acceptable. Again,
{\tt\bs itm} will {\bo not} accept any \hor\
as an item tag specifier.

\cmd{\indx{sitm}}
Similar to {\tt\bs itm} but pertains to subitems. Like
{\tt\bs itm}, {\tt\bs sitm} will {\bo not}
accept any \hor\ as a subitem tag specifier. The subitem tag must
be specified beforehand, unless the default
({\tt \bs letteredsubitems}) is acceptable.
%\need3in
\start{note}
\centerline{-- NOTE --}
If you enter a local \indx{block structure} prior to setting an itemized list,
and want to exit that structure immediately after your last item, then
you must first be sure that you are in {\bo \indx{vertical mode}}.
Otherwise, the last item may not be indented properly.

Three ways to accomplish this are by using {\tt\bs enditems,
\bs vskip}, or {\tt\bs par}. \finish{note}

\level2{Line Specifier Macros}
The content of individual lines can be controlled, and they can be
centered or justified using the following
commands.

\cmd{\indx{centerline}\[\hor\]}
This takes the text within the brackets and centers it between the
margins. The line does not count as a paragraph, so the normal
interparagraph space is not inserted above the line. If this command
follows a paragraph, it is
usually appropriate to precede it with a {\tt\bs vskip}. This command
has been redefined from {\bo plain} \TeX\ in that it uses the
HP macro {\tt \+lline} (described below), so {\tt \+leftskip}
and {\tt \+rightskip} values are taken into account.

\cmd{\indx{lline}\[\hor\]}
This is very similar to the plain \TeX\ {\tt\+line} command
in that it creates a horizontal box that is the width of the current
{\tt\+hsize}, except that {\tt\+lline} takes into account
the values of {\tt\+leftskip} and {\tt\+rightskip}
if they have been specified.  In other words {\tt\+lline}
stays within the current margins. The \hor \ is the contents of
the horizontal box.


\cmd{\indx{leftline}\[\hor\]}
This left justifies the contents of the \hor . The comments about vertical
spacing above apply here, also. This command has also been redefined
to use {\tt \+lline} (see {\tt \+centerline}, above).

\cmd{\indx{rightline}\[\hor\]}
This right justifies the contents of the \hor . The comments about vertical
spacing above apply here, also. This command has also been redefined
to use {\tt \+lline} (see {\tt \+centerline}, above).

\cmd{\indx{raggedright}}
The {\tt\bs raggedright} macro causes paragraphs to be formatted
in such a way that they are not necessarily justified
on the right margin. This command has also been redefined from
{\bo plain} \TeX\ in that {\tt \+rightskip} values are preserved.

\cmd{\indx{justify}}
This macro has the opposite effect of the {\tt\bs raggedright} macro
and causes the text to be right justified
({\tt\bs justify} is the default in HP \TeX ).

\level2{Boxes}

\cmd{\indx{boxline}=\dim}
This macro assigns the width of the lines used for {\indx{boxes}. The default
boxline dimension is 0.01332 inch.

\cmd{\indx{boxspace}=\dim}
This macro assigns the width of the space between a boxed item and
the line of the box. The default width in HP \TeX\ is 5 points.\super{4}

\cmd{\indx{boxit}\[\hor\]}
This macro encloses the argument in a box. If encountered
while making a line of text, the box's bottom line will
be along the baseline of the text. The \hor\ may contain multiple
lines separated by {\tt\bs cr} to be centered within the box. Note
that each line is then treated as a {\bo group}, so font changes,
$etc.$~on one line will not affect the next line.
 When using this command, the \hor\ will be
raised somewhat above the line, \boxit{like this.}
If you desire that the text not be raised above the baseline,
use the {\tt\bs textbox} command (described below).

\cmd{\indx{textbox}\[\hor\]}
This command causes a box to be placed around the \hor ,
{\bo without} altering the text, \textbox{like this.} A
textbox cannot be broken from one line of text to another.

\cmd{\indx{centerbox}\[\hor\]}
This macro centers a box horizontally on the page
and inserts space above and below.
Multiple lines can be specified using {\tt\bs cr} (see
{\tt \bs boxit} description). A {\tt \+centerbox} within a
  {\tt \+centerbox} will not work, but {\tt \+boxit} inside
 {\tt \+centerbox} will.
 %\need1.25in
\level2{Notes and Warnings}
Two other text structures available with the HP \TeX\ macro package are notes
and warnings.

\need.5in\bigskip\relax{{\tentt \+start\[note\]}}\lbreak
      \relax{{\tentt \+finish\[note\]}}\lbreak
A note is inset twice the {\tt\bs inset} dimension on both margins and
set apart from the rest of the text by extra vertical space.
If a note would otherwise start less than half an inch from the
bottom of a page, a page eject is performed prior to the note.
{\tt\bs finish\[note\]} signifies the end of the note.

\need.5in\bigskip\relax{{\tentt \+start\[warning\]}}\lbreak
      \relax{{\tentt \+finish\[warning\]}}\lbreak
A warning is similar to a note, except that is also set apart by horizontal
rules above and below the text. {\tt\bs finish\[warning\]}
signifies the end of the warning text.

\level2{Verbatim Mode}
Verbatim mode will cause text to be printed ``as is,''
without any justification. Special characters in this mode
are the backslash (\bs ) and the curly brackets (\[), (\]).
Most other characters can be used and will be printed \indx{verbatim}.

Verbatim mode is intended for use with simple text which does
{\bo not} contain a large number of control sequences.
The reason for this restriction is that there are many
characters (such as a space, a \indx{tilde}, $etc.$)
which take on different meanings in verbatim mode.  Some of these may be
imbedded within a control sequence and can cause
problems when they are expanded.

You will usually want to select a ``non-proportionally spaced''
font (like ``tt'') for use in verbatim mode.  The
reason for this is that ``proportional fonts'' (like ``rm'')
will cause the printed output to be aligned differently
than what appears on the CRT during source file typing. Other
non-proportional fonts available with the HP 2688A Laser Printer
 are Courier, Gothic, Pica, Script, Prestige and Line Printer.

\start{note}
\centerline{-- NOTE --}
Although verbatim mode using \indx{non-proportional fonts} will
{\bo usually} produce output
that exactly matches what you see on the CRT, there is
at least one exception to this.  Long sequences of characters
 may be spaced
slightly differently than a string
of blank spaces of identical length .  This is
a result of the rounding anomalies that occur when \TeX 's
{\bo ideal} character sizes are converted to the printer's
{\bo actual} sizes.
\finish{note}
\cmd{\indx{start\[verbatim\]}}
This macro causes the following text to be printed ``verbatim''
without any justification.

\cmd{\indx{finish\[verbatim\]}}
This macro ends the verbatim mode described above.

%\need1.25in
\level2{Paragraph Levels}
These macros can be used to create \indx{paragraph headings}
of four different levels.
The \hor, and page number can be written
to the file \lb{\sa jobname}\rb\lower.3em\hbox{*}
to be used for a table of contents (the asterisk ``\lower.3em\hbox{*}''
signifies the {\tt contents} file).

The command {\tt\+ctswrite\hor} will automatically open a file and write the
\hor\ and the page number to the file.  The {\tt\+contents} command
then uses the \lb{\sa jobname}\rb\lower.3em\hbox{*} file to
create the \indx{table of contents} (refer to the {\tt\+contents} command
description in this section).

\cmd{\indx{level}\lb\sa integer between 1 and 4\rb\[\hor\]}
This is the command used to print a paragraph heading.  Whatever
format is specified using the commands listed below ({\tt \+firstlevelhead,
\+secondlevelhead}, $etc.$) will be used. For example, the command used to set
the paragraph heading of this section looked like this:

\centerline{\tt \+level3\[Paragraph Levels\]}

The {\tt \+level} command will automatically update the {\tt\bs levelno}
to print the paragraph head.

\need.5in\bigskip\relax{{\tentt \+firstlevelhead}}\[\hor\]\lbreak
\relax{{\tentt \+secondlevelhead}}\[\hor\]\lbreak
\relax{{\tentt \+thirdlevelhead}}\[\hor\]\lbreak
\relax{{\tentt \+fourthlevelhead}}\[\hor\]\lbreak
These commands specify the tokens that are inserted to format
each of the various head levels. They should be used when the
default conditions of HP \TeX , as described below,
 are not satisfactory. A control sequence {\tt \bs title}
is defined to be the \hor\ from the corresponding {\tt \bs level}
command. For example, the command:
\start{verbatim}\tt{\hfuzz=31pt
         \+secondlevelhead\[\+need.75in\+bigskip\+leftline\[\+fourteenbf%
              \+levelno\+enspace\+title\]\+medskip%
              \+ctswrite\[\+hskip15pt\+tenrm\+title\]\]}
    \finish{verbatim}
\vskip3pt\noindent
 would cause all second level paragraph heads to be printed on
a new page if less than .75 inch remains on the current page.
The title will be left justified in fourteen point boldface
type. The level number is followed by an ``enspace.''
 ``Bigskip'' \indx{glue} is inserted before the title with a ``medskip''
after.  The \indx{{\tentt\+ctswrite}} command specifies how the
level heading will be written in the table of contents, as
described below.

Whenever you define a {\tt \bs firstlevelhead, \bs secondlevelhead}, $etc.$,
command to specify the formatting of paragraph headings, you must also
specify how it will be written in the table of contents (if
you plan to create one).  The command for doing this is
{\tt \bs ctswrite}.  For example, the fourth level head was
redefined from the HP \TeX\ defaults in this document, and the
contents writing command was used as follows:\lbreak
\centerline{\tt \bs ctswrite\[\bs hskip45pt\bs ninerm\bs title\]}
This causes all fourth level headings in the table of contents
to be inset 45~points and be written in nine--point roman type.

The default HP \TeX\ paragraph level headings
are formatted as follows: {\tt \bs level1} begins on a new page,
prints the title in 14 point bold face type and down 1.5 inches
from the top of the page. {\tt \bs level2}
 requires that at least .75 inch remain on the
page. If so, the title is printed with some vertical space above it,
otherwise, it is set on the top of the next page. In any case, it is printed
in 12 point boldface type. {\tt \bs level3} and
{\tt \bs level4} are similar, but
require less space to remain on the page and print the title in 10
point bold face and 10 point roman respectively.

The ``levelhead'' macros are {\bo local} to
their \indx{block structure}.  This provides a simple means
to return to the HP \TeX\ default levelhead
style.  All you would need to do is enclose the command
and any text you want affected within braces.  After the
closing brace, \TeX\ will return to the default format. Note
that this should only be attempted for {\bo shorter} blocks.
Creating large blocks of several pages in length can cause
\TeX\ to run out of memory.


\start{note}\centerline{-- NOTE --}
If you need to change the font style or size within a level
heading, you must specify the {\bo entire} font name,
(for example: {\tt \bs tentt}$\ldots$ not {\tt \bs tt}).
\finish{note}
\cmd{\indx{levelno}}
This macro can be used whenever the author desires the number
of the heading to appear in the document. The number of the
various levels of headings appear, separated by periods.
For example, typing {\tt Section \bs levelno} might result
in: Section 1.2.7.1 if this was the first fourth-level heading
of the seventh third-level section of the second$\ldots$ $etc.$
Levels lower than the last modified level do not appear in
{\tt\bs levelno}.

\def\delim{.}
\cmd{\indx{setlevelno}\[\int\delim\int$\ldots$\int\]}
This macro can be used for presetting the one through
four heading numbers. If you use
this command before a {\tt\+level} command, then the
counter will increment to the next number when the
{\tt\+level} command is encountered. Therefore, you
should preset to one number below the desired level.
 You cannot preset the level 2 counter without
 specifying the level 1, or the level 3  without level 1 and 2
 and so on. (For example, you cannot specify {\tt\+setlevelno\[1.~.~.4\]},
 you must specify {\tt \[1.\int .\int .4\]}.)

\cmd{\indx{contents}}
This macro forces a page eject and produces a \indx{table of contents}
on the following pages as dictated by the previous heading macros.
No vertical \indx{glue} is inserted, so you may want to use a {\tt \bs vfil}
command immediately before {\tt \bs contents}.

\need.5in\bigskip\relax{{\tentt \+topofcontents}}\[\ver\]\lbreak
      \relax{{\tentt \+botofcontents}}\[\ver\]\lbreak
These macros specify a list to be placed above and below the table of
contents. The \ver\ may include logos, rules, $etc.$ The table of contents
is quite rigid, so a {\tt\bs vfill} is appropriate in at least one \ver.
Defaults in HP \TeX\  will format the table of contents as they appear in the
beginning of this manual (with the exception of the headings).
\start{note}\need1in
\centerline{-- NOTE --}
{\tt\+topofcontents} and {\tt\+botofcontents} must
{\bo both} be specified {\bo before} the
{\tt\+contents} command is used. (That is, you cannot
specify {\tt\+botofcontents} after {\tt\+contents},
even though this seems logical.)
\finish{note}
\level2{Multiple Columns}

The following macros control the number of columns on the page.
Multiple column and single column text can be mixed on a page by
using the following commands.

\cmd{\indx{columnspace}=\dim}
This command specifies the amount of space between columns on a page.
This dimension should be assigned before entering multicolumn mode and
should remain unchanged for the duration thereof. The default
column space in HP \TeX\ is 0.5 inch.

\need.5in\bigskip\relax{{\tentt \+start\[twocolumns\]}}\lbreak
      \relax{{\tentt \+start\[threecolumns\]}}\lbreak
      \relax{{\tentt \+finish\[twocolumns\]}}\lbreak
      \relax{{\tentt \+finish\[threecolumns\]}}\lbreak
These four commands cause the text to be formatted into multiple columns.
If a {\tt\bs balance},
 {\tt\bs newpage}, {\tt\bs evenpage} or {\tt\bs oddpage} macro is
encountered while in multicolumn mode, the columns are balanced
on the page prior to the page eject. Exit from multicolumn mode
causes the columns to be balanced as well. Unbalanced columns may
be obtained by using {\tt\bs vfill} {\tt\bs eject} while in multicolumn mode.
Balancing forces the top lines of each column to be lined up. The
bottom lines are lined up as well unless {\tt\bs raggedbottom} has been
specified. Discardable items (such as glue, penalties, $etc.$)
immediately following these commands will be ignored. (To prevent
this, you may use {\tt\+null} immediately
after {\tt\+finish\[$n$columns\]}.)

\cmd{\indx{balance}}
This command causes the columns to become balanced. Discardable
items (such as \indx{glue}, penalties, $etc.$) immediately following these
commands will be ignored. (To prevent
this, you may use {\tt\+null} immediately
after {\tt\+finish\[$n$columns\]}.)


\start{note}
\centerline{-- NOTE --}
When using multiple columns, you may find it helpful to use the
plain \TeX\ commands {\tt\+tolerance} and
{\tt\+hbadness} (to increase the stretch and
shrinkability of interword \indx{glue} and decrease complaints
regarding ``underfull hboxes''). See {\tenit The
\TeX book} for more information.
\finish{note}

\level2{Tables}
The following macros are useful for setting \indx{tables}. These
macros are different from the plain \TeX\ {\tt\bs halign} and
{\tt\bs valign} commands in that
they format one row at a time. The table can be justified as a whole
either left, right or centered. As long as the number of columns
in each entry remains constant, the entire table appears justified.
(Interesting figures, such as pyramids, hopscotch boards, $etc.$ can
be produced by changing the format and the number of
columns in each entry.)
Each column of the table has its own user specified width.
Between each column
is a vertical line (which can be easily made invisible).
This vertical rule takes no space from any column so the rule
width may be varied without altering the column dimensions.
An entry may also be designed to span two or three columns.
Horizontal bars are
treated exactly the same as data entries. The macro \indx{{\tentt\bs tbar}}
can be used to produce such a bar.

\cmd{\indx{tableline}=\dim}
This parameter specifies the dimension of bars and rules in
all subsequent entries. This parameter should remain unchanged
throughout the entire table. Default value is 0.01332 inch.\super{7}
\start{note}
\centerline{-- NOTE --}
There may be some occasion when printing a table that you
get the error message,\lbreak
~~~~``{\tt Printer error: \lbreak
~~~~**Could not process all the data, data lost.}''\lbreak
The printer uses a variety of different length line segments to
``build'' a line.  If the {\tt tableline} specification you have
chosen requires too many individual segments to make up the exact
specification, it may cause this error.
There are a few remedies available, as follows:

---If you are using the default magnification (1.0), then
try using the default {\tt tableline} dimension (just leave out
the {\tt\+tableline} command.

---If you are using a file magnification value other than 1.0, then alter
your {\tt\+tableline} specification so that its value, when converted
to dots (multiply length in inches $\times\ 300$), is a power of 2 ($i.e.$ 1, 2,
8, 16, 32 or a multiple of any of these except 1).
\finish{note}

\cmd{\indx{tablespace}=\dim}
This parameter specifies the minimum amount of space to be placed
between the vertical rules and data entries in the table. Default in
HP \TeX\ is 5 points.

\cmd{\indx{tableformat}\[\tspec|\colspec\dim|$\ldots$|\colspec\dim\]}
This command specifies the table format. Note that a \indx{vertical bar}
(\indx{{\tentt |}}) is required as a separator
between specifications, but not at the beginning or end of the
list (different than {\tt \+tablerow} or {\tt \+tablebar}).

\tspec\  can be any of {\tt\bs leftline}, {\tt\bs rightline},
 or {\tt\bs centerline}. \colspec\ can be any of
{\tt\bs leftline}, {\tt\bs rightline}, {\tt\bs centerline} or
{\tt\bs paragraph}. Other options are
allowed if you make them yourself; for example, if you type:
\par\vskip3pt
\centerline{\tt\bs def\bs mything\#1\[\bs line\[\bs hskip 1in \#1\bs hss\]\]}
\par\vskip3pt
\noindent then {\tt\bs mything} would be a valid \tspec\ option that
would print the table 1 inch from the left margin.
The \colspec\ is always a single token ({\tt\bs leftline}, {\tt\bs rightline},
{\tt\bs centerline} or {\tt\bs paragraph}), and is
followed by a dimension. The token specifies the standard
justification of the column ({\tt\bs paragraph} must be used if the
column is to contain paragraphs), and the dimension specifies the
absolute width of the column. Again, if you are not satisfied with the
selection you can make your own---the rules are that the macro consume
one token (containing the text) and produce a box of width {\tt\bs hsize}.
%\need2in
\start{note}
\centerline{-- NOTE --}
If the {\tt\bs paragraph} column specification is used, {\tt \+parskip}
must be 0 points (this is the default).  Otherwise, the paragraph entry
will be raised or lowered by the current {\tt \+parskip} amount and the
table will be out of alignment.  If you are using {\tt\+noindentstyle}
and have not reset {\tt\+parskip}, then inserting an {\tt\+indentstyle}
command just prior to the table will return to the proper (0 points) parskip.
\finish{note}

\need.5in\bigskip
\relax{{\tentt \+tablerow}}\[{\tt |}\col{\tt |}\col$\ldots${\tt |}
     \col{\tt |}\]\lbreak
\relax{{\tentt \+tablebar}}\[{\tt |}\col{\tt |}\col$\ldots${\tt |}
     \col{\tt |}\]\lbreak
These commands are used to build tables. {\tt\bs tablerow} should
be used if the \col\ contains text, while {\tt\bs tablebar} should
be used for bars or other non-text entries. Horizontal bars are
obtained by using either {\tt\bs vrule height} \dim , {\tt width} \dim\
 or {\tt\bs tbar}
as a \col\ ({\tt\bs tbar} uses {\tt\bs tableline} as the rule height).
The following syntax holds true for both macros:\dotteditems

\itm A \indx{vertical bar} (\indx{{\tentt |}}) or a \indx{tilde} (\~{}) must be
beginning and end of each column, including the first and last entry
(differs from {\tt \+tableformat} syntax).
\itm The \indx{vertical bar}s ({\tt |}) may be replaced by tildes (\~{})
if a visible vertical bar in that position is not desired.

\itm If the first thing in a \col\ happens to be the control sequence
\indx{{\tentt \bs span}}\[\int\]{\tt \bs tbar}, then the number
of columns specified
as \int\ are spanned by the entry (in this case a horizontal bar). The
natural justification for the spanned entry will be that of the
leftmost column spanned. (Note that {\tt span}\[\int\] is
{\bo not} followed by a blank space as this can cause difficulties.)
%\need1.25in
\start{note}
\centerline{-- NOTE --}
While building tables, if a {\tt\+tablebar} or {\tt\+tablerow}
runs more than one line of text (on the CRT), it is good practice
to use the percent
sign (\indx{{\tentt \%}}) at the end of each line.  This will tell \TeX\ to
ignore anything else on that line and prevent
possible problems with extra spaces being
misinterpreted by \TeX .
\finish{note}
\level2{Fonts}
Only a few fonts are preloaded in HP \TeX. These macros allow you
to access a variety of font families, styles, and sizes.

\cmd{\indx{fontdef}\bs\lb{\sa command}\rb=\[\lb{\sa library}\rb,%
    \lb{\sa font name}\rb\]}
This command equates a command of your choice with a
font (as used in the library). You can use \lb{\sa library}\rb
(optional) to
specify other than the default font library.
This command differs from \TeX's {\tt\+font} command in that the
font won't actually be loaded until
the first request (if any).

\need.5in\bigskip\relax{{\tentt \+fivepoint}}\lbreak
      \relax{{\tentt \+sixpoint}}\lbreak
      \relax{{\tentt \+sevenpoint}}\lbreak
      \relax{{\tentt \+eightpoint}}\lbreak
      \relax{{\tentt \+ninepoint}}\lbreak
      \relax{{\tentt \+tenpoint}}\lbreak
      \relax{{\tentt \+tenpoint}}\lbreak
      \relax{{\tentt \+fourteenpoint}}\lbreak
      \relax{{\tentt \+eighteenpoint}}\lbreak
      \relax{{\tentt \+twentyfourpoint}}\lbreak
These commands select the font point size from five to twentyfour. (In
{\bo Math Mode}, these commands only apply to the default
font within a font family.  If you are using a current family
other than {\tt\+fam0}, you must make the appropriate
font assignments
(see Appendix A, ``Changing Fonts in HP \TeX '').

%\mcmd{{cm}}\lbreak
      %tr\lbreak
      %gv}
%These commands select Computer Modern, times roman
%and geneva font families respectively.
\need.5in\bigskip\relax{{\tentt \+rm}}\lbreak
      \relax{{\tentt \+it}}\lbreak
      \relax{{\tentt \+bf}}\lbreak
      \relax{{\tentt \+sl}}\lbreak
      \relax{{\tentt \+sa}}\lbreak
      \relax{{\tentt \+tt}}\lbreak
These commands select \indx{roman} style, \indx{italic}, \indx{bold face},
\indx{slanted},
\indx{sans serif}, and \indx{typewriter} style.

If the selected font is undefined, the font style is changed
to roman. If that new font is still undefined, the size is
changed to ten points. Computer Modern ten point
roman will always be defined in HP \TeX.

\level2{Miscellaneous Macros}

%\cmd{\indx{indx\[\hor\]}
%This command sets the \hor. The \hor\ along with the current page
%number are then written to the file {\job.inx} for use as an index.
%
\cmd{\indx{note}\[\hor\]}
This macro puts a footnote at the bottom of the current page
and inserts a superscript footnote number at the location
of the command and the footnote.
Footnote numbers are allocated starting with~1 and can be
reset by the use of {\tt\bs resetnotes}. The \hor\ is the footnote
text.


\cmd{\indx{need}\dim}
The result of this macro is that if the page breaking algorithm
of \TeX\ determines that the current position would optimally
fall within \dim\ of the bottom of the page, the page is broken
leaving some empty space at the bottom.
\need1in
\start{note}
\centerline{-- NOTE --}
Since the {\tt \bs need} command uses a negative penalty
to {\bo encourage} (not {\bo force})  \TeX\ to break
the page, it will
not always have the effect you might anticipate. This is especially
true if the command is encountered near
the top of the current page and the remaining text will not
adequately fill the current page.
\finish{note}
\cmd{\indx{super}\[\hor\]}
The argument is printed as a superscript.

\cmd{\indx{sub}\[\hor\]}
The argument is printed as a subscript.

\cmd{\indx{lbreak}}
This macro forces a line break within a paragraph. It inserts ``hfil''
\indx{glue} before the break, so the line will {\bo not} be right
justified.  If you want right justification, use plain \TeX 's
{\tt \bs break} command.

\cmd{\indx{uline}\[\hor\]}
This macro causes the argument to be underlined.

\cmd{\indx{mon}}
This command prints the current month name. For
example, if the current month were August, {\tt\bs mon} would
print the letters ``August'' in the current font.

\cmd{\indx{date}}
This command prints the current date in the format Month Date, Year.
For example, if today's date were 12 December 1984, {\tt\bs date}
would print the characters ``December 12, 1984'' in the current font.

\cmd{\indx{hour}}
This command prints the current time of day (for example -- 4:07 PM)

\level2{Block Structure}
Certain local document styles are considered to belong to a ``block.''
(\indx{Block structure}, as used here, simply refers to a portion of a
file that has some common formatting instructions applied
to it.)\note{\tenpoint The concept of {\tenbo \indx{grouping}}, explained
in this manual and in {\it The \TeX book}, is basically the
same as the ``\indx{block structure}'' referred to here.}

The current block is defined to be the most recently opened
block. Pending blocks are blocks that have been opened but
not closed. The HP \TeX\ macros {\tt\+start} and {\tt\+finish}
are used to open and close blocks.

Valid \blk s pre-loaded in HP \TeX\ include {\tt indent, note,
  warning, ver\-ba\-tim, twocol\-umns} and {\tt threecolumns},
  all of which have been described in this chapter.
 User defined blocks may be implemented by defining  a control
 sequence, {\tt\bs BEGIN\blk} and, optionally, another
 control sequence, {\tt\bs END\blk}.

\cmd{\indx{start}\[\blk\]}
This command determines if a control sequence {\tt\+BEGIN\blk} has
been defined.  If one exists, a new block is opened and the control
sequence is invoked.  Otherwise, an \indx{error message} is issued and the
command is ignored.

\cmd{\indx{finish}\[\blk\]}
This command is used to close the current block and invoke the
control sequence {\tt\+END\blk} if one has been defined. If \blk\ matches
the current block name, the current block is closed. If not, an
appropriate error message is issued and corresponding corrective
action is taken. If \blk\ is not valid or there are no pending
blocks, the command is ignored. If \blk\ is valid but does not
match the current block
name, {\tt\bs done} commands are inserted until either \blk\ matches
the current block name or until all pending blocks are closed.

\cmd{\indx{done}}
This command closes the current block without
any error checking and invokes the control sequence {\tt\+END\blk} if
one has been defined. A \TeX\ error message will be issued if
there are no pending blocks.

Following is an sample usage of the {\tt\+BEGIN} and {\tt\+END}
commands in creating user-defined blocks:

\def\BEGINexample{\bigskip\centerline{- EXAMPLE -}
                \medskip\leftskip.75in\rightskip.75in}
\def\ENDexample{\medskip}
\start{example}
This example was created by defining the following block:\medskip
\centerline{\tt \+def\+BEGINexample\[\+bigskip\+centerline\[- EXAMPLE -\]}
\centerline{\tt ~~~~~~\+medskip\+leftskip.75in\+rightskip.75in\]~~~~~~}
\medskip
The block was opened using the command: {\tt\+start\[example\]}. The
optional control sequence {\tt\+END\blk} was also used, as follows:\medskip
\centerline{\tt \+def\+ENDexample\[\+medskip\]}\medskip
The {\tt\+medskip} vertical glue will be inserted after the block is
closed using the command: {\tt\+finish\[example\]}.
\finish{example}


\level1{\indx{HP 2688A} Control Macros}

These macros are for controlling certain features of the 2688A Laser
Printer:

\level2{Page Copy Control}

\cmd{\indx{copies}\int}
This macro assigns the number of copies per page starting with the current
page. The copies are uncollated; in other words, if {\tt\bs copies5}
occurred on page 3, the output will have five copies of page 3,
then five copies of page 4, $etc.$ The control of the number of copies
is accomplished through one of \TeX's counters.  Default is counter
number~1.  Possible integers and their effect are shown below:
\itm 1 to 32,767 will produce the specified number of copies.
\itm Greater than 32,767 will produce 32,767 copies.
\itm 0 will produce 1 copy.
\itm Less than 0 (negative number) no copies (can be used
to suppress certain sections of a document, $etc.$)
\enditems
The counter
can be changed using the following macro.

\cmd{\indx{selectcopycounter}\lb {\sa integer from 0 to 9}\rb}
This is used for changing which counter is used for controlling
the number of \indx{copies} per page (default is 1). This command generally
should not be used except by people who are writing their own
macros.

\need.5in\bigskip\relax{{\tentt \+copieson}}\lbreak
      \relax{{\tentt \+copiesoff}}\lbreak
If the multiple copies feature is being used in a document, these
macros can be used to alternate between one copy per page and the
number of copies assigned by the {\tt\bs copies} macro. The difference between
{\tt\bs copiesoff} and {\tt\bs copies1}~is that when the former is followed
with {\tt\bs copieson}, the original number of copies is restored, whereas
when the latter is followed with {\tt\bs copieson}, there is,
of course, no effect.

\level2{Logical Page Control}

The Print Server features a concept called ``\indx{logical paging}''
which is controlled using the following set of macros. A
logical page is a rectangular addressing space on the sheet of paper
(referred to as the ``\indx{physical page}''). Logical pages have an
orientation (\indx{portrait}, \indx{landscape}, \indx{reverse portrait}
or \indx{reverse lanscape}) and a position on the physical page.
Through the operator
interface of PS2688A, you may define a list of logical pages that
may be written to on any sheet of paper.
These logical page specifications may also be stored in a PS2688A
input file to avoid typing in the specifications for each job.
Using these macros, you
can address the logical pages with either of two methods:
either by explicitly specifying a logical page for each page of
\TeX\ output, or by specifying an ordered list of logical pages
and letting the system cycle through the list.

\cmd{\indx{lpdef}\[\lb\sa logical page definition\rb\]}
This command defines a logical page size and orientation.  The
\lb{\sa logical page definition}\rb
consists of the logical page
number, followed by the {\bo left},
then the {\bo top} dimensions (distance from the
 edges of the physical page), and the
\indx{logical page orientation} (portrait, landscape, rev--portrait or
rev--landscape). Orientation may be abbreviated {\tt P,L,RP,}and
{\tt RL,} respectively, and either upper or lower case
characters will work. The edges of the page that
would normally be the top and left as viewed from that
logical page's orientation are
always considered top and left in this context.
 An example usage follows:\medskip
\centerline{\tt \bs lpdef \[1, 1.5in, 3in, L\]}\medskip
This would cause logical page number 1~to be printed
in {\bo landscape} orientation, with the left edge of the
print (as viewed from landscape orientation) beginning 1.5~inches
from the edge of the physical page.  The ``top'' (left-hand
edge along the paper path) will begin 3~inches from the
edge.

The default values for logical pages in HP \TeX\ are: LEFT=1in,
TOP=1in.




\start{note}
\centerline{-- NOTE --}
The dimension specified as distance from the top edge does not
take into account the space needed for headings.  If running headings
are to be used, the logical page definition should allow extra
room for them when specifying ``top'' dimension. (Footings
are also printed ``in the margin,'' so when specifying
{\tt vsize} be sure to leave room for them.)
\finish{note}

\cmd{\indx{lplist}\[\lb\sa logical page list\rb\]}
This command specifies the logical page list to be used whenever
logical pages are being used implicitly. Only one such
specification is allowed within a document, if more than one exist,
all but the last are ignored. This command initializes
implied logical paging.

 The \lb {\sa logical page list}\rb ~is a list
of integer numbers from 1~to 32~which have been defined
using the {\tt \bs lpdef} command. Positive number entries will
cause a physical page eject prior to initiating the logical
page entry.  Negative numbers require no such physical
page eject.  Each entry number should be separated from
the next by a comma.

%\need3in
\medskip The remaining commands control explicit logical paging. If any of
these commands occur within a page, a page eject is issued and the
next page to be printed will be dependant upon the particular
command. If any of these commands occur on the top of a page, the
prescribed action will be delayed until the next page break
(be it natural or forced by a {\tt\bs newpage}, {\tt\bs eject}, $etc.$).
For example, suppose the first page of every chapter in a
document uses logical page 5, then {\tt\bs ppageto5} {\tt\bs lpresume}
would eject the current page (assuming it is not empty), issue
a physical page eject and begin printing on page 5. Later,
when the page is full, \TeX\ breaks the page and resumes printing
according to the logical page list.

\cmd{\indx{lpageto}\lb {\sa integer between 1 and 32}\rb}
This command causes the next page to be printed on the specified
logical page. No physical page eject is implied.

\cmd{\indx{ppageto}\lb {\sa integer between 1 and 32}\rb }
This command is similar to {\tt\bs lpageto} but implies a physical
page eject prior to printing on the specified logical page.

\cmd{\indx{lpresume}}
This command is used after a {\tt\+ppageto}  or {\tt\+lpageto}
command to resume
printing on the current page of the logical page list.

\cmd{\indx{lpreset}}
This command resets the logical page list and prints on the first
page in the list.

\cmd{\indx{lpexit}}
This command exits the current loop in the logical page list and
prints on the next page in the list.

\cmd{\indx{selectlpcounter}\int}
This is used for changing which counter is used for specifying the
logical page (default is 2). This macro generally should not be used
except by people who are writing their own macros.
\vfill\eject

% THIS BEGINS THE SAMPLE PAGE***

\def\oddheading{\vbox{\hbox to \hsize{\eightrm A Sample Document
                                        \hfil Page \folio}
               \nointerlineskip\vskip2pt
               \hbox{\vrule width \hsize height .4pt}}}
\centerfooting{\eightbf THIS DOCUMENT WAS CREATED USING \HPTEX}
\firstlevelhead{\leftline{\fourteenbf\levelno\enspace%
                \title}%
     \medskip\ctswrite{\hskip15pt\tenrm\title}}
\numbereditems
\level1{Formatting a \indx{Sample Document}}
In this section we will format a simple document
utilizing many of the HP \TeX\ macros.
For this example, we will accept all the HP \TeX\ default values for the
various commands.
\vskip.5in
\centerline{\twelvebf A Sample Document}

Isn't that nice? If we wanted to, we could have easily set that off to the
right like this:\lbreak
\rightline{\twelvebf A Sample Document}

Now, how about \textbox{a textbox?}  Those are
always fun. Or, if we really want to set something off, we could
ask \TeX\ to:
\centerbox{put it inside\cr
           a nice little\cr
           centered box,}
or, maybe just \boxit{``boxit'' --  like this.}

But say you're really serious about getting someone's attention.

\start{warning}
\centerline{\bf LOOK!}
\centerline{You can use the ``Warning'' command, like we did here.}
\finish{warning}

Now, let's use the extraordinary capabilities of \TeX\ to
generate a mathematical formula:
$$\hat{n}_2(s)={1\over \alpha_2}\biggl[ \biggl({\partial C_2\over
     \partial x} \biggr)_{x=0}+{k_1 \hat{n}_1\over D_1} \biggr]$$
Next, we'll create a table to show the dimensional units available in \TeX :
\medskip
\tableformat{\centerline|\centerline 1in|\leftline 1.2in|\centerline 1in|%
  \centerline .05in|\centerline 1in|\leftline 1.2in|\centerline 1in}
\tablebar{|\span7\tbar|}
\tablerow{|\TeX\ UNIT|DESCRIPTION|PER INCH||\TeX\ UNIT|DESCRIPTION|PER INCH|}
\tablebar{|\span7\tbar|}
\tablerow{|{\tt in}|inch|1||{\tt mm}|millimeter|25.4|}
\tablerow{|{\tt cm}|centimeter|2.54||{\tt dd}|Didot point|67.54|}
\tablerow{|{\tt pt}|printer's point|72.27||{\tt bp}|big point|72|}
\tablerow{|{\tt pc}|pica|6.02|| | | |}
\tablebar{|\span7\tbar|}
\medskip
Itemized lists are very useful:
\itm For listing things.
\itm For making a series of points.
\sitm You can even use subitems.
\enditems
Now, look at the next page to see exactly how this sample
document was formatted.
\vfil\eject


\nofooting
\centerline{\bf Here's the source file for ``\indx{Sample Document}''}
\medskip
\start{verbatim}{\tentt\inset=.6in\start{indent}
\+noindentstyle
\+centerfooting\[\+eightbf THIS DOCUMENT WAS CREATED USING \+HPTEX\]
\+null\+bigskip
\+centerline\[\+twelvebf A Sample Document\]

Isn't that nice? If we wanted to, we could have easily set that off to the
rightlike this:\+lbreak
\+rightline\[\+twelvebf A Sample Document\]

Now, how about \+textbox\[a textbox?\]   Those are always
fun. Or, if we really want to set something off, we could ask \+TeX\+ to:
\+centerbox\[put it inside\+cr
           a nice little\+cr
           centered box,\]
or, maybe just \+boxit\[``boxit'' -- like this.\]

But say you're really serious about getting someone's attention.

\+start\[warning\]
\+centerline\[\+bf LOOK!\]
\+centerline\[You can use the ``Warning'' command, like we did here.\]
\+finish\[warning\]

Now, let's use the extraordinary capabilities of \+TeX\+ to
generate a mathematical formula:
$$\+hat\[n\]_2(s)=\[1\+over \+alpha_2\] \+biggl[ \+biggl(\[\+partial C_2\+over
     \+partial x\]  \+biggr)_\[x=0\] +\[k_1 \+hat\[n\]_1\+over D_1\]  \+biggr]$$
Next, we'll create a table to show the dimensional units available in \+TeX :
\+medskip
\+tableformat\[\+centerline|\+centerline 1in|\+leftline 1.2in|%
     \+centerline 1in|\+centerline .05in|%
     \+centerline 1in|\+leftline 1.2in|\+centerline 1in\]
\+tablebar\[|\+span7\+tbar|\]
\+tablerow\[|\+TeX\+ UNIT|DESCRIPTION|PER INCH||\+TeX\+ UNIT|DESCRIPTION|PER INC
\+tablebar\[|\+span7\+tbar|\]
\+tablerow\[|\[\+tentt in\]|inch|1||\[\+tentt mm\]|millimeter|25.4|\]
\+tablerow\[|\[\+tentt cm\]|centimeter|2.54||\[\+tentt dd\]|Didot point|67.54|\]
\+tablerow\[|\[\+tentt pt\]|printer's point|72.27||\[\+tenttbp\]|big point|72|\]
\+tablerow\[|\[\+tentt pc\]|pica|6.02|| | | |\]
\+tablebar\[|\+span7\+tbar|\]
\+medskip
Itemized lists are very useful:
\+itm For listing things.
\+itm For making a series of points.
\+sitm You can even use subitems.
\+enditems
Now, look at the next page to see exactly how this sample document was
formatted.
\+vfil\+eject
\finish{indent}
}
\finish{verbatim}

\bye

