"Fossies" - the Fresh Open Source Software Archive

Member "tth_exe/tth_manual.html" (22 Jun 2014, 190376 Bytes) of package /windows/www/tth_exe.zip:

As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) HTML source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.

    1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
    2            "http://www.w3.org/TR/REC-html40/loose.dtd">
    3 <html>
    4 <meta name="GENERATOR" content="TtH 4.04">
    5  <style type="text/css"> div.p { margin-top: 7pt;}</style>
    6  <style type="text/css"><!--
    7  td div.comp { margin-top: -0.6ex; margin-bottom: -1ex;}
    8  td div.comb { margin-top: -0.6ex; margin-bottom: -.6ex;}
    9  td div.hrcomp { line-height: 0.9; margin-top: -0.8ex; margin-bottom: -1ex;}
   10  td div.norm {line-height:normal;}
   11  span.roman {font-family: serif; font-style: normal; font-weight: normal;} 
   12  span.overacc2 {position: relative;  left: .8em; top: -1.2ex;}
   13  span.overacc1 {position: relative;  left: .6em; top: -1.2ex;} --></style>
   14  <style type="text/css"><!--
   15  .tiny {font-size:30%;}
   16  .scriptsize {font-size:xx-small;}
   17  .footnotesize {font-size:x-small;}
   18  .smaller {font-size:smaller;}
   19  .small {font-size:small;}
   20  .normalsize {font-size:medium;}
   21  .large {font-size:large;}
   22  .larger {font-size:x-large;}
   23  .largerstill {font-size:xx-large;}
   24  .huge {font-size:300%;}
   25  --></style>
   28 <title> \TtH: a ``\TeX to HTML'' translator.</title>
   30 <h1 align="center"><span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>: a "<span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;to HTML" translator. </h1>
   31 <center><img src="tth.gif" alt="TtH icon" /></center>
   33 <table align="center" border="0"><tr><td>
   34 Version 4.04</td></tr></table><!--hboxt-->
   36 <h3 align="center"> </h3>
   37 <h3 align="center"> </h3>
   40 <div class="p"><!----></div>
   42 <h2> Abstract</h2>
   43 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;translates <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;documents that use the Plain macro package or
   44 <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>, into HTML.
   45  It is extremely fast and completely portable. It
   46 produces web documents that are more compact and managable, and
   47 faster-viewing, than those from other converters, because it really
   48 translates the equations, instead of converting them into images.
   50 <div class="p"><!----></div>
   52 <h1>Contents </h1><a href="#tth_sEc1"
   53 >1&nbsp; Capabilities</a><br />
   54 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.1"
   55 >1.1&nbsp; Plain <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span></a><br />
   56 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.1.1"
   57 >1.1.1&nbsp; Mathematics</a><br />
   58 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.1.2"
   59 >1.1.2&nbsp; Formatting and Macro Support</a><br />
   60 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.2"
   61 >1.2&nbsp; <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span></a><br />
   62 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.2.1"
   63 >1.2.1&nbsp; Environments:</a><br />
   64 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.2.2"
   65 >1.2.2&nbsp; <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;Commands:</a><br />
   66 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.3"
   67 >1.3&nbsp; Special <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;usage for <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span></a><br />
   68 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.4"
   69 >1.4&nbsp; Unsupported Commands</a><br />
   70 <a href="#tth_sEc2"
   71 >2&nbsp; Installation</a><br />
   72 <a href="#tth_sEc3"
   73 >3&nbsp; Usage</a><br />
   74 <a href="#tth_sEc4"
   75 >4&nbsp; Messages</a><br />
   76 <a href="#tth_sEc5"
   77 >5&nbsp; Mathematics</a><br />
   78 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc5.1"
   79 >5.1&nbsp; Equations</a><br />
   82 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc5.2"
   83 >5.2&nbsp; In-line Equation Limitations</a><br />
   84 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc5.3"
   85 >5.3&nbsp; Mathematics Layout Style Improvement using CSS</a><br />
   88 <a href="#tth_sEc6"
   89 >6&nbsp; Features dependent on external programs.</a><br />
   90 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc6.1"
   91 >6.1&nbsp; Independence of [La]<span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;installation and the -L switch.</a><br />
   92 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc6.2"
   93 >6.2&nbsp; BibTeX bibliographies</a><br />
   94 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc6.3"
   95 >6.3&nbsp; Indexing</a><br />
   97 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc6.3.1"
   98 >6.3.1&nbsp; Glossaries.</a><br />
   99 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc6.4"
  100 >6.4&nbsp; Graphics Inclusion: epsfbox/includegraphics</a><br />
  101 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc6.5"
  102 >6.5&nbsp; Picture Environments</a><br />
  103 <a href="#tth_sEc7"
  104 >7&nbsp; Tabular Environment or Halign for Tables</a><br />
  105 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc7.1"
  106 >7.1&nbsp; Tabular</a><br />
  107 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc7.2"
  108 >7.2&nbsp; Halign</a><br />
  109 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc7.3"
  110 >7.3&nbsp; Longtables</a><br />
  111 <a href="#tth_sEc8"
  112 >8&nbsp; Boxes, Dimensions, and fills</a><br />
  113 <a href="#tth_sEc9"
  114 >9&nbsp; <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;command definitions and other extensions</a><br />
  115 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc9.1"
  116 >9.1&nbsp; Delimited-parameter macros and Conditionals</a><br />
  117 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc9.2"
  118 >9.2&nbsp; Macro- and Style-file inclusion </a><br />
  119 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc9.3"
  120 >9.3&nbsp; Layout to include arguments of unknown commands </a><br />
  121 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc9.4"
  122 >9.4&nbsp; Restrictions on redefinition of internal commands </a><br />
  123 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc9.4.1"
  124 >9.4.1&nbsp; Footnotes</a><br />
  125 <a href="#tth_sEc10"
  126 >10&nbsp; Color</a><br />
  127 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc10.1"
  128 >10.1&nbsp; <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;Color</a><br />
  129 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc10.2"
  130 >10.2&nbsp; Plain Color</a><br />
  131 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc10.3"
  132 >10.3&nbsp; Limitations</a><br />
  133 <a href="#tth_sEc11"
  134 >11&nbsp; Producing output split into different files.</a><br />
  135 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc11.1"
  136 >11.1&nbsp; Overview</a><br />
  137 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc11.2"
  138 >11.2&nbsp; Navigation Controls at File Top and Tail</a><br />
  139 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc11.3"
  140 >11.3&nbsp; Special Precautions when Splitting Output</a><br />
  141 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc11.3.1"
  142 >11.3.1&nbsp; Floats such as figures or tables</a><br />
  143 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc11.3.2"
  144 >11.3.2&nbsp; Multiple Bibliographies</a><br />
  145 <a href="#tth_sEc12"
  146 >12&nbsp; HTML and output</a><br />
  147 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc12.1"
  148 >12.1&nbsp; Formal HTML validation</a><br />
  149 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc12.2"
  150 >12.2&nbsp; HTML Styles</a><br />
  151 <a href="#tth_sEc13"
  152 >13&nbsp; Browser and Server Problems</a><br />
  153 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc13.1"
  154 >13.1&nbsp; Accessing Symbol Fonts: Overview</a><br />
  155 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc13.2"
  156 >13.2&nbsp; Accessing Symbol Fonts: Details</a><br />
  157 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc13.3"
  158 >13.3&nbsp; Printing</a><br />
  159 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc13.4"
  160 >13.4&nbsp; Netscape/Mozilla Composer</a><br />
  161 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc13.5"
  162 >13.5&nbsp; Other Browser Bugs</a><br />
  163 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc13.6"
  164 >13.6&nbsp; Web server problems</a><br />
  165 <a href="#tth_sEc14"
  166 >14&nbsp; Code Critique</a><br />
  167 <a href="#tth_sEc15"
  168 >15&nbsp; License</a><br />
  169 <a href="#tth_sEc16"
  170 >16&nbsp; Acknowledgements</a><br />
  171 <a href="#tth_sEcA"
  172 >A&nbsp; Appendix: Non-Standard <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;Macros</a><br />
  173 <a href="#tth_sEcB"
  174 >B&nbsp; Appendix: Frequently Asked Questions</a><br />
  175 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEcB.1"
  176 >B.1&nbsp; Building and Running <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span></a><br />
  180 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEcB.2"
  181 >B.2&nbsp; [La]TeX constructs <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not seem to recognize</a><br />
  191 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEcB.3"
  192 >B.3&nbsp; HTML output that does not satisfy</a><br />
  205 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEcB.4"
  206 >B.4&nbsp; How to write <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;designed for Web publishing</a><br />
  214 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEcB.5"
  215 >B.5&nbsp; Formerly Frequently Asked Now Rarely Asked</a><br />
  219 <a href="#tth_sEcindex">Index</a><br />
  221 <div class="p"><!----></div>
  222  <a id="tth_sEc1"></a><h2>
  223 1&nbsp;&nbsp;Capabilities</h2>
  225 <div class="p"><!----></div>
  226      <a id="tth_sEc1.1"></a><h3>
  227 1.1&nbsp;&nbsp;Plain <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span></h3>
  229 <div class="p"><!----></div>
  230       <a id="tth_sEc1.1.1"></a><h4>
  231 1.1.1&nbsp;&nbsp;Mathematics<a 
  232 id="mathematics11"></a></h4>
  234 <div class="p"><!----></div>
  235 Almost all of <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>'s mathematics is supported with the exception of a
  236 few obscure symbols that are absent from the fonts normally available
  237 to browsers. Support includes, for example, in-line equations with
  238 subscripts and superscripts, display equations with built-up
  239 fractions, over accents, large delimiters, operators with limits;
  240 matrix, pmatrix, cases, [but not bordermatrix]; over/underbrace [but
  241 using a rule, not a brace].
  243 <div class="p"><!----></div>
  244       <a id="tth_sEc1.1.2"></a><h4>
  245 1.1.2&nbsp;&nbsp;Formatting and Macro Support</h4>
  247 <div class="p"><!----></div>
  249 <ul>
  250 <li><a 
  251 id="fonts11"></a><a 
  252 id="roman11"></a>Font styles: <tt>\it,&nbsp;\bf,&nbsp;\sl,&nbsp;\uppercase</tt>, everywhere,
  253 <tt>\rm</tt> in most situations
  254 <a href="#tthFtNtAAB" id="tthFrefAAB"><sup>1</sup></a>.
  255 <div class="p"><!----></div>
  256 </li>
  258 <li> Accented characters written like <tt>\"o</tt> or <tt>\'{e}</tt>.
  259 <div class="p"><!----></div>
  260 </li>
  262 <li> Guess the intent of font definitions, i.e. <tt>\font</tt> commands
  263 [optionally, remove contruct].
  264 <div class="p"><!----></div>
  265 </li>
  267 <li> Macro definitions that are global: <tt>\gdef</tt>, <tt>\xdef</tt>,
  268 <tt>\global\def</tt>, <tt>\global\edef</tt>; or local to the
  269 current group: <tt>\def</tt>, <tt>\edef</tt>.
  270 <div class="p"><!----></div>
  271 </li>
  273 <li> Definitions with delimited arguments.
  274 <div class="p"><!----></div>
  275 </li>
  277 <li> Input of files [see <a href="#texins">9.2</a>].
  278 <div class="p"><!----></div>
  279 </li>
  281 <li> Newcount, number, advance and counter setting [global counter setting
  282 only].
  283 <a 
  284 id="if11"></a>
  285 <a id="ifs">
  286 </a>
  287 <div class="p"><!----></div>
  288 </li>
  290 <li> Conditionals: iftrue,
  291 iffalse,
  292 ifnum,
  293 ifodd,
  294 ifcase,
  295 if   [for defined commands and plain characters, not some internals]
  296 <a href="#tthFtNtAAC" id="tthFrefAAC"><sup>2</sup></a>, ifx [only for
  297 defined commands and counters; internals appear undefined], ifvmode,
  298 ifmmode, newif.
  299 <div class="p"><!----></div>
  300 </li>
  302 <li> Centerline, beginsection, item, itemitem, obeylines; hang, hangindent,
  303 narrower [for entire paragraphs, hangafter ignored].
  304 <a 
  305 id="headline11"></a> Headline is made
  306 into a title, footnote{}{}. Comments: removed.
  307 <div class="p"><!----></div>
  308 </li>
  310 <li> Tables: halign [uses border style if the template contains
  311 vrule.]. Settabs, <tt>\+</tt>.
  312 <div class="p"><!----></div>
  313 </li>
  315 <li> Simple uses of <tt>\hbox,\vbox</tt> and <tt>\hsize</tt> to align text and
  316 make boxes with restricted widths, but these are discouraged. In
  317 setting the width of a vbox, the value of hsize should be once only,
  318 immediately at the beginning of the vbox.
  319 <div class="p"><!----></div>
  320 </li>
  321 </ul>
  323 <div class="p"><!----></div>
  324      <a id="tth_sEc1.2"></a><h3>
  325 1.2&nbsp;&nbsp;<span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span></h3>
  326 <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;support includes essentially all mathematics plus the following 
  328 <div class="p"><!----></div>
  329       <a id="tth_sEc1.2.1"></a><h4>
  330 1.2.1&nbsp;&nbsp;Environments:</h4><a 
  331 id="environments12"></a>
  332  em, verbatim, center, flushright, verse, quotation, quote, itemize,
  333 enumerate, description, list [treated as if description], figure,
  334 table, tabular[*,x], equation, displaymath, eqnarray, math, array [not
  335 generally in in-line equations], thebibliography, [raw]html,
  336 index [as description], minipage [ignoring optional argument],
  337 longtable [but see <a href="#longtab">7.3</a>].
  339 <div class="p"><!----></div>
  340       <a id="tth_sEc1.2.2"></a><h4>
  341 1.2.2&nbsp;&nbsp;<span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;Commands:<a 
  342 id="commands__LaTeX__supported12"></a></h4>
  343  [re]newcommand, newenvironment, chapter, section, subsection,
  344 subsubsection, caption, label, ref, pageref [no number], emph, textit,
  345 texttt, textbf, centering, raggedleft, includegraphics, [e]psfig,
  346 title, author, date [maketitle ignored: title etc inserted when
  347 defined], lefteqn, frac, tableofcontents, input, include [as input,
  348 includeonly ignored], textcolor, color, footnote
  349 [ignoring optional arg], cite, bibitem, bibliography, tiny
  350 ... normalsize ... Huge, newcounter, setcounter, addtocounter, value
  351 [inside set or addto counter], arabic, the, stepcounter, newline,
  352 verb[*] [can't use @ as separator], bfseries, itshape, ttfamily,
  353 textsc, ensuremath, listoftables, listoffigures, newtheorem [no
  354 optional arguments permitted], today, printindex, boldmath,
  355 unboldmath, newfont, thanks, makeindex, index, @addtoreset,
  356 verbatiminput, paragraph, subparagraph, url, makebox, framebox, mbox,
  357 fbox, parbox [ignoring optional argument], definecolor, colorbox,
  358 fcolorbox [not in equations], pagecolor [discouraged], savebox, sbox,
  359 usebox.
  361 <div class="p"><!----></div>
  362  These cover most of the vital <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;constructs.  Internal hypertext
  363 cross-references are automatically generated (e.g. by ref and
  364 tableofcontents) provided <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;has previously been run on the
  365 document and the appropriate command-line switch is used.
  367 <div class="p"><!----></div>
  368      <a id="tth_sEc1.3"></a><h3>
  369 1.3&nbsp;&nbsp;Special <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;usage for <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span></h3>
  370  A few non-standard <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;commands are supported as follows
  371 <a href="#tthFtNtAAD" id="tthFrefAAD"><sup>3</sup></a>. See
  372 also <a href="#epsf">6.4</a>.<a 
  373 id="HTML_insertion13"></a>
  375 <pre>
  376 \epsfbox{file.[e]ps}&nbsp;Puts&nbsp;in&nbsp;an&nbsp;anchor&nbsp;called&nbsp;"Figure"&nbsp;linked&nbsp;to&nbsp;
  377 &nbsp;&nbsp;&nbsp;&nbsp;file.[e]ps&nbsp;(default),&nbsp;or&nbsp;alternatively&nbsp;calls&nbsp;user-supplied&nbsp;script&nbsp;
  378 &nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;convert&nbsp;the&nbsp;[e]ps&nbsp;file&nbsp;to&nbsp;a&nbsp;gif&nbsp;image&nbsp;and&nbsp;optionally&nbsp;inline&nbsp;it.&nbsp;&nbsp;
  379 \special{html:"tags"}&nbsp;inserts&nbsp;``tags''&nbsp;into&nbsp;the&nbsp;HTML&nbsp;e.g.&nbsp;for&nbsp;images&nbsp;etc.&nbsp;&nbsp;
  380 \href{reference}{anchor}&nbsp;highlights&nbsp;``anchor''&nbsp;with&nbsp;href=``reference''.
  381 \url{URL}&nbsp;like&nbsp;\href&nbsp;but&nbsp;with&nbsp;URL&nbsp;providing&nbsp;both&nbsp;reference&nbsp;and&nbsp;anchor.
  382 \begin{[raw]html}&nbsp;...&nbsp;\end{[raw]html}&nbsp;environment&nbsp;passed&nbsp;direct&nbsp;to&nbsp;output.
  383 \tthtensor&nbsp;Subscripts&nbsp;and&nbsp;superscripts&nbsp;immediately&nbsp;following,&nbsp;on&nbsp;simple
  384 &nbsp;&nbsp;&nbsp;&nbsp;characters,&nbsp;are&nbsp;stacked&nbsp;up&nbsp;in&nbsp;displaystyle&nbsp;equations,&nbsp;not&nbsp;staggered.&nbsp;
  385 \tthdump{...}&nbsp;The&nbsp;group&nbsp;is&nbsp;omitted&nbsp;by&nbsp;tth.&nbsp;Define&nbsp;\tthdump&nbsp;as&nbsp;a&nbsp;nop&nbsp;for&nbsp;TeX.
  386 %%tth:...&nbsp;The&nbsp;rest&nbsp;of&nbsp;the&nbsp;comment&nbsp;line&nbsp;is&nbsp;passed&nbsp;to&nbsp;tth&nbsp;(not&nbsp;TeX)&nbsp;for&nbsp;parsing.
  388 </pre> 
  390 <div class="p"><!----></div>
  391      <a id="tth_sEc1.4"></a><h3>
  392 1.4&nbsp;&nbsp;Unsupported Commands<a 
  393 id="commands_handling_unsupported14"></a></h3>
  395 <div class="p"><!----></div>
  396  When <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;encounters <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;constructs that it cannot handle either
  397 because there is no HTML equivalent, or because it is not clever
  398 enough, it tries to remove the mess they would otherwise cause in the
  399 HTML code, generally giving a warning of the action if it is not sure
  400 what it is doing. <a 
  401 id="commands_unsupported14"></a>The following are
  402 not translated.
  404 <div class="p"><!----></div>
  406 <pre>
  407 &nbsp;\magnification&nbsp;\magstep&nbsp;etc&nbsp;:&nbsp;Removes&nbsp;the&nbsp;whole&nbsp;construct.
  408 &nbsp;Some&nbsp;boxes&nbsp;in&nbsp;equations.
  409 &nbsp;\raisebox,&nbsp;\lowerbox&nbsp;and&nbsp;similar&nbsp;usages.
  410 &nbsp;\accent,&nbsp;\mathaccent.&nbsp;
  412 </pre> 
  414 <div class="p"><!----></div>
  415  <a id="tth_sEc2"></a><h2>
  416 2&nbsp;&nbsp;Installation</h2>
  418 <div class="p"><!----></div>
  419 <a 
  420 id="flex20"></a><a 
  421 id="compile20"></a>The source for <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;is flex code which is processed to produce a C program
  422 tth.c which comprises the distribution. This file is compiled by
  424 <pre>
  425     gcc&nbsp;-o&nbsp;tth&nbsp;tth.c
  427 </pre> 
  428  or whatever C compiler you are using. Compilation takes
  429 typically less than a minute on a modern PC. 
  431 <div class="p"><!----></div>
  432 The executable should then be copied to whatever directory you want
  433 (preferably on your path of course). That's all! 
  435 <div class="p"><!----></div>
  436 Alternatively you may be able to obtain a precompiled executable from
  437 wherever you accessed this file. The Wind@ws executable comes with a
  438 batch file for installation. Just run it by the command "install".
  440 <div class="p"><!----></div>
  441  <a id="tth_sEc3"></a><h2>
  442 3&nbsp;&nbsp;Usage</h2>
  444 <div class="p"><!----></div>
  445 <a 
  446 id="switches__TtH30"></a><a 
  447 id="switches_-L30"></a> Command line is as
  448 follows. The order of the parts is irrelevant. Switches (preceded by a
  449 minus sign -) can appear anywhere on the line. Square brackets should
  450 not be entered, they simply indicate optional parts of the command
  451 line.<a id="n-switch">
  452 </a>
  456 <pre>
  457 Either&nbsp;filter&nbsp;style&nbsp;(the&nbsp;&lt;&nbsp;and&nbsp;&#62;&nbsp;are&nbsp;file&nbsp;redirection&nbsp;operators):
  458 &nbsp;&nbsp;tth&nbsp;[-a&nbsp;-c&nbsp;-d&nbsp;...&nbsp;]&nbsp;&lt;file.tex&nbsp;[&#62;file.html]&nbsp;[2&#62;err]
  460 Or,&nbsp;specifying&nbsp;the&nbsp;input&nbsp;file&nbsp;as&nbsp;an&nbsp;argument&nbsp;(output&nbsp;is&nbsp;then&nbsp;implied):
  461 &nbsp;&nbsp;tth&nbsp;[-a&nbsp;-c&nbsp;-d&nbsp;...&nbsp;]&nbsp;file[.tex]&nbsp;[2&#62;err]
  463 Switches:
  464 &nbsp;&nbsp;&nbsp;-a&nbsp;automatic&nbsp;picture&nbsp;environment&nbsp;conversion&nbsp;using&nbsp;latex2gif&nbsp;(default&nbsp;omit).&nbsp;
  465 &nbsp;&nbsp;&nbsp;-c&nbsp;prefix&nbsp;header&nbsp;"Content-type:&nbsp;text/HTML"&nbsp;(for&nbsp;direct&nbsp;web&nbsp;serving).
  466 &nbsp;&nbsp;&nbsp;-d&nbsp;disable&nbsp;delimited&nbsp;definitions.
  467 &nbsp;&nbsp;&nbsp;-e?&nbsp;epsfbox&nbsp;handling:&nbsp;-e1&nbsp;convert&nbsp;figure&nbsp;to&nbsp;gif&nbsp;using&nbsp;user-supplied&nbsp;ps2gif.
  468 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-e2&nbsp;convert&nbsp;and&nbsp;include&nbsp;inline.&nbsp;-e0&nbsp;(default)&nbsp;no&nbsp;conversion,&nbsp;just&nbsp;ref.&nbsp;
  469 &nbsp;&nbsp;&nbsp;-f?&nbsp;sets&nbsp;the&nbsp;depth&nbsp;of&nbsp;grouping&nbsp;to&nbsp;which&nbsp;fractions&nbsp;are&nbsp;constructed&nbsp;built-up
  470 &nbsp;&nbsp;&nbsp;&nbsp;f5&nbsp;(default)&nbsp;allows&nbsp;five&nbsp;levels&nbsp;built-up,&nbsp;f0&nbsp;none,&nbsp;f9&nbsp;lots.&nbsp;
  471 &nbsp;&nbsp;&nbsp;-g&nbsp;don't&nbsp;guess&nbsp;an&nbsp;HTML&nbsp;equivalent&nbsp;for&nbsp;font&nbsp;definitions,&nbsp;just&nbsp;remove.
  472 &nbsp;&nbsp;&nbsp;-h&nbsp;print&nbsp;help.&nbsp;-?&nbsp;print&nbsp;usage.
  473 &nbsp;&nbsp;&nbsp;-i&nbsp;use&nbsp;italic&nbsp;as&nbsp;default&nbsp;math&nbsp;font.
  474 &nbsp;&nbsp;&nbsp;-Lfile&nbsp;&nbsp;tells&nbsp;tth&nbsp;the&nbsp;base&nbsp;file&nbsp;(no&nbsp;extension)&nbsp;for&nbsp;LaTeX&nbsp;auxiliary&nbsp;input,&nbsp;
  475 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enables&nbsp;LaTeX&nbsp;commands&nbsp;(e.g.&nbsp;\frac)&nbsp;without&nbsp;a&nbsp;\documentclass&nbsp;line.
  476 &nbsp;&nbsp;&nbsp;-n?&nbsp;HTML&nbsp;title&nbsp;format&nbsp;control.&nbsp;0&nbsp;raw.&nbsp;1&nbsp;expand&nbsp;macros.&nbsp;2&nbsp;expand&nbsp;equations.
  477 &nbsp;&nbsp;&nbsp;-ppath&nbsp;specify&nbsp;additional&nbsp;directories&nbsp;(path)&nbsp;to&nbsp;search&nbsp;for&nbsp;input&nbsp;files.
  478 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-pNULL&nbsp;is&nbsp;a&nbsp;special&nbsp;switch&nbsp;that&nbsp;disables&nbsp;all&nbsp;\input&nbsp;or&nbsp;\includes.
  479 &nbsp;&nbsp;&nbsp;-r&nbsp;output&nbsp;raw&nbsp;HTML&nbsp;(no&nbsp;preamble&nbsp;or&nbsp;postlude)&nbsp;for&nbsp;inclusion&nbsp;in&nbsp;other&nbsp;HTML.
  480     -r2&nbsp;omit&nbsp;just&nbsp;the&nbsp;time&nbsp;stamp.&nbsp;-r1&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;-r.
  481 &nbsp;&nbsp;&nbsp;-t&nbsp;display&nbsp;built-up&nbsp;items&nbsp;in&nbsp;textstyle&nbsp;equations&nbsp;(default&nbsp;in-line).
  482 &nbsp;&nbsp;&nbsp;-u?&nbsp;unicode&nbsp;character&nbsp;encoding.&nbsp;Default&nbsp;2&nbsp;(unicode&nbsp;3.2).&nbsp;0&nbsp;(iso8859-1)
  483 &nbsp;&nbsp;&nbsp;-v&nbsp;give&nbsp;verbose&nbsp;commentary.&nbsp;
  484 &nbsp;&nbsp;&nbsp;-w?&nbsp;html&nbsp;writing&nbsp;style:&nbsp;0&nbsp;no&nbsp;title&nbsp;construction.&nbsp;1&nbsp;use&nbsp;head/body.&nbsp;2&nbsp;XHTML.
  485 &nbsp;&nbsp;&nbsp;-y?&nbsp;equation&nbsp;style:&nbsp;bit&nbsp;1&nbsp;compress&nbsp;vertically;&nbsp;bit&nbsp;2&nbsp;inline&nbsp;overaccents.
  486 &nbsp;&nbsp;&nbsp;-xmakeindx&nbsp;&nbsp;specify&nbsp;a&nbsp;non-standard&nbsp;makeindex&nbsp;command&nbsp;line.
  488 </pre>
  491 <a 
  492 id="stdin30"></a><a 
  493 id="stdout30"></a><a 
  494 id="stderr30"></a>
  495 With no arguments other than switches starting with a "-", 
  496 the program is a filter, i.e. it reads from stdin and writes to stdout.
  497 In addition, diagnostic messages concerning its detection of unknown
  498 or untranslated constructs are sent to stderr. If these standard
  499 channels are not redirected using <tt>&lt;</tt> and <tt>&gt;</tt>, then the
  500 input is read from the command line, and both output and error
  501 messages are printed on the screen.
  503 <div class="p"><!----></div>
  504 If a non-switch argument is present, it is assumed to be the name of
  505 the input file. The file must have extension ".tex" but the extension
  506 may be omitted. The output file is then constructed from the argument
  507 by removing the extension ".tex" if specified, and adding ".html".
  509 <div class="p"><!----></div>
  510 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;is extremely fast in default mode on any reasonable hardware.
  511 Conversion of even large <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;files should be a matter of a second or
  512 two.<a 
  513 id="CGI_script30"></a>
  514 This makes it possible to use <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;in a CGI script to output HTML
  515 directly from <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;source if desired; (stderr may then need to be redirected.)
  517 <div class="p"><!----></div>
  518  <a id="tth_sEc4"></a><h2>
  519 4&nbsp;&nbsp;Messages<a 
  520 id="messages40"></a><a 
  521 id="Error40"></a><a 
  522 id="warning40"></a></h2>
  524 <div class="p"><!----></div>
  525 Messages about <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>'s state and its assessment of the <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;it is
  526 translating are output always to the <tt>stderr</tt> stream, which
  527 normally displays on the console, but under Un*x type systems can be
  528 redirected to a file if necessary. Normally these messages are one of
  529 three types:
  531 <div class="p"><!----></div>
  533 <h4>Error Messages</h4> 
  534 These start <tt>****&nbsp;Error:</tt> and indicate some improper condition or
  535 error either in <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;or in the <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;of the file being
  536 translated. Some errors are fatal and cause <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;to stop. On others
  537 it will continue, but the <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;file probably should be corrected in
  538 order to get correct output.
  540 <div class="p"><!----></div>
  542 <h4>Warnings</h4>
  543 These start <tt>****</tt> but without reporting <tt>Error</tt>. They are
  544 messages by which <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;indicates aspects of the translation process
  545 that may not be fully satisfactory, usually because of known limitations,
  546 but which quite likely will not prevent the translated file from
  547 displaying correctly, and so do not <em>necessarily</em> require
  548 intervention. Examples include the use of some dimensions, glue, or similar
  549 <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;commands that have no HTML equivalent. 
  551 <div class="p"><!----></div>
  553 <h4>Informational and external</h4>
  554 Lines with no <tt>****</tt> are either informational, meaning the state
  555 of the translation is not considered abnormal, or else they may come
  556 from external programs (e.g. makeindex), over which <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;has no
  557 control.
  559 <div class="p"><!----></div>
  560 The switch <tt>-v</tt> causes more verbose messages to be output, which
  561 may be helpful for understanding why errors are reported. A higher
  562 level of verbosity <tt>-V</tt> can be invoked, but is intended primarily
  563 for internal debugging of <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;and will rarely be comprehensible!
  565 <div class="p"><!----></div>
  566 The presumption that lies behind <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;message design is that the file
  567 being translated has been debugged using <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;or <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;to remove
  568 syntax errors. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;is not good at understanding or reporting <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;syntax errors and counts only the lines in the main <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;file, not
  569 those in files read by <tt>\input</tt>. Therefore error reporting by
  570 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not reach even the low standard of clarity set by <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;and
  571 <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;error messages. Although <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;files <em>can</em> be debugged using
  572 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;alone, since it is very fast, the process is not recommended for
  573 inexpert <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;users. Moreover, since <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;understands both <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;and
  574 <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;simultaneously, it can parse some files that <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;or <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;
  575 separately cannot.
  577 <div class="p"><!----></div>
  578  <a id="tth_sEc5"></a><h2>
  579 5&nbsp;&nbsp;Mathematics</h2>
  581 <div class="p"><!----></div>
  582      <a id="tth_sEc5.1"></a><h3>
  583 5.1&nbsp;&nbsp;Equations</h3>
  585 <div class="p"><!----></div>
  586 <a 
  587 id="HTML_3.251"></a><a 
  588 id="HTML_4.051"></a><a 
  589 id="font_face51"></a> Equations are translated internally into HTML. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;uses HTML tables
  590  for layout of built-up fractions in display equations. It also uses
  591  the HTML tag  &lt; font face="symbol" &gt;  to render Greek and large
  592  delimiters etc. Untranslatable <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;math tokens are inserted
  593  verbatim.
  595 <div class="p"><!----></div>
  596 <a 
  597 id="LaTeX2HTML_differences51"></a>The internal approach to equation translation is a major area where
  598 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;departs from the philosophy of <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>2html and its
  599 derivatives. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;
  600 does not use any images to try to represent hard-to-translate
  601 constructs like equations.  Instead it uses the native ability of HTML
  602 to the fullest in providing a semantically correct rendering of the
  603 equation. The aesthetic qualities obtained are in practice no worse on
  604 average than <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>2html's inlined images, which are generally slightly
  605 misaligned and of uncertain scaling relative to the text. Some
  606 limitations in the HTML code are inevitable, of course, but one ends
  607 up with a compact representation that can be rendered directly by the
  608 browser without the visitor having to download any additional helper
  609 code (e.g. Java equation renderer).
  611 <div class="p"><!----></div>
  612 <a 
  613 id="italic_equation_style51"></a>
  614 <b>The option [-i]&nbsp;&nbsp;</b> to <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;<b>makes italic the default</b>
  615 font within equations, and thus the style more <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>-like. The italic
  616 font appearance in browsers is not as satisfactory as <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>'s math
  617 italic, so for many documents roman looks better.
  619 <div class="p"><!----></div>
  620 <a 
  621 id="spacing51"></a>
  622 <b>Spacing&nbsp;&nbsp;</b> in equations is handled slightly differently by <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;than
  623 by <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>. The reason is that most browsers use fonts that will crowd the
  624 characters horizontally too close for comfort in many cases (for
  625 example: M<sub>&#124;&#124;</sub>/2). Also, built-up HTML equations are more
  626 spread out vertically than in <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>. Therefore <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;equations look better
  627 if spaces are added between some characters. So <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;<em>
  628 does not</em> remove spaces in the original <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;file between characters in
  629 equations. The author is thus able to control this detail of layout in
  630 the HTML without messing up their <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;file - since <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;will ignore
  631 any spaces inserted. Legacy <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;code that contains a lot of spurious
  632 whitespace (ignored by <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>) may, as a result, occasionally become too
  633 spread-out when translated.
  635 <div class="p"><!----></div>
  636      <a id="tth_sEc5.2"></a><h3>
  637 5.2&nbsp;&nbsp;In-line Equation Limitations<a 
  638 id="limitations52"></a></h3>
  640 <div class="p"><!----></div>
  641 <a 
  642 id="in-line_equations_arrays52"></a> <a 
  643 id="in-line_equations_fractions52"></a><a 
  644 id="in-line_equations_overaccents52"></a> Some <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;capabilities are
  645 extremely difficult or impossible to translate into HTML, because of
  646 browser limitations, and are best avoided if possible. Arrays or
  647 matrices or built-up fractions in <b>in-line equations</b> cannot be
  648 properly supported because tables cannot be placed in-line in HTML.
  649 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;output often will be strangely disjointed.
  650 <a id="inline">
  651 </a>
  652 <a 
  653 id="in-line_equations_built-up_display52"></a>
  655  As an option, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;provides switch <tt>-t</tt> to convert inline
  656 equations that use built-up constructs into a sort of half display,
  657 half in-line equation. Each time a new in-line equation is encountered
  658 [<tt>$&nbsp;...&nbsp;$</tt> or <tt>\(&nbsp;...&nbsp;\)</tt>] that needs to be built up, an
  659 HTML table that starts a new line is begun, and the text then flows on
  660 afterwards. For example
  661 <br /><table border="0" align="left"><tr><td nowrap="nowrap"></td><td nowrap="nowrap" align="center">1<hr noshade="noshade" />2 + n<br /></td><td nowrap="nowrap" align="center"></td></tr></table><br />
  662 This option gives a slightly strange layout for simple equations
  663 but is a big improvement for some situations, e.g. in-line matrices.
  666 <div class="p"><!----></div>
  667 Likewise most over- and under-accents, and indeed anything that
  668 requires specific placement on the page other than simple subscript or
  669 superscript and underline, cannot be rendered <em>in-line</em> in plain
  670 HTML, although <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;will render them well in
  671 <em>displaystyle</em>. These latter constructs are nevertheless commonly
  672 used in in-line <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>. By default <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;renders these constructs in a
  673 relatively intuitive way. For example <tt>$\hat{a}$</tt> is rendered
  674 <span class="overacc1">&#8743;</span>a. The result is rarely elegant but it is
  675 unambiguous. 
  677 <div class="p"><!----></div>
  678      <a id="tth_sEc5.3"></a><h3>
  679 5.3&nbsp;&nbsp;Mathematics Layout Style Improvement using CSS</h3><a id="yswitch">
  680 </a>
  681 <a 
  682 id="mathematics_layout_style53"></a>
  683 <a 
  684 id="Style_Sheets53"></a><a 
  685 id="CSS53"></a>
  687 <div class="p"><!----></div>
  688 Some of the mathematics rendering limitations just mentioned can be
  689  overcome using Cascading Style Sheets. These are an extension of HTML
  690  that allows finer control over the layout. Most modern browsers
  691  support some fraction of the CSS specification, but historically its
  692  implementation has been slow and buggy. So it used to be awkward and
  693  dangerous to adopt CSS for authoring because of never knowing whether
  694  one was producing HTML that would simply be broken on a particular
  695  browser. Moreover using style sheets slows down the browser's
  696  rendering.
  698 <div class="p"><!----></div>
  699  <a 
  700 id="switches_-y153"></a><a 
  701 id="compression_vertical53"></a>
  702 <b>Vertical Compression&nbsp;&nbsp;</b> of the otherwise sometimes rather
  703 spread-out mathematics is implemented on <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;using a simple built-in
  704 style sheet to reduce unwanted vertical space. The implementation
  705 works around the different idiosyncrasies of the browsers'
  706 implementations as well as it can, and is designed to degrade
  707 gracefully in browsers without CSS support or with the support
  708 switched off. This compression can be controlled by the switch <tt>-y</tt>,
  709 which permits a numeric argument, e.g. <tt>-y1</tt>.  Compression is on
  710 by default, which corresponds to the first bit of the -y switch value
  711 being 1 (in other words the value is odd).  It may be switched off by
  712 using the switch <tt>-y</tt> with an even numeric argument (or none at
  713 all), e.g. <tt>-y2</tt> or <tt>-y</tt>.
  715 <div class="p"><!----></div>
  716 <a 
  717 id="switches_-y253"></a>
  718 <b>In-line over-accents&nbsp;&nbsp;</b> can be rendered explicitly using the
  719 relative positioning available in CSS2. The result is visually
  720  preferable to the the indicative base rendering. However, it does not
  721  fall-back gracefully, and the application of over accents to
  722  multiple-character groups produces a poorly aligned result.
  723   Nevertheless, since <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;version 3.87 it is used as default. It can
  724  be turned off using the <tt>-y</tt>  switch with the second bit (2) zeroed
  725  in the numeric argument. For example <tt>-y1</tt> or <tt>-y0</tt> turns
  726  it off.
  728 <div class="p"><!----></div>
  729  <a id="tth_sEc6"></a><h2>
  730 6&nbsp;&nbsp;Features dependent on external programs.</h2>
  732 <div class="p"><!----></div>
  733      <a id="tth_sEc6.1"></a><h3>
  734 6.1&nbsp;&nbsp;Independence of [La]<span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;installation and the -L switch.</h3>
  735 <a id="LaTeXfiles">
  736 </a>
  737 <a 
  738 id="LaTeX2HTML_differences61"></a><a 
  739 id="portability61"></a> A major difference
  740 between <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;and LaTeX2HTML is that <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not call the <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;or tex programs at all by default, and is not specifically dependent
  741 upon these, or indeed any other (e.g. PERL), programs being installed
  742 on the translating system. Its portability is therefore virtually
  743 universal.
  745 <div class="p"><!----></div>
  746 <a 
  747 id="auxiliary_files61"></a><a 
  748 id="switches_-L61"></a>Forward references in <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;are handled by multiple passes that write
  749 auxiliary files. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does only a single pass through the source.  If
  750 you want <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;to use <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;constructs (e.g. tableofcontents,
  751 bibliographic commands, etc.) that depend on auxiliary files, then
  752 you <em>do</em> need to run <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;on the code so that these files are
  753 generated. Alternatively, the <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;switch
  754 <tt>-a</tt><a 
  755 id="a61"></a><a 
  756 id="switches_-a61"></a>  
  757 causes <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;automatically to attempt to run latex on the file,
  758 if no auxiliary file .aux exists.
  760 <div class="p"><!----></div>
  761 When run specifying a filename on the command line as a non-switch
  762 argument, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;constructs the name of the expected auxiliary <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;files in the usual way and looks for them in the same directory as the
  763 file. 
  764 If you are using <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;as a filter, you must tell <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>, using the
  765 switch <tt>-Lfilename</tt>, the base file name of these auxiliary files
  766 (which is the name of the original file omitting the extension). If
  767 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;cannot find the relevant auxiliary file because you didn't run
  768 <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;and generate the files or didn't include the switch, then it
  769 will omit the construct and warn you.<a 
  770 id="references_forward61"></a>
  771 Forward references via ref will not work if the .aux file is
  772 unavailable, but backward references will. The -L switch with no
  773 filename may be used to tell <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;that the document being translated
  774 is to be interpreted as a <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;file even though it lacks the usual
  775 <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>header commands. This may be useful for translating single
  776 equations that (unwisely) use the <tt>\frac</tt> command.
  778 <div class="p"><!----></div>
  779      <a id="tth_sEc6.2"></a><h3>
  780 6.2&nbsp;&nbsp;BibTeX bibliographies<a 
  781 id="Bib_TeX_62"></a><a id="bibtex">
  782 </a></h3>
  784 <div class="p"><!----></div>
  785 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;supports bibliographies that are created by hand using
  786 <tt>\begin{thebibliography}</tt> etc. Such bibliographies do not require
  787 anything beyond the .aux file. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;<em>also</em> supports
  788 bibliographies created using Bib<span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;from a biblography database. The
  789 <tt>filename.bbl</tt> file is input at the correct place in the
  790 document. However, this <tt>filename.bbl</tt>  is <em>not</em> created
  791 automatically by <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>. In addition to running <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;on the source
  792 file to create the auxiliary file, you must also execute
  793 <tt>bibtex&nbsp;filename</tt> in the same directory, to create the
  794 <tt>filename.bbl</tt> file, and then run <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;again to get the
  795 references right. (This is, of course, no more than the standard
  796 procedure for using Bib<span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;with <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;but it must be done if you
  797 want <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;to get your bibliography right). If you don't create the
  798 .bbl file, or if you create it somewhere else that <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not
  799 search, then naturally <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;won't find it. Since the Bib<span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;process
  800 is relatively tortuous, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;offers an alternative. Using the -a
  801 switch<a 
  802 id="a62"></a><a 
  803 id="switches62"></a> with <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;will cause it
  804 to attempt to generate the required .bbl file automatically using
  805 Bib<span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;and <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>.
  807 <div class="p"><!----></div>
  808 There are many different styles for bibliographies and a large number
  809 of different <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;extension packages has grown up to implement
  810 them, which <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not support. More recently, a significant
  811 rationalization of the situation has been achieved by the package
  812 <tt>natbib</tt>.  <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;has rudimentary support built in for its
  813 commands <tt>\citep</tt> and <tt>citet</tt> in the default author-date
  814 form without a second optional argument.  A style file for
  815 <tt>natbib</tt> is distributed with <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>gold&nbsp;which makes it possible to
  816 accommodate most of its more useful styles and commands and easily switch from
  817 author-date citation to numeric citation.
  819 <div class="p"><!----></div>
  820      <a id="tth_sEc6.3"></a><h3>
  821 6.3&nbsp;&nbsp;Indexing<a 
  822 id="indexing63"></a></h3>
  824 <div class="p"><!----></div>
  825 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;can make an extremely useful hyperlinked index using <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;automatic indexing entries.  But indexing an HTML document is different
  826 from indexing a printed document, because a printed index refers to
  827 page numbers, which have no meaning in HTML because there are no page
  828 breaks. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;indexes <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>documents <em>by section number</em> rather
  829 than by page; assuming, of course, that they have been prepared with
  830 index entries in the standard <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;fashion.
  832 <div class="p"><!----></div>
  833 <a 
  834 id="makeindex63"></a> When processing a <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;file that contains the
  835 <tt>\makeindex</tt> command in its preamble, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;will construct an
  836 appropriately cross-hyperlinked index that will be input when the
  837 command <tt>\printindex</tt> is encountered, which <em>must be after</em>
  838 all the index references <tt>\index{&nbsp;...&nbsp;}</tt> in the document. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does this independently of <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>, but not of the subsidiary program
  839 <tt>makeindex</tt> that is normally used with <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;to produce the
  840 final index. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;creates its index entries in a file with extension
  841 .tid (Tth InDex). Unfortunately the standard form that
  842 <tt>makeindex</tt> expects for compound numbering of its sections or
  843 pages is "1-2", separated by a dash. TtH changes that to "1.2"
  844 using a point, and has to output a style file <tt>filename.mst</tt> ,
  845 where <tt>filename</tt> is the base filename of the latex file being
  846 processed, to enable makeindex to handle this form.  When the
  847 <tt>\printindex</tt> command is encountered, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;closes the .tid file and
  848 runs the command
  850 <pre>
  851 makeindex&nbsp;-o&nbsp;filename.tin&nbsp;filename.tid
  853 </pre>
  854 on it.  This creates an output file <tt>filename.tin</tt>, and
  855 then <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;reads that file in as its index.  If, instead of creating
  856 an index file during <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;processing, one wants to use with <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;an
  857 index file already created, all that is needed is to <em>remove</em> the
  858 <tt>\makeindex</tt> command from the top of the <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;source and copy
  859 the existing .ind file to a .tin file that will be input by
  860 <tt>\printindex</tt>. No indexing files will be written or deleted
  861 without a <tt>\makeindex</tt> command in the document.
  863 <div class="p"><!----></div>
  864 The <tt>\makeindex</tt> command, if present, will also cause <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;to add
  865 <a 
  866 id="Table_of_Contents_Index_entry63"></a>
  867 a linked entry called "Index" 
  868 to the end of any table of contents. This entry is a highly desirable
  869 feature for an HTML file, but if there is no <tt>\printindex</tt>
  870 command at the end of the document, the index will not exist, so the
  871 reference will be non-existent.
  873 <div class="p"><!----></div>
  874 On some operating systems with file name length restrictions, the
  875 makeindex program is called makeindx. Therefore a <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;switch is
  876 provided: <tt>-xcommandline</tt>, which substitutes <tt>commandline</tt>
  877 for the default call <tt>makeindex</tt>. Therefore, <tt>-xmakeindx</tt>
  878 will switch to the correct program name on one of these limited
  879 operating systems. This switch also allows additional parameters or
  880 switches to be passed to makeindex. If the <tt>-xcommandline</tt>
  881 contains any spaces, then it is interpreted as the complete
  882 command-line (not just the first word of the command-line), in which
  883 the base filename may be referenced up to 3 times as "%s". For
  884 example
  885 <tt>-x"makeindex&nbsp;-s&nbsp;style.sty&nbsp;-o&nbsp;%s.tin&nbsp;%s.tid"</tt> will handle the
  886 index using a different style file "style.sty".
  887 If you don't have the makeindex program, you can't create indexes with
  888 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;or <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>, except by hand.
  890 <div class="p"><!----></div>
  891 All of the index file processing naturally requires that <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;have
  892 write permission for the directory in which the original <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;file
  893 (specified by the -L switch) resides.
  895 <div class="p"><!----></div>
  896 <a 
  897 id="switches_-j63"></a><a 
  898 id="index_layout_in_one_or_two_columns_and_the_equivalent_page_length63"></a>
  899 <b>Layout of the index&nbsp;&nbsp;</b> can be controlled with the switch
  900 <tt>-j</tt> with an immediately following argument that specifies the
  901 minimum number of lines in a column before the column will be
  902 terminated. Because index entries are usually short, books almost
  903 always adopt a two-column format for the index. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;will also do so
  904 by default, but since an HTML document has no page breaks, the question
  905 arises how long the individual columns are allowed to be. The default
  906 (no switch) is equivalent to <tt>-j20</tt>. A switch <tt>-j</tt> with no
  907 argument is equivalent to specifying a very large number of lines,
  908 with the result that only one column is used.  A switch <tt>-j1</tt>
  909 will cause the columns to break at every indexspace, that is generally
  910 at every new letter, so letter lists will alternate between columns.
  912 <div class="p"><!----></div>
  913 <a 
  914 id="glossary63"></a>       <a id="tth_sEc6.3.1"></a><h4>
  915 6.3.1&nbsp;&nbsp;Glossaries.</h4> <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;has a parallel set of commands for
  916 glossary construction, replacing "index" with "glossary".
  917 However, there is no <tt>\printglossary</tt> command and the .glo file
  918 that <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;produces cannot be handled by the makeindex program
  919 without a specific style file being defined. Therefore glossary
  920 entries are highly specialized and rarely used. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not support
  921 a glossary separate from the index. Instead it simply defines the
  922 command as <tt>\def\glossary{\index}</tt> with the result that glossary
  923 entries are placed in the index. It may be necessary to add
  924 <tt>\makeindex</tt> and <tt>\printindex</tt> commands to make <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;handle
  925 the glossary entries for a file that has only a <tt>\makeglossary</tt>
  926 command.
  928 <div class="p"><!----></div>
  929      <a id="tth_sEc6.4"></a><h3>
  930 6.4&nbsp;&nbsp;Graphics Inclusion: epsfbox/includegraphics<a 
  931 id="graphics_files64"></a></h3>
  932 <a id="epsf">
  933 </a>
  934 The standard way in plain <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;to include a graphic is using the epsf
  935 macros. The work is done by \epsfbox{file.[e]ps} which
  936 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;can parse. By default <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;produces a simple link to such a
  937 postscript file, or indeed any format file.
  939 <div class="p"><!----></div>
  940 <a 
  941 id="ps2gif64"></a><a 
  942 id="ps2png64"></a> Optionally <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;can use a more appropriate
  943 graphics format, possibly using a user-supplied (script or) program
  944 called <tt>ps2png</tt> or <tt>ps2gif</tt> to convert the postscript file
  945 to a png<a href="#tthFtNtAAE" id="tthFrefAAE"><sup>4</sup></a>  or gif
  946 file, "file.png" or "file.gif". ["file" is the name of the
  947 original postscript file without the extension and png or gif are
  948 interchangeable as far as matters for this
  949 description]. When the switch -e1 or -e2 is specified, if
  950 "file.png", "file.gif" or "file.jpg" already exists in the same
  951 directory as implied by the reference to "file.ps" then no
  952 conversion is done and the file found is used instead.  That graphics
  953 file is then automatically either linked (-e1) or inlined (-e2) in the
  954 document. If no such file is found, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;tries to find a postscript
  955 file with extension that starts either .ps or .eps and convert it,
  956 first using <tt>ps2png</tt> then, if unsuccessful, <tt>ps2gif</tt>.  Linux
  957 (un*x) <tt>ps2png</tt> and <tt>ps2gif</tt> scripts using Ghostscript and
  958 the netpbm utilities for this purpose are included with the
  959 distribution.  A comparable batch program can be constructed to work
  960 under other operating systems
  961 <a href="#tthFtNtAAF" id="tthFrefAAF"><sup>5</sup></a><a id="ps2gifprob">
  962 </a>  or else the conversion can be done by
  963 hand. Naturally you need these utility programs or their equivalent on
  964 your system to do the conversion.  The calling command-line for
  965 whatever <tt>ps2png</tt> (or gif) is supplied must be of the form:
  967 <pre>ps2png&nbsp;inputfile.ext&nbsp;outputfile.ext
  968 </pre>
  969  The program must
  970 have permission to write the outputfile (file.png) in the directory in
  971 which the file.ps resides. 
  973 <div class="p"><!----></div>
  974 <a 
  975 id="icons64"></a>By popular request, a third graphics option -e3 for generating icons is
  976 now available. If no previously translated graphics file,
  977 e.g.&nbsp;"file.png"  exists, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;passes to <tt>ps2gif</tt> (or png) a third
  978 argument consisting of the name, "file_icon.gif", of an icon file.
  979 <tt>ps2gif</tt> is expected to create it from the same postscript file. In
  980 other words the call becomes
  982 <pre>ps2gif&nbsp;file.eps&nbsp;file.gif&nbsp;file_icon.gif
  983 </pre>
  984  This third argument is then the file that is
  985 inlined, while the larger gif file named "file.gif" is linked such
  986 that clicking on the icon displays the full-size gif file. The icon
  987 will not be created if "file.gif" already exists, because
  988 <tt>ps2gif</tt> will not then be called.
  990 <div class="p"><!----></div>
  991 <a 
  992 id="includegraphics64"></a>The <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>2e command \includegraphics{...} and the older
  993 \[e]psfig{file=...} are treated the same as \epsfbox.
  994 Their optional arguments are ignored.
  996 <div class="p"><!----></div>
  997 <a 
  998 id="postscript64"></a><a 
  999 id="jpeg64"></a><a 
 1000 id="gif64"></a>If the extension is omitted for the graphics file specification, then
 1001 .ps or .eps is tried.  If the extension of the file specified is
 1002 non-null and not .ps or .eps, no conversion is done but the file
 1003 is referenced or in-lined as an image. In effect, then, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;supports
 1004 postscript, encapsulated postscript, gif, and jpeg, plus any future
 1005 formats that become supported by common browsers. However, <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;does
 1006 not support these other formats, so it will give an error message if
 1007 it can't find a postscript file, unless you specify the bounding box,
 1008 thus preventing <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;interrogating the file.
 1010 <div class="p"><!----></div>
 1011      <a id="tth_sEc6.5"></a><h3>
 1012 6.5&nbsp;&nbsp;Picture Environments<a 
 1013 id="picture_environment65"></a></h3>
 1014 <a id="pict">
 1015 </a>
 1016 The picture environment cannot be translated to HTML. Pictures using
 1017 the built-in <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;commands must be converted to a graphics file such
 1018 as a gif, and then included using <tt>\includegraphics</tt>, see
 1019 <a href="#epsf">6.4</a>. The switch <tt>-a</tt><a 
 1020 id="a65"></a><a 
 1021 id="switches_-a65"></a>,
 1022  causes <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;to attempt automatic 
 1023 picture conversion using a user-supplied routine <tt>latex2gif</tt>.
 1024 When this switch is used, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;outputs the picture to a file pic<i>n</i>.tex,
 1025 where <i>n</i> is the number of the picture (if there does not already exist
 1026 a file pic<i>n</i>.gif). It then calls the command <tt>latex2gif&nbsp;picn</tt>
 1027 which must be a command (e.g. a script using <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>, dvips, etc.) on
 1028 the system, which converts the file pic<i>n</i>.tex to a file pic<i>n</i>.gif. An
 1029 example linux script is included in the distribution but this
 1030 conversion script is dependent on the system and so is entirely the
 1031 user's responsibility. For viewing the results, the files pic<i>n</i>.gif
 1032 must be accessible to the browser in the same directory as the HTML
 1033 files, then they will be included in-line. It is impossible for a
 1034 picture environment to be converted in this automatic fashion if it
 1035 contains macros defined somewhere else in the original <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;file,
 1036 because the macros will then be undefined in the picture file that is
 1037 extracted, and <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;will be stumped. In that case, manual
 1038 intervention is necessary.
 1040 <div class="p"><!----></div>
 1041  <a id="tth_sEc7"></a><h2>
 1042 7&nbsp;&nbsp;Tabular Environment or Halign for Tables</h2> 
 1043 <a id="tabhal">
 1044 </a>
 1045 The tabular environment is the recommended way to construct tables in
 1046 <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>. In plain <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>, although <tt>\settabs</tt> etc.&nbsp;is supported, the
 1047 <tt>\halign{&nbsp;...&nbsp;}</tt> command is recommended.  (The <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;tabbing
 1048 environment is <em>not supported</em> by <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;because it is antithetical
 1049 to the spirit of HTML document description, and because it is an
 1050 extremely complicated construct. If you are lucky, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;will not mess
 1051 up your tabbing environment too much, but it makes no attempt to
 1052 interpret it properly.) Considerable effort has been expended to
 1053 translate the tabular environment, including interpreting the
 1054 alignment argument of the environment, into as near an equivalent in
 1055 HTML as reasonably achievable<a href="#tthFtNtAAG" id="tthFrefAAG"><sup>6</sup></a>. However, the limitations of HTML tables impose
 1056 the following limitations on the translation.
 1058 <div class="p"><!----></div>
 1059      <a id="tth_sEc7.1"></a><h3>
 1060 7.1&nbsp;&nbsp;Tabular</h3>
 1062 <ul>
 1063 <li> HTML tables have either all cells bordered with rules or
 1064 none. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;therefore decides whether to use a bordered table by
 1065 examining the first character of the alignment argument. If is it
 1066 <tt>|</tt>, then the table is bordered, otherwise not.
 1067 <div class="p"><!----></div>
 1068 </li>
 1070 <li> HTML tables are not capable of simultaneously aligning part of a
 1071 cell's contents to the right and part to the left, which is
 1072 automatically done by <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;on some occasions when @-strings are used.
 1073 For example if the alignment argument is <tt>|l@{~units}|r|</tt>, <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>
 1074 will align "units" to the right of the first cell. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;can't. In
 1075 some unbordered cases <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;will try for the same effect by putting the
 1076 closing @-string in the following cell. This won't always give a good
 1077 result.
 1078 <div class="p"><!----></div>
 1079 </li>
 1081 <li> @-strings and <tt>*{num}</tt> code repetition are not permitted in the
 1082 alignment argument to <tt>\multicolumn</tt>, but they are in the main
 1083 tabular alignment argument.
 1084 <div class="p"><!----></div>
 1085 </li>
 1086 </ul>
 1088 <div class="p"><!----></div>
 1089      <a id="tth_sEc7.2"></a><h3>
 1090 7.2&nbsp;&nbsp;Halign</h3>
 1092 <div class="p"><!----></div>
 1093 <a 
 1094 id="halign72"></a>
 1095 <ul>
 1096 <li> <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;decides whether to use a bordered table in Plain <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>
 1097 by examining the entire halign template (i.e.&nbsp;the material up to the
 1098 first <tt>\cr</tt> of the halign). If it contains the command
 1099 <tt>\vrule</tt> <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;makes the table bordered, otherwise not.
 1100 <div class="p"><!----></div>
 1101 </li>
 1103 <li> <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;decides on the alignment of the cell contents by looking for
 1104 <tt>\hfill</tt> or <tt>\hss</tt> commands in the cell template. The
 1105 default is to left-align the cell. If one of these spacing commands is present
 1106 in the template prior to the <tt>#</tt> for this cell, then the cell
 1107 will be right-aligned unless such a command also appears after the
 1108 <tt>#</tt>, in which case the cell is centered. Again HTML is not capable of
 1109 applying different alignments to different parts of a cell. So results may
 1110 sometimes be different from <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>. However, if most of this paragraph
 1111 sounds totally obscure to you, don't worry; <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;will probably do the
 1112 right thing.
 1113 <div class="p"><!----></div>
 1114 </li>
 1116 <li> The <tt>\multispan</tt> command is supported, giving a centered
 1117 multicolumn cell, and <tt>\omit</tt> is treated as <tt>\multispan1</tt>.
 1118 However, <tt>\span</tt> is currently not supported.
 1119 <div class="p"><!----></div>
 1120 </li>
 1122 <li> In <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;each cell of an halign table resides within its own
 1123   implied brace group. Because <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not implement this implied
 1124   group, errors can arise. Even HTML table errors that lead to parse
 1125   errors with XML parsers can arise when the cells have boxes in them.
 1126   If this happens, the fix is to put an explicit brace group round the
 1127   offending cell in the template line like this example:
 1129 <pre>
 1130 &nbsp;&nbsp;\halign{#\quad\hfil&nbsp;&amp;{\vbox{\hsize\0.5\hsize&nbsp;#}}\cr
 1131 &nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&amp;&nbsp;V-box&nbsp;material\cr
 1132 &nbsp;&nbsp;&nbsp;&nbsp;}
 1134 </pre>
 1135 <div class="p"><!----></div>
 1136 </li>
 1137 </ul>
 1139 <div class="p"><!----></div>
 1140      <a id="tth_sEc7.3"></a><h3>
 1141 7.3&nbsp;&nbsp;Longtables</h3>
 1142 <a 
 1143 id="longtable73"></a><a id="longtab">
 1144 </a>
 1146 <div class="p"><!----></div>
 1148 <ul>
 1149 <li>The longtable environment is supported, but it is always centered. It
 1150 is converted into a standard tabular inside a table environment
 1151 because there is no need to accommodate page breaks (the main point of
 1152 longtable) in HTML.
 1153 <div class="p"><!----></div>
 1154 </li>
 1156 <li> The caption (including caption*) command is
 1157 translated correctly but set as part of the HTML table; so, if the
 1158 caption is longer than the longest row of the table, it will cause the
 1159 whole table width to expand, possibly up to 100% of the
 1160 line-width.
 1161 <div class="p"><!----></div>
 1162 </li>
 1164 <li> The commands endhead, endfirsthead, endfoot, endlastfoot,
 1165 are ignored, but their immediately preceding commands are therefore
 1166 inserted into the table. That is probably not desirable for the foot
 1167 commands.  Longtable footers are not translated into footers.
 1168 <div class="p"><!----></div>
 1169 </li>
 1171 <li> The <tt>\kill</tt>  command is ignored. Its text is spuriously inserted.
 1172 <div class="p"><!----></div>
 1173 </li>
 1174 </ul>
 1176 <div class="p"><!----></div>
 1177  <a id="tth_sEc8"></a><h2>
 1178 8&nbsp;&nbsp;Boxes, Dimensions, and fills</h2>
 1180 <div class="p"><!----></div>
 1181 Boxes, dimensions, and fills are rarely appropriate for web documents
 1182 because they imply an attempt to control the fine details of
 1183 layout. Browsers make their own choices about layout of a document in
 1184 HTML. For example they make the lines fit whatever size of window
 1185 happens to be present. This dynamic formatting makes mincemeat of most
 1186 detailed <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;layout. In fact, if you want your readers to see
 1187 exactly what you see, that is impossible with HTML, and you should use
 1188 some other representation of your document.
 1190 <div class="p"><!----></div>
 1191 There are nevertheless many cases when a <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;document containing
 1192 boxes, dimensions, and fills needs to be translated.  Limited
 1193 translation of these constructs is supported. They are translated,
 1194 where appropriate and possible, into HTML tables with widths and
 1195 vertical skips estimated to give a reasonable result on a browser. It
 1196 must be stressed that accurate translation is inherently impossible
 1197 because browsers deal in pixel sizes and default font sizes that vary
 1198 and are out of the control of the publisher.
 1200 <div class="p"><!----></div>
 1201 The types of box usage that translate quite well are when things like
 1203 <pre>
 1204 \hbox&nbsp;to&nbsp;\hsize{The&nbsp;left&nbsp;\hfil&nbsp;the&nbsp;Right}
 1205 \vbox{\hsize=2in&nbsp;Matter&nbsp;to&nbsp;be&nbsp;set&nbsp;in&nbsp;horizontal&nbsp;mode&nbsp;to&nbsp;a&nbsp;
 1206 &nbsp;&nbsp;limited&nbsp;hsize}
 1207 \makebox[0.6\hsize][r]{Stuff&nbsp;to&nbsp;the&nbsp;right&nbsp;of&nbsp;the&nbsp;makebox.}
 1208 \framebox{check}
 1210 </pre>
 1211 are on a line by themselves.
 1212 You get:
 1214 <div class="p"><!----></div>
 1215 <table align ="left" border="0" width="100%"><tr><td>
 1216 The left </td><td align="right"> the Right</td></tr></table><!--hbox-->
 1217 <br clear="all" /><table border="0"><tr><td></td><td><table border="0"><tr><td></td><td width="200">
 1218  Matter to be set in horizontal mode to a limited hsize
 1219 </td></tr></table><!--vbox-->
 1220 </td><td>
 1221 </td></tr></table><!--hboxt-->
 1222 <div class="p"><!----></div>
 1223 <table align ="left" border="0" width="60%"><tr><td align="right">
 1224 Stuff to the right of the makebox.</td></tr></table><!--hbox-->
 1225 <br clear="all" /><table align="left" border="1"><tr><td width="0" align="center">
 1226 check</td></tr></table><!--hbox-->
 1227 Usages that translate poorly tend to be boxes within a line of
 1228 text. That is because current HTML table implementations have to start
 1229 a new line unless they happen to be adjacent to a table already. Thus
 1230 an hbox in a line will give a line break that you might not have
 1231 wanted. This behaviour is really a bug in the browsers, but we are
 1232 currently stuck with it. The behaviour of HTML tables is buggy
 1233 [see <a href="#tablebug">13.5</a>] when their alignment is specified, which means that
 1234 strange results are likely if more than one box on a line is being
 1235 set. Boxes in equations are troublesome. The only type that is
 1236 reasonably supported is <tt>\mbox</tt> which is often used in <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;for
 1237 introducing text inside equations.
 1239 <div class="p"><!----></div>
 1240 Negative skips are <em>not supported at all</em>.
 1242 <div class="p"><!----></div>
 1243 The only important dimension parameter that is currently interpreted
 1244 is <tt>\hsize</tt>. It is what controls the width of a vbox.  It can be
 1245 reset using the plain <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;format e.g.&nbsp;<tt>\hsize&nbsp;=&nbsp;3in</tt> or scaled
 1246 or advanced e.g.&nbsp;<tt>\hsize=0.6\hsize</tt>  but only within a group. It
 1247 makes no sense for the HTML file to try to specify the width of the
 1248 line at the outermost level. That is the browser's business.
 1250 <div class="p"><!----></div>
 1251 New dimensions can be defined, set, advanced, scaled and used to set
 1252 other dimensions including <tt>\hsize</tt>. 
 1254 <div class="p"><!----></div>
 1255 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;trys valiantly to mimic the sort of text alignment that is
 1256 obtained using glue such as <tt>\hfil</tt> and <tt>\hss</tt>, provided it
 1257 is inside a box. However, the alignment algorithm of HTML tables makes
 1258 it impossible to obtain fills with exactly equal sizes. So don't be
 1259 surprised if some results looks disagreeable. Moreover, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;will
 1260 completely ignore the glue outside an hbox, and it doesn't know
 1261 the difference between <tt>\hfil</tt> and <tt>\hfill</tt>, etc.
 1263 <div class="p"><!----></div>
 1264  <a id="tth_sEc9"></a><h2>
 1265 9&nbsp;&nbsp;<span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;command definitions and other extensions</h2>
 1267 <div class="p"><!----></div>
 1268      <a id="tth_sEc9.1"></a><h3>
 1269 9.1&nbsp;&nbsp;Delimited-parameter macros and
 1270 Conditionals<a 
 1271 id="definitions_delimited91"></a></h3>
 1273 <div class="p"><!----></div>
 1274 Delimited parameter definitions are fully supported. However, macros
 1275 in some style files are written in such a way that the recognition of
 1276 the delimited parameter depends on other <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;behaviour
 1277 (e.g. dimensions) that are not supported or handled differently by
 1278 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>. In such cases it is all too possible for the delimited parameter
 1279 <em>not</em> to be matched, resulting in a runaway argument situation.
 1280 Thus, delimited parameter macros are especially dangerous when using
 1281 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>, or indeed any process other than <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;itself. (And they are
 1282 never exactly "safe <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>"). The recognition of these definitions can
 1283 be disabled using the -d switch, in which case the definitions are
 1284 simply discarded.
 1286 <div class="p"><!----></div>
 1287 <a 
 1288 id="if91"></a>Conditionals such as <tt>\if</tt>, <tt>\ifnum</tt> and so on are
 1289 supported, as listed above (<a href="#ifs">1.1.2</a>). In <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;they have one
 1290 syntax limitation. Further `if' commands are not permitted in, or as part of
 1291 a command expanded in, the tokens, characters, or numbers being
 1292 tested. Thus, an example of truly perverse usage such as<br />
 1293 <tt>\ifnum&nbsp;1=\if&nbsp;ab&nbsp;1\else&nbsp;2\fi&nbsp;&nbsp;True&nbsp;\else&nbsp;False&nbsp;\fi</tt><br />will likely
 1294 break. Nested `if' constructs <em>are</em> permitted in the conditional
 1295 text, however, so<br />
 1296 <tt>\ifnum&nbsp;1=1&nbsp;True\if&nbsp;ab&nbsp;-true\else&nbsp;-false\fi&nbsp;\else&nbsp;False&nbsp;\fi</tt><br />is fine.
 1297 Because <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not internally resemble <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>, whereas the result of
 1298 conditionals such as <tt>\if</tt> and <tt>\ifx</tt> may depend on internal
 1299 representations, there cannot be 100% compatibility of such tests at
 1300 the lowest level. Still, tests on externally defined commands ought
 1301 generally to give correct results. When authoring documents in <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;one
 1302 is generally well advised to avoid conditionals.
 1304 <div class="p"><!----></div>
 1305 Although <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;supports a remarkably complete subset of <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>, it does
 1306 not support all of the complicated primitive details of
 1307 <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>, partly because that would be unnecessary.<a 
 1308 id="catcodes91"></a> 
 1309 For example, practically any <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;that redefines <b>category codes</b>
 1310 (other than @ which <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;treats universally as a letter) will break because
 1311 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;knows nothing about the concept of category codes. (If you don't
 1312 know much either, about this unfortunate aspect of <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>, join the vast
 1313 majority of <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;users!)  A related example is that <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;expects <b>
 1314 only letters or @ in user-defined command names</b>, not punctuation
 1315 characters etc.
 1317 <div class="p"><!----></div>
 1318      <a id="tth_sEc9.2"></a><h3>
 1319 9.2&nbsp;&nbsp;Macro- and Style-file 
 1320 inclusion<a 
 1321 id="macro_files92"></a><a 
 1322 id="texinputs_path92"></a> </h3>
 1323 <a 
 1324 id="input92"></a>                    <a id="texins">
 1325 </a>
 1326 Macro definitions are fully supported by <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>. However, special macro
 1327 packages designed for a specific layout of journal or conference, for
 1328 example, often use unsupported constructs such as catcode changes. It
 1329 may then be inadvisable to use the macro package.  <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not
 1330 recognize the <tt>\usepackage</tt> command by default because the
 1331 <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;macros that are input by this command almost always contain
 1332 catcode changes or other usages incompatible with <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>. That is
 1333 another reason why <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not normally have directory paths
 1334 defined the same as <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>. If a macro package is on the TEXINPUTS path
 1335 it will be found by <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;but not by <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>.  Thus, the macro
 1336 definitions are included when "<span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>"ing the file, but not when
 1337 "<span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>"ing it.  It should be clear from this discussion, however,
 1338 that <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;generally does not support any of the enormous number of
 1339 extensions to <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;unless they are mentioned in this manual,
 1340 because most extension packages are incompatible with <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>.
 1342 <div class="p"><!----></div>
 1343 <a 
 1344 id="input92"></a><span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;<em>will</em> find an input file if 
 1346 <ol type="1">
 1347 <li> the full path is
 1348  specified relative to the directory from which <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;is run, e.g.  <br />
 1349  <tt>\input&nbsp;/home/myhome/mytexdir/mymacro.tex</tt> <br />
 1350 <div class="p"><!----></div>
 1351 </li>
 1353 <li> the <tt>-p</tt> switch specifies a path on which the file is
 1354 found, or
 1355 <div class="p"><!----></div>
 1356 </li>
 1358 <li> the TTHINPUTS environment variable is defined to be a path on
 1359 which the file is found.
 1360 <div class="p"><!----></div>
 1361 </li>
 1362 </ol>
 1363 Paths are searched in this order until an appropriate file is
 1364 found or all directory options are exhausted
 1366 <div class="p"><!----></div>
 1367 <a 
 1368 id="commands_alternative_files92"></a> This policy provides a mechanism
 1369 for making available the alternative package for <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>,
 1370 without alteration of the original <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;files, by placing the
 1371 (simplified) version of the macro package on the path <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;searches.
 1372  An example using the <tt>-p</tt> switch might be
 1374 <pre>
 1375 tth&nbsp;&#62;file.html&nbsp;&lt;file.tex&nbsp;-p/usr/local/tthinputs:~/mytthinputs
 1377 </pre>
 1379 <div class="p"><!----></div>
 1380 <a 
 1381 id="macros_alternate92"></a>Since it is impossible to anticipate all style file incompatibilities,
 1382 it must be the responsibility of the user (or the journal) to decide
 1383 how to translate the concepts implemented in the original complicated
 1384 macro package into simpler, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>-compatible, <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;macros.
 1386 <div class="p"><!----></div>
 1387 <a 
 1388 id="input92"></a>When <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;is used within a CGI script accepting arbitrary <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;for
 1389 translation, its ability to input any file on the system is a serious
 1390 security hole. It can be used to view all sorts of files on the system
 1391 by <tt>\input</tt>ing them. Therefore a special switch <tt>-pNULL</tt> is
 1392 provided that disables all <tt>\input</tt> or <tt>\include</tt> files.
 1394 <div class="p"><!----></div>
 1395      <a id="tth_sEc9.3"></a><h3>
 1396 9.3&nbsp;&nbsp;Layout to include arguments of unknown
 1397 commands<a 
 1398 id="commands_unknown93"></a>
 1399 </h3>
 1401 <div class="p"><!----></div>
 1402 Unrecognized or undefined commands of the form
 1403 \dothis{one}{two}{three}, are treated by discarding
 1404 all the following <i>adjacent</i> brace groups. A space between the close and
 1405 open braces will terminate the discarded arguments and cause the
 1406 following brace group(s) to be scanned as if just the text. This
 1407 makes it possible to use formatting to make <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;code come out right in
 1408 both <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;and HTML. For example if <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;encounters a command written
 1409 "\boxthis{width} {boxed material}" which might be
 1410 designed in <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;to provide a width to a defined command, written with
 1411 a space after the first argument, it will ignore the width and scan
 1412 the boxed material into the text.
 1414 <div class="p"><!----></div>
 1415      <a id="tth_sEc9.4"></a><h3>
 1416 9.4&nbsp;&nbsp;Restrictions on redefinition of internal
 1417 commands<a 
 1418 id="commands_renaming94"></a><a 
 1419 id="commands_redefining94"></a>
 1420 </h3>
 1422 <div class="p"><!----></div>
 1423 In <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;(unlike <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>) most internal commands can <i>not</i> normally be
 1424 redefined; any redefinition will simply be ignored (except inside edef
 1425 and a few other places). This prevents <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;from safely allowing use of
 1426 major packages that redefine standard <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;commands. For example ams<span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;redefines footnote to have just one argument, which will cause
 1427 problems. This particular example is potentially a problem with <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;too, which also redefines footnote. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;handles this by keeping track
 1428 of whether the file is <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;or <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>; therefore you should not mix the
 1429 two dialects in a single file even though there is no need to tell <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>
 1430 explicitly which type the file is. (Besides, a mixed file will play
 1431 havoc with <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;itself.)
 1433 <div class="p"><!----></div>
 1434       <a id="tth_sEc9.4.1"></a><h4>
 1435 9.4.1&nbsp;&nbsp;Footnotes</h4><a 
 1436 id="footnotes94"></a>
 1437 Footnotes are placed together at the end of the document, or, in the
 1438 case of <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>gold splitting files, in a separate file called
 1439 footnote.html. The title of this end section is determined by the
 1440 macro <tt>\tthfootnotes</tt>. By default this is "Footnotes", but can
 1441 be redefined by the user at will, e.g. by
 1442 <tt>\def\tthfootnotes{Tailnotes}</tt>.
 1444 <div class="p"><!----></div>
 1445  <a id="tth_sEc10"></a><h2>
 1446 10&nbsp;&nbsp;Color<a 
 1447 id="color100"></a></h2>
 1448 <a 
 1449 id="colordvi100"></a>
 1450 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;supports the coloring of text using the color package macros for
 1451 <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>, supported by dvips (but not xdvi).  <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;also supports the Plain
 1452 <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;colordvi macros contained in the package colordvi.tex that do the
 1453 same thing. 
 1455 <div class="p"><!----></div>
 1456      <a id="tth_sEc10.1"></a><h3>
 1457 10.1&nbsp;&nbsp;<span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;Color</h3>
 1459 <div class="p"><!----></div>
 1460 The <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;syntax is recommended because the 68 standard
 1461 named colors<a href="#tthFtNtAAH" id="tthFrefAAH"><sup>7</sup></a> are directly supported internally by <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;using the named
 1462 model. Any numerical CMYK, RGB and Gray color can also be prescribed. For
 1463 example the following commands are enclosed in themselves:
 1464 <span style="color:#B70000">\textcolor[named]{BrickRed}{...}</span>,
 1465 <span style="color:#007F00">\textcolor[rgb]{0.,.5,0.}{...}</span>,
 1466 <span style="color:#B232B2">\textcolor[cmyk]{0.,.5,0.,0.3}{...}</span>.
 1467 You can define custom colors in the usual way using, for example
 1469 <pre>
 1470 {\definecolor{Puce}{rgb}{1.,.5,.8}
 1471 \color{Puce}&nbsp;This&nbsp;is&nbsp;my&nbsp;own&nbsp;Puce.}
 1473 </pre>
 1474 Which gives "
 1475 <span style="color:#FF7FCC">This is my own Puce.</span>"
 1477 <div class="p"><!----></div>
 1478 The command <tt>\pagecolor</tt> is supported but discouraged. It
 1479 is highly likely to give rise to an HTML file that will fail
 1480 validation because it inserts an HTML tag <tt>&lt;body&nbsp;bgcolor=...&gt;</tt>
 1481 which will not be in its correct position (immediately following the
 1482 title). The only way to be certain to produce an HTML file that passes
 1483 validation is to put the title and body commands in by hand, using
 1484 e.g.  <tt>\special{html:&lt;title&gt;...&lt;/title&gt;&lt;body&nbsp;...&gt;}</tt>  Netscape
 1485 seems not to mind a body tag out of order, but only the first one is
 1486 able to set the page background color.
 1488 <div class="p"><!----></div>
 1489 The commands <tt>\colorbox</tt> and <tt>\fcolorbox</tt> are supported via
 1490 CSS style sheet commands. They will only work to set the background
 1491 color of included text if the browser is set to use style sheets. 
 1493 <span style="background: #00FF00;">"This sentence"</span> is the result of the command
 1494 <tt>\colorbox{green}{``This&nbsp;sentence''}</tt>. If it is colored, then
 1495 your browser supports style sheets to this extent. If not, check your
 1496 preferences settings.
 1498 <div class="p"><!----></div>
 1499      <a id="tth_sEc10.2"></a><h3>
 1500 10.2&nbsp;&nbsp;Plain Color</h3>
 1502 <div class="p"><!----></div>
 1503 The Plain <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;syntax using commands such as <tt>\Red{red&nbsp;text}</tt> requires
 1504 the file <tt>colordvi.tex</tt> to be input prior to their use. But
 1505 because <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not search the standard <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;paths, that file will
 1506 <em>not</em> usually be found unless the full path is explicitly
 1507 specified. If the file is not found, only the 8 standard colors
 1509 <pre>
 1510 \Red,&nbsp;\Green,&nbsp;\Blue,&nbsp;\Cyan,&nbsp;\Magenta,&nbsp;\Yellow,&nbsp;\Black,&nbsp;and&nbsp;\White
 1512 </pre>
 1513  are
 1514 recognized internally by <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>. You can use the user-defined CMYK numeric
 1515 style 
 1517 <pre>
 1518 \Color{0.&nbsp;.5&nbsp;.5&nbsp;0.}{pale&nbsp;red}
 1520 </pre>
 1521 without the colordvi
 1522 file. It gives the result "<span style="color:#FF7F7F">pale red</span>" but the
 1523 notation becomes cumbersome unless you define your color
 1524 e.g. like
 1526 <pre>
 1527 \def\redcolor{0.&nbsp;.5&nbsp;.5&nbsp;0.}
 1528 \Color{\redcolor}{The&nbsp;stuff&nbsp;that&nbsp;is&nbsp;red.}
 1530 </pre>
 1532 <div class="p"><!----></div>
 1533 Another difficulty with the colordvi
 1534 command <tt>\textColor</tt> (which is the color <em>switch</em> - <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>
 1535 syntax reversed that usage and changed to comma-delimited arguments
 1536 just to confuse us) is that it is a global setting. It then
 1537 becomes almost impossible to maintain proper nesting of the closure of
 1538 the font commands used for colors in HTML. As a result, use of
 1539 <tt>\textColor</tt> often gives HTML files that won't pass HTML validation.
 1541 <div class="p"><!----></div>
 1542      <a id="tth_sEc10.3"></a><h3>
 1543 10.3&nbsp;&nbsp;Limitations</h3>
 1544 Color commands do not propagate into different cells of HTML tables
 1545 because of what may be regarded as a browser bug
 1546 [<a href="#cellbug">13.5</a>]. For that reason, tables and equations will not color
 1547 correctly if the color commands enclose more than one cell (for
 1548 tables) or equation element. Remember also that some computers may be
 1549 limited in their color display capability, so the subtleties of colors
 1550 will be lost in some circumstances. 
 1552 <div class="p"><!----></div>
 1554 <div class="p"><!----></div>
 1555  <a id="tth_sEc11"></a><h2>
 1556 11&nbsp;&nbsp;Producing output split into different files.</h2>
 1558 <div class="p"><!----></div>
 1559      <a id="tth_sEc11.1"></a><h3>
 1560 11.1&nbsp;&nbsp;Overview</h3>
 1562 <div class="p"><!----></div>
 1563 Because the <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;program itself always produces just one output file,
 1564 the division of the output into different files takes place in two
 1565 steps. First, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;is run on the <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;file with the switch
 1566 <tt>-s</tt> (for "split"). This switch tells <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;to produce output
 1567 that is in <b>multipart MIME</b> format. Incidentally, this format is
 1568 used for sending multipart mail messages with attachments over the
 1569 internet. For present purposes it is simply a convenient standard for
 1570 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;to use to show how to split the output and what the names of the
 1571 final files should be. If we wanted to keep this MIME file, then for
 1572 example the command
 1574 <pre>
 1575 tth&nbsp;-s&nbsp;-Ltexdocument&nbsp;&lt;texdocument.tex&nbsp;&#62;mimedocument.html
 1577 </pre>
 1579 <div class="p"><!----></div>
 1580  would produce such a file called <tt>mimedocument.html</tt> from a
 1581 <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;file called <tt>texdocument.tex</tt>. The switch <tt>-L</tt>
 1582 tells <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;to use auxiliary files that were produced when <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;
 1583 was previously run on it. Alternatively if you want the output file to
 1584 have the same name as the texdocument but with the extension
 1585 <tt>html</tt>, you can use just
 1587 <pre>
 1588 tth&nbsp;-s&nbsp;texdocument
 1590 </pre>
 1592 <div class="p"><!----></div>
 1593 There are available standard tools for unpacking multipart mime files
 1594 into their individual files, notably the <tt>mpack</tt> tools available from
 1595 the "Andrew" distribution, which may be available on some
 1596 systems. However the executable <tt>tthsplit</tt>  (whose source is in
 1597 the tthgold directory) is a more specific 
 1598 program that will unpack MIME files produced by <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>. (<tt>tthsplit</tt>
 1599 will <em>not</em> handle general MIME files.) To unpack the multipart
 1600 file into its individual files requires the simple command:
 1602 <div class="p"><!----></div>
 1604 <pre>
 1605 tthsplit&nbsp;&lt;mimedocument.html
 1607 </pre>
 1609 <div class="p"><!----></div>
 1610  This will inform the user of the files produced, for
 1611 example
 1613 <div class="p"><!----></div>
 1615 <pre>
 1616 index.html
 1617 chap1.html
 1618 chap2.html
 1619 refs.html
 1620 footnote.html
 1622 </pre>
 1624 <div class="p"><!----></div>
 1625  the file <tt>index.html</tt> is always the topmost file with
 1626 links to succeeding files, and cross-links from any table of contents
 1627 or list of figures, etc. 
 1629 <div class="p"><!----></div>
 1630 It is unnecessary to save the intermediate file. Instead, the output
 1631 of <tt>tth</tt> can be piped to <tt>tthsplit</tt> to produce the split
 1632 files directly by the command line:
 1634 <div class="p"><!----></div>
 1636 <pre>
 1637 tth&nbsp;-s&nbsp;-Ltexdocument&nbsp;&lt;texdocument.tex&nbsp;|&nbsp;tthsplit
 1639 </pre>
 1641 <div class="p"><!----></div>
 1642 Since the names of the split parts of the document are predetermined,
 1643 it is strongly advisable to make a separate directory for each
 1644 different <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;document to keep the parts of the document in. The
 1645 conversion and splitting must then be performed in that directory to
 1646 ensure the files end up there. This task is left to the user.
 1648 <div class="p"><!----></div>
 1649 The Windows graphical user interface tth-gui offers an option for
 1650 the translated file to "split it here". If this button is checked,
 1651 the file will be split in the same folder as the tex file, producing
 1652 the HTML files as above.
 1654 <div class="p"><!----></div>
 1655      <a id="tth_sEc11.2"></a><h3>
 1656 11.2&nbsp;&nbsp;Navigation Controls at File Top and Tail</h3>
 1658 <div class="p"><!----></div>
 1659 By default <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;places navigation links labelled "PREVIOUS" and
 1660 "NEXT" at the top and tail of the split pages, and a link "HEAD"
 1661 to the first section of the file at both places. These do not use cute
 1662 little images because images have to be in separate files, which would
 1663 defeat the principle of <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;always outputing just one file. However,
 1664 authors might want their own images or indeed far more elaborate
 1665 navigation links. The links can be customized straightforwardly by
 1666 redefining two special macros that are used for the navigation
 1667 section. By default these macros are defined as
 1669 <pre>
 1670 \def\tthsplittail{
 1671 &nbsp;\special{html:\n&lt;hr&#62;&lt;table&nbsp;width=\"100\%\"&#62;&lt;tr&#62;&lt;td&#62;
 1672 &nbsp;&lt;a&nbsp;href=\"}\tthfilenext\special{html:\"&#62;}NEXT
 1673 &nbsp;\special{html:&lt;/a&#62;&lt;/td&#62;&lt;td&nbsp;align=\"right\"&#62;
 1674 &nbsp;&lt;a&nbsp;href=\"index.html\"&#62;HEAD&lt;/a&#62;&lt;/td&#62;&lt;/tr&#62;&lt;/table&#62;\n&lt;/html&#62;}}
 1675 \def\tthsplittop{
 1676 &nbsp;\special{html:&lt;table&nbsp;width=\"100\%\"&#62;&lt;tr&#62;&lt;td&#62;
 1677 &nbsp;&lt;a&nbsp;href=\"}\tthfilechar\special{html:\"&#62;}PREVIOUS
 1678 &nbsp;\special{html:&lt;/a&#62;&lt;/td&#62;&lt;td&nbsp;align=\"right\"&#62;
 1679 &nbsp;&lt;a&nbsp;href=\"index.html\"&#62;HEAD&lt;/a&#62;&lt;/td&#62;&lt;/tr&#62;&lt;/table&#62;}}
 1681 </pre>
 1683 <div class="p"><!----></div>
 1684 The macro <tt>\tthsplittail</tt> is called when splitting, as soon as a
 1685 chapter or section command is detected. Then after the split is
 1686 completed and the HTML header has been inserted for the next file,
 1687 <tt>\tthsplittop</tt> is called. Note that these macros use the
 1688 builtins <tt>\tthfilenext</tt> and <tt>\tthfilechar</tt> to access the
 1689 names of the next and the previous HTML files respectively.
 1691 <div class="p"><!----></div>
 1692 These splitting macros can be redefined to whatever style of
 1693 navigation the author prefers. But careful attention should be paid to
 1694 the use of raw HTML output, for example using the HTML special.
 1696 <div class="p"><!----></div>
 1697      <a id="tth_sEc11.3"></a><h3>
 1698 11.3&nbsp;&nbsp;Special Precautions when Splitting Output</h3>
 1700 <div class="p"><!----></div>
 1701       <a id="tth_sEc11.3.1"></a><h4>
 1702 11.3.1&nbsp;&nbsp;Floats such as figures or tables</h4>
 1703 If you are splitting an article-style file that has a lot of
 1704 floating bodies (i.e. figures or tables) in it, these may be moved by
 1705 <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;beyond the end of their corresponding section. This is a
 1706 familiar problem with <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>. The result of this float misplacement
 1707 is that <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;may become confused and generate incorrect
 1708 cross-references to these floats in the list of figures and or list of
 1709 tables, because the only way that <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;can tell the section of float
 1710 placement is by the order of lines in the auxiliary files. If this
 1711 happens, some special precautions will prevent it. 
 1713 <div class="p"><!----></div>
 1714 All that is required is to add to the <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;source file, in the
 1715 preamble between the documentclass and the begin{document} commands,
 1716 the extra command:
 1718 <div class="p"><!----></div>
 1720 <pre>
 1721 \input&nbsp;/usr/local/tth/tthprep.sty
 1723 </pre>
 1725 <div class="p"><!----></div>
 1726  where the path should be to wherever you unpacked or are
 1727 keeping the tth distribution file <tt>tthprep.sty</tt>. Then <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;should
 1728 be run twice on the file to create the auxiliary files that tth will
 1729 use in its translation. Because of the extra definitions in
 1730 <tt>tthprep.sty</tt>, the auxiliary files so produced can be interpreted by
 1731 tth to give correctly linked split files. If you want to produce
 1732 <tt>dvi</tt> output from your <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;then you should remove this extra
 1733 input command.  None of this is needed unless splitting by <em>
 1734 sections </em> (not chapters) is to be performed or floats are
 1735 problematic.
 1737 <div class="p"><!----></div>
 1738 To make it easier for the user, a script is provided called
 1739 <tt>tthprep</tt> which automates the process of producing satisfactory
 1740 auxiliary files through the single command
 1742 <div class="p"><!----></div>
 1744 <pre>
 1745 tthprep&nbsp;texdocument.tex
 1747 </pre>
 1749 <div class="p"><!----></div>
 1750  The script will leave the <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;file in its original condition,
 1751 but the auxiliary files in appropriate form for <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>.
 1753 <div class="p"><!----></div>
 1754       <a id="tth_sEc11.3.2"></a><h4>
 1755 11.3.2&nbsp;&nbsp;Multiple Bibliographies</h4>
 1756 Multiple bibliographies in split files are a problem. All the
 1757 citations in the rest of the text link to a single file
 1758 <tt>refs.html</tt> because there is no way for TtHgold know the name of other
 1759 files to refer to. However, each time a bibliography is started,
 1760 when splitting, TtHgold starts a new file. TtHgold numbers reference
 1761 files after the first as <tt>refs1.html</tt> <tt>refs2.html</tt>
 1762 etc. 
 1764 <div class="p"><!----></div>
 1765 After splitting the output using tthsplit, the user has then to
 1766 concatenate the reference files into a single html file if the
 1767 cross-references are all to be correct. The utility program
 1768 <tt>tthrfcat</tt> will do this if run in the directory where the split
 1769 files reside. It destroys all the <tt>refsx.html</tt> files. But since those
 1770 were generated by TtHgold, they can always be generated again. Some
 1771 spurious file navigation buttons will remain in the resulting
 1772 <tt>refs.html</tt> file. They can be removed by hand if desired.
 1774 <div class="p"><!----></div>
 1775 Things go much more smoothly if there is only one bibliography per TeX
 1776 document and it is at the end of the TeX file.
 1778 <div class="p"><!----></div>
 1779  <a id="tth_sEc12"></a><h2>
 1780 12&nbsp;&nbsp;HTML and output</h2>
 1782      <a id="tth_sEc12.1"></a><h3>
 1783 12.1&nbsp;&nbsp;Formal HTML validation</h3>
 1784 <a 
 1785 id="title_HTML_construction121"></a> <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;takes as its standard HTML that
 1786 can be rendered by Netscape and IE browsers versions 4 and higher
 1787 (with the caveats above).  The formal standard that <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>-translated
 1788 documents follow is strictly HTML4.0[1]<a href="#tthFtNtAAI" id="tthFrefAAI"><sup>8</sup></a>
 1789 Transitional. However, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does
 1790 not formally validate its documents, and can be made to violate the
 1791 standard by some <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;usage.
 1793 <div class="p"><!----></div>
 1794 One reason for violation
 1795 arises because HTML4.0 <i>requires</i> a
 1796 <tt>&lt;title&gt;...&lt;/title&gt;</tt> for every document.
 1797 A title is constructed from <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;files that contain the <tt>\title{...}</tt>
 1798 command, in which case HTML conformance is ensured by putting the
 1799 <tt>\title</tt> command before any text (i.e.&nbsp;in the preamble, where it
 1800 belongs).  If the <tt>\title</tt> command is not desired in the <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>
 1801 file, for example because it is a plain <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;document,
 1802 a title can be provided by the author for the HTML document by putting
 1803 a line like this at the top of the <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;file.
 1805 <pre>
 1806 %%tth:\begin{html}&lt;title&#62;Put&nbsp;the&nbsp;title&nbsp;here&lt;/title&#62;\end{html}
 1808 </pre>
 1809 This line will be ignored by <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>. Actually, any raw HTML output at the
 1810 start of the file is assumed by <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;to indicate that the author has
 1811 explicitly output a title. If no title indication of any of the above
 1812 types is present, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;attempts to construct a title from the first few
 1813 plain words in the document, in much the way that the first line can
 1814 become the title of a hymn.  
 1816 <div class="p"><!----></div>
 1817 If commands like
 1818 <tt>\item</tt>, that output material to the HTML file occur
 1819 before the title has been constructed, the HTML title command will be
 1820 out of order and the formal standard will be violated. 
 1822 <div class="p"><!----></div>
 1823 In the case where the title construction fails, or if some other <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>
 1824 usage causes a violation of the formal standard, browsers will
 1825 still render the output correctly if this manual is followed.
 1827 <div class="p"><!----></div>
 1828      <a id="tth_sEc12.2"></a><h3>
 1829 12.2&nbsp;&nbsp;HTML Styles</h3>
 1830 <a id="htmlstyle">
 1831 </a>
 1832 There are good reasons why the <tt>&lt;head&gt;</tt> and <tt>&lt;body&gt;</tt> tags
 1833 are by default omitted by <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>.  See the FAQ [<a href="#headbody">B.3</a>] for a
 1834 brief discussion. However, the evolution of HTML standards (not yet
 1835 browsers) is towards imposing more restrictions on the freedom to omit
 1836 tags. For example XHTML <em>requires</em> that containers have both
 1837 opening and closing tags. Therefore <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;has a switch <tt>-w?</tt>
 1838 (where the question mark denotes an optional integer) that controls
 1839 its writing style as follows.
 1841 <dl>
 1842  <dt><b>Default</b></dt>
 1843     <dd> Construct title. Do not enter head and body tags.</dd>
 1844  <dt><b>-w -w0</b></dt>
 1845     <dd> Do not construct title or enter head/body tags.</dd>
 1846  <dt><b>-w1</b></dt>
 1847     <dd> Enter head and body tags assuming that the title is the
 1848 dividing point.</dd>
 1849  <dt><b>-w2</b></dt>
 1850     <dd> Use XHTML syntax.</dd>
 1851  <dt><b>-w4</b></dt>
 1852     <dd> Don't use block level font size commands between paragraphs.</dd>
 1853 </dl>
 1854 At present, in addition to the default style that
 1855 attempts to construct a title but does not enter head and body tags,
 1856 -w or equivalently -w0 prevents <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;from attempting to construct a
 1857 title or anything else in the way of head/body divisions. This style
 1858 is best used for documents where the author has explicitly entered the
 1859 required HTML tags. The switch -w1 invokes pedantic HTML style which
 1860 enters head and body tags under the assumption that the title
 1861 (possibly constructed automatically) is the last thing in the head
 1862 section. A style -w2 produces XHTML documents but <em>requires</em>
 1863 cascading style sheet (CSS) support in the browser otherwise the
 1864 rendering will not be as satisfactory as the default. 
 1866 <div class="p"><!----></div>
 1867 Addition of four to the writing style index (e.g. -w4) prevents
 1868  <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;employing block-level font size commands if the size is changed
 1869  immediately after a <tt>\par</tt> or implied paragraph. The additional
 1870  CSS style sheet is not inserted and, of course, the browser need not
 1871  support CSS. The (now) default writing style is to accommodate tables
 1872  and equations inside sections of larger or smaller text in a manner
 1873  that will pass standards validation. According to the standard, HTML
 1874  font changing commands like most others, are either of
 1875  inline<a 
 1876 id="inline_elements122"></a> type, in which case they are forbidden
 1877  to contain block<a 
 1878 id="block_level_elements122"></a> level constructs like
 1879  tables, or block type, in which case they force a new line and so
 1880  can't be used within a paragraph. The default can't universally fix
 1881  this unnecessarily restrictive requirement of the standard (which
 1882  most browsers wisely do not honor). There are situations where
 1883  <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;usage is simply impossible to express in HTML. However, it does
 1884  fix the vast majority of sensible usages. The switch -w4 turns off
 1885  this approach, reverting to less standards-compatible style.
 1887 <div class="p"><!----></div>
 1888  <a id="tth_sEc13"></a><h2>
 1889 13&nbsp;&nbsp;Browser and Server Problems</h2>
 1891 <div class="p"><!----></div>
 1892 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;translates <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;into standard HTML and takes account as far as
 1893 possible of the idiosyncrasies of the major browsers. Nevertheless,
 1894 there are several problems that are associated with the browsers, and
 1895 a few that are associated with web servers. Authors and publishers
 1896 should recognize that these are <em>not</em> <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;bugs. Font-related
 1897 problems are complicated. If you don't need all the gory details, you
 1898 might want to read section <a href="#fontoverview">13.1</a> and then skip to
 1899 <a href="#exploder">13.3</a>.
 1901 <div class="p"><!----></div>
 1902 <a 
 1903 id="fonts_accessing130"></a><a 
 1904 id="symbol_font_accessing130"></a>     <a id="tth_sEc13.1"></a><h3>
 1905 13.1&nbsp;&nbsp;Accessing Symbol Fonts: Overview</h3><a id="fontoverview">
 1906 </a>
 1908 <div class="p"><!----></div>
 1909 Many of the most serious difficulties of Mathematics rendering in HTML
 1910 are associated with the need for extra symbols. In addition to various
 1911 Greek letters and mathematical operators, one needs access to the
 1912 glyphs used to build up from parts the large brackets matching the
 1913 height of built-up fractions. These symbols are almost universally
 1914 present on systems with graphical browsers, which all have a
 1915 "Symbol" font, generally based on that made freely available by
 1916 Adobe. The problem lies in <em>accessing</em> the font because of
 1917 shortcomings in the browsers and the HTML standards that relate to
 1918 font use.
 1920 <div class="p"><!----></div>
 1921 <a 
 1922 id="switches_-y1131"></a><a 
 1923 id="switches_-y2131"></a><a 
 1924 id="switches_-u131"></a>In brief, there are three ways to access the symbol fonts; these will
 1925 be described in more detail below. The following table indicates which of
 1926 these approaches to accessing the symbol fonts works with which
 1927 browser. It also outlines which of the mathematics rendering
 1928 improvements via CSS positioning are satisfactory.
 1930 <div style="text-align:center">
 1932 <table border="1">
 1933 <tr><td align="left"></td><td colspan="3" align="center">  Symbol Encoding  </td><td colspan="2" align="center">CSS Positioning </td></tr>
 1934 <tr><td align="left"></td><td align="center">8-bit numeric </td><td align="center">Adobe Private </td><td align="center">Unicode 3.2 </td><td align="center">relative </td><td align="center">height
 1935 compress </td></tr>
 1936 <tr><td align="left"><span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;switch </td><td align="center">-u0</td><td align="center">-u1</td><td align="center">-u2 </td><td align="center">-y2</td><td align="center">-y1</td></tr>
 1937 <tr><td align="left">Browser:</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr>
 1938 <tr><td align="left">MSIE 5.0    </td><td align="center">Yes </td><td align="center">No </td><td align="center">No </td><td align="center">Yes </td><td align="center">Buggy</td></tr>
 1939 <tr><td align="left">Mozilla 1.x X </td><td align="center">Alias/Font </td><td align="center">Buggy </td><td align="center">Buggy </td><td align="center">Yes </td><td align="center">Yes</td></tr>
 1940 <tr><td align="left">Firefox 1.x X </td><td align="center">Alias/Font </td><td align="center">Buggy </td><td align="center">Buggy </td><td align="center">Yes </td><td align="center">Yes</td></tr>
 1941 <tr><td align="left">Firefox 1.x Win </td><td align="center">Yes  </td><td align="center">Buggy </td><td align="center">Buggy </td><td align="center">Yes </td><td align="center">Yes</td></tr>
 1942 <tr><td align="left">Konqueror 1.9.8</td><td align="center">Alias </td><td align="center">No </td><td align="center">No </td><td align="center">Yes </td><td align="center">Yes </td></tr>
 1943 <tr><td align="left">Firefox 3.5 X </td><td align="center">No </td><td align="center">Buggy </td><td align="center">Ugly </td><td align="center">Yes </td><td align="center">Yes </td></tr>
 1944 <tr><td align="left">Chrome 4.0 X </td><td align="center">No </td><td align="center">Buggy </td><td align="center">Ugly </td><td align="center">Yes </td><td align="center">Yes </td></tr>
 1945 <tr><td align="left">Firefox 3.5 Win </td><td align="center">Yes </td><td align="center">No </td><td align="center">Buggy </td><td align="center">Yes </td><td align="center">Yes </td></tr>
 1946 <tr><td align="left">MSIE 8.0 Win </td><td align="center">Yes </td><td align="center">No </td><td align="center">Ugly </td><td align="center">Yes </td><td align="center">Yes </td></tr></table>
 1948 </div>
 1950 <div class="p"><!----></div>
 1951 This situation is painful. The 8-bit numeric style symbol access
 1952  method, which was the approach originally pioneered by <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>, used to
 1953  work with a significant number of browsers but needed additional font
 1954  settings for X-window systems.  This is the approach that <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;used
 1955 to use
 1956  by default. However Mozilla and Firefox have systematically moved
 1957  towards disabling this method under linux and OSX, presumably because
 1958  they consider it not standards-compliant. They have not properly
 1959  implemented the unicode 3.2 alternative, because the glyphs they use
 1960  for built-up delimiters are incorrectly sized and leave ugly gaps. In
 1961  some cases the spacing is completely erroneous. One is left with the
 1962  choice between the traditional 8-bit approach, which works well with all
 1963  MSWindows systems up to Vista, but does not work with most recent
 1964  X-based operating systems; or Unicode 3.2 which works with most
 1965  browsers, but is badly buggy in Windows Firefox and ugly everywhere.
 1967 <div class="p"><!----></div>
 1968 In the interests of an eventual rationalization of this situation, TtH
 1969  has changed to make the Unicode 3.2 coding its default from the 2010
 1970  version 3.87 on, but this by no means universally satisfactory.
 1972 <div class="p"><!----></div>
 1973      <a id="tth_sEc13.2"></a><h3>
 1974 13.2&nbsp;&nbsp;Accessing Symbol Fonts: Details<a 
 1975 id="fonts_details132"></a></h3>
 1977 <div class="p"><!----></div>
 1978 <a 
 1979 id="character_set132"></a><a 
 1980 id="encoding132"></a>Prior to HTML4.0, that is, during the major phase of the evolution of
 1981 HTML, the default encoding for HTML documents was ISO-8859-1
 1982 (sometimes called ISO Latin-1). The document encoding defines a
 1983 mapping between the bytes of the file itself and characters. The
 1984 HTML4.0 standard draws a strict (but often confused) distinction
 1985 between the document "character set", sometimes referred to more
 1986 recently as the character "repertoire"(which refers to all the
 1987 characters that might be used in it) and the "document encoding"
 1988 (which encodes a subset of the character set by mapping them to
 1989 bytes). The confusion is compounded by the entrenched usage of the term
 1990 "charset" to refer to the "document encoding" (not the character
 1991 set). This usage is presumably a reflection of the prior lack of any
 1992 significant distinction between the two. 
 1994 <div class="p"><!----></div>
 1995 Purists since the adoption of HMTL4.0 regard the selection of a glyph
 1996 as governed by the process: (byte) code &#8594;glyph-name &#8594; font-glyph. In this view, even
 1997 though the font contains the glyphs in a well defined order, the
 1998 glyph is accessed not by its position in the font but by its name. For
 1999 example, in a document with ISO-8859-1 encoding, the byte with decimal
 2000 value 97 maps to the "latin small letter a" which is accessed from
 2001 the font on that basis.  On this view, it is not possible, or rather
 2002 ought not to be possible, to access the Greek letter alpha by
 2003 specifying that the font is Symbol and the byte coding decimal value
 2004 is 97, despite the fact that the Greek alpha is indeed in the same
 2005 position in the Symbol font as the lower case a in its font. This is
 2006 because (the story goes) 97 means "latin small letter a" and the
 2007 Symbol font simply does not contain the latin small letter a.
 2009 <div class="p"><!----></div>
 2010 In practice, of course, most browsers, including Internet Explorer (to
 2011 8.x), have not taken so pedantic an approach. In a document that is
 2012 encoded in the same order as the fonts on the system, as is the case
 2013 for ISO-8859 on systems other than the (old) MacIntosh, the browser maps
 2014 code to glyph directly on the basis of numeric position in the
 2015 font. Therefore it is perfectly sensible to specify eight-bit code 97
 2016 and Symbol font to obtain alpha. In other words, the browsers treat
 2017 the Symbol font as if it were an ISO-8859 font even though, as far as
 2018 the glyph names are concerned, it is not. It can be argued, even
 2019 within the world-view of standards lawyers, that a document that does
 2020 not explicitly specify its encoding (and <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;documents do not) could
 2021 be considered to obey its own font encoding or some unspecified
 2022 encoding, in which case, bytes ought to be permitted to refer directly
 2023 to numeric font positions, in just this fashion, regardless of whether
 2024 the font is identified as ISO 8859. But such arguments are usually a
 2025 waste of breath. In any case, recent versions of Mozilla and its
 2026 derivatives on the Windows operating system will properly render
 2027 symbols provided they are told that the DOCTYPE is HTML 4.0, not HTML
 2028 4.01. This is the reason why <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;has reverted to giving its
 2029 documents this rather out of date DOCTYPE.
 2031 <div class="p"><!----></div>
 2032 On the X-windows system, a distinction between fonts is provided
 2033 directly in the system via the font naming conventions. Mozilla takes
 2034 notice of this font allocation by permitting access only to fonts
 2035 whose names end 8859-1, for default encoded documents. The symbol font
 2036 is not one of those fonts unless additional steps are taken. The
 2037 enabling of the symbol font requires specification of some system font
 2038 aliases, or installation of a specially encoded Symbol font, which
 2039 then ensures that the Symbol font is treated as if it were ISO-8859-1
 2040 encoded. Notice that this type of problem arises for any document that
 2041 wants to access more than one language of font. Thus, any document
 2042 desiring a mixture of, for example, western and cyrilic characters
 2043 would face the same problem.
 2045 <div class="p"><!----></div>
 2046 To summarise, the symbol font is present on practically every computer
 2047 on the planet that runs a graphical browser. Under the MSWindows
 2048 operating system, IE to version 8.x, and Mozilla (gecko)-based
 2049 browsers treat the symbol font as if it were a numerically encoded
 2050 font and compatible with ISO 8859-1 encoding, provided the DOCTYPE is
 2051 HTML 4.0 Transitional.  Treating the font as such enables the glyphs to be
 2052 accessed using either eight-bit codes in just the same way as standard
 2053 ASCII characters. This is the way that documents have accessed these
 2054 glyphs for years.
 2056 <div class="p"><!----></div>
 2057 The HTML4.01 standard says that unicode (ISO 10646, also called UCS) is
 2058 the character set of HTML, and that the way characters outside the
 2059 current document encoding should be accessed is through unicode
 2060 points. Unicode is backwardly compatible with ISO 8859-1 in a way that
 2061 we need not dwell on. Unicode is supposed to fix all the font problems
 2062 that are described here, and with luck eventually it will indeed
 2063 help. The problem is that (1) Unicode is enormous, so only a tiny
 2064 fraction of it is so far supported, and (2) in its original incarnation
 2065 unicode does not even assign points to the parts of large delimiters
 2066 that are needed for mathematics. They <em>are</em> present in the new
 2067 version of unicode, 3.2, becoming current. However, as the
 2068 table above shows, no browser cleanly supports the new unicode
 2069 assignments. Mozilla used to support some assignments of points in
 2070 unicode's designated "private usage area" to the glyphs we
 2071 need. Apparently these assignments have become de-facto standards for
 2072 the Adobe Symbol font in typographic circles. No other browser
 2073 supports them. They are not and, according to unicode principles,
 2074 never will be part of the unicode standard, and appear to be on the
 2075 way out.
 2077 <div class="p"><!----></div>
 2078 The option that mathematics web publishing currently has, then, is
 2079  either an approach that works with Windows browsers but which purists
 2080  say is not consistent with latest standards, or a representation that
 2081  is consistent with the standard but useless with some browsers. It
 2082 would be really nice if the browsers would get their act together on
 2083 mathematical symbols.
 2085 <div class="p"><!----></div>
 2086      <a id="tth_sEc13.3"></a><h3>
 2087 13.3&nbsp;&nbsp;Printing<a 
 2088 id="printing133"></a></h3>
 2089 <a id="exploder">
 2090 </a>
 2092 <div class="p"><!----></div>
 2093 In many browsers, the printing fonts are hard coded into the browser
 2094 and the font-changing commands are ignored when printing. For that
 2095 reason, visitors viewing <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;documents will often not be able to
 2096 print readable versions of documents with lots of mathematics. This
 2097 problem could, and should, be fixed in the browsers. However, if you
 2098 want your readers to be able to print a high-quality paper copy of the
 2099 file, then you probably want to make available to them either the
 2100 <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;source or a common page-description format such as Postscript or
 2101 PDF. Since HTML documents download and display so much faster and
 2102 better than these other formats on the screen, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>'s translation
 2103 provides the natural medium for people to <i>browse</i>, but not
 2104 necessarily the best medium for paper production.
 2106 <div class="p"><!----></div>
 2107      <a id="tth_sEc13.4"></a><h3>
 2108 13.4&nbsp;&nbsp;Netscape/Mozilla Composer<a 
 2109 id="Netscape_Mozilla_Composer134"></a></h3>
 2110 <a id="nscomp">
 2111 </a>
 2112 Netscape Composer and Mozilla Composer is
 2113 too clever for its own good. If you run an HTML document produced by <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>
 2114 through Netscape Composer, all sorts of internal translations are
 2115 performed that are detrimental to its eventual display. For example,
 2116 if you subsequently save the document with the usual encoding set
 2117 (Western), the eightbit codes that work with Macs are replaced with
 2118 HTML4.0 entities such as [&amp;]ograve; or [&amp;]pound;. This effectively
 2119 breaks the document for viewing on Macs because it undoes everything
 2120 just explained. Even if you use User-Defined encoding, which prevents
 2121 this particular substitution, Composer will rearrange the document in
 2122 various ways that it thinks are better, but that make the display of
 2123 the document worse. The moral is, don't run <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;documents through
 2124 Netscape Composer.<a 
 2125 id="publish_through_composer_disallowed134"></a>
 2126   You therefore cannot use the "publish" facility
 2127 of Composer. Transfering the document to the server with plain old ftp
 2128 will keep it away from Composer's clutches.
 2130 <div class="p"><!----></div>
 2131      <a id="tth_sEc13.5"></a><h3>
 2132 13.5&nbsp;&nbsp;Other Browser Bugs</h3>
 2134 <div class="p"><!----></div>
 2135 <a id="cellbug">
 2136 </a>Font changing commands do not propagate from cell to cell of HTML
 2137 tables. In rendering equations (using tables) <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;circumvents this
 2138 bug (excuse me, <em>feature</em>) at the cost of significant extra effort and
 2139 slightly verbose HTML.  However, for tables generated by
 2140 <tt>\halign</tt> or <tt>\begin{tabular}</tt> <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;takes no special steps
 2141 to avoid this problem. A change of font face in a cell, for example by
 2142 <tt>\it</tt> will not carry over to the next cell.  A document
 2143 containing this problem will not pass some HTML validations.  It is
 2144 prevented if every cell of a <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;table is enclosed in braces and the
 2145 required style applied separately to every cell - a serious
 2146 annoyance.
 2148 <div class="p"><!----></div>
 2149 <a id="tablebug">
 2150 </a>Tables are incapable of being properly embedded within a line of text.
 2151 They generally force a new line. This is quite a significant handicap
 2152 when translating in-line material that could use a table. It can be
 2153 argued that this behaviour is required by the HTML
 2154 standard. Specifically, the <tt>&lt;p&gt;</tt> element is defined as having
 2155 in-line attributes which prevent it from containing any elements
 2156 defined as being <tt>block</tt> type, of which <tt>&lt;table&gt;</tt> or
 2157 actually strictly <tt>&lt;td&gt;</tt> is one. However, even if you ensure that
 2158 text is not inside a <tt>&lt;p&gt;</tt>, most browsers force a new line.
 2160 <div class="p"><!----></div>
 2161      <a id="tth_sEc13.6"></a><h3>
 2162 13.6&nbsp;&nbsp;Web server problems</h3>
 2163 <a 
 2164 id="UTF-8136"></a><a 
 2165 id="web-server136"></a>
 2167 <div class="p"><!----></div>
 2168 The HTML files that <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;produces are encoded using the charset
 2169 ISO-8859-1, like most web files. In newer linux systems the default
 2170 file encoding on the computer is in many cases now UTF-8. For the
 2171 characters with codes above 128, this can cause problems with the web
 2172 server. The web server may wrongly assume that the HTML file is a
 2173 UTF-8-encoded file, and declare this assumption in the http content-type
 2174 header that it sends to browsers when they access the file. For
 2175 gecko-based browsers, the http content-type declaration overrides any
 2176 internal file declaration of the encoding of the file. Consequently,
 2177 the browser treats this file as if it is UTF-8 encoded, with the
 2178 result that codes higher than 128 are misinterpreted. This is an
 2179 inadequacy in the web server (apache is known to behave this way in
 2180 some situations).
 2182 <div class="p"><!----></div>
 2183 There are several options to work around this problem.
 2185 <div class="p"><!----></div>
 2186 It is possible to convert all files from ISO-8859-1 to UTF-8 encoding,
 2187 using a utility called <tt>iconv</tt>, present on most modern linux
 2188 installations. This is not an attractive solution because then when
 2189 the files are browsed locally (via file://...) they will display
 2190 incorrectly. Locally, the browser does not have the http content-type
 2191 declaration to guide (or misguide) it, and it thinks the files are
 2192 ISO-8859-1 encoded. But if they've been converted, they are not.
 2194 <div class="p"><!----></div>
 2195 The better approach seems to be to fix the web server so that it gets
 2196 the file content-type right. This can be done on a per-directory basis
 2197 by creating a file called <tt>.htaccess</tt> in the directory. This file
 2198 should contain the line:
 2200 <pre>
 2201 &nbsp;&nbsp;AddType&nbsp;text/html;charset=ISO-8859-1&nbsp;html
 2203 </pre>
 2204 This tells the server that all files in this directory and its
 2205 subdirectories that have extension <tt>html</tt> are to be considered of
 2206 type HTML and encoded with the ISO-8859-1 charset.
 2208 <div class="p"><!----></div>
 2209 Unfortunately some web servers are configured not to pay attention to
 2210 the <tt>.htaccess</tt> file. If yours is one, you have to get the web
 2211 master to edit the server configuration file
 2212 (<tt>/etc/httpd/conf/httpd.conf</tt>). The lines that read
 2213 <tt>AllowOverride&nbsp;None</tt> must read instead
 2214 <tt>AllowOverride&nbsp;FileInfo</tt>. Alternatively, get the webmaster to
 2215 change the line in that configuration file that reads
 2216 <tt>AddDefaultCharset&nbsp;UTF-8</tt> to read instead
 2218 <pre>
 2219 AddDefaultCharset&nbsp;ISO-8859-1
 2221 </pre>
 2222  and once the server is restarted all your troubles will be over
 2223 without any of those pesky <tt>.htaccess</tt> files.
 2225 <div class="p"><!----></div>
 2226 There are other ways of accomplishing the same thing in the web
 2227 server, if you are a guru. Information is available at 
 2228 <a href="http://www.w3.org/International/questions/qa-htaccess-charset">the
 2229   W3C FAQ</a>.
 2231 <div class="p"><!----></div>
 2232  <a id="tth_sEc14"></a><h2>
 2233 14&nbsp;&nbsp;Code Critique<a 
 2234 id="bugs140"></a></h2>
 2236 <div class="p"><!----></div>
 2237 If you think you have found a bug, you can report it to
 2238 <tt>tth(at)hutchinson.belmont.ma.us</tt> (with the usual character
 2239 substituted in the email address).  You are most likely to get help if
 2240 your report is accompanied by the brief section of <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;code that
 2241 causes the problem. Let me repeat, in addition to a brief description
 2242 of the problem, send the <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;code, preferably a short
 2243 section isolating the problem, in a document that can be processed
 2244 by <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>. It is the only way for me to establish
 2245 what the problem is. But please don't send <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>2.09 files or files
 2246 that do not conform to the (1994) <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;users' guide. And
 2247 please check this <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;manual and especially the FAQ (<a href="#FAQ">B</a>) first.
 2249 <div class="p"><!----></div>
 2250 The code has been compiled and run on Linux, MSDOS, Wind*ws, Open VMS,
 2251 and sundry other operating systems. See 
 2252 <a href="http://hutchinson.belmont.ma.us/tth/platform.html">http://hutchinson.belmont.ma.us/tth/platform.html</a>.
 2254 <div class="p"><!----></div>
 2255  <a id="tth_sEc15"></a><h2>
 2256 15&nbsp;&nbsp;License</h2>
 2258 <div class="p"><!----></div>
 2259 <a 
 2260 id="license150"></a><span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;is copyright &#169;&nbsp;Ian Hutchinson, 1997-2011.
 2262 <div class="p"><!----></div>
 2263 You are hereby freely licensed to use this software under the terms of
 2264 the GNU General Public License, version 2, published by the Free
 2265 Software Foundation, a copy of which is enclosed in the file
 2266 license.txt.
 2268 <div class="p"><!----></div>
 2269 The software comes WITHOUT ANY WARRANTY; without even the implied
 2272 <div class="p"><!----></div>
 2274  <a id="tth_sEc16"></a><h2>
 2275 16&nbsp;&nbsp;Acknowledgements</h2>
 2277 <div class="p"><!----></div>
 2278 Many thanks for useful discussions and input to Robert Curtis, Ken
 2279 Yap, Paul Gomme, Michael Sanders, Michael Patra, Bryan Anderson,
 2280 Wolfram Gloger, Ray Mines, John Murdie, David Johnson, Jonathan
 2281 Barron, Michael Hirsch, Jon Nimmo, Alan Flavell, Ron Kumon, Magne
 2282 Rudshaug, Rick Mabry, Andrew Trevorrow, Guy Albertelli II, Steve
 2283 Schaefer and for bug
 2284 reports from others too numerous to mention.
 2286 <div class="p"><!----></div>
 2287  <a id="tth_sEcA"></a><h2>
 2288 A&nbsp;&nbsp;Appendix: Non-Standard <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;Macros</h2>
 2290 <div class="p"><!----></div>
 2291 <a 
 2292 id="macros_special_useA0"></a>The following macro definitions, although not needed for <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>, will
 2293 enable a <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;file that uses the non-standard <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;commands to be
 2294 correctly parsed by Plain <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>.
 2296 <div class="p"><!----></div>
 2298 <pre>
 2299 \def\hyperlink#1#2{\special{html:&lt;a&nbsp;href="\##1"&#62;}#2\special{html:&lt;/a&#62;}}
 2300 &nbsp;&nbsp;%&nbsp;Incorrect&nbsp;link&nbsp;name&nbsp;in&nbsp;\TeX\&nbsp;because&nbsp;#&nbsp;can't&nbsp;be&nbsp;passed&nbsp;properly&nbsp;to&nbsp;a&nbsp;special.
 2301 \def\hypertarget#1#2{\special{html:&lt;a&nbsp;name="#1"&#62;}#2\special{html:&lt;/a&#62;}}
 2302 \long\def\tthdump#1{#1}&nbsp;%&nbsp;Do&nbsp;nothing.&nbsp;The&nbsp;following&nbsp;are&nbsp;not&nbsp;done&nbsp;for&nbsp;TtH.
 2303 \tthdump{%
 2304 \def\title#1{\bgroup\leftskip&nbsp;0&nbsp;pt&nbsp;plus1fill&nbsp;\rightskip&nbsp;0&nbsp;pt&nbsp;plus1fill
 2305 \pretolerance=100000&nbsp;\lefthyphenmin=20&nbsp;\righthyphenmin=20
 2306 \noindent&nbsp;#1&nbsp;\par\egroup}%&nbsp;Centers&nbsp;a&nbsp;possibly&nbsp;multi-line&nbsp;title.
 2307 &nbsp;\let\author=\title&nbsp;%&nbsp;Actually&nbsp;smaller&nbsp;font&nbsp;than&nbsp;title&nbsp;in&nbsp;\LaTeX.
 2308 &nbsp;\input&nbsp;epsf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%&nbsp;PD&nbsp;package&nbsp;defines&nbsp;\epsfbox&nbsp;for&nbsp;figure&nbsp;inclusion
 2309 &nbsp;&nbsp;%&nbsp;Macro&nbsp;for&nbsp;http&nbsp;reference&nbsp;inclusion,&nbsp;per&nbsp;hypertex.
 2310 &nbsp;\def\href#1#2{\special{html:&lt;a&nbsp;href="#1"&#62;}#2\special{html:&lt;/a&#62;}}
 2311 &nbsp;\def\urlend#1{#1\endgroup}
 2312 &nbsp;\def\url{\begingroup&nbsp;\tt&nbsp;
 2313 &nbsp;&nbsp;\catcode`\_=13&nbsp;%&nbsp;Don't&nbsp;know&nbsp;why&nbsp;this&nbsp;works.
 2314 &nbsp;&nbsp;\catcode`\~=11&nbsp;\catcode`\#=11&nbsp;\catcode`\^=11&nbsp;
 2315 &nbsp;&nbsp;\catcode`\$=11&nbsp;\catcode`\&amp;=11&nbsp;\catcode`\%=11
 2316 \urlend}%&nbsp;\url&nbsp;for&nbsp;plain&nbsp;\TeX.
 2317 }
 2319 </pre> 
 2321 <div class="p"><!----></div>
 2322  <a id="tth_sEcB"></a><h2>
 2323 B&nbsp;&nbsp;Appendix: Frequently Asked Questions</h2>
 2324 <a id="FAQ">
 2325 </a>
 2327 <div class="p"><!----></div>
 2328      <a id="tth_sEcB.1"></a><h3>
 2329 B.1&nbsp;&nbsp;Building and Running <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span></h3>
 2331 <div class="p"><!----></div>
 2333 <b>Why does my compiler crash when compiling <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>?&nbsp;&nbsp;</b>
 2334 <br /><span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;comes in the form of a single C source file
 2335 because it is mostly one very large function which is produced by
 2336 flex. It is completely standard C code but the size challenges
 2337 compilers' capabilities, especially if you try to optimize using the
 2338 -O switch. With gcc under linux it is possible to compile an optimized
 2339 version, but optimization hardly affects the speed and reduces the
 2340 disk size of the already modest executable only by about
 2341 20%. Therefore it is no significant loss to compile without
 2342 optimization. Under DOS, even unoptimized compilation can cause DJGPP
 2343 to crash if its stack size is less than about 1024k. The fix (using
 2344 stubedit on cc1.exe) for this DJGPP bug is described in its FAQ.
 2346 <div class="p"><!----></div>
 2348 <b>Why does my <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;executable, which I compiled myself, crash?&nbsp;&nbsp;</b>
 2349 <br />Assuming that this is not a problem caused by invalid
 2350 <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>, or by you poking around inside the C code, it is probably a
 2351 compiler shortcoming.  Some default settings of some compilers give
 2352 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;too little stack space and cause it to crash. Most
 2353 self-respecting compilers have switches or settings to increase that
 2354 space. Try increasing it, or get one of the binary distributions.
 2356 <div class="p"><!----></div>
 2358 <b>Why won't <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;run from Program Manager in Wind*ws?&nbsp;&nbsp;</b><br />
 2359 You need a command line. Call up the DOS prompt. If you feel the need
 2360 for a drag and drop facility, get <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>gold.
 2362 <div class="p"><!----></div>
 2363      <a id="tth_sEcB.2"></a><h3>
 2364 B.2&nbsp;&nbsp;[La]TeX constructs <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not seem to recognize</h3>
 2366 <div class="p"><!----></div>
 2368 <b><span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not recognize tableofcontents, backward
 2369 references, listoffigures, ...&nbsp;&nbsp;</b><br />
 2370 Yes it does, see section <a href="#LaTeXfiles">6.1</a>, and use the <tt>-L</tt> switch.
 2372 <div class="p"><!----></div>
 2374 <b><span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not insert my picture environments.&nbsp;&nbsp;</b><br />
 2375 If picture environment pictures are to be included, conversion to a gif file
 2376 is needed. See <a href="#pict">6.5</a>.
 2378 <div class="p"><!----></div>
 2380 <b><span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;messes up my tabbing environment.&nbsp;&nbsp;</b><br />
 2381 Tabbing is not currently supported. It is alien to the HTML document
 2382 mark-up approach. See section <a href="#tabhal">7</a>.
 2384 <div class="p"><!----></div>
 2385 <a 
 2386 id="switches_-LB2"></a><a 
 2387 id="frac_command_see_switch_-LB2"></a>
 2388 <b>Why doesn't \frac work in equations?&nbsp;&nbsp;</b><br />
 2389 It does, but only in <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;documents because <tt>\frac</tt> is not a
 2390 plain <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;command. The document you are presenting to <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;doubtless
 2391 has no <tt>\documentclass</tt> command and other <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;blurb at the top.
 2392 If you insist on having <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;commands available in such a document,
 2393 you can use the <tt>-L</tt> switch. But note that other changes in
 2394 interpretation (e.g. in footnotes) are implied by using this switch to
 2395 tell <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;that this is a <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;file.
 2397 <div class="p"><!----></div>
 2398 <a 
 2399 id="extensions_to__LaTeXB2"></a><a 
 2400 id="LatexB2"></a><a 
 2401 id="usepackageB2"></a>
 2402 <b>Why does <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;not recognize ... command from ... style
 2403 package?&nbsp;&nbsp;</b><br />
 2404 Let's be perfectly clear here. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not currently recognize 
 2405 <tt>\usepackage</tt> and, with the exception of commands explicitly
 2406 mentioned in this manual, does not support <em>any</em> of the zillions
 2407 of extensions to <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;that exist, even if they are part of the
 2408 "standard distribution". <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does support macro definitions, see
 2409 section <a href="#texins">9.2</a>, and
 2410 you might find that if you explicitly <tt>\input</tt> the style file
 2411 that you need it will recognize the macro. However, many <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;extension packages are written in a complicated manner such that they
 2412 depend on changes in catcodes, which <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not
 2413 support. Therefore no guarantee can be given. This is one reason why
 2414 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;deliberately does not recognize <tt>\usepackage</tt>.
 2416 <div class="p"><!----></div>
 2417 <a 
 2418 id="line-endsB2"></a>
 2419 <b>Why does <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;not recognize my ends of lines properly?&nbsp;&nbsp;</b><br />
 2420 If you transfer a file from one operating system to another as a
 2421 binary file, the line-end codes are likely to be messed up. They use
 2422 different codes on Un*x, DOS, and Mac. Usually <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;is not bothered by
 2423 this. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;is somewhat more sensitive. Use ASCII transfer.
 2425 <div class="p"><!----></div>
 2426 <a 
 2427 id="skip_space_and_dimension_commandsB2"></a>
 2428 <b>Why does <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;complain about my skip, space, ... command?&nbsp;&nbsp;</b><br />
 2429 Dimensions are often inappropriate for HTML. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>
 2430 tries do something sensible with dimension, space, and glue
 2431 commands. Usually it is successful. If so, you need do nothing. In
 2432 some rare cases, you might see some irrelevant left-over characters
 2433 from the dimension command that have to be removed by hand.
 2435 <div class="p"><!----></div>
 2436 <a 
 2437 id="bibtexB2"></a>
 2438 <b>Can <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;be made to support Bib<span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;bibliographies?&nbsp;&nbsp;</b><br />
 2439 It already does; see <a href="#bibtex">6.2</a>. If <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;is not finding the .bbl file
 2440 even though you used the -L switch, then you probably forgot to
 2441 generate it using <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;<em>and</em> Bib<span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>, or perhaps it is in the
 2442 wrong place. Try using the <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;switch -a.<a 
 2443 id="aB2"></a><a 
 2444 id="switchesB2"></a>  
 2446 <div class="p"><!----></div>
 2447 <a 
 2448 id="supportB2"></a>
 2449 <b>Does <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;support ...?&nbsp;&nbsp;</b><br />Probably yes if it is part
 2450 of <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>. But if you want a specific additional capability, and find
 2451 that it is not supported, why not write a TeX macro to support it and
 2452 translate it into suitable HTML using the functions described in this
 2453 manual. Then you will have your support and if you send it to
 2454 <tt>tth(at)hutchinson.belmont.ma.us</tt> (with the usual character
 2455 substituted in the email address), it may be possible to include it
 2456 into the standard <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;executable and you'll have helped all the
 2457 other users of <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>.
 2459 <div class="p"><!----></div>
 2460      <a id="tth_sEcB.3"></a><h3>
 2461 B.3&nbsp;&nbsp;HTML output that does not satisfy</h3>
 2463 <div class="p"><!----></div>
 2464 <a id="headbody">
 2465 </a><a 
 2466 id="headB3"></a><a 
 2467 id="bodyB3"></a>
 2468 <b>Why doesn't <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;automatically generate&nbsp;&nbsp;</b> <tt>&lt;head&gt;</tt>
 2469 and <tt>&lt;body&gt;</tt> <b>HTML tags?</b><br />
 2470  First, the <tt>&lt;head&gt;</tt> and
 2471 <tt>&lt;body&gt;</tt> tags are <em>optional</em> in the HTML specification. There is
 2472 no need for <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;to generate them to statisfy the standard. Second, <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>
 2473 and <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;files do not have a corresponding structural division into
 2474 separate head and body sections. It might seem as if <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;does, with
 2475 <tt>\begin{document}</tt>  being the divider, but there are many cases
 2476 where this mapping is incorrect. For example title may not be defined
 2477 until after <tt>\begin{document}</tt>, corresponding to the HTML body
 2478 section, whereas it must be in the head section. Finally, if <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>
 2479 automatically entered <tt>&lt;head&gt;</tt> and <tt>&lt;body&gt;</tt> tags, then the
 2480 thoughtful author would not be able to enter them where they ought to
 2481 be by using, for example:<br />
 2482 <tt>%%tth:&nbsp;\begin{html}&nbsp;&lt;head&gt;&nbsp;\end{html}</tt><br />
 2483 Therefore, the choice <em>not</em> to produce these tags automatically
 2484 is a deliberate one based on a careful consideration of the advantages
 2485 and disadvantages. An author can always adjust their <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;code to
 2486 include them, if they wish to be pedantic about the division. See also
 2487 the section on HTML style [<a href="#htmlstyle">12.2</a>].
 2489 <div class="p"><!----></div>
 2490 <a 
 2491 id="title_TeX_commands_not_expanded_inB3"></a>
 2492 <b>Why don't <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;commands get expanded in the HTML title?&nbsp;&nbsp;</b><br />
 2493 In HTML, the stuff that goes in the <tt>&lt;title&gt;...&lt;/title&gt;</tt> of a
 2494 page is not permitted by the specification to contain HTML tags -
 2495 things in angle brackets - and tags are not interpreted. If an
 2496 equation or some other command that <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;translates into HTML
 2497 formatting is in the title, then the title will break when
 2498 expanded. Therefore <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;deals with commands differently in the
 2499 title.  By default it leaves them in the <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;form that they started
 2500 as, since that is about as easy to read as any unformatted
 2501 mathematics. Using the -n? switch enables control of the precise
 2502 behaviour. See <a href="#n-switch">3</a>.
 2504 <div class="p"><!----></div>
 2506 <b>How do I make <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;border my tabular table?&nbsp;&nbsp;</b><br />
 2507 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;looks in the format string argument of the begin{tabular}
 2508 environment and if it begins with a <tt>|</tt> (vertical bar) then the HTML
 2509 table is bordered.
 2511 <div class="p"><!----></div>
 2513 <b><span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;inserts the title and author even without the
 2514 maketitle command&nbsp;&nbsp;</b><br />
 2515 True, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;inserts them when you define them. This gives you a chance
 2516 to fine-tune the presentation if you wish.
 2518 <div class="p"><!----></div>
 2520 <b>What is this strange result using \dot
 2521 \hat \tilde \frac
 2522 \vec ... in in-line equations?&nbsp;&nbsp;</b><br />
 2523 Neither over and under accents nor built-up constructs such as
 2524 fractions can be rendered in-line (i.e. in a textstyle equation
 2525 produced by $ ... $) in HTML. Therefore, <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;outputs something that is
 2526 not elegant but reasonably indicates the original
 2527 intention. Additional brackets are inserted to ensure that fractions
 2528 are unambiguous. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;<em>will</em> render all these built-up constructs
 2529 correctly in a <em>display</em> equation. See also <a href="#inline">5.2</a> and
 2530 <a href="#yswitch">5.3</a> for alternatives.
 2533 <div class="p"><!----></div>
 2534 <a 
 2535 id="square_rootB3"></a>
 2536 <b>Why does the large square root sign look so ugly?&nbsp;&nbsp;</b><br />
 2537 There are some things that browser symbol fonts can't do well.
 2539 <div class="p"><!----></div>
 2540 <a 
 2541 id="daggerB3"></a>
 2542 <b>Why does a dagger sign come out strange?&nbsp;&nbsp;</b><br />
 2543 Browsers don't generally have a dagger sign in their fonts. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;uses a
 2544 kludge.
 2546 <div class="p"><!----></div>
 2547 <a 
 2548 id="ComposerB3"></a>
 2549 <b>The file I "published" using Netscape Composer looks
 2550 messed up when viewed on a Mac.&nbsp;&nbsp;</b><br />
 2551 Don't use Composer on <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;documents. See section <a href="#nscomp">13.4</a>.
 2553 <div class="p"><!----></div>
 2554 <a 
 2555 id="fboxB3"></a>
 2556 <b>Why does <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;mess up my \fbox,
 2557 minipage, etc?&nbsp;&nbsp;</b><br />The whole concept of a "box" is not really
 2558 translatable into HTML. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;tries to mimic the box using tables. But
 2559 in some cases, especially in equations, it can't cope.
 2561 <div class="p"><!----></div>
 2562 <a 
 2563 id="calligraphicB3"></a>
 2564 <b>How do I get caligraphic fonts, {\cal E}, AMS
 2565 fonts,  etc?&nbsp;&nbsp;</b><br />
 2566 You can't because browsers don't have access to them. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;can only
 2567 support fonts that are available on the browsers that eventually visit
 2568 the page. By default <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;tells the browser to render caligraphic as
 2569 italic helvetica font. You may, if you wish, define <tt>\cal</tt> to be
 2570 something different, such as <tt>%%tth:\def\cal{\it\color{red}}</tt>.
 2572 <div class="p"><!----></div>
 2573 <a 
 2574 id="double-quotesB3"></a>
 2575 <b>Why does <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;turn double-quotes into an accent
 2576 instead of quotes?&nbsp;&nbsp;</b><br />In basic <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;the double quotes character
 2577 <tt>"</tt> is not defined, and hence may do anything that the local
 2578 installation feels like. Double quotes must be inserted by using two
 2579 quote " or back-quote " characters.  In German <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;implementations,
 2580 the double-quotes character is used to provide the umlaut over accent
 2581 and for some other special needs. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;supports these German uses in
 2582 some appropriate contexts. English speakers should adopt proper <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>
 2583 quote usage.  There is essentially never a situation in <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;where
 2584 it is advisable to use a double quote to represent itself outside of a
 2585 verbatim section (where it will naturally be treated literally). In
 2586 Plain <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;you might need it. If so, <tt>\char`"</tt> is an
 2587 absolutely fool-proof way to insert it. Here it is:". 
 2588 You can also just enclose it in braces thus:{"}. 
 2590 <div class="p"><!----></div>
 2591 <a 
 2592 id="pB3"></a>
 2593 <b>Why doesn't TtH output use  &lt; <span class="roman">p</span> &gt;  for paragraphs?&nbsp;&nbsp;</b><br />
 2594  For the first years of its existence it
 2595 did. However, standards of HTML interpretation have grown tighter to
 2596 the point where <tt>&lt;p&gt;</tt> is a great liability. In XHTML (the latest
 2597 HTML standard) <tt>&lt;p&gt;</tt> is a container element. It must have a
 2598 closing <tt>&lt;/p&gt;</tt>; so that every paragraph must be its own
 2599 group. This compulsion is contrary to <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;usage. Therefore TtH
 2600 changed to dispense completely with any use of <tt>&lt;p&gt;</tt>, using an
 2601 empty <tt>&lt;div&gt;</tt> with an associated CSS style instead. This has the
 2602 significant benefit of ensuring that for standards-compliant browsers,
 2603 font changes propagate even into the cells of tables. (NS4 is not
 2604 compliant, Mozilla, NS7 etc are, in this respect.)
 2606 <div class="p"><!----></div>
 2607      <a id="tth_sEcB.4"></a><h3>
 2608 B.4&nbsp;&nbsp;How to write <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;designed for Web publishing</h3>
 2610 <div class="p"><!----></div>
 2611 <a 
 2612 id="TthB4"></a><a 
 2613 id="iftthB4"></a>
 2614 <b>How do I insert code that is used only by <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>, not <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>?&nbsp;&nbsp;</b><br />
 2615 Use <tt>%%tth:</tt> followed by the material you wish to pass to <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>.
 2616 <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;omits this line as a comment. Alternatively, insert <tt>\newif\iftth</tt>
 2617 at the top of your document, then use a conditional:
 2618 <tt>\iftth&nbsp;\TtH\&nbsp;material&nbsp;\fi</tt>. TtH recognizes <tt>\iftth</tt> as a
 2619 special `if' that is always true, whereas to <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;it is simply a
 2620 new `if', which by default is false when defined.
 2622 <div class="p"><!----></div>
 2623 <a 
 2624 id="HTML_tagsB4"></a>
 2625 <b>How do I insert HTML tags into my file without <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;knowing?&nbsp;&nbsp;</b><br />
 2626 Use <tt>%%tth:</tt> then on this line put 
 2627 <tt>\begin{html}&nbsp;tags&nbsp;\end{html}</tt>. Do not try to continue this
 2628 html onto a second line with a second <tt>%%tth:</tt> before the
 2629 <tt>\end{html}</tt> because the html environment will output the
 2630 <tt>%%tth:</tt>, which it probably not what you want. Another way to
 2631 pass codes directly to the output is the <tt>\special{html:&nbsp;...&nbsp;}</tt>
 2632 command. Do
 2633 <em>not</em> use <tt>\begin{verbatim}</tt> to pass HTML tags. It will
 2634 convert the greater than and less than signs to make them appear in
 2635 the display and not be interpreted as tags.
 2637 <div class="p"><!----></div>
 2638 <a 
 2639 id="TexB4"></a>
 2640 <b>How do I insert code that is used only by <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>, not <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>?&nbsp;&nbsp;</b><br />
 2641 Insert <tt>\newif\iftth</tt> at the top of the file and then use
 2642 the conditional constr
 2643 uction:
 2645 <pre>\iftth\beginsection{The&nbsp;\TtH\&nbsp;Header}\par\else\beginsection{The&nbsp;\TeX\&nbsp;Header}\fi
 2647 </pre>
 2648 The `else' clause may also be used with a blank first clause, of
 2649 course: <tt>\iftth\else&nbsp;...&nbsp;\fi</tt>.
 2650 Alternatively, insert the definition <tt>\def\tthdump#1{#1}</tt> at the
 2651 top of the file and then use <tt>\tthdump{\TeX\&nbsp;material}</tt> to pass
 2652 stuff only to <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>. The command <tt>\tthdump</tt> is an internal command
 2653 for <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;(which cannot be redefined) that simply discards its argument.
 2654 Thus, for example, the following will output
 2655 alternate versions from <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;and <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>.
 2656 <pre>
 2657 \def\tthdump#1{#1}
 2658 %%tth:\begin{html}&lt;H1&#62;The&nbsp;HTML&nbsp;Header&lt;/H1&#62;\end{html}
 2659 \tthdump{\beginsection{The&nbsp;\TeX\&nbsp;Header}\par}
 2661 </pre>
 2663 <div class="p"><!----></div>
 2664 <a 
 2665 id="stylesB4"></a>
 2666 <b>How do I include the style file ...sty for the <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;paper I prepared for... journal?&nbsp;&nbsp;</b><br />
 2667  If you must, put it in the same directory as your .tex file and see
 2668  if it works. If it crashes, you may have to write a simpler one.
 2669  Remove the old style file. Look at your <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;file, or the
 2670  <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;messages telling you which commands are unknown. Decide which of
 2671  the journal's specific commands or environments you used or
 2672  need. Write a little style file that defines them to do something
 2673  simple and sensible, or translates them into standard <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>
 2674 commands. Or ask the journal to provide such a style file! If you are
 2675  a journal publisher, distribute your simplified style file to your
 2676  authors.
 2678 <div class="p"><!----></div>
 2679 <a 
 2680 id="tables_bordered_cells_filled_inB4"></a>
 2681 <b>In bordered tables I want an empty cell to look
 2682 empty. How do I make <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;do that?&nbsp;&nbsp;</b><br />
 2683 HTML tables by default "fill in" an empty cell, so that it gives the
 2684 visual impression of being absent. This is sometimes useful, so <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>
 2685 does not prevent it. If you want it to look like an empty cell, put a
 2686 non-break space in it by <tt>&amp;~&amp;</tt> in the <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>.
 2688 <div class="p"><!----></div>
 2689 <a 
 2690 id="hash_signB4"></a>
 2691 <b>How do I include into a macro I am defining a # sign
 2692 for an HTML reference?&nbsp;&nbsp;</b><br />
 2693 When you do <tt>\special{html:&lt;a&nbsp;href="#reference"&gt;}</tt> 
 2694 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;just puts the html tag in the output verbatim. <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;does essentially the
 2695 same for its dvi file and the dvi processor later may or may not complain
 2696 about not understanding it; but generally it is ignored. However if you try
 2697 to define a macro like
 2698 <tt>\def\localhref{\special{html:&lt;a&nbsp;href="#reference"&gt;}}</tt> then <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>
 2699 will complain as follows:
 2700 <pre>
 2701 !&nbsp;Illegal&nbsp;parameter&nbsp;number&nbsp;in&nbsp;definition&nbsp;of&nbsp;\localref.
 2702 &lt;to&nbsp;be&nbsp;read&nbsp;again&#62;&nbsp;
 2703 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r
 2704 l.3&nbsp;\def\localref{\special{html:&lt;a&nbsp;href="#r
 2705 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eference"&#62;}}
 2706 ?
 2707 </pre> This problem is caused by <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>'s syntax analysis of
 2708 the contents of the definition. One solution is to <i>hide</i> the
 2709 definition from <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;using <tt>%%tth:</tt>. An alternative definition
 2710 that avoids this problem must also be included for <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>'s benefit, for
 2711 example thus:
 2712 <pre>
 2713 \def\tthdump#1{#1}
 2714 \tthdump{\edef\localref{[a&nbsp;hyperreference]}}
 2715 %%tth:\def\localhref{\special{html:&lt;a&nbsp;href="#reference"&#62;}}
 2717 </pre>
 2718 Alternatively, use <tt>\#</tt> in place of <tt>#</tt> in the hypertex
 2719 reference. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;specifically recognizes this as a literal and does
 2720 appropriate translation. For example
 2722 <pre>
 2723 \def\localhref#1#2{\special{html:&lt;a&nbsp;href="\##1"&#62;}#2\special{html:&lt;/a&#62;}}
 2725 </pre>
 2726 will use its first parameter as a local anchor reference, preceded by <tt>#</tt>,
 2727 and its second as the text of the anchor. The sequences <tt>\%</tt> and
 2728 <tt>\\</tt> are also treated as escaped literals, inserting their second
 2729 character, inside a raw html section.
 2731 <div class="p"><!----></div>
 2732 <a 
 2733 id="URLB4"></a>
 2734 <b>How do I construct a macro to take as a single
 2735 argument a URL, which may contain special <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;characters like&nbsp;&nbsp;</b> 
 2736 <tt>_&nbsp;~&nbsp;@&nbsp;&amp;</tt> 
 2737 <b>etc, that makes <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;construct a hyperreference but <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;just enter it in the
 2738 text?</b><br />Use the built-in command <tt>\url{...}</tt>. This behaves in
 2739 essentially the same way as the command defined in <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>'s
 2740 url.sty. The reference will appear verbatim in the text (in teletype
 2741 font).
 2743 <div class="p"><!----></div>
 2744      <a id="tth_sEcB.5"></a><h3>
 2745 B.5&nbsp;&nbsp;Formerly Frequently Asked Now Rarely Asked</h3>
 2747 <div class="p"><!----></div>
 2748 <a 
 2749 id="FILESB5"></a><a 
 2750 id="file_not_foundB5"></a><a 
 2751 id="inputB5"></a>
 2752 <b>Why does <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;only manage to input a limited number
 2753 of files, perhaps 15 or so, then report "file not found" after
 2754 that?&nbsp;&nbsp;</b><br />
 2755 This is a limitation of the operating system. It has only a limited
 2756 number of file handles available. In MSDOS this number is set by a command 
 2757 <tt>FILES=...</tt> in the operating system configuration file
 2758 <tt>config.sys</tt>. It needs to be set to a number large enough to
 2759 accommodate all the input or include files that your <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;document
 2760 uses, plus whatever other file overhead the operating system is
 2761 using. Under OS/2 a similar limitation exists and is avoided by 
 2762 increasing the number of allowable file handles in the emx run-time
 2763 system (e.g.&nbsp;SET EMXOPT=-c -h400 in config.sys). 
 2765 <div class="p"><!----></div>
 2766 <a 
 2767 id="WinNTB5"></a>
 2768 <b><span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;seems not to work on WinNT when converting
 2769 included PostScript&nbsp;&nbsp;</b> files, even though my ps2gif program works fine
 2770 from the command line. What is the problem?<br />
 2771 The problem is not <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>. It appears to be an operating system
 2772 problem. The batch program ps2gif is breaking for some strange reason
 2773 when called from <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>. See footnote <a href="#ps2gifprob">5</a>.
 2775 <div class="p"><!----></div>
 2776 <a 
 2777 id="environment_not_recognizedB5"></a>
 2778 <b><span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;does not recognize evironment ... even though it
 2779 claims to.&nbsp;&nbsp;</b><br />
 2780 Probably you left a spurious space, e.g. <tt>\begin&nbsp;{enumerate}</tt>
 2781 between the <tt>\begin</tt> and the following brace. <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;occasionally won't
 2782 accept that, even though <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;does. It is bad style.
 2784 <div class="p"><!----></div>
 2785 <a id="tth_sEcindex"></a>
 2787 <h2> Index (showing section)</h2>
 2789 <table width="100%"><col span="2" width="48%" /><tr><td valign="top"><hr />
 2790 <dl>
 2791  <dt><b></b></dt>
 2792     <dd>-a switch, <a href="#a6145">6.1</a>, <a href="#a6249">6.2</a>, 
 2793         <a href="#a6566">6.5</a>, <a href="#aB2114">B.2</a></dd>
 2794  <dt><b></b></dt>
 2795     <dd>auxiliary files, <a href="#auxiliary_files6143">6.1</a><br /><br /></dd>
 2796  <dt><b></b></dt>
 2797     <dd>Bib<span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>, <a href="#Bib_TeX_6248">6.2</a></dd>
 2798  <dt><b></b></dt>
 2799     <dd>bibtex, <a href="#bibtexB2113">B.2</a></dd>
 2800  <dt><b></b></dt>
 2801     <dd>block level elements, <a href="#block_level_elements12289">12.2</a></dd>
 2802  <dt><b></b></dt>
 2803     <dd><tt>&lt;body&gt;</tt>, <a href="#bodyB3118">B.3</a></dd>
 2804  <dt><b></b></dt>
 2805     <dd>bugs, <a href="#bugs140103">14.0</a><br /><br /></dd>
 2806  <dt><b></b></dt>
 2807     <dd>calligraphic, <a href="#calligraphicB3124">B.3</a></dd>
 2808  <dt><b></b></dt>
 2809     <dd>catcodes, <a href="#catcodes9172">9.1</a></dd>
 2810  <dt><b></b></dt>
 2811     <dd>CGI script, <a href="#CGI_script3019">3.0</a></dd>
 2812  <dt><b></b></dt>
 2813     <dd>character set, <a href="#character_set13296">13.2</a></dd>
 2814  <dt><b></b></dt>
 2815     <dd>color, <a href="#color10085">10.0</a></dd>
 2816  <dt><b></b></dt>
 2817     <dd>colordvi, <a href="#colordvi10086">10.0</a></dd>
 2818  <dt><b></b></dt>
 2819     <dd>commands</dd>
 2820 <dd>&nbsp;&nbsp;&nbsp;&nbsp; <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;supported, 
 2821         <a href="#commands__LaTeX__supported128">1.2</a></dd>
 2822 <dd>&nbsp;&nbsp;&nbsp;&nbsp; alternative files, 
 2823         <a href="#commands_alternative_files9277">9.2</a></dd>
 2824 <dd>&nbsp;&nbsp;&nbsp;&nbsp; handling unsupported, 
 2825         <a href="#commands_handling_unsupported1410">1.4</a></dd>
 2826 <dd>&nbsp;&nbsp;&nbsp;&nbsp; redefining, <a href="#commands_redefining9483">9.4</a></dd>
 2827 <dd>&nbsp;&nbsp;&nbsp;&nbsp; renaming, <a href="#commands_renaming9482">9.4</a></dd>
 2828 <dd>&nbsp;&nbsp;&nbsp;&nbsp; unknown, <a href="#commands_unknown9380">9.3</a></dd>
 2829 <dd>&nbsp;&nbsp;&nbsp;&nbsp; unsupported, <a href="#commands_unsupported1411">1.4</a></dd>
 2830  <dt><b></b></dt>
 2831     <dd>compile, <a href="#compile2013">2.0</a></dd>
 2832  <dt><b></b></dt>
 2833     <dd>Composer, <a href="#ComposerB3122">B.3</a></dd>
 2834  <dt><b></b></dt>
 2835     <dd>compression</dd>
 2836 <dd>&nbsp;&nbsp;&nbsp;&nbsp; vertical, <a href="#compression_vertical5339">5.3</a></dd>
 2837  <dt><b></b></dt>
 2838     <dd>conditionals, <i>see</i> \<tt>if</tt></dd>
 2839  <dt><b></b></dt>
 2840     <dd>CSS, <a href="#CSS5337">5.3</a></dd>
 2841 </dl></td><td valign="top"><hr />
 2842 <dl>
 2843  <dt><b></b></dt>
 2844     <dd>dagger, <a href="#daggerB3121">B.3</a></dd>
 2845  <dt><b></b></dt>
 2846     <dd>definitions</dd>
 2847 <dd>&nbsp;&nbsp;&nbsp;&nbsp; delimited, <a href="#definitions_delimited9170">9.1</a></dd>
 2848  <dt><b></b></dt>
 2849     <dd>double-quotes, <a href="#double-quotesB3125">B.3</a><br /><br /></dd>
 2850  <dt><b></b></dt>
 2851     <dd>encoding, <a href="#encoding13297">13.2</a></dd>
 2852  <dt><b></b></dt>
 2853     <dd>environment</dd>
 2854 <dd>&nbsp;&nbsp;&nbsp;&nbsp; not recognized, 
 2855         <a href="#environment_not_recognizedB5139">B.5</a></dd>
 2856  <dt><b></b></dt>
 2857     <dd>environments, <a href="#environments127">1.2</a></dd>
 2858  <dt><b></b></dt>
 2859     <dd>equations</dd>
 2860 <dd>&nbsp;&nbsp;&nbsp;&nbsp; textstyle, <i>see</i> in-line equations, overaccents</dd>
 2861  <dt><b></b></dt>
 2862     <dd>Error, <a href="#Error4021">4.0</a></dd>
 2863  <dt><b></b></dt>
 2864     <dd>extensions to <span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>, <a href="#extensions_to__LaTeXB2108">B.2</a><br /><br /></dd>
 2865  <dt><b></b></dt>
 2866     <dd>fbox, <a href="#fboxB3123">B.3</a></dd>
 2867  <dt><b></b></dt>
 2868     <dd>file not found, <a href="#file_not_foundB5136">B.5</a></dd>
 2869  <dt><b></b></dt>
 2870     <dd>FILES, <a href="#FILESB5135">B.5</a></dd>
 2871  <dt><b></b></dt>
 2872     <dd>flex, <a href="#flex2012">2.0</a></dd>
 2873  <dt><b></b></dt>
 2874     <dd>font</dd>
 2875 <dd>&nbsp;&nbsp;&nbsp;&nbsp; <tt>face="symbol"</tt>, <a href="#font_face5125">5.1</a></dd>
 2876  <dt><b></b></dt>
 2877     <dd>fonts, <a href="#fonts112">1.1</a></dd>
 2878 <dd>&nbsp;&nbsp;&nbsp;&nbsp; accessing, <a href="#fonts_accessing13090">13.0</a></dd>
 2879 <dd>&nbsp;&nbsp;&nbsp;&nbsp; details, <a href="#fonts_details13295">13.2</a></dd>
 2880  <dt><b></b></dt>
 2881     <dd>footnotes, <a href="#footnotes9484">9.4</a></dd>
 2882  <dt><b></b></dt>
 2883     <dd>frac command</dd>
 2884 <dd>&nbsp;&nbsp;&nbsp;&nbsp; see switch -L, 
 2885         <a href="#frac_command_see_switch_-LB2107">B.2</a></dd>
 2886 </dl></td></tr><tr><td valign="top"><hr />
 2887 <dl>
 2888  <dt><b></b></dt>
 2889     <dd>gif, <a href="#gif6464">6.4</a></dd>
 2890  <dt><b></b></dt>
 2891     <dd>glossary, <a href="#glossary6356">6.3</a></dd>
 2892  <dt><b></b></dt>
 2893     <dd>graphics files, <a href="#graphics_files6457">6.4</a><br /><br /></dd>
 2894  <dt><b></b></dt>
 2895     <dd><tt>\halign</tt>, <a href="#halign7268">7.2</a></dd>
 2896  <dt><b></b></dt>
 2897     <dd>hash sign, <a href="#hash_signB4133">B.4</a></dd>
 2898  <dt><b></b></dt>
 2899     <dd><tt>&lt;head&gt;</tt>, <a href="#headB3117">B.3</a></dd>
 2900  <dt><b></b></dt>
 2901     <dd><tt>\headline</tt>, <a href="#headline116">1.1</a></dd>
 2902  <dt><b></b></dt>
 2903     <dd>HTML</dd>
 2904 <dd>&nbsp;&nbsp;&nbsp;&nbsp; 3.2, <a href="#HTML_3.25123">5.1</a></dd>
 2905 <dd>&nbsp;&nbsp;&nbsp;&nbsp; 4.0, <a href="#HTML_4.05124">5.1</a></dd>
 2906 <dd>&nbsp;&nbsp;&nbsp;&nbsp; insertion, <a href="#HTML_insertion139">1.3</a></dd>
 2907 <dd>&nbsp;&nbsp;&nbsp;&nbsp; tags, <a href="#HTML_tagsB4129">B.4</a><br /><br /></dd>
 2908  <dt><b></b></dt>
 2909     <dd>icons, <a href="#icons6460">6.4</a></dd>
 2910  <dt><b></b></dt>
 2911     <dd><tt>\if</tt>, <a href="#if114">1.1</a>, <a href="#if9171">9.1</a></dd>
 2912  <dt><b></b></dt>
 2913     <dd>iftth, <a href="#iftthB4128">B.4</a></dd>
 2914  <dt><b></b></dt>
 2915     <dd>in-line equations</dd>
 2916 <dd>&nbsp;&nbsp;&nbsp;&nbsp; arrays, <a href="#in-line_equations_arrays5230">5.2</a></dd>
 2917 <dd>&nbsp;&nbsp;&nbsp;&nbsp; built-up display, 
 2918         <a href="#in-line_equations_built-up_display5233">5.2</a></dd>
 2919 <dd>&nbsp;&nbsp;&nbsp;&nbsp; fractions, <a href="#in-line_equations_fractions5231">5.2</a></dd>
 2920 <dd>&nbsp;&nbsp;&nbsp;&nbsp; overaccents, 
 2921         <a href="#in-line_equations_overaccents5232">5.2</a></dd>
 2922  <dt><b></b></dt>
 2923     <dd><tt>\includegraphics</tt>, <a href="#includegraphics6461">6.4</a></dd>
 2924  <dt><b></b></dt>
 2925     <dd>index</dd>
 2926 <dd>&nbsp;&nbsp;&nbsp;&nbsp; layout in one or two columns and the equivalent page length, 
 2927         <a href="#index_layout_in_one_or_two_columns_and_the_equivalent_page_length6355">6.3</a></dd>
 2928  <dt><b></b></dt>
 2929     <dd>indexing, <a href="#indexing6351">6.3</a></dd>
 2930  <dt><b></b></dt>
 2931     <dd>inline elements, <a href="#inline_elements12288">12.2</a></dd>
 2932  <dt><b></b></dt>
 2933     <dd><tt>\input</tt></dd>
 2934 <dd>&nbsp;&nbsp;&nbsp;&nbsp; "file not found" error, <a href="#inputB5137">B.5</a></dd>
 2935 <dd>&nbsp;&nbsp;&nbsp;&nbsp; disabling, <a href="#input9279">9.2</a></dd>
 2936 <dd>&nbsp;&nbsp;&nbsp;&nbsp; TEXINPUTS, <a href="#input9275">9.2</a></dd>
 2937 <dd>&nbsp;&nbsp;&nbsp;&nbsp; TTHINPUTS, <a href="#input9276">9.2</a></dd>
 2938  <dt><b></b></dt>
 2939     <dd>italic</dd>
 2940 <dd>&nbsp;&nbsp;&nbsp;&nbsp; equation style, <a href="#italic_equation_style5127">5.1</a></dd>
 2941 </dl></td><td valign="top"><hr />
 2942 <dl>
 2943  <dt><b></b></dt>
 2944     <dd>jpeg, <a href="#jpeg6463">6.4</a><br /><br /></dd>
 2945  <dt><b></b></dt>
 2946     <dd><span class="roman">L</span><sup><span class="roman">A</span></sup><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;extension packages, <a href="#LatexB2109">B.2</a></dd>
 2947  <dt><b></b></dt>
 2948     <dd>LaTeX2HTML</dd>
 2949 <dd>&nbsp;&nbsp;&nbsp;&nbsp; differences, <a href="#LaTeX2HTML_differences5126">5.1</a>, 
 2950         <a href="#LaTeX2HTML_differences6141">6.1</a></dd>
 2951  <dt><b></b></dt>
 2952     <dd>license, <a href="#license150104">15.0</a></dd>
 2953  <dt><b></b></dt>
 2954     <dd>limitations, <a href="#limitations5229">5.2</a></dd>
 2955  <dt><b></b></dt>
 2956     <dd>line-ends, <a href="#line-endsB2111">B.2</a></dd>
 2957  <dt><b></b></dt>
 2958     <dd>longtable, <a href="#longtable7369">7.3</a><br /><br /></dd>
 2959  <dt><b></b></dt>
 2960     <dd>macro files, <a href="#macro_files9273">9.2</a></dd>
 2961  <dt><b></b></dt>
 2962     <dd>macros</dd>
 2963 <dd>&nbsp;&nbsp;&nbsp;&nbsp; alternate, <a href="#macros_alternate9278">9.2</a></dd>
 2964 <dd>&nbsp;&nbsp;&nbsp;&nbsp; special use, <a href="#macros_special_useA0105">A.0</a></dd>
 2965  <dt><b></b></dt>
 2966     <dd>makeindex, <a href="#makeindex6352">6.3</a></dd>
 2967  <dt><b></b></dt>
 2968     <dd>mathematics, <a href="#mathematics111">1.1</a></dd>
 2969 <dd>&nbsp;&nbsp;&nbsp;&nbsp; layout style, <a href="#mathematics_layout_style5335">5.3</a></dd>
 2970  <dt><b></b></dt>
 2971     <dd>messages, <a href="#messages4020">4.0</a><br /><br /></dd>
 2972  <dt><b></b></dt>
 2973     <dd>Netscape/Mozilla Composer, 
 2974         <a href="#Netscape_Mozilla_Composer13499">13.4</a><br /><br /></dd>
 2975  <dt><b></b></dt>
 2976     <dd><tt>&lt;p&gt;</tt>, <a href="#pB3126">B.3</a></dd>
 2977  <dt><b></b></dt>
 2978     <dd>picture environment, <a href="#picture_environment6565">6.5</a></dd>
 2979  <dt><b></b></dt>
 2980     <dd>portability, <a href="#portability6142">6.1</a></dd>
 2981  <dt><b></b></dt>
 2982     <dd>postscript, <a href="#postscript6462">6.4</a></dd>
 2983  <dt><b></b></dt>
 2984     <dd>printing, <a href="#printing13398">13.3</a></dd>
 2985  <dt><b></b></dt>
 2986     <dd>ps2gif, <a href="#ps2gif6458">6.4</a></dd>
 2987  <dt><b></b></dt>
 2988     <dd>ps2png, <a href="#ps2png6459">6.4</a></dd>
 2989  <dt><b></b></dt>
 2990     <dd>publish</dd>
 2991 <dd>&nbsp;&nbsp;&nbsp;&nbsp; through composer disallowed, 
 2992         <a href="#publish_through_composer_disallowed134100">13.4</a></dd>
 2993 </dl></td></tr><tr><td valign="top"><hr />
 2994 <dl>
 2995  <dt><b></b></dt>
 2996     <dd>references</dd>
 2997 <dd>&nbsp;&nbsp;&nbsp;&nbsp; forward, <a href="#references_forward6147">6.1</a></dd>
 2998  <dt><b></b></dt>
 2999     <dd><tt>\rm</tt>, <a href="#roman113">1.1</a><br /><br /></dd>
 3000  <dt><b></b></dt>
 3001     <dd>skip space and dimension commands, 
 3002         <a href="#skip_space_and_dimension_commandsB2112">B.2</a></dd>
 3003  <dt><b></b></dt>
 3004     <dd>spacing, <a href="#spacing5128">5.1</a></dd>
 3005  <dt><b></b></dt>
 3006     <dd>square root, <a href="#square_rootB3120">B.3</a></dd>
 3007  <dt><b></b></dt>
 3008     <dd>stderr, <a href="#stderr3018">3.0</a></dd>
 3009  <dt><b></b></dt>
 3010     <dd>stdin, <a href="#stdin3016">3.0</a></dd>
 3011  <dt><b></b></dt>
 3012     <dd>stdout, <a href="#stdout3017">3.0</a></dd>
 3013  <dt><b></b></dt>
 3014     <dd>Style Sheets, <a href="#Style_Sheets5336">5.3</a></dd>
 3015  <dt><b></b></dt>
 3016     <dd>styles, <a href="#stylesB4131">B.4</a></dd>
 3017  <dt><b></b></dt>
 3018     <dd>support, <a href="#supportB2116">B.2</a></dd>
 3019  <dt><b></b></dt>
 3020     <dd>switches, <a href="#switches6250">6.2</a>, <a href="#switchesB2115">B.2</a></dd>
 3021 <dd>&nbsp;&nbsp;&nbsp;&nbsp; -L, <a href="#switches_-L3015">3.0</a>, 
 3022         <a href="#switches_-L6144">6.1</a>, 
 3023         <a href="#switches_-LB2106">B.2</a></dd>
 3024 <dd>&nbsp;&nbsp;&nbsp;&nbsp; -a, <a href="#switches_-a6146">6.1</a>, 
 3025         <a href="#switches_-a6567">6.5</a></dd>
 3026 <dd>&nbsp;&nbsp;&nbsp;&nbsp; -j, <a href="#switches_-j6354">6.3</a></dd>
 3027 <dd>&nbsp;&nbsp;&nbsp;&nbsp; -u, <a href="#switches_-u13194">13.1</a></dd>
 3028 <dd>&nbsp;&nbsp;&nbsp;&nbsp; -y1, <a href="#switches_-y15338">5.3</a>, 
 3029         <a href="#switches_-y113192">13.1</a></dd>
 3030 <dd>&nbsp;&nbsp;&nbsp;&nbsp; -y2, <a href="#switches_-y25340">5.3</a>, 
 3031         <a href="#switches_-y213193">13.1</a></dd>
 3032 <dd>&nbsp;&nbsp;&nbsp;&nbsp; <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>, <a href="#switches__TtH3014">3.0</a></dd>
 3033  <dt><b></b></dt>
 3034     <dd>symbol font</dd>
 3035 <dd>&nbsp;&nbsp;&nbsp;&nbsp; accessing, <a href="#symbol_font_accessing13091">13.0</a></dd>
 3036 </dl></td><td valign="top"><hr />
 3037 <dl>
 3038  <dt><b></b></dt>
 3039     <dd>Table of Contents</dd>
 3040 <dd>&nbsp;&nbsp;&nbsp;&nbsp; Index entry, 
 3041         <a href="#Table_of_Contents_Index_entry6353">6.3</a></dd>
 3042  <dt><b></b></dt>
 3043     <dd>tables</dd>
 3044 <dd>&nbsp;&nbsp;&nbsp;&nbsp; bordered cells filled in, 
 3045         <a href="#tables_bordered_cells_filled_inB4132">B.4</a></dd>
 3046  <dt><b></b></dt>
 3047     <dd><span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>-only code, <a href="#TexB4130">B.4</a></dd>
 3048  <dt><b></b></dt>
 3049     <dd>texinputs path, <a href="#texinputs_path9274">9.2</a></dd>
 3050  <dt><b></b></dt>
 3051     <dd>title</dd>
 3052 <dd>&nbsp;&nbsp;&nbsp;&nbsp; HTML construction, 
 3053         <a href="#title_HTML_construction12187">12.1</a></dd>
 3054 <dd>&nbsp;&nbsp;&nbsp;&nbsp; TeX commands not expanded in, 
 3055         <a href="#title_TeX_commands_not_expanded_inB3119">B.3</a></dd>
 3056  <dt><b></b></dt>
 3057     <dd><span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>-only code, <a href="#TthB4127">B.4</a><br /><br /></dd>
 3058  <dt><b></b></dt>
 3059     <dd>unknown commands, <i>see</i> commands, unknown</dd>
 3060  <dt><b></b></dt>
 3061     <dd>URL, <a href="#URLB4134">B.4</a></dd>
 3062  <dt><b></b></dt>
 3063     <dd><tt>\usepackage</tt>, <a href="#usepackageB2110">B.2</a></dd>
 3064  <dt><b></b></dt>
 3065     <dd>UTF-8, <a href="#UTF-8136101">13.6</a><br /><br /></dd>
 3066  <dt><b></b></dt>
 3067     <dd>warning, <a href="#warning4022">4.0</a></dd>
 3068  <dt><b></b></dt>
 3069     <dd>web-server, <a href="#web-server136102">13.6</a></dd>
 3070  <dt><b></b></dt>
 3071     <dd>WinNT, <a href="#WinNTB5138">B.5</a></dd>
 3072 </dl></td></tr></table>
 3075 <div class="p"><!----></div>
 3076 <hr /><h3>Footnotes:</h3>
 3078 <div class="p"><!----></div>
 3079 <a id="tthFtNtAAB"></a><a href="#tthFrefAAB"><sup>1</sup></a>The problem with <tt>\rm</tt> in text is that HTML
 3080 has no  &lt; <tt>rm</tt> &gt;  tag, and relies on cancelling all previous (e.g.)
 3081  &lt; <tt>i</tt> &gt;  or  &lt; <tt>b</tt> &gt;  tags. By default (using style -y1)
 3082 <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;uses Cascading Style Sheets to solve this problem. However not
 3083 all older browsers support CSS and even in those that do, the user can
 3084 turn off the CSS support. The best solution is to avoid
 3085 <tt>\rm</tt> by using proper grouping of non-roman text. (In
 3086 equations <tt>\rm</tt> is essential, but <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;has a
 3087 work-around in equations.)
 3088 <div class="p"><!----></div>
 3089 <a id="tthFtNtAAC"></a><a href="#tthFrefAAC"><sup>2</sup></a>Conditionals \<tt>if</tt>
 3090  and \<tt>ifx</tt> are not 100% <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;compatible for cases
 3091 where they refer to internal <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;commands because <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;internals are
 3092 not identical. Catcodes are also unknown to <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>.
 3093 <div class="p"><!----></div>
 3094 <a id="tthFtNtAAD"></a><a href="#tthFrefAAD"><sup>3</sup></a>See appendix for <span class="roman">T</span><sub><span class="roman">E</span></sub><span class="roman">X</span>&nbsp;macros supporting these commands
 3095 <div class="p"><!----></div>
 3096 <a id="tthFtNtAAE"></a><a href="#tthFrefAAE"><sup>4</sup></a>The PNG graphics file format is an improved
 3097 replacement for the GIF standard. Netscape has built in rendering for
 3098 PNG. The GIF standard is plagued with legal problems related to a
 3099 ridiculous patent on the type of file compression it uses.
 3100 <div class="p"><!----></div>
 3101 <a id="tthFtNtAAF"></a><a href="#tthFrefAAF"><sup>5</sup></a>May 1999 reports indicated that there is a
 3102 batch program in circulation bearing the comment ":#batchified by
 3103 cschenk@snafu.de" that tries to implement the functionality of ps2gif
 3104 and gives errors on WinNT when called by <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;but not when called from
 3105 the command line. I have not had recent reports of problems, so I
 3106 think this problem has been fixed.
 3107 <div class="p"><!----></div>
 3108 <a id="tthFtNtAAG"></a><a href="#tthFrefAAG"><sup>6</sup></a>The alignment argument of the
 3109 math array environment was ignored in <span class="roman">T</span><sub><span class="roman">T</span></sub><span class="roman">H</span>&nbsp;versions earlier than 2.20
 3110 but is now honored.
 3111 <div class="p"><!----></div>
 3112 <a id="tthFtNtAAH"></a><a href="#tthFrefAAH"><sup>7</sup></a>See the file colordvi.tex for a list of
 3113 the named colors.
 3114 <div class="p"><!----></div>
 3115 <a id="tthFtNtAAI"></a><a href="#tthFrefAAI"><sup>8</sup></a>It proves to be
 3116   better to specify 4.0 as the HTML Doctype because on some operating
 3117   systems symbol font rendering is not honored for 4.01 documents.
 3118 <br /><br /><hr /><small>File translated from
 3119 T<sub><span class="small">E</span></sub>X
 3120 by <a href="http://hutchinson.belmont.ma.us/tth/">
 3121 T<sub><span class="small">T</span></sub>H</a>,
 3122 version 4.04.<br />On 22 Jun 2014, 18:00.</small>
 3123 </html>