diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /usergrps/uktug/baskervi/7_1/ltour3.tex |
Initial commit
Diffstat (limited to 'usergrps/uktug/baskervi/7_1/ltour3.tex')
-rw-r--r-- | usergrps/uktug/baskervi/7_1/ltour3.tex | 769 |
1 files changed, 769 insertions, 0 deletions
diff --git a/usergrps/uktug/baskervi/7_1/ltour3.tex b/usergrps/uktug/baskervi/7_1/ltour3.tex new file mode 100644 index 0000000000..7eeb64a15d --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/ltour3.tex @@ -0,0 +1,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} + |