summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-09-19 16:23:30 +0000
committerKarl Berry <karl@freefriends.org>2010-09-19 16:23:30 +0000
commit4af50c165d5181f9e1e28fc2070e4bc431f25e4d (patch)
tree353f91319f287c8ffc7feb6918ef0f01fb105687 /Master
parent96b0b0d816058a1ec98b27f72d6bd57a82e5bf5d (diff)
more hints about tlmgr generate updmap and moving from release to release
git-svn-id: svn://tug.org/texlive/trunk@19806 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf/doc/texlive/texlive-en/archive/live-2010.tex3143
-rw-r--r--Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2010493
-rw-r--r--Master/texmf/doc/texlive/texlive-en/texlive-en.tex4
-rwxr-xr-xMaster/texmf/scripts/texlive/tlmgr.pl16
4 files changed, 3647 insertions, 9 deletions
diff --git a/Master/texmf/doc/texlive/texlive-en/archive/live-2010.tex b/Master/texmf/doc/texlive/texlive-en/archive/live-2010.tex
new file mode 100644
index 00000000000..1853db75ea7
--- /dev/null
+++ b/Master/texmf/doc/texlive/texlive-en/archive/live-2010.tex
@@ -0,0 +1,3143 @@
+% $Id: texlive-en.tex 19386 2010-07-11 23:38:12Z karl $
+% TeX Live documentation. Originally written by Sebastian Rahtz and
+% Michel Goossens, now maintained by Karl Berry and others.
+% Public domain.
+%
+\documentclass{article}
+\let\tldocenglish=1 % for live4ht.cfg
+\usepackage{tex-live}
+\usepackage[latin1]{inputenc} % translators: use your preferred encodings.
+\usepackage[T1]{fontenc}
+
+\begin{document}
+
+\title{%
+ {\huge \textit{The \TeX\ Live Guide}\\\smallskip}%
+ {\LARGE \textsf{\TL{} 2010}}%
+}
+
+\author{Karl Berry, editor \\[3mm]
+ \url{http://tug.org/texlive/}
+ }
+
+\date{July 2010}
+
+\maketitle
+
+\begin{multicols}{2}
+\tableofcontents
+%\listoftables
+\end{multicols}
+
+\section{Introduction}
+\label{sec:intro}
+
+\subsection{\TeX\ Live and the \TeX\ Collection}
+
+This document describes the main features of the \TL{} software
+distribution\Dash \TeX{} and related programs for \GNU/Linux
+and other Unix flavors, \MacOSX, and Windows systems.
+
+You may have acquired \TL{} by downloading, or on the \TK{} \DVD, which
+\TeX{} user groups distribute among their members, or in other ways.
+Section \ref{sec:tl-coll-dists} briefly describes the contents of the
+\DVD. Both \TL{} and the \TK{} are cooperative efforts by the \TeX{}
+user groups. This document mainly describes \TL{} itself.
+
+\TL{} includes executables for \TeX{}, \LaTeXe{}, \ConTeXt,
+\MF, \MP, \BibTeX{} and many other programs; an extensive collection
+of macros, fonts and documentation; and support for typesetting in
+many different scripts from around the world.
+
+For a brief summary of the major changes in this edition of \TL{},
+see the end of the document, section~\ref{sec:history}
+(\p.\pageref{sec:history}).
+
+\subsection{Operating system support}
+\label{sec:os-support}
+
+\TL{} contains binaries for many Unix-based platforms, including
+\GNU/Linux, \MacOSX, and Cygwin. The included sources can be compiled
+on platforms for which we do not provide binaries.
+
+As to Windows: only Windows 2000 and later are
+supported. Windows~9\textit{x}, \acro{ME} and \acro{NT} have been
+dropped. Because of this change, Windows requires much less special
+treatment compared to the Unix systems. There are no special 64-bit
+executables for Windows, but the 32-bit executables should run on 64-bit
+systems.
+
+See section~\ref{sec:tl-coll-dists} for alternate solutions
+for Windows and \MacOSX.
+
+\subsection{Basic installation of \protect\TL{}}
+\label{sec:basic}
+
+You can install \TL{} either from \DVD{} or over the Internet
+(\url{http://tug.org/texlive/acquire.html}). The net installer itself is
+small, and downloads everything requested from the Internet.
+
+The \DVD{} installer lets you install to a local disk. You cannot run
+\TL{} directly from the \TK{} \DVD{} (or a \DVD{} image), but you can
+prepare a runnable installation on, e.g., a \acro{USB} stick (see
+section~\ref{sec:portable-tl}). Installation is described in later
+sections (\p.\pageref{sec:install}), but here is a quick start:
+
+\begin{itemize*}
+
+\item The installation script is named \filename{install-tl}. It can
+ operate in a ``wizard mode'' given the option \code{-gui=wizard}
+ (default for Windows), a text mode given \code{-gui=text} (default for
+ everything else), and an expert \GUI{} mode given \code{-gui=perltk}.
+
+\item One of the installed items is the `\TL\ Manager' program,
+ named \prog{tlmgr}. Like the installer, it can be used in both \GUI{}
+ mode and in text mode. You can use it to install and uninstall
+ packages and do various configuration tasks.
+
+\end{itemize*}
+
+
+\htmlanchor{security}
+\subsection{Security considerations}
+\label{sec:security}
+
+To the best of our knowledge, the core \TeX\ programs themselves are
+(and always have been) extremely robust. However, the contributed
+programs in \TeX\ Live may not reach the same level, despite everyone's
+best efforts. As always, you should be careful when running programs on
+untrusted input; for maximum safety, use a new subdirectory.
+
+This need for care is especially urgent on Windows, since in general
+Windows finds programs in the current directory before anything else,
+regardless of the search path. This opens up a wide variety of possible
+attacks. We have closed many holes, but undoubtedly some remain,
+especially with third-party programs. Thus, we recommend checking for
+suspicious files in the current directory, especially executables
+(binaries or scripts). Ordinarily they should not be present, and
+definitely should not normally be created by merely processing a document.
+
+Finally, \TeX\ (and its companion programs) are able to write files when
+processing documents, a feature that can also be abused in a wide
+variety of ways. Again, processing unknown documents in a new
+subdirectory is the safest bet.
+
+
+\subsection{Getting help}
+\label{sec:help}
+
+The \TeX{} community is active and friendly, and most serious questions
+end up getting answered. However, the support is informal, done by
+volunteers and casual readers, so it's especially important that you do
+your homework before asking. (If you prefer guaranteed commercial
+support, you can forgo \TL{} completely and purchase a vendor's system;
+\url{http://tug.org/interest.html#vendors} has a list.)
+
+Here is a list of resources, approximately in the order we recommend
+using them:
+
+\begin{description}
+\item [Getting Started] If you are new to \TeX, the web page
+\url{http://tug.org/begin.html} gives a brief introduction to the system.
+
+\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium
+ of answers to all sorts of questions, from the most basic to the
+ most arcane. It is included on \TL{} in
+ \OnCD{texmf-dist/doc/generic/FAQ-en/html/index.html}, and is available
+ on the Internet through \url{http://www.tex.ac.uk/faq}. Please
+ check here first.
+
+\item [\TeX{} Catalogue] If you are looking for a specific package,
+font, program, etc., the \TeX{} Catalogue is the place to look. It is a
+huge collection of all \TeX{}-related items. See
+\url{http://www.ctan.org/help/Catalogue/}.
+
+\item [\TeX{} Web Resources] The web page
+\url{http://tug.org/interest.html} has many \TeX{}-related links, in
+particular for numerous books, manuals, and articles on all aspects of
+the system.
+
+\item [support archives] The two principal support forums are the
+Usenet newsgroup \url{news:comp.text.tex} and the mailing list
+\email{texhax@tug.org}. Their archives have years of past
+questions and answers for your searching pleasure, via
+\url{http://groups.google.com/group/comp.text.tex/topics} and
+\url{http://tug.org/mail-archives/texhax}, respectively. And a general web
+search, for example on \url{http://google.com}, never hurts.
+
+\item [asking questions] If you cannot find an answer, you can post to
+\dirname{comp.text.tex} through Google or your newsreader, or to
+\email{texhax@tug.org} through email. But before you post,
+\emph{please} read this \acro{FAQ} entry, to maximize
+your chances of getting a useful answer:
+\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}.
+
+\item [\TL{} support] If you want to report a bug or have
+suggestions or comments on the \TL{} distribution, installation, or
+documentation, the mailing list is \email{tex-live@tug.org}. However,
+if your question is about how to use a particular program included in
+\TL{}, please write to that program's maintainer or
+mailing list. Often running a program with the \code{-{}-help} option
+will provide a bug reporting address.
+
+\end{description}
+
+The other side of the coin is helping others who have questions. Both
+\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel
+free to join, start reading, and help out where you can.
+
+
+% don't use \TL so the \uppercase in the headline works. Also so
+% tex4ht ends up with the right TeX. Likewise the \protect's.
+\section{Overview of \protect\TeX\protect\ Live}
+\label{sec:overview-tl}
+
+This section describes the contents of \TL{} and the \TK{} of which it
+is a part.
+
+\subsection{The \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX}
+\label{sec:tl-coll-dists}
+
+The \TK{} \DVD{} comprises the following:
+
+\begin{description}
+
+\item [\TL] A complete \TeX{} system to be installed to disk. Its home
+page is \url{http://tug.org/texlive/}.
+
+\item [Mac\TeX] for \MacOSX, this adds a native \MacOSX\ installer and other
+Mac applications to \TL{}. Its home page is
+\url{http://tug.org/mactex/}.
+
+\item [pro\TeX{}t] An enhancement of the \MIKTEX\ distribution for Windows,
+\ProTeXt\ adds a few extra tools to \MIKTEX, and simplifies
+installation. It is entirely independent of \TL{}, and has its own
+installation instructions. The \ProTeXt\ home page is
+\url{http://tug.org/protext}.
+
+\item [CTAN] A snapshot of the \CTAN{} repository (\url{http://www.ctan.org}).
+
+\item [\texttt{texmf-extra}] A directory with assorted additional packages.
+
+\end{description}
+
+\CTAN{}, \pkgname{protext}, and \dirname{texmf-extra} do not
+necessarily follow the same copying conditions as \TL{}, so be careful
+when redistributing or modifying.
+
+
+\subsection{Top level \TL{} directories}
+\label{sec:tld}
+
+Here is a brief listing and description of the top level directories in a
+\TL{} installation.
+
+\begin{ttdescription}
+\item[bin] The \TeX{} system programs, arranged by platform.
+%
+\item[readme-*.dir] Quick overview and useful links for \TL{},
+in various languages, in both \HTML{} and plain text.
+%
+\item[source] The source to all included programs, including the main
+ \Webc{}-based \TeX{} distributions.
+%
+\item[texmf] See \dirname{TEXMFMAIN} below.
+%
+\item[texmf-dist] See \dirname{TEXMFDIST} below.
+%
+\item[tlpkg] Scripts, programs and data for managing the
+ installation, and special support for Windows.
+\end{ttdescription}
+
+In addition to the directories above, the installation scripts and
+\filename{README} files (in various languages) are at the top level of
+the distribution.
+
+For documentation, the comprehensive links in the top-level file
+\OnCD{doc.html} may be helpful. The documentation for the programs
+(manuals, man pages, Info files) is in \dirname{texmf/doc}. The
+documentation for \TeX\ packages and formats is in
+\dirname{texmf-dist/doc}. You can use the \cmdname{texdoc} program to
+find any documentation wherever it is located.
+
+This \TL\ documentation itself is in \dirname{texmf/doc/texlive},
+available in several languages:
+
+\begin{itemize*}
+\item{Czech/Slovak:} \OnCD{texmf/doc/texlive/texlive-cz}
+\item{German:} \OnCD{texmf/doc/texlive/texlive-de}
+\item{English:} \OnCD{texmf/doc/texlive/texlive-en}
+\item{French:} \OnCD{texmf/doc/texlive/texlive-fr}
+\item{Italian:} \OnCD{texmf/doc/texlive/texlive-it}
+\item{Polish:} \OnCD{texmf/doc/texlive/texlive-pl}
+\item{Russian:} \OnCD{texmf/doc/texlive/texlive-ru}
+\item{Serbian:} \OnCD{texmf/doc/texlive/texlive-sr}
+\item{Simplified Chinese:} \OnCD{texmf/doc/texlive/texlive-zh-cn}
+\end{itemize*}
+
+\subsection{Overview of the predefined texmf trees}
+\label{sec:texmftrees}
+
+This section lists the predefined variables specifying the texmf trees
+used by the system, and their intended purpose, and the default layout
+of \TL{}. The command \texttt{tlmgr~conf} shows the values of these
+variables, so that you can easily find out how they map to particular
+directories in your installation.
+
+\begin{ttdescription}
+\item [TEXMFMAIN] The tree which holds vital parts of the
+ system such as configuration files, helper scripts, and program
+ documentation.
+\item [TEXMFDIST] The tree which holds the main set of macro packages,
+ fonts, etc.
+\item [TEXMFLOCAL] The tree which administrators can use for system-wide
+ installation of additional or updated macros, fonts, etc.
+\item [TEXMFHOME] The tree which users can use for their own individual
+ installations of additional or updated macros, fonts, etc.
+ The expansion of this variable dynamically adjusts for each user to
+ their own individual directory.
+\item [TEXMFCONFIG] The (personal) tree used by the utilities
+ \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified
+ configuration data.
+\item [TEXMFSYSCONFIG] The (site-wide) tree used by the utilities
+ \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to
+ store modified configuration data.
+\item [TEXMFVAR] The (personal) tree used by \verb+texconfig+,
+ \verb+updmap+ and \verb+fmtutil+ to store (cached) runtime data such
+ as format files and generated map files. Also used by \ConTeXt\ Mk\acro{IV}.
+\item [TEXMFSYSVAR] The (site-wide) tree used by \verb+texconfig-sys+,
+ \verb+updmap-sys+ and \verb+fmtutil-sys+, and also by \verb+tlmgr+, to
+ store (cached) runtime data such as format files and generated map files.
+\end{ttdescription}
+
+\noindent
+The default layout is:
+\begin{description}
+ \item[system-wide root] can span multiple \TL{} releases:
+ \begin{ttdescription}
+ \item[2009] A previous release.
+ \item[2010] The current release.
+ \begin{ttdescription}
+ \item [bin] ~
+ \begin{ttdescription}
+ \item [i386-linux] \GNU/Linux binaries
+ \item [...]
+ \item [universal-darwin] \MacOSX\ binaries
+ \item [win32] Windows binaries
+ \end{ttdescription}
+ \item [texmf\ \ \ \ \ \ \ ] This is \envname{TEXMFMAIN}.
+ \item [texmf-dist\ \ ] \envname{TEXMFDIST}
+ \item [texmf-var \ \ ] \envname{TEXMFSYSVAR}
+ \item [texmf-config] \envname{TEXMFSYSCONFIG}
+ \end{ttdescription}
+ \item [texmf-local] \envname{TEXMFLOCAL}, intended to be
+ retained from release to release.
+ \end{ttdescription}
+ \item[user's home] (\texttt{\$HOME} or
+ \texttt{\%USERPROFILE\%})
+ \begin{ttdescription}
+ \item[.texlive2009] Privately generated and configuration data
+ for a previous release.
+ \item[.texlive2010] Privately generated and configuration data
+ for the current release.
+ \begin{ttdescription}
+ \item [texmf-var\ \ \ ] \envname{TEXMFVAR}
+ \item [texmf-config] \envname{TEXMFCONFIG}
+ \end{ttdescription}
+ \item[texmf] \envname{TEXMFHOME} Personal macros, etc.
+ \end{ttdescription}
+\end{description}
+
+
+\subsection{Extensions to \protect\TeX}
+\label{sec:tex-extensions}
+
+Knuth's original \TeX{} itself is frozen, apart from rare bug fixes. It
+is still present in \TL\ as the program \prog{tex}, and will remain so
+for the foreseeable future. \TL{} contains several extended versions of
+\TeX:
+
+\begin{description}
+
+\item [\eTeX] adds a set of new primitives
+\label{text:etex} (related to macro expansion, character scanning,
+classes of marks, additional debugging features, and more) and the
+\TeXXeT{} extensions for bidirectional typesetting. In default mode,
+\eTeX{} is 100\% compatible with ordinary \TeX. See
+\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}.
+
+\item [pdf\TeX] builds on the \eTeX\ extensions, adding support for
+writing \acro{PDF} output as well as \dvi{}, and many non-output-related
+extensions. This is the program invoked for most formats, e.g.,
+\prog{etex}, \prog{latex}, \prog{pdflatex}. Its web site is
+\url{http://www.pdftex.org/}. See
+\OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf} for the manual, and
+\OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex} for example
+usage of some of its features.
+
+\item [Lua\TeX] is the designated successor of pdf\TeX,
+and is mostly (but not entirely) backward-compatible. It is also
+intended to be a functional superset of Aleph (see below), though
+technical compatibility is not intended. The incorporated Lua
+interpreter (\url{http://www.lua.org/}) enables elegant solutions for
+many thorny \TeX{} problems. When called as \filename{texlua}, it
+functions as a standalone Lua interpreter, and is already used as such
+within \TL. Its web site is \url{http://www.luatex.org/}, and the
+reference manual is \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}.
+
+\item [\XeTeX] adds support for Unicode input and OpenType- and system
+fonts, implemented using standard third-party libraries. See
+\url{http://tug.org/xetex}.
+
+\item [\OMEGA\ (Omega)] is based on Unicode (16-bit characters), thus
+supports working with almost all the world's scripts simultaneously. It
+also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s),
+for performing complex transformations on arbitrary input. Omega is no
+longer included in \TL{} as a separate program; only Aleph is provided:
+
+\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions.
+See \OnCD{texmf-dist/doc/aleph/base}.
+
+\end{description}
+
+
+\subsection{Other notable programs in \protect\TL}
+
+Here are a few other commonly-used programs included in \TL{}:
+
+\begin{cmddescription}
+
+\item [bibtex, bibtex8] bibliography support.
+
+\item [makeindex, xindy] index support.
+
+\item [dvips] convert \dvi{} to \PS{}.
+
+\item [xdvi] \dvi{} previewer for the X Window System.
+
+\item [dvilj] \dvi{} drive for the HP LaserJet family.
+
+\item [dviconcat, dviselect] cut and paste pages
+from \dvi{} files.
+
+\item [dvipdfmx] convert \dvi{} to \acro{PDF}, an alternative approach
+to pdf\TeX\ (mentioned above).
+
+\item [psselect, psnup, \ldots] \PS{} utilities.
+
+\item [pdfjam, pdfjoin, \ldots] \acro{PDF} utilities.
+
+\item [texexec, texmfstart] Con\TeX{}t and \acro{PDF} processor.
+
+\item [tex4ht] \TeX{} to \acro{HTML} (and \acro{XML} and more) converter.
+
+\end{cmddescription}
+
+
+\subsection{Fonts in \protect\TL}
+\label{sec:tl-fonts}
+
+\TL{} comes with many high-quality scalable fonts. See
+\url{http://tug.org/fonts} and
+\OnCD{texmf-dist/doc/fonts/free-math-font-survey}.
+
+
+\section{Installation}
+\label{sec:install}
+
+\subsection{Starting the installer}
+\label{sec:inst-start}
+
+To begin, get the \TK{} \DVD{} or download the \TL{} net installer,
+and locate the installer script: \filename{install-tl} for Unix,
+\filename{install-tl.bat} for Windows.
+
+\begin{description}
+\item [Net installer:] Download from \CTAN, under
+\dirname{systems/texlive/tlnet}; the url
+\url{http://mirror.ctan.org/systems/texlive/tlnet} will automatically
+redirect to a nearby, up-to-date, mirror. You can retrieve either
+\filename{install-tl.zip} which can be used under Unix and Windows, or
+the considerably smaller \filename{install-unx.tar.gz} for Unix
+only. After unpacking, \filename{install-tl} and
+\filename{install-tl.bat} will be in the \dirname{install-tl}
+subdirectory.
+
+\item [\TeX{} Collection \DVD:] go to its \dirname{texlive}
+subdirectory. Under Windows, the installer normally starts automatically
+when you insert the \DVD. You can get the \DVD\ by becoming a member of
+a \TeX\ user group (highly recommended,
+\url{http://tug.org/usergroups.html}), or purchasing it separately
+(\url{http://tug.org/store}), or burning your own from the \ISO\
+image.
+
+\end{description}
+
+See \url{http://tug.org/texlive/acquire.html} for more information and
+other methods of getting the software.
+
+The following sections explain installer start-up in more detail.
+
+\subsubsection{Unix}
+
+\noindent
+Below, \texttt{>} denotes the shell prompt; user input is
+\Ucom{\texttt{bold}}.
+The script \filename{install-tl} is a Perl script. The simplest way
+to start it on a Unix-compatible system is as follows:
+\begin{alltt}
+> \Ucom{cd /path/to/installer}
+> \Ucom{perl install-tl}
+\end{alltt}
+(Or you can invoke \Ucom{perl /path/to/installer/install-tl}, or
+\Ucom{./install-tl} if it stayed executable, etc.; we won't repeat all
+these variations.) You may have to enlarge your terminal window so
+that it shows the full text installer screen (Figure~\ref{fig:text-main}).
+
+To install in expert \GUI\ mode (figure~\ref{fig:gui-main}), you'll
+need the \dirname{Perl/TK} module compiled with \acro{XFT} support,
+which is generally the case with \GNU/Linux, but not necessarily other
+systems. Given that, you can run:
+\begin{alltt}
+> \Ucom{perl install-tl -gui}
+\end{alltt}
+
+For a complete listing of the various options:
+\begin{alltt}
+> \Ucom{perl install-tl -help}
+\end{alltt}
+
+\textbf{Warning about Unix permissions:} Your \code{umask} at the time
+of installation will be respected by the \TL{} installer. Therefore, if
+you want your installation to be usable by users other than you, make
+sure your setting is sufficiently permissive, for instance, \code{umask
+002}. For more information about \code{umask}, consult your system
+documentation.
+
+\textbf{Special considerations for Cygwin:} Unlike other
+Unix-compatible systems, Cygwin does not by default include all of the
+prerequisite programs needed by the \TL{} installer. See
+Section~\ref{sec:cygwin} for details.
+
+
+\subsubsection{MacOSX}
+
+As mentioned in section~\ref{sec:tl-coll-dists}, a separate distribution
+is prepared for \MacOSX, named Mac\TeX\ (\url{http://tug.org/mactex}).
+We recommend using the native Mac\TeX\ installer instead of the \TL\
+installer on \MacOSX, because the native installer makes a few
+Mac-specific adjustments, in particular to allow easily switching
+between the various \TeX\ distributions for \MacOSX\ (Mac\TeX, Fink,
+MacPorts, \ldots).
+
+Mac\TeX\ is firmly based on \TL, and the main \TeX\ trees are precisely
+the same. It does add a few extra folders with Mac-specific
+documentation and applications.
+
+
+\subsubsection{Windows}
+
+If you are using the net installer, or the \DVD\ installer failed to
+start automatically, double-click \filename{install-tl.bat}.
+For more customization options, e.g., selection of specific package
+collections, run \filename{install-tl-advanced.bat} instead.
+
+You can also start the installer from the command-prompt. Below,
+\texttt{>} denotes the prompt; user input is \Ucom{\texttt{bold}}. If
+you are in the installer directory, run just:
+\begin{alltt}
+> \Ucom{install-tl}
+\end{alltt}
+
+Or you can invoke it with an absolute location, such as:
+\begin{alltt}
+> \Ucom{D:\bs{}texlive\bs{}install-tl}
+\end{alltt}
+for the \TK\ \DVD, supposing that \dirname{D:} is the optical
+drive. Figure~\ref{fig:wizard-w32} displays the wizard installer, which
+is the default for Windows.
+
+To install in text mode, use:
+\begin{alltt}
+> \Ucom{install-tl -no-gui}
+\end{alltt}
+
+For a complete listing of the various options:
+\begin{alltt}
+> \Ucom{install-tl -help}
+\end{alltt}
+
+\begin{figure}[tb]
+\begin{boxedverbatim}
+Installing TeX Live 2010 from: ...
+Platform: i386-linux => 'Intel x86 with GNU/Linux'
+Distribution: inst (compressed)
+...
+ Detected platform: Intel x86 with GNU/Linux
+
+ <B> binary systems: 1 out of 19
+
+ <S> Installation scheme (scheme-full)
+ 84 collections out of 85, disk space required: 2256 MB
+
+ Customizing installation scheme:
+ <C> standard collections
+ <L> language collections
+
+ <D> directories:
+ TEXDIR (the main TeX directory):
+ /usr/local/texlive/2010
+ ...
+
+ <O> options:
+ [ ] use letter size instead of A4 by default
+ [X] allow execution of restricted list of programs via \write18
+ ...
+
+Actions:
+ <I> start installation to hard disk
+ <H> help
+ <Q> quit
+\end{boxedverbatim}
+\caption{Main text installer screen (\GNU/Linux)}\label{fig:text-main}
+\end{figure}
+
+\begin{figure}[tb]
+\tlpng{install-lnx-main}{\linewidth,trim=10 4 0 20,clip}
+\caption{Expert \GUI{} installer screen (\GNU/Linux)}\label{fig:gui-main}
+\end{figure}
+
+\begin{figure}[tb]
+\tlpng{wizard-w32}{\linewidth,trim=0 4 0 0,clip}
+\caption{Wizard installer screen (Windows)}\label{fig:wizard-w32}
+\end{figure}
+
+
+\htmlanchor{cygwin}
+\subsubsection{Cygwin}
+\label{sec:cygwin}
+
+The \TL{} installer supports only Cygwin 1.7.
+Before beginning the installation, use Cygwin's \filename{setup.exe} program to
+install the \filename{perl} and \filename{wget} packages if you have
+not already done so. The following additional packages are
+recommended:
+\begin{itemize*}
+\item \filename{fontconfig} [needed by \XeTeX]
+\item \filename{ghostscript} [needed by various utilities]
+\item \filename{libXaw7} [needed by \code{xdvi}]
+\item \filename{ncurses} [provides the \code{clear} command used by the installer]
+\end{itemize*}
+
+
+\subsubsection{The text installer}
+
+Figure~\ref{fig:text-main} displays the main text mode screen under
+Unix. The text installer is the default on Unix.
+
+This is only a command-line installer; there is no cursor support at
+all. For instance, you cannot tab around checkboxes or input fields.
+You just type something (case-sensitive) at the prompt and press the
+Enter key, and then the entire terminal screen will be rewritten, with
+adjusted content.
+
+The text installer interface is this primitive for a reason: it
+is designed to run on as many platforms as possible, even with a
+very barebones Perl.
+
+\subsubsection{The expert graphical installer}
+
+Figure~\ref{fig:gui-main} displays the expert graphical installer under
+\GNU/Linux. Other than using buttons and menus, this does
+not differ much from the text installer.
+
+This mode can be invoked explicitly with
+\begin{alltt}
+> \Ucom{install-tl -gui=perltk}
+\end{alltt}
+
+
+\subsubsection{The simple wizard installer}
+
+Under Windows, the default is to run the simplest installation method we
+could devise, called the ``wizard'' installer
+(figure~\ref{fig:wizard-w32}). It installs everything and asks almost
+no questions. If you want to customize your setup, you should run one
+of the other installers.
+
+This mode can be invoked explicitly with
+\begin{alltt}
+> \Ucom{install-tl -gui=wizard}
+\end{alltt}
+
+
+\subsection{Running the installer}
+\label{sec:runinstall}
+
+The installer is intended to be mostly self-explanatory, but following are a
+few notes about the various options and submenus.
+
+\subsubsection{Binary systems menu (Unix only)}
+\label{sec:binary}
+
+\begin{figure}[tb]
+\begin{boxedverbatim}
+Available sets of binaries:
+===============================================================================
+ a [ ] alpha-linux DEC Alpha with GNU/Linux
+ b [ ] amd64-freebsd x86_64 with FreeBSD
+ c [ ] amd64-kfreebsd x86_64 with GNU/FreeBSD
+ d [ ] i386-cygwin Intel x86 with Cygwin
+ e [ ] i386-freebsd Intel x86 with FreeBSD
+ f [ ] i386-kfreebsd Intel x86 with GNU/FreeBSD
+ g [X] i386-linux Intel x86 with GNU/Linux
+ h [ ] i386-netbsd Intel x86 with NetBSD
+ i [ ] i386-solaris Intel x86 with Solaris
+ j [ ] mips-irix SGI IRIX
+ k [ ] powerpc-aix PowerPC with AIX
+ l [ ] powerpc-linux PowerPC with GNU/Linux
+ m [ ] sparc-linux Sparc with GNU/Linux
+ o [ ] sparc-solaris Sparc with Solaris
+ p [ ] universal-darwin universal binaries for MacOSX/Darwin
+ s [ ] win32 Windows
+ t [ ] x86_64-darwin x86_64 with MacOSX/Darwin
+ u [ ] x86_64-linux x86_64 with GNU/Linux
+ v [ ] x86_64-solaris x86_64 with Solaris
+\end{boxedverbatim}
+\caption{Binaries menu}\label{fig:bin-text}
+\end{figure}
+
+Figure~\ref{fig:bin-text} displays the text mode binaries menu. By
+default, only the binaries for your current platform will be installed.
+From this menu, you can select installation of binaries for other
+platforms as well. This can be useful if you are sharing a \TeX\
+tree across a network of heterogenous machines, or for a dual-boot
+system.
+
+\subsubsection{Selecting what is going to be installed}
+\label{sec:components}
+
+\begin{figure}[tbh]
+\begin{boxedverbatim}
+Select a scheme:
+===============================================================================
+ a [ ] basic scheme (plain and LaTeX)
+ b [ ] ConTeXt scheme
+ c [X] full scheme (everything)
+ d [ ] GUST TeX Live scheme
+ e [ ] medium scheme (plain, latex, recommended packages, some languages)
+ f [ ] minimal scheme (plain only)
+ g [ ] teTeX scheme (more than medium, but nowhere near full)
+ h [ ] XML scheme
+ i [ ] custom selection of collections
+\end{boxedverbatim}
+\caption{Scheme menu}\label{fig:scheme-text}
+\end{figure}
+
+Figure~\ref{fig:scheme-text} displays the \TL\ scheme menu; from here,
+you choose a ``scheme'', which is an overall set of package collections.
+The default \optname{full} scheme installs everything available. This
+is recommended, but you can also choose the \optname{basic} scheme for a
+small system, \optname{minimal} for testing purposes, and
+\optname{medium} or \optname{teTeX} to get something in between. There
+are also various specialized and country-specific schemes.
+
+\begin{figure}[tb]
+\tlpng{stdcoll}{.7\linewidth,trim=0 4 0 0,clip}
+\caption{Collections menu}\label{fig:collections-gui}
+\end{figure}
+
+You can refine your scheme selection with the `standard collections' and
+`language collections' menus (figure~\ref{fig:collections-gui}, shown in
+\GUI\ mode for a change).
+
+Collections are one level more detailed than schemes\Dash in essence, a
+scheme consists of several collections, a collection consists of one or
+more packages, and a package (the lowest level grouping in \TL) contains
+the actual \TeX\ macro files, font files, and so on.
+
+If you want more control than the collection menus provide, you can use
+the \TeX\ Live Manager (\prog{tlmgr}) program after installation (see
+section~\ref{sec:tlmgr}); using that, you can control the installation
+at the package level.
+
+\subsubsection{Directories}
+\label{sec:directories}
+
+The default layout is described in section~\ref{sec:texmftrees},
+\p.\pageref{sec:texmftrees}. The default location of
+\dirname{TEXDIR} is \dirname{/usr/local/texlive/2010} on Unix
+and |%SystemDrive%\texlive\2010| on Windows.
+
+The main reason to change this default is if you lack write permission
+for the default location. You don't have to be root or administrator to
+install \TL, but you do need write access to the target directory.
+
+A reasonable alternative choice is a directory under your home directory,
+especially if you will be the sole user. Use
+`|~|' to indicate this, as in `|~/texlive/2010|'.
+
+We recommend including the year in the name, to enable keeping different
+releases of \TL{} side by side. (You may wish to make a
+version-independent name such as \dirname{/usr/local/texlive-cur} via a
+symbolic link, which you can then update after testing the new release.)
+
+Changing \dirname{TEXDIR} in the installer will also change
+\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} and
+\dirname{TEXMFSYSCONFIG}.
+
+\dirname{TEXMFHOME} is the recommended location for personal
+macro files or packages. The default value is |~/texmf|. In
+contrast to \dirname{TEXDIR}, here a |~| is preserved in the
+newly-written configuration files, since it usefully refers to the home
+directory of any individual running \TeX. It expands to
+\dirname{$HOME} on Unix and \verb|%USERPROFILE%| on Windows.
+
+\dirname{TEXMFVAR} is the location for storing cached runtime data
+specific to each user, including the \ConTeXt\ Mk\acro{IV} cache.
+
+
+\subsubsection{Options}
+\label{sec:options}
+
+\begin{figure}[tbh]
+\begin{boxedverbatim}
+Current options setup:
+===============================================================================
+ <P> use letter size instead of A4 by default: [ ]
+ <E> execution of restricted list of programs: [X]
+ <F> create format files: [X]
+ <D> install font/macro doc tree: [X]
+ <S> install font/macro source tree: [X]
+ <L> create symlinks in standard directories: [ ]
+ binaries to:
+ manpages to:
+ info to:
+\end{boxedverbatim}
+\caption{Options menu (Unix)}\label{fig:options-text}
+\end{figure}
+
+Figure~\ref{fig:options-text} shows the text mode options menu.
+More info on each:
+
+\begin{description}
+\item[use letter size instead of A4 by default:] The default paper
+ size selection. Of course, individual documents can and should
+ specify a specific paper size, if desired.
+
+\item[execution of restricted list of programs:] As of \TL\ 2010,
+ execution of a few external programs is allowed by default. The (very
+ short) list of allowed programs is given in the \filename{texmf.cnf}.
+ See the 2010 news (section~\ref{sec:2010news}) for more details.
+
+\item[create format files:] Although unnecessary format files
+ take time to generate and disk space to store, it is still recommended
+ to leave this option checked: if you don't, then format files will be
+ generated in people's private \dirname{TEXMFVAR} tree as they are
+ needed. In that location, they will not be updated automatically if
+ (say) binaries or hyphenation patterns are updated in the
+ installation, and thus could end up with incompatible format files.
+
+\item[install font/macro \ldots\ tree:] These options allow you to omit
+ downloading/installing the documentation and source files present in
+ most packages. Not recommended.
+
+\item[create symlinks in standard directories] (Unix only):
+ This option bypasses the need to change environment variables. Without
+ this option, \TL{} directories usually have to be added to
+ \envname{PATH}, \envname{MANPATH} and \envname{INFOPATH}. You will
+ need write permissions to the target directories. It is strongly
+ advised \emph{not} to overwrite a \TeX\ system that came with your
+ system with this option. It is intended primarily for accessing the
+ \TeX\ system through directories that are already known to users, such
+ as \dirname{/usr/local/bin}, which don't already contain any \TeX\
+ files.
+\end{description}
+
+When all the settings are to your liking, you can type `I' to start the
+installation process. When it is done, skip to
+section~\ref{sec:postinstall} to read what else needs to be done, if
+anything.
+
+\subsection{Command-line install-tl options}
+\label{sec:cmdline}
+
+Type
+\begin{alltt}
+> \Ucom{install-tl -help}
+\end{alltt}
+for a listing of command-line options. Either |-| or |--| can be used
+to introduce option names. These are the most common ones:
+
+\begin{ttdescription}
+\item[-gui] If possible, use the \GUI{} installer. This requires the
+ Perl/Tk module (\url{http://tug.org/texlive/distro.html#perltk})
+ compiled with \acro{XFT} support; if Perl/Tk is not available,
+ installation continues in text mode.
+
+\item[-no-gui] Force using the text mode installer, even under
+ Windows; you'll need this if you want a `from \DVD' installation,
+ since that is not available in \GUI{} mode.
+
+\item[-lang {\sl LL}] Specify the installer interface
+ language as its standard two-letter code \textsl{\acro{LL}}. Currently
+ supported languages:
+ \texttt{cs} (Czech),
+ \texttt{de} (German),
+ \texttt{en} (English, default)
+ \texttt{fr} (French),
+ \texttt{it} (Italian),
+ \texttt{ja} (Japanese),
+ \texttt{nl} (Dutch),
+ \texttt{pl} (Polish),
+ \texttt{ru} (Russian),
+ \texttt{sk} (Slovak),
+ \texttt{sl} (Slovenian),
+ \texttt{sr} (Serbian),
+ \texttt{vi} (Vietnamese),
+ \texttt{zh-cn} (Simplified Chinese),
+ \texttt{zh-tw} (Traditional Chinese).
+ The installer tries to automatically determine the right
+ language but if it fails, or if the right language is not
+ available, then it uses English as a fallback.
+
+\item[-portable] Install for portable use on a \acro{USB} stick
+ or \DVD. This option minimizes impact on the host system, making \TL{}
+ self-contained in a single directory. See also
+ section~\ref{sec:portable-tl} for more details on portable usage.
+
+\item[-profile {\sl file}] The installer always writes a file
+ \filename{texlive.profile} to the \dirname{tlpkg} subdirectory of your
+ installation. This option tells the installer to re-use such a
+ profile file, so you can install in batch mode on subsequent systems,
+ reproducing the choices you made in a prior installation.
+
+\item [-repository {\sl url-or-directory}] Specify package
+ repository from which to install; see following.
+\end{ttdescription}
+
+\subsubsection{The \optname{-repository} option}
+\label{sec:location}
+
+The default package repository is a \CTAN{} mirror chosen automatically
+via \url{http://mirror.ctan.org}.
+
+If you want to override that, the location value can be a url starting
+with \texttt{ftp:}, \texttt{http:}, or \texttt{file:/}, or a plain
+directory path. (When giving an \texttt{http:}\ or \texttt{ftp:}\
+location, trailing `\texttt{/}' characters and/or a trailing
+`\texttt{/tlpkg}' component are ignored.)
+
+For example, you could choose a particular \CTAN\ mirror with something
+like: \url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/},
+substituting a real hostname and its particular top-level \CTAN\ path
+for |ctan.example.org/tex-archive|. The list of \CTAN\ mirrors is
+maintained at \url{http://ctan.org/mirrors}.
+
+If the given argument is local (either a path or a \texttt{file:/} url),
+compressed files in an \dirname{archive} subdirectory of the repository
+path are used (even if uncompressed files are available as well).
+
+
+\subsection{Post-install actions}
+\label{sec:postinstall}
+
+Some post-install may be required.
+
+\subsubsection{Windows}
+
+But on Windows, the installer takes care of everything.
+
+\subsubsection{If symlinks were created}
+
+If you elected to create symlinks in standard directories (mentioned in
+section~\ref{sec:options}), then there is no need to edit environment
+variables.
+
+\subsubsection{Environment variables for Unix}
+\label{sec:env}
+
+The directory of the binaries for your platform must be added to
+the search path. Each supported platform has its own subdirectory
+under \dirname{TEXDIR/bin}. See figure~\ref{fig:bin-text} for the
+list of subdirectories and corresponding platforms.
+
+You can also add the documentation man and Info directories to their
+respective search paths, if you want the system tools to find them.
+The man pages might be found automatically after the addition to
+\envname{PATH}.
+
+For Bourne-compatible shells such as \prog{bash}, and using Intel x86
+GNU/Linux and a default directory setup as an example, the file to edit
+might be \filename{$HOME/.profile} (or another file sourced by
+\filename{.profile}, and the lines to add would look like this:
+
+\begin{sverbatim}
+PATH=/usr/local/texlive/2010/bin/i386-linux:$PATH; export PATH
+MANPATH=/usr/local/texlive/2010/texmf/doc/man:$MANPATH; export MANPATH
+INFOPATH=/usr/local/texlive/2010/texmf/doc/info:$INFOPATH; export INFOPATH
+\end{sverbatim}
+
+For csh or tcsh, the file to edit is typically \filename{$HOME/.cshrc}, and
+the lines to add might look like:
+
+\begin{sverbatim}
+setenv PATH /usr/local/texlive/2010/bin/i386-linux:$PATH
+setenv MANPATH /usr/local/texlive/2010/texmf/doc/man:$MANPATH
+setenv INFOPATH /usr/local/texlive/2010/texmf/doc/info:$INFOPATH
+\end{sverbatim}
+
+If you already have settings somewhere in your ``dot'' files, naturally
+the \TL\ directories should simply be merged in as appropriate.
+
+\subsubsection{Environment variables: global configuration}
+\label{sec:envglobal}
+
+If you want to make these changes globally, or for a user newly added to
+the system, then you are on your own; there is just too much variation
+between systems in how and where these things are configured.
+
+Our two hints are: 1)~you may want to check for a file
+\filename{/etc/manpath.config} and, if present, add lines such as
+
+\begin{sverbatim}
+MANPATH_MAP /usr/local/texlive/2010/bin/i386-linux \
+ /usr/local/texlive/2010/texmf/doc/man
+\end{sverbatim}
+
+And 2)~check for a file \filename{/etc/environment} which may define the
+search path and other default environment variables.
+
+In each (Unix) binary directory, we also create a symbolic link named
+\code{man} to the directory \dirname{texmf/doc/man}. Some \code{man}
+programs, such as the standard \MacOSX\ \code{man}, will automatically
+find that, obviating the need for any man page setup.
+
+
+\htmlanchor{xetexfontconfig}
+\subsubsection{Font configuration for \XeTeX}
+\label{sec:font-conf-xetex}
+
+If you have installed the \filename{xetex} package on a Unix-compatible
+system, you need to configure your system if you want \XeTeX\ to be able
+to find the fonts shipped with \TL. To facilitate this, when the
+\pkgname{xetex} package is installed (either at initial installation or
+later), the necessary configuration file is created in
+\filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf}.
+
+To set up the \TL{} fonts for system-wide use (assuming you have
+suitable privileges), proceed as follows:
+\begin{enumerate*}
+\item Copy the \filename{texlive-fontconfig.conf} file to
+\dirname{/etc/fonts/conf.d/09-texlive.conf}.
+\item Run \Ucom{fc-cache -fsv}.
+\end{enumerate*}
+
+If you do not have sufficient privileges to carry out the steps above,
+you can instead do the following to make the \TL{} fonts available
+to you as an individual \XeTeX{} user:
+\begin{enumerate*}
+\item Copy the \filename{texlive-fontconfig.conf} file to
+ \filename{~/.fonts.conf}, where \filename{~} is your home directory.
+\item Run \Ucom{fc-cache -fv}.
+\end{enumerate*}
+
+
+\subsubsection{\ConTeXt{} Mark IV}
+\label{sec:context-mkiv}
+
+The `old' \ConTeXt{} (Mark \acro{II}) should run out of the box after
+\TL{} installation. The `new' Lua\TeX-based \ConTeXt{} Mark \acro{IV}
+requires manual setup. After installation, each Mk\acro{IV} user must
+run:
+\begin{sverbatim}
+luatools --generate
+context --make
+\end{sverbatim}
+The resulting files are stored under \code{TEXMFVAR}.
+
+For more information, see
+\url{http://wiki.contextgarden.net/Running_Mark_IV} and
+\url{http://wiki.contextgarden.net/TeX_Live_2010}.
+
+
+\subsubsection{Integrating local and personal macros}
+\label{sec:local-personal-macros}
+
+This is already mentioned implicitly in section~\ref{sec:texmftrees}:
+\dirname{TEXMFLOCAL} (by default,
+\dirname{/usr/local/texlive/texmf-local} or
+\verb|%SystemDrive%\texlive\texmf-local|)
+is intended for system-wide local fonts and macros; and
+\dirname{TEXMFHOME} (by default, \dirname{$HOME/texmf} or
+\verb|%USERPROFILE%\texmf|), is for personal fonts and macros. These
+directories are intended to stick around from release to release, and
+have their content seen automatically by a new \TL{} release.
+Therefore, it is best to refrain from changing the definition of
+\dirname{TEXMFLOCAL} to be too far away from the main \TL{} directory,
+or you will need to manually change future releases.
+
+For both trees, files should be placed in their proper subdirectories;
+see \url{http://tug.org/tds} or consult
+\filename{texmf/web2c/texmf.cnf}. For instance, a \LaTeX{} class file or
+package should be placed in \dirname{TEXMFLOCAL/tex/latex} or
+\dirname{TEXMFHOME/tex/latex}, or a subdirectory thereof.
+
+\dirname{TEXMFLOCAL} requires an up-to-date filename database, or files
+will not be found. You can update it with the command
+\cmdname{mktexlsr} or use the `Reinit file database' button on the
+configuration tab of the \TeX\ Live Manager \GUI.
+
+\subsubsection{Integrating third-party fonts}
+
+This is unfortunately a messy topic. Forget about it unless you want to
+delve into many details of the \TeX{} installation. Don't forget to
+check first what you get for free: see section~\ref{sec:tl-fonts}.
+
+A possible alternative is to use \XeTeX\ or Lua\TeX\ (see
+section~\ref{sec:tex-extensions}), which let you use operating system
+fonts without any installation in \TeX.
+
+If you do need to do this, see
+\url{http://tug.org/fonts/fontinstall.html} for our best effort at
+describing the procedure.
+
+
+\subsubsection{Increasing maximum memory on Windows and Cygwin}
+\label{sec:cygwin-maxmem}
+
+Windows and Cygwin (see section~\ref{sec:cygwin} for Cygwin installation
+specifics) users may find that they run out of memory when running some
+of the programs shipped with \TL. For example, \prog{asy} might run out
+of memory if you try to allocate an array of 25,000,000 reals, and
+Lua\TeX\ might run out of memory if you try to process a document with a
+lot of big fonts.
+
+For Cygwin, you can increase the amount of available memory by following
+the instructions in the Cygwin User's Guide
+(\url{http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}).
+
+For Windows, you have to create a file, say \code{moremem.reg}, with
+these four lines:
+
+\begin{sverbatim}
+Windows Registry Editor Version 5.00
+
+[HKEY_LOCAL_MACHINE\Software\Cygwin]
+"heap_chunk_in_mb"=dword:ffffff00
+\end{sverbatim}
+
+\noindent and then execute the command \code{regedit /s moremem.reg} as
+administrator. (If you want to change memory only for the current user
+instead of system-wide, use \code{HKEY\_CURRENT\_USER}.)
+
+
+\subsection{Testing the installation}
+\label{sec:test-install}
+
+After installing \TL{} as best you can, you naturally want to test
+it out, so you can start creating beautiful documents and\slash or fonts.
+
+This section gives some basic procedures for testing that the new system
+is functional. We give Unix commands here; under \MacOSX{} and Windows,
+you're more likely to run the tests through a graphical interface, but
+the principles are the same.
+
+\begin{enumerate}
+
+\item Make sure that you can run the \cmdname{tex} program in the first
+place:
+\begin{alltt}
+> \Ucom{tex -{}-version}
+TeX 3.1415926 (TeX Live 2010)
+kpathsea version 6.0.0
+Copyright 2010 D.E. Knuth.
+...
+\end{alltt}
+If this comes back with `command not found' instead of version and
+copyright information, or with an older version, most likely you don't
+have the correct \dirname{bin} subdirectory in your \envname{PATH}. See
+the environment-setting information on \p.\pageref{sec:env}.
+
+\item Process a basic \LaTeX{} file:
+\begin{alltt}
+> \Ucom{latex sample2e.tex}
+pdfTeX 3.1415926-1.40.11-2.2 (TeX Live 2010)
+...
+Output written on sample2e.dvi (3 pages, 7484 bytes).
+Transcript written on sample2e.log.
+\end{alltt}
+If this fails to find \filename{sample2e.tex} or other files, most
+likely you have interference from old environment variables or
+configuration files; we recommend unsetting all \TeX-related environment
+variables for a start. (For a deep analysis, you can ask \TeX{} to
+report on exactly what it is searching for, and finding; see ``Debugging
+actions'' on page~\pageref{sec:debugging}.)
+
+\item Preview the result online:
+\begin{alltt}
+> \Ucom{xdvi sample2e.dvi} # Unix
+> \Ucom{dviout sample2e.dvi} # Windows
+\end{alltt}
+You should see a new window with a nice document explaining some of the
+basics of \LaTeX{}. (Well worth reading, by the way, if you're new to
+\TeX.) You do have to be running under X for \cmdname{xdvi} to work; if
+you're not, or your \envname{DISPLAY} environment variable is set
+incorrectly, you'll get an error \samp{Can't open display}.
+
+\item Create a \PS{} file for printing or display:
+\begin{alltt}
+> \Ucom{dvips sample2e.dvi -o sample2e.ps}
+\end{alltt}
+
+\item Create a \acro{PDF} file instead of \dvi{}; this processes the
+\filename{.tex} file and writes \acro{PDF} directly:
+\begin{alltt}
+> \Ucom{pdflatex sample2e.tex}
+\end{alltt}
+
+\item Preview the \acro{PDF} file:
+\begin{alltt}
+> \Ucom{gv sample2e.pdf}
+\textrm{or:}
+> \Ucom{xpdf sample2e.pdf}
+\end{alltt}
+Neither \cmdname{gv} nor \cmdname{xpdf} are included in \TL{}, so you
+must install them separately. See \url{http://www.gnu.org/software/gv}
+and \url{http://www.foolabs.com/xpdf}, respectively. There are plenty
+of other \acro{PDF} viewers, too. For Windows, we recommend trying
+Sumatra PDF (\url{http://blog.kowalczyk.info/software/sumatrapdf}).
+
+\item Standard test files you may find useful in addition to
+\filename{sample2e.tex}:
+
+\begin{ttdescription}
+\item [small2e.tex] A simpler document than \filename{sample2e}, to
+reduce the input size if you're having troubles.
+\item [testpage.tex] Test if your printer introduces any offsets.
+\item [nfssfont.tex] For printing font tables and tests.
+\item [testfont.tex] Also for font tables, but using plain \TeX{}.
+\item [story.tex] The most canonical (plain) \TeX{} test file of all.
+You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex
+story.tex}.
+\end{ttdescription}
+
+\item If you have installed the \filename{xetex} package, you can test
+its access to system fonts as follows:
+\begin{alltt}
+> \Ucom{xetex opentype-info.tex}
+This is XeTeX, Version 3.1415926\dots
+...
+Output written on opentype-info.pdf (1 page).
+Transcript written on opentype-info.log.
+\end{alltt}
+If you get an error message saying ``Invalid fontname `Latin Modern
+Roman/ICU'\dots'', then you need to configure your system so that
+\XeTeX{} can find the fonts shipped with \TL. See
+Section~\ref{sec:font-conf-xetex}.
+
+\end{enumerate}
+
+\subsection{Links for additional downloadable software}
+
+If you are new to \TeX{}, or otherwise need help with actually writing
+\TeX{} or \LaTeX{} documents, please visit
+\url{http://tug.org/begin.html} for some introductory resources.
+
+Links for some other tools you may consider installing:
+\begin{description}
+\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/}
+\item[Perl] \url{http://www.perl.org/} with
+ supplementary packages from \acro{CPAN}, \url{http://www.cpan.org/}
+\item[ImageMagick] \url{http://www.imagemagick.com}, for graphics
+ processing and conversion
+\item[NetPBM] \url{http://netpbm.sourceforge.net/}, also for graphics.
+
+\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the
+ user's taste. Here is a selection in alphabetical order (a few
+ here are for Windows only).
+ \begin{itemize*}
+ \item \cmdname{GNU Emacs} is available natively under Windows, see
+ \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}.
+ \item \cmdname{Emacs} with Auc\TeX\ for Windows is available in
+ the directory \path{tlpkg/support} on the \TL \DVD; its home
+ page is \url{http://www.gnu.org/software/auctex}.
+ \item \cmdname{LEd} is available from \url{http://www.ctan.org/support/LEd}.
+ \item \cmdname{SciTE} is available from
+ \url{http://www.scintilla.org/SciTE.html}.
+ \item \cmdname{Texmaker} is free software, available from
+ \url{http://www.xm1math.net/texmaker/}.
+ \item \cmdname{TeXnicCenter} is free software, available from
+ \url{http://www.texniccenter.org} and in the pro\TeX{}t distribution.
+ \item \cmdname{TeXworks} is free software, available from
+ \url{http://tug.org/texworks} and installed for Windows and
+ \MacOSX\ as part of \TL.
+ \item \cmdname{Vim} is free software, available from
+ \url{http://www.vim.org}.
+ \item \cmdname{WinEdt} is shareware available though
+ \url{http://tug.org/winedt} or \url{http://www.winedt.com}.
+ \item \cmdname{WinShell} is available from \url{http://www.winshell.de}.
+ \end{itemize*}
+\end{description}
+For a much longer list of packages and programs, see
+\url{http://tug.org/interest.html}.
+
+
+
+\section{Network installations}
+\label{sec:netinstall}
+
+\TL{} has been designed to be sharable between different users on one
+system, and/or between different systems on a network. With a standard
+directory layout, no hard paths are configured: the locations for files
+needed by \TL{} programs are found relative to the programs. You can
+see this in the principal configuration file
+\filename{$TEXMFMAIN/web2c/texmf.cnf}, which contains lines such as
+\begin{sverbatim}
+TEXMFMAIN = $SELFAUTOPARENT/texmf
+...
+TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local
+\end{sverbatim}
+This means that adding the directory for \TL{} executables for their
+platform to their search path is sufficient to get a working setup.
+
+By the same token, you can also install \TL{} locally and then move
+the entire hierarchy afterwards to a network location.
+
+For Windows, a sample network installation script named
+\filename{w32client} can be downloaded through
+\url{http://tug.org/texlive/w32client.html}. It creates settings and
+menu shortcuts for using an existing \TL{} installation on a \acro{LAN}.
+It also registers an uninstaller \filename{w32unclient}, available
+in the same zip file. See the web page for more information.
+
+
+\htmlanchor{tlportable}
+\section{Maximally portable \protect\TL{} on DVD and USB}
+\label{sec:portable-tl}
+
+To use \TL{} in a ``portable'' way, minimizing impact on the host
+system, you should first install \TL{} to a \acro{USB} stick using the
+\optname{-portable} option of the installer (see
+section~\ref{sec:cmdline}). Then you can run the \filename{tl-portable}
+script (Unix) or \filename{tl-portable.bat} batch file (Windows) from
+the resulting installation root to start up a shell.
+
+You could also burn the resulting contents of the stick back to \DVD{}
+if that is more convenient to (for example) give to others.
+
+When the \filename{tl-portable} script is run from a \DVD{} for the
+first time, some files will be generated on the host system in a
+directory \dirname{~/.tlportable2010}, which will take some time. On
+subsequent runs, though, it will start quickly.
+
+The rest of the system will be unaware of \TL. If you want your editor
+to be aware of this \TL, then you should start it from a second,
+parallel, such \filename{tl-portable} session.
+
+
+\section{\cmdname{tlmgr}: Managing your installation}
+\label{sec:tlmgr}
+
+\begin{figure}[tb]
+\tlpng{tlmgr-gui}{\linewidth}
+\caption{\prog{tlmgr} in \GUI\ mode: main window, after `Load'.}
+\label{fig:tlmgr-gui}
+\end{figure}
+
+\begin{figure}[tb]
+\hbox to \hsize{%
+ \vtop{\hsize=.59\linewidth
+ \null % make figures align at the top
+ \tlpng{tlmgr-general-options}{\hsize}
+ \caption{\texttt{tlmgr} in \GUI\ mode: General options}
+ \label{fig:tlmgr-general-options}
+ }
+ \hfil
+ \vtop{\hsize=.39\linewidth
+ \null
+ \tlpng{tlmgr-paper-options}{\hsize}
+ \caption{\texttt{tlmgr} in \GUI\ mode: Paper size options}
+ \label{fig:tlmgr-paper-options}
+ }
+}
+\end{figure}
+
+\TL{} includes a program named \prog{tlmgr} for managing \TL{} after the
+initial installation. The programs \prog{updmap}, \prog{fmtutil} and
+\prog{texconfig} are still included and will be retained in the future,
+but \prog{tlmgr} is now the preferred interface. Its capabilities
+include:
+
+\begin{itemize*}
+\item installing, updating, backing up, restoring, and uninstalling
+ individual packages, optionally taking dependencies into account;
+\item searching for and listing packages, etc.;
+\item listing, adding, and removing platforms;
+\item changing installation options such as paper size and source
+ location (see section~\ref{sec:location}).
+\end{itemize*}
+\textit{Warning:} \prog{tlmgr} has not been designed for or tested
+with portable installations (section~\ref{sec:portable-tl}).
+
+\subsection{\cmdname{tlmgr} GUI mode}
+\prog{tlmgr} can be started in \GUI{} mode (figure~\ref{fig:tlmgr-gui}) with
+\begin{alltt}
+> \Ucom{tlmgr -gui}
+\end{alltt}
+or in Windows via the Start menu: \texttt{Start}, \texttt{Programs},
+\texttt{TeX Live 2010}, \texttt{TeX Live Manager}. After clicking `Load'
+it displays a list of available and installed packages. This assumes of
+course that the installation source is valid and reachable.
+
+Figures~\ref{fig:tlmgr-general-options} and~\ref{fig:tlmgr-paper-options}
+show the general and paper size option screens.
+
+\subsection{Sample \cmdname{tlmgr} command-line invocations}
+
+After the initial installation, you can update your system to the latest
+versions available with:
+\begin{alltt}
+> \Ucom{tlmgr update -all}
+\end{alltt}
+If this makes you nervous, first try
+\begin{alltt}
+> \Ucom{tlmgr update -all -dry-run}
+\end{alltt}
+or (less verbose):
+\begin{alltt}
+> \Ucom{tlmgr update -list}
+\end{alltt}
+
+This more complex example adds a collection, for the engine \XeTeX, from
+a local directory:
+
+\begin{alltt}
+> \Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex}
+\end{alltt}
+It generates the following output (abridged):
+\begin{fverbatim}
+install: collection-xetex
+install: arabxetex
+...
+install: xetex
+install: xetexconfig
+install: xetex.i386-linux
+running post install action for xetex
+install: xetex-def
+...
+running mktexlsr
+mktexlsr: Updating /usr/local/texlive/2010/texmf/ls-R...
+...
+running fmtutil-sys --missing
+...
+Transcript written on xelatex.log.
+fmtutil: /usr/local/texlive/2010/texmf-var/web2c/xetex/xelatex.fmt installed.
+\end{fverbatim}
+
+As you can see, \prog{tlmgr} installs dependencies, and takes care of any
+necessary post-install actions, including updating the filename database
+and (re)generating formats. In the above, we generated new formats for
+\XeTeX.
+
+To describe a package (or collection or scheme):
+\begin{alltt}
+> \Ucom{tlmgr show collection-latexextra}
+\end{alltt}
+which produces
+\begin{fverbatim}
+package: collection-latexextra
+category: Collection
+shortdesc: LaTeX supplementary packages
+longdesc: A large collection of add-on packages for LaTeX.
+installed: Yes
+revision: 14675
+\end{fverbatim}
+
+Last and most important, for full documentation see
+\url{http://tug.org/texlive/tlmgr.html}, or:
+\begin{alltt}
+> \Ucom{tlmgr -help}
+\end{alltt}
+
+
+\section{Notes on Windows}
+\label{sec:windows}
+
+\TL\ has a single installer which runs on both Windows and Unix. This
+was only possible by dropping support for older Windows versions, so
+\TL\ can now be installed only on Windows 2000 and later.
+
+
+\subsection{Windows-specific features}
+\label{sec:winfeatures}
+
+Under Windows, the installer does some extra things:
+\begin{description}
+\item[Menus and shortcuts.] A new `\TL{}' submenu of the
+ Start menu is installed, which contains entries for some \GUI{}
+ programs (\prog{tlmgr}, \prog{texdoctk}, the PS\_View (\prog{psv})
+ PostScript previewer) and some documentation. PS\_View also gets a
+ shortcut on the desktop as a drag-and-drop target for PostScript
+ files.
+\item[Automatic setting of environment variables.] No manual
+ configuration steps are required.
+\item[Uninstaller.] The installer creates an entry under `Add/Remove
+ Programs' for \TL. The uninstall tab of the \TeX\ Live Manager \GUI\
+ refers to this.
+\end{description}
+
+\subsection{Additional software included on Windows}
+
+To be complete, a \TL installation needs support packages that are not
+commonly found on a Windows machine. \TL{} provides the missing
+pieces:
+\begin{description}
+\item[Perl and Ghostscript.] Because of the importance of Perl and
+ Ghostscript, \TL{} includes `hidden' copies of these
+ programs. \TL{} programs that need them know where to find them,
+ but they don't betray their presence through environment variables
+ or registry settings. They aren't full-scale installations, and
+ shouldn't interfere with any system installations of Perl or
+ Ghostscript.
+
+\item[PS\_View.] Also installed is PS\_View, a \PS{} and \acro{PDF}
+ viewer; see figure~\ref{fig:psview}.
+
+\begin{figure}[tb]
+\tlpng{psview}{.6\linewidth}
+\caption{PS\_View: very high magnifications available!}\label{fig:psview}
+\end{figure}
+
+\item[dviout.] Also installed is \prog{dviout}, a \acro{DVI} viewer.
+ At first, when you preview files with \cmdname{dviout}, it will create
+ fonts, because screen fonts were not installed. After a while, you
+ will have created most of the fonts you use, and you will rarely see
+ the font-creation window. More information can be found in the
+ (highly recommended) on-line help.
+
+\item[\TeX{}works.] \TeX{}works is a \TeX-oriented editor with
+ an integrated \acro{PDF} viewer.
+
+\item[Command-line tools.] A number of Windows ports of common Unix
+ command-line programs are installed along with the usual \TL{}
+ binaries. These include \cmdname{gzip}, \cmdname{unzip} and the
+ utilities from the \cmdname{xpdf} suite (\cmdname{pdfinfo},
+ \cmdname{pdffonts}, \ldots). The \cmdname{xpdf} viewer itself is not
+ available for Windows. Instead, you can download the Sumatra
+ \acro{PDF} viewer, which is based on \cmdname{xpdf}, from
+ \url{http://blog.kowalczyk.info/software/sumatrapdf}, among other options.
+
+\item[fc-list, fc-cache, \ldots] The tools from the fontconfig library allow
+ \XeTeX{} to handle system fonts on Windows. You can use
+ \prog{fc-list} to determine the font names to pass to \XeTeX's
+ extended \cs{font} command. If necessary, run \prog{fc-cache}
+ first to update font information.
+
+\end{description}
+
+
+\subsection{User Profile is Home}
+\label{sec:winhome}
+
+The Windows counterpart of a Unix home directory is the
+\verb|%USERPROFILE%| directory. Under Windows \acro{XP} and Windows 2000, this
+is usually \verb|C:\Documents and Settings\<username>|, and under
+Windows Vista \verb|C:\Users\<username>|. In the
+\filename{texmf.cnf} file, and \KPS{} in general, \verb|~| will expand
+appropriately on both Windows and Unix.
+
+
+\subsection{The Windows registry}
+\label{sec:registry}
+
+Windows stores nearly all configuration data in its registry. The
+registry contains a set of hierarchically organized keys, with several
+root keys. The most important ones for installation programs are
+\path{HKEY_CURRENT_USER} and \path{HKEY_LOCAL_MACHINE}, \path{HKCU} and
+\path{HKLM} in short. The \path{HKCU} part of the registry is in the
+user's home directory (see section~\ref{sec:winhome}). \path{HKLM} is
+normally in a subdirectory of the Windows directory.
+
+In some cases, system information could be obtained from environment
+variables but for other information, for example the location of
+shortcuts, it is necessary to consult the registry. Setting environment
+variables permanently also requires registry access.
+
+
+\subsection{Windows permissions}
+\label{sec:winpermissions}
+
+In later versions of Windows, a distinction is made between regular
+users and administrators, where only the latter have free access to the
+entire operating system. In practice, though, you could better describe
+these classes of users as unprivileged users and normal users: being an
+administrator is the rule, not the exception. Nevertheless, we have made
+an effort to make \TL{} installable without administrative privileges.
+
+If the user is an administrator, there is an option to install for all
+users. If this option is chosen, shortcuts are created for all users,
+and the system environment is modified. Otherwise, shortcuts and menu
+entries are created for the current user, and the user environment is
+modified.
+
+Regardless of administrator status, the default root of \TL{} proposed
+by the installer is always under \verb|%SystemDrive%|. The installer
+always tests whether the root is writable for the current user.
+
+A problem may arise if the user is not an administrator and \TeX{}
+already exists in the search path. Since the effective path
+consists of the system path followed by the user path, the new \TL{}
+would never get precedence. As a safeguard, the installer creates a
+shortcut to the command-prompt in which the new \TL{} binary
+directory is prepended to the local search path. The new \TL{} will
+be always usable from within such a command-prompt. The shortcut for
+\TeX{}works, if installed, also prepends \TL{} to the search path, so it
+should also be immune to this path problem.
+
+For Vista there is another twist: even if you are logged in as
+administrator, you need to explicitly ask for administrator
+privileges. In fact, there is not much point in logging in as
+administrator. Instead, right-clicking on the program or shortcut
+that you want to run usually gives you a choice `Run as
+administrator'.
+
+\section{A user's guide to Web2C}
+
+\Webc{} is an integrated collection of \TeX-related programs: \TeX{}
+itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TL{}. The home
+page for \Webc{}, with the current manual and more, is
+\url{http://tug.org/web2c}.
+
+A bit of history: The original implementation was by Tomas Rokicki who,
+in 1987, developed a first \TeX{}-to-C system based on change files
+under Unix, which were primarily the original work of Howard Trickey and
+Pavel Curtis. Tim Morgan became the maintainer of the system, and
+during this period the name changed to Web-to-C\@. In 1990, Karl Berry
+took over the work, assisted by dozens of additional contributors, and
+in 1997 he handed the baton to Olaf Weber, who returned it to Karl in
+2006.
+
+The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and
+other operating systems. It uses Knuth's original sources for \TeX{} and
+other basic programs written in the \web{} literate programming system
+and translates them into C source code. The core \TeX{} programs
+handled in this way are:
+
+\begin{cmddescription}
+\item[bibtex] Maintaining bibliographies.
+\item[dvicopy] Expands virtual font references in \dvi{} files.
+\item[dvitomp] \dvi{} to MPX (MetaPost pictures).
+\item[dvitype] \dvi{} to human-readable text.
+\item[gftodvi] Generic font proofsheets.
+\item[gftopk] Generic to packed fonts.
+\item[gftype] GF to human-readable text.
+\item[mf] Creating typeface families.
+\item[mft] Prettyprinting \MF{} source.
+\item[mpost] Creating technical diagrams.
+\item[patgen] Creating hyphenation patterns.
+\item[pktogf] Packed to generic fonts.
+\item[pktype] PK to human-readable text.
+\item[pltotf] Plain text property list to TFM.
+\item[pooltype] Display \web{} pool files.
+\item[tangle] \web{} to Pascal.
+\item[tex] Typesetting.
+\item[tftopl] TFM to plain text property list.
+\item[vftovp] Virtual font to virtual property list.
+\item[vptovf] Virtual property list to virtual font.
+\item[weave] \web{} to \TeX.
+\end{cmddescription}
+
+\noindent The precise functions and syntax of these programs are
+described in the documentation of the individual packages and of \Webc{}
+itself. However, knowing a few principles governing the whole family of
+programs will help you take advantage of your \Webc{} installation.
+
+All programs honor these standard \GNU options:
+\begin{ttdescription}
+\item[-{}-help] print basic usage summary.
+\item[-{}-verbose] print detailed progress report.
+\item[-{}-version] print version information, then exit.
+\end{ttdescription}
+
+For locating files the \Webc{} programs use the path searching library
+\KPS{} (\url{http://tug.org/kpathsea}). This library uses a combination
+of environment variables and a configuration files to optimize searching
+the (huge) collection of \TeX{} files. \Webc{} can look at many
+directory trees simultaneously, which is useful in maintaining \TeX's
+standard distribution and local and personal extensions in distinct
+trees. To speed up file searches, the root of each tree has a file
+\file{ls-R}, containing an entry showing the name and relative pathname
+for all files under that root.
+
+
+\subsection{Kpathsea path searching}
+\label{sec:kpathsea}
+
+Let us first describe the generic path searching mechanism of the \KPS{}
+library.
+
+We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list
+of \emph{path elements}, which are basically directory names. A
+search path can come from (a combination of) many sources. To look up
+a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each
+element of the path in turn: first \file{./my-file}, then
+\file{/dir/my-file}, returning the first match (or possibly all
+matches).
+
+In order to adapt optimally to all operating systems' conventions, on
+non-Unix systems \KPS{} can use filename separators different from
+colon (\samp{:}) and slash (\samp{/}).
+
+To check a particular path element \var{p}, \KPS{} first checks if a
+prebuilt database (see ``Filename data\-base'' on
+page~\pageref{sec:filename-database}) applies to \var{p}, i.e., if the
+database is in a directory that is a prefix of \var{p}. If so, the path
+specification is matched against the contents of the database.
+
+If the database does not exist, or does not apply to this path
+element, or contains no matches, the filesystem is searched (if this
+was not forbidden by a specification starting with \samp{!!}\ and if
+the file being searched for must exist). \KPS{} constructs the list
+of directories that correspond to this path element, and then checks
+in each for the file being sought.
+
+The ``file must exist'' condition comes into play with \samp{.vf} files and
+input files read by \TeX's \cs{openin} command. Such files may not
+exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the
+disk for them. Therefore, if you fail to update \file{ls-R} when you
+install a new \samp{.vf} file, it will never be found.
+Each path element is checked in turn: first the database, then the
+disk. If a match is found, the search stops and the result is
+returned.
+
+Although the simplest and most common path element is a directory
+name, \KPS{} supports additional features in search paths: layered
+default values, environment variable names, config file values, users'
+home directories, and recursive subdirectory searching. Thus, we say
+that \KPS{} \emph{expands} a path element, meaning it transforms all
+the specifications into basic directory name or names. This is
+described in the following sections in the same order as it takes
+place.
+
+Note that if the filename being searched for is absolute or explicitly
+relative, i.e., starts with \samp{/} or \samp{./} or \samp{../},
+\KPS{} simply checks if that file exists.
+
+\ifSingleColumn
+\else
+\begin{figure*}
+\verbatiminput{examples/ex5.tex}
+\setlength{\abovecaptionskip}{0pt}
+ \caption{An illustrative configuration file sample}
+ \label{fig:config-sample}
+\end{figure*}
+\fi
+
+\subsubsection{Path sources}
+\label{sec:path-sources}
+
+A search path can come from many sources. In the order in which
+\KPS{} uses them:
+
+\begin{enumerate}
+\item
+ A user-set environment variable, for instance, \envname{TEXINPUTS}\@.
+ Environment variables with a period and a program name appended
+ override; e.g., if \samp{latex} is the name of the program being run,
+ then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}.
+\item
+ A program-specific configuration file, for exam\-ple, a line
+ \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}.
+\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like
+ \samp{TEXINPUTS=/c:/d} (see below).
+\item The compile-time default.
+\end{enumerate}
+\noindent You can see each of these values for a given search path by
+using the debugging options (see ``Debugging actions'' on
+page~\pageref{sec:debugging}).
+
+\subsubsection{Config files}
+
+\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf}
+for search path and other definitions. The search path used to look
+for these files is named \envname{TEXMFCNF}, but we do not recommend
+setting this (or any) environment variable.
+
+Instead, normal installation results in a file
+\file{.../2010/texmf.cnf}. If you must make changes to the defaults
+(not normally necessary), this is the place to put them. The main
+configuration file is in \file{.../2010/texmf/web2c/texmf.cnf}. You
+should not edit this latter file, as your changes will be lost when the
+distributed version is updated.
+
+\emph{All} \file{texmf.cnf} files in the search path will be read and
+definitions in earlier files override those in later files. For
+example, with a search path of \verb|.:$TEXMF|, values from
+\file{./texmf.cnf} override those from \verb|$TEXMF/texmf.cnf|.
+
+\begin{itemize}
+\item
+ Comments start with \code{\%} and continue to the end of the line.
+\item
+ Blank lines are ignored.
+\item
+ A \bs{} at the end of a line acts as a continuation character,
+ i.e., the next line is appended. Whitespace at the beginning of
+ continuation lines is not ignored.
+\item
+ Each remaining line has the form:
+\begin{alltt}
+ \var{variable}[.\var{progname}] [=] \var{value}
+\end{alltt}%
+ where the \samp{=} and surrounding whitespace are optional.
+\item
+ The \ttvar{variable} name may contain any character other
+ than whitespace, \samp{=}, or \samp{.}, but sticking to
+ \samp{A-Za-z\_} is safest.
+\item
+ If \samp{.\var{progname}} is present, the definition only
+ applies if the program that is running is named
+ \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows
+ different flavors of \TeX{} to have different search paths, for
+ example.
+\item \var{value} may contain any characters except
+ \code{\%} and \samp{@}. The
+ \code{\$\var{var}.\var{prog}} feature is not available on the
+ right-hand side; instead, you must use an additional variable. A
+ \samp{;}\ in \var{value} is translated to \samp{:}\ if
+ running under Unix; this is useful to be able to have a single
+ \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems.
+\item
+ All definitions are read before anything is expanded, so
+ variables can be referenced before they are defined.
+\end{itemize}
+A configuration file fragment illustrating most of these points is
+\ifSingleColumn
+shown below:
+
+\verbatiminput{examples/ex5.tex}
+\else
+shown in Figure~\ref{fig:config-sample}.
+\fi
+
+\subsubsection{Path expansion}
+\label{sec:path-expansion}
+
+
+\KPS{} recognizes certain special characters and constructions in
+search paths, similar to those available in Unix shells. As a
+general example, the complex path,
+\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under
+directories \file{foo} and \file{bar} in \texttt{\$USER}'s home
+directory that contain a directory or file \file{baz}. These
+expansions are explained in the sections below.
+%$
+\subsubsection{Default expansion}
+\label{sec:default-expansion}
+
+If the highest-priority search path (see ``Path sources'' on
+page~\pageref{sec:path-sources}) contains an \emph{extra colon} (i.e.,
+leading, trailing, or doubled), \KPS{} inserts at that point the
+next-highest-prio\-rity search path that is defined. If that inserted
+path has an extra colon, the same happens with the next highest. For
+example, given an environment variable setting
+
+\begin{alltt}
+> \Ucom{setenv TEXINPUTS /home/karl:}
+\end{alltt}
+and a \code{TEXINPUTS} value from \file{texmf.cnf} of
+
+\begin{alltt}
+ .:\$TEXMF//tex
+\end{alltt}
+then the final value used for searching will be:
+
+\begin{alltt}
+ /home/karl:.:\$TEXMF//tex
+\end{alltt}
+
+Since it would be useless to insert the default value in more than one
+place, \KPS{} changes only one extra \samp{:}\ and leaves any others in
+place. It checks first for a leading \samp{:}, then a trailing
+\samp{:}, then a doubled \samp{:}.
+
+\subsubsection{Brace expansion}
+
+A useful feature is brace expansion, which means that, for instance,
+\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed.
+This is used to implement multiple \TeX{} hierarchies, by
+assigning a brace list to \code{\$TEXMF}.
+For example, in \file{texmf.cnf}, the following definition
+(approximately; there are actually even more trees) is made:
+\begin{verbatim}
+ TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN}
+\end{verbatim}
+Using this you can then write something like
+\begin{verbatim}
+ TEXINPUTS = .;$TEXMF/tex//
+\end{verbatim}
+%$
+which means that, after looking in the current directory, the
+\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex}
+and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the
+last two use using \file{ls-R} data base files). It is a convenient
+way for running two parallel \TeX{} structures, one ``frozen'' (on a
+\CD, for instance) and the other being continuously updated with new
+versions as they become available. By using the \code{\$TEXMF}
+variable in all definitions, one is sure to always search the
+up-to-date tree first.
+
+\subsubsection{Subdirectory expansion}
+\label{sec:subdirectory-expansion}
+
+Two or more consecutive slashes in a path element following a directory
+\var{d} is replaced by all subdirectories of \var{d}: first those
+subdirectories directly under \var{d}, then the subsubdirectories under
+those, and so on. At each level, the order in which the directories are
+searched is \emph{unspecified}.
+
+If you specify any filename components after the \samp{//}, only
+subdirectories with matching components are included. For example,
+\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b},
+\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}.
+
+Multiple \samp{//} constructs in a path are possible, but
+\samp{//} at the beginning of a path is ignored.
+
+\subsubsection{List of special characters and their meaning: a summary}
+
+The following list summarizes the special characters in \KPS{}
+configuration files.
+
+% need a wider space for the item labels here.
+\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}}
+\begin{ttdescription}
+\item[\CODE{:}] Separator in path specification; at the beginning or
+ the end of a path it substitutes the default path expansion.\par
+\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}).
+\item[\CODE{\$}] Variable expansion.
+\item[\CODE{\string~}] Represents the user's home directory.
+\item[\CODE{\char`\{...\char`\}}] Brace expansion.
+\item[\CODE{//}] Subdirectory expansion (can occur anywhere in
+ a path, except at its beginning).
+\item[\CODE{\%}] Start of comment.
+\item[\CODE{\bs}] Continuation character (allows multi-line entries).
+\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do
+ not} search the disk.
+\end{ttdescription}
+
+
+\subsection{Filename databases}
+\label{sec:filename-database}
+
+\KPS{} goes to some lengths to minimize disk accesses for searches.
+Nevertheless, at installations with enough directories, searching each
+possible directory for a given file can take an excessively long time
+(this is especially true if many hundreds of font directories have to
+be traversed.) Therefore, \KPS{} can use an externally-built plain text
+``database'' file named \file{ls-R} that maps files to directories,
+thus avoiding the need to exhaustively search the disk.
+
+A second database file \file{aliases} allows you to give additional
+names to the files listed in \file{ls-R}. This can be helpful to
+confirm to \acro{DOS} 8.3 filename conventions in source files.
+
+\subsubsection{The filename database}
+\label{sec:ls-R}
+
+As explained above, the name of the main filename database must be
+\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in
+your installation that you wish to be searched (\code{\$TEXMF} by
+default). \KPS{} looks for
+\file{ls-R} files along the \code{TEXMFDBS} path.
+
+The recommended way to create and maintain \samp{ls-R} is to run the
+\code{mktexlsr} script included with the distribution. It is invoked
+by the various \samp{mktex}\dots\ scripts. In principle, this script
+just runs the command
+\begin{alltt}
+cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R
+\end{alltt}
+presuming your system's \code{ls} produces the right output format
+(\GNU \code{ls} is all right). To ensure that the database is
+always up-to-date, it is easiest to rebuild it regularly via
+\code{cron}, so that it is automatically updated when the installed
+files change, such as after installing or updating a \LaTeX{} package.
+
+If a file is not found in the database, by default \KPS{} goes ahead
+and searches the disk. If a particular path element begins with
+\samp{!!}, however, \emph{only} the database will be searched for that
+element, never the disk.
+
+
+\subsubsection{kpsewhich: Standalone path searching}
+\label{sec:invoking-kpsewhich}
+
+The \texttt{kpsewhich} program exercises path searching independent of any
+particular application. This can be useful as a sort of \code{find}
+program to locate files in \TeX{} hierarchies (this is used heavily in
+the distributed \samp{mktex}\dots\ scripts).
+
+\begin{alltt}
+> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}}
+\end{alltt}
+The options specified in \ttvar{option} start with either \samp{-}
+or \samp{-{}-}, and any unambiguous abbreviation is accepted.
+
+\KPS{} looks up each non-option argument on the command line as a
+filename, and returns the first file found. There is no option to
+return all the files with a particular name (you can run the Unix
+\samp{find} utility for that).
+
+The most common options are described next.
+
+\begin{ttdescription}
+\item[\texttt{-{}-dpi=\var{num}}]\mbox{}
+ Set the resolution to \ttvar{num}; this only affects \samp{gf}
+ and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility
+ with \cmdname{dvips}. Default is 600.
+
+\item[\texttt{-{}-format=\var{name}}]\mbox{}\\
+ Set the format for lookup to \ttvar{name}. By default, the
+ format is guessed from the filename. For formats which do not have
+ an associated unambiguous suffix, such as \MP{} support files and
+ \cmdname{dvips} configuration files, you have to specify the name as
+ known to \KPS{}, such as \texttt{tex} or \texttt{enc files}. Run
+ \texttt{kpsewhich -{}-help} for a list.
+
+\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\
+ Set the mode name to \ttvar{string}; this only affects \samp{gf}
+ and \samp{pk} lookups. No default: any mode will be found.
+\item[\texttt{-{}-must-exist}]\mbox{}\\
+ Do everything possible to find the files, notably including
+ searching the disk. By default, only the \file{ls-R} database is
+ checked, in the interest of efficiency.
+\item[\texttt{-{}-path=\var{string}}]\mbox{}\\
+ Search along the path \ttvar{string} (colon-separated as usual),
+ instead of guessing the search path from the filename. \samp{//} and
+ all the usual expansions are supported. The options \samp{-{}-path}
+ and \samp{-{}-format} are mutually exclusive.
+\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\
+ Set the program name to \texttt{\var{name}}.
+ This can affect the search paths via the \texttt{.\var{progname}}
+ feature.
+ The default is \cmdname{kpsewhich}.
+\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\
+ shows the path used for file lookups of file type \texttt{\var{name}}.
+ Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a
+ name can be used, just as with \samp{-{}-format} option.
+\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\
+ sets the debugging options to \texttt{\var{num}}.
+\end{ttdescription}
+
+
+\subsubsection{Examples of use}
+\label{sec:examples-of-use}
+
+Let us now have a look at \KPS{} in action. Here's a straightforward search:
+
+\begin{alltt}
+> \Ucom{kpsewhich article.cls}
+ /usr/local/texmf-dist/tex/latex/base/article.cls
+\end{alltt}
+We are looking for the file \file{article.cls}. Since the \samp{.cls}
+suffix is unambiguous we do not need to specify that we want to look for a
+file of type \optname{tex} (\TeX{} source file directories). We find it in
+the subdirectory \file{tex/latex/base} below the \samp{texmf-dist} \TL\
+directory. Similarly, all of the following are found without problems
+thanks to their unambiguous suffix.
+\begin{alltt}
+> \Ucom{kpsewhich array.sty}
+ /usr/local/texmf-dist/tex/latex/tools/array.sty
+> \Ucom{kpsewhich latin1.def}
+ /usr/local/texmf-dist/tex/latex/base/latin1.def
+> \Ucom{kpsewhich size10.clo}
+ /usr/local/texmf-dist/tex/latex/base/size10.clo
+> \Ucom{kpsewhich small2e.tex}
+ /usr/local/texmf-dist/tex/latex/base/small2e.tex
+> \Ucom{kpsewhich tugboat.bib}
+ /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib
+\end{alltt}
+
+By the way, that last is a \BibTeX{} bibliography database for
+\textsl{TUGboat} articles.
+
+\begin{alltt}
+> \Ucom{kpsewhich cmr10.pk}
+\end{alltt}
+Font bitmap glyph files of type \file{.pk} are used by display
+programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in
+this case since there are no pre-generated Computer Modern \samp{.pk}
+files in \TL{}\Dash the Type~1 variants are used by default.
+\begin{alltt}
+> \Ucom{kpsewhich wsuipa10.pk}
+\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk
+\else /usr/local/texmf-var/fonts/pk/ljfour/public/
+... wsuipa/wsuipa10.600pk
+\fi\end{alltt}
+For these fonts (a phonetic alphabet from the University of Washington)
+we had to generate \samp{.pk} files, and since the default \MF{} mode on
+our installation is \texttt{ljfour} with a base resolution of 600\dpi{}
+(dots per inch), this instantiation is returned.
+\begin{alltt}
+> \Ucom{kpsewhich -dpi=300 wsuipa10.pk}
+\end{alltt}
+In this case, when specifying that we are interested in a resolution
+of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on
+the system. A program like \cmdname{dvips} or \cmdname{xdvi} would
+go off and actually build the required \texttt{.pk} files
+using the script \cmdname{mktexpk}.
+
+Next we turn our attention to \cmdname{dvips}'s header and configuration
+files. We first look at one of the commonly used files, the general
+prologue \file{tex.pro} for \TeX{} support, before turning our attention
+to the generic configuration file (\file{config.ps}) and the \PS{} font
+map \file{psfonts.map}\Dash as of 2004, map and encoding files have
+their own search paths and new location in \dirname{texmf} trees. As
+the \samp{.ps} suffix is ambiguous we have to specify explicitly which
+type we are considering (\optname{dvips config}) for the file
+\texttt{config.ps}.
+\begin{alltt}
+> \Ucom{kpsewhich tex.pro}
+ /usr/local/texmf/dvips/base/tex.pro
+> \Ucom{kpsewhich --format="dvips config" config.ps}
+ /usr/local/texmf/dvips/config/config.ps
+> \Ucom{kpsewhich psfonts.map}
+ /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map
+\end{alltt}
+
+We now take a closer look at the \acro{URW} Times \PS{} support
+files. The prefix for these in the standard font naming scheme is
+\samp{utm}. The first file we look at is the configuration file,
+which contains the name of the map file:
+\begin{alltt}
+> \Ucom{kpsewhich --format="dvips config" config.utm}
+ /usr/local/texmf-dist/dvips/psnfss/config.utm
+\end{alltt}
+The contents of that file is
+\begin{alltt}
+ p +utm.map
+\end{alltt}
+which points to the file \file{utm.map}, which we want to
+locate next.
+\begin{alltt}
+> \Ucom{kpsewhich utm.map}
+ /usr/local/texmf-dist/fonts/map/dvips/times/utm.map
+\end{alltt}
+This map file defines the file names of the Type~1 \PS{} fonts in
+the URW collection. Its contents look like (we only show part of the
+lines):
+\begin{alltt}
+utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb
+utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb
+utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb
+utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb
+utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb
+utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb
+\end{alltt}
+Let us, for instance, take the Times Roman instance
+\file{utmr8a.pfb} and find its position in the \file{texmf} directory
+tree with a search for Type~1 font files:
+\begin{alltt}
+> \Ucom{kpsewhich utmr8a.pfb}
+\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb
+\else /usr/local/texmf-dist/fonts/type1/
+... urw/utm/utmr8a.pfb
+\fi\end{alltt}
+
+It should be evident from these examples how you can easily locate the
+whereabouts of a given file. This is especially important if you suspect
+that the wrong version of a file is picked up somehow, since
+\cmdname{kpsewhich} will show you the first file encountered.
+
+\subsubsection{Debugging actions}
+\label{sec:debugging}
+
+Sometimes it is necessary to investigate how a program resolves file
+references. To make this practical, \KPS{} offers various levels of
+debugging output:
+
+\begin{ttdescription}
+\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running
+ with an up-to-date \file{ls-R} database this should almost give no
+ output.
+\item[\texttt{\ 2}] References to hash tables (such as \file{ls-R}
+ databases, map files, configuration files).
+\item[\texttt{\ 4}] File open and close operations.
+\item[\texttt{\ 8}] General path information for file types
+ searched by \KPS. This is useful to find out where a particular
+ path for the file was defined.
+\item[\texttt{16}] Directory list for each path element (only relevant
+ for searches on disk).
+\item[\texttt{32}] File searches.
+\item[\texttt{64}] Variable values.
+\end{ttdescription}
+A value of \texttt{-1} will set all the above options; in practice,
+this is usually the most convenient.
+
+Similarly, with the \cmdname{dvips} program, by setting a combination of
+debug switches, one can follow in detail where files are being picked up
+from. Alternatively, when a file is not found, the debug trace shows in
+which directories the program looks for the given file, so that one can
+get an indication what the problem~is.
+
+Generally speaking, as most programs call the \KPS{} library
+internally, one can select a debug option by using the
+\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a
+combination of) values as described in the above list.
+
+(Note for Windows users: it is not easy to redirect
+all messages to a file in this system. For diagnostic purposes
+you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}).
+
+Let us consider, as an example, a small \LaTeX{} source file,
+\file{hello-world.tex}, which contains the following input.
+\begin{verbatim}
+ \documentclass{article}
+ \begin{document}
+ Hello World!
+ \end{document}
+\end{verbatim}
+This little file only uses the font \file{cmr10}, so let us look at
+how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1
+version of the Computer Modern fonts, hence the option \texttt{-Pcms}).
+\begin{alltt}
+> \Ucom{dvips -d4100 hello-world -Pcms -o}
+\end{alltt}
+In this case we have combined \cmdname{dvips}'s debug class 4 (font
+paths) with \KPS's path element expansion (see \cmdname{dvips} Reference
+Manual, \OnCD{texmf/doc/dvips/dvips.pdf}).
+The output (slightly rearranged) appears in
+Figure~\ref{fig:dvipsdbga}.
+\begin{figure*}[tp]
+\centering
+\input{examples/ex6a.tex}
+\caption{Finding configuration files}\label{fig:dvipsdbga}
+
+\bigskip
+
+\input{examples/ex6b.tex}
+\caption{Finding the prolog file}\label{fig:dvipsdbgb}
+
+\bigskip
+
+\input{examples/ex6c.tex}
+\caption{Finding the font file}\label{fig:dvipsdbgc}
+\end{figure*}
+
+\cmdname{dvips} starts by locating its working files. First,
+\file{texmf.cnf} is found, which gives the definitions of the search
+paths for the other files, then the file database \file{ls-R} (to
+optimize file searching) and the file \file{aliases}, which makes it
+possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and
+a more natural longer version) for the same file. Then \cmdname{dvips}
+goes on to find the generic configuration file \file{config.ps}
+before looking for the customization file \file{.dvipsrc} (which, in
+this case is \emph{not found}). Finally, \cmdname{dvips} locates the
+config file for the Computer Modern \PS{} fonts \file{config.cms}
+(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips}
+command). This file contains the list of the map files which
+define the relation between the \TeX{}, \PS{} and file system
+names of the fonts.
+\begin{alltt}
+> \Ucom{more /usr/local/texmf/dvips/cms/config.cms}
+ p +ams.map
+ p +cms.map
+ p +cmbkm.map
+ p +amsbkm.map
+\end{alltt}
+\cmdname{dvips} thus goes on to find all these files, plus the generic
+map file \file{psfonts.map}, which is always loaded (it contains
+declarations for commonly used \PS{} fonts; see the last part of
+Section \ref{sec:examples-of-use} for more details about \PS{} map
+file handling).
+
+At this point \cmdname{dvips} identifies itself to the user:
+\begin{alltt}
+This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com)
+\end{alltt}
+\ifSingleColumn
+Then it goes on to look for the prolog file \file{texc.pro}:
+\begin{alltt}\small
+kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0,
+ path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:
+ ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).
+kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro
+\end{alltt}
+\else
+Then it goes on to look for the prolog file \file{texc.pro} (see
+Figure~\ref{fig:dvipsdbgb}).
+\fi
+
+After having found the file in question, \cmdname{dvips} outputs
+the date and time, and informs us that it will generate the
+file \file{hello-world.ps}, then that it needs the font file
+\file{cmr10}, and that the latter is declared as ``resident'' (no
+bitmaps needed):
+\begin{alltt}\small
+TeX output 1998.02.26:1204' -> hello-world.ps
+Defining font () cmr10 at 10.0pt
+Font cmr10 <CMR10> is resident.
+\end{alltt}
+Now the search is on for the file \file{cmr10.tfm}, which is found,
+then a few more prolog files (not shown) are referenced, and finally
+the Type~1 instance \file{cmr10.pfb} of the font is located and
+included in the output file (see last line).
+\begin{alltt}\small
+kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0,
+ path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:
+ /var/tex/fonts/tfm//).
+kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm
+kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0,
+ ...
+<texps.pro>
+kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0,
+ path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:
+ ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).
+kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb
+<cmr10.pfb>[1]
+\end{alltt}
+
+\subsection{Runtime options}
+
+Another useful feature of \Webc{} is its possibility to control a number
+of memory parameters (in particular, array sizes) via the runtime file
+\file{texmf.cnf} read by \KPS{}. The memory settings can be found in
+Part~3 of that file in the \TL{} distribution. The more important
+are:
+
+\begin{ttdescription}
+\item[\texttt{main\_memory}]
+ Total words of memory available, for
+ \TeX{}, \MF{} and \MP. You must make a new format file for each
+ different setting. For instance, you could generate a ``huge''
+ version of \TeX{}, and call the format file \texttt{hugetex.fmt}.
+ Using the standard way of specifying the program name used by \KPS{},
+ the particular value of the \texttt{main\_memory} variable will then
+ be read from \file{texmf.cnf}.
+\item[\texttt{extra\_mem\_bot}]
+ Extra space for ``large'' \TeX{} data structures:
+ boxes, glue, breakpoints, etc. Especially useful if you use
+ \PiCTeX{}.
+\item[\texttt{font\_mem\_size}]
+ Number of words for font information available for \TeX. This
+ is more or less the total size of all \acro{TFM} files read.
+\item[\texttt{hash\_extra}]
+ Additional space for the hash table of control sequence names.
+ Only $\approx$10,000 control sequences can be stored in the main
+ hash table; if you have a large book with numerous cross-references,
+ this might not be enough. The default value of
+ \texttt{hash\_extra} is \texttt{50000}.
+\end{ttdescription}
+
+\noindent Of course, this facility is no substitute for truly dynamic
+arrays and memory allocation, but since these are extremely difficult to
+implement in the present \TeX{} source, these runtime parameters provide
+a practical compromise allowing some flexibility.
+
+
+\begin{comment}
+\section{Building on a new Unix platform}
+
+If you have a platform for which executables are not included, you will
+need to compile \TeX{} and friends. This is not as hard as it
+sounds. What you need is all in the directory \texttt{source} in the
+distribution.
+
+\subsection{Prerequisites}
+
+You will need at least 100 megabytes of disk space to compile all of
+\TeX{} and its support programs. You'll also need an \acro{ANSI} C
+compiler, a \cmdname{make} utility, a lexical scanner, and a parser
+generator. We recommend the \GNU version of these programs
+(\cmdname{gcc}, \GNU \cmdname{make}, \cmdname{m4}, \cmdname{flex},
+\cmdname{bison}). You may be able to work with other C compilers and
+\cmdname{make} programs, but you will need a good understanding of
+building Unix programs to sort out problems.
+
+Also, the command \texttt{uname} must return a sensible value.
+
+
+\subsection{Configuration}
+
+To begin, perform a normal installation of \TL{} to your disk (see
+section~\ref{sec:install-disk} on
+\p.\pageref{sec:install-disk}). You may wish to skip installing
+all of the prebuilt binaries.
+
+Then, unpack the source from the compressed \texttt{tar} file in the
+directory \dirname{source} to your disk and change directory to where
+you placed it.
+
+Next, run \cmdname{configure} with a command line like this:
+\begin{alltt}
+> \Ucom{sh configure -prefix=/usr/local/TeX}
+\end{alltt}
+
+The \optname{-prefix} directory is the one where you installed the
+support tree; the directory layout will be as follows (where \$TEXDIR
+stands for the directory you chose):
+
+\noindent
+\begin{tabular}{>{\ttfamily}ll@{}}
+ \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\
+ & \qquad macros, etc\\
+ \dirname{$TEXDIR/man} & Unix manual pages\\
+ \dirname{$TEXDIR/info} & \GNU style Info manuals\\
+ \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\
+\end{tabular}
+%$
+
+If you want to leave out the \dirname{$PLATFORM} directory level,
+i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify
+the \verb|--disable-multiplatform| option to \cmdname{configure}.
+
+Have a look at the output of \verb|./configure --help| for more
+options you can use. For example, you can skip building of \OMEGA{} and
+\eTeX{}.
+
+
+\subsection{Running \cmdname{make}}
+
+Make sure the shell variable or option \texttt{noclobber} is not set.
+Then, run the main \cmdname{make} like this:
+\begin{alltt}
+> \Ucom{make world}
+\end{alltt}
+and relax\ldots
+
+Alternatively, you want to log all the output, as in:
+\begin{alltt}
+> \Ucom{sh -c "make world >world.log 2>\&1" \&}
+\end{alltt}
+
+Before you believe that everything went ok, please check the log file
+for errors: \GNU \cmdname{make} always uses the string \samp{***}
+whenever a command fails. Also, check if all the programs were built:
+
+\begin{alltt}
+> \Ucom{cd \var{TEXDIR}/bin/\var{archname}}
+> \Ucom{ls | wc}
+\end{alltt}
+The result should be over 200 (you can check the exact number with the
+\dirname{bin} directory contents in the distribution).
+
+If you need special privileges for \texttt{make install}, you can
+separate the \samp{make world} into two different runs, like this:
+\begin{alltt}
+> \Ucom{make all}
+> \Ucom{su}
+> \Ucom{make install strip}
+\end{alltt}
+
+After you've installed your new binaries, you should follow the normal
+post-installation procedures, given in section~\ref{sec:postinstall}
+(\p.\pageref{sec:postinstall}).
+
+Also, if you'd like to make your binaries available to others, please
+contact us. We'll be happy to put them on the \TL\ web pages.
+\end{comment}
+
+\htmlanchor{ack}
+\section{Acknowledgements}
+
+\TL{} is a joint effort by virtually all of the \TeX{} user groups.
+This edition of \TL{} was overseen by Karl Berry. The other principal
+contributors, past and present, are listed below.
+
+\begin{itemize*}
+
+\item The English, German, Dutch, and Polish \TeX{} user groups
+(\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST},
+respectively), which provide the necessary technical and administrative
+infrastructure. Please join the \TeX\ user group near you! (See
+\url{http://tug.org/usergroups.html}.)
+
+\item The \acro{CTAN} team, notably Robin Fairbairns, Jim Hef{}feron,
+and Rainer Sch\"opf, which distributes the \TL{} images and provides the
+common infrastructure for package updates, upon which \TL{} depends.
+
+\item Nelson Beebe, for making many platforms available to \TL\
+developers, and his own comprehensive testing.
+
+\item John Bowman, for making many changes to his advanced graphics
+program Asymptote to make it work in \TL.
+
+\item Peter Breitenlohner and the \eTeX\ team for the stable foundation
+of future \TeX's, and Peter specifically for stellar help with \GNU\
+autotools usage throughout \TL.
+
+\item Jin-Hwan Cho and all of the DVIPDFM$x$ team, for their
+excellent driver and responsiveness to configuration issues.
+
+\item Thomas Esser, without whose marvelous \teTeX{} package \TL{}
+would have never existed.
+
+\item Michel Goossens, who co-authored the original documentation.
+
+\item Eitan Gurari, whose \TeX4ht is used to create the \HTML{}
+version of this documentation, and who worked tirelessly to improve it
+at short notice, every year. Eitan prematurely passed away in June
+2009, and we dedicate this documentation to his memory.
+
+\item Hans Hagen, for much testing and making his \ConTeXt\ format
+(\url{http://pragma-ade.com}) work within \TL's framework.
+
+\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team
+(\url{http://pdftex.org}) for continuing enhancements of \TeX's
+abilities.
+
+\item Hartmut Henkel, for significant development contributions to
+pdf\TeX\, Lua\TeX, and more.
+
+\item Taco Hoekwater, for major renewed development efforts on MetaPost and
+(Lua)\TeX\ (\url{http://luatex.org}) itself, incorporating
+\ConTeXt\ into \TL, giving Kpathsea multi-threaded functionality, and
+much more.
+
+\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm},
+and Tomasz {\L}uczak, for \cmdname{tlpmgui}, used in past releases.
+
+\item Akira Kakuto, for providing the Windows
+binaries from his \acro{W32TEX} distribution for Japanese \TeX\
+(\url{http://w32tex.org}), and many other development contributions.
+
+\item Jonathan Kew, for developing the remarkable \XeTeX{} engine and
+taking the time and trouble to integrate it in \TL{}, as well as the
+initial version of the Mac\TeX\ installer, and also for our recommended
+front-end \TeX{}works.
+
+\item Dick Koch, for maintaining Mac\TeX\ (\url{http://tug.org/mactex})
+in very close tandem with \TL{}, and for his great good cheer in doing
+so.
+
+\item Reinhard Kotucha, for major contributions to the \TL{} 2008
+infrastructure and installer, as well as Windows research efforts, the
+\texttt{getnonfreefonts} script, and more.
+
+\item Siep Kroonenberg, also for major contributions to the \TL{} 2008
+infrastructure and installer, especially on Windows, and for the bulk of
+work updating this manual describing those features.
+
+\item Heiko Oberdiek, for the \pkgname{epstopdf} package and many
+others, compressing the huge \pkgname{pst-geo} data files so we could
+include them, and most of all, for his remarkable work on
+\pkgname{hyperref}.
+
+\item Petr Ol\v{s}ak, who coordinated and checked all the Czech and Slovak
+material very carefully.
+
+\item Toshio Oshima, for his \cmdname{dviout} previewer for Windows.
+
+\item Manuel P\'egouri\'e-Gonnard, for helping with package updates,
+documentation improvements, and \cmdname{texdoc} development.
+
+\item Fabrice Popineau, for the original Windows support in \TL{} and
+work on the French documentation.
+
+\item Norbert Preining, the principal architect of the \TL{} 2008
+infrastructure and installer, and also for coordinating the Debian
+version of \TL{} (together with Frank K\"uster), making many suggestions
+along the way.
+
+\item Sebastian Rahtz, for originally creating \TL{} and maintaining it
+for many years.
+
+\item Phil Taylor, for setting up the BitTorrent downloads.
+
+\item Tomasz Trzeciak, for wide-ranging help with Windows.
+
+\item Vladimir Volovich, for substantial help with porting and other
+maintenance issues, and especially for making it feasible to include
+\cmdname{xindy}.
+
+\item Staszek Wawrykiewicz, the principal tester for all of \TL{},
+and coordinator of the many major Polish contributions: fonts, Windows
+installation, and more.
+
+\item Olaf Weber, for his patient maintenance of \Webc.
+
+\item Gerben Wierda, for creating and maintaining the original \MacOSX\
+support, and much integration and testing.
+
+\item Graham Williams, on whose work the \TeX\ Catalogue of packages depends.
+
+\end{itemize*}
+
+Builders of the binaries:
+Alan Braslau (\pkgname{amd64-kfreebsd}, \pkgname{i386-kfreebsd}),
+Peter Breitenlohner (\pkgname{x86\_64-linux}),
+Karl Berry (\pkgname{i386-linux}, \pkgname{sparc-linux}),
+Ken Brown (\pkgname{i386-cygwin}),
+Akira Kakuto (\pkgname{win32}),
+Dick Koch (\pkgname{universal-darwin}, \pkgname{x86\_64-darwin}),
+Nikola Le\v{c}i\'c (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}),
+Norbert Preining (\pkgname{alpha-linux}),
+Jukka Salmi (\pkgname{i386-netbsd}),
+Thomas Schmitz (\pkgname{powerpc-linux}),
+Apostolos Syropoulos (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}),
+Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}),
+Olaf Weber (\pkgname{mips-irix}).
+For information on the \TL{} build process, see
+\url{http://tug.org/texlive/build.html}.
+
+Current documentation translators:
+Boris Veytsman (Russian),
+Jjgod Jiang, Jinsong Zhao, Yue Wang, \& Helin Gai (Chinese),
+Klaus H\"oppner (German),
+Manuel P\'egouri\'e-Gonnard (French),
+Marco Pallante (Italian),
+Nikola Le\v{c}i\'c (Serbian),
+Petr Sojka \& Jan Busa (Czech\slash Slovak),
+Staszek Wawrykiewicz (Polish). The \TL{} documentation web page
+is \url{http://tug.org/texlive/doc.html}.
+
+Of course the most important acknowledgement must go to Donald Knuth,
+first for inventing \TeX, and then for giving it to the world.
+
+
+
+\section{Release history}
+\label{sec:history}
+
+\subsection{Past}
+
+Discussion began in late 1993 when the Dutch \TeX{} Users Group was
+starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it
+was hoped at that time to issue a single, rational, \CD{} for all
+systems. This was too ambitious a target for the time, but it did spawn
+not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG}
+Technical Council working group on a \emph{\TeX{} Directory Structure}
+(\url{http://tug.org/tds}), which specified how to create consistent and
+manageable collections of \TeX{} support files. A complete draft of the
+\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and
+it was clear from an early stage that one desirable product would be a
+model structure on \CD{}. The distribution you now have is a very direct
+result of the working group's deliberations. It was also clear that the
+success of the 4All\TeX{} \CD{} showed that Unix users would benefit
+from a similarly easy system, and this is the other main strand of
+\TL.
+
+We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn
+of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal
+setup, as it already had multi-platform support and was built with
+portability across file systems in mind. Thomas agreed to help, and work
+began seriously at the start of 1996. The first edition was released in
+May 1996. At the start of 1997, Karl Berry completed a major new release
+of Web2c, which included nearly all the features which Thomas Esser had
+added in \teTeX, and we decided to base the 2nd edition of the \CD{} on
+the standard \Webc, with the addition of \teTeX's \texttt{texconfig}
+script. The 3rd edition of the \CD{} was based on a major revision of
+\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX
+was being made, and \TL{} included almost all of its features. The
+4th edition followed the same pattern, using a new version of \teTeX,
+and a new release of \Webc{} (7.3). The system now included a complete
+Windows setup.
+
+For the 5th edition (March 2000) many parts of the \CD{} were revised
+and checked, updating hundreds of packages. Package details were stored
+in XML files. But the major change for \TeX\ Live 5 was that all
+non-free software was removed. Everything in \TL{} is now intended
+to be compatible with the Debian Free Software Guidelines
+(\url{http://www.debian.org/intro/free}); we have done our best to check
+the license conditions of all packages, but we would very much
+appreciate hearing of any mistakes.
+
+The 6th edition (July 2001) had much more material updated. The major
+change was a new install concept: the user could select a more exact set
+of needed collections. Language-related collections were completely
+reorganized, so selecting any of them installs not only macros, fonts,
+etc., but also prepares an appropriate \texttt{language.dat}.
+
+The 7th edition of 2002 had the notable addition of \MacOSX{} support,
+and the usual myriad of updates to all sorts of packages and
+programs. An important goal was integration of the source back with
+\teTeX, to correct the drift apart in versions~5 and~6.
+
+\subsubsection{2003}
+
+In 2003, with the continuing flood of updates and additions, we found
+that \TL{} had grown so large it could no longer be contained on a
+single \CD, so we split it into three different distributions (see
+section~\ref{sec:tl-coll-dists}, \p.\pageref{sec:tl-coll-dists}). In
+addition:
+
+\begin{itemize*}
+\item At the request of the \LaTeX{} team, we changed the standard
+ \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see
+ \p.\pageref{text:etex}).
+\item The new Latin Modern fonts were included (and are recommended).
+\item Support for Alpha \acro{OSF} was removed
+ (\acro{HPUX} support was removed previously), since no one had (or
+ volunteered) hardware available on which to compile new binaries.
+\item Windows setup was substantially changed; for the first time
+ an integrated environment based on XEmacs was introduced.
+\item Important supplementary programs for Windows
+ (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed
+ in the \TL{} installation directory.
+\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm}
+ and \cmdname{pdftex} are now generated by the new program
+ \cmdname{updmap} and installed into \dirname{texmf/fonts/map}.
+\item \TeX{}, \MF{}, and \MP{} now, by default, output most input
+ characters (32 and above) as themselves in output (e.g.,
+ \verb|\write|) files,
+ log files, and the terminal, i.e., \emph{not} translated using the
+ \verb|^^| notation. In \TL{}~7, this translation was
+ dependent on the system locale settings; now, locale settings do
+ not influence the \TeX{} programs' behavior. If for some reason
+ you need the \verb|^^| output, rename the file
+ \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner
+ ways to control this.)
+\item This documentation was substantially revised.
+\item Finally, since the edition numbers had grown unwieldy,
+ the version is now simply identified by the year: \TL{} 2003.
+\end{itemize*}
+
+
+\subsubsection{2004}
+
+2004 saw many changes:
+
+\begin{itemize}
+
+\item If you have locally-installed fonts which use their own
+\filename{.map} or (much less likely) \filename{.enc} support files, you
+may need to move those support files.
+
+\filename{.map} files are now searched for in subdirectories of
+\dirname{fonts/map} only (in each \filename{texmf} tree), along the
+\envname{TEXFONTMAPS} path. Similarly, \filename{.enc} files are now
+searched for in subdirectories of \dirname{fonts/enc} only, along the
+\envname{ENCFONTS} path. \cmdname{updmap} will attempt to warn about
+problematic files.
+
+For methods of handling this and other information, please see
+\url{http://tug.org/texlive/mapenc.html}.
+
+\item The \TK\ has been expanded with the addition of a \MIKTEX-based
+installable \CD, for those who prefer that implementation to Web2C.
+See section~\ref{sec:overview-tl} (\p.\pageref{sec:overview-tl}).
+
+\item Within \TL, the single large \dirname{texmf} tree of previous
+releases has been replaced by three: \dirname{texmf},
+\dirname{texmf-dist}, and \dirname{texmf-doc}. See
+section~\ref{sec:tld} (\p.\pageref{sec:tld}), and the \filename{README}
+files for each.
+
+\item All \TeX-related input files are now collected in
+the \dirname{tex} subdirectory of \dirname{texmf*} trees, rather than
+having separate sibling directories \dirname{tex}, \dirname{etex},
+\dirname{pdftex}, \dirname{pdfetex}, etc. See
+\CDref{texmf-dist/doc/generic/tds/tds.html\#Extensions}
+{\texttt{texmf-dist/doc/generic/tds/tds.html\#Extensions}}.
+
+\item Helper scripts (not meant to be invoked by users) are now located
+in a new \dirname{scripts} subdirectory of \dirname{texmf*} trees, and
+can be searched for via \verb|kpsewhich -format=texmfscripts|. So if you have
+programs which call such scripts, they'll need to be adjusted. See
+\CDref{texmf-dist/doc/generic/tds/tds.html\#Scripts}
+{\texttt{texmf-dist/doc/generic/tds/tds.html\#Scripts}}.
+
+\item Almost all formats leave most characters printable as
+themselves via the ``translation file'' \filename{cp227.tcx}, instead of
+translating them with the \verb|^^| notation. Specifically, characters
+at positions 32--256, plus tab, vertical tab, and form feed are
+considered printable and not translated. The exceptions are plain \TeX\
+(only 32--126 printable), \ConTeXt\ (0--255 printable), and the
+\OMEGA-related formats. This default behavior is almost the same as in
+\TL\,2003, but it's implemented more cleanly, with more possibilities
+for customization. See \CDref{texmf/doc/web2c/web2c.html\#TCX-files}
+{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}.
+(By the way, with Unicode input, \TeX\ may output partial character
+sequences when showing error contexts, since it is byte-oriented.)
+
+\item \textsf{pdfetex} is now the default engine for all formats
+except (plain) \textsf{tex} itself. (Of course it generates \acro{DVI}
+when run as \textsf{latex}, etc.) This means, among other things, that
+the microtypographic features of \textsf{pdftex} are available in
+\LaTeX, \ConTeXt, etc., as well as the \eTeX\ features
+(\OnCD{texmf-dist/doc/etex/base/}).
+
+It also means it's \emph{more important than ever} to use the
+\pkgname{ifpdf} package (works with both plain and \LaTeX) or equivalent
+code, because simply testing whether \cs{pdfoutput} or some other
+primitive is defined is not a reliable way to determine if \acro{PDF}
+output is being generated. We made this backward compatible as best we
+could this year, but next year, \cs{pdfoutput} may be defined even when
+\acro{DVI} is being written.
+
+\item pdf\TeX\ (\url{http://pdftex.org}) has many new features:
+
+ \begin{itemize*}
+
+ \item \cs{pdfmapfile} and \cs{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 All parameters previously set through the special configuration
+ file \filename{pdftex.cfg} must now be set through primitives,
+ typically in \filename{pdftexconfig.tex}; \filename{pdftex.cfg} is no
+ longer supported. Any extant \filename{.fmt} files must be redumped
+ when \filename{pdftexconfig.tex} is changed.
+
+ \item See the pdf\TeX\ manual for more: \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}.
+
+ \end{itemize*}
+
+\item The \cs{input} primitive in \cmdname{tex} (and \cmdname{mf} and
+\cmdname{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: \OnCD{texmf/doc/web2c}.
+
+\item enc\TeX\ support is now included within Web2C and consequently all
+\TeX\ programs, via the \optname{-enc} option\Dash \emph{only when
+formats are built}. enc\TeX\ supports general re-encoding of input and
+output, enabling full support of Unicode (in \acro{UTF}-8). See
+\OnCD{texmf-dist/doc/generic/enctex/} and
+\url{http://www.olsak.net/enctex.html}.
+
+\item Aleph, a new engine combining \eTeX\ and \OMEGA, is available.
+A little information is available in \OnCD{texmf-dist/doc/aleph/base}
+and \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. The
+\LaTeX-based format for Aleph is named \textsf{lamed}.
+
+\item The latest \LaTeX\ release has a new version of the
+\acro{LPPL}\Dash now officially a Debian-approved license. Assorted
+other updates, see the \filename{ltnews} files in
+\OnCD{texmf-dist/doc/latex/base}.
+
+\item \cmdname{dvipng}, a new program for converting \acro{DVI} to
+\acro{PNG} image files, is included. See \OnCD{texmf/doc/man/man1/dvipng.1}.
+
+\item We reduced the \pkgname{cbgreek} package to a ``medium'' sized set
+of fonts, with the assent and advice of the author (Claudio Beccari).
+The excised fonts are the invisible, outline, and transparency ones,
+which are relatively rarely used, and we needed the space. The full set
+is of course available from \acro{CTAN}
+(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}).
+
+\item \cmdname{oxdvi} has been removed; just use \cmdname{xdvi}.
+
+\item The \cmdname{ini} and \cmdname{vir} commands (links) for
+\cmdname{tex}, \cmdname{mf}, and \cmdname{mpost} are no longer created,
+such as \cmdname{initex}. The \cmdname{ini} functionality has been
+available through the command-line option \optname{-ini} for years now.
+
+\item \textsf{i386-openbsd} platform support was removed. Since the
+\pkgname{tetex} package in the \acro{BSD} Ports system is available, and
+\acro{GNU/}Linux and Free\acro{BSD} binaries were available, it seemed
+volunteer time could be better spent elsewhere.
+
+\item On \textsf{sparc-solaris} (at least), you may have to set the
+\envname{LD\_LIBRARY\_PATH} environment variable to run the
+\pkgname{t1utils} programs. This is because they are compiled with C++,
+and there is no standard location for the runtime libraries. (This is
+not new in 2004, but wasn't previously documented.) Similarly, on
+\textsf{mips-irix}, the \acro{MIPS}pro 7.4 runtimes are required.
+
+\end{itemize}
+
+\subsubsection{2005}
+
+2005 saw the usual huge number of updates to packages and programs.
+The infrastructure stayed relatively stable from 2004, but inevitably
+there were some changes there as well:
+
+\begin{itemize}
+
+\item New scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys}, and
+ \cmdname{fmtutil-sys} were introduced, which modify the
+ configuration in the system trees. The \cmdname{texconfig},
+ \cmdname{updmap}, and \cmdname{fmtutil} scripts now modify
+ user-specific files, under \dirname{$HOME/.texlive2005}.
+
+\item Corresponding new variables \envname{TEXMFCONFIG} and
+ \envname{TEXMFSYSCONFIG} to specify the trees where configuration
+ files (user or system, respectively) are found. Thus, you may
+ need to move personal versions of \filename{fmtutil.cnf} and
+ \filename{updmap.cfg} to these places; another option is to
+ redefine \envname{TEXMFCONFIG} or \envname{TEXMFSYSCONFIG} in
+ \filename{texmf.cnf}. In any case the real location of these files
+ and the values of \envname{TEXMFCONFIG} and \envname{TEXMFSYSCONFIG}
+ must agree.
+ See section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}.
+
+\item Last year, we kept \verb|\pdfoutput| and other primitives undefined
+ for \dvi\ output, even though the \cmdname{pdfetex} program was
+ being used. This year, as promised, we undid that compatibility
+ measure. So if your document uses \verb|\ifx\pdfoutput\undefined|
+ to test if PDF is being output, it will need to be changed. You
+ can use the package \pkgname{ifpdf.sty} (which works under both
+ plain \TeX\ and \LaTeX) to do this, or steal its logic.
+
+\item Last year, we changed most formats to output (8-bit) characters as
+ themselves (see previous section). The new TCX file
+ \filename{empty.tcx} now provides an easier way to get the
+ original \verb|^^| notation if you so desire, as in:
+\begin{verbatim}
+latex --translate-file=empty.tcx yourfile.tex
+\end{verbatim}
+
+\item The new program \cmdname{dvipdfmx} is included for translation of
+ DVI to PDF; this is an actively maintained update of
+ \cmdname{dvipdfm} (which is also still available for now, though
+ no longer recommended).
+
+\item The new programs \cmdname{pdfopen} and \cmdname{pdfclose} are included
+ to allow reloading of pdf files in the Adobe Acrobat Reader without
+ restarting the program. (Other pdf readers, notably \cmdname{xpdf},
+ \cmdname{gv}, and \cmdname{gsview}, have never suffered from this
+ problem.)
+
+\item For consistency, the variables \envname{HOMETEXMF} and
+ \envname{VARTEXMF} have been renamed to \envname{TEXMFHOME} and
+ \envname{TEXMFSYSVAR}, respectively. There is also
+ \envname{TEXMFVAR}, which is by default user-specific. See the
+ first point above.
+
+\end{itemize}
+
+
+\subsubsection{2006--2007}
+
+In 2006--2007, the major new addition to \TL{} was the \XeTeX{} program,
+available as the \texttt{xetex} and \texttt{xelatex} programs; see
+\url{http://scripts.sil.org/xetex}.
+
+MetaPost also received a notable update, with more planned for the
+future (\url{http://tug.org/metapost/articles}), likewise pdf\TeX{}
+(\url{http://tug.org/applications/pdftex}).
+
+The \TeX\ \filename{.fmt} (high-speed format) and the similar files for
+MetaPost and \MF\ are now stored in subdirectories of \dirname{texmf/web2c},
+instead of in the directory itself (although the directory is still
+searched, for the sake of existing \filename{.fmt}'s). The
+subdirectories are named for the `engine' in use, such as \filename{tex}
+or \filename{pdftex} or \filename{xetex}. This change should be
+invisible in normal use.
+
+The (plain) \texttt{tex} program no longer reads \texttt{\%\&} first
+lines to determine what format to run; it is the pure Knuthian \TeX.
+(\LaTeX\ and everything else do still read \texttt{\%\&} lines).
+
+Of course the year also saw (the usual) hundreds of other updates to
+packages and programs. As usual, please check \acro{CTAN}
+(\url{http://www.ctan.org}) for updates.
+
+Internally, the source tree is now stored in Subversion, with a standard
+web interface for viewing the tree, as linked from our home page.
+Although not visible in the final distribution, we expect this will
+provide a stable development foundation for future years.
+
+Finally, in May 2006 Thomas Esser announced that he would no longer be
+updating te\TeX{} (\url{http://tug.org/tetex}). As a result, there was
+been a surge of interest in \TL{}, especially among \GNU/Linux
+distributors. (There is a new \texttt{tetex} installation scheme in
+\TL{}, which provides an approximate equivalent.) We hope this will
+eventually translate to improvements in the \TeX\ environment for
+everyone.
+
+\subsubsection{2008}
+
+In 2008, the entire \TL{} infrastructure was redesigned and
+reimplemented. Complete information about an installation is now stored
+in a plain text file \filename{tlpkg/texlive.tlpdb}.
+
+Among other things, this finally makes possible upgrading a \TL{}
+installation over the Internet after the initial installation, a feature
+MiK\TeX\ has provided for many years. We expect to regularly update new
+packages as they are released to \CTAN.
+
+The major new engine Lua\TeX\ (\url{http://luatex.org}) is included;
+besides a new level of flexibility in typesetting, this provides an
+excellent scripting language for use both inside and outside of \TeX\
+documents.
+
+Support among Windows and the Unix-based platforms is now much more
+uniform. In particular, most Perl and Lua scripts are now available on
+Windows, using the Perl internally distributed with \TL.
+
+The new \cmdname{tlmgr} script (section~\ref{sec:tlmgr}) is the
+general interface for managing \TL{} after the initial installation.
+It handles package updates and consequent regeneration of formats, map
+files, and language files, optionally including local additions.
+
+With the advent of \cmdname{tlmgr}, the \cmdname{texconfig} actions to
+edit the format and hyphenation configuration files are now disabled.
+
+The \cmdname{xindy} indexing program
+(\url{http://xindy.sourceforge.net/}) is now included on most platforms.
+
+The \cmdname{kpsewhich} tool can now report all matches for a given file
+(option \optname{--all}) and limit matches to a given subdirectory
+(option \optname{--subdir}).
+
+The \cmdname{dvipdfmx} program now includes functionality to extract
+bounding box information, via the command name \cmdname{extractbb}; this
+was one of the last features provided by \cmdname{dvipdfm} not in
+\cmdname{dvipdfmx}.
+
+The font aliases \filename{Times-Roman}, \filename{Helvetica}, and so on
+have been removed. Different packages expected them to behave
+differently (in particular, to have different encodings), and there was
+no good way to resolve this.
+
+The \pkgname{platex} format has been removed, to resolve a name conflict
+with a completely different Japanese \pkgname{platex}; the
+\pkgname{polski} package is now the main Polish support.
+
+Internally, the \web\ string pool files are now compiled into the
+binaries, to ease upgrades.
+
+Finally, the changes made by Donald Knuth in his `\TeX\ tuneup of 2008'
+are included in this release. See
+\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}.
+
+\subsubsection{2009}
+
+In 2009, the default output format for Lua\AllTeX\ is now PDF, to take
+advantage of Lua\TeX's OpenType support, et al. New executables named
+\code{dviluatex} and \code{dvilualatex} run Lua\TeX\ with DVI output.
+The Lua\TeX\ home page is \url{http://luatex.org}.
+
+The original Omega engine and Lambda format have been excised, after
+discussions with the Omega authors. The updated Aleph and Lamed remain,
+as do the Omega utilities.
+
+A new release of the AMS \TypeI\ fonts is included, including Computer
+Modern: a few shape changes made over the years by Knuth in the Metafont
+sources have been integrated, and the hinting has been updated. The
+Euler fonts have been thoroughly reshaped by Hermann Zapf (see
+\url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf}). In
+all cases, the metrics remain unchanged. The AMS fonts home page is
+\url{http://www.ams.org/tex/amsfonts.html}.
+
+The new GUI front end \TeX{}works is included for Windows, and also in
+Mac\TeX. For other platforms, and more information, see the \TeX{}works
+home page, \url{http://tug.org/texworks}. It is a cross-platform front
+end inspired by the \MacOSX\ TeXShop editor, aiming at ease-of-use.
+
+The graphics program Asymptote is included for several platforms. This
+implements a text-based graphics description language vaguely akin to
+MetaPost, but with advanced 3D support and other features. Its home
+page is \url{http://asymptote.sourceforge.net}.
+
+The separate \code{dvipdfm} program has been replaced by
+\code{dvipdfmx}, which operates in a special compatibility mode under
+that name. \code{dvipdfmx} includes \acro{CJK} support and has
+accumulated many other fixes over the years since the last
+\code{dvipdfm} release. The DVIPDFMx home page is
+\url{http://project.ktug.or.kr/dvipdfmx}.
+
+Executables for the \pkgname{cygwin} and \pkgname{i386-netbsd} platforms
+are now included, while we were advised that Open\acro{BSD} users get
+\TeX\ through their package systems, plus there were difficulties in
+making binaries that have a chance of working on more than one version.
+
+A miscellany of smaller changes: we now use \pkgname{xz} compression,
+the stable replacement for \pkgname{lzma}
+(\url{http://tukaani.org/xz/}); a literal |$| is allowed in filenames
+when it does not introduce a known variable name; the Kpathsea library
+is now multi-threaded (made use of in MetaPost); the entire \TL{} build
+is now based on Automake.
+
+Final note on the past: all releases of \TL{}, along with ancillary
+material such as \CD\ labels, are available at
+\url{ftp://tug.org/historic/systems/texlive}.
+
+
+%
+\htmlanchor{news}
+\subsection{Present}
+\label{sec:tlcurrent}
+\label{sec:2010news} % keep with 2010
+
+In 2010, the default version for PDF output is now 1.5, enabling more
+compression. This applies to all the \TeX\ engines when used to produce
+PDF and to \code{dvipdfmx}. Loading the \pkgname{pdf14} \LaTeX\ package
+changes back to PDF~1.4, or set |\pdfminorversion=4|.
+
+pdf\AllTeX\ now \emph{automatically} converts a requested Encapsulated
+PostScript (EPS) file to PDF, via the \pkgname{epstopdf} package, when
+and if the \LaTeX\ \code{graphics.cfg} configuration file is loaded, and
+PDF is being output. The default options are intended to eliminate any
+chance of hand-created PDF files being overwritten, but you can also
+prevent \code{epstopdf} from being loaded at all by putting
+|\newcommand{\DoNotLoadEpstopdf}{}| (or |\def...|) before the
+\cs{documentclass} declaration. It is also not loaded if the
+\pkgname{pst-pdf} package is used. For more details, see the
+\pkgname{epstopdf} package documentation
+(\url{http://ctan.org/pkg/epstopdf-pkg}).
+
+A related change is that execution of a very few external commands from
+\TeX, via the \cs{write18} feature, is now enabled by default. These
+are commands are \code{repstopdf}, \code{makeindex}, \code{kpsewhich},
+\code{bibtex}, and \code{bibtex8}; the list is defined in
+\code{texmf.cnf}. Environments which must disallow all such external
+commands can deselect this option in the installer (see
+section~\ref{sec:options}), or override the value after installation by
+running |tlmgr conf texmf shell_escape 0|.
+
+Yet another related change is that \BibTeX\ and Makeindex now refuse to
+write their output files to an arbitrary directory (like \TeX\ itself),
+by default. This is so they can now be enabled for use by the
+restricted \cs{write18}. To change this, the \envname{TEXMFOUTPUT}
+environment variable can be set, or the |openout_any| setting changed.
+
+\XeTeX\ now supports margin kerning along the same lines as pdf\TeX.
+(Font expansion is not presently supported.)
+
+By default, \prog{tlmgr} now saves one backup of each package updated
+(\code{tlmgr option autobackup 1}), so broken packages updates can be
+easily reverted with \code{tlmgr restore}. If you do post-install
+updates, and don't have the disk space for the backups, run \code{tlmgr
+option autobackup 0}.
+
+New programs included: the p\TeX\ engine and related utilities for
+typesetting Japanese; the \BibTeX{}U program for Unicode-enabled
+\BibTeX; the \prog{chktex} utility
+(\url{http://baruch.ev-en.org/proj/chktex}) for checking \AllTeX\
+documents; the \prog{dvisvgm} (\url{http://dvisvgm.sourceforge.net})
+DVI-to-SVG translator.
+
+Executables for these new platforms are now included: \code{amd64-freebsd},
+\code{amd64-kfreebsd}, \code{i386-freebsd}, \code{i386-kfreebsd},
+\code{x86\_64-darwin}, \code{x86\_64-solaris}.
+
+A change in \TL{} 2009 that we failed to note: numerous \TeX4ht-related
+executables (\url{http://tug.org/tex4ht}) were removed from the binary
+directories. The generic \code{mk4ht} program can be used to run any of
+the various \code{tex4ht} combinations.
+
+Finally, the \TL{} release on the \TK\ \DVD\ can no longer be run
+live (oddly enough). A single \DVD\ no longer has enough room. One
+benefit is that installation from the physical \DVD\ should now be much
+faster.
+
+
+\subsection{Future}
+
+\emph{\TL{} is not perfect!} (And never will be.) We intend to
+continue to release new versions, and would like to provide more help
+material, more utilities, more installation programs, and (of course) an
+ever-improved and better-checked tree of macros and fonts. This work is
+all done by volunteers in their spare time, and so there is always more
+to do. Please see \url{http://tug.org/texlive/contribute.html}.
+
+Please send corrections, suggestions, and offers of help to:
+\begin{quote}
+\email{tex-live@tug.org} \\
+\url{http://tug.org/texlive}
+\end{quote}
+
+\medskip
+\noindent \textsl{Happy \TeX ing!}
+
+\end{document}
diff --git a/Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2010 b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2010
new file mode 100644
index 00000000000..3af32be1ab1
--- /dev/null
+++ b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2010
@@ -0,0 +1,493 @@
+% $Id: tex-live.sty 19329 2010-07-10 00:44:42Z karl $
+% TeX Live documentation style. Written by many people over many years.
+% Public domain.
+%
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{tex-live}[2009/08/23 v1.7 TeX Live documentation style]
+%
+% colortbl and other packages otherwise make the default be letter, it seems.
+\RequirePackage[a4paper,hscale=0.75,lines=60,vmarginratio=10:8]{geometry}
+%
+\RequirePackage{alltt}
+\RequirePackage{array}
+\RequirePackage{colortbl}
+\RequirePackage{comment}
+\RequirePackage{float}
+\RequirePackage{graphicx}
+\RequirePackage{longtable}
+\RequirePackage{shortvrb}
+\RequirePackage[normalem]{ulem}
+\RequirePackage[obeyspaces]{url}
+\RequirePackage{xspace}
+%
+\RequirePackage{lmodern}
+\usepackage{textcomp}% including \textbullet
+\def\p.{p.\,}
+
+% for a proper \acro command.
+\RequirePackage{relsize}
+%\DeclareRobustCommand{\acro}[1]{\textscale{.9}{#1}\@}
+\def\acro#1{\textscale{.9}{#1}\@}
+%
+\RequirePackage{fancyvrb}
+\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize}
+\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize}
+\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small}
+\DefineVerbatimEnvironment{boxedverbatim}
+ {Verbatim}{fontsize=\footnotesize,frame=single}
+\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize}
+\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}}
+\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}}
+\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}}
+\MakeShortVerb\|
+%
+%
+% Done with packages.
+%
+% emacs-page page layout.
+%
+%ltr \advance\textwidth by 1.1in
+%ltr \advance\oddsidemargin by -.55in
+%ltr \advance\evensidemargin by -.55in
+%ltr %
+%ltr \advance\textheight by 1in
+%ltr \advance\topmargin by -.5in
+%ltr \advance\footskip by -.5in
+%ltr %
+\message{dimens: textwidth=\the\textwidth\space
+ oddsidemargin=\the\oddsidemargin\space
+ evensidemargin=\the\evensidemargin\space
+ textheight=\the\textheight\space
+ topmargin=\the\topmargin\space
+ footskip=\the\footskip}
+%
+% with settings above, and without a4 (hence letter):
+% textwidth=424.49744pt oddsidemargin=22.25128pt evensidemargin=22.25128pt
+% textheight=622.26999pt topmargin=-20.135pt footskip=-6.135pt
+%
+% with default a4paper geometry settings (not enough height):
+% textwidth=418.25368pt oddsidemargin=17.3571pt evensidemargin=17.3571pt
+% textheight=591.5302pt topmargin=-7.86334pt footskip=30.0pt
+%
+% with geometry settings [a4paper,hscale=0.75,lines=60,vmarginratio=10:8]:
+% textwidth=448.1309pt oddsidemargin=2.41849pt evensidemargin=2.41849pt
+% textheight=718.0pt topmargin=-38.68848pt footskip=30.0pt
+
+%
+\pagestyle{headings}
+%
+% LaTeX parameters.
+\renewcommand{\topfraction}{0.85}
+\renewcommand{\floatpagefraction}{0.86}
+\renewcommand{\textfraction}{0.1}
+\renewcommand{\abovecaptionskip}{4pt}
+\renewcommand{\belowcaptionskip}{4pt}
+\setcounter{tocdepth}{3}
+\setcounter{secnumdepth}{3}
+\setcounter{topnumber}{5}
+\setcounter{totalnumber}{5}
+%
+% linebreaking, etc.
+\hbadness=4000
+\vbadness=4000
+\emergencystretch=.1\hsize
+\relpenalty=500
+%
+\def\slash{/\penalty\z@\hskip\z@skip }
+%
+% various sorts of names
+\newcommand*{\pkgname}[1]{\textsf{#1}}% package name
+\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name
+\newcommand*{\cmdname}[1]{\textsf{#1}}% command name
+\newcommand*{\colname}[1]{\emph{#1}}% collection name
+\newcommand*{\dirname}[1]{\path{#1}}% directory name
+\def\filename#1{\path{#1}}% file name
+\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name
+\newcommand{\code}[1]{\texttt{#1}}
+\newcommand{\file}[1]{\texttt{#1}}
+\newcommand{\prog}[1]{\textsf{#1}}% same as \cmdname
+\newcommand{\samp}[1]{`\texttt{#1}'}
+\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted.
+\newcommand{\ttvar}[1]{\texttt{\var{#1}}}
+%
+% underlined command input.
+%\def\Ucom#1{%
+% \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}}
+% bold command input
+\def\Ucom#1{{\bfseries\ttfamily #1}}
+%
+% \CDref is for url's with a #, where we need to write the target url and
+% displayed url separately in the input, due to catcode madness.
+% (We could simplify/remove this next time, I think.)
+\def\CDref#1#2{\texttt{#1}}
+%
+% \OnCD no longer has any use at all, since we don't have unpacked files
+% on the DVD and it has never worked when reading the PDF online.
+\def\OnCD#1{\path{#1}}
+%
+% \OnCD is currently for any other reference to a file or directory in
+% the distribution. PDF readers only open .pdf files, though, so we
+% should change this to only use \href for those. Or more likely use
+% different macros in the source.
+%\def\OnCD#1{\href{../../../../#1}{\path{#1}}}
+%
+% \href incorrectly appends .pdf to anything without an extension; these
+% definitions using \hyper@linkurl do not, but they fail for .pdf
+% references -- which are the only ones that work anyway. So this is
+% useless, in practice.
+%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}}
+%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}}
+
+% GUI menu/button/tab sequence:
+\def\guiseq#1{\textsf{#1}}
+\def\arw{\unskip$\rightarrow$\ignorespaces}
+%
+% Special names.
+\def\dpi{$\,$dpi\xspace}
+\def\bs{{\protect\normalfont\ttfamily\char'134}}
+\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}}
+\def\Q#1{\par\vskip6pt\leftline{#1}\par}
+\def\hyph{-}
+%
+% many abbreviations.
+\def\AllTeX{(\La\kern-.075em)\kern-.075em\TeX}
+\def\AFMtoTFM{\cmdname{AFM2TFM}\null}
+\def\bv{\emph{Baskerville}}
+\let\BV=\bv
+\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex%
+ \hbox{$\mathcal{S}$}\kern-.075em $}
+\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces}
+\def\dvicopy{\cmdname{dvicopy}}
+\def\dvidvi{\cmdname{dvidvi}}
+\def\dvips{\cmdname{dvips}}
+\def\eTeX{$\varepsilon$-\TeX}
+\def\fpTeX{\textrm{fp}\TeX\xspace}
+\def\GFtoDVI{\cmdname{GFtoDVI}\null}
+\def\GFtoPK{\cmdname{GFtoPK}\null}
+\def\GFtype{\cmdname{GFtype}}
+\def\GUI{\acro{GUI}\xspace}
+\def\KPS{Kpathsea}
+% This code % is hacked from its definition of \cs{LaTeX}; it allows
+% slants (for example) to propagate into the raised (small) `A':
+\newcommand{\La}%
+ {L\kern-.36em
+ {\setbox0\hbox{T}%
+ \vbox to\ht0{\hbox{$\m@th$%
+ \csname S@\f@size\endcsname
+ \fontsize\sf@size\z@
+ \math@fontsfalse\selectfont
+ A}%
+ \vss}%
+ }}
+\def\OMEGA{$\Omega$}
+\def\OzMF{OzMF}
+\def\OzMP{OzMP}
+\def\OzTeX{O\kern-.03em z\kern-.15em\TeX}
+\def\PKtype{\cmdname{PKtype}}
+\def\PLtoTF{\cmdname{PLtoTF}\null}
+\def\ProTeXt{pro\TeX t}
+\def\teTeX{\textrm{te}\TeX\xspace}
+\def\TeXLive{\TeX{} Live\xspace}
+\def\TFtoPL{\cmdname{TFtoPL}\null}
+\def\TK{\TeX\ Collection}
+\let\TL=\TeXLive
+\def\TypeI{Type~1}
+\def\VFtoVP{\cmdname{VFtoVP}\null}
+\def\VPtoVF{\cmdname{VPtoVF}\null}
+\def\Thanh{H\`an~Th\ifx % get Unicode char in tex4ht's HTML output
+ \HCode\UnDef\^e\llap{\raise 0.5ex\hbox{\'{}}}\else
+ \HCode{\string&\#x1EBF;}\fi~Th\`anh}
+\def\XEmTeX{\textrm{XEm}\TeX\xspace}
+\def\XEmacs{\textrm{XEmacs}\xspace}
+\def\XeTeX{Xe\TeX}
+\def\Webc{Web2C}
+\providecommand*{\CD}{\acro{CD}\xspace}
+\providecommand*{\CTAN}{\acro{CTAN}\xspace}
+\providecommand*{\DVD}{\texorpdfstring{\acro{DVD}}{DVD}\xspace}
+\providecommand*{\GNU}{\acro{GNU}\xspace}
+\providecommand*{\HTML}{\acro{HTML}\xspace}
+\providecommand*{\ISO}{\acro{ISO}\xspace}
+\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace}
+\providecommand*{\PS}{Post\-Script\xspace}
+\providecommand*{\TDS}{\acro{TDS}\xspace}
+\providecommand*{\dvi}{\acro{DVI}\xspace}
+\providecommand*{\web}{\texttt{WEB}\xspace}
+
+% Include an image.
+% #1 - name of image (pictures/#1.jpg, always .jpg please)
+% #2 - bb for html
+% #3 - width for TeX
+%
+\def\tlimage#1#2#3{%
+ \ifnum \Status=2 % html, want relative path in output
+ \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg}
+ \else % not html, handled by TEXINPUTS in Makefile
+ \includegraphics[width=#3]{pictures/#1.jpg}
+ \fi
+ \\[5mm]
+}
+
+\def\tlpng#1#2{%
+ \ifnum \Status=2 % html, want relative path in output
+ \includegraphics[bb=0 0 1 1]{#1.png}%
+ \else % not html, handled by TEXINPUTS in Makefile
+ \includegraphics[width=#2]{#1.png}%
+ \fi
+}
+%
+% description-like environment that uses tt instead of bf, and doesn't
+% go to the left margin. Without the \hfil, get an underfull box.
+% Don't know why \descriptionlabel doesn't.
+%
+\newenvironment{ttdescription}
+ {\begin{list}{label must be supplied}{%
+ \itemsep=0pt % these lists tend to have short descriptions
+ \parindent=0pt
+ \let\makelabel=\ttdescriptionlabel}}%
+ {\end{list}}
+\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep
+ \normalfont\ttfamily #1\hfil}
+%
+% Likewise, for commands using sans serif.
+\newenvironment{cmddescription}
+ {\begin{list}{label must be supplied}{%
+ \itemsep=0pt
+ \let\makelabel=\cmddescriptionlabel}}%
+ {\end{list}}
+\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep
+ \normalfont\sffamily #1\hfil}
+
+% General squeezed itemize/enumerate.
+\newenvironment{itemize*}%
+ {\begin{itemize}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\parskip}{0pt}}%
+ {\end{itemize}}
+
+\newenvironment{enumerate*}%
+ {\begin{enumerate}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\parskip}{0pt}}%
+ {\end{enumerate}}
+
+\newsavebox{\wbox}
+\newenvironment{warningbox}
+ {\begin{lrbox}{\wbox}
+ \begin{minipage}{.95\textwidth}}
+ {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}}
+%
+% lrbox is used as a representation marking. I changed it to
+% lrBox in tne source file, to get closer to logical marking
+\newsavebox{\mylrbox}
+\newenvironment{lrBox}
+ {\begin{lrbox}{\mylrbox}}
+ {\end{lrbox}}
+
+
+% emacs-page output setup
+%
+\ifx \HCode\UnDef
+ \providecommand{\Status}{0}% running TeX
+\else
+ \providecommand{\Status}{2}% running TeX4ht
+\fi
+%\typeout{Status is \Status}
+%
+\newif\ifSingleColumn
+%
+% By default, we won't be creating hyperlinks.
+\def\href#1#2{#2}
+\def\hypertarget#1#2{}
+\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url
+\def\htmlanchor#1{}
+%
+\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links.
+%
+%
+\ifcase\Status
+ % \Status = 0
+ \typeout{TeX Live documentation in DVI format}
+ \SingleColumntrue
+ \newenvironment{multicols}[1]{}{}
+ \or
+ % \Status = 1
+ \typeout{TeX Live documentation in PDF format}
+ \RequirePackage[breaklinks,
+ colorlinks,linkcolor=hypercolor,citecolor=hypercolor,
+ urlcolor=hypercolor,filecolor=hypercolor,
+ bookmarksopen,
+ %pdfstartview={FitBH -320000}, % fails with acrobat7
+ hyperindex]
+ {hyperref}
+ \SingleColumntrue
+ \newenvironment{multicols}[1]{}{}
+ \or
+ % \Status = 2
+ \typeout{TeX Live documentation in HTML format}
+ \SingleColumntrue
+ \newenvironment{multicols}[1]{}{}
+ % read our config file, live4ht.cfg; q.v., for more definitions.
+ % hyperref load must come after the tex4ht load.
+ \RequirePackage[live4ht]{tex4ht}
+ \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{}
+ % definitions need simplifying for TeX4ht to make relative paths work.
+ \def\CDref#1#2{\href{../../../../#1}{#2}}
+ \def\OnCD#1{\href{../../../../#1}{#1}}
+ \def\htmlanchor#1{\HCode{<a id="#1"></a>}}
+ \or
+ % \Status = 3
+ \typeout{TeX Live documentation as a Baskerville issue}
+ \@ifundefined{Fonts}%
+ {\RequirePackage{ae}}%
+ {\RequirePackage[T1]{\Fonts}}
+ \RequirePackage{bvoutln}% outline of baskerville
+ \SingleColumnfalse
+ \RequirePackage{multicol}
+ \or
+ % \Status = 4
+ \typeout{TeX Live documentation as a TUB article}
+ \@ifundefined{Fonts}%
+ {\RequirePackage{ae}}%
+ {\RequirePackage[T1]{\Fonts}}
+ \SingleColumnfalse
+ \newenvironment{multicols}[1]{}{}
+\fi
+%
+\ifnum \Status=4
+\else
+ \RequirePackage{texnames}
+ \providecommand\TeXXeT{\TeX-{}-%
+ \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@}
+ \def\MP{MetaPost}
+ \let\mf\MF
+ \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt}
+ \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org
+ % from pictex.tex:
+ \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi
+ \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi
+\fi
+%
+% hacking at sections etc., to pay attention to baskerville status
+\newcommand{\@condend@multicols}{%
+ \ifSingleColumn
+ \else
+ \def\@tempa{multicols}%
+ \ifx\@tempa\@currenvir
+ \end{multicols}%
+ \fi
+ \fi
+}
+\let\Section\section
+\renewcommand{\section}{%
+ \@ifstar
+ {\Section*}%
+ {%
+ \@condend@multicols
+ \@dblarg\@full@section
+ }%
+}
+\def\@full@section[#1]#2{%
+ \Section[#1]{#2}%
+ \ifSingleColumn\else\begin{multicols}{2}\fi
+}
+\let\SubSection\subsection
+\renewcommand{\subsection}{%
+ \@ifstar{\SubSection*}%
+ {%
+ \@condend@multicols
+ \@dblarg\@full@subsection
+ }
+}
+\def\@full@subsection[#1]#2{%
+ \SubSection[#1]{#2}%
+ \ifSingleColumn\else\begin{multicols}{2}\fi
+}
+
+% calm things down a bit if we're in a multiple-column version
+\ifSingleColumn
+\else
+ \def\@listI{\leftmargin\leftmargini
+ \parsep \z@
+ \topsep 2\p@ \@plus 1\p@ \@minus 1\p@
+ \itemsep \z@ \@plus .1\p@
+ }
+ \let\@listi\@listI
+ \@listi
+ \def\@listii{\leftmargin\leftmarginii
+ \labelwidth\leftmarginii\advance\labelwidth-\labelsep
+ \topsep 2\p@ \@plus 1\p@ \@minus 1\p@
+ \parsep \z@
+ \itemsep \z@ \@plus .1\p@
+ }
+ \def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
+ \topsep 1\p@ \@plus 1\p@ \@minus 1\p@
+ \parsep \z@
+ \partopsep \z@
+ \itemsep \topsep
+ }
+ \def\@listiv{\leftmargin\leftmarginiv
+ \labelwidth\leftmarginiv\advance\labelwidth-\labelsep
+ }
+ \def\@listv{\leftmargin\leftmarginv
+ \labelwidth\leftmarginv\advance\labelwidth-\labelsep
+ }
+ \def\@listvi{\leftmargin\leftmarginvi
+ \labelwidth\leftmarginvi\advance\labelwidth-\labelsep
+ }
+\fi
+%
+% array package stuff
+\def\arraybackslash{\let\\=\@arraycr}
+\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}}
+%
+% shaded rows (using facilities of colortbl)
+%
+\definecolor{pale}{gray}{.9}
+\newcount\colrow
+\gdef\RowColor{pale}
+\def\SetRowColor{%
+ \rowcolor{\RowColor}%
+ \global\advance\colrow by1\relax
+ \ifodd\colrow
+ \gdef\RowColor{pale}%
+ \else
+ \gdef\RowColor{white}%
+ \fi
+}
+% redefine to hack up a reference even though we don't need it...
+\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout
+ {\string\bibcite{#1}{?}}\fi\ignorespaces}
+%
+% \unknownTeXlive is a dummy texlive entry for the biblio
+\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}%
+ \global\@all@unknown\expandafter{\the\@all@unknown{#2}}%
+}
+\newtoks\@all@unknown
+\global\@all@unknown{}
+\AtEndDocument{\@message@unknowns}
+\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}%
+ \ifx\@tempa\@empty
+ \else
+ \def\@tempa{*** TeX Live package location of }%
+ \expandafter\@output@unknowns\the\@all@unknown\@empty
+ \fi
+}
+\def\@output@unknowns#1{\edef\@tempb{#1}%
+ \ifx\@tempb\@empty
+ \typeout{ unknown}%
+ \else
+ \message{\@tempa#1,}%
+ \def\@tempa{}%
+ \expandafter\@output@unknowns
+ \fi
+}
+
+
+% Silence font warnings about no bold typewriter in LM.
+\def\@font@warning#1{}%
+
+% Silence hyperref warnings about \kern.
+\def\HyPsd@Warning#1{}%
+
+\endinput
diff --git a/Master/texmf/doc/texlive/texlive-en/texlive-en.tex b/Master/texmf/doc/texlive/texlive-en/texlive-en.tex
index 3981fa24718..bd2320d21a1 100644
--- a/Master/texmf/doc/texlive/texlive-en/texlive-en.tex
+++ b/Master/texmf/doc/texlive/texlive-en/texlive-en.tex
@@ -1100,7 +1100,9 @@ fonts without any installation in \TeX.
If you do need to do this, see
\url{http://tug.org/fonts/fontinstall.html} for our best effort at
-describing the procedure.
+describing the procedure. If you rigorously maintain your local font
+maps, \texttt{tlmgr generate updmap} \textit{may} be useful, notably in
+moving from release to release; see the \cmdname{tlmgr} documentation.
\subsubsection{Increasing maximum memory on Windows and Cygwin}
diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl
index 36067ccb359..52373b7c67a 100755
--- a/Master/texmf/scripts/texlive/tlmgr.pl
+++ b/Master/texmf/scripts/texlive/tlmgr.pl
@@ -5493,10 +5493,11 @@ C<TEXMFSYSCONFIG> (while the other files are in C<TEXMFSYSVAR>), because
that is the location that C<updmap-sys> (via C<tcfmgr>) uses.
Notwithstanding the above, if you only use the fonts and font packages
-within TeX Live, and maintain your local fonts (if any) using
+within TeX Live, and rigorously maintain your local fonts (if any) using
C<updmap-local.cfg>, there is nothing wrong with using C<generate
-updmap>. Indeed, we use it ourselves to generate the C<updmap.cfg> file
-in the live source repository.
+updmap>. It can be helpful in moving from release to release,
+especially. We use it ourselves to generate the C<updmap.cfg> file in
+the live source repository.
In more detail: C<generate> remakes any of the five config files
C<language.dat>, C<language.def>, C<language.dat.lua>, C<fmtutil.cnf>,
@@ -5594,11 +5595,10 @@ The respective locations are as follows:
web2c/fmtutil.cnf (and fmtutil-local.cnf);
web2c/updmap.cfg (and updmap-local.cfg).
-Final repetition: as explained above, C<tlmgr> does I<not> use the
-equivalent of C<generate updmap> for map files. Therefore, if you want
-to make use of C<updmap-local.cfg>, you need to run C<tlmgr generate
-updmap> yourself. After that, network updates and your local changes
-should be merged.
+Final repetition: as explained above, C<tlmgr> does I<not> use
+C<generate updmap> for map files. Therefore, if you want to make use of
+C<updmap-local.cfg>, you need to run C<tlmgr generate updmap> yourself.
+After that, network updates and your local changes should be merged.
=head1 CONFIGURATION FILE