Commits

Victor Eijkhout  committed e9cc874

cleaning up the index

  • Participants
  • Parent commits c60d80b

Comments (0)

Files changed (7)

 copyright Victor Eijkhout 1991-2012,
 released under the GNU Free Documentation License
 
-The whole source is contained in the files 
+Printed copies of this book are available on lulu.com
+see: http://www.eijkhout.net/texbytopic/texbytopic.html
+
+The source of the book is contained in the files 
   TeXbyTopic.tex
   figflow.tex
   glossary.tex

File TeXbyTopic.idx

 \indexentry{line! end|hyperpage}{29}
 \indexentry{machine independence|hyperpage}{29}
 \indexentry{endlinechar@{\tt  \char `\\endlinechar}@|hyperpage}{30}
-\indexentry{category codes|hyperpage}{30}
+\indexentry{category code|hyperpage}{30}
+\indexentry{category!0|hyperpage}{30}
+\indexentry{category!1|hyperpage}{30}
+\indexentry{category!2|hyperpage}{30}
+\indexentry{category!3|hyperpage}{30}
+\indexentry{category!4|hyperpage}{30}
+\indexentry{category!5|hyperpage}{30}
+\indexentry{category!6|hyperpage}{30}
+\indexentry{category!7|hyperpage}{30}
+\indexentry{category!8|hyperpage}{31}
+\indexentry{category!9|hyperpage}{31}
+\indexentry{category!10|hyperpage}{31}
+\indexentry{category!11|hyperpage}{31}
+\indexentry{category!12|hyperpage}{31}
+\indexentry{category!13|hyperpage}{31}
+\indexentry{category!14|hyperpage}{31}
+\indexentry{category!15|hyperpage}{31}
 \indexentry{catcode@{\tt  \char `\\catcode}@|hyperpage}{31}
 \indexentry{active@{\tt  \char `\\active}@|hyperpage}{31}
-\indexentry{control! symbol|hyperpage}{32}
-\indexentry{control! sequence|hyperpage}{32}
+\indexentry{category!16|hyperpage}{31}
+\indexentry{category!0|hyperpage}{32}
+\indexentry{category!11|hyperpage}{32}
+\indexentry{control!symbol|hyperpage}{32}
+\indexentry{control!sequence|hyperpage}{32}
 \indexentry{\char 32@{\tt  \char `\\\char 32}@|hyperpage}{32}
-\indexentry{control! space|hyperpage}{32}
-\indexentry{state! internal|hyperpage}{32}
-\indexentry{\char 94\char 94\ replacement|hyperpage}{33}
-\indexentry{character !escape|hyperpage}{33}
-\indexentry{character !parameter|hyperpage}{34}
-\indexentry{character !space|hyperpage}{34}
-\indexentry{character !escape|hyperpage}{35}
+\indexentry{space!control|hyperpage}{32}
+\indexentry{category!6|hyperpage}{32}
+\indexentry{states!internal|hyperpage}{32}
+\indexentry{category!10|hyperpage}{32}
+\indexentry{\char94\char94\ replacement|hyperpage}{33}
+\indexentry{category!7|hyperpage}{33}
+\indexentry{category!15|hyperpage}{33}
+\indexentry{category!7|hyperpage}{33}
+\indexentry{character!escape|hyperpage}{33}
+\indexentry{category!11|hyperpage}{33}
+\indexentry{category!10|hyperpage}{33}
+\indexentry{character!parameter|hyperpage}{34}
+\indexentry{{\tt  !}character !escape|hyperpage}{35}
 \indexentry{par@{\tt  \char `\\par}@|hyperpage}{36}
-\indexentry{line !empty|hyperpage}{36}
-\indexentry{token !space|hyperpage}{36}
-\indexentry{space! optional |hyperpage}{37}
+\indexentry{line!empty|hyperpage}{36}
+\indexentry{character!space|hyperpage}{36}
+\indexentry{token!space|hyperpage}{36}
+\indexentry{spaces!optional|hyperpage}{37}
 \indexentry{ignorespaces@{\tt  \char `\\ignorespaces}@|hyperpage}{37}
+\indexentry{category!12|hyperpage}{38}
+\indexentry{category!10|hyperpage}{38}
 \indexentry{space! token|hyperpage}{38}
-\indexentry{space !funny|hyperpage}{38}
+\indexentry{spaces!funny|hyperpage}{38}
 \indexentry{\char 32@{\tt  \char `\\\char 32}@|hyperpage}{39}
-\indexentry{line! end|hyperpage}{39}
+\indexentry{line!terminator|hyperpage}{39}
+\indexentry{category!5|hyperpage}{39}
 \indexentry{obeylines@{\tt  \char `\\obeylines}@|hyperpage}{40}
-\indexentry{character! codes|hyperpage}{45}
+\indexentry{character!codes|hyperpage}{45}
 \indexentry{char@{\tt  \char `\\char}@|hyperpage}{46}
 \indexentry{chardef@{\tt  \char `\\chardef}@|hyperpage}{46}
-\indexentry{character !implicit|hyperpage}{47}
 \indexentry{let@{\tt  \char `\\let}@|hyperpage}{47}
+\indexentry{character!implicit|hyperpage}{47}
+\indexentry{accents|hyperpage}{48}
 \indexentry{accent@{\tt  \char `\\accent}@|hyperpage}{48}
-\indexentry{accents|hyperpage}{48}
+\indexentry{category!11|hyperpage}{48}
+\indexentry{category!12|hyperpage}{48}
 \indexentry{c@{\tt  \char `\\c}@|hyperpage}{49}
-\indexentry{uppercase|hyperpage}{50}
-\indexentry{lowercase|hyperpage}{50}
+\indexentry{slant!per point|hyperpage}{49}
+\indexentry{category!16|hyperpage}{49}
 \indexentry{lccode@{\tt  \char `\\lccode}@|hyperpage}{50}
 \indexentry{uccode@{\tt  \char `\\uccode}@|hyperpage}{50}
+\indexentry{uppercase!code|hyperpage}{50}
+\indexentry{code!uppercase|hyperindexformat{\see{uppercase, code}}}{50}
+\indexentry{lowercase!code|hyperpage}{50}
+\indexentry{code!lowercase|hyperindexformat{\see{lowercase, code}}}{50}
 \indexentry{uppercase@{\tt  \char `\\uppercase}@|hyperpage}{50}
 \indexentry{lowercase@{\tt  \char `\\lowercase}@|hyperpage}{50}
 \indexentry{codenames|hyperpage}{51}
 \indexentry{string@{\tt  \char `\\string}@|hyperpage}{51}
 \indexentry{escapechar@{\tt  \char `\\escapechar}@|hyperpage}{52}
+\indexentry{category!12|hyperpage}{52}
+\indexentry{category!10|hyperpage}{52}
 \indexentry{fonts|hyperpage}{53}
 \indexentry{font@{\tt  \char `\\font}@|hyperpage}{54}
 \indexentry{fontname@{\tt  \char `\\fontname}@|hyperpage}{54}
+\indexentry{category!12|hyperpage}{55}
+\indexentry{category!10|hyperpage}{55}
 \indexentry{nullfont@{\tt  \char `\\nullfont}@|hyperpage}{55}
-\indexentry{{\tt  tfm} files|hyperpage}{55}
+\indexentry{\n{tfm} files|hyperpage}{55}
 \indexentry{fontdimen@{\tt  \char `\\fontdimen}@|hyperpage}{55}
-\indexentry{font! dimensions|hyperpage}{55}
+\indexentry{font!dimensions|hyperpage}{55}
 \indexentry{kerning|hyperpage}{56}
 \indexentry{italic correction|hyperpage}{56}
 \indexentry{/@{\tt  \char `\\/}@|hyperpage}{56}
+\indexentry{box!bounding|hyperpage}{56}
 \indexentry{ligatures|hyperpage}{57}
 \indexentry{noboundary@{\tt  \char `\\noboundary}@|hyperpage}{57}
-\indexentry{box|hyperpage}{59}
-\indexentry{box! registers|hyperpage}{60}
+\indexentry{boxes|(hyperpage}{59}
 \indexentry{newbox@{\tt  \char `\\newbox}@|hyperpage}{60}
 \indexentry{setbox@{\tt  \char `\\setbox}@|hyperpage}{61}
 \indexentry{box@{\tt  \char `\\box}@|hyperpage}{61}
 \indexentry{copy@{\tt  \char `\\copy}@|hyperpage}{61}
 \indexentry{lastbox@{\tt  \char `\\lastbox}@|hyperpage}{61}
 \indexentry{hbox@{\tt  \char `\\hbox}@|hyperpage}{62}
-\indexentry{box! dimensions|hyperpage}{62}
 \indexentry{vbox@{\tt  \char `\\vbox}@|hyperpage}{62}
 \indexentry{vtop@{\tt  \char `\\vtop}@|hyperpage}{62}
 \indexentry{moveleft@{\tt  \char `\\moveleft}@|hyperpage}{62}
 \indexentry{moveright@{\tt  \char `\\moveright}@|hyperpage}{65}
 \indexentry{llap@{\tt  \char `\\llap}@|hyperpage}{66}
 \indexentry{rlap@{\tt  \char `\\rlap}@|hyperpage}{66}
-\indexentry{box !overfull|hyperpage}{67}
-\indexentry{box !underfull|hyperpage}{67}
 \indexentry{badness@{\tt  \char `\\badness}@|hyperpage}{67}
 \indexentry{TeX, version 3@\csname TeX\endcsname , version 3|hyperpage}{67}
 \indexentry{hbadness@{\tt  \char `\\hbadness}@|hyperpage}{67}
 \indexentry{hfuzz@{\tt  \char `\\hfuzz}@|hyperpage}{67}
 \indexentry{vfuzz@{\tt  \char `\\vfuzz}@|hyperpage}{67}
 \indexentry{overfullrule@{\tt  \char `\\overfullrule}@|hyperpage}{67}
