diff options
Diffstat (limited to 'obsolete/macros/hptex/hpmanual.tex')
-rw-r--r-- | obsolete/macros/hptex/hpmanual.tex | 1240 |
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 + |