summaryrefslogtreecommitdiff
path: root/macros/inrstex/inrsdoc
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/inrstex/inrsdoc
Initial commit
Diffstat (limited to 'macros/inrstex/inrsdoc')
-rw-r--r--macros/inrstex/inrsdoc/boxex.tex41
-rw-r--r--macros/inrstex/inrsdoc/genins.tex165
-rw-r--r--macros/inrstex/inrsdoc/helphdr.tex307
-rw-r--r--macros/inrstex/inrsdoc/ieeelogo.ps685
-rw-r--r--macros/inrstex/inrsdoc/index.tex43
-rw-r--r--macros/inrstex/inrsdoc/indsortbin0 -> 50884 bytes
-rw-r--r--macros/inrstex/inrsdoc/indsort.c113
-rw-r--r--macros/inrstex/inrsdoc/inrslogo.tex58
-rw-r--r--macros/inrstex/inrsdoc/inrssl.tex147
-rw-r--r--macros/inrstex/inrsdoc/inrsunix.sh14
-rw-r--r--macros/inrstex/inrsdoc/masth.ctg7
-rw-r--r--macros/inrstex/inrsdoc/masth.ind762
-rw-r--r--macros/inrstex/inrsdoc/masth.sor809
-rw-r--r--macros/inrstex/inrsdoc/masth.sta32
-rw-r--r--macros/inrstex/inrsdoc/masth.tex54
-rw-r--r--macros/inrstex/inrsdoc/masth_chap32
-rw-r--r--macros/inrstex/inrsdoc/mastoc.tex19
-rw-r--r--macros/inrstex/inrsdoc/mastps31
-rw-r--r--macros/inrstex/inrsdoc/mjf.tex11
-rw-r--r--macros/inrstex/inrsdoc/pagdiag.tex120
-rw-r--r--macros/inrstex/inrsdoc/psalm23.tex11
-rw-r--r--macros/inrstex/inrsdoc/secthead.tex223
-rw-r--r--macros/inrstex/inrsdoc/status.tex28
-rw-r--r--macros/inrstex/inrsdoc/thalign.tex1002
-rw-r--r--macros/inrstex/inrsdoc/thauto.tex379
-rw-r--r--macros/inrstex/inrsdoc/thbas.tex220
-rw-r--r--macros/inrstex/inrsdoc/thbasbox.tex383
-rw-r--r--macros/inrstex/inrsdoc/thbreak.tex60
-rw-r--r--macros/inrstex/inrsdoc/thcite.tex251
-rw-r--r--macros/inrstex/inrsdoc/thcont.tex224
-rw-r--r--macros/inrstex/inrsdoc/thcover.tex57
-rw-r--r--macros/inrstex/inrsdoc/thdefs.tex160
-rw-r--r--macros/inrstex/inrsdoc/thdimnum.tex141
-rw-r--r--macros/inrstex/inrsdoc/thdocsty.tex66
-rw-r--r--macros/inrstex/inrsdoc/thfigtbl.tex417
-rw-r--r--macros/inrstex/inrsdoc/thfonts.tex155
-rw-r--r--macros/inrstex/inrsdoc/thftnote.tex104
-rw-r--r--macros/inrstex/inrsdoc/thglue.tex125
-rw-r--r--macros/inrstex/inrsdoc/thgraph.tex1288
-rw-r--r--macros/inrstex/inrsdoc/thindex.tex29
-rw-r--r--macros/inrstex/inrsdoc/thlists.tex281
-rw-r--r--macros/inrstex/inrsdoc/thmateq.tex480
-rw-r--r--macros/inrstex/inrsdoc/thmatsym.tex419
-rw-r--r--macros/inrstex/inrsdoc/thmulcol.tex140
-rw-r--r--macros/inrstex/inrsdoc/thover.tex66
-rw-r--r--macros/inrstex/inrsdoc/thp2.tex420
-rw-r--r--macros/inrstex/inrsdoc/thpagsiz.tex156
-rw-r--r--macros/inrstex/inrsdoc/thpagsty.tex219
-rw-r--r--macros/inrstex/inrsdoc/thparcon.tex367
-rw-r--r--macros/inrstex/inrsdoc/thshead.tex295
-rw-r--r--macros/inrstex/inrsdoc/thspac.tex204
-rw-r--r--macros/inrstex/inrsdoc/thstart.tex397
-rw-r--r--macros/inrstex/inrsdoc/thsubdoc.tex157
-rw-r--r--macros/inrstex/inrsdoc/thtoc.tex323
54 files changed, 12697 insertions, 0 deletions
diff --git a/macros/inrstex/inrsdoc/boxex.tex b/macros/inrstex/inrsdoc/boxex.tex
new file mode 100644
index 0000000000..61acf76af6
--- /dev/null
+++ b/macros/inrstex/inrsdoc/boxex.tex
@@ -0,0 +1,41 @@
+%-*-tex-*-
+%boxexample
+\def\wid{{\tt wd}}
+\def\hei{{\tt ht}}
+\def\dpt{{\tt dp}}
+\def\boxpoint{\setbox2=\hbox{\vrule width 8pt height 3pt depth 5pt} \wd2 =0pt
+ \ht2=0pt \dp2=0pt \hskip -8pt \box2}
+\setbox4=\hbox{\hei}
+\def\vbrule{\vrule width 1pt}
+\def\hbrule{\hrule height 1pt}
+\setbox0=\hbox to 1.2in{\vbrule$\longleftarrow \hss \wid \hss\longrightarrow$\vbrule}
+\setbox8=\vbox to 2in{\offinterlineskip\hbox to \wd4{\hss$\uparrow$\hss}
+ \hbox to \wd4{\hss $\Bigg\vert$\hss}\vss
+ \hbox to \wd4{\hss \hei\hss}\vss
+ \hbox to \wd4{\hss $\Bigg\vert$\hss}
+ \hbox to \wd4{\hss$\downarrow$\hss}}
+\setbox6=\vbox{\hbox to \wd4{\hss$\uparrow$\hss}
+ \hbox to \wd4{\hss \dpt\hss}
+ \hbox to \wd4{\hss$\downarrow$\hss}}
+
+\def\boxexample{\bigbreak\line{\hss
+ \vtop{\copy0 \offinterlineskip
+ \smallskip
+ \hbrule
+ \hbox to \wd0{\vbrule height \ht8
+ \boxpoint \hss
+ \hskip 4pt\copy8 \hss
+ \vbrule height \ht8}
+ \hbrule
+ \hbox to \wd0{\vbrule height \ht6 \hss
+ \copy6 \hss
+ \vbrule height \ht6}
+ \hbrule
+ }
+ \vtop{\hrule height 0pt
+ \vskip 1in
+ \hbox{\qquad \vrule height 6pt width 8pt depth 2pt
+ \quad $\Leftarrow$ Reference Point}
+ \vskip 62pt
+ \hbox{$\Leftarrow$ Baseline}}
+ \hss}\medskip}
diff --git a/macros/inrstex/inrsdoc/genins.tex b/macros/inrstex/inrsdoc/genins.tex
new file mode 100644
index 0000000000..cf08172235
--- /dev/null
+++ b/macros/inrstex/inrsdoc/genins.tex
@@ -0,0 +1,165 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+% ========= Syntactic Compability Forms ============
+% Each of these has a token list that is inserted before each
+% particular insert ... and in a group.
+% in \begin... \end.. pairs
+\newtoks\everytopinsert
+\newtoks\everymidinsert
+\newtoks\everypageinsert
+\def\begintopinsert{\begingroup\the\everytopinsert\topinsert}
+\def\beginmidinsert{\begingroup\the\everymidinsert\midinsert}
+\def\beginpageinsert{\begingroup\the\everypageinsert\pageinsert}
+
+\def\e@ndinsert{\endinsert\endgroup}
+
+\let\endtopinsert = \e@ndinsert
+\let\endmidinsert = \e@ndinsert
+\let\endpageinsert = \e@ndinsert
+
+% ============= Figure, Table, etc inserts ==========
+
+% Assumptions
+% The form is described by three letters, eg "fig" or "tbl"
+% If the list file exists, the page info is written.
+% \writelistfile must be defined
+% \autonumber, \autoreference, \ref, \quietref, \veryraggedright
+% If autonumbering is on, then
+% \silent, \autofignum ..
+% An "fig" form and "tbl" form are defined. These need
+% \figurelabel, and \tablelabel respectively. These are
+% usually defined in the \englishversion and \versionfrancaise
+% The insert forms use \beginmidinsert ... \endmidinsert.
+
+
+% Defaults --- to be set.
+% \captiontextfraction ... inrsdef.tex
+% \captionskip ... inrsdef.tex
+% \topcaptiontrue or \topcaptionfalse ... inrsdef.tex
+% \figurelabel or \figlabel ... english.tex or francais.tex
+% \tablelabel or \tbllabel ... english.tex or francais.tex
+% \captionnumfont ... inrsfont.tex
+% \captiontitlefont ... inrsfont.tex
+% \captionbodyfont ... inrsfont.tex
+% \captionbodyon <off> ... inrsdef.tex
+
+
+% This is a general form for an insert with a caption, under it
+% if \topcaptionfalse and over it if \topcaptiontrue
+% The particular form is identified with a (usually) three letter sequence
+% such as "fig" or "tbl". There can be an associated list file for
+% automatic generation of the page list for the items.
+% The basic form is a non-floating type, enclosed in $$ ... $$ to give
+% correct spacing. This can be put in an insert to make it float.
+% Full page forms require \vfill above and/or below for top, bottom, or center.
+
+% The caption box measures its size and centers the text if it is short
+% or puts it in a \vbox which is \captiontextfraction of the \hsize
+% if it is not.
+% The \captionskip is the spacing between the caption and the actual
+% item in the text. This may be a table or figure or ....
+
+% \let\captionnumfont = \bf
+% \let\captiontextfont = \relax % defaults to "outside font"
+% \def\captiontextfraction{0.8}
+
+\def\captionbox#1#2{\setbox0=\hbox{{\captionnumfont #1}\quad #2}
+ \ifdim 1\wd0 < \captiontextfraction\hsize
+ \centerline{\unhbox0}
+ \else
+ \centerline{\vbox{\hsize=\captiontextfraction\hsize
+ \veryraggedright
+ \setbox0=\hbox{{\captionnumfont #1}\quad}
+ \hangindent=1\wd0 \hangafter=1
+ \noindent\unhbox0
+ \captiontitlefont #2}}%
+ \fi}
+
+% A caption is assumed to have both a <title> that will appear in the
+% list, if any and a <caption body> that will appear only when the caption is
+% printed. The default is to have \captionbody ... "active" and to turn it
+% off when making lists.
+% This is done with two commands \captionbodyon and \captionbodyoff
+% associated with a <caption body> is a <caption body font>
+
+\def\captionbodyon{\def\captionbody##1{\captionbodyfont ##1}}
+\def\captionbodyoff{\def\captionbody##1{}}
+
+
+% \rect <hor dimen> by <vert dimen>} A centered rectangular box to act
+% as a place holder if there is a figure to be pasted in later.
+\def\r@ect{\centerline{\vbox{\hrule
+ \hbox{\vrule height \the\dimen2
+ \hskip \dimen0
+ \vrule height \the\dimen2}
+ \hrule
+ }}}
+\def\rect #1by{\dimen0 #1\afterassignment\r@ect \dimen2}
+
+% ======= This is the general insert form =======
+% #1 is the name of the insert form, #2 is the tag or number, #3 is the title
+% #4 is the actual insert form value ... ie figure or table or ...
+
+% This is the glue specification between the caption and the body of the
+% insert
+
+\newskip\captionskip %\captionskip=2ex
+
+% This is a switch that controls whether the caption is above or below the
+% the body of the insert
+
+\newif\iftopcaption %\topcaptionfalse % defaulted
+
+% This is the general form of the insert --- it requires both \autonumber
+% and \autoreference to work. By selectively turning on/off these
+% switches, multipart figures are possible.
+
+\def\geninsertform #1#2#3#4{
+ \ifautonumber
+ \silent{\expandafter\csname auto#1num\endcsname{#2}}\relax
+ \edef\i@nsnum{\csname:@#2\endcsname}\else
+ \edef\i@nsnum{#2}\fi
+ {\def\captionbody##1{}\edef\t@out{\noexpand\writelistfile
+ {#1}{\csname #1tocout\endcsname}{\i@nsnum}{#3}}\t@out}\relax
+ $$\vbox{\normalbaselines
+ \iftopcaption
+ \captionbox{\csname #1label\endcsname\i@nsnum}{#3}
+ \vskip \captionskip
+ \centerline{\vbox{#4}}
+ \else
+ \centerline{\vbox{#4}}
+ \vskip \captionskip
+ \captionbox{\csname #1label\endcsname\i@nsnum}{#3}
+ \fi
+ \vss}$$}
+
+
+% ========== Special Cases ============
+% These define simple forms for standard midinserts. It uses
+% \beginmidinsert ... \endmidinsert for consistency
+
+% For Figures
+\def\figureform #1#2#3{\geninsertform {fig}{#1}{#2}{#3}}
+\def\figlabel{\figurelabel }
+\def\figureinsert #1#2#3{\beginmidinsert
+ \figureform{#1}{#2}{#3}
+ \endmidinsert }
+
+%\def\figtocout{\string\figtoc} % actually set in inrsdef.tex
+
+
+% For Tables
+\def\tableform #1#2#3{\geninsertform {tbl}{#1}{#2}{#3}}
+\def\tbllabel{\tablelabel }
+\def\tableinsert #1#2#3{\beginmidinsert
+ \tableform{#1}{#2}{#3}
+ \endmidinsert }
+%\def\tbltocout{\string\tbltoc} % actually set in inrsdef.tex
+
+
+% Comment ---- \endinsert in Plain has a pre and post \bigskip
+% This should probably be removed and the spacing always controlled by
+% the $$ ... $$. Instead, if the \everymidinsert form were used it
+% would be possible to remove it with \everymidinsert = {\let\bigskip=\relax \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/helphdr.tex b/macros/inrstex/inrsdoc/helphdr.tex
new file mode 100644
index 0000000000..52911e89a7
--- /dev/null
+++ b/macros/inrstex/inrsdoc/helphdr.tex
@@ -0,0 +1,307 @@
+
+% -*-tex-*-
+% tex 1.1
+% special definitions
+\catcode`\@=11
+% subdocument macros fix
+
+\def\lb{ \li $\bullet$ }
+
+\def\subdocumentmacros#1{\ifs@ubdocument #1 \fi\s@ubdocumentfalse}
+
+
+%simple line skip
+\def\ls{\vskip \baselineskip \noindent}
+
+%vphantom "bug"
+\def\sphantom#1{\setbox0=\hbox{#1} \setbox2=\null \ht2=\ht0 \dp2=\dp0 \box2}
+
+% INRS
+\def\INRS{INRS-\kern-.1emT\'el\'e\-com\-muni\-ca\-tions}
+
+%check form %will print in proof mode only
+\long\def\proofcheck#1{\ifproofmode \par Proofcheck: \par #1 \fi}
+
+\def\comhead#1{\penaltybreak{-1000}{2.8ex}\centerline{\sssheadfont #1}\smallskip\nobreak}
+
+\let\tex = \TeX % its easier to type
+\def\inprint{INRSprint}
+\def\mtex{T\kern-.1667em\lower.5ex\hbox{\^E}\kern-.125emX}
+\def\texbook{\tex book}
+\def\plain{{\it plain}}
+\def\intex{INRS\mtex}
+
+\def\vrt{\hbox{\tt\char`\|}} % vertical line
+\def\dnArrow{\hbox{\tt\char'14}} % downward arrow
+\def\upArrow{\hbox{\tt\char'13}} % upward arrow
+\def\]{\hbox{\tt\char`\ }} % visible space
+
+%special boxits
+
+\def\hhboxit#1{\hbox{\vrule\vbox{\hrule\hbox{#1}\hrule}\vrule}}
+\def\hvboxit#1{\hbox{\vrule\vbox{\hrule\hbox{\vbox{#1}}\hrule}\vrule}}
+\def\vvboxit#1{\vbox{\hrule\hbox{\vrule\vbox{#1}\vrule}\hrule}}
+\def\vhboxit#1{\vbox{\hrule\hbox{\vrule\vbox{\hbox{#1}}\vrule}\hrule}}
+\let \hh=\hhboxit \let \vh=\vhboxit \let \vv=\vvboxit \let \hv=\hvboxit
+
+
+
+%========== simple forms for prim,plain,ext ended commands =======
+\def\pri{\leavevmode\llap{$\bullet$\kern 5pt}\nobreak}
+\def\pla{\leavevmode\llap{$\diamond$\kern 5pt}\nobreak}
+\def\ext{\leavevmode\llap{$\star$\kern 5pt}\nobreak}
+
+%======== simple multicolumn for symbols and commands
+% must fit on single page and have no inserts
+% will be balanced
+
+\newbox\simpgalleybox
+\newdimen\simphcolumnsize
+\newdimen\simpfirstoffset \simpfirstoffset = 1em
+\newtoks\simpcolumnsep \simpcolumnsep = {\vrule\hskip 2em\vrule}
+\newcount\simpnumcolumns
+\def\setsimphsize{\setbox0=\hbox{\the\simpcolumnsep}
+ \dimen0= \simpnumcolumns\wd0 %\the\dimen0
+ \advance\dimen0 by -\wd0 %\the\dimen0
+ \advance\dimen0 by \simpfirstoffset
+ \dimen2 = \hcolumnsize %\the\dimen2
+ \advance\dimen2 by -\dimen0 %\the\dimen0
+ \divide\dimen2 by \simpnumcolumns
+ \global\simphcolumnsize = \dimen2
+ }
+
+\def\beginsimplemulticolumn{
+ \setbox\simpgalleybox = \vbox\bgroup \hsize\simphcolumnsize}
+
+
+\def\endsimplemulticolumn{ \egroup \dimen0 = \ht\simpgalleybox
+ \advance\dimen0 by \dp\simpgalleybox
+ \divide\dimen0 by \simpnumcolumns
+ \advance\dimen0 by 0pt % size of split box
+ \count255=1
+ \splitmaxdepth=\maxdepth
+ \splittopskip=0pt
+ \setbox2 = \vsplit\simpgalleybox to \dimen0
+ \setbox0 = \hbox{\vbox to \dimen0{\unvbox2\vss}}
+ \loop \ifnum \count255 < \simpnumcolumns
+ \setbox2 = \vsplit\simpgalleybox to\dimen0
+ \setbox0 = \hbox{\unhbox0\the\simpcolumnsep
+ \vbox to \dimen0{\unvbox2\vss}}
+ \advance\count255 by 1
+ \repeat
+ \centerline{\box0}}
+
+%use default values
+\def\beginthreecolumn{\begincolumns 3}
+\def\begintwocolumn{\begincolumns 2}
+\def\begincolumns#1{\par\simpnumcolumns= #1
+ \simpfirstoffset = 10pt
+ \simpcolumnsep = {\hskip 2em}
+ \setsimphsize
+ \beginsimplemulticolumn \obeylines
+ \advance\parskip by 0pt plus 2pt minus 2pt
+ \parindent =0pt}
+\let\endthreecolumn=\endsimplemulticolumn
+\let\endmulticolumn=\endsimplemulticolumn
+\let\endtwocolumn = \endsimplemulticolumn
+%command followed by explanation or short example
+\newdimen\descrwd \descrwd = 2.5in
+\def\bshortcomlist{\begingroup$$\tabskip=1em plus 1fil
+ minus 1fil\halign\bgroup##\dotfill&\quad
+ \vtop{\hsize \descrwd \veryraggedright\noindent\strut ##\strut} \cr}
+\def\eshortcomlist{\crcr \egroup$$\endgroup}
+
+
+% macros for verbatim scanning
+\chardef\bslash=`\\
+\chardef\other=12
+\def\space{\leavevmode\hskip.5emplus1ptminus1pt\relax}
+{\obeyspaces %makes a space active for inside def
+\gdef\ttverbatim{\begingroup
+\def|{\char`\|}\catcode`\\=\other
+\catcode`\{=\other
+\catcode`\}=\other
+\catcode`\$=\other
+\catcode`\&=\other
+\catcode`\#=\other
+\catcode`\%=\other
+\catcode`\~=\other
+\catcode`\_=\other
+\catcode`\^=\other
+\catcode`\<=\other
+\catcode`\>=\other
+\parindent0pt\parskip0pt plus1pt%
+\obeyspaces\let =\space
+\obeylines\tt}}
+
+\def\hendgraf{\endgraf\leavevmode}
+\outer\def\begintt{\vskip-\baselineskip$$\let\par=\hendgraf\ttverbatim%
+\catcode`\|=0\ttfinish}
+{\catcode`\|=0 |catcode`|\=\other% | is temporary escape character
+|obeylines% end of line is active
+|gdef|ttfinish#1^^M#2\endtt{|vbox{#2}|endgroup$$|vskip-|baselineskip|noindent|ignorespaces}}
+
+{\catcode`\|=\active \gdef\g@et #1|{\gdef\text{#1}#1\endgroup
+ \ifindexit \makexref \fi \indexitfalse}}
+
+\catcode`\|=\active %defines | as an active character in the entire document
+{\obeylines \gdef|{\ttverbatim\spaceskip\ttglue\g@et}}
+%\def\ttspace{{\tt\hskip\ttglue}}
+
+% ========= \ in \beginttverbatim ========
+\def\1{\char'134}
+
+%More useful stuff from TeX manual Header
+
+
+\def\bull{\vrule height .9ex width .8ex depth -.1ex } % square bullet
+\def\SS{{\it SS}} % scriptscript style
+
+% \box\bigdot is a null box with a bullet at its reference point
+\newbox\bigdot \newbox\smalldot
+\setbox0=\hbox{$\vcenter{}$} % \ht0 is the axis height
+\setbox1=\hbox to 0pt{$\hss\bullet\hss$} % bullet is centered on the axis
+\setbox\bigdot=\vbox to 0pt{\kern-\ht1 \kern\ht0 \box1 \vss}
+\setbox1=\hbox to0pt{$\hss\cdot\hss$} % cdot is centered on the axis
+\setbox\smalldot=\vbox to0pt{\kern-\ht1 \kern\ht0 \box1 \vss}
+
+% \samplebox makes the outline of a box, with big dot at reference point
+\def\samplebox#1#2#3#4{% #1=ht, #2=dp, #3=wd, #4=text
+ {\setbox0=\vtop{\vbox to #1{\hbox to #3{}\vss}
+ \nointerlineskip
+ \vbox to #2{}}% now \box0 has the desired ht, dp, and wd
+ \hbox{\copy\bigdot
+ \vrule height.2pt depth.2pt width#3%
+ \kern-#3%
+ \makelightbox
+ \kern-#3%
+ \raise#1\vbox{\hbox to #3{\hss#4\hss}
+ \kern 3pt}}}}
+
+% \sampleglue makes glue between sample boxes
+\def\sampleglue#1#2{% #1=width, #2=text
+ \vtop{\hbox to #1{\xleaders\hbox to .5\varunit{\hss\copy\smalldot\hss}\hfil}
+ \kern3pt
+ \tabskip 0pt plus 1fil
+ \halign to #1{\hfil##\cr#2\cr}}}
+
+
+% indexing macros mods of texbook
+
+% there is an interaction between \beginttverbatim and indexing wrt ^
+% thus change of ^ active to \@ !!!!!
+
+
+
+\def\indxx{\xref}
+\def\xref{\relax}
+\let\@=\indxx
+\newif\ifindexit
+
+{\obeylines
+\gdef\makexref{{\def\space{ }\def^^M{*/*}% spaces are important
+\xdef\writeit{\write\ind@file{!\text!\space\string\indpg\space\noexpand\number\pageno.}}\writeit}}}
+
+
+\def\indexingon{\openlistfile{ind}\def\xref{\indexittrue}}
+
+
+\def\indexingoff{\closelistfile{ind}\def\xref{\relax}}
+
+
+
+% Command description macro
+% Format will be
+% \bc
+% |<command>|\par-- for input
+% nobreak
+% Block based description
+% bigbreak
+\def\beginblockmode {\begingroup\parindent=0pt
+ \parskip= \smallskipamount
+ \def\nbr{\par\nobreak\smallskip}
+ \let\sbr=\smallbreak
+ \let\mbr=\bigbreak
+ \let\bbr=\bigbreak}
+\def\endblockmode{\par\endgroup}
+
+%multipoint eqalign
+\def\multieqalign#1{\,\vcenter{\openup\jot\m@th
+ \ialign{&\quad\strut\hfil$\displaystyle{##}$&$\displaystyle
+ {{}##}$\hfil\quad&##\crcr#1\crcr}}\,}
+
+\bookstyle
+%special changes for this book
+
+\def\cqu{}
+\newskip\qsk \qsk=3in plus 1fill
+\def\cquote#1#2{\par\vfill\leftskip=\qsk {\it #1}\par\bigskip{\bf #2}}
+
+\def\pslide #1//#2//{\vfill\hslide #1//#2//}
+
+\def\chapterstartform{\ifodd\pageno \relax\else
+ \line{}{\cqu\par\ejectpage}\fi
+ \gdef\cqu{}\titlepagestyle}
+% modification of header format
+\def\leftheadertext{\line{\llap{\ssheadfont\folio\qquad}\def\cr{ }CHAPTER
+ \chnumform: \the\chaptername \hss}}
+\def\rightheadertext{\line{\hss\topmark\rlap{\ssheadfont\qquad\folio}}}
+\let\chapterhead=\chead
+\let\bookstyle=\relax % removes the second try
+\input texgraph %POSTCRIPT
+\input inrssl%POSTCRIPT
+
+\def\textpagestyle{}
+
+\inrsform
+\textform
+%boxexample
+\def\boxexample{
+\def\wid{{\tt wd}}
+\def\hei{{\tt ht}}
+\def\dpt{{\tt dp}}
+\def\boxpoint{\setbox2=\hbox{\vrule width 8pt height 3pt depth 5pt} \wd2 =0pt
+ \ht2=0pt \dp2=0pt \hskip -8pt \box2}
+\setbox4=\hbox{\hei}
+\def\vbrule{\vrule width 1pt}
+\def\hbrule{\hrule height 1pt}
+\setbox0=\hbox to 1.2in{\vbrule$\longleftarrow \hss \wid \hss\longrightarrow$\vbrule}
+\setbox8=\vbox to 2in{\offinterlineskip\hbox to \wd4{\hss$\uparrow$\hss}
+ \hbox to \wd4{\hss $\Bigg\vert$\hss}\vss
+ \hbox to \wd4{\hss \hei\hss}\vss
+ \hbox to \wd4{\hss $\Bigg\vert$\hss}
+ \hbox to \wd4{\hss$\downarrow$\hss}}
+\setbox6=\vbox{\hbox to \wd4{\hss$\uparrow$\hss}
+ \hbox to \wd4{\hss \dpt\hss}
+ \hbox to \wd4{\hss$\downarrow$\hss}}
+\bigbreak\line{\hss
+ \vtop{\copy0 \offinterlineskip
+ \smallskip
+ \hbrule
+ \hbox to \wd0{\vbrule height \ht8
+ \boxpoint \hss
+ \hskip 4pt\copy8 \hss
+ \vbrule height \ht8}
+ \hbrule
+ \hbox to \wd0{\vbrule height \ht6 \hss
+ \copy6 \hss
+ \vbrule height \ht6}
+ \hbrule
+ }
+ \vtop{\hrule height 0pt
+ \vskip 1in
+ \hbox{\qquad \vrule height 6pt width 8pt depth 2pt
+ \quad $\Leftarrow$ Reference Point}
+ \vskip 62pt
+ \hbox{$\Leftarrow$ Baseline}}
+ \hss}\medskip}
+
+
+\def\ftn{}
+
+\hfuzz=5pt
+\let\prule=\relax \let\ptrule=\relax
+\marginnotesfalse
+\pagetagson
+
+\ejectpage
diff --git a/macros/inrstex/inrsdoc/ieeelogo.ps b/macros/inrstex/inrsdoc/ieeelogo.ps
new file mode 100644
index 0000000000..b96c2b8f2a
--- /dev/null
+++ b/macros/inrstex/inrsdoc/ieeelogo.ps
@@ -0,0 +1,685 @@
+%!
+%%BoundingBox: 215.040000 362.160000 396.720000 429.840000
+0.240000 0.240000 scale
+896 1509 translate
+768 282 scale
+768 282 true [768 0 0 -282 0 282] {<
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000700000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000001C000000000000000000000000000000000000000000000000000000000000000000F800000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000FF00000000000000000000000000000000000000000
+0000000000000000000000000FC00000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000001FF800000000
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000003FFC00000000000000000000000000000000000000000000000000000000
+000000000FC000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000007FFE000000000000000000000000
+00000000000000000000000000000000000000000FC0000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000FFFF00000000000000000000000000000000000000000000000000000000000000000FC00000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000001FFFF0000000000000000000000000000000000000000
+0000000000000000000000000FC00000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000003FFFF80000000
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000003FFFFC0000000000000000000000000000000000000000000000000000000
+000000000FC000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000007FFFFE00000000000000000000000
+00000000000000000000000000000000000000000FC0000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000FFFFFE0000000000000000000000000000000000000000000000000000000000000000FC00000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000001FFFFFF000000000000000000000000000000000000000
+0000000000000000000000000FC00000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000001FFFFFF8000000
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000003FFFFFF8000000000000000000000000000000000000000000000000000000
+000000000FC000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000007FFFFFFC0000000000000000000000
+00000000000000000000000000000000000000000FC0000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00FFFFFFFE000000000000000000000000000000000000000000000000000000000000000FC00000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000001FFFFFFFF00000000000000000000000000000000000000
+0000000000000000000000000FC00000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000001FFFFFFFF800000
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000003FFFFFFFF800000000000000000000000000000000000000000000000000000
+000000000FC000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000007FFFFFFFFC000000000000000000000
+00000000000000000000000000000000000000000FC0000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0FFFFFFFFFE00000000000000000000000000000000000000000000000000000000000000FC00000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000001FFFFFFFFFE0000000000000000000000000000000000000
+0000000000000000000000000FC00000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000001FFFFFFFFFF00000
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000003FFFFFFFFFF80000000000000000000000000000000000000000000000000000
+000000000FC000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000003FFFFFFFFFFC00000000000000000000
+00000000000000000000000000000000000000000FC0000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+7FFFFFFFFFFE0000000000000000000000000000000000000000000000000000000000000FC00000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000FFFFFFFFFFFF000000000000000000000000000000000000
+0000000000000000000000000FC00000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000001FFFFFFFFFFFF0000
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000003FFFFFFFFFFFF8000000000000000000000000000000000000000000000000000
+000000000FC000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000007FFFFFFFFFFFFC0000000000000000000
+00000000000000000000000000000000000000000FC0000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000007
+FFFFFC1FFFFFE000000000000000000000000000000000000000000000000000000000000FC00000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000FFFFFE003FFFFF00000000000000000000000000000000000
+0000000000000000000000001FC00000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000001FFFFF8000FFFFF000
+000000000000000000000000000000000000000000000000000000001FC000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000003FFFFF03E03FFFF800000000000000000000000000000000000000000000000000
+000000000FC000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000007FFFFC1FFC1FFFFC000000000000000000
+00000000000000000000000000000000000000000FC0000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000FF
+FFF87FFF07FFFE00000000000000000000000000000000000000000000000000000000000FC00000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000001FFFFE0FFFF83FFFF0000000000000000000000000000000000
+0000000000000000000000000FC00000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000003FFFFC3FFFFE1FFFF80
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000007FFFF07FFFFF07FFFC0000000000000000000000000000000000000000000000000
+000000000FC000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000007FFFE1FFFFFFC3FFFE00000000000000000
+00000000000000000000000000000000000000000FC0000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000001FFF
+F83FFFFFFE1FFFE0000000000000000000000000000000000000000000000000000000000FC00000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000001FFFF07FFFFFFF07FFF000000000000000000000000000000000
+0000000000000000000000000FC00000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000003FFFF0FFFFFFFF83FFF8
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000007FFFC3FFFFFFFFC1FFFC000000000000000000000000000000000000000000000000
+000000000FC000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000FFFF87FFFFFFFFF0FFFE0000000000000000
+00000000000000000000000000000000000000000FC000000000000000000000000000000007FFFF
+F800000000000000000000000000000000000000000000000000000000000000000000000001FFFF
+0FFFFFFFFFF87FFF000000000000000000000000000000000000000000000000000000000FC00000
+00000000000000000000000001FFFFFFFFFC00000000000000000000000000000000000000000000
+0000000000000000000000000003FFFE1FFFFFFFFFF81FFF80000000000000000000000000000000
+0000000000000000000000000FC000000000000000000000000000000FFFFFFFFFFF800000000000
+000000000000000000000000000000000000000000000000000000000007FFFC3FFFFFFFFFFE0FFF
+C00000000000000000000000000000000000000000000000000000000FC000000000000000000000
+00000000FFFFFF83FFFFF80000000000000000000000000000000000000000000000000000000000
+00000000000FFFF0FFFFFFFFFFFF07FFE00000000000000000000000000000000000000000000000
+000000000FC00000000000000000000000000007FFF8000000FFFF00000000000000000000000000
+0000000000000000000000000000000000000000001FFFE1FFFFFFFFFFFF83FFF000000000000000
+00000000000000000000000000000000000000000FC0000000000000000000000000003FFE000000
+0003FFE00000000000000000000000000000000000000000000000000000000000000000003FFFC3
+FFFFFFFFFFFFC1FFF80000000000000000000000000000000000000000000000000000000FC00000
+0000000000000000000000FFE000000000003FFC0000000000000000000000000000000000000000
+000000000000000000000000007FFF87FFFFFFFFFFFFE0FFFC000000000000000000000000000000
+0000000000000000000000000FC00000000000000000000000000FFE00000000000007FF00000000
+0000000000000000000000000000000000000000000000000000000000FFFF0FFFFFFFFFFFFFF87F
+FE0000000000000000000000000000000000000000000000000000000FC000000000000000000000
+00001FF0000000000000007FC0000000000000000000000000000000000000000000000000000000
+0000000001FFFC3FFFFFFFFFFFFFFC3FFF0000000000000000000000000000000000000000000000
+000000000FC0000000000000000000000000FF80000000000000000FF80000000000000000000000
+000000000000000000000000000000000000000003FFF87FFFFFFFFFFFFFFE0FFF80000000000000
+00000000000000000000000000000000000000000FC0000000000000000000000003FE0000000000
+00000003FE0000000000000000000000000000000000000000000000000000000000000007FFF0FF
+FFFFFFFFFFFFFF07FF8000000000000000000000000000000000000000000000000000000FC00000
+00000000000000000007F80000000000000000007F80000000000000000000000000000000000000
+0000000000000000000000000FFFF1FFFFFFFE7FFFFFFF83FFC00000000000000000000000000000
+0000000000000000000000000FC000000000000000000000001FC00000000000000000001FC00000
+000000000000000000000000000000000000000000000000000000001FFFE3FFFFFFFC7FFFFFFFE1
+FFE000000000000000000000000000000000000000000000000000000FC000000000000000000000
+003F0000000000000000000007F80000000000000000000000000000000000000000000000000000
+000000003FFFC7FFFFFFFC3FFFFFFFE0FFF000000000000000000000000000000000000000000000
+000000000FC00000000000000000000000780000000000000000000001FC00000000000000000000
+00000000000000000000000000000000000000007FFF9FFFFFFFFC3FFFFFFFF07FFC000000000000
+00000000000000000000000000000000000000000FC00000000000000000000000C0000000000000
+00000000007F000000000000000000000000000000000000000000000000000000000000FFFE3FFF
+FFFFF81FFFFFFFFC3FFE00000000000000000000000000000000000000000000000000000FC00000
+0000000000000000078000000000000000000000001F800000000000000000000000000000000000
+000000000000000000000001FFFC7FFFFFFFF81FFFFFFFFE1FFF0000000000000000000000000000
+0000000000000000000000000FC0000000000000000000000E00000000000000000000000007E000
+00000000000000000000000000000000000000000000000000000003FFF8FFFFFFFFF00FFFFFFFFF
+0FFF80000000000000000000000000000000000000000000000000000FC000000000000000000000
+3C00000000000000000000000003F000000000000000000000000000000000000000000000000000
+0000000FFFF1FFFFFFFFF00FFFFFFFFF87FFC0000000000000000000000000000000000000000000
+000000000FC0000000000000000000007800000000000000000000000000F8000000000000000000
+000000000000000000000000000000000000001FFFE3FFFFFFFFF00FFFFFFFFFC3FFE00000000000
+00000000000000000000000000000000000000000FC000000000000000000001F0000000000003FF
+FC00000000007E000000000000000000000000000000000000000000000000000000003FFFC7FFFF
+FFFFE007FFFFFFFFE1FFF0000000000000000000000000000000000000000000000000000FC00000
+0000000000000003C000000000003FFFFFC0000000003F0000000000000000000000000000000000
+00000000000000000000007FFF8FFFFFFFFFE007FFFFFFFFF0FFF800000000000000000000000000
+0000000000000000000000000FC000000000000000000007800000000000FFFFFFF0000000000F80
+000000000000000000000000000000000000000000000000000000FFFF9FFFFFFFFFE007FFFFFFFF
+F87FFC000000000000000000000000000000000000000000000000000FC00000000000000000001F
+000000000007FFFFFFF80000000007C0000000000000000000000000000000000000000000000000
+000001FFFE3FFFFFFFFFE003FFFFFFFFF83FFE000000000000000000000000000000000000000000
+000000000FC00000000000000000003C00000000000FFFFFFFF80000000003F00000000000000000
+00000000000000000000000000000000000003FFFC7FFFFFFFFFC003FFFFFFFFFC1FFF0000000000
+00000000000000000000000000000000000000000FC00000000000000000007800000000001FFFFF
+FFF80000000000F8000000000000000000000000000000000000000000000000000007FFF8FFFFFF
+FFFFC001FFFFFFFFFE0FFF800000000000000000000000000000000000000000000000000FC00000
+00000000000000F000000000003FFFFFFF8000000000007C00000000000000000000000000000000
+000000000000000000000FFFF1FFFFFFFFFF8001FFFFFFFFFF07FFE0000000000000000000000000
+0000000000000000000000000FC0000000000000000001E000000000007FFFFFF80000000000003E
+00000000000000000000000000000000000000000000000000001FFFE3FFFFFFFFFF8001FFFFFFFF
+FF87FFE00000000000000000000000000000000000000000000000000FC0000000000000000003C0
+0000000000FFFFFFE00000000000001F000000000000000000000000000000000000000000000000
+00003FFFC7FFFFFFFFFF8000FFFFFFFFFFC3FFF80000000000000000000000000000000000000000
+000000000FC0000000000000000007800000000001FFFFFF800000000000000F8000000000000000
+0000000000000000000000000000000000007FFF8FFFFFFFFFFF0000FFFFFFFFFFE1FFFC00000000
+00000000000000000000000000000000000000000FC000000000000000000F000000000003FFFFFF
+0000000000000007C000000000000000000000000000000000000000000000000001FFFF1FFFFFFF
+FFFF0000FFFFFFFFFFF0FFFE0000000000000000000000000000000000000000000000000FC00000
+0000000000001C000000000007FFFFFC0000000000000003E0000000000000000000000000000000
+00000000000000000003FFFE3FFFFFFFFFFF00007FFFFFFFFFFC7FFF000000000000000000000000
+0000000000000000000000000FC000000000000000003C000000000007FFFFFC0000000000000001
+F000000000000000000000000000000000000000000000000007FFFC7FFFFFFFFFFE00007FFFFFFF
+FFFC3FFF8000000000000000000000000000000000000000000000000FC000000000000000007800
+000000000FFFFFFC0000000000000000F80000000000000000000000000000000000000000000000
+000FFFF87FFFFFFFFFFE00007FFFFFFFFFFE1FFFC000000000000000000000000000000000000000
+000000000FC00000000000000000F000000000000FFFFFFFC0000000000000007800000000000000
+00000000000000000000000000000000003FFFF0FFFFFFFFFFFE00003FFFFFFFFFFF0FFFF0000000
+00000000000000000000000000000000000000000FC00000000000000001E000000000000FFFFFFF
+FF000000000000003C0000000000000000000000000000000000000000000000007FFFF1FFFFFFFF
+FFFC00003FFFFFFFFFFF87FFF800000000000000000000000000000000000000000000000FC00000
+000000000001C000000000001FFFFFFFFFF00000000000001E000000000000000000000000000000
+000000000000000000FFFFC3FFFFFFFFFFFC00003FFFFFFFFFFFC3FFFC0000000000000000000000
+0000000000000000000000000FC000000000000000038000000000001FFFFFFFFFFE000000000000
+0F000000000000000000000000000000000000000000000001FFFF87FFFFFFFFFFFC00003FFFFFFF
+FFFFE3FFFE00000000000000000000000000000000000000000000000FC000000000000000078000
+000000003FFFFFF00FFFC00000000000070000000000000000000000000000000000000000000000
+03FFFF8FFFFFFFFFFFFC00003FFFFFFFFFFFF1FFFF80000000000000000000000000000000000000
+000000000FC0000000000000000F0000000000007FFFFFF0007FF000000000000780000000000000
+000000000000000000000000000000000FFFFF1FFFFFFFFFFFFF0000FFFFFFFFFFFFF0FFFFC00000
+00000000000000000000000000000000000000000FC0000000000000001E000000000001FFFFFFF0
+000FFC000000000003C0000000000000000000000000000000000000000000001FFFFE1FFFFFFFFF
+FFFFC003FFFFFFFFFFFFF87FFFE0000000000000000000000000000000000000000000000FC00000
+00000000001C000000000007FFFFFFF00000FF000000000001E00000000000000000000000000000
+00000000000000003FFFFC3FFFFFFFFFFFFFE00FFFFFFFFFFFFFFC3FFFF000000000000000000000
+0000000000000000000000000FC0000000000000003C00000000001FFFFFFFF000003F8000000000
+01F0000000000000000000000000000000000000000000007FFFF87FFFFFFFFFFFFFF00FFFFFFFFF
+FFFFFE1FFFF8000000000000000000000000000000000000000000000FC000000000000000380000
+0000003FFFFFFFF800000FE00000000000F000000000000000000000000000000000000000000000
+FFFFF8FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFF1FFFFC000000000000000000000000000000000000
+000000000FC000000000000000700000000000FF1FFFFFF8000003F8000000000078000000000000
+00000000000000000000000000000001FFFFF1FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFF0FFFFF0000
+00000000000000000000000000000000000000000FC000000000000000F00000000001F81FFFFFFC
+000000FE00000000007C00000000000000000000000000000000000000000007FFFFE3FFFFFFFFFF
+FFFFF00FFFFFFFFFFFFFFF87FFFF800000000000000000000000000000000000000000000FC00000
+0000000000E00000000007F00FFFFFFC0000003F00000000003C0000000000000000000000000000
+000000000000000FFFFFC7FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFC3FFFFC0000000000000000000
+0000000000000000000000000FC000000000000001E0000000000FC00FFFFFFE0000001F80000000
+001E0000000000000000000000000000000000000000003FFFFF87FFFFFFFFFFFFFFF00FFFFFFFFF
+FFFFFFE3FFFFF00000000000000000000000000000000000000000000FC000000000000003C00000
+00001F8007FFFFFF00000007C0000000000E0000000000000000000000000000000000000000007F
+FFFF8FFFFFFFFFFBFFFFF00FFFFFFFFFFFFFFFF1FFFFF80000000000000000000000000000000000
+000000000FC00000000000000380000000003E0007FFFFFF80000003F0000000000F000000000000
+000000000000000000000000000001FFFFFF1FFFFFFFFFC03FFFF00FFFFFFFFFFFFFFFF0FFFFFE00
+00000000000000000000000000000000000000000FC0000000000000078000000000FC0007FFFFFF
+C0000000F80000000007800000000000000000000000000000000000000003FFFFFF3FFFFFFFFE00
+0FFFF00FFFFBFFFFFFFFFFF87FFFFF0000000000000000000000000000000000000000000FC00000
+000000000F0000000001F00003FFFFFFF00000007C00000000078000000000000000000000000000
+0000000000000FFFFFFC7FFFFFFFF80007FFF00FFFF01FFFFFFFFFFC7FFFFFC00000000000000000
+0000000000000000000000000FC00000000000000E0000000003E00001FFFFFFFC0000003E000000
+0003C0000000000000000000000000000000000000001FFFFFF8FFFFFFFFE00003FFF00FFFF001FF
+FFFFFFFE3FFFFFE000000000000000000000000000000000000000000F800000000000001E000000
+0007E00001FFFFFFFE0000000F0000000001C0000000000000000000000000000000000000007FFF
+FFF9FFFFFFFF800007FFF00FFFF0007FFFFFFFFF1FFFFFF800000000000000000000000000000000
+000000000F800000000000001E000000000F800000FFFFFFFF800000078000000001E00000000000
+0000000000000000000000000000FFFFFFF1FFFFFFFE00001FFFF00FFFF8003FFFFFFFFF0FFFFFFC
+00000000000000000000000000000000000000000FC00000000000003C000000001F0000007FFFFF
+FFC0000003C000000001E000000000000000000000000000000000000003FFFFFFE3FFFFFFFC0000
+7FFFF00FFFFFF83FFFFFFFFF8FFFFFFE00000000000000000000000000000000000000000FC00000
+0000000038000000003E0000003FFFFFFFE0000001E000000000F000000000000000000000000000
+000000000007FFFFFFE3FFFFFFF80003FFFFF00FFFFFFE1FFFFFFFFFC7FFFFFF8000000000000000
+0000000000000000000000000FC000000000000078000000007C0000001FFFFFFFF0000000F00000
+0000700000000000000000000000000000000000000FFFFFFFC7FFFFFFF00007FFFFF00FFFFFFF07
+FFFFFFFFC3FFFFFFC0000000000000000000000000000000000000000FC000000000000070000000
+007800000007FFFFFFF80000007800000000780000000000000000000000000000000000000FFFFF
+FF87FFFFFFE0000FFFFFF00FFFFFFFC3FFFFFFFFE3FFFFFFE0000000000000000000000000000000
+000000000FC0000000000000F000000000F000000003FFFFFFFC0000007800000000780000000000
+000000000000000000000000001FFFFFFF8FFFFFFFE0003FFFFFF00FFFFFFFE1FFFFFFFFE1FFFFFF
+F0000000000000000000000000000000000000000FC0000000000000F000000000F000000001FFFF
+FFFE0000003C000000003C0000000000000000000000000000000000001FFFFFFF8FFFFFFFC0007F
+FFFFF00FFFFFFFE0FFFFFFFFF1FFFFFFF8000000000000000000000000000000000000000FC00000
+00000000E000000001E0000000007FFFFFFF0000001E000000003C00000000000000000000000000
+00000000003FFFFFFF8FFFFFFFC0007FFFFFF00FFFFFFFF07FFFFFFFF1FFFFFFF800000000000000
+0000000000000000000000000FC0000000000001E000000003C0000000001FFFFFFF0000000F0000
+00001C0000000000000000000000000000000000003FFFFFFF0FFFFFFFC0007FFFFFF00FFFFFFFF0
+7FFFFFFFF0FFFFFFF8000000000000000000000000000000000000000FC0000000000001E0000000
+03C00000000007FFFFFF0000000F800000001E0000000000000000000000000000000000001FFFFF
+FF0FFFFFFFC000FFFFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF8000000000000000000000000000000
+000000000FC0000000000001C000000007800000000001FFFFFF80000007800000001E0000000000
+000000000000000000000000001FFFFFFF0FFFFFFFC000FFFFFFF00FFFFFFFF07FFFFFFFF0FFFFFF
+F8000000000000000000000000000000000000000FC0000000000003C00000000F0000000000007F
+FFFF80000003C00000000E0000000000000000000000000000000000001FFFFFFF0FFFFFFFC0007F
+FFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF8000000000000000000000000000000000000000FC00000
+00000003800000000E0000000000003FFFFFC0000003C00000000F00000000000000000000000000
+00000000000FFFFFFF8FFFFFFFE0007FFFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF800000000000000
+0000000000000000000000000FC0000000000003800000001E0000000000000FFFFFC0000001E000
+0000070000000000000000000000000000000000000FFFFFFF87FFFFFFE0007FFFFFF00FFFFFFFE0
+7FFFFFFFF1FFFFFFF0000000000000000000000000000000000000000FC000000000000780000000
+1C00000000000007FFFFC0000001E00000000700000000000000000000000000000000000007FFFF
+FF87FFFFFFF0003FFFFFF00FFFFFFFC0FFFFFFFFE1FFFFFFF0000000000000000000000000000000
+000000000FC0000000000007000000003C00000000000003FFFFC0000000F0000000078000000000
+0000000000000000000000000003FFFFFFC7FFFFFFF8001FFFFFE00FFFFFFF81FFFFFFFFE3FFFFFF
+E0000000000000000000000000000000000000000FC0000000000007000000007800000000000003
+FFFFE0000000700000000380000000000000000000000000000000000000FFFFFFC3FFFFFFFC000F
+FFFFF00FFFFFFF03FFFFFFFFE3FFFFFFC0000000000000000000000000000000000000000FC00000
+00000007000000007800000000000001FFFFE0000000780000000380000000000000000000000000
+0000000000007FFFFFE1FFFFFFFF0007FFFFF00FFFFFFC07FFFFFFFFC7FFFFFF0000000000000000
+0000000000000000000000000FC000000000000E000000007000000000000001FFFFE00000003800
+000003C00000000000000000000000000000000000003FFFFFF1FFFFFFFFC000FFFFF81FFFFFF01F
+FFFFFFFF87FFFFFC00000000000000000000000000000000000000000FC000000000000E00000000
+F000000000000000FFFFE00000003C00000003C00000000000000000000000000000000000000FFF
+FFF8FFFFFFFFF0003FFFFFFFFFFF807FFFFFFFFF8FFFFFF800000000000000000000000000000000
+000000000FC000000000000E00000000F000000000000000FFFFC00000001C00000003C000000000
+000000000000000000000000000007FFFFF87FFFFFFFFE0007FFFFFFFFF801FFFFFFFFFF0FFFFFE0
+00000000000000000000000000000000000000000FC000000000001E00000001E000000000000000
+7FFFC00000001E00000003E000000000000000000000000000000000000001FFFFFC3FFFFFFFFF80
+000FFFFFFF801FFFFFFFFFFE1FFFFFC000000000000000000000000000000000000000000FC00000
+0000001E00000001E0000000000000007FFFC00000001FFFFFFFFFE0000000000000000000000000
+00000000000000FFFFFE3FFFFFFFFFF80000001F8001FFFFFFFFFFFC3FFFFF000000000000000000
+0000000000000000000000000FC000000000001C00000001C0000000000000007FFFC00000001FFF
+FFFFFFC0000000000000000000000000000000000000007FFFFF1FFFFFFFFFFF80000000000FFFFF
+FFFFFFFC7FFFFE0000000000000000000000000000000000000000000FC000000000001C00000003
+C0000000000000007FFF8000000003FFFFFFFF80000000000000000000000000000000000000001F
+FFFF8FFFFFFFFFFFFE00000003FFFFFFFFFFFFF87FFFFC0000000000000000000000000000000000
+000000000FC000000000001C0000000380000000000000007FFF8000000000000000000000000000
+0000000000000000000000000000000FFFFF87FFFFFFFFFFFFFE0003FFFFFFFFFFFFFFF0FFFFF800
+00000000000000000000000000000000000000000FC000000000003C000000038000000000000000
+7FFF800000000000000000000000000000000000000000000000000000000007FFFFC3FFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFE1FFFFE00000000000000000000000000000000000000000000FC00000
+000000380000000780000000000000007FFF80000000000000000000000000000000000000000000
+0000000000000003FFFFE3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3FFFFC0000000000000000000
+0000000000000000000000000FC00000000000380000000780000000000000007FFF000000000000
+000000000000000000000000000000000000000000000001FFFFF1FFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFC7FFFF800000000000000000000000000000000000000000000FC000000000003800000007
+0000000000000000FFFE000000000000000000000000000000000000000000000000000000000000
+7FFFF0FFFFFFFFFFFFFFF03FFFFFFFFFFFFFFF87FFFF000000000000000000000000000000000000
+000000000FC0000000000038000000070000000000000000FFFC0000000000000000000000000000
+000000000000000000000000000000003FFFF8FFFFFFFFFFFFFFE00FFFFFFFFFFFFFFF0FFFFC0000
+00000000000000000000000000000000000000000FC0000000000038000000070000000000000000
+FFF80000000000000000000000000000000000000000000000000000000000001FFFFC7FFFFFFFFF
+FFFFE007FFFFFFFFFFFFFE1FFFF8000000000000000000000000000000000000000000000FC00000
+00000078000000070000000000000001FFF800000000000000000000000000000000000000000000
+00000000000000000FFFFE3FFFFFFFFFFFFFE007FFFFFFFFFFFFFC3FFFF000000000000000000000
+0000000000000000000000000FC00000000000780000000F0000000000000001FFF0000000000000
+00000000000000000000000000000000000000000000000007FFFE1FFFFFFFFFFFFFE007FFFFFFFF
+FFFFFC3FFFE0000000000000000000000000000000000000000000000FC00000000000300000000E
+0000000000000003FFE0000000000000000000000073C00000000000000000000000000000000000
+01FFFF0FFFFFFFFFFFFFC007FFFFFFFFFFFFF87FFF80000000000000000000000000000000000000
+000000000FC00000000000700000000E0000000000000003FF80000000000381FFF81FFF83FFF000
+0000000000000000000000000000000000FFFF87FFFFFFFFFFFFC007FFFFFFFFFFFFF0FFFF000000
+00000000000000000000000000000000000000000FC00000000000700000000E0000000000000007
+FF000000000007C1FFFC3FFF87FFF00000000000000000000000000000000000007FFFC3FFFFFFFF
+FFFFC007FFFFFFFFFFFFE1FFFE00000000000000000000000000000000000000000000000FC00000
+000000700000000E000000000000000FFC000000000007C3FFFC3FFF87FFF0000000000000000000
+0000000000000000003FFFE1FFFFFFFFFFFFC003FFFFFFFFFFFFC3FFFC0000000000000000000000
+0000000000000000000000000FC00000000000700000000E000000000000001FF000000000000FE3
+FFF87FFF87FFC00000000000000000000000000000000000000FFFF0FFFFFFFFFFFFC003FFFFFFFF
+FFFF87FFF000000000000000000000000000000000000000000000000FC00000000000700000000E
+000000000000003FE0000000000007E3FF807F8007F0000000000000000000000000000000000000
+0007FFF87FFFFFFFFFFFC007FFFFFFFFFFFF0FFFE000000000000000000000000000000000000000
+000000000FC00000000000700000001E00000000000E7FFFE0000000000007E3F0007F0007E00000
+000000000000000000000000000000000003FFFC7FFFFFFFFFFFC003FFFFFFFFFFFF1FFFC0000000
+00000000000000000000000000000000000000000FC00000000000700000001E00000000001FFFFF
+FFE0000000000FE3F0007F0007E00000000000000000000000000000000000000001FFFE1FFFFFFF
+FFFFC003FFFFFFFFFFFE3FFF8000000000000000000000000000000000000000000000000FC00000
+000000700000001E00000000003FFFFFFFF0000000000FE3FC007FC007FF00000000000000000000
+000000000000000000007FFF0FFFFFFFFFFFC003FFFFFFFFFFF87FFE000000000000000000000000
+0000000000000000000000000FC00000000000700000001E00000000003E071E7FF0000000000FE3
+FFF87FFF07FFE0000000000000000000000000000000000000007FFF87FFFFFFFFFFC003FFFFFFFF
+FFF8FFFC0000000000000000000000000000000000000000000000000FC00000000000700000001E
+00000000001E000000F0000000000FE3FFF87FFF87FFF00000000000000000000000000000000000
+00001FFF83FFFFFFFFFFC003FFFFFFFFFFE1FFF80000000000000000000000000000000000000000
+000000000FC00000000000700000001E00000000001FFFFFFFF00000000007E3FFFC7FFF87FFE000
+0000000000000000000000000000000000000FFFE3FFFFFFFFFFC003FFFFFFFFFFC3FFF000000000
+00000000000000000000000000000000000000000FC00000000000700000001E00000000001FFFFF
+FFE00000000007E3FFF87FFF07FFE00000000000000000000000000000000000000007FFE1FFFFFF
+FFFFC003FFFFFFFFFFC7FFE00000000000000000000000000000000000000000000000000FC00000
+000000700000001E00000000000FFFFFFFE0000000000FE3FFE03FFC07FC00000000000000000000
+0000000000000000000003FFF0FFFFFFFFFFC003FFFFFFFFFF87FFC0000000000000000000000000
+0000000000000000000000000FC00000000000700000000E000000000007C0000FC00000000007E3
+F8003F0007E0000000000000000000000000000000000000000001FFF87FFFFFFFFFC003FFFFFFFF
+FF0FFF800000000000000000000000000000000000000000000000000FC00000000000700000000E
+000000000003C00007800000000007E3F8007F0007E0000000000000000000000000000000000000
+000000FFFC3FFFFFFFFFC003FFFFFFFFFE1FFF000000000000000000000000000000000000000000
+000000000FC00000000000700000000E000000000003C00007800000000007E3F8007F0007E00000
+000000000000000000000000000000000000007FFE1FFFFFFFFFC003FFFFFFFFFC3FFE0000000000
+00000000000000000000000000000000000000000FC00000000000700000000E000000000003C000
+07000000000007E3F8003F8007F00000000000000000000000000000000000000000003FFF0FFFFF
+FFFF8003FFFFFFFFF87FFC000000000000000000000000000000000000000000000000000FC00000
+000000700000000E000000000003C00007000000000007E3FFF83FFF87FFF0000000000000000000
+00000000000000000000001FFF87FFFFFFFF8003FFFFFFFFF0FFF800000000000000000000000000
+0000000000000000000000000FC00000000000780000000E000000000003C00007000000000007E3
+FFFC3FFF87FFF800000000000000000000000000000000000000000FFFC3FFFFFFFFC003FFFFFFFF
+E1FFF0000000000000000000000000000000000000000000000000000FC00000000000780000000E
+000000000003C00007000000000007E3FFFC3FFF87FFF80000000000000000000000000000000000
+00000007FFE1FFFFFFFFC003FFFFFFFFC3FFE0000000000000000000000000000000000000000000
+000000000FC00000000000780000000E000000000001C00007000000000007C1FFFC3FFF83FFF000
+0000000000000000000000000000000000000003FFF0FFFFFFFFC003FFFFFFFF87FFC00000000000
+00000000000000000000000000000000000000000FC000000000007800000006000000000001C000
+0700000000000381FFF81FFF00FF80000000000000000000000000000000000000000001FFF87FFF
+FFFF8003FFFFFFFF0FFF80000000000000000000000000000000000000000000000000000FC00000
+0000003800000007000000000001C00007000000000000000000000000000000000000000E000000
+000000000000000000000000FFFC3FFFFFFF8003FFFFFFFE1FFF0000000000000000000000000000
+0000000000000000000000000FC000000000003800000007000000000001C0000700000000000000
+0000000000000000000000001F0000000000000000000000000000003FFE1FFFFFFF8003FFFFFFFC
+3FFC00000003FFFF80000000000000000000000000000000000000000FC000000000003800000007
+000000000001C0000F000000000000000000000000000000000000003F000007E000000000000000
+000070001FFF07FFFFFF8003FFFFFFF87FF800000007FFFFE0000000FFFFE0000000000000000000
+000000000FC000000000003C00000007800000000001C0000E000000000000000000000000000000
+000000007E00007FFE000000FFF000000000F0000FFF83FFFFFFC003FFFFFFE0FFF00000000FFFFF
+F8000001FFFFFC00000E000000000000000000000FC000000000003C00000003800000000001C000
+0E00000000000000000000000000000000000001FE0003FFFFC0000FFFFE00000001F00007FFE1FF
+FFFFF007FFFFFFC1FFE0007800FFFFFFF8300001FFFFFE00003F000000700000000000000FC00000
+0000001C00000003800000000001C0000E00000000000000000000000000000000000003FE000FFF
+87F0003FFE0780000003F00003FFF0FFFFFFFFFFFFFFFF83FFC000F801FFFFFFFCF8003FFFFFFF0E
+003F000000F80000000000000FC000000000001C00000003C00000000000E0000E00000000000000
+000000000000000000000007FE001FFC01F8007FF001C0000007F00001FFF87FFFFFFFFFFFFFFF07
+FF8001FC03FFFFFFFFF8007FFFFFFF9F007F000001F80000000000000FC000000000001C00000001
+C00000000000E0000E00000000000000000000000000000000000007FC003FE0007C00FFC000E000
+000FF00000FFFC3FFFFFFFFFFFFFFE0FFF0003FC03FFFFFFFFFC00FFFFFFFFFF807F800001FC0000
+000000000FC000000000001E00000001E00000000000E0000E000000000000000000000000000000
+0000000FFC007FC0003C01FF00007000000FE000007FFE1FFFFFFFFFFFFFFC3FFE0003FC07FDFFFF
+FFFC00FFFFFFFFFF807F800003FC0000000000000FC000000000001E00000001E00000000000E000
+0C0000000000000000000000000000000000001FFC00FFC0001E03FE00007000001FE000003FFF0F
+FFFFFFFFFFFFF07FFC0003FC07F8003FE7FC00FF3FFFFFFF00FF000003FC0000000000000FC00000
+0000000E00000000E00000000000E0001C00000000001FFFFFFEF000000000000000007FF800FF80
+001F07FC00003800003FE000001FFF83FFFFFFFFFFFFE0FFF80003FC07F8000007FC01FF001F7EFF
+80FF000003F80000000000000FC000000000000E00000000F00000000000E0001C00000000001FFF
+FFFFFF80000000000000007FF801FE00000F07FC00003800007FC000001FFFC1FFFFFFFFFFFFC1FF
+F00003FC07F8000007FC01FF000000FF80FF000007F80000000000000FC000000000000E00000000
+700000000000E0001C00000000003FFFFFFFFF8000000000000000FFF803FE00000F8FF800001C00
+00FFC000000FFFE0FFFFFFFFFFFF83FFE00007FC0FF8000007F801FF000000FF80FF000007F80000
+000000000FC000000000000F00000000780000000000E0001C00000000007C00FFFFFFC000000000
+000001FFF003FC0000078FF000001C0001FF80000007FFF8FFFFFFFFFFFF07FFC00007FC0FF80000
+07FC01FF000000FF00FF000007F80000000000000FC0000000000007000000007800000000006000
+1C00000000007800000007C000000000000003FFF007F80000079FE000001C0003FF80000003FFF8
+3FFFFFFFFFFE0FFFC00007F80FF8000007F801FF000000FF00FF000007F80000000000000FC00000
+00000007000000003C000000000060001C00000000007800000007C000000000000007FFF007F800
+00079FE000001C0007FF80000001FFFE1FFFFFFFFFFC1FFF000007F80FF0000007F801FE000000FF
+00FF000007F80000000000000FC0000000000007800000003C000000000070003C0000000000F000
+000003800000000000000FFFE007F80000079FE000001C000FFF00000000FFFF0FFFFFFFFFF83FFF
+000007F80FF0000007F801FE000000FF00FF000007F80000000000000FC000000000000380000000
+1E00000000007000380000000000F000000007800000000000001FFFE007F0000007BFC000001C00
+1FFF000000007FFF87FFFFFFFFE0FFFE000007F80FF0000007F801FE000000FF00FF000007F80000
+000000000FC0000000000003800000001E00000000007000380000000001E0000000070000000000
+00003FFFE007F00000071FC000001C003FFF000000003FFFC1FFFFFFFFC1FFFC000007F80FF00000
+07F801FE000000FF00FF000007F80000000000000FC0000000000003C00000000F00000000007000
+380000000003E000000007000000000000007F9FE00FF000000F1FC000001C007FFE000000001FFF
+F0FFFFFFFF87FFF8000007F80FF0000007F801FE000000FF01FF000007F00000000000000FC00000
+00000001C00000000700000000007000380000000003C00000000F00000000000000FF1FC00FF000
+000F1FC000001C01FFFE000000000FFFF87FFFFFFF0FFFF0000007F80FF000000FF801FE000000FF
+01FE00000FF00000000000000FC0000000000001E000000007800000000070003800000000078000
+00000E00000000000001FE3FC007F000001E1FC000003C03F9FE0000000007FFFC3FFFFFFC1FFFE0
+000007F80FF000000FF801FE000001FF01FE00000FF00000000000000FC0000000000001E0000000
+03C000000000700038000000000F800000001E00000000000003FC3F8007F800003E1FC000007807
+F1FE0000000003FFFE0FFFFFF87FFFC0000007F80FF000000FF801FE000001FF01FE00000FF00000
+000000000FC0000000000000E000000001E000000000700078000000001F000000001C0000000000
+0007F87F8007F800007C0FE00000780FE3FC0000000001FFFF87FFFFE0FFFF80000007F80FF00000
+0FF001FE000001FE01FE00000FF00000000000000FC0000000000000F000000001E0000000003000
+70000000001E000000001C0000000000001FF07F8007FC0000FC0FE00001F01FC3FC0000000000FF
+FFC1FFFFC1FFFF0000000FF00FF000000FF001FE000001FE01FE00000FF00000000000000FC00000
+000000007000000000F000000000380070000000003C000000003C0000000000003FE07F8003FE00
+01F80FF00003E07F83FC00000000007FFFF0FFFF07FFFE0000000FF00FF000000FF001FC000001FE
+00FE00000FE00000000000000FC00000000000007800000000780000000038007000000000780000
+0000380000000000007FC0FF0003FF0007F007F80007E0FF07F800000000003FFFF83FFC0FFFFC00
+000007E007F000000FE001FC000001FE00FF00000FE00000000000000FC000000000000078000000
+003C0000000038007000000000F80000000078000000000001FF80FF0001FF803FE003FC001FC1FE
+07F800000000001FFFFE07F03FFFF800000007C007FF00000FE001FE000001FC00FFFFFF8FC00000
+000000000FC00000000000003C000000001E0000000038007000000000F000000000700000000000
+03FF00FE0001FFFFFFE003FF807FC3FC07F800000000001FFFFF00007FFFF0000000000007FFFFFF
+E7C001FFFFFFF1F8007FFFFFFF800000000000000FC00000000000003C000000001F000000003800
+7000000001E000000000F0000000000007FE01FE0001FFFFFFC003FFFFFF8FF80FF800000000000F
+FFFFC001FFFFE0000000000003FFFFFFF80000FFFFFFFFE0007FFFFFF8000000000000000FC00000
+000000001E000000000F8000000038006000000003C000000000F0000000000007FE01FE0003FFFF
+FFC003FFFFFFFFF00FF0000000000007FFFFF007FFFFE0000000000003FFFFFFFC0000FFFFFFFF80
+003FFFFFFC000000000000000FC00000000000001E0000000007C000000038006000000007800000
+0001E000000000001FFC03FE0007FFFFFFE007FFFBFFFFF01FF0000000000003FFFFFF3FFFFFC000
+0000000001FFFFFFFC0000FFFFFFFF80003FFFFFFC000000000000000FC00000000000000F000000
+0003E00000001800E00000000F0000000001E000000000003FF003FE000FFFF0FFE01FFF803FFFE0
+1FF0000000000001FFFFFFFFFFFF8003F000000001FFFFFFFC0000FFFFFFFF80001FFFFFFC000000
+000000000FC00000000000000F0000000001F00000001C00E00000003E0000000003C00000000000
+3FE003FC001FFFC007F83FFC001FFFC01FF0000000000001FFFFFFFFFFFF0007FC0000E000FFFFFF
+FE0001FFFFFFFF80000FFFFFFFC00000000000000FC0000000000000078000000000780000001C00
+E00000007E0000000003C000000000001F0007FC003FFE0001FFFFF8000FFFC03FF0000000000000
+FFFFFFFFFFFE000FFE0001F0007FFFFFFFE003FFFFFFFFF80003FFFFFFE00000000000000FC00000
+000000000780000000007C0000001C00E0000000F80000000007800000000000000007FC007FF800
+007FFFE0001FFFC07FFC0000000000007FFFFFFFFFFE001FFF0003F0001FFFFFFFF003FFFFFFFFFC
+000001840FF00000000000000FC000000000000003C0000000001E0000001C00E0000001F0000000
+000F000000000000000007F800FFE000003FFFC0003FFFFFFFFFFFF8000000003FFFFFFFFFFC001F
+FF0007F80000000007F803FFFFFFFFFE000000000FF00000000000000FC000000000000001E00000
+00001F8000001C00E0000003F0000000000F00000000000000000FF801FFC000001FFF00007FFFFF
+FFFFFFFC000000001FFFFFFFFFF80037FB8007F80000000007F807FE000000FE000000000FF00000
+000000000FC000000000000001E00000000007E000001C01C000000FC0000000001E000000000000
+00000FF803FF8000001FFF0000FFFFFFFFFFFFFC000000001FFFFFFFFFF00037F98007F800000000
+07F807FC000000FF000000000FF00000000000000FC000000000000000F00000000003F000001C01
+C000003F80000000001E00000000000000000FF803FF0000001FFE00007FFFFFFFF0000000000000
+0FFFFFFFFFE00037F98007F80000000007F807FC000001FF000000000FF00000000000000FC00000
+0000000000F00000000000FC00001E01C000007E00000000003C00000000000000001FF807FE0000
+001FFC0000007F80FFE000000000000007FFFFFFFFC00037F18007F8000000000FF807F8000001FF
+000000000FF00000000000000FC0000000000000007800000000007F00000E01C00001F800000000
+007800000000000000001FF807FE0000001FFC0000001F00FFC000000000000007FFFFFFFF800037
+F18007F8000000000FF807F8000001FF000000000FF00000000000000FC0000000000000003C0000
+0000001FC0000E01C00007E000000000007800000000000000001FF007FC0000001FF80000001E00
+FFC000000000000003FFFFFFFF800030238007F8000000000FF807F8000001FF000000000FF00000
+000000000FC0000000000000001C00000000000FF0000E01C0001FC00000000000F0000000000000
+00003FF00FF80000003FF80000001E00FFC000000000000001FFFFFFFF000038070007F800000000
+0FF807F8000001FF000000000FF00000000000000FC0000000000000001E000000000001FE000E01
+C000FE000000000001E000000000000000003FF00FF80000003FF00000000E00FF80000000000000
+00FFFFFFFE00001E0F0007F8000000000FF007F8000001FF000000000FF000000000000007C00000
+00000000000F0000000000007FE00E03C00FF8000000000003E000000000000000007FF00FF00000
+003FF00000001E00FF80000000000000007FFFFFFC00000FFE000FF8000000000FF007F8000001FE
+000000000FF00000000000000FC000000000000000078000000000001FFE1E03C0FFE00000000000
+07C000000000000000007FF00FF00000003FF00000001C01FF80000000000000003FFFFFF8000007
+F8000FF8000000000FF007F8000001FE000000001FF00000000000000FC00000000000000003C000
+0000000003FFFE03FFFF000000000000078000000000000000007FE00FF00000003FF00000001C01
+FF80000000000000001FFFFFF000000000000FF8000000000FF00FF8000001FE000000001FF00000
+000000000FC00000000000000001E00000000000007FFE03FFF80000000000000F00000000000000
+00007FE00FF00000003FF00000003801FF80000000000000001FFFFFF000000000000FF800000000
+0FF00FF8000001FE000000001FF00000000000000FC00000000000000001F00000000000000FFF03
+FFC00000000000001E000000000000000000FFE00FF00000003FF00000007801FF80000000000000
+000FFFFFE000000000000FF8000000000FF00FF8000001FE000000001FE00000000000000FC00000
+000000000000F800000000000000FF03F0000000000000003C000000000000000000FFE00FF00000
+007FF00000007001FF000000000000000007FFFFC000000000000FF8000000000FF00FF8000001FE
+000000001FE00000000000000FC0000000000000000078000000000000000F078000000000000000
+7C000000000000000000FFE007F80000007FF0000000E001FF000000000000000007FFFF80000000
+00000FF8000000000FF00FF8000001FE000000001FE00000000000000FC000000000000000003C00
+00000000000007078000000000000000F8000000000000000001FFC007F8000000FFF8000001E003
+FF000000000000000003FFFF8000000000000FF0000000000FF00FFC000001FE000000001FE00000
+000000000FC000000000000000001E0000000000000007070000000000000001F000000000000000
+0001FFC007FC000001FFFC000003C003FF000000000000000001FFFF0000000000000FF000000000
+0FF00FFFFC0001FE000000001FE00000000000000FC000000000000000000F000000000000000787
+0000000000000003E0000000000000000001FFC003FE000003FFFC0000078003FF00000000000000
+0001FFFE0000000000000FF0000000000FF00FFFFFFFC1FE000000001FE00000000000000FC00000
+0000000000000F80000000000000078F0000000000000007C0000000000000000003FF8003FF0000
+0FE7FE00000F0003FF000000000000000000FFFE0000000000000FF0000000000FF00FFFFFFFF1FE
+000000001FE00000000000000FC0000000000000000007C0000000000000078F0000000000000007
+80000000000000000003FF8001FFC0001F03FF00001E0003FE0000000000000000007FFC00000000
+00000FF0000000000FF00FFFFFFFFBFE000000001FE00000000000000FC0000000000000000001E0
+000000000000078F000000000000001F80000000000000000003FE0000FFF800FE00FFC000780007
+FC0000000000000000007FF80000000000000FE0000000000FE00FFFFFFFFFFE000000001FC00000
+000000000FC0000000000000000001F0000000000000078E000000000000001E0000000000000000
+0003FC00007FFFFFF0007FF001F00007F80000000000000000003FF000000000000007E000000000
+0FE00FFFFFFFFFFC000000001FC00000000000000FC0000000000000000000FC000000000000038E
+000000000000003C00000000000000000003E000001FFFFFC0001FFE0FE00007E000000000000000
+00000FC000000000000007C0000000000FC007FFFFFFFFFC000000000F800000000000000FC00000
+000000000000007E000000000000038E00000000000000F80000000000000000000000000007FFFE
+000007FFFF000007C0000000000000000000000000000000000001800000000007800387FFFFFCF8
+0000000006000000000000000FC00000000000000000003F000000000000038E00000000000001F0
+0000000000000000000000000000FFF0000000FFF800000780000000000000000000000000000000
+000000000000000000000001FFFFF8000000000000000000000000000FC00000000000000000001F
+80000000000003CE00000000000003E0000000000000000000000000000000000000000000000006
+0000000000000000000000000000000000000000000000000000000003FFE0000000000000000000
+000000000FC000000000000000000007C0000000000003FE0000000000000FC00000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000FC000000000000000000003F0000000000001FC
+0000000000001F000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000FC00000
+0000000000000001F8000000000001FC0000000000003E0000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000FC0000000000000000000007E00000000000070000000000000FC00
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+1F00000000000000000000000001F000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000FC0000000000000000000000F80000000000000000000000007E0000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000FC00000000000000000000003E0000000000000
+00000000001F80000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000FC00000
+000000000000000001F800000000000000000000007E000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000FC000000000000000000000007E0000000000000000000000FC0000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+001F8000000000000000000003F00000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000FC000000000000000000000000FE00000000000000000000FE000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000FC0000000000000000000000003F80000000000
+000000003F8000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000FC00000
+00000000000000000000FE000000000000000001FF00000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000FC00000000000000000000000003FE00000000000000007F8000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+00000FF0000000000000001FF0000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000FC000000000000000000000000001FF00000000000000FF800000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000FC0000000000000000000000000007FC0000000
+00001FFE000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000FC00000
+00000000000000000000000FFE0000000000FFF00000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000FC00000000000000000000000000001FFF80000003FFF8000000000
+000000000000000000000007C0000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+000000001FFFF9C0FFFFFC0000000000000000000000000003C0001FF07FE1C063FFC30083FE0000
+000FE01FF000FF0000020007F010700E00001F00100000000F800F803F801FE03FC0FF80FE01FC00
+000000000FC0000000000000000000000000000001FFFFFFFFFF8000000000000000000000000000
+07E0003FF8FFF3E0F3FFE781C7FF1E1E003FF07FF801FFC3800FFE1FF87FF87FE0E07FC03E038000
+1FF87FF07FE03FF07FF1FFE3FF03FE00000000000FC00000000000000000000000000000001FFFFF
+FFF0000000000000000000000000000007E0007FFCFFF3F0F3FFE781E7FF9E1E007FF87FF803FFE7
+801FFE3FFC7FFCFFF0F1FFE03E0780003FFC7FF8FFF07FF8FFF9FFE3FF87FF00000000000FC00000
+00000000000000000000000000003FFFF00000000000000000000000000000000FF000FFFFFFE3F8
+F1FFC781E7FFDF3E00FFFC7FF003FFC7801FFC3FFE7FF8FFF9F3FFF07F07C0003FFEFFF9FFF8FFFC
+FFF9FFC7FFCFFF00000000000FC00000000000000000000000000000000000000000000000000000
+00000000000000000FF000FC3FFF03F8F07F07C3EFEFCFFE00F87E7E0003F007801F807C3E0FC0FC
+F9F3E1F07F07C0003F3FFFFFF9FCF87CFCF9F807E7CFCF00000000000FC000000000000000000000
+0000000000000000000000000000000000000000000000000FF000F818FF83FCF03E0783EFC7CFFC
+00F83E7C0003F007801F00780C07C0F8F9F7E060FF0780003E1FFC7FF07DF818FCFFF807E18FC000
+000000000FC000000000000000000000000000000000000000000000000000000000000000000000
+1FF801F800FFE3FFF03E0783EFEFC7FC01F01FFFC003FF87801FF8780007C0F8F9F7C000FF878000
+3E3FFCFFE07FF000FFFBFF87FC0FF800000000000FC0000000000000000000000000000000000000
+000000000000000000000000000000001FF801F000FFE3FFF03E0783EFFF87F801F01F7FE003FFC7
+801FFCF8000780FFF9FFC000FF87C0003FFFFFFFE07FF0F8FFF9FFC3FF0FFE00000000000FC00000
+00000000000000000000000000000000000000000000000000000000000000003FF801F000FFE3FF
+F03E07C3EFFF83F801F01E7FF003FFC7801FFCF8000780FFF1FFC001FF87C0003FFEFFFFE03FF0FC
+FFF9FFC1FF87FF00000000000FC00000000000000000000000000000000000000000000000000000
+00000000000000003FFC00F000FFC3FFF03E07C3EFFF83F001F01F7FE003FF87801FFCF8000780FF
+F1FFC001FFC7C0003FFCFFFFE07FF1FEFFF9FF80FFC1FF00000000000FC000000000000000000000
+0000000000000000000000000000000000000000000000003FFC00F809FC03FFF03E07C3EFFF83F0
+00F01F7E0003F007801F80F8000780FFF8FFC003FFC7C0003FF8FFFFE07FF0FEFFF9F8001FC0FF80
+000000000FE000000000000000000000000000000000000000000000000000000000000000000000
+7FFC00F81FFC03EFF03E07C3EFC7C1F000F83EFC0003F007C01F00780C07C0FDF8F3C063FFC7C000
+3FC0FDFFE07DF87EFDF9F0070FC41F80000000000FE0000000000000000000000000000000000000
+000000000000000000000000000000007FFE00FC3FFC03E7F03E07C3EF87C1F000F87E7C0003F007
+C01F007C1E0780F8F9F3E0F3FFE7C0003F00F87FF0FCF87EF8FBF00787CF8F80000000000FC00000
+00000000000000000000000000000000000000000000000000000000000000007FFE007FFFFFF3E3
+F03E07E7EF87C1E0007FFC780003FFC7FE1FF87E3E07C0F879F3F3F7FFE7FF003E00F87FFFF8FFFE
+F87FFFC7FFCFFF00000000000FC00000000000000000000000000000000000000000000000000000
+00000000000000007C7E007FFCFFF3E3F03E03FFC783C1E0007FF8780001FFE7FF9FFE3FFE0780F8
+78F1FFE7C3E7FF803E00F87CFFF87FFEF87FFFE7FFCFFF00000000000FC000000000000000000000
+000000000000000000000000000000000000000000000000783E001FF8FFF3C1F01C01FFC78381E0
+003FF8780001FFE7FF9FFE1FFC0780F078F0FFE7C1E7FF801E00783C7FF03FFCF079FFE3FF87FF00
+000000000FC000000000000000000000000000000000000000000000000000000000000000000000
+301C000FF07FF180F01C00FF030100E0001FE0300000FFC3FF1FFE0FF803007030607FC380C3FF00
+1C0070383FE01FFC6010FFC1FF03FE00000000000FC0000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000040000000000003800000000000
+00006003E000000000001F00000000000000000007800380000000003800F000000000000FC00000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000FC00000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000FC000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000FC0000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000FC00000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000FC00000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000FC000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000FC0000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000FC00000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000FC00000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000FC000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000FC0000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000FC00000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000FC00000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000FC000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000FC000000000000000000000000000000000000000000000000000000000000000000000
+7FFFFFFFFFFFFF39CF800008008087C0000000000000000000000000000000000000000200000000
+0000000000000E01EFFDFFFFFFFFFE00000000000FC0000000000000000000000000000000000000
+00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC00000
+0000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF00000000000FC00000000000000000000000000000000000000000000000000000
+0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC000000000000000000000
+000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00
+0000000007C000000000000000000000000000000000000000000000000000000000000000000000
+1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFE7FF8000000000000180000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000001000000000
+000018000000000000000000000000200010003C0000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+>}imagemask
+showpage
diff --git a/macros/inrstex/inrsdoc/index.tex b/macros/inrstex/inrsdoc/index.tex
new file mode 100644
index 0000000000..7b705d616a
--- /dev/null
+++ b/macros/inrstex/inrsdoc/index.tex
@@ -0,0 +1,43 @@
+
+\catcode`\|=\active %defines | as an active character in the entire document
+{\obeylines \gdef|{\ttverbatim\spaceskip\ttglue\let|=\endgroup}}
+%\def\ttspace{{\tt\hskip\ttglue}}
+
+
+% indexing macros mods of texbook
+
+
+
+% ^ in non math mode are eaten up
+
+\def\specialhat{\ifmmode\def\next{^}\else\let\next=\xref\fi\next}
+\def\xref{\relax}
+\catcode`\^=\active \let ^=\specialhat
+
+\newswitch{silent}
+\chardef\bslash=`\\
+\def\xrefswitch{\ifx\next|\let\next=\vxref % case 1 or 2, |arg| or |\arg|
+ \else\ifx\next\<\let\next=\anglexref % case 3, "\<arg>" means angle brackets
+ \else\let\next=\normalxref \fi\fi \next} % case 0, "{arg}"
+\def\vxref|{\catcode`\\=\active \futurelet\next\vxrefswitch}
+\def\vxrefswitch#1|{\catcode`\\=0
+ \ifx\next\empty\def\xreftype{2}%
+ \def\next{{\tt\bslash\text}}% type 2, |\arg|
+ \else\def\xreftype{1}\def\next{{\tt\text}}\fi % type 1, |arg|
+ \edef\text{#1}\makexref}
+
+{\catcode`\|=0 \catcode`\\=\active |gdef\{@}}
+\def\anglexref\<#1>{\def\xreftype{3}\def\text{#1}%
+ \def\next{\<\text>}\makexref}
+\def\normalxref#1{\def\xreftype{0}\def\text{#1}\let\next=\text\makexref}
+\def\makexref{{\def\space{ }
+ \xdef\writeit{\write\ind@file{!\text!\space\string\indpg\xreftype\space
+ \noexpand\number\pageno.}}\writeit}
+ \ifsilent\ignorespaces\else\next\fi}
+
+
+\outer\def\indexingon{\openlistfile{ind}% file for index reminders
+ \def\xref{\futurelet\next\xrefswitch}}
+
+
+\def\indexingoff{\closelistfile{ind} \def\xref{\relax}}
diff --git a/macros/inrstex/inrsdoc/indsort b/macros/inrstex/inrsdoc/indsort
new file mode 100644
index 0000000000..b94e70aa97
--- /dev/null
+++ b/macros/inrstex/inrsdoc/indsort
Binary files differ
diff --git a/macros/inrstex/inrsdoc/indsort.c b/macros/inrstex/inrsdoc/indsort.c
new file mode 100644
index 0000000000..93b9f4dd24
--- /dev/null
+++ b/macros/inrstex/inrsdoc/indsort.c
@@ -0,0 +1,113 @@
+/*
+This reads a an unsorted index file *.ind and writes a sorted, and converted
+*.sor index file
+File Names are specialized to the INRSTeX reference book
+... DOS version uses strncmpi()
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <alloc.h>
+#include <ctype.h>
+
+#define NUL ((char)0)
+#define BSLASH ((char)0x5c)
+#define CR ((char)0x0d)
+#define LF ((char)0x0a)
+#define MAX 900
+#define CS 20
+#define SS 510
+#define PL 8
+/* type def */
+
+typedef struct {
+ char cmp_str[CS];
+ char *str;
+} ind;
+
+/* the variables */
+
+ FILE *outfile; /* out file. */
+ FILE *infile; /* input file */
+ char in_buf[512]; /* input buffer */
+ ind index[MAX];
+ char work[512];
+ int j, k, l, cp, in_len ; /* dummy vars */
+ int mem_over, op;
+
+/* Comparison Function */
+int sortfcn(const void *a, const void *b)
+ {
+ return (strcmpi(a,b));
+ }
+
+
+
+
+/*****
+* The main function.
+input file name is masth.ind output is masth.sor ... for inrstex ref book
+*****/
+void main()
+ {printf("\n INRSTeX index massage and sort. \n Input file is 'masth.ind'. \n Output file is 'masth.sor'.\n");
+ infile = fopen( "masth.ind", "r");
+ if (infile==0) printf("\n Sorry ... I can't find the index file \n `masth.ind` \n");
+ else {
+ outfile = fopen( "masth.sor", "w" );
+ j=0; while (j<MAX) {k=0; while (k<CS) {index[j].cmp_str[k]=' '; k++;}
+ j++; index[j].cmp_str[CS-1]=0;
+ }
+ mem_over=0;
+ cp=0;
+ while ((fgets(in_buf, 510, infile))&&(cp<MAX))
+ { in_len=strlen(in_buf);
+ index[cp].str=malloc(in_len);
+ if (index[cp].str==0) {mem_over=1;
+ printf("\n Memory Overflow");
+ break;
+ }
+ strncpy(index[cp].str, in_buf, SS-1);
+ j=0; k=0;
+ while ((j<CS-PL-1)&&(in_buf[k]!=LF))
+ { if (isalpha(in_buf[k])) {
+ index[cp].cmp_str[j]=in_buf[k];
+ j++;
+ }
+ k++;
+ }
+ if (j==5) {j=0; while (j<5) {index[cp].cmp_str[j]=' '; j++; } }
+ /* fix for single non-alphabetic commands */
+ cp++;
+ }
+ qsort((void *) index, cp, sizeof(ind), sortfcn);
+ printf("\n %d index records were read and sorted. \n", cp);
+ op=0;
+ while (op<cp)
+ {
+ strncpy(work, index[op].str, SS-1);
+ if (work[0]=='!')
+ {fputc(BSLASH,outfile);fputc('2',outfile);
+ k=1; while (work[k]!='!')
+ { if ((work[k]=='*')&&(work[k+1]=='/')&&(work[k+2]=='*'))
+ {fputc(LF,outfile); k++;k++;}
+ else
+ {fputc(work[k],outfile);
+ if (work[k]==BSLASH) fputc('1',outfile);
+ }
+ k++;
+ }
+
+ k++; while ((work[k]!=LF)&&(work[k]!=0))
+ {fputc(work[k],outfile); k++;}
+ fputc(LF,outfile);
+ }
+ op++;
+ }
+
+ fclose(infile); fclose(outfile);
+ }
+ }
+
+
+ \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/inrslogo.tex b/macros/inrstex/inrsdoc/inrslogo.tex
new file mode 100644
index 0000000000..993abebdf9
--- /dev/null
+++ b/macros/inrstex/inrsdoc/inrslogo.tex
@@ -0,0 +1,58 @@
+%-*-tex-*-
+%======== macros for the INRS address logo/letterhead =====
+
+\def\ppa{\beginsegment \absoluteposition
+\lvec h:.4 v:0
+\lvec h:.2 v:.8
+\lvec h:-.2 v:.8
+\pfill p:0
+\endsegment
+}
+
+\def\ppb{\beginsegment \absoluteposition
+\lvec h:.4 v:0
+\lvec h:.1 v:1.2
+\lvec h:-.3 v:1.2
+\pfill p:0
+\endsegment
+}
+
+\def\inrslogo h:#1 v:#2 sc:#3 {\beginsegment
+\penwidth .005
+\move h:#1 v:#2
+\unitscale #3
+\relative
+\ppa
+\move h:.48 v:0
+\ppa
+\move h:.48 v:0
+\ppb
+\endsegment}
+\font\inrsaddfont = cmcsc10
+\font\eightrm = cmr8
+\def\inrsadd{\vbox{\hsize 5in \baselineskip=9pt \parskip=0pt
+ \leftline{\eightrm Universit\'e du Qu\'ebec}
+ \vskip 3pt
+ \leftline{\inrsaddfont Institut national de la recherche
+ scientifique}
+ \vskip 6pt
+ {\eightrm \obeylines \parindent=0pt
+ 3, place du Commerce \par
+ Ile-des-Soeurs\par
+ Verdun, Qu\'ebec\par
+ Canada \qquad H3E 1H6\par
+ T\'el\'ephone: \tele \par}
+ \vskip 6pt
+ \leftline{\inrsaddfont INRS-T\'el\'ecommunications}
+ }}
+
+
+\def\inrslogoadd h:#1 v:#2 {\btg\inrslogo h:#1 v:#2 sc:.3
+ \beginsegment
+ \move h:0 v:0 \tbox {\inrsadd}
+ \endsegment\etg}
+
+\def\inrsaddform{\titlepagestyle\finalversion
+ \inrslogoadd h:-.5 v:0 }
+
+\def\tele{(514) 765-7834}
diff --git a/macros/inrstex/inrsdoc/inrssl.tex b/macros/inrstex/inrsdoc/inrssl.tex
new file mode 100644
index 0000000000..d129346b86
--- /dev/null
+++ b/macros/inrstex/inrsdoc/inrssl.tex
@@ -0,0 +1,147 @@
+% PostScript slide form
+% \genform Aug 1991
+% Toulson/Beebe PS driver
+% ====== simple viewgraph box =======
+\catcode`\@=11
+\def\hviewbox{\beginsegment
+ \unitscale {\f@ormscale}
+ \slidelogo
+ \topform
+ \botform
+ \move h:0 v:.4
+ \penwidth .05
+ \lvec h:8.9 v:.4
+ \lvec h:8.9 v:6.9
+ \move h:0 v:.4
+ \lvec h:0 v:6.9
+ \move h:.15 v:6.9
+ \larc r:.15 sd:90 ed:180
+ \move h:.15 v:7.05
+ \lvec h:8.75 v:7.05
+ \move h:8.75 v:6.9
+ \larc r:.15 sd:0 ed:90
+ \endsegment}
+% ======= Slide Utilities ======
+% Horizontal form
+\newtoks\slidetitle
+\newdimen\slhsize \newdimen\slvsize
+\long\def\sltitle#1{\vglue .03\slvsize \global\slidetitle={#1}
+ \vbox to 0pt{\hsize=\slhsize \rightskip=.1\hsize plus 1fill
+ \def\cr{\endgraf}\leftskip= .1\hsize plus 1fill\gbfont\gbbaselines
+ \parskip=1ex \parindent=0pt#1\vss}}
+\def\shk{\showthe\leftskip\showthe\rightskip}
+\let\shk=\relax
+\long\def\slidebox #1#2{\vbox to \slvsize{\hsize \slhsize
+ \grfont\parindent=0pt
+ \grbaselines\parskip=2.8ex \advance\rightskip by 0pt plus 1fil
+ \sltitle{#1}\vfill\advance\rightskip by .05\hsize
+ \advance\leftskip by .05\hsize
+ #2\vfill}}
+
+\def\bl{\beginlist \samplemark{$\bullet$}} % modifies default
+\def\lb{\li {$\bullet$} }
+\def\lc{\li {$\circ$} }
+\def\last{\li {$\ast$} }
+\def\hd#1{\vskip 1ex\vbox{\veryraggedright\hangindent1em\hangafter1
+ \noindent\bigfont#1}\vskip 1ex }
+
+
+% ===== slide building macros =======
+% A slide lives in either a textform or fullsize form. The defaault is
+% Fullsize. Text form reduces the size and gives a chance to add background
+% Material with the slide.
+
+\newif\iftextform
+\gdef\inrsform{\message{<< INRSFORM >>}\input inrslogo\relax \gdef\slidelogo{\i@nrsform}
+ \gdef\topform{}\gdef\botform{}}
+\gdef\i@nrsform{\inrslogo h:.2 v:0 sc:.25
+ \move h:8.9 v:.1 \textref h:R v:C
+ \rstext d:0 sc:{\f@ormscale} t:{\bf INRS-T\'el\'ecommunications} }
+\newtoks\topdata
+\newtoks\botdata
+\newtoks\slidedate
+\gdef\genform{\message{<< General FORM >>}
+ \gdef\slidelogo{\topform}\gdef\topform{\move h:0 v:.15 \textref h:L v:C
+ \rstext d:0 sc:{\f@ormscale} t:{\borderfont\the\topdata} }
+ \gdef\botform{\move h:4.45 v:7.25
+ \textref h:C v:C
+\rstext d:0 sc:{\f@ormscale} t:{\borderfont \the\botdata\ -- \the\slidedate} }}
+
+\newcount\textfontscale % computed inside textform
+\gdef\textform{\message{<< Text Size >>}\long
+ \gdef\comment##1//{\rm ##1}\textformtrue\gdef\slidescale{.578}
+ \textfontscale=\the\fullfontscale \relax
+ \multiply\textfontscale by 1000
+ \divide\textfontscale by 1728
+ \fontset scaled {\the\textfontscale}
+ \textformfonts
+ \let\borderfont=\txborderfont
+ \textpagestyle
+ \slvsize = 9.84cm \slhsize = 12.5cm
+ \gdef\tfb{\bigskip\filbreak}}
+\newcount\fullfontscale % set in defaults
+\gdef\fullform{\message{<< Full Size >>}
+ \long\gdef\comment##1//{}\textformfalse\gdef\slidescale{1}
+ \fontset scaled {\the\fullfontscale}
+ \fullformfonts
+ \let\borderfont = \fxborderfont
+ \finalversion
+ \documentstyle{
+ \leftmargin=.6in
+ \nofooterstyle
+ \vfootersize=0pt }
+ \slvsize=17cm \slhsize=21.5cm
+ \let\tfb=\relax}
+
+\long\gdef\hhslide#1#2{\btg
+ \segmentscale {\slidescale}
+ \move h:0.2 v:.4 \textref h:L v:T
+ \rstext d:0 sc:{\f@ormscale} t:{\slidebox{#1}{#2}}
+ \move h:0 v:0 \hviewbox
+ \etg}
+\gdef\formscale #1 {\gdef\f@ormscale{#1 }}
+\gdef\smalldot{\setbox0=\hbox{\hskip .4in\fiverm.}\wd0=0pt\ht0=0pt\dp0=0pt\box0}
+\long\gdef\hslide #1//#2//{\advance\slidenum by 1 \relax
+ \begingroup\tfb\documentstyle{\genpoint}\bf \let\hslide=\slideerr
+ \iftextform\centergraph{\hhslide{#1}{#2}}\bigskip \else
+ \btg
+ \move h:0 v:8.9
+ \vtext {\hhslide{#1}{#2}}
+ \move h:7 v:8.8
+ \etg
+ \smalldot\ejectpage\fi\endgroup}
+% ====== Error forms ========
+% This attempts to find a misplaced // gracefully
+\newcount\slidenum
+\ifnum\language=0 \edef\s@lmiss{Probable Missing or Extra // in Slide Num. }
+ \else
+ \edef\s@lmiss{Probable Missing or Extra // in Slide Num. }
+ \fi
+\gdef\slideerr{\message{<<\s@lmiss\the\slidenum>>}}
+
+% ====== TexGraph Defaults ========
+\ifundefined{textref}
+ \begingroup \catcode`\^=7 \input texgraph \endgroup \fi
+
+% ==== text form page style =====
+\gdef\textpagestyle{}
+
+% ====== Font Defaults =========
+\input spfont \relax
+\gdef\textformfonts{\font\gffont= cmcsc10 scaled 667 }
+\gdef\fullformfonts{\font\gffont = cmcsc10 scaled 1440 }
+\fullfontscale = 2074
+\font\fxborderfont = cmbx10 scaled 1728
+\let\txborderfont = \tenbfx
+
+% ==== slide default =====
+\slidenum=0
+\gdef\gbfont{\bigfont}
+\gdef\gbbaselines{\baselineskip = 2.8ex\lineskip=1pt\lineskiplimit=0pt}
+\gdef\grfont{\bf}
+\gdef\grbaselines{\baselineskip=2.8ex\lineskip=1pt\lineskiplimit=0pt}
+\gdef\f@ormscale{1}
+%====== end defaults =====
+
+\catcode`\@=12
+
diff --git a/macros/inrstex/inrsdoc/inrsunix.sh b/macros/inrstex/inrsdoc/inrsunix.sh
new file mode 100644
index 0000000000..dd1f48d528
--- /dev/null
+++ b/macros/inrstex/inrsdoc/inrsunix.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# INRSTeX
+#
+if [ $# = 1 ]; then
+ jobname=`/usr/bin/basename $1 .tex`
+ # rename auxiliary files -- see writunix.tex
+ /bin/mv $jobname.tag $jobname.tag~ 2>/dev/null
+ /bin/mv $jobname.toc $jobname.toc~ 2>/dev/null
+ /bin/mv $jobname.fig $jobname.fig~ 2>/dev/null
+ /bin/mv $jobname.tbl $jobname.tbl~ 2>/dev/null
+fi
+exec /usr/users/u1/mike/inrstex/virtex_mlb '&/usr/users/u1/mike/inrstex/inrs3_mlb' $*
+ \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/masth.ctg b/macros/inrstex/inrsdoc/masth.ctg
new file mode 100644
index 0000000000..542a40b1ad
--- /dev/null
+++ b/macros/inrstex/inrsdoc/masth.ctg
@@ -0,0 +1,7 @@
+\initcitetag {0}
+\initcitetag {0}
+\tag{[Knut84]}{1}
+\tag{[Digi83]}{2}
+\tag{[Amst84]}{3}
+\tag{[Lesk76]}{4}
+\lastcitetag {4}
diff --git a/macros/inrstex/inrsdoc/masth.ind b/macros/inrstex/inrsdoc/masth.ind
new file mode 100644
index 0000000000..ff9079a675
--- /dev/null
+++ b/macros/inrstex/inrsdoc/masth.ind
@@ -0,0 +1,762 @@
+!\aa, \AA! \indpg 14.
+!\ae, \AE! \indpg 14.
+!\copyright! \indpg 14.
+!\dag! \indpg 14.
+!\ddag! \indpg 14.
+!{\it\$}! \indpg 14.
+!{\it\&}! \indpg 14.
+!\i! \indpg 14.
+!\j! \indpg 14.
+!\l, \L! \indpg 14.
+!\o, \O! \indpg 14.
+!\oe, \OE! \indpg 14.
+!\P! \indpg 14.
+!\S! \indpg 14.
+!\ss! \indpg 14.
+!\jobname! \indpg 20.
+!\hprintoffset = <dimen>! \indpg 21.
+!\vprintoffset = <dimen>! \indpg 22.
+!\bye! \indpg 22.
+!\done! \indpg 23.
+!\draftversion! \indpg 23.
+!\end! \indpg 23.
+!\englishversion \ehyph! \indpg 23.
+!\ehyph! \indpg 23.
+!\finalversion! \indpg 23.
+!\hyphenation{<exceptions>}! \indpg 23.
+!\language [=] <integer>! \indpg 23.
+!\marginnotestrue! \indpg 24.
+!\marginnotesfalse! \indpg 24.
+!\versionfrancaise \fhyph! \indpg 24.
+!\fhyph! \indpg 24.
+!DVIALW Command line options! \indpg 24.
+!\hfuzz [=] <dimen>! \indpg 31.
+!\overfullrule [=] <dimen>! \indpg 31.
+!\vfuzz [=] <dimen>! \indpg 32.
+!\raggedbottom! \indpg 32.
+!\font\<fontname> [scaled <number>]! \indpg 34.
+!\fivei! \indpg 34.
+!\fiverm! \indpg 34.
+!\fivebf! \indpg 34.
+!\twelvepoint! \indpg 35.
+!\tenpoint! \indpg 35.
+!\ninepoint! \indpg 35.
+!\eightpoint! \indpg 35.
+!\bf! \indpg 35.
+!\it! \indpg 35.
+!\rm! \indpg 35.
+!\tt! \indpg 35.
+!\bigggfont! \indpg 35.
+!\biggfont! \indpg 35.
+!\bigfont! \indpg 35.
+!\cheadfont! \indpg 35.
+!\documentstyle{<font family>}! \indpg 36.
+!\footerfont! \indpg 36.
+!\footnotefont! \indpg 36.
+!\headerfont! \indpg 36.
+!\smallerfont! \indpg 36.
+!\sheadfont! \indpg 36.
+!\ssheadfont! \indpg 36.
+!\sssheadfont! \indpg 36.
+!\dsssheadfont! \indpg 36.
+!\captionnumfont! \indpg 36.
+!\captiontitlefont! \indpg 36.
+!\captionbodyfont! \indpg 36.
+!<units of measure>*/* cm em ex in*/* mu pt sp! \indpg 37.
+!\newdimen\<dimen name>! \indpg 38.
+!\newcount\<count name>! \indpg 38.
+!\newskip\<skip or glue name>! \indpg 39.
+!\<count name> [=] <integer, dimen, glue>! \indpg 39.
+!\<dimen name> [=] < dimen, glue>! \indpg 39.
+!\<skip or glue name> [=] <dimen>*/* [plus <dimen>] [minus<dimen>]! \indpg 39.
+!\advance \<count, dimen, glue name> by [+ -]<count, dimen, glue>! \indpg 40.
+!\multiply \<count, dimen, glue name> by [+ -]<integer>! \indpg 40.
+!\divide \<count, dimen, glue name> by [+ -]<integer>! \indpg 40.
+!\hfil \hfill! \indpg 42.
+!\hfilneg! \indpg 42.
+!\hss! \indpg 42.
+!\medmuskip! \indpg 42.
+!\newskip\<skip name>! \indpg 42.
+!\newmuskip\<muskip name>! \indpg 42.
+!\thickmuskip! \indpg 43.
+!\thinmuskip! \indpg 43.
+!\vfil \vfill! \indpg 43.
+!\vfilneg! \indpg 43.
+!\vss! \indpg 43.
+!\discretionary{<prebreak text>}{<postbreak text>}{<nobreak text>}! \indpg 47.
+!\endnarrowtext! \indpg 47.
+!\everyparagraph [=] {<token string>}! \indpg 47.
+!\hangafter [+ -] <integer>! \indpg 48.
+!\hangindent [=] [+ -] <dimen>! \indpg 48.
+!\hyphenatecapitals [=] <integer>! \indpg 48.
+!\indent! \indpg 48.
+!\leftskip [=] <dimen> [plus <dimen>] [minus <dimen>]! \indpg 48.
+!\rightskip [=] <dimen> [plus <dimen>] [minus <dimen>]! \indpg 48.
+!\looseness [=] [+ -] <integer>! \indpg 49.
+!\noindent! \indpg 49.
+!\obeylines! \indpg 49.
+!\obeyspaces! \indpg 49.
+!\par! \indpg 50.
+!\paragraphcenterline! \indpg 50.
+!\parindent [=] <dimen>! \indpg 50.
+!\parshape <number of lines> <indent 1> <line length 1>*/* ... <indent n> <line length n>! \indpg 50.
+!\parskip [=] <dimen>! \indpg 51.
+!\pretolerance [=] <integer>! \indpg 51.
+!\tolerance [=] <integer>! \indpg 51.
+!\raggedright! \indpg 51.
+!\ttraggedright! \indpg 51.
+!\veryraggedright! \indpg 51.
+!\beginttverbatim! \indpg 55.
+!\bigskip! \indpg 55.
+!\endttverbatim! \indpg 55.
+!\enskip! \indpg 55.
+!\hskip [+ -] <dimen> [plus <dimen>] [minus <dimen>]! \indpg 56.
+!\kern [+ -] <dimen>! \indpg 56.
+!\mkern [+ -] <decimal number>mu! \indpg 56.
+!\mskip [+ -] <mudimen> [plus <mudimen>] [minus <mudimen>]! \indpg 56.
+!\medskip! \indpg 56.
+!\quad \qquad! \indpg 56.
+!\smallskip! \indpg 56.
+!\spacing {<decimal number>}! \indpg 56.
+!\vglue [=] [+ -] <dimen> [plus <dimen>] [minus <dimen>]! \indpg 56.
+!\vskip [=] [+ -] <dimen> [plus <dimen>] [minus <dimen>]! \indpg 56.
+!\allowbreak! \indpg 57.
+!\break! \indpg 57.
+!\bigbreak! \indpg 57.
+!\bye! \indpg 58.
+!\discretionary{<pre break text>}{<post break text>}{<text>}! \indpg 58.
+!\done! \indpg 58.
+!\end! \indpg 58.
+!\filbreak! \indpg 58.
+!\eject! \indpg 58.
+!\ejectcolumn! \indpg 58.
+!\ejectpage! \indpg 58.
+!\goodbreak! \indpg 58.
+!\linebreak! \indpg 58.
+!\medbreak! \indpg 58.
+!\nobreak! \indpg 58.
+!\penaltybreak{<penalty>}{<skip size>}! \indpg 59.
+!\smallbreak! \indpg 59.
+!\alpha {\rm A} A! \indpg 62.
+!\beta {\rm B} B! \indpg 62.
+!\gamma \Gamma {\mit\Gamma}! \indpg 62.
+!\delta \Delta {\mit\Delta} ! \indpg 62.
+!\epsilon {\rm E} E! \indpg 62.
+!\varepsilon! \indpg 62.
+!\zeta {\rm Z} Z! \indpg 62.
+!\eta {\rm H} H! \indpg 62.
+!\theta \Theta {\mit\Theta} ! \indpg 62.
+!\vartheta! \indpg 63.
+!\iota {\rm I} I! \indpg 63.
+!\kappa {\rm K} K ! \indpg 63.
+!\lambda \Lambda {\mit\Lambda} ! \indpg 63.
+!\mu {\rm M} M ! \indpg 63.
+!\nu {\rm N} N! \indpg 63.
+!\xi \Xi {\mit\Xi} ! \indpg 63.
+!\pi \Pi {\mit\Pi}! \indpg 63.
+!\varpi! \indpg 63.
+!\rho {\rm R} R! \indpg 63.
+!\sigma \Sigma {\mit\Sigma}! \indpg 63.
+!\tau {\rm T} T! \indpg 63.
+!\upsilon \Upsilon {\mit\Upsilon}! \indpg 63.
+!\phi \Phi {\mit\Phi}! \indpg 63.
+!\varphi! \indpg 63.
+!\chi {\rm X} X! \indpg 63.
+!\psi \Psi {\mit\Psi}! \indpg 63.
+!\omega \Omega {\mit\Omega}! \indpg 63.
+!+! \indpg 63.
+!-! \indpg 63.
+!=! \indpg 63.
+!\not=! \indpg 63.
+!<! \indpg 63.
+!\not<! \indpg 63.
+!>! \indpg 63.
+!\not>! \indpg 63.
+!\aleph! \indpg 63.
+!\amalg! \indpg 63.
+!\angle! \indpg 63.
+!\approx! \indpg 63.
+!\not\approx! \indpg 63.
+!\ast! \indpg 63.
+!\asymp! \indpg 64.
+!\backslash! \indpg 64.
+!\bigcap! \indpg 64.
+!\bigcirc! \indpg 64.
+!\bigcup! \indpg 64.
+!\bigodot! \indpg 64.
+!\bigoplus! \indpg 64.
+!\bigotimes! \indpg 64.
+!\bigsqcup! \indpg 64.
+!\bigtriangledown! \indpg 64.
+!\bigtriangleup! \indpg 64.
+!\biguplus! \indpg 64.
+!\bigvee! \indpg 64.
+!\bigwedge! \indpg 64.
+!\bot! \indpg 64.
+!\bowtie! \indpg 64.
+!\bullet! \indpg 64.
+!\cap! \indpg 64.
+!\cdot! \indpg 64.
+!\circ! \indpg 64.
+!\clubsuit! \indpg 64.
+!\cong! \indpg 64.
+!\not\cong! \indpg 64.
+!\coprod! \indpg 64.
+!\cup! \indpg 64.
+!\dagger! \indpg 64.
+!\dashv! \indpg 64.
+!\ddagger! \indpg 64.
+!\diamondsuit! \indpg 64.
+!\diamond! \indpg 64.
+!\div! \indpg 64.
+!\doteq! \indpg 64.
+!\Downarrow! \indpg 64.
+!\downarrow! \indpg 64.
+!\ell! \indpg 64.
+!\emptyset! \indpg 64.
+!\equiv! \indpg 64.
+!\not\equiv! \indpg 64.
+!\exists! \indpg 64.
+!\flat! \indpg 64.
+!\forall! \indpg 64.
+!\frown! \indpg 64.
+!\ge! \indpg 64.
+!\geq! \indpg 64.
+!\not\geq! \indpg 64.
+!\gg! \indpg 64.
+!\not\gg! \indpg 64.
+!\hbar! \indpg 64.
+!\heartsuit! \indpg 64.
+!\hookleftarrow! \indpg 64.
+!\hookrightarrow! \indpg 64.
+!\Im! \indpg 64.
+!\imath! \indpg 64.
+!\infty! \indpg 64.
+!\int! \indpg 64.
+!\in! \indpg 64.
+!\not\in! \indpg 64.
+!\jmath! \indpg 64.
+!\Leftarrow! \indpg 64.
+!\leftarrow! \indpg 64.
+!\leftharpoondown! \indpg 64.
+!\leftharpoonup! \indpg 64.
+!\Leftrightarrow! \indpg 64.
+!\leftrightarrow! \indpg 64.
+!\le! \indpg 64.
+!\leq! \indpg 64.
+!\not\leq! \indpg 64.
+!\ll! \indpg 64.
+!\not\ll! \indpg 64.
+!\Longleftarrow! \indpg 64.
+!\longleftarrow! \indpg 64.
+!\Longleftrightarrow! \indpg 64.
+!\longleftrightarrow! \indpg 64.
+!\longmapsto! \indpg 64.
+!\Longrightarrow! \indpg 64.
+!\longrightarrow! \indpg 64.
+!\mapsto! \indpg 64.
+!\mid! \indpg 64.
+!\models! \indpg 64.
+!\mp! \indpg 64.
+!\nabla! \indpg 64.
+!\natural! \indpg 64.
+!\nearrow! \indpg 65.
+!\nwarrow! \indpg 65.
+!\neg! \indpg 65.
+!\lnot! \indpg 65.
+!\ni! \indpg 65.
+!\owns! \indpg 65.
+!\odot! \indpg 65.
+!\oint! \indpg 65.
+!\ominus! \indpg 65.
+!\oplus! \indpg 65.
+!\oslash! \indpg 65.
+!\otimes! \indpg 65.
+!\parallel! \indpg 65.
+!\partial! \indpg 65.
+!\perp! \indpg 65.
+!\pm! \indpg 65.
+!\preceq! \indpg 65.
+!\not\preceq! \indpg 65.
+!\prec! \indpg 65.
+!\not\prec! \indpg 65.
+!\prime! \indpg 65.
+!\prod! \indpg 65.
+!\propto! \indpg 65.
+!\Re! \indpg 65.
+!\Rightarrow! \indpg 65.
+!\rightarrow! \indpg 65.
+!\rightharpoondown! \indpg 65.
+!\rightharpoonup! \indpg 65.
+!\rightleftharpoons! \indpg 65.
+!\setminus! \indpg 65.
+!\sharp! \indpg 65.
+!\simeq! \indpg 65.
+!\not\simeq! \indpg 65.
+!\sim! \indpg 65.
+!\not\sim! \indpg 65.
+!\smile! \indpg 65.
+!\spadesuit! \indpg 65.
+!\sqcap! \indpg 65.
+!\sqcup! \indpg 65.
+!\sqsubseteq! \indpg 65.
+!\not\sqsubseteq! \indpg 65.
+!\sqsupseteq! \indpg 65.
+!\not\sqsupseteq! \indpg 65.
+!\star! \indpg 65.
+!\subseteq! \indpg 65.
+!\not\subseteq! \indpg 65.
+!\subset! \indpg 65.
+!\not\subset! \indpg 65.
+!\succeq! \indpg 65.
+!\not\succeq! \indpg 65.
+!\succ! \indpg 65.
+!\not\succ! \indpg 65.
+!\sum! \indpg 65.
+!\supseteq! \indpg 65.
+!\not\supseteq! \indpg 65.
+!\supset! \indpg 65.
+!\not\supset! \indpg 65.
+!\surd! \indpg 65.
+!\searrow! \indpg 65.
+!\swarrow! \indpg 65.
+!\times! \indpg 65.
+!\top! \indpg 65.
+!\triangleleft! \indpg 65.
+!\triangleright! \indpg 65.
+!\triangle! \indpg 65.
+!\uplus! \indpg 65.
+!\Uparrow! \indpg 65.
+!\uparrow! \indpg 65.
+!\Updownarrow! \indpg 65.
+!\updownarrow! \indpg 65.
+!\Vert! \indpg 65.
+!\vert! \indpg 65.
+!\vdash! \indpg 65.
+!\lor! \indpg 65.
+!\vee! \indpg 65.
+!\land! \indpg 65.
+!\wedge! \indpg 65.
+!\wp! \indpg 65.
+!\wr! \indpg 65.
+!\big\Arrowvert! \indpg 66.
+!\big\arrowvert! \indpg 66.
+!\langle! \indpg 66.
+!\rangle! \indpg 66.
+!\big\bracevert! \indpg 66.
+!\lbrace! \indpg 66.
+!\rbrace! \indpg 66.
+!\lbrack! \indpg 66.
+!\rbrack! \indpg 66.
+!\lceil! \indpg 66.
+!\rceil! \indpg 66.
+!\lfloor! \indpg 66.
+!\rfloor! \indpg 66.
+!\big\lgroup! \indpg 66.
+!\big\rgroup! \indpg 66.
+!\big\lmoustache! \indpg 66.
+!\big\rmoustache! \indpg 66.
+!\backslash! \indpg 66.
+!$\left<delimiter> ...\right<delimiter>$! \indpg 67.
+!\bigl! \indpg 67.
+!\biggl! \indpg 67.
+!\Biggl! \indpg 67.
+!\bigr! \indpg 67.
+!\Bigr! \indpg 67.
+!\biggr! \indpg 67.
+!\Biggr! \indpg 67.
+!\arg! \indpg 68.
+!\arccos! \indpg 68.
+!\arcsin! \indpg 68.
+!\arctan! \indpg 68.
+!\cot! \indpg 68.
+!\coth! \indpg 68.
+!\cosh! \indpg 68.
+!\cos! \indpg 68.
+!\csc! \indpg 68.
+!\det! \indpg 68.
+!\deg! \indpg 68.
+!\dim! \indpg 68.
+!\exp! \indpg 68.
+!\gcd! \indpg 68.
+!\hom! \indpg 68.
+!\inf! \indpg 68.
+!\ker! \indpg 68.
+!\lg! \indpg 68.
+!\liminf! \indpg 68.
+!\limsup! \indpg 68.
+!\lim! \indpg 68.
+!\ln! \indpg 68.
+!\log! \indpg 68.
+!\max! \indpg 68.
+!\min! \indpg 68.
+!\Pr! \indpg 68.
+!\sec! \indpg 68.
+!\sin! \indpg 68.
+!\sinh! \indpg 68.
+!\sup! \indpg 68.
+!\tanh! \indpg 68.
+!\tan! \indpg 68.
+!\buildrel <superscript> \over <relation>! \indpg 68.
+!\above.. \atop.. \over.. functions*/* {<parm1> \atop <parm2>}*/* {<parm1> \choose <parm2>}*/* {<parm1> \over <parm2>}*/* {<parm1> \atopwithdelims<left delim><right delim> <parm2>}*/* {<parm1> \overwithdelims<left delim><right delim> <parm2>}*/* {<parm1> \abovewithdelims<left delim><right delim>*/* <bar thickness> <parm2>}! \indpg 71.
+!\silenttrue! \indpg 73.
+!\bordermatrix{<top 0>&<top 1>&<top 2>&...&<top n>\cr*/* <side 1>&<first row>\cr*/* ...*/* <side m>&<last row>\cr}! \indpg 73.
+!\cases{<first math>&<first condition>\cr*/* ...*/* <last math>&<last condition>\cr}! \indpg 74.
+!\eqalign ...*/* \eqalign{ <left first row> &<right first row>\cr*/* ...*/* <left last row> &<right last row>\cr}*/* \eqalignno{<left first row> &<right first row>&<first eq.no>\cr*/* ...*/* <left last row> &<right last row>&<last eq.no>\cr}*/* \leqalignno{<left first row>&<right first row>&<first eq.no>\cr*/* ...*/* <left last row> &<right last row>&<last eq.no>\cr}! \indpg 74.
+!\eqno <reference> \leqno <reference>! \indpg 76.
+!\leftequationnumbering \rightequationnumbering! \indpg 76.
+!\noalign {<text>}! \indpg 76.
+!\openup <dimen>! \indpg 77.
+!\over ... \under ...*/* \overline{<math>} \underline{<math>}*/* \overbrace{<math>} \underbrace{<math>}! \indpg 77.
+!\dots ... \cdot \cdots \ldots \ddots! \indpg 77.
+!\mathopen{<dimen or glue>}! \indpg 77.
+!\matrix{<entry 11>&<entry 12>&...&<entry 1n>\cr*/* <second row>\cr*/* ...*/* <last row> \cr}*/* \pmatrix{<several rows>\cr}! \indpg 78.
+!\phantom{<math>} \vphantom{<math>} \sphantom{<hlist>}! \indpg 78.
+!\sqrt{<math>}! \indpg 78.
+!\smash{<math>}! \indpg 78.
+!\box{<named box>}! \indpg 82.
+!\boxit{<line thickness>}{<border separation>}{<box, vlist>}! \indpg 82.
+!\boxmaxdepth [=] <dimen>! \indpg 82.
+!\copy{<named box>}! \indpg 82.
+!\line{<horizontal list>}! \indpg 82.
+!\centerline{<horizontal list>}! \indpg 82.
+!\leftline{<horizontal list>}! \indpg 82.
+!\rightline{<horizontal list>}! \indpg 82.
+!\box dimensions ... \dp \ht \wd! \indpg 83.
+!\dp<named box> [=] <dimen>*/* \ht<named box> [=] <dimen>*/* \wd<named box> [=] <dimen>! \indpg 83.
+!<scale factor>\dp<named box>*/* <scale factor>\ht<named box>*/* <scale factor>\wd<named box>! \indpg 83.
+!\everyhbox = {<token list>}! \indpg 83.
+!\everyvbox = {<token list>}! \indpg 83.
+!\hbox <box spec>{<horizontal list>}! \indpg 83.
+!\vbox <box spec>{<vertical list>}! \indpg 83.
+!<box spec>! \indpg 83.
+!\vbox{\hsize [=] <dimen> <text>}! \indpg 84.
+!\hrule [height <dimen>] [width <dimen>] [depth <dimen>]! \indpg 84.
+!\vrule [height <dimen>] [width <dimen>] [depth <dimen>]! \indpg 84.
+!\llap{<text>}! \indpg 84.
+!\rlap{<text>}! \indpg 84.
+!\lower<dimen><box>! \indpg 84.
+!\raise<dimen><box>! \indpg 84.
+!\setbox<named box> [=] <box>{<list>}! \indpg 85.
+!\strut! \indpg 85.
+!\unhbox{<named hbox>}! \indpg 85.
+!\unhcopy{<named hbox>}! \indpg 85.
+!\unvbox{<named vbox>}! \indpg 85.
+!\unvcopy{<named vbox>}! \indpg 85.
+!\vcenter{<vertical list>}! \indpg 85.
+!\vsplit<named box> to <dimen>! \indpg 85.
+!\splitmaxdepth! \indpg 85.
+!\+<text>&<text> ... &<text>\cr! \indpg 96.
+!\cleartabs! \indpg 96.
+!\tabalign ... \cr! \indpg 96.
+!\halign{<preamble>\cr <first row>\cr ... <last row>\cr}! \indpg 96.
+!\hidewidth! \indpg 97.
+!\ialign{<preamble>\cr <first row>\cr ... <last row>\cr}! \indpg 97.
+!\multispan {<integer>}! \indpg 97.
+!\noalign {<text>}! \indpg 98.
+!\oalign{<first row>\cr ... &<last row>\cr}! \indpg 98.
+!\omit! \indpg 98.
+!\span! \indpg 98.
+!\valign{<preamble>\cr <first column>\cr ... <last column>\cr}! \indpg 98.
+!~! \indpg 99.
+!\:! \indpg 99.
+!\-! \indpg 99.
+!\br{<rules..>} \er{<rules..>}! \indpg 100.
+!\begintable ... \endtable! \indpg 100.
+!\begintableformat ... \endtableformat! \indpg 100.
+!\center \center{<argument>}! \indpg 101.
+!\displaymath{<argument>}! \indpg 101.
+!\everytable! \indpg 101.
+!\fulltablerule{<dimen>}! \indpg 101.
+!\left! \indpg 101.
+!\math{<argument>}! \indpg 102.
+!\midtabglue [=] <glue>! \indpg 102.
+!\modifystrut{<original>}{<add to height>}{<add to depth>}*/*\mst = \modifystrut! \indpg 102.
+!\right! \indpg 102.
+!\sa{<text>}! \indpg 102.
+!\sprule! \indpg 102.
+!\tablespread = {<halign specification>}! \indpg 103.
+!\tcs! \indpg 103.
+!\thrule{<height>}! \indpg 103.
+!\tr! \indpg 103.
+!\tvrule{<width>}! \indpg 104.
+!\use{<number of data columns>}! \indpg 104.
+!\zerocenteredbox{<text>}*/* \zb = \zerocenteredbox! \indpg 104.
+!\def\<def name> <parameter form>{<replacement text>}! \indpg 108.
+!\gdef\<def name> <parameter form>{<replacement text>}! \indpg 109.
+!\global! \indpg 109.
+!\let\<def a> [=] \<def b>! \indpg 109.
+!\long! \indpg 109.
+!\outer! \indpg 109.
+!\beginlist \bl! \indpg 114.
+!\beginsublist \bsl! \indpg 114.
+!\beginsubsublist \bssl! \indpg 114.
+!\endlist \el! \indpg 114.
+!\endsublist \esl! \indpg 114.
+!\endsubsublist \essl! \indpg 114.
+!\everylist [=] {<token list>}! \indpg 114.
+!\everysublist [=] {<token list>}! \indpg 114.
+!\everysubsublist [=] {<token list>}! \indpg 115.
+!\item! \indpg 115.
+!\itemitem! \indpg 115.
+!\listitem <listitem mark>! \indpg 115.
+!\loosenlist! \indpg 115.
+!\samplemark{<listitem mark>}! \indpg 115.
+!\tightenlist! \indpg 116.
+!\listindent [=] <dimen>! \indpg 116.
+!\listitemmarksize [=] <dimen>! \indpg 116.
+!\listitemskip [=] <glue>! \indpg 116.
+!\polistskip [=] <glue>! \indpg 116.
+!\posublistskip [=] <glue>! \indpg 116.
+!\posubsublistskip [=] <glue>! \indpg 116.
+!\prlistskip [=] <glue>! \indpg 116.
+!\prsublistskip [=] <glue>! \indpg 116.
+!\prsubsublistskip [=] <glue>! \indpg 116.
+!\sublistindent [=] <dimen>! \indpg 116.
+!\subsublistindent [=] <dimen>! \indpg 116.
+!\sublistitemskip [=] <glue>! \indpg 116.
+!\subsublistitemskip [=] <glue>! \indpg 116.
+!\everyfootnote = {<token list>}! \indpg 118.
+!\footnote{<math mode mark>}{<text>}! \indpg 118.
+!\footnotefont! \indpg 118.
+!\footnoterule! \indpg 118.
+!\up{<math mode mark>}! \indpg 118.
+!\skip\footins [=] <dimen>! \indpg 118.
+!\dimen\footins [=] <dimen>! \indpg 118.
+!\sfootnote{<math mode mark>}{<text>}! \indpg 119.
+!\beginmidinsert! \indpg 127.
+!\beginpageinsert! \indpg 127.
+!\begintopinsert! \indpg 127.
+!\captionbox{<number text>}{<title>}! \indpg 127.
+!\captionbody{<text>}! \indpg 127.
+!\captionbodyon \captionbodyoff! \indpg 127.
+!\captionbodyfont! \indpg 127.
+!\captionnumfont! \indpg 128.
+!\captiontitlefont! \indpg 128.
+!\captionskip [=] <dimen>! \indpg 128.
+!\captiontextfraction! \indpg 128.
+!\ejectinserts! \indpg 128.
+!\endmidinsert! \indpg 128.
+!\endpageinsert! \indpg 128.
+!\endtopinsert! \indpg 128.
+!\figureform{<tag or number>}{<title>}{<figure box>}! \indpg 128.
+!\figureinsert{<tag or number>}{<title>}{<figure box>}! \indpg 129.
+!\figurelabel! \indpg 129.
+!\rect <horizontal dimen> by <vertical dimen>! \indpg 129.
+!\tableform{<tag or number>}{<title>}{<table>}! \indpg 129.
+!\tableinsert{<tag or number>}{<title>}{<figure box>}! \indpg 129.
+!\tablelabel! \indpg 130.
+!\balancecolumnsize*/* [=] <column length> ! \indpg 132.
+!\beginmulticolumnformat! \indpg 132.
+!\endmulticolumnformat! \indpg 132.
+!\ejectcolumn! \indpg 132.
+!\ejectpage! \indpg 132.
+!\firstcolumnoffset*/* [=] <dimen>! \indpg 133.
+!\intercolumnsep*/* [=] {<token list>}! \indpg 133.
+!\numberofcolumns*/* [=] <integer>! \indpg 133.
+!\chead{<number or tag>}{<title>}! \indpg 137.
+!\preludehead{<title>}! \indpg 137.
+!\shead{<number or tag>}{<title>}! \indpg 137.
+!\sshead{<number or tag>}{<title>}! \indpg 137.
+!\ssshead{<number or tag>}{<title>}! \indpg 137.
+!\dssshead{<title>}! \indpg 137.
+!\Appendix! \indpg 137.
+!\beginappendices \endappendices! \indpg 137.
+!\beginprelude \endprelude! \indpg 138.
+!\Chapter! \indpg 138.
+!\chapterstartform = {<special pre chapter tests>}! \indpg 138.
+!\<head type>headfont! \indpg 138.
+!\Alphabetic{<integer>}! \indpg 138.
+!\alphabetic{<integer>}! \indpg 138.
+!\UpperRoman{<integer>}! \indpg 138.
+!\chtagreplaceformat! \indpg 139.
+!\shtagreplaceformat! \indpg 139.
+!\prsheadskip [=] <glue>! \indpg 139.
+!\posheadskip [=] <glue>! \indpg 139.
+!\prssheadskip [=] <glue>! \indpg 139.
+!\possheadskip [=] <glue>! \indpg 139.
+!\prsssheadskip [=] <glue>! \indpg 139.
+!\posssheadskip [=] <glue>! \indpg 139.
+!\prdsssheadskip [=] <glue>! \indpg 139.
+!\podsssheadskip [=] <glue>! \indpg 139.
+!\preludeheadformat! \indpg 139.
+!\cheadformat{<chapter>}{<text>}! \indpg 140.
+!\gensheadformat{<font>}{<number>}{<text>}{<separator>}! \indpg 140.
+!\preludheadformat{<title>}! \indpg 140.
+!\autoeqnum! \indpg 142.
+!\autotblnum! \indpg 142.
+!\autofignum! \indpg 142.
+!\<type>tagrefformat! \indpg 142.
+!\<type>num! \indpg 142.
+!\<type>tagreplaceformat! \indpg 142.
+!\<type>numform! \indpg 142.
+!\pagetagson! \indpg 142.
+!\pagetagsoff! \indpg 142.
+!{\silenttrue \auto...num{<tag>}}! \indpg 143.
+!\aneq \aneqtag{<tag>}! \indpg 144.
+!\autonumberingon! \indpg 145.
+!\autonumberingoff! \indpg 145.
+!\autoreferencingon! \indpg 145.
+!\autoreferencingingoff! \indpg 145.
+!\auto<type>num{<tag>}! \indpg 145.
+!\inputtagfiles [=] {<input command><file name> ...}! \indpg 145.
+!\newautonum{<type>}! \indpg 146.
+!\newtag{<tag>}{<tag value>}! \indpg 146.
+!\newttag{<tag>}{<tag value>}! \indpg 146.
+!\newptag{<tag>}! \indpg 146.
+!\numberbychapter! \indpg 146.
+!\numberbysection! \indpg 146.
+!\pagequietref{<tag>} \pqref{<tag>}! \indpg 146.
+!\pageref{<tag>} \pref{<tag>}! \indpg 147.
+!\pagetagson \pagetagsoff! \indpg 147.
+!\quietref{<tag>} \qref{<tag>}! \indpg 147.
+!\ref{<tag>}! \indpg 147.
+!\silent{<text>}! \indpg 147.
+!\specialnumberscontinuous! \indpg 147.
+!\citenum! \indpg 151.
+!\cite{<citation tag>}! \indpg 151.
+!\citeform{<citation tag>}{<TeX macro form>}! \indpg 152.
+!\citetagvalue! \indpg 152.
+!\closecitationtagfile! \indpg 152.
+!\initcitetag{<integer>}! \indpg 152.
+!\inputciteformfiles*/* [=] { \inputwithcheck{<first form file>}*/* ...*/* \inputwithcheck{<last form file>} }! \indpg 152.
+!\inputcitetagfiles*/* [=] { \inputwithcheck{<first tag file>}*/* ...*/* \inputwithcheck{<last tag file>} }! \indpg 153.
+!\lastcitetag{<integer>}! \indpg 153.
+!\makecitationlist! \indpg 153.
+!\makelongcitationlist! \indpg 153.
+!\openlistfile{<file extension>}! \indpg 156.
+!\chtoc{<number>}{<title>}{<page number>}! \indpg 156.
+!\chtocout! \indpg 157.
+!\dssshtoc{<number>}{<title>}{<page number>}! \indpg 157.
+!\intdssshtoc! \indpg 157.
+!\dssshtocout! \indpg 157.
+!\figtoc{<number>}{<title>}{<page number>}! \indpg 157.
+!\figtocout! \indpg 157.
+!\inputfigfiles! \indpg 157.
+!\inputtblfiles! \indpg 157.
+!\inputtocfiles! \indpg 158.
+!\makefiglist! \indpg 158.
+!\maketbllist! \indpg 158.
+!\maketoclist! \indpg 158.
+!\newtocfile! \indpg 158.
+!\prtoc{<title>}{<page number>}! \indpg 158.
+!\prtocout! \indpg 158.
+!\shtoc{<number>}{<title>}{<page number>}! \indpg 159.
+!\sshtoc{<number>}{<title>}{<page number>}! \indpg 159.
+!\ssshtoc{<number>}{<title>}{<page number>}! \indpg 159.
+!\intssshtoc! \indpg 159.
+!\shtocout! \indpg 159.
+!\sshtocout! \indpg 159.
+!\ssshtocout! \indpg 159.
+!\tbltoc<number>}{<title>}{<page number>}! \indpg 159.
+!\tbltocout! \indpg 159.
+!\tocbox{<indent>}{<number>}{<title>}{<pagenumber>}! \indpg 159.
+!\tocfill! \indpg 160.
+!\writelistfile{<file extension}{\string\..toc}{<number>}{<arg>}! \indpg 160.
+!\folio! \indpg 162.
+!\uppercase\folio! \indpg 162.
+!\nopagenumberadvance! \indpg 162.
+!\pagenumber [=] <new page number>! \indpg 162.
+!\romanpagenumber [=] <new page number>! \indpg 163.
+!\vheadersize = <dimen>! \indpg 163.
+!\vfootersize = <dimen>! \indpg 163.
+!\documentstyle! \indpg 163.
+!\blankheaderstyle \blankfooterstyle! \indpg 163.
+!\documentstyle{<list of style types>}! \indpg 163.
+!\fullpagestyle! \indpg 163.
+!\noheaderstyle \nofooterstyle! \indpg 164.
+!\normalheaderstyle \normalfooterstyle! \indpg 164.
+!\normalpagestyle! \indpg 164.
+!\specialheaderstyle \specialfooterstyle! \indpg 164.
+!\specialpagestyle! \indpg 164.
+!\titlepagestyle! \indpg 164.
+!\headertext [=] {<token list>}! \indpg 164.
+!\footertext [=] {<token list>}! \indpg 164.
+!\specialheadertext [=] {<token list>}! \indpg 164.
+!\specialfootertext [=] {<token list>}! \indpg 164.
+!\vheadersize [=] <dimen>! \indpg 165.
+!\vfooterersize [=] <dimen>! \indpg 165.
+!\documentstyle! \indpg 167.
+!\documentstyle! \indpg 167.
+!\houterpagesize! \indpg 167.
+!\hpapersize! \indpg 167.
+!\leftmarginsize! \indpg 167.
+!\leftmarginskip! \indpg 167.
+!\topmarginsize! \indpg 167.
+!\topmarginskip! \indpg 167.
+!\vouterpagesize! \indpg 167.
+!\vpapersize! \indpg 167.
+!\vouterpagesize! \indpg 169.
+!\houterpagesize! \indpg 169.
+!\vpapersize! \indpg 169.
+!\hpapersize! \indpg 169.
+!\vsize! \indpg 169.
+!\hsize! \indpg 169.
+!\<dimen name> [=] <dimen>! \indpg 169.
+!\mag [=] <1000 times scale factor>! \indpg 170.
+!\magstep<integer>! \indpg 170.
+!\leftcolumnoffset! \indpg 171.
+!\vcolumnsize! \indpg 171.
+!\hcolumnsize! \indpg 171.
+!\vinnerpagesize! \indpg 171.
+!\hinnerpagesize! \indpg 171.
+!\inputsubdocument{<file name>}! \indpg 175.
+!\following\...hnum! \indpg 176.
+!\subdocumentmacros{<macros for subdocument>}! \indpg 176.
+!\beginabstract...\endabstract! \indpg 178.
+!\title{<first row>\cr ... <last row>}! \indpg 178.
+!\formatinrs! \indpg 178.
+!\inrsreportstyle! \indpg 178.
+!\move h:<..> v:<..>! \indpg 184.
+!\lvec h:<..> v:<..>! \indpg 184.
+!\clvec h1:<..> v1:<..> h2:<..> v2:<..> h3:<..> v3:<..>! \indpg 185.
+!\clv (<h1> <v1>) (<h2> <v2>) (<h3> <v3>)! \indpg 185.
+!\penwidth <size>! \indpg 185.
+!\linecap <integer>! \indpg 185.
+!\linejoin <integer>! \indpg 185.
+!\lpatt p:<pattern>! \indpg 185.
+!\avec h:<..> v:<..>! \indpg 186.
+!\cavec h1:<..> v1:<..> h2:<..> v2:<..> h3:<..> v3:<..>! \indpg 186.
+!\cav (<h1> <v1>) (<h2> <v2>) (<h3> <v3>) ! \indpg 186.
+!\arrowheadtype t:<type>! \indpg 186.
+!\arrowheadsize l:<length> w:<width>! \indpg 186.
+!\arrowheadscale! \indpg 186.
+!\unitscale <scale>! \indpg 187.
+!\htext {<text>}! \indpg 189.
+!\vtext {<text>}! \indpg 189.
+!\rtext d:<degrees> t:{<text>}! \indpg 189.
+!\rstext d:<degrees> sc:<scale> t:{<text>}! \indpg 189.
+!\textref h:<L C R> v:<T C B>! \indpg 190.
+!\lcir r:<radius>! \indpg 193.
+!\arcc r:<radius> sd:<degrees> ed:<degrees>! \indpg 193.
+!\arcn r:<radius> sd:<degrees> ed:<degrees>! \indpg 193.
+!\pfill p:<fraction>! \indpg 193.
+!\beginsegment! \indpg 197.
+!\endsegment! \indpg 197.
+!\unitscale <scale>! \indpg 197.
+!\segmentscale <scale>! \indpg 197.
+!\absoluteposition! \indpg 197.
+!\relativeposition! \indpg 197.
+!\input inrssl! \indpg 200.
+!\fullform! \indpg 200.
+!\textform! \indpg 200.
+!\formscale <scale>! \indpg 200.
+!\hslide <title> // <text> //! \indpg 201.
+!\comment <text> //! \indpg 201.
+!\inrsform! \indpg 201.
+!\genform! \indpg 201.
+!\topdata ={<text>}! \indpg 201.
+!\botdata = {<b-text>}! \indpg 201.
+!\slidedate = {<s-date>}! \indpg 201.
+!\iftextform <...> \else <...> \fi! \indpg 201.
+!\lb \lc \last! \indpg 201.
+!\hd{<text>}! \indpg 201.
+!\begintexgraph \btg! \indpg 202.
+!\endtexgraph \etg! \indpg 202.
+!\graphdim <units>! \indpg 202.
+!\hgraphsize! \indpg 202.
+!\hgraphskip! \indpg 202.
+!\hpix <number>/<unit>! \indpg 202.
+!\vgraphsize! \indpg 202.
+!\vgraphskip! \indpg 202.
+!\vpix <number>/<unit>! \indpg 202.
diff --git a/macros/inrstex/inrsdoc/masth.sor b/macros/inrstex/inrsdoc/masth.sor
new file mode 100644
index 0000000000..c856337082
--- /dev/null
+++ b/macros/inrstex/inrsdoc/masth.sor
@@ -0,0 +1,809 @@
+\2~ \indpg 99.
+\2\1: \indpg 99.
+\2+ \indpg 63.
+\2\1- \indpg 99.
+\2- \indpg 63.
+\2= \indpg 63.
+\2< \indpg 63.
+\2> \indpg 63.
+\2\1aa, \1AA \indpg 14.
+\2\1above.. \1atop.. \1over.. functions
+ {<parm1> \1atop <parm2>}
+ {<parm1> \1choose <parm2>}
+ {<parm1> \1over <parm2>}
+ {<parm1> \1atopwithdelims<left delim><right delim> <parm2>}
+ {<parm1> \1overwithdelims<left delim><right delim> <parm2>}
+ {<parm1> \1abovewithdelims<left delim><right delim>
+ <bar thickness> <parm2>} \indpg 71.
+\2\1absoluteposition \indpg 197.
+\2\1advance \1<count, dimen, glue name> by [+ -]<count, dimen, glue> \indpg 40.
+\2\1ae, \1AE \indpg 14.
+\2\1aleph \indpg 63.
+\2\1allowbreak \indpg 57.
+\2\1Alphabetic{<integer>} \indpg 138.
+\2\1alphabetic{<integer>} \indpg 138.
+\2\1alpha {\1rm A} A \indpg 62.
+\2\1amalg \indpg 63.
+\2\1aneq \1aneqtag{<tag>} \indpg 144.
+\2\1angle \indpg 63.
+\2\1Appendix \indpg 137.
+\2\1approx \indpg 63.
+\2\1arccos \indpg 68.
+\2\1arcc r:<radius> sd:<degrees> ed:<degrees> \indpg 193.
+\2\1arcn r:<radius> sd:<degrees> ed:<degrees> \indpg 193.
+\2\1arcsin \indpg 68.
+\2\1arctan \indpg 68.
+\2\1arg \indpg 68.
+\2\1arrowheadscale \indpg 186.
+\2\1arrowheadsize l:<length> w:<width> \indpg 186.
+\2\1arrowheadtype t:<type> \indpg 186.
+\2\1ast \indpg 63.
+\2\1asymp \indpg 64.
+\2\1autoeqnum \indpg 142.
+\2\1autofignum \indpg 142.
+\2\1autonumberingon \indpg 145.
+\2\1autonumberingoff \indpg 145.
+\2\1autoreferencingon \indpg 145.
+\2\1autoreferencingingoff \indpg 145.
+\2\1autotblnum \indpg 142.
+\2\1auto<type>num{<tag>} \indpg 145.
+\2\1avec h:<..> v:<..> \indpg 186.
+\2\1backslash \indpg 66.
+\2\1backslash \indpg 64.
+\2\1balancecolumnsize
+ [=] <column length> \indpg 132.
+\2\1beginabstract...\1endabstract \indpg 178.
+\2\1beginappendices \1endappendices \indpg 137.
+\2\1beginlist \1bl \indpg 114.
+\2\1beginmidinsert \indpg 127.
+\2\1beginmulticolumnformat \indpg 132.
+\2\1beginpageinsert \indpg 127.
+\2\1beginprelude \1endprelude \indpg 138.
+\2\1beginsegment \indpg 197.
+\2\1beginsublist \1bsl \indpg 114.
+\2\1beginsubsublist \1bssl \indpg 114.
+\2\1begintable ... \1endtable \indpg 100.
+\2\1begintableformat ... \1endtableformat \indpg 100.
+\2\1begintexgraph \1btg \indpg 202.
+\2\1begintopinsert \indpg 127.
+\2\1beginttverbatim \indpg 55.
+\2\1beta {\1rm B} B \indpg 62.
+\2\1bf \indpg 35.
+\2\1big\1Arrowvert \indpg 66.
+\2\1big\1arrowvert \indpg 66.
+\2\1big\1bracevert \indpg 66.
+\2\1bigbreak \indpg 57.
+\2\1bigcap \indpg 64.
+\2\1bigcirc \indpg 64.
+\2\1bigcup \indpg 64.
+\2\1bigfont \indpg 35.
+\2\1biggfont \indpg 35.
+\2\1bigggfont \indpg 35.
+\2\1biggl \indpg 67.
+\2\1Biggl \indpg 67.
+\2\1biggr \indpg 67.
+\2\1Biggr \indpg 67.
+\2\1big\1lgroup \indpg 66.
+\2\1bigl \indpg 67.
+\2\1big\1lmoustache \indpg 66.
+\2\1bigodot \indpg 64.
+\2\1bigoplus \indpg 64.
+\2\1bigotimes \indpg 64.
+\2\1big\1rgroup \indpg 66.
+\2\1bigr \indpg 67.
+\2\1Bigr \indpg 67.
+\2\1big\1rmoustache \indpg 66.
+\2\1bigskip \indpg 55.
+\2\1bigsqcup \indpg 64.
+\2\1bigtriangledown \indpg 64.
+\2\1bigtriangleup \indpg 64.
+\2\1biguplus \indpg 64.
+\2\1bigvee \indpg 64.
+\2\1bigwedge \indpg 64.
+\2\1blankheaderstyle \1blankfooterstyle \indpg 163.
+\2\1bordermatrix{<top 0>&<top 1>&<top 2>&...&<top n>\1cr
+ <side 1>&<first row>\1cr
+ ...
+ <side m>&<last row>\1cr} \indpg 73.
+\2\1botdata = {<b-text>} \indpg 201.
+\2\1bot \indpg 64.
+\2\1bowtie \indpg 64.
+\2\1box dimensions ... \1dp \1ht \1wd \indpg 83.
+\2\1boxit{<line thickness>}{<border separation>}{<box, vlist>} \indpg 82.
+\2\1boxmaxdepth [=] <dimen> \indpg 82.
+\2\1box{<named box>} \indpg 82.
+\2<box spec> \indpg 83.
+\2\1break \indpg 57.
+\2\1br{<rules..>} \1er{<rules..>} \indpg 100.
+\2\1buildrel <superscript> \1over <relation> \indpg 68.
+\2\1bullet \indpg 64.
+\2\1bye \indpg 22.
+\2\1bye \indpg 58.
+\2\1cap \indpg 64.
+\2\1captionbodyfont \indpg 36.
+\2\1captionbody{<text>} \indpg 127.
+\2\1captionbodyon \1captionbodyoff \indpg 127.
+\2\1captionbodyfont \indpg 127.
+\2\1captionbox{<number text>}{<title>} \indpg 127.
+\2\1captionnumfont \indpg 36.
+\2\1captionnumfont \indpg 128.
+\2\1captionskip [=] <dimen> \indpg 128.
+\2\1captiontextfraction \indpg 128.
+\2\1captiontitlefont \indpg 128.
+\2\1captiontitlefont \indpg 36.
+\2\1cases{<first math>&<first condition>\1cr
+ ...
+ <last math>&<last condition>\1cr} \indpg 74.
+\2\1cavec h1:<..> v1:<..> h2:<..> v2:<..> h3:<..> v3:<..> \indpg 186.
+\2\1cav (<h1> <v1>) (<h2> <v2>) (<h3> <v3>) \indpg 186.
+\2\1cdot \indpg 64.
+\2\1center \1center{<argument>} \indpg 101.
+\2\1centerline{<horizontal list>} \indpg 82.
+\2\1Chapter \indpg 138.
+\2\1chapterstartform = {<special pre chapter tests>} \indpg 138.
+\2\1cheadfont \indpg 35.
+\2\1cheadformat{<chapter>}{<text>} \indpg 140.
+\2\1chead{<number or tag>}{<title>} \indpg 137.
+\2\1chi {\1rm X} X \indpg 63.
+\2\1chtagreplaceformat \indpg 139.
+\2\1chtoc{<number>}{<title>}{<page number>} \indpg 156.
+\2\1chtocout \indpg 157.
+\2\1circ \indpg 64.
+\2\1cite{<citation tag>} \indpg 151.
+\2\1citeform{<citation tag>}{<TeX macro form>} \indpg 152.
+\2\1citenum \indpg 151.
+\2\1citetagvalue \indpg 152.
+\2\1cleartabs \indpg 96.
+\2\1closecitationtagfile \indpg 152.
+\2\1clubsuit \indpg 64.
+\2\1clvec h1:<..> v1:<..> h2:<..> v2:<..> h3:<..> v3:<..> \indpg 185.
+\2\1clv (<h1> <v1>) (<h2> <v2>) (<h3> <v3>) \indpg 185.
+\2\1comment <text> // \indpg 201.
+\2\1cong \indpg 64.
+\2\1coprod \indpg 64.
+\2\1copy{<named box>} \indpg 82.
+\2\1copyright \indpg 14.
+\2\1cosh \indpg 68.
+\2\1cos \indpg 68.
+\2\1coth \indpg 68.
+\2\1cot \indpg 68.
+\2\1<count name> [=] <integer, dimen, glue> \indpg 39.
+\2\1csc \indpg 68.
+\2\1cup \indpg 64.
+\2\1dagger \indpg 64.
+\2\1dag \indpg 14.
+\2\1dashv \indpg 64.
+\2\1ddagger \indpg 64.
+\2\1ddag \indpg 14.
+\2\1def\1<def name> <parameter form>{<replacement text>} \indpg 108.
+\2\1deg \indpg 68.
+\2\1delta \1Delta {\1mit\1Delta} \indpg 62.
+\2\1det \indpg 68.
+\2\1diamond \indpg 64.
+\2\1diamondsuit \indpg 64.
+\2\1dimen\1footins [=] <dimen> \indpg 118.
+\2\1<dimen name> [=] < dimen, glue> \indpg 39.
+\2\1<dimen name> [=] <dimen> \indpg 169.
+\2\1dim \indpg 68.
+\2\1discretionary{<pre break text>}{<post break text>}{<text>} \indpg 58.
+\2\1discretionary{<prebreak text>}{<postbreak text>}{<nobreak text>} \indpg 47.
+\2\1displaymath{<argument>} \indpg 101.
+\2\1divide \1<count, dimen, glue name> by [+ -]<integer> \indpg 40.
+\2\1div \indpg 64.
+\2\1documentstyle{<list of style types>} \indpg 163.
+\2\1documentstyle \indpg 167.
+\2\1documentstyle \indpg 163.
+\2\1documentstyle{<font family>} \indpg 36.
+\2\1documentstyle \indpg 167.
+\2\1done \indpg 58.
+\2\1done \indpg 23.
+\2\1doteq \indpg 64.
+\2\1dots ... \1cdot \1cdots \1ldots \1ddots \indpg 77.
+\2\1downarrow \indpg 64.
+\2\1Downarrow \indpg 64.
+\2\1dp<named box> [=] <dimen>
+ \1ht<named box> [=] <dimen>
+ \1wd<named box> [=] <dimen> \indpg 83.
+\2\1draftversion \indpg 23.
+\2\1dsssheadfont \indpg 36.
+\2\1dssshead{<title>} \indpg 137.
+\2\1dssshtoc{<number>}{<title>}{<page number>} \indpg 157.
+\2\1dssshtocout \indpg 157.
+\2DVIALW Command line options \indpg 24.
+\2\1ehyph \indpg 23.
+\2\1eightpoint \indpg 35.
+\2\1ejectcolumn \indpg 132.
+\2\1ejectcolumn \indpg 58.
+\2\1eject \indpg 58.
+\2\1ejectinserts \indpg 128.
+\2\1ejectpage \indpg 132.
+\2\1ejectpage \indpg 58.
+\2\1ell \indpg 64.
+\2\1emptyset \indpg 64.
+\2\1end \indpg 58.
+\2\1end \indpg 23.
+\2\1endlist \1el \indpg 114.
+\2\1endmidinsert \indpg 128.
+\2\1endmulticolumnformat \indpg 132.
+\2\1endnarrowtext \indpg 47.
+\2\1endpageinsert \indpg 128.
+\2\1endsegment \indpg 197.
+\2\1endsublist \1esl \indpg 114.
+\2\1endsubsublist \1essl \indpg 114.
+\2\1endtexgraph \1etg \indpg 202.
+\2\1endtopinsert \indpg 128.
+\2\1endttverbatim \indpg 55.
+\2\1englishversion \1ehyph \indpg 23.
+\2\1enskip \indpg 55.
+\2\1epsilon {\1rm E} E \indpg 62.
+\2\1eqalign ...
+ \1eqalign{ <left first row> &<right first row>\1cr
+ ...
+ <left last row> &<right last row>\1cr}
+ \1eqalignno{<left first row> &<right first row>&<first eq.no>\1cr
+ ...
+ <left last row> &<right last row>&<last eq.no>\1cr}
+ \1leqalignno{<left first row>&<right first row>&<first eq.no>\1cr
+ ...
+ <left last row> &<right last row>&<last eq.no>\1cr} \indpg 74.
+\2\1eqno <reference> \1leqno <reference> \indpg 76.
+\2\1equiv \indpg 64.
+\2\1eta {\1rm H} H \indpg 62.
+\2\1everyfootnote = {<token list>} \indpg 118.
+\2\1everyhbox = {<token list>} \indpg 83.
+\2\1everylist [=] {<token list>} \indpg 114.
+\2\1everyparagraph [=] {<token string>} \indpg 47.
+\2\1everysublist [=] {<token list>} \indpg 114.
+\2\1everysubsublist [=] {<token list>} \indpg 115.
+\2\1everytable \indpg 101.
+\2\1everyvbox = {<token list>} \indpg 83.
+\2\1exists \indpg 64.
+\2\1exp \indpg 68.
+\2\1fhyph \indpg 24.
+\2\1figtoc{<number>}{<title>}{<page number>} \indpg 157.
+\2\1figtocout \indpg 157.
+\2\1figureform{<tag or number>}{<title>}{<figure box>} \indpg 128.
+\2\1figureinsert{<tag or number>}{<title>}{<figure box>} \indpg 129.
+\2\1figurelabel \indpg 129.
+\2\1filbreak \indpg 58.
+\2\1finalversion \indpg 23.
+\2\1firstcolumnoffset
+ [=] <dimen> \indpg 133.
+\2\1fivebf \indpg 34.
+\2\1fivei \indpg 34.
+\2\1fiverm \indpg 34.
+\2\1flat \indpg 64.
+\2\1folio \indpg 162.
+\2\1following\1...hnum \indpg 176.
+\2\1font\1<fontname> [scaled <number>] \indpg 34.
+\2\1footerfont \indpg 36.
+\2\1footertext [=] {<token list>} \indpg 164.
+\2\1footnotefont \indpg 36.
+\2\1footnotefont \indpg 118.
+\2\1footnote{<math mode mark>}{<text>} \indpg 118.
+\2\1footnoterule \indpg 118.
+\2\1forall \indpg 64.
+\2\1formatinrs \indpg 178.
+\2\1formscale <scale> \indpg 200.
+\2\1frown \indpg 64.
+\2\1fullform \indpg 200.
+\2\1fullpagestyle \indpg 163.
+\2\1fulltablerule{<dimen>} \indpg 101.
+\2\1gamma \1Gamma {\1mit\1Gamma} \indpg 62.
+\2\1gcd \indpg 68.
+\2\1gdef\1<def name> <parameter form>{<replacement text>} \indpg 109.
+\2\1ge \indpg 64.
+\2\1genform \indpg 201.
+\2\1gensheadformat{<font>}{<number>}{<text>}{<separator>} \indpg 140.
+\2\1geq \indpg 64.
+\2\1gg \indpg 64.
+\2\1global \indpg 109.
+\2\1goodbreak \indpg 58.
+\2\1graphdim <units> \indpg 202.
+\2\1halign{<preamble>\1cr <first row>\1cr ... <last row>\1cr} \indpg 96.
+\2\1hangafter [+ -] <integer> \indpg 48.
+\2\1hangindent [=] [+ -] <dimen> \indpg 48.
+\2\1hbar \indpg 64.
+\2\1hbox <box spec>{<horizontal list>} \indpg 83.
+\2\1hcolumnsize \indpg 171.
+\2\1hd{<text>} \indpg 201.
+\2\1headerfont \indpg 36.
+\2\1headertext [=] {<token list>} \indpg 164.
+\2\1<head type>headfont \indpg 138.
+\2\1heartsuit \indpg 64.
+\2\1hfil \1hfill \indpg 42.
+\2\1hfilneg \indpg 42.
+\2\1hfuzz [=] <dimen> \indpg 31.
+\2\1hgraphsize \indpg 202.
+\2\1hgraphskip \indpg 202.
+\2\1hidewidth \indpg 97.
+\2\1hinnerpagesize \indpg 171.
+\2\1hom \indpg 68.
+\2\1hookleftarrow \indpg 64.
+\2\1hookrightarrow \indpg 64.
+\2\1houterpagesize \indpg 169.
+\2\1houterpagesize \indpg 167.
+\2\1hpapersize \indpg 167.
+\2\1hpapersize \indpg 169.
+\2\1hpix <number>/<unit> \indpg 202.
+\2\1hprintoffset = <dimen> \indpg 21.
+\2\1hrule [height <dimen>] [width <dimen>] [depth <dimen>] \indpg 84.
+\2\1hsize \indpg 169.
+\2\1hskip [+ -] <dimen> [plus <dimen>] [minus <dimen>] \indpg 56.
+\2\1hslide <title> // <text> // \indpg 201.
+\2\1hss \indpg 42.
+\2\1htext {<text>} \indpg 189.
+\2\1hyphenatecapitals [=] <integer> \indpg 48.
+\2\1hyphenation{<exceptions>} \indpg 23.
+\2\1ialign{<preamble>\1cr <first row>\1cr ... <last row>\1cr} \indpg 97.
+\2\1iftextform <...> \1else <...> \1fi \indpg 201.
+\2\1i \indpg 14.
+\2\1imath \indpg 64.
+\2\1Im \indpg 64.
+\2\1indent \indpg 48.
+\2\1inf \indpg 68.
+\2\1infty \indpg 64.
+\2\1in \indpg 64.
+\2\1initcitetag{<integer>} \indpg 152.
+\2\1inputciteformfiles
+ [=] { \1inputwithcheck{<first form file>}
+ ...
+ \1inputwithcheck{<last form file>} } \indpg 152.
+\2\1inputcitetagfiles
+ [=] { \1inputwithcheck{<first tag file>}
+ ...
+ \1inputwithcheck{<last tag file>} } \indpg 153.
+\2\1inputfigfiles \indpg 157.
+\2\1input inrssl \indpg 200.
+\2\1inputsubdocument{<file name>} \indpg 175.
+\2\1inputtagfiles [=] {<input command><file name> ...} \indpg 145.
+\2\1inputtblfiles \indpg 157.
+\2\1inputtocfiles \indpg 158.
+\2\1inrsform \indpg 201.
+\2\1inrsreportstyle \indpg 178.
+\2\1intdssshtoc \indpg 157.
+\2\1intercolumnsep
+ [=] {<token list>} \indpg 133.
+\2\1int \indpg 64.
+\2\1intssshtoc \indpg 159.
+\2\1iota {\1rm I} I \indpg 63.
+\2\1item \indpg 115.
+\2\1itemitem \indpg 115.
+\2\1it \indpg 35.
+\2{\1it\1$} \indpg 14.
+\2{\1it\1&} \indpg 14.
+\2\1j \indpg 14.
+\2\1jmath \indpg 64.
+\2\1jobname \indpg 20.
+\2\1kappa {\1rm K} K \indpg 63.
+\2\1ker \indpg 68.
+\2\1kern [+ -] <dimen> \indpg 56.
+\2\1lambda \1Lambda {\1mit\1Lambda} \indpg 63.
+\2\1land \indpg 65.
+\2\1langle \indpg 66.
+\2\1language [=] <integer> \indpg 23.
+\2\1lastcitetag{<integer>} \indpg 153.
+\2\1lb \1lc \1last \indpg 201.
+\2\1lbrace \indpg 66.
+\2\1lbrack \indpg 66.
+\2\1lceil \indpg 66.
+\2\1lcir r:<radius> \indpg 193.
+\2\1Leftarrow \indpg 64.
+\2\1leftarrow \indpg 64.
+\2\1leftcolumnoffset \indpg 171.
+\2$\1left<delimiter> ...\1right<delimiter>$ \indpg 67.
+\2\1leftequationnumbering \1rightequationnumbering \indpg 76.
+\2\1leftharpoondown \indpg 64.
+\2\1leftharpoonup \indpg 64.
+\2\1left \indpg 101.
+\2\1leftline{<horizontal list>} \indpg 82.
+\2\1leftmarginsize \indpg 167.
+\2\1leftmarginskip \indpg 167.
+\2\1leftrightarrow \indpg 64.
+\2\1Leftrightarrow \indpg 64.
+\2\1leftskip [=] <dimen> [plus <dimen>] [minus <dimen>] \indpg 48.
+\2\1le \indpg 64.
+\2\1leq \indpg 64.
+\2\1let\1<def a> [=] \1<def b> \indpg 109.
+\2\1lfloor \indpg 66.
+\2\1lg \indpg 68.
+\2\1lim \indpg 68.
+\2\1liminf \indpg 68.
+\2\1limsup \indpg 68.
+\2\1linebreak \indpg 58.
+\2\1linecap <integer> \indpg 185.
+\2\1line{<horizontal list>} \indpg 82.
+\2\1linejoin <integer> \indpg 185.
+\2\1listindent [=] <dimen> \indpg 116.
+\2\1listitem <listitem mark> \indpg 115.
+\2\1listitemmarksize [=] <dimen> \indpg 116.
+\2\1listitemskip [=] <glue> \indpg 116.
+\2\1llap{<text>} \indpg 84.
+\2\1ll \indpg 64.
+\2\1l, \1L \indpg 14.
+\2\1ln \indpg 68.
+\2\1lnot \indpg 65.
+\2\1log \indpg 68.
+\2\1long \indpg 109.
+\2\1Longleftarrow \indpg 64.
+\2\1longleftarrow \indpg 64.
+\2\1longleftrightarrow \indpg 64.
+\2\1Longleftrightarrow \indpg 64.
+\2\1longmapsto \indpg 64.
+\2\1Longrightarrow \indpg 64.
+\2\1longrightarrow \indpg 64.
+\2\1looseness [=] [+ -] <integer> \indpg 49.
+\2\1loosenlist \indpg 115.
+\2\1lor \indpg 65.
+\2\1lower<dimen><box> \indpg 84.
+\2\1lpatt p:<pattern> \indpg 185.
+\2\1lvec h:<..> v:<..> \indpg 184.
+\2\1magstep<integer> \indpg 170.
+\2\1mag [=] <1000 times scale factor> \indpg 170.
+\2\1makecitationlist \indpg 153.
+\2\1makefiglist \indpg 158.
+\2\1makelongcitationlist \indpg 153.
+\2\1maketbllist \indpg 158.
+\2\1maketoclist \indpg 158.
+\2\1mapsto \indpg 64.
+\2\1marginnotestrue \indpg 24.
+\2\1marginnotesfalse \indpg 24.
+\2\1math{<argument>} \indpg 102.
+\2\1mathopen{<dimen or glue>} \indpg 77.
+\2\1matrix{<entry 11>&<entry 12>&...&<entry 1n>\1cr
+ <second row>\1cr
+ ...
+ <last row> \1cr}
+ \1pmatrix{<several rows>\1cr} \indpg 78.
+\2\1max \indpg 68.
+\2\1medbreak \indpg 58.
+\2\1medmuskip \indpg 42.
+\2\1medskip \indpg 56.
+\2\1mid \indpg 64.
+\2\1midtabglue [=] <glue> \indpg 102.
+\2\1min \indpg 68.
+\2\1mkern [+ -] <decimal number>mu \indpg 56.
+\2\1models \indpg 64.
+\2\1modifystrut{<original>}{<add to height>}{<add to depth>}
+\1mst = \1modifystrut \indpg 102.
+\2\1move h:<..> v:<..> \indpg 184.
+\2\1mp \indpg 64.
+\2\1mskip [+ -] <mudimen> [plus <mudimen>] [minus <mudimen>] \indpg 56.
+\2\1multiply \1<count, dimen, glue name> by [+ -]<integer> \indpg 40.
+\2\1multispan {<integer>} \indpg 97.
+\2\1mu {\1rm M} M \indpg 63.
+\2\1nabla \indpg 64.
+\2\1natural \indpg 64.
+\2\1nearrow \indpg 65.
+\2\1neg \indpg 65.
+\2\1newautonum{<type>} \indpg 146.
+\2\1newcount\1<count name> \indpg 38.
+\2\1newdimen\1<dimen name> \indpg 38.
+\2\1newmuskip\1<muskip name> \indpg 42.
+\2\1newptag{<tag>} \indpg 146.
+\2\1newskip\1<skip name> \indpg 42.
+\2\1newskip\1<skip or glue name> \indpg 39.
+\2\1newtag{<tag>}{<tag value>} \indpg 146.
+\2\1newtocfile \indpg 158.
+\2\1newttag{<tag>}{<tag value>} \indpg 146.
+\2\1ni \indpg 65.
+\2\1ninepoint \indpg 35.
+\2\1noalign {<text>} \indpg 98.
+\2\1noalign {<text>} \indpg 76.
+\2\1nobreak \indpg 58.
+\2\1noheaderstyle \1nofooterstyle \indpg 164.
+\2\1noindent \indpg 49.
+\2\1nopagenumberadvance \indpg 162.
+\2\1normalheaderstyle \1normalfooterstyle \indpg 164.
+\2\1normalpagestyle \indpg 164.
+\2\1not\1approx \indpg 63.
+\2\1not\1cong \indpg 64.
+\2\1not\1equiv \indpg 64.
+\2\1not\1geq \indpg 64.
+\2\1not\1gg \indpg 64.
+\2\1not= \indpg 63.
+\2\1not< \indpg 63.
+\2\1not> \indpg 63.
+\2\1not\1in \indpg 64.
+\2\1not\1leq \indpg 64.
+\2\1not\1ll \indpg 64.
+\2\1not\1preceq \indpg 65.
+\2\1not\1prec \indpg 65.
+\2\1not\1simeq \indpg 65.
+\2\1not\1sim \indpg 65.
+\2\1not\1sqsubseteq \indpg 65.
+\2\1not\1sqsupseteq \indpg 65.
+\2\1not\1subseteq \indpg 65.
+\2\1not\1subset \indpg 65.
+\2\1not\1succeq \indpg 65.
+\2\1not\1succ \indpg 65.
+\2\1not\1supseteq \indpg 65.
+\2\1not\1supset \indpg 65.
+\2\1numberbychapter \indpg 146.
+\2\1numberbysection \indpg 146.
+\2\1numberofcolumns
+ [=] <integer> \indpg 133.
+\2\1nu {\1rm N} N \indpg 63.
+\2\1nwarrow \indpg 65.
+\2\1oalign{<first row>\1cr ... &<last row>\1cr} \indpg 98.
+\2\1obeylines \indpg 49.
+\2\1obeyspaces \indpg 49.
+\2\1odot \indpg 65.
+\2\1oe, \1OE \indpg 14.
+\2\1oint \indpg 65.
+\2\1omega \1Omega {\1mit\1Omega} \indpg 63.
+\2\1ominus \indpg 65.
+\2\1omit \indpg 98.
+\2\1o, \1O \indpg 14.
+\2\1openlistfile{<file extension>} \indpg 156.
+\2\1openup <dimen> \indpg 77.
+\2\1oplus \indpg 65.
+\2\1oslash \indpg 65.
+\2\1otimes \indpg 65.
+\2\1outer \indpg 109.
+\2\1overfullrule [=] <dimen> \indpg 31.
+\2\1over ... \1under ...
+ \1overline{<math>} \1underline{<math>}
+ \1overbrace{<math>} \1underbrace{<math>} \indpg 77.
+\2\1owns \indpg 65.
+\2\1pagenumber [=] <new page number> \indpg 162.
+\2\1pagequietref{<tag>} \1pqref{<tag>} \indpg 146.
+\2\1pageref{<tag>} \1pref{<tag>} \indpg 147.
+\2\1pagetagsoff \indpg 142.
+\2\1pagetagson \indpg 142.
+\2\1pagetagson \1pagetagsoff \indpg 147.
+\2\1paragraphcenterline \indpg 50.
+\2\1parallel \indpg 65.
+\2\1parindent [=] <dimen> \indpg 50.
+\2\1par \indpg 50.
+\2\1parshape <number of lines> <indent 1> <line length 1>
+ ... <indent n> <line length n> \indpg 50.
+\2\1parskip [=] <dimen> \indpg 51.
+\2\1partial \indpg 65.
+\2\1penaltybreak{<penalty>}{<skip size>} \indpg 59.
+\2\1penwidth <size> \indpg 185.
+\2\1perp \indpg 65.
+\2\1pfill p:<fraction> \indpg 193.
+\2\1phantom{<math>} \1vphantom{<math>} \1sphantom{<hlist>} \indpg 78.
+\2\1phi \1Phi {\1mit\1Phi} \indpg 63.
+\2\1P \indpg 14.
+\2\1pi \1Pi {\1mit\1Pi} \indpg 63.
+\2\1pm \indpg 65.
+\2\1podsssheadskip [=] <glue> \indpg 139.
+\2\1polistskip [=] <glue> \indpg 116.
+\2\1posheadskip [=] <glue> \indpg 139.
+\2\1possheadskip [=] <glue> \indpg 139.
+\2\1posssheadskip [=] <glue> \indpg 139.
+\2\1posublistskip [=] <glue> \indpg 116.
+\2\1posubsublistskip [=] <glue> \indpg 116.
+\2\1prdsssheadskip [=] <glue> \indpg 139.
+\2\1preceq \indpg 65.
+\2\1prec \indpg 65.
+\2\1preludehead{<title>} \indpg 137.
+\2\1preludeheadformat \indpg 139.
+\2\1preludheadformat{<title>} \indpg 140.
+\2\1pretolerance [=] <integer> \indpg 51.
+\2\1prime \indpg 65.
+\2\1Pr \indpg 68.
+\2\1prlistskip [=] <glue> \indpg 116.
+\2\1prod \indpg 65.
+\2\1propto \indpg 65.
+\2\1prsheadskip [=] <glue> \indpg 139.
+\2\1prssheadskip [=] <glue> \indpg 139.
+\2\1prsssheadskip [=] <glue> \indpg 139.
+\2\1prsublistskip [=] <glue> \indpg 116.
+\2\1prsubsublistskip [=] <glue> \indpg 116.
+\2\1prtocout \indpg 158.
+\2\1prtoc{<title>}{<page number>} \indpg 158.
+\2\1psi \1Psi {\1mit\1Psi} \indpg 63.
+\2\1quad \1qquad \indpg 56.
+\2\1quietref{<tag>} \1qref{<tag>} \indpg 147.
+\2\1raggedbottom \indpg 32.
+\2\1raggedright \indpg 51.
+\2\1raise<dimen><box> \indpg 84.
+\2\1rangle \indpg 66.
+\2\1rbrace \indpg 66.
+\2\1rbrack \indpg 66.
+\2\1rceil \indpg 66.
+\2\1rect <horizontal dimen> by <vertical dimen> \indpg 129.
+\2\1ref{<tag>} \indpg 147.
+\2\1Re \indpg 65.
+\2\1relativeposition \indpg 197.
+\2\1rfloor \indpg 66.
+\2\1rho {\1rm R} R \indpg 63.
+\2\1Rightarrow \indpg 65.
+\2\1rightarrow \indpg 65.
+\2\1rightharpoondown \indpg 65.
+\2\1rightharpoonup \indpg 65.
+\2\1right \indpg 102.
+\2\1rightleftharpoons \indpg 65.
+\2\1rightline{<horizontal list>} \indpg 82.
+\2\1rightskip [=] <dimen> [plus <dimen>] [minus <dimen>] \indpg 48.
+\2\1rlap{<text>} \indpg 84.
+\2\1rm \indpg 35.
+\2\1romanpagenumber [=] <new page number> \indpg 163.
+\2\1rstext d:<degrees> sc:<scale> t:{<text>} \indpg 189.
+\2\1rtext d:<degrees> t:{<text>} \indpg 189.
+\2\1samplemark{<listitem mark>} \indpg 115.
+\2\1sa{<text>} \indpg 102.
+\2<scale factor>\1dp<named box>
+ <scale factor>\1ht<named box>
+ <scale factor>\1wd<named box> \indpg 83.
+\2\1searrow \indpg 65.
+\2\1sec \indpg 68.
+\2\1segmentscale <scale> \indpg 197.
+\2\1setbox<named box> [=] <box>{<list>} \indpg 85.
+\2\1setminus \indpg 65.
+\2\1sfootnote{<math mode mark>}{<text>} \indpg 119.
+\2\1sharp \indpg 65.
+\2\1sheadfont \indpg 36.
+\2\1shead{<number or tag>}{<title>} \indpg 137.
+\2\1shtagreplaceformat \indpg 139.
+\2\1shtoc{<number>}{<title>}{<page number>} \indpg 159.
+\2\1shtocout \indpg 159.
+\2\1sigma \1Sigma {\1mit\1Sigma} \indpg 63.
+\2\1silent{<text>} \indpg 147.
+\2{\1silenttrue \1auto...num{<tag>}} \indpg 143.
+\2\1silenttrue \indpg 73.
+\2\1simeq \indpg 65.
+\2\1sim \indpg 65.
+\2\1S \indpg 14.
+\2\1sinh \indpg 68.
+\2\1sin \indpg 68.
+\2\1skip\1footins [=] <dimen> \indpg 118.
+\2\1<skip or glue name> [=] <dimen>
+ [plus <dimen>] [minus<dimen>] \indpg 39.
+\2\1slidedate = {<s-date>} \indpg 201.
+\2\1smallbreak \indpg 59.
+\2\1smallerfont \indpg 36.
+\2\1smallskip \indpg 56.
+\2\1smash{<math>} \indpg 78.
+\2\1smile \indpg 65.
+\2\1spacing {<decimal number>} \indpg 56.
+\2\1spadesuit \indpg 65.
+\2\1span \indpg 98.
+\2\1specialfootertext [=] {<token list>} \indpg 164.
+\2\1specialheadertext [=] {<token list>} \indpg 164.
+\2\1specialheaderstyle \1specialfooterstyle \indpg 164.
+\2\1specialnumberscontinuous \indpg 147.
+\2\1specialpagestyle \indpg 164.
+\2\1splitmaxdepth \indpg 85.
+\2\1sprule \indpg 102.
+\2\1sqcap \indpg 65.
+\2\1sqcup \indpg 65.
+\2\1sqrt{<math>} \indpg 78.
+\2\1sqsubseteq \indpg 65.
+\2\1sqsupseteq \indpg 65.
+\2\1ssheadfont \indpg 36.
+\2\1sshead{<number or tag>}{<title>} \indpg 137.
+\2\1sshtoc{<number>}{<title>}{<page number>} \indpg 159.
+\2\1sshtocout \indpg 159.
+\2\1ss \indpg 14.
+\2\1sssheadfont \indpg 36.
+\2\1ssshead{<number or tag>}{<title>} \indpg 137.
+\2\1ssshtoc{<number>}{<title>}{<page number>} \indpg 159.
+\2\1ssshtocout \indpg 159.
+\2\1star \indpg 65.
+\2\1strut \indpg 85.
+\2\1subdocumentmacros{<macros for subdocument>} \indpg 176.
+\2\1sublistindent [=] <dimen> \indpg 116.
+\2\1sublistitemskip [=] <glue> \indpg 116.
+\2\1subseteq \indpg 65.
+\2\1subset \indpg 65.
+\2\1subsublistitemskip [=] <glue> \indpg 116.
+\2\1subsublistindent [=] <dimen> \indpg 116.
+\2\1succeq \indpg 65.
+\2\1succ \indpg 65.
+\2\1sum \indpg 65.
+\2\1sup \indpg 68.
+\2\1supseteq \indpg 65.
+\2\1supset \indpg 65.
+\2\1surd \indpg 65.
+\2\1swarrow \indpg 65.
+\2\1tabalign ... \1cr \indpg 96.
+\2\1tableform{<tag or number>}{<title>}{<table>} \indpg 129.
+\2\1tableinsert{<tag or number>}{<title>}{<figure box>} \indpg 129.
+\2\1tablelabel \indpg 130.
+\2\1tablespread = {<halign specification>} \indpg 103.
+\2\1tanh \indpg 68.
+\2\1tan \indpg 68.
+\2\1tau {\1rm T} T \indpg 63.
+\2\1tbltoc<number>}{<title>}{<page number>} \indpg 159.
+\2\1tbltocout \indpg 159.
+\2\1tcs \indpg 103.
+\2\1tenpoint \indpg 35.
+\2\1textform \indpg 200.
+\2\1textref h:<L C R> v:<T C B> \indpg 190.
+\2\1+<text>&<text> ... &<text>\1cr \indpg 96.
+\2\1theta \1Theta {\1mit\1Theta} \indpg 62.
+\2\1thickmuskip \indpg 43.
+\2\1thinmuskip \indpg 43.
+\2\1thrule{<height>} \indpg 103.
+\2\1tightenlist \indpg 116.
+\2\1times \indpg 65.
+\2\1title{<first row>\1cr ... <last row>} \indpg 178.
+\2\1titlepagestyle \indpg 164.
+\2\1tocbox{<indent>}{<number>}{<title>}{<pagenumber>} \indpg 159.
+\2\1tocfill \indpg 160.
+\2\1tolerance [=] <integer> \indpg 51.
+\2\1topdata ={<text>} \indpg 201.
+\2\1top \indpg 65.
+\2\1topmarginsize \indpg 167.
+\2\1topmarginskip \indpg 167.
+\2\1triangle \indpg 65.
+\2\1triangleleft \indpg 65.
+\2\1triangleright \indpg 65.
+\2\1tr \indpg 103.
+\2\1tt \indpg 35.
+\2\1ttraggedright \indpg 51.
+\2\1tvrule{<width>} \indpg 104.
+\2\1twelvepoint \indpg 35.
+\2\1<type>numform \indpg 142.
+\2\1<type>num \indpg 142.
+\2\1<type>tagrefformat \indpg 142.
+\2\1<type>tagreplaceformat \indpg 142.
+\2\1unhbox{<named hbox>} \indpg 85.
+\2\1unhcopy{<named hbox>} \indpg 85.
+\2\1unitscale <scale> \indpg 187.
+\2\1unitscale <scale> \indpg 197.
+\2<units of measure>
+ cm em ex in
+ mu pt sp \indpg 37.
+\2\1unvbox{<named vbox>} \indpg 85.
+\2\1unvcopy{<named vbox>} \indpg 85.
+\2\1Uparrow \indpg 65.
+\2\1uparrow \indpg 65.
+\2\1updownarrow \indpg 65.
+\2\1Updownarrow \indpg 65.
+\2\1uplus \indpg 65.
+\2\1up{<math mode mark>} \indpg 118.
+\2\1uppercase\1folio \indpg 162.
+\2\1UpperRoman{<integer>} \indpg 138.
+\2\1upsilon \1Upsilon {\1mit\1Upsilon} \indpg 63.
+\2\1use{<number of data columns>} \indpg 104.
+\2\1valign{<preamble>\1cr <first column>\1cr ... <last column>\1cr} \indpg 98.
+\2\1varepsilon \indpg 62.
+\2\1varphi \indpg 63.
+\2\1varpi \indpg 63.
+\2\1vartheta \indpg 63.
+\2\1vbox <box spec>{<vertical list>} \indpg 83.
+\2\1vbox{\1hsize [=] <dimen> <text>} \indpg 84.
+\2\1vcenter{<vertical list>} \indpg 85.
+\2\1vcolumnsize \indpg 171.
+\2\1vdash \indpg 65.
+\2\1vee \indpg 65.
+\2\1versionfrancaise \1fhyph \indpg 24.
+\2\1Vert \indpg 65.
+\2\1vert \indpg 65.
+\2\1veryraggedright \indpg 51.
+\2\1vfilneg \indpg 43.
+\2\1vfil \1vfill \indpg 43.
+\2\1vfooterersize [=] <dimen> \indpg 165.
+\2\1vfootersize = <dimen> \indpg 163.
+\2\1vfuzz [=] <dimen> \indpg 32.
+\2\1vglue [=] [+ -] <dimen> [plus <dimen>] [minus <dimen>] \indpg 56.
+\2\1vgraphsize \indpg 202.
+\2\1vgraphskip \indpg 202.
+\2\1vheadersize [=] <dimen> \indpg 165.
+\2\1vheadersize = <dimen> \indpg 163.
+\2\1vinnerpagesize \indpg 171.
+\2\1vouterpagesize \indpg 167.
+\2\1vouterpagesize \indpg 169.
+\2\1vpapersize \indpg 169.
+\2\1vpapersize \indpg 167.
+\2\1vpix <number>/<unit> \indpg 202.
+\2\1vprintoffset = <dimen> \indpg 22.
+\2\1vrule [height <dimen>] [width <dimen>] [depth <dimen>] \indpg 84.
+\2\1vsize \indpg 169.
+\2\1vskip [=] [+ -] <dimen> [plus <dimen>] [minus <dimen>] \indpg 56.
+\2\1vsplit<named box> to <dimen> \indpg 85.
+\2\1vss \indpg 43.
+\2\1vtext {<text>} \indpg 189.
+\2\1wedge \indpg 65.
+\2\1wp \indpg 65.
+\2\1wr \indpg 65.
+\2\1writelistfile{<file extension}{\1string\1..toc}{<number>}{<arg>} \indpg 160.
+\2\1xi \1Xi {\1mit\1Xi} \indpg 63.
+\2\1zerocenteredbox{<text>}
+ \1zb = \1zerocenteredbox \indpg 104.
+\2\1zeta {\1rm Z} Z \indpg 62. \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/masth.sta b/macros/inrstex/inrsdoc/masth.sta
new file mode 100644
index 0000000000..ad16d476fd
--- /dev/null
+++ b/macros/inrstex/inrsdoc/masth.sta
@@ -0,0 +1,32 @@
+\chstatus//preface//0//3//
+\chstatus//Intro//0//-4//
+\chstatus//descom//1//7//
+\chstatus//cont//2//10//
+\chstatus//start//3//17//
+\chstatus//bas//4//25//
+\chstatus//over//5//30//
+\chstatus//fonts//6//33//
+\chstatus//dimnum//7//37//
+\chstatus//glue//8//41//
+\chstatus//parcont//9//44//
+\chstatus//spac//10//52//
+\chstatus//break//11//57//
+\chstatus//matsym//12//60//
+\chstatus//mateq//13//69//
+\chstatus//basbox//14//79//
+\chstatus//align//15//87//
+\chstatus//defs//16//106//
+\chstatus//lists//17//111//
+\chstatus//footnot//18//117//
+\chstatus//figtbl//19//120//
+\chstatus//mulcol//20//131//
+\chstatus//shead//21//134//
+\chstatus//auto//22//141//
+\chstatus//cite//23//148//
+\chstatus//toc//24//154//
+\chstatus//pagsty//25//161//
+\chstatus//pagsiz//26//166//
+\chstatus//subdoc//27//172//
+\chstatus//docsty//28//177//
+\chstatus//graph//29//179//
+\chstatus//index//30//203//
diff --git a/macros/inrstex/inrsdoc/masth.tex b/macros/inrstex/inrsdoc/masth.tex
new file mode 100644
index 0000000000..43da2a348f
--- /dev/null
+++ b/macros/inrstex/inrsdoc/masth.tex
@@ -0,0 +1,54 @@
+%-*-tex-*-
+%texhelp upper level master
+\tracingstats=1
+\inputsubdocument{thcover} %coverpage
+\input helphdr %POSTSCRIPT
+\input status
+\openstatusfile
+%\finalversion
+\hfuzz=5pt
+\autonumberingon
+\indexingon
+\openlistfile{fig}
+\openlistfile{toc}
+\opencitationtagfile
+\marginnotesfalse
+\inputsubdocument{thp2} % preface, toc, intro, descriptive conv **
+\inputsubdocument{thcont} % control characters 3 **
+\marginnotestrue
+\inputsubdocument{thstart} % starting stopping 4**
+\marginnotesfalse
+\inputsubdocument{thbas} % basic ideas 5**
+\inputsubdocument{thover} % overfull boxes **
+\inputsubdocument{thfonts} % fonts 6**
+\inputsubdocument{thdimnum} % dimensions, numbers 7**
+\inputsubdocument{thglue} % glue 8**
+\inputsubdocument{thparcon} % paragraph control 8+
+\inputsubdocument{thspac} % spacing and skipping 9**
+\inputsubdocument{thbreak} % various breaks 10 **
+\inputsubdocument{thmatsym} % mathematics symbols12**
+\inputsubdocument{thmateq} % mathematic equation setup13**
+\inputsubdocument{thbasbox} % basic box commands14 **
+\inputsubdocument{thalign} % basic align 15 **
+\inputsubdocument{thdefs} % simple definitions 16 **
+\inputsubdocument{thlists} % list commands17**
+\inputsubdocument{thftnote} % footnotes ... **
+\inputsubdocument{thfigtbl} % figure table boxes 20 **
+\inputsubdocument{thmulcol} % multicolumn format 21 **
+\inputsubdocument{thshead} % section heads 18 **
+\marginnotestrue
+\inputsubdocument{thauto} % autonumbering 19 **
+\marginnotesfalse
+\inputsubdocument{thcite} % citation lists **
+\inputsubdocument{thtoc} % toc, tof, .... **
+\inputsubdocument{thpagsty} % page, header, footer styles23 **
+\inputsubdocument{thpagsiz} % page sizes and magnification 22 **
+\inputsubdocument{thsubdoc} % texing parts of doc 24 **
+\inputsubdocument{thdocsty} % Document styles
+\inputsubdocument{thgraph} % TeXGraph
+\inputsubdocument{thindex} % Command index ... Appendix A
+\closecitationtagfile
+\closelistfile{toc}
+\indexingoff
+\done
+
diff --git a/macros/inrstex/inrsdoc/masth_chap b/macros/inrstex/inrsdoc/masth_chap
new file mode 100644
index 0000000000..9d686c8dd1
--- /dev/null
+++ b/macros/inrstex/inrsdoc/masth_chap
@@ -0,0 +1,32 @@
+tex thcover
+tex thp2
+tex thcont
+tex thstart
+tex thbas
+tex thover
+tex thfonts
+tex thdimnum
+tex thglue
+tex thparcon
+tex thspac
+tex thbreak
+tex thmatsym
+tex thmateq
+tex thbasbox
+tex thalign
+tex thdefs
+tex thlists
+tex thftnote
+tex thfigtbl
+tex thmulcol
+tex thshead
+tex thauto
+tex thcite
+tex thtoc
+tex thpagsty
+tex thpagsiz
+tex thsubdoc
+tex thdocsty
+tex thgraph
+tex thindex
+
diff --git a/macros/inrstex/inrsdoc/mastoc.tex b/macros/inrstex/inrsdoc/mastoc.tex
new file mode 100644
index 0000000000..e7e0738b94
--- /dev/null
+++ b/macros/inrstex/inrsdoc/mastoc.tex
@@ -0,0 +1,19 @@
+%-*-tex-*-
+\subdocumentmacros{
+ \input helphdr
+}
+\tenpoint
+\romanpagenumber = 2
+\inputtocfiles = {\inputwithcheck{masth.toc}}
+\righttocindent = 5em
+\beginprelude
+\begingroup
+\def\ftn{}%footnote problem
+\def\cr{ }%\cr print problem
+\let\twelvett=\tentt % ugh!
+\preludehead{Table of Contents}
+\maketoclist
+\endgroup
+\ejectpage
+\endprelude
+\done
diff --git a/macros/inrstex/inrsdoc/mastps b/macros/inrstex/inrsdoc/mastps
new file mode 100644
index 0000000000..aa660fdc61
--- /dev/null
+++ b/macros/inrstex/inrsdoc/mastps
@@ -0,0 +1,31 @@
+dvips thcover
+dvips thp2
+dvips thcont
+dvips thstart
+dvips thbas
+dvips thover
+dvips thfonts
+dvips thdimnum
+dvips thglue
+dvips thparcon
+dvips thspac
+dvips thbreak
+dvips thmatsym
+dvips thmateq
+dvips thbasbox
+dvips thalign
+dvips thdefs
+dvips thlists
+dvips thftnote
+dvips thfigtbl
+dvips thmulcol
+dvips thshead
+dvips thauto
+dvips thcite
+dvips thtoc
+dvips thpagsty
+dvips thpagsiz
+dvips thsubdoc
+dvips thdocsty
+dvips thgraph
+dvips thindex
diff --git a/macros/inrstex/inrsdoc/mjf.tex b/macros/inrstex/inrsdoc/mjf.tex
new file mode 100644
index 0000000000..2d7cd9f578
--- /dev/null
+++ b/macros/inrstex/inrsdoc/mjf.tex
@@ -0,0 +1,11 @@
+%-*-tex-*-
+
+\def\mjf { \par
+ {\it
+ \vskip .25in
+ \centerline {Michael J. Ferguson}
+ \vskip .15 in
+ \centerline {INRS-T\'el\'ecommunications}
+ \vskip .15in
+ \centerline {Montr\'eal}
+ \vskip 1 in }\par } % Author header for Michael J. Ferguson
diff --git a/macros/inrstex/inrsdoc/pagdiag.tex b/macros/inrstex/inrsdoc/pagdiag.tex
new file mode 100644
index 0000000000..f1aa440c5f
--- /dev/null
+++ b/macros/inrstex/inrsdoc/pagdiag.tex
@@ -0,0 +1,120 @@
+%-*-tex-*-
+% diagram of a page
+\def\gbox h:#1 v:#2 pw:#3 {\beginsegment
+ \penwidth {#3}
+ \lvec h:{#1} v:0
+ \lvec h:{#1} v:{#2}
+ \lvec h:0 v:{#2}
+ \lvec h:0 v:0
+ \endsegment }
+
+\def\vlabel l:#1 t:#2 fr:#3 {\beginsegment
+ \realmult{#1}{#3}{\hvh}
+ \move h:0 v:{\hvh}
+ \textref h:C v:C \htext{$\bullet$}
+ \lvec h:.1 v:{\hvh} \textref h:L v:C
+ \htext{#2}
+ \move h:0 v:{\hvh}
+ \avec h:0 v:0
+ \move h:0 v:{\hvh}
+ \avec h:0 v:{#1}
+ \endsegment}
+
+\def\vllabel l:#1 t:#2 fr:#3 {\beginsegment
+ \realmult{#1}{#3}{\hvh}
+ \move h:0 v:{\hvh}
+ \textref h:C v:C \htext{$\bullet$}
+ \lvec h:-.1 v:{\hvh} \textref h:R v:C
+ \htext{ #2}
+ \move h:0 v:{\hvh}
+ \avec h:0 v:0
+ \move h:0 v:{\hvh}
+ \avec h:0 v:{#1}
+ \endsegment}
+
+
+\def\hlabel l:#1 t:#2 fr:#3 {\beginsegment
+ \realmult{#1}{#3}{\hvh}
+ \move h:{\hvh} v:0
+ \textref h:C v:C \htext{$\bullet$}
+ \lvec h:{\hvh} v:.1 \textref h:C v:T
+ \move h:{\hvh} v:.11 \htext{#2}
+ \move h:{\hvh} v:0
+ \avec h:0 v:0
+ \move h:{\hvh} v:0
+ \avec h:{#1} v:0
+ \endsegment}
+
+\def\hvlabel l:#1 t:#2 fr:#3 {\beginsegment
+ \realmult{#1}{#3}{\hvh}
+ \move h:{\hvh} v:0
+ \textref h:C v:C \htext{$\bullet$}
+ \lvec h:{\hvh} v:.1 \textref h:R v:C
+ \move h:{\hvh} v:.11 \vtext{#2}
+ \move h:{\hvh} v:0
+ \avec h:0 v:0
+ \move h:{\hvh} v:0
+ \avec h:{#1} v:0
+ \endsegment}
+
+
+\def\htrlabel l:#1 t:#2 {\beginsegment
+ \move h:-.2 v:0
+ \avec h:0 v:0
+ \move h:{#1} v:0 \relativeposition \move h:.12 v:0
+ \textref h:L v:C \htext{#2}
+ \absoluteposition
+ \avec h:{#1} v:0
+ \endsegment}
+
+\def\htllabel l:#1 t:#2 {\beginsegment
+ \move h:-.12 v:0
+ \textref h:R v:C \htext{#2}
+ \avec h:0 v:0
+ \move h:{#1} v:0 \relativeposition \move h:.2 v:0
+ \absoluteposition
+ \avec h:{#1} v:0
+ \endsegment}
+
+\def\pagdiag sc:#1 {\btg \segmentscale {#1} \eighttt
+ \arrowheadsize l:.08 w:.025
+ \gbox h:4.7 v:6 pw:.025 % paper
+ \move h:.6 v:.7
+ \gbox h:3.5 v:4 pw:.01 %outerpage
+ \gbox h:3.5 v:.4 pw:.02 %header
+ \move h:.6 v:4.3
+ \gbox h:3.5 v:.4 pw:.02 %footer
+ \move h:.8 v:1.1
+ \gbox h:3.1 v:3.2 pw:.02 %inner
+ \move h:1.2 v:0 \vlabel l:.7 t:{\1topmarginsize} fr:.5
+ \move h:1 v:.7 \vlabel l:.4 t:{\1vheadersize} fr:.5
+ \move h:.6 v:1.3 \htrlabel l:.2 t:{\1firstcolumnoffset}
+ \move h:3.9 v:1.3 \htllabel l:.2 t:{\1firstcolumnoffset}
+ \move h:0 v:1.9 \hvlabel l:.6 t:{\1leftmarginsize } fr:.5
+ \move h:.6 v:2.3 \hlabel l:3.5 t:{\1houterpagesize} fr:.25
+ \move h:.8 v:2.7 \hlabel l:3.1 t:{\vbox{
+ \hbox{\1hinnerpagesize}
+ \vskip 1pt
+ \hbox{ (computed)}}}
+ fr:.25
+ \move h:1 v:4.3 \vlabel l:.4 t:{\1vfootersize} fr:.5
+ \move h:2.32 v:.7 \vllabel l:4 t:{\1vouterpagesize} fr:.25
+ \move h:2.43 v:1.1 \vlabel l:3.2 t:{\vbox{
+ \hbox{\1vinnerpagesize}
+ \vskip 1pt
+ \hbox{ (computed)}}}
+ fr:.8
+ \move h:0 v:5.1 \hlabel l:4.7 t:{\1hpapersize} fr:.5
+ \move h:4.4 v:0 \vllabel l:6 t:{\1vpapersize } fr:.92
+ \etg}
+
+%\def\1{\char'134}
+%\centergraph{\pagdiag sc:.8 }
+
+%\done
+
+
+
+
+
+ \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/psalm23.tex b/macros/inrstex/inrsdoc/psalm23.tex
new file mode 100644
index 0000000000..6faf7313bb
--- /dev/null
+++ b/macros/inrstex/inrsdoc/psalm23.tex
@@ -0,0 +1,11 @@
+\beginnarrowtext 1in
+\eightpoint
+\obeylines
+The lord is my shepherd, I shall not want;
+He makes me lie down in green pastures,
+He leads me beside still waters;
+He restores my soul.
+\endnarrowtext
+\done
+
+ \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/secthead.tex b/macros/inrstex/inrsdoc/secthead.tex
new file mode 100644
index 0000000000..da1558c568
--- /dev/null
+++ b/macros/inrstex/inrsdoc/secthead.tex
@@ -0,0 +1,223 @@
+%-*-tex-*-
+% Copyright Michael J. Ferguson, INRS-Telecommunications
+% All rights reserved.
+
+
+% ========== Section, Chapter Headings ===========
+% These macros have several parts,
+% -- The format of the heading.
+% -- The automatic numbering.
+% -- The writing of a list file for automatic table of contents.
+% -- The referencing in the text ... ie reference number styles.
+
+
+% ======== Counter allocation and Number styles =========
+%========= Autonumbering allocations and styles for sections ... ====
+% Allocate the counters for the chapters, sections, figures, etc.
+% These counters are updated globally.
+\newcount\chnum %\chnum=0 \def\chnumform{\the\chnum}
+\newcount\shnum %\shnum=0 \def\shnumform{\the\shnum}
+\newcount\sshnum %\sshnum=0 \def\sshnumform{\the\sshnum}
+\newcount\ssshnum %\ssshnum=0 \def\ssshnumform{\the\ssshnum}
+
+% ======== autonumbering options and styles ==========
+% The following stay unchanged for different numbering options
+\def\chtagrefformat{\chnumform}
+\def\chtagreplaceformat{\Chapter \chtagrefformat}
+
+\def\numberbychapter{\s@pecialnumberresetlevel=2
+ \def\shtagreplaceformat{\shtagrefformat}
+ \def\sshtagreplaceformat{\sshtagrefformat}
+ \def\ssshtagreplaceformat{\ssshtagrefformat}
+ \def\shtagrefformat{\chnumform.\shnumform} %section
+ \def\sshtagrefformat{\chnumform.\shnumform.\sshnumform} %subsection
+ \def\ssshtagrefformat{\chnumform.\shnumform.\sshnumform %subsubsection
+ .\ssshnumform}
+ \def\Prerefform{\chnumform.}
+ \def\Postrefform{}}
+
+\def\numberbysection{\s@pecialnumberresetlevel=3
+ \def\shtagreplaceformat{\shtagrefformat.}
+ \def\sshtagreplaceformat{\sshtagrefformat}
+ \def\ssshtagreplaceformat{\ssshtagrefformat}
+ \def\shtagrefformat{\shnumform} %section
+ \def\sshtagrefformat{\shnumform.\sshnumform} %subsection
+ \def\ssshtagrefformat{\shnumform.\sshnumform %subsubsection
+ .\ssshnumform}
+ \def\Prerefform{\shnumform.}
+ \def\Postrefform{}}
+
+\def\specialnumberscontinuous{\def\Prerefform{}
+ \def\Postrefform{}
+ \s@pecialnumberresetlevel=1}
+
+
+% This macro resets the counters for equations, figures, etc.
+% depending on the header level.
+% #1 - header level 1=chapter
+% 2=section
+% 3=subsection
+% 4=subsubsection
+% \a@utonumberresetlevel = 1 sequential numbering
+% 2 chapter numbering
+% 3 section numbering
+% 4 subsection numbering, etc.
+\newcount\s@pecialnumberresetlevel \s@pecialnumberresetlevel=1
+\def\updatespecialnumbers#1{
+ \ifnum #1 < \s@pecialnumberresetlevel
+ \the\s@presetlist
+ \fi}
+
+
+% ============ Section head format styles and List generation =======
+%
+% The calling format is
+% \s<ss>head{<number>}{<Title>}
+% Subsequent lines are indented one quad more than the size of the <number>
+% There is an autonumbering/autoreferencing feature in these macros.
+% If the autonumber switch
+% is true, then the first argument represents a tag instead of a number.
+
+% \nosheadbreak is used when multiple heads start a section
+\newif\ifs@headbreak \s@headbreaktrue
+\def\nosheadbreak{\s@headbreakfalse}
+
+
+% ========= Section heading command forms ========
+% #1 top skip
+% #2 bottom skip
+% #3 font
+% #4 <number>
+% #5 <text>
+% #6 table of contents command form
+% #7 <item>, placed between <number> and <text>
+
+\newskip\prsheadskip %\prsheadskip= 6ex plus 2ex minus 2ex
+\newskip\posheadskip %\posheadskip= 2ex
+\newskip\prssheadskip % \prssheadskip= 5ex plus 1.8ex minus 1.8ex
+\newskip\possheadskip %\possheadskip= 2ex
+\newskip\prsssheadskip %\prsssheadskip= 3ex plus 1ex minus 1ex
+\newskip\posssheadskip %\posssheadskip= 2ex
+\newskip\prdsssheadskip %\prdsssheadskip= 3ex plus 1ex minus 1ex
+\newskip\podsssheadskip %\podsssheadskip= 2ex
+
+%this is the format form for those that want to perform radical surgery
+%the parameters must be as shown and will have that meaning
+% #1 font (=#3); #2 number (=#4) ; #3 <text> (=#5); #4 number/text sep (=#7)
+% check on \t@agtext suppresses space when there is no number
+\def\gensheadformat#1#2#3#4{\ifx\t@agtext\empty\setbox0=\hbox{}\else
+ \setbox0=\hbox{#1#2#4}\fi
+ \vbox{\veryraggedright \normalbaselines
+ \hangindent 1\wd0 \hangafter 1\noindent #1\unhbox0 #3}}
+
+
+\def\g@head#1#2#3#4#5#6#7{\ifs@headbreak \goodbreak \vskip #1\else
+ \removelastskip\fi
+ \s@headbreaktrue
+ \toks0={#5}%prevents expansion inside title
+ \writeterm{<#4}{ }{\the\toks0>}
+ \gensheadformat{#3}{#4}{#5}{#7}
+ \nobreak
+ \writelistfile{toc}{#6}{#4}{#5}
+ \vskip #2 \vskip -\parskip}
+
+\newtoks\sectionname \newtoks\sectionnumtag
+\def\sheadmark{\mark{\the\sectionname}} % defaults to title
+\def\innershead #1#2{\sectionnumtag = {#1} \sectionname = {#2}
+ \ifautonumber
+ \global\advance \shnum by 1
+ \global\sshnum=0
+ \global\ssshnum=0
+ \updatespecialnumbers{2}
+ \newtag{#1}{\shtagrefformat}
+ \edef\t@agtext{\shtagreplaceformat}
+ \else
+ \edef\t@agtext{#1}
+ \fi
+ \sheadmark %sections are marked for header titles
+ \g@head{\prsheadskip}{\posheadskip
+ }{\sheadfont}{\t@agtext}{#2}{\shtocout
+ }{\quad}}
+\def\innersshead #1#2{\ifautonumber
+ \global\advance \sshnum by 1
+ \global\ssshnum=0
+ \updatespecialnumbers{3}
+ \newtag{#1}{\sshtagrefformat}
+ \edef\t@agtext{\sshtagreplaceformat}
+ \else
+ \edef\t@agtext{#1}
+ \fi
+ \g@head{\prssheadskip}{\possheadskip
+ }{\ssheadfont}{\t@agtext}{#2}{\sshtocout
+ }{\quad}}
+\def\innerssshead #1#2{\ifautonumber
+ \global\advance \ssshnum by 1
+ \updatespecialnumbers{4}
+ \newtag{#1}{\ssshtagrefformat}
+ \edef\t@agtext{\ssshtagreplaceformat}
+ \else
+ \edef\t@agtext{#1}
+ \fi
+ \g@head{\prsssheadskip}{\posssheadskip
+ }{\sssheadfont}{\t@agtext}{#2}{\ssshtocout
+ }{\quad}}
+\def\innerdssshead #1{\g@head{\prdsssheadskip}{\podsssheadskip
+ }{\dsssheadfont}{}{#1}{\dssshtocout}{}}
+\outer\def\shead#1#2{\innershead{#1}{#2}}
+\outer\def\sshead#1#2{\innersshead{#1}{#2}}
+\outer\def\ssshead#1#2{\innerssshead{#1}{#2}}
+\outer\def\dssshead#1{\innerdssshead{#1}}
+
+% ======== chead ==========
+% The chapter head has a different format entirely
+\newtoks\chaptername
+
+%this is the form of the present chapter head
+%parameters are #1 is the title text \cheadfont, \chtagreplaceformat
+
+%\def\Chapter{Chapter } see English/french titles
+
+% indicates if chapters exist ... default is that they do not
+% the first call to a \chead sets it true ... or it may be done in the style.
+\newif\ifnochapter %\nochaptertrue
+
+
+\def\cheadformat#1#2{\vglue 2.5cm
+ \line{$\vcenter{\hbox{\cheadfont
+ #1
+ \vrule height 3ex depth 1ex width 0pt
+ }}\hss
+ \vcenter{\halign{&\cheadfont\hss
+ ##\vrule height 3ex depth 1ex width 0pt\cr
+ #2\crcr}}$}
+ \vskip 2.5cm}
+\def\chapterstartform{}
+\def\chead#1#2{\numberbychapter\nochapterfalse
+ \ifautonumber
+ \global\advance\chnum by 1
+ \global\shnum=0
+ \global\sshnum=0
+ \global\ssshnum=0
+ \newtag{#1}{\chtagrefformat}
+ \updatespecialnumbers{1}
+ \edef\t@agtext{\chtagreplaceformat}
+ \else
+ \edef\t@agtext{#1}
+ \fi
+ \chaptername={#2} % for term write only ... includes \cr
+ \writeterm{<\t@agtext}{ }{\the\chaptername>}
+ \chaptername={\def\cr{ }#2}
+ \chapterstartform % here so both the number and title set
+ \titlepagestyle
+ \cheadformat{\t@agtext}{#2} % format of chead
+ \writelistfile{toc}{\chtocout}{\t@agtext}{#2}
+ }
+
+% ========== Toc Out Forms ===========
+% actually set in inrsdef.tex
+
+%\def\shtocout{\string\shtoc}
+%\def\sshtocout{\string\sshtoc}
+%\def\ssshtocout{\string\ssshtoc}
+%\def\dssshtocout{\string\dssshtoc}
+%\def\chtocout{\string\chtoc}
diff --git a/macros/inrstex/inrsdoc/status.tex b/macros/inrstex/inrsdoc/status.tex
new file mode 100644
index 0000000000..1037b44691
--- /dev/null
+++ b/macros/inrstex/inrsdoc/status.tex
@@ -0,0 +1,28 @@
+%-*-tex-*-
+% Status commands for each chapter.
+% these write out the chapter code, page number, and previous chapter number.
+
+\marginnotesfalse
+\hfuzz=5pt
+
+
+\newwrite\docstatus
+\def\openstatusfile{\immediate\openout\docstatus=\jobname.sta}
+\def\closestatusfile{\closeout\docstatus}
+\def\writestatus#1{\immediate\write
+ \docstatus{\string\chstatus//#1//\the\chnum//\the\pageno//}}
+\def\chstatus//#1//#2//#3//{\expandafter\def\csname#1:\endcsname{\chnum=#2
+ \pagenumber=#3}}
+\def\getstatus#1{\csname#1:\endcsname}
+
+\def\chcode#1{\subdocumentmacros{\input helphdr \bookstyle
+ \input masth.sta
+ \autonumberingon
+ \input masth.tag
+ \getstatus{#1}
+ \def\chcode##1{}
+ \def\writestatus##1{}
+ \indexingon
+ }
+ \writestatus{#1}}
+
diff --git a/macros/inrstex/inrsdoc/thalign.tex b/macros/inrstex/inrsdoc/thalign.tex
new file mode 100644
index 0000000000..436874708d
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thalign.tex
@@ -0,0 +1,1002 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{align}
+
+\def\cqu{}
+
+\chapterhead{align}{BASIC ALIGNMENT}
+Since letters in most fonts are variable width, the only sure way to ensure
+that words, numbers or vertical rules line up is to tell \tex\ to put them in
+the right place. Old ways of placing text on the editor's screen will not
+work. The basic way of doing this in \tex\ is through the alignment commands.
+
+The most common use of alignment commands is to make tables, but the uses go
+well beyond this. For instance, the |\eqalign| for display mathematics is
+built using the basic |\halign| command.
+
+
+{\it Plain} \tex\ provides two basic alignment formats. The first is the
+|tabbing| form that is very similar to tabs on a typewriter, and the second is
+the more basic |\halign| form. In fact the |tabbing| form is built from the
+basic |\halign|.
+
+\intex\ supplies a set of commands for building tables, especially those
+involving lines (commonly called vertical and horizontal rules).
+The intent of these commands is to produce tables that are
+easy to specify and that look, on the editing screen, somewhat like the final
+product. The commands are built from the |\halign| and preserve all
+the power of this basic command. They commands are discussed in
+Section~\ref{intable}.
+
+Details on the basic uses of the |\halign|
+can be found in the chapter on alignment in the \texbook\ and
+examples of \intex\ tables and uses in the \tex\ Example Book \dots\ to be published.
+
+\shead{aligncomlist}{Command List}
+The command list in this section is organized into |tabbing|, |\halign|, and
+\intex\ |table| commands. The |\halign| commands are useful in the |table|
+form.
+\bigbreak
+\centerline{\sssheadfont Tabbing Commands}
+\nobreak
+\begintwocolumn
+\pla|\+ ... \cr|
+\pla|\cleartabs|
+\pla|\settabs <integer> \columns|
+\pla|\tabalign ...\cr|
+\endthreecolumn
+\bigbreak
+\centerline{\sssheadfont Plain \tex\ halign Commands}
+\begintwocolumn
+\pri|&|
+\pri|#|
+\pri|\cr|
+\pri|\halign|
+\pla|\hidewidth|
+\pla|\ialign|
+\pla|\multispan|
+\pri|\noalign|
+\pla|\oalign|
+\pri|\omit|
+\pla|\openup|
+\pri|\span|
+\ext|\strut|
+\pri|\tabskip|
+\pri|\valign|
+\endthreecolumn
+\bigbreak
+
+\centerline{\sssheadfont \intex\ Table Commands}
+\begintwocolumn
+\ext\vrt
+\ext|"|
+\ext|\|\vrt
+\ext|~|
+\ext|\:|
+\ext|\-|
+\ext|\br \er|
+\ext|\begintable|
+\ext|\begintableformat|
+\ext|\endtable|
+\ext|\endtableformat|
+\ext|\center|
+\ext|\displaymath|
+\ext|\everytable|
+\ext|\fulltablerule|
+\ext|\left|
+\ext|\math|
+\ext|\midtabglue|
+\ext|\modifystrut \mst|
+\ext|\right|
+\ext|\sa|
+\ext|\sprule|
+\ext|\tablespread|
+\ext|\tcs|
+\ext|\thrule|
+\ext|\tr|
+\ext|\tvrule|
+\ext|\use|
+\ext|\zerocenteredbox \zb|
+\endthreecolumn
+
+\shead{tabbing}{Tabs for Alignment}
+\tex\ supplies a format that behaves similarly, but not identically, to {\it
+tabs} on an ordinary typewriter. The |\settabs <integer> \columns| sets tabs so
+that there are |<integer>| number of columns across the page. Once set, these
+{\it tabs} stay set until changed or leaving the group in which they were
+defined. \tex\ uses the command |\+| to indicate the beginning of a row, the
+|&| to indicate the {\bf next} column, and the |\cr| to indicate the end of
+the row. If the text for one column is too wide for that column it will spill
+over into the next. If it spills, and there is text in the next column, they
+will superimpose. An example is given below.
+\begintt
+\settabs 3 \columns
+\+This is text in the first Column &THIS IS TEXT IN THE
+ SECOND COLUMN & This is text in the third column \cr
+\+First Column &&Third Column\cr
+\endtt
+which gives
+\settabs 3 \columns
+\+This is text in the first Column &THIS IS TEXT IN THE
+ SECOND COLUMN & This is text in the third column \cr
+\+First Column &&Third Column\cr
+Note the mess in the first row. The second is better formed. For some simple
+tables, without rules or lines. This may be the simplest way.
+
+If a line starts with the form
+\begintt
+\settabs\+<sample first column>& ... &<sample last column>\cr
+\+<first real text row>\cr
+ ...
+\endtt
+then \tex\ will set the tabs as indicated by the sample row, and will not
+actually print it in the text. To use this, look ahead in the table and find
+the widest fields. These, and some extra space, can be used to set the tabs.
+
+
+The tabbing format is even more versatile than this. Suppose that there are 2
+tabs set. If the input row |\+ ... \cr| has a third or more |&|, then this
+new tab is added to the set of tabs. Furthermore, the command |\cleartabs|
+will remove all tabs to the right of the current one, in effect making it the
+last one in a row. The result is that it is possible to set tabs that change
+from row to row. For example
+\begintt
+\+\cleartabs
+This text &is to the &left and \cr
+\+ &this row lines up with the ``is'' \cr
+\+ & &but this one with the ``left'' \cr
+\+ &\cleartabs This &row sets new tabs \cr
+\+ & &so this lines up with ``row''\cr
+\endtt
+gives the following
+\+\cleartabs
+This text &is to the &left and \cr
+\+ &this row lines up with the ``is'' \cr
+\+ & &but this one with the ``left'' \cr
+\+ &\cleartabs This &row sets new tabs \cr
+\+ & &so this lines up with ``row''\cr
+
+Note the tab location change in the fourth row. Indentation of computer
+programs is relatively simple with these mechanisms.
+
+
+
+\shead{halignform}{The {\twelvett \string\halign } }
+The fundamental alignment command, which is in fact
+used to build the {\it tabbing} commands in the previous
+section and the \intex\ {\it table} commands in the next,
+is the |\halign| .
+While inside an |\halign|, \tex\ is in {\it
+internal horizontal mode}. This means that text may be centered or justified
+by the appropriate use of the infinite glues such as |\hss|. It also means
+that |$...$|, |\math|, or |\displaymath| are required
+to switch, perhaps back, into math mode.
+
+A |<preamble>\cr|, terminated by the first |\cr|, describes the pattern
+of the alignment. This pattern is used for every row of the alignment but
+there are a set of commands |\span|, |\multispan|, and |\omit| that
+allow for the skipping or merging of several adjacent columns. This makes it
+easy to have text that spans several columns. Finally, {\bf between}
+each column,
+there is the provision for placing |\tabskip| glue. This glue allows the
+entire set of columns to stretch or shrink to fill the page as desired. Some
+special variants of |\halign| such as |\ialign|, force the |\tabskip|
+glue to be zero.
+
+Detailed use of the |\halign| and its associated commands will be found in
+the \texbook\ with examples in the \tex\ Example Book. The command
+descriptions in Section~\ref{aligncomforms} give some insight into their use.
+
+\shead{intable}{\intex\ Table Commands}
+\intex\ supplies a set of commands designed to reduce the pain in making
+tables. The major intent of the commands is to make have the tables being
+designed appear on the editor screen in a reasonable manner. Although the
+commands appear to avoid the basic |\halign| commands and forms of |\cr|,
+|&|, and |#|, their insertion in the tables are not precluded by the
+structure. The loss by doing this will be some readability but the gain is
+flexibility.
+
+The \intex\ table commands really use two different types of columns: {\it
+rule} columns for insertion (or omission) of vertical rules and {\it data}
+columns
+for the insertion of normal data entries. Generally it is assumed that every
+data column is separated by a {\it rule} column. In addition, \intex\
+requires that there be a rule column at the left and right hand sides.
+\intex\ makes the insertion or omission of a vertical rule or column as
+simple as placing a |"| or a \vrt\ in the text.
+
+A now classic table for demonstrating the table making skills of a set of
+macros is shown below. This is reported in the \texbook\ and originally was
+found in [\cite{[Lesk76]}]. The resulting table is {\bf not}
+identical to that in the \texbook. It is, however, very close.
+
+\centerline{
+\begintable
+\begintableformat
+\center " \center " \center
+\endtableformat
+\br{} \sa{Dividend} "\sa{Dividend} "\sa{Dividend} \er{} %sample line
+\-
+\br{\:|} \use{3} AT\&T Common Stock \er{|}
+\-
+\br{\:|} Year | Price | Dividend \er{|}
+\-
+\br{\:|} 1971 | 41--54 | \$2.60 \er{|}
+\-
+\br{\:|} ~~~2 | 41--54 | ~2.70 \er{|}
+\-
+\br{\:|} ~~~3 | 46--55 | ~2.87 \er{|}
+\-
+\br{\:|} ~~~4 | 40--53 | ~3.24 \er{|}
+\-
+\br{\:|} ~~~5 | 45--52 | ~3.40 \er{|}
+\-
+\br{\:|} ~~~6 | 51--59 | ~~.95\rlap* \er{|}
+\-
+\br{\:}\use{3} \left{* (first quarter only)}
+\endtable
+}
+
+This table is given by the following:
+\begingroup \eightpoint
+\begintt
+\centerline{
+\begintable
+\begintableformat
+\center " \center " \center
+\endtableformat
+\br{} \sa{Dividend} "\sa{Dividend} "\sa{Dividend} \er{} %sample line
+\-
+\br{\:|} \use{3} AT\&T Common Stock \er{|}
+\-
+\br{\:|} Year | Price | Dividend \er{|}
+\-
+\br{\:|} 1971 | 41--54 | \$2.60 \er{|}
+\-
+\br{\:|} ~~~2 | 41--54 | ~2.70 \er{|}
+\-
+\br{\:|} ~~~3 | 46--55 | ~2.87 \er{|}
+\-
+\br{\:|} ~~~4 | 40--53 | ~3.24 \er{|}
+\-
+\br{\:|} ~~~5 | 45--52 | ~3.40 \er{|}
+\-
+\br{\:|} ~~~6 | 51--59 | ~~.95\rlap* \er{|}
+\-
+\br{\:}\use{3} \left{* (first quarter only)}
+\endtable
+}
+\endtt
+\endgroup
+The basic structure of the table is given by this example. A
+|\begintable... \endtable| pair delineates it, while the row format is
+defined inside the pair |\begintableformat... \endtableformat|.
+The entirely optional {\it sample row}, immediately after the
+|\endtableformat| forces all
+three columns the same width. This use the fact that
+|Dividends| was the largest word which was then put in a {\it
+sample} command |\sa{..}| in each of the three columns. This row, which is
+invisible in the final table effectively set the width of the columns. The
+|~| is a space that is exactly the width of a number. Thus the data is lined
+up in the desired way. The \vrt\ are separators that insert vertical rules or
+lines and also allow spaces to be ignored after the data in a column. This
+makes the columns look nicer and more readable. Other details about this
+table will be apparent later.
+
+
+The \intex\ table commands have been designed to be most useful when the following
+conventions are obeyed:
+\beginlist
+\li {\bull} A rule column is defined in the table format
+using a |"|. Successive data columns are separated by a rule column.
+The actual rule is inserted in the text with a \vrt\ or omitted with a
+|"| rather than being put in the format.
+\li {\bull} A rule column is appended to each end of the table format
+statement. In general this means that there is a rule column on both sides of
+the table. The actual insertion or not of the rule is very easy.
+\li {\bull} Struts for maintaining row height are inserted in each row rather
+than in the table format.
+\endlist
+
+The commands make it very easy to include struts, and insert or omit rules as
+needed. In fact it is no more difficult than inserting a |&| in the
+appropriate place. The advantage of following this discipline is that partial
+horizontal lines (rules) are quite easy, as is the exact vertical placement
+of items in different data columns.
+
+The basic format for building a table is
+\begintt
+\begintable
+<special table forms>
+\begintableformat
+<table format>
+\endtableformat
+<first row>
+ ...
+<last row>
+\endtable
+\endtt
+Each row has the form
+\begintt
+\br{<..>} <item> | <item> " <item> ... | <item> \er{<..>}
+\endtt
+where the \vrt\ means to put in a vertical rule and the |"| means to leave it
+out of the corresponding rule column.
+The |\br{..}| and |\er{..}| signify the beginning and end of the row
+respectively. The |\br{..}| and |\er{..}| are intended for rules and/or
+struts if needed. For instance a |\br{\:|\vrt|}| indicates that this line has a
+standard strut |\:| and a standard vrule. The |\br{\: height 2pt}|
+indicates that this row has no strut but that the initial vrule has a height
+of 2pt. The strut could just as easily been put in the |\er{\:}| instead.
+The form |\br{}| or |\br{"}| indicates a row with no initial strut or vrule.
+
+\intex\ supplies a second flavour of vrule that is user definable. The
+command |\|\vrt\ may be used in exactly the same way as \vrt. The {\it
+insides} of the |\|\vrt\ are defined by redefining a command |\sprule|, a {\it
+special rule}.
+
+An \intex\ table format is a template for the table, and corresponds to the
+normal {\it preamble} in an |\halign|. In fact any valid |\halign| preamble
+may be used in the table format, as long as the |#| are replaced by |##|.
+However, \intex\ adds a rule column to the beginning and end of the {\bf format}
+list for
+beginning and terminating rules. Thus a repeating field specification, which
+is indicated by an (extra) |&| in the format should
+{\bf not} start at a vrule indicator or the result will be two adjacent rules.
+
+Simple column formats are indicated by the use of the commands |\left|,
+|\center|, |\right|, |\math|, and |\displaymath|. The two |\..math| forms are
+{\bf never} used alone but rather in conjunction with the first three.
+These forms are {\bf always} separated\footnote{\dagger}{In fact any field
+of the form |&<optional stuff>##<optional stuff>&| is acceptable.}
+ by |"|, which allows for, but does not put in, a
+vertical rule.
+The simplest table format, and probably the most useful is
+\begintt
+\begintableformat
+&\center
+\endtableformat
+\endtt
+This is a repeating format, as indicated by the |&|, and thus allows for any
+number of columns. The data in each column is centered.
+
+Another simple table format example is
+\begintt
+\begintableformat
+\left " \right " \math\center
+\endtableformat
+\endtt
+This table would have three data columns; the first data column
+is ordinary text, left
+justified; the second data column is right justified text; and the last
+data column is centered mathematics. Each data column is separated by a rule
+column indicated by |"|. \intex\ will add rule columns to the left and right
+hand ends of the specification.
+The commands |\right|, |\left|, and |\center| insert the appropriate glues and
+spacing at the both sides of the column. The width of this spacing |\tcs|,
+the {\it table column separation}, is a |dimen|. This may be modified if
+desired for all tables by putting it in the |\everytable| token list or for a
+specific table by placing it in the
+|<special table forms>|.
+
+The following is a repeating column specification:
+\begintt
+\begintableformat
+\left " \right " &\math\center
+\endtableformat
+\endtt
+This is identical to the previous one except that the data column format
+and the implicit rule column added by \intex,
+|\math\center|~|"|, is repeated indefinitely.
+For almost all tables, the only |&| that
+should appear in the table format is that indicating the start of a repeating
+field.
+
+Horizontal rules are specified by |\-| for the standard |\tr| width rule. An
+hrule the full width of the table should appear all by itself on a line
+between an |\er| and the following |\br|, or immediately after the table
+format. Other |\noalign| commands may be inserted as desired.
+A partial horizontal rule is specified using an |\msp|, the special \intex\
+version of the multispan, and the |\-|.
+
+\intex\ does place some restrictions on the automatic insertion of tabskip glue.
+Hopefully these will be minor. \intex\ sets the initial and final tabskip
+glues to 0pt. This should create no problems. A parameter |\midtabglue| may
+be modified. This is set just after the first rule column and is turned off
+at the last rule column. Finally |\tablespread = {to <dimen>}| will force
+the table to be |<dimen>| wide, assuming there is
+enough tabskip glue
+available.
+
+The following set of commands produce the rather contrived table on the
+following page.
+\begingroup
+\eightpoint
+\beginttverbatim
+\1centerline{
+\1begintable
+\1begintableformat
+ &\1center
+\1endtableformat
+\1-
+\1br{\1:|} \1use{6} XYZABC \1er{|\1mst{\1:}{3pt}{3pt}\1rlap{ \1it ** i}}
+\1-
+\1br{\1:|} \1use{3} XYZ | \1use{3} ABC \1er{|\1mst{\1:}{2pt}{2pt}}
+\1-
+\1br{\1:|} X | Y | Z | A | B | C \1er{|}
+\1-
+\1br{\1:|} 372.466 | 493.7 " 45 | 124 \1| 489 | 280 \1er{|}
+\1-
+\1br{\1:|} 372.40~ | 493.7 | 45 | 124 | 489 | 280 \1er{|}
+\1br{|} " " | \1use{3}\1- \1er{|}
+\1br{\1:|} 372.~~~ | 493.7 | 45 | 124 | 489 | 280 \1er{|\1rlap{ \1it ** ii}}
+\1-
+\1br{\1:|} \1use{2} | 832 | abc | 774 |$\1int$\1er{|\1mst{$\1int$}{0pt}{3pt}}
+\1br{|} \1use{2}\1zb{XY/A} |\1use{4}\1- \1er{|}
+\1br{\1:|} \1use{2} | qrr | aaa | 799 | \1er{|\1rlap{ \1it ** iii}}
+\1-
+\1endtable}
+\endttverbatim
+\endgroup
+
+The actual table is
+$$
+\centerline{
+\begintable
+\begintableformat
+ &\center
+\endtableformat
+\-
+\br{\:|} \use{6} XYZABC \er{|\mst{\:}{3pt}{3pt}\rlap{ \it ** i}}
+\-
+\br{\:|} \use{3} XYZ | \use{3} ABC \er{|\mst{\:}{2pt}{2pt}}
+\-
+\br{\:|} X | Y | Z | A | B | C \er{|}
+\-
+\br{\:|} 372.466 | 493.7 " 45 | 124 \| 489 | 280 \er{|}
+\-
+\br{\:|} 372.40~ | 493.7 | 45 | 124 | 489 | 280 \er{|}
+\br{|} " " | \use{3}\- \er{|}
+\br{\:|} 372.~~~ | 493.7 | 45 | 124 | 489 | 280 \er{|\rlap{ \it ** ii}}
+\-
+\br{\:|} \use{2} | 832 | abc | 774 | $\int$\er{|\mst{$\int$}{0pt}{3pt}}
+\br{|} \use{2}\zb{XY/A} |\use{4}\- \er{|}
+\br{\:|} \use{2} | qrr | aaa | 799 | \er{|\rlap{ \it ** iii}}
+\-
+\endtable
+}
+$$
+This example
+illustrates the power and flexibility of the commands.
+Row {\it i} shows the
+modification of the standard strut, which is 2.5ex high and .9ex deep, by
+changing the height and depth. The |\mst| is used again in row {\it iii}
+where some extra space is added at the bottom of the integral sign, but not
+at the top. The |\mst| takes three arguments or parameters. The first is the
+character from which the strut is derived, the second is the additional
+space on the top of the character and the third is on the bottom. The first two
+rows of this table had additional space at both the top and bottom while the
+``integral'' row had changes only at the bottom. This fine tuning of tables
+can improve their visual form immensely. Row {\it iii} demonstrates the use
+of a |\zb| or ``zero-centered box'' for putting items in the center of
+larger boxes. This row with the |\zb| has {\bf no} struts. In addition, the
+|\zb| boxes are centered and have zero height and depth. This means that they
+take up no vertical space so that a partial horizontal line or rule may be
+inserted. This is done with the |\use{4}\-| which tells \intex\ to use 4
+(data) columns for the horizontal rule.
+
+Many variations exist. The commands available in \intex\ for
+tables are described in the following section.
+
+
+\shead{aligncomforms}{Command Forms}
+The command forms in this section are organized under three different
+headings, tabbing, basic |\halign|, and \intex\ table commands.
+
+\dssshead{Tabbing Commands}
+\beginblockmode
+\pla\@|\+<text>&<text> ... &<text>\cr|
+\nbr
+This is the command for entering a line of text in the {\it tab} format. The
+|<text>| in each column is optional and will spill over into the next column
+if there is no room. If there are $n$ tabs set, all |&| beyond the $n$ will
+set tabs at the location they appear in the text. The |\cr| terminates the
+line. See Section \ref{tabbing} for examples.
+
+\mbr
+\pla\@|\cleartabs|
+\nbr
+This command clears tabs to the right of the current one, on all subsequent
+lines. See Section \ref{tabbing} for examples.
+
+\mbr
+\pla\@|\tabalign ... \cr|
+\nbr
+This is a non |\outer| form of |\+| and can be used in definitions.
+\endblockmode
+
+
+\dssshead{Basic {\tentt \string\halign } Command Forms}
+\beginblockmode
+\pla\@|\halign{<preamble>\cr <first row>\cr ... <last row>\cr}|
+\nbr
+This is the basic alignment command. It is necessary to be in (internal)
+vertical or display math mode to use it.
+The |<preamble>| describes a template or
+form for interpreting the text fields in following rows. Each field in an
+|\halign| is like an individual |\hbox| whose size is calculated by \tex.
+Between each of these field boxes is |\tabskip| glue that is allowed to
+stretch or shrink in order to vary the overall size of the alignment. An
+example of a preamble that creates three columns, the first left justified,
+the second centered and the third right justified is
+\begintt
+<preamble> --> #\hss &\hss #\hss&\hss #
+\endtt
+The |#| shows where the text in that particular column should be placed, with
+respect to the glue, and the |&| indicates the end of the field.
+\begintt
+$$
+\halign{#\hss &\hss #\hss&\hss #\cr
+ This particular & example & will give the text \cr
+ shown &below in its& \TeX\ form.\cr
+ It &could &have had mathematics, $x^y$ too.\cr}
+$$
+\endtt
+will in fact produce, as promised,
+$$
+\halign{#\hss &\hss #\hss&\hss #\cr
+ This particular & example & will give the text \cr
+ shown &below in its& \TeX\ form.\cr
+ It &could &have had mathematics, $x^y$ too.\cr}
+$$
+The |$$...$$| is a convenient way of centering the |\halign|.
+
+If the preamble has an extra |&| in its definition, then \tex\ pretends
+that the pattern between
+the extra |&| and the |\cr| is repeated an infinite number of times. This
+means that it is quite easy to define a single |\halign| that can be used
+even when the number of columns is unknown. If the |<preamble>| above were
+replaced by |&<preamble>|, then the entire sequence of left, center, right
+justified columns would be repeated.
+
+
+
+\mbr
+\pla\@|\hidewidth|
+\nbr
+This command is used to allow an entry in an alignment field to stick out the
+side of the field. If it is used on both sides, of an entry, the width of the
+column is unaffected by that field. This is used when column widths
+should be determined by the data entries and not the titles. It is probably
+not to useful in a pure \intex\ table format.
+
+
+
+\mbr
+\pla\@|\ialign{<preamble>\cr <first row>\cr ... <last row>\cr}|
+\nbr
+This is identical to an |\halign| except that the |\tabskip| glue has been
+preset to be zero.
+
+\mbr
+\pla\@|\multispan {<integer>}|
+\nbr
+This effectively combines the |<integer>| number of columns into one column
+and leaves the simple |#| template or pattern. Note that any implicit spacing
+at the edges of the column is lost.
+
+\mbr
+\pri\@|\noalign {<text>}|
+\nbr
+This will place the |<text>| between this and the following row of an
+alignment. It must be the first token after the |\cr|. It has many uses
+including placing horizontal separator lines in tables.
+
+\mbr
+\pla\@|\oalign{<first row>\cr ... &<last row>\cr}|
+This creates a vertical list of the elements in each of the rows. There is
+only {\bf one} element allowed in each row. For instance
+\begintt
+$$
+\oalign{this\cr is\cr a\cr vertical\cr list\cr}
+$$
+\endtt
+gives
+$$
+\oalign{this\cr is\cr a\cr vertical\cr list\cr}
+$$
+Note that there are no struts in the rows.
+
+\mbr
+\pri\@|\omit|
+\nbr
+If |\omit| is the first token after the |&|, or the replacing |\span|, then
+the template pattern for that field is replaced with the simple |#|. Any
+tabskip glue is left intact.
+
+\mbr
+\pri\@|\span|
+\nbr
+This command in the text fields of an |\halign| can be used to replace the
+|&|. When this is done, the template or formats of the
+adjacent columns are butted against each other and results in both data
+fields placed in a box of the combined size of both columns, including any
+tabskip glue. This command in the preamble field of an |\halign| will cause
+the following command to be expanded. \intex\ uses this to transfer the
+information in format field to the actual |\halign| of the table.
+
+
+
+\mbr
+\pri\@|\valign{<preamble>\cr <first column>\cr ... <last column>\cr}|
+\nbr
+This is the vertical equivalent of the |\halign|.
+\endblockmode
+
+\dssshead{\intex\ Table Command Forms}
+\beginblockmode
+\ext\vrt
+\nbr
+This command will put a vertical rule of width |\tr| at the point indicated.
+It should be used only in the text rows and not in the format. The |"| should
+be used to represent a rule column in the format. This command removes spaces to its left or, equivalently to the
+right of the item in the previous data column.
+
+\silent{\@{\char'42}}
+\mbr
+\ext|"|
+\nbr
+In text rows this is used to leave the vertical rule out of a rule column. In
+the format it is used to indicate the existence of a rule column. As a matter
+of style, \intex\ data columns should always be separated by a rule column.
+If there is no rule, this is indicated in the text rows by using |"| instead
+of \vrt. This command removes spaces to its left or, equivalently to the
+right of the item in the previous data column.
+
+\mbr
+\ext|\|\vrt
+\nbr
+This command is used in text rows to insert a rule that has been defined by
+the command name |\sprule|. The default for this rule is a thick vertical
+rule.
+
+\mbr
+\ext\@|~|
+\nbr
+This is used to force a space exactly the width of the numerals ``0''.
+Since all numerals are the same width, this enables the lining up of
+numeric data. If it is used in text mode in a table, it will still {\it tie} but
+the space will be slightly larger than outside tables.
+
+\mbr
+\ext\@|\:|
+\nbr
+This command puts a strut of height 2.5ex and depth .9ex. A strut is an
+invisible vrule of width 0pt. Thus the definition of |\:| is
+|\vrule height 2.5ex depth .9ex width 0pt|. A |\:| may be modified in place
+by putting a new height, depth or width {\bf immediately} after it.
+This command removes spaces to its left or, equivalently to the
+right of the item in the previous data column.
+
+
+\mbr
+\ext\@|\-|
+\nbr
+This command draws a horizontal line across the table. If it is used between
+rows it draws a line the entire width of the table. If it used in a data
+column, it draws a line the width of the column.
+It is commonly used in conjunction with |\use|. The commands
+|\use{3}\-| will draw a horizontal line across 3 columns.
+
+\mbr
+\ext\@|\br{<rules..>} \er{<rules..>}|
+\nbr
+These two commands are used at the beginning and end of row respectively.
+Since \intex\ places a rule column at the beginning and end of each table the
+|<rules..>| are put into those columns. This information includes struts for
+spacing, such as |\:| or \vrt for the entry of a vertical rule.
+|\er| removes spaces to its left or, equivalently to the
+right of the item in the previous data column.
+
+\mbr
+\ext\@|\begintable ... \endtable|
+\nbr
+This is the command that is used to begin a table. It starts a group and
+must have a corresponding |\endtable|. There is a corresponding |\everytable|
+token list.
+
+\mbr
+\ext\@|\begintableformat ... \endtableformat|
+\nbr
+This command starts the format definition of the table. It must have an
+associated |\endtableformat|. \intex\ searches for this
+|\endtableformat| {\bf before}
+actually processing the format information. Disaster ensues if it is not
+there. {\bf \intex\ adds a rule column to the beginning and the end of all
+formats.} A valid format is given below
+\begingroup
+\begintt
+\begintableformat
+\center " &\right " \hss A.B ## \hss " \center &X##X& \math\left
+\endtableformat
+\endtt
+\endgroup
+Note that the |##| must always appear as a pair rather than as single |#| in
+the ordinary |\halign| preamble. The |"| indicates a rule column. The |&|
+before the |\right| indicates that the format from this point to the end,
+including the {\bf additional} rule column inserted by \intex\ will be
+infinitely repeated. The |&X##X&| indicates a column with an |X| on either
+side of the data position. If an |"| were put in this position in the row, a
+column of |XX| would result.
+
+The simplest format, and perhaps the most useful is
+\begingroup
+\begintt
+\begintableformat
+&\center
+\endtableformat
+\endtt\endgroup
+which results in a potentially infinite number of centered data columns
+separated by rule columns. If any individual data item needs a different
+format, the use of a |\left{data}| or similar form may be used.
+
+\mbr
+\ext\@|\center \center{<argument>}|
+\nbr
+The first form of |\center| is used in a table format statement to create a
+centered data column. The second form is used in the data position of a data
+column to override the column format given in the format statement. Thus if
+the column format were |\center|, an entry of |\left{<text>}| would put the
+|<text>| at the left of the column. If the format entry were |\math\left|
+then a data column entry of |\center{<text>}| would center the |<text>| in
+the column but would still be in mathematics mode. An entry of
+|\omit\center{<text>}| would center the data, remove the mathematics mode,
+{\bf and} remove the spacing at both sides of the data entry. This latter
+aspect would not show up with |\center| but would with |\left| or |\right|.
+
+
+\mbr
+\ext\@|\displaymath{<argument>}|
+\nbr
+In the table format, this command must be used with one of |\center|, |\right|, or
+|\left|, or any other valid data column specification. For example,
+a data column where the input data needs to be
+in display mathematics format and then right justified is given by
+|\displaymath\right|.
+
+In the text rows, this command will take the |<argument>| and put it in
+display mathematics format. It will not affect the table format specification
+of |\right|, |\left| or |\center|.
+
+
+\mbr
+\ext\@|\everytable|
+\nbr
+This is a token list of commands that should be executed for every table.
+For instance
+\begintt
+\everytable ={\ninepoint}
+\endtt
+will make very table with |\ninepoint| fonts.
+
+
+
+\mbr
+\ext\@|\fulltablerule{<dimen>}|
+\nbr
+This draws a horizontal line across the width of the entire table of
+thickness |<dimen>|. |\tr| is used in vertical rules for widths and should be
+used here. For instance |\fulltablerule{2.5\tr}| will draw a horizontal line
+2.5 times the thickness of the vertical rule given by \vrt which has the
+width |\tr|.
+
+\mbr
+\ext\@|\left|
+\nbr
+This command behaves identically to |\center| but {\bf left} justifies the data
+entry. See |\center| for more details.
+
+
+\mbr
+\ext\@|\math{<argument>}|
+\nbr
+This command is similar to |\displaymath| except that it sets up a normal
+text mathematics mode. Thus |\math{\alpha}| is equivalent to |$\alpha$|. In a
+table format, it is used in conjunction with the |\center|, |\right|, and
+|\left|. Thus |\math\center| produces a data column in text mathematics mode.
+
+\mbr
+\ext\@|\midtabglue [=] <glue>|
+\nbr
+Changing the |<glue>| value of this parameter will insert tabskip glue into
+the internal columns in the table. The first and last column tabskip
+glues are set to 0pt plus 1fill. This is really only useful in conjunction with
+|\tablespread| when it is required that a table stretch to a bigger size.
+
+\mbr
+\ext\@|\modifystrut{<original>}{<add to height>}{<add to depth>}
+\mst = \modifystrut|
+\nbr
+|\modifystrut| and its abbreviation |\mst| will create and insert a strut
+that is |<add to height>| higher and |<add to depth>| lower. These latter are
+dimensions and may be negative. The |<original>| may be a strut or a complete
+expression. |<original>| could even be a duplication of the row,
+as long as the row contained no explicit |&| characters and excluding the
+|\br| and |\er|. However, the arguments of the |\br| and |\er| could be
+included.
+
+
+\mbr
+\ext\@|\right|
+\nbr
+This command behaves identically to |\center| but {\bf right} justifies the data
+entry. See |\center| for more details.
+
+
+\mbr
+\ext\@|\sa{<text>}|
+\nbr
+This command creates an empty box of zero height and depth with the width of
+the natural width of |<text>|. It is, in effect, a horizontal strut and is used to
+create columns that have the minimum width as others in the table, without
+measuring. It was used to make a sample line in the {\it AT\&T} table in
+Section~\ref{intable}.
+
+\mbr
+\ext\@|\sprule|
+\nbr
+This is the name of the command that is inserted in a rule column by the
+command |\|\vrt. It is usually a rule but in fact is unrestricted. It is
+initially definded as a vrule of width |2.5\tr|.
+
+
+\mbr
+\ext\@|\tablespread = {<halign specification>}|
+\nbr
+This is a token list that can include any specification that is valid for an
+|\halign|, or equivalently a box. See Chapter~\ref{basbox} for details. A
+simple example is when a table is supposed to be exactly 8cm --- assuming that
+its natural width is less. Then a |\tablespread = {to 8cm}|, added just
+after the |\begintable|, along with the
+default tabskip glue, will produce it. An example is the {\it AT\&T} table at
+the beginning of the section.
+$$
+\centerline{
+\begintable
+\tablespread = {to 8cm}
+\begintableformat
+\center " \center " \center
+\endtableformat
+\br{} \sa{Dividend} "\sa{Dividend} "\sa{Dividend} \er{} %sample line
+\-
+\br{\:|} \use{3} AT\&T Common Stock \er{|}
+\-
+\br{\:|} Year | Price | Dividend \er{|}
+\-
+\br{\:|} 1971 | 41--54 | \$2.60 \er{|}
+\-
+\br{\:|} ~~~2 | 41--54 | ~2.70 \er{|}
+\-
+\br{\:|} ~~~3 | 46--55 | ~2.87 \er{|}
+\-
+\br{\:|} ~~~4 | 40--53 | ~3.24 \er{|}
+\-
+\br{\:|} ~~~5 | 45--52 | ~3.40 \er{|}
+\-
+\br{\:|} ~~~6 | 51--59 | ~~.95\rlap* \er{|}
+\-
+\br{\:}\use{3} \left{* (first quarter only)}
+\endtable
+}
+$$
+
+
+
+\mbr
+\ext\@|\tcs|
+\nbr
+This dimension is the spacing inserted to the left and right of every data
+column by \intex\ through the use of the |\left|, |\center| and |\right|
+commands. It may be modified by |\tcs = <new dimen>|.
+
+\mbr
+\ext\@|\thrule{<height>}|
+\nbr
+This command is used to insert a horizontal rule of thickness |<height>|
+across an entire data column. The command |\use{3}\thrule{2.5\tr}| will
+insert a horizontal line across three data columns, and omit the intervening
+vertical rules, if any.
+
+\mbr
+\ext\@|\tr|
+\nbr
+This dimension is the basic table line dimension, being the width of vertical
+lines and the height of horizontal lines (rules). It defaults to the
+natural width and height of \tex\ vrules and hrules, namely .4pt. It may be
+modified by |\tr = <new dimen>|.
+
+\mbr
+\ext\@|\tvrule{<width>}|
+\nbr
+This is a vertical line or rule with width |<width>|. The default value of
+|<width>|, which is a dimen, is |\tr|.
+
+\mbr
+\ext\@|\use{<number of data columns>}|
+\nbr
+This command effectively merges the next
+|<number of data columns>| into one and uses the format or template of the
+{\bf last} one. Thus if the last template is |\center|, then
+|\use{4} Table| will put |Table| in the center of these four columns. If the
+last column had a |\left| format but it was still desired to center |Table|
+then |\use{4} \center{Table}| will do the job. This is \intex's version of
+|\multispan| especially tailored to the idea of rule and data columns.
+
+\mbr
+\ext\@|\zerocenteredbox{<text>}
+ \zb = \zerocenteredbox|
+\nbr
+|\zerocenteredbox| and its abbreviation |\zb| will take the |<text>| and put
+it in a box, centered, and of zero height and depth. It automatically checks
+modes so that it will work correctly even with display math templates. It is
+used to place rows of data so that they are visually between data entries in
+other columns. For instance, the following table had its last two rows done
+this way.
+
+\bigbreak
+\centerline{
+\begintable
+\begintableformat
+ \left"&\center
+\endtableformat
+\fulltablerule{2.5\tr}
+\br{\:\|} \| \use{5} SERVICE \er{\|}
+\br{\|} \| \use{5}\- \er{\|}
+\br{\:\|}CANONICAL\| Fully | Dynamic | Complete | Switched | Switched \er{\|}
+\br{\:\|}NETWORK \|Connected|Allocation|Broadcast | Complete |Broadcast \er{\|}
+\br{\:\|} \| | | | Broadcast| \er{\|}
+\fulltablerule{3\tr}%---------------------------------------------------------
+\br{\:\|} Fully \| | | | | \er{\|}
+\br{\|} \|\zb{$v$} |\zb{$v$} | \zb{$v$} |\zb{$(N-1)v$}|\zb{$(N-1)v$}\er{\|}
+\br{\:\|}Connected\| | | | | \er{\|}
+\- %--------------------------------------------------------------------------
+\br{\:\|}Simplex Tree\| | | | | \er{\|}
+\br{\|} \|\zb{$v/(N-1)$}|\zb{$v$}|\zb{$v/(N-1)$}|\zb{$v$}|\zb{$v$}\er{\|}
+\br{\:\|}Collection\| | | | | \er{\|}
+\fulltablerule{2.5\tr} %------------------------------------------------------
+\endtable
+}
+
+
+
+and is given by
+\begingroup \eightpoint
+\beginttverbatim
+\1centerline{
+\1begintable
+\1begintableformat
+ \1left"&\1center
+\1endtableformat
+\1fulltablerule{2.5\1tr}
+\1br{\1:\1|} \1| \1use{5} SERVICE \1er{\1|}
+\1br{\1|} \1| \1use{5}\1- \1er{\1|}
+\1br{\1:\1|}CANONICAL\1| Fully | Dynamic | Complete | Switched | Switched \1er{\1|}
+\1br{\1:\1|}NETWORK \1|Connected|Allocation|Broadcast | Complete |Broadcast \1er{\1|}
+\1br{\1:\1|} \1| | | | Broadcast| \1er{\1|}
+\1fulltablerule{3\1tr}%---------------------------------------------------------
+\1br{\1:\1|} Fully \1| | | | | \1er{\1|}
+\1br{\1|} \1|\1zb{$v$} |\1zb{$v$}|\1zb{$v$}|\1zb{$(N-1)v$}|\1zb{$(N-1)v$}\1er{\1|}
+\1br{\1:\1|}Connected\1| | | | | \1er{\1|}
+\1- %--------------------------------------------------------------------------
+\1br{\1:\1|}Simplex Tree\1| | | | | \1er{\1|}
+\1br{\1|} \1|\1zb{$v/(N-1)$}|\1zb{$v$}|\1zb{$v/(N-1)$}|\1zb{$v$}|\1zb{$v$}\1er{\1|}
+\1br{\1:\1|}Collection\1| | | | | \1er{\1|}
+\1fulltablerule{2.5\1tr} %------------------------------------------------------
+\1endtable
+}
+\endttverbatim
+\endgroup
+\ejectpage
+
+\endblockmode
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thauto.tex b/macros/inrstex/inrsdoc/thauto.tex
new file mode 100644
index 0000000000..f21b5973ce
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thauto.tex
@@ -0,0 +1,379 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{auto}
+\marginnotestrue
+
+\def\cqu{\cquote{Words are sensible signs necessary for
+understanding.}{Concerning Human Understanding, Book III, Chap. II,
+John~Locke (1632-1704)}}
+
+
+\chapterhead{auto}{AUTONUMBERING\cr REFERENCING\cr and TAGGING}
+\intex\ provides facilities for automatic numbering and referencing of
+chapters, sections, equations, figures, and tables.
+Both the number of a chapter, equation, \dots\ and its page may be
+referenced.
+In addition there are
+general features for defining your own special numbers and tags. For
+instance, it is possible to obtain a new number for, say problem exercises,
+by just calling |\newautonum{ex}|. This will create all the commands
+necessary for referencing, resetting, and autoincrementing these numbers.
+
+Chapters, sections, subsections, {\it etc}, are also autonumbered and can be
+referenced through tags. For instance this chapter has the tag |auto|. To
+insert the value of the tag in the text, it is only necessary to type
+|\ref{auto}|, which in this case gives \ref{auto} without any extra braces
+brackets or periods.
+Details of creating tags for chapters and sections are discussed in
+Chapter~\ref{shead} starting on page \pref{shead}.
+
+\intex\ also supplies facilities for automatically numbering and creating
+paper or journal citations (sometimes called confusingly, at least here, {\it
+references}). These are discussed in Chapter \ref{cite}, page \pref{cite}.
+The facilities for creating lists of tables or figures are found in Chapter
+\ref{toc} starting on page \pref{toc}\footnote{\dagger}{One must be careful
+not to overdo an easily used facility.}.
+
+\shead{autocomlist}{Command List}
+\begintwocolumn
+\ext|\aneq|
+\ext|\aneqtag|
+\ext|\autonumberingon|
+\ext|\autonumberingoff|
+\ext|\autoreferencingon|
+\ext|\autoreferencingoff|
+\ext\@|\autoeqnum|
+\ext\@|\autotblnum|
+\ext\@|\autofignum|
+\ext|\auto<type>num|
+\ext|\inputtagfiles|
+\ext|\newautonum|
+\ext|\newtag|
+\ext|\numberbychapter|
+\ext|\numberbysection|
+\ext|\Prerefform|
+\ext|\Postrefform|
+\ext|\pageref \pref|
+\ext|\pagequietref \pqref|
+\ext|\pagetagsoff|
+\ext|\pagetagson|
+\ext|\quietref \qref|
+\ext|\ref|
+\ext|\silent|
+\ext|\specialnumberscontinuous|
+\ext\@|\<type>tagrefformat|
+\ext\@|\<type>num|
+\ext\@|\<type>tagreplaceformat|
+\ext\@|\<type>numform|
+\endthreecolumn
+
+\shead{tagcon}{Tagging Conventions}
+Such items as section heads, equations, figures, and tables may be given
+symbolic ``tags'' so that references to them will be correct even if there
+are deletions, insertions, or shufflings. ``Normal'' tags refer to the
+section, equation, or figure numbers while ``page'' tags refer to the page
+where the item occurred. Page tags are turned on with the \@|\pagetagson|
+command and turned off with \@|\pagetagsoff|. The default is |\pagetagsoff|.
+
+The tagging system within \intex\ is designed to work best when the
+autonumbering features are on.
+It is designed so that both forward and
+backward references are possible. This is done by saving the tags in a file
+while \tex\ is processing. The next time the document is processed, the use
+of the command |\autonumberingon| or
+|\autoreferencingon| will bring in the latest version of the tag
+file. As tags are generated, the new definitions and values replace the old
+ones. When there is a reference to a tag that has not
+yet been (newly) defined, the old value is used. To guarantee that the tag
+references are correct, the document should be processed twice. This, of
+course is only necessary on the ``final'' version.
+
+
+All tags, whether they are for chapters, sections, equations, citations,
+or specials
+{\bf must be unique within the entire document}. This allows for the value of
+a tag, which is usually a number, may be referred to by |\ref{<tag>}|
+or |\quietref{<tag>}| and the page number where it occurred by
+|\pref{<tag>}| or |\pqref{<tag>}|, no
+matter the type being tagged. The quiet forms of the refs do not create
+margin notes and do not check to see if a tag actually exists. Thus both
+|\qref{<tag>}| and |\pqref{<tag>}| will give an error
+if |<tag>| does not exist.
+The quiet forms {\bf must} be used inside section heads and are recommended
+whenever the ref is passed as a parameter to som other command.
+The tag value does not have
+any additional brackets or braces around it. For instance, if an equation was
+given a tag of |theq|, and that was eventually given the value of 2.11 where
+the first number is the section or chapter and the second is the equation
+number, then |\ref{theq}| would insert 2.11 into the text. To obtain ``Eq.
+(2.11)'' in the text it is necessary to type |``Eq. (\ref{theq})''|, the
+(\dots) being put in explicitly.
+
+In almost all instances, the actual tag is generated automatically by the
+autonumbering forms. However, the |\newtag{<tag>}{<tagvalue>}| command will
+create a tag with the name |<tag>| and the value |<tagvalue>| for |\ref| and
+the current page number for |\pref|.
+
+Sometimes it is necessary to create the tag
+{\it silently, ie} without any trace in the text. Although |\newtag| does not insert
+into the text, |\auto...num| does. The commands
+ \@|{\silenttrue \auto...num{<tag>}}| will cause the
+|\...num| to increment but nothing will be placed in the text. T
+his is preferred
+to |\silent{<text>}|.
+Note that |{\silenttrue <text>}| will normally put the |<text>| in the
+document.
+
+\shead{refformats}{Tag Insertion Formats}
+When a new tag and auto number is created, there are a number of reference
+forms for that tag that are also created. These are
+\begintt
+\<type>tagrefformat
+\<type>tagreplaceformat
+\<type>numform
+\endtt
+The first governs the format of the initial replacement of the |<tag>| when
+it created. The default in |\newautonum{<type>}| is to make it the same as
+|\<type>tagrefformat|. The second,|\<type>tagrefformat| is the format for inserting
+the tag value when it is actually referred to in the text.
+The third |\<type>numform| is set initially equal to
+|\the\<type>num|, the value of the counter corresponding to |<type>|. This
+may be modified if something other than simple arabic numerals are wanted.
+|\newautonum{<type>}| defines
+|\<type>tagrefformat| to be equivalent to
+``|\Prerefform \<type>numform \Postrefform|''.
+The commands |\Prerefform| and |\Postrefform|
+are defined by |\numberbysection|, |\numberbychapter| and modified when
+inside Appendices.
+
+\shead{validtag}{Valid Tag Forms}
+Any character except the following ``|\ $ % & _ ^ { } "| \vrt'' are
+valid as, and within tags.
+
+\shead{numcon}{Numbering Conventions}
+There are basically two types of autonumbers in \intex, those that deal with
+chapters, sections, subsections, subsubsections, and appendices, and the {\it
+special} ones defined for equations, tables, figures, or any created
+especially for that document.
+
+Associated with every autonumber is a {\it count} with the name |\<type>num|.
+For instance the count associated with equations is |\eqnum| and that with
+subsections is |\sshnum|. However, when the number is actually inserted
+into the text, it is not the raw number that is inserted, but rather some
+formatted version. The formatting appends to the basic count, either nothing,
+or the numbers corresponding the chapter or section where the number was
+first created. The actual formatting depends upon what type of numbering
+format is in force.
+
+For instance, for a document with chapters, the ordinary convention is to
+number the specials as
+``|<chapter number>.<special number>|''. If
+the document has sections but no chapters, and if |\numberbysection| has been
+called, the format is ``|<section number>.<special number>|''. The default in
+\intex\ is neither of these but is continuous numbering.
+This means that the
+specials have the form ``|<special number>|'' and are not reset, except in
+appendices, throughout the document. Continuous numbering of specials is
+forced by |\specialnumberscontinuous|.
+
+Appendices are treated specially. The specials are reset upon entering an
+appendix, and the reference formats always include the appendix number. The
+appendix number is usually an uppercase roman letter, although other formats
+are possible.
+
+\shead{autocomforms}{Command Forms}
+\beginblockmode
+\ext\@|\aneq \aneqtag{<tag>}|
+\nbr
+These commands are specials for use in display math mode to create equation
+numbers. They increment the equation counter |\eqnum|, and insert either a
+left or right hand equation number as appropriate, with the equation number
+{\bf surrounded} by brackets like (|<num>|). This is provided to reduce the
+amount of typing required. The |\aneqtag{<tag>}| also creates a |<tag>|
+possible reference.
+
+\mbr
+\ext\@|\autonumberingon|
+\nbr
+This command turns automatic numbering on. It brings in the tag file with name
+|\jobname.tag|, if it exists, and opens a new version for writing the tags
+generated by that \tex\ processing run. The |\jobname| is the file name of
+the \tex\ file {\bf without} the normal |.tex| extension.
+No errors will result if this command is called several times.
+
+\mbr
+\ext\@|\autonumberingoff|
+\nbr
+This command turns automatic numbering off and closes the tag file.
+\intex\ defaults to |\autonumberingoff|.
+
+\mbr
+\ext\@|\autoreferencingon|
+\nbr
+This command turns automatic referencing on. It brings in the tag file with name
+|\jobname.tag|, if it exists. A |\ref{<tag>}| will result in the
+|<tagvalue>| being put in the text. A |\pref{<tag>}| will result in the page
+number where |<tag>| was last defined being put in the text.
+No errors will result if this command is called several times.
+\intex\ defaults to referencing being active but does not automatically bring
+in a |.tag| file.
+
+\mbr
+\ext\@|\autoreferencingingoff|
+\nbr
+This command turns referencing off.
+Both |\ref{<tag>}| and |\pref{<tag>}| will result in the
+|<tag>| being put in the text.
+
+
+\mbr
+\ext\@|\auto<type>num{<tag>}|
+\nbr
+This is the basic command for incrementing the |<type>| number and creating a
+tag for that number with the tag name of |<tag>| and the tag value of the
+number in the correct format given the numbering form in force. \intex\
+defines three basic types, |eq| for equations, |fig|, for figures, and |tbl|
+for tables. The tag is written to the |.tag| file.
+
+\mbr
+\ext\@|\inputtagfiles [=] {<input command><file name> ...}|
+\nbr
+In some cases it may be useful to bring in a file or list of files
+of tags other than those in
+|\jobname.tag|. |\inputtagfiles| is a |<token list>| of commands of the type
+given.
+For instance the master file for this book was called |th.tex|
+while the file for this chapter was called |thauto.tex|. If
+|\autonumberingon| is called when \tex ing this chapter by itself, the tag
+file brought in will have the name |thauto.tag|. To use the |th.tag| file it
+is only necessary to put
+\begintt
+\inputtagfiles = {\inputwithcheck{th.tag} } in the chapter file.
+\endtt
+
+
+\mbr
+\ext\@|\newautonum{<type>}|
+\nbr
+This command creates all the necessary commands for using and referring to
+the autonumber of |<type>|. The |<type>|s defined by \intex\ are |eq|, |fig|,
+and |tbl|, corresponding to equations, figures, and tables respectively. It
+is recommended, but not required that |<type>| be restricted to 3 or fewer
+characters. This allows for a consistent use of |<type>| as the extension of
+list file used for eventually creating a table of items for the table of
+contents part of a document.
+For instance, the equation numbering was created with |\newautonum{eq}|. This
+created the counter |\eqnum|, and the
+commands |\eqnumform|, |\eqtagreplaceformat|, and |\eqtagrefformat|. Any of
+these can be changes at will. However, care must be taken if consistent
+numbering formats is to be maintained.
+
+\mbr
+\ext\@|\newtag{<tag>}{<tag value>}|
+
+\ext\@|\newttag{<tag>}{<tag value>}|
+
+\ext\@|\newptag{<tag>}|
+\nbr
+This creates a (normal) tag with reference name |<tag>| and value
+|<tag value>| and a page tag with the reference name|<tag>| and the current
+page value. These
+tags are written out to the |.tag| file if it is open. Page tags will get
+lost if they are produced inside a box that is never inserted in the text.
+This occurs for {\bf all} text inside a |\silent{<text>}|.
+|\newttag{<tag>}{<tag value>}| creates and writes a normal tag while
+|\newptag{<tag>}| creates and writes a page tag.
+
+\mbr
+\ext\@|\numberbychapter|
+\nbr
+This command will cause {\it specials} to be reset at the beginning of each
+new {\bf chapter}, and to append the {\bf chapter} number to any tag reference and to the
+original tag replacement.
+
+\mbr
+\ext\@|\numberbysection|
+\nbr
+This command will cause {\it specials} to be reset at the beginning of each
+new {\bf section}, and to append the {\bf section} number to any tag reference and to the
+original tag replacement.
+
+
+\mbr
+\ext\@|\pagequietref{<tag>} \pqref{<tag>}|
+\nbr
+This is a putting the page number in the text that corresponds to any
+|<tag>|
+that has been previously
+defined. It does not attempt to create a margin note nor does it
+check to see if the |<tag>| is valid. This allows the
+reference to be used in such places as section heads, titles, captionboxes.
+In fact it {\bf must} be used in {\bf any} place where the surrounding text is
+written to a special file or the terminal.
+Page references {\bf are always from the previous version.}
+
+
+\mbr
+\ext\@|\pageref{<tag>} \pref{<tag>}|
+\nbr
+This is the basic command for inserting the
+page number corresponding to any |<tag>| that has been previously
+defined. Page references {\bf are always from the previous version.}
+
+\mbr
+\ext\@|\pagetagson \pagetagsoff|
+\nbr
+These commands turn page tags on and off respectively. The default is off.
+It is important to wait until the page containing the item is actually output
+before turning off page tags. The page tags are actually generated when the
+page is output \dots\ not before.
+
+
+\mbr
+\ext\@|\quietref{<tag>} \qref{<tag>}|
+\nbr
+This is a putting the |<tagvalue>| in the text that corresponds to any
+|<tag>|
+that has been previously
+defined. It does not attempt to create a margin note nor does it
+check to see if the |<tag>| is valid. This allows the
+reference to be used in such places as section heads, titles, captionboxes.
+In fact it {\bf must} be used in {\bf any} place where the surrounding text is
+written to a special file or the terminal.
+
+
+
+\mbr
+\ext\@|\ref{<tag>}|
+\nbr
+This is the basic command for inserting the
+|<tagvalue>| for any |<tag>| that has been previously
+defined.
+
+
+\mbr
+\ext\@|\silent{<text>}|
+\nbr
+This command expands the |<text>| inside a |vbox|, but without ever having it
+enter the document. This is a way to call out a |\figureinsert| in order to
+create the normal tags and list files without it actually appearing in the text.
+{\bf Page tags will not be created in this case.}
+Note that tags defined inside a |\silent| {\it may} not appear in the
+margin. The actual mechanism used is
+|\setbox0 = \vbox{<text>}|. See Chapter~\ref{basbox} for more details on
+|box| commands.
+
+\mbr
+\ext\@|\specialnumberscontinuous|
+\nbr
+This command will prevent the {\it special} numbers from being reset at any
+point in the document, except appendices. A reference to a {\it special} number
+tag will result in the value of the appropriate counter with no section or
+chapter numbers added. {\bf All special numbers are treated the same way.}
+
+
+\endblockmode
+
+\ejectpage
+\marginnotesfalse
+\done
diff --git a/macros/inrstex/inrsdoc/thbas.tex b/macros/inrstex/inrsdoc/thbas.tex
new file mode 100644
index 0000000000..4dfc9e1afa
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thbas.tex
@@ -0,0 +1,220 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{bas}
+\def\testhrule{\hrule}
+\def\testvrule{\vrule}
+\def\cqu{\cquote{Once a ``question'' is perfectly understood, we
+must free it of every conception superfluous to its meaning \dots}{
+ Rules for the Direction of the Mind, Rule XIII,
+Ren\'e~Descartes (1596-1650)}}
+
+\chapterhead{bas}{BASIC IDEAS\cr and\cr TERMINOLOGY}
+This chapter introduces some more terminology used in \tex\ and \intex. These
+are {\it boxes, glue, dimensions, modes, penalties, groups, tokens, token lists,
+definitions, macros, assignments} and {\it parameters}.
+
+\shead{boxes}{Boxes}
+
+\vbox{\hrule\hbox{\vrule\vbox{\hsize=\hcolumnsize
+\tex\ can be imagined as assembling boxes, in various {\it modes},
+much in the same way that a child
+builds a castle.
+Pages are formatted by glueing together such boxes. This page has some of the
+component boxes outlined so you can see them. In fact this paragraph
+is surrounded by a box that is made up by \tex's page paragraph builder,
+when it pastes together a page. However this process starts from the bottom
+up. First \hh{l}\hh{e}\hh{t}\hh{t}\hh{e}\hh{r}\hh{s} are glued together
+horizontally to make the word \hh{letters}. Then all the words in a paragraph
+are glued together, with appropriate
+interword spacing, in a single long line. Finally this long line is broken
+into page-width lines in the nicest way.
+}\vrule}\hrule}
+
+A {\it horizontal} box, one with a {\it horizontal list} such as the
+words in a paragraph, is an |\hbox|. A
+{\it vertical} box, for example the one that contains the
+vertical list of |\hbox|es for the lines,
+is called a |\vbox|.
+The most important |\vbox| for \tex\ is the one that is used to collect the
+lines that make up the page. This is box 255, and it is on this box that the
+page builder works. There are, in fact, 256 boxes available to use. Some of
+these have been already used by |plain| or an extension package.
+
+
+\shead{glue}{Glue}
+Boxes are not the whole story. Between boxes there is {\it glue}. This glue
+can stretch or shrink and is stretched or shrunk in order to make a list of
+boxes inside another, such as words on a line, evenly fill out the line. This
+is how words are right justified on a line. When there is not enough stretch
+or shrink available, \tex\ complains about an {\it underfull} or {\it
+overfull} box. Overfull boxes are indicated on the document with an ugly
+black vertical line at the end of the offending box. Underfull boxes cause
+error messages and the glue is stretched beyond its limits.
+When glue is inserted, it shows up as blanks or white space.
+More detail on glue will be found in Chapter~\ref{dimnum}.
+
+\let\testhrule=\relax
+\let\testvrule=\relax
+
+\shead{dimensions}{Dimensions}
+Boxes have dimensions that consist of a |<decimal number>| and a two letter
+unit of measurement such as |in| for inches or |cm| for cm. Thus ``2.54cm''
+is another way of saying ``1in''. When \tex\ is processing some text looking
+for a dimension, it reads the next two letters after a number and attempts to
+interpret this as a unit of measure, whether or not there is a space or non
+letter following. More details on dimensions will be found in
+Chapter~\ref{dimnum}.
+
+\shead{modes}{Modes}
+When \TeX\ is
+putting together a horizontal list of boxes, such as characters in a line,
+it is said to be in the {\it horizontal} mode. The result of working on a
+{\it horizontal} list of boxes is a {\it horizontal} box.
+
+If \TeX\ is putting together
+boxes {\bf inside} another {\it horizontal} box, it is in the {\it internal} {\it horizontal} mode.
+Lines are assembled as a {\it vertical} list to create {\it vertical} boxes. When
+assembling {\it vertical} list of boxes to makeup a page, \TeX\ is said to be in
+{\it vertical} mode. When processing a {\it vertical} list of boxes to make up a
+{\it vertical} box it is in the {\it internal vertical} mode. \tex's page builder is in
+action when \tex\ is in {\it vertical} mode. When in {\it internal \it vertical} mode it is
+not. In fact this is about the {\bf only} difference between the two
+modes.\footnote{\ddagger}{This was not the case in \tex78.}
+
+\TeX\ has two other modes, {\it mathematics} mode, and {\it display mathematics}
+mode. It is in these modes that mathematical equations, subscripts, and
+superscripts are produced. You {\bf cannot} create subscripts and superscripts
+in non {\it mathematics} mode. {\it Mathematics} mode is used to imbed {\it mathematics}
+or mathematical symbols amongst normal text. {\it Display mathematics} will
+create a displayed equation.
+
+For the most part \tex\ will flip from one mode to another automatically when
+it meets a command that should occur in one of the specific
+modes.
+
+\shead{penalties}{Penalties}
+\tex\ does its work by assigning {\it penalties} to various visually
+disturbing aspects of the page. It then tries to make the total of these
+penalties as low as possible, and when it happens, confidently declares that
+the best possible job has been done. Sometimes the results are not as nice as
+either you or \tex\ would like. \tex\ not liking it means that there was no
+feasible way to do things, such as build a paragraph, or break a page without
+violating the norms of good taste as embodied in such things as glue
+stretching badness on a line. The result is {\it underfull} or {\it overfull}
+boxes. In some cases, the result is just plain awful. \tex\ has about 40
+parameters, and the various extensions many more. Any of these may be changed
+to improve a given situation. In fact, since \tex\ actually assigns penalties
+based on the context or state of a page, the penalty approach will
+theoretically satisfy any objective. Difficulties arise in choosing the
+penalties to match your objectives and upon obtaining a consensus on
+objectives. The playing with penalties is an advanced occupation.
+
+\shead{grouping}{Grouping}
+One of the most important ideas in \tex, is that of a {\it group}.
+Commands in \intex\ of the form |\begin... \end...|,
+the inside of boxes and fields in an |\halign| always
+form a {\it group}. The |{...}| also form a group {\bf unless they are
+being used to determine the parameters for a definition}.
+
+A {\it group} allows for an action to be restricted to a small locality,
+and to easily revert to the previous form when going outside the group. For
+instance, this paragraph is set in roman type. The command |\bf| \bf causes
+everything after it to appear in bold face type until there is something like
+a |\rm| \rm to return it back to normal. However if the |\bf| were placed
+inside a group, the effect of the command will be undone when leaving the
+group {\bf without} you having to remember what to undo. To insert some
+{\bf bold face type} in the midst of roman type just enclose it in a group
+like |{\bf bold face type}| and the roman will magically reappear after the
+group.
+
+Both |{...}| and the |\begingroup...\endgroup| pairs define groups. The
+major difference is that the text inside |{...}| is absorbed by \tex\
+immediately as a single entity while the passing through a |\begingroup| just
+causes \tex\ to note that it has gone into another level of grouping.
+
+Braces |{...}| are most useful to define parameter groups for definitions
+For instance the command |\sqrt{<math expression>}| uses the |{...}| to
+determine exactly what should be under the square root sign. They are also
+useful for short groups within the body of the text.
+
+However, for major, long groups the |\begingroup...\endgroup| pair should
+be used.
+For instance, in \intex, |\beginappendices| begins a group which is
+ended when you say |\endappendices|. While inside that group special
+changes to the format of equation numbers and section references are
+occurring. When the group is left, these are undone. In fact, in \intex, any
+command that has the form |\begin...| will enter a group and have a
+corresponding |\end...| associated with it that must be used to properly
+leave the group.
+
+While \tex\ is still reading commands, before it has settled down to actually
+doing its work, braces and |\begingroup...\endgroup| pairs do not need to
+match. This is a perfectly valid grouping
+|{...\begingroup...}...\endgroup|.
+In fact |{ ...\endgroup| is not a valid grouping.
+When the information in the \tex\ commands get finally
+deep down inside \tex, all groups are the same and if a group is opened it
+must eventually be closed. This is possible because of the special way that
+\tex\ destroys braces while it is digesting commands. \tex\ never destroys
+|\begingroup...\endgroup| pairs.
+
+\shead{tokenlists}{Tokens and Token Lists}
+When \tex\ reads your file, it {\bf immediately} changes the input characters
+{\it tokens}. In this sense a command like |\begingroup| is a {\bf single}
+token. A {\it token list} is simply a list of tokens. One of the features of
+\tex\ that is used in \intex\ is the named {\it token list}. For instance,
+\intex\ defines the token list |\chaptername| to be the chapter name. This
+chapter has a name
+\begintt
+\chaptername = {Basic Ideas\cr and\cr Terminology}
+\endtt
+Note that there are |\cr| in this list that do not give any trouble. To
+insert the contents of a {\it token list} into the text, the command
+|\the\chaptername| is used. The following
+\begingroup
+\chaptername = {Basic Ideas\cr and\cr Terminology}
+$$
+\centerline{\vbox{\halign{\strut\hss #\cr
+ \the\chaptername \cr}}}
+$$
+\endgroup
+is obtained by
+\begintt
+\centerline{\vbox{\halign{\strut\hss #\cr
+ \the\chaptername \cr}}}
+\endtt
+\def\mjf{Michael J. Ferguson}
+
+\shead{defsintro}{Definitions or Macros}
+Both \tex\ and \intex\ let the user define their own commands. These are of
+the form |\<name>| and are single tokens. The terms {\it definitions} and
+{\it macros} are to be considered identical. If for some reason your name
+occurs frequently in your text, the following would make typing easier:
+\begintt
+\def\mjf{Michael J. Ferguson}
+\endtt
+would allow for ``\mjf, \mjf, \mjf'' to be inserted in the text by merely typing
+``|\mjf, \mjf, \mjf|''. More details on definitions will be found in
+Chapter~\ref{defs} and in the \texbook.
+
+All the internal \intex\ macro definitions have an {\tt @} as the second
+letter. Since an {\tt @} is not normally allowed in definition names there is
+no danger that you will inadvertently redefine a command that is used by
+\intex\ but is not found in the command index (following page \pref{index}).
+
+
+\shead{assignments}{Assignments and Parameters}
+{\it Parameters} in \tex\ and \intex\ are used to keep and allow modification
+of such things as page sizes, list spacing, or page margins. They are all
+modified by
+\begintt
+\<parameter name> [=] <new value>
+\endtt
+where the ``|=|'' is optional. For example
+\begintt
+\houterpagesize = 8in
+\endtt
+will change the width of the page to eight inches.
+
+\ejectpage
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thbasbox.tex b/macros/inrstex/inrsdoc/thbasbox.tex
new file mode 100644
index 0000000000..86f7b6d2e9
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thbasbox.tex
@@ -0,0 +1,383 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{basbox}
+
+\def\cqu{}
+
+\chapterhead{basbox}{BASIC\cr BOX\cr COMMANDS}
+\TeX 's major preoccupation is to make
+boxes. This chapter discusses the basic commands that create and use boxes.
+Boxes can be acquired, measured, split, copied, and squashed. \tex\ allows
+almost anything that can be done on a page to be done inside a box.
+
+\shead{boxcom}{Command List}
+\beginthreecolumn
+\pri|\box|
+\ext|\boxit|
+\pri|\boxmaxdepth|
+\pri|\copy|
+\pla|\centerline|
+\pri|\dp|
+\pri|\everyhbox|
+\pri|\everyvbox|
+\pri|\hbox|
+\pri|\ht|
+\pri|\hrule|
+\pla|\leftline|
+\pla|\line|
+\pla|\llap|
+\pri|\lower|
+\pla|\newbox|
+\pri|\raise|
+\pla|\rightline|
+\pla|\rlap|
+\pri|\setbox|
+\ext|\strut|
+\pri|\unhbox|
+\pri|\unhcopy|
+\pri|\unvbox|
+\pri|\unvcopy|
+\pri|\vbox|
+\pri|\vcenter|
+\pri|\vrule|
+\pri|\vsplit|
+\pri|\vtop|
+\pri|\wd|
+\ext|\zerocenteredbox|
+\endthreecolumn
+
+\shead{boxtype}{Vertical and Horizontal Boxes}
+There are two kinds of boxes, horizontal and vertical. This
+differentiation is only one of {\it use}, not of quality. All boxes have a
+height |\ht|, width |\wd|, and depth |\dp|, and reference point.
+The reference point is at the left hand end of the {\it baseline} of the box.
+
+\boxexample
+\noindent
+Horizontal lists of boxes are lined up along their baselines. Vertical lists
+of boxes are lined up along their reference points.
+
+
+
+The major difference is that
+an |\hbox| contains a {\it horizontal} list of commands and boxes and
+assembles these on a horizontal line while a
+|\vbox| contains vertical list of commands and boxes and assembles them on
+top of each other in a vertical list.
+
+While inside a horizontal box, \tex\ is said to be in {\it internal}
+horizontal mode. This is the mode that is wanted when there is some centering
+or other coercive placement of text on a line required.
+The inside of a vertical box is known as {\it internal vertical mode}. Almost
+anything that can be done on a page can also be done inside a vertical box.
+The {\bf width} of a |\vbox| is determined in the following way: if the mode
+inside the box is never changed from
+vertical, the box width is the {\it natural} width of the material inside; if
+the mode in the box changes to either horizontal or mathematics, the width of
+the box is the current value of |\hsize|. If it has not been changed,
+|\hsize| will probably be the width of a page. The mode in the box will be
+changed to horizontal if there is either mathematics or ordinary text placed
+in the box without first being enclosed in an |\hbox| such as a
+|\centerline|.
+
+One box is very special, namely box 255. This box is the page building box
+and only material in this box is acted upon by the page builder and breaker.
+When \tex\ is in this box, it is said to be in (non-internal) {\it vertical}
+mode.
+Although only box 255 can be worked upon by the page builder, other boxes can
+be split, using rules similar to the page builder by the |\vsplit| command.
+It is possible then to accumulate text in a long vertical box for future
+splitting when the length of the box is known. A newbox is acquired by
+|\newbox|.
+Text is placed in a box using
+the |\setbox| command and removed using any one of a number of |\box|,
+|\copy| or |\unvbox| commands, with various effects on the box contents.
+Boxes may be superimposed by forcing their height, depth, and width to be
+zero, making sure there is appropriate internal glue to allow the contents to
+spill out and prevent overfull boxes. The commands |\rlap| and |\llap| allow
+for horizontal superposition of |\hboxes|. As might be expected, the effects
+can be interesting.
+
+Box registers are numbered from 0 to 255.
+|\newbox\<box name>| allocates an unused box number
+and assigns it the symbolic name |\<box name>| which now
+can be used wherever there is a need for a box number.
+
+The following example does not result in an overfull
+box and illustrates a number of the commands in this section. The intent is
+to acquire a box, put a character into it, coerce its size down to a point,
+and then to move it around so that the result is an overlapping pattern of
+the character. The result is
+ \newbox\testbox
+ \setbox\testbox = \vbox{\hbox{$\bigodot$\hss}\vss}
+ \dp\testbox=0pt \ht\testbox=0pt \wd\testbox=0pt
+ \centerline{.\copy\testbox \lower1ex\copy\testbox
+ \hskip .5em \lower1ex\copy\testbox}
+\vskip .25in
+It is obtained, with accompanying explanation, by
+\begintt
+
+ \newbox\testbox %allocates a newbox called \testbox
+ \setbox\testbox = \vbox{\hbox{$\bigodot$\hss}\vss}
+ % sets the box \testbox to be a \vbox -- the \vss
+ % and \hss prevent the overfull box
+ \dp\testbox=0pt \ht\testbox=0pt \wd\testbox=0pt
+ % the size of \testbox is now 0 -- the \vss and
+ % \hss above leave the reference point in the upper
+ % lefthand corner
+ \centerline{.\copy\testbox \lower1ex\copy\testbox
+ \hskip .5em \lower1ex\copy\testbox}
+ % the . is for reference --- the centerline puts it
+ % in the middle of the page
+\endtt
+
+
+
+
+\shead{boxcomforms}{Command Forms}
+\beginblockmode
+\pri\@|\box{<named box>}|
+\nbr
+This command takes the |<named box>|, whether a |\vbox| or
+|\hbox|, and places it at that point in the present list. The resulting
+|<named box>| is now empty.
+
+\mbr
+\ext\@|\boxit{<line thickness>}{<border separation>}{<box, vlist>}|
+\nbr
+|\boxit| takes the box, or vertical list and puts a box around it with a
+border separated from the |<box>| by |<border separation>| and a having a
+thickness of |<line thickness>|. For example
+
+\centerline{\boxit{2pt}{3pt}{\hbox{Center}}}
+is given by
+\begintt
+\centerline{\boxit{2pt}{3pt}{\hbox{Center}}}
+\endtt
+
+\mbr
+\pri\@|\boxmaxdepth [=] <dimen>|
+\nbr
+This sets the maximum box depth to |<dimen>|. If the natural depth of the box
+is greater than |<dimen>|, the box is raised (increasing its natural height)
+until the depth does equal |<dimen>|.
+
+\mbr
+\pri\@|\copy{<named box>}|
+\nbr
+This takes the |<named box>| and puts it in the present list. The box
+contents are {\bf not} destroyed.
+
+
+\mbr
+\pla\@|\line{<horizontal list>}|
+\nbr
+\pla\@|\centerline{<horizontal list>}|
+\nbr
+\pla\@|\leftline{<horizontal list>}|
+\nbr
+\pla\@|\rightline{<horizontal list>}|
+\nbr
+|\line| is an |\hbox| the same size as |\hsize|, the natural size of the
+enclosing box such as a page. |\leftline|, |\centerline|, |\rightline|
+respectively take the |<horizontal list>| and force it to the left, middle,
+and right parts of the box.
+|\line| is identical to |\hbox to \hsize{<horizontal list>}|. |\leftline| is
+|\line{<horizontal list>\hss}|, |\centerline| is |\line{\hss<horizontal
+list>\hss}|, and |\rightline| is |\line{\hss<horizontal list>}|.
+
+\mbr
+\pri\@|\box dimensions ... \dp \ht \wd|
+\nbr
+\pri\@|\dp<named box> [=] <dimen>
+ \ht<named box> [=] <dimen>
+ \wd<named box> [=] <dimen>|
+\nbr
+The commands |\dp \ht \wd| refer to the depth, height, and depth of the
+|<named box>|. The form above sets the |<named box>| to these dimensions.
+
+
+\mbr
+\pri\@|<scale factor>\dp<named box>
+ <scale factor>\ht<named box>
+ <scale factor>\wd<named box>|
+\nbr
+These forms are all valid |<dimen>| and can be used when ever a |<dimen>| is
+valid. For instance |\hsize = .378\wd\testbox| is a valid assignment for
+|\hsize| as long as |\testbox| is a valid box number. These forms are useful
+for some types of arithmetic.
+
+
+\mbr
+\pri\@|\everyhbox = {<token list>}|
+\nbr
+\pri\@|\everyvbox = {<token list>}|
+\nbr
+This command inserts the |<token list>| as the first set of commands whenever
+an |\hbox| or |\vbox|, respectively is entered by \tex.
+
+\mbr
+\pri\@|\hbox <box spec>{<horizontal list>}|
+\nbr
+\pri\@|\vbox <box spec>{<vertical list>}|
+\nbr
+These insert |\hbox| and |\vbox| respectively, according to the |<box spec>|
+and containing the |<... list>|. The |<box spec>| is a specification sequence
+for the box.
+
+\mbr
+\pri\@|<box spec>|
+\nbr
+The |<box spec>| is one of the following:
+\nbr
+\bshortcomlist
+\noalign{\vskip -\lastskip}
+| to <dimen>|&this sets a
+|\hbox| to width |<dimen>| or a |\vbox| to height |<dimen>| ; if |<dimen>| is
+|\hsize|, the box is the natural width of the surrounding box or page \cr
+|<nothing>|&this lets the box take on its natural width or height\cr
+\eshortcomlist
+
+\pri\@|\vbox{\hsize [=] <dimen> <text>}|
+\nbr
+This creates a |\vbox| with a specified horizontal dimension. {\bf This box
+will accept almost anything that can be put on a page including display
+mathematics, |\centerline|, and ordinary text.} It is the basic mechanism for
+creating boxes that look like pages for future pasting up into a
+page.\footnote{\dagger}{This replaces the |\hbox par <dimen>{<...>}| in
+\tex78.}
+
+\mbr
+\pri\@|\hrule [height <dimen>] [width <dimen>] [depth <dimen>]|
+\nbr
+\pri\@|\vrule [height <dimen>] [width <dimen>] [depth <dimen>]|
+\nbr
+These commands create lines of the specified height, width, and depth. Any or
+all of the parameters may be omitted. The |\vrule| is used in {\it horizontal}
+mode and the |\hrule| is used in {\it vertical} mode. If there is no
+dimension given the {\it rule} is the natural size of the enclosing box. For
+instance, on a page the enclosing box is the page itself. Thus
+\begintt
+\par
+\hrule
+\endtt
+gives
+\par
+\hrule
+a line across the entire page. Rules are used to make the lines in the
+|\boxit| macro earlier in this section.
+
+\mbr
+\pla\@|\llap{<text>}|
+\nbr
+\pla\@|\rlap{<text>}|
+\nbr
+These commands allow |<text>| to be superimposed on the text around it.
+The |\rlap| creates a box of width 0pt and forces the |<text>| out to the
+right. |\llap| does the same thing but to the left. Thus |\rlap{A}$\odot$| and
+|A\llap{$\odot$}| give the same result namely \rlap{A}$\odot$, and
+A\llap{$\odot$} respectively. This is a way to put text into either margin.
+
+
+\mbr
+\pri\@|\lower<dimen><box>|
+\nbr
+\pri\@|\raise<dimen><box>|
+\nbr
+These commands work only in {\it (internal) horizontal} mode. They lower or
+raise the |<box>| by the |<dimen>|. An example of their use was illustrated
+in the previous section.
+
+\mbr
+\pri\@|\setbox<named box> [=] <box>{<list>}|
+\nbr
+This is the basic command for putting contents in a |<named box>|. The
+|<box>| is any valid |\hbox| or |\vbox| including a |<box spec>| if desired.
+The |<list>| is either vertical or horizontal depending upon the box type.
+
+\mbr
+\ext\@|\strut|
+\nbr
+|\strut| is a |\vrule| of zero width,
+with height and depth for normal baseline spacing in the current font point
+size family. It is useful
+in |\vbox{\hsize <dimen> \strut <text> \strut}|. The two |\strut|s will
+ensure correct spacing when boxes of this sort are stacked upon each other.
+
+
+\mbr
+\pri\@|\unhbox{<named hbox>}|
+\nbr
+\pri\@|\unhcopy{<named hbox>}|
+\nbr
+\pri\@|\unvbox{<named vbox>}|
+\nbr
+\pri\@|\unvcopy{<named vbox>}|
+\nbr
+These commands take the contents of the |<named box>|, remove the outer box,
+unset the internal glue, and put it in the list at this point. The |..box|
+forms destroy the contents of the box and leave it |void|, while the |..copy|
+forms do not.
+
+\mbr
+\pri\@|\vcenter{<vertical list>}|
+\nbr
+This command works in {\it math} or {\it display math} mode only. It creates
+a |vbox| out of the |<vertical list>| and sets the reference baseline in the
+center of the resultant box. It is used for centering expressions in display
+mathematics.
+
+\mbr
+\pri\@|\vsplit<named box> to <dimen>|
+\nbr
+A new |vbox| with height |<dimen>| and maximum depth
+\@|\splitmaxdepth| is created from the contents of |<named box>|. Any remains are left in
+the |<named box>|. This is useful for some simple multicolumn forms.
+
+
+\mbr
+\pri|\vtop <box spec>{<vertical list>}|
+\nbr
+This command creates a |vbox| with the baseline reference of that box
+being the baseline of the {\bf first box} in the |<vertical list>|. This is
+useful in the following way. This quotation
+
+\centerline{\veryraggedright
+ \vtop{\hsize 1.8in The plans of the diligent lead
+ surely to abundance, but every
+ one that is hasty comes only to
+ want.}
+ \hss
+ \vtop{\hsize 1.8in This quotation comes from {\it Proverbs
+ 21, Verse 5}. It suggests care.}
+ }
+is given by
+\begintt
+\centerline{\veryraggedright
+ \vtop{\hsize 1.8in The plans of the diligent lead
+ surely to abundance, but every
+ one that is hasty comes only to
+ want.}
+ \hss
+ \vtop{\hsize 1.8in This quotation comes from {\it Proverbs
+ 21, Verse 5}. It suggests care.}
+ }
+\endtt
+Note that these are lined up on the first rows.
+
+\mbr
+\ext|\zerocenteredbox {<text>}|
+\nbr
+This creates an |hbox| of zero height and depth with the width of the
+|<text>|. Thus a
+|\zerocenteredbox{\bf point}| gives \zerocenteredbox{\bf point}\ with the
+placement as shown. The reference point of the box is at the center of the
+text which effectively lowers it to the baseline.
+This command is intended for use in making tables. See
+Chapter~{\ref{align}} for more details.
+
+\endblockmode
+
+\ejectpage
+\done
+ \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thbreak.tex b/macros/inrstex/inrsdoc/thbreak.tex
new file mode 100644
index 0000000000..029a603627
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thbreak.tex
@@ -0,0 +1,60 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{break}
+
+\def\cqu{}
+
+\chapterhead{break}{BREAKS\cr and\cr NOBREAKS}
+\tex\ controls the breaking of lines and pages by the judicious insertion of
+penalties, both positive and negative. A negative penalty will encourage
+a break
+and a positive penalty will inhibit it. The commands in this chapter either
+inhibit or cause breaks. In addition, most of them have some form of vertical
+skip. All but |\linebreak| are intended to be used in vertical mode. In all
+cases, the use of a |\...break| in horizontal mode will first cause a change
+to (internal) vertical mode where the penalty will be applied. A penalty of
+$\pm$10000 is the same as $\pm$ infinity.
+
+\shead{breakcoms}{Command Forms}
+Since the commands generally do not take parameters, the command list is
+being dispensed with.
+\bshortcomlist
+\pla\@|\allowbreak|&no penalty for a break \dots\ |\penalty 0|\cr
+\pla\@|\break|&causes a break \dots\ |\penalty 10000|\cr
+\pla\@|\bigbreak|&encourages break and vskips the maximum of the
+|\bigskipamount| and the |\lastskip| \dots\ |\penalty -200| \dots\ skip is
+\quad\hbox to .25in{\vbox{\hrule width .25in\bigbreak\hrule}} \cr
+\pla\@|\bye|&terminates a document and vertical |fill|s the page\cr
+\pri|\discretionary|&a discretionary break or hyphen. The form is
+\@|\discretionary{<pre break text>}{<post break text>}{<text>}|. If
+there is a break, the |<pre break text>| goes on the first line and the
+|<post break text>| goes on the second line. If there is nobreak, the
+|<text>| is used.\cr
+\ext\@|\done|&terminates a document and vertical |fill|s the page and does
+some tests on groups used in \intex. \cr
+\ext\@|\end|&terminates a document without doing any fill on the last page\cr
+\pla\@|\filbreak|&encourages a break with |\penalty -200| and vertical |fils|
+the page. It is useful for address lists where it is desirable not to split
+an individual address at a page boundary\cr
+\pla\@|\eject|&causes a column or page break but does not vertical |fill| the
+page. Its use usually causes underfull boxes.\cr
+\ext\@|\ejectcolumn|&causes a column break (equivalent to a page break in single
+column) and vertical |fills| the page\cr
+\ext\@|\ejectpage|&causes a page break and vertical |fills| the page \dots\ in
+multicolumn this will cause a new page, not just a new column\cr
+\pla\@|\goodbreak|&encourages a break \dots\ |\penalty -200|\cr
+\ext\@|\linebreak|&forces a line break in horizontal mode {\bf and} |fils| the
+ line forcing the words to the left side of the line\cr
+\pla\@|\medbreak|&encourages break and vskips the maximum of the
+ |\medskipamount| and the |\lastskip| \dots\ |\penalty -100| \dots\ skip is
+ \hbox to .25in{\vbox{\hrule width.25in\medbreak\hrule}} \cr
+\pla\@|\nobreak|&does not allow a break \dots\ |\penalty 10000|\cr
+\ext|\penaltybreak|&form \@|\penaltybreak{<penalty>}{<skip size>}| \dots\
+ this is a generalization of |\medbreak| allowing arbitrary penalties and skip
+ sizes\cr
+\pla\@|\smallbreak|&encourages break and vskips the maximum of the
+|\smallskipamount| and the |\lastskip| \dots\ |\penalty -50| \dots\ skip is
+\hbox to .25in{\vbox{\hrule width .25in\smallbreak\hrule}} \cr
+\eshortcomlist
+\ejectpage
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thcite.tex b/macros/inrstex/inrsdoc/thcite.tex
new file mode 100644
index 0000000000..4196f2a4d6
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thcite.tex
@@ -0,0 +1,251 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{cite}
+
+\def\cqu{\cquote{Always verify your references.}{Martin~Joseph~Routh
+(1755-1854)}
+}
+
+\chapterhead{cite}{CITATIONS\cr or REFERENCE\cr LISTS}
+\intex\ provides facilities for automatic numbering and creation of {\it
+citation } or {\it reference} lists. The listing format supported
+is that of the IEEE, which numbers citations sequentially in the
+order that they are called out in the document. For short lists (about 40-60
+citations), the actual citation forms may be in random order. For very long
+lists, the citation form file must be ordered in the same manner as the
+citations should appear in the document. Page referencing for citations is
+not supported.
+
+\shead{citcomlist}{Command List}
+\begintwocolumn
+\ext|\citenum|
+\ext|\cite|
+\ext|\citeform|
+\ext|\citetagvalue|
+\ext|\closecitationtagfile|
+\ext|\initcitetag{<integer>}|
+\ext|\inputciteformfiles|
+\ext|\inputcitetagfiles|
+\ext|\lastcitetag{<integer>}|
+\ext|\makecitationlist|
+\ext|\makelongcitationlist|
+\endthreecolumn
+
+\shead{makecite}{Making Citations}
+A citation is made in a document using a
+format such as |[\cite{<citation tag>}]| where the |<citation tag>| may be of
+any valid tag form (see Section~{\ref{validtag}}, page \pref{validtag}).
+If a |\cite| is used in internal vertical mode, for example in a section or
+chapter head title, then the margin notes will disappear. If it used in any
+field that may become a tag, then disaster will occur. This latter should
+never happen.
+When the first |\cite| is called, the citation tag file is opened
+automatically and tag generated for this citation, and the
+numerical value is placed in the text. Subsequently, a |\cite|
+will
+define a new tag if it is the first time it has been called and place the
+numerical value in the text. The command |\citeref{<tag>}| will place the
+numerical value of the citation in the text but will neither open the
+citation tag file if it is closed nor define a new tag if it is undefined.
+If a citation is to be defined but the value should not be put in the text,
+then
+|{\silenttrue \cite{<citation tag>}}| should be used.
+
+
+The actual citation forms are maintained in a separate file whose
+default name is |\jobname.cfm|. The command |\makecitationlist|
+does not require that the citation forms in the |.cfm| file be in the same
+order and may include citation forms that are not even used. However,
+because of limitations on \tex's internal memory, the maximum number of
+citations in a |.cfm| file used by |\makecitationlist|
+is limited to approximately 40 to 60. If \tex\ runs out of memory it is
+necessary to use |\makelongcitationlist| instead. When using this command,
+the |.cfm| file may be of any length but the citation forms must be in the
+correct order, and include only those actually cited in the document.
+This must be done by some program external to \intex.
+
+
+The citation form command in the |.cfm| file is
+|\citeform{<citation tag>}{<TeX citation form macro>}|. The
+|<TeX citation form macro>| is of any form but will usually be a special
+|\listitem|. The actual number of the particular citation being written is
+held in the command |\citetagvalue|. This command should be placed at that
+place in the |<TeX citation form macro>| where the citation number should
+appear.
+
+The first call to the |\cite| command will open the |\jobname.ctg| file where
+the tags for the citations are stored.
+Then
+|\initcitetag{<integer>}| where |<integer>| is one less than the lowest
+number in the citation list is written. This number allows for several
+independent citation lists to exist in a single document, for instance at the
+end of each chapter. When the file is closed, either with a
+|\makecitationlist| or a |\closecitationtagfile|, an
+|\lastcitenum{<integer>}| is written. The |<integer>| is the current value of
+the |\citenum|.
+
+To make a citation list the following is required:
+\beginttverbatim
+\1beginlist % citations are usually listitems ... should be group
+\1frenchspacing % suppresses extra space after periods
+<initial macros \1ejectpage, make Reference header
+ and set up list>
+\1makecitationlist % or \1makelongcitationlist
+\1endlist
+\endttverbatim
+The actual list of macros is inserted, in order by |\makecitationlist| or
+by |\makelongcitationlist|. The latter must be used if there are too many
+citations for \tex's memory. In that case the |\jobname.cfm| file must be
+sorted and contain only those citations actually used.
+These commands automatically close the |\jobname.ctg| file, if it is open.
+
+\shead{prelcite}{Prelude Citations}
+Occasionally citations appear in the prelude of a document, sometimes
+through a
+section head and hence in the table of contents.
+Usually the citation numbers should be those that occur later in the text
+rather than the ones that would occur naturally.
+The |\cite| in the prelude causes the citation tag file to open prematurely
+and the |\citenum| to be incremented incorrectly. To get around this problem,
+use the following procedure:
+\begintt
+\begingroup % limits effect to initial section
+\inputwithcheck{<filename>.ctg} %inputs the .ctg file if it exists
+\let\cite=\citeref % cites only refer now
+<text with \cites>
+\endgroup % where you want citations to behave normally
+\endtt
+
+
+\shead{citecomforms}{Command Forms}
+\beginblockmode
+\ext\@|\citenum|
+\nbr
+|\citenum| is the counter that holds the current largest citation number
+used. This number is equal to or larger than that set by
+|\initcitetag{<integer>}|.
+
+\mbr
+\ext\@|\cite{<citation tag>}|
+\nbr
+This command places the citation number, corresponding to the
+|<citation tag>| in the text, without any surrounding brackets or braces.
+If the |<citation tag>| has not been defined, or if it was defined for a
+previous citation list, the |\citenum| is increased by one, and a tag is
+created with that new value. Multiple citations may be called in a single
+place by |[\cite{<citetag1>}, \cite{<citetag2>}, ...]|. However, there is
+{\it no} sorting capability so that the numbers may appear out of sequential
+order. The first |\cite| opens the citation tag file.
+|{\silenttrue \cite{<citetag>}}| will define and increment the citation
+counter but will not insert the citation value in the text.
+
+\mbr
+\ext\@|\citeform{<citation tag>}{<TeX macro form>}|
+\nbr
+This is the form that must be used in the file |\jobname.cfm|
+file that actually contains the list of citations. The |<citation tag>| is
+the same on used in the text when the citation is called out. The
+|<TeX macro form>| is the \tex\ macro that will actually be inserted into the
+reference list. This must contain all the information needed to produce the
+final form of the citation. Since the actual citation number is being
+supplied by \intex, it is necessary to include the \tex\ command
+|\citetagvalue| in the place required in the text. For instance, if the
+|\listitem| command was being used as the basic form, and if the citation tag
+were |[Knut84]|, then an appropriate |\citeform| for the \texbook\ would be
+\begintt
+\citeform{[Knut84]}{\listitem \citetagvalue D.E. Knuth,
+ {\bf \TeX book}, {\it Addison Wesley Pub. Co.}, 1984}
+\endtt
+
+
+\mbr
+\ext\@|\citetagvalue|
+\nbr
+This command contains, at the time of a |\citeform| execution, the number of
+that particular citation.
+
+
+\mbr
+\ext\@|\closecitationtagfile|
+\nbr
+This closes the |\jobname.ctg| file, if it is open. Since the |.ctg|
+file is closed
+automatically whenever |\makecitationlist| is called, this command is seldom
+used.
+
+\mbr
+\ext\@|\initcitetag{<integer>}|
+\nbr
+This command is written into the |.ctg| file when it is opened. It
+establishes the minimum value of |\citenum| for this list. The actual
+reference value is determined by subtracting this value from the
+|<tagvalue>|.
+
+
+
+\mbr
+\ext\@|\inputciteformfiles
+ [=] { \inputwithcheck{<first form file>}
+ ...
+ \inputwithcheck{<last form file>} }|
+\nbr
+This is a token list of files, each prefaced by
+|\inputwithcheck|, that contain the citations for a particular citation
+list. The command |\inputwitcheck| determines whether the file exists
+before trying to open it. The default is |\inputwithcheck{\jobname.cfm}|.
+
+
+
+\ext\@|\inputcitetagfiles
+ [=] { \inputwithcheck{<first tag file>}
+ ...
+ \inputwithcheck{<last tag file>} }|
+\nbr
+This is a token list of files, each prefaced by
+|\inputwithcheck|, that contain the citation tags for a particular citation
+list. The command |\inputwitcheck| determines whether the file exists
+before trying to open it. The default is |\inputwithcheck{\jobname.ctg}|.
+The |\jobname.ctg| file contains the tags for the citation list.
+These tags are in order of call out and numbered
+sequentially. It also includes the |\initcitetag| command.
+
+\mbr
+\ext\@|\lastcitetag{<integer>}|
+\nbr
+This command is written into the |.ctg| file when it is
+closed either by a |\closecitationtagfile| or a
+|\makecitationlist|. It is used to reset |\citenum| when using successive
+independent
+citation lists.
+
+
+
+\mbr
+\ext\@|\makecitationlist|
+\nbr
+This command reads in the |\jobname.cfm| file. It then reads the
+|\jobname.ctg| file and converts the list of citation tags into
+a correctly ordered list of citations. The citation forms in the
+|\jobname.cfm| file may be in any order and may include ones that are not
+used.
+Any formatting control commands such as
+|\beginlist ... \endlist| must be placed around it.
+
+
+\mbr
+\ext\@|\makelongcitationlist|
+\nbr
+This command reads in the |\jobname.cfm| file and assigns citation numbers
+to the citation forms in the order that they appear. Errors from those
+indicated by the |\citetagvalue| are reported.
+ The citation forms in the
+|\jobname.cfm| file {\bf must be in the same order as called out in the
+document and include only those that are actually used.}
+Any formatting control commands such as
+|\beginlist ... \endlist| must be placed around it.
+
+
+\endblockmode
+\ejectpage
+
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thcont.tex b/macros/inrstex/inrsdoc/thcont.tex
new file mode 100644
index 0000000000..5659f92ec1
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thcont.tex
@@ -0,0 +1,224 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{cont}
+
+\def\cqu{\cquote{The life is so short, the craft so long to learn.}{Aphorisms,
+Hippocrates (460-400~BC)}
+}
+
+
+\chapterhead{cont}{SPECIAL CHARACTERS\cr and\cr ACCENTS}
+This chapter discusses {\it special characters}, both those that are single
+keys (usually) on the terminal but are used for special purposes
+and those, non mathematics, that end up in the final text as
+single characters. An example of the first is the |{| used for grouping (see
+Chapter~\ref{bas} information on {\it grouping}) and an example of the latter is the copyright sign
+\copyright\ that is obtained by typing |\copyright|. For special mathematics
+symbols see Chapter~\ref{matsym}.
+
+Section~\ref{controluse} discusses the special characters that do not
+normally print and are used by \tex\ and \intex\ for control purposes.
+Section~\ref{controlprint} tells how to print them in the text.
+
+A second set of special use characters, usually single keys,
+are really single character commands to \tex\
+and \intex. Their behaviour varies depending on the circumstances. In most
+cases, they can be used with little or no thought. Occasionally errors in use
+might cause some confusion. For instance, in \intex\ the ``\vrt'' is
+interpreted as a vertical bar or rule in normal text and mathematics, but as a
+column separator with a vertical rule while building tables using \intex's
+|\begintable...\endtable| commands. The complete set of these commands for
+\intex\ is given in Section~\ref{activechar}.
+
+
+The rest of this chapter discusses the second class of special {\it text}
+characters, and the means of inserting them in the text.
+Section~\ref{specialtextsymbols} shows how to obtain such interesting
+characters as the British Pound ``{\it\$}'' paragraph symbol ``\P''.
+Quotes, both English ``\dots'' and French
+{\language = 1 \ldq\dots\rdq} are discussed in
+Section~\ref{quotes}.
+Accents
+on ordinary text letters are in Section~\ref{ordaccent} and on mathematics in
+Section~\ref{mathaccent}.
+
+
+
+\shead{controluse}{Control Characters - Meaning}
+\tex\ and \intex\ have reserved the following control characters for the uses
+indicated. None of these characters will be actually printed in the text.
+\bshortcomlist
+|\|&escape character \dots starts
+ all control and command sequences \cr
+|{}|&grouping brackets \cr
+\% &indicates the end of a line in a \TeX\ file. Anything after the
+ \%\ will be ignored by \TeX\ while processing the file. This is used
+ for comments. \cr
+|\@|&superscript sign\cr
+|_|&subscript sign\cr
+|&|&alignment character used to align characters from line to line\cr
+|$|&\it mathematics mode indicator\cr
+|$<expression>$|&{\it mathematics} mode start and end \cr
+|$$<expression>$$|&{\it display mathematics} mode \dots start and end \cr
+|#|&parameter indicator for definitions and in alignment preambles\cr
+|~|&the {\it tie} character \dots\ really an unbreakable space between words.
+For instance, the space between the initials in D.E. Knuth allows the last
+name to be split from the initials at the end of the line. The sequence
+|D.E.~Knuth| will leave the space but not allow the break.\cr
+\eshortcomlist
+
+
+\shead{controlprint}{Control Characters - Printing}
+The control characters
+\begintt
+ { } # $ % & _ \ ~ ^
+\endtt
+\ls
+are obtained by the control sequences
+\begintt
+ $\{$ $\}$ \# \$ \% \& \_
+ $\backslash$ \^{ } \~{ }
+\endtt
+\ls
+respectively,
+except as accents. The last two are actually
+obtained by ``accenting'' a space.
+In mathematics the ``~\^{ }~'' and the ``~\~{ }~'' must be obtained using
+the mathematic accents (see Section~\ref{mathaccent})
+as |\hat{ }| or |\tilde{ }|.
+The net effect of this is that all characters are available in any mode.
+
+\shead{activechar}{\intex\ Special Characters}
+\intex\ special characters are all active --- meaning that they
+are single character control sequences. The complete list is
+given below. They are used for specifying column separators
+in tables.
+\bshortcomlist
+\vrt&this is a \vrt\ in normal text, a \vrt\ {\it Rel} in mathematics (see
+Chapter~\ref{matsym}). While making a table inside \intex\
+|\begintable ... \endtable|, the \vrt\ is a vertical rule or line column
+that is used to separate data columns and {\bf must
+not be used in mathematics inside tables -- use |\vrt|}
+ (see Chapter~\ref{align}).\cr
+|"|&the double quote should not be used in ordinary text. \intex\ will give
+you a gentle reminder to either |``| or |''|. It will then put the " in the
+text. The |"| is used while making tables for indicating a rule column where
+the rule is omitted.\cr
+\eshortcomlist
+
+\shead{specialtextsymbols}{Special Text Symbols}
+\tex\ supplies a number of special symbols that can be used in ordinary text,
+and some admonitions about those that should not. There are three kinds of
+dashes in normal typeset material and \tex\ supplies all three. They are
+- -- --- and are produced by |-| |--| and |---| respectively. They are known
+officially as the {\it dash, endash,} and {\it emdash}. They are used as
+hyphens, word separators, and idea separators, respectively.
+These are recognized by \tex\ as {\it ligatures}. Although the English
+ligatures such as ``ff'' and ``ffi'' are recognized by \tex, most in other
+languages are not.\footnote{\dagger}{However, it is easy to modify \tex\ so
+that it does recognize those ligatures. Meanwhile, it is necessary to live
+with the mechanism given.}
+These require
+special symbols. In addition there are special symbols such as
+\copyright\ and \dots\ that are also useful.
+Here is a list supplied by {\it plain}
+\bshortcomlist
+\@|\aa, \AA|& the \aa\ and \AA \cr
+\@|\ae, \AE|& the ligature \ae\ or \AE \cr
+\@|\copyright|&the copyright symbol \copyright \cr
+\@|\dag|& the dagger \dag. The math mode |$\dagger$| looks similar but
+ incorporates the spacing of a binary operator. \cr
+\@|\ddag|& the double dagger \ddag. The math mode
+ |$\ddagger$| looks similar but incorporates the
+ spacing of a binary operator. \cr
+ |\dots|&dots in text \dots\ like so \cr
+\@|{\it\$}|&the nonobvious British Pound {\it\$} \cr %indexing problem with $
+\@|{\it\&}|&the script ampersand {\it\&} \cr
+\@|\i|&the dotless \i\ for use in \^\i \cr
+\@|\j|&the dotless \j\ for use in \^\j \cr
+\@|\l, \L|&the \l\ and \L \cr
+\@|\o, \O|&the \o\ and \O \cr
+\@|\oe, \OE|&the ligature \oe\ or \OE \cr
+\@|\P|&the paragraph symbol \P \cr
+\@|\S|&the section symbol \S \cr
+\@|\ss|&the \ss \cr
+\eshortcomlist
+
+
+\shead{quotes}{Opening and Closing Quotes}
+The ``double quote'', |"| on the keyboard {\bf should not be used},
+except in its accent form |\"| to be described later in
+Section~{\ref{ordaccent}} on accents.
+For the |\englishversion| of \intex, opening {\bf double} quotes may be obtained either
+with the |``| in plain or using |\ldq|. The closing {\bf double}
+quotes may be obtained
+similarly using the |''| or the |\rdq|. When |\versionfrancaise| is in force,
+|\ldq| and |\rdq| when used like so |\ldq guillemets\rdq|\footnote{\ddagger}{This is the best we can
+do with the present fonts} will give {\language=1 \ldq guillemets\rdq}.
+Note that the |\rdq| is an ordinary command that will delete spaces following
+it.
+
+
+\shead{ordaccent}{Ordinary Accents}
+The ordinary accents supplied in {\it plain} are for the occasional insertion
+of a foreign language in English text. The mechanisms are complete, and the
+accents are quite well placed, but the method of obtaining them from
+keyboards with special characters is not built in. In \tex, the accent always
+precedes the letter accented. Thus |\'ecole| gives \'ecole, and |fran\c cais|
+gives fran\c cais. Note the annoying space after the |\c| in the word. This
+form of input reduces the readability of the text. Agreement is needed to
+obtain a consistent multi-language format.
+
+The following is a list of the ordinary accents in \tex\ specified by {\it
+plain}.
+\bshortcomlist
+|\`<char>|&accent grave as in \`a\cr
+|\'<char>|&accent acute as in \'e \cr
+|\^<char>|&circumflex or ``hat'' as in \^o \cr
+|\"<char>|&umlaut as in \"o \cr
+|\~<char>|&tilde as in \~n \cr
+|\=<char>|&long vowel as in \=o \cr
+|\.<char>|&dot accent as in \.a \cr
+|\b|\]|<char>|&accent bar-under as in \b d, note space \] \cr
+|\c|\]|<char>|&accent cedilla as in \c c, note space \] \cr
+|\d|\]|<char>|&accent dot-under as in \d o, note space \] \cr
+|\u|\]|<char>|&accent breve as in \u o, note space \] \cr
+|\v|\]|<char>|&``check'' as in \v o \cr
+|\H|\]|<char>|&long Hungarian umlaut as in \H o\cr
+|\t|\]|<char><char>|&tie-after accent as in \t ao\cr
+\eshortcomlist
+
+
+\shead{mathaccent}{Accents on Mathematical Symbols}
+Placing accents on mathematical symbols requires a certain amount of care.
+{\it Plain} \tex\ gives an extra set of commands that are to be used for characters in
+mathematics mode. All of the following should be used when in mathematics
+mode. Note the required space \], in almost all cases.
+\begingroup \descrwd=2in
+\bshortcomlist
+|<char>'|& the prime as in $x'$ \cr
+|<char>''|& the double prime as in $x''$ \cr
+|\acute|\]|<char>|&as in $\acute x$ \cr
+|\bar|\]|<char>|&as in $\bar x$ \cr
+|\breve|\]|<char>|&as in $\breve x$ \cr
+|\check|\]|<char>|&as in $\check x$ \cr
+|\dot|\]|<char>|&as in $\dot x$ \cr
+|\ddot|\]|<char>|&as in $\ddot x$ \cr
+|\grave|\]|<char>|&as in $\grave x$\cr
+|\hat|\]|<char>|&as in $\hat x$ \cr
+|\tilde|\]|<char>|&as in $\tilde x$ \cr
+|\vec|\]|<char>|&as in $\vec x$ \cr
+|\widehat|\]|<char>[<char>][<char>]|& as in $\widehat{x},\widehat{xy},
+ \widehat{xyz}$\cr
+|\widetilde|\]|<char>[<char>][<char>]|& as in $\widetilde{x},\widetilde{xy},
+ \widetilde{xyz}$\cr
+\eshortcomlist
+\endgroup
+When using these in a technical paper or report, it is probably better to
+make a short definition for the accented character. This will reduce typing
+and facilitate the changing the style {\t consistently} throughout the paper.
+It is a very simple form of {generic typesetting}.
+
+\ejectpage
+\done
+
diff --git a/macros/inrstex/inrsdoc/thcover.tex b/macros/inrstex/inrsdoc/thcover.tex
new file mode 100644
index 0000000000..241014d1c4
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thcover.tex
@@ -0,0 +1,57 @@
+%-*-tex-*-
+
+\paperstyle
+\leftmargin=1.75in
+\topmargin=1.5in
+\fullpagestyle
+\vglue 1in
+\centerline{\vbox{\hsize=8cm\biggfont \baselineskip=22pt\paragraphcenterline
+ THE INRS\TeX\ REFERENCE BOOK}}
+\vskip 1in
+\def\mjf { \par
+ {\it
+ \vskip .25in
+ \centerline {Michael J. Ferguson}
+ \vskip .15 in
+ \centerline {INRS-T\'el\'ecommunications}
+ \vskip .15in
+ \centerline {Montr\'eal}
+ \vskip 1 in }\par } % Author header for Michael J. Ferguson
+\mjf
+\centerline{Rapport technique de l'INRS-T\'el\'ecommunications no. 84-19
+(r\'evision, juillet 1991)}
+\vskip .5in
+\centerline{\biggfont
+Les Publications
+INRS\kern.1em--T\'el\'ecommunications,
+Montr\'eal}
+\vskip 1in
+\beginnarrowtext .5in
+\noindent \eightpoint
+This is a DRAFT version of an introduction to INRS\TeX\ and to \TeX\ in
+general. All suggestions for improvements will be greatly welcome.
+\endnarrowtext
+\bigskip
+\beginnarrowtext .5in
+\veryraggedright \parindent=0pt
+Copyright \copyright\ Michael J. Ferguson,
+INRS-T\'el\'ecommunications, all rights reserved.
+
+\bigskip
+
+\TeX\ is
+copyright by the American Mathematical Society. INRS\TeX\ is
+copyright by INRS\kern.1em--T\'el\'ecommunications and Michael~J.~Ferguson.
+\endnarrowtext
+\ejectpage
+\vglue 2in
+\titlepagestyle
+\beginnarrowtext 1in
+\paragraphcenterline
+{\bf} This version of the INRS\TeX\ REFERENCE BOOK is
+produced using a PostScript Laser Printer using a modified version DVIALW
+developed by
+INRS-T\'el\'ecommunications.
+\endnarrowtext
+\ejectpage
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thdefs.tex b/macros/inrstex/inrsdoc/thdefs.tex
new file mode 100644
index 0000000000..1fb841aea4
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thdefs.tex
@@ -0,0 +1,160 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{defs}
+
+\def\cqu{\cquote{If names are not correct, language will not be in accordance
+with the truth of things.}{Confucius}}
+
+\chapterhead{defs}{SIMPLE\cr DEFINITIONS\cr or MACROS}
+\tex\ makes it easy to invent definitions to make your typing job easier.
+This chapter describes the simplest form of definitions. More complex
+definitions and some of the subtleties are found in the \texbook.
+
+This chapter also introduces the idea that definitions can be modified by
+such primitive commands as |\outer|, |\long|, and |\global|.
+
+Simple definitions consist of those that have zero or more arguments and that
+do not use advanced commands such as |\futurelet|, |\aftergroup|,
+ |\edef|, |\catcode|, |\bgroup|, |\egroup|, |\afterassignment|.
+These
+commands and their use may be found in the \texbook\ and the definition
+package that actually is used to develop {\it plain} or \intex.
+
+If you wish to write complex definitions, please see the warning at the end
+of this chapter.
+
+
+\shead{defcomlist}{Command List}
+\beginthreecolumn
+\pri|\def|
+\pla|\gdef|
+\pri|\global|
+\pri|\let|
+\pri|\long|
+\pri|\outer|
+\endthreecolumn
+
+\shead{defcomforms}{Command Forms}
+\beginblockmode
+\pri\@|\def\<def name> <parameter form>{<replacement text>}|
+\nbr
+This is the basic command for creating new definitions or, as they are
+sometimes called, {\it macros}. The |<def name>| is the name given to
+the definition and {\bf must} consist of letters, upper or lower case only.
+The |<parameter form>| is the form for which \tex\ is looking after it sees
+the |\<def name>| in the text. Parameters in the |<parameter form>| are
+indicated by |#<integer>| where |<integer>| is from 1 to 9, in {\bf order}.
+\tex\ then puts the parameter values that it found into the
+|<replacement text>| and then puts that text in the place of |\<def name>|
+and all of the parameters that it has eaten while filling in the
+|<parameter form>|. Some examples follow:
+
+\dssshead{Simple Replacements --- No Parameters}
+These are the simplest form of definitions. In this case there are no
+parameters and the |<replacement text>| directly replaces the
+|\<def name>|\]\dots\]. The \]\dots\] is there to emphasize that all the
+blanks after the |\<def name>| are eaten by \tex.
+Suppose that the sequence $\alpha\beta\gamma$ kept occurring in the text. Then
+|\abg\|\] defined by |\def\abg{$\alpha\beta\gamma$}|
+\def\abg{$\alpha\beta\gamma$} will produce \abg\ in its place.
+In this example the |<replacement text>| is
+|$\alpha\beta\gamma$|. A second example is the problem of putting {\it italic
+correction\/} in the text, keeping the italic inside the group defined by the
+|{...}|. The |<replacement text>| then should be |{\it italic correction\/}|
+including the braces. Thus the correct definition, if |\itc| is to be the
+|<def name>|, is
+|\def\itc{{\it italic correction\/}}|.
+
+\dssshead{Simple Replacements --- Simple Parameter List}
+These definitions have the |<parameter form>| of |#1|, |#1#2|, \dots,
+|#1#2...#9|. An example is |\def\up#1{$^{#1}$}|. When |\up| is used, the next
+{\it token}, either a character, command, or entire group inside a |{...}| is
+absorbed as |#1| and put into the position of |#1| in the replacement text.
+Thus |\up{**}| becomes |$^{**}$| which is then put in the text in
+place of the entire |\up{**}|.
+Note that |**| and not |{**}| is the parameter for |\up|.
+The |{...}| were used to delimit |**| so that \tex\
+knew that both of them together should be |#1|. ``Thus|\up{**}|''
+gives ``Thus\up{**}''.
+
+Note that a definition made inside a group only lasts as long as the group
+lasts. At that point the definition becomes what it was previous to the
+group.
+
+\mbr
+\pla\@|\gdef\<def name> <parameter form>{<replacement text>}|
+\nbr
+This is identical to |\global\def| and can be used in exactly the same way as
+|\def|. The major difference is that a |\<def name>| defined with a |\gdef|
+does {\bf not} disappear at the end of the group in which it is defined.
+
+\mbr
+\pri\@|\global|
+\nbr
+The command |\global| will cause either the definition, assignment, or
+definition equivalence (|\let|) to be global, {\it ie} not disappear at the
+end of the group. This should be used with care and sparingly.
+
+\mbr
+\pri\@|\let\<def a> [=] \<def b>|
+This command makes the command |\<def a>| be equivalent to, both in
+|<parameter form>| and |<replacement text>|,
+as |\<def b>| at the time that the
+|\let| is called. This command is very useful for such things as
+|\let\sheadfont = \twelvess|. It should be used with care or a circle of
+definitions may be produced.
+
+\mbr
+\pri\@|\long|
+\nbr
+A |\def| may be preceded by a |\long| to give a |\long\def|. When this is
+done the parameters |#1| \dots\ may contain either |\par| or, equivalently,
+blank lines. Without the |\long|, a |\par| in a |#1| will cause an error.
+This is a safety feature to allow \tex\ to isolate errors before the origin
+is completely lost. |\long| should be used with extreme care.
+
+\mbr
+\pri\@|\outer|
+\nbr
+A |\def| may be preceded by |\outer| to give an |\outer\def|. A definition
+so preceded may {\it not} be used in any other definition. Again this is a
+safety feature to catch errors before it is too late. For example, all of
+the section head definitions in \intex, |\shead| and its relatives, are
+declared |\outer|.
+
+It is possible to have a |\outer\long\global\def|.
+\endblockmode
+
+\shead{defwarning}{WARNING --- Clever Definitions}
+It is possible tell \tex\ very complex things. The danger and difficulty for
+debugging increases dramatically as you start to exercise fine control over
+how \tex\ processes the text.
+
+The simplest extension to the forms above is to use the fact that the
+|<parameter form>| can include tokens other than |#<integer>|. This
+additional freedom allows for the input of parameters without requiring that
+they be placed in |{...}|.
+
+The second level of extension is to use the various
+|\if... \else ... \fi| forms to control the actual text that will be placed
+in the text and even the placing of definitions inside definitions.
+
+The next level of complexity arises when the macro builder attempts to
+control when \tex\ expands the various definitions and macros that make up
+the |<parameter forms>| and the |<replacement text>|. For instance, this must
+be done when writing out both the page number and the section number while
+accumulating information for making a table of contents. This requires extreme
+care.
+
+The final level of complexity occurs when the macro writer attempts to
+control how, and when \tex\ tokenizes its input.
+Doing this correctly requires exquisite care. For instance, conditionally
+modifying the catcodes of input on the fly will prevent that input from
+being passed as a parameter to a macro. \tex\ tokenizes once and forever.
+Although making a character active for an entire document is
+relatively simple, flipping it back and forth is error prone.
+
+
+
+\ejectpage
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thdimnum.tex b/macros/inrstex/inrsdoc/thdimnum.tex
new file mode 100644
index 0000000000..d176512ace
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thdimnum.tex
@@ -0,0 +1,141 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{dimnum}
+
+\def\cqu{\cquote{Number the simplest and most universal idea}{
+Concerning Human Understanding, Book II, Chap. XVI,
+John~Locke (1632-1704)}}
+
+
+\chapterhead{dimnum}{DIMENSIONS\cr NUMBERS\cr and GLUE}
+\tex\ is very concerned with the sizes of boxes and letters and the amount of
+freedom to place letters, lines and boxes on a page. Along with the normal
+page numbers, \intex\ keeps track of, among others, chapters, sections,
+subsections and equation numbers. This means that \tex\ has {\it dimensions,
+numbers}, or {\it counters}, and {\it glue}. This chapter introduces the
+valid units of measure and the forms for glue.
+\shead{dimcomlist}{Command List}
+\beginthreecolumn
+\pri|\advance|
+\pri|\multiply|
+\pri|\divide|
+\pri\@|<units of measure>
+ cm em ex in
+ mu pt sp|
+\pla|\newcount|
+\pla|\newdimen|
+\pla|\newskip|
+\endthreecolumn
+
+\shead{dimensions}{Dimensions}
+A dimension, or |<dimen>|, consists of a
+|[+ -]<decimal number><unit of measure>|.
+The |<decimal number>| can be an integer, (called a {\it number}
+in the \texbook), or include a decimal point and a decimal
+fraction. The plus or minus signs are optional.
+
+{\TeX} recognizes English, Metric, Printers, and font relative
+|<units of measure>|.
+Some examples, but not all, are
+\bshortcomlist
+ |cm|&{centimeters \dots\ meters are unknown}\cr
+ |em|&{the width of an ``M'' in the current font}\cr
+ |ex|&{the height of an ``x'' in the current font}\cr
+ |in|&{inches \dots\ feet and yards are unknown}\cr
+ |mu|&{math units, there are 18 to an |em| \dots\ used only in math mode}\cr
+ |pt|&{72.2666 points to an inch}\cr
+ |sp|&scaled points \dots\ \tex's internal measure. There are 16384 |sp| to a |pt|\cr
+ |<scale factor>\dp<box number>|&the depth of box |<box number>| scaled by
+ |<scale factor>|\cr
+ |<scale factor>\ht<box number>|&the height of box |<box number>| scaled by
+ |<scale factor>|\cr
+ |<scale factor>\wd<box number>|&the width of box |<box number>| scaled by
+ |<scale factor>|\cr
+\eshortcomlist
+The last three are dimensions, which may be scaled, of boxes and the previous
+two, |em| and |ex| are relative to a font. This means that a change in the
+font will automatically cause these values to change. Most measurements,
+involving spacing should be font dependent. |sp|, scaled points are \tex's
+internal dimension measure. All \tex\ arithmetic involving dimensions is done
+with integers.
+
+\sshead{dimalloc}{Dimension Allocation}
+\tex\ has 256 registers available for storing dimensions. These are named
+internally using integers from 0 to 255. However, both {\it plain} and
+\intex\ use some of the 256. To obtain a new one, use
+\@|\newdimen\<dimen name>|. \tex\ will assign the next free dimension register
+to the name |\<dimen name>|. For instance \intex\ uses this mechanism to
+obtain a dimension for the horizontal and vertical dimensions
+of the outer page, namely |\houterpagesize| and |\vouterpagesize|
+respectively. If you only want to use a dimension register within a single
+macro definition, then |\dimen0| to |\dimen9| are available.
+
+\shead{numbers}{Numbers or Integers}
+\tex\ supplies 256 integer registers or counters. A number of these
+are already used. For instance |\count0|, the |0| counter is used for
+page numbering.
+To obtain a new count use \@|\newcount\<count name>|.
+
+\shead{glue}{Glue and Skips}
+Glue is the basis for spacing. It consists of three components, a nominal
+size, a stretch and a shrink. The general form of glue is |<nominal dimen>
+[plus <stretch dimen>] [minus <shrink dimen>]|. The |<nominal dimen>| is required
+in all glue assignments but the stretch and shrink are optional. If they are
+not specified, they are set to zero. The use of stretch and shrink glue
+is used for creating ragged right borders on a page.
+
+To obtain a new glue variable, use \@|\newskip\<skip or glue name>|. Specified
+glues are used for skips, and spacing. For instance, the skip at the end of a
+list in \intex\ is just one of many allocated for various spacings in \tex\
+
+\shead{assigndim}{Assignments: Giving dimensions, counts, and skips values}
+The general form of counter, dimension, and glue assignments are
+\beginblockmode
+\mbr
+\@|\<count name> [=] <integer, dimen, glue>|
+\nbr
+The assignment result is always an |<integer>|.
+\mbr
+\@|\<dimen name> [=] < dimen, glue>|
+\nbr
+The assignment result is always a |<dimen>|.
+
+\mbr
+\@|\<skip or glue name> [=] <dimen>
+ [plus <dimen>] [minus<dimen>]|
+\nbr
+The assignment result is always a |<glue>|.
+\endblockmode
+The quantities in the |[...]| are optional. Neither the square |[ ]| nor angle
+brackets |< >| are typed. If a dimension variable is made equal to a glue
+variable, the stretch and shrink parts of the glue variable are lost. If a
+counter or integer is made equal to a dimension, the fractional part of the
+dimension is lost.
+
+\shead{arithmetic}{Arithmetic with Dimensions, Numbers and Glue}
+\tex\ supplies three commands for doing arithmetic with dimensions and such.
+Addition, and subtraction are handled by |\advance|, multiplication by an
+integer by |\multiply|, and division by an integer by |\divide|
+
+\beginblockmode
+\mbr
+\@|\advance \<count, dimen, glue name> by [+ -]<count, dimen, glue>|
+\nbr
+The result is of the appropriate type, |<count>, <dimen>| or |<glue>| with
+extra parameters set to zero.
+
+\mbr
+\@|\multiply \<count, dimen, glue name> by [+ -]<integer>|
+\nbr
+All parts of the |<glue>| are multiplied by the integer.
+
+\@|\divide \<count, dimen, glue name> by [+ -]<integer>|
+\nbr
+All parts of the |<glue>| are divided by the integer.
+
+There is another way to effect arithmetic. This is to note that the
+|\wd|, |\ht|, and |\dp| can take scale factors. Thus multiplication of
+dimensions is possible if the required dimension is acquired by a box.
+\endblockmode
+\ejectpage
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thdocsty.tex b/macros/inrstex/inrsdoc/thdocsty.tex
new file mode 100644
index 0000000000..e21f22c16c
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thdocsty.tex
@@ -0,0 +1,66 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{docsty}
+
+\def\cqu{}
+
+\chapterhead{docsty}{DOCUMENT\cr STYLES}
+\intex\ supplies a number of general and specialized document styles. It is
+also easy to create others within the basic structure given.
+The two basic styles supported by \intex\ is the (default) |\paperstyle| and
+the |\bookstyle| of which this is an example. Different styles are usually
+distinguished by different header/footer conventions, appendix placement and
+numbering, and perhaps default fonts.
+
+In addition to the page changes, a few special commands exist that are
+introduced in the various styles. Since the |\paperstyle| the \intex\
+default, all the |\title|, and abstract commands defined for that are
+available, and will work, for {\bf all} styles.
+
+\shead{paperstyle}{Paperstyle}
+|\paperstyle| is the default style for \intex\. There will be no messages
+indicating that you are using this style. This style is designed for 8.5in
+by 11in paper, |\tenpoint| fonts, no header, and a footer that consists of
+the page number centered at the bottom in this style ``- 6 -'', where 6 would
+have been the page number. In addition to the normal features mentioned
+previously, there is a |\title| command and a
+|\beginabstract...\endabstract| pair.
+
+The description of the commands are:
+
+\beginblockmode
+\ext\@|\beginabstract...\endabstract|
+\nbr
+This command should enclose the entire abstract. The abstract font is the
+|\smaller| font and both sides are indented. The text is automatically
+prefaced by ``Abstract:'' in English and ``Sommaire:'' in French.
+
+\mbr
+\ext\@|\title{<first row>\cr ... <last row>}|
+\nbr
+If the total length of the title is more than one line it is automatically
+broken into multiple lines with each line centered. However, if |\cr| are
+included as part of the title text, the lines will be broken there and
+centered. The title font, called |\titlefont| is |\bigfont|.
+\endblockmode
+
+\shead{inrsstyle}{INRS Report Style}
+This style is very similar to the basic |\paperstyle|. The only addition is a
+set of commands that create a cover. This style is called with either
+\@|\formatinrs| or \@|\inrsreportstyle|. The title, report date, author list,
+and report number are token lists. The actual cover is made with the command
+|\faitepagetitre|. An example of complete cover page is
+\begintt
+\formatinrs
+\titrederapport = {INRS\TeX REFERENCE BOOK}
+\numeroderapport = {84-19}
+\datederapport = {juin 1984}
+\auteursderapport = {Michael J. Ferguson}
+\faitepagetitre
+\ejectpage
+\done
+\endtt
+
+\ejectpage
+
+\done
diff --git a/macros/inrstex/inrsdoc/thfigtbl.tex b/macros/inrstex/inrsdoc/thfigtbl.tex
new file mode 100644
index 0000000000..66a0f58fce
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thfigtbl.tex
@@ -0,0 +1,417 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{figtbl}
+
+\def\cqu{\cquote{Example is always more efficacious than precept.}{Rasselas,
+Samuel~Johnson (1709-1784)}
+}
+
+
+\chapterhead{figtbl}{FIGURE\cr and\cr TABLE INSERTS}
+\vskip 0pt plus 20pt
+\intex\ supplies two basic commands |\figureform| and |\tableform|
+that places figures in the current position, writes to the appropriate files
+for the generation of
+lists of figures and tables, and
+does automatic numbering if
+|\autonumberingon|. The commands |\figureinsert| and |\tableinsert|
+are identical except that the figure is put in place only if there is room on
+the current page. Otherwise, it is placed at the top of the following page.
+
+\intex\ also provides three commands for delayed insertion
+of text. These are |\begintopinsert|, |\beginmidinsert|, and |\beginpageinsert|, which will
+place the text at the top of the page, in place if there is room, or take the
+full next page, respectively. These commands are terminated, by an
+|\endtopinsert|, |\endmidinsert| and |\endpageinsert| respectively.
+
+Finally, |\ejectinserts| forces deferred figures or tables to be printed so
+that they do not spill over into following chapters. This may be necessary,
+for example, before a set of appendices.
+
+\begingroup \hfuzz=20pt
+\shead{figtblcomlist}{Command List}
+\beginthreecolumn
+\ext|\beginmidinsert|
+\ext|\beginpageinsert|
+\ext|\begintopinsert|
+\ext|\captionbox|
+\ext|\captionnumfont|
+\ext|\captiontextfraction|
+\ext|\captiontitlefont|
+\ext|\captionbodyfont|
+\ext|\captionbody|
+\ext|\captionbodyon|
+\ext|\captionbodyoff|
+\ext|\centergraph|
+\ext|\centerplotfile|
+\ext|\ejectinserts|
+\ext|\endmidinsert|
+\ext|\endpageinsert|
+\ext|\endtopinsert|
+\ext|\figureform|
+\ext|\figureinsert|
+\ext|\figurelabel|
+\ext|\rect|
+\ext|\tableform|
+\ext|\tableinsert|
+\ext|\tablelabel|
+\ext|\topcaptiontrue|
+\ext|\topcaptionfalse|
+\endthreecolumn
+\endgroup
+
+\shead{figures}{Possible Figures -- \tex Graph}
+\intex\ supplies a |\rect <hdim> by <vdim>| that will put an empty rectangle
+in the position of the actual figure. The addition of
+\tex Graph allows for the insertion of actual figures. A \tex Graph figure
+may be centered using |\centergraph{<figure>}|. An external plot file, may be
+placed in position by the use of |\centerplotfile{<filename>}|. Both these
+commands use information supplied by \tex Graph to determine the amount of
+space to leave. All files must be processed to be \tex Graph compatible. For
+details on \tex Graph, see ``An Introduction to \tex Graph''.
+
+\shead{caption}{Figure and Table Captions}
+\intex\ supplies a number of facilities for captions. A specific example is
+given as Figure~\ref{dummyfig}. The caption is broken down into four parts.
+The first is the {\bf Fig.} whose value is determined by |\figurelabel| that
+is language dependent. The second part is the number that may or may not be
+automatically generated. These font of these first two parts is determined by
+|\captionnumfont|. The second and third parts are the caption title and
+caption body respectively. The caption title will appear in the list of
+figures while the caption body will not. |\captiontitlefont| and
+|\captionbodyfont| determine the fonts of these latter two sections
+respectively. \intex\ defaults both these to |\rm| at the moment.
+
+|\captionbodyon|, which is the default, allows the |\captionbody| to be
+printed.
+However the command |\captionbodyoff| will turn off the
+printing of everything inside a |\captionbody|. This is done when the list of
+figures or tables are made using a |\makefiglist| or |\maketbllist|
+although it is not really necessary as the |\captionbody| is not
+even written out to a list file. Finally
+if |\topcaptiontrue|, the caption is placed above the figure while if it is
+false, the default, it is placed below.
+
+\shead{deferredinserts}{Deferred Inserts}
+\intex\ supplies\footnote{\dagger}{The commands in this section are
+essentially {\it plain} commands. They have been renamed to maintain
+consistency with the |\begin...| and |\end...| conventions of \intex.}
+commands of the form |\begin<type>insert| and corresponding
+|\end<type>insert|. These commands form a group and take the |<text>| between
+the |\begin...| and |\end...| and insert it, or defer it as the spacing
+warrants. A |<type>| of |top| will put the |<text>| at the top of the current
+page, if there is room, or on the next page if there is not. |mid| will put
+it at the location it is called out, if there is room, or at the top of the
+next page if there is not. |page| will reserve the entire next page for the
+|<text>|.
+
+\shead{figtablex}{Deferred Figures or Table Inserts}
+The basic command |\figureform| takes three parameters, the figure number or tag,
+the figure caption, and the figure itself as described in
+Section~\ref{figures}. It places the figure in the text at the present
+position whether there is room or not. Usually the desirable effect is to
+defer the figure until the following page if there is not enough room on the
+present one. The command |\figureinsert| does just that.
+The following command will insert the figure as shown. Autonumbering is on.
+\begingroup
+\let\captionnumfont = \twelvebfxsca
+\let\captiontitlefont = \twelvess
+\let\captionbodyfont=\tenss
+\figureinsert{dummyfig}{This is not a very
+ Exciting Figure \captionbody{-- It does show though it is
+ entirely possible to use the font freedom to create a less
+ than pleasing final result. The group here prevents this
+ disaster from spreading.}}{\rect 4cm by 6cm}
+\endgroup
+\beginttverbatim
+\1begingroup
+\1let\1captionnumfont = \1twelvebfxsca % scaled 10pt
+\1let\1captiontitlefont = \1twelvess
+\1let\1captionbodyfont=\1tenss
+\1figureinsert{dummyfig}{This is not a very
+ Exciting Figure \1captionbody{-- It does show though it is
+ entirely possible to use the font freedom to create a less
+ than pleasing final result. The group here prevents this
+ disaster from spreading.}}{\1rect 4cm by 6cm}
+\1endgroup
+\endttverbatim
+The spacing between the figure and the caption is determined by the value of
+|\captionskip|. If new values are desired, these are produced by
+|\captionskip = <dimen>|.
+
+Figure~\ref{target} uses the facilities of \tex Graph and a deferred
+insert.
+Assume that |\target| is the graphics description for the
+figure. The figure is called out here.
+\ifundefined{textref}
+ \begingroup \catcode`\^=12 \input texgraph \endgroup \fi
+\let\dmess=\message
+\def\target{\btg \unitscale .5
+ \move h:2 v:2
+ \lcir r:1.5 \pfill p:.7
+ \lcir r:1 \pfill p:.5
+ \lcir r:.5 \pfill p:.3
+ \move h:4 v:4
+ \etg}
+\figureinsert{target}{This is a
+ Figure Insertion Involving Graphics}{\centergraph{\target}}
+The commands were
+\beginttverbatim
+\1def\1target{\1btg \1unitscale .5
+ \1move h:2 v:2
+ \1lcir r:1.5 \1pfill p:.7
+ \1lcir r:1 \1pfill p:.5
+ \1lcir r:.5 \1pfill p:.3
+ \1move h:4 v:4
+ \1etg}
+\1figureinsert{target}{This is a
+ Figure Insertion Involving Graphics}{\1centergraph{\1target}}
+\endttverbatim
+\tex Graph commands are documented in ``texgraph.doc''.
+
+
+
+The format of the |\tableform| and |\tableinsert| commands
+ is the same with the last argument
+replaced by the table itself or an |\input{<filename>}| that would bring
+in the file. The ``Fig.'' in the caption is in the command |\figurelabel|.
+There is an equivalent |\tablelabel|.
+
+\shead{fullpagefig}{Full Page Figure/Table Inserts}
+Full page figure/table inserts are complicated by the need to position the
+caption differently if the figure/table exists or not. The following is used
+for a full page figure if there is no figure and the caption is required at
+the bottom of the page.
+\begintt
+\beginpageinsert
+\captionskip = 0pt plus 1 fill % pushes caption to bottom of page
+\figureform{<tag or number>}{<title>}{} % note empty last parameter
+\endpageinsert
+\endtt
+If there is a figure, it will be placed at the top of the page and
+the caption, a |\captionskip| below it. The commands for this are
+\begintt
+\beginpageinsert
+\figureform{<tag or number>}{<title>}{<figure>}
+\endpageinsert
+\endtt
+Tables are inserted similarly.
+
+To insert a table or figure vertically on a page, \tex Graph must be used.
+
+\shead{figcomp}{Complications and Unusual Cases}
+Insertions are not without there complications. The following problems can
+occur:
+\beginlist
+\li $\bullet$ Two or more figure insertions reverse their order: This will
+occur when there is room to insert the second figure called out but not the
+first. {\bf Solutions(?):} call them out in different order; use
+|\figureform| to force the insertion and accept the consequences; make the
+figures smaller.
+\li $\bullet$ A figure has one or two lines of text below it: This will
+happen if the inserted figure is almost a full page. It is even possible to
+have an almost blank page preceding it. {\bf Solution:} Change the
+|\figureinsert| to an full page insert as described in
+Section~\ref{fullpagefig}.
+\li $\bullet$ Two full page figures in row are really parts 1 and 2 of the
+same figure: This is complication both with the automatic numbering of the
+figures and the list of figures. The solution is somewhat complicated.
+Only the numbering problem is considered here. See Chapter~\ref{auto}
+for the details on autonumbering. {\bf Solution:}
+\begintt
+\silent{\autofignum{<figtag>}}
+\begingroup
+\autonumberingoff
+\beginpageinsert
+\figureform{\ref{<figtag>}(a)}{<part (a) caption>}{<fig a>}
+\endpageinsert
+\beginpageinsert
+\figureform{\ref{<figtag>}(b)}{<part (b) caption>}{<fig a>}
+\endpageinsert
+\endgroup
+\endtt
+\li $\bullet$ Figures from a previous chapter or section spill over into the
+next: {\bf Solution:} Follow the last figure with |\ejectinserts|. If a new
+page is required, follow this by |\ejectpage|.
+
+\endlist
+
+
+
+\shead{figtblcomforms}{Command Forms}
+\beginblockmode
+\ext\@|\beginmidinsert|
+\nbr
+\ext\@|\beginpageinsert|
+\nbr
+\ext\@|\begintopinsert|
+\nbr
+These basic deferred text insertion commands start a group and define the
+beginning of |<text>| that will be inserted either in place or at the top of
+the next page if there is no room, on the entire next page, or at the top of
+the page respectively.
+
+\mbr
+\ext\@|\captionbox{<number text>}{<title>}|
+\nbr
+This command is used for captioning figures or tables. If the |<number text>|
+plus the |<title>| is shorter than
+|\captiontextfraction| of the size of the enclosing box or
+page, the two are centered. If the total is greater, the title is put in a box,
+in ragged format and will be automatically broken if it takes more than the
+one line. The spacing is always one. |\captiontextfraction| is defaulted to
+0.8.
+The captionbox is used in both |\figureform| and |\tableform| but is
+available for other captioning as necessary.
+
+\mbr
+\ext\@|\captionbody{<text>}|
+\nbr
+This command is optionally placed in title field of a caption. it is used to
+write an essay about a figure or table that you do not want to turn up in the
+list of figures or tables. It is printed if |\captionbodyon| and is not
+printed if |\captionbodyoff|. |\captionbodyon| is the default. The
+|\captionbody| is {\bf not} written out to the |.fig| or |.tbl| file.
+
+\mbr
+\ext\@|\captionbodyon \captionbodyoff|
+\nbr
+|\captionbodyon| allows a |\captionbody| text to be output --
+|\captionbodyoff| prevents it. The default in normal text is |\captionbodyon|
+but in lists of figures or tables produced by |\makefiglist| or
+|\maketbllist| is |\captionbodyoff|.
+
+
+
+\mbr
+\ext\@|\captionbodyfont|
+\nbr
+This command sets font of the body of the caption of a Figure or Table.
+The material affected by this font will not appear in a list of tables or
+figures.
+The default is the same as current active font.
+
+
+\mbr
+\ext\@|\captionnumfont|
+\nbr
+This command sets font of the herald {\bf Fig.} and the number.
+It is set in a consistent way as part of the document font specification in a
+font family. The default is the same as the |\ssheadfont|.
+
+\mbr
+\ext\@|\captiontitlefont|
+\nbr
+This command sets font of the title of a Figure or Table.
+The default is the same as current active font.
+
+
+
+
+
+\mbr
+\ext\@|\captionskip [=] <dimen>|
+\nbr
+This command sets the spacing between the figure/table and the following
+|\captionbox|. It is assigned |0pt plus 1fill| to force the caption box to the
+bottom of the page for a full page figure.
+
+
+\mbr
+\ext\@|\captiontextfraction|
+\nbr
+This value controls the fraction of the width of the page that will be used
+to determine whether the caption text is set as a single line or as several
+lines. It is defined in {\tt inrsdef.tex} as |\def\captiontextfraction{0.8}|.
+
+\mbr
+\ext\@|\ejectinserts|
+\nbr
+This command forces out all of the inserts, be they footnotes or deferred
+figures and leaves the position at the end of the last insert. If a new page
+is desired, the |\ejectinserts| should be followed by an |\ejectpage|.
+
+
+\mbr
+\ext\@|\endmidinsert|
+\nbr
+\ext\@|\endpageinsert|
+\nbr
+\ext\@|\endtopinsert|
+\nbr
+These commands terminate their respective |\begin..insert| and close the
+group.
+
+
+\mbr
+\ext\@|\figureform{<tag or number>}{<title>}{<figure box>}|
+\nbr
+This is the basic command for inserting and captioning space for a figure in
+a document. If |autonumbering| is on, the |<tag or number>| becomes the tag
+for the figure for in text reference. The actual text inserted in the figure
+caption is |\figurelabel<figure number>| where the |<figure number>| is
+computed determined from the tag value. For instance ``|\ref{dummyfig}|'' gives
+``\ref{dummyfig}''. If autonumbering is off, the text of the
+|<tag or number>| is inserted. The |<figure box>| should take up the same
+amount of space as the actual figure, less captions. If the |.fig| file is
+open, the |\figtoc| command with its |<number>|, |<title>| and
+|<page number>| arguments are written to it.
+
+\mbr
+\ext\@|\figureinsert{<tag or number>}{<title>}{<figure box>}|
+\nbr
+This is equivalent to
+\begintt
+\beginmidinsert
+\figureform{<tag or number>}{<title>}{<figure box>}|
+\endmidinsert
+\endtt
+The effect is to place the figure at the present location, if there is enough
+room on the page, or defer it to the top of the next page if there is not.
+See Section~\ref{figcomp} for complications.
+
+\mbr
+\ext\@|\figurelabel|
+\nbr
+This command is defined to give the text that precedes the |<figure number>|
+in the caption. In \intex\ this is ``\figurelabel''. This is modified by
+redefining it with a |\def\figurelabel {<new label>}|.
+
+\mbr
+\ext\@|\rect <horizontal dimen> by <vertical dimen>|
+\nbr
+This creates a line boxed rectangle with the dimensions given and then places
+it in a |\centerline|.
+
+\mbr
+\ext\@|\tableform{<tag or number>}{<title>}{<table>}|
+\nbr
+This command is almost identical to |\figureform| except that the |listfile|
+is |.tbl|, the prenumber caption, which is ``\tablelabel'' is
+defined by the command |\tablelabel|,
+and the final argument will usually be the actual table.
+
+\mbr
+\ext\@|\tableinsert{<tag or number>}{<title>}{<figure box>}|
+\nbr
+This is equivalent to
+\begintt
+\beginmidinsert
+\tableform{<tag or number>}{<title>}{<figure box>}|
+\endmidinsert
+\endtt
+The effect is to place the table at the present location, if there is enough
+room on the page, or defer it to the top of the next page if there is not.
+See Section~\ref{figcomp} for complications.
+
+
+\mbr
+\ext\@|\tablelabel|
+\nbr
+This command is defined to be the prestring to the table number. It defaults
+to ``\tablelabel''. This is modified by
+redefining it with a |\def\tablelabel {<new label>}|.
+
+\endblockmode
+\ejectpage
+\done
diff --git a/macros/inrstex/inrsdoc/thfonts.tex b/macros/inrstex/inrsdoc/thfonts.tex
new file mode 100644
index 0000000000..1f90834fe9
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thfonts.tex
@@ -0,0 +1,155 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{fonts}
+\def\cqu{}
+
+
+%======== Special fonts for this chapter ========
+
+\chapterhead{fonts}{FONTS}
+\intex\ has available to it a large number of fonts.\footnote{\dagger}{The
+ease of availability of different fonts is determined by the power of the
+local {\tt texprint} program. A ``font manager'' to find obscure fonts is a
+necessity if a wide range of fonts are needed \dots\ or desired.}
+Fonts are available as members of a ``family'' or individually.
+Font families consist of various styles (normal) Roman, Boldface,
+Italic, Slanted, and Mathematics symbols at the different point sizes.
+
+\shead{fontfamily}{Fonts in a Font Family}
+A font family consists of a number of fonts and mathematical symbols that
+have been chosen to satisfy the size requirements of sub and subsub scripts.
+The family sizes available are
+{\twelvepoint |\twelvepoint|}, {\tenpoint |\tenpoint|},
+{\ninepoint |\ninepoint|},
+and
+{\eightpoint |\eightpoint|}.\footnote{\ddagger}{In \tex\ there are 72.26666 points to the inch (about 28.45 points to the
+cm).}
+To call a specific style of font in a font
+family it is necessary to use the simple abbreviation of |\rm| for roman,
+|\it| for text italic, |\sl| for slanted, |\bf| for bold, and |\tt| for a
+fixed spacing typewriter like font. |\tt| is in the tenpoint typewriter font.
+In addition, a font family has three {\it big} fonts called respectively,
+|\bigfont|, |\biggfont|, and |\bigggfont|. These are all roman fonts and are
+approximately 1.2, 1.44, and 1.78 times the basic family point size. There is
+also a {\smallerfont smallerfont} that is called through |\smallerfont|.
+These fonts are all changed when the point size family is changed.
+
+\shead{documentfonts}{Document Font}
+\intex\ has the important idea of a {\it document} and along with it a
+{\it document font family}.
+This is the
+default font for the document and the basis of the sizes of the fonts found
+in the headers, footers, section heads, or footnotes among others. For
+example the section head font is called |\sheadfont| and is only changed when
+the document font family is changed and not by merely calling a point size
+family.
+The change in the document font is made naming a particular {\tt <point size
+font family>} {\bf as an argument} of a |\documentstyle| command. For
+instance
+|\documentstyle{\twelvepoint}| would create a document with the
+text twelve point Roman.
+The fonts for
+chapter and section heads, footnotes, headers, and footers would
+also be appropriately modified. This
+feature means that you could run |\eightpoint| text through several sections
+without modifying the section head fonts. On the other hand, a change in
+document font will change the entire document and can be done at any time or
+even within a group.
+
+|\documentstyle{\tenpoint}| set the document font set of this book to tenpoint.
+
+\font\fivermsca=cmr5 scaled 2074
+\shead{specialfonts}{Additional Fonts}
+A new font, assuming that it exists, must first be defined and then called.
+For example, |\font\fivermsca = cmr5 scaled 2074| {\bf defines} a five point
+Roman font magnified by 2.074, or to about 10 points. The ``5 point'' is its
+design size. To call the font, use |\fivermsca|, usually inside a group to
+limit its effect. For instance ``{\fivermsca this was produced by}'' the
+following ``|{\fivermsca this was produced by}|''. Note that a scaled five
+point font is wider than a ten point form. The command is
+
+\beginblockmode
+\mbr
+\ext\@|\font\<fontname> [scaled <number>]|
+\nbr
+This defines a new font with the name |\<fontname>|. The scaling is optional.
+The scale values are 4 digit integers, 1000 times greater than the nominal
+size. Thus |\font\fvx = ambx5 scaled 1000| is identical to
+|\font\fvx = ambx5|. To actually use the font, the command |\<fontname>| is
+called.
+\endblockmode
+Some examples are as follows:
+\font\tensc=cmcsc10
+\font\twelvess=cmss12
+\font\eighteenrm=cmr17
+\font\tendu=cmdunh10
+\font\tenu=cmu10
+\font\sixrm=cmr6
+\font\sixbf=cmbx6
+\begingroup
+\lineskip=3pt
+\bshortcomlist
+\ext\@|\fivei|&{\fivei Five point math italic}\cr
+\ext\@|\fiverm|&{\fiverm Five point Roman}\cr
+\ext\@|\fivebf|&{\fiverm Five point bold}\cr
+|\font\sixrm=cmr6|&{\sixrm Six point Roman}\cr
+|\font\sixbf=cmbx6|&{\sixbf Six point Bold}\cr
+|\font\eighteenrm=cmr17|&{\eighteenrm Eighteen (Seventeen?) point Roman}\cr
+|\font\tendu=cmdunh10|&{\tendu Ten point Dunhill}\cr
+|\font\twelvess=cmss12|&{\twelvess Twelve point special San Serif}\cr
+|\font\tenu=cmu10|&{\tenu Ten point unslanted italic}\cr
+\eshortcomlist
+\endgroup
+Note that |\fivei| is a mathematics italic font. In this font the space has
+been defined to have zero width and the character set is different than that
+found in a typical Roman type font.
+
+\def\lb{\hfil\break}
+\shead{fontcomlist}{Command Forms}
+The four complete point size families are
+\bshortcomlist
+\ext\@|\twelvepoint|&{\twelverm Calls the twelvepoint font family}\cr
+\ext\@|\tenpoint|&{\tenrm Calls the tenpoint font family}\cr
+\ext\@|\ninepoint|&{\ninerm Calls the ninepoint font family}\cr
+\ext\@|\eightpoint|&{\eightrm Calls the eightpoint font family}\cr
+\eshortcomlist
+
+\dssshead{Point Size Relative Fonts}
+\begingroup
+\veryraggedright
+\bshortcomlist
+\ext\@|\bf|&{\bf Bold in current font family (tenpoint)}\cr
+\ext\@|\it|&{\eightpoint \it Italic in current font family (eightpoint)}\cr
+\ext\@|\rm|&{\eightrm Roman in current font family (eightpoint)}\cr
+%\ext\@|\sl|&{\eightpoint \sl Slanted in current font family (eightpoint)}\cr
+\ext\@|\tt|&{\eightpoint\tt Typewriter in current font family (eightpoint)} \cr
+\ext\@|\bigggfont|&{\eightpoint \bigggfont Biggg font in current (eightpoint)}\cr
+\ext\@|\biggfont|&{\eightpoint \biggfont Bigg font in current (eightpoint)}\cr
+\ext\@|\bigfont|&{\eightpoint \bigfont Big font in current (eightpoint)}\cr
+\ext\@|\cheadfont|&{\cheadfont chapterhead in current (tenpoint)}\cr
+\ext\@|\documentstyle{<font family>}|& Sets document font family to {\tt <font family>}\cr
+\ext\@|\footerfont|&{footerfont of current document font}\cr
+\ext\@|\footnotefont|&{\footnotefont footnote font (family) of current document font} \cr
+\ext\@|\headerfont|&{header font of current document font}\cr
+\ext\@|\smallerfont|&{\smallerfont this is smaller relative to tenpoint}\cr
+\ext\@|\sheadfont|&{\sheadfont Section head font of current document font}\cr
+\ext\@|\ssheadfont|&{\ssheadfont Subsection head font of current document font}\cr
+\ext\@|\sssheadfont|&{\sssheadfont Subsubsection head font of current document font}\cr
+\ext\@|\dsssheadfont|&{\dsssheadfont Diminished section head font of current document font}\cr
+\ext\@|\captionnumfont|&{\captionnumfont Caption label and number font of
+ current document font}\cr
+\ext\@|\captiontitlefont|&{\captiontitlefont Caption title font of
+ current document font}\cr
+\ext\@|\captionbodyfont|&{\captionbodyfont Caption body font of
+ current document font}\cr
+
+\eshortcomlist
+\endgroup
+
+\shead{newfontfam}{New Font Families}
+It is easy to produce a new font family that is compatible with \intex\---
+just modify the |\tenpoint| definition that is in the {\tt
+inrsfont.tex} file.
+
+\ejectpage
+\done
diff --git a/macros/inrstex/inrsdoc/thftnote.tex b/macros/inrstex/inrsdoc/thftnote.tex
new file mode 100644
index 0000000000..c0bb431036
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thftnote.tex
@@ -0,0 +1,104 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{footnot}
+\def\cqu{}
+
+{\catcode`\?=7
+\global\def\ftn{$\sphantom{\cheadfont S}?\ddagger$}
+}
+\autonumberingon
+
+\chapterhead{footnot}{FOOTNOTES\ftn}
+\sfootnote{\ddagger}{This really should not have been footnoted. However to
+ obtain the correct placement of the $\ddagger$,
+ |$\sphantom{\cheadfont S}^\ddagger$| was actually used. This footnote leads
+to a large number of problems. It will show up in the automatic listing of
+the table of contents and the header text. To prevent this, the
+|\let\ftn=\relax| is placed immediately after the |\chapterhead| and
+just before |\maketoclist| produces the table of contents.
+}
+\let\ftn=\relax
+\intex\ supplies a simple but powerful
+footnote\footnote{\dagger}{For making footnotes like this, even with
+imbedded mathematics, {\it ie} $\int_0^{\infty} g(x)dx$, or {\bf font}
+changes.}
+capability. This replaces the |\footnote| command in {\it plain}. {\bf Do not
+use |\footnote| in |\title| or any of the section head commands.}
+The footnote will get lost. If you must footnote a title or section
+head, then use |\up{<mark>}| where you call out the footnote and |\sfootnote|
+with the same |<mark>| in the vertical list of the surrounding {\bf page}.
+For those of you who wish to change the default formats there is an
+|\everyfootnote={<token list>}| that will be inserted at the beginning of
+every footnote list.
+\shead{footnotcomlist}{Command List}
+\begintwocolumn
+\pla|\dimen\footins|
+\ext|\everyfootnote|
+\ext|\footnote|
+\ext|\footnotefont|
+\pla|\footnoterule|
+\pla|\skip\footins|
+\ext|\sfootnote|
+\ext|\up|
+\endthreecolumn
+
+\shead{footnotcomforms}{Command Forms}
+\beginblockmode
+\ext\@|\everyfootnote = {<token list>}|
+\nbr
+The |<token list>| is inserted before every footnote list. It could be used,
+for instance, to change the spacing between lines or any other default
+feature that is found undesirable.
+
+\mbr
+\ext\@|\footnote{<math mode mark>}{<text>}|
+\nbr
+The |<math mode mark>| is the marker that is placed
+on the word that is being footnoted. Note that it is in {\bf math mode}. This
+command should be used only in (internal) horizontal mode.
+If the footnote gets lost for some reason, use the |\up{<math mode mark>}| at
+the appropriate place in the text and |\sfootnote| with the same
+|<math mode mark>|. The |\sfootnote| should be in the vertical list of the
+main page.
+\mbr
+\ext\@|\footnotefont|
+\nbr
+The footnote font (really an entire family)
+\dots it is set when the document font
+is set or specifically.
+\mbr
+\pla\@|\footnoterule|
+\nbr
+The footnote line at the bottom of a page. This is modified by redefining it
+through a |\def\footnoterule{<new definition>}|.
+\mbr
+\ext\@|\up{<math mode mark>}|
+This command superscripts the |<math mode mark>| to the preceding character.
+It assumes that the current font family is active. Since the
+|\cheadfont| in the title is much bigger than the default |\tenpoint| of this
+book, |{\cheadfont FOOTNOTES\up{\ddagger}}| would look like this
+{\cheadfont FOOTNOTES\up{\ddagger}}.
+
+\mbr
+\pla\@|\skip\footins [=] <dimen>|
+\nbr
+This sets the initial skip before the first
+footnote to |<dimen>|.
+\mbr
+\pla\@|\dimen\footins [=] <dimen>|
+\nbr
+This sets the maximum height allowed for
+footnotes to |<dimen>|. If this maximum height is exceeded, the footnotes spill over to the
+next page. It is set in \intex\ at 10in.
+
+\mbr
+\ext\@|\sfootnote{<math mode mark>}{<text>}|
+\nbr
+This should be used for footnotes that appear in the vertical mode. It is
+necessary if the original footnote to be called out is too deep inside
+vertical boxes. An example of this is the |\title|, the various section and
+chapter heads, and the |\captionbox| in a |\figureinsert| or |\tableinsert|.
+It should not be used in either horizontal or internal vertical mode.
+\endblockmode
+\ejectpage
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thglue.tex b/macros/inrstex/inrsdoc/thglue.tex
new file mode 100644
index 0000000000..f47503b8eb
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thglue.tex
@@ -0,0 +1,125 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{glue}
+\def\cqu{}
+
+\chapterhead{glue}{GLUE -- REVISITED}
+Glue is the binder that lets \tex\ do its job. This chapter discusses some
+preset forms of glue and their uses. Along with glue parameters there are a
+number of special commands for inserting glue. The most interesting have
+different degrees of infinity, namely |\hfil|, |\hfill|, |\hfilneg|, |\hss|,
+and their vertical counterparts.
+
+Because of the special spacing requirements of mathematics, \tex\ defines
+skips and spacing that are valid in mathematics mode only. Examples are the
+are the special preset |mu| glues of |\thickmuskip|,
+|\medmuskip|, |\thinmuskip|.
+The |\newskip| and |\newmuskip| commands allocate skip (or really glue)
+or muskip registers respectively for special uses. For example the specific
+glues surrounding section heads are held in glue registers.
+
+It should be noted that the various |\...muskip| do not cause horizontal
+spacing in math mode by themselves. They are used with |\mskip| to actually
+cause the insertion of the glue.
+
+
+\shead{gluecomlist}{Command List}
+\beginthreecolumn
+\pla|\hfil \hfill|
+\pla|\hfilneg|
+\pla|\hss|
+\pla|\medmuskip|
+\pla|\newskip|
+\pla|\newmuskip|
+\pla|\thickmuskip|
+\pla|\thinmuskip|
+\pla|\vfil \vfill|
+\pla|\vfilneg|
+\pla|\vss|
+\endthreecolumn
+
+
+\shead{gluecomform}{Command Forms}
+\beginblockmode
+\pla\@|\hfil \hfill|
+\nbr
+\pla\@|\hfilneg|
+\nbr
+\pla\@|\hss|
+\nbr
+%\tracingall \tracingonline=0
+These are all various forms of horizontal (or math) mode commands that insert
+infinite quantities of glue. |\hfil|, |\hfill|, |\hfilneg|, and |\hss| insert
+|plus 1fil|, |plus 1fill|, |minus 1fil|, and |plus 1fil minus 1fil|.
+The first two are {\it stretch} glues, the third is {\it shrink} glue and the
+last is both. It
+should be noted that when \tex\ tries to stretch or shrink glue values, they
+vary according to their value. If there exists both |fil| and finite value
+glue in a box or line, then all the stretch if it is |plus| glue
+or shrink if it is |minus| glue will be in
+the section with the |fil| glue. If there is |fill| glue and either |fil| or
+finite glue, then all the stretch or shrink will be in the |fill| sections.
+Similarly with |filll| glue, which is not supplied in as readily usable form.
+The difference in behaviour between |\hfil| and |\hss| is that |\hss| glue
+will allow the contents of a box to spill outside without resulting in an
+overfull box while |\hfil| will only fill or push contents to the edge of the
+box. The major use for these glues are to center or to force stuff to either
+edge of a box. For instance this
+\begintt
+\line{\vrule \hfil one \hfil two \hfil three
+ \hfill four \hfil five \hfil six
+ \hfill seven \hfil eight \hfil nine\vrule}
+\endtt
+gives
+
+\line{\vrule \hfil one \hfil two \hfil three
+ \hfill four \hfil five \hfil six
+ \hfill seven \hfil eight \hfil nine\vrule}
+
+
+
+\mbr
+\pla\@|\medmuskip|
+\nbr
+This is a preset |mu| glue. |\medmuskip = 4mu plus 2mu minus 4mu| for use
+with |\mskip|. This is \hbox{\strut\vrule$\mskip\medmuskip$\vrule}.
+
+
+\mbr
+\pla\@|\newskip\<skip name>|
+\nbr
+This assigns a new skip or glue register to the name |\<skip name>|. Glue
+values may be assigned to it by |\<skip name> [=] <glue>|.
+
+\mbr
+\pla\@|\newmuskip\<muskip name>|
+\nbr
+This assigns a new muskip or muglue register to the name |\<muskip name>|. Glue
+values may be assigned to it by |\<muskip name> [=] <muglue>|.
+
+\mbr
+\pla\@|\thickmuskip|
+\nbr
+This is a preset |mu| glue. |\thickmuskip = 5mu plus 5mu| for use
+with |\mskip|. This is \hbox{\strut\vrule$\mskip\thickmuskip$\vrule}.
+
+
+\mbr
+\pla\@|\thinmuskip|
+\nbr
+This is a preset |mu| glue. |\thinmuskip = 3mu| for use
+with |\mskip|. This is \hbox{\strut\vrule$\mskip\thinmuskip$\vrule}
+
+
+\mbr
+\pla\@|\vfil \vfill|
+\nbr
+\pla\@|\vfilneg|
+\nbr
+\pla\@|\vss|
+\nbr
+These are the vertical analogues to the infinite horizontal glues and act in
+much the same manner. See the section on |\hfil ...|.
+\endblockmode
+\ejectpage
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thgraph.tex b/macros/inrstex/inrsdoc/thgraph.tex
new file mode 100644
index 0000000000..6cb4f0cb67
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thgraph.tex
@@ -0,0 +1,1288 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{graph}
+\def\cqu{}
+
+
+\chapterhead{graph}{\TeX Graph}
+
+
+
+The graphics package that is a part of \intex\
+adds the following
+capabilities
+\bl
+\li $\bullet$ The production of a complete paper/report requiring no
+additional insertions (except perhaps colour photographs if required).
+
+\li $\bullet$ The ability to insert a file, for example a plot or halftone,
+in Encapsulated PostScript Format (EPSF), and to automatically leave enough
+space in the text.
+
+\li $\bullet$ The mixing of a vector graphics and \TeX\
+text. In fact \TeX\ text may now be printed at any arbitrary angle.
+
+\el
+
+The package requires a sensible PostScript driver. The basic requirements
+for the driver are as follows:
+\bl
+\lb The |\special| commands and the other information in the .dvi file are
+processed in the order they are found in the .dvi file. This is necessary
+in order to be able to rotate tables and arbitrary text \dots\ among other
+things.
+\lb The driver does not perform PostScript {\tt save} and {\tt restore}
+commands around |\special| commands.
+\lb The driver uses the code {\tt ps:} is used to signal a file name and
+the code {\tt ps::} to signal inline code.
+\lb The driver sets the {\tt currentpoint} before entering a |\special|.
+\el
+
+\shead{gcomlist}{Command List - \TeX Graph}
+\begintwocolumn
+\ext|\absoluteposition|
+\ext|\absolutescale|
+\ext|\arcc|
+\ext|\arcn|
+\ext|\arrowheadscale|
+\ext|\arrowheadsize|
+\ext|\arrowheadtype|
+\ext|\avec|
+\ext|\beginsegment|
+\ext|\beginTeXgraph \btg|
+\ext|\cavec|
+\ext|\cav|
+\ext|\centergraph|
+\ext|\centerplotfile|
+\ext|\clvec|
+\ext|\clv|
+\ext|\endsegment|
+\ext|\endTeXgraph \etg|
+\ext|\graphdim|
+\ext|\hgraphsize|
+\ext|\hgraphskip|
+\ext|\hpix|
+\ext|\htext|
+\ext|\includefile|
+\ext|\incscfile|
+\ext|\incscmvfile|
+\ext|\larc|
+\ext|\lcir|
+\ext|\linecap|
+\ext|\linejoin|
+\ext|\lpatt|
+\ext|\lvec|
+\ext|\move|
+\ext|\penwidth|
+\ext|\relativeposition|
+\ext|\relativescale|
+\ext|\rstext|
+\ext|\rtext|
+\ext|\segmentscale|
+\ext|\unitscale|
+\ext|\vgraphsize|
+\ext|\vgraphskip|
+\ext|\vpix|
+\ext|\vtext|
+\endtwocolumn
+
+\shead{plotfile}{The Inclusion of Encapsulated PostScript}
+All the commands that are used to include encapsulated PostScript files
+read the {\tt Boundingbox} and leave enough space in the text for the
+graphics. The {\tt Boundingbox} may be at either the beginning or the end
+of the file. However, if the {\tt Boundingbox} is at the the end, it might
+take \TeX\ some time to read the entire file to find it.
+
+The simplest command for including a graphics file is
+$$
+|\centerplotfile{<file name>}|.
+$$
+For instance the (old) IEEE Communications Society
+logo was brought in simply by saying
+\beginttverbatim \ninepoint \tt
+\1medskip
+\1hrule
+\1centerplotfile{ieeelogo.ps}
+\1hrule
+\1medskip
+\endttverbatim
+right here.
+\medskip
+\hrule
+\centerplotfile{ieeelogo.ps}
+\hrule
+\medskip
+The |\hrule| commands were put in to show how much space was left by \TeX
+Graph.
+A slightly more complicated example illustrating both rotation and scaling
+is given below.
+\bigskip
+\hrule
+\centergraph{ \btg
+ \incscfile f:{ieeelogo.ps} sc:.3 d:45
+ \etg}
+\hrule
+\bigskip
+The code for this is
+\beginttverbatim
+\1hrule
+\1centergraph{ \1btg
+ \1incscfile f:{ieeelogo.ps} sc:.3 d:45
+ \1etg}
+\1hrule
+\endttverbatim
+
+Notice that the computation of the space to leave was incorrect. This is
+due to the difficulty in performing the computations for obtaining the
+bounding box for an arbitrarily rotated and scaled figure.
+
+The most general
+inclusion command is |\incscmvfile| which allows for arbitrary scaling,
+rotation, and offset. Finally, the rotation, scaling, and placement may be
+applied around any of the nine text box reference points described in
+Section~\ref{tgraph}.
+
+
+\shead{tforms}{\TeX Graph Basics}
+\TeX Graph has a number of capabilities that range from primitive to
+powerful. The following list of classes is for reference only. More detail
+will follow with examples in the various sections to follow. This section may
+be omitted on first reading.
+\dssshead{\TeX Graph Classes}
+\bl
+\lb Drawing primitives consist of commands for circles,
+circular arcs, line vectors, vectors with arrowheads, spline curves, spline
+curves with arrowheads, line dotting commands, and various shades of gray
+for fills.
+
+\lb There are commands for changing whether the distances specified
+are to be interpreted absolutely, with respect to an origin or relatively
+with respect to the present position.
+
+\lb There is a command to change the (pen)width of the drawn lines
+and to change the interpreted scale of the units of distance.
+
+\lb There is a command to change the default units. However, since
+arbitrary scaling of units is allowed, this command is of limited use except
+for those that visualize distances in different dimensions. The dimensions
+available are those available in \intex.
+
+\lb There is a ``graphical segment'' which can be
+placed at any specific location. Distances inside a graphical segment are
+interpreted with respect to the segment origin. The distances inside a
+segment may be either relative or absolute with respect to the segment
+origin. There is a {\it segment scale} which allows for segments to be scaled
+relatively with respect to an overall graph.
+
+\lb Text, with all the capabilities of \intex\ may be written
+at any arbitrary angle.
+
+\lb \TeX Graph keeps track of the maximum extent of a graph. These
+are available after the graph is terminated in the variables |\hgraphsize|
+and |\vgraphsize|. |\hgraphskip| and |\vgraphskip| will cause a horizontal or
+vertical skip of the appropriate graphsize. {\bf Unfortunately, these values
+may be incorrect for a number of reasons. } These are
+\bsl
+\li $\circ$ Text may stick out the edge of the graph.
+\li $\circ$ A circle or arc center is outside the main graph area.
+\li $\circ$ The visible part of a circle or arc may be too far to the right.
+\li $\circ$ A vertical segment may have inadvertently reset the maximum
+positions.
+\esl
+In some cases it may be necessary to make a fake move to the lower right hand
+corner of a graph to tell \TeX Graph the correct size \dots\ after you have
+seen a preliminary version and know what it should be.
+
+\lb All of \TeX's definitional capabilities are available. These
+can be used to replace a complex structure by a single command or
+to change the surface syntax of \TeX Graph.
+
+\lb Explicit use of grouping in \TeX Graph, through $\{ \}$, or
+|\begingroup|, |\endgroup| pairs is not allowed. This will foul up the
+positional record keeping inside. Groups may be produced only through the
+use of segments, namely the |\beginsegment|, |\endsegment| pair.
+\el
+
+
+\shead{tgraph}{Simple \TeX Graphics}
+\TeX Graph will allow for rather sophisticated graphics. You can use the
+definition capabilities of \intex\ to create libraries of symbols
+for future use.
+
+Directions in \TeX Graph are described as horizontal, {\tt h:}, increasing
+from left to right across the page and vertical, {\tt v:}, increaseing from
+top to bottom {\bf down} the page. Thus the fundamental directions are
+$$
+\centergraph{\btg
+ \move h:.3 v:.3
+ \avec h:3 v:.3
+ \move h:.3 v:.3
+ \avec h:.3 v:2
+ \textref h:C v:C
+ \move h:1.5 v:.15 \htext{Horizontal -- {\tt h:<number>}}
+ \move h:.15 v:1 \vtext{Vertical -- {\tt v:<number>}}
+ \etg}
+$$
+\TeX Graph capabilities will be introduced slowly.
+The following diamond box
+$$
+\centergraph{
+ \btg
+ \move h:0 v:.5 % moves penup to (0,.5)
+ \lvec h:.5 v:0 % draws a line to (.5,0)
+ \lvec h:1 v:.5
+ \lvec h:.5 v:1
+ \lvec h:0 v:.5
+ \textref h:C v:C % sets the reference point in center of text.
+ \move h:.5 v:.5
+ \htext {$\sum_{i=1}^n \rho_n$} % horizontal text box
+ \etg}
+$$
+was put in place with
+\beginttverbatim \ninepoint \tt
+$$ % a convenient way to use displaymath spacing
+\1centergraph{
+ \1beginTeXgraphics % also known as \1btg
+ \1move h:0 v:.5 % moves penup to (0,.5)
+ \1lvec h:.5 v:0 % draws a line to (.5,0)
+ \1lvec h:1 v:.5
+ \1lvec h:.5 v:.1
+ \1lvec h:0 v:.5
+ \1textref h:C v:C % sets the reference point in the center.
+ \1move h:.5 v:.5
+ \1htext {$\1sum_{i=1}^n \1rho_n$} % horizontal text box
+ \1endTeXgraphics % also known as \1etg
+ }
+$$
+\endttverbatim
+
+The command |\centergraph{<...>}| uses the information about plot size to
+center the graphics horizontally and to leave enough room vertically.
+
+Arguments for all \TeX Graph primitive commands are delimited by spaces.
+The units of the dimensions are implicit, but changable. The default is
+inches. Thus {\tt h:<number>} is the distance in the horizontal (to right)
+and {\tt v:<number>} is the distance in the vertical (down) direction. The
+locations are absolute distances with respect to an origin in the upper left
+hand corner.
+
+\shead{vecforms}{Simple Vector Forms}
+This introduces some baisc drawing commands. There {\bf must} be
+either a space or an
+end of line after each {\tt <coordinate>}\]. The dimensional units are
+implicit. We usually use {\tt <..>} instead of the less economical {\tt
+<coordinate>}.
+\beginblockmode
+\ext\@|\move h:<..> v:<..>|
+\nbr
+This is a move from the current position to the coordinates given by
+{\tt h:<..> v:<..>}. The pen is up. It may be used to move the current
+reference point or to describe a boundary when creating a filled polygon.
+
+\mbr\ext\@|\lvec h:<..> v:<..>|
+\nbr
+This draws a line from the current position to {\tt h:<..> v:<..>}.
+
+\mbr\ext\@|\clvec h1:<..> v1:<..> h2:<..> v2:<..> h3:<..> v3:<..>|
+\nbr
+This draws a Bezier spline curve from the current point to {\tt h3:<..>
+v3:<..>} with respect to the control points {\tt h1:<..> v1:<..>} and
+{\tt h2:<..> v2:<..>}. These curves are very versatile and can create many
+effects, including loops, by varying the control points.
+
+\mbr\ext\@|\clv (<h1> <v1>) (<h2> <v2>) (<h3> <v3>)|
+\nbr
+This command is identical to |\clvec| but with a less verbose syntax.
+\endblockmode
+
+Lines may be either solid of various widths, or dotted with custom
+patterns. In addition the ends of the lines may be of different shapes and
+joined with different defaults. In most cases you will not have to change
+the defaults in \TeX Graph but the capability is there.
+
+\beginblockmode
+\ext\@|\penwidth <size>|
+\nbr
+This sets the width of the pen or line in the current units. The default is
+is .015 (in).
+
+\mbr\ext\@|\linecap <integer>|
+\nbr
+This sets the end shapes of the lines using PostScript notation. The
+default is 1 or a round cap. A value of 0 is a butt cap with the line cut
+off square exactly to its length. A value of 2 is a square cap with the
+line extended by a square cap the thikness of half its width. For narrow
+lines the difference is negligible.
+
+\mbr\ext\@|\linejoin <integer>|
+\nbr
+This sets the form in which lines join (PostScript notation). The default
+is 1 which corresponds to a round line join. A value of 0 is a mitre or
+pointed join while a value of 2 is a beveled or flattened join. For thin
+lines the differences are negligible.
+
+\mbr\ext\@|\lpatt p:<pattern>|
+\nbr
+This sets the dotting pattern of the line in PostScript notation. The
+default is a solid line described by |{[]}|. The simplest form is |{[a]}|
+where the line is black for {\tt a} pixels and white for 1. |{[a b]}| would
+mean {\tt a} pixels black followed by {\tt b} pixels white. A specification
+of |[a1 b1 a2 b2]| would be a cyclic pattern with the line black for the
+{\tt a?} pixels and white for the corresponding {\tt b?}.
+
+\endblockmode
+
+\TeX Graph alos supplies lines with arrowheads. These may be combined
+dotting patterns given above but a decision will have to be made as to
+whether you want the arrowhead itself dotted.
+There are
+three styles of arrowheads
+ \btg \move h:0 v:-.05 \avec h:.3 v:-.05
+ \arrowheadtype t:O
+ \avec h:.6 v:-.05
+ \arrowheadtype t:F
+ \avec h:.9 v:-.05
+ \etg \hgraphskip\
+triangle {\tt T}, open {\tt O},
+and filled {\tt F}. The size may also be varied. There are no restriction on
+the direction of the arrows. The commands are
+
+\beginblockmode
+\ext\@|\avec h:<..> v:<..>|
+\nbr
+This draws a vector with an arrow head from the current position to
+{\tt h:<..> v:<..>}.
+
+\mbr\ext\@|\cavec h1:<..> v1:<..> h2:<..> v2:<..> h3:<..> v3:<..>|
+\nbr\ext\@|\cav (<h1> <v1>) (<h2> <v2>) (<h3> <v3>) |
+\nbr
+These are the spline versions of the vectors with arrowheads.
+
+\mbr\ext\@|\arrowheadtype t:<type>|
+\nbr
+The {\tt <type>} is {\tt T O F} for triangle, open, or filled respectively.
+
+\mbr\ext\@|\arrowheadsize l:<length> w:<width>|
+\nbr
+The {\tt<length>} and {\tt<width>} are in the current units. The default
+is 0.16in by 0.04in. This size is {\tt independent} of the current scales.
+This prevents arrowheads from disappearing as a graph is scaled.
+
+\mbr\ext\@|\arrowheadscale|
+This makes the arrowheadsize sensitive to the segment and unit scales in
+force when it is called. It is not global but is affected by the grouping
+imposed by |\beginsegment| and |\endsegment| pairs.
+
+\endblockmode
+
+For most applications, the |\arrowheadsize| and the |\arrowheadscale|
+will not be needed.
+
+The following example of a (partial) block diagram uses these commands.
+$$
+\centergraph{\btg
+ \move h:0 v:.3
+ \avec h:.5 v:.3
+ \move h:.5 v:.6 % moves to lower lefthand corner of box
+ \lvec h:.5 v:0 % four sides
+ \lvec h:1.5 v:0
+ \lvec h:1.5 v:.6
+ \lvec h:.5 v:.6
+ \etg}
+$$
+This was produced by the following:
+\beginttverbatim \ninepoint \tt
+\1centergraph{\1btg
+ \1move h:0 v:.3
+ \1avec h:.5 v:.3 % arrow vector leading into box
+ \1move h:.5 v:.6 % moves to lower lefthand corner of box
+ \1lvec h:.5 v:0 % four sides
+ \1lvec h:1.5 v:0
+ \1lvec h:1.5 v:.6
+ \1lvec h:.5 v:.6
+ \1etg}
+\endttverbatim
+
+We can change the type of arrowhead on this and all subsequent arrow vectors
+by adding adding |\arrowheadtype t:O| before the |\avec ...| to give
+$$
+\centergraph{\btg
+ \move h:0 v:.3
+ \arrowheadtype t:F % changes default filled
+ \avec h:.5 v:.3 % arrow vector leading into box
+ \move h:.5 v:.6 % moves to lower lefthand corner of box
+ \lvec h:.5 v:0 % four sides
+ \lvec h:1.5 v:0
+ \lvec h:1.5 v:.6
+ \lvec h:.5 v:.6
+ \etg}
+$$
+This was produced by
+\beginttverbatim \ninepoint \tt
+\1centergraph{\1btg
+ \1move h:0 v:.3
+ \1arrowheadtype t:F % changes default filled
+ \1avec h:.5 v:.3 % arrow vector leading into box
+ \1move h:.5 v:.6 % moves to lower lefthand corner of box
+ \1lvec h:.5 v:0 % four sides
+ \1lvec h:1.5 v:0
+ \1lvec h:1.5 v:.6
+ \1lvec h:.5 v:.6
+ \1etg}
+\endttverbatim
+
+\beginblockmode
+\ext\@|\unitscale <scale>|
+\nbr
+This command causes all subsequent units in this or enclosed segments to be
+scaled by the {\tt <scale>}. Thus |\unitscale 2.54| would have the effect
+of changing a figure where the units were originally in inches to be in
+centimetres.
+\endblockmode
+
+
+Thus the entire graph is reduced to half size by adding |\unitscale .5|\] at
+the very beginning.
+$$
+\centergraph{\btg
+ \unitscale .5
+ \move h:0 v:.3
+ \arrowheadtype t:F % changes default filled
+ \avec h:.5 v:.3 % arrow vector leading into box
+ \move h:.5 v:.6 % moves to lower lefthand corner of box
+ \lvec h:.5 v:0 % four sides
+ \lvec h:1.5 v:0
+ \lvec h:1.5 v:.6
+ \lvec h:.5 v:.6
+ \etg}
+$$
+Note that the arrowhead has not changed in size. The commands to do this are
+\beginttverbatim \ninepoint \tt
+\1centergraph{\1btg
+ \1unitscale .5 % causes all subsequent units to be multiplied
+ % by .5
+ \1move h:0 v:.3
+ \1arrowheadtype t:F % changes default filled
+ \1avec h:.5 v:.3 % arrow vector leading into box
+ \1move h:.5 v:.6 % moves to lower lefthand corner of box
+ \1lvec h:.5 v:0 % four sides
+ \1lvec h:1.5 v:0
+ \1lvec h:1.5 v:.6
+ \1lvec h:.5 v:.6
+ \1etg}
+\endttverbatim
+If the arrowhead size needed to be reduced in the same scale it is necessary
+to add |\arrowheadscale| after the |\unitscale| and before the first
+arrowvector. Thus we get
+$$
+\centergraph{\btg
+ \unitscale .5 % causes all subsequent units to be multiplied
+ % by .5
+ \move h:0 v:.3
+ \arrowheadscale % makes arrowhead size sensitive to scalings.
+ \arrowheadtype t:F % changes default filled
+ \avec h:.5 v:.3 % arrow vector leading into box
+ \move h:.5 v:.6 % moves to lower lefthand corner of box
+ \lvec h:.5 v:0 % four sides
+ \lvec h:1.5 v:0
+ \lvec h:1.5 v:.6
+ \lvec h:.5 v:.6
+ \etg}
+$$
+This is produced by
+\beginttverbatim \ninepoint \tt
+\1centergraph{\1btg
+ \1unitscale .5 % causes all subsequent units to be multiplied
+ % by .5
+ \1move h:0 v:.3
+ \1arrowheadscale % makes arrowhead size sensitive to scalings.
+ \1arrowheadtype t:F % changes default filled
+ \1avec h:.5 v:.3 % arrow vector leading into box
+ \1move h:.5 v:.6 % moves to lower lefthand corner of box
+ \1lvec h:.5 v:0 % four sides
+ \1lvec h:1.5 v:0
+ \1lvec h:1.5 v:.6
+ \1lvec h:.5 v:.6
+ \1etg}
+\endttverbatim
+
+Finally we have an example with dotted Bezier splines.
+$$
+\centergraph{ \btg \lpatt p:{[20 30 20]}
+ \lvec h:0 v:2
+ \move h:0 v:0
+ \lpatt p:{[20 20 10 10]}
+ \cav (1 1) (2 1) (3 0)
+ \lpatt p:{[20 20]}
+ \move h:4 v:1
+ \cav (0 2) (5 2) (1 1)
+ \etg
+ }
+$$
+
+which was given by
+\beginttverbatim
+\1centergraph{ \1btg \1lpatt p:{[20 30 20]}
+ \1lvec h:0 v:2
+ \1move h:0 v:0
+ \1lpatt p:{[20 20 10 10]}
+ \1cav (1 1) (2 1) (3 0)
+ \1lpatt p:{[20 20]}
+ \1move h:4 v:1
+ \1cav (0 2) (5 2) (1 1)
+ \1etg
+ }
+\endttverbatim
+This is off center because the width computation includes the (5 2) control
+point of the Bezier curve.
+
+\sshead{text}{Text in Graphs}
+All text within \TeX Graph is actually typeset by \TeX. Since \TeX\ does
+this so beautifully, it seems counter productive to do it otherwise. The
+commands for including text at various angles are
+
+\beginblockmode
+\ext\@|\htext {<text>}|
+\nbr
+This puts the text in a horizontal |\hbox| running from left to right.
+
+\mbr\ext\@|\vtext {<text>}|
+\nbr
+This puts the text in a vertical |\hbox| going upwards.
+
+\mbr\ext\@|\rtext d:<degrees> t:{<text>}|
+\nbr
+This puts text in an |\hbox| with an arbitrary rotation of {\tt <degrees>}.
+
+\mbr\ext\@|\rstext d:<degrees> sc:<scale> t:{<text>}|
+\nbr
+This puts text in an |\hbox| with an arbitrary rotation of {\tt <degrees>}
+and scale {\tt <scale>}.
+
+\endblockmode
+
+Text is placed in an |\hbox|. This box is located at the point in the graph
+where the |\?text| command is called.
+In order to make the exact placement of the
+box in a graph easier, the box is actually oriented at any one of nine
+reference points. The command is
+
+\beginblockmode
+\ext\@|\textref h:<L C R> v:<T C B>|
+\nbr
+The choices of {\tt L C R} are Left, Center, and Right respectively in the
+horizontal and vertical positions.
+\endblockmode
+
+The nine
+choices are shown below:
+\medskip
+\def\bul{\htext {$\bullet$} }
+\def\tref{\beginsegment
+ \textref h:C v:C
+ \lvec h:1 v:0 \bul
+ \lvec h:2 v:0 \bul
+ \lvec h:2 v:.5 \bul
+ \lvec h:2 v:1 \bul
+ \lvec h:1 v:1 \bul
+ \lvec h:0 v:1 \bul
+ \lvec h:0 v:.5 \bul
+ \lvec h:0 v:0 \bul
+ \move h:1 v:.5 \bul
+ \endsegment}
+\def\tlabels{\textref h:R v:C %left hand labels
+ \htext{ h:L v:T } \lvec h:.2 v:0 \avec h:.6 v:.4
+ \move h:0 v:.9 \htext{ h:L v:C } \avec h:.6 v:.9
+ \move h:0 v:1.8 \htext{ h:L v:B } \lvec h:.2 v:1.8 \avec h:.6 v:1.4
+ \textref h:L v:C %right hand labels
+ \move h:3.2 v:0 \htext{ h:R v:T } \lvec h:3 v:0 \avec h:2.6 v:.4
+ \move h:3.2 v:.9 \htext{ h:R v:C } \avec h:2.6 v:.9
+ \move h:3.2 v:1.8 \htext{ h:R v:B } \lvec h:3 v:1.8 \avec h:2.6 v:1.4
+ \textref h:C v:B % Center Top
+ \move h:1.6 v:0 \htext{ h:C v:T } \move h:1.6 v:.05
+ \avec h:1.6 v:.4
+ \textref h:L v:C % Center Center
+ \move h:2.0 v:.7 \htext{ h:C v:C } \lvec h:1.85 v:.7
+ \avec h:1.6 v:.9
+ \textref h:C v:T % Center Bottom
+ \move h:1.6 v:1.8 \htext{ h:C v:B } \move h:1.6 v:1.75
+ \avec h:1.6 v:1.4
+ }
+\medskip
+\centergraph{\btg \unitscale .7
+ \arrowheadsize l:.08 w:.02 \arrowheadtype t:O
+ \tlabels
+ \move h:.6 v:.4 \tref
+ \etg}
+\medskip
+These reference points move with the box as it is rotated or scaled.
+
+As an example we add the following $\rho=\sum_{i=1}^{n}\rho_i$ to the
+center of the block diagram used previously to give
+$$
+\centergraph{\btg
+ \move h:1.0 v:.3 % moves to center of box
+ \textref h:C v:C % sets text reference to dead center
+ \htext {$\rho=\sum_{i=1}^{n}\rho_i$} % puts in text
+ \move h:0 v:.3
+ \avec h:.5 v:.3 % arrow vector leading into box
+ \move h:.5 v:.6 % moves to lower lefthand corner of box
+ \lvec h:.5 v:0 % four sides
+ \lvec h:1.5 v:0
+ \lvec h:1.5 v:.6
+ \lvec h:.5 v:.6
+ \etg}
+$$
+The commands to do this are
+\beginttverbatim \ninepoint \tt
+\1centergraph{\1btg
+ \1move h:1.0 v:.3 % moves to center of box
+ \1textref h:C v:C % sets text reference to dead center
+ \1htext {$\1rho=\1sum_{i=1}^{n}\1rho_i$} % puts in text
+ \1move h:0 v:.3
+ \1avec h:.5 v:.3 % arrow vector leading into box
+ \1move h:.5 v:.6 % moves to lower lefthand corner of box
+ \1lvec h:.5 v:0 % four sides
+ \1lvec h:1.5 v:0
+ \1lvec h:1.5 v:.6
+ \1lvec h:.5 v:.6
+ \1etg}
+\endttverbatim
+
+Arbitrary rotation of text or graphics |\rtext|.
+This example uses |\rtext d:45 t:<text>| in place of the |\htext|.
+$$
+\centergraph{\btg
+ \move h:1.0 v:.3 % moves to center of box
+ \textref h:C v:C % sets text reference to dead center
+ \rtext d:45 t:{$\rho=\sum_{i=1}^{n}\rho_i$} % puts in text
+ \move h:0 v:.3
+ \avec h:.5 v:.3 % arrow vector leading into box
+ \move h:.5 v:.6 % moves to lower lefthand corner of box
+ \lvec h:.5 v:0 % four sides
+ \lvec h:1.5 v:0
+ \lvec h:1.5 v:.6
+ \lvec h:.5 v:.6
+ \etg}
+$$
+Note that the text spills out over the edges of the box. There is no
+guarantee that the text will fit in the box.
+In fact if we take the
+horizontal example and add a |\unitscale .7 \arrowheadscale| the following
+results:
+$$
+\centergraph{\btg
+ \unitscale .7
+ \arrowheadscale
+ \move h:1.0 v:.3 % moves to center of box
+ \textref h:C v:C % sets text reference to dead center
+ \htext {$\rho=\sum_{i=1}^{n}\rho_i$} % puts in text
+ \move h:0 v:.3
+ \avec h:.5 v:.3 % arrow vector leading into box
+ \move h:.5 v:.6 % moves to lower lefthand corner of box
+ \lvec h:.5 v:0 % four sides
+ \lvec h:1.5 v:0
+ \lvec h:1.5 v:.6
+ \lvec h:.5 v:.6
+ \etg}
+$$
+
+Note that the font is not scaled. If we use |\rstext d:0 sc:.8 t:<...>| we
+get
+$$
+\centergraph{\btg
+ \unitscale .7
+ \arrowheadscale
+ \move h:1.0 v:.3 % moves to center of box
+ \textref h:C v:C % sets text reference to dead center
+ \rstext d:0 sc:.8 t:{$\rho=\sum_{i=1}^{n}\rho_i$}
+ \move h:0 v:.3
+ \avec h:.5 v:.3 % arrow vector leading into box
+ \move h:.5 v:.6 % moves to lower lefthand corner of box
+ \lvec h:.5 v:0 % four sides
+ \lvec h:1.5 v:0
+ \lvec h:1.5 v:.6
+ \lvec h:.5 v:.6
+ \etg}
+$$
+
+
+\shead{vertgraph}{Rotated Graphics and Text}
+It is possible to place graphics or text at any arbitrary direction
+on a page. It is only
+necessary to include it in a |\vtext| for vertical or an |\rtext| for an
+arbitrary rotation. However, it should be remembered that
+the reference point is that position on the page where the |\?text| was
+entered {\bf and} that the text/graphics goes at the appropriate angle.
+The following shows a
+simple table angled on the page. To do this correctly, requires that you
+discover the size of the table.
+
+\def\sample{
+ \btg
+ \lvec h:1 v:0
+ \incscfile f:ieeelogo.ps sc:.25 d:0
+ \lvec h:0 v:.5
+ \htext{\begintable
+ \begintableformat
+ &\center
+ \endtableformat
+ \-
+ \br{\:|}\use{3} PROJECT --- Squidget Forms \er{|}
+ \-
+ \br{\:|} Milestone | Due | Projected \er{|}
+ \-
+ \br{\:|} A | Aug. 94 | Jan. 95 \er{|}
+ \-
+ \br{\:|} B | Dec. 94 | Dec. 95 \er{|}
+ \-
+ \br{\:|} A | Jan. 95 | ? \er{|}
+ \-
+ \endtable}
+ \etg}
+
+$$
+\centergraph{
+ \btg
+ \lvec h:0 v:1 % sets origin
+ \rtext d:45 t:{\sample}
+ \lvec h:2 v:2 % sets size of graph ...
+ \etg}
+$$
+
+This was done with the following set of commands. Note that a |\def| was used
+to make the construction easier to follow. |\lvec| was used rather than
+|\move| in order to make the origin movements visible.
+\beginttverbatim \ninepoint \tt
+\1def\1sample{
+ \1btg
+ \1lvec h;1 v:0
+ \1incscfile f:ieeelogo.ps sc:.25 d:0
+ \1lvec h:0 v:.5
+ \1htext{\1begintable
+ \1begintableformat
+ &\1center
+ \1endtableformat
+ \1-
+ \1br{\1:|}\1use{3} PROJECT --- Squidget Forms \1er{|}
+ \1-
+ \1br{\1:|} Milestone | Due | Projected \1er{|}
+ \1-
+ \1br{\1:|} A | Aug. 94 | Jan. 95 \1er{|}
+ \1-
+ \1br{\1:|} B | Dec. 94 | Dec. 95 \1er{|}
+ \1-
+ \1br{\1:|} A | Jan. 95 | ? \1er{|}
+ \1-
+ \1endtable}
+ \1etg}
+\endttverbatim
+
+\beginttverbatim \ninepoint \tt
+\1medskip
+\1centergraph{
+ \1btg \1textref h:C v:C
+ \1lvec h:0 v:1 % sets origin
+ \1rtext d:45 t:{\1sample}
+ \1lvec h:2 v:2 % sets size of graph ...
+ \1etg}
+\1medskip
+\endttverbatim
+In fact, this example was first
+done as a separate file to learn the appropriate dimensions and then inputted
+in the appropriate place.
+
+\sshead{arcs}{Circles, Arcs and Fills}
+\TeX Graph uses the circle, arc, and fill commands of PostScript to
+produce curves. PostScript uses a polygonal fill on the {\bf inside} of the
+curve. This means that the direction of the arcs are important.
+
+The commands are
+\beginblockmode
+\ext\@|\lcir r:<radius>|
+\nbr
+This is a circle with the center at the current loaction and a radius of
+size {\tt <radius>} in the current dimensions.
+
+\mbr\ext\@|\arcc r:<radius> sd:<degrees> ed:<degrees>|
+\nbr
+This is an ``unstroked''arc, ie equivalent to a |\move| in the counter
+clockwise direction from {\tt sd:<..>} to {\tt ed:<..>}. If this is used in
+a fill, the center of the circle is the beginning of the path.
+
+\mbr\ext\@|\arcn r:<radius> sd:<degrees> ed:<degrees>|
+\nbr
+This is the same as |\arcc| except that it is counter clockwise.
+
+\mbr\ext\@|\pfill p:<fraction>|
+\nbr
+This completes a path a fills the path with a shade of gray with {\tt p:0}
+being black and {\tt p:1} being white.
+\endblockmode
+
+The angles are in the directions shown here.
+$$
+\centergraph{
+ \btg \unitscale .7
+ \move h:1 v:2
+ \avec h:1 v:0
+ \move h:0 v:1
+ \avec h:2 v:1
+ \move h:1 v:2.05 \textref h:C v:T \htext{$90^\circ$}
+ \move h:0 v:1 \textref h:R v:C \htext{$180^\circ$ }
+ \move h:1 v:-.05 \textref h:C v:B \htext{$270^\circ$}
+ \move h:2 v:1 \textref h:L v:C \htext{ $0^\circ,\ 360^\circ$ }
+ \etg}
+$$
+
+\def\fillbox #1 {\move h:.4 v:0
+ \beginsegment
+ \absoluteposition
+ \lvec h:.5 v:0
+ \lvec h:.5 v:.5
+ \lvec h:0 v:.5
+ \pfill p:{#1}
+ \move h:.25 v:.55 \textref h:C v:T \htext{#1}
+ \endsegment
+ \move h:.4 v:0 % for symmetry
+ }
+
+Some shades of gray are as follows:
+$$
+\centergraph{
+\btg
+\relativeposition
+\fillbox 0
+\fillbox .1
+\fillbox .2
+\fillbox .3
+\fillbox .4
+\move h:-4 v:.8
+\fillbox .5
+\fillbox .6
+\fillbox .7
+\fillbox .8
+\fillbox .9
+\etg}
+$$
+
+An example of a use of arcs and fill is given below.
+$$
+\centergraph{\btg
+ \arcc r:2 sd:0 ed:45
+ \pfill p:.5
+ \arcc r:1 sd:0 ed:45
+ \pfill p:1 % fills the inside with white
+ \move h:2 v:1.5 % to leave enough space
+ \etg}
+$$
+
+This logo is given by
+\beginttverbatim \ninepoint \tt
+\1centergraph{\1btg
+ \1arcc r:2 sd:0 ed:45
+ \1pfill p:.5
+ \1arcc r:1 sd:0 ed:45
+ \1pfill p:1 % fills the inside with white
+ \1move h:2 v:1.5 % to leave enough space
+ \1etg}
+\endttverbatim
+This shows that a fill of ``white'' (1) is opaque and obliterates the black
+or gray underneath. Note the single line of dots from the origin. Apparently
+there is some roundoff. This strategy is necessary in PostScript filling.
+
+
+\shead{seg}{Advanced \TeX Graphics and Segments}
+The most important advanced feature of \TeX Graph is the graphical segment.
+These are delimited by |\beginsegment| |\endsegment| pairs. They are used to
+create graphical items that can be placed at any specific location in a
+graph. This capability, combined with \TeX's ability to create definitions
+allows for the creation of libraries of symbols. {\bf Segments are the only
+groups that should be used within a} |\btg| |\etg| {\bf
+pair.}\footnote{!}{This is almost true. Groups may be used freely within
+the argument of either an |\??text|.} A simple example of the use
+of this facility was the definition of a |\fillbox| to create the box with
+the fill pattern shown in Section~\ref{arcs}. The definition was
+
+\beginttverbatim \ninepoint \tt
+\1def\1fillbox #1 {\1move h:.4 v:0
+ \1beginsegment
+ \1absoluteposition
+ \1lvec h:.5 v:0
+ \1lvec h:.5 v:.5
+ \1lvec h:0 v:.5
+ \1pfill p:{#1}
+ \1move h:.25 v:.55 \1textref h:C v:T \1htext{#1}
+ \1endsegment
+ \1move h:.4 v:0 % for symmetry
+ }
+\endttverbatim
+
+The relative position in outside the segment allows the boxes to be placed
+beside each other with even spacing and no additional instructions.
+
+Each segment has a {\it segment reference point}. This is the location in
+the enclosing segment or |\btg| |\etg|, which is really just a special
+segment. {\bf Absolute positions} within a segment are actually relative to
+the {\it segment reference point}. Relative positions are relative.
+The three
+boxes below
+$$
+ \centergraph{\btg \relativeposition
+ \fillbox .3
+ \fillbox .5
+ \fillbox .7
+ \etg}
+$$
+were produced by
+\beginttverbatim \ninepoint \tt
+\1medskip
+ \1centergraph{\1btg \1relativeposition
+ \1fillbox .3
+ \1fillbox .5
+ \1fillbox .7
+ \1etg}
+\1medskip
+\endttverbatim
+Note that the space after the |#1| in the definition for |\fillbox| means
+that the numbers are delimited by implicit space at the end of the line. If
+this space had been left out, only the first digit in each of the pattern
+numbers would have been read and the other would have been printed at some
+odd place on the page.
+
+\sshead{segscale}{Segment Scaling}
+There are several scaling parameters that can be used with segments. In
+addition to the |\unitscale| there is a |\segmentscale|. Roughly speaking the
+|\segmentscale| is used to change the scale of the present and all enclosed
+segments while the |\unitscale| is used to set the nominal size of segment
+object. The major difference between the two is that segment scales
+accumulate while unitscales do not. An example is obtained using the
+|\fillbox| in a segment. The following three boxes illustrate the effect.
+$$
+\centergraph{\btg \unitscale .3 % changes units
+ \segmentscale 2 % doubles scale of all enclosed segments
+ % actual scale is .3*2=.6
+ \fillbox .5
+ \move h:.8 v:0 % moves to right beyond box
+ \beginsegment
+ \unitscale .5 % now unit scale is .5
+ \segmentscale .7 % reduces scale by .5 -- actual scale is
+ % .5*2*.7=.7
+ \fillbox .7
+ \move h:.8 v:0
+ \beginsegment
+ \unitscale 1
+ \segmentscale .8 % actual scale is 1*2*.7*.8=1.12
+ \fillbox .9
+ \endsegment
+ \endsegment
+ \etg}
+$$
+
+This example should be studied carefully. The actual commands that produced
+it are
+\beginttverbatim \ninepoint \tt
+\1centergraph{\1btg \1unitscale .3 % changes units
+ \1segmentscale 2
+ % doubles scale of all enclosed segments
+ % actual scale is .3*2=.6
+ \1fillbox .5
+ \1move h:.8 v:0 % moves to right beyond box
+ \1beginsegment
+ \1unitscale .5 % now unit scale is .5
+ \1segmentscale .7
+ % reduces scale by .5 -- actual scale is
+ % .5*2*.7=.7
+ \1fillbox .7
+ \1move h:.8 v:0
+ \1beginsegment
+ \1unitscale 1
+ \1segmentscale .8 % actual scale is 1*2*.7*.8=1.12
+ \1fillbox .9
+ \1endsegment
+ % actual scale is back to .5*2*.7=.7
+ \1endsegment
+ % actual scale is back to .3*2=.6
+ \1etg}
+\endttverbatim
+Note how the segment scale accumulates while the unitscale does not. Note
+also that the scale reverts to that of the enclosing segment after an
+|\endsegment|.
+
+It is possible to prevent a segment from being affected by the external
+segment scales by inserting the command |\absolutescale|. This is used for
+symbols that you wish to have the same size no matter the actual scale of the
+graph.
+
+\sshead{segsum}{Segment Command Summaries}
+The following is a list of some of the important points concerning segments:
+\beginblockmode
+\ext\@|\beginsegment|
+\nbr
+This begins a graphical segment and a group. All locations within a segment
+are relative to the origin of the segment.
+
+\mbr\ext\@|\endsegment|
+\nbr
+This terminates a segment and the group. The current location upon leaving
+a segment is the segment origin.
+
+\mbr\ext\@|\unitscale <scale>|
+\nbr
+The {\tt <scale>} multiplies the present segment and all
+enclosed segments unless they have their own |\unitscale|. A |\unitscale| may
+be changed at any time within a segment.
+
+\mbr\ext\@|\segmentscale <scale>|
+\nbr
+The {\tt <scale>} affects the present segment and all
+enclosed segments unless that segment is protected by an |\absolutescale|.
+Unlike |\unitscale|, the |\segmentscale| accumulates by multiplying the
+current scale value.
+The actual scale used for interpreting position numbers is the
+product of all of the enclosing segmentscales times the presently active
+unitscale.
+
+\mbr\ext\@|\absoluteposition|
+\nbr
+All coordinates are to be interpreted with respect to the current origin.
+This will either be the graph origin or the origin of the current segment.
+
+\mbr\ext\@|\relativeposition|
+\nbr
+Coordinate positions are interpreted relative to the previous position. If
+the previous command was the drawing of an arc or circle,
+the previous position is
+the center of the circle.
+\endblockmode
+
+
+
+\shead{slides}{Slide Making}
+A specialized set of commands along with appropriate templates exist to
+create a transparency. All slides are ``horizontal''. |\fullform| slides
+take up an entire 8.5 by 11~in. page and are intended for display.
+|\textform| slides are reduced for text. A |\comment <text> //| command is
+given that is suppressed when the |\fullform| is used but is printed when
+|\textform| is used. The text in the slides uses a general scaled font
+family in the file |spfont.tex|. This family is basically a scaled set of
+|\tenpoint| fonts. An example is given below:
+
+
+
+There are two basic forms, the INRS form and a General form. An example of
+the |\inrsform| is given by
+
+
+\textform
+\formscale .7
+
+\beginmidinsert
+\inrsform
+
+\hslide HOW TO MAKE SLIDES WITH \intex//
+\hd{Preliminaries}
+\bl
+\lb Input the macro package with {\tt \1input inrssl.tex}.
+\lc Decide whether {\tt \1fullform} or {\tt \1textform}.
+\last Decide whether {\tt \1inrsform} or {\tt \1genform}.
+\el
+\hd{Making it.}
+\bl
+\lb Use {\tt \1hslide <title>// <body> //}.
+\lb Use {``//''} as the delimiter.
+\el
+//
+\endmidinsert
+
+\beginttverbatim
+\1input inrssl % brings in the slide macros
+\1textform % sets textform and size
+\1formscale .7 % further reduces the size of slide by .7
+\1beginmidinsert
+\1inrsform % sets the inrs form
+\1hslide HOW TO MAKE SLIDES WITH \1intex//
+\1hd{Preliminaries}
+\1bl
+\1lb Input the macro package with {\1tt \1 1input inrssl.tex}.
+\1lc Decide whether {\1tt \1 1fullform} or {\1tt \1 1textform}.
+\1last Decide whether {\1tt \1 1inrsform} or {\1tt \1 1genform}.
+\1el
+\1hd{Making it.}
+\1bl
+\1lb Use {\1tt \1 1hslide <title>// <body> //}.
+\1lb Use {``//''} as the delimiter.
+\1el
+//
+\1endmidinsert
+\endttverbatim
+
+\beginmidinsert
+\topdata = {General Engineering Inc.}
+\botdata = {An Important Presentation}
+\slidedate = {Jan. 1, 2000}
+\genform % this calls the general form that uses these token registers
+
+\hslide This is the title \cr Split here //
+\hd{This is an internal header}
+\bl
+\lb A listitem starting with a bullet.
+\lc A listitem starting with a circle.
+\last A listitem starting with an asterisk.
+\el
+// % the // terminates a slide
+
+\comment
+It is possible to add a comment to the bottom of the slide which
+only shows up when the slide is printed in textform. A comment is
+terminated with a {//} //
+\endmidinsert
+
+This second slide was given by
+\beginttverbatim
+\1topdata = {General Engineering Inc.}
+\1botdata = {An Important Presentation}
+\1slidedate = {Jan. 1, 2000}
+\1genform % the general form that uses these token strings
+
+\1hslide This is the title \1cr Split here //
+\1hd{This is an internal header}
+\1bl
+\1lb A listitem starting with a bullet.
+\1lc A listitem starting with a circle.
+\1last A listitem starting with an asterisk.
+\1el
+// % the // terminates a slide
+
+\1comment
+It is possible to add a comment to the bottom of the slide which
+only shows up when the slide is printed in textform. A comment is
+terminated with a {//} //
+\endttverbatim
+
+
+Arbitrary graphics may be included in a slide using normal \TeX Graph
+commands. However, the included graphics may not scale correctly when
+moving from |\fullform| to |\textform|. Under these conditions is is
+necessary to include the test |\iftextform <....> \else <...> \fi| to
+switch between the modes.
+
+
+The basic commands in the slide package
+
+\beginblockmode
+\ext\@|\input inrssl|
+\nbr
+This command will bring in the INRS\TeX\ slide macro package.
+
+\mbr\ext\@|\fullform|
+\nbr
+This chooses the full size form intended for creating the transparency. Any
+|\comment| is suppressed.
+
+\mbr\ext\@|\textform|
+\nbr
+This chooses the text size of the slide and does not suppress the
+|\comment| text.
+
+\mbr\ext\@|\formscale <scale>|
+\nbr
+The entire slide, text, internal graphics, and border, is scaled
+by the {\tt <scale>} factor. This is done by directly by PostScript.
+
+\mbr\ext\@|\hslide <title> // <text> //|
+This is the basic command for making a slide. The title is terminated with
+a // and the slide body is also terminated with a //.
+
+\mbr\ext\@|\comment <text> //|
+This is a comment text which is printed in |\textform| but suppressed in
+|\fullform|.
+
+\mbr\ext\@|\inrsform|
+This will give the standard \INRS\ format with its logo on the top and
+nothing on the bottom. Text on the bottom may be added using |\botdata| and
+|\slidedate|.
+
+\mbr\ext\@|\genform|
+\nbr
+This is a completely general form where only the border is set.
+
+\mbr\ext\@|\topdata ={<text>}|
+This is printed in the |\borderfont| which is the same as the current slide
+body font. It is printed on the top line above the border with a current
+position at the left hand corner.
+
+\mbr\ext\@|\botdata = {<b-text>}|
+\mbr\ext\@|\slidedate = {<s-date>}|
+\nbr
+These two token strings are printed on the bottom line centered and
+separated by a --, ie as |<b-text> - <s-date>|.
+
+\mbr\ext\@|\iftextform <...> \else <...> \fi|
+\nbr
+This is a switch that allows for different actions between fullform and
+textform. |\textform| is .578=1/1.728 the size of |\fullform|.
+
+\mbr\ext\@|\lb \lc \last|
+\nbr
+These are three short forms for use in listitems starting with $\bullet$,
+$\circ$, and {\tt *} respectively.
+
+\mbr\ext\@|\hd{<text>}|
+\nbr
+This gives a ``header'' inside a slide. It is equivalent to a |\dssshead|
+in normal text.
+\endblockmode
+
+
+\shead{grcomform}{Some Additional Command Forms -- \TeX Graph}
+\beginblockmode
+\ext\@|\begintexgraph \btg|
+\nbr
+This begins \TeX Graph. It will bring in the \TeX Graph macros the first
+time it is called. It starts a group and a |\vbox|.
+
+\mbr\ext\@|\endtexgraph \etg|
+\nbr
+Finishes \TeX Graph. It terminates the group started by |\btg|.
+
+\mbr\ext\@|\graphdim <units>|
+\nbr
+This sets the default units of \TeX Graph. Any valid \TeX\ |<unit>| is
+valid such as {\tt in, cm, pt,} or {\tt bp}. The current default is {\tt
+in}.
+
+\mbr\ext\@|\hgraphsize|
+\nbr
+This maximum horizontal excursion of the graph as computed by \TeX Graph.
+It is a dimension.
+
+\mbr\ext\@|\hgraphskip|
+\nbr
+This actually |\hskip \hgraphsize|.
+
+\mbr\ext\@|\hpix <number>/<unit>|
+\nbr
+This is the horizontal resolution in pixels/unit. The default is
+{\tt 300/in}.
+
+
+\mbr\ext\@|\vgraphsize|
+\nbr
+This maximum vertical excursion of the graph as computed by \TeX Graph.
+It is a dimension.
+
+\mbr\ext\@|\vgraphskip|
+\nbr
+This actually |\vskip \vgraphsize|.
+
+
+\mbr\ext\@|\vpix <number>/<unit>|
+\nbr
+This is the vertical resolution in pixels/unit. The default is
+{\tt 300/in}.
+
+\endblockmode
+\ejectpage
+
+\done
diff --git a/macros/inrstex/inrsdoc/thindex.tex b/macros/inrstex/inrsdoc/thindex.tex
new file mode 100644
index 0000000000..56664fd4d5
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thindex.tex
@@ -0,0 +1,29 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{index}
+
+\def\cqu{\cquote{LEXICOGRAPHER: A writer of dictionaries, a harmless
+drudge.}{Dictionary [1755], Samuel~Johnson (1709-1784)}
+}
+
+\mark{}
+\chnum=0
+\def\chnumform{\Alphabetic{\the\chnum}}
+\def\Chapter{APPENDIX }
+\def\rightheadertext{\line{\hss
+ APPENDIX A: \botmark\rlap{\ssheadfont\qquad\folio}}}
+\def\leftheadertext{\line{\llap{\ssheadfont\folio
+ \qquad}APPENDIX A: \firstmark\hss}}
+\chead{index}{COMMAND INDEX}
+This Appendix contains an alphabetical list of the commands of \intex, with
+some information about their syntax and parameters, and the page in the book
+where they are more fully explained.
+\long\def\indpg #1.{\mark{{\tt \text}}\quad {\it #1}\par\filbreak}
+{\obeyspaces \long\global\def\2#1 {\xdef\text{#1}#1 }}
+\vskip 4.8ex
+\eightpoint
+\beginttverbatim
+\input masth.sor
+\endttverbatim
+
+\done
diff --git a/macros/inrstex/inrsdoc/thlists.tex b/macros/inrstex/inrsdoc/thlists.tex
new file mode 100644
index 0000000000..40e388a2f4
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thlists.tex
@@ -0,0 +1,281 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{lists}
+\def\cqu{}
+
+
+
+\chapterhead{lists}{LISTS}
+{\it Plain} \tex\ supplies two commands for lists, |\item|, and |\itemitem|,
+that create list items with indentations of one and two times the paragraph
+indentation respectively. \intex\ supplies a complete set of commands for
+three levels of lists. In addition, spacing of list items may be controlled
+by either tightening or loosening the list item spacing. The basic set of
+commands specify the beginning and end of a |list|, |sublist|, and
+|subsublist|. All items in a list are introduced by |\listitem| or its
+abbreviation |\li|.
+
+The commands for making lists are given first and the list of the various
+glues for spacing is given in Section \ref{listparms}.
+
+\shead{listcomlist}{Command List -- Making Lists}
+\begintwocolumn
+\ext|\beginlist \bl|
+\ext|\beginsublist \bsl|
+\ext|\beginsubsublist \bssl|
+\ext|\everylist|
+\ext|\everysublist|
+\ext|\everysubsublist|
+\ext|\endlist \el|
+\ext|\endsublist \esl|
+\ext|\endsubsublist \essl|
+\pla|\item|
+\pla|\itemitem|
+\ext|\listitem \li|
+\ext|\loosenlist|
+\ext|\samplemark|
+\ext|\tightenlist|
+\endthreecolumn
+
+\shead{maklist}{Making Lists}
+Lists and their associated items can appear in either vertical or internal
+vertical mode. They also work in multicolumn format and in conjunction with
+|\narrowtext|. In \intex\ the type of list is specified and not the actual
+list item. All list items, whether they appear in a list or a subsublist are
+called the same way. As elsewhere in \intex, every |\begin..list| must have
+an accompanying |\end..list|. Each |\begin..list ... \end..list| matching
+pair form a {\it group}; thus it is possible to change the fonts or any other
+parameter and that change affects only the present group and all of its
+internal groups. This is an important benefit of designating lists instead of
+list items. The main text of a list is indented a fixed amount and the list
+item herald, if it exists, is placed one quad to the left of the main text.
+
+\intex\ also supplies three token lists |\everylist|, |\everysublist|, and
+|\everysubsublist|. These are token lists the contents of which are emptied
+inside the list group every time the corresponding |\begin...list| is called.
+These may be used for changing the list indentations, fonts, or individual
+item skips. Anything done in an outer list is of course valid in the sub
+lists. For instance if the list indent was required to be one inch and the
+list spacing to be 1 then
+\begintt
+\everylist = {\listindentsize = 1in \spacing{1}}
+\endtt
+would do the job.
+
+The list commands can be used as the basis of specialized lists such as
+citation references.
+
+Things to note about lists are
+\beginlist
+\li $\bullet$ There are three levels of lists, {\it lists},
+ {\it sublists}, and {\it subsublists}.
+\beginsublist
+\eightpoint
+\li $\circ$ A list, sublist, subsublist starts a group.
+ The group localizes the effect of changes.
+\li $\clubsuit$ List items are indicated in the same way at
+ all levels.
+\li $\diamond$ Display mathematics is acceptable within lists.
+ This is an example.
+ $$
+ \oint_{\vert z\vert < 1} {e^{-kz} \over (1-z)} dz
+ $$
+It can also have a second paragraph that is a part of this
+item. This paragraph could even have a narrowed portion
+\beginnarrowtext .5in
+\tenpoint \it \noindent
+Wise men lay up knowledge but the babbling
+of a fool brings ruin near.
+\bf Proverbs Ch.~10, Vs.~14
+\endnarrowtext
+\li $\bullet$ It is possible to tighten the list here
+ but it would not do much good as this is the last
+ subitem.
+\endsublist
+\li NOTE: The {\it Note:} herald is so large that it sticks {\bf into}
+ the actual list item. This can be seen on this line.
+\li $\star$ This is a more normal size herald.
+\endlist
+\ejectpage
+
+The previous list is actually produced by
+\begintt
+\beginlist
+\li $\bullet$ There are three levels of lists, {\it lists},
+ {\it sublists}, and {\it subsublists}.
+\beginsublist
+\eightpoint
+\li $\circ$ A list, sublist, subsublist starts a group.
+ The group localizes the effect of changes.
+\li $\clubsuit$ List items are indicated in the same way at
+ all levels.
+\li $\diamond$ Display mathematics is acceptable within lists.
+ This is an example.
+ $$
+ \oint_{\vert z\vert < 1} {e^{-kz} \over (1-z)} dz
+ $$
+It can also have a second paragraph that is a part of this
+item. This paragraph could even have a narrowed portion
+\beginnarrowtext .5in
+\tenpoint \it \noindent
+Wise men lay up knowledge but the babbling
+of a fool brings ruin near.
+\bf Proverbs Ch.~10, Vs.~14
+\endnarrowtext
+\li $\bullet$ It is possible to tighten the list here
+ but it would not do much good as this is the last
+ subitem.
+\endsublist
+\li NOTE: The {\it Note:} herald is so large that it sticks
+ {\bf into} the actual list item. This can be seen
+ on this line.
+\li $\star$ This is a more normal size herald.
+\endlist
+\endtt
+The command |\samplemark{<list item mark>}| can be used to
+create a list where the |\listitemmarksize| is one |\enspace| larger than the
+sample mark and the |\listindent|, |\sublistindent|, and
+|\subsublistindent|
+{\bf inside} the same group are modified accordingly.
+
+
+\shead{makcomforms}{Command Forms -- Making Lists}
+\beginblockmode
+\ext\@|\beginlist \bl|
+\nbr
+This begins a list, starts a group,
+and should always have a matching |\endlist|.
+|\bl| is an approved abbreviation of |\beginlist|.
+
+
+\mbr\ext\@|\beginsublist \bsl|
+\nbr
+This begins a sublist, starts a group,
+and should always have a matching |\endsublist|.
+A sublist may exist without a surrounding list.
+|\bsl| is an approved abbreviation of |\beginsublist|.
+
+
+\mbr\ext\@|\beginsubsublist \bssl|
+\nbr
+This begins a subsublist, starts a group,
+and should always have a matching |\endsubsublist|.
+A subsublist may exist without a surrounding list or sublist.
+|\bssl| is an approved abbreviation of |\beginsubsublist|.
+
+
+\mbr\ext\@|\endlist \el|
+\nbr
+These commands terminate a list and its associated group.
+|\el| is an approved abbreviation for |\endlist|
+
+\mbr\ext\@|\endsublist \esl|
+\nbr
+These commands terminate a sublist and its associated group.
+|\esl| is an approved abbreviation for |\endsublist|
+
+\mbr\ext\@|\endsubsublist \essl|
+\nbr
+These commands terminate a subsublist and its associated group.
+|\essl| is an approved abbreviation for |\endsubsublist|
+
+
+\mbr
+\ext\@|\everylist [=] {<token list>}|
+\nbr
+The |<token list>| is inserted in the front of the list by the |\beginlist|.
+It is inserted soon enough to affect the list item parameters, and all
+parameters of the sublists and subsublists but too late to affect the prelist
+spacing.
+
+\mbr
+\ext\@|\everysublist [=] {<token list>}|
+\nbr
+The |<token list>| is inserted in the front of the sublist by the
+|\beginsublist|.
+It is inserted soon enough to affect the list item parameters, and all
+parameters of the subsublists but too late to affect the presublist
+spacing.
+
+\mbr
+\ext\@|\everysubsublist [=] {<token list>}|
+\nbr
+The |<token list>| is inserted before the subsublist by the
+|\beginsubsublist|.
+It is inserted soon enough to affect the list item parameters
+but too late to affect the presubsublist
+spacing.
+
+
+\mbr\pla\@|\item|
+\nbr
+This is similar to |\listitem| but does not need to be surrounded by a list.
+It always indents by the |\parindent|.
+
+\mbr\pla\@|\itemitem|
+\nbr
+This is similar to |\listitem| but does not need to be surrounded by a list.
+It always indents by twice the |\parindent|.
+
+
+\mbr\ext\@|\listitem <listitem mark>|\]| \li|
+\nbr
+This is the normal way to designate a list item. The |<listitem mark>| is the first
+string of characters after the |\listitem| and is terminated by blank, \].
+The |<listitem mark>| is placed to the left of the first character in the
+list item with a total width of |\listitemmarksize|. At least one |\enspace|
+exists between the end of the |<listitem mark>| and the first character in
+the list item. If the |<listitem mark>| is larger than the space allotted, It
+will stick {\bf into} the list item.
+A list item continues until the list ends or a new list item begins.
+
+\mbr\ext\@|\loosenlist|
+\nbr
+This command {\bf loosens} the spacing between list items in the present and
+all enclosed lists by a factor of 4 = 1/.25. It will undo a single
+|\tightenlist| at the same level.
+\mbr
+\ext\@|\samplemark{<listitem mark>}|
+\nbr
+This command is used to create lists with marks that may be of quite different
+size than that assumed by the defaults. All marks and indents contained in
+the same list and sublists will be changed. This command {\bf must} be used
+before the first list item to affect the present list.
+The |\listitemmarksize| is one |\enspace| larger than the
+sample mark and the |\listindent|, |\sublistindent|, and |\subsublistindent|
+{\bf inside} the same group are modified accordingly.
+
+\mbr\ext\@|\tightenlist|
+\nbr
+This command {\bf tightens} the spacing between list items in the present and
+all enclosed lists by a factor of .25 = 1/4. It will undo a single
+|\loosenlist| at the same level.
+\endblockmode
+
+\shead{listparms}{Command Forms -- List Spacing Parameters}
+All of the parameters are set via assignments such as
+|\...skip [=] <glue, dimen>|.
+Their use should be obvious from their names. Note that |\pr...| is the skip
+that {\it precedes} and |\po...| is {\it post} the |list| in question.
+For example, |\prsublistskip| is the skip that occurs before the start of a
+|sublist| and |\posublistskip| that which follows. Where a |list|, |sublist|,
+and/or |subsublist| start or finish at the same place, the maximum skip is
+chosen.
+\medbreak
+\begintwocolumn
+\ext\@|\listindent [=] <dimen>|
+\ext\@|\listitemmarksize [=] <dimen>|
+\ext\@|\listitemskip [=] <glue>|
+\ext\@|\polistskip [=] <glue>|
+\ext\@|\posublistskip [=] <glue>|
+\ext\@|\posubsublistskip [=] <glue>|
+\ext\@|\prlistskip [=] <glue>|
+\ext\@|\prsublistskip [=] <glue>|
+\ext\@|\prsubsublistskip [=] <glue>|
+\ext\@|\sublistindent [=] <dimen>|
+\ext\@|\subsublistindent [=] <dimen>|
+\ext\@|\sublistitemskip [=] <glue>|
+\ext\@|\subsublistitemskip [=] <glue>|
+\endthreecolumn
+\ejectpage
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thmateq.tex b/macros/inrstex/inrsdoc/thmateq.tex
new file mode 100644
index 0000000000..e894a666e9
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thmateq.tex
@@ -0,0 +1,480 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{mateq}
+
+\def\cqu{\cquote{Having got our equations, we must proceed to
+carry out such operatins as we have neglected, taking care never to multiply
+when we can divide}{Rules for the Direction of the Mind, Rule XX,
+Ren\'e~Descartes (1596-1650)}}
+
+\chapterhead{mateq}{MATHEMATICS:\cr EQUATION\cr SETUP}
+\tex\ makes the typesetting of the most difficult expressions relatively
+easy. This chapter lists and shows examples of the special forms supplied by
+{\it plain}. For the finer points of mathematic equation setup, the reader is
+referred to the \texbook~[\cite{[Knut84]}]. For more advanced mathematics macro
+and accenting capabilities, the AMS\tex~[\cite{[Amst84]}] package is
+recommended.
+
+\intex\ supplies all that is in {\it plain} plus
+\beginlist
+\li $\bullet$ an autonumbering feature, using |\aneq|, |\aneqtag|, or |\autoeqnum|
+for equations,
+\li $\bullet$ a |\math| and |\displaymath|
+for those who don't like |$|,
+\li $\bullet$ a
+|\leftequationnumbering| and |\rightequationnumbering| that will magically
+shift all the equation numbers from the side specified by the form,
+\li $\bullet$ and a |\mathopen| command that will cause aligned equations to increase
+their spacing.
+\endlist
+
+
+The two basic commands |\math| and |\displaymath| can be used to invoke either
+scriptstyle or displaystyle mathematics in running text. For instance
+|\math{\sum_0^n}| gives \math{\sum_0^n} while |\displaymath{\sum_0^n}| gives
+\displaymath{\sum_0^n}.
+
+In addition there is a tagging mechanism that enables the
+symbolic referencing of equations, both forward and backward.
+
+
+
+\shead{eqcoms}{Command List}
+\begintwocolumn
+\hfuzz = 20pt %temporary
+\pla|\abovewithdelims|
+\pla|\atop|
+\pla|\atopwithdelims|
+\ext|\aneq \aneqtag|
+\ext|\autoeqnum|
+\pla|\bordermatrix|
+\pla|\cases|
+\pla|\cdot|
+\pla|\cdots|
+\pla|\choose|
+\pla|\ddots|
+\ext|\displaymath|
+\pla|\eqalign|
+\pla|\eqalignno|
+\pla|\eqno|
+\pla|\ldots|
+\ext|\leftequationnumbering|
+\pla|\leqno|
+\pla|\leqalignno|
+\ext|\math|
+\ext|\mathopen|
+\pla|\matrix|
+\pri|\noalign|
+\pla|\openup|
+\pla|\over|
+\pla|\overbrace|
+\pla|\overline|
+\pla|\overwithdelims|
+\pla|\phantom|
+\pla|\pmatrix|
+\ext|\rightequationnumbering|
+\pla|\smash|
+\ext|\sphantom|
+\pla|\sqrt|
+\pla|\underbrace|
+\pla|\underline|
+\pla|\vphantom|
+\endthreecolumn
+
+\shead{eqbasics}{Mathematic Equation Basics}
+To put some mathematics, either symbols or expressions, in running text you
+must surround them by a pair of single |$| like |$<expression>$|. An example
+is |$x^y$| gives $x^y$. Mathematics in running text will be broken at the end
+of line at spaces in the expression. To prevent a break but preserve a space
+insert the tie |~| into the expression. Thus |$x~=~y+1$|, giving $x~=~y+1$
+will prevent a break around the $=$ sign. To obtain display equations use
+form
+\begintt
+$$
+<display mathematics forms>
+$$
+\endtt
+There should be {\bf no} blank lines or |\par| within
+|<display mathematics>|. Mysterious errors will result. To have a
+display expression end a sentence, the last character before the equation
+number should be a period.
+
+Superscripting and subscripting can occur only in mathematics mode. The |\@|
+is the superscript character and |_| is the subscript character. The braces
+|{<super,subscript characters>}| are necessary to tell \tex\ what material
+goes where. The example below shows the result of different use of braces.
+
+$$
+2^xyz_uvw : 2^{xyz}_{uvw} : 2^{xyz_uvw} : 2^{xyz_{uvw}}.
+$$
+is given by
+\begintt
+$$
+2^xyz_uvw : 2^{xyz}_{uvw} : 2^{xyz_uvw} : 2^{xyz_{uvw}}.
+$$
+\endtt
+
+Finally, in commands that produce alignments, the |&| is used to separate
+items and the |\cr| to end a line. Examples of their use will be found in
+such commands as |\matrix| and |\eqalign|. Equation numbers are put in using
+either the automatic numbering commands |\aneq|, |\aneqtag|, |\autoeqnum|, or
+the normal manual numbering forms |\eqno| for right hand numbers or |\leqno|
+for lefthand numbers.
+
+
+
+
+\shead{mateqcomforms}{Command Forms}
+This is a list of commands that are given in {\it plain}, along with some
+examples and the form of the parameters for their use.
+\beginblockmode
+
+\mbr
+\pla\@|\above.. \atop.. \over.. functions
+ {<parm1> \atop <parm2>}
+ {<parm1> \choose <parm2>}
+ {<parm1> \over <parm2>}
+ {<parm1> \atopwithdelims<left delim><right delim> <parm2>}
+ {<parm1> \overwithdelims<left delim><right delim> <parm2>}
+ {<parm1> \abovewithdelims<left delim><right delim>
+ <bar thickness> <parm2>}|
+\nbr
+These forms are all used for putting |<parm1>| on top of |<parm2>| as might
+happen in a fraction. The difference between them is that |\atop| puts no
+line or bar between the |<parms>| while |\over| does, and |\choose| puts in
+no bar but does enclose the |<parms>| in large parens as is normally done in
+a binomial coefficient. The forms |\...delims| allow for the specifcation of
+delimiters around the |<parms>| that may be different than parens. Finally
+the |<bar thickness>| in the |\abovewithdelims| allows for the thickness of
+the line or bar between the |<parms>| to be a specified |<dimen>|. As an
+example
+$$
+{37 \over 45} : {n \atop \alpha} : {10 \choose r}
+: {f(x) \overwithdelims\{\} g(y)}
+: {\alpha \atopwithdelims][ \beta}
+: {209 \abovewithdelims\langle\rangle 2pt h(y)}
+$$
+is given by
+\begintt
+$$
+{37 \over 45} : {n \atop \alpha} : {10 \choose r}
+: {f(x) \overwithdelims\{\} g(y)}
+: {\alpha \atopwithdelims][ \beta}
+: {209 \abovewithdelims\langle\rangle 2pt h(y)}
+$$
+\endtt
+\mbr
+\ext|\aneq \aneqtag{<tag>}|
+\nbr
+\ext|\autoeqnum{<tag>}|
+\nbr
+When |autonumbering| is on these commands will automatically number
+equations. |\aneq| and |\aneqtag{<tag>}| inserts a bracketed equation number
+in the correct place in the equation depending on whether it is an
+|\eqalign|, |\eqalignno|, or |\leqalignno|. The |\autonumeq{<tag>}| inserts a
+number without brackets. The |<tag>| allows for references to the equation.
+
+If |autonumbering| is off, the |\aneq| results in nothing and the two forms
+with |<tag>| insert the |<tag>| --- without the |< >| of course.
+
+For example, |autonumbering| is on,
+$$
+x \equiv y \aneq
+$$
+is given by
+\begintt
+$$
+x \equiv y \aneq
+$$
+\endtt
+and
+$$
+\eqalignno{ f(x)&\approx K x^{-3/2} & (\autoeqnum{eqfx}.a) \cr
+ &\approx 0 \qquad x \gg 0 & (\ref{eqfx}.b) \cr}
+$$
+is given by
+\begintt
+$$
+\eqalignno{ f(x)&\approx K x^{-3/2} & (\autoeqnum{eqfx}.a) \cr
+ &\approx 0 \qquad x \gg 0 & (\ref{eqfx}.b) \cr}
+$$
+\endtt
+The |eqfx| is the equation tag. However, the
+tag for |eqfx| does not make it to the margin! A better way to do this, and
+one that guarantees that the tag for |eqfx| makes it to the margin is as
+follows:
+\begintt
+{\silenttrue \autoeqnum{eqfx}}
+$$
+\eqalignno{ f(x)&\approx K x^{-3/2} & (\ref{eqfx}.a) \cr
+ &\approx 0 \qquad x \gg 0 & (\ref{eqfx}.b) \cr}
+$$
+\endtt
+The \@|\silenttrue| turns on a switch in |\autoeqnum{<...>}| that prevents it
+from writing out its value.
+In this case, the |\autoeqnum{<...>}| is in vertical mode
+so that the tag for |eqfx| will now make it to the margin.
+The command |\ref{eqfx}| will produce the
+(equation) number corresponding to |eqfx|. This construction allows
+both lines of the equation to have the same main equation number.
+
+\mbr
+\pla\@|\bordermatrix{<top 0>&<top 1>&<top 2>&...&<top n>\cr
+ <side 1>&<first row>\cr
+ ...
+ <side m>&<last row>\cr}|
+\nbr
+The |\bordermatrix| places parens around the |<rows>| in the same way as
+|\pmatrix| and then places the |<top i>| items above and the |<side i>| items
+to the left hand side outside the parens. Thus
+$$
+\bordermatrix{ R\backslash C& Col 1 & Col 2 & Col 3 \cr
+ Row 1 & a & b & c \cr
+ Row 2 &\sum_{\ell=1}^n & & \alpha \cr
+ Row 3 & v=0 &\gamma & 1000.0\cr}
+$$
+is given by
+\begintt
+$$
+\bordermatrix{ R\backslash C& Col 1 & Col 2 & Col 3 \cr
+ Row 1 & a & b & c \cr
+ Row 2 &\sum_{\ell=1}^n & & \alpha \cr
+ Row 3 & v=0 &\gamma & 1000.0\cr}
+$$
+\endtt
+
+\mbr
+\pla\@|\cases{<first math>&<first condition>\cr
+ ...
+ <last math>&<last condition>\cr}|
+\nbr
+This allows for a very simple way of stacking a set of possibilities in an
+equation and putting a large brace on the left hand side. The |<...math>| is
+the mathematics, and is in display math mode, and the |<...condition>|
+is the condition and is in internal horizontal mode \dots\ not
+math mode. Thus
+$$
+G(x) = \cases{\vert x\vert & for $x<0$ \cr
+ x^2 & for $x\ge 0$ \cr}
+$$
+is given by
+\begintt
+$$
+G(x) = \cases{\vert x\vert & for $x<0$ \cr
+ x^2 & for $x\ge 0$ \cr}
+$$
+\endtt
+\mbr
+\pla\@|\eqalign ...
+ \eqalign{ <left first row> &<right first row>\cr
+ ...
+ <left last row> &<right last row>\cr}
+ \eqalignno{<left first row> &<right first row>&<first eq.no>\cr
+ ...
+ <left last row> &<right last row>&<last eq.no>\cr}
+ \leqalignno{<left first row>&<right first row>&<first eq.no>\cr
+ ...
+ <left last row> &<right last row>&<last eq.no>\cr}|
+\nbr
+All three of these commands allow for a list of equations, or expressions to
+be aligned on a {\bf single} point within the expression. This is usually a
+relation such as $=$ or $\gg$ although any point is possible. The
+|\eqalignno| and |\leqalignno| have an extra field at the end of each row for
+an equation number, which will be printed on the right for the former and on
+the left for the latter. Note that in both cases the actual |<eq.no>| field
+appears on the right. Any of the |<left ...>| or |<right ...>| or
+|<... eq.no.>| may be omitted.
+A major difference between |\eqalign| and |\eqalignno| is that the latter
+always is as wide as the page while the former is its natural width.
+|\openup<dimen>|, immediately after the opening |$$|,
+is used to increase the spacing between the lines of an
+|\eqalign| or its relatives by |<dimen>|. A font relative
+|<unit of measure>| such as |ex| is recommended with |1ex| to start.
+To obtain a lefthand equation number with
+|\eqalign|, or ordinary display mathematics, use |\leqno|.
+
+\intex\ supplies automatic equation numbering and ways of having a document
+change from left to right hand equation numbering or vice versa. See
+|\lefhandequationnumbering| and |\righthandequationnumbering|.
+For automatic equation numbering use |\autoeqnum{tag}|, |\aneq| and
+|\aneqtag|.
+
+An example of an |\eqalign| is
+$$
+\eqalign{F(x) &=\int_{-\infty}^x H(y)dy \cr
+ &=x^{3/2} \cr
+ G(z) &\ll 1 \cr}
+ \eqno (12)
+$$
+which is given by
+\begintt
+$$
+\eqalign{F(x) &=\int_{-\infty}^x H(y)dy \cr
+ &=x^{3/2} \cr
+ G(z) &\ll 1 \cr}
+ \eqno (12)
+$$
+\endtt
+Notice the equation number is centered on the right hand side. An example
+for |\eqalignno| is
+$$
+\openup 1ex
+\eqalignno{F(x) &=\int_{-\infty}^x H(y)dy \cr
+ &=x^{3/2} &(2.i)\cr
+\noalign{and}
+ G(z) &\ll 1 &(2.ii)\cr}
+$$
+is given by
+\begintt
+$$
+\openup 1ex
+\eqalignno{F(x) &=\int_{-\infty}^x H(y)dy \cr
+ &=x^{3/2} &(2.i)\cr
+\noalign{and}
+ G(z) &\ll 1 &(2.ii)\cr}
+$$
+\endtt
+The use of |\noalign {<text>}| places the |and| at the margin and maintains
+the alignment of the $=$ and $\ll$. This technique will not work with
+|\eqalign| because it does not necessarily take up the full width of the page.
+Note again the placement of the equation numbers.
+
+\mbr
+\pri\@|\eqno <reference> \leqno <reference>|
+\nbr
+|\eqno| and |\leqno| are used to put an equation |<reference>|, usually a
+number, at the right or left hand side, respectively, of an equation. It can
+be used with any display mathematics except |\[l]eqalignno|.
+
+\mbr
+\ext\@|\leftequationnumbering \rightequationnumbering|
+\nbr
+These commands when used with the auto equation numbering commands |\aneq|,
+|\aneqtag{<tag>}| or |\autoeqnum{<tag>}| will result in completely left or
+right hand equation numbers whether |\eqalignno| or
+|\leqalignno| is used. However |\eqno| and |\leqno| still result in right and
+left hand equation numbers respectively.\footnote{\dagger}{These defaults are
+subject to negotiation and change. It is quite easy to make the equation
+sides independent of |\eqno| and |\leqno|.}
+
+
+
+\mbr
+\pri\@|\noalign {<text>}|
+\nbr
+This is used in mathematics to insert text that you want at the left hand
+margin between lines in an |\eqalignno| or |\leqalignno|. See the
+|\eqalignno| example.
+
+\mbr
+\pla\@|\openup <dimen>|
+\nbr
+This is used in display mathematics |$$\openup ... $$| to increase spacing
+between lines in an |\eqalign|, |\eqalignno|, or |\leqalignno|. The dimension
+should be |<decimal number>ex| for font size independence. It does not work
+with |\cases| or |\matrix|.
+
+\mbr
+\pri\@|\over ... \under ...
+ \overline{<math>} \underline{<math>}
+ \overbrace{<math>} \underbrace{<math>}|
+\nbr
+These commands put lines and braces on top or under the |<math>| expressions.
+Thus
+$$
+\overline{\alpha\beta\gamma} : \underline{2^x_y} :
+\underbrace{\overbrace{H(x)=u+g(x,y)}}
+$$
+is given by
+\begintt
+$$
+\overline{\alpha\beta\gamma} : \underline{2^x_y} :
+\underbrace{\overbrace{H(x)=u+g(x,y)}}
+$$
+\endtt
+
+
+\mbr
+\pla\@|\dots ... \cdot \cdots \ldots \ddots|
+\nbr
+These produce dots of various flavours. Thus
+$$
+[\cdot] : [\cdots] : [\ldots] : [\ddots]
+$$
+are given by
+\begintt
+$$
+[\cdot] : [\cdots] : [\ldots] : [\ddots]
+$$
+\endtt
+\mbr
+\ext\@|\mathopen{<dimen or glue>}|
+\nbr
+This will cause all of the horizontal alignments, such as |\eqalign|,
+|\eqalignno|, |\halign|, |\cases|, |\matrix|, |\bordermatrix|, |\pmatrix|,
+and the table macros within the {\bf group} to be spread apart by
+|<dimen or glue>|. Its effect on tables with rules or lines is probably
+undesirable. {\bf It should be used only within a group such as that implied
+by |$$ ... $$|.}
+
+\mbr
+
+
+\mbr
+\pla\@|\matrix{<entry 11>&<entry 12>&...&<entry 1n>\cr
+ <second row>\cr
+ ...
+ <last row> \cr}
+ \pmatrix{<several rows>\cr}|
+\nbr
+The |\matrix| entry allows for the production of matrices or arrays with an
+arbitrary number of rows and columns. Thus
+$$
+\left\{
+ \matrix{ a & b & c \cr
+ \sum_{\ell=1}^n & & \alpha \cr
+ v=0 &\gamma & 1000.0\cr}
+\right\}
+$$
+is given by
+\begintt
+$$
+\left\{
+ \matrix{ a & b & c \cr
+ \sum_{\ell=1}^n & & \alpha \cr
+ v=0 &\gamma & 1000.0\cr}
+\right\}
+$$
+\endtt
+Note that the braces |{..}| were in addition to the rows generated by
+|\matrix|. |\pmatrix| is identical to |\left( \matrix{<rows>\cr} \right)|.
+This just saves the placement of the braces.
+
+
+\mbr
+\pla\@|\phantom{<math>} \vphantom{<math>} \sphantom{<hlist>}|
+\nbr
+|\phantom| builds a box the same size as |<math>| but prints a blank.
+|\vphantom| is a box of the same height and depth as |<math>| but of zero
+width \dots\ a custom made strut. |\sphantom| is used when
+strange expansions such as messages create errors using a |\vphantom|.
+All three are used for controlling spacing.
+
+\mbr
+\pla\@|\sqrt{<math>}|
+\nbr
+This puts a square root sign around a |<math>| expression. Thus |$\sqrt{2}$|
+gives $\sqrt{2}$.
+
+\mbr
+\pla\@|\smash{<math>}|
+\nbr
+This leaves the |<math>| expression in a box of height and depth zero. It is
+useful for certain kinds of superposition.
+
+\endblockmode
+\ejectpage
+
+
+
+\done
diff --git a/macros/inrstex/inrsdoc/thmatsym.tex b/macros/inrstex/inrsdoc/thmatsym.tex
new file mode 100644
index 0000000000..a2e575d2c1
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thmatsym.tex
@@ -0,0 +1,419 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{matsym}
+
+
+\def\cqu{\cquote{{\leftskip=0ptplus1fill\def\\%
+{\endgraf}Yet what are all such gaieties to me\\Whose thoughts are full of
+indices and surds?\\$x^2+7x+53$\\ $\displaystyle={11\over3}$.\\ }}{
+Four~Riddles, Lewis~Carroll (1832-1898)}}
+
+
+\chapterhead{matsym}{MATHEMATICS:\cr SYMBOLS\cr FONTS}
+\tex\ supplies a vast array of mathematical symbols, both in fixed and
+extensible forms. For the most part, the symbols mentioned are available only
+in mathematics mode. Other symbols that are useful in
+regular text mode have been listed in Section \ref{specialtextsymbols}
+This chapter describes the symbols available. These
+symbols can be used in any font size that is on the system. Although it is
+possible to build your own symbols from simpler ones, it takes a little care
+to make sure that they are the correct size for all possible uses.
+
+\shead{mathfonts}{Ordinary Fonts in Mathematics}
+The mathematics symbol font contains characters that are very similar to
+to text italic font. The major difference is the spacing. {\it For instance} is
+in ordinary italic but $For\ instance$, is in math italic and was invoked with
+|$For\|\]|instance$|, where |\|\] forces the space.
+However, it is an easy matter to put
+roman or {\bf bold} letters in mathematics by just using
+|$x={\bf the\ spot}$| to obtain $x={\bf the\ spot}$. The real fun
+comes with something like the following:
+
+\def\xbf{{\vec{\bf x}}}
+$$ \xbf = 2^{\xbf^\xbf} $$
+which is given by
+\begintt
+\def\xbf{{\vec{\bf x}}}
+$$
+\xbf = 2^{\xbf^\xbf}
+$$
+\endtt
+Note that the bold face is scaled correctly up into the superscripts. The
+extra $\{\ldots\}$ are necessary so that the third |\xbf| will look like a
+single token to the second |\@|.
+
+\shead{mathtypes}{Mathematical Symbol Types}
+Some symbols, even though they may look the same are given different command
+sequences in \tex. The reason for this is that their use demands different
+spacing and line breaking when in mathematics mode.
+For this reason there are four mathematics symbols for a vertical
+bar $\mid$, namely |\mid|, |\left\vert|, |\right\vert|, and |\vert|. The
+first is a {\it relation} -- called {\it Rel} -- like the $=$; the second
+and third are opening and
+closing brackets like ( and ) --- \tex\ calls these {\it openings} and {\it
+closings}; and the last is an {\it ordinary} --- called {\it Ord} --- symbol
+like $\infty$. Two other types are {\it large operators} --- called {\it Op}
+--- like $\sum$ and {\it binary operators} --- called {\it Bin} --- like $+$.
+Finally there is the {\it punctuation} --- called {\it Punct} --- like the
+period.
+
+\shead{greekletters}{Greek Letters}
+All the Greek letters are of type {\it Ord}. They are all assumed to be in
+mathematics mode.
+
+\bshortcomlist
+\@|\alpha {\rm A} A|&$\alpha$ A $A$ \cr
+\@|\beta {\rm B} B|&$\beta$ B $B$\cr
+\@|\gamma \Gamma {\mit\Gamma}|&$\gamma$ $\Gamma$ ${\mit\Gamma}$ \cr
+\@|\delta \Delta {\mit\Delta} |&$\delta$ $\Delta$ ${\mit\Delta}$ \cr
+\@|\epsilon {\rm E} E|&$\epsilon$ E $E$ \cr
+\@|\varepsilon|&$\varepsilon$\cr
+\@|\zeta {\rm Z} Z|&$\zeta$ Z $Z$ \cr
+\@|\eta {\rm H} H|&$\eta$ H $H$ \cr
+\@|\theta \Theta {\mit\Theta} |&$\theta$ $\Theta$ $\mit\Theta$ \cr
+\@|\vartheta|&$\vartheta$ \cr
+\@|\iota {\rm I} I|&$\iota$ I $I$ \cr
+\@|\kappa {\rm K} K |&$\kappa$ K $K$ \cr
+\@|\lambda \Lambda {\mit\Lambda} |&$\lambda$ $\Lambda$ $\mit\Lambda$ \cr
+\@|\mu {\rm M} M |&$\mu$ M $M$ \cr
+\@|\nu {\rm N} N|&$\nu$ N $N$ \cr
+\@|\xi \Xi {\mit\Xi} |&$\xi$ $\Xi$ $\mit\Xi$ \cr
+ |o {\rm O} O|&$o$ O $O$ \cr
+\@|\pi \Pi {\mit\Pi}|&$\pi$ $\Pi$ $\mit\Pi$ \cr
+\@|\varpi|&$\varpi$\cr
+\@|\rho {\rm R} R|&$\rho$ R $R$\cr
+\@|\sigma \Sigma {\mit\Sigma}|&$\sigma$ $\Sigma$ $\mit\Sigma$ \cr
+\@|\tau {\rm T} T|&$\tau$ T $T$ \cr
+\@|\upsilon \Upsilon {\mit\Upsilon}|&$\upsilon$ $\Upsilon$ $\mit\Upsilon$ \cr
+\@|\phi \Phi {\mit\Phi}|&$\phi$ $\Phi$ $\mit\Phi$ \cr
+\@|\varphi|&$\varphi$ \cr
+\@|\chi {\rm X} X|&$\chi$ X $X$ \cr
+\@|\psi \Psi {\mit\Psi}|&$\psi$ $\Psi$ $\mit\Psi$\cr
+\@|\omega \Omega {\mit\Omega}|&$\omega$ $\Omega$ $\mit\Omega$\cr
+\eshortcomlist
+
+\shead{caligraphic}{Calligraphic Capitals}
+These look like ${\cal A} \ldots{\cal Z}$ and are obtained in math mode by
+the construction |{\cal <capital letter>}| while in math
+mode.
+
+\shead{opsrels}{Ords, Operators, and Relations}
+The following is a composite list of the symbols of
+type ordinary, relation and operator supplied by
+{\it plain}. The type is specified along with the symbol. The meaning of the
+type abbreviations has been given in Section \ref{mathtypes}.
+\medbreak
+\beginmulticolumnformat
+\hfuzz=20pt
+\parindent=0pt
+\def\bin{\leavevmode\hbox to 30pt{\it Bin\hss}}
+\def\ord{\leavevmode\hbox to 30pt{\it Ord\hss}}
+\def\rel{\leavevmode\hbox to 30pt{\it Rel\hss}}
+\def\op{\leavevmode\hbox to 30pt{\it Op\hss}}
+\intercolumnsep = {\hskip 3em}
+\numberofcolumns = 2
+\obeylines
+\bin\hbox to 20pt{$+$\quad\hss}\@|+|
+\bin\hbox to 20pt{$-$\quad\hss}\@|-|
+\rel\hbox to 20pt{$=$\quad\hss}\@|=|
+\rel\hbox to 20pt{$\not=$\quad\hss}\@|\not=| |\ne| |\neq|
+\rel\hbox to 20pt{$<$\quad\hss}\@|<|
+\rel\hbox to 20pt{$\not<$\quad\hss}\@|\not<|
+\rel\hbox to 20pt{$>$\quad\hss}\@|>|
+\rel\hbox to 20pt{$\not>$\quad\hss}\@|\not>|
+\ord\hbox to 20pt{$\aleph$\quad\hss}\@|\aleph|
+\ord\hbox to 20pt{$\amalg$\quad\hss}\@|\amalg|
+\ord\hbox to 20pt{$\angle$\quad\hss}\@|\angle|
+\rel\hbox to 20pt{$\approx$\quad\hss}\@|\approx|
+\rel\hbox to 20pt{$\not\approx$\quad\hss}\@|\not\approx|
+\bin\hbox to 20pt{$\ast$\quad\hss}\@|\ast| or *
+\rel\hbox to 20pt{$\asymp$\quad\hss}\@|\asymp|
+\ord\hbox to 20pt{$\backslash$\quad\hss}\@|\backslash|
+\op\hbox to 20pt{$\bigcap$\quad\hss}\@|\bigcap|
+\bin\hbox to 20pt{$\bigcirc$\quad\hss}\@|\bigcirc|
+\op\hbox to 20pt{$\bigcup$\quad\hss}\@|\bigcup|
+\op\hbox to 20pt{$\bigodot$\quad\hss}\@|\bigodot|
+\op\hbox to 20pt{$\bigoplus$\quad\hss}\@|\bigoplus|
+\op\hbox to 20pt{$\bigotimes$\quad\hss}\@|\bigotimes|
+\op\hbox to 20pt{$\bigsqcup$\quad\hss}\@|\bigsqcup|
+\bin\hbox to 20pt{$\bigtriangledown$\quad\hss}\@|\bigtriangledown|
+\bin\hbox to 20pt{$\bigtriangleup$\quad\hss}\@|\bigtriangleup|
+\op\hbox to 20pt{$\biguplus$\quad\hss}\@|\biguplus|
+\op\hbox to 20pt{$\bigvee$\quad\hss}\@|\bigvee|
+\op\hbox to 20pt{$\bigwedge$\quad\hss}\@|\bigwedge|
+\ord\hbox to 20pt{$\bot$\quad\hss}\@|\bot|
+\rel\hbox to 20pt{$\bowtie$\quad\hss}\@|\bowtie|
+\bin\hbox to 20pt{$\bullet$\quad\hss}\@|\bullet|
+\bin\hbox to 20pt{$\cap$\quad\hss}\@|\cap|
+\bin\hbox to 20pt{$\cdot$\quad\hss}\@|\cdot|
+\bin\hbox to 20pt{$\circ$\quad\hss}\@|\circ|
+\ord\hbox to 20pt{$\clubsuit$\quad\hss}\@|\clubsuit|
+\rel\hbox to 20pt{$\cong$\quad\hss}\@|\cong|
+\rel\hbox to 20pt{$\not\cong$\quad\hss}\@|\not\cong|
+\op\hbox to 20pt{$\coprod$\quad\hss}\@|\coprod|
+\bin\hbox to 20pt{$\cup$\quad\hss}\@|\cup|
+\bin\hbox to 20pt{$\dagger$\quad\hss}\@|\dagger|
+\rel\hbox to 20pt{$\dashv$\quad\hss}\@|\dashv|
+\bin\hbox to 20pt{$\ddagger$\quad\hss}\@|\ddagger|
+\ord\hbox to 20pt{$\diamondsuit$\quad\hss}\@|\diamondsuit|
+\balancecolumnsize = 470pt
+\bin\hbox to 20pt{$\diamond$\quad\hss}\@|\diamond|
+\bin\hbox to 20pt{$\div$\quad\hss}\@|\div|
+\rel\hbox to 20pt{$\doteq$\quad\hss}\@|\doteq|
+\rel\hbox to 20pt{$\Downarrow$\quad\hss}\@|\Downarrow|
+\rel\hbox to 20pt{$\downarrow$\quad\hss}\@|\downarrow|
+\ord\hbox to 20pt{$\ell$\quad\hss}\@|\ell|
+\ord\hbox to 20pt{$\emptyset$\quad\hss}\@|\emptyset|
+\rel\hbox to 20pt{$\equiv$\quad\hss}\@|\equiv|
+\rel\hbox to 20pt{$\not\equiv$\quad\hss}\@|\not\equiv|
+\ord\hbox to 20pt{$\exists$\quad\hss}\@|\exists|
+\ord\hbox to 20pt{$\flat$\quad\hss}\@|\flat|
+\ord\hbox to 20pt{$\forall$\quad\hss}\@|\forall|
+\ord\hbox to 20pt{$\frown$\quad\hss}\@|\frown|
+\rel\hbox to 20pt{$\geq$\quad\hss}\@|\ge| \@|\geq|
+\rel\hbox to 20pt{$\not\geq$\quad\hss}\@|\not\geq|
+\rel\hbox to 20pt{$\gg$\quad\hss}\@|\gg|
+\rel\hbox to 20pt{$\not\gg$\quad\hss}\@|\not\gg|
+\ord\hbox to 20pt{$\hbar$\quad\hss}\@|\hbar|
+\ord\hbox to 20pt{$\heartsuit$\quad\hss}\@|\heartsuit|
+\rel\hbox to 20pt{$\hookleftarrow$\quad\hss}\@|\hookleftarrow|
+\rel\hbox to 20pt{$\hookrightarrow$\quad\hss}\@|\hookrightarrow|
+\ord\hbox to 20pt{$\Im$\quad\hss}\@|\Im|
+\ord\hbox to 20pt{$\imath$\quad\hss}\@|\imath|
+\ord\hbox to 20pt{$\infty$\quad\hss}\@|\infty|
+\op\hbox to 20pt{$\int$\quad\hss}\@|\int|
+\rel\hbox to 20pt{$\in$\quad\hss}\@|\in|
+\rel\hbox to 20pt{$\not\in$\quad\hss}\@|\not\in|
+\ord\hbox to 20pt{$\jmath$\quad\hss}\@|\jmath|
+\rel\hbox to 20pt{$\Leftarrow$\quad\hss}\@|\Leftarrow|
+\rel\hbox to 20pt{$\leftarrow$\quad\hss}\@|\leftarrow|
+\rel\hbox to 20pt{$\leftharpoondown$\quad\hss}\@|\leftharpoondown|
+\rel\hbox to 20pt{$\leftharpoonup$\quad\hss}\@|\leftharpoonup|
+\rel\hbox to 20pt{$\Leftrightarrow$\quad\hss}\@|\Leftrightarrow|
+\rel\hbox to 20pt{$\leftrightarrow$\quad\hss}\@|\leftrightarrow|
+\rel\hbox to 20pt{$\leq$\quad\hss}\@|\le| \@|\leq|
+\rel\hbox to 20pt{$\not\leq$\quad\hss}\@|\not\leq|
+\rel\hbox to 20pt{$\ll$\quad\hss}\@|\ll|
+\rel\hbox to 20pt{$\not\ll$\quad\hss}\@|\not\ll|
+\rel\hbox to 20pt{$\Longleftarrow$\quad\hss}\@|\Longleftarrow|
+\rel\hbox to 20pt{$\longleftarrow$\quad\hss}\@|\longleftarrow|
+\rel\hbox to 20pt{$\Longleftrightarrow$\quad\hss}\@|\Longleftrightarrow|
+\rel\hbox to 20pt{$\longleftrightarrow$\quad\hss}\@|\longleftrightarrow|
+\rel\hbox to 20pt{$\longmapsto$\quad\hss}\@|\longmapsto|
+\rel\hbox to 20pt{$\Longrightarrow$\quad\hss}\@|\Longrightarrow|
+\rel\hbox to 20pt{$\longrightarrow$\quad\hss}\@|\longrightarrow|
+\rel\hbox to 20pt{$\mapsto$\quad\hss}\@|\mapsto|
+\rel\hbox to 20pt{$\mid$\quad\hss}\@|\mid|
+\rel\hbox to 20pt{$\models$\quad\hss}\@|\models|
+\bin\hbox to 20pt{$\mp$\quad\hss}\@|\mp|
+\ord\hbox to 20pt{$\nabla$\quad\hss}\@|\nabla|
+\ord\hbox to 20pt{$\natural$\quad\hss}\@|\natural|
+\rel\hbox to 20pt{$\nearrow$\quad\hss}\@|\nearrow|
+\rel\hbox to 20pt{$\nwarrow$\quad\hss}\@|\nwarrow|
+\ord\hbox to 20pt{$\neg$\quad\hss}\@|\neg| \@|\lnot|
+\rel\hbox to 20pt{$\ni$\quad\hss}\@|\ni| \@|\owns|
+\bin\hbox to 20pt{$\odot$\quad\hss}\@|\odot|
+\op\hbox to 20pt{$\oint$\quad\hss}\@|\oint|
+\bin\hbox to 20pt{$\ominus$\quad\hss}\@|\ominus|
+\bin\hbox to 20pt{$\oplus$\quad\hss}\@|\oplus|
+\bin\hbox to 20pt{$\oslash$\quad\hss}\@|\oslash|
+\bin\hbox to 20pt{$\otimes$\quad\hss}\@|\otimes|
+\rel\hbox to 20pt{$\parallel$\quad\hss}\@|\parallel|
+\ord\hbox to 20pt{$\partial$\quad\hss}\@|\partial|
+\bin\hbox to 20pt{$\perp$\quad\hss}\@|\perp|
+\bin\hbox to 20pt{$\pm$\quad\hss}\@|\pm|
+\rel\hbox to 20pt{$\preceq$\quad\hss}\@|\preceq|
+\rel\hbox to 20pt{$\not\preceq$\quad\hss}\@|\not\preceq|
+\rel\hbox to 20pt{$\prec$\quad\hss}\@|\prec|
+\rel\hbox to 20pt{$\not\prec$\quad\hss}\@|\not\prec|
+\ord\hbox to 20pt{$\prime$\quad\hss}\@|\prime|
+\op\hbox to 20pt{$\prod$\quad\hss}\@|\prod|
+\rel\hbox to 20pt{$\propto$\quad\hss}\@|\propto|
+\ord\hbox to 20pt{$\Re$\quad\hss}\@|\Re|
+\rel\hbox to 20pt{$\Rightarrow$\quad\hss}\@|\Rightarrow|
+\rel\hbox to 20pt{$\rightarrow$\quad\hss}\@|\rightarrow|
+\rel\hbox to 20pt{$\rightharpoondown$\quad\hss}\@|\rightharpoondown|
+\rel\hbox to 20pt{$\rightharpoonup$\quad\hss}\@|\rightharpoonup|
+\rel\hbox to 20pt{$\rightleftharpoons$\quad\hss}\@|\rightleftharpoons|
+\bin\hbox to 20pt{$\setminus$\quad\hss}\@|\setminus|
+\ord\hbox to 20pt{$\sharp$\quad\hss}\@|\sharp|
+\rel\hbox to 20pt{$\simeq$\quad\hss}\@|\simeq|
+\rel\hbox to 20pt{$\not\simeq$\quad\hss}\@|\not\simeq|
+\rel\hbox to 20pt{$\sim$\quad\hss}\@|\sim|
+\rel\hbox to 20pt{$\not\sim$\quad\hss}\@|\not\sim|
+\rel\hbox to 20pt{$\smile$\quad\hss}\@|\smile|
+\ord\hbox to 20pt{$\spadesuit$\quad\hss}\@|\spadesuit|
+\bin\hbox to 20pt{$\sqcap$\quad\hss}\@|\sqcap|
+\bin\hbox to 20pt{$\sqcup$\quad\hss}\@|\sqcup|
+\rel\hbox to 20pt{$\sqsubseteq$\quad\hss}\@|\sqsubseteq|
+\rel\hbox to 20pt{$\not\sqsubseteq$\quad\hss}\@|\not\sqsubseteq|
+\rel\hbox to 20pt{$\sqsupseteq$\quad\hss}\@|\sqsupseteq|
+\rel\hbox to 20pt{$\not\sqsupseteq$\quad\hss}\@|\not\sqsupseteq|
+\ord\hbox to 20pt{$\star$\quad\hss}\@|\star|
+\rel\hbox to 20pt{$\subseteq$\quad\hss}\@|\subseteq|
+\rel\hbox to 20pt{$\not\subseteq$\quad\hss}\@|\not\subseteq|
+\rel\hbox to 20pt{$\subset$\quad\hss}\@|\subset|
+\rel\hbox to 20pt{$\not\subset$\quad\hss}\@|\not\subset|
+\rel\hbox to 20pt{$\succeq$\quad\hss}\@|\succeq|
+\rel\hbox to 20pt{$\not\succeq$\quad\hss}\@|\not\succeq|
+\rel\hbox to 20pt{$\succ$\quad\hss}\@|\succ|
+\rel\hbox to 20pt{$\not\succ$\quad\hss}\@|\not\succ|
+\op\hbox to 20pt{$\sum$\quad\hss}\@|\sum|
+\rel\hbox to 20pt{$\supseteq$\quad\hss}\@|\supseteq|
+\rel\hbox to 20pt{$\not\supseteq$\quad\hss}\@|\not\supseteq|
+\rel\hbox to 20pt{$\supset$\quad\hss}\@|\supset|
+\rel\hbox to 20pt{$\not\supset$\quad\hss}\@|\not\supset|
+\ord\hbox to 20pt{$\surd$\quad\hss}\@|\surd|
+\rel\hbox to 20pt{$\searrow$\quad\hss}\@|\searrow|
+\rel\hbox to 20pt{$\swarrow$\quad\hss}\@|\swarrow|
+\bin\hbox to 20pt{$\times$\quad\hss}\@|\times|
+\bin\hbox to 20pt{$\top$\quad\hss}\@|\top|
+\bin\hbox to 20pt{$\triangleleft$\quad\hss}\@|\triangleleft|
+\bin\hbox to 20pt{$\triangleright$\quad\hss}\@|\triangleright|
+\ord\hbox to 20pt{$\triangle$\quad\hss}\@|\triangle|
+\bin\hbox to 20pt{$\uplus$\quad\hss}\@|\uplus|
+\rel\hbox to 20pt{$\Uparrow$\quad\hss}\@|\Uparrow|
+\rel\hbox to 20pt{$\uparrow$\quad\hss}\@|\uparrow|
+\rel\hbox to 20pt{$\Updownarrow$\quad\hss}\@|\Updownarrow|
+\rel\hbox to 20pt{$\updownarrow$\quad\hss}\@|\updownarrow|
+\ord\hbox to 20pt{$\Vert$\quad\hss}\@|\Vert| or |\|\vrt
+\ord\hbox to 20pt{$\vert$\quad\hss}\@|\vert| or \vrt
+\rel\hbox to 20pt{$\vdash$\quad\hss}\@|\vdash|
+\bin\hbox to 20pt{$\vee$\quad\hss}\@|\lor| \@|\vee|
+\bin\hbox to 20pt{$\wedge$\quad\hss}\@|\land| \@|\wedge|
+\ord\hbox to 20pt{$\wp$\quad\hss}\@|\wp|
+\bin\hbox to 20pt{$\wr$\quad\hss}\@|\wr|
+\endmulticolumnformat
+
+\shead{delims}{Brackets or Delimiters}
+\tex\ supplies a large variety of delimiters or brackets, some of different
+sizes and others that grow to be the correct size. Here is a list of the
+delimiters supplied by {\it plain}.
+
+\bshortcomlist
+\@|\big\Arrowvert|&center part of double up arrow -- $\big\Arrowvert$\cr
+\@|\big\arrowvert|&center part of up arrow -- $\big\arrowvert$\cr
+\@|\langle|&left angle bracket -- $\langle$\cr
+\@|\rangle|&right angle bracket -- $\rangle$\cr
+\@|\big\bracevert|&center part of large braces -- $\big\bracevert$ \cr
+|\{| or \@|\lbrace|&left brace -- $\{$\cr
+|\}| or \@|\rbrace|&right brace -- $\}$\cr
+|[| or \@|\lbrack|&left square bracket -- $[$\cr
+|]| or \@|\rbrack|&right square bracket -- $]$\cr
+\@|\lceil|&left ceiling -- $\lceil$\cr
+\@|\rceil|&right ceiling -- $\rceil$\cr
+\@|\lfloor|&left floor -- $\lfloor$\cr
+\@|\rfloor|&right floor -- $\rfloor$\cr
+\@|\big\lgroup|&large left paren without middle -- $\big\lgroup$\cr
+\@|\big\rgroup|&large right paren without middle -- $\big\rgroup$\cr
+\@|\big\lmoustache|& -- $\big\lmoustache$\cr
+\@|\big\rmoustache|& -- $\big\rmoustache$\cr
+|/|&slash -- $/$\cr
+\@|\backslash|&reverse slash -- $\backslash$\cr
+\vrt\ or |\vert|&vertical bar -- $\vert$\cr
+|\|\vrt\ or |\Vert|&double vertical bar -- $\Vert$\cr
+|\downarrow|&down arrow -- $\downarrow$\cr
+|\Downarrow|&double down arrow -- $\Downarrow$\cr
+|\uparrow|&up arrow -- $\uparrow$\cr
+|\Uparrow|&double up arrow -- $\Uparrow$\cr
+|\updownarrow|&up-and-down arrow -- $\updownarrow$\cr
+|\Updownarrow|&double up-and-down arrow -- $\Updownarrow$\cr
+|(|&left paren -- $($\cr
+|)|&right paren -- $)$\cr
+\eshortcomlist
+
+Two very powerful operators exist for the delimiters, namely |\left| and
+|\right|. They must be used in pairs as
+\par
+\hbox to \hsize{\hss\@|$\left<delimiter> ...\right<delimiter>$|,\hss}
+\noindent
+where the |<delimiter>| is one of the above. The result
+of these operators is a pair of braces that grow the correct size for the
+particular formula in which they are used. This saves you from the problem of
+measuring. A |\right.| implies there is nothing at the place of the right
+delimiter and |\left.| similarly on the left. This allows a delimiter on only
+one side of a formula but to still have the operators match in pairs.
+
+Finally there is a second set of four pairs of operators, \@|\bigl|, |\Bigl|,
+\@|\biggl|, \@|\Biggl| and the corresponding right hand ones \@|\bigr|, \@|\Bigr|,
+\@|\biggr|, and \@|\Biggr|. These produce big, but fixed size delimiters for instance we have
+\begintt
+$$
+ \bigl\{\quad
+\Bigl[\quad
+\biggl\lfloor\quad
+\Biggl\Updownarrow\quad\Biggr\Updownarrow
+\quad\biggr\rfloor
+\quad\Bigr]
+\quad\bigr\}
+$$
+\endtt
+produces
+$$
+ \bigl\{\quad
+\Bigl[\quad
+\biggl\lfloor\quad
+\Biggl\Updownarrow\quad\Biggr\Updownarrow
+\quad\biggr\rfloor
+\quad\Bigr]
+\quad\bigr\}
+$$
+
+\shead{sincos}{Common Mathematical Functions}
+Certain functions such as |sin|, |cos|, and |limsup| for example are shown in
+mathematics text in Roman font. In addition some like |lim| sometimes take
+limits that should be placed in the same way as the limits on the large
+operators ({\it Op}). For example
+\begintt
+$$
+\limsup_{t \leftrightarrow \infty}
+$$
+\endtt
+gives
+$$
+\limsup_{t \leftrightarrow \infty}
+$$
+There are 32 of these already defined in {\it plain}. They are
+\beginthreecolumn
+\@|\arg|
+\@|\arccos|
+\@|\arcsin|
+\@|\arctan|
+\@|\cot|
+\@|\coth|
+\@|\cosh|
+\@|\cos|
+\@|\csc|
+\@|\det|
+\@|\deg|
+\@|\dim|
+\@|\exp|
+\@|\gcd|
+\@|\hom|
+\@|\inf|
+\@|\ker|
+\@|\lg|
+\@|\liminf|
+\@|\limsup|
+\@|\lim|
+\@|\ln|
+\@|\log|
+\@|\max|
+\@|\min|
+\@|\Pr|
+\@|\sec|
+\@|\sin|
+\@|\sinh|
+\@|\sup|
+\@|\tanh|
+\@|\tan|
+\endthreecolumn
+
+\shead{buildown}{Build Your Own Symbols}
+There are several advanced facilities in \tex\ for building your own symbols.
+However, there is one rather simple form using
+\@|\buildrel <superscript> \over <relation>|. For example
+|\buildrel \triangle \over =| gives $\buildrel \triangle \over =$.
+
+\ejectpage
+\done
diff --git a/macros/inrstex/inrsdoc/thmulcol.tex b/macros/inrstex/inrsdoc/thmulcol.tex
new file mode 100644
index 0000000000..47e7462e82
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thmulcol.tex
@@ -0,0 +1,140 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{mulcol}
+
+\def\cqu{}
+
+\chapterhead{mulcol}{MULTICOLUMN\cr FORMAT}
+\intex\ supplies a reasonably versatile multicolumn format mechanism.
+The rest of this chapter is set in the multicolumn format with two columns it
+was called using
+\begintt
+\beginmulticolumnformat
+\tolerance = 1000
+\intercolumnsep = {\quad \vrule\quad}
+\numberofcolumns = 2
+\endtt
+\beginmulticolumnformat
+\tolerance = 1000
+\intercolumnsep = {\quad \vrule\quad}
+\numberofcolumns = 2
+
+\shead{mulcolcomlist}{Command List}
+\begingroup
+\obeylines
+\ext|\balancecolumnsize|
+\ext|\beginmulticolumnformat|
+\ext|\endmulticolumnformat|
+\ext|\ejectcolumn|
+\ext|\ejectpage|
+\ext|\firstcolumnoffset|
+\ext|\intercolumnsep|
+\ext|\numberofcolumns|
+\endgroup
+
+\shead{mulcolform}{Multicolumn Usage}
+Multicolumn format is begun using
+\begintt
+\beginmulticolumnformat.
+\endtt
+and is terminated with an
+\begintt
+\endmulticolumnformat.
+\endtt
+
+Narrow columns in multicolumn format can make it difficult to produce nice
+looking lines. This is why the |\tolerance| was increased above while in this
+two column mode.
+When the number of columns is specified,
+above it was 2, the {\bf current} space taken by the intercolumn separator and the
+first column offset is used to compute the size of the columns. This
+hopefully will not be of negative width. From this point all input will be
+put in multicolumn format. Footnotes, inserts, and the like that occur
+while multicolumn format is in force will migrate to the appropriate places
+in the column.\footnote{\dagger}{This footnote migrated down to the bottom of
+this page} Figures, tables will all behave as if the column were a page.
+Footnotes and inserts that occur before or after multicolumn format will be
+placed in the appropriate place but with respect to the entire page rather
+than the individual column. A column is completed using an |\ejectcolumn|
+while an |\ejectpage| will complete all the columns on the page.
+
+\intex\ does not produce balanced columns automatically.
+However, there is a way of hand
+balancing. When the multicolumn format is ended, \intex\ computes
+an estimate of the column length that is needed to produce balanced
+columns on the last page. If this amount is entered by using
+|\balancecolumnsize [=] <dimen>| command somewhere on the page {\bf
+preceding} the last page, the next time the file is processed, \intex\ will
+use |<dimen>| as the vertical size of the columns on the last
+page. It may take a few trials to determine the correct value for the
+|<dimen>|. In this instance
+\begintt
+\balancecolumnsize=165pt
+\endtt
+was inserted here.
+\balancecolumnsize=165pt
+
+\shead{mulcolcomform}{Command Forms}
+\beginblockmode
+\ext\@|\balancecolumnsize
+ [=] <column length> |
+\nbr
+This command, when inserted somewhere on the second to last page or before
+the
+multicolumnformat starts if it takes less than a page, will produce columns
+with vertical size |<column length>|.
+
+
+\mbr
+\ext\@|\beginmulticolumnformat|
+\nbr
+This begins multicolumn format and a group.
+
+
+\mbr
+\ext\@|\endmulticolumnformat|
+\nbr
+This ends multicolumn format and terminates the group.
+
+\mbr
+\ext\@|\ejectcolumn|
+\nbr
+This ends and vertical fills a {\bf column}. When not in multicolumn format,
+it will act as an |\ejectpage|.
+
+
+\mbr
+\ext\@|\ejectpage|
+\nbr
+This command ends and fills the current column. It then terminates the
+entire page, leaving blank columns as necessary.
+
+\mbr
+\ext\@|\firstcolumnoffset
+ [=] <dimen>|
+\nbr
+This command reduces the horizontal size by
+amount of 2|<dimen>|. The reduction will show up
+evenly on both side of the page. The \intex\ default is 0pt.
+
+\mbr
+\ext\@|\intercolumnsep
+ [=] {<token list>}|
+\nbr
+The |<token list>| is inserted between every
+column. The vertical lines in this chapter are a result of the
+|\vrule| when the multicolumn format was first called. \intex\ defaults to a
+pure spacing of 2em.
+
+
+\mbr
+\ext\@|\numberofcolumns
+ [=] <integer>|
+\nbr
+This sets the number of columns and computes the horizontal size of the
+column. The various offsets should be set before this is called. This command
+should be called before any |<text>| is submitted to the multicolumn page.
+\endblockmode
+\endmulticolumnformat
+\ejectpage
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thover.tex b/macros/inrstex/inrsdoc/thover.tex
new file mode 100644
index 0000000000..70362ec6d3
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thover.tex
@@ -0,0 +1,66 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{over}
+\def\cqu{\cquote{There is no one on earth who does what is right
+all the time and never makes a mistake.}{Ecclesiastes Chap. 7, Verse 20}}
+
+\chapterhead{over}{OVERFULL BOXES\cr and\cr OTHER DISASTERS}
+Sometimes \tex\ and \intex\ have trouble making a {\it best} decision that is
+good enough. The result of this is a message that there is an {\it overfull}
+or {\it underfull} box. Chapter \ref{parcont} suggests increasing the
+value of |\tolerance| and |\pretolerance| so that \tex\ will accept worse
+looking lines. This is fine except that the result is less than beautiful.
+
+\tex\ indicates an overfull box by putting a big ugly black line at the end.
+This book has a few overfull boxes to demonstrate how they look. This chapter
+suggests ways of both avoiding and hiding overfull boxes.
+
+\shead{overcomform}{Command Forms}
+\bshortcomlist
+\pri\@|\hfuzz [=] <dimen>|&\tex\ tells of overfull horizontal boxes only if
+they are overfull by more than |<dimen>|. {\it Plain} default is 0.1pt. \cr
+\pri\@|\overfullrule [=] <dimen>|&\tex\ places a rule or line of width
+|<dimen>| at the end of an overfull box and of the same height as the box.\cr
+\pri\@|\vfuzz [=] <dimen>|&\tex\ tells of overfull vertical boxes only if
+they are overfull by more than |<dimen>|. {\it Plain} default is 0.1pt. \cr
+\eshortcomlist
+
+\shead{action}{Overfull Boxes --- Action}
+The recommended way to handle an overfull box is to rewrite the passage that
+is causing the offence. This will generally work quite well if the box is an
+isolated event. It has the feature of not destroying the beauty of the
+document.
+
+However, if you want to hear about overfull boxes but don't want the black
+marks let |\overfullrule = 0pt|. If you don't want to hear about them,
+increase the size of |\hfuzz| and |\vfuzz|.
+|\finalversion| increases |\hfuzz| and obliterates the black marks.
+
+Overfull |vboxes| are quite rare, as are underfull |hboxes|. If there is an
+underfull |hbox|, check it very carefully. The most likely error is not
+putting in glue to fill in the box. An example would be using |\line|
+instead of |\centerline|.
+
+Underfull |vboxes| are not as rare. They result when the |vboxes|
+on the page are quite large and the glue between them is not very stretchy.
+Pages with figures, tables or multicolumn format are the most likely
+candidates. The only solution may be a rearrangement of material in the
+document, forced filling of the bottom of the page. \tex\ provides a
+\@|\raggedbottom| command that puts glue at the bottom of a short page to
+prevent it from being stretched out. Whether this is an adequate solution to
+the problem is a matter of aesthetic debate.
+In general, information about over and under full boxes is desirable.
+
+\begingroup \bf
+When \tex\ indicates that there is an underfull box, it stretches, unless
+|\raggedbottom| is active, all stretchable glue. This may result in pages
+that look strange. Only glue between paragraphs, before and after display
+mathematics, between all list items, and before section \dots\ heads is
+stretchable. Interline glue is not stretchable either in {\it Plain\/} or
+\intex. In extreme cases (badness greater 10000) the page will have very
+disturbing spacing indeed.
+\par\endgroup
+
+
+\ejectpage
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thp2.tex b/macros/inrstex/inrsdoc/thp2.tex
new file mode 100644
index 0000000000..850fd38aae
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thp2.tex
@@ -0,0 +1,420 @@
+
+
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{preface}
+%\inputtocfiles = {\checklistopen{toc}\inputwithcheck{masth.toc}}
+%\catcode`\@=11 \s@ubdocumentfalse \catcode`\@=12
+\tenpoint
+\romanpagenumber = 1
+\openlistfile{toc}
+\opencitationtagfile
+\beginprelude
+\preludehead{Preface} \specialpagestyle
+This volume is a reference manual for \intex\ and \TeX82. It should not be considered a
+substitute for the \texbook. Indeed, when there is a conflict between the two
+it should be assumed that the \texbook\ is correct. This author expresses an
+immense debt of gratitude to
+Donald Knuth, the Grand \TeX Wizard, originator of \TeX, and the
+author of the \texbook[\cite{[Knut84]}]. Indeed many of the macros that have been used for
+this book have been borrowed from those used for the production of the
+\texbook.
+
+Any deficiencies in the aesthetics of the layout of this book lie with the
+author and not the \TeX\ that was used to produce it. \TeX\ is an exceedingly
+powerful system. Full exploitation of its capabilities will probably be
+limited to a few persons. However, it is possible, and will indeed happen,
+that there will be a number of systems based on \TeX\ that will be simple to
+use and aesthetically pleasing \dots\ at least in your local environment.
+\intex\ is one of these.
+
+This book is organized so that the information may be accessed in two ways.
+The main objective is to introduce the names and syntax of commands used
+in \TeX. \TeX\ is an {\it extensible language}. By this it is meant that it is
+possible, and indeed quite easy, to add commands of your own to the set
+supplied. The \texbook[\cite{[Knut84]}] discusses in
+detail those that are primitives in the
+language and those that have been added in the basic package known as
+\plain. There are about 300 primitive and 600 more in \plain. This book
+introduces enhancements under the name of \intex. These constitute a document
+preparation package that make both an author's and secretary's life
+considerably easier. Several hundred more commands are added in \intex.
+
+
+However, these large numbers should not be considered too frightening. A very
+large number of the commands are for special symbols. In fact for most users,
+the most useful commands are the ones added
+to make the production of documents reasonably simple and automatic. However,
+{\it automatic} has its limitations. On the one hand there is the very real
+difference between people on what constitutes a beautiful layout, and on the
+other there is the problem of describing linguistically an algorithm or
+recipe for that individual beauty.
+
+In fact beauty is usually compromised by expediency. The additional commands
+described for the various styles, books, reports, and letters attempt to
+balance the two. As much as possible is done automatically. There will be
+compromises that are not always appropriate. However, there is always a way,
+usually simple, to specifically modify a single item. Actions of this sort
+are only taken as a last resort. The problem is that subsequent changes in
+other parts may make the specific local change all wrong. It is probably a
+truism that there is never a {\bf final} version of a document.
+
+
+\begingroup
+\cquote{The best time for planning a book is while you are doing the
+dishes.}{Agatha Christie}
+
+\cquote{No man but a blockhead ever wrote except for
+money.}{Boswell's ``Life~of~Johnson (1709-1784)'' [April~5,~1776]}
+
+
+
+
+\ejectpage
+\endgroup
+%\tracingall
+\begingroup
+\def\ftn{}%footnote problem
+\def\cr{ }%\cr print problem
+\let\twelvett=\tentt % ugh!
+\preludehead{Table of Contents} \specialpagestyle
+\inputtocfiles = { \inputwithcheck{masth.toc} }
+\maketoclist
+\endgroup
+\ejectpage
+\ifodd\pageno \vglue 0ptplus1fill
+ \pslide \intex// \centergraph{\refoffset h:.75 v:.75
+ \btg \inrslogo h:0 v:0 sc:2
+ \etg}// \fi
+\endprelude
+\chcode{Intro}
+\pagenumber=0
+
+\def\cqu{\let\folio=\relax
+\cquote{Beauty in things exists in the mind which contemplates them.}{Essays
+on Tragedy, David~Hume (1711-1776)}
+}
+
+
+
+\chapterhead{Intro}{\tex\cr and\cr \intex}
+
+\tex\ is a typesetting
+system\footnote{\dagger}{In fact \tex\ is a very versatile system providing
+a powerful language facility that can be used to create author aids
+for the production of documents. \intex\ is an example of an integrated
+version of such aids.}
+developed by Prof. Donald Knuth of Stanford
+University for the production of beautiful books. The intent was to
+automatically duplicate the format of the second edition of a
+text whose first edition was typeset, for the most part, manually. It has
+grown, and is becoming the basis of some very powerful document production
+systems.
+
+\tex\ is many things. It is first and foremost a language in which to tell a
+computer how to {\bf beautifully} typeset text --- all sorts of text. It allows for the use of
+symbols such as $\star$, that are not found on your normal typewriter to be
+produced by typing |\star| using letters that usually are. It goes beyond the
+simple single character and makes it possible to display a mathematics
+equation such as
+$$
+\sum_{n=1}^k n^2 = {n(n+1)\over 2}
+$$
+in the middle of the page by just typing
+\begintt
+$$
+\sum_{n=1}^k n^2 = {n(n+1)\over 2}
+$$
+\endtt
+It produces better looking words by moving the ``a'' closer to the ``T'' in
+such words as ``Tag'' to compensate for the visual effect of the overhang of
+the top of the ``T''. It produces better looking paragraphs by absorbing the
+whole paragraph before attempting to break lines. This means that decisions
+near the top will not lead to disasters later on. It produces better looking
+pages by considering what is on the following page before attempting to break
+the present one. This prevents such visual disruptions as those
+caused by single line paragraphs at the top or bottom of pages.
+
+\tex\ is rapidly becoming the basis of document preparation systems,
+including \intex\ described in this book.
+Documents are made up of parts that are not usually
+thought of in terms of how they look. Parts such as sections, paragraphs,
+lists, footnotes, chapters, introductions or prefaces. \tex\ has very
+powerful facilities for creating systems for dealing with these parts and
+making decisions on how they should be displayed. These facilities really
+make up a language whose {\it primitive} parts are used to make more powerful
+parts.
+
+\shead{TeXlevels}{The \tex\ language --- primitive, plain, and extended}
+
+As with most systems, the
+more complex parts are built from more primitive parts. {\it Primitives} in
+\tex\ supply the fundamental facilities for both typesetting and language
+extension. The first set of extensions are those in the {\it plain} package
+supplied with a {\it raw} \tex\ system. The definitive description of
+the \tex\ {\it primitives}, and the associated extension {\it plain}, is in
+the \texbook\ of Donald Knuth. The \texbook\ shows how to use these commands
+and explores some of the implications.
+
+The \texbook\ is aimed at all users of
+\tex\ --- the system builder and the end user. This book is aimed primarily
+at the end user and more especially the user of \intex.
+It briefly discusses the basic text and page building
+philosophy on which \tex\ is based.
+It gathers together most, but not all of the commands in the
+\texbook\ and displays their required syntax, and gives some uses. It does
+not explore them too deeply. Further examples will be found in the
+{\bf \tex\ Example Book} that will be published as soon as it is compiled.
+
+In addition it describes \intex, a document preparation system that has been built on
+top of {\it plain}. At present, this includes styles for papers, reports, and
+books. In addition it aids in the preparation of documents by automatically
+generating, tables of contents, simple indexes, and numbering such
+as chapters, sections, equations, tables. Finally it allows for symbolic
+referencing of any of these parts.
+
+\shead{editors}{\tex\ editors}
+Any text editor can be used to create a \tex\ document. Only those characters
+normally found on a keyboard are used and there are facilities in \tex\ to
+allow for those special keyboards and screen systems that can display
+different characters. For instance it might be that a French keyboard has the
+letter \'e on it and the screen can display it in that form. This can be
+encoded as single key and translated by \tex. Less capable keyboards would
+actually type a |\'e| to obtain the \'e.
+
+Another feature that makes life easier for producing a document on a text
+editor is the ability to match a left |{| with a right |}|.
+\tex\ uses these extensively to {\it group} things together and sometimes can
+get upset in quite mysterious ways when they do not.
+It is also quite useful to be able to edit several parts of the
+document at the same time. Newer editors allow this.
+
+A \tex\ editor does not really exist \dots\ for a number of reasons.
+A major objective of such an editor would be
+as a means of catching (\tex) errors on
+input and to facilitate modifications of the file for better layout. An
+editor of that sort must know an awful lot, not only about \tex, but also
+your extended version. Another objective would be to allow coordinated views
+of the input file and the \tex printed output,
+so that the effect of both major and
+minor changes would be evident. This is conceivable, but still for the
+future.
+
+It is possible to argue that an editor that ``showed you what you get'' is
+ideal for a document preparation and typesetting system. The difficulty with
+this argument is that there is no language that adequately encompasses the
+graphics on the screen with the place of, say a summation sign, $\sum$ in a
+mathematical equation. In some cases the semantics of the resulting document
+is varied by a change in the display format and in other cases it is not.
+In some cases different semantic objects, such as an {\it IF} in a computer
+program and the {\it if } in a sentence are distinguished by font style, and
+sometimes not. At the document level, it is the semantics of the entity that
+is important. It may or may not show up in a format change.
+
+\shead{gentyp}{Generic Typesetting}
+The opposite extreme to the ``see what you get'' school is the giving of
+semantic tags to each entity in the document and deciding later how they will
+be displayed. This means that it is possible to change your mind about the
+way a, say {\it keyword}, will be displayed and change it consistently
+throughout the document. This approach appears to be possible in a
+constrained environment and has been successfully applied by
+DIGITAL[\cite{[Digi83]}] to the production of their manuals for the VAX11/780.
+\tex\ can be the basis of such a system too.
+
+\shead{intexintro}{\intex}
+\intex\ is
+a system to aid in the preparation of documents in several languages using
+ordinary fonts. The system, excluding its graphics component, is usable
+with any \TeX\ system but is most useful, when using ordinary {\tt cm}
+fonts with an ML\TeX\ system. The graphics component will work with any
+reasonable PostScript printer and driver. The version at INRS/BNR uses a
+modified version of Nelson~Beebe's DVIALW on the VAX/VMS and the IBM~PC and
+uses Tom~Rokiki's DVIPS on the UNIX workstations.
+The two languages actually used are French and English. The
+pieces, all relatively independent, are as follows:
+\beginlist
+\li $\bullet$ the \intex\ macro package kernel. This includes all the
+facilities needed for
+\beginsublist
+\tightenlist
+\li $\circ$ section and chapter heads,
+\li $\circ$ lists,
+\li $\circ$ {\bf easy} tables,
+\li $\circ$ {\it floating} figure and table insertions,
+\li $\circ$ footnotes,
+\li $\circ$ automatic generation of table of contents, list of figures, and
+list of tables,
+\li $\circ$ automatic numbering of equations, section heads, etc.,
+\li $\circ$ symbolic referencing of equations, sections, etc.,
+\li $\circ$ optional margin notes to aid in keeping track of symbolic
+references,
+\li $\circ$ automatic generation of citation lists (IEEE style only)
+\li $\circ$ a {\it subdocument} feature for building large documents in
+pieces.
+\endsublist
+\li $\bullet$ additional packages for special forms. The modular form of the
+kernel allows for modifications of what is inside and out. At the present
+these include
+\beginsublist
+\li $\circ$ a verbatim style using {\tt typewriter} fonts for such things as
+program listings,
+\li $\circ$ a several document styles including a |<<PAPER STYLE>>|,
+|<<BOOK STYLE>>|, |<<REPORT STYLE>>|. Some of these are rather specialized.
+\li $\circ$ \TeX graph, a graphics system for drawing figures and inserting
+external figures. This uses the graphics primitives of a PostScript
+printer. It is {\it inside} rather than outside the \TeX\ system.
+\li $\circ$ memo macros {\bf including} graphics for letterhead,
+\li $\circ$ slide making {\bf including} graphics for letterhead,
+\endsublist
+\li $\bullet$ templates for various styles. This makes their use as easy as
+filling in blanks.
+\li $\bullet$ {\bf MLTeX} is an {\bf extension} to \TeX\ 3.+ that
+allows hyphenation of words with explicitly accented letters
+words while using ordinary {\tt cm} fonts.
+\li $\bullet$ {\bf DVIALW}, a PostScript driver, written by Nelson~Beebe
+has been modified by INRS to allow inline PostScript for \TeX Graph.
+There is also a version of \TeX Graph that will work with
+Tom~Rokiki's {\bf DVIPS}.
+\endlist
+\noindent
+\intex\ may be viewed from several perspectives.
+\beginlist
+\li $\bullet$ At the user level, it is a
+set of procedures that augment the {\it plain} macros supplied with \TeX.
+These aid the author in building a document by making shuffling of such
+things as sections, equations, figures, and tables sufficiently painless that
+they will be done. It helps the secretary/typist by making it easier to
+respond to changes. To work most effectively, the author, at the
+{\it pencil} input level, should be aware of the power of the system.
+\li $\bullet$ At the document formatting level, parameters and features are
+available to modify various spacings, headers, footers, etc.
+\li $\bullet$ At the document design level, the various internal formatting
+forms are available, {\bf independently} of the housekeeping functions for the
+automatic generation of section, equation, and figure numbers, or such things
+as the table of contents.
+\endlist
+
+\shead{language}{English and French --- Together}
+\intex\ supports both English and French document preparation,
+and is easily extendable to other languages . It does this through
+the generation of messages and various forms from within the \intex\ kernel
+and through the \mtex\ extension that allows for language dependent hyphenation
+of words with and without accents. An example of a kernel form variation is the
+change from ``Chapter'' to ``Chapitre'' when a |\chapterhead| is called in
+French rather than in English. |\englishversion| calls the English forms and
+|\versionfrancaise| the French forms.
+
+
+\shead{scope}{Scope of Book}
+This book will introduce the first version of the document preparation
+system, to be called \intex, that is used at INRS/BNR.
+It will describe virtually all of the symbols and
+commands that have been introduced in the \texbook\ with the exception of
+those used for symbol definitions and output routines. All of the accessible
+and changeable parameters will be listed and grouped according to function.
+
+Most chapters will begin with a list of commands that will be discussed in that
+chapter. Some discussion of where and how these will be used and what will be
+accomplished using them follows. Then there will be a list of the individual
+commands with their normal usage syntax. An index of these commands will be
+found at the end of the book.
+
+\ejectpage
+\chcode{descom}
+\def\cqu{\cquote{We ought to give the whole of our attention to
+the most insignificant and most easily mastered facts, and remain a long time
+in contemplation of them until we are accustomed to behold the truth clearly
+and distinctly}{Rules for the Direction of the Mind, Rule IX,
+Ren\'e~Descartes (1596-1650)}}
+
+\chapterhead{descom}{\tex\ COMMANDS:\cr DESCRIPTION\cr FORM}
+In this book commands, command parameters, and characters that you might be
+expected to type in at a terminal are shown in {\tt typewriter} font. Thus a
+file that would typeset the 23$^{rd}$ psalm below
+\medskip
+\beginnarrowtext 1in
+\eightpoint
+\obeylines
+The Lord is my shepherd, I shall not want;
+He maketh me to lie down in green pastures,
+He leadth me beside the still waters;
+He restoreth my soul.
+\endnarrowtext
+\noindent
+is given by
+\begintt
+\beginnarrowtext 1in
+\eightpoint
+\obeylines
+The Lord is my shepherd, I shall not want;
+He maketh me to lie down in green pastures,
+He leadth me beside the still waters;
+He restoreth my soul.
+\endnarrowtext
+\bye
+\endtt
+
+The actual commands and their meaning will be described in later chapters.
+However, it should be possible to guess what they do from their common sense
+meaning (noting, of course that a |\| starts a command).
+When a listing is shown in this manner, it is assumed that each line
+is terminated by a |<return>|. The |<return>|, abbreviated by |<cr>| will
+only be explicitly shown when there might be some confusion.
+
+\shead{telltex}{Commands TO \tex\ and \intex }
+A command is the way to tell \tex\ to do something. \tex\ responds to both
+{\it verbose}, single character commands, and {\it one} implicit command.
+Verbose commands always start with an {\it escape character} which for most \tex\
+systems, and in this book, is the backslash |\|. The command name is
+a string of {\it letters} and the end of the command is shown by a
+non-letter, usually a blank, although a number such as 1, or a special
+character such as |{| or |,| will do.
+
+A typical
+verbose command
+might be the |\beginnarrowtext| used above. It takes a parameter which is a
+{\it dimension} and is delimited by a final space. The form of the command
+description would be |\beginnarrowtext <indent dimen>|\].
+{\bf Note that the brackets |<| and |>| should not be typed.}
+If a parameter or entity in the command is optional it is enclosed in
+square brackets |[...]|.
+For example, the $=$
+when setting the {\it outer page size} as in
+|\houterpagesize [=] <page size dimen>| is optional. Readability suggests
+that they should be included.
+{\it Verbose} commands ignore spaces between the command and the following
+text.
+
+Single character commands are not preceded by a |\|, obviously, and exist
+primarily to improve readability and ease of typing. An example is |^| for
+superscripting or |~| to {\it tie} two words together. The major difference
+between these and the verbose commands is that spaces or blanks after them
+are {\bf not} ignored.
+
+Finally, \tex\ has one implicit command, namely a blank line, which signifies
+the end of a paragraph and hence is equivalent to |\par|. Several blank lines
+are equivalent to only one. In addition, a line that has only a \tex\
+comment, for example
+\begintt
+%This line is a TeX comment because it starts with a %
+\endtt
+is a blank line. |\par| and blank lines are {\bf not} allowed in |\halign| or in
+display mathematics mode.
+
+\shead{comdesc}{\tex\ Command Description}
+The general form used to describe \tex\ commands is
+\begintt
+\<command> <parameters>
+\endtt
+If blank space is shown in the description, that space is optional and there
+can
+be several of them. In fact the command can be split at that point and placed
+on the next line with no ensuing problems. On the other hand a \] implies that
+the blank space {\bf must} be there.
+
+Finally the commands are shown preceded by one of $\bullet$, $\diamond$, or
+$\star$, and are {\it primitive}, {\it plain}, or \intex\ respectively.
+
+\ejectpage
+\done
+
diff --git a/macros/inrstex/inrsdoc/thpagsiz.tex b/macros/inrstex/inrsdoc/thpagsiz.tex
new file mode 100644
index 0000000000..460fee3027
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thpagsiz.tex
@@ -0,0 +1,156 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{pagsiz}
+
+\def\cqu{\cquote{It is when I am struggling to be brief that
+I become unintelligible.}{Ars Poetica, Horace (65-8~BC)}
+}
+
+\chapterhead{pagsiz}{PAGES:\cr SIZES\cr MAGNIFICATION}
+\intex\ has a number of page size parameters that are set to make the output
+possible on different devices, and to facilitate special formats.
+All page size
+parameter changes are made in assignment fashion with an optional |[=]| sign.
+All page size changes must be made inside a
+\@|\documentstyle| list in order to insure that they take effect.
+Figure~\ref{pagdiag} diagrams the various dimensions.
+
+\input pagdiag
+\beginpageinsert
+\figureform{pagdiag}{Diagram of the various page dimensions.\captionbody{
+ The actual printing area is determined by the computed dimensions
+{\tt \1hinnerpagesize} and {\tt \1vinnerpagesize}. The {\tt outer} dimensions
+are normally specified. The {\tt \1firstcolumnoffset} is normally
+0pt.}}{\centergraph{ \pagdiag sc:.8 }}
+\endpageinsert
+
+\shead{pagecomlist}{Command List}
+\beginthreecolumn
+\hfuzz=20pt
+\ext\@|\documentstyle|
+\ext\@|\houterpagesize|
+\ext\@|\hpapersize|
+\ext\@|\leftmarginsize|
+\ext\@|\leftmarginskip|
+\pri|\mag|
+\pla|\magstep|
+\ext\@|\topmarginsize|
+\ext\@|\topmarginskip|
+\ext\@|\vouterpagesize|
+\ext\@|\vpapersize|
+\endthreecolumn
+
+\shead{pagesandmargins}{Page Size Setting and Margins}
+These commands define and set the various page sizes. Only the |outer| and
+|header|, and |paper| commands should be changed.
+\intex\ also has some |inner| and |column| sizes. These are computed and
+should not be modified -- although they are accessible. See
+Section~{\ref{inner}}, page \pref{inner} for details.
+{\bf All dimension changes must be made inside a |\documentstyle| command or
+they will not necessarily take effect.}
+
+This section details the various parameters used to
+name and describe the parts of the printed page that can be varied.
+The general convention is that |\h<name>| names a horizontal dimension
+and |\v<name>| names the corresponding vertical dimension. The various
+|<name>|s are
+\bshortcomlist
+|outerpagesize|&{this is the extent of the area allowed
+ for printing. It includes all headers,
+ footers, footnotes \dots\
+ \@|\vouterpagesize| and \@|\houterpagesize|
+ are the vertical and horizontal
+ forms}\cr
+|papersize|&{this is the ``physical'' size of the paper and includes all
+ the |outerpagesizes| plus
+ margins. The actual
+ vertical extent of the paper
+ is \@|\vpapersize| and
+ the actual width of the
+ paper is is the size of \@|\hpapersize|.
+The default values are correct for
+11in by 8.5in paper but must be increased for
+14in by 8.5in (Legal size) paper.}\cr
+\@|\vsize|&the actual verticalsize of the present page. This is set at the time when the
+first material is submitted for putting on the page. In \intex\ it is usually
+the |\vcolumnsize|. It should be changed only with knowledge.\cr
+\@|\hsize|&the actual horizontal size of the present {\bf box} in which \tex\ is
+working. This may be a page or some box that is to be eventually placed on
+the page.
+This is set at the time when
+first material is submitted for putting on the page. In \intex\ |\hsize| is
+usually
+the |\hcolumnsize|. \cr
+
+\eshortcomlist
+
+Assignments are made in the normal way. The general form is
+
+\@|\<dimen name> [=] <dimen>|
+\noindent
+where |<dimen>| is a dimension. Thus the papersize, margins,
+and outer page sizes are set in \intex\ by
+\begintt
+\documentstyle{\vpapersize = 11in
+ \hpapersize = 8.5in
+ \vouterpagesize=9in
+ \houterpagesize=6.5in
+ \leftmarginsize=1.25in
+ \topmarginsize=1in}
+\endtt
+These values are actually set for the paper style in {\tt papersty.tex}.
+
+\shead{magnification}{Magnification}
+\tex\ is able to magnify an entire document through its
+|\magnification| parameter. The form is
+\beginblockmode
+\mbr
+\pri\@|\mag [=] <1000 times scale factor>|
+\nbr
+The document is magnified by the |<scale factor>|, times any |texprint|
+magnification. It can appear only once and should appear at the beginning of
+the document. {\bf It should be used with extreme caution. The results may
+be too big for the output device.} The {\it plain} form |\magnification| has
+been defined to be the same as |\mag|. The reason is that |\magnification| in
+{\it plain} also sets page sizes which is inappropriate here. \TeX Graph will
+scale correctly when using |\mag|.
+
+\mbr
+\pri\@|\magstep<integer>|
+\nbr
+This is a valid magnification scaling for the |\magnification| command. The
+actual magnification is $1.2^{\langle{\rm integer}\rangle}$.
+Thus |<integer>=3| implies a
+magnification of 1.728.
+\endblockmode
+
+In fact there are two points at which
+magnification can occur. The first is in the \tex\ document and the second is
+when it is printed. All that is important is the final magnification. A
+magnified document may be printed only if all the fonts are available at the
+magnifications requested. In general, magnification should be controlled by
+\intex\ so that \TeX Graph will operate correctly.
+
+\shead{inner}{Internal and Computed Sizes}
+\intex\ is actually in multicolumn mode at all times. The default though is
+just one column. In order to live in this world \intex\ understands |inner|
+and |column| sizes. The |column| sizes are the actual sizes that are used to
+for the text. The |inner| horizontal size is the sum of the column widths and
+the intercolumn spacing. To this is added a \@|\leftcolumnoffset| (twice) to
+obtain the |\houterpagesize|. Normally the |\leftcolumnoffset| is zero. The
+effect of a left column offset is to inset the pages with respect to the
+header/footer boxes whose width is the |\houterpagesize|. Thus
+
+\bshortcomlist
+|columnsize|&this is the actual size of the column
+ where the text is printed. Footnotes
+ are inside the column. In single
+ column format columnsize and innerpagesize
+ are the same
+ (\@|\vcolumnsize|, \@|\hcolumnsize|) \cr
+|innerpagesize|&this is the size of the page left after
+ the headers and footers have been removed
+ (\@|\vinnerpagesize|, \@|\hinnerpagesize|) \cr
+\eshortcomlist
+\ejectpage
+\done
diff --git a/macros/inrstex/inrsdoc/thpagsty.tex b/macros/inrstex/inrsdoc/thpagsty.tex
new file mode 100644
index 0000000000..1c1e097679
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thpagsty.tex
@@ -0,0 +1,219 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{pagsty}
+
+\def\cqu{\cquote{Insanity is often the logic of an accurate mind overtaxed.}{The
+Autocrat at the Breakfast Table, Oliver~Wendell~Holmes (1809-1894)}
+}
+
+\chapterhead{pagsty}{HEADERS\cr FOOTERS\cr and PAGE NUMBERS}
+\vskip 0pt plus 30pt
+\intex\ supplies a large number of facilities for controlling the style of
+such things as headers, footers, and page numbering. This chapter discusses
+those facilities. Multicolumn formatting is discussed separately (see
+Chapter~\ref{mulcol}). Of special importance is the command
+|\documentstyle{<page styles>}|. This command sets the default values for the
+entire document. Thus
+\begintt
+\documentstyle{\twelvepoint
+ \normalheaderstyle
+ \normalfooterstyle
+ \vheadersize=1.5cm
+ \vfootersize=2cm}
+\endtt
+would set the entire document in |\twelvepoint| fonts, set the default
+header and footer styles to ``normal'', and set the header and footer
+vertical sizes. |\documentstyle| does a |\setpagesizes| to ensure that the
+page sizes have been computed.
+\shead{pagstycomlist}{COMMAND LIST}
+\begintwocolumn
+\hfuzz=20pt
+\ext|\blankheaderstyle|
+\ext|\blankfooterstyle|
+\ext|\documentstyle|
+\pla|\folio|
+\ext|\footerfont|
+\ext|\footertext|
+\ext|\fullpagestyle|
+\ext|\headerfont|
+\ext|\headertext|
+\ext|\noheaderstyle|
+\ext|\nofooterstyle|
+\ext|\nopagenumberadvance|
+\ext|\normalpagestyle|
+\ext|\normalheaderstyle|
+\ext|\normalfooterstyle|
+\ext|\pagenumber|
+\ext|\romanpagenumber|
+\ext|\specialfootertext|
+\ext|\specialheadertext|
+\ext|\specialpagestyle|
+\ext|\titlepagestyle|
+\ext|\vheadersize|
+\ext|\vfootersize|
+\endthreecolumn
+
+\shead{pagenumbers}{Page Numbers}
+Page numbers are assigned by |\pagenumber [=] <new page number>| where
+|<new page number>| is an integer. Similarly roman numerals are assigned
+by |\romanpagenumber [=] <new page number>| again where |<new page number>|
+is an integer. To print the current page number use |\folio|. This will
+give a lowercase roman or an ordinary integer. To obtain uppercase roman use
+|\uppercase{\folio}| where the number is expected to be roman. Roman
+numbers are actually held inside \tex\ as negative numbers and print out
+negative as well when the file is being processed.
+
+Normally the page number advances at the end of each page. However, it is
+possible to prevent it from advancing for one page only, at a time, by
+inserting |\nopagenumberadvance| into the file.
+
+\beginblockmode
+\mbr
+\pla\@|\folio|
+\nbr
+This prints out the current page number in either arabic or lower case roman
+as the case may be. \@|\uppercase\folio| produces an uppercase roman page
+number, or an integer, if the page number is not roman.
+
+\mbr
+\ext\@|\nopagenumberadvance|
+\nbr
+This command in the file means that the page number will not advance for this
+page. It lasts for only {\bf one} page.
+
+\mbr
+\ext\@|\pagenumber [=] <new page number>|
+\nbr
+This assigns the pagenumber to be the integer value of |<new page number>|.
+
+\mbr
+\ext\@|\romanpagenumber [=] <new page number>|
+\nbr
+This sets the pagenumber to be roman style with
+the integer value of |<new page number>|.
+\endblockmode
+
+\shead{headfoot}{Header and Footer Styles}
+Headers and footers appear at the top and bottom of a page respectively. In
+general they carry information such as page number, section number, or even
+report and paper type. In this book the footer does not exist and the header
+carries the chapter name and page number on even pages and the current
+section and page on odd pages. Three styles of header and footer are
+supported, blank, normal or special (with text), and none.
+Headers and footers are boxes
+with width |\houterpagesize| and height determined by the setting of
+\@|\vheadersize = <dimen>| and \@|\vfootersize = <dimen>| respectively.
+Blank headers/footers exist
+but have nothing printed in them. Normal (special)
+headers/footers have the normal (special)
+header/footer text printed, and no headers/footers have the space that is
+normally taken up by the header/footer box returned to the main page. The
+three headers styles are called by |\blankheaderstyle|, |\normalheaderstyle|,
+and |\noheaderstyle|. Similarly for footers. However, all of these styles
+last for {\bf one} page only {\bf unless included as an argument to}
+\@|\documentstyle| whereupon they become the default values of the document.
+
+Finally several
+styles have been gathered together. |\titlepagestyle| h blanks out
+the header and footer, while |\fullpagestyle| which deletes both headers and
+footers. |\normalpagestyle| prints the text defined by |\headertext| and
+|\footertext| while |\specialpagestyle| prints out the text defined by
+|\specialheadertext| and |\specialfootertext|. All of these styles last for
+{\bf one} page only, whereupon the system reverts to the document style.
+
+\beginblockmode
+\mbr
+\ext\@|\blankheaderstyle \blankfooterstyle|
+\nbr
+Does not allow the header/footer text to be printed and lasts for one
+page only.
+
+\mbr
+\ext\@|\documentstyle{<list of style types>}|
+\nbr
+Sets the default or document style types to those in
+|<list of style types>|. The default style types may be changed as often as
+desired in any given document.
+
+\mbr
+\ext\@|\fullpagestyle|
+\nbr
+This is equivalent to both |\noheaderstyle| and |\nofooterstyle|. It lasts
+one page only.
+
+\mbr
+\ext\@|\noheaderstyle \nofooterstyle|
+\nbr
+This effectively returns the space occupied by the header/footer to the inner
+page. Either one lasts for one page only.
+
+\mbr
+\ext\@|\normalheaderstyle \normalfooterstyle|
+\nbr
+The normal header/footer text prints in the box assigned to it.
+
+\mbr
+\ext\@|\normalpagestyle|
+\nbr
+This is equivalent to both |\normalheaderstyle| and |\normalfooterstyle|. It
+lasts for one page only.
+
+\mbr
+\ext\@|\specialheaderstyle \specialfooterstyle|
+\nbr
+The special header/footer text prints in the header/footer box on
+that particular page only.
+
+\mbr
+\ext\@|\specialpagestyle|
+\nbr
+This is equivalent to both |\specialheaderstyle| and |\specialfooterstyle|. It
+lasts for one page only.
+
+
+
+\mbr
+\ext\@|\titlepagestyle|
+\nbr
+This is equivalent to |\blankheaderstyle| and |\blankfooterstyle|. It last
+only one page.
+\endblockmode
+
+\shead{headfoottext}{Header and Footer Text/Sizes}
+The header and footer text should be thought of a token string that is being
+put into a box of the appropriate size and shape. Any logic to test pages for
+placing information in different ways on, say even or odd pages should be
+included in this text.
+\beginblockmode
+\mbr
+\ext\@|\headertext [=] {<token list>}|
+\nbr
+\ext\@|\footertext [=] {<token list>}|
+\nbr
+\ext\@|\specialheadertext [=] {<token list>}|
+\nbr
+\ext\@|\specialfootertext [=] {<token list>}|
+\nbr
+This is the text that creates the formats for the headers and footers in the
+various styles. The \tex\ commands that do the formatting are
+the |<token list>|. The defaults are no header and a footer with a centered
+page number for the |<<PAPER STYLE>>|, the ones in this book for the
+|<<BOOK STYLE>>|. Others will be indicated when those styles are discussed.
+The |\special...text| forms are used whenever a |\special...style| is in
+force.
+
+\mbr
+\ext\@|\vheadersize [=] <dimen>|
+\nbr
+\ext\@|\vfooterersize [=] <dimen>|
+\nbr
+These commands set the size of the headers and footers respectively.
+In order to ensure that the correct innerpagesize results after a header or
+footer size change, they should be followed with a |\setpagesizes|.
+They
+should be made large enough to include all the |\headertext| or
+|\footertext|, and some additional white space.
+\endblockmode
+
+\ejectpage
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thparcon.tex b/macros/inrstex/inrsdoc/thparcon.tex
new file mode 100644
index 0000000000..e3759f2cd2
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thparcon.tex
@@ -0,0 +1,367 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{parcont}
+
+\def\cqu{\cquote{The Beautiful arises from the perceived harmony of an object, whether
+sight or sound, with inborn and constitutive rules of judgment and
+imagination: and it is always intuitive.}{On the Principles of General
+Criticism, Samuel~Taylor~Coleridge (1772-1834)}
+}
+
+\chapterhead{parcont}{PARAGRAPH\cr CONTROL}
+Contrary to intuition, \TeX\ indicates where paragraphs end rather than
+where they begin. This chapter discusses some of the parameters used in
+controlling the justification, spacing, hyphenation,and indentation in
+paragraphs. A
+paragraph can be built in either vertical or internal vertical mode, the
+latter is the same as being inside a vertical box.
+When parameters are set inside a vertical box, they are undone when leaving
+the box.
+When building a paragraph,
+\tex\ is in horizontal mode. All parameters are local to a box or group unless
+explicitly made |\global|. The parameters discussed here control interword
+spacing in a paragraph, with and without hyphenation, the indentation,
+interparagraph vertical skips, and the justification of the lines. Some
+advanced features can force a paragraph to be either a line shorter or longer
+than its best length. Some of these features are for fine tuning and will
+probably not
+be used except on the |final| pass of a book. Others, such as those
+involving paragraph indentation, justification of lines, or certain special
+effects will see more use.
+
+\def\paragraphcenterline{\advance\rightskip by 0pt plus 1fill
+ \advance\leftskip by
+ 0pt plus 1fill \def\cr{\par}\parindent = 0pt}
+
+\beginnarrowtext 1.5in
+\paragraphcenterline
+For instance, this paragraph has had its margins pushed in by 1.5 inch on
+either side by the use of |\beginnarrowtext 1.5in| and has had each of the
+resulting lines centered on the page with the |\paragraphcenterline| command.
+This latter command is in fact used by \intex\ to center, and prevent
+hyphenation in titles.
+
+\endnarrowtext
+
+\begingroup
+\veryraggedright
+A second example is illustrated in this paragraph with the |\veryraggedright|
+command. This prevents hyphenation and causes the paragraphs to have no
+right justification. Although it is probably not useful for ordinary text, it
+is used in section headings, table of contents, and figure captions, to
+automatically display verbose text. \par
+\endgroup
+
+Another useful command, |\obeylines|, is especially for such things as
+addresses.
+It changes the carriage return |<cr>| from a space to real line
+terminator. For instance the address
+\medskip
+\vbox{
+\begingroup
+\obeylines
+H.J. Common
+3479 Dreary Lane
+Lostville
+\endgroup
+}
+
+\noindent
+was produced by
+\begintt
+\begingroup
+\obeylines
+H.J. Common
+3479 Dreary Lane
+Lostville
+\endgroup
+\endtt
+\noindent
+Note that the |\obeylines| is inside a group to limit its effect to just the
+one paragraph. This is really the only way to undo the effect of some
+commands and has the advantage of returning to the state before entry into
+the group. {\bf Note also that the address is indented.}
+The indentation is the
+value of the current |\parindent|.
+
+\begingroup
+Finally there are two other parameters of general interest. These are
+|\rightskip| and |\leftskip|. Whenever \tex\ finds the {\bf end} of a
+paragraph, it checks the current values of |\rightskip| and
+|\leftskip| and appends this amount of glue on the end of each line while it
+is making the paragraph. This paragraph was set with |\rightskip = 1cm|
+right here
+\rightskip = 1cm
+and |\leftskip = 3cm| right here.
+\leftskip = 3cm
+Note that it affected the entire paragraph. The entire paragraph is inside a
+group. In fact a |\par \endgroup| was put at the end to make sure that
+\tex\ knew that the paragraph ended {\bf before} leaving the group.
+\par
+\endgroup
+
+
+\shead{parcontlist}{Command List}
+\beginthreecolumn
+\hfuzz = 20pt
+\ext|\beginnarrowtext|
+\pri|\discretionary|
+\ext|\endnarrowtext|
+\pri|\everyparagraph|
+\pri|\hangafter|
+\pri|\hangindent|
+\ext|\hyphenatecapitals|
+\pri|\indent|
+\pri|\leftskip|
+\pri|\looseness|
+\pri|\noindent|
+\pla|\obeylines|
+\pla|\obeyspaces|
+\pri|\par|
+\ext|\paragraphcenterline|
+\pri|\parindent|
+\pri|\parshape|
+\pri|\parskip|
+\pri|\pretolerance|
+\pla|\raggedright|
+\pri|\rightskip|
+\pri|\tolerance|
+\pla|\ttraggedright|
+\ext|\veryraggedright|
+\endthreecolumn
+
+
+\shead{parcontcoms}{Command Forms}
+\beginblockmode
+
+\mbr
+\ext|\beginnarrowtext <dimen>|\]
+\nbr
+This narrows the size of the margins on both the left and right hand side by
+|<dimen>|. It starts a group and is terminated by an |\endnarrowtext|. The
+raggedness of the outer level is preserved inside the narrowtext group.
+
+
+\mbr
+\pri\@|\discretionary{<prebreak text>}{<postbreak text>}{<nobreak text>}|
+\nbr
+This command allows a discretionary break, like a word hyphenation, but
+will produce different text if the break occurs than when it does not. One use
+is for hyphenating German. If
+there is a break, the |<prebreak text>| goes on the first line and the
+|<postbreak text>| goes on the second line. If there is nobreak, the
+|<nobreak text>| is used.
+
+\mbr
+\ext\@|\endnarrowtext|
+\nbr
+This terminates the group started by the |\beginnarrowtext|
+and reverts back to the pre narrow text format.
+
+\mbr
+\pri\@|\everyparagraph [=] {<token string>}|
+\nbr
+This command allows for the insertion of the |<token string>| at the beginning
+of every paragraph, just after the paragraph indentation on the first line
+and just before any text.
+
+
+\mbr
+\pri\@|\hangafter [+ -] <integer>|
+\nbr
+This command controls the application of indentation to the next
+paragraph. If the sign is positive or does not exist, the indentation applies
+to all lines in the paragraph {\bf after} the first |<integer>| lines. If the
+sign is negative, it applies to the lines up to and including the |<integer>|
+line. This command lasts for only the present paragraph.
+
+\mbr
+\pri\@|\hangindent [=] [+ -] <dimen>|
+\nbr
+\hangindent = 2cm \hangafter = 3
+This command is used in conjunction with |\hangafter| and determines the
+amount and position of the indentation. If the sign is positive or does not
+exist the indentation will be at the left margin. If the sign is negative,
+the indentation is at the right margin. Indentation means that the width of
+the paragraph is reduced by the value of |<dimen>|. This command lasts
+for only the present paragraph. For instance this
+paragraph was set with |\hangindent = 2cm \hangafter = 3|.
+
+
+
+\mbr
+\ext\@|\hyphenatecapitals [=] <integer>|
+\nbr
+When the integer is {\bf not} equal to 0, \tex\ will attempt
+to hyphenate words with uppercase letters.
+
+\mbr
+\pri\@|\indent|
+\nbr
+Changes to horizontal mode and causes the paragraph to be indented by the
+|\parindent|. If used in the middle of a paragraph, there will be a space
+inserted the size of the |\parindent|.
+
+\mbr
+\pri\@|\leftskip [=] <dimen> [plus <dimen>] [minus <dimen>]|
+\nbr
+\pri\@|\rightskip [=] <dimen> [plus <dimen>] [minus <dimen>]|
+\nbr
+\leftskip 0pt plus 1fil \rightskip 0pt plus 1fil
+These commands move the edge of the column or page to the center by
+|<dimen>| to the center. The |\leftskip| works on the left hand edge and the
+|\rightskip| on the right hand edge.
+They work on the page and also inside boxes. The
+optional glue specifications
+determine the raggedness of the placement of the paragraph line on the
+page. For instance this paragraph was set with |\leftskip 0pt plus 1fil|.
+and |\rightskip 0pt plus 1fil|. The |1fil| glue will
+produce a very ragged column. The effect is to allow for any badness and to
+suppress all hyphenation. Note the odd spacing in the last line. It is due to
+the |1fil| added to the last line of every paragraph.
+
+\leftskip=0pt \rightskip=0pt
+
+\mbr
+\pri\@|\looseness [=] [+ -] <integer>|
+\nbr
+This command will cause \tex\ to try and make the {\it current} paragraph
+an |<integer>| number of lines shorter if the sign is $-$ and longer if it is +
+or does not exist than the natural best number of lines. It is the way of
+fine tuning the size of a paragraph.
+
+\mbr
+\pri\@|\noindent|
+\nbr
+This command changes to horizontal mode and prevents the next paragraph from
+being indented. If it used in the middle of a paragraph, it produces a space
+equal to the current |\parindent|.
+
+\mbr
+\pla\@|\obeylines|
+\nbr
+This causes \tex\ to end lines at the same place as they are ended in the
+input text. This command changes a line into a very short paragraph
+so that each line is indented by the |\parindent|.
+
+\mbr
+\pla\@|\obeyspaces|
+\nbr
+This makes a space active and causes \tex\ to obey them, {\bf except at the
+start of a new line}. It can be used in conjunction with |\obeylines| to
+obtain a very rough positioning of text on a page. Except with the
+|typewriter| fonts, where all characters have the same width, the two
+together will {\bf not} produce text that is positioned as it is seen on the
+screen editor. Precise placement of text and columns should always be done
+using the alignment capabilities of \tex, namely |\halign| and its relatives.
+\sbr
+{\obeylines \obeyspaces \parskip = 0pt
+This paragraph
+has been produced with |\obeylines|
+and |\obeyspaces| inside a group. The
+group is there to keep their effect local to this
+paragraph
+only. Note that all the lines
+start at the left hand margin.}
+
+This was produced by
+
+\begintt
+{\obeylines \obeyspaces \parskip = 0pt
+This paragraph
+ has been produced with |\obeylines|
+ and |\obeyspaces| inside a group. The
+group is there to keep their effect local to this
+paragraph
+only. Note that all the lines
+start at the left hand margin.}
+\endtt
+
+
+\mbr
+\pri\@|\par|
+\nbr
+This command indicates the end of the current paragraph. A completely blank
+line is equivalent to a |\par|.
+
+\mbr
+\ext\@|\paragraphcenterline|
+\nbr
+\begingroup \paragraphcenterline
+This command takes a line in a paragraph and centers it. It also prevents
+hyphenation. A forced break occurs if the command |\cr| \cr is placed
+|\cr| \cr as shown at the end of the line. This means that if you do not like
+the way \intex\ does the line splitting, you can do it yourself \dots\ or at
+least command it.
+\endgroup
+
+
+\mbr
+\pri\@|\parindent [=] <dimen>|
+\nbr
+This sets the indentation at the beginning of each paragraph to
+|<dimen>|.
+
+\mbr
+\pri\@|\parshape <number of lines> <indent 1> <line length 1>
+ ... <indent n> <line length n>|
+\nbr
+This command is flexible way of controlling the shape of the current
+paragraph. The |<number of lines>| is the number of lines for which
+parameters are being given. In this case assumed to be |n|. The
+|<indent i>| is the indentation of line |i| and |<line length i>| is the
+specified length of that line. All lines from and including |n| will have
+the same indentation and length as line |n|. A |\parshape| lasts for only one
+paragraph. If there is a |\hangindent \hangafter| pair also in force for the
+current paragraph, the |\parshape| takes precedence. \tex\ does not get upset
+if the number of actual lines in the paragraph is less than |n|.
+
+
+\mbr
+\pri\@|\parskip [=] <dimen>|
+\nbr
+This sets the size of the vertical skip that is automatically inserted
+between paragraphs.
+
+
+\mbr
+\pri\@|\pretolerance [=] <integer>|
+\nbr
+\pri\@|\tolerance [=] <integer>|
+\nbr
+These two parameters set the amount of badness that \tex\ is willing to
+tolerate in a line before succumbing to an overfull box. If |<integer>| is
+10000 or more, horrendously bad lines will be allowed and there never will be any
+overfull boxes. \tex\ makes two passes through a paragraph. The first time it
+allows words to be hyphenated but tries to keep each line badness below the
+|<integer>| value of |\pretolerance|. The second time it tries the same
+thing, without hyphenation, but keeping the badness below the |<integer>|
+value of |\tolerance|. The optimal choice of these parameters depends on your
+aversion to hyphenation, and your acceptance of less than beautiful
+paragraphs without rewriting.
+
+\begingroup \raggedright \overfullrule=5pt
+\mbr
+\pla\@|\raggedright|
+\nbr
+This command allows the right hand margin to have a ragged edge. It is
+done by judiciously choosing the glue parameters for a |\rightskip|. The
+balancing allows for hyphenation, and does not produce lines that are too
+short. This paragraph was set with the present parameters for |\raggedright|.
+Note that it is possible to have overfull boxes.
+\endgroup
+
+\mbr
+\pla\@|\ttraggedright|
+\nbr
+This is similar to |\raggedright| but for use when using |\tt| font.
+
+\mbr
+\pla\@|\veryraggedright|
+\nbr
+This is similar to |\raggedright| but for use primarily in titles and
+captions where raggedness and {\bf no} hyphenation is wanted.
+
+\endblockmode
+\ejectpage
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thshead.tex b/macros/inrstex/inrsdoc/thshead.tex
new file mode 100644
index 0000000000..02878e65a7
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thshead.tex
@@ -0,0 +1,295 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{shead}
+\def\cqu{\cquote{The chief virtue that language can have is clearness, and
+nothing detracts from it so much as the use of unfamiliar
+words.}{On the Natural Faculties, Galen }
+}
+
+\chapterhead{shead}{CHAPTER\cr and SECTION\cr HEADS}
+\intex\ supplies commands for creating chapter and section heads. The default
+style of the heads are those given in this book. They form the basis
+of the style that naturally results from the use of \intex. Some changes in
+style such as the fonts used are quite easy; others require more care.
+
+This chapter introduces the commands for creating section heads, whether they
+occur during the initial part of the document or within appendices. All of
+the commands have the same format with or without autonumbering or automatic
+generation of table of contents in force.
+
+\intex\ considers that a document consists of a {\it prelude} part that will
+include the preface, table of contents, and other special summaries, an {\it
+interlude}
+consisting of chapters and sections, appendices, which may appear at the
+end of a document or at the end of a chapter, and a {\it postlude} which
+would include, perhaps, an index, references, and even appendices. The {\it
+prelude}, appendices, and {\it postlude} are
+enclosed by a |\begin...\end...| pair that form a
+group and set up the styles appropriate for that section.
+
+The forms that introduce sections, tables of contents, or chapters all have
+commands of the form |\...head|, such as |\shead|,
+where the |head| is supposed invoke images
+of starting a unit. In \intex, all commands that have a |\begin...| have an
+accompanying |\end...| and all create a group. The |\...head| commands are
+key elements in controlling the setting and incrementing of the various
+numbers used in the document. In addition, they have a relatively complex,
+but accessible format part that can be modified if required.
+
+The section head commands |\chead|,
+|\shead|, |\sshead|, |\ssshead|, and
+|\dssshead| stand for chapterhead,
+sectionhead, subsectionhead, subsubsectionhead,
+and diminished subsubsectionhead. This is the only example of commands in
+\intex\ for which the abbreviations exist without the full forms. This is
+primarily for typing and visual convenience in the original file. The fonts
+used have the same abbreviated form.
+
+If an |\shead| is immediately followed by an |\sshead| or any other
+sectionhead form, there is a chance that they may be split apart if they
+occur at the bottom of the page. {\bf To prevent this, and to
+make the spacing reasonable, the command
+|\nosheadbreak| must be placed in between the two commands.}
+The general spacing parameters are given in Section \ref{sheadspac}.
+
+If the |.toc| file is open for making a table of contents list, each section
+head form writes information to this file. The actual form sent is determined
+by the definition of a |\...tocout| form. For instance the |\shtocout| is
+defined as |\def\shtocout{\string\shtoc}|. The |\shtoc| is an \intex\ form
+that produces a section head line in the table of contents.
+
+
+\shead{sheadcomlist}{Command List}
+\beginthreecolumn
+\hfuzz=10pt
+\ext|\Alphabetic|
+\ext|\alphabetic|
+\ext|\Appendix|
+\ext|\beginappendices|
+\ext|\beginprelude|
+\ext|\Chapter|
+\ext|\chapterstartform|
+\ext|\chead|
+\ext|\cheadfont|
+\ext|\chnum|
+\ext|\chtagreplaceformat|
+\ext|\chnumform|
+\ext|\chtocout|
+\ext|\endappendices|
+\ext|\endprelude|
+\ext|\dssshead|
+\ext|\dsssheadfont|
+\ext|\dssshtocout|
+\ext|\innerchead|
+\ext|\innerdssshead|
+\ext|\innershead|
+\ext|\innersshead|
+\ext|\innerssshead|
+\ext|\nosheadbreak|
+\ext|\preludehead|
+\ext|\prtocout|
+\ext|\shead|
+\ext|\sheadfont|
+\ext|\shnum|
+\ext|\shnumform|
+\ext|\shtagreplaceformat|
+\ext|\shtocout|
+\ext|\sshead|
+\ext|\ssheadfont|
+\ext|\sshnum|
+\ext|\sshnumform|
+\ext|\sshtocout|
+\ext|\ssshead|
+\ext|\sssheadfont|
+\ext|\ssshnum|
+\ext|\ssshnumform|
+\ext|\ssshtocout|
+\ext|\UpperRoman|
+\endthreecolumn
+
+\shead{sheadcomforms}{Command Forms --- Making Head Forms}
+The commands in this section are very similar in form and will be described
+in together. There are six predefined |<head types>|: |prelude|, |c|
+(chapter),
+|s|, |ss|, |sss|, and |dsss|. All but |prelude| and |dsss| take two arguments
+in their |\<head type>head| form.
+
+Number format and font commands are discussed in Section \ref{numforms}.
+
+\beginblockmode
+\mbr
+\ext\@|\chead{<number or tag>}{<title>}|
+\nbr
+\ext\@|\preludehead{<title>}|
+\nbr
+\ext\@|\shead{<number or tag>}{<title>}|
+\nbr
+\ext\@|\sshead{<number or tag>}{<title>}|
+\nbr
+\ext\@|\ssshead{<number or tag>}{<title>}|
+\nbr
+\ext\@|\dssshead{<title>}|
+\nbr
+All of these commands create the various forms of section or chapter heads
+indicated by the command name. The |<number or tag>| field is interpreted as a
+tag if |autonumbering| is on or inserted as is into the appropriate place if
+is not. The lack of this field in |\dssshead| and |\preludehead| implies that
+it is impossible to tag or refer to these document parts except through
+their, presumably known, titles. The tag replacement format and associated
+|\<head type>hnumform| are
+discussed separately in
+Section \ref{numforms}.
+
+There are some restrictions in the use of the |<title>| field. This should
+{\bf not} include |\footnote|, |\cite|, or |\ref| commands. If it is
+absolutely necessary to use these, see Chapter~{\ref{footnot}} to see how to
+get around the |\footnote| restriction, and use |\quietref{<tag>}|
+for the other
+two. {\it Quiet} is not quite {\it silent}.
+
+\mbr
+\ext\@|\Appendix|
+\nbr
+This command defines the actual form that will be seen in an |\shead| used for
+appendices. It is defined as ``Appendix'' in |\englishversion| and
+``Appendice'' in |\versionfrancaise|.
+
+\mbr
+\ext\@|\beginappendices \endappendices|
+\nbr
+These commands are intended to enclose the appendices that occur at the end
+of a chapter or book. They reset the {\it special} auto numbers, and change
+the format of the numbers when an |\shead| or its relatives are called.
+|\chead| should not be called in an appendix.
+Since the |\begin...\end...| pair form a group,
+changes that only affect the appendices are
+easily made.
+
+\mbr
+\ext\@|\beginprelude \endprelude|
+\nbr
+These commands are intended to enclose the prelude that occurs at the
+the start of a document. Preludes usually include such entities as prefaces,
+tables of contents, figures, and tables, acknowledgments, distribution lists
+or perhaps executive summaries.
+Since the |\begin...\end...| pair form a group, changes that only affect the
+prelude parts are
+easily made.
+\mbr
+\ext\@|\Chapter|
+\nbr
+This command defines the actual form used in a |\chead|.
+It is defined as ``Chapter'' in |\englishversion| and
+``Chapitre'' in |\versionfrancaise|.
+
+\mbr
+\ext\@|\chapterstartform = {<special pre chapter tests>}|
+\nbr
+The token list for this command is executed inside |\chead| before the
+first page of the chapter is produced. For this book it was used to check
+whether the chapter starting page was odd. If it was not, a ``quote'' page
+was produced.
+
+\endblockmode
+
+\shead{numforms}{Command Forms --- Number Formats}
+The number formats when autonumbering is in force are defined using a few
+commands. First the fonts in the various head forms are called
+\@|\<head type>headfont|. These are defined when a document font size (see
+Chapter \ref{fonts}) is defined. For example
+|\documentfont{\tenpoint}| determined the document font family for this book.
+The individual fonts may be changed, although it is not recommended, by
+changing the |\<head type>headfont|. For example,
+|\let\sheadfont = \twelvedu| will change the section head font for the rest
+of the document, or until the end of the group if it is called within a
+group. A change of this sort will not modify the other fonts.
+
+The number formats are modified by changing the |\<head type>hnumform| such as
+|\chnumform|, |\shnumform|, |\sshnumform|, |\ssshnumform|,
+respectively for the chapter and the various section heads.
+\@|\Alphabetic{<integer>}|, \@|\alphabetic{<integer>}|, and
+\@|\UpperRoman{<integer>}| are used to change the format of an integer
+(counter) to either the equivalent uppercase letter, lowercase letter
+or uppercase roman numeral.
+The \intex\ forms for |\<head type>hnumform| are
+\begintt
+\def\<head type>hnumform{\the\<head type>hnum}
+\endtt
+for all |<head type>| except that in appendices |\shnumform| is defined to be
+\begintt
+\def\shnumform{\Alphabetic{\the\shnum}}
+\endtt
+This effectively changes the appendix numbering to be roman capitals.
+
+The command \@|\chtagreplaceformat| is the actual command that is used to
+place the ``Chapter \ref{shead}'' at the beginning of this chapter. The
+two definitions involved in this replacement are
+\begintt
+\def\chtagreplaceformat {Chapter \chtagrefformat}
+\def\chtagrefformat {\chnumform}
+\endtt
+The \@|\shtagreplaceformat| is
+defined similarly and is used in |\sheads|.
+
+A change in the form of the command written to the table of contents file may
+be obtained simply by redefining the appropriate |\...tocout|.
+
+
+\shead{sheadspac}{Command Forms --- Section Head Spacing}
+The spacing both before and after the various |\...head|s are determined by
+the following parameters. Stretch and shrink glue should be specified to give
+\tex\ some freedom to break pages.
+\bshortcomlist
+\ext\@|\prsheadskip [=] <glue>|& pre shead skip \cr
+\ext\@|\posheadskip [=] <glue>|& post shead skip \cr
+\ext\@|\prssheadskip [=] <glue>|& pre sshead skip \cr
+\ext\@|\possheadskip [=] <glue>|& post sshead skip \cr
+\ext\@|\prsssheadskip [=] <glue>|& pre ssshead skip \cr
+\ext\@|\posssheadskip [=] <glue>|& post ssshead skip \cr
+\ext\@|\prdsssheadskip [=] <glue>|& pre dssshead skip \cr
+\ext\@|\podsssheadskip [=] <glue>|& post dssshead skip \cr
+\eshortcomlist
+
+
+\shead{genform}{Major Modifications of the Section Head Formats}
+\intex\ has separate |\cheadformat|, \@|\preludeheadformat|, and a very
+general section head format. These are easily modifiable without upsetting
+any of the houskeeping. Any format that satisfies the input parameter
+constraints will work.
+
+\beginblockmode
+\mbr
+\ext\@|\cheadformat{<chapter>}{<text>}|
+\nbr
+The |<chapter>| is the chapter identifier. In this chapter it was
+{\bf Chapter~\ref{shead}}. The |<text>| is title of the chapter. The
+particular form was built using |\vcenter| and |\halign|.
+
+\mbr
+\ext\@|\gensheadformat{<font>}{<number>}{<text>}{<separator>}|
+\nbr
+This command uses four parameters. The first is the font, the second the
+number, the third is the title of the section and the fourth is the separator
+between the number and the text. The form that is used checks the number to
+see if it is empty. If it is, the |<text>| is placed flush left. The |<text>|
+is actually placed in a |\vbox| with |\veryraggedright| spacing so that there
+will be no hyphenation and long titles will automatically split. Details are
+in {\tt secthead.tex}.
+
+\mbr
+\ext\@|\preludheadformat{<title>}|
+\nbr
+This command is defined with one parameter that is assumed to be the title of
+the particular section. Since this one is quite simple the default definition
+is given as
+\begintt
+\def\preludeheadformat#1{\centerline{\sheadfont #1}\vskip 1cm}
+\endtt
+\endblockmode
+\ejectpage
+\done
+
+
+
+
+
diff --git a/macros/inrstex/inrsdoc/thspac.tex b/macros/inrstex/inrsdoc/thspac.tex
new file mode 100644
index 0000000000..47e524eab4
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thspac.tex
@@ -0,0 +1,204 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{spac}
+
+\def\cqu{\cquote{It is a very sad thing that nowadays there is so little useless
+information.}{Oscar~Wilde (1854-1900)}}
+
+\chapterhead{spac}{SPACING}
+This chapter discusses the various mechanisms in \tex\ for creating and
+controlling spaces in a document. All spacing involves the insertion of glue
+that may or may not have stretch or shrink. This chapter also includes a
+description of |\beginttverbatim...\endttverbatim| that allows text to be
+inserted in a typewriter font with the original spacing. It is useful for
+such things as computer listings.
+
+{\bf You should never need to use |\vskip| or |\hskip| or its relatives
+while using \intex\ \dots\ except perhaps when trying to place boxes on a
+page.} \intex\ has easily modified parameters for all spacing. If you don't
+like the spacing before or after an |\shead|, check first that there is no
+underfull box and then modify |\prsheadskipsize| and |\posheadskipsize| as
+necessary.
+
+\shead{spacomlist}{Command List}
+\begintwocolumn
+\ext|\beginttverbatim|
+\pla|\bigskip|
+\ext|\endttverbatim|
+\pla|\enskip|
+\pri|\hskip|
+\pri|\kern|
+\pla|\medskip|
+\pri|\mkern|
+\pri|\mskip|
+\pla|\quad|
+\pla|\qquad|
+\pla|\smallskip|
+\ext|\spacing|
+\pri|\vglue|
+\pri|\vskip|
+\endtwocolumn
+
+\shead{basicspac}{Basic Spacing Mechanisms}
+The basic spacing commands in \tex\ are |\hskip|, |\vskip|, and |\mskip| that
+are used in horizontal, vertical and mathematics mode respectively. All of
+these take |<glue>| in the standard form of
+|[+ -] <dimen> [plus <dimen>] [minus <dimen>]| except |\mskip| which
+must have |<mudimen>| or units of |mu|. The stretch and shrink
+parameters are optional but the first |<dimen>| is not. In general \tex\ allows
+for line or page breaks to occur after glue in a list. If spacing is desired
+without the possibility of breaks or glue disposal, then the commands
+|\kern| and |\mkern| are
+used. These are the ones used for placing accents.
+
+When \tex\ breaks a page or a line, the glue at the beginning of the line or
+page is discarded, unless it is put there via a |\kern|. This means that a
+special command is needed to force glue at the top of a page. This command is
+|\vglue|. It is like |\vskip| but works at the top of the page.
+
+
+Special preset skips in vertical mode are |\smallskip|, |\medskip|,
+|\bigskip| and for horizontal mode |\quad|, |\qquad|, and |\enspace|. The
+latter three are font size dependent and also will work in math mode.
+
+Finally |\spacing| is an \intex\ command that allows for a changing of the
+spacing between the lines of a document. For instance |\spacing{1.5}| will
+produce 1.5 line spacing. |\spacing| modifies the vertical skip that \tex\
+puts between adjacent lines. {\bf However, lists,
+the various types of section heads, figure and table captions, and footnotes
+are all forced to be single spacing.} All those forms that have an
+|\every...| may be modified. For example
+|\everylist = {\spacing{1.5}}|
+will force every list to have 1.5 spacing. If |\everysublist| and
+|\everysubsublist| have not been modified, sublists and subsublists will also
+be spacing 1.5.
+
+
+\shead{verbatim}{Verbatim or ``No Fill'' Forms}
+\intex\ supplies, as an external command list, a method of producing a
+listing with the same spacing that exists in the original form. This is only
+supplied for typewriter |\tt| fonts as these are the only monospaced fonts
+available. For a monospaced font, all characters are the same width so that
+it is possible to ensure that spacing will be identical to that seen on a
+normal typewriter or terminal screen. All characters except the backslash
+``~|\|~'' are allowed.
+For example
+\begingroup \catcode`\^=7
+\beginttverbatim
+This is
+ an example
+ where the
+ first word of each
+ line starts below the
+ second one of
+ the previous line.
+\endttverbatim
+\catcode`\^^M=13 \global\let^^M=\par\endgroup
+It was given by the following code
+\begintt
+\beginttverbatim
+This is
+ an example
+ where the
+ first word of each
+ line starts below the
+ second one of
+ the previous line.
+\endtt
+|\endttverbatim|
+
+\shead{spaccomforms}{Command Forms}
+\beginblockmode
+\ext\@|\beginttverbatim|
+\nbr
+Begins a section of ``verbatim'' or ``no fill'' mode in typewriter font. All
+characters except the backslash ``~|\|~'' are allowed. This form must
+terminate with an |\endttverbatim|. At the cost of a one character offset,
+the |\def\@{\char'134}| will drop a |\| in using |\@|.
+
+
+\mbr
+\pla\@|\bigskip|
+\nbr
+Vertical skip of size \quad\vbox{\hrule width .25in\bigskip\hrule}.
+
+\mbr
+\ext\@|\endttverbatim|
+\nbr
+Ends a section of ``verbatim'' or ``no fill'' mode in typewriter font. All
+characters except the backslash ``~|\|~'' are allowed. This form must
+begin with a |\beginttverbatim|.
+
+\mbr
+\pla\@|\enskip|
+\nbr
+Horizontal skip of \hbox{\strut\vrule\enspace\vrule} -- one |\enspace| or
+.5em.
+
+\mbr
+\pri\@|\hskip [+ -] <dimen> [plus <dimen>] [minus <dimen>]|
+\nbr
+This is the basic positive and negative skip in horizontal mode.
+
+
+\mbr
+\pri\@|\kern [+ -] <dimen>|
+\nbr
+This produces an unbreakable space vertically, in vertical mode, and
+horizontally, in horizontal mode.
+
+\mbr
+\pri\@|\mkern [+ -] <decimal number>mu|
+\nbr
+This is the basic unbreakable space in math mode. It is always in |mu| units.
+Note that there are 18 |mu| to an |em|. For instance |$]\mkern -1mu[$| gives
+$]\mkern -1mu[$.
+
+\mbr
+\pri\@|\mskip [+ -] <mudimen> [plus <mudimen>] [minus <mudimen>]|
+\nbr
+A |<mudimen>| is |<decimal number>mu|. This is the basic horizontal
+math |mu| skip with glue. It is valid only in math mode.
+
+\mbr
+\pla\@|\medskip|
+\nbr
+This is a vertical skip of the size \quad\vbox{\hrule width .25in\medskip\hrule}.
+
+
+
+\mbr
+\pla\@|\quad \qquad|
+\nbr
+These are horizontal skips of 1em and 2em respectively. They correspond in
+this font to \hbox{\strut\vrule\quad\vrule} and
+\hbox{\strut\vrule\qquad\vrule} respectively.
+
+\mbr
+\pla\@|\smallskip|
+\nbr
+This is a vertical skip of the size \quad \vbox{\hrule width .25in\smallskip\hrule}.
+
+\mbr
+\ext\@|\spacing {<decimal number>}|
+\nbr
+The spacing becomes |<decimal number>| times the normal spacing. The normal
+spacing is usually referred to as {\it single} spacing.
+
+
+
+\mbr
+\pri\@|\vglue [=] [+ -] <dimen> [plus <dimen>] [minus <dimen>]|
+\nbr
+This puts nondiscardable glue into a vertical list. It is usually used to
+put a vertical skip at the top of a page.
+
+\mbr
+\pri\@|\vskip [=] [+ -] <dimen> [plus <dimen>] [minus <dimen>]|
+\nbr
+This is the standard vertical skip command. If used in horizontal mode, it
+automatically causes a switch to vertical mode.
+
+\endblockmode
+\ejectpage
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thstart.tex b/macros/inrstex/inrsdoc/thstart.tex
new file mode 100644
index 0000000000..9260e99338
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thstart.tex
@@ -0,0 +1,397 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\marginnotestrue
+\chcode{start}
+\def\cqu{}
+
+
+\draftversion
+\chapterhead{start}{STARTING\cr STOPPING\cr and FINISHING}
+This chapter discusses the commands that are required to actually process
+a \tex\ or \intex\ document, and to answer the ``|?|'' when \tex\ runs into an
+error.
+Section~{\ref{printing}} gives the most important options available in \tex print,
+the program that actually prints the \intex\ file.
+
+Since the initial production of a document is almost always in the ``draft''
+mode, the
+ \intex\ default is |\draftversion|. This mode includes the ``{\eightrm Draft
+Version :} {\eightit Date}'' at the bottom of the page and margin notes that
+include {\it tags} and their values. This version of the book was a produced
+with |\draftversion| but with |\marginnotesfalse| for all but this chapter
+and the one on auto numbering and tagging (\ref{auto}). The really {\bf final} version of
+this book will probably be produced with
+|\finalversion|.
+Section~\ref{finalversion} discusses the changes to make when
+processing the ``final'' version of a document.
+
+\intex, especially in conjunction with Multilingual \mtex, supports both
+English and French \dots\ in the same document on a paragraph by
+paragraph basis. English,
+both for \intex\ messages and hyphenation is the default and is called by
+|\englishversion|. |\versionfrancaise| invokes
+French messages, hyphenation, and spacing.
+To change only the hyphenation and spacing, |\ehyph| is used for
+English and |\fhyph| is used for French.
+
+
+\shead{startcom}{Command List}
+The commands in this list are organized in three sections,
+Creation, Termination and Language,
+\tex print, and ``?'' answer and interrupt.
+The Language commands include those related to choosing the
+particular language (French or English) and efficient commands for just changing
+spacing and hyphenation rules and not the messages.
+\comhead{Creation, Termination and Language Commands}
+\begintwocolumn
+\pla|\bye|
+\ext|\done|
+\ext|\draftversion|
+\ext|\ehyph|
+\pri|\end|
+\ext|\englishversion|
+\ext|\fhyph|
+\ext|\finalversion|
+\pri|\hyphenation|
+\ext|\language|
+\ext|\marginnotestrue|
+\ext|\marginnotesfalse|
+\ext|\versionfrancaise|
+\endtwocolumn
+
+\shead{Doc}{Document Creation}
+To create a document, you first need something to write. Enter
+the text into a file on whatever system you are using. In this book it is
+assumed that the system you are using is a VAX11/780 running the VMS operating system with
+the appropriate file names or system conventions.
+
+There are basically three steps to producing a document. The first is to enter
+the information, with all of the appropriate \tex\ conventions into a file.
+The second is for \tex\ to process it, and the third is for \tex print,
+\tex's printing system to print it out. Any output device that supports
+typesetting can be used if it has been properly configured for \tex.
+This could be a dot matrix printer (heaven forbid), a phototypesetter
+such as the Alphatype, or PostScript laser printer.
+
+\shead{docprep}{Preparing the File}
+All that is required to prepare the file is to create the file using your
+favourite editor. You might try the example given in Chapter \ref{descom}.
+A file of \tex\ commands is normally given the name |<your file name>.tex|
+and it can be referred to by only |<your file name>| with \tex\ automatically
+extending it. To tell \intex\ that the your file has is completed, the
+command |\done| should be the last command in the file. \tex\ will ignore
+everything after a |\done|. |\done| not only terminates the file, it also
+{\it fills} the last page so that the spacing is correct. The primitive
+command for \tex\ to terminate processing is |\end|. This is {\bf not}
+recommended while using \intex\ because the last page is not reasonably
+processed and it will terminate processing while inside a subdocument,
+something not ordinarily desired (see Chapter~\ref{subdoc} for discussion on
+the details of subdocuments).
+
+{\it Plain} \tex\ supplies the command |\bye| which has an
+|\end| imbedded in it and also cleans up the last page. |\done| is
+similar but has a few additional features including a compatibility
+with the |\subdocumentmacros| commands. |\done| is recommended
+for use in \intex.
+
+
+\shead{subfile}{\tex ing a File}
+After the file has been completed, you leave the editor and return to the
+operating system where you will be greeted by the prompt of a \$\ sign.
+For example if the 23$^{rd}$ psalm file is called |psalm23.tex| then
+\begintt
+$inrstex psalm23
+\endtt
+This will submit the job.
+If you forget to put in your file name, \tex\ will return with its
+interactive prompt, the |*|, and ask you for a file name.
+At this point you will see the following on your
+screen.
+
+\begingroup \eightpoint
+\begintt
+This is MLTeX, Version 3.1+
+(psalm23.tex [1] )
+Output written on psalm23.dvi (1 page, 540 bytes).
+\endtt
+\endgroup
+Do not be deceived. \intex\ was indeed loaded \dots\ the evidence will be in
+the |psalm23.lis| file. The directories containing the files are completely
+given, and will be yours instead of that shown. The |psalm23.log| shows that
+\intex\ was indeed preloaded. This file contains
+
+\begingroup\eightpoint
+\begintt
+This is MLTeX, Version 3.1+ (format=inrs3_mlb 91.8.22) 2 SEP 1991 02:59
+**&/usr/users/u1/mike/inrstex/inrs3_mlb psalm23
+(psalm23.tex [1] )
+Output written on psalm23.dvi (1 page, 540 bytes).
+\endtt
+\endgroup
+The version numbers, for both \tex\ and \intex\ will vary with time and
+installation.
+If you are not using ML\TeX\ the two ``version'' lines will be more
+like
+\begingroup\eightpoint
+\begintt
+This is TeX, Version 3.14
+
+or
+
+This is TeX, Version 3.14 (format=inrs3_mlb 91.8.22) 2 SEP 1991 02:59
+
+\endtt
+\endgroup
+for the terminal and list file respectively.
+
+The default form of the interaction of \tex\ with you is to stop on an error.
+At an error, the display will halt and \tex\ gives you a ``~{\tt ?}~'' as a prompt. At
+this point if you reply with an |x| or an |e|, the job will terminate cleanly
+and you can print what you have to that point. An |s| will cause \tex\ to
+continue, but not to pause for further errors; a |<cr>| will continue to the
+next error; an |r| is like |s| but will not stop even if it cannot find a
+file; a |q| is a nonstop mode that also suppresses all output to your
+terminal.
+
+
+Sometimes \tex\ seems to be in deep trouble and cannot extricate itself. At
+this point |^C| or |<control> C| will send \tex\ a message that it should
+stop. It will after the end of its present command, and return to you the
+``~{\tt ?}~''. At that point an |x| will terminate the job, {\bf and} give you output
+that you can print. If all else fails, a |^Y| will terminate the job,
+uncleanly, and there will be no help to fix it.
+
+Sometimes \tex\ stops with an |*|. When this happens \tex\ is looking for a
+command. Usually an |\end| or |\done| will satisfy it and terminate cleanly.
+
+Finally, \tex\ sometimes has trouble reading a file and asks for another name.
+The only way out of this, cleanly, is to give it a file name. You should have
+an empty or |null.tex| in your directory for such eventualities. This will
+allow \tex\ to continue whereupon a |^C| will interrupt.
+
+
+\shead{additionalfiles}{Additional Files}
+Whenever \tex\ processes a job (your file), it creates an internal name that
+is referred to in a \tex\ file as \@|\jobname|. This is the same as the file
+name submitted to \tex\ or \intex\ {\bf without} the |.tex| extension.
+
+Both \tex\ and \intex\ use this |\jobname| to create other files with
+different extensions. All \tex\ and \intex\ jobs create
+create a second file
+called |\jobname.lis|. In this file is a complete listing of the
+messages and prompts sent to your terminal along with information about
+problems that may have existed. It is useful for correcting errors.
+If there is any output that can be printed, this is placed in a file with the
+name |\jobname.dvi|. This is the file used by \tex print.
+
+In addition to these two files, \intex\ creates and uses files for special
+purposes such as building table of contents, lists of figures, or
+citation lists. These are only produced when some automatic feature of
+\intex\ is active. The complete list of these files is
+\bshortcomlist
+|\jobname.ctg|&created by the first |\cite| command used to accumulate the
+citation tags for a list of citations or references.\cr
+|\jobname.cfm|&{\bf NOT} created by \intex\ but by the user. This file holds
+the citation forms to be used when actually printing the citation in the list
+of citations. \cr
+|\jobname.dvi|&created by \tex\ for any (partly) successful \tex\ or \intex\
+job. This is used by \tex print.\cr
+|\jobname.fig|&created with a |\openlistfile{fig}| and used to accumulate
+the figure list.\cr
+|\jobname.lis|&created by \tex\ for all jobs. This contains the terminal
+messages and errors along with more detail on overfull boxes.\cr
+|\jobname.tag|&created by |\autonumberingon| and used to accumulate the tags
+and other special information necessary for symbolic references to sections,
+equations, etc in the text.\cr
+|\jobname.tbl|&created with a |\openlistfile{tbl}| and used to accumulate
+the table list.\cr
+|\jobname.toc|&created with a |\openlistfile{toc}| and used to accumulate
+the table of contents.\cr
+\eshortcomlist
+
+\shead{printing}{\tex print --- Printing your Document}
+After \tex\ has successfully produced your |.dvi| file it is submitted for
+printing, using the same example, by
+\begintt
+$dvialw psalm23 -b
+\endtt
+\intex\ makes the same irrational assumptions of drivers as other macro
+packages such as {\tt plain}, namely that the initial position
+on the page is at (1in, 1in). However these assumptions are not hard wired.
+\intex\ has two commands |\hprintoffset| and |\vprintoffset| which are
+given default values of 1in respectively. These may be changed at will.
+
+\beginblockmode
+\ext\@|\hprintoffset = <dimen>|
+\nbr
+This offsets, horizontally,
+\intex's natural margins, which would be flush with the top of
+the page by {\tt <dimen>}. The default is |\hprintoffset = 1in|
+
+\mbr\ext\@|\vprintoffset = <dimen>|
+\nbr
+This offsets, vertically,
+\intex's natural margins, which would be flush with the top of
+the page by {\tt <dimen>}. The default is |\vprintoffset = 1in|
+\endblockmode
+
+
+The {\tt -b} option prints the pages {\tt backwards}, really normal,
+order from the lowest number to the highest. A simple batch file can hide
+this messiness\footnote{\dagger}{For the INRS/BNR VAX }
+use {\tt HELP DVIALW to find a list of all the command line options.}.
+The most important command line option that you can use gives
+the ability to print only
+a few pages of the file. {\tt DVIALW} reports output pages as $[p\{l\}]$
+where $p$ is the {\it physical} page number and $l$ is the {\it logical}
+page number.
+The first example will print from {\it physical} page 6 to the end of the
+document. The second example from page 6 to page 12, and the third example
+from page 6 to page 12 in steps of 2, {\it ie} pages 6, 8, 10, and 12.
+
+
+\beginttverbatim
+$dvialw psalm23 -b -o6
+$dvialw psalm23 -b -o6:12
+$dvialw psalm23 -b -o6:12:2
+\endttverbatim
+
+
+\shead{finalversion}{The ``Final'' Version}
+\intex\ has number of features that are quite useful while putting together a
+document but which appear in the ``draft'' version but not in the ``final''
+version.
+The default for \intex\ is |\draftversion|. This puts all the tags in
+the margin and puts ``Draft Version:
+{\it date}''\footnote{\dagger}{version pr\'eliminaire: {\it date} en
+fran\c cais} at the bottom of the page. To create the final version the
+command |\finalversion| should be put at the very beginning of your document.
+
+
+\shead{stcomforms}{Command Forms}
+\nosheadbreak
+\dssshead{Creation and Termination Commands}
+\beginblockmode
+\pla\@|\bye|
+\nbr
+Cleanly terminates a file. Actual meaning is
+``|\par \vfill \supereject \end|''. However, it will also {\bf terminate}
+\tex\ processing if found in a {\it subdocument.} See Chapter~\ref{subdoc}
+for details.
+
+\mbr
+\ext\@|\done|
+\nbr
+This is the only way to terminate a document or subdocument in
+\intex\ without creating problems.
+Does everything |\bye| does along with checking whether certain groups are
+properly ended.
+
+\mbr
+\ext\@|\draftversion|
+\nbr
+This is the \intex\ default form. It prints margin notes when tags and
+autonumbering are used and puts a draft version note in the bottom margin. It
+is turned off using |\finalversion|.
+
+\mbr
+\pri\@|\end|
+\nbr
+Terminates a \tex\ job, even if it is in a subdocument. See
+Chapter~\ref{subdoc}.
+
+\mbr
+\ext\@|\englishversion \ehyph|
+\nbr
+This is the default for \intex. All the messages are in English, along with
+the various headings such as Chapter, and Appendix. Hyphenation is done by
+English rules, as is sentence and word spacing.
+\@|\ehyph| just invokes English hyphenation rules and does not affect messages.
+The other version that exists
+is |\versionfrancaise|
+
+\mbr
+\ext\@|\finalversion|
+\nbr
+This removes the marginal notes and the ``Draft Version'' note in the bottom
+margin. It should be used for the ``final'' copy.
+
+\mbr
+\ext\@|\hyphenation{<exceptions>}|
+\nbr
+This command is used to correct hyphenation of a specific word when \tex\
+does it incorrectly. It is generally needed only for English. Without \mtex,
+the word is entered into the hyphenation exception table. With \mtex, it is
+entered into the hyphenation table corresponding to the language that is
+active at the time the command is executed. For example, if English
+(|\language=0|) is active, then |\hyphenation{man-u-script}| will enter the
+word ``manuscript'' into the hyphenation exception table with possible
+hyphens at those places where there is a ``~-~''.
+
+\mbr
+\ext\@|\language [=] <integer>|
+\nbr
+Normally this command will not need to be used. \intex\ has |\language=0| for
+English and |\language=1| for French. Additional languages may be added. If
+\intex\ is used in conjunction \mtex, then |\language| is an integer
+parameter; otherwise, it is a |\count|. For details on \mtex, see ``A
+Multilingual \mtex''.
+
+
+\mbr
+\ext|\marginnotestrue \marginnotesfalse|
+\nbr
+If \@|\marginnotestrue|, then the margin notes will be produced. They will
+not be produced when \@|\marginnotesfalse|. These can be used to override the
+defaults in |\draftversion| and |\finalversion|.
+
+\mbr
+\ext\@|\versionfrancaise \fhyph|
+\nbr
+This will produce French titles, messages, and spacing. When used with
+Multi-lingual \mtex, it also produces French hyphenation.
+\@|\fhyph| just invokes French hyphenation rules and does not affect messages.
+It should be placed at the beginning of the
+file.
+\endblockmode
+\dssshead{\tex print Commands}
+These commands are dependent upon the actual print driver that is being
+used. For DVIALW the following command line switches are used:
+
+\beginblockmode
+\@|DVIALW Command line options|
+\nbr
+\endblockmode
+\bl
+\li -b : Print the file in normal order. The default is to print the file
+ beginning with the last page.
+
+\li -c\# : Select the number of copies to print ... each page is printed
+ \# times. eg -c42 will print 42 copies of each page.
+
+\li -h : Select landscape printing.
+
+\li -i : Select Legal printing.
+
+\li -o : Select output page range ... all numbers are the "physical" page
+ numbers, not the logical pages. DVIALW reports page output in the
+ format of [p{l}] where where p is the "physical' page number and
+ l is the "logical' page number.
+
+ -o\# specifies start page
+
+ -o\#:\# specifies start page and end page
+
+ -o\#:\#:\# specifies start page, end page and step
+
+\li -r : Select manual feed. The laserwriter will wait for the insertion of
+ manual pages.
+
+\li -x\#{\tt <}dim{\tt >} : Set left margin. -x0in sets the left margin to 0in.
+
+\li -y\#{\tt <}dim{\tt >} : Set top margin. -y0in sets the top margin to 0in.
+\el
+\ejectpage
+\marginnotesfalse
+\done
+
diff --git a/macros/inrstex/inrsdoc/thsubdoc.tex b/macros/inrstex/inrsdoc/thsubdoc.tex
new file mode 100644
index 0000000000..88c2933a46
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thsubdoc.tex
@@ -0,0 +1,157 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{subdoc}
+
+\def\cqu{\cquote{Divide et Impera}{Ancient Roman political maxim}
+ \cquote{For example, when the author prepared this manual, he did
+ one chapter at a time,}{The \TeX book, Donald~E.~Knuth}
+}
+
+\chapterhead{subdoc}{\tex ING\cr PARTS\cr of DOCUMENTS}
+\intex\ allows for parts of documents,\footnote{\dagger}{\intex\ calls these
+{\it subdocuments}.}
+either complete sections or chapters
+to be processed individually for initial checking before \tex ing the entier
+document. The individual files can be used {\bf without change} in the final
+processing. In fact it is possible to \tex\ sections, combine them into a
+chapter, and then combine the chapters into a final document. With care, even
+parts of separate documents could be combined.
+
+The system works best with the automatic numbering and creation features of
+\intex\ but these are not required. With care and a little luck, it is
+possible to re \tex\ a section of the ``final'' version without redoing the
+complete document.
+
+It is also possible to increase to automatically save the status of a
+subdocument. This feature is not an integral part of \intex\ but an example
+used for this book is given in Section~\ref{subauto}.
+
+
+\shead{subdoccomlist}{Command List}
+\line{
+\ext|\inputsubdocument|\hss
+\ext|\following|\hss
+\ext|\subdocumentmacros|
+}
+
+\shead{subdocformat}{Subdocument Forms}
+The form required for creating a subdocument and \tex ing it is quite simple.
+It should be of this form:
+\begintt
+\subdocumentmacros{<macro list>}
+<text>
+\done
+\endtt
+The |<macro list>| contains the information needed to \tex\ this part of the
+document by itself. Only {\bf one} |\subdocumentmacros| command is allowed in
+a subdocument. This |<macro list>| is executed when the subdocument is
+processed by itself and {\bf completely} ignored when it is processed as part
+of a larger document. A typical |<macro list>| for a chapter of this book
+was
+\begintt
+\input helphdr
+\following\chnum = 28
+\pagenumber = 88
+\endtt
+This list contained {\bf all} the special macros for the book in the file
+|helphdr.tex|. Since the \tex ing was being done on a chapter basis, the
+|\following\chnum| sets the next chapter
+number, and the |\pagenumber| set the
+pagenumber. If this were the third section in a chapter, then
+|\following\shnum = 3|, might be also included. If any special numbers ought to be
+set, they should be also inserted.
+
+It should be emphasized that these numbers affect the subdocument when it is
+being processed by itself only. The normal \intex\ autonumbering will override
+them when it is being inserted as a subdocument.
+To insert a subdocument in another, use
+\begintt
+\inputsubdocument{<filename>}
+\endtt
+The |\done| in the subdocument will {\bf not} terminate the
+processing. However, a |\bye| or |\end| will.
+
+\shead{subauto}{Automatic Saving of Status of a Subdocument}
+The commands given below were intended to save the status of each chapter. It
+was assumed that a chapter had a |<tag>| and that the status was saved in a
+command that had the same name as that tag. The commands are stored in a file
+called |status.tex|. At the top of each subdocument the following two
+commands are inserted:
+\begintt
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{subdoc} % subdoc is the <tag> for this chapter
+\endtt
+The first line essentially checks to see if the |status| definitions have
+been inputted. If they have not, they are brought in. The |status.tex|
+defines |\chcode{<tag>}| so it must be input before |\chcode| is called.
+The actual |status| definitions follow. They are probably only understandable
+to \tex\ writers and should be skipped by novices.
+\begingroup\eightpoint
+\begintt
+% Status commands for each chapter.
+% these write out the chapter code, page number, and previous chapter number.
+
+\newwrite\docstatus % gets new output file
+\def\openstatusfile{\immediate\openout\docstatus=\jobname.sta}
+ % this is called in the outer master program
+\def\closestatusfile{\closeout\docstatus}
+\def\writestatus#1{\immediate\write
+ \docstatus{\string\chstatus//#1//\the\chnum//\the\pageno//}}
+ % this writes out the actual string when the page is output
+\def\chstatus//#1//#2//#3//{\expandafter\def\csname#1:\endcsname{\chnum=#2
+ \pagenumber=#3}}
+ % this creates a command with the name #1 and sets values for
+ % the chapter number and page number ... the only status of
+ % interest here.
+\def\getstatus#1{\csname#1:\endcsname}
+ % executes the status with name #1
+\def\chcode#1{\subdocumentmacros{\input helphdr \bookstyle % macros/style
+ \input masth.sta % status file name
+ \autonumberingon % opens local tag file
+ \input masth.tag % master tag file
+ \getstatus{#1}
+ \def\writestatus##1{}%disables writestatus
+ }
+ \writestatus{#1}} % will write status unless disabled
+\endtt
+\endgroup
+Note that this imbeds a |\subdocumentmacros| inside the |\chcode|. The status
+is written unless |\subdocumentmacros| is actually executed.
+
+
+
+\shead{subdocstyle}{Command Forms}
+\beginblockmode
+\ext\@|\inputsubdocument{<file name>}|
+\nbr
+This command inserts the subdocument into the present part of the document.
+It encloses the subdocument in a group so that any changes to variables or
+commands made in that subdocument, unless they are specifically |\global|,
+will {\bf not} affect the rest of the document. It disables the effect of
+|\done|, but not |\bye| or |\end|. It ignores everything that is inside the
+|\subdocumentmacros| command.
+
+\mbr
+\ext\@|\following\...hnum|
+\nbr
+The |\chead| and various |\s..head| commands increment their respective
+number upon entering the command. The |\following| command automatically
+compensates for this. So |\following\chnum = 4| {\bf before} the
+|\chead|, means that the chapter beginning with the next |\chead| will
+be 4
+and not 5. The same command also works for |\shnum|, |\sshnum| and |\ssshnum|.
+
+\mbr
+\ext\@|\subdocumentmacros{<macros for subdocument>}|
+\nbr
+This is the means of introducing information to the subdocument that is
+needed to reasonably process the subdocument,
+but that might create disaster, or \tex\
+overload if read in more than once. A single subdocument may have only {\bf
+one} |\subdocumentmacros| command. Typical information included in this macro
+would be section numbers, chapter numbers, tag files, or citation files. No
+|\outer| command is allowed.
+\endblockmode
+\ejectpage
+
+\done \ No newline at end of file
diff --git a/macros/inrstex/inrsdoc/thtoc.tex b/macros/inrstex/inrsdoc/thtoc.tex
new file mode 100644
index 0000000000..301c5a4e04
--- /dev/null
+++ b/macros/inrstex/inrsdoc/thtoc.tex
@@ -0,0 +1,323 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{toc}
+
+\def\cqu{\line{}\vfill\vbox{\hsize 3.2in \rightskip=0pt \leftskip=0pt
+ \centerline{\sheadfont List of Figures}
+ \bigskip
+ \makefiglist\bigskip
+ This is given by \par
+ \def\2{\char'173}\def\3{\char'175} % lazy
+ \tt
+ \1centerline\2\1sheadfont List of Figures\3\par
+ \1bigskip\par
+ \1makefiglist\par
+ }
+}
+
+\chapterhead{toc}{TABLES\cr of CONTENTS\cr and FIGURES}
+\vskip -2.8ex
+\intex\ is able to generate tables of contents, figures, and tables
+automatically. It also has general capabilities to create files that can be
+used to generate other lists that involve page numbers.
+
+\shead{toccomlist}{Command List}
+\beginthreecolumn
+\ext|\chtoc|
+\ext|\chtocout|
+\ext|\dssshtoc|
+\ext|\dssshtocout|
+\ext|\figtoc|
+\ext|\figtocout|
+\ext|\inputfigfiles|
+\ext|\inputtblfiles|
+\ext|\inputtocfiles|
+\ext|\intdssshtoc|
+\ext|\intssshtoc|
+\ext|\makefiglist|
+\ext|\maketbllist|
+\ext|\maketoclist|
+\ext|\newtocfile|
+\ext|\openlistfile|
+\ext|\prtoc|
+\ext|\prtocout|
+\ext|\shtoc|
+\ext|\shtocout|
+\ext|\sshtoc|
+\ext|\ssshtoc|
+\ext|\ssshtocout|
+\ext|\tbltoc|
+\ext|\tbltocout|
+\ext|\tocbox|
+\ext|\tocfill|
+\ext|\writelistfile|
+\endthreecolumn
+
+\shead{toclists}{Making Lists of Contents, Figures, Tables}
+The distinguishing feature of |list| files in \intex\ is that they contain
+a combination of commands, section or figure numbers, and page numbers.
+\intex\ creates these files by the command \@|\openlistfile{<file extension>}|
+and gives them the name |\jobname.<file extension>|.
+This command effectively initializes the building process for the particular
+list.
+|<file extension>| must
+be one to three characters. The file extensions for tables of contents,
+figures, and tables are |.toc|, |.fig|, and |.tbl|.
+
+The command |\writelistfile| is used to actually put information into the
+file and the |\make<file extension>list| is used to bring it back in.
+Currently |\maketoclist|, |\makefiglist|, and |\maketbllist| are defined.
+
+These files will contain a list of commands, in the correct order for
+eventually making the actual list. A typical command, in this case generated
+by the |\chead| at the beginning of the chapter would be
+
+|\chtoc{<chapter number>}{<chapter title>}{<page number>}|
+
+Actually the |\chead| command does this in two steps. The actual form
+executed inside the |\chead| is the command |\chtocout|. This is defaulted in
+{\tt inrsdef.tex} to be |\def\chtocout{\string\chtoc}|. A modification of the
+definition of |\chtocout| will change the initial command string that is
+written to the |.toc| file. Theoretically, a different string could be
+written for each chapter if required. This same facility exists for all the
+|.toc| output forms.
+
+\intex\ has already defined all of the |\<type>toc| commands listed in
+Section \ref{toccomlist}. However, all of these commands may be redefined for
+different formats. For instance \intex\ has defined |\dssstoc| and |\ssstoc|
+to be effectively null. This means that subsubsections and diminished
+subsections will not be automatically listed in the table of contents
+although the |\ssstoc| and |\dssstoc| commands are in the |.toc| file.
+
+If a |.toc| file is open, whether or not |autonumbering| is on, the |\chead|,
+|\shead|, |\sshead|, |\ssshead|, |\dssshead|, and |\preludehead| commands write to
+the |.toc| file. The |\figure| command writes a |\figtoc| command to the
+|.fig| file and the |\table| command writes a |\tbltoc| command to the |.tbl|
+file.
+
+Creating, writing, and inputting a new list file is not terribly difficult
+but uses moderately advanced macro techniques. Most of the recipe is given
+in the description of |\writelistfile| below. The rest can be determined by
+examination of |\makefiglist| and |\inputfigfiles|.
+
+\shead{toccomforms}{Command Forms}
+\beginblockmode
+\ext\@|\chtoc{<number>}{<title>}{<page number>}|
+\nbr
+This creates a chapter entry in the table of contents as given in the table
+of contents for this book.
+
+\mbr
+\ext\@|\chtocout|
+\nbr
+Its default definition is
+|\def\chtocout{\string\chtoc}| and is
+the command executed in a |\chead| while producing a |.toc| entry.
+
+
+\mbr
+\ext\@|\dssshtoc{<number>}{<title>}{<page number>}|
+\nbr
+This would create table of contents entry for a diminished section heading.
+Although |\dssshtoc| commands are written to the |\jobname.toc| file, they
+are defined as null in \intex. If you want them to appear in a table of
+contents place the command |\let\dssshtoc = \intdssshtoc| in the file just
+before the |\maketoclist| is called. \@|\intdssshtoc| is |\dssshtoc| in
+disguise.
+
+\mbr
+\ext\@|\dssshtocout|
+\nbr
+Its default definition is
+|\def\dssshtocout{\string\dssshtoc}| and is
+the command executed in a |\dssshead| while producing a |.toc| entry.
+
+
+\mbr
+\ext\@|\figtoc{<number>}{<title>}{<page number>}|
+\nbr
+This would create table of figures entry for a figure.
+\intex\ makes it identical to |\shtoc|
+
+\mbr
+\ext\@|\figtocout|
+\nbr
+Its default definition is
+|\def\figtocout{\string\figtoc}| and is
+the command executed in a |\figureform| or
+|\figureinsert| while producing a |.toc| entry.
+
+
+\mbr
+\ext\@|\inputfigfiles|
+\nbr
+This is a token list, including the |\inputwithcheck| of the files that are
+used to make the figure list. \intex\ default is
+|\inputwithcheck{\jobname.fig}|. |\the\inputfigfiles| will actually cause the
+token list to be executed, {\it ie} in the default case the |\jobname.fig|
+will be read in.
+
+
+\mbr
+\ext\@|\inputtblfiles|
+\nbr
+This is a token list, including the |\inputwithcheck| of the files that are
+used to make the table list. \intex\ default is
+|\inputwithcheck{\jobname.tbl}|. |\the\inputtblfiles| will actually cause the
+token list to be executed, {\it ie} in the default case the |\jobname.tbl|
+will be read in.
+
+\mbr
+\ext\@|\inputtocfiles|
+\nbr
+This is a token list, including the |\inputwithcheck| of the files that are
+used to make the figure list. \intex\ default is
+|\inputwithcheck{\newtocfile}|. If a |\jobname.toc| file is open,
+|\newtocfile| becomes the {\bf previous} version. If it is not, it is the
+most recent version.
+
+
+\mbr
+\ext\@|\makefiglist|
+\nbr
+This executes |\the\inputfigfiles| which inserts
+the list of |\figtoc| commands into the text.
+All required |\beginlist ... \endlist| commands should
+be put around it.
+
+\mbr
+\ext\@|\maketbllist|
+\nbr
+This executes |\the\inputtblfiles| which inserts
+the list of |\tbltoc| commands into the text.
+All required |\beginlist ... \endlist| commands should
+be put around it.
+
+\mbr
+\ext\@|\maketoclist|
+\nbr
+This inserts the list of |\<type>toc| commands into the text by executing
+|\the\inputtocfiles|. All required |\beginlist ... \endlist| commands should
+be put around it.
+
+\mbr
+\ext\@|\newtocfile|
+\nbr
+If a |\jobname.toc| file is open,
+|\newtocfile| becomes the {\bf previous} version. If it is not, it is the
+most recent version. This allows for the table of contents to contain a
+reference to itself.
+
+\mbr
+\ext\@|\prtoc{<title>}{<page number>}|
+\nbr
+This is the command form written into the |.toc| file by |\preludeheader|.
+The output format may be seen by looking at the {\it Preface} listing in the
+Table of Contents for this book.
+
+\mbr
+\ext\@|\prtocout|
+\nbr
+Its default definition is
+|\def\prtocout{\string\prtoc}| and is
+the command executed in a |\preludehead|
+while producing a |.toc| entry.
+
+
+\mbr
+\ext\@|\shtoc{<number>}{<title>}{<page number>}|
+\nbr
+\ext\@|\sshtoc{<number>}{<title>}{<page number>}|
+\nbr
+\ext\@|\ssshtoc{<number>}{<title>}{<page number>}|
+\nbr
+These three commands are written by the |\shead|, |\sshead| and |\ssshead| to
+the |\jobname.toc| file. Examples of the default \intex\ format
+for |\shtoc| may be seen in the Table of Contents.
+Although |\ssshtoc| commands are written to the |\jobname.toc| file, they
+are defined as null in \intex. If you want them to appear in a table of
+contents place the command |\let\ssshtoc = \intssshtoc| in the file just
+before the |\maketoclist| is called. \@|\intssshtoc| is |\ssshtoc| in
+disguise.
+
+\mbr
+\ext\@|\shtocout|
+\nbr
+\ext\@|\sshtocout|
+\nbr
+\ext\@|\ssshtocout|
+\nbr
+These three commands are executed by the |\shead|, |\sshead| and |\ssshead|
+when writing to
+the |\jobname.toc| file. The defaults are defined in {\tt inrsdef.tex} as
+\begintt
+\def\shtocout{\string\shtoc}
+\def\sshtocout{\string\sshtoc}
+\def\ssshtocout{\string\ssshtoc}
+\endtt
+
+\mbr
+\ext\@|\tbltoc<number>}{<title>}{<page number>}|
+\nbr
+This would create table of figures entry for a figure.
+\intex\ makes it identical to |\shtoc|
+
+\mbr
+\ext\@|\tbltocout|
+\nbr
+Its default definition is
+|\def\tbltocout{\string\tbltoc}| and is
+the command executed in a |\tableinsert| or |\tableform|
+while producing a |.toc| entry.
+
+\mbr
+\ext\@|\tocbox{<indent>}{<number>}{<title>}{<pagenumber>}|
+\nbr
+This is the general form for producing an entry for a table of contents list.
+|<indent>| is a dimension and is the indentation from the left margin;
+|<number>| is the number form; |<title>| is the title of the
+item; and |<pagenumber>| is where it occurred. There is no interitem spacing
+as part of the definition. Thus
+$$
+\tocbox{4em}{3.7.9}{This is an incredibly long title to show you
+ what happens when there is more than one line}{375}
+$$
+was produced by
+\begintt
+\tocbox{4em}{3.7.9}{This is an incredibly long title to show you
+ what happens when there is more than one line}{375}
+\endtt
+
+\mbr
+\ext\@|\tocfill|
+\nbr
+This creates the dots across the page in the |\..toc| macros. It is useful
+for designing stylistically consistent new ones.
+
+\mbr
+\ext\@|\writelistfile{<file extension}{\string\..toc}{<number>}{<arg>}|
+\nbr
+This is the basic command for writing to a |list| file. The |\string|
+allows the |\..toc| to be written into the file without ever being executed.
+|{<number>}| is expanded before it is written out while |{<arg>}| is not.
+|\writelistfile| adds one more argument, namely
+|{<page number>}|, to this command before actually writing it to the file.
+The complete command written is
+\begintt
+\..toc{<number>}{<arg>}{<page number>}
+\endtt
+An example for the first chapter of this book is
+\begintt
+\chtoc {Chapter 1}{\tex \cr and\cr INRS\tex }{1}
+\endtt
+Note that |\tex| is not expanded.
+An examination of any of the |list| files created by \intex\ will show some
+more examples.
+This command should be used whenever a write to a |list| file is required. It
+is used by \intex\ in all of the section and chapter heads, along with
+|\figure| and |\table|.
+
+\endblockmode
+\ejectpage
+
+\done \ No newline at end of file