+\indexentry{category!1|hyperpage}{67}
+\indexentry{category!2|hyperpage}{67}
 \indexentry{everyhbox@{\tt  \char `\\everyhbox}@|hyperpage}{67}
 \indexentry{everyvbox@{\tt  \char `\\everyvbox}@|hyperpage}{67}
 \indexentry{setbox@{\tt  \char `\\setbox}@|hyperpage}{67}
 \indexentry{afterassignment@{\tt  \char `\\afterassignment}@|hyperpage}{67}
 \indexentry{unhbox@{\tt  \char `\\unhbox}@|hyperpage}{68}
-\indexentry{box! unboxing|hyperpage}{68}
 \indexentry{unvbox@{\tt  \char `\\unvbox}@|hyperpage}{68}
 \indexentry{unhcopy@{\tt  \char `\\unhcopy}@|hyperpage}{68}
 \indexentry{unvcopy@{\tt  \char `\\unvcopy}@|hyperpage}{68}
 \indexentry{leavevmode@{\tt  \char `\\leavevmode}@|hyperpage}{69}
 \indexentry{boxes !text in|hyperpage}{69}
+\indexentry{boxes|)}{72}
 \indexentry{mode|hyperpage}{73}
-\indexentry{mode !horizontal|hyperpage}{73}
-\indexentry{list !horizontal|hyperpage}{73}
+\indexentry{mode!horizontal|hyperpage}{73}
+\indexentry{list!horizontal|hyperpage}{73}
 \indexentry{discardable items|hyperpage}{74}
-\indexentry{mode !vertical|hyperpage}{74}
-\indexentry{list !vertical|hyperpage}{74}
-\indexentry{horizontal commands|hyperpage}{74}
-\indexentry{vertical! commands|hyperpage}{75}
-\indexentry{mode !restricted|hyperpage}{75}
-\indexentry{mode !internal|hyperpage}{75}
+\indexentry{mode!vertical|hyperpage}{74}
+\indexentry{list!vertical|hyperpage}{74}
+\indexentry{commands!horizontal|hyperpage}{74}
+\indexentry{commands!vertical|hyperpage}{75}
+\indexentry{mode!restricted horizontal|hyperpage}{75}
+\indexentry{mode!internal vertical|hyperpage}{75}
 \indexentry{migrating material|hyperpage}{77}
 \indexentry{vadjust@{\tt  \char `\\vadjust}@|hyperpage}{77}
 \indexentry{showlists@{\tt  \char `\\showlists}@|hyperpage}{77}
 \indexentry{numbers|hyperpage}{79}
-\indexentry{integers|hyperpage}{79}
-\indexentry{number! conversion|hyperpage}{82}
-\indexentry{number!roman numerals|hyperpage}{82}
+\indexentry{integer|hyperpage}{79}
+\indexentry{category!11|hyperpage}{80}
+\indexentry{category!12|hyperpage}{80}
+\indexentry{category!12|hyperpage}{80}
+\indexentry{point!scaled|hyperpage}{82}
+\indexentry{number!conversion|hyperpage}{82}
 \indexentry{number@{\tt  \char `\\number}@|hyperpage}{82}
 \indexentry{romannumeral@{\tt  \char `\\romannumeral}@|hyperpage}{82}
+\indexentry{roman numerals|hyperpage}{83}
+\indexentry{category!12|hyperpage}{83}
 \indexentry{count@{\tt  \char `\\count}@|hyperpage}{83}
 \indexentry{countdef@{\tt  \char `\\countdef}@|hyperpage}{83}
 \indexentry{newcount@{\tt  \char `\\newcount}@|hyperpage}{83}
 \indexentry{advance@{\tt  \char `\\advance}@|hyperpage}{84}
 \indexentry{multiply@{\tt  \char `\\multiply}@|hyperpage}{84}
 \indexentry{divide@{\tt  \char `\\divide}@|hyperpage}{84}
-\indexentry{arithmetic! floating-point|hyperpage}{84}
-\indexentry{arithmetic! fixed-point|hyperpage}{84}
+\indexentry{floating-point!arithmetic|hyperpage}{84}
+\indexentry{fixed-point!arithmetic|hyperpage}{84}
+\indexentry{category!12|hyperpage}{85}
 \indexentry{glue|hyperpage}{87}
 \indexentry{hfil@{\tt  \char `\unskip {\@@par }\let \reserved@d =*\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \GenericError  {               }{LaTeX Error: Something's wrong--perhaps a missing \item }{See the LaTeX manual or LaTeX Companion for explanation.}{Try typing  <return>  to proceed.\MessageBreak If that doesn't work, type  X <return>  to quit.}\let \reserved@d =[\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \ignorespaces \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip \relax \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip h\relax fil}@|hyperpage}{87}
 \indexentry{hfilneg@{\tt  \char `\unskip {\@@par }\let \reserved@d =*\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \GenericError  {               }{LaTeX Error: Something's wrong--perhaps a missing \item }{See the LaTeX manual or LaTeX Companion for explanation.}{Try typing  <return>  to proceed.\MessageBreak If that doesn't work, type  X <return>  to quit.}\let \reserved@d =[\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \ignorespaces \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip \relax \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip h\relax filneg}@|hyperpage}{87}
 \indexentry{newskip@{\tt  \char `\\newskip}@|hyperpage}{90}
 \indexentry{advance@{\tt  \char `\\advance}@|hyperpage}{90}
 \indexentry{glue!arithmetic on|hyperpage}{90}
-\indexentry{arithmetic! on glue|hyperpage}{90}
+\indexentry{arithmetic! on glue|hyperindexformat{\see{glue, arithmetic on}}}{90}
 \indexentry{multiply@{\tt  \char `\\multiply}@|hyperpage}{91}
 \indexentry{divide@{\tt  \char `\\divide}@|hyperpage}{91}
 \indexentry{units of measurement|hyperpage}{91}
+\indexentry{category!12|hyperpage}{92}
 \indexentry{vskip@{\tt  \char `\\vskip}@|hyperpage}{92}
 \indexentry{hskip@{\tt  \char `\\hskip}@|hyperpage}{92}
 \indexentry{stretch|hyperpage}{93}
 \indexentry{shrink|hyperpage}{93}
+\indexentry{stretch|hyperpage}{93}
+\indexentry{shrink|hyperpage}{93}
 \indexentry{glue!stretch component of|hyperpage}{93}
-\indexentry{glue!shrink component of|hyperpage}{93}
-\indexentry{glue! setting|hyperpage}{94}
+\indexentry{glue!shrink     component of|hyperpage}{93}
+\indexentry{glue!setting|hyperpage}{94}
+\indexentry{badness|hyperpage}{94}
 \indexentry{badness! calculation|hyperpage}{94}
 \indexentry{hglue@{\tt  \char `\\hglue}@|hyperpage}{95}
 \indexentry{vglue@{\tt  \char `\\vglue}@|hyperpage}{95}
 \indexentry{rules|hyperpage}{99}
 \indexentry{hrule@{\tt  \char `\\hrule}@|hyperpage}{99}
 \indexentry{vrule@{\tt  \char `\\vrule}@|hyperpage}{99}
-\indexentry{leaders|hyperpage}{100}
+\indexentry{leaders|hyperpage}{101}
 \indexentry{leaders !rule|hyperpage}{101}
 \indexentry{leaders@{\tt  \char `\\leaders}@|hyperpage}{101}
 \indexentry{cleaders@{\tt  \char `\\cleaders}@|hyperpage}{102}
 \indexentry{grouping|hyperpage}{105}
 \indexentry{save stack|hyperpage}{105}
 \indexentry{global@{\tt  \char `\\global}@|hyperpage}{106}
-\indexentry{statements !local|hyperpage}{106}
-\indexentry{statements !global|hyperpage}{106}
-\indexentry{local statements|hyperpage}{106}
-\indexentry{global statements|hyperpage}{106}
 \indexentry{globaldefs@{\tt  \char `\\globaldefs}@|hyperpage}{106}
-\indexentry{delimiter! group|hyperpage}{106}
+\indexentry{group!delimiters|hyperpage}{106}
+\indexentry{category!1|hyperpage}{106}
+\indexentry{category!2|hyperpage}{106}
+\indexentry{braces!explicit|hyperpage}{106}
+\indexentry{braces!implicit|hyperpage}{106}
 \indexentry{begingroup@{\tt  \char `\\begingroup}@|hyperpage}{106}
 \indexentry{endgroup@{\tt  \char `\\endgroup}@|hyperpage}{106}
 \indexentry{bgroup@{\tt  \char `\\bgroup}@|hyperpage}{106}
 \indexentry{egroup@{\tt  \char `\\egroup}@|hyperpage}{106}
-\indexentry{braces|hyperpage}{107}
+\indexentry{category!2|hyperpage}{107}
+\indexentry{braces|(hyperpage}{107}
 \indexentry{\char 123@{\tt  \char `\\\char 123}@|hyperpage}{108}
 \indexentry{\char 125@{\tt  \char `\\\char 125}@|hyperpage}{108}
+\indexentry{braces|)}{108}
 \indexentry{macro|hyperpage}{109}
-\indexentry{definition !macro|hyperpage}{110}
+\indexentry{macro!definition|hyperpage}{110}
+\indexentry{category!1|hyperpage}{110}
+\indexentry{category!2|hyperpage}{110}
 \indexentry{prefixes !macro|hyperpage}{110}
 \indexentry{global@{\tt  \char `\\global}@|hyperpage}{110}
-\indexentry{macro !outer|hyperpage}{110}
+\indexentry{macro!outer|hyperpage}{110}
 \indexentry{outer@{\tt  \char `\\outer}@|hyperpage}{110}
 \indexentry{long@{\tt  \char `\\long}@|hyperpage}{111}
 \indexentry{def@{\tt  \char `\\def}@|hyperpage}{111}
 \indexentry{gdef@{\tt  \char `\\gdef}@|hyperpage}{111}
 \indexentry{edef@{\tt  \char `\\edef}@|hyperpage}{111}
 \indexentry{xdef@{\tt  \char `\\xdef}@|hyperpage}{111}
+\indexentry{arguments|hyperpage}{111}
 \indexentry{parameter|hyperpage}{111}
-\indexentry{argument|hyperpage}{111}
-\indexentry{parameter !undelimited|hyperpage}{112}
-\indexentry{parameter !delimited|hyperpage}{112}
-\indexentry{character !parameter|hyperpage}{114}
+\indexentry{category!6|hyperpage}{111}
+\indexentry{parameter!undelimited|hyperpage}{112}
+\indexentry{parameter!delimited|hyperpage}{112}
+\indexentry{category!10|hyperpage}{114}
+\indexentry{category!12|hyperpage}{114}
+\indexentry{parameter!character|hyperpage}{114}
+\indexentry{character!parameter|hyperpage}{114}
 \indexentry{csname@{\tt  \char `\\csname}@|hyperpage}{115}
 \indexentry{endcsname@{\tt  \char `\\endcsname}@|hyperpage}{115}
 \indexentry{let@{\tt  \char `\\let}@|hyperpage}{116}
 \indexentry{futurelet@{\tt  \char `\\futurelet}@|hyperpage}{117}
+\indexentry{category!13|hyperpage}{117}
 \indexentry{active character|hyperpage}{117}
-\indexentry{character !active|hyperpage}{117}
 \indexentry{primitive commands|hyperpage}{117}
 \indexentry{command !primitive|hyperpage}{117}
 \indexentry{recursion|hyperpage}{118}
-\indexentry{input! stack|hyperpage}{118}
+\indexentry{input!stack|hyperpage}{118}
 \indexentry{loop@{\tt  \char `\\loop}@|hyperpage}{118}
 \indexentry{verbatim mode|hyperpage}{123}
 \indexentry{expansion|hyperpage}{125}
-\indexentry{expansion!expandable control sequences|hyperpage}{125}
+\indexentry{expansion!expandable constructs|hyperpage}{125}
 \indexentry{expandafter@{\tt  \char `\\expandafter}@|hyperpage}{126}
 \indexentry{edef@{\tt  \char `\\edef}@|hyperpage}{127}
 \indexentry{afterassignment@{\tt  \char `\\afterassignment}@|hyperpage}{127}
 \indexentry{aftergroup@{\tt  \char `\\aftergroup}@|hyperpage}{128}
 \indexentry{string@{\tt  \char `\\string}@|hyperpage}{129}
 \indexentry{noexpand@{\tt  \char `\\noexpand}@|hyperpage}{129}
-\indexentry{character !active, and {\tt  \char `\\noexpand}|hyperpage}{129}
+\indexentry{category!0|hyperpage}{129}
+\indexentry{character !active, and \cs{noexpand}|hyperpage}{129}
 \indexentry{relax@{\tt  \char `\\relax}@|hyperpage}{130}
 \indexentry{the@{\tt  \char `\\the}@|hyperpage}{132}
+\indexentry{category!12|hyperpage}{132}
+\indexentry{category!10|hyperpage}{132}
 \indexentry{write@{\tt  \char `\\write}@|hyperpage}{134}
 \indexentry{protect@{\tt  \char `\\protect}@|hyperpage}{135}
-\indexentry{conditional|hyperpage}{139}
+\indexentry{conditionals|hyperpage}{139}
 \indexentry{else@{\tt  \char `\\else}@|hyperpage}{139}
 \indexentry{fi@{\tt  \char `\\fi}@|hyperpage}{139}
 \indexentry{if@{\tt  \char `\\if}@|hyperpage}{140}
 \indexentry{ifcat@{\tt  \char `\\ifcat}@|hyperpage}{140}
+\indexentry{category!16|hyperpage}{140}
 \indexentry{ifx@{\tt  \char `\\ifx}@|hyperpage}{141}
 \indexentry{ifhmode@{\tt  \char `\\ifhmode}@|hyperpage}{141}
 \indexentry{ifvmode@{\tt  \char `\\ifvmode}@|hyperpage}{141}
 \indexentry{ifmmode@{\tt  \char `\\ifmmode}@|hyperpage}{141}
 \indexentry{ifinner@{\tt  \char `\\ifinner}@|hyperpage}{141}
 \indexentry{ifnum@{\tt  \char `\\ifnum}@|hyperpage}{142}
+\indexentry{category!12|hyperpage}{142}
 \indexentry{ifodd@{\tt  \char `\\ifodd}@|hyperpage}{142}
 \indexentry{ifdim@{\tt  \char `\\ifdim}@|hyperpage}{142}
 \indexentry{ifhbox@{\tt  \char `\\ifhbox}@|hyperpage}{142}
 \indexentry{iftrue@{\tt  \char `\\iftrue}@|hyperpage}{143}
 \indexentry{iffalse@{\tt  \char `\\iffalse}@|hyperpage}{143}
 \indexentry{newif@{\tt  \char `\\newif}@|hyperpage}{143}
-\indexentry{evaluation! conditionals|hyperpage}{144}
-\indexentry{conditionals! evaluation of|hyperpage}{144}
-\indexentry{token! lists|hyperpage}{151}
-\indexentry{list !token|hyperpage}{151}
+\indexentry{category!12|hyperpage}{143}
+\indexentry{category!11|hyperpage}{143}
+\indexentry{conditionals!evaluation of|hyperpage}{144}
+\indexentry{token!list|hyperpage}{151}
 \indexentry{toks@{\tt  \char `\\toks}@|hyperpage}{152}
 \indexentry{toksdef@{\tt  \char `\\toksdef}@|hyperpage}{152}
 \indexentry{newtoks@{\tt  \char `\\newtoks}@|hyperpage}{152}
-\indexentry{glue !interline|hyperpage}{155}
-\indexentry{baseline! distance|hyperpage}{155}
-\indexentry{baselineskip@{\tt  \char `\\baselineskip}@|hyperpage}{155}
+\indexentry{glue!interline|hyperpage}{156}
+\indexentry{baseline!distance|hyperpage}{156}
+\indexentry{baselineskip@{\tt  \char `\\baselineskip}@|hyperpage}{156}
 \indexentry{lineskiplimit@{\tt  \char `\\lineskiplimit}@|hyperpage}{156}
 \indexentry{lineskip@{\tt  \char `\\lineskip}@|hyperpage}{156}
 \indexentry{prevdepth@{\tt  \char `\\prevdepth}@|hyperpage}{156}
 \indexentry{nointerlineskip@{\tt  \char `\\nointerlineskip}@|hyperpage}{157}
 \indexentry{offinterlineskip@{\tt  \char `\\offinterlineskip}@|hyperpage}{157}
 \indexentry{openup@{\tt  \char `\\openup}@|hyperpage}{158}
+\indexentry{paragraph!start|(hyperpage}{159}
 \indexentry{indent@{\tt  \char `\\indent}@|hyperpage}{160}
 \indexentry{noindent@{\tt  \char `\\noindent}@|hyperpage}{160}
-\indexentry{paragraph! start|hyperpage}{160}
 \indexentry{parskip@{\tt  \char `\\parskip}@|hyperpage}{160}
 \indexentry{parindent@{\tt  \char `\\parindent}@|hyperpage}{160}
 \indexentry{everypar@{\tt  \char `\\everypar}@|hyperpage}{160}
-\indexentry{paragraph! end|hyperpage}{165}
+\indexentry{paragraph!start|)}{163}
+\indexentry{paragraph!end|(hyperpage}{165}
 \indexentry{parfillskip@{\tt  \char `\\parfillskip}@|hyperpage}{166}
-\indexentry{paragraph! shape|hyperpage}{169}
-\indexentry{line! width|hyperpage}{169}
+\indexentry{paragraph!end|)}{168}
+\indexentry{paragraph!shape|(hyperpage}{169}
+\indexentry{line!width|(hyperpage}{169}
 \indexentry{hsize@{\tt  \char `\\hsize}@|hyperpage}{169}
 \indexentry{leftskip@{\tt  \char `\\leftskip}@|hyperpage}{169}
 \indexentry{rightskip@{\tt  \char `\\rightskip}@|hyperpage}{169}
 \indexentry{raggedright@{\tt  \char `\\raggedright}@|hyperpage}{169}
-\indexentry{hanging! indentation|hyperpage}{169}
-\indexentry{hangafter@{\tt  \char `\\hangafter}@|hyperpage}{169}
-\indexentry{hangindent@{\tt  \char `\\hangindent}@|hyperpage}{169}
-\indexentry{parshape@{\tt  \char `\\parshape}@|hyperpage}{170}
+\indexentry{line!width|)}{169}
+\indexentry{indentation!hanging|(hyperpage}{169}
+\indexentry{hangafter@{\tt  \char `\\hangafter}@|hyperpage}{170}
+\indexentry{hangindent@{\tt  \char `\\hangindent}@|hyperpage}{170}
+\indexentry{indentation!hanging|)}{170}
+\indexentry{parshape@{\tt  \char `\\parshape}@|hyperpage}{171}
+\indexentry{paragraph!shape|)}{173}
+\indexentry{paragraph!breaking into lines|(hyperpage}{175}
+\indexentry{line breaking|(hyperpage}{175}
 \indexentry{badness! and line breaking|hyperpage}{176}
 \indexentry{line breaking!badness|hyperpage}{176}
-\indexentry{penalty@{\tt  \char `\\penalty}@|hyperpage}{177}
 \indexentry{lists !horizontal! breakpoints in|hyperpage}{177}
