summaryrefslogtreecommitdiff
path: root/obsolete/macros/hptex/hpmanual.tex
diff options
context:
space:
mode:
Diffstat (limited to 'obsolete/macros/hptex/hpmanual.tex')
-rw-r--r--obsolete/macros/hptex/hpmanual.tex1240
1 files changed, 1240 insertions, 0 deletions
diff --git a/obsolete/macros/hptex/hpmanual.tex b/obsolete/macros/hptex/hpmanual.tex
new file mode 100644
index 0000000000..b776529494
--- /dev/null
+++ b/obsolete/macros/hptex/hpmanual.tex
@@ -0,0 +1,1240 @@
+% 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
+