File: tth_manual.html

package info (click to toggle)
tth 2.92-1
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 1,268 kB
  • ctags: 656
  • sloc: sh: 57; makefile: 42
file content (2471 lines) | stat: -rw-r--r-- 109,533 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
           "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<meta name="GENERATOR" content="TtHgold 2.84" />

  
<title> \TtH: a ``\TeX\ to HTML'' translator.</title>
 
<h1 align="center">T<sub>T</sub>H: a ``T<sub>E</sub>X&nbsp;to HTML'' translator. </h1>
<center><img src="tth.gif" alt="TtH icon" /></center>

<table align="center" border="0"><tr><td>
Version 2.83</td></table><!--hboxt-->

<h3 align="center"> </h3>
<h3 align="center"> </h3>


<p>

<h2> Abstract</h2>
T<sub>T</sub>H&nbsp;translates T<sub>E</sub>X&nbsp;documents that use the Plain macro package or
L<sup>A</sup>T<sub>E</sub>X, into HTML.
 It is extremely fast and completely portable. It
produces web documents that are more compact and managable, and
faster-viewing, than those from other converters, because it really
translates the equations, instead of converting them into images.


<p>

<h1>Contents </h1><a href="#tth_sEc1"
>1&nbsp; Capabilities</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.1"
>1.1&nbsp; Plain T<sub>E</sub>X</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.1.1"
>1.1.1&nbsp; Mathematics</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.1.2"
>1.1.2&nbsp; Formatting and Macro Support</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.2"
>1.2&nbsp; L<sup>A</sup>T<sub>E</sub>X</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.2.1"
>1.2.1&nbsp; Environments:</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.2.2"
>1.2.2&nbsp; L<sup>A</sup>T<sub>E</sub>X&nbsp;Commands:</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.3"
>1.3&nbsp; Special T<sub>E</sub>X&nbsp;usage for T<sub>T</sub>H</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.4"
>1.4&nbsp; Unsupported Commands</a><br />
<a href="#tth_sEc2"
>2&nbsp; Installation</a><br />
<a href="#tth_sEc3"
>3&nbsp; Usage</a><br />
<a href="#tth_sEc4"
>4&nbsp; Messages</a><br />
<a href="#tth_sEc5"
>5&nbsp; Mathematics</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc5.1"
>5.1&nbsp; Equations</a><br />


&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc5.2"
>5.2&nbsp; In-line Equation Limitations</a><br />
<a href="#tth_sEc6"
>6&nbsp; Features dependent on external programs.</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc6.1"
>6.1&nbsp; Independence of [La]T<sub>E</sub>X&nbsp;installation and the -L switch.</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc6.2"
>6.2&nbsp; BibT<sub>E</sub>X&nbsp;bibliographies</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc6.3"
>6.3&nbsp; Indexing</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc6.4"
>6.4&nbsp; Graphics Inclusion: epsfbox/includegraphics</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc6.5"
>6.5&nbsp; Picture Environments</a><br />
<a href="#tth_sEc7"
>7&nbsp; Tabular Environment or Halign for Tables</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc7.1"
>7.1&nbsp; Tabular</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc7.2"
>7.2&nbsp; Halign</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc7.3"
>7.3&nbsp; Longtables</a><br />
<a href="#tth_sEc8"
>8&nbsp; Boxes, Dimensions, and fills</a><br />
<a href="#tth_sEc9"
>9&nbsp; T<sub>E</sub>X&nbsp;command definitions and other extensions</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc9.1"
>9.1&nbsp; Delimited-parameter macros and Conditionals</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc9.2"
>9.2&nbsp; Macro- and Style-file inclusion </a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc9.3"
>9.3&nbsp; Layout to include arguments of unknown commands </a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc9.4"
>9.4&nbsp; Restrictions on redefinition of internal commands </a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc9.4.1"
>9.4.1&nbsp; Footnotes</a><br />
<a href="#tth_sEc10"
>10&nbsp; Color</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc10.1"
>10.1&nbsp; L<sup>A</sup>T<sub>E</sub>X&nbsp;Color</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc10.2"
>10.2&nbsp; Plain Color</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc10.3"
>10.3&nbsp; Limitations</a><br />
<a href="#tth_sEc11"
>11&nbsp; HTML and output</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc11.1"
>11.1&nbsp; Formal HTML validation</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc11.2"
>11.2&nbsp; HTML Styles</a><br />
<a href="#tth_sEc12"
>12&nbsp; Browser Problems</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc12.1"
>12.1&nbsp; MacIntosh browser font problems</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc12.2"
>12.2&nbsp; Netscape Composer</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc12.3"
>12.3&nbsp; X font problems</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc12.4"
>12.4&nbsp; Mozilla (Netscape 6) and Symbol Fonts</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc12.5"
>12.5&nbsp; Internet Expl*der</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc12.6"
>12.6&nbsp; Printing</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc12.7"
>12.7&nbsp; Other Browser Bugs</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc12.8"
>12.8&nbsp; Cascading Style Sheets and Unicode</a><br />
<a href="#tth_sEc13"
>13&nbsp; Code Critique</a><br />
<a href="#tth_sEc14"
>14&nbsp; License</a><br />
<a href="#tth_sEc15"
>15&nbsp; Acknowledgements</a><br />
<a href="#tth_sEcA"
>A&nbsp; Appendix: Non-Standard T<sub>E</sub>X&nbsp;Macros</a><br />
<a href="#tth_sEcB"
>B&nbsp; Appendix: Frequently Asked Questions</a><br />
































 <a href="#tth_sEcindex">Index</a><br />

<p>
 <h2><a name="tth_sEc1">
1</a>&nbsp;&nbsp;Capabilities</h2>

<p>
     <h3><a name="tth_sEc1.1">
1.1</a>&nbsp;&nbsp;Plain T<sub>E</sub>X</h3>

<p>
      <h4><a name="tth_sEc1.1.1">
1.1.1</a>&nbsp;&nbsp;Mathematics<a name="mathematics11">
</a></h4>

<p>
Almost all of T<sub>E</sub>X's mathematics is supported with the exception of a
few obscure symbols that are absent from the fonts normally available
to browsers. Support includes, for example, in-line equations with
subscripts and superscripts, display equations with built-up
fractions, over accents, large delimiters, operators with limits;
matrix, pmatrix, cases, [but not bordermatrix]; over/underbrace [but
using a rule, not a brace].

<p>
      <h4><a name="tth_sEc1.1.2">
1.1.2</a>&nbsp;&nbsp;Formatting and Macro Support</h4>

<p>

<ul><p>
<li><a name="fonts11">
</a><a name="roman11">
</a>Font styles: <tt>\it, \bf, \sl, \uppercase</tt>, everywhere,
<tt>\rm</tt> in equations<a href="#tthFtNtAAB" name="tthFrefAAB"><sup>1</sup></a>.</li>
<p>
<li> Accented characters written like <tt>\"o</tt> or <tt>\'{e}</tt>.</li>
<p>
<li> Guess the intent of font definitions, i.e. <tt>\font</tt> commands
[optionally, remove contruct].</li>
<p>
<li> Macro definitions that are global: <tt>\gdef</tt>, <tt>\xdef</tt>,
<tt>\global\def</tt>, <tt>\global\edef</tt>; or local to the
current group: <tt>\def</tt>, <tt>\edef</tt>.</li>
<p>
<li> Definitions with delimited arguments.</li>
<p>
<li> Input of files [see <a href="#texins">9.2</a>].</li>
<p>
<li> Newcount, number, advance and counter setting [global counter setting
only].
<a name="if11">
</a>
<a name="ifs">
</a></li>
<p>
<li> Conditionals: iftrue,
iffalse,
ifnum,
ifodd,
ifcase,
if   [for defined commands and plain characters, not some internals]
<a href="#tthFtNtAAC" name="tthFrefAAC"><sup>2</sup></a>, ifx [only for
defined commands and counters; internals appear undefined], ifvmode,
ifmmode, newif.</li>
<p>
<li> Centerline, beginsection, item, itemitem, obeylines; hang, hangindent,
narrower [for entire paragraphs, hangafter ignored].
<a name="headline11">
</a> Headline is made
into a title, footnote{}{}. Comments: removed.</li>
<p>
<li> Tables: halign [uses border style if the template contains
vrule.]. Settabs, <tt>\+</tt>.</li>
<p>
<li> Simple uses of <tt>\hbox,\vbox</tt> and <tt>\hsize</tt> to align text and
make boxes with restricted widths, but these are discouraged.</li>
</ul>

<p>
     <h3><a name="tth_sEc1.2">
1.2</a>&nbsp;&nbsp;L<sup>A</sup>T<sub>E</sub>X</h3>
L<sup>A</sup>T<sub>E</sub>X&nbsp;support includes essentially all mathematics plus the following 

<p>
      <h4><a name="tth_sEc1.2.1">
1.2.1</a>&nbsp;&nbsp;Environments:</h4><a name="environments12">
</a>
 em, verbatim, center, flushright, verse, quotation, quote, itemize,
enumerate, description, list [treated as if description], figure,
table, tabular[*,x], equation, displaymath, eqnarray, math, array [not
generally in in-line equations], thebibliography, [raw]html,
index [as description], minipage [ignoring optional argument],
longtable [but see <a href="#longtab">7.3</a>].

<p>
      <h4><a name="tth_sEc1.2.2">
1.2.2</a>&nbsp;&nbsp;L<sup>A</sup>T<sub>E</sub>X&nbsp;Commands:<a name="commands+\LaTeX\ supported12">
</a></h4>
 [re]newcommand, newenvironment, chapter, section, subsection,
subsubsection, caption, label, ref, pageref [no number], emph, textit,
texttt, textbf, centering, raggedleft, includegraphics, [e]psfig,
title, author, date [maketitle ignored: title etc inserted when
defined], lefteqn, frac, tableofcontents, input, include [as input,
includeonly ignored], textcolor, color, footnote
[ignoring optional arg], cite, bibitem, bibliography, tiny
... normalsize ... Huge, newcounter, setcounter, addtocounter, value
[inside set or addto counter], arabic, the, stepcounter, newline,
verb[*] [can't use @ as separator], bfseries, itshape, ttfamily,
textsc, ensuremath, listoftables, listoffigures, newtheorem [no
optional arguments permitted], today, printindex, boldmath,
unboldmath, newfont, thanks, makeindex, index, @addtoreset,
verbatiminput, paragraph, subparagraph, url, makebox, framebox, mbox,
fbox, parbox [ignoring optional argument], definecolor, colorbox,
fcolorbox [not in equations], pagecolor [discouraged], savebox, sbox,
usebox.

<p>
 These cover most of the vital L<sup>A</sup>T<sub>E</sub>X&nbsp;constructs.  Internal hypertext
cross-references are automatically generated (e.g. by ref and
tableofcontents) provided L<sup>A</sup>T<sub>E</sub>X&nbsp;has previously been run on the
document and the appropriate command-line switch is used.

<p>
     <h3><a name="tth_sEc1.3">
1.3</a>&nbsp;&nbsp;Special T<sub>E</sub>X&nbsp;usage for T<sub>T</sub>H</h3>
 A few non-standard T<sub>E</sub>X&nbsp;commands are supported as follows
<a href="#tthFtNtAAD" name="tthFrefAAD"><sup>3</sup></a>. See
also <a href="#epsf">6.4</a>.<a name="HTML+insertion13">
</a>
 
<pre>
\epsfbox{file.[e]ps} Puts in an anchor called "Figure" linked to 
    file.[e]ps (default), or alternatively calls user-supplied script 
    to convert the [e]ps file to a gif image and optionally inline it.  
\special{html:"tags"} inserts ``tags'' into the HTML e.g. for images etc.  
\href{reference}{anchor} highlights ``anchor'' with href=``reference''.
\url{URL} like \href but with URL providing both reference and anchor.
\begin{[raw]html} ... \end{[raw]html} environment passed direct to output.
\tthtensor Subscripts and superscripts immediately following, on simple
    characters, are stacked up in displaystyle equations, not staggered. 
\tthdump{...} The group is omitted by tth. Define \tthdump as a nop for TeX.
%%tth:... The rest of the comment line is passed to tth (not TeX) for parsing.

</pre> 

<p>
     <h3><a name="tth_sEc1.4">
1.4</a>&nbsp;&nbsp;Unsupported Commands<a name="commands+handling unsupported14">
</a></h3>

<p>
 When T<sub>T</sub>H&nbsp;encounters T<sub>E</sub>X&nbsp;constructs that it cannot handle either
because there is no HTML equivalent, or because it is not clever
enough, it tries to remove the mess they would otherwise cause in the
HTML code, generally giving a warning of the action if it is not sure
what it is doing. <a name="commands+unsupported14">
</a>The following are
not translated.

<p>

<pre>
 \magnification \magstep etc : Removes the whole construct.
 New or non-standard dimension tokens: removed.
 Some boxes in equations.
 \raisebox, \lowerbox and similar usages.

</pre> 

<p>
 <h2><a name="tth_sEc2">
2</a>&nbsp;&nbsp;Installation</h2>

<p>
<a name="flex20">
</a><a name="compile20">
</a>The source for T<sub>T</sub>H&nbsp;is flex code which is processed to produce a C program
tth.c which comprises the distribution. This file is compiled by

<pre>
	gcc -o tth tth.c

</pre> 
 or whatever C compiler you are using. Compilation takes a couple of
minutes on a fast 486.

<p>
The executable should then be copied to whatever directory you want
(preferably on your path of course). That's all! 

<p>
Alternatively you may be able to obtain a precompiled executable from
wherever you accessed this file. The Wind@ws executable comes with a
batch file for installation. Just run it by the command ``install''.

<p>
 <h2><a name="tth_sEc3">
3</a>&nbsp;&nbsp;Usage</h2>

<p>
<a name="switches+\TtH 30">
</a><a name="switches+-L30">
</a> Command line is as
follows. The order of the parts is irrelevant. Switches (preceded by a
minus sign -) can appear anywhere on the line. Square brackets should
not be entered, they simply indicate optional parts of the command
line.
  


<pre>
Either filter style (the &lt; and &#62; are file redirection operators):
  tth [-a -c -d ... ] &lt;file.tex [&#62;file.html] [2&#62;err]

Or, specifying the input file as an argument (output is then implied):
  tth [-a -c -d ... ] file[.tex] [2&#62;err]

Switches:
   -a automatic picture environment conversion using latex2gif (default omit). 
   -c prefix header "Content-type: text/HTML" (for direct web serving).
   -d disable delimited definitions.
   -e? epsfbox handling: -e1 convert figure to gif using user-supplied ps2gif.
       -e2 convert and include inline. -e0 (default) no conversion, just ref. 
   -f? sets the depth of grouping to which fractions are constructed built-up
    f5 (default) allows five levels built-up, f0 none, f9 lots. 
   -g don't guess an HTML equivalent for font definitions, just remove.
   -h print help. -? print usage.
   -i use italic as default math font.
   -Lfile  tells tth the base file (no extension) for LaTeX auxiliary input, 
      enables LaTeX commands (e.g. \frac) without a \documentclass line.
   -ppath specify additional directories (path) to search for input files.
   -r output raw HTML (no preamble or postlude) for inclusion in other HTML.
	-r2 omit just the time stamp. -r1 is equivalent to -r.
   -t display built-up items in textstyle equations (default in-line).
   -w? html writing style: 0 no title construction. 1 insert head/body.
   -xmakeindx  specify a non-standard makeindex command line.
   -v give verbose commentary. 

</pre>

 
<a name="stdin30">
</a><a name="stdout30">
</a><a name="stderr30">
</a>
With no arguments other than switches starting with a ``-'', 
the program is a filter, i.e. it reads from stdin and writes to stdout.
In addition, diagnostic messages concerning its detection of unknown
or untranslated constructs are sent to stderr. If these standard
channels are not redirected using <tt>&lt;</tt> and <tt>&#62;</tt>, then the
input is read from the command line, and both output and error
messages are printed on the screen.

<p>
If a non-switch argument is present, it is assumed to be the name of
the input file. The file must have extension ``.tex'' but the extension
may be omitted. The output file is then constructed from the argument
by removing the extension ``.tex'' if specified, and adding ``.html''.

<p>
T<sub>T</sub>H&nbsp;is extremely fast in default mode on any reasonable hardware.
Conversion of even large T<sub>E</sub>X&nbsp;files should be a matter of a second or
two.<a name="CGI script30">
</a>
This makes it possible to use T<sub>T</sub>H&nbsp;in a CGI script to output HTML
directly from T<sub>E</sub>X&nbsp;source if desired; (stderr may then need to be redirected.)

<p>
<a name="mailinglist">
</a>To discuss how to get the best from T<sub>T</sub>H, you can subscribe to a
mailing list by sending an email containing the message 
<tt>subscribe tth_mailing_list</tt> to
<a href="mailto:majordomo@hutchinson.belmont.ma.us">majordomo@hutchinson.belmont.ma.us</a>.
Then you can send messages to <tt>tth_mailing_list@hutchinson.belmont.ma.us</tt>.


<p>
 <h2><a name="tth_sEc4">
4</a>&nbsp;&nbsp;Messages<a name="messages40">
</a><a name="Error40">
</a><a name="warning40">
</a></h2>

<p>
Messages about T<sub>T</sub>H's state and its assessment of the T<sub>E</sub>X&nbsp;it is
translating are output always to the <tt>stderr</tt> stream, which
normally displays on the console, but under Un*x type systems can be
redirected to a file if necessary. Normally these messages are one of
three types:

<p>

<h4>Error Messages</h4> 
These start <tt>**** Error:</tt> and indicate some improper condition or
error either in T<sub>T</sub>H&nbsp;or in the T<sub>E</sub>X&nbsp;of the file being
translated. Some errors are fatal and cause T<sub>T</sub>H&nbsp;to stop. On others
it will continue, but the T<sub>E</sub>X&nbsp;file probably should be corrected in
order to get correct output.

<p>

<h4>Warnings</h4>
These start <tt>****</tt> but without reporting <tt>Error</tt>. They are
messages by which T<sub>T</sub>H&nbsp;indicates aspects of the translation process
that may not be fully satisfactory, usually because of known limitations,
but which quite likely will not prevent the translated file from
displaying correctly, and so do not <em>necessarily</em> require
intervention. Examples include the use of dimensions, glue, or similar
T<sub>E</sub>X&nbsp;commands that have no HTML equivalent. 

<p>

<h4>Informational and external</h4>
Lines with no <tt>****</tt> are either informational, meaning the state
of the translation is not considered abnormal, or else they may come
from external programs (e.g. makeindex), over which T<sub>T</sub>H&nbsp;has no
control.

<p>
The switch <tt>-v</tt> causes more verbose messages to be output, which
may be helpful for understanding why errors are reported. A higher
level of verbosity <tt>-V</tt> can be invoked, but is intended primarily
for internal debugging of T<sub>T</sub>H&nbsp;and will rarely be comprehensible!

<p>
The presumption that lies behind T<sub>T</sub>H&nbsp;message design is that the file
being translated has been debugged using T<sub>E</sub>X&nbsp;or L<sup>A</sup>T<sub>E</sub>X&nbsp;to remove
syntax errors. T<sub>T</sub>H&nbsp;is not good at understanding or reporting T<sub>E</sub>X&nbsp;syntax errors and does not keep an exact count of line numbers
(especially when <tt>\input</tt> is used). Therefore error reporting by
T<sub>T</sub>H&nbsp;does not reach even the low standard of clarity set by T<sub>E</sub>X&nbsp;and
L<sup>A</sup>T<sub>E</sub>X&nbsp;error messages. Although T<sub>E</sub>X&nbsp;files <em>can</em> be debugged using
T<sub>T</sub>H&nbsp;alone, since it is very fast, the process is not recommended for
inexpert T<sub>E</sub>X&nbsp;users. Moreover, since T<sub>T</sub>H&nbsp;understands both T<sub>E</sub>X&nbsp;and
L<sup>A</sup>T<sub>E</sub>X&nbsp;simultaneously, it can parse some files that T<sub>E</sub>X&nbsp;or L<sup>A</sup>T<sub>E</sub>X&nbsp;
separately cannot.

<p>
 <h2><a name="tth_sEc5">
5</a>&nbsp;&nbsp;Mathematics</h2>

<p>
     <h3><a name="tth_sEc5.1">
5.1</a>&nbsp;&nbsp;Equations</h3>

<p>
<a name="HTML+3.251">
</a><a name="HTML+4.051">
</a><a name="font+face51">
</a> Equations are translated internally into HTML3.2 as much as it
 allows. T<sub>T</sub>H&nbsp;uses HTML3.2 tables for layout of built-up fractions in
 display equations. It also uses the HTML tag  &lt; font
 face=``symbol'' &gt; , part of the HTML4.0 specification, to render
 Greek and large delimiters etc. Untranslatable T<sub>E</sub>X&nbsp;math tokens are
 inserted verbatim.

<p>
<a name="LaTeX2HTML+differences51">
</a>The internal approach to equation translation is a major area where
T<sub>T</sub>H&nbsp;departs from the philosophy of L<sup>A</sup>T<sub>E</sub>X2html and its
derivatives. T<sub>T</sub>H&nbsp;
does not use any images to try to represent hard-to-translate
constructs like equations.  Instead it uses the native ability of HTML
to the fullest in providing a semantically correct rendering of the
equation. The aesthetic qualities obtained are in practice no worse on
average than L<sup>A</sup>T<sub>E</sub>X2html's inlined images, which are generally slightly
misaligned and of uncertain scaling relative to the text. Some
limitations in the HTML code are inevitable, of course, but one ends
up with a compact representation that can be rendered directly by the
browser without the visitor having to download any additional helper
code (e.g. Java equation renderer).

<p>
<a name="italic+equation style51">
</a>
<b>The option [-i]&nbsp;&nbsp;</b> to T<sub>T</sub>H&nbsp;<b>makes italic the default</b>
font within equations, and thus the style more T<sub>E</sub>X-like. The italic
font appearance in browsers is not as satisfactory as T<sub>E</sub>X's math
italic, so for many documents roman looks better.

<p>
<a name="spacing51">
</a>
<b>Spacing&nbsp;&nbsp;</b> in equations is handled slightly differently by T<sub>T</sub>H&nbsp;than
by T<sub>E</sub>X. The reason is that most browsers use fonts that will crowd the
characters horizontally too close for comfort in many cases (for
example: M<sub><font face="symbol">||</font
></sub>/2). Also, built-up HTML equations are more
spread out vertically than in T<sub>E</sub>X. Therefore T<sub>T</sub>H&nbsp;equations look better
if spaces are added between some characters. So T<sub>T</sub>H&nbsp;<em>
does not</em> remove spaces in the original T<sub>E</sub>X&nbsp;file between characters in
equations. The author is thus able to control this detail of layout in
the HTML without messing up their T<sub>E</sub>X&nbsp;file - since T<sub>E</sub>X&nbsp;will ignore
any spaces inserted. Legacy T<sub>E</sub>X&nbsp;code that contains a lot of spurious
whitespace (ignored by T<sub>E</sub>X) may, as a result, occasionally become too
spread-out when translated.

<p>
     <h3><a name="tth_sEc5.2">
5.2</a>&nbsp;&nbsp;In-line Equation Limitations<a name="limitations52">
</a></h3>

<p>
<a name="in-line equations+arrays52">
</a> <a name="in-line equations+fractions52">
</a><a name="in-line equations+overaccents52">
</a> Some T<sub>E</sub>X&nbsp;capabilities are
extremely difficult or impossible to translate into HTML, because of
browser limitations, and are best avoided if possible. Arrays or
matrices in <b>in-line equations</b> cannot be properly supported
because tables cannot be placed in-line in HTML.
 T<sub>T</sub>H&nbsp;output often will be strangely
disjointed. Likewise built-up fractions, most over- and under-accents,
and indeed anything that requires specific placement on the page other
than simple subscript or superscript and underline, cannot be rendered
<em>in-line</em> in HTML, although T<sub>T</sub>H&nbsp;will render them well in
<em>displaystyle</em>. These latter constructs are nevertheless commonly
used in in-line T<sub>E</sub>X. T<sub>T</sub>H&nbsp;adopts the default policy of indicating in
an unambiguous and relatively intuitive way what construct is being
used (as opposed to simply omitting it). For example <tt>$\hat{a}$</tt>
is rendered [^a]. The result is rarely elegant. Therefore in
authoring T<sub>E</sub>X&nbsp;that is known to be destined for HTML translation, one
should bear in mind these limitations, and use an appropriate style.

<p>
<a name="inline">
</a><a name="in-line equations+built-up display52">
</a> As an option, T<sub>T</sub>H&nbsp;provides switch <tt>-t</tt> to convert inline
equations that use built-up constructs into a sort of half display,
half in-line equation. Each time a new in-line equation is encountered
[<tt>$ ... $</tt> or <tt>\( ... \)</tt>] that needs to be built up, an
HTML table that starts a new line is begun, and the text then flows on
afterwards. For example
<br><table Border=0 align=left><tr><td nowrap></td><td nowrap align="center">1<hr NOSHADE>2 + n<br></td><td nowrap align="center"></td></table><br>
This option gives a slightly disjointed layout for simple equations
but is a big improvement for some situations, e.g. in-line matrices.


<p>
 <h2><a name="tth_sEc6">
6</a>&nbsp;&nbsp;Features dependent on external programs.</h2>

<p>
     <h3><a name="tth_sEc6.1">
6.1</a>&nbsp;&nbsp;Independence of [La]T<sub>E</sub>X&nbsp;installation and the -L switch.</h3>
<a name="LaTeXfiles">
</a>
<a name="LaTeX2HTML+differences61">
</a><a name="portability61">
</a>
A major difference between T<sub>T</sub>H&nbsp;and LaTeX2HTML is that T<sub>T</sub>H&nbsp;does
not call the L<sup>A</sup>T<sub>E</sub>X&nbsp;or tex programs at all, and is not specifically
dependent upon these, or indeed any other (e.g. PERL), programs being
installed on the translating system. Its portability is therefore
virtually universal.

<p>
<a name="auxiliary files61">
</a><a name="switches+-L61">
</a>Forward references in L<sup>A</sup>T<sub>E</sub>X&nbsp;are handled by multiple passes that write
auxiliary files. T<sub>T</sub>H&nbsp;does only a single pass through the source.  If
you want T<sub>T</sub>H&nbsp;to use L<sup>A</sup>T<sub>E</sub>X&nbsp;constructs (e.g. tableofcontents,
bibliographic commands, etc.) that depend on auxiliary files, then
you <em>do</em> need to run L<sup>A</sup>T<sub>E</sub>X&nbsp;on the code so that these files are
generated. 

<p>
When run specifying a filename on the command line as a non-switch
argument, T<sub>T</sub>H&nbsp;constructs the name of the expected auxiliary L<sup>A</sup>T<sub>E</sub>X&nbsp;files in the usual way and looks for them in the same directory as the
file. 
If you are using T<sub>T</sub>H&nbsp;as a filter, you must tell T<sub>T</sub>H, using the
switch <tt>-Lfilename</tt>, the base file name of these auxiliary files
(which is the name of the original file omitting the extension). If
T<sub>T</sub>H&nbsp;cannot find the relevant auxiliary file because you didn't run
L<sup>A</sup>T<sub>E</sub>X&nbsp;and generate the files or didn't include the switch, then it
will omit the construct and warn you.<a name="references+forward61">
</a>
Forward references via ref will not work if the .aux file is
unavailable, but backward references will. The -L switch with no
filename may be used to tell T<sub>T</sub>H&nbsp;that the document being translated
is to be interpreted as a L<sup>A</sup>T<sub>E</sub>X&nbsp;file even though it lacks the usual
L<sup>A</sup>T<sub>E</sub>Xheader commands. This may be useful for translating single
equations that (unwisely) use the <tt>\frac</tt> command.

<p>
     <h3><a name="tth_sEc6.2">
6.2</a>&nbsp;&nbsp;BibT<sub>E</sub>X&nbsp;bibliographies<a name="Bib\TeX 62">
</a><a name="bibtex">
</a></h3>

<p>
T<sub>T</sub>H&nbsp;supports bibliographies that are created by hand using
<tt>\begin{thebibliography}</tt> etc. Such bibliographies do not require
anything beyond the .aux file. T<sub>T</sub>H&nbsp;<em>also</em> supports bibliographies
created using BibT<sub>E</sub>X&nbsp;from a biblography database. The
<tt>filename.bbl</tt> file is input at the correct place in the
document. However, this <tt>filename.bbl</tt>  is <em>not</em> created
automatically either by L<sup>A</sup>T<sub>E</sub>X&nbsp;or T<sub>T</sub>H. In addition to running L<sup>A</sup>T<sub>E</sub>X&nbsp;on
the source file to create the auxiliary file, you must also execute
<tt>bibtex filename</tt> in the same directory, to create the
<tt>filename.bbl</tt> file, and then run L<sup>A</sup>T<sub>E</sub>X&nbsp;again to get the
references right. (This is, of course, no more than the standard
procedure for using BibT<sub>E</sub>X&nbsp;with L<sup>A</sup>T<sub>E</sub>X&nbsp;but it must be done if you want
T<sub>T</sub>H&nbsp;to get your bibliography right). If you don't create the .bbl
file, or if you create it somewhere else that T<sub>T</sub>H&nbsp;does not search,
then naturally T<sub>T</sub>H&nbsp;won't find it.

<p>
There are many different styles for bibliographies and a large number
of different L<sup>A</sup>T<sub>E</sub>X&nbsp;extension packages has grown up to implement
them, which T<sub>T</sub>H&nbsp;does not support. More recently, a significant
rationalization of the situation has been achieved by the package
<tt>natbib</tt>.  T<sub>T</sub>H&nbsp;has rudimentary support built in for its
commands <tt>\citep</tt> and <tt>citet</tt> in the default author-date
form without a second optional argument.  A style file for
<tt>natbib</tt> is distributed with T<sub>T</sub>Hgold&nbsp;which makes it possible to
accommodate most of its more useful styles and commands and easily switch from
author-date citation to numeric citation.

<p>
     <h3><a name="tth_sEc6.3">
6.3</a>&nbsp;&nbsp;Indexing<a name="indexing63">
</a></h3>

<p>
Indexing an HTML document is different from indexing a printed
document, because a printed index refers to page numbers, which have
no meaning in HTML because there are no page breaks. T<sub>T</sub>H&nbsp;indexes L<sup>A</sup>T<sub>E</sub>X
documents <em>by section number</em> rather than by page; assuming, of
course, that they have been prepared with index entries in the
standard L<sup>A</sup>T<sub>E</sub>X&nbsp;fashion.

<p>
<a name="makeindex63">
</a>When processing a L<sup>A</sup>T<sub>E</sub>X&nbsp;file that contains the <tt>\makeindex</tt>
command in its preamble, T<sub>T</sub>H&nbsp;will construct an appropriately
cross-hyperlinked index that will be input when the command
<tt>\printindex</tt> is encountered, which <em>must be after</em> all the index
references <tt>\index{ ... }</tt> in the document. T<sub>T</sub>H&nbsp;does this
independently of L<sup>A</sup>T<sub>E</sub>X, but not of the subsidiary program
<tt>makeindex</tt> that is normally used with L<sup>A</sup>T<sub>E</sub>X&nbsp;to produce the final
index ``file.ind''. T<sub>T</sub>H&nbsp;creates its index entries in a file with
extension .tid (Tth InDex).  Because of <tt>makeindex</tt> program
limitations, T<sub>T</sub>H&nbsp;currently removes all the page-number formatting that
is present in the index entry (but not the reference formatting). It
also uses the section reference style ``1-2'', separated by a dash,
because this is the standard form that <tt>makeindex</tt> expects and it
is cumbersome to change it. The actual reference is less important to
the reader than the fact that T<sub>T</sub>H&nbsp;inserts a link to the actual place
in the document indexed.  When the <tt>\printindex</tt> command is
encountered, T<sub>T</sub>H&nbsp;closes this file and runs makeindex on it, which
creates by default a file with extension .ind, and then T<sub>T</sub>H&nbsp;reads the
.ind file in as its index.  Because the .ind file that T<sub>T</sub>H&nbsp;produces
may well be incompatible with running L<sup>A</sup>T<sub>E</sub>X&nbsp;itself on the file, T<sub>T</sub>H&nbsp;deletes the .ind file that it creates (and hence one is left without
such a file at the end). If, instead of creating an index file during
T<sub>T</sub>H&nbsp;processing, one wants to use with T<sub>T</sub>H&nbsp;an index file already
created, all that is needed is to <em>remove</em> the <tt>\makeindex</tt>
command from the top of the L<sup>A</sup>T<sub>E</sub>X&nbsp;source. Any existing .ind file will
still be input by
<tt>\printindex</tt> but no indexing files will be written or deleted.

<p>
 <em>If you run T<sub>T</sub>H&nbsp;on a file that contains both a <tt>\makeindex</tt>
command and a <tt>\printindex</tt> it will overwrite your file.ind</em>.  In
the unusual situation where your index, file.ind, was created
laboriously by hand and cannot be recreated, you should be very
careful to remove the
<tt>\makeindex</tt> command from the .tex file. For safety, of course, 
also save a copy of your file.ind somewhere else.

<p>
The <tt>\makeindex</tt> command, if present, will also cause T<sub>T</sub>H&nbsp;to add
<a name="Table of Contents+Index entry63">
</a>
a linked entry called ``Index'' 
to the end of any table of contents. This entry is a highly desirable
feature for an HTML file, but if there is no <tt>\printindex</tt>
command at the end of the document, the index will not exist, so the
reference will be non-existent.

<p>
On some operating systems with file name length restrictions, the
makeindex program is called makeindx. Therefore a T<sub>T</sub>H&nbsp;switch is
provided: <tt>-xcommandline</tt>, which substitutes <tt>commandline</tt>
for the default call <tt>makeindex</tt>. Therefore, <tt>-xmakeindx</tt>
will switch to the correct program name on one of these limited
operating systems. This switch also allows additional parameters or
switches to be passed to makeindex via e.g.&nbsp;
<tt>-x"makeindex -s style.sty"</tt>.
If you don't have the makeindex program, you can't create indexes with
T<sub>T</sub>H&nbsp;or L<sup>A</sup>T<sub>E</sub>X, except by hand.

<p>
All of the index file processing naturally requires that T<sub>T</sub>H&nbsp;have
write permission for the directory in which the original L<sup>A</sup>T<sub>E</sub>X&nbsp;file
(specified by the -L switch) resides.

<p>
     <h3><a name="tth_sEc6.4">
6.4</a>&nbsp;&nbsp;Graphics Inclusion: epsfbox/includegraphics<a name="graphics files64">
</a></h3>
<a name="epsf">
</a>
The standard way in plain T<sub>E</sub>X&nbsp;to include a graphic is using the epsf
macros. The work is done by \epsfbox{file.[e]ps} which
T<sub>T</sub>H&nbsp;can parse. By default T<sub>T</sub>H&nbsp;produces a simple link to such a
postscript file, or indeed any format file.

<p>
<a name="ps2gif64">
</a><a name="ps2png64">
</a> Optionally T<sub>T</sub>H&nbsp;can use a more appropriate
graphics format, possibly using a user-supplied (script or) program
called <tt>ps2png</tt> or <tt>ps2gif</tt> to convert the postscript file
to a png<a href="#tthFtNtAAE" name="tthFrefAAE"><sup>4</sup></a>  or gif
file, ``file.png'' or ``file.gif''. [``file'' is the name of the
original postscript file without the extension and png or gif are
interchangeable as far as matters for this
description]. When the switch -e1 or -e2 is specified, if
``file.png'', ``file.gif'' or ``file.jpg'' already exists in the same
directory as implied by the reference to ``file.ps'' then no
conversion is done and the file found is used instead.  That graphics
file is then automatically either linked (-e1) or inlined (-e2) in the
document. If no such file is found, T<sub>T</sub>H&nbsp;tries to find a postscript
file with extension that starts either .ps or .eps and convert it,
first using <tt>ps2png</tt> then, if unsuccessful, <tt>ps2gif</tt>.  Linux
(un*x) <tt>ps2png</tt> and <tt>ps2gif</tt> scripts using Ghostscript and
the netpbm utilities for this purpose are included with the
distribution.  A comparable batch program can be constructed to work
under other operating systems
<a href="#tthFtNtAAF" name="tthFrefAAF"><sup>5</sup></a><a name="ps2gifprob">
</a>  or else the conversion can be done by
hand. Naturally you need these utility programs or their equivalent on
your system to do the conversion.  The calling command-line for
whatever <tt>ps2png</tt> (or gif) is supplied must be of the form:

<pre>ps2png inputfile.ext outputfile.ext
</pre>
 The program must
have permission to write the outputfile (file.png) in the directory in
which the file.ps resides. 

<p>
<a name="icons64">
</a>By popular request, a third graphics option -e3 for generating icons is
now available. If no previously translated graphics file,
e.g.&nbsp;``file.png''  exists, T<sub>T</sub>H&nbsp;passes to <tt>ps2gif</tt> (or png) a third
argument consisting of the name, ``file_icon.gif'', of an icon file.
<tt>ps2gif</tt> is expected to create it from the same postscript file. In
other words the call becomes

<pre>ps2gif file.eps file.gif file_icon.gif
</pre>
 This third argument is then the file that is
inlined, while the larger gif file named ``file.gif'' is linked such
that clicking on the icon displays the full-size gif file. The icon
will not be created if ``file.gif'' already exists, because
<tt>ps2gif</tt> will not then be called.

<p>
<a name="includegraphics64">
</a>The L<sup>A</sup>T<sub>E</sub>X2e command \includegraphics{...} and the older
\[e]psfig{file=...} are treated the same as \epsfbox.
Their optional arguments are ignored.

<p>
<a name="postscript64">
</a><a name="jpeg64">
</a><a name="gif64">
</a>If the extension is omitted for the graphics file specification, then
.ps or .eps is tried.  If the extension of the file specified is
non-null and not .ps or .eps, no conversion is done but the file
is referenced or in-lined as an image. In effect, then, T<sub>T</sub>H&nbsp;supports
postscript, encapsulated postscript, gif, and jpeg, plus any future
formats that become supported by common browsers. However, L<sup>A</sup>T<sub>E</sub>X&nbsp;does
not support these other formats, so it will give an error message if
it can't find a postscript file, unless you specify the bounding box,
thus preventing L<sup>A</sup>T<sub>E</sub>X&nbsp;interrogating the file.

<p>
     <h3><a name="tth_sEc6.5">
6.5</a>&nbsp;&nbsp;Picture Environments<a name="picture environment65">
</a></h3>
<a name="pict">
</a>
The picture environment cannot be translated to HTML. Pictures using
the built-in L<sup>A</sup>T<sub>E</sub>X&nbsp;commands must be converted to a graphics file such
as a gif, and then included using <tt>\includegraphics</tt>, see
<a href="#epsf">6.4</a>. The switch <tt>-a</tt>, causes T<sub>T</sub>H&nbsp;to attempt automatic 
picture conversion using a user-supplied routine <tt>latex2gif</tt>.
When this switch is used, T<sub>T</sub>H&nbsp;outputs the picture to a file pic<i>n</i>.tex,
where <i>n</i> is the number of the picture (if there does not already exist
a file pic<i>n</i>.gif). It then calls the command <tt>latex2gif picn</tt>
which must be a command (e.g. a script using L<sup>A</sup>T<sub>E</sub>X, dvips, etc.) on
the system, which converts the file pic<i>n</i>.tex to a file pic<i>n</i>.gif. An
example linux script is included in the distribution but this
conversion script is dependent on the system and so is entirely the
user's responsibility. For viewing the results, the files pic<i>n</i>.gif
must be accessible to the browser in the same directory as the HTML
files, then they will be included in-line. It is impossible for a
picture environment to be converted in this automatic fashion if it
contains macros defined somewhere else in the original L<sup>A</sup>T<sub>E</sub>X&nbsp;file,
because the macros will then be undefined in the picture file that is
extracted, and L<sup>A</sup>T<sub>E</sub>X&nbsp;will be stumped. In that case, manual
intervention is necessary.

<p>
 <h2><a name="tth_sEc7">
7</a>&nbsp;&nbsp;Tabular Environment or Halign for Tables</h2> 
<a name="tabhal">
</a>
The tabular environment is the recommended way to construct tables in
L<sup>A</sup>T<sub>E</sub>X. In plain T<sub>E</sub>X, although <tt>\settabs</tt> etc.&nbsp;is supported, the
<tt>\halign{ ... }</tt> command is recommended.  (The L<sup>A</sup>T<sub>E</sub>X&nbsp;tabbing
environment is <em>not supported</em> by T<sub>T</sub>H&nbsp;because it is antithetical
to the spirit of HTML document description, and because it is an
extremely complicated construct. If you are lucky, T<sub>T</sub>H&nbsp;will not mess
up your tabbing environment too much, but it makes no attempt to
interpret it properly.) Considerable effort has been expended to
translate the tabular environment, including interpreting the
alignment argument of the environment, into as near an equivalent in
HTML as reasonably achievable<a href="#tthFtNtAAG" name="tthFrefAAG"><sup>6</sup></a>. However, the limitations of HTML tables impose
the following limitations on the translation.

<p>
     <h3><a name="tth_sEc7.1">
7.1</a>&nbsp;&nbsp;Tabular</h3>

<ul><p>
<li> HTML tables have either all cells bordered with rules or
none. T<sub>T</sub>H&nbsp;therefore decides whether to use a bordered table by
examining the first character of the alignment argument. If is it
<tt>|</tt>, then the table is bordered, otherwise not.</li>
<p>
<li> HTML tables are not capable of simultaneously aligning part of a
cell's contents to the right and part to the left, which is
automatically done by L<sup>A</sup>T<sub>E</sub>X&nbsp;on some occasions when @-strings are used.
For example if the alignment argument is <tt>|l@{~units}|r|</tt>, L<sup>A</sup>T<sub>E</sub>X
will align ``units'' to the right of the first cell. T<sub>T</sub>H&nbsp;can't. In
some unbordered cases T<sub>T</sub>H&nbsp;will try for the same effect by putting the
closing @-string in the following cell. This won't always give a good
result.</li>
<p>
<li> @-strings and <tt>*{num}</tt> code repetition are not permitted in the
alignment argument to <tt>\multicolumn</tt>, but they are in the main
tabular alignment argument.</li>
</ul>

<p>
     <h3><a name="tth_sEc7.2">
7.2</a>&nbsp;&nbsp;Halign</h3>

<p>

<ul><p>
<li> T<sub>T</sub>H&nbsp;decides whether to use a bordered table in Plain T<sub>E</sub>X
 by examining the entire halign template (i.e.&nbsp;the material up to the
first <tt>\cr</tt> of the halign). If it contains the command
<tt>\vrule</tt> T<sub>T</sub>H&nbsp;makes the table bordered, otherwise not.</li>
<p>
<li> T<sub>T</sub>H&nbsp;decides on the alignment of the cell contents by looking for
<tt>\hfill</tt> or <tt>\hss</tt> commands in the cell template. The
default is to left-align the cell. If one of these spacing commands is present
in the template prior to the <tt>#</tt> for this cell, then the cell
will be right-aligned unless such a command also appears after the
<tt>#</tt>, in which case the cell is centered. Again HTML is not capable of
applying different alignments to different parts of a cell. So results may
sometimes be different from T<sub>E</sub>X. However, if most of this paragraph
sounds totally obscure to you, don't worry; T<sub>T</sub>H&nbsp;will probably do the
right thing.</li>
<p>
<li> The <tt>\multispan</tt> command is supported, giving a centered
multicolumn cell, and <tt>\omit</tt> is treated as <tt>\multispan1</tt>.
However, <tt>\span</tt> is currently not supported.</li>
</ul>

<p>
     <h3><a name="tth_sEc7.3">
7.3</a>&nbsp;&nbsp;Longtables</h3>
<a name="longtable73">
</a><a name="longtab">
</a>

<p>

<ul><p>
<li>The longtable environment is supported, but it is always centered. It
is converted into a standard tabular inside a table environment
because there is no need to accommodate page breaks (the main point of
longtable) in HTML.</li>
<p>
<li> The caption (including caption*) command is
translated correctly but set as part of the HTML table; so, if the
caption is longer than the longest row of the table, it will cause the
whole table width to expand, possibly up to 100% of the
line-width.</li>
<p>
<li> The commands endhead, endfirsthead, endfoot, endlastfoot,
are ignored, but their immediately preceding commands are therefore
inserted into the table. That is probably not desirable for the foot
commands.  Longtable footers are not translated into footers.</li>
<p>
<li> The <tt>\kill</tt>  command is ignored. Its text is spuriously inserted.</li>
</ul>

<p>
 <h2><a name="tth_sEc8">
8</a>&nbsp;&nbsp;Boxes, Dimensions, and fills</h2>

<p>
Boxes, dimensions, and fills are rarely appropriate for web documents
because they imply an attempt to control the fine details of
layout. Browsers make their own choices about layout of a document in
HTML. For example they make the lines fit whatever size of window
happens to be present. This dynamic formatting makes mincemeat of most
detailed T<sub>E</sub>X&nbsp;layout. Therefore the best advice is to avoid these
constructions as far as possible.

<p>
There are nevertheless many cases when a T<sub>E</sub>X&nbsp;document containing
boxes, dimensions, and fills needs to be translated. Earlier versions of
T<sub>T</sub>H&nbsp;made a point of trying to intercept the dimensions and <em>drop
them</em>, so as not to clutter the HTML with rubbish. From version 2.5
onwards, limited translation of these constructs is supported. They
are translated, where appropriate and possible, into HTML tables with
widths and vertical skips estimated to give a reasonable result on a
browser. It must be stressed that accurate translation is inherently
impossible because browsers deal in pixel sizes and default font sizes
that vary and are out of the control of the publisher.

<p>
The types of box usage that translate quite well are when things like

<pre>
\hbox to \hsize{The left \hfil the Right}
\vbox{\hsize=2in Matter to be set in horizontal mode to a 
  limited hsize}
\makebox[0.6\hsize][r]{Stuff to the right of the makebox.}
\framebox{check}

</pre>
are on a line by themselves.
You get:

<p>
<table align ="left" border="0" width="100%"><tr><td>
The left </td><td align="right"> the Right</td></tr></table><!--hbox-->
<br clear="all" /><table border="0"><tr><td></td><td><table border="0"><tr><td></td><td width="200">
 Matter to be set in horizontal mode to a limited hsize
</td></tr></table><!--vbox-->
</td><td>
</td></table><!--hboxt-->
<p>
<table align ="left" border="0" width="60%"><tr><td align="right">
Stuff to the right of the makebox.</td></tr></table><!--hbox-->
<br clear="all" /><table align="left" border="1"><tr><td width="0" align="center">
check</td></tr></table><!--hbox-->
Usages that translate poorly tend to be boxes within a line of
text. That is because current HTML table implementations have to start
a new line unless they happen to be adjacent to a table already. Thus
an hbox in a line will give a line break that you might not have
wanted. This behaviour is really a bug in the browsers, but we are
currently stuck with it. The behaviour of HTML tables is buggy
[see <a href="#tablebug">12.7</a>] when their alignment is specified, which means that
strange results are likely if more than one box on a line is being
set. Boxes in equations are troublesome. The only type that is
reasonably supported is <tt>\mbox</tt> which is often used in L<sup>A</sup>T<sub>E</sub>X&nbsp;for
introducing text inside equations.

<p>
Usages that are currently <em>not supported at all</em> include negative
skips, <tt>\newdimen</tt> new dimensions.

<p>
The only important dimension parameter that is currently supported is
<tt>\hsize</tt>. This can be reset using the plain T<sub>E</sub>X&nbsp;format
e.g.&nbsp;<tt>\hsize = 3in</tt> but only within a group, because it makes no
sense for the HTML file to try to specify the width of the line at the
outermost level, which is the browser's business.

<p>
T<sub>T</sub>H&nbsp;trys valiantly to mimic the sort of text alignment that is
obtained using glue such as <tt>\hfil</tt> and <tt>\hss</tt>, provided it
is inside a box. However, the alignment algorithm of HTML tables makes
it impossible to obtain fills with exactly equal sizes. So don't be
surprised if some results looks disagreeable. Moreover, T<sub>T</sub>H&nbsp;will
completely ignore the glue outside an hbox, and it doesn't know
the difference between <tt>\hfil</tt> and <tt>\hfill</tt>, etc.

<p>
 <h2><a name="tth_sEc9">
9</a>&nbsp;&nbsp;T<sub>E</sub>X&nbsp;command definitions and other extensions</h2>

<p>
     <h3><a name="tth_sEc9.1">
9.1</a>&nbsp;&nbsp;Delimited-parameter macros and
Conditionals<a name="definitions+delimited91">
</a></h3>

<p>
Delimited parameter definitions are fully supported. However, macros in some
style files are written in such a way that the recognition of the
delimited parameter depends on other T<sub>E</sub>X&nbsp;behaviour (e.g. dimensions)
that are not supported by T<sub>T</sub>H. In such cases it is all too possible
for the delimited parameter <em>not</em> to be matched, resulting in a
runaway argument situation.  Thus, delimited parameter macros are
especially dangerous when using T<sub>T</sub>H, or indeed any process other than
T<sub>E</sub>X&nbsp;itself. (And they are never exactly ``safe T<sub>E</sub>X''). The recognition
of these definitions can be disabled using the -d switch, in which
case the definitions are simply discarded.

<p>
<a name="if91">
</a>Conditionals such as <tt>\if</tt>, <tt>\ifnum</tt> and so on are
supported, as listed above (<a href="#ifs">1.1.2</a>). In T<sub>T</sub>H&nbsp;they have one
syntax limitation. Further `if' commands are not permitted in, or as part of
a command expanded in, the tokens, characters, or numbers being
tested. Thus, an example of truly perverse usage such as<br />
<tt>\ifnum 1=\if ab 1\else 2\fi  True \else False \fi</tt><br />will likely
break. Nested `if' constructs <em>are</em> permitted in the conditional
text, however, so<br />
<tt>\ifnum 1=1 True\if ab -true\else -false\fi \else False \fi</tt><br />is fine.
Because T<sub>T</sub>H&nbsp;does not internally resemble T<sub>E</sub>X, whereas the result of
conditionals such as <tt>\if</tt> and <tt>\ifx</tt> may depend on internal
representations, there cannot be 100% compatibility of such tests at
the lowest level. Still, tests on externally defined commands ought
generally to give correct results. When authoring documents in T<sub>E</sub>X&nbsp;one
is generally well advised to avoid conditionals.

<p>
Although T<sub>T</sub>H&nbsp;supports a remarkably complete subset of L<sup>A</sup>T<sub>E</sub>X, it does
not support all of the complicated primitive details of
T<sub>E</sub>X, partly because that would be unnecessary.<a name="charcodes91">
</a> 
For example, practically any T<sub>E</sub>X&nbsp;that redefines <b>category codes</b>
(other than @ which T<sub>T</sub>H&nbsp;treats universally as a letter) will break because
T<sub>T</sub>H&nbsp;knows nothing about the concept of category codes. (If you don't
know much either, about this unfortunate aspect of T<sub>E</sub>X, join the vast
majority of T<sub>E</sub>X&nbsp;users!)  A related example is that T<sub>T</sub>H&nbsp;expects <b>
only letters or @ in user-defined command names</b>, not punctuation
characters etc.

<p>
     <h3><a name="tth_sEc9.2">
9.2</a>&nbsp;&nbsp;Macro- and Style-file 
inclusion<a name="macro files92">
</a><a name="texinputs path92">
</a> </h3>
<a name="input92">
</a>				     <a name="texins">
</a>
Macro definitions are fully
supported by T<sub>T</sub>H. However, special macro packages designed for a
specific layout of journal or conference, for example, often use new
dimensions or other unsupported constructs such as catcode changes. It
may then be inadvisable to use the macro package. That is the reason
why T<sub>T</sub>H&nbsp;does not normally have directory paths defined the same as
T<sub>E</sub>X. If a macro package is then on the TEXINPUTS path it will be found
by T<sub>E</sub>X&nbsp;but not by T<sub>T</sub>H.  Thus, the macro definitions are included when
``T<sub>E</sub>X''ing the file, but not when ``T<sub>T</sub>H''ing it.

<p>
<a name="input92">
</a>T<sub>T</sub>H&nbsp;<em>will</em> find an input file if 

<ol type="1"><p>
<li> the full path is
 specified relative to the directory from which T<sub>T</sub>H&nbsp;is run, e.g.  <br />
 <tt>\input /home/myhome/mytexdir/mymacro.tex</tt> <br /></li>
<p>
<li> the <tt>-p</tt> switch specifies a path on which the file is
found, or</li>
<p>
<li> the TTHINPUTS environment variable is defined to be a path on
which the file is found.</li>
</ol>
Paths are searched in this order until an appropriate file is
found or all directory options are exhausted

<p>
<a name="commands+alternative files92">
</a> This policy provides a mechanism
for making available the alternative package for T<sub>T</sub>H,
without alteration of the original T<sub>E</sub>X&nbsp;files, by placing the
(simplified) version of the macro package on the path T<sub>T</sub>H&nbsp;searches.
 An example using the <tt>-p</tt> switch might be

<pre>
tth &#62;file.html &lt;file.tex -p/usr/local/tthinputs:~/mytthinputs

</pre>

<p>
<a name="macros+alternate92">
</a>Since it is impossible to anticipate all style file incompatibilities,
it must be the responsibility of the user (or the journal) to decide
how to translate the concepts implemented in the original complicated
macro package into simpler, T<sub>T</sub>H-compatible, T<sub>E</sub>X&nbsp;macros.

<p>
     <h3><a name="tth_sEc9.3">
9.3</a>&nbsp;&nbsp;Layout to include arguments of unknown
commands<a name="commands+unknown93">
</a>
</h3>

<p>
Unrecognized or undefined commands of the form
\dothis{one}{two}{three}, are treated by discarding
all the following <i>adjacent</i> brace groups. A space between the close and
open braces will terminate the discarded arguments and cause the
following brace group(s) to be scanned as if just the text. This
makes it possible to use formatting to make T<sub>E</sub>X&nbsp;code come out right in
both T<sub>E</sub>X&nbsp;and HTML. For example if T<sub>T</sub>H&nbsp;encounters a command written
``\boxthis{width} {boxed material}'' which might be
designed in T<sub>E</sub>X&nbsp;to provide a width to a defined command, written with
a space after the first argument, it will ignore the width and scan
the boxed material into the text.

<p>
     <h3><a name="tth_sEc9.4">
9.4</a>&nbsp;&nbsp;Restrictions on redefinition of internal
commands<a name="commands+renaming94">
</a><a name="commands+redefining94">
</a>
</h3>

<p>
In T<sub>T</sub>H&nbsp;(unlike T<sub>E</sub>X) most internal commands can <i>not</i> normally be
redefined; any redefinition will simply be ignored (except inside edef
and a few other places). This prevents T<sub>T</sub>H&nbsp;from safely allowing use of
major packages that redefine standard T<sub>E</sub>X&nbsp;commands. For example amsT<sub>E</sub>X
redefines footnote to have just one argument, which will cause
problems. This particular example is potentially a problem with L<sup>A</sup>T<sub>E</sub>X
too, which also redefines footnote. T<sub>T</sub>H&nbsp;handles this by keeping track
of whether the file is L<sup>A</sup>T<sub>E</sub>X&nbsp;or T<sub>E</sub>X; therefore you should not mix the
two dialects in a single file even though there is no need to tell T<sub>T</sub>H
explicitly which type the file is. (Besides, a mixed file will play
havoc with T<sub>E</sub>X&nbsp;itself.)

<p>
      <h4><a name="tth_sEc9.4.1">
9.4.1</a>&nbsp;&nbsp;Footnotes</h4><a name="footnotes94">
</a>
Footnotes are placed together at the end of the document, or, in the
case of T<sub>T</sub>Hgold splitting files, in a separate file called
footnote.html. The title of this end section is determined by the
macro <tt>\tthfootnotes</tt>. By default this is ``Footnotes'', but can
be redefined by the user at will, e.g. by
<tt>\def\tthfootnotes{Tailnotes}</tt>.

<p>
 <h2><a name="tth_sEc10">
10</a>&nbsp;&nbsp;Color<a name="color100">
</a></h2>
<a name="colordvi100">
</a>
T<sub>T</sub>H&nbsp;supports the coloring of text using the color package macros for
L<sup>A</sup>T<sub>E</sub>X, supported by dvips (but not xdvi).  T<sub>T</sub>H&nbsp;also supports the Plain
T<sub>E</sub>X&nbsp;colordvi macros contained in the package colordvi.tex that do the
same thing. 

<p>
     <h3><a name="tth_sEc10.1">
10.1</a>&nbsp;&nbsp;L<sup>A</sup>T<sub>E</sub>X&nbsp;Color</h3>

<p>
The L<sup>A</sup>T<sub>E</sub>X&nbsp;syntax is recommended because the 68 standard
named colors<a href="#tthFtNtAAH" name="tthFrefAAH"><sup>7</sup></a> are directly supported internally by T<sub>T</sub>H&nbsp;using the named
model. Any numerical CMYK, RGB and Gray color can also be prescribed. For
example the following commands are enclosed in themselves:
<font color="#B70000">\textcolor[named]{BrickRed}{...}</font>,
<font color="#007F00">\textcolor[rgb]{0.,.5,0.}{...}</font>,
<font color="#B232B2">\textcolor[cmyk]{0.,.5,0.,0.3}{...}</font>.
You can define custom colors in the usual way using, for example

<pre>
{\definecolor{Puce}{rgb}{1.,.5,.8}
\color{Puce} This is my own Puce.}

</pre>
Which gives ``
<font color="#FF7FCC">This is my own Puce.</font>''

<p>
The command <tt>\pagecolor</tt> is supported but discouraged. It
is highly likely to give rise to an HTML file that will fail
validation because it inserts an HTML tag <tt>&lt;body bgcolor=...&#62;</tt>
which will not be in its correct position (immediately following the
title). The only way to be certain to produce an HTML file that passes
validation is to put the title and body commands in by hand, using
e.g.  <tt>\special{html:&lt;title&#62;...&lt;/title&#62;&lt;body ...&#62;}</tt>  Netscape
seems not to mind a body tag out of order, but only the first one is
able to set the page background color.

<p>
The commands <tt>\colorbox</tt> and <tt>\fcolorbox</tt> are supported via
CSS style sheet commands. They will only work to set the background
color of included text if the browser is set to use style sheets. 

<span style="background: #00FF00;">``This sentence''</span> is the result of the command
<tt>\colorbox{green}{``This sentence''}</tt>. If it is colored, then
your browser supports style sheets to this extent. If not, check your
preferences settings.

<p>
     <h3><a name="tth_sEc10.2">
10.2</a>&nbsp;&nbsp;Plain Color</h3>

<p>
The Plain T<sub>E</sub>X&nbsp;syntax using commands such as <tt>\Red{red text}</tt> requires
the file <tt>colordvi.tex</tt> to be input prior to their use. But
because T<sub>T</sub>H&nbsp;does not search the standard T<sub>E</sub>X&nbsp;paths, that file will
<em>not</em> usually be found unless the full path is explicitly
specified. If the file is not found, only the 8 standard colors

<pre>
\Red, \Green, \Blue, \Cyan, \Magenta, \Yellow, \Black, and \White

</pre>
 are
recognized internally by T<sub>T</sub>H. You can use the user-defined CMYK numeric
style 

<pre>
\Color{0. .5 .5 0.}{pale red}

</pre>
without the colordvi
file. It gives the result ``<font color="#FF7F7F">pale red</font>'' but the
notation becomes cumbersome unless you define your color
e.g. like

<pre>
\def\redcolor{0. .5 .5 0.}
\Color{\redcolor}{The stuff that is red.}

</pre>

<p>
Another difficulty with the colordvi
command <tt>\textColor</tt> (which is the color <em>switch</em> - L<sup>A</sup>T<sub>E</sub>X
syntax reversed that usage and changed to comma-delimited arguments
just to confuse us) is that it is a global setting. It then
becomes almost impossible to maintain proper nesting of the closure of
the font commands used for colors in HTML. As a result, use of
<tt>\textColor</tt> often gives HTML files that won't pass HTML validation.

<p>
     <h3><a name="tth_sEc10.3">
10.3</a>&nbsp;&nbsp;Limitations</h3>
Color commands do not propagate into different cells of HTML tables
because of what may be regarded as a browser bug
[<a href="#cellbug">12.7</a>]. For that reason, tables and equations will not color
correctly if the color commands enclose more than one cell (for
tables) or equation element. Remember also that some computers may be
limited in their color display capability, so the subtleties of colors
will be lost in some circumstances. 

<p>
 <h2><a name="tth_sEc11">
11</a>&nbsp;&nbsp;HTML and output</h2>

     <h3><a name="tth_sEc11.1">
11.1</a>&nbsp;&nbsp;Formal HTML validation</h3>
<a name="title+HTML construction111">
</a>
T<sub>T</sub>H&nbsp;takes as its standard HTML that can be rendered by Netscape and IE
browsers versions 3 and higher (with the caveats above). Documents
without mathematical symbols, translated by T<sub>T</sub>H, conform to the HTML3.2
standard. Since the font tag needed for symbols is not part of the
HTML3.2 standard, any such symbols compromise that formal
standard. Therefore the formal standard that T<sub>T</sub>H-translated documents
follow is strictly HTML4.0 Transitional. However, T<sub>T</sub>H&nbsp;does not
formally validate its documents, and can be made to violate the
standard by some T<sub>E</sub>X&nbsp;usage. 

<p>
One reason for violation
arises because HTML4.0 <i>requires</i> a
<tt>&lt;title&#62;...&lt;/title&#62;</tt> for every document.
A title is constructed from L<sup>A</sup>T<sub>E</sub>X&nbsp;files that contain the <tt>\title{...}</tt>
command, in which case HTML conformance is ensured by putting the
<tt>\title</tt> command before any text (i.e.&nbsp;in the preamble, where it
belongs).  If the <tt>\title</tt> command is not desired in the T<sub>E</sub>X
file, for example because it is a plain T<sub>E</sub>X&nbsp;document,
a title can be provided by the author for the HTML document by putting
a line like this at the top of the T<sub>E</sub>X&nbsp;file.

<pre>
%%tth:\begin{html}&lt;title&#62;Put the title here&lt;/title&#62;\end{html}

</pre>
This line will be ignored by T<sub>E</sub>X. Actually, any raw HTML output at the
start of the file is assumed by T<sub>T</sub>H&nbsp;to indicate that the author has
explicitly output a title. If no title indication of any of the above
types is present, T<sub>T</sub>H&nbsp;attempts to construct a title from the first few
plain words in the document, in much the way that the first line can
become the title of a hymn.  

<p>
If commands like
<tt>\item</tt>, that output material to the HTML file occur
before the title has been constructed, the HTML title command will be
out of order and the formal standard will be violated. 

<p>
In the case where the title construction fails, or if some other T<sub>E</sub>X
usage causes a violation of the formal standard, browsers will
still render the output correctly if this manual is followed.

<p>
     <h3><a name="tth_sEc11.2">
11.2</a>&nbsp;&nbsp;HTML Styles</h3>
<a name="htmlstyle">
</a>
There are good reasons why the <tt>&lt;head&#62;</tt> and <tt>&lt;body&#62;</tt> tags
are by default omitted by T<sub>T</sub>H.  See the FAQ [<a href="#headbody">B</a>] for a
brief discussion. However, the evolution of HTML standards (not
browsers) is towards imposing more restrictions on the freedom to omit
tags. For example XHTML <em>requires</em> that containers have both
opening and closing tags. Therefore T<sub>T</sub>H&nbsp;has a switch <tt>-w?</tt>
(where the question mark denotes an optional integer) that controls
its writing style. At present, in addition to the default style that
attempts to construct a title but does not enter head and body tags,
-w or equivalently -w0 prevents T<sub>T</sub>H&nbsp;from attempting to construct a
title or anything else in the way of head/body divisions. This style
is best used for documents where the author has explicitly entered the
required HTML tags. The switch -w1 invokes pedantic HTML style which
enters head and body tags under the assumption that the title
(possibly constructed automatically) is the last thing in the head
section. A style -w2 produces XHTML documents but <em>requires</em>
cascading style sheet (CSS) support in the browser otherwise the
rendering will not be as satisfactory as the default. Also, the
restrictiveness of XML syntax requires that each paragraph be a
separate group. As a result, T<sub>E</sub>X&nbsp;commands like <tt>\it</tt>, whose
scope extends until the current group is closed, only apply in HTML
documents until the end of the current <em>paragraph</em>, not T<sub>E</sub>X&nbsp;group. This is a significant incompatibility, but in any case the
switch -w2 is not recommended for production documents until the CSS
bugs in popular browsers are ameliorated. However, it would be helpful
to hear of confirmed violation of the XHTML standard on test documents
using the -w2 style switch.

<p>
 <h2><a name="tth_sEc12">
12</a>&nbsp;&nbsp;Browser Problems</h2>

<p>
T<sub>T</sub>H&nbsp;translates T<sub>E</sub>X&nbsp;into standard HTML and takes account as far as
possible of the idiosyncrasies of the major browsers. Nevertheless,
there are several problems that are associated with the
browsers. Authors and publishers should recognize that these are
<em>not</em> T<sub>T</sub>H&nbsp;bugs.

<p>
     <h3><a name="tth_sEc12.1">
12.1</a>&nbsp;&nbsp;MacIntosh browser font problems<a name="Mac browsers121">
</a></h3>

<p>
The characters with codes higher than 127 in the Mac fonts are in a
different order from the standard ISO-8859-1 (sometimes called ISO
Latin-1).  If Netscape or IE on Macs have their document encoding set
to the standard, then in versions 3 onwards they are programmed to
access the glyph where they think the corresponding accented Latin
character will be in the Mac font. This is fine if one really wants an
accented Latin character. However, for mathematics, using the symbol
font (which is ordered the SAME on the Mac as on other platforms) the
result is that one gets the wrong symbol glyph. This is a particular
problem with large delimiters. The fix is that the Mac browser must be
set to use the Options/Document-encoding ``MacRoman". This tells the
browser not to do the permutation to access the accented Latin
characters in the Mac places; hence, for eight-bit characters, it
accesses the symbol font correctly. This would break the Latin
accented characters except for the fact that (most current versions
of) the browsers still access characters in the Mac order if they are
specified numerically using the HTML syntax ``&amp;#???;". So T<sub>T</sub>H
documents will in most cases display both accented characters and
symbols correctly on Macs if the document-encoding is set to MacRoman.

<p>
In addition, NS4.0 has under Edit Preferences Fonts a choice between
``use document fonts'' and ``use my fonts overriding document''. You
need to set ``use document fonts''. This necessity is obvious if you
think about it. You can make any document into garbage by specifying
your own font (e.g. Greek or Cyrilic) that happens not to be what the
document is written in. The same is true for the symbols of
mathematics. The reader must permit the document to specify the font.
Browsers should always set ``use document fonts'' as the default.

<p>
In summary, you might want to tell people viewing your documents to
set their browsers to View Encoding MacRoman, and Edit Preferences
Fonts Use-document-fonts (NS 4.0).

<p>
     <h3><a name="tth_sEc12.2">
12.2</a>&nbsp;&nbsp;Netscape Composer<a name="Netscape Composer122">
</a></h3>
<a name="nscomp">
</a>
Netscape Composer (in Netscape Communicator 4.0 on) is
too clever for its own good. If you run an HTML document produced by T<sub>T</sub>H
through Netscape Composer, all sorts of internal translations are
performed that are detrimental to its eventual display. For example,
if you subsequently save the document with the usual encoding set
(Western), the eightbit codes that work with Macs are replaced with
HTML4.0 entities such as [&amp;]ograve; or [&amp;]pound;. This effectively
breaks the document for viewing on Macs because it undoes everything
just explained. Even if you use User-Defined encoding, which prevents
this particular substitution, Composer will rearrange the document in
various ways that it thinks are better, but that make the display of
the document worse. The moral is, don't run T<sub>T</sub>H&nbsp;documents through
Netscape Composer.<a name="publish+through composer disallowed122">
</a>
  You therefore cannot use the ``publish'' facility
of Composer. Transfering the document to the server with plain old ftp
will keep it away from Composer's clutches.

<p>
[Unconfirmed reports indicate that P*gemill has problems of the same type.]

<p>
     <h3><a name="tth_sEc12.3">
12.3</a>&nbsp;&nbsp;X font problems<a name="symbols123">
</a><a name="X fonts123">
</a></h3>

<p>
Symbol fonts are not normally enabled for Netscape running under X,
because of the way Netscape groups its fonts. A fix for this is to
install some aliases in the fonts directories or else to add a line to
your .Xdefaults file. See
<a href="http://hutchinson.belmont.ma.us/tth/Xfonts.html">http://hutchinson.belmont.ma.us/tth/Xfonts.html</a>. You might want to put these
notes on your site for people viewing your documents.

<p>
A font rendering problem exists for small size single-symbol overbar
in the Xfree86 server. The overbar symbol may or may not appear,
depending on the direction in which its window uncovered. (Yes, this
is a really bizarre bug but can be demonstrated with the xfd program.)
It is strictly not a Netscape bug but an X-server, or perhaps font,
bug. This symbol is used by T<sub>T</sub>H&nbsp;only as a fall-back for <tt>\bar</tt> in
situations like in-line equations where it can't render the construct
using tables.

<p>
     <h3><a name="tth_sEc12.4">
12.4</a>&nbsp;&nbsp;Mozilla (Netscape 6) and Symbol
Fonts<a name="symbols+Mozilla can't access124">
</a><a name="Mozilla124">
</a></h3>

<p>
The symbol font is present on practically every computer on the planet
that runs a graphical browser. Under the MSWindows operating system,
IE to version 5.x and NS to version 4.x browsers treat the symbol
font as if it were an iso-8859-1 encoded font. It strictly speaking is
not. But treating it as such enables the glyphs to be accessed using
either eight-bit codes in just the same way as standard ASCII
characters, or explicit numeric codes such as <tt>&amp;#177;</tt>. This is
the way that documents have accessed these glyphs for several years.

<p>
Mozilla (NS6+) is obsessive about standards rather than usability. It
does not seem to provide a mechanism for designating the symbol font
as accessible by 8859-1 encoding.<a href="#tthFtNtAAI" name="tthFrefAAI"><sup>8</sup></a> The only way I have
discovered to enable Mozilla to access the symbol font with 8859-1
encoding under X is to create a font alias to the symbol font that
ends iso8859-1 as described in
<a href="http://hutchinson.belmont.ma.us/tth/Xfonts.html">the Xfonts file</a>.
Then Mozilla regards that font as having the 8859-1 encoding and
accesses it that way<a href="#tthFtNtAAJ" name="tthFrefAAJ"><sup>9</sup></a>. On MSWindows systems, I have not
discovered a way to make the full symbols font accessible to Mozilla.

<p>
The HTML4 standard says that Unicode (ISO 10646) is the character set
of HTML, and that the way characters should be accessed is through
Unicode codes. Therefore pedants will tell you that NS6 is simply
following the standard. They are formally correct. The parts of large
delimiters such as brackets that are needed for mathematics rendering
are not present in the current version of Unicode. Therefore they
can't be accessed via unicodes.  They <em>are</em> present in the new
version of Unicode, 3.2, soon to be adopted. However, Mozilla does not
(yet) support the new Unicode.

<p>
As of its initial public release, then, Netscape 6 is in the situation
that it has disabled access to important symbols in HTML via the old
<tt>&lt;font face="symbol"&#62;</tt> and 8859-1 encoding mechanism, but has not
implemented the new Unicode 3.2 way of accessing them. This is a bad
situation to be in. My recommendation is not to use Mozilla (NS6) and
to tell your readers not to use it until it restores full access to the
symbol fonts in one way or another.

<p>
     <h3><a name="tth_sEc12.5">
12.5</a>&nbsp;&nbsp;Internet Expl*der</h3>
IE 4 and 5 renders nested sub- and superscripts wrong under
Wind*ws 95/8 so that for example the HTML
<tt>x&lt;sup&#62;n&lt;sub&#62;i&lt;/sub&#62;&lt;/sup&#62;</tt> is rendered as if it were
<tt>x&lt;sup&#62;n&lt;/sup&#62;&lt;sub&#62;i&lt;/sub&#62;</tt>. Here is the first form:
x<sup>n<sub>i</sub></sup>
to test your browser. Tests on Win 3.1 with IE 3.01 show no such
problem.  Obviously this is a fairly serious bug for mathematics that
ought to be fixed by the browser programmers. [Let MS*ft know if you
observe it, so that plenty of people are complaining and they might
fix it.]

<p>
     <h3><a name="tth_sEc12.6">
12.6</a>&nbsp;&nbsp;Printing<a name="printing126">
</a></h3>

<p>
In Netscape 3.0 and 4.x under X, for example, the printing fonts are hard
coded into the browser and the font-changing commands are ignored when
printing. For that reason, visitors viewing T<sub>T</sub>H&nbsp;documents will often
not be able to print readable versions of documents with lots of
mathematics. This problem could, and should, be fixed in the
browsers. However, if you want your readers to be able to print a
high-quality paper copy of the file, then you probably want to make
available to them either the T<sub>E</sub>X&nbsp;source or a common page-description
format such as Postscript or PDF. Since HTML documents download and
display so much faster and better than these other formats on the
screen, T<sub>T</sub>H's translation provides the natural medium for people to
<i>browse</i>, but not necessarily the best medium for paper
production.

<p>
     <h3><a name="tth_sEc12.7">
12.7</a>&nbsp;&nbsp;Other Browser Bugs</h3>

<p>
<a name="vertical alignment127">
</a>Under Wind*ws, both Netscape (3.0) and Internet Expl*rer (3.02)
incorrectly size or space vertically the symbol glyphs so that small
gaps appear between the parts of large symbols and delimiters. This
occurs only at certain font sizes (different between the two
browsers!) but causes a slightly annoying degradation of the
appearance.

<p>
<a name="cellbug">
</a>Both Netscape and IE fail (although somewhat differently) to carry
font changing commands from cell to cell of HTML3.2 tables. In
rendering equations (using tables) T<sub>T</sub>H&nbsp;circumvents this bug at the
cost of significant extra effort and slightly verbose HTML.  However,
for tables generated by <tt>\halign</tt> or <tt>\begin{tabular}</tt> T<sub>T</sub>H
takes no special steps to avoid this bug. Therefore you cannot, for
example, increase the font size of an entire table by enclosing it in
<tt>{\large ... }</tt> and indeed the table will revert to the default
size even if it is inside a different sized section of text. Moreover,
a change of font face in a cell, for example by <tt>\it</tt> will not
carry over to the next cell.  A document containing this problem will
not pass some HTML validations.  It is prevented if every cell of a
T<sub>E</sub>X&nbsp;table is enclosed in braces and the required style applied
separately to every cell - a serious annoyance.

<p>
IE can become confused about its vertical alignment in tables, with
the result that symbols float above or below the horizontal line in
built-up equations. This sometimes fixes itself if you simply refresh
the page!

<p>
<a name="tablebug">
</a>Tables are incapable of being properly embedded within a line of text.
They generally force a new line. This is quite a significant handicap
when translating in-line material that could use a table. It can be
argued that this behaviour is required by the HTML
standard. Specifically, the <tt>&lt;p&#62;</tt> element is defined as having
in-line attributes which prevent it from containing any elements
defined as being <tt>block</tt> type, of which <tt>&lt;table&#62;</tt> or
actually strictly <tt>&lt;td&#62;</tt> is one.
However, here the standard seems to be very unhelpful.

<p>
<a name="tables+overwriting bug127">
</a>Nested tables in Netscape 4.x are not properly cleared by the
<tt>&lt;br clear=all&#62;</tt> attribute. It appears that the next line is 
shifted down only by the height of the last innermost table in the
nest. If this happens not to be the tallest table, the subsequent text
will overwrite that tallest table. This sometimes the cause of problems
when putting more than one box on a line.

<p>
<a name="\&times;+Mac browser bug127">
</a>On Macintosh Netscape, the standard HTML entity <tt>&amp;times;</tt> for a
multiplication sign is not recognised. There seems to be no good
reason for this omission. Complain to the browser manufacturer!

<p>
     <h3><a name="tth_sEc12.8">
12.8</a>&nbsp;&nbsp;Cascading Style Sheets and Unicode</h3><a name="style sheets128">
</a><a name="CSS128">
</a>

<p>
The facilities offered by style sheets make it possible <em>in
principle</em>, but not currently in practice, to solve several of the
outstanding layout problems that T<sub>E</sub>X&nbsp;translation
encounters. Unfortunately, in practice, the latest versions of the
popular graphical browsers offer only incredibly buggy and broken
implementations of the parts of CSS that are needed for mathematics
layout, and they are essentially unusable for this purpose. (Here
Netscape is the worse offender.) The use of unicode is advocated by
purists instead of using the symbol font. However, again, there is no
<em>practical</em> way to use it reliably in the current browsers.

<p>
 <h2><a name="tth_sEc13">
13</a>&nbsp;&nbsp;Code Critique<a name="bugs130">
</a></h2>

<p>
If you think you have found a bug, you can report it to the mailing
list mentioned in section <a href="#mailinglist">3</a>. You are most likely to
get help if your report is accompanied by the brief section of T<sub>E</sub>X&nbsp;code that causes the problem. But please don't send L<sup>A</sup>T<sub>E</sub>X2.09 files
or files that do not conform to the latest (1994) L<sup>A</sup>T<sub>E</sub>X&nbsp;users'
guide. And please check this manual and especially the FAQ (<a href="#FAQ">B</a>)
first.

<p>
The code has been compiled and run on Linux, MSDOS, Wind*ws, Open VMS,
and sundry other operating systems. See 
<a href="http://hutchinson.belmont.ma.us/tth/platform.html">http://hutchinson.belmont.ma.us/tth/platform.html</a>.

<p>
 <h2><a name="tth_sEc14">
14</a>&nbsp;&nbsp;License</h2>

<p>
<a name="license140">
</a>T<sub>T</sub>H&nbsp;is copyright &#169;&nbsp;Ian Hutchinson, 1997-2000.

<p>
You may freely use T<sub>T</sub>H&nbsp;for non-commercial purposes.  It may not be
used for commercial purposes. If you distribute any copies, you must
include this file and these conditions must apply to the recipient.
<a href="http://hutchinson.belmont.ma.us/tth/tthgold.html">T<sub>T</sub>Hgold</a> 
may be used for commercial purposes according to its
license. No warranty of fitness for any purpose whatever
is given, intended, or implied.  You use this software entirely at
your own risk.  If you choose to use T<sub>T</sub>H, or T<sub>T</sub>Hgold, by your
actions you acknowledge that any direct or consequential damage
whatever is your responsibility, not mine.

<p>

 <h2><a name="tth_sEc15">
15</a>&nbsp;&nbsp;Acknowledgements</h2>

<p>
Many thanks for useful discussions and input to Robert Curtis, Ken
Yap, Paul Gomme, Michael Sanders, Michael Patra, Bryan Anderson,
Wolfram Gloger, Ray Mines, John Murdie, David Johnson, Jonathan
Barron, Michael Hirsch, Jon Nimmo, Alan Flavell, Ron Kumon, Magne
Rudshaug, Rick Mabry, Andrew Trevorrow, Guy Albertelli II, and for bug
reports from others too numerous to mention.

<p>
 <h2><a name="tth_sEcA">
A</a>&nbsp;&nbsp;Appendix: Non-Standard T<sub>E</sub>X&nbsp;Macros</h2>

<p>
<a name="macros+special useA0">
</a>The following macro definitions, although not needed for T<sub>T</sub>H, will
enable a T<sub>E</sub>X&nbsp;file that uses the non-standard T<sub>T</sub>H&nbsp;commands to be
correctly parsed by Plain T<sub>E</sub>X.

<p>

<pre>
\def\hyperlink#1#2{\special{html:&lt;a href="\##1"&#62;}#2\special{html:&lt;/a&#62;}}
  % Incorrect link name in \TeX\ because # can't be passed properly to a special.
\def\hypertarget#1#2{\special{html:&lt;a name="#1"&#62;}#2\special{html:&lt;/a&#62;}}
\long\def\tthdump#1{#1} % Do nothing. The following are not done for TtH.
\tthdump{%
\def\title#1{\bgroup\leftskip 0 pt plus1fill \rightskip 0 pt plus1fill
\pretolerance=100000 \lefthyphenmin=20 \righthyphenmin=20
\noindent #1 \par\egroup}% Centers a possibly multi-line title.
 \let\author=\title % Actually smaller font than title in \LaTeX.
 \input epsf     % PD package defines \epsfbox for figure inclusion
  % Macro for http reference inclusion, per hypertex.
 \def\href#1#2{\special{html:&lt;a href="#1"&#62;}#2\special{html:&lt;/a&#62;}}
 \def\urlend#1{#1\endgroup}
 \def\url{\begingroup \tt 
  \catcode`\_=13 % Don't know why this works.
  \catcode`\~=11 \catcode`\#=11 \catcode`\^=11 
  \catcode`\$=11 \catcode`\&amp;=11 \catcode`\%=11
\urlend}% \url for plain \TeX.
}

</pre> 

<p>
 <h2><a name="tth_sEcB">
B</a>&nbsp;&nbsp;Appendix: Frequently Asked Questions</h2>
<a name="FAQ">
</a>

<p>

<b>Why won't T<sub>T</sub>H&nbsp;run under DOS? Something about DPMI.&nbsp;&nbsp;</b> <br />
It will, but the distributed DOS executable needs DPMI memory
extension support to run. Plain old DOS doesn't have that unless you
specifically load it.  All Wind*ws versions from 3.1 on support it at
the DOS prompt.

<p>

<b>Why won't T<sub>T</sub>H&nbsp;run from Program Manager in Wind*ws?&nbsp;&nbsp;</b><br />
You need a command line. Call up the DOS prompt.

<p>

<b>T<sub>T</sub>H&nbsp;does not recognize tableofcontents, backward
references, listoffigures, ...&nbsp;&nbsp;</b><br />
Yes it does, see section <a href="#LaTeXfiles">6.1</a>, and use the <tt>-L</tt> switch.

<p>

<b>T<sub>T</sub>H&nbsp;does not insert my picture environments.&nbsp;&nbsp;</b><br />
If picture environment pictures are to be included, conversion to a gif file
is needed. See <a href="#pict">6.5</a>.

<p>

<b>T<sub>T</sub>H&nbsp;messes up my tabbing environment.&nbsp;&nbsp;</b><br />
Tabbing is not currently supported. It is alien to the HTML document
mark-up approach. See section <a href="#tabhal">7</a>.

<p>

<b>How do I make T<sub>T</sub>H&nbsp;border my tabular table?&nbsp;&nbsp;</b><br />
T<sub>T</sub>H&nbsp;looks in the format string argument of the begin{tabular}
environment and if it begins with a <tt>|</tt> (vertical bar) then the HTML
table is bordered.

<p>

<b>T<sub>T</sub>H&nbsp;inserts the title and author even without the
maketitle command&nbsp;&nbsp;</b><br />
True, T<sub>T</sub>H&nbsp;inserts them when you define them. This gives you a chance
to fine-tune the presentation if you wish.

<p>
<a name="switches+-LB0">
</a><a name="frac command+see switch -LB0">
</a>
<b>Why doesn't \frac work in equations?&nbsp;&nbsp;</b><br />
It does, but only in L<sup>A</sup>T<sub>E</sub>X&nbsp;documents because <tt>\frac</tt> is not a
plain T<sub>E</sub>X&nbsp;command. The document you are presenting to T<sub>T</sub>H&nbsp;doubtless
has no <tt>\documentclass</tt> command and other L<sup>A</sup>T<sub>E</sub>X&nbsp;blurb at the top.
If you insist on having L<sup>A</sup>T<sub>E</sub>X&nbsp;commands available in such a document,
you can use the <tt>-L</tt> switch. But note that other changes in
interpretation (e.g. in footnotes) are implied by using this switch to
tell T<sub>T</sub>H&nbsp;that this is a L<sup>A</sup>T<sub>E</sub>X&nbsp;file.

<p>

<b>What is this strange result using \dot
\hat \tilde \frac
\vec ... in in-line equations?&nbsp;&nbsp;</b><br />
Neither over and under accents nor built-up constructs such as
fractions can be rendered in-line (i.e. in a textstyle equation
produced by $ ... $) in HTML. Therefore, T<sub>T</sub>H&nbsp;outputs something that is
not elegant but reasonably indicates the original
intention. Additional brackets are inserted to ensure that fractions
are unambiguous. T<sub>T</sub>H&nbsp;<em>will</em> render all these built-up constructs
correctly in a <em>display</em> equation. See also <a href="#inline">5.2</a> for an option.


<p>
<a name="square rootB0">
</a>
<b>Why does the large square root sign look so ugly?&nbsp;&nbsp;</b><br />
There are some things that browser symbol fonts can't do well.

<p>
<a name="daggerB0">
</a>
<b>Why does a dagger sign come out strange?&nbsp;&nbsp;</b><br />
Browsers don't generally have a dagger sign in their fonts. T<sub>T</sub>H&nbsp;uses a
kludge.

<p>
<a name="\TtH-only codeB0">
</a><a name="iftthB0">
</a>
<b>How do I insert code that is used only by T<sub>T</sub>H, not T<sub>E</sub>X?&nbsp;&nbsp;</b><br />
Use <tt>%%tth:</tt> followed by the material you wish to pass to T<sub>T</sub>H.
T<sub>E</sub>X&nbsp;omits this line as a comment. Alternatively, insert <tt>\newif\iftth</tt>
at the top of your document, then use a conditional:
<tt>\iftth \TtH\ material \fi</tt>. TtH recognizes <tt>\iftth</tt> as a
special `if' that is always true, whereas to T<sub>E</sub>X&nbsp;it is simply a
new `if', which by default is false when defined.

<p>
<a name="HTML+tagsB0">
</a>
<b>How do I insert HTML tags into my file without T<sub>E</sub>X&nbsp;knowing?&nbsp;&nbsp;</b><br />
Use <tt>%%tth:</tt> then on this line put 
<tt>\begin{html} tags \end{html}</tt>. Do not try to continue this
html onto a second line with a second <tt>%%tth:</tt> before the
<tt>\end{HTML}</tt> because the html environment will output the
<tt>%%tth:</tt>, which it probably not what you want. Another way to
pass codes directly to the output is the <tt>\special{html: ... }</tt>
command. Do
<em>not</em> use <tt>\begin{verbatim}</tt> to pass HTML tags. It will
convert the greater than and less than signs to make them appear in
the display and not be interpreted as tags.

<p>
<a name="\TeX-only codeB0">
</a>
<b>How do I insert code that is used only by T<sub>E</sub>X, not T<sub>T</sub>H?&nbsp;&nbsp;</b><br />
Insert <tt>\newif\iftth</tt> at the top of the file and then use
the conditional constr
uction:

<pre>\iftth\beginsection{The \TtH\ Header}\par\else\beginsection{The \TeX\ Header}\fi

</pre>
The `else' clause may also be used with a blank first clause, of
course: <tt>\iftth\else ... \fi</tt>.
Alternatively, insert the definition <tt>\def\tthdump#1{#1}</tt> at the
top of the file and then use <tt>\tthdump{\TeX\ material}</tt> to pass
stuff only to T<sub>E</sub>X. The command <tt>\tthdump</tt> is an internal command
for T<sub>T</sub>H&nbsp;(which cannot be redefined) that simply discards its argument.
Thus, for example, the following will output
alternate versions from T<sub>E</sub>X&nbsp;and T<sub>T</sub>H.
<pre>
\def\tthdump#1{#1}
%%tth:\begin{html}&lt;H1&#62;The HTML Header&lt;/H1&#62;\end{html}
\tthdump{\beginsection{The \TeX\ Header}\par}

</pre>

<p>
<a name="stylesB0">
</a>
<b>How do I include the style file ...sty for the T<sub>E</sub>X&nbsp;paper I prepared for... journal?&nbsp;&nbsp;</b><br />
If you are wise, you probably don't. T<sub>T</sub>H&nbsp;often can't handle
 complicated journal formats for [La]T<sub>E</sub>X&nbsp;without modification, because
 they frequently use newdimens, and category code modification or
 other unsupported constructs. Instead, look at your T<sub>E</sub>X&nbsp;file, or the
 T<sub>T</sub>H&nbsp;messages telling you which commands are unknown. Decide which of
 the journal's specific commands or environments you used or
 need. Write a little style file that defines them to do something
 simple and sensible, or translates them into standard L<sup>A</sup>T<sub>E</sub>X
 commands. Or ask the journal to provide such a style file! If you are
 a journal publisher, distribute your simplified style file to your
 authors.

<p>
<a name="line-endsB0">
</a>
<b>Why does T<sub>T</sub>H&nbsp;not recognize my ends of lines properly?&nbsp;&nbsp;</b><br />
If you transfer a file from one operating system to another as a
binary file, the line-end codes are likely to be messed up. They use
different codes on Un*x, DOS, and Mac. Usually T<sub>E</sub>X&nbsp;is not bothered by
this. T<sub>T</sub>H&nbsp;is somewhat more sensitive. Use ASCII transfer.

<p>
<a name="environment+not recognizedB0">
</a>
<b>T<sub>T</sub>H&nbsp;does not recognize evironment ... even though it
claims to.&nbsp;&nbsp;</b><br />
Probably you left a spurious space, e.g. <tt>\begin {enumerate}</tt>
between the <tt>\begin</tt> and the following brace. T<sub>T</sub>H&nbsp;occasionally won't
accept that, even though L<sup>A</sup>T<sub>E</sub>X&nbsp;does. It is bad style.

<p>
<a name="extensions to \LaTeX B0">
</a><a name="\LaTeX\ extension packagesB0">
</a><a name="usepackageB0">
</a>
<b>Why does T<sub>T</sub>H&nbsp;not recognize ... command from ... style
package?&nbsp;&nbsp;</b><br />
Let's be perfectly clear here. T<sub>T</sub>H&nbsp;does not currently recognize 
<tt>\usepackage</tt> and, with the exception of commands explicitly
mentioned in this manual, does not support <em>any</em> of the zillions
of extensions to L<sup>A</sup>T<sub>E</sub>X&nbsp;that exist, even if they are part of the
``standard distribution''.

<p>
<a name="FILESB0">
</a><a name="file not foundB0">
</a><a name="inputB0">
</a>
<b>Why does TtH only manage to input a limited number
of files, perhaps 15 or so, then report ``file not found'' after
that?&nbsp;&nbsp;</b><br />
This is a limitation of the operating system. It has only a limited
number of file handles available. In MSDOS this number is set by a command 
<tt>FILES=...</tt> in the operating system configuration file
<tt>config.sys</tt>. It needs to be set to a number large enough to
accommodate all the input or include files that your T<sub>E</sub>X&nbsp;document
uses, plus whatever other file overhead the operating system is
using. Under OS/2 a similar limitation exists and is avoided by 
increasing the number of allowable file handles in the emx run-time
system (e.g.&nbsp;SET EMXOPT=-c -h400 in config.sys). 

<p>
<a name="ComposerB0">
</a>
<b>The file I ``published'' using Netscape Composer looks
messed up when viewed on a Mac.&nbsp;&nbsp;</b><br />
Don't use Composer on T<sub>T</sub>H&nbsp;documents. See section <a href="#nscomp">12.2</a>.

<p>
<a name="tables+bordered cells filled inB0">
</a>
<b>In bordered tables I want an empty cell to look
empty. How do I make T<sub>T</sub>H&nbsp;do that?&nbsp;&nbsp;</b><br />
HTML tables by default ``fill in'' an empty cell, so that it gives the
visual impression of being absent. This is sometimes useful, so T<sub>T</sub>H
does not prevent it. If you want it to look like an empty cell, put a
non-break space in it by <tt>&amp;~&amp;</tt> in the T<sub>E</sub>X.

<p>
<a name="fboxB0">
</a>
<b>Why does T<sub>T</sub>H&nbsp;mess up my \fbox,
minipage, etc?&nbsp;&nbsp;</b><br />The whole concept of a ``box'' is not really
translatable into HTML. T<sub>T</sub>H&nbsp;tries to mimic the box using tables. But
in some cases, especially in equations, it can't cope.

<p>
<a name="skip space and dimension commandsB0">
</a>
<b>Why does T<sub>T</sub>H&nbsp;complain about my skip, space, ... command?&nbsp;&nbsp;</b><br />
Dimensions are usually inappropriate for HTML. T<sub>T</sub>H
tries do something sensible with dimension, space, and glue
commands. Usually it is successful. If so, you need do nothing. In
some rare cases, you might see some irrelevant left-over characters
from the dimension command that have to be removed by hand.

<p>
<a name="calligraphicB0">
</a>
<b>How do I get caligraphic fonts, {\cal E}, AMS
fonts,  etc?&nbsp;&nbsp;</b><br />
You can't because browsers don't have access to them. T<sub>T</sub>H&nbsp;can only
support fonts that are available on the browsers that eventually visit
the page. By default T<sub>T</sub>H&nbsp;tells the browser to render caligraphic as
italic helvetica font. You may, if you wish, define <tt>\cal</tt> to be
something different, such as <tt>%%tth:\def\cal{\it\color{red}}</tt>.

<p>
<a name="double-quotesB0">
</a>
<b>Why does T<sub>T</sub>H&nbsp;turn double-quotes into an accent
instead of quotes?&nbsp;&nbsp;</b><br />In basic T<sub>E</sub>X&nbsp;the double quotes character
<tt>"</tt> is not defined, and hence may do anything that the local
installation feels like. Double quotes must be inserted by using two
quote '' or back-quote `` characters.  In German T<sub>E</sub>X&nbsp;implementations,
the double-quotes character is used to provide the umlaut over accent
and for some other special needs. T<sub>T</sub>H&nbsp;supports these German uses in
some appropriate contexts. English speakers should adopt proper T<sub>E</sub>X
quote usage.  There is essentially never a situation in L<sup>A</sup>T<sub>E</sub>X&nbsp;where
it is advisable to use a double quote to represent itself outside of a
verbatim section (where it will naturally be treated literally). In
Plain T<sub>E</sub>X&nbsp;you might need it. If so, <tt>\char`"</tt> is an
absolutely fool-proof way to insert it. Here it is:". 
You can also just enclose it in braces thus:{"}. 

<p>
<a name="hash signB0">
</a>
<b>How do I include into a macro I am defining a # sign
for an HTML reference?&nbsp;&nbsp;</b><br />
When you do <tt>\special{html:&lt;a href="#reference"&#62;}</tt> 
T<sub>T</sub>H&nbsp;just puts the html tag in the output verbatim. T<sub>E</sub>X&nbsp;does essentially the
same for its dvi file and the dvi processor later may or may not complain
about not understanding it; but generally it is ignored. However if you try
to define a macro like
<tt>\def\localhref{\special{html:&lt;a href="#reference"&#62;}}</tt> then T<sub>E</sub>X
will complain as follows:
<pre>
! Illegal parameter number in definition of \localref.
&lt;to be read again&#62; 
                   r
l.3 \def\localref{\special{html:&lt;a href="#r
                                            eference"&#62;}}
?
</pre> This problem is caused by T<sub>E</sub>X's syntax analysis of
the contents of the definition. One solution is to <i>hide</i> the
definition from T<sub>E</sub>X&nbsp;using <tt>%%tth:</tt>. An alternative definition
that avoids this problem must also be included for T<sub>E</sub>X's benefit, for
example thus:
<pre>
\def\tthdump#1{#1}
\tthdump{\edef\localref{[a hyperreference]}}
%%tth:\def\localhref{\special{html:&lt;a href="#reference"&#62;}}

</pre>
Alternatively, use <tt>\#</tt> in place of <tt>#</tt> in the hypertex
reference. T<sub>T</sub>H&nbsp;specifically recognizes this as a literal and does
appropriate translation. For example

<pre>
\def\localhref#1#2{\special{html:&lt;a href="\##1"&#62;}#2\special{html:&lt;/a&#62;}}

</pre>
will use its first parameter as a local anchor reference, preceded by <tt>#</tt>,
and its second as the text of the anchor. The sequences <tt>\%</tt> and
<tt>\leavevmode\\</tt> are also treated as escaped literals, inserting their second
character, inside a raw html section.

<p>
<a name="URLB0">
</a>
<b>How do I construct a macro to take as a single
argument a URL, which may contain special T<sub>E</sub>X&nbsp;characters like&nbsp;&nbsp;</b> 
<tt>_ ~ @ &amp;</tt> 
<b>etc, that makes T<sub>T</sub>H&nbsp;construct a hyperreference but T<sub>E</sub>X&nbsp;just enter it in the
text?</b><br />Use the built-in command <tt>\url{...}</tt>. This behaves in
essentially the same way as the command defined in L<sup>A</sup>T<sub>E</sub>X's
url.sty. The reference will appear verbatim in the text (in teletype
font).

<p>
<a name="WinNTB0">
</a>
<b>T<sub>T</sub>H&nbsp;seems not to work on WinNT when converting
included PostScript files, even though my ps2gif program works fine
from the command line. What is the problem?&nbsp;&nbsp;</b><br />
The problem is not T<sub>T</sub>H. It appears to be an operating system
problem. The batch program ps2gif is breaking for some strange reason
when called from T<sub>T</sub>H. See footnote <a href="#ps2gifprob">5</a>.

<p>
<a name="headbody">
</a><a name="headB0">
</a><a name="bodyB0">
</a>
<b>Why doesn't T<sub>T</sub>H&nbsp;automatically generate&nbsp;&nbsp;</b> <tt>&lt;head&#62;</tt>
and <tt>&lt;body&#62;</tt> <b>HTML tags?</b><br />
 First, the <tt>&lt;head&#62;</tt> and
<tt>&lt;body&#62;</tt> tags are <em>optional</em> in the HTML specification. There is
no need for T<sub>T</sub>H&nbsp;to generate them to statisfy the standard. Second, T<sub>E</sub>X
and L<sup>A</sup>T<sub>E</sub>X&nbsp;files do not have a corresponding structural division into
separate head and body sections. It might seem as if L<sup>A</sup>T<sub>E</sub>X&nbsp;does, with
<tt>\begin{document}</tt>  being the divider, but there are many cases
where this mapping is incorrect. For example title may not be defined
until after <tt>\begin{document}</tt>, corresponding to the HTML body
section, whereas it must be in the head section. Finally, if T<sub>T</sub>H
automatically entered <tt>&lt;head&#62;</tt> and <tt>&lt;body&#62;</tt> tags, then the
thoughtful author would not be able to enter them where they ought to
be by using, for example:<br />
<tt>%%tth: \begin{html} &lt;head&#62; \end{html}</tt><br />
Therefore, the choice <em>not</em> to produce these tags automatically
is a deliberate one based on a careful consideration of the advantages
and disadvantages. An author can always adjust their T<sub>E</sub>X&nbsp;code to
include them, if they wish to be pedantic about the division. See also
the section on HTML style [<a href="#htmlstyle">11.2</a>].

<p>
<a name="title+TeX commands not expanded inB0">
</a>
<b>Why don't T<sub>E</sub>X&nbsp;commands get expanded in the HTML title?&nbsp;&nbsp;</b><br />
In HTML, the stuff that goes in the <tt>&lt;title&#62;...&lt;/title&#62;</tt> of a
page is not permitted by the specification to contain HTML tags -
things in angle brackets - and tags are not interpreted. If an
equation or some other command that T<sub>T</sub>H&nbsp;translates
into HTML formatting is in the title, then the title will break when
expanded. Therefore T<sub>T</sub>H&nbsp;never expands commands in the title, but
leaves them in the T<sub>E</sub>X&nbsp;form that they started as, since that is
about as easy to read as any unformatted mathematics.

<p>
<a name="bibtexB0">
</a>
<b>Can T<sub>T</sub>H&nbsp;be made to support BibT<sub>E</sub>X&nbsp;bibliographies?&nbsp;&nbsp;</b><br />
It already does; see <a href="#bibtex">6.2</a>. If T<sub>T</sub>H&nbsp;is not finding the .bbl file
even though you used the -L switch, then you probably forgot to
generate it using L<sup>A</sup>T<sub>E</sub>X&nbsp;<em>and</em> BibT<sub>E</sub>X, or perhaps it is in the
wrong place.

<p>
<a name="supportB0">
</a>
<b>Does T<sub>T</sub>H&nbsp;support ...?&nbsp;&nbsp;</b><br />Probably yes if it is part
of L<sup>A</sup>T<sub>E</sub>X. But if you want a specific additional capability, and find
that it is not supported, why not write a TeX macro to support it and
translate it into suitable HTML using the functions described in this
manual. Then you will have your support and if you send it to 
<a href="mailto:tth@hutchinson.belmont.ma.us">tth@hutchinson.belmont.ma.us</a> 
it may be possible to include it into the standard T<sub>T</sub>H&nbsp;executable and
you'll have helped all the other users of T<sub>T</sub>H.

<p>
<a name="tth_sEcindex"></a>

<h2> Index (showing section)</h2>

<dl compact="compact">
	<dd> &amp;times;</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; Mac browser bug, <a href="#\&times;+Mac browser bug127">12-7</a></dd>

	<dd> L<sup>A</sup>T<sub>E</sub>X&nbsp;extension packages, 
		<a href="#\LaTeX\ extension packagesB0">B-0</a></dd>

	<dd> T<sub>E</sub>X-only code, <a href="#\TeX-only codeB0">B-0</a></dd>

	<dd> T<sub>T</sub>H-only code, <a href="#\TtH-only codeB0">B-0</a><br /></dd>

	<dd> auxiliary files, <a href="#auxiliary files61">6-1</a><br /></dd>

	<dd> BibT<sub>E</sub>X, <a href="#Bib\TeX 62">6-2</a></dd>

	<dd> bibtex, <a href="#bibtexB0">B-0</a></dd>

	<dd> <tt>&lt;body&#62;</tt>, <a href="#bodyB0">B-0</a></dd>

	<dd> bugs, <a href="#bugs130">13-0</a><br /></dd>

	<dd> calligraphic, <a href="#calligraphicB0">B-0</a></dd>

	<dd> CGI script, <a href="#CGI script30">3-0</a></dd>

	<dd> charcodes, <a href="#charcodes91">9-1</a></dd>

	<dd> color, <a href="#color100">10-0</a></dd>

	<dd> colordvi, <a href="#colordvi100">10-0</a></dd>

	<dd> commands</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; L<sup>A</sup>T<sub>E</sub>X&nbsp;supported, 
		<a href="#commands+\LaTeX\ supported12">1-2</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; alternative files, 
		<a href="#commands+alternative files92">9-2</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; handling unsupported, 
		<a href="#commands+handling unsupported14">1-4</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; redefining, <a href="#commands+redefining94">9-4</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; renaming, <a href="#commands+renaming94">9-4</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; unknown, <a href="#commands+unknown93">9-3</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; unsupported, <a href="#commands+unsupported14">1-4</a></dd>

	<dd> compile, <a href="#compile20">2-0</a></dd>

	<dd> Composer, <a href="#ComposerB0">B-0</a></dd>

	<dd> conditionals, <i>see</i> \<tt>if</tt></dd>

	<dd> CSS, <a href="#CSS128">12-8</a><br /></dd>

	<dd> dagger, <a href="#daggerB0">B-0</a></dd>

	<dd> definitions</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; delimited, <a href="#definitions+delimited91">9-1</a></dd>

	<dd> double-quotes, <a href="#double-quotesB0">B-0</a><br /></dd>

	<dd> environment</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; not recognized, <a href="#environment+not recognizedB0">B-0</a></dd>

	<dd> environments, <a href="#environments12">1-2</a></dd>

	<dd> equations</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; textstyle, <i>see</i> in-line equations, overaccents</dd>

	<dd> Error, <a href="#Error40">4-0</a></dd>

	<dd> extensions to L<sup>A</sup>T<sub>E</sub>X, <a href="#extensions to \LaTeX B0">B-0</a><br /></dd>

	<dd> fbox, <a href="#fboxB0">B-0</a></dd>

	<dd> file not found, <a href="#file not foundB0">B-0</a></dd>

	<dd> FILES, <a href="#FILESB0">B-0</a></dd>

	<dd> flex, <a href="#flex20">2-0</a></dd>

	<dd> font</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; <tt>face="symbol"</tt>, <a href="#font+face51">5-1</a></dd>

	<dd> fonts, <a href="#fonts11">1-1</a></dd>

	<dd> footnotes, <a href="#footnotes94">9-4</a></dd>

	<dd> frac command</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; see switch -L, <a href="#frac command+see switch -LB0">B-0</a><br /></dd>

	<dd> gif, <a href="#gif64">6-4</a></dd>

	<dd> graphics files, <a href="#graphics files64">6-4</a><br /></dd>

	<dd> hash sign, <a href="#hash signB0">B-0</a></dd>

	<dd> <tt>&lt;head&#62;</tt>, <a href="#headB0">B-0</a></dd>

	<dd> <tt>\headline</tt>, <a href="#headline11">1-1</a></dd>

	<dd> HTML</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; 3.2, <a href="#HTML+3.251">5-1</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; 4.0, <a href="#HTML+4.051">5-1</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; insertion, <a href="#HTML+insertion13">1-3</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; tags, <a href="#HTML+tagsB0">B-0</a><br /></dd>

	<dd> icons, <a href="#icons64">6-4</a></dd>

	<dd> <tt>\if</tt>, <a href="#if11">1-1</a>, <a href="#if91">9-1</a></dd>

	<dd> iftth, <a href="#iftthB0">B-0</a></dd>

	<dd> in-line equations</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; arrays, <a href="#in-line equations+arrays52">5-2</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; built-up display, 
		<a href="#in-line equations+built-up display52">5-2</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; fractions, <a href="#in-line equations+fractions52">5-2</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; overaccents, <a href="#in-line equations+overaccents52">5-2</a></dd>

	<dd> <tt>\includegraphics</tt>, <a href="#includegraphics64">6-4</a></dd>

	<dd> indexing, <a href="#indexing63">6-3</a></dd>

	<dd> <tt>\input</tt></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; ``file not found'' error, <a href="#inputB0">B-0</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; TEXINPUTS, <a href="#input92">9-2</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; TTHINPUTS, <a href="#input92">9-2</a></dd>

	<dd> italic</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; equation style, <a href="#italic+equation style51">5-1</a><br /></dd>

	<dd> jpeg, <a href="#jpeg64">6-4</a><br /></dd>

	<dd> LaTeX2HTML</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; differences, <a href="#LaTeX2HTML+differences51">5-1</a>, 
		<a href="#LaTeX2HTML+differences61">6-1</a></dd>

	<dd> license, <a href="#license140">14-0</a></dd>

	<dd> limitations, <a href="#limitations52">5-2</a></dd>

	<dd> line-ends, <a href="#line-endsB0">B-0</a></dd>

	<dd> longtable, <a href="#longtable73">7-3</a><br /></dd>

	<dd> Mac browsers, <a href="#Mac browsers121">12-1</a></dd>

	<dd> macro files, <a href="#macro files92">9-2</a></dd>

	<dd> macros</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; alternate, <a href="#macros+alternate92">9-2</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; special use, <a href="#macros+special useA0">A-0</a></dd>

	<dd> makeindex, <a href="#makeindex63">6-3</a></dd>

	<dd> mathematics, <a href="#mathematics11">1-1</a></dd>

	<dd> messages, <a href="#messages40">4-0</a></dd>

	<dd> Mozilla, <a href="#Mozilla124">12-4</a><br /></dd>

	<dd> Netscape Composer, <a href="#Netscape Composer122">12-2</a><br /></dd>

	<dd> picture environment, <a href="#picture environment65">6-5</a></dd>

	<dd> portability, <a href="#portability61">6-1</a></dd>

	<dd> postscript, <a href="#postscript64">6-4</a></dd>

	<dd> printing, <a href="#printing126">12-6</a></dd>

	<dd> ps2gif, <a href="#ps2gif64">6-4</a></dd>

	<dd> ps2png, <a href="#ps2png64">6-4</a></dd>

	<dd> publish</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; through composer disallowed, 
		<a href="#publish+through composer disallowed122">12-2</a><br /></dd>

	<dd> references</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; forward, <a href="#references+forward61">6-1</a></dd>

	<dd> <tt>\rm</tt>, <a href="#roman11">1-1</a><br /></dd>

	<dd> skip space and dimension commands, 
		<a href="#skip space and dimension commandsB0">B-0</a></dd>

	<dd> spacing, <a href="#spacing51">5-1</a></dd>

	<dd> square root, <a href="#square rootB0">B-0</a></dd>

	<dd> stderr, <a href="#stderr30">3-0</a></dd>

	<dd> stdin, <a href="#stdin30">3-0</a></dd>

	<dd> stdout, <a href="#stdout30">3-0</a></dd>

	<dd> style sheets, <a href="#style sheets128">12-8</a></dd>

	<dd> styles, <a href="#stylesB0">B-0</a></dd>

	<dd> support, <a href="#supportB0">B-0</a></dd>

	<dd> switches</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; -L, <a href="#switches+-L30">3-0</a>, <a href="#switches+-L61">6-1</a>, 
		<a href="#switches+-LB0">B-0</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; T<sub>T</sub>H, <a href="#switches+\TtH 30">3-0</a></dd>

	<dd> symbols, <a href="#symbols123">12-3</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; Mozilla can't access, 
		<a href="#symbols+Mozilla can't access124">12-4</a><br /></dd>

	<dd> Table of Contents</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; Index entry, <a href="#Table of Contents+Index entry63">6-3</a></dd>

	<dd> tables</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; bordered cells filled in, 
		<a href="#tables+bordered cells filled inB0">B-0</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; overwriting bug, <a href="#tables+overwriting bug127">12-7</a></dd>

	<dd> texinputs path, <a href="#texinputs path92">9-2</a></dd>

	<dd> title</dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; HTML construction, 
		<a href="#title+HTML construction111">11-1</a></dd>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; TeX commands not expanded in, 
		<a href="#title+TeX commands not expanded inB0">B-0</a><br /></dd>

	<dd> unknown commands, <i>see</i> commands, unknown</dd>

	<dd> URL, <a href="#URLB0">B-0</a></dd>

	<dd> <tt>\usepackage</tt>, <a href="#usepackageB0">B-0</a><br /></dd>

	<dd> vertical alignment, <a href="#vertical alignment127">12-7</a><br /></dd>

	<dd> warning, <a href="#warning40">4-0</a></dd>

	<dd> WinNT, <a href="#WinNTB0">B-0</a><br /></dd>

	<dd> X fonts, <a href="#X fonts123">12-3</a></dd>
</dl>

<p>
<hr /><h3>Footnotes:</h3>

<p>
<a name="tthFtNtAAB"></a><a href="#tthFrefAAB"><sup>1</sup></a>The problem with <tt>\rm</tt> in text is
that HTML has no  &lt; <tt>rm</tt> &gt;  tag, and relies on cancelling all previous
(e.g.)   &lt; <tt>i</tt> &gt;  or  &lt; <tt>b</tt> &gt;  tags. T<sub>T</sub>Hgold&nbsp;has a style switch -y that
uses Cascading Style Sheets to solve this problem. However not all
older browsers support CSS. The best solution is to avoid <tt>\rm</tt> by
using proper grouping of non-roman text. (In equations <tt>\rm</tt>
is essential, but T<sub>T</sub>H&nbsp;has a work-around in equations.)
<p>
<a name="tthFtNtAAC"></a><a href="#tthFrefAAC"><sup>2</sup></a>Conditionals \<tt>if</tt>
 and \<tt>ifx</tt> are not 100% T<sub>E</sub>X&nbsp;compatible for cases
where they refer to internal T<sub>E</sub>X&nbsp;commands because T<sub>T</sub>H&nbsp;internals are
not identical. Catcodes are also unknown to T<sub>T</sub>H.
<p>
<a name="tthFtNtAAD"></a><a href="#tthFrefAAD"><sup>3</sup></a>See appendix for T<sub>E</sub>X&nbsp;macros supporting these commands
<p>
<a name="tthFtNtAAE"></a><a href="#tthFrefAAE"><sup>4</sup></a>The PNG graphics file format is an improved
replacement for the GIF standard. Netscape has built in rendering for
PNG. The GIF standard is plagued with legal problems related to a
ridiculous patent on the type of file compression it uses.
<p>
<a name="tthFtNtAAF"></a><a href="#tthFrefAAF"><sup>5</sup></a>May 1999 reports indicate that there is a
batch program in circulation bearing the comment ``:#batchified by
cschenk@snafu.de'' that tries to implement the functionality of ps2gif
and gives errors on WinNT when called by T<sub>T</sub>H&nbsp;but not when called from
the command line. This problem appears to be related to memory
management or other some operating system inadequacy. It would do
everyone running on Wind*ws systems a favor if someone could figure
out what the problem is and let me know at
<a href="mailto:tth@hutchinson.belmont.ma.us">tth@hutchinson.belmont.ma.us</a>.
Meanwhile, it is reported that removing the pnmmargin command from the
ps2gif batch file enables it to run. A Sep 99 report notes that on
Win98 the pnmmargin command appears not to be available on the system.
Remember, ps2gif is the user's
responsibility.
<p>
<a name="tthFtNtAAG"></a><a href="#tthFrefAAG"><sup>6</sup></a>The alignment argument of the
math array environment was ignored in T<sub>T</sub>H&nbsp;versions earlier than 2.20
but is now honored.
<p>
<a name="tthFtNtAAH"></a><a href="#tthFrefAAH"><sup>7</sup></a>See the file colordvi.tex for a list of
the named colors.
<p>
<a name="tthFtNtAAI"></a><a href="#tthFrefAAI"><sup>8</sup></a>Actually there are resource
files that define various aspects of the encoding but they
don't seem to make the font accessible.
<p>
<a name="tthFtNtAAJ"></a><a href="#tthFrefAAJ"><sup>9</sup></a>Making the symbol font available in this
way breaks the MathML rendering for MathML enabled builds unless one
reverses the order of Symbol and Times in two font-family lists found
in the mozilla file res/mathml.css.
<br /><br /><hr /><small>File translated from
T<sub><font size="-1">E</font></sub>X
by <a href="http://hutchinson.belmont.ma.us/tth/">
T<sub><font size="-1">T</font></sub>Hgold</a>,
version 2.84.<br />On 10 Jan 2001, 22:56.</small>
</html>