-\indexentry{lists !horizontal! penalties in |hyperpage}{177}
 \indexentry{linepenalty@{\tt  \char `\\linepenalty}@|hyperpage}{177}
 \indexentry{demerits|hyperpage}{177}
 \indexentry{adjdemerits@{\tt  \char `\\adjdemerits}@|hyperpage}{177}
 \indexentry{finalhyphendemerits@{\tt  \char `\\finalhyphendemerits}@|hyperpage}{177}
 \indexentry{prevgraf@{\tt  \char `\\prevgraf}@|hyperpage}{178}
 \indexentry{looseness@{\tt  \char `\\looseness}@|hyperpage}{178}
-\indexentry{paragraph! breaking into lines|hyperpage}{178}
 \indexentry{tracingparagraphs@{\tt  \char `\\tracingparagraphs}@|hyperpage}{178}
 \indexentry{pretolerance@{\tt  \char `\\pretolerance}@|hyperpage}{179}
 \indexentry{tolerance@{\tt  \char `\\tolerance}@|hyperpage}{179}
 \indexentry{discretionary item|hyperpage}{179}
 \indexentry{discretionary@{\tt  \char `\\discretionary}@|hyperpage}{179}
 \indexentry{hyphenchar@{\tt  \char `\\hyphenchar}@|hyperpage}{179}
-\indexentry{character !hyphen|hyperpage}{179}
+\indexentry{character!hyphen|hyperpage}{180}
 \indexentry{defaulthyphenchar@{\tt  \char `\\defaulthyphenchar}@|hyperpage}{180}
 \indexentry{-@{\tt  \char `\\-}@|hyperpage}{180}
 \indexentry{discretionary hyphen|hyperpage}{180}
 \indexentry{patterns@{\tt  \char `\\patterns}@|hyperpage}{182}
 \indexentry{language|hyperpage}{182}
 \indexentry{language@{\tt  \char `\\language}@|hyperpage}{182}
-\indexentry{language !current|hyperpage}{182}
+\indexentry{language!current|hyperpage}{182}
 \indexentry{language@{\tt  \char `\\language}@|hyperpage}{183}
-\indexentry{spacing|hyperpage}{185}
-\indexentry{space! factor|hyperpage}{186}
+\indexentry{paragraph!breaking into lines|)}{183}
+\indexentry{line breaking|)}{183}
+\indexentry{spacing|(hyperpage}{185}
+\indexentry{space!factor|hyperpage}{186}
 \indexentry{sfcode@{\tt  \char `\\sfcode}@|hyperpage}{186}
 \indexentry{spacefactor@{\tt  \char `\\spacefactor}@|hyperpage}{186}
 \indexentry{spaceskip@{\tt  \char `\\spaceskip}@|hyperpage}{186}
 \indexentry{xspaceskip@{\tt  \char `\\xspaceskip}@|hyperpage}{186}
-\indexentry{control! space|hyperpage}{187}
-\indexentry{space !control~--|hyperpage}{187}
+\indexentry{space!control|hyperpage}{187}
 \indexentry{\char 32@{\tt  \char `\\\char 32}@|hyperpage}{187}
 \indexentry{tie|hyperpage}{187}
 \indexentry{~@\char 126|hyperpage}{187}
 \indexentry{spacefactor code|hyperpage}{188}
 \indexentry{sfcode@{\tt  \char `\\sfcode}@|hyperpage}{188}
-\indexentry{frenchspacing|hyperpage}{188}
 \indexentry{frenchspacing@{\tt  \char `\\frenchspacing}@|hyperpage}{188}
 \indexentry{nonfrenchspacing@{\tt  \char `\\nonfrenchspacing}@|hyperpage}{188}
-\indexentry{math characters|hyperpage}{192}
+\indexentry{frenchspacing|hyperpage}{188}
+\indexentry{spacing|)}{189}
+\indexentry{math characters|(hyperpage}{192}
 \indexentry{mathcode@{\tt  \char `\\mathcode}@|hyperpage}{192}
 \indexentry{mathchar@{\tt  \char `\\mathchar}@|hyperpage}{192}
 \indexentry{mathchardef@{\tt  \char `\\mathchardef}@|hyperpage}{192}
+\indexentry{math characters|)}{192}
+\indexentry{delimiters|(hyperpage}{192}
 \indexentry{left@{\tt  \char `\\left}@|hyperpage}{192}
 \indexentry{right@{\tt  \char `\\right}@|hyperpage}{192}
-\indexentry{delimiters|hyperpage}{192}
 \indexentry{delcode@{\tt  \char `\\delcode}@|hyperpage}{193}
-\indexentry{delimiter codes|hyperpage}{193}
+\indexentry{delimiter code|hyperpage}{193}
 \indexentry{delimiter@{\tt  \char `\\delimiter}@|hyperpage}{193}
-\indexentry{delimiter sizes|hyperpage}{193}
-\indexentry{successors|hyperpage}{193}
+\indexentry{delimiter!size|(hyperpage}{193}
 \indexentry{delimiterfactor@{\tt  \char `\\delimiterfactor}@|hyperpage}{193}
 \indexentry{delimitershortfall@{\tt  \char `\\delimitershortfall}@|hyperpage}{193}
 \indexentry{nulldelimiterspace@{\tt  \char `\\nulldelimiterspace}@|hyperpage}{193}
-\indexentry{extension fonts|hyperpage}{194}
+\indexentry{character!extendable|hyperpage}{194}
+\indexentry{successor|hyperpage}{194}
+\indexentry{delimiter!size|)}{194}
 \indexentry{big \rm  etc.@{\tt  \char `\\big \rm  etc.}@|hyperpage}{194}
-\indexentry{radicals|hyperpage}{194}
+\indexentry{delimiters|)}{194}
+\indexentry{radical|hyperpage}{194}
 \indexentry{radical@{\tt  \char `\\radical}@|hyperpage}{194}
+\indexentry{accents in math mode|(hyperpage}{195}
 \indexentry{mathaccent@{\tt  \char `\\mathaccent}@|hyperpage}{195}
-\indexentry{accents in math mode|hyperpage}{195}
 \indexentry{skew@{\tt  \char `\\skew}@|hyperpage}{195}
 \indexentry{skewchar@{\tt  \char `\\skewchar}@|hyperpage}{195}
 \indexentry{defaultskewchar@{\tt  \char `\\defaultskewchar}@|hyperpage}{195}
 \indexentry{widehat@{\tt  \char `\\widehat}@|hyperpage}{195}
 \indexentry{widetilde@{\tt  \char `\\widetilde}@|hyperpage}{195}
+\indexentry{accents in math mode|)}{195}
 \indexentry{font families|hyperpage}{197}
 \indexentry{fam@{\tt  \char `\\fam}@|hyperpage}{198}
 \indexentry{newfam@{\tt  \char `\\newfam}@|hyperpage}{198}
 \indexentry{textfont@{\tt  \char `\\textfont}@|hyperpage}{198}
 \indexentry{scriptfont@{\tt  \char `\\scriptfont}@|hyperpage}{198}
 \indexentry{scriptscriptfont@{\tt  \char `\\scriptscriptfont}@|hyperpage}{198}
-\indexentry{math modes|hyperpage}{202}
+\indexentry{math mode|hyperpage}{202}
 \indexentry{math shift character|hyperpage}{202}
+\indexentry{category!3|hyperpage}{202}
+\indexentry{math mode!display|hyperpage}{202}
+\indexentry{math mode!non-display|hyperpage}{202}
 \indexentry{everymath@{\tt  \char `\\everymath}@|hyperpage}{202}
 \indexentry{math styles|hyperpage}{202}
 \indexentry{cramped styles|hyperpage}{202}
-\indexentry{superscript|hyperpage}{203}
-\indexentry{subscript|hyperpage}{203}
+\indexentry{superscript|(hyperpage}{203}
+\indexentry{subscript|(hyperpage}{203}
+\indexentry{category!7|hyperpage}{203}
+\indexentry{category!8|hyperpage}{203}
 \indexentry{\char 94@{\tt  \char `\\\char 94}@|hyperpage}{203}
 \indexentry{\char 95@{\tt  \char `\\\char 95}@|hyperpage}{203}
 \indexentry{scriptspace@{\tt  \char `\\scriptspace}@|hyperpage}{203}
+\indexentry{superscript|)}{203}
+\indexentry{subscript|)}{203}
 \indexentry{displaystyle@{\tt  \char `\\displaystyle}@|hyperpage}{203}
 \indexentry{textstyle@{\tt  \char `\\textstyle}@|hyperpage}{203}
 \indexentry{scriptstyle@{\tt  \char `\\scriptstyle}@|hyperpage}{203}
 \indexentry{limits@{\tt  \char `\\limits}@|hyperpage}{204}
 \indexentry{nolimits@{\tt  \char `\\nolimits}@|hyperpage}{204}
 \indexentry{displaylimits@{\tt  \char `\\displaylimits}@|hyperpage}{205}
-\indexentry{axis of math formulas|hyperpage}{205}
-\indexentry{centring of math formulas|hyperpage}{205}
+\indexentry{formula!axis   of|hyperpage}{205}
+\indexentry{formula!centring of|hyperpage}{205}
 \indexentry{vcenter@{\tt  \char `\\vcenter}@|hyperpage}{205}
-\indexentry{math spacing|hyperpage}{205}
-\indexentry{math unit|hyperpage}{205}
-\indexentry{mu glue|hyperpage}{205}
+\indexentry{math spacing|(hyperpage}{205}
+\indexentry{math units|hyperpage}{205}
+\indexentry{quad|hyperpage}{205}
 \indexentry{mkern@{\tt  \char `\\mkern}@|hyperpage}{206}
 \indexentry{mskip@{\tt  \char `\\mskip}@|hyperpage}{206}
+\indexentry{mu glue|hyperpage}{206}
 \indexentry{thickmuskip@{\tt  \char `\\thickmuskip}@|hyperpage}{206}
 \indexentry{medmuskip@{\tt  \char `\\medmuskip}@|hyperpage}{206}
 \indexentry{thinmuskip@{\tt  \char `\\thinmuskip}@|hyperpage}{206}
 \indexentry{newmuskip@{\tt  \char `\\newmuskip}@|hyperpage}{206}
 \indexentry{nonscript@{\tt  \char `\\nonscript}@|hyperpage}{207}
 \indexentry{mathsurround@{\tt  \char `\\mathsurround}@|hyperpage}{207}
+\indexentry{math spacing|)}{207}
 \indexentry{generalized fractions|hyperpage}{207}
 \indexentry{over@{\tt  \char `\\over}@|hyperpage}{207}
 \indexentry{atop@{\tt  \char `\\atop}@|hyperpage}{207}
 \indexentry{relpenalty@{\tt  \char `\\relpenalty}@|hyperpage}{208}
 \indexentry{binoppenaly@{\tt  \char `\\binoppenaly}@|hyperpage}{208}
 \indexentry{penalties in math mode|hyperpage}{208}
+\indexentry{breakpoints in math lists|hyperpage}{208}
 \indexentry{allowbreak@{\tt  \char `\\allowbreak}@|hyperpage}{208}
-\indexentry{breakpoints in math lists|hyperpage}{208}
-\indexentry{symbol font|hyperpage}{208}
-\indexentry{displays|hyperpage}{211}
+\indexentry{symbol font|(hyperpage}{208}
+\indexentry{symbol font|(hyperpage}{209}
+\indexentry{extension font|(hyperpage}{209}
+\indexentry{extension font|)}{209}
+\indexentry{display math|hyperpage}{211}
+\indexentry{category!3|hyperpage}{211}
 \indexentry{everydisplay@{\tt  \char `\\everydisplay}@|hyperpage}{212}
 \indexentry{displayindent@{\tt  \char `\\displayindent}@|hyperpage}{212}
 \indexentry{displaywidth@{\tt  \char `\\displaywidth}@|hyperpage}{212}
 \indexentry{belowdisplayshortskip@{\tt  \char `\\belowdisplayshortskip}@|hyperpage}{212}
 \indexentry{predisplaysize@{\tt  \char `\\predisplaysize}@|hyperpage}{212}
 \indexentry{machine dependence|hyperpage}{213}
+\indexentry{equation numbering|(hyperpage}{213}
 \indexentry{eqno@{\tt  \char `\\eqno}@|hyperpage}{213}
 \indexentry{leqno@{\tt  \char `\\leqno}@|hyperpage}{213}
-\indexentry{equation numbering|hyperpage}{213}
-\indexentry{displays, non-centred|hyperpage}{214}
-\indexentry{alignments|hyperpage}{217}
+\indexentry{equation numbering|)}{214}
+\indexentry{displays!non-centred|hyperpage}{214}
+\indexentry{alignments|(hyperpage}{217}
 \indexentry{tables|hyperpage}{217}
 \indexentry{halign@{\tt  \char `\\halign}@|hyperpage}{217}
 \indexentry{valign@{\tt  \char `\\valign}@|hyperpage}{217}
 \indexentry{vertical alignment|hyperpage}{218}
 \indexentry{noalign@{\tt  \char `\\noalign}@|hyperpage}{218}
 \indexentry{alignment tab|hyperpage}{219}
+\indexentry{category!4|hyperpage}{219}
 \indexentry{span@{\tt  \char `\\span}@|hyperpage}{220}
 \indexentry{tabskip@{\tt  \char `\\tabskip}@|hyperpage}{220}
 \indexentry{omit@{\tt  \char `\\omit}@|hyperpage}{221}
 \indexentry{span@{\tt  \char `\\span}@|hyperpage}{222}
 \indexentry{hidewidth@{\tt  \char `\\hidewidth}@|hyperpage}{222}
-\indexentry{rules in alignments|hyperpage}{222}
+\indexentry{alignments!rules in|(hyperpage}{222}
 \indexentry{multispan@{\tt  \char `\\multispan}@|hyperpage}{223}
 \indexentry{strut@{\tt  \char `\\strut}@|hyperpage}{223}
+\indexentry{alignments!rules in|)}{223}
 \indexentry{cr@{\tt  \char `\\cr}@|hyperpage}{223}
 \indexentry{crcr@{\tt  \char `\\crcr}@|hyperpage}{223}
 \indexentry{cases@{\tt  \char `\\cases}@|hyperpage}{223}
 \indexentry{matrix@{\tt  \char `\\matrix}@|hyperpage}{224}
 \indexentry{eqalignno@{\tt  \char `\\eqalignno}@|hyperpage}{224}
 \indexentry{centering@{\tt  \char `\\centering}@|hyperpage}{224}
+\indexentry{alignments|)}{224}
 \indexentry{page positioning|hyperpage}{225}
 \indexentry{hoffset@{\tt  \char `\\hoffset}@|hyperpage}{225}
 \indexentry{voffset@{\tt  \char `\\voffset}@|hyperpage}{225}
 \indexentry{topskip@{\tt  \char `\\topskip}@|hyperpage}{225}
+\indexentry{page!height|(hyperpage}{226}
+\indexentry{page!depth|(hyperpage}{226}
 \indexentry{vsize@{\tt  \char `\\vsize}@|hyperpage}{226}
-\indexentry{page depth|hyperpage}{226}
 \indexentry{maxdepth@{\tt  \char `\\maxdepth}@|hyperpage}{226}
 \indexentry{raggedbottom@{\tt  \char `\\raggedbottom}@|hyperpage}{226}
+\indexentry{page!height|)}{226}
+\indexentry{page!depth|)}{226}
+\indexentry{page!breaking|(hyperpage}{227}
 \indexentry{current page|hyperpage}{228}
 \indexentry{recent contributions|hyperpage}{228}
-\indexentry{page builder|hyperpage}{228}
+\indexentry{page!builder|hyperpage}{228}
 \indexentry{outputpenalty@{\tt  \char `\\outputpenalty}@|hyperpage}{228}
-\indexentry{page length|hyperpage}{228}
+\indexentry{page!length|(hyperpage}{228}
 \indexentry{pagetotal@{\tt  \char `\\pagetotal}@|hyperpage}{229}
 \indexentry{pagedepth@{\tt  \char `\\pagedepth}@|hyperpage}{229}
 \indexentry{pagestretch@{\tt  \char `\\pagestretch}@|hyperpage}{229}
 \indexentry{pagefillstretch@{\tt  \char `\\pagefillstretch}@|hyperpage}{229}
 \indexentry{pageshrink@{\tt  \char `\\pageshrink}@|hyperpage}{229}
 \indexentry{pagefilllstretch@{\tt  \char `\\pagefilllstretch}@|hyperpage}{229}
+\indexentry{page!length|)}{229}
 \indexentry{breakpoints in vertical lists|hyperpage}{229}
 \indexentry{lastpenalty@{\tt  \char `\\lastpenalty}@|hyperpage}{229}
 \indexentry{unpenalty@{\tt  \char `\\unpenalty}@|hyperpage}{229}
-\indexentry{penalties in vertical mode|hyperpage}{229}
-\indexentry{interlinepenalty@{\tt  \char `\unskip \advance \par@deathcycles \@ne \let \reserved@d =*\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \GenericError  {               }{LaTeX Error: Something's wrong--perhaps a missing \item }{See the LaTeX manual or LaTeX Companion for explanation.}{Try typing  <return>  to proceed.\MessageBreak If that doesn't work, type  X <return>  to quit.}\let \reserved@d =[\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \ignorespaces \relax \futurelet \ \let \hskip \hskip \relax \relax \hskip \relax \relax \futurelet \ \let \hskip \hskip \relax \relax \hskip i\relax nterlinepenalty}@|hyperpage}{229}
-\indexentry{clubpenalty@{\tt  \char `\unskip {\@@par }\let \reserved@d =*\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \GenericError  {               }{LaTeX Error: Something's wrong--perhaps a missing \item }{See the LaTeX manual or LaTeX Companion for explanation.}{Try typing  <return>  to proceed.\MessageBreak If that doesn't work, type  X <return>  to quit.}\let \reserved@d =[\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \ignorespaces \relax \futurelet \ \let \hskip \hskip \relax \relax \hskip \relax \relax \futurelet \ \let \hskip \hskip \relax \relax \hskip c\relax lubpenalty}@|hyperpage}{229}
+\indexentry{penalties!in vertical mode|hyperpage}{229}
+\indexentry{interlinepenalty@{\tt  \char `\unskip \advance \par@deathcycles \@ne \let \reserved@d =*\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \GenericError  {               }{LaTeX Error: Something's wrong--perhaps a missing \item }{See the LaTeX manual or LaTeX Companion for explanation.}{Try typing  <return>  to proceed.\MessageBreak If that doesn't work, type  X <return>  to quit.}\let \reserved@d =[\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \ignorespaces \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip \relax \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip i\relax nterlinepenalty}@|hyperpage}{229}
+\indexentry{clubpenalty@{\tt  \char `\unskip {\@@par }\let \reserved@d =*\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \GenericError  {               }{LaTeX Error: Something's wrong--perhaps a missing \item }{See the LaTeX manual or LaTeX Companion for explanation.}{Try typing  <return>  to proceed.\MessageBreak If that doesn't work, type  X <return>  to quit.}\let \reserved@d =[\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \ignorespaces \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip \relax \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip c\relax lubpenalty}@|hyperpage}{229}
 \indexentry{widowpenalty@{\tt  \char `\unskip {\@@par }\let \reserved@d =*\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \GenericError  {               }{LaTeX Error: Something's wrong--perhaps a missing \item }{See the LaTeX manual or LaTeX Companion for explanation.}{Try typing  <return>  to proceed.\MessageBreak If that doesn't work, type  X <return>  to quit.}\let \reserved@d =[\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \ignorespaces \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip \relax \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip w\relax idowpenalty}@|hyperpage}{230}
 \indexentry{displaywidowpenalty@{\tt  \char `\unskip {\@@par }\let \reserved@d =*\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \GenericError  {               }{LaTeX Error: Something's wrong--perhaps a missing \item }{See the LaTeX manual or LaTeX Companion for explanation.}{Try typing  <return>  to proceed.\MessageBreak If that doesn't work, type  X <return>  to quit.}\let \reserved@d =[\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \ignorespaces \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip \relax \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip d\relax isplaywidowpenalty}@|hyperpage}{230}
 \indexentry{brokenpenalty@{\tt  \char `\unskip {\@@par }\let \reserved@d =*\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \GenericError  {               }{LaTeX Error: Something's wrong--perhaps a missing \item }{See the LaTeX manual or LaTeX Companion for explanation.}{Try typing  <return>  to proceed.\MessageBreak If that doesn't work, type  X <return>  to quit.}\let \reserved@d =[\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \ignorespaces \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip \relax \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip b\relax rokenpenalty}@|hyperpage}{230}
 \indexentry{penalty@{\tt  \char `\\penalty}@|hyperpage}{230}
-\indexentry{page breaking|hyperpage}{230}
-\indexentry{breakpoints, computation of|hyperpage}{230}
+\indexentry{breakpoints!computation of|(hyperpage}{230}
+\indexentry{breakpoints!computation of|)}{231}
 \indexentry{vsplit@{\tt  \char `\\vsplit}@|hyperpage}{231}
 \indexentry{splitmaxdepth@{\tt  \char `\\splitmaxdepth}@|hyperpage}{231}
 \indexentry{splittopskip@{\tt  \char `\\splittopskip}@|hyperpage}{231}
+\indexentry{page!breaking|)}{234}
+\indexentry{output routine|(hyperpage}{235}
 \indexentry{output@{\tt  \char `\\output}@|hyperpage}{235}
-\indexentry{output routine|hyperpage}{235}
 \indexentry{shipout@{\tt  \char `\\shipout}@|hyperpage}{236}
 \indexentry{deadcycles@{\tt  \char `\\deadcycles}@|hyperpage}{236}
 \indexentry{maxdeadcycles@{\tt  \char `\\maxdeadcycles}@|hyperpage}{236}
+\indexentry{mark@{\tt  \char `\\mark}@|hyperpage}{237}
 \indexentry{marks|hyperpage}{237}
-\indexentry{mark@{\tt  \char `\\mark}@|hyperpage}{237}
 \indexentry{botmark@{\tt  \char `\\botmark}@|hyperpage}{237}
 \indexentry{firstmark@{\tt  \char `\\firstmark}@|hyperpage}{237}
 \indexentry{topmark@{\tt  \char `\\topmark}@|hyperpage}{237}
 \indexentry{splitbotmark@{\tt  \char `\\splitbotmark}@|hyperpage}{237}
 \indexentry{splitfirstmark@{\tt  \char `\\splitfirstmark}@|hyperpage}{237}
-\indexentry{page numbering|hyperpage}{238}
+\indexentry{page!numbering|(hyperpage}{238}
+\indexentry{page!numbering|)}{238}
+\indexentry{output routine|)}{240}
 \indexentry{insertions|hyperpage}{241}
 \indexentry{insert@{\tt  \char `\\insert}@|hyperpage}{241}
 \indexentry{newinsert@{\tt  \char `\\newinsert}@|hyperpage}{242}
 \indexentry{pageinsert@{\tt  \char `\\pageinsert}@|hyperpage}{244}
 \indexentry{midinsert@{\tt  \char `\\midinsert}@|hyperpage}{244}
 \indexentry{endinsert@{\tt  \char `\\endinsert}@|hyperpage}{244}
-\indexentry{I/\discretionary {}{}{}\relax O|hyperpage}{245}
+\indexentry{I/O!file|(hyperpage}{245}
+\indexentry{files|hyperpage}{245}
+\indexentry{input@{\tt  \char `\\input}@|hyperpage}{245}
 \indexentry{input files|hyperpage}{245}
-\indexentry{input@{\tt  \char `\\input}@|hyperpage}{245}
 \indexentry{endinput@{\tt  \char `\\endinput}@|hyperpage}{245}
 \indexentry{streams|hyperpage}{246}
 \indexentry{newread@{\tt  \char `\\newread}@|hyperpage}{246}
 \indexentry{closeout@{\tt  \char `\\closeout}@|hyperpage}{246}
 \indexentry{read@{\tt  \char `\\read}@|hyperpage}{246}
 \indexentry{write@{\tt  \char `\\write}@|hyperpage}{247}
-\indexentry{whatsits|hyperpage}{247}
+\indexentry{whatsits|(hyperpage}{247}
+\indexentry{I/O!asynchronous|hyperpage}{247}
 \indexentry{immediate@{\tt  \char `\\immediate}@|hyperpage}{247}
+\indexentry{whatsits|)}{247}
 \indexentry{inputlineno@{\tt  \char `\\inputlineno}@|hyperpage}{247}
 \indexentry{pausing@{\tt  \char `\\pausing}@|hyperpage}{248}
+\indexentry{I/O!screen|hyperpage}{248}
 \indexentry{message@{\tt  \char `\\message}@|hyperpage}{248}
 \indexentry{newlinechar@{\tt  \char `\\newlinechar}@|hyperpage}{248}
-\indexentry{registers, allocation of|hyperpage}{251}
+\indexentry{I/O!file|)}{249}
+\indexentry{registers!allocation of|(hyperpage}{251}
 \indexentry{newlanguage@{\tt  \char `\\newlanguage}@|hyperpage}{251}
-\indexentry{job|hyperpage}{255}
+\indexentry{registers!allocation of|)}{252}
+\indexentry{job|(hyperpage}{255}
 \indexentry{jobname@{\tt  \char `\\jobname}@|hyperpage}{255}
 \indexentry{everyjob@{\tt  \char `\\everyjob}@|hyperpage}{255}
 \indexentry{end@{\tt  \char `\\end}@|hyperpage}{256}
 \indexentry{bye@{\tt  \char `\\bye}@|hyperpage}{256}
 \indexentry{log file|hyperpage}{256}
-\indexentry{run modes|hyperpage}{256}
+\indexentry{job|)}{256}
+\indexentry{run modes|(hyperpage}{256}
 \indexentry{errorstopmode@{\tt  \char `\\errorstopmode}@|hyperpage}{256}
 \indexentry{scrollmode@{\tt  \char `\\scrollmode}@|hyperpage}{256}
 \indexentry{nonstopmode@{\tt  \char `\\nonstopmode}@|hyperpage}{257}
 \indexentry{batchmode@{\tt  \char `\\batchmode}@|hyperpage}{257}
+\indexentry{run modes|)}{257}
 \indexentry{TeX@\csname TeX\endcsname |hyperpage}{259}
 \indexentry{IniTeX@\csname IniTeX\endcsname |hyperpage}{259}
 \indexentry{VirTeX@\csname VirTeX\endcsname |hyperpage}{259}
-\indexentry{format files|hyperpage}{259}
+\indexentry{format file|hyperpage}{259}
 \indexentry{dump@{\tt  \char `\\dump}@|hyperpage}{260}
 \indexentry{LaTeX@\csname LaTeX\endcsname |hyperpage}{262}
 \indexentry{Lollipop|hyperpage}{262}
 \indexentry{magnification@{\tt  \char `\\magnification}@|hyperpage}{263}
 \indexentry{specials|hyperpage}{264}
 \indexentry{special@{\tt  \char `\\special}@|hyperpage}{264}
-\indexentry{device drivers|hyperpage}{264}
+\indexentry{device driver|hyperpage}{264}
 \indexentry{PostScript|hyperpage}{264}
 \indexentry{year@{\tt  \char `\\year}@|hyperpage}{264}
 \indexentry{month@{\tt  \char `\\month}@|hyperpage}{264}
 \indexentry{font metrics|hyperpage}{264}
 \indexentry{virtual fonts|hyperpage}{265}
 \indexentry{device drivers|hyperpage}{265}
-\indexentry{font files|hyperpage}{265}
-\indexentry{Computer Modern typefaces|hyperpage}{266}
+\indexentry{font files|(hyperpage}{265}
+\indexentry{font files|)}{265}
+\indexentry{Computer Modern|hyperpage}{266}
 \indexentry{web@\csname web\endcsname |hyperpage}{266}
 \indexentry{Pascal|hyperpage}{266}
 \indexentry{TUG|hyperpage}{267}
 \indexentry{TUGboat|hyperpage}{267}
-\indexentry{tracing|hyperpage}{269}
+\indexentry{tracing|(hyperpage}{269}
 \indexentry{statistics|hyperpage}{269}
 \indexentry{tracingcommands@{\tt  \char `\unskip {\@@par }\let \reserved@d =*\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \GenericError  {               }{LaTeX Error: Something's wrong--perhaps a missing \item }{See the LaTeX manual or LaTeX Companion for explanation.}{Try typing  <return>  to proceed.\MessageBreak If that doesn't work, type  X <return>  to quit.}\let \reserved@d =[\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \ignorespaces \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip \relax \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip t\relax racingcommands}@|hyperpage}{269}
 \indexentry{tracingmacros@{\tt  \char `\unskip {\@@par }\let \reserved@d =*\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \GenericError  {               }{LaTeX Error: Something's wrong--perhaps a missing \item }{See the LaTeX manual or LaTeX Companion for explanation.}{Try typing  <return>  to proceed.\MessageBreak If that doesn't work, type  X <return>  to quit.}\let \reserved@d =[\def \vrule width\z@ \penalty \@M \hskip \def \hskip \z@skip \hskip \ignorespaces \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip \relax \relax \futurelet \@let@token \let \hskip \hskip \relax \relax \hskip t\relax racingmacros}@|hyperpage}{269}
 \indexentry{show@{\tt  \char `\\show}@|hyperpage}{270}
 \indexentry{meaning@{\tt  \char `\\meaning}@|hyperpage}{270}
 \indexentry{showthe@{\tt  \char `\\showthe}@|hyperpage}{270}
+\indexentry{category!12|hyperpage}{270}
 \indexentry{tracingoutput@{\tt  \char `\\tracingoutput}@|hyperpage}{270}
 \indexentry{showbox@{\tt  \char `\\showbox}@|hyperpage}{270}
 \indexentry{showboxdepth@{\tt  \char `\\showboxdepth}@|hyperpage}{271}
 \indexentry{showboxbreadth@{\tt  \char `\\showboxbreadth}@|hyperpage}{271}
 \indexentry{tracingstats@{\tt  \char `\\tracingstats}@|hyperpage}{272}
+\indexentry{tracing|)}{273}
 \indexentry{errmessage@{\tt  \char `\\errmessage}@|hyperpage}{275}
+\indexentry{errorcontextlines@{\tt  \char `\\errorcontextlines}@|hyperpage}{275}
 \indexentry{error patching|hyperpage}{275}
-\indexentry{errorcontextlines@{\tt  \char `\\errorcontextlines}@|hyperpage}{275}
 \indexentry{errhelp@{\tt  \char `\\errhelp}@|hyperpage}{276}
-\indexentry{overflow errors|hyperpage}{276}
+\indexentry{overflow errors|(hyperpage}{276}
 \indexentry{TeX, big@\csname TeX\endcsname , big|hyperpage}{277}
-\indexentry{keywords|hyperpage}{280}
-\indexentry{space, optional|hyperpage}{280}
+\indexentry{overflow errors|)}{278}
+\indexentry{keywords|(hyperpage}{280}
+\indexentry{category!13|hyperpage}{280}
+\indexentry{keywords|)}{280}
+\indexentry{space!optional|hyperpage}{280}
 \indexentry{TeX, version 2@\csname TeX\endcsname , version 2|hyperpage}{281}
 \indexentry{TeX, version 3@\csname TeX\endcsname , version 3|hyperpage}{281}
-\indexentry{table, {\sc  ascii}|hyperpage}{297}
-\indexentry{table, character codes|hyperpage}{298}
-\indexentry{font tables|hyperpage}{299}
-\indexentry{tables, font|hyperpage}{299}
-\indexentry{math symbols, lists of|hyperpage}{304}

File TeXbyTopic.pdf

Binary file modified.

File TeXbyTopic.tex

 
 %\nofiles
 
-\usepackage{comment,makeidx}
+\usepackage{comment,makeidx,multicol}
 \usepackage{svn-multi}
 \svnid{$Id: TeXbyTopic.tex 3 2008-02-02 11:19:13Z victor $}
 \usepackage{newcent}
 %
 % index
 %
+\def\indexterm#1{\emph{#1}\index{#1}}
+\def\indextermsub#1#2{\emph{#1 #2}\index{#1!#2}}
+\def\indextermbus#1#2{\emph{#1 #2}\index{#2!#1}}
 \def\term#1\par{\index{#1}}
 \def\howto#1\par{}
 \def\cstoidx#1\par{\index{#1@\cs{#1}@}}
 \def\endofchapter{\vfill\noindent}
 
 \title{\TeX\ by Topic, A \TeX nician's Reference}
-\date{document revision 1.2, may 2008}
+\date{document revision 1.3, December 2012}
 \author{Victor Eijkhout}
 \maketitle
 
 in the appropriate places later on; they are included here
 to make this chapter self-contained.
 
-%\point Four \TeX\ processors
 \section{Four \TeX\protect\ processors}
 
 The way \TeX\ processes its input can be viewed as
 One part of the activity here concerns changes to
 \TeX's internal state: assignments (including
 macro definitions) are typical activities in this
-\awp
 category. The other major thing happening on this level
 is the construction of horizontal, vertical, and
 mathematical lists.
 but they can be influenced by a number of parameters.
 \end{enumerate}
 
-%\point The input processor
 \section{The input processor}
 
 The input processor of \TeX\ is that part of \TeX\ that
 The remaining category is that of the parameter tokens;
 these will not be treated in this chapter.
 
-%\spoint Character input
 \subsection{Character input}
 
 For simple input text, characters are made into
 These states and the transitions between them are treated
 in Chapter~\ref{mouth}.
 
-%\spoint Two-level input processing
 \subsection{Two-level input processing}
 
 \TeX's input processor is in fact itself a two-level processor.
 Because of limitations of the terminal, the editor, or the operating
-\awp
 system, the user may not be able to input certain desired characters.
 Therefore, \TeX\ provides a mechanism to access
 with two superscript characters all of the available character
 to character tokens by coupling the category code
 to the character code.
 
-%\point The expansion processor
 \section{The expansion processor}
 
 \TeX's  expansion processor accepts a stream of tokens
 expanded very much as if the lists had been
 on the top level, instead of the argument to a command.
 
-%\spoint The process of expansion
 \subsection{The process of expansion}
 
 Expanding a token consists of the following steps:
 Deciding whether a token is expandable is
 a simple decision. Macros and active characters, 
 conditionals, and a number of primitive \TeX\ commands
-\awp
 (see the list on page~\pageref{expand:lijst})
 are expandable, other tokens are not.
 Thus the expansion processor replaces macros by their expansion,
 it evaluates conditionals and eliminates any irrelevant parts of 
 these, but tokens such as \cs{vskip} and character tokens,
 including characters such as dollars and braces, are passed untouched.
-%\endinput
-%\spoint Special cases: \cs{expandafter}, \cs{noexpand}, and \cs{the}
+
 \subsection{Special cases: \cs{expandafter}, \cs{noexpand}, and \cs{the}}
 
 As stated above,
 are not expanded further if this statement occurs
 inside an \cs{edef} macro definition.
 
-%\spoint Braces in the expansion processor
 \subsection{Braces in the expansion processor}
 
 Above, it was said that braces are passed as unexpandable
 is handled by the expansion processor 
 completely analogous to
 \begin{disp}\cs{iftrue} {\italic a}\cs{else} {\italic b}\cs{fi}\end{disp}
-\awp
 The result is a character token, independent of its category.
 
 However, in the context of macro expansion 
 Only balanced expressions
 are accepted here.
 
-%\point The execution processor
 \section{The execution processor}
 
 The execution processor builds lists: horizontal, vertical,
 
 Not all character tokens signal characters to be typeset:
 the execution processor can also encounter math shift
-\awp
 characters (by default~\n{\char`\$}) and beginning/end of group
 characters (by default \n{\char`\{} and~\n{\char`\}}).
 Math shift characters let \TeX\ enter or exit
 \count0=1\relax 2
 \end{verbatim}
 with that of \cs{empty}
-defined by \begin{verbatim}
+defined by
+\begin{verbatim}
 \def\empty{}
 \end{verbatim}
 in 
 the number {\tt 1} is assigned; in the second case 
 \cs{empty} expands to nothing, so {\tt 12} is assigned.
 
-%\point The visual processor
 \section{The visual processor}
 
 \TeX's output processor encompasses those algorithms that
 can not be broken into pieces, and, naturally, 
 shipping a box to the \n{dvi} file is irreversible.
 
-%\point Examples
 \section{Examples}
 
-%\spoint Skipped spaces
 \subsection{Skipped spaces}
 
 Skipped spaces provide an illustration of the view that
 \begin{verbatim}
 \penalty200 0
 \end{verbatim} 
-\awp
 which would place a penalty of \n{200}, and
 typeset the digit~\n0. Instead it expands to
 \begin{verbatim}
 \a0
 \end{verbatim}
 
-%\spoint Internal quantities and their representations
 \subsection{Internal quantities and their representations}
 
 \TeX\ uses various sorts of internal quantities,
       Macro in plain \TeX\ to make (most) spaces significant.
 \end{inventory}
 
-%\point Introduction
 \section{Introduction}
 
 \TeX's input processor scans input lines from a file or terminal, and
 internal states and of the category codes governing the
 transitions.
 
-%\point Initial processing
 \section{Initial processing}
 
 Input from a file (or from the user terminal, but this
 for \TeX.
 
 Computer systems differ with respect to 
-\term line! input\par\term line! end\par\term machine independence\par
+\index{line! input}\index{line! end}\index{machine independence}
 the exact definition of an input
 \mdqon
 line. The carriage return/""line feed
 \mdqoff
-\awp
 \message{slash-dash}%
 sequence terminating a line is most common,
 but some systems use just a line feed, and
 so that \TeX\ will perform the same on any system.
 For more on this, see Chapter~\ref{char}.
 
-%\point Category codes
 \section{Category codes}
 
 Each of the 256 character codes (0--255) has an
-\term category codes\par
-associated category code, though not necessarily always the same one.
+associated \indexterm{category code}, though not necessarily always the same one.
 There are 16 categories, numbered 0--15. 
 When scanning the input, \TeX\
 thus forms character-code--category-code pairs.
 later chapters.
 \begin{enumerate} \message{set counter}%\SetCounter:item=-1
 \setcounter{enumi}{-1}
-\item\label{ini:esc} Escape character; this signals the start of a control
-      sequence. \IniTeX\ makes the backslash \verb-\- (code~92)
-      an escape character.
-\item Beginning of group; such a character causes \TeX\ to enter a new
-      level of grouping. The plain format makes the open brace \verb-{-
-\mdqon
-      a beginning"-of-group character.
-\mdqoff
-\item End of group; \TeX\ closes the current level of grouping.
-      Plain \TeX\ has  the closing brace \verb-}- as end-of-group
-      character.
-\item Math shift; this is the opening and closing delimiter for
-      math formulas. Plain \TeX\ uses the dollar sign~\verb-$-
-      for this.
-\item Alignment tab; the column (row) separator in tables
-      made with \cs{halign} (\cs{valign}). In plain
-      \TeX\ this is the ampersand~\verb-&-.
-\item\label{ini:eol} End of line; a character that \TeX\ considers
-      to signal the
-      end of an input line.
-      \IniTeX\ assigns this code to the \gram{return}, that is, code~13.
-      Not coincidentally, 13~is also the value that \IniTeX\
-      assigns to the \cs{endlinechar} parameter; see above.
-\awp
-\item Parameter character; this indicates parameters for macros.
-      In plain \TeX\ this is the hash sign~\verb-#-.
-\item Superscript; this precedes superscript expressions 
-      in math mode. It is also used to denote character
-      codes that cannot
-      be entered in an input file; see below. 
-      In plain \TeX\ this is the circumflex~\verb-^-.
-\item Subscript; this precedes subscript expressions in math mode.
-      In plain \TeX\ the underscore~\verb-_- is used for this.
-\item Ignored; characters of this category are removed
-      from the input, and have therefore no influence on
-      further \TeX\ processing. In plain \TeX\ this is
-      the \gr{null} character, that is, code~0.
-\item\label{ini:sp} Space; space characters receive special treatment.
-      \IniTeX\ assigns this category to the \ascii{} \gr{space}
-      character, code~32.
-\item\label{ini:let} Letter; in \IniTeX\ only the characters \n{a..z}, \n{A..Z}
-      are in this category. Often, macro packages make
-      some `secret' character (for instance~\n@) into a letter.
-\item\label{ini:other} Other; \IniTeX\ puts everything that is 
-      not in the other categories into this category. Thus
-      it includes, for instance, digits and punctuation.
-\item Active; active characters function as a \TeX\ command,
-      without being preceded by an escape character.
-      In plain \TeX\ this is only the tie character~\verb-~-,
-      which is defined to produce
-      an unbreakable space; see page~\pageref{tie}.
-\item\label{ini:comm} Comment character; from a comment character onwards,
-      \TeX\ considers the rest of an input line to be
-      comment and ignores it. In \IniTeX\ the  per cent sign \verb-%-
-      is made a comment character.
-\item\label{ini:invalid} Invalid character; this category is for characters that
-      should not appear in the input. \IniTeX\ assigns the
-      \ascii\ \gr{delete} character, code~127, to this category.
+\item\label{ini:esc}\index{category!0} Escape character; this signals
+  the start of a control sequence. \IniTeX\ makes the backslash
+  \verb-\- (code~92) an escape character.
+\item\index{category!1} Beginning of group; such a character causes
+  \TeX\ to enter a new level of grouping. The plain format makes the
+  open brace \verb-{- \mdqon a beginning"-of-group character.  \mdqoff
+\item\index{category!2} End of group; \TeX\ closes the current level
+  of grouping.  Plain \TeX\ has the closing brace \verb-}- as
+  end-of-group character.
+\item\index{category!3} Math shift; this is the opening and closing
+  delimiter for math formulas. Plain \TeX\ uses the dollar
+  sign~\verb-$- for this.
+\item\index{category!4} Alignment tab; the column (row) separator in
+  tables made with \cs{halign} (\cs{valign}). In plain \TeX\ this is
+  the ampersand~\verb-&-.
+\item\index{category!5}\label{ini:eol} End of line; a character that
+  \TeX\ considers to signal the end of an input line.
+  \IniTeX\ assigns this code to the \gram{return}, that is, code~13.
+  Not coincidentally, 13~is also the value that \IniTeX\ assigns to
+  the \cs{endlinechar} parameter; see above.
+\item\index{category!6} Parameter character; this indicates parameters
+  for macros.  In plain \TeX\ this is the hash sign~\verb-#-.
+\item\index{category!7} Superscript; this precedes superscript
+  expressions in math mode. It is also used to denote character codes
+  that cannot be entered in an input file; see below.  In plain
+  \TeX\ this is the circumflex~\verb-^-.
+\item\index{category!8} Subscript; this precedes subscript expressions
+  in math mode.  In plain \TeX\ the underscore~\verb-_- is used for
+  this.
+\item\index{category!9} Ignored; characters of this category are
+  removed from the input, and have therefore no influence on further
+  \TeX\ processing. In plain \TeX\ this is the \gr{null} character,
+  that is, code~0.
+\item\index{category!10}\label{ini:sp} Space; space characters receive
+  special treatment.  \IniTeX\ assigns this category to the \ascii{}
+  \gr{space} character, code~32.
+\item\index{category!11}\label{ini:let} Letter; in \IniTeX\ only the
+  characters \n{a..z}, \n{A..Z} are in this category. Often, macro
+  packages make some `secret' character (for instance~\n@) into a
+  letter.
+\item\index{category!12}\label{ini:other} Other; \IniTeX\ puts
+  everything that is not in the other categories into this
+  category. Thus it includes, for instance, digits and punctuation.
+\item\index{category!13} Active; active characters function as a
+  \TeX\ command, without being preceded by an escape character.  In
+  plain \TeX\ this is only the tie character~\verb-~-, which is
+  defined to produce an unbreakable space; see page~\pageref{tie}.
+\item\index{category!14}\label{ini:comm} Comment character; from a
+  comment character onwards, \TeX\ considers the rest of an input line
+  to be comment and ignores it. In \IniTeX\ the per cent sign \verb-%-
+  is made a comment character.
+\item\index{category!15}\label{ini:invalid} Invalid character; this
+  category is for characters that should not appear in the
+  input. \IniTeX\ assigns the \ascii\ \gr{delete} character, code~127,
+  to this category.
 \end{enumerate}
 
 The user can change the mapping 
 \end{verbatim}
 in order to switch on and off the `secret' character~\n@
 (see below).
-\awp
 
 The \cs{catcode} command can also be used to query category
-codes: in \begin{verbatim}
+codes: in 
+\begin{verbatim}
 \count255=\catcode`\{
 \end{verbatim}
 it yields a number, which can be assigned.
 \TeX\ expands whatever is after \cs{ifcat} until two 
 unexpandable tokens are found; these are then compared
 with respect to their category codes. Control sequence
-tokens are considered to have category code~16,
+tokens are considered to have category code~16\index{category!16},
 which makes them all equal to each other, and unequal to
 all character tokens.
 Conditionals are treated further in Chapter~\ref{if}.
 
-%\point From characters to tokens
 \section{From characters to tokens}
 
 The input processor
 \item Control sequence tokens, of which there are two kinds:
 	an escape character 
 \ldash that is,\message{ldash nobreak?}
-a character of category~0 \rdash  followed
+a character of category~0\index{category!0} \rdash  followed
 by a string of `letters' is
 lumped together into a {\em control word}, which is a single token.
 An escape character followed by a single character that is not of
-category~11, letter, is made into a 
-{\em control symbol}\term control! symbol\par.
+category~11\index{category!11}, letter, is made into a 
+\indextermsub{control}{symbol}.
 If the distinction between control word and control symbol is
 irrelevant, both are called 
-{\em control sequences}\term control! sequence\par.
+\indextermsub{control}{sequence}.
 
 The control symbol that results from an escape character followed
 \csterm \char32\par
 by a space character is called 
-{\em control space}\term control! space\par.
-
-\item Parameter tokens: a parameter character 
-	\ldash that is, a character of category~6, by default~\verb=#= \rdash 
-followed by a digit \n{1..9} is replaced by a parameter token.
-Parameter tokens are allowed only in the context of
-macros (see Chapter~\ref{macro}).
+\indextermbus{control}{space}.
+
+\item Parameter tokens: a parameter character \ldash that is, a
+  character of category~6\index{category!6}, by default~\verb=#=
+  \rdash followed by a digit \n{1..9} is replaced by a parameter
+  token.  Parameter tokens are allowed only in the context of macros
+  (see Chapter~\ref{macro}).
 
 A macro parameter character followed by another macro parameter
 character (not necessarily with the same character code)
 
 \end{itemize}
 
-%\point[input:states] The input processor as a finite state automaton
 \section{The input processor as a finite state automaton}
 \label{input:states}
 
 \TeX's input processor can be considered to be a finite state 
-automaton with three internal states,
+automaton with three \indextermbus{internal}{states},
 that is, at any moment in time it is in one of three states,
-\term state! internal\par
 and after transition to another state there is no memory of the
-\awp
 previous states. 
 
-%\spoint State {\italic N}: new line
 \subsection{State {\italic N}: new line}
 
 State {\italic N} is entered at the beginning of each new input line,
-and that is the only time \TeX\ is in this state.
-In state~{\italic N} all space tokens (that is, characters of category~10)
-are ignored; an end-of-line character is converted
-into a \cs{par} token.
-All other tokens bring \TeX\ into state~{\italic M}.
-
-%\spoint State {\italic S}: skipping spaces
+and that is the only time \TeX\ is in this state.  In state~{\italic
+  N} all space tokens (that is, characters of
+category~10\index{category!10}) are ignored; an end-of-line character
+is converted into a \cs{par} token.  All other tokens bring \TeX\ into
+state~{\italic M}.
+
 \subsection{State {\italic S}: skipping spaces}
 
 State {\italic S} is entered in any mode after a control word or
 is not a finite state automaton.
 This is because during the scanning of the input line
 all trios consisting of two {\sl equal\/} superscript characters 
-\term \char94\char94\ replacement\par
-(category code~7) and a subsequent character
+\index{\char94\char94\ replacement}
+(category code~7\index{category!7}) and a subsequent character
 (with character code~$<128$)
 are replaced by a single character with a character
 code in the range 0--127,
 and \gr{delete} characters; the corresponding 
 positions 13 and 127 in a font are
 accessible as \verb>^^M> and~\verb>^^?>.
-However, since the category of \verb>^^?> is 15, invalid,
+However, since the category of \verb>^^?> is 15\index{category!15}, invalid,
 that has to be changed before character 127 can be accessed.
-\awp
 
 In \TeX3 this mechanism has been 
 modified and extended to access 256 characters:
 of characters, starting with~\verb>^^>, is performed in advance. 
 In actual practice this is not possible,
 because an
-input line may assign category code~7 to some 
+input line may assign category code~7\index{category!7} to some 
 character other than the circumflex, thereby 
 influencing its further processing.
 
 %\spoint 0: escape character
 \subsection{0: escape character}
 
-When an escape character is encountered\term character !escape\par,
+When an \indextermbus{escape}{character} is encountered,
 \TeX\ starts forming a control sequence token.
 Three different types of control sequence can result,
 depending on the category code of the character that
 follows the escape character.
 
 \begin{itemize}\item
-If the character following the escape is of category~11,
+If the character following the escape is of category~11\index{category!11},
 letter, then \TeX\ combines the escape,
 that character and all following
 characters of category~11, into a control word.
 After that \TeX\
 goes into state~{\italic S}, skipping spaces.
 \item
-With a character of category~10, space,
-a control symbol called control space results, 
-and \TeX\ goes into state~{\italic S}.
+With a character of category~10\index{category!10}, space, a control
+symbol called control space results, and \TeX\ goes into
+state~{\italic S}.
 \item
 With a character of any other category code 
 a control symbol results, and \TeX\ goes into state~{\italic M},
 \TeX\ discards the rest of the
 line, and starts processing the next line,
 in state~{\italic N}. If the current state was~{\italic N},
-\awp
 that is, if the
 line so far contained at most spaces, a~\cs{par} token
 is inserted; if the state was~{\italic M}, a~space token is inserted,
 %\spoint 6: parameter
 \subsection{6: parameter}
 
-Parameter characters \ldash usually~\verb=#= \rdash  can be
-\term character !parameter\par
+A \indextermbus{parameter}{character} \ldash usually~\verb=#= \rdash  can be
 followed by either a digit \n{1..9} 
 in the context of macro definitions
 \altt
 (and the state does not change); 
 in state~{\italic M} \TeX\ goes into state~{\italic S}, inserting
 a token that has category~10 and character code~32 
-(\ascii{} space)\term character !space\par,
-that is, the character code of the space token may change
+(\ascii{} space).
+This implies that the character code of the space token may change
 from the character that was actually input.
 
 %\spoint 14: comment
 the state it was in.
 However, in the context of a control symbol an invalid character
 is acceptable. Thus \verb>\^^?> does not cause any error messages.
-\awp
 
 %\point[cat12] Letters and other characters
 \section{Letters and other characters}
 For example,
 \begin{disp}\verb>\string\end>\quad gives four character tokens\quad
 \n{\char92$_{12}$e$_{12}$n$_{12}$d$_{12}$} \end{disp}
-Note that
-\n{\char92$_{12}$}\term character !escape\par\label{use:escape}
+Note that the \indextermbus{character !escape}
+\n{\char92$_{12}$}\label{use:escape}
 is used in the output only because the
 value of \cs{escapechar} is the character code for the
 backslash. Another value of \cs{escapechar} leads to another
        \string\file#1.{\filenumber=#1 }
 }
 \end{verbatim}
-\awp
 Now the sequence \verb>\string\file> gives the four
 letters \n{f$_{12}$i$_{12}$l$_{12}$e$_{12}$}; 
 the \cs{expandafter} commands let this be executed prior to
 Confining this value to a group makes it necessary to use~\cs{gdef}.
 
 
-%\global\def\pppar.{\par}
-%\point The \lowercase{\n{\char92par}} token
 \section{The \lowercase{\n{\char92par}} token}
 
 \TeX\ inserts a \csterm par\par\ token into the input after
-\term line !empty\par
+an \indextermbus{empty}{line}, that is, when 
 encountering a character with category code~5,
 end of line, in state~{\italic N}.
 It is good to realize when exactly this happens:
 Control sequences that have been \cs{let} to \cs{par}
 (such as \cs{endgraf}) are allowed, however.
 
-%\point Spaces
 \section{Spaces}
 
-This section treats some of the aspects of
-\term token !space\par
-space characters and space tokens in the initial processing
-stages of \TeX. The topic of spacing in text typesetting
-is treated in Chapter~\ref{space}.
-
-
-%\spoint Skipped spaces
+This section treats some of the aspects of the
+\indextermbus{space}{character} and \indextermbus{space}{token} in the
+initial processing stages of \TeX. The topic of spacing in text
+typesetting is treated in Chapter~\ref{space}.
+
+
 \subsection{Skipped spaces}
 
 From the discussion of the internal states of \TeX's 
 input processor
 it is clear that some spaces in the input never reach the
-\awp
 output; in fact they never get past the input processor.
 These are for instance the spaces at the beginning
 of an input line, and the spaces following the one
 %\spoint Optional spaces
 \subsection{Optional spaces}
 
-The syntax of \TeX\ has the concepts of `optional spaces'
-\term space! optional \par
+The syntax of \TeX\ has the concepts of \indextermbus{optional}{spaces}
 and `one optional space':
 \begin{disp}\gr{one optional space} $\longrightarrow$
 \gr{space token} $|$ \gr{empty}\nl
 An empty line
 after \cs{ignorespaces} will still insert a \cs{par}, however.
 \end{itemize}
-\awp
 
 %\spoint Ignored and obeyed spaces
 \subsection{Ignored and obeyed spaces}
 The active spaces in \LaTeX\ will immediately switch to horizontal
 mode, so that each space is significant.
 
-%\spoint More ignored spaces
 \subsection{More ignored spaces}
 
 There are three further places where \TeX\ will ignore space tokens.
 \item After an alignment tab character spaces are ignored
 (see Chapter~\ref{align}).
 \end{enumerate}
-\awp
-
-%\spoint \gr{space token}
+
 \subsection{\gr{space token}}
 
 Spaces are anomalous in \TeX.
 For instance, the \cs{string} operation 
-assigns category code~12 to all
-characters except spaces; they receive category~10.
+assigns category code~12\index{category!12} to all
+characters except spaces; they receive category~10\index{category!10}.
 Also, as was said above, \TeX's input processor converts (when in
 state~{\italic M}) all tokens with category code~10 into real spaces:
 they get character code~32.
 Any character token with category~10 is called
-\gram{space token}\term space! token\par.
+\gram{space token}\indexterm{space! token}.
 Space tokens with character
-code not equal to 32 are called `funny spaces'
-\term space !funny\par.
+code not equal to 32 are called \indextermbus{funny}{spaces}.
 
 \begin{example} After giving the character \n Q 
 the category code of a space character, 
 
 One way to
 let spaces be typeset by \n{\char32}
-is to set \begin{verbatim}
+is to set
+\begin{verbatim}
 \catcode`\ =12
 \end{verbatim}
 \TeX\ will then take a space as the instruction to
 typeset character number~32. Moreover, subsequent spaces
 are not skipped, but also typeset this way: state~{\italic S}
-\awp
 is only entered after a character with category code~10.
 Similarly, spaces after a control sequence are made
 visible by changing the category code of the space character.
 
-%\point More about line ends
 \section{More about line ends}
 
 \TeX\ accepts lines from an input file, excluding any line
-terminator that may be used\term line! end\par.
+terminator that may be used.
 Because of this, \TeX's behaviour here is not dependent
-on the operating system and the line terminator it uses (\key{CR}-\key{LF},
+on the operating system and the \indextermsub{line}{terminator}
+it uses (\key{CR}-\key{LF},
 \key{LF}, or none at all for block storage).
 From the input line any trailing spaces are removed.
 The reason for this is historic; it has to do with 
 unless this parameter has a value that
 is negative or more than~255. 
 Note that this terminator character
-need not have category code~5, end of line.
-
-%\spoint Obeylines
+need not have category code~5\index{category!5}, end of line.
+
 \subsection{Obeylines}
 
 Every once in a while it is desirable that the line ends in
 To remedy this,
 the definition itself has to be
 performed in a context where \verb>^^M> is an active
-character:\begin{verbatim}
+character:
+\begin{verbatim}
 {\catcode`\^^M=13 %
  \gdef\obeylines{\catcode`\^^M=13 \def^^M{\par}}%
 }
 remedies this:
 now every line end forces \TeX\ to start a paragraph. For empty
 lines this will then be an empty paragraph.
-\awp
 
 %\spoint Changing the \cs{\endlinechar}
 \subsection{Changing the \cs{endlinechar}}
 
 Of course, in many cases it is not necessary to substitute
 another end-of-line character; a~much simpler solution 
-is then to put \begin{verbatim}
+is then to put
+\begin{verbatim}
 \endlinechar=-1 
 \end{verbatim}
 which treats all lines as if they end with a comment.
 \subsection{The input processor as a separate process}
 
 \TeX's levels of processing are all working at the
-\awp
 same time and incrementally, but conceptually they can often be
 considered to be separate processes that each accept the
 completed output of the previous stage. The juggling with
 The input processor, the part
 of \TeX\ that builds tokens, in scanning this call
 skips the space before the zero, so the expansion of this
-call is \begin{verbatim}
+call is
+\begin{verbatim}
 \count42=8000
 \end{verbatim}
 It would be incorrect to reason
 
 Considering the tokenizing of \TeX\ to be a separate process
 is a convenient view, but sometimes it leads to confusion.
-The line \begin{verbatim}
+The line
+\begin{verbatim}
 \catcode`\^^M=13{}
 \end{verbatim}
-\awp
 makes the line end active,
 and subsequently gives an `undefined control sequence' error
 for the line end of this line itself. Execution of the commands
 on the line thus influences the scanning process of that
 same line.
 
-By contrast, \begin{verbatim}
+By contrast,
+\begin{verbatim}
 \catcode`\^^M=13
 \end{verbatim}
 does not give an error.
 \label{char:code}
 
 Conceptually it is easiest to think that \TeX\ works with
-\term character! codes\par
 characters internally, but in fact
-\TeX\ works with integers: the `character codes'. 
+\TeX\ works with integers: the \indextermsub{character}{codes}. 
 
 The way characters are encoded in a computer may differ
 from system to system.
 token or
 a single-character control sequence.
 Thus both \verb.\count`a. and \verb.\count`\a. are synonyms
-\awp
 for \verb.\count97.. See also Chapter~\ref{number}.
 
 The possibility of a single-character control
 sequence is necessary in certain cases such as
 \begin{disp}\verb>\catcode`\%=11>\quad or\quad \verb>\def\CommentSign{\char`\%}>\end{disp}
 which would be misunderstood if the backslash were left out.
-For instance \begin{verbatim}
+For instance
+\begin{verbatim}
 \catcode`%=11
 \end{verbatim}
 would consider
 comes in the final stages of processing. 
 In effect it says `typeset character number
 so-and-so'.
-\awp
 
 There is a construction to let a control sequence stand
 for some character code: the \csterm chardef\par\ command.
 the full definition of \gr{number} is given in Chapter~\ref{number}). 
 In the plain format 
 the latter possibility is used in
-definitions such as \begin{verbatim}
+definitions such as
+\begin{verbatim}
 \chardef\%=`\%
 \end{verbatim}
 which could have been given equivalently as
 Tokens defined with \cs{mathchardef} can also be used this
 way.
 
-%\spoint Implicit character tokens: \cs{let}
 \subsection{Implicit character tokens: \protect\cs{let}}
 
 Another construction defining a control sequence
-\term character !implicit\par
 to stand for (among other things)
 a character is~\cs{let}\cstoidx let\par:
 \begin{disp}\cs{let}\gr{control sequence}\gr{equals}\gr{token}\end{disp}
 with a character token on the right hand side of the (optional)
-equals sign. The result is called an implicit character token.
+equals sign. The result is called an \indextermbus{implicit}{character} token.
 (See page~\pageref{let} for a further discussion of~\cs{let}.)
 
 In the
 \begin{verbatim}
 \catcode`|=2 \let\b=|
 \end{verbatim}
-the tests \begin{verbatim}
+the tests
+\begin{verbatim}
 \if\b|
 \end{verbatim}
-and \begin{verbatim}
+and
+\begin{verbatim}
 \ifcat\b}
 \end{verbatim}
 are both true.
 as it would require typing two characters that can ordinarily
 not be input.
 With the extension in \TeX\ version~3 it would also be possible
-to write \begin{verbatim}
+to write
+\begin{verbatim}
 {\catcode`\,=7
 \global\let\sp=,,5e \global\let\sb=,,5f}
 \end{verbatim}
 
 Finding out just what a control sequence has been defined to be with
 \cs{let} can be done using \cs{meaning}:
-the sequence \begin{verbatim}
+the sequence
+\begin{verbatim}
 \let\x=3 \meaning\x
 \end{verbatim}
 gives
-`\n{the character 3}'.\awp
+`\n{the character 3}'.
 
 %\point Accents
 \section{Accents}
 
-Accents can be placed by the
-\gr{horizontal command}~\csterm accent\par\term accents\par
+\emph{Accents}\index{accents} can be placed by the
+\gr{horizontal command}~\csterm accent\par
 \label{character}:
 \begin{disp}\cs{accent}\gr{8-bit number}\gr{optional assignments}%
-     \gr{character}\end{disp}
-where \gr{character} is a character of category 11 or~12,
- a~\cs{char}\gr{8-bit number} command,
-or a~\cs{chardef} token. If none of these
-four types of \gr{character} follows, the accent is taken to be a
-\cs{char} command itself; this gives an accent `suspended
-in mid-air'. Otherwise the accent is placed
-on top of the following character.
-Font changes between the accent and the character can be effected
-by the \gr{optional assignments}.
+     \gr{character}\end{disp} 
+where \gr{character} is a character of
+category 11\index{category!11} or~12\index{category!12},
+a~\cs{char}\gr{8-bit number} command, or a~\cs{chardef} token. If none
+of these four types of \gr{character} follows, the accent is taken to
+be a \cs{char} command itself; this gives an accent `suspended in
+mid-air'. Otherwise the accent is placed on top of the following
+character.  Font changes between the accent and the character can be
+effected by the \gr{optional assignments}.
 
 An unpleasant implication of the fact that an \cs{accent} command
 has to be followed by a \gr{character} is that it is not
 it does not drop the accent for characters with descenders.
 
 The horizontal positioning of an accent is controlled by
-\cs{fontdimen1}, slant per point. Kerns are used
+\cs{fontdimen1}, \indextermsub{slant}{per point}. Kerns are used
 for the horizontal movement. Note that, although they
 are inserted automatically, these kerns are classified
 as {\italic explicit\/} kerns. Therefore they inhibit hyphenation
 \setbox0=\hbox{\it \`l}
 \showbox0
 \end{verbatim}
-gives\begin{verbatim}
+gives
+\begin{verbatim}
 \hbox(9.58334+0.0)x2.55554
 .\kern -0.61803 (for accent)
 .\hbox(6.94444+0.0)x5.11108, shifted -2.6389
 \end{verbatim}
 Note that the accent is placed first, so afterwards the italic
 correction of the last character is still available.
-\awp
-
-%\point Testing characters
+
 \section{Testing characters}
 
 Equality of character codes is tested by \cs{if}:
 
 An unexpandable control
 sequence is considered to have character code 256 and
-category code~16 (so that it is unequal to anything except
+category code~16\index{category!16}
+(so that it is unequal to anything except
 another control sequence), except in the case
 where it had been \cs{let} to a non-active character token.
 In that case it is considered to have the character code
 \subsection{Uppercase and lowercase codes}
 \label{uc/lc}
 
-To each of the character codes correspond
-\term uppercase\par\term lowercase\par
-\cstoidx lccode\par\cstoidx uccode\par
-an uppercase code and a lowercase code (for still more codes see below).
+To each of the character codes correspond\cstoidx lccode\par\cstoidx uccode\par
+an \indextermsub{uppercase}{code}\index{code!uppercase|see{uppercase, code}}
+and a \indextermsub{lowercase}{code}\index{code!lowercase|see{lowercase, code}}
+(for still more codes see below).
 These can be assigned
 by 
 \begin{Disp}\cs{uccode}\gram{number}\gr{equals}\gram{number}\end{Disp}
 by their uppercase and lowercase code respectively
 if these are non-zero,
 without changing the category codes. 
-\awp
 
 The argument of \cs{uppercase} and \cs{lowercase}
 is a \gr{general text}, which is defined as
 for implementations of \TeX\ for non-roman alphabets;
 see page 370 of \TeXbook, \cite{Knuth:TeXbook}.
 
-%\spoint Creative use of \cs{uppercase} and \cs{lowercase}
 \subsection{Creative use of \cs{uppercase} and \cs{lowercase}}
 
 The fact that \cs{uppercase} and \cs{lowercase} do not change
 \begin{verbatim}
 \lccode`a=\mycount \chardef\terminal=16
 \end{verbatim}
-\awp
 \begin{verbatim}
 \lowercase{\write\terminal{a}}
 \end{verbatim}
 \section{Codes of a character}
 \label{codename}
 
-Each character code has a number of \gr{codename}s associated
-\term codenames\par
+Each character code has a number of \gr{codename}s 
+associated\indexterm{codenames}
 with it. These are integers in various ranges that determine
 how the character is treated in various contexts, or
 how the occurrence of that character changes the workings
 In the above examples the typewriter font was selected, because
 \cstoidx escapechar\par
 the Computer Modern roman font does not have a backslash character.
-\awp
 However,
 \TeX\ need not have used the backslash character to display
 a control sequence: it uses character number \cs{escapechar}.
 \subsection{Category codes of a \cs{string}}
 
 The characters that are the result of a \cs{string} command have 
-category code~12, except for any spaces in 
+category code~12\index{category!12}, except for any spaces in 
 a stringed control sequence;
-they have category code~10. Since inside a control
+they have category code~10\index{category!10}. Since inside a control
 sequence there are no category codes, 
 any spaces resulting from \cs{string} are
 of necessity only space {\em characters}, that is,
 \chapter{Fonts}\label{font}
 
 In text mode \TeX\ takes characters from a `current font'.
-\term fonts\par
-This chapter describes how fonts are identified to \TeX,
+This chapter describes how \indexterm{fonts} are identified to \TeX,
 and what attributes a font can have.
 
 \label{cschap:font}\label{cschap:fontname}\label{cschap:nullfont}\label{cschap:hyphenchar}\label{cschap:defaulthyphenchar}\label{cschap:fontdimen}\label{cschap:char47}\label{cschap:noboundary}
 \MyFont
 \end{verbatim}
 The status of the current font
-can be queried: the sequence \begin{verbatim}
+can be queried: the sequence
+\begin{verbatim}
 \the\font
 \end{verbatim}
 produces the control sequence for the current font.
 three fonts: one for text style, one for script style,
 and one for scriptscript style. This is treated
 in Chapter~\ref{mathchar}.
-\awp
 
 See \cite{S} for a consistent terminology of fonts and typefaces.
 
 \gr{font range}\gr{4-bit number}\nl
 \gr{font range} $\longrightarrow$ 
 \cs{textfont} $|$ \cs{scriptfont} $|$ \cs{scriptscriptfont}\end{disp}
-\awp
 A \gr{fontdef token} is a control sequence defined by \cs{font},
 or the predefined control sequence \cs{nullfont}.
 The concept of \gr{family member} is only 
 \cstoidx fontname\par
 external name of fonts can be retrieved:
 \begin{Disp}\cs{fontname}\gr{font}\end{Disp}
-gives a sequence of character tokens of category~12
-(but space characters get category~10) that spells the font file
+gives a sequence of character tokens of category~12\index{category!12}
+(but space characters get category~10\index{category!10}) that spells the font file
 name, plus an \gr{at clause} if applicable.
 
 \begin{example} After
 \section{Font information}
 
 During a run of \TeX\ the main information needed about the
-\term \n{tfm} files\par
+\index{\n{tfm} files}%
 font consists of the dimensions of the characters.
 \TeX\ finds these in the font metrics files, which usually have
 extension \n{.tfm}. Such files
 \label{font:dims}
 
 Text fonts need to have at least seven \csidx{fontdimen} parameters
+to describe \indextermsub{font}{dimensions}
 (but \TeX\ will take zero for unspecified parameters);
-\term font! dimensions\par
 math symbol and math extension fonts have more
 (see page~\pageref{fam23:fontdims}).
 For text fonts the minimal set of seven comprises the following:
 \begin{enumerate} \item the slant per point; this dimension is used
     for the proper horizontal positioning of accents;
-\awp
 \item the interword space: this is used unless the user
     specifies an explicit \cs{spaceskip};
     see Chapter~\ref{space};
 \subsection{Kerning}
 
 Some combinations of characters should be moved closer
-\term kerning\par
 together than would be the case if their bounding boxes
-were to be just abutted. This fine spacing is called kerning,
+were to be just abutted. This fine spacing is called \indexterm{kerning},
 and a proper kerning is as essential to a font as the
 design of the letter shapes.
 
 %\spoint Italic correction
 \subsection{Italic correction}
 
-The primitive control symbol \verb-\/- inserts the `italic
-\term italic correction\par\cstoidx /\par
-correction' of the previous character or ligature.
+The primitive control symbol \verb-\/- inserts the 
+\indexterm{italic correction}\cstoidx /\par
+of the previous character or ligature.
 Such a correction may be necessary owing to the definition
-of the `bounding box' of a character. This box always
+of the \indextermbus{bounding}{box} of a character. This box always
 has vertical sides, and the width of the character as \TeX\
 perceives it is the distance between these sides.
 However, in order to achieve proper spacing  for slanted or
 bounding boxes. The italic correction is then needed if
 such an overhanging character is followed by a 
 character from a non-slanting typeface.
-\awp
 
 Compare for instance\message{Visible italic correction!}
 \begin{Disp} `{\italic\TeX} has'
 %\spoint Ligatures
 \subsection{Ligatures}
 
-Replacement of character sequences by ligatures is controlled
-\term ligatures\par
+Replacement of character sequences by \indexterm{ligatures} is controlled
 by information in the \n{tfm} file of a font.
 Ligatures are formed from \gr{character} commands:
 sequences such as \n{fi} are replaced by `fi' in some fonts.
 
 \endofchapter
 
-\chapter{Boxes}\label{boxes}
+\chapter{Boxes}\label{boxes}\index{boxes|(}
 
 The horizontal and vertical boxes of \TeX\ are containers for
-\term box\par
 pieces of horizontal and vertical lists.
 Boxes can be stored in box registers. 
 This chapter treats box registers and such
  
 \item [\cs{hsize}] 
       Line width used for text typesetting inside a vertical box.
-\awp
 
 \item [\cs{vsize}] 
       Height of the page box.
 
 \end{inventory}
 
-%\point Boxes
 \section{Boxes}
 
 In this chapter we shall look at boxes. Boxes are containers
 
 The \cs{vsplit} operation is treated in Chapter~\ref{page:break}.
 
-%\point Box registers
 \section{Box registers}
 
 There are 256 box registers, numbered 0--255. 
-\term box! registers\par
 Either a box register is  empty (`void'), or it contains a horizontal
 or vertical box.
 This section discusses specifically box {\em registers};
 the sizes of boxes, and the way material is arranged inside them,
 is treated below.
-\awp
 
 %\spoint Allocation: \cs{newbox}
 \subsection{Allocation: \cs{newbox}}
 \begin{verbatim}
 \setbox\MyBox=...
 \end{verbatim}
-or \begin{verbatim}
+or
+\begin{verbatim}
 \box\MyBox
 \end{verbatim}
 and so on.
 since in effect they contribute a partial
 horizontal or vertical list (see also Chapter~\ref{hvmode}).
 See below for more information on unboxing registers.
-\awp
 
 %\spoint Testing: \cs{ifvoid}, \cs{ifhbox}, \cs{ifvbox}
 \subsection{Testing: \cs{ifvoid}, \cs{ifhbox}, \cs{ifvbox}}
 in the case of the main vertical list.
 The \cs{lastbox} is then always void.
 
-As an example, the statement \begin{verbatim}
+As an example, the statement
+\begin{verbatim}
 {\setbox0=\lastbox}
 \end{verbatim}
 removes
 any information about this
 displacement due to such a command is lost when
 the \cs{lastbox} is taken from the list.
-\awp
 
 %\point Natural dimensions of boxes
 \section{Natural dimensions of boxes}
 \subsection{Dimensions of created horizontal boxes}
 
 Inside an \csidx{hbox} all constituents are lined up next to each other,
-\term box! dimensions\par
 with their reference points on the baseline of the box,
 unless they are moved explicitly in the vertical direction
 by \cs{lower} or~\cs{raise}.
 The calculation of height and depth is different
 for vertical boxes constructed by \cs{vbox} and \cs{vtop}.
 The ground rule is that
-\awp
 a \cs{vbox} has a reference point that lies on
 the baseline of its last component,
 and a \cs{vtop} has its reference point on the baseline of the
 the calculations  in the plain \TeX\ output routine;
 see Chapter~\ref{output}.
 
-%\spoint Examples
 \subsection{Examples}
 
 Horizontal boxes are relatively straightforward. Their width is the
 
 Vertical boxes are more troublesome than horizontal boxes.
 Let us first treat their width.
-After \begin{verbatim}
+After
+\begin{verbatim}
 \setbox0=\hbox{\hskip 10pt}
 \end{verbatim}
 the box in the
 \begin{verbatim}
 \setbox1=\vbox{\moveleft 5pt \copy0}
 \end{verbatim}
-\awp
 the \cs{box1} will have width \n{5pt}; material to the
 left of the reference point is not accounted for in the
 width of a vertical box. With
 \vbox{\vskip 5pt \hbox{\vrule height 5pt depth 5pt}}
 \end{verbatim}
 has height \n{10pt} and depth \n{5pt}, 
-and \begin{verbatim}
+and
+\begin{verbatim}
 \vbox{\vskip -5pt \hbox{\vrule height 5pt depth 5pt}}
 \end{verbatim}
 has height \n{0pt} and depth~\n{5pt}.
 \vtop{\vskip 5pt \hbox{\vrule height 5pt depth 5pt}}
 \end{verbatim}
 has height \n{0pt} and depth \n{15pt}, 
-and \begin{verbatim}
+and
+\begin{verbatim}
 \vtop{\vskip -5pt \hbox{\vrule height 5pt depth 5pt}}
 \end{verbatim}
 has height \n{0pt} and depth~\n{5pt};
 Prescribing the size of the box is done by
 \begin{disp}\cs{hbox} \n{to} \gr{dimen} \n{\lb...\rb},
      \cs{vbox} \n{to} \gr{dimen} \n{\lb...\rb}\end{disp}
-\awp
 If stretchable or shrinkable glue is present in the box,
 it is stretched or shrunk in order to give the box the
 specified size. Associated with this glue setting is a badness value
 Note that a \gr{box size assignment} is a \gr{global assignment}:
 its effect transcends any groups in which it occurs
 (see Chapter~\ref{group}).
-Thus the output of \begin{verbatim}
+Thus the output of
+\begin{verbatim}
 \setbox0=\hbox{---} {\wd0=0pt} a\box0b
 \end{verbatim}
 is `{\setbox0=\hbox{---}{\wd0=0pt}a\box0b}\kern.5em'.
 \mdqoff
 horizontal box is perfectly admissible.
 
-%\spoint Moving boxes around
 \subsection{Moving boxes around}
 
 In a horizontal box all constituent elements are lined up
 reference point of the box. Any box inside a horizontal
 box can be lifted or dropped using the macros
 \cs{raise} and~\cs{lower}.
-\awp
 
 Similarly, in a vertical box all constituent elements
 are lined up with their reference points underneath one another,
 Only boxes can be shifted thus; these operations cannot 
 be applied to, for instance, characters or rules.
 
-
-%\spoint Box dimensions and box placement
 \subsection{Box dimensions and box placement}
 
 \TeX\ places the components of horizontal and
 of baselineskip glue. Rather, it describes the way the components
 of a finished box are arranged in the output.
 
-%\spoint Boxes and negative glue