summaryrefslogtreecommitdiff
path: root/usergrps/uktug/baskervi/7_1/ltour3.tex
blob: 7eeb64a15d8add2e3a312848f8f778c67d3b6053 (plain)
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
\newenvironment{filedesc}{%
  \description
  \renewcommand\makelabel[1]{\hspace\labelsep
                                \normalfont\ttfamily ##1}}
  {\enddescription}

\let\package\textsf % as in \package{longtable} package
\let\class\textsf
\def\env#1{\envx#1*\relax}
\def\envx#1*#2{%
  \textsf{#1\ifx#2*\raise-.6ex\hbox{*}\fi}}

\makeatletter
\def\smallv{\def\verbatim@font{\normalfont\ttfamily\small}}
\makeatother

%\def\PS{\textsc{PostScript}}

\def\CTAN{\FAQverb\/}  % CTAN path
\def\YandY{Y\&Y}
\def\BVonly#1{#1}

\title{A \LaTeX\ Tour, part 3: mfnfss, psnfss and babel}
\author{David Carlisle\\\texttt{david@dcarlisle.demon.co.uk}}

\begin{Article}

\section{Introduction}
This third installment of my tour covers three more distributions that
are supported via the standard \LaTeX\ bug report mechanism described
in Part~1.

The \package{mfnfss} distribution provides \LaTeX\ support for some
popular Metafont produced fonts, that do not otherwise have any
\LaTeX\ interface.

The \package{psnfss} distribution consists of \LaTeX\ packages giving
access to \PS\ fonts.

The third distribution in this part of the tour is \package{babel},
which provides \LaTeX\ with multi-lingual capabilities.


\section{The MFNFSS Distribution}

The \package{mfnfss} distribution is something of a `collecting point'
for files in the distribution that have not got anywhere else to go.

\subsection{Font Packages}
These packages provide \LaTeX\ interfaces to some publicly available
fonts. They do \emph{not} provide the fonts themselves, which are
available from the \verb|fonts| tree in the standard \acro{CTAN}
archives.

\begin{filedesc}

\item[pandora]
 The `Pandora' family of fonts designed by Nazneen N. Billawala
 is an alternative to the standard `Computer Modern' fonts of Knuth.
 The family consists of a full range of text fonts, including
 sans-serif and slanted.

\item[oldgerm]
 The old German fonts designed by
 Yannis Haralambous. There are three styles of text font,
 Schwabacher, Fraktur and Gothic.  (The terms `Fraktur' and `Gothic'
 tend to be used interchangeably by English speaking mathematicians
 such as the present author, but the fonts in this collection have
 clearly distinguishable styles.)

 There is also a font of `initials', highly ornate uppercase letters,
 suitable for use as the first letter of a section. If you wish to use
 this in `drop caps' style you may also want to use one of the
 contributed packages available on \acro{CTAN} such as \package{drop},
 or  \package{dropping}, that automate the setting of a suitable
 paragraph shape and inserting the initial letter at the correct
 size.\footnote{The \texttt{fd} files provided here load the original
 \texttt{yinit} font. The \acro{CTAN} archives also contain
 `\texttt{yinitas}', a modified version of this font.}
 

\end{filedesc}

\subsection{T1 Encoded `Concrete' Fonts}

\textbf{Note:} The following two files require the old release 1.1 of
 the dc fonts. 
 Walter Schmidt very recently (March 1997) released a test version of 
 a set of `Concrete' fonts based on the new ec font base.
 The \LaTeX\ support for these new fonts is available from
 \CTAN{macros/latex/contrib/supported/ccfonts}.  Once this
 release is stable, the following files will probably be removed from
 the \package{mfnfss} distribution.

\begin{filedesc}
\item[dccr.mf] Metafont source file used by the output files from 
       \verb|dccrstd.tex| to generate Concrete Roman fonts in T1
       encoding.

\item[dccrstd.tex]  
       \TeX\ file used in the generation of Concrete Roman fonts in T1
        encoding.  It will produce a number of \verb|.mf| files
        corresponding to Concrete Roman fonts in different sizes.  By
        modifying the table inside this file further Metafont driver
        files can be generated.  The \verb|.fd| files for the Concrete
        Roman fonts can be produced with \verb|cmextra.ins| which is
        part of the \LaTeX\ \package{base} distribution. 

\end{filedesc}



\section{The PSNFSS Distribution}
With the release of \LaTeXe, \LaTeX\ gained inbuilt support for the
use of alternative font families in documents, and in particular for
the use of scalable font formats such as Type~1 (\PS) or TrueType.

The collection of packages, coordinated by Sebastian Rahtz, known as
\package{psnfss} offers convenient interfaces to most of the more
common font sets.

Most of the files here relate to font files renamed to a consistent
naming scheme, promoted and maintained by Karl Berry. This encodes the
font vendor, and details of the font such as its weight, style and
encoding into a compact name that usually fits in the eight letter
filenames used by some common filesystems. 
More information about the font naming scheme can be found on
\acro{CTAN} in \CTAN{info/fontname}. It should be noted however that
the packages themselves, such as the \package{times} package, do
\emph{not} depend on any particular font naming convention. \LaTeX\
isolates packages from the details of the external font files by
the use of `\texttt{fd}' (Font Descriptor) files which map the
\LaTeX\ `NFSS' model of fonts to the external font metric files.

In principle, there is no real need for packages to load text fonts
into \LaTeX. For example, once the font metrics and font descriptor
files for Times Roman (which is \textsf{ptm} in the Karl Berry Naming
Scheme) are installed, then one could in principle switch to Times
Roman in a \LaTeX\ document by simply specifying
\verb|\fontfamily{ptm}\selectfont|. Normally one would instead want to
assign the new font to one of the `default' \LaTeX\ families, Roman,
as used by \verb|\rmfamily|, Sans Serif (\verb|\sffamily|) and
Typewriter or Monospace (\verb|\ttfamily|).

The support for \PS\ fonts is split into two.
The \acro{CTAN} \CTAN{fonts/psfonts} area contains material that is
mainly automatically generated from the Adobe font metric files that
are distributed with all Type~1 fonts. This includes the font metrics
themselves, the Font Descriptor files, the `map' files used to make
fonts known to the dvips driver, and some basic packages to declare
single fonts to \LaTeX.
This is supplemented in \CTAN{macros/latex/packages/psnfss} by the
`hand written' packages of the \package{psnfss} collection that load
popular \emph{combinations} of font families, or deal with
mathematics.

This section refers at various points to \PS\ or Type~1 fonts, but in
fact the \TeX\ support for these fonts applies equally well to True
Type, or other scalable formats. As long as \TeX\ has access to the
font metrics, the font format does not matter (to \TeX; it matters to
the driver you use to print the \acro{DVI} file).

\subsection{PSFONTS}

The \acro{CTAN} \package{psfonts} area primarily contains the font
metric and \LaTeX\ font descriptor files, organised by font vendor, as
outlined below. The basic format of the file structure is the same for
each font family, so only the top level directories are given here,
except for the Adobe Times family, which is further expanded as an
example.

\subsubsection{Font Vendors}
The font subdirectories of \CTAN{fonts/psfonts} are:
\begin{filedesc}
\item[adobe] Fonts sold by Adobe, or built into \PS\ devices.
\item[bh] Fonts designed by Bigelow and Holmes, these are mainly sold
          through \YandY.
\item[bitstrea] Bitstream fonts.
\item[monotype] Monotype fonts.
\item[textures] Textures Fonts for the Blue Sky Research Macintosh
                \TeX\ implementation.
\item[urw]      Fonts distributed by URW.
\item[xadobe]    Adobe `expert' font sets.
\item[xmonotype] Monotype `expert' font sets.
\end{filedesc}

Each of the vendor directories contains subdirectories corresponding
to the font families supported by the \package{psfonts} distribution.
(Using the tools  provided one can generate \TeX\ support files for
most other text fonts, the selection here is really just a set of
examples.)

The subdirectories of the \File|adobe| directory are:
\begin{filedesc}
\item[agaramon]  Adobe's rendition of a Garamond serif Roman
     family. (Commercial.)
\item[avantgar] Avant Garde sans serif (built into most \PS\ devices).
\item[baskervi]  Baskerville, a commercially avail\-able serifed Roman
      family.
      \BVonly{(If you are reading this in \BV\ then it is similar to the
      text you see, which is Monotype Baskerville).}
\item[bembo] Bembo,  a commercially available serifed Roman family.
\item[bookman]  Bookman (built into most \PS\ devices).
\item[centaur] Centaur,  a commercially available serifed Roman family.
\item[courier]  Courier (built into all \PS\ devices).
\item[garamond] Garamond~3. Another Garamond serif Roman family.
     (Commercial.)
\item[gillsans] Gill Sans, a commercially available sans serif family.
\item[helvetic]  Helvetica (built into all \PS\ devices).
\item[nbaskerv] ITC New Baskerville, another variant on the Baskerville
     theme. (Commercial.)
\item[ncntrsbk]  New Century Schoolbook (built into most \PS\ devices).
\item[optima]  Optima, a commercially available sans serif family.
\item[palatino]  Palatino serifed Roman family
     (built into most \PS\ devices).
\item[symbol]   Symbol (built into all \PS\ devices).
\item[times]  Times Roman (built into all \PS\ devices).
\item[univers] Univers, a  commercially available  sans serif family.
\item[utopia] Utopia, a commercially available serifed Roman family.
\item[zapfchan] ITC Zapf Chancery. A script font built into most \PS\
     devices.
\item[zapfding] ITC Zapf Dingbats. A symbol font built into most \PS\
     devices.
\end{filedesc}


All the directories corresponding to a font family look essentially
the same, each with the following subdirectories.
\begin{filedesc}
\item[dvips] Contains the `map' file for the dvips driver program.
     This file can be appended to \texttt{psfonts.map} or used via a
     configuration file  to tell dvips where to find the specified
     fonts. A suitable configuration file is included in the
     directory.

     Other drivers will need similar information, but perhaps
     in a different format.
\item[tex] This directory contains the font descriptor files which
     must be placed in the input path for \LaTeX, so that \LaTeX\ has
     available the information about the available fonts. For some
     font families this directory would also contain a \LaTeX\ package
     that assigns the fonts to one of the standard \LaTeX\ font
     families, such as \verb|\sffamily|. Some packages, such as
     \package{times}, are not distributed here as they would
     clash with the packages distributed as part of
     \package{psnfss}, as described below.
\item[tfm] The font metrics, in `tfm' format. These files contain all
     the information about letter sizes, ligatures, and kerning that
     \TeX\ needs to typeset text.

     There are several files, as each font in the original family is
     made available in several encodings, the two main ones being
     the `Classic' \TeX\ encoding used by Computer Modern. This is
     known as OT1 in \LaTeX, and as `7t' in the Karl Berry font naming
     scheme used here. Similarly the files with names ending in `8t'
     relate to fonts encoded to the eight bit `Cork' encoding, known
     as T1 in \LaTeX.

\item[vf] The virtual fonts. Most (but not all) drivers handle the
     re-encoding of the original fonts to the encodings that \TeX\
     expects by means of the virtual font mechanism. Some special
     fonts, such as Zapf Dingbats are not re-encoded, and so do not
     have a \File|vf| directory.
\end{filedesc}

There is one very important thing to note about the above list.
\emph{There are no fonts!} Almost all of the \CTAN{fonts/psfonts} area
of \acro{CTAN} is concerned with providing mechanisms for using fonts
that you have obtained \emph{elsewhere}. The fonts may be built in to
your printer, or may be purchased separately. There are a few freely
available Type~1 fonts. In such cases there will be an additional
directory, \texttt{type1}, which contains the font files (normally in
`pfb' format).

\subsubsection{Standard \PS\ Fonts}

In addition to the above directories, the \package{psfonts} area
contains two zip files. If you need the files and have not got unzip
(or pkunzip or winzip or\ldots) then you can get a copy of unzip from
the \acro{CTAN} \package{support} area.
\begin{filedesc}
\item[lw35nfss] This zip archive expands to the subset of the
     \CTAN{psfonts/adobe} tree that corresponds to the `Standard 35'
     \PS\ fonts as used in Adobe Laserwriter printers. If you are only
     interested in using fonts built into your printer, and not in
     using downloaded fonts, then just get this file rather than the
     large collection of metrics in \CTAN{psfonts/adobe}.
\item[lw35pk] This zip archive contains bitmap fonts for the `Standard
     \PS\ fonts' in the usual  \acro{PK} format understood by most dvi
     drivers. This enables documents using Type~1 fonts to be previewed
     with dvi previewers that can not use outline font formats.
     (For example xdvi or the emtex drivers).
\end{filedesc}

\subsubsection{Tools and Extra Packages}
There are a few remaining directories in \package{psfonts}.
\begin{filedesc}
\item[ts1] The \LaTeX\ \package{textcomp} package and related
   utilities for accessing fonts in the `text companion' encoding
   known as TS1 in \LaTeX. These include the TC
   fonts that are distributed with the EC fonts, and suitably
   re-encoded fonts from the standard Type~1 font sets. This encoding
   contains many non alphabetic symbols that should match the
   current text font (rather than the math font). It includes currency
   symbols, superior digits, dagger signs, etc.
   
\item[mathcomp] A contributed package for using the text companion
   fonts in math mode.
\item[tools] The source for the scripts and utilities used for
     generating all these files.
\end{filedesc}


\subsection{Standard PSNFSS Packages}
By contrast to the packages and font descriptor files in the
\package{psfonts} distribution, the \package{psnfss} distribution
contains `hand written' files. These are either used to set up popular
\emph{combinations} of the `standard' fonts, or load alternative font
sets for mathematics. Due to the nature of mathematics fonts, these
latter packages are typically much more complicated internally than
the one or two line packages that load text fonts. For the user,
however, this complexity should not be apparent.

The first set of packages (all generated from the source file
\texttt{psfonts.dtx}) load combinations of the Basic Adobe \PS\ font
set into \LaTeX.
\begin{filedesc}
\item[times] As one  might guess, this declares Times Roman as
      \verb|\rmfamily|. 
      For mainly historical reasons, this package also declares
      Helvetica as \verb|\sffamily| and Courier as \verb|\ttfamily|,
      so effectively ensuring that all text (but not mathematics) is
      set in the basic \PS\ font set.

     This is a convenience for the user who wants to replace all the
     text fonts by references to the basic Adobe fonts. It is an
     advantage to do this if you want to produce device independent
     and small \PS{} documents for distribution. The disadvantage is
     that Times Roman, Helvetica and Courier, despite being the
     `standard \PS\ combination' look particularly horrible if placed
     next to each other at the same nominal size, as done by this
     package. Helvetica has a much larger `x-height' (the height of
     the lower case letters) than Times Roman, so if sans serif and
     Roman text are mixed in-line, then the sans serif looks much too
     big. (This is not so much of a problem if the sans serif is only
     used for headings.) Courier is just too `wide' when placed
     alongside Times Roman, which is a particularly compact font.

     To partially compensate for these problems, the \package{pslatex}
     package (written by me, but currently distributed as a contributed
     package, not part of the core \LaTeX\ distribution) is an
     alternative to the \package{times} package. It loads Helvetica
     scaled by 90\% and loads Courier by way of a virtual font that
     condenses it  by scaling the horizontal direction (only) by
     85\%.
     \package{pslatex} also contains a copy of the \package{mathptm}
     package (see below) so installs a Times-Italic based font set
     for use in mathematics.
\item[palatino] Declares Palatino as \verb|\rmfamily|, and Helvetica and
     Courier as \verb|\sffamily| and \verb|\ttfamily|.
\item[helvet] Declares Helvetica as \verb|\sffamily|. (Does not change
     the other families.)
\item[avant] Declares Avant Garde as \verb|\sffamily|.
     (Does not change the other families.)
\item[newcent]  Declares New Century Schoolbook as \verb|\rmfamily|,
     Avant Garde as \verb|\sffamily| and Courier as \verb|\ttfamily|.
\item[bookman] Declares Bookman Roman as \verb|\rmfamily|, Avant
     Garde as \verb|\sffamily| and Courier as \verb|\ttfamily|.
\item[chancery] Declares Zapf Chancery as \verb|\rmfamily|.
\end{filedesc}

The above packages only affect \emph{text} fonts, not mathematics.
\texttt{psfonts.dtx} contains one special package, written by Alan
Jeffrey, which does affect the math setup.
\begin{filedesc}
\item[mathptm] This package uses a set of virtual files that use
     various built in or freely available fonts to make a set of fonts
     suitable for replacing the standard Computer Modern Math fonts. In
     the current release, bold fonts (and so the \LaTeX\
     \verb|\boldmath| command) are not supported. The \package{pslatex}
     package referred to above contains an essentially verbatim copy
     of \package{mathptm}.

     One may use \package{mathptm} as an example of the coding needed
     to make virtual fonts for mathematics based on other text italic
     fonts. How successful this will be depends to a certain extent
     how visually compatible are the symbols that are gathered from
     the various `real' fonts that are used by the virtual math fonts.
     There are often good reasons for making such fonts (the main one
     being that documents using freely available fonts may be more
     easily placed on the Web in \PS\ form), however the result is
     never likely to be as good as using fonts that have symbols that
     are \emph{designed} to be visually compatible. For mathematics
     use within \TeX, that currently restricts use to Computer Modern,
     or the commercial MathTime or Lucida Bright font sets described
     below.
\end{filedesc}

The \texttt{psfonts.dtx} source file contains one other package:
\begin{filedesc}
\item[pifont] This declares the Zapf Dingbats font which contains
an assorted mixture of symbols, and also defines new user level commands
to access these symbols. See the package documentation, or \emph{The
\LaTeX\ Companion} for details.
\end{filedesc}

\subsection{Freely Available Type~1 Text Fonts}

The next set of packages are contributed by Peter Dyballa. In fact
these are just one-line packages loading the appropriate font. Most of
the code is in the \texttt{fd} files which are generated from the same
source file. 
\begin{filedesc}
\item[charter] Defines  \verb|\rmfamily| to use Bitstream Charter.
\item[nimbus] Declares URW Nimbus Roman-Regular and URW Nimbus
Sans-Regular as \verb|\rmfamily| and \verb|\sffamily|. These are
essentially free clones of Times Roman and Helvetica.
\item[utopia] Defines \verb|\rmfamily| to use  Adobe Utopia-Regular.
\end{filedesc}

\subsection{Commercial Text Fonts}
The following packages are generated from the source file
\texttt{adobe.dtx}. They are a rather random selection from the large
catalogue of fonts sold by Adobe.

\begin{filedesc}
\item[garamond] Garamond as \verb|\rmfamily|, Optima as
     \verb|\sffamily| and  Courier as \verb|\ttfamily|.
\item[basker] Baskerville as \verb|\rmfamily|.
\item[mtimes] Monotype\footnote{Not sure why this is generated from
     \emph{adobe} source file.} Times as \verb|\rmfamily|.
\item[bembo] Bembo as \verb|\rmfamily|, Optima as \verb|\sffamily| and
     the  ever popular Courier as \verb|\ttfamily|.
\end{filedesc}

\subsection{Adobe Lucida}
The following two packages relate to the original Lucida font set,
designed by Bigelow and Holmes and sold by Adobe.
They are generated from the \texttt{alucida.dtx} source file.
\begin{filedesc}
\item[lucid] Declares Lucida Roman and Lucida Sans as the Roman and sans
     serif families, and Adobe Courier again as the monospaced font.
\item[lucmath] Lucida has a matching set of mathematics fonts suitable
     for \TeX\ use. This package makes the required definitions to make
     these known to \LaTeX.
\end{filedesc}

\subsection{Lucida Bright}
A newer and more extensive Lucida family, also designed by Bigelow and
Holmes but in this case sold by \YandY, is known as `Lucida Bright' and
`Lucida New Math'. The \LaTeX\ support described here was written by
Sebastian Rahtz and myself.
\begin{filedesc}
\item[lucidabr.dtx] This package (replacing the earlier
     \package{lucidbrb} and \package{lucidbry} packages)
     changes the \LaTeX\ defaults for
     both text and mathematics to use the Lucida Bright and Lucida New
     Math font collections. It has numerous options to control
     different aspects of the package and to control which of the
     fonts to use. (Lucida Bright contains several font families,
     including `fax' and `casual' etc, as well as variant forms of the
     math italic alphabet.)

     The \LaTeX\ package and the font descriptor files for the math
     fonts are generated from this source file. The font descriptor
     files for the Lucida text fonts in the standard \LaTeX\ encodings
     are available from the \package{psfonts} area (in the
     \package{bh}) directory, after Bigelow and Holmes, the creators
     of these fonts.

     The \TeX\ support and font metrics are freely available, but the
     fonts themselves must be purchased separately.
\item[lucidabr.ins] \LaTeX\ installation file for Lucida Bright using
     the standardised `Karl Berry' font names.
\item[lucidabr.yy] Alternative installation file. Use this instead of
     \texttt{lucidabr.ins} if you plan to install the fonts with their
     original font names, as sold by \YandY. (In this case you do
     \emph{not} need the  \texttt{fd} files from the \package{psfonts}
     area.)
\item[lucidabr.txt] Introduction and installation guide for this
     package.
\end{filedesc}


\subsection{MathTime}
The MathTime fonts are produced by Michael Spivak `\TeX{}plorators'.
They are sold by \YandY. The \LaTeX\ support was written by Frank
Mittelbach and myself.
\begin{filedesc}
\item[mathtime.dtx] The \package{mathtime} package is mainly concerned
     with mathematics setup, although it selects Times, Helvetica and
     Courier as the text fonts if they have not already been set by
     another package. The MathTime mathematics fonts are specially
     designed to match Times Roman, but blend quite well with other
     text fonts that are of a similar weight. Computer Modern
     mathematics tends to look very `light' if used with font
     families other than Computer Modern. The package has several
     options to control the font choices made.
\item[mtfonts.fdd] The source for the font descriptor files for
     MathTime mathematics fonts.
\item[mathtime.ins] Installation file. Note that this file may be
     edited in a couple  of places depending on whether or not you
     have the extended `MathTime Plus' font set which includes bold
     math support.
\item[mathtime.txt]  Introduction and installation guide for this
     package.
\end{filedesc}


\subsection{Documentation and Other Files}
\begin{filedesc}
\item[readme.txt] General introduction.
\item[psnfss2e.tex] User level documentation on the use of these
     packages. 
\item[test0.tex] Testing accents and other encoding specific commands
     are working correctly using \PS\ fonts.
\item[test1.tex] Test document that uses most of the `Standard 35'
     fonts.
\item[pitest.tex] Test of the \package{pifont} package.
\item[mathtest.tex] Test of the \package{mathptm} package.
\item[makefile] Unix `make' utility to automate installation of the
     packages.
\item[allpspk] Unix script that makes a test document using a
     specified font family and then uses dvips and its associated
     scripts to generate `pk' versions of the fonts.
\item[makepk] Unix script that calls allpspk on some common fonts.
\end{filedesc}

\subsection{PSNFSSX}
Recently the \package{psnfss} collection has aquired a close cousin,
\package{psnfssx}, distributed as a contributed package from
\CTAN{macros/latex/contrib/supported/psnfssx}. This contains some
lesser used or nonstandard packages, related to \PS\ support. Of
particular interest might be the \package{ly1} files (contributed by
myself) in that directory which provide the \LaTeX\ support for the
`texnansi' encoding promoted by \YandY\ by way of an \texttt{LY1} option
to the \package{fontinst} package.

This \package{psnfssx} collection
also contains some obsolete versions of packages formerly in
\package{psnfss}; this material is provided for historical interest
only. Use at own risk! 




\section{The Babel Distribution}

The \package{babel} package is distributed from
\CTAN{latex/packages/babel} and is supported via the \LaTeX\ bug
reporting address, but has origins predating the current \LaTeX\
release. As well as supporting \LaTeX\ it contains support for
plain \TeX\ (and formats such as AMS\TeX\ or eplain that are based on
plain). Primarily \package{babel} is the work of Johannes Braams,
with contributions for specific language files by numerous people.

\package{Babel} consists of a `kernel' that extends \LaTeX\ with a
mechanism for switching between specified languages. Part of this
kernel (related to hyphenation) must be loaded when the \LaTeX\ format
is made to get the full benefit of hyphenation tables for multiple
languages. For each language, or related group of languages, supported
by \package{babel} there exists a language-specific code file.
This will offer translations of the fixed text strings used in the
standard \LaTeX\ classes, such as `Table of Contents', `Figure', etc.,
and may also offer language-specific `shorthands' that make typing
common constructs easier (for example  the \package{german} option
provides  the construct `\verb|"ff|' to produce `ff' that would
hyphenate to `ff-f' if it fell at the end of a line). The language
file may also modify the typesetting to support the normal conventions
of that language. For example the \package{french} option modifies the
spacing around punctuation marks in text.

\subsection{Babel Kernel}

\begin{filedesc}
\item[babel.sty]  The main interface to \package{babel}.
  The user specifies all languages to be used in a document as options
     to this package, the last option specified is the default
     language for the document. So for example
\begin{verbatim}
\usepackage[french,german]{babel}
\end{verbatim}
     would enable the use of French and German conventions within the
     document, with the default language being German.
\item[hyphen.cfg]  The standard \LaTeX\ interface to hyphenation.
     When the \LaTeX\ format is being made, this file is input if it
     exists, to setup the required hyphenation patterns. In the
     \package{base}  \LaTeX\ distribution  there is no such file, and
     so a default action is taken which loads the original \TeX\
     patterns for American English. The \package{babel} distribution
     provides this configuration file (generated from
     \File|babel.dtx|) which defines some core
     functionality, and then reads \File|language.dat| to specify
     which hyphenation files to load.
\item[language.dat] This file must be edited to specify which language
     hyphenation files to load, and the name of the external file which
     contains the hyphenation table for each such language (and
     optionally a second external file, typically containing hypenation
     exceptions).
     Note that hyphenation files \emph{must} be specified here, and so
     loaded when the format is made. This is a restriction of the
     underlying \TeX\ system. Documents using other languages not
     specified here may still be processed, and \package{babel} will
     translate any fixed text strings, but it will not be able to
     correctly hyphenate that language. A default hyphenation will be
     used (most likely English) which may or may not be suitable
     depending how far the language differs from English.
\item[switch.def] This file is also generated from the same
     \File|babel.dtx| source. If \package{babel} is used as a package
     but was not used when the format was made, then the core
     functionality normally provided by \File|hyphen.cfg| will not be
     present. The package will detect this, and so input this file to
     provide the necessary definitions.
\end{filedesc}


\subsection{Language-Specific Files}

The implementation of the language-specific code for each language
within \package{babel} is contained in files with extension
`\texttt{.ldf}' (language definition files). These are not directly
input by the user, but specified as options to the babel
package. Normally the option name is the same as the file name, except
where noted below. Some similar languages or dialects are supported by
the same external file, and some options are available in more than
one name; such aliases are noted in parentheses in the list below.

Most languages also have a file with extension 
\texttt{.sty}; however this is just offered for compatibility with
older versions of Babel and of \LaTeX, or for use with plain \TeX\
based formats. In normal \LaTeX\ usage only the \texttt{.ldf} file is
used.
\begin{filedesc}
%\item[bahasa]  Support for the Bahasa language.
\item[basque]  Support for the Basque language.\footnote{Not in the
current release, planned for \package{babel}~3.7.}
\item[breton]  Support for the Breton language.
\item[catalan]  Support for the Catalan language.
\item[croatian]  Support for the Croatian language.
\item[czech]  Support for the Czech language.
\item[danish]  Support for the Danish language.
\item[dutch]  The \textsf{dutch} and \textsf{afrikaans} options.
\item[english]  The \textsf{american} (\textsf{USenglish}) and
     \textsf{british} (\textsf{UKenglish}) options. The option
     \textsf{english} refers to either British or American English,
     depending on the local installation.
\item[esperant]  The \textsf{esperanto} option. 
\item[estonian]  Support for the Estonian language.
\item[finnish]  Support for the Finnish language.
\item[frenchb]  Support for the French language (the corresponding
                options are \textsf{french} (\textsf{frenchb}) or
                \textsf{francais}.
                If the \textsf{french} option is used then
                \texttt{french.ldf} will be used (from the GUTenburg
                \package{french} package) if it is available.
\item[galician]  Support for the Galician language.
\item[germanb]  The \textsf{austrian} and \textsf{german}
                (\textsf{germanb}) options.
\item[kannada]  Support for the Indian language, Kannada.%
      \addtocounter{footnote}{-1}\footnotemark
\item[irish]  Support for the Irish Gaelic language.
\item[italian]  Support for the Italian language.
\item[lsorbian]  The \textsf{lowersorbian} option.
\item[magyar]  The \textsf{magyar} (\textsf{hungarian}) options.
\item[norsk]  Support for the Norwegian languages with options
             \textsf{norsk}, \textsf{nynorsk}.
\item[polish]  Support for the Polish language.
\item[portuges]  The \textsf{brazil} (\textsf{brazilian}) and
                \textsf{portuges} (\textsf{portuguese}) options.
\item[romanian]  Support for the Romanian language.
\item[sanskrit]  Support for the Sanskrit language, transliterated to
      latin script.%
      \addtocounter{footnote}{-1}\footnotemark
\item[scottish]  Support for the Scottish Gaelic language.
\item[slovak]  Support for the Slovakian language.
\item[slovene]  Support for the Slovenian language.
\item[spanish]  Support for the Spanish language.
\item[swedish]  Support for the Swedish language.
\item[turkish]  Support for the Turkish language.
\item[usorbian]  The \textsf{uppersorbian} option.
\item[welsh] Support for the Welsh language
\end{filedesc}


Babel version~3.6 sees the welcome (re)\hspace{0pt}introduction
of support for
non-latin scripts. It is probably fair to say that this support is still
more experimental than the support for latin scripts. One problem,
not directly under \package{babel} `control', is that the \TeX\
encodings for Greek and Cyrillic (corresponding to T1 for European
Latin scripts) have not yet been finalised or agreed. Currently
\package{babel} uses two `locally defined' encodings, LWN and LGR.
\begin{filedesc}
\item[greek]  The \textsf{greek} option, which utilises the `kd' Greek
              fonts.
\item[russianb] The \textsf{russian} option, which utilises the `LH'
              fonts. 
\item[ukranian]  Support for the Ukranian language.%
      \addtocounter{footnote}{-1}\footnotemark
\end{filedesc}
Two separate packages are currently
in preparation which will be distributed, together with
suitable fonts and hypenation tables, from \acro{CTAN}.
These will extend \package{babel} with options for the Ethiopian and
Ukrainian languages. 


\subsection{Compatibility Files}

The distribution contains the following two source
files which generate files which enable the use of  \package{babel}
with formats based on plain \TeX\
(and also the old \LaTeX\,2.09 release).
\begin{filedesc}
\item[bbcompat]  The source for compatibility mode files. Most
     languages are  provided with a `package' with extension
     \texttt{.sty}. This just inputs the corresponding language
     definition file and should never be needed using the normal
     \LaTeX\ interface.
\item[bbplain]  The source for the \File|plain.def| file allowing the
      use of \package{babel} with plain \TeX.
\end{filedesc}

\subsection{Installation Script and Font Descriptor Files}

\begin{filedesc}
\item[babel.ins]       Unpacks the \package{babel} distribution from
                      the documented source files
\item[cyrillic.fdd] Font descriptor files for Cyrillic fonts in `LCY'
      encoding.
\item[greek.fdd] Font descriptor files for Greek fonts in `LGR'
     encoding.
\end{filedesc}

\subsection{Documentation}
\subsubsection{ASCII Text Files}
\begin{filedesc}
\item[00readme.txt]  The distribution guide.
\item[install.txt]  How to install Babel.
\item[install.mac]  How to install Babel with OZ\TeX.
\item[CyrillicFonts.txt] Further notes on the Cyrillic installation.
\item[GreekFonts.txt] Further notes on the Greek installation.
\end{filedesc}

\subsubsection{\TeX\ Documents}
\begin{filedesc}
\item[tb1202]  The source of the original article that appeared
                          in \TUB, Volume~12 (1991), No.~2.
\item[tb1401]  The source of an update article that appeared in
                     in \TUB, Volume 14~(1993), No.~1.
\item[tb1604] The source of an update article that never
                      appeared in \TUB, but was presented at
                      Euro\TeX~1995, Arnhem.
\end{filedesc}

\subsection{Example File}

\begin{filedesc}
\item[language.skeleton] An example file that can be used to build new
                     language definition files from scratch.
\end{filedesc}


\section{Coming Soon}
Part~4 of this tour will describe the files of the
\package{amsfonts} and \package{amslatex}  distributions of packages 
produced by the American Mathematical society. 
\end{Article}