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
|
% teTeX main documentation file. Thomas Esser, 1999, 2003. public domain.
\documentclass[11pt,a4paper]{article}
% \usepackage[13,14,15]{pagesel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
% \usepackage{pslatex}
\usepackage{lmodern}
\usepackage{palatcm}
\usepackage{ifpdf}
\usepackage{geometry,mflogo,xspace,texnames,path,booktabs,bm}
\newcommand{\psext}{ps}
\newcommand{\pdfext}{pdf}
\newcommand{\dviext}{dvi}
\ifpdf
\usepackage[bookmarksopen=true, hypertexnames=false, linktocpage, pdfpagelabels, colorlinks, bookmarks]{hyperref}
\hypersetup{
pdfauthor={Thomas Esser},
pdftitle={The teTeX Manual}
}
\usepackage{thumbpdf}
\let\docext=\pdfext
\else
\let\docext=\dviext
\usepackage[bookmarks,hypertex]{hyperref}
\fi
\newcommand{\dlink}[3]{%
\ifpdf
\ifx\pdfext#3
\href{#1/#2.#3}{\texttt{texdoc #2}}%
\else
\texttt{texdoc #2}%
\fi
\else
\href{#1/#2.#3}{\mbox{\texttt{texdoc #2}}}%
\fi}
\newcommand{\teTeX}{\textrm{te}\TeX\xspace}
\newcommand{\Linux}{\textrm{Linu}\textsf{X}\xspace}
% \newcommand{\MF}{\textlogo{Metafont}\xspace}
\newcommand{\smiley}{\texttt{ :-)}\xspace}
\title{\teTeX{} Manual}
\author{\href{mailto:te@dbs.uni-hannover.de}{Thomas Esser}}
\date{January 2005}
% \geometry{scale={0.637,0.637}, top=0.121\paperheight, nohead}
\usepackage{typearea}
\begin{document}
\maketitle
\begin{abstract}
\teTeX{} is a distribution of \TeX{} and related programs: pdf\TeX,
e-\TeX, Omega, Aleph, \LaTeX, Con\TeX{}t, \MF, \MP{}, \texttt{dvips},
\texttt{xdvi}, \texttt{dvipdfm}, \texttt{dvipng}, \BibTeX{},
\texttt{makeindex} etc.
\teTeX{} aims to make using and maintaining a \TeX{}
system as easy as possible. The programs are built around the
\href{http://tug.org/web2c/}{Web2c} distribution by Karl Berry and Olaf
Weber. A common part of many programs is \texttt{kpathsea}, a library
that provides efficient access by name to files stored hierarchically.
This document describes how to use and set up the \teTeX{} system.
It does not attempt to be a comprehensive guide, instead it tries to
give an overview about what software and documentation is contained
in the distribution.
\end{abstract}
\newpage
\tableofcontents
\newpage
\section{The Components of \teTeX}\label{sec:components}
This document cannot describe all the programs which are part of
\teTeX{} in detail, but it tries to give you an overview. This section
describes the packages which form the main components of \teTeX{}.
\subsection{Web2c}
\href{http://tug.org/web2c/}{Web2c} is a \TeX{} implementation,
originally for Unix, but also running under Windows, Macintosh,
DOS, Amiga, and other operating systems. It includes \TeX{} itself and
the following programs:
\begin{itemize}
\item \MF: a font compiler intended to produce typefaces of high
quality~\cite{Knuth:1984:M}.
\item \MP: a program similar to \MF, modified to output Postscript
code instead of bitmaps. Documentation for \MP{} is available via
the command:
\dlink{../../../texmf-dist/doc/metapost/base}{mpman}{\psext}.
\item \BibTeX: a preprocessor to make bibliographies for \LaTeX. For
documentation, see
\dlink{../../../texmf-dist/doc/bibtex/base}{btxdoc}{\dviext} and
Appendix~B of \cite{Lamport:1994:LDP}.
\item utilities for converting between different font metric and
bitmap formats: \texttt{gftopk}, \texttt{gftodvi}, \texttt{gftype},
\texttt{pktogf}, \texttt{pktype}, \texttt{pltotf}, \texttt{tftopl},
\texttt{vftovp}, \texttt{vptovf}.
\item DVI utilities: \texttt{dvicopy, dvitomp, dvitype}.
\item other tools: \texttt{patgen}, \texttt{pooltype},
\texttt{tangle}, \texttt{weave}, \texttt{ctangle}, \texttt{cweave}.
\end{itemize}
The main documentation for \href{http://tug.org/web2c/}{Web2c} is the
``Web2c manual'' and the ``kpathsea manual''. These can be accessed
via \dlink{../../../texmf-dist/doc/programs}{web2c}{\docext} and
\dlink{../../../texmf-dist/doc/programs}{kpathsea}{\docext}
respectively.
\subsection{\TeX{} extensions: pdf\TeX, e-\TeX{}, Omega, Aleph, enc\TeX}
Besides the standard \TeX{} program, the
following extensions to \TeX{} are included in \teTeX:
\begin{description}
\item [pdf\TeX] This can optionally write Acrobat PDF format instead
of DVI. The user manual can be accessed by the command
\dlink{../../../texmf-dist/doc/pdftex/manual}{pdftex-a}{\pdfext}.
The \LaTeX{} hyperref package
(\dlink{../../../texmf-dist/doc/latex/hyperref}{manual}{\pdfext})
has an option ``pdftex'', which turns on all the program features.
In DVI mode, pdf\TeX{} works like the usual \TeX{} with the
exception of the availability of additional typographic features.
In PDF mode, pdf\TeX{} supports graphics inclusion for the following
graphic formats:
\begin{itemize}
\item PNG (portable network graphics)
\item PDF (portable document format),
\item JPG (jpeg)
\item MPS (metapost output)
\end{itemize}
It does not support EPS (encapsulated postscript), but if you have
recent versions of \texttt{ghostscript} (version 5.10 or later) and
\texttt{perl} (version 5 or later) installed, you can use the tool
\texttt{epstopdf} to convert EPS graphics into PDF. When including a
PDF file, pdf\TeX{} is able to access parts of a multi-page file: a
complete page or a clipped part of a page. This feature extends
pdf\TeX{} beyond its typesetting capabilities into a versatile tool
for handling arbitrary generated PDF files.
\item [e-\TeX] adds a small but powerful set of new primitives, and an
extension for right to left typesetting. In default mode, e-\TeX{}
is 100\,\% compatible with ordinary \TeX. See
\dlink{../../../texmf-dist/doc/etex/base}{etex-man}{\docext} for details.
\item [Omega ($\bm \Omega$)] Omega works internally with 16-bit
Unicode characters; this allows it to work directly with
almost all the world's scripts simultaneously. It also supports
dynamically loaded ``$\Omega$ Translation Processes'' (OTPs), which
allow the user to define complex transformations to be performed on
arbitrary streams of input. Documentation:
\dlink{../../../texmf-dist/doc/omega/base}{doc-1.12}{ps}.
\item [Aleph] is a \TeX{} engine that combines the good features of
e\TeX{} and Omega. The \LaTeX{} based format of Aleph is called
Lamed.
\end{description}
\subsection{DVI drivers: dvips, dvilj, xdvi, dvipdfm, dvipng}
For printing and previewing DVI files, you need to use one of the DVI
drivers that are available:
\begin{description}
\item [dvips] This driver converts DVI files into Postscript.
Postscript is a page description language that many laser printers
directly support. With the help of the utility \texttt{ghostscript},
it is possible to view Postscript documents on screen and to print
Postscript documents on non-Postscript printers. This version of
\texttt{dvips} supports hypertex and partial font downloading. In
this release, the search path for config files have been changed:
the current directory is no longer searched by default.
Additionally, secure mode has been turned on by default. For
details, consult the documentation:
\dlink{../../../texmf-dist/doc/programs}{dvips}{\dviext}.
\item [dvilj] This is a family of drivers to support HP LaserJet (and
compatible) printers: \texttt{dvilj, dvilj2p, dvilj4, dvilj4l,
dvilj6}. These drivers are faster than the \texttt{dvips} +
\texttt{ghostscript} alternative (which can also be used to print
DVI files on HP LaserJet printers), but they lack a few features
like support for virtual fonts, rotated or scaled graphics, etc.
\item [xdvi] This is a previewer for DVI files under the X~Window
System. It has support for Postscript specials through Display
Postscript, NeWS and \texttt{ghostscript}. Hypertex support was also
added for this version of \texttt{xdvi}. A link can be followed by
clicking with Button-1 or Button-2 (open link in a new window) on
it. With the help of source specials, xdvi can interact with most
editors in some way. For details, visit the
\href{http://xdvi.sourceforge.net/inverse-search.html}{project
page}.
\item [dvipdfm] This program can convert dvi files into pdf format,
while supporting a rich set of features (via TeX's
\textbackslash special scheme): hyperlinks, bookmarks, thumbnails,
image inclusion etc. For details consult the documentation
\dlink{../../../texmf-dist/doc/programs}{dvipdfm}{\docext} and the
\href{http://gaspra.kettering.edu/dvipdfm/}{web page}.
\item [dvipng] makes PNG and/or GIF graphics from DVI files as obtained
from TeX and its relatives. For details, consult the documentation:
\dlink{../../../texmf-dist/doc/programs}{dvipng}{\docext}.
\end{description}
\subsection{Makeindex}
\texttt{makeindex} is a general purpose hierarchical index generator;
it accepts one or more input files (often produced by a text formatter
such as \TeX{} or \texttt{troff}), sorts the entries, and produces an
output file which can be formatted. The formats of the input and
output files are specified in a style file; by default, input is
assumed to be an \texttt{idx} file, as generated by \LaTeX.
Documentation: \dlink{../../../texmf-dist/doc/makeindex}{makeindex}{\dviext}
\subsection{Texinfo}
\texttt{texinfo} is a documentation system. It produces online or
printed output from a single source. It uses \TeX{} to typeset
documents for printing (\dlink{../../../texmf-dist/doc/programs}{texinfo}{\dviext}).
\subsection{UNIX Scripts / Tools}
If you are using \teTeX{} under UNIX, you can use the following
scripts. More documentation for a specific tool can either be obtained
from its UNIX manual page or by running the program with the option
\texttt{--help}.
\begin{description}
\item[texdoc] allows you to easily access documentation included with
\teTeX. You only have to remember the file name of the document that
you want to access, without the directory part. If you do not
specify a file name extension (such as \texttt{.dvi})
\texttt{texdoc} will try a few default extensions. After searching
the file, \texttt{texdoc} starts an appropriate viewer. The command
\texttt{texdoc~--help} gives you a list of available command line
options. While \texttt{texdoc} is a fast and efficient tool if you
exactly know what you are searching for, it is of limited use if you
don't know the exact name of the documentation file.
\item [texdoctk] This \texttt{perl/tk} based tool allows you to browse
through the available documentation by some topics and to search for
keywords. It uses a simple database file for its configuration
(named \texttt{texdoctk.dat}), which you can customize and extend
easily.
\item[texconfig] allows you to carry out the most common configuration
tasks in \teTeX. The program can be used in command mode or in
interactive mode. For the interactive mode (which is invoked by
calling \texttt{texconfig} without arguments), a curses based
utility is used for user interaction (menus, check boxes, \ldots).
The command \texttt{texconfig help} shows you a list of available
command line options (command mode).
\verb+texconfig+ can be used to set up \TeX{} format files and their
hyphenation patterns, to set up printers (for \verb+dvips+) and for
a few other things. It manipulates configuration files to store the
configuration changes.
If the use of \verb+texconfig+ causes a change in some configuration
file, \verb+texconfig+ will try to save that file into the texmf
tree that is specified by the \verb+TEXMFCONFIG+ variable. Variable
(cached) runtime data (such as format files generated by
\verb+fmtutil+, map files generated by \verb+updmap+) will be stored
in the texmf tree specified by the \verb+TEXMFVAR+ variable.
\item[updmap] Some tools in \teTeX{} support Postscript Type~1
fonts: \texttt{dvips}, \texttt{pdf\TeX}, \texttt{xdvi},
\texttt{dvipdfm} and \texttt{gsftopk}, \texttt{ps2pk}. The last two
in this list just convert outline fonts into a bitmap format which
is helpful for applications that don't directly support outline
fonts. In an ideal world, all of these programs would share a common
configuration file to set up their outline fonts. The reality is
different, however, and each tool needs its own configuration. The
\texttt{updmap} utility was developed to generate these
configuration files from a central repository. Adding font
definitions for all supported applications from a map file
\texttt{foo.map} can be as easy as %
\verb+updmap --enable Map foo.map+. For details, please consult the
manual page of \texttt{updmap}.
\item[dvired] This script can be used to print documents formatted for
A4 paper 2-up (i.e.\@ two logical pages to one physical page of
paper) by scaling the pages to 70.7\,\% of their original size.
\texttt{dvired} can just be used in the same way as \texttt{dvips}
(same command line options).
\item[dvi2fax] This script converts DVI files into FAX G3 format. It
uses \texttt{ghostscript} (see:
\url{http://www.cs.wisc.edu/~ghost/}) which is not part of \teTeX{}.
The DVI file is first converted to Postscript ($204\times 196$\,dpi
or $204\times 98$\,dpi) and then to FAX G3 using
\texttt{ghostscript} (\texttt{faxg3} device).
\item[allcm, allec, allneeded] \teTeX's DVI drivers generate missing
bitmap fonts on demand (the first time they are needed). If you
start with a fresh installation, you don't have any bitmap fonts and
the delay caused by font generation might be too annoying for you.
In that case, the three scripts \texttt{allcm, allec and allneeded}
can help you. \texttt{allcm} and \texttt{allec} create a few DVI
files (using \LaTeX) which use lots of fonts at various sizes and run
these DVI files through \texttt{dvips}. This triggers the generation
of the most commonly used Computer Modern (\texttt{allcm}) and
European Computer Modern (\texttt{allec}) fonts respectively. You
might already have DVI files and want to generate just the bitmap
fonts needed by these documents. This can be done by the
\texttt{allneeded} script. This script will search a given set of
directories for DVI files and run them through \texttt{dvips}. All
these scripts just trigger font generation. \LaTeX{} and DVI files
generated by \texttt{allcm}/\texttt{allec} are removed when the
program terminates. Postscript output that is generated by
\texttt{dvips} is sent to \texttt{/dev/null}.
These programs accept the command line option ``\texttt{-r}'' (must
be the first option) to generate files for the magnification $707 /
1000$ which is used by \texttt{dvired}. \texttt{allneeded} passes
options which correspond to existing file or directory names to
\texttt{find} (for locating DVI files). All other options given to
any of these three utilities are passed to \texttt{dvips}. So, by
passing \texttt{-D \textit{NNN} -mfmode \textit{some-mode}} or
\texttt{-P \textit{some-printer}}, you can generate fonts for a
specific resolution (\texttt{\textit{NNN}}) and mode
(\texttt{\textit{some-mode}}) or for a specific printer
(\texttt{\textit{printer}}).
\end{description}
\section{Concepts and configuration}
\subsection{The \TeX{} Directory Structure (TDS)}
\teTeX{}'s support tree with fonts, macros, documentation and other
files (from now on called the ``texmf tree'') follows a certain
structure: the \TeX{} Directory Structure (TDS). This is a standard
developed by a \TeX{} Working Group of TUG. The TDS is defined in a
way so that can be used by different implementations of \TeX{} on
different platforms. Today, several \TeX{} distributions follow this
standard: \teTeX, \TeX{} Live, fp\TeX{} and miktex, only to mention
some. You need to understand this structure if you want to build your
own texmf tree (e.g.,\@ with all your local additions) or add files
into an existing texmf tree. The list of all texmf trees (optionally
using some notation called ``brace expansion'' and \verb+!!+
modifiers; the kpathsea manual
explains this in detail) can be obtained by:\\
\null\qquad\verb+kpsewhich -expand-var='$TEXMF'+ %$
\def\replaceable#1{{\rmfamily $\langle$\textit{#1}$\rangle$}}
Table
\ref{tab:tds} gives a short overview of the TDS. It shows the proper
location inside the TDS tree for several kind of files. The complete
documentation for TDS can be accessed by
\dlink{../../../texmf-dist/doc/help}{tds}{\dviext}. If you want to see some examples, just
look at the main texmf tree of \teTeX. It has several thousand
files.\bigskip
\begin{table}[htbp]
\centering
\begin{tabular}{cl}
\toprule
\TeX{} macros & tex/\replaceable{format}/\replaceable{package}/\\
font files &
fonts/\replaceable{type}/\replaceable{supplier}/\replaceable{typeface}/ \\
\MF{} files & metafont/\replaceable{package}/ \\
documentation & doc/\replaceable{package}/ \\
sources & source/\replaceable{package}/\\
\BibTeX{} files & bibtex/\{bst,bib\}/\replaceable{package}/\\
\bottomrule
\end{tabular}
\caption{TDS: an overview}
\label{tab:tds}
\end{table}
The replaceable parts in this table mean:
\begin{description}
\item[\replaceable{format}] The name of the \TeX{} format, e.g.,\@
\texttt{latex} or \texttt{amstex}.
\item[\replaceable{package}] The name of the package to which the file
belongs, e.g.,\@ \texttt{babel} or \texttt{seminar}.
\item[\replaceable{type}] The name of the type of a font file, e.g.,\@
\texttt{pk} (packed bitmap), \texttt{tfm} (tex font metric),
\texttt{afm} (adobe font metric), \texttt{vf} (virtual font),
or \texttt{source} (\MF{} source).
\item[\replaceable{supplier}] The name of the font supplier (to whom
the font file belongs), e.g.,\@ \texttt{adobe} or \texttt{urw}.
\item[\replaceable{typeface}] The name of the typeface name (for this
font file), e.g.,\@ \texttt{times} or \texttt{cm} (for Computer
Modern).
\end{description}
It is important to know that the default search paths in \teTeX{} rely
on this directory structure. So, if you add a file to the wrong
directory tree, e.g.,\@ a TeX macro somewhere in the \texttt{fonts}
subtree, that file will not be found correctly.
\subsection{Overview of the predefined texmf trees}
As described in the previous section, each texmf tree follows a well
defined directory structure. This section lists all predefined texmf
trees and their intended purpose. The command \verb+texconfig conf+
shows you the values of the variables below, so that you can easily
find out how they map to directory names in your installation.
\begin{description}
\item [TEXMFCONFIG] The tree specified by this variable will be used
by te\TeX's utilities \verb+texconfig+, \verb+updmap+ and \verb+fmtutil+
to store modified configuration data.
\item [TEXMFVAR] The tree specified by this variable will by used by
the utilities \verb+texconfig+, \verb+updmap+ and \verb+fmtutil+ to
store (cached) runtime data such as format files and generated map
files.
\item [TEXMFHOME] The expansion of this variable typically depends on \verb+$HOME+, % $
so this dynamically adjusts for each user to an individual
directory. The idea is to allow users to store their own versions of
macros, fonts etc. in this tree.
\item [TEXMFSYSCONFIG] The tree specified by this variable will be
used by the utilities \verb+texconfig-sys+, \verb+updmap-sys+
and \verb+fmtutil-sys+ to store modified configuration data.
\item [TEXMSYSFVAR] The tree specified by this variable will by used
by \verb+texconfig-sys+, \verb+updmap-sys+ and \verb+fmtutil-sys+ to
store (cached) runtime data such as format files and generated map
files.
\item [TEXMFMAIN] This variable specifies the texmf tree where some
vital parts of the system are installed, such as helper scripts
(e.g. \verb+web2c/mktexdir+), pool files and other support files.
\item [TEXMFLOCAL] This variable names a directory tree which should
be used for system-wide installation of additional or updated macro
packages, fonts etc.
\item [TEXMFDIST] This variable names the directory tree which holds
the macros, fonts etc. as originally distributed.
\end{description}
\subsection{The file name database (ls-R)}
texmf trees can get very large and to speed up searching in such a
tree, a file name database is used. A file name database exists in the
root of each texmf tree and has the name \verb+ls-R+. It should list
each file in the texmf tree. The command \verb+texhash+ can be used to
build an up-to-date file name database for each texmf tree. It should
be used after files have been added to a texmf tree. However, you
don't need to run \verb+texhash+ for files added by the automatic font
generation or the \texttt{texconfig} utility.
\subsection{Runtime configuration (texmf.cnf file)}
\label{ss:texmfcnf}
Search paths and other definitions (e.g.,\@ the static sizes of some
arrays in \TeX{} or other programs) can be set up in configuration
files named \texttt{texmf.cnf}. By changing the definitions in these
configuration files (\teTeX's main \texttt{texmf.cnf} is
\path|web2c/texmf.cnf| in the main texmf tree), the behavior of
programs can be changed without recompiling them. Chapters 3 and 4 of
the kpathsea manual (\dlink{../../../texmf-dist/doc/programs}{kpathsea}{\docext}) describe
the path searching configuration in detail. Section 2.5 of the Web2c
manual (\dlink{../../../texmf-dist/doc/programs}{web2c}{\docext}) describes some
interesting runtime parameters that you might want to change.
Some changes to the array sizes require you to rebuild the dump files
that the program uses. Run the command \verb+texconfig init+ to
rebuild all dump files after you have changed one of the array sizes.
This implementation of \TeX{} can read and write files (as can every
implementation of \TeX) and it can also call external commands (via
the \verb+\write18+ stream). Some variables in the \verb+texmf.cnf+
file control access to these features. The possibility to call
external commands can be turned on or off (default is off). Access to
file beginning ``\verb+.+'' is disallowed in restricted mode (default
for reading files). In paranoid mode, file access is even more
restricted and you cannot access files outside the current directory
tree (default for writing files). If the first line of a document starts with \verb+%&+,
it can be used to pass the name of the format file and/or a TCX file.
Parsing the first line, is an extension that can be turned on or off
(default is off) in the \verb+texmf.cnf+ file.
\subsection{Using Postscript type 1 fonts}
For every font you use with \TeX, a TFM (\TeX{} font metric) file is
needed. Type~1 fonts usually do not have the same encoding that is
used by \TeX{}, so additional metrics that do some re-encoding (virtual
font files) are often needed. For a lot of font families, these font
metric files and additional map files that you need (see below) can be
found on CTAN servers in the directory \path|fonts|. If
support for your fonts cannot be found there, you can use the
\verb+fontinst+ utility (documentation:
\dlink{../../../texmf-dist/doc/fontinst/base}{fontinst}{\dviext}) to create these.
Postscript type 1 fonts can be used by \texttt{dvips}, \texttt{dvipdfm}, \texttt{xdvi},
\texttt{gsftopk}, \texttt{ps2pk} and pdf\TeX. All of these programs
require that you set up map files for these fonts. To ease the process
of adding map file entries to the configuration files that are used by
these tools, you should follow the following steps:
\begin{itemize}
\item if your fonts already come with a map file, put that
file into the \path|fonts/map/dvips/misc| directory in the main texmf tree.
\item otherwise, you will need to create a map file yourself,
using the syntax as described in the dvips manual
(\dlink{../../../texmf-dist/doc/programs}{dvips}{\dviext}); make sure to set up these fonts
as ``download fonts'', not as ``built in'' fonts.
\item run the command \verb+texhash+ and then make the map file known
to \verb+updmap+ by running the command %
\verb+updmap --enable Map file.map+ (where %
\verb+file.map+ denotes the filename of your map
file)
\end{itemize}
The programs \verb+gsftopk+ and \verb+ps2pk+ convert Postscript type 1
fonts into bitmap fonts and make these fonts accessible to DVI drivers
that do not directly support Postscript type 1 fonts. This
conversion is automatically invoked by the \verb+mktexpk+
script. That script calls \verb+gsftopk+ by default. If you do not
have installed the \verb+ghostscript+ program (which \verb+gsftopk+
needs), or if you want to use \verb+ps2pk+ for other reasons (e.g.,
because it is usually faster) you just need to define the variable
\verb+ps_to_pk+ to \verb+ps2pk+. This variable can be set in your
environment or in the \verb+mktex.cnf+ file (see below).
\subsection{Configuration files maintained by texconfig}
\label{sec:cfgtexconfig}
The \texttt{texconfig} utility is a user interface for changing the
configuration of the \teTeX{} system. The configuration is stored in
several individual files. This section documents the names of these
files, their location in the texmf tree and their content. This
explains how \texttt{texconfig} works and enables you to manually
configure parameters which are not supported by \texttt{texconfig}.
\begin{itemize}
\item \path|dvips/config/config.ps| stores configuration information for
\texttt{dvips}. The default values are: 600\,dpi resolution; ljfour
\MF{} mode; A4 paper; offset for printing: 0pt,0pt; output goes to
\texttt{lpr} command.
\item \path|tex/generic/config/pdftexconfig.tex| This file sets some
defaults for pdf\TeX{}, e.g.\@ the default paper size. This
information is dumped into format files, so if you modify this file
directly (without using texconfig), you have to rebuild the format
files by using the command \verb+fmtutil --all+.
\item \path|xdvi/XDvi| This file sets some defaults (e.g. media size,
metafont mode) for \verb+xdvi+. It is read via the app-default
mechanism of X11. You can override these app-defaults as usual
(i.e.\@ via a file \verb+~/.Xdefaults+ or with resources managed by
\verb+xrdb+).
\item \path|dvipdfm/config| defines the defaults for \verb+dvipdfm+,
e.g.\@ the default paper size, the command to convert encapsulated
postscript graphics into PDF etc.
\item \path|web2c/mktex.cnf| This file sets the default metafont mode
used for automatically generated bitmap fonts, the resolution which
is used in scripts (e.g. \verb+mktextfm+) and a list of ``features''
used for automatic font generation. The most important ``features''
are described below; for a full list, see section 2.2.9.1 of the
kpathsea manual
(\dlink{../../../texmf-dist/doc/programs}{kpathsea}{\docext}).
\begin{description}
\item [appendonlydir] Set the sticky bit on directories that have to
be created. The sticky bit has the effect that a file in such a
directory can only be removed by the owner of that directory or by
the owner of that file.
\item [varfonts] When this option is enabled, fonts that would
otherwise be written to some texmf tree go below the
\verb+VARTEXFONTS+ directory instead. The default value is in
\path|/var/tmp/texfonts|. The ``Linux File System Standard''
recommends \path|/var/tex/fonts|. The \verb+varfonts+ setting in
\verb+MT_FEATURES+ is overridden by the environment variable
\verb+USE_VARTEXFONTS+: if set to 1, the feature is enabled, and
if set to 0, the feature is disabled.
\item [texmfvar] Force generated files that would go into a system
tree (as defined by \verb+SYSTEXMF+) into \verb+TEXMFVAR+. The
\verb+varfonts+ feature takes precedence if also set. A user can
override this setting in either direction by setting
\verb+USE_TEXMFVAR+ to 1 or 0.
\end{description}
\item \path|web2c/updmap.cfg| controls how \verb+updmap+ generates map
files for all supported tools. Besides some general parameters, all
active map files are listed here.
\item \path|web2c/fmtutil.cnf| This file defines which format files
are built (and how) and which file can be used to customize the
hyphenation patterns that are loaded into these formats. The
programs \verb+fmtutil+ and \verb+texlinks+ (which are automatically
called if the formats are set up via \verb+texconfig+) operate on
this file. \verb+fmtutil+ can be used to create the format files
according to the ``rules'' defined in \verb+fmtutil.cnf+ (for a
brief description, just call \verb+fmtutil --help+). If you define a
new format file, you usually also need a symbolic link with the name
for the format to the appropriate \TeX{} engine (e.g.,
\verb+latex+~$\to$~\verb+pdfetex+). To create these links, just call the
\verb+texlinks+ script.
\item hyphenation setup files as defined in \path|web2c/fmtutil.cnf|:
the third field of the file \path|fmtutil.cnf| defines names of
files which can be edited to customize hyphenation (for the format
which is named in the first field). Since \path|fmtutil.cnf| itself
is a configuration file, the list of files in the third field might
vary. Table~\ref{tab:hyphx} shows the names of the files used in
the default configuration.
\begin{table}[htbp]
\centering
\begin{tabular}{ll}
\toprule
file name & used by format\\
\midrule
\path|tex/context/config/cont-usr.tex| & cont-en\\
\path|tex/generic/config/language.dat| & latex, pdflatex\\
\path|tex/lambda/config/language.dat| & lambda, lamed\\
\path|tex/plain/config/language.def| & etex, pdfetex\\
\bottomrule
\end{tabular}
\caption{files for setting up hyphenation}
\label{tab:hyphx}
\end{table}
Additional files (used by formats that are disabled in the default
configuration) are: \path|platex/config/language.dat| and
\path|mex/config/mexconf.tex|.
\end{itemize}
\subsection{Automatic font generation}
By setting various ``features'' (see \ref{sec:cfgtexconfig}) the
automatic font generation can be customized in many ways. The tool
\verb+texconfig+ offers support in configuring and setting up the
directories where automatically generated fonts end up.
In the default configuration of te\TeX, all automatically generated
fonts end up in the directory tree which is specified by the
\verb+VARTEXFONTS+ variable. The command line mode of \verb+texconfig+
(\emph{not} the interactive mode) allows you to manipulate the path
and the permissions of this directory tree and also adjusts the
``features'' for automatic font generation to match the chosen
directory permissions:
\begin{description}
\item [texconfig font vardir DIR] This changes the path which is
stored in the \verb+VARTEXFONTS+ variable to \verb+DIR+. You must
have write permissions to the main \verb+texmf.cnf+ file, because
the variable is stored there.
\item [texconfig font rw] This makes the \verb+VARTEXFONTS+ directory
(and subtrees \verb+pk+, \verb+tfm+, \verb+source+) world writable
and sets the ``features'' \verb+appendonlydir+ and \verb+varfonts+
in the config file \verb+mktex.cnf+. To change the global
\verb+mktex.cnf+ file (instead of modifying an individual copy), use
\verb+texconfig-sys+ instead of \verb+texconfig+.
\item [texconfig font ro] This makes the \verb+VARTEXFONTS+ directory
(and subtrees \verb+pk+, \verb+tfm+, \verb+source+) writable for the
owner only and sets the ``features'' \verb+texmfvar+ in the config
file \verb+mktex.cnf+. To change the global \verb+mktex.cnf+ file
(instead of modifying an individual copy), use \verb+texconfig-sys+
instead of \verb+texconfig+.
\end{description}
The assumption behind the manipulations of \verb+texconfig+ is that
you set up a world-writable \verb+VARTEXFONTS+ tree if you want all
generated fonts (by all users) to be stored there. If you set the
global \verb+VARTEXFONTS+ tree to read-only, then the \verb+texmfvar+
is activated which results in a user-specific default destination for
automatically generated fonts (\verb+$TEXMFVAR/fonts+). % $
\subsection{TCX files}
TCX (\TeX{} character translation) files help \TeX{} support direct
input of 8-bit international characters if fonts containing those
characters are being used. Specifically, they map an input (keyboard)
character code to the internal \TeX{} character code (a superset of
ASCII).
\teTeX{} has the TCX files \verb+il1-t1.tcx+ and \verb+il2-t1.tcx+
which support ISO Latin 1 and ISO Latin 2, respectively, with
Cork-encoded fonts (a.k.a.: the T1 encoding). TCX files for Czech,
Polish, and Slovak are also provided.
All TCX files that are distributed as part of \teTeX{} can be found in
the web2c subdirectory of the main texmf tree; their file name
extension is \verb+.tcx+.
You can specify a TCX file to be used for a particular \TeX{} run by
specifying the command-line option
\hbox{\texttt{-translate-file=\textsl{tcxfile}}} or (preferably)
specifying it explicitly in the first line of the main document
\hbox{\texttt{\%\& -translate-file=\textsl{tcxfile}}}. Note, however,
that parsing the first line of an input file in an extension that is
disabled by default and has to be turned on via command line switch
(\verb+-parse-first-line+) or in the \verb+texmf.cnf+ file (see
section \ref{ss:texmfcnf}).
When processing a document using a TCX file, you usually must not
use \LaTeX's \verb+inputenc+ package. One exception to this rule are
TCX files that map all characters to their original position such as
\verb+cp8bit.tcx+, \verb+cp227.tcx+ and \verb+natural.tcx+. The purpose
of these TCX files is to manipulate the ``printability'' attribute in
\TeX's internal tables.
\subsection{Creating PDF files}
If you want to create PDF documents with the help of \TeX, there are
at least three different ways to do this
\begin{enumerate}
\item translate your \TeX{} sources directly into PDF by using pdf\TeX.
\item translate DVI files generated by \TeX{} into PDF by using the
\texttt{dvipdfm} program (now included in \teTeX).
\item translate a Postscript file generated by \TeX{} and
\texttt{dvips} into PDF by using Adobe Acrobat or
the \texttt{ps2pdf} utility included in ghostscript.
\end{enumerate}
When using \texttt{ps2pdf}, you should make sure to use at least
version 6.50 of ghostscript. Earlier versions are known to have
serious restrictions on creating PDF output.
No matter which approach you use, there is one common rule when creating
quality PDF files: you should avoid bitmap fonts. They just display
very poorly on screen when used in PDF documents (which is caused by
poor bitmap rendering of Adobe Acrobat Reader in all versions up to 5.x).
Using only the fonts provided by \teTeX, you have more choices for
which fonts to use. The following typeface families are included in
Postscript type~1 format:
\begin{itemize}
\item Computer Modern and the AMS fonts (extended versions with
polish, czech and slovak and russian letters are available, too); a
special extension to Computer Modern providing lots of additional
characters (most, but not exclusively accents) are the Latin Modern
fonts
\item the full set of the 35 basic ``LaserWriter fonts'' (see psnfss
documentation, supporting other fonts are pazo, tx/px fonts)
\item Bitstream Charter
\end{itemize}
The EC fonts are not included in type 1 format in te\TeX. If
you have a \LaTeX{} document that uses EC fonts, you have at
least two ways to get around this problem. The first is to stop
using EC fonts---which can in most cases be done by switching
to the Latin Modern fonts. Usually, the EC fonts are activated by
\verb+\usepackage[T1]{fontenc}+ or \verb+\usepackage{t1enc}+ and you
just have to add \verb+\usepackage{lmodern}+. The second is to use the
CM-SUPER Type~1 fonts, not included in \teTeX, but available on CTAN
servers in the directory \path|fonts/ps-type1/cm-super|. This package is
pretty huge, but it contains all EC fonts in outline format and much more.
If the Latin Modern solution works for you, this is the recommended
one for the following reasons:
\begin{itemize}
\item quality: the Latin Modern fonts have been created by using a
better technology and they have been carefully hand-optimized
(hinting, kerning, accent positioning etc.)
\item the Latin Modern fonts are already included in te\TeX
\item the resulting files are usually much smaller
\end{itemize}
\section{Release notes for te\TeX{} 2.0}
Some default settings of ``\texttt{tex}, the Web2C implementation of
\TeX'' have changed. We determined that some extensions were in fact
in conflict with the strict definition of TeX as laid down by Knuth.
The most notable change is that parsing of \verb+%&+ constructs in the
first line of an input file is now disabled by default -- it can be
enabled in \texttt{texmf.cnf} if you desire this. In that case, tex
will announce itself as ``TeXk'' and print an additional banner line
saying
that \verb+%&+-line parsing is enabled.
We may encounter more places where the default behaviour is not what
it should be, and proceed to make this optional (and by default off)
in future versions of Web2C.
\section{Release notes for te\TeX{} 3.0}
This section briefly describes what has changed since the last major
release.
\subsection{New programs / font support / macro packages}
Two programs (see section \ref{sec:components}) have been added with
this release: Aleph and dvipng. Many macro packages have been added,
too. The largest additions are the packages beamer and memoir. In the
fonts sections, some additions and updates have happened, too. The
largest change in this area is the addition of the Latin Modern Fonts
(\verb+lmodern+) in Postscript Type 1 format. These fonts are not as
exhaustive as the \verb+cmsuper+ fonts, but they are of very good
quality and sufficient for languages which use Latin characters. Using
the Latin Modern Fonts is in most cases preferable over using the
\verb+ae+ fonts (e.g. PDF files with accents are searchable, text
extraction works better).
\subsection{Changes to web2c}
\begin{itemize}
\item \TeX{} now uses the new \verb+tex.web+ (version 3.141592) from
December 2002 (fixed \verb+\xleaders+, glueset, weird alignments).
\item enc\TeX{} (see
\dlink{../../../texmf-dist/doc/generic/enctex}{encdoc-e}{\dviext})),
a \TeX{} extension by Petr Ol\v s\'ak for input reencoding is now
available (for non Omega based engines). The new functionality is
enabled by setting the \verb+-enc+ switch at format generation time.
It defines 10 new primitives which can be used to control \TeX{}'s
internal character translation tables and proper multibyte input
(e.g. for handling UTF-8).
\item The \verb+\input+ primitive in \verb+tex+ (and \verb+mf+ and
\verb+mpost+) now accepts double quotes containing spaces and other
special characters. Typical examples:
\begin{verbatim}
\input "filename with spaces" % plain
\input{"filename with spaces"} % latex
\end{verbatim}
See the Web2C manual for more: \dlink{../../../texmf-dist/doc/programs}{web2c}{\docext}.
\end{itemize}
\subsection{Modifications to the directory structure and file searching}
\begin{description}
\item [split of texmf trees] The instruction of installing te\TeX{}
from the sources that I provide have been changed. The unpacked
texmf tarball (\verb+$prefix/share/texmf-dist+, %$
set up as \verb+$TEXMFDIST+ %$
in \verb+texmf.cnf+) is no longer mixed with the files that are
installed via ``\verb+make install+'' from building and installing
the program sources. These files (e.\,g. format files) that are more
tied up with the programs end up in the directory
\verb+$prefix/share/texmf+ (\verb+$TEXMFMAIN+).
So, the content of the texmf tarball remains completely unchanged
in \verb+$TEXMFDIST+ %$
and can easily be replaced with a new version without loosing other
runtime files that are not provided elsewhere.
\item [changed location for font map files] Following a change
introduced with version 1.1 of the \TeX{} Directory Structure (see
\dlink{../../../texmf-dist/doc/help}{tds}{\dviext}), font map files
(\verb+.map+) are now only searched in subdirectories of
\verb+fonts/map+ in each \verb+texmf+ tree. The subdirectories of
\verb+fontname+, \verb+dvips+ and \verb+pdftex+ are no longer
searched for these files. The \verb+texmf+ trees from this
distribution follows this convention, but you might need to
rearrange some files if you maintain a local \verb+texmf+ tree.
Within the \verb+fonts/map+ tree the files are organized by syntax
and package. Known map file syntaxes are \verb+dvips+ (this is the
most common one), \verb+pdftex+ (a superset of the \verb+dvips+
syntax, e.\,g. the psname field is optional), \verb+dvipdfm+ and
\verb+vtex+. If some file is stored within the
\verb+fonts/map/dvips+ subtree, this does not mean that \verb+dvips+
is the only program that accesses these files. Other programs which
support the same syntax can use these files as well. It's just that
the program \verb+dvips+ has given its name for this syntax.
The next directory level specifies the package that the map file
belongs to. Example: the file \verb+charter.map+ of the
\verb+psnfss+ package follows the syntax of \verb+dvips+, so it is
stored in \verb+fonts/map/dvips/psnfss/charter.map+.
If you happen to see that some application cannot find a map file
which is stored in a wrong location, you have to move that file to
the right location. Try to find out the syntax and the package that
the file belongs to. If unsure, you can always choose ``unknown'',
since the only restriction for the directory tree below
\verb+fonts/map+ is that all file names are unique. The precise
\verb+<syntax>/<package>+ subdirectory does not affect searching. Do
not forget to update the filename database (\verb+ls-R+) by running
the command \verb+mktexlsr+ (resp. \verb+texhash+ which is the
same).
\item [changed search path for map files] Map files used to be
searched along the \verb+$TEXCONFIG+ % $
variable (``dvips config'' format in terms of kpathsea internals).
This has been changed to the \verb+$TEXFONTMAPS+ % $
variable (``map'' format). The new location of the font map files is
included in the new default setting of \verb+$TEXFONTMAPS+, % $
but not in the default setting of \verb+$TEXCONFIG+. % $
The result is that an old application that searches font map files
along the ``dvips config'' format will not work.
For the ``C'' API of kpathsea this change means that map files
should be accessed using \verb+kpse_fontmap_format+ instead of
\verb+kpse_dvips_config_format+. For scripts that use kpsewhich, one
has to make sure that \verb+--format=map+ is used to search font map
files.
\item [changed location for font encoding files] Together with font
map files (see above), the font encoding files have been given a new
location, too. The new location is
\verb+fonts/enc/<syntax>/<package>+. So, if you happen to see some
application to fail finding a font encoding file, just move it to
the right location in the texmf tree and update the filename
database.
\item [omission of ``engine'' directories] Within the texmf trees, the
directory trees associated with the names of \TeX{} engines (e.\,g.
\verb+etex+, \verb+pdftex+, \verb+omega+, \verb+mltex+) are no
longer searched for \TeX{} macro packages. This means that the \verb+$TEXINPUTS+ %$
search path now lies completely within the \verb+tex+ subtree.
If you are using the above mentioned ``obsolete'' locations for
\TeX{} macro packages, you have to move them into the \verb+tex+
directory tree.
\end{description}
\subsection{Changes to texconfig / updmap / fmtutil}
\label{sec:texconfig-changes}
Following the new directory layout, it is desired not to modify
the directory tree specified by the \verb+$TEXMFDIST+ % $
variable any more. This makes it necessary to redirect generated
output (e.g. map files created by updmap, updated config files)
somewhere else.
A new approach was taken by the implementation in te\TeX-3.0: two new
variables have been introduced to specify where to store this data:
\medskip
\begin{tabular}{ll}
TEXMFCONFIG & configuration data\\
TEXMFVAR & variable (cached) runtime data
\end{tabular}
\medskip
If a te\TeX{} installation is shared among several users, each of them
can now use te\TeX{}'s configuration tools. For each of the three
programs, a \verb+-sys+ variant exists. Calling this variant, e.g.
\verb+texconfig-sys+, is the same as calling the regular variant,
except that the variables TEXMFCONFIG and TEXMFVAR are redirected to
TEXMFSYSCONFIG and TEXMFSYSVAR respectively. This means that the
output trees for these commands will be TEXMFSYSCONFIG and
TEXMFSYSVAR.
The idea behind this is as follows: in the default settings of te\TeX,
the variables TEXMFCONFIG and TEXMFVAR point to directories within the
user's home directories. This means that each user can have his own
configuration, but this makes it difficult to change the global
defaults. That's where TEXMFSYSCONFIG and TEXMFSYSVAR come into play.
These global trees are included in the search paths of all users. By
using the \verb+-sys+ variant of the tools mentioned above, it becomes
easy to administrate the global defaults. So, if for example, some
administrator installs a font-package that comes with a map file in a
system's tree (e.g. TEXMFLOCAL), then he should use \verb+updmap-sys+
to add the new map file to the global configuration.
\subsection{Changes to pdf\TeX{}}
\begin{itemize}
\item All parameters previously set through the special configuration
file \verb+pdftex.cfg+ must now be set through primitives;
\verb+pdftex.cfg+ is no longer supported. Some settings (e.g. the
default papersize) are loaded via \verb+pdftexconfig.tex+ into the
format files.
\item \verb+\pdfmapfile+ and \verb+\pdfmapline+ provide font map
support from within a document.
\item Microtypographic font expansion can be used more easily.\\
\url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html}
\item See the pdf\TeX\ manual for more:
\dlink{../../../texmf-dist/doc/pdftex/manual}{pdftex-a}{\pdfext}.
\end{itemize}
\subsection{pdfetex: the new default \TeX{} engine}
te\TeX{} uses \verb+pdfetex+ for all formats except ``good-old''
\verb+tex+. So, if you run \verb+latex+, the underlying engine will be
\verb+pdfetex+. Some (broken) \TeX{} macros assume that pdf\TeX{} is
running in PDF generation mode if they detect primitives that
pdf\TeX{} has introduced (e.g. \verb+\pdfoutput+). This is wrong,
since pdf\TeX{} can also be used (and is used) to generate DVI output.
A reliable way of detecting PDF output mode is implemented in
\verb+ifpdf.sty+ which works for plain \TeX{} as well as \LaTeX.
\subsection{Changes to xdvik}
\begin{itemize}
\item On supported platforms the default toolkit of \verb+xdvi+
is now Motif. The GUIs for both toolkits (Motif and Xaw) have
been updated: There is a page list for easier navigation and
improved menus. The Motif version now has a toolbar and a
`Preferences' dialog for advanced customizations.
User preferences that are set via this dialog, the `Options'
menu and other dialogs are now saved in a file
\verb+~/.xdvirc+. This file overrides other X defaults, but
not the command-line options. (The option `\verb+-q+' and the X resource
`\verb+.noInitFile+' can be used to disable
this feature).
\item The new GUI elements can be selectively toggled via the
option or the X resource `\verb+-expertmode+', which should be
used instead of `\verb+-expert+'\slash`\verb+-statusline+'.
\item The functionality of \verb+oxdvi+ has been merged into
\verb+xdvi+; \verb+oxdvi+ no longer exists as a separate binary.
\item \verb+Xdvi+ now supports string search and text selection
in DVI files (menu `Modes $\rightarrow$ Text Selection'),
printing DVI files and exporting them in PDF, Postscript and
plain text format. Pages can be marked with Mouse-2 in the
page list to select them for printing\slash saving.
\item By default, \verb+xdvi+ will create a backup copy of the
DVI file so that viewing and navigating still works when the
DVI file is being written by \TeX.
\item Other new features include: Support for color specials and
colored hyperlinks (customizable via the `\verb+linkstyle+
option and X resource), a `\verb+-watchfile+' option, a
`\verb+-unique+' option for loading new files into a running
instance of \verb+xdvi+, support for hyperrefs `hdvips'
specials, and a history of recently viewed files via the menu
`File $\rightarrow$ Open Recent'.
\end{itemize}
\subsection{Changes to dvipsk}
\begin{itemize}
\item The functionality of \verb+odvips+ has been merged into
\verb+dvips+; \verb+odvips+ no longer exists as a separate binary.
\item Fonts used in included graphics files are no longer partially
downloaded.
\end{itemize}
\subsection{Improved documentation}
\begin{itemize}
\item The file \verb+doc/index.html+ in the distributed texmf tree
provides a much improved overview of the included documentation and
also provides a search facility for various \TeX{} related
information sources.
This file is generated by a PHP script which is included in te\TeX{}
as well.
\item The PHP script \verb+doc/texdoc.php+ is able to offer a web
interface to the information provided in texdoctk databases.
\end{itemize}
\section{Resources}
This section describes where you can find further (or more up-to-date)
material and support in the world of \TeX.
\subsection{Helpindex file for the documentation tree}
The file \path+index.html+ in the root of \teTeX's
documentation tree is a guide for the documentation that is included
in \teTeX. It is a good point to start when you want to browse through
the documentation or search for the solution of a specific problem.
\subsection{Internet Newsgroups}
If you encounter a problem which might not be \teTeX{} specific, but
rather a general problem with \TeX{} or \LaTeX{} (e.g.,\@ ``How can I
format a section heading in a different way?''), you should not raise
your question on one of the mailing lists for \teTeX. In the following
newsgroups, \TeX-related matters are discussed:
\begin{description}
\item [comp.text.tex] General things about \TeX{}.
\item [news.answers] FAQs (also \TeX-related FAQs).
\item [comp.answers] FAQs (also \TeX-related FAQs).
\item [de.comp.text.tex] General things about \TeX{} (German).
\item [fr.comp.text.tex] General things about \TeX{} (French).
\item [comp.fonts] Font matters.
\item [comp.programming.literate] Literate programming.
\end{description}
\subsection{\TeX{} User Groups}
If you enjoy \TeX{}, you can join a \TeX{} user group to get support
and software and help the \TeX{} community by your membership. The web
site of the \TeX{} User Group (TUG), \path|http://tug.org/| has the
necessary contact information for several \TeX{} user groups.
\subsection{Mailing Lists}
All \teTeX{} mailing lists are hosted on the same server which is
managed by Majordomo software. Administrative requests,
e.g.,\@ to (un)subscribe or to get an archive of a list are handled by
the address: \path|majordomo@dbs.uni-hannover.de| To get a list
of available commands that the Majordomo server understands, just send the
message ``help'' to the server (in the body of a message, not in the
header). The lists are:
\begin{description}
\item[tetex] General discussions + bug reports about \teTeX. General
\TeX{} matters that are not \teTeX-specific are not discussed.
Especially general questions about \TeX{} should \emph{not} be
directed to this list; use a newsgroup instead.
\item[tetex-announce] This (moderated, low traffic) list is used for
important announcements about \teTeX, such as new releases or important
updates.
\item[tetex-pretest] This is used to discuss beta versions of \teTeX{}
and to report bugs in these versions. Bug reports about official
(non-beta) releases should not be send here, but to the \texttt{tetex}
list.
\end{description}
Some of the packages which are contained in \teTeX{} (e.g.,\@ Omega
and pdf\TeX) have special mailing lists or web resources on their own.
The web site of TUG, \path+http://tug.org/+ has links to many of them.
\subsection{Comprehensive TeX Archive Network (CTAN)}
To aid the archiving and retrieval of \TeX{}-related files, a TUG
(TeX User Group) working group developed the Comprehensive \TeX{}
Archive Network (CTAN). Each CTAN site has identical material, and
maintains authoritative versions of its material. These collections
are extensive; in particular, almost everything mentioned in this
article is archived at the CTAN sites, even if its location isn't
explicitly stated.
The CTAN sites are currently \verb|dante.ctan.org|,
\verb|cam.ctan.org| and \verb|tug.ctan.org|. The organization of
\TeX{} files on all these sites is identical and starts at
\path|/tex-archive|. To reduce network load, please use the CTAN site
or mirror closest to you. A complete and current list of CTAN sites
and known mirrors can be obtained by using the \verb|finger| utility
on `user' \verb|ctan@cam.ctan.org| (it also works with the other CTAN
hosts); it is also available as file \path|help/ctan/CTAN.sites| in
\teTeX's documentation tree.
\subsection{The \TeX{} Catalogue}
This catalogue lists many \TeX, \LaTeX, and related packages and
tools. Most are available worldwide online from CTAN, the
Comprehensive TeX Archive Network. Links are provided in this
catalogue to available sources and documentation. The \teTeX{}
documentation tree contains a version of this catalogue in
\path|help/Catalogue|. The most recent online version is available at
\begin{center}
\url{http://texcatalogue.sarovar.org/}
\end{center}
\subsection{Frequently Asked Questions (FAQs)}
Documents which list frequently asked questions and their answers (in
short: FAQs) are collections of solutions to many common problems. The
documentation tree of \teTeX{} contains the \teTeX{} FAQ in the
directory \path|tetex| and the UKTUG FAQ in the directory
\path|help/faq/uktug-faq|. The \teTeX{} FAQ can be read by the
command \verb+texconfig faq+.
\bibliographystyle{plain}
\bibliography{TETEXDOC}
\end{document}
\endinput
% LocalWords: teTeX Esser pdf dvips xdvi dvipdfm makeindex kpathsea texmf DVI
% LocalWords: Amiga typefaces mpman btxdoc gftopk gftodvi gftype pktogf pktype
% LocalWords: pltotf tftopl vftovp vptovf dvicopy dvitomp dvitype patgen tex
% LocalWords: pooltype cnf TeXk behaviour pdftexman hyperref pdftex PNG JPG ps
% LocalWords: jpeg MPS metapost EPS ghostscript perl epstopdf etex Unicode doc
% LocalWords: OTPs dvilj hypertex config LaserJet dvi bookmarks thumbnails idx
% LocalWords: Texinfo texinfo texdoc texdoctk tk dat texconfig updmap gsftopk
% LocalWords: pk foo dvired dpi faxg allcm allec allneeded NNN mfmode TFM TDS
% LocalWords: fp miktex tds metafont bibtex bst amstex babel tfm vf dvipng enc
% LocalWords: afm urw ls TCX CTAN fontinst misc def cont usr ljfour pt lpr app
% LocalWords: XDvi appendonlydir dosnames fontmaps Fontname nomfdrivers nomode
% LocalWords: stripsupplier striptypeface varfonts Slovak tcxfile czech slovak
% LocalWords: russian LaserWriter psnfss pazo tx px Bitstream EC AE Ppdf html
% LocalWords: preconfigured Helpindex newhelpindex comp Majordomo un tetex faq
% LocalWords: Catalogue catalogue UKTUG UK francaise TETEXDOC ctangle cweave
% LocalWords: TEXMFCONFIG te TEXMFVAR TEXMFHOME TEXMFSYSCONFIG TEXMSYSFVAR mex
% LocalWords: TEXMFMAIN TEXMFLOCAL TEXMFDIST texmfvar fmtutil pdflatex pdfetex
% LocalWords: platex vardir DIR rw ro kerning glueset encdoc Petr Ol ak UTF
% LocalWords: reencoding multibyte tarball psname resp API kpsewhich papersize
% LocalWords: TEXMFSYSVAR Microtypographic xdvik GUIs Xaw hyperrefs hdvips PHP
% LocalWords: dvipsk
|