From 9901dc09a3c81b6a6db895a86985f50c33d1a2d5 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 23 May 2009 16:44:41 +0000 Subject: combine TL doc sources and output, again git-svn-id: svn://tug.org/texlive/trunk@13427 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf/doc/texlive/source/texlive-de/Makefile | 3 - .../doc/texlive/source/texlive-de/live4ht.cfg | 47 - .../doc/texlive/source/texlive-de/lmsy10-40.png | Bin 273 -> 0 bytes .../doc/texlive/source/texlive-de/texlive-de.tex | 3091 --------------- .../texmf/doc/texlive/source/texlive-en/Makefile | 69 - Master/texmf/doc/texlive/source/texlive-en/README | 5 - .../texlive/source/texlive-en/archive/bv-live.tex | 84 - .../texlive/source/texlive-en/archive/bvoutln.sty | 193 - .../texlive/source/texlive-en/archive/changemail | 24 - .../doc/texlive/source/texlive-en/archive/l.pl | 44 - .../source/texlive-en/archive/live-2003.tex | 3937 ------------------- .../source/texlive-en/archive/live-2004.tex | 3854 ------------------- .../source/texlive-en/archive/live-2005.tex | 3174 ---------------- .../source/texlive-en/archive/live-2007.tex | 3264 ---------------- .../source/texlive-en/archive/live-2008.tex | 2951 --------------- .../texlive/source/texlive-en/archive/live-tl7.tex | 3554 ------------------ .../source/texlive-en/archive/live4ht.cfg-2004 | 36 - .../doc/texlive/source/texlive-en/archive/mod.pl | 976 ----- .../texlive/source/texlive-en/archive/nocites.tex | 557 --- .../texlive/source/texlive-en/archive/picture.tex | 46 - .../doc/texlive/source/texlive-en/archive/split.pl | 16 - .../texlive/source/texlive-en/archive/status.pl | 31 - .../texlive/source/texlive-en/archive/tex-live.bib | 235 -- .../texlive/source/texlive-en/archive/tex-live.bst | 60 - .../source/texlive-en/archive/tex-live.sty-2003 | 378 -- .../source/texlive-en/archive/tex-live.sty-2004 | 422 --- .../source/texlive-en/archive/tex-live.sty-2005 | 429 --- .../source/texlive-en/archive/tex-live.sty-2007 | 429 --- .../source/texlive-en/archive/tex-live.sty-2008 | 444 --- .../texlive/source/texlive-en/archive/texlive.pl | 574 --- .../doc/texlive/source/texlive-en/live4ht.cfg | 51 - .../doc/texlive/source/texlive-en/tex-live.css | 44 - .../doc/texlive/source/texlive-en/tex-live.sty | 446 --- .../doc/texlive/source/texlive-en/texlive-en.tex | 2954 --------------- .../texmf/doc/texlive/source/texlive-fr/Makefile | 5 - .../texmf/doc/texlive/source/texlive-fr/live.tex | 3945 -------------------- .../doc/texlive/source/texlive-fr/live4ht.cfg | 47 - .../doc/texlive/source/texlive-fr/tex-live.css | 44 - .../doc/texlive/source/texlive-fr/texlive-fr.tex | 3148 ---------------- Master/texmf/doc/texlive/texlive-de/Makefile | 3 + Master/texmf/doc/texlive/texlive-de/live4ht.cfg | 47 + Master/texmf/doc/texlive/texlive-de/texlive-de.tex | 3091 +++++++++++++++ Master/texmf/doc/texlive/texlive-en/Makefile | 69 + Master/texmf/doc/texlive/texlive-en/README | 5 + .../doc/texlive/texlive-en/archive/bv-live.tex | 84 + .../doc/texlive/texlive-en/archive/bvoutln.sty | 193 + .../doc/texlive/texlive-en/archive/changemail | 24 + Master/texmf/doc/texlive/texlive-en/archive/l.pl | 44 + .../doc/texlive/texlive-en/archive/live-2003.tex | 3937 +++++++++++++++++++ .../doc/texlive/texlive-en/archive/live-2004.tex | 3854 +++++++++++++++++++ .../doc/texlive/texlive-en/archive/live-2005.tex | 3174 ++++++++++++++++ .../doc/texlive/texlive-en/archive/live-2007.tex | 3264 ++++++++++++++++ .../doc/texlive/texlive-en/archive/live-2008.tex | 2951 +++++++++++++++ .../doc/texlive/texlive-en/archive/live-tl7.tex | 3554 ++++++++++++++++++ .../texlive/texlive-en/archive/live4ht.cfg-2004 | 36 + Master/texmf/doc/texlive/texlive-en/archive/mod.pl | 976 +++++ .../doc/texlive/texlive-en/archive/nocites.tex | 557 +++ .../doc/texlive/texlive-en/archive/picture.tex | 46 + .../texmf/doc/texlive/texlive-en/archive/split.pl | 16 + .../texmf/doc/texlive/texlive-en/archive/status.pl | 31 + .../doc/texlive/texlive-en/archive/tex-live.bib | 235 ++ .../doc/texlive/texlive-en/archive/tex-live.bst | 60 + .../texlive/texlive-en/archive/tex-live.sty-2003 | 378 ++ .../texlive/texlive-en/archive/tex-live.sty-2004 | 422 +++ .../texlive/texlive-en/archive/tex-live.sty-2005 | 429 +++ .../texlive/texlive-en/archive/tex-live.sty-2007 | 429 +++ .../texlive/texlive-en/archive/tex-live.sty-2008 | 444 +++ .../doc/texlive/texlive-en/archive/texlive.pl | 574 +++ Master/texmf/doc/texlive/texlive-en/live4ht.cfg | 51 + Master/texmf/doc/texlive/texlive-en/tex-live.sty | 446 +++ Master/texmf/doc/texlive/texlive-en/texlive-en.tex | 2954 +++++++++++++++ Master/texmf/doc/texlive/texlive-fr/Makefile | 5 + Master/texmf/doc/texlive/texlive-fr/live.tex | 3945 ++++++++++++++++++++ Master/texmf/doc/texlive/texlive-fr/live4ht.cfg | 47 + Master/texmf/doc/texlive/texlive-fr/texlive-fr.tex | 3148 ++++++++++++++++ 75 files changed, 39523 insertions(+), 39611 deletions(-) delete mode 100644 Master/texmf/doc/texlive/source/texlive-de/Makefile delete mode 100644 Master/texmf/doc/texlive/source/texlive-de/live4ht.cfg delete mode 100644 Master/texmf/doc/texlive/source/texlive-de/lmsy10-40.png delete mode 100644 Master/texmf/doc/texlive/source/texlive-de/texlive-de.tex delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/Makefile delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/README delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/bv-live.tex delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/bvoutln.sty delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/changemail delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/l.pl delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/live-2003.tex delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/live-2004.tex delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/live-2005.tex delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/live-2007.tex delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/live-2008.tex delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/live-tl7.tex delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/live4ht.cfg-2004 delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/mod.pl delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/nocites.tex delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/picture.tex delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/split.pl delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/status.pl delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.bib delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.bst delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2003 delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2004 delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2005 delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2007 delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2008 delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/archive/texlive.pl delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/live4ht.cfg delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/tex-live.css delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/tex-live.sty delete mode 100644 Master/texmf/doc/texlive/source/texlive-en/texlive-en.tex delete mode 100644 Master/texmf/doc/texlive/source/texlive-fr/Makefile delete mode 100644 Master/texmf/doc/texlive/source/texlive-fr/live.tex delete mode 100644 Master/texmf/doc/texlive/source/texlive-fr/live4ht.cfg delete mode 100644 Master/texmf/doc/texlive/source/texlive-fr/tex-live.css delete mode 100644 Master/texmf/doc/texlive/source/texlive-fr/texlive-fr.tex create mode 100644 Master/texmf/doc/texlive/texlive-de/Makefile create mode 100644 Master/texmf/doc/texlive/texlive-de/live4ht.cfg create mode 100644 Master/texmf/doc/texlive/texlive-de/texlive-de.tex create mode 100644 Master/texmf/doc/texlive/texlive-en/Makefile create mode 100644 Master/texmf/doc/texlive/texlive-en/README create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/bv-live.tex create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/bvoutln.sty create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/changemail create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/l.pl create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/live-2003.tex create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/live-2004.tex create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/live-2005.tex create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/live-2007.tex create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/live-2008.tex create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/live-tl7.tex create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/live4ht.cfg-2004 create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/mod.pl create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/nocites.tex create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/picture.tex create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/split.pl create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/status.pl create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/tex-live.bib create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/tex-live.bst create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2003 create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2004 create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2005 create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2007 create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2008 create mode 100644 Master/texmf/doc/texlive/texlive-en/archive/texlive.pl create mode 100644 Master/texmf/doc/texlive/texlive-en/live4ht.cfg create mode 100644 Master/texmf/doc/texlive/texlive-en/tex-live.sty create mode 100644 Master/texmf/doc/texlive/texlive-en/texlive-en.tex create mode 100644 Master/texmf/doc/texlive/texlive-fr/Makefile create mode 100644 Master/texmf/doc/texlive/texlive-fr/live.tex create mode 100644 Master/texmf/doc/texlive/texlive-fr/live4ht.cfg create mode 100644 Master/texmf/doc/texlive/texlive-fr/texlive-fr.tex (limited to 'Master') diff --git a/Master/texmf/doc/texlive/source/texlive-de/Makefile b/Master/texmf/doc/texlive/source/texlive-de/Makefile deleted file mode 100644 index cecbe52710c..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-de/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -include ../texlive-en/Makefile -doc = texlive-de -lang = german diff --git a/Master/texmf/doc/texlive/source/texlive-de/live4ht.cfg b/Master/texmf/doc/texlive/source/texlive-de/live4ht.cfg deleted file mode 100644 index 4d2aa6b940a..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-de/live4ht.cfg +++ /dev/null @@ -1,47 +0,0 @@ -% tex4ht configuration file for the TeX Live documentation. -% Accumulated over many years. Public domain. -% -% html specifies the main output format. -% info for extra debugging info in the log files. - -% better approach is to have html in one piece (including footnotes). -% also the newest TeX4ht could produce UTF-8 output (-utf8 option) -\Preamble{charset=iso-8859-1,html,info,fn-in} - -% add extra stylesheet -\Configure{@HEAD}{\HCode{% -\Hnewline -\Hnewline -}} - -% or LaTeX complains it is missing. -\begin{document} - -\EndPreamble - -% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht -% actually does the lowered E (and raised A) in CSS. -\def\OMEGA{Omega} -\def\LaTeXe{LaTeX2e} -\def\eTeX{e-\TeX} -\def\acro#1{#1} -\def\MF{Metafont} -\def\BibTeX{BibTeX} -\def\warningbox{} -\def\endwarningbox{} - -\newif\ifhackliterals -\ifx\tldocenglish\undefined \else \hackliteralstrue \fi -\ifx\tldocrussian\undefined \else \hackliteralstrue \fi -\ifx\tldocgerman\undefined \else \hackliteralstrue \fi -% -\ifhackliterals - % these definitions cause "missing } inserted" at \end{tabularx} in - % French and Czech. don't know why. - % - % don't make these into links, as happens with \path. We only have a couple - % special characters that actually occur. - \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} - \def\finishliteral#1{#1\egroup} - \let\filename=\dirname -\fi diff --git a/Master/texmf/doc/texlive/source/texlive-de/lmsy10-40.png b/Master/texmf/doc/texlive/source/texlive-de/lmsy10-40.png deleted file mode 100644 index 55c7772320b..00000000000 Binary files a/Master/texmf/doc/texlive/source/texlive-de/lmsy10-40.png and /dev/null differ diff --git a/Master/texmf/doc/texlive/source/texlive-de/texlive-de.tex b/Master/texmf/doc/texlive/source/texlive-de/texlive-de.tex deleted file mode 100644 index 4291b40950e..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-de/texlive-de.tex +++ /dev/null @@ -1,3091 +0,0 @@ -% $Id: texlive-de.tex,v 1.81 2008/08/13 20:34:57 hahe Exp hahe $ -% TeX Live documentation. Originally written by Sebastian Rahtz and -% Michel Goossens, now maintained by Karl Berry and others. -% Public domain. -% -\documentclass{article} -\ifnum\Status=1 - % Create A4 pdf - \pdfpageheight297mm - \pdfpagewidth210mm -\fi -\let\tldocgerman=1 % for live4ht.cfg -\usepackage{ngerman} -\usepackage{tex-live} -\usepackage[latin1]{inputenc} % translators: use your preferred encodings. -\usepackage[T1]{fontenc} - -\def\dante{DANTE~e.\,V\kern-0.15em.} -\begin{document} - -\title{% - {\huge \textit{Anleitung zu \TeX\ Live}\\\smallskip}% - {\LARGE \textsf{\TL{} 2008}}% -} - - -\author{Karl Berry (Herausgeber) \\[3mm] - \url{http://tug.org/texlive/}\\[12mm] - \small{\textit{Verantwortlich für die deutsche Ausgabe}}\\[3mm] - \small{Klaus Höppner, \email{klaus@dante.de}} \\ - \small{(\dante)} \\[3mm] - } -\date{August 2008} - - -\maketitle -\thispagestyle{empty} - -\newpage - -\begin{multicols}{2} - \tableofcontents - \listoffigures -\end{multicols} - -%\renewcommand{\Status}{0} -%\typeout{Status is \Status} - -\clearpage - -% ============================================================== -\section{Einleitung}\label{sec:intro} - -Diese Anleitung beschreibt das \TL-System. Die {\TL} Distribution enthält -\TeX/\LaTeX-Systeme für Linux, verschiedene \acro{UNIX}-Plattformen, {\MacOSX} -und (32-Bit)-Windows. - -Wahrscheinlich haben Sie \TL{} auf einem von zwei Wegen bezogen, entweder -per direktem Download von \TL{} oder als Teil der \DVD{} \TK, die von -vielen \TeX-Vereinen (u.\,a. \dante) an ihre Mitglieder verschickt werden -und in Deutschland über die Fachbuchhandlung Lehmanns (\url{http://www.lob.de}) -vertrieben wird. Abschnitt~\ref{sec:tl-coll-dists} beschreibt kurz den -Inhalt der \TK-\DVD. Sowohl \TL{} und die \TK{} sind durch das Engagement -vieler Freiwilliger aus vielen \TeX-Vereinen entstanden. Im Übrigen -beschränkt sich diese Anleitung auf \TL{} an sich. - -{\TL} enthält lauf"|fähige Versionen von \TeX, \LaTeXe, \ConTeXt, \MF, \MP, -{\BibTeX} und vielen anderen Programmen, -sowie eine umfassende Auswahl an Makros, Zeichensätzen und -Beschreibungen, die gemäß der Standard"=\TeX"=Verzeichnisstruktur (\TDS) -abgelegt sind. - -Wenn Sie neuere Versionen der dort aufgeführten Pakete zu suchen wollen, gehen Sie am besten zu \acro{CTAN}: -\url{http://www.ctan.org/}. - -Eine kurze Zusammenfassung der wesentlichen Änderungen der aktuellen \TL-Version -gegenüber der Vorgängerversion finden Sie im Abschnitt~\ref{sec:history} auf -Seite~\pageref{sec:history}. - -\subsection{Unterstützung verschiedener Betriebssysteme} -\label{sec:os-support} -\TL{} enthält direkt ausführbare Programme für viele Unix-basierte -Betriebssysteme, inklusive \MacOSX. Selbst wenn Ihr Unix-System wider -Erwarten nicht unterstützt wird, sollten Sie in der Lage sein, aus -den mitgelieferten Programm-Quellen ein funktionierendes \TeX-System zu -kompilieren. - -Bezüglich Microsoft Windows werden Versionen ab Windows~2000 unterstützt, -während die aktuelle \TL{} unter Windows 95/98, ME und NT nicht -mehr lauffähig ist. Es existieren zwar keine 64-Bit-Versionen der -Programme, allerdings sollten die 32-Bit-Programme problemlos auf -64-Bit-Systemen funktionieren. - -% ------------------------------------------------------------- -\subsection{Einsatzmöglichkeiten des \TL-Systems der \TK}\label{sec:basic} - -Sie können das \TL-System wahlweise von der \DVD{} oder über das -Internet installieren. Der \emph{Net Installer} ist ein kleines Programm, -das die benötigten Teile aus dem Internet nachlädt. Dieser Weg bietet -sich an (eine schnelle und stabile Internetverbindung voraus gesetzt), -wenn Sie kein komplettes \TL{} installieren wollen, sondern Ihr System nur -mit bestimmten Paketen bestehen soll. - -Wenn Sie die \DVD{} besitzen (oder das ISO-Image der \DVD{} herunter -geladen haben -- dieses kann auf einigen Systemen sogar direkt als -virtuelles Medium ">gemountet"< werden), können Sie \TL{} nach -Wunsch auf Ihrer Festplatte installieren oder direkt von der \DVD -benutzen. - -Beide Methoden werden in den Abschnitten zur Installation beschrieben. -Hier daher nur die kurze Zusammenfassung: - -\begin{itemize*} -\item Das Hauptinstallationsskript ist \cmdname{install-tl}. Es existiert -sowohl im Textmodus als auch in Form einer grafischen Benutzeroberfläche (GUI). -Unter Windows ist der grafische Modus der Standard, auf allen anderen -Systemen der Textmodus. Durch die Optionen \code{-gui} bzw.\ \code{-no-gui} -können Sie gezielt einen der beiden Modi auswählen. -\item \TL installiert u.\,a. den neuen ">\TL Manager"< mit dem Namen -\prog{tlmgr}. Auch dieser unterstützt Text- und GUI-Mode. Mit diesem -Programm können Sie einerseits Pakete von \TL installieren oder deinstallieren, -andererseits \TL konfigurieren. -\end{itemize*} - - -% ------------------------------------------------------------- -\subsection{">Wo bekomme ich Hilfe?"< oder ">Hier werden Sie geholfen!"<}\label{sec:help} - -Die \TeX-Gemeinschaft ist ebenso aktiv wie hilfsbereit, und es wird -praktisch jede ernst gemeinte Frage beantwortet. Diese Hilfe ist allerdings -nicht formal organisiert, sondern wird von Freiwilligen in ihrer -Freizeit geleistet. Es ist daher ernst gemeint, dass Sie vor einer -Fragestellung Ihre ">Hausaufgaben"< gemacht haben. Falls Sie auf -eine garantierte kommerzielle Unterstützung angewiesen sind oder eine solche -bevorzugen, sollten Sie die Finger vollständig vom \TL-System lassen und -in der Aufstellung unter \url{http://tug.org/interest.html#vendors} nach -einem geeigneten Händler suchen. - -Die folgende Liste stellt die leicht zugänglichen Quellen in der -empfohlenen Reihenfolge vor: - -\begin{description} -\item [Einführung:]\mbox{}\\ - Wenn Sie \TeX-Anfänger sind und eine englische Einführung in das System benötigen, - sollten Sie das \acro{WWW}-Dokument \url{http://tug.org/begin.html} (Englisch) lesen. - - Für deutschsprachige \LaTeX-Anfänger ist die ">\LaTeXe-Kurzbeschreibung"< von großem Nutzen - (\OnCD{texmf-doc/doc/german/lshort-german/l2kurz.pdf}). -\item [\TeX-\acro{FAQ}s:]\mbox{}\\ - Die \TeX-\acro{FAQ} (im Deutschen - \file{de-tex-faq} ">\emph{Fragen und Antworten [\acro{FAQ}] über - das Textsatzsystem TeX und \acro{DANTE}, Deutschsprachige - Anwendervereinigung TeX e.V.}"<) ist ein riesiges Kompendium - mit Fragen (und Antworten) aller Art, von der einfachsten - Anfängerfrage bis zu Expertenwissen. - % Sie ist Bestandteil - % des \TL-Systems (\OnCD{texmf-doc/doc/german/FAQ-de/}) und umfasst zur - % Zeit 182~Seiten als PDF-Datei (\OnCD{texmf-doc/doc/german/FAQ-de/de-tex-faq.pdf}). - % Darüber hinaus ist die - % \acro{FAQ} als \HTML-Datei (\OnCD{texmf-doc/doc/german/FAQ-de/html/index.html}) - % und als durchsuchbare Textdatei - % (\OnCD{texmf-doc/doc/german/FAQ-de/text/index.html}) enthalten. - % Im Internet finden Sie die \acro{FAQ} unter - Sie finden die deutschsprachige \acro{FAQ} unter - \url{http://www.dante.de/faq/de-tex-faq/}; zudem wird die - Text"-ver"-sion regelmäßig in die News-Gruppe - \url{news:de.comp.text.tex} - verschickt. Die \acro{FAQ} besteht aus mehreren Teilen, wobei - jeder Teil ohne News-Header nicht länger als ca. 32\,KB ist. - - Des Weiteren existiert eine englischsprachige \acro{FAQ}-Sammlung - (\OnCD{texmf-doc/doc/english/FAQ-en/newfaq.pdf}), die auch im Internet verfügbar ist - (\url{http://www.tex.ac.uk/faq}). - - Bitte nutzen Sie bei Problemen zu allererst diese beiden Möglichkeiten. - -\item [\TeX-Catalogue:]\mbox{}\\ - Wenn Sie auf der Suche nach einem bestimmten Paket, - Font, Programm u.\,ä. sind, empfiehlt sich ein Blick in den - \TeX-Catalogue. Dieser Katalog enthält eine Liste aller verfügbaren - \TeX-spezifischen Dinge (siehe - % \OnCD{texmf-doc/doc/english/catalogue} oder - \url{http://www.ctan.org/tex-archive/help/Catalogue/catalogue.html}). - -\item [\TeX-\acro{WWW}-Ressourcen:]\mbox{}\\ - Im \acro{WWW}-Dokument \url{http://tug.org/interest.html} finden Sie eine große Anzahl \TeX-spezifischer - Links zu Büchern, Manuals und Artikeln zu allen Aspekten des \TeX-Systems. - -\item [Archive:]\mbox{}\\ - Ein Forum für die Hilfestellung sind die Usenet-News-Gruppen - \url{news:de.comp.text.tex} (Deutsch), \url{news:comp.text.tex} (Englisch) - und die Mailing-Liste \email{texhax@tug.org}. In deren Archiven finden - sich die Fragen und Antworten vieler Jahre. Ihre Suche können Sie in Google - beispielsweise mit \url{http://groups.google.de/group/de.comp.text.tex/topics} - starten -- oder auch in \url{http://tug.org/mail-archives/texhax/}. - - Im Allgemeinen ist es recht Erfolg versprechend, eine generelle Suche über Google - \url{http://www.google.de/} durchzuführen (entweder im \emph{WWW} allgemein - oder in den \emph{News-Gruppen}); dies insbesondere, wenn es sich um Fragen über - \PS/PDF, \cmdname{Ghostscript} u.\,ä. handelt. - -\item [Fragen stellen:]\mbox{}\\ - Wenn Sie mit den oben aufgezeigten Möglichkeiten immer noch keine - Antwort auf Ihre Frage gefunden haben, können Sie die Frage auch in einer - News-Gruppe stellen (neudeutsch: \emph{posten}). Hier bietet sich für - den deutschsprachigen Raum die News-Gruppe \url{news:de.comp.text.tex} an. - Benutzen Sie am besten für Anfragen Google - (\url{http://groups.google.de/group/de.comp.text.tex/topics}) - oder einen Newsreader. Fragen an die englischsprachige Gruppe - \url{news:comp.text.tex} - (bei Google: \url{http://groups.google.de/group/comp.text.tex/topics}) - sollten Sie bitte nur in Englisch stellen. - - Zusätzlich existieren E-Mail-Diskussionslisten, wobei hier die deutschsprachige Liste - \email{TeX-D-L@listserv.dfn.de} zu nennen ist (das englischsprachige Äquivalent - ist \email{texhax@tug.org}). Darüber hinaus bietet sich für Mitglieder - von \acro{DANTE}~e.V. der Beraterkreis an (\email{beraterkreis@dante.de}). - Wie Sie sich in die E-Mail-Liste \dirname{TeX-D-L} eintragen können, - finden Sie in der \acro{FAQ} unter ">\texttt{1.3.2 Was ist TeX-D-L?}"<. - - Bevor Sie aber eine Frage absenden, lesen Sie \emph{bitte} die entsprechenden - Einträge der \acro{FAQ} zum Thema ">\emph{Wie stelle ich eine Frage in einer - Newsgroup, damit ich mit hoher Wahrscheinlichkeit eine Antwort bekomme?}"<. So - z.\,B. ">\texttt{1.3.1 Was ist `de.comp.text.tex'?}"< und ">\texttt{1.3.7 Was - sollte ich gelesen haben, bevor ich eine Frage in `de.comp.text.tex' oder der - Diskussionsliste TeX-D-L stelle?}"< oder auch - \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. - -\item [Mithilfe:]\mbox{}\\ - Wenn Sie einen Fehler melden wollen oder Empfehlungen und Kommentare - zur \TL-Verteilung, -Installation oder -Dokumentation geben möchten, sollten Sie die - E-Mail-Liste \email{tex-live@tug.org} nutzen. - Korrekturen, Anmerkungen und Erweiterungen für die deutsche Übersetzung können Sie auch - an \email{cdrom@dante.de} oder schriftlich an die Geschäftsstelle von - \acro{DANTE}~e.V. senden. - - Fragen zu Programmen, die Sie in der {\TK} finden, sollten Sie besser auf - einer der oben genannten Mailing-Listen stellen oder direkt an den Programmautor - richten. -\end{description} - -Auf der anderen Seite können auch Sie mit Ihrem Wissen helfen. Die News-Gruppen -\url{news:de.comp.text.tex} (in Deutsch), \url{news:comp.text.tex} (in Englisch) und -die Mailing-Liste \email{TeX-D-L@listserv.dfn.de} (Deutsch) und \email{texhax@tug.org} (Englisch) -stehen allen offen. Wenn Sie also dort mitlesen, scheuen Sie sich nicht, Fragen, -zu denen Sie eine Antwort wissen, zu beantworten und damit anderen zu helfen. - -% ============================================================== -\section[Überblick zum \protect\TeX Live-System]{Überblick zum \TL-System} -\label{sec:overview-tl} -% don't use \TL so the \uppercase in the headline works. Also so -% tex4ht ends up with the right TeX. Likewise the \protect's. - -In diesem Abschnitt beschreiben wir Struktur und Inhalt des \TL-Systems und der übergeordneten \TK-\DVD. - - -% ------------------------------------------------------------- -\subsection[Die \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX]% -{Die \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX}\label{sec:tl-coll-dists} - -Die \DVD ">\TK"< besteht aus: -\begin{description} -\item[\TL] Ein komplettes \TeX-System, wahlweise zur Installation auf Festplatte oder zur direkten Benutzung -von der \DVD. -\item[Mac\TeX] für \MacOSX. Dieses enthält das komplette \TL, bietet zusätzlich aber ein Installationsprogramm -für Mac und einige Zusatzprogramme. Nähere Informationen finden Sie auf der Homepage von Mac\TeX{} unter -\url{http://www.tug.org/mactex/}. -\item[pro\TeX{}t] basiert auf der \MIKTEX-Distribution für Windows. Es enthält noch einige Zusatzprogramme und -stellt eine einfache Installationsanleitung bereit, die Schritt für Schritt den Weg zu einem kompletten -\TeX-System beschreibt. Die Homepage von pro\TeX{}t findet sich unter \url{http://tug.org/protext}. -\item[CTAN] Weiterhin ist auf der \DVD{} ein Ausschnitt der \TeX-bezogenen Software enthalten, die sich -in CTAN, dem \emph{Comprehensive \TeX{} Archive Network} befinden. -\item [\texttt{texmf-extra}] In diesem Verzeichnis befinden sich zusätzliche Pakete, die kein Teil von -\TL sind. -\end{description} - -\CTAN{}, \pkgname{protext} und \dirname{texmf-extra} unterliegen nicht den selben Lizenzregeln wie \TL. -Daher können für Teile hieraus andere Lizenzbedingungen bezüglich einer Weiterverteilung oder -Modifikation gelten, die Sie unbedingt beachten sollten! - -% ------------------------------------------------------------- -\subsection{Basisverzeichnisse von \TL}\label{sec:tld} - -In diesem Abschnitt beschreiben wir die Basisverzeichnisse der \TL-Distribution. - -Auf der \pkgname{live}-\DVD befindet sich die gesamte \TL-Hierarchie im Unterverzeichnis \dirname{texlive} --- nicht im Wurzelverzeichnis der \DVD. - -\begin{center} -%% \begin{longtable}{@{}>{\ttfamily}lp{.63\hsize}@{}} -%% \hline -%% \rm -%% Verzeichnis & Inhalt \\ -%% \hline -%% \endfirsthead -%% \rm -%% Verzeichnis & Inhalt \\ -%% \hline -%% \endhead -%% \hline -%% \endfoot -\begin{tabular}{@{}>{\ttfamily}lp{.75\linewidth}@{}} -bin & ausführbare Programme des \TeX-Systems; - jeweils für die verschiedenen Rechnerplattformen - in Unterverzeichnissen zusammengefasst\\ -readme-html.dir & in diesem Verzeichnis (!) befinden sich HTML-Dateien - in verschiedenen Sprachen, die als schneller - Einstieg in \TL empfehlenswert sind.\\ -readme-txt.dir & in diesem Verzeichnis (!) befinden sich Text-Dateien - mit den gleichen Inhalten wie in {\ttfamily readme-html.dir}.\\ -source & Quelldateien aller Programme inklusive der - \Webc-Quellen für die \TeX- und \MF-Pakete als - komprimierte \file{bzip2}"=Archive\\ -support & verschiedene Programme und Hilfspakete, die \emph{nicht} automatisch - mitinstalliert werden, wie z.\,B. Editoren und \TeX-Shells\\ -texmf & Verzeichnisbaum für Programme und zugehörigen Hilfsdateien und Anleitungen; enthält keine \TeX-Formate - und Pakete (siehe \texttt{TEXMFMAIN} im nächsten Abschnitt)\\ -texmf-dist & Hauptbaum mit Formaten und Paketen (siehe \texttt{TEXMFDIST} im nächsten Abschnitt)\\ -texmf-doc & Verzeichnisbaum mit vollständigen Dokumentationen (ohne andere installierte Dateien); sortiert nach - Sprachen \\ -texmf-var & Verzeichnisbaum für automatisch erzeugte und gespeicherte Dateien - für \TeX, {\MF} und andere (siehe \texttt{TEXMFSYSVAR} im nächsten Abschnitt),\\ -%%\end{longtable} -\end{tabular} -\end{center} -% -Zusätzlich zu den oben aufgeführten Verzeichnissen finden Sie -im Wurzelverzeichnis der Distribution -auch noch die Installationsskripte. - -Das Verzeichnis \OnCD{texmf-doc} enthält zwar nur Anleitungen, bei weitem aber nicht die gesamte Dokumentation: -Die Dokumentation für Programme (Handbücher, ">man~pages"<, \acro{GNU}-\acro{info}-Dateien) beispielsweise finden Sie -im Verzeichnis \OnCD{texmf/doc}, da die Programme selbst sich im Verzeichnis \OnCD{texmf} befinden. Ähnliches -gilt für die Dokumentation der \TeX-Pakete und -Formate im Verzeichnis \OnCD{texmf-dist/doc}. - -Benutzen Sie die Programme \cmdname{texdoc} oder \cmdname{texdoctk}, wenn Sie auf der Suche nach irgendeiner -Dokumentationsdatei sind. Hilfreich in diesem Zusammenhang könnte auch die Link-Sammlung \filename{doc.html} im -Wurzelverzeichnis sein. - -Die Anleitung zu \TL ist in verschiedenen Sprachen verfügbar: -\begin{itemize*} -\item{Chinesisch:} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn/texlive-zh-cn} -\item{Tschechisch/Slowakisch:} \OnCD{texmf-doc/doc/czechslovak/texlive-cz/live} -\item{Englisch:} \OnCD{texmf-doc/doc/english/texlive-en/texlive-en} -\item{Französisch:} \OnCD{texmf-doc/doc/french/texlive-fr/texlive-fr} -\item{Deutsch:} \OnCD{texmf-doc/doc/german/texlive-de/texlive-de} (dieses Dokument) -\item{Polnisch:} \OnCD{texmf-doc/doc/polish/texlive-pl/texlive-pl} -\item{Russisch:} \OnCD{texmf-doc/doc/russian/texlive-ru/texlive-ru} -\end{itemize*} - -% ------------------------------------------------------------- -\subsection{Überblick über die vordefinierten texmf-Bäume} -\label{sec:texmftrees} - -Dieser Abschnitt listet alle vordefinierten texmf-Bäume, die vom System benutzt -werden, und deren Bedeutung auf. Das Kommando \cmdname{texconfig conf} -zeigt Ihnen die aktuellen Einstellungen dieser Variablen an. - -\begin{ttdescription} -\item [TEXMFMAIN] In diesem Baum befinden sich wichtige Teile des Systems, - Hilfsprogramme (wie \verb+web2c/mktexdir+), pool-Dateien und andere - Hilfsdateien. -\item [TEXMFDIST] In diesem Baum befinden sich die wesentlichen Makro-Pakete, - Fonts usw. Dieser Baum enthält systemunabhängige Daten, die prinzipiell - von jedem TDS-kompatiblem \TeX-System nutzbar sein sollten. -\item [TEXMFLOCAL] Dieser Baum ist für Ergänzungen oder Aktualisierungen - von Makros, Fonts etc. gedacht, die Administratoren für alle Nutzer - installieren. -\item [TEXMFHOME] In diesem Baum können einzelne Nutzer Ergänzungen oder - Aktualisierungen von Makros, Fonts etc. ablegen. Standardmäßig befindet - sich dieser Baum unterhalb von \verb+$HOME+, so dass andere Nutzer von - Änderungen hier nicht beeinflusst werden. -\item [TEXMFCONFIG] Dieser Baum wird von den Hilfsprogrammen von te\TeX{} - wie \verb+texconfig+, \verb+updmap+ und \verb+fmtutil+ verwendet. - Standardmäßig befindet sich dieser Baum unterhalb von \verb+$HOME+, - so dass andere Nutzer von Änderungen hier nicht beeinflusst werden. -\item [TEXMFSYSCONFIG] Dieser Baum wird von den Hilfsprogrammen von te\TeX{} - wie \verb+texconfig-sys+, \verb+updmap-sys+ und \verb+fmtutil-sys+ - verwendet, so dass hier das Verhalten des \TL-Systems für alle Nutzer - beeinflusst werden kann. -\item [TEXMFVAR] Dieser Baum wird von Hilfsprogrammen wie \verb+texconfig+, - \verb+updmap+ und \verb+fmtutil+ benutzt, um automatisch generierte - Konfigurations-Dateien abzulegen. -\item [TEXMFSYSVAR] Dieser Baum wird von den systemweiten Hilfsprogrammen - wie \verb+texconfig-sys+, \verb+updmap-sys+ und \verb+fmtutil-sys+ - verwendet, um automatisch generierte Konfigurations-Dateien abzulegen. -\end{ttdescription} - -\noindent -Der Standard der Verzeichnisstruktur von \TL sieht wie folgt aus: -\begin{description} - \item[System-weites Wurzelverzeichnis] kann \TL{}-Versionen aus mehreren Jahren beinhalten: - \begin{ttdescription} - \item[2007] Eine Vorversion von \TL. - \begin{ttdescription} - \item [...] - \end{ttdescription} - \item[2008] Die aktuelle Version. - \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] Hierauf verweist \envname{TEXMFMAIN}. - \item [texmf-dist] \envname{TEXMFDIST} - \item [texmf-doc] \envname{TEXMFDOC} - \item [texmf-var] \envname{TEXMFSYSVAR} - \item [texmf-config] \envname{TEXMFSYSCONFIG} - \end{ttdescription} - \item [texmf-local] \envname{TEXMFLOCAL}, dieses Verzeichnis gilt für alle installierten \TL-Versionen - (aktuelle Version und Vorgängerversion), so dass hier durchgeführte lokale Änderungen über die - Jahre hinweg erhalten bleiben. - \end{ttdescription} - \item[Home-Verzeichnis des Benutzers] - (\texttt{\$HOME} oder \texttt{\%USERPROFILE\%}): - \begin{ttdescription} - \item[.texlive2007] Vom Nutzer privat erzeugte Dateien and Konfigurationsdaten - der Vorversion. - \item[.texlive2008] Vom Nutzer privat erzeugte Dateien and Konfigurationsdaten - für die aktuelle Version von \TL. - \begin{ttdescription} - \item [texmf-var] \envname{TEXMFVAR} - \item [texmf-config] \envname{TEXMFCONFIG} - \end{ttdescription} - \item[texmf] \envname{TEXMFHOME} Persönliche Makros, Fonts usw. des Nutzers. - \textit{etc.} - \end{ttdescription} -\end{description} - -% ------------------------------------------------------------- -\subsection{\protect\TeX-Erweiterungen}\label{sec:tex-extensions} - -Unter den \TeX-Systemen der {\TL} befinden sich verschiedene -\TeX"=Erweiterungen: - -\begin{description} -\item [\eTeX]\label{text:etex} stellt bei 100\%-iger Kompatibilität zum - normalen {\TeX} einen kleinen, aber mächtigen Satz neuer Befehle - bereit (für Makroexpansion, Character-Scanning, zusätzliche - Klassen für ">marks"<, erweiterte Debug-Möglichkeiten und andere). - Zusätzlich gibt es noch die \TeXXeT-Erweiterungen für den bidirektionalen Textsatz, - wie er beispielsweise im Arabischen gebraucht wird. - Im voreingestellten Modus ist {\eTeX} 100\%-ig kompatibel mit dem ">normalen"< \TeX. - Die Dokumentation zu {\eTeX} finden Sie in der Datei - \OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. -\item [pdf\TeX] enthält die \eTeX\ Erweiterungen und erlaubt zusätzlich - die Ausgabe in PDF-Dateien sowie {\dvi}-Dateien. - Die Dokumentation zu pdf\TeX{} finden Sie unter - \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. - In der Datei - \OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex} finden - Sie ein Anwendungsbeispiel. Das \LaTeX"=Paket \pkgname{hyperref} - besitzt die Option \optname{pdftex} mit der Möglichkeit - für aktive Querverweise (Hypertext) in PDF-Dateien. -\item [Lua\TeX] befindet sich noch in Entwicklung - und ist als zukünftiger Nachfolger von pdf\TeX\ vorgesehen, - zu dem es abwärtskompatibel bleiben soll. - Weiterhin soll es auch Aleph ersetzen. - Durch den enthaltenen Lua-Interpreter (s.\,\url{http://www.lua.org/}) - können Probleme, die in \TeX{} nur mühsam lösbar sind, - einfach und elegant gelöst werden. - Wird es unter dem Namen \filename{texlua} aufgerufen, - verhält es sich wie ein eigenständiger Lua-Interpreter - -- und wird als solcher in vielen Skripten von \TL bereits benutzt. - Für weitere Informationen siehe \url{http://www.luatex.org/} und - \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. -\item [XeTeX] bietet die Unterstützung von Unicode Zeichensätzen und - OpenType Schriften durch diverse zusätzliche Bibliotheken. - Mehr Informationen sind unter \url{http://scripts.sil.org/xetex} - verfügbar. -\item [\OMEGA] (Omega) ist ein \TeX-System, das intern mit Unicode - (16-Bit"=Unicode"=Zeichen) arbeitet und damit das gleichzeitige - Arbeiten mit nahezu allen auf der Welt eingesetzten Schriften - und deren Zeichenkodierungen erlaubt. Außerdem werden über dynamisch - geladene, sogenannte ">{\OMEGA}~Translation~Processes"< (\acro{OTP}s) - Transformationen zur Verfügung gestellt, die beliebige Eingaben - vor der Bearbeitung durch {\TeX} nach bestimmten Regeln - umformen. Die (nicht ganz aktuelle) Anleitung zu {\OMEGA} finden - Sie in dem \TL-System in der Datei \OnCD{texmf-dist/doc/omega/base/doc-1.8.tex}. -\item [$\aleph$] (Aleph) vereinigt die \OMEGA- und \eTeX-Erweiterungen. - Eine Minimaldokumentation finden Sie in \OnCD{texmf-dist/doc/aleph/base}. -\end{description} - -%\clearpage - -% ------------------------------------------------------------- -\subsection{Weitere Programme von \TL} - -{\TL} enthält eine ganze Reihe unterstützender Programme wie - -\smallskip - -\begin{description} -\item[\cmdname{bibtex}] Verwalten von Bibliographien -\item[\cmdname{dv2dt, dt2dv}] \file{dvi} nach ASCII und umgekehrt -\item[\cmdname{dviconcat}] Zusammenfügen von \dvi-Dateien -\item[\cmdname{dvips}] Konversion von {\dvi} in {\PS} -\item[\cmdname{dviselect}] Ausschneiden von Seiten aus \dvi-Dateien -\item[\cmdname{dvipdfmx}] \dvi-nach-PDF-Konverter (erzeugt auch - \acro{CJK}-konformes PDF aus - \dvi-Dateien mit \OMEGA"=Erweiterungen), als Alternative - zu pdf\TeX -\item[\cmdname{dvilj}] Druckertreiber für die HP-LaserJet"=Familie -\item[\cmdname{lacheck}] \LaTeX-Syntax-Überprüfung -\item[\cmdname{makeindex}] Erzeugen eines Stichwortverzeichnisses -\item[\cmdname{mpost}] \MF-ähnliches Grafikprogramm -\item[\cmdname{psnup}] mehrere logische \PS-Seiten auf einem Blatt platzieren -\item[\cmdname{psselect}] Ausschneiden von Seiten aus \PS-Dateien -\item[\cmdname{tex4ht}] \TeX-nach-\HTML-Konvertierung -\item[\cmdname{texexec, texmfstart}] \ConTeXt- und PDF"=Prozessor -\item[\cmdname{xdvi}] \dvi-Bildschirmausgabe im X-Window-System -\end{description} - -\subsection{Fonts in \protect\TL} -\label{sec:tl-fonts} - -\TL{} enthält eine Vielzahl qualitativ hochwertiger Vektorschriften. Weitere Informationen hierzu finden sich unter \url{http://tug.org/fonts} und \OnCD{texmf-doc/doc/english/free-math-font-survey/survey}. - -% ============================================================== -\section[Installation von \TeX Live]{Installation von \protect\TL} -\label{sec:install} - -\subsection{Das Installationsprogramms} -\label{sec:inst-start} - -Zur Installation von \TL benötigen Sie die \TK{}-\DVD{} oer den \emph{\TL{} Net Installer} aus dem Internet. - -\begin{description} -\item [Net Installer:] Verfügbar von \CTAN, unter -\dirname{systems/texlive/tlnet}; die URL -\url{http://mirror.ctan.org/systems/texlive/tlnet} leitet Sie automatisch -an einen nahe gelegenen Server des \CTAN-Netzwerks weiter. -Sie können entweder die Datei \filename{install-tl.zip} herunter laden, -die sowohl für Unix als auch Windows gedacht ist, -oder die deutlich kleinere Datei \filename{install-unx.tar.gz}, -die aber nur den Installer für Unix enthält. -Nach dem Auspacken finden Sie die Dateien \filename{install-tl} (Unix) -bzw.\ \filename{install-tl.bat} (Windows) im Verzeichnis \dirname{install-tl}. - -\item [\TeX{} Collection \DVD:] Hier finden Sie die Dateien \filename{install-tl} (Unix) -bzw.\ \filename{install-tl.bat} (Windows) im Verzeichnis \dirname{texlive} -der \DVD. Unter Windows startet beim Einlegen der DVD i.\,A. automatisch ein Programm, bei dem Sie u.\,a. das -Installationsprogramm von \TL auswählen können. Die \DVD\ erhalten Sie als Mitglied eines \TeX-Vereins -(wie \url{http://www.dante.de} für den deutschsprachigen Raum, weitere Vereine finden Sie unter -\url{http://tug.org/usergroups.html}), oder innerhalb Deutschlands von der Fachbuchhandlung Lehmanns -(\url{http://www.lob.de}) oder international von der \TeX{} Users Group -(\url{http://tug.org/store}). Alternativ können Sie das \ISO-Image der \TL (\url{http://tug.org/texlive/acquire.html}) aus dem Internet laden. - -\end{description} - -Die folgenden Abschnitte beschreiben die Installation für die einzelnen Betriebssysteme. -\subsubsection{Unix} - -\begin{figure}[tb] -\begin{boxedverbatim} -======================> TeX Live installation procedure <===================== - -=======> Note: Letters/digits in indicate menu items <======= -=======> for commands or configurable options <======= - - - Detected platform: Intel x86 with GNU/Linux - - binary systems: 1 out of 16 - - Installation scheme (scheme-full) - - Customizing installation scheme: - standard collections - language collections - 83 collections out of 84, disk space required: 1666 MB - - directories: - TEXDIR (the main TeX directory): - !! default location: /usr/local/texlive/2008 - !! is not writable, please select a different one! - TEXMFLOCAL (directory for site-wide local files): - /usr/local/texlive/texmf-local - TEXMFSYSVAR (directory for variable and automatically generated data): - /usr/local/texlive/2008/texmf-var - TEXMFSYSCONFIG (directory for local config): - /usr/local/texlive/2008/texmf-config - TEXMFHOME (directory for user-specific files): - ~/texmf - - options: - [ ] use letter size instead of A4 by default - [X] create all format files - [X] install macro/font doc tree - [X] install macro/font source tree - [ ] create symlinks in standard directories - - Install for running from DVD - -Other actions: - start installation to HD - help - quit - -Enter command: -\end{boxedverbatim} -\caption{Installationsprogramm im Text-Modus (\GNU/Linux)}\label{fig:text-main} -\end{figure} - -\begin{figure}[tb] -\tlpng{install-w32-main}{\linewidth} -\caption{Grafische Oberfläche des Installationsprogramms (Windows)}\label{fig:gui-main} -\end{figure} - -\noindent -Im Folgenden werden die Eingaben des -Benutzers nach dem Kommando-Prompt \samp{>} \Ucom{fett} dargestellt. - -Öffnen Sie ein Terminalfenster auf Ihrem Unix-System und geben Sie folgende Befehle ein: -\begin{alltt} -> \Ucom{cd /pfad/zum/installer} -> \Ucom{perl install-tl} -\end{alltt} -(Sie können auch direkt \Ucom{perl /pfad/zum/installer/install-tl} eingeben. Wenn Ihre -\DVD so gemountet ist, dass als ausführbar gekennzeichnete Skripte direkt gestartet werden -können, können Sie im Verzeichnis des Installers auch direkt -\Ucom{./install-tl} eingeben.) - -Zum Installieren mit Hilfe einer Benutzeroberfläche verwenden Sie -\begin{alltt} -> \Ucom{perl install-tl -gui} -\end{alltt} - -Alle Optionen des Installationsprogramms werden mit -\begin{alltt} -> \Ucom{perl install-tl -help} -\end{alltt} -angezeigt. - -\textbf{Wichtiger Hinweis zu den Zugriffsrechten unter Unix:} Ihre aktuelle Einstellung von \code{umask} -wird bei der Installation von \TL{} berücksichtigt. Daher müssen Sie darauf achten, dass Sie hierfür -einen sinnvollen Wert einstellen (z.\,B. \code{umask002}), wenn Ihre Installation auch durch andere Nutzer -als Sie benutzt werden soll. Falls Sie unsicher sind, was dies bedeutet, schauen Sie bitte in die Anleitung -zu \code{umask} (indem Sie das Kommando \code{man umask} eingeben). - -\subsubsection{Mac\,OS\,X} - -Wie in Abschnitt~\ref{sec:tl-coll-dists} bereits erwähnt wurde, existiert mit Mac\TeX{} (\url{http://tug.org/mactex}) ein eigenes \TeX-System für \MacOSX. Dieses enthält ein -komplettes \TL mit einem Installationsprogramm, das in Funktionalität und Aussehen der üblichen Installation von Software unter \MacOSX entspricht. Weiterhin sind einige Zusatzprogramme enthalten. - -Wenn Sie die \TK-\DVD besitzen, empfiehlt es sich daher, Mac\TeX{} zu verwenden. - -\subsubsection{Windows} - -Wenn Sie den \emph{Net Installer} verwenden, oder auf Ihrem System beim Einlegen der \DVD das -Installationsprogramm nicht automatisch gestartet wurde, können Sie die Installation von -\TL im Windows-Explorer durch Doppelklick auf \filename{install-tl.bat} (auf der \DVD befindet -sich diese Datei im Verzeichnis \texttt{texlive}) starten. - -Alternativ können Sie eine MS-DOS"=Eingabeaufforderung verwenden, dort in das Verzeichnis wechseln, -in dem sich das Installationsprogramm befindet und dort -\begin{alltt} -D:\bs{}texlive\bs{}> \Ucom{install-tl} -\end{alltt} -eingeben -- \texttt{...>} kennzeichnet hierbei den Eingabeprompt; -Ihre Eingabe ist \Ucom{\texttt{bold/fett}} dargestellt. - -Alternativ können Sie die Installation auch aus einem beliebigen Verzeichnis heraus starten: -\begin{alltt} -> \Ucom{D:\bs{}texlive\bs{}install-tl} -\end{alltt} -wobei wir hier annehmen, dass sich ihre \TK-\DVD im Laufwerk D: befindet. - -Zur Installation im Textmodus verwenden Sie: -\begin{alltt} -> \Ucom{install-tl -no-gui} -\end{alltt} - -Alle vorhandenen Optionen, die beim Starten des Installationsprogramms verwendet werden können, werden -wie folgt angezeigt: -\begin{alltt} -> \Ucom{install-tl -help} -\end{alltt} - -\subsubsection{Installation im Textmodus} - -Abb.~\ref{fig:text-main} zeigt den Eingangsbildschirm des Installationsprogramms im Textmodus. -Dieser ist ein reiner Textmodus, d.\,h., es gibt somit keine Unterstützung zum Wandern durch die -einzelnen Menüpunkte mit den Cursor-Tasten. Alle Befehle wie z.\,B. die Auswahl von Menüpunkten werden -durch Eingabe der entsprechenden Befehle bzw.\ Menükürzel über die Tastatur eingegeben und -dann durch Drücken von \emph{Enter} übernommen. Hierbei wird zwischen Groß- und Kleinschreibung -unterschieden! - -Die Installation im Textmodus ist so spartanisch, weil dieser Modus überall funktionieren soll und daher -auf die Verwendung von Bibliotheken wie \texttt{ncurses} unter Unix verzichtet wurde. - -\subsubsection{Installation mit Benutzeroberfläche} - -Abb.~\ref{fig:gui-main} stellt den Eingangsbildschirm des Installationsprogramms unter -Windows dar. Hier ist die Installation im grafischem Modus voreingestellt. -Der Großteil der Unterschiede in den Menüpunkten -im Vergleich zur Darstellung im Textmodus in Abb.~\ref{fig:text-main} -ergibt sich aus der Tatsache, -dass das hier abgebildete GUI-Fenster unter Windows dargestellt wurde. - -\subsection{Benutzung des Installationsprogramms} -\label{sec:runinstall} - -Das Installationsprogramm sollte (wenn Sie die vorherigen Abschnitte zum Aufbau von \TL und der -verwendeten Verzeichnisstruktur gelesen haben) weitgehend selbsterklärend sein. Trotzdem wollen wir -auf einige Punkte näher eingehen. - -\subsubsection{Auswahl der Binaries (nur für Unix)} -\label{sec:binary} - -\begin{figure}[tbh] -\begin{boxedverbatim} -Available sets of binaries: -=============================================================================== - - a [ ] alpha-linux DEC Alpha with GNU/Linux - b [ ] amd64-freebsd x86_64 with FreeBSD - c [ ] hppa-hpux HP-UX - d [ ] i386-freebsd Intel x86 with FreeBSD - e [X] i386-linux Intel x86 with GNU/Linux - f [ ] i386-openbsd Intel x86 with OpenBSD - g [ ] i386-solaris Intel x86 with Sun Solaris - h [ ] mips-irix SGI IRIX - i [ ] powerpc-aix PowerPC with AIX - j [ ] powerpc-linux PowerPC with GNU/Linux - k [ ] sparc-linux Sparc with GNU/Linux - l [ ] sparc-solaris Sparc with Solaris - m [ ] universal-darwin universal binaries for MacOSX/Darwin - o [ ] win32 Windows - p [ ] x86_64-linux x86_64 with GNU/Linux -\end{boxedverbatim} -\caption{Auswahlmenü für Binaries}\label{fig:bin-text} -\end{figure} - -Abb.~\ref{fig:bin-text} zeigt das Auswahlmenü für die Binaries der einzelnen Betriebssysteme im Textmodus. -Im Allgemeinen sollte hier schon das richtige System ausgewählt sein. Sie können aber problemlos Binaries -für verschiedene Systeme parallel auswählen. Dies bietet sich an, wenn Ihre Installation auf verschiedenen -Rechnern in einem heterogenen Netzwerk sichtbar ist und von dort aus benutzt werden soll. - -\subsubsection{Auswahl der zu installierenden Komponenten} -\label{sec:components} - -\begin{figure}[tbh] -\begin{boxedverbatim} -Select a scheme: -=============================================================================== - - a [ ] TeX Live basic scheme - b [ ] TeX Live scheme for ConTeXt - c [X] TeX Live full scheme - d [ ] GUST TeX Live scheme - e [ ] GUTenberg TeX Live scheme - f [ ] TeX Live medium scheme - g [ ] TeX Live minimal scheme - h [ ] TeX Live for Omega users - i [ ] teTeX scheme - j [ ] XML typesetting scheme -\end{boxedverbatim} -\caption{Menü zur Auswahl des Schemas}\label{fig:scheme-text} -\end{figure} - -Abb.~\ref{fig:scheme-text} zeigt das Auswahlmenü für ein grundsätzliches Installationsschema der -\TL. Durch die Auswahl eines Schemas werden automatisch die Komponenten zur Installation ausgewählt, die -für das gewünschte Schema notwendig bzw.\ sinnvoll sind. Mit einer vollständigen Installation von \TL -(\emph{full scheme}) sind Sie auf der sicheren Seite, da hier einfach alles installiert wird. Sie können -aber auch eines der abgespeckten Schemas wie \emph{basic} (für ein sehr schlankes System), \emph{medium} -oder \emph{minimal} (dies empfiehlt sich aber nur für Testsysteme und weniger zum ernsthaften Arbeiten) -auswählen. Weiter stehen einige Schemas für spezielle Zwecke oder Sprachen zur Verfügung. - -\begin{figure}[tbh] -\tlpng{stdcoll}{.7\linewidth} -\caption{Menü zur Aus- oder Abwahl von Collections (hier unter Linux)}\label{fig:collections-gui} -\end{figure} - -Wenn Sie das Schema ausgewählt haben, können Sie dieses in den Menüpunkten \emph{standard collections} und -\emph{language collections} (s.\,Abb.~\ref{fig:collections-gui}, diesmal zur Abwechslung im GUI-Modus) -individuell nach Ihren Wünschen anpassen. - -Während das Schema nur den grundlegenden Funktionsumfang vorgibt, ist die Auswahl von Komponenten auf der -Ebene der \emph{Collections} viel feiner. Eine Collection besteht dabei aus mehreren Paketen zu einem Thema, -wobei jedes der Pakete aus bestimmten Makrodateien, Fontdateien usw. bestehen kann. - -Noch mehr Kontrolle über die Komponenten Ihres Systems haben Sie nach der Installation mit dem Programm~\prog{tlmgr}, das in Abschnitt~\ref{sec:tlmgr} beschrieben wird. Hier können Sie gezielt einzelne -Pakete installieren oder entfernen. - -\subsubsection{Verzeichnisse} -\label{sec:directories} - -Die Verzeichnisstruktur von \TL wurde bereits im Abschnitt~\ref{sec:texmftrees} auf S.~\pageref{sec:texmftrees} -beschrieben. Als Wurzelverzeichnis für \TL (\dirname{TEXDIR}) wird unter Windows -(|%PROGRAMFILES%\texlive\2008|) und unter Unix (\dirname{/usr/local/texlive/2008}) angenommen. - -Prinzipiell können Sie diesen Pfad problemlos ändern, z.\,B. wenn Sie \TL als normaler Nutzer installieren -wollen und kein Schreibrecht in dem o.\,a. Verzeichnis besitzen. - -Auf Wunsch können Sie \TL also auch in Ihrem Home-Verzeichnis installieren, wenn Sie sowieso der einzige -Verwender von \TL sind. Für Ihr Home-Verzeichnis können Sie den Pfad ">|~|"< verwenden und so -Beispielsweise \TL nach |~/texlive/2008| installieren. - -Wir empfehlen Ihnen, die Jahreszahl im Verzeichnisnamen bei zu behalten. So können Sie von Jahr zu Jahr -einfach die neue Version testen, ohne die alte zu entsorgen. Bei Bedarf können Sie einen symbolischen -Link (z.B. \dirname{/usr/local/texlive-cur}) verwenden, der jeweils auf das Verzeichnis der aktuellen -Version von \TL verweist. - -Wenn Sie die Einstellung \dirname{TEXDIR} im Installationsprogramm ändern, werden die Werte für -\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} und -\dirname{TEXMFSYSCONFIG} automatisch angepasst. - -Das als \dirname{TEXMFHOME} bezeichnete Verzeichnis ist der Ort, in dem persönliche Makrodateien, -Schriften o.\,ä. abgelegt werden können. Vorgabewert ist |~/texmf|. Im Gegensatz zu \dirname{TEXDIR} -wird |~| hier nicht direkt zum Pfad des Home-Verzeichnisses aufgelöst, sondern unverändert in die -Konfigurationsdateien von \TL übernommen und erst zur Laufzeit aufgelöst. Somit kann jeder Nutzer -des Systems seinen komplett eigenen Pfad haben, der von \TL verwendet wird, und so nach Wunsch auch -eigene Konfigurationsänderungen durchführen. -Zur Laufzeit wird |~| unter Unix durch \dirname{$HOME} und unter Windows durch \verb|%USERPROFILE%| ersetzt. - -\subsubsection{Optionen} -\label{sec:options} - -\begin{figure}[tbh] -\begin{boxedverbatim} -

use letter size instead of A4 by default: [ ] - create all format files: [X] - install font/macro doc tree: [X] - install font/macro source tree: [X] - create symlinks in standard directories: [ ] - binaries to: - manpages to: - info to: -\end{boxedverbatim} -\caption{Auswahlmenü für weitere Optionen (Unix)}\label{fig:options-text} -\end{figure} - -Abb.~\ref{fig:options-text} zeigt das Menü, in dem weitere Einstellungen für die Installation von -\TL möglich sind. Drei dieser Optionen erfordern eine Erläuterung: -\begin{description} -\item[use letter size instead of A4 by default:] Verwendung von Letter statt DIN\,A4 als -Standard\-papier\-größe. Natürlich können Sie später unabhängig davon für einzelne Dokumente eine -beliebige Papiergröße wählen. - -\item[create all format files:] Auch wenn das Erzeugen von Formatdateien für Makropakete, die Sie gar - nicht benötigen, Zeit und Platz kostet, empfehlen wir trotzdem, diese Option ausgewählt zu belassen. - Falls Sie diese Option abwählen, werden Formatdateien jeweils bei Bedarf erzeugt, landen dann aber - im persönlichen \dirname{TEXMFVAR}-Baum des aktuellen Benutzers. Hier liegende Formate werden allerdings - nicht automatisch neu gerneriert, wenn z.\,B. Programme oder Silbentrennmuster aktualisiert werden, so dass - im Extremfall nach einem Update Inkompatibilitäten entstehen können. - -\item[create symlinks in standard directories] (nur unter Unix): - Mit dieser Option können Sie symbolische Links für Programme und Dokumentation in den Standard\-verzeichnissen - Ihres Systems anlegen, so dass Sie Ihre Umgebungsvariablen \envname{PATH}, \envname{MANPATH} und - \envname{INFOPATH} nicht anpassen müssen. Natürlich benötigen Sie für diese Option Schreibrechte in - den entsprechenden Verzeichnissen. Diese Option ist nicht dazu gedacht, ein vorhandenes \TeX-System, das - z.\,B. als Teil Ihrer Linux-Distribution installiert wurde, zu überschreiben. Sie dient vielmehr dazu, - dass die Links in Verzeichnissen angelegt werden, wo die Nutzer sie erwarten -- beispielsweise - \dirname{/usr/local/bin} --, aber sich noch keine \TeX-Programme befinden. -\end{description} - - -\subsubsection[Benutzen von \protect\TL direkt von DVD{}]{Benutzen von \protect\TL direkt von DVD{} (nur im Textmodus verfügbar)} -\label{sec:fromdvd} - -Verwenden Sie die Option ">|V|"<, um die Installation zum Benutzen von \TL direkt von der \DVD einzustellen. -Ihr Installationsbildschirm sollte nun so aussehen wie in Abb.~\ref{fig:main-fromdvd} dargestellt. -Tatsächlich wechselt die Option~|V| jeweils zwischen Installation auf Festplatte und Installation zur -Nutzung von \DVD hin- und her, so dass Sie problemlos zur alten Installations"-einstellung zurück kommen, -wenn Sie diese Option versehentlich ausgewählt haben. - -\begin{figure}[tbh] -\begin{boxedverbatim} -======================> TeX Live installation procedure <===================== - -=======> Note: Letters/digits in indicate menu items <======= -=======> for commands or configurable options <======= - - directories: - TEXDIRW (Writable root): - !! default location: /usr/local/texlive/2008 - !! is not writable, please select a different one! - TEXMFLOCAL (directory for site-wide local files): - /usr/local/texlive/texmf-local - TEXMFSYSVAR (directory for variable and automatically generated data): - /usr/local/texlive/2008/texmf-var - TEXMFSYSCONFIG (directory for local config): - /usr/local/texlive/2008/texmf-config - TEXMFHOME (directory for user-specific files): - ~/texmf - - options: - [ ] use letter size instead of A4 by default - [X] create all format files - - set up for installing to hard disk - -Other actions: - start installation for running from DVD - help - quit -\end{boxedverbatim} -\caption{Haupschirm des Installationsprogrmm, wenn die Option \optname{from DVD} - ausgewählt wurde}\label{fig:main-fromdvd} -\end{figure} - -Wie Sie sehen, hat sich das Hauptmenü an einigen Stellen geändert: Die Menüpunkte zur Auswahl eines -Schemas oder von Collections sowie zum Anlegen symbolischer Links sind verschwunden, und im Abschnitt -\emph{Directories} wird nun die Angabe eines Verzeichnisses für \dirname{TEXDIRW} (writable root) verlangt. - -Auch beim Verwenden von \TL direkt von \DVD müssen einige Verzeichnisse auf der Festplatte angelegt werden, -in denen \TL beispielsweise automatisch generierte Dateien (wie Formate oder Fontmaps) ablegen kann. -Die Verzeichnisse \dirname{texmf}, \dirname{texmf-dist} und \dirname{texmf-doc} werden aber direkt von -\DVD benutzt und daher nicht auf die Festplatte kopiert. - -Die Konfiguration von \TL im Anschluss an die Installation unter Unix ist bei der Verwendung als Live-System -von \DVD etwas komplexer, da hier an einigen Stellen von der normalen Verzeichnisstruktur von \TL abgewichen -werden muss, s.~Abschnitt~\ref{sec:postinstall}. - -Aus Zeitgründen ist die Option für die Benutzung von \TL direkt von \DVD leider nicht im grafischen Modus -des Installationsprogramms enthalten. Daher muss hierfür zwingend der Textmodus verwendet werden. -Zu diesem Zweck muss daher unter Windows die Installation innerhalb einer Eingabeaufforderung mit der -Option~\texttt{-no-gui} gestartet werden (s.\,Abschnitt~\ref{sec:cmdline}). - -Abschnitt~\ref{sec:portable-unix} beschreibt einen portableren Weg um \TL zu benutzen, der keine Änderungen -der Systemkonfiguration erfordert, dafür dann aber keine Konfigurationsänderungen an \TL erlaubt. - - -\subsection{Kommandozeilenoptionen für die Installation} -\label{sec:cmdline} - -Nach Eingabe von -\begin{alltt} -> \Ucom{install-tl -help} -\end{alltt} -erhalten Sie eine Liste der vorhanden Kommando\-zeilen\-optionen. Sie können diese entweder mit |-| oder |--| -verwenden. Die wichtigsten sind: - -\begin{ttdescription} -\item[-gui] Installation im \GUI{}-Modus. Hierfür muss unter Unix Perl/Tk installiert sein - (\url{http://tug.org/texlive/distro.html#perltk}); falls dies nicht der Fall ist, wird die Installation - stattdessen im Textmodus durchgeführt. -\item[-no-gui] Installation im Textmodus. Da dies unter Unix Standard ist, wirkt sich diese Option nur - unter Windows aus. Da die Installation zum Benutzen von \TL direkt von \DVD im grafischen Modus nicht - verfügbar ist, brauchen Sie in diesem Fall unbedingt den Textmodus. -\item[-lang {\sl LL}] Sprache des Installationsprogramms als Sprach-Code in zwei Buchstaben (\textsl{LL}). - Derzeit werden englisch (\texttt{en}, Standard), deutsch (\texttt{de}), französisch (\texttt{fr}), - holländisch (\texttt{nl}), polnisch (\texttt{pl}), slowenisch (\texttt{sl}) und vietnamesisch - (\texttt{vi}) unterstützt. Das Installationsprogramm versucht, die gewünschte Sprache anhand des - Systems herauszufinden. Falls dies scheitert oder die betreffende Sprache nicht verfügbar ist, wird als - Rückfallposition englisch benutzt. -\item[-profile {\sl profile}] Das Installationsprogramm schreibt die ausgewählten Optionen in eine Datei - \filename{texlive.profile} im Unterverzeichnis \dirname{2008/tlpkg}. Mit dieser Option können - Sie eine bereits vorhandene Datei bei der Installation weiter verwenden, z.\,B. wenn Sie äquivalente - Installationen auf mehreren Rechnern realisieren wollen, ohne alle Auswahlschritte der Installation immer - wieder neu durchführen zu müssen. Hier ein Beispiel einer solchen Datei: - \begin{fverbatim} -# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC -# It will NOT be updated and reflects only the -# installation profile at installation time. -selected_scheme scheme-basic -TEXDIR /usr/local/texlive/2008 -TEXDIRW /usr/local/texlive/2008 -... -TEXMFSYSVAR /usr/local/texlive/2008/texmf-var -collection-basic 1 -... -option_symlinks 0 - \end{fverbatim} -\item [-location {\sl url/path}] zur Auswahl eines anderen Verzeichnisses mit den Quellen für Pakete; zur - weiteren Erläuterung siehe den nächsten Abschnitt. -\end{ttdescription} - -\subsubsection{Die Option \optname{location}} -\label{sec:location} - -Der als \optname{location} angegebene Wert kann neben einem ganz normalen Verzeichnispfad auch eine URL sein, -die mit \texttt{ftp:}, \texttt{http:} oder \texttt{file:/} beginnt. Falls sich \optname{location} auf einem -lokalen Laufwerk befindet (Verzeichnispfad oder mit \texttt{file:/} beginnende URL), -wird die Installationsmethode (aus komprimierten Archiven oder einem echten Live-Dateisystem) automatisch -bestimmt: falls bezüglich der angegebenen \optname{location} ein Unterverzeichnis \dirname{archive} existiert, -das Dateien vom Typ \filename{.tar.lzma} enthält, werden diese komprimierte Dateien als Installationsquelle -benutzt, selbst wenn parallel die Pakete ausgepackt in einem Live-Dateisystem vorhanden sind. - -Im Fall einer \optname{location}, die mit \texttt{http:} oder \texttt{ftp:} beginnt, werden -das Zeichen `\texttt{/}' und/oder die Zeichenkette `\texttt{/tlpkg}' am Ende ignoriert. Sie können hier -z.\,B. einen bestimmten \CTAN-Server auswählen, was dann in etwa so aussehen würde: -\url{http://ctan.example.org/tex-archive/texlive/tlnet/2008}. -Hier müssen Sie natürlich einen echten Servernamen und den für diesen Server gültigen Pfad einsetzen -(eine Liste von \CTAN-Servern finden Sie unter \url{http://ctan.org/mirrors}). -Die Standardvorgabe ist, -über \url{http://mirror.ctan.org} einen Server automatisch auszuwählen. -Einmal ausgewählt, wird dieser allerdings zum Herunterladen aller Komponenten verwendet. - -\subsection{Aufgaben im Anschluss an die Installation} -\label{sec:postinstall} - -Je nach System kann es notwendig sein, dass im Anschluss an die Installation noch einige Kleinigkeiten -erledigt werden müssen. - -\subsubsection{Windows} -Benutzer von Windows sind hier in der glücklichen Position, dass das Installationsprogramm alles komplett -erledigt haben sollte. - -\subsubsection{Unix, falls symbolische Links angelegt wurden} - -Wenn Sie bei der Installation angegeben haben, dass und wo symbolische Links angelegt werden sollten -(s.\,Abschnitt~\ref{sec:options}), sollten hier auch keine Nacharbeiten mehr notwendig sein. - -\subsubsection{Umgebungsvariablen für Unix} -\label{sec:env} - -Das Verzeichnis mit den ausführbaren Programmen von \TL muss sich im Suchpfad des Systems befinden. -Jedes unterstützte System besitzt ein eigenes Verzeichnis unterhalb von \dirname{TEXDIR/bin}, deren -Namen Sie in Abb.~\ref{fig:bin-text} finden. - -Weiterhin können Sie die Verzeichnisse mit den Manual-Pages und Info-Dateien zu den entsprechenden -Suchpfaden für Dokumentation hinzu fügen, wenn Sie es wünschen. - -Für Systeme mit einer Bourne-kompatiblen Shell wie \prog{bash} ist hier am Beispiel von GNU/Linux -aufgeführt, wie die Befehle zum Setzen der Umgebungsvariablen (z.\,B. in \filename{$HOME/.profile}) -aussehen könnten: - -\begin{sverbatim} -export PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH -export MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH -export INFOPATH=/usr/local/texlive/2008/texmf/doc/info:$INFOPATH -\end{sverbatim} - -Für \prog{csh} oder \prog{tcsh} erfolgt die Konfiguration in der Regel in der Datei~\filename{$HOME/.cshrc} -und könnte so aussehen: - -\begin{sverbatim} -setenv PATH /usr/local/texlive/2008/bin/i386-linux:$PATH -setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH -setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH -\end{sverbatim} - -\subsubsection{Systemweites Setzen von Umgebungsvariablen} -\label{sec:envglobal} - -Wenn Sie als Administrator die Umgebungsvariablen global für das gesamte System setzen wollen, -gehen wir davon aus, dass Sie sich mit der grundlegenden Systemadministration auskennen. - -Daher hier nur zwei Hinweise: 1)~schauen Sie nach einer Datei -\filename{/etc/manpath.config}. Falls diese vorhanden ist, sollte es reichen, folgende Zeilen -hinzu zu fügen: - -\begin{sverbatim} -MANPATH_MAP /usr/local/texlive/2008/bin/i386-linux \ - /usr/local/texlive/2008/texmf/doc/man -\end{sverbatim} - -Und 2)~prüfen Sie, ob es auf Ihrem System eine Datei \filename{/etc/environment} gibt, in der die -systemweiten Umgebungsvariablen definiert werden. - -\subsubsection{Benutzen von \protect\TL direkt von DVD} -Üblicherweise verwendet \TL eine Datei \filename{texmf.cnf}, um die Verzeichnisbäume, in denen -sich die Komponenten von \TL befinden, zu identifizieren. Diese Methode benutzt relative Pfade, so -dass Ihr \TL-System funktioniert, wo immer Sie es auch hin installieren, solange die Verzeichnisstruktur -erhalten bleibt. - -Diese Methode funktioniert leider nicht mehr, wenn Sie \TL direkt von der \DVD benutzen wollen. -Da die \DVD ein Nur-Lese-Medium ist, einige der Pfade in \filename{texmf.cnf} aber erst nach der -Installation fest stehen, muss sich diese Datei außerhalb der \DVD befinden. -Aus diesem Grund muss eine Umgebungsvariable \envname{TEXMFCNF} gesetzt werden, -die \TL{} mitteilt, in welchem Verzeichnis sich die Datei \filename{texmf.cnf} befindet. -Zusätzlich muss sich natürlich -- wie im vorigen Abschnitt beschrieben -- das -Verzeichnis der \DVD, in dem sich die passenden ausführbaren Programme befinden, innerhalb des -Suchpfads des Systems befinden. - -Beim Abschluss des Installationsprogramms sollten Sie die notwendigen Informationen erhalten haben, -wie Sie \envname{TEXMFCNF} setzen müssen. Falls Sie dies übersehen haben, der Wert ist -\dirname{$TEXMFSYSVAR/web2c}, wobei im Normalfall \dirname{$TEXMFSYSVAR} auf das Verzeichnis -\dirname{/usr/local/texlive/2008/texmf-var/web2c} verweist. In diesem Fall benötigen Sie also für -die \prog{bash} den Befehl -\begin{sverbatim} -TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF -\end{sverbatim} -bzw.\ für [t]csh: -\begin{sverbatim} -setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c -\end{sverbatim} - -\subsubsection{\ConTeXt{} Mark IV} -Das ">alte"< \ConTeXt{} sollte direkt lauffähig sein. Falls Sie das neue \ConTeXt{} ">Mark IV"< -verwenden wollen, sind einige manuelle Nacharbeiten notwendig, die unter -\url{http://wiki.contextgarden.net/Running_Mark_IV} beschrieben sind. - -\subsubsection{Integrieren lokaler bzw.\ Nutzer-spezifischer Makros} -\label{sec:local-personal-macros} - -Wie bereits in Abschnitt~\ref{sec:texmftrees} erwähnt, ist der Verzeichnisbaum \dirname{TEXMFLOCAL} (im -Normalfall \dirname{/usr/local/texlive/texmf-local} oder \verb|C:\Program Files\texlive\texmf-local|) -für lokale Ergänzungen wie Makros und Schriften gedacht, die anschließend allen Benutzern des Systems zur -Verfügung stehen. Weiterhin können Benutzer den Verzeichnisbaum \dirname{TEXMFHOME} (im Normalfall -\dirname{$HOME/texmf} oder \verb|%USERPROFILE%\texmf|) für persönliche Ergänzungen verwenden, ohne -dass andere Benutzer davon beeinflusst werden. -Diese Verzeichnisse sollen über verschiedene Versionen von \TL hinweg identisch sein, so dass ein -Update von \TL auf eine neue Version einfach möglich ist, ohne dass Sie Ihre lokalen Ergänzungen -verlieren. Wir empfehlen Ihnen daher, von der vorgegebenen Verzeichnisstruktur nicht abzuweichen. - -Für beide oben genannte Verzeichnisbäume erwartet \TL eine Verzeichnisstruktur innerhalb des Baums, die -dem \emph{\TeX{} Directory Standard} entspricht, wie er in \url{http://tug.org/tds} bzw. -\filename{texmf/web2c/texmf.cnf} definiert ist. -So gehören Dokumentklassen für \LaTeX{} z.\,B. in ein Verzeichnis -unterhalb von \dirname{TEXMFLOCAL/tex/latex} oder \dirname{TEXMFHOME/tex/latex}. - -Der Verzeichnisbaum \dirname{TEXMFLOCAL} wird zur Laufzeit nicht direkt nach Dateien durchsucht. -Stattdessen wird eine Liste von Dateinamen verwendet, sich sich in einer Datei mit dem Namen~\filename{ls-R} -befindet. Denken Sie also daran, nach Änderungen in diesem Baum diese Dateiliste zu aktualisieren, -entweder mit dem Befehl \cmdname{mktexlsr} oder die Schaltfläche \emph{Reinit file database} in -dem Konfigurationsreiter von \prog{tlmgr} im \GUI-Modus. - -\subsubsection{Integrieren von anderen Schriften} -Die Installation von Schriften, die nicht von \TL sind, ist eine recht komplexe Angelegenheit. Sie sollten -sich bereits gut mit dem System auskennen, bevor Sie sich an diese Aufgabe wagen. Schauen Sie vielleicht -vorher in Abschnitt~\ref{sec:tl-fonts} nach, welche Schriften bereits bei \TL mitgeliefert werden. - -Eine Alternative besteht im Benutzen von \XeTeX (s.\,Abschnitt~\ref{sec:tex-extensions}), bei dem -direkt alle vom Betriebssystem installierten Schriften verwendet werden können, ohne dass die Installation -einer \TeX-Unterstützung notwendig ist. - -\subsection{Testen der Installation} -\label{sec:test-install} - -Nach der Installation von \TL wollen Sie es natürlich benutzen, um möglichst schöne Dokumente zu setzen. - -Dieser Abschnitt beschreibt, wie Sie prüfen können, ob Ihr \TL-System funktioniert. -Die folgenden Beispiele sind für Unix, sollten unter Windows und \MacOSX aber sehr ähnlich sein, abgesehen -davon, dass Sie dort eventuell eine grafische Benutzeroberfläche verwenden. - -\begin{enumerate} - -\item Prüfen Sie, ob Sie das Programm \cmdname{tex} ausführen können: - -\begin{alltt} -> \Ucom{tex -{}-version} -TeX 3.1415926 (Web2C 7.5.7) -kpathsea version 3.5.7 -... -\end{alltt} - -Erhalten Sie als Resultat statt der Versionsnummer die Meldung, dass der Befehl nicht gefunden wurde, -so haben Sie wahrscheinlich vergessen, das Verzeichnis mit den ausführbaren Programmen -in Ihren \envname{PATH} aufzunehmen, s.\,Abschnitt~\ref{sec:env} auf S.\,\pageref{sec:env}. - -\item Eine einfache \LaTeX{}-Datei übersetzen: -\begin{alltt} -> \Ucom{latex sample2e.tex} -This is pdfeTeXk, Version 3.1415926... -... -Output written on sample2e.dvi (3 pages, 7484 bytes). -Transcript written on sample2e.log. -\end{alltt} - -Falls dies schief geht, sind wahrscheinlich noch alte Umgebungsvariablen einer vorigen \TeX-Installation -übrig geblieben. Wir empfehlen, die Umgebungsvariablen, die sich auf \TeX{} beziehen, zu entfernen. -Für eine weitere Analyse können Sie \TeX{} anzeigen lassen, wo es bestimmte Dateien sucht, -siehe ">Fehlersuche"< auf Seite~\pageref{sec:debugging}. - -\item Ergebnis auf dem Bildschirm anschauen: -\begin{alltt} -> \Ucom{xdvi sample2e.dvi} -\end{alltt} -(Unter Windows heißt der Befehlt für den Previewer \cmdname{dviout}.) Nun sollte -sich ein Vorschaufenster mit dem soeben gesetzten Beispieldokument öffnen, das die Grundlagen von -\LaTeX{} erläutert (und das Anfänger tatsächlich auch einmal lesen sollten). -Unter Unix muss ein X-Server laufen, damit \cmdname{xdvi} funktioniert; -falls dies nicht der Fall ist oder die Umgebungsvariable \envname{DISPLAY} falsch gesetzt ist, -erhalten Sie die Fehlermeldung \samp{Can't open display}. - -\item Eine \PS{}-Datei erzeugen: -\begin{alltt} -> \Ucom{dvips sample2e.dvi -o sample2e.ps} -\end{alltt} - -\item Direkt eine \acro{PDF}-Datei erzeugen (statt \dvi{}): -\begin{alltt} -> \Ucom{pdflatex sample2e.tex} -\end{alltt} - -\item Eine \acro{PDF}-Datei anschauen: -\begin{alltt} -> \Ucom{gv sample2e.pdf} -\textrm{or:} -> \Ucom{xpdf sample2e.pdf} -\end{alltt} -Leider sind weder \cmdname{gv} noch \cmdname{xpdf} in \TL{} enthalten, daher müssen diese separat installiert -werden, siehe \url{http://www.gnu.org/software/gv} bzw. -\url{http://www.foolabs.com/xpdf}. -(Sie können natürlich auch andere PDF-Viewer verwenden, beispielsweise den Adobe Reader.) - -\item Weitere nützliche Test-Dateien außer -\filename{sample2e.tex}: - -\begin{ttdescription} -\item [small2e.tex] Einfachere Version von \filename{sample2e}, um den Fehler einzugrenzen, wenn Sie -beim Übersetzen von \filename{sample2e} Probleme haben. -\item [testpage.tex] Hiermit können Sie prüfen, ob Ihr Drucker Ihren Ausdruck horizontal oder vertikal verschiebt. -\item [nfssfont.tex] Zum Testen von Fonts und Erzeugen von Schrifttabellen. -\item [testfont.tex] Erzeugen von Schrifttabellen, aber mit plain \TeX. -\item [story.tex] Das einfachste Testdokument von allen (in plain \TeX{}). -Geben Sie am Ende \samp{\bs bye} ein, wenn nach dem Aufruf von \samp{tex -story.tex} der \code{*} erscheint. -\end{ttdescription} - -\end{enumerate} - -\section{Installation im Netzwerk} -\label{sec:netinstall} - -Bei \TL ist nicht nur vorgesehen, dass es von mehreren Benutzern auf einem System verwendet werden kann, -sondern auch in einem Netzwerk. In der normalen Konfiguration von \TL werden nur relative, keine absoluten -Pfade verwendet. Dies erkennt man an Einstellungen in der Datei \filename{$TEXMFMAIN/web2c/texmf.cnf}, -die Zeilen wie die folgenden enthält, -in denen Verzeichnisse relativ zu den Verzeichnissen lokalisiert werden, -in denen sich die Programme befinden: -\begin{sverbatim} -TEXMFMAIN = $SELFAUTOPARENT/texmf -... -TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local -\end{sverbatim} -Daher ist es im Normalfall ausreichend, -das Programm-Verzeichnis in den Suchpfad des Systems aufzunehmen, -alles weitere bestimmt \TL dann automatisch. - -Daher ist es kein Problem, wenn das Grundverzeichnis von \TL als Netzlaufwerk gemountet ist. Tatsächlich -können Sie \TL sogar zunächst lokal installieren und dann auf ein Netzlaufwerk verschieben. - -Für Benutzer von Windows existiert unter \dirname{texmf-doc/source/texlive/texlive-common/w32client} -ein Beispiel-Skript \filename{install-w32client}, das die Einstellungen im Startmenü von Windows -für das Verwenden von \TL über Netzwerk vornimmt. Dieses Skript wird einfach durch Aufruf von -\filename{install-w32client.bat} im selben Verzeichnis gestartet. - -Mehr Informationen zur Konfiguration von \TL und den benutzten Suchpfaden finden Sie im Abschnitt~\ref{sec:kpathsea}. - -\section{Portables \protect\TL{} auf DVD oder USB-Stick} -\label{sec:portable-unix} - -Im Abschnitt~\ref{sec:fromdvd} wurde beschrieben, wie \TL direkt von einer \DVD benutzt werden kann. -Hierbei werden einige Verzeichnisse auf der Festplatte angelegt. Dies ist wahrscheinlich kein Problem, -wenn Sie dies auf Ihrem eigenen Rechner verwenden, aber es kann anders aussehen, wenn Sie auf einem -fremden Rechner ">zu Gast"< sind. - -Sie können die Stellen, an denen beim Benutzen von \TL von \DVD auf der Festplatte Verzeichnisse -angelegt werden, minimieren. Verwenden Sie unter unter Unix das Skript \filename{tl-portable} oder -unter Windows die Batch-Datei \filename{tl-portable.bat}, so werden beim ersten Start die -Konfigurationsdateien für das Verwenden des Live-Modus von \DVD geschrieben. - -Hierzu wird ausschließlich ein Verzeichnis \dirname{~/.tlportable2008} angelegt, in dem diese Dateien -abgelegt werden. Dies kann einen Moment dauern, aber sobald die Dateien einmal da sind, erfolgt -der Start des portablen Modus über die o.\,a. Programme sehr schnell. Die Konfiguration dieses -Modus erfolgt ausschließlich in dem aktuellen Terminalfenster (bzw.\ für die aktuelle Eingabeaufforderung), -der Rest des Systems bleibt davon völlig unberührt. Sie können problemlos in mehreren Sitzungen -parallel den portablen Modus benutzen. - -Wird hier immer ein Verzeichnis auf der Festplatte angelegt, so ist dies komplett überflüssig, wenn -Sie den portablen Modus von USB-Stick verwenden. Kopieren Sie hierfür alle Dateien, die sich direkt im -Verzeichnis \dirname{texlive} der \DVD befinden, sowie (mindestens) die Verzeichnisse \dirname{bin}, -\dirname{texmf}, \dirname{texmf-dist} und \dirname{tlpkg} komplett auf den USB-Stick (dies kann eine -Weile dauern!). Beim Kopieren auf einen mit FAT32 formatierten Stick verwenden Sie unbedingt die Option -zum Auflösen symbolischer Links (\code{cp -L}). Ein auf dem Stick vorhandenes Verzeichnis \dirname{texmf-local} -wird ebenfalls später erkannt und benutzt. - -Wenn Sie nun das Skript \filename{tl-portable} auf dem USB-Stick (wie oben für die \DVD beschrieben) -verwenden, erkennt das Skript, dass der USB-Stick beschreibbar ist und verwendet diesen statt der -Festplatte für die Konfigurationsdateien. - -\section{\cmdname{tlmgr}: Installation verwalten} -\label{sec:tlmgr} - -\begin{figure}[tb] -\tlpng{tlmgr-gui}{\linewidth} -\caption{\prog{tlmgr} im \GUI-Modus. Die Liste der Pakete, Collections und Schemas - wird erst nach Klicken auf ">Load"< angezeigt.}\label{fig:tlmgr-gui} -\end{figure} - -\begin{figure}[tb] -\tlpng{tlmgr-config}{\linewidth} -\caption{\texttt{tlmgr} im \GUI-Modus: Reiter Konfiguration}\label{fig:tlmgr-config} -\end{figure} - -Bei der Installation von \TL wird auch das Programm~\prog{tlmgr} installiert, mit dem Sie anschließend -Ihr \TL-System verwalten können. Die hierfür bisher verwendeten Programme~\prog{updmap}, -\prog{fmtutil} und \prog{texconfig} sind zwar noch vorhanden, werden aber in der Zukunft durch -\prog{tlmgr} ersetzt. Verwenden Sie daher heute schon \prog{tlmgr}. Mit \prog{tlmgr} können Sie -folgende Aufgaben erledigen: -\begin{itemize*} -\item Verfügbare Schemas, Collections und Pakete anzeigen. -\item Installieren, aktualisieren, entfernen, Backup und Restore einzelner Pakete, auf Wunsch mit - Berücksichtigung von Paketabhängigkeiten. -\item Suchen nach Paketen. -\item Anzeigen der Systeme, unter denen \TL läuft; installieren von Binaries für weitere Systeme. -\item Anpassen der Installation, wie Ändern der Papiergröße oder des Quellverzeichnisses für Komponenten - (s.\,Abschnitt~\ref{sec:location}). -\end{itemize*} -\textit{Warning:} \prog{tlmgr} ist für den Live-Modus, bei dem \TL von \DVD genutzt wird, weder gedacht -noch getestet. - -\subsection{\cmdname{tlmgr} im grafischen Modus} -\prog{tlmgr} im \GUI-Modus wird durch -\begin{alltt} -> \Ucom{tlmgr -gui} -\end{alltt} -gestartet. Unter Windows finden Sie das Programm im Start menu: \texttt{Start}, \texttt{Programme}, -\texttt{TeX Live 2008}, \texttt{TeX Live Manager}. Nach Klicken auf ">Load"< -wird eine Liste aller verfügbaren und installierten (letztere durch ">(i)"< gekennzeichnet) angezeigt. Dies -setzt voraus, dass das Verzeichnis, aus dem \TL die Pakete lädt, vorhanden bzw.\ erreichbar ist. - -Abb.~\ref{fig:tlmgr-config} stellt den Reiter zur Konfiguration von \TL dar. - -\subsection{Beispiel zur Verwendung von \cmdname{tlmgr} über Kommandozeile} - -Das folgende Beispiel demonstriert, wie mehrere Pakete -zur Installation hinzu gefügt werden. -Hierbei wird eine andere Adresse zum Herunterladen verwendet. - -\begin{alltt} -> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} -\end{alltt} -Dies liefert die folgende Ausgabe: -\begin{fverbatim} -install: collection-xetex -install: arabxetex -install: euenc -install: bidi -install: fontspec -install: fontwrap -install: ifxetex -install: philokalia -install: polyglossia -install: xecyr -install: xecyr.i386-linux -install: xepersian -install: xetex -install: xetexconfig -install: xetex.i386-linux -running post install action for xetex -install: xetex-def -install: xetex-pstricks -install: xetexfontinfo -install: xltxtra -install: xunicode -install: xkeyval -running mktexlsr -mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... -mktexlsr: Done. -regenerating fmtutil.cnf -running fmtutil-sys --missing -... -Transcript written on xelatex.log. -fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. -\end{fverbatim} - -Wie man sieht, beachtet \prog{tlmgr} die Abhängigkeiten von Paketen und installiert im obigen -Beispiel von \XeTeX{} benötigte Komponenten nach. Weiterhin werden automatisch im Anschluss -die Dateilisten der Verzeichnisbäume aktualisiert und fehlende Formate generiert. - -Im folgenden Beispiel wird die Unterstützung für eine weitere Sprache installiert. Im Anschluss -werden automatisch die Formatdateien neu generiert, damit die neuen Trennmuster eingebunden sind. -\begin{alltt} -> \Ucom{tlmgr install collection-langdutch} -\end{alltt} - -Eigenschaften eines Pakets anzeigen: -\begin{alltt} -> \Ucom{tlmgr show collection-wintools} -\end{alltt} - -Hier erhält man folgende Ausgabe: -\begin{fverbatim} -Package: collection-wintools -Category: Collection -ShortDesc: Windows support programs -LongDesc: Utilities for Windows, since they are not readily available there: - gzip, chktex, jpeg2ps, unzip, wget, xpdf. -Installed: Yes -\end{fverbatim} - -Aktualisieren der kompletten Installation: -\begin{alltt} -> \Ucom{tlmgr update -all} -\end{alltt} -Wenn Sie erst wissen wollen, was auf Sie zu kommt, können Sie zunächst folgendes ausprobieren: -\begin{alltt} -> \Ucom{tlmgr update -all -dry-run} -\end{alltt} -oder -\begin{alltt} -> \Ucom{tlmgr update -list} -\end{alltt} - -Zum Anzeigen aller Optionen: -\begin{alltt} -> \Ucom{tlmgr -help} -\end{alltt} - -\section{Hinweise zu Windows} -\label{sec:windows} - -Das Installationsprogramm von \TL\ läuft sowohl unter Windows als auch Unix. Dies war nur dadurch möglich, -dass ältere Versionen von Windows nicht mehr unterstützt werden. Daher kann \TL\ nur noch ab Windows 2000 oder -später installiert werden. - - -\subsection{Windows-spezifische Dinge} -\label{sec:winfeatures} - -Unter Windows kümmert sich das Installationsprogramm auch um folgende Dinge: -\begin{description} -\item[Menüs und Verknüpfungen.] Im Startmenü wird ein Menü ">\TL{}"< hinzu gefügt. Hier sind Einträge für - die grafischen Anwendungen (\prog{tlmgr}, \prog{texdoctk}, den PS\_View PostScript-Previewer) - und einige Verknüpfungen zur Dokumentation vorhanden. Für PS\_View wird eine Verknüpfung auf dem - Desktop angelegt, auf die Sie \PS-Dateien per Drag~\& Drop ziehen können, um diese zu betrachten. -\item[Automatisches Setzen der UmgebungsVariablen.] Hierdurch ist das Setzen dieser Variablen - von Hand überflüssig geworden. -\item[Uninstaller.] Es wird ein Eintrag zum Entfernen von \TL in der Systemsteuerung im Punkt Software angelegt. - Alternativ können Sie \TL über das Programm~\prog{tlmgr} deinstallieren. -\end{description} - -\subsection{Zusätzlich enthaltene Programme} - -\begin{figure}[tb] -\tlpng{psview}{.6\linewidth} -\caption{PS\_View: Anzeige mit hoher Vergrößerung}\label{fig:psview} -\end{figure} - -Zusätzlich werden unter Windows einige Programme installiert, die unter Windows meist noch nicht verfügbar -sind: -\begin{description} -\item[Perl und Ghostscript.] Da Perl und Ghostscript für \TL sehr wichtig ist, werden diese - unter Windows mitgeliefert und werden intern von \TL benutzt. Die in \TL enthaltenen Programme, die - diese Komponenten benötigen, ">wissen"< wo sich diese befinden, ohne dass diese im System durch - Umgebungsvariablen oder Einträge in der Registry sichtbar sind. Es handelt sich um für \TL abgespeckte - Versionen, die zu keinen Konflikten mit eventuell bereits vorhandenen Installationen von Perl und Ghostscript - führen sollten. -\item[Tools für die Kommandozeile.] Für einige unter Unix übliche Programme werden Portierungen für Windows - mitgeliefert. Dies sind z.\,B. \cmdname{gzip}, \cmdname{chktex}, - \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} und einige Programme für die Kommandozeile aus der - \cmdname{xpdf}-Suite. (Vom - \cmdname{xpdf}-Viewer selbst gibt es keine Version für Windows, aber der - Sumatra \acro{PDF}-Viewer basiert auf \cmdname{xpdf}: - \url{http://blog.kowalczyk.info/software/sumatrapdf}.) -\item[\texttt{fc-cache}] dient \XeTeX{} zur effizienteren Benutzung von Schriften. -\item[PS\_View.] Weiterhin wird PS\_View installiert, ein neuer PostScript-Viewer, der Freie Software ist, - s.\,Abb.~\ref{fig:psview}. -%\end{description} -% -%\begin{description} -\item[Das Verzeichnis \texttt{support}] wurde bereits in - Abschnitt~\ref{sec:tld} erwähnt. Es enthält einige Programme, die im Zusammenhang mit - \TeX{} nützlich sind, insbesondere einige Editoren mit \TeX-Modus und Benutzeroberflächen für \TeX{}. - Die in diesem Verzeichnis enthaltene Software wird nicht vom Installationsprogramm mit installiert. - Weiterhin findet sich dort der \dvi{}-Previewer \cmdname{dviout}, siehe nächster Abschnitt. -\end{description} - -\subsection{Der Dviout-Previewer} - -Von dieser Version von \TL{} wird leider kein \dvi{}-Previewer für Windows mitinstalliert. -Allerdings können Sie das Programm \prog{dviout} von -Toshio Oshima aus dem Verzeichnis \path{support/dviout/} installieren. Im selben Verzeichnis findet sich -die Datei \filename{README} mit einer kurzen Anleitung zur Installation und Konfiguration von -\prog{dviout} für \TL. Bitte beachten Sie diese Anleitung unbedingt! - -Wenn Sie am Anfang Dokumente mit \cmdname{dviout} anschauen, werden häufig noch Fonts generiert, da -keine fertigen Fontdateien für den Bildschirm mitgeliefert werden. Je mehr Fonts generiert wurden, desto -seltener müssen Schriften nachgeneriert werden, so dass dieser Effekt nach einiger Zeit nur noch selten -auftreten wird. Weitere Informationen finden Sie in der (sehr guten) Online-Hilfe. - -\subsection{Link zu zusätzlicher Software} -Hier einige URLs, hinter denen sich nützliche Software verbirgt: -\begin{description} -\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} -\item[Perl] \url{http://www.perl.org/} mit - Zusatzpaketen von \acro{CPAN}, \url{http://www.cpan.org/}. -\item[ImageMagick] \url{http://www.imagemagick.com}, zum Manipulieren - und Konvertieren von Grafikdateien. -\item[NetPBM] \url{http://netpbm.sourceforge.net/}, ebenfalls zum - Konvertieren von Grafikdateien. -\item[Editoren mit \TeX-Unterstützung] Dies ist lediglich eine grobe Auswahl, - und bekanntlich sind die Geschmäcker verschieden, bei Editoren wie - beim Essen. - \begin{itemize*} - \item \cmdname{GNU Emacs} gibt es auch für Windows, siehe - \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. - \item \cmdname{Emacs} mit Auc\TeX\ für Windows wird im - \path{support}-Verzeichnis von \TL mitgeliefert. Die Homepage - findet sich unter - \url{http://www.gnu.org/software/auctex}. - \item \cmdname{WinShell} findet sich ebenfalls im \path|support|-Verzeichnis. - Die Homepage lautet \url{http://www.winshell.de}. - \item \cmdname{WinEdt} ist Shareware und verfügbar von - \url{http://www.winedt.com}. - \item \cmdname{Vim} ist freie Software, verfügbar von - \url{http://www.vim.org}. - \item TeXnicCenter ist ebenfalls freie Software, verfügbar von - \url{http://www.toolscenter.org} und Teil von pro\TeX{}t. - \item \cmdname{LEd} ist verfügbar von \url{http://www.ctan.org/support/LEd}. - \item \cmdname{SciTE} ist verfügbar von - \url{http://www.scintilla.org/SciTE.html}. - \end{itemize*} -\end{description} - -\subsection{User Profile unter Windows} -\label{sec:winhome} - -Das Gegenstück von Windows zum HOME-Verzeichnis unter Unix ist das -Verzeichnis \verb|%USERPROFILE%|. Unter Windows XP und Windows 2000 liegt -es meist im Verzeichnis \verb|C:\Documente und Einstellungen\|, unter -Windows Vista \verb|C:\Users\|. In der Datei -\filename{texmf.cnf} und in \KPS{} allgemein wird \verb|~| -sowohl unter Unix und Windows korrekt aufgelöst. - -\subsection{Die Windows-Registry} -\label{sec:registry} - -Windows verwaltet fast all seine Konfigurationseinstellungen in der -Registry. Diese besteht aus einem hierarchisch aufgebauten Baum -von Schlüsseln, wobei mehrere dieser Registry-Bäume existieren. -Die wichtigsten sind \path{HKEY_CURRENT_USER} und \path{HKEY_LOCAL_MACHINE}, -oft abgekürzt als \path{HKCU} bzw.\ \path{HKLM}. -Der \path{HKCU}-Teil der Registry wird im Home-Verzeichnis des Benutzers -gespeichert (s.\,Abschnitt~\ref{sec:winhome}). \path{HKLM} liegt im -Normalfall in einem Unterverzeichnis des Windows-Verzeichnisses. - -In einigen Fällen sind Systeminformationen aus Umgebungsvariablen -ersichtlich, in vielen anderen Fällen liegen diese Informationen -aber in der Registry. - -\subsection{Windows Permissions} -\label{sec:winpermissions} - -In neueren Versionen von Windows wird zwischen normalen Benutzern und -Administratoren unterschieden, wobei nur letztere freien Zugang auf -alle Teile des Betriebsystems haben. Im Gegensatz zu Unix ist es in der -Praxis allerdings häufig so, dass Benutzer zur Klasse der Administratoren -gehören und daher doch alle Freiheiten haben. Trotzdem haben wir einigen -Aufwand getrieben, damit \TL auch unter Windows ohne Administrator-Rechte -installiert werden kann. - -Falls der Benutzer, der \TL installiert, Administrator-Rechte besitzt, -wird \TL für alle Benutzer des Systems installiert, d.\,h. Verknüpfungen, -Menüs und Systemeinträge für alle Nutzer angelegt. Ansonsten werden diese -nur für den aktuellen Benutzer angelegt. Falls Sie Administrator sind, -\TL aber trotzdem nur für sich und nicht für alle installieren wollen, -können Sie dem Programm~\prog{install-tl} die Option~\optname{non-admin} -mit geben. - -Unabhängig davon wird grundsätzlich angenommen, dass das Wurzelverzeichnis -von \TL unter \verb|%PROGRAMFILES%| liegen soll. Allerdings testet das -Installationsprogramm, ob dieses Verzeichnis für den aktuellen Benutzer -schreibbar ist. - -Ein Problem entsteht, wenn \TL ohne Administrator-Rechte installiert -wird und sich bereits ein \TeX{}-System im systemweiten Suchpfad -befindet. Windows benutzt zuerst den Suchpfad des Systems, erst dann -den spezifischen Suchpfad des Nutzers, so dass hier immer zuerst -das alte \TeX-System gefunden wird. Als Workaround wird hier eine -Verknüpfung mit einer Eingabeaufforderung erzeugt, in der das -Programmverzeichnis von \TL im Suchpfad vor den Standard\-such\-pfad -geschrieben wird. Dies bedeutet, dass in diesem Fall nur in einer -Eingabeaufforderung verfügbar ist, die über diese Verknüpfung gestartet -wird. - -% ============================================================== -% don't use \Webc so the \uppercase in the headline works. -\section[Anleitung zum Web2C-System]{Anleitung zum \Webc-System} - -{\Webc} besteht aus einer Reihe von Programmen, die zusammen ein komplettes -\TeX-System darstellen. Dazu gehören natürlich \TeX, -\MF, \MP, {\BibTeX} usw. - -Die erste Implementierung eines \TeX-Systems -in der Programmiersprache C stammt von Tomas~Rokicki und datiert zurück in das -Jahr 1987. Rokicki benutzte als Basis sog. Change-Files unter \acro{UNIX}, die ursprünglich von -Howard~Trickey und Pavel~Curtis entwickelt wurden. Tim~Morgan hat dieses -System, für das der Name Web-to-C\@ eingeführt wurde, gepflegt. -1990 hat Karl~Berry mit Unterstützung vieler Helfer die Weiterentwicklung -übernommen und 1997 an Olaf~Weber weitergegeben, der es 2006 wieder an -Karl zurück gab. - -\Webc{} läuft unter \acro{UNIX}, 32-bit-Versionen von Windows, \MacOSX{} -und auf weiteren Betriebssystemen. Es benutzt die -Original-Quelldateien von Donald E.~Knuth und weitere in der -Sprache {\web} entwickelte Programme als Basis und übersetzt diese -in C-Quell-Code. Darüber hinaus bietet das System viele Makros und -Funktionen zur Nutzung der originalen \TeX-Software. Hier eine -Liste der Basisprogramme eines \TeX-Systems: - -\begin{description} -%\renewcommand{\makelabel}[1]{\descriptionlabel{\mdseries\cmdname{#1}}} -\item[bibtex] Verwalten von Bibliographien -\item[dmp] \cmdname{troff}-nach-MPX-Konverter (\MP-Bilder) -\item[dvicopy] Umwandeln von virtuellen Zeichensätzen in DVI-Dateien -\item[dvitomp] DVI-nach-MPX-Konverter (\MP-Bilder) -\item[dvitype] Textanzeige aus DVI-Dateien -\item[gftodvi] Erzeugen von Prüfausgaben für Zeichensätze -\item[gftopk] Packen von Zeichensätzen -\item[gftype] Anzeige von Zeichensätzen als ASCII-Graphik -\item[makempx] Anzeige von \MP-Beschriftungen -\item[mf] Zeichensatzerzeugung -\item[mft] formatierte Ausgabe von \MF-Quellen -\item[mpost] \MF-ähnliches Grafikprogramm -\item[mpto] Extrahieren von \MP-Beschriftungen -\item[newer] Vergleich von Dateierstellungsdaten -\item[patgen] Erzeugen von Trennmustern -\item[pktogf] Entpacken von Zeichensätzen -\item[pktype] Anzeige gepackter Zeichensätze -\item[pltotf] Umwandeln von Property-Listen in \file{.tfm}-Dateien -\item[pooltype] Anzeige der Bildschirmtexte eines WEB-Programms -\item[tangle] Konverter {\web} nach Pascal -\item[tex] \TeX-Programm -\item[tftopl] Umwandeln einer \file{.tfm}-Datei in eine Property-Liste -\item[vftovp] Umwandeln eines virtuellen Zeichensatzes in eine Property-Liste -\item[vptovf] Umwandeln einer Property-Liste in einen virtuellen Zeichensatz -\item[weave] \web-Code als \TeX-Dokumentation -\end{description} - -Die genaue Funktionsweise und die möglichen Parameter sind der -Beschreibung der jeweiligen Pakete bzw.\ der \Webc-Dokumentation zu entnehmen. -Trotzdem wird ein Überblick über Zusammenspiel und Funktionsweise der -\Webc-Programme Ihnen sicherlich helfen, besser mit dem System zurechtzukommen. - -Zunächst verstehen alle Programme die grundlegenden Parameter der -\acro{GNU}-Software: - -\begin{description} -\item[\texttt{-{}-help}] kurzer Hilfstext -\item[\texttt{-{}-verbose}] ausführliche Ausgaben beim Programmablauf -\item[\texttt{-{}-version}] Ausgabe der Versionsnummer -\end{description} - -Die Programme des \Webc-Systems benutzen zum Lokalisieren der benötigten -Dateien im Dateisystem die \KPS-Bibliothek (\url{http://tug.org/kpathsea}). Diese Bibliothek optimiert und -beschleunigt den Suchprozess im Dateisystem. Ihre Arbeitsweise wird durch -einige Umgebungsvariablen und eine Kon"-fi"-gu"-ra"-tions"-da"-tei gesteuert. -\Webc~7.5 kann mehr als einen Dateibaum gleichzeitig verwalten und ermöglicht -somit die schon beschriebene \TL-Installation unter Verwendung der -\acro{CDROM} oder {\DVD} mit der Ablage modifizierter Konfigurationsdateien -und zusätzlicher Zeichensätze in einem zweiten Dateibaum. Die Suche -nach Dateien wird durch die Analyse der Datei \file{ls-R} beschleunigt, -die in jedem Wurzelverzeichnis eines \TeX-Dateibaums vorhanden ist. -Sie enthält für jede Datei die genaue Position im Dateibaum relativ -zum Wurzelverzeichnis. - -% ------------------------------------------------------------- -\subsection[Dateisuche mit der Kpathsea-Bibliothek]{Dateisuche mit der \protect\KPS-Bibliothek} -\label{sec:kpathsea} - -Wir beschreiben zunächst den grundlegenden Suchmechanismus der \KPS-Bibliothek. - -Ein \emph{Suchpfad} ist eine durch Kommata oder Semikola getrennte Liste von -\emph{Pfadkomponenten}, die üblicherweise Verzeichnisnamen darstellen. -Ein Suchpfad kann sich aus vielen Komponenten zusammensetzen. Die Suche nach -einer Datei \samp{my-file} über den Suchpfad \samp{.:/dir} bewirkt, dass -{\KPS} jede Komponente nacheinander überprüft, also zunächst -\samp{./my-file} und dann \samp{/dir/my-file}. Als Ergebnis wird entweder die -erste gefundene Datei oder eine Liste aller passenden Dateien geliefert. - -Um auf allen Dateisystemen effizient arbeiten zu können, verwendet {\KPS} ggf. andere -Datei-/""Verzeich"-nis-Separatoren als \samp{:} und \samp{/}. - -Beim Überprüfen einer Pfadkomponente \var{p} überprüft {\KPS} zunächst, -ob eine Dateinamen"=Datenbank (siehe auch Dateinamen"=Datenbank auf -Seite~\pageref{sec:filename-database}) für die Pfadkomponente zuständig ist, -d.\,h. beispielsweise steht die Datenbank in einem Verzeichnis, das im Pfad -vor der zu überprüfenden Komponente \var{p} steht. In diesem Fall wird -zur Bestimmung der Position der gesuchten Datei die Datenbank herangezogen. - -Nur wenn keine passende Datenbank existiert oder wenn die Datei nicht -in der Datenbank gefunden wird, durchsucht {\KPS} das Dateisystem. Diese -zeitaufwändige Suche kann über die Spezifikation der Pfadkomponente \var{p} -mit dem Präfix \samp{!!}\ unterbunden werden. Zur Suche erzeugt {\KPS} eine -Liste der Verzeichnisse, die im Pfadelement enthalten sind, und durchsucht -jedes dieser Verzeichnisse nach der gesuchten Datei. - -Für Dateien kann auch ein Schalter \samp{file~must~exist} gesetzt -werden (">Datei muss vorhanden sein"<). Wenn dieser Schalter nicht -gesetzt ist und beispielsweise über das \TeX-Kommando -\cs{openin} eine VF-Datei wie \file{cmr10.vf} gelesen werden -soll, wäre es falsch, nach dieser Datei zu suchen, weil es sie gar -nicht gibt. Speziell für neu installierte VF-Dateien sollten Sie -also unbedingt die Dateinamen"=Datenbank (\cmdname{ls-R}) -aktualisieren, weil die Dateien sonst nicht gelesen werden und -kein Fehler angezeigt wird. Dieser Vorgang wiederholt sich für jede -Komponente eines Suchpfades: zunächst wird die Datenbank -überprüft, danach ggf. das Dateisystem. Wird die Datei gefunden, -stoppt die Suche (normalerweise) und als Ergebnis wird der komplette Pfad zur -gesuchten Datei ausgegeben. - -Außer Verzeichnisnamen dürfen Pfadkomponenten für {\KPS} folgende -Elemente enthalten: (verschachtelte) Vorgaben, Umgebungsvariablen, -Werte aus der Konfigurationsdatei, Home-Verzeich"-nisse von -Benutzern und Startverzeichnisse für eine rekursive Suche. Diese -Elemente werden vor einer Dateisuche von {\KPS} in gewöhnliche -Verzeichnis- oder Dateinamen expandiert. Diese Expansion wird in -den folgenden Abschnitten erklärt, und zwar genau in der -Reihenfolge, wie die Elemente auch von {\KPS} bearbeitet werden. - -Beachten Sie, dass {\KPS} bei absoluten und explizit relativen Komponenten, -d.\,h. wenn die Komponente mit den Zeichen \samp{/}, \samp{./} oder -\samp{../} beginnt, nur überprüft, ob die Datei existiert. - -\ifSingleColumn -\else - -\begin{figure*}[tp] -\verbatiminput{examples/ex5.tex} -\setlength{\abovecaptionskip}{0pt} - \caption{An illustrative configuration file sample} - \label{fig:config-sample} -\end{figure*} -\fi - -% .............................................................. -\subsubsection{Bestandteile von Pfadkomponenten}\label{Path-sources} -\label{sec:path-sources} - -Ein Suchpfad kann aus vielen verschiedenen Bestandteilen aufgebaut werden. -Dies sind in der Reihenfolge, wie {\KPS} sie auswertet: - -\begin{enumerate} -\item - eine benutzerdefinierte Umgebungsvariable, z.\,B. \envname{TEXINPUTS}: - Wird an den Inhalt der Variablen ein Punkt und ein Programmname angehängt, wie - beispielsweise bei \envname{TEXINPUTS.latex}, hat diese Form Vorrang - vor den ">gewöhnlichen"< Variablen. -\item - Einträge aus programmspezifischen Konfigurationsdateien, - beispielsweise zum Programm {\dvips} eine Zeile \samp{S /a:/b} - in der Konfigurationsdatei \file{config.ps} -\item - Einträge aus der \KPS-Konfigurationsdatei \file{texmf.cnf}, - z.\,B. \samp{TEXINPUTS=/c:/d} (siehe folgenden Text) -\item - Einstellung beim Übersetzen der Programme -\end{enumerate} - -Unter Verwendung der Parameter zur Fehlersuche können Sie sich diese -Werte für einen Suchpfad auch anzeigen lassen. (Siehe dazu den Abschnitt -Fehlersuche auf Seite~\pageref{sec:debugging}.) - -% .............................................................. -\subsubsection{Konfigurationsdateien} - -%\tolerance=3500 -Die \KPS-Bibliothek liest zur Laufzeit die \emph{Konfigurationsdateien} mit den Namen -\file{texmf.cnf}. Der zugehörige Suchpfad zum Auf"|finden dieser -Konfigurationsdateien steht in der Umgebungsvariablen \envname{TEXMFCNF} -(die Voreinstellung ist \file{texmf/web2c}). {\KPS} liest \emph{alle} -Dateien mit den Namen \file{texmf.cnf}, die es in diesem Suchpfad findet. -Die zuerst gelesenen Definitionen haben dabei Vorrang vor später gelesenen -Werten. -Wenn der Suchpfad auf \dirname{.:\$TEXMF} steht, überschreiben die Einstellungen -in \file{./texmf.cnf} diejenigen in \dirname{\$TEXMF/texmf.cnf}. - -%\tolerance=1500 - -Im Folgenden wird die Syntax der Datei \file{texmf.cnf} angegeben. -Konsultieren Sie zum besseren Verständnis beim Lesen die auf der -{\acro{CDROM}} oder {\DVD} enthaltene Konfigurationsdatei. -%, die ab Seite~\pageref{app:texmf.cnf} im Anhang dieser Anleitung -% abgedruckt ist. - -\begin{itemize} -\item - Kommentare beginnen mit einem \samp{\%} und erstrecken sich bis zum - Zeilenende. -\item - Leerzeilen werden überlesen. -\item - Ein \samp{\bs} am Zeilenende fasst die aktuelle mit der folgenden Zeile - zusammen. Leerraum in der Folgezeile wird \emph{nicht} überlesen. -\item - Sonstige Zeilen haben den folgenden Aufbau: - -\begin{alltt} - \var{Variable}[.\var{Programmname}] [=] \var{Wert} -\end{alltt}% - - Das Zeichen ">="< und umgebender Leerraum dürfen entfallen. -\item - Der Name von \var{Variable} kann alle Zeichen außer Leerzeichen, - \samp{=} und \samp{.} enthalten. Verwenden Sie am besten nur die Zeichen - \samp{A-Za-z\_}. -\item - Wenn das Suffix ">\code{.\var{Programmname}}"< angegeben wird, gilt die - Variable nur für das entsprechende Programm ">\var{Programmname}"< oder - ">\code{\var{Programmname}.exe}"<. Auf diese Weise können - beispielsweise verschiedene - \TeX-Formate mit unterschiedlichen Suchpfaden arbeiten. -\item - \texttt{\var{Wert}} darf alle Zeichen außer \texttt{\%} und \texttt{@} - enthalten. - Die Einschränkung der Werte auf bestimmte Programme über ein Suffix - ist nicht zulässig. Ein \samp{;} in \texttt{\var{Wert}} wird unter - \acro{UNIX} in \samp{:} umgewandelt. Dadurch ist die Verwendung der gleichen - Konfigurationsdateien für \acro{UNIX} und \acro{DOS}/""Windows"=Systeme möglich. -\item - Die Definitionen werden komplett eingelesen, bevor eine Expansion - stattfindet. Dadurch können Sie die Variable schon vor Ihrer Definition - referieren. -\end{itemize} - -Der Ausschnitt einer Konfigurationsdatei demonstriert diese -Möglichkeiten. -\ifSingleColumn -\verbatiminput{examples/ex5.tex} -\else -Betrachten Sie Abbildung~\ref{fig:config-sample}. -\fi - -% .............................................................. -\subsubsection{Expansion von Pfadkomponenten} -\label{sec:path-expansion} - -{\KPS} verwendet in Suchpfaden ähnliche Zeichen und Konstrukte wie -\acro{UNIX}-Shells. Beispielsweise wird die Definition -\verb|~$USER/{foo,bar}//baz| in alle Unterverzeichnisse von \file{foo} und -\file{bar} unterhalb vom Home-Verzeichnis von \dirname{\$USER} expandiert, -die eine Datei oder ein Unterverzeichnis namens \file{baz} enthalten. Der -Expansionsmechanismus wird im Folgenden erklärt. - -% .............................................................. -\subsubsection{Expansion der Voreinstellungen} -\label{sec:default-expansion} - -Wenn der Suchpfad mit der höchsten Priorität (siehe hierzu ">Bestandteile von -Pfadkomponenten"< auf Seite~\pageref{sec:path-sources}) einen zusätzlichen -(vorangestellten, nachgestellten oder verdoppelten) Doppelpunkt enthält, -wird an dieser Stelle der Suchpfad eingefügt, der als nächstes in der -Hierarchie folgt. Auch bei diesem gilt dieselbe Regel. Wenn beispielsweise -die Umgebungsvariable - -\begin{alltt} -> \Ucom{setenv TEXINPUTS /home/karl:} -\end{alltt} - -gesetzt wird (hier: C-Shell) und in \file{texmf.cnf} die Variable -\code{TEXINPUTS} folgenden Wert erhält - -\begin{alltt} - .:\$TEXMF//tex -\end{alltt} - -dann lautet der Suchpfad schließlich: - -\begin{alltt} - /home/karl:.:\$TEXMF//tex -\end{alltt} - -Da es sinnlos wäre, denselben Pfad mehrfach einzufügen, wird die Ersetzung -nur einmal vorgenommen, und zwar in der Reihenfolge vorne, hinten und -Mitte. Mehrfach verdoppelte Doppelpunkte bleiben unverändert. - -% .............................................................. -\subsubsection{Expansion geschweifter Klammern} - -Die Expansion geschweifter Klammern ist zur Definition mehrerer -\TeX-Hierarchien sehr nützlich. Beispielsweise wird |v{a,b}w| -zu |vaw:vbw|. Verschachtelungen sind dabei erlaubt. -Diese Technik wird dazu benutzt, durch eine Zuweisung an -\code{\$TEXMF} verschiedene \TeX-Hierarchien einzuführen. -Als Beispiel finden Sie in \file{texmf.cnf} folgende Definition -(etwas gekürzt, tatsächlich ist es etwas komplexer): -%(Zeile 75): %%%% to be checked !!!! checked&corrected vrws 01.06.05 - -\begin{verbatim} - TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} -\end{verbatim} - -Eine Anwendung wie - -\begin{verbatim} - TEXINPUTS = .;$TEXMF/tex// -\end{verbatim} -%$ -führt dann dazu, dass erst im aktuellen Verzeichnis gesucht wird, dann -im gesamten Dateibaum \code{\$TEXMFHOME/tex} und \code{\$TEXMFLOCAL/tex} -(auf der Festplatte) und -schließlich im gesamten Dateibaum \dirname{\$TEXMFVAR/tex} sowie -\code{\$TEXMFMAIN/tex} (nur in der Datenbank \file{ls-R}) -durchsucht wird. Dadurch kann man bequem -zwei parallel installierte \TeX-Hierarchien durchsuchen, -beispielsweise eine unveränderliche auf \acro{CDROM}/{\DVD} und eine dynamisch -angepasste auf Festplatte, in der neue Programmversionen und zusätzliche -Zeichensätze installiert werden. Durch die Verwendung der Variablen -\code{\$TEXMF} in allen Definitionen wird grundsätzlich zuerst der -neuere Dateibaum durchsucht. - -% .............................................................. -\subsubsection{Expansion von Unterverzeichnissen} -\label{sec:subdirectory-expansion} - -Zwei oder mehrere aufeinanderfolgende Schrägstriche (\texttt{//}) in -einer Pfadkomponente, die auf einen Verzeichnisnamen \var{d} folgen, -werden expandiert zu allen Unterverzeichnissen von \var{d}. Dieser -Vorgang findet rekursiv statt, wobei erst alle Verzeichnisse auf -einer Ebene bearbeitet werden, dann deren Unterverzeichnisse, usw. -Auf den jeweiligen Ebenen ist nicht beeinflussbar, in welcher -Reihenfolge die Unterverzeichnisse bearbeitet werden. - -Wenn nach den Schrägstrichen Namen angegeben werden, dann werden nur -Unterverzeichnisse mit passenden Namen in die Suche einbezogen. -Beispielsweise wird \samp{/a//b} in die Pfade \file{/a/1/b}, -\file{/a/2/b}, \file{/a/1/1/b} usw. expandiert, aber nicht -zu \file{/a/b/c} oder \file{/a/1}. -(Jeweils vorausgesetzt, dass die Verzeichnisse existieren.) - -Mehrere \samp{//}-Konstruktionen innerhalb einer Pfadkomponente -sind zulässig, allerdings nicht am Pfadanfang. - -% .............................................................. -\subsubsection{Liste der Sonderzeichen und ihre Bedeutung: eine Zusammenfassung} - -Die folgende Zusammenfassung fasst alle Sonderzeichen zusammen, die in den -\KPS"=Konfigurationsdateien auftreten können: - -% ++++++++++++++++++++++++ -\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} -% ++++++++++++++++++++++++ - -\begin{description} -\item[\CODE{:}] Trennzeichen für Pfadkomponenten; als erstes - oder letztes Zeichen im Pfad bewirkt es die - Expansion der Voreinstellungen. -\item[\CODE{;}] Trennzeichen für Pfadkomponenten für andere - Rechnerplattformen als \acro{UNIX} (Verwendung wie - ">\code{:}"<) -\item[\CODE{\$}] Expansion von Variableninhalten -\item[\CODE{\string~}] Home-Verzeichnis eines Benutzers (Tilde) -\item[\CODE{\char`\{...\char`\}}] Expansion geschweifter Klammern: - beispielsweise wird |a{1,2}b| zu |a1b:a2b|. -\item[\CODE{//}] Expansion von Unterverzeichnissen: tritt niemals - am Anfang einer Pfadkomponente auf. -\item[\CODE{\%}] Kommentar -\item[\CODE{\bs}] Konkatenation mit Folgezeile(n) -\item[\CODE{!!}] Einschränkung der Suche \emph{ausschließlich} auf die - Dateinamen"=Datenbank: Das Dateisystem wird \emph{nicht} - durchsucht! -\end{description} - -% ------------------------------------------------------------- -\subsection{Dateinamen"=Datenbanken} -\label{sec:filename-database} - -{\KPS} unternimmt etliche Anstrengungen, um den Zugriff auf Festplatte und -\acro{CDROM}/{\DVD} zur Suche nach Dateien zu reduzieren. Auf \TeX-Systemen mit -vielen Unterverzeichnissen kann die Suche in jedem möglichen Verzeichnis -nach einer bestimmten Datei eine lange Zeit in Anspruch nehmen, besonders -wenn einige Hundert Zeichensatzverzeichnisse durchforstet werden müssen. -Um dieses Problem abzumildern, benutzt {\KPS} eine Art Datenbankdatei -namens \file{ls-R}, die die Zuordnung von Dateinamen auf Verzeichnisse -enthält. Dadurch muss nicht jedesmal die Festplatte durchsucht werden. - -Eine zweite Datenbank in der Datei \file{aliases} kann eine Zuordnung -zwischen den Namen in \file{ls-R} und weiteren Namen vornehmen und so -beispielsweise hilfreich bei der Umsetzung von \samp{8.3}-\acro{DOS}-Dateinamen -auf die ">echten"<, aussagekräftigen Dateinamen zur Seite stehen. - -% .............................................................. -\subsubsection{Die \texttt{ls-R}-Datenbank} -\label{sec:ls-R} - -Wie schon öfters erwähnt, muss die Dateinamen"=Datenbank in der Datei -\file{ls-R} gespeichert sein. Sie sollten eine solche Datenbank für jede -\TeX-Hierarchie (normalerweise in \code{\$TEXMF}) Ihres Systems anlegen. -Die meisten \TeX-Systeme arbeiten nur mit einer Hierarchie. {\KPS} sucht -die Datenbanken \file{ls-R} über den Pfad \code{TEXMFDBS}. - -Es wird empfohlen, die Pflege der \code{ls-R}-Dateien dem mitgelieferten -Skript \cmdname{mktexlsr} zu überlassen. Dieses Skript wird automatisch von den -verschiedenen \samp{mktex*}-Skripten aufgerufen. Das Skript ruft -grob gesagt den Befehl - -\begin{alltt} -cd /\var{your}/\var{texmf}/\var{root} && ls -LAR ./ >ls-R -\end{alltt} - -auf, falls das Kommando \code{ls} Ihres Rechners eine Ausgabe im richtigen -Format liefert. (So wie das \acro{GNU}-\code{ls}.) Wenn Sie ganz sichergehen -wollen, dass die Datenbank immer auf dem neuesten Stand ist, sollten Sie sie -in regelmäßigen Abständen mit Hilfe eines \cmdname{crontab}-Eintrags -aktualisieren lassen. Dadurch wird nach einer Installation eines -Pakets per Hand trotzdem sichergestellt, dass die Datenbank aktuell ist. - -Wenn eine Datei nicht über die Datenbank gefunden wird, sucht -{\KPS} normalerweise auf der Festplatte weiter. Wenn eine Pfadkomponente -mit \samp{!!} beginnt, wird dagegen niemals die Festplatte durchsucht. - -% .............................................................. -\subsubsection{\cmdname{kpsewhich}: Dateisuche} -\label{sec:invoking-kpsewhich} - -Mit dem Programm \cmdname{kpsewhich} können Sie unabhängig vom Aufruf -irgendeines \TeX-Programms nach Dateien in der \TeX-Hierarchie suchen -(als schnellere Alternative zu dem Befehl \cmdname{find}). Dies -wird von den verschiedenen \samp{mktex\dots}-Skripten bis zum -Exzess vorexerziert. - -\begin{alltt} -> \Ucom{kpsewhich \var{option}{\dots} \var{filename}{\dots}} -\end{alltt} - -Die Optionen werden entweder mit \samp{-} oder mit \samp{-{}-} eingeleitet. -Jede eindeutige Abkürzung ist zulässig. - -Argumente der Kommandozeile, die keine Optionen darstellen, werden als -Dateinamen interpretiert. Für jeden Dateinamen wird der erste passende -Pfad gemeldet. Um eine Liste aller passenden Pfade zu erhalten, müssen Sie -das \acro{UNIX}-Kommando \cmdname{find} aufrufen. - -Im Folgenden werden die häufiger benutzten Optionen beschrieben. - -\begin{description} -\item[\texttt{-{}-dpi=}\var{num}]\mbox{}\\ - Stellt die Auf"|lösung für die Suche nach Zeichensätzen - (nur \file{.gf} oder \file{.pk}) auf \var{num}\,dpi. Alternativ - kann die Option \optname{-D} (kommt von \dvips) benutzt werden. - Voreinstellung ist~600. -\item[\texttt{-{}-format=}\var{name}]\mbox{}\\ - Setzt das Format zur Suche auf \var{name}. Per Voreinstellung - versucht \cmdname{kpsewhich} das Format über den Dateinamen - zu erschließen. Bei Formaten ohne zugeordnete Namens\-endung wie den - zu {\MP} gehörenden Dateien und den Konfigurationsdateien zu - {\dvips} müssen Sie den entsprechenden Namen so eingeben, wie er - \KPS{} bekannt ist. -\item[\texttt{-{}-mode=}\var{string}]\mbox{}\\ - Setzt für die Zeichensatzsuche den Generierungsmodus (betrifft nur - \file{.gf}- oder \file{.pk}-Dateien). Normalerweise werden alle - Zeichensätze gemeldet. -\item[\texttt{-{}-must-exist}]\mbox{}\\ - Es wird versucht, die Dateien notfalls durch eine Suche auf der - Festplatte zu finden. Normalerweise wird nur die \file{ls-R}-Datenbank - konsultiert. -\item[\texttt{-{}-path=}\var{string}]\mbox{}\\ - Sucht entlang des angegebenen Pfads statt des Standardpfads, - der auf Grund der Endung gewählt wird. Alle Expansionen sind - zulässig. Bei Verwendung der Option \texttt{-{}-path} darf nicht - die Option \texttt{-{}-format} angegeben werden. -\item[\texttt{-{}-progname=}\var{name}]\mbox{}\\ - Setzt den Programmnamen für die genauere Variablenspezifikation - über \samp{.\var{Programmname}}. Voreinstellung ist \samp{kpsewhich}. -\item[\texttt{-{}-show-path=}\var{name}]\mbox{}\\ - Zeigt den Suchpfad für die angegebene Namens\-endung. Diese kann entweder - als Namens\-endung (\samp{.pk}, \samp{.vf}, usw.) oder als Name (wie bei der - Option \optname{-{}-format}) spezifiziert werden. -\item[\texttt{-{}-debug=}\var{num}]\mbox{}\\ - Legt den Umfang für die Fehlersuche fest. -\end{description} - -% .............................................................. -\subsubsection{Anwendungsbeispiele} -\label{sec:examples-of-use} - -Wir schauen uns nun die Funktionsweise von {\KPS} anhand einiger Beispiele an. - -\begin{alltt} -> \Ucom{kpsewhich article.cls} - /usr/local/texmf-dist/tex/latex/base/article.cls -\end{alltt} - -Wir suchen unter den \TeX-Quelldateien nach der Datei \file{article.cls}. -Da die Namens\-endung \samp{.cls} eindeutig ist, müssen wir den Typ -\samp{.tex} nicht angeben. Die \samp{texmf-dist}-Hierarchie enthält die -Datei im Unterverzeichnis \dirname{tex/latex/base}. Ähnlich bereiten -die folgenden Beispiele auf Grund eindeutiger Namens\-endungen keine Probleme. - -\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} - -Beim letzten Beispiel handelt es sich übrigens um eine \BibTeX-Literaturdatenbank -für \textsl{TUGBoat}-Artikel. - -\begin{alltt} -> \Ucom{kpsewhich cmr10.pk} -\end{alltt} - -Zeichensatzdateien mit der Namens\-endung \samp{.pk} werden -von Anzeige- oder Druckaufbereitungsprogrammen wie {\dvips} und -\cmdname{xdvi} verwendet. Nachdem wir aufgrund der Voreinstellung keine \file{.pk}-Dateien verwenden, -sondern die \PS-\TypeI-Zeichensätze, die auf der \acro{CDROM}/{\DVD} enthalten -sind, wird auch keine \file{.pk}-Datei angezeigt. - -\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} -Für diesen Zeichensatz (Teil der \acro{IPA}-Fonts% -\footnote{\acro{IPA}: International Phonetic Alphabet} -von der Universität von Washington) liegen noch keine -\TypeI-Umsetzungen vor und \samp{.pk}-Dateien müssen generiert werden. Da unser voreingestellter \MF-Modus -\samp{ljfour} eine Auf"|lösung von 600\,dpi besitzt, -finden wir (nachdem er schon einmal gebraucht und automatisch -erzeugt wurde) eine entsprechende Instanz dieses Zeichensatzes. - -\begin{alltt} -> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} -\end{alltt} - -Durch die Angabe ">\optname{-dpi=300}"< interessieren wir uns nur -für Zeichensätze mit der Auf"|lösung 300\,dpi. Es wurde keiner gefunden. -Programme wie {\dvips} oder \cmdname{xdvi} lassen einen solchen fehlenden -Zeichensatz durch den Aufruf des Skripts \cmdname{mktexpk} mit entsprechenden -Parametern automatisch erzeugen. - -Als nächstes wenden wir uns den Header- und Konfigurationsdateien -von {\dvips} zu. -Zunächst suchen wir nach der Konfiguration für die \TeX-Unterstützung, -dem Prolog \file{tex.pro}. Danach suchen wir die allgemeine Konfigurationsdatei -(\file{config.ps}) und schließlich die \PS-Zeichensatzzuordnungsdatei -\file{psfonts.map}. Dateien dieser Art haben seit der 2004er-Version der {\TL} ihre eigenen Suchpfade und einen neuen Aufbewahrungsort im \OnCD{texmf}-Baum. Da die Namens\-endung \samp{.ps} nicht eindeutig ist, -müssen wir den gewünschten Typ (\samp{dvips config}) -für die Datei \file{config.ps} spezifizieren. - -\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} - -Jetzt suchen wir nach den Dateien für den \PS-Zeichensatz ">URW Times"<. -Nach dem Namensschema von Karl~Berry beginnen die Namen mit ">\texttt{utm}"<. -Zunächst suchen wir die Konfigurationsdatei, die den Namen der -Zeichensatzzuordnungsdatei enthält. - -\begin{alltt} -> \Ucom{kpsewhich --format="dvips config" config.utm} - /usr/local/texmf-dist/dvips/psnfss/config.utm -\end{alltt} - -Diese Datei enthält folgende Anweisung: - -\begin{alltt} - p +utm.map -\end{alltt} - -Die angegebene Datei \file{utm.map} wollen wir als nächstes suchen: - -\begin{alltt} -> \Ucom{kpsewhich utm.map} - /usr/local/texmf-dist/fonts/map/dvips/times/utm.map -\end{alltt} - -Diese Zuordnungsdatei wird im Unterverzeichnis \file{urw} bei den -Hilfsdateien für {\dvips} gefunden. Sie enthält die Dateinamen der -\TypeI-\PS-Zeichensätze, die für URW Times benutzt werden. Ein -kleiner Auszug aus dieser Datei: - -\begin{alltt} - utmb8r NimbusRomNo9L-Medi ... \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} - -Diese Beispiele sollten deutlich gemacht haben, wie leicht bestimmte Dateien -im \TeX-Dateibaum gefunden werden können. Dies ist sehr wichtig, wenn Sie -den Verdacht haben, dass eine falsche Version einer Datei verwendet wird: -Sie lassen sich einfach die verwendete Datei von \cmdname{kpsewhich} -anzeigen. - -% .............................................................. -\subsubsection{Fehlersuche} -\label{sec:debugging} - -Manchmal ist wichtig, bis ins Detail nachzuvollziehen, wie ein Programm eine -bestimmte Datei findet. Zu diesem Zweck bietet die \KPS-Bibliothek verschiedene -Stufen für den Umfang der Fehlersuche an. - -\begin{itemize} -\item[\texttt{\ 1}] \code{stat}-Aufrufe (Überprüfung, ob Datei - existiert); mit einer aktuellen \file{ls-R}-Datenbank sollten Sie fast - keine Meldungen erhalten. -\item[\texttt{\ 2}] Zugriffe auf Suchlisten (wie \file{ls-R}-Datenbanken, - Zuordnungsdateien (\texttt{.map}), Konfigurationsdateien) -\item[\texttt{\ 4}] Öffnen und Schließen von Dateien -\item[\texttt{\ 8}] Auf"|listen der voreingestellten Pfade für Extensionen -\item[\texttt{16}] Verzeichnisliste für jede Pfadkomponente (nur bei Festplattenzugriff) -\item[\texttt{32}] Suchaktionen nach Dateien -\item[\texttt{64}] Werte von Variablen. -\end{itemize} - -Durch die Angabe von \samp{-1} setzen Sie alle Stufen gleichzeitig. -Für eine effiziente Fehlersuche sollten Sie sich auf die wichtigsten -Ausgaben beschränken. - -Für {\dvips} gibt es einen ähnlichen Mechanismus zur Erzeugung -von Analysemeldungen, um herauszufinden, warum bestimmte Dateien geöffnet -wurden bzw.\ wo vielleicht das Problem liegt, wenn Dateien nicht gefunden -werden. - -Da fast alle Programme die \KPS-Bibliothek benutzen, können Sie die -gewünschte Stufe auch über die Umgebungsvariable \envname{KPATHSEA\_DEBUG} -einstellen, indem Sie einen der Werte oder eine additive Kombination -spezifizieren. - -Anmerkung für Windows-Benutzer: Es ist nicht einfach, alle Meldungen in eine Datei umzulenken. Für die Fehlersuche -jedoch ist die folgende (temporäre!) Vereinbarung sinnvoll: - -\indent\texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log} - -Wir betrachten als Beispiel eine kleine \LaTeX-Quelldatei mit dem Namen -\file{hello-world.tex} mit folgendem Inhalt: - -\begin{verbatim} - \documentclass{article} - \begin{document} - Hello World! - \end{document} -\end{verbatim} - -Diese Datei verwendet nur einen Zeichensatz, nämlich \file{cmr10}. Wir sehen uns -jetzt einmal genau an, wie {\dvips} die \PS-Datei erzeugt. -Da wir die \TypeI-Variante der Computer-Modern-Roman-Zeichensätze -verwenden wollen, haben wir die Option \optname{-Pcms} verwendet. - -\begin{alltt} -> \Ucom{dvips -d4100 hello-world -Pcms -o} -\end{alltt} - -Hier haben wir als Stufe zur Fehlersuche eine Kombination der Stufe~\code{4} von -{\dvips} (siehe \dvips-Handbuch, -\dirname{texmf/doc/html/dvips/dvips\_toc.html}?). -%\ifSingleColumn -%We get something -%like the following (we have rearranged the output for easier display): -%\begin{alltt}\small -%\input{examples/ex6.tex} -%\end{alltt} -%\else -Die Ausgabe sieht ungefähr so wie in -Abbildung~\ref{fig:dvipsdbga} dargestellt aus (die Ausgabe wurde für einen besseren Überblick -etwas umgestaltet). - -\begin{figure*}[tp] -\centering -\input{examples/ex6a.tex} -\caption{Suche nach Konfigurationsdateien}\label{fig:dvipsdbga} - -\bigskip - -\input{examples/ex6b.tex} -\caption{Suche nach Prologdateien}\label{fig:dvipsdbgb} - -\bigskip - -\input{examples/ex6c.tex} -\caption{Suche nach Font-Dateien}\label{fig:dvipsdbgc} -\end{figure*} - -Zunächst sucht {\dvips} (bzw.\ \KPS) seine Konfigurationsdateien, -nämlich \file{texmf.cnf} (das die Pfade der anderen Dateien enthält), -dann die Dateinamen"=Datenbank \file{ls-R} (zur Optimierung der Suche) -und die Datei \file{aliases}, mit deren Hilfe für eine Datei -mehrere Namen vereinbart werden können, z.\,B. um die kurzen -\samp{8.3}-\acro{DOS}-Namen mit aussagefähigen, langen Namen zu assoziieren. -Danach wird die allgemeine \dvips-Konfigurationsdatei -\file{config.ps}, anschließend die benutzerspezifische Konfigurationsdatei -\file{.dvipsrc} (wird hier \emph{nicht} gefunden) gesucht. -Als letztes sucht {\dvips} die Zuordnungsdatei für -Computer-Modern-{\PS}"=Zeichensätze \file{config.cms} (bedingt durch die -Option \optname{-Pcms} beim Aufruf von \dvips). Diese -Datei enthält die Dateinamen der Listen, die die Zuordnung zwischen -Dateinamen und Zeichensatznamen herstellen. - -\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} - -{\dvips} versucht, diese Dateien und zusätzlich die -allgemeine Zeichensatzzuordnungstabelle \file{psfonts.map} zu -laden, die immer konsultiert wird; der letzte Teil von -Abschnitt~\ref{sec:examples-of-use} erklärt diese Tabellen genauer. - -Jetzt erfolgt die normale Startmeldung von \dvips: - -\begin{alltt}\ifSingleColumn -dvips(k) 5.94a -kpathsea version -Copyright (C) 2003 Radical Eye Software. -... -\else\small{}dvips(k) 5.94a -kpathsea version -Copyright (C) 2003 Radical Eye Software. -... -\fi\end{alltt}% decided to accept slight overrun in tub case -\ifSingleColumn -Danach wird nach \file{texc.pro} gesucht: - -\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 -Danach wird nach \file{texc.pro} gesucht (siehe Abbildung~\ref{fig:dvipsdbgb}). -\fi -Dann gibt {\dvips} Datum und Uhrzeit aus und meldet den Dateinamen -der erzeugten \PS-Datei \file{hello-world.ps}. Jetzt wird die -Zeichensatzdatei \file{cmr10} benötigt, die {\dvips} als -">resident"< meldet. - -\enlargethispage{1ex} -\begin{alltt}\small -TeX output 1998.02.26:1204' -> hello-world.ps -Defining font () cmr10 at 10.0pt -Font cmr10 is resident. -\end{alltt} - -Es geht weiter mit \file{cmr10.tfm} und einigen weiteren Prologdateien, -deren Ausgaben wir hier weglassen. Letztlich wird die \TypeI-Zeichensatzdatei -\file{cmr10.pfb} gesucht (und gefunden) und in die Ausgabedatei integriert -(siehe letzte Zeile). - -\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, - ... - -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 -[1] -\end{alltt} - -% ------------------------------------------------------------- -\subsection{Einstellungen zur Laufzeit} - -Zu den willkommenen Erweiterungen von {\Webc} zählt die Möglichkeit, -zur Laufzeit einige Speicher"-größen über die Datei \file{texmf.cnf} anpassen -zu können (insbesondere die Größe einiger Stacks). Eine ausführliche Liste -der veränderbaren Parameter finden Sie in der Datei \file{texmf.cnf}. -Die wichtigsten Werte sind: - -\begin{description} -\item[\texttt{main\_memory}]\mbox{}\\ - Arbeitsspeicher für \TeX, {\MF} und {\MP} in Worten: Für jede Einstellung - muss eine eigene Format-Datei erstellt werden. Allerdings können Sie - mehrere Versionen von {\TeX} unter verschiedenen Namen erzeugen und - in der Konfigurationsdatei jeweils eigene Einträge vorsehen. Hier gibt - es ein Monster-{\TeX} namens \samp{hugetex} mit der zugehörigen Format-Datei - \file{hugetex.fmt}, wobei der spezielle Wert der - Variablen \texttt{main\_memory} dann - aus der Datei \file{texmf.cnf} gelesen wird. -\item[\texttt{extra\_mem\_bot}]\mbox{}\\ - Extraspeicher für ">große"< \TeX-Datenstrukturen wie Boxen, Glue, - Breakpoints, usw.: Besonders bei Anwendung von {\PiCTeX} sollte dieser - Wert erhöht werden. -\item[\texttt{font\_mem\_size}]\mbox{}\\ - Anzahl der Worte für Speicherung von Zeichensatzinformationen: Entspricht - ungefähr dem Speicherbedarf der gelesenen \acro{TFM}-Dateien. -\item[\texttt{hash\_extra}]\mbox{}\\ - Zusätzlicher Platz für Suchlisten: In der Hauptliste können - ca. 10000~Einträge verwaltet werden. Bei einem Buch mit vielen Querverweisen - reicht dieser Platz unter Umständen nicht aus. - Die Voreinstellung für \texttt{hash\_extra} ist \texttt{50000}. -\end{description} - -Natürlich sind diese Parameter kein Ersatz für eine wirklich dynamische -Speicherverwaltung. Mit der gegenwärtigen Version von {\TeX} ist dieses -Konzept aber nur extrem schwer zu implementieren; darum stellt dieses -Verfahren eine praktikable Lösung dar. - -\begin{comment} -%\clearpage -% ============================================================== -\section{Installation von {\TeX} auf einer neuen \acro{UNIX}-Plattform} - -Wenn Sie eine Rechnerplattform einsetzen, für die wir keine Binärdateien -zur Verfügung gestellt haben, müssen Sie {\TeX} und die zugehörigen -Programme mit Hilfe der Quell-Codes selbst übersetzen. Das ist gar nicht so -schwer, wie es klingt. Alles, was Sie brauchen, finden Sie auf der {\DVD} -im Verzeichnis \texttt{source}. - -Zunächst sollten Sie jedoch die von {\TeX} benötigten Dateien durch -eine Installation ohne Binärdateien auf die Festplatte kopieren bzw. -durch ">Mounten"< der {\DVD} verfügbar machen. - -% ------------------------------------------------------------- -\subsection{Voraussetzungen} - -Zum Übersetzen von {\TeX} und allen weiteren benötigten -Programmen benötigen Sie ca. 100\,MB Festplattenkapazität. -Dazu kommen ein \acro{ANSI}-C-Compiler, \cmdname{make} sowie -ein Scanner- und Parser-Generator. Die \acro{GNU}-Programme -(\cmdname{gcc}, \acro{GNU}-\cmdname{make}, \cmdname{m4}, -\cmdname{flex} und \cmdname{bison}) sind praxiserprobt -und auf den meisten Plattformen verfügbar. Eventuell können -Sie auch andere C-Compiler oder \cmdname{make}-Programme einsetzen, -doch dann sollten Sie sich wirklich gut mit Ihrem System auskennen, -wenn es Schwierigkeiten während des Übersetzungsprozesses gibt. -Der Befehl \cmdname{uname} muss einen gültigen Namen liefern. - -% ------------------------------------------------------------- -\subsection{Konfiguration} - -\begin{itemize} -\item Beginnen Sie mit einer ganz normalen \TL-Installation auf -Festplatte (siehe Abschnitt~\ref{sec:install-disk} auf -Seite~\pageref{sec:install-disk}). Das Installieren der -fertigen Binaries können Sie getrost überspringen. - -\item Dann entpacken Sie das komprimierte Archiv (\cmdname{tar}) in -\dirname{source} auf Ihre Festplatte und wechseln in dieses Verzeichnis. - -\item Legen Sie einen Pfad fest, unter dem das \TeX-System -installiert werden soll. Natürlich sollte das derselbe Pfad sein, -den Sie schon zum Kopieren der Daten verwendet haben -(z.\,B. \dirname{/usr/local} oder \dirname{/usr/local/TeX}). -\end{itemize} - -Die automatische Systemerkennung und -anpassung wird durch -\textsf{configure} mit folgendem Aufruf gestartet: - -\begin{alltt} -> \Ucom{./configure -prefix=/usr/local/TeX} -\end{alltt} - -Bei der Option \optname{prefix} geben Sie das Verzeichnis an, in dem sich die -bereits kopierten \TL-Dateien befinden; -dieses Verzeichnis wird weiter strukturiert (\dirname{\$TEXDIR} -ist dabei das Installationsverzeichnis): - - -\begin{tabular}{>{\ttfamily}ll@{}} - \dirname{\$TEXDIR/man} & Anleitungen im - \acro{UNIX}-\cmdname{man}-Format\\ - \dirname{\$TEXDIR/share/texmf} & \TeX-Daten mit Zeichensätzen, - Makros, usw.\\ - \dirname{\$TEXDIR/info} & Anleitungen im - \acro{GNU}-\cmdname{info}-Format\\ - \dirname{\$TEXDIR/bin/\$PLATFORM} & ausführbare Programme\\ -\end{tabular} -%$ - -Wenn Sie wollen, können Sie ">\dirname{share/}"< als Namensbestandteil -von \OnCD{texmf} weglassen, da sowohl -\dirname{\$TEXDIR/share/texmf} als auch \dirname{\$TEXDIR/texmf} -automatisch von \cmdname{configure} erkannt werden. Sollten Sie ein anderes -Verzeichnis vorziehen, müssen Sie dieses \cmdname{configure} mit dem -Kommandozeilenparameter \optname{-{}-datadir} mitteilen. - -Wenn Sie die erkannte Plattform nicht als \dirname{\$PLATFORM} im -Pfad der ausführbaren Programme haben wollen, sondern z.\,B. -direkt in \dirname{\$TEXDIR/bin} installieren wollen, verwenden Sie -die Option \optname{-{}-disable-multiplatform}. - -Zum Weglassen spezieller \TeX-Systeme wie {\OMEGA} oder {\eTeX} gibt -es eine Reihe von Optionen, die Sie durch die Eingabe von -\samp{./configure --help} angezeigt bekommen. - -% ------------------------------------------------------------- -\subsection{Aufruf von \cmdname{make}} - -Vergewissern Sie sich, dass die Shell-Variable \envname{noclobber} nicht -gesetzt ist und geben - -\begin{alltt} -> \Ucom{make world} -\end{alltt} - -ein. Jetzt können Sie sich entspannt zurücklehnen oder wie ein -{\TeX}ie sagt: |\relax|. - -Eine gute Idee ist auch das Speichern der Meldungen beim -Übersetzen durch das Anlegen eines Protokolls: - -\begin{alltt} -> \Ucom{sh -c "make world >world.log 2>\&1" \&} -\end{alltt} - -Nehmen Sie nicht fälschlicherweise nach dem Durchlauf von \cmdname{make} -an, dass alles gut gegangen ist, sondern vergewissern sich durch eine -Kontrolle des Protokolls. (\acro{GNU} \cmdname{make} zeigt Fehler -z.\,B. immer mit der Zeichenkette ">\texttt{***}"< an.) -Außerdem sollten Sie sich vergewissern, dass alle ausführbaren -Programme auch erzeugt wurden: - -\begin{alltt} -> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} -> \Ucom{ls | wc} -\end{alltt} - -Das Ergebnis sollte über 200 liegen (Sie können die exakte Zahl -mit der Anzahl der lauf"|fähigen Programme [Binaries] im Verzeichnis \OnCD{bin} vergleichen). -Der Aufruf \samp{make~world} ist übrigens äquivalent zu -\samp{make~all~install~strip}. - -Wenn für den Aufruf von \samp{make~install} besondere -Systemverwalterrechte notwendig sein sollten, können Sie die -Anweisung \samp{make~world} auch in zwei Durchgängen absetzen: - -\begin{alltt} -> \Ucom{make all} -> \Ucom{su} -> \Ucom{make install strip} -\end{alltt} - -Nachdem Sie Ihre Binaries installiert haben, sollten Sie die normalen -Installationsnacharbeiten durchführen, die im Abschnitt~\ref{sec:postinstall} -auf Seite~\pageref{sec:postinstall} beschrieben sind. - -Wenn Sie lauf"|fähige Programme erstellt haben und diese Anderen zur Verfügung stellen wollen, sollten Sie uns kontaktieren. Wir würden uns freuen, sie auf den \TL-\acro{WWW}-Seiten anzubieten. -\end{comment} - -% ============================================================== -\section{Danksagungen} - -Die {\TL} ist eine gemeinsame Arbeit faktisch aller {\TeX} Users -Groups. - -Die Entwicklung des vorliegende \TL-Releases wurde Karl~Berry geleitet; -die übrigen Haupt-Mitarbeiter sind im Folgenden aufgelistet. - -\begin{itemize} -\item Den englisch-, deutsch-, niederländisch-, und polnisch-sprachigen - \TeX-Anwendervereinigun\-gen (\acro{TUG}, \acro{DANTE} e.V., - \acro{NTG}, and \acro{GUST}), - die zusammen die technische und administrative Infrastruktur - zur Verfügung stellen. Wir würden uns freuen wenn Sie bei einer der - Anwendervereinigungen Mitglied werden. -\item Dem \acro{CTAN} Team, insbesondere Robin Fairbairns, Jim Hef{}feron, - und Rainer Schöpf, das die \TL{}-CD-Images und die Infrastruktur - für Paketupdates zur Verfügung stellt, von denen \TL{} abhängt. -\item Peter Breitenlohner (und das \eTeX\-Team) für den stabilen Grundstock zu {\TeX}s Zukunft, und Peter speziell für wertvolle Hilfe zum Verwenden - von GNU autotools in \TL; -\item Thomas~Esser, der mit dem exzellenten {\teTeX} die Basis - für dieses {\TL} schuf; -\item Michel~Goossens, als Coautor der englischen Original-Dokumentation; -\item Eitan~Gurari, mit dessen {\TeX4ht} die \HTML-Version dieser - Anleitung erstellt wurde und der unermüdlich daran gearbeitet - hat, es auf Zuruf zu verbessern; -\item \Thanh, Martin~Schröder und das pdf\TeX-Team (\url{http://pdftex.org}), - die die Arbeiten zur Erweiterung der Möglichkeiten von - {\TeX} fortgesetzt haben; -\item Hans Hagen, für zahlreiche Tests und Aktivitäten, damit \ConTeXt{} - (\url{http://pragma-ade.com}) ein Teil von \TL sein kann; -\item Taco Hoekwater, für neue Entwicklungen von MetaPost und (Lua)\TeX\ - (\url{http://luatex.org}), und ebenfalls für die Unterstützung beim - \ConTeXt-Teil von \TL; -\item Pawe{\l} Jackowski für das Installationsprogramm \cmdname{tlpm} für - Windows, - Tomasz {\L}uczak für \cmdname{tlpmgui} in früheren Versionen von \TL; -\item Akira Kakuto, für Windows-Programme im Rahmen seines - \acro{W32TEX} Distribution - (\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}); - -\item Jonathan Kew und \acro{SIL}, für die - Neuentwicklung von Xe\TeX{} und die Zeit und Mühe es in \TL{} zu - integrieren, sowie für die erste Version des Mac\TeX-Installers; - -\item Dick Koch für die Betreuung von Mac\TeX\ (\url{http://tug.org/mactex}); - - -\item Reinhard Kotucha, für die Unterstützung bei der Infrastruktur von - \TL{} und das Installationsprogramm, für seine Windows-Untersuchungen, für das \texttt{getnonfreefonts} - Script, und vieles mehr; - -\item Siep Kroonenberg, für wertvolle Beiträge zur Infrastruktur von - \TL\,2008 und den Installer, insbesondere unter Windows, und für einen - Großteil der Arbeit, die Dokumentation dafür zu schreiben; - -\item Petr~Olsak, der das tschechische und slowakische Material sehr sorgfältig er- und überarbeitet hat; - -\item Toshio Oshima, für den \cmdname{dviout}-Previewer für Windows; - -\item Manuel P\'egouri\'e-Gonnard, für die Mithilfe beim Aktualisieren - von Paketen, der Dokumentation und Arbeit an \cmdname{tldoc}; - -\item Fabrice Popineau für die erste Windows-Version von \TL und Mithilfe - bei der französischen Dokumentation; - -\item Norbert Preining, Hauptkoordinator für \TL{}-Infrastruktur und - den Installer, für die Koordination der Debian Version von \TL{} - (zusammen mit Frank Küster), und die daraus resultierenden - Verbesserungsvorschläge; - -\item Sebastian Rahtz für die Erfindung von \TL und die langjährige - Leitung des Projekts; - -\item Vladimir Volovich für viele substanzielle Mithilfe, und dafür, dass - er es möglich gemacht hat, \cmdname{xindy} in \TL aufzunehmen; - -\item Staszek~Wawrykiewicz, der Haupttester für alles, was mit {\TeX} zusammen hängt, Koordinator der polnischen - Beiträge, Windows-Installation und mehr; - -\item Olaf~Weber für die Geduld beim Pflegen von \Webc; -\item Gerben~Wierda für das Erstellen und Pflegen des \MacOSX-Teils und für viele Integrations- und Testarbeiten; -\item Graham~Williams, dessen Arbeit das Makro- und Paketverzeichnis möglich gemacht hat. -\end{itemize} - -\textbf{Lauf"|fähige Programme:} -Reinhard Kotucha (\pkgname{x86\_64-linux}), -Tim Arnold (\pkgname{hppa-hpux}), -Randy Au (\pkgname{amd64-freebsd}), -Edd Barrett (\pkgname{i386-openbsd}), -Karl Berry (\pkgname{i386-linux}), -Akira Kakuto (\pkgname{win32}), -Dick Koch (\pkgname{universal-darwin}), -Manfred Lotz (\pkgname{i386-freebsd}), -Norbert Preining (\pkgname{alpha-linux}), -Arthur Reutenauer (\pkgname{sparc-linux}), -Thomas Schmitz (\pkgname{powerpc-linux}), -Apostolos Syropoulos (\pkgname{i386-solaris}), -Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), -Olaf Weber (\pkgname{mips-irix}). - -Informationen dazu, wie Binaries für \TL{} erzeugt werden, -finden sich unter \url{http://tug.org/texlive/build.html}. - -\textbf{Dokumentation und Anpassung der Übersetzungen:} - -\begin{itemize*} -\item Karl~Berry (Englisch), -\item Daniel~Flipo (Französisch), -\item Klaus Höppner \& Hartmut~Henkel (Deutsch) -\item Petr~Sojka \& Jan~Busa (Tschechisch/""Slowakisch), -\item Boris~Veytsman (Russisch), -\item Staszek~Wawrykiewicz (Polnisch). -\end{itemize*} - -Natürlich haben wir am meisten Donald~Knuth zu danken, einmal dafür, dass er {\TeX} erfand und dann dafür, dass er es -der Welt schenkte. - -% ------------------------------------------------------------- -\section{Geschichtliches}\label{sec:history} - -Diese Ausgabe der {\TL} ist in Zusammenarbeit der \TeX{} Users Group (\acro{TUG}), der -\acro{UKTUG}, der französischen \TeX-Vereinigung GUTenberg -und der deutschsprachigen \TeX-Anwendervereinigung (DANTE e.\,V.) -unter Mithilfe der niederländischen, tschechischen/""slowakischen, -indischen, polnischen und russischen \TeX-Benutzergruppen -entstanden. - -\subsection{Vergangenheit} - -Die niederländische \TeX-Benutzergruppe hatte Ende 1993 mit der -Produktion der 4All\TeX-{\acro{CDROM}} für \acro{MS-DOS} die Diskussion angeregt, -eine einzige {\acro{CDROM}} für alle Rechnersysteme zu entwickeln. Zum -damaligen Zeitpunkt war dieses Ziel zu hoch gesteckt, doch immerhin -entstand aus dieser Diskussion nicht nur die sehr erfolgreiche -4All\TeX-{\acro{CDROM}}, sondern auch die \acro{TUG}-Arbeitsgruppe zur Definition -der {\TeX} Directory Structure \TDS, die die zur Arbeit mit {\TeX} -notwendigen und hilfreichen Dateien in eine konsistente und -handhabbare Verzeichnisstruktur einbettet. Das ">Final~Draft"<-Dokument, -das diese Verzeichnisstruktur festlegt, wurde in der Dezember-Ausgabe -1995 der TUGBoat veröffentlicht. Schon frühzeitig war den Beteiligten -klar, dass eine {\acro{CDROM}} auf der Basis der {\TDS} sehr zu begrüßen wäre. -Die \TL-{\acro{CDROM}} war das direkte Resultat der Beratungen der -\TDS-Arbeitsgruppe. Außerdem hat der Erfolg der 4All\TeX-{\acro{CDROM}} -klargemacht, dass ein ähnliches System auch für \acro{UNIX}-Benutzer eine -Erleichterung darstellen würde. Dies war der zweite Beweggrund für -die \TL-\acro{CDROM}. - -Im Herbst 1995 wurde das Projekt, eine \TDS-basierte \acro{UNIX}-{\acro{CDROM}} -zu entwickeln, in Angriff genommen. Sehr schnell stießen die -Verantwortlichen auf das \teTeX-System von Thomas~Esser als -idealen Ausgangspunkt für diese Arbeit, weil es verschiedene -Rechnerplattformen unterstützte und für die Arbeit mit verschiedenen -Dateisystemen vorgesehen war. Anfang 1996 wurde in Zusammenarbeit -mit Thomas~Esser ernsthaft mit der Arbeit begonnen und im Mai~1996 -die erste Ausgabe der {\acro{CDROM}} veröffentlicht. - -Anfang 1997 stellte -Karl~Berry eine neue Version seines \Webc-\TeX-Systems vor, das -schon nahezu alle Ausstattungsmerkmale aufwies, die Thomas~Esser -mit {\teTeX} verwirklicht hatte. Die \acro{TUG} entschied sich daraufhin, -die zweite Version der {\acro{CDROM}} auf der Basis von {\Webc} unter -Verwendung des Installations-Skripts \cmdname{texconfig} aus dem -\teTeX-Paket zu entwickeln. - -Die dritte Ausgabe basierte auf der -inzwischen von Olaf~Weber gepflegten und weiter entwickelten -{\Webc}~Version~7.2; {\TL} unterstützte fast alle Eigenschaften -der zur selben Zeit entstandenen neuen Version von \teTeX. - -Die vierte Ausgabe folgte demselben Schema, indem ihr neue -Versionen von {\teTeX} und {\Webc}~(7.5) zugrunde lagen. -Fast die gesamte {\acro{CDROM}} wurde einer kritischen Überprüfung -unterzogen, wobei besonders darauf geachtet wurde, dass doppelte -Dateien entfernt wurden und die Einordnung der Pakete konsistent -erfolgte. Zudem enthielt diese Ausgabe ein komplettes Windows-Setup. - -Für die fünfte Ausgabe im März~2000 wurden wiederum große Teile der -{\acro{CDROM}} ersetzt, wobei Hunderte von überarbeiteten Paketen aufgenommen -wurden. {\OMEGA}, {pdf\TeX} und Teile der \TeX-Support-Programme (hier -insbesondere \cmdname{xdvi}, \cmdname{dvips} und \cmdname{tex4ht}) -lagen in neuer Version vor. -Die Hauptänderung bei der \TL\,5 betraf die \samp{non-free}-Software. -Alles auf dieser {\acro{CDROM}} war nun in Übereinstimmung mit den \emph{Debian -Free Software Guidelines} (\url{http://www.debian.org/intro/free}). -Wir haben unser Bestes versucht, die Lizenzbedingungen aller Pakete -zu überprüfen, sind aber dankbar, wenn wir auf Fehler hingewiesen werden. - -Die sechste Ausgabe der {\TL} vom Juli/August~2001 -enthielt die neuesten Versionen aller Pakete und Programme. -Das neue Installationskonzept stellte die größte Änderung dar: -Der Benutzer konnte nun viel genauer -gewünschte bzw.\ nicht erwünschte Sammlungen -und Pakete auswählen. Dabei wurden die sprachspezifischen Sammlungen -komplett überarbeitet, so dass sie jetzt automatisch nicht nur -Makros, Fonts usw. installierten, sondern zusätzlich die notwendigen -Einträge in \file{language.dat} vornahmen. - -Die siebte Ausgabe vom Mai~2002 enthält als größte -Änderungen {\MacOSX} und wieder unzählige Updates aller Pakete und Programme. -Ein wesentliches Ziel war zudem die Wiedererstellung einer gemeinsamen -Quelle mit {\teTeX}, um das Auseinanderlaufen seit \TL\,5 und \TL\,6 -zu korrigieren. - -\subsection{2003} - -Im Jahr 2003 war die Flut von Updates und neuen Paketen so groß geworden, -dass wir feststellen mussten: ">{\TL} passt nicht mehr auf eine einzelne -\acro{CDROM}"<. Und so wurde sie in drei verschiedene Distributionen aufgeteilt -(siehe Abschnitt~\ref{sec:tl-coll-dists} auf Seite~\pageref{sec:tl-coll-dists}). -Des Weiteren: - -\begin{itemize} -\item Auf Wunsch des \LaTeX-Teams wurde der Standard für \cmdname{latex} - und \cmdname{pdflatex} verändert; beide benutzen nun {\eTeX} als Basis - (siehe Seite~\pageref{text:etex}). -\item Die neuen ">Latin Modern Fonts"< wurden aufgenommen (und werden - zur Benutzung empfohlen). -\item Der Support für Alpha-\acro{OSF} wurde aufgegeben (den - \acro{HPUX}-Support hatte es schon zuvor ereilt), da - niemand mehr in der Lage war, neue Binaries zu kompilieren. -\item Das Setup für Windows wurde grundlegend überarbeitet. - Zum ersten Mal wurde eine integrierte Umgebung eingeführt, - die auf \cmdname{XEmacs} basiert. -\item Wichtige Hilfsprogramme für Windows (Perl, Ghost\-script, - Image\-Magick, Ispell) werden nun im \TL-Verzeichnis - installiert. -\item Die von \cmdname{dvips}, \cmdname{dvipdfm} und \cmdname{pdftex} - benutzten Font-Mapfiles werden vom neuen Programm - \cmdname{updmap} generiert und in \dirname{texmf/fonts/map} - installiert. -\item \TeX, {\MF} und {\MP} geben nun die meisten 8"~Bit-Input"~Zeichen (Position 32 und oberhalb) unverändert - aus in (\verb|\write|)-Files, Logfiles und auf dem Terminal. - Das bedeutet, dass sie \emph{nicht} mit der \verb|^^|-Notierung - übersetzt ausgegeben werden. Auf der \TL\,7 war diese - Übersetzung abhängig von der \cmdname{locale}-Einstellung des - Systems; nun beeinflussen \cmdname{locale}-Einstellung nicht - {\TeX}s Programmverhalten. Falls Sie aus irgendwelchen - Gründen die \verb|^^|-Ausgabe benötigen, müssen Sie in Ihrem System - die Datei \file{texmf/web2c/cp8bit.tcx} umbenennen - (zukünftige Versionen werden eine sauberere Schnittstelle zur - Kontrolle dieses Verhaltens anbieten). -\item Die Dokumentation wurde grundlegend überarbeitet. -\item Zum Abschluss einigten wir uns auf eine neue Edition-Nummerierung. - Ab diesem Jahr trägt die {\TL} statt einer fortlaufenden Nummer - die Jahreszahl: \TL~2003. -\end{itemize} - -\subsection{2004} - -\begin{itemize} -\item Wenn Sie lokal installierte Zeichensätze mit ihren eigenen \filename{.map}- oder (weniger wahrscheinlich) - \filename{.enc}-Dateien benutzen, müssen Sie möglicherweise diese Dateien verschieben. - - Nach den \filename{.map}-Dateien wird jetzt in den \dirname{fonts/map}-Unterverzeichnissen im - \envname{TEXFONTMAPS}-Pfad gesucht (in jedem \filename{texmf}-Baum). - Gleichzeitig werden \filename{.enc}-Dateien jetzt in den \dirname{fonts/enc}-Unterverzeichnissen entlang des - \envname{ENCFONTS}-Pfads gesucht. Das Programm \cmdname{updmap} versucht, bei problematischen Dateien zu warnen. - - Informationen darüber, wie das gehandhabt wird, und zusätzliche Informationen finden Sie unter - \url{http://tug.org/texlive/mapenc.html}. - -\item Die \TK\ wurde für all diejenigen, die diese Implementierung {\Webc} vorziehen, um eine \MIKTEX-basierte und - installierbare {\acro{CDROM}} erweitert. Siehe dazu auch Abschnitt~\ref{sec:overview-tl} auf - Seite~\pageref{sec:overview-tl}. - -\item In der {\TL} wurde der umfangreiche \dirname{texmf}-Baum früherer Versionen durch drei Teilbäume ersetzt: - \OnCD{texmf}, \OnCD{texmf-dist} und \OnCD{texmf-doc}. Siehe dazu Abschnitt~\ref{sec:tld} auf - Seite~\pageref{sec:tld} und die \filename{README}-Dateien in den drei Zweigen. - -\item Alle \TeX-relevanten Eingabedateien sind jetzt in den \dirname{tex}-Unterverzeichnissen der - \dirname{texmf*}-Bäume zusammengefasst und nicht mehr in den parallelen Verzeichnissen \dirname{tex}, - \dirname{etex}, \dirname{pdftex}, \dirname{pdfetex}, usw. Siehe dazu - \CDref{texmf-doc/doc/english/tds/tds.html\#Extensions}{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. - -\item Hilfs-Skripte, die der Anwender nicht selbst aufruft, werden jetzt in den \mbox{neuen} - \dirname{scripts}-Unterverzeichnissen der \dirname{texmf*}-Bäume aufbewahrt. Nach ihnen wird per - \samp{kpsewhich -format=texmfscripts} gesucht. Wenn Sie Programme einsetzen, die solche Skripte aufrufen, müssen - sie angepasst werden. Siehe dazu \CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} -{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. - -\item (Fast) alle Formate interpretieren -- an Stelle einer Übersetzung durch die \verb|^^|-Notation -- mittels - des ">translation files"< \filename{cp227.tcx} die meisten Zeichen als direkt ausgebbar. Insbesondere werden - die Zeichen an den Positionen 32--256, zusätzlich \acro{TAB}, \acro{VT} (vertical tab; vertikaler Tab) und - \acro{FF} (form feed; Seitenvorschub), als druckbar angesehen und daher nicht übersetzt. Ausnahmen sind - plain \TeX, bei dem nur die Zeichen an den Positionen 32--127 druckbar sind, {\ConTeXt} (mit druckbaren Zeichen an - den Positionen 0--255) und die \OMEGA-verwandten Formate. Dieses voreingestellte Verhalten ist (fast) identisch - mit dem in \TL\,2003; es ist aber jetzt klarer und mit umfangreicheren Anpassungsmöglichkeiten implementiert. - Siehe dazu \CDref{texmf/doc/web2c/web2c.html\#TCX-files} -{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. - - \textbf{Anmerkung:} Da {\TeX} byte-orientiert ist, können bei einer Unicode-Eingabe (2-Byte-Zeichen) im Kontext - von Fehlermeldungen Folgen von 1-Byte-Zeichen ausgegeben werden. - -\item \cmdname{pdfetex} ist jetzt die voreingestellte ">Engine"< für alle Formate mit Ausnahme von - \mbox{(plain-)\cmdname{tex}} selbst (natürlich generiert es \dvi-Code, wenn es als \cmdname{latex}, usw. - aufgerufen wird.). Das bedeutet unter vielen anderen Dingen, dass die mikrotypographischen Fähigkeiten von - \cmdname{pdftex} - wie auch die Erweiterungen von {\eTeX} in \LaTeX, \ConTeXt usw. zur Verfügung stehen - (\OnCD{texmf-dist/doc/etex/base/}). - - Das bedeutet, dass es \emph{wichtiger denn je} ist, das Paket \pkgname{ifpdf} zu benutzen (es arbeitet sowohl mit - {plain \TeX} als auch mit \LaTeX), da der einfache Test, ob \cs{pdfoutput} oder ein anderer \TeX-Grundbefehl - (primitive) definiert ist, nicht verlässlich genug ist für die Entscheidung, ob eine PDF-Ausgabe erzeugt wird. - Wir haben das rückwärts-kompatibel gemacht, so gut wir das dieses Jahr konnten; nächstes Jahr aber soll - \cs{pdfoutput} so beschaffen sein, dass dieser Befehl auch dann definiert ist, wenn {\dvi}-Code erzeugt wird. - -\item pdf\TeX\ (\url{http://pdftex.org/}) hat viele neue Besonderheiten: - \begin{itemize} - \item Die Befehle \cs{pdfmapfile} und \cs{pdfmapline} ermöglichen einen Font"~Map-Support innerhalb eines - Dokuments. - \item Mikrotypografische Zeichensatz-Expansion (font expansion) kann jetzt viel leichter benutzt werden - \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html}. - \item Alle Parameter, die früher in der speziellen Konfigurationsdatei \filename{pdftex.cfg} definiert wurden, - müssen jetzt mit Hilfe von pdf\TeX-Grundbefehlen gesetzt werden, typischerweise in - \filename{pdftexconfig.tex}; die Konfigurationsdatei \filename{pdftex.cfg} wird nicht länger unterstützt. - Jede schon bestehende Format-Datei (\filename{.fmt}) muss neu erstellt werden, wenn - \filename{pdftexconfig.tex} geändert wird. - \item Für zusätzliche Informationen siehe das pdf\TeX-Handbuch: \OnCD{texmf-dist/doc/pdftex/manual}. - \end{itemize} - -\item Der Grundbefehl \cs{input} in \cmdname{tex} (\cmdname{mf} und \cmdname{mpost}) akzeptiert jetzt doppelte - Anführungszeichen und andere Spezialzeichen. Typische Beispiele: - -\begin{verbatim} -\input "filename with spaces" % plain -\input{"filename with spaces"} % latex -\end{verbatim} - - Für zusätzliche Informationen siehe das \Webc-Handbuch: \OnCD{texmf/doc/web2c}. - -\item enc\TeX\ wird jetzt in {\Webc} und damit auch in allen \TeX-Programmen unterstützt. Dazu wird \emph{beim - Generieren neuer Formate} die Option \optname{-enc} benutzt. enc\TeX\ unterstützt allgemein die Umkodierung der - Ein- und Ausgabe und ermöglicht eine volle Unicode-Unterstützung (in \acro{UTF}-8). - Siehe \OnCD{texmf-dist/doc/generic/enctex/} und \url{http://www.olsak.net/enctex.html}. - -\item Aleph (\ensuremath{\aleph}), eine neue ">Engine"<, die {\eTeX} und {\OMEGA} vereinigt, ist verfügbar. Ein bisschen - Information darüber finden Sie in \OnCD{texmf-dist/doc/aleph/base} und - \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. Das \LaTeX-basierte Aleph-Format heißt - \cmdname{lamed}. - -\item Das neueste \LaTeX-Release enthält eine neue Version der \acro{LPPL}% - \footnote{LPPL: LaTeX Project Public License}, - die jetzt eine offiziell von Debian anerkannte Lizenz ist. Zusammen mit anderen Updates finden Sie Informationen - dazu in den \filename{ltnews}-Dateien in \OnCD{texmf-dist/doc/latex/base}. - -\item \cmdname{dvipng} -- ein neues Programm zum Konvertieren von \dvi-Dateien in \acro{PNG}-Bilddateien, ist - Bestandteil von \TL. Siehe \OnCD{texmf/doc/man/man1/dvipng.1}. - -\item Auf Vorschlag des Autors (Claudio~Beccari) haben wir das Paket \pkgname{cbgreek} auf einen ">mittelgroßen"< Satz - von Fonts reduziert. Herausgenommen wurden die ">invisible"<, Outline- und ">Transparency"<-Fonts, - die relativ selten benutzt werden -- denn wir benötigen den Platz. In seinem vollen Umfang ist das Paket natürlich - weiterhin auf \acro{CTAN} verfügbar (\url{http://www.ctan.org/tex-archive/fonts/greek/cb/}). - -\item \cmdname{oxdvi} wurde entfernt; benutzen Sie jetzt \cmdname{xdvi}. - -\item Die \cmdname{ini}- und \cmdname{vir}-Befehle (Links) für \cmdname{tex}, \cmdname{mf} and \cmdname{mpost} sind - nicht mehr länger verfügbar, so auch \cmdname{initex}. Das ist kein richtiger Verlust, da die - \cmdname{ini}-Funktionalität schon seit mehreren Jahren über den Aufrufparameter \optname{-ini} zur Verfügung - steht. - -\item Die Unterstützung der Plattform \cmdname{i386-openbsd} wurde entfernt. Da das Paket \pkgname{tetex} im - \acro{BSD}-Ports-System zur Verfügung steht und Binaries für \acro{GNU}/""Linux and Free\acro{BSD} erhältlich sind, - erschien es sinnvoll, die Zeit der Freiwilligen besser zu nutzen. - -\item Zumindest auf \cmdname{sparc-solaris} müssen Sie ggf. die En"-viron"-ment-Variable \envname{LD\_LIBRARY\_PATH} - setzen, um die \pkgname{t1utils}-Programme laufen lassen zu können. Ursache dafür ist, dass die Programme mit C++ - kompiliert wurden und dass es keinen Standard-Platz für Laufzeit-Bibliotheken gibt (das ist zwar auch im Jahre - 2004 nicht neu, wurde aber bisher nicht dokumentiert.) Unter \cmdname{mips-irix} werden die - \acro{MIPS}pro-7.4-Laufzeit-Bibliotheken benötigt. -\end{itemize} - -\subsection{2005} - -Im Jahr 2005 gab es -- wie üblich -- viele aktualisierte Pakete und -Programme. Die Struktur des Systems blieb weitgehend gleich, mit folgenden -Ausnahmen: - -\begin{itemize} -\item Die neuen Skripte \cmdname{texconfig-sys}, \cmdname{updmap-sys} und - \cmdname{fmtutil-sys} für die systemweite Konfiguration des Systems wurden - hinzugefügt. Die Skripte \cmdname{texconfig}, \cmdname{updmap} und - \cmdname{fmtutil} modifizieren nun die Konfiguration für einen einzelnen - Nutzer unter \dirname{\$HOME/.texlive2005}. -\item Analog spezifizieren die Pfade \envname{TEXMFCONFIG} und - \envname{TEXMFSYSCONFIG} nun, wo die Konfigurationsdateien gefunden - werden (für einen einzelnen Nutzer bzw.\ systemweit). Möglicherweise - müssen Sie daher vorhandene eigene Versionen von - \filename{fmtutil.cnf} oder \filename{updmap.cfg} in die entsprechenden - Pfade verschieben. Alternativ können Sie \envname{TEXMFCONFIG} und - \envname{TEXMFSYSCONFIG} in der Datei \filename{texmf.cnf} umdefinieren, - dass diese auf die Speicherorte Ihrer eigenen Konfigurationsdateien - verweisen. Siehe Abschnitt~\ref{sec:texmftrees} auf Seite~\pageref{sec:texmftrees}. -\item Im letzten Jahr wurden für die Programme, die DVI als Ausgabeformat - erzeugen, die Primitive wie \verb|PDFoutput| auf undefiniert gesetzt, - obwohl immer \cmdname{pdfetex} verwendet wurde. In diesem Jahr wurde dies - wie angekündigt nicht mehr getan. Falls in Dokumenten nun die Abfrage - \verb|\ifxPDFoutput\undefined| zum Test benutzt wird, ob PDF oder DVI - erzeugt wird, müssen diese geändert werden! Benutzen Sie das Paket - \pkgname{ifpdf.sty}, das auch mit dem geänderten Verhalten funktioniert, - oder orientieren Sie sich an dessen Code. -\item Im letzten Jahr wurden die Formate so geändert, dass sie Zeichen - als 8-bit ausgeben. Die neue TCX-Datei \filename{empty.tcx} eröffnet nun - einen einfachen Weg, die originale Ausgabe mit \verb|^^|-Notation zu - erhalten, wenn Sie es wünschen: -\begin{verbatim} -latex --translate-file=empty.tcx yourfile.tex -\end{verbatim} -\item Das Programm \cmdname{dvipdfmx} für die Konvertierung von DVI nach - PDF ist neu hinzugekommen. Dies ist eine aktiv gepflegte Erweiterung von - \cmdname{dvipdfm}, das zwar noch verfügbar ist, aber als obsolet angesehen - werden kann. -\item Ebenso sind die Programme \cmdname{pdfopen} und \cmdname{pdfclose} neu - hinzugekommen. Diese erlauben ein Reload von PDF-Dateien im Acrobat Reader, - ohne diesen neu starten zu müssen (andere PDF-Viewer wie \cmdname{xpdf}, - \cmdname{gv} oder \cmdname{gsview} hatten damit nie Probleme). -\item Aus Konsistenzgründen wurden die Variablen \envname{HOMETEXMF} und - \envname{VARTEXMF} in \envname{TEXMFHOME} bzw.\ \envname{TEXMFSYSVAR} - umbenannt. Weiterhin existiert \envname{TEXMFVAR} für einen Baum, der - spezifisch für einen einzelnen Nutzer ist. -\end{itemize} - -\subsection{2006--2007} -\label{tlcurrent} - -Der wichtigeste Neuzuwachs in der Ausgabe 2006--2007 von \TL{} war das Xe\TeX{} -Programm, verfügbar durch die \texttt{xetex} und \texttt{xelatex} -Programme; siehe \url{http://scripts.sil.org/xetex}. - -Auch MetaPost erhielt ein bemerkenswertes Update, mit weiteren geplannten -Änderungen (\url{http://tug.org/metapost/articles}), ebenso pdf\TeX{} -(\url{http://tug.org/applications/pdftex}). - -Das (plain) \texttt{tex}-Programm liest nicht mehr erste Zeilen mit -\texttt{\%\&} um das Format zu bestimmen. Es ist ein reines Knuth-\TeX. -(\LaTeX\ und alle anderen Formate lesen weiterhin \texttt{\%\&}-Zeilen). - -Weiters wurden wie üblich hunderte von Paketen und Programmen auf einen -neueren Stand gebracht. Für weiter Updates wenden Sie sich bitte an -\acro{CTAN} (\url{http://www.ctan.org}). - -Die Entwicklungsumgebung wurde auf Subversion umgestellt, was ein Webinterface -für den Entwicklungsbaum beisteuerte. Dieses Webinterface ist von der -Homepage verlinkt. Obwohl dieser Umstieg in der Distribution nicht zu -erkennen ist, erwarten wir uns ein stabiles Fundament für die Entwicklung -in den nächsten Jahren. - -Schließlich hat im Mai~2006 Thomas Esser das Ende seiner Entwicklung von -te\TeX{} (\url{http://tug.org/tetex}) angekündigt. Als Konsequenz ist das -Interesse an \TL{}, besonders unter den \acro{GNU}/Linux-Distributoren -angestiegen. (\TL{} bietet nun ein \texttt{tetex}-Installationsschema, dass -annähernd den Umfang von te\TeX{} umfasst.) Wir hoffen dass dies -schlussendlich zu einer Verbesserung der \TeX-Umgebung für jederman führt. - -\medskip\noindent -Abschließende Bemerkung zur Vergangenheit: Alle Versionen von \TL, -inklusive Beimaterial wie CD-Labels, finden sich unter -\url{ftp://tug.org/historic/systems/texlive}. - -\subsection{Gegenwart} -\label{sec:tlcurrent} - -Die komplette Infrastruktur von \TL wurde 2008 neu entwickelt. Die -gesamten Daten, die für die Installation benötigt werden, finden sich -nun in einer einzigen Textdatei mit dem Namen \filename{tlpkg/texlive.tlpdb}. - -Dies ermöglicht es unter anderem, ein Update einer installierten Version -von \TL über das Internet durchzuführen, was für MiK\TeX{} schon seit -Jahren möglich ist. Wir planen regelmäßige Updates bereitzustellen, -wenn Pakete auf \CTAN{} aktualisiert werden oder neu erscheinen. - -Als neues Programm ist Lua\TeX\ (\url{http://luatex.org}) enthalten, -das neben neuen Möglichkeiten innerhalb des Satzsystems eine -hervorragende Skriptsprache zur Verfügung stellt, die inner- und -außerhalb von \TeX{} benutzt werden kann. - -Die Unterstützung von \TL für Windows und Unix ist mittlerweile praktisch -äquivalent. Die meisten Perl- und Lua-Skripte können nun auch unter -Windows verwendet werden, da innerhalb von \TL Perl integriert ist. - -Das neue \cmdname{tlmgr}-Programm (Abschnitt~\ref{sec:tlmgr}) ist -eine komplette Oberfläche zum Verwalten von \TL nach der Installation. -Es ermöglicht das Aktualisieren von Paketen, die Neugenerierung von -Formatdateien, Fontmaps und die Konfiguration der \TeX-Unterstützung -für verschiedene Sprachen. - -Nach der Einführung von \cmdname{tlmgr} sind die Funktionen von -\cmdname{texconfig} zur Konfiguration von Formatdateien und -Trennmustern deaktiviert worden. - -Der Index-Prozessor \cmdname{xindy} (\url{http://xindy.sourceforge.net/}) -ist nun für die meisten Betriebssysteme integriert. - -Das Programm \cmdname{kpsewhich} kann nun alle Fundstellen für eine -gesuchte Datei anzeigen (Option \optname{--all}) oder die Suche -auf ein bestimmtes Verzeichnis einschränken (Option \optname{--subdir}). - -Das Programm \cmdname{dvipdfmx} kann nun Informationen über die -Bounding Box liefern, was über die Kommandozeile mit dem Befehl -\cmdname{extractbb} aufgerufen werden kann; dies war die letzte -Funktion von \cmdname{dvipdfm}, die noch nicht in \cmdname{dvipdfmx} -vorhanden war. - -Die Font-Aliasnamen \filename{Times-Roman}, \filename{Helvetica} usw. -wurden abgeschafft. - -Das Makro-Format \pkgname{platex} wurde entfernt, um den Namenskonflikt -mit dem japanischen \pkgname{platex} auf zu lösen; Unterstützung -für polnisch wird nun vom Paket \pkgname{polski} zur Verfügung gestellt. - -Die \web{} string pool files wurden in die Programme einkompiliert, -um Updates zu vereinfachen. - -Und abschließend sind die Änderungen von Donald Knuth in seinem -\emph{\TeX\ tuneup of 2008} in \TL eingearbeitet, -\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. -% ------------------------------------------------------------- -\subsection{Zukunft} - -\emph{{\TL} ist nicht perfekt! -- und wird es auch nie sein.} Wir planen -Neuauf"|lagen zu produzieren, die umfangreichere -Hilfstexte, mehr Hilfsprogramme, mehr Installationshilfen und (natürlich) -den ständig verbesserten und überprüften Satz der Makros und Zeichensätze -enthalten. Diese Arbeit wird von Freiwilligen in ihrer knappen Freizeit -geleistet. Viel Arbeit steht noch an. Wenn Sie uns helfen können, -zögern Sie keine Sekunde, sich bei uns zu melden. - -Verbesserungen, Anregungen und Erweiterungen für künftige Ausgaben -der {\TK} senden Sie bitte an:\hfill\null - -\begin{quote} -\email{tex-live@tug.org}\\ -\url{http://tug.org/texlive/} -\end{quote} - -Neue Versionen, Anmerkungen und zusätzliches Material werden über -die \CTAN-Server im Verzeichnis \dirname{info/texlive} zur Verfügung gestellt. -Im \acro{WWW} können Sie sich über die Adresse -\url{http://www.tug.org/tex-live/} informieren und die Bestellformalitäten -einsehen. - -\end{document} diff --git a/Master/texmf/doc/texlive/source/texlive-en/Makefile b/Master/texmf/doc/texlive/source/texlive-en/Makefile deleted file mode 100644 index 170161df9c3..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/Makefile +++ /dev/null @@ -1,69 +0,0 @@ -# $Id$ -# Makefile for TeX Live documentation. Public domain. -doc = texlive-en -lang = english - -all: pdf html - -env = TEXINPUTS=../texlive-common:../texlive-en:; export TEXINPUTS; - -pdf: - rm -f *.aux *.toc *.lof *.lot *.xref* *.tmp *.out - $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' - $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' - $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' - $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' - -html: - rm -f *.aux *.toc *.lof *.lot *.xref* *.tmp *.out *.4tc -# this sequence is equivalent to running "ht latex $(doc)". We do it -# this way so we can \def\Status for the \ifcase in tex-live.sty. - $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' - $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' - $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' - $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' - $(env) tex4ht $(doc) - $(env) t4ht $(doc) - -clean: - rm -f *.aux *.log *.blg *.toc *.out *.lot tex4ht.ps *.4* - rm -f *.xref* *.lg *.idv *.out *.otc *.tmp tmp.* - rm -f $(doc).dvi $(doc).ps - -realclean: clean - rm -f $(doc).pdf - rm -f *.html *.htm $(doc).css *.gif *.jpg - - -insttop = ../../../doc -instfiles = $(doc)*html $(doc).css $(doc).pdf -install: -# lang=`dirname \`pwd\` | sed 's,.*/,,'`; - lang=$(lang); \ - tldir=`pwd | sed 's,.*/,,'`; \ - instdir=$(insttop)/$$lang/$$tldir; \ - echo tldoc install to $$instdir; \ - for f in $(instfiles); do \ - cmp -s $$f $$instdir/$$f && rm -v $$f && continue; \ - mv -v $$f $$instdir/$$f; \ - done - - -# don't use these, they don't work. -dvi: - rm -f *.aux *.toc - latex '\nonstopmode\def\Status{0}\input $(doc)' - latex '\nonstopmode\def\Status{0}\input $(doc)' - latex '\nonstopmode\def\Status{0}\input $(doc)' - -baskerville: - rm -f *.aux *.toc - latex '\def\Status{3}\input $(doc)' - latex '\def\Status{3}\input $(doc)' - latex '\def\Status{3}\input $(doc)' - -tugboat: - rm -f *.aux *.toc - latex '\def\Status{4}\input $(doc)' - latex '\def\Status{4}\input $(doc)' - latex '\def\Status{4}\input $(doc)' diff --git a/Master/texmf/doc/texlive/source/texlive-en/README b/Master/texmf/doc/texlive/source/texlive-en/README deleted file mode 100644 index dc5fb6b124d..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/README +++ /dev/null @@ -1,5 +0,0 @@ -$Id$ -TeX Live documentation. This file is public domain. - -We only generate the documentation in PDF and HTML formats -- see the -Makefile. This saves us having to have the images in EPS format too. diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/bv-live.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/bv-live.tex deleted file mode 100644 index ad044e568cb..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/bv-live.tex +++ /dev/null @@ -1,84 +0,0 @@ -% this is the baskerville version of the live documentation -\providecommand{\Status}{3} - -\setcounter{errorcontextlines}{999} -\documentclass{article} -\advance\textwidth by 1in -\advance\oddsidemargin by -1in -\advance\evensidemargin by -1in -\newsavebox{\warnbox} -\def\Q#1{\par\vskip6pt\leftline{#1}\par} -\setcounter{tocdepth}{2} -\pretolerance=1000 -\tolerance=1500 -\hbadness=3000 -\vbadness=3000 -\hyphenpenalty=400 -\renewcommand{\topfraction}{0.85} -\renewcommand{\floatpagefraction}{0.86} -\renewcommand{\textfraction}{0.1} -\setcounter{topnumber}{5} -\setcounter{totalnumber}{5} -\def\eTeX{$\varepsilon$-\TeX} -%\def\CTAN{\textsc{ctan}} -%\def\TUB{\textsc{tub}} -\def\Dash{---} -\def\hyph{-} -%\def\TeXXeT{\TeX-XeT} -\def\OMEGA{$\Omega$} -\def\bs{{\protect\normalfont\ttfamily\char'134}} -\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} -%\def\cs#1{\mbox{\normalfont\ttfamily\bs#1}} -\def\La{La} -\let\textsl\textit -\let\sl\it -\let\slfamily\itfamily -\def\ttdefault{cmtt} -\usepackage{tex-live} -\begin{document} -%\author{Sebastian Rahtz\\ -%\texttt{s.rahtz@elsevier.co.uk}\\ -%Michel Goossens\\ -%\texttt{m.goossens@cern.ch}} -%\title{The \protect\TeX\ Live Guide, 3rd edition} -%\date{March 1998} - -\BASKyear{1998} -\BASKmonth{April} -\BASKvol{8} -\BASKno{2} -\BASKed*{Robin Fairbairns} -\BASKfonts{Y\&Y European Modern} -\makeBSKtitle - -\input editorial -\ifbaskerville -\end{multicols} -%\vfill\Dings\vfill -\fi -\clearpage - -\begin{center} - \LARGE The \TeX\ Live Guide, 3rd edition -\end{center} -\title{\TeX\ Live Guide, 3rd edition} - -\ifbaskerville\begin{multicols}{2}\fi -\tableofcontents -\listoftables -\ifbaskerville -\end{multicols} -\Dings -\fi - -\input tex-live -\appendix - -\Dings - -\input live-app - -\vfill\Dings\vfill -\clearpage -\input sec -\end{document} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/bvoutln.sty b/Master/texmf/doc/texlive/source/texlive-en/archive/bvoutln.sty deleted file mode 100644 index 92f19fd027b..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/bvoutln.sty +++ /dev/null @@ -1,193 +0,0 @@ -% extracts of baskerville.cls for use with the tex-live documentation -% when we're producing a bv issue with it. - -% **************************************** -% * PAGE LAYOUT * -% **************************************** -% -% SIDE MARGINS: -\oddsidemargin -2.5pc \evensidemargin -2.5pc -\marginparwidth 4pc % don't use marginal notes... -\marginparsep 0.5pc % ...in the UK TUG newsletter - -% VERTICAL SPACING: -\topmargin -3pc -\headheight 12\p@ -\headsep 15\p@ -\topskip 10\p@ -\footskip 15\p@ - -% DIMENSION OF TEXT: - -\textheight 250mm % height of text on a page (A4 paper) -\textwidth 180mm % total width of a page -\columnseprule 0.5\p@ % width of line in the inter-column gutter -\columnsep 10mm % space between columns -\tolerance 9999 % make those columns justify - -% FOOTNOTES: -\footnotesep 6\p@ -\skip\footins 19.5\p@ plus 12\p@ \@minus 1\p@ - -% FLOATS: -\floatsep 12\p@ plus 5.5\p@ \@minus 1\p@ -\textfloatsep 15\p@ plus 4.5\p@ \@minus 3\p@ -\intextsep 12\p@ plus 5.5\p@ \@minus 2\p@ -\dblfloatsep 12\p@ plus 5.5\p@ \@minus 2\p@ -\dbltextfloatsep 15\p@ plus 4.5\p@ \@minus 3\p@ -\@fptop 0\p@ plus 0fil -\@fpsep 12\p@ plus 0fil -\@fpbot 0\p@ plus 3fil -\@dblfptop 0\p@ plus 0fil -\@dblfpsep 12\p@ plus 0fil -\@dblfpbot 0\p@ plus 3fil -\marginparpush 5\p@ - -% **************************************** -% * TITLES AND ABSTRACT * -% **************************************** -% - -%% Volume Number (ie Year - 1990) -\def\BASKvol#1{\gdef\BASK@vol{#1}} -\BASKvol{?} - -%% Issue Number (ie Month/2, roughly) -\def\BASKno#1{\gdef\BASK@no{#1}} -\BASKno{?} - -% Editor, Star form for Guest editor -\def\BASKed{\@ifstar{\BASK@ed{Guest }}{\BASK@ed{}}} -\def\BASK@ed#1#2{\gdef\BASK@editor{#1Editor: #2}} -\BASKed{????????} - -%% Year (4 digits) -\def\BASKyear#1{\gdef\thisyear{#1}} -\BASKyear{????} - -% Month (as a Word) -\def\BASKmonth#1{\gdef\thismonth{#1}} -\BASKmonth{?????} - -\def\makeBSKtitle{\par - \begingroup - \vspace*{-\headheight}% - \@maketitle - \bigskip\hrule\bigskip - \thispagestyle{plain} - \endgroup - \let\maketitle\relax - \let\@maketitle\relax -} -\newbox\BSKbox -\def\@maketitle{% - \centerline{\BASK@titleline}% - \medskip - \hbox to \textwidth{\bfseries The Annals of the UK \TeX\ Users - Group\hfill \BASK@editor\hfill Vol.~\BASK@vol\ No.~\BASK@no}% - \smallskip\hbox to \textwidth{\bfseries ISSN 1354--5930 - \hfill \thismonth\ \thisyear}% - \medskip - \noindent\ignorespaces - \BASK@headparone} - -% The Journal title command. -% You probably only want to change this if you want to use a design-size -% font rather than let \scaletowidth scale for some special issue. -\def\BASKtitle#1{\gdef\BASK@titleline{#1}} -\let\scaletowidth=\resizebox% added by Sean K. Harbour for Textures -\BASKtitle{% - \fontfamily{mbvx}\bfseries - \scaletowidth{\textwidth}{!}{% modified by Sean K. Harbour - B\,a\,s\,k\,e\,r\,v\,i\,l\,l\,e}} - - -% The first paragraph. Needs to be reset if a special issue used a -% different font set. -\def\BASKheadparone#1{\gdef\BASK@headparone{#1}} -\BASKheadparone{% -This issue of \BV\ is set in \@BASKfonts, and printed on a Xerox Docutech. Production and distribution is -undertaken in Cambridge by Robin Fairbairns. } - - -\def\BASKfonts#1{\gdef\@BASKfonts{#1}} -\BASKfonts{Monotype Baskerville, with Computer Modern Typewriter for - literal text} - -% -% for \Dings -\RequirePackage{pifont} -% -% available for inter-article dinglines -% -\def\Dings{\nopagebreak{\footnotesize\dingline{167}}} - -% -% hack representation of appendices -\let\BV@@appendix\appendix -\renewcommand{\appendix}{\BV@@appendix - \renewcommand\@seccntformat[1]{\@ifundefined{@seccnt@##1}% - {\csname the##1\endcsname\quad}% - {\csname @seccnt@##1\endcsname}} - \newcommand\@seccnt@section{Appendix~\thesection~} -} - -% -% page styles -% -% \ps@empty defined in LATEX.TEX -% -\def\ps@plain{\let\@mkboth\markboth - \def\@oddhead{} - \def\@evenhead{} - \def\@oddfoot{\rm \hfil --\thepage--\hfil} - \def\@evenfoot{\rm \hfil --\thepage--\hfil} -} -\def\ps@headings{\let\@mkboth\markboth - \def\@oddhead{\hfill\emph{\@title}\hfill} - \def\@oddfoot{\rm \hfil --\thepage--\hfil} - \def\@evenhead{\it Baskerville \hfill - Volume \BASK@vol, Number \BASK@no} - \def\@evenfoot{\rm \hfil --\thepage--\hfil} -} - -% -% allow setting of pagehead title -\def\title{\@ifnextchar [{\@titletwo}{\@titleone}} -\def\@titletwo[#1]#2{\gdef\@title{#1}\gdef\@longtitle{#2}} -\def\@titleone#1{\gdef\@title{#1}\gdef\@longtitle{#1}} - -% -% more exciting page parameters -\@twosidetrue -\pagestyle{headings} - -\providecommand{\ukt}{UK \acro{TUG}} - -\newcommand{\standardtitles}{% - \def\section{%\typeout{** section!}% - \@startsection {section}{1}{\z@} - {-12\p@ \@plus -6\p@ \@minus -.1\p@} - {6\p@} - {\raggedright\large\bfseries}} - \def\subsection{\@startsection{subsection}{2}{\z@} - {-4\p@ \@plus -2\p@ \@minus -.1\p@} - {0.1\p@ \@plus 2\p@} - {\raggedright\normalsize\itshape}} - \def\subsubsection{\@startsection{subsubsection}{3}{\z@} - {-6\p@ \@plus -3\p@ \@minus -1\p@} - {0.1\p@ \@plus 2\p@} - {\raggedright\normalsize\it}} - \def\paragraph{\@startsection{paragraph}{4}{\z@} - {12\p@ \@plus 2.25\p@ \@minus -1\p@} - {-0.5em} - {\normalsize\bfseries}} - \def\subparagraph{\@startsection{subparagraph}{5}{\z@} - {12\p@ \@plus 2.25\p@ \@minus 1\p@} - {-0.5em} - {\normalsize\it}} - \setcounter{secnumdepth}{-1} -} - -\endinput - diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/changemail b/Master/texmf/doc/texlive/source/texlive-en/archive/changemail deleted file mode 100644 index dd792a25f78..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/changemail +++ /dev/null @@ -1,24 +0,0 @@ -s/J.Smart@ed.ac.uk/??/ -s/gerd@uni-koblenz.de/??/ -s/Meijer@rulfsw.fsw.LeidenUniv.nl/??/ -s/wl@gnu.org/xlwy01@uxp1.hrz.uni-dortmund.de/ -s/weissert@SJUPHIL.SJU.EDU/Tom@Weissert.net/ -s/mehlich@informatik.uni-muenchen.de/mmehlich@semdesigns.com/ -s/eijkhout@math.ucla.edu/victor@eijkhout.net/ -s/ca_rowley@vax.acs.open.ac.uk/c.a.rowley@open.ac.uk/ -s/B.Jackowski@gust.s.org.pl/B.Jackowski@gust.org.pl/ -s/P.Pianowski@gusts.org.pl/P.Pianowski@gust.org.pl/ -s/mittelbach@mzdmza.zdv.uni-mainz.de/Frank.Mittelbach@Uni-Mainz.de/ -s/mcjones@pa.dec.com/paul.mcjones@acm.org/ -s/h.harders@tu-bs.de/Harald.Harders@dlr.de/ -s/pwilson@cme.nist.gov/peter.r.wilson@boeing.com/ -s/wikner@ariel.nac.ac.za/wikner@nac.ac.za/ -s/vitus@agropc.msk.su/vitus@ice.ru/ -s/greg@bic.mni.mcgill.ca/gward@python.net/ -s/mittelbach@mzdmza.zdv.uni-mainz.de/frank.mittelbach@latex-project.org/ -s/fbraun@rz.uni-potsdam.de/fbraun@atdot.org/ -s/david@dcarlisle.demon.co.uk/david.carlisle@latex-project.org/ -s/davidc@nag.co.uk/david.carlisle@latex-project.org/ -s/rf@cl.cam.ac.uk/rf10@cam.ac.uk/ -s/robin.fairbairns@cl.cam.ac.uk/rf10@cam.ac.uk/ -s/robin@lsl.co.uk/rf10@cam.ac.uk/ \ No newline at end of file diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/l.pl b/Master/texmf/doc/texlive/source/texlive-en/archive/l.pl deleted file mode 100644 index d74f313a5cc..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/l.pl +++ /dev/null @@ -1,44 +0,0 @@ -require "status.pl"; -require "texlive.pl"; -while (<>) { - chop; - s/,$//; - if (/^\@TeXIndex/) - { - ($nam) = /^\@TeXIndex.(.*)/; - print "\@TeXIndex\{$nam"; - $Status=1; - $Texlive=1; - $Modified=0; - } - elsif (/^ *modified/) { s/, *$//; $mod=$_; } - elsif (/^ *status/) { $Status=0; - if ($L{$nam}) - { print ",\n status\t= \{$L{$nam}\}"; - $Modified=1;} - else { print ",\n$_"; } - } - elsif (/^ *texlive/) { $Texlive=0; - if ($texlive{$nam} ne "") - { print ",\n texlive\t= \{$texlive{$nam}\}"; - $Modified=1;} - } - elsif (/^}/) { - if ($Status) { - print ",\n status\t= \{unknown\}"; - } - if ($Texlive && $texlive{$nam} ne "") - { print ",\n texlive\t= \{$texlive{$nam}\},\n"; } - if ($Modified) - { print ",\n modified\t= {1999/03/26 10:00:00 }\n"; } - elsif ($M{$nam} ne "") - { print ",\n modified\t= \{$M{$nam}\}\n"; } - else - {print ",\n$mod\n"; } - print "}\n"; - } - - elsif (/= {/) { print ",\n$_"; } - else { print "\n$_"; } - } - diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/live-2003.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/live-2003.tex deleted file mode 100644 index 55c1551a628..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/live-2003.tex +++ /dev/null @@ -1,3937 +0,0 @@ -% $Id$ -% change history (started May 13th 2002) -% 2003/09/06: fixes from Staszek -% 2003/09/05: touched by Karl -% 2003/09/04: fixes from Staszek and Fabrice -% 2003/09/01: fixes from Volker -% 2003/08/24: win32 updates, by Fabrice -% 2003/08/12: fixes from Christer Gustafsson . -% 2003/07/07: substantial revisions by karl. -% 2002/05/25: remove mention of sizes, and bsr-interpolated; add Gutenberg -% 2002/05/18: win32 updates, by Fabrice -% 2002/05/14: corrected example files, other small errors noted by Volker -% 2002/05/13: added tex-langafrican to list of collections -% -\documentclass{article} -\usepackage{tex-live} -% -% -\begin{document} - -\title{{\huge\textsf{\TK{} 2003}}\\[3mm] - The \protect\TeXLive{} Guide} -\date{September 2003} - -\author{Sebastian Rahtz, editor \\[3mm] - \email{tex-live@tug.org}\\ - \url{http://tug.org/texlive/}\\[10mm] -\ifnum \Status=2 - \includegraphics[bb=0 0 824 741]{../pictures/front.jpg} \\[5mm] -\else - \includegraphics[width=.5\linewidth]{../pictures/front} \\[5mm] -\fi - \small \textit{Documentation contacts:}\\[3mm] - \small \begin{tabular}{lcr} - Czech/Slovak & Petr Sojka & \email{sojka@fi.muni.cz} \\ - & Janka Chleb\'\i kov\'a & \email{chlebikj (at) dcs.fmph.uniba.sk} \\ - English & Karl Berry & \email{karl@freefriends.org} \\ - French & Fabrice Popineau & \email{fabrice.popineau@supelec.fr} \\ - German & Volker RW Schaa & \email{volker@dante.de} \\ - Polish & Staszek Wawrykiewicz & \email{staw@gust.org.pl} \\ - Russian & Boris Veytsman & \email{borisv@lk.net} \\ - \end{tabular} - } - -% comes out too close to the toc, and we know it's page one anyway. -\thispagestyle{empty} - -\maketitle -\newpage - -\begin{multicols}{2} -\tableofcontents -\listoftables -\end{multicols} - -\section{Introduction} -\label{sec:intro} - -This document describes the main features of the \TeXLive{} software -distribution\Dash a \TeX{} and \LaTeX{} distribution for Linux and other -Unix flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is -not especially useful for older Mac or \acro{MS-DOS} systems.) It -includes precompiled binaries for \TeX{}, \LaTeXe{}, \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 the 2003 release, the last update of packages and programs was made -on September 3, 2003. For newer versions, please consult \acro{CTAN}, -\url{http://www.ctan.org}. - -For a brief summary of the major changes in this edition of \TeXLive{}, -see section~\ref{sec:history} on p.~\pageref{sec:history}. - - -\subsection{Basic usage of \protect\TeXLive{}} -\label{sec:basic} - -You can use \TeXLive{} in three principal ways: - -\begin{enumerate} - -\item You can run \TeXLive{} directly from the distribution media -(except for the \pkgname{inst} distribution; see -section~\ref{sec:multiple-dist} on p.~\pageref{sec:multiple-dist}). -This takes almost no disk space, as you might expect, and gives you -immediate access to everything in \TeXLive{}. Of course performance -will be worse than running on local disk, but you may well find it -acceptable. - -\item You can install all or part of \TeXLive{} to a local disk. This -is the most common use of \TeXLive. You will need a minimum of 120 -megabytes, 360 megabytes for a recommended system, and 800 megabytes for -a full system. - -\item You can integrate a particular package or collection into your -existing \TeX{} system, either a \TeXLive{} system you installed earlier -or a different system. - -\end{enumerate} - -\noindent All of these are described in detail in the \acro{OS}-specific -installation sections. - - -\subsection{Getting help} -\label{sec:help} - -The \TeX{} community is both active and friendly, and virtually all -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 -commercial-style support, you can forego \TeXLive{} completely and -purchase a vendor's system; see -\url{http://tug.org/interest.html#vendors} for a list.) - -Here is a list of resources, approximately in the order we recommend -using them: - -\begin{description} -\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 \TeXLive{} in \OnCD{FAQ/english}, and is -available on the Internet through \url{http://faq.tug.org}. Please -check here first. - -\item [\TeX{} Catalogue] If you are specifically looking for a package, -font, program, etc., the \TeX{} Catalogue is the place to look. It is a -huge list of all \TeX{}-related items. See -\OnCD{texmf/doc/html/catalogue}, or -\url{http://www.ctan.org/tex-archive/help/Catalogue/catalogue.html}. - -\item [\TeX{} Web Resources] This web page has many \TeX{}-related -links, in particular for numerous books, manuals, and articles on all -aspects of the system: \url{http://tug.org/interest.html}. - -\item [support archives] The two principal forums for support are the -Usenet newsgroup \url{news:comp.text.tex} and the mailing list -\email{texhax@tug.org}. So, their archives have thousands of past -questions and answers for your searching pleasure. See -\url{http://groups.google.com/groups?group=comp.text.tex} and -\url{http://tug.org/mail-archives/texhax}, respectively. A query on a -general web search engine, such as \url{http://google.com}, never hurts. - -\item [posting questions] If you cannot find an answer, you can post to -\dirname{comp.text.tex} through Google or your newsreader, or through -email to \email{texhax@tug.org}. But before you post, \emph{please} -read this \acro{FAQ} entry for advice on asking questions in such a way -that you're most likely to get an answer: -\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. - -\item [\TeXLive{} support] If you want to report a bug or have -suggestions or comments on the \TeXLive{} 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 -\TeXLive{}, you are better off writing to that program's maintainer or -mailing list. - -\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. Welcome to -\TeX{}! - - -\section{Structure of \protect\TeXLive} -\label{sec:struct-tl} - -The main two installation scripts for Unix and \MacOSX{} are -\texttt{install-tl.sh} and \texttt{install-pkg.sh}. We discuss them -in section \ref{sec:unix-install} on p.~\pageref{sec:unix-install}. -Here, we describe the structure and contents of \TeXLive{}. - - -\subsection{Multiple distributions: \protect\pkgname{live}, - \protect\pkgname{inst}, \protect\pkgname{demo}} -\label{sec:multiple-dist} - -As of 2003, space limitations of \acro{CD-ROM} format have forced us to -divide \TeXLive{} into three distributions, as follows. - -\begin{description} - -\item [live] a complete, runnable system on \acro{DVD}; it is too large -for \acro{CD-ROM}. (The \DVD{} also includes a snapshot of the \CTAN{} -repository, completely independent of \TeXLive{}.) - -\item [inst(allable)] a complete system on \CD; in order to make it fit, -we had to compress everything we could. Therefore, it is not possible -to run \TeX\ directly from the installable \CD, you have to install it to -disk (hence its name). Installation is described in subsequent sections. - -\item [demo] a live system runnable directly from \CD; in order to make -this fit, we omitted the very large collection of \acro{CJK} (Chinese, -Japanese, Korean) language support, support for typesetting music, some -less-commonly used fonts, and included executables only for Linux, -\MacOSX, and Windows systems. - -\end{description} - -\noindent You can tell which type of distribution you're in by looking -for a \texttt{00\var{type}.TL} file in this top-level directory. - - -\subsection{Top level directories} - -Here is a brief listing and description of the top level directories in -the \TeXLive{} distribution. - -\smallskip -\begin{tabular}{>{\ttfamily}lp{.8\hsize}} -bin & The \TeX{} system programs, arranged by platform. \\ -Books & Examples from some of the books about \TeX\ (see - \filename{Books/README}). \\ -FAQ & Current versions of major FAQ collections. \\ -info & A few manuals in \acro{GNU} Info format, where available. \\ -\MacOSX & Supporting software for \MacOSX (see - section~\ref{sec:mac-install} on p.~\pageref{sec:mac-install}). \\ -man & Unix man pages. \\ -source & The source of all programs, including the main \Webc{} - \TeX{} and \MF{} distributions. These are stored in a - \cmdname{bzip2}-compressed tar archive. \\ -support & assorted auxiliary packages and programs. These are - \emph{not} installed by default. This includes - \cmdname{Ghostscript}, \cmdname{netpbm}, and assorted editors and - \TeX\ shells. \\ -texmf & root of installed packages, fonts, config files, etc. \\ -usergrps & Material about a few of the \TeX\ user groups. (Visit - \url{http://tug.org/usergroups.html} for a current list.) \\ -xemtex & The \cmdname{XEmacs} editor and other support programs for - Windows (see section~\ref{sec:win-xemtex} on p.~\pageref{sec:win-xemtex}). - These programs generally come pre-installed on Unix systems, or are - at least easy to compile. \\ -\end{tabular} - - -\subsection{Extensions to \TeX} -\label{sec:tex-extensions} - -\TeXLive{} contains three extended versions of \TeX: - -\begin{description} - -\item [\eTeX] adds a small but powerful 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/doc/etex/base/etex_man.pdf}. \eTeX{} is now the default for -\LaTeX{} and pdf\LaTeX{}. - -\item [pdf\TeX] writes Acrobat PDF format as well as \dvi{}. The -\LaTeX{} \pkgname{hyperref} package has an option `\optname{pdftex}' -which turns on all the program features. See -\OnCD{texmf/doc/pdftex/pdftex-l.pdf} and -\OnCD{texmf/doc/pdftex/base/example.tex}. - -\item [\OMEGA\ (Omega)] 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. See -\OnCD{texmf/doc/omega/base/doc-1.8.tex} (not completely up-to-date). - -\end{description} - - -\subsection{Other notable programs in \protect\TeXLive} - -Here are a few other commonly-used programs included in \TeXLive{}: - -\begin{cmddescription} - -\item [bibtex] bibliography support. - -\item [makeindex] index support. - -\item [dvips] convert \dvi{} to \PS{}. - -\item [xdvi] \dvi{} previewer for the X Window System. - -\item [dvilj] HP LaserJet driver. - -\item [dv2dt, dt2dv] convert \dvi{} to/from plain text. - -\item [dviconcat, dviselect] cut and paste pages -from \dvi{} files. - -\item [dvipdfm] convert \dvi{} to PDF, an alternative approach -to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and -\pkgname{pdftricks} packages for still more alternatives. - -\item [psselect, psnup, \ldots] \PS{} -utilities. - -\item [lacheck] \LaTeX{} syntax checker. - -\item [texexec] Con\TeX{}t and PDF processor. - -\item [tex4ht] \TeX{} to HTML converter. - -\end{cmddescription} - - -\section{Unix installation} -\label{sec:unix-install} - -As introduced in section~\ref{sec:basic} on p.~\pageref{sec:basic}, -\TeXLive{} has three principal uses: - -\begin{enumerate} -\item Run directly from media. -\item Install to disk. -\item Integrate a particular package or collection into your existing -\TeX{} installation. -\end{enumerate} - -\noindent The following sections describes the Unix-specific procedures -for each of these. - -\ifSingleColumn \begin{figure}[ht]\noindent \fi -\begin{warningbox} -\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) -format, \emph{with} Rock Ridge (and Joliet, for Windows) -extensions. Therefore, in order to take full advantage of the \TK{} -under Unix, your system needs to be able to use the Rock Ridge -extensions. Please consult the documentation for your \cmdname{mount} -command to see how to do this. If you have several different machines -on a local network, you may be able to mount the \CD{}s on one which -does support Rock Ridge, and use this with the others. - -\leavevmode\quad Linux, Free\acro{BSD}, Sun, \acro{SGI} and -Alpha systems should be able to use the \CD{}s without problems. We -would appreciate receiving detailed advice from users on other systems -who succeed, for future versions of this documentation. - -\leavevmode\quad -The discussion below assumes you have been able to mount -the \CD{}s with full Rock Ridge compatibility. -\end{warningbox} -\ifSingleColumn\end{figure}\fi - - -% -\subsection{Running \protect\TeXLive{} directly from media (Unix)} - -\def\runlive{% text repeated in windows section -It is possible to use the \TeX{} system directly from the \pkgname{demo} -\CD{} or the \pkgname{live} \DVD{}, without installing the distribution -to disk. (Thus the name `\TeXLive', in fact.) It is \emph{not} -possible to run \TeX{} directly from the \pkgname{inst} \CD (see -section~\ref{sec:multiple-dist} on p.~\pageref{sec:multiple-dist}). -} - -Only Linux, \MacOSX, and Windows binaries are included on the demo \CD; -if you want to run live on other Unix systems, you'll need to use the -\DVD. - -\def\startinst{% repeated in other subsections -To start, we must mount the \CD{} or \DVD{}, with Rock Ridge extensions -enabled. The exact command to do this varies from system to system; the -following works under Linux, except the name of the device -(\filename{/dev/cdrom}, here) may vary. (All our examples will use -\texttt{>} as the shell prompt; user input is \underline{underlined}.) -\begin{alltt} -> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} -\end{alltt} - -\noindent Change the current directory to the mount point: -\begin{alltt} -> \Ucom{cd /mnt/cdrom} -\end{alltt} - -\noindent Under \MacOSX, the directory is typically under -\dirname{/Volumes}, and the media will be mounted automatically. -} - -\startinst - -Run the installation script \filename{install-tl.sh}: -\begin{alltt} -> \Ucom{sh install-tl.sh} -Welcome to TeX Live... -\end{alltt} - -\def\firstinstcommand{% -\noindent After various greeting messages and a list of the main menu -options, the installation will ask you to enter a command. Do this by -typing the desired character and hitting return; don't type the angle -brackets. Either uppercase or lowercase is ok; we'll use lowercase in -our examples. -} -\firstinstcommand - -For running live, our first command will be \Ucom{d} and then the -subcommand \Ucom{1} to set directories. Even in this case, we must -choose a directory on the local disk to place files that the \TeX{} -system itself generates, such as fonts and formats, and also to provide -a place for updated configuration files, if need be. We'll use -\dirname{/usr/local/texmf-local} in this example. (If the default value -of \dirname{/usr/TeX} works for you, then you can skip this step.) -\begin{alltt} -Enter command: \Ucom{d} -Current directories setup: -<1> TEXDIR: /usr/TeX -... -Enter command: \Ucom{1} -New value for TEXDIR [/usr/TeX]: \Ucom{/usr/local/texmf-local} -... -Enter command: \Ucom{r} -\end{alltt} - -\noindent Back at the main menu, our second and last command is -\Ucom{r}, to set up for running live off the media without installing -to disk: -\begin{alltt} -Enter command: \Ucom{r} -Preparing destination directories... -... -Welcome to the TeX Live system! -> -\end{alltt} - -\noindent And we are back at the system prompt, as shown. - -Next, it is necessary to alter two environment variables: -\envname{PATH}, to an architecture-dependent value (so that we can run -the programs), and \envname{VARTEXMF}, to the value specified above. See -table~\ref{tab:archlist} for a list of the architecture names for the -different systems, and whether they are available on the \pkgname{demo} -\CD. All systems are available in the \pkgname{inst} and \pkgname{live} -distributions. (In addition to the version-specific names listed here, -there are generic names without the version numbers. For instance, -\dirname{sparc-solaris} links to \dirname{sparc-solaris2.7}. The -generic names can be used to protect against the version numbers -changing in the future, if you wish.) - -\def\runtexconfig{% -After the main installation has completed, and environment variables -have been set, the next step is to run \cmdname{texconfig} to customize -your installation for your needs. This is explained in -section~\ref{sec:texconfig}, p.~\pageref{sec:texconfig}. -} -\runtexconfig - -\begin{table*}[ht] -\caption{Supported system architectures.} -\label{tab:archlist} -\begin{tabular}{>{\ttfamily}lll} -alpha-linux & HP Alpha Linux & \\ -alphaev5-osf4.0d & HP Alphaev5 OSF & \\ -%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 & \\ -i386-freebsd4.8 & Intel x86 FreeBSD & \\ -i386-linux & Intel x86 GNU/Linux & demo \CD\\ -i386-openbsd3.3 & Intel x86 OpenBSD & \\ -i386-solaris2.8 & Intel x86 Solaris & \\ -mips-irix6.5 & SGI IRIX & \\ -powerpc-aix4.3.3.0 & IBM RS/6000 AIX & \\ -powerpc-darwin6.3 & \MacOSX & demo \CD\\ -sparc-solaris2.7 & Sun Sparc Solaris & \\ -sparc64-linux & Sun Sparc Linux & \\ -win32 & Windows (32-bit) & demo \CD\\ -\hline -\end{tabular} -\end{table*} - -\label{text:path} -The syntax for setting the environment variables, and the initialization -file to put them in, depends on the shell you use. If you use a -Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et -al.), put the following into your \filename{$HOME/.profile} file: -\begin{alltt} -PATH=/mnt/cdrom/bin/\Ucom{\emph{archname}}:$PATH; export PATH -VARTEXMF=/usr/local/texmf-local/texmf-var; export VARTEXMF -\end{alltt} - -\noindent For C shell-compatible shells (csh, tcsh), put the following -into your \filename{$HOME/.cshrc} file: -\begin{alltt} -setenv PATH /mnt/cdrom/bin/\Ucom{\emph{archname}}:$PATH -setenv VARTEXMF /usr/local/texmf-local/texmf-var -\end{alltt} - -\def\donewithinst{% -\noindent Then log out, log back in, and test your installation -(see section~\ref{sec:test-install} on p.~\pageref{sec:test-install}). -} -\donewithinst - -\def\ifindoubt{% -If in doubt, please ask any local system gurus to help you with -problems; for example, the way to mount the \TeXLive{} media, which -directory or directories to use, and precise details of the changes to -your personal initialization files can and do vary from site to site. -} -\ifindoubt - - -% -\subsection{Installing \protect\TeXLive{} to disk} -\label{sec:unix-install-disk} - -It is possible, indeed typical, to install the \TeX{} system from the -\TeXLive{} to disk. This can be done either from the \pkgname{live} -\DVD, or the \pkgname{inst} \CD. It can also be done from the -\pkgname{demo} \CD, if you don't need the omitted packages or systems. -(See section~\ref{sec:multiple-dist} on p.~\pageref{sec:multiple-dist} -for an explanation of the different distributions.) - -\startinst - -Run the installation script \filename{install-tl.sh}: -\begin{alltt} -> \Ucom{sh install-tl.sh} -Welcome to TeX Live... -\end{alltt} - -\firstinstcommand - -Here is an introductory list of the options in the main menu. The order -in which you select the options makes little difference, except that -\Ucom{i} must be last. It's reasonable to go through them in the -order presented~here. - -% apparently here.sty [H] doesn't support table*. -\begin{table}[H] -\caption{Main menu options for the installation.} -\label{tab:main-menu-options} -\begin{tabular}{>{\ttfamily}ll} -p & The system you are running on.\\ -b & The architectures to install binaries for.\\ -s & The base installation scheme to use (minimal, recommended, - full, etc.)\\ -c & Override the installation scheme for individual collections.\\ -l & Override for language collections.\\ -d & Directories in which to install.\\ -o & General options.\\ -i & Perform the installation.\\ -\end{tabular} -\end{table} - -Here are further details on each option. - -\textbf{\optname{p} -- Current platform.} Since the installation script -automatically guesses which platform you're running on, this is -generally unnecessary to override. It's there in case the automatic -detection fails. - -\textbf{\optname{b} -- Binary architectures.} By default, only the -binaries for your current platform will be installed. From this menu, -you can select installation of binaries for other architectures as well -(or not install the current platforms). This is often useful if you -are sharing a \TeX\ tree across a network of heterogenous machines. For -a list of the supported architectures, see table~\ref{tab:archlist}, -p.~\pageref{tab:archlist}. - -\textbf{\optname{s} -- Base installation scheme.} From this menu, you -can choose an overall common set of packages. The default is a -recommended set for typical needs, but you can also choose a basic set -to conserve disk space, or a full set to get absolutely everything. The -\pkgname{Live} scheme is used for creating the \TeXLive{} -\pkgname{demo} distribution itself, and isn't generally useful to select -for a particular site. There are also specific sets for Omega and -\acro{XML} users. - -\textbf{\optname{c} -- Individual collections.} From this menu, you can -override the basic scheme's choice of which collections to install. -Each collection\Dash TeX macro files, Metafont font families, and so -on\Dash consists of several packages. In this menu, selection letters -are case-sensitive. - -\textbf{\optname{l} -- Language collections}. This menu has the same -basic functionality as \Ucom{c}, to override collection choices. In -this case, the collections are specifically for different languages. -Selection letters are case-sensitive here. Here is a list of the -language collections in \TeXLive: - -% xx really should generate list from texmf/tpm/collection/tex-lang* -% a la install-tl.sh. -\begin{tabbing} -\hspace{.25\linewidth} \= -\hspace{.25\linewidth} \= -\hspace{.25\linewidth} \= -\hspace{.25\linewidth} \kill - (some) African scripts \> - Armenian \> - Chinese,Japanese,Korean \> -Croatian \\ - Cyrillic \> - Czech/Slovak \> - Danish \> -Dutch \\ - Finnish \> - French \> - German \> -Greek \\ - Hungarian \> - Indic \> - Italian \> -Latin \\ - Manju \> - Mongolian \> - Norwegian \> -Polish \\ - Portuguese \> - Spanish \> - Swedish \> -Tibetan \\ - \acro{UK} English \> -Vietnamese \\ -\end{tabbing} - -\noindent Language collections typically includes fonts, macros, -hyphenation patterns, and other support files. (For instance, -\pkgname{frenchle.sty} is installed if you select the \optname{French} -collection.) In addition, installing a language collection will alter -the \filename{language.dat} configuration file controlling which -hyphenations are loaded. - -\textbf{\optname{d} -- Installation directories}. Three directories can -be changed here: -\label{text:instdir} - -\begin{ttdescription} -\item [TEXDIR] By default, the top-level directory under which -everything else will be installed. The default value is -\dirname{/usr/TeX}, and is often changed. For example, changing to a -value such as \dirname{/usr/local/texlive2003} would make it possible to -keep different releases of \TeXLive{} separate. You may then wish to -make \dirname{/usr/local/texlive} a symbolic link, after testing the new -release. - -Under \MacOSX, the usual frontends look for \TeX{} in -\dirname{/usr/local/teTeX}, so you may wish to install \TeXLive{} there. - -\item [TEXMFLOCAL] This tree is where the \TeX{} system scripts install -non-version-specific files, primarily fonts. The default value is -\dirname{TEXDIR/texmf-local}. It's also the recommended location to put -any local packages or configuration settings. Therefore, it's desirable -to change it to a location independent of the current \TeXLive{} -release; for example, \dirname{/usr/local/texmf-local}. - -\item [VARTEXMF] This tree is where the scripts install files that -\emph{are} version-specific, primarily format files and the -configuration files which are modified by \cmdname{texconfig} (see -section~\ref{sec:texconfig}, p.~\pageref{sec:texconfig}). The default -value is \dirname{TEXDIR/texmf-var}, and there's generally no reason to -change it. - -\end{ttdescription} - -\textbf{\optname{o} - General options.} From this menu, you can select -three general options affecting the installation: - -\begin{ttdescription} -\item [a] Specify an alternate directory for generated fonts. -The default is to use the \envname{VARTEXMF} tree, as explained above. -Setting this is useful if you plan to mount the main tree read-only, and -therefore another location (perhaps machine-specific) must be used for -dynamically created fonts. - -\item [l] Create symbolic links for the binaries, man pages, -and/or \acro{GNU} Info files in other locations. For example, you may -wish to make the man pages available under \dirname{/usr/local/man} and -the Info files available under \dirname{/usr/local/info}. (Of course -you need appropriate privileges to write in the specified directories.) - -\item [d] Skip installation of the font/macro documentation tree. -This is useful to save space, or if you've previously installed the -documentation elsewhere. - -\item [s] Skip installation of the main font/macro source -tree. This is useful if you are arranging to share that tree between -machines and/or architectures in some other way, such as \acro{NFS} or -\cmdname{automount}. - -\end{ttdescription} - -\textbf{i - Perform installation.} When you're satisfied with your -configuration options, enter \Ucom{i} to actually do the installation -from the media to your chosen locations. - -The last step is to include the architecture-specific subdirectory of -\dirname{TEXDIR/bin} in your -\envname{PATH}, so the newly-installed programs can be found. The -architecture names are listed in table~\ref{tab:archlist}, -p.~\pageref{tab:archlist}, or you can simply list the directory -\dirname{TEXDIR/bin}. - -The syntax for doing this, and the initialization file to put it in, -depends on the shell you use. If you use a Bourne-compatible shell -(\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et al.), put the following -into your \filename{$HOME/.profile} file: -\begin{alltt} -PATH=/\Ucom{\emph{TEXDIR}}/bin/\Ucom{\emph{archname}}:$PATH; export PATH -\end{alltt} - -\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), -put the following into your \filename{$HOME/.cshrc} file: -\begin{alltt} -setenv PATH /\Ucom{\emph{TEXDIR}}/bin/\Ucom{\emph{archname}}:$PATH -\end{alltt} - -\runtexconfig - -Here is a brief annotated example which selects a full installation, -with binaries for the current system only, with directory changes as -recommended above. The prompts and \acro{RETURN} keys are omitted for -brevity. - -\begin{alltt} -> \Ucom{sh install-tl.sh} -\Ucom{s} \Ucom{b} \Ucom{r} # scheme, full, return to main -\Ucom{d} # change directories -\Ucom{1} \Ucom{/usr/local/texlive2003} # top-level dir -\Ucom{2} \Ucom{/usr/local/texmf-local} # TEXMFLOCAL outside TEXDIR -\Ucom{r} # return to main -\Ucom{i} # perform installation -> \Ucom{texconfig} ... -# New PATH, assuming Linux: -> \Ucom{PATH=/usr/local/texlive2003/bin/i386-linux:$PATH; export PATH} -\end{alltt} - -\ifindoubt - - -% -\subsection{Installing individual packages to disk} - -You can add individual packages or collections from the current -distribution to an existing non-\TeXLive{} setup, or an earlier -\TeXLive{} installation. You can do this from the \pkgname{demo} \CD{} -or the \pkgname{live} \DVD{}, but \emph{not} from the \pkgname{inst} -\CD. (See section~\ref{sec:multiple-dist} on -p.~\pageref{sec:multiple-dist}.) - -\startinst - -Run the installation script \filename{install-pkg.sh} (not -\filename{install-tl.sh}, which is intended for complete installations -only): -\begin{alltt} -> \Ucom{sh install-pkg.sh \emph{options}} -\end{alltt} - -This first set of options controls what gets read: - -\begin{ttdescription} -\item [-{}-package=\emph{pkgname}] The individual package to work on. - -\item [-{}-collection=\emph{colname}] The individual collection to work on. - -\item [-{}-nodoc] Exclude documentation files from the operation. - -\item [-{}-nosrc] Exclude source files from the operation. - -\item [-{}-cddir=\emph{dir}] Source directory to read from; defaults -to the current directory. If you followed the instructions above, that -will be the distribution directory, and won't need to be changed. - -\item [-{}-listdir=\emph{dir}] The so-called `lists' directory within -\emph{cddir} from which to read the package information. The default is -\texttt{\emph{cddir}/texmf/tpm/lists}; the only reason to change it is -if you're making changes to \TeXLive{} yourself. - -\end{ttdescription} - -What actually happens is controlled by the following options. If -neither of these are specified, the default action is to install the -selected files. The main destination tree is found by expanding -\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by -setting either the environment variable \envname{TEXMFMAIN} or -\envname{TEXMF}. - -\begin{ttdescription} -\item [-{}-listonly] List the files that would be installed, but don't -actually install anything. - -\item [-{}-archive=\emph{tarfile}] Instead of installing the files into -the \TeX{} system, make a \cmdname{tar} archive. - -\end{ttdescription} - -Additional options: - -\begin{ttdescription} - -\item [-{}-config] After installation, run \code{texconfig init}. - -\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to -rebuild the filename database. - -\item [-{}-verbose] Give more information as the script runs. - -\end{ttdescription} - -Here are some usage examples: - -\begin{enumerate} - -\item To see the files in the package \pkgname{fancyhdr} without -installing it: - -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} -\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} -> \Ucom{--listonly} -\fi{} -texmf/doc/latex/fancyhdr/README -texmf/doc/latex/fancyhdr/fancyhdr.dvi -texmf/doc/latex/fancyhdr/fancyhdr.pdf -... -\end{alltt} - -\item Install the \LaTeX{} package \pkgname{natbib}: -\begin{alltt} -> \Ucom{sh install-pkg.sh --package=natbib} -\end{alltt} - -\item Install the \LaTeX{} package \pkgname{alg} without source files or -documentation: -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} -\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} -> \Ucom{-{}-nosrc -{}-nodoc} -\fi\end{alltt} - -\item Install all the packages in the collection of additional -plain \TeX\ macros: -\begin{alltt} -> \Ucom{sh install-pkg.sh --collection=tex-plainextra} -\end{alltt} - -\item Write all files in the \pkgname{pstricks} package to a -\cmdname{tar} file in \path|/tmp|: -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} -\else -> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} -> \Ucom{-{}-archive=/tmp/pstricks.tar} -\fi\end{alltt} - -\end{enumerate} - -\ifindoubt - - -% -\section{Post-installation} -\label{sec:postinstall} - -After the main installation is done, for any operating system, the -remaining steps are to configure the system for your local needs, and -perform some basic tests. - -Another sort of post-installation is to acquire packages, fonts, or -programs that were not included in \TeXLive{}. The basic idea is to -install such additions in the \envname{TEXMFLOCAL} tree (if you -installed to disk), or \envname{VARTEXMF} (if you are running live). -See ``Installation directories'' on p.~\pageref{text:instdir}. - -Unfortunately, the details can vary widely, and so we do not attempt to -address them here. Please see -\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} -for a good description, and -\url{http://www.ctan.org/tex-archive/info/Type1fonts} for font creation -and installation information in particular. - - -\subsection{The \protect\cmdname{texconfig} program} -\label{sec:texconfig} - -At any time after installation, you can and should use the program -\cmdname{texconfig} to configure the system to fit your local needs. It -is installed in the architecture-specific subdirectory -\texttt{TEXDIR/bin/\emph{arch}} along with everything else. - -If you run it without arguments, it will enter full-screen mode and -allow you to view and change options interactively. - -You can also run it with various command-line options. Here are some of -the most commonly used: - -\begin{ttdescription} - -\item [texconfig dvips paper letter] Set default paper size for -\cmdname{dvips} to be letter-size. - -\item [texconfig xdvi us] Likewise, for \cmdname{xdvi}. - -\item [texconfig rehash] Update all the \TeX{} system filename databases. - -\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. -(See also the main \TeX{} \acro{FAQ} in the \dirname{FAQ} subdirectory -of \TeXLive.) - -\item [texconfig help] Output help information. - -\end{ttdescription} - -Of course, \cmdname{texconfig} only supports changing a few of the many -options and configuration parameters in a \TeX{} system. The main -configuration file for the base \Webc{} programs is named -\filename{texmf.cnf}. You can find its location by running -\samp{kpsewhich texmf.cnf}; it contains many comments explaining the -default settings and useful alternatives. - - -\subsection{Testing the installation} -\label{sec:test-install} - -After installing \TeXLive{} as best you can, you naturally want to test -it out, so you can start creating beautiful documents and/or fonts. - -This section gives some basic procedures for testing that the new system -is functional. We described the Unix commands; 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 (Web2c 7.5.2) 3.141592 -kpathsea version 3.5.2 -Copyright (C) 1997-2003 D.E. Knuth. -... -\end{alltt} -If this comes back with `command not found' instead of version and -copyright information, most likely you don't have the correct -\dirname{bin} subdirectory in your \envname{PATH}. See -the environment-setting information on p.~\pageref{text:path}. - -\item Process a basic \LaTeX{} file: -\begin{alltt} -> \Ucom{latex sample2e.tex} ->TeX (Web2c 7.5.2) 3.141592 -... -Output written on sample2e.dvi (3 pages, 7256 bytes). -Transcript written on sample2e.log. -\end{alltt} -If this fails to find \filename{sample2e.tex} or other files, perhaps -you have interference from old environment variables or configuration -files. For a deep analysis, you can always ask \TeX{} to report on -exactly what it is searching for, and finding; see ``Debugging actions'' -on page~\pageref{Debugging}. - -\item Preview the result online: -\begin{alltt} -> \Ucom{xdvi sample2e.dvi} -\end{alltt} -Under Windows, the analogous command is \cmdname{windvi}. You should -see a new window with a nice document explaining some of the basics of -\LaTeX{}. (Well worth reading, if you're new to the system.) 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} -Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently -included in \TeXLive{}, so you must install them separately. See -\url{http://wwwthep.physik.uni-mainz.de/~plass/gv} and -\url{http://www.foolabs.com/xpdf}, respectively. - -\item Other standard test files you may find useful: - -\begin{ttdescription} -\item [docstrip.tex] Produce \TeX{} source or documentation from a -\samp{.dtx} file. -\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} -You can process these in the same way as we did with -\filename{sample2e.tex}. - -\end{enumerate} - -If you are new to \TeX{}, or otherwise need help with actually -constructing \TeX{} or \LaTeX{} documents, please visit -\url{http://tug.org/begin.html}. We especially recommend the -\textsl{Formatting Information} manual by Peter Flynn, available at -\url{http://www.ctan.org/tex-archive/documentation/beginlatex}. - - -\section{\MacOSX{} installation} -\label{sec:mac-install} - -\TeXLive{} supports \MacOSX, but no prior Macintosh versions. (If you -are running an older Mac version, you can view the files by installing -the Joliet system extension available from -\url{http://www.tempel.org/joliet}; however, the \TeXLive{} binaries -will not run.) - -Installation of \TeX{} under \MacOSX{} can be done in two ways: - -\begin{enumerate} -\item With the \filename{install*} scripts, as with Unix. -\item With the \cmdname{i-Installer} included in -\filename{MacOSX/II2.dmg}. -\end{enumerate} - -\noindent Each of these is described in a following section. - -In addition, typical use of \TeX{} under \MacOSX\ goes through a -\emph{frontend}. This is also described below. - - -\subsection{\protect\cmdname{i-Installer}: Internet installation} -\label{sec:i-Installer} - -The \cmdname{i-Installer} is included in the \TeXLive{} distribution as -an alternative to normal installation. It does not use the contents of -the \TeXLive{} distribution at all; instead, the system (approximately -70 megabytes) is downloaded over the Internet. - -One advantage of \cmdname{i-Installer} is that it makes updates -relatively painless. If you are interested, please see the -\cmdname{i-Installer} \TeX{} home page at \url{http://www.rna.nl/tex.html}. - -To use it, mount \filename{./MacOSX/II2.dmg}. Read the documentation, -launch it, and install at least \emph{TeX Foundation} and \emph{TeX -Programs}. The first will finish without configuration, as soon as the -second is installed you will be presented with a graphical interface to -setting up your \TeX{} system. - -The \cmdname{i-Installer} distribution uses the \teTeX{} \dirname{texmf} -tree with some additions. Due to differences between \TeXLive{} and -\teTeX{} you cannot update a \TeXLive{} installation with an -\cmdname{i-Installer} \emph{TeX Programs} i-Package. - - -\subsection{\protect\cmdname{install*.sh}: \protect\TeXLive{} installation} - -In order to run the installation scripts under \MacOSX, you need to have -the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 -or later, you have \cmdname{bash}, and can proceed. If you're running -an earlier \MacOSX{} version, however, the default shell is -\cmdname{zsh}, which won't work; please see the -subsection~\ref{sec:mac-bash} (p.~\pageref{sec:mac-bash}) below for -instructions on installing bash \cmdname{bash}. - -Once you have \cmdname{bash}, the Unix installation documentation in the -previous section can be followed. See section~\ref{sec:unix-install} on -p.~\pageref{sec:unix-install}; \MacOSX-specific notes are included where -needed. - - -\subsection{\MacOSX{} frontends} - -Using \TeX{} on a Macintosh typically goes through a front end program, -comprising an execution shell, editor, previewer, and other facilities. -Here are the principal frontends: - -\begin{cmddescription} -\item [TeXShop] Included in \TeXLive{} as -\filename{./MacOSX/texshop.dmg}. See -\url{http://www.uoregon.edu/~koch/texshop/texshop.html}. - -\item [ITeXMac] Included in \TeXLive{} as -\filename{./MacOSX/iTeXMac-*.dmg}. See -\url{http://itexmac.sourceforge.net}. - -\item [Mac-emacs] A port of Emacs to \MacOSX{}, integrating -\pkgname{AucTeX}. See \url{http://www.cs.man.ac.uk/~franconi/mac-emacs}. - -\end{cmddescription} - -The frontends use \dirname{/usr/local/teTeX} as the default location; -therefore, you must either install \TeXLive{} there, or change the -configuration of the frontend. - - -\subsection{\cmdname{bash} installation for older \MacOSX{} versions} -\label{sec:mac-bash} - -\MacOSX{} versions 10.1 and earlier do not include \cmdname{bash} by -default, and the default shell does not run the \TeXLive{} installation -scripts properly. This section explains how to install \cmdname{bash}. - -First, check if bash is already installed. `Launch Terminal' -(\filename{/Applications/utilities/Terminal}) and type \code{rehash; -which bash}. If the answer is a filename (for example, -\code{/bin/bash}), then \cmdname{bash} is already installed, and you're done -here; go back to the main installation instructions. -If the answer is \code{bash: command not found}, proceed here. - -There are two ways to install \cmdname{bash} if you need it\Dash via the -\acro{GUI} or via command line. - -To install via \acro{GUI}, double-click the \filename{MacOSX/bash.dmg} -file in \TeXLive{}. The disk image (volume) will be mounted. Then -start the \cmdname{i-Installer} application on that volume. You will be -asked to authenticate; if you have never seen that before, you might not -have enough privileges to install. Just enter your own user name and -password. Hit install. Bash will be installed on your system. - -To install via command line: -\begin{enumerate} -\item ensure you have admin privileges: log in as the -\code{admin} user, the System Administrator, a user with Admin -privileges, using \cmdname{sudo}, etc. - -\item copy \filename{MacOSX/bash.tar.gz} from the \TeXLive{} -distribution to your home directory. - -\item Launch Terminal, and run: -\begin{alltt} -(cd /usr/local/; sudo tar xvzf ~/bash.tar.gz) -\end{alltt} -You'll be asked for your password, and then \cmdname{bash} will be -installed. - -\item Quit Terminal. - -\end{enumerate} - -After using either installation method, be sure to recheck that -\cmdname{bash} is installed with \code{rehash; which bash} in a new -Terminal window. - - -\section{Windows installation} -\label{sec:win-install} - -\TeXLive{} can be installed on systems running Windows 9x, \acro{ME}, -\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) -and \acro{MS-DOS} are not supported. - -It is necessary to have your Windows set up so that it uses the -Microsoft Joliet extensions for reading \CD{}s; simply look at the \CD{} -in Explorer and see whether it shows long, mixed-case, file names. If it -does not, you must install the Joliet extensions. - -The Windows \TeX{} system included in \TeXLive{} is no more and no less -than the \fpTeX{} distribution. It includes a \texttt{dvi} previewer, -\textsf{Windvi}, which is similar in usage to the established Unix -\textsf{xdvi}. The documentation can be found in -\OnCD{texmf/doc/html/windvi/windvi.html}. - -\subsection{The \texttt{TeXLive.exe} program} - -\begin{figure*} - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} - \else - \ifnum \Status=2 - \includegraphics[bb=0 0 551 534]{../pictures/Welcome-to-TeXLive.jpg} - \else - \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} - \fi - \fi - \end{center} - \caption{``Welcome to \TeXLive'' window}\label{graph:welcome} -\end{figure*} - -If your computer is configured to let the \CD{} autostart, then a dialog -box with a menu bar will popup on the screen, and you will have several -choices from there: - -\begin{itemize} -\item Install \TeX{} on your hard disk -\item Do maintenance on your \TeX{} system. -\item Remove the \TeX{} system. -\item Use \TeX{} off the \TeXLive{} \CD{} or \DVD{}. -\item Browse documentation: \TeXLive{} documentation, TUG web - pages, \fpTeX web pages. -\item Run the \cmdname{TeXdocTK} application to find specific documentation. -\end{itemize} - -If your \CD{} does not autostart, you can explicitly run the program -by double clicking on \path|bin/win32/TeXLive.exe| on the \CD{} from -the explorer window. - -\subsection{Running \protect\TeXLive{} directly from media (Windows)} - -\runlive - -To run live under Windows, from the menu, chose \verb|Explore CD-Rom|, then -\verb|Run TeX off CD-Rom|. This will launch the \cmdname{XEmacs} editor. - -%% To run live under Windows, do the following: - -%% \begin{enumerate} -%% \item from the menu, chose \verb|Explore CD-Rom|, then -%% \verb|Run TeX off CD-Rom|, that will launch the \cmdname{XEmacs} editor. - -%% This program needs to be a \TeX{} oriented editor. It must be able -%% to run the \TeX{} compiler, previewer and any other needed tool. If -%% you don't have one already installed on your system, you can install -%% one from the \CD{}, details section~{\ref{sec:texlive-install}}. - -%% \emph{There is no way we can guess if the program you will -%% select is actually a text editor, so be careful}. -%% Here is a list of frequently used \TeX{} editors: -%% \begin{center} -%% \begin{tabular}[H]{ll} -%% GNU Emacs & \path|c:\Program Files\NTEmacs\bin\runemacs.exe| \\ -%% XEmacs & \path|c:\Program Files\XEmacs\XEmacs-21.2\i586-pc-win32\xemacs.exe| \\ -%% WinShell & \path|c:\Program Files\WinShell\WinShell.exe| \\ -%% WinEdt & \path|c:\Program Files\WinEdt Team\WinEdt\WinEdt.exe|\\ -%% TeXnicCenter & \path|c:\Program Files\TeXnicCenter\TEXCNTR.exe| -%% \end{tabular} -%% \end{center} -%% The program -%% selected will be memorized as the editor to use for future runs. - -%% \item from the menu, chose \verb|Explore CD-Rom|, then -%% \verb|Run TeX off CD-Rom|. The environment will be modified, a small -%% temporary directory created and some configuration files copied -%% there. Then, the selected editor selected will be launched, and you -%% will be able to type in some text, let \TeX{} typeset it and the -%% view it or print it. - -%% If Ghostscript is not detected on your machine, you will be warned -%% that rendering your DVI files might fail. You can install it from -%% the \path|Install|, \path|Support| menu item. See -%% section~\ref{sec:texlive-install} for details. - -%% \item you can select a different text editor any time you want. - -%% \item if you chose \verb|Cleanup CD-Rom setup|, everything \TeX{} -%% needed will be removed, comprised the selection of your text -%% editor, but not the extra packages you may have downloaded and -%% installed. If you installed \cmdname{WinShell} or \cmdname{NTEmacs}, -%% they won't be removed. -%% \end{enumerate} - -XEmacs startup file will set the environment variables needed. XEmacs will also -setup a temporary \acro{TDS} compliant texmf tree in the temporary area of your -computer. It is needed to store files that may be built on the fly, such as -\path|pk| bitmap fonts, or format files. Configuration files are copied from -the \CD{} to this texmf tree, so that you can edit them if needed. The -\path|ls-R| database is computed for this texmf tree. The AUC-\TeX{} mode will -be entered Whenever you will visit or create a \TeX{} file, providing all the -bells and whistles for \TeX{} support XEmacs is capable of. - -If you run 'M-x shell' within XEmacs, then you will have access to all the TeXLive -tools from the command line provided by XEmacs. - -\smallskip {\small\noindent \textbf{[For advanced users:]} You can also - use the small batch file \path|mkloctex.bat| to be called in a - directory \path|bin\win32| of the \CD. From the Start menu select - `Run', then browse the \acro{CD} drive and select - \path|mkloctex.bat|. Before starting it, you should add two parameters - separated by a space: the letter of your \acro{CD} drive and the - letter of the drive where you want to install the \TeX\ directory. - The whole line should read, e.g., \verb+d:\bin\win32\mkloctex.bat d c+. - When installation is complete, please read carefully the information - on screen. If you are running Windows 9x/\acro{ME}, then you will have to - restart Windows.} - -\subsection{Support packages for Windows} -\label{sec:win-xemtex} - -To be complete, a \TeXLive installation needs support packages that are not -commonly found on a Windows machine. -Many scripts are written using the Perl language. Some important tools require -the Ghostscript \PS{} interpreter to render or to convert files. A graphic -file toolbox is also needed in some cases. Last but not least, a \TeX-oriented -editor makes it easy to type in your \TeX{} files. - -All these tools are quite easy to find for Windows, but in order to try to make -your life even easier, we have put such a set of tools on \TeXLive: -\begin{itemize} -\item \cmdname{Ghostscript} 7.07 -\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TeXLive{} -Perl scripts -\item a subset of \cmdname{ImageMagick} 5.5.6 -\item the \cmdname{ISpell} checker -\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support -\TeX{} typesetting. -\end{itemize} - -These packages should be installed only all at once. The bundle is -known as the \XEmTeX{} bundle. - -If you didn't install \XEmTeX{}, \cmdname{Perl} and \cmdname{Ghostscript} are -installed anyway if they are not detected on your machine. This is because they are -required by many important tools. The \envname{PERL5LIB} and \verb|GS_LIB| -environment variables will be set too. - -When you are under -\cmdname{XEmacs}, the tools provided shadow any other version you might -have installed previously. The point here is that \path|TeXSetup.exe| -will not install anything outside of the \TeXLive location, neither will -it run foreign installers, nor will it try to autodetect installed -products using unreliable rules of thumb. The \XEmTeX{} bundle is -standalone and is meant to evolve in the future. The reference site is -\url{http://www.fptex.org/xemtex/}. - -If you don't want to install this bundle, then you are on your own to -install the required tools to complete your \TeXLive{} system. Here is a -list of places to get those tools: - -\begin{description} -\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} -\item[Perl] \url{http://www.activestate.com/} (but you might need some - supplementary packages from CPAN: \url{http://www.cpan.org/}) -\item[ImageMagick] \url{http://www.imagemagick.com} -\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to - process or convert your graphic files. NetPBM home page is - \url{http://netpbm.sourceforge.net/} -\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the - user's taste. Here is a selection: - \begin{itemize} - \item \cmdname{GNU Emacs} is available natively under Windows, the - reference url is - \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} - \item \cmdname{XEmacs} is available natively under Windows, the - reference url is \url{http://www.xemacs.org/} - \item \cmdname{WinShell} is available on \TeXLive in the \path|support| - directory, the reference url is \url{http://www.winshell.de} - \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} - \item TeXnicCenter is available from - \url{http://www.toolscenter.org/products/texniccenter/} - \item \cmdname{Vim} is available on \TeXLive{} in the - \path|support\vim| directory and the - reference site is \url{http://www.vim.org} - \item \cmdname{SciTE} is available from \url{http://www.scintilla.org/SciTE.html} - \end{itemize} -\end{description} - -You might want to install other tools that are not free\footnote{Not -free, that is, in the sense of freedom to modify and redistribute, -following Debian's guidelines. This does not mean you can't acquire -them for no money.} and therefore not included on \TeXLive{}, such as -\cmdname{GSView}, the \cmdname{Ghostscript} companion to more -conveniently view PS/PDF files. \cmdname{GSView} is available from -\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. - -%% \subsection{Installing editors or support packages} -%% \label{sec:texlive-install} - -%% You can use the \path|TeXSetup.exe| program to install a -%% single (not \TeX{}-dependent) package. This might be an editor -%% such as \cmdname{WinShell} or \cmdname{NTEmacs}, -%% or a support package like \cmdname{NetPBM} -%% (graphics formats conversion) or \cmdname{Ghostscript}. - -%% Some of the packages are not free, or not with the same meaning as for -%% the rest of the \CD{}. These packages have been made available through -%% the Internet. You need to enable an Internet connection in order to -%% install them. Chosing the \path|Enable Internet access| subitem will -%% search your system for an active Internet connection, or start one if -%% possible. \emph{If your computer is not connected to the Internet, -%% then the timeout might be long, 30s or more}. So try to enable it -%% only if you know you have a connection. - -%% Only a few packages are available from the \CD{}, but the most -%% important of them: \cmdname{NTEmacs} and \cmdname{WinShell} for the -%% editors, \cmdname{Ghostscript} and \cmdname{NetPBM} for the other -%% support packages. \cmdname{NetPBM} is needed for running \TeX{}4ht. - -%% The downloadable packages are sometimes huge: \cmdname{Perl} is 10Mb, -%% \cmdname{XEmacs} is 50Mb, so be warned that it can take a lot of time -%% to install such things. \path|TeXSetup.exe| does not yet provide an -%% estimation of the time needed to complete the download. - -%% When installing these packages, \path|TeXSetup| is working in -%% unattended mode. However, the programs that have their own installer -%% like WinEdt or Ghostscript for example will require human interaction. - -%% Those packages who have no specific installer will be unpacked and configured -%% for your system. You will be required to select some directory where -%% they will be installed. The directory to select should be the root -%% directory of the whole installation. Assuming you want to install -%% NTEmacs and NetPBM, the archive files already contain the -%% \path|NTEmacs\| and \path|NetPBM\| part, so the directory you have to -%% select is something like \path|c:\Local| or \path|c:\Program Files|. - -\subsection{Installing \TeXLive{} to disk} - -\textbf{Warning: Win9x users must ensure they have enough environment - space before undertaking installation. The \cmdname{TeXSetup.exe} - program won't change the environment size for them. A few environment - variables will be created and it is possible you run out of - environment space. Add "SHELL=COMMAND.COM /E:4096 /P" in the - config.sys file in order to increase your environment size.} - -Installation is started by letting the media autostart. The program run -is \path|TeXSetup.exe| if you are using the inst disk. If you are using -the live or the demo disk, you will have to select the item -\path|TeXLive Software| from the menu, then the subitem \path|Install on -Hard Disk|. This will invoke \path|TeXSetup.exe|. You can also find it -in the \path|bin/win32| directory and run it, if the autostart fails for -any reason. \path|TeXSetup.exe| is a Windows wizard and it will display -several pages while running. - -\begin{description} -\item[Welcome Page] - You can choose a \emph{quick} installation from - here. In this case, the installation will run without any human - assistance from beginning to end, with all the default settings - (Figure~\ref{graph:setup-src}, - \ifnum \Status = 1 - on the left% - \else\ifnum \Status=2 - at the top% - \else - on the left% - \fi\fi - ). If you have enough privileges (administrator or power user - rights) under a Windows version where this is applicable, then you can - decide to install the \TeXLive{} for all users or for yourself only by - checking the appropriate box. - For installing the whole \XEmTeX{} bundle (XEmacs, Ghost\-script, - Perl, ImageMagick and Ispell) you can check \emph{Install XEmTeX - Support} box. - \begin{figure*}[!htb] - The \cmdname{TeXSetup} Wizard\hfill - Source directories for the \TeXLive{} files - - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.48\textwidth]{../pictures/setup-wizard.jpg}\hfill% - \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive.jpg} - \else - \ifnum \Status=2 -\includegraphics[bb=0 0 506 403]{../pictures/setup-wizard.jpg} -\includegraphics[bb=0 0 506 403]{../pictures/source-for-texlive.jpg} - \else - \includegraphics[width=.48\textwidth]{../pictures/setup-wizard}% - \hfill% - \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive} - \fi - \fi - \caption{The \TeXLive{} setup wizard}\label{graph:setup-src} - \end{center} -\end{figure*} -\item[Source Page] - This page is a bit complex. It will allow you to select two source - directories for your \TeXLive{} system - (Figure~\ref{graph:setup-src}, - \ifnum \Status = 1 - on the right% - \else\ifnum \Status=2 - at the bottom% - \else - on the right% - \fi\fi - ). You will need a \emph{local - source directory} and possibly a \emph{remote source directory}. - -Why do we need both these directories? The files consisting of the -\TeXLive{} system are on the \CD{}, of course, but some other useful -packages are not, either because of space lacking or because their -license was not compatible with \TeXLive{}. You need to enable Internet -downloading if you want to install these packages that are marked with a -specific ``remote'' icon. - - However, don't panic: the default parameters of the setup will allow - you to install a full system using the \CD{} only. Simply, you won't - have \file{WinEdt} (for example), but you will be able to install it - later. - - So you can take your files from: - \begin{itemize} - \item the \CD{} or any similar flat tree of files, available through - some standard directory (this means the \CD{} can be mounted on - some remote machine and be made available through network - sharing), - \item a set of \file{.zip} files (this is the case when you are - installing from the demo \CD{} or the \fpTeX{} distribution), - \item the Internet; in this case, the program takes care of - downloading the \file{.zip} files it needs for you. - \end{itemize} - This option is available only if you enable Internet file - downloading in the right part of the page. You also need to - configure this Internet access by selecting to connect either using - Internet Explorer~5 \file{wininet.dll}, or using a direct connection (\texttt{ftp}, - \texttt{http}). -% or using a proxy server. -% Last, you can be assisted in defining the \emph{local source -% directory} and \emph{remote source directory} which will be used -% to copy the files onto your hard disk. The \texttt{browse} buttons -% allow to select a directory for the former, and an url among a list -% of mirrors for the latter. -\item[Root Page] - On this page, you will tell where you want the files to be - installed (Figure~\ref{graph:root-schm}, - \ifnum \Status = 1 - on the left% - \else\ifnum \Status=2 - at the top% - \else - on the left% - \fi\fi - ). Only the root directory really matters, the other ones - are set according to the root one. You may want to make - \path|$TEXMFEXTRA| point to some TDS compliant directory with other - \TeX{} files or assign a different value to - \path|$HOMETEXMF|, which is set by default to whatever Windows think - is your `HOME' location. -\begin{figure*}[!htb] - Root and directories\hfill% - Scheme selection - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.46\textwidth]{../pictures/root-of-installation.jpg}\hfill% - \includegraphics[width=.46\textwidth]{../pictures/scheme-selection.jpg} - \else - \ifnum \Status=2 -\includegraphics[bb=0 0 506 403]{../pictures/root-of-installation.jpg} -\includegraphics[bb=0 0 506 403]{../pictures/scheme-selection.jpg} - \else - \includegraphics[width=.46\textwidth]{../pictures/root-of-installation}% - \hfill% - \includegraphics[width=.46\textwidth]{../pictures/scheme-selection} - \fi - \fi - \caption{\TeXLive-Setup: Root and directories / Schemes}\label{graph:root-schm} - \end{center} -\end{figure*} -\item[Get TPM Page] - This page does not require any manual intervention. The \file{.tpm} - files which describe collections and packages are retrieved - (possibly from the Internet), unzipped if needed and parsed. -\item[Schemes Page] - On this page, you will select the global scheme of your - installation (Figure~\ref{graph:root-schm}, - \ifnum \Status = 1 - on the right% - \else\ifnum \Status=2 - at the bottom% - \else - on the right% - \fi\fi - ). A scheme is a large set of files targeted at some kind - of usage. There are 3 generic schemes for basic, recommended and - full installation. The other ones are devoted to LUGs (what GUST or - GUTenberg propose for their members) or applications (XML and - \TeX{}). - When a scheme is selected, it is still possible to refine the - selection by checking the appropriate box. If doing so, you will be - presented the packages page to change your selection, else you will - jump to the review page. -\item[Packages Page] - Collections and packages are presented in a tree form - (Figure~\ref{graph:win32-support}, - \ifnum \Status = 1 - on the left% - \else\ifnum \Status=2 - at the top% - \else - on the left% - \fi\fi - ). The links - in the tree are dependency links. Collections \emph{depend on} - packages and maybe other collections, and it is the same for each - package. You can select any package or collection individually, but - your request will be granted only if the object is not requested by - another one which is selected. For example, you can't deselect - \texttt{tex-basic} without deselecting all the collections that - request it. - - The \texttt{tex-xemtex} collection displayed on the picture is Win32 specific. It - holds a number of bonus packages (Figure~\ref{graph:win32-support}, - \ifnum \Status = 1 - on the right% - \else\ifnum \Status=2 - at the bottom% - \else - on the right% - \fi\fi - ) which can be installed - automatically and individually: Ghostscript (the \PS{} - interpreter), XEmacs editor preconfigured for \TeX{}, tools like Perl, - ImageMagick, Ispell. \emph{None of these packages are selected by - default}. - - On this page, you also have the information about disk space - needed, for each object, and for the set of those who are selected, - and also the disk space available on the partition selected for the - installation. Last, you can choose to install or not the - documentation files and source files associated with each package. -\item[Review Page] - You will find there a summary of your choices - (Figure~\ref{graph:review}, - \ifnum \Status = 1 - on the left% - \else\ifnum \Status=2 - at the top% - \else - on the left% - \fi\fi - ). It is still possible to - go back to change them. -\begin{figure*}[!htb] - Packages Page\hfill% - Win32 Support - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.48\textwidth]{../pictures/package-selection}\hfill% - \includegraphics[width=.48\textwidth]{../pictures/win32-support} - \else - \ifnum \Status=2 -\includegraphics[bb=0 0 506 403]{../pictures/package-selection.jpg}\hfill% -\includegraphics[bb=0 0 506 403]{../pictures/win32-support.jpg} - \else - \includegraphics[width=.48\textwidth]{../pictures/package-selection}% - \hfill% - \includegraphics[width=.48\textwidth]{../pictures/win32-support} - \fi - \fi - \end{center} - \caption{Packages Page / Win32 goodies} - \label{graph:win32-support} -\end{figure*} -\item[Files Copy Page] - The selected files are copied on your hard disk (Figure~\ref{graph:file-copy}, - \ifnum \Status = 1 - on the right% - \else\ifnum \Status=2 - at the bottom% - \else - on the right% - \fi\fi - ). All the files not - yet available on your local disk are first downloaded from the - remote source directory on the Internet. Then every package is - unpacked (if \path|.zip| files), or copied from the \CD{}. -\item[Configuration Page] Several packages need some configuration - step to make them usable (Figure~\ref{graph:configuration}, - \ifnum \Status = 1 - on the left% - \else\ifnum \Status=2 - at the top% - \else - on the left% - \fi\fi - ). Also the \TeXLive{} system needs some post-processing step - (format files generation, ls-R databases generation, environment - variables, etc.). All these operations are done there, some of them - can be lengthy. -\begin{figure*}[!htb] - \textbf{Review Page}\hfill% - \textbf{File Copy Page} - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% - \includegraphics[width=.48\textwidth]{../pictures/file-copy} - \else - \ifnum \Status=2 - \includegraphics[bb=0 0 506 403]{../pictures/review-settings.jpg}\hfill% - \includegraphics[bb=0 0 506 403]{../pictures/file-copy.jpg} - \else - \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% - \includegraphics[width=.48\textwidth]{../pictures/file-copy}% - \fi - \fi - \end{center} - \caption{Review Page / File Copy Page} - \label{graph:review}\label{graph:file-copy} -\end{figure*} -\item[Final Page] The installation being over, you may want to display - the Windows specific documentation (HTML format) and / or the log - file of the setup process (Figure~\ref{graph:final} - \ifnum \Status = 1 - on the right% - \else\ifnum \Status=2 - at the bottom% - \else - on the right% - \fi\fi - ). If it is needed (Win9x/WinME), you will - be asked to reboot your computer. -\end{description} - -\begin{figure*}[!htb] - \textbf{Configuration Page}\hfill% - \textbf{Final Page} - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% - \includegraphics[width=.48\textwidth]{../pictures/congratulations} - \else - \ifnum \Status=2 - \includegraphics[bb=0 0 506 403]{../pictures/configuration.jpg}\hfill% - \includegraphics[bb=0 0 506 403]{../pictures/congratulations.jpg} - \else - \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% - \includegraphics[width=.48\textwidth]{../pictures/congratulations}% - \fi - \fi - \end{center} - \caption{Configuration Page / Final page} -\label{graph:configuration}\label{graph:final} -\end{figure*} - -Please be aware that the choice of cluster size on DOS disk -partitions can radically affect the size of your \TeX\ -installation. The support tree has hundreds of small files, and it is -not unusual for a complete installation to take up to four times the -amount of space used on the \CD. - - -\section{Windows maintenance and post-installation} - -\subsection{What's different in Windows?} - -The Windows version of \Webc{} has some specific features that should be -pointed out. - -\begin{description} -\item[\KPS{}] The hash-tables that \KPS{} builds are quite large for - the \TeXLive{}. In order to cut down the starting time of any - \KPS{}-enabled program, these hash-tables have been put in shared - memory. This way, when you chain the execution of several such - programs, like \path|tex| calling \path|mpost| calling \path|tex|, - the overhead when starting each of the subprograms is - reduced. This change is hidden to the user, except if you set the - debug flag of kpathsea to the \path|-1| value: you will then trace - access to the shared memory, which is not what you want (it is - accessed very often!). What is useful in a log trace of the shared - memory access is still to be defined, so the situation might evolve - in the future. -\item[\cmdname{kpsecheck}] This command provides some options that did - not fit well into \cmdname{kpsewhich}. It will allow you to list all - the files that occur multiple times across your texmf trees. This - could be handy, but most of the time you will also get unwanted - output (like dozens of \path|README| files)\footnote{It is noticeable - that all these files result in clashes inside the \KPS{}-hashing - mechanism; fortunately, \KPS{} never looks for these files.}. For - this reason, you can combine the \path|-multiple-occurences| with 2 - other options for including or excluding any filename that match - some pattern (you can request for several patterns). - - The \cmdname{kpsecheck} command will also report the status of shared - memory: in use or not used. That might be useful to know because if - the status reported is \samp{in use}, that means one or several - processes are working, and the effect of any \cmdname{mktexlsr} - command will be delayed until the next time where no \KPS{} linked - process will be running. - - Last, this same command will report about the location it thinks - Ghostscript can be found. Under Win32, for many programs, it is - easier to use the Ghostscript dll, and find it by using the - Ghostscript registry key than to change the \path|PATH|, which has a - limited length anyway. -\item[\Webc{}] The engines have a few more options than in Unix - \Webc{}, and one option with a different behaviour: - \begin{itemize} -%% \item the \path|-fmt| option behaves differently. Previously and -%% with the regular \Webc{} distribution, this option has 2 different -%% meanings when you are in ``ini'' or ``vir'' mode. Under Win32, it -%% has the same meaning: preload the format file specified with the -%% argument. The meaning of building a format of such name in ini -%% mode is obtained by the new \path|-job-name| option. -%% \item \path|-job-name| option: allows to set the name of the file -%% resulting from the compilation process. In normal mode, it will -%% change the base name of all files produced (\path|.dvi|, -%% \path|.aux|, etc.), while in ini mode, it will set the name of -%% the format file written. - \item \path|-halt-on-error| stop the compilation at the first error. - \item \path|-job-time| set the job time to the same timestamp as the - file given in argument. -\item \path|-oem| use the DOS codepage for console output. - \item \path|-output-directory| allow to write all the output files in the - specified directory. - \item \path|-time-statistics| print statistics about the job run - time. It is to be noted that Win9x not being a true multitasking - operating system, it has no reliable timer for short periods, so - the value printed is an approximation. Under NT/2K/XP, the result - is quite accurate with user time and system time values allocated - for this run. For Unix - users: the \path|time| command is not usually available to Windows - users. - \end{itemize} -\end{description} - -\subsection{Adding packages to your installation} - -You will find an option in the \guiseq{TeXLive} menu (or go to -\guiseq{Start\arw Programs \arw TeXLive \arw Add TeX package} menu) to -run \file{TeXSetup.exe} in maintenance mode. The steps are almost the -same as in the initial installation. - -We'll discuss differences below, but first, whatever changes you make, -\textbf{do not forget to rebuild the ls-R database files}. Otherwise, -your new files will not be found. You can do this either via the -\acro{GUI} (\guiseq{Start \arw Programs \arw TeXLive \arw Maintenance -\arw Rebuild ls-R}), or manually running the \file{mktexlsr} command. - -The main difference is in the packages selection page. In maintenance -mode, the list of installed packages is compared to the list of packages -available from your source directories. Packages that are not installed -will be displayed in green, out of date packages will be displayed in -red and up-to-date, installed packages are displayed in black. - -This way, you can choose to add or upgrade components, either from -\TeXLive{} or from the Internet, where you are likely to find some more -recent version of your packages. - -It is up to you to select which packages you want to install. The rest -of the process is similar to the first installation. - -If you want to add files that are not provided by the \TeXLive{} (or -\fpTeX{}) distribution, it is recommended to put them in the -\path|$TEXMFLOCAL| directory. This way, you will be safe against -upgrades of the \TeXLive{} software. - -The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, -for example, you want to add the support file for the Maple symbolic -computation program, you will have to put the style files in:\\ -\path|c:\Program Files\TeXLive\texmf-local\tex\latex\maple\|\\ and the -documentation files in:\\ \path|c:\Program -Files\TeXLive\texmf-local\doc\latex\maple\| - -\subsection{Uninstalling \protect\TeXLive{}} - -The uninstall procedure is available either from the \file{TeXLive.exe} -program, from the \path|TeXLive| menu or from the control panel -(\guiseq{Start \arw Control Panel, Add/Remove Programs}). This procedure -will cleanup your hard disk of most of the \TeXLive{} files. However, -\TeX{} is a system that is creating files and there is no mechanism to -keep track of all of them. Moreover, Win32 support packages have their -own uninstall procedure, which you will have to run separately (provided -you want to get rid of them). Last, the files you may have stored in -\path|$TEXMFLOCAL| won't be removed. So, even if the vast majority of -files are automatically removed by the uninstall procedure, you will -have to do some manual cleanup to actually remove all of them. - -\subsection{Running \texttt{TeXSetup.exe} from the command line} - -The \path|TeXSetup.exe| program has a number of other useful -options. You can get the list by running: -\begin{verbatim} -c:\>TeXSetup --help -\end{verbatim} - -Here is the description: -\begin{description} -\item[\path|--automatic-reboot|] reboot without waiting user - confirmation once installation is over; -\item[\path|--dry-run|] do nothing, just log everything that will be - done without this option; -\item[\path|--quick|] use the recommended installation and default - directories, ask nothing up to rebooting; -\item[\path|--with-xemtex|] selects the \XEmTeX{} bundle; -\item[\path|--net-method (=ie5/direct)|] enable to download components with - restricted licenses from the Internet (either using direct - connection of Internet Explorer 5 DLLs): you need to have an available - network connection and some of the packages are huge; -\item[\path|--remote-source-directory |] this is the base url for the remote packages; -\item[\path|--local-source-directory

|] by default, \path|TeXSetup.exe| - will guess the root directory of the set of files you want it to act on, if you ever - upgrade \path|TeXSetup.exe|, you won't be able to copy the new version - onto your \CD{}, so you will need to use this option to specify the - root of the \CD{}; -\item[\path|--installation-directory |] this is the root of your - installation, all files will be copied under this location. The - default value is \verb+c:\Program Files\TeXLive+; -\item[\path|--texmfmain-directory |] -\item[\path|--texmflocal-directory |] -\item[\path|--texmfextra-directory |] -\item[\path|--texmfhome-directory |] -\item[\path|--vartexmf-directory |] -\item[\path|--vartexfonts-directory |] these are the directories - used to configure the location of your files. They map directly to - the \path|texmf.cnf| variables. -\item[\path|--with-source-files(=yes/no)|] copy the source files - for \TeX{} packages, default value is no; -\item[\path|--with-documentation-files(=yes/no)|] copy documentation files for \TeX{} - packages. Default value is yes. Beware: this is only documentation about specific - packages, general documentation will be installed anyway; -\item[\path|--program-folder |] the name of the folder under - which you will find the menus; -\item[\path|--add-package |] this is used to add or update a specific - package after a first regular installation; -\item[\path|--scheme |] install the named scheme instead of the - default \path|texlive-recommended| scheme; -\item[\path|--maintenance|] mostly the same as \path|--add-package| - without specifying a package to add; -\item[\path|--uninstall|] this option will remove anything \TeX{} related coming from - the \CD{}, which means there can be files left if you added style - files or format files, and also that supplementary tools will not be - removed. This option is still a bit crude in this release; -\item[\path|--help|] this option opens up a box with the list of options. -\end{description} - -\subsection{Network installation} - -\KPS{} knows about UNC names, so you can use them to get your TEXMF -tree from the network. But there is better than this. -All the support files and configuration files, everything except the files in the -\path|bin/win32| are shareable with a \teTeX{} or Unix \TeXLive{} installation. That means -you can use Samba either to mount from an NT server to a Unix -workstation or the converse. Several strategies are possible: -\begin{itemize} -\item Put everything on the server. Just add each set of files for the os and -architecture you want to use in the \path|bin| directory. That means -for example \path|bin/win32| and \path|bin/i386-linux|. Next configure -your main variables. You can use UNC names to -point to the right directories under Win32. -\item Install a local copy for the binaries and format files. In this - case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that - will be accessed remotely. Set \path|$VARTEXMF| to be a local - directory which will hold local configuration files and on-the-fly - generated files. -\end{itemize} - -\subsection{Personal configurations} - -\subsubsection{Dvips} - -The configuration file for dvips can be found in\\ -\verb+C:\Program Files\TeXLive\texmf-var\dvips\config\config.ps+\\ -You may open it with any editor - %(\cmdname{WinShell} will do fine) - and change some parameters: - -\begin{description} -\item [fonts] you can change the default printer \MF{} mode or printer - resolution in case \cmdname{dvips} needs to generate PK fonts. By default it - is configured to use Type~1 versions of the CM fonts, so it should - not call \cmdname{mktexpk} too often; -\item[printer] you can tell dvips where you want to print by default. If - the \optname{o} option is not followed by a printer name, then a - \file{.ps} \PS{} file is written. You can give dvips a printer - name such as: -\begin{verbatim} -o lpt1: -% o | lpr -S server -P myprinter -% o \\server\myprinter -\end{verbatim} -\item[paper] Next, you might want - to change the paper size from European (A4) to US letter - by making the US letter the first paper size mentioned in the file. - Scroll to the group of lines beginning with \code{@}. Move - the appropriate lines so that this section begins with the lines:\\ -\hspace*{1em} @ letterSize 8.5in 11in\\ -\hspace*{1em} @ letter 8.5in 11in\\ -\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ -\hspace*{1em} @+ letter\\ -\hspace*{1em} @+ \%\%EndPaperSize -\end{description} - -The current \TeXLive{} distribution implements the procedure of making -always up-to-date fontmaps files for Dvips and Pdftex. This is done by -the \cmdname{updmap} program during installation, as well as during any -font package addition. If you add new packages by hand, edit the file -\verb+updmap.cfg+ in \path|$VARTEXMF/web2c|. - -\subsubsection{Pdftex} - -If you use the program pdf{}latex to write \acro{PDF} format directly, -and you are using \acro{US} letter-size paper, edit the file -\verb+C:\Program Files\TeXLive\texmf-var\pdftex\config\pdftex.cfg+ and -change \samp{page\_width} and \samp{page\_height}. These entries should read: -\begin{alltt} -page_width 8.5 true in -page_height 11 true in -\end{alltt} -Save the file and exit the editor. - -\subsubsection{GSView} -GSView is now distributed under the Aladdin License, and therefore is no longer included in -\TeXLive{}. - -If you may want to change the page size to US letter size. If so, open -GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. - -Also, there are menu settings that are supposed to give you the most -readable screen image. On \guiseq{Media \arw Display Settings}, set both -\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. - -Note that the installation process has set all \code{.ps} and -\code{.eps} files to automatically open with \cmdname{GSView}. - -For printing instructions, see section~\ref{printing} below. - -\subsubsection{WinDvi} -\label{sub:windvi} - -The \file{TeXSetup.exe} program takes care of associating the files -with the \file{.dvi} extension with \file{Windvi}. - -Open it with \guiseq{Start\arw Programs\arw TeXLive\arw DVI Viewer}. - -You can set it for US letter-size paper by going to \guiseq{View\arw -Options\arw Papertype} and selecting US (8.5\verb+"+ x 11\verb+"+) (and -then \optname{OK}. Exit \cmdname{windvi}. - -You can change other parameters from there as well, such as the ability -to execute system commands specified by the document (disabled by -default for security reasons). Also, the first time you view any .dvi -file, you may find the magnification too large. Zoom out until you get -an appropriate size. - -%There are two important parameters related to printing that can't yet -%be set from the dialog boxes, namely the resolution and the \MF{} mode -%for the printer. You can set them once for all by specifying them on -%the command line: -%\begin{verbatim} -%c:\>windvi -p 360 -mfmode canonbjc foo.dvi -%\end{verbatim} -%When you will exit Windvi, these parameters will be stored in the -%configuration file. The available modes are found in this file:\\ -%\path|c:\Program Files\TeXLive\texmf\metafont\misc\modes.mf| - -All configuration settings for \cmdname{Windvi} are stored in a file -named \path|windvi.cnf| file. You can find it by running this command at -the prompt: -\begin{verbatim} -c:\>kpsewhich --expand-var $HOME/windvi.cnf -\end{verbatim} - -Should you have problems with \cmdname{Windvi}, please remove the configuration -file and test your problem against a vanilla configuration. - -\subsection{Testing} - -For generic verification procedures, see section~\ref{sec:test-install} -on p.~\pageref{sec:test-install}. This section describes -Windows-specific tests. - -Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), -found in \path|C:\Local\TeX\texmf\tex\latex\base|. The \LaTeX\ source -should appear on the screen. Process it by clicking on the -\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar -(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} -menu (XEmacs) or Preview (Windvi) icon (WinShell). - -At first, when you preview files with Windvi, 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. - -\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ -cannot find a file, you can press Ctrl-z to quit. - - -\subsection{Printing} -\label{printing} - -It is possible to print from Windvi. In this case, printing will be done -using the Windows unified printer driver. By definition, it is -compatible with all printers. However, there is some drawback: it can -generate some huge spool files, and some (older) versions of Windows -just don't like them. The advantage is that you can use features like -embedding BMP or WMF images. You also need to make sure that the printer -parameters are correctly set (subsection~\ref{sub:windvi}), else you -will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer -will give you only one quadrant of your page). - - -Printing is faster and more reliable if you run \cmdname{dvips} to make -a \filename{.ps} file and then print from \cmdname{GSView}. In -\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} -window will appear. - -If you are using a \PS{} printer, \textit{be sure to select -\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box -at the bottom left of the \guiseq{Print} window. You can then select any -of the printers that you have previously installed. If you fail to -check the box for \optname{\PS{} Printer}, printing will not work. - -If you will be using your own non-\PS{} printer, select -\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click -on the button to the right labelled \guiseq{djet500} and select your -printer type from the list that pops up. (In the older version of -\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} -selected, then select your printer type from the \guiseq{Device} list.) - -%If you use \cmdname{WinShell} and a \PS{} printer, probably the -%most convenient way to print is to add an icon to the \cmdname{WinShell} -%toolbar that invokes dvips in a way that sends the output directly to a -%default printer. For detailed instructions on how to do this, see -%the next section. - -%% \subsection{\cmdname{WinShell}} -%% \label{winshell:more} - -%% \subsubsection{Configuring \cmdname{WinShell}} -%% \label{sec:winshell} - -%% Start this program from the Start menu or from the Desktop shortcut. -%% Go to \guiseq{Options \arw Program Calls}. - -%% \begin{itemize}\itemsep 0pt -%% \item In the DVIWin tab, if the filename is \filename{yap}, replace it -%% with \filename{windvi.exe}. -%% \item In the Ghostview tab, make sure it gives the correct path for -%% gsview32.exe:\\ -%% \hspace*{1em} \verb+C:\ghostgum\gsview\gsview32.exe+ (for 3.6, the -%% current version)\\ -%% or \\ -%% \hspace*{1em} \verb+C:\gstools\gsview\gsview32.exe+ (for the older -%% version) - -%% \end{itemize} - -%% Click \guiseq{OK}. - -%% Note that the install process sets all files with the \texttt{.tex} -%% extension to open with \cmdname{WinShell}. Unless you plan to use another editor -%% (such as WinEdt or Emacs), this is appropriate. - -%% Unfortunately, \cmdname{WinShell} does not have a spell-checking -%% feature. However, if you have installed the \path|tex-extrabin| -%% collection, your installation includes \cmdname{Ispell} (a spell -%% checking program found on most Unix systems). The executable is in your -%% PATH so \verb+ispell.exe+ will be found if you invoke it from a DOS -%% window. If you installed documentation, look at \path|C:\Program -%% Files\TeXLive\texmf\doc\html\manpages\ispell.html|for information on -%% Ispell. (Otherwise, you can find \verb+ispell.html+ on the CD.) If you -%% rely on spell checking, you may want to add an Ispell icon to -%% \cmdname{WinShell}. See subsection~\ref{winshell:ispell} of this -%% document for how to do that. - -%% For an excellent commercial (but inexpensive) spelling checker, -%% see \url{http://www.microspell.com}. - -%% \cmdname{WinShell} also has on-line help, which you can access via the -%% $\textbf{\underbar{?}}$ on the menu bar. - -%% Other information about using \cmdname{WinShell} can be found in -%% section \ref{winshell:more} on p.~\pageref{winshell:more}. - - -%% \subsubsection{Installing Bug Fixes} - -%% \cmdname{WinShell}'s author (\href{mailto:idb@winshell.de}{Ingo de Boer}, -%% thanks to him) sometimes releases beta versions of the next \cmdname{WinShell} -%% version which are also bug fixes. You can grab them from -%% \url{http://www.winshell.de}. Usually they are \file{.zip} files that -%% only require to be unpacked in \cmdname{WinShell} directory (\path|c:\Program -%% Files\WinShell| by default), either using WinZip or a similar tool, or -%% by using \file{unzip} on the command line. If you got some -%% \file{winshellbugfix.zip} file and that you saved it in the \cmdname{WinShell} -%% directory, then you need to run: -%% \begin{verbatim} -%% c:\>cd c:\"Program Files"\WinShell -%% c:\>c:\local\bin\unzip winshellbugfix.zip -%% \end{verbatim} -%% Say \optname{yes} if you are asked if some files should be overwritten. The -%% \path|unzip.exe| programme can be found in the -%% \path|support/gnu-utils| package. If you -%% do not have it on your machine, you can use any archiver tool like -%% WinZip to achieve the same effect. - -%% \subsubsection{The \cmdname{Project} feature: organizing many files} - -%% If your document is split into several files (for example a thesis), -%% look into \cmdname{WinShell}'s \cmdname{Project} feature. From the -%% \guiseq{Project} menu, you give the project a name (e.g., \code{Thesis}), -%% supply the name of the main (or root) file, and then \code{add} other -%% files. These filenames display on the left of the screen where you can -%% double click the names to view and switch between them. Clicking the -%% \guiseq{\LaTeX} icon always processes the main file. - -%% Note the icons on the toolbar for toggling the project space (on the left) -%% and the log space (at the bottom). If you are not using the Project -%% feature, you may want to toggle off the space on the left, using the full -%% screen width to display your file. - -%% \subsubsection{Printing from \cmdname{WinShell} to a \PS{} Printer} -%% \label{winshell:print} - -%% The Dvips icon on the \cmdname{WinShell} toolbar puts the \PS{} output -%% in a file, which you can then view with GSView and print from there if -%% you choose. However, it's convenient to add a \cmdname{WinShell} -%% ``program call'' to dvips which sends the output directly to a -%% designated \PS{} printer. The steps below show how to do this for the -%% printer \optname{vclw}; you should substitute the name of your most -%% frequently-used printer. -%% \begin{enumerate} -%% \item Make the program aware of the printer: -%% \begin{itemize} - -%% \item Open \cmdname{WinShell}, go to \guiseq{Options\arw Program -%% Calls\arw User defined}. - -%% \item Click on \guiseq{Tool 1} in the list on the right and fill in the -%% fields to the left as follows:\vspace{-6pt} -%% \begin{quote} -%% Name: \verb+Print+\\ -%% exe file: \verb+dvips+\\ -%% cmd-line: \verb+ -D600 %m -o vclw+\\ -%% Uncheck the box for \guiseq{DVIPS first} -%% \end{quote}%\vspace{-12pt} -%% \item Click \guiseq{OK} -%% \end{itemize} -%% \item Add \guiseq{Print} to the toolbar: -%% \begin{itemize} -%% \item Go to \guiseq{Options\arw View\arw Customize}. -%% \item In the \guiseq{Category} box, select \guiseq{User-Programs}. -%% \item Select \guiseq{Print} and drag it to the toolbar, placing it just to -%% the right of the \cmdname{GSView} icon. -%% \item You then have a choice of \guiseq{Image only}, \guiseq{Text only}, -%% or \guiseq{Image and Text}. The easiest is to select \guiseq{Text only} -%% and click \guiseq{OK}. You should then see \guiseq{Print} on the -%% toolbar. (If you prefer, you can select \guiseq{Image only\arw Edit}, -%% and edit the displayed picture to your satisfaction.) -%% \end{itemize} -%% \end{enumerate} -%% Now, to print a \LaTeX\ document, just click on the \guiseq{Print} icon -%% to send to your selected printer. To use a different printer, you will -%% need to click on the \guiseq{Dvips} icon to print to a file. Then click -%% on the \cmdname{GSView} icon and use \cmdname{GSView} to send to any -%% printer you have installed on your \acro{PC}. - -%% \subsubsection{Adding Ispell to \cmdname{WinShell}} -%% \label{winshell:ispell} -%% \begin{enumerate} -%% \item Add Ispell to User Tools: -%% \begin{itemize} -%% \item Open \cmdname{WinShell}, go to \guiseq{Options\arw Program -%% Calls\arw User defined}. -%% \item In the list on the right, click on \guiseq{Tool~1} (or -%% \guiseq{Tool~2} if you have already used \guiseq{Tool~1}) and fill in -%% the fields to the left as follows:\vspace{-6pt} -%% \begin{quote} -%% Name: \verb+Ispell+\\ -%% exe file: \verb+ispell+\\ -%% cmd-line: \verb+ -t -d american %c.tex+\\ -%% Uncheck the boxes for \guiseq{LaTeX first} and \guiseq{DVIPS first} -%% \end{quote} -%% \item Click \guiseq{OK}. -%% \end{itemize} - -%% \item Add Ispell to the toolbar: -%% \begin{itemize}\itemsep 0pt -%% \item Go to \guiseq{Options\arw View\arw Customize}. -%% \item In the \guiseq{Category} box, select \guiseq{User-Programs}. -%% \item Select \guiseq{Ispell} and drag it to the toolbar, placing it just to -%% the right of the \cmdname{GSView} icon (or the last icon you added). -%% \item You then have a choice of `\guiseq{mage only}, \guiseq{Text only}, -%% or \guiseq{Image and Text}. The easiest is to select \guiseq{Text only} -%% and click \guiseq{OK}. You should then see \guiseq{Ispell} on the -%% toolbar. (If you prefer, you can select \guiseq{Image only\arw Edit}, -%% and edit the displayed picture to your satisfaction.) -%% \end{itemize} -%% \end{enumerate} -%% Now, when you have a \LaTeX\ document open, you can click on -%% \guiseq{Ispell} to perform spell checking. Ispell will open another -%% window and display the first misspelled word on the left with the -%% filename on the right. Below that you will see the context in which the -%% misspelling appears; often several suggestions for replacements are also -%% displayed. To replace the word, enter the number corresponding to the -%% desired replacement. Other possible responses are listed below; for -%% example, you can press the space bar to ignore the misspelled word. For -%% more information on Ispell, read the manual page: -%% \verb+C:\Program Files\TeXLive\texmf\doc\html\manpages\ispell.html+. - -%% Note that when you replace a word, you will not see the correction in -%% your \cmdname{WinShell} window until you close the file (click the -%% \guiseq{X} in the upper right corner) and then open it again (use the -%% \guiseq{File} menu). - -\subsection{Tips and tricks for Win32} - -\subsubsection{Different flavors of Win32} - -What we call Win32 is not an operating system by itself. It is a large -set of functions (around 12,000 in the header files of the Microsoft -\acro{SDK}) that you can use to write programs for different operating -systems of the Windows family. - -Windows comes in different flavors: -\begin{itemize} -\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, - multithreading} environments. They are the latest\Dash and hopefully - last\Dash metamorphosis of \acro{DOS}. This can be more or less proven - by the fact that when booting, the PC will load the \path|command.com| - interpreter, and if you stop the boot process at this point, you can - ask for the current (\acro{DOS}) version and it will answer something - like \samp{MS-DOS 7.0} (at least for the old versions of Win9x). -\item Windows \acro{NT}, which is a new operating system written from - scratch, capable of true multitasking behaviour, and including many - high level features. -\item Windows 2000, based on \acro{NT}, with all the bells and - whistles of Win98. -\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is - the last step in merging both lines of products (Win9x based and - \acro{NT} based). \acro{XP} is based on \acro{NT}. -\end{itemize} - -Win9x are able to run 32~bits programs and 16~bits programs -concurrently. But the operating system by itself is not entirely -written in 32~bits mode, and does not support memory protection: 16bits -applications can overwrite parts of the operating system memory! Some -parts of the system like the \acro{GDI} (Graphical Device Interface) -manage limited resources like bitmaps, fonts, pens and so on for the set -of all programs that run concurrently. All the bitmaps headers available -at the same time can't amount for more than 64kB. This explains the -performance tool and the fact that you can put your system on his knees -by making intensive use of graphic objects for example. - -NT, 2K and XP do not suffer from these limitations, and neither from -other Win9x limitations. They are true multitasking environments, with -protected memory. They are much more responsive than Win9x because -of better memory management, better file system and so on. - -\subsubsection{Command line prompt} - -You may wonder, ``Why would I need to use a command line prompt when -I have Windows?'' - -Good question. The problem is of very general nature. Not all operations -can be done easily using only a \acro{GUI}. Command line gives you -programming power\Dash assuming a clever command interpreter. - -But the problem here is more fundamental: \TeX{} is \emph{a batch} -tool. Not an interactive one. \TeX{} needs to compute the best -layout for each page, resolve cross-references and so on. This can be -done only by a global processing of the document. It is not (yet) a -task that can be done interactively. - -This means that you should use \TeX{} from a command line. In fact the -situation is not so bad. There is an advantage to write command line -tools for complex processing: they are better debugged, because they are -independent of any \acro{GUI} problems, and \acro{GUI} tools can be -designed to interface to the command line tools. This is the case for -\TeX{}, where you will mostly interact with it through a \acro{GUI} text -editor. - -However, you may need to use the command line prompt in a number of -situations. One is when you are having difficulties and want to debug -your setup. - -\begin{description} - \item[Win9x] You can open a command line prompt by looking either for - the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, - or by choosing \guiseq{Start\arw Run} menu typing in - \path|command.com| as the progrm name. - \item[NT, 2K, XP] You can open a command line prompt by looking for - \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. - You can also choose \guiseq{Start\arw Run} and type in - \path|cmd.exe|, which is the name of the brand new command - interpreter for \acro{NT} (thus, it is untrue to call this a - \emph{DOS} box!). -\end{description} - -These locations may change across different Windows versions. - - -\subsubsection{Path separators} - -The Win32 API understands both \path|/| and \path|\| characters as PATH -separators. But the command interpreters do not! So whenever a path name -is used programmatically, you can use both separators, and even mix them -up in the same path name. But on the command line, you must type -\path|\| as path separator. The reason is compatibility: the command -processor used \samp{/} to introduce arguments to commands. - -All this to say: do not be surprised to read path names written using -the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible -across platforms. For this reason, all the configuration files that -need to specify path names use the Unix convention. - -\subsubsection{File systems} -\label{sec:clusters} - -The worst feature of Win9x with regard to \TeX{} is probably the -so-called FAT file system. \TeX{} uses many many small files, with size -around 1--3kB. The \acro{FAT} file system is old, and predates by -decades the multi-gigabytes hard disks we have today. As a result, it -cannot manage efficiently the tens of thousands of \TeX{} files found in -\TeXLive{}. The \acro{FAT} file system allocates a minimum of 32kB for -\emph{any} file on a huge partition. It means that \TeX{} will use much -more disk space than it actually needs. - -The other, more modern, file systems available, \acro{FAT32} and -\acro{NTFS}, do not have this drawback. They manage clusters of 4kB -only. (You can lower the limit to 512 bytes on \acro{NTFS}.) - -\subsubsection{How to add some directory to your PATH} - -There are pairs of variables and values which behave much like global -variables inside your programs. The set of those variables is called the -environment. Each program is initialized with a copy of the -environment when it is run. It can request and change the -value of any variable. The changes happen in the copy of the -environment, and is not at all propagated to the other running -programs. - -Your PATH is a special environment variable used to search for -programs you want to run. -There is a different procedure to change it for Win9x, WinME and NT/2K/XP: - -\begin{description} -\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line - starting with \texttt{PATH=} and followed by a list of directories separated - by \path|;|. Please add the directory with the executables in this line. - After this, this line could look as follows: -\begin{verbatim} -PATH=c:\windows;c:\windows\system;c:\"Program Files"\TeXLive\bin\win32 -\end{verbatim} -\item[Windows ME] You need to run the special program - \path|c:\windows\system\msconfig.exe| to be able to change any - environment variable. From this program, select the `Environment' - tab, and then add or modify the variable you want. You will be asked to reboot the - machine upon any change. -\item[Windows NT/2K/XP] - Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the - window with the control panel icons opens. Double click on System. The - System Properties window opens. Click on the tab \textsf{Environment} - or look for a button named \guiseq{Environment Variables} among the - dialog boxes. Now you can change the environment variables for your - user account. Note: There are also displayed the environment settings - for the system. Normally, you can't change the system variables - unless you have administrator rights on your machine. If you want to - change the \texttt{PATH} for all users, you will have to contact your - system administrator or be the system administrator yourself\Dash in - the latter case you should know what you are doing. - - If there is already a \texttt{PATH} setting for your user account, - left click on \texttt{PATH}. In the field \textsf{Variable} appears - \texttt{PATH} while the field Value shows the current setting of - \texttt{PATH} as a list of directories separated by \path|;|. Add - the directory where the executables are located (e.g. - \path|c:\Program Files\TeXLive\bin\win32|). If there isn't a \texttt{PATH} variable - for your user account, simply click in the field Variable and type - in \texttt{PATH}, click in the field \textsf{Value} - and type in the directory with the executables. Important: Click on - the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the - changes to \texttt{PATH} won't apply to your system. Be careful when - changing the environment settings. -\end{description} - -The best way to be sure that a variable has been properly set is to -open a console and type: -\begin{verbatim} -set VARIABLE -\end{verbatim} -which should return the corresponding value. - -\subsubsection{\TeX{} engines} - -If you have a look at the \Webc{} documentation, you will read that all -the various \TeX{} derived programs use the same base engine. For -example, \path|tex.exe| and \path|latex.exe| are exact copies of the -same program, but each one will use a different format file, based on -its calling name. - -Under Unix, this feature is implemented through \emph{symbolic -links}. It saves up a bit of disk space, because some engines are -used with many different format files. - -The Win32 API does not know about file links. So to save up almost -the same amount of memory, all the \TeX{} base engines have been put -in DLLs (\emph{Dynamic Linked Library}). This means that you will have -the following layout: -\begin{alltt} -13/05/2002 17:06 3 584 latex.exe -13/05/2002 17:06 266 240 tex.dll -13/05/2002 17:06 3 584 tex.exe -\end{alltt} -and the \path|latex.exe| file is nothing but a rough copy of -\path|tex.exe| using the same core \path|tex.dll|. -The same trick has been used for the \path|mktex*.exe| family of programs which are -linked to the \path|mktex.dll| library. - -In fact, a generic tool called \path|lnexe.exe| is provided to build the -equivalent of Unix hard links for executable files only under Win32. - -\subsection{In case of problems} -\label{sec:troubleshooting} - -\subsubsection{What to do if \texttt{latex} does not find your files?} - -\begin{itemize} - -\item \cmdname{kpsewhich} is the tool of choice to debug any -problem. Unfortunately, \cmdname{kpsewhich} outputs debug information -to stderr, and the Windows console does not know how to redirect stderr -to a file\footnote{Well, NT and Win2k consoles know how to do that. But -the trick will work for any console.}. For diagnostic purposes you can -temporarily set an environment variable (in a \acro{DOS} box): - -\begin{verbatim} -SET KPATHSEA_DEBUG_OUTPUT=err.log -\end{verbatim} -You can also set the debug level: -\begin{verbatim} -SET KPATHSEA_DEBUG=-1 -\end{verbatim} - -If you want to redirect stderr to stdout, which is not possible -Windows, then do: -\begin{verbatim} -SET KPATHSEA_DEBUG_OUTPUT=con: -\end{verbatim} -This way you can capture both stdout and stderr in the same file. - -\item Assuming the installation has been done in \path|c:/Program Files/TeXLive|, check - the following values: \\ - {\small - \begin{tabular}{ll} - \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/Program Files/TeXLive| \\ - \path|kpsewhich -expand-path $TEXMF| & \path|c:/Program Files/TeXLive/texmf| \\ - \path|kpsewhich -expand-path $TEXMFCNF| & - \path|.;c:/Program Files/TeXLive/texmf/web2c;| \\ - & \path|c:/Program Files/TeXLive/bin/win32;| \\ - & \path|c:/Program Files/TeXLive/bin;| \\ - & \path|c:/Program Files/TeXLive| \\ - \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/Program Files/TeXLive/texmf/tex//| - \end{tabular} -} -\item If you have other \TeX{}-related values already set in your - environment, please, remove them. They are overriding the ones in - texmf.cnf. -\item Check the values from:\\ -{\small - \begin{tabular}{ll} - \texttt{kpsewhich cmr10.tfm} & \path|c:/Program Files/TeXLive/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ - \texttt{kpsewhich latex.fmt}& \path|c:/Program Files/TeXLive/texmf/web2c/latex.fmt| - \end{tabular} -} -\item At this point, if everything is correct, \TeX{} and friends - should work. If it is not the case, you will need to play with - the \path|-debug=n| option from \path|kpsewhich|, and check back all - the values. Try to identify and report the problem. -\end{itemize} - -\subsubsection{What to do if your setup still does not work as expected?} - -Here are several questions to investigate: - -\begin{enumerate} -\item Is \file{tex.exe} in my \path|PATH|? - -\item Is the \path|TEXMFCNF| variable correctly set to -\path|c:/Program Files/TeXLive/texmf-var/web2c| (default value)? - -\item Are there any errors in the log file generated by the -\file{TeXSetup.exe} program? You can find this by searching for the -string \samp{Error}. - -\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? -(Unlikely, but it doesn't hurt to check.) - -\item Check the web pages at -\url{http://www.fptex.org/}, or consider subscribing to the \fpTeX{} -mailing list, via \url{http://tug.org/mailman/listinfo/fptex}. - -\end{enumerate} - - -The \TeXLive{} software consists of hundreds and programs and tens of -thousands of files, all from varying sources. So it is quite difficult to -predict all possible causes for problems. Nevertheless, we will do our -best to help you. (see section~\ref{sec:help} on p.~\pageref{sec:help}.) - - -\subsection{Compiling the source files} - -You have the whole set of source files, in the -\path|source/source.tar.bz2| archive available in the distribution together with -a patch file for Win32. To -be able to compile the whole distribution for Windows, you will need: - -\begin{itemize} -\item Windows 2K/XP -\item Microsoft Visual Studio .Net 2003 -\item a set of Unix tools (\texttt{sed}, - \texttt{grep}, \texttt{gawk}, etc.) and also Perl, Flex and Bison, -\item to adjust the paths in the - \path|win32/make/common.mak| file according to your installation -\item to adjust the paths in the Perl script file - \path|win32/perl/build.pl|, -\item run the compilation from the \path|mswin32/| directory using this - command: -\begin{verbatim} -c:\texlive\source\mswin32>perl ./perl/build.pl --install --log=install.log -\end{verbatim} -\end{itemize} - -There is a lot of work to do to make this process easier and cleaner. - -\subsection{Where to get more information} - -The Windows \TeX{} system included on \TeXLive{} is also known as -\fpTeX. The packaging differs, but \fpTeX{} is no more no less than the -current \TeXLive\ release for Windows. - -The \fpTeX{} home page is \url{http://www.fptex.org}. - -The current \fpTeX release is available from any \CTAN site in -\url{htp://www.ctan.org/tex-archive/systems/win32/fptex}. - -The main ftp site for \fpTeX\ is \url{ftp://ftp.dante.de/pub/fptex/} -from where beta versions of \fpTeX\ and additionnal tools are available. -This main site is (partially) mirrored daily by all \CTAN{} sites at -\path|systems/win32/fptex|. - -The \TeX{} Users Group is kindly hosting a mailing list dedicated to -\fpTeX. It is used for announcements, bug reports, enhancement requests, -and general discussion about \fpTeX. To subscribe, visit -\url{http://tug.org/mailman/listinfo/fptex}. The mailing list -address is \email{fptex@tug.org}. - - -\section{A user's guide to \protect\Webc{}} - -\Webc{} is an integrated collection of \TeX-related programs: \TeX{} -itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TeXLive{}. - -A bit of history: The original implementation was by Tomas Rokicki who, -in 1987, developed a first \TeX{}-to-C system adapting change files -under Unix, which were primarily the 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. - -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 \web{} and translates them into C source -code. The core \TeX{} programs are: - -\begin{cmddescription} -\item[bibtex] Maintaining bibliographies. -\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). -\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[makempx] \MP{} label typesetting. -\item[mf] Creating typeface families. -\item[mft] Prettyprinting \MF{} source. -\item[mpost] Creating technical diagrams. -\item[mpto] MetaPost label extraction. -\item[newer] Compare modification times. -\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 \acro{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{}. 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 more than one directory tree -simultaneously, which is useful in maintaining \TeX's standard -distribution and local extensions in two 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{\protect\KPS\ path searching} - -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{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{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{Debugging}). - -\subsubsection{Config files} - -\begingroup\tolerance=3500 -\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} (by default such a file lives -in the \file{texmf/web2c} subdirectory). \emph{All} -\file{texmf.cnf} files in the search path will be read and definitions -in earlier files override those in later files. Thus, with a search -path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those -from \verb|$TEXMF/texmf.cnf|. -\endgroup - -\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} - \emph{variable}[.\emph{progname}] [=] \emph{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{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{Default-expansion} - -\tolerance=2500 -If the highest-priority search path (see ``Path sources'' on -page~\pageref{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 - -\tolerance=1500 - -\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 can be used to implement multiple \TeX{} hierarchies, by -assigning a brace list to \code{\$TEXMF}. -For example, in \file{texmf.cnf}, you find -the following definition: -\begin{verbatim} - TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$VARTEXMF,!!$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{\$HOMETEXMF/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$VARTEXMF/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{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 summarises the meaning of special characters -in \KPS{} configuration files. - -\newcommand{\CODE}[1]{\makebox[2.5em][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. -\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`\{\dots\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{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{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); most sites have only one hierarchy. \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} && ls -LAR ./ >ls-R -\end{alltt} -presuming your system's \code{ls} produces the right output format -(\acro{GNU}'s \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 for changes in the installed files\Dash perhaps after installing or -updating a \LaTeX{} package\Dash the file \file{ls-R} is automatically -updated. - -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{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 more important 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 - found in the first column of Table~\ref{tab:kpathsea}, which lists - currently recognized names, a description, possible file extensions, - and associated environment variables. -\end{ttdescription} - - -\def\KpathKey#1#2#3#4#5{% name, number, description, variables, - % suffixes -\SetRowColor#1 & #3 & #4 & #5\\} -\def\HEAD#1{\multicolumn{1}{l}{\emph{#1}}} -% -\begin{small} -% a footnoterule immediately under a bottom-of-page rule looks dead -% silly, so we suppress it -\renewcommand\footnoterule{\relax} -% -\begin{longtable}{@{}% - >{\ttfamily}P{.16\textwidth}% Col.1 - P{.3\textwidth}% Col 2 - >{\ttfamily\footnotesize}P{.29\textwidth}% Col 3 - >{\ttfamily}P{.14\textwidth}% Col 4 -@{}} -\caption{Kpathsea file types.}\label{tab:kpathsea}\\ -\emph{Name} & \HEAD{Description} & \HEAD{Variables} -& \HEAD{Suffixes}\\ -\hline -\endfirsthead -\multicolumn{3}{l}{Kpathsea file types \emph{continued}}\\ -\emph{Name} & \HEAD{Description} & \HEAD{Variables} -& \HEAD{Suffixes}\\ -\hline -\noalign{\vspace{2pt}} -\endhead -\mbox{}\\ -\hline -\endfoot -\KpathKey - {afm} - {4} - {Adobe font metrics} - {AFMFONTS} - {.afm} -\KpathKey - {base} - {5} - {Metafont memory dump} - {MFBASES, TEXMFINI} - {.base} -\KpathKey - {bib} - {6} - {\BibTeX{} bibliography source} - {BIBINPUTS, TEXBIB} - {.bib} -\KpathKey - {} - {2} - {bitmap fonts} - {GLYPHFONTS, TEXFONTS} - {} -\KpathKey - {bst} - {7} - {\BibTeX{} style files} - {BSTINPUTS} - {.bst} -\KpathKey - {cnf} - {8} - {Runtime configuration files} - {TEXMFCNF} - {.cnf} -\KpathKey - {dvips config} - {34} - {\textsf{dvips} configuration files, e.g., \file{config.ps} - and \file{psfonts.map}} - {TEXCONFIG} - {.map} -\KpathKey - {fmt} - {10} - {\TeX{} memory dump} - {TEXFORMATS, TEXMFINI} - {.fmt, .efmt, .efm} -\KpathKey - {gf} - {0} - {generic font bitmap} - {GFFONTS} - {.gf} -\KpathKey - {graphic/figure} - {25} - {Encapsulated \PS{} figures} - {TEXPICTS, TEXINPUTS} - {.eps, .epsi} -\KpathKey - {ist} - {35} - {\textsf{makeindex} style files} - {TEXINDEXSTYLE, INDEXSTYLE} - {.ist} -\KpathKey - {ls-R} - {9} - {Filename databases} - {TEXMFDBS} - {} -\KpathKey - {map} - {11} - {Fontmaps} - {TEXFONTMAPS} - {.map} -\KpathKey - {mem} - {12} - {MetaPost memory dump} - {MPMEMS, TEXMFINI} - {.mem} -\KpathKey - {mf} - {13} - {Metafont source} - {MFINPUTS} - {.mf} -\KpathKey - {mfpool} - {14} - {Metafont program strings} - {MFPOOL, TEXMFINI} - {.pool} -\KpathKey - {mft} - {15} - {MFT style file} - {MFTINPUTS} - {.mft} -\KpathKey - {} - {41} - {miscellaneous fonts} - {MISCFONTS} - {} -\KpathKey - {mp} - {16} - {MetaPost source} - {MPINPUTS} - {.mp} -\KpathKey - {mppool} - {17} - {MetaPost program strings} - {MPPOOL, TEXMFINI} - {.pool} -\KpathKey - {MetaPost support} - {18} - {MetaPost support files, used by DMP} - {MPSUPPORT} - {} -\KpathKey - {ocp} - {19} - {\OMEGA{} compiled process files} - {OCPINPUTS} - {.ocp} -\KpathKey - {ofm} - {20} - {\OMEGA{} font metrics} - {OFMFONTS, TEXFONTS} - {.ofm, .tfm} -\KpathKey - {opl} - {21} - {\OMEGA{} property lists} - {OPLFONTS, TEXFONTS} - {.opl} -\KpathKey - {otp} - {22} - {\OMEGA{} translation process files} - {OTPINPUTS} - {.otp} -\KpathKey - {ovf} - {23} - {\OMEGA{} virtual fonts} - {OVFFONTS, TEXFONTS} - {.ovf} -\KpathKey - {ovp} - {24} - {\OMEGA{} virtual property lists} - {OVPFONTS, TEXFONTS} - {.ovp} -\KpathKey - {pk} - {1} - {packed bitmap fonts} - {\emph{program}FONTS \textrm{(\texttt{\emph{program}} being - \textsmaller{\cmdname{XDVI}}, - etc.)}, PKFONTS, TEXPKS, GLYPHFONTS, TEXFONTS} - {.pk} -\KpathKey - {\PS{} header} - {30} - {downloadable \PS{}} - {TEXPSHEADERS, PSHEADERS} - {.pro, .enc} -\KpathKey - {tex} - {26} - {\TeX{} source} - {TEXINPUTS} - {.tex, .cls, .sty, .clo, .def} -\KpathKey - {TeX system documentation} - {27} - {Documentation files for the \TeX{} system} - {TEXDOCS} - {} -\KpathKey - {TeX system sources} - {29} - {Source files for the \TeX{} system} - {TEXSOURCES} - {} -\KpathKey - {texpool} - {28} - {\TeX{} program strings} - {TEXPOOL, TEXMFINI} - {.pool} -\KpathKey - {tfm} - {3} - {\TeX{} font metrics} - {TFMFONTS, TEXFONTS} - {.tfm} -\KpathKey - {Troff fonts} - {31} - {Troff fonts, used by DMP} - {TRFONTS} - {} -\KpathKey - {truetype fonts} - {36} - {TrueType outline fonts} - {TTFONTS} - {.ttf, .ttc} -\KpathKey - {Type~1 fonts} - {32} - {Type 1 \PS{} outline fonts} - {T1FONTS, T1INPUTS, TEXPSHEADERS, DVIPSHEADERS} - {.pfa, .pfb} -\KpathKey - {type42 fonts} - {37} - {Type 42 \PS{} outline fonts} - {T42FONTS} - {} -\KpathKey - {vf} - {33} - {virtual fonts} - {VFFONTS, TEXFONTS} - {.vf} -\KpathKey - {web2c files} - {38} - {\Webc{} support files} - {WEB2C} - {} -\KpathKey - {other text files} - {39} - {text files used by `\textsf{foo}'} - {FOOINPUTS} - {} -\KpathKey - {other binary files} - {40} - {binary files used by `\textsf{foo}'} - {FOOINPUTS} - {} -\end{longtable} -\end{small} - - -\begin{multicols}{2} - - The last two entries in Table~\ref{tab:kpathsea} are special - cases, where the paths and environment variables depend on the name - of the program: the variable name is constructed by converting the - program name to upper case, and then appending \texttt{INPUTS}. - - The environment variables are set by default in the configuration - file \file{texmf.cnf}. It is only when you want to override one or - more of the values specified in that file that you might want to set - them explicitly in your execution environment. - - The \samp{-{}-format} and \samp{-{}-path} options are mutually - exclusive. - -\begin{ttdescription} - -\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{SExamplesofuse} - -Let us now have a look at \KPS{} in action. Here's a straightforward search: - -\begin{alltt} -> \Ucom{kpsewhich article.cls} -/usr/local/texmf/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} root -directory. Similarly, all of the following are found without problems -thanks to their unambiguous suffix. -\begin{alltt} -> \Ucom{kpsewhich array.sty} - /usr/local/texmf/tex/latex/tools/array.sty -> \Ucom{kpsewhich latin1.def} - /usr/local/texmf/tex/latex/base/latin1.def -> \Ucom{kpsewhich size10.clo} - /usr/local/texmf/tex/latex/base/size10.clo -> \Ucom{kpsewhich small2e.tex} - /usr/local/texmf/tex/latex/base/small2e.tex -> \Ucom{kpsewhich tugboat.bib} - /usr/local/texmf/bibtex/bib/beebe/tugboat.bib -\end{alltt} - -The latter 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 on our system (since we use the Type~1 versions included in \TeXLive{}). -\begin{alltt} -> \Ucom{kpsewhich ecrm1000.pk} -\ifSingleColumn /usr/local/texmf/fonts/pk/ljfour/jknappen/ec/ecrm1000.600pk -\else -/usr/local/texmf/fonts/pk/ljfour/jknappen/ -... ec/ecrm1000.600pk -\fi\end{alltt} -For the extended Computer Modern files 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 ecrm1000.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. In fact, a program like \cmdname{dvips} or \cmdname{xdvi} would -go off and actually build the \texttt{.pk} files at the required -resolution 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 -prolog \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}. 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/config/config.ps -> \Ucom{kpsewhich psfonts.map} - /usr/local/texmf/dvips/base/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/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 --format="dvips config" utm.map} -/usr/local/texmf/dvips/psnfss/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 ... \Ucom{kpsewhich utmr8a.pfb} -\ifSingleColumn /usr/local/texmf/fonts/type1/urw/utm/utmr8a.pfb -\else /usr/local/texmf/fonts/type1/ -...urw/utm/utmr8a.pfb -\fi\end{alltt} - -It should be evident from these few 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{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 the \file{ls-R} - database, 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. -\end{ttdescription} -A value of \texttt{-1} will set all the above options; in practice, -this is usually the most convenient value touse. - -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 -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/html/dvips/dvips_toc.html}). -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{SExamplesofuse} 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 -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 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, - ... - -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 -[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 \TeXLive{} 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} (compare the generic value - and the huge one instantiated by \texttt{hugetex}, - etc.). -\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 TFM files read. -\item[\texttt{hash\_extra}] - Additional space for the hash table of control sequence names. - Approximately 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. You can see that both the - \cmdname{hugetex} and \cmdname{pdflatex} program invocations ask for - an extra 15,000 control sequences (the default value of - \texttt{hash\_extra} is zero). -\end{ttdescription} - -\noindent Of course, this facility is no substitute for truly dynamic -arrays and memory allocation, but since this is extremely difficult to -implement in the present \TeX{} source, these runtime parameters provide -a practical compromise allowing some flexibility. - - -\section{Building on a new Unix platform} - -If you have a platform for which we have not created executables, you -will need to compile \TeX{} and friends from scratch. 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 \acro{GNU} version of these programs -(\cmdname{gcc}, \acro{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 \TeXLive{} to your disk (see -section~\ref{sec:unix-install-disk} on -p.~\pageref{sec:unix-install-disk}). You may wish to skip installing -any 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} & \acro{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: \acro{GNU} \cmdname{make} always uses the string \samp{***} -whenever a command fails. Also, check if all the programs were built: - -\begin{alltt} -> \Ucom{cd \emph{TEXDIR}/bin/\emph{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} -on p.~\pageref{sec:postinstall}. - - -\section{Last words} - -This edition of \TeXLive{} is edited by Sebastian Rahtz, with the major -contributors being Fabrice Popineau, who has worked away unceasingly at -the Windows part of the package (especially the setup!)\ and contributed -in many different ways with ideas, advice and code, and Staszek -Wawrykiewicz, who provided great testing feedback, and co-ordinated the -Polish contributions. - -Kaja Christiansen performed a vital role in endless recompilations on -assorted Unix platforms. Vladimir Volovich did great work on cleaning -the source and making other improvements, while Gerben Wierda did all -the work for \MacOSX. - -\subsection{Acknowledgements} - -\TeXLive{} is a joint effort by virtually all \TeX{} Users Groups. In -particular, we are very grateful for past and present help from: - -\begin{itemize} - -\item The German-speaking \TeX{} Users (\acro{DANTE} e.V.), who provide -the hardware the \TeXLive{} source repository; and Rainer Sch\"opf and -Reinhard Zierke who look after it. \acro{DANTE} president Volker Schaa -coordinated production with the Lehmann's Bookstore -(\url{http://www.lob.de}). - -\item The Perforce corporation (\url{http://www.perforce.com}), for providing -a free copy of their excellent change management system, which we use to -manage. - -\item Karl Berry, who provided the original \Webc{} distribution, and -has continued to give invaluable advice, encouragement, and help. - -\item Mimi Burbank, who arranged access at the Florida State University -School of Computational Science and Information Technology to a slew of -different computers to compile \TeX{} on, and acted as an essential -guinea-pig whenever asked. - -\item Thomas Esser, without whose marvellous \teTeX{} package \TeXLive{} -would certainly not exist, and whose continual help makes it a better -product. - -\item Michel Goossens, who co-authored the documentation. - -\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} -version of this documentation, and who worked tirelessly to improve -it at short notice. - -\item Petr Olsak, who coordinated and checked all the Czech and Slovak -material very carefully. - -\item Olaf Weber, for his patient assembly and maintenance of Web2c. - -\item Graham Williams, on whose work the catalogue of packages depends. - -\end{itemize} - -In addition, Gerhard Wilhelms, Volker Schaa, Fabrice Popineau, Janka -Chleb\'\i{}kov\'a, Staszek Wawrykiewicz, Erik Frambach, and Ulrik Vieth -kindly translated documentation at various times into their respective -languages, checked other documentation, and provided very welcome -feedback. - - -\subsection{Release history} -\label{sec:history} - -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 -\TeXLive. - -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 \TeXLive{} 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 \TeXLive{} 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. - -In 2003, with the continuing flood of updates and additions, we found -that \TeXLive{} 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:multiple-dist} on p.~\pageref{sec:multiple-dist}). 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 \TeXLive{} 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 8-bit input - characters as themselves in output (e.g., \verb|\write|) files, - log files, and the terminal, i.e., \emph{not} translated using the - \verb|^^| notation. In \TeXLive{}~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: \TeXLive{} 2003. -\end{itemize} - - -\subsection{Future releases} - -\emph{\TeXLive{} is not perfect!} (And never will be.) We intend to -continue to release new versions yearly, and would like to provide more -help material, more utilities, more installation programs, and (of -course) an ever-improved and checked tree of macros and fonts. This work -is all done by hard-pressed volunteers in their limited spare time, and -a great deal remains to be done. If you can help, don't hesitate to put -your name forward! - -Please send corrections, suggestions, and offers of help to:\hfill\null -\begin{quote} -Sebastian Rahtz \ / \ 7 Stratfield Road \ / \ Oxford OX2 7BG \ / \ UK \\ -\email{tex-live@tug.org} \\ -\url{http://tug.org/texlive} -\end{quote} - -\medskip -\noindent \textsl{Happy \TeX'ing!} - -\end{multicols} -\end{document} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/live-2004.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/live-2004.tex deleted file mode 100644 index 10e50ee5832..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/live-2004.tex +++ /dev/null @@ -1,3854 +0,0 @@ -% $Id$ -% 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} -\begin{document} - -\title{% - {\huge \textit{The \protect\TL{} Guide}\\\strut} - {\LARGE \textsf{\TK{} 2004}} -} - -\author{Sebastian Rahtz \& Karl Berry, editors \\[3mm] - \url{http://tug.org/texlive/} - } - -\date{November 2004} - -\maketitle - -\begin{multicols}{2} -\tableofcontents -\listoftables -\end{multicols} - -\section{Introduction} -\label{sec:intro} - -This document describes the main features of the \TL{} software -distribution\Dash a \TeX{} and \LaTeX{} distribution for Linux and other -Unix flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is -not especially useful for older Mac or \acro{MS-DOS} systems.) - -\TL{} includes precompiled binaries for \TeX{}, \LaTeXe{}, \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. It is part of the even larger \TK{} -(briefly described below in section~\ref{sec:struct-tl}, -\p.\pageref{sec:struct-tl}), a cooperative effort by the \TeX\ user -groups. - -For newer versions of the packages included here, please check -\acro{CTAN}: \url{http://www.ctan.org} - -For a brief summary of the major changes in this edition of \TL{}, -see section~\ref{sec:history} (\p.\pageref{sec:history}). - - -\subsection{Basic usage of \protect\TL{}} -\label{sec:basic} - -You can use \TL{} in three principal ways: - -\begin{enumerate} - -\item You can run \TL{} directly from the \DVD -(see section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). -This takes almost no disk space, as you might expect, and gives you -immediate access to everything in \TL{}. Of course performance -will be worse than running on local disk, but you may well find it -acceptable. - -\item You can install all or part of \TL{} to a local disk. This -is the most common use of \TL. You will need (approximately) a -minimum of 100 megabytes, 310 megabytes for a recommended system, and -730 megabytes for a full system. - -\item You can integrate a particular package or collection into your -existing \TeX{} system, either a \TL{} system you installed -earlier, or a different system. - -\end{enumerate} - -\noindent All of these are described in detail in the \acro{OS}-specific -installation sections following, but here is a quick start: - -\begin{itemize*} - -\item The main installation script for Unix and \MacOSX{} is -\texttt{install-tl.sh}; - -\item The single package installation script is \texttt{install-pkg.sh}. - -\item Unfortunately, this version of \TL{} has no Windows installer, due -to technical difficulties. See section~\ref{sec:win-install} below -for more information. - -\end{itemize*} - - -\subsection{Getting help} -\label{sec:help} - -The \TeX{} community is both active and friendly, and virtually all -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 forego \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-doc/doc/english/FAQ-en}, 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 list of all \TeX{}-related items. See -\OnCD{texmf-doc/doc/english/catalogue}, or -\url{http://www.ctan.org/tex-archive/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/groups?group=comp.text.tex} 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 for advice on asking questions -in such a way that you're most likely to get an 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{}, you are better off writing to that program's maintainer or -mailing list. - -\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. Welcome to -\TeX{}! - - -% 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{Structure of \protect\TeX\protect\ Live} -\label{sec:struct-tl} - -This section describes the structure and contents of \TL{} and the -\TK{} of which it is a part. - -\subsection{Multiple distributions: \protect\pkgname{live}, - \protect\pkgname{inst}, - \protect\pkgname{protext}} -\label{sec:multiple-dist} - -Space limitations of \acro{CD-ROM} format have forced us to divide -\TK{} into several distributions, as follows. - -\begin{description} - -\item [live] A complete system on \acro{DVD}; it is too large -for \acro{CD}. It can be run live or installed to disk. It also -includes a snapshot of the \CTAN{} repository, entirely independent of -\TL{}, as well as assorted other packages in a -\texttt{texmf-extra} directory. - -Unfortunately, this release of \TL{} does not include a Windows -installer, due to technical difficulties. (We hope there will be an -installer again in a few months.) Therefore, when the \DVD{} is mounted -on Windows, the setup program offers to start the \pkgname{protext} -installation (see below), and also mentions \CTAN{} and \TL{}, which are -in subdirectories of the top level of the \DVD{}. - -\CTAN{} and \texttt{texmf-extra} do not follow the same copying -conditions as \TL{}, so be careful when redistributing or -modifying. - -\item [inst(allable)] A complete system on \CD; in order to make this fit, -the packages and programs are compressed. Therefore, it is not possible -to run \TeX\ directly from the installable \CD, you have to install it -to disk (hence its name). Furthermore, it can only be installed on Unix -(including Linux, \MacOSX, etc.)\ systems, not Windows, although a set -of experimental Windows binaries is included (for sharing across -platforms). Installation is described in subsequent sections. - -\item [protext] An enhancement of the \MIKTEX\ system, 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. It can be run live, or installed to disk. -The \ProTeXt\ home page is \url{http://tug.org/protext}. - -\ProTeXt\ is provided as both the top level of the \pkgname{live} \DVD\ -and on its own \CD\ (for those who cannot use the \DVD). - -\end{description} - -\noindent You can tell which type of distribution you're in by looking -for a \texttt{00\var{type}.TL} file at the top of the \TL{} directory. -This file also contains the \TL{} release date. - -Naturally, each user group chooses what to distribute, at its own -discretion. (\acro{TUG} is sending all three discs above to all of its -members.) - - -\subsection{Top level directories} -\label{sec:tld} - -Here is a brief listing and description of the top level directories in -the \TL{} distribution. This has changed considerably in 2004: the -single \texttt{texmf} tree has been split into several smaller trees. - -Also, on the \pkgname{live} \DVD, the entire \TL{} hierarchy is in a -subdirectory \dirname{texlive2004}, not at the top level of the disc. - -\smallskip -\begingroup - \renewcommand{\arraystretch}{1.3} % open up interrow spacing -\begin{tabular}{>{\ttfamily}lp{.78\hsize}} -bin & The \TeX{} system programs, arranged by platform. \\ -MacOSX & Supporting software for \MacOSX (see - section~\ref{sec:mac-install}, \p.\pageref{sec:mac-install}). \\ -source & The source of all programs, including the main \Webc{} - \TeX{} and \MF{} distributions. These are stored in a - \cmdname{bzip2}-compressed tar archive. \\ -support & Assorted auxiliary packages and programs. These are - \emph{not} installed automatically. This includes - assorted editors and \TeX\ shells. \\ -texmf & Tree for the programs, along with their support files and - documentation. Does not include \TeX\ formats and packages. \\ -texmf-dist & The main tree of formats and packages. \\ -texmf-doc & Tree for self-contained pure documentation, with no other - installed files.\hfil\break Arranged by language. \\ -texmf-var & Tree for files automatically generated and stored. \\ -xemtex & The \cmdname{XEmacs} editor and other support programs for - Windows. - These programs generally come pre-installed on Unix systems, or are - at least easy to compile. \\ -\end{tabular} -\endgroup - -\smallskip - -In addition to the directories above, the installation scripts and -\filename{README} files (in various languages) are at the top level of -the distribution. - -The (new) \dirname{texmf-doc} directory contains only documentation, but -it does not contain all the documentation. The documentation for the -programs (manuals, man pages, Info files) is in \dirname{texmf/doc}, -since the programs are in \dirname{texmf}. Similarly, the documentation -for \TeX\ packages and formats is in \dirname{texmf-dist/doc}. You can -use the \cmdname{texdoc} or \cmdname{texdoctk} programs to find any -documentation wherever it's located. The comprehensive links in the -top-level file \OnCD{doc.html} may also be helpful. - - -\subsection{Extensions to \protect\TeX} -\label{sec:tex-extensions} - -\TL{} contains several extended versions of \TeX: - -\begin{description} - -\item [\eTeX] adds a small but powerful 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] writes Acrobat \acro{PDF} format as well as \dvi{}. The -\LaTeX{} \pkgname{hyperref} package has an option `\optname{pdftex}' -which turns on all the program features. See -\OnCD{texmf/doc/pdftex/manual/pdftex-a.pdf} (A4 paper) or -\OnCD{texmf/doc/pdftex/manual/pdftex-l.pdf} (letter paper), and -\OnCD{texmf/doc/pdftex/examples/example.tex}. - -\item [pdfe\TeX] combines the pdf\TeX\ and \eTeX\ extensions. This is -the default program for all formats except plain \TeX. -See above for documentation. - -\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. See -\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). - -\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. -See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. - -\end{description} - - -\subsection{Other notable programs in \protect\TL} - -Here are a few other commonly-used programs included in \TL{}: - -\begin{cmddescription} - -\item [bibtex] bibliography support. - -\item [makeindex] 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 [dv2dt, dt2dv] convert \dvi{} to/from plain text. - -\item [dviconcat, dviselect] cut and paste pages -from \dvi{} files. - -\item [dvipdfm] convert \dvi{} to \acro{PDF}, an alternative approach -to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and -\pkgname{pdftricks} packages for still more alternatives. - -\item [psselect, psnup, \ldots] \PS{} -utilities. - -\item [lacheck] \LaTeX{} syntax checker. - -\item [texexec] Con\TeX{}t and \acro{PDF} processor. - -\item [tex4ht] \TeX{} to \acro{HTML} converter. - -\end{cmddescription} - - -\section{Unix installation} -\label{sec:unix-install} - -As introduced in section~\ref{sec:basic} (\p.\pageref{sec:basic}), -\TL{} has three principal uses: - -\begin{enumerate} -\item Run directly from media. -\item Install to disk. -\item Integrate a particular package or collection into your existing -\TeX{} installation. -\end{enumerate} - -\noindent The following sections describes the Unix-specific procedures -for each of these. - -\ifSingleColumn \begin{figure}[ht]\noindent \fi -\begin{warningbox} -\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) -format, \emph{with} Rock Ridge (and Joliet, for Windows) -extensions. Therefore, in order to take full advantage of the \TK{} -under Unix, your system needs to be able to use the Rock Ridge -extensions. Please consult the documentation for your \cmdname{mount} -command to see how to do this. If you have several different machines -on a local network, you may be able to mount the \CD{}s on one which -does support Rock Ridge, and use this with the others. - -\leavevmode\quad Linux, \acro{BSD}, Sun, and \acro{SGI} -systems should be able to use the \CD{}s without problems. We -would appreciate receiving detailed advice from users on other systems -who succeed, for future versions of this documentation. - -\leavevmode\quad -The discussion below assumes you have been able to mount -the \CD{}s with full Rock Ridge compatibility. -\end{warningbox} -\ifSingleColumn\end{figure}\fi - - -% -\subsection{Running \protect\TL{} directly from media (Unix)} - -\def\runlive{% text repeated in windows section -It is possible to use the \TeX{} system directly from the \pkgname{live} -\DVD{}, without installing the distribution to disk. (Thus the name -\TeX\ `Live', in fact.) It is \emph{not} possible to run \TeX{} -directly from the other \CD s (see section~\ref{sec:multiple-dist}, -\p.\pageref{sec:multiple-dist}). -} - -\def\startinst{% repeated in other subsections -To start, you mount the \CD{} or \DVD{}, with Rock Ridge extensions -enabled. The exact command to do this varies from system to system; the -following works under Linux, except the name of the device -(\filename{/dev/cdrom}, here) may vary. (All our examples will use -\texttt{>} as the shell prompt; user input is -\Ucom{\texttt{underlined}}.) -\begin{alltt} -> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} -\end{alltt} - -\noindent Change the current directory to the mount point: -\begin{alltt} -> \Ucom{cd /mnt/cdrom} -\end{alltt} - -\noindent Under \MacOSX, the directory is typically under -\dirname{/Volumes}, and the media will be mounted automatically. - -Run the installation script \filename{install-tl.sh}: -\begin{alltt} -> \Ucom{sh install-tl.sh}\\ -Welcome to TeX Live... -\end{alltt} - -\noindent After various greeting messages and a list of the main menu -options, the installation will ask you to enter a command. Do this by -typing the desired character and hitting return; don't type the angle -brackets. Either uppercase or lowercase is ok; we'll use lowercase in -our examples. -} - -\runlive -\startinst - -For running live, our first command will be \Ucom{d} and then the -subcommand \Ucom{1} to set directories. Even in this case, we must -choose a directory on the local disk to place files that the \TeX{} -system itself generates, such as fonts and formats, and also to provide -a place for updated configuration files, if need be. We'll use -\dirname{/usr/local/texmf-local} in this example. (If the default value -of \dirname{/usr/TeX} works for you, then you can skip this step.) -\begin{alltt} -Enter command: \Ucom{d} -Current directories setup: -<1> TEXDIR: /usr/TeX -... -Enter command: \Ucom{1} -New value for TEXDIR [/usr/TeX]: \Ucom{/usr/local/texmf-local} -... -Enter command: \Ucom{r} -\end{alltt} - -\noindent Back at the main menu, our second and last command is -\Ucom{r}, to set up for running live off the media without installing -to disk: -\begin{alltt} -Enter command: \Ucom{r} -Preparing destination directories... -... -Welcome to TeX Live! -> -\end{alltt} - -\noindent And we are back at the system prompt, as shown. - -Next, it is necessary to alter two environment variables: -\envname{PATH}, to an architecture-dependent value (so that we can run -the programs), and \envname{VARTEXMF}, to the value specified above. See -table~\ref{tab:archlist} for a list of the architecture names for the -different systems. - - -\def\textruntexconfig{% -After the main installation has completed, and environment variables -have been set, the last step is to run \cmdname{texconfig} to customize -your installation for your needs. This is explained in -section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. -} -\textruntexconfig - -\begin{table*}[ht] -\caption[Supported system architectures.]{Supported system -architectures. In addition to the version-specific names listed here, -there are generic names without the version numbers. For instance, -\texttt{sparc-solaris} links to \texttt{sparc-solaris2.7}. The generic -names can be used to protect against the version numbers changing in the -future, if you wish.} -\label{tab:archlist} -\begin{tabular}{>{\ttfamily}ll} -alpha-linux & HP Alpha GNU/Linux \\ -%alphaev5-osf4.0d & HP Alphaev5 OSF \\ -%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 \\ -i386-freebsd4.10 & Intel x86 FreeBSD \\ -i386-linux & Intel x86 GNU/Linux \\ -%i386-openbsd3.3 & Intel x86 OpenBSD \\ -%i386-solaris2.8 & Intel x86 Solaris \\ -mips-irix6.5 & SGI IRIX \\ -powerpc-aix4.3.3.0 & IBM RS/6000 AIX \\ -powerpc-darwin6.8 & \MacOSX \\ -sparc-solaris2.7 & Sun Sparc Solaris \\ -sparc64-linux & Sun Sparc GNU/Linux \\ -win32 & Windows (32-bit) \\ -x86\_64-linux & Intel/AMD 64-bit GNU/Linux \\ -\hline -\end{tabular} -\end{table*} - -\label{text:path} -The syntax for setting the environment variables, and the initialization -file to put them in, depends on the shell you use. If you use a -Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et -al.), put the following into your \filename{$HOME/.profile} file: -\begin{alltt} -PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH -VARTEXMF=/usr/local/texmf-local/texmf-var; export VARTEXMF -\end{alltt} - -\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), -put the following into your \filename{$HOME/.cshrc} file: -\begin{alltt} -setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH -setenv VARTEXMF /usr/local/texmf-local/texmf-var -\end{alltt} - -\noindent Then log out, log back in, and test your installation -(see section~\ref{sec:test-install}, \p.\pageref{sec:test-install}). - -\def\textifindoubt{% -If in doubt, please ask any local system gurus to help you with -problems; for example, the way to mount the \TL{} media, which -directory or directories to use, and precise details of the changes to -your personal initialization files can and do vary from site to site. -} -\textifindoubt - - -% -\subsection{Installing \protect\TeX\protect\ Live to disk} -\label{sec:unix-install-disk} - -It is possible, indeed typical, to install the \TeX{} system from the -\TL{} to disk. This can be done either from any of the \TK{} discs. -(See section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}, -for an explanation of the different distributions.) - -\startinst - -Table~\ref{tab:main-menu-options} briefly lists the options in the main -menu. The order in which you select the options makes little -difference, except that \Ucom{i} must be last. It's reasonable to go -through them in the order presented here. - -% apparently here.sty [H] doesn't support table*. -\begin{table}[H] -\caption{Main menu options for the installation.} -\label{tab:main-menu-options} -\begin{tabular}{>{\ttfamily}ll} -p & The platform you are running on.\\ -b & The architectures for which to install binaries.\\ -s & The base installation scheme to use (minimal, recommended, - full, etc.)\\ -c & Override the base scheme for individual collections.\\ -l & Override for language collections.\\ -d & Directories in which to install.\\ -o & Other options.\\ -i & Perform the installation.\\ -\end{tabular} -\end{table} - -Here are further details on each option. - -\textbf{\optname{p} -- Current platform.} Since the installation script -automatically guesses which platform you're running on, it is generally -unnecessary to use this option. It's there in case you need to override -the automatic detection. - -\textbf{\optname{b} -- Binary architectures.} By default, only the -binaries for your current platform will be installed. From this menu, -you can select installation of binaries for other architectures as well -(or not install the current platforms). This can be useful if you are -sharing a \TeX\ tree across a network of heterogenous machines. For a -list of the supported architectures, see table~\ref{tab:archlist}, -\p.\pageref{tab:archlist}. - -\textbf{\optname{s} -- Base installation scheme.} From this menu, you -can choose an overall common set of packages, called a ``scheme''. The -default \optname{recommended} scheme suffices for typical needs, but you -can also choose the \optname{basic} scheme if you are low on disk space, -or \optname{full} to get absolutely everything. There are also specific -sets for Omega and \acro{XML}. - -\textbf{\optname{c} -- Individual collections.} From this menu, you can -override the base scheme's set of collections to install. Collections -are one level lower than schemes\Dash collections consist of -one or more packages, where packages (the lowest level grouping in \TL) -contain the actual \TeX\ macro files, font families, and so on. -In this menu, selection letters are case-sensitive. - -\textbf{\optname{l} -- Language collections}. This menu has the same -basic purpose as \Ucom{c}, to override the base scheme. In this case, -the collections are specifically for different languages. Selection -letters are case-sensitive here. Here is a list of the language -collections in \TL: - -% xx really should generate list from texmf/tpm/collection/tex-lang* -% a la install-tl.sh. -\begin{tabbing} -\hspace{.25\linewidth} \= -\hspace{.25\linewidth} \= -\hspace{.25\linewidth} \= -\hspace{.25\linewidth} \kill -(some) African scripts \> -Arabic \> -Armenian \> -Chinese\,Japanese\,Korean \\ -Croatian \> -Cyrillic \> -Czech/Slovak \> -Danish \\ -Dutch \> -Finnish \> -French \> -German \\ -Greek \> -Hungarian \> -Indic \> -Italian \\ -Latin \> -Manju \> -Mongolian \> -Norwegian \\ -Polish \> -Portuguese \> -Spanish \> -Swedish \\ -Tibetan \> -\acro{UK} English \> -Vietnamese \\ -\end{tabbing} - -\noindent Language collections typically include fonts, macros, -hyphenation patterns, and other support files. (For instance, -\pkgname{frenchle.sty} is installed if you select the \optname{French} -collection.) In addition, installing a language collection will alter -the \filename{language.dat} configuration file controlling which -hyphenation patterns are loaded. - -\textbf{\optname{d} -- Installation directories}. Three directories can -be changed here: -\label{text:instdir} - -\begin{ttdescription} -\item [TEXDIR] The top-level directory under which -everything else will be installed. The default value is -\dirname{/usr/TeX}, and is often changed. For example, changing to a -value such as \dirname{/usr/local/texlive2003} would make it possible to -keep different releases of \TL{} separate. (You may then wish to make -\dirname{/usr/local/texlive} a symbolic link, after testing the new -release.) - -Under \MacOSX, the usual frontends look for \TeX{} in -\dirname{/usr/local/teTeX}, so you may wish to install \TL{} there. - -\item [TEXMFLOCAL] This tree is where the \TeX{} system (not as part of -installation, but rather over time) puts non-version-specific files, -primarily fonts. The default value is \dirname{TEXDIR/texmf-local}. -However, it's also the recommended location to put any local packages or -configuration settings. Therefore, it's desirable to change it to a -location independent of the current \TL{} release; for example, -\dirname{/usr/local/texmf-local}. - -\item [VARTEXMF] This tree is where the system puts files that -\emph{are} version-specific, primarily format files and the -configuration files which are modified by \cmdname{texconfig} (see -section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}). The default -value is \dirname{TEXDIR/texmf-var}, and there's generally no reason to -change it. - -\end{ttdescription} - -\textbf{\optname{o} -- Other options.} From this menu, you can select -the following general options: - -\begin{ttdescription} -\item [a] Specify an alternate directory for generated fonts. -The default is to use the \envname{VARTEXMF} tree, as explained above. -Setting this is useful if you plan to mount the main tree read-only, and -therefore you need another location (perhaps host-specific) for -dynamically created fonts. - -\item [l] Create symbolic links for the binaries, man pages, -and\slash or \acro{GNU} Info files in other locations. For example, you may -wish to make the man pages available under \dirname{/usr/local/man} and -the Info files available under \dirname{/usr/local/info}. (Of course -you need appropriate privileges to write in the specified directories.) - -It is not advisable to overwrite a \TeX\ system that came with your -system with this option. It's intended more for having the links in -standard directories known to users, such as \dirname{/usr/local/bin}, -which don't already contain any \TeX\ files. - -\item [d] Skip installation of the font/macro documentation tree. -This is useful if you need to save space, or if you've previously -installed the documentation elsewhere. - -\item [s] Skip installation of the main font/macro source -tree. This is useful if you are arranging to share that tree between -machines and\slash or architectures in some other way, such as \acro{NFS}. - -\end{ttdescription} - -\textbf{i -- Perform installation.} When you're satisfied with your -configuration options, enter \Ucom{i} to actually do the installation -from the media to your chosen locations. - -% text is similar to above, but no VARTEXMF, so we have to write out. -After the installation completes, your next step is to include the -architecture-specific subdirectory of \dirname{TEXDIR/bin} in your -\envname{PATH}, so the newly-installed programs can be found. The -architecture names are listed in table~\ref{tab:archlist}, -\p.\pageref{tab:archlist}, or you can simply list the directory -\dirname{TEXDIR/bin}. - -The syntax for doing this, and the initialization file to use, depends -on your shell. If you use a Bourne-compatible shell (\cmdname{sh}, -\cmdname{bash}, \cmdname{ksh}, et al.), put the following into your -\filename{$HOME/.profile} file: - -\begin{alltt} -PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH -\end{alltt} - -\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), -put the following into your \filename{$HOME/.cshrc} file: -\begin{alltt} -setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH -\end{alltt} - -\textruntexconfig - -Here is a brief annotated example which selects a full installation, -with binaries for the current system only, with directory changes as -recommended above. The prompts and \acro{RETURN}s are omitted for -brevity. - -\begin{alltt} -> \Ucom{sh install-tl.sh} -\Ucom{s} \Ucom{b} \Ucom{r} # scheme, full, return to main -\Ucom{d} # change directories -\Ucom{1} \Ucom{/usr/local/texlive2003} # top-level dir -\Ucom{2} \Ucom{/usr/local/texmf-local} # TEXMFLOCAL outside TEXDIR -\Ucom{r} # return to main -\Ucom{i} # perform installation -> \Ucom{texconfig} ... -# New PATH, with Linux as the example: -> \Ucom{PATH=/usr/local/texlive2003/bin/i386-linux:$PATH; export PATH} -\end{alltt} - -\textifindoubt - - -% -\subsection{Installing individual packages to disk} - -You can add individual packages or collections from the current -distribution to an existing non-\TL{} setup, or an earlier -\TL{} installation. - -\startinst - -Run the installation script \filename{install-pkg.sh} (not -\filename{install-tl.sh}, which is intended for complete installations -only): -\begin{alltt} -> \Ucom{sh install-pkg.sh \var{options}} -\end{alltt} - -The first set of options controls what gets read: - -\begin{ttdescription} -\item [-{}-package=\var{pkgname}] The individual package to work on. - -\item [-{}-collection=\var{colname}] The individual collection to work on. - -\item [-{}-nodoc] Exclude documentation files from the operation. - -\item [-{}-nosrc] Exclude source files from the operation. - -\item [-{}-cddir=\var{dir}] Source directory to read from; defaults -to the current directory. If you followed the instructions above, that -will be the distribution directory, and won't need to be changed. - -\item [-{}-listdir=\var{dir}] The so-called `lists' directory within -\var{cddir} from which to read the package information. The only -reason to change the default is if you're making changes to \TL{} -yourself. - -\end{ttdescription} - -What actually happens is controlled by the following options. If -neither of these are specified, the default action is to install the -selected files. The main destination tree is found by expanding -\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by -setting either the environment variable \envname{TEXMFMAIN} or -\envname{TEXMF}. - -\begin{ttdescription} -\item [-{}-listonly] List the files that would be installed, but don't -actually install anything. - -\item [-{}-archive=\var{tarfile}] Instead of installing the files into -the \TeX{} system, make a \cmdname{tar} archive. - -\end{ttdescription} - -Additional options: - -\begin{ttdescription} - -\item [-{}-config] After installation, run \code{texconfig init}. - -\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to -rebuild the filename database. - -\item [-{}-verbose] Give more information as the script runs. - -\end{ttdescription} - -Here are some usage examples: - -\begin{enumerate} - -\item To see the files in the package \pkgname{fancyhdr} without -installing it: - -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} -\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} -> \Ucom{--listonly} -\fi{} -texmf/doc/latex/fancyhdr/README -texmf/doc/latex/fancyhdr/fancyhdr.dvi -texmf/doc/latex/fancyhdr/fancyhdr.pdf -... -\end{alltt} - -\item Install the \LaTeX{} package \pkgname{natbib}: -\begin{alltt} -> \Ucom{sh install-pkg.sh --package=natbib} -\end{alltt} - -\item Install the \LaTeX{} package \pkgname{alg} without source files or -documentation: -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} -\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} -> \Ucom{-{}-nosrc -{}-nodoc} -\fi\end{alltt} - -\item Install all the packages in the collection of additional -plain \TeX\ macros: -\begin{alltt} -> \Ucom{sh install-pkg.sh --collection=tex-plainextra} -\end{alltt} - -\item Write all files in the \pkgname{pstricks} package to a -\cmdname{tar} file in \path|/tmp|: -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} -\else -> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} -> \Ucom{-{}-archive=/tmp/pstricks.tar} -\fi\end{alltt} - -\end{enumerate} - -\textifindoubt - - -% -\section{Post-installation} -\label{sec:postinstall} - -After the main installation is done, for any operating system, the -remaining steps are to configure the system for your local needs, and -perform some basic tests. - -Another sort of post-installation is to acquire packages, fonts, or -programs that were not included in \TL{}. The basic idea is to -install such additions in the \envname{TEXMFLOCAL} tree (if you -installed to disk), or \envname{VARTEXMF} (if you are running live). -See the ``Installation directories'' option on \p.\pageref{text:instdir}. - -Unfortunately, the details can and do vary widely, and so we do not attempt to -address them here. Here are some external links to descriptions: -\begin{itemize*} -\item -\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} -\item -\url{http://www.ctan.org/installationadvice} -\item -\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} -\item -\url{http://www.ctan.org/tex-archive/info/Type1fonts} for font creation -and installation information in particular. -\end{itemize*} - - -\subsection{The \protect\cmdname{texconfig} program} -\label{sec:texconfig} - -At any time after installation, you can and should use the program -\cmdname{texconfig} to configure the system to fit your local needs. It -is installed in the architecture-specific subdirectory -\texttt{TEXDIR/bin/\var{arch}} along with everything else. - -If you run it without arguments, it will enter full-screen mode and -allow you to view and change options interactively. - -You can also run it with various command-line options. Here are some of -the most common (a \TL{} installation is configured for the A4 paper -size by default): - -\begin{ttdescription} - -\item [texconfig paper letter] Set default paper size for -various programs and drivers (\cmdname{pdftex}, \cmdname{dvips}, -\cmdname{dvipdfm}, \cmdname{xdvi}) to be \acro{US} letter. The other -allowable size is \optname{a4}, which is the default. - -\item [texconfig localsetup] Verify that paths are set ok. - -\item [texconfig rehash] Update all the \TeX{} system filename databases. - -\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. -(See also the main \TeX{} \acro{FAQ} in \OnCD{texmf-doc/doc/english/FAQ-en}.) - -\item [texconfig help] Output help information for \cmdname{texconfig}. - -\end{ttdescription} - -Of course, \cmdname{texconfig} can only support changing a few of the -many options and configuration parameters in a \TeX{} system. The main -configuration file for the base \Webc{} programs is named -\filename{texmf.cnf}. You can find its location by running -\samp{kpsewhich texmf.cnf}; it contains many comments explaining the -default settings and useful alternatives. - - -\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; 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.141592 (Web2C 7.5.3) -kpathsea version 3.5.3 -Copyright (C) 1997-2004 D.E. Knuth. -... -\end{alltt} -If this comes back with `command not found' instead of version and -copyright information, most likely you don't have the correct -\dirname{bin} subdirectory in your \envname{PATH}. See -the environment-setting information on \p.\pageref{text:path}. - -\item Process a basic \LaTeX{} file: -\begin{alltt} -> \Ucom{latex sample2e.tex} -This is pdfeTeXk, Version 3.141592... -... -Output written on sample2e.dvi (3 pages, 7496 bytes). -Transcript written on sample2e.log. -\end{alltt} -If this fails to find \filename{sample2e.tex} or other files, perhaps -you have interference from old environment variables or configuration -files. For a deep analysis, you can always ask \TeX{} to report on -exactly what it is searching for, and finding; see ``Debugging actions'' -on page~\pageref{Debugging}. - -\item Preview the result online: -\begin{alltt} -> \Ucom{xdvi sample2e.dvi} -\end{alltt} -(Under Windows, the analogous command is \cmdname{windvi}.) 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 the system.) -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} -Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently -included in \TL{}, so you must install them separately. See -\url{http://wwwthep.physik.uni-mainz.de/~plass/gv} and -\url{http://www.foolabs.com/xpdf}, respectively. - -\item Other standard test files you may find useful: - -\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} -You can process these in the same way as we did with -\filename{sample2e.tex}. - -\end{enumerate} - -If you are new to \TeX{}, or otherwise need help with actually -constructing \TeX{} or \LaTeX{} documents, please visit -\url{http://tug.org/begin.html}. We especially recommend the -\textsl{Formatting Information} manual by Peter Flynn, available at -\url{http://www.ctan.org/tex-archive/documentation/beginlatex}. - - -\section{\MacOSX{} installation} -\label{sec:mac-install} - -\TL{} supports \MacOSX, but no prior Macintosh versions. (If you -are running an older Mac version, you can view the files by installing -the Joliet system extension available from -\url{http://www.tempel.org/joliet}; however, the \TL{} binaries -will not run.) - -Installation of \TeX{} under \MacOSX{} can be done in two ways: - -\begin{enumerate} -\item With the \filename{install*} scripts, as with Unix. -\item With the \cmdname{i-Installer} included in -\filename{MacOSX/II2.dmg}. -\end{enumerate} - -\noindent Each of these is described in a following section. - -In addition, \TeX{} under \MacOSX\ typically uses a ``frontend''. This -is also described below. - - -\subsection{\protect\cmdname{i-Installer}: Internet installation} -\label{sec:i-Installer} - -The \cmdname{i-Installer} is included in the \TL{} distribution as -an alternative to normal installation. It does not use the contents of -the \TL{} distribution at all; instead, the system (approximately -70 megabytes) is downloaded over the Internet. - -One advantage of \cmdname{i-Installer} is that it makes updates -relatively painless. If you are interested, please see the -\cmdname{i-Installer} \TeX{} home page at \url{http://www.rna.nl/tex.html}. - -To use it, mount \filename{./MacOSX/II2.dmg}. Read the documentation, -launch it, and install at least \texttt{TeX Foundation} and \texttt{TeX -Programs}. The first will finish without configuration, as soon as the -second is installed you will be presented with a graphical interface to -setting up your \TeX{} system. - -The \cmdname{i-Installer} distribution uses the \teTeX{} \dirname{texmf} -tree with some additions. Due to differences between \TL{} and -\teTeX{} you cannot update a \TL{} installation with an -\cmdname{i-Installer} \texttt{TeX Programs} i-Package. - - -\subsection{\protect\cmdname{install*.sh}: \protect\TL{} installation} - -In order to run the installation scripts under \MacOSX, you need to have -the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 -or later, you have \cmdname{bash}, and can proceed. If you're running -an earlier \MacOSX{} version, however, the default shell is -\cmdname{zsh}, which won't work; you'll need to get \cmdname{bash} from -the Internet, or more likely upgrade your system. - -Once you have \cmdname{bash}, the Unix installation documentation in the -previous section can be followed. See section~\ref{sec:unix-install} on -\p.\pageref{sec:unix-install}; \MacOSX-specific notes are included there -where needed. - - -\subsection{\MacOSX{} frontends} - -Using \TeX{} on a Macintosh typically goes through a front end program, -comprising an execution shell, editor, previewer, and other facilities, -with a graphical interface. Here are the principal frontends: - -\begin{cmddescription} -\item [TeXShop] Included in \TL{} as \filename{./MacOSX/texshop.dmg}. - \\See \url{http://www.uoregon.edu/~koch/texshop/texshop.html}. - -\item [ITeXMac] Included in \TL{} as \filename{./MacOSX/iTM-*.dmg}. - \\See \url{http://itexmac.sourceforge.net}. - -\item [Mac-emacs] A port of Emacs to \MacOSX{}, integrating \pkgname{AucTeX}. - \\See \url{http://www.cs.man.ac.uk/~franconi/mac-emacs}. - -\end{cmddescription} - -The frontends use \dirname{/usr/local/teTeX} as the default location; -therefore, you must either install \TL{} there, or change the -configuration of the frontend. - - -\section{Windows installation} -\label{sec:win-install} - -Unfortunately, this release of \TL{} does not include a Windows -installer, due to technical difficulties. We hope that an installer -will be available again in a few months. (It is being completely -rewritten to use standard Microsoft libraries, instead of the homegrown -\filename{TeXSetup.exe}.) - -A set of experimental Windows binaries is included, nevertheless. You -can install them with the Unix \filename{install-tl.sh} script: select -the \optname{win32} system from the \optname{S} option of the top-level -menu. The \pkgname{XEmacs} package is not included, however, due to -space. - -(Meanwhile, if you are an experienced Windows programmer and would like -to help with the project, email us!) - - -\begin{comment} -\TL{} can be installed on systems running Windows 9x, \acro{ME}, -\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) -and \acro{MS-DOS} are not supported. - -It is necessary to have your Windows set up so that it uses the -Microsoft Joliet extensions for reading \CD{}s; simply look at the \CD{} -in Explorer and see whether it shows long, mixed-case, file names. If it -does not, you must install the Joliet extensions. - -The Windows \TeX{} system included in \TL{} is no more and no less -than the \fpTeX{} distribution. It includes a \texttt{dvi} previewer, -\textsf{Windvi}, which is similar in usage to the established Unix -\textsf{xdvi}. The documentation can be found in -\OnCD{texmf/doc/html/windvi/windvi.html}. - -\subsection{The \texttt{TeXLive.exe} program} - -\begin{figure*} - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.7\textwidth]{pictures/Welcome-to-TeXLive} - \else - \ifnum \Status=2 - \includegraphics[bb=0 0 551 534]{pictures/Welcome-to-TeXLive.jpg} - \else - \includegraphics[width=.7\textwidth]{pictures/Welcome-to-TeXLive} - \fi - \fi - \end{center} - \caption{``Welcome to \TL'' window}\label{graph:welcome} -\end{figure*} - -If your computer is configured to let the \CD{} autostart, then a dialog -box with a menu bar will popup on the screen, and you will have several -choices from there: - -\begin{itemize*} -\item Install \TeX{} on your hard disk -\item Do maintenance on your \TeX{} system. -\item Remove the \TeX{} system. -\item Use \TeX{} off the \TL{} \CD{} or \DVD{}. -\item Browse documentation: \TL{} documentation, TUG web - pages, \fpTeX web pages. -\item Run the \cmdname{TeXdocTK} application to find specific documentation. -\end{itemize*} - -If your \CD{} does not autostart, you can explicitly run the program -by double clicking on \path|bin/win32/TeXLive.exe| on the \CD{} from -the explorer window. - -\subsection{Running \protect\TL{} directly from media (Windows)} - -\runlive - -To run live under Windows, from the menu, chose \verb|Explore CD-Rom|, then -\verb|Run TeX off CD-Rom|. This will launch the \cmdname{XEmacs} editor. - -XEmacs startup file will set the environment variables needed. XEmacs will also -setup a temporary \acro{TDS} compliant texmf tree in the temporary area of your -computer. It is needed to store files that may be built on the fly, such as -\path|pk| bitmap fonts, or format files. Configuration files are copied from -the \CD{} to this texmf tree, so that you can edit them if needed. The -\path|ls-R| database is computed for this texmf tree. The AUC-\TeX{} mode will -be entered Whenever you will visit or create a \TeX{} file, providing all the -bells and whistles for \TeX{} support XEmacs is capable of. - -If you run 'M-x shell' within XEmacs, then you will have access to all the TeXLive -tools from the command line provided by XEmacs. - -\smallskip {\small\noindent \textbf{[For advanced users:]} You can also - use the small batch file \path|mkloctex.bat| to be called in a - directory \path|bin\win32| of the \CD. From the Start menu select - `Run', then browse the \acro{CD} drive and select - \path|mkloctex.bat|. Before starting it, you should add two parameters - separated by a space: the letter of your \acro{CD} drive and the - letter of the drive where you want to install the \TeX\ directory. - The whole line should read, e.g., \verb+d:\bin\win32\mkloctex.bat d c+. - When installation is complete, please read carefully the information - on screen. If you are running Windows 9x/\acro{ME}, then you will have to - restart Windows.} - -\subsection{Support packages for Windows} -\label{sec:win-xemtex} - -To be complete, a \TL installation needs support packages that are not -commonly found on a Windows machine. -Many scripts are written using the Perl language. Some important tools require -the Ghostscript \PS{} interpreter to render or to convert files. A graphic -file toolbox is also needed in some cases. Last but not least, a \TeX-oriented -editor makes it easy to type in your \TeX{} files. - -All these tools are quite easy to find for Windows, but in order to try to make -your life even easier, we have put such a set of tools on \TL: -\begin{itemize*} -\item \cmdname{Ghostscript} 7.07 -\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TL{} -Perl scripts -\item a subset of \cmdname{ImageMagick} 5.5.6 -\item the \cmdname{ISpell} checker -\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support -\TeX{} typesetting. -\end{itemize*} - -These packages should be installed only all at once. The bundle is -known as the \XEmTeX{} bundle. - -If you didn't install \XEmTeX{}, \cmdname{Perl} and \cmdname{Ghostscript} are -installed anyway if they are not detected on your machine. This is because they are -required by many important tools. The \envname{PERL5LIB} and \verb|GS_LIB| -environment variables will be set too. - -When you are under -\cmdname{XEmacs}, the tools provided shadow any other version you might -have installed previously. The point here is that \path|TeXSetup.exe| -will not install anything outside of the \TL location, neither will -it run foreign installers, nor will it try to autodetect installed -products using unreliable rules of thumb. The \XEmTeX{} bundle is -standalone and is meant to evolve in the future. The reference site is -\url{http://www.fptex.org/xemtex/}. - -If you don't want to install this bundle, then you are on your own to -install the required tools to complete your \TL{} system. Here is a -list of places to get those tools: - -\begin{description} -\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} -\item[Perl] \url{http://www.activestate.com/} (but you might need some - supplementary packages from CPAN: \url{http://www.cpan.org/}) -\item[ImageMagick] \url{http://www.imagemagick.com} -\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to - process or convert your graphic files. NetPBM home page is - \url{http://netpbm.sourceforge.net/} -\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the - user's taste. Here is a selection: - \begin{itemize*} - \item \cmdname{GNU Emacs} is available natively under Windows, the - reference url is - \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} - \item \cmdname{XEmacs} is available natively under Windows, the - reference url is \url{http://www.xemacs.org/} - \item \cmdname{WinShell} is available on \TL in the \path|support| - directory, the reference url is \url{http://www.winshell.de} - \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} - \item TeXnicCenter is available from\\ - \url{http://www.toolscenter.org} - \item \cmdname{Vim} is available on \TL{} in the - \path|support\vim| directory and the - reference site is \url{http://www.vim.org} - \item \cmdname{SciTE} is available from \url{http://www.scintilla.org/SciTE.html} - \end{itemize*} -\end{description} - -You might want to install other tools that are not free\footnote{Not -free, that is, in the sense of freedom to modify and redistribute, -following free software guidelines. This does not mean you can't acquire -them for no money.} and therefore not included on \TL{}, such as -\cmdname{GSView}, the \cmdname{Ghostscript} companion to more -conveniently view PS/PDF files. \cmdname{GSView} is available from -\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. - -\subsection{Installing \protect\TeX\protect\ Live to disk} - -\textbf{Warning: Win9x users must ensure they have enough environment - space before undertaking installation. The \cmdname{TeXSetup.exe} - program won't change the environment size for them. A few environment - variables will be created and it is possible you run out of - environment space. Add \texttt{SHELL=COMMAND.COM /E:4096 /P} in the - config.sys file in order to increase your environment size.} - -Installation is started by letting the media autostart. The program run -is \path|TeXSetup.exe| if you are using the inst disk. If you are using -the live or the demo disk, you will have to select the item -\path|TeXLive Software| from the menu, then the subitem \path|Install on -Hard Disk|. This will invoke \path|TeXSetup.exe|. You can also find it -in the \path|bin/win32| directory and run it, if the autostart fails for -any reason. \path|TeXSetup.exe| is a Windows wizard and it will display -several pages while running. - -\begin{description} -\item[Welcome Page] - You can choose a \emph{quick} installation from - here. In this case, the installation will run without any human - assistance from beginning to end, with all the default settings - (Figure~\ref{graph:setup-src}, - \ifnum \Status = 1 - on the left% - \else\ifnum \Status=2 - at the top% - \else - on the left% - \fi\fi - ). If you have enough privileges (administrator or power user - rights) under a Windows version where this is applicable, then you can - decide to install the \TL{} for all users or for yourself only by - checking the appropriate box. - For installing the whole \XEmTeX{} bundle (XEmacs, Ghost\-script, - Perl, ImageMagick and Ispell) you can check \emph{Install XEmTeX - Support} box. - \begin{figure*}[!htb] - The \cmdname{TeXSetup} Wizard\hfill - Source directories for the \TL{} files - - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.48\textwidth]{pictures/setup-wizard.jpg}\hfill% - \includegraphics[width=.48\textwidth]{pictures/source-for-texlive.jpg} - \else - \ifnum \Status=2 -\includegraphics[bb=0 0 506 403]{pictures/setup-wizard.jpg} -\includegraphics[bb=0 0 506 403]{pictures/source-for-texlive.jpg} - \else - \includegraphics[width=.48\textwidth]{pictures/setup-wizard}% - \hfill% - \includegraphics[width=.48\textwidth]{pictures/source-for-texlive} - \fi - \fi - \caption{The \TL{} setup wizard}\label{graph:setup-src} - \end{center} -\end{figure*} -\item[Source Page] - This page is a bit complex. It will allow you to select two source - directories for your \TL{} system - (Figure~\ref{graph:setup-src}, - \ifnum \Status = 1 - on the right% - \else\ifnum \Status=2 - at the bottom% - \else - on the right% - \fi\fi - ). You will need a \emph{local - source directory} and possibly a \emph{remote source directory}. - -Why do we need both these directories? The files consisting of the -\TL{} system are on the \CD{}, of course, but some other useful -packages are not, either because of space lacking or because their -license was not compatible with \TL{}. You need to enable Internet -downloading if you want to install these packages that are marked with a -specific ``remote'' icon. - - However, don't panic: the default parameters of the setup will allow - you to install a full system using the \CD{} only. Simply, you won't - have \file{WinEdt} (for example), but you will be able to install it - later. - - So you can take your files from: - \begin{itemize} - \item the \CD{} or any similar flat tree of files, available through - some standard directory (this means the \CD{} can be mounted on - some remote machine and be made available through network - sharing), - \item a set of \file{.zip} files (this is the case when you are - installing from the demo \CD{} or the \fpTeX{} distribution), - \item the Internet; in this case, the program takes care of - downloading the \file{.zip} files it needs for you. - \end{itemize} - This option is available only if you enable Internet file - downloading in the right part of the page. You also need to - configure this Internet access by selecting to connect either using - Internet Explorer~5 \file{wininet.dll}, or using a direct connection (\texttt{ftp}, - \texttt{http}). -% or using a proxy server. -% Last, you can be assisted in defining the \emph{local source -% directory} and \emph{remote source directory} which will be used -% to copy the files onto your hard disk. The \texttt{browse} buttons -% allow to select a directory for the former, and an url among a list -% of mirrors for the latter. -\item[Root Page] - On this page, you will tell where you want the files to be - installed (Figure~\ref{graph:root-schm}, - \ifnum \Status = 1 - on the left% - \else\ifnum \Status=2 - at the top% - \else - on the left% - \fi\fi - ). Only the root directory really matters, the other ones - are set according to the root one. You may want to make - \path|$TEXMFEXTRA| point to some TDS compliant directory with other - \TeX{} files or assign a different value to - \path|$HOMETEXMF|, which is set by default to whatever Windows think - is your `HOME' location. -\begin{figure*}[!htb] - Root and directories\hfill% - Scheme selection - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.46\textwidth]{pictures/root-of-installation.jpg}\hfill% - \includegraphics[width=.46\textwidth]{pictures/scheme-selection.jpg} - \else - \ifnum \Status=2 -\includegraphics[bb=0 0 506 403]{pictures/root-of-installation.jpg} -\includegraphics[bb=0 0 506 403]{pictures/scheme-selection.jpg} - \else - \includegraphics[width=.46\textwidth]{pictures/root-of-installation}% - \hfill% - \includegraphics[width=.46\textwidth]{pictures/scheme-selection} - \fi - \fi - \caption{\TL-Setup: Root and directories / Schemes}\label{graph:root-schm} - \end{center} -\end{figure*} -\item[Get TPM Page] - This page does not require any manual intervention. The \file{.tpm} - files which describe collections and packages are retrieved - (possibly from the Internet), unzipped if needed and parsed. -\item[Schemes Page] - On this page, you will select the global scheme of your - installation (Figure~\ref{graph:root-schm}, - \ifnum \Status = 1 - on the right% - \else\ifnum \Status=2 - at the bottom% - \else - on the right% - \fi\fi - ). A scheme is a large set of files targeted at some kind - of usage. There are 3 generic schemes for basic, recommended and - full installation. The other ones are devoted to LUGs (what GUST or - GUTenberg propose for their members) or applications (XML and - \TeX{}). - When a scheme is selected, it is still possible to refine the - selection by checking the appropriate box. If doing so, you will be - presented the packages page to change your selection, else you will - jump to the review page. -\item[Packages Page] - Collections and packages are presented in a tree form - (Figure~\ref{graph:win32-support}, - \ifnum \Status = 1 - on the left% - \else\ifnum \Status=2 - at the top% - \else - on the left% - \fi\fi - ). The links - in the tree are dependency links. Collections \emph{depend on} - packages and maybe other collections, and it is the same for each - package. You can select any package or collection individually, but - your request will be granted only if the object is not requested by - another one which is selected. For example, you can't deselect - \texttt{tex-basic} without deselecting all the collections that - request it. - - The \texttt{tex-xemtex} collection displayed on the picture is Win32 specific. It - holds a number of bonus packages (Figure~\ref{graph:win32-support}, - \ifnum \Status = 1 - on the right% - \else\ifnum \Status=2 - at the bottom% - \else - on the right% - \fi\fi - ) which can be installed - automatically and individually: Ghostscript (the \PS{} - interpreter), XEmacs editor preconfigured for \TeX{}, tools like Perl, - ImageMagick, Ispell. \emph{None of these packages are selected by - default}. - - On this page, you also have the information about disk space - needed, for each object, and for the set of those who are selected, - and also the disk space available on the partition selected for the - installation. Last, you can choose to install or not the - documentation files and source files associated with each package. -\item[Review Page] - You will find there a summary of your choices - (Figure~\ref{graph:review}, - \ifnum \Status = 1 - on the left% - \else\ifnum \Status=2 - at the top% - \else - on the left% - \fi\fi - ). It is still possible to - go back to change them. -\begin{figure*}[!htb] - Packages Page\hfill% - Win32 Support - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.48\textwidth]{pictures/package-selection}\hfill% - \includegraphics[width=.48\textwidth]{pictures/win32-support} - \else - \ifnum \Status=2 -\includegraphics[bb=0 0 506 403]{pictures/package-selection.jpg}\hfill% -\includegraphics[bb=0 0 506 403]{pictures/win32-support.jpg} - \else - \includegraphics[width=.48\textwidth]{pictures/package-selection}% - \hfill% - \includegraphics[width=.48\textwidth]{pictures/win32-support} - \fi - \fi - \end{center} - \caption{Packages Page / Win32 goodies} - \label{graph:win32-support} -\end{figure*} -\item[Files Copy Page] - The selected files are copied on your hard disk (Figure~\ref{graph:file-copy}, - \ifnum \Status = 1 - on the right% - \else\ifnum \Status=2 - at the bottom% - \else - on the right% - \fi\fi - ). All the files not - yet available on your local disk are first downloaded from the - remote source directory on the Internet. Then every package is - unpacked (if \path|.zip| files), or copied from the \CD{}. -\item[Configuration Page] Several packages need some configuration - step to make them usable (Figure~\ref{graph:configuration}, - \ifnum \Status = 1 - on the left% - \else\ifnum \Status=2 - at the top% - \else - on the left% - \fi\fi - ). Also the \TL{} system needs some post-processing step - (format files generation, ls-R databases generation, environment - variables, etc.). All these operations are done there, some of them - can be lengthy. -\begin{figure*}[!htb] - \textbf{Review Page}\hfill% - \textbf{File Copy Page} - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.48\textwidth]{pictures/review-settings}\hfill% - \includegraphics[width=.48\textwidth]{pictures/file-copy} - \else - \ifnum \Status=2 - \includegraphics[bb=0 0 506 403]{pictures/review-settings.jpg}\hfill% - \includegraphics[bb=0 0 506 403]{pictures/file-copy.jpg} - \else - \includegraphics[width=.48\textwidth]{pictures/review-settings}\hfill% - \includegraphics[width=.48\textwidth]{pictures/file-copy}% - \fi - \fi - \end{center} - \caption{Review Page / File Copy Page} - \label{graph:review}\label{graph:file-copy} -\end{figure*} -\item[Final Page] The installation being over, you may want to display - the Windows specific documentation (HTML format) and / or the log - file of the setup process (Figure~\ref{graph:final} - \ifnum \Status = 1 - on the right% - \else\ifnum \Status=2 - at the bottom% - \else - on the right% - \fi\fi - ). If it is needed (Win9x/WinME), you will - be asked to reboot your computer. -\end{description} - -\begin{figure*}[!htb] - \textbf{Configuration Page}\hfill% - \textbf{Final Page} - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.48\textwidth]{pictures/configuration}\hfill% - \includegraphics[width=.48\textwidth]{pictures/congratulations} - \else - \ifnum \Status=2 - \includegraphics[bb=0 0 506 403]{pictures/configuration.jpg}\hfill% - \includegraphics[bb=0 0 506 403]{pictures/congratulations.jpg} - \else - \includegraphics[width=.48\textwidth]{pictures/configuration}\hfill% - \includegraphics[width=.48\textwidth]{pictures/congratulations}% - \fi - \fi - \end{center} - \caption{Configuration Page / Final page} -\label{graph:configuration}\label{graph:final} -\end{figure*} - -Please be aware that the choice of cluster size on DOS disk -partitions can radically affect the size of your \TeX\ -installation. The support tree has hundreds of small files, and it is -not unusual for a complete installation to take up to four times the -amount of space used on the \CD. - -\end{comment} - - -\section{Windows maintenance and post-installation} - -Although this version of \TL{} cannot be installed on Windows, enough of -this section is relevant to existing installations or cross-mounted -installations that it seemed worth leaving in. - -It will be thoroughly updated when a complete \TL{} Windows distribution -is released. For now, please ignore references to -\filename{TeXSetup.exe}, etc. - - -\subsection{What's different in Windows?} - -The Windows version of \Webc{} has some specific features that should be -pointed out. - -\begin{description} -\item[\KPS{}] The hash-tables that \KPS{} builds are quite large for - the \TL{}. In order to cut down the starting time of any - \KPS{}-enabled program, these hash-tables have been put in shared - memory. This way, when you chain the execution of several such - programs, like \path|tex| calling \path|mpost| calling \path|tex|, - the overhead when starting each of the subprograms is - reduced. This change is hidden to the user, except if you set the - debug flag of kpathsea to the \path|-1| value: you will then trace - access to the shared memory, which is not what you want (it is - accessed very often!). What is useful in a log trace of the shared - memory access is still to be defined, so the situation might evolve - in the future. -\item[\cmdname{kpsecheck}] This command provides some options that did - not fit well into \cmdname{kpsewhich}. It will allow you to list all - the files that occur multiple times across your texmf trees. This - could be handy, but most of the time you will also get unwanted - output (like dozens of \path|README| files)\footnote{It is noticeable - that all these files result in clashes inside the \KPS{}-hashing - mechanism; fortunately, \KPS{} never looks for these files.}. For - this reason, you can combine the \path|-multiple-occurrences| with 2 - other options for including or excluding any filename that match - some pattern (you can request for several patterns). - - The \cmdname{kpsecheck} command will also report the status of shared - memory: in use or not used. That might be useful to know because if - the status reported is \samp{in use}, that means one or several - processes are working, and the effect of any \cmdname{mktexlsr} - command will be delayed until the next time where no \KPS{} linked - process will be running. - - Last, this same command will report about the location it thinks - Ghostscript can be found. Under Win32, for many programs, it is - easier to use the Ghostscript dll, and find it by using the - Ghostscript registry key than to change the \path|PATH|, which has a - limited length anyway. -\item[\Webc{}] The engines have a few more options than in Unix - \Webc{}, and one option with a different behavior: - \begin{itemize} - \item \path|-halt-on-error| stop the compilation at the first error. - \item \path|-job-time| set the job time to the same timestamp as the - file given in argument. -\item \path|-oem| use the DOS codepage for console output. - \item \path|-output-directory| allow to write all the output files in the - specified directory. - \item \path|-time-statistics| print statistics about the job run - time. It is to be noted that Win9x not being a true multitasking - operating system, it has no reliable timer for short periods, so - the value printed is an approximation. Under NT/2K/XP, the result - is quite accurate with user time and system time values allocated - for this run. For Unix - users: the \path|time| command is not usually available to Windows - users. - \end{itemize} -\end{description} - -\subsection{Adding packages to your installation} - -You will find an option in the \guiseq{TeXLive} menu (or go to -\guiseq{Start\arw Programs \arw TeXLive \arw Add TeX package} menu) to -run \file{TeXSetup.exe} in maintenance mode. The steps are almost the -same as in the initial installation. - -We'll discuss differences below, but first, whatever changes you make, -\textbf{do not forget to rebuild the ls-R database files}. Otherwise, -your new files will not be found. You can do this either via the -\acro{GUI} (\guiseq{Start \arw Programs \arw TeXLive \arw Maintenance -\arw Rebuild ls-R}), or manually running the \file{mktexlsr} command. - -The main difference is in the packages selection page. In maintenance -mode, the list of installed packages is compared to the list of packages -available from your source directories. Packages that are not installed -will be displayed in green, out of date packages will be displayed in -red and up-to-date, installed packages are displayed in black. - -This way, you can choose to add or upgrade components, either from -\TL{} or from the Internet, where you are likely to find some more -recent version of your packages. - -It is up to you to select which packages you want to install. The rest -of the process is similar to the first installation. - -If you want to add files that are not provided by the \TL{} (or -\fpTeX{}) distribution, it is recommended to put them in the -\path|$TEXMFLOCAL| directory. This way, you will be safe against -upgrades of the \TL{} software. - -The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, -for example, you want to add the support file for the Maple symbolic -computation program, you will have to put the style files in:\\ -\path|c:\Program Files\TeXLive\texmf-local\tex\latex\maple\|\\ and the -documentation files in:\\ \path|c:\Program -Files\TeXLive\texmf-local\doc\latex\maple\| - -\subsection{Uninstalling \protect\TL{}} - -The uninstall procedure is available either from the \file{TeXLive.exe} -program, from the \path|TeXLive| menu or from the control panel -(\guiseq{Start \arw Control Panel, Add/Remove Programs}). This procedure -will cleanup your hard disk of most of the \TL{} files. However, -\TeX{} is a system that is creating files and there is no mechanism to -keep track of all of them. Moreover, Win32 support packages have their -own uninstall procedure, which you will have to run separately (provided -you want to get rid of them). Last, the files you may have stored in -\path|$TEXMFLOCAL| won't be removed. So, even if the vast majority of -files are automatically removed by the uninstall procedure, you will -have to do some manual cleanup to actually remove all of them. - -\subsection{Running \texttt{TeXSetup.exe} from the command line} - -The \path|TeXSetup.exe| program has a number of other useful -options. You can get the list by running: -\begin{verbatim} -c:\>TeXSetup --help -\end{verbatim} - -Here is the description: -\begin{description} -\item[\path|--automatic-reboot|] reboot without waiting user - confirmation once installation is over; -\item[\path|--dry-run|] do nothing, just log everything that will be - done without this option; -\item[\path|--quick|] use the recommended installation and default - directories, ask nothing up to rebooting; -\item[\path|--with-xemtex|] selects the \XEmTeX{} bundle; -\item[\path|--net-method (=ie5/direct)|] enable to download components with - restricted licenses from the Internet (either using direct - connection of Internet Explorer 5 DLLs): you need to have an available - network connection and some of the packages are huge; -\item[\path|--remote-source-directory |] this is the base url for the remote packages; -\item[\path|--local-source-directory |] by default, \path|TeXSetup.exe| - will guess the root directory of the set of files you want it to act on, if you ever - upgrade \path|TeXSetup.exe|, you won't be able to copy the new version - onto your \CD{}, so you will need to use this option to specify the - root of the \CD{}; -\item[\path|--installation-directory |] this is the root of your - installation, all files will be copied under this location. The - default value is \verb+c:\Program Files\TL+; -\item[\path|--texmfmain-directory |] -\item[\path|--texmflocal-directory |] -\item[\path|--texmfextra-directory |] -\item[\path|--texmfhome-directory |] -\item[\path|--vartexmf-directory |] -\item[\path|--vartexfonts-directory |] these are the directories - used to configure the location of your files. They map directly to - the \path|texmf.cnf| variables. -\item[\path|--with-source-files(=yes/no)|] copy the source files - for \TeX{} packages, default value is no; -\item[\path|--with-documentation-files(=yes/no)|] copy documentation files for \TeX{} - packages. Default value is yes. Beware: this is only documentation about specific - packages, general documentation will be installed anyway; -\item[\path|--program-folder |] the name of the folder under - which you will find the menus; -\item[\path|--add-package |] this is used to add or update a specific - package after a first regular installation; -\item[\path|--scheme |] install the named scheme instead of the - default \path|texlive-recommended| scheme; -\item[\path|--maintenance|] mostly the same as \path|--add-package| - without specifying a package to add; -\item[\path|--uninstall|] this option will remove anything \TeX{} related coming from - the \CD{}, which means there can be files left if you added style - files or format files, and also that supplementary tools will not be - removed. This option is still a bit crude in this release; -\item[\path|--help|] this option opens up a box with the list of options. -\end{description} - -\subsection{Network installation} - -\KPS{} knows about UNC names, so you can use them to get your TEXMF -tree from the network. But there is better than this. -All the support files and configuration files, everything except the files in the -\path|bin/win32| are shareable with a \teTeX{} or Unix \TL{} installation. That means -you can use Samba either to mount from an NT server to a Unix -workstation or the converse. Several strategies are possible: -\begin{itemize} -\item Put everything on the server. Just add each set of files for the os and -architecture you want to use in the \path|bin| directory. That means -for example \path|bin/win32| and \path|bin/i386-linux|. Next configure -your main variables. You can use UNC names to -point to the right directories under Win32. -\item Install a local copy for the binaries and format files. In this - case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that - will be accessed remotely. Set \path|$VARTEXMF| to be a local - directory which will hold local configuration files and on-the-fly - generated files. -\end{itemize} - -\subsection{Personal configurations} - -\subsubsection{Dvips} - -The configuration file for dvips can be found in\\ -\verb+C:\Program Files\TeXLive\texmf-var\dvips\config\config.ps+\\ -You may open it with any editor - %(\cmdname{WinShell} will do fine) - and change some parameters: - -\begin{description} -\item [fonts] you can change the default printer \MF{} mode or printer - resolution in case \cmdname{dvips} needs to generate PK fonts. By default it - is configured to use Type~1 versions of the CM fonts, so it should - not call \cmdname{mktexpk} too often; -\item[printer] you can tell dvips where you want to print by default. If - the \optname{o} option is not followed by a printer name, then a - \file{.ps} \PS{} file is written. You can give dvips a printer - name such as: -\begin{verbatim} -o lpt1: -% o | lpr -S server -P myprinter -% o \\server\myprinter -\end{verbatim} -\item[paper] Next, you might want - to change the paper size from European (A4) to US letter - by making the US letter the first paper size mentioned in the file. - Scroll to the group of lines beginning with \code{@}. Move - the appropriate lines so that this section begins with the lines:\\ -\hspace*{1em} @ letterSize 8.5in 11in\\ -\hspace*{1em} @ letter 8.5in 11in\\ -\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ -\hspace*{1em} @+ letter\\ -\hspace*{1em} @+ \%\%EndPaperSize -\end{description} - -The current \TL{} distribution implements the procedure of making -always up-to-date fontmaps files for Dvips and Pdftex. This is done by -the \cmdname{updmap} program during installation, as well as during any -font package addition. If you add new packages by hand, edit the file -\verb+updmap.cfg+ in \path|$VARTEXMF/web2c|. - -\subsubsection{Pdftex} - -If you use the program pdf{}latex to write \acro{PDF} format directly, -and you are using \acro{US} letter-size paper, edit the file -\verb+C:\Program Files\TeXLive\texmf-var\tex\generic\config\pdftexconfig.tex+ and -change \samp{\bs pdfpagewidth} and \samp{\bs pdfpageheight}. These entries should read: -\begin{alltt} -\bs{}pdfpagewidth=8.5 true in -\bs{}pdfpageheight=11 true in -\end{alltt} -Save the file and exit the editor. - -\subsubsection{GSView} -GSView is now distributed under the Aladdin License, and therefore is no longer included in -\TL{}. - -If you may want to change the page size to US letter size. If so, open -GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. - -Also, there are menu settings that are supposed to give you the most -readable screen image. On \guiseq{Media \arw Display Settings}, set both -\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. - -Note that the installation process has set all \code{.ps} and -\code{.eps} files to automatically open with \cmdname{GSView}. - -For printing instructions, see section~\ref{printing} below. - -\subsubsection{WinDvi} -\label{sub:windvi} - -The \file{TeXSetup.exe} program takes care of associating the files -with the \file{.dvi} extension with \file{Windvi}. - -Open it with \guiseq{Start\arw Programs\arw TeXLive\arw DVI Viewer}. - -You can set it for US letter-size paper by going to \guiseq{View\arw -Options\arw Papertype} and selecting US (8.5\verb+"+ x 11\verb+"+) (and -then \optname{OK}. Exit \cmdname{windvi}. - -You can change other parameters from there as well, such as the ability -to execute system commands specified by the document (disabled by -default for security reasons). Also, the first time you view any .dvi -file, you may find the magnification too large. Zoom out until you get -an appropriate size. - -%There are two important parameters related to printing that can't yet -%be set from the dialog boxes, namely the resolution and the \MF{} mode -%for the printer. You can set them once for all by specifying them on -%the command line: -%\begin{verbatim} -%c:\>windvi -p 360 -mfmode canonbjc foo.dvi -%\end{verbatim} -%When you will exit Windvi, these parameters will be stored in the -%configuration file. The available modes are found in this file:\\ -%\path|c:\Program Files\TeXLive\texmf\metafont\misc\modes.mf| - -All configuration settings for \cmdname{Windvi} are stored in a file -named \path|windvi.cnf| file. You can find it by running this command at -the prompt: -\begin{verbatim} -c:\>kpsewhich --expand-var $HOME/windvi.cnf -\end{verbatim} - -Should you have problems with \cmdname{Windvi}, please remove the configuration -file and test your problem against a vanilla configuration. - -\subsection{Testing} - -For generic verification procedures, see section~\ref{sec:test-install} -(\p.\pageref{sec:test-install}). This section describes -Windows-specific tests. - -Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), -found in \path|C:\Local\TeX\texmf\tex\latex\base|. The \LaTeX\ source -should appear on the screen. Process it by clicking on the -\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar -(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} -menu (XEmacs) or Preview (Windvi) icon (WinShell). - -At first, when you preview files with Windvi, 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. - -\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ -cannot find a file, you can press Ctrl-z to quit. - - -\subsection{Printing} -\label{printing} - -It is possible to print from Windvi. In this case, printing will be done -using the Windows unified printer driver. By definition, it is -compatible with all printers. However, there is some drawback: it can -generate some huge spool files, and some (older) versions of Windows -just don't like them. The advantage is that you can use features like -embedding BMP or WMF images. You also need to make sure that the printer -parameters are correctly set (subsection~\ref{sub:windvi}), else you -will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer -will give you only one quadrant of your page). - - -Printing is faster and more reliable if you run \cmdname{dvips} to make -a \filename{.ps} file and then print from \cmdname{GSView}. In -\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} -window will appear. - -If you are using a \PS{} printer, \textit{be sure to select -\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box -at the bottom left of the \guiseq{Print} window. You can then select any -of the printers that you have previously installed. If you fail to -check the box for \optname{\PS{} Printer}, printing will not work. - -If you will be using your own non-\PS{} printer, select -\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click -on the button to the right labelled \guiseq{djet500} and select your -printer type from the list that pops up. (In the older version of -\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} -selected, then select your printer type from the \guiseq{Device} list.) - -\subsection{Tips and tricks for Win32} - -\subsubsection{Different flavors of Win32} - -What we call Win32 is not an operating system by itself. It is a large -set of functions (around 12,000 in the header files of the Microsoft -\acro{SDK}) that you can use to write programs for different operating -systems of the Windows family. - -Windows comes in different flavors: -\begin{itemize} -\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, - multithreading} environments. They are the latest\Dash and hopefully - last\Dash metamorphosis of \acro{DOS}. This can be more or less proven - by the fact that when booting, the PC will load the \path|command.com| - interpreter, and if you stop the boot process at this point, you can - ask for the current (\acro{DOS}) version and it will answer something - like \samp{MS-DOS 7.0} (at least for the old versions of Win9x). -\item Windows \acro{NT}, which is a new operating system written from - scratch, capable of true multitasking behavior, and including many - high level features. -\item Windows 2000, based on \acro{NT}, with all the bells and - whistles of Win98. -\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is - the last step in merging both lines of products (Win9x based and - \acro{NT} based). \acro{XP} is based on \acro{NT}. -\end{itemize} - -Win9x are able to run 32~bits programs and 16~bits programs -concurrently. But the operating system by itself is not entirely -written in 32~bits mode, and does not support memory protection: 16bits -applications can overwrite parts of the operating system memory! Some -parts of the system like the \acro{GDI} (Graphical Device Interface) -manage limited resources like bitmaps, fonts, pens and so on for the set -of all programs that run concurrently. All the bitmaps headers available -at the same time can't amount for more than 64kB. This explains the -performance tool and the fact that you can put your system on his knees -by making intensive use of graphic objects for example. - -NT, 2K and XP do not suffer from these limitations, and neither from -other Win9x limitations. They are true multitasking environments, with -protected memory. They are much more responsive than Win9x because -of better memory management, better file system and so on. - -\subsubsection{Command line prompt} - -You may wonder, ``Why would I need to use a command line prompt when -I have Windows?'' - -Good question. The problem is of very general nature. Not all operations -can be done easily using only a \acro{GUI}. Command line gives you -programming power\Dash assuming a clever command interpreter. - -But the problem here is more fundamental: \TeX{} is \emph{a batch} -tool. Not an interactive one. \TeX{} needs to compute the best -layout for each page, resolve cross-references and so on. This can be -done only by a global processing of the document. It is not (yet) a -task that can be done interactively. - -This means that you should use \TeX{} from a command line. In fact the -situation is not so bad. There is an advantage to write command line -tools for complex processing: they are better debugged, because they are -independent of any \acro{GUI} problems, and \acro{GUI} tools can be -designed to interface to the command line tools. This is the case for -\TeX{}, where you will mostly interact with it through a \acro{GUI} text -editor. - -However, you may need to use the command line prompt in a number of -situations. One is when you are having difficulties and want to debug -your setup. - -\begin{description} - \item[Win9x] You can open a command line prompt by looking either for - the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, - or by choosing \guiseq{Start\arw Run} menu typing in - \path|command.com| as the progrm name. - \item[NT, 2K, XP] You can open a command line prompt by looking for - \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. - You can also choose \guiseq{Start\arw Run} and type in - \path|cmd.exe|, which is the name of the brand new command - interpreter for \acro{NT} (thus, it is untrue to call this a - \emph{DOS} box!). -\end{description} - -These locations may change across different Windows versions. - - -\subsubsection{Path separators} - -The Win32 API understands both \path|/| and \path|\| characters as PATH -separators. But the command interpreters do not! So whenever a path name -is used programmatically, you can use both separators, and even mix them -up in the same path name. But on the command line, you must type -\path|\| as path separator. The reason is compatibility: the command -processor used \samp{/} to introduce arguments to commands. - -All this to say: do not be surprised to read path names written using -the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible -across platforms. For this reason, all the configuration files that -need to specify path names use the Unix convention. - -\subsubsection{File systems} -\label{sec:clusters} - -The worst feature of Win9x with regard to \TeX{} is probably the -so-called FAT file system. \TeX{} uses very many small files, with size -around 1--3kB. The \acro{FAT} file system is old, and predates by -decades the multi-gigabytes hard disks we have today. As a result, it -cannot manage efficiently the tens of thousands of \TeX{} files found in -\TL{}. The \acro{FAT} file system allocates a minimum of 32kB for -\emph{any} file on a huge partition. It means that \TeX{} will use much -more disk space than it actually needs. - -The other, more modern, file systems available, \acro{FAT32} and -\acro{NTFS}, do not have this drawback. They manage clusters of 4kB -only. (You can lower the limit to 512 bytes on \acro{NTFS}.) - -\subsubsection{How to add some directory to your PATH} - -There are pairs of variables and values which behave much like global -variables inside your programs. The set of those variables is called the -environment. Each program is initialized with a copy of the -environment when it is run. It can request and change the -value of any variable. The changes happen in the copy of the -environment, and is not at all propagated to the other running -programs. - -Your PATH is a special environment variable used to search for -programs you want to run. -There is a different procedure to change it for Win9x, WinME and NT/2K/XP: - -\begin{description} -\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line - starting with \texttt{PATH=} and followed by a list of directories separated - by \path|;|. Please add the directory with the executables in this line. - After this, this line could look as follows: -\begin{verbatim} -PATH=c:\windows;c:\windows\system;c:\"Program Files"\TL\bin\win32 -\end{verbatim} -\item[Windows ME] You need to run the special program - \path|c:\windows\system\msconfig.exe| to be able to change any - environment variable. From this program, select the `Environment' - tab, and then add or modify the variable you want. You will be asked to reboot the - machine upon any change. -\item[Windows NT/2K/XP] - Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the - window with the control panel icons opens. Double click on System. The - System Properties window opens. Click on the tab \textsf{Environment} - or look for a button named \guiseq{Environment Variables} among the - dialog boxes. Now you can change the environment variables for your - user account. Note: There are also displayed the environment settings - for the system. Normally, you can't change the system variables - unless you have administrator rights on your machine. If you want to - change the \texttt{PATH} for all users, you will have to contact your - system administrator or be the system administrator yourself\Dash in - the latter case you should know what you are doing. - - If there is already a \texttt{PATH} setting for your user account, - left click on \texttt{PATH}. In the field \textsf{Variable} appears - \texttt{PATH} while the field Value shows the current setting of - \texttt{PATH} as a list of directories separated by \path|;|. Add - the directory where the executables are located (e.g. - \path|c:\Program Files\TeXLive\bin\win32|). If there isn't a \texttt{PATH} variable - for your user account, simply click in the field Variable and type - in \texttt{PATH}, click in the field \textsf{Value} - and type in the directory with the executables. Important: Click on - the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the - changes to \texttt{PATH} won't apply to your system. Be careful when - changing the environment settings. -\end{description} - -The best way to be sure that a variable has been properly set is to -open a console and type: -\begin{verbatim} -set VARIABLE -\end{verbatim} -which should return the corresponding value. - -\subsubsection{\TeX{} engines} - -If you have a look at the \Webc{} documentation, you will read that all -the various \TeX{} derived programs use the same base engine. For -example, \path|tex.exe| and \path|latex.exe| are exact copies of the -same program, but each one will use a different format file, based on -its calling name. - -Under Unix, this feature is implemented through \emph{symbolic -links}. It saves up a bit of disk space, because some engines are -used with many different format files. - -The Win32 API does not know about file links. So to save up almost -the same amount of memory, all the \TeX{} base engines have been put -in DLLs (\emph{Dynamic Linked Library}). This means that you will have -the following layout: -\begin{alltt} -13/05/2002 17:06 3 584 latex.exe -13/05/2002 17:06 266 240 tex.dll -13/05/2002 17:06 3 584 tex.exe -\end{alltt} -and the \path|latex.exe| file is nothing but a rough copy of -\path|tex.exe| using the same core \path|tex.dll|. -The same trick has been used for the \path|mktex*.exe| family of programs which are -linked to the \path|mktex.dll| library. - -In fact, a generic tool called \path|lnexe.exe| is provided to build the -equivalent of Unix hard links for executable files only under Win32. - -\subsection{In case of problems} -\label{sec:troubleshooting} - -\subsubsection{What to do if \texttt{latex} does not find your files?} - -\begin{itemize} - -\item \cmdname{kpsewhich} is the tool of choice to debug any -problem. Unfortunately, \cmdname{kpsewhich} outputs debug information -to stderr, and the Windows console does not know how to redirect stderr -to a file\footnote{Well, NT and Win2k consoles know how to do that. But -the trick will work for any console.}. For diagnostic purposes you can -temporarily set an environment variable (in a \acro{DOS} box): - -\begin{verbatim} -SET KPATHSEA_DEBUG_OUTPUT=err.log -\end{verbatim} -You can also set the debug level: -\begin{verbatim} -SET KPATHSEA_DEBUG=-1 -\end{verbatim} - -If you want to redirect stderr to stdout, which is not possible -Windows, then do: -\begin{verbatim} -SET KPATHSEA_DEBUG_OUTPUT=con: -\end{verbatim} -This way you can capture both stdout and stderr in the same file. - -\item Assuming the installation has been done in \path|c:/Program Files/TeXLive|, check - the following values: \\ - {\small - \begin{tabular}{ll} - \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/Program Files/TeXLive| \\ - \path|kpsewhich -expand-path $TEXMF| & \path|c:/Program Files/TeXLive/texmf| \\ - \path|kpsewhich -expand-path $TEXMFCNF| & - \path|.;c:/Program Files/TeXLive/texmf/web2c;| \\ - & \path|c:/Program Files/TeXLive/bin/win32;| \\ - & \path|c:/Program Files/TeXLive/bin;| \\ - & \path|c:/Program Files/TeXLive| \\ - \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/Program Files/TeXLive/texmf/tex//| - \end{tabular} -} -\item If you have other \TeX{}-related values already set in your - environment, please, remove them. They are overriding the ones in - texmf.cnf. -\item Check the values from:\\ -{\small - \begin{tabular}{ll} - \texttt{kpsewhich cmr10.tfm} & \path|c:/Program Files/TeXLive/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ - \texttt{kpsewhich latex.fmt}& \path|c:/Program Files/TeXLive/texmf/web2c/latex.fmt| - \end{tabular} -} -\item At this point, if everything is correct, \TeX{} and friends - should work. If it is not the case, you will need to play with - the \path|-debug=n| option from \path|kpsewhich|, and check back all - the values. Try to identify and report the problem. -\end{itemize} - -\subsubsection{What to do if your setup still does not work as expected?} - -Here are several questions to investigate: - -\begin{enumerate} -\item Is \file{tex.exe} in my \path|PATH|? - -\item Is the \path|TEXMFCNF| variable correctly set to -\path|c:/Program Files/TeXLive/texmf-var/web2c| (default value)? - -\item Are there any errors in the log file generated by the -\file{TeXSetup.exe} program? You can find this by searching for the -string \samp{Error}. - -\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? -(Unlikely, but it doesn't hurt to check.) - -\item Check the web pages at -\url{http://www.fptex.org/}, or consider subscribing to the \fpTeX{} -mailing list, via \url{http://tug.org/mailman/listinfo/fptex}. - -\end{enumerate} - - -The \TL{} software consists of hundreds of programs and tens of -thousands of files, all from varying sources. So it is quite difficult to -predict all possible causes for problems. Nevertheless, we will do our -best to help you. (See section~\ref{sec:help}, \p.\pageref{sec:help}.) - - -\subsection{Compiling the source files} - -The whole set of source files is available in the distribution as the -\path|source/source.tar.bz2| archive, together with a separate source -archive for Windows. To be able to compile the whole distribution for -Windows, you will need: - -\begin{itemize*} -\item Windows 2K/XP -\item Microsoft Visual Studio .Net 2003 -\item a set of Unix tools (\texttt{sed}, - \texttt{grep}, \texttt{gawk}, etc.) and also Perl, Flex and Bison, -\item to adjust the paths in the - \path|win32/make/common.mak| file according to your installation -\item to adjust the paths in the Perl script file - \path|win32/perl/build.pl|, -\item run the compilation from the \path|mswin32/| directory using this - command: -\begin{verbatim} -c:\texlive\source\mswin32>perl ./perl/build.pl --install --log=install.log -\end{verbatim} -\end{itemize*} - -There is a lot of work to do to make this process easier and cleaner. - -\subsection{Where to get more information} - -The Windows \TeX{} system included on \TL{} is also known as -\fpTeX. The packaging differs, but \fpTeX{} is no more no less than the -current \TL\ release for Windows. - -The \fpTeX{} home page is \url{http://www.fptex.org}. - -The current \fpTeX release is available from any \CTAN site in -\url{htp://www.ctan.org/tex-archive/systems/win32/fptex}. - -The main ftp site for \fpTeX\ is \url{ftp://ftp.dante.de/pub/fptex/} -from where beta versions of \fpTeX\ and additionnal tools are available. -This main site is (partially) mirrored daily by all \CTAN{} sites at -\path|systems/win32/fptex|. - -The \TeX{} Users Group is kindly hosting a mailing list dedicated to -\fpTeX. It is used for announcements, bug reports, enhancement requests, -and general discussion about \fpTeX. To subscribe, visit -\url{http://tug.org/mailman/listinfo/fptex}. The mailing list -address is \email{fptex@tug.org}. - - -% don't use \Webc so the \uppercase in the headline works. -\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{}. - -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. - -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 \web{} and translates them into C source -code. The core \TeX{} programs are: - -\begin{cmddescription} -\item[bibtex] Maintaining bibliographies. -\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). -\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[makempx] \MP{} label typesetting. -\item[mf] Creating typeface families. -\item[mft] Prettyprinting \MF{} source. -\item[mpost] Creating technical diagrams. -\item[mpto] MetaPost label extraction. -\item[newer] Compare modification times. -\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 \acro{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{}. 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 more than one directory tree -simultaneously, which is useful in maintaining \TeX's standard -distribution and local extensions in two 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} - -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{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{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{Debugging}). - -\subsubsection{Config files} - -\begingroup\tolerance=3500 -\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} (by default such a file lives -in the \file{texmf/web2c} subdirectory). \emph{All} -\file{texmf.cnf} files in the search path will be read and definitions -in earlier files override those in later files. Thus, with a search -path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those -from \verb|$TEXMF/texmf.cnf|. -\endgroup - -\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{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{Default-expansion} - -\tolerance=2500 -If the highest-priority search path (see ``Path sources'' on -page~\pageref{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 - -\tolerance=1500 - -\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 can be used to implement multiple \TeX{} hierarchies, by -assigning a brace list to \code{\$TEXMF}. -For example, in \file{texmf.cnf}, you find -the following definition: -\begin{verbatim} - TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$VARTEXMF,!!$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{\$HOMETEXMF/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$VARTEXMF/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{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{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{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); most sites have only one hierarchy. \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 -(\acro{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{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 more important 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 - found in the first column of table~\ref{tab:kpathsea}, which lists - currently recognized names, a description, possible file extensions, - and associated environment variables. -\end{ttdescription} - - -\def\KpathKey#1#2#3#4#5{% name, number, description, variables, - % suffixes -\SetRowColor#1 & #3 & #4 & #5\\} -\def\HEAD#1{\multicolumn{1}{l}{\emph{#1}}} -% -\begin{small} -% a footnoterule immediately under a bottom-of-page rule looks dead -% silly, so we suppress it -\renewcommand\footnoterule{\relax} -% -\begin{longtable}{@{}% - >{\ttfamily}P{.16\textwidth}% Col.1 - P{.3\textwidth}% Col 2 - >{\ttfamily\footnotesize}P{.29\textwidth}% Col 3 - >{\ttfamily}P{.14\textwidth}% Col 4 -@{}} -\caption{Kpathsea file types.}\label{tab:kpathsea}\\ -\emph{Name} & \HEAD{Description} & \HEAD{Variables} -& \HEAD{Suffixes}\\ -\hline -\endfirsthead -\multicolumn{3}{l}{Kpathsea file types \emph{continued}}\\ -\emph{Name} & \HEAD{Description} & \HEAD{Variables} -& \HEAD{Suffixes}\\ -\hline -\noalign{\vspace{2pt}} -\endhead -\mbox{}\\ -\hline -\endfoot -\KpathKey - {afm} - {4} - {Adobe font metrics} - {AFMFONTS} - {.afm} -\KpathKey - {base} - {5} - {Metafont memory dump} - {MFBASES, TEXMFINI} - {.base} -\KpathKey - {bib} - {6} - {\BibTeX{} bibliography source} - {BIBINPUTS, TEXBIB} - {.bib} -\KpathKey - {} - {2} - {bitmap fonts} - {GLYPHFONTS, TEXFONTS} - {} -\KpathKey - {bst} - {7} - {\BibTeX{} style files} - {BSTINPUTS} - {.bst} -\KpathKey - {cnf} - {8} - {Runtime configuration files} - {TEXMFCNF} - {.cnf} -\KpathKey - {dvips config} - {34} - {\textsf{dvips} configuration files, e.g., \file{config.ps}} - {TEXCONFIG} - {} -\KpathKey - {enc} - {34} - {Font encoding files} - {ENCFONTS} - {.enc} -\KpathKey - {fmt} - {10} - {\TeX{} memory dump} - {TEXFORMATS, TEXMFINI} - {.fmt, .efmt, .efm} -\KpathKey - {gf} - {0} - {generic font bitmap} - {GFFONTS} - {.gf} -\KpathKey - {graphic/figure} - {25} - {Encapsulated \PS{} figures} - {TEXPICTS, TEXINPUTS} - {.eps, .epsi} -\KpathKey - {ist} - {35} - {\textsf{makeindex} style files} - {TEXINDEXSTYLE, INDEXSTYLE} - {.ist} -\KpathKey - {ls-R} - {9} - {Filename databases} - {TEXMFDBS} - {} -\KpathKey - {map} - {11} - {Fontmaps} - {TEXFONTMAPS} - {.map} -\KpathKey - {mem} - {12} - {MetaPost memory dump} - {MPMEMS, TEXMFINI} - {.mem} -\KpathKey - {mf} - {13} - {Metafont source} - {MFINPUTS} - {.mf} -\KpathKey - {mfpool} - {14} - {Metafont program strings} - {MFPOOL, TEXMFINI} - {.pool} -\KpathKey - {mft} - {15} - {MFT style file} - {MFTINPUTS} - {.mft} -\KpathKey - {} - {41} - {miscellaneous fonts} - {MISCFONTS} - {} -\KpathKey - {mp} - {16} - {MetaPost source} - {MPINPUTS} - {.mp} -\KpathKey - {mppool} - {17} - {MetaPost program strings} - {MPPOOL, TEXMFINI} - {.pool} -\KpathKey - {MetaPost support} - {18} - {MetaPost support files, used by DMP} - {MPSUPPORT} - {} -\KpathKey - {ocp} - {19} - {\OMEGA{} compiled process files} - {OCPINPUTS} - {.ocp} -\KpathKey - {ofm} - {20} - {\OMEGA{} font metrics} - {OFMFONTS, TEXFONTS} - {.ofm, .tfm} -\KpathKey - {opl} - {21} - {\OMEGA{} property lists} - {OPLFONTS, TEXFONTS} - {.opl} -\KpathKey - {otp} - {22} - {\OMEGA{} translation process files} - {OTPINPUTS} - {.otp} -\KpathKey - {ovf} - {23} - {\OMEGA{} virtual fonts} - {OVFFONTS, TEXFONTS} - {.ovf} -\KpathKey - {ovp} - {24} - {\OMEGA{} virtual property lists} - {OVPFONTS, TEXFONTS} - {.ovp} -\KpathKey - {pdftex config} - {18} - {\textsf{pdftex} configuration files} - {PDFTEXCONFIG} - {} -\KpathKey - {pk} - {1} - {packed bitmap fonts} - {\var{program}FONTS \textrm{(\texttt{\var{program}} being - \textsmaller{\cmdname{XDVI}}, - etc.)}, PKFONTS, TEXPKS, GLYPHFONTS, TEXFONTS} - {.pk} -\KpathKey - {\PS{} header} - {30} - {downloadable \PS{}} - {TEXPSHEADERS, PSHEADERS} - {.pro, .enc} -\KpathKey - {tex} - {26} - {\TeX{} source} - {TEXINPUTS} - {.tex, .cls, .sty, .clo, .def} -\KpathKey - {texmfscripts} - {20} - {Scripts distributed in the \file{texmf} tree} - {TEXMFSCRIPTS} - {} -\KpathKey - {TeX system documentation} - {27} - {Documentation files for the \TeX{} system} - {TEXDOCS} - {} -\KpathKey - {TeX system sources} - {29} - {Source files for the \TeX{} system} - {TEXSOURCES} - {} -\KpathKey - {texpool} - {28} - {\TeX{} program strings} - {TEXPOOL, TEXMFINI} - {.pool} -\KpathKey - {tfm} - {3} - {\TeX{} font metrics} - {TFMFONTS, TEXFONTS} - {.tfm} -\KpathKey - {Troff fonts} - {31} - {Troff fonts, used by DMP} - {TRFONTS} - {} -\KpathKey - {truetype fonts} - {36} - {TrueType outline fonts} - {TTFONTS} - {.ttf, .ttc} -\KpathKey - {Type~1 fonts} - {32} - {Type 1 \PS{} outline fonts} - {T1FONTS, T1INPUTS, TEXPSHEADERS, DVIPSHEADERS} - {.pfa, .pfb} -\KpathKey - {type42 fonts} - {37} - {Type 42 \PS{} outline fonts} - {T42FONTS} - {} -\KpathKey - {vf} - {33} - {virtual fonts} - {VFFONTS, TEXFONTS} - {.vf} -\KpathKey - {web2c files} - {38} - {\Webc{} support files} - {WEB2C} - {} -\KpathKey - {other text files} - {39} - {text files used by `\textsf{foo}'} - {FOOINPUTS} - {} -\KpathKey - {other binary files} - {40} - {binary files used by `\textsf{foo}'} - {FOOINPUTS} - {} -\end{longtable} -\end{small} - - -\begin{multicols}{2} - - The last two entries in table~\ref{tab:kpathsea} are special - cases, where the paths and environment variables depend on the name - of the program: the variable name is constructed by converting the - program name to upper case, and then appending \texttt{INPUTS}. - - The environment variables are set by default in the configuration - file \file{texmf.cnf}. It is only when you want to override one or - more of the values specified in that file that you might want to set - them explicitly in your execution environment. - - The \samp{-{}-format} and \samp{-{}-path} options are mutually - exclusive. - -\begin{ttdescription} - -\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{SExamplesofuse} - -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} - -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 -prolog \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 ... \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{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. -\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 -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/html/dvips/dvips_toc.html}). -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{SExamplesofuse} 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 -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 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, - ... - -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 -[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}. - etc.). -\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 TFM files read. -\item[\texttt{hash\_extra}] - Additional space for the hash table of control sequence names. - Approximately 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. - - -\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 \acro{GNU} version of these programs -(\cmdname{gcc}, \acro{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:unix-install-disk} on -\p.\pageref{sec:unix-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} & \acro{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: \acro{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. - - -\section{Acknowledgements} - -\TL{} is a joint effort by virtually all of the \TeX{} user groups. -This edition of \TL{} was overseen by Sebastian Rahtz and Karl Berry. -The other principal contributors are listed below. - -\begin{itemize*} - -\item The German-speaking \TeX{} Users (\acro{DANTE} e.V.), who provide -the hardware for the \TL{} source repository; and Rainer Sch\"opf and -Reinhard Zierke who look after it. \acro{DANTE} officers Volker Schaa -and Klaus Hoeppner coordinated production with the Lehmann's Bookstore -(\url{http://www.lob.de}). - -\item The Perforce corporation (\url{http://www.perforce.com}), for providing -a free copy of their excellent change management system, which we used -to manage the \TL{} sources. - -\item Peter Breitenlohner and the \eTeX\ team for the stable foundation -of future \TeX's. - -\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} -would certainly not exist, and whose continual help makes it a better -product. - -\item Michel Goossens, who co-authored the original documentation. - -\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} -version of this documentation, and who worked tirelessly to improve -it at short notice. - -\item Hans Hagen, for major testing and making the \ConTeXt\ format -conform to \TL's needs. - -\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team for continuing -enhancements of \TeX's abilities. - -\item Petr Olsak, who coordinated and checked all the Czech and Slovak -material very carefully. - -\item Fabrice Popineau, for the Windows side of \TL{} and devising the -new directory layout. - -\item Staszek Wawrykiewicz, the principal tester for all of \TL{}, and -coordinator of the Polish contributions. - -\item Olaf Weber, for his patient assembly and maintenance of Web2C, -upon which all else depends. - -\item Gerben Wierda, for creating and maintaining the \MacOSX\ support, -and much integration and testing. - -\item Graham Williams, on whose work the catalogue of packages depends. - -\end{itemize*} - -Builders of the binaries: -Tigran Aivazian (\pkgname{x86\_64-linux}), -Manfred Lotz (\pkgname{i386-freebsd}), -Maksym Polyakov (\pkgname{sparc-solaris}), -Fabrice Popineau (\pkgname{win32}), -Norbert Preining (\pkgname{alpha-linux}), -Vladimir Volovich (\pkgname{powerpc-aix} and \pkgname{sparc64-linux}), -Staszek Wawrykiewicz (\pkgname{i386-linux}), -Olaf Weber (\pkgname{mips-irix}), -Gerben Wierda (\pkgname{powerpc-darwin}). - -Documentation and translation updates: -Karl Berry (English), -Daniel Flipo \& Fabrice Popineau (French), -G\"unter Partosch \& Hartmut Henkel (German), -Petr Sojka \& Jan Busa (Czech\slash Slovak), -Boris Veytsman (Russian), -Staszek Wawrykiewicz (Polish). - -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. - -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:multiple-dist}, \p.\pageref{sec:multiple-dist}). 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*} - -\subsection{Present} -\label{tlcurrent} - -2004 saw the usual huge number of updates to packages and programs. -Here are the most notable changes, including one important backward -incompatibility: - -\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:struct-tl} (\p.\pageref{sec:struct-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-doc/doc/english/tds/tds.html\#Extensions} -{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. - -\item Helper scripts (not meant to be invoked by users) are now located -in a new \dirname{scripts} directory of \dirname{texmf*} trees, and -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-doc/doc/english/tds/tds.html\#Scripts} -{\texttt{texmf-doc/doc/english/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/doc/pdftex/manual}. - - \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} - - -\subsection{Future} - -\emph{\TL{} is not perfect!} (And never will be.) We intend to -continue to release new versions yearly, and would like to provide more -help material, more utilities, more installation programs, and (of -course) an ever-improved and checked tree of macros and fonts. This work -is all done by hard-pressed volunteers in their limited spare time, and -a great deal remains to be done. If you can help, don't hesitate to put -your name forward! - -Please send corrections, suggestions, and offers of help to:\hfill\null -\begin{quote} -Sebastian Rahtz \ / \ 7 Stratfield Road \ / \ Oxford OX2 7BG \ / \ UK \\ -\email{tex-live@tug.org} \\ -\url{http://tug.org/texlive} -\end{quote} - -\medskip -\noindent \textsl{Happy \TeX ing!} - -\end{multicols} -\end{document} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/live-2005.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/live-2005.tex deleted file mode 100644 index 5b525535c63..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/live-2005.tex +++ /dev/null @@ -1,3174 +0,0 @@ -% $Id: live.tex 1513 2006-02-13 00:22:35Z 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} -\begin{document} - -\title{% - {\huge \textit{The \protect\TL{} Guide}\\\strut} - {\LARGE \textsf{\TK{} 2005}} -} - -\author{Sebastian Rahtz \& Karl Berry, editors \\[3mm] - \url{http://tug.org/texlive/} - } - -\date{October 2005} - -\maketitle - -\begin{multicols}{2} -\tableofcontents -\listoftables -\end{multicols} - -\section{Introduction} -\label{sec:intro} - -This document describes the main features of the \TL{} software -distribution\Dash \TeX{} and friends for \acro{GNU}/Linux and other Unix -flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is not -especially useful for older Mac or \acro{MS-DOS} systems.) - -\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. It is part of the even larger \TK{} -(briefly described below in section~\ref{sec:struct-tl}, -\p.\pageref{sec:struct-tl}). Both are cooperative efforts by the \TeX\ -user groups. - -For newer versions of the packages included here, please check -\acro{CTAN}: \url{http://www.ctan.org}. - -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{Basic usage of \protect\TL{}} -\label{sec:basic} - -You can use \TL{} in three principal ways: - -\begin{enumerate} - -\item You can run \TL{} directly from the \pkgname{live} \DVD -(see section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). -This takes almost no disk space, and gives you immediate access to -everything in \TL{}. Of course performance will be worse than running -on local disk, but you may well find it useful. - -\item You can install all or part of \TL{} to a local disk, from either -the \DVD\ or the \pkgname{inst} \acro{CD}. This is the most common use -of \TL. You will need (approximately) 100 megabytes for the most -minimal system, and upwards of 1.3 gigabytes for a full system. - -\item You can integrate a particular package or collection into your -existing \TeX{} system, either a \TL{} system you installed -earlier, or a different system. - -\end{enumerate} - -\noindent All of these are described in detail in the \acro{OS}-specific -installation sections following, but here is a quick start: - -\begin{itemize*} - -\item The main installation script for Unix and \MacOSX{} is -\texttt{install-tl.sh}. - -\item The single package installation script is \texttt{install-pkg.sh}. - -\item The installation program for Windows is \texttt{tlpmgui.exe}. -It can be used also for adding or removing the packages. -See section~\ref{sec:win-install} below for more information. - -\end{itemize*} - - -\subsection{Getting help} -\label{sec:help} - -The \TeX{} community is both active and friendly, and virtually all -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 forego \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-doc/doc/english/FAQ-en}, 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 -\OnCD{texmf-doc/doc/english/catalogue}, or -\url{http://www.ctan.org/tex-archive/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/groups?group=comp.text.tex} 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 on asking questions in such a -way that you're most likely to get an 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{}, you are better off writing to that program's maintainer or -mailing list. - -\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. Welcome to -\TeX{}! - - -% 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{Structure of \protect\TeX\protect\ Live} -\label{sec:struct-tl} - -This section describes the structure and contents of \TL{} and the -\TK{} of which it is a part. - -\subsection{Multiple distributions: \protect\pkgname{live}, - \protect\pkgname{inst}, - \protect\pkgname{protext}} -\label{sec:multiple-dist} - -Space limitations of \acro{CD-ROM} format have forced us to divide -\TK{} into several distributions, as follows. - -\begin{description} - -\item [live] A complete system on \acro{DVD}; it is too large -for \acro{CD}. It can be run live or installed to disk. It also -includes a snapshot of the \CTAN{} repository, the \pkgname{protext} -distribution for Windows and the Mac\TeX\ distribution for \MacOSX, entirely -independent of \TL{}, as well as assorted other packages in a -\texttt{texmf-extra} directory. - -\CTAN{}, \pkgname{protext}, Mac\TeX, and \texttt{texmf-extra} do not follow -the same copying conditions as \TL{}, so be careful when redistributing or -modifying. - -\item [inst(allable)] A complete system on \CD; in order to make this fit, -the packages and programs are compressed. Therefore, it is not possible -to run \TeX\ directly from the installable \CD, you have to install it -to disk (hence its name). Installation is described in subsequent sections. - -\item [protext] 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. It can be run live, or installed to disk. -The \ProTeXt\ home page is \url{http://tug.org/protext}. - -\ProTeXt\ is provided as both the top level of the \pkgname{live} \DVD\ -and on its own \CD\ (for those who cannot use the \DVD). - -\end{description} - -\noindent You can tell which type of distribution you're in by looking -for a \texttt{00\var{type}.TL} file at the top of the \TL{} directory. -This file also contains the \TL{} release date. - -Naturally, each user group chooses what to distribute, at its own -discretion. (\acro{TUG} is sending all three discs above to all of its -members.) - - -\subsection{Top level directories} -\label{sec:tld} - -Here is a brief listing and description of the top level directories in -the \TL{} distribution. On the \pkgname{live} \DVD, the entire \TL{} -hierarchy is in a subdirectory \dirname{texlive2005}, not at the top -level of the disc. - -\smallskip -\begingroup - \renewcommand{\arraystretch}{1.3} % open up interrow spacing -\begin{tabular}{>{\ttfamily}lp{.78\hsize}} -bin & The \TeX{} system programs, arranged by platform. \\ -source & The source of all programs, including the main \Webc{} - \TeX{} and \MF{} distributions. These are stored in a - \cmdname{bzip2}-compressed tar archive. \\ -support & Assorted auxiliary packages and programs. These are - \emph{not} installed automatically. This includes - assorted editors and \TeX\ shells. \\ -texmf & Tree for the programs, along with their support files and - documentation. Does not include \TeX\ formats and packages. - (\texttt{TEXMFMAIN} in the next section.) \\ -texmf-dist & The main tree of formats and packages. - (\texttt{TEXMFDIST} in the next section.) \\ -texmf-doc & Tree for self-contained pure documentation, arranged by - language. \\ -texmf-var & Tree for files automatically generated and stored. - (\texttt{TEXMFSYSVAR} in the next section.) \\ -xemtex & Tree for supporting programs used only in Windows. - These programs generally come pre-installed on Unix systems, or are - at least easy to compile. \\ -\end{tabular} -\endgroup - -\smallskip - -In addition to the directories above, the installation scripts and -\filename{README} files (in various languages) are at the top level of -the distribution. - -The \dirname{texmf-doc} directory contains only documentation, but -it does not contain all the documentation. The documentation for the -programs (manuals, man pages, Info files) is in \dirname{texmf/doc}, -since the programs are in \dirname{texmf}. Similarly, the documentation -for \TeX\ packages and formats is in \dirname{texmf-dist/doc}. You can -use the \cmdname{texdoc} or \cmdname{texdoctk} programs to find any -documentation wherever it's located. The comprehensive links in the -top-level file \OnCD{doc.html} may also be helpful. - - -\subsection{Overview of the predefined texmf trees} -\label{sec:texmftrees} - -This section lists all predefined variables specifying texmf trees used -by the system, and their intended purpose. The command \texttt{texconfig -conf} shows you the values of these variables, so that you can easily -find out how they map to directory names in your installation. - -\begin{ttdescription} -\item [TEXMFMAIN] The tree which holds vital parts of the system - such as helper scripts (e.g., \verb+web2c/mktexdir+), pool files and - other support files. -\item [TEXMFDIST] The tree which holds the main set of macro packages, - fonts, etc., as originally distributed. -\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 depends on \verb+$HOME+ by default, % $ - which dynamically adjusts for each user to an individual - directory. -\item [TEXMFCONFIG] The tree used by te\TeX's utilities - \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified - configuration data. Under \verb+$HOME+ by default. %$ -\item [TEXMFSYSCONFIG] The tree used by te\TeX's utilities - \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to - store modified configuration data. -\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and - \verb+fmtutil+ to store (cached) runtime data such as format files and - generated map files. Under \verb+$HOME+ by default. %$ -\item [TEXMFSYSVAR] The tree used by \verb+texconfig-sys+, - \verb+updmap-sys+ and \verb+fmtutil-sys+ to store (cached) runtime - data such as format files and generated map files. -\end{ttdescription} - -For more discussion of \texttt{texconfig} and related utilities, please -see section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. - - -\subsection{Extensions to \protect\TeX} -\label{sec:tex-extensions} - -\TL{} contains several extended versions of \TeX: - -\begin{description} - -\item [\eTeX] adds a small but powerful 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] writes Acrobat \acro{PDF} format as well as \dvi{}. The -\LaTeX{} \pkgname{hyperref} package has an option `\optname{pdftex}' -which turns on all the program features. See -\OnCD{texmf/doc/pdftex/manual/} for the manual, and -\OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex}. - -\item [pdfe\TeX] combines the pdf\TeX\ and \eTeX\ extensions. This is -the default program for all formats except plain \TeX. -See above for documentation. - -\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. See -\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). - -\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. -See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. - -\end{description} - - -\subsection{Other notable programs in \protect\TL} - -Here are a few other commonly-used programs included in \TL{}: - -\begin{cmddescription} - -\item [bibtex] bibliography support. - -\item [makeindex] 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 [dv2dt, dt2dv] convert \dvi{} to/from plain text. - -\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). See the \pkgname{ps4pdf} and -\pkgname{pdftricks} packages for still more alternatives. - -\item [psselect, psnup, \ldots] \PS{} -utilities. - -\item [lacheck] \LaTeX{} syntax checker. - -\item [texexec] Con\TeX{}t and \acro{PDF} processor. - -\item [tex4ht] \TeX{} to \acro{HTML} converter. - -\end{cmddescription} - - -\section{Unix installation} -\label{sec:unix-install} - -As introduced in section~\ref{sec:basic} (\p.\pageref{sec:basic}), -\TL{} has three principal uses: - -\begin{enumerate} -\item Run directly from media. -\item Install to disk. -\item Integrate a particular package or collection into your existing -\TeX{} installation. -\end{enumerate} - -\noindent The following sections describes the Unix-specific procedures -for each of these. - -\ifSingleColumn \begin{figure}[ht]\noindent \fi -\begin{warningbox} -\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) -format, \emph{with} Rock Ridge (and Joliet, for Windows) -extensions. Therefore, in order to take full advantage of the \TK{} -under Unix, your system needs to be able to use the Rock Ridge -extensions. Please consult the documentation for your \cmdname{mount} -command to see how to do this. If you have several different machines -on a local network, you may be able to mount the discs on one which -does support Rock Ridge, and use this with the others. - -\leavevmode\quad Modern systems should be able to use the discs without -problems. If troubles, let us know. The discussion below assumes you -have been able to mount the \CD{}s with full Rock Ridge compatibility. -\end{warningbox} -\ifSingleColumn\end{figure}\fi - - -% -\subsection{Running \protect\TL{} directly from media (Unix)} - -\def\runlive{% text repeated in windows section -It is possible to use the \TeX{} system directly from the \pkgname{live} -\DVD{}, without installing the distribution to disk. (Thus the name -\TeX\ `Live', in fact.) It is \emph{not} possible to run \TeX{} -directly from the other \CD{}s (see section~\ref{sec:multiple-dist}, -\p.\pageref{sec:multiple-dist}). -} - -\def\startinst{% repeated in other subsections -To start, you mount the \CD{} or \DVD{}, with Rock Ridge extensions -enabled. The exact command to do this varies from system to system; the -following works under Linux, except the name of the device -(\filename{/dev/cdrom}, here) may vary. (All our examples will use -\texttt{>} as the shell prompt; user input is -\Ucom{\texttt{underlined}}.) -\begin{alltt} -> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} -\end{alltt} - -\noindent Change the current directory to the mount point: -\begin{alltt} -> \Ucom{cd /mnt/cdrom} -\end{alltt} - -\noindent Under \MacOSX, the directory is typically under -\dirname{/Volumes}, and the media will be mounted automatically. -} - -\def\installtlsh{ -Run the installation script \filename{install-tl.sh}: -\begin{alltt} -> \Ucom{sh install-tl.sh}\\ -Welcome to TeX Live... -\end{alltt} - -\noindent After various greeting messages and a list of the main menu -options, the installation will ask you to enter a command. Do this by -typing the desired character and hitting return; don't type the angle -brackets shown. Either uppercase or lowercase is ok; we'll use -lowercase in our examples. -} - -\runlive -\startinst -\installtlsh - -For running live, our first command will be \Ucom{d} and then the -subcommand \Ucom{1} to set directories. Even in this case, we must -choose a directory on the local disk to place files that the \TeX{} -system itself generates, such as fonts and formats, and also to provide -a place for updated configuration files, if need be. - -We'll use \dirname{/opt/texlive2005} in this example. It's good to -include the year in the name, as these generated files are not -compatible from release to release. (If the default value of -\dirname{/usr/local/texlive/2005} works for you, then you can skip this -step.) - -\begin{alltt} -Enter command: \Ucom{d} -Current directories setup: -<1> TEXDIR: /usr/local/texlive/2005 -... -Enter command: \Ucom{1} -New value for TEXDIR [/usr/local/texlive/TeX]: \Ucom{/opt/texlive2005} -... -Enter command: \Ucom{r} -\end{alltt} - -\noindent Back at the main menu, our second and last command is -\Ucom{r}, to set up for running live off the media without installing -to disk: -\begin{alltt} -Enter command: \Ucom{r} -Preparing destination directories... -... -Welcome to TeX Live! -> -\end{alltt} - -\noindent And we are back at the system prompt, as shown. - -Next, it is necessary to alter two environment variables: -\envname{PATH}, to an architecture-dependent value (so that we can run -the programs), and \envname{TEXMFSYSVAR}, to the value specified above. -See table~\ref{tab:archlist} for a list of the architecture names for -the different systems. - - -\def\textruntexconfig{% -After the main installation has completed, and environment variables -have been set, the last step is to run \cmdname{texconfig} or -\cmdname{texconfig-sys} to customize your installation to your needs. -This is explained in section~\ref{sec:texconfig}, -\p.\pageref{sec:texconfig}. -} -\textruntexconfig - -\begin{table*}[ht] -\caption[Supported system architectures.]{Supported system -architectures.} -\label{tab:archlist} -\begin{tabular}{>{\ttfamily}ll} -alpha-linux & HP Alpha GNU/Linux \\ -%alphaev5-osf4.0d & HP Alphaev5 OSF \\ -%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 \\ -i386-darwin & Intel x86 \MacOSX \\ -i386-freebsd & Intel x86 FreeBSD \\ -i386-linux & Intel x86 GNU/Linux \\ -%i386-openbsd3.3 & Intel x86 OpenBSD \\ -%i386-solaris2.8 & Intel x86 Solaris \\ -mips-irix & SGI IRIX \\ -powerpc-aix & IBM RS/6000 AIX \\ -powerpc-darwin & PowerPC \MacOSX \\ -sparc-linux & Sun Sparc GNU/Linux \\ -sparc-solaris & Sun Sparc Solaris \\ -win32 & Windows (32-bit) \\ -x86\_64-linux & Intel x86 64-bit GNU/Linux \\ -\hline -\end{tabular} -\end{table*} - -\label{text:path} -The syntax for setting the environment variables, and the initialization -file to put them in, depends on the shell you use. If you use a -Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et -al.), put the following into your \filename{$HOME/.profile} file: -\begin{alltt} -PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH -TEXMFSYSVAR=/opt/texlive2005/texmf-var; export TEXMFVAR -\end{alltt} - -\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), -put the following into your \filename{$HOME/.cshrc} file: -\begin{alltt} -setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH -setenv TEXMFSYSVAR /opt/texlive2005/texmf-var -\end{alltt} - -\noindent Then log out, log back in, and test your installation -(see section~\ref{sec:test-install}, \p.\pageref{sec:test-install}). - -\def\textifindoubt{% -If in doubt, please ask any local system gurus to help you with -problems; for example, the way to mount the \TL{} media, which -directory or directories to use, and precise details of the changes to -your personal initialization files can and do vary from site to site. -} -\textifindoubt - - -% -\subsection{Installing \protect\TeX\protect\ Live to disk} -\label{sec:unix-install-disk} - -It is possible, indeed typical, to install the \TL{} distribution to -hard disk. This can be done from either the \pkgname{live} or -\pkgname{inst} distributions. (See section~\ref{sec:multiple-dist}, -\p.\pageref{sec:multiple-dist}, for an explanation of the different -distributions.) - -\startinst -\installtlsh - -Table~\ref{tab:main-menu-options} briefly lists the options in the main -menu. The order in which you select the options makes little -difference, except that \Ucom{i} must be last. It's reasonable to go -through them in the order presented here. - -% apparently here.sty [H] doesn't support table*. -\begin{table}[H] -\caption{Main menu options for the installation.} -\label{tab:main-menu-options} -\begin{tabular}{>{\ttfamily}ll} -p & The platform you are running on.\\ -b & The architectures for which to install binaries.\\ -s & The base installation scheme to use (minimal, recommended, - full, etc.)\\ -c & Override the base scheme for individual collections.\\ -l & Override for language collections.\\ -d & Directories in which to install.\\ -o & Other options.\\ -i & Perform the installation.\\ -\end{tabular} -\end{table} - -Here are further details on each option. - -\textbf{\optname{p} -- Current platform.} Since the installation script -automatically guesses which platform you're running on, it is usually -unnecessary to use this option. It's there in case you need to override -the automatic detection. - -\textbf{\optname{b} -- Binary architectures.} By default, only the -binaries for your current platform will be installed. From this menu, -you can select installation of binaries for other architectures as well -(or omit installing the current platform). This can be useful if you are -sharing a \TeX\ tree across a network of heterogenous machines. For a -list of the supported architectures, see table~\ref{tab:archlist}, -\p.\pageref{tab:archlist}. - -\textbf{\optname{s} -- Base installation scheme.} From this menu, you -can choose an overall set of package collections, called a ``scheme''. -The default \optname{full} scheme installs everything available, but you -can also choose the \optname{basic} scheme for a minimal system, or -\optname{medium} to get something in between. There are also specific -sets for Omega and \acro{XML}. - -\textbf{\optname{c} -- Individual collections.} From this menu, you can -override the scheme's set of collections to install. Collections are -one level more detailed than schemes\Dash collections consist of one or -more packages, where packages (the lowest level grouping in \TL) contain -the actual \TeX\ macro files, font families, and so on. In this menu, -selection letters are case-sensitive. - -\textbf{\optname{l} -- Language collections}. This menu has the same -basic purpose as \Ucom{c}, to override the collection set in the chosen -scheme. In this case, the collections are specifically for different -languages. Selection letters are case-sensitive here too. Here is a -list of the language collections in \TL: - -% xx really should generate list from texmf/tpm/collection/tex-lang* -% a la install-tl.sh. -\begin{tabbing} -\hspace{.25\linewidth} \= -\hspace{.25\linewidth} \= -\hspace{.25\linewidth} \= -\hspace{.25\linewidth} \kill -(some) African scripts \> -Arabic \> -Armenian \> -Chinese\,Japanese\,Korean \\ -Croatian \> -Cyrillic \> -Czech/Slovak \> -Danish \\ -Dutch \> -Finnish \> -French \> -German \\ -Greek \> -Hebrew \> -Hungarian \> -Indic \\ -Italian \> -Latin \> -Manju \> -Mongolian \\ -Norwegian \> -Polish \> -Portuguese \> -Spanish \\ -Swedish \> -Tibetan \> -\acro{UK} English \> -Vietnamese \\ -\end{tabbing} - -\noindent Language collections typically include fonts, macros, -hyphenation patterns, and other support files. (For instance, -\pkgname{frenchle.sty} is installed if you select the \optname{French} -collection.) In addition, installing a language collection will alter -the \filename{language.dat} configuration file controlling which -hyphenation patterns are loaded. - -\textbf{\optname{d} -- Installation directories}. Three directories can -be changed here: -\label{text:instdir} - -\begin{ttdescription} -\item [TEXDIR] The top-level directory under which -everything else will be installed. The default value is -\dirname{/usr/local/texlive/2005}, and is often changed. We recommend -including the year in the name, to keep different releases of \TL{} -separate. (You may wish to make a version-independent name such -\dirname{/usr/local/texlive} via a symbolic link, which you can then -update after testing the new release.) - -Under \MacOSX, the usual frontends look for \TeX{} in -\dirname{/usr/local/teTeX}, so you may wish to install \TL{} there. - -\item [TEXMFLOCAL] This tree is where the \TeX{} system (not as part of -the initial installation, but rather as time goes by) puts -non-version-specific files, primarily fonts. The default value is -\dirname{/usr/local/texlive/texmf-local}, independent of the current -\TL{} release, because it's also the recommended location to put any -local packages or configuration settings. - -\item [TEXMFSYSVAR] This tree is where \cmdname{texconfig-sys} puts -files that \emph{are} version-specific. The default value is -\dirname{TEXDIR/texmf-var}, and there's generally no reason to change -it. There is also \envname{TEXMFSYSCONFIG}, which is where -\cmdname{texconfig} looks for modified configuration data. See -section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig} for more -information. - -\end{ttdescription} - -\textbf{\optname{o} -- Other options.} From this menu, you can select -the following general options: - -\begin{ttdescription} -\item [a] Specify an alternate directory for generated fonts. -The default is to use the \envname{TEXMFVAR} tree, as explained above. -Setting this is useful if you plan to mount the main tree read-only, and -therefore you need another location (perhaps host-specific) for -dynamically created fonts. - -\item [l] Create symbolic links for the binaries, man pages, -and\slash or \acro{GNU} Info files in other locations. For example, you may -wish to make the man pages available under \dirname{/usr/local/man} and -the Info files available under \dirname{/usr/local/info}. (Of course -you need appropriate privileges to write in the specified directories.) - -It is not advisable to overwrite a \TeX\ system that came with your -system with this option. It's intended primarily for creating the links -in standard directories that are known to users, such as -\dirname{/usr/local/bin}, which don't already contain any \TeX\ files. - -\item [d] Skip installation of the font/macro documentation tree. -This is useful if you need to save space, or if you've previously -installed the documentation elsewhere. - -\item [s] Skip installation of the main font/macro source -tree. This is useful if you are arranging to share that tree between -machines and\slash or architectures in some other way, such as \acro{NFS}. - -\end{ttdescription} - -\textbf{i -- Perform installation.} When you're satisfied with your -configuration options, enter \Ucom{i} to actually do the installation -from the media to your chosen locations. - -% text is similar to above, but no TEXMFSYSVAR, so we have to write out. -After the installation completes, your next step is to include the -architecture-specific subdirectory of \dirname{TEXDIR/bin} in your -\envname{PATH}, so the newly-installed programs can be found. The -architecture names are listed in table~\ref{tab:archlist}, -\p.\pageref{tab:archlist}, or you can simply list the directory -\dirname{TEXDIR/bin}. - -The syntax for doing this, and the initialization file to use, depends -on your shell. If you use a Bourne-compatible shell (\cmdname{sh}, -\cmdname{bash}, \cmdname{ksh}, et al.), put the following into your -\filename{$HOME/.profile} file: - -\begin{alltt} -PATH=/usr/local/texlive/2005/bin/\var{archname}:$PATH; export PATH -\end{alltt} - -\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), -put the following into your \filename{$HOME/.cshrc} file: -\begin{alltt} -setenv PATH /usr/local/texlive/2005/bin/\var{archname}:$PATH -\end{alltt} - -\textruntexconfig - -Here is a minimal annotated example which accepts the default -directories and installs binaries for the current system only. Thus, -only one command is needed, \Ucom{i} for install. The \texttt{>} is the -shell prompt as usual. - -\begin{alltt} -> \Ucom{sh install-tl.sh} -\Ucom{i} # perform installation -> \Ucom{texconfig} ... # see section \ref{sec:texconfig} -# New PATH element, with Linux as the example: -> \Ucom{PATH=/usr/local/texlive/2005/bin/i386-linux:$PATH; export PATH} -\end{alltt} - -\textifindoubt - - -% -\subsection{Installing individual packages to disk} - -You can add individual packages or collections from the current -distribution to an existing non-\TL{} setup, or an earlier -\TL{} installation. - -\startinst - -Run the installation script \filename{install-pkg.sh} (not -\filename{install-tl.sh}, which is intended for complete installations -only): -\begin{alltt} -> \Ucom{sh install-pkg.sh \var{options}} -\end{alltt} - -The first set of options controls what gets read: - -\begin{ttdescription} -\item [-{}-package=\var{pkgname}] The individual package to work on. - -\item [-{}-collection=\var{colname}] The individual collection to work on. - -\item [-{}-nodoc] Exclude documentation files from the operation. - -\item [-{}-nosrc] Exclude source files from the operation. - -\item [-{}-cddir=\var{dir}] Source directory to read from; defaults -to the current directory. If you followed the instructions above, that -will be the distribution directory, and won't need to be changed. - -\item [-{}-listdir=\var{dir}] The so-called `lists' directory within -\var{cddir} from which to read the package information. The only -reason to change the default is if you're making changes to \TL{} -yourself. - -\end{ttdescription} - -What actually happens is controlled by the following options. If -neither of these are specified, the default action is to install the -selected files. The main destination tree is found by expanding -\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by -setting either the environment variable \envname{TEXMFMAIN} or -\envname{TEXMF}. - -\begin{ttdescription} -\item [-{}-listonly] List the files that would be installed, but don't -actually install anything. - -\item [-{}-archive=\var{tarfile}] Instead of installing the files into -the \TeX{} system, make a \cmdname{tar} archive. - -\end{ttdescription} - -Additional options: - -\begin{ttdescription} - -\item [-{}-config] After installation, run \code{texconfig init}. - -\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to -rebuild the filename database. - -\item [-{}-verbose] Give more information as the script runs. - -\end{ttdescription} - -Here are some usage examples: - -\begin{enumerate} - -\item To see the files in the package \pkgname{fancyhdr} without -installing it: - -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} -\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} -> \Ucom{--listonly} -\fi{} -texmf/doc/latex/fancyhdr/README -texmf/doc/latex/fancyhdr/fancyhdr.pdf -... -\end{alltt} - -\item Install the \LaTeX{} package \pkgname{natbib}: -\begin{alltt} -> \Ucom{sh install-pkg.sh --package=natbib} -\end{alltt} - -\item Install the \LaTeX{} package \pkgname{alg} without source files or -documentation: -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} -\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} -> \Ucom{-{}-nosrc -{}-nodoc} -\fi\end{alltt} - -\item Install all the packages in the collection of additional -plain \TeX\ macros: -\begin{alltt} -> \Ucom{sh install-pkg.sh --collection=tex-plainextra} -\end{alltt} - -\item Write all files in the \pkgname{pstricks} package to a -\cmdname{tar} file in \path|/tmp|: -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} -\else -> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} -> \Ucom{-{}-archive=/tmp/pstricks.tar} -\fi\end{alltt} - -\end{enumerate} - -\textifindoubt - - -% -\section{Post-installation} -\label{sec:postinstall} - -After the main installation is done, for any operating system, the -remaining steps are to configure the system for your local needs, and -perform some basic tests. - -Another sort of post-installation is to acquire packages, fonts, or -programs that were not included in \TL{}. The basic idea is to -install such additions in the \envname{TEXMFLOCAL} tree (if you -installed to disk), or \envname{TEXMFSYSVAR} (if you are running live). -See the ``Installation directories'' option on \p.\pageref{text:instdir}. - -Unfortunately, the details can and do vary widely, and so we do not attempt to -address them here. Here are some external links to descriptions: -\begin{itemize*} -\item -\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} -\item -\url{http://www.ctan.org/installationadvice} -\item -\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} -\item -\url{http://www.ctan.org/tex-archive/info/Type1fonts} for -installation information for fonts in particular. -\end{itemize*} - - -\subsection{The \protect\cmdname{texconfig} program} -\label{sec:texconfig} - -At any time after installation, you can and should use the program -\cmdname{texconfig} to configure the system to fit your local needs. It -is installed in the architecture-specific subdirectory -\texttt{TEXDIR/bin/\var{arch}} along with everything else. - -If you run it without arguments, it will enter full-screen mode and -allow you to view and change options interactively. - -You can also run it with various command-line options. Here are some of -the most common (\TL{} is configured for the A4 paper size by default): - -\begin{ttdescription} - -\item [texconfig paper letter] Set default paper size for -various programs and drivers (\cmdname{pdftex}, \cmdname{dvips}, -\cmdname{dvipdfm}, \cmdname{xdvi}) to be \acro{US} letter. The other -allowable size is \optname{a4}, which is the default. - -\item [texconfig rehash] Update all the \TeX{} ``filename databases'', -after adding or removing files. - -\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. -(See also the main \TeX{} \acro{FAQ} in \OnCD{texmf-doc/doc/english/FAQ-en}.) - -\item [texconfig help] Output help information for \cmdname{texconfig}. - -\end{ttdescription} - -Of course, \cmdname{texconfig} can only support changing a few of the -many options and configuration parameters in a \TeX{} system. The main -configuration file for the base \Webc{} programs is named -\filename{texmf.cnf}. You can find its location by running -\samp{kpsewhich texmf.cnf}; it contains many comments explaining the -default settings and useful alternatives. - -As of 2005, \cmdname{texconfig} alters files in a user-specific -directory, namely \dirname{$HOME/.texlive2005}. If you install \TeX\ -just for yourself, that is unlikely to make a difference. But if you -install \TeX\ on a multi-user system, you will want to change the -configuration for the whole system. In this case, run -\cmdname{texconfig-sys} instead of \cmdname{texconfig}. - -Likewise, the \cmdname{updmap} and \cmdname{fmtutil} scripts were -changed, to work under \dirname{$HOME/.texlive2005}. To alter system -directories, use \cmdname{updmap-sys} and \cmdname{fmtutil-sys}. - -In particular, for multi-user systems, you will probably want to -pregenerate the standard formats with \texttt{fmtutil-sys --missing}. -Otherwise, each user will end up with their own formats. - -Also, if you have a personally-modified copy of \filename{fmtutil.cnf} -or \filename{updmap.cfg}, instead of using the ones generated by -installation, they must be installed in the tree referenced by the -variable \envname{TEXMFSYSCONFIG}. - -The variables specifying the directories altered by these commands are -listed in section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. -You can see the actual directories by running \texttt{texconfig conf}, -and you can change them by editing \filename{texmf.cnf}. - - -\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; 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.141592 (Web2C 7.5.5) -kpathsea version 3.5.5 -... -\end{alltt} -If this comes back with `command not found' instead of version and -copyright information, most likely you don't have the correct -\dirname{bin} subdirectory in your \envname{PATH}. See -the environment-setting information on \p.\pageref{text:path}. - -\item Process a basic \LaTeX{} file: -\begin{alltt} -> \Ucom{latex sample2e.tex} -This is pdfeTeXk, Version 3.141592... -... -Output written on sample2e.dvi (3 pages, 7496 bytes). -Transcript written on sample2e.log. -\end{alltt} -If this fails to find \filename{sample2e.tex} or other files, perhaps -you have interference from old environment variables or configuration -files. For a deep analysis, you can always ask \TeX{} to report on -exactly what it is searching for, and finding; see ``Debugging actions'' -on page~\pageref{Debugging}. - -\item Preview the result online: -\begin{alltt} -> \Ucom{xdvi sample2e.dvi} -\end{alltt} -(Under Windows, the analogous command is \cmdname{windvi}.) 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 the system.) -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} -Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently -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. - -\item Other standard test files you may find useful: - -\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} -You can process these in the same way as we did with -\filename{sample2e.tex}. - -\end{enumerate} - -If you are new to \TeX{}, or otherwise need help with actually -constructing \TeX{} or \LaTeX{} documents, please visit -\url{http://tug.org/begin.html} for some introductory resources. - - -\section{\MacOSX{} installation} -\label{sec:mac-install} - -The recommended way to install \TeX\ on \MacOSX\ is from the Mac\TeX\ -distribution, new in 2005. This is provided on the \pkgname{live} -\DVD{} in the top-level \dirname{mactex/} directory. It contains its -own (native) installer for a full \TeX\ distribution, based on a -combination of te\TeX\ and \TL, along with many additional applications -and documentation. The project web page is \url{http://tug.org/mactex}. - -If you prefer, installation of \TeX{} under \MacOSX{} can also be done -directly from \TL, using the \filename{install*} scripts, as follows. - -In order to run the installation scripts under \MacOSX, you need to have -the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 -or later, you have \cmdname{bash}, and can proceed. If you're running -an earlier \MacOSX{} version, however, the default shell is -\cmdname{zsh}, which won't work; you'll need to get \cmdname{bash} from -the Internet, or more likely upgrade your system. - -Once you have \cmdname{bash}, the Unix installation documentation in the -previous section can be followed. See section~\ref{sec:unix-install} on -\p.\pageref{sec:unix-install}; \MacOSX-specific notes are included there -where needed. - -\section{Windows installation} -\label{sec:win-install} - -In this release of \TL{}, happily, the distribution once -again has a native Windows installer, named \cmdname{tlpmgui.exe}. (See -section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}, for an -explanation of the different distributions.) - -\cmdname{tlpmgui} has essentially the same options as the Unix -installer, only done through a GUI interface: selecting schemes, -individual collections, installation directories, and so on. -Section~\ref{sec:unix-install-disk} on -\p.\pageref{sec:unix-install-disk} describes the basic elements. It -also allows some post-installation activities such as adding/removing -packages, updating the filename database and building formats. -Moreover, \cmdname{tlpmgui} can setup the system for running -programs directly from the \DVD. - -For those who like to look underneath the hood, \cmdname{tlpmgui} uses -as its ``engine'' a command-line Windows program named \cmdname{tlpm}. - -The Windows \TeX{} system included in \TL{} is based on new binaries -borrowed from the \XEmTeX{} project, formerly known as \fpTeX{} (see -\url{http://www.metz.supelec.fr/~popineau/xemtex-1.html}). -It also includes some older (but still working) tools, notably -a \texttt{dvi} previewer, \textsf{Windvi}, which is similar in usage to -the established Unix \textsf{xdvi}. The documentation can be found in -\OnCD{texmf/doc/html/windvi/windvi.html}. - -\TL{} can be installed on systems running Windows 98, \acro{ME}, -\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) -and \acro{MS-DOS} are not supported. - -\textbf{Warning:} Win9.x users must ensure they have enough environment - space before undertaking installation. The \cmdname{tlpmgui.exe} - program won't change the environment size for them. A few environment - variables will be created and it is possible you run out of - environment space. Add \texttt{SHELL=COMMAND.COM /E:4096 /P} in the - config.sys file in order to increase your environment size. - -\subsection{Installing \protect\TeX\protect\ Live to disk} - -After inserting the \TL{} CD into the \acro{CD} drive, autostart should -activate \cmdname{tlpmgui}. If it does not, click \guiseq{Start\arw Run}, -then type \verb|:\setup-win32\tplmgui.exe| (or -\verb|:\texlive\setup-win32\tplmgui.exe| if you are -installing from the TeX Collection DVD), where \verb|| -is the drive letter with the TeX Live CD (or TeX Collection DVD), and -then click OK. - -The installation window titled \guiseq{TeX Live installation and maintenance -utility} should open. It contains the following sections: \guiseq{Main -customization}, \guiseq{Install}, \guiseq{Select a scheme}, \guiseq{Select -systems}, \guiseq{Directories} and \guiseq{Options}. - -In the \guiseq{Directories} section the installation drive (directory) next -to the \guiseq{CD/DVD} button should be displayed (e.g., \texttt{F:/} or \texttt{F:/texlive/} for the DVD), but -if it is not, then click the \guiseq{CD/DVD} button and select the \acro{CD/DVD} -drive, with the \TL{} CD (or TeX Collection DVD). - -The directory in which you wish to install the software can be set by -clicking the \guiseq{TLroot} button. This directory will be set as -\path|TLroot| environment variable for later usage. The \path|TEXMFTEMP| and -\path|TEXMFCNF| environment variables as displayed next to the -\guiseq{TEXMFTEMP} and \guiseq{TEXMFCNF} buttons will be adjusted -automatically and set during installation, but they can also be adjusted -manually now to suit special needs. - -In the \guiseq{Select a scheme} section the desired \TL{} installation scheme -should be chosen by clicking the radio button labelled with the installation -scheme name (e.g., \guiseq{scheme-gust}). Each scheme is accompanied by an -\guiseq{Info} button which, when clicked, displays a short description of the -relevant scheme. - -A scheme is a large set of files targeted at some kind of usage. There are -generic schemes for basic, medium and full installations. The remaining ones -are either targeted at certain LUGs (i.e., what GUST or GUTenberg propose -for their members) or application targeted (e.g., for XML and \TeX{} -cooperation). A preselected scheme can be refined. This is done in the -\guiseq{Main customization} section by choosing additional collections from -\guiseq{Standard collections} or \guiseq{Language collections}. For example, -by clicking the \guiseq{Select} button labelled \guiseq{Standard -collections}, additional collections like Metapost, Omega or documentation -in different languages can be selected. - -\textbf{Note:} The \guiseq{Ghostscript}, \guiseq{Perl} and \guiseq{Wintools} -collections are selected by default and should be installed unless they are -already installed and you really know what you are doing. This is because -they are required by many important tools. The \verb|PERL5LIB| and -\verb|GS_LIB| environment variables will be set too. - -Next, clicking the \guiseq{Select} button labelled \guiseq{Language -Collections} in the \guiseq{Main customization} section opens the -\guiseq{Language collections} window in which the installation language can -be chosen by ticking the box next to the language. - -Next, click the \guiseq{Install} button in the \guiseq{Install} section to -start the installation proper process. - -The \TL{} system needs some post-processing steps (format files -generation, ls-R databases generation, environment variables, etc.). All -these operations are done there, some of them can be lengthy. So please wait -until you see a statement about the successfully finished installation. - -The shortcut for \cmdname{tlpmgui} will be added to the -\guiseq{Start\arw Programs\arw TeXLive2005} menu. - -If it is needed (Win9x/WinME), you will be asked to reboot your computer. - -\subsection{Support packages for Windows} -\label{sec:win-xemtex} - -To be complete, a \TL installation needs support packages that are not -commonly found on a Windows machine. Many scripts are written using the Perl -language. Some important tools require the Ghostscript \PS{} interpreter to -render or to convert files. A graphic file toolbox is also needed in some -cases. Last but not least, a \TeX-oriented editor makes it easy to type in -your \TeX{} files. - -All these tools are quite easy to find for Windows, but in order to try to -make your life even easier, we have put such a set of tools on \TL: -\begin{itemize*} -\item GNU \cmdname{Ghostscript} 7.07 -\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TL{} - Perl scripts. -\item win-tools is a set of small programs (bzip2, gzip, jpeg2ps - and tiff2png) -%\item a subset of \cmdname{ImageMagick} 5.5.6 -%\item the \cmdname{ISpell} checker -%\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support -%\TeX{} typesetting. -\end{itemize*} - -These packages are borrowed from the \XEmTeX{} distribution -(the successor of fp\TeX). - -Perl and Ghostscript are installed by default; you may explicitly -deselect them during installation if you already have them. - -If you don't want to install this bundle, then you are on your own to -install the required tools to complete your \TL{} system. Here is a -list of places to get those tools: - -\begin{description} -\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} -\item[Perl] \url{http://www.activestate.com/} (but you might need some - supplementary packages from CPAN: \url{http://www.cpan.org/}) -\item[ImageMagick] \url{http://www.imagemagick.com} -\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to - process or convert your graphic files. NetPBM home page is - \url{http://netpbm.sourceforge.net/} -\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the - user's taste. Here is a selection: - \begin{itemize*} - \item \cmdname{GNU Emacs} is available natively under Windows, see - \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} - \item \cmdname{XEmacs} is available natively under Windows, see - \url{http://www.xemacs.org/} - \item \cmdname{WinShell} is available on \TL in the \path|support| - directory, see \url{http://www.winshell.de} - \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} - \item \cmdname{Vim} is available on \TL{} in the - \path|support\vim| directory and the - reference site is \url{http://www.vim.org} - \item TeXnicCenter is free software, available from - \url{http://www.toolscenter.org} and in the proTeXt distribution. - \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} - \end{itemize*} -\end{description} - -You might want to install other tools that are not free\footnote{Not -free, that is, in the sense of freedom to modify and redistribute, -following free software guidelines. This does not mean you can't acquire -them for no money.} and therefore not included on \TL{}, such as -\cmdname{GSView}, the \cmdname{Ghostscript} companion to more -conveniently view PS/PDF files. \cmdname{GSView} is available from -\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. - -\section{Maintenance of the installation in Windows} - -If you have TeX Live installed, you can use \cmdname{tlpmgui} again -for modyfying and maintaining your installation. - -\subsection{Adding/removing packages} - -As the \cmdname{tlpmgui} shortcut is available in the \guiseq{Start\arw -Programs\arw TeXLive2005} menu, start it from here. The maintenance window -titled \guiseq{TeX Live installation and maintenance utility} shows. It -contains several tabs: \guiseq{Add Packages}, \guiseq{Remove packages}, -\guiseq{Manage installation}, \guiseq{Remove installation}. - -Click the tab labelled \guiseq{Add packages} or \guiseq{Remove packages} -to enter the relevant functionality and then: - -\begin{itemize} -\item In the first tab select the proper \CD{} drive (or \DVD with - \texttt{texlive} directory) by pressing the \guiseq{CD/DVD} button. -\item Click the \guiseq{Search} button in the \guiseq{Buttons} section to -display or refresh in the \guiseq{Select packages to\dots} section the -list of packages to install or remove. - -When adding packages, the list of installed packages is compared to the list -of packages available from your \CD/\DVD. Only packages not already installed are -displayed. It is up to you to select which packages you want to -install. - -When removing individual packages, only a list of installed packages -will be displayed. - -Please note that for both \guiseq{Add packages} and \guiseq{Remove packages} -the collections are listed first. - -\item Select a package by clicking on the name of the package. Clicking the -\guiseq{Info} button in the \guiseq{Buttons} section displays a short -description of the selected package in the window located in the \guiseq{Info -about the selected item} section. To select several packages at once hold -down one of the Ctrl or Shift keys at your keyboard while holding down the -left mouse button or drag the mouse pointer while holding down the left mouse -button. - -\item Click the \guiseq{Install} or \guiseq{Remove} button in the -\guiseq{Buttons} section to perform the appropriate action. -\end{itemize} - -\subsection{Configuring and other management tasks} - -The functions available in the tab labelled \guiseq{Manage the installation} -are helpful in performing actions needed when you want to add support for a -language which was not selected during the installation, or add/regenerate a -format which was not selected during the installation or was modified after -the installation. - -The following actions can be performed: - -\begin{itemize} -\item Refresh the \filename{ls-R} database -\item Create formats (All or Missing) -\item Edit \filename{language.dat} -\item Edit \filename{fmtutil.cnf} -\item Edit \filename{updmap.cfg} -\end{itemize} - -Note: you can close the Edit\dots{} window with the \guiseq{Cancel} or -\guiseq{Done} button; the latter will start rebuilding the format files -(or the fontmap files if you have edited \filename{updmap.cfg}), followed by a -\filename{ls-R} database files refresh. - -For more information about the configuration see section~\ref{sec:persconf}, -\p.\pageref{sec:persconf}. - -\subsection{Uninstalling \protect\TL{}} - -The tab labelled \guiseq{Remove the TeX Live installation} opens a window -which contains functionality not worth describing and we do not know who would -need it and what it is for\dots :-) - -Anyway, if you have the \path|texmf-local| directory for your local additions, -the removal procedure will not wipe it out or delete things in it. The \path|setup-win32| -directory containing \cmdname{tlpmgui} and related files will not be deleted. You will have to do some manual cleanup to -actually remove them. - -\subsection{Adding your own packages to the installation} - -First, whatever changes you make, \textbf{do not forget to rebuild the ls-R -database files}. Otherwise, your new files will not be found. You can do this -either via the \cmdname{tlpmgui} run and selection of the appropriate action -from the \guiseq{Manage the installation} tab, or manually running the -\file{mktexlsr} command. - -If you want to add files that are not provided by the \TL{} distribution, -it is recommended to put them in the \path|$TEXMFLOCAL| directory. This -way, you will be safe against upgrades of the \TL{} software. - -The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, -for example, you want to add the support file for the Maple symbolic -computation program, you will have to put the style files in:\\ -\path|c:\TeXLive2005\texmf-local\tex\latex\maple\|\\ and the -documentation files in:\\ \path|c:\TeXLive2005\texmf-local\doc\latex\maple\| - -\subsection{Running \texttt{tlmp.exe} from the command line} -The \cmdname{tlpm.exe} program which is used as engine by \cmdname{tlpmgui} -has a number of other useful options. You can get the list by running: -\begin{verbatim} -tlpm --help -\end{verbatim} - -More information and examples of use can be found in \path|tlpm.readme|. - -\subsection{Network installation} - -\KPS{} knows about UNC names, so you can use them to get your TEXMF -tree from the network. But there is better than this. -All the support files and configuration files, everything except the files in the -\path|bin/win32| are shareable with a \teTeX{} or Unix \TL{} installation. That means -you can use Samba either to mount from an NT server to a Unix -workstation or the converse. Several strategies are possible: -\begin{itemize} -\item Put everything on the server. Just add each set of files for the OS and -architecture you want to use in the \path|bin| directory. That means -for example \path|bin/win32| and \path|bin/i386-linux|. Next configure -your main variables. You can use UNC names to -point to the right directories under Win32. -\item Install a local copy for the binaries and format files. In this - case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that - will be accessed remotely. Set \path|$TEXMFVAR| to be a local - directory which will hold local configuration files and on-the-fly - generated files. -\end{itemize} - -\subsection{What's different in Windows?} - -The Windows version of \Webc{} has some specific features that should be -pointed out. - -\begin{description} -\item[\KPS{}] The hash-tables that \KPS{} builds are quite large for - the \TL{}. In order to cut down the starting time of any - \KPS{}-enabled program, these hash-tables have been put in shared - memory. This way, when you chain the execution of several such - programs, like \path|tex| calling \path|mpost| calling \path|tex|, - the overhead when starting each of the subprograms is - reduced. This change is hidden to the user, except if you set the - debug flag of kpathsea to the \path|-1| value: you will then trace - access to the shared memory, which is not what you want (it is - accessed very often!). What is useful in a log trace of the shared - memory access is still to be defined, so the situation might evolve - in the future. -\item[\cmdname{kpsecheck}] This command provides some options that did - not fit well into \cmdname{kpsewhich}. It will allow you to list all - the files that occur multiple times across your texmf trees. This - could be handy, but most of the time you will also get unwanted - output (like dozens of \path|README| files). It is noticeable - that all these files result in clashes inside the \KPS{}-hashing - mechanism; fortunately, \KPS{} never looks for these files. For - this reason, you can combine the \path|-multiple-occurrences| with 2 - other options for including or excluding any filename that match - some pattern (you can request for several patterns). - - The \cmdname{kpsecheck} command will also report the status of shared - memory: in use or not used. That might be useful to know because if - the status reported is \samp{in use}, that means one or several - processes are working, and the effect of any \cmdname{mktexlsr} - command will be delayed until the next time where no \KPS{} linked - process will be running. - - Last, this same command will report about the location it thinks - Ghostscript can be found. Under Win32, for many programs, it is - easier to use the Ghostscript dll, and find it by using the - Ghostscript registry key than to change the \path|PATH|, which has a - limited length anyway. -\item[\Webc{}] The engines have a few more options than in Unix - \Webc{}, and one option with a different behavior: - \begin{itemize} - \item \path|-halt-on-error| stop the compilation at the first error. - \item \path|-job-time| set the job time to the same timestamp as the - file given in argument. -\item \path|-oem| use the DOS codepage for console output. - \item \path|-output-directory| allow to write all the output files in the - specified directory. - \item \path|-time-statistics| print statistics about the job run - time. It is to be noted that Win9x not being a true multitasking - operating system, it has no reliable timer for short periods, so - the value printed is an approximation. Under NT/2K/XP, the result - is quite accurate with user time and system time values allocated - for this run. For Unix - users: the \path|time| command is not usually available to Windows - users. - \end{itemize} -\end{description} - -\subsection{Personal configurations} -\label{sec:persconf} - -\subsubsection{Dvips} - -The configuration file for dvips can be found in\\ -\verb+C:\TeXLive2005\texmf-var\dvips\config\config.ps+\\ -You may open it with any editor - %(\cmdname{WinShell} will do fine) - and change some parameters: - -\begin{description} -\item [fonts] you can change the default printer \MF{} mode or printer - resolution in case \cmdname{dvips} needs to generate PK fonts. By default it - is configured to use Type~1 versions of the CM fonts, so it should - not call \cmdname{mktexpk} too often; -\item[printer] you can tell dvips where you want to print by default. If - the \optname{o} option is not followed by a printer name, then a - \file{.ps} \PS{} file is written. You can give dvips a printer - name such as: -\begin{verbatim} -o lpt1: -% o | lpr -S server -P myprinter -% o \\server\myprinter -\end{verbatim} -\item[paper] Next, you might want - to change the paper size from European (A4) to US letter - by making the US letter the first paper size mentioned in the file. - Scroll to the group of lines beginning with \code{@}. Move - the appropriate lines so that this section begins with the lines:\\ -\hspace*{1em} @ letterSize 8.5in 11in\\ -\hspace*{1em} @ letter 8.5in 11in\\ -\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ -\hspace*{1em} @+ letter\\ -\hspace*{1em} @+ \%\%EndPaperSize -\end{description} - -The current \TL{} distribution implements the procedure of making -always up-to-date fontmaps files for Dvips and Pdftex. This is done by -the \cmdname{updmap} program during installation, as well as during any -font package addition. If you add new packages by hand, edit the file -\verb+updmap.cfg+ in \path|$TEXMFVAR/web2c|. - -\subsubsection{PdfTeX} - -If you use the program pdf{}latex to write \acro{PDF} format directly, -and you are using \acro{US} letter-size paper, edit the file -\verb+C:\TeXLive2005\texmf-var\tex\generic\config\pdftexconfig.tex+ and -change \samp{\bs pdfpagewidth} and \samp{\bs pdfpageheight}. These entries -should read: -\begin{alltt} -\bs{}pdfpagewidth=8.5 true in -\bs{}pdfpageheight=11 true in -\end{alltt} -Save the file and exit the editor. - -\subsubsection{GSView} -GSView is now distributed under the Aladdin License, and therefore is no -longer included in \TL{}. - -If you may want to change the page size to US letter size. If so, open -GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. - -Also, there are menu settings that are supposed to give you the most -readable screen image. On \guiseq{Media \arw Display Settings}, set both -\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. - -Note that the installation process has set all \code{.ps} and -\code{.eps} files to automatically open with \cmdname{GSView}. - -For printing instructions, see section~\ref{printing} below. - -\subsubsection{WinDvi} -\label{sub:windvi} - -The \file{tlpmgui.exe} program takes care of associating the files -with the \file{.dvi} extension with \file{Windvi}, but it doesn't make an icon -on the desktop, so please do it yourself. - -Open \cmdname{windvi} by clicking an icon or from the command line. - -You can set it for US letter-size paper by going to \guiseq{View\arw -Options\arw Papertype} and selecting US (8.5\verb+"+ x 11\verb+"+) (and -then \optname{OK}. Exit \cmdname{windvi}. - -You can change other parameters from there as well, such as the ability -to execute system commands specified by the document (disabled by -default for security reasons). Also, the first time you view any .dvi -file, you may find the magnification too large. Zoom out until you get -an appropriate size. - -All configuration settings for \cmdname{windvi} are stored in a file -named \path|windvi.cnf| file. You can find it by running this command at -the prompt: -\begin{verbatim} -c:\>kpsewhich --expand-var $HOME/windvi.cnf -\end{verbatim} - -Should you have problems with \cmdname{windvi}, please remove the -configuration file and test your problem against a vanilla configuration. - -\subsection{Testing} - -For generic verification procedures, see section~\ref{sec:test-install} -(\p.\pageref{sec:test-install}). This section describes -Windows-specific tests. - -Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), -found in \path|C:\TeXLive2005\texmf-dist\tex\latex\base|. The \LaTeX\ source -should appear on the screen. Process it by clicking on the -\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar -(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} -menu (XEmacs) or Preview (Windvi) icon (WinShell). - -At first, when you preview files with Windvi, 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. - -\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ -cannot find a file, you can press Ctrl-z to quit. - - -\subsection{Printing} -\label{printing} - -It is possible to print from Windvi. In this case, printing will be done -using the Windows unified printer driver. By definition, it is -compatible with all printers. However, there is some drawback: it can -generate some huge spool files, and some (older) versions of Windows -just don't like them. The advantage is that you can use features like -embedding BMP or WMF images. You also need to make sure that the printer -parameters are correctly set (subsection~\ref{sub:windvi}), else you -will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer -will give you only one quadrant of your page). - -Printing is faster and more reliable if you run \cmdname{dvips} to make -a \filename{.ps} file and then print from \cmdname{GSView}. In -\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} -window will appear. - -If you are using a \PS{} printer, \textit{be sure to select -\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box -at the bottom left of the \guiseq{Print} window. You can then select any -of the printers that you have previously installed. If you fail to -check the box for \optname{\PS{} Printer}, printing will not work. - -If you will be using your own non-\PS{} printer, select -\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click -on the button to the right labelled \guiseq{djet500} and select your -printer type from the list that pops up. (In the older version of -\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} -selected, then select your printer type from the \guiseq{Device} list.) - -\subsection{Tips and tricks for Win32} - -\subsubsection{Different flavors of Win32} - -What we call Win32 is not an operating system by itself. It is a large -set of functions (around 12,000 in the header files of the Microsoft -\acro{SDK}) that you can use to write programs for different operating -systems of the Windows family. - -Windows comes in different flavors: -\begin{itemize} -\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, - multithreading} environments. They are the latest\Dash and hopefully - last\Dash metamorphosis of \acro{DOS}. This can be more or less proven - by the fact that when booting, the PC will load the \path|command.com| - interpreter, and if you stop the boot process at this point, you can - ask for the current (\acro{DOS}) version and it will answer something - like \samp{MS-DOS 7.0} (at least for the old versions of Win9x). -\item Windows \acro{NT}, which is a new operating system written from - scratch, capable of true multitasking behavior, and including many - high level features. -\item Windows 2000, based on \acro{NT}, with all the bells and - whistles of Win98. -\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is - the last step in merging both lines of products (Win9x based and - \acro{NT} based). \acro{XP} is based on \acro{NT}. -\end{itemize} - -Win9x are able to run 32~bits programs and 16~bits programs -concurrently. But the operating system by itself is not entirely -written in 32~bits mode, and does not support memory protection: 16bits -applications can overwrite parts of the operating system memory! Some -parts of the system like the \acro{GDI} (Graphical Device Interface) -manage limited resources like bitmaps, fonts, pens and so on for the set -of all programs that run concurrently. All the bitmaps headers available -at the same time can't amount for more than 64kB. This explains the -performance tool and the fact that you can put your system on his knees -by making intensive use of graphic objects for example. - -NT, 2K and XP do not suffer from these limitations, and neither from -other Win9x limitations. They are true multitasking environments, with -protected memory. They are much more responsive than Win9x because -of better memory management, better file system and so on. - -\subsubsection{Command line prompt} - -You may wonder, ``Why would I need to use a command line prompt when -I have Windows?'' - -Good question. The problem is of very general nature. Not all operations -can be done easily using only a \acro{GUI}. Command line gives you -programming power\Dash assuming a clever command interpreter. - -But the problem here is more fundamental: \TeX{} is \emph{a batch} -tool. Not an interactive one. \TeX{} needs to compute the best -layout for each page, resolve cross-references and so on. This can be -done only by a global processing of the document. It is not (yet) a -task that can be done interactively. - -This means that you should use \TeX{} from a command line. In fact the -situation is not so bad. There is an advantage to write command line -tools for complex processing: they are better debugged, because they are -independent of any \acro{GUI} problems, and \acro{GUI} tools can be -designed to interface to the command line tools. This is the case for -\TeX{}, where you will mostly interact with it through a \acro{GUI} text -editor. - -However, you may need to use the command line prompt in a number of -situations. One is when you are having difficulties and want to debug -your setup. - -\begin{description} - \item[Win9x] You can open a command line prompt by looking either for - the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, - or by choosing \guiseq{Start\arw Run} menu typing in - \path|command.com| as the progrm name. - \item[NT, 2K, XP] You can open a command line prompt by looking for - \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. - You can also choose \guiseq{Start\arw Run} and type in - \path|cmd.exe|, which is the name of the brand new command - interpreter for \acro{NT} (thus, it is untrue to call this a - \emph{DOS} box!). -\end{description} - -These locations may change across different Windows versions. - -\subsubsection{Path separators} - -The Win32 API understands both \path|/| and \path|\| characters as PATH -separators. But the command interpreters do not! So whenever a path name -is used programmatically, you can use both separators, and even mix them -up in the same path name. But on the command line, you must type -\path|\| as path separator. The reason is compatibility: the command -processor used \samp{/} to introduce arguments to commands. - -All this to say: do not be surprised to read path names written using -the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible -across platforms. For this reason, all the configuration files that -need to specify path names use the Unix convention. - -\subsubsection{File systems} -\label{sec:clusters} - -The worst feature of Win9x with regard to \TeX{} is probably the -so-called FAT file system. \TeX{} uses very many small files, with size -around 1--3kB. The \acro{FAT} file system is old, and predates by -decades the multi-gigabytes hard disks we have today. As a result, it -cannot manage efficiently the tens of thousands of \TeX{} files found in -\TL{}. The \acro{FAT} file system allocates a minimum of 32kB for -\emph{any} file on a huge partition. It means that \TeX{} will use much -more disk space than it actually needs. - -The other, more modern, file systems available, \acro{FAT32} and -\acro{NTFS}, do not have this drawback. They manage clusters of 4kB -only. (You can lower the limit to 512 bytes on \acro{NTFS}.) - -\subsubsection{How to add some directory to your PATH} - -There are pairs of variables and values which behave much like global -variables inside your programs. The set of those variables is called the -environment. Each program is initialized with a copy of the -environment when it is run. It can request and change the -value of any variable. The changes happen in the copy of the -environment, and is not at all propagated to the other running -programs. - -Your PATH is a special environment variable used to search for -programs you want to run. -There is a different procedure to change it for Win9x, WinME and NT/2K/XP: - -\begin{description} -\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line - starting with \texttt{PATH=} and followed by a list of directories separated - by \path|;|. Please add the directory with the executables in this line. - After this, this line could look as follows: -\begin{verbatim} -PATH=c:\windows;c:\windows\system;c:\TeXLive2005\bin\win32 -\end{verbatim} -\item[Windows ME] You need to run the special program - \path|c:\windows\system\msconfig.exe| to be able to change any - environment variable. From this program, select the `Environment' - tab, and then add or modify the variable you want. You will be asked to reboot the - machine upon any change. -\item[Windows NT/2K/XP] - Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the - window with the control panel icons opens. Double click on System. The - System Properties window opens. Click on the tab \textsf{Environment} - or look for a button named \guiseq{Environment Variables} among the - dialog boxes. Now you can change the environment variables for your - user account. Note: There are also displayed the environment settings - for the system. Normally, you can't change the system variables - unless you have administrator rights on your machine. If you want to - change the \texttt{PATH} for all users, you will have to contact your - system administrator or be the system administrator yourself\Dash in - the latter case you should know what you are doing. - - If there is already a \texttt{PATH} setting for your user account, - left click on \texttt{PATH}. In the field \textsf{Variable} appears - \texttt{PATH} while the field Value shows the current setting of - \texttt{PATH} as a list of directories separated by \path|;|. Add - the directory where the executables are located (e.g. - \path|c:\TeXLive2005\bin\win32|). If there isn't a \texttt{PATH} variable - for your user account, simply click in the field Variable and type - in \texttt{PATH}, click in the field \textsf{Value} - and type in the directory with the executables. Important: Click on - the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the - changes to \texttt{PATH} won't apply to your system. Be careful when - changing the environment settings. -\end{description} - -The best way to be sure that a variable has been properly set is to -open a console and type: -\begin{verbatim} -set VARIABLE -\end{verbatim} -which should return the corresponding value. - -\subsubsection{\TeX{} engines} - -If you have a look at the \Webc{} documentation, you will read that all -the various \TeX{} derived programs use the same base engine. For -example, \path|tex.exe| and \path|latex.exe| are exact copies of the -same program, but each one will use a different format file, based on -its calling name. - -Under Unix, this feature is implemented through \emph{symbolic -links}. It saves up a bit of disk space, because some engines are -used with many different format files. - -The Win32 API does not know about file links. So to save up almost -the same amount of memory, all the \TeX{} base engines have been put -in DLLs (\emph{Dynamic Linked Library}). This means that you will have -the following layout: -\begin{alltt} -18/09/2005 14:19 3 584 latex.exe -18/09/2005 14:19 3 584 pdfetex.exe -18/09/2005 14:19 524 288 tl90pdfetex.dll -\end{alltt} -and the \path|latex.exe| file is nothing but a rough copy of -\path|pdfetex.exe| using the same core \path|tl90pdfetex.dll|. -The same trick has been used for the \path|mktex*.exe| family of programs -which are linked to the \path|mktex.dll| library. - -In fact, a generic tool called \path|irun.exe| is provided to build the -equivalent of Unix hard links for executable files only under Win32. - -\subsection{In case of problems} -\label{sec:troubleshooting} - -\subsubsection{What to do if \texttt{latex} does not find your files?} - -\begin{itemize} - -\item \cmdname{kpsewhich} is the tool of choice to debug any -problem. Unfortunately, \cmdname{kpsewhich} outputs debug information -to stderr, and the older Windows consoles do not know how to redirect stderr -to a file. (NT and Windows 2000 consoles know how to do that. But -the trick will work for any console.) For diagnostic purposes you can -temporarily set an environment variable (in a \acro{DOS} box): - -\begin{verbatim} -SET KPATHSEA_DEBUG_OUTPUT=err.log -\end{verbatim} -You can also set the debug level: -\begin{verbatim} -SET KPATHSEA_DEBUG=-1 -\end{verbatim} - -If you want to redirect stderr to stdout, which is not possible -Windows, then do: -\begin{verbatim} -SET KPATHSEA_DEBUG_OUTPUT=con: -\end{verbatim} -This way you can capture both stdout and stderr in the same file. - -\item Assuming the installation has been done in \path|c:/TeX|, check - the following values: \\ - {\small - \begin{tabular}{ll} - \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/TeX| \\ - \path|kpsewhich -expand-path $TEXMF| & \path|c:/TeX/texmf....| \\ - \path|kpsewhich -expand-path $TEXMFCNF| & - \path|.;c:/TeX/texmf-var/web2c;| \\ - \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/TeX/texmf/tex//| - \end{tabular} -} -\item If you have other \TeX{}-related values already set in your - environment, please, remove them. They are overriding the ones in - texmf.cnf. -\item Check the values from:\\ -{\small - \begin{tabular}{ll} - \texttt{kpsewhich cmr10.tfm} & \path|c:/TeX/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ - \texttt{kpsewhich latex.fmt}& \path|c:/TeX/texmf/web2c/latex.fmt| - \end{tabular} -} -\item At this point, if everything is correct, \TeX{} and friends - should work. If it is not the case, you will need to play with - the \path|-debug=n| option from \path|kpsewhich|, and check back all - the values. Try to identify and report the problem. -\end{itemize} - -\subsubsection{What to do if your setup still does not work as expected?} - -Here are several questions to investigate: - -\begin{enumerate} -\item Is \file{tex.exe} in my \path|PATH|? - -\item Is the \path|TEXMFCNF| variable correctly set to -\path|c:/TeXLive2005/texmf-var/web2c| (default value)? - -\item Are there any errors in the log file generated by the -\file{tlmpgui.exe} program? -\file{tlmpgui.log} can be found in your -\file{TEMP} directory. You can find this by searching for the -string \samp{Error}. Hint: the log file can show some errors after -building all format files. Please do not panic: perhaps some formats -weren't already installed. - -\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? -(Unlikely, but it doesn't hurt to check.) - -\end{enumerate} - -The \TL{} software consists of hundreds of programs and tens of -thousands of files, all from varying sources. So it is quite difficult to -predict all possible causes for problems. Nevertheless, we will do our -best to help you. (See section~\ref{sec:help}, \p.\pageref{sec:help}.) - -% don't use \Webc so the \uppercase in the headline works. -\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{}. - -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. - -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 \web{} and translates them into C source -code. The core \TeX{} programs are: - -\begin{cmddescription} -\item[bibtex] Maintaining bibliographies. -\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). -\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[makempx] \MP{} label typesetting. -\item[mf] Creating typeface families. -\item[mft] Prettyprinting \MF{} source. -\item[mpost] Creating technical diagrams. -\item[mpto] MetaPost label extraction. -\item[newer] Compare modification times. -\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 \acro{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{}. 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 more than one directory tree -simultaneously, which is useful in maintaining \TeX's standard -distribution and local extensions in two 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} - -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{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{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{Debugging}). - -\subsubsection{Config files} - -\begingroup\tolerance=3500 -\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} (by default such a file lives -in the \file{texmf/web2c} subdirectory). \emph{All} -\file{texmf.cnf} files in the search path will be read and definitions -in earlier files override those in later files. Thus, with a search -path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those -from \verb|$TEXMF/texmf.cnf|. -\endgroup - -\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{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{Default-expansion} - -\tolerance=2500 -If the highest-priority search path (see ``Path sources'' on -page~\pageref{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 - -\tolerance=1500 - -\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 -(appproximately; 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{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{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{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); most sites have only one hierarchy. \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 -(\acro{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{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 more important 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{SExamplesofuse} - -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} - -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 -prolog \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 ... \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{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. -\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/html/dvips/dvips_toc.html}). -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{SExamplesofuse} 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 -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 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, - ... - -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 -[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}. - etc.). -\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 TFM files read. -\item[\texttt{hash\_extra}] - Additional space for the hash table of control sequence names. - Approximately 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 \acro{GNU} version of these programs -(\cmdname{gcc}, \acro{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:unix-install-disk} on -\p.\pageref{sec:unix-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} & \acro{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: \acro{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} - -\section{Acknowledgements} - -\TL{} is a joint effort by virtually all of the \TeX{} user groups. -This edition of \TL{} was overseen by Sebastian Rahtz and Karl Berry. -The other principal contributors are listed below. - -\begin{itemize*} - -\item The German-speaking \TeX{} Users (\acro{DANTE} e.V.), who provide -the hardware for the \TL{} source repository; and Rainer Sch\"opf and -Reinhard Zierke who look after it. \acro{DANTE} officers Volker Schaa -and Klaus H\"oppner coordinate production with the Lehmann's Bookstore -(\url{http://www.lob.de}). - -\item The Perforce corporation (\url{http://www.perforce.com}), for providing -a free copy of their excellent change management system, which we use -to manage the \TL{} sources. - -\item Peter Breitenlohner and the \eTeX\ team for the stable foundation -of future \TeX's. - -\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} -would certainly not exist, and whose continual help makes it a better -product. - -\item Michel Goossens, who co-authored the original documentation. - -\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} -version of this documentation, and who worked tirelessly to improve -it at short notice. - -\item Hans Hagen, for major testing and making the \ConTeXt\ format -conform to \TL's needs. - -\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm}, -and Tomasz {\L}uczak, for \cmdname{tlpmgui}. - -\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team for continuing -enhancements of \TeX's abilities. - -\item Petr Olsak, who coordinated and checked all the Czech and Slovak -material very carefully. - -\item Fabrice Popineau, for the Windows binaries in \TL{}. - -\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 assembly and maintenance of Web2C, -upon which all else depends. - -\item Gerben Wierda, for creating and maintaining the \MacOSX\ support, -and much integration and testing. - -\item Graham Williams, on whose work the catalogue of packages depends. - -\end{itemize*} - -Builders of the binaries: -Tigran Aivazian (\pkgname{x86\_64-linux}), -Manfred Lotz (\pkgname{i386-freebsd}), -Fabrice Popineau (\pkgname{win32}), -Norbert Preining (\pkgname{alpha-linux}), -Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-linux}, - \pkgname{sparc-solaris}), -Staszek Wawrykiewicz (\pkgname{i386-linux}), -Olaf Weber (\pkgname{mips-irix}), -Gerben Wierda (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}). - -Documentation and translation updates: -Karl Berry (English), -Daniel Flipo \& Fabrice Popineau (French), -G\"unter Partosch \& Hartmut Henkel (German), -Petr Sojka \& Jan Busa (Czech\slash Slovak), -Boris Veytsman (Russian), -Staszek Wawrykiewicz (Polish). - -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:multiple-dist}, \p.\pageref{sec:multiple-dist}). 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:struct-tl} (\p.\pageref{sec:struct-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-doc/doc/english/tds/tds.html\#Extensions} -{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. - -\item Helper scripts (not meant to be invoked by users) are now located -in a new \dirname{scripts} directory of \dirname{texmf*} trees, and -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-doc/doc/english/tds/tds.html\#Scripts} -{\texttt{texmf-doc/doc/english/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/doc/pdftex/manual}. - - \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} - -\subsection{Present} -\label{tlcurrent} - -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}. - See section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. - -\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} - -\subsection{Future} - -\emph{\TL{} is not perfect!} (And never will be.) We intend to -continue to release new versions yearly, and would like to provide more -help material, more utilities, more installation programs, and (of -course) an ever-improved and checked tree of macros and fonts. This work -is all done by hard-pressed volunteers in their limited spare time, and -a great deal remains to be done. If you can help, don't hesitate to put -your name forward! - -Please send corrections, suggestions, and offers of help to:\hfill\null -\begin{quote} -Sebastian Rahtz \ / \ 7 Stratfield Road \ / \ Oxford OX2 7BG \ / \ UK \\ -\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/source/texlive-en/archive/live-2007.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/live-2007.tex deleted file mode 100644 index 8232db8becf..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/live-2007.tex +++ /dev/null @@ -1,3264 +0,0 @@ -% $Id: live.tex 3938 2007-02-06 01:49:45Z 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} -\begin{document} - -\title{% - {\huge \textit{The \protect\TL{} Guide}\\\strut} - {\LARGE \textsf{\TL{} 2007}} -} - -\author{Karl Berry, editor \\[3mm] - \url{http://tug.org/texlive/} - } - -\date{January 2007} - -\maketitle - -\begin{multicols}{2} -\tableofcontents -\listoftables -\end{multicols} - -\section{Introduction} -\label{sec:intro} - -This document describes the main features of the \TL{} software -distribution\Dash \TeX{} and friends for \acro{GNU}/Linux and other Unix -flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is not -especially useful for older Mac or \acro{MS-DOS} systems.) - -\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. It is part of the even larger \TK{} -(briefly described below in section~\ref{sec:struct-tl}, -\p.\pageref{sec:struct-tl}). Both are cooperative efforts by the \TeX\ -user groups. - -For newer versions of the packages included here, please check -\acro{CTAN}: \url{http://www.ctan.org}. - -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{Basic usage of \protect\TL{}} -\label{sec:basic} - -You can use \TL{} in three principal ways: - -\begin{enumerate} - -\item You can run \TL{} directly from the \pkgname{live} \DVD -(see section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). -This takes almost no disk space, and gives you immediate access to -everything in \TL{}. Of course performance will be worse than running -on local disk, but you may well find it useful. - -\item You can install all or part of \TL{} to a local disk, from either -the \DVD\ or the \pkgname{inst} \acro{CD}. This is the most common use -of \TL. You will need (approximately) 100 megabytes for the most -minimal system, and upwards of 1.3 gigabytes for a full system. - -\item You can integrate a particular package or collection into your -existing \TeX{} system, either a \TL{} system you installed -earlier, or a different system. - -\end{enumerate} - -\noindent All of these are described in detail in the \acro{OS}-specific -installation sections following, but here is a quick start: - -\begin{itemize*} - -\item The main installation script for Unix and \MacOSX{} is -\texttt{install-tl.sh}. -GNU/Linux users can also try a new GUI installation program: -run \texttt{setuptl/tlpmgui}. More information -can be found in section \ref{sec:win-install} on -p.~\pageref{sec:win-install}. - -\item The single package installation script is \texttt{install-pkg.sh}. -(After installation on Linux with \texttt{tlpmgui}, you can also try -running \texttt{tlpmgui} again to add or remove individual packages or -collections.) - -\item The installation program for Windows is \texttt{tlpmgui.exe}. -It can be used also for adding or removing the packages. -See section~\ref{sec:win-install} below for more information. - -\end{itemize*} - - -\subsection{Getting help} -\label{sec:help} - -The \TeX{} community is both active and friendly, and virtually all -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 forego \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-doc/doc/english/FAQ-en}, 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 -\OnCD{texmf-doc/doc/english/catalogue}, or -\url{http://www.ctan.org/tex-archive/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/groups?group=comp.text.tex} 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 on asking questions in such a -way that you're most likely to get an 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{}, you are better off writing to that program's maintainer or -mailing list. - -\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. Welcome to -\TeX{}! - - -% 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{Structure of \protect\TeX\protect\ Live} -\label{sec:struct-tl} - -This section describes the structure and contents of \TL{} and the -\TK{} of which it is a part. - -\subsection{Multiple distributions: \protect\pkgname{live}, - \protect\pkgname{inst}, - \protect\pkgname{protext}} -\label{sec:multiple-dist} - -Space limitations of \acro{CD-ROM} format have forced us to divide -\TK{} into several distributions, as follows. - -\begin{description} - -\item [live] A complete system on \acro{DVD}; it is too large -for \acro{CD}. It can be run live or installed to disk. It also -includes a snapshot of the \CTAN{} repository, the \pkgname{protext} -distribution for Windows and the Mac\TeX\ distribution for \MacOSX, entirely -independent of \TL{}, as well as assorted other packages in a -\texttt{texmf-extra} directory. - -\CTAN{}, \pkgname{protext}, Mac\TeX, and \texttt{texmf-extra} do not follow -the same copying conditions as \TL{}, so be careful when redistributing or -modifying. - -\item [inst(allable)] A complete system on \CD; in order to make this fit, -the packages and programs are compressed. Therefore, it is not possible -to run \TeX\ directly from the installable \CD, you have to install it -to disk (hence its name). Installation is described in subsequent sections. - -\item [protext] 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. It can be run live, or installed to disk. -The \ProTeXt\ home page is \url{http://tug.org/protext}. - -\ProTeXt\ is provided as both the top level of the \pkgname{live} \DVD\ -and on its own \CD\ (for those who cannot use the \DVD). - -\end{description} - -\noindent You can tell which type of distribution you're in by looking -for a \texttt{00\var{type}.TL} file at the top of the \TL{} directory. -This file also contains the \TL{} release date. - -Naturally, each user group chooses what to distribute to its own members. - - -\subsection{Top level directories} -\label{sec:tld} - -Here is a brief listing and description of the top level directories in -the \TL{} distribution. On the \pkgname{live} \DVD, the entire \TL{} -hierarchy is in a subdirectory \dirname{texliveYYYY}, not at the top -level of the disc. - -\smallskip -\begingroup - \renewcommand{\arraystretch}{1.3} % open up interrow spacing -\begin{tabular}{>{\ttfamily}lp{.78\hsize}} -bin & The \TeX{} system programs, arranged by platform. \\ -source & The source of all programs, including the main \Webc{} - \TeX{} and \MF{} distributions. These are stored in a - \cmdname{bzip2}-compressed tar archive. \\ -setuptl & Installation programs for Linux and Windows. \\ -support & Assorted auxiliary packages and programs. These are - \emph{not} installed automatically. This includes - assorted editors and \TeX\ shells. \\ -texmf & Tree for the programs, along with their support files and - documentation. Does not include \TeX\ formats and packages. - (\texttt{TEXMFMAIN} in the next section.) \\ -texmf-dist & The main tree of formats and packages. - (\texttt{TEXMFDIST} in the next section.) \\ -texmf-doc & Tree for self-contained pure documentation, arranged by - language. \\ -texmf-var & Tree for files automatically generated and stored. - (\texttt{TEXMFSYSVAR} in the next section.) \\ -\end{tabular} -\endgroup - -\smallskip - -In addition to the directories above, the installation scripts and -\filename{README} files (in various languages) are at the top level of -the distribution. - -The \dirname{texmf-doc} directory contains only documentation, but -it does not contain all the documentation. The documentation for the -programs (manuals, man pages, Info files) is in \dirname{texmf/doc}, -since the programs are in \dirname{texmf}. Similarly, the documentation -for \TeX\ packages and formats is in \dirname{texmf-dist/doc}. You can -use the \cmdname{texdoc} or \cmdname{texdoctk} programs to find any -documentation wherever it's located. The comprehensive links in the -top-level file \OnCD{doc.html} may also be helpful. - - -\subsection{Overview of the predefined texmf trees} -\label{sec:texmftrees} - -This section lists all predefined variables specifying texmf trees used -by the system, and their intended purpose. The command \texttt{texconfig -conf} shows you the values of these variables, so that you can easily -find out how they map to directory names in your installation. - -\begin{ttdescription} -\item [TEXMFMAIN] The tree which holds vital parts of the system - such as helper scripts (e.g., \verb+web2c/mktexdir+), pool files and - other support files. -\item [TEXMFDIST] The tree which holds the main set of macro packages, - fonts, etc., as originally distributed. -\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 depends on \verb+$HOME+ by default, % $ - which dynamically adjusts for each user to an individual - directory. -\item [TEXMFCONFIG] The tree used by te\TeX's utilities - \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified - configuration data. Under \verb+$HOME+ by default. %$ -\item [TEXMFSYSCONFIG] The tree used by te\TeX's utilities - \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to - store modified configuration data. -\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and - \verb+fmtutil+ to store (cached) runtime data such as format files and - generated map files. Under \verb+$HOME+ by default. %$ -\item [TEXMFSYSVAR] The tree used by \verb+texconfig-sys+, - \verb+updmap-sys+ and \verb+fmtutil-sys+ to store (cached) runtime - data such as format files and generated map files. -\end{ttdescription} - -For more discussion of \texttt{texconfig} and related utilities, please -see section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. - - -\subsection{Extensions to \protect\TeX} -\label{sec:tex-extensions} - -\TL{} contains several extended versions of \TeX: - -\begin{description} - -\item [\eTeX] adds a small but powerful 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{}. See -\OnCD{texmf/doc/pdftex/manual/} for the manual, and -\OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex}. This is the -default program for all formats except plain \TeX. - -\item [Xe\TeX] adds support for Unicode input and OpenType fonts, using -third-party libraries. See \url{http://scripts.sil.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. See -\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). - -\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. -See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. - -\end{description} - - -\subsection{Other notable programs in \protect\TL} - -Here are a few other commonly-used programs included in \TL{}: - -\begin{cmddescription} - -\item [bibtex] bibliography support. - -\item [makeindex] 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 [dv2dt, dt2dv] convert \dvi{} to/from plain text. - -\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). See the \pkgname{ps4pdf} and -\pkgname{pdftricks} packages for still more alternatives. - -\item [psselect, psnup, \ldots] \PS{} -utilities. - -\item [lacheck] \LaTeX{} syntax checker. - -\item [texexec] Con\TeX{}t and \acro{PDF} processor. - -\item [tex4ht] \TeX{} to \acro{HTML} converter. - -\end{cmddescription} - - -\section{Unix installation} -\label{sec:unix-install} - -As introduced in section~\ref{sec:basic} (\p.\pageref{sec:basic}), -\TL{} has three principal uses: - -\begin{enumerate} -\item Run directly from media. -\item Install to disk. -\item Integrate a particular package or collection into your existing -\TeX{} installation. -\end{enumerate} - -\noindent The following sections describes the Unix-specific procedures -for each of these. - -\ifSingleColumn \begin{figure}[ht]\noindent \fi -\begin{warningbox} -\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) -format, \emph{with} Rock Ridge (and Joliet, for Windows) -extensions. Therefore, in order to take full advantage of the \TK{} -under Unix, your system needs to be able to use the Rock Ridge -extensions. Please consult the documentation for your \cmdname{mount} -command to see how to do this. If you have several different machines -on a local network, you may be able to mount the discs on one which -does support Rock Ridge, and use this with the others. - -\leavevmode\quad Modern systems should be able to use the discs without -problems. If troubles, let us know. The discussion below assumes you -have been able to mount the \CD{}s with full Rock Ridge compatibility. -\end{warningbox} -\ifSingleColumn\end{figure}\fi - - -% -\subsection{Running \protect\TL{} directly from media (Unix)} - -\def\runlive{% text repeated in windows section -It is possible to use the \TeX{} system directly from the \pkgname{live} -\DVD{}, without installing the distribution to disk. (Thus the name -\TeX\ `Live', in fact.) It is \emph{not} possible to run \TeX{} -directly from the other \CD{}s (see section~\ref{sec:multiple-dist}, -\p.\pageref{sec:multiple-dist}). -} - -\def\startinst{% repeated in other subsections -To start, you mount the \CD{} or \DVD{}, with Rock Ridge extensions -enabled. The exact command to do this varies from system to system; the -following works under Linux, except the name of the device -(\filename{/dev/cdrom}, here) may vary. (All our examples will use -\texttt{>} as the shell prompt; user input is -\Ucom{\texttt{underlined}}.) -\begin{alltt} -> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} -\end{alltt} - -\noindent Change the current directory to the mount point: -\begin{alltt} -> \Ucom{cd /mnt/cdrom} -\end{alltt} - -\noindent Under \MacOSX, the directory is typically under -\dirname{/Volumes}, and the media will be mounted automatically. -} - -\def\installtlsh{ -Run the installation script \filename{install-tl.sh}: -\begin{alltt} -> \Ucom{sh install-tl.sh}\\ -Welcome to TeX Live... -\end{alltt} - -\noindent After various greeting messages and a list of the main menu -options, the installation will ask you to enter a command. Do this by -typing the desired character and hitting return; don't type the angle -brackets shown. Either uppercase or lowercase is ok; we'll use -lowercase in our examples. -} - -\runlive -\startinst -\installtlsh - -For running live, our first command will be \Ucom{d} and then the -subcommand \Ucom{1} to set directories. Even in this case, we must -choose a directory on the local disk to place files that the \TeX{} -system itself generates, such as fonts and formats, and also to provide -a place for updated configuration files, if need be. - -We'll use \dirname{/opt/texlive2007} in this example. It's good to -include the year in the name, as these generated files are not -in general compatible from release to release. (If the default value of -\dirname{/usr/local/texlive/2007} works for you, then you can skip this -step.) - -\begin{alltt} -Enter command: \Ucom{d} -Current directories setup: -<1> TEXDIR: /usr/local/texlive/2007 -... -Enter command: \Ucom{1} -New value for TEXDIR [/usr/local/texlive/TeX]: \Ucom{/opt/texlive2007} -... -Enter command: \Ucom{r} -\end{alltt} - -\noindent Back at the main menu, our second and last command is -\Ucom{r}, to set up for running live off the media without installing -to disk: -\begin{alltt} -Enter command: \Ucom{r} -Preparing destination directories... -... -Welcome to TeX Live! -> -\end{alltt} - -\noindent And we are back at the system prompt, as shown. - -Next, it is necessary to alter two environment variables: -\envname{PATH}, to an architecture-dependent value (so that we can run -the programs), and \envname{TEXMFSYSVAR}, to the value specified above. -See table~\ref{tab:archlist} for a list of the architecture names for -the different systems. - - -\def\textruntexconfig{% -After the main installation has completed, and environment variables -have been set, the last step is to run \cmdname{texconfig} or -\cmdname{texconfig-sys} to customize your installation to your needs. -This is explained in section~\ref{sec:texconfig}, -\p.\pageref{sec:texconfig}. -} -\textruntexconfig - -\begin{table*}[ht] -\caption[Supported system architectures.]{Supported system -architectures.} -\label{tab:archlist} -\begin{tabular}{>{\ttfamily}ll} -alpha-linux & HP Alpha GNU/Linux \\ -hppa-hpux & HPPA HP-UX \\ -i386-darwin & x86 \MacOSX \\ -i386-freebsd & x86 FreeBSD \\ -i386-linux & x86 GNU/Linux \\ -i386-openbsd & x86 OpenBSD \\ -i386-solaris & x86 Solaris \\ -mips-irix & SGI IRIX \\ -powerpc-aix & IBM RS/6000 AIX \\ -powerpc-darwin & PowerPC \MacOSX \\ -powerpc-linux & PowerPC GNU/Linux \\ -sparc-linux & Sun Sparc GNU/Linux \\ -sparc-solaris & Sun Sparc Solaris \\ -win32 & Windows (32-bit) \\ -x86\_64-linux & x86 64-bit GNU/Linux \\ -\hline -\end{tabular} -\end{table*} - -\label{text:path} -The syntax for setting the environment variables, and the initialization -file to put them in, depends on the shell you use. If you use a -Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et -al.), put the following into your \filename{$HOME/.profile} file: -\begin{alltt} -PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH -TEXMFSYSVAR=/opt/texlive2007/texmf-var; export TEXMFSYSVAR -\end{alltt} - -\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), -put the following into your \filename{$HOME/.cshrc} file: -\begin{alltt} -setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH -setenv TEXMFSYSVAR /opt/texlive2007/texmf-var -\end{alltt} - -\noindent Then log out, log back in, and test your installation -(see section~\ref{sec:test-install}, \p.\pageref{sec:test-install}). - -\def\textifindoubt{% -If in doubt, please ask any local system gurus to help you with -problems; for example, the way to mount the \TL{} media, which -directory or directories to use, and precise details of the changes to -your personal initialization files can and do vary from site to site. -} -\textifindoubt - - -% -\subsection{Installing \protect\TeX\protect\ Live to disk} -\label{sec:unix-install-disk} - -It is possible, indeed typical, to install the \TL{} distribution to -hard disk. This can be done from either the \pkgname{live} or -\pkgname{inst} distributions. (See section~\ref{sec:multiple-dist}, -\p.\pageref{sec:multiple-dist}, for an explanation of the different -distributions.) - -\startinst -\installtlsh - -Table~\ref{tab:main-menu-options} briefly lists the options in the main -menu. The order in which you select the options makes little -difference, except that \Ucom{i} must be last. It's reasonable to go -through them in the order presented here. - -% apparently here.sty [H] doesn't support table*. -\begin{table}[H] -\caption{Main menu options for the installation.} -\label{tab:main-menu-options} -\begin{tabular}{>{\ttfamily}ll} -p & The platform you are running on.\\ -b & The architectures for which to install binaries.\\ -s & The base installation scheme to use (minimal, recommended, - full, etc.)\\ -c & Override the base scheme for individual collections.\\ -l & Override for language collections.\\ -d & Directories in which to install.\\ -o & Other options.\\ -i & Perform the installation.\\ -\end{tabular} -\end{table} - -Here are further details on each option. - -\textbf{\optname{p} -- Current platform.} Since the installation script -automatically guesses which platform you're running on, it is usually -unnecessary to use this option. It's there in case you need to override -the automatic detection. - -\textbf{\optname{b} -- Binary architectures.} By default, only the -binaries for your current platform will be installed. From this menu, -you can select installation of binaries for other architectures as well -(or omit installing the current platform). This can be useful if you are -sharing a \TeX\ tree across a network of heterogenous machines. For a -list of the supported architectures, see table~\ref{tab:archlist}, -\p.\pageref{tab:archlist}. - -\textbf{\optname{s} -- Base installation scheme.} From this menu, you -can choose an overall set of package collections, called a ``scheme''. -The default \optname{full} scheme installs everything available, but you -can also choose the \optname{basic} scheme for a minimal system, or -\optname{medium} to get something in between. There are also specific -sets for Omega and \acro{XML}. - -\textbf{\optname{c} -- Individual collections.} From this menu, you can -override the scheme's set of collections to install. Collections are -one level more detailed than schemes\Dash collections consist of one or -more packages, where packages (the lowest level grouping in \TL) contain -the actual \TeX\ macro files, font families, and so on. In this menu, -selection letters are case-sensitive. - -\textbf{\optname{l} -- Language collections}. This menu has the same -basic purpose as \Ucom{c}, to override the collection set in the chosen -scheme. In this case, the collections are specifically for different -languages. Selection letters are case-sensitive here too. Here is a -list of the language collections in \TL: - -% xx really should generate list from texmf/tpm/collection/tex-lang* -% a la install-tl.sh. -\begin{tabbing} -\hspace{.25\linewidth} \= -\hspace{.25\linewidth} \= -\hspace{.25\linewidth} \= -\hspace{.25\linewidth} \kill -(some) African scripts \> -Arabic \> -Armenian \> -Chinese\,Japanese\,Korean \\ -Croatian \> -Cyrillic \> -Czech/Slovak \> -Danish \\ -Dutch \> -Finnish \> -French \> -German \\ -Greek \> -Hebrew \> -Hungarian \> -Indic \\ -Italian \> -Latin \> -Manju \> -Mongolian \\ -Norwegian \> -Polish \> -Portuguese \> -Spanish \\ -Swedish \> -Tibetan \> -\acro{UK} English \> -Vietnamese \\ -\end{tabbing} - -\noindent Language collections typically include fonts, macros, -hyphenation patterns, and other support files. (For instance, -\pkgname{frenchle.sty} is installed if you select the \optname{French} -collection.) In addition, installing a language collection will alter -the \filename{language.dat} configuration file controlling which -hyphenation patterns are loaded. - -\textbf{\optname{d} -- Installation directories}. Three directories can -be changed here: -\label{text:instdir} - -\begin{ttdescription} -\item [TEXDIR] The top-level directory under which -everything else will be installed. The default value is -\dirname{/usr/local/texlive/2007}, and is often changed. We recommend -including the year in the name, to keep different releases of \TL{} -separate. (You may wish to make a version-independent name such -\dirname{/usr/local/texlive} via a symbolic link, which you can then -update after testing the new release.) - -Under \MacOSX, the usual frontends look for \TeX{} in -\dirname{/usr/local/teTeX}, so you may wish to install \TL{} there. - -\item [TEXMFLOCAL] This tree is where the \TeX{} system (not as part of -the initial installation, but rather as time goes by) puts -non-version-specific files, primarily fonts. The default value is -\dirname{/usr/local/texlive/texmf-local}, independent of the current -\TL{} release, because it's also the recommended location to put any -local packages or configuration settings. - -\item [TEXMFSYSVAR] This tree is where \cmdname{texconfig-sys} puts -files that \emph{are} version-specific. The default value is -\dirname{TEXDIR/texmf-var}, and there's generally no reason to change -it. There is also \envname{TEXMFSYSCONFIG}, which is where -\cmdname{texconfig} looks for modified configuration data. See -section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig} for more -information. - -\end{ttdescription} - -\textbf{\optname{o} -- Other options.} From this menu, you can select -the following general options: - -\begin{ttdescription} -\item [a] Specify an alternate directory for generated fonts. -The default is to use the \envname{TEXMFVAR} tree, as explained above. -Setting this is useful if you plan to mount the main tree read-only, and -therefore you need another location (perhaps host-specific) for -dynamically created fonts. - -\item [l] Create symbolic links for the binaries, man pages, -and\slash or \acro{GNU} Info files in other locations. For example, you may -wish to make the man pages available under \dirname{/usr/local/man} and -the Info files available under \dirname{/usr/local/info}. (Of course -you need appropriate privileges to write in the specified directories.) - -It is not advisable to overwrite a \TeX\ system that came with your -system with this option. It's intended primarily for creating the links -in standard directories that are known to users, such as -\dirname{/usr/local/bin}, which don't already contain any \TeX\ files. - -\item [d] Skip installation of the font/macro documentation tree. -This is useful if you need to save space, or if you've previously -installed the documentation elsewhere. - -\item [s] Skip installation of the main font/macro source -tree. This is useful if you are arranging to share that tree between -machines and\slash or architectures in some other way, such as \acro{NFS}. - -\end{ttdescription} - -\textbf{i -- Perform installation.} When you're satisfied with your -configuration options, enter \Ucom{i} to actually do the installation -from the media to your chosen locations. - -% text is similar to above, but no TEXMFSYSVAR, so we have to write out. -After the installation completes, your next step is to include the -architecture-specific subdirectory of \dirname{TEXDIR/bin} in your -\envname{PATH}, so the newly-installed programs can be found. The -architecture names are listed in table~\ref{tab:archlist}, -\p.\pageref{tab:archlist}, or you can simply list the directory -\dirname{TEXDIR/bin}. - -The syntax for doing this, and the initialization file to use, depends -on your shell. If you use a Bourne-compatible shell (\cmdname{sh}, -\cmdname{bash}, \cmdname{ksh}, et al.), put the following into your -\filename{$HOME/.profile} file: - -\begin{alltt} -PATH=/usr/local/texlive/2007/bin/\var{archname}:$PATH; export PATH -\end{alltt} - -\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), -put the following into your \filename{$HOME/.cshrc} file: -\begin{alltt} -setenv PATH /usr/local/texlive/2007/bin/\var{archname}:$PATH -\end{alltt} - -\textruntexconfig - -Here is a minimal annotated example which accepts the default -directories and installs binaries for the current system only. Thus, -only one command is needed, \Ucom{i} for install. The \texttt{>} is the -shell prompt as usual. - -\begin{alltt} -> \Ucom{sh install-tl.sh} -\Ucom{i} # perform installation -> \Ucom{texconfig} ... # see section \ref{sec:texconfig} -# New PATH element, with Linux as the example: -> \Ucom{PATH=/usr/local/texlive/2007/bin/i386-linux:$PATH; export PATH} -\end{alltt} - -If your Unix system supports the \cmdname{manpath} command (type \code{man -manpath} to learn more), you can make the \TL\ manual pages available -system-wide via the normal \cmdname{man} command by editing the file -\filename{/etc/manpath.config}; you might need root permissions for this. -With the following entry in \filename{/etc/manpath.config} the \TL\ -manual pages will be found at their original places within the \TL\ tree -(adapt the binary path for your system architecture): - -\begin{verbatim} -MANPATH_MAP /usr/local/texlive/2007/bin/i386-linux \ - /usr/local/texlive/2007/texmf/doc/man -\end{verbatim} - -\textifindoubt - - -\subsubsection{Non-interactive installation} -\label{sec:noninteractive-install} - -It is possible to override the default directories with environment -variables, and then install non-interactively. Example: -\begin{alltt} -> \Ucom{TEXLIVE_INSTALL_PREFIX=/opt/texlive} -> \Ucom{export TEXLIVE_INSTALL_PREFIX} -> \Ucom{echo i | sh install-tl.sh} -\end{alltt} - -The \envname{TEXLIVE\_INSTALL\_PREFIX} variable overrides the default -location of \dirname{/usr/local/texlive}, leaving all else -unchanged---so with the above invocation, the main installation will go -to \dirname{/opt/texlive/2007}. - -In the usual Unix way, the final \Ucom{echo i} can be replaced by any -sequence of input commands via a here document, so any sequence of -commands can be scripted. - -Here are all the possible overrides: - -\begin{ttdescription} -\item [TEXLIVE\_INSTALL\_PREFIX] - Override \dirname{/usr/local/texlive}. -\item [TEXLIVE\_INSTALL\_TEXDIR] - Override \dirname{\$TEXLIVE_INSTALL_PREFIX}/2007. -\item [TEXLIVE\_INSTALL\_TEXMFLOCAL] - Override \dirname{\$TEXLIVE_INSTALL_PREFIX/texmf-var}. -\item [TEXLIVE\_INSTALL\_TEXMFSYSVAR] - Override \dirname{\$TEXLIVE_INSTALL_TEXDIR/texmf-var}. -\item [TEXLIVE\_INSTALL\_TEXMFHOME] - Override \dirname{\$HOME/texmf}. -\end{ttdescription} - -It would be better to support a standard \acro{GNU}-style -\filename{configure} with options, instead of these environment -variables. Volunteers are welcome! - - -% -\subsection{Installing individual packages to disk} - -You can add individual packages or collections from the current -distribution to an existing non-\TL{} setup, or an earlier -\TL{} installation. - -\startinst - -Run the installation script \filename{install-pkg.sh} (not -\filename{install-tl.sh}, which is intended for complete installations -only): -\begin{alltt} -> \Ucom{sh install-pkg.sh \var{options}} -\end{alltt} - -The first set of options controls what gets read: - -\begin{ttdescription} -\item [-{}-package=\var{pkgname}] The individual package to work on. - -\item [-{}-collection=\var{colname}] The individual collection to work on. - -\item [-{}-nodoc] Exclude documentation files from the operation. - -\item [-{}-nosrc] Exclude source files from the operation. - -\item [-{}-cddir=\var{dir}] Source directory to read from; defaults -to the current directory. If you followed the instructions above, that -will be the distribution directory, and won't need to be changed. - -\item [-{}-listdir=\var{dir}] The so-called `lists' directory within -\var{cddir} from which to read the package information. The only -reason to change the default is if you're making changes to \TL{} -yourself. - -\end{ttdescription} - -What actually happens is controlled by the following options. If -neither of these are specified, the default action is to install the -selected files. The main destination tree is found by expanding -\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by -setting either the environment variable \envname{TEXMFMAIN} or -\envname{TEXMF}. - -\begin{ttdescription} -\item [-{}-listonly] List the files that would be installed, but don't -actually install anything. - -\item [-{}-archive=\var{tarfile}] Instead of installing the files into -the \TeX{} system, make a \cmdname{tar} archive. - -\end{ttdescription} - -Additional options: - -\begin{ttdescription} - -\item [-{}-config] After installation, run \code{texconfig init}. - -\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to -rebuild the filename database. - -\item [-{}-verbose] Give more information as the script runs. - -\end{ttdescription} - -Here are some usage examples: - -\begin{enumerate} - -\item To see the files in the package \pkgname{fancyhdr} without -installing it: - -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} -\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} -> \Ucom{--listonly} -\fi{} -texmf/doc/latex/fancyhdr/README -texmf/doc/latex/fancyhdr/fancyhdr.pdf -... -\end{alltt} - -\item Install the \LaTeX{} package \pkgname{natbib}: -\begin{alltt} -> \Ucom{sh install-pkg.sh --package=natbib} -\end{alltt} - -\item Install the \LaTeX{} package \pkgname{alg} without source files or -documentation: -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} -\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} -> \Ucom{-{}-nosrc -{}-nodoc} -\fi\end{alltt} - -\item Install all the packages in the collection of additional -plain \TeX\ macros: -\begin{alltt} -> \Ucom{sh install-pkg.sh --collection=tex-plainextra} -\end{alltt} - -\item Write all files in the \pkgname{pstricks} package to a -\cmdname{tar} file in \path|/tmp|: -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} -\else -> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} -> \Ucom{-{}-archive=/tmp/pstricks.tar} -\fi\end{alltt} - -\end{enumerate} - -\textifindoubt - - -% -\section{Post-installation} -\label{sec:postinstall} - -After the main installation is done, for any operating system, the -remaining steps are to configure the system for your local needs, and -perform some basic tests. - -Another sort of post-installation is to acquire packages, fonts, or -programs that were not included in \TL{}. The basic idea is to -install such additions in the \envname{TEXMFLOCAL} tree (if you -installed to disk), or \envname{TEXMFSYSVAR} (if you are running live). -See the ``Installation directories'' option on \p.\pageref{text:instdir}. - -Unfortunately, the details can and do vary widely, and so we do not attempt to -address them here. Here are some external links to descriptions: -\begin{itemize*} -\item -\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} -\item -\url{http://www.ctan.org/installationadvice} -\item -\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} -\item -\url{http://www.ctan.org/tex-archive/info/Type1fonts} for -installation information for fonts in particular. -\end{itemize*} - - -\subsection{The \protect\cmdname{texconfig} program} -\label{sec:texconfig} - -At any time after installation, you can and should use the program -\cmdname{texconfig} to configure the system to fit your local needs. It -is installed in the architecture-specific subdirectory -\texttt{TEXDIR/bin/\var{arch}} along with everything else. - -If you run it without arguments, it will enter full-screen mode and -allow you to view and change options interactively. - -You can also run it with various command-line options. Here are some of -the most common (\TL{} is configured for the A4 paper size by default): - -\begin{ttdescription} - -\item [texconfig paper letter] Set default paper size for -various programs and drivers (\cmdname{pdftex}, \cmdname{dvips}, -\cmdname{dvipdfm}, \cmdname{xdvi}) to be \acro{US} letter. The other -allowable size is \optname{a4}, which is the default. - -\item [texconfig rehash] Update all the \TeX{} ``filename databases'', -after adding or removing files. - -\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. -(See also the main \TeX{} \acro{FAQ} in \OnCD{texmf-doc/doc/english/FAQ-en}.) - -\item [texconfig help] Output help information for \cmdname{texconfig}. - -\end{ttdescription} - -Of course, \cmdname{texconfig} can only support changing a few of the -many options and configuration parameters in a \TeX{} system. The main -configuration file for the base \Webc{} programs is named -\filename{texmf.cnf}. You can find its location by running -\samp{kpsewhich texmf.cnf}; it contains many comments explaining the -default settings and useful alternatives. - -\cmdname{texconfig} alters files in a user-specific directory, as in -\dirname{$HOME/.texlive2007}. If you install \TeX\ just for yourself, -that is unlikely to make a difference. But if you install \TeX\ on a -multi-user system, you will want to change the configuration for the -whole system. In this case, run \cmdname{texconfig-sys} instead of -\cmdname{texconfig}. - -Likewise, the \cmdname{updmap} and \cmdname{fmtutil} scripts were -changed, to work under \dirname{$HOME/.texliveYYYY}. To alter system -directories, use \cmdname{updmap-sys} and \cmdname{fmtutil-sys}. - -In particular, for multi-user systems, you will probably want to -pregenerate the standard formats with \texttt{fmtutil-sys --missing}. -Otherwise, each user will end up with their own formats. - -Also, if you have a personally-modified copy of \filename{fmtutil.cnf} -or \filename{updmap.cfg}, instead of using the ones generated by -installation, they must be installed in the tree referenced by the -variable \envname{TEXMFSYSCONFIG}. - -The variables specifying the directories altered by these commands are -listed in section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. -You can see the actual directories by running \texttt{texconfig conf}, -and you can change them by editing \filename{texmf.cnf}. - - -\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; 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.141592 (Web2C 7.5.5) -kpathsea version 3.5.5 -... -\end{alltt} -If this comes back with `command not found' instead of version and -copyright information, most likely you don't have the correct -\dirname{bin} subdirectory in your \envname{PATH}. See -the environment-setting information on \p.\pageref{text:path}. - -\item Process a basic \LaTeX{} file: -\begin{alltt} -> \Ucom{latex sample2e.tex} -This is pdfeTeXk, Version 3.141592... -... -Output written on sample2e.dvi (3 pages, 7496 bytes). -Transcript written on sample2e.log. -\end{alltt} -If this fails to find \filename{sample2e.tex} or other files, perhaps -you have interference from old environment variables or configuration -files. For a deep analysis, you can always ask \TeX{} to report on -exactly what it is searching for, and finding; see ``Debugging actions'' -on page~\pageref{Debugging}. - -\item Preview the result online: -\begin{alltt} -> \Ucom{xdvi sample2e.dvi} -\end{alltt} -(Under Windows, the analogous command is \cmdname{dviout}.) 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 the system.) -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} -Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently -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. - -\item Other standard test files you may find useful: - -\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} -You can process these in the same way as we did with -\filename{sample2e.tex}. - -\end{enumerate} - -If you are new to \TeX{}, or otherwise need help with actually -constructing \TeX{} or \LaTeX{} documents, please visit -\url{http://tug.org/begin.html} for some introductory resources. - - -\section{\MacOSX{} installation} -\label{sec:mac-install} - -The recommended way to install \TeX\ on \MacOSX\ is from the Mac\TeX\ -distribution, new in 2005. This is provided on the \pkgname{live} -\DVD{} in the top-level \dirname{mactex/} directory. It contains its -own (native) installer for a full \TeX\ distribution, based on a -combination of te\TeX\ and \TL, along with many additional applications -and documentation. The project web page is \url{http://tug.org/mactex}. - -If you prefer, installation of \TeX{} under \MacOSX{} can also be done -directly from \TL, using the \filename{install*} scripts, as follows. - -In order to run the installation scripts under \MacOSX, you need to have -the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 -or later, you have \cmdname{bash}, and can proceed. If you're running -an earlier \MacOSX{} version, however, the default shell is -\cmdname{zsh}, which won't work; you'll need to get \cmdname{bash} from -the Internet, or more likely upgrade your system. - -Once you have \cmdname{bash}, the Unix installation documentation in the -previous section can be followed. See section~\ref{sec:unix-install} on -\p.\pageref{sec:unix-install}; \MacOSX-specific notes are included there -where needed. - -\section{Windows installation} -\label{sec:win-install} - -In this release of \TL{}, happily, the distribution once -again has a native Windows installer, named \cmdname{tlpmgui.exe}. (See -section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}, for an -explanation of the different distributions.) - -\cmdname{tlpmgui} has essentially the same options as the Unix -installer, only done through a GUI interface: selecting schemes, -individual collections, installation directories, and so on. -Section~\ref{sec:unix-install-disk} on -\p.\pageref{sec:unix-install-disk} describes the basic elements. It -also allows some post-installation activities such as adding/removing -packages, updating the filename database and building formats. -Moreover, \cmdname{tlpmgui} can setup the system for running -programs directly from the \DVD. - -For those who like to look underneath the hood, \cmdname{tlpmgui} uses -as its ``engine'' a command-line Windows program named \cmdname{tlpm}. - -The Windows \TeX{} system included in \TL{} is based on new binaries -borrowed from the \acro{W32TEX} distribution, kindly provided by Akira Kakuto. -It also includes some older (but still working) tools made by Fabrice -Popineau, and also a new \texttt{dvi} previewer, \textsf{dviout} by -Toshio Oshima. - -\TL{} can be installed on systems running Windows 98, \acro{ME}, -\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) -and \acro{MS-DOS} are not supported. - -\textbf{Warning:} Win9.x users must ensure they have enough environment - space before undertaking installation. The \cmdname{tlpmgui.exe} - program won't change the environment size for them. A few environment - variables will be created and it is possible you run out of - environment space. Add \texttt{SHELL=COMMAND.COM /E:4096 /P} in the - config.sys file in order to increase your environment size. - -\subsection{Installing \protect\TeX\protect\ Live to disk} - -After inserting the \TL{} \acro{CD} into the \acro{CD} drive, autostart should -activate \cmdname{tlpmgui}. If it does not, click \guiseq{Start\arw Run}, -then type \verb|:\setuptl\tplmgui.exe| (or -\verb|:\texlive\setuptl\tplmgui.exe| if you are -installing from the \TeX\ Collection \acro{DVD}), where \verb|| -is the drive letter with the \TeX\ Live \acro{CD} (or TeX Collection -\acro{DVD}), and then click \acro{OK}. - -The installation window titled \guiseq{TeX Live installation and maintenance -utility} should open. It contains the following sections: \guiseq{Main -customization}, \guiseq{Install}, \guiseq{Select a scheme}, \guiseq{Select -systems}, \guiseq{Directories} and \guiseq{Options}. - -By default, \cmdname{tlpmgui} tries to detect if \TeX{} is already -installed and depending on the result starts either in fresh -installation or maintenance mode. If you have \TeX{} already installed -but want to install the new version nevertheless, you can use -\texttt{tlpmgui~--install-mode} to force installation mode; but you -should know what you are doing, as the new \TL{} installation will -override the environment variables and other settings of the existing -installation; reverting to your old installation is not automatically -supported. - -Diagnostic information is collected by \cmdname{tlpmgui} in a log file -which is deleted at the end of the run, along with any other temporary -files. Invoking with \texttt{--debug} displays the names and contents -of all \cmdname{tlpmgui} temporary files in a separate window. - -In the \guiseq{Directories} section the installation drive (directory) -next to the \guiseq{CD/DVD} button should be displayed (e.g., -\texttt{F:/} or \texttt{F:/texlive/} for the \acro{DVD}), but if it is not, -then click the \guiseq{CD/DVD} button and select the \acro{CD/DVD} -drive, with the \TL{} \acro{CD} (or \TeX\ Collection \acro{DVD}). - -The directory in which you wish to install the software can be set by -clicking the \guiseq{TLroot} button. This directory will be set as -\path|TLroot| environment variable for later usage. - -In the \guiseq{Select a scheme} section the desired \TL{} installation scheme -should be chosen by clicking the radio button labelled with the installation -scheme name (e.g., \guiseq{scheme-gust}). Each scheme is accompanied by an -\guiseq{Info} button which, when clicked, displays a short description of the -relevant scheme. - -A scheme is a large set of files targeted at some kind of usage. There are -generic schemes for basic, medium and full installations. The remaining ones -are either targeted at certain LUGs (i.e., what GUST or GUTenberg propose -for their members) or application targeted (e.g., for XML and \TeX{} -cooperation). A preselected scheme can be refined. This is done in the -\guiseq{Main customization} section by choosing additional collections from -\guiseq{Standard collections} or \guiseq{Language collections}. For example, -by clicking the \guiseq{Select} button labelled \guiseq{Standard -collections}, additional collections like Metapost, Omega or documentation -in different languages can be selected. - -\guiseq{Wintools} collection is selected by default as it contains many small -programs, usually absent in Windows, which can be handy, like graphics -converters: \cmdname{sam2p}, \cmdname{jpeg2ps}, \cmdname{tiff2png}; -(de)compression programs: \cmdname{bzip2}, \cmdname{gzip}, \cmdname{unzip}, -and \cmdname{wget} which is needed for \cmdname{getnonfreefonts} (new) -utility. - -Next, clicking the \guiseq{Select} button labelled \guiseq{Language -Collections} in the \guiseq{Main customization} section opens the -\guiseq{Language collections} window in which the installation language can -be chosen by ticking the box next to the language. - -Next, click the \guiseq{Install} button in the \guiseq{Install} section to -start the installation proper process. - -\textbf{Note:} The \guiseq{Perl} and \guiseq{Ghostscript} are installed only -on demand. They should be installed unless they are already installed and you -really know what you are doing. Both programs are required by many important -tools. The \verb|PERL5LIB| and \verb|GS_LIB| environment variables will be -set too, as well the path to Ghostscript binaries will be added to the -\verb|PATH| variable. - -The \TL{} system needs some post-processing steps (format files -generation, ls-R databases generation, environment variables, etc.). All -these operations are done there, some of them can be lengthy. So please wait -until you see a statement about the successfully finished installation. - -The shortcut for \cmdname{tlpmgui} (and also \cmdname{dviout}, if installed) -will be added to the menu \guiseq{Start\arw Programs\arw TeXLive2007}. - -If it is needed (Win9x/WinME), you will be asked to reboot your computer. - -\subsection{Support packages for Windows} -\label{sec:win-xemtex} - -To be complete, a \TL installation needs support packages that are not -commonly found on a Windows machine. Many scripts are written using the Perl -language. Some important tools require the Ghostscript \PS{} interpreter to -render or to convert files. A graphic file toolbox is also needed in some -cases. Last but not least, a \TeX-oriented editor makes it easy to type in -your \TeX{} files. - -All these tools are quite easy to find for Windows, but in order to try to -make your life even easier, we have put such a set of tools on \TL: -\begin{itemize*} -\item GNU \cmdname{Ghostscript} 8.54 -\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TL{} - Perl scripts. -\item win-tools is a set of small programs (bzip2, gzip, jpeg2ps - and tiff2png) -%\item a subset of \cmdname{ImageMagick} 5.5.6 -%\item the \cmdname{ISpell} checker -%\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support -%\TeX{} typesetting. -\end{itemize*} - -Perl and Ghostscript are installed upon request; you may explicitly -deselect them during installation if you already have them. - -If you don't want to install this bundle, then you are on your own to -install the required tools to complete your \TL{} system. Here is a -list of places to get those tools: - -\begin{description} -\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} -\item[Perl] \url{http://www.activestate.com/} (but you might need some - supplementary packages from CPAN: \url{http://www.cpan.org/}) -\item[ImageMagick] \url{http://www.imagemagick.com} -\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to - process or convert your graphic files. NetPBM home page is - \url{http://netpbm.sourceforge.net/} -\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the - user's taste. Here is a selection: - \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 AucTeX is available natively under Windows, see - \url{ftp://alpha.gnu.org/gnu/auctex} - \item \cmdname{WinShell} is available on \TL in the \path|support| - directory, see \url{http://www.winshell.de} - \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} - \item \cmdname{Vim} is available from \url{http://www.vim.org} - \item TeXnicCenter is free software, available from - \url{http://www.toolscenter.org} and in the proTeXt distribution. - \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} - \end{itemize*} -\end{description} - -You might want to install other tools that are not free\footnote{Not -free, that is, in the sense of freedom to modify and redistribute, -following free software guidelines. This does not mean you can't acquire -them for no money.} and therefore not included on \TL{}, such as -\cmdname{GSView}, the \cmdname{Ghostscript} companion to more -conveniently view PS/PDF files. \cmdname{GSView} is available from -\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. - -\section{Maintenance of the installation in Windows} - -If you have \TeX\ Live installed, you can use \cmdname{tlpmgui} again -for modifying and maintaining your installation. - -\subsection{Adding/removing packages} - -As the \cmdname{tlpmgui} shortcut is available in the \guiseq{Start\arw -Programs\arw TeXLive2007} menu, start it from here. The maintenance window -titled \guiseq{TeX Live installation and maintenance utility} shows. It -contains several tabs: \guiseq{Add Packages}, \guiseq{Remove packages}, -\guiseq{Manage installation}, \guiseq{Remove installation}. - -Click the tab labelled \guiseq{Add packages} or \guiseq{Remove packages} -to enter the relevant functionality and then: - -\begin{itemize} -\item In the first tab select the proper \CD{} drive (or \DVD with - \texttt{texlive} directory) by pressing the \guiseq{CD/DVD} button. -\item Click the \guiseq{Search} button in the \guiseq{Buttons} section to -display or refresh in the \guiseq{Select packages to\dots} section the -list of packages to install or remove. - -When adding packages, the list of installed packages is compared to the list -of packages available from your \CD/\DVD. Only packages not already installed are -displayed. It is up to you to select which packages you want to -install. - -When removing individual packages, only a list of installed packages -will be displayed. - -Please note that for both \guiseq{Add packages} and \guiseq{Remove packages} -the collections are listed first. - -\item Select a package by clicking on the name of the package. Clicking the -\guiseq{Info} button in the \guiseq{Buttons} section displays a short -description of the selected package in the window located in the \guiseq{Info -about the selected item} section. To select several packages at once hold -down one of the Ctrl or Shift keys at your keyboard while holding down the -left mouse button or drag the mouse pointer while holding down the left mouse -button. - -\item Click the \guiseq{Install} or \guiseq{Remove} button in the -\guiseq{Buttons} section to perform the appropriate action. -\end{itemize} - -\subsection{Configuring and other management tasks} - -The functions available in the tab labelled \guiseq{Manage the installation} -are helpful in performing actions needed when you want to add support for a -language which was not selected during the installation, or add/regenerate a -format which was not selected during the installation or was modified after -the installation. - -The following actions can be performed: - -\begin{itemize} -\item Refresh the \filename{ls-R} database -\item Create formats (All or Missing) -\item Edit \filename{language.dat} -\item Edit \filename{fmtutil.cnf} -\item Edit \filename{updmap.cfg} -\end{itemize} - -Note: you can close the Edit\dots{} window with the \guiseq{Cancel} or -\guiseq{Done} button; the latter will start rebuilding the format files -(or the fontmap files if you have edited \filename{updmap.cfg}), followed by a -\filename{ls-R} database files refresh. - -For more information about the configuration see section~\ref{sec:persconf}, -\p.\pageref{sec:persconf}. - -\subsection{Uninstalling \protect\TL{}} - -The tab labelled \guiseq{Remove the TeX Live installation} opens a window -which contains functionality not worth describing and we do not know who would -need it and what it is for\dots :-) - -Anyway, if you have the \path|texmf-local| directory for your local additions, -the removal procedure will not wipe it out or delete things in it. However, -it will be done only if you select it explicitly. The \path|setuptl| -directory containing \cmdname{tlpmgui} and related files will not be deleted. -You will have to do some manual cleanup to actually remove them. - -\subsection{Adding your own packages to the installation} - -First, whatever changes you make, \textbf{do not forget to rebuild the ls-R -database files}. Otherwise, your new files will not be found. You can do this -either via the \cmdname{tlpmgui} run and selection of the appropriate action -from the \guiseq{Manage the installation} tab, or manually running the -\file{mktexlsr} command. - -If you want to add files that are not provided by the \TL{} distribution, -it is recommended to put them in the \path|$TEXMFLOCAL| directory. This -way, you will be safe against upgrades of the \TL{} software. - -The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, -for example, you want to add the support file for the Maple symbolic -computation program, you will have to put the style files in:\\ -\path|c:\TeXLive2007\texmf-local\tex\latex\maple\|\\ and the -documentation files in:\\ \path|c:\TeXLive2007\texmf-local\doc\latex\maple\| - -\subsection{Running \texttt{tlmp.exe} from the command line} -The \cmdname{tlpm.exe} program which is used as engine by \cmdname{tlpmgui} -has a number of other useful options. You can get the list by running: -\begin{verbatim} -tlpm --help -\end{verbatim} - -More information and examples of use can be found in \path|tlpm.readme|. - -\subsection{Network installation} - -\KPS{} knows about UNC names, so you can use them to get your TEXMF -tree from the network. But there is better than this. -All the support files and configuration files, everything except the files in the -\path|bin/win32| are shareable with a \teTeX{} or Unix \TL{} installation. That means -you can use Samba either to mount from an NT server to a Unix -workstation or the converse. Several strategies are possible: -\begin{itemize} -\item Put everything on the server. Just add each set of files for the OS and -architecture you want to use in the \path|bin| directory. That means -for example \path|bin/win32| and \path|bin/i386-linux|. Next configure -your main variables. You can use UNC names to -point to the right directories under Win32. -\item Install a local copy for the binaries and format files. In this - case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that - will be accessed remotely. Set \path|$TEXMFVAR| to be a local - directory which will hold local configuration files and on-the-fly - generated files. -\end{itemize} - -\subsection{What's different in Windows?} - -The Windows version of \Webc{} has some specific features that should be -pointed out. - -\begin{description} -\item[\cmdname{kpsecheck}] This command provides some options that did - not fit well into \cmdname{kpsewhich}. It will allow you to list all - the files that occur multiple times across your texmf trees. This - could be handy, but most of the time you will also get unwanted - output (like dozens of \path|README| files). It is noticeable - that all these files result in clashes inside the \KPS{}-hashing - mechanism; fortunately, \KPS{} never looks for these files. For - this reason, you can combine the \path|-multiple-occurrences| with 2 - other options for including or excluding any filename that match - some pattern (you can request for several patterns). - - The \cmdname{kpsecheck} command will also report the status of shared - memory: in use or not used. That might be useful to know because if - the status reported is \samp{in use}, that means one or several - processes are working, and the effect of any \cmdname{mktexlsr} - command will be delayed until the next time where no \KPS{} linked - process will be running. - - Last, this same command will report about the location it thinks - Ghostscript can be found. Under Win32, for many programs, it is - easier to use the Ghostscript dll, and find it by using the - Ghostscript registry key than to change the \path|PATH|, which has a - limited length anyway. -\item[\Webc{}] The engines have one more option than in Unix \Webc: - \begin{itemize} - \item \path|-proctimes| print statistics about the job run - time. It is to be noted that Win9x not being a true multitasking - operating system, it has no reliable timer for short periods, so - the value printed is an approximation. Under NT/2K/XP, the result - is quite accurate with user time and system time values allocated - for this run. For Unix - users: the \path|time| command is not usually available to Windows - users. - \end{itemize} -\end{description} - -\subsection{Personal configurations} -\label{sec:persconf} - -\subsubsection{Dvips} - -The configuration file for dvips can be found in\\ -\verb+C:\TeXLive2007\texmf-var\dvips\config\config.ps+\\ -You may open it with any editor - %(\cmdname{WinShell} will do fine) - and change some parameters: - -\begin{description} -\item [fonts] you can change the default printer \MF{} mode or printer - resolution in case \cmdname{dvips} needs to generate PK fonts. By default it - is configured to use Type~1 versions of the CM fonts, so it should - not call \cmdname{mktexpk} too often; -\item[printer] you can tell dvips where you want to print by default. If - the \optname{o} option is not followed by a printer name, then a - \file{.ps} \PS{} file is written. You can give dvips a printer - name such as: -\begin{verbatim} -o lpt1: -% o | lpr -S server -P myprinter -% o \\server\myprinter -\end{verbatim} -\item[paper] Next, you might want - to change the paper size from European (A4) to US letter - by making the US letter the first paper size mentioned in the file. - Scroll to the group of lines beginning with \code{@}. Move - the appropriate lines so that this section begins with the lines:\\ -\hspace*{1em} @ letterSize 8.5in 11in\\ -\hspace*{1em} @ letter 8.5in 11in\\ -\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ -\hspace*{1em} @+ letter\\ -\hspace*{1em} @+ \%\%EndPaperSize -\end{description} - -The current \TL{} distribution implements the procedure of making always -up-to-date fontmaps files for Dvips and Pdftex. This is done by the -\cmdname{updmap} program during installation. -If you add new font packages using the installation program or by hand, -edit the file \verb+updmap.cfg+ in \path|$TEXMFVAR/web2c|. - -\subsubsection{PdfTeX} - -If you use the program pdf{}latex to write \acro{PDF} format directly, -and you are using \acro{US} letter-size paper, edit the file -\verb+C:\TeXLive2007\texmf-var\tex\generic\config\pdftexconfig.tex+ and -change \samp{\bs pdfpagewidth} and \samp{\bs pdfpageheight}. These entries -should read: -\begin{alltt} -\bs{}pdfpagewidth=8.5 true in -\bs{}pdfpageheight=11 true in -\end{alltt} -Save the file and exit the editor. - -\subsubsection{Xe\TeX} -Xe\TeX{} for Windows is linked statically with fontconfig 2.4.2. -A configuration file for fontconfig is \verb+fonts.conf+. For details, -see the file \verb+fonts.conf+ itself which is in a directory shown by -the command \texttt{kpsewhich --var-value=FONTCONFIG\_PATH}. - -\subsubsection{GSView} -GSView is now distributed under the Aladdin License, and therefore is no -longer included in \TL{}. - -You may want to change the page size to US letter size. If so, open -GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. - -Also, there are menu settings that are supposed to give you the most -readable screen image. On \guiseq{Media \arw Display Settings}, set both -\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. - -Note that the installation process has set all \code{.ps} and -\code{.eps} files to automatically open with \cmdname{GSView}. - -For printing instructions, see section~\ref{printing} below. - - -\subsection{Testing} - -For generic verification procedures, see section~\ref{sec:test-install} -(\p.\pageref{sec:test-install}). This section describes -Windows-specific tests. - -Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), -found in \path|C:\TeXLive2007\texmf-dist\tex\latex\base|. The \LaTeX\ source -should appear on the screen. Process it by clicking on the -\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar -(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} -menu (XEmacs) or Preview (dviout) icon (WinShell). - -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. - -\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ -cannot find a file, you can press Ctrl-z to quit. - - -\subsection{Printing} -\label{printing} - -It is possible to print from \cmdname{dviout}. In this case, printing -will be done using the Windows unified printer driver. By definition, it is -compatible with all printers. However, there is some drawback: it can -generate some huge spool files, and some (older) versions of Windows -just don't like them. The advantage is that you can use features like -embedding BMP or WMF images. You also need to make sure that the printer -parameters are correctly set, else you -will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer -will give you only one quadrant of your page). - -Printing is faster and more reliable if you run \cmdname{dvips} to make -a \filename{.ps} file and then print from \cmdname{GSView}. In -\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} -window will appear. - -If you are using a \PS{} printer, \textit{be sure to select -\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box -at the bottom left of the \guiseq{Print} window. You can then select any -of the printers that you have previously installed. If you fail to -check the box for \optname{\PS{} Printer}, printing will not work. - -If you will be using your own non-\PS{} printer, select -\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click -on the button to the right labelled \guiseq{djet500} and select your -printer type from the list that pops up. (In the older version of -\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} -selected, then select your printer type from the \guiseq{Device} list.) - -\subsection{Tips and tricks for Win32} - -\subsubsection{Different flavors of Win32} - -What we call Win32 is not an operating system by itself. It is a large -set of functions (around 12,000 in the header files of the Microsoft -\acro{SDK}) that you can use to write programs for different operating -systems of the Windows family. - -Windows comes in different flavors: -\begin{itemize} -\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, - multithreading} environments, but rather updated incarnations of - \acro{DOS}. This can be more or less proven by the fact that when - booting, the PC will load the \path|command.com| interpreter, and if - you stop the boot process at this point, you can ask for the current - (\acro{DOS}) version and it will answer something like \samp{MS-DOS - 7.0} (at least for the old versions of Win9x). -\item Windows \acro{NT}, which is a new operating system written from - scratch, capable of true multitasking behavior, and including many - high level features. -\item Windows 2000, based on \acro{NT}, with all the bells and - whistles of Win98. -\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is - the last step in merging both lines of products (Win9x based and - \acro{NT} based). \acro{XP} is based on \acro{NT}. -\end{itemize} - -Win9x are able to run 32~bits programs and 16~bits programs -concurrently. But the operating system by itself is not entirely -written in 32~bits mode, and does not support memory protection: 16bits -applications can overwrite parts of the operating system memory! Some -parts of the system like the \acro{GDI} (Graphical Device Interface) -manage limited resources like bitmaps, fonts, pens and so on for the set -of all programs that run concurrently. All the bitmaps headers available -at the same time can't amount for more than 64kB. This explains the -performance tool and the fact that you can put your system on his knees -by making intensive use of graphic objects for example. - -NT, 2K and XP do not suffer from these limitations, and neither from -other Win9x limitations. They are true multitasking environments, with -protected memory. They are much more responsive than Win9x because -of better memory management, better file system and so on. - -\subsubsection{Command line prompt} - -You may wonder, ``Why would I need to use a command line prompt when -I have Windows?'' - -Good question! The problem is of very general nature. Not all operations -can be done easily using only a \acro{GUI}. Command line gives you -programming power\Dash assuming a clever command interpreter. - -But the problem here is more fundamental: \TeX{} is \emph{a batch} -tool. Not an interactive one. \TeX{} needs to compute the best -layout for each page, resolve cross-references and so on. This can be -done only by a global processing of the document. It is not (yet) a -task that can be done interactively. - -This means that you should use \TeX{} from a command line. In fact the -situation is not so bad. There is an advantage to write command line -tools for complex processing: they are better debugged, because they are -independent of any \acro{GUI} problems, and \acro{GUI} tools can be -designed to interface to the command line tools. This is the case for -\TeX{}, where you will mostly interact with it through a \acro{GUI} text -editor. - -However, you may need to use the command line prompt in a number of -situations. One is when you are having difficulties and want to debug -your setup. - -\begin{description} - \item[Win9x] You can open a command line prompt by looking either for - the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, - or by choosing \guiseq{Start\arw Run} menu typing in - \path|command.com| as the program name. - \item[NT, 2K, XP] You can open a command line prompt by looking for - \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. - You can also choose \guiseq{Start\arw Run} and type in - \path|cmd.exe|, which is the name of the brand new command - interpreter for \acro{NT} (thus, it is untrue to call this a - \emph{DOS} box!). -\end{description} - -These locations may change across different Windows versions. - -\subsubsection{Path separators} - -The Win32 API understands both \path|/| and \path|\| characters as PATH -separators. But the command interpreters do not! So whenever a path name -is used programmatically, you can use both separators, and even mix them -up in the same path name. But on the command line, you must type -\path|\| as path separator. The reason is compatibility: the command -processor used \samp{/} to introduce arguments to commands. - -All this to say: do not be surprised to read path names written using -the Unix convention; Windows-\TL{} is a port of \Webc, and aims to be -compatible across platforms. For this reason, all the configuration files -that need to specify path names use the Unix convention. - -\subsubsection{File systems} -\label{sec:clusters} - -The worst feature of Win9x with regard to \TeX{} is probably the -so-called FAT file system. \TeX{} uses very many small files, with size -around 1--3kB. The \acro{FAT} file system is old, and predates by -decades the multi-gigabytes hard disks we have today. As a result, it -cannot manage efficiently the tens of thousands of \TeX{} files found in -\TL{}. The \acro{FAT} file system allocates a minimum of 32kB for -\emph{any} file on a huge partition. It means that \TeX{} will use much -more disk space than it actually needs. - -The other, more modern, file systems available, \acro{FAT32} and -\acro{NTFS}, do not have this drawback. They manage clusters of 4kB -only. (You can lower the limit to 512 bytes on \acro{NTFS}.) - -\subsubsection{How to add some directory to your PATH} - -There are pairs of variables and values which behave much like global -variables inside your programs. The set of those variables is called the -environment. Each program is initialized with a copy of the -environment when it is run. It can request and change the -value of any variable. The changes happen in the copy of the -environment, and is not at all propagated to the other running -programs. - -Your PATH is a special environment variable used to search for -programs you want to run. -There is a different procedure to change it for Win9x, WinME and NT/2K/XP: - -\begin{description} -\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line - starting with \texttt{PATH=} and followed by a list of directories separated - by \path|;|. Please add the directory with the executables in this line. - After this, this line could look as follows: -\begin{verbatim} -PATH=c:\windows;c:\windows\system;c:\TeXLive2007\bin\win32 -\end{verbatim} -\item[Windows ME] You need to run the special program - \path|c:\windows\system\msconfig.exe| to be able to change any - environment variable. From this program, select the `Environment' - tab, and then add or modify the variable you want. You will be asked to reboot the - machine upon any change. -\item[Windows NT/2K/XP] - Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the - window with the control panel icons opens. Double click on System. The - System Properties window opens. Click on the tab \textsf{Environment} - or look for a button named \guiseq{Environment Variables} among the - dialog boxes. Now you can change the environment variables for your - user account. Note: There are also displayed the environment settings - for the system. Normally, you can't change the system variables - unless you have administrator rights on your machine. If you want to - change the \texttt{PATH} for all users, you will have to contact your - system administrator or be the system administrator yourself\Dash in - the latter case you should know what you are doing. - - If there is already a \texttt{PATH} setting for your user account, - left click on \texttt{PATH}. In the field \textsf{Variable} appears - \texttt{PATH} while the field Value shows the current setting of - \texttt{PATH} as a list of directories separated by \path|;|. Add - the directory where the executables are located (e.g. - \path|c:\TeXLive2007\bin\win32|). If there isn't a \texttt{PATH} variable - for your user account, simply click in the field Variable and type - in \texttt{PATH}, click in the field \textsf{Value} - and type in the directory with the executables. Important: Click on - the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the - changes to \texttt{PATH} won't apply to your system. Be careful when - changing the environment settings. -\end{description} - -The best way to be sure that a variable has been properly set is to -open a console and type: -\begin{verbatim} -set VARIABLE -\end{verbatim} -which should return the corresponding value. - -\subsubsection{\TeX{} engines} - -If you have a look at the \Webc{} documentation, you will read that all -the various \TeX{} derived programs use the same base engine. For -example, \path|tex.exe| and \path|latex.exe| are exact copies of the -same program, but each one will use a different format file, based on -its calling name. - -Under Unix, this feature is implemented through \emph{symbolic -links}. It saves up a bit of disk space, because some engines are -used with many different format files. - -The Win32 API does not know about file links. So to save up almost -the same amount of memory, all the \TeX{} base engines have been put -in DLLs (\emph{Dynamic Linked Library}). This means that you will have -the following layout: -\begin{alltt} -2006-11-23 07:06 2 560 latex.exe -2007-01-06 23:54 1 073 664 pdftex.dll -2006-01-28 08:05 2 560 pdftex.exe -\end{alltt} -and the \path|latex.exe| file is nothing but a rough copy of -\path|pdftex.exe| using the same core \path|pdftex.dll|. -The same trick has been used for the \path|mktex*.exe| family of programs -which are linked to the \path|mktex.dll| library. - -In fact, a generic tool called \path|irun.exe| is provided to build the -equivalent of Unix hard links for executable files only under Win32. - -\subsection{In case of problems} -\label{sec:troubleshooting} - -\subsubsection{What to do if \texttt{latex} does not find your files?} - -\begin{itemize} - -\item \cmdname{kpsewhich} is the tool of choice to debug any -problem. However, \cmdname{kpsewhich} outputs debug information to -stderr, and the older Windows consoles do not know how to redirect -stderr to a file. (Windows NT and later do support redirections, but -the trick below will work for any console.) For diagnostic purposes you -can temporarily set an environment variable (in a \acro{DOS}/\acro{cmd} box): - -\begin{verbatim} -SET KPATHSEA_DEBUG_OUTPUT=err.log -\end{verbatim} -You can also set the debug level: -\begin{verbatim} -SET KPATHSEA_DEBUG=-1 -\end{verbatim} - -Similarly, to redirect stderr to stdout: -\begin{verbatim} -SET KPATHSEA_DEBUG_OUTPUT=con: -\end{verbatim} -This way you can capture both stdout and stderr in the same file. -\item Assuming the installation has been done in \path|c:/TeX|, check - the following values: \\ - {\small - \begin{tabular}{ll} - \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/TeX| \\ - \path|kpsewhich -expand-path $TEXMF| & \path|c:/TeX/texmf....| \\ - \path|kpsewhich -expand-path $TEXMFCNF| & - \path|.;c:/TeX/texmf-var/web2c;| \\ - \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/TeX/texmf/tex//| - \end{tabular} -} -\item If you have other \TeX{}-related values already set in your - environment, please, remove them. They are overriding the ones in - texmf.cnf. -\item Check the values from:\\ -{\small - \begin{tabular}{ll} - \texttt{kpsewhich cmr10.tfm} & \path|c:/TeX/texmf-dist/fonts/tfm/public/cm/cmr10.tfm|\\ - \texttt{kpsewhich latex.fmt}& \path|c:/TeX/texmf-var/web2c/latex.fmt| - \end{tabular} -} -\item At this point, if everything is correct, \TeX{} and friends - should work. If it is not the case, you will need to play with - the \path|-debug=n| option from \path|kpsewhich|, and check back all - the values. Try to identify and report the problem. -\end{itemize} - -\subsubsection{What to do if your setup still does not work as expected?} - -Here are several questions to investigate: - -\begin{enumerate} -\item Is \file{tex.exe} in my \path|PATH|? - -\item Is the \path|TEXMFCNF| variable correctly set to -\path|c:/TeXLive2007/texmf-var/web2c| (default value)? - -\item Are there any errors in the log file generated by the -\file{tlmpgui.exe} program? -\file{tlmpgui.log} can be found in your -\file{TEMP} directory. You can find this by searching for the -string \samp{Error}. Hint: the log file can show some errors after -building all format files. Please do not panic: perhaps some formats -weren't already installed. - -\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? -(Unlikely, but it doesn't hurt to check.) - -\end{enumerate} - -The \TL{} software consists of hundreds of programs and tens of -thousands of files, all from varying sources. So it is quite difficult to -predict all possible causes for problems. Nevertheless, we will do our -best to help you. (See section~\ref{sec:help}, \p.\pageref{sec:help}.) - -% don't use \Webc so the \uppercase in the headline works. -\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{}. - -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. - -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 \web{} and translates them into C source -code. The core \TeX{} programs are: - -\begin{cmddescription} -\item[bibtex] Maintaining bibliographies. -\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). -\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[makempx] \MP{} label typesetting. -\item[mf] Creating typeface families. -\item[mft] Prettyprinting \MF{} source. -\item[mpost] Creating technical diagrams. -\item[mpto] MetaPost label extraction. -\item[newer] Compare modification times. -\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 \acro{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{}. 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 more than one directory tree -simultaneously, which is useful in maintaining \TeX's standard -distribution and local extensions in two 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} - -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{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{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{Debugging}). - -\subsubsection{Config files} - -\begingroup\tolerance=3500 -\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} (by default such a file lives -in the \file{texmf/web2c} subdirectory). \emph{All} -\file{texmf.cnf} files in the search path will be read and definitions -in earlier files override those in later files. Thus, with a search -path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those -from \verb|$TEXMF/texmf.cnf|. -\endgroup - -\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{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{Default-expansion} - -\tolerance=2500 -If the highest-priority search path (see ``Path sources'' on -page~\pageref{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 - -\tolerance=1500 - -\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 -(appproximately; 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{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{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{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); most sites have only one hierarchy. \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 -(\acro{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{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 more important 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{SExamplesofuse} - -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} - -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 -prolog \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 ... \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{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. -\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/html/dvips/dvips_toc.html}). -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{SExamplesofuse} 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 -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 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, - ... - -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 -[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 TFM files read. -\item[\texttt{hash\_extra}] - Additional space for the hash table of control sequence names. - Approximately 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 \acro{GNU} version of these programs -(\cmdname{gcc}, \acro{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:unix-install-disk} on -\p.\pageref{sec:unix-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} & \acro{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: \acro{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} - -\section{Acknowledgements} - -\TL{} is a joint effort by virtually all of the \TeX{} user groups. -This edition of \TL{} was overseen by Sebastian Rahtz and Karl Berry. -The other principal contributors 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 together provide the necessary technical -and administrative infrastructure. Please join your local user group! - -\item The \acro{CTAN} team, which distributes the \TL{} images and -provides the common infrastructure for package updates, upon which \TL{} -depends. - -\item Peter Breitenlohner and the \eTeX\ team for the stable foundation -of future \TeX's. - -\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} -would certainly not exist, and whose continual help makes it a better -product. - -\item Michel Goossens, who co-authored the original documentation. - -\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} -version of this documentation, and who worked tirelessly to improve -it at short notice. - -\item Hans Hagen, for major testing and making the \ConTeXt\ format -conform to \TL's needs. - -\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team for continuing -enhancements of \TeX's abilities. - -\item Taco Hoekwater, for renewed development efforts on MetaPost and -\TeX\ itself. - -\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm}, -and Tomasz {\L}uczak, for \cmdname{tlpmgui}. - -\item Akira Kakuto, for great assistance in incorporating the Windows -binaries from his \acro{W32TEX} distribution -(\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}). - -\item Jonathan Kew and his employer \acro{SIL}, for the major new -development of Xe\TeX{} and taking the time and trouble to integrate it -in \TL{}. - -\item Reinhard Kotucha, for helping with the massive task of updating -packages in \TL{}, as well as Windows research efforts, the -\texttt{getnonfreefonts} script, and more. - -\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 Fabrice Popineau, for the original Windows support in \TL{}. - -\item Norbert Preining, for helping with the \TL{} infrastructure and -package updates, and coordinating the Debian version of \TL{} (together -with Frank K\"uster), making many suggestions for improvement along the -way. - -\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 assembly and maintenance of Web2C, -upon which all else depends. - -\item Gerben Wierda, for creating and maintaining the \MacOSX\ support, -and much integration and testing. - -\item Graham Williams, on whose work the catalogue of packages depends. - -\end{itemize*} - -Builders of the binaries: -Tigran Aivazian and Hartmut Henkel (\pkgname{x86\_64-linux}), -Akira Kakuto and Fabrice Popineau (\pkgname{win32}), -Manfred Lotz (\pkgname{i386-freebsd}), -Norbert Preining (\pkgname{alpha-linux}), -Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-linux}, - \pkgname{sparc-solaris}), -Karl Berry (\pkgname{i386-linux}), -Olaf Weber (\pkgname{mips-irix}), -Gerben Wierda (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}). - -Documentation and translation updates: -Karl Berry (English), -Daniel Flipo \& Fabrice Popineau (French), -G\"unter Partosch \& Hartmut Henkel (German), -Petr Sojka \& Jan Busa (Czech\slash Slovak), -Boris Veytsman (Russian), -Staszek Wawrykiewicz (Polish). - -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:multiple-dist}, \p.\pageref{sec:multiple-dist}). 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:struct-tl} (\p.\pageref{sec:struct-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-doc/doc/english/tds/tds.html\#Extensions} -{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. - -\item Helper scripts (not meant to be invoked by users) are now located -in a new \dirname{scripts} directory of \dirname{texmf*} trees, and -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-doc/doc/english/tds/tds.html\#Scripts} -{\texttt{texmf-doc/doc/english/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/doc/pdftex/manual}. - - \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}. - See section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. - -\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} - - -\subsection{Present} -\label{tlcurrent} - -In 2006--2007, the major new addition to \TL{} was the Xe\TeX{} 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). - -The installation scripts now accept various environment variables to -allow for non-interactive installation; see -section~\ref{sec:noninteractive-install}. - -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 \acro{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. - - -\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 checked tree of macros and fonts. This work -is all done by hard-pressed volunteers in their limited spare time, and -a great deal remains to be done. If you can help, don't hesitate to put -your name forward! - -Please send corrections, suggestions, and offers of help to:\hfill\null -\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/source/texlive-en/archive/live-2008.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/live-2008.tex deleted file mode 100644 index a172d5f409e..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/live-2008.tex +++ /dev/null @@ -1,2951 +0,0 @@ -% $Id: live.tex 9531 2008-07-13 21:12:58Z siepo $ -% 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{} 2008}}% -} - -\author{Karl Berry, editor \\[3mm] - \url{http://tug.org/texlive/} - } - -\date{August 2008} - -\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{} usergroups distribute among their members. Section -\ref{sec:tl-coll-dists} briefly describes the contents of this \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. - -\TL{} packages are regularly updated from -\acro{CTAN}: \url{http://www.ctan.org}. - -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 architectures, -including \MacOSX. The included sources should enable installation -on platforms for which we do not have binaries. - -As to Windows: only Windows 2000 and later are supported. Windows -9\textit{x}, ME and NT have been dropped. Because of this -change, Windows requires much less special treatment compared to -the Unix systems. There are no 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. The net -installer itself is small, and downloads everything requested from the -Internet. The net installer is an attractive option if you need only a -fraction of the complete \TL. - -The \DVD{} installer lets you install to a local disk, but you can -also run \TL{} directly from the \DVD{} (or from a \DVD{} image, if -your system supports that). - -\noindent This is described in the -installation sections following, but here is a quick start: - -\begin{itemize*} - -\item The installation script is named \filename{install-tl}. It can - operate in both a \GUI{} mode (default for Windows) and - a text mode (default for everything else). You can force one mode or - the other with the options \code{-gui} and \code{-no-gui}, respectively. - -\item One of the installed items is a new program, the `\TL\ Manager', - 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*} - - -\subsection{Getting help} -\label{sec:help} - -The \TeX{} community is both 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 forego \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-doc/doc/english/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 which can be run live or - installed to disk. - -\item [Mac\TeX] for \MacOSX, this adds a native \MacOSX\ installer and other -Mac applications to \TL{}. Its home page is -\url{http://www.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. - -\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 -the \TL{} distribution. On the \pkgname{live} \DVD, the entire \TL{} -hierarchy is in a subdirectory \dirname{texlive}, not at the top -level of the disc. - -\begin{ttdescription} -\item[bin] The \TeX{} system programs, arranged by platform. -% -\item[readme.html] Web pages with a quick introduction and useful links, -in various languages. -% -\item[source] The source to all included programs, including the main \Webc{} - \TeX{} and \MF{} distributions. -% -\item[support] Various auxiliary packages and programs. These are - \emph{not} installed automatically. This includes - assorted editors and \TeX\ shells. -% -\item[texmf] See \dirname{TEXMFMAIN} below. -% -\item[texmf-dist] See \dirname{TEXMFDIST} below. -% -\item[texmf-doc] Tree for self-contained pure documentation, arranged by - language. -% -\item[tlpkg] Scripts, programs and data for managing the - installation. It also contains private copies of - Perl and Ghostscript for Windows, which are invisible outside \TL, - and a new Windows PostScript viewer PSView. -\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. - -The \dirname{texmf-doc} directory contains documentation which does -not belong to any particular package or program. 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} or \cmdname{texdoctk} programs to find any -documentation wherever it is located. The comprehensive links in -the top-level file \OnCD{doc.html} may also be helpful. - -This \TL\ documentation itself is in \dirname{texmf-doc} and is -available in several languages: - -\begin{itemize*} -\item{Simplified Chinese:} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn} -\item{Czech/Slovak:} \OnCD{texmf-doc/doc/czechslovak/texlive-cz} -\item{English:} \OnCD{texmf-doc/doc/english/texlive-en} -\item{French:} \OnCD{texmf-doc/doc/french/texlive-fr} -\item{German:} \OnCD{texmf-doc/doc/german/texlive-de} -\item{Polish:} \OnCD{texmf-doc/doc/polish/texlive-pl} -\item{Russian:} \OnCD{texmf-doc/doc/russian/texlive-ru} -\end{itemize*} - -\subsection{Overview of the predefined texmf trees} -\label{sec:texmftrees} - -This section lists all predefined variables specifying the texmf trees -used by the system, and their intended purpose, and the default -layout of a \TL{} system. The command \texttt{texconfig conf} shows -you the values of these variables, so that you can easily find out -how they map to directory names in your installation. - -\begin{ttdescription} -\item [TEXMFMAIN] The tree which holds vital parts of the system - such as helper scripts (e.g., \verb+web2c/mktexdir+) and other - support files and their documentation. Does not include - \TeX\ formats and packages. -\item [TEXMFDIST] The tree which holds the main set of macro packages, - fonts, etc., as originally distributed. -\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 tree used by the utilities - \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified - configuration data. Under \envname{TEXMFHOME} by default. -\item [TEXMFSYSCONFIG] The tree used by the utilities - \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to - store modified configuration data. -\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and - \verb+fmtutil+ to store (cached) runtime data such as format files and - generated map files. Under \envname{TEXMFHOME} by default. -\item [TEXMFSYSVAR] The 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[2007] A previous release. - \begin{ttdescription} - \item [...] - \end{ttdescription} - \item[2008] 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-doc] \envname{TEXMFDOC} - \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[.texlive2007] Privately generated and configuration data - for a previous release. - \item[.texlive2008] 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. - \textit{etc.} - \end{ttdescription} -\end{description} - - -\subsection{Extensions to \protect\TeX} -\label{sec:tex-extensions} - -\TeX{} itself is frozen, apart from rare bug fixes. It is still present -in \TL\ as the program \prog{tex}, and will remain so in 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{}. This is the program -invoked for most formats, e.g., \prog{etex}, \prog{latex}, -\prog{pdflatex}. See \url{http://www.pdftex.org/}. -\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, with which it -is intended to be backward-compatible. It should also supersede Aleph, -see below. The incorporated Lua interpreter (see -\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. See -\url{http://www.luatex.org/} and -\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://scripts.sil.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. See -\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). - -\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. -See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. - -\end{description} - - -\subsection{Other notable programs in \protect\TL} - -Here are a few other commonly-used programs included in \TL{}: - -\begin{cmddescription} - -\item [bibtex] bibliography support. - -\item [makeindex] 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 [dv2dt, dt2dv] convert \dvi{} to/from plain text. - -\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). See the \pkgname{ps4pdf} and -\pkgname{pdftricks} packages for still more alternatives. - -\item [psselect, psnup, \ldots] \PS{} -utilities. - -\item [lacheck] \LaTeX{} syntax checker. - -\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-doc/doc/english/free-math-font-survey}. - - - -\section{Installation} -\label{sec:install} - -\subsection{Starting the installer} -\label{sec:inst-start} - -To start with, 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 and -\filename{install-unx.tar.gz} which is considerably smaller, 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 should start 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 (\url{http://tug.org/texlive/acquire.html}). - -\end{description} -The following sections explain in more detail. - -\subsubsection{Unix} - -\begin{figure}[tb] -\begin{boxedverbatim} -======================> TeX Live installation procedure <===================== - -=======> Note: Letters/digits in indicate menu items <======= -=======> for commands or configurable options <======= - - - Detected platform: Intel x86 with GNU/Linux - - binary systems: 1 out of 16 - - Installation scheme (scheme-full) - - Customizing installation scheme: - standard collections - language collections - 83 collections out of 84, disk space required: 1666 MB - - directories: - TEXDIR (the main TeX directory): - !! default location: /usr/local/texlive/2008 - !! is not writable, please select a different one! - TEXMFLOCAL (directory for site-wide local files): - /usr/local/texlive/texmf-local - TEXMFSYSVAR (directory for variable and automatically generated data): - /usr/local/texlive/2008/texmf-var - TEXMFSYSCONFIG (directory for local config): - /usr/local/texlive/2008/texmf-config - TEXMFHOME (directory for user-specific files): - ~/texmf - - options: - [ ] use letter size instead of A4 by default - [X] create all format files - [X] install macro/font doc tree - [X] install macro/font source tree - [ ] create symlinks in standard directories - - Install for running from DVD - -Other actions: - start installation to HD - help - quit - -Enter command: -\end{boxedverbatim} -\caption{Main text installer screen (\GNU/Linux)}\label{fig:text-main} -\end{figure} - -\begin{figure}[tb] -\tlpng{install-w32-main}{\linewidth} -\caption{Main \GUI{} installer screen (Windows)}\label{fig:gui-main} -\end{figure} - -\noindent -Below, \texttt{>} denotes the shell prompt; user input is -\Ucom{\texttt{bold}}. -Starting in a terminal window on a Unix-compatible system, the simplest -way: -\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.) - -To install in \GUI\ mode (you'll need the \dirname{Perl/TK} module), use: -\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. - - -\subsubsection{Mac\,OS\,X} - -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 can make a few -Mac-specific adjustments, in particular to allow easily switching -between the various \TeX\ distributions for \MacOSX\ (Mac\TeX, gw\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}. - -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. - -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} - -\subsubsection{The text installer} - -Figure~\ref{fig:text-main} displays the main text mode screen under -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 (for Windows, a Perl subset is included). - -\subsubsection{The graphical installer} - -Figure~\ref{fig:gui-main} displays the graphical installer under -Windows. Most differences in available options are due to this -screenshot being from Windows, and the previous text screen being -from \GNU/Linux. - -\subsection{Running the installer} -\label{sec:runinstall} - -The installer is intended to be mostly self-explanatory. Still, a few -quick notes about the various options and submenus: - -\subsubsection{Binary systems menu (Unix only)} -\label{sec:binary} - -\begin{figure}[tbh] -\begin{boxedverbatim} -Available sets of binaries: -=============================================================================== - - a [ ] alpha-linux DEC Alpha with GNU/Linux - b [ ] amd64-freebsd x86_64 with FreeBSD - c [ ] hppa-hpux HP-UX - d [ ] i386-freebsd Intel x86 with FreeBSD - e [X] i386-linux Intel x86 with GNU/Linux - f [ ] i386-openbsd Intel x86 with OpenBSD - g [ ] i386-solaris Intel x86 with Sun Solaris - h [ ] mips-irix SGI IRIX - i [ ] powerpc-aix PowerPC with AIX - j [ ] powerpc-linux PowerPC with GNU/Linux - k [ ] sparc-linux Sparc with GNU/Linux - l [ ] sparc-solaris Sparc with Solaris - m [ ] universal-darwin universal binaries for MacOSX/Darwin - o [ ] win32 Windows - p [ ] x86_64-linux x86_64 with GNU/Linux -\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 -architectures 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 [ ] TeX Live basic scheme - b [ ] TeX Live scheme for ConTeXt - c [X] TeX Live full scheme - d [ ] GUST TeX Live scheme - e [ ] GUTenberg TeX Live scheme - f [ ] TeX Live medium scheme - g [ ] TeX Live minimal scheme - h [ ] TeX Live for Omega users - i [ ] teTeX scheme - j [ ] XML typesetting scheme -\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, 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}[tbh] -\tlpng{stdcoll}{.7\linewidth} -\caption{Collections menu (Linux)}\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 \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 different between Windows -(|%PROGRAMFILES%\texlive\2008|) and Unix -(\dirname{/usr/local/texlive/2008}). - -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 adminstrator to -install \TL, but you do need write access to the target directory. - -A logical alternate choice is a directory under your home directory, -especially if you will be the sole user. Use -`|~|' to indicate this, as in `|~/texlive/2008|'. - -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 each individual running \TeX. It expands to -\dirname{$HOME} on Unix and \verb|%USERPROFILE%| on Windows. - -\subsubsection{Options} -\label{sec:options} - -\begin{figure}[tbh] -\begin{boxedverbatim} -

use letter size instead of A4 by default: [ ] - create all format files: [X] - install font/macro doc tree: [X] - install font/macro source tree: [X] - 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} displays the text mode options menu. -Three of the options here need mentioning: - -\begin{description} -\item[use letter size instead of A4 by default:] The usual default paper - size selection. Of course, individual documents can specify a specific - paper size, if desired. - -\item[create all 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[create symlinks in standard directories] (Unix only): - This option bypasses the need to change environment - variables. Without this option, \TL{} directories have to be added - to \envname{PATH}, \envname{MANPATH} and \envname{INFOPATH}. You will - need write permissions to the target directories. It is not - advisable to overwrite a \TeX\ system that came with your system - with this option. It is intended primarily for creating the links - in standard directories that are known to users, such as - \dirname{/usr/local/bin}, which don't already contain any - \TeX\ files. -\end{description} - -Now when all these 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. - -\subsubsection{Set up for running from DVD{} (text mode only)} -\label{sec:fromdvd} - -Type `|V|' to select this option. This changes the main menu into something -like figure~\ref{fig:main-fromdvd}. -\begin{figure}[tbh] -\begin{boxedverbatim} -======================> TeX Live installation procedure <===================== - -=======> Note: Letters/digits in indicate menu items <======= -=======> for commands or configurable options <======= - - directories: - TEXDIRW (Writable root): - !! default location: /usr/local/texlive/2008 - !! is not writable, please select a different one! - TEXMFLOCAL (directory for site-wide local files): - /usr/local/texlive/texmf-local - TEXMFSYSVAR (directory for variable and automatically generated data): - /usr/local/texlive/2008/texmf-var - TEXMFSYSCONFIG (directory for local config): - /usr/local/texlive/2008/texmf-config - TEXMFHOME (directory for user-specific files): - ~/texmf - - options: - [ ] use letter size instead of A4 by default - [X] create all format files - - set up for installing to hard disk - -Other actions: - start installation for running from DVD - help - quit -\end{boxedverbatim} -\caption{The main menu with \optname{from DVD} - set}\label{fig:main-fromdvd} -\end{figure} - -Note the changes: all options about what to install have -disappeared, and the directories section now talks about -\dirname{TEXDIRW} or writable root. The symlinks option has also -disappeared. - -The installer will still create various directories and -configuration files, but won't copy \dirname{texmf}, -\dirname{texmf-dist} or \dirname{texmf-doc} to hard disk. - -Post-install configuration for Unix will be slightly more complicated, -because now the directory layout deviates from the default; see -section~\ref{sec:postinstall}. - -Due to time constraints, this option didn't make it into the \GUI{} -installer, but it is available both for Unix and for -Windows. Windows users have to start the installer from a command -prompt, see section~\ref{sec:cmdline}. - -Section \ref{sec:portable-unix} describes a more strictly portable -way to run \TL, which doesn't make or require changes in the -system's configuration, but doesn't allow any configuration either. - -\subsection{Command-line install 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 more -interesting 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}); - 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{LL}. Currently - supported languages: English (\texttt{en}, default), German - (\texttt{de}), French (\texttt{fr}), Dutch (\texttt{nl}), Polish - (\texttt{pl}), Slovenian (\texttt{sl}) and Vietnamese - (\texttt{vi}). The installer tries to determine the right language - itself but if it fails, or if the right language is not available, - then it uses English as a fallback. -\item[-profile {\sl profile}] The installer always writes a file - \filename{texlive.profile} to the \dirname{2008/tlpkg}- or - \dirname{tlpkg} subdirectory of your installation. This option tells - the installer to re-use such a profile file. Here's an excerpt: - \begin{fverbatim} -# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC -# It will NOT be updated and reflects only the -# installation profile at installation time. -selected_scheme scheme-basic -TEXDIR /usr/local/texlive/2008 -TEXDIRW /usr/local/texlive/2008 -... -TEXMFSYSVAR /usr/local/texlive/2008/texmf-var -collection-basic 1 -... -option_symlinks 0 - \end{fverbatim} - Thus, using this option you can install in batch mode on - subsequent systems, reproducing the choices you made for the - original installation. -\item [-location {\sl url/path}] Specify a non-default source for - packages; see below. -\end{ttdescription} - -\subsubsection{The \optname{location} parameter} -\label{sec:location} - -The location value can be a url starting with \texttt{ftp:}, -\texttt{http:}, or \texttt{file:/} url, or a plain path. If the given -argument is on a local drive (either a path or a \texttt{file:/} url), -the installation type (compressed or live) is automatically determined: -if an \dirname{archive} subdirectory with \filename{.tar.lzma} files is -found then it will be used, even if uncompressed files are available as -well. - -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/texlive/tlnet/2008}, -substituting of course a proper hostname and its particular top-level -\CTAN\ path (the list of \CTAN\ mirrors is maintained at -\url{http://ctan.org/mirrors}) for |ctan.example.org/tex-archive|. The -default is to pick a mirror automatically, using -\url{http://mirror.ctan.org}; in any case, the chosen host is used for -the entire download. - - -\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. - -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/2008/bin/i386-linux:$PATH; export PATH -MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH -INFOPATH=/usr/local/texlive/2008/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/2008/bin/i386-linux:$PATH -setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH -setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH -\end{sverbatim} - -Of course, you may well already have settings somewhere in your ``dot'' -files, and so then 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/2008/bin/i386-linux \ - /usr/local/texlive/2008/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. - - -\subsubsection{When running from DVD} - -Normally, a \TL{} program consults a file \filename{texmf.cnf} for the -location of the various trees. It looks for this file in a series of -locations relative to its own location. However, this scheme breaks down -when a program is run from \DVD{}: the \DVD{} is read-only. Some of the -paths to be recorded in \filename{texmf.cnf} are only known at -installation time, so this file cannot be on the \DVD{} and must be -placed somewhere else. This makes it necessary to define an environment -\envname{TEXMFCNF} variable which tells \TL{} programs in what directory -to find this \filename{texmf.cnf}. It is also still necessary to modify -the \envname{PATH} environment variable, as described before. - -At the end of the installation, the installer should have printed a -message giving the value to which \envname{TEXMFCNF} should be set. In -case you missed it: this value is \dirname{$TEXMFSYSVAR/web2c}. For the -default, \dirname{/usr/local/texlive/2008/texmf-var/web2c}, you need the -lines -\begin{sverbatim} -TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF -\end{sverbatim} -or, for [t]csh: -\begin{sverbatim} -setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c -\end{sverbatim} - - -\subsubsection{\ConTeXt{} Mark IV} - -The `old' \ConTeXt{} should run out of the box. The new `Mark IV' -\ConTeXt{} will require manual setup; see -\url{http://wiki.contextgarden.net/Running_Mark_IV}. - - -\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|C:\Program Files\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 \prog{tlmgr} in \GUI\ mode. - -\subsubsection{Integrating third-party fonts} - -This is unfortunately a very complicated and messy topic. Forget -about it unless you really know your way around blindfolded in a -\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 (see -section~\ref{sec:tex-extensions}), which lets you use operating system -fonts without any installation in \TeX. - - -\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 (Web2C 7.5.7) -kpathsea version 3.5.7 -... -\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} -This is pdfeTeXk, Version 3.1415926... -... -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} -\end{alltt} -(Under Windows, the analogous command is \cmdname{dviout}.) 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 the system.) -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} -Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently -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.) - -\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} - -\end{enumerate} - -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. - - -\section{Network installations} -\label{sec:netinstall} - -\TL{} has been designed to be shared between different users, and even -different systems on a network. With a standard directory layout, no -hard paths are configured: the locations for files needed by \TL{} -programs are defined relative to the places of those programs. You can -see this at work in the 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 other systems or other users merely need to add the -directory for \TL{} binaries for their platform to their search path. - -By the same token, you can also install \TL{} locally and then move -the entire hierarchy afterwards to a network location. - -Of course, Windows users have different expectations. The directory -\dirname{texmf-doc/source/texlive/texlive-common/w32client} contains a -sample script \filename{install-w32client} which creates settings and -menu shortcuts for using an existing \TL{} installation on a -\acro{LAN}. It is to be invoked through a batch file -\filename{install-w32client.bat} in the same directory. - -You can read more about \TL{} configuration and path searching in -section~\ref{sec:kpathsea}. - -\section{Maximally portable \protect\TL{} on DVD and USB} -\label{sec:portable-unix} - -The `running from \DVD{}' option described in -section~\ref{sec:fromdvd} is fine for your own system, but if you -are a guest on somebody else's system then you would probably like -something with minimal side effects. - -In the root of the \TL{} \DVD, or the \dirname{texlive} subdirectory of -the \TK{} \DVD, are a \filename{tl-portable} script (Unix) and a -\filename{tl-portable.bat} batchfile (Windows) which start up a -secondary shell\slash command prompt with environment settings suitable -for directly accessing the \TL{} on the \DVD. - -When it runs for the first time, some files will be generated in a -directory \dirname{~/.tlportable2008}, which will take a little time. -On subsequent runs, though, it will start almost instantaneously. - -The rest of the system will be unaware of \TL. If you want your editor -to be aware of this \TL, then you can start it from a second, parallel, -such \filename{tl-portable} session. - -You can also use \filename{tl-portable} to run \TL{} on a -\acro{USB} stick. In this case, copy all the top-level files and -the contents of the \dirname{bin}, \dirname{texmf}, -\dirname{texmf-dist}, and \dirname{tlpkg} directories (at least) to -the stick. This may take quite a while! If you are copying to a -\acro{FAT}32-formatted \acro{USB} stick, make sure to dereference -symbolic links (\code{cp -L}). A \dirname{texmf-local} directory on -the stick will also be found and used. - -Then run \filename{tl-portable} from the root of the stick, as above. -In this case, the script will notice that the stick is writable and use -it for generated files. You could burn the resulting contents of the -stick back to \DVD{} if that is more convenient to (for example) give to -others. - - -\section{\cmdname{tlmgr}: Managing your installation} -\label{sec:tlmgr} - -\begin{figure}[tb] -\tlpng{tlmgr-gui}{\linewidth} -\caption{\prog{tlmgr} in \GUI\ mode. The list of - packages/collections/schemes only shows up after clicking the - `Load' button.}\label{fig:tlmgr-gui} -\end{figure} - -\begin{figure}[tb] -\tlpng{tlmgr-config}{\linewidth} -\caption{\texttt{tlmgr} in GUI mode: Configuration tab}\label{fig:tlmgr-config} -\end{figure} - -The installer installs 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 listing schemes, collections and packages; -\item installing, updating, backing up, restoring and uninstalling - individual packages, optionally taking dependencies into account; -\item searching for packages; -\item listing and adding architectures; -\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 installations which run from \DVD. - -\subsection{\cmdname{tlmgr} GUI mode} -\prog{tlmgr} can be started in \GUI{} mode with -\begin{alltt} -> \Ucom{tlmgr -gui} -\end{alltt} -or in Windows via the Start menu: \texttt{Start}, \texttt{Programs}, -\texttt{TeX Live 2008}, \texttt{TeX Live Manager}. After clicking `Load' -it displays a list of available and installed packages\Dash the latter -prepended with `(i)'. This assumes of course that the installation -source is valid and reachable. - -Figure~\ref{fig:tlmgr-config} shows the configuration tab. - -\subsection{Sample \cmdname{tlmgr} command-line invocations} - -This example adds several packages, including a new `engine', from a -non-default location: - -\begin{alltt} -> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} -\end{alltt} -It generates the following output: -\begin{fverbatim} -install: collection-xetex -install: arabxetex -install: euenc -install: bidi -install: fontspec -install: fontwrap -install: ifxetex -install: philokalia -install: polyglossia -install: xecyr -install: xecyr.i386-linux -install: xepersian -install: xetex -install: xetexconfig -install: xetex.i386-linux -running post install action for xetex -install: xetex-def -install: xetex-pstricks -install: xetexfontinfo -install: xltxtra -install: xunicode -install: xkeyval -running mktexlsr -mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... -mktexlsr: Done. -regenerating fmtutil.cnf -running fmtutil-sys --missing -... -Transcript written on xelatex.log. -fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. -\end{fverbatim} -As you see, \prog{tlmgr} installs dependencies, and takes care of any -necessary post-install actions, including updating the filename database -and (re)generating formats. (Here we generated new formats for \XeTeX.) - -This example installs a new language. This also triggers format -regeneration: -\begin{alltt} -> \Ucom{tlmgr install collection-langdutch} -\end{alltt} -To describe a package: -\begin{alltt} -> \Ucom{tlmgr show collection-wintools} -\end{alltt} -which produces -\begin{fverbatim} -Package: collection-wintools -Category: Collection -ShortDesc: Windows support programs -LongDesc: Utilities for Windows, since they are not readily available there: - gzip, chktex, jpeg2ps, unzip, wget, xpdf. -Installed: Yes -\end{fverbatim} -Updating your entire installation to the latest versions available: -\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 -\begin{alltt} -> \Ucom{tlmgr update -list} -\end{alltt} -For full documentation: -\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 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\prog{tlmgr} refers to - this. -\end{description} - -\subsection{Additional included software} - -\begin{figure}[tb] -\tlpng{psview}{.6\linewidth} -\caption{PS\_View: very high magnifications available!}\label{fig:psview} -\end{figure} - -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 distributions, and - shouldn't interfere with any system installations of Perl or - Ghostscript. -\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{chktex}, - \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} and the - command-line utilities from the \cmdname{xpdf} suite. (The - \cmdname{xpdf} viewer itself is not available for Windows, but the - Sumatra \acro{PDF} viewer is based on it: - \url{http://blog.kowalczyk.info/software/sumatrapdf}.) -\item[\texttt{fc-cache}] helps \XeTeX{} to handle fonts more - efficiently. -\item[PS\_View.] Also installed is PS\_View, a new PostScript viewer - with a free license; see figure~\ref{fig:psview}. -\end{description} -\begin{description} -\item[The \texttt{support} directory,] already mentioned in - section~\ref{sec:tld}. This directory contains various programs - which can be useful in connection with \TeX, in particular a - number of \TeX-aware editors and \TeX{} frontends. The software in - this directory isn't covered by the installer. This directory also - contains the \cmdname{dviout} \dvi{} previewer; see the next section. -\end{description} - -\subsection{The Dviout previewer} - -This \TL{} release unfortunately doesn't offer a preinstalled \dvi{} -previewer for Windows. However, you can install \prog{dviout} by -Toshio Oshima from the \path{support/dviout/} directory, which -contains also a short \filename{README} describing how to install -and configure \prog{dviout} for \TL. Please read this carefully -before installation. - -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 (very good) on-line help. - -\subsection{Links for additional downloadable software} - -Urls 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 no particular order: - \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 \TL's - \path{support} directory; its home page is - \url{http://www.gnu.org/software/auctex}. - \item \cmdname{WinShell} is available in \TL's \path|support| - directory; its home page is \url{http://www.winshell.de}. - \item \cmdname{WinEdt} is shareware available from - \url{http://www.winedt.com}. - \item \cmdname{Vim} is free software, available from - \url{http://www.vim.org}. - \item TeXnicCenter is free software, available from - \url{http://www.toolscenter.org} and in the pro\TeX{}t distribution. - \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}. - \end{itemize*} -\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 XP and Windows 2000, this -is usually \verb|C:\Documents and Settings\|, and under -Windows Vista \verb|C:\Users\|. 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, 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. Use the \optname{non-admin} option to \prog{install-tl} if -you prefer per-user settings even as an administrator. - -Regardless of administrator status, the default root of \TL{} proposed -by the installer is always under \verb|%PROGRAMFILES%|. 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{} will never get -precedence. As a workaround, in this case the installer creates -shortcuts to the command-prompt in which the new \TL{} binary directory -is prepended to the local searchpath. The new \TL{} will be usable when -run in a command-line session started from such a shortcut. - - -\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[dmp] \cmdname{troff} to MPX (\MP{} pictures). -\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[makempx] \MP{} label typesetting. -\item[mf] Creating typeface families. -\item[mft] Prettyprinting \MF{} source. -\item[mpost] Creating technical diagrams. -\item[mpto] MetaPost label extraction. -\item[newer] Compare modification times. -\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} - -\begingroup\tolerance=3500 -\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} (by default such a file lives -in the \file{texmf/web2c} subdirectory). \emph{All} -\file{texmf.cnf} files in the search path will be read and definitions -in earlier files override those in later files. Thus, with a search -path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those -from \verb|$TEXMF/texmf.cnf|. -\endgroup - -\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} - -\tolerance=2500 -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 - -\tolerance=1500 - -\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 -(appproximately; 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); most sites have only one hierarchy. \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 ... \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 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, - ... - -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 -[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} - -\ifx\HCode\undefined\else\HCode{} -\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, most 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 Peter Breitenlohner (and the \eTeX\ team) for the stable foundation -of future \TeX's, and Peter specifically for stellar help with the GNU -autotools usage throughout \TL. - -\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 was used to create the \HTML{} -version of this documentation, and who worked tirelessly to improve -it at short notice. - -\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team -(\url{http://pdftex.org}) for continuing enhancements of \TeX's -abilities. - -\item Hans Hagen, for much testing and making his \ConTeXt\ format -(\url{http://pragma-ade.com}) work within \TL's framework. - -\item Hartmut Henkel, for significant development contributions to -pdf\TeX\, Lua\TeX, and more. - -\item Taco Hoekwater, for renewed development efforts on MetaPost and -(Lua)\TeX\ (\url{http://luatex.org}) itself, and for incorporating -\ConTeXt\ into \TL. - -\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://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}), and many -other contributions. - -\item Jonathan Kew and \acro{SIL}, for the major new development of -\XeTeX{} and taking the time and trouble to integrate it in \TL{}, as -well as the initial version of the Mac\TeX\ installer. - -\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 the new features. - -\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{tldoc} 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 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 \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: -Reinhard Kotucha (\pkgname{x86\_64-linux}), -Tim Arnold (\pkgname{hppa-hpux}), -Randy Au (\pkgname{amd64-freebsd}), -Edd Barrett (\pkgname{i386-openbsd}), -Karl Berry (\pkgname{i386-linux}), -Akira Kakuto (\pkgname{win32}), -Dick Koch (\pkgname{universal-darwin}), -Manfred Lotz (\pkgname{i386-freebsd}), -Norbert Preining (\pkgname{alpha-linux}), -Arthur Reutenauer (\pkgname{sparc-linux}), -Thomas Schmitz (\pkgname{powerpc-linux}), -Apostolos Syropoulos (\pkgname{i386-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}. - -Documentation and translation updates: -Karl Berry (English), -Daniel Flipo (French), -Klaus H\"oppner (German), -Petr Sojka \& Jan Busa (Czech\slash Slovak), -Boris Veytsman (Russian), -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-doc/doc/english/tds/tds.html\#Extensions} -{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. - -\item Helper scripts (not meant to be invoked by users) are now located -in a new \dirname{scripts} directory of \dirname{texmf*} trees, and -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-doc/doc/english/tds/tds.html\#Scripts} -{\texttt{texmf-doc/doc/english/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. - -\medskip \noindent -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}. - -\ifx\HCode\undefined\else\HCode{} -\subsection{Present} -\label{sec:tlcurrent} - -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}. - - -\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 hard-pressed volunteers in their limited spare time, and a -great deal remains to be done. 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/source/texlive-en/archive/live-tl7.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/live-tl7.tex deleted file mode 100644 index 1e8ee77312b..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/live-tl7.tex +++ /dev/null @@ -1,3554 +0,0 @@ -% -% change history (started May 13th 2002) -% 2002/05/13: added tex-langafrican to list of collections -% 2002/05/14: corrected example files, other small errors noted by Volker -% 2002/05/18: win32 updates, by Fabrice -% 2002/05/25: remove mention of sizes, and bsr-interpolated; add Gutenberg -\documentclass{article} -\advance\textwidth by 1in -\advance\oddsidemargin by -1in -\advance\evensidemargin by -1in -\newsavebox{\warnbox} -\def\Q#1{\par\vskip6pt\leftline{#1}\par} -\setcounter{tocdepth}{2} -\pretolerance=1000 -\tolerance=1500 -\hbadness=3000 -\vbadness=3000 -\hyphenpenalty=400 -\renewcommand{\topfraction}{0.85} -\renewcommand{\floatpagefraction}{0.86} -\renewcommand{\textfraction}{0.1} -\setcounter{topnumber}{5} -\setcounter{totalnumber}{5} -\def\eTeX{$\varepsilon$-\TeX} -\def\Dash{---} -\def\hyph{-} -\def\OMEGA{$\Omega$} -\def\bs{{\protect\normalfont\ttfamily\char'134}} -\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} -\def\La{La} -\let\textsl\textit -\let\sl\it -\let\slfamily\itfamily -\def\ttdefault{cmtt} -\usepackage{tex-live} -\begin{document} -%\makeatletter\@ifundefined{HRestore}{}{\HRestore\noalign}\makeatother -\author{Sebastian Rahtz\\ -\texttt{sebastian.rahtz@oucs.ox.ac.uk} -%Michel Goossens\\ -%\texttt{m.goossens@cern.ch} -} -\title{The \protect\TeX\ Live Guide, 7th edition} -\date{May 2002} -\maketitle -\begin{multicols}{2} -\tableofcontents -\listoftables -\end{multicols} -\section{Introduction}\label{sec:intro} -This documentation describes the - main features of the \TeXLive{} 7 \CD{}\Dash a \TeX{}/\LaTeX{} - distribution for Unix, Linux, MacOSX, and Windows32 systems that includes - \TeX{}, \LaTeXe{}, \MF, \MP, \cmdname{Makeindex}, and \BibTeX{}; and - a wide-ranging set of macros, fonts and documentation conforming to - the \emph{\TeX{} Directory Standard} (\TDS{})\Dash which can be used - with nearly every \TeX{} setup. - - This \TeX{} package uses the \Webc{} version 7.3.7 - implementation of the programs, which tries to make \TeX{}ing as - easy as possible, and takes full advantage of the efficient and - highly customizable \KPS{} library from Karl Berry and Olaf Weber. - It can be run either directly from the \CD{} or installed on a hard - disk. - -Most of the runnable systems on the \CD{} include a large set of -drivers and support programs for \TeX, including \cmdname{dvips} -(PostScript driver), \cmdname{dvipdfm} (dvi to PDF), -\cmdname{xdvi} (X Windows previewer), -\cmdname{dvilj} (HP LaserJet driver), \cmdname{lacheck} (\LaTeX{} -syntax checker), \cmdname{tex4ht} (\TeX{} to HTML converter), -\cmdname{dviconcat} and \cmdname{dviselect}, \cmdname{dv2dt} and - \cmdname{dt2dv} (\texttt{dvi} to ASCII and vice versa), and Angus - Duggan's PostScript utilities. - -\subsection{Extensions to \TeX} - -The \TeXLive{} runnable systems contain three extended versions of -standard \TeX: -\begin{enumerate} -\item \eTeX, which adds a small but powerful set of new primitives, - and the \TeXXeT{} extensions for left to right typesetting; in - default mode, \eTeX{} is 100\% compatible with ordinary \TeX. See - \OnCD{texmf/doc/etex/base/etex_man.pdf} on the \CD{} for details. -\item pdf\TeX, which can optionally write Acrobat PDF format instead - of \dvi{}. You will find the user manual in - \OnCD{texmf/doc/pdftex/pdftex-l.pdf}. The - file \OnCD{texmf/doc/pdftex/samplepdf/samplepdf.tex} shows how it is - used. The \LaTeX{} \pkgname{hyperref} package has an option - `\optname{pdftex}', which turns on all the program features. -\item \OMEGA{} (Omega), which works internally with 16-bit characters, - using Unicode; this allows it to directly work with almost all the - world's scripts simultaneously. It also supports dynamically loaded - `\OMEGA{} Translation Processes' (\acro{OTP}s), which allow the user - to define complex transformations to be performed on arbitrary - streams of input. See \OnCD{texmf/doc/omega/base/doc-1.8.tex} for some - (not necessarily up to date) documentation. -\end{enumerate} -\eTeX{} (version 2.1) is stable, although subsequent releases will add -new functionality. pdf\TeX{} (version 1.00b) is also stable, -but is still being improved. -\OMEGA{} (version 1.23) is under development; the version -on this \CD{} is that current as of May 2002. - - -\section[Structure and contents of the CD-ROM]{Structure - and contents of the \protect\CD{}} -The important \CD{} top-level directories are listed below. -\begin{description} -\item[bin] The \TeX{} family programs, arranged in separate platform - directories. -\item[Books] Examples related to some books about \TeX. -\item[FAQ] Frequently Asked Questions, in English, French, and German. -\item[MacOSX] Support programs for MacOSX users -\item[info] Documentation in \acro{GNU} `info' format for the \TeX{} - system. -\item[man] Documentation in the form of Unix man pages for the \TeX{} - system. -\item[setupw32] directory contains material for installation and use - under Windows (see section \ref{sec:wintex} on p.~\pageref{sec:wintex}). -\item[source] The source of all programs, including the main \Webc{} - \TeX{} and \MF{} distributions. These are stored in a bzip2-compressed - tar archive. -\item[support] Various bits of \TeX-related software which are - \emph{not} installed by default, support programs, and a complete - distribution of \cmdname{Ghostscript} version 7.05. - You can find here some other programs (editors, \TeX\ shells), which - are usually absent from Windows installations, dedicated for beginners. - They can be installed with the \texttt{TeXSetup.exe} Windows installation - program. -\item[texmf] The main support tree of macros, fonts and documentation; -\item[usergrps] Material about \TeX\ User Groups. -\end{description} - -There are also two installation scripts for Unix systems, -\texttt{install-cd.sh} and \texttt{install-pkg.sh}; we discuss -them on in section \ref{sec:install} on p.~\pageref{sec:install}. - -\subsection[Packages and collections]{Packages and collections} -\label{packages} -The \TeXLive{} \texttt{texmf} tree consists of various `collections', -each of which refers to a set of `packages', of which there are over 700 -on the \CD{}. Normal installation allows the -user to copy all of a collection to a local hard disk from the \CD{}, but -it is also possible to install just one package of a collection. - -The collections add functionality to a \TeX\ system. One of them, named -`tex-basic', is necessary for almost all \TeX\ tasks, -and two others, called `tex-latex' and `tex-pdftex' are highly -recommended for most users. All others are optional. -The collections (defined by XML files in \texttt{texmf/tpm/collections}) -and their short descriptions are listed below. - -\begin{description} - \item[tex-basic] - These files are regarded as basic for any \TeX\ system, covering -plain \TeX\ macros, Computer Modern fonts, and configuration for common -drivers. - \item[tex-bibtexextra] - Additional, extensive libraries of BibTeX styles and bibliographies. - \item[tex-chemistry] - Essential chemistry - \item[tex-context] - Hans Hagen's powerful macro package, ConText - \item[tex-documentation] - Assorted useful documentation and guides - \item[tex-etex] - Support files for an extended \TeX\ - \item[tex-extrabin] - Various useful, but non-essential, support programs. Includes - programs and macros for texinfo system; programs for dvi file - manipulation, etc. - \item[tex-fontbin] - Programs for conversion between font formats, testing fonts - (virtual fonts stuff, .gf and .pk manipulation, - mft, fontinst, etc.) - \item[tex-fontsextra] - All sorts of extra fonts - \item[tex-formatsextra] - A collection of \TeX\ `formats', ie large-scale -macro packages designed to be dumped into .fmt file - \item[tex-games] - Setups for typesetting various board games, including chess - \item[tex-genericextra] - This is a mixed bag of macro packages and fonts which do not seem -to belong elsewhere - \item[tex-htmlxml] - Packages to convert \LaTeX\ to XML/HTML, and typeset XML/SGML - \item[tex-langafrican] - Support for some African scripts - \item[tex-langarmenian] - Essential armenian - \item[tex-langcjk] -Essential CJK (Chinese, Japanese, Korean) macros and fonts - \item[tex-langcroatian] - Essential croatian - \item[tex-langcyrillic] - Fonts and macro packages to typeset Cyrillic texts. - \item[tex-langczechslovak] - Pick this if you want Czech/Slovak fonts and other packages - \item[tex-langdanish] - Essential Danish - \item[tex-langdutch] - Essential Dutch - \item[tex-langfinnish] - Essential Finnish - \item[tex-langfrench] - Essential French - \item[tex-langgerman] - Essential German - \item[tex-langgreek] - Essential Greek - \item[tex-langhungarian] - Essential Hungarian - \item[tex-langindic] - Essential Indic - \item[tex-langitalian] - Essential Italian - \item[tex-langlatin] - Essential Latin - \item[tex-langmanju] - Essential Manju - \item[tex-langmongolian] - Essential mongolian - \item[tex-langnorwegian] - Essential Norwegian - \item[tex-langother] - Other languages - \item[tex-langpolish] - Pick this if you want Polish fonts and other packages - \item[tex-langportuguese] - Essential Portuguese - \item[tex-langspanish] - Essential Spanish - \item[tex-langswedish] - Essential Swedish - \item[tex-langtibetan] - Fonts and support for typesetting Tibetan - \item[tex-langukenglish] - Essential UK English - \item[tex-langvietnamese] - Essential Vietnamese - \item[tex-latex] - These packages are either mandated by the core \LaTeX\ team, -or very commonly recommended - \item[tex-latexextra] - A large collection of add-on packages for \LaTeX\ - \item[tex-mathextra] - Extra math - \item[tex-metapost] - MetaPost (and MetaFont) drawing packages - \item[tex-music] - Music typesetting packages - \item[tex-omega] - Omega, a 16-bit extended \TeX\ by John Plaice and Yannis Haralambous - \item[tex-pdftex] - Support files for Han The Thanh's variant of \TeX\ which can -generate PDF output - \item[tex-pictures] - Essential graphics - \item[tex-plainextra] - Plain \TeX\ extra macros - \item[tex-psfonts] - Essential psfonts - \item[tex-psutils] - Utilities to manipulate PostScript files - \item[tex-publishers] - Essential publishers - \item[tex-t1utils] - Utilities to manipulate Type1 fonts - \item[tex-texbooks] - Examples and other material from various books about TeX/LaTeX. - \item[tex-theses] - Macro packages from various Universities for their thesis styles - \item[tex-ttfutils] - Utilities to manipulate TrueType fonts - \item[win32-support] - You can choose individual tools from this collection. - There are many \TeX\ oriented editors, graphics files - toolsets, etc. -\end{description} - -The directory \texttt{texmf/tpm/packages} contains lists -of all files in each package (used by the installation programs). - -\section{Installation and use under Unix} -\label{sec:install} -You can use the \TeXLive{} \CD{} in three ways: -\begin{enumerate} -\item You can mount the \CD{} on your file system, run -the \texttt{install-cd.sh} script, and select the option \verb|| - (`do not install files, set up to run off CD-ROM'), - and run everything off the \CD; this takes very - little disk space, and gives you immediate access to everything on - the \CD; although the performance will not be optimal, it is - perfectly acceptable on, for instance, PCs running Linux. You could - also copy the entire CD contents to your hard disk and work in this way. -\item You can install all or part of the system to your local hard - disk; this is the best method for many people, if they have enough - disk space to spare (a minimum of about 100 megabytes, or 300 - megabytes for a recommended good-sized system). -\item You can install selected packages to work either with your - existing \TeX{} system or a \TeXLive{} system you installed earlier. -\end{enumerate} -Each of these methods is described in more detail in the following -sections. - -\ifSingleColumn -\begin{figure*} - \begin{center} - \leavevmode -\fi -\begin{warningbox} -\textbf{Warning: } This \CD{} is in ISO 9660 (High Sierra) format, -with Rock Ridge and Joliet extensions. In order to take full advantage -of the \CD{} on a Unix system, your system needs to be able to use -the Rock Ridge extensions. Please consult the documentation for your -\cmdname{mount} command to see if it is possible. If you have several -different machines on a local network, see if you can mount the -\CD{} on one which \emph{does} support Rock Ridge, and use this with -the others. - -\leavevmode\quad -Linux, FreeBSD, Sun, SGI and DEC Alpha systems should be able to use -the \CD{} with no problems. We would appreciate receiving detailed advice -from other system users who also succeed, for future versions of this -documentation. - -\leavevmode\quad -The discussion below about installation assumes you have been able to mount -the \CD{} with full Rock Ridge compatibility. -\end{warningbox} -\ifSingleColumn - \end{center} -\end{figure*} -\fi - -%\begin{addbymb} -\subsection[Pre-installation procedure for MacOSX users] -{Pre-installation procedure for MacOSX users} -If you do not run MacOSX, you should skip this section. - -The \texttt{install-cd.sh} script is a \emph{sh} script (begins with -``\verb=#!/bin/sh=''), but -on MacOSX \cmdname{sh} is unable to run it because -\cmdname{sh} is -emulated. However, \cmdname{bash} will run it. Unfortunately (again) -\cmdname{bash} is not -installed by default on MacOSX\footnote{there are some suggestions this will -change in the future and even -that \cmdname{bash} will be used to emulate \cmdname{sh}, -in which case it might be true -that in future versions of MacOSX, the script will just work.}. -\begin{enumerate} -\item\label{test-bash} (optional) See if \path|bash| is already installed. -Launch \path|Terminal| -(\path|/Applications/utilities/Terminal|) and type in a window -\begin{alltt} ->> \Ucom{rehash; which bash} -\end{alltt} -the answer will be: -\begin{itemize} -\item the bash location (e.g. \path|/bin/bash| or \path|/usr/local/bin/bash|) if installed; -\item \texttt{bash: command not found} if not installed. -\end{itemize} - -If bash is already installed, skip to \ref{std-install} - -\item bash installation: -\begin{description} -\item[Mac friendly procedure] -Look in the \path|MacOSX| directory of the \CD{} -for an image disk named \path|bash.dmg|. mount that -file by double-clicking it. The disk image (volume) will be mounted. -Then start the \path|i-Installer| application on that volume. You will be asked -to authenticate, if you have never seen that before, you might not have -enough privileges to install. Just enter your own user name and -password. Hit install. \path|bash| will be installed on your system. -\item[Terminal procedure] -\begin{enumerate} -\item Log in as an admin user, at least a user with Admin privileges or -sudo user or as the System Administrator. -\item Open the \path|MacOSX| directory on the \CD{} and copy -\path|bash.tar.gz| -to your home directory (\texttt{\~{}/}) -\item Then launch \path|Terminal| and type or copy/paste the -line below in a Terminal window): -\begin{alltt} ->> \Ucom{(cd /usr/local/; sudo tar xvzf ~/bash.tar.gz)} -\end{alltt} -type a carriage-return: you will be asked for your password, and -\path|bash| will be -installed. -\item Quit \path|Terminal|. -\end{enumerate} -\end{description} -\item Now after using either install method, goto \ref{test-bash}: -you must obtain \path|/usr/local/bin/bash|\ldots{} (if not, try to log out and in). -\item\label{std-install} The installation procedure is the -same on MacOSX than on other UNIX platforms (as MacOSX is UNIX, -that's quite normal!). Nevertheless, you should read what follows: -\begin{itemize} - \item Note that in all commands of the following sections, -\cmdname{sh} must be replaced by \texttt{sudo bash}: -\begin{alltt} ->> \Ucom{sh install-cd.sh} -\end{alltt} -becomes -\begin{alltt} ->> \Ucom{sudo bash install-cd.sh} -\end{alltt} -etc. -\item On MacOSX, cd are auto-mounted: you \emph{don't} need to use -\texttt{mount}. The \CD{} will be mounted in the \path|/Volumes/| -directory: in order to make it the current directory, you just have to -type in \path|Terminal|: -\begin{alltt} ->> \Ucom{cd /Volumes/TeXLive-7...} -\end{alltt} -(complete this line with the real name of the \CD{}: using -``auto completion'' by pressing the \texttt{} -key will do it). -\end{itemize} -\end{enumerate} -%\end{addbymb} - -\subsection[Running \protect\TeXLive{} from the CD-ROM]{Running \protect\TeXLive{} from the \protect\CD} -The organisation of \Webc{} means that you can run programs simply by -adding the appropriate directory under \path|bin| on the \CD{} to -your \texttt{PATH}, and the support files will all be found with no further -ado. The following shows the list of available systems and the -corresponding directories. \textbf{Only x86 Linux, Mac OSX, and - Windows are available on the default CD. You need to ask -for the Unix CD if you need the other systems.} - -\begin{flushleft} -\begin{tabular}{@{}l>{\ttfamily}ll} -Compaq Alpha Linux & alpha-linux & CD2\\ -Compaq Alphaev5 OSF 4.0d & alphaev5-osf4.0d & CD2\\ -HP9000 HPUX 10.20 & hppa2.0-hpux10.20 & CD2\\ -IBM RS 6000 AIX 4.2.* & rs6000-aix4.2.1.0 & CD2\\ -Intel x86 Solaris 2.8 & i386-solaris2.8 & CD2\\ -Intel x86 with GNU/Linux & i386-linux & CD1\\ -Mac OSX & powerpc-darwin5.3 & CD1\\ -Sun Sparc Solaris 2.7 & sparc-solaris2.7 & CD2\\ -Windows 9X/ME/NT/2K/XP & win32 & CD1\\ -\end{tabular} -\end{flushleft} - -You may worry that when you subsequently make fonts or change -configuration, things will go wrong because you cannot change files on -the \CD{}. However, you can maintain a parallel, writeable, \TeX{} -tree on your hard disk; this is searched before the main tree on the -\CD{}. The default location is \path|texmf-var| on the CD -(which does not exist!), so you \emph{must} override this by setting -the \texttt{VARTEXMF} environment variable. - - -Thus \emph{sh} or \emph{bash} users on an Intel PC -running Linux can mount the \TeXLive{} \CD{} on -\file{/mnt/cdrom} by issuing the command: - -\begin{alltt} ->> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} -\end{alltt} -Then they should change the current directory to \path|/mnt/cdrom|, run -\begin{alltt} ->> \Ucom{sh install-cd.sh} -\end{alltt} -and select the option \verb|| (\emph{do not install files, set up to run -off CD-ROM}). After that, they should include the directory containing -the binaries for the given architecture into the search path -by updating the \texttt{PATH} variable. -\begin{verbatim} -PATH=/mnt/cdrom/bin/i386-linux:$PATH -export PATH -VARTEXMF=/usr/TeX/texmf-var -export VARTEXMF -\end{verbatim} -%\begin{addbymb} -\begin{description} - \item[MacOSX users] On MacOSX, the default shell is \texttt{tcsh}: -\begin{verbatim} -setenv PATH /Volumes//bin/powerpc-darwin5.3:${PATH} -setenv VARTEXMF /usr/TeX/texmf-var -\end{verbatim} -\end{description} -%\end{addbymb} -For convenience, these statements can also be entered into the -\texttt{.profile} script. -%\begin{addbymb} -(for \texttt{tcsh} on MacOSX, -\verb=~/Library/init/tcsh/rc.mine=). -%\end{addbymb} - -If in doubt, ask your local system support guru to help you work out -how to mount your \CD{} or which directory to use for your system. - -Appropriate support files will be installed on your hard disk the -first time you need them. You can edit and change local configuration -files which are stored to the directory designated -by \texttt{\$VARTEXMF}. Any format file that is needed -will be generated and stored here. - -%------------------------------------------------ -\subsection{Installing \protect\TeXLive{} to a hard disk} -All of the necessary steps to install all or part of the distribution -on your hard disk are achieved by mounting the \CD{}, changing to the -top-level directory, and typing: -\begin{alltt} ->> \Ucom{sh install-cd.sh} -\end{alltt} -(On some Unix systems, you may need to use \cmdname{sh5} or -\cmdname{bash}.) This script works by accessing lists of collections -and packages from the \CD{}, and trying to guess what sort of computer -system you are on. It should start by displaying the following: -\verbatiminput{../examples/ex1.tex} -It will then show the main control screen -(Figure~\ref{ins1}), which lets you change five -things: -\begin{enumerate} -\item the type of system you are on, or want to install for; -\item the \emph{installation scheme} you want to use (eg full, - recommended, basic etc) -\item the collections you want to change from -the installation scheme (they are organised into two sets: -\emph{standard collections} and \emph{language collections}); -\item the location on your hard disk to put the files; -\item some runtime behaviour features. -\end{enumerate} - -\begin{figure*} -\begin{center} -\ifnum\Status=2 -\boxedverbatiminput{../examples/ex2.tex} -\else -\begin{minipage}{0.8\textwidth} -\boxedverbatiminput{../examples/ex2.tex} -\end{minipage} -\fi -\caption{Main control screen}\label{ins1} -\end{center} -\end{figure*} - -You choose options by typing a letter or number and pressing `return'. -In the example, a Linux GNU/Linux system has been detected, the -default set of collections will be installed, and -the default installation directory is \path|/usr/TeX|; note -that the disk space required for the current installation -configuration is also displayed. If you make a suggested setup, you -need about 60 megabytes of disk free; however, the basic setup will -only take about 30 megabytes, and you can enhance it with selected -packages as you need them. - -%\begin{addbymb} -\begin{description} - \item[MacOSX users] Most frontends (\emph{TeXShop}, - \emph{ITeXMac}\ldots) use the \teTeX{} default location - which is \path|/usr/local/teTeX|, so, Mac users could find interest - in installing \TeXLive{} in \path|/usr/local/teTeX| -rather than in \path|/usr/TeX|. -\end{description} -%\end{addbymb} - -Under the directory you choose for installation, the installation -script will put the binaries in a subdirectory of \path|bin|, and the -support tree in \path|texmf|. An additional tree \path|texmf-var| -will contain copies of configuration files (except the main -\path|texmf.cnf|), which are to be modified by \path|texconfig| program. -This tree will also store generated format files for \TeX, \MF, etc. - -\begin{figure*} -\begin{center} -\ifnum\Status=2 -\boxedverbatiminput{../examples/ex3.tex} -\else -\begin{minipage}{.80\linewidth} -\footnotesize -\boxedverbatiminput{../examples/ex3.tex} -\end{minipage} -\fi -\caption{Selecting standard collections}\label{ins2} -\end{center} -\end{figure*} - -\begin{figure*} -\begin{center} -\ifnum\Status=2 -\boxedverbatiminput{../examples/ex4.tex} -\else -\begin{minipage}{.80\linewidth} -\footnotesize -\boxedverbatiminput{../examples/ex4.tex} -\end{minipage} -\fi -\caption{Selecting language collections}\label{ins3} -\end{center} -\end{figure*} - -When you choose || for \emph{standard collections}, you will see -the display of available collections (Figure \ref{ins2}). Each -collection --- TeX macro files, Metafont font families, and so on --- -consists of several packages. You can toggle their inclusion on or -off by pressing the key. Note that the selection letter keys are case -sensitive. - -When you choose || for \emph{language collections}, you will see -the display of available language support collections (Figure -\ref{ins3}). Each collection consists of several packages, which -provide features like hyphenation files and fonts. - -The || for \emph{options} item lets you decide whether to make new fonts -be created in another location (if you want the main package mounted -read-only for most users), and whether to make symbolic links for the -binaries, \cmdname{man} and \acro{GNU} \cmdname{info} pages in the `standard' -locations; you'll need `root' permissions for tasks to do this, of course. - -When you are finished, return to the main screen, and ask the -installation to start. It will take each of the collections and -systems that you requested, consult the list of files on the \CD{}, -and build a master list of files to transfer. These will then be -copied to your hard disk. If you installed a system, -an initialization sequence is now run -(creating format files, etc.). When this has finished, all you need do -is add the correct subdirectory of \texttt{bin} in the \TeX{} -installation to your path, and start using \TeX. If you want, you can -move the binaries up one level, e.g.\ from -\path|/usr/local/bin/alpha-osf3.2| -to \path|/usr/local/bin|; if you do this, however, you must -edit \path|texmf/web2c/texmf.cnf| (see Appendix~\ref{app:texmf.cnf}) -and change the line near the start which reads -\begin{verbatim} - TEXMFMAIN = $SELFAUTOPARENT -\end{verbatim} -to -\begin{verbatim} - TEXMFMAIN = $SELFAUTODIR -\end{verbatim} - -If you move the whole installation to another directory tree entirely, you -need to edit \envname{TEXMFMAIN} to specify the support tree explicitly, and -set \envname{TEXMFCNF} in your environment to \path|$TEXMFMAIN/texmf/web2c|. - -%------------------------------------------------ - -\subsection{Installing individual packages from \protect\TeXLive{} to a hard - disk} You may want to use the \TeXLive{} \CD{} to either update an -existing setup, or add features to an earlier installation from the -\CD{}. The main installation program is intended for the first time -only, and subsequently you should use the \texttt{install-pkg.sh} -script on the \CD{}. Run this by mounting the \CD{}, changing to -the mounted directory, and typing - -\begin{alltt} ->> \Ucom{sh install-pkg.sh \emph{options}} -\end{alltt} - - -The script supports nine options; the first four let you set the -individual package you want to install, the whole collection (i.e., -\texttt{tex-mathextra}), the name of the mounted \CD{} directory, and -the name of the directory containing the list files (normally these -latter two will be set automatically): - -\begin{tabular}{ll} -\texttt{-{}-package=}\emph{name} & \\ -\texttt{-{}-collection=}\emph{name} & \\ -\texttt{-{}-cddir=}\emph{name} & \\ -\texttt{-{}-listdir=}\emph{name} & \\ -\end{tabular} - -What actually happens is controlled by four more switches; the first -two allow you to exclude documentation or source files from the -installation, the third stops the default action of running -\texttt{mktexlsr} on completion to rebuild the file database, and -the last does nothing but list the files that would be installed: - -\begin{tabular}{ll} -\texttt{-{}-nodoc} & \\ -\texttt{-{}-nosrc} & \\ -\texttt{-{}-nohash} & \\ -\texttt{-{}-listonly} & \\ -\end{tabular} - -Finally, you can specify that, instead of installing the files, the script -should make a \cmdname{tar} archive in a specified location: - -\begin{tabular}{ll} -\texttt{-{}-archive=}\emph{name} & \\ -\end{tabular} - -Thus, if we simply wanted to see the files that make up the package -\pkgname{fancyhdr} before we installed it, our command and output would be -as follows: - -\begin{alltt} -\ifSingleColumn>> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} -\else>> \Ucom{sh install-pkg.sh -{}-package=fancyhdr \bs} ->> \Ucom{-{}-listonly} -\fi{} -texmf/doc/latex/fancyhdr/fancyhdr.dvi -texmf/doc/latex/fancyhdr/fancyhdr.tex -texmf/lists/fancyhdr -texmf/source/latex/fancyhdr/README -texmf/source/latex/fancyhdr/fancyheadings.new -texmf/tex/latex/fancyhdr/extramarks.sty -texmf/tex/latex/fancyhdr/fancyhdr.sty -texmf/tex/latex/fancyhdr/fixmarks.sty -\end{alltt} -Other examples of usage are: -\begin{itemize} -\item Install the \LaTeX{} package \texttt{natbib}: -\begin{alltt} ->> \Ucom{sh install-pkg.sh --package=natbib} -\end{alltt} -\item Install the \LaTeX{} package \texttt{alg} with no source files and no -documentation: -\begin{alltt} -\ifSingleColumn>> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} -\else>> \Ucom{sh install-pkg.sh -{}-package=alg \bs} ->> \Ucom{-{}-nosrc -{}-nodoc} -\fi\end{alltt} -\item Install all the packages available in the collection containing additional -Plain \TeX\ macros: -\begin{alltt} ->> \Ucom{sh install-pkg.sh --collection=tex-plainextra} -\end{alltt} -\item Place all files which are needed for PSTricks -in a \cmdname{tar} file in \path|/tmp|: -\begin{alltt} -\ifSingleColumn>> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} -\else ->> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} ->> \Ucom{-{}-archive=/tmp/pstricks.tar} -\fi\end{alltt} -\end{itemize} - -\subsection{The texconfig program} -\label{ssec:tex} - -After the installation program has copied all files to their final -locations, you can use a program called \cmdname{texconfig} that -allows you to configure the system to fit your local needs. This can -be called at any other time to change your setup, with a full-screen -(which requires the \cmdname{dialog} program, included as part of the -binary packages) or command-line interface. -It should be used for all maintenance, such as changes of installed -printers, or rebuilding the file database. Both modes have help text -to guide you through the facilities. - -\section{Installation and use under Windows} -\label{sec:wintex} -This section only applies to systems running Windows 9x, \acro{ME}, -\acro{NT}, \acro{2K} or \acro{XP}. - -It is also necessary to have your Windows set up so that it uses the -Microsoft Joliet extensions for reading \CD s; simply look at the -\CD{} in Explorer and see whether it shows long, mixed-case, file -names. If it does not, you cannot use the ready-to-run system on the -\CD. - -This Win32 \TeX{} systems includes a \texttt{dvi} previewer, -\textsf{Windvi}, which is similar in usage to the established Unix -\textsf{xdvi}. The documentation can be found in -\OnCD{texmf/doc/html/windvi/windvi.html}. - -\subsection[The TeXLive.exe program]{The \texttt{TeXLive.exe} program} - -\begin{figure*} - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} - \else - \ifnum \Status=2 -\includegraphics[bb=20 20 575 432]{../pictures/Welcome-to-TeXLive.gif} - \else - \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} - \fi - \fi - \end{center} - \caption{``Welcome to \TeXLive'' window}\label{graph:welcome} -\end{figure*} - -If your computer is configured to let the \CD{} autostart, then a -dialog box with a menu bar will popup on the screen, and you will have several choices -from there: -\begin{itemize} -\item Install \TeX{} on your hard disk, -\item Install TeX-oriented editors on your hard disk, -\item Install support packages on your hard disk (Ghostscript, NetPBM, - \ldots) -\item Do some maintenance on you \TeX{} system, -\item Remove the \TeX{} system, -\item Use \TeX{} off the \CD{}, -\item Cleanup the temporary files created on your hard disk when using - \TeX{} off the \CD{}, -\item Update some of the DLLs on your system, -\item Browse some documentation: \TeXLive{} documentation, TUG web - pages, \fpTeX web pages, -\item Run the \cmdname{TeXdocTK} application to find specific documentation. -\end{itemize} - -If your \CD{} does not autostart, you can explicitly run the program -by double clicking on \path|bin/win32/TeXLive.exe| on the \CD{} from -the explorer window. - -\subsection[Running \protect\TeXLive{} from the CD-ROM]{Running from -the \protect\CD{}} -You can run all the \TeX{} programs directly off the \CD, and have -access to all the macros and fonts immediately, at the price of a -slower performance than if you install on the hard disk. -To work effectively, one needs to modify -environment variables and to create some small auxiliary directories on a -hard disk. These directories will contain necessary configuration files -allowing the user to modify programs settings and to generate a necessary -format file. Moreover, automatically generated font files will be stored -there too. - -Should you want to run \TeX{} this way, you will have to follow these -steps: -\begin{enumerate} -\item from the menu, chose \verb|Explore CD-Rom|, then - \verb|Select a text editor|, a dialog box will open to select some \path|.exe| - program. - - This program needs to be a \TeX{} oriented editor. It must be able - to run the \TeX{} compiler, previewer and any other needed tool. If - you don't have one already installed on your system, you can install - one from the \CD{}, details section~{\ref{sec:texlive-install}}. - - \emph{There is no way we can guess if the program you will - select is actually a text editor, so be careful}. - Here is a list of frequently used \TeX{} editors: -\begin{center} - \begin{tabular}[ht]{ll} - GNU Emacs & \path|c:\Program Files\NTEmacs\bin\runemacs.exe| \\ - XEmacs & \path|c:\Program Files\XEmacs\XEmacs-21.2\i586-pc-win32\xemacs.exe| \\ - WinShell & \path|c:\Program Files\WinShell\WinShell.exe| \\ - WinEdt & \path|c:\Program Files\WinEdt Team\WinEdt\WinEdt.exe|\\ - TeXnicCenter & \path|c:\Program Files\TeXnicCenter\TEXCNTR.exe| - \end{tabular} -\end{center} - The program - selected will be memorized as the editor to use for future runs. - -\item from the menu, chose \verb|Explore CD-Rom|, then - \verb|Run TeX off CD-Rom|. The environment will be modified, a small - temporary directory created and some configuration files copied - there. Then, the selected editor selected will be launched, and you - will be able to type in some text, let \TeX{} typeset it and the - view it or print it. - - If Ghostscript is not detected on your machine, you will be warned - that rendering your DVI files might fail. You can install it from - the \path|Install|, \path|Support| menu item. See - section~\ref{sec:texlive-install} for details. - -\item you can select a different text editor any time you want. - -\item if you chose \verb|Cleanup CD-Rom setup|, everything \TeX{} - needed will be removed, comprised the selection of your text - editor, but not the extra packages you may have downloaded and - installed. If you installed \cmdname{WinShell} or \cmdname{NTEmacs}, -they won't be removed. -\end{enumerate} - -The editor is run inside a modified environment. A temporary TDS -compliant texmf tree is build in the temporary area of your computer. -It is needed to store files that may be build on the fly like pk font -files or format files. Configuration files are copied from the \CD{} -to this texmf tree, so that you can edit them if needed. The \path|ls-R| -database is computed for this texmf tree. -Then the \texttt{PATH} and \texttt{TEXMFCNF} environment -variables are set locally, and the editor is run in -this local environment. From within your editor\footnote{Actually, you can - state any other program than a text editor, and select your command - processor for example. You will then get a console with the right - settings to use \TeX{} from the \CD{}.}, you have access to a full -\TeXLive{} environment, all files referenced on the \CD{}. - - -\smallskip {\small\noindent \textbf{[For advanced users:]} You can - also use the small batch file \path|mkloctex.bat| to be called in a - directory \path|setupw32| of the \CD. From the Start menu select - `Run', then browse CD drive and select \path|mkloctex.bat|. Before - starting it, you should add two parameters separated by a space: the - letter of your CD drive and the letter of the hard disk where you - want to install the \TeX\ directory. The whole line should read, - e.g., \verb+d:\setupw32\mkloctex.bat d c+. When installation is - complete, please read carefully the information on screen. If you - are running Windows 9x/ME, then you will have to restart Windows. } - -\subsection{Installing editors or support packages} -\label{sec:texlive-install} - -You can already use the \path|TeXSetup.exe| program to install a -single, not \TeX{} dependent package. This might be either an editor -like \cmdname{WinShell} or \cmdname{NTEmacs}, -or also a support package like \cmdname{NetPBM} -(graphics formats conversion) or \cmdname{Ghostscript}. - -Some of the packages are not free, or not with the same meaning as for -the rest of the \CD{}. These packages have been made available through -the Internet. You need to enable an Internet connection in order to -install them. Chosing the \path|Enable Internet access| subitem will -search your system for an active Internet connection, or start one if -possible. \emph{If your computer is not connected to the Internet, - then the timeout might be long, 30s or more}. So try to enable it -only if you know you have a connection. - -Only a few packages are available from the \CD{}, but the most -important of them: \cmdname{NTEmacs} and \cmdname{WinShell} for the -editors, \cmdname{Ghostscript} and \cmdname{NetPBM} for the other -support packages. \cmdname{NetPBM} is needed for running \TeX{}4ht. - -The downloadable packages are sometimes huge: \cmdname{Perl} is 10Mb, -\cmdname{XEmacs} is 50Mb, so be warned that it can take a lot of time -to install such things. \path|TeXSetup.exe| does not yet provide an -estimation of the time needed to complete the download. - -When installing these packages, \path|TeXSetup| is working in -unattended mode. However, the programs that have their own installer -like WinEdt or Ghostscript for example will require human interaction. - -Those packages who have no specific installer will be unpacked and configured -for your system. You will be required to select some directory where -they will be installed. The directory to select should be the root -directory of the whole installation. Assuming you want to install -NTEmacs and NetPBM, the archive files already contain the -\path|NTEmacs\| and \path|NetPBM\| part, so the directory you have to -select is something like \path|c:\Local| or \path|c:\Program Files|. - -\subsection{Installing to your hard disk} - -Installation is started by letting the CD autostart, and -selecting the item \verb|Install| from the menu, then the subitem -\verb|TeXLive|. This will invoke the \path|TeXSetup.exe|. You can also find -it in the \path|bin/win32| directory and run it. \path|TeXSetup.exe| -is a Windows wizard and it will display several pages while running. - -\begin{description} -\item[Welcome Page] - You can choose a \emph{quick} installation from - there, in this case, the installation will run without any human - assistance from beginning to end, with all the default settings - (Figure~\ref{graph:setup-src}, - \ifnum \Status = 1 - on the left% - \else\ifnum \Status=2 - at the top% - \else - on the left% - \fi\fi - ). However, if you chose to install any support program that has its - own installer like WinEdt or Ghostscript, your intervention might be required. - If you have enough privileges (administrator or power user rights) - under a Windows version where it is applicable, then you can decide - to install the \TeXLive{} for all users or for yourself only by - checking the appropriate box. - - \begin{figure*}[!htb] - The \cmdname{TeXSetup} Wizard\hfill - Source directories for the \TeXLive{} files - - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.48\textwidth]{../pictures/setup-wizard.jpg}\hfill% - \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive.jpg} - \else - \ifnum \Status=2 -\includegraphics[bb=0 0 506 403]{../pictures/setup-wizard.gif} -\includegraphics[bb=0 0 506 403]{../pictures/source-for-texlive.gif} - \else - \includegraphics[width=.48\textwidth]{../pictures/setup-wizard}% - \hfill% - \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive} - \fi - \fi - \caption{The \TeXLive{} setup wizard}\label{graph:setup-src} - \end{center} -\end{figure*} -\item[Source Page] - This page is a bit complex. It will allow you to select two source - directories for your \TeXLive{} system - (Figure~\ref{graph:setup-src}, - \ifnum \Status = 1 - on the right% - \else\ifnum \Status=2 - at the bottom% - \else - on the right% - \fi\fi - ). You will need a \emph{local - source directory} and possibly a \emph{remote source directory}. - - Why do we need both these directories? The very files of the - \TeXLive{} system are on the \CD{}, but some other packages useful - under a Win32 system are not, either because of space lacking or - because their license was not compatible with the \TeXLive{}'s one. - You need to enable Internet downloading if you want to install these - support packages. - - However, don't panic: the default parameters of the setup will allow - you to install a full system using the \CD{} only. Simply, you won't - have \file{WinEdt} for example, but you will be able to install it - later. - - So you can take your files from: - \begin{itemize} - \item the \CD{} or any similar flat tree of files, available through - some standard directory (this means the \CD{} can be mounted on - some remote machine and be made available through network - sharing), - \item a set of \file{.zip} files (this is the case when you are - installing the - \fpTeX{} distribution), - \item the Internet, in this case, the program takes care of - downloading the \file{.zip} files it needs for you. - \end{itemize} - This option is available only if you enable Internet file - downloading in the right part of the page. You also need to - configure this Internet access by selecting to connect either using - Internet Explorer~5 \file{wininet.dll}, or using a direct connection (\texttt{ftp}, - \texttt{http}). -% or using a proxy server. -% Last, you can be assisted in defining the \emph{local source -% directory} and \emph{remote source directory} which will be used -% to copy the files onto your hard disk. The \texttt{browse} buttons -% allow to select a directory for the former, and an url among a list -% of mirrors for the latter. -\item[Root Page] - On this page, you will tell where you want the files to be - installed (Figure~\ref{graph:root-schm}, - \ifnum \Status = 1 - on the left% - \else\ifnum \Status=2 - at the top% - \else - on the left% - \fi\fi - ). Only the root directory really matters, the other ones - are set according to the root one. You may want to make - \path|$TEXMFEXTRA| point to some TDS compliant directory with other - \TeX{} files or assign a different value to - \path|$HOMETEXMF|, which is set by default to whatever Windows think - is your `HOME' location. -\begin{figure*}[!htb] - Root and directories\hfill% - Scheme selection - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.46\textwidth]{../pictures/root-of-installation.jpg}\hfill% - \includegraphics[width=.46\textwidth]{../pictures/scheme-selection.jpg} - \else - \ifnum \Status=2 -\includegraphics[bb=0 0 506 403]{../pictures/root-of-installation.gif} -\includegraphics[bb=0 0 506 403]{../pictures/scheme-selection.gif} - \else - \includegraphics[width=.46\textwidth]{../pictures/root-of-installation}% - \hfill% - \includegraphics[width=.46\textwidth]{../pictures/scheme-selection} - \fi - \fi - \caption{\TeXLive-Setup: Root and directories / Schemes}\label{graph:root-schm} - \end{center} -\end{figure*} -\item[Get TPM Page] - This page does not require any manual intervention. The \file{.tpm} - files which describe collections and packages are retrieved - (possibly from the Internet), unzipped if needed and parsed. -\item[Schemes Page] - On this page, you will select the global scheme of your - installation (Figure~\ref{graph:root-schm}, - \ifnum \Status = 1 - on the right% - \else\ifnum \Status=2 - at the bottom% - \else - on the right% - \fi\fi - ). A scheme is a large set of files targeted at some kind - of usage. There are 3 generic schemes for basic, recommended and - full installation. The other ones are devoted to LUGs (what GUST or - GUTenberg propose for their members) or applications (XML and - \TeX{}). - When a scheme is selected, it is still possible to refine the - selection by checking the appropriate box. If doing so, you will be - presented the packages page to change your selection, else you will - jump to the review page. -\item[Packages Page] - Collections and packages are presented in a tree form - (Figure~\ref{graph:win32-support}, - \ifnum \Status = 1 - on the left% - \else\ifnum \Status=2 - at the top% - \else - on the left% - \fi\fi - ). The links - in the tree are dependency links. Collections \emph{depend on} - packages and maybe other collections, and it is the same for each - package. You can select any package or collection individually, but - your request will be granted only if the object is not requested by - another one which is selected. For example, you can't deselect - \texttt{tex-basic} without deselecting all the collections that - request it. - - The \texttt{win32-support} collection displayed on the picture is Win32 specific. It - holds a number of bonus packages (Figure~\ref{graph:win32-support}, - \ifnum \Status = 1 - on the right% - \else\ifnum \Status=2 - at the bottom% - \else - on the right% - \fi\fi - ) which can be installed - automatically and individually: Ghostscript, the PostScript - interpreter, \TeX{} oriented editors, tools like Perl, - \LaTeX{}2HTML, etc. \emph{None of these packages are selected by - default}. Some of them have an Internet Explorer icon on their - right, this means that they are not on the \CD{} and they will be - available only if you previously enabled Internet - downloading. \emph{This collection cannot be selected entirely at - once: you need to select the packages individually}. This is to - avoid unwanted downloads of huge files. - - On this page, you also have the information about disk space - needed, for each object, and for the set of those who are selected, - and also the disk space available on the partition selected for the - installation. Last, you can choose to install or not the - documentation files and source files associated with each package. -\item[Review Page] - You will find there a summary of your choices - (Figure~\ref{graph:review}, - \ifnum \Status = 1 - on the left% - \else\ifnum \Status=2 - at the top% - \else - on the left% - \fi\fi - ). It is still time to - go back to change them. -\begin{figure*}[!htb] - Packages Page\hfill% - Win32 Support - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.48\textwidth]{../pictures/package-selection}\hfill% - \includegraphics[width=.48\textwidth]{../pictures/win32-support} - \else - \ifnum \Status=2 -\includegraphics[bb=0 0 506 403]{../pictures/package-selection.gif}\hfill% -\includegraphics[bb=0 0 506 403]{../pictures/win32-support.gif} - \else - \includegraphics[width=.48\textwidth]{../pictures/package-selection}% - \hfill% - \includegraphics[width=.48\textwidth]{../pictures/win32-support} - \fi - \fi - \end{center} - \caption{Packages Page / Win32 goodies} - \label{graph:win32-support} -\end{figure*} -\item[Files Copy Page] - The selected files are copied on your hard disk (Figure~\ref{graph:file-copy}, - \ifnum \Status = 1 - on the right% - \else\ifnum \Status=2 - at the bottom% - \else - on the right% - \fi\fi - ). All the files not - yet available on your local disk are first downloaded from the - remote source directory on the Internet. Then every package is - unpacked (if \path|.zip| files), or copied from the \CD{}. -\item[Configuration Page] Several packages need some configuration - step to make them usable (Figure~\ref{graph:configuration}, - \ifnum \Status = 1 - on the left% - \else\ifnum \Status=2 - at the top% - \else - on the left% - \fi\fi - ). Also the \TeXLive{} system needs some post-processing step - (format files generation, ls-R databases generation, environment - variables, etc.). All these operations are done there, some of them - can be lengthy. -\begin{figure*}[!htb] - \textbf{Review Page}\hfill% - \textbf{File Copy Page} - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% - \includegraphics[width=.48\textwidth]{../pictures/file-copy} - \else - \ifnum \Status=2 - \includegraphics[bb=0 0 506 403]{../pictures/review-settings.gif}\hfill% - \includegraphics[bb=0 0 506 403]{../pictures/file-copy.gif} - \else - \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% - \includegraphics[width=.48\textwidth]{../pictures/file-copy}% - \fi - \fi - \end{center} - \caption{Review Page / File Copy Page} - \label{graph:review}\label{graph:file-copy} -\end{figure*} -\item[Final Page] The installation being over, you may want to display - the Windows specific documentation (HTML format) and / or the log - file of the setup process (Figure~\ref{graph:final} - \ifnum \Status = 1 - on the right% - \else\ifnum \Status=2 - at the bottom% - \else - on the right% - \fi\fi - ). If it is needed (Win9x/WinME), you will - be asked to reboot your computer. -\end{description} - -\begin{figure*}[!htb] - \textbf{Configuration Page}\hfill% - \textbf{Final Page} - \begin{center} - \ifnum \Status=1 - \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% - \includegraphics[width=.48\textwidth]{../pictures/congratulations} - \else - \ifnum \Status=2 - \includegraphics[bb=0 0 506 403]{../pictures/configuration.gif}\hfill% - \includegraphics[bb=0 0 506 403]{../pictures/congratulations.gif} - \else - \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% - \includegraphics[width=.48\textwidth]{../pictures/congratulations}% - \fi - \fi - \end{center} - \caption{Configuration Page / Final page} -\label{graph:configuration}\label{graph:final} -\end{figure*} - -Please be aware that the choice of cluster size on DOS disk -partitions can radically affect the size of your \TeX\ -installation. The support tree has hundreds of small files, and it is -not unusual for a complete installation to take up to 4 times the -amount of space used on the \CD. - - -\section[Maintenance and other aspects of the \protect\TeXLive{} -installation under Windows]{Maintenance and other aspects of the \protect\TeXLive{} -installation under Windows} - -\subsection{What's different under Win32 from the standard \Webc ?} -The Win32 version of \Webc{} has some specific features that need to -be noticed. - -\begin{description} -\item[\KPS{}] the hash-tables that \KPS{} builds are quite large for - the \TeXLive{}. In order to cut down the starting time of any - \KPS{}-enabled program, these hash-tables have been put in shared - memory. This way, when you chain the execution of several such - programs, like \path|tex| calling \path|mpost| calling \path|tex|, - the overhead when starting each of the programs but the first will - be reduced. This change is hidden to the user, except if you set the - debug flag of kpathsea to the \path|-1| value: you will then trace - access to the shared memory, which is not what you want (it is - accessed very often!). What is useful in a log trace of the shared - memory access is still to be defined, so the situation might evolve - in the future. -\item[\cmdname{kpsecheck}] this command provides some option that did - not fit well into \cmdname{kpsewhich}. It will allow you to list all - the files that occur multiple times across your texmf trees. This - could be handy, but most of the time you will also get unwanted - output (like dozens of \path|README| files)\footnote{It is noticeable - that all these files result in clashes inside the \KPS{}-hashing - mechanism, fortunately, \KPS{} never look for these files.}. For - this reason, you can combine the \path|-multiple-occurences| with 2 - other options for including or excluding any filename that match - some pattern (you can request for several patterns). - - The \cmdname{kpsecheck} command will also report the status of - shared memory: in use or not used. That might be useful to know - because if the status reported is ``in use'', that means one or - several processes are working, and the effect of any - \cmdname{mktexlsr} command will be delayed until the next time where - no \KPS{} linked process will be running. - - Last, this same command will report about the location it thinks - Ghostscript can be found. Under Win32, for many programs, it is - easier to use the Ghostscript dll, and find it by using the - Ghostscript registry key than to change the \path|PATH|, which has a - limited length anyway. -\item[\Webc{}] the engines have a few more options than the ones from regular - \Webc{}, and one option with a different behaviour: - \begin{itemize} - \item the \path|-fmt| option behaves differently. Previously and - with the regular \Webc{} distribution, this option has 2 different - meanings when you are in ``ini'' or ``vir'' mode. Under Win32, it - has the same meaning: preload the format file specified with the - argument. The meaning of building a format of such name in ``ini'' - mode is obtained by the new \path|-job-name| option. - \item \path|-job-name| option: allows to set the name of the file - resulting from the compilation process. In normal mode, it will - change the base name of all files produced (\path|.dvi|, - \path|.aux|, etc.), while in ``ini'' mode, it will set the name of - the format file written. - \item \path|-halt-on-error| stop the compilation at the first error. - \item \path|-job-time| set the job time to the same timestamp as the - file given in argument. - \item \path|-output-directory| allow to write all the output files in the - specified directory. - \item \path|-time-statistics| print statistics about the job run - time. It is to be noted that Win9x not being a true multitasking - operating system, it has no reliable timer for short periods, so - the value printed is an approximation. Under NT/2K/XP, the result - is quite accurate with user time and system time values allocated - for this run. For Unix - users: the \path|time| command is not usually available to Windows - users. - \end{itemize} -\end{description} - -\subsection{Adding packages to your installation} - -You will find an option in the \texttt{TeXLive} menu (or go to -\texttt{Start -> Programs -> TeXLive -> Add TeX package} menu) to run again -\file{TeXSetup.exe}, but in maintenance mode this time. The steps you -will go through are almost identical to the ones the first time you -run it. - -The only different step is about the packages selection page. In -maintenance mode, the list of installed packages is compared to the -list of packages available from your source directories. Packages that -are not installed will be displayed in green, out of date packages -will be displayed in red and up to date, installed packages are -displayed in black. - -This way, you can choose to add or upgrade components, either from -your \CD{} or from the -Internet, where you are likely to find some more recent version of -your packages. - -It is up to you to select which ones of the packages you want to -install. The rest of the process is similar to the first installation. - -If you want to add files that are not provided by the \TeXLive{} (or -\fpTeX{}) distribution, it is recommended to put them in the -\path|$TEXMFLOCAL| directory. This way, you will be safe against -upgrades of the \TeXLive{} software. - -The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If -you want to add there the support file for Maple (symbolic computation -program) for example, you will have to put the style files in:\\ -\path|c:\Program Files\TeXLive\texmf-local\tex\latex\maple\|\\ -and the documentation files in:\\ -\path|c:\Program Files\TeXLive\texmf-local\doc\latex\maple\| - -Next, \textbf{do not forget to rebuild the ls-R databases files}, -either by using the right menu (Start -> Programs -> TeXLive - -> Maintenance), either by manually running the \file{mktexlsr} - command. - -\subsection[Removing \protect\TeXLive{} from your hard disk]{Removing - \protect\TeXLive{} from your hard disk} - -The uninstall procedure is available either from the -\file{TeXLive.exe} program, from the \path|TeXLive| menu or from the -control panel (Start menu -> Control Panel, Add/Remove Programs -option). This procedure will cleanup your hard disk of most of the -\TeXLive{} files. However, \TeX{} is a system that is creating files -and there is no mechanism to keep track of all of them. Moreover, -Win32 support packages have their own uninstall procedure, which you -will have to run separately (provided you want to get rid of them). Last, -the files you may have stored in \path|$TEXMFLOCAL| won't be -removed. So, even if the vast majority of files are automatically -removed by the uninstall procedure, you will have to do some manual -cleanup to actually remove all of them. - -\subsection{Running \texttt{TeXSetup.exe} from the command line} - -The \path|TeXSetup.exe| program has a number of other interesting -options. You can get the list by running: -\begin{verbatim} -c:\>TeXSetup --help -\end{verbatim} - -Here is the description: -\begin{description} -\item[\path|--automatic-reboot|] reboot without waiting user - confirmation once installation is over; -\item[\path|--dry-run|] do nothing, just log everything that will be - done without this option; -\item[\path|--quick|] use the recommended installation and default - directories, ask nothing up to rebooting; -\item[\path|--net-method (=ie5/direct)|] enable to download components with - restricted licenses from the Internet (either using direct - connection of Internet Explorer 5 DLLs): you need to have an available - network connection and some of the packages are huge; -\item[\path|--remote-source-directory |] this is the base url for the remote packages; -\item[\path|--local-source-directory

|] by default, \path|TeXSetup.exe| - will guess the root directory of the set of files you want it to act on, if you ever - upgrade \path|TeXSetup.exe|, you won't be able to copy the new version - onto your \CD{}, so you will need to use this option to specify the - root of the \CD{}; -\item[\path|--installation-directory |] this is the root of your - installation, all files will be copied under this location. The - default value is \verb+c:\Program Files\TeXLive+; -\item[\path|--texmfmain-directory |] -\item[\path|--texmflocal-directory |] -\item[\path|--texmfextra-directory |] -\item[\path|--texmfhome-directory |] -\item[\path|--vartexmf-directory |] -\item[\path|--vartexfonts-directory |] these are the directories - used to configure the location of your files. They map directly to - the \path|texmf.cnf| variables. -\item[\path|--with-source-files(=yes/no)|] copy the source files - for \TeX{} packages, default value is no; -\item[\path|--with-documentation-files(=yes/no)|] copy documentation files for \TeX{} - packages. Default value is yes. Beware: this is only documentation about specific - packages, general documentation will be installed anyway; -\item[\path|--program-folder |] the name of the folder under - which you will find the menus; -\item[\path|--add-package |] this is used to add or update a specific - package after a first regular installation; -\item[\path|--scheme |] install the named scheme instead of the - default \path|texlive-recommended| scheme; -\item[\path|--maintenance|] mostly the same as \path|--add-package| - without specifying a package to add; -\item[\path|--uninstall|] this option will remove anything \TeX{} related coming from - the \CD{}, which means there can be files left if you added style - files or format files, and also that supplementary tools will not be - removed\footnote{This option is still a bit crude as of \today}; -\item[\path|--help|] this option opens up a box with the list of options. -\end{description} - -\subsection{Network installation} - -\KPS{} knows about UNC names, so you can use them to get your TEXMF -tree from the network. But there is better than this. -All the support files and configuration files, everything except the files in the -\path|bin/win32| are shareable with a \teTeX{} or Unix \TeXLive{} installation. That means -you can use Samba either to mount from an NT server to a Unix -workstation or the converse. Several strategies are possible: -\begin{itemize} -\item Put everything on the server. Just add each set of files for the os and -architecture you want to use in the \path|bin| directory. That means -for example \path|bin/win32| and \path|bin/i386-linux|. Next configure -your main variables. You can use UNC names to -point to the right directories under Win32. -\item Install a local copy for the binaries and format files. In this - case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that - will be accessed remotely. Set \path|$VARTEXMF| to be a local - directory which will hold local configuration files and on-the-fly - generated files. -\end{itemize} - -\subsection{Personal Configurations} - -\subsubsection{\cmdname{WinShell}} -\label{sec:winshell} - -Start this program from the Start menu or from the Desktop shortcut. -Go to \textbf{Options} \verb+->+ \textbf{Program Calls}. - -\begin{itemize}\itemsep 0pt -\item In the DVIWin tab, if the filename is \textbf{yap}, replace it -with \textbf{windvi.exe}. -\item In Ghostview tab, make sure it gives the correct path for -gsview32.exe:\\ -\hspace*{1em} \verb+C:\ghostgum\gsview\gsview32.exe+ (for 3.6, the -current version)\\ -or \\ -\hspace*{1em} \verb+C:\gstools\gsview\gsview32.exe+ (for the older -version) - -\end{itemize} - -Click \textbf{OK}. - -Note that the install process sets all files with the \texttt{.tex} -extension to open with \cmdname{WinShell}. Unless you plan to use another editor -(such as WinEdt or Emacs), this is appropriate. - -Unfortunately, \cmdname{WinShell} does not have a spell-checking feature. -However, if you have installed the \path|tex-extrabin| collection, -your installation includes \textbf{Ispell} (a spell checking program -found on most Unix systems). The executable is in your PATH so -\verb+ispell.exe+ will be found if you invoke it from a DOS window. -If you installed documentation, look -at\\ -\verb+C:\Program Files\TeXLive\texmf\doc\html\manpages\ispell.html+\\ -for information on Ispell. (Otherwise, you can find -\verb+ispell.html+ on the CD.) If you rely on spell checking, you may -want to add an Ispell icon to \cmdname{WinShell}. See -subsection~\ref{winshell:ispell} of this document for how to do that. - -For an excellent commercial (but inexpensive) spelling checker, -see \url{http://www.microspell.com}. - -%Appendix B also contains other information about using \cmdname{WinShell}, such as: -% -%\begin{itemize} -%\item How to apply a bug fix you probably need -%\item How to print directly from \cmdname{WinShell} -%\item How to use the Project feature for multiple-file documents -%\end{itemize} - -\cmdname{WinShell} also has on-line help, which you can access via the -$\textbf{\underbar{?}}$ on the menu bar. - -Other information about using \cmdname{WinShell} can be found in -section \ref{winshell:more} on p.~\pageref{winshell:more}. - -\subsubsection{Dvips} - -The configuration file for dvips can be found in\\ -\verb+C:\Program Files\TeXLive\texmf-var\dvips\config\config.ps+\\ -You may open it with any editor (\cmdname{WinShell} will do fine) and change -some parameters: - -\begin{description} -\item [fonts] you can change the default printer \MF{} mode or printer - resolution in case dvips needs to generate PK fonts. By default it - is configured to use type1 versions of the CM fonts, so it should - not call \cmdname{mktexpk} too often; -\item[printer] you can tell dvips where you want to print by - default. If the `o' option is not followed by a printer name, then a - \file{.ps} PostScript file is written. You can give dvips a printer - name such as: -\begin{verbatim} -o lpt1: -% o | lpr -S server -P myprinter -% o \\server\myprinter -\end{verbatim} -\item[paper] Next, you might want - to change the paper size from European (A4) to US letter - by making the US letter the first paper size mentioned in the file. - Scroll to the group of lines beginning with ``@''. Move - the appropriate lines so that this section begins with the lines:\\ -\hspace*{1em} @ letterSize 8.5in 11in\\ -\hspace*{1em} @ letter 8.5in 11in\\ -\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ -\hspace*{1em} @+ letter\\ -\hspace*{1em} @+ \%\%EndPaperSize -\end{description} - -\textbf{Note:} The current \TeXLive{} distribution has implemented (for -the first time!) the procedure of making always up-to-date fontmaps files -for Dvips and Pdftex. This is done by \cmdname{updmap} program -during installation, as well as during any font package addition. -If you add new packages by hand, edit the file \verb+updmap.cfg+ -in \path|$VARTEXMF/web2c|. - -\subsubsection{Pdftex} -If you want to use the program pdf{}latex to convert directly to -pdf format, and you are using US letter file, edit the file\\ -\verb+C:\Program Files\TeXLive\texmf-var\pdftex\config\pdftex.cfg+\\ -and change ``page\_width'' and ``page\_height'' to specify letter-size paper. -These entries should read:\\ -\hspace*{1em} page\_width 8.5 true in\\ -\hspace*{1em} page\_height 11 true in\\[6pt] -Save the file and exit the editor. - -\subsubsection{GSView} -Starting from versions compatible with Ghostscript 6.50, GSView is not -free anymore, but shareware. So it is not on the \CD{} anymore. - -You may want to change the papersize to US letter size. If so, -open GSView from the Start menu. \\ -From the \textbf{Media} menu, select \textbf{Letter}. - -Also, there are menu settings that are supposed to give you the -most readable screen image:\\[4pt] - From \textbf{Media} \verb+->+ \textbf{Display Settings}, -set \textbf{Text Alpha} -and \textbf{Graphics Alpha} both to 4 bits. - -Note that the installation process has set all .ps and .eps files -to automatically open with GSView. - -For printing instructions, see section~\ref{printing} below. - -\subsubsection{WinDvi} -\label{sub:windvi} - -The \file{TeXSetup.exe} program takes care of associating the files -with the \file{.dvi} extension with \file{Windvi}. - -Open it from the Start menu (Programs \verb+->+ TeXLive \verb+->+ DVI Viewer). -You can set it for US letter paper by going to \textbf{View} \verb+->+ \textbf{Options} -and next to \textbf{Papertype}, -selecting US (8.5\verb+"+ x 11\verb+"+). -Click \textbf{OK}. -Exit Windvi. -You can change other parameters from there, like the ability to -execute commands included in path|\special{}|. -Also, the first time you -view any .dvi file, you may find the magnification too large. Zoom out -until you get an appropriate size. - -%There are two important parameters related to printing that can't yet -%be set from the dialog boxes, namely the resolution and the \MF{} mode -%for the printer. You can set them once for all by specifying them on -%the command line: -%\begin{verbatim} -%c:\>windvi -p 360 -mfmode canonbjc foo.dvi -%\end{verbatim} -%When you will exit Windvi, these parameters will be stored in the -%configuration file. The available modes are found in this file:\\ -%\path|c:\Program Files\TeXLive\texmf\metafont\misc\modes.mf| - -All the configuration for Windvi is stored in the -\path|$HOME/windvi.cnf| file. You can find it by running this command -at the prompt: -\begin{verbatim} -c:\>kpsewhich --expand-var $HOME/windvi.cnf -\end{verbatim} - -Should you have problems with Windvi, please remove the configuration -file and test your problem against a vanilla configuration. - -\subsection{Testing} - -You can test \cmdname{WinShell} by opening the file \verb+sample2e.tex+, found in -\path|C:\Local\TeX\texmf\tex\latex\base|. The \LaTeX\ source should appear -on the screen. Process it by clicking on the \LaTeX\ icon on the toolbar, -then view it by clicking on the Preview (Windvi) icon. - -At first, when you preview files with Windvi, 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. -Return to \cmdname{WinShell} and try dvips, then GSView. - -\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ -cannot find a file, you can press \textbf{Ctrl-z} to quit. - -\subsection{Printing}\label{printing} - -It is possible to print from Windvi. In this case, printing will -be done using the Windows unified printer driver. By definition, it -is compatible with all printers. However, there is some drawback: it -can generate some huge spool files, and some (older) versions of Windows just -don't like them. The advantage is that you can use features like -embedding BMP or WMF images. You also need to make sure that the -printer parameters are correctly set (subsection~\ref{sub:windvi}), -else you will get scaled printing (printing at 600dpi on a 300dpi -printer will give you only one quadrant of your page). - - -Printing is faster and more reliable if you run dvips to make a -.ps file and then print from GSView. To print from GSView, first select -\textbf{Print...} from the \textbf{File} menu. A Print window will appear. - -If you will be using a PostScript printer, \textit{be sure to select -\textbf{PostScript Printer}}. In the newer version this is done in -the ``Print Method'' box at the bottom left of the Print window. You -can then select any of the printers that you have previously installed -on your PC. If you fail to check the box for PostScript Printer, -printing will not work. - -If you will be using your own non-PostScript printer, select -\textbf{Ghostscript device} in the ``Print Method'' box, then click on -the button to the right labelled \textbf{djet500} and select your -printer type from the list that pops up. (In the older version of -GSView, make sure PostScript Printer is \textit{not} selected, then -select your printer type from the ``Device'' list.) - -If you use \cmdname{WinShell} and a PostScript printer, probably the most -convenient way to print is to add an icon to the \cmdname{WinShell} toolbar that -invokes dvips in a way that sends the output directly to a default -printer. For detailed instructions on how to do this, see -\ref{winshell:print} on p.~\pageref{winshell:print} -(\textit{More About \cmdname{WinShell}}). - -\subsection{More About \cmdname{WinShell}}\label{winshell:more} -\subsubsection{Installing Bug Fixes} - -\cmdname{WinShell}'s author (\href{mailto:idb@winshell.de}{Ingo de Boer}, -thanks to him) sometimes releases beta versions of the next \cmdname{WinShell} -version which are also bug fixes. You can grab them from -\url{http://www.winshell.de}. Usually they are \file{.zip} files that -only require to be unpacked in \cmdname{WinShell} directory (\path|c:\Program -Files\WinShell| by default), either using WinZip or a similar tool, or -by using \file{unzip} on the command line. If you got some -\file{winshellbugfix.zip} file and that you saved it in the \cmdname{WinShell} -directory, then you need to run: -\begin{verbatim} -c:\>cd c:\"Program Files"\WinShell -c:\>c:\local\bin\unzip winshellbugfix.zip -\end{verbatim} -Say `yes' if you are asked if some files should be overwritten. The -\path|unzip.exe| programme can be found in the -\path|support/gnu-utils| package. If you -do not have it on your machine, you can use any archiver tool like -WinZip to achieve the same effect. - -\subsubsection{Using the Project Feature} -If your document is split into several files -(for example a thesis), look into \cmdname{WinShell}'s ``Project'' feature. From the -\textbf{Project} menu, you give the project a name (e.g., Thesis), -supply the name of the main (or root) file, and then ``add'' other -files. These filenames display on the left of the screen where you can -double click the names to view and switch between them. Clicking -the \textbf{\LaTeX} icon always processes the main file. - -Note the icons on the toolbar for toggling the project space (on the left) -and the log space (at the bottom). If you are not using the Project -feature, you may want to toggle off the space on the left, using the full -screen width to display your file. - -\subsubsection{Printing from \cmdname{WinShell} to a PostScript Printer} -\label{winshell:print} - -The Dvips icon on the \cmdname{WinShell} toolbar puts the PostScript output in a file, -which you can then view with GSView and print from there if you choose. -However, it's convenient to add a \cmdname{WinShell} ``program call'' to dvips which -sends the output directly to a designated PostScript printer. The steps -below show how to do this for the printer \textbf{vclw}; you should -substitute the name of your most frequently-used printer for \textbf{vclw}. -\begin{enumerate} -\item Make the program aware of the printer: -\begin{itemize} - -\item Open \cmdname{WinShell}, go to \textbf{Options} \verb+->+ -\textbf{Program Calls} \verb+->+ \textbf{User defined}. - -\item Click on \textbf{Tool 1} in the list on the right and fill in the -fields to the left as follows:\vspace{-6pt} -\begin{quote} -Name: \verb+Print+\\ -exe file: \verb+dvips+\\ -cmd-line: \verb+ -D600 %m -o vclw+\\ -Uncheck the box for ``DVIPS first'' -\end{quote}%\vspace{-12pt} -\item Click \textbf{OK} -\end{itemize} -\item Add Print to the toolbar: -\begin{itemize} -\item Go to \textbf{Options} \verb+->+ \textbf{View} \verb+->+ \textbf{Customize}. -\item In the Category box, select \textbf{User-Programs}. -\item Select \textbf{Print} and drag it to the toolbar, placing it just to - the right of the GSView icon. -\item You then have a choice of ``Image only'', ``Text only'', or ``Image and -Text''. The easiest is to select ``Text only'' and click \textbf{OK}. -You should then see \textbf{Print} on the toolbar. (If you prefer, you can -select ``Image only'', then ``Edit'', and edit the displayed picture to your -satisfaction.) -\end{itemize} -\end{enumerate} -Now, to print a \LaTeX\ document, just click on the \textbf{Print} icon to -send to your selected printer. To use a different printer, you will need to -click on the \textbf{Dvips} icon to print to a file. Then click on the -GSView icon and use GSView to send to any printer you have installed on -your PC. - -\subsubsection{Adding Ispell to \cmdname{WinShell}} -\label{winshell:ispell} -\begin{enumerate} -\item Add Ispell to User Tools: -\begin{itemize} -\item Open \cmdname{WinShell}, go to \textbf{Options} \verb+->+ -\textbf{Program Calls} \verb+->+ \textbf{User defined}. -\item In the list on the right, click on \textbf{Tool 1} (or \textbf{Tool - 2} if you have already used \textbf{Tool 1}) and fill in the -fields to the left as follows:\vspace{-6pt} -\begin{quote} -Name: \verb+Ispell+\\ -exe file: \verb+ispell+\\ -cmd-line: \verb+ -t -d american %c.tex+\\ -Uncheck the boxes for ``LaTeX first'' and ``DVIPS first'' -\end{quote}%\vspace{-12pt} -\item Click \textbf{OK} -\end{itemize} - -\item Add Ispell to the toolbar: %\vspace{-14pt} -\begin{itemize}\itemsep 0pt -\item Go to \textbf{Options} \verb+->+ \textbf{View} \verb+->+ \textbf{Customize}. -\item In the Category box, select \textbf{User-Programs}. -\item Select \textbf{Ispell} and drag it to the toolbar, placing it just to - the right of the GSView icon (or the last icon you added). -\item You then have a choice of ``Image only'', ``Text only'', or ``Image and -Text''. The easiest is to select ``Text only'' and click \textbf{OK}. -You should then see \textbf{Ispell} on the toolbar. (If you prefer, you can -select ``Image only'', then ``Edit'', and edit the displayed picture to your -satisfaction.) -\end{itemize} -\end{enumerate} -Now, when you have a \LaTeX\ document open, you can click on -\textbf{Ispell} to perform spell checking. Ispell will open another window -and display the first misspelled word on the left with the filename on the -right. Below that you will see the context in which the misspelling appears; -often several suggestions for replacements are also displayed. To replace -the word, enter the number corresponding to the desired replacement. Other -possible responses are listed below; for example, you can press the space -bar to ignore the misspelled word. For more information on Ispell, read the -manual page: \verb+C:\Program Files\TeXLive\texmf\doc\html\manpages\ispell.html+. - -Note that when you replace a word, you will not see the correction in your -\cmdname{WinShell} window until you close the file (click the X in the upper right -corner) and then open it again (use the File menu). - -\subsection{Tips and tricks about the Win32 platform} - -\subsubsection{Different flavors of Win32} - -What we call Win32 is not an operating system by itself. It is a set -of functions -- and a large one\footnote{Around 12000 functions in the - header files of the Microsoft SDK} -- that you can use to write -programs for different operating systems of the Windows family. - -Windows comes in different flavors: -\begin{itemize} -\item Win95, Win98 and WinME, which \emph{are not true multitasking, - multithreading} environments. They are the latest -- and hopefully - last -- metamorphosis of DOS. This can be more or less proven by the - fact that when booting, the PC will load the \path|command.com| - interpreter, and if you stop the boot process at this point, you can - ask for the current (DOS) version and it will answer something like - 'MS-DOS 7.0' (at least for the old versions of Win9x); -\item Windows NT, which is a new operating system written from scratch, - capable of - true multitasking behaviour, and loaded with high level features; -\item Windows 2K, written on an NT basis, with all the bells and - whistles of Win98. -\item Windows XP, which comes with Personal and Pro flavors. This is - the last step in merging both lines of products (Win9x based and NT - based). XP is written on an NT basis. -\end{itemize} - -Win9x are able to run 32~bits programs and 16~bits programs -concurrently. But the operating system by itself is not entirely -written in 32~bits mode, and does not support memory protection: 16bits -applications can overwrite parts of the operating system memory! Some -parts of the system like the GDI (Graphical Device Interface) manage -limited resources like bitmaps, fonts, pens and so on for the set of -all programs that run concurrently. All the bitmaps headers available -at the same time can't amount for more than 64kb. This explains the -performance tool and the fact that you can put your system on his -knees by making intensive use of graphic objects for example. - -NT, 2K and XP do not suffer from these limitations, and neither from -other Win9x limitations. They are true multitasking environments, with -protected memory. They are much more responsive than Win9x because -of better memory management, better file system and so on. - -\subsubsection{Command line prompt} - -You will wonder: ``why would I need to use a command line prompt when -I have Windows?''. - -Good question. The problem is of very general nature. Not all -operations can be done easily using only a GUI. Command line gives you -programming power -- assuming a clever command interpreter. - -But the problem here is more fundamental: \TeX{} is \emph{a batch} -tool. Not an interactive one. \TeX{} needs to compute the best -layout for each page, resolve cross-references and so on. This can be -done only by a global processing of the document. It is not (yet) a -task that can be done interactively. - -This means that you should use \TeX{} from a command line. In fact the -situation is not so bad. There is an advantage to write command line -tools for complex processing: they are better debugged, because not -tied to GUI problems, and GUI tools can be designed to interface the -command line tools. This is the case for \TeX{} where you will -interact with it most of the time through a GUI text editor -- see -section~\ref{sec:winshell} for example. - -However, you may need to use the command line prompt in a number of -situations, by example in case of problems and you want to debug your -setup -- see - section~\ref{sec:troubleshooting}. - - \begin{description} - \item[Win9x] You will open a command line prompt by looking either - for the MS-DOS icon in the ``Start->Programs'' menu, either by - choosing ``Start->Run'' menu and typing in \path|command.com| - \item[NT, 2K, XP] You will open a command line prompt by looking - for the ``Command Prompt'' in the ``Start->Accessories'' - menu\footnote{These locations may change across different OS - versions.}. You can also choose the ``Start->Run'' menu and type - in \path|cmd.exe|, which is the name of the brand new command - interpreter for NT\footnote{Which explains why it is untrue to - call this a \emph{DOS} box under NT!}. -\end{description} - -\subsubsection{Path separators} - -The Win32 API understands both \path|/| and \path|\| characters as -PATH separators. But the command interpreters do not! So whenever a -path name is used programmatically, you can use both separators, and -even mix them up in the same path name. But on the command line, you -must type \path|\| as path separator. The reason is compatibility: -the command processor used the \path|/| to introduce arguments to -commands. - -All this to say: do not be surprised to read path names written using -the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible -across platforms. For this reason, all the configuration files that -need to specify path names use the Unix convention. - -\subsubsection{File systems} -\label{sec:clusters} - -The worse feature of Win9x with regard to \TeX{} is probably the -so-called FAT file system. \TeX{} uses many many small files, with -size around 1kb -- 3kb. The FAT file system is old, and predates by -far the multi-gigabytes hard disks we have today. It means it can't -manage efficiently the 30000 \TeX{} files found on the \CD{}. The FAT -file system will allocate a minimum of 32kb for \emph{any} file on a -huge partition. It means that \TeX{} will use much more disk space -than it actually needs. - -The other, more modern, file systems available -- namely FAT32 and -NTFS -- do not have this drawback. They manage clusters of 4kb -only\footnote{You can lower the limit to 512 bytes on NTFS}. - -\subsubsection{How to add some directory to your PATH} - -There are pairs of variables and values which behave much like global -variables inside your programs. The set of those variables is called the -environment. Each program is initialized with a copy of the -environment when it is run. It can request and change the -value of any variable. The changes happen in the copy of the -environment, and is not at all propagated to the other running -programs. - -Your PATH is a special environment variable used to search for -programs you want to run. -There is a different procedure to change it for Win9x, WinME and NT/2K/XP: - -\begin{description} -\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line - starting with \texttt{PATH=} and followed by a list of directories separated - by \path|;|. Please add the directory with the executables in this line. - After this, this line could look as follows: -\begin{verbatim} -PATH=c:\windows;c:\windows\system;c:\"Program Files"\TeXLive\bin\win32 -\end{verbatim} -\item[Windows ME] You need to run the special program - \path|c:\windows\system\msconfig.exe| to be able to change any - environment variable. From this program, select the `Environment' - tab, and then add or modify the variable you want. You will be asked to reboot the - machine upon any change. -\item[Windows NT/2K/XP] - Click left on \texttt{Start --> Settings --> Control Panel}. Now the window - with the control panel icons opens. Double click on System. The - System Properties window opens. Click on the tab - \textsf{Environment} or look for a button named `Environment - Variables' among the dialog boxes. Now - you can change the environment variables for your user account. Note: - There are also displayed the environment settings for the system. - Normally, you can't change the system variables unless you have - administrator rights on your machine. If you want to change the \texttt{PATH} - for all users, you will have to contact your system administrator or - be the system administrator yourself--in the later case you should - know what you are doing. - - If there is already a \texttt{PATH} setting for your user account, - left click on \texttt{PATH}. In the field \textsf{Variable} appears - \texttt{PATH} while the field Value shows the current setting of - \texttt{PATH} as a list of directories separated by \path|;|. Add - the directory where the executables are located (e.g. - \path|c:\Program Files\TeXLive\bin\win32|). If there isn't a \texttt{PATH} variable - for your user account, simply click in the field Variable and type - in \texttt{PATH}, click in the field \textsf{Value} - and type in the directory with the executables. Important: Click on - the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the - changes to \texttt{PATH} won't apply to your system. Be careful when - changing the environment settings. -\end{description} - -The best way to be sure that a variable has been properly set is to -open a console and type: -\begin{verbatim} -set VARIABLE -\end{verbatim} -which should return the corresponding value. - -\subsubsection{\TeX{} engines} - -If you have a look at the \Webc{} documentation, you will read that all -the various \TeX{} derived programs use the same base engine. For -example, \path|tex.exe| and \path|latex.exe| are exact copies of the -same program, but each one will use a different format file, based on -its calling name. - -Under Unix, this feature is implemented through \emph{symbolic - links}. It saves up a bit of disk space, because some engines are -used with many different format files. - -The Win32 API does not know about file links. So to save up almost -the same amount of memory, all the \TeX{} base engines have been put -in DLLs (\emph{Dynamic Linked Library}). This means that you will have -the following layout: -\begin{alltt} -13/05/2002 17:06 3 584 latex.exe -13/05/2002 17:06 266 240 tex.dll -13/05/2002 17:06 3 584 tex.exe -\end{alltt} -and the \path|latex.exe| file is nothing but a rough copy of -\path|tex.exe| using the same core \path|tex.dll|. -The same trick has been used for the \path|mktex*.exe| family of programs which are -linked to the \path|mktex.dll| library. - -In fact, a generic tool called \path|lnexe.exe| is provided to build the -equivalent of Unix hard links for executable files only under Win32. - -\subsection{In case of problems} -\label{sec:troubleshooting} - -\subsubsection{What to do if \texttt{latex} does not - find your files?} - -\begin{itemize} -\item \cmdname{kpsewhich} is the tool of choice to debug any -problem. Unfortunately, kpsewhich outputs debug information to -stderr, and the Windows console does not know how to redirect stderr -to a file\footnote{Well, NT and Win2k consoles know how to do - that. But the trick will work for any console.}. -For diagnostic purposes you can temporarily set an -environment variable (in DOS box): -\begin{verbatim} -SET KPATHSEA_DEBUG_OUTPUT=err.log -\end{verbatim} -You can also set the debug level: -\begin{verbatim} -SET KPATHSEA_DEBUG=-1 -\end{verbatim} - -If you want to redirect stderr to stdout, which is not possible under -either W9x or NT/2K/XP, then just do: -\begin{verbatim} -SET KPATHSEA_DEBUG_OUTPUT=con: -\end{verbatim} -This way you can capture both stdout and stderr in the same file. - -\item Assuming the installation has been done in \path|c:/Program Files/TeXLive|, check - the following values: \\ - {\small - \begin{tabular}{ll} - \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/Program Files/TeXLive| \\ - \path|kpsewhich -expand-path $TEXMF| & \path|c:/Program Files/TeXLive/texmf| \\ - \path|kpsewhich -expand-path $TEXMFCNF| & - \path|.;c:/Program Files/TeXLive/texmf/web2c;| \\ - & \path|c:/Program Files/TeXLive/bin/win32;| \\ - & \path|c:/Program Files/TeXLive/bin;| \\ - & \path|c:/Program Files/TeXLive| \\ - \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/Program Files/TeXLive/texmf/tex//| - \end{tabular} -} -\item If you have other \TeX{}-related values already set in your - environment, please, remove them. They are overriding the ones in - texmf.cnf. -\item Check the values from:\\ -{\small - \begin{tabular}{ll} - \texttt{kpsewhich cmr10.tfm} & \path|c:/Program Files/TeXLive/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ - \texttt{kpsewhich latex.fmt}& \path|c:/Program Files/TeXLive/texmf/web2c/latex.fmt| - \end{tabular} -} -\item At this point, if everything is correct, \path|tex.exe| and - co. should work. If it is not the case, you will need to play with - the \path|-debug=n| option from \path|kpsewhich|, and check back all - the values. Try to identify and report the problem. -\end{itemize} - -\subsubsection{What to do if your setup still does not work as expected?} - -There are several questions to ask about: -\begin{enumerate} -\item Is \file{tex.exe} on my \path|PATH|? -\item Is the \path|TEXMFCNF| variable correctly set to - \path|c:/Program Files/TeXLive/texmf-var/web2c| (default value)? -\item Are there any errors in the log file generated by the - \file{TeXSetup.exe} program? Errors are flagged with the sequence - \path|Error|. -% \item If everything seems correct up there, then you need to read the -% documentation in \path|texmf/doc/fptex/fptex.pdf| or -% \path|texmf/doc/html/fptex/fptex.html| for a more detailed procedure -% (available on your hard disk or on the \CD{}). -\item One can also go to \url{http://www.tug.org/tex-live.html} and - check for any bug fix. -\item The Windows distribution on the \CD{} is no more no less than - the \fpTeX{} distribution, so you can also go to the Web pages at - \url{http://www.fptex.org}, or consider subscribing to the \fpTeX{} - mailing-list by consulting - \url{http://www.tug.org/mailman/listinfo/fptex} . -\end{enumerate} - - -The \TeXLive{} software is complex and made of more than 250 programs -and around 40000 files from various sources. It is quite difficult to -predict all possible causes for problems. Nevertheless, we will do our -best to help you in every case. - - -\subsection{Compiling the source files} - -You have the whole set of source files, comprised for -Windows in the \path|source/source.tar.bz2| archive available on the -\CD{}. To be able to compile the whole distribution for Windows, you -will need: -\begin{itemize} -\item Windows 2K/XP -\item Microsoft Visual Studio .Net -\item a set of Unix tools (\texttt{sed}, - \texttt{grep}, \texttt{gawk}, etc.) and also Perl, Flex and Bison, -\item to adjust the paths in the - \path|win32/make/common.mak| file according to your installation -\item adjust the paths in the Perl script file - \path|win32/perl/build.pl|, -\item run the compilation from the \path|win32/| directory using this - command: -\begin{verbatim} -c:\texlive\source\win32>perl ./perl/build.pl --install --log=install.log -\end{verbatim} -\end{itemize} - -There is a lot of work to do to make this process easier and cleaner. - -\subsection{Where to get more information?} - -The Win32 \TeX{} distribution on the \CD{} is also known as -\fpTeX. Only the packaging differs, but \fpTeX{} is no more no less -than the current \TeXLive\ release for Windows. - -The \fpTeX home on the Web is at:\\ -\url{http://www.fptex.org/} - -The current \fpTeX release is available from any -\href{http://www.ctan.org}{CTAN} %(see also the section -%\ref{sec:ctan}) -site in the directory~:\\ -\noindent\url{ftp://ctan.tug.org/tex-archive/systems/win32/fptex/}. - -The main ftp site for \fpTeX\ is \url{ftp://ftp.dante.de/pub/fptex/} from -where beta versions of \fpTeX\ and additionnal tools are available. -This main site is (partially) mirrored daily by the CTAN backbones in their -\path|systems/win32/fptex| directory. - -% You can reach me at my email address: -% \url{mailto:Fabrice.Popineau@supelec.fr}. - -The \TeX{} Users Group is kindly hosting a mailing-list dedicated to -\fpTeX. This is a very low volume one. It is used for announcements, -bugs reports or as well to discuss about improvements or various users -problems. To subscribe, read the page at -\url{http://www.tug.org/mailman/listinfo/fptex}. The mailing list -address is \EmailURL{fptex@tug.org}. - -\section{Building on a new Unix platform} -If you have a platform for which we have not provided binary sources, -you will need to compile \TeX{} and friends from scratch. This is not -as hard as it sounds. What you need is all in the directory -\texttt{source} on the \CD{}. - -You should first install the support tree from the \TeXLive{} \CD{} (do -a basic install, with no system binaries chosen). - -\subsection{Prerequisites} -You will need about 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. The \acro{GNU} utilities (\cmdname{gcc}, \acro{GNU} -\cmdname{make}, \cmdname{m4}, \cmdname{flex}, \cmdname{bison}) are the -most widely tested on different platforms. \cmdname{gcc}-2.7.* -\cmdname{flex}-2.4.7 and \acro{GNU}\,\cmdname{make}-3.72.1 or newer -should work well. 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. The command -\texttt{uname} must return a sensible value. - - - -\subsection{Configuration} -First, 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. Decide where the `root' of the -installation will be, e.g.\ \path|/usr/local| or -\path|/usr/local/TeX|. Obviously you should use the same location -that you specified when you installed the support tree. - -Now, start the build process by running \textsf{configure} with -a command-line like -\begin{alltt} ->> \Ucom{./configure -prefix=/usr/local/TeX} -\end{alltt} - -The `prefix' directory is the one where you installed the support -tree; the directory layout that will be used is as follows (where -\$TEXDIR stands for the directory you chose): - -\noindent -\begin{tabular}{>{\ttfamily}ll@{}} - \dirname{$TEXDIR/man} & Unix manual pages\\ - \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ - & \qquad macros, etc\\ - \dirname{$TEXDIR/info} & \acro{GNU} style info manuals\\ - \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ -\end{tabular} -%$ - -You can omit the use of `\dirname{share/}' part for the -\dirname{texmf} directory if you want, as -\dirname{$TEXDIR/share/texmf} and \dirname{$TEXDIR/texmf} are -auto-detected by configure. If you choose something different, you -have to specify that directory with the \verb|--datadir| option of -\textsf{configure}. - - -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 for \textsf{configure}. - - -Have a look at the output of \texttt{./configure --help} for more -options you can use (such as omitting optional packages such as \OMEGA\ -or \eTeX). - -\subsection{Running \textsf{make}} -Make sure the shell variable \texttt{noclobber} is not set, and -then type -\begin{alltt} ->> \Ucom{make world} -\end{alltt} -and relax\ldots. - -It could also be useful to log all the output, e.g.\ by -typing -\begin{alltt} ->> \Ucom{sh -c "make world >world.log 2>\&1" \&} -\end{alltt} -Before you think that everything is ok, please check the log file for -errors (\acro{GNU} \cmdname{make} always uses the string -``\texttt{Error:}'' whenever a command returns an error code) and -check if all binaries are built: -\begin{alltt} ->> \Ucom{cd /usr/local/TeX/bin/i686-pc-linux-gnu} ->> \Ucom{ls | wc} -\end{alltt} -The result should be 209. - -If you need special privileges for \texttt{make install}, you can -run two \cmdname{make} jobs in separate runs: -\begin{alltt} ->> \Ucom{make all} ->> \Ucom{su} ->> \Ucom{make install strip} -\end{alltt} - -\subsection{Final configuration steps} -Set up your \envname{PATH} to include the directory containing the -just-installed binaries (e.g.\ -\dirname{/usr/local/TeX/bin/mips-sgi-irix6.5}); similarly, -\envname{MANPATH} and \envname{INFOPATH} to include the relevant newly -installed subdirectories, i.e.\ \dirname{$TEXDIR/man} and -\dirname{$TEXDIR/info}. - -The program \textsf{texconfig} allows you to set the defaults for -hyphenation, paper size, print command, \MF{} mode, etc. You can -run this command interactively and see what options it offers, or type -\begin{alltt} ->> \Ucom{texconfig help} -\end{alltt} - -For example, if you are not using A4 format paper, you can make -`lettersize' the default using: -\begin{alltt} ->> \Ucom{texconfig dvips paper letter} ->> \Ucom{texconfig xdvi paper us} -\end{alltt} - -\section{A user's guide to the \protect\Webc{} system} - -%-------------------------------------------------------- - -\Webc{} contains a set of \TeX-related programs, i.e., \TeX{} itself, -\MF{}, \MP, \BibTeX{}, etc. The original implementation was by Tomas -Rokicki who, in 1987, developed a first \TeX{}-to-C system adapting -change files under Unix, which were primarily the 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. The -latest result is \Webc{} Version 7.3, which was released in March -1999. Our version has some updates for the forthcoming new release, -and identifies itself as 7.3.7 - -The \Webc{} 7.3 system runs on Unix, Windows 3.1, 9x/ME/\acro{NT}/\acro{2K}/\acro{XP}, -\acro{DOS}, and other operating systems. It uses Knuth's -original sources for \TeX{} and other basic programs written in \web{} -and translates them into C source code. Moreover, the system offers a -large set of macros and functions developed to augment the original -\TeX{} software. The core \TeX{} family components are: - -\begin{description} -\renewcommand{\makelabel}[1]{\descriptionlabel{\mdseries\cmdname{#1}}} -\item[bibtex] Maintaining bibliographies. -\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). -\item[dvicopy] Produces modified copy of \dvi{} file. -\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[makempx] \MP{} label typesetting. -\item[mf] Creating typeface families. -\item[mft] Prettyprinting \MF{} source. -\item[mpost] Creating technical diagrams. -\item[mpto] MetaPost label extraction. -\item[newer] Compare modification times. -\item[patgen] Creating hyphenation patterns. -\item[pktogf] Packed to generic fonts. -\item[pktype] PK to human-readable text. -\item[pltotf] Property list to TFM. -\item[pooltype] Display \web{} pool files. -\item[tangle] \web{} to Pascal. -\item[tex] Typesetting. -\item[tftopl] TFM to property list. -\item[vftovp] Virtual font to virtual property list -\item[vptovf] Virtual property list to virtual font. -\item[weave] \web{} to \TeX. -\end{description} -\noindent The precise functions and syntax of these programs are described in -the documentation of the individual packages or of \Webc{} itself. -However, knowing a few principles governing the whole family of -programs will help you to benefit optimally from your \Webc{} -installation. - -All programs honor the standard \acro{GNU} options: -\begin{description} -\item[\texttt{-{}-help\ \ \ }] print basic usage summary. -\item[\texttt{-{}-verbose}] print detailed progress report. -\item[\texttt{-{}-version}] print version information, then exit. -\end{description} - -For locating files the \Webc{} programs use the path searching library -\KPS{}. This library uses a combination of environment variables and a -few configuration files to optimize searching the \TeX{} directory -tree. \Webc{} can handle more than one directory tree -simultaneously, which is useful if one wants to maintain \TeX's -standard distribution and local extensions in two 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 ``hanging'' under that root. - -\subsection{\protect\KPS\ path searching} - -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{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{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 - ``\texttt{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{Debugging}). - -\subsubsection{Config files} - -\tolerance=3500 -\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} (by default such a file lives -in the \file{texmf/web2c} subdirectory). \emph{All} -\file{texmf.cnf} files in the search path will be read and definitions -in earlier files override those in later files. Thus, with a search -path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those -from \verb|$TEXMF/texmf.cnf|. - -\tolerance=1500 - -While reading the description of the format of the file -\file{texmf.cnf} below, please also refer to -appendix~\ref{app:texmf.cnf}, starting on -page~\pageref{app:texmf.cnf}, which lists the \file{texmf.cnf} file on -the \CD. - -\begin{itemize} -\item - Comments start with ``\texttt{\%}'' 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} - \emph{variable}[.\emph{progname}] [=] \emph{value} -\end{alltt}% - where the \samp{=} and surrounding whitespace are optional. -\item - The ``\texttt{\var{variable}}'' name may contain any character other - than whitespace, \samp{=}, or \samp{.}, but sticking to - \samp{A-Za-z\_} is safest. -\item - If ``\texttt{.\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 ``\texttt{\var{value}}'' may contain any characters except - ``\texttt{\%}'' and \samp{@}. The - ``\texttt{\$\var{var}.\var{prog}}'' feature is not available on the - right-hand side; instead, you must use an additional variable. A - \samp{;}\ in ``\texttt{\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, MSDOS 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{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{Default-expansion} - -\tolerance=2500 -If the highest-priority search path (see ``Path sources'' on -page~\pageref{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 - -\tolerance=1500 - -\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 can be used to implement multiple \TeX{} hierarchies, by -assigning a brace list to \code{\$TEXMF}. -For example, in \file{texmf.cnf}, you find -the following definition: -\begin{verbatim} - TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$VARTEXMF,!!$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{\$HOMETEXMF/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$VARTEXMF/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{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 summarises the meaning of special characters -in \KPS{} configuration files. - -\newcommand{\CODE}[1]{\makebox[2.2em][l]{\code{#1}}} -\begin{description} -\item[\CODE{:}] Separator in path specification; at the beginning or - the end of a path it substitutes the default path expansion. -\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`\{\dots\char`\}}] Brace expansion, e.g., - \verb+a{1,2}b+ will become \verb+a1b:a2b+. -\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{description} - - -\subsection{Filename databases} -\label{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 -``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 -adapt to DOS-like ``8.3'' filename conventions in source files. - -\subsubsection{The filename database} -\label{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); most sites have only one hierarchy. \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} && ls -LAR ./ >ls-R -\end{alltt} -presuming your system's \code{ls} produces the right output format -(\acro{GNU}'s \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 for changes in the installed files\Dash perhaps after installing or -updating a \LaTeX{} package\Dash the file \file{ls-R} is automatically -updated. - -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{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 ``\texttt{\var{option}}'' can 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 more important options are described next. - -\begin{description} -\item[\texttt{-{}-dpi=\var{num}}]\mbox{} - Set the resolution to ``\texttt{\var{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 ``\texttt{\var{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 - found in the first column of Table~\ref{TABKpathsea}, which lists - currently recognized names, a description, - associated environment variables%, - \footnote{You can find definitions for these environment variables - in the file \file{texmf.cnf} (page~\pageref{app:texmf.cnf})}, and - possible file extensions. -\end{description} - - -\def\KpathKey#1#2#3#4#5{% name, number, description, variables, - % suffixes -\SetRowColor#1 & #3 & #4 & #5\\} -\def\HEAD#1{\multicolumn{1}{l}{\emph{#1}}} -% -\begin{small} -% a footnoterule immediately under a bottom-of-page rule looks dead -% silly, so we suppress it -\renewcommand\footnoterule{\relax} -% -\begin{longtable}{@{}% - >{\ttfamily}P{.16\textwidth}% Col.1 - P{.3\textwidth}% Col 2 - >{\ttfamily\footnotesize}P{.29\textwidth}% Col 3 - >{\ttfamily}P{.14\textwidth}% Col 4 -@{}} -\caption{Kpathsea file types}\label{TABKpathsea}\\ -\emph{Name} & \HEAD{Description} & \HEAD{Variables} -& \HEAD{Suffixes}\\ -\hline -\endfirsthead -\multicolumn{3}{l}{Kpathsea file types \emph{continued}}\\ -\emph{Name} & \HEAD{Description} & \HEAD{Variables} -& \HEAD{Suffixes}\\ -\hline -\noalign{\vspace{2pt}} -\endhead -\mbox{}\\ -\hline -\endfoot -\KpathKey - {afm} - {4} - {Adobe font metrics} - {AFMFONTS} - {.afm} -\KpathKey - {base} - {5} - {Metafont memory dump} - {MFBASES, TEXMFINI} - {.base} -\KpathKey - {bib} - {6} - {\BibTeX{} bibliography source} - {BIBINPUTS, TEXBIB} - {.bib} -\KpathKey - {} - {2} - {bitmap fonts} - {GLYPHFONTS, TEXFONTS} - {} -\KpathKey - {bst} - {7} - {\BibTeX{} style files} - {BSTINPUTS} - {.bst} -\KpathKey - {cnf} - {8} - {Runtime configuration files} - {TEXMFCNF} - {.cnf} -\KpathKey - {dvips config} - {34} - {\textsf{dvips} configuration files, e.g., \file{config.ps} - and \file{psfonts.map}} - {TEXCONFIG} - {.map} -\KpathKey - {fmt} - {10} - {\TeX{} memory dump} - {TEXFORMATS, TEXMFINI} - {.fmt, .efmt, .efm} -\KpathKey - {gf} - {0} - {generic font bitmap} - {GFFONTS} - {.gf} -\KpathKey - {graphic/figure} - {25} - {Encapsulated PostScript figures} - {TEXPICTS, TEXINPUTS} - {.eps, .epsi} -\KpathKey - {ist} - {35} - {\textsf{makeindex} style files} - {TEXINDEXSTYLE, INDEXSTYLE} - {.ist} -\KpathKey - {ls-R} - {9} - {Filename databases} - {TEXMFDBS} - {} -\KpathKey - {map} - {11} - {Fontmaps} - {TEXFONTMAPS} - {.map} -\KpathKey - {mem} - {12} - {MetaPost memory dump} - {MPMEMS, TEXMFINI} - {.mem} -\KpathKey - {mf} - {13} - {Metafont source} - {MFINPUTS} - {.mf} -\KpathKey - {mfpool} - {14} - {Metafont program strings} - {MFPOOL, TEXMFINI} - {.pool} -\KpathKey - {mft} - {15} - {MFT style file} - {MFTINPUTS} - {.mft} -\KpathKey - {} - {41} - {miscellaneous fonts} - {MISCFONTS} - {} -\KpathKey - {mp} - {16} - {MetaPost source} - {MPINPUTS} - {.mp} -\KpathKey - {mppool} - {17} - {MetaPost program strings} - {MPPOOL, TEXMFINI} - {.pool} -\KpathKey - {MetaPost support} - {18} - {MetaPost support files, used by DMP} - {MPSUPPORT} - {} -\KpathKey - {ocp} - {19} - {\OMEGA{} compiled process files} - {OCPINPUTS} - {.ocp} -\KpathKey - {ofm} - {20} - {\OMEGA{} font metrics} - {OFMFONTS, TEXFONTS} - {.ofm, .tfm} -\KpathKey - {opl} - {21} - {\OMEGA{} property lists} - {OPLFONTS, TEXFONTS} - {.opl} -\KpathKey - {otp} - {22} - {\OMEGA{} translation process files} - {OTPINPUTS} - {.otp} -\KpathKey - {ovf} - {23} - {\OMEGA{} virtual fonts} - {OVFFONTS, TEXFONTS} - {.ovf} -\KpathKey - {ovp} - {24} - {\OMEGA{} virtual property lists} - {OVPFONTS, TEXFONTS} - {.ovp} -\KpathKey - {pk} - {1} - {packed bitmap fonts} - {\emph{program}FONTS \textrm{(\texttt{\emph{program}} being - \textsmaller{\cmdname{XDVI}}, - etc.)}, PKFONTS, TEXPKS, GLYPHFONTS, TEXFONTS} - {.pk} -\KpathKey - {PostScript header} - {30} - {downloadable PostScript} - {TEXPSHEADERS, PSHEADERS} - {.pro, .enc} -\KpathKey - {tex} - {26} - {\TeX{} source} - {TEXINPUTS} - {.tex, .cls, .sty, .clo, .def} -\KpathKey - {TeX system documentation} - {27} - {Documentation files for the \TeX{} system} - {TEXDOCS} - {} -\KpathKey - {TeX system sources} - {29} - {Source files for the \TeX{} system} - {TEXSOURCES} - {} -\KpathKey - {texpool} - {28} - {\TeX{} program strings} - {TEXPOOL, TEXMFINI} - {.pool} -\KpathKey - {tfm} - {3} - {\TeX{} font metrics} - {TFMFONTS, TEXFONTS} - {.tfm} -\KpathKey - {Troff fonts} - {31} - {Troff fonts, used by DMP} - {TRFONTS} - {} -\KpathKey - {truetype fonts} - {36} - {TrueType outline fonts} - {TTFONTS} - {.ttf, .ttc} -\KpathKey - {type1 fonts} - {32} - {Type 1 PostScript outline fonts} - {T1FONTS, T1INPUTS, TEXPSHEADERS, DVIPSHEADERS} - {.pfa, .pfb} -\KpathKey - {type42 fonts} - {37} - {Type 42 PostScript outline fonts} - {T42FONTS} - {} -\KpathKey - {vf} - {33} - {virtual fonts} - {VFFONTS, TEXFONTS} - {.vf} -\KpathKey - {web2c files} - {38} - {\Webc{} support files} - {WEB2C} - {} -\KpathKey - {other text files} - {39} - {text files used by `\textsf{foo}'} - {FOOINPUTS} - {} -\KpathKey - {other binary files} - {40} - {binary files used by `\textsf{foo}'} - {FOOINPUTS} - {} -\end{longtable} -\end{small} - - -\begin{multicols}{2} - -\begin{description} -\item[] The last two entries in Table~\ref{TABKpathsea} are special - cases, where the paths and environment variables depend on the name - of the program: the variable name is constructed by converting the - program name to upper case, and then appending \texttt{INPUTS}. - - The environment variables are set by default in the configuration - file \file{texmf.cnf}. It is only when you want to override one or - more of the values specified in that file that you might want to set - them explicitly in your execution environment. - - Note that the \samp{-{}-format} and \samp{-{}-path} options are mutually - exclusive. -\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ - Set the mode name to ``\texttt{\var{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 ``\texttt{\var{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{prognam}}'' - feature in configuration files. - The default is \samp{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 (\samp{.pk}, \samp{.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{description} - - -\subsubsection{Examples of use} -\label{SExamplesofuse} - -Let us now have a look at \KPS{} in action. - -\begin{alltt} ->> \Ucom{kpsewhich article.cls} -/usr/local/texmf/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 ``tex'' (\TeX{} source file directories). We find it in -the subdirectory \file{tex/latex/base} below the \samp{TEXMF} root -directory. Similarly, all of the following are found without problems -thanks to their unambiguous suffix. -\begin{alltt} ->> \Ucom{kpsewhich array.sty} - /usr/local/texmf/tex/latex/tools/array.sty ->> \Ucom{kpsewhich latin1.def} - /usr/local/texmf/tex/latex/base/latin1.def ->> \Ucom{kpsewhich size10.clo} - /usr/local/texmf/tex/latex/base/size10.clo ->> \Ucom{kpsewhich small2e.tex} - /usr/local/texmf/tex/latex/base/small2e.tex ->> \Ucom{kpsewhich tugboat.bib} - /usr/local/texmf/bibtex/bib/beebe/tugboat.bib -\end{alltt} - -The latter 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 on our system (since we use the Type1 versions on the \CD{}). -\begin{alltt} ->> \Ucom{kpsewhich ecrm1000.pk} -\ifSingleColumn /usr/local/texmf/fonts/pk/ljfour/jknappen/ec/ecrm1000.600pk -\else -/usr/local/texmf/fonts/pk/ljfour/jknappen/ -... ec/ecrm1000.600pk -\fi\end{alltt} -For the extended Computer Modern files 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 ecrm1000.pk} -\end{alltt} -In this case, when specifying that we are interested in a resolution -of 300dpi (\texttt{-dpi=300}) we see that no such font is available on -the system. In fact, a program like \cmdname{dvips} or \cmdname{xdvi} would -go off and actually build the \texttt{.pk} files at the required -resolution 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 -prolog \file{tex.pro} for \TeX{} support, before turning our attention -to the generic configuration file (\file{config.ps}) and the -PostScript font map \file{psfonts.map}. As the \samp{.ps} suffix is -ambiguous we have to specify explicitly which type we are considering -(``\texttt{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/config/config.ps ->> \Ucom{kpsewhich psfonts.map} - /usr/local/texmf/dvips/base/psfonts.map -\end{alltt} - -We now take a closer look at the URW Times PostScript support files. -The name for these in Berry's font naming scheme is ``\texttt{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/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 --format="dvips config" utm.map} - /usr/local/texmf/dvips/psnfss/utm.map -\end{alltt} -This map file defines the file names of the Type1 PostScript fonts in -the URW collection. Its contents look like (we only show part of the -lines): -\begin{alltt} - utmb8r NimbusRomNo9L-Medi ... > \Ucom{kpsewhich utmr8a.pfb} -\ifSingleColumn /usr/local/texmf/fonts/type1/urw/utm/utmr8a.pfb -\else /usr/local/texmf/fonts/type1/ -... urw/utm/utmr8a.pfb -\fi\end{alltt} - -It should be evident from these few 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{Debugging} - -Sometimes it is necessary to investigate how a program resolves -file references. To make this feasible in a convenient way \KPS{} -offers various debug levels: -\begin{itemize} -\item[\texttt{\ 1}] \texttt{stat} calls (file tests). When running - with an up-to-date \file{ls-R} database this should almost give no - output. -\item[\texttt{\ 2}] References to hash tables (like \file{ls-R} - database, 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. -\end{itemize} -A value of \texttt{-1} will set all the above options; in practice you -will probably always use these levels if you need any debugging. - -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 -how \cmdname{dvips} prepares the PostScript file (we want to use the Type1 -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/html/dvips/dvips_toc.html}). -%\ifSingleColumn -%We get something -%like the following (we have rearranged the output for easier display): -%\begin{alltt}\small -%\input{../examples/ex6.tex} -%\end{alltt} -%\else -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 PostScript 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{}, PostScript 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 PostScript fonts; see the last part of -Section \ref{SExamplesofuse} for more details about PostScript map -file handling). - -At this point \cmdname{dvips} identifies itself to the user\ldots -\begin{alltt}\ifSingleColumn -This is dvips 5.78 Copyright 1998 Radical Eye Software (www.radicaleye.com) -\else\small{}This is dvips 5.78 Copyright 1998 Radical Eye... -\fi\end{alltt}% decided to accept slight overrun in tub case -\ifSingleColumn -\ldots and then 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 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 -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'': -\begin{alltt}\small -TeX output 1998.02.26:1204' -> hello-world.ps -Defining font () cmr10 at 10.0pt -Font 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 Type1 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, - ... - -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 -[1] -\end{alltt} - -\subsection{Runtime options} - -Another of the nice features 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 listing of -\file{texmf.cnf} is shown in Appendix~\ref{app:texmf.cnf}, starting on -page~\pageref{app:texmf.cnf}; the settings of all parameters can be -found in Part 3 of that file. The more important control variables are: -\begin{description} -\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} (compare the generic value - and the ``huge'' one instantiated by \texttt{hugetex}, - etc.). -\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 TFM files read. -\item[\texttt{hash\_extra}] - Additional space for the hash table of control sequence names. - Approximately 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. You can see that both the - \cmdname{hugetex} and \cmdname{pdflatex} program invocations ask for - an extra 15,000 control sequences (the default value of - \texttt{hash\_extra} is zero). -\end{description} -Of course, this facility is no substitute for truly dynamic arrays and -memory allocation, but since this is extremely difficult to implement -in present \TeX, these runtime parameters provide a practical compromise -allowing some flexibility. - -%-------------------------------------------------------- - - -\section{Acknowledgements}\label{sec:acknowl} -This edition of TeXLive is edited by Sebastian Rahtz, with the -major contributors being Fabrice Popineau, who has worked away -unceasingly at the Win32 part of the package (especially the setup!) -and contributed in many different ways with ideas, advice and code; -and Staszek Wawrykiewicz, who provided great checking feedback, and -co-ordinated the Polish contributions. Kaja Christiansen performed a -vital role in endless recompilations on assorted Unix platforms, and -Robin Laakso coordinated production for TUG. Vladimir Volovich -did great work on cleaning the source and making other improvements, -while Gerben Wierda did all the work for MacOSX. - -We are very grateful for past and present help from -\begin{itemize} -\item The German-speaking \TeX{} Users (DANTE e.V.), who provided a machine - on which the master of the CD-ROM is developed and maintained; and Rainer -Sch\"opf and Reinhard Zierke who look after it; -\item The Perforce company, for providing a free copy of their -excellent change management system, which we have used to - manage the CD-ROM -contents; -\item Karl Berry, who provided the original \Webc{} distribution, and - has continued to give invaluable advice, encouragement, and help; -\item Mimi Burbank, who arranged access - at the Florida State University School of Computational Science - and Information Technology - to a slew of different - computers to compile \TeX{} on, and acted as an essential guinea-pig - whenever asked; -\item Kaja Christiansen, who provided essential feedback, compilation, and - documentation preparation; -\item Thomas Esser, without whose marvellous \teTeX{} package this - \CD{} would certainly not exist, and whose continual help makes it a - better product; -\item Michel Goossens, who co-authored the documentation; -\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} - version of this documentation, and who worked tirelessly to improve - it at short notice; -\item Art Ogawa and Pat Monohon, who coordinated releases for TUG; -\item Petr Olsak, who coordinated and checked all the Czech/Slovak - material very carefully; -\item Olaf Weber, for his patient assembly and maintenance of Web2c; -\item Graham Williams, on whose work the catalogue of packages depends. -\end{itemize} - -Gerhard Wilhelms, Volker Schaa, Fabrice Popineau, Janka -Chleb\'\i{}kov\'a, Staszek Wawrykiewicz, Erik Frambach, and Ulrik -Vieth kindly translated documentation at various times into their -respective languages, checked other documentation, and provided very -welcome feedback. - - -\section{History} - -This \CD{} distribution is a joint effort by many \TeX{} Users -Groups, including those from Germany, the Netherlands, the UK, France, -the Czech Republic/Slovakia, India, Poland and Russia, as well as -the international TUG. -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 far too ambitious a target, 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}, which specified how to create consistent and manageable -collections of \TeX{} support files. The final 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 \CD{} 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 \TeXLive. - -We 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 his \Webc{} package, 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 \TeXLive{} shares almost all of its features. The 4th edition -followed the same pattern, using a new version of te\TeX, 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 on this \CD{} should 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 a lot 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 as a major addition a setup -for MacOSX, 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. - -\section{Future versions} - -\emph{This \CD{} is not a perfect product!} We plan to re-issue it -once a year, and would like to provide more help material, more -utilities, more installation programs, and (of course) an -ever-improved and checked tree of macros and fonts. This work is all -done by hard-pressed volunteers in their limited spare time, and a -great deal remains to be done. If you can help, don't hesitate to put -your name forward! - -Corrections, suggestions and additions for future revisions -should be sent to:\hfill\null -\begin{quote} -Sebastian Rahtz\\ -{}7 Stratfield Road\\ -Oxford OX2 7BG\\ -United Kingdom\\ -\EmailURL{rahtz@tug.org} -\end{quote} - - -Updates, notes, and suggestions will be made available on \CTAN{} -in \path|info/texlive|. A \acro{WWW} page for -information and ordering details is at -\url{http://www.tug.org/tex-live.html}. - -\end{multicols} - -\Section{The texmf.cnf file} -\label{app:texmf.cnf} -\begin{small} -\listinginput{1}{../examples/texmf.cnf} -\end{small} - -\end{document} - - - -Notes on Nicolle Zellner's problems: ------------------------------------- -- autoexec.bat gave error, ``too many parameters''. -fix: in setvars.bat file, put "" around %PATH% to take care of spaces. - -- ``out of environment space'' when rebooting meant that autoexec.bat was -not executing properly-- path and texmfhome variable were not being set. -fix: put in config.sys file the line: shell=c:\command.com /e:1024 /p -(and reboot probably) - -[Note: alternative advice written by Pat: - The environment space is an area of memory in which the OS stores - variables such as path. To increase the memory size do the following: - - Open a MS-DOS window. Click on the Properties icon (looks like a hand - holding a sheet of paper). Click on the Memory tab in the Properties - window. Change the value under Initial Environment: to 4096. Apply the - properties. Click OK on the warning about needing to restart your computer. - The new environment memory will be in effect after the reboot.] - -- windvi did not retain settings. -fix: in setvars.bat file, add command: set Home=c:\Home and also create -the directory c:\Home. -copy windvi.cnf to c:\Home\ -reboot - --ispell doesn't work (can't write to c:\tmp, can't create dictionary) -In addition to the the c:\Home addition above, create the folder: -d:\tmp\ (d: is where the files are that she is using.) -Now ispell should work from the command line. -Still can't get it to work from within \cmdname{WinShell}. (change cmd line to %c.tex, -it was reading the project main file) - - - -Notes on installing WinEdt: ---------------------------- -If you choose to install WinEdt, you will be asked for a folder name: any -folder name will do, as this is for temporary storage. An acceptable -choice is \verb+C:\Winedt+. Click \textbf{unzip}, then \textbf{OK}, -and finally \textbf{Close}. ---- - -later, to complete WinEdt installation: - -Run "winedt5.exe" and complete the setup procedure. - -Get from ftp://ftp.dante.de/pub/fptex/supplementary/ -30/08/2000 20:17 70 844 winedt5-cnf.zip -10/09/2000 10:43 839 086 winedt5-patch4.zip - -then unpack (use unzip or winzip with subdir creation enabled, NOT pkunzkip) - "winedt5-patch4.zip" inside the "c:\program files\winedt" directory -then at last unpack "winedt5-cnf.zip". - -When this is done, go inside the 'Options->Configurations' menu, -choose the "fpTeX Direct" option. - -If windvi previewer doesn't work, go to options->menu setup-> accessories -and change the Menu Setup so the call for DVI Preview is analogous to -the call for Dvips-- i.e., don't use "DVIVIEW" in the command line, -but rather fptex-bin and dviwin.exe. - - diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/live4ht.cfg-2004 b/Master/texmf/doc/texlive/source/texlive-en/archive/live4ht.cfg-2004 deleted file mode 100644 index 8700827d62a..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/live4ht.cfg-2004 +++ /dev/null @@ -1,36 +0,0 @@ -% $Id$ -% tex4ht configuration file for the TeX Live documentation. -% -% The 2 means to separate output files for only the top sectioning levels. -% xhtml specifies the main output format. -% info for extra debugging info in the log files. -% Without the \begin{document}, LaTeX complains that it is missing. -% -\Preamble{2,xhtml,info} \begin{document} \EndPreamble - -% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht -% actually does the lowered E (and raised A) in CSS. -\def\OMEGA{Omega} -\def\LaTeXe{LaTeX2e} -\def\eTeX{e-\TeX} -\def\acro#1{#1} -\def\MF{Metafont} -\def\BibTeX{BibTeX} -\def\warningbox{} -\def\endwarningbox{} - -\newif\ifhackliterals -\ifx\tldocenglish\undefined \else \hackliteralstrue \fi -\ifx\tldocrussian\undefined \else \hackliteralstrue \fi -\ifx\tldocgerman\undefined \else \hackliteralstrue \fi -% -\ifhackliterals - % these definitions cause "missing } inserted" at \end{tabularx} in - % French and Czech. don't know why. - % - % don't make these into links, as happens with \path. We only have a couple - % special characters that actually occur. - \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} - \def\finishliteral#1{#1\egroup} - \let\filename=\dirname -\fi diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/mod.pl b/Master/texmf/doc/texlive/source/texlive-en/archive/mod.pl deleted file mode 100644 index 4f8df5df762..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/mod.pl +++ /dev/null @@ -1,976 +0,0 @@ - -$M{"a0poster"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; -$M{"a4"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"a4wide"}="18 May 1996 11:33:54 Graham.Williams\@cmis.csiro.au"; -$M{"a5"}="19 Apr 1998 15:19:21 Graham.Williams\@cmis.csiro.au"; -$M{"a5comb"}="19 Apr 1998 15:19:21 Graham.Williams\@cmis.csiro.au"; -$M{"aaai"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; -$M{"abc2mtex"}="27 Nov 1996 13:50:01 Graham.Williams\@cmis.csiro.au"; -$M{"abstbook"}="5 Mar 1997 16:28:20 Graham.Williams\@cmis.csiro.au"; -$M{"abstyles"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"accents"}="25 Feb 1999 09:06:12 Graham.Williams\@cmis.csiro.au"; -$M{"accfonts"}="30 Jan 1999 06:16:19 Graham.Williams\@cmis.csiro.au"; -$M{"achemso"}="8 Jul 1998 08:11:28 Graham.Williams\@cmis.csiro.au"; -$M{"acronym"}="17 Nov 1997 09:21:35 Graham.Williams\@cmis.csiro.au"; -$M{"acroread"}="20 May 1997 18:04:58 Graham.Williams\@cmis.csiro.au"; -$M{"acrotex"}="2 Dec 1998 09:52:54 Graham.Williams\@cmis.csiro.au"; -$M{"adfathesis"}="23 Feb 1999 16:11:03 Graham.Williams\@cmis.csiro.au"; -$M{"adobe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"adobeother"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"adobestd"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"adrlist"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"advdate"}="5 Mar 1997 11:25:37 Graham.Williams\@cmis.csiro.au"; -$M{"ae"}="5 Dec 1998 08:56:53 Graham.Williams\@cmis.csiro.au"; -$M{"afterpage"}="13 Aug 1998 05:36:56 Graham.Williams\@cmis.csiro.au"; -$M{"afthesis"}="15 Dec 1996 19:08:54 Graham.Williams\@cmis.csiro.au"; -$M{"aguplus"}="16 Sep 1998 06:02:47 Graham.Williams\@cmis.csiro.au"; -$M{"aiaa"}="24 Feb 1999 09:15:44 Graham.Williams\@cmis.csiro.au"; -$M{"akletter"}="1 Jun 1998 12:04:46 Graham.Williams\@cmis.csiro.au"; -$M{"alatex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"alg"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"algorithms"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"alltt"}="28 May 1996 16:23:49 Graham.Williams\@cmis.csiro.au"; -$M{"alphanum"}="10 Mar 1998 06:11:22 Graham.Williams\@cmis.csiro.au"; -$M{"altfont"}="1 Jul 1996 21:06:06 Graham.Williams\@cmis.csiro.au"; -$M{"altfont"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"amiweb2c"}="25 Mar 1998 09:12:31 Graham.Williams\@cmis.csiro.au"; -$M{"amsbsy"}="18 Jun 1997 19:16:14 Graham.Williams\@cmis.csiro.au"; -$M{"amscd"}="1 Nov 1996 08:34:08 Graham.Williams\@cmis.csiro.au"; -$M{"amsfonts"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"amsfonts"}="9 Nov 1996 15:43:40 Graham.Williams\@cmis.csiro.au"; -$M{"amslatex"}="9 Nov 1996 15:40:28 Graham.Williams\@cmis.csiro.au"; -$M{"amslatex"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"amsltx11"}="9 Nov 1996 15:46:01 Graham.Williams\@cmis.csiro.au"; -$M{"amsmath"}="9 Nov 1996 16:15:32 Graham.Williams\@cmis.csiro.au"; -$M{"amsppt"}="24 Sep 1996 08:42:35 Graham.Williams\@cmis.csiro.au"; -$M{"amsppt1"}="25 Sep 1996 09:41:18 Graham.Williams\@cmis.csiro.au"; -$M{"amssym"}="25 Sep 1996 09:44:00 Graham.Williams\@cmis.csiro.au"; -$M{"amssymb"}="11 Nov 1996 20:19:40 Graham.Williams\@cmis.csiro.au"; -$M{"amstex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"amstex"}="9 Nov 1996 15:47:35 Graham.Williams\@cmis.csiro.au"; -$M{"amstext"}="11 Nov 1996 20:24:24 Graham.Williams\@cmis.csiro.au"; -$M{"answers"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"answers"}="29 May 1996 13:08:24 Graham.Williams\@cmis.csiro.au"; -$M{"anttvf"}="5 Feb 1998 09:27:21 Graham.Williams\@cmis.csiro.au"; -$M{"anttvf"}="08 Feb 1998 staw\@gust.org.pl"; -$M{"antyktor"}="18 Jun 1998 10:23:35 Graham.Williams\@cmis.csiro.au"; -$M{"apa"}="12 Nov 1998 11:38:01 Graham.Williams\@cmis.csiro.au"; -$M{"apacite"}="12 Jul 1996 10:10:07 Graham.Williams\@cmis.csiro.au"; -$M{"apasoft"}="15 Sep 1998 06:39:47 Graham.Williams\@cmis.csiro.au"; -$M{"apl"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"appendix"}="11 Dec 1998 05:36:39 Graham.Williams\@cmis.csiro.au"; -$M{"ar"}="24 Apr 1998 16:02:22 Graham.Williams\@cmis.csiro.au"; -$M{"arabtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"arabtex"}="13 May 1997 16:45:22 Graham.Williams\@cmis.csiro.au"; -$M{"armenian"}="3 Jul 1997 08:23:26 Graham.Williams\@cmis.csiro.au"; -$M{"arosgn"}="21 Oct 1996 10:32:18 Graham.Williams\@cmis.csiro.au"; -$M{"arrow"}="7 Nov 1996 19:31:04 Graham.Williams\@cmis.csiro.au"; -$M{"asaetr"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; -$M{"ascii"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"astro"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"at"}="12 Nov 1996 09:27:11 Graham.Williams\@cmis.csiro.au"; -$M{"auctex"}="19 Oct 1998 06:10:29 Graham.Williams\@cmis.csiro.au"; -$M{"aurora"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"authorindex"}="16 Feb 1998 17:29:41 Graham.Williams\@cmis.csiro.au"; -$M{"autotab"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"babel"}="12 Jan 1997 11:26:33 Graham.Williams\@cmis.csiro.au"; -$M{"backgammon"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"bakoma-fonts"}="13 Dec 1996 08:26:36 Graham.Williams\@cmis.csiro.au"; -$M{"bakoma"}="22 Jan 1999 07:17:26 Graham.Williams\@cmis.csiro.au"; -$M{"barcode2"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"barcodes"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"barcodes"}="7 Jun 1996 13:43:47 Graham.Williams\@cmis.csiro.au"; -$M{"barr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"bayer"}="10 Feb 1998 09:30:02 Graham.Williams\@cmis.csiro.au"; -$M{"bbding"}="13 May 1996 06:15:45 Graham.Williams\@cmis.csiro.au"; -$M{"bbding"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"bbm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"beebe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"belleek"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"beton"}="28 May 1996 16:24:30 Graham.Williams\@cmis.csiro.au"; -$M{"bez123"}="21 Oct 1998 09:36:53 Graham.Williams\@cmis.csiro.au"; -$M{"bezos"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"bibarts"}="19 Apr 1998 15:55:19 Graham.Williams\@cmis.csiro.au"; -$M{"bibindex"}="12 Jan 1997 14:53:39 Graham.Williams\@cmis.csiro.au"; -$M{"biblio"}="4 Oct 1996 08:44:47 Graham.Williams\@cmis.csiro.au"; -$M{"biblios"}="16 Aug 1996 14:40:47 Graham.Williams\@cmis.csiro.au"; -$M{"biblist"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"biblook"}="12 Jan 1997 14:53:39 Graham.Williams\@cmis.csiro.au"; -$M{"bibsort"}="12 Nov 1996 10:28:11 Graham.Williams\@cmis.csiro.au"; -$M{"bibtex8bit"}="19 Aug 1996 22:05:26 Graham.Williams\@cmis.csiro.au"; -$M{"bibtool"}="24 Feb 1998 13:38:41 Graham.Williams\@cmis.csiro.au"; -$M{"bibunits"}="29 May 1997 12:15:06 Graham.Williams\@cmis.csiro.au"; -$M{"bibweb"}="28 Nov 1997 09:12:23 Graham.Williams\@cmis.csiro.au"; -$M{"bidstobibtex"}="21 Oct 1996 13:54:10 Graham.Williams\@cmis.csiro.au"; -$M{"bitstrea"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"blackboard"}="9 Jul 1998 05:37:01 Graham.Williams\@cmis.csiro.au"; -$M{"blue"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"bluesky"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"bm"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"booktabs"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"borceux"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"bosisio"}="1 May 1998 16:53:18 Graham.Williams\@cmis.csiro.au"; -$M{"boxedminipage"}="19 Apr 1998 15:20:55 Graham.Williams\@cmis.csiro.au"; -$M{"breqn"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"bridge"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"brief"}="30 May 1996 11:22:14 Graham.Williams\@cmis.csiro.au"; -$M{"brushscr"}="24 Jun 1998 12:56:02 Graham.Williams\@cmis.csiro.au"; -$M{"btparse"}="20 Feb 1998 14:21:13 Graham.Williams\@cmis.csiro.au"; -$M{"c-pascal"}="3 Mar 1998 15:29:06 Graham.Williams\@cmis.csiro.au"; -$M{"c2cweb"}="29 Nov 1996 15:27:19 Graham.Williams\@cmis.csiro.au"; -$M{"calc"}="12 Aug 1998 06:27:04 Graham.Williams\@cmis.csiro.au"; -$M{"calendar"}="18 Mar 1997 13:07:53 Graham.Williams\@cmis.csiro.au"; -$M{"calendar"}="4 Feb 1998 13:36:58 Graham.Williams\@cmis.csiro.au"; -$M{"calligra"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"calrsfs"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"calrsfs"}="12 Jun 1996 09:16:09 Graham.Williams\@cmis.csiro.au"; -$M{"camel"}="5 Mar 1997 16:31:57 Graham.Williams\@cmis.csiro.au"; -$M{"cancel"}="26 May 1997 12:53:21 Graham.Williams\@cmis.csiro.au"; -$M{"capt-of"}="15 Dec 1996 19:04:36 Graham.Williams\@cmis.csiro.au"; -$M{"caption"}="12 Nov 1996 20:23:42 Graham.Williams\@cmis.csiro.au"; -$M{"carlisle"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"cases"}="15 Dec 1996 19:14:30 Graham.Williams\@cmis.csiro.au"; -$M{"casyl"}="24 Feb 1999 09:19:05 Graham.Williams\@cmis.csiro.au"; -$M{"catalogue"}="22 May 1996 16:49:04 Graham.Williams\@cmis.csiro.au"; -$M{"catdoc"}="5 Nov 1998 11:47:57 Graham.Williams\@cmis.csiro.au"; -$M{"cbgreek"}="24 Oct 1998 07:42:16 Graham.Williams\@cmis.csiro.au"; -$M{"cc-pl"}="09 Jun 1998 staw\@gust.org.pl"; -$M{"ccaption"}="27 Jan 1999 09:40:41 Graham.Williams\@cmis.csiro.au"; -$M{"ccfonts"}="23 Jun 1998 15:52:05 Graham.Williams\@cmis.csiro.au"; -$M{"cchess"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"cd-cover"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"cdcover"}="10 Feb 1998 09:31:30 Graham.Williams\@cmis.csiro.au"; -$M{"cdlabeler"}="2 Jan 1999 21:57:44 Graham.Williams\@cmis.csiro.au"; -$M{"cellular"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"cep"}="27 Jan 1998 16:53:11 Graham.Williams\@cmis.csiro.au"; -$M{"cep"}="08 Feb 1998 staw\@gust.org.pl"; -$M{"changebar"}="7 Oct 1997 09:02:24 Graham.Williams\@cmis.csiro.au"; -$M{"chapterbib"}="15 Dec 1996 19:13:07 Graham.Williams\@cmis.csiro.au"; -$M{"chemcono"}="21 Oct 1996 14:28:23 Graham.Williams\@cmis.csiro.au"; -$M{"chemcono"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"chemsym"}="8 Jul 1998 08:11:58 Graham.Williams\@cmis.csiro.au"; -$M{"cheq"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"cherokee"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"chess"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"china2e"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; -$M{"china2e"}="26 Feb 1998 08:51:49 Graham.Williams\@cmis.csiro.au"; -$M{"chktex"}="21 Oct 1996 13:51:58 Graham.Williams\@cmis.csiro.au"; -$M{"circ"}="18 Mar 1998 09:29:16 Graham.Williams\@cmis.csiro.au"; -$M{"circle"}="13 Oct 1998 09:09:47 Graham.Williams\@cmis.csiro.au"; -$M{"circuit-macro"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"circuit-macros"}="6 Sep 1998 05:00:37 Graham.Williams\@cmis.csiro.au"; -$M{"cirth"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"cite"}="15 Dec 1996 19:10:42 Graham.Williams\@cmis.csiro.au"; -$M{"cjk-fonts"}="8 Jan 1999 08:02:11 Graham.Williams\@cmis.csiro.au"; -$M{"cjk"}="8 Jan 1999 08:01:13 Graham.Williams\@cmis.csiro.au"; -$M{"cm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"cmactex"}="9 Aug 1998 06:47:00 Graham.Williams\@cmis.csiro.au"; -$M{"cmbright"}="28 Dec 1998 09:33:43 Graham.Williams\@cmis.csiro.au"; -$M{"cmcyr"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"cmcyralt"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"cmdtrack"}="22 Feb 1999 16:17:02 Graham.Williams\@cmis.csiro.au"; -$M{"cmextra"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"cmpica"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"cmps"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"cmsd"}="19 Feb 1998 09:45:20 Graham.Williams\@cmis.csiro.au"; -$M{"cmtt"}="1 Jun 1996 15:43:59 Graham.Williams\@cmis.csiro.au"; -$M{"cmyk-hax"}="12 May 1997 10:23:51 Graham.Williams\@cmis.csiro.au"; -$M{"cmyk-hax"}="08 Feb 1998 staw\@gust.org.pl"; -$M{"code128"}="7 Jun 1996 13:42:22 Graham.Williams\@cmis.csiro.au"; -$M{"codepage"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"color"}="24 Sep 1996 08:56:07 Graham.Williams\@cmis.csiro.au"; -$M{"colorsep"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"colortbl"}="24 Jun 1998 13:01:21 Graham.Williams\@cmis.csiro.au"; -$M{"comma"}="11 Feb 1998 07:46:23 Graham.Williams\@cmis.csiro.au"; -$M{"comment"}="8 Sep 1998 06:29:57 Graham.Williams\@cmis.csiro.au"; -$M{"compsci"}="21 Oct 1996 14:11:57 Graham.Williams\@cmis.csiro.au"; -$M{"concmath"}="25 Dec 1996 UV"; -$M{"concprog"}="22 Oct 1996 09:37:54 Graham.Williams\@cmis.csiro.au"; -$M{"concrete-wrap"}="27 Nov 1996 13:57:24 Graham.Williams\@cmis.csiro.au"; -$M{"concrete"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"consdiag"}="21 Jan 1999 19:26:28 Graham.Williams\@cmis.csiro.au"; -$M{"context"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"corelpak"}="21 Jan 1999 14:00:25 Graham.Williams\@cmis.csiro.au"; -$M{"count1to"}="24 Oct 1998 09:04:16 Graham.Williams\@cmis.csiro.au"; -$M{"covington"}="22 Apr 1997 14:32:07 Graham.Williams\@cmis.csiro.au"; -$M{"croatian"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"crop"}="8 Dec 1998 09:21:42 Graham.Williams\@cmis.csiro.au"; -$M{"crossword"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"crosswrd"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"csfonts"}="3 May 1997 s.rahtz\@elsevier.co.uk"; -$M{"cslatex"}="3 May 1997 s.rahtz\@elsevier.co.uk"; -$M{"csplain"}="3 May 1997 s.rahtz\@elsevier.co.uk"; -$M{"cspsfonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"cstug"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"csx"}="12 Jul 1998 05:30:19 Graham.Williams\@cmis.csiro.au"; -$M{"cursor"}="20 Jan 1999 14:56:10 Graham.Williams\@cmis.csiro.au"; -$M{"custom-bib"}="18 Aug 1998 18:00:42 Graham.Williams\@cmis.csiro.au"; -$M{"cwebbin"}="16 Oct 1998 06:27:49 Graham.Williams\@cmis.csiro.au"; -$M{"cwebx"}="17 Feb 1999 16:44:14 Graham.Williams\@cmis.csiro.au"; -$M{"cwpuzzle"}="28 Nov 1996 10:09:18 Graham.Williams\@cmis.csiro.au"; -$M{"cyrtug"}="8 Oct 1998 11:51:48 Graham.Williams\@cmis.csiro.au"; -$M{"dancers"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"dante-src"}="11 Feb 1998 07:50:55 Graham.Williams\@cmis.csiro.au"; -$M{"dates"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"dblfont"}="1 May 1998 16:53:44 Graham.Williams\@cmis.csiro.au"; -$M{"dbprocess"}="2 Jan 1999 21:55:59 Graham.Williams\@cmis.csiro.au"; -$M{"dc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"dc"}="2 Jun 1996 11:09:21 Graham.Williams\@cmis.csiro.au"; -$M{"dco"}="16 Aug 1996 14:14:54 Graham.Williams\@cmis.csiro.au"; -$M{"dcounter"}="28 Dec 1998 09:21:00 Graham.Williams\@cmis.csiro.au"; -$M{"default"}="18 Jul 1998 06:43:35 Graham.Williams\@cmis.csiro.au"; -$M{"deleq"}="8 Jul 1998 08:12:25 Graham.Williams\@cmis.csiro.au"; -$M{"devanagari"}="7 Dec 1998 05:46:30 Graham.Williams\@cmis.csiro.au"; -$M{"dialogl"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"dinbrief"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"dinbrief"}="4 Nov 1996 09:56:05 Graham.Williams\@cmis.csiro.au"; -$M{"directory"}="10 Mar 1998 05:30:54 Graham.Williams\@cmis.csiro.au"; -$M{"dn2"}="13 Mar 1998 09:10:15 Graham.Williams\@cmis.csiro.au"; -$M{"doc"}="19 Aug 1996 22:19:13 Graham.Williams\@cmis.csiro.au"; -$M{"dotseqn"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"doublestroke"}="21 Oct 1996 13:56:41 Graham.Williams\@cmis.csiro.au"; -$M{"draftcopy"}="21 May 1996 12:52:54 Graham.Williams\@cmis.csiro.au"; -$M{"dratex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"dropcaps"}="19 Jun 1996 13:38:04 Graham.Williams\@cmis.csiro.au"; -$M{"dropping"}="9 Jul 1998 06:27:48 Graham.Williams\@cmis.csiro.au"; -$M{"duerer"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"dvgtk"}="29 Apr 1997 14:45:04 Graham.Williams\@cmis.csiro.au"; -$M{"dvi2tty"}="7 Jun 1996 20:12:43 Graham.Williams\@cmis.csiro.au"; -$M{"dviconcat"}="1 Nov 1996 08:10:15 Graham.Williams\@cmis.csiro.au"; -$M{"dvicopy"}="= {1 Nov 1996 08:30:05 Graham.Williams\@cmis.csiro.au"; -$M{"dviljk"}="6 Apr 1998 06:10:01 Graham.Williams\@cmis.csiro.au"; -$M{"dvipaste"}="23 Feb 1998 15:46:09 Graham.Williams\@cmis.csiro.au"; -$M{"dvipdfm"}="2 Dec 1998 05:56:54 Graham.Williams\@cmis.csiro.au"; -$M{"dvips-os2"}="21 Jan 1999 13:57:52 Graham.Williams\@cmis.csiro.au"; -$M{"dvips-shell"}="5 Mar 1998 22:29:41 Graham.Williams\@cmis.csiro.au"; -$M{"dvips"}="13 May 1997 09:51:53 Graham.Williams\@cmis.csiro.au"; -$M{"dvipsdoc"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"dvipsk"}="6 Apr 1998 05:56:12 Graham.Williams\@cmis.csiro.au"; -$M{"ean"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"ean"}="7 Jun 1996 13:44:26 Graham.Williams\@cmis.csiro.au"; -$M{"easy"}="18 Aug 1998 18:24:49 Graham.Williams\@cmis.csiro.au"; -$M{"easybib"}="7 Mar 1997 16:54:36 Graham.Williams\@cmis.csiro.au"; -$M{"easybmat"}="18 Aug 1998 18:27:38 Graham.Williams\@cmis.csiro.au"; -$M{"easyeqn"}="18 Nov 1997 15:21:55 Graham.Williams\@cmis.csiro.au"; -$M{"easymat"}="18 Aug 1998 18:28:31 Graham.Williams\@cmis.csiro.au"; -$M{"easytable"}="18 Aug 1998 18:28:50 Graham.Williams\@cmis.csiro.au"; -$M{"easyvector"}="18 Nov 1997 15:22:16 Graham.Williams\@cmis.csiro.au"; -$M{"ec-plain"}="21 Apr 1998 08:38:32 Graham.Williams\@cmis.csiro.au"; -$M{"ec"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"ecc"}="11 Dec 1998 08:59:53 Graham.Williams\@cmis.csiro.au"; -$M{"ecltree"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"eco"}="22 Jul 1998 09:13:53 Graham.Williams\@cmis.csiro.au"; -$M{"ecpk"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"edmac"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"eepic"}="28 Dec 1998 09:32:41 Graham.Williams\@cmis.csiro.au"; -$M{"egplot"}="9 Jul 1998 06:27:09 Graham.Williams\@cmis.csiro.au"; -$M{"eiad"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"eijkhout"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"elsevier"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"elvish"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"emp"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; -$M{"emp"}="26 Feb 1998 08:53:14 Graham.Williams\@cmis.csiro.au"; -$M{"emtex-os2"}="31 Jul 1998 10:16:40 Graham.Williams\@cmis.csiro.au"; -$M{"emtex"}="31 Jul 1998 10:16:40 Graham.Williams\@cmis.csiro.au"; -$M{"emtexgi"}="12 Jan 1997 11:32:36 Graham.Williams\@cmis.csiro.au"; -$M{"emtextds"}="30 Sep 1998 07:58:58 Graham.Williams\@cmis.csiro.au"; -$M{"emulateapj"}="27 Nov 1997 17:06:10 Graham.Williams\@cmis.csiro.au"; -$M{"encodings"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"endfloat"}="21 Jun 1996 14:52:55 Graham.Williams\@cmis.csiro.au"; -$M{"endnotes"}="3 Sep 1996 09:20:05 Graham.Williams\@cmis.csiro.au"; -$M{"endnotes"}="4 Feb 1998 13:33:16 Graham.Williams\@cmis.csiro.au"; -$M{"engwar"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"enumerate"}="22 Jul 1998 05:47:30 Graham.Williams\@cmis.csiro.au"; -$M{"envbig"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"envlab"}="17 Jul 1997 14:37:23 Graham.Williams\@cmis.csiro.au"; -$M{"epic"}="24 Jul 1998 06:18:39 Graham.Williams\@cmis.csiro.au"; -$M{"epigraph"}="1 Dec 1998 12:42:01 Graham.Williams\@cmis.csiro.au"; -$M{"eplain"}="19 Aug 1996 22:10:25 Graham.Williams\@cmis.csiro.au"; -$M{"epmtfe"}="23 Feb 1999 15:01:08 Graham.Williams\@cmis.csiro.au"; -$M{"epsfx"}="09 Jun 1998 staw\@gust.org.pl"; -$M{"epslatex"}="9 Feb 1998 09:22:51 Graham.Williams\@cmis.csiro.au"; -$M{"eqname"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"esieecv"}="26 Feb 1998 08:54:52 Graham.Williams\@cmis.csiro.au"; -$M{"esieecv"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; -$M{"esindex"}="10 Nov 1998 10:40:44 Graham.Williams\@cmis.csiro.au"; -$M{"eso-pic"}="22 Jul 1998 06:17:37 Graham.Williams\@cmis.csiro.au"; -$M{"et"}="24 Feb 1998 13:45:45 Graham.Williams\@cmis.csiro.au"; -$M{"etexbase"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"ethiop"}="13 Dec 1998 15:02:18 Graham.Williams\@cmis.csiro.au"; -$M{"euler"}="5 Jun 1996 10:03:48 Graham.Williams\@cmis.csiro.au"; -$M{"euro"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"eurofont"}="31 Jan 1999 07:41:02 Graham.Williams\@cmis.csiro.au"; -$M{"europs"}="21 Jan 1999 13:04:27 Graham.Williams\@cmis.csiro.au"; -$M{"eurosans"}="27 Jan 1999 08:25:26 Graham.Williams\@cmis.csiro.au"; -$M{"eurosym"}="6 Jan 1999 07:26:11 Graham.Williams\@cmis.csiro.au"; -$M{"everysel"}="10 Aug 1998 09:05:43 Graham.Williams\@cmis.csiro.au"; -$M{"everyshi"}="10 Aug 1998 09:20:24 Graham.Williams\@cmis.csiro.au"; -$M{"exam"}="16 Dec 1998 08:31:47 Graham.Williams\@cmis.csiro.au"; -$M{"examdesign"}="20 Jan 1998 22:03:03 Graham.Williams\@cmis.csiro.au"; -$M{"exams"}="29 May 1996 13:09:04 Graham.Williams\@cmis.csiro.au"; -$M{"excalibur"}="8 Nov 1998 07:01:25 Graham.Williams\@cmis.csiro.au"; -$M{"expdlist"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"expl3"}="1 Jun 1998 12:09:40 Graham.Williams\@cmis.csiro.au"; -$M{"export"}="12 Jan 1997 11:45:06 Graham.Williams\@cmis.csiro.au"; -$M{"export"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"exscale"}="12 Jun 1996 06:53:11 Graham.Williams\@cmis.csiro.au"; -$M{"extdash"}="28 Dec 1998 09:21:00 Graham.Williams\@cmis.csiro.au"; -$M{"fancybox"}="2 Mar 1998 09:20:57 Graham.Williams\@cmis.csiro.au"; -$M{"fancyhdr"}="9 Sep 1998 06:51:16 Graham.Williams\@cmis.csiro.au"; -$M{"fancyref"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"fancyvrb"}="1 Apr 1998 06:01:31 Graham.Williams\@cmis.csiro.au"; -$M{"faq"}="1 Jul 1998 10:31:39 Graham.Williams\@cmis.csiro.au"; -$M{"fax"}="13 Dec 1996 09:32:37 Graham.Williams\@cmis.csiro.au"; -$M{"fc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"fc"}="5 Mar 1998 22:19:31 Graham.Williams\@cmis.csiro.au"; -$M{"fepslatex"}="6 Nov 1998 05:54:05 Graham.Williams\@cmis.csiro.au"; -$M{"feynmf"}="30 May 1996 06:34:12 Graham.Williams\@cmis.csiro.au"; -$M{"fihyph"}=" from fihyph.tex to make the Finnish accented"; -$M{"fihyph"}="6 Nov 1998 06:34:36 Graham.Williams\@cmis.csiro.au"; -$M{"finbib"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"finplain"}="29 Jun 1998 10:04:25 Graham.Williams\@cmis.csiro.au"; -$M{"fix2col"}="19 Aug 1998 16:52:30 Graham.Williams\@cmis.csiro.au"; -$M{"fixfloat"}="23 May 1997 09:28:11 Graham.Williams\@cmis.csiro.au"; -$M{"flabels"}="21 Jul 1997 09:34:31 Graham.Williams\@cmis.csiro.au"; -$M{"flatex"}="24 Sep 1996 08:59:43 Graham.Williams\@cmis.csiro.au"; -$M{"flatten"}="18 Jun 1996 09:36:48 Graham.Williams\@cmis.csiro.au"; -$M{"float"}="25 May 1996 07:26:32 Graham.Williams\@cmis.csiro.au"; -$M{"floatflt"}="8 Jul 1998 08:16:33 Graham.Williams\@cmis.csiro.au"; -$M{"fltpage"}="19 Nov 1998 05:29:33 Graham.Williams\@cmis.csiro.au"; -$M{"fncychap"}=" Each can be using a set of simple commands."; -$M{"fncychap"}="13 Dec 1996 08:41:01 Graham.Williams\@cmis.csiro.au"; -$M{"fnpara"}="10 Sep 1996 09:23:00 Graham.Williams\@cmis.csiro.au"; -$M{"foilhtml"}="19 Feb 1998 09:39:43 Graham.Williams\@cmis.csiro.au"; -$M{"foiltex"}="15 Aug 1998 07:01:05 Graham.Williams\@cmis.csiro.au"; -$M{"fontinst"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"fontmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"fontname"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"fonts"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"footbib"}="19 Jun 1997 11:31:23 Graham.Williams\@cmis.csiro.au"; -$M{"footmisc"}="22 Jun 1998 16:47:47 Graham.Williams\@cmis.csiro.au"; -$M{"footnpag"}="10 Sep 1996 09:26:38 Graham.Williams\@cmis.csiro.au"; -$M{"formats"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"formlett"}="27 May 1997 09:39:35 Graham.Williams\@cmis.csiro.au"; -$M{"formula"}="18 Jun 1998 10:24:39 Graham.Williams\@cmis.csiro.au"; -$M{"fourtex"}="21 Nov 1998 05:32:50 Graham.Williams\@cmis.csiro.au"; -$M{"fp"}="4 Nov 1996 09:45:28 Graham.Williams\@cmis.csiro.au"; -$M{"freefonts"}="10 Sep 1998 18:50:47 Graham.Williams\@cmis.csiro.au"; -$M{"freetype"}="2 Jan 1999 22:37:14 Graham.Williams\@cmis.csiro.au"; -$M{"french"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"fribrief"}="20 Jan 1998 21:50:51 Graham.Williams\@cmis.csiro.au"; -$M{"ftetx"}="24 Feb 1998 13:52:42 Graham.Williams\@cmis.csiro.au"; -$M{"ftn"}="10 Sep 1996 09:43:47 Graham.Williams\@cmis.csiro.au"; -$M{"ftnright"}="19 Aug 1996 22:20:55 Graham.Williams\@cmis.csiro.au"; -$M{"fullblck"}="18 Nov 1998 09:21:36 Graham.Williams\@cmis.csiro.au"; -$M{"fullpict"}="18 Feb 1999 10:39:07 Graham.Williams\@cmis.csiro.au"; -$M{"fundus"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"funnelweb"}="25 Jun 1996 12:38:19 Graham.Williams\@cmis.csiro.au"; -$M{"futhark"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"g-brief"}="20 Feb 1998 14:17:49 Graham.Williams\@cmis.csiro.au"; -$M{"gb4e"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"genealogy"}="31 May 1996 14:10:08 Graham.Williams\@cmis.csiro.au"; -$M{"genmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"gentl-gr"}="29 Jan 1999 09:40:36 Graham.Williams\@cmis.csiro.au"; -$M{"geometry"}="8 Apr 1998 14:26:57 Graham.Williams\@cmis.csiro.au"; -$M{"geomsty"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; -$M{"geomsty"}="26 Feb 1998 08:58:15 Graham.Williams\@cmis.csiro.au"; -$M{"german"}="15 Jul 1998 07:33:39 Graham.Williams\@cmis.csiro.au"; -$M{"germbib"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"germdoc"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"getrefs"}="12 Nov 1998 20:22:10 Graham.Williams\@cmis.csiro.au"; -$M{"ghostscript"}="20 May 1997 14:12:34 Graham.Williams\@cmis.csiro.au"; -$M{"ghostview-mac"}="27 Mar 1998 05:51:48 Graham.Williams\@cmis.csiro.au"; -$M{"ghyphen"}="8 Jul 1998 08:55:23 Graham.Williams\@cmis.csiro.au"; -$M{"gleitobjekte"}="17 Feb 1998 09:09:23 Graham.Williams\@cmis.csiro.au"; -$M{"gloss"}="19 Apr 1998 15:58:24 Graham.Williams\@cmis.csiro.au"; -$M{"glosstex"}="25 Feb 1998 09:12:56 Graham.Williams\@cmis.csiro.au"; -$M{"gn-logic"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"gnhyph"}="16 Sep 1998 09:18:43 Graham.Williams\@cmis.csiro.au"; -$M{"gnuplot-ps"}="30 May 1996 11:22:14 Graham.Williams\@cmis.csiro.au"; -$M{"go"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"gothic"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"graphfig"}="1 May 1998 16:54:18 Graham.Williams\@cmis.csiro.au"; -$M{"graphics"}="1 Nov 1996 08:16:13 Graham.Williams\@cmis.csiro.au"; -$M{"graphicx"}="12 Jun 1996 06:47:22 Graham.Williams\@cmis.csiro.au"; -$M{"gray"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"grfguide"}="11 Jun 1997 16:17:05 Graham.Williams\@cmis.csiro.au"; -$M{"grfpaste"}="23 Feb 1998 15:39:11 Graham.Williams\@cmis.csiro.au"; -$M{"grnumalt"}="23 Feb 1998 15:49:56 Graham.Williams\@cmis.csiro.au"; -$M{"gsftopk"}="12 Nov 1996 09:08:05 Graham.Williams\@cmis.csiro.au"; -$M{"gustlib"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"gustlib"}="March 1998, s.rahtz\@elsevier.co.uk"; -$M{"hands"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"hanging"}="11 Dec 1998 05:38:02 Graham.Williams\@cmis.csiro.au"; -$M{"harpoon"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"harvmac"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"hellas"}="10 Mar 1998 06:00:34 Graham.Williams\@cmis.csiro.au"; -$M{"here"}="25 May 1996 07:24:51 Graham.Williams\@cmis.csiro.au"; -$M{"hh"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"hilowres"}="21 Jan 1999 19:31:07 Graham.Williams\@cmis.csiro.au"; -$M{"histogr"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"hlatex"}="28 May 1997 16:04:14 Graham.Williams\@cmis.csiro.au"; -$M{"hoekwater"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"html"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"html2latex"}="30 Sep 1998 07:55:02 Graham.Williams\@cmis.csiro.au"; -$M{"huhyph"}="5 Nov 1998 05:50:17 Graham.Williams\@cmis.csiro.au"; -$M{"hvdashln"}="13 May 1997 09:36:00 Graham.Williams\@cmis.csiro.au"; -$M{"hyper"}="30 Aug 1997 12:04:32 Graham.Williams\@cmis.csiro.au"; -$M{"hyperlatex"}="27 Dec 1998 20:25:24 Graham.Williams\@cmis.csiro.au"; -$M{"hyperref"}="17 Feb 1999 16:41:40 Graham.Williams\@cmis.csiro.au"; -$M{"hyphenat"}="22 Feb 1999 16:42:36 Graham.Williams\@cmis.csiro.au"; -$M{"hypht1"}="3 May 1997 20:57:53 Graham.Williams\@cmis.csiro.au"; -$M{"ibm"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"idealfonts"}="20 Feb 1998 14:34:54 Graham.Williams\@cmis.csiro.au"; -$M{"ifacmtg"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"imac"}="24 Sep 1998 05:27:35 Graham.Williams\@cmis.csiro.au"; -$M{"indxcite"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"indxcite"}="24 Jun 1996 15:17:51 Graham.Williams\@cmis.csiro.au"; -$M{"info"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"inhyph"}="7 Oct 1997 08:54:26 Graham.Williams\@cmis.csiro.au"; -$M{"inputenc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"insbox"}="25 Feb 1998 09:20:32 Graham.Williams\@cmis.csiro.au"; -$M{"ipa"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"isostds"}="21 Oct 1998 09:38:15 Graham.Williams\@cmis.csiro.au"; -$M{"ithyph"}="4 Aug 1998 05:39:19 Graham.Williams\@cmis.csiro.au"; -$M{"izhitsa"}="30 Jan 1999 06:34:27 Graham.Williams\@cmis.csiro.au"; -$M{"jadetex"}="3 May 1997 s.rahtz\@elsevier.co.uk"; -$M{"javatex"}="8 Oct 1998 12:03:35 Graham.Williams\@cmis.csiro.au"; -$M{"jknappen"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"jknappen"}="10 Mar 1998 09:10:20 Graham.Williams\@cmis.csiro.au"; -$M{"jsmisc"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"jspell"}="= {5 Nov 1998 15:43:30 Graham.Williams\@cmis.csiro.au"; -$M{"jura"}="11 Jul 1998 17:22:01 Graham.Williams\@cmis.csiro.au"; -$M{"kalendar"}="27 Mar 1998 05:44:58 Graham.Williams\@cmis.csiro.au"; -$M{"kalender"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"karnaugh"}="24 Sep 1998 05:26:10 Graham.Williams\@cmis.csiro.au"; -$M{"kdgreek"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; -$M{"kix"}="19 Sep 1998 08:58:56 Graham.Williams\@cmis.csiro.au"; -$M{"kluwer"}="31 May 1997 20:08:21 Graham.Williams\@cmis.csiro.au"; -$M{"knst"}="21 Oct 1996 13:44:44 Graham.Williams\@cmis.csiro.au"; -$M{"knuth"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"koi8"}="21 Oct 1996 13:48:21 Graham.Williams\@cmis.csiro.au"; -$M{"koma-script"}="30 Nov 1998 09:41:00 Graham.Williams\@cmis.csiro.au"; -$M{"kpathsea"}="3 Feb 1999 10:29:24 Graham.Williams\@cmis.csiro.au"; -$M{"kuvio"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"lamstex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"lated"}="11 Feb 1998 07:41:10 Graham.Williams\@cmis.csiro.au"; -$M{"latex"}="2 Jul 1998 12:56:15 Graham.Williams\@cmis.csiro.au"; -$M{"latex209"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"latex209"}="4 Jul 1996 10:07:05 Graham.Williams\@cmis.csiro.au"; -$M{"latex2e"}="4 Jul 1996 09:53:38 Graham.Williams\@cmis.csiro.au"; -$M{"latex2html"}="8 Jul 1996 23:00:59 Graham.Williams\@cmis.csiro.au"; -$M{"latex2man"}="9 Sep 1998 05:33:13 Graham.Williams\@cmis.csiro.au"; -$M{"latex2rtf"}="17 Nov 1998 08:56:23 Graham.Williams\@cmis.csiro.au"; -$M{"latexcad"}="20 Mar 1998 09:32:43 Graham.Williams\@cmis.csiro.au"; -$M{"latexfonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"latexmk"}="12 Jan 1997 11:30:28 Graham.Williams\@cmis.csiro.au"; -$M{"latexn"}="27 Nov 1997 17:04:03 Graham.Williams\@cmis.csiro.au"; -$M{"latin2jk"}="7 Oct 1997 08:56:04 Graham.Williams\@cmis.csiro.au"; -$M{"layout"}="13 Aug 1998 05:42:38 Graham.Williams\@cmis.csiro.au"; -$M{"layouts"}="31 Jan 1999 06:43:57 Graham.Williams\@cmis.csiro.au"; -$M{"leaflet"}="30 Sep 1998 08:20:21 Graham.Williams\@cmis.csiro.au"; -$M{"leftidx"}="4 Feb 1998 13:16:00 Graham.Williams\@cmis.csiro.au"; -$M{"letter"}="6 Nov 1998 13:26:58 Graham.Williams\@cmis.csiro.au"; -$M{"lettrine"}="25 Mar 1998 09:11:24 Graham.Williams\@cmis.csiro.au"; -$M{"levy"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"lexikon"}="1 Apr 1998 06:05:45 Graham.Williams\@cmis.csiro.au"; -$M{"lgreek"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"lgrind-win32"}="24 Mar 1998 11:41:55 Graham.Williams\@cmis.csiro.au"; -$M{"lgrind"}="5 Aug 1998 06:33:28 Graham.Williams\@cmis.csiro.au"; -$M{"lh"}="2 Oct 1998 07:20:00 Graham.Williams\@cmis.csiro.au"; -$M{"lhcyr"}="21 Jan 1999 19:44:44 Graham.Williams\@cmis.csiro.au"; -$M{"lilypond"}="21 Oct 1998 09:41:28 Graham.Williams\@cmis.csiro.au"; -$M{"lineno"}="20 Jan 1999 14:57:13 Graham.Williams\@cmis.csiro.au"; -$M{"linguex"}="1 Jun 1998 11:57:34 Graham.Williams\@cmis.csiro.au"; -$M{"lintex"}="16 Jun 1998 10:19:01 Graham.Williams\@cmis.csiro.au"; -$M{"lips"}="21 Oct 1996 10:30:25 Graham.Williams\@cmis.csiro.au"; -$M{"listings"}="11 Nov 1998 05:44:14 Graham.Williams\@cmis.csiro.au"; -$M{"lkort"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"llncs"}="4 Oct 1996 08:48:06 Graham.Williams\@cmis.csiro.au"; -$M{"localloc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"logic"}="3 May 1997 s.rahtz\@elsevier.co.uk"; -$M{"logo-ps"}="25 Jul 1998 06:24:28 Graham.Williams\@cmis.csiro.au"; -$M{"lollipop"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"longtable"}="21 Jun 1996 08:12:11 Graham.Williams\@cmis.csiro.au"; -$M{"lscape"}="7 Nov 1996 19:36:31 Graham.Williams\@cmis.csiro.au"; -$M{"lshort-english"}="21 Jan 1999 19:27:28 Graham.Williams\@cmis.csiro.au"; -$M{"lshort-finnish"}="21 Jan 1999 19:12:55 Graham.Williams\@cmis.csiro.au"; -$M{"lshort-french"}="5 Feb 1998 09:10:02 Graham.Williams\@cmis.csiro.au"; -$M{"lshort-german"}="30 Jan 1999 07:28:37 Graham.Williams\@cmis.csiro.au"; -$M{"lshort-mongolian"}="30 Jan 1999 07:28:04 Graham.Williams\@cmis.csiro.au"; -$M{"lshort-polish"}="25 Feb 1999 14:09:31 Graham.Williams\@cmis.csiro.au"; -$M{"lshort-russian"}="13 Oct 1998 09:11:31 Graham.Williams\@cmis.csiro.au"; -$M{"lshort-spanish"}="21 Jan 1999 19:12:55 Graham.Williams\@cmis.csiro.au"; -$M{"ltoh"}="8 Apr 1998 09:41:19 Graham.Williams\@cmis.csiro.au"; -$M{"ltx2rtf"}="28 Dec 1998 09:11:53 Graham.Williams\@cmis.csiro.au"; -$M{"ltx2x"}="26 Jan 1997 10:24:09 Graham.Williams\@cmis.csiro.au"; -$M{"ltxbase"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"ltxinput"}="26 Nov 1996 16:30:38 Graham.Williams\@cmis.csiro.au"; -$M{"ltxmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"ltxsrc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"lucida"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"lucold"}="4 Feb 1998 13:23:16 Graham.Williams\@cmis.csiro.au"; -$M{"lw35nfsx"}="28 Jul 1998 05:36:21 Graham.Williams\@cmis.csiro.au"; -$M{"ly1"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"m-pictex"}="24 Feb 1998 13:55:54 Graham.Williams\@cmis.csiro.au"; -$M{"macbibtex"}="7 Nov 1996 13:35:35 Graham.Williams\@cmis.csiro.au"; -$M{"magaz"}="17 Feb 1999 17:33:54 Graham.Williams\@cmis.csiro.au"; -$M{"mailing"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"makeindex"}="23 May 1997 13:18:35 Graham.Williams\@cmis.csiro.au"; -$M{"malayalam"}="23 Jun 1998 15:49:27 Graham.Williams\@cmis.csiro.au"; -$M{"malvern"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"manyfoot"}="28 Dec 1998 09:24:33 Graham.Williams\@cmis.csiro.au"; -$M{"mapcodes"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"maple"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"margbib"}="24 Feb 1998 13:20:27 Graham.Williams\@cmis.csiro.au"; -$M{"marvosym-mac"}="5 Nov 1998 15:47:46 Graham.Williams\@cmis.csiro.au"; -$M{"marvosym"}="21 Jul 1998 05:27:14 Graham.Williams\@cmis.csiro.auy"; -$M{"mathcmd"}="abstract Provides a slightly version of the commands for"; -$M{"mathcmd"}="1 May 1998 16:54:49 Graham.Williams\@cmis.csiro.au"; -$M{"mathcomp"}="10 Sep 1998 18:44:41 Graham.Williams\@cmis.csiro.au"; -$M{"mathematica"}="20 Jan 1998 22:00:24 Graham.Williams\@cmis.csiro.au"; -$M{"mathenv"}="1 May 1998 16:55:25 Graham.Williams\@cmis.csiro.au"; -$M{"mathinst"}="10 Sep 1998 18:54:03 Graham.Williams\@cmis.csiro.au"; -$M{"mathkit"}="4 Feb 1998 13:20:21 Graham.Williams\@cmis.csiro.au"; -$M{"mathpple"}="21 Jan 1999 19:34:23 Graham.Williams\@cmis.csiro.au"; -$M{"mathrsfs"}="27 Mar 1998 05:58:42 Graham.Williams\@cmis.csiro.au"; -$M{"mathtime"}="29 May 1996 10:39:52 Graham.Williams\@cmis.csiro.au"; -$M{"mcite"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"mdwtools"}="16 Jun 1998 10:36:35 Graham.Williams\@cmis.csiro.au"; -$M{"meta-mode"}="1 May 1997 10:10:22 Graham.Williams\@cmis.csiro.au"; -$M{"metapost"}="25 Jun 1996 10:58:40 Graham.Williams\@cmis.csiro.au"; -$M{"method"}="21 Jan 1999 07:58:21 Graham.Williams\@cmis.csiro.au"; -$M{"mex"}="08 Feb 1998 staw\@gust.org.pl"; -$M{"mf-ps"}="4 Feb 1998 13:18:00 Graham.Williams\@cmis.csiro.au"; -$M{"mf-ps"}="08 Feb 1998 staw\@gust.org.pl"; -$M{"mf2pt3"}="2 Jan 1999 21:45:21 Graham.Williams\@cmis.csiro.au"; -$M{"mf2tex"}="3 May 1997 21:09:52 Graham.Williams\@cmis.csiro.au"; -$M{"mff"}="24 Oct 1996 10:27:31 Graham.Williams\@cmis.csiro.au"; -$M{"mff"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"mflogo"}="25 Dec 1996 UV"; -$M{"mfnfss"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"mfpic"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"mftoeps"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; -$M{"mhs"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"midnight"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"mif2xfig"}="20 Nov 1996 11:23:52 Graham.Williams\@cmis.csiro.au"; -$M{"miktex-axp"}="25 Sep 1997 14:01:19 Graham.Williams\@cmis.csiro.au"; -$M{"miktex"}="23 Feb 1999 16:12:25 Graham.Williams\@cmis.csiro.au"; -$M{"miniltx"}="20 May 1996 10:13:07 Graham.Williams\@cmis.csiro.au"; -$M{"minitoc"}="12 Jan 1997 11:20:36 Graham.Williams\@cmis.csiro.au"; -$M{"mirr"}="12 May 1997 10:27:47 Graham.Williams\@cmis.csiro.au"; -$M{"mirr"}="08 Feb 1998 staw\@gust.org.pl"; -$M{"miscpk"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"mitpress"}="19 Sep 1998 10:11:07 Graham.Williams\@cmis.csiro.au"; -$M{"mkpic"}="2 Jan 1999 21:52:06 Graham.Williams\@cmis.csiro.au"; -$M{"mla"}="28 Apr 1997 09:48:03 Graham.Williams\@cmis.csiro.au"; -$M{"mlbib"}="5 Nov 1996 09:15:29 Graham.Williams\@cmis.csiro.au"; -$M{"mltex"}="28 Dec 1998 09:15:09 Graham.Williams\@cmis.csiro.au"; -$M{"mmtools"}="23 Jul 1997 09:16:45 Graham.Williams\@cmis.csiro.au"; -$M{"mnras"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"modes"}="11 Aug 1998 05:29:08 Graham.Williams\@cmis.csiro.au"; -$M{"monotype"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"monster"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"montex"}="29 Jan 1999 09:53:15 Graham.Williams\@cmis.csiro.au"; -$M{"morehelp"}="19 Feb 1998 09:36:53 Graham.Williams\@cmis.csiro.au"; -$M{"moresize"}="17 Jul 1997 14:08:56 Graham.Williams\@cmis.csiro.au"; -$M{"moreverb"}="29 May 1996 11:58:07 Graham.Williams\@cmis.csiro.au"; -$M{"moreverb"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"morse"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; -$M{"morse"}="26 Feb 1998 09:08:33 Graham.Williams\@cmis.csiro.au"; -$M{"mpattern"}="30 Sep 1998 11:00:52 Graham.Williams\@cmis.csiro.au"; -$M{"mpfnmark"}="13 Dec 1996 08:30:22 Graham.Williams\@cmis.csiro.au"; -$M{"mpfnmark"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"ms"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"mslapa"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"mslapa"}="12 Jul 1996 10:06:59 Graham.Williams\@cmis.csiro.au"; -$M{"mt11p"}="14 Feb 1997 09:21:04 Graham.Williams\@cmis.csiro.au"; -$M{"mtbe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"multenum"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; -$M{"multicol"}="21 Dec 1998 13:35:30 Graham.Williams\@cmis.csiro.au"; -$M{"multido"}="19 Mar 1998 10:41:51 Graham.Williams\@cmis.csiro.au"; -$M{"multirow"}="25 Nov 1998 06:06:17 Graham.Williams\@cmis.csiro.au"; -$M{"multitoc"}="8 Sep 1998 05:46:30 Graham.Williams\@cmis.csiro.au"; -$M{"musictex"}="27 Nov 1996 13:59:30 Graham.Williams\@cmis.csiro.au"; -$M{"musixtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"mxedruli"}="25 Jul 1998 06:28:00 Graham.Williams\@cmis.csiro.au"; -$M{"mylatex"}="1 May 1998 17:00:39 Graham.Williams\@cmis.csiro.au"; -$M{"myletter"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"nassflow"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"natbib"}="17 Jul 1998 16:12:29 Graham.Williams\@cmis.csiro.au"; -$M{"nb4latex"}="21 Nov 1996 16:56:44 Graham.Williams\@cmis.csiro.au"; -$M{"nccfoots"}="28 Dec 1998 09:25:59 Graham.Williams\@cmis.csiro.au"; -$M{"ncctools"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"netpbm-win"}="10 Sep 1998 18:37:04 Graham.Williams\@cmis.csiro.au"; -$M{"newsletr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"newthm"}="abstract A version of the theorem-style which provides"; -$M{"newthm"}="14 Feb 1997 09:30:36 Graham.Williams\@cmis.csiro.au"; -$M{"newthm"}="13 May 1997 10:24:58 Robin Fairbairns "; -$M{"niceframe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"nomencl"}="27 May 1997 09:24:37 Graham.Williams\@cmis.csiro.au"; -$M{"norbib"}="2 Jul 1998 12:55:09 Graham.Williams\@cmis.csiro.au"; -$M{"nrc"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"ntemacs"}="19 Oct 1998 06:03:28 Graham.Williams\@cmis.csiro.au"; -$M{"ntgclass"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"ntheorem"}="11 Dec 1998 05:44:07 Graham.Williams\@cmis.csiro.au"; -$M{"numline"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"numline"}="28 May 1996 16:02:33 Graham.Williams\@cmis.csiro.au"; -$M{"objectz"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"oca"}="3 May 1997 s.rahtz\@elsevier.co.uk"; -$M{"ocr-a"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"ocr-a"}="18 May 1996 14:10:28 Graham.Williams\@cmis.csiro.au"; -$M{"ocr-b"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"ocr-b"}="18 May 1996 14:10:28 Graham.Williams\@cmis.csiro.au"; -$M{"ogham"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"ogonek"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"oldstyle"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"omega"}="11 Feb 1998 08:05:12 Graham.Williams\@cmis.csiro.au"; -$M{"omegabase"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"omegafonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"onepagem"}="18 Jul 1997 14:23:48 Graham.Williams\@cmis.csiro.au"; -$M{"oryia"}="1 Jul 1998 10:29:59 Graham.Williams\@cmis.csiro.au"; -$M{"os2tex"}="3 Jan 1999 10:42:23 Graham.Williams\@cmis.csiro.au"; -$M{"osmanian"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"ot2cyr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"overcite"}="15 Dec 1996 19:11:52 Graham.Williams\@cmis.csiro.au"; -$M{"overpic"}="27 Nov 1997 17:00:55 Graham.Williams\@cmis.csiro.au"; -$M{"overword"}="13 Dec 1996 08:37:08 Graham.Williams\@cmis.csiro.au"; -$M{"overword"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"oxford"}="11 Jan 1998 20:39:42 Graham.Williams\@cmis.csiro.au"; -$M{"oztex-german"}="25 Mar 1998 09:10:39 Graham.Williams\@cmis.csiro.au"; -$M{"oztex"}="27 Dec 1998 20:16:46 Graham.Williams\@cmis.csiro.au"; -$M{"pageno"}="23 Sep 1998 09:40:33 Graham.Williams\@cmis.csiro.au"; -$M{"pandey"}="30 Sep 1998 07:56:09 Graham.Williams\@cmis.csiro.au"; -$M{"pandora"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"paper"}="20 May 1996 06:33:20 Graham.Williams\@cmis.csiro.au"; -$M{"paradissa"}="14 Jun 1996 16:18:31 Graham.Williams\@cmis.csiro.au"; -$M{"paralist"}="21 Jan 1999 19:49:45 Graham.Williams\@cmis.csiro.au"; -$M{"patch"}="3 May 1997 s.rahtz\@elsevier.co.uk"; -$M{"path"}="25 Jun 1996 09:13:30 Graham.Williams\@cmis.csiro.au"; -$M{"pawpict"}="10 Feb 1998 09:32:45 Graham.Williams\@cmis.csiro.au"; -$M{"pb-diagram"}="30 Nov 1998 13:48:18 Graham.Williams\@cmis.csiro.au"; -$M{"pcfonts"}="21 Oct 1996 13:32:14 Graham.Williams\@cmis.csiro.au"; -$M{"pdcmac"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"pdftex-djgpp"}="23 Feb 1998 15:51:42 Graham.Williams\@cmis.csiro.au"; -$M{"pdftex"}="13 Aug 1998 05:51:13 Graham.Williams\@cmis.csiro.au"; -$M{"permute"}="28 Dec 1998 09:09:59 Graham.Williams\@cmis.csiro.au"; -$M{"pf2afm"}="18 Jun 1998 10:13:25 Graham.Williams\@cmis.csiro.au"; -$M{"phonetic"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"phppcf"}="14 Jun 1996 12:35:55 Graham.Williams\@cmis.csiro.au"; -$M{"physe"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"phyzzx"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"pictex"}="24 Feb 1998 13:53:44 Graham.Williams\@cmis.csiro.au"; -$M{"piff"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"piq"}="ctan fonts/okuda//"; -$M{"piq"}="17 Nov 1996 11:28:28 Graham.Williams\@cmis.csiro.au"; -$M{"pkfind"}=" utility to understand those specials, and to act"; -$M{"pkfind"}="3 Mar 1998 15:39:16 Graham.Williams\@cmis.csiro.au"; -$M{"pl-mf"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"pl-mf"}="08 Feb 1998 staw\@gust.org.pl"; -$M{"pl-qx"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"pl"}="25 Feb 1998, s.rahtz\@elsevier.co.uk"; -$M{"plainmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"plaintex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"plari"}="6 Nov 1998 06:24:51 Graham.Williams\@cmis.csiro.au"; -$M{"platex"}="18 Jun 1998 10:22:09 Graham.Williams\@cmis.csiro.au"; -$M{"plcalendar"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"plfonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"plgraph"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"plpsfont"}="08 Feb 1998 staw\@gust.org.pl"; -$M{"pmcstex"}="27 Nov 1997 17:12:37 Graham.Williams\@cmis.csiro.au"; -$M{"pmgraph"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"poligraf"}="17 Nov 1996 11:34:19 Graham.Williams\@cmis.csiro.au"; -$M{"poligraf"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"poligraf"}="08 Feb 1998 staw\@gust.org.pl"; -$M{"polish"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"polyglot"}="12 Sep 1997 10:32:34 Graham.Williams\@cmis.csiro.au"; -$M{"ppchtex"}="15 Jan 1997 09:54:55 Graham.Williams\@cmis.csiro.au"; -$M{"prelim2e"}="10 Aug 1998 09:16:01 Graham.Williams\@cmis.csiro.au"; -$M{"prettyref"}="29 Jul 1998 05:41:53 Graham.Williams\@cmis.csiro.au"; -$M{"progkeys"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"program"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"proofs"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"prv"}="11 Dec 1998 05:33:29 Graham.Williams\@cmis.csiro.au"; -$M{"ps_conv"}="17 Nov 1996 11:34:19 Graham.Williams\@cmis.csiro.au"; -$M{"ps_view"}="25 Jun 1998 staw\@gust.org.pl"; -$M{"psfig"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"psfixbb"}="23 Jun 1998 15:54:54 Graham.Williams\@cmis.csiro.au"; -$M{"psfont"}="1 Jul 1996 21:00:54 Graham.Williams\@cmis.csiro.au"; -$M{"psfonts"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"psfrag"}="24 Jun 1998 12:56:59 Graham.Williams\@cmis.csiro.au"; -$M{"psizzl"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"pslatex"}="2 Aug 1996 12:28:03 Graham.Williams\@cmis.csiro.au"; -$M{"pslatex"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"psmerge"}="1 Nov 1996 08:12:01 Graham.Williams\@cmis.csiro.au"; -$M{"psnfss"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"psnfss"}="24 Apr 1997 16:16:14 Graham.Williams\@cmis.csiro.au"; -$M{"psnfssx"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"pspicture"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"pstotext"}="31 Oct 1996 13:39:09 Graham.Williams\@cmis.csiro.au"; -$M{"pstricks"}="30 May 1996 11:20:11 Graham.Williams\@cmis.csiro.au"; -$M{"punk"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"qfig"}="24 Jul 1998 06:25:39 Graham.Williams\@cmis.csiro.au"; -$M{"qfonts"}="18 Jun 1998 10:17:31 Graham.Williams\@cmis.csiro.au"; -$M{"qobitree"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"qsymbols"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"quotchap"}="24 Feb 1998 13:20:08 Graham.Williams\@cmis.csiro.au"; -$M{"quotes"}="1 May 1998 16:55:48 Graham.Williams\@cmis.csiro.au"; -$M{"r-und-s"}="3 Jul 1997 08:10:21 Graham.Williams\@cmis.csiro.au"; -$M{"ragged2e"}="10 Aug 1998 09:09:43 Graham.Williams\@cmis.csiro.au"; -$M{"rail"}="1 Oct 1998 07:36:00 Graham.Williams\@cmis.csiro.au"; -$M{"rangecite"}="28 May 1996 16:31:55 Graham.Williams\@cmis.csiro.au"; -$M{"rawfonts"}="6 Jun 1997 11:32:53 Graham.Williams\@cmis.csiro.au"; -$M{"rawprint"}="21 Oct 1996 13:50:40 Graham.Williams\@cmis.csiro.au"; -$M{"rcsinfo"}="25 Feb 1999 11:36:47 Graham.Williams\@cmis.csiro.au"; -$M{"realcalc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"recipe"}="26 Nov 1996 16:28:13 Graham.Williams\@cmis.csiro.au"; -$M{"refcheck"}="12 May 1997 10:18:04 Graham.Williams\@cmis.csiro.au"; -$M{"refman"}="1 Jun 1998 12:05:47 Graham.Williams\@cmis.csiro.au"; -$M{"relenc"}="23 Feb 1999 16:14:26 Graham.Williams\@cmis.csiro.au"; -$M{"remreset"}="7 Oct 1997 08:58:13 Graham.Williams\@cmis.csiro.au"; -$M{"repeat"}="5 Jan 1999 08:27:22 Graham.Williams\@cmis.csiro.au"; -$M{"revnum"}="3 Mar 1998 15:31:13 Graham.Williams\@cmis.csiro.au"; -$M{"revtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"revtex"}="31 Oct 1996 13:44:58 Graham.Williams\@cmis.csiro.au"; -$M{"rlepsf"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"rmpage"}="5 Feb 1998 14:07:37 Graham.Williams\@cmis.csiro.au"; -$M{"romaniantex"}="15 Nov 1996 14:57:19 Graham.Williams\@cmis.csiro.au"; -$M{"romanneg"}="19 Apr 1998 15:22:21 Graham.Williams\@cmis.csiro.au"; -$M{"rotating"}="12 Jun 1996 06:45:47 Graham.Williams\@cmis.csiro.au"; -$M{"rplain"}="23 Sep 1998 09:45:08 Graham.Williams\@cmis.csiro.au"; -$M{"rsfs-ps"}="25 Apr 1998 06:14:30 Graham.Williams\@cmis.csiro.au"; -$M{"rsfs"}="12 Jun 1996 06:57:19 Graham.Williams\@cmis.csiro.au"; -$M{"ruhyphen"}="8 Oct 1998 11:53:41 Graham.Williams\@cmis.csiro.au"; -$M{"ruler"}="22 May 1996 16:04:57 Graham.Williams\@cmis.csiro.au"; -$M{"s2latex"}="7 Jun 1996 20:13:54 Graham.Williams\@cmis.csiro.au"; -$M{"saferef"}="4 Feb 1997 09:57:44 Graham.Williams\@cmis.csiro.au"; -$M{"sanskrit"}="19 Mar 1997 12:03:33 Graham.Williams\@cmis.csiro.au"; -$M{"sauter"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"sauterfonts"}="12 Nov 1998 20:16:14 Graham.Williams\@cmis.csiro.au"; -$M{"scale"}="6 Nov 1998 06:19:58 Graham.Williams\@cmis.csiro.au"; -$M{"scalefnt"}="7 Oct 1997 08:58:13 Graham.Williams\@cmis.csiro.au"; -$M{"schedule"}="18 Feb 1998 10:30:16 Graham.Williams\@cmis.csiro.au"; -$M{"script"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"section"}="1 May 1998 17:01:43 Graham.Williams\@cmis.csiro.au"; -$M{"sectsty"}="13 Dec 1998 05:29:30 Graham.Williams\@cmis.csiro.au"; -$M{"semantic"}="13 May 1996 06:13:26 Graham.Williams\@cmis.csiro.au"; -$M{"seminar"}="28 May 1996 16:32:44 Graham.Williams\@cmis.csiro.au"; -$M{"setspace"}="27 Nov 1998 09:26:04 Graham.Williams\@cmis.csiro.au"; -$M{"sfg"}="8 Jul 1998 09:15:14 Graham.Williams\@cmis.csiro.au"; -$M{"sfheaders"}="17 Feb 1998 09:11:27 Graham.Williams\@cmis.csiro.au"; -$M{"shadbox"}="5 Aug 1996 12:14:57 Graham.Williams\@cmis.csiro.au"; -$M{"shadbox"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"shadethm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"shading"}="24 Sep 1996 08:55:09 Graham.Williams\@cmis.csiro.au"; -$M{"shadow"}="21 Oct 1996 10:39:52 Graham.Williams\@cmis.csiro.au"; -$M{"shalom"}="30 May 1996 11:22:14 Graham.Williams\@cmis.csiro.au"; -$M{"shapepar"}="3 Jul 1996 15:23:38 Graham.Williams\@cmis.csiro.au"; -$M{"shhyphl"}="7 Jan 1999 07:27:53 Graham.Williams\@cmis.csiro.au"; -$M{"shortlst"}="29 Nov 1998 18:20:51 Graham.Williams\@cmis.csiro.au"; -$M{"shorttoc"}="22 Jul 1998 06:07:50 Graham.Williams\@cmis.csiro.au"; -$M{"showdim"}="30 Jul 1998 05:30:48 Graham.Williams\@cmis.csiro.au"; -$M{"showlabels"}="23 Feb 1999 13:56:22 Graham.Williams\@cmis.csiro.au"; -$M{"siam"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"sidecap"}="6 Nov 1998 06:07:25 Graham.Williams\@cmis.csiro.au"; -$M{"siggraph"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"simpsons"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; -$M{"sinhala"}="31 Oct 1996 09:54:37 Graham.Williams\@cmis.csiro.au"; -$M{"sirlin"}="16 Aug 1996 14:13:00 Graham.Williams\@cmis.csiro.au"; -$M{"siunits"}="23 Jan 1999 05:00:33 Graham.Williams\@cmis.csiro.au"; -$M{"slashbox"}="20 Feb 1998 14:26:38 Graham.Williams\@cmis.csiro.au"; -$M{"slashed"}="11 Feb 1998 07:48:41 Graham.Williams\@cmis.csiro.au"; -$M{"slidenotes"}="16 Dec 1998 08:33:45 Graham.Williams\@cmis.csiro.au"; -$M{"slides"}="17 Jun 1997 20:12:00 Graham.Williams\@cmis.csiro.au"; -$M{"smallcap"}="28 May 1996 15:57:18 Graham.Williams\@cmis.csiro.au"; -$M{"smallcap"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"smartmn"}="5 Nov 1996 09:14:21 Graham.Williams\@cmis.csiro.au"; -$M{"sobolev"}="1 May 1998 16:56:12 Graham.Williams\@cmis.csiro.au"; -$M{"somedefs"}="12 Aug 1998 06:35:40 Graham.Williams\@cmis.csiro.au"; -$M{"songbook"}="30 Jun 1998 10:54:02 Graham.Williams\@cmis.csiro.au"; -$M{"sorhyph"}="12 May 1997 10:30:15 Graham.Williams\@cmis.csiro.au"; -$M{"soul"}="21 Jan 1999 19:15:44 Graham.Williams\@cmis.csiro.au"; -$M{"spanish"}="21 May 1996 13:04:45 Graham.Williams\@cmis.csiro.au"; -$M{"spanishb"}="5 Oct 1998 11:43:25 Graham.Williams\@cmis.csiro.au"; -$M{"sphack"}="28 May 1998 16:16:55 Graham.Williams\@cmis.csiro.au"; -$M{"sprite"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"ssqquote"}="25 Dec 1996 UV"; -$M{"startex"}="21 Oct 1996 14:23:19 Graham.Williams\@cmis.csiro.au"; -$M{"startex"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"stdclsdv"}="21 Jan 1999 12:51:23 Graham.Williams\@cmis.csiro.au"; -$M{"stmaryrd-ps"}="25 Jul 1998 06:01:40 Graham.Williams\@cmis.csiro.au"; -$M{"stmaryrd"}="25 Apr 1998 06:19:27 Graham.Williams\@cmis.csiro.au"; -$M{"subeqn"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"supertabular"}="7 Oct 1997 09:01:35 Graham.Williams\@cmis.csiro.au"; -$M{"swift"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"syngen"}="19 Nov 1996 08:42:42 Graham.Williams\@cmis.csiro.au"; -$M{"synttree"}="12 Aug 1998 06:13:18 Graham.Williams\@cmis.csiro.au"; -$M{"t2"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"tabbing"}="10 Feb 1998 12:54:11 Graham.Williams\@cmis.csiro.au"; -$M{"tabls"}="15 Dec 1996 19:17:27 Graham.Williams\@cmis.csiro.au"; -$M{"tap"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"tap"}="08 Feb 1998 staw\@gust.org.pl"; -$M{"taylor"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"tbe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"tcvn"}="21 Jan 1999 19:18:03 Graham.Williams\@cmis.csiro.au"; -$M{"tcx"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"tds"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; -$M{"techexplorer"}="19 Aug 1998 07:13:20 Graham.Williams\@cmis.csiro.au"; -$M{"tengwar"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"tensind"}="18 Jun 1998 10:06:41 Graham.Williams\@cmis.csiro.au"; -$M{"tensor"}="7 Jun 1996 08:52:37 Graham.Williams\@cmis.csiro.au"; -$M{"termcal"}="14 Jan 1997 10:10:12 Graham.Williams\@cmis.csiro.au"; -$M{"tetex"}="11 Jun 1997 19:22:32 Graham.Williams\@cmis.csiro.au"; -$M{"tex-math"}="8 Jul 1996 14:14:25 Graham.Williams\@cmis.csiro.au"; -$M{"tex-ps"}="09 Jun 1998 staw\@gust.org.pl"; -$M{"tex2bib"}="27 Jan 1998 16:50:26 Graham.Williams\@cmis.csiro.au"; -$M{"tex2html"}="29 Jan 1998 09:10:30 Graham.Williams\@cmis.csiro.au"; -$M{"tex2ltx"}="28 Oct 1998 11:56:39 Graham.Williams\@cmis.csiro.au"; -$M{"tex2rtf"}="25 Jun 1996 08:56:43 Graham.Williams\@cmis.csiro.au"; -$M{"tex4ht"}="23 Oct 1998 05:35:34 Graham.Williams\@cmis.csiro.au"; -$M{"tex98"}="12 Aug 1998 06:09:09 Graham.Williams\@cmis.csiro.au"; -$M{"texdraw"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"texed"}="11 Nov 1998 05:47:04 Graham.Williams\@cmis.csiro.au"; -$M{"texi2html"}="3 Feb 1999 10:27:21 Graham.Williams\@cmis.csiro.au"; -$M{"texi2www"}="2 Jul 1996 10:33:31 Graham.Williams\@cmis.csiro.au"; -$M{"texinfo"}="3 Feb 1999 10:28:52 Graham.Williams\@cmis.csiro.au"; -$M{"texip"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"texlist"}="31 Jan 1999 07:36:23 Graham.Williams\@cmis.csiro.au"; -$M{"texperf"}="16 Aug 1996 14:08:55 Graham.Williams\@cmis.csiro.au"; -$M{"texshell32"}="28 Mar 1998 07:07:28 Graham.Williams\@cmis.csiro.au"; -$M{"texsis"}="27 Jan 1998 16:44:10 Graham.Williams\@cmis.csiro.au"; -$M{"texsk"}="7 Mar 1997 16:53:45 Graham.Williams\@cmis.csiro.au"; -$M{"text1"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"textcase"}="11 Feb 1998 07:49:12 Graham.Williams\@cmis.csiro.au"; -$M{"textfit"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"textmerg"}="31 May 1996 08:43:05 Graham.Williams\@cmis.csiro.au"; -$M{"textoolspro"}=" LaTeX- code, so you can write sections in a"; -$M{"textoolspro"}="21 Jan 1999 13:03:19 Graham.Williams\@cmis.csiro.au"; -$M{"textpos"}="23 Feb 1999 13:54:56 Graham.Williams\@cmis.csiro.au"; -$M{"tfmpk"}="16 Dec 1998 08:30:00 Graham.Williams\@cmis.csiro.au"; -$M{"thesis"}="20 May 1996 10:22:19 Graham.Williams\@cmis.csiro.au"; -$M{"threed"}="13 Apr 1998 06:37:38 Graham.Williams\@cmis.csiro.au"; -$M{"threeparttable"}="15 Dec 1996 19:16:24 Graham.Williams\@cmis.csiro.au"; -$M{"thumb"}="10 Feb 1998 09:34:21 Graham.Williams\@cmis.csiro.au"; -$M{"thumbpdf"}="17 Feb 1999 16:50:56 Graham.Williams\@cmis.csiro.au"; -$M{"tiff"}="11 Nov 1998 05:43:39 Graham.Williams\@cmis.csiro.au"; -$M{"tiff2ps"}="06 May 1998 staw\@gust.org.pl"; -$M{"time"}="7 Jun 1996 09:04:45 Graham.Williams\@cmis.csiro.au"; -$M{"times"}="28 May 1997 16:25:37 Graham.Williams\@cmis.csiro.au"; -$M{"timesht"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"timing"}="3 May 1997 s.rahtz\@elsevier.co.uk"; -$M{"tipa"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"titlefoot"}="18 Mar 1998 09:30:36 Graham.Williams\@cmis.csiro.au"; -$M{"titleref"}="15 Dec 1996 19:19:50 Graham.Williams\@cmis.csiro.au"; -$M{"titlesec"}="23 Feb 1999 14:58:36 Graham.Williams\@cmis.csiro.au"; -$M{"titletoc"}="23 Feb 1999 14:58:46 Graham.Williams\@cmis.csiro.au"; -$M{"tkbibtex"}="10 Aug 1998 06:27:23 Graham.Williams\@cmis.csiro.au"; -$M{"tmview"}="29 Jun 1998 10:00:32 Graham.Williams\@cmis.csiro.au"; -$M{"tocbibind"}="21 Jan 1999 12:54:08 Graham.Williams\@cmis.csiro.au"; -$M{"tocloft"}="21 Jan 1999 12:57:14 Graham.Williams\@cmis.csiro.au"; -$M{"tocvsec2"}="21 Jan 1999 12:52:58 Graham.Williams\@cmis.csiro.au"; -$M{"toil"}="27 Jan 1998 16:54:47 Graham.Williams\@cmis.csiro.au"; -$M{"toil"}="08 Feb 1998 staw\@gust.org.pl"; -$M{"tools"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"topcapt"}="15 Dec 1996 19:04:36 Graham.Williams\@cmis.csiro.au"; -$M{"tracking"}="5 Aug 1996 12:11:48 Graham.Williams\@cmis.csiro.au"; -$M{"tracking"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"trans"}="17 Nov 1996 11:34:19 Graham.Williams\@cmis.csiro.au"; -$M{"trans"}="08 Feb 1998 staw\@gust.org.pl"; -$M{"transfig"}="8 Jul 1998 09:08:50 Graham.Williams\@cmis.csiro.au"; -$M{"treesvr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"truncate"}="15 Dec 1996 19:23:52 Graham.Williams\@cmis.csiro.au"; -$M{"tsconfig"}="27 Nov 1996 13:48:24 Graham.Williams\@cmis.csiro.au"; -$M{"ttf2mf"}="25 Nov 1998 05:37:46 Graham.Williams\@cmis.csiro.au"; -$M{"ttf2pk"}="2 Jan 1999 22:03:00 Graham.Williams\@cmis.csiro.au"; -$M{"ttf2tfm"}="2 Jan 1999 22:05:48 Graham.Williams\@cmis.csiro.au"; -$M{"ttftogf"}="19 Sep 1998 08:12:18 Graham.Williams\@cmis.csiro.au"; -$M{"tth-rpm"}="13 Feb 1999 08:51:59 Graham.Williams\@cmis.csiro.au"; -$M{"tth-win"}="10 Sep 1998 18:39:22 Graham.Williams\@cmis.csiro.au"; -$M{"tth"}="27 Mar 1998 12:45:38 Graham.Williams\@cmis.csiro.au"; -$M{"ttt"}="19 Mar 1997 08:34:45 Graham.Williams\@cmis.csiro.au"; -$M{"tubtoc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"tugboat-toc"}="28 Dec 1998 09:28:11 Graham.Williams\@cmis.csiro.au"; -$M{"tugboat"}="3 May 1997 s.rahtz\@elsevier.co.uk"; -$M{"tugboat"}="3 Jul 1997 08:01:03 Graham.Williams\@cmis.csiro.au"; -$M{"twg-list"}="25 Feb 1998 09:33:34 Graham.Williams\@cmis.csiro.au"; -$M{"twoup"}="19 Mar 1998 10:39:40 Graham.Williams\@cmis.csiro.au"; -$M{"type1"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"type1"}="February 1998, s.rahtz\@elsevier.co.uk"; -$M{"type1cm"}="7 Mar 1997 16:50:06 Graham.Williams\@cmis.csiro.au"; -$M{"type1cm"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"typearea"}="12 Jun 1996 13:18:22 Graham.Williams\@cmis.csiro.au"; -$M{"typehtml"}="27 Nov 1997 17:08:38 Graham.Williams\@cmis.csiro.au"; -$M{"typespec"}="2 Jul 1998 13:03:32 Graham.Williams\@cmis.csiro.au"; -$M{"uaclasses"}="19 Mar 1997 12:05:52 Graham.Williams\@cmis.csiro.au"; -$M{"uaclasses"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"ucthesis"}="abstract A version of the standard \LaTeX{} report style"; -$M{"ukhyph"}="21 Oct 1996 10:37:20 Graham.Williams\@cmis.csiro.au"; -$M{"ulem"}="28 May 1996 16:34:03 Graham.Williams\@cmis.csiro.au"; -$M{"ulsy"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"umlaute"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"umrand"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"underlin"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; -$M{"underscore"}="17 Jul 1998 07:34:04 Graham.Williams\@cmis.csiro.au"; -$M{"uniqleaf"}="2 Aug 1996 12:44:23 Graham.Williams\@cmis.csiro.au"; -$M{"units"}="6 Aug 1998 06:17:29 Graham.Williams\@cmis.csiro.au"; -$M{"universa"}="6 Sep 1998 05:46:31 Graham.Williams\@cmis.csiro.au"; -$M{"url"}="3 Jul 1996 15:23:38 Graham.Williams\@cmis.csiro.au"; -$M{"urw"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"urwstd"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"urwvf"}="5 Feb 1998 09:33:04 Graham.Williams\@cmis.csiro.au"; -$M{"ut-backref"}="10 Nov 1998 10:38:10 Graham.Williams\@cmis.csiro.au"; -$M{"ut-thesis"}="23 Feb 1999 15:02:00 Graham.Williams\@cmis.csiro.au"; -$M{"utorontothesis"}="20 Feb 1998 14:27:24 Graham.Williams\@cmis.csiro.au"; -$M{"utthesis"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"uwthesis"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"vdm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"vector"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"verbatim"}="29 May 1996 11:58:52 Graham.Williams\@cmis.csiro.au"; -$M{"vertex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"vfcomb"}="24 Oct 1996 10:25:22 Graham.Williams\@cmis.csiro.au"; -$M{"vfinst"}="10 Sep 1998 18:41:42 Graham.Williams\@cmis.csiro.au"; -$M{"viiptart"}="8 Jul 1998 09:20:53 Graham.Williams\@cmis.csiro.au"; -$M{"vmargin"}="12 Jun 1996 13:14:31 Graham.Williams\@cmis.csiro.au"; -$M{"vncmr"}="19 Jul 1996 08:45:39 Graham.Williams\@cmis.csiro.au"; -$M{"vrb"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"vrsion"}="8 Jul 1998 08:17:05 Graham.Williams\@cmis.csiro.au"; -$M{"vruler"}="24 Oct 1996 11:15:39 Graham.Williams\@cmis.csiro.au"; -$M{"warpcol"}="13 Sep 1998 06:27:36 Graham.Williams\@cmis.csiro.au"; -$M{"wasy-ps"}="25 Jul 1998 06:05:00 Graham.Williams\@cmis.csiro.au"; -$M{"wasy"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"wasy2-ps"}="5 Aug 1998 06:26:09 Graham.Williams\@cmis.csiro.au"; -$M{"wasy2"}="25 Jul 1998 06:18:23 Graham.Williams\@cmis.csiro.au"; -$M{"wasysym"}="5 Jan 1999 07:44:43 Graham.Williams\@cmis.csiro.au"; -$M{"web2c-win32"}="3 Apr 1998 06:38:58 Graham.Williams\@cmis.csiro.au"; -$M{"web2c"}="20 Mar 1998 09:27:08 Graham.Williams\@cmis.csiro.au"; -$M{"williams"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"win95-guide"}="12 Apr 1998 20:46:26 Graham.Williams\@cmis.csiro.au"; -$M{"windvi"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"winedt"}="2 Jul 1998 13:00:44 Graham.Williams\@cmis.csiro.au"; -$M{"winemtex"}="3 Aug 1998 18:15:29 Graham.Williams\@cmis.csiro.au"; -$M{"winshell"}="21 Nov 1998 05:34:40 Graham.Williams\@cmis.csiro.au"; -$M{"wmf2eps"}="12 Nov 1998 20:15:28 Graham.Williams\@cmis.csiro.au"; -$M{"wnri"}="30 Jun 1998 10:56:34 Graham.Williams\@cmis.csiro.au"; -$M{"wntamil"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"word2x"}="29 Apr 1997 14:47:38 Graham.Williams\@cmis.csiro.au"; -$M{"wp-conv"}="1 Aug 1998 05:39:06 Graham.Williams\@cmis.csiro.au"; -$M{"wp2latex"}="23 Sep 1998 05:24:28 Graham.Williams\@cmis.csiro.au"; -$M{"wsuipa"}="13 Aug 1998 05:27:18 Graham.Williams\@cmis.csiro.au"; -$M{"wtex95"}="24 Feb 1998 14:01:24 Graham.Williams\@cmis.csiro.au"; -$M{"xdvi"}="28 Jun 1996 10:08:55 Graham.Williams\@cmis.csiro.au"; -$M{"xdvik"}="6 Apr 1998 05:53:45 Graham.Williams\@cmis.csiro.au"; -$M{"xfig"}="8 Jul 1998 09:08:50 Graham.Williams\@cmis.csiro.au"; -$M{"xtab"}="21 Oct 1998 09:32:30 Graham.Williams\@cmis.csiro.au"; -$M{"xtcapts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"xtem"}="27 Nov 1997 17:13:37 Graham.Williams\@cmis.csiro.au"; -$M{"xymtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"xypic"}="21 Nov 1998 05:35:39 Graham.Williams\@cmis.csiro.au"; -$M{"yannisgr"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; -$M{"yfonts"}="27 Jan 1999 08:26:02 Graham.Williams\@cmis.csiro.au"; -$M{"yhmath"}="16 May 1996 s.rahtz\@elsevier.co.uk"; -$M{"yi4latex"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; -$M{"youngtab"}="29 Jun 1998 10:06:42 Graham.Williams\@cmis.csiro.au"; -$M{"yplan99"}="11 Dec 1998 05:45:33 Graham.Williams\@cmis.csiro.au"; -$M{"ytex"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; -$M{"zefonts"}="30 Sep 1998 07:50:57 Graham.Williams\@cmis.csiro.au"; -1; diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/nocites.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/nocites.tex deleted file mode 100644 index 759b379f30e..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/nocites.tex +++ /dev/null @@ -1,557 +0,0 @@ -\nocite{a0poster} -\nocite{aaai} -\nocite{abstyles} -\nocite{accfonts} -\nocite{achemso} -\nocite{acronym} -\nocite{adfathesis} -\nocite{adobeother} -\nocite{adobestd} -\nocite{adrlist} -\nocite{ae} -\nocite{aguplus} -\nocite{aiaa} -\nocite{akletter} -\nocite{alatex} -\nocite{algorithms} -\nocite{alg} -\nocite{alphaev5-osf4.0d} -\nocite{altfont} -\nocite{amsfonts} -\nocite{amslatex} -\nocite{amstex} -\nocite{answers} -\nocite{antyktor} -\nocite{apa} -\nocite{apl} -\nocite{appendix} -\nocite{arabtex} -\nocite{arydshln} -\nocite{ar} -\nocite{asaetr} -\nocite{ascii} -\nocite{astro} -\nocite{aurora} -\nocite{authorindex} -\nocite{autotab} -\nocite{babel} -\nocite{backgammon} -\nocite{bakoma} -\nocite{barcode2} -\nocite{barcodes} -\nocite{barr} -\nocite{bbding} -\nocite{bbm} -\nocite{bbold} -\nocite{bbtbase} -\nocite{bbtdoc} -\nocite{beebe} -\nocite{belleek} -\nocite{beton} -\nocite{bez123} -\nocite{bezos} -\nocite{bibarts} -\nocite{biblist} -\nocite{bluesky} -\nocite{blue} -\nocite{booktabs} -\nocite{borceux} -\nocite{bosisio} -\nocite{bridge} -\nocite{brushscr} -\nocite{c-pascal} -\nocite{calendar} -\nocite{calligra} -\nocite{calrsfs} -\nocite{camel} -\nocite{caption} -\nocite{carlisle} -\nocite{casyl} -\nocite{catalog} -\nocite{cbgreek} -\nocite{cc-pl} -\nocite{ccaption} -\nocite{ccfonts} -\nocite{cchess} -\nocite{cdcover} -\nocite{cellular} -\nocite{changebar} -\nocite{chemcono} -\nocite{chemsym} -\nocite{cheq} -\nocite{cherokee} -\nocite{chess} -\nocite{china2e} -\nocite{circ} -\nocite{cirth} -\nocite{cite} -\nocite{cjk} -\nocite{cmbright} -\nocite{cmcyralt} -\nocite{cmcyr} -\nocite{cmdtrack} -\nocite{cmextra} -\nocite{cmpica} -\nocite{cmpk} -\nocite{cmsd} -\nocite{cm} -\nocite{codepage} -\nocite{colorsep} -\nocite{colortab} -\nocite{comment} -\nocite{concmath} -\nocite{concrete} -\nocite{context} -\nocite{covington} -\nocite{croatian} -\nocite{crop} -\nocite{crossword} -\nocite{crosswrd} -\nocite{csfonts} -\nocite{cslatex} -\nocite{csplain} -\nocite{cspsfonts} -\nocite{cstug} -\nocite{cursor} -\nocite{curves} -\nocite{custom-bib} -\nocite{cyrillic} -\nocite{dancers} -\nocite{deleq} -\nocite{devanagari} -\nocite{dialogl} -\nocite{dinbrief} -\nocite{directory} -\nocite{dotseqn} -\nocite{draftcopy} -\nocite{dratex} -\nocite{dropping} -\nocite{dstroke} -\nocite{dtk} -\nocite{duerer} -\nocite{dvipdfm} -\nocite{dvipsbase} -\nocite{dvipsdoc} -\nocite{ean} -\nocite{easy} -\nocite{ecc} -\nocite{ecltree} -\nocite{eco} -\nocite{ecpk} -\nocite{ec} -\nocite{edmac} -\nocite{eepic} -\nocite{egplot} -\nocite{eiad} -\nocite{eijkhout} -\nocite{elsevier} -\nocite{elvish} -\nocite{emp} -\nocite{emulateapj} -\nocite{encodings} -\nocite{endfloat} -\nocite{engwar} -\nocite{envbig} -\nocite{envlab} -\nocite{epigraph} -\nocite{eplain} -\nocite{eqname} -\nocite{eqnarray} -\nocite{esieecv} -\nocite{etexbase} -\nocite{etruscan} -\nocite{euler} -\nocite{euro2} -\nocite{eurofont} -\nocite{europs} -\nocite{eurosans} -\nocite{eurosym} -\nocite{euro} -\nocite{euxm} -\nocite{examdesign} -\nocite{exam} -\nocite{expdlist} -\nocite{expl3} -\nocite{export} -\nocite{fancybox} -\nocite{fancyhdr} -\nocite{fancyref} -\nocite{fancyvrb} -\nocite{fax} -\nocite{fc} -\nocite{feynmf} -\nocite{finbib} -\nocite{floatfig} -\nocite{floatflt} -\nocite{float} -\nocite{fltpage} -\nocite{fncychap} -\nocite{foilhtml} -\nocite{foiltex} -\nocite{fontinst} -\nocite{fontname} -\nocite{footbib} -\nocite{footmisc} -\nocite{footnpag} -\nocite{formats} -\nocite{formula} -\nocite{fp} -\nocite{frankenstein} -\nocite{french} -\nocite{fribrief} -\nocite{fullblck} -\nocite{fullpict} -\nocite{fundus} -\nocite{futhark} -\nocite{g-brief} -\nocite{gb4e} -\nocite{genealogy} -\nocite{general} -\nocite{genmisc} -\nocite{geometry} -\nocite{geomsty} -\nocite{german} -\nocite{germbib} -\nocite{germdoc} -\nocite{gloss} -\nocite{gn-logic} -\nocite{gothic} -\nocite{go} -\nocite{graphics} -\nocite{greek6cbc} -\nocite{grnumalt} -\nocite{grtimes} -\nocite{guides} -\nocite{gustlib} -\nocite{hands} -\nocite{hanging} -\nocite{harpoon} -\nocite{harvard} -\nocite{harvmac} -\nocite{hh} -\nocite{hilowres} -\nocite{histogr} -\nocite{hoekwater} -\nocite{hppa1.1-hpux10.10} -\nocite{html} -\nocite{hvmaths} -\nocite{hyperref} -\nocite{hyper} -\nocite{hyphenat} -\nocite{hyphen} -\nocite{i386-linux-libc5} -\nocite{i386-linux} -\nocite{ibm} -\nocite{ieeepes} -\nocite{ifacmtg} -\nocite{imac} -\nocite{indxcite} -\nocite{info} -\nocite{ini} -\nocite{insbox} -\nocite{ipa} -\nocite{isostds} -\nocite{jadetex} -\nocite{jhep} -\nocite{jknappen} -\nocite{jsmisc} -\nocite{jura} -\nocite{kalender} -\nocite{karnaugh} -\nocite{kdgreek} -\nocite{kluwer} -\nocite{knuth} -\nocite{koma-script} -\nocite{kuvio} -\nocite{labels} -\nocite{lamstex} -\nocite{lastpage} -\nocite{latexfonts} -\nocite{layouts} -\nocite{leaflet} -\nocite{leftidx} -\nocite{lettrine} -\nocite{levy} -\nocite{lgc} -\nocite{lgreek} -\nocite{lhcyr} -\nocite{lh} -\nocite{lineno} -\nocite{linguex} -\nocite{listings} -\nocite{lkort} -\nocite{localloc} -\nocite{logic} -\nocite{lollipop} -\nocite{ltablex} -\nocite{ltx2rtf} -\nocite{ltxbase} -\nocite{ltxdoc} -\nocite{ltxmisc} -\nocite{lucida} -\nocite{ly1} -\nocite{mailing} -\nocite{makeindex} -\nocite{malayalam} -\nocite{malvern} -\nocite{mapcodes} -\nocite{maple} -\nocite{margbib} -\nocite{marvosym} -\nocite{mathcomp} -\nocite{mathematica} -\nocite{mathpple} -\nocite{mcite} -\nocite{mdwtools} -\nocite{metasupp} -\nocite{method} -\nocite{mex} -\nocite{mff} -\nocite{mflogo} -\nocite{mfmisc} -\nocite{mfnfss} -\nocite{mfpic} -\nocite{mftoeps} -\nocite{mft} -\nocite{mhs} -\nocite{midnight} -\nocite{minitoc} -\nocite{mips-irix6.2} -\nocite{misc209} -\nocite{mltex} -\nocite{mnras} -\nocite{monotype} -\nocite{montex} -\nocite{morehelp} -\nocite{moresize} -\nocite{moreverb} -\nocite{morse} -\nocite{mpattern} -\nocite{mpbase} -\nocite{mpfnmark} -\nocite{mslapa} -\nocite{ms} -\nocite{mtbe} -\nocite{multenum} -\nocite{multirow} -\nocite{multi} -\nocite{musictex} -\nocite{musixtex} -\nocite{nassflow} -\nocite{natbib} -\nocite{ncctools} -\nocite{newalg} -\nocite{newlfm} -\nocite{newsletr} -\nocite{newthm} -\nocite{niceframe} -\nocite{nomencl} -\nocite{nrc} -\nocite{ntgclass} -\nocite{ntg} -\nocite{ntheorem} -\nocite{numline} -\nocite{objectz} -\nocite{oca} -\nocite{ocr-a} -\nocite{ogham} -\nocite{ogonek} -\nocite{oldstyle} -\nocite{omegabase} -\nocite{omegafonts} -\nocite{osmanian} -\nocite{ot2cyr} -\nocite{overpic} -\nocite{pacioli} -\nocite{pageno} -\nocite{pandora} -\nocite{paper} -\nocite{paralist} -\nocite{parallel} -\nocite{patch} -\nocite{pawpict} -\nocite{pb-diagram} -\nocite{pdcmac} -\nocite{pdfscreen} -\nocite{pdftex} -\nocite{permute} -\nocite{phoenician} -\nocite{phonetic} -\nocite{physe} -\nocite{phyzzx} -\nocite{picinpar} -\nocite{picins} -\nocite{pictex} -\nocite{piff} -\nocite{pl-qx} -\nocite{plainmisc} -\nocite{plaintex} -\nocite{plari} -\nocite{platex} -\nocite{play} -\nocite{plcalendar} -\nocite{plfonts} -\nocite{plgraph} -\nocite{plpatch} -\nocite{pl} -\nocite{pmgraph} -\nocite{poligraf} -\nocite{polish} -\nocite{polyglot} -\nocite{prettyref} -\nocite{progkeys} -\nocite{program} -\nocite{proofs} -\nocite{protex} -\nocite{psafm} -\nocite{psfig} -\nocite{psfrag} -\nocite{psizzl} -\nocite{pslatex} -\nocite{psnfssx} -\nocite{psnfss} -\nocite{pspicture} -\nocite{pstricks} -\nocite{punk} -\nocite{qfonts} -\nocite{qobitree} -\nocite{qsymbols} -\nocite{quotchap} -\nocite{r-und-s} -\nocite{rcsinfo} -\nocite{rcs} -\nocite{realcalc} -\nocite{refcheck} -\nocite{refman} -\nocite{relenc} -\nocite{revtex} -\nocite{rlepsf} -\nocite{rmpage} -\nocite{rotating} -\nocite{rotfloat} -\nocite{rplain} -\nocite{rs6000-aix4.1.4.0} -\nocite{rsfs} -\nocite{ruhyphen} -\nocite{runic} -\nocite{sanskrit} -\nocite{sauterfonts} -\nocite{scale} -\nocite{schedule} -\nocite{script} -\nocite{sectsty} -\nocite{semantic} -\nocite{seminar} -\nocite{setspace} -\nocite{shadbox} -\nocite{shadethm} -\nocite{shortlst} -\nocite{shorttoc} -\nocite{showdim} -\nocite{showlabels} -\nocite{siam} -\nocite{sidecap} -\nocite{siggraph} -\nocite{simpsons} -\nocite{siunits} -\nocite{slashbox} -\nocite{slidenotes} -\nocite{smallcap} -\nocite{songbook} -\nocite{soul} -\nocite{sparc-solaris2.5.1} -\nocite{sprite} -\nocite{ssqquote} -\nocite{startex} -\nocite{stdclsdv} -\nocite{stmaryrd} -\nocite{subeqnarray} -\nocite{subeqn} -\nocite{subfigure} -\nocite{supertabular} -\nocite{synttree} -\nocite{t2} -\nocite{tabbing} -\nocite{tap} -\nocite{taylor} -\nocite{tbe} -\nocite{tcx} -\nocite{tds} -\nocite{tengwar} -\nocite{tetex} -\nocite{tex-ps} -\nocite{tex4ht} -\nocite{texdraw} -\nocite{texinfo} -\nocite{texip} -\nocite{texlive} -\nocite{texsis} -\nocite{text1} -\nocite{textfit} -\nocite{textmerg} -\nocite{textpos} -\nocite{thesis} -\nocite{threed} -\nocite{thumbpdf} -\nocite{thumb} -\nocite{timesht} -\nocite{timing} -\nocite{tipa} -\nocite{titlefoot} -\nocite{titlesec} -\nocite{tmmaths} -\nocite{tocbibind} -\nocite{tocloft} -\nocite{tocvsec2} -\nocite{tools} -\nocite{tracking} -\nocite{treesvr} -\nocite{treetex} -\nocite{ttf2pk} -\nocite{tugboat} -\nocite{tug} -\nocite{type1cm} -\nocite{type1} -\nocite{typespec} -\nocite{uaclasses} -\nocite{ucthesis} -\nocite{ulsy} -\nocite{umlaute} -\nocite{umrand} -\nocite{underlin} -\nocite{units} -\nocite{universa} -\nocite{uni} -\nocite{unsupported} -\nocite{urwstd} -\nocite{useful} -\nocite{ut-thesis} -\nocite{utthesis} -\nocite{uwthesis} -\nocite{vdm} -\nocite{vector} -\nocite{vertex} -\nocite{vita} -\nocite{vrb} -\nocite{vrsion} -\nocite{warpcol} -\nocite{wasysym} -\nocite{wasy} -\nocite{williams} -\nocite{win32} -\nocite{windvi} -\nocite{wnri} -\nocite{wntamil} -\nocite{wsuipa} -\nocite{xtab} -\nocite{xtcapts} -\nocite{xymtex} -\nocite{xypic} -\nocite{yannisgr} -\nocite{yfonts} -\nocite{yhmath} -\nocite{yi4latex} -\nocite{youngtab} -\nocite{ytex} -\nocite{zed-csp} -\nocite{zefonts} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/picture.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/picture.tex deleted file mode 100644 index 098cfe18f10..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/picture.tex +++ /dev/null @@ -1,46 +0,0 @@ -\documentclass{artikel3} -\pagestyle{empty} -\usepackage{pstcol,pst-text,lucidbrb} -\font\manual=manfnt %logo10 doesn't have what we need -\hyphenchar\manual=-1 -\def\MF{{\manual META}\-{\manual FONT}} -\begin{document} -\sffamily -\psset{unit=1mm} -\def\Size#1#2{\fontsize{#1}{#2}\selectfont} -\begin{pspicture}(-58,-58)(58,58) -\pscircle[linewidth=.3pt,linecolor=lightgray]{58} -%\pscircle{23} -\psset{linestyle=none} -% top of circle -\pstextpath[c]{\psarcn(0,0){48}{180}{0}} -{\Size{1.2cm}{1cm}\bfseries \TeX\ Live 4} -\rput(0,34){\begin{minipage}{8cm}\centering \textbf{March 1999}\\[3mm] -\Size{9}{10.5}Ready-to-run \TeX\ system for Linux, Unix (DEC,\\ HP, IBM, -SGI, Sun), and Win32 systems, \\ -based on Web2c 7.3\\ -\end{minipage}} -% bottom of circle -\rput(30,10){\begin{minipage}{2.7cm}\raggedleft\footnotesize -ISO 9660 with Joliet \\and Rock Ridge \\ -extensions\end{minipage}} -\rput(0,-30){\begin{minipage}{7cm}\centering -Macros, fonts, documentation to the\\ -\emph{{\TeX} Directory Structure} standard.\\[2mm] -Editor: Sebastian Rahtz -\end{minipage}} -\pstextpath[c]{\psarc(0,0){45}{180}{0}} -{ -{\Size{14}{14}\ttfamily http://www.tug.org/texlive/} } -\pstextpath[c]{\psarc(0,0){53}{180}{0}} -{\Size{13.2}{14}\bfseries -CSTUG $\bullet$ -Dante e.V. $\bullet$ -GUST $\bullet$ -GUTenberg $\bullet$ -NTG $\bullet$ -TUG $\bullet$ -TUG India $\bullet$ -UK TUG} -\end{pspicture} -\end{document} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/split.pl b/Master/texmf/doc/texlive/source/texlive-en/archive/split.pl deleted file mode 100644 index bca00584335..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/split.pl +++ /dev/null @@ -1,16 +0,0 @@ -#@TeXIndex{a0poster, -open TMP, ">/dev/null"; -while (<>) { - chop; - if (/\@TeXIndex/) { - print TMP "\n"; - close TMP; - $keep=$_; - s/\@TeXIndex{(.*),.*/$1/; - print "[$_]\n"; - open TMP, ">$_.bib"; - print TMP "$keep\n"; - } - else { print TMP "$_\n" ; } - -} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/status.pl b/Master/texmf/doc/texlive/source/texlive-en/archive/status.pl deleted file mode 100644 index 28c3d0d6d4c..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/status.pl +++ /dev/null @@ -1,31 +0,0 @@ -#package: pIq -#license: pd -#(but erasing the headers is not allowed) -#Note that I made the most recent change, but -#Mark Shoulson (shoulson@ctr.columbia.edu) -#wrote the initial version. He should be named -#in the catalogue, too. - -#csuov@csv.warwick.ac.uk -#Subject: cmtt -#To: krab@iesd.auc.dk -#Subject: ftn -#To: inas@MIB.HARZ.DE -#Subject: newthm -#To: reckdahl@leland.stanford.edu -#Subject: epslatex -#To: miktex-bug@ronin.in-berlin.de -#Subject: miktex -#To: de8827@blackjack.usma.edu -#Subject: lated -#To: jdyoung@AFIT.AF.MIL -#Subject: afthesis -#xlwy01@uxp1.hrz.uni-dortmund.de (c2cweb) - -$L{"newlfm"}="free-latex"; -$L{"pacioli"}="gpl"; -$L{"etruscan"}="gpl"; -$L{"phoenician"}="gpl"; -$L{"greek6bc"}="gpl"; -$L{"runic"}="gpl"; -1; diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.bib b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.bib deleted file mode 100644 index 17c75e197b7..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.bib +++ /dev/null @@ -1,235 +0,0 @@ -@TeXIndex{mips-irix6.2, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {System binaries for SGI running Irix 6.2}, - status = {free}, - texlive = {systems1} -} - -@TeXIndex{alpha-osf3.2, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {System binaries for Alpha running OSF 3.2.}, - status = {free}, - texlive = {systems1} -} - -@TeXIndex{alphaev5-osf4.0d, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {System binaries for Alphaev5 running OSF 4.0d.}, - status = {free}, - texlive = {systems1} -} - -@TeXIndex{alphaev5-osf4.0b, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {System binaries for Alphaev5 running OSF 4.0b.}, - status = {free}, - texlive = {systems1} -} - -@TeXIndex{bbtbase, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {Basic \BibTeX{} support files.}, - status = {free}, - texlive = {bibtex1} -} - -@TeXIndex{bbtdoc, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {Basic \BibTeX{} documentation.}, - status = {free}, - texlive = {bibtex2} -} - -@TeXIndex{catalog, - modified = {February 1999, s.rahtz@elsevier.co.uk}, - abstract = {Graham Williams' Catalogue of \TeX{} packages.}, - status = {free}, - texlive = {doc2} -} - -@TeXIndex{cmpk, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {Computer Modern fonts in PK format.}, - status = {free}, - texlive = {fonts3} -} - -@TeXIndex{dtk, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {Macros for the DANTE publication.}, - status = {free}, - texlive = {latex3} -} - -@TeXIndex{dvipsbase, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {Basic support files for dvips.}, - status = {free}, - texlive = {dvips1} -} - -@TeXIndex{general, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {Useful general documentation.}, - status = {free}, - texlive = {doc1} -} - -@TeXIndex{guides, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {Guides to using \LaTeX, in English, German, French, - Greek and Polish.}, - status = {free}, - texlive = {doc2} -} - -@TeXIndex{hppa1.1-hpux10.10, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {System binaries for HP running hpux10.10.}, - status = {free}, - texlive = {systems1} -} - -@TeXIndex{hyphen, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {Collection of hyphenation patterns.}, - email = {s.rahtz@elsevier.co.uk}, - author = {LaTeX3 Project}, - status = {free}, - texlive = {lang1} -} - -@TeXIndex{i386-linux, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {System binaries for Intel machines running Linux.}, - status = {free}, - texlive = {systems1} -} - -@TeXIndex{i386-linux-libc5, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {System binaries for Intel machines - running Linux, with libc5}, - status = {free}, - texlive = {systems1} -} - -@TeXIndex{ini, - modified = {February 1999, s.rahtz@elsevier.co.uk}, - abstract = {Startup files for building formats.}, - status = {free}, - texlive = {texlive1} -} - -@TeXIndex{lgc, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {Examples from the \emph{\LaTeX{} Graphics Companion}.}, - status = {free}, - texlive = {doc3} -} - -@TeXIndex{metasupp, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {MetaPost support files.}, - status = {free}, - texlive = {texlive1} -} - -@TeXIndex{mfmisc, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {Small support files for \MF.}, - status = {free}, - texlive = {fonts1} -} - -@TeXIndex{mft, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {Support files for MFT.}, - status = {free}, - texlive = {texlive1} -} - -@TeXIndex{misc209, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {Miscellaneous small macro files for \LaTeX 2.09.}, - status = {free}, - texlive = {latex2} -} - -@TeXIndex{mpbase, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {Basic MetaPost support files.}, - status = {free}, - texlive = {metapost1} -} - -@TeXIndex{multi, - modified = {February 1999, s.rahtz@elsevier.co.uk}, - abstract = {dvips header for making n-up pages.}, - status = {free}, - texlive = {dvips3} -} - -@TeXIndex{psafm, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {AFM files for PostScript fonts.}, - status = {free}, - texlive = {fonts3} -} - -@TeXIndex{pspk, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {PK files for common PostScript fonts.}, - status = {free}, - texlive = {fonts3} -} - -@TeXIndex{rs6000-aix4.1, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {System binaries for RS6000 running AIX 4.1.}, - status = {free}, - texlive = {systems1} -} - -@TeXIndex{rs6000-aix4.1.4.0, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {System binaries for RS6000 running AIX 4.1.4.0}, - status = {free}, - texlive = {systems1} -} - -@TeXIndex{sparc-solaris2.5.1, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {System binaries for Sun Sparc running Solaris 2.5.1.}, - status = {free}, - texlive = {systems1} -} - -@TeXIndex{texlive, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {Basic material for \TeXLive{}.}, - status = {free}, - texlive = {texlive1} -} - -@TeXIndex{tug, - modified = {February 1999, s.rahtz@elsevier.co.uk}, - abstract = {\TeX\ Users Group information.}, - status = {free}, - texlive = {doc3} -} - -@TeXIndex{useful, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {Useful documentation; various \LaTeX{} guides, FAQ, - fontname docs, etc.}, - status = {free}, - texlive = {doc2} -} - -@TeXIndex{win32, - modified = {February 1999 s.rahtz@elsevier.co.uk}, - abstract = {System binaries for Windows 32.}, - status = {free}, - texlive = {systems1} -} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.bst b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.bst deleted file mode 100644 index a4954030c95..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.bst +++ /dev/null @@ -1,60 +0,0 @@ -ENTRY - { - name - status - abstract - texlive - author - ctan - keywords - version - also - modified - } - {} % no integer entry variables - { label extra.label sort.label } % label entry variables - - -STRINGS { s t a.name } - - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} - -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} - -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} - -INTEGERS { nameptr namesleft numnames } - - -FUNCTION {TexIndex} { - texlive empty$ - { } - { "\bibitem{" cite$ * "}" * write$ - cite$ "&" * write$ - status "&" * write$ - texlive "&" * write$ - newline$ - abstract write$ - newline$ - } - if$ - } - - -READ - -ITERATE {call.type$} - diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2003 b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2003 deleted file mode 100644 index 3b75b7b5bfd..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2003 +++ /dev/null @@ -1,378 +0,0 @@ -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{tex-live}[2003/09/01 v1.0 TeX Live documentation style] -% -\RequirePackage{alltt} -\RequirePackage{array} -\RequirePackage{colortbl} -\RequirePackage{graphicx} -\RequirePackage{here} -\RequirePackage{longtable} -\RequirePackage{pslatex} -\RequirePackage{shortvrb} -\RequirePackage[normalem]{ulem} -\RequirePackage[obeyspaces]{url} -\RequirePackage{xspace} -\usepackage[T1]{fontenc} -\usepackage[latin1]{inputenc} -%\usepackage[textcomp]{lmodern} -% -\RequirePackage{europs} -\let\euro\EUR -% -\RequirePackage{mflogo} -\def\MP{MetaPost} -\let\mf\MF -% -% for a proper \acro command (even in the context of the definition in -% ltugboat -- \DRC overrides without checking) -\RequirePackage{relsize} -\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} -% -\RequirePackage{fancyvrb} -\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} -\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} -\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} -\DefineVerbatimEnvironment{boxedverbatim} - {Verbatim}{fontsize=\scriptsize,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. -% -% Page layout. -\advance\textwidth by 1.1in -\advance\oddsidemargin by -.55in -\advance\evensidemargin by -.55in -% -\advance\textheight by 1in -\advance\topmargin by -.5in -\advance\footskip by -.5in -\pagestyle{headings} -% -% LaTeX parameters. -\renewcommand{\topfraction}{0.85} -\renewcommand{\floatpagefraction}{0.86} -\renewcommand{\textfraction}{0.1} -\renewcommand{\belowcaptionskip}{4pt} -\setcounter{tocdepth}{2} -\setcounter{topnumber}{5} -\setcounter{totalnumber}{5} -% -% linebreaking, etc. -\pretolerance=1000 -\tolerance=1500 -\hbadness=3000 -\vbadness=3000 -\hyphenpenalty=400 -\emergencystretch=.1\hsize -\relpenalty=500 -% -% fonts -\let\sl\it -\let\slfamily\itfamily -\let\textsl\textit -%\def\ttdefault{cmtt} -\def\ttdefault{lmtt} -% -% 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 -\newcommand*{\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]{\texttt{#1}} -\newcommand{\samp}[1]{`\texttt{#1}'} -\newcommand{\var}[1]{\emph{#1}} -\newcommand{\ttvar}[1]{\texttt{\var{#1}}} -% -% underlined command input. -\def\Ucom#1{% - \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} -\def\OnCD#1{\href{../../../../#1}{\path{#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. -\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% - \hbox{$\mathcal{S}$}\kern-.075em $} -\def\AFMtoTFM{\cmdname{AFM2TFM}\null} -\def\bv{\emph{Baskerville}} -\let\BV=\bv -\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\KPS{Kpathsea} -\def\La{La} -\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\teTeX{\textrm{te}\TeX\xspace} -\def\TeXLive{\TeX{} Live\xspace} -\def\TFtoPL{\cmdname{TFtoPL}\null} -\def\TK{\textsf{\TeX-Collection}} -\def\TypeI{Type~1} -\def\VFtoVP{\cmdname{VFtoVP}\null} -\def\VPtoVF{\cmdname{VPtoVF}\null} -\def\XEmTeX{\textrm{XEm}\TeX\xspace} -\def\XEmacs{\textrm{XEmacs}\xspace} -\def\Webc{Web2C} -\providecommand*{\CD}{\acro{CD}\xspace} -\providecommand*{\CTAN}{\acro{CTAN}\xspace} -\providecommand*{\DVD}{\acro{DVD}\xspace} -\providecommand*{\HTML}{\acro{HTML}\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} -% -% 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 why \descriptionlabel doesn't. -\newenvironment{ttdescription} - {\begin{list}{label must be supplied}{% - \itemsep=0pt % these lists tend to have short descriptions - \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} -% -\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}} -% -% -% output setup -% -\newif\ifSingleColumn -\providecommand{\Status}{0} -%\typeout{Status is \Status} -% -% 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 -% -% -\ifcase\Status - % \Status = 0 - \typeout{TeX Live documentation for printing} - \SingleColumntrue - \newenvironment{multicols}[1]{}{} - \or - % \Status = 1 - \typeout{TeX Live documentation in PDF format} - \RequirePackage[colorlinks,bookmarksopen, - pdfstartview={FitBH -320000},hyperindex]{hyperref} - \SingleColumntrue - \newenvironment{multicols}[1]{}{} - \or - % \Status = 2 - \typeout{TeX Live documentation in HTML format} - \RequirePackage[latex4ht]{tex4ht} - \or - % \Status = 3 - \typeout{TeX Live documentation as a Baskerville issue} - \@ifundefined{Fonts}% - {\RequirePackage{ae}}% - {\RequirePackage[T1]{\Fonts}} - \RequirePackage{bvoutln}% outline of baskerville - \RequirePackage{multicol} - \SingleColumnfalse - \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\@} -\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 -} -% -% a hack for the bibliography -\bibliographystyle{tex-live} -\newif\iffirstbibentry -\global\firstbibentrytrue -\let\@@bibitem\bibitem -\renewcommand\bibitem{\iffirstbibentry - \global\firstbibentryfalse - \else - \\\SetRowColor - \fi - \@@bibitem -} - - -% for \Dings -\RequirePackage{pifont} -% available for inter-article dinglines -\def\Dings{\nopagebreak{\footnotesize\dingline{167}}} - -\endinput diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2004 b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2004 deleted file mode 100644 index 54ff32dbe53..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2004 +++ /dev/null @@ -1,422 +0,0 @@ -% $Id$ -% TeX Live documentation style. Written by many people over many years. -% Public domain. -% -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{tex-live}[2004/11/07 v1.0 TeX Live documentation style] -% -\RequirePackage{alltt} -\RequirePackage{array} -\RequirePackage{colortbl} -\RequirePackage{comment} -\RequirePackage{graphicx} -\RequirePackage{here} -\RequirePackage{longtable} -\RequirePackage{shortvrb} -\RequirePackage[normalem]{ulem} -\RequirePackage[obeyspaces]{url} -\RequirePackage{xspace} -% -\RequirePackage{lmodern} -\usepackage{textcomp}% including \textbullet -\usepackage[T1]{fontenc} -\usepackage[latin1]{inputenc} -% -% for a proper \acro command (even in the context of the definition in -% ltugboat -- \DRC overrides without checking) -\RequirePackage{relsize} -\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} -% -\RequirePackage{fancyvrb} -\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} -\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} -\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} -\DefineVerbatimEnvironment{boxedverbatim} - {Verbatim}{fontsize=\scriptsize,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. -% -% Page layout. -\advance\textwidth by 1.1in -\advance\oddsidemargin by -.55in -\advance\evensidemargin by -.55in -% -\advance\textheight by 1in -\advance\topmargin by -.5in -\advance\footskip by -.5in -\pagestyle{headings} -% -% LaTeX parameters. -\renewcommand{\topfraction}{0.85} -\renewcommand{\floatpagefraction}{0.86} -\renewcommand{\textfraction}{0.1} -\renewcommand{\belowcaptionskip}{4pt} -\setcounter{tocdepth}{2} -\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 -\newcommand*{\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]{\texttt{#1}} -\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}} -% -% \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 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. -\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% - \hbox{$\mathcal{S}$}\kern-.075em $} -\def\AFMtoTFM{\cmdname{AFM2TFM}\null} -\def\bv{\emph{Baskerville}} -\let\BV=\bv -\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\KPS{Kpathsea} -\def\La{La} -\def\OMEGA{$\Omega$} -\def\OzMF{OzMF} -\def\OzMP{OzMP} -\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} -\def\p.{p.\,} -\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{\textsf{\TeX-Collection}} -\let\TL=\TeXLive -\def\TypeI{Type~1} -\def\VFtoVP{\cmdname{VFtoVP}\null} -\def\VPtoVF{\cmdname{VPtoVF}\null} -\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} -\def\XEmTeX{\textrm{XEm}\TeX\xspace} -\def\XEmacs{\textrm{XEmacs}\xspace} -\def\Webc{Web2C} -\providecommand*{\CD}{\acro{CD}\xspace} -\providecommand*{\CTAN}{\acro{CTAN}\xspace} -\providecommand*{\DVD}{\acro{DVD}\xspace} -\providecommand*{\HTML}{\acro{HTML}\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] -} -% -% 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. -\newenvironment{itemize*}% - {\begin{itemize}% - \setlength{\itemsep}{0pt}% - \setlength{\parskip}{0pt}}% - {\end{itemize}} - -\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 -% -\newif\ifSingleColumn -\providecommand{\Status}{0} -%\typeout{Status is \Status} -% -% 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 -% -\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, - pagecolor=hypercolor,urlcolor=hypercolor, - filecolor=hypercolor, - bookmarksopen,pdfstartview={FitBH -320000},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}} - \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/source/texlive-en/archive/tex-live.sty-2005 b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2005 deleted file mode 100644 index 487c8b8d7a2..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2005 +++ /dev/null @@ -1,429 +0,0 @@ -% $Id: tex-live.sty 1513 2006-02-13 00:22:35Z karl $ -% TeX Live documentation style. Written by many people over many years. -% Public domain. -% -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{tex-live}[2005/09/24 v1.5 TeX Live documentation style] -% -\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 -\usepackage[T1]{fontenc} -\usepackage[latin1]{inputenc} -% -% for a proper \acro command (even in the context of the definition in -% ltugboat -- \DRC overrides without checking) -\RequirePackage{relsize} -\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} -% -\RequirePackage{fancyvrb} -\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} -\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} -\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} -\DefineVerbatimEnvironment{boxedverbatim} - {Verbatim}{fontsize=\scriptsize,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. -% -% Page layout. -\advance\textwidth by 1.1in -\advance\oddsidemargin by -.55in -\advance\evensidemargin by -.55in -% -\advance\textheight by 1in -\advance\topmargin by -.5in -\advance\footskip by -.5in -\pagestyle{headings} -% -% LaTeX parameters. -\renewcommand{\topfraction}{0.85} -\renewcommand{\floatpagefraction}{0.86} -\renewcommand{\textfraction}{0.1} -\renewcommand{\belowcaptionskip}{4pt} -\setcounter{tocdepth}{2} -\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 -\newcommand*{\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]{\texttt{#1}} -\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}} -% -% \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 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. -\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% - \hbox{$\mathcal{S}$}\kern-.075em $} -\def\AFMtoTFM{\cmdname{AFM2TFM}\null} -\def\bv{\emph{Baskerville}} -\let\BV=\bv -\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\KPS{Kpathsea} -\def\La{La} -\def\OMEGA{$\Omega$} -\def\OzMF{OzMF} -\def\OzMP{OzMP} -\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} -\def\p.{p.\,} -\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{\textsf{\TeX\ Collection}} -\let\TL=\TeXLive -\def\TypeI{Type~1} -\def\VFtoVP{\cmdname{VFtoVP}\null} -\def\VPtoVF{\cmdname{VPtoVF}\null} -\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} -\def\XEmTeX{\textrm{XEm}\TeX\xspace} -\def\XEmacs{\textrm{XEmacs}\xspace} -\def\Webc{Web2C} -\providecommand*{\CD}{\acro{CD}\xspace} -\providecommand*{\CTAN}{\acro{CTAN}\xspace} -\providecommand*{\DVD}{\acro{DVD}\xspace} -\providecommand*{\HTML}{\acro{HTML}\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] -} -% -% 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. -\newenvironment{itemize*}% - {\begin{itemize}% - \setlength{\itemsep}{0pt}% - \setlength{\parskip}{0pt}}% - {\end{itemize}} - -\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 -% -\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, - pagecolor=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}} - \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/source/texlive-en/archive/tex-live.sty-2007 b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2007 deleted file mode 100644 index 487c8b8d7a2..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2007 +++ /dev/null @@ -1,429 +0,0 @@ -% $Id: tex-live.sty 1513 2006-02-13 00:22:35Z karl $ -% TeX Live documentation style. Written by many people over many years. -% Public domain. -% -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{tex-live}[2005/09/24 v1.5 TeX Live documentation style] -% -\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 -\usepackage[T1]{fontenc} -\usepackage[latin1]{inputenc} -% -% for a proper \acro command (even in the context of the definition in -% ltugboat -- \DRC overrides without checking) -\RequirePackage{relsize} -\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} -% -\RequirePackage{fancyvrb} -\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} -\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} -\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} -\DefineVerbatimEnvironment{boxedverbatim} - {Verbatim}{fontsize=\scriptsize,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. -% -% Page layout. -\advance\textwidth by 1.1in -\advance\oddsidemargin by -.55in -\advance\evensidemargin by -.55in -% -\advance\textheight by 1in -\advance\topmargin by -.5in -\advance\footskip by -.5in -\pagestyle{headings} -% -% LaTeX parameters. -\renewcommand{\topfraction}{0.85} -\renewcommand{\floatpagefraction}{0.86} -\renewcommand{\textfraction}{0.1} -\renewcommand{\belowcaptionskip}{4pt} -\setcounter{tocdepth}{2} -\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 -\newcommand*{\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]{\texttt{#1}} -\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}} -% -% \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 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. -\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% - \hbox{$\mathcal{S}$}\kern-.075em $} -\def\AFMtoTFM{\cmdname{AFM2TFM}\null} -\def\bv{\emph{Baskerville}} -\let\BV=\bv -\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\KPS{Kpathsea} -\def\La{La} -\def\OMEGA{$\Omega$} -\def\OzMF{OzMF} -\def\OzMP{OzMP} -\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} -\def\p.{p.\,} -\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{\textsf{\TeX\ Collection}} -\let\TL=\TeXLive -\def\TypeI{Type~1} -\def\VFtoVP{\cmdname{VFtoVP}\null} -\def\VPtoVF{\cmdname{VPtoVF}\null} -\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} -\def\XEmTeX{\textrm{XEm}\TeX\xspace} -\def\XEmacs{\textrm{XEmacs}\xspace} -\def\Webc{Web2C} -\providecommand*{\CD}{\acro{CD}\xspace} -\providecommand*{\CTAN}{\acro{CTAN}\xspace} -\providecommand*{\DVD}{\acro{DVD}\xspace} -\providecommand*{\HTML}{\acro{HTML}\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] -} -% -% 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. -\newenvironment{itemize*}% - {\begin{itemize}% - \setlength{\itemsep}{0pt}% - \setlength{\parskip}{0pt}}% - {\end{itemize}} - -\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 -% -\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, - pagecolor=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}} - \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/source/texlive-en/archive/tex-live.sty-2008 b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2008 deleted file mode 100644 index 6bb5d7fb57b..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2008 +++ /dev/null @@ -1,444 +0,0 @@ -% $Id: tex-live.sty 10332 2008-08-14 01:04:30Z karl $ -% TeX Live documentation style. Written by many people over many years. -% Public domain. -% -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{tex-live}[2008/08/08 v1.6 TeX Live documentation style] -% -\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=\scriptsize,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. -% -% Page layout. -\advance\textwidth by 1.1in -\advance\oddsidemargin by -.55in -\advance\evensidemargin by -.55in -% -\advance\textheight by 1in -\advance\topmargin by -.5in -\advance\footskip by -.5in -\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 -\newcommand*{\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 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. -\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% - \hbox{$\mathcal{S}$}\kern-.075em $} -\def\AFMtoTFM{\cmdname{AFM2TFM}\null} -\def\bv{\emph{Baskerville}} -\let\BV=\bv -\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} -\def\La{La} -\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\xspace} -\def\Webc{Web2C} -\providecommand*{\CD}{\acro{CD}\xspace} -\providecommand*{\CTAN}{\acro{CTAN}\xspace} -\providecommand*{\DVD}{\acro{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. -\newenvironment{itemize*}% - {\begin{itemize}% - \setlength{\itemsep}{0pt}% - \setlength{\parskip}{0pt}}% - {\end{itemize}} - -\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 -% -\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}} - \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/source/texlive-en/archive/texlive.pl b/Master/texmf/doc/texlive/source/texlive-en/archive/texlive.pl deleted file mode 100644 index 33a19a801d6..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/archive/texlive.pl +++ /dev/null @@ -1,574 +0,0 @@ -$texlive{"a0poster"}="latex3"; -$texlive{"aaai"}="latex3"; -$texlive{"abstyles"}="bibtex3"; -$texlive{"accfonts"}="fonts3"; -$texlive{"achemso"}="latex3"; -$texlive{"acronym"}="latex3"; -$texlive{"adfathesis"}="latex3"; -$texlive{"adobeother"}="fonts3"; -$texlive{"adobestd"}="fonts1"; -$texlive{"adrlist"}="latex3"; -$texlive{"ae"}="fonts2"; -$texlive{"aguplus"}="latex3"; -$texlive{"aiaa"}="latex3"; -$texlive{"akletter"}="latex3"; -$texlive{"alatex"}="formats3"; -$texlive{"alg"}="latex3"; -$texlive{"algorithms"}="latex3"; -$texlive{"alphaev5-osf4.0d"}="systems1"; -$texlive{"alphaev5-osf4.0d"}="systems2"; -$texlive{"alphaev5-osf4.0d"}="systems3"; -$texlive{"altfont"}="latex3"; -$texlive{"amsfonts"}="fonts2"; -$texlive{"amslatex"}="latex2"; -$texlive{"amstex"}="plain2"; -$texlive{"answers"}="latex3"; -$texlive{"antyktor"}="fonts3"; -$texlive{"apa"}="latex3"; -$texlive{"apl"}="fonts3"; -$texlive{"appendix"}="latex3"; -$texlive{"ar"}="fonts3"; -$texlive{"arabtex"}="lang3"; -$texlive{"arydshln"}="latex3"; -$texlive{"asaetr"}="latex3"; -$texlive{"ascii"}="fonts3"; -$texlive{"astro"}="fonts3"; -$texlive{"aurora"}="dvips3"; -$texlive{"authorindex"}="latex3"; -$texlive{"autotab"}="latex3"; -$texlive{"babel"}="generic2"; -$texlive{"backgammon"}="fonts3"; -$texlive{"bakoma"}="fonts2"; -$texlive{"barcode2"}="fonts3"; -$texlive{"barcodes"}="fonts3"; -$texlive{"barr"}="graphics3"; -$texlive{"bbding"}="fonts3"; -$texlive{"bbm"}="fonts3"; -$texlive{"bbold"}="fonts3"; -$texlive{"bbtbase"}="bibtex1"; -$texlive{"bbtdoc"}="bibtex2"; -$texlive{"beebe"}="bibtex2"; -$texlive{"belleek"}="fonts2"; -$texlive{"beton"}="latex3"; -$texlive{"bez123"}="latex3"; -$texlive{"bezos"}="latex3"; -$texlive{"bibarts"}="bibtex3"; -$texlive{"biblist"}="latex3"; -$texlive{"blue"}="formats3"; -$texlive{"bluesky"}="fonts1"; -$texlive{"booktabs"}="latex2"; -$texlive{"borceux"}="graphics3"; -$texlive{"bosisio"}="latex3"; -$texlive{"bridge"}="latex3"; -$texlive{"brushscr"}="fonts3"; -$texlive{"c-pascal"}="generic3"; -$texlive{"calendar"}="latex3"; -$texlive{"calligra"}="fonts3"; -$texlive{"calrsfs"}="latex3"; -$texlive{"camel"}="latex3"; -$texlive{"caption"}="latex2"; -$texlive{"carlisle"}="latex2"; -$texlive{"casyl"}="lang3"; -$texlive{"catalog"}="doc2"; -$texlive{"cbgreek"}="fonts3"; -$texlive{"cc-pl"}="fonts2"; -$texlive{"ccaption"}="latex3"; -$texlive{"ccfonts"}="latex3"; -$texlive{"cchess"}="fonts3"; -$texlive{"cdcover"}="latex3"; -$texlive{"cellular"}="plain3"; -$texlive{"changebar"}="latex2"; -$texlive{"chemcono"}="latex3"; -$texlive{"chemsym"}="latex3"; -$texlive{"cheq"}="fonts3"; -$texlive{"cherokee"}="fonts3"; -$texlive{"chess"}="fonts3"; -$texlive{"china2e"}="latex3"; -$texlive{"circ"}="graphics3"; -$texlive{"cirth"}="fonts3"; -$texlive{"cite"}="latex2"; -$texlive{"cjk"}="lang3"; -$texlive{"cm"}="fonts1"; -$texlive{"cmbright"}="fonts2"; -$texlive{"cmcyr"}="fonts3"; -$texlive{"cmcyralt"}="latex3"; -$texlive{"cmdtrack"}="latex2"; -$texlive{"cmextra"}="fonts2"; -$texlive{"cmpica"}="fonts3"; -$texlive{"cmpk"}="fonts3"; -$texlive{"cmsd"}="latex3"; -$texlive{"codepage"}="latex3"; -$texlive{"colorsep"}="dvips3"; -$texlive{"colortab"}="plain3"; -$texlive{"comment"}="latex3"; -$texlive{"concmath"}="fonts3"; -$texlive{"concrete"}="fonts3"; -$texlive{"context"}="formats2"; -$texlive{"covington"}="latex3"; -$texlive{"croatian"}="lang3"; -$texlive{"crop"}="latex3"; -$texlive{"crossword"}="latex3"; -$texlive{"crosswrd"}="latex3"; -$texlive{"csfonts"}="fonts2"; -$texlive{"cslatex"}="lang2"; -$texlive{"csplain"}="lang2"; -$texlive{"cspsfonts"}="fonts2"; -$texlive{"cstug"}="doc3"; -$texlive{"cursor"}="latex3"; -$texlive{"curves"}="graphics3"; -$texlive{"custom-bib"}="bibtex2"; -$texlive{"cyrillic"}="lang2"; -$texlive{"dancers"}="fonts3"; -$texlive{"deleq"}="latex3"; -$texlive{"devanagari"}="lang3"; -$texlive{"dialogl"}="latex3"; -$texlive{"dinbrief"}="latex3"; -$texlive{"directory"}="bibtex3"; -$texlive{"dotseqn"}="latex3"; -$texlive{"draftcopy"}="latex3"; -$texlive{"dratex"}="graphics3"; -$texlive{"dropping"}="latex3"; -$texlive{"dstroke"}="fonts3"; -$texlive{"dtk"}="latex3"; -$texlive{"duerer"}="fonts3"; -$texlive{"dvipdfm"}="doc2"; -$texlive{"dvipsbase"}="dvips1"; -$texlive{"dvipsdoc"}="dvips2"; -$texlive{"ean"}="generic3"; -$texlive{"easy"}="latex3"; -$texlive{"ec"}="fonts2"; -$texlive{"ecc"}="fonts3"; -$texlive{"ecltree"}="latex2"; -$texlive{"eco"}="fonts3"; -$texlive{"ecpk"}="fonts3"; -$texlive{"edmac"}="plain3"; -$texlive{"eepic"}="graphics2"; -$texlive{"egplot"}="latex3"; -$texlive{"eiad"}="fonts3"; -$texlive{"eijkhout"}="generic3"; -$texlive{"elsevier"}="latex3"; -$texlive{"elvish"}="fonts3"; -$texlive{"emp"}="latex3"; -$texlive{"emulateapj"}="latex3"; -$texlive{"encodings"}="omega2"; -$texlive{"endfloat"}="latex3"; -$texlive{"engwar"}="fonts3"; -$texlive{"envbig"}="latex3"; -$texlive{"envlab"}="latex3"; -$texlive{"epigraph"}="latex3"; -$texlive{"eplain"}="formats2"; -$texlive{"eqname"}="latex3"; -$texlive{"eqnarray"}="latex3"; -$texlive{"esieecv"}="latex3"; -$texlive{"etexbase"}="etex2"; -$texlive{"etruscan"}="fonts3"; -$texlive{"euler"}="latex3"; -$texlive{"euro"}="fonts2"; -$texlive{"euro2"}="latex3"; -$texlive{"eurofont"}="fonts2"; -$texlive{"europs"}="fonts2"; -$texlive{"eurosans"}="latex3"; -$texlive{"eurosym"}="fonts2"; -$texlive{"euxm"}="fonts3"; -$texlive{"exam"}="latex3"; -$texlive{"examdesign"}="latex3"; -$texlive{"expdlist"}="latex3"; -$texlive{"expl3"}="latex3"; -$texlive{"export"}="latex3"; -$texlive{"fancybox"}="latex2"; -$texlive{"fancyhdr"}="latex2"; -$texlive{"fancyref"}="latex2"; -$texlive{"fancyvrb"}="latex2"; -$texlive{"fax"}="latex3"; -$texlive{"fc"}="fonts3"; -$texlive{"feynmf"}="graphics3"; -$texlive{"finbib"}="bibtex3"; -$texlive{"float"}="latex2"; -$texlive{"floatfig"}="latex3"; -$texlive{"floatflt"}="latex3"; -$texlive{"fltpage"}="latex3"; -$texlive{"fncychap"}="latex3"; -$texlive{"foilhtml"}="latex3"; -$texlive{"foiltex"}="latex3"; -$texlive{"fontinst"}="generic2"; -$texlive{"fontname"}="doc2"; -$texlive{"footbib"}="latex3"; -$texlive{"footmisc"}="latex2"; -$texlive{"footnpag"}="latex3"; -$texlive{"formats"}="texlive2"; -$texlive{"formula"}="latex3"; -$texlive{"fp"}="latex3"; -$texlive{"frankenstein"}="latex3"; -$texlive{"french"}="lang2"; -$texlive{"fribrief"}="latex3"; -$texlive{"fullblck"}="latex3"; -$texlive{"fullpict"}="latex3"; -$texlive{"fundus"}="latex3"; -$texlive{"futhark"}="fonts3"; -$texlive{"g-brief"}="latex3"; -$texlive{"gb4e"}="latex3"; -$texlive{"genealogy"}="fonts3"; -$texlive{"general"}="doc1"; -$texlive{"genmisc"}="generic3"; -$texlive{"geometry"}="latex3"; -$texlive{"geomsty"}="latex3"; -$texlive{"german"}="lang2"; -$texlive{"germbib"}="bibtex2"; -$texlive{"germdoc"}="doc2"; -$texlive{"gloss"}="latex3"; -$texlive{"gn-logic"}="latex3"; -$texlive{"go"}="fonts3"; -$texlive{"gothic"}="fonts3"; -$texlive{"graphics"}="latex1"; -$texlive{"greek6cbc"}="fonts3"; -$texlive{"grnumalt"}="latex3"; -$texlive{"grtimes"}="lang3"; -$texlive{"guides"}="doc2"; -$texlive{"gustlib"}="plain2"; -$texlive{"hands"}="fonts3"; -$texlive{"hanging"}="latex3"; -$texlive{"harpoon"}="latex3"; -$texlive{"harvard"}="bibtex2"; -$texlive{"harvmac"}="plain3"; -$texlive{"hh"}="latex3"; -$texlive{"hilowres"}="latex3"; -$texlive{"histogr"}="latex3"; -$texlive{"hoekwater"}="fonts2"; -$texlive{"hppa1.1-hpux10.10"}="systems1"; -$texlive{"hppa1.1-hpux10.10"}="systems2"; -$texlive{"hppa1.1-hpux10.10"}="systems3"; -$texlive{"html"}="doc2"; -$texlive{"hvmaths"}="fonts3"; -$texlive{"hyper"}="latex3"; -$texlive{"hyperref"}="latex2"; -$texlive{"hyphen"}="lang1"; -$texlive{"hyphenat"}="latex3"; -$texlive{"i386-linux"}="systems1"; -$texlive{"i386-linux"}="systems2"; -$texlive{"i386-linux"}="systems3"; -$texlive{"i386-linux-libc5"}="systems1"; -$texlive{"i386-linux-libc5"}="systems2"; -$texlive{"i386-linux-libc5"}="systems3"; -$texlive{"ibm"}="fonts3"; -$texlive{"ieeepes"}="latex3"; -$texlive{"ifacmtg"}="latex3"; -$texlive{"imac"}="latex3"; -$texlive{"indxcite"}="latex3"; -$texlive{"info"}="doc2"; -$texlive{"ini"}="texlive1"; -$texlive{"insbox"}="generic3"; -$texlive{"ipa"}="latex3"; -$texlive{"isostds"}="latex3"; -$texlive{"jadetex"}="formats2"; -$texlive{"jhep"}="latex3"; -$texlive{"jknappen"}="latex2"; -$texlive{"jsmisc"}="plain3"; -$texlive{"jura"}="latex3"; -$texlive{"kalender"}="latex3"; -$texlive{"karnaugh"}="latex3"; -$texlive{"kdgreek"}="fonts3"; -$texlive{"kluwer"}="latex3"; -$texlive{"knuth"}="doc3"; -$texlive{"koma-script"}="latex3"; -$texlive{"kuvio"}="graphics3"; -$texlive{"labels"}="latex3"; -$texlive{"lamstex"}="formats3"; -$texlive{"lastpage"}="latex3"; -$texlive{"latexfonts"}="latex1"; -$texlive{"layouts"}="latex3"; -$texlive{"leaflet"}="latex3"; -$texlive{"leftidx"}="latex3"; -$texlive{"lettrine"}="latex3"; -$texlive{"levy"}="latex3"; -$texlive{"lgc"}="doc3"; -$texlive{"lgreek"}="latex3"; -$texlive{"lh"}="fonts2"; -$texlive{"lhcyr"}="latex3"; -$texlive{"lineno"}="latex3"; -$texlive{"linguex"}="latex3"; -$texlive{"listings"}="latex3"; -$texlive{"lkort"}="doc3"; -$texlive{"localloc"}="latex3"; -$texlive{"logic"}="fonts3"; -$texlive{"lollipop"}="formats3"; -$texlive{"ltablex"}="latex3"; -$texlive{"ltx2rtf"}="texlive2"; -$texlive{"ltxbase"}="latex1"; -$texlive{"ltxdoc"}="doc2"; -$texlive{"ltxdoc"}="latex1"; -$texlive{"ltxmisc"}="latex2"; -$texlive{"lucida"}="fonts2"; -$texlive{"ly1"}="latex3"; -$texlive{"mailing"}="latex3"; -$texlive{"makeindex"}="doc1"; -$texlive{"malayalam"}="lang3"; -$texlive{"malvern"}="fonts3"; -$texlive{"mapcodes"}="latex3"; -$texlive{"maple"}="latex3"; -$texlive{"margbib"}="latex3"; -$texlive{"marvosym"}="fonts3"; -$texlive{"mathcomp"}="latex2"; -$texlive{"mathematica"}="fonts3"; -$texlive{"mathpple"}="fonts3"; -$texlive{"mcite"}="latex3"; -$texlive{"mdwtools"}="latex3"; -$texlive{"metasupp"}="texlive1"; -$texlive{"method"}="latex3"; -$texlive{"mex"}="lang2"; -$texlive{"mff"}="latex3"; -$texlive{"mflogo"}="latex2"; -$texlive{"mfmisc"}="fonts1"; -$texlive{"mfnfss"}="latex2"; -$texlive{"mfpic"}="graphics3"; -$texlive{"mft"}="texlive1"; -$texlive{"mftoeps"}="fonts3"; -$texlive{"mhs"}="latex3"; -$texlive{"midnight"}="generic3"; -$texlive{"minitoc"}="latex3"; -$texlive{"mips-irix6.2"}="systems1"; -$texlive{"mips-irix6.2"}="systems2"; -$texlive{"mips-irix6.2"}="systems3"; -$texlive{"misc209"}="latex2"; -$texlive{"mltex"}="latex2"; -$texlive{"mnras"}="plain3"; -$texlive{"monotype"}="fonts3"; -$texlive{"montex"}="lang3"; -$texlive{"morehelp"}="latex3"; -$texlive{"moresize"}="latex3"; -$texlive{"moreverb"}="latex3"; -$texlive{"morse"}="fonts3"; -$texlive{"mpattern"}="metapost2"; -$texlive{"mpbase"}="metapost1"; -$texlive{"mpfnmark"}="latex3"; -$texlive{"ms"}="latex3"; -$texlive{"mslapa"}="latex3"; -$texlive{"mtbe"}="plain3"; -$texlive{"multenum"}="latex3"; -$texlive{"multi"}="dvips3"; -$texlive{"multirow"}="latex3"; -$texlive{"musictex"}="generic3"; -$texlive{"musixtex"}="generic3"; -$texlive{"nassflow"}="latex3"; -$texlive{"natbib"}="bibtex2"; -$texlive{"ncctools"}="latex2"; -$texlive{"newalg"}="latex3"; -$texlive{"newlfm"}="latex3"; -$texlive{"newsletr"}="plain3"; -$texlive{"newthm"}="latex3"; -$texlive{"niceframe"}="latex3"; -$texlive{"nomencl"}="latex3"; -$texlive{"nrc"}="latex3"; -$texlive{"ntg"}="doc3"; -$texlive{"ntgclass"}="latex2"; -$texlive{"ntheorem"}="latex3"; -$texlive{"numline"}="latex3"; -$texlive{"objectz"}="latex3"; -$texlive{"oca"}="fonts3"; -$texlive{"ocr-a"}="fonts3"; -$texlive{"ogham"}="fonts3"; -$texlive{"ogonek"}="latex3"; -$texlive{"oldstyle"}="latex3"; -$texlive{"omegabase"}="omega2"; -$texlive{"omegafonts"}="omega2"; -$texlive{"osmanian"}="fonts3"; -$texlive{"ot2cyr"}="fonts2"; -$texlive{"overpic"}="latex3"; -$texlive{"pacioli"}="fonts3"; -$texlive{"pageno"}="latex3"; -$texlive{"pandora"}="fonts3"; -$texlive{"paper"}="latex3"; -$texlive{"paralist"}="latex3"; -$texlive{"parallel"}="latex3"; -$texlive{"patch"}="latex2"; -$texlive{"pawpict"}="latex3"; -$texlive{"pb-diagram"}="latex3"; -$texlive{"pdcmac"}="plain3"; -$texlive{"pdfscreen"}="latex3"; -$texlive{"pdftex"}="pdftex2"; -$texlive{"permute"}="latex3"; -$texlive{"phoenician"}="fonts3"; -$texlive{"phonetic"}="fonts3"; -$texlive{"physe"}="formats3"; -$texlive{"phyzzx"}="formats3"; -$texlive{"picinpar"}="latex3"; -$texlive{"picins"}="latex3"; -$texlive{"pictex"}="graphics2"; -$texlive{"piff"}="latex3"; -$texlive{"pl"}="latex3"; -$texlive{"pl-qx"}="fonts2"; -$texlive{"plainmisc"}="plain1"; -$texlive{"plaintex"}="plain1"; -$texlive{"plari"}="latex3"; -$texlive{"platex"}="lang2"; -$texlive{"play"}="latex3"; -$texlive{"plcalendar"}="plain3"; -$texlive{"plfonts"}="fonts2"; -$texlive{"plgraph"}="generic3"; -$texlive{"plpatch"}="plain3"; -$texlive{"pmgraph"}="latex3"; -$texlive{"poligraf"}="generic3"; -$texlive{"polish"}="doc3"; -$texlive{"polyglot"}="latex3"; -$texlive{"prettyref"}="latex3"; -$texlive{"progkeys"}="latex3"; -$texlive{"program"}="latex3"; -$texlive{"proofs"}="latex3"; -$texlive{"protex"}="generic3"; -$texlive{"psafm"}="fonts3"; -$texlive{"psfig"}="generic3"; -$texlive{"psfrag"}="graphics2"; -$texlive{"psizzl"}="formats3"; -$texlive{"pslatex"}="latex2"; -$texlive{"psnfss"}="latex1"; -$texlive{"psnfssx"}="latex2"; -$texlive{"pspicture"}="latex2"; -$texlive{"pstricks"}="graphics2"; -$texlive{"punk"}="fonts3"; -$texlive{"qfonts"}="fonts2"; -$texlive{"qobitree"}="graphics3"; -$texlive{"qsymbols"}="latex3"; -$texlive{"quotchap"}="latex3"; -$texlive{"r-und-s"}="latex3"; -$texlive{"rcs"}="latex3"; -$texlive{"rcsinfo"}="latex3"; -$texlive{"realcalc"}="generic3"; -$texlive{"refcheck"}="latex3"; -$texlive{"refman"}="latex3"; -$texlive{"relenc"}="latex3"; -$texlive{"revtex"}="latex2"; -$texlive{"rlepsf"}="generic3"; -$texlive{"rmpage"}="latex3"; -$texlive{"rotating"}="latex2"; -$texlive{"rotfloat"}="latex3"; -$texlive{"rplain"}="latex3"; -$texlive{"rs6000-aix4.1.4.0"}="systems1"; -$texlive{"rs6000-aix4.1.4.0"}="systems2"; -$texlive{"rs6000-aix4.1.4.0"}="systems3"; -$texlive{"rsfs"}="fonts2"; -$texlive{"ruhyphen"}="lang1"; -$texlive{"runic"}="fonts3"; -$texlive{"sanskrit"}="fonts3"; -$texlive{"sauterfonts"}="latex3"; -$texlive{"scale"}="latex3"; -$texlive{"schedule"}="latex3"; -$texlive{"script"}="latex3"; -$texlive{"sectsty"}="latex3"; -$texlive{"semantic"}="latex3"; -$texlive{"seminar"}="latex2"; -$texlive{"setspace"}="latex3"; -$texlive{"shadbox"}="latex3"; -$texlive{"shadethm"}="latex3"; -$texlive{"shortlst"}="latex3"; -$texlive{"shorttoc"}="latex3"; -$texlive{"showdim"}="latex3"; -$texlive{"showlabels"}="latex3"; -$texlive{"siam"}="generic3"; -$texlive{"sidecap"}="latex3"; -$texlive{"siggraph"}="latex3"; -$texlive{"simpsons"}="fonts3"; -$texlive{"siunits"}="latex3"; -$texlive{"slashbox"}="latex3"; -$texlive{"slidenotes"}="latex3"; -$texlive{"smallcap"}="latex3"; -$texlive{"songbook"}="latex3"; -$texlive{"soul"}="latex3"; -$texlive{"sparc-solaris2.5.1"}="systems1"; -$texlive{"sparc-solaris2.5.1"}="systems2"; -$texlive{"sparc-solaris2.5.1"}="systems3"; -$texlive{"sprite"}="graphics3"; -$texlive{"ssqquote"}="latex3"; -$texlive{"startex"}="formats3"; -$texlive{"stdclsdv"}="latex3"; -$texlive{"stmaryrd"}="fonts2"; -$texlive{"subeqn"}="latex3"; -$texlive{"subeqnarray"}="latex3"; -$texlive{"subfigure"}="latex3"; -$texlive{"supertabular"}="latex3"; -$texlive{"synttree"}="latex3"; -$texlive{"t2"}="lang3"; -$texlive{"tabbing"}="latex3"; -$texlive{"tap"}="generic2"; -$texlive{"taylor"}="graphics3"; -$texlive{"tbe"}="plain3"; -$texlive{"tcx"}="texlive1"; -$texlive{"tds"}="doc1"; -$texlive{"tengwar"}="fonts3"; -$texlive{"tetex"}="doc1"; -$texlive{"tex-ps"}="generic2"; -$texlive{"tex4ht"}="latex2"; -$texlive{"texdraw"}="graphics3"; -$texlive{"texinfo"}="plain2"; -$texlive{"texip"}="formats3"; -$texlive{"texlive"}="texlive1"; -$texlive{"texsis"}="formats3"; -$texlive{"text1"}="formats3"; -$texlive{"textfit"}="latex3"; -$texlive{"textmerg"}="latex3"; -$texlive{"textpos"}="latex3"; -$texlive{"thesis"}="latex3"; -$texlive{"threed"}="metapost2"; -$texlive{"thumb"}="latex3"; -$texlive{"thumbpdf"}="latex3"; -$texlive{"timesht"}="latex3"; -$texlive{"timing"}="latex3"; -$texlive{"tipa"}="fonts2"; -$texlive{"titlefoot"}="latex3"; -$texlive{"titlesec"}="latex3"; -$texlive{"tmmaths"}="fonts3"; -$texlive{"tocbibind"}="latex3"; -$texlive{"tocloft"}="latex3"; -$texlive{"tocvsec2"}="latex3"; -$texlive{"tools"}="latex1"; -$texlive{"tracking"}="latex3"; -$texlive{"treesvr"}="latex3"; -$texlive{"treetex"}="plain3"; -$texlive{"ttf2pk"}="texlive2"; -$texlive{"tug"}="doc3"; -$texlive{"tugboat"}="generic2"; -$texlive{"type1"}="fonts2"; -$texlive{"type1cm"}="latex3"; -$texlive{"typespec"}="plain3"; -$texlive{"uaclasses"}="latex3"; -$texlive{"ucthesis"}="latex3"; -$texlive{"ulsy"}="latex3"; -$texlive{"umlaute"}="latex3"; -$texlive{"umrand"}="fonts3"; -$texlive{"underlin"}="latex3"; -$texlive{"uni"}="fonts3"; -$texlive{"units"}="latex3"; -$texlive{"universa"}="fonts3"; -$texlive{"unsupported"}="fonts3"; -$texlive{"urwstd"}="fonts2"; -$texlive{"useful"}="doc2"; -$texlive{"ut-thesis"}="latex3"; -$texlive{"utthesis"}="latex3"; -$texlive{"uwthesis"}="latex3"; -$texlive{"vdm"}="latex3"; -$texlive{"vector"}="latex3"; -$texlive{"vertex"}="plain3"; -$texlive{"vita"}="latex3"; -$texlive{"vrb"}="latex3"; -$texlive{"vrsion"}="latex3"; -$texlive{"warpcol"}="latex3"; -$texlive{"wasy"}="fonts2"; -$texlive{"wasysym"}="latex2"; -$texlive{"williams"}="latex3"; -$texlive{"win32"}="systems1"; -$texlive{"win32"}="systems2"; -$texlive{"win32"}="systems3"; -$texlive{"windvi"}="doc1"; -$texlive{"wnri"}="fonts3"; -$texlive{"wntamil"}="lang3"; -$texlive{"wsuipa"}="fonts2"; -$texlive{"xtab"}="latex3"; -$texlive{"xtcapts"}="latex3"; -$texlive{"xymtex"}="latex3"; -$texlive{"xypic"}="graphics2"; -$texlive{"yannisgr"}="fonts3"; -$texlive{"yfonts"}="latex3"; -$texlive{"yhmath"}="latex3"; -$texlive{"yi4latex"}="lang3"; -$texlive{"youngtab"}="latex3"; -$texlive{"ytex"}="formats3"; -$texlive{"zed-csp"}="latex3"; -$texlive{"zefonts"}="fonts2"; diff --git a/Master/texmf/doc/texlive/source/texlive-en/live4ht.cfg b/Master/texmf/doc/texlive/source/texlive-en/live4ht.cfg deleted file mode 100644 index 3435925813d..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/live4ht.cfg +++ /dev/null @@ -1,51 +0,0 @@ -% tex4ht configuration file for the TeX Live documentation. -% Accumulated over many years. Public domain. -% -% html specifies the main output format. -% info for extra debugging info in the log files. - -% have html in one piece (including footnotes). -\Preamble{charset=iso-8859-1,html,info,fn-in} - -% add extra stylesheet -\Configure{@HEAD}{\HCode{% -\Hnewline -\Hnewline -}} -% use png graphics as-is -\Configure{graphics*} - {png} - {\Needs{""}% - \Picture[pict]{\csname Gin@base\endcsname.png}% - } -% or LaTeX complains it is missing. -\begin{document} - -\EndPreamble - -% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht -% actually does the lowered E (and raised A) in CSS. -\def\OMEGA{Omega} -\def\LaTeXe{LaTeX2e} -\def\eTeX{e-\TeX} -\def\acro#1{#1} -\def\MF{Metafont} -\def\BibTeX{BibTeX} -\def\warningbox{} -\def\endwarningbox{} - -\newif\ifhackliterals -\ifx\tldocenglish\undefined \else \hackliteralstrue \fi -\ifx\tldocrussian\undefined \else \hackliteralstrue \fi -\ifx\tldocgerman\undefined \else \hackliteralstrue \fi -% -\ifhackliterals - % these definitions cause "missing } inserted" at \end{tabularx} in - % French and Czech. don't know why. - % - % don't make these into links, as happens with \path. We only have a couple - % special characters that actually occur. - \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} - \def\finishliteral#1{#1\egroup} - \let\filename=\dirname -\fi diff --git a/Master/texmf/doc/texlive/source/texlive-en/tex-live.css b/Master/texmf/doc/texlive/source/texlive-en/tex-live.css deleted file mode 100644 index 5062bc0d229..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/tex-live.css +++ /dev/null @@ -1,44 +0,0 @@ -/* $Id$ - Simple CSS for TeX Live that adds margins and a little color. - original by Bzyl Wlodzimierz, edited by Karl Berry, 2005. - Public domain. */ - -html { - // top left bottom right - margin: 15pt 15pt 15pt 15pt; - background: rgb(255,255,224); -} - -body { - margin: 0 5pt 0 5pt; - padding: 0; - //matw: background: rgb(224,255,224); - // (It looks better to me to have a consistent background --karl) -// fonts in browser are low resolution; -// therefore generated serif are poor quality, -// so they disturb reading (that is my opinion) - font-family: sans-serif; - font-style: normal; -} - -/* (It looks better to me to not vary colors at every level --karl) */ - -h3.sectionHead { - padding: 12pt 10pt 12pt 20pt; - //matw: background: rgb(192,224,255); - background: rgb(224,224,255); - color: rgb(0,0,32); -} - -h4.subsectionHead { - padding: 7pt 10pt 7pt 40pt; - background: rgb(224,224,255); - color: rgb(0,0,32); -} - -h5.subsubsectionHead { - padding: 3pt 10pt 3pt 40pt; - //matw: background: rgb(224,255,255); - background: rgb(224,224,255); - color: rgb(0,0,32); -} diff --git a/Master/texmf/doc/texlive/source/texlive-en/tex-live.sty b/Master/texmf/doc/texlive/source/texlive-en/tex-live.sty deleted file mode 100644 index 09956bd2a3e..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/tex-live.sty +++ /dev/null @@ -1,446 +0,0 @@ -% $Id$ -% TeX Live documentation style. Written by many people over many years. -% Public domain. -% -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{tex-live}[2008/08/08 v1.6 TeX Live documentation style] -% -\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=\scriptsize,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. -% -% Page layout. -\advance\textwidth by 1.1in -\advance\oddsidemargin by -.55in -\advance\evensidemargin by -.55in -% -\advance\textheight by 1in -\advance\topmargin by -.5in -\advance\footskip by -.5in -\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 -\newcommand*{\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 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. -\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% - \hbox{$\mathcal{S}$}\kern-.075em $} -\def\AFMtoTFM{\cmdname{AFM2TFM}\null} -\def\bv{\emph{Baskerville}} -\let\BV=\bv -\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} -\def\La{La} -\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\xspace} -\def\Webc{Web2C} -\providecommand*{\CD}{\acro{CD}\xspace} -\providecommand*{\CTAN}{\acro{CTAN}\xspace} -\providecommand*{\DVD}{\acro{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. -\newenvironment{itemize*}% - {\begin{itemize}% - \setlength{\itemsep}{0pt}% - \setlength{\parskip}{0pt}}% - {\end{itemize}} - -\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{} - \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/source/texlive-en/texlive-en.tex b/Master/texmf/doc/texlive/source/texlive-en/texlive-en.tex deleted file mode 100644 index 24fbb5d1c1b..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-en/texlive-en.tex +++ /dev/null @@ -1,2954 +0,0 @@ -% $Id: live.tex 9531 2008-07-13 21:12:58Z siepo $ -% 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{} 2008}}% -} - -\author{Karl Berry, editor \\[3mm] - \url{http://tug.org/texlive/} - } - -\date{September 2008} - -\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{} usergroups distribute among their members. Section -\ref{sec:tl-coll-dists} briefly describes the contents of this \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. - -\TL{} packages are regularly updated from -\acro{CTAN}: \url{http://www.ctan.org}. - -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 architectures, -including \MacOSX. The included sources should enable installation -on platforms for which we do not have binaries. - -As to Windows: only Windows 2000 and later are supported. Windows -9\textit{x}, ME and NT have been dropped. Because of this -change, Windows requires much less special treatment compared to -the Unix systems. There are no 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. The net -installer itself is small, and downloads everything requested from the -Internet. The net installer is an attractive option if you need only a -fraction of the complete \TL. - -The \DVD{} installer lets you install to a local disk, but you can -also run \TL{} directly from the \DVD{} (or from a \DVD{} image, if -your system supports that). - -\noindent This is described in the -installation sections following, but here is a quick start: - -\begin{itemize*} - -\item The installation script is named \filename{install-tl}. It can - operate in both a \GUI{} mode (default for Windows) and - a text mode (default for everything else). You can force one mode or - the other with the options \code{-gui} and \code{-no-gui}, respectively. - -\item One of the installed items is a new program, the `\TL\ Manager', - 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*} - - -\subsection{Getting help} -\label{sec:help} - -The \TeX{} community is both 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 forego \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-doc/doc/english/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 which can be run live or - installed to disk. - -\item [Mac\TeX] for \MacOSX, this adds a native \MacOSX\ installer and other -Mac applications to \TL{}. Its home page is -\url{http://www.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. - -\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 -the \TL{} distribution. On the \pkgname{live} \DVD, the entire \TL{} -hierarchy is in a subdirectory \dirname{texlive}, not at the top -level of the disc. - -\begin{ttdescription} -\item[bin] The \TeX{} system programs, arranged by platform. -% -\item[readme.html] Web pages with a quick introduction and useful links, -in various languages. -% -\item[source] The source to all included programs, including the main \Webc{} - \TeX{} and \MF{} distributions. -% -\item[support] Various auxiliary packages and programs. These are - \emph{not} installed automatically. This includes - assorted editors and \TeX\ shells. -% -\item[texmf] See \dirname{TEXMFMAIN} below. -% -\item[texmf-dist] See \dirname{TEXMFDIST} below. -% -\item[texmf-doc] Tree for self-contained pure documentation, arranged by - language. -% -\item[tlpkg] Scripts, programs and data for managing the - installation. It also contains private copies of - Perl and Ghostscript for Windows, which are invisible outside \TL, - and a new Windows PostScript viewer PSView. -\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. - -The \dirname{texmf-doc} directory contains documentation which does -not belong to any particular package or program. 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} or \cmdname{texdoctk} programs to find any -documentation wherever it is located. The comprehensive links in -the top-level file \OnCD{doc.html} may also be helpful. - -This \TL\ documentation itself is in \dirname{texmf-doc} and is -available in several languages: - -\begin{itemize*} -\item{Simplified Chinese:} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn} -\item{Czech/Slovak:} \OnCD{texmf-doc/doc/czechslovak/texlive-cz} -\item{English:} \OnCD{texmf-doc/doc/english/texlive-en} -\item{French:} \OnCD{texmf-doc/doc/french/texlive-fr} -\item{German:} \OnCD{texmf-doc/doc/german/texlive-de} -\item{Polish:} \OnCD{texmf-doc/doc/polish/texlive-pl} -\item{Russian:} \OnCD{texmf-doc/doc/russian/texlive-ru} -\end{itemize*} - -\subsection{Overview of the predefined texmf trees} -\label{sec:texmftrees} - -This section lists all predefined variables specifying the texmf trees -used by the system, and their intended purpose, and the default -layout of a \TL{} system. The command \texttt{texconfig conf} shows -you the values of these variables, so that you can easily find out -how they map to directory names in your installation. - -\begin{ttdescription} -\item [TEXMFMAIN] The tree which holds vital parts of the system - such as helper scripts (e.g., \verb+web2c/mktexdir+) and other - support files and their documentation. Does not include - \TeX\ formats and packages. -\item [TEXMFDIST] The tree which holds the main set of macro packages, - fonts, etc., as originally distributed. -\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 tree used by the utilities - \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified - configuration data. Under \envname{TEXMFHOME} by default. -\item [TEXMFSYSCONFIG] The tree used by the utilities - \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to - store modified configuration data. -\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and - \verb+fmtutil+ to store (cached) runtime data such as format files and - generated map files. Under \envname{TEXMFHOME} by default. -\item [TEXMFSYSVAR] The 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[2007] A previous release. - \begin{ttdescription} - \item [...] - \end{ttdescription} - \item[2008] 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-doc] \envname{TEXMFDOC} - \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[.texlive2007] Privately generated and configuration data - for a previous release. - \item[.texlive2008] 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. - \textit{etc.} - \end{ttdescription} -\end{description} - - -\subsection{Extensions to \protect\TeX} -\label{sec:tex-extensions} - -\TeX{} itself is frozen, apart from rare bug fixes. It is still present -in \TL\ as the program \prog{tex}, and will remain so in 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{}. This is the program -invoked for most formats, e.g., \prog{etex}, \prog{latex}, -\prog{pdflatex}. See \url{http://www.pdftex.org/}. -\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, with which it -is intended to be backward-compatible. It should also supersede Aleph, -see below. The incorporated Lua interpreter (see -\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. See -\url{http://www.luatex.org/} and -\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://scripts.sil.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. See -\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). - -\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. -See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. - -\end{description} - - -\subsection{Other notable programs in \protect\TL} - -Here are a few other commonly-used programs included in \TL{}: - -\begin{cmddescription} - -\item [bibtex] bibliography support. - -\item [makeindex] 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 [dv2dt, dt2dv] convert \dvi{} to/from plain text. - -\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). See the \pkgname{ps4pdf} and -\pkgname{pdftricks} packages for still more alternatives. - -\item [psselect, psnup, \ldots] \PS{} -utilities. - -\item [lacheck] \LaTeX{} syntax checker. - -\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-doc/doc/english/free-math-font-survey}. - - - -\section{Installation} -\label{sec:install} - -\subsection{Starting the installer} -\label{sec:inst-start} - -To start with, 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 and -\filename{install-unx.tar.gz} which is considerably smaller, 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 should start 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 (\url{http://tug.org/texlive/acquire.html}). - -\end{description} -The following sections explain in more detail. - -\subsubsection{Unix} - -\begin{figure}[tb] -\begin{boxedverbatim} -======================> TeX Live installation procedure <===================== - -=======> Note: Letters/digits in indicate menu items <======= -=======> for commands or configurable options <======= - - - Detected platform: Intel x86 with GNU/Linux - - binary systems: 1 out of 16 - - Installation scheme (scheme-full) - - Customizing installation scheme: - standard collections - language collections - 83 collections out of 84, disk space required: 1666 MB - - directories: - TEXDIR (the main TeX directory): - !! default location: /usr/local/texlive/2008 - !! is not writable, please select a different one! - TEXMFLOCAL (directory for site-wide local files): - /usr/local/texlive/texmf-local - TEXMFSYSVAR (directory for variable and automatically generated data): - /usr/local/texlive/2008/texmf-var - TEXMFSYSCONFIG (directory for local config): - /usr/local/texlive/2008/texmf-config - TEXMFHOME (directory for user-specific files): - ~/texmf - - options: - [ ] use letter size instead of A4 by default - [X] create all format files - [X] install macro/font doc tree - [X] install macro/font source tree - [ ] create symlinks in standard directories - - Install for running from DVD - -Other actions: - start installation to HD - help - quit - -Enter command: -\end{boxedverbatim} -\caption{Main text installer screen (\GNU/Linux)}\label{fig:text-main} -\end{figure} - -\begin{figure}[tb] -\tlpng{install-w32-main}{\linewidth} -\caption{Main \GUI{} installer screen (Windows)}\label{fig:gui-main} -\end{figure} - -\noindent -Below, \texttt{>} denotes the shell prompt; user input is -\Ucom{\texttt{bold}}. -Starting in a terminal window on a Unix-compatible system, the simplest -way: -\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.) - -To install in \GUI\ mode (you'll need the \dirname{Perl/TK} module), use: -\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. - - -\subsubsection{Mac\,OS\,X} - -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 can make a few -Mac-specific adjustments, in particular to allow easily switching -between the various \TeX\ distributions for \MacOSX\ (Mac\TeX, gw\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}. - -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. - -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} - -\subsubsection{The text installer} - -Figure~\ref{fig:text-main} displays the main text mode screen under -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 (for Windows, a Perl subset is included). - -\subsubsection{The graphical installer} - -Figure~\ref{fig:gui-main} displays the graphical installer under -Windows. Most differences in available options are due to this -screenshot being from Windows, and the previous text screen being -from \GNU/Linux. - -\subsection{Running the installer} -\label{sec:runinstall} - -The installer is intended to be mostly self-explanatory. Still, a few -quick notes about the various options and submenus: - -\subsubsection{Binary systems menu (Unix only)} -\label{sec:binary} - -\begin{figure}[tbh] -\begin{boxedverbatim} -Available sets of binaries: -=============================================================================== - - a [ ] alpha-linux DEC Alpha with GNU/Linux - b [ ] amd64-freebsd x86_64 with FreeBSD - c [ ] hppa-hpux HP-UX - d [ ] i386-freebsd Intel x86 with FreeBSD - e [X] i386-linux Intel x86 with GNU/Linux - f [ ] i386-openbsd Intel x86 with OpenBSD - g [ ] i386-solaris Intel x86 with Sun Solaris - h [ ] mips-irix SGI IRIX - i [ ] powerpc-aix PowerPC with AIX - j [ ] powerpc-linux PowerPC with GNU/Linux - k [ ] sparc-linux Sparc with GNU/Linux - l [ ] sparc-solaris Sparc with Solaris - m [ ] universal-darwin universal binaries for MacOSX/Darwin - o [ ] win32 Windows - p [ ] x86_64-linux x86_64 with GNU/Linux -\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 -architectures 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 [ ] TeX Live basic scheme - b [ ] TeX Live scheme for ConTeXt - c [X] TeX Live full scheme - d [ ] GUST TeX Live scheme - e [ ] GUTenberg TeX Live scheme - f [ ] TeX Live medium scheme - g [ ] TeX Live minimal scheme - h [ ] TeX Live for Omega users - i [ ] teTeX scheme - j [ ] XML typesetting scheme -\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, 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}[tbh] -\tlpng{stdcoll}{.7\linewidth} -\caption{Collections menu (Linux)}\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 \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 different between Windows -(|%PROGRAMFILES%\texlive\2008|) and Unix -(\dirname{/usr/local/texlive/2008}). - -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 adminstrator to -install \TL, but you do need write access to the target directory. - -A logical alternate choice is a directory under your home directory, -especially if you will be the sole user. Use -`|~|' to indicate this, as in `|~/texlive/2008|'. - -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 each individual running \TeX. It expands to -\dirname{$HOME} on Unix and \verb|%USERPROFILE%| on Windows. - -\subsubsection{Options} -\label{sec:options} - -\begin{figure}[tbh] -\begin{boxedverbatim} -

use letter size instead of A4 by default: [ ] - create all format files: [X] - install font/macro doc tree: [X] - install font/macro source tree: [X] - 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} displays the text mode options menu. -Three of the options here need mentioning: - -\begin{description} -\item[use letter size instead of A4 by default:] The usual default paper - size selection. Of course, individual documents can specify a specific - paper size, if desired. - -\item[create all 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[create symlinks in standard directories] (Unix only): - This option bypasses the need to change environment - variables. Without this option, \TL{} directories have to be added - to \envname{PATH}, \envname{MANPATH} and \envname{INFOPATH}. You will - need write permissions to the target directories. It is not - advisable to overwrite a \TeX\ system that came with your system - with this option. It is intended primarily for creating the links - in standard directories that are known to users, such as - \dirname{/usr/local/bin}, which don't already contain any - \TeX\ files. -\end{description} - -Now when all these 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. - -\htmlanchor{runfromdvd} -\subsubsection{Set up for running from DVD{} (text mode only)} -\label{sec:fromdvd} - -Type `|V|' to select this option. This changes the main menu into something -like figure~\ref{fig:main-fromdvd}. -\begin{figure}[tbh] -\begin{boxedverbatim} -======================> TeX Live installation procedure <===================== - -=======> Note: Letters/digits in indicate menu items <======= -=======> for commands or configurable options <======= - - directories: - TEXDIRW (Writable root): - !! default location: /usr/local/texlive/2008 - !! is not writable, please select a different one! - TEXMFLOCAL (directory for site-wide local files): - /usr/local/texlive/texmf-local - TEXMFSYSVAR (directory for variable and automatically generated data): - /usr/local/texlive/2008/texmf-var - TEXMFSYSCONFIG (directory for local config): - /usr/local/texlive/2008/texmf-config - TEXMFHOME (directory for user-specific files): - ~/texmf - - options: - [ ] use letter size instead of A4 by default - [X] create all format files - - set up for installing to hard disk - -Other actions: - start installation for running from DVD - help - quit -\end{boxedverbatim} -\caption{The main menu with \optname{from DVD} - set}\label{fig:main-fromdvd} -\end{figure} - -Note the changes: all options about what to install have -disappeared, and the directories section now talks about -\dirname{TEXDIRW} or writable root. The symlinks option has also -disappeared. - -The installer will still create various directories and -configuration files, but won't copy \dirname{texmf}, -\dirname{texmf-dist} or \dirname{texmf-doc} to hard disk. - -Post-install configuration for Unix will be slightly more complicated, -because now the directory layout deviates from the default; see -section~\ref{sec:postinstall}. - -Due to time constraints, this option didn't make it into the \GUI{} -installer, but it is available both for Unix and for -Windows. Windows users have to start the installer from a command -prompt, see section~\ref{sec:cmdline}. - -Section \ref{sec:portable-unix} describes a more strictly portable -way to run \TL, which doesn't make or require changes in the -system's configuration, but doesn't allow any configuration either. - -\subsection{Command-line install 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 more -interesting 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}); - 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{LL}. Currently - supported languages: English (\texttt{en}, default), German - (\texttt{de}), French (\texttt{fr}), Dutch (\texttt{nl}), Polish - (\texttt{pl}), Slovenian (\texttt{sl}) and Vietnamese - (\texttt{vi}). The installer tries to determine the right language - itself but if it fails, or if the right language is not available, - then it uses English as a fallback. -\item[-profile {\sl profile}] The installer always writes a file - \filename{texlive.profile} to the \dirname{2008/tlpkg}- or - \dirname{tlpkg} subdirectory of your installation. This option tells - the installer to re-use such a profile file. Here's an excerpt: - \begin{fverbatim} -# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC -# It will NOT be updated and reflects only the -# installation profile at installation time. -selected_scheme scheme-basic -TEXDIR /usr/local/texlive/2008 -TEXDIRW /usr/local/texlive/2008 -... -TEXMFSYSVAR /usr/local/texlive/2008/texmf-var -collection-basic 1 -... -option_symlinks 0 - \end{fverbatim} - Thus, using this option you can install in batch mode on - subsequent systems, reproducing the choices you made for the - original installation. -\item [-location {\sl url/path}] Specify a non-default source for - packages; see below. -\end{ttdescription} - -\subsubsection{The \optname{location} parameter} -\label{sec:location} - -The location value can be a url starting with \texttt{ftp:}, -\texttt{http:}, or \texttt{file:/} url, or a plain path. If the given -argument is on a local drive (either a path or a \texttt{file:/} url), -the installation type (compressed or live) is automatically determined: -if an \dirname{archive} subdirectory with \filename{.tar.lzma} files is -found then it will be used, even if uncompressed files are available as -well. - -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/texlive/tlnet/2008}, -substituting of course a proper hostname and its particular top-level -\CTAN\ path (the list of \CTAN\ mirrors is maintained at -\url{http://ctan.org/mirrors}) for |ctan.example.org/tex-archive|. The -default is to pick a mirror automatically, using -\url{http://mirror.ctan.org}; in any case, the chosen host is used for -the entire download. - - -\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. - -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/2008/bin/i386-linux:$PATH; export PATH -MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH -INFOPATH=/usr/local/texlive/2008/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/2008/bin/i386-linux:$PATH -setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH -setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH -\end{sverbatim} - -Of course, you may well already have settings somewhere in your ``dot'' -files, and so then 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/2008/bin/i386-linux \ - /usr/local/texlive/2008/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. - - -\subsubsection{When running from DVD} - -Normally, a \TL{} program consults a file \filename{texmf.cnf} for the -location of the various trees. It looks for this file in a series of -locations relative to its own location. However, this scheme breaks down -when a program is run from \DVD{}: the \DVD{} is read-only. Some of the -paths to be recorded in \filename{texmf.cnf} are only known at -installation time, so this file cannot be on the \DVD{} and must be -placed somewhere else. This makes it necessary to define an environment -\envname{TEXMFCNF} variable which tells \TL{} programs in what directory -to find this \filename{texmf.cnf}. It is also still necessary to modify -the \envname{PATH} environment variable, as described before. - -At the end of the installation, the installer should have printed a -message giving the value to which \envname{TEXMFCNF} should be set. In -case you missed it: this value is \dirname{$TEXMFSYSVAR/web2c}. For the -default, \dirname{/usr/local/texlive/2008/texmf-var/web2c}, you need the -lines -\begin{sverbatim} -TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF -\end{sverbatim} -or, for [t]csh: -\begin{sverbatim} -setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c -\end{sverbatim} - - -\subsubsection{\ConTeXt{} Mark IV} - -The `old' \ConTeXt{} should run out of the box. The new `Mark IV' -\ConTeXt{} will require manual setup; see -\url{http://wiki.contextgarden.net/Running_Mark_IV}. - - -\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|C:\Program Files\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 \prog{tlmgr} in \GUI\ mode. - -\subsubsection{Integrating third-party fonts} - -This is unfortunately a very complicated and messy topic. Forget -about it unless you really know your way around blindfolded in a -\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 (see -section~\ref{sec:tex-extensions}), which lets you use operating system -fonts without any installation in \TeX. - - -\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 (Web2C 7.5.7) -kpathsea version 3.5.7 -... -\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} -This is pdfeTeXk, Version 3.1415926... -... -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} -\end{alltt} -(Under Windows, the analogous command is \cmdname{dviout}.) 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 the system.) -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} -Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently -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.) - -\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} - -\end{enumerate} - -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. - - -\section{Network installations} -\label{sec:netinstall} - -\TL{} has been designed to be shared between different users, and even -different systems on a network. With a standard directory layout, no -hard paths are configured: the locations for files needed by \TL{} -programs are defined relative to the places of those programs. You can -see this at work in the 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 other systems or other users merely need to add the -directory for \TL{} binaries for their platform to their search path. - -By the same token, you can also install \TL{} locally and then move -the entire hierarchy afterwards to a network location. - -Of course, Windows users have different expectations. The directory -\dirname{texmf-doc/source/texlive/texlive-common/w32client} contains a -sample script \filename{install-w32client} which creates settings and -menu shortcuts for using an existing \TL{} installation on a -\acro{LAN}. It is to be invoked through a batch file -\filename{install-w32client.bat} in the same directory. - -You can read more about \TL{} configuration and path searching in -section~\ref{sec:kpathsea}. - -\section{Maximally portable \protect\TL{} on DVD and USB} -\label{sec:portable-unix} - -The `running from \DVD{}' option described in -section~\ref{sec:fromdvd} is fine for your own system, but if you -are a guest on somebody else's system then you would probably like -something with minimal side effects. - -In the root of the \TL{} \DVD, or the \dirname{texlive} subdirectory of -the \TK{} \DVD, are a \filename{tl-portable} script (Unix) and a -\filename{tl-portable.bat} batchfile (Windows) which start up a -secondary shell\slash command prompt with environment settings suitable -for directly accessing the \TL{} on the \DVD. - -When it runs for the first time, some files will be generated in a -directory \dirname{~/.tlportable2008}, which will take a little time. -On subsequent runs, though, it will start almost instantaneously. - -The rest of the system will be unaware of \TL. If you want your editor -to be aware of this \TL, then you can start it from a second, parallel, -such \filename{tl-portable} session. - -You can also use \filename{tl-portable} to run \TL{} on a -\acro{USB} stick. In this case, copy all the top-level files and -the contents of the \dirname{bin}, \dirname{texmf}, -\dirname{texmf-dist}, and \dirname{tlpkg} directories (at least) to -the stick. This may take quite a while! If you are copying to a -\acro{FAT}32-formatted \acro{USB} stick, make sure to dereference -symbolic links (\code{cp -L}). A \dirname{texmf-local} directory on -the stick will also be found and used. - -Then run \filename{tl-portable} from the root of the stick, as above. -In this case, the script will notice that the stick is writable and use -it for generated files. You could burn the resulting contents of the -stick back to \DVD{} if that is more convenient to (for example) give to -others. - - -\section{\cmdname{tlmgr}: Managing your installation} -\label{sec:tlmgr} - -\begin{figure}[tb] -\tlpng{tlmgr-gui}{\linewidth} -\caption{\prog{tlmgr} in \GUI\ mode. The list of - packages/collections/schemes only shows up after clicking the - `Load' button.}\label{fig:tlmgr-gui} -\end{figure} - -\begin{figure}[tb] -\tlpng{tlmgr-config}{\linewidth} -\caption{\texttt{tlmgr} in GUI mode: Configuration tab}\label{fig:tlmgr-config} -\end{figure} - -The installer installs 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 listing schemes, collections and packages; -\item installing, updating, backing up, restoring and uninstalling - individual packages, optionally taking dependencies into account; -\item searching for packages; -\item listing and adding architectures; -\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 installations which run from \DVD. - -\subsection{\cmdname{tlmgr} GUI mode} -\prog{tlmgr} can be started in \GUI{} mode with -\begin{alltt} -> \Ucom{tlmgr -gui} -\end{alltt} -or in Windows via the Start menu: \texttt{Start}, \texttt{Programs}, -\texttt{TeX Live 2008}, \texttt{TeX Live Manager}. After clicking `Load' -it displays a list of available and installed packages\Dash the latter -prepended with `(i)'. This assumes of course that the installation -source is valid and reachable. - -Figure~\ref{fig:tlmgr-config} shows the configuration tab. - -\subsection{Sample \cmdname{tlmgr} command-line invocations} - -This example adds several packages, including a new `engine', from a -non-default location: - -\begin{alltt} -> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} -\end{alltt} -It generates the following output: -\begin{fverbatim} -install: collection-xetex -install: arabxetex -install: euenc -install: bidi -install: fontspec -install: fontwrap -install: ifxetex -install: philokalia -install: polyglossia -install: xecyr -install: xecyr.i386-linux -install: xepersian -install: xetex -install: xetexconfig -install: xetex.i386-linux -running post install action for xetex -install: xetex-def -install: xetex-pstricks -install: xetexfontinfo -install: xltxtra -install: xunicode -install: xkeyval -running mktexlsr -mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... -mktexlsr: Done. -regenerating fmtutil.cnf -running fmtutil-sys --missing -... -Transcript written on xelatex.log. -fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. -\end{fverbatim} -As you see, \prog{tlmgr} installs dependencies, and takes care of any -necessary post-install actions, including updating the filename database -and (re)generating formats. (Here we generated new formats for \XeTeX.) - -This example installs a new language. This also triggers format -regeneration: -\begin{alltt} -> \Ucom{tlmgr install collection-langdutch} -\end{alltt} -To describe a package: -\begin{alltt} -> \Ucom{tlmgr show collection-wintools} -\end{alltt} -which produces -\begin{fverbatim} -Package: collection-wintools -Category: Collection -ShortDesc: Windows support programs -LongDesc: Utilities for Windows, since they are not readily available there: - gzip, chktex, jpeg2ps, unzip, wget, xpdf. -Installed: Yes -\end{fverbatim} -Updating your entire installation to the latest versions available: -\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 -\begin{alltt} -> \Ucom{tlmgr update -list} -\end{alltt} -For full documentation: -\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 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\prog{tlmgr} refers to - this. -\end{description} - -\subsection{Additional included software} - -\begin{figure}[tb] -\tlpng{psview}{.6\linewidth} -\caption{PS\_View: very high magnifications available!}\label{fig:psview} -\end{figure} - -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 distributions, and - shouldn't interfere with any system installations of Perl or - Ghostscript. -\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{chktex}, - \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} and the - command-line utilities from the \cmdname{xpdf} suite. (The - \cmdname{xpdf} viewer itself is not available for Windows, but the - Sumatra \acro{PDF} viewer is based on it: - \url{http://blog.kowalczyk.info/software/sumatrapdf}.) -\item[\texttt{fc-cache}] helps \XeTeX{} to handle fonts more - efficiently. -\item[PS\_View.] Also installed is PS\_View, a new PostScript viewer - with a free license; see figure~\ref{fig:psview}. -\end{description} -\begin{description} -\item[The \texttt{support} directory,] already mentioned in - section~\ref{sec:tld}. This directory contains various programs - which can be useful in connection with \TeX, in particular a - number of \TeX-aware editors and \TeX{} frontends. The software in - this directory isn't covered by the installer. This directory also - contains the \cmdname{dviout} \dvi{} previewer; see the next section. -\end{description} - -\subsection{The Dviout previewer} - -This \TL{} release unfortunately doesn't offer a preinstalled \dvi{} -previewer for Windows. However, you can install \prog{dviout} by -Toshio Oshima from the \path{support/dviout/} directory, which -contains also a short \filename{README} describing how to install -and configure \prog{dviout} for \TL. Please read this carefully -before installation. - -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 (very good) on-line help. - -\subsection{Links for additional downloadable software} - -Urls 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 no particular order: - \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 \TL's - \path{support} directory; its home page is - \url{http://www.gnu.org/software/auctex}. - \item \cmdname{WinShell} is available in \TL's \path|support| - directory; its home page is \url{http://www.winshell.de}. - \item \cmdname{WinEdt} is shareware available from - \url{http://www.winedt.com}. - \item \cmdname{Vim} is free software, available from - \url{http://www.vim.org}. - \item TeXnicCenter is free software, available from - \url{http://www.toolscenter.org} and in the pro\TeX{}t distribution. - \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}. - \end{itemize*} -\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 XP and Windows 2000, this -is usually \verb|C:\Documents and Settings\|, and under -Windows Vista \verb|C:\Users\|. 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, 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. Use the \optname{non-admin} option to \prog{install-tl} if -you prefer per-user settings even as an administrator. - -Regardless of administrator status, the default root of \TL{} proposed -by the installer is always under \verb|%PROGRAMFILES%|. 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{} will never get -precedence. As a workaround, in this case the installer creates -shortcuts to the command-prompt in which the new \TL{} binary directory -is prepended to the local searchpath. The new \TL{} will be usable when -run in a command-line session started from such a shortcut. - - -\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[dmp] \cmdname{troff} to MPX (\MP{} pictures). -\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[makempx] \MP{} label typesetting. -\item[mf] Creating typeface families. -\item[mft] Prettyprinting \MF{} source. -\item[mpost] Creating technical diagrams. -\item[mpto] MetaPost label extraction. -\item[newer] Compare modification times. -\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} - -\begingroup\tolerance=3500 -\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} (by default such a file lives -in the \file{texmf/web2c} subdirectory). \emph{All} -\file{texmf.cnf} files in the search path will be read and definitions -in earlier files override those in later files. Thus, with a search -path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those -from \verb|$TEXMF/texmf.cnf|. -\endgroup - -\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} - -\tolerance=2500 -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 - -\tolerance=1500 - -\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 -(appproximately; 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); most sites have only one hierarchy. \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 ... \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 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, - ... - -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 -[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, most 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 Peter Breitenlohner (and the \eTeX\ team) for the stable foundation -of future \TeX's, and Peter specifically for stellar help with the GNU -autotools usage throughout \TL. - -\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 was used to create the \HTML{} -version of this documentation, and who worked tirelessly to improve -it at short notice. - -\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team -(\url{http://pdftex.org}) for continuing enhancements of \TeX's -abilities. - -\item Hans Hagen, for much testing and making his \ConTeXt\ format -(\url{http://pragma-ade.com}) work within \TL's framework. - -\item Hartmut Henkel, for significant development contributions to -pdf\TeX\, Lua\TeX, and more. - -\item Taco Hoekwater, for renewed development efforts on MetaPost and -(Lua)\TeX\ (\url{http://luatex.org}) itself, and for incorporating -\ConTeXt\ into \TL. - -\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://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}), and many -other contributions. - -\item Jonathan Kew and \acro{SIL}, for the major new development of -\XeTeX{} and taking the time and trouble to integrate it in \TL{}, as -well as the initial version of the Mac\TeX\ installer. - -\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 the new features. - -\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{tldoc} 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 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 \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: -Reinhard Kotucha (\pkgname{x86\_64-linux}), -Tim Arnold (\pkgname{hppa-hpux}), -Randy Au (\pkgname{amd64-freebsd}), -Edd Barrett (\pkgname{i386-openbsd}), -Karl Berry (\pkgname{i386-linux}), -Akira Kakuto (\pkgname{win32}), -Dick Koch (\pkgname{universal-darwin}), -Manfred Lotz (\pkgname{i386-freebsd}), -Norbert Preining (\pkgname{alpha-linux}), -Arthur Reutenauer (\pkgname{sparc-linux}), -Thomas Schmitz (\pkgname{powerpc-linux}), -Apostolos Syropoulos (\pkgname{i386-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}. - -Documentation and translation updates: -Karl Berry (English), -Daniel Flipo (French), -Klaus H\"oppner (German), -Petr Sojka \& Jan Busa (Czech\slash Slovak), -Boris Veytsman (Russian), -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-doc/doc/english/tds/tds.html\#Extensions} -{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. - -\item Helper scripts (not meant to be invoked by users) are now located -in a new \dirname{scripts} directory of \dirname{texmf*} trees, and -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-doc/doc/english/tds/tds.html\#Scripts} -{\texttt{texmf-doc/doc/english/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. - -\medskip \noindent -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} - -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}. - - -\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 hard-pressed volunteers in their limited spare time, and a -great deal remains to be done. 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/source/texlive-fr/Makefile b/Master/texmf/doc/texlive/source/texlive-fr/Makefile deleted file mode 100644 index 519abf8798a..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-fr/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -include ../texlive-en/Makefile -doc = texlive-fr -lang = french - - diff --git a/Master/texmf/doc/texlive/source/texlive-fr/live.tex b/Master/texmf/doc/texlive/source/texlive-fr/live.tex deleted file mode 100644 index ccb25a86f0b..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-fr/live.tex +++ /dev/null @@ -1,3945 +0,0 @@ -%Format: pdf - -% $Id: //depot/Master/texmf-doc/source/english/texlive-en/live.tex#31 $ -% $Author: staw $ $Date: 2005/10/31 $ -% -% Change history (started May 18th 2002) -% 2007/01/18: synced with 2007 English version, by Daniel Flipo -% 2005/11/01: synced with 2005 English version, by Daniel Flipo -% 2005/05/05: re-added section on building binaries (Daniel Flipo) -% 2004/10/28: synced with 2004 English version, by Daniel Flipo -% 2003/08/28: synced with 2003 English version, by Éric Picheral and Jacques André -% 2002/05/25: proof-reading and corrections, by Daniel Flipo -% 2002/05/18: synced with English version, by Fabrice -% -\documentclass{article} -%\let\tldocenglish=1 % *NOT* for French - -\usepackage[latin1]{inputenc} - -\usepackage{caption} -\DeclareCaptionLabelSeparator{endash}{\space\textendash\space} -\captionsetup{labelsep=endash} - -\usepackage[frenchb]{babel} -\usepackage{xspace} -\addto\captionsfrench{\def\figurename{{\scshape Figure}}} -\addto\captionsfrench{\def\tablename{{\scshape Table}}} -\AddThinSpaceBeforeFootnotes -\FrenchFootnotes -\NoAutoSpaceBeforeFDP - -\newcommand{\THANH}{Hàn Th\'{ê} Thanh} - -\usepackage{comment} - -\usepackage{ifpdf} -% tex-live.sty suppose \hyper@linkurl défini... -\ifpdf - \def\Status{1} % (df) Pour faire charger hyperref dans tex-live.sty -\else - \makeatletter - \def\hyper@linkurl#1#2{#2} % undefined if hyperref.sty not loaded - \makeatother -\fi - -\usepackage{tex-live} -%%%% Ajout J.A. à garder -\newcommand{\CDdemo}{\acro{CD} \pkgname{demo}\xspace} -\newcommand{\CDinst}{\acro{CD} \pkgname{inst}\xspace} -\newcommand{\DVDlive}{\acro{DVD} \pkgname{live}\xspace} -\renewcommand{\samp}[1]{\og \texttt{#1}\fg{}} - -%%%% Ajout (df) -% Alias -\let\XemTeX\XEmTeX -% (df) La commande \TeXLive n'est pas utilisée en v.f. -\renewcommand{\TL}{\TeX{} Live\xspace}% Robuste (pas besoin de \protect)... -% tex-live.sty fait précéder les no de page d'une fine... si on veut -% une insécable normale, décommenter la ligne suivante : -\def\p.{p.~} -% Chez Karl, la commande \url{} ne protège pas les caractères actifs (:?), -% d'où ceci (essai provisoire... erreurs avec le car. #) : -%\let\urlORI\url -%\renewcommand*{\url}[1]{\foreignlanguage{english}{\urlORI{#1}}} -%\renewcommand*{\url}[1]{{\shorthandoff{:?!;}\urlORI{#1}}} -% La commande \path de url.sty ajoute des espaces parasites, pas \url, d'où -\let\path\url -% mais ceci impose de remplacer \path|...| par \path{...}, et les \$ inclus -% par des $. - -\setlength{\parindent}{0mm} -\addtolength{\parskip}{.25\baselineskip} - -\begin{document} - -\title{{\huge Guide pratique de \TL{}} \\ \strut - {\LARGE\textsf{\TK{} 2007}} - } - -\author{Karl Berry \\[3mm] - \url{http://tug.org/texlive/}\\[5mm] - \textit{Version française}\\[3mm] - Daniel Flipo (GUTenberg) - } - -\date{Janvier 2007} - -\maketitle -\thispagestyle{empty} % no need for page number - -\newpage -\begin{multicols}{2} -\tableofcontents -\listoftables -\end{multicols} - -\section{Introduction} -\label{sec:intro} - -Ce document décrit les principales caractéristiques de la -distribution \TL{}, une distribution de \TeX{} et \LaTeX{} -pour Linux et autres Unix, \MacOSX{} et systèmes Windows 32 bits -(attention, cette distribution n'est pas vraiment utilisable avec -les anciens systèmes Mac ou \acro{MS-DOS}). Elle comprend les binaires -pré-compilés de \TeX{}, \LaTeXe{}, \MF, \MP, \BibTeX{} et de nombreux -autres programmes ainsi qu'une bibliothèque étendue de macros, de -fontes et de documentations. Elle traite aussi la composition de textes -qui utilisent plusieurs systèmes d'écritures différentes venant de toute -la surface du globe. -La distribution \TL{} est en fait un sous-ensemble de \TK{} (décrit brièvement -à la section ~\ref{sec:struct-tl}, \p.\pageref{sec:struct-tl}) -produit grâce aux efforts combinés des différents groupes d'utilisateurs -de \TeX. - -L'édition 2007 a été figée en janvier 2007. -Les futures mises à jour des composants de la distribution 2007 -seront disponibles au fur et à mesure de leur parution sur le site -\acro{CTAN}, \url{http://www.ctan.org}. - -On trouvera à la fin du document, section~\ref{sec:history} -(\p.\pageref{sec:history}), un bref historique des principales modifications -apportées au fil du temps à la distribution \TL. - -Les utilisateurs des éditions précédentes de \TL{} sont invités -à lire, \emph{avant toute mise à jour}, la section~\ref{tlcurrent} -\p.\pageref{tlcurrent} qui présente les principaux changements intervenus -cette année. - - -\subsection{Utilisation élémentaire de \TL{}} -\label{sec:basic} - -Vous pouvez utiliser \TL{} de trois façons différentes : -\begin{enumerate} -\item Vous pouvez exécuter \TL{} directement depuis le - \DVDlive{} (toutes plates-formes). - Cela prend très peu d'espace disque et - donne un accès immédiat à tout le contenu de - \TL. C'est une solution parfaitement acceptable même si les - performances obtenues sont moins bonnes que si \TL{} était - lancé depuis un disque local. -\item Vous pouvez installer tout ou partie de \TL{} sur un disque - local. C'est l'utilisation la plus fréquente de \TL{}. - Ceci peut se faire à partir du \DVDlive{} ou de l'un des \CD de la - distribution (voir section~\ref{sec:multiple-dist}, - \p.\pageref{sec:multiple-dist}). - Il faut disposer d'un minimum de 120\,Mo, mais on recommande au moins -%(df) un peu mensonger... schéma GUT = 800 Mo chez moi ! - 400\,Mo pour un système standard ou 800\,Mo pour un système complet. -\item Vous pouvez incorporer un jeu de composants particulier ou une - collection dans un système \TeX{} déjà présent, soit un - système \TL{} installé précédemment, soit un système \TeX{} différent. -\end{enumerate} - -Ces trois utilisations sont décrites en détail dans les sections -concernant l'installation spécifique à chaque système. -Quelques remarques générales : - -\begin{itemize} - -\item Le script d'installation globale pour Unix et pour \MacOSX{} s'appelle -\texttt{install-tl.sh}. -Les utilisateurs de Linux peuvent aussi essayer le nouvel installeur -\texttt{setuptl/tlpmgui} développé au départ pour Windows et adapté à Linux. -Consulter la section \ref{sec:win-install} p.~\pageref{sec:win-install} pour -plus d'informations. - -\item Pour installer une extension ou une collection, on utilise le script - d'installation \texttt{install-pkg.sh}. -Après une installation faite à l'aide de \texttt{tlpmgui}, il est possible -d'utiliser \texttt{tlpmgui} pour ajouter ou supprimer des extensions ou des -collections. - -\item Le programme d'installation pour Windows s'appelle - \cmdname{tlpmgui.exe}, il sert aussi à ajouter ou supprimer des composants - dans une installation existante (voir section~\ref{sec:win-install}). - -\end{itemize} - -\subsection{Obtenir de l'aide} -\label{sec:help} - -La communauté \TeX{} est à la fois active et conviviale ; pratiquement -toute question sérieuse finit par obtenir une réponse. Le support est -pourtant informel, assuré par des volontaires et des lecteurs -occasionnels, aussi est-il particulièrement important que vous fassiez -votre propre travail de recherche avant de poser la question (si vous -préférez un support commercial, vous pouvez renoncer à \TL{} et -acheter un système payant ; voir une liste à -\url{http://tug.org/interest.html#vendors}). - -Voici une liste de ressources, classées selon l'ordre dans lequel nous -recommandons de les utiliser : - -\begin{description} -\item [Getting Started] Pour ceux qui débutent en \TeX, la page web -\url{http://tug.org/begin.html} contient une courte description -du système. - -\item [\acro{FAQ} \TeX{}] La \acro{FAQ} \TeX{} est un vaste recueil - de réponses à toutes sortes de questions, de la plus élémentaire à la - plus complexe. Elle est enregistrée sur le \DVDlive{} dans - \OnCD{texmf-doc/doc/english/FAQ-en} - et elle est disponible sur Internet à - l'adresse \url{http://www.tex.ac.uk/faq}. - Merci de consulter cette FAQ avant toute question. - -\item [Catalogue \TeX{}] Si vous recherchez une extension, une fonte, - un programme, ... particuliers, il faut examiner le catalogue - \TeX{}. C'est une importante liste de tous les éléments relatifs à - \TeX{}. Voir \OnCD{texmf-doc/doc/english/catalogue} sur le \DVDlive{}, - ou \url{http://www.ctan.org/tex-archive/help/Catalogue}. - -\item [Ressources \TeX{} sur le Web ] La page web - \url{http://tug.org/interest.html} propose - beaucoup de liens relatifs à \TeX{}, en particulier concernant des - livres, manuels et articles portant sur tous les aspects du système. - -\item [Archives des forums d'aide] Les principaux forums dédiés - au support de \TeX{} sont les groupes de news Usenet - \url{news:comp.text.tex} (en anglais) et \url{news:fr.comp.text.tex} - (en français) ainsi que les listes de diffusion - \email{texhax@tug.org} (en anglais) et \email{gut@ens.fr} (en français). - Les archives correspondantes contiennent des - milliers de questions et réponses déjà traitées et permettent - une recherche fructueuse. Voir - \url{http://groups.google.com/groups?group=comp.text.tex} - et \url{http://tug.org/mail-archives/texhax}, respectivement. Une - question posée sur un moteur de recherche, tel que - \url{http://google.com}, peut aussi fournir des réponses pertinentes. - -\item [Poster une question] Si vous n'obtenez pas de réponse, vous - pouvez poster la question à \dirname{comp.text.tex} via Google ou - votre lecteur de news, ou encore par messagerie à - \email{texhax@tug.org}. Mais avant de le faire, merci de lire - l'introduction de la \acro{FAQ} donnant les conseils sur la façon de - rédiger la question pour avoir des chances d'obtenir une réponse : - \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. - -\item [Support de \TL{}] Si vous voulez faire un rapport - d'anomalie, émettre des suggestions ou des commentaires sur la - distribution \TL{}, l'installation ou la documentation, utilisez - la liste de diffusion \email{tex-live@tug.org}. Mais attention, si - la question concerne l'utilisation d'un programme particulier inclus - dans \TL{}, il vaut mieux que vous écriviez directement à la - personne ou à la liste de diffusion qui maintient le programme. - -\end{description} - -L'autre aspect du sujet concerne l'aide à apporter aux personnes -soumettant des questions. Les forums \dirname{comp.text.tex}, -\dirname{fr.comp.text.tex} ainsi que les listes de diffusion \code{texhax} -et \code{gut} -sont ouverts à tous, aussi n'hésitez pas à vous y joindre, à commencer -la lecture et à fournir de l'aide là où cela vous est possible. -Bienvenue dans le monde \TeX{} ! - -% No \protect needed as \TL is defined in French with \newcommand (robust). -\section{Structure de \TL} -\label{sec:struct-tl} - -Nous décrivons ici la structure et le contenu de \TL{} et -de \TK{} qui est un sur-ensemble de \TL. - -\subsection {Distributions multiples : \protect\pkgname{live}, - \protect\pkgname{inst}, \protect\pkgname{protext}} -\label{sec:multiple-dist} - -Des limitations d'espace liées au format des \acro{CD-ROM} nous ont contraint -à diviser \TK{} en plusieurs distributions : - -\begin{description} - -\item [live] Un système exécutable complet sur \acro{DVD} ; il est - trop volumineux pour tenir sur \acro{CD-ROM}. Le \DVD{} contient - aussi une image du système \CTAN{}, totalement indépendant de - \TL{}, la distribution Mac\TeX{} pour \MacOSX, la distribution \ProTeXt{} - pour Windows, ainsi que d'autres extensions - réunies dans un répertoire \texttt{texmf-extra}. - - Les droits d'utilisation des fichiers présents dans \CTAN, \ProTeXt, - Mac\TeX{} et \texttt{texmf-extra} diffèrent de ceux de \TL{}, pensez à lire - les licences si vous envisagez de modifier ou de redistribuer certains de - ces fichiers. - -\item [inst\textrm{(allable)}] Un système complet sur \CD{} pour les Unix - (dont Linux et \MacOSX{}) ; pour le faire - tenir sur le \CD, il a fallu compresser tout ce que nous avons - pu. Du coup, il n'est pas possible d'exécuter directement \TeX\ - depuis le \CD\ d'installation, il vous faut l'installer sur disque - (d'où le nom). L'installation est décrite dans les sections - concernées (\ref{sec:unix-install-disk} et \ref{sec:osx-unix-inst} - pour \MacOSX). - -\item [protext] Une extension du système \MIKTEX\ sur \CD{} pour - Windows. Cette distribution est totalement indépendante du \TL{}, - elle nécessite un mode d'installation spécifique. - Elle peut être installée sur disque ou exécutée directement - depuis le \CD. Le site de \ProTeXt\ se trouve ici : - \url{http://tug.org/protext}. - - \pkgname{protext} est fourni à la fois sur le \DVDlive{} et - sur un \CD{} spécifique pour ceux qui n'ont pas de lecteur de \DVD. - -\end{description} - -\noindent On peut déterminer la nature de la distribution -utilisée en recherchant le fichier \texttt{00\var{type}.TL} dans le -répertoire racine du médium utilisé (\CD{} ou \DVD{}). -Ce fichier contient aussi la date de dernière mise à jour du \TL. - -%(df) Que fait GUT ? -%Naturally, each user group chooses what to distribute, at its own -%discretion. - -\subsection{Répertoires situés à la racine} -\label{sec:tld} - -Les répertoires les plus importants situés à la racine -% (df) bin et source ne sont pas sur \CDinst -du \DVDlive{} -sont énumérés ci-dessous. Cette année, la distribution \TL{} -est dans un sous-répertoire \dirname{texlive2007} et non à la racine. -%%% (df) confus : on parle du CD ou du DVD -\smallskip -\begingroup - \renewcommand{\arraystretch}{1.3} % open up interrow spacing -\begin{tabular}{>{\ttfamily}lp{.78\hsize}} -% (df) bin pas présent sur \CDinst : les .zip des binaires sont dans 'archive' -bin & Programmes de la famille \TeX{}, rangés dans des - sous-répertoires selon les plates-formes. \\ -% pas sur \CDinst -source & Le code source de tous les programmes, incluant la - distribution \Webc{} de \TeX{} et \MF{}. Il s'agit d'une archive au - format \texttt{tar}, compressée par bzip2. - % Ajout (df) - Faute de place, le répertoire \texttt{source} - n'est pas sur le \CDinst{} (seulement sur le \DVDlive{}).\\ -setuptl & Programmes d'installation pour Windows et Linux. \\ -support & Ensemble d'extensions et programmes auxiliaires. Ils ne - sont \emph{pas} installés par défaut. -% Faux (df) -% On y trouve \cmdname{Ghostscript}, \cmdname{netpbm} et un ensemble -% d'éditeurs orientés \TeX{}. -\\ -texmf & Répertoire contenant les programmes et leur documentation. - Ne contient ni les formats ni les extensions - (appelé \envname{TEXMFMAIN} dans la section suivante.) \\ -texmf-dist & Répertoire principal où se trouvent les extensions, - les fontes, etc., avec leur documentation - (appelé \envname{TEXMFDIST} dans la section suivante.) \\ -texmf-doc & Répertoire contenant le reste de la documentation, - le sous-répertoire doc est organisé par langue. \\ -texmf-var & Répertoire contenant les fichiers générés automatiquement - (appelé \envname{TEXMFSYSVAR} dans la section suivante.) \\ -\end{tabular} -\endgroup - -\smallskip - -Le répertoire \dirname{texmf-doc} ne contient que de la documentation -mais pas toute la documentation. Celle concernant les programmes (manuels, -pages \textit{man} et fichiers de type \textit{info} est dans -\dirname{texmf/doc} car les programmes correspondants sont dans -\dirname{texmf}. De même, la documentation des extensions et formats -est dans \dirname{texmf-dist/doc}. Les commandes \cmdname{texdoc} ou -\cmdname{texdoctk} trouveront pour vous les documentations où quelles soient -sur le disque. % Bof... pas vrai chez moi (df) ? -Le fichier \OnCD{doc.html} du \DVDlive{} contient une liste de liens bien -utiles pour localiser les fichiers de documentation. - -On trouve également, au même niveau que les répertoires mentionnés ci-dessus, -les scripts d'installation et les fichiers \filename{README} (dans -différentes langues). - -\subsection{Description des arborescences texmf utilisées} -\label{sec:texmftrees} - -Nous donnons ici la liste complète des variables prédéfinies qui contiennent -les noms des différentes arborescences de type texmf et l'usage qui en est -fait. La commande \cmdname{texconfig conf} retourne les valeurs de ces -variables, ce qui permet de savoir où se trouvent ces différentes -arborescences dans une installation donnée. - -\begin{ttdescription} -\item [TEXMFMAIN] contient les éléments essentiels du système, comme les - scripts (\cmdname{web2c/mktexdir}, etc.), les fichiers \file{.pool}, - etc. -\item [TEXMFDIST] contient les fichiers de macro (Plain, \LaTeX, \ConTeXt, - etc.,), les fontes, etc., de la distribution \TL. Rien ne devrait être - ni ajouté ni supprimé dans cette arborescence. -\item [TEXMFLOCAL] c'est là que l'administrateur de la machine - place les classes et extensions locales, les fontes non disponibles - dans \TL, etc. -\item [TEXMFHOME] contient les fichiers personnels (extensions, classes, - fontes) de l'utilisateur ; ce répertoire est sous \verb+$HOME+ % $ - par défaut. La variable \envname{TEXINPUTS} ne devrait plus être utilisée. -\item [TEXMFCONFIG] c'est là que les scripts \cmdname{updmap} et - \cmdname{fmtutil} recherchent leurs fichiers de configuration en priorité. - \cmdname{texconfig} y place les versions modifiées des fichiers de - configuration. Sous \verb+$HOME+ par défaut. %$ -\item [TEXMFSYSCONFIG] c'est là que les scripts \cmdname{updmap-sys} et - \cmdname{fmtutil-sys} recherchent leurs fichiers de configuration en - priorité. \cmdname{texconfig-sys} y place les versions modifiées des - fichiers de configuration. -\item [TEXMFVAR] c'est là que les scripts \cmdname{texconfig}, - \cmdname{updmap} et \cmdname{fmtutil} rangent les formats et les fichiers - \file{.map} qu'ils produisent. Sous \verb+$HOME+ par défaut. %$ -\item [TEXMFSYSVAR] c'est là que les scripts \cmdname{texconfig-sys}, - \cmdname{updmap-sys} et \cmdname{fmtutil-sys} rangent les formats et les - fichiers \file{.map} qu'ils produisent. -\end{ttdescription} - -Les possibilités offertes par \cmdname{texconfig} sont décrites à la - section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. - - -\subsection{Les extensions de \TeX} -\label{sec:tex-extensions} - -\TL{} contient plusieurs extensions de \TeX{}. - -\begin{description} - -\item [\eTeX{}] \label{text:etex} ajoute un jeu, petit mais puissant, - de nouvelles - primitives et les extensions \TeXXeT{} pour l'écriture de droite - à gauche ; \eTeX{} est, en mode normal, 100\% compatible avec - \TeX{} standard. Pour plus de détails consulter le - fichier \OnCD{texmf-dist/doc/etex/base/etex_man.pdf} du \DVDlive{}. - -\item [pdf\TeX{}] inclut les extensions \eTeX{} et produit, au choix, - des fichiers au format Acrobat \acro{PDF} ou au format \dvi{}. - Le manuel d'utilisation se trouve sur le \DVDlive{} - dans \OnCD{texmf/doc/pdftex/manual/}. Le fichier - \OnCD{texmf/doc/pdftex/pdftex/manual/samplepdf/samplepdf.tex}\relax{} - donne un exemple d'utilisation. pdf\TeX{} est le moteur de base - sur lequel sont construits tous les formats autres que plain\TeX. - -\item [Xe\TeX] ajoute la possibilité d'utiliser le codage Unicode en entrée - et les fontes OpenType en sortie, ceci grâce à des bibliothèques - externes : voir \url{http://scripts.sil.org/xetex}. - -\item [\OMEGA{} (Omega)] fonctionne en utilisant Unicode et des - caractères 16 bits, ce qui lui permet de travailler directement et - simultanément avec presque toutes les écritures du monde entier. - L'extension supporte aussi le chargement dynamique d'\acro{OTP} - (\OMEGA{} \emph{Translation Processes}) qui permet à l'utilisateur - d'appliquer sur des flux d'entrée quelconques des transformations - complexes qu'il aura lui-même définies. Voir la documentation - (pas vraiment à jour) dans \OnCD{texmf-dist/doc/omega/base/doc-1.8.tex}. - -\item [Aleph] combine les fonctionnalités de \OMEGA\ et de \eTeX. - \OnCD{texmf-dist/doc/aleph/base} contient une documentation de base. - -\end{description} - -\subsection{Quelques autres programmes intéressants - dans \TL} - -Voici quelques autres programmes couramment utilisés et présents dans -\TL{} : - -\begin{cmddescription} - -\item [bibtex] Traitement de la bibliographie. - -\item [makeindex] Traitement des index. - -\item [dvips] Conversion \dvi{} vers \PS{}. - -\item [xdvi] Visualisation \dvi{} pour le système X Window. - -\item [dvilj] Pilote \dvi{} pour les imprimantes HP LaserJet. - -\item [dv2dt, dt2dv] Conversion \dvi{} vers ou depuis du texte simple. - -\item [dviconcat, dviselect] Couper/Coller de pages à partir de fichiers - \dvi{}. - -\item [dvipdfmx] Conversion \dvi{} vers \acro{PDF}, une autre approche que - celle de pdf\TeX\ (mentionné ci-dessus). Voir les extensions - \pkgname{ps4pdf} et \pkgname{pdftricks} pour d'autres alternatives. - -\item [psselect, psnup, \ldots] Utilitaires \PS{}. - -\item [lacheck] Vérification de syntaxe \LaTeX{}. - -\item [texexec] Processeur Con\TeX{}t et \acro{PDF}. - -\item [tex4ht] Conversion \TeX{} vers \acro{HTML}. - -\end{cmddescription} - - -\section{Utilisation sous Unix} -\label{sec:unix-install} - -Comme on l'a vu en section~\ref{sec:basic} \p.\pageref{sec:basic}, -le \TL{} peut être utilisé de trois façons principales : - -\begin{enumerate} -\item Exécution directe depuis le \DVDlive. -\item Installation sur le disque dur. -\item Intégration d'un jeu de composants ou collections dans un système -\TeX{} déjà installé. -\end{enumerate} - -\noindent -Les procédures spécifiques à Unix sont décrites pour chacun de ces cas -dans les sections qui suivent. - -\ifSingleColumn \begin{figure}[ht]\noindent \fi -\begin{warningbox} - \textbf{ATTENTION : } Les \CD{} et le \DVD{} sont au format ISO~9660 - (High Sierra), avec les extensions \og Rock Ridge\fg{} (et \og Joliet\fg{} - pour Windows). Votre système doit pouvoir reconnaître les - extensions \og Rock Ridge\fg{} pour une utilisation optimale de - \TL{}. Consultez votre documentation concernant la commande - \cmdname{mount} pour voir si c'est le cas. Si votre réseau local est - constitué de machines différentes, regardez - si vous pouvez monter les \CD{} sur une machine qui supporte - Rock Ridge et utiliser ce point de montage pour les autres machines. - -\leavevmode\quad -L'utilisation des \CD{} sur les systèmes modernes -ne devrait pas poser de problèmes. S'il y en avait, n'hésitez pas à -nous le faire savoir. -La suite de ce document suppose que vous avez installé et monté les - \CD{} avec une compatibilité Rock Ridge parfaite. -\end{warningbox} - -\ifSingleColumn\end{figure}\fi - -N.B. : les droits de \og root \fg{} sont souvent requis pour monter le \CD{}. -D'autre part, selon le type d'Unix utilisé, il vous faudra probablement -connaître le mot de passe de \og root \fg{} ou tout au moins utiliser la -commande \cmdname{sudo} pour effectuer l'installation (le droit -d'écriture sur le(s) répertoire(s) d'installation est évidemment -indispensable). Cette remarque concerne particulièrement les utilisateurs de -\MacOSX{} à qui nous recommandons de prendre d'abord connaissance de la -section~\ref{sec:mac-install} avant toute installation. - - -\subsection{Utiliser \TL{} à partir du \DVDlive} - -La liste des architectures sur lesquelles fonctionne \TL{} est donnée -page~\pageref{tab:archlist} (table~\ref{tab:archlist}). - -\def\runlive{% text repeated in windows section -On peut utiliser le système \TeX{} directement depuis \DVDlive, -sans l'installer sur le disque dur (d'où en fait le nom \TL). -Il \emph{n'est pas possible} de faire tourner \TeX{} directement -depuis le \CDinst{} (voir section~\ref{sec:multiple-dist}, -page~\pageref{sec:multiple-dist}). -}% fin \runlive - -\def\startinst{% repeated in other subsections -Pour démarrer, il faut d'abord \og monter \fg{} le médium avec les -extensions Rock Ridge. -La commande exacte varie d'un système à l'autre ; la commande suivante -fonctionne sous Linux, mais les noms du périphérique (ici -\filename{/dev/cdrom}) et du point de montage (ici \dirname{/mnt/cdrom}) -peuvent changer. -\\ N.B. Tous nos exemples utilisent \texttt{>} pour les lignes de -commandes \textit{(shell prompt)} ; les commandes de l'utilisateur sont -\underline{soulignées}. -\begin{alltt} -> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} -\end{alltt} - -\noindent Se placer au point de montage du lecteur : -\begin{alltt} -> \Ucom{cd /mnt/cdrom} -\end{alltt} -}% fin startinst - -\def\installtlsh{% repeated in other subsections -Lancer le script \filename{install-tl.sh} : -\begin{alltt} -> \Ucom{sh install-tl.sh}\\ -Welcome to TeX Live... -\end{alltt} - -\noindent Après l'affichage de divers messages de bienvenue et une liste des -options du menu principal, l'installation réclame l'entrée d'une commande. -Taper alors le caractère voulu suivi d'un retour-chariot. Ne pas taper les -chevrons (ni \texttt{<} ni \texttt{>}) ; on peut utiliser des majuscules ou -des minuscules ; ici, les exemples utilisent des minuscules. -}% fin \installtlsh - -\runlive -\startinst -\installtlsh - -Pour exécuter \pkgname{live}, la première commande est \Ucom{d} -suivie de la sous-commande \Ucom{1} pour choisir le répertoire du disque -local où seront placés les fichiers (tels que les fontes et les formats) que -le système \TeX{} génère lui-même ainsi que les fichiers de configuration si -besoin est. On utilisera \dirname{/opt/texlive2007} dans cet exemple, -mais un utilisateur non privilégié peut très bien choisir un -sous-répertoire non-existant de son répertoire personnel (il sera créé -et ne contiendra donc que du matériel \TL{}). -Étant donné que les fichiers créés ne sont pas toujours compatibles d'une -année sur l'autre, il est recommandé d'inclure l'année dans le nom du -répertoire. -Si la valeur par défaut \dirname{/usr/local/texlive/2007} vous convient -(c.-à-d. que \dirname{/usr/local/texlive/2007} n'est pas un répertoire -existant et que vous avez les droits pour écrire sous \dirname{/usr/local}), -vous pouvez sauter cette étape. -\begin{alltt} -Enter command: \Ucom{d} -Current directories setup: -<1> TEXDIR: /usr/local/texlive/2007 -... -Enter command: \Ucom{1} -New value for TEXDIR [/usr/local/texlive/2007]: \Ucom{/opt/texlive2007} -... -Enter command: \Ucom{r} -\end{alltt} - -Retour au menu principal. La seconde (et dernière) commande est -\Ucom{r} -pour faire tourner \pkgname{live} à partir du \DVD{} sans pour autant -l'installer sur le disque dur : - -\begin{alltt} -Enter command: \Ucom{r} -Preparing destination directories... -... -Welcome to the TeX Live! -> -\end{alltt} - -On se retrouve au niveau de la ligne de commande -comme on vient de le voir. - -Il faut maintenant modifier les deux variables -d'environnement \envname{PATH} et \envname{TEXMFSYSVAR} comme indiqué -à l'écran quelques lignes au dessus de \og Welcome to TeX Live!\fg. -La syntaxe dépend du \textit{shell} utilisé. Les syntaxes -précises sont affichées pour les \textit{shell} de type Bourne ou compatible -(\cmdname{bash}, \cmdname{sh} \cmdname{ksh}, etc.) et pour les -\textit{C~shells} (\cmdname{csh}, \cmdname{tcsh}). -Rappelons qu'il suffit de taper la commande \verb+echo $SHELL+ %$ -pour connaître le nom du \textit{shell} utilisé. -Le plus simple est de recopier par copier-coller, soit les deux lignes -commençant par \og\cmdname{setenv}\fg{} pour les \textit{C~shells}, -soit les trois lignes \og\envname{PATH=}\fg, \og\envname{TEXMFSYSVAR=}\fg, -\og\envname{export ...}\fg{} pour les \textit{shell} de type Bourne -(suivies d'un retour-chariot) dans le terminal de commandes. - -Ceci suffit pour pouvoir utiliser la distribution \TL{} -pendant toute la session. -Pour ne pas avoir à redéfinir \envname{PATH} et \envname{TEXMFSYSVAR} -à chaque nouvelle connexion, il suffit d'entrer les mêmes commandes -à l'aide d'un éditeur dans le fichier d'initialisation du \textit{shell} -(\file{.bash\_profile}, \file{.profile} ou \file{.cshrc} -selon le cas). -L'initialisation se fera ensuite automatiquement au début de chaque nouvelle -session. - -\def\textruntexconfig{% - Une fois l'installation terminée et les variables d'environnement - initialisées, la dernière étape consiste à exécuter \cmdname{texconfig} ou - \cmdname{texconfig-sys} pour éventuellement modifier certains paramètres. - Ceci est expliqué à la section~\ref{sec:texconfig}, - \p.\pageref{sec:texconfig}.% -} -\textruntexconfig - -\def\textifindoubt{% -Passez maintenant à la section~\ref{sec:test-install} pour effectuer -quelques tests de bon fonctionnement. - -En cas de doute, n'hésitez pas à contacter un gourou système pour -vous aider à résoudre vos problèmes, tels que la façon de monter le - médium \TL{}, le choix des répertoires à utiliser ou les modifications -à apporter dans vos fichiers d'initialisation. -}%fin textifindoubt -\textifindoubt - -\subsection{Installer \TL{} sur le disque} -\label{sec:unix-install-disk} - -Il est possible, et même habituel, d'installer le système \TeX{} à -partir du \TL{} sur le disque (\og dur\fg{}). -Ceci peut se faire en utilisant soit le \DVDlive, soit le \CDinst -(voir section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist} -pour des explications sur les différentes distributions). - -\startinst -\installtlsh - -La table~\ref{tab:main-menu-options} donne la liste des options du menu -principal. On peut choisir les options dans n'importe quel ordre, mais -\Ucom{i} doit être la dernière choisie. Il est cependant raisonnable de -procéder dans l'ordre où elles apparaissent ici ! - -% apparently here.sty [H] doesn't support table*. -\begin{table}[H] -\caption{Options d'installation du menu principal} -\label{tab:main-menu-options} -\begin{tabular}{>{\ttfamily}ll} -p & plate-forme que vous utilisez\\ -b & choix des binaires à installer (architectures multiples)\\ -s & \emph{schéma d'installation} de base - (complet, recommandé, GUTenberg, etc.).\\ -c & modifier le choix des collections individuelles\\ -l & modifier le choix des langues à installer\\ -d & répertoire où faire l'installation\\ -o & autres options\\ -i & lancer l'installation\\ -\end{tabular} -\end{table} - -Voici quelques précisions sur chaque option. - -\begin{description} - -\item[\optname{p} -- Platform (current).] Plate-forme utilisée.\\ -Le script d'installation détecte automatiquement la plate-forme -sur laquelle il tourne, il est en général inutile de modifier cette option, -sauf en cas d'erreur. - -\item[\optname{b} -- Binary architectures.] Binaires pour d'autres -architectures.\\ -Par défaut, seuls les binaires pour votre plate-forme seront installés. À -l'aide de ce menu-ci, il est possible de choisir d'installer aussi les -binaires pour d'autres plates-formes (ou de ne pas installer pour la -plate-forme courante). C'est utile si on partage un arbre \TeX\ -au travers d'un réseau de machines hétérogènes. -La table~\ref{tab:archlist} ci-dessous donne la liste des architectures -pour lesquelles des binaires sont disponibles. - -\begin{table*}[!ht] -%\captionsetup{margin=5mm,justification=centerfirst} -\caption{Les binaires sont disponibles pour les architectures suivantes.} -\label{tab:archlist} -%(df) vérifier la liste finale -\begin{tabular}{>{\hspace*{15mm}\ttfamily}lll} -alpha-linux & HP Alpha GNU/Linux \\ -%alphaev5-osf4.0d & HP Alphaev5 OSF \\ -%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 \\ -i386-darwin & Intel x86 \MacOSX \\ -i386-freebsd & Intel x86 FreeBSD \\ -i386-linux & Intel x86 GNU/Linux \\ -%i386-openbsd3.3 & Intel x86 OpenBSD \\ -%i386-solaris2.8 & Intel x86 Solaris \\ -mips-irix & SGI IRIX \\ -powerpc-aix & IBM RS/6000 AIX \\ -powerpc-darwin & PowerPC \MacOSX \\ -sparc-linux & Sun Sparc GNU/Linux \\ -sparc-solaris & Sun Sparc Solaris \\ -win32 & Windows (32-bit) \\ -x86\_64-linux & Intel x86 64-bit GNU/Linux \\ -% \\ \hline -\end{tabular} -\end{table*} - -\item[\optname{s} -- Base Installation scheme.] -Schéma d'installation de base.\\ -Ce menu permet de choisir un type d'installation plus ou moins complet. -L'option par défaut (\optname{full}) installe tout, c'est un bon choix si -l'espace disque n'est pas limité. Les francophones préféreront peut-être -le schéma \acro{GUT}enberg, mais on peut choisir un ensemble minimal -(\optname{basic}) pour économiser de la place sur le disque. On trouve -aussi des ensembles spécifiques pour Omega ou pour les utilisateurs -d'\acro{XML}. - -\item[\optname{c} -- Individual collections.] Collections individuelles.\\ -Ce menu permet d'ajouter ou de supprimer des collections -parmi celles retenues par le schéma choisi ci-dessus. -Chaque collection\Dash fichiers de macros TeX, familles de fontes Metafont, -etc.\Dash{} est formée de plusieurs composants. -Attention, le programme différencie les lettres minuscules -des lettres capitales pour les touches de sélection. - -\item[\optname{l} -- Language collections.] Collections de langues.\\ -Ce menu fonctionne comme celui de \Ucom{c} pour modifier -le choix des langues à installer. -Attention, le programme différencie les lettres minuscules -des lettres capitales pour les touches de sélection. - -Voici la liste des collections de langues du \TL{} -(on garde ici les noms anglais des options qui sont ceux du système !) : - -% xx really should generate list from texmf/tpm/collection/tex-lang* -% a la install-tl.sh. -\begin{tabbing} -\hspace{.25\linewidth} \= -\hspace{.20\linewidth} \= -\hspace{.20\linewidth} \= -\hspace{.35\linewidth} \kill -African \textit{(qq scripts)} \> -Arabic \> -Armenian \> -Chinese\,Japanese\,Korean \\ -Croatian \> -Cyrillic \> -Czech/Slovak \> -Danish \\ -Dutch \> -Finnish \> -French \> -German \\ -Greek \> -Hebrew \> -Hungarian \> -Indic \\ -Italian \> -Latin \> -Manju \> -Mongolian \\ -Norwegian \> -Polish \> -Portuguese \> -Spanish \\ -Swedish \> -Tibetan \> -\acro{UK} English \> -Vietnamese \\ -\end{tabbing} - -\noindent Les collections de langues comprennent normalement des fontes, -macros, motifs de césure et autres fichiers. Par exemple, -\pkgname{frenchle.sty} est installé lorsqu'on sélectionne la collection -\optname{French}. Par ailleurs, l'installation d'une langue de la collection -modifie le fichier de configuration \filename{language.dat} qui contrôle -quelles divisions (ou coupures de mots) sont chargées. - -\item[\optname{d} -- Installation directories] Choix des -répertoires d'installation.\\ \label{text:instdir} -Ceci concerne les trois répertoires suivants : - -\begin{ttdescription} -\item [TEXDIR] -Répertoire de plus haut niveau sous lequel tout le reste sera installé, -la valeur par défaut est \dirname{/usr/local/texlive/2007}. -Il est conseillé de faire figurer l'année dans le nom choisi, de façon à -pouvoir conserver séparément plusieurs versions de \TL. -L'ajout d'un lien symbolique -\dirname{/usr/local/texlive/current} qui pointe vers la version à utiliser -facilitera grandement le basculement d'une version -à l'autre et le retour à l'ancienne version en cas de problème. - -Sous \MacOSX, les interfaces utilisateurs recherchent \TeX{} -dans \dirname{/usr/local/teTeX} ; plutôt que d'installer la distribution \TL{} -dans ce répertoire, on pourra faire l'installation par défaut -(dans \dirname{/usr/local/texlive/2007} donc) et ajouter deux liens -symboliques : \dirname{current} qui pointe vers \dirname{2007} et -\dirname{teTeX} qui pointe vers \dirname{current}. Pour cela il suffit de -taper les deux commandes suivantes dans un terminal : -\begin{alltt} -> \Ucom{(cd /usr/local/texlive ; ln -s ./2007 ./current)} -> \Ucom{(cd /usr/local ; ln -s ./texlive/current teTeX)} -\end{alltt} - -\item [TEXMFLOCAL] -C'est dans cette arborescence que doivent être placés les fichiers -non fournis par \TL{}. -La valeur par défaut est \dirname{/usr/local/texlive/texmf-local}. -C'est l'endroit recommandé pour y mettre les classes et les fichiers de style -locaux, les fontes (par exemple commerciales) non disponibles -sur \TL{} ainsi que les paramètres de configuration locaux. - -\item [TEXMFSYSVAR] -C'est dans cette arborescence que les scripts \cmdname{texconfig-sys}, -\cmdname{fmtutil-sys}, \cmdname{updmap-sys} installent les fichiers qui -sont spécifiques à la version, notamment les fichiers de format. -La valeur par défaut est \dirname{TEXDIR/texmf-var}, il n'y a en -général aucune raison de la changer. -Les fichiers configuration modifiables par \cmdname{texconfig-sys} (voir -section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}), comme -\filename{fmtutil.cnf} et \filename{updmap.cfg}, sont eux dans -\envname{TEXMFSYSCONFIG}. -\end{ttdescription} - -\item[\optname{o} -- Other Options.] -Ce menu permet de choisir les options suivantes : - -\begin{ttdescription} -\item [a] Pour spécifier un autre répertoire pour les fontes générées. -La valeur par défaut utilise l'arborescence \envname{TEXMFVAR}, comme on -l'a dit plus haut. -Si vous voulez que l'arborescence principale soit accessible en lecture -uniquement, cette option permet de choisir une autre localisation -(qui doit bien sûr être accessible en lecture-écriture pour tous) -pour ranger les fontes créées dynamiquement. - -\item [l] Pour créer des liens symboliques pour les binaires, -la documentation \textit{(man pages)} ou les fichiers Info \acro{GNU}. -Par exemple, on peut désirer rendre la documentation de type \textit{man} -accessible depuis \dirname{/usr/local/man} et les fichiers Info -depuis \dirname{/usr/local/info} (il faut alors bien sûr avoir les droits -d'écriture dans les répertoires spécifiés). - -En revanche, il est déconseillé d'utiliser cette option pour les binaires. -Rendre les binaires \TL{} accessibles depuis \dirname{/usr/local/bin} -risque de masquer définitivement, y compris pour \textit{root}, les -binaires \TeX\ fournis en standard sur la plate-forme. -Sous Linux par exemple, \textit{root} doit utiliser par défaut les binaires -\teTeX{} fournis avec la distribution installée (Debian, Mandrake, RedHat, -etc.) et non ceux fournis par \TL. - -\item [d] Pour ne pas installer l'arborescence de la documentation -sur les fontes et les macros. Utile pour économiser de l'espace -disque ou bien si la documentation a été installée auparavant à un -autre emplacement. - -\item [s] Pour ne pas installer l'arborescence des fichiers source. -Ceci peut être utile si cette arborescence est commune à -différentes machines ou architectures, (partage par \acro{NFS} ou -\cmdname{automount} par exemple). - -\end{ttdescription} - -\item[\optname{i} -- Perform Installation.] Installer.\\ -Quand les options de configuration sont satisfaisantes, on peut taper -\Ucom{i} pour lancer effectivement l'installation. - -\end{description} - -Lorsque l'installation est terminée, l'étape suivante consiste à inclure dans -la variable \envname{PATH} des usagers (autres que \textit{root} -cf. ci-dessus) le sous-répertoire de \dirname{TEXDIR/bin} spécifique à -l'architecture de façon que les programmes nouvellement installés puissent -être trouvés. Le tableau~\ref{tab:archlist} (page~\pageref{tab:archlist}) -donne la liste des noms des architectures ; on peut aussi lister le contenu de -\dirname{TEXDIR/bin} pour déterminer le nom du sous-répertoire de -\dirname{TEXDIR/bin} à inclure en tête de \envname{PATH}. - -\label{text:path} -La syntaxe de cette commande et le fichier d'initialisation à utiliser -dépendent du système utilisé. Pour un \textit{shell} Bourne ou -compatible (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, etc.), il -faut mettre dans le fichier \filename{$HOME/.profile}% %$ -\footnote{Pour les utilisateurs qui possèdent un fichier - \filename{$HOME/.bash_profile}, c'est dans ce dernier qu'il faut redéfinir - la variable \envname{PATH}, car pour eux, \filename{$HOME/.profile} est - sans effet.} -des futurs utilisateurs de \TL{} : -\begin{alltt} -PATH=/\Ucom{\emph{TEXDIR}}/bin/\Ucom{\emph{archname}}:$PATH; export PATH -\end{alltt} - -\noindent -et pour un \textit{C~shell} (\cmdname{csh}, \cmdname{tcsh}), -mettre dans le fichier \filename{$HOME/.cshrc} : -\begin{alltt} -setenv PATH /\Ucom{\emph{TEXDIR}}/bin/\Ucom{\emph{archname}}:$PATH -\end{alltt} %$ - -Sous \MacOSX{} ceci se peut se faire de la manière suivante, qui évite d'avoir -à ouvrir un éditeur sur un fichier caché : -on redevient utilisateur de base, on se place dans son répertoire personnel, -en tapant dans le Terminal -\begin{alltt} -> \Ucom{exit ; cd} -\end{alltt} -On vérifie quel est le \textit{shell} utilisé en tapant -\begin{alltt} -> \Ucom{echo $SHELL} -\end{alltt} %$ -Si la réponse est \filename{bash} (ou \filename{sh}) le fichier à modifier est -\file{.profile}, si c'est \filename{tcsh} (ou \filename{csh}) -le fichier à modifier est \file{.cshrc}.\\ -Cas de \filename{bash} : on tape dans le terminal\footnotemark{} -\addtocounter{footnote}{-1} -\begin{alltt} -> \Ucom{touch .profile} -> \Ucom{echo "export PATH=/usr/local/texlive/2007/bin/powerpc-darwin:$PATH" >> .profile} -> \Ucom{source .profile} -\end{alltt} %$ -Cas de \filename{tcsh} : on tape dans le terminal% -\footnote{Cet exemple suppose qu'on a fait l'installation dans -\dirname{/usr/local/texlive/2007} et que processeur est un Motorola, sinon il -faut adapter \envname{PATH} en conséquence (changer \dirname{powerpc-darwin} -en \dirname{i386-darwin} pour les Mac à base de processeur Intel).} -\begin{alltt} -> \Ucom{touch .cshrc} -> \Ucom{echo "setenv PATH /usr/local/texlive/2007/bin/powerpc-darwin:$PATH" >> .cshrc} -> \Ucom{source .cshrc} -\end{alltt} %$ -La mise à jour de la variable \envname{PATH} est terminée. - -\medskip -Voici un court exemple qui sélectionne une installation complète avec -les binaires du système actuel seulement (on accepte tous les choix par -défaut). Les \acro{RETURN} sont omis ici. - -% Respecter les espaces pour aligner les # !!! -\begin{alltt} -> \Ucom{sh install-tl.sh} -\Ucom{i} # lancer l'installation -# Redevenir utilisateur de base (non root) -> \Ucom{exit ; cd} -# Nouveau PATH (sous Linux, SHELL=bash, compte avec fichier \file{.bash_profile}) : -> \Ucom{echo "export PATH=/usr/local/texlive/2007/bin/i386-linux:$PATH" >> .bash_profile} -> \Ucom{source .bash_profile} # faire prendre en compte le nouveau PATH -\end{alltt} %$ - -Si votre système Unix connaît la commande \cmdname{manpath} (essayez en tapant -\code{man manpath} dans un terminal), vous pourrez accéder à la documentation -de \TL{} grâce à la commande \cmdname{man} en ajoutant la ligne suivante -(en adaptant les chemins éventuellement) dans -le fichier \filename{/etc/manpath.config} (ceci nécessite les droits de -\textit{root}) : -\begin{alltt} -MANPATH_MAP /usr/local/texlive/2007/bin/i386-linux /usr/local/texlive/2007/texmf/doc/man -\end{alltt} - - -\textruntexconfig - -\medskip %J.A. - -\textifindoubt - - -\subsubsection{Installation non interactive } -\label{sec:noninteractive-install} - -Lorsqu'on doit dupliquer la même installation sur plusieurs machines, il -peut être fastidieux de devoir répondre à chaque fois à la même liste de -questions. Une installation personnalisée automatique est possible. - -Exemple : pour réaliser une installation standard de \TL{} sous -\dirname{/opt/texlive} plutôt que sous \dirname{/usr/local/texlive}, -il suffit d'exécuter les trois commandes suivantes : -\begin{alltt} -> \Ucom{TEXLIVE_INSTALL_PREFIX=/opt/texlive} -> \Ucom{export TEXLIVE_INSTALL_PREFIX} -> \Ucom{echo i | sh install-tl.sh} -\end{alltt} - -L'argument \og\texttt{i}\fg{} passé au script d'installation sert à lancer -l'installation (en mode interactif, on taperait \texttt{i} au clavier). - -Cinq variables d'environnement permettent de choisir où aura lieu -l'installation : -\begin{ttdescription} -\item [TEXLIVE\_INSTALL\_PREFIX] - remplace \dirname{/usr/local/texlive}. -\item [TEXLIVE\_INSTALL\_TEXDIR] - remplace \dirname{/usr/local/texlive/2007}. -\item [TEXLIVE\_INSTALL\_TEXMFLOCAL] - remplace \dirname{/usr/local/texlive/texmf-local}. -\item [TEXLIVE\_INSTALL\_TEXMFSYSVAR] - remplace \dirname{/usr/local/texlive/2007/texmf-var}. -\item [TEXLIVE\_INSTALL\_TEXMFHOME] - remplace \dirname{$HOME/texmf}. %$ -\end{ttdescription} - -\enlargethispage*{\baselineskip} -Pour réaliser une installation personnalisée, il est facile d'écrire un petit -script qui passe les arguments adéquats à la commande \cmdname{install-tl.sh} ; -par exemple pour une installation selon le schéma Gutenberg, avec comme langues -supplémentaires l'espagnol et l'anglais britannique, à placer sous -\dirname{/opt/texlive}, on pourrait lancer (sous root, en supposant que -le SHELL est \cmdname{sh} ou \cmdname{bash} le script suivant : -\begin{verbatim} -TEXLIVE_INSTALL_PREFIX=/opt/texlive -export TEXLIVE_INSTALL_PREFIX -sh install-tl.sh <} pour les lignes de -commandes \textit{(shell prompt)} ; les commandes de l'utilisateur sont -\underline{soulignées}. -\begin{alltt} -> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} -\end{alltt} - -\noindent Se placer au point de montage du lecteur : -\begin{alltt} -> \Ucom{cd /mnt/cdrom} -\end{alltt} - -Lancer le script \filename{install-pkg.sh} (et non -\filename{install-tl.sh} qui n'est destiné qu'à l'installation complète) : - -\begin{alltt} -> \Ucom{sh install-pkg.sh \var{options}} -\end{alltt} - -Le premier jeu d'options permet de choisir ce qui sera installé : - -\begin{ttdescription} -\item [-{}-package=\var{pkgname}] Le composant individuel à installer. - -\item [-{}-collection=\var{colname}] La collection individuelle à installer. - -\item [-{}-nodoc] Ne pas installer les fichiers de documentation pour -cette opération. - -\item [-{}-nosrc] Ne pas installer les fichiers source pour cette opération. - -\item [-{}-cddir=\var{dir}] Répertoire source d'où on lit ; -par défaut le répertoire courant. Si on a suivi les instructions ci-dessus, -il n'a pas besoin d'être modifié. - -\item [-{}-listdir=\var{dir}] -Ce qu'on appelle \og répertoire des listes\fg{} dans \var{cddir} -d'où on lira l'information sur le composant. -Si on a suivi les instructions ci-dessus, il n'y a pas besoin de le modifier. - -\end{ttdescription} - -La suite des opérations est contrôlée par les options décrites ci-dessous. -Si aucune n'est spécifiée, par défaut on installe les fichiers spécifiés. -L'arborescence principale de destination est -le répertoire père du répertoire \dirname{bin} affiché par la commande -\cmdname{which tex}. -On peut la modifier en changeant les variables d'environnement -\envname{TEXMFMAIN} ou \envname{TEXMF}. - -\begin{ttdescription} - -\item [-{}-listonly] Liste les fichiers à installer mais n'installe - rien du tout ! - -\item [-{}-archive=\var{tarfile}] Au lieu d'installer les fichiers - dans le système \TeX{}, crée une archive \cmdname{tar}. - -\end{ttdescription} - -Options additionnelles : - -\begin{ttdescription} - -\item [-{}-config] Après l'installation, exécuter \code{texconfig init}. - -\item [-{}-nohash] Après installation, ne pas lancer \cmdname{mktexlsr} -pour reconstruire la base de données des noms de fichiers. -\item [-{}-verbose] Donner plus d'informations durant l'exécution des scripts. -\end{ttdescription} - -Voici quelques exemples d'utilisation : - -\begin{enumerate} - -\item Voir les fichiers du composant \pkgname{fancyhdr} sans l'installer : - -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} -\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} -> \Ucom{--listonly} -\fi{} -texmf-dist/doc/latex/fancyhdr/README -texmf-dist/doc/latex/fancyhdr/fancyhdr.pdf -... -\end{alltt} - -\item Installer le composant \LaTeX{} \pkgname{natbib}: -\begin{alltt} -> \Ucom{sh install-pkg.sh --package=natbib} -\end{alltt} - -\item Installer le composant - \LaTeX{} \pkgname{alg} sans les sources ni la documentation : - -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} -\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} -> \Ucom{-{}-nosrc -{}-nodoc} -\fi\end{alltt} - -\item Installer tous les composants dans la collection de macros - additionnelles de plain \TeX\ : -\begin{alltt} -> \Ucom{sh install-pkg.sh --collection=tex-plainextra} -\end{alltt} - -\item -Faire une archive \cmdname{tar} dans \path{/tmp} contenant tous les -composants -de \pkgname{pstricks} : -\begin{alltt} -\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} -\else -> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} -> \Ucom{-{}-archive=/tmp/pstricks.tar} -\fi\end{alltt} - -\end{enumerate} - -\textifindoubt - -% -\section{À faire après l'installation} -\label{sec:postinstall} - -Une fois l'installation terminée il faut, quel que soit le système, -configurer le système pour certains besoins locaux et -faire des tests de base. - -Cette phase de post-installation comprend éventuellement la prise en compte de -composants, fontes ou de programmes qui n'étaient pas inclus dans \TL{}. -L'idée de base est de faire les ajouts dans l'arborescence -\envname{TEXMFLOCAL} (si vous avez installé depuis le disque) -ou dans \envname{TEXMFSYSVAR} (si vous exécutez depuis le disque) ; -voir \og répertoires d'installation\fg{} en page~\pageref{text:instdir}. - -Bien sûr, les détails varient d'un cas à l'autre et nous n'essayerons -donc pas de les traiter ici. Voici quelques pointeurs à consulter : -\begin{itemize} -\item -\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} -\item -\url{http://www.ctan.org/installationadvice} -\item -\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} -\item -\url{http://www.ctan.org/tex-archive/info/Type1fonts} sur l'installation -de fontes. -\end{itemize} - -\subsection{Le programme \protect\cmdname{texconfig}} -\label{sec:texconfig} - -Vous pouvez utiliser le programme \cmdname{texconfig} n'importe quand après -votre installation pour reconfigurer votre système -de façon à satisfaire les besoins locaux. -Il peut être nécessaire de l'exécuter au moins une fois juste après -l'installation si les valeurs par défaut de certains paramètres ne vous -conviennent pas. -Ce programme est installé avec les autres sous le répertoire propre à -votre architecture \texttt{TEXDIR/bin/\var{archname}}, si vous n'avez pas -modifié le \envname{PATH} de \textit{root}, il faudra le lancer -(sous \textit{root}) avec son chemin complet. - -Si on le lance sans arguments, il entre en mode plein-écran et on peut -alors voir et modifier interactivement les paramètres. - -On peut aussi le lancer avec diverses options. Voici les plus courantes -(la distribution \TL{} est configurée pour utiliser du papier~A4 par défaut) : - -\begin{ttdescription} - -\item [texconfig paper letter] -Mettre la taille par défaut du papier à \textit{letter} pour les pilotes -\cmdname{pdftex}, \cmdname{dvips}, \cmdname{dvipdfm}, \cmdname{xdvi}, etc. - -\item [texconfig rehash] Mettre à jour toutes les bases de données des -fichiers du système \TeX{} (à faire après tout ajout ou suppression de -fichier). - -\item [texconfig faq] Afficher la \acro{FAQ} sur \teTeX{}. -(voir aussi la \acro{FAQ} principale de \TeX{} dans -\OnCD{texmf-doc/doc/english/FAQ-en} sur le \DVDlive{}). - -\item [texconfig help] Obtenir de l'aide sur la commande \cmdname{texconfig}. - -\end{ttdescription} - -Bien sûr, \cmdname{texconfig} ne permet de changer que certaines des -nombreuses options et paramètres de configuration d'un système \TeX{}. -Le fichier principal de configuration pour les programmes de la base -\Webc{} s'appelle \filename{texmf.cnf}. ; on peut trouver son emplacement -en exécutant \samp{kpsewhich texmf.cnf}. Ce fichier contient de nombreux -commentaires expliquant les options par défaut et la signification des -paramètres, sa lecture est recommandée. - -Depuis 2005, la commande \cmdname{texconfig} \emph{ne modifie plus les -fichiers de configuration de la machine}, mais ceux de l'utilisateur qui la -lance ; ces fichiers sont dans le répertoire \dirname{$HOME/.texlive2007} %$ -de l'utilisateur. - -De même, les commandes \cmdname{updmap} et \cmdname{fmtutil} -opèrent maintenant au niveau de l'utilisateur dans le répertoire -\dirname{$HOME/.texlive2007} %$ - -\textbf{Important : machines multi-utilisateurs}. Les administrateurs -installant \TL{} sur une machine multi-utilisateurs devront dorénavant -utiliser les commandes \cmdname{texconfig-sys}, \cmdname{updmap-sys} et -\cmdname{fmtutil-sys} pour respectivement modifier la configuration, mettre à -jour les fichiers \file{.map} et créer les formats \emph{au niveau de la - machine}. Noter qu'aucun format n'est créé à l'installation, ils sont -fabriqués à la demande ; depuis cette année, le format créé par un utilisateur -l'est uniquement pour lui (il est mis dans \dirname{$HOME/.texlive2007}). %$ -Afin d'éviter la multiplication de fichiers de formats, il y a donc lieu créer -au moins les formats les plus utilisés au niveau du système à la fin de -l'installation par la commande \cmdname{fmtutil-sys}. Le plus simple est de -les créer tous (c.-à-d. ceux qui figurent dans le fichier fmtutil.conf) par -\begin{alltt} -> \Ucom{fmtutil-sys --all} -\end{alltt} -De plus, ceux qui ont des fichiers de configuration spécifiques -\filename{fmtutil.cnf} ou \filename{updmap.cfg} devront les placer -dans l'arborescence pointée par la nouvelle variable -\envname{TEXMFSYSCONFIG}, -faute de quoi ces fichiers ne seront pas trouvés par les scripts -\cmdname{fmtutil-sys} et \cmdname{updmap-sys}. -Si les fichiers \filename{fmtutil.cnf} et \filename{updmap.cfg} propres à la -machine sont, par exemple, dans \envname{\$TEXMFLOCAL}, -rien n'empêche de définir \envname{TEXMFSYSCONFIG} comme -\envname{\$TEXMFLOCAL}, -mais il faut le faire explicitement dans le fichier \filename{texmf.cnf}. - -Rappelons que la commande \cmdname{texconfig conf} retourne les valeurs des -variables \envname{TEXMFSYSCONFIG}, \envname{TEXMFLOCAL}, etc., et que -l'utilisation des différentes arborescences texmf a été décrite à la -section~\ref{sec:texmftrees} \p.\pageref{sec:texmftrees}. - - -\subsection{Tester l'installation} -\label{sec:test-install} - -Une fois l'installation de \TL{} terminée, il faut -la tester avant de créer des documents ou des fontes. -Les tests doivent être faits par un utilisateur non privilégié -(autre que \textit{root}). - -On donne ici quelques procédures de base pour vérifier que le nouveau -système est opérationnel. On les décrit pour Unix ; pour \MacOSX{} ou -Windows, il vaut mieux tester au travers d'une interface graphique, -mais les principes sont les mêmes. - -\begin{enumerate} - -\item -S'assurer en premier lieu que le programme \cmdname{tex} fonctionne : - -\begin{alltt} -> \Ucom{tex -{}-version} -TeX 3.141592 (Web2C 7.5.5) -kpathsea version 3.5.5 -... -\end{alltt} - -Si on récupère un \textit{command not found} au lieu d'informations -comme le numéro de version et le copyright, il est fort probable que -vous n'avez pas le bon répertoire \dirname{bin} dans votre -\envname{PATH}. -Voir les informations sur l'environnement page~\pageref{text:path}. - -\item Traiter un fichier \LaTeX{} simple : - -\begin{alltt} -> \Ucom{latex sample2e.tex} -This is pdfeTeXk, Version 3.141592... -... -Output written on sample2e.dvi (3 pages, 7496 bytes). -Transcript written on sample2e.log. -\end{alltt} -Si ça échoue en cherchant \filename{sample2e.tex} ou d'autres fichiers, -il y a peut-être des interférences entre vos anciennes variables -d'environnement ou fichiers de configuration. Pour analyser en détail -votre problème, vous pouvez demander à \TeX{} de dire exactement ce -qu'il cherche et trouve ; voir \og Actions de débogage \fg{} -page~\pageref{Debugging}. - -\item Prévisualiser les résultats en ligne : -\begin{alltt} -> \Ucom{xdvi sample2e.dvi} -\end{alltt} -Sous Windows, la commande équivalente est \cmdname{dviout}. -Une nouvelle fenêtre doit s'ouvrir et montrer un document expliquant les -bases de \LaTeX{} (document à lire d'ailleurs si vous êtes débutant !). -Vous devez tourner sous X pour que \cmdname{xdvi} fonctionne. Sinon, votre -variable d'environnement \envname{DISPLAY} n'est pas correcte et vous -aurez une erreur \samp{Can't open display}. - -\item Créer un fichier \PS{} pour l'imprimer ou l'afficher : - -\begin{alltt} -> \Ucom{dvips sample2e.dvi -o sample2e.ps} -\end{alltt} - -\item Créer un fichier \acro{PDF} au lieu de \dvi{} ; -cet exemple traite le fichier \filename{sample2e.tex} et crée directement -du \acro{PDF} : - -\begin{alltt} -> \Ucom{pdflatex sample2e.tex} -\end{alltt} - -\item Prévisualiser le fichier \acro{PDF} : - -\begin{alltt} -> \Ucom{gv sample2e.pdf} -\textrm{ou} -> \Ucom{xpdf sample2e.pdf} -\end{alltt} - -Hélas, ni \cmdname{gv} ni \cmdname{xpdf} ne sont actuellement inclus dans -\TL{}, aussi devez-vous les installer séparément si ce n'est déjà fait. -Voir respectivement -\url{http://www.gnu.org/software/gv} et -\url{http://www.foolabs.com/xpdf}. - -\item Autres fichiers de tests utiles : - -\begin{ttdescription} - -\item [small2e.tex] Un document plus simple à compiler que -\filename{sample2e} si celui-ci pose des problèmes. - -\item [testpage.tex] Teste que l'imprimante n'introduit pas de décalages. - -\item [nfssfont.tex] Imprime des tables de fontes et des tests. -\item [testfont.tex] Aussi pour les tables de fontes, mais en (plain) \TeX. -\item [story.tex] Le fichier de test de (plain) \TeX{} le plus canonique -de tous. Il faut taper \samp{\bs bye} à la commande \code{*} après -\samp{tex story.tex}. - -\end{ttdescription} -Pour exécuter ces tests procéder comme on l'a fait pour -\filename{sample2e.tex}. - -\end{enumerate} - -Si vous êtes débutant ou si vous avez besoin d'aide pour réaliser des -documents \TeX{} ou \LaTeX{}, n'hésitez pas à consulter -\url{http://tug.org/begin.html}. -On vous recommande également l'introduction à \LaTeX{} de Tobias Oetiker -dans sa version anglaise (la version française n'est plus à jour) -disponible après installation sous -\url{texmf-doc/doc/english/lshort-english/lshort.pdf}. - - -\section{Installation pour \MacOSX} -\label{sec:mac-install} - -\TL{} traite \MacOSX, mais pas les versions antérieures des Macintosh. - -On peut installer \TeX{} sous \MacOSX{} de deux façons : - -\begin{enumerate} - -\item Utiliser la nouvelle distribution, appellée Mac\TeX{}, disponible - depuis l'édition 2005 sur le \DVDlive ; elle se trouve dans le répertoire - \dirname{mactex/}, voir section~\ref{sec:mactex}. C'est la méthode - \emph{vivement recommandée}, car l'installation est très simple. - -\item Utiliser les commandes \filename{install*} comme pour Unix (lire d'abord - la section~\ref{sec:osx-unix-inst} ci-dessous pour les spécificités \MacOSX{} -puis la section~\ref{sec:unix-install}). Cette méthode offre plus de choix -quant à ce qui sera installé mais déroute bien des utilisateurs de Macintosh -(ceux qui répugnent à taper des commandes dans un Terminal). - -\end{enumerate} - -\noindent Par ailleurs, l'utilisation de \TeX{} sous \MacOSX{} se fait -normalement par le biais d'une interface graphique (\emph{frontend}), -comme expliqué ci-dessous à la section~\ref{sec:interf-graph-macosx}. - -\subsection{Installation de Mac\TeX} -\label{sec:mactex} - -La distribution Mac\TeX{} est une variante de \TL{} complétée par de -nombreuses applications et de la documentation spécifique. -Elle dispose de son propre installeur intégré. - -Le site de référence pour Mac\TeX{} est \url{http://tug.org/mactex}. - -\subsection{\protect\cmdname{install*.sh} : installation depuis \TL{}} -\label{sec:osx-unix-inst} - -Le système \MacOSX{} est un Unix (presque) comme les autres, mais Apple -cache soigneusement ce fait, ce qui ne facilite pas l'installation de -logiciels comme \TL{}. - -Nous allons essayer de décrire en détail la procédure d'installation. -La première chose à faire est d'ouvrir une fenêtre \og Terminal \fg{}. -L'application \og Terminal\fg{} se trouve dans le répertoire -/Applications/Utilitaires, elle est accessible à partir du menu -principal en haut de l'écran. - -Ensuite, nous allons vérifier si l'interpréteur de commandes -(ou \textit{shell} en anglais) \cmdname{bash} est présent ou non. -Pour cela, taper dans la fenêtre \og Terminal \fg{} la commande suivante : -\begin{alltt} -> \Ucom{which bash} -\end{alltt} -Si le \textit{shell} \cmdname{bash} est présent (cas des versions -de 10.2 et suivantes de \MacOSX) la réponse sera un chemin, par exemple -\filename{/bin/bash}. -Si la réponse est \texttt{command not found}, vous avez une version -antérieure à 10.2, sur laquelle \cmdname{bash} n'est pas installé par défaut. -Vous devrez alors récupérer le \textit{shell} \cmdname{bash} sur internet -(par exemple ici : \url{http://tug.org/texlive/bash.dmg}) -et l'installer\dots{} ou mieux, mettre à jour votre version de \MacOSX. - -Supposons désormais le \textit{shell} \cmdname{bash} présent. -Il faut maintenant \og passer \textit{root} \fg{}, c'est-à-dire -se donner le pouvoir d'effectuer des opérations normalement interdites -aux utilisateurs de base. Ceci se fait en tapant dans le \og Terminal\fg{} -la commande : -\begin{alltt} -> \Ucom{sudo su -} -\end{alltt} - -Mettre le \CDinst{} ou le \DVDlive{} dans le lecteur, son contenu -devient automatiquement accessible sous le répertoire \dirname{/Volumes}. -On tape ensuite dans le \og Terminal\fg{} les commandes : -\begin{alltt} -> \Ucom{cd /Volumes/texlive2007} -> \Ucom{sh install-tl.sh} -\end{alltt} -pour se placer à la racine de l'image disque montée et y lancer le script -d'installation. Il suffit ensuite de suivre la documentation -d'installation de la section~\ref{sec:unix-install-disk} -\p.\pageref{sec:unix-install-disk} où des notes spécifiques pour \MacOSX{} -ont été incluses si nécessaire. - -\subsection{Interfaces graphiques pour \MacOSX{}} -\label{sec:interf-graph-macosx} - -Normalement, l'utilisation de \TeX{} sur un Macintosh se fait à travers -une interface graphique, comprenant un \textit{shell} d'exécution, un -éditeur, un prévisualiseur et d'autres outils (on échappe toutefois -difficilement à l'utilisation de \og Terminal \fg{} dès que l'on veut -réaliser des tâches un tant soit peu évoluées\ldots). - -Voici les principales interfaces disponibles : - -\begin{cmddescription} -\item [TeXShop] Inclus dans \TL{} sous -\filename{./MacOSX/texshop.dmg}.\\ -Voir \url{http://www.uoregon.edu/~koch/texshop/texshop.html}. - -\item [ITeXMac] Inclus dans \TL{} sous \filename{./MacOSX/iTM-*.dmg}.\\ -Voir \url{http://itexmac.sourceforge.net}. - -\item [Mac-emacs] Une adaptation d'Emacs à \MacOSX{}, avec -\pkgname{AucTeX} inclus.\\ -Voir \url{http://www.cs.man.ac.uk/~franconi/mac-emacs}. - -\end{cmddescription} - -Si vous choisissez d'utiliser \cmdname{TeXShop} ou \cmdname{ITeXMac}, -il sera nécessaire de donner à ces logiciels les informations concernant -le PATH : - -\begin{cmddescription} - -\item [TeXshop] Lancer l'application et ouvrir le panneau préférences (menu - TeXShop). Sélectionner l'onglet \og Moteur\fg{} et modifier la première - ligne en saisissant votre PATH, par exemple : - \dirname{/usr/local/texlive/2007/bin/powerpc-darwin}. - -\item [ITeXMac] Lancer l'application et ouvrir le panneau préférences (menu - ITeXMac). Sélectionner le bouton \og Assistant teTeX\fg{}, puis l'onglet - \og TeX\fg{} et cliquer sur le bouton radio \og{} Autre\fg{}. Saisir alors - votre PATH, par exemple : - \dirname{/usr/local/texlive/2007/bin/powerpc-darwin}. - -\end{cmddescription} - - -\section{Installation sous Windows} -\label{sec:win-install} - -La distribution \TL{} inclut un -installeur pour Windows qui s'appelle \cmdname{tlpmgui}. - -%%%%%%%%%%%%%%%%%%%% Ajout (df) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{quote} -\textbf{Note du traducteur :} à titre personnel, je ne recommande pas -l'installation sous Windows à partir de \cmdname{tlpmgui}, sauf aux -utilisateurs qui connaissent bien \TL{} sous Unix et veulent avoir sous -Windows une distribution aussi proche que possible de celle-ci. - -Une autre piste, non basée sur la distribution \TL{}, me semble nettement plus -adaptée : il s'agit installer la distribution \ProTeXt{} à partir du -\DVDlive{} ou du \CD{} spécifique, elle est basée sur \MIKTEX{} distribution -très appréciée sous Windows ; - -Si vous décidez d'opter pour \ProTeXt{} la suite de toute cette -section ainsi que la suivante (Maintenance sous Windows) ne vous -concernent pas. -\end{quote} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\cmdname{tlpmgui} propose essentiellement les mêmes options que le script -\cmdname{install-tl.sh} sous Unix mais dans une interface graphique : - sélection des schémas, choix des collections, etc., se reporter -à la section~\ref{sec:unix-install-disk} \p.\pageref{sec:unix-install-disk}. -Certaines manipulations telles que l'ajout ou la suppression -de composants, la mise à jour des bases de données -et la constructions de formats sont également possibles. -De plus, \cmdname{tlpmgui} offre la possibilité d'utiliser \TL{} depuis -le \DVDlive{} (sans l'installer sur le disque dur). - -Pour les connaisseurs, \cmdname{tlpmgui} repose sur le programme -\cmdname{tlpm} accessible en ligne de commande Windows. - -Les binaires pour Windows sont empruntés à la distribution \acro{W32TEX}, -fournie par Akira Kakuto. -Certains outils de l'ancienne distribution \fpTeX{} de Fabrice Popineau ont -été conservés, le nouveau visualiseur \cmdname{dviout} de Toshio Oshima -a remplacé celui de Fabrice (\cmdname{Windvi}). - -\TL{} peut être installé sur les systèmes Windows~9x, \acro{ME}, -\acro{NT}, \acro{2K} or \acro{XP}. Il ne fonctionne pas avec les versions -plus anciennes Windows (3.1x) et \acro{MS-DOS}. - -\textbf{Attention :} Les utilisateurs de Windows~9x - doit vérifier qu'il disposent d'assez d'espace pour les variables - d'environnement. Le programme \cmdname{tlpmgui.exe} crée un certain - nombre de variables d'environnement, si l'espace manque ajouter - \texttt{SHELL=COMMAND.COM /E:4096 /P} dans le fichier - \filename{config.sys}. - -\subsection{Installation sous Windows depuis le \CDinst} - -Le programme \cmdname{tlpmgui} devrait démarrer automatiquement -dès l'insertion du \CDinst{} dans le lecteur de \acro{CD}. -Si ce n'est pas le cas, cliquer sur \guiseq{Start\arw Run} puis -taper \path{:\string\setuptl\string\tplmgui.exe} ---- resp. -\path{:\string\texlive\string\setuptl\string\tplmgui.exe} -si vous installez à partir du \DVDlive{} --- où \path{} -désigne la lettre correspondant au lecteur de \acro{CD} ; cliquer ensuite -sur OK. - -La fenêtre intitulée \guiseq{TeX Live installation and maintenance utility} -devrait s'ouvrir. Elle propose les options suivantes : -\guiseq{Main customization}, \guiseq{Install}, \guiseq{Select a scheme}, -\guiseq{Select systems}, \guiseq{Directories} et \guiseq{Options}. - -Dans la section \guiseq{Directories}, le nom du lecteur de \acro{CD/DVD} -(par exemple \texttt{F:/}) devrait apparaître à côté du bouton -\acro{CD/DVD}. S'il n'est pas affiché utiliser ce bouton pour -sélectionner le lecteur de \acro{CD/DVD} contenant \TL. - -Il est possible de choisir le répertoire devant contenir la distribution \TL{} -en cliquant sur le bouton \guiseq{TLroot}(la variable \path{TLroot} contiendra -le nom de ce répertoire). -% Le contenu des variables d'environnement -% \path{TEXMFTEMP} et \path{TEXMFCNF} est affiché à côté des boutons -% \guiseq{TEXMFTEMP} et \guiseq{TEXMFCNF}, il sera mis à jour automatiquement -% pendant l'installation (il est possible de le modifier en cas de besoin -% particulier). - -La section \guiseq{Select a scheme} permet, comme sous Unix, de choisir le -schéma de base souhaité pour l'installation (complète, GUTenberg, etc.) : -utiliser le bouton radio pour faire ce choix et le bouton \guiseq{Info} -pour une description du schéma sélectionné. - -Il est possible de personnaliser le schéma choisi en lui ajoutant ou en -supprimant certaines de ses composantes (appelées \guiseq{collections}). -Ceci se fait en utilisant les boutons \guiseq{Standard collections} -et \guiseq{Language collections} (choix des langues utilisables) -dans \guiseq{Main customization}. - -La collection \guiseq{Wintools} est sélectionnée par défaut car elle contient -beaucoup de petits utilitaires non fournis avec Windows, comme des -convertisseurs tels que \cmdname{sam2p}, \cmdname{jpeg2ps}, \cmdname{tiff2png}, -des prgramme de compression tels que \cmdname{bzip2}, \cmdname{gzip}, -\cmdname{unzip} et \cmdname{wget} qui est requis par le nouvel utilitaire -\cmdname{getnonfreefonts}. - -\textbf{Remarque :} Les collections \guiseq{Ghostscript}, \guiseq{Perl} -sont sélectionnées par défaut. Elles \emph{doivent être -installées}\dots{} sauf si elles l'ont été par ailleurs. -Les variables d'environnement \envname{PERL5LIB} et \verb|GS_LIB| doivent -aussi être initialisées et le chemin complet des binaires \guiseq{Ghostscript} -doit être ajouté à la variable \verb|PATH|. - -Finalement, cliquer sur le bouton \guiseq{Install} dans la section -\guiseq{Install} pour lancer le processus d'installation. - -Laisser le processus se poursuivre jusqu'à l'affichage du message annonçant -que l'installation a réussi (un certain nombre d'étapes sont nécessaires, -comme la création des formats, la mise à jour des bases de données, etc. ce -qui peut prendre un certain temps). - -Un raccourci pour \cmdname{tlpmgui} (et pour \cmdname{dviout} s'il est -installé), sera ajouté dans le menu \guiseq{Start\arw Programs\arw -TeXLive2007}. - -Si nécessaire (Windows~9x/WinME), il vous sera demandé de -redémarrer l'ordinateur. - - -\subsection{Programmes auxiliaires pour Windows} -\label{sec:win-xemtex} - -Pour être complète, une installation \TL{} a besoin de programmes -auxiliaires qu'on ne trouve pas fréquemment sur une machine Windows. -De nombreux scripts sont écrits en Perl. Certains outils importants utilisent -l'interpréteur \PS{} Ghostscript pour afficher ou convertir les fichiers. -Il faut aussi dans certains cas une boîte à outils graphique. -Enfin, un éditeur orienté \TeX{} facilite la saisie de fichiers \TeX{}. - -Tous ces outils sont assez faciles à trouver pour \TeX{}, mais pour essayer -de vous rendre la vie plus facile, nous avons incorporé des outils de ce type -dans \TL{} : -\begin{itemize} -\item GNU \cmdname{GhostScript} 8.54 ; -\item un \cmdname{Perl} 5.8 minimum, suffisant pour exécuter tous les scripts -Perl du \TL{} ; -\item quelques utilitaires comme bzip2, gzip, jpeg2ps et tiff2png. -\end{itemize} - -Perl et Ghostscript sont installés par défaut ; vous pouvez empêcher -leur installation en les déselectionant explicitement lors de -l'installation si vous les avez déjà. - -Si vous préférez ne pas installer les outils inclus dans \TL{}, vous êtes -libre d'installer les outils nécessaires pour compléter votre système \TL{} ; -voici une liste des adresses où les obtenir : -\begin{description} -\item[GhostScript] \url{http://www.cs.wisc.edu/~ghost/} -\item[Perl] \url{http://www.activestate.com/} (mais il vous faudra peut-être - chercher des bibliothèques supplémentaires sur CPAN, - \url{http://www.cpan.org/}) -\item[ImageMagick] \url{http://www.imagemagick.com} -\item[NetPBM] Vous pouvez aussi utiliser NetPBM à la place de ImageMagick - pour traiter ou convertir vos fichiers graphiques. La page d'accueil - de NetPBM est - \url{http://netpbm.sourceforge.net/} -\item[Éditeurs orientés \TeX] Il y a un large choix, et cela dépend des - préférences de l'utilisateur. En voici une sélection : - \begin{itemize} - \item \cmdname{GNU Emacs} avec l'extension AucTeX existe nativement - sous Windows, l'url de référence est - \url{ftp://alpha.gnu.org/gnu/auctex} ; - \item \cmdname{WinShell} se trouve sur \TL{} dans le répertoire - \path{support}, l'url de référence est \url{http://www.winshell.de} ; - \item \cmdname{WinEdt} est un partagiciel disponible à l'adresse - \url{http://www.winedt.com} ; - \item TeXnicCenter est libre et se trouve à l'adresse - \url{http://www.toolscenter.org/products/texniccenter/} et aussi dans - la distribution \ProTeXt{} ; - \item \cmdname{Vim} peut être téléchargé sur le site - \url{http://www.vim.org} ; - \item \cmdname{LEd} se trouve à l'adresse - \url{http://www.ctan.org/support/LEd} ; - \item \cmdname{SciTE} se trouve à l'adresse - \url{http://www.scintilla.org/SciTE.html}. - \end{itemize} -\end{description} - -Il est aussi possible d'installer d'autres outils qui ne sont pas -libres\footnote{Pas libres en fait dans le sens de la liberté de les - modifier et les redistribuer, selon les -\emph{Debian's guidelines}. Cela ne signifie pas qu'on ne peut pas les -acquérir gratuitement.} -comme \cmdname{GSView}, le programme compagnon de \cmdname{GhostScript} -pour afficher plus facilement les fichiers PS/PDF. -\cmdname{GSView} est disponible à l'url -\url{http://www.cs.wisc.edu/~ghost/gsview/} -ou sur tout site \acro{CTAN}. - -\section{Maintenance sous Windows} - -Une fois la distribution \TL{} installée, vous pouvez vous servir du programme -\cmdname{tlpmgui} pour modifier ou compléter votre installation. - -\subsection{Ajouter ou supprimer des composants} - -Le raccourci \cmdname{tlpmgui} du menu -\guiseq{Start\arw Programs\arw TeXLive2007} permet de lancer le programme -et affiche la fenêtre \guiseq{TeX Live installation and maintenance utility}. -Les sections à utiliser sont \guiseq{Add Packages} (ajout de composants), -\guiseq{Remove packages} (suppression de composants), -\guiseq{Manage installation} (maintenace), \guiseq{Remove installation} -(suppression totale de \TL). - -Cliquer sur \guiseq{Add packages} ou \guiseq{Remove packages}, puis - -\begin{itemize} -\item Choisir le lecteur de \acro{CD} (ou le répertoire \texttt{texlive} - du lecteur de \acro{DVD}) grâce au bouton \guiseq{CD/DVD}. - -\item Cliquer sur le bouton \guiseq{Search} dans la section \guiseq{Buttons} -pour afficher la liste de composants à installer ou à supprimer -dans \guiseq{Select packages to\dots}. - -Lors de l'ajout de composants, la liste des composants installés est comparée -à la liste des composants disponibles sur le \acro{CD/DVD}. -Seuls les composants non installés sont affichés, à vous de choisir ceux que -vous souhaitez ajouter. - -Inversement, lors de la suppression de composants, seuls les composants -installés sont affichés. - -Noter que les collections sont en tête de liste. - -\item Sélectionner un composant en cliquant sur son nom dans la liste. -Un clic sur le bouton \guiseq{Info} donne une courte description du contenu. -Il est possible de sélectionner plusieurs composants à la fois à l'aide des -touches \og Ctrl \fg{} et \og Shift \fg{} (majuscules). - -\item Cliquer sur \guiseq{Install} ou \guiseq{Remove} pour terminer -l'opération. -\end{itemize} - -\subsection{Configuration et maintenance} - -La section \guiseq{Manage the installation} permet d'effectuer les opérations -courantes de configuration et de maintenance. - -Voici la liste des actions possibles : -\begin{itemize} - \item mettre à jour la base \filename{ls-R}, - \item créer les formats, - \item modifier le fichier \filename{language.dat}, - \item modifier le fichier \filename{fmtutil.cnf}, - \item modifier le fichier \filename{updmap.cfg}. - \end{itemize} - -Il faut sortir de la fenêtre d'édition en cliquant sur le bouton \guiseq{Done} -pour que les mises à jour des formats, fichiers \file{.map}, base -\filename{ls-R} soient effectuées. - -Les autres possibilités de configuration sont décrites à la -section~\ref{sec:persconf}, \p.\pageref{sec:persconf}. - -\subsection{Désinstallation complète de \TL{}} - -L'option \guiseq{Remove the TeX Live installation} permet de supprimer toute -la distribution \TL{}. - -Attention, ce que vous avez éventuellement installé dans le répertoire -\path{texmf-local} ne sera pas supprimé ; le répertoire \path{setuptl} -contenant \cmdname{tlpmgui} doit être également nettoyé à la main si -nécessaire. - -\subsection{Ajouter des composants à votre système} - -Tout d'abord, quelles que soient les modifications faites, -\emph{n'oubliez pas de reconstruire les fichiers ls-R de bases de - données}, sinon les nouveaux fichiers ne seront jamais retrouvés. -Pour cela, vous pouvez soit utiliser le programme \cmdname{tlpmgui}, option -\guiseq{Manage the installation}, soit lancer manuellement la commande -\file{mktexlsr}. - -Si vous choisissez d'ajouter des fichiers qui ne proviennent pas de la -distribution \TL{} (ou fp\TeX{}), il est fortement -recommandé de les mettre dans le répertoire \path{$TEXMFLOCAL}. %$ -De cette manière, vous serez certain qu'il n'y aura pas de problème -lors d'une mise à jour de \TL. - -L'arborescence pointée par \path{$TEXMFLOCAL} est initialement %$ -vide. Si vous souhaitez y ajouter par exemple les fichiers de style -pour le logiciel de calcul formel Maple, vous devrez mettre ces -fichiers dans le répertoire -\path{C:\string\TeXLive2007\string\texmf-local\string\tex\string\latex\string\maple} -et les fichiers de documentation dans -\path{C:\string\TeXLive2007\string\texmf-local\string\doc\string\latex\string\maple} - - -\subsection{Exécution de \texttt{tlmp.exe} en ligne de commande} - -Le programme \cmdname{tlpm.exe} utilisé par \cmdname{tlpmgui} -possède de nombreuses options utiles dont la liste est donnée par -\begin{verbatim} -tlpm --help -\end{verbatim} - -Consulter le fichier \filename{tlpm.readme} pour plus de renseignements et des -exemples. - -\subsection{Installation en réseau} - -\KPS{} est compatible avec les noms UNC, ceux-ci peuvent donc être utilisés -pour récupérer l'arborescence TEXMF depuis le réseau. Mais -encore mieux, tous les fichiers, y compris ceux de -configuration et excepté les binaires dans \path{bin/win32}, sont -compatibles et partageables avec \teTeX{} ou le \TL{} Unix. Cela -signifie que vous pouvez utiliser Samba, soit pour monter la -distribution Unix sur un client Windows, ou un client Unix -depuis un serveur NT. Plusieurs stratégies sont possibles : -\begin{itemize} - -\item tout mettre sur le serveur. Il faut simplement être certain de mettre dans \path{bin/} les binaires pour tous les couples systèmes d'exploitation / architectures nécessaires. Par exemple, ajouter \path{bin/win32} et - \path{bin/i386-linux}. Ensuite configurer les variables principales ; vous - pouvez utiliser des noms UNC pour pointer sur les répertoires appropriés - sous Win32. - -\item Installer une copie locale pour les binaires et les fichiers de - format. Dans ce cas, assigner \path{$TEXMFMAIN} au répertoire - principal \path{texmf} qui sera pris sur le réseau. Faire pointer - \path{$VARTEXMF} vers un répertoire local qui contiendra les fichiers - de configuration locaux et les fichiers générés au vol. %$ - -\end{itemize} - -\subsection{Différences entre la version Windows et la version - Unix de \TL} - -La version Windows de \Webc{} possède quelques spécificités qui méritent -d'être notées. - -\begin{description} -\item [\cmdname{kpsecheck}] Cette commande fournit des fonctionnalités - qui ne rentraient pas bien dans \cmdname{kpsewhich}. En particulier, - elle permet de lister tous les fichiers qui apparaissent plusieurs - fois à travers les multiples arborescences \path{texmf/}. Ceci à - l'air pratique, sauf qu'en réalité, la sortie est polluée par des - occurrences multiples de fichiers qui ne sont pas utiles à \TeX{} à - proprement parler (commes des dizaines de fichiers - \filename{README})\footnote{Tous ces fichiers - sont susceptibles de produire des collisions lors de l'accès à la - table de hachage ; heureusement \TeX{} ne les utilise pas, ils ne - sont donc pas pris en compte !}. Pour cette raison, vous pouvez combiner - l'option \path{-multiple-occurences} avec deux autres options pour - inclure ou exclure de la recherche tout fichier conforme à un - certain motif (plusieurs motifs d'inclusion ou d'exclusion peuvent - être spécifiés). - - La commande \cmdname{kpsecheck} peut aussi indiquer le statut - d'utilisation de la mémoire partagée : en utilisation ou - non-utilisée. Cette information peut être très utile, car si le - statut rapporté est \og en utilisation\fg{}, cela signifie qu'un - ou plusieurs processus tournent et utilisent le bloc de mémoire - partagée. Dans ce cas, une réinitialisation des tables de hachage - basée sur les fichiers \filename{ls-R}, comme la commande - \cmdname{mktexlsr} l'effectue, sera automatiquement repoussée - jusqu'à ce que tous les processus utilisant la version courante en - mémoire partagée soient terminés. Il est prévu d'enlever cette - limitation dans une version future, mais la version actuelle de - \KPS{} ne permet pas de faire facilement cette réinitialisation. - - Enfin, la même commande \cmdname{kpsecheck} peut indiquer l'endroit - où \KPS{} pense pouvoir trouver la Dll de Ghostscript. En effet, - sous Win32, il est souvent plus simple de travailler directement - avec la Dll de Ghostscript, et de la trouver en utilisant la clé - appropriée dans la base de registre, que d'utiliser \path{gswin32c.exe} et - de modifier le \path{PATH} qui a une longueur limitée. - -\item [\Webc] Les moteurs \TeX{} ont une option supplémentaire - par rapport à la version standard : - \path{-proctimes} affiche des statistiques à propos du - temps d'exécution. Il est à noter que Windows~9x n'étant pas un - système multi-tâche préemptif, il ne possède pas d'horloge - interne suffisamment précise pour mesurer ces temps d'exécution - et donc la valeur affichée n'est qu'une approximation. Sous - NT/2K/XP, le résultat est assez précis et comprend le temps - utilisateur et le temps système alloués à la compilation. Pour - les utilisateurs d'Unix : la commande \path{time} n'existe pas - sous Windows. -\end{description} - -\subsection{Personnalisation de l'installation} -\label{sec:persconf} - -\subsubsection{Dvips} - -Le fichier de configuration de \texttt{dvips} se trouve par défaut en -\path{C:\string\TeXLive2007\string\texmf-var\string\dvips\string\config\string\config.ps}. Il peut être ouvert avec n'importe quel éditeur de texte -% (comme \cmdname{WinShell}) -pour modifier certains paramètres : -\begin{description} -\item[fontes] vous pouvez changer la résolution et le mode de - l'imprimante à laquelle sont destinés vos fichiers dans le cas où - \texttt{dvips} aurait besoin de générer des fontes bitmap. Par défaut, - les fontes Type1 CM interpolées sont utilisées, et donc - \path{mktexpk} ne devrait pas être appelé trop souvent. -\item[imprimante] vous pouvez spécifier où se fera l'impression par - défaut. Si l'option `o' n'est pas suivie d'un nom d'imprimante, un - fichier est créé avec l'extension \file{.ps}. Sinon, vous pouvez - spécifier un nom d'imprimante tel que : -\begin{verbatim} -o lpt1: -% o | lpr -S server -P myprinter -% o \\server\myprinter -\end{verbatim} -\item[papier] vous pouvez changer le format de papier retenu par - défaut (A4), par exemple en format US letter, le premier format - mentionné. Allez vers les lignes débutant par \path{@}. Déplacez les - lignes adéquates, ainsi le fichier commencera par les lignes qui suivent. -\begin{verbatim} -@ letterSize 8.5in 11in - -@ letter 8.5in 11in -@+ %%BeginPaperSize: Letter -@+ letter -@+ %%EndPaperSize -\end{verbatim} -\end{description} - -La distribution \TL{} actuelle intègre un programme \og \cmdname{updmap} \fg{} -facilitant la mise à jour des fichiers \file{psfonts.map} pour Dvips et -\file{pdftex.map} pour PdfTeX. -\cmdname{updmap} est lancé automatiquement durant l'installation. -Si vous ajoutez de nouvelles fontes à la main, -éditez le fichier \verb+updmap.cfg+ dans \path{$TEXMFVAR/web2c}. %$ -et relancez \cmdname{updmap}. - -\subsubsection{PdfTeX} - -Si le programme \cmdname{pdflatex} est utilisé pour écrire directement en -format -\acro{PDF} et qu'on utilise du papier au format \acro{US} letter-size, -éditer le fichier -\path{C:\string\TeXLive2007\string\texmf-var\string\tex\string\generic\string\config\string\pdftexconfig.tex} -et modifier \samp{\bs page\_width} et \samp{\bs page\_height}. -Ces entrées doivent être : -\begin{alltt} -\bs{}pdfpagewidth=8.5 true in -\bs{}pdfpageheight=11 true in -\end{alltt} - -Sauvegarder le fichier et sortir de l'éditeur. - -\subsubsection{Xe\TeX} - -Xe\TeX{} pour Windows est lié statiquement à la bibliothèque fontconfig 2.4.2. -Le fichier de configuration pour les fontes s'appelle \verb+fonts.conf+. -Ce fichier se trouve dans le répertoire indiqué par la commande -\texttt{kpsewhich --var-value=FONTCONFIG\_PATH}. - -\subsubsection{Gsview} - -\cmdname{GSView} est maintenant distribué sous licence Aladdin et n'est donc -plus inclus dans \TL{}. - -Si vous voulez changer le format du papier, ouvrez \cmdname{GSView} à -partir du menu \guiseq{Démarrer} et sélectionnez \guiseq{Media\arw Letter}. -Le sous menu Display Settings vous permet -également d'améliorer la netteté du rendu en positionnant les -deux valeurs \textbf{Text Alpha} et \textbf{Graphics Alpha} à 4 bits. - -Pour ce qui est de l'impression, consulter la -sous-section~\ref{sub:printing}. - -Les fichiers \file{.ps} et \file{.eps} seront automatiquement ouverts -par \cmdname{GSView}. - -\subsection{Tests} - -Pour des procédures génériques de vérification, voir -section~\ref{sec:test-install}, page~\pageref{sec:test-install}. -Cette section décrit les tests spécifiques à Windows. - -Vous pouvez tester l'installation -en ouvrant le fichier -\verb+sample2e.tex+ dans votre éditeur (\cmdname{XEmacs}, -\cmdname{WinShell}) qui se trouve dans -\path{C:\string\TeXLive2007\string\texmf-dist\string\tex\string\latex\string\base}. -Le source \LaTeX{} doit apparaître à l'écran. Compilez-le en cliquant -sur le menu (XEmacs) \guiseq{Command\arw LaTeX} ou sur l'icône \LaTeX{} -(WinShell) dans la barre d'outils, ensuite affichez-le en -cliquant sur le menu (XEmacs) \guiseq{Command\arw View DVI} -ou sur l'icône Preview (dviout). - -La première fois que vous afficherez un document avec \cmdname{dviout}, il va -créer les fichiers de fontes bitmaps qui ne sont pas installées. -Après avoir visualisé quelques fichiers, vous aurez créé la plupart de ces -fichiers et vous ne verrez plus souvent apparaître la fenêtre de création de -fontes. - -En cas de problèmes, reportez-vous à la -sous-section~\ref{sec:troubleshooting}. - -\subsection{Impression} -\label{sub:printing} - -Il est possible d'imprimer depuis \cmdname{dviout}. Dans ce cas, l'impression -utilise le pilote unifié d'impression de Windows, il est donc par -définition compatible avec toutes les imprimantes. Cependant, il y a -un inconvénient : cette impression génère des fichiers (spool) très -importants, quelques versions anciennes de Windows le supportent mal. -L'avantage est que vous pouvez tirer -parti de l'impression d'images BMP ou WMF par exemple. Il faut -également faire bien attention à ce que les paramètres de l'imprimante -soient correctement définis sous peine -d'avoir un effet d'échelle -(imprimer à 600\,dpi sur une imprimante qui fait réellement 300\,dpi -aboutit à n'avoir qu'un seul quart de la page visible). - -L'impression est souvent plus rapide en utilisant \cmdname{dvips}, puis en -imprimant le fichier \file{.ps} depuis \cmdname{GSView}. Pour imprimer -depuis \cmdname{GSView}, sélectionner \textbf{Print\dots{}} dans le menu -\textbf{File}. Une fenêtre de dialogue pour l'impression apparaît. - -Si vous utilisez une imprimante PostScript, \emph{soyez sûr de - sélectionner \textbf{PostScript Printer}} en choisissant cette -option dans \textbf{Print Method} en bas à gauche de la boîte de -dialogue, faute de quoi l'impression échouera. Vous -pouvez ensuite sélectionner une imprimante quelconque parmi celles -installées. - -Si vous utilisez une imprimante qui ne supporte pas PostScript, -sélectionnez \textbf{Ghostscript Device} dans \textbf{Print - Method}. Ensuite cliquez sur le bouton \textbf{djet500} et -sélectionnez votre imprimante. - -\subsection{Trucs et astuces à propos de la plate-forme Win32} - -\subsubsection{Différentes déclinaisons de Win32} - -Ce que recouvre la dénomination Win32 n'est pas un système -d'exploitation. C'est un ensemble de fonctions très -vaste (environ 12000 fonctions dans les fichiers d'en-tête du - SDK Microsoft) que vous pouvez utiliser pour écrire des programmes -pour différentes versions des systèmes d'exploitation de la famille -Windows. - -Windows se décline en plusieurs versions : -\begin{itemize} -\item Win95, Win98 et WinME, qui \emph{ne sont pas de vrais systèmes - d'exploitation multitâches et multithreads}. Ils sont en fait les - dernières incarnations de DOS. On peut s'en apercevoir, car en - lançant le PC, l'interpréteur de commandes \path{command.com} est - chargé et si vous arrêtez le processus à ce moment, vous pouvez - demander la version courante (de DOS) et il vous est répondu quelque - chose du style "MS-DOS 7.0", au moins pour les versions anciennes de - Windows~9x ; -\item Windows \acro{NT} est un système d'exploitation écrit à partir - de zéro, avec un - vrai multitâche préemptif et des fonctionnalités de très haut niveau ; -\item Windows 2000 est écrit sur une base \acro{NT}, il est doté de toutes les - facilités offertes par Win98 ; -\item Windows \acro{XP} existe en versions Personnelle et - Professionnelle. C'est la dernière étape dans la fusion entre les - deux lignes de produits (basée sur Windows~9x et basée sur NT). \acro{XP} est - écrit sur une base NT. -\end{itemize} - -Windows~9x peut faire tourner des programmes 32~bits et des -programmes 16~bits en même temps. Mais le système d'exploitation -lui-même n'est pas entièrement écrit en mode 32~bits et ne fournit pas -une protection mémoire entre les applications : les applications -16~bits peuvent écraser des parties du système d'exploitation en -mémoire ! Des parties du système telles que le \acro{GDI} -(\emph{Graphical Device Interface}) ne se voient allouer que des -ressources de taille très -limitée pour gérer les bitmaps, les pinceaux et les polices, et ces -ressources sont allouées de manière globale pour tous les programmes -qui tournent de manière concurrente. Par exemple, toutes les entêtes de -bitmaps utilisés par tous les programmes qui tournent simultanément ne -doivent pas requérir plus de 64~ko de mémoire. Ceci explique le -comportement du moniteur de performance et le fait que vous pouvez -mettre votre système à genoux en utilisant de manière intensive les -objets graphiques. - -NT, 2K et XP ne souffrent pas de ces limitations, ni d'aucune autre -limitation de Windows~9x. Ce sont de vrais environnements multitâches, avec -une vraie mémoire protégée. Ils répondent de manière plus fluide que -Windows~9x de par leur meilleure gestion de la mémoire, leur système de -gestion de fichiers plus performant, etc. - -\subsubsection{La ligne de commande} - -Vous allez demander : mais pourquoi diable devrais-je me -préoccuper d'une ligne de commande alors que j'ai Windows ? - -Bonne question. Le problème est de nature très générale. Toutes les -opérations ne peuvent pas être accomplies très facilement à l'aide de -la seule interface graphique. La ligne de commande vous donne la -puissance de la programmation -- si vous avez un bon interpréteur de -commandes. - -Mais le problème est plus fondamental : \TeX{} est un outil qui -fonctionne \emph{en batch}, de manière non interactive. \TeX{} a -besoin de calculer la meilleure mise en page pour chaque page, de -résoudre les références croisées, etc. Ceci ne peut être réalisé -que par un traitement global du document. Ce n'est pas encore une tâche -qui peut être réalisée interactivement. - -Ceci implique que vous devriez utiliser \TeX{} depuis la ligne de -commande. En fait la situation n'est pas si catastrophique. Il y a un -avantage à écrire des outils en ligne de commande pour des tâches -complexes : ils sont bien plus fiables, parce qu'ils n'héritent pas de -la complexité inhérente aux interfaces graphiques. -Il est ensuite possible de -concevoir des outils graphiques qui servent d'interface aux outils en -ligne de commande. C'est le cas de \TeX{} : vous interagirez avec lui -la plupart du temps au travers d'un éditeur de textes qui possède une -interface graphique. - -Cependant, il se peut que vous ayez besoin d'utiliser la ligne de -commande dans certaines situations. Par exemple en cas de -problèmes, parce que vous avez besoin de trouver une erreur dans votre -installation -- voir la section~\ref{sec:troubleshooting}. - -\begin{description} -\item[Windows~9x, WinME] Vous ouvrirez une ligne de commande soit en cherchant - l'icône \acro{MS-DOS} dans le menu \og \guiseq{Démarrer\arw Programmes}\fg{}, - soit en choisissant \og \guiseq{Démarrer\arw Exécuter}\fg{}, puis en tapant - \path{command.com} . -\item[NT, 2K, XP] Vous ouvrirez une ligne de commande en cherchant - \og \guiseq{Invite de commandes}\fg{} dans le menu \og \guiseq{Démarrer\arw - Accessoires}\fg{} (ces emplacements peuvent changer d'une version de Windows à - l'autre). Vous pouvez aussi choisir le menu - \og Démarrer -> Exécuter\fg{} et taper \path{cmd.exe}, qui est le nom - du nouvel interpréteur de commandes pour NT. -\end{description} - -\subsubsection{Les séparateurs de chemins} - -L'API Win32 admet les deux caractères \verb+/+ et \verb+\+ comme -séparateurs pour les noms de fichiers. Mais pas les interpréteurs -de commande ! Donc, chaque fois qu'un nom de fichier est utilisé par -un programme, vous pouvez utiliser l'un ou l'autre séparateur, mais -sur la ligne de commande, vous devez utiliser \verb+\+ comme unique -séparateur. Ce qui explique que vous pouvez taper : -\begin{verbatim} - C:\>set TEXMFCNF=C:/Program Files/TeXLive/texmf-var/web2c -\end{verbatim} -mais pas : -\begin{verbatim} -C:\>dir "C:/Program Files/TeXLive" -\end{verbatim} -Dans le premier cas, seuls des programmes utiliseront le chemin que -vous avez fourni, dans le deuxième cas, c'est l'interpréteur de commandes -qui va vouloir s'en servir directement. - -Tout ceci pour dire, ne soyez pas surpris de voir des noms de -fichiers écrits avec des \path{/} en guise de séparateurs, à la mode Unix ; -Windows-\TL{} est un portage de \Webc, dont l'objectif est d'être -compatible avec toutes les plates-formes. Pour cette raison, les -fichiers de configuration utilisent la convention Unix des séparateurs -dans les noms de fichiers. - -\subsubsection{Les systèmes de gestion de fichiers} - -Une des plus mauvaises caractéristiques de Windows~9x vis-à-vis de \TeX{} -est probablement ce qu'on appelle le système de fichiers FAT. -\TeX{} utilise une myriade de petits fichiers dont la taille varie -entre 1~ko et 5~ko. Le système FAT est ancien et date d'une époque bien -antérieure à l'apparition des disques de plusieurs Go qui sont monnaie -courante aujourd'hui. Tout ceci pour dire qu'il n'est pas possible de -gérer efficacement les dizaines de fichiers de \TL{} sur un disque dur -formaté en FAT. Les fichiers se voient allouer chacun 32~ko au -minimum, donc l'installation de \TL{} utilise beaucoup plus de -place que nécessaire. - -Le seul moyen d'éviter ce problème consiste à -passer en FAT32 ou NTFS. Ces systèmes sont plus récents et n'ont pas -l'inconvénient de FAT. La taille des clusters par défaut y est de 4~ko, -leur accès est plus performant. NTFS est protégé, redondant et on peut -même ajuster la taille des clusters jusqu'à un minimum de 512 octets -à la création. - -\subsubsection{Comment ajouter un répertoire à votre PATH} - -Il existe dans votre système des variables qui -agissent un peu comme des variables globales à tous vos programmes. On -appelle cet ensemble de variables \emph{l'environnement}. Chaque -programme hérite à son démarrage d'une copie de l'environnement. Il peut -modifier les valeurs des variables, ajouter ou enlever des variables, -mais les modifications ne sont effectives que pour sa propre copie et -ne sont pas propagées aux autres programmes, sauf à ceux qu'il lance -lui-même. - -Votre variable PATH est une variable spéciale de l'environnement -utilisée pour chercher les programmes lorsque vous en demandez -l'exécution. Il y a une procédure différente pour modifier cette -variable selon que vous êtes sous Windows~9x, \acro{ME} ou -\acro{NT}/\acro{2K}/\acro{XP}. - -\begin{description} -\item[Windows 95/98] -Éditez votre fichier \path{autoexec.bat}. Dans ce fichier, vous -trouverez une ligne commençant par \path{PATH=} et suivie par une -liste de répertoires séparés par des points-virgules. Ajoutez le répertoire -contenant les programmes exécutables au bout de cette ligne. Cette -ligne ressemble alors à la suivante : -\begin{verbatim} -PATH=C:\windows;C:\windows\system;C:\TeXLive2007\bin\win32 -\end{verbatim} -Les modifications ne prendront effet qu'après redémarrage de la machine. -\item[Windows ME] - Vous devez utiliser le programme - \path{C:\string\windows\string\system\string\msconfig.exe} pour pouvoir - modifier une des - variables d'environnement. Dans ce programme, choisissez l'onglet - Environnement, ensuite ajoutez ou modifiez la variable de votre - choix. Il faut alors redémarrer la machine pour que les modifications - prennent effet. -\item[Windows NT/2K/XP] - Ouvrez le \guiseq{Panneau~de~Contrôle}, accessible depuis le menu - \guiseq{Démarrer\arw} \guiseq{Paramètres\arw Panneau~de~Contrôle}. - Ouvrez l'icône Système, la fenêtre des \guiseq{Propriétés système} - s'ouvre. Choisissez l'onglet \textsf{Environnement} ou cherchez un - bouton \guiseq{Variables d'environnement} -parmi les différentes boîtes de dialogue offertes. -Vous pouvez maintenant modifier vos propres variables d'environnement. -Il est à noter que les variables d'environnement système communes à -tous les utilisateurs sont également affichées. Vous ne pouvez les -modifier que si vous avez les droits d'administrateur. Si c'est le -cas, vous pouvez modifier la variable \path{PATH} pour tous les -utilisateurs du système -- mais vous devez savoir précisément ce que -vous faites. - -S'il y a déjà un \path{PATH} défini pour votre compte utilisateur, cliquez -dessus. Dans le champ \textsf{Variable} apparaît \path{PATH} et dans le champ -\textsf{Valeur}, la liste courante de répertoires séparés par des -points-virgules. Ajoutez les répertoires où se trouvent vos exécutables (i.e. -\path{C:\string\TeXLive2007\string\bin\string\win32}). Si la variable -\path{PATH} n'est pas encore définie, il suffit de taper son nom dans le champ -\textsf{Variable} et la valeur initiale que vous souhaitez lui donner dans le -champ \textsf{Valeur}. Important : cliquez sur le bouton \textsf{Appliquer} -avant de cliquer sur \textsf{Ok}, de cette façon, les modifications seront -propagées immédiatement à la session courante. Soyez prudent quand vous -modifiez les variables d'environnement. -\end{description} - -Le meilleur moyen de savoir si une variable a été correctement définie -consiste à ouvrir une console et à taper -\begin{verbatim} -set VARIABLE -\end{verbatim} -la valeur correspondante doit alors être affichée.. - -\subsubsection{Les moteurs \TeX{}} - -En lisant la documentation de \Webc{}, on voit -que les différents programmes dérivés de \TeX{} -utilisent le même moteur de base. Par exemple, \path{tex.exe} et -\path{latex.exe} sont des copies exactes du même programme, mais -chacun utilise un fichier de format différent, en se basant sur le nom -par lequel il a été invoqué. - -Sous Unix, ce mode de fonctionnement est réalisé en faisant appel aux -\emph{liens symboliques}. On peut ainsi économiser un peu d'espace disque, -car plusieurs moteurs de base sont utilisés avec différents fichiers -de format. - -L'API Win32 ne connaît pas les liens symboliques. Dans le but -d'économiser presqu'autant d'espace disque, tous les moteurs -\TeX{} de base ont été mis dans des DLL (\emph{Dynamic Linked - Library}). Ceci se traduit par l'aspect suivant pour les fichiers : -\begin{alltt} - 2006-11-23 07:06 2 560 latex.exe - 2007-01-06 23:54 1 073 664 pdftex.dll - 2006-01-28 08:05 2 560 pdftex.exe -\end{alltt} -\noindent et le fichier \path{latex.exe} n'est ni plus ni moins qu'une copie -presqu'identique du fichier \path{pdfetex.exe}, utilisant le même moteur -\path{pdftex.dll}. La même astuce a été utilisée pour la famille de -programmes \path{mktex*.exe} qui utilisent tous la bibliothèque -\path{mktex.dll}. - -Il existe même un outil générique appelé \path{irun.exe} qui permet -de simuler les liens durs de Unix sous Win32, mais uniquement pour les -fichiers \file{.exe}. - -\subsection{En cas de problème} -\label{sec:troubleshooting} - -\subsubsection{Que faire si \texttt{latex} ne trouve pas vos fichiers ?} - -\begin{itemize} -\item \cmdname{kpsewhich} est l'outil de choix pour trouver la source - de n'importe quel problème. Malheureusement, \cmdname{kpsewhich} - écrit le résultat de ses recherches sur le flux \path{stderr}, et - les anciennes versions de la console de Windows ne savaient pas - rediriger ce flux vers un fichier\footnote{En fait, les systèmes - Windows NT/2K/XP savent le faire, grâce à leur nouvel interpréteur - de commandes, mais l'astuce spécifique à \KPS{}-Win32 fonctionne - sur toutes les consoles.}. Pour des besoins de diagnostic, vous - pouvez positionner temporairement une variable d'environnement en tapant - dans une console : -\begin{verbatim} -SET KPATHSEA_DEBUG_OUTPUT=err.log -\end{verbatim} -Vous pouvez également définir un niveau de trace : -\begin{verbatim} -SET KPATHSEA_DEBUG=-1 -\end{verbatim} - -La trace de l'exécution des commandes suivantes sera conservée dans le -fichier \filename{err.log}. Si vous voulez rediriger le flux stderr sur le -flux stdout, ce qui n'est normalement possible sous aucune version de Windows, -il vous suffit de faire : -\begin{verbatim} -SET KPATHSEA_DEBUG_OUTPUT=con: -\end{verbatim} -De cette manière, vous pourrez rediriger à la fois stdout et stderr -dans le même fichier. - -\item En supposant que l'installation a été faite dans - \texttt{C:/TeX}, vérifiez les valeurs suivantes :\\ - \begin{tabular}{ll} - \texttt{kpsewhich -expand-path \$SELFAUTOPARENT} & \texttt{C:/TeX} \\ - \texttt{kpsewhich -expand-path \$TEXMF} & \texttt{C:/TeX/texmf....} \\ - \texttt{kpsewhich -expand-path \$TEXMFCNF} & - \texttt{.;C:/TeX/texmf-var/web2c;} \\ - \texttt{kpsewhich -expand-var \$TEXINPUTS} & \texttt{.;C:/TeX/texmf/tex//} - \end{tabular} - -\item Si des variables d'environnement liées à TeX sont - positionnées dans votre environnement, enlevez-les, car elles - masquent les valeurs existant dans le fichier \filename{texmf.cnf}. - -\item Vérifiez les valeurs de :\\ - \begin{tabular}{ll} - \texttt{kpsewhich cmr10.tfm} & \texttt{C:/TeX/texmf-dist/fonts/tfm/public/cm/cmr10.tfm}\\ - \texttt{kpsewhich latex.fmt}& \texttt{C:/TeX/texmf-var/web2c/latex.fmt} - \end{tabular} - -\item à ce point, si tout est correct, \TeX{} et tous les - programmes associés doivent fonctionner. Si ce n'est pas le cas, - vous devez poursuivre vos investigations avec l'option \path{-debug=n} de - \path{kpsewhich} et contrôler toutes les valeurs. Essayez - d'identifier et de signaler le problème. -\end{itemize} - -\subsubsection{Que faire si votre installation ne fonctionne toujours - pas selon vos attentes ?} - -Il faut se poser plusieurs questions : -\begin{enumerate} -\item Est-ce que \path{tex.exe} est bien dans mon \path{PATH} ? - -\item Est-ce que la variable d'environnement \path{TEXMFCNF} est bien - positionnée à \\ - \path{C:/TeXLive2007/texmf-var/web2c} (valeur par défaut) ? - -\item Est-ce qu'il y a des erreurs dans le fichier de log \file{tlmpgui.log} - généré lors de l'installation par \filename{tlmpgui} ? Ce fichier est dans - le répertoire \file{TEMP}, les erreurs sont repérées par la séquence - \samp{Error}. - -\item Y a-t-il des correctifs de bogues correspondant au problème à - \url{http://www.tug.org/tex-live.html} (improbable, mais il vaut - mieux le vérifier). - -\end{enumerate} - -Le logiciel \TL{} est composé de centaines de -programmes et de milliers de fichiers d'origines très diverses. Il -est pratiquement impossible de prédire toutes les causes possibles de -problèmes. Néanmoins, nous ferons notre possible pour vous aider dans -tous les cas (voir section~\ref{sec:help}, \p.\pageref{sec:help}). - -% don't use \Webc so the \uppercase in the headline works. -%\section{Guide d'utilisation du système \protect\Webc{}} -\section{Guide d'utilisation du système Web2C} - -\Webc{}est une collection intégrée de programmes relatifs à \TeX, -c.-à-d. \TeX{} lui-même, \MF{}, \MP, \BibTeX{}, etc. -C'est le c\oe ur de \TL{}. - -Un peu d'histoire : la première implémentation a été réalisée par Tomas -Rokicki qui, en 1987, a développé un premier système \TeX{}-to-C en adaptant -les \textit{change files} pour Unix (travail de Howard Trickey et Pavel Curtis -principalement). Tim Morgan assura la maintenance du système, dont le nom fut -remplacé durant cette période par Web-to-C. En 1990, Karl Berry reprit le -travail, assisté par des dizaines de contributeurs, et en 1997 il passa le -relais à Olaf Weber. - -Le système \Webc{} fonctionne sur Unix, les systèmes Windows 32 bits, -\MacOSX{} et de nombreux autres systèmes d'exploitation. Il utilise les -sources originales de D.E.~Knuth pour \TeX{} et les autres programmes de base -écrits en \web{} qui sont tous traduits en langage C. Les composants du noyau -de \TeX{} sont : - -\begin{description} -%\renewcommand{\makelabel}[1]{\descriptionlabel{\makebox[0.6in][l]{#1}}} -\item[bibtex] Gère les bibliographies. -\item[dmp] \cmdname{troff} vers MPX (dessins \MP{}). -\item[dvicopy] Copie le fichier \dvi{} en supprimant les fontes -virtuelles. -\item[dvitomp] Convertit le fichier \dvi{} en MPX (dessins \MP{}). -\item[dvitype] Convertit le fichier \dvi{} en un texte lisible. -\item[gftodvi] Visualisation de fontes génériques GF. -\item[gftopk] Convertit les fontes génériques GF en fontes bitmap PK. -\item[gftype] Convertit le fichier GF en un texte lisible. -\item[makempx] Typographie des étiquettes \MP{}. -\item[mf] Création de fontes. -\item[mft] Mise en page de code source \MF{}. -\item[mpost] Création de diagrammes techniques. -\item[mpto] Extraction d'étiquettes \MP{}. -\item[newer] Comparaison de dates de modification (fichiers). -\item[patgen] Création de motifs de césure. -\item[pktogf] Convertit les fontes bitmap PK en fontes génériques GF. -\item[pktype] Convertit les fontes PK en un texte lisible. -\item[pltotf] Convertit les fichiers PL (lisibles) en TFM. -\item[pooltype] Affiche les fichiers \web{} pool. -\item[tangle] \web{} vers Pascal. -\item[tex] Composition de textes. -\item[tftopl] Convertit les fichiers TFM en PL (lisibles). -\item[vftovp] Convertit les fontes virtuelles VF en VPL (lisibles). -\item[vptovf] Convertit les fontes VPL en fontes virtuelles VF. -\item[weave] \web{} vers \TeX. -\end{description} - -La syntaxe et les fonctions précises de ces programmes sont décrites -dans -la documentation des composants individuels et dans le manuel \Webc{} -lui-même. Toutefois, connaître un certain nombre de principes -régissant -l'ensemble de la famille de programmes peut aider à exploiter de -façon -optimale votre installation \Webc{}. - - Presque tous ces programmes suivent les -options standard de \acro{GNU} : -\begin{description} -%\renewcommand{\descriptionlabel}[1]{\makebox[1.4in][l]{#1}} - \item[\texttt{-{}-help}] imprime le sommaire de l'utilisation, - \item[\texttt{-{}-verbose}] imprime le rapport détaillé du processus, - \item[\texttt{-{}-version}] imprime seulement le numéro de version. -\end{description} - -Pour localiser les fichiers, les programmes \Webc{} utilisent la -bibliothèque de recherche \KPS{}. Cette bibliothèque utilise une -combinaison de -variables d'environnement et un certain nombre de fichiers de -paramètres pour optimiser la recherche dans l'énorme arborescence -\TeX{}. -\Webc{} peut exécuter une recherche dans plusieurs arborescences -simultanément, ce qui est utile si l'on souhaite maintenir la -distribution standard de \TeX{} et les extensions locales dans deux -arborescences distinctes. Afin d'accélérer la recherche de fichiers, la -racine de chaque arborescence possède un fichier \file{ls-R} contenant -une -entrée donnant le nom et le chemin de chaque fichier situé sous la -racine. - -\subsection{Kpathsea et la recherche de fichiers} - -Décrivons en premier lieu le mécanisme de recherche de la bibliothèque -\KPS{}. - -Nous appelons \emph{chemin de recherche} une liste, séparée par -\og deux-points\fg{} ou \og point-virgule\fg{}, d'éléments, appelés -\emph{éléments de chemin}, qui sont des noms de répertoires. -Un chemin de recherche peut provenir de plusieurs sources. -Pour rechercher un fichier \samp{my-file} le long -d'un chemin \samp{.:/dir}, \KPS{} vérifie chaque élément du -chemin : -d'abord \filename{./my-file}, puis \filename{/dir/my-file}, et renvoie la -première occurrence (voire toutes). - -Afin d'optimiser l'adaptation à tous les systèmes d'exploitation, -\KPS{} peut utiliser dans les noms de fichiers des séparateurs -différents -de deux-points (\samp{:}) et barre oblique (\samp{/}) - pour les systèmes non-Unix. - -Pour vérifier un élément de chemin particulier \var{p}, \KPS{} -vérifie d'abord si une base de données existante (voir -page~\pageref{Filename-database}) contient \var{p}, -c.-à-d. si la base de données se trouve dans un -répertoire qui est un préfixe de \var{p}. Si oui, la spécification -du chemin est comparée avec le contenu de la base de données. - -Si la base de données n'existe pas, si elle ne s'applique pas à cet -élément de chemin ou si elle ne contient aucune correspondance, -la recherche est lancée sur tout le système de fichiers (si cela -n'a -pas été interdit -par une commande commençant par \samp{!!} - et si le fichier cherché est censé exister). -\KPS{} construit la liste de répertoires qui correspondent -à cet élément de chemin, puis cherche le fichier dans chaque -élément -de cette liste. - -La condition \og le fichier est censé exister\fg{} est liée aux -fichiers~\samp{.vf} et aux fichiers d'entrée lus par la commande \TeX\ -\cs{openin}. -De tels fichiers peuvent ne pas exister (par exemple \file{cmr10.vf}), -il -est donc inutile de les rechercher sur le disque. De plus, si vous -n'actualisez pas le fichier \file{ls-R} lors de l'installation d'un -nouveau fichier -\samp{.vf}, -il ne sera jamais trouvé. -Chaque élément de chemin est alors vérifié : d'abord dans -la base de données puis sur le disque. Si une occurrence est -trouvée, la recherche s'arrête et le résultat est obtenu. - -Bien que l'élément de chemin le plus simple et le plus fréquent -soit un -nom de répertoire, \KPS{} supporte d'autres types d'éléments dans -les -chemins de recherche : des valeurs par défaut différentes pour chaque -programme, des noms de variables d'environnement, des valeurs de -fichiers de -configuration, les répertoires de l'utilisateur et la recherche -récursive -de sous-répertoires. Nous disons alors que \KPS{} \emph{étend} un -élément, c'est-à-dire que \KPS{} transforme toutes ces -spécifications -en noms de répertoires de base. Cette opération est décrite dans les sections -suivantes. - -Notons que si le nom de fichier cherché est absolu ou explicitement -relatif, c'est-à-dire commençant par \samp{/}, \samp{./} ou -\samp{../}, \KPS{} ne vérifie que l'existence de ce fichier. -\ifSingleColumn -\else -\begin{figure*} -\verbatiminput{examples/ex5.tex} -\setlength{\abovecaptionskip}{0pt} - \caption{Un exemple de fichier de configuration} - \label{fig:config-sample} -\end{figure*} -\fi - -\subsubsection{Les différentes sources} -\label{Path-sources} - -Un chemin de recherche peut provenir de plusieurs sources. Voici l'ordre -dans lequel \KPS\ les utilise. - -\begin{enumerate} -\item - Une variable d'environnement définie par l'utilisateur, par exemple - \envname{TEXINPUTS}. Les variables d'environnement avec une - extension attachée (nom de programme) sont d'abord prises en compte : - par exemple, si \samp{latex} est le nom du programme exécuté, - \envname{TEXINPUTS.latex} passera avant \envname{TEXINPUTS}. -\item - Un fichier de configuration de programme spécifique, par exemple une -ligne - \og \texttt{S /a:/b}\fg{} dans le fichier \file{config.ps} de \cmdname{dvips}. -\item - Un fichier de configuration \file{texmf.cnf} de \KPS{} contenant une - ligne telle que \\ \samp{TEXINPUTS=/c:/d} (voir ci-dessous). -\item La valeur par défaut obtenue à la compilation. -\end{enumerate} -\noindent On peut voir chacune de ces valeurs pour un chemin de -recherche -donné en utilisant l'option de débogage (voir page~\pageref{Debugging}). - -\subsubsection{Fichiers de configuration} - -\begingroup\tolerance=3500 -\KPS{} lit dans les \emph{fichiers de configuration à - l'exécution} appelés \file{texmf.cnf} les chemins de recherche et -d'autres définitions. Le chemin pour accéder à ces fichiers dans -l'arborescence est stocké dans la variable \envname{TEXMFCNF} -(par défaut ces -fichiers se trouvent dans le sous-répertoire \file{texmf/web2c}). -\emph{Tous} les fichiers \file{texmf.cnf} se trouvant dans le chemin -de recherche vont être lus et les définitions provenant -de fichiers précédents écraseront celles des fichiers suivants. Par -exemple, avec un chemin tel que \verb|.:$TEXMF|, les définitions du -fichier \filename{./texmf.cnf} écrasent celles de -\verb|$TEXMF/texmf.cnf|. -\endgroup - -\begin{itemize} -\item - Les commentaires sont signalés par un \texttt{\%} et - se terminent à la fin de la ligne. -\item - Les lignes vides sont ignorées. -\item - Un \bs{} à la fin d'une ligne joue le rôle d'un lien entre deux - lignes, c'est-à-dire que la ligne courante se poursuit à la ligne - suivante. Dans ce cas, les espaces présents au début de la ligne - suivante ne sont pas ignorés. -\item - Toutes les autres lignes sont de la forme : -\begin{alltt} - \emph{variable}[.\emph{progname}] [=] \emph{value} -\end{alltt}% - où le \samp{=} et les espaces autour sont optionnels. -\item - Le nom de la \ttvar{variable} peut contenir n'importe - quel caractère autre que les espaces, \samp{=}, ou \samp{.}, mais - on recommande d'utiliser \samp{A-Za-z\_} pour éviter les - problèmes. -\item - Si \samp{.\var{progname}} est présent, sa définition - s'applique seulement si le programme exécuté se nomme - \texttt{\var{progname}} ou \texttt{\var{progname}.exe}. Ceci permet - par exemple à différentes variantes de \TeX{} d'avoir des chemins de - recherche différents. -\item - \var{value} peut contenir n'importe quel caractère - excepté \code{\%} et \samp{@}. - L'option - \code{\$\var{var}.\var{prog}} - n'est pas disponible à droite du signe \samp{=} ; - à la place, on doit utiliser une variable supplémentaire. Un -\samp{;}\ dans \var{value} -est compris comme un - \samp{:}\ si on travaille sous Unix ; ceci est très utile et - permet d'avoir un seul \file{texmf.cnf} pour les systèmes Unix, - \acro{MS-DOS} et Windows. -\item - Toutes les définitions sont lues avant tout désarchivage ou - décompactage, de telle façon que les variables peuvent être - référencées avant d'être définies. -\end{itemize} -Voici un fichier de configuration illustrant les points -précédents -\ifSingleColumn - -%\verbatiminput{examples/ex5.tex} % trop petit (df) -\begin{verbatim} -TEXMF = {$TEXMFLOCAL,!!$TEXMFMAIN} -TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic;}// -TEXINPUTS.fontinst = .;$TEXMF/tex//;$TEXMF/fonts/afm// -% e-TeX related files -TEXINPUTS.elatex = .;$TEXMF/{etex,tex}/{latex,generic;}// -TEXINPUTS.etex = .;$TEXMF/{etex,tex}/{eplain,plain,generic;}// -\end{verbatim} - -\else -dans la figure~\ref{fig:config-sample}. -\fi - -\subsubsection{Expansion d'un chemin de recherche} -\label{Path-expansion} - -\KPS{} reconnaît certains caractères et constructions spéciales dans -les chemins de recherche, semblables à ceux disponibles dans les -\textit{shells} Unix. Ainsi, le chemin complexe, -\verb+~$USER/{foo,bar}//baz+ %$ -étend la recherche vers tous les sous-répertoires situés sous les -répertoires \file{foo} et \file{bar} dans le répertoire utilisateur -\texttt{\$USER} contenant un répertoire ou un fichier appelé %$ -\file{baz}. Ces expansions sont explicitées dans les sections -suivantes. - -\subsubsection{Expansion par défaut} -\label{Default-expansion} - -\tolerance=2500 -Si le chemin de recherche le plus prioritaire (voir -section~\ref{Path-sources}) contient un \samp{:} -\emph{supplémentaire} (c.-à-d. en début ou fin de ligne ou -double), \KPS{} insère à cet endroit le chemin suivant dont la -priorité définie est immédiatement inférieure. Si ce chemin inséré -possède un \samp{:} supplémentaire, le même processus se -répète pour le chemin prioritaire suivant. -Par exemple, étant donné une variable d'environnement définie ainsi - -\tolerance=1500 - -\begin{alltt} -> \Ucom{setenv TEXINPUTS /home/karl:} -\end{alltt} -la valeur de \code{TEXINPUTS} d'après le fichier \file{texmf.cnf} étant - -\begin{alltt} - .:\$TEXMF//tex -\end{alltt} -alors la valeur finale utilisée pour la recherche sera - -\begin{alltt} - /home/karl:.:\$TEXMF//tex -\end{alltt} - -Comme il est inutile d'insérer la valeur par défaut en plusieurs -endroits, \KPS{} applique la substitution à seulement un \samp{:} -supplémentaire et laisse les autres inchangés : il cherche d'abord un -\samp{:} en début de ligne, puis en fin de ligne et enfin un double -\samp{:}. - -\subsubsection{Expansion spécifiée par les accolades} - -Option utile, l'expansion par le biais des accolades -signifie, par exemple, que \verb+v{a,b}w+ va permettre la recherche -dans \verb+vaw:vbw+. Les définitions emboîtées sont autorisées. Ceci -peut être utilisé pour établir des hiérarchies \TeX{} multiples en -attribuant une liste entre accolades à \code{\$TEXMF}. Par exemple, -dans \file{texmf.cnf}, on trouve une définition du type suivant -(il y a en fait plus de répertoires) : -\begin{verbatim} - TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFSYSVAR,!!$TEXMFMAIN} -\end{verbatim} -Avec ceci, on peut écrire quelque chose comme -\begin{verbatim} - TEXINPUTS = .;$TEXMF/tex// -\end{verbatim} -%$ -ce qui signifie que, après avoir cherché dans le répertoire courant, les -arborescences complètes \code{\$TEXMFHOME/tex} suivie de -\code{\$TEXMFLOCAL/tex} (sur le disque) et ensuite les arborescences -\code{!!\$TEXMFVAR/tex} et \code{!!\$TEXMFMAIN/tex} -(définies dans le fichier de référence \file{ls-R} \emph{seulement}) seront -inspectées. C'est un moyen pratique permettant d'utiliser en parallèle deux -distributions \TeX{}, une \og gelée\fg{} (sur un \CD, par exemple) et une -autre régulièrement mise à jour avec de nouvelles versions quand elles -deviennent disponibles. En utilisant la variable \code{\$TEXMF} dans toutes -les définitions, on est toujours sûr d'inspecter d'abord l'arborescence la -plus récente. - -\subsubsection{Expansion des sous-répertoires} -\label{Subdirectory-expansion} - -Deux barres \samp{//} ou plus consécutives dans une partie d'un chemin suivant -un répertoire \var{d} sont remplacées par tous les sous-répertoires de -\var{d} : d'abord les sous-répertoires directement présents dans -\var{d}, ensuite les sous-répertoires de ceux-ci, et ainsi de suite. À -chaque niveau, l'ordre dans lequel les répertoires sont inspectés est -\emph{non-déterminé}. - -Dans le cas où l'on spécifie une partie de nom de fichier après le -\samp{//}, seuls sont inclus les sous-répertoires auxquels le nom -correspond. Par exemple, \samp{/a//b} va correspondre aux répertoires -\file{/a/1/b}, \file{/a/2/b}, -\file{/a/1/1/b}, et ainsi de suite, mais pas à \file{/a/b/c} ni -\file{/a/1}. - -Des \samp{//} multiples et successifs dans un chemin sont possibles, -mais \samp{//} au début d'un chemin est ignoré. - -\subsubsection{Liste des caractères spéciaux et de leur signification : - récapitulatif} - -La liste suivante récapitule la signification des caractères spéciaux -dans les fichiers de configuration de \KPS{}. - -\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} - -\begin{ttdescription} - -\item[\CODE{:}] Séparateur dans un chemin de recherche ; au début - ou à la fin d'un chemin, il remplace le chemin par défaut. - -\item[\CODE{;}] Séparateur dans les systèmes non-Unix - (joue le rôle de \code{:}). - -\item[\CODE{\$}] Substitue le contenu d'une variable. - -\item[\CODE{\string~}] Représente le répertoire racine de - l'utilisateur. - -\item[\CODE{\char`\{...\char`\}}] Expansion par les accolades, - par exemple \verb+a{1,2}b+ devient \verb+a1b:a2b+. - -\item[\CODE{//}] La recherche concernera aussi les sous-répertoires - (peut être inséré n'importe où dans un chemin sauf au début). - -\item[\CODE{\%}] Début d'un commentaire. - -\item[\CODE{\bs}] Caractère de continuation de ligne (permet les - entrées sur plusieurs lignes). - -\item[\CODE{!!}] Cherche \emph{seulement} dans la base de - données pour localiser le fichier et \emph{ne cherche pas} sur le disque. - -\end{ttdescription} - -\subsection{Les bases de données} -\label{Filename-database} - -\KPS{} a une certaine profondeur d'investigation pour minimiser les -accès disque durant les recherches. Néanmoins, dans le cas de -distributions comprenant beaucoup de répertoires, inspecter chaque -répertoire possible pour un fichier donné peut durer excessivement -longtemps (ceci est typiquement le cas quand plusieurs centaines de -répertoires de polices de caractères doivent être parcourus). En -conséquence, \KPS{} peut utiliser un fichier texte appelé \file{ls-R} --- en -fait une base de données -construite au préalable --- qui fait correspondre -les fichiers à leur répertoire, ce qui permet d'éviter une recherche -exhaustive sur le disque. - -Un deuxième fichier appelé \file{aliases} (qui est également une base de -données) permet de donner -des noms différents aux fichiers listés dans \mbox{\file{ls-R}}. Ceci peut -aider à adapter ses fichiers source aux conventions de \acro{DOS}~8.3 pour les -noms de fichiers. - -\subsubsection{Le fichier base de données} -\label{ls-R} - -Comme nous l'avons expliqué ci-dessus, le nom du principal fichier-base de -données doit être \mbox{\file{ls-R}}. -Dans votre installation, vous pouvez en mettre un à la racine de chaque -arborescence \TeX{} que vous désirez voir -inspecter (\code{\$TEXMF} par défaut) ; la plupart des sites ont -une seule arborescence \TeX{}. \KPS{} cherche les fichiers \file{ls-R} -dans le chemin spécifié dans la variable \code{TEXMFDBS}. - -La meilleure façon de créer et mettre à jour le fichier \file{ls-R} -est d'exécuter le script \cmdname{mktexlsr} inclus dans la -distribution. Il est appelé par les divers scripts \cmdname{mktex}\dots\ -En principe, ce script exécute uniquement la commande -%cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R| -% Remplacé (df) car \path|...| plante à cause de \let\path\url. -\begin{alltt} -cd \var{/your/texmf/root} && \boi{}ls -1LAR ./ >ls-R -\end{alltt} -en supposant que la commande \code{ls} de votre système produise le bon -format de sortie (le \code{ls} de \acro{GNU} convient -parfaitement). Pour s'assurer que la base de données est toujours à -jour, le meilleur moyen est de la reconstruire en utilisant la table -des \code{cron}, de telle façon que le fichier \file{ls-R} prenne -automatiquement en compte les changements dans les fichiers -installés, par exemple après une installation ou une -mise à jour d'un composant \LaTeX{}. - -Si un fichier n'est pas trouvé dans la base de données, par défaut -\KPS{} décide de le chercher sur le disque. Par contre, si un élément du -chemin commence par \samp{!!}, \emph{seule} la base de données -sera inspectée pour cet élément, jamais le disque. - -\subsubsection{kpsewhich : programme de recherche dans une arborescence} -\label{Invoking-kpsewhich} - -Le programme \texttt{kpsewhich} effectue une recherche dans une -arborescence indépendamment de toute application. On peut le -considérer comme une sorte de \code{find} pour localiser des fichiers -dans les arborescences \TeX{} (ceci est largement utilisé dans les -scripts \cmdname{mktex}\dots\ de la distribution). - -\begin{alltt} -> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} -\end{alltt} -Les options spécifiées dans \ttvar{option} peuvent -commencer soit par \samp{-} soit par \samp{-{}-} ; n'importe quelle -abréviation claire est acceptée. - -\KPS{} considère tout argument non optionnel dans la ligne de commande -comme un nom de fichier et renvoie la première occurrence trouvée. Il -n'y a pas d'option pour renvoyer tous les fichiers ayant un nom -particulier (vous pouvez utiliser le \cmdname{find} d'Unix pour cela). - -Les options les plus importantes sont décrites ci-après. - -\begin{ttdescription} -%\renewcommand{\makelabel}[1]{\descriptionlabel{\makebox[1.2in]{#1}}} -\item[\texttt{-{}-dpi=\var{num}}]\mbox{} \\ - Définit la résolution à \ttvar{num} ; ceci affecte - seulement la recherche des fichiers \samp{gf} et \samp{pk}. \samp{-D} est un - synonyme pour assurer la compatibilité avec \cmdname{dvips}. Le défaut - est 600. -\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ - Définit le format pour la recherche à \ttvar{name}. - Par défaut, le format est estimé en fonction du nom de fichier. - Pour les formats qui n'ont pas de suffixe clair associé, comme les - fichiers de support \MP{} et les fichiers de configuration - \cmdname{dvips}, vous devez spécifier le nom connu de \KPS, comme - \texttt{tex} ou \texttt{enc files}. Exécutez la commande - \texttt{kpsewhich -{}-help} pour obtenir la liste précise. - -\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ - Définit le nom du mode comme étant \ttvar{string} ; -ceci affecte seulement la recherche des \samp{gf} et des \samp{pk}. -Pas d'option par défaut, n'importe quel mode sera trouvé. -\item[\texttt{-{}-must-exist}]\mbox{}\\ - Fait tout ce qui est possible pour trouver les fichiers, ce qui -inclut une recherche sur le disque. Par défaut, seule la base de -données \file{ls-R} est inspectée, dans un souci d'efficacité. -\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ - Recherche dans le chemin \ttvar{string} (séparé par -deux-points comme d'habitude), au lieu de prendre le chemin à partir -du nom de fichier. \samp{//} et toutes les expansions habituelles sont -supportées. - Les options \samp{-{}-path} et \samp{-{}-format} s'excluent mutuellement. -\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ - Définit le nom de programme comme étant \ttvar{name}. - Ceci peut affecter les chemins de recherche via l'option - \texttt{.\var{progname}} dans les fichiers de configuration. - Le défaut est \cmdname{kpsewhich}. -\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ - Montre le chemin utilisé pour la recherche des fichiers de type -\ttvar{name}. - On peut utiliser soit une extension de fichier (\code{.pk}, \code{.vf}, - etc.), soit un nom de fichier, comme avec l'option \samp{-{}-format}. -\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ - Définit les options de débogage comme étant - \ttvar{num}. -\end{ttdescription} - -\subsubsection{Exemples d'utilisation} -\label{SExamplesofuse} - -Jetons un coup d'{\oe}il à \KPS{} en action ; voici une recherche -toute simple : - -\begin{alltt} -> \Ucom{kpsewhich article.cls} -/usr/local/texmf-dist/tex/latex/base/article.cls -\end{alltt} -Nous recherchons le fichier \file{article.cls}. Puisque le suffixe -\file{.cls} est non-ambigu, nous n'avons pas besoin de spécifier que -nous voulons rechercher un fichier de type \optname{tex} (répertoires des -fichiers sources de \TeX{}). Nous le trouvons dans le sous-répertoire -\filename{tex/latex/base} du répertoire racine \samp{TEXMF}. De même, - le suffixe non-ambigu permet de trouver facilement les autres fichiers. -\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} - -Le dernier exemple est une base de données bibliographiques pour \BibTeX{} -servant aux articles de \textsl{TUGBoat}. - -\begin{alltt} -> \Ucom{kpsewhich cmr10.pk} -\end{alltt} -Les fichiers de glyphes de fontes bitmaps, de type -\file{.pk}, sont -utilisés pour l'affichage par des programmes comme \cmdname{dvips} et -\cmdname{xdvi}. Rien n'est renvoyé dans ce cas puisque il n'y a pas -de fichiers Computer Modern \file{.pk} pré-créés sur nos systèmes -(nous utilisons les versions type~1 du \TL{}). -\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} -Pour ces fontes (alphabet phonétique de l'université Washington), -nous avons dû créer les fichiers \file{.pk} et, puisque le mode \MF{} par -défaut sur notre installation est \texttt{ljfour} avec une résolution de -base de 600\dpi{} \textit{(dots per inch)}, cette instance est trouvée. -\begin{alltt} -> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} -\end{alltt} -Dans ce cas, lorsque l'on spécifie que nous recherchons une -résolution de 300\dpi{} (\texttt{-dpi=300}) nous voyons qu'aucune fonte -pour cette résolution n'est disponible dans le système. En fait, un -programme comme \cmdname{dvips} ou \cmdname{xdvi} ne s'en -préoccuperait pas et créerait les fichiers \file{.pk} à la -résolution demandée en utilisant le script \cmdname{mktexpk}. - -Intéressons-nous à présent aux fichiers d'en-tête et de configuration -pour \cmdname{dvips}. -Regardons en premier le fichier \file{tex.pro} communément utilisé -pour le support de \TeX{} avant de regarder le fichier -de configuration générique (\file{config.ps}) et la liste des fontes -\PS{} \file{psfonts.map}. Depuis l'édition 2004, les fichiers -\file{.map} et les fichiers de codage ont changé de place dans -l'arborescence \dirname{texmf}. Comme le suffixe \file{.ps} est -ambigu, nous devons spécifier quel type particulier du fichier -\texttt{config.ps} nous considérons (\optname{dvips config}). -\begin{alltt} -> \Ucom{kpsewhich tex.pro} - /usr/local/texmf/dvips/base/tex.pro -> \Ucom{kpsewhich -{}-format="dvips config" config.ps} - /usr/local/texmf-var/dvips/config/config.ps -> \Ucom{kpsewhich psfonts.map} - /usr/local/texmf-var/fonts/map/dvips/updmap/psfonts.map -\end{alltt} - -Regardons plus en détail les fichiers de support Times -\PS{} d'\acro{URW}. Leur nom standard dans le schéma de nommage des fontes -est \samp{utm}. Le premier fichier que nous voyons est le -fichier de configuration, qui contient le nom du fichier -de la liste : -\begin{alltt} -> \Ucom{kpsewhich -{}-format="dvips config" config.utm} - /usr/local/texmf-dist/dvips/psnfss/config.utm -\end{alltt} -Le contenu de ce fichier est -\begin{alltt} - p +utm.map -\end{alltt} -qui pointe vers le fichier \file{utm.map}, que nous cherchons à -localiser ensuite. -\begin{alltt} -> \Ucom{kpsewhich utm.map} - /usr/local/texmf-dist/fonts/map/dvips/times/utm.map -\end{alltt} -Ce fichier liste les noms des fichiers des -fontes \PS{} de type~1 dans la collection URW. Son contenu -ressemble à (nous ne montrons qu'une partie des lignes) : -\begin{alltt} -utmb8r NimbusRomNo9L-Medi ... \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} - -Il devrait être clair, d'après ces quelques exemples, qu'il est facile -de trouver l'endroit où se cache un fichier donné. C'est -particulièrement important si vous suspectez que c'est, pour une -raison quelconque, une mauvaise version du fichier qui est utilisée, -puisque \cmdname{kpsewhich} va vous montrer le premier fichier -trouvé. - -\subsubsection{Opérations de débogage} -\label{Debugging} - -Il est quelquefois nécessaire de savoir comment un programme référence -les fichiers. Pour permettre cela, \KPS{} offre -plusieurs niveaux de débogage : -\begin{ttdescription} -\item[\texttt{\ 1}] Appels à \texttt{stat} (test d'existence de fichier). Lors d'une - exécution utilisant une base de données \file{ls-R} à jour, ce niveau - ne devrait donner presque aucune information en sortie. -\item[\texttt{\ 2}] Références aux différentes tables (comme la base - de données \file{ls-R}, les fichiers de correspondance de fontes, les fichiers de - configuration). -\item[\texttt{\ 4}] Opérations d'ouverture et de fermeture des - fichiers. -\item[\texttt{\ 8}] Information globale sur la localisation des types - de fichiers recherchés par \KPS. Ceci est utile pour trouver où a été - défini le chemin particulier pour un fichier. -\item[\texttt{16}] Liste des répertoires pour chaque élément du - chemin (utilisé uniquement en cas de recherche sur le disque). -\item[\texttt{32}] Recherche de fichiers. -\end{ttdescription} -Une valeur de \texttt{-1} activera toutes les options ci-dessus ; en -pratique, c'est habituellement la valeur la plus adaptée. - -De la même façon, avec le programme \cmdname{dvips}, en utilisant une -combinaison d'options de débogage, on peut suivre en détail la -localisation des -différents fichiers. De plus, lorsqu'un fichier n'est -pas trouvé, la trace du débogage montre les différents répertoires dans -lesquels le programme va chercher tel ou tel fichier, donnant ainsi -des indices sur le problème. - -Généralement, comme la plupart des programmes appellent la -bibliothèque \KPS{} en interne, on peut sélectionner une option de -débogage en utilisant la variable d'environnement -\envname{KPATHSEA\_DEBUG}, et en la définissant égale à la valeur (ou -à une combinaison de valeurs) décrite(s) dans la liste ci-dessus. - -Note à l'intention des utilisateurs de Windows : il n'est pas facile -de rediriger les messages d'erreur vers un fichier sur ces -systèmes. À des fins de diagnostic, vous pouvez temporairement -affecter \texttt{KPATHSEA\_DEBUG\_OUTPUT=err.log} pour capturer le flux -standard d'erreur dans le fichier \texttt{err.log}. - -Considérons comme exemple un petit fichier source \LaTeX{}, -\file{hello-world.tex}, dont le contenu est le suivant. -\begin{verbatim} - \documentclass{article} - \begin{document} - Hello World! - \end{document} -\end{verbatim} -Ce petit fichier utilise simplement la fonte \file{cmr10}, aussi -allons voir comment \cmdname{dvips} prépare le fichier \PS{} -(nous voulons utiliser la version type~1 -des fontes Computer Modern, d'où l'option \texttt{-Pcms}). -\begin{alltt} -> \Ucom{dvips -d4100 hello-world -Pcms -o} -\end{alltt} -Dans ce cas, nous avons combiné le niveau 4 de débogage de -\cmdname{dvips} (chemins des fontes) avec l'option d'expansion des -éléments du chemin de \KPS\ (voir \cmdname{dvips} Reference Manual, -\OnCD{texmf/doc/html/dvips/dvips_toc.html} sur le \DVDlive{}). -La sortie (légèrement formatée) apparaît dans la -figure~\ref{fig:dvipsdbga}. -\begin{figure*}[tp] -\centering -\input{examples/ex6a.tex} -\caption{Recherche des fichiers de configuration}\label{fig:dvipsdbga} - -\bigskip - -\input{examples/ex6b.tex} -\caption{Recherche du fichier prolog}\label{fig:dvipsdbgb} - -\bigskip - -\input{examples/ex6c.tex} -\caption{Recherche du fichier de fontes}\label{fig:dvipsdbgc} -\end{figure*} - -\cmdname{dvips} commence par localiser ses fichiers de -fonctionnement. D'abord, \file{texmf.cnf} est trouvé, ce qui donne les -définitions pour les chemins de recherche servant à localiser les -autres fichiers, ensuite le fichier base de données \file{ls-R} (pour -optimiser la recherche des fichiers) et le fichier \file{aliases}, qui -permet de déclarer plusieurs noms (\p.ex., un nom \acro{DOS} de type -8.3 court et une version longue plus naturelle) pour le même -fichier. Ensuite \cmdname{dvips} continue en cherchant le fichier de -configuration générique \file{config.ps} avant de rechercher le fichier -de paramétrisation \file{.dvipsrc} (qui, dans notre cas, \emph{n'est -pas trouvé}). Enfin, \cmdname{dvips} localise le fichier de -configuration pour les fontes \PS{} Computer Modern -\file{config.cms} (ceci est lancé par l'option \mbox{\texttt{-Pcms}} de la -commande \cmdname{dvips}). Ce fichier contient la liste des fichiers - qui définissent la relation entre les noms des fontes -selon \TeX{}, selon \PS{} et dans le système de fichiers. -\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} veut chercher tous ces fichiers, y compris le -fichier générique d'association \file{psfonts.map}, qui est toujours -chargé (il contient des déclarations pour les fontes \PS{} les -plus communément utilisées ; voir la dernière partie de la Section -\ref{SExamplesofuse} pour plus de détails sur la gestion du fichier -d'association \PS{}). - -Arrivé là, \cmdname{dvips} s'identifie à l'utilisateur : - \begin{alltt} - This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) - \end{alltt} - -\ifSingleColumn -pour continuer ensuite en cherchant le fichier prologue \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 -pour continuer ensuite en cherchant le fichier prologue \file{texc.pro} -(voir la figure~\ref{fig:dvipsdbgb}). -\fi - -Après avoir trouvé ce fichier, \cmdname{dvips} affiche la date et -l'heure, et nous informe qu'il va générer le fichier -\file{hello-world.ps}, puis qu'il a besoin du fichier de fonte -\file{cmr10}, et que ce dernier est déclaré comme \og résident\fg{} -(pas besoin de bitmaps) : -\begin{alltt}\small -TeX output 1998.02.26:1204' -> hello-world.ps -Defining font () cmr10 at 10.0pt -Font cmr10 is resident. -\end{alltt} -Maintenant la recherche concerne le fichier \file{cmr10.tfm}, qui est -trouvé, puis quelques fichiers de prologue de plus (non montrés) sont -référencés ; finalement le fichier de la fonte type~1 \file{cmr10.pfb} -est localisé et inclus dans le fichier de sortie (voir la dernière ligne). -\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, - ... - -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 -[1] -\end{alltt} - -\subsection{Options à l'exécution} - -\Webc{} offre la possibilité de contrôler à l'exécution bon nombre de -paramètres concernant la mémoire (en particulier la taille des -tableaux utilisés) à partir du fichier -\file{texmf.cnf} qui est lu par \KPS. -Les paramètres en question se trouvent -dans la troisième partie du fichier inclus dans la distribution \TL{}. - Les variables les plus importantes sont : -\begin{ttdescription} -\item[\texttt{main\_memory}] - Nombre total de mots mémoire disponibles pour - \TeX{}, \MF{} et \MP. Vous devez générer un nouveau fichier de - format pour chaque nouveau paramétrage. Par exemple, vous pouvez - générer une version large de \TeX{} et appeler le fichier de format - \texttt{hugetex.fmt}. En utilisant la méthode supportée par \KPS{} - qui consiste à suffixer la variable par le nom du programme, la valeur - particulière de la variable \texttt{main\_memory} destinée à ce - fichier de format sera lue dans le fichier \file{texmf.cnf}. -\item[\texttt{extra\_mem\_bot}] - Espace supplémentaire pour certaines structures de données de \TeX{} : - boîtes, \textit{glue}, points d'arrêt\dots{} Surtout utile si vous utilisez - \PiCTeX{} par exemple. -\item[\texttt{font\_mem\_size}] - Nombre de mots mémoire disponibles pour décrire les polices. C'est - plus ou moins l'espace occupé par les fichiers TFM lus. -\item[\texttt{hash\_extra}] - Espace supplémentaire pour la table de hachage des noms de séquences - de contrôle. Environ 10~000 de ces noms peuvent être stockés dans la - table principale ; si vous avez un document très volumineux avec - beaucoup de références croisées, il se peut que ce ne soit pas - suffisant. La valeur par défaut \texttt{hash\_extra} est \texttt{50000}. -\end{ttdescription} - -\noindent Évidemment, cette possibilité ne remplace pas une véritable -allocation dynamique des tableaux et de la mémoire, mais puisque c'est -complexe à implémenter dans le présent source \TeX{}, ces paramètres lus -à l'exécution fournissent un compromis pratique qui procure une certaine -souplesse. - -%\begin{comment} (supprimé (df) 5/5/2006, mail à K.B. - -\section{Installation sur un nouveau système Unix} - -Si vous avez un système Unix ne correspondant à aucun des exécutables -fournis, il faut compiler vous-même \TeX{} et tous ses programmes -satellites à partir des sources. Cela n'est pas aussi difficile qu'il -y paraît. Tout ce dont vous aurez besoin est contenu dans le -répertoire \texttt{source} qui se trouve sur le \DVDlive. - -\subsection{Prérequis} - -Il faut au moins 400\,Mo d'espace sur disque pour compiler la -totalité de \TeX{} et des programmes associés. -Vous aurez aussi besoin d'un -compilateur C \acro{ANSI}, de l'utilitaire \cmdname{make}, -d'un générateur d'analyseur lexical et d'un générateur d'analyseur -syntaxique. Nous recommandons les versions \acro{GNU} des programmes suivants -(\cmdname{gcc}, \acro{GNU}\cmdname{make}, \cmdname{m4}, -\cmdname{flex}, \cmdname{bison}). Vous pouvez utiliser d'autres compilateurs C -et d'autres programmes \cmdname{make} si vous maîtrisez -correctement la programmation sous Unix pour résoudre les -problèmes éventuels. La commande \texttt{uname} doit renvoyer une valeur -raisonnable. - -\subsection{Configuration} - -Tout d'abord, effectuez l'installation normale de \TL{} sur le disque -dur (voir section~\ref{sec:unix-install-disk}, -\p.\pageref{sec:unix-install-disk}). Vous pouvez sauter l'installation de -tous les binaires précompilés. -Décompactez ensuite sur le disque le fichier -\file{source.tar.bz2} (archive compressée) trouvé dans -le répertoire \dirname{source} et placez-vous dans -le répertoire où vous avez transféré l'ensemble. -\begin{alltt} -> \Ucom{cd /tmp/tl-source} -> \Ucom{bunzip2 source.tar.bz2} -> \Ucom{tar xf source.tar} -\end{alltt} - -Lancez maintenant \textsf{configure} de la façon suivante : -\begin{alltt} -> \Ucom{sh configure -prefix=/usr/local/texlive/2007} -\end{alltt} - -Le répertoire \optname{-prefix} est le répertoire de base de -l'arborescence \TL{}, il est désigné par \var{TEXDIR} dans la suite. -\begin{comment} -Les répertoires utilisés sont les suivants : - -\noindent -\begin{tabular}{>{\ttfamily}ll@{}} - \dirname{$TEXDIR/texmf-dist} & répertoire de base pour les fontes, - macros, etc\\ - \dirname{$TEXDIR/man} & pages du manuel Unix\\ - \dirname{$TEXDIR/info} & manuels \acro{GNU} en format Info\\ - \dirname{$TEXDIR/bin/$archname} & exécutables.\\ -\end{tabular}\\ -\end{comment} -%$ - -Si vous ne voulez pas créer de répertoire \dirname{$archname} spécifique %$ -au système choisi pour stocker les exécutables (c.-à-d. les -copier directement dans \dirname{$TEXDIR/bin}), %$ -il faut exécuter \textsf{configure} avec l'option \\ -\verb|--disable-multiplatform|. - -Tapez \verb|./configure --help|, le programme affichera -les options supplémentaires disponibles (telles que supprimer l'installation -des extensions optionnelles comme \OMEGA\ ou \eTeX). - -\subsection{Exécuter \textsf{make}} -S'assurer que la variable ou l'option \texttt{noclobber} n'est pas définie. - et lancer le \cmdname{make} à la racine de l'arborescence de la façon -suivante : -\begin{alltt} ->> \Ucom{make world} -\end{alltt} -et aller prendre un café\dots - -Il peut être utile de garder une trace complète dans un fichier log en tapant : -\begin{alltt} ->> \Ucom{sh -c "make world >world.log 2>\&1" \&} -\end{alltt} -Avant de conclure que tout va bien, vérifier que le fichier log ne contient -pas de message d'erreur : le \cmdname{make} de \acro{GNU} renvoie toujours -le message \samp{***} à chaque erreur d'exécution. Vérifier aussi que -tous les exécutables ont été créés. -\begin{alltt} ->> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} ->> \Ucom{ls | wc} -\end{alltt} -Le résultat doit être supérieur à 200 (on peut tester le nombre exact -dans le répertoire \dirname{bin} de la distribution). - -Si vous avez besoin de droits spéciaux pour exécuter \texttt{make install}, -vous pouvez séparer \samp{make world} en deux processus différents : -\begin{alltt} ->> \Ucom{make all} ->> \Ucom{su} ->> \Ucom{make install strip} -\end{alltt} - -Après avoir installé vos nouveaux binaires, il faut suivre les procédures -normales de la post-installation, indiquées dans la -section~\ref{sec:postinstall}, \p.\pageref{sec:postinstall}. - -%\end{comment} supprimé (df) 5/5/2006 - -\section{Remerciements} - -\TL{} est le résultat des efforts -collectifs de pratiquement tous les groupes d'utilisateurs de \TeX. -La présente édition de \TL{} a été coordonnée par -Sebastian Rahtz et Karl Berry. -Voici la liste des principaux contributeurs : - -\begin{itemize} - -\item Les associations d'utilisateurs anglais, allemands, néerlandais et - polonais (\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST}, - respectivement) qui contribuent ensemble à l'infrastructure technique et - administrative. Soutenez votre association locale (\acro{GUTenberg} pour - les francophones) ! - -\item L'équipe du \acro{CTAN} qui distribue les images des distributions \TL{} - et fournit les sites d'hébergement pour le stockage et la mise à jour des - extensions qui sont la base de \TL. - -\item Peter Breitenlohner et toute l'équipe \eTeX{} qui construisent - les bases des successeurs de \TeX. - -\item Thomas Esser, car, sans lui, sa merveilleuse distribution \teTeX{} et - son aide continuelle, \TL{} n'existerait probablement pas. - -\item Michel Goossens, en tant que co-auteur de la documentation initiale. - -\item Eitan Gurari, dont le programme \TeX4ht a été utilisé pour créer la - version \HTML{} de cette documentation et qui travailla inlassablement à - l'améliorer, avec des délais très brefs. - -\item Hans Hagen qui, outre sa participation active aux tests, - a adapté le format \ConTeXt\ aux besoins de \TL{}. - -\item \Thanh, Martin Schr\"oder et toute l'équipe pdf\TeX\ qui continuent - inlassablement à étendre les performances de \TeX. - -\item Taco Hoekwater, pour ses efforts sans cesse renouvelés à l'amélioration - de MetaPost et de \TeX\ lui-même. - -\item Pawe{\l} Jackowski, pour l'installeur Windows \cmdname{tlpm}, -et Tomasz {\L}uczak, pour la version graphique \cmdname{tlpmgui}. - -\item Akira Kakuto, pour son aide précieuse qui nous a permis - d'intégrer dans \TL{} les binaires Windows de sa distribution \acro{W32TEX} - (\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}). - -\item Jonathan Kew et son employeur \acro{SIL}, pour avoir produit - Xe\TeX{} et pour avoir pris la peine de l'intégrer dans \TL{}. - -\item Reinhard Kotucha, pour son aide dans la lourde tâche consistant à -mettre à jour les innombrables extensions incluses dans \TL{} et pour ses -contributions sous Windows en particulier le script \texttt{getnonfreefonts}. - -\item Petr Ol\v{s}ak, qui coordonna et vérifia minutieusement toute la - partie tchèque et slovaque. - -\item Toshio Oshima, pour le visualisateur \cmdname{dviout} pour Windows. - -\item Fabrice Popineau, pionnier du développement de \TL{} sous Windows. - -\item Norbert Preining, pour son aide à la mise à jour de \TL, ses nombreuses - suggestions d'amélioration et pour avoir coordonné (avec Frank K\"uster) la - version Debian de \TL. - -\item Staszek Wawrykiewicz, principal testeur de \TL{} et - coordinateur des contributions polonaises - (fontes, installation Windows, etc.). - -\item Olaf Weber, pour son patient assemblage et la maintenance de \Webc{} - sur laquelle tout repose. - -\item Gerben Wierda, qui a créé et maintient la partie \MacOSX{} - et qui participe activement aux tests. - -\item Graham Williams, du travail duquel dépend le catalogue des -composants. -\end{itemize} - -Les binaires ont été compilés par : -Hartmut Henkel (\pkgname{x86\_64-linux}), -Akira Kakuto et Fabrice Popineau (\pkgname{win32}), -Manfred Lotz (\pkgname{i386-freebsd}), -Norbert Preining (\pkgname{alpha-linux}), -Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-linux} - et \pkgname{sparc-solaris}), -Karl Berry (\pkgname{i386-linux}), -Olaf Weber (\pkgname{mips-irix}), -Gerben Wierda (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}). - -Documentation et mises à jour des traductions : -Karl Berry (anglais), -G\"unter Partosch, Hartmut Henkel \& Klaus H\"oppner (allemand), -Daniel Flipo (français), -Petr Sojka \& Janka Chleb\'\i kov\'a (tchèque et slovaque), -Boris Veytsman (russe), -Staszek Wawrykiewicz (polonais). - -Bien sûr, notre gratitude va en premier lieu à Donald Knuth pour avoir -inventé \TeX{} et l'avoir offert au monde entier. - -\section{Historique des versions successives} -\label{sec:history} - -\subsection{Les éditions précédentes} - -La discussion commença à la fin de 1993 quand le Groupe des Utilisateurs -Néerlandais de \TeX{} commençait à travailler à son \CD{} 4All\TeX{} pour les -utilisateurs de \acro{MS-DOS}, et on espérait à ce moment sortir un \CD{} -unique pour tous les systèmes. C'était un objectif beaucoup trop ambitieux, -mais il permit la naissance du \CD{} 4All\TeX{}, projet couronné de succès, -mais aussi d'un groupe de travail \og \acro{TUG} Technical Council\fg{} pour -mettre en place TDS (\emph{\TeX{} Directory Structure} : -\url{http://tug.org/tds}), qui spécifiait la gestion des fichiers \TeX{} sous -une forme logique. La mouture finale de \TDS{} fut publiée dans le numéro de -décembre 1995 de \textsl{TUGboat}, et il était clair depuis un certain temps -qu'il fallait proposer un produit contenant une structure modèle sur \CD{}. -La distribution que vous possédez est le résultat direct des délibérations de -ce groupe de travail. Il était également clair que le succès des \CD{} -4All\TeX{} démontrait que les utilisateurs d'Unix trouveraient leur bonheur -avec une distribution aussi simple, et ceci a été l'autre objectif de -\TL. - -Nous avons d'abord entrepris de créer un nouveau \CD{} \TDS{} Unix à l'automne -1995, et nous avons rapidement choisi \teTeX{} de Thomas Esser comme étant la -configuration idéale, car il supportait déjà plusieurs plates-formes et avait -été construit en gardant à l'esprit la portabilité entre systèmes. Thomas -accepta de nous aider et commença à travailler sérieusement au début de 1996. -La première édition sortit en mai 1996. Au début de 1997, Karl Berry acheva -une nouvelle distribution de \Webc{}, qui incluait presque toutes les -caractéristiques que Thomas Esser avait ajoutées dans \teTeX, et il fut décidé -de baser la deuxième édition du \CD{} sur le standard \Webc, en y ajoutant le -script \texttt{texconfig} de \teTeX. La troisième édition du \CD{} était -basée sur une version majeure de \Webc, 7.2, par Olaf Weber ; en même temps, -une nouvelle version révisée de \teTeX{} était achevée dont \TL{} partageait -presque toutes les caractéristiques. La quatrième édition a suivi le même -schéma, en utilisant une nouvelle version de \teTeX{} et une nouvelle version -de \Webc{} (7.3). Le système incluait dorénavant un programme complet -d'installation pour Windows. - -Pour la cinquième édition (mars 2000), de nombreuses parties du \CD{} -ont été vérifiées et révisées, des centaines de composants -mis à jour. -Le contenu détaillé des composants était décrit par des -fichiers XML. Mais le changement majeur de cette cinquième édition a -été la suppression de tout logiciel non libre de droits. -Tout ce qui se trouve dans \TL{} devait être compatible avec la licence -Debian (\emph{Debian Free Software Guidelines} : -\url{http://www.debian.org/intro/free}) ; nous avons -fait de notre mieux pour vérifier les termes des licences de chaque -composant, et nous souhaiterions que toute erreur nous soit signalée. - -La sixième édition (juillet 2001) contient un grand nombre de mises à jour. -Le changement majeur de cette version réside dans la refonte du -processus d'installation : l'utilisateur peut désormais choisir -les collections de manière plus précise. Les collections concernant -les langues ont été entièrement réorganisées, aussi le choix d'une -langue installe non seulement les macros, les fontes, etc. mais -prépare également un fichier \file{language.dat} adéquat. - -La septième édition (mai 2002) a comme ajout majeur une installation -pour \MacOSX{} et l'habituelle myriade de mises à jour de composants et -de programmes. Un objectif important a été de fusionner à -nouveau les sources avec ceux de \teTeX{}, alors que les versions -5 et 6 s'en étaient éloignées. - -\subsubsection{2003} - -En 2003, le flot de mises à jour et d'additions a continué, mais nous -avons constaté que \TL{} était devenu si volumineux qu'il ne -pouvait plus tenir sur un seul \CD, aussi l'avons-nous divisé en trois -distributions distinctes (voir section~\ref{sec:multiple-dist}, -\p.\pageref{sec:multiple-dist}). Par ailleurs : -\begin{itemize} -\item À la demande de l'équipe \LaTeX{}, nous avons modifié les - commandes standard \cmdname{latex} et \cmdname{pdflatex} pour - qu'elles utilisent \eTeX{} (voir \p.\pageref{text:etex}). -\item Les nouvelles fontes Latin Modern sont disponibles (et - recommandées). -\item Le support pour Alpha \acro{OSF} a été supprimé - (celui pour \acro{HPUX} l'avait été auparavant), car personne - disposant des machines nécessaires ne s'est - proposé pour compiler les nouveaux binaires. -\item L'installation pour Windows a été largement modifiée ; un environnement - de travail intégré basé sur \cmdname{XEmacs} a été introduit. -\item Des programmes supplémentaires importants pour Windows (Perl, - Ghost\-script, Image\-Magick, Ispell) sont maintenant installés dans le - répertoire d'installation de \TL{}. -\item Les fichiers \emph{font map} utilisés par \cmdname{dvips}, - \cmdname{dvipdfm} et \cmdname{pdftex} sont maintenant générés par le - nouveau programme \cmdname{updmap} et installés dans - \dirname{texmf/fonts/map}. -\item Dorénavant, \TeX{}, \MF{} et \MP{} écrivent les caractères 8-bit - présentés en entrée sans modification, et non pas avec la notation - \verb|^^|, que ce soit dans des fichiers (par la commande - \verb|write|), dans les fichiers de trace (\verb|.log|) ou sur le - terminal. Dans le \TL{}~7, l'écriture de ces caractères - 8-bit était influencée par les paramètres de localisation du - système; maintenant ces paramètres n'influent plus du tout sur le - comportement des programmes \TeX{}. Si pour quelque raison que ce - soit, vous avez besoin de la notation \verb|^^| en sortie, - renommez le fichier \verb|texmf/web2c/cp8bit.tcx|. Les prochaines - versions disposeront d'un moyen plus propre pour contrôler cette - sortie. -\item La documentation de \TL{} a été largement révisée. -\item Enfin, comme la numérotation séquentielle des versions - devenait peu maniable, il a été décidé d'identifier désormais la version - de \TL{} par l'année : \TL{}~2003 au lieu de \TL{}~8. -\end{itemize} - - -\subsubsection{2004} - -2004 a apporté beaucoup de changements (et quelques incompatibilités avec les -versions précédentes) : - -\begin{itemize} - -\item Si vous avez installé des fontes supplémentaires qui ont leur propre -fichier \file{.map} ou des fichiers \file{.enc} spécifiques, vous -devrez vraisemblablement déplacer ces fichiers. - -Les fichiers \file{.map} sont désormais recherchés uniquement dans les -sous-répertoires \dirname{fonts/map} (dans chaque arborescence -\filename{texmf}), leur chemin de recherche est donné par la variable -\envname{TEXFONTMAPS} de \filename{texmf.cnf}. -De même, les fichiers \file{.enc} sont désormais recherchés uniquement -dans les sous-répertoires \dirname{fonts/enc}, leur chemin de recherche est -donné par la variable \envname{ENCFONTS} de \filename{texmf.cnf}. -Le script \cmdname{updmap} devrait émettre des messages d'avertissement -pour les fichiers \file{.map} et \file{.enc} mal placés. - -Sur les différentes façons de traiter le problème, consulter -\url{http://tug.org/texlive/mapenc.html}. - -\item La distribution pour Windows a changé cette année : -l'installation de la distribution \fpTeX{} (basée sur \Webc{}) de Fabrice -Popineau n'est provisoirement plus proposée dans l'attente -d'un nouvel installeur. À la place, vous pouvez tester et installer -la distribution \MIKTEX{} (indépendante de \Webc{}), -voir section~\ref{sec:struct-tl}, \p.\pageref{sec:struct-tl}. -Le \CDdemo{} diffusé en 2003 a été supprimé. - -\item L'ancien répertoire \dirname{texmf} a été éclaté en trois parties : -\dirname{texmf}, \dirname{texmf-dist} et \dirname{texmf-doc}. Voir -section~\ref{sec:tld}, \p.\pageref{sec:tld}. -% et les fichiers \filename{README} à la racine de ces répertoires. -% (df) Y'en a pas !!! - -\item Tous les fichiers relatifs aux différents avatars de \TeX{} sont -désormais regroupés dans le même sous-répertoire \dirname{tex} des -arborescences \dirname{texmf*} (ils étaient jusqu'ici placés dans des -sous-répertoires spécifiques \dirname{tex}, \dirname{etex}, -\dirname{pdftex}, \dirname{pdfetex}, etc.). Voir -\CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} -{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. - -\item Les scripts auxiliaires, normalement pas exécutés directement -par les utilisateurs, sont regroupés dans un répertoire \dirname{scripts} -des arborescences \dirname{texmf*}. On les localise grâce à la -commande \verb|kpsewhich -format=texmfscripts|. Au cas où vous en auriez, -les programmes utilisant ces scripts nécessiteront une adaptation. Voir -\OnCD{texmf-doc/doc/english/tds/tds.html\#Scripts}. - -\item La plupart des formats affichent en clair (dans les fichiers -\file{.log} en particulier) les caractères imprimables au lieu -de les transcrire en notation hexadécimale \verb|^^|. Ceci se fait -grâce au fichier \filename{cp227.tcx}, qui considère comme imprimables -les caractères 32 à 256, ainsi que les tabulations et les changements -de page (caractères 9 à 11). Les formats faisant exception sont -plain \TeX\ (seuls les caractères 32 à 127 sont déclarés imprimables), -\ConTeXt{} (0 à 255 imprimables) et les formats basés sur \OMEGA. -Il y a peu de différence avec le comportement de \TL\,2003 -mais la mise en {\oe}uvre est plus propre et plus facilement configurable. -Voir \OnCD{texmf/doc/web2c/web2c.html\#TCX-files}. -Noter que l'utilisation du codage Unicode en entrée peut provoquer -des affichages défectueux en sortie (TeX code sur un seul octet). - -\item Tous les formats, sauf plain \TeX, font appel au moteur -\textsf{pdfetex} (qui produit bien sûr par défaut des fichiers \acro{DVI} -lorsque le format choisi est \LaTeX). Ceci permet aux formats -\LaTeX, \ConTeXt, etc., d'avoir accès aux fonctionnalités -micro-typographiques de pdf\TeX{} (alignement optique des marges par exemple) -et aux fonctionnalités de \eTeX{} (\OnCD{texmf-dist/doc/etex/base/}). - -Ceci rend \emph{indispensable} le recours à l'extension \pkgname{ifpdf} -(qui fonctionne aussi bien avec plain que \LaTeX) pour déterminer si -le format de sortie est \acro{DVI} ou \acro{PDF}. Tester si la commande -\cs{pdfoutput} est définie ou non \emph{n'est pas} un moyen fiable -de le faire. - -\item pdf\TeX\ (\url{http://pdftex.org}) offre de nouvelles fonctionnalités : - - \begin{itemize} - - \item Les commandes \cs{pdfmapfile} et \cs{pdfmapline} permettent - de spécifier le choix des fichiers \file{.map} à utiliser - pour le document en cours. - - \item L'amélioration du gris typographique par variation (infime) de la - largeur des caractères (\textit{font expansion}) est plus facile à - mettre en {\oe}uvre, voir - \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} - - \item Le fichier \filename{pdftex.cfg} n'est plus utilisé. - Toutes les affectations de paramètres doivent désormais être - faites dans le préambule en utilisant les primitives ad~hoc. - - \item Pour plus d'informations, consulter le manuel de pdf\TeX\ : - \OnCD{texmf/doc/pdftex/manual}. - - \end{itemize} - -\item La primitive \cs{input} de \cmdname{tex}, \cmdname{mf} et -\cmdname{mpost}, accepte désormais les espaces et autres caractères -spéciaux dans les noms de fichiers à condition d'utiliser des -\textit{double quotes}, en voici deux exemples typiques : -\begin{verbatim} -\input "filename with spaces" % plain -\input{"filename with spaces"} % latex -\end{verbatim} -Consulter le manuel \Webc{} pour plus d'informations : \OnCD{texmf/doc/web2c}. - -\item Les fonctionnalités de enc\TeX\ sont désormais incluses dans \Webc{}. -Ainsi, tous les formats \emph{construits avec l'option \optname{-enc}} y ont -accès. enc\TeX\ permet le transcodage en entrée et en sortie et -l'utilisation transparente du codage Unicode \acro{UTF}-8. Voir -\OnCD{texmf-dist/doc/generic/enctex/} et -\url{http://www.olsak.net/enctex.html}. - -\item Un nouveau moteur combinant les fonctionnalités de \eTeX\ -et d'\OMEGA, appelé Aleph, est disponible. \OnCD{texmf-dist/doc/aleph/base} -et \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph} -fournissent une information succincte. Le format \LaTeX{} utilisant -Aleph s'appelle \textsf{lamed}. - -\item La licence \acro{LPPL} de \LaTeX\ (version décembre 2003) a changé, -elle est désormais compatible avec les prescriptions Debian. -Les autres changements sont décrits dans le fichier \filename{ltnews}, voir -\OnCD{texmf-dist/doc/latex/base}. - -\item Un nouveau programme, \cmdname{dvipng}, qui convertit les fichiers -\acro{DVI} en images \acro{PNG} a été ajouté. Voir -\OnCD{texmf/doc/man/man1/dvipng.1}. - -\item Nous avons dû réduire le nombre de fontes incluses dans l'extension -\pkgname{cbgreek}, ceci a été fait avec l'accord et l'aide de l'auteur -(Claudio Beccari). Les fontes exclues (invisibles, transparentes, contours) -sont rarement utilisées et la place nous manquait. La collection complète -des fontes \pkgname{cbgreek} est disponible sur \acro{CTAN} -(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). - -\item La commande \cmdname{oxdvi} a été supprimée, il suffit utiliser -\cmdname{xdvi} à la place. - -\item Les commandes \cmdname{initex}, \cmdname{virtex} et leurs -homologues pour \cmdname{mf} et \cmdname{mpost} ont disparu. -Vous pouvez les recréer si nécessaire mais elles sont avantageusement -remplacées, depuis des années maintenant, par l'option \optname{-ini} -(\cmdname{tex} \optname{-ini} pour \cmdname{initex} et \cmdname{virtex}). - -\item Les binaires pour l'architecture \textsf{i386-openbsd} ont été - supprimés par manque de volontaires pour les compiler. - -Sur \textsf{sparc-solaris} (au moins) il sera probablement -nécessaire de positionner la variable d'environnement -\envname{LD\_LIBRARY\_PATH} pour utiliser les programmes de la famille -\pkgname{t1utils}. Ceci vient du fait qu'ils sont compilés en C++, -et que l'emplacement des bibliothèques dynamiques est variable. -Ce n'est pas une nouveauté 2004 mais ce point n'était pas documenté -précédemment. De même, sur \textsf{mips-irix}, les bibliothèques dynamiques -\acro{MIPS}pro 7.4 sont nécessaires. - -\end{itemize} - -\subsubsection{2005} - -2005 a apporté son lot habituel d'innombrables mises à jour d'extensions -et de programmes. L'infrastructure est restée relativement stable par rapport -à 2004, à quelques changements inévitables près : - -\begin{itemize} - -\item Trois nouveaux scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys} et - \cmdname{fmtutil-sys} ont été introduits ; ils agissent sur la - configuration générale de la machine, comme le faisaient les - scripts \cmdname{texconfig}, \cmdname{updmap} et \cmdname{fmtutil} - jusqu'à l'an dernier. Les nouveaux scripts \cmdname{texconfig}, - \cmdname{updmap} et \cmdname{fmtutil} modifient maintenant - la configuration \emph{personnelle} de l'utilisateur qui les lance ; - le résultat est placé dans le répertoire personnel de l'utilisateur - (sous \dirname{$HOME/.texlive2005}), voir %$ - section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. - -\item De nouvelles variables, \envname{TEXMFCONFIG} (resp. - \envname{TEXMFSYSCONFIG}) ont été introduites ; elles définissent - les répertoires où doivent se trouver les fichiers de configuration de - l'utilisateur (resp. de la machine), comme \filename{fmtutil.cnf} et - \filename{updmap.cfg}. Les utilisateurs de fichiers de configuration - locaux \filename{fmtutil.cnf} ou \filename{updmap.cfg} devront - probablement les déplacer ; une autre possibilité est de modifier la - définition des variables \envname{TEXMFCONFIG} ou - \envname{TEXMFSYSCONFIG} dans \filename{texmf.cnf}. L'important est - de s'assurer de la cohérence entre les définitions de ces variables - dans \filename{texmf.cnf} et l'emplacement réel de ces fichiers. - Voir section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees} pour - la description des différentes arborescences texmf utilisées. - -\item L'an dernier nous avions rendu \og \texttt{undefined} \fg certaines - primitives propres à \cmdname{pdftex} (comme \verb|\pdfoutput|) - dans les formats créés à partir de \cmdname{pdfetex} (\cmdname{latex} - \cmdname{amstex}, \cmdname{context} par exemple)). - C'était à titre transitoire, aussi cette année, ces primitives sont de - nouveau définies dans tous les formats à base \cmdname{pdf(e)tex}, - \emph{même lorsqu'ils sont utilisés pour produire des fichiers - \file{.dvi}}. Ceci implique qu'il vous faudra modifier vos - documents qui utilisent le test \verb|\ifx\pdfoutput\undefined| - pour déterminer si la sortie est en DVI ou en PDF. Le mieux est - d'utiliser l'extension \pkgname{ifpdf.sty} et son test - \verb|\ifpdf| qui fonctionne même en plain \TeX. - -\item L'an dernier nous avions fait en sorte que la plupart des formats - impriment dans les sorties \file{.log} des caractères 8-bit - lisibles à la place des notations hexadécimales \verb|^^| - (voir section précédente). - Le nouveau fichier TCX \filename{empty.tcx} permet - de revenir facilement à la notation traditionnelle \verb|^^|, il suffit - de coder : -\begin{verbatim} -latex --translate-file=empty.tcx fichier.tex -\end{verbatim} - -\item Le nouveau programme \cmdname{dvipdfmx} est disponible pour convertir - des fichier DVI en PDF ; ce programme remplace \cmdname{dvipdfm}, - toujours disponible mais dont l'usage est maintenant déconseillé. - -\item Les variables \envname{HOMETEXMF} et \envname{VARTEXMF} ont été renommées - en \envname{TEXMFHOME} et \envname{TEXMFSYSVAR} respectivement pour - raisons de cohérence avec les autres noms de variables. Il y a aussi - \envname{TEXMFVAR} qui désigne maintenant un répertoire personnel - de l'utilisateur (cf. le premier point de la présente liste). - -\end{itemize} - -\subsection{L'édition 2006--2007} -\label{tlcurrent} - -En 2006--2007, la nouveauté majeure a été l'arrivée dans \TL{} de Xe\TeX{} -disponible sous forme de deux programmes \texttt{xetex} et \texttt{xelatex}, -voir \url{http://scripts.sil.org/xetex}. - -MetaPost a subi une mise à jour importante et d'autres améliorations -sont prévues, voir \url{http://tug.org/metapost/articles}. Il en va de même -pour pdf\TeX{}, voir \url{http://tug.org/applications/pdftex}. - -Le format \filename{tex.fmt} et les formats pour MetaPost and \MF\ ne -se trouvent plus dans \dirname{texmf/web2c} mais dans des -sous-répertoires de \dirname{texmf/web2c} (la recherche de fichiers -\filename{.fmt} est néanmoins faite aussi dans \dirname{texmf/web2c}). -Ces sous-répertoires portent le nom du moteur utilisé pour construire -le format, par exemple \filename{tex}, \filename{pdftex} ou -\filename{xetex}. Ce changement ne devrait pas avoir d'effet visible -pour les utilisateurs. - -Le programme (plain) \texttt{tex} ignore désormais les lignes commençant -par \texttt{\%\&} qui permettent de déterminer le format à utiliser ; -c'est un vrai \TeX{} \og à la Knuth \fg ! -\LaTeX\ et tous les autres prennent toujours en compte les lignes commençant -par \texttt{\%\&}. - -Les scripts d'installation peuvent maintenant être utilisés de manière -non interactive (voir section~\ref{sec:noninteractive-install}) en -positionnant des variables d'environnement. - -Comme chaque année des centaines d'extensions et de programmes ont été mis à -jour, voir les sites \acro{CTAN} (\url{http://www.ctan.org}). - -L'arborescence utilisée en interne a été réorganisée avec de nouveaux outils -qui devraient fournir une meilleure base de travail pour les développements -futurs. - -Enfin, en mai 2006 Thomas Esser a annoncé qu'il renonçait à poursuivre -le développement de te\TeX{} (\url{http://tug.org/tetex}). Sa décision a -relancé l'intérêt pour \TL, en particulier chez les distributeurs de solutions - \acro{GNU}/Linux (un nouveau schéma d'installation \texttt{tetex} a été - ajouté dans le script d'installation de \TL{} pour produire une - distribution proche de l'ancienne te\TeX). La distribution \TL{} existe -déjà sous forme de paquets Debian, espérons que les autres acteurs du monde -Linux (RedHat, SuSe, etc.) suivront et que les utilisateurs -se verront proposer à l'avenir des distributions \TeX{} riches et plus -faciles à installer. - - - -\subsection{Versions futures} - -\emph{\TL{} n'est pas un produit parfait !} -(et ne le sera jamais). Nous prévoyons de continuer à produire de -nouvelles versions, et aimerions fournir plus d'aide, de -fonctionnalités, de programmes d'installation, et (bien sûr) une -arborescence améliorée et vérifiée de macros et de fontes. Ce travail -est effectué par des volontaires débordés, dans la limite de leur temps -libre, et beaucoup reste à faire. Si vous pouvez nous aider, n'hésitez pas -à vous proposer ! - -Corrections, suggestions et propositions d'aide doivent -être envoyées à :\hfill\null -\begin{quote} -\email{tex-live@tug.org} \\ -\url{http://tug.org/texlive} -\end{quote} - -\medskip -\noindent \textsl{Bon travail avec \TeX{} !} - -\end{document} - -%%% Local Variables: -%%% mode: latex -%%% mode: flyspell -%%% ispell-local-dictionary: "francais" -%%% TeX-master: t -%%% coding: latin-1 -%%% End: diff --git a/Master/texmf/doc/texlive/source/texlive-fr/live4ht.cfg b/Master/texmf/doc/texlive/source/texlive-fr/live4ht.cfg deleted file mode 100644 index 4da18b3c746..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-fr/live4ht.cfg +++ /dev/null @@ -1,47 +0,0 @@ -% tex4ht configuration file for the TeX Live documentation. -% Accumulated over many years. Public domain. -% -% html specifies the main output format. -% info for extra debugging info in the log files. - -% better approach is to have html in one piece (including footnotes). -% charset=utf-8 fails for French, all accented letters get lost. -\Preamble{html,info,fn-in} - -% add extra stylesheet -\Configure{@HEAD}{\HCode{% -\Hnewline -\Hnewline -}} - -% or LaTeX complains it is missing. -\begin{document} - -\EndPreamble - -% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht -% actually does the lowered E (and raised A) in CSS. -\def\OMEGA{Omega} -\def\LaTeXe{LaTeX2e} -\def\eTeX{e-\TeX} -\def\acro#1{#1} -\def\MF{Metafont} -\def\BibTeX{BibTeX} -\def\warningbox{} -\def\endwarningbox{} - -\newif\ifhackliterals -\ifx\tldocenglish\undefined \else \hackliteralstrue \fi -\ifx\tldocrussian\undefined \else \hackliteralstrue \fi -\ifx\tldocgerman\undefined \else \hackliteralstrue \fi -% -\ifhackliterals - % these definitions cause "missing } inserted" at \end{tabularx} in - % French and Czech. don't know why. - % - % don't make these into links, as happens with \path. We only have a couple - % special characters that actually occur. - \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} - \def\finishliteral#1{#1\egroup} - \let\filename=\dirname -\fi diff --git a/Master/texmf/doc/texlive/source/texlive-fr/tex-live.css b/Master/texmf/doc/texlive/source/texlive-fr/tex-live.css deleted file mode 100644 index 5062bc0d229..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-fr/tex-live.css +++ /dev/null @@ -1,44 +0,0 @@ -/* $Id$ - Simple CSS for TeX Live that adds margins and a little color. - original by Bzyl Wlodzimierz, edited by Karl Berry, 2005. - Public domain. */ - -html { - // top left bottom right - margin: 15pt 15pt 15pt 15pt; - background: rgb(255,255,224); -} - -body { - margin: 0 5pt 0 5pt; - padding: 0; - //matw: background: rgb(224,255,224); - // (It looks better to me to have a consistent background --karl) -// fonts in browser are low resolution; -// therefore generated serif are poor quality, -// so they disturb reading (that is my opinion) - font-family: sans-serif; - font-style: normal; -} - -/* (It looks better to me to not vary colors at every level --karl) */ - -h3.sectionHead { - padding: 12pt 10pt 12pt 20pt; - //matw: background: rgb(192,224,255); - background: rgb(224,224,255); - color: rgb(0,0,32); -} - -h4.subsectionHead { - padding: 7pt 10pt 7pt 40pt; - background: rgb(224,224,255); - color: rgb(0,0,32); -} - -h5.subsubsectionHead { - padding: 3pt 10pt 3pt 40pt; - //matw: background: rgb(224,255,255); - background: rgb(224,224,255); - color: rgb(0,0,32); -} diff --git a/Master/texmf/doc/texlive/source/texlive-fr/texlive-fr.tex b/Master/texmf/doc/texlive/source/texlive-fr/texlive-fr.tex deleted file mode 100644 index 6b74bc3bd13..00000000000 --- a/Master/texmf/doc/texlive/source/texlive-fr/texlive-fr.tex +++ /dev/null @@ -1,3148 +0,0 @@ -%Format: pdf -% -% Change history (started May 18th 2002) -% 2008/07/26: synced with 2008 English version, by Daniel Flipo -% 2007/01/18: synced with 2007 English version, by Daniel Flipo -% 2005/11/01: synced with 2005 English version, by Daniel Flipo -% 2005/05/05: re-added section on building binaries (Daniel Flipo) -% 2004/10/28: synced with 2004 English version, by Daniel Flipo -% 2003/08/28: synced with 2003 English version, by Éric Picheral & Jacques André -% 2002/05/25: proof-reading and corrections, by Daniel Flipo -% 2002/05/18: synced with English version, by Fabrice -% -\documentclass{article} -\let\tldocfrench=1 % NOT used... - -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} - -\usepackage[frenchb]{babel} -\usepackage{xspace} -\frenchbsetup{AutoSpacePunctuation=false, og=», fg=»} - -\usepackage{ifpdf} -% tex-live.sty suppose \hyper@linkurl défini... -\ifpdf - \def\Status{1} % (df) Pour faire charger hyperref dans tex-live.sty -\else - \makeatletter - \def\hyper@linkurl#1#2{#2} % undefined if hyperref.sty not loaded - \makeatother -\fi - -\usepackage{tex-live} -% Correctifs à tex-live.sty (df) -\renewcommand{\samp}[1]{\og \texttt{#1}\fg{}} -% (df) La commande \TeXLive n'est pas utilisée en v.f. -\renewcommand{\TL}{\TeX{} Live\xspace}% Robuste (pas besoin de \protect)... -\renewcommand{\TK}{\TeX{} Collection\xspace}% idem. -% tex-live.sty fait précéder les no de page d'une fine... si on veut -% une insécable normale, décommenter la ligne suivante : -\def\p.{page~} -% Chez Karl, la commande \url{} ne protège pas les caractères actifs (:?), -% d'où ceci (essai provisoire... erreurs avec le car. #) : -%\let\urlORI\url -%\renewcommand*{\url}[1]{\foreignlanguage{english}{\urlORI{#1}}} -%\renewcommand*{\url}[1]{{\shorthandoff{:?!;}\urlORI{#1}}} -% La commande \path de url.sty ajoute des espaces parasites, pas \url, d'où -\let\path\url -% mais ceci impose de remplacer \path|...| par \path{...}, et les \$ inclus -% par des $. - -\newcommand{\THANH}{Hàn Th\'{ê} Thanh} - -\setlength{\parindent}{0mm} -\addtolength{\parskip}{.25\baselineskip} - -\begin{document} - -\title{{\huge Guide pratique de \TL{} \\\smallskip} - {\LARGE\textsf{\TL{} 2008}}% - } - -\author{Karl Berry \\[3mm] - \url{http://tug.org/texlive/}\\[5mm] - \textit{Version française}\\[3mm] - Daniel Flipo (GUTenberg) - } - -\date{Juillet 2008} - -\maketitle -\thispagestyle{empty} % no need for page number - -\begin{multicols}{2} -\tableofcontents -%\listoftables -\end{multicols} - -\section{Introduction} -\label{sec:intro} - -\subsection{\TeX\ Live et \TeX\ Collection} - -Ce document décrit les principales caractéristiques de la -distribution \TL{}, une distribution complète de \TeX{} -pour Linux et autres Unix, \MacOSX{} et systèmes Windows. - -Cette distribution peut être obtenue par téléchargement ou sur le \DVD{} \TK{} -distribué par les groupes d'utilisateurs de \TeX{} à leurs membres. -La section \ref{sec:tl-coll-dists} décrit brièvement le contenu de ce \DVD. -\TL{} comme \TK{} sont produits grâce au travail des groupes d'utilisateurs de -\TeX. La description qui suit porte essentiellement sur \TL. - -La distribution \TL{} comprend les binaires -pré-compilés de \TeX{}, \LaTeXe{}, \MF, \MP, \BibTeX{} et de nombreux -autres programmes ainsi qu'une bibliothèque étendue de macros, de -fontes et de documentations. Elle traite aussi de la composition de textes -dans la plupart des langues utilisées dans le monde. - -Les composants de la distribution \TL{} sont régulièrement mis à jour -sur le site \acro{CTAN}, \url{http://www.ctan.org}. - -On trouvera à la fin du document, section~\ref{sec:history} -(page~\pageref{sec:history}), un bref historique des principales modifications -apportées au fil du temps à la distribution \TL. - -% Ajout (df) -Les utilisateurs des éditions précédentes de \TL{} sont invités -à lire, \emph{avant toute mise à jour}, la section~\ref{tlcurrent} -page~\pageref{tlcurrent} qui présente les principaux changements intervenus -cette année. - -\subsection{Support pour différents systèmes d'exploitation} -\label{sec:os-support} - -\TL{} contient les exécutables pour les principales architectures Unix, en -particulier Linux et \MacOSX. Les sources inclus dans la distribution -devraient permettre de compiler les exécutables nécessaires aux autres -systèmes d'exploitation. - -En ce qui concerne Windows, seuls Windows 2000 et ses successeurs (XP, Vista) -sont supportés ; les architectures antérieures (Windows 9\textit{x}, ME et NT) -ne le sont plus. Il n'y a pas d'exécutables 64-bit mais les versions 32-bit -devraient fonctionner aussi sur les systèmes 64-bit. - -Consulter la section~\ref{sec:tl-coll-dists} pour des solutions alternatives -sous Windows et \MacOSX. - -\subsection{Utilisation élémentaire de \TL{}} -\label{sec:basic} - -Vous pouvez installer \TL{} de deux façons différentes : soit en utilisant -l'installeur qui télécharge toute la distribution sur Internet, soit à partir -du \DVD{} ce qui ne nécessite pas de connexion au réseau. - -Vous pouvez aussi exécuter \TL{} directement depuis le -\DVD{} (ou depuis une image iso du \DVD{} si votre système le permet) sans -(presque) rien installer sur le disque dur. - -Ces trois utilisations sont décrites en détail dans les sections suivantes, -voici quelques remarques générales pour débuter : - -\begin{itemize} - -\item Le script d'installation globale s'appelle -\filename{install-tl}. Il fonctionne en mode graphique (mode par défaut sous -Windows) et en mode texte (mode par défaut pour les autres systèmes). -Ajouter l'option \code{-gui} ou \code{-no-gui} pour imposer le mode graphique -ou le mode texte. - -\item Ce script installe en particulier un nouveau programme, le -« \TL\ Manager » appelé \prog{tlmgr}. Comme l'installeur, il peut être -utilisé en mode graphique ou en mode texte. Il permet d'ajouter ou de -supprimer des composants et de procéder à différents réglages de -configuration. - -\end{itemize} - -\subsection{Obtenir de l'aide} -\label{sec:help} - -La communauté \TeX{} est à la fois active et conviviale ; la plupart des -questions finissent par obtenir une réponse. Le support est -pourtant informel, assuré par des volontaires et des lecteurs -occasionnels, aussi est-il particulièrement important que vous fassiez -votre propre travail de recherche avant de poser la question (si vous -préférez un support commercial, vous pouvez renoncer à \TL{} et -acheter un système payant ; voir une liste à -\url{http://tug.org/interest.html#vendors}). - -Voici une liste de ressources, classées selon l'ordre dans lequel nous -recommandons de les utiliser : - -\begin{description} -\item [Getting Started] -- pour ceux qui débutent en \TeX, la page web -\url{http://tug.org/begin.html} contient une courte description -du système. - -\item [\acro{FAQ} \TeX{}] -- la \acro{FAQ} \TeX{} est un vaste recueil - de réponses à toutes sortes de questions, de la plus élémentaire à la - plus complexe. Elle est enregistrée sur le \DVD{} dans - \OnCD{texmf-doc/doc/english/FAQ-en/html/index.html} - et elle est disponible sur Internet à - l'adresse \url{http://www.tex.ac.uk/faq}. - Merci de consulter cette FAQ avant toute question. - -\item [Catalogue \TeX{}] -- si vous recherchez une extension, une fonte, - un programme, etc., le mieux est de consulter le catalogue - \TeX{} ici : \url{http://www.ctan.org/help/Catalogue/}. - -\item [Ressources \TeX{} sur le Web] -- la page web - \url{http://tug.org/interest.html} propose - beaucoup de liens relatifs à \TeX{}, en particulier concernant des - livres, manuels et articles portant sur tous les aspects du système. - -\item [Archives des forums d'aide] -- les principaux forums dédiés - au support de \TeX{} sont les groupes de news Usenet - \url{news:comp.text.tex} (en anglais) et \url{news:fr.comp.text.tex} - (en français) ainsi que les listes de diffusion - \email{texhax@tug.org} (en anglais) et \email{gut@ens.fr} (en français). - Les archives correspondantes contiennent des - milliers de questions et réponses déjà traitées et permettent - une recherche fructueuse. Voir - \url{http://groups.google.com/groups?group=fr.comp.text.tex} - et \url{http://tug.org/mail-archives/texhax}, respectivement. Une - question posée sur un moteur de recherche, tel que - \url{http://google.com}, peut aussi fournir des réponses pertinentes. - -\item [Poster une question] -- si vous ne trouvez pas de réponse, vous - pouvez poster la question à \dirname{fr.comp.text.tex} via Google ou - votre lecteur de news, ou encore par messagerie à - \email{texhax@tug.org}. Mais avant de le faire, merci de lire - l'introduction de la \acro{FAQ} donnant les conseils sur la façon de - rédiger la question pour avoir des chances d'obtenir une réponse pertinente : - \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. - -\item [Support de \TL{}] -- si vous voulez faire un rapport - d'anomalie, émettre des suggestions ou des commentaires sur la - distribution \TL{}, son installation ou sa documentation, utilisez - la liste de diffusion \email{tex-live@tug.org}. Mais attention, si - la question concerne l'utilisation d'un programme particulier inclus - dans \TL{}, il vaut mieux que vous vous adressiez directement à la - personne ou à la liste de diffusion qui maintient le programme. Il suffit - souvent d'ajouter l'option \code{-{}-help} lors de l'exécution du programme - pour trouver à qui adresser le rapport. - -\end{description} - -L'autre aspect du sujet concerne l'aide à apporter aux personnes -soumettant des questions. Les forums \dirname{comp.text.tex}, -\dirname{fr.comp.text.tex} ainsi que les listes de diffusion \code{texhax} -et \code{gut} -sont ouverts à tous, aussi n'hésitez pas à vous y joindre, à commencer -la lecture et à fournir de l'aide là où cela vous est possible. - -% No \protect needed as \TL is defined in French with \newcommand (robust). -\section{Structure de \TK} -\label{sec:overview-tl} - -Nous décrivons ici le contenu de \TK{} qui est un sur-ensemble de \TL. - -\subsection {\TK{} : \TL, pro\TeX{}t, Mac\TeX} -\label{sec:tl-coll-dists} - -Le \DVD{} \TK{} contient les éléments suivants : - -\begin{description} - -\item [\TL{}] -- un système \TeX{} complet (\TL) qui peut au choix, être lancé à - partir du \DVD{} (sans installation) ou être installé sur le disque dur. - -\item [CTAN] -- une image du site d'archives \CTAN. - -\item [pro\TeX{}t] -- une extension du système \MIKTEX\ pour Windows qui en - facilite l'installation. Cette distribution est totalement indépendante de - \TL{}, elle nécessite un mode d'installation spécifique. Le site de - \ProTeXt\ se trouve ici : \url{http://tug.org/protext}. - -\item [Mac\TeX] -- un programme d'installation spécifique de \TL{} pour - \MacOSX{} et quelques applications propres au système Mac. - Le site de Mac\TeX{} se trouve ici : \url{http://www.tug.org/mactex/}. - -\item [\texttt{texmf-extra}] -- un répertoire contenant quelques extensions - supplémentaires. - -\end{description} - -Les droits d'utilisation des fichiers présents dans \CTAN, \ProTeXt{} -et \texttt{texmf-extra} diffèrent de ceux de \TL{}, pensez à lire -les licences si vous envisagez de modifier ou de redistribuer certains de -ces fichiers. - -\subsection{Répertoires situés à la racine de \TL{}} -\label{sec:tld} - -La distribution \TL{} est dans le sous-répertoire \dirname{texlive} -du \DVD{} \TK{}. Les répertoires les plus importants -situés à la racine de la distribution \TL{} sont énumérés ci-dessous : - -\begin{ttdescription} -\item[bin] -- programmes de la famille \TeX{}, rangés dans des - sous-répertoires selon les plates-formes. -% -\item[readme.html] -- une brève introduction et quelques liens utiles sous forme - de pages \textsc{html} dans différentes langues. -% -\item[source] -- le code source de tous les programmes, incluant la - distribution \Webc{} de \TeX{} et \MF{}. -% -\item[support] -- ensemble d'extensions et programmes auxiliaires (en - particulier des éditeurs et des \textit{shells} dédiés à \TeX) ; ils ne sont - \emph{pas} installés par défaut. -% -\item[texmf] -- répertoire contenant les programmes et leur documentation ; ne - contient ni les formats ni les extensions (la variable \envname{TEXMFMAIN} - de la section suivante pointe sur ce répertoire). -% -\item[texmf-dist] -- répertoire principal où se trouvent les extensions, - les fontes, etc., avec leur documentation (la variable \envname{TEXMFDIST} - de la section suivante pointe sur ce répertoire). -% -\item[texmf-doc] -- répertoire contenant le reste de la documentation, le - sous-répertoire doc est organisé par langue. -% -\item[tlpkg] -- scripts et programmes d'installation ; des versions de - Perl et de Ghostscript (inaccessibles en dehors de \TL) ainsi qu'un - nouveau visualiseur de fichiers PostScript ont été ajoutés pour - Windows. -\end{ttdescription} - -On trouve également, au même niveau que les répertoires mentionnés ci-dessus, -les scripts d'installation et les fichiers \filename{README} (disponibles dans -différentes langues). - -Le répertoire \dirname{texmf-doc} ne contient que de la documentation -mais pas toute la documentation. Celle concernant les programmes (manuels, -pages \textit{man} et fichiers de type \textit{info} est dans -\dirname{texmf/doc} car les programmes correspondants sont dans -\dirname{texmf}. De même, la documentation des extensions et formats -est dans \dirname{texmf-dist/doc}. Les commandes \cmdname{texdoc} ou -\cmdname{texdoctk} trouveront pour vous les documentations où qu'elles soient -sur le disque. -Le fichier \OnCD{doc.html} du \DVD{} contient une liste de liens bien -utiles pour localiser les fichiers de documentation. - -La documentation de \TL\ proprement dite est disponible dans le répertoire -\dirname{texmf-doc} en plusieurs langues, - -\begin{itemize} -\item{anglais :} \OnCD{texmf-doc/doc/english/texlive-en}, -\item{allemand :} \OnCD{texmf-doc/doc/german/texlive-de}, -\item{chinois (simplifié) :} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn}, -\item{français :} \OnCD{texmf-doc/doc/french/texlive-fr}, -\item{polonais :} \OnCD{texmf-doc/doc/polish/texlive-pl}, -\item{russe :} \OnCD{texmf-doc/doc/russian/texlive-ru}, -\item{tchèque \& slovaque :} \OnCD{texmf-doc/doc/czechslovak/texlive-cz}. -\end{itemize} - -\subsection{Description des arborescences « texmf » de \TL} -\label{sec:texmftrees} - -Nous donnons ici la liste complète des variables prédéfinies qui contiennent -les noms des différentes arborescences de type « texmf » et l'usage qui -en est fait. La commande \cmdname{texconfig conf} retourne les valeurs de ces -variables, ce qui permet de savoir où se trouvent ces différentes -arborescences dans une installation donnée. - -\begin{ttdescription} -\item [TEXMFMAIN] -- contient les éléments essentiels du système, comme les - scripts (\cmdname{web2c/mktexdir}, etc.), leur documentation mais pas les - formats ni les fichiers de macros.-- -\item [TEXMFDIST] -- contient les fichiers de macros (Plain, \LaTeX, \ConTeXt, - etc.,), les fontes, etc., de la distribution \TL{} ; rien ne devrait être - ni ajouté ni supprimé dans cette arborescence. -\item [TEXMFLOCAL] -- c'est là que l'administrateur de la machine doit - placer les classes et extensions locales, les fontes non disponibles - dans \TL, etc. -\item [TEXMFHOME] -- contient les fichiers personnels (extensions, classes, - fontes) de l'utilisateur ; ce répertoire est installé automatiquement dans - le répertoire personnel de l'utilisateur. -\item [TEXMFCONFIG] -- c'est là que les scripts \cmdname{updmap} et - \cmdname{fmtutil} recherchent leurs fichiers de configuration en priorité. - \cmdname{texconfig} y place les versions modifiées des fichiers de - configuration. Sous \envname{TEXMFHOME} par défaut. -\item [TEXMFSYSCONFIG] -- c'est là que les scripts \cmdname{updmap-sys} et - \cmdname{fmtutil-sys} recherchent leurs fichiers de configuration en - priorité. \cmdname{texconfig-sys} y place les versions modifiées des - fichiers de configuration. -\item [TEXMFVAR] -- c'est là que les scripts \cmdname{texconfig}, - \cmdname{updmap} et \cmdname{fmtutil} rangent les formats et les fichiers - \file{.map} qu'ils produisent. Sous \verb+$HOME+ par défaut. %$ -\item [TEXMFSYSVAR] -- c'est là que les scripts \cmdname{texconfig-sys}, - \cmdname{updmap-sys} et \cmdname{fmtutil-sys} rangent les formats et les - fichiers \file{.map} qu'ils produisent. -\end{ttdescription} - -La structure de l'arborescence \TL{} est par défaut la suivante : -\begin{description} -\item[racine multi-utilisateurs] (par exemple \verb|/usr/local/texlive|, - \verb|D:\texlive|,\dots) qui contient éventuellement plusieurs - distributions : - \begin{ttdescription} - \item[2007] -- la distribution précédente, - \begin{ttdescription} - \item [...] - \end{ttdescription} - \item[2008] -- la distribution actuelle, - \begin{ttdescription} - \item [bin] ~ - \begin{ttdescription} - \item [i386-linux] -- exécutables Linux, - \item [...] - \item [universal-darwin] -- exécutables \MacOSX, - \item [win32] -- exécutables Windows, - \end{ttdescription} - \item [texmf] -- correspond à \envname{TEXMFMAIN}, - \item [texmf-dist] -- correspond à \envname{TEXMFDIST}, - \item [texmf-doc] -- correspond à \envname{TEXMFDOC}, - \item [texmf-var] -- correspond à \envname{TEXMFSYSVAR}, - \item [texmf-config] -- correspond à \envname{TEXMFSYSCONFIG}, - \end{ttdescription} - \item [texmf-local] -- correspond à \envname{TEXMFLOCAL}, normalement - commun à plusieurs distributions \TL{} (2007, 2008, etc.), - \end{ttdescription} - \item[répertoire personnel de l'utilisateur] \texttt{\$HOME} ou - \texttt{\%USERPROFILE\%} : - \begin{ttdescription} - \item[.texlive2007] -- fichiers générés automatiquement par la - distribution \TL{} précédente, - \item[.texlive2008] -- fichiers générés automatiquement par la - distribution \TL{} actuelle, - \begin{ttdescription} - \item [texmf-var] -- correspond à \envname{TEXMFVAR}, - \item [texmf-config] -- correspond à \envname{TEXMFCONFIG}, - \end{ttdescription} - \item[texmf] -- correspond à \envname{TEXMFHOME}, répertoire regroupant - tous les répertoires de macros personnelles : \dirname{texmf/tex/latex} - par exemple pour les fichiers de macros LaTeX, etc. - \end{ttdescription} -\end{description} - -\subsection{Les extensions de \TeX} -\label{sec:tex-extensions} - -\TL{} contient, à part \TeX{} lui-même (le programme \prog{tex}) qui est figé -sauf rares corrections de bogues, plusieurs extensions de \TeX{}. - -\begin{description} - -\item [\eTeX{}] \label{text:etex} ajoute un jeu de nouvelles - primitives et les extensions \TeXXeT{} pour l'écriture de droite - à gauche ; \eTeX{} est, en mode normal, 100\% compatible avec - \TeX{} standard. Pour plus de détails consulter le - fichier \OnCD{texmf-dist/doc/etex/base/etex_man.pdf} du \DVD{}. - -\item [pdf\TeX{}] inclut les extensions \eTeX{} et produit, au choix, - des fichiers au format Acrobat \acro{PDF} ou au format \dvi{}. - C'est le moteur de base sur lequel sont construits tous les formats autres - que plain\TeX{} (voir \url{http://www.pdftex.org/}). - Le manuel d'utilisation se trouve sur le \DVD{} - dans \OnCD{texmf/doc/pdftex/manual/}. Le fichier - \OnCD{texmf/doc/pdftex/pdftex/manual/samplepdf/samplepdf.tex} - donne des exemples d'utilisation. - -\item [Lua\TeX] est le successeur de pdf\TeX{} - avec lequel il reste compatible. Il devrait également remplacer Aleph, voir - ci-dessous. Lua\TeX{} fait appel à l'interpréteur de commande Lua (voir - \url{http://www.lua.org/}) qui apporte des solutions élégantes - à beaucoup de problèmes épineux en \TeX{} pur. - La commande \filename{texlua}, qui fonctionne comme un interpréteur Lua - indépendant, est déjà utilisée en tant que telle dans \TL. - Voir \url{http://www.luatex.org/} et - \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. - -\item [Xe\TeX] ajoute la possibilité d'utiliser en entrée le codage Unicode - et en sortie les fontes OpenType et les fontes système de la machine, ceci - grâce à des bibliothèques externes : voir \url{http://scripts.sil.org/xetex}. - -\item [\OMEGA{} (Omega)] fonctionne en utilisant Unicode et des - caractères 16 bits, ce qui lui permet de travailler directement et - simultanément avec presque toutes les écritures du monde. - L'extension supporte aussi le chargement dynamique d'\acro{OTP} - (\OMEGA{} \emph{Translation Processes}) qui permet à l'utilisateur - d'appliquer sur des flux d'entrée quelconques des transformations - complexes qu'il aura lui-même définies. Voir la documentation - (pas vraiment à jour) dans \OnCD{texmf-dist/doc/omega/base/doc-1.8.tex}. - -\item [Aleph] combine les fonctionnalités de \OMEGA\ et de \eTeX. - \OnCD{texmf-dist/doc/aleph/base} contient une documentation de base. - -\end{description} - -% Fin MAJ 15/07/2008 -\subsection{Quelques autres programmes intéressants - dans \TL} - -Voici quelques autres programmes couramment utilisés et présents dans -\TL{} : - -\begin{cmddescription} - -\item [bibtex] -- traitement de la bibliographie. - -\item [makeindex] -- traitement des index. - -\item [dvips] -- conversion \dvi{} vers \PS{}. - -\item [xdvi] -- visualisation \dvi{} pour le système X Window. - -\item [dvilj] -- pilote \dvi{} pour les imprimantes HP LaserJet. - -\item [dv2dt, dt2dv] -- conversion \dvi{} vers ou depuis du texte simple. - -\item [dviconcat, dviselect] -- couper/Coller de pages à partir de fichiers - \dvi{}. - -\item [dvipdfmx] -- conversion \dvi{} vers \acro{PDF}, une autre façon de - produire des fichiers \acro{PDF}, concurrente de pdf\TeX\ mentionné - ci-dessus ; voir aussi les extensions \pkgname{ps4pdf} et - \pkgname{pdftricks} pour d'autres alternatives. - -\item [psselect, psnup, \ldots] -- utilitaires \PS{}. - -\item [lacheck] -- vérification de syntaxe \LaTeX{}. - -\item [texexec, texmfstart] -- processeurs Con\TeX{}t et \acro{PDF}. - -\item [tex4ht] -- conversion \TeX{} vers \acro{HTML} et \acro{XML}. - -\end{cmddescription} - -\subsection{Fontes incluses dans \TL} -\label{sec:tl-fonts} - -La distribution \TL{} contient un grand nombre de fontes vectorielles de haute -qualité : voir \url{http://tug.org/fonts} et -\OnCD{texmf-doc/english/free-math-fonts-survey}. - - -\section{Installation} -\label{sec:install} - -\subsection{Démarrage de l'installation} -\label{sec:inst_start} - -La première chose à faire est de récupérer le \DVD{} \TK ou de -télécharger le programme d'installation par le réseau. -Le programme d'installation s'appelle \filename{install-tl} pour Unix -et \filename{install-tl.bat} pour Windows. - -\begin{description} -\item [Installeur réseau] -- à télécharger sur CTAN dans - \dirname{systems/texlive/tlnet}; l'url - \url{http://mirror.ctan.org/systems/texlive/tlnet} vous redirigera - automatiquement vers le serveur d'archive le plus proche de chez vous. - Deux versions sont disponibles, \filename{install-tl.zip} utilisable sous - Unix et sous Windows et \filename{install-unx.tar.gz} pour Unix seulement - (y compris \MacOSX). Après décompression de l'un de ces deux fichiers, les - scripts \filename{install-tl} et \filename{install-tl.bat} se trouveront - dans le sous-répertoire \dirname{install-tl}. - -\item [\DVD \TK{}] -- aller dans le répertoire \dirname{texlive}. - Sous Windows, l'installation démarrera probablement - automatiquement quand vous insérerez le \DVD, sinon, il faudra lancer le - script d'installation \filename{install-tl} ou \filename{install-tl.bat}. - Le \DVD \TK{} est distribué gratuitement aux membres des groupes - d'utilisateurs de \TeX{} (Gutenberg par exemple en France, voir la liste - des groupes sur \url{http://tug.org/usergroups.html}). Il est également - possible de l'acheter séparément (\url{http://tug.org/store}) ou de graver - l'image \ISO{} (\url{http://tug.org/texlive/acquire.html}). -\end{description} -Les sections suivantes détaillent le processus d'installation. - - -\begin{figure}[tb] -\centering -\begin{boxedverbatim} -======================> TeX Live installation procedure <===================== - -=======> Note: Letters/digits in indicate menu items <======= -=======> for commands or configurable options <======= - - - Detected platform: Intel x86 with GNU/Linux - - binary systems: 1 out of 16 - - Installation scheme (scheme-full) - - Customizing installation scheme: - standard collections - language collections - 83 collections out of 84, disk space required: 1666 MB - - directories: - TEXDIR (the main TeX directory): - !! default location: /usr/local/texlive/2008 - !! is not writable, please select a different one! - TEXMFLOCAL (directory for site-wide local files): - /usr/local/texlive/texmf-local - TEXMFSYSVAR (directory for variable and automatically generated data): - /usr/local/texlive/2008/texmf-var - TEXMFSYSCONFIG (directory for local config): - /usr/local/texlive/2008/texmf-config - TEXMFHOME (directory for user-specific files): - ~/texmf - - options: - [ ] use letter size instead of A4 by default - [X] create all format files - [X] install macro/font doc tree - [X] install macro/font source tree - [ ] create symlinks in standard directories - - Install for running from DVD - -Other actions: - start installation to HD - help - quit - -Enter command: -\end{boxedverbatim} -\caption{Écran principal de configuration (\GNU/Linux)}\label{fig:text-main} -\end{figure} - -\begin{figure}[tb] -\centering -\tlpng{install-w32-main}{\linewidth} -\caption{Écran principal de configuration (Windows)}\label{fig:gui-main} -\end{figure} - -\subsubsection{Installation sous Unix} - -Dans ce qui suit l'invite du \textit{shell} est notée \texttt{>} ; les -commandes de l'utilisateur sont en \Ucom{\texttt{gras}}.\linebreak -Commandes à lancer dans un terminal sur tout système Unix pour travailler en -mode texte : -\begin{alltt} -> \Ucom{cd /chemin/de/installeur} -> \Ucom{perl install-tl} -\end{alltt} - -Pour travailler en mode graphique : -\begin{alltt} -> \Ucom{cd /chemin/de/installeur} -> \Ucom{./install-tl -gui} -\end{alltt} - -La liste complète des options est donnée par -\begin{alltt} -> \Ucom{perl install-tl -help} -\end{alltt} - -\textbf{Attention} : le matériel installé doit normalement être accessible à -tous les utilisateurs de la machine ; si celui qui installe n'est pas -\textit{root}, il devra s'assurer que son \code{umask} est adapté, par -exemple \code{umask 022} ou \code{umask 002}. -Consulter la documentation système pour plus de précisions. - -\subsubsection{Installation sous Mac\,OS\,X} - -Une distribution spécifique, Mac\TeX\ (\url{http://tug.org/mactex}), a été -mise au point pour \MacOSX. Nous recommandons de l'utiliser plutôt que -d'installer la distribution \TL{} en suivant la procédure indiquée pour Unix. - -En effet, Mac\TeX{} permet des ajustements spécifiques pour le système -\MacOSX{} et facilite la cohabitation entre plusieurs distributions \TeX{} -(Mac\TeX, gw\TeX, Fink, MacPorts, \ldots). - -Mac\TeX\ est très proche de \TL, les arborescences principales sont en tous -points identiques, quelques répertoires contenant de la documentation et des -applications spécifiques au Mac sont ajoutés. - -\subsubsection{Installation sous Windows} - -Si vous utilisez l'installeur réseau ou si l'insertion du \DVD{} ne lance pas -l'installation automatiquement, double-cliquez sur \filename{install-tl.bat}. - -Il est également possible de travailler en ligne de commande ; -dans ce qui suit l'invite du \textit{shell} est notée \texttt{>}, les -commandes de l'utilisateur sont notées \Ucom{\texttt{en gras}}. Voici les -commandes à lancer : -\begin{alltt} -> \Ucom{install-tl} -\end{alltt} -à condition d'être dans répertoire du script d'installation, sinon -\begin{alltt} -> \Ucom{D:\bs{}texlive\bs{}install-tl} -\end{alltt} -où \texttt{D:} désigne le lecteur de \DVD. - -Pour travailler en mode texte : -\begin{alltt} -> \Ucom{install-tl -no-gui} -\end{alltt} -La liste complète des options est donnée par -\begin{alltt} -> \Ucom{install-tl -help} -\end{alltt} - -\subsubsection{Installation en mode texte} - -La figure~\ref{fig:text-main} page~\pageref{fig:text-main} présente l'écran -principal de configuration en mode texte sous Unix/Linux. - -Taper une des lettres proposées (en respectant la casse) suivie de -« Entrée » (retour-chariot), l'écran se mettra automatiquement à jour. - -L'interface est volontairement rudimentaire afin de permettre son utilisation -sur le plus grand nombre possible de systèmes même avec des versions très -dépouillées de Perl (un sous-ensemble de commande Perl est fourni pour Windows). - -\subsubsection{Installation en mode graphique} - -La figure~\ref{fig:gui-main} page~\pageref{fig:gui-main} présente l'écran -principal de configuration en mode graphique sous Windows. Les différences -entre les options disponibles en mode texte et en mode graphique s'expliquent -par le changement de système (\GNU/Linux pour le premier, Windows pour le -second). - -\subsection{Choix des options d'installation} -\label{sec:runinstall} - -Les options proposées sont censées être assez explicites, voici cependant -quelques précisions. - -\subsubsection{Choix des binaires (Unix seulement)} -\label{sec:binary} - -\begin{figure}[tbh] -\centering -\begin{boxedverbatim} -Available sets of binaries: -=============================================================================== - - a [ ] alpha-linux DEC Alpha with GNU/Linux - b [ ] amd64-freebsd x86_64 with FreeBSD - c [ ] hppa-hpux HP-UX - d [ ] i386-freebsd Intel x86 with FreeBSD - e [X] i386-linux Intel x86 with GNU/Linux - f [ ] i386-openbsd Intel x86 with OpenBSD - g [ ] i386-solaris Intel x86 with Sun Solaris - h [ ] mips-irix SGI IRIX - i [ ] powerpc-aix PowerPC with AIX - j [ ] powerpc-linux PowerPC with GNU/Linux - k [ ] sparc-linux Sparc with GNU/Linux - l [ ] sparc-solaris Sparc with Solaris - m [ ] universal-darwin universal binaries for MacOSX/Darwin - o [ ] win32 Windows - p [ ] x86_64-linux x86_64 with GNU/Linux -\end{boxedverbatim} -\caption{Menu pour le choix des binaires}\label{fig:bin-text} -\end{figure} - -La figure~\ref{fig:bin-text} présente les choix de binaires possibles en mode -texte. Seuls les binaires correspondant à l'architecture détectée seront -installés par défaut. Rien n'empêche d'en sélectionner d'autres si nécessaire, -ce qui peut être intéressant dans le cas de serveurs en réseau ou sur des -machines en « double boot ». - -\subsubsection{Choix des composants de l'installation} -\label{sec:components} - -\begin{figure}[tbh] -\centering -\begin{boxedverbatim} -Select a scheme: -=============================================================================== - - a [ ] TeX Live basic scheme - b [ ] TeX Live scheme for ConTeXt - c [X] TeX Live full scheme - d [ ] GUST TeX Live scheme - e [ ] GUTenberg TeX Live scheme - f [ ] TeX Live medium scheme - g [ ] TeX Live minimal scheme - h [ ] TeX Live for Omega users - i [ ] teTeX scheme - j [ ] XML typesetting scheme -\end{boxedverbatim} -\caption{Menu « Scheme »}\label{fig:scheme-text} -\end{figure} - -Dans le menu « Scheme » (voir figure~\ref{fig:scheme-text}) on choisit -un schéma général de configuration qui détermine un ensemble de collections à -installer. Par défaut, on procède à l'installation de tout ce qui est -disponible (option \optname{scheme-full}). Des installations plus ou moins -complètes sont proposées : \optname{minimal} pour effectuer des tests -uniquement, \optname{basic} pour un système de base, \optname{medium} ou -\optname{teTeX} pour des systèmes intermédiaires. -Pour les francophones, l'option \optname{GUTenberg} est une bonne base de -départ. Le choix pourra être affiné à l'étape suivante. - -\begin{figure}[tbh] -\centering -\tlpng{stdcoll}{.7\linewidth} -\caption{Menu « Collections » (Linux)}\label{fig:collections-gui} -\end{figure} - -Une fois choisi le schéma général, il est possible de d'ajouter ou de -supprimer des composants, appelés -ici collections. Il y a deux types de collections : les -« Standard Collections » qui concernent les fontes, les extensions, les -formats, etc. (voir figure~\ref{fig:collections-gui}) et les -« Language Collections » qui permettent de préciser la liste des langues -qui seront utilisables sur le système (indispensable !). Attention, si vous -travaillez en mode texte, dans ces menus la casse des lettres est importante. -En mode graphique, il suffit de cocher ou de décocher les cases en cliquant. - -Il est possible de raffiner encore les choix mais il faudra alors utiliser -le programme \prog{tlmgr} ultérieurement, voir la section~\ref{sec:tlmgr}. - -\subsubsection{Répertoires d'installation} -\label{sec:directories} - -La racine de l'installation principale est donnée par \dirname{TEXDIR} qui -vaut par défaut \dirname{/usr/local/texlive/2008} sous Unix et -|%PROGRAMFILES%\texlive\2008| sous Windows. -La liste des sous-répertoires de \dirname{TEXDIR} choisis par défaut est -donnée à la section~\ref{sec:texmftrees}, page~\pageref{sec:texmftrees}. - -Il peut être nécessaire de changer la valeur de \dirname{TEXDIR} -lorsque celui qui procède à l'installation n'a pas les droits d'écriture -sur le répertoire \dirname{TEXDIR} (l'installation n'est pas réservée au -super-utilisateur « root » ou « Administrateur »). -Il est possible d'installer \TL{} dans le répertoire personnel d'un -utilisateur, dans ce cas on peut choisir par exemple |~/texlive/2008|. - -Dans tous les cas, il est recommandé d'inclure l'année dans le chemin afin de -pouvoir conserver plusieurs versions de \TL{} en parallèle. -Rien n'empêche d'ajouter un lien symbolique (par exemple -\dirname{/usr/local/texlive-current}) qui pointe sur la version actuellement -utilisée. Ceci facilite les basculements d'une version à une autre. - -Le répertoire \envname{TEXMFHOME} (|~/texmf| par défaut) est destiné à -regrouper les répertoires de macros personnelles. Le caractère |~| désignant -le répertoire personnel est traité différemment, selon qu'il est utilisé dans -\dirname{TEXDIR} --~il s'agit alors du répertoire de \emph{l'installateur}~-- -ou dans \envname{TEXMFHOME}, là |~| est traité dynamiquement utilisateur par -utilisateur est vaut \envname{\$HOME} %$ -sous Unix et |%USERPROFILE%| sous Windows. - -\subsubsection{Options} -\label{sec:options} - -\begin{figure}[tbh] -\centering -\begin{boxedverbatim} -

use letter size instead of A4 by default: [ ] - create all format files: [X] - install font/macro doc tree: [X] - install font/macro source tree: [X] - create symlinks in standard directories: [ ] - binaries to: - manpages to: - info to: -\end{boxedverbatim} -\caption{menu « Options » (Unix)}\label{fig:options-text} -\end{figure} - -La figure~\ref{fig:options-text} présente le menu « Options » en mode -texte. Normalement il n'y a pas lieu de modifier les choix par défaut. -Voici quelques précisions cependant. - -\begin{description} -\item[use letter size instead of A4 by default] -- la taille du papier pour - l'impression est A4, il est possible de la changer ici, en \textit{letter} - par exemple. - -\item[create all format files] -- création de tous les formats à l'installation. - Bien que cette opération prenne un peu de temps, il est conseillé de ne pas - la supprimer, sinon les formats seront créés au coup par coup dans les - répertoires personnels des utilisateurs (sous \envname{TEXMFVAR}). Les - formats personnels ainsi créés ne bénéficieront pas des mises à jour - éventuelles effectuées ultérieurement sur l'installation \TL{}, ce qui - peut engendrer des incompatibilités. - -\item[create symlinks in standard directories] (Unix seulement) -- - cette option permet d'éviter de modifier les variables d'environnement - \envname{PATH}, \envname{MANPATH} et \envname{INFOPATH}. En revanche, - elle peut perturber une installation \TeX{} incluse dans votre distribution - (Debian, RedHat, etc.). La modification des trois variables d'environnement - ci-dessus est préférable. -\end{description} - -Lorsque vous êtes satisfait des réglages faits, il vous reste à taper -\code{I} pour lancer le processus d'installation. Lorsque celui-ci sera -terminé, sautez à la section~\ref{sec:postinstall} pour voir s'il y a -d'autres choses à faire. - -\subsubsection{Utilisation de \TL{} à partir du DVD{} (mode texte uniquement)} -\label{sec:fromdvd} - -Taper `|V|' pour choisir ce mode de fonctionnement, le menu qui s'affiche -alors est présenté figure~\ref{fig:main-fromdvd}. -\begin{figure}[tbh] -\centering -\begin{boxedverbatim} -======================> TeX Live installation procedure <===================== - -=======> Note: Letters/digits in indicate menu items <======= -=======> for commands or configurable options <======= - - directories: - TEXDIRW (Writable root): - !! default location: /usr/local/texlive/2008 - !! is not writable, please select a different one! - TEXMFLOCAL (directory for site-wide local files): - /usr/local/texlive/texmf-local - TEXMFSYSVAR (directory for variable and automatically generated data): - /usr/local/texlive/2008/texmf-var - TEXMFSYSCONFIG (directory for local config): - /usr/local/texlive/2008/texmf-config - TEXMFHOME (directory for user-specific files): - ~/texmf - - options: - [ ] use letter size instead of A4 by default - [X] create all format files - - set up for installing to hard disk - -Other actions: - start installation for running from DVD - help - quit -\end{boxedverbatim} -\caption{Menu principal après choix de l'option « \optname{running from DVD} »}% -\label{fig:main-fromdvd} -\end{figure} -Noter les changements : toutes les options concernant le choix du matériel à -installer, les liens symboliques, ont disparu. Le menu « Directories » -parle maintenant de \dirname{TEXDIRW} (racine accessible en écriture). - -L'exécution de \TL{} à partir du \DVD{} nécessite la création de quelques -répertoires mais un minimum de fichiers sont installés sur le disque dur. - -La configuration après installation pour Unix est un peu plus complexe, voir -section~\ref{sec:postinstall}. - -Faute de temps, cette option n'a pu être intégrée à l'interface graphique. -Elle reste utilisable en mode texte y compris sous Windows, voir -section~\ref{sec:cmdline}. - -La section \ref{sec:portable-unix} décrit une autre façon d'utiliser \TL{} à -partir du \DVD{}. Elle ne nécessite aucune modification du système mais ne -permet aucune personnalisation. - -\subsection{Options en ligne de commande} -\label{sec:cmdline} - -Taper -\begin{alltt} -> \Ucom{install-tl -help} -\end{alltt} -pour obtenir la liste de toutes les options disponibles. -Voici les principales : - -\begin{ttdescription} -\item[-gui] -- exécution en mode graphique (si possible). Ceci nécessite le - module Perl/Tk (\url{http://tug.org/texlive/distro.html#perltk}) ; si - Perl/Tk n'est pas disponible, l'installation se poursuit en mode texte. -\item[-no-gui] -- exécution en mode texte, même sous Windows ; - ceci est utile pour exécuter \TL{} à partir du \DVD{} (option non disponible - en mode graphique). -\item[-lang {\sl LL}] -- impose la langue utilisée dans les menus lors de - l'installation. Le code de langue comporte deux lettres. Sont actuellement - disponibles les langues suivantes : : anglais (\texttt{en}, langue par - défaut), allemand (\texttt{de}), français (\texttt{fr}), néerlandais - (\texttt{nl}), polonais (\texttt{pl}), Slovène (\texttt{sl}) et vietnamien - (\texttt{vi}). Le programme s'efforce de déterminer automatiquement - la langue à utiliser et se rabat sur l'anglais en cas d'échec. -\item[-profile {\sl profile}] -- à chaque exécution, le script d'installation - écrit un compte-rendu dans le fichier - \filename{texlive.profile} du répertoire \dirname{2008/tlpkg} ou - \dirname{tlpkg}. L'option \texttt{-profile} demande au script de réutiliser - le fichier \filename{texlive.profile}. En voici un extrait : - \begin{fverbatim} -# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC -# It will NOT be updated and reflects only the -# installation profile at installation time. -selected_scheme scheme-basic -TEXDIR /usr/local/texlive/2008 -TEXDIRW /usr/local/texlive/2008 -... -TEXMFSYSVAR /usr/local/texlive/2008/texmf-var -collection-basic 1 -... -option_symlinks 0 - \end{fverbatim} - Il est ainsi facile de reproduire un même scéma d'installation sur plusieurs - machines. -\item [-location {\slshape url/path}] -- choix d'une source où récupérer le - matériel à installer. \label{item:location} - -L'argument de l'option \texttt{{\slshape url/path}} peut être une url -commençant par \texttt{ftp:}, \texttt{http:}, ou \texttt{file:/} ou bien un -chemin local. - -Si l'argument correspond à un chemin local (ou une url de type -\texttt{file:/}), le script recherche un sous-répertoire -\dirname{archive} contenant des fichiers compressés \filename{.tar.lzma}, -ceux-ci seront utilisés en priorité. - -Si l'argument est une url distante (\texttt{http:} ou \texttt{ftp:}) -le `\texttt{/}' final ainsi que la chaîne `\texttt{/tlpkg}' sont ignorés. -Par exemple, le choix du miroir \CTAN{} -\url{http://mirrors.ircam.fr/pub/CTAN/systems/texlive/tlnet/2008/} -est valide. La liste des miroirs \CTAN{} est ici : -\url{http://ctan.org/mirrors}. - -Lorsqu'aucune option \texttt{-location} n'est spécifiée, le script -d'installation choisit un miroir automatiquement, celui-ci servira -pour tout le téléchargement. -\end{ttdescription} - -\subsection{Terminer l'installation} -\label{sec:postinstall} - -Selon les cas quelques opérations supplémentaires peuvent être nécessaires. - -\subsubsection{Windows} - -Sous Windows, le programme d'installation s'occupe de tout (normalement). - -\subsubsection{Cas où des liens symboliques sont créés} - -Si vous avez opté pour l'option créant des liens symboliques (voir -section~\ref{sec:options}), il n'est pas nécessaire d'ajuster les variables -d'environnement. - -\subsubsection{Variables d'environnement Unix} -\label{sec:env} - -Le chemin des binaires correspondant à votre machine doit être ajouté à la -variable \envname{PATH}. À chaque architecture correspond un sous-répertoire -de \dirname{TEXDIR/bin}, voir la liste à la figure~\ref{fig:bin-text} -\pageref{fig:bin-text}. - -Si vous voulez que votre système trouve les fichiers de documentation -concernant \TL{}, il faut également ajuster les variables \envname{MANPATH} -et \envname{INFOPATH}. - -Pour les \textit{shells} dits « Bourne-compatible » tels que -\prog{bash} sous GNU/Linux, le fichier à éditer peut être -\filename{$HOME/.bash\_profile} ou \filename{$HOME/.profile} et les lignes à -ajouter sont de la forme suivante : - -\begin{sverbatim} -PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH; export PATH -MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH -INFOPATH=/usr/local/texlive/2008/texmf/doc/info:$INFOPATH; export INFOPATH -\end{sverbatim} - -Pour les \textit{shells} \prog{csh} ou \prog{tcsh}, le fichier à éditer -est en principe \filename{$HOME/.cshrc} %$ -et les lignes à ajouter sont de la forme suivante : -\begin{sverbatim} -setenv PATH /usr/local/texlive/2008/bin/i386-linux:$PATH -setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH -setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH -\end{sverbatim} - -%$ - -\subsubsection{Variables d'environnement : configuration multi-utilisateur} -\label{sec:envglobal} - -Il est possible d'ajuster les variables \envname{PATH}, \envname{MANPATH} -et \envname{INFOPATH} globalement pour tous les utilisateurs présents et -futurs sans avoir à éditer les fichiers personnels de chacun mais les façons -de le faire sont trop différentes d'un système à l'autre pour être présentées -ici. - -Voici quelques pistes : pour \envname{MANPATH} chercher un fichier -\filename{/etc/manpath.config}, s'il est présent lui ajouter -des lignes du genre -\begin{sverbatim} -MANPATH_MAP /usr/local/texlive/2008/bin/i386-linux \ - /usr/local/texlive/2008/texmf/doc/man -\end{sverbatim} -Pour les deux autres, chercher un fichier\filename{/etc/environment}, il est -éventuellement possible d'y définir les valeurs des variables d'environnement -telles que \envname{PATH} et \envname{INFOPATH}. - -\subsubsection{Exécution à partir du DVD} - -Les programmes de \TL{} consultent le fichier \filename{texmf.cnf} pour savoir -dans quelles arborescences se trouvent les fichiers dont ils ont besoin. -Malheureusement, ceci ne fonctionne pas lorsque les programmes sont lancés à -partir d'un \DVD{} ; en effet certains chemins ne sont connus qu'à -l'installation et ne peuvent être inscrits sur le \DVD{} puisqu'il est -accessible uniquement en lecture. Il faut donc créer un fichier -\filename{texmf.cnf} sur le disque et préciser où il se trouve grâce à la -variable d'environnement \envname{TEXMFCNF}. Ceci ne dispense pas de -modifier la variable d'environnement \envname{PATH} comme indiqué ci-dessus. - -Le script d'installation affiche en fin de traitement, un message indiquant la -valeur à donner à la variable \envname{TEXMFCNF}. Si ce message vous a -échappé, cette valeur est \dirname{$TEXMFSYSVAR/web2c}, %$ -qui vaut par défaut \dirname{/usr/local/texlive/2008/texmf-var/web2c}. - -Voici les lignes à taper dans ce cas : -\begin{sverbatim} -TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF -\end{sverbatim} -ou pour [t]csh: -\begin{sverbatim} -setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c -\end{sverbatim} - -\subsubsection{\ConTeXt{} Mark IV} - -L'ancien \ConTeXt{} devrait fonctionner sans problème. La nouvelle version, -appelée « Mark IV » demande un peu de configuration spécifique, voir -\url{http://wiki.contextgarden.net/Running_Mark_IV}. - -\subsubsection{Ajout de fichiers locaux ou personnels} - -Comme cela a déjà été indiqué à la section~\ref{sec:texmftrees}, -\envname{TEXMFLOCAL} (par défaut \dirname{/usr/local/texlive/texmf-local} ou -\verb|C:\Program Files\texlive\texmf-local|) est la racine de -l'arborescence prévue pour regrouper les fichiers de macros, les fontes et le -matériel utilisable par l'ensemble des utilisateurs du système. -D'autre part \envname{TEXMFHOME} (par défaut \dirname{$HOME/texmf} %$ -(ou |%USERPROFILE%\texmf|) regroupe le matériel personnel de chaque -utilisateur. - -Dans les deux cas, les fichiers ajoutés doivent être placés, non pas en vrac à -la racine de \envname{TEXMFLOCAL} ou \envname{TEXMFHOME} mais dans des -sous-répertoires bien choisis (voir \url{http://tug.org/tds} ou lire le -fichier \filename{texmf.cnf}). Par exemple, une classe ou une extension -\LaTeX{} ne sera trouvée que si elle est dans \dirname{TEXMFLOCAL/tex/latex} ou -\dirname{TEXMFHOME/tex/latex} ou dans un sous-répertoire de ceux-ci. - -Enfin, si les ajouts ont été faits sous \envname{TEXMFLOCAL}, il y a lieu de -régénérer les bases de données \filename{ls-R} (commande \cmdname{mktexlsr} -ou bouton « Reinit file database » du programme \prog{tlmgr} -en mode graphique). - -L'emplacement des répertoires \envname{TEXMFLOCAL} et \envname{TEXMFHOME} est -fixe (il ne change pas d'une version à l'autre de \TL{}). Leur contenu est -pris en compte par toutes les versions de \TL{} aussi est-il préférable de ne -pas changer la valeur des variables \envname{TEXMFLOCAL} et \envname{TEXMFHOME} -à l'installation. - - -\subsubsection{Ajout de fontes externes à \TL{}} - -Cette question est malheureusement trop complexe pour être abordée ici. -Renoncez-y sauf si connaissez bien les arcanes d'une installation \TeX. -Vérifiez en premier lieu ce qui existe déjà en libre : voir la -section~\ref{sec:tl-fonts}. - -Une alternative possible est d'utiliser \XeTeX (voir -section~\ref{sec:tex-extensions}) qui permet l'accès aux fontes disponibles -sur le système sans aucune installation supplémentaire. - - -\subsection{Tester l'installation} -\label{sec:test-install} - -Une fois l'installation de \TL{} terminée, il faut la tester avant de créer -des documents ou des fontes. Les tests doivent être faits par un utilisateur -non privilégié (autre que \textit{root}). - -On donne ici quelques procédures de base pour vérifier que le nouveau -système est opérationnel. On les décrit pour Unix ; pour \MacOSX{} ou -Windows, il vaut mieux tester au travers d'une interface graphique -mais les principes sont les mêmes. - -\begin{enumerate} - -\item S'assurer en premier lieu que le programme \cmdname{tex} fonctionne : - -\begin{alltt} -> \Ucom{tex -{}-version} -TeX 3.1415926 (Web2C 7.5.7) -kpathsea version 3.5.7 -... -\end{alltt} - -Si la réponse est \texttt{command not found} ou si le numéro de version est -différent, il est fort probable que vous n'avez pas le bon répertoire -de binaires dans votre \envname{PATH}. -Voir les informations sur l'environnement page~\pageref{sec:env}. - -\item Traiter un fichier \LaTeX{} simple : - -\begin{alltt} -> \Ucom{latex sample2e.tex} -This is pdfeTeXk, Version 3.1415926... -... -Output written on sample2e.dvi (3 pages, 7484 bytes). -Transcript written on sample2e.log. -\end{alltt} -Si le fichier \filename{sample2e.tex} ou d'autres ne sont pas trouvés, -il y a probablement des interférences avec vos anciennes variables -d'environnement ou fichiers de configuration. Pour analyser en détail -votre problème, vous pouvez demander à \TeX{} de dire exactement ce -qu'il cherche et trouve ; voir la section~\ref{sec:debugging} -page~\pageref{sec:debugging}. - -\item Prévisualiser les résultats en ligne : -\begin{alltt} -> \Ucom{xdvi sample2e.dvi} -\end{alltt} -Sous Windows, la commande équivalente est \cmdname{dviout}. -Une nouvelle fenêtre doit s'ouvrir et montrer un joli document expliquant les -bases de \LaTeX{} (document dont la lecture attentive est recommandée si vous -êtes débutant !). -Vous devez travailler sous X pour que \cmdname{xdvi} fonctionne. Sinon, votre -variable d'environnement \envname{DISPLAY} n'est pas correcte et vous -aurez une erreur \samp{Can't open display}. - -\item Créer un fichier \PS{} pour l'imprimer ou l'afficher : - -\begin{alltt} -> \Ucom{dvips sample2e.dvi -o sample2e.ps} -\end{alltt} - -\item Créer un fichier \acro{PDF} au lieu de \dvi{} ; -cet exemple traite le fichier \filename{sample2e.tex} et crée directement -du \acro{PDF} : - -\begin{alltt} -> \Ucom{pdflatex sample2e.tex} -\end{alltt} - -\item Prévisualiser le fichier \acro{PDF} : - -\begin{alltt} -> \Ucom{gv sample2e.pdf} -\textrm{ou} -> \Ucom{xpdf sample2e.pdf} -\end{alltt} - -Hélas, ni \cmdname{gv} ni \cmdname{xpdf} ne sont actuellement inclus dans -\TL{}, aussi devez-vous les installer séparément si ce n'est déjà fait. -Voir respectivement -\url{http://www.gnu.org/software/gv} et -\url{http://www.foolabs.com/xpdf} (il y a bien d'autres lecteurs de -fichiers \acro{PDF}). - -\item Autres fichiers de tests utiles en plus de \filename{sample2e.tex} : - -\begin{ttdescription} - -\item [small2e.tex] à compiler avant \filename{sample2e} si celui-ci pose des - problèmes. - -\item [testpage.tex] teste que l'imprimante n'introduit pas de décalages. - -\item [nfssfont.tex] imprime des tables des fontes et des tests. -\item [testfont.tex] aussi pour les tables de fontes mais en (plain)\TeX. -\item [story.tex] le fichier de test de (plain)\TeX{} le plus canonique -de tous. Il faut taper \samp{\bs bye} à la commande \code{*} après -\samp{tex story.tex}. - -\end{ttdescription} -Pour exécuter ces tests procéder comme pour \filename{sample2e.tex}. - -\end{enumerate} - -Si vous êtes débutant ou si vous avez besoin d'aide pour réaliser des -documents \TeX{} ou \LaTeX{}, n'hésitez pas à consulter -\url{http://tug.org/begin.html}. -On vous recommande également l'introduction à \LaTeX{} de Tobias Oetiker -dans sa version anglaise (la version française n'est plus à jour) -disponible après installation sous -\url{texmf-doc/doc/english/lshort-english/lshort.pdf}. - -\section{Utilisation de \TL{} en réseau} -\label{sec:netinstall} - -\TL{} a été conçu comme un système multi-utilisateurs capable de fonctionner -en réseau. Un même serveur peut proposer la distribution \TL{} à différentes -machines, éventuellement d'architectures différentes, il suffit que le serveur -possède les répertoires de binaires adéquats. - -La seule chose à faire par chaque utilisateur local ou distant est d'ajouter -le chemin des exécutables correspondant à son architecture dans son -\envname{PATH}% -\footnote{Plus précisément \emph{en tête} du \envname{PATH} s'il y a d'autres - binaires \TeX{} en concurrence.}. - -Ceci fonctionne parce que les répertoires de recherche des fichiers utilisés -par \TL{} (\envname{TEXMFMAIN}, \envname{TEXMFDIST}, \envname{TEXMFSYSVAR}, -\envname{TEXMFSYSCONFIG} et \envname{TEXMFLOCAL} sont définis -\emph{relativement aux exécutables} lors de l'installation (voir dans le fichier -\filename{TEXMFMAIN/web2c/texmf.cnf} le rôle de la variable -\envname{\$SELFAUTOPARENT}). %$ - -Cette disposition permet aussi de faire une installation sur une machine et -de la déplacer après coup sur un serveur, la seule chose à changer est le -contenu de la variable \envname{PATH}. - -Ce qui précède vaut pour les utilisateurs d'Unix. -Pour ceux qui sont sous Windows, le répertoire -\dirname{texmf-doc/source/texlive/texlive-common/w32client} -contient un exemple de script \filename{install-w32client} qui permet -de partager une installation \TL{} à travers un réseau local. Il se lance -par l'intermédiaire du fichier « batch » -\filename{install-w32client.bat} qui se trouve dans le même répertoire. - -De plus amples informations sur la configuration de \TL{} et sur la recherche -de fichiers sont disponibles à la section~\ref{sec:kpathsea}. - -\section{\TL{} sur une machine hôte (DVD ou USB)} -\label{sec:portable-unix} - -L'utilisation de \TL{} à partir du \DVD{} décrite à la -section~\ref{sec:fromdvd} impose la création de quelques répertoires sur le -disque dur, ce qui n'est pas gênant sur une machine personnelle. En revanche, -lorsqu'on travaille sur une machine hôte, il est préférable de limiter les -ajouts et modifications à faire sur le disque dur. - -Les scripts \filename{tl-portable} (pour Unix) et \filename{tl-portable.bat} -pour Windows, présents à la racine de \TL{} (ou dans le répertoire -\dirname{texlive} du \DVD \TK) facilitent l'utilisation de \TL{} sur des -machines hôtes. Lors de leur première exécution, ces scripts créent un -répertoire \dirname{~/.tlportable2008} contenant divers fichiers de -configuration qui permettront l'accès à la distribution \TL{} du \DVD. -Ceci peut prendre un peu de temps mais lors des exécutions -suivantes le démarrage est presque immédiat. Rien n'est modifié sur la machine -en dehors du répertoire \dirname{~/.tlportable2008}. - -Pour qu'un éditeur prenne en compte la distribution \TL{} du \DVD, il suffit -de le lancer par l'intermédiaire du script \filename{tl-portable}. - -Le script \filename{tl-portable} est utile aussi pour créer une distribution -\TL{} sur une clé \acro{USB}. Pour ce faire, copier sur la clé les fichiers -et les répertoires situés à la racine de \TL{} (au moins \dirname{bin}, -\dirname{texmf}, \dirname{texmf-dist} et \dirname{tlpkg}). Si la clé est -formatée en \acro{FAT32}, attention aux liens symboliques (utiliser \code{cp - -L} pour copier). Il est possible d'ajouter un répertoire -\dirname{texmf-local} sur la clé, il sera pris en compte à l'exécution. Il -reste à lancer le script \filename{tl-portable} à la racine de la clé comme -ci-dessus ; celle-ci étant accessible en écriture, lors des exécutions de \TL{} -tous les fichiers seront créés sur elle et rien ne sera écrit sur le -disque dur. - -\section{Maintenance de l'installation avec \cmdname{tlmgr}} -\label{sec:tlmgr} - -\begin{figure}[tb] -\centering -\tlpng{tlmgr-gui}{\linewidth} -\caption{\prog{tlmgr} en mode graphique (après clic sur le bouton « Load »).}% -\label{fig:tlmgr-gui} -\end{figure} - -\begin{figure}[tb] -\centering -\tlpng{tlmgr-config}{\linewidth} -\caption{\texttt{tlmgr} en mode graphique, onglet « configuration »}% -\label{fig:tlmgr-config} -\end{figure} - -Un nouveau programme appelé \prog{tlmgr} est installé avec la -distribution \TL. Il fournit une interface conviviale pour la -maintenance de la distribution. Les programmes \prog{updmap}, -\prog{fmtutil} et \prog{texconfig} ont été conservés et le seront à -l'avenir bien que \prog{tlmgr} soit appelé à devenir l'interface -standard de configuration. -\prog{tlmgr} permet en particulier -\begin{itemize} -\item de voir la liste de toutes les collections et extensions - disponibles, avec la mention \texttt{(i)} pour celles qui sont installées ; -\item d'installer, de mettre à jour ou de désinstaller tel ou tel composant, - en respectant les dépendances (sauf si l'utilisateur le refuse) ; -\item de rechercher des extensions ; -\item de voir la liste des binaires disponibles et d'en installer ; -\item de modifier la configuration (taille du papier, choix du - répertoire source pour le téléchargement voir option \texttt{-location} - page~\pageref{item:location}, etc.). -\end{itemize} -\textit{Attention :} \prog{tlmgr} ne doit pas être utilisé lorsque \TL{} est -exécuté à partir du \DVD{} (sans installation sur le disque dur). - -\subsection{\cmdname{tlmgr} en mode graphique} - -\prog{tlmgr} est lancé en mode graphique par la commande -\begin{alltt} -> \Ucom{tlmgr -gui} -\end{alltt} -ou sous Windows dans le menu « Démarrer » : \texttt{Démarrer} $\rightarrow$ -\texttt{Programmes} $\rightarrow$ \texttt{TeX Live 2008} $\rightarrow$ -\texttt{TeX Live Manager}. - -La première chose à faire est de cliquer sur le bouton « Load% -\footnote{Dans la description qui suit, le nom des boutons est celui de la - version anglaise par souci de cohérence avec les figures. L'affichage se - fait normalement dans la langue de l'utilisateur (variable \envname{LANG} - sous Unix).} » ce qui affiche la liste des collections, extensions, etc. ; -le préfixe \texttt{(i)} indique celles qui sont déjà installées. - -La figure~\ref{fig:tlmgr-config} présente l'onglet « configuration ». - -\subsection{Exemples d'utilisation de \cmdname{tlmgr} - en ligne de commande} - -Premier exemple : ajout de la collection « xetex » et de l'extension « xkeyval » -qui devront être téléchargées à partir d'un site spécifié. La commande - -\begin{alltt} -> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} -\end{alltt} -retourne -\begin{fverbatim} -install: collection-xetex -install: arabxetex -install: euenc -install: bidi -install: fontspec -install: fontwrap -install: ifxetex -install: philokalia -install: polyglossia -install: xecyr -install: xecyr.i386-linux -install: xepersian -install: xetex -install: xetexconfig -install: xetex.i386-linux -running post install action for xetex -install: xetex-def -install: xetex-pstricks -install: xetexfontinfo -install: xltxtra -install: xunicode -install: xkeyval -running mktexlsr -mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... -mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... -mktexlsr: Done. -regenerating fmtutil.cnf -running fmtutil-sys --missing -... -Transcript written on xelatex.log. -fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. -\end{fverbatim} -Le programme \prog{tlmgr} prend en compte les dépendances et effectue -automatiquement toutes les opérations nécessaires comme la mise à jour des -bases de données et la génération de formats (ici un nouveau format a été créé -pour \XeTeX). - -Deuxième exemple : ajout d'une langue de travail (néerlandais) ; ceci provoque -la régénération de plusieurs formats. -\begin{alltt} -> \Ucom{tlmgr install collection-langdutch} -\end{alltt} - -La demande de description de l'extension « collection-wintools » -\begin{alltt} -> \Ucom{tlmgr show collection-wintools} -\end{alltt} -retourne -\begin{fverbatim} -Package: collection-wintools -Category: Collection -ShortDesc: Windows support programs -LongDesc: Utilities for Windows, since they are not readily available there: - gzip, chktex, jpeg2ps, unzip, wget, xpdf. -Installed: Yes -\end{fverbatim} - -Mise à jour complète de l'installation avec les dernières versions disponibles : -\begin{alltt} -> \Ucom{tlmgr update -all} -\end{alltt} -ou juste pour voir ce qui se passerait en cas de mise à jour complète : -\begin{alltt} -> \Ucom{tlmgr update -all -dry-run} -\end{alltt} -ou bien -\begin{alltt} -> \Ucom{tlmgr update -list} -\end{alltt} - -Documentation complète de \prog{tlmgr} : -\begin{alltt} -> \Ucom{tlmgr -help} -\end{alltt} - -\section{Spécificités Windows} -\label{sec:windows} - -Le nouveau programme d'installation de \TL{} est conçu pour -fonctionner aussi bien sous Unix que sous Windows. Ceci nous a -obligés à nous limiter à Windows 2000 et à ses successeurs (XP, Vista), -au détriment des anciennes versions (9\textit{x}, ME et NT). - -\subsection{Installation} -\label{sec:winfeatures} - -Sous Windows le programme d'installation effectue quelques tâches -supplémentaires : -\begin{description} -\item[Menus et raccourcis] -- un sous-menu «\TL{}» est ajouté au menu - « Démarrer », il contient des entrées pour les programmes \prog{tlmgr}, - \prog{texdoctk}, PS\_View et pour de la documentation. - Une icône PS\_View est ajoutée sur le bureau, il suffit d'y déposer un - fichier PostScript pour provoquer son affichage. -\item[Variables d'environnement] -- leurs valeurs sont préremplies - automatiquement sans intervention de l'utilisateur. -\item[Désinstallation] -- une entrée est ajoutée pour \TL{} dans le menu - « Ajout et suppression de programmes ». -\end{description} - -\subsection{Programmes supplémentaires} - -\begin{figure}[tb] -\centering -\tlpng{psview}{.6\linewidth} -\caption{PS\_View: de très forts grossissements sont possibles !}% -\label{fig:psview} -\end{figure} - -L'installation de \TL{} ajoute quelques utilitaires non fournis en standard -avec Windows : -\begin{description} -\item[Perl et Ghostscript] -- \TL{} installe des copies « cachées » de ces - programmes : ce sont des versions spécifiques adaptées à \TL{}, elles - sont invisibles hors de \TL{} et n'interfèrent donc en aucune façon avec - d'autres versions éventuellement présentes sur la machine. -\item[Outils en ligne de commande] -- des versions pour Windows de programmes - Unix sont installées, en particulier \cmdname{gzip}, \cmdname{chktex}, - \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} et quelques utilitaires - de la suite \cmdname{xpdf} (\cmdname{xpdf} lui-même n'est pas disponible - sous Windows mais le visualiseur \acro{PDF} Sumatra en est dérivé, voir - \url{http://blog.kowalczyk.info/software/sumatrapdf}). -\item[\texttt{fc-cache}] -- facilite l'accès aux fontes système pour \XeTeX. -\item[PS\_View] -- nouveau visualiseur PostScript sous licence libre, - voir figure~\ref{fig:psview}. -\item[Répertoire \texttt{support}] -- ce répertoire, déjà mentionné à la - section~\ref{sec:tld}, contient divers programmes éventuellement utiles - comme des éditeurs adaptés aux fichiers \TeX{} ou le visualiseur Dviout - présenté à la section suivante. Ces programmes ne sont - pas installés automatiquement par la commande \prog{install-tl}. -\end{description} - -\subsection{Visualiseur Dviout} - -Cette année, la distribution \TL{} ne contient malheureusement pas de -visualiseur \dvi{} pour Windows. Le programme \prog{dviout} de -Toshio Oshima est disponible dans le répertoire \path{support/dviout/}, il est -accompagné d'un fichier \filename{README} (à lire attentivement) décrivant -l'installation et la configuration de \prog{dviout} pour \TL. - -Lors des premières exécutions de \cmdname{dviout}, de nombreuses fontes sont -créées à la volée pour l'écran utilisé. Ceci prend un peu de temps mais se -produit de plus en plus rarement au fur et à mesure des utilisations. -Une bonne aide en ligne est disponible. - -\subsection{Téléchargement de logiciels supplémentaires} - -Voici quelques liens vers des sites proposant des outils intéressants : -\begin{description} -\item[Ghostscript] -- \url{http://www.cs.wisc.edu/~ghost/} ; -\item[Perl] -- \url{http://www.activestate.com/} et \acro{CPAN} - \url{http://www.cpan.org/} ; -\item[ImageMagick] -- \url{http://www.imagemagick.com} pour l'affichage et la - conversion d'images ; -\item[NetPBM] -- \url{http://netpbm.sourceforge.net/} un concurrent du - précédent ; -\item[Éditeurs orientés \TeX] -- le choix est large, en voici une sélection : - \begin{itemize} -% \item \cmdname{GNU Emacs} disponible sous Windows, see -% \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} ; - \item \cmdname{Emacs} avec Auc\TeX\ pour Windows disponible dans le - répertoire \path{support} de \TL{} ; le site de référence est - \url{http://www.gnu.org/software/auctex} ; - \item \cmdname{WinShell} disponible également dans le répertoire - \path{support} ; le site de référence est \url{http://www.winshell.de} ; - \item \cmdname{WinEdt} est un \textit{shareware}, voir - \url{http://www.winedt.com} ; - \item TeXnicCenter est libre, il est disponible sur - \url{http://www.toolscenter.org} et dans la distribution \ProTeXt{} ; - \item \cmdname{Vim} est libre, voir \url{http://www.vim.org} ; - \item \cmdname{LEd} voir \url{http://www.ctan.org/support/LEd} ; - \item \cmdname{SciTE} voir - \url{http://www.scintilla.org/SciTE.html}. - \end{itemize} -\end{description} - - -\subsection{Répertoire personnel} -\label{sec:winhome} - -L'équivalent du répertoire personnel noté \envname{\$HOME} sous -Unix s'appelle \verb|%USERPROFILE%| sous Windows. % -Cette variable vaut en général -\verb|C:\Documents and Settings\| sous Windows XP et 2000 -et \verb|C:\Utilisateurs\| sous Vista. -La notation \verb|~|, utilisée dans \filename{texmf.cnf} et dans \KPS{} en -général pour désigner un répertoire personnel, est correctement interprétée -sous Windows comme sous Unix. - - -\subsection{Base de registre Windows} -\label{sec:registry} - -% (df) Je ne vois pas bien l'utilité de cette section... - -Windows stocke pratiquement tous les paramètres de configuration dans sa base -de registres. Celle-ci contient un ensemble de clés organisées par niveau. -Les clés les plus importantes pour l'installation de programmes sont -\path{HKEY_CURRENT_USER} et \path{HKEY_LOCAL_MACHINE}, \path{HKCU} et -\path{HKLM} en abrégé. La partie \path{HKCU} de la base de registres -se trouve dans le répertoire personnel de l'utilisateur (voir -section~\ref{sec:winhome}). La partie \path{HKLM} est normalement dans un -sous-répertoire du répertoire Windows. - -Certaines informations système peuvent s'obtenir à partir des variables -d'environnement mais pour d'autres, la localisation des raccourcis par -exemple, la consultation de la base de registre est indispensable. -La modification des variables d'environnement nécessite l'accès à la base de -registre. - - -\subsection{Droits d'accès sous Windows} -\label{sec:winpermissions} - -Dans les versions récentes de Windows, la distinction est faite entre -« utilisateurs » et « administrateurs », ces derniers ayant accès en écriture -à la totalité du système. En pratique on devrait plutôt parler d'utilisateurs -« non privilégiés » et d'utilisateurs « normaux » car être « administrateur » -est la règle et non l'exception. - -Nous nous sommes efforcés de rendre l'installation de \TL{} possible aux -utilisateurs non privilégiés. - -Si celui qui fait l'installation est « administrateur », les raccourcis -et les entrées des menus sont créés pour tous les utilisateurs ; -sinon, seul celui qui a fait l'installation aura accès à ces éléments. -L'option \optname{non-admin} du programme \prog{install-tl} permet à un -« administrateur » de faire une installation comme utilisateur non privilégié. - -Dans tous les cas, le répertoire proposé comme racine de l'installation est -\verb|%PROGRAMFILES%|. % -Le programme \prog{install-tl} vérifie si le répertoire choisi comme racine -est accessible en écriture pour celui qui procède à l'installation. - -Lorsqu'une installation \TeX{} est présente sur la machine, l'installation -de \TL{} par un utilisateur non privilégié est problématique : -cet utilisateur n'aura jamais accès aux exécutables \TL{} car la recherche -s'effectue d'abord dans les répertoires système, puis dans les répertoires de -l'utilisateur. Une parade sommaire a été prévue : les raccourcis intègrent -dans ce cas le chemin complet des exécutables qu'ils représentent. La -distribution \TL{} est ainsi utilisable en ligne de commande à partir de ces -raccourcis. - - -\section{Guide d'utilisation du système Web2C} - -\Webc{} est une collection intégrée de programmes relatifs à \TeX, -c.-à-d. \TeX{} lui-même, \MF{}, \MP, \BibTeX{}, etc. -C'est le cÅ“ur de \TL{}. Le site de référence est \url{http://tug.org/web2c}. - -Un peu d'histoire : la première implémentation a été réalisée par Tomas -Rokicki qui, en 1987, a développé un premier système \TeX{}-to-C en adaptant -les \textit{change files} pour Unix (travail de Howard Trickey et Pavel Curtis -principalement). Tim Morgan assura la maintenance du système, dont le nom fut -remplacé durant cette période par Web-to-C. En 1990, Karl Berry reprit le -travail, assisté par des dizaines de contributeurs et en 1997 il passa le -relais à Olaf Weber qui le rendit à Karl en 2006. - -Le système \Webc{} fonctionne sur Unix, sur les systèmes Windows 32 bits, -sur \MacOSX{} et sur de nombreux autres systèmes d'exploitation. Il utilise les -sources originales de Knuth pour \TeX{} et les autres programmes de base -écrits en \web{} (système de programmation documentée) qui sont tous traduits -en langage C. Les composants du noyau de \TeX{} issus de ce processus sont : - -\begin{description} -\item[bibtex] -- gère les bibliographies. -\item[dmp] -- \cmdname{troff} vers MPX (dessins \MP{}). -\item[dvicopy] -- copie le fichier \dvi{} en supprimant les fontes virtuelles. -\item[dvitomp] -- convertit le fichier \dvi{} en MPX (dessins \MP{}). -\item[dvitype] -- convertit le fichier \dvi{} en un texte lisible. -\item[gftodvi] -- visualisation de fontes génériques GF. -\item[gftopk] -- convertit les fontes génériques GF en fontes bitmap PK. -\item[gftype] -- convertit le fichier GF en un texte lisible. -\item[makempx] -- typographie des étiquettes \MP{}. -\item[mf] -- création de fontes. -\item[mft] -- mise en page de code source \MF{}. -\item[mpost] -- création de diagrammes techniques. -\item[mpto] -- extraction d'étiquettes \MP{}. -\item[newer] -- comparaison de dates de modification (fichiers). -\item[patgen] -- création de motifs de césure. -\item[pktogf] -- convertit les fontes bitmap PK en fontes génériques GF. -\item[pktype] -- convertit les fontes PK en un texte lisible. -\item[pltotf] -- convertit les fichiers PL (lisibles) en TFM. -\item[pooltype] -- affiche les fichiers \web{} pool. -\item[tangle] -- \web{} vers Pascal. -\item[tex] -- composition de textes. -\item[tftopl] -- convertit les fichiers TFM en PL (lisibles). -\item[vftovp] -- convertit les fontes virtuelles VF en VPL (lisibles). -\item[vptovf] -- convertit les fontes VPL en fontes virtuelles VF. -\item[weave] -- \web{} vers \TeX. -\end{description} - -La syntaxe et les fonctions précises de ces programmes sont décrites dans -la documentation des composants individuels et dans le manuel \Webc{} -lui-même. Toutefois, connaître un certain nombre de principes régissant -l'ensemble de la famille de programmes peut aider à exploiter de façon -optimale votre installation \Webc{}. - - Presque tous ces programmes suivent les options standard de \GNU : -\begin{description} - \item[\texttt{-{}-help}] imprime le sommaire de l'utilisation, - \item[\texttt{-{}-verbose}] imprime le rapport détaillé du processus, - \item[\texttt{-{}-version}] imprime seulement le numéro de version. -\end{description} - -Pour localiser les fichiers, les programmes \Webc{} utilisent la bibliothèque -de recherche \KPS{} (\url{http://tug.org/kpathsea}). Cette bibliothèque -utilise une combinaison de variables d'environnement et un certain nombre de -fichiers de paramètres pour optimiser la recherche dans l'énorme arborescence -\TeX{}. \Webc{} peut exécuter une recherche dans plusieurs arborescences -simultanément, ce qui est utile si l'on souhaite maintenir la distribution -standard de \TeX{} et les extensions locales dans deux arborescences -distinctes. Afin d'accélérer la recherche de fichiers, la racine de chaque -arborescence possède un fichier \file{ls-R} contenant une entrée donnant le -nom et le chemin de chaque fichier situé sous la racine. - -\subsection{Kpathsea et la recherche de fichiers} -\label{sec:kpathsea} - -Décrivons en premier lieu le mécanisme de recherche de la bibliothèque \KPS{}. - -Nous appelons \emph{chemin de recherche} une liste, séparée par -« deux-points» ou « point-virgule», d'éléments, appelés -\emph{éléments de chemin}, qui sont des noms de répertoires. -Un chemin de recherche peut provenir de plusieurs sources. -Pour rechercher un fichier \samp{my-file} le long -d'un chemin \samp{.:/dir}, \KPS{} vérifie chaque élément du chemin : -d'abord \filename{./my-file}, puis \filename{/dir/my-file} et renvoie la -première occurrence (voire toutes). - -Afin d'optimiser l'adaptation à tous les systèmes d'exploitation, \KPS{} peut -utiliser dans les noms de fichiers des séparateurs différents de deux-points -(\samp{:}) et barre oblique (\samp{/}) pour les systèmes non-Unix. - -Pour vérifier un élément de chemin particulier \var{p}, \KPS{} -vérifie d'abord si une base de données existante (voir -page~\pageref{sec:filename-database}) contient \var{p}, -c.-à-d. si la base de données se trouve dans un -répertoire qui est un préfixe de \var{p}. Si oui, la spécification -du chemin est comparée avec le contenu de la base de données. - -Si la base de données n'existe pas, si elle ne s'applique pas à cet élément de -chemin ou si elle ne contient aucune correspondance, la recherche est lancée -sur tout le système de fichiers (si cela n'a pas été interdit par une commande -commençant par \samp{!!} et si le fichier cherché est censé exister). \KPS{} -construit la liste de répertoires qui correspondent à cet élément de chemin, -puis cherche le fichier dans chaque élément de cette liste. - -La condition « le fichier est censé exister » est liée aux fichiers~\samp{.vf} -et aux fichiers d'entrée lus par la commande \TeX\ \cs{openin}. De tels -fichiers peuvent ne pas exister (par exemple \file{cmr10.vf}), il est donc -inutile de les rechercher sur le disque. De plus, si vous n'actualisez pas le -fichier \file{ls-R} lors de l'installation d'un nouveau fichier \samp{.vf}, il -ne sera jamais trouvé. Chaque élément de chemin est alors vérifié : d'abord -dans la base de données puis sur le disque. Si une occurrence est trouvée, la -recherche s'arrête et le résultat est obtenu. - -Bien que l'élément de chemin le plus simple et le plus fréquent soit un nom de -répertoire, \KPS{} supporte d'autres types d'éléments dans les chemins de -recherche : des valeurs par défaut différentes pour chaque programme, des noms -de variables d'environnement, des valeurs de fichiers de configuration, les -répertoires de l'utilisateur et la recherche récursive de -sous-répertoires. Nous disons alors que \KPS{} \emph{étend} un élément, -c'est-à-dire que \KPS{} transforme toutes ces spécifications en noms de -répertoires de base. Cette opération est décrite dans les sections suivantes. - -Notons que si le nom de fichier cherché est absolu ou explicitement -relatif, c'est-à-dire commençant par \samp{/}, \samp{./} ou -\samp{../}, \KPS{} ne vérifie que l'existence de ce fichier. -\ifSingleColumn -\else -\begin{figure*} -\centering -\verbatiminput{examples/ex5.tex} -\setlength{\abovecaptionskip}{0pt} - \caption{Un exemple de fichier de configuration} - \label{fig:config-sample} -\end{figure*} -\fi - -\subsubsection{Les différentes sources} -\label{sec:path-sources} - -Un chemin de recherche peut provenir de plusieurs sources. Voici l'ordre -dans lequel \KPS\ les utilise. - -\begin{enumerate} -\item Une variable d'environnement définie par l'utilisateur, par exemple - \envname{TEXINPUTS}. Les variables d'environnement avec une extension - attachée (nom de programme) sont d'abord prises en compte : par exemple, si - \samp{latex} est le nom du programme exécuté, \envname{TEXINPUTS.latex} - passera avant \envname{TEXINPUTS}. -\item Un fichier de configuration de programme spécifique, par exemple une - ligne « \texttt{S /a:/b} » dans le fichier \file{config.ps} de - \cmdname{dvips}. -\item Un fichier de configuration \file{texmf.cnf} de \KPS{} contenant une - ligne telle que \\ \samp{TEXINPUTS=/c:/d} (voir ci-dessous). -\item La valeur par défaut obtenue à la compilation. -\end{enumerate} -\noindent On peut voir chacune de ces valeurs pour un chemin de recherche -donné en utilisant l'option de débogage (voir page~\pageref{sec:debugging}). - -\subsubsection{Fichiers de configuration} - -\begingroup\tolerance=3500 -\KPS{} lit dans les \emph{fichiers de configuration à - l'exécution} appelés \file{texmf.cnf} les chemins de recherche et -d'autres définitions. Le chemin pour accéder à ces fichiers dans -l'arborescence est stocké dans la variable \envname{TEXMFCNF} -(par défaut ces -fichiers se trouvent dans le sous-répertoire \file{texmf/web2c}). -\emph{Tous} les fichiers \file{texmf.cnf} se trouvant dans le chemin -de recherche vont être lus et les définitions provenant -de fichiers précédents écraseront celles des fichiers suivants. Par -exemple, avec un chemin tel que \verb|.:$TEXMF|, les définitions du -fichier \filename{./texmf.cnf} écrasent celles de -\verb|$TEXMF/texmf.cnf|. -\endgroup - -\begin{itemize} -\item Les commentaires sont signalés par un \texttt{\%} et se terminent à la - fin de la ligne. -\item Les lignes vides sont ignorées. -\item Un \bs{} à la fin d'une ligne joue le rôle d'un lien entre deux lignes, - c'est-à-dire que la ligne courante se poursuit à la ligne suivante. Dans ce - cas, les espaces présents au début de la ligne suivante ne sont pas ignorés. -\item Toutes les autres lignes sont de la forme : -\begin{alltt} - \emph{variable}[.\emph{progname}] [=] \emph{value} -\end{alltt}% - où le \samp{=} et les espaces autour sont optionnels. -\item Le nom de la \ttvar{variable} peut contenir n'importe quel caractère - autre que les espaces, \samp{=}, ou \samp{.} mais on recommande d'utiliser - \samp{A-Za-z\_} pour éviter les problèmes. -\item Si \samp{.\var{progname}} est présent, sa définition s'applique - seulement si le programme exécuté se nomme \texttt{\var{progname}} ou - \texttt{\var{progname}.exe}. Ceci permet par exemple à différentes variantes - de \TeX{} d'avoir des chemins de recherche différents. -\item \var{value} peut contenir n'importe quel caractère excepté \code{\%} et - \samp{@}. L'option \code{\$\var{var}.\var{prog}} n'est pas disponible à - droite du signe \samp{=} ; à la place, on doit utiliser une variable - supplémentaire. Un \samp{;}\ dans \var{value} est compris comme un \samp{:}\ - si on travaille sous Unix ; ceci est très utile et permet d'avoir un seul - \file{texmf.cnf} pour les systèmes Unix, \acro{MS-DOS} et Windows. -\item Toutes les définitions sont lues avant tout désarchivage ou - décompactage, de telle façon que les variables peuvent être référencées - avant d'être définies. -\end{itemize} -Voici un fichier de configuration illustrant les points précédents -\ifSingleColumn - -%\verbatiminput{examples/ex5.tex} % trop petit (df) -\begin{verbatim} -TEXMF = {$TEXMFLOCAL,!!$TEXMFMAIN} -TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic;}// -TEXINPUTS.fontinst = .;$TEXMF/tex//;$TEXMF/fonts/afm// -% e-TeX related files -TEXINPUTS.elatex = .;$TEXMF/{etex,tex}/{latex,generic;}// -TEXINPUTS.etex = .;$TEXMF/{etex,tex}/{eplain,plain,generic;}// -\end{verbatim} - -\else -dans la figure~\ref{fig:config-sample}. -\fi - -\subsubsection{Expansion d'un chemin de recherche} -\label{sec:path-expansion} - -\KPS{} reconnaît certains caractères et constructions spéciales dans -les chemins de recherche, semblables à ceux disponibles dans les -\textit{shells} Unix. Ainsi, le chemin complexe, -\verb+~$USER/{foo,bar}//baz+ %$ -étend la recherche vers tous les sous-répertoires situés sous les -répertoires \file{foo} et \file{bar} dans le répertoire utilisateur -\texttt{\$USER} contenant un répertoire ou un fichier appelé %$ -\file{baz}. Ces expansions sont explicitées dans les sections -suivantes. - -\subsubsection{Expansion par défaut} -\label{sec:default-expansion} - -\tolerance=2500 -Si le chemin de recherche le plus prioritaire (voir -section~\ref{sec:path-sources}) contient un \samp{:} -\emph{supplémentaire} (c.-à-d. en début ou fin de ligne ou -double), \KPS{} insère à cet endroit le chemin suivant dont la -priorité définie est immédiatement inférieure. Si ce chemin inséré -possède un \samp{:} supplémentaire, le même processus se -répète pour le chemin prioritaire suivant. -Par exemple, étant donné une variable d'environnement définie ainsi - -\tolerance=1500 - -\begin{alltt} -> \Ucom{setenv TEXINPUTS /home/karl:} -\end{alltt} -la valeur de \code{TEXINPUTS} d'après le fichier \file{texmf.cnf} étant - -\begin{alltt} - .:\$TEXMF//tex -\end{alltt} -alors la valeur finale utilisée pour la recherche sera - -\begin{alltt} - /home/karl:.:\$TEXMF//tex -\end{alltt} - -Comme il est inutile d'insérer la valeur par défaut en plusieurs -endroits, \KPS{} applique la substitution à seulement un \samp{:} -supplémentaire et laisse les autres inchangés : il cherche d'abord un -\samp{:} en début de ligne, puis en fin de ligne et enfin un double -\samp{:}. - -\subsubsection{Expansion spécifiée par les accolades} - -Option utile, l'expansion par le biais des accolades -signifie, par exemple, que \verb+v{a,b}w+ va permettre la recherche -dans \verb+vaw:vbw+. Les définitions emboîtées sont autorisées. Ceci -peut être utilisé pour établir des hiérarchies \TeX{} multiples en -attribuant une liste entre accolades à \code{\$TEXMF}. Par exemple, -dans \file{texmf.cnf}, on trouve une définition du type suivant -(il y a en fait plus de répertoires) : -\begin{verbatim} - TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFSYSVAR,!!$TEXMFMAIN} -\end{verbatim} -Avec ceci, on peut écrire quelque chose comme -\begin{verbatim} - TEXINPUTS = .;$TEXMF/tex// -\end{verbatim} -%$ -ce qui signifie que, après avoir cherché dans le répertoire courant, les -arborescences complètes \code{\$TEXMFHOME/tex} suivie de -\code{\$TEXMFLOCAL/tex} (sur le disque) et ensuite les arborescences -\code{!!\$TEXMFVAR/tex} et \code{!!\$TEXMFMAIN/tex} -(définies dans le fichier de référence \file{ls-R} \emph{seulement}) seront -inspectées. C'est un moyen pratique permettant d'utiliser en parallèle deux -distributions \TeX{}, une « figée » (sur un \CD, par exemple) et une -autre régulièrement mise à jour avec de nouvelles versions quand elles -deviennent disponibles. En utilisant la variable \code{\$TEXMF} dans toutes -les définitions, on est toujours sûr d'inspecter d'abord l'arborescence la -plus récente. - -\subsubsection{Expansion des sous-répertoires} -\label{sec:subdirectory-expansion} - -Deux barres \samp{//} ou plus consécutives dans une partie d'un chemin suivant -un répertoire \var{d} sont remplacées par tous les sous-répertoires de -\var{d} : d'abord les sous-répertoires directement présents dans -\var{d}, ensuite les sous-répertoires de ceux-ci et ainsi de suite. À -chaque niveau, l'ordre dans lequel les répertoires sont inspectés est -\emph{non-déterminé}. - -Dans le cas où l'on spécifie une partie de nom de fichier après le -\samp{//}, seuls sont inclus les sous-répertoires auxquels le nom -correspond. Par exemple, \samp{/a//b} va correspondre aux répertoires -\file{/a/1/b}, \file{/a/2/b}, \file{/a/1/1/b} et ainsi de suite, -mais pas à \file{/a/b/c} ni \file{/a/1}. - -Des \samp{//} multiples et successifs dans un chemin sont possibles, -mais \samp{//} au début d'un chemin est ignoré. - -\subsubsection{Liste des caractères spéciaux et de leur signification : - récapitulatif} - -La liste suivante récapitule la signification des caractères spéciaux -dans les fichiers de configuration de \KPS{}. - -\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} - -\begin{ttdescription} - -\item[\CODE{:}] Séparateur dans un chemin de recherche ; au début - ou à la fin d'un chemin, il remplace le chemin par défaut. - -\item[\CODE{;}] Séparateur dans les systèmes non-Unix - (joue le rôle de \code{:}). - -\item[\CODE{\$}] Substitue le contenu d'une variable. - -\item[\CODE{\string~}] Représente le répertoire racine de - l'utilisateur. - -\item[\CODE{\char`\{...\char`\}}] Expansion par les accolades, - par exemple \verb+a{1,2}b+ devient \verb+a1b:a2b+. - -\item[\CODE{//}] La recherche concernera aussi les sous-répertoires - (peut être inséré n'importe où dans un chemin sauf au début). - -\item[\CODE{\%}] Début d'un commentaire. - -\item[\CODE{\bs}] Caractère de continuation de ligne (permet les - entrées sur plusieurs lignes). - -\item[\CODE{!!}] Cherche \emph{seulement} dans la base de - données pour localiser le fichier et \emph{ne cherche pas} sur le disque. - -\end{ttdescription} - -\subsection{Les bases de données} -\label{sec:filename-database} - -\KPS{} a une certaine profondeur d'investigation pour minimiser les -accès disque durant les recherches. Néanmoins, dans le cas de -distributions comprenant beaucoup de répertoires, inspecter chaque -répertoire possible pour un fichier donné peut durer excessivement -longtemps (ceci est typiquement le cas quand plusieurs centaines de -répertoires de polices de caractères doivent être parcourus). En -conséquence, \KPS{} peut utiliser un fichier texte appelé \file{ls-R} --- en -fait une base de données construite au préalable --- qui fait correspondre -les fichiers à leur répertoire, ce qui permet d'éviter une recherche -exhaustive sur le disque. - -Un deuxième fichier appelé \file{aliases} (qui est également une base de -données) permet de donner des noms différents aux fichiers listés dans -\mbox{\file{ls-R}}. Ceci peut aider à adapter ses fichiers source aux -conventions de \acro{DOS}~8.3 pour les noms de fichiers. - -\subsubsection{Le fichier base de données} -\label{sec:ls-R} - -Comme nous l'avons expliqué ci-dessus, le nom du principal fichier-base de -données doit être \mbox{\file{ls-R}}. -Dans votre installation, vous pouvez en mettre un à la racine de chaque -arborescence \TeX{} que vous désirez voir -inspecter (\code{\$TEXMF} par défaut) ; la plupart des sites ont -une seule arborescence \TeX{}. \KPS{} cherche les fichiers \file{ls-R} -dans le chemin spécifié dans la variable \code{TEXMFDBS}. - -La meilleure façon de créer et mettre à jour le fichier \file{ls-R} -est d'exécuter le script \cmdname{mktexlsr} inclus dans la -distribution. Il est appelé par les divers scripts \cmdname{mktex}\dots\ -En principe, ce script exécute uniquement la commande -%cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R| -% Remplacé (df) car \path|...| plante à cause de \let\path\url. -\begin{alltt} -cd \var{/your/texmf/root} && \boi{}ls -1LAR ./ >ls-R -\end{alltt} -en supposant que la commande \code{ls} de votre système produise le bon -format de sortie (le \code{ls} de \GNU convient -parfaitement). Pour s'assurer que la base de données est toujours à -jour, le meilleur moyen est de la reconstruire en utilisant la table -des \code{cron}, de telle façon que le fichier \file{ls-R} prenne -automatiquement en compte les changements dans les fichiers -installés, par exemple après une installation ou une -mise à jour d'un composant \LaTeX{}. - -Si un fichier n'est pas trouvé dans la base de données, par défaut -\KPS{} décide de le chercher sur le disque. Par contre, si un élément du -chemin commence par \samp{!!}, \emph{seule} la base de données -sera inspectée pour cet élément, jamais le disque. - -\subsubsection{kpsewhich : programme de recherche dans une arborescence} -\label{sec:invoking-kpsewhich} - -Le programme \texttt{kpsewhich} effectue une recherche dans une -arborescence indépendamment de toute application. On peut le -considérer comme une sorte de \code{find} pour localiser des fichiers -dans les arborescences \TeX{} (ceci est largement utilisé dans les -scripts \cmdname{mktex}\dots\ de la distribution). - -\begin{alltt} -> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} -\end{alltt} -Les options spécifiées dans \ttvar{option} peuvent -commencer soit par \samp{-} soit par \samp{-{}-} ; n'importe quelle -abréviation claire est acceptée. - -\KPS{} considère tout argument non optionnel dans la ligne de commande -comme un nom de fichier et renvoie la première occurrence trouvée. Il -n'y a pas d'option pour renvoyer tous les fichiers ayant un nom -particulier (vous pouvez utiliser le \cmdname{find} d'Unix pour cela). - -Les options les plus importantes sont décrites ci-après. - -\begin{ttdescription} -\item[\texttt{-{}-dpi=\var{num}}]\mbox{} \\ - Définit la résolution à \ttvar{num} ; ceci affecte - seulement la recherche des fichiers \samp{gf} et \samp{pk}. \samp{-D} est un - synonyme pour assurer la compatibilité avec \cmdname{dvips}. Le défaut - est 600. -\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ - Définit le format pour la recherche à \ttvar{name}. - Par défaut, le format est estimé en fonction du nom de fichier. - Pour les formats qui n'ont pas de suffixe clair associé, comme les - fichiers de support \MP{} et les fichiers de configuration - \cmdname{dvips}, vous devez spécifier le nom connu de \KPS, comme - \texttt{tex} ou \texttt{enc files}. Exécutez la commande - \texttt{kpsewhich -{}-help} pour obtenir la liste précise. - -\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ - Définit le nom du mode comme étant \ttvar{string} ; -ceci affecte seulement la recherche des \samp{gf} et des \samp{pk}. -Pas d'option par défaut, n'importe quel mode sera trouvé. -\item[\texttt{-{}-must-exist}]\mbox{}\\ - Fait tout ce qui est possible pour trouver les fichiers, ce qui -inclut une recherche sur le disque. Par défaut, seule la base de -données \file{ls-R} est inspectée, dans un souci d'efficacité. -\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ - Recherche dans le chemin \ttvar{string} (séparé par -deux-points comme d'habitude), au lieu de prendre le chemin à partir -du nom de fichier. \samp{//} et toutes les expansions habituelles sont -supportées. - Les options \samp{-{}-path} et \samp{-{}-format} s'excluent mutuellement. -\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ - Définit le nom de programme comme étant \ttvar{name}. - Ceci peut affecter les chemins de recherche via l'option - \texttt{.\var{progname}} dans les fichiers de configuration. - Le défaut est \cmdname{kpsewhich}. -\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ - Montre le chemin utilisé pour la recherche des fichiers de type -\ttvar{name}. - On peut utiliser soit une extension de fichier (\code{.pk}, \code{.vf}, - etc.), soit un nom de fichier, comme avec l'option \samp{-{}-format}. -\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ - Définit les options de débogage comme étant - \ttvar{num}. -\end{ttdescription} - -\subsubsection{Exemples d'utilisation} -\label{sec:examples-of-use} - -Jetons un coup d'Å“il à \KPS{} en action ; voici une recherche -toute simple : - -\begin{alltt} -> \Ucom{kpsewhich article.cls} -/usr/local/texmf-dist/tex/latex/base/article.cls -\end{alltt} -Nous recherchons le fichier \file{article.cls}. Puisque le suffixe -\file{.cls} est non-ambigu, nous n'avons pas besoin de spécifier que -nous voulons rechercher un fichier de type \optname{tex} (répertoires des -fichiers sources de \TeX{}). Nous le trouvons dans le sous-répertoire -\filename{tex/latex/base} du répertoire racine \samp{TEXMF}. De même, - le suffixe non-ambigu permet de trouver facilement les autres fichiers. -\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} - -Le dernier exemple est une base de données bibliographiques pour \BibTeX{} -servant aux articles de \textsl{TUGBoat}. - -\begin{alltt} -> \Ucom{kpsewhich cmr10.pk} -\end{alltt} -Les fichiers de glyphes de fontes bitmaps, de type -\file{.pk}, sont -utilisés pour l'affichage par des programmes comme \cmdname{dvips} et -\cmdname{xdvi}. Rien n'est renvoyé dans ce cas puisque il n'y a pas -de fichiers Computer Modern \file{.pk} pré-créés sur nos systèmes -(nous utilisons les versions type~1 du \TL{}). -\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} -Pour ces fontes (alphabet phonétique de l'université Washington), -nous avons dû créer les fichiers \file{.pk} et, puisque le mode \MF{} par -défaut sur notre installation est \texttt{ljfour} avec une résolution de -base de 600\dpi{} \textit{(dots per inch)}, cette instance est trouvée. -\begin{alltt} -> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} -\end{alltt} -Dans ce cas, lorsque l'on spécifie que nous recherchons une -résolution de 300\dpi{} (\texttt{-dpi=300}) nous voyons qu'aucune fonte -pour cette résolution n'est disponible dans le système. En fait, un -programme comme \cmdname{dvips} ou \cmdname{xdvi} ne s'en -préoccuperait pas et créerait les fichiers \file{.pk} à la -résolution demandée en utilisant le script \cmdname{mktexpk}. - -Intéressons-nous à présent aux fichiers d'en-tête et de configuration -pour \cmdname{dvips}. -Regardons en premier le fichier \file{tex.pro} communément utilisé -pour le support de \TeX{} avant de regarder le fichier -de configuration générique (\file{config.ps}) et la liste des fontes -\PS{} \file{psfonts.map}. Depuis l'édition 2004, les fichiers -\file{.map} et les fichiers de codage ont changé de place dans -l'arborescence \dirname{texmf}. Comme le suffixe \file{.ps} est -ambigu, nous devons spécifier quel type particulier du fichier -\texttt{config.ps} nous considérons (\optname{dvips config}). -\begin{alltt} -> \Ucom{kpsewhich tex.pro} - /usr/local/texmf/dvips/base/tex.pro -> \Ucom{kpsewhich -{}-format="dvips config" config.ps} - /usr/local/texmf-var/dvips/config/config.ps -> \Ucom{kpsewhich psfonts.map} - /usr/local/texmf-var/fonts/map/dvips/updmap/psfonts.map -\end{alltt} - -Regardons plus en détail les fichiers de support Times -\PS{} d'\acro{URW}. Leur nom standard dans le schéma de nommage des fontes -est \samp{utm}. Le premier fichier que nous voyons est le -fichier de configuration, qui contient le nom du fichier -de la liste : -\begin{alltt} -> \Ucom{kpsewhich -{}-format="dvips config" config.utm} - /usr/local/texmf-dist/dvips/psnfss/config.utm -\end{alltt} -Le contenu de ce fichier est -\begin{alltt} - p +utm.map -\end{alltt} -qui pointe vers le fichier \file{utm.map}, que nous cherchons à -localiser ensuite. -\begin{alltt} -> \Ucom{kpsewhich utm.map} - /usr/local/texmf-dist/fonts/map/dvips/times/utm.map -\end{alltt} -Ce fichier liste les noms des fichiers des -fontes \PS{} de type~1 dans la collection URW. Son contenu -ressemble à (nous ne montrons qu'une partie des lignes) : -\begin{alltt} -utmb8r NimbusRomNo9L-Medi ... \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} - -Il devrait être clair, d'après ces quelques exemples, qu'il est facile -de trouver l'endroit où se cache un fichier donné. C'est -particulièrement important si vous suspectez que c'est, pour une -raison quelconque, une mauvaise version du fichier qui est utilisée, -puisque \cmdname{kpsewhich} va vous montrer le premier fichier -trouvé. - -\subsubsection{Opérations de débogage} -\label{sec:debugging} - -Il est quelquefois nécessaire de savoir comment un programme référence -les fichiers. Pour permettre cela, \KPS{} offre -plusieurs niveaux de débogage : -\begin{ttdescription} -\item[\texttt{\ 1}] Appels à \texttt{stat} (test d'existence de fichier). Lors d'une - exécution utilisant une base de données \file{ls-R} à jour, ce niveau - ne devrait donner presque aucune information en sortie. -\item[\texttt{\ 2}] Références aux différentes tables (comme la base - de données \file{ls-R}, les fichiers de correspondance de fontes, les fichiers de - configuration). -\item[\texttt{\ 4}] Opérations d'ouverture et de fermeture des - fichiers. -\item[\texttt{\ 8}] Information globale sur la localisation des types - de fichiers recherchés par \KPS. Ceci est utile pour trouver où a été - défini le chemin particulier pour un fichier. -\item[\texttt{16}] Liste des répertoires pour chaque élément du - chemin (utilisé uniquement en cas de recherche sur le disque). -\item[\texttt{32}] Recherche de fichiers. -\item[\texttt{64}] Valeur des variables. -\end{ttdescription} -Une valeur de \texttt{-1} activera toutes les options ci-dessus ; en -pratique, c'est habituellement la valeur la plus adaptée. - -De la même façon, avec le programme \cmdname{dvips}, en utilisant une -combinaison d'options de débogage, on peut suivre en détail la -localisation des -différents fichiers. De plus, lorsqu'un fichier n'est -pas trouvé, la trace du débogage montre les différents répertoires dans -lesquels le programme va chercher tel ou tel fichier, donnant ainsi -des indices sur le problème. - -Généralement, comme la plupart des programmes appellent la -bibliothèque \KPS{} en interne, on peut sélectionner une option de -débogage en utilisant la variable d'environnement -\envname{KPATHSEA\_DEBUG} et en la définissant égale à la valeur (ou -à une combinaison de valeurs) décrite(s) dans la liste ci-dessus. - -Note à l'intention des utilisateurs de Windows : il n'est pas facile -de rediriger les messages d'erreur vers un fichier sur ces -systèmes. À des fins de diagnostic, vous pouvez temporairement -affecter \texttt{KPATHSEA\_DEBUG\_OUTPUT=err.log} pour capturer le flux -standard d'erreur dans le fichier \texttt{err.log}. - -Considérons comme exemple un petit fichier source \LaTeX{}, -\file{hello-world.tex}, dont le contenu est le suivant. -\begin{verbatim} - \documentclass{article} - \begin{document} - Hello World! - \end{document} -\end{verbatim} -Ce petit fichier utilise simplement la fonte \file{cmr10}, aussi -allons voir comment \cmdname{dvips} prépare le fichier \PS{} -(nous voulons utiliser la version type~1 -des fontes Computer Modern, d'où l'option \texttt{-Pcms}). -\begin{alltt} -> \Ucom{dvips -d4100 hello-world -Pcms -o} -\end{alltt} -Dans ce cas, nous avons combiné le niveau 4 de débogage de -\cmdname{dvips} (chemins des fontes) avec l'option d'expansion des -éléments du chemin de \KPS\ (voir \cmdname{dvips} Reference Manual, -\OnCD{texmf/doc/html/dvips/dvips_toc.html} sur le \DVD{}). -La sortie (légèrement formatée) apparaît dans la -figure~\ref{fig:dvipsdbga}. -\begin{figure*}[tp] -\centering -\input{examples/ex6a.tex} -\caption{Recherche des fichiers de configuration}\label{fig:dvipsdbga} - -\bigskip - -\input{examples/ex6b.tex} -\caption{Recherche du fichier prolog}\label{fig:dvipsdbgb} - -\bigskip - -\input{examples/ex6c.tex} -\caption{Recherche du fichier de fontes}\label{fig:dvipsdbgc} -\end{figure*} - -\cmdname{dvips} commence par localiser ses fichiers de -fonctionnement. D'abord, \file{texmf.cnf} est trouvé, ce qui donne les -définitions pour les chemins de recherche servant à localiser les -autres fichiers, ensuite le fichier base de données \file{ls-R} (pour -optimiser la recherche des fichiers) et le fichier \file{aliases}, qui -permet de déclarer plusieurs noms (par exemple un nom \acro{DOS} de type -8.3 court et une version longue plus naturelle) pour le même -fichier. Ensuite \cmdname{dvips} continue en cherchant le fichier de -configuration générique \file{config.ps} avant de rechercher le fichier -de paramétrisation \file{.dvipsrc} (qui, dans notre cas, \emph{n'est -pas trouvé}). Enfin, \cmdname{dvips} localise le fichier de -configuration pour les fontes \PS{} Computer Modern -\file{config.cms} (ceci est lancé par l'option \mbox{\texttt{-Pcms}} de la -commande \cmdname{dvips}). Ce fichier contient la liste des fichiers - qui définissent la relation entre les noms des fontes -selon \TeX{}, selon \PS{} et dans le système de fichiers. -\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} veut chercher tous ces fichiers, y compris le -fichier générique d'association \file{psfonts.map}, qui est toujours -chargé (il contient des déclarations pour les fontes \PS{} les -plus communément utilisées ; voir la dernière partie de la Section -\ref{sec:examples-of-use} pour plus de détails sur la gestion du fichier -d'association \PS{}). - -Arrivé là, \cmdname{dvips} s'identifie à l'utilisateur : - \begin{alltt} - This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) - \end{alltt} - -\ifSingleColumn -pour continuer ensuite en cherchant le fichier prologue \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 -pour continuer ensuite en cherchant le fichier prologue \file{texc.pro} -(voir la figure~\ref{fig:dvipsdbgb}). -\fi - -Après avoir trouvé ce fichier, \cmdname{dvips} affiche la date et -l'heure, nous informe qu'il va générer le fichier -\file{hello-world.ps} puis qu'il a besoin du fichier de fonte -\file{cmr10} et que ce dernier est déclaré comme « résident» -(pas besoin de bitmaps) : -\begin{alltt}\small -TeX output 1998.02.26:1204' -> hello-world.ps -Defining font () cmr10 at 10.0pt -Font cmr10 is resident. -\end{alltt} -Maintenant la recherche concerne le fichier \file{cmr10.tfm}, qui est -trouvé, puis quelques fichiers de prologue de plus (non montrés) sont -référencés ; finalement le fichier de la fonte type~1 \file{cmr10.pfb} -est localisé et inclus dans le fichier de sortie (voir la dernière ligne). -\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, - ... - -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 -[1] -\end{alltt} - -\subsection{Options à l'exécution} - -\Webc{} offre la possibilité de contrôler à l'exécution bon nombre de -paramètres concernant la mémoire (en particulier la taille des -tableaux utilisés) à partir du fichier -\file{texmf.cnf} qui est lu par \KPS. -Les paramètres en question se trouvent -dans la troisième partie du fichier inclus dans la distribution \TL{}. - Les variables les plus importantes sont : -\begin{ttdescription} -\item[\texttt{main\_memory}] - Nombre total de mots mémoire disponibles pour - \TeX{}, \MF{} et \MP. Vous devez générer un nouveau fichier de - format pour chaque nouveau paramétrage. Par exemple, vous pouvez - générer une version large de \TeX{} et appeler le fichier de format - \texttt{hugetex.fmt}. En utilisant la méthode supportée par \KPS{} - qui consiste à suffixer la variable par le nom du programme, la valeur - particulière de la variable \texttt{main\_memory} destinée à ce - fichier de format sera lue dans le fichier \file{texmf.cnf}. -\item[\texttt{extra\_mem\_bot}] - Espace supplémentaire pour certaines structures de données de \TeX{} : - boîtes, \textit{glue}, points d'arrêt\dots{} Surtout utile si vous utilisez - \PiCTeX{} par exemple. -\item[\texttt{font\_mem\_size}] - Nombre de mots mémoire disponibles pour décrire les polices. C'est - plus ou moins l'espace occupé par les fichiers \acro{TFM} lus. -\item[\texttt{hash\_extra}] - Espace supplémentaire pour la table de hachage des noms de séquences - de contrôle. Environ 10~000 de ces noms peuvent être stockés dans la - table principale ; si vous avez un document très volumineux avec - beaucoup de références croisées, il se peut que ce ne soit pas - suffisant. La valeur par défaut \texttt{hash\_extra} est \texttt{50000}. -\end{ttdescription} - -\noindent Évidemment, cette possibilité ne remplace pas une véritable -allocation dynamique des tableaux et de la mémoire mais puisque c'est -complexe à implémenter dans le présent source \TeX{}, ces paramètres lus -à l'exécution fournissent un compromis pratique qui procure une certaine -souplesse. - -\section{Installation sur un nouveau système Unix} - -Si vous avez un système Unix ne correspondant à aucun des exécutables -fournis, il faut compiler vous-même \TeX{} et tous ses programmes -satellites à partir des sources. Cela n'est pas aussi difficile qu'il -y paraît. Tout ce dont vous aurez besoin est contenu dans le -répertoire \texttt{source} qui se trouve sur le \DVD. - -\subsection{Prérequis} - -Il faut au moins 400\,Mo d'espace sur disque pour compiler la -totalité de \TeX{} et des programmes associés. -Vous aurez aussi besoin d'un -compilateur C \acro{ANSI}, de l'utilitaire \cmdname{make}, -d'un générateur d'analyseur lexical et d'un générateur d'analyseur -syntaxique. Nous recommandons les versions \GNU des programmes suivants -(\cmdname{gcc}, \GNU{}\cmdname{make}, \cmdname{m4}, -\cmdname{flex}, \cmdname{bison}). Vous pouvez utiliser d'autres compilateurs C -et d'autres programmes \cmdname{make} si vous maîtrisez -correctement la programmation sous Unix pour résoudre les -problèmes éventuels. La commande \texttt{uname} doit renvoyer une valeur -raisonnable. - -\subsection{Configuration} - -Tout d'abord, effectuez l'installation normale de \TL{} sur le disque -dur (voir section~\ref{sec:install}, -page~\pageref{sec:install}). Vous pouvez sauter l'installation de -tous les binaires précompilés. -Décompactez ensuite sur le disque le fichier -\file{source.tar.bz2} (archive compressée) trouvé dans -le répertoire \dirname{source} et placez-vous dans -le répertoire où vous avez transféré l'ensemble. -\begin{alltt} -> \Ucom{cd /tmp/tl-source} -> \Ucom{bunzip2 source.tar.bz2} -> \Ucom{tar xf source.tar} -\end{alltt} - -Lancez maintenant \textsf{configure} de la façon suivante : -\begin{alltt} -> \Ucom{sh configure -prefix=/usr/local/texlive/2007} -\end{alltt} - -Le répertoire \optname{-prefix} est le répertoire de base de -l'arborescence \TL{}, il est désigné par \var{TEXDIR} dans la suite. -\begin{comment} -Les répertoires utilisés sont les suivants : - -\noindent -\begin{tabular}{>{\ttfamily}ll@{}} - \dirname{$TEXDIR/texmf-dist} & répertoire de base pour les fontes, - macros, etc\\ - \dirname{$TEXDIR/man} & pages du manuel Unix\\ - \dirname{$TEXDIR/info} & manuels \GNU en format Info\\ - \dirname{$TEXDIR/bin/$archname} & exécutables.\\ -\end{tabular}\\ -\end{comment} -%$ - -Si vous ne voulez pas créer de répertoire \dirname{$archname} spécifique %$ -au système choisi pour stocker les exécutables (c.-à-d. les -copier directement dans \dirname{$TEXDIR/bin}), %$ -il faut exécuter \textsf{configure} avec l'option \\ -\verb|--disable-multiplatform|. - -Tapez \verb|./configure --help|, le programme affichera -les options supplémentaires disponibles (telles que supprimer l'installation -des extensions optionnelles comme \OMEGA\ ou \eTeX). - -\subsection{Exécuter \textsf{make}} -S'assurer que la variable ou l'option \texttt{noclobber} n'est pas définie. - et lancer le \cmdname{make} à la racine de l'arborescence de la façon -suivante : -\begin{alltt} ->> \Ucom{make world} -\end{alltt} -et aller prendre un café\dots - -Il peut être utile de garder une trace complète dans un fichier log en tapant : -\begin{alltt} ->> \Ucom{sh -c "make world >world.log 2>\&1" \&} -\end{alltt} -Avant de conclure que tout va bien, vérifier que le fichier log ne contient -pas de message d'erreur : le \cmdname{make} de \GNU renvoie toujours -le message \samp{***} à chaque erreur d'exécution. Vérifier aussi que -tous les exécutables ont été créés. -\begin{alltt} ->> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} ->> \Ucom{ls | wc} -\end{alltt} -Le résultat doit être supérieur à 200 (on peut tester le nombre exact -dans le répertoire \dirname{bin} de la distribution). - -Si vous avez besoin de droits spéciaux pour exécuter \texttt{make install}, -vous pouvez séparer \samp{make world} en deux processus différents : -\begin{alltt} ->> \Ucom{make all} ->> \Ucom{su} ->> \Ucom{make install strip} -\end{alltt} - -Après avoir installé vos nouveaux binaires, il faut suivre les procédures -normales de la post-installation, indiquées dans la -section~\ref{sec:postinstall}, page~\pageref{sec:postinstall}. - -\section{Remerciements} - -\TL{} est le résultat des efforts -collectifs de pratiquement tous les groupes d'utilisateurs de \TeX. -La présente édition de \TL{} a été coordonnée par Karl Berry. -Voici la liste des principaux contributeurs : - -\begin{itemize} - -\item Les associations d'utilisateurs anglais, allemands, néerlandais et - polonais (\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST}, - respectivement) qui contribuent ensemble à l'infrastructure technique et - administrative. Soutenez votre association locale (voir la liste - \url{http://tug.org/usergroups.html}) ! - -\item L'équipe du \acro{CTAN}, en particulier Robin Fairbairns, Jim Hef{}feron - et Rainer Schöpf, qui distribue les images des distributions \TL{} et - fournit les sites d'hébergement pour le stockage et la mise à jour des - extensions qui sont la base de \TL. - -\item Peter Breitenlohner et toute l'équipe \eTeX{} qui construisent - les bases des successeurs de \TeX. - -\item Thomas Esser et sa merveilleuse distribution \teTeX{} sans laquelle - \TL{} n'aurait jamais vu le jour. - -\item Michel Goossens, en tant que co-auteur de la documentation initiale. - -\item Eitan Gurari, dont le programme \TeX4ht a été utilisé pour créer la - version \HTML{} de cette documentation et qui travaille inlassablement à - l'améliorer, ce dans des délais très courts. - -\item \Thanh, Martin Schr\"oder et toute l'équipe pdf\TeX\ qui continuent - inlassablement à étendre les performances de \TeX. - -\item Hans Hagen qui, outre sa participation active aux tests, a adapté le - format \ConTeXt\ (\url{http://pragma-ade.com}) aux besoins de \TL{}. - -\item Hartmut Henkel, pour ses contributions au développement - de pdf\TeX{} et Lua\TeX{} entre autres. - -\item Taco Hoekwater, pour ses efforts sans cesse renouvelés à l'amélioration - de MetaPost et de (Lua)\TeX\ (\url{http://luatex.org}). - -\item Pawe{\l} Jackowski pour l'installeur Windows \cmdname{tlpm} et Tomasz - {\L}uczak pour la version graphique \cmdname{tlpmgui} utilisée dans - l'édition précédente. - -\item Akira Kakuto, pour son aide précieuse qui nous a permis - d'intégrer dans \TL{} les binaires Windows de sa distribution \acro{W32TEX} - (\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}). - -\item Jonathan Kew et \acro{SIL}, pour avoir produit - Xe\TeX{}, pour l'avoir intégré dans \TL{} et pour avoir - créé la première version de l'installeur Mac\TeX. - -\item Dick Koch, pour la maintenance de Mac\TeX\ (\url{http://tug.org/mactex}) - faite en symbiose avec \TL. - -\item Reinhard Kotucha, pour ses contributions majeures à l'infrastructure de - \TL{} 2008 et à son programme d'installation, pour ses contributions sous - Windows et pour son script \texttt{getnonfreefonts} en particulier. - -\item Siep Kroonenberg, également pour ses contributions majeures à - l'infrastructure de \TL{} 2008 et à son programme d'installation ainsi que - pour la réécriture de cette documentation. - -\item Petr Ol\v{s}ak, qui coordonna et vérifia minutieusement toute la - partie tchèque et slovaque. - -\item Toshio Oshima, pour le visualisateur \cmdname{dviout} pour Windows. - -\item Manuel Pégourié-Gonnard, pour son aide concernant le programme de mise à - jour de la distribution, la documentation et pour le développement de - \cmdname{tldoc}. - -\item Fabrice Popineau, pionnier du développement de \TL{} sous Windows et - pour son travail sur la documentation française. - -\item Norbert Preining, principal architecte de la distribution \TL{} 2008 et - de son installeur et coordinateur (avec Frank K\"uster) de la - version Debian de \TL. - -\item Sebastian Rahtz, qui a créé la distribution \TL{} et en a assuré la - maintenance pendant de nombreuses années. - -\item Vladimir Volovich, pour son aide substantielle, en particulier pour - avoir rendu possible l'intégration de \cmdname{xindy} dans \TL. - -\item Staszek Wawrykiewicz, principal testeur de \TL{} et coordinateur des - contributions polonaises (fontes, installation Windows, etc.). - -\item Olaf Weber, pour son patient assemblage de \Webc. - -\item Gerben Wierda, qui a créé et maintient la partie \MacOSX{} - et qui participe activement aux tests. - -\item Graham Williams, pour son travail sur le catalogue \TeX\ des - composants. - -\end{itemize} - -Les binaires ont été compilés par : -Tigran Aivazian (\pkgname{x86\_64-linux}), -Tim Arnold (\pkgname{hppa-hpux}), -Randy Au (\pkgname{amd64-freebsd}), -Edd Barrett (\pkgname{i386-openbsd}), -Karl Berry (\pkgname{i386-linux}), -Akira Kakuto (\pkgname{win32}), -Dick Koch (\pkgname{universal-darwin}), -Manfred Lotz (\pkgname{i386-freebsd}), -Norbert Preining (\pkgname{alpha-linux}), -Arthur Reutenauer (\pkgname{sparc-linux}), -Thomas Schmitz (\pkgname{powerpc-linux}), -Apostolos Syropoulos (\pkgname{i386-solaris}), -Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), -Olaf Weber (\pkgname{mips-irix}). - -Documentation et mises à jour des traductions : -Karl Berry (anglais), -Daniel Flipo (français), -Klaus H\"oppner (allemand), -Petr Sojka \& Jan Busa (tchèque et slovaque), -Boris Veytsman (russe), -Staszek Wawrykiewicz (polonais). - -La page d'accueil de la documentation \TL{} est -\url{http://tug.org/texlive/doc.html}. - -Bien sûr, notre gratitude va en premier lieu à Donald Knuth pour avoir -inventé \TeX{} et l'avoir offert au monde entier. - -\section{Historique des versions successives} -\label{sec:history} - -\subsection{Les éditions précédentes} - -La discussion commença à la fin de 1993 quand le Groupe des Utilisateurs -Néerlandais de \TeX{} commençait à travailler à son \CD{} 4All\TeX{} pour les -utilisateurs de \acro{MS-DOS} et on espérait à ce moment sortir un \CD{} -unique pour tous les systèmes. C'était un objectif beaucoup trop ambitieux -mais il permit la naissance du \CD{} 4All\TeX{}, projet couronné de succès et -aussi d'un groupe de travail « \acro{TUG} Technical Council » pour -mettre en place TDS (\emph{\TeX{} Directory Structure} : -\url{http://tug.org/tds}), qui spécifiait la gestion des fichiers \TeX{} sous -une forme logique. La mouture finale de \TDS{} fut publiée dans le numéro de -décembre 1995 de \textsl{TUGboat} et il était clair depuis un certain temps -qu'il fallait proposer un produit contenant une structure modèle sur \CD{}. -La distribution que vous possédez est le résultat direct des délibérations de -ce groupe de travail. Il était également clair que le succès des \CD{} -4All\TeX{} démontrait que les utilisateurs d'Unix trouveraient leur bonheur -avec une distribution aussi simple et ceci a été l'autre objectif de -\TL. - -Nous avons d'abord entrepris de créer un nouveau \CD{} \TDS{} Unix à l'automne -1995 et nous avons rapidement choisi \teTeX{} de Thomas Esser comme étant la -configuration idéale, car il supportait déjà plusieurs plates-formes et avait -été construit en gardant à l'esprit la portabilité entre systèmes. Thomas -accepta de nous aider et commença à travailler sérieusement au début de 1996. -La première édition sortit en mai 1996. Au début de 1997, Karl Berry acheva -une nouvelle distribution de \Webc{}, qui incluait presque toutes les -caractéristiques que Thomas Esser avait ajoutées dans \teTeX{} et il fut décidé -de baser la deuxième édition du \CD{} sur le standard \Webc, en y ajoutant le -script \texttt{texconfig} de \teTeX. La troisième édition du \CD{} était -basée sur une version majeure de \Webc, 7.2, par Olaf Weber ; en même temps, -une nouvelle version révisée de \teTeX{} était achevée dont \TL{} partageait -presque toutes les caractéristiques. La quatrième édition a suivi le même -schéma, en utilisant une nouvelle version de \teTeX{} et une nouvelle version -de \Webc{} (7.3). Le système incluait dorénavant un programme complet -d'installation pour Windows. - -Pour la cinquième édition (mars 2000), de nombreuses parties du \CD{} -ont été vérifiées et révisées, des centaines de composants -mis à jour. -Le contenu détaillé des composants était décrit par des -fichiers XML. Mais le changement majeur de cette cinquième édition a -été la suppression de tout logiciel non libre de droits. -Tout ce qui se trouve dans \TL{} devait être compatible avec la licence -Debian (\emph{Debian Free Software Guidelines} : -\url{http://www.debian.org/intro/free}) ; nous avons -fait de notre mieux pour vérifier les termes des licences de chaque -composant et nous souhaiterions que toute erreur nous soit signalée. - -La sixième édition (juillet 2001) contient un grand nombre de mises à jour. -Le changement majeur de cette version réside dans la refonte du -processus d'installation : l'utilisateur peut désormais choisir -les collections de manière plus précise. Les collections concernant -les langues ont été entièrement réorganisées, aussi le choix d'une -langue installe non seulement les macros, les fontes, etc. mais -prépare également un fichier \file{language.dat} adéquat. - -La septième édition (mai 2002) a comme ajout majeur une installation -pour \MacOSX{} et l'habituelle myriade de mises à jour de composants et -de programmes. Un objectif important a été de fusionner à -nouveau les sources avec ceux de \teTeX{}, alors que les versions -5 et 6 s'en étaient éloignées. - -\subsubsection{2003} - -En 2003, le flot de mises à jour et d'additions a continué mais nous -avons constaté que \TL{} était devenu si volumineux qu'il ne -pouvait plus tenir sur un seul \CD, aussi l'avons-nous divisé en trois -distributions distinctes (voir section~\ref{sec:tl-coll-dists}, -page~\pageref{sec:tl-coll-dists}). Par ailleurs : -\begin{itemize} -\item À la demande de l'équipe \LaTeX{}, nous avons modifié les - commandes standard \cmdname{latex} et \cmdname{pdflatex} pour - qu'elles utilisent \eTeX{} (voir page~\pageref{text:etex}). -\item Les nouvelles fontes Latin Modern sont disponibles (et - recommandées). -\item Le support pour Alpha \acro{OSF} a été supprimé - (celui pour \acro{HPUX} l'avait été auparavant), car personne - disposant des machines nécessaires ne s'est - proposé pour compiler les nouveaux binaires. -\item L'installation pour Windows a été largement modifiée ; un environnement - de travail intégré basé sur \cmdname{XEmacs} a été introduit. -\item Des programmes supplémentaires importants pour Windows (Perl, - Ghost\-script, Image\-Magick, Ispell) sont maintenant installés dans le - répertoire d'installation de \TL{}. -\item Les fichiers \emph{font map} utilisés par \cmdname{dvips}, - \cmdname{dvipdfm} et \cmdname{pdftex} sont maintenant générés par le - nouveau programme \cmdname{updmap} et installés dans - \dirname{texmf/fonts/map}. -\item Dorénavant, \TeX{}, \MF{} et \MP{} écrivent les caractères 8-bit - présentés en entrée sans modification et non pas avec la notation - \verb|^^|, que ce soit dans des fichiers (par la commande - \verb|write|), dans les fichiers de trace (\verb|.log|) ou sur le - terminal. Dans le \TL{}~7, l'écriture de ces caractères - 8-bit était influencée par les paramètres de localisation du - système; maintenant ces paramètres n'influent plus du tout sur le - comportement des programmes \TeX{}. Si pour quelque raison que ce - soit, vous avez besoin de la notation \verb|^^| en sortie, - renommez le fichier \verb|texmf/web2c/cp8bit.tcx|. Les prochaines - versions disposeront d'un moyen plus propre pour contrôler cette - sortie. -\item La documentation de \TL{} a été largement révisée. -\item Enfin, comme la numérotation séquentielle des versions - devenait peu maniable, il a été décidé d'identifier désormais la version - de \TL{} par l'année : \TL{}~2003 au lieu de \TL{}~8. -\end{itemize} - - -\subsubsection{2004} - -2004 a apporté beaucoup de changements (et quelques incompatibilités avec les -versions précédentes) : - -\begin{itemize} - -\item Si vous avez installé des fontes supplémentaires qui ont leur propre -fichier \file{.map} ou des fichiers \file{.enc} spécifiques, vous -devrez vraisemblablement déplacer ces fichiers. - -Les fichiers \file{.map} sont désormais recherchés uniquement dans les -sous-répertoires \dirname{fonts/map} (dans chaque arborescence -\filename{texmf}), leur chemin de recherche est donné par la variable -\envname{TEXFONTMAPS} de \filename{texmf.cnf}. -De même, les fichiers \file{.enc} sont désormais recherchés uniquement -dans les sous-répertoires \dirname{fonts/enc}, leur chemin de recherche est -donné par la variable \envname{ENCFONTS} de \filename{texmf.cnf}. -Le script \cmdname{updmap} devrait émettre des messages d'avertissement -pour les fichiers \file{.map} et \file{.enc} mal placés. - -Sur les différentes façons de traiter le problème, consulter -\url{http://tug.org/texlive/mapenc.html}. - -\item La distribution pour Windows a changé cette année : -l'installation de la distribution \fpTeX{} (basée sur \Webc{}) de Fabrice -Popineau n'est plus proposée. À la place, vous pouvez tester et installer -la distribution \ProTeXt{} basée sur \MIKTEX{} (indépendante de \Webc{}), -voir section~\ref{sec:overview-tl}, page~\pageref{sec:overview-tl}. - -\item L'ancien répertoire \dirname{texmf} a été éclaté en trois parties : -\dirname{texmf}, \dirname{texmf-dist} et \dirname{texmf-doc}. Voir -section~\ref{sec:tld}, page~\pageref{sec:tld}. - -\item Tous les fichiers relatifs aux différents avatars de \TeX{} sont -désormais regroupés dans le même sous-répertoire \dirname{tex} des -arborescences \dirname{texmf*} (ils étaient jusqu'ici placés dans des -sous-répertoires spécifiques \dirname{tex}, \dirname{etex}, -\dirname{pdftex}, \dirname{pdfetex}, etc.). Voir -\OnCD{texmf-doc/doc/english/tds/tds.html\#Extensions}. - -\item Les scripts auxiliaires, normalement pas exécutés directement -par les utilisateurs, sont regroupés dans un répertoire \dirname{scripts} -des arborescences \dirname{texmf*}. On les localise grâce à la -commande \verb|kpsewhich -format=texmfscripts|. Au cas où vous en -auriez, les programmes utilisant ces scripts nécessiteront une adaptation. -Voir \OnCD{texmf-doc/doc/english/tds/tds.html\#Scripts}. - -\item La plupart des formats affichent en clair (dans les fichiers -\file{.log} en particulier) les caractères imprimables au lieu -de les transcrire en notation hexadécimale \verb|^^|. Ceci se fait -grâce au fichier \filename{cp227.tcx}, qui considère comme imprimables -les caractères 32 à 256, ainsi que les tabulations et les changements -de page (caractères 9 à 11). Les formats faisant exception sont -plain \TeX\ (seuls les caractères 32 à 127 sont déclarés imprimables), -\ConTeXt{} (0 à 255 imprimables) et les formats basés sur \OMEGA. -Il y a peu de différence avec le comportement de \TL\,2003 -mais la mise en Å“uvre est plus propre et plus facilement configurable. -Voir \OnCD{texmf/doc/web2c/web2c.html\#TCX-files}. -Noter que l'utilisation du codage Unicode en entrée peut provoquer -des affichages défectueux en sortie (TeX code sur un seul octet). - -\item Tous les formats, sauf plain \TeX, font appel au moteur -\textsf{pdfetex} (qui produit bien sûr par défaut des fichiers \acro{DVI} -lorsque le format choisi est \LaTeX). Ceci permet aux formats -\LaTeX, \ConTeXt, etc., d'avoir accès aux fonctionnalités -micro-typographiques de pdf\TeX{} (alignement optique des marges par exemple) -et aux fonctionnalités de \eTeX{} (\OnCD{texmf-dist/doc/etex/base/}). - -Ceci rend \emph{indispensable} le recours à l'extension \pkgname{ifpdf} -(qui fonctionne aussi bien avec plain que \LaTeX) pour déterminer si -le format de sortie est \acro{DVI} ou \acro{PDF}. Tester si la commande -\cs{pdfoutput} est définie ou non \emph{n'est pas} un moyen fiable -de le faire. - -\item pdf\TeX\ (\url{http://pdftex.org}) offre de nouvelles fonctionnalités : - - \begin{itemize} - - \item Les commandes \cs{pdfmapfile} et \cs{pdfmapline} permettent - de spécifier le choix des fichiers \file{.map} à utiliser - pour le document en cours. - - \item L'amélioration du gris typographique par variation (infime) de la - largeur des caractères (\textit{font expansion}) est plus facile à - mettre en Å“uvre, voir - \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} - - \item Le fichier \filename{pdftex.cfg} n'est plus utilisé. - Toutes les affectations de paramètres doivent désormais être - faites dans le préambule en utilisant les primitives ad~hoc. - - \item Pour plus d'informations, consulter le manuel de pdf\TeX\ : - \OnCD{texmf/doc/pdftex/manual}. - - \end{itemize} - -\item La primitive \cs{input} de \cmdname{tex}, \cmdname{mf} et -\cmdname{mpost}, accepte désormais les espaces et autres caractères -spéciaux dans les noms de fichiers à condition d'utiliser des -\textit{double quotes}, en voici deux exemples typiques : -\begin{verbatim} -\input "filename with spaces" % plain -\input{"filename with spaces"} % latex -\end{verbatim} -Consulter le manuel \Webc{} pour plus d'informations : \OnCD{texmf/doc/web2c}. - -\item Les fonctionnalités de enc\TeX\ sont désormais incluses dans \Webc{}. -Ainsi, tous les formats \emph{construits avec l'option \optname{-enc}} y ont -accès. enc\TeX\ permet le transcodage en entrée et en sortie et -l'utilisation transparente du codage Unicode \acro{UTF}-8. Voir -\OnCD{texmf-dist/doc/generic/enctex/} et -\url{http://www.olsak.net/enctex.html}. - -\item Un nouveau moteur combinant les fonctionnalités de \eTeX\ -et d'\OMEGA, appelé Aleph, est disponible. \OnCD{texmf-dist/doc/aleph/base} -et \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph} -fournissent une information succincte. Le format \LaTeX{} utilisant -Aleph s'appelle \textsf{lamed}. - -\item La licence \acro{LPPL} de \LaTeX\ (version décembre 2003) a changé, -elle est désormais compatible avec les prescriptions Debian. -Les autres changements sont décrits dans le fichier \filename{ltnews}, voir -\OnCD{texmf-dist/doc/latex/base}. - -\item Un nouveau programme, \cmdname{dvipng}, qui convertit les fichiers -\acro{DVI} en images \acro{PNG} a été ajouté. Voir -\OnCD{texmf/doc/man/man1/dvipng.1}. - -\item Nous avons dû réduire le nombre de fontes incluses dans l'extension -\pkgname{cbgreek}, ceci a été fait avec l'accord et l'aide de l'auteur -(Claudio Beccari). Les fontes exclues (invisibles, transparentes, contours) -sont rarement utilisées et la place nous manquait. La collection complète -des fontes \pkgname{cbgreek} est disponible sur \acro{CTAN} -(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). - -\item La commande \cmdname{oxdvi} a été supprimée, il suffit utiliser -\cmdname{xdvi} à la place. - -\item Les commandes \cmdname{initex}, \cmdname{virtex} et leurs -homologues pour \cmdname{mf} et \cmdname{mpost} ont disparu. -Vous pouvez les recréer si nécessaire mais elles sont avantageusement -remplacées, depuis des années maintenant, par l'option \optname{-ini} -(\cmdname{tex} \optname{-ini} pour \cmdname{initex} et \cmdname{virtex}). - -\item Les binaires pour l'architecture \textsf{i386-openbsd} ont été - supprimés par manque de volontaires pour les compiler. - -Sur \textsf{sparc-solaris} (au moins) il sera probablement -nécessaire de positionner la variable d'environnement -\envname{LD\_LIBRARY\_PATH} pour utiliser les programmes de la famille -\pkgname{t1utils}. Ceci vient du fait qu'ils sont compilés en C++ et -que l'emplacement des bibliothèques dynamiques est variable. -Ce n'est pas une nouveauté 2004 mais ce point n'était pas documenté -précédemment. De même, sur \textsf{mips-irix}, les bibliothèques dynamiques -\acro{MIPS}pro 7.4 sont nécessaires. - -\end{itemize} - -\subsubsection{2005} - -2005 a apporté son lot habituel d'innombrables mises à jour d'extensions -et de programmes. L'infrastructure est restée relativement stable par rapport -à 2004, à quelques changements inévitables près : - -\begin{itemize} - -\item Trois nouveaux scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys} et - \cmdname{fmtutil-sys} ont été introduits ; ils agissent sur la - configuration générale de la machine, comme le faisaient les - scripts \cmdname{texconfig}, \cmdname{updmap} et \cmdname{fmtutil} - jusqu'à l'an dernier. Les nouveaux scripts \cmdname{texconfig}, - \cmdname{updmap} et \cmdname{fmtutil} modifient maintenant - la configuration \emph{personnelle} de l'utilisateur qui les lance ; - le résultat est placé dans le répertoire personnel de l'utilisateur - (sous \dirname{$HOME/.texlive2005}). %$ - -\item De nouvelles variables, \envname{TEXMFCONFIG} (resp. - \envname{TEXMFSYSCONFIG}) ont été introduites ; elles définissent - les répertoires où doivent se trouver les fichiers de configuration de - l'utilisateur (resp. de la machine), comme \filename{fmtutil.cnf} et - \filename{updmap.cfg}. Les utilisateurs de fichiers de configuration - locaux \filename{fmtutil.cnf} ou \filename{updmap.cfg} devront - probablement les déplacer ; une autre possibilité est de modifier la - définition des variables \envname{TEXMFCONFIG} ou - \envname{TEXMFSYSCONFIG} dans \filename{texmf.cnf}. L'important est - de s'assurer de la cohérence entre les définitions de ces variables - dans \filename{texmf.cnf} et l'emplacement réel de ces fichiers. - Voir section~\ref{sec:texmftrees}, page~\pageref{sec:texmftrees} pour - la description des différentes arborescences texmf utilisées. - -\item L'an dernier nous avions rendu « \texttt{undefined} » certaines - primitives propres à \cmdname{pdftex} (comme \verb|\pdfoutput|) - dans les formats créés à partir de \cmdname{pdfetex} (\cmdname{latex} - \cmdname{amstex}, \cmdname{context} par exemple)). - C'était à titre transitoire, aussi cette année, ces primitives sont de - nouveau définies dans tous les formats à base \cmdname{pdf(e)tex}, - \emph{même lorsqu'ils sont utilisés pour produire des fichiers - \file{.dvi}}. Ceci implique qu'il vous faudra modifier vos - documents qui utilisent le test \verb|\ifx\pdfoutput\undefined| - pour déterminer si la sortie est en DVI ou en PDF. Le mieux est - d'utiliser l'extension \pkgname{ifpdf.sty} et son test - \verb|\ifpdf| qui fonctionne même en plain \TeX. - -\item L'an dernier nous avions fait en sorte que la plupart des formats - impriment dans les sorties \file{.log} des caractères 8-bit - lisibles à la place des notations hexadécimales \verb|^^| - (voir section précédente). - Le nouveau fichier TCX \filename{empty.tcx} permet - de revenir facilement à la notation traditionnelle \verb|^^|, il suffit - de coder : -\begin{verbatim} -latex --translate-file=empty.tcx fichier.tex -\end{verbatim} - -\item Le nouveau programme \cmdname{dvipdfmx} est disponible pour convertir - des fichier DVI en PDF ; ce programme remplace \cmdname{dvipdfm}, - toujours disponible mais dont l'usage est maintenant déconseillé. - -\item Les variables \envname{HOMETEXMF} et \envname{VARTEXMF} ont été renommées - en \envname{TEXMFHOME} et \envname{TEXMFSYSVAR} respectivement pour - raisons de cohérence avec les autres noms de variables. Il y a aussi - \envname{TEXMFVAR} qui désigne maintenant un répertoire personnel - de l'utilisateur (cf. le premier point de la présente liste). - -\end{itemize} - -\subsubsection{2006--2007} - -En 2006--2007, la nouveauté majeure a été l'arrivée dans \TL{} de Xe\TeX{} -disponible sous forme de deux programmes \texttt{xetex} et \texttt{xelatex}, -voir \url{http://scripts.sil.org/xetex}. - -MetaPost a subi une mise à jour importante et d'autres améliorations -sont prévues, voir \url{http://tug.org/metapost/articles}. Il en va de même -pour pdf\TeX{}, voir \url{http://tug.org/applications/pdftex}. - -Le format \filename{tex.fmt} et les formats pour MetaPost and \MF\ ne -se trouvent plus dans \dirname{texmf/web2c} mais dans des -sous-répertoires de \dirname{texmf/web2c} (la recherche de fichiers -\filename{.fmt} est néanmoins faite aussi dans \dirname{texmf/web2c}). -Ces sous-répertoires portent le nom du moteur utilisé pour construire -le format, par exemple \filename{tex}, \filename{pdftex} ou -\filename{xetex}. Ce changement ne devrait pas avoir d'effet visible -pour les utilisateurs. - -Le programme (plain) \texttt{tex} ignore désormais les lignes commençant -par \texttt{\%\&} qui permettent de déterminer le format à utiliser ; -c'est un vrai \TeX{} « à la Knuth » ! -\LaTeX\ et tous les autres prennent toujours en compte les lignes commençant -par \texttt{\%\&}. - -Comme chaque année des centaines d'extensions et de programmes ont été mis à -jour, voir les sites \acro{CTAN} (\url{http://www.ctan.org}). - -L'arborescence utilisée en interne a été réorganisée avec de nouveaux outils -qui devraient fournir une meilleure base de travail pour les développements -futurs. - -Enfin, en mai 2006 Thomas Esser a annoncé qu'il renonçait à poursuivre le -développement de te\TeX{} (\url{http://tug.org/tetex}). Sa décision a relancé -l'intérêt pour \TL, en particulier chez les distributeurs de solutions -\GNU/Linux (un nouveau schéma d'installation \texttt{tetex} a été ajouté dans -le script d'installation de \TL{} pour produire une distribution proche de -l'ancienne te\TeX). La distribution \TL{} existe déjà sous forme de paquets -Debian, espérons que les autres acteurs du monde Linux (RedHat, SuSe, etc.) -suivront et que les utilisateurs se verront proposer à l'avenir des -distributions \TeX{} riches et plus faciles à installer. - -Remarque finale : toutes les anciennes distributions \TL{} ainsi que les -jaquettes des \CD{} correspondants sont disponibles ici : -\url{ftp://tug.org/historic/systems/texlive}. - -\subsection{L'édition 2008} -\label{tlcurrent} - -En 2008, l'infrastructure de la distribution \TL{} a été entièrement remaniée. -Un nouveau fichier texte, \filename{tlpkg/texlive.tlpdb}, regroupe toutes les -informations concernant la configuration \TL{} de la machine. - -Ce fichier permet entre autres choses de procéder à des mises à jour par le -réseau après l'installation initiale. Cette possibilité était offerte depuis -des années par MiK\TeX. Nous espérons pouvoir fournir des mises à jour -régulières du contenu des archives \CTAN. - -Le nouveau moteur Lua\TeX\ (\url{http://luatex.org}) a été intégré ; -il offre de nouvelles fonctionnalités typographiques et repose -sur l'excellent langage de commande Lua qui peut aussi être utilisé -en dehors de \TeX. - -Les versions Windows et Unix sont beaucoup plus proches que par le passé. -En particulier les scripts en Perl et en Lua sont communs aux deux -architectures. - -\TL{} dispose d'une nouvelle interface pour la maintenance (\cmdname{tlmgr} -voir section~\ref{sec:tlmgr}), elle permet les ajouts, mises à jour et -suppressions de composants et prend en charge la régénération des bases -\texttt{ls-R}, des formats et des fichiers \filename{.map} lorsque c'est -nécessaire. - -Les fonctionnalités de \cmdname{tlmgr} englobent toutes les tâches dévolues -auparavant à \cmdname{texconfig} qui ne devrait plus être utilisé (il est -conservé mais avec un champ d'action réduit). - -Le programme d'indexation \cmdname{xindy} (\url{http://xindy.sourceforge.net/}) -est maintenant disponible pour la plupart des plates-formes. - -L'utilitaire \cmdname{kpsewhich} dispose de deux options nouvelles : -\optname{--all} qui retourne toutes les occurrences du fichier recherché -et \optname{--subdir} qui limite la recherche à un sous-répertoire donné. - -Le programme \cmdname{dvipdfmx} permet maintenant d'extraire les informations -concernant la \textit{bounding box} par le biais de la commande -\cmdname{extractbb}; c'était une des dernières fonctionnalités de -\cmdname{dvipdfm} qui manquaient à \cmdname{dvipdfmx}. - -Les alias de polices \filename{Times-Roman}, \filename{Helvetica}, etc. -ont été supprimés, les conflits de codage qu'ils induisaient n'ayant pas pu -être résolus. - -Le format \pkgname{platex} a été supprimé afin de résoudre un conflit de nom -avec son homonyme japonais ; le support pour le polonais est assuré -maintenant par l'extension \pkgname{polski}. - -Les fichiers \web{} d'extension \filename{.pool} sont maintenant inclus dans -les binaires afin de faciliter les mises à jour. - -Enfin, les changements décrits par Donald Knuth dans « \TeX\ tuneup of 2008 » -(voir \url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}) sont inclus -dans la présente édition. - -\subsection{Versions futures} - -\emph{\TL{} n'est pas un produit parfait !} (et ne le sera jamais). -Nous prévoyons de continuer à produire de nouvelles versions et aimerions -fournir plus d'aide, de fonctionnalités, de programmes d'installation et -(bien sûr) une arborescence améliorée et vérifiée de macros et de fontes. Ce -travail est effectué par des volontaires débordés, dans la limite de leur -temps libre et beaucoup reste à faire. Si vous pouvez nous aider, n'hésitez -pas à nous contacter, voir \url{http://tug.org/texlive/contribute.html}. - -Corrections, suggestions et propositions d'aide doivent être envoyées à : -\begin{quote} -\email{tex-live@tug.org} \\ -\url{http://tug.org/texlive} -\end{quote} - -\medskip -\noindent \textsl{Bon travail avec \TeX{} !} - -\end{document} - -%%% Local Variables: -%%% mode: latex -%%% mode: flyspell -%%% ispell-local-dictionary: "francais" -%%% TeX-master: t -%%% coding: utf-8 -%%% End: diff --git a/Master/texmf/doc/texlive/texlive-de/Makefile b/Master/texmf/doc/texlive/texlive-de/Makefile new file mode 100644 index 00000000000..cecbe52710c --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-de/Makefile @@ -0,0 +1,3 @@ +include ../texlive-en/Makefile +doc = texlive-de +lang = german diff --git a/Master/texmf/doc/texlive/texlive-de/live4ht.cfg b/Master/texmf/doc/texlive/texlive-de/live4ht.cfg new file mode 100644 index 00000000000..4d2aa6b940a --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-de/live4ht.cfg @@ -0,0 +1,47 @@ +% tex4ht configuration file for the TeX Live documentation. +% Accumulated over many years. Public domain. +% +% html specifies the main output format. +% info for extra debugging info in the log files. + +% better approach is to have html in one piece (including footnotes). +% also the newest TeX4ht could produce UTF-8 output (-utf8 option) +\Preamble{charset=iso-8859-1,html,info,fn-in} + +% add extra stylesheet +\Configure{@HEAD}{\HCode{% +\Hnewline +\Hnewline +}} + +% or LaTeX complains it is missing. +\begin{document} + +\EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\newif\ifhackliterals +\ifx\tldocenglish\undefined \else \hackliteralstrue \fi +\ifx\tldocrussian\undefined \else \hackliteralstrue \fi +\ifx\tldocgerman\undefined \else \hackliteralstrue \fi +% +\ifhackliterals + % these definitions cause "missing } inserted" at \end{tabularx} in + % French and Czech. don't know why. + % + % don't make these into links, as happens with \path. We only have a couple + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf/doc/texlive/texlive-de/texlive-de.tex b/Master/texmf/doc/texlive/texlive-de/texlive-de.tex new file mode 100644 index 00000000000..4291b40950e --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-de/texlive-de.tex @@ -0,0 +1,3091 @@ +% $Id: texlive-de.tex,v 1.81 2008/08/13 20:34:57 hahe Exp hahe $ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +\documentclass{article} +\ifnum\Status=1 + % Create A4 pdf + \pdfpageheight297mm + \pdfpagewidth210mm +\fi +\let\tldocgerman=1 % for live4ht.cfg +\usepackage{ngerman} +\usepackage{tex-live} +\usepackage[latin1]{inputenc} % translators: use your preferred encodings. +\usepackage[T1]{fontenc} + +\def\dante{DANTE~e.\,V\kern-0.15em.} +\begin{document} + +\title{% + {\huge \textit{Anleitung zu \TeX\ Live}\\\smallskip}% + {\LARGE \textsf{\TL{} 2008}}% +} + + +\author{Karl Berry (Herausgeber) \\[3mm] + \url{http://tug.org/texlive/}\\[12mm] + \small{\textit{Verantwortlich für die deutsche Ausgabe}}\\[3mm] + \small{Klaus Höppner, \email{klaus@dante.de}} \\ + \small{(\dante)} \\[3mm] + } +\date{August 2008} + + +\maketitle +\thispagestyle{empty} + +\newpage + +\begin{multicols}{2} + \tableofcontents + \listoffigures +\end{multicols} + +%\renewcommand{\Status}{0} +%\typeout{Status is \Status} + +\clearpage + +% ============================================================== +\section{Einleitung}\label{sec:intro} + +Diese Anleitung beschreibt das \TL-System. Die {\TL} Distribution enthält +\TeX/\LaTeX-Systeme für Linux, verschiedene \acro{UNIX}-Plattformen, {\MacOSX} +und (32-Bit)-Windows. + +Wahrscheinlich haben Sie \TL{} auf einem von zwei Wegen bezogen, entweder +per direktem Download von \TL{} oder als Teil der \DVD{} \TK, die von +vielen \TeX-Vereinen (u.\,a. \dante) an ihre Mitglieder verschickt werden +und in Deutschland über die Fachbuchhandlung Lehmanns (\url{http://www.lob.de}) +vertrieben wird. Abschnitt~\ref{sec:tl-coll-dists} beschreibt kurz den +Inhalt der \TK-\DVD. Sowohl \TL{} und die \TK{} sind durch das Engagement +vieler Freiwilliger aus vielen \TeX-Vereinen entstanden. Im Übrigen +beschränkt sich diese Anleitung auf \TL{} an sich. + +{\TL} enthält lauf"|fähige Versionen von \TeX, \LaTeXe, \ConTeXt, \MF, \MP, +{\BibTeX} und vielen anderen Programmen, +sowie eine umfassende Auswahl an Makros, Zeichensätzen und +Beschreibungen, die gemäß der Standard"=\TeX"=Verzeichnisstruktur (\TDS) +abgelegt sind. + +Wenn Sie neuere Versionen der dort aufgeführten Pakete zu suchen wollen, gehen Sie am besten zu \acro{CTAN}: +\url{http://www.ctan.org/}. + +Eine kurze Zusammenfassung der wesentlichen Änderungen der aktuellen \TL-Version +gegenüber der Vorgängerversion finden Sie im Abschnitt~\ref{sec:history} auf +Seite~\pageref{sec:history}. + +\subsection{Unterstützung verschiedener Betriebssysteme} +\label{sec:os-support} +\TL{} enthält direkt ausführbare Programme für viele Unix-basierte +Betriebssysteme, inklusive \MacOSX. Selbst wenn Ihr Unix-System wider +Erwarten nicht unterstützt wird, sollten Sie in der Lage sein, aus +den mitgelieferten Programm-Quellen ein funktionierendes \TeX-System zu +kompilieren. + +Bezüglich Microsoft Windows werden Versionen ab Windows~2000 unterstützt, +während die aktuelle \TL{} unter Windows 95/98, ME und NT nicht +mehr lauffähig ist. Es existieren zwar keine 64-Bit-Versionen der +Programme, allerdings sollten die 32-Bit-Programme problemlos auf +64-Bit-Systemen funktionieren. + +% ------------------------------------------------------------- +\subsection{Einsatzmöglichkeiten des \TL-Systems der \TK}\label{sec:basic} + +Sie können das \TL-System wahlweise von der \DVD{} oder über das +Internet installieren. Der \emph{Net Installer} ist ein kleines Programm, +das die benötigten Teile aus dem Internet nachlädt. Dieser Weg bietet +sich an (eine schnelle und stabile Internetverbindung voraus gesetzt), +wenn Sie kein komplettes \TL{} installieren wollen, sondern Ihr System nur +mit bestimmten Paketen bestehen soll. + +Wenn Sie die \DVD{} besitzen (oder das ISO-Image der \DVD{} herunter +geladen haben -- dieses kann auf einigen Systemen sogar direkt als +virtuelles Medium ">gemountet"< werden), können Sie \TL{} nach +Wunsch auf Ihrer Festplatte installieren oder direkt von der \DVD +benutzen. + +Beide Methoden werden in den Abschnitten zur Installation beschrieben. +Hier daher nur die kurze Zusammenfassung: + +\begin{itemize*} +\item Das Hauptinstallationsskript ist \cmdname{install-tl}. Es existiert +sowohl im Textmodus als auch in Form einer grafischen Benutzeroberfläche (GUI). +Unter Windows ist der grafische Modus der Standard, auf allen anderen +Systemen der Textmodus. Durch die Optionen \code{-gui} bzw.\ \code{-no-gui} +können Sie gezielt einen der beiden Modi auswählen. +\item \TL installiert u.\,a. den neuen ">\TL Manager"< mit dem Namen +\prog{tlmgr}. Auch dieser unterstützt Text- und GUI-Mode. Mit diesem +Programm können Sie einerseits Pakete von \TL installieren oder deinstallieren, +andererseits \TL konfigurieren. +\end{itemize*} + + +% ------------------------------------------------------------- +\subsection{">Wo bekomme ich Hilfe?"< oder ">Hier werden Sie geholfen!"<}\label{sec:help} + +Die \TeX-Gemeinschaft ist ebenso aktiv wie hilfsbereit, und es wird +praktisch jede ernst gemeinte Frage beantwortet. Diese Hilfe ist allerdings +nicht formal organisiert, sondern wird von Freiwilligen in ihrer +Freizeit geleistet. Es ist daher ernst gemeint, dass Sie vor einer +Fragestellung Ihre ">Hausaufgaben"< gemacht haben. Falls Sie auf +eine garantierte kommerzielle Unterstützung angewiesen sind oder eine solche +bevorzugen, sollten Sie die Finger vollständig vom \TL-System lassen und +in der Aufstellung unter \url{http://tug.org/interest.html#vendors} nach +einem geeigneten Händler suchen. + +Die folgende Liste stellt die leicht zugänglichen Quellen in der +empfohlenen Reihenfolge vor: + +\begin{description} +\item [Einführung:]\mbox{}\\ + Wenn Sie \TeX-Anfänger sind und eine englische Einführung in das System benötigen, + sollten Sie das \acro{WWW}-Dokument \url{http://tug.org/begin.html} (Englisch) lesen. + + Für deutschsprachige \LaTeX-Anfänger ist die ">\LaTeXe-Kurzbeschreibung"< von großem Nutzen + (\OnCD{texmf-doc/doc/german/lshort-german/l2kurz.pdf}). +\item [\TeX-\acro{FAQ}s:]\mbox{}\\ + Die \TeX-\acro{FAQ} (im Deutschen + \file{de-tex-faq} ">\emph{Fragen und Antworten [\acro{FAQ}] über + das Textsatzsystem TeX und \acro{DANTE}, Deutschsprachige + Anwendervereinigung TeX e.V.}"<) ist ein riesiges Kompendium + mit Fragen (und Antworten) aller Art, von der einfachsten + Anfängerfrage bis zu Expertenwissen. + % Sie ist Bestandteil + % des \TL-Systems (\OnCD{texmf-doc/doc/german/FAQ-de/}) und umfasst zur + % Zeit 182~Seiten als PDF-Datei (\OnCD{texmf-doc/doc/german/FAQ-de/de-tex-faq.pdf}). + % Darüber hinaus ist die + % \acro{FAQ} als \HTML-Datei (\OnCD{texmf-doc/doc/german/FAQ-de/html/index.html}) + % und als durchsuchbare Textdatei + % (\OnCD{texmf-doc/doc/german/FAQ-de/text/index.html}) enthalten. + % Im Internet finden Sie die \acro{FAQ} unter + Sie finden die deutschsprachige \acro{FAQ} unter + \url{http://www.dante.de/faq/de-tex-faq/}; zudem wird die + Text"-ver"-sion regelmäßig in die News-Gruppe + \url{news:de.comp.text.tex} + verschickt. Die \acro{FAQ} besteht aus mehreren Teilen, wobei + jeder Teil ohne News-Header nicht länger als ca. 32\,KB ist. + + Des Weiteren existiert eine englischsprachige \acro{FAQ}-Sammlung + (\OnCD{texmf-doc/doc/english/FAQ-en/newfaq.pdf}), die auch im Internet verfügbar ist + (\url{http://www.tex.ac.uk/faq}). + + Bitte nutzen Sie bei Problemen zu allererst diese beiden Möglichkeiten. + +\item [\TeX-Catalogue:]\mbox{}\\ + Wenn Sie auf der Suche nach einem bestimmten Paket, + Font, Programm u.\,ä. sind, empfiehlt sich ein Blick in den + \TeX-Catalogue. Dieser Katalog enthält eine Liste aller verfügbaren + \TeX-spezifischen Dinge (siehe + % \OnCD{texmf-doc/doc/english/catalogue} oder + \url{http://www.ctan.org/tex-archive/help/Catalogue/catalogue.html}). + +\item [\TeX-\acro{WWW}-Ressourcen:]\mbox{}\\ + Im \acro{WWW}-Dokument \url{http://tug.org/interest.html} finden Sie eine große Anzahl \TeX-spezifischer + Links zu Büchern, Manuals und Artikeln zu allen Aspekten des \TeX-Systems. + +\item [Archive:]\mbox{}\\ + Ein Forum für die Hilfestellung sind die Usenet-News-Gruppen + \url{news:de.comp.text.tex} (Deutsch), \url{news:comp.text.tex} (Englisch) + und die Mailing-Liste \email{texhax@tug.org}. In deren Archiven finden + sich die Fragen und Antworten vieler Jahre. Ihre Suche können Sie in Google + beispielsweise mit \url{http://groups.google.de/group/de.comp.text.tex/topics} + starten -- oder auch in \url{http://tug.org/mail-archives/texhax/}. + + Im Allgemeinen ist es recht Erfolg versprechend, eine generelle Suche über Google + \url{http://www.google.de/} durchzuführen (entweder im \emph{WWW} allgemein + oder in den \emph{News-Gruppen}); dies insbesondere, wenn es sich um Fragen über + \PS/PDF, \cmdname{Ghostscript} u.\,ä. handelt. + +\item [Fragen stellen:]\mbox{}\\ + Wenn Sie mit den oben aufgezeigten Möglichkeiten immer noch keine + Antwort auf Ihre Frage gefunden haben, können Sie die Frage auch in einer + News-Gruppe stellen (neudeutsch: \emph{posten}). Hier bietet sich für + den deutschsprachigen Raum die News-Gruppe \url{news:de.comp.text.tex} an. + Benutzen Sie am besten für Anfragen Google + (\url{http://groups.google.de/group/de.comp.text.tex/topics}) + oder einen Newsreader. Fragen an die englischsprachige Gruppe + \url{news:comp.text.tex} + (bei Google: \url{http://groups.google.de/group/comp.text.tex/topics}) + sollten Sie bitte nur in Englisch stellen. + + Zusätzlich existieren E-Mail-Diskussionslisten, wobei hier die deutschsprachige Liste + \email{TeX-D-L@listserv.dfn.de} zu nennen ist (das englischsprachige Äquivalent + ist \email{texhax@tug.org}). Darüber hinaus bietet sich für Mitglieder + von \acro{DANTE}~e.V. der Beraterkreis an (\email{beraterkreis@dante.de}). + Wie Sie sich in die E-Mail-Liste \dirname{TeX-D-L} eintragen können, + finden Sie in der \acro{FAQ} unter ">\texttt{1.3.2 Was ist TeX-D-L?}"<. + + Bevor Sie aber eine Frage absenden, lesen Sie \emph{bitte} die entsprechenden + Einträge der \acro{FAQ} zum Thema ">\emph{Wie stelle ich eine Frage in einer + Newsgroup, damit ich mit hoher Wahrscheinlichkeit eine Antwort bekomme?}"<. So + z.\,B. ">\texttt{1.3.1 Was ist `de.comp.text.tex'?}"< und ">\texttt{1.3.7 Was + sollte ich gelesen haben, bevor ich eine Frage in `de.comp.text.tex' oder der + Diskussionsliste TeX-D-L stelle?}"< oder auch + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [Mithilfe:]\mbox{}\\ + Wenn Sie einen Fehler melden wollen oder Empfehlungen und Kommentare + zur \TL-Verteilung, -Installation oder -Dokumentation geben möchten, sollten Sie die + E-Mail-Liste \email{tex-live@tug.org} nutzen. + Korrekturen, Anmerkungen und Erweiterungen für die deutsche Übersetzung können Sie auch + an \email{cdrom@dante.de} oder schriftlich an die Geschäftsstelle von + \acro{DANTE}~e.V. senden. + + Fragen zu Programmen, die Sie in der {\TK} finden, sollten Sie besser auf + einer der oben genannten Mailing-Listen stellen oder direkt an den Programmautor + richten. +\end{description} + +Auf der anderen Seite können auch Sie mit Ihrem Wissen helfen. Die News-Gruppen +\url{news:de.comp.text.tex} (in Deutsch), \url{news:comp.text.tex} (in Englisch) und +die Mailing-Liste \email{TeX-D-L@listserv.dfn.de} (Deutsch) und \email{texhax@tug.org} (Englisch) +stehen allen offen. Wenn Sie also dort mitlesen, scheuen Sie sich nicht, Fragen, +zu denen Sie eine Antwort wissen, zu beantworten und damit anderen zu helfen. + +% ============================================================== +\section[Überblick zum \protect\TeX Live-System]{Überblick zum \TL-System} +\label{sec:overview-tl} +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. + +In diesem Abschnitt beschreiben wir Struktur und Inhalt des \TL-Systems und der übergeordneten \TK-\DVD. + + +% ------------------------------------------------------------- +\subsection[Die \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX]% +{Die \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX}\label{sec:tl-coll-dists} + +Die \DVD ">\TK"< besteht aus: +\begin{description} +\item[\TL] Ein komplettes \TeX-System, wahlweise zur Installation auf Festplatte oder zur direkten Benutzung +von der \DVD. +\item[Mac\TeX] für \MacOSX. Dieses enthält das komplette \TL, bietet zusätzlich aber ein Installationsprogramm +für Mac und einige Zusatzprogramme. Nähere Informationen finden Sie auf der Homepage von Mac\TeX{} unter +\url{http://www.tug.org/mactex/}. +\item[pro\TeX{}t] basiert auf der \MIKTEX-Distribution für Windows. Es enthält noch einige Zusatzprogramme und +stellt eine einfache Installationsanleitung bereit, die Schritt für Schritt den Weg zu einem kompletten +\TeX-System beschreibt. Die Homepage von pro\TeX{}t findet sich unter \url{http://tug.org/protext}. +\item[CTAN] Weiterhin ist auf der \DVD{} ein Ausschnitt der \TeX-bezogenen Software enthalten, die sich +in CTAN, dem \emph{Comprehensive \TeX{} Archive Network} befinden. +\item [\texttt{texmf-extra}] In diesem Verzeichnis befinden sich zusätzliche Pakete, die kein Teil von +\TL sind. +\end{description} + +\CTAN{}, \pkgname{protext} und \dirname{texmf-extra} unterliegen nicht den selben Lizenzregeln wie \TL. +Daher können für Teile hieraus andere Lizenzbedingungen bezüglich einer Weiterverteilung oder +Modifikation gelten, die Sie unbedingt beachten sollten! + +% ------------------------------------------------------------- +\subsection{Basisverzeichnisse von \TL}\label{sec:tld} + +In diesem Abschnitt beschreiben wir die Basisverzeichnisse der \TL-Distribution. + +Auf der \pkgname{live}-\DVD befindet sich die gesamte \TL-Hierarchie im Unterverzeichnis \dirname{texlive} +-- nicht im Wurzelverzeichnis der \DVD. + +\begin{center} +%% \begin{longtable}{@{}>{\ttfamily}lp{.63\hsize}@{}} +%% \hline +%% \rm +%% Verzeichnis & Inhalt \\ +%% \hline +%% \endfirsthead +%% \rm +%% Verzeichnis & Inhalt \\ +%% \hline +%% \endhead +%% \hline +%% \endfoot +\begin{tabular}{@{}>{\ttfamily}lp{.75\linewidth}@{}} +bin & ausführbare Programme des \TeX-Systems; + jeweils für die verschiedenen Rechnerplattformen + in Unterverzeichnissen zusammengefasst\\ +readme-html.dir & in diesem Verzeichnis (!) befinden sich HTML-Dateien + in verschiedenen Sprachen, die als schneller + Einstieg in \TL empfehlenswert sind.\\ +readme-txt.dir & in diesem Verzeichnis (!) befinden sich Text-Dateien + mit den gleichen Inhalten wie in {\ttfamily readme-html.dir}.\\ +source & Quelldateien aller Programme inklusive der + \Webc-Quellen für die \TeX- und \MF-Pakete als + komprimierte \file{bzip2}"=Archive\\ +support & verschiedene Programme und Hilfspakete, die \emph{nicht} automatisch + mitinstalliert werden, wie z.\,B. Editoren und \TeX-Shells\\ +texmf & Verzeichnisbaum für Programme und zugehörigen Hilfsdateien und Anleitungen; enthält keine \TeX-Formate + und Pakete (siehe \texttt{TEXMFMAIN} im nächsten Abschnitt)\\ +texmf-dist & Hauptbaum mit Formaten und Paketen (siehe \texttt{TEXMFDIST} im nächsten Abschnitt)\\ +texmf-doc & Verzeichnisbaum mit vollständigen Dokumentationen (ohne andere installierte Dateien); sortiert nach + Sprachen \\ +texmf-var & Verzeichnisbaum für automatisch erzeugte und gespeicherte Dateien + für \TeX, {\MF} und andere (siehe \texttt{TEXMFSYSVAR} im nächsten Abschnitt),\\ +%%\end{longtable} +\end{tabular} +\end{center} +% +Zusätzlich zu den oben aufgeführten Verzeichnissen finden Sie +im Wurzelverzeichnis der Distribution +auch noch die Installationsskripte. + +Das Verzeichnis \OnCD{texmf-doc} enthält zwar nur Anleitungen, bei weitem aber nicht die gesamte Dokumentation: +Die Dokumentation für Programme (Handbücher, ">man~pages"<, \acro{GNU}-\acro{info}-Dateien) beispielsweise finden Sie +im Verzeichnis \OnCD{texmf/doc}, da die Programme selbst sich im Verzeichnis \OnCD{texmf} befinden. Ähnliches +gilt für die Dokumentation der \TeX-Pakete und -Formate im Verzeichnis \OnCD{texmf-dist/doc}. + +Benutzen Sie die Programme \cmdname{texdoc} oder \cmdname{texdoctk}, wenn Sie auf der Suche nach irgendeiner +Dokumentationsdatei sind. Hilfreich in diesem Zusammenhang könnte auch die Link-Sammlung \filename{doc.html} im +Wurzelverzeichnis sein. + +Die Anleitung zu \TL ist in verschiedenen Sprachen verfügbar: +\begin{itemize*} +\item{Chinesisch:} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn/texlive-zh-cn} +\item{Tschechisch/Slowakisch:} \OnCD{texmf-doc/doc/czechslovak/texlive-cz/live} +\item{Englisch:} \OnCD{texmf-doc/doc/english/texlive-en/texlive-en} +\item{Französisch:} \OnCD{texmf-doc/doc/french/texlive-fr/texlive-fr} +\item{Deutsch:} \OnCD{texmf-doc/doc/german/texlive-de/texlive-de} (dieses Dokument) +\item{Polnisch:} \OnCD{texmf-doc/doc/polish/texlive-pl/texlive-pl} +\item{Russisch:} \OnCD{texmf-doc/doc/russian/texlive-ru/texlive-ru} +\end{itemize*} + +% ------------------------------------------------------------- +\subsection{Überblick über die vordefinierten texmf-Bäume} +\label{sec:texmftrees} + +Dieser Abschnitt listet alle vordefinierten texmf-Bäume, die vom System benutzt +werden, und deren Bedeutung auf. Das Kommando \cmdname{texconfig conf} +zeigt Ihnen die aktuellen Einstellungen dieser Variablen an. + +\begin{ttdescription} +\item [TEXMFMAIN] In diesem Baum befinden sich wichtige Teile des Systems, + Hilfsprogramme (wie \verb+web2c/mktexdir+), pool-Dateien und andere + Hilfsdateien. +\item [TEXMFDIST] In diesem Baum befinden sich die wesentlichen Makro-Pakete, + Fonts usw. Dieser Baum enthält systemunabhängige Daten, die prinzipiell + von jedem TDS-kompatiblem \TeX-System nutzbar sein sollten. +\item [TEXMFLOCAL] Dieser Baum ist für Ergänzungen oder Aktualisierungen + von Makros, Fonts etc. gedacht, die Administratoren für alle Nutzer + installieren. +\item [TEXMFHOME] In diesem Baum können einzelne Nutzer Ergänzungen oder + Aktualisierungen von Makros, Fonts etc. ablegen. Standardmäßig befindet + sich dieser Baum unterhalb von \verb+$HOME+, so dass andere Nutzer von + Änderungen hier nicht beeinflusst werden. +\item [TEXMFCONFIG] Dieser Baum wird von den Hilfsprogrammen von te\TeX{} + wie \verb+texconfig+, \verb+updmap+ und \verb+fmtutil+ verwendet. + Standardmäßig befindet sich dieser Baum unterhalb von \verb+$HOME+, + so dass andere Nutzer von Änderungen hier nicht beeinflusst werden. +\item [TEXMFSYSCONFIG] Dieser Baum wird von den Hilfsprogrammen von te\TeX{} + wie \verb+texconfig-sys+, \verb+updmap-sys+ und \verb+fmtutil-sys+ + verwendet, so dass hier das Verhalten des \TL-Systems für alle Nutzer + beeinflusst werden kann. +\item [TEXMFVAR] Dieser Baum wird von Hilfsprogrammen wie \verb+texconfig+, + \verb+updmap+ und \verb+fmtutil+ benutzt, um automatisch generierte + Konfigurations-Dateien abzulegen. +\item [TEXMFSYSVAR] Dieser Baum wird von den systemweiten Hilfsprogrammen + wie \verb+texconfig-sys+, \verb+updmap-sys+ und \verb+fmtutil-sys+ + verwendet, um automatisch generierte Konfigurations-Dateien abzulegen. +\end{ttdescription} + +\noindent +Der Standard der Verzeichnisstruktur von \TL sieht wie folgt aus: +\begin{description} + \item[System-weites Wurzelverzeichnis] kann \TL{}-Versionen aus mehreren Jahren beinhalten: + \begin{ttdescription} + \item[2007] Eine Vorversion von \TL. + \begin{ttdescription} + \item [...] + \end{ttdescription} + \item[2008] Die aktuelle Version. + \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] Hierauf verweist \envname{TEXMFMAIN}. + \item [texmf-dist] \envname{TEXMFDIST} + \item [texmf-doc] \envname{TEXMFDOC} + \item [texmf-var] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, dieses Verzeichnis gilt für alle installierten \TL-Versionen + (aktuelle Version und Vorgängerversion), so dass hier durchgeführte lokale Änderungen über die + Jahre hinweg erhalten bleiben. + \end{ttdescription} + \item[Home-Verzeichnis des Benutzers] + (\texttt{\$HOME} oder \texttt{\%USERPROFILE\%}): + \begin{ttdescription} + \item[.texlive2007] Vom Nutzer privat erzeugte Dateien and Konfigurationsdaten + der Vorversion. + \item[.texlive2008] Vom Nutzer privat erzeugte Dateien and Konfigurationsdaten + für die aktuelle Version von \TL. + \begin{ttdescription} + \item [texmf-var] \envname{TEXMFVAR} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} Persönliche Makros, Fonts usw. des Nutzers. + \textit{etc.} + \end{ttdescription} +\end{description} + +% ------------------------------------------------------------- +\subsection{\protect\TeX-Erweiterungen}\label{sec:tex-extensions} + +Unter den \TeX-Systemen der {\TL} befinden sich verschiedene +\TeX"=Erweiterungen: + +\begin{description} +\item [\eTeX]\label{text:etex} stellt bei 100\%-iger Kompatibilität zum + normalen {\TeX} einen kleinen, aber mächtigen Satz neuer Befehle + bereit (für Makroexpansion, Character-Scanning, zusätzliche + Klassen für ">marks"<, erweiterte Debug-Möglichkeiten und andere). + Zusätzlich gibt es noch die \TeXXeT-Erweiterungen für den bidirektionalen Textsatz, + wie er beispielsweise im Arabischen gebraucht wird. + Im voreingestellten Modus ist {\eTeX} 100\%-ig kompatibel mit dem ">normalen"< \TeX. + Die Dokumentation zu {\eTeX} finden Sie in der Datei + \OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. +\item [pdf\TeX] enthält die \eTeX\ Erweiterungen und erlaubt zusätzlich + die Ausgabe in PDF-Dateien sowie {\dvi}-Dateien. + Die Dokumentation zu pdf\TeX{} finden Sie unter + \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. + In der Datei + \OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex} finden + Sie ein Anwendungsbeispiel. Das \LaTeX"=Paket \pkgname{hyperref} + besitzt die Option \optname{pdftex} mit der Möglichkeit + für aktive Querverweise (Hypertext) in PDF-Dateien. +\item [Lua\TeX] befindet sich noch in Entwicklung + und ist als zukünftiger Nachfolger von pdf\TeX\ vorgesehen, + zu dem es abwärtskompatibel bleiben soll. + Weiterhin soll es auch Aleph ersetzen. + Durch den enthaltenen Lua-Interpreter (s.\,\url{http://www.lua.org/}) + können Probleme, die in \TeX{} nur mühsam lösbar sind, + einfach und elegant gelöst werden. + Wird es unter dem Namen \filename{texlua} aufgerufen, + verhält es sich wie ein eigenständiger Lua-Interpreter + -- und wird als solcher in vielen Skripten von \TL bereits benutzt. + Für weitere Informationen siehe \url{http://www.luatex.org/} und + \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. +\item [XeTeX] bietet die Unterstützung von Unicode Zeichensätzen und + OpenType Schriften durch diverse zusätzliche Bibliotheken. + Mehr Informationen sind unter \url{http://scripts.sil.org/xetex} + verfügbar. +\item [\OMEGA] (Omega) ist ein \TeX-System, das intern mit Unicode + (16-Bit"=Unicode"=Zeichen) arbeitet und damit das gleichzeitige + Arbeiten mit nahezu allen auf der Welt eingesetzten Schriften + und deren Zeichenkodierungen erlaubt. Außerdem werden über dynamisch + geladene, sogenannte ">{\OMEGA}~Translation~Processes"< (\acro{OTP}s) + Transformationen zur Verfügung gestellt, die beliebige Eingaben + vor der Bearbeitung durch {\TeX} nach bestimmten Regeln + umformen. Die (nicht ganz aktuelle) Anleitung zu {\OMEGA} finden + Sie in dem \TL-System in der Datei \OnCD{texmf-dist/doc/omega/base/doc-1.8.tex}. +\item [$\aleph$] (Aleph) vereinigt die \OMEGA- und \eTeX-Erweiterungen. + Eine Minimaldokumentation finden Sie in \OnCD{texmf-dist/doc/aleph/base}. +\end{description} + +%\clearpage + +% ------------------------------------------------------------- +\subsection{Weitere Programme von \TL} + +{\TL} enthält eine ganze Reihe unterstützender Programme wie + +\smallskip + +\begin{description} +\item[\cmdname{bibtex}] Verwalten von Bibliographien +\item[\cmdname{dv2dt, dt2dv}] \file{dvi} nach ASCII und umgekehrt +\item[\cmdname{dviconcat}] Zusammenfügen von \dvi-Dateien +\item[\cmdname{dvips}] Konversion von {\dvi} in {\PS} +\item[\cmdname{dviselect}] Ausschneiden von Seiten aus \dvi-Dateien +\item[\cmdname{dvipdfmx}] \dvi-nach-PDF-Konverter (erzeugt auch + \acro{CJK}-konformes PDF aus + \dvi-Dateien mit \OMEGA"=Erweiterungen), als Alternative + zu pdf\TeX +\item[\cmdname{dvilj}] Druckertreiber für die HP-LaserJet"=Familie +\item[\cmdname{lacheck}] \LaTeX-Syntax-Überprüfung +\item[\cmdname{makeindex}] Erzeugen eines Stichwortverzeichnisses +\item[\cmdname{mpost}] \MF-ähnliches Grafikprogramm +\item[\cmdname{psnup}] mehrere logische \PS-Seiten auf einem Blatt platzieren +\item[\cmdname{psselect}] Ausschneiden von Seiten aus \PS-Dateien +\item[\cmdname{tex4ht}] \TeX-nach-\HTML-Konvertierung +\item[\cmdname{texexec, texmfstart}] \ConTeXt- und PDF"=Prozessor +\item[\cmdname{xdvi}] \dvi-Bildschirmausgabe im X-Window-System +\end{description} + +\subsection{Fonts in \protect\TL} +\label{sec:tl-fonts} + +\TL{} enthält eine Vielzahl qualitativ hochwertiger Vektorschriften. Weitere Informationen hierzu finden sich unter \url{http://tug.org/fonts} und \OnCD{texmf-doc/doc/english/free-math-font-survey/survey}. + +% ============================================================== +\section[Installation von \TeX Live]{Installation von \protect\TL} +\label{sec:install} + +\subsection{Das Installationsprogramms} +\label{sec:inst-start} + +Zur Installation von \TL benötigen Sie die \TK{}-\DVD{} oer den \emph{\TL{} Net Installer} aus dem Internet. + +\begin{description} +\item [Net Installer:] Verfügbar von \CTAN, unter +\dirname{systems/texlive/tlnet}; die URL +\url{http://mirror.ctan.org/systems/texlive/tlnet} leitet Sie automatisch +an einen nahe gelegenen Server des \CTAN-Netzwerks weiter. +Sie können entweder die Datei \filename{install-tl.zip} herunter laden, +die sowohl für Unix als auch Windows gedacht ist, +oder die deutlich kleinere Datei \filename{install-unx.tar.gz}, +die aber nur den Installer für Unix enthält. +Nach dem Auspacken finden Sie die Dateien \filename{install-tl} (Unix) +bzw.\ \filename{install-tl.bat} (Windows) im Verzeichnis \dirname{install-tl}. + +\item [\TeX{} Collection \DVD:] Hier finden Sie die Dateien \filename{install-tl} (Unix) +bzw.\ \filename{install-tl.bat} (Windows) im Verzeichnis \dirname{texlive} +der \DVD. Unter Windows startet beim Einlegen der DVD i.\,A. automatisch ein Programm, bei dem Sie u.\,a. das +Installationsprogramm von \TL auswählen können. Die \DVD\ erhalten Sie als Mitglied eines \TeX-Vereins +(wie \url{http://www.dante.de} für den deutschsprachigen Raum, weitere Vereine finden Sie unter +\url{http://tug.org/usergroups.html}), oder innerhalb Deutschlands von der Fachbuchhandlung Lehmanns +(\url{http://www.lob.de}) oder international von der \TeX{} Users Group +(\url{http://tug.org/store}). Alternativ können Sie das \ISO-Image der \TL (\url{http://tug.org/texlive/acquire.html}) aus dem Internet laden. + +\end{description} + +Die folgenden Abschnitte beschreiben die Installation für die einzelnen Betriebssysteme. +\subsubsection{Unix} + +\begin{figure}[tb] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in indicate menu items <======= +=======> for commands or configurable options <======= + + + Detected platform: Intel x86 with GNU/Linux + + binary systems: 1 out of 16 + + Installation scheme (scheme-full) + + Customizing installation scheme: + standard collections + language collections + 83 collections out of 84, disk space required: 1666 MB + + directories: + TEXDIR (the main TeX directory): + !! default location: /usr/local/texlive/2008 + !! is not writable, please select a different one! + TEXMFLOCAL (directory for site-wide local files): + /usr/local/texlive/texmf-local + TEXMFSYSVAR (directory for variable and automatically generated data): + /usr/local/texlive/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + options: + [ ] use letter size instead of A4 by default + [X] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks in standard directories + + Install for running from DVD + +Other actions: + start installation to HD + help + quit + +Enter command: +\end{boxedverbatim} +\caption{Installationsprogramm im Text-Modus (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-w32-main}{\linewidth} +\caption{Grafische Oberfläche des Installationsprogramms (Windows)}\label{fig:gui-main} +\end{figure} + +\noindent +Im Folgenden werden die Eingaben des +Benutzers nach dem Kommando-Prompt \samp{>} \Ucom{fett} dargestellt. + +Öffnen Sie ein Terminalfenster auf Ihrem Unix-System und geben Sie folgende Befehle ein: +\begin{alltt} +> \Ucom{cd /pfad/zum/installer} +> \Ucom{perl install-tl} +\end{alltt} +(Sie können auch direkt \Ucom{perl /pfad/zum/installer/install-tl} eingeben. Wenn Ihre +\DVD so gemountet ist, dass als ausführbar gekennzeichnete Skripte direkt gestartet werden +können, können Sie im Verzeichnis des Installers auch direkt +\Ucom{./install-tl} eingeben.) + +Zum Installieren mit Hilfe einer Benutzeroberfläche verwenden Sie +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +Alle Optionen des Installationsprogramms werden mit +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} +angezeigt. + +\textbf{Wichtiger Hinweis zu den Zugriffsrechten unter Unix:} Ihre aktuelle Einstellung von \code{umask} +wird bei der Installation von \TL{} berücksichtigt. Daher müssen Sie darauf achten, dass Sie hierfür +einen sinnvollen Wert einstellen (z.\,B. \code{umask002}), wenn Ihre Installation auch durch andere Nutzer +als Sie benutzt werden soll. Falls Sie unsicher sind, was dies bedeutet, schauen Sie bitte in die Anleitung +zu \code{umask} (indem Sie das Kommando \code{man umask} eingeben). + +\subsubsection{Mac\,OS\,X} + +Wie in Abschnitt~\ref{sec:tl-coll-dists} bereits erwähnt wurde, existiert mit Mac\TeX{} (\url{http://tug.org/mactex}) ein eigenes \TeX-System für \MacOSX. Dieses enthält ein +komplettes \TL mit einem Installationsprogramm, das in Funktionalität und Aussehen der üblichen Installation von Software unter \MacOSX entspricht. Weiterhin sind einige Zusatzprogramme enthalten. + +Wenn Sie die \TK-\DVD besitzen, empfiehlt es sich daher, Mac\TeX{} zu verwenden. + +\subsubsection{Windows} + +Wenn Sie den \emph{Net Installer} verwenden, oder auf Ihrem System beim Einlegen der \DVD das +Installationsprogramm nicht automatisch gestartet wurde, können Sie die Installation von +\TL im Windows-Explorer durch Doppelklick auf \filename{install-tl.bat} (auf der \DVD befindet +sich diese Datei im Verzeichnis \texttt{texlive}) starten. + +Alternativ können Sie eine MS-DOS"=Eingabeaufforderung verwenden, dort in das Verzeichnis wechseln, +in dem sich das Installationsprogramm befindet und dort +\begin{alltt} +D:\bs{}texlive\bs{}> \Ucom{install-tl} +\end{alltt} +eingeben -- \texttt{...>} kennzeichnet hierbei den Eingabeprompt; +Ihre Eingabe ist \Ucom{\texttt{bold/fett}} dargestellt. + +Alternativ können Sie die Installation auch aus einem beliebigen Verzeichnis heraus starten: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +wobei wir hier annehmen, dass sich ihre \TK-\DVD im Laufwerk D: befindet. + +Zur Installation im Textmodus verwenden Sie: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +Alle vorhandenen Optionen, die beim Starten des Installationsprogramms verwendet werden können, werden +wie folgt angezeigt: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\subsubsection{Installation im Textmodus} + +Abb.~\ref{fig:text-main} zeigt den Eingangsbildschirm des Installationsprogramms im Textmodus. +Dieser ist ein reiner Textmodus, d.\,h., es gibt somit keine Unterstützung zum Wandern durch die +einzelnen Menüpunkte mit den Cursor-Tasten. Alle Befehle wie z.\,B. die Auswahl von Menüpunkten werden +durch Eingabe der entsprechenden Befehle bzw.\ Menükürzel über die Tastatur eingegeben und +dann durch Drücken von \emph{Enter} übernommen. Hierbei wird zwischen Groß- und Kleinschreibung +unterschieden! + +Die Installation im Textmodus ist so spartanisch, weil dieser Modus überall funktionieren soll und daher +auf die Verwendung von Bibliotheken wie \texttt{ncurses} unter Unix verzichtet wurde. + +\subsubsection{Installation mit Benutzeroberfläche} + +Abb.~\ref{fig:gui-main} stellt den Eingangsbildschirm des Installationsprogramms unter +Windows dar. Hier ist die Installation im grafischem Modus voreingestellt. +Der Großteil der Unterschiede in den Menüpunkten +im Vergleich zur Darstellung im Textmodus in Abb.~\ref{fig:text-main} +ergibt sich aus der Tatsache, +dass das hier abgebildete GUI-Fenster unter Windows dargestellt wurde. + +\subsection{Benutzung des Installationsprogramms} +\label{sec:runinstall} + +Das Installationsprogramm sollte (wenn Sie die vorherigen Abschnitte zum Aufbau von \TL und der +verwendeten Verzeichnisstruktur gelesen haben) weitgehend selbsterklärend sein. Trotzdem wollen wir +auf einige Punkte näher eingehen. + +\subsubsection{Auswahl der Binaries (nur für Unix)} +\label{sec:binary} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Available sets of binaries: +=============================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] hppa-hpux HP-UX + d [ ] i386-freebsd Intel x86 with FreeBSD + e [X] i386-linux Intel x86 with GNU/Linux + f [ ] i386-openbsd Intel x86 with OpenBSD + g [ ] i386-solaris Intel x86 with Sun Solaris + h [ ] mips-irix SGI IRIX + i [ ] powerpc-aix PowerPC with AIX + j [ ] powerpc-linux PowerPC with GNU/Linux + k [ ] sparc-linux Sparc with GNU/Linux + l [ ] sparc-solaris Sparc with Solaris + m [ ] universal-darwin universal binaries for MacOSX/Darwin + o [ ] win32 Windows + p [ ] x86_64-linux x86_64 with GNU/Linux +\end{boxedverbatim} +\caption{Auswahlmenü für Binaries}\label{fig:bin-text} +\end{figure} + +Abb.~\ref{fig:bin-text} zeigt das Auswahlmenü für die Binaries der einzelnen Betriebssysteme im Textmodus. +Im Allgemeinen sollte hier schon das richtige System ausgewählt sein. Sie können aber problemlos Binaries +für verschiedene Systeme parallel auswählen. Dies bietet sich an, wenn Ihre Installation auf verschiedenen +Rechnern in einem heterogenen Netzwerk sichtbar ist und von dort aus benutzt werden soll. + +\subsubsection{Auswahl der zu installierenden Komponenten} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select a scheme: +=============================================================================== + + a [ ] TeX Live basic scheme + b [ ] TeX Live scheme for ConTeXt + c [X] TeX Live full scheme + d [ ] GUST TeX Live scheme + e [ ] GUTenberg TeX Live scheme + f [ ] TeX Live medium scheme + g [ ] TeX Live minimal scheme + h [ ] TeX Live for Omega users + i [ ] teTeX scheme + j [ ] XML typesetting scheme +\end{boxedverbatim} +\caption{Menü zur Auswahl des Schemas}\label{fig:scheme-text} +\end{figure} + +Abb.~\ref{fig:scheme-text} zeigt das Auswahlmenü für ein grundsätzliches Installationsschema der +\TL. Durch die Auswahl eines Schemas werden automatisch die Komponenten zur Installation ausgewählt, die +für das gewünschte Schema notwendig bzw.\ sinnvoll sind. Mit einer vollständigen Installation von \TL +(\emph{full scheme}) sind Sie auf der sicheren Seite, da hier einfach alles installiert wird. Sie können +aber auch eines der abgespeckten Schemas wie \emph{basic} (für ein sehr schlankes System), \emph{medium} +oder \emph{minimal} (dies empfiehlt sich aber nur für Testsysteme und weniger zum ernsthaften Arbeiten) +auswählen. Weiter stehen einige Schemas für spezielle Zwecke oder Sprachen zur Verfügung. + +\begin{figure}[tbh] +\tlpng{stdcoll}{.7\linewidth} +\caption{Menü zur Aus- oder Abwahl von Collections (hier unter Linux)}\label{fig:collections-gui} +\end{figure} + +Wenn Sie das Schema ausgewählt haben, können Sie dieses in den Menüpunkten \emph{standard collections} und +\emph{language collections} (s.\,Abb.~\ref{fig:collections-gui}, diesmal zur Abwechslung im GUI-Modus) +individuell nach Ihren Wünschen anpassen. + +Während das Schema nur den grundlegenden Funktionsumfang vorgibt, ist die Auswahl von Komponenten auf der +Ebene der \emph{Collections} viel feiner. Eine Collection besteht dabei aus mehreren Paketen zu einem Thema, +wobei jedes der Pakete aus bestimmten Makrodateien, Fontdateien usw. bestehen kann. + +Noch mehr Kontrolle über die Komponenten Ihres Systems haben Sie nach der Installation mit dem Programm~\prog{tlmgr}, das in Abschnitt~\ref{sec:tlmgr} beschrieben wird. Hier können Sie gezielt einzelne +Pakete installieren oder entfernen. + +\subsubsection{Verzeichnisse} +\label{sec:directories} + +Die Verzeichnisstruktur von \TL wurde bereits im Abschnitt~\ref{sec:texmftrees} auf S.~\pageref{sec:texmftrees} +beschrieben. Als Wurzelverzeichnis für \TL (\dirname{TEXDIR}) wird unter Windows +(|%PROGRAMFILES%\texlive\2008|) und unter Unix (\dirname{/usr/local/texlive/2008}) angenommen. + +Prinzipiell können Sie diesen Pfad problemlos ändern, z.\,B. wenn Sie \TL als normaler Nutzer installieren +wollen und kein Schreibrecht in dem o.\,a. Verzeichnis besitzen. + +Auf Wunsch können Sie \TL also auch in Ihrem Home-Verzeichnis installieren, wenn Sie sowieso der einzige +Verwender von \TL sind. Für Ihr Home-Verzeichnis können Sie den Pfad ">|~|"< verwenden und so +Beispielsweise \TL nach |~/texlive/2008| installieren. + +Wir empfehlen Ihnen, die Jahreszahl im Verzeichnisnamen bei zu behalten. So können Sie von Jahr zu Jahr +einfach die neue Version testen, ohne die alte zu entsorgen. Bei Bedarf können Sie einen symbolischen +Link (z.B. \dirname{/usr/local/texlive-cur}) verwenden, der jeweils auf das Verzeichnis der aktuellen +Version von \TL verweist. + +Wenn Sie die Einstellung \dirname{TEXDIR} im Installationsprogramm ändern, werden die Werte für +\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} und +\dirname{TEXMFSYSCONFIG} automatisch angepasst. + +Das als \dirname{TEXMFHOME} bezeichnete Verzeichnis ist der Ort, in dem persönliche Makrodateien, +Schriften o.\,ä. abgelegt werden können. Vorgabewert ist |~/texmf|. Im Gegensatz zu \dirname{TEXDIR} +wird |~| hier nicht direkt zum Pfad des Home-Verzeichnisses aufgelöst, sondern unverändert in die +Konfigurationsdateien von \TL übernommen und erst zur Laufzeit aufgelöst. Somit kann jeder Nutzer +des Systems seinen komplett eigenen Pfad haben, der von \TL verwendet wird, und so nach Wunsch auch +eigene Konfigurationsänderungen durchführen. +Zur Laufzeit wird |~| unter Unix durch \dirname{$HOME} und unter Windows durch \verb|%USERPROFILE%| ersetzt. + +\subsubsection{Optionen} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +

use letter size instead of A4 by default: [ ] + create all format files: [X] + install font/macro doc tree: [X] + install font/macro source tree: [X] + create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{Auswahlmenü für weitere Optionen (Unix)}\label{fig:options-text} +\end{figure} + +Abb.~\ref{fig:options-text} zeigt das Menü, in dem weitere Einstellungen für die Installation von +\TL möglich sind. Drei dieser Optionen erfordern eine Erläuterung: +\begin{description} +\item[use letter size instead of A4 by default:] Verwendung von Letter statt DIN\,A4 als +Standard\-papier\-größe. Natürlich können Sie später unabhängig davon für einzelne Dokumente eine +beliebige Papiergröße wählen. + +\item[create all format files:] Auch wenn das Erzeugen von Formatdateien für Makropakete, die Sie gar + nicht benötigen, Zeit und Platz kostet, empfehlen wir trotzdem, diese Option ausgewählt zu belassen. + Falls Sie diese Option abwählen, werden Formatdateien jeweils bei Bedarf erzeugt, landen dann aber + im persönlichen \dirname{TEXMFVAR}-Baum des aktuellen Benutzers. Hier liegende Formate werden allerdings + nicht automatisch neu gerneriert, wenn z.\,B. Programme oder Silbentrennmuster aktualisiert werden, so dass + im Extremfall nach einem Update Inkompatibilitäten entstehen können. + +\item[create symlinks in standard directories] (nur unter Unix): + Mit dieser Option können Sie symbolische Links für Programme und Dokumentation in den Standard\-verzeichnissen + Ihres Systems anlegen, so dass Sie Ihre Umgebungsvariablen \envname{PATH}, \envname{MANPATH} und + \envname{INFOPATH} nicht anpassen müssen. Natürlich benötigen Sie für diese Option Schreibrechte in + den entsprechenden Verzeichnissen. Diese Option ist nicht dazu gedacht, ein vorhandenes \TeX-System, das + z.\,B. als Teil Ihrer Linux-Distribution installiert wurde, zu überschreiben. Sie dient vielmehr dazu, + dass die Links in Verzeichnissen angelegt werden, wo die Nutzer sie erwarten -- beispielsweise + \dirname{/usr/local/bin} --, aber sich noch keine \TeX-Programme befinden. +\end{description} + + +\subsubsection[Benutzen von \protect\TL direkt von DVD{}]{Benutzen von \protect\TL direkt von DVD{} (nur im Textmodus verfügbar)} +\label{sec:fromdvd} + +Verwenden Sie die Option ">|V|"<, um die Installation zum Benutzen von \TL direkt von der \DVD einzustellen. +Ihr Installationsbildschirm sollte nun so aussehen wie in Abb.~\ref{fig:main-fromdvd} dargestellt. +Tatsächlich wechselt die Option~|V| jeweils zwischen Installation auf Festplatte und Installation zur +Nutzung von \DVD hin- und her, so dass Sie problemlos zur alten Installations"-einstellung zurück kommen, +wenn Sie diese Option versehentlich ausgewählt haben. + +\begin{figure}[tbh] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in indicate menu items <======= +=======> for commands or configurable options <======= + + directories: + TEXDIRW (Writable root): + !! default location: /usr/local/texlive/2008 + !! is not writable, please select a different one! + TEXMFLOCAL (directory for site-wide local files): + /usr/local/texlive/texmf-local + TEXMFSYSVAR (directory for variable and automatically generated data): + /usr/local/texlive/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + options: + [ ] use letter size instead of A4 by default + [X] create all format files + + set up for installing to hard disk + +Other actions: + start installation for running from DVD + help + quit +\end{boxedverbatim} +\caption{Haupschirm des Installationsprogrmm, wenn die Option \optname{from DVD} + ausgewählt wurde}\label{fig:main-fromdvd} +\end{figure} + +Wie Sie sehen, hat sich das Hauptmenü an einigen Stellen geändert: Die Menüpunkte zur Auswahl eines +Schemas oder von Collections sowie zum Anlegen symbolischer Links sind verschwunden, und im Abschnitt +\emph{Directories} wird nun die Angabe eines Verzeichnisses für \dirname{TEXDIRW} (writable root) verlangt. + +Auch beim Verwenden von \TL direkt von \DVD müssen einige Verzeichnisse auf der Festplatte angelegt werden, +in denen \TL beispielsweise automatisch generierte Dateien (wie Formate oder Fontmaps) ablegen kann. +Die Verzeichnisse \dirname{texmf}, \dirname{texmf-dist} und \dirname{texmf-doc} werden aber direkt von +\DVD benutzt und daher nicht auf die Festplatte kopiert. + +Die Konfiguration von \TL im Anschluss an die Installation unter Unix ist bei der Verwendung als Live-System +von \DVD etwas komplexer, da hier an einigen Stellen von der normalen Verzeichnisstruktur von \TL abgewichen +werden muss, s.~Abschnitt~\ref{sec:postinstall}. + +Aus Zeitgründen ist die Option für die Benutzung von \TL direkt von \DVD leider nicht im grafischen Modus +des Installationsprogramms enthalten. Daher muss hierfür zwingend der Textmodus verwendet werden. +Zu diesem Zweck muss daher unter Windows die Installation innerhalb einer Eingabeaufforderung mit der +Option~\texttt{-no-gui} gestartet werden (s.\,Abschnitt~\ref{sec:cmdline}). + +Abschnitt~\ref{sec:portable-unix} beschreibt einen portableren Weg um \TL zu benutzen, der keine Änderungen +der Systemkonfiguration erfordert, dafür dann aber keine Konfigurationsänderungen an \TL erlaubt. + + +\subsection{Kommandozeilenoptionen für die Installation} +\label{sec:cmdline} + +Nach Eingabe von +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +erhalten Sie eine Liste der vorhanden Kommando\-zeilen\-optionen. Sie können diese entweder mit |-| oder |--| +verwenden. Die wichtigsten sind: + +\begin{ttdescription} +\item[-gui] Installation im \GUI{}-Modus. Hierfür muss unter Unix Perl/Tk installiert sein + (\url{http://tug.org/texlive/distro.html#perltk}); falls dies nicht der Fall ist, wird die Installation + stattdessen im Textmodus durchgeführt. +\item[-no-gui] Installation im Textmodus. Da dies unter Unix Standard ist, wirkt sich diese Option nur + unter Windows aus. Da die Installation zum Benutzen von \TL direkt von \DVD im grafischen Modus nicht + verfügbar ist, brauchen Sie in diesem Fall unbedingt den Textmodus. +\item[-lang {\sl LL}] Sprache des Installationsprogramms als Sprach-Code in zwei Buchstaben (\textsl{LL}). + Derzeit werden englisch (\texttt{en}, Standard), deutsch (\texttt{de}), französisch (\texttt{fr}), + holländisch (\texttt{nl}), polnisch (\texttt{pl}), slowenisch (\texttt{sl}) und vietnamesisch + (\texttt{vi}) unterstützt. Das Installationsprogramm versucht, die gewünschte Sprache anhand des + Systems herauszufinden. Falls dies scheitert oder die betreffende Sprache nicht verfügbar ist, wird als + Rückfallposition englisch benutzt. +\item[-profile {\sl profile}] Das Installationsprogramm schreibt die ausgewählten Optionen in eine Datei + \filename{texlive.profile} im Unterverzeichnis \dirname{2008/tlpkg}. Mit dieser Option können + Sie eine bereits vorhandene Datei bei der Installation weiter verwenden, z.\,B. wenn Sie äquivalente + Installationen auf mehreren Rechnern realisieren wollen, ohne alle Auswahlschritte der Installation immer + wieder neu durchführen zu müssen. Hier ein Beispiel einer solchen Datei: + \begin{fverbatim} +# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC +# It will NOT be updated and reflects only the +# installation profile at installation time. +selected_scheme scheme-basic +TEXDIR /usr/local/texlive/2008 +TEXDIRW /usr/local/texlive/2008 +... +TEXMFSYSVAR /usr/local/texlive/2008/texmf-var +collection-basic 1 +... +option_symlinks 0 + \end{fverbatim} +\item [-location {\sl url/path}] zur Auswahl eines anderen Verzeichnisses mit den Quellen für Pakete; zur + weiteren Erläuterung siehe den nächsten Abschnitt. +\end{ttdescription} + +\subsubsection{Die Option \optname{location}} +\label{sec:location} + +Der als \optname{location} angegebene Wert kann neben einem ganz normalen Verzeichnispfad auch eine URL sein, +die mit \texttt{ftp:}, \texttt{http:} oder \texttt{file:/} beginnt. Falls sich \optname{location} auf einem +lokalen Laufwerk befindet (Verzeichnispfad oder mit \texttt{file:/} beginnende URL), +wird die Installationsmethode (aus komprimierten Archiven oder einem echten Live-Dateisystem) automatisch +bestimmt: falls bezüglich der angegebenen \optname{location} ein Unterverzeichnis \dirname{archive} existiert, +das Dateien vom Typ \filename{.tar.lzma} enthält, werden diese komprimierte Dateien als Installationsquelle +benutzt, selbst wenn parallel die Pakete ausgepackt in einem Live-Dateisystem vorhanden sind. + +Im Fall einer \optname{location}, die mit \texttt{http:} oder \texttt{ftp:} beginnt, werden +das Zeichen `\texttt{/}' und/oder die Zeichenkette `\texttt{/tlpkg}' am Ende ignoriert. Sie können hier +z.\,B. einen bestimmten \CTAN-Server auswählen, was dann in etwa so aussehen würde: +\url{http://ctan.example.org/tex-archive/texlive/tlnet/2008}. +Hier müssen Sie natürlich einen echten Servernamen und den für diesen Server gültigen Pfad einsetzen +(eine Liste von \CTAN-Servern finden Sie unter \url{http://ctan.org/mirrors}). +Die Standardvorgabe ist, +über \url{http://mirror.ctan.org} einen Server automatisch auszuwählen. +Einmal ausgewählt, wird dieser allerdings zum Herunterladen aller Komponenten verwendet. + +\subsection{Aufgaben im Anschluss an die Installation} +\label{sec:postinstall} + +Je nach System kann es notwendig sein, dass im Anschluss an die Installation noch einige Kleinigkeiten +erledigt werden müssen. + +\subsubsection{Windows} +Benutzer von Windows sind hier in der glücklichen Position, dass das Installationsprogramm alles komplett +erledigt haben sollte. + +\subsubsection{Unix, falls symbolische Links angelegt wurden} + +Wenn Sie bei der Installation angegeben haben, dass und wo symbolische Links angelegt werden sollten +(s.\,Abschnitt~\ref{sec:options}), sollten hier auch keine Nacharbeiten mehr notwendig sein. + +\subsubsection{Umgebungsvariablen für Unix} +\label{sec:env} + +Das Verzeichnis mit den ausführbaren Programmen von \TL muss sich im Suchpfad des Systems befinden. +Jedes unterstützte System besitzt ein eigenes Verzeichnis unterhalb von \dirname{TEXDIR/bin}, deren +Namen Sie in Abb.~\ref{fig:bin-text} finden. + +Weiterhin können Sie die Verzeichnisse mit den Manual-Pages und Info-Dateien zu den entsprechenden +Suchpfaden für Dokumentation hinzu fügen, wenn Sie es wünschen. + +Für Systeme mit einer Bourne-kompatiblen Shell wie \prog{bash} ist hier am Beispiel von GNU/Linux +aufgeführt, wie die Befehle zum Setzen der Umgebungsvariablen (z.\,B. in \filename{$HOME/.profile}) +aussehen könnten: + +\begin{sverbatim} +export PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH +export MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH +export INFOPATH=/usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + +Für \prog{csh} oder \prog{tcsh} erfolgt die Konfiguration in der Regel in der Datei~\filename{$HOME/.cshrc} +und könnte so aussehen: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2008/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + +\subsubsection{Systemweites Setzen von Umgebungsvariablen} +\label{sec:envglobal} + +Wenn Sie als Administrator die Umgebungsvariablen global für das gesamte System setzen wollen, +gehen wir davon aus, dass Sie sich mit der grundlegenden Systemadministration auskennen. + +Daher hier nur zwei Hinweise: 1)~schauen Sie nach einer Datei +\filename{/etc/manpath.config}. Falls diese vorhanden ist, sollte es reichen, folgende Zeilen +hinzu zu fügen: + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2008/bin/i386-linux \ + /usr/local/texlive/2008/texmf/doc/man +\end{sverbatim} + +Und 2)~prüfen Sie, ob es auf Ihrem System eine Datei \filename{/etc/environment} gibt, in der die +systemweiten Umgebungsvariablen definiert werden. + +\subsubsection{Benutzen von \protect\TL direkt von DVD} +Üblicherweise verwendet \TL eine Datei \filename{texmf.cnf}, um die Verzeichnisbäume, in denen +sich die Komponenten von \TL befinden, zu identifizieren. Diese Methode benutzt relative Pfade, so +dass Ihr \TL-System funktioniert, wo immer Sie es auch hin installieren, solange die Verzeichnisstruktur +erhalten bleibt. + +Diese Methode funktioniert leider nicht mehr, wenn Sie \TL direkt von der \DVD benutzen wollen. +Da die \DVD ein Nur-Lese-Medium ist, einige der Pfade in \filename{texmf.cnf} aber erst nach der +Installation fest stehen, muss sich diese Datei außerhalb der \DVD befinden. +Aus diesem Grund muss eine Umgebungsvariable \envname{TEXMFCNF} gesetzt werden, +die \TL{} mitteilt, in welchem Verzeichnis sich die Datei \filename{texmf.cnf} befindet. +Zusätzlich muss sich natürlich -- wie im vorigen Abschnitt beschrieben -- das +Verzeichnis der \DVD, in dem sich die passenden ausführbaren Programme befinden, innerhalb des +Suchpfads des Systems befinden. + +Beim Abschluss des Installationsprogramms sollten Sie die notwendigen Informationen erhalten haben, +wie Sie \envname{TEXMFCNF} setzen müssen. Falls Sie dies übersehen haben, der Wert ist +\dirname{$TEXMFSYSVAR/web2c}, wobei im Normalfall \dirname{$TEXMFSYSVAR} auf das Verzeichnis +\dirname{/usr/local/texlive/2008/texmf-var/web2c} verweist. In diesem Fall benötigen Sie also für +die \prog{bash} den Befehl +\begin{sverbatim} +TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF +\end{sverbatim} +bzw.\ für [t]csh: +\begin{sverbatim} +setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c +\end{sverbatim} + +\subsubsection{\ConTeXt{} Mark IV} +Das ">alte"< \ConTeXt{} sollte direkt lauffähig sein. Falls Sie das neue \ConTeXt{} ">Mark IV"< +verwenden wollen, sind einige manuelle Nacharbeiten notwendig, die unter +\url{http://wiki.contextgarden.net/Running_Mark_IV} beschrieben sind. + +\subsubsection{Integrieren lokaler bzw.\ Nutzer-spezifischer Makros} +\label{sec:local-personal-macros} + +Wie bereits in Abschnitt~\ref{sec:texmftrees} erwähnt, ist der Verzeichnisbaum \dirname{TEXMFLOCAL} (im +Normalfall \dirname{/usr/local/texlive/texmf-local} oder \verb|C:\Program Files\texlive\texmf-local|) +für lokale Ergänzungen wie Makros und Schriften gedacht, die anschließend allen Benutzern des Systems zur +Verfügung stehen. Weiterhin können Benutzer den Verzeichnisbaum \dirname{TEXMFHOME} (im Normalfall +\dirname{$HOME/texmf} oder \verb|%USERPROFILE%\texmf|) für persönliche Ergänzungen verwenden, ohne +dass andere Benutzer davon beeinflusst werden. +Diese Verzeichnisse sollen über verschiedene Versionen von \TL hinweg identisch sein, so dass ein +Update von \TL auf eine neue Version einfach möglich ist, ohne dass Sie Ihre lokalen Ergänzungen +verlieren. Wir empfehlen Ihnen daher, von der vorgegebenen Verzeichnisstruktur nicht abzuweichen. + +Für beide oben genannte Verzeichnisbäume erwartet \TL eine Verzeichnisstruktur innerhalb des Baums, die +dem \emph{\TeX{} Directory Standard} entspricht, wie er in \url{http://tug.org/tds} bzw. +\filename{texmf/web2c/texmf.cnf} definiert ist. +So gehören Dokumentklassen für \LaTeX{} z.\,B. in ein Verzeichnis +unterhalb von \dirname{TEXMFLOCAL/tex/latex} oder \dirname{TEXMFHOME/tex/latex}. + +Der Verzeichnisbaum \dirname{TEXMFLOCAL} wird zur Laufzeit nicht direkt nach Dateien durchsucht. +Stattdessen wird eine Liste von Dateinamen verwendet, sich sich in einer Datei mit dem Namen~\filename{ls-R} +befindet. Denken Sie also daran, nach Änderungen in diesem Baum diese Dateiliste zu aktualisieren, +entweder mit dem Befehl \cmdname{mktexlsr} oder die Schaltfläche \emph{Reinit file database} in +dem Konfigurationsreiter von \prog{tlmgr} im \GUI-Modus. + +\subsubsection{Integrieren von anderen Schriften} +Die Installation von Schriften, die nicht von \TL sind, ist eine recht komplexe Angelegenheit. Sie sollten +sich bereits gut mit dem System auskennen, bevor Sie sich an diese Aufgabe wagen. Schauen Sie vielleicht +vorher in Abschnitt~\ref{sec:tl-fonts} nach, welche Schriften bereits bei \TL mitgeliefert werden. + +Eine Alternative besteht im Benutzen von \XeTeX (s.\,Abschnitt~\ref{sec:tex-extensions}), bei dem +direkt alle vom Betriebssystem installierten Schriften verwendet werden können, ohne dass die Installation +einer \TeX-Unterstützung notwendig ist. + +\subsection{Testen der Installation} +\label{sec:test-install} + +Nach der Installation von \TL wollen Sie es natürlich benutzen, um möglichst schöne Dokumente zu setzen. + +Dieser Abschnitt beschreibt, wie Sie prüfen können, ob Ihr \TL-System funktioniert. +Die folgenden Beispiele sind für Unix, sollten unter Windows und \MacOSX aber sehr ähnlich sein, abgesehen +davon, dass Sie dort eventuell eine grafische Benutzeroberfläche verwenden. + +\begin{enumerate} + +\item Prüfen Sie, ob Sie das Programm \cmdname{tex} ausführen können: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (Web2C 7.5.7) +kpathsea version 3.5.7 +... +\end{alltt} + +Erhalten Sie als Resultat statt der Versionsnummer die Meldung, dass der Befehl nicht gefunden wurde, +so haben Sie wahrscheinlich vergessen, das Verzeichnis mit den ausführbaren Programmen +in Ihren \envname{PATH} aufzunehmen, s.\,Abschnitt~\ref{sec:env} auf S.\,\pageref{sec:env}. + +\item Eine einfache \LaTeX{}-Datei übersetzen: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.1415926... +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} + +Falls dies schief geht, sind wahrscheinlich noch alte Umgebungsvariablen einer vorigen \TeX-Installation +übrig geblieben. Wir empfehlen, die Umgebungsvariablen, die sich auf \TeX{} beziehen, zu entfernen. +Für eine weitere Analyse können Sie \TeX{} anzeigen lassen, wo es bestimmte Dateien sucht, +siehe ">Fehlersuche"< auf Seite~\pageref{sec:debugging}. + +\item Ergebnis auf dem Bildschirm anschauen: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Unter Windows heißt der Befehlt für den Previewer \cmdname{dviout}.) Nun sollte +sich ein Vorschaufenster mit dem soeben gesetzten Beispieldokument öffnen, das die Grundlagen von +\LaTeX{} erläutert (und das Anfänger tatsächlich auch einmal lesen sollten). +Unter Unix muss ein X-Server laufen, damit \cmdname{xdvi} funktioniert; +falls dies nicht der Fall ist oder die Umgebungsvariable \envname{DISPLAY} falsch gesetzt ist, +erhalten Sie die Fehlermeldung \samp{Can't open display}. + +\item Eine \PS{}-Datei erzeugen: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Direkt eine \acro{PDF}-Datei erzeugen (statt \dvi{}): +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Eine \acro{PDF}-Datei anschauen: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Leider sind weder \cmdname{gv} noch \cmdname{xpdf} in \TL{} enthalten, daher müssen diese separat installiert +werden, siehe \url{http://www.gnu.org/software/gv} bzw. +\url{http://www.foolabs.com/xpdf}. +(Sie können natürlich auch andere PDF-Viewer verwenden, beispielsweise den Adobe Reader.) + +\item Weitere nützliche Test-Dateien außer +\filename{sample2e.tex}: + +\begin{ttdescription} +\item [small2e.tex] Einfachere Version von \filename{sample2e}, um den Fehler einzugrenzen, wenn Sie +beim Übersetzen von \filename{sample2e} Probleme haben. +\item [testpage.tex] Hiermit können Sie prüfen, ob Ihr Drucker Ihren Ausdruck horizontal oder vertikal verschiebt. +\item [nfssfont.tex] Zum Testen von Fonts und Erzeugen von Schrifttabellen. +\item [testfont.tex] Erzeugen von Schrifttabellen, aber mit plain \TeX. +\item [story.tex] Das einfachste Testdokument von allen (in plain \TeX{}). +Geben Sie am Ende \samp{\bs bye} ein, wenn nach dem Aufruf von \samp{tex +story.tex} der \code{*} erscheint. +\end{ttdescription} + +\end{enumerate} + +\section{Installation im Netzwerk} +\label{sec:netinstall} + +Bei \TL ist nicht nur vorgesehen, dass es von mehreren Benutzern auf einem System verwendet werden kann, +sondern auch in einem Netzwerk. In der normalen Konfiguration von \TL werden nur relative, keine absoluten +Pfade verwendet. Dies erkennt man an Einstellungen in der Datei \filename{$TEXMFMAIN/web2c/texmf.cnf}, +die Zeilen wie die folgenden enthält, +in denen Verzeichnisse relativ zu den Verzeichnissen lokalisiert werden, +in denen sich die Programme befinden: +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +Daher ist es im Normalfall ausreichend, +das Programm-Verzeichnis in den Suchpfad des Systems aufzunehmen, +alles weitere bestimmt \TL dann automatisch. + +Daher ist es kein Problem, wenn das Grundverzeichnis von \TL als Netzlaufwerk gemountet ist. Tatsächlich +können Sie \TL sogar zunächst lokal installieren und dann auf ein Netzlaufwerk verschieben. + +Für Benutzer von Windows existiert unter \dirname{texmf-doc/source/texlive/texlive-common/w32client} +ein Beispiel-Skript \filename{install-w32client}, das die Einstellungen im Startmenü von Windows +für das Verwenden von \TL über Netzwerk vornimmt. Dieses Skript wird einfach durch Aufruf von +\filename{install-w32client.bat} im selben Verzeichnis gestartet. + +Mehr Informationen zur Konfiguration von \TL und den benutzten Suchpfaden finden Sie im Abschnitt~\ref{sec:kpathsea}. + +\section{Portables \protect\TL{} auf DVD oder USB-Stick} +\label{sec:portable-unix} + +Im Abschnitt~\ref{sec:fromdvd} wurde beschrieben, wie \TL direkt von einer \DVD benutzt werden kann. +Hierbei werden einige Verzeichnisse auf der Festplatte angelegt. Dies ist wahrscheinlich kein Problem, +wenn Sie dies auf Ihrem eigenen Rechner verwenden, aber es kann anders aussehen, wenn Sie auf einem +fremden Rechner ">zu Gast"< sind. + +Sie können die Stellen, an denen beim Benutzen von \TL von \DVD auf der Festplatte Verzeichnisse +angelegt werden, minimieren. Verwenden Sie unter unter Unix das Skript \filename{tl-portable} oder +unter Windows die Batch-Datei \filename{tl-portable.bat}, so werden beim ersten Start die +Konfigurationsdateien für das Verwenden des Live-Modus von \DVD geschrieben. + +Hierzu wird ausschließlich ein Verzeichnis \dirname{~/.tlportable2008} angelegt, in dem diese Dateien +abgelegt werden. Dies kann einen Moment dauern, aber sobald die Dateien einmal da sind, erfolgt +der Start des portablen Modus über die o.\,a. Programme sehr schnell. Die Konfiguration dieses +Modus erfolgt ausschließlich in dem aktuellen Terminalfenster (bzw.\ für die aktuelle Eingabeaufforderung), +der Rest des Systems bleibt davon völlig unberührt. Sie können problemlos in mehreren Sitzungen +parallel den portablen Modus benutzen. + +Wird hier immer ein Verzeichnis auf der Festplatte angelegt, so ist dies komplett überflüssig, wenn +Sie den portablen Modus von USB-Stick verwenden. Kopieren Sie hierfür alle Dateien, die sich direkt im +Verzeichnis \dirname{texlive} der \DVD befinden, sowie (mindestens) die Verzeichnisse \dirname{bin}, +\dirname{texmf}, \dirname{texmf-dist} und \dirname{tlpkg} komplett auf den USB-Stick (dies kann eine +Weile dauern!). Beim Kopieren auf einen mit FAT32 formatierten Stick verwenden Sie unbedingt die Option +zum Auflösen symbolischer Links (\code{cp -L}). Ein auf dem Stick vorhandenes Verzeichnis \dirname{texmf-local} +wird ebenfalls später erkannt und benutzt. + +Wenn Sie nun das Skript \filename{tl-portable} auf dem USB-Stick (wie oben für die \DVD beschrieben) +verwenden, erkennt das Skript, dass der USB-Stick beschreibbar ist und verwendet diesen statt der +Festplatte für die Konfigurationsdateien. + +\section{\cmdname{tlmgr}: Installation verwalten} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} im \GUI-Modus. Die Liste der Pakete, Collections und Schemas + wird erst nach Klicken auf ">Load"< angezeigt.}\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\tlpng{tlmgr-config}{\linewidth} +\caption{\texttt{tlmgr} im \GUI-Modus: Reiter Konfiguration}\label{fig:tlmgr-config} +\end{figure} + +Bei der Installation von \TL wird auch das Programm~\prog{tlmgr} installiert, mit dem Sie anschließend +Ihr \TL-System verwalten können. Die hierfür bisher verwendeten Programme~\prog{updmap}, +\prog{fmtutil} und \prog{texconfig} sind zwar noch vorhanden, werden aber in der Zukunft durch +\prog{tlmgr} ersetzt. Verwenden Sie daher heute schon \prog{tlmgr}. Mit \prog{tlmgr} können Sie +folgende Aufgaben erledigen: +\begin{itemize*} +\item Verfügbare Schemas, Collections und Pakete anzeigen. +\item Installieren, aktualisieren, entfernen, Backup und Restore einzelner Pakete, auf Wunsch mit + Berücksichtigung von Paketabhängigkeiten. +\item Suchen nach Paketen. +\item Anzeigen der Systeme, unter denen \TL läuft; installieren von Binaries für weitere Systeme. +\item Anpassen der Installation, wie Ändern der Papiergröße oder des Quellverzeichnisses für Komponenten + (s.\,Abschnitt~\ref{sec:location}). +\end{itemize*} +\textit{Warning:} \prog{tlmgr} ist für den Live-Modus, bei dem \TL von \DVD genutzt wird, weder gedacht +noch getestet. + +\subsection{\cmdname{tlmgr} im grafischen Modus} +\prog{tlmgr} im \GUI-Modus wird durch +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +gestartet. Unter Windows finden Sie das Programm im Start menu: \texttt{Start}, \texttt{Programme}, +\texttt{TeX Live 2008}, \texttt{TeX Live Manager}. Nach Klicken auf ">Load"< +wird eine Liste aller verfügbaren und installierten (letztere durch ">(i)"< gekennzeichnet) angezeigt. Dies +setzt voraus, dass das Verzeichnis, aus dem \TL die Pakete lädt, vorhanden bzw.\ erreichbar ist. + +Abb.~\ref{fig:tlmgr-config} stellt den Reiter zur Konfiguration von \TL dar. + +\subsection{Beispiel zur Verwendung von \cmdname{tlmgr} über Kommandozeile} + +Das folgende Beispiel demonstriert, wie mehrere Pakete +zur Installation hinzu gefügt werden. +Hierbei wird eine andere Adresse zum Herunterladen verwendet. + +\begin{alltt} +> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} +\end{alltt} +Dies liefert die folgende Ausgabe: +\begin{fverbatim} +install: collection-xetex +install: arabxetex +install: euenc +install: bidi +install: fontspec +install: fontwrap +install: ifxetex +install: philokalia +install: polyglossia +install: xecyr +install: xecyr.i386-linux +install: xepersian +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +install: xetex-pstricks +install: xetexfontinfo +install: xltxtra +install: xunicode +install: xkeyval +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... +mktexlsr: Done. +regenerating fmtutil.cnf +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + +Wie man sieht, beachtet \prog{tlmgr} die Abhängigkeiten von Paketen und installiert im obigen +Beispiel von \XeTeX{} benötigte Komponenten nach. Weiterhin werden automatisch im Anschluss +die Dateilisten der Verzeichnisbäume aktualisiert und fehlende Formate generiert. + +Im folgenden Beispiel wird die Unterstützung für eine weitere Sprache installiert. Im Anschluss +werden automatisch die Formatdateien neu generiert, damit die neuen Trennmuster eingebunden sind. +\begin{alltt} +> \Ucom{tlmgr install collection-langdutch} +\end{alltt} + +Eigenschaften eines Pakets anzeigen: +\begin{alltt} +> \Ucom{tlmgr show collection-wintools} +\end{alltt} + +Hier erhält man folgende Ausgabe: +\begin{fverbatim} +Package: collection-wintools +Category: Collection +ShortDesc: Windows support programs +LongDesc: Utilities for Windows, since they are not readily available there: + gzip, chktex, jpeg2ps, unzip, wget, xpdf. +Installed: Yes +\end{fverbatim} + +Aktualisieren der kompletten Installation: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +Wenn Sie erst wissen wollen, was auf Sie zu kommt, können Sie zunächst folgendes ausprobieren: +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +oder +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} + +Zum Anzeigen aller Optionen: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + +\section{Hinweise zu Windows} +\label{sec:windows} + +Das Installationsprogramm von \TL\ läuft sowohl unter Windows als auch Unix. Dies war nur dadurch möglich, +dass ältere Versionen von Windows nicht mehr unterstützt werden. Daher kann \TL\ nur noch ab Windows 2000 oder +später installiert werden. + + +\subsection{Windows-spezifische Dinge} +\label{sec:winfeatures} + +Unter Windows kümmert sich das Installationsprogramm auch um folgende Dinge: +\begin{description} +\item[Menüs und Verknüpfungen.] Im Startmenü wird ein Menü ">\TL{}"< hinzu gefügt. Hier sind Einträge für + die grafischen Anwendungen (\prog{tlmgr}, \prog{texdoctk}, den PS\_View PostScript-Previewer) + und einige Verknüpfungen zur Dokumentation vorhanden. Für PS\_View wird eine Verknüpfung auf dem + Desktop angelegt, auf die Sie \PS-Dateien per Drag~\& Drop ziehen können, um diese zu betrachten. +\item[Automatisches Setzen der UmgebungsVariablen.] Hierdurch ist das Setzen dieser Variablen + von Hand überflüssig geworden. +\item[Uninstaller.] Es wird ein Eintrag zum Entfernen von \TL in der Systemsteuerung im Punkt Software angelegt. + Alternativ können Sie \TL über das Programm~\prog{tlmgr} deinstallieren. +\end{description} + +\subsection{Zusätzlich enthaltene Programme} + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: Anzeige mit hoher Vergrößerung}\label{fig:psview} +\end{figure} + +Zusätzlich werden unter Windows einige Programme installiert, die unter Windows meist noch nicht verfügbar +sind: +\begin{description} +\item[Perl und Ghostscript.] Da Perl und Ghostscript für \TL sehr wichtig ist, werden diese + unter Windows mitgeliefert und werden intern von \TL benutzt. Die in \TL enthaltenen Programme, die + diese Komponenten benötigen, ">wissen"< wo sich diese befinden, ohne dass diese im System durch + Umgebungsvariablen oder Einträge in der Registry sichtbar sind. Es handelt sich um für \TL abgespeckte + Versionen, die zu keinen Konflikten mit eventuell bereits vorhandenen Installationen von Perl und Ghostscript + führen sollten. +\item[Tools für die Kommandozeile.] Für einige unter Unix übliche Programme werden Portierungen für Windows + mitgeliefert. Dies sind z.\,B. \cmdname{gzip}, \cmdname{chktex}, + \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} und einige Programme für die Kommandozeile aus der + \cmdname{xpdf}-Suite. (Vom + \cmdname{xpdf}-Viewer selbst gibt es keine Version für Windows, aber der + Sumatra \acro{PDF}-Viewer basiert auf \cmdname{xpdf}: + \url{http://blog.kowalczyk.info/software/sumatrapdf}.) +\item[\texttt{fc-cache}] dient \XeTeX{} zur effizienteren Benutzung von Schriften. +\item[PS\_View.] Weiterhin wird PS\_View installiert, ein neuer PostScript-Viewer, der Freie Software ist, + s.\,Abb.~\ref{fig:psview}. +%\end{description} +% +%\begin{description} +\item[Das Verzeichnis \texttt{support}] wurde bereits in + Abschnitt~\ref{sec:tld} erwähnt. Es enthält einige Programme, die im Zusammenhang mit + \TeX{} nützlich sind, insbesondere einige Editoren mit \TeX-Modus und Benutzeroberflächen für \TeX{}. + Die in diesem Verzeichnis enthaltene Software wird nicht vom Installationsprogramm mit installiert. + Weiterhin findet sich dort der \dvi{}-Previewer \cmdname{dviout}, siehe nächster Abschnitt. +\end{description} + +\subsection{Der Dviout-Previewer} + +Von dieser Version von \TL{} wird leider kein \dvi{}-Previewer für Windows mitinstalliert. +Allerdings können Sie das Programm \prog{dviout} von +Toshio Oshima aus dem Verzeichnis \path{support/dviout/} installieren. Im selben Verzeichnis findet sich +die Datei \filename{README} mit einer kurzen Anleitung zur Installation und Konfiguration von +\prog{dviout} für \TL. Bitte beachten Sie diese Anleitung unbedingt! + +Wenn Sie am Anfang Dokumente mit \cmdname{dviout} anschauen, werden häufig noch Fonts generiert, da +keine fertigen Fontdateien für den Bildschirm mitgeliefert werden. Je mehr Fonts generiert wurden, desto +seltener müssen Schriften nachgeneriert werden, so dass dieser Effekt nach einiger Zeit nur noch selten +auftreten wird. Weitere Informationen finden Sie in der (sehr guten) Online-Hilfe. + +\subsection{Link zu zusätzlicher Software} +Hier einige URLs, hinter denen sich nützliche Software verbirgt: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org/} mit + Zusatzpaketen von \acro{CPAN}, \url{http://www.cpan.org/}. +\item[ImageMagick] \url{http://www.imagemagick.com}, zum Manipulieren + und Konvertieren von Grafikdateien. +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, ebenfalls zum + Konvertieren von Grafikdateien. +\item[Editoren mit \TeX-Unterstützung] Dies ist lediglich eine grobe Auswahl, + und bekanntlich sind die Geschmäcker verschieden, bei Editoren wie + beim Essen. + \begin{itemize*} + \item \cmdname{GNU Emacs} gibt es auch für Windows, siehe + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs} mit Auc\TeX\ für Windows wird im + \path{support}-Verzeichnis von \TL mitgeliefert. Die Homepage + findet sich unter + \url{http://www.gnu.org/software/auctex}. + \item \cmdname{WinShell} findet sich ebenfalls im \path|support|-Verzeichnis. + Die Homepage lautet \url{http://www.winshell.de}. + \item \cmdname{WinEdt} ist Shareware und verfügbar von + \url{http://www.winedt.com}. + \item \cmdname{Vim} ist freie Software, verfügbar von + \url{http://www.vim.org}. + \item TeXnicCenter ist ebenfalls freie Software, verfügbar von + \url{http://www.toolscenter.org} und Teil von pro\TeX{}t. + \item \cmdname{LEd} ist verfügbar von \url{http://www.ctan.org/support/LEd}. + \item \cmdname{SciTE} ist verfügbar von + \url{http://www.scintilla.org/SciTE.html}. + \end{itemize*} +\end{description} + +\subsection{User Profile unter Windows} +\label{sec:winhome} + +Das Gegenstück von Windows zum HOME-Verzeichnis unter Unix ist das +Verzeichnis \verb|%USERPROFILE%|. Unter Windows XP und Windows 2000 liegt +es meist im Verzeichnis \verb|C:\Documente und Einstellungen\|, unter +Windows Vista \verb|C:\Users\|. In der Datei +\filename{texmf.cnf} und in \KPS{} allgemein wird \verb|~| +sowohl unter Unix und Windows korrekt aufgelöst. + +\subsection{Die Windows-Registry} +\label{sec:registry} + +Windows verwaltet fast all seine Konfigurationseinstellungen in der +Registry. Diese besteht aus einem hierarchisch aufgebauten Baum +von Schlüsseln, wobei mehrere dieser Registry-Bäume existieren. +Die wichtigsten sind \path{HKEY_CURRENT_USER} und \path{HKEY_LOCAL_MACHINE}, +oft abgekürzt als \path{HKCU} bzw.\ \path{HKLM}. +Der \path{HKCU}-Teil der Registry wird im Home-Verzeichnis des Benutzers +gespeichert (s.\,Abschnitt~\ref{sec:winhome}). \path{HKLM} liegt im +Normalfall in einem Unterverzeichnis des Windows-Verzeichnisses. + +In einigen Fällen sind Systeminformationen aus Umgebungsvariablen +ersichtlich, in vielen anderen Fällen liegen diese Informationen +aber in der Registry. + +\subsection{Windows Permissions} +\label{sec:winpermissions} + +In neueren Versionen von Windows wird zwischen normalen Benutzern und +Administratoren unterschieden, wobei nur letztere freien Zugang auf +alle Teile des Betriebsystems haben. Im Gegensatz zu Unix ist es in der +Praxis allerdings häufig so, dass Benutzer zur Klasse der Administratoren +gehören und daher doch alle Freiheiten haben. Trotzdem haben wir einigen +Aufwand getrieben, damit \TL auch unter Windows ohne Administrator-Rechte +installiert werden kann. + +Falls der Benutzer, der \TL installiert, Administrator-Rechte besitzt, +wird \TL für alle Benutzer des Systems installiert, d.\,h. Verknüpfungen, +Menüs und Systemeinträge für alle Nutzer angelegt. Ansonsten werden diese +nur für den aktuellen Benutzer angelegt. Falls Sie Administrator sind, +\TL aber trotzdem nur für sich und nicht für alle installieren wollen, +können Sie dem Programm~\prog{install-tl} die Option~\optname{non-admin} +mit geben. + +Unabhängig davon wird grundsätzlich angenommen, dass das Wurzelverzeichnis +von \TL unter \verb|%PROGRAMFILES%| liegen soll. Allerdings testet das +Installationsprogramm, ob dieses Verzeichnis für den aktuellen Benutzer +schreibbar ist. + +Ein Problem entsteht, wenn \TL ohne Administrator-Rechte installiert +wird und sich bereits ein \TeX{}-System im systemweiten Suchpfad +befindet. Windows benutzt zuerst den Suchpfad des Systems, erst dann +den spezifischen Suchpfad des Nutzers, so dass hier immer zuerst +das alte \TeX-System gefunden wird. Als Workaround wird hier eine +Verknüpfung mit einer Eingabeaufforderung erzeugt, in der das +Programmverzeichnis von \TL im Suchpfad vor den Standard\-such\-pfad +geschrieben wird. Dies bedeutet, dass in diesem Fall nur in einer +Eingabeaufforderung verfügbar ist, die über diese Verknüpfung gestartet +wird. + +% ============================================================== +% don't use \Webc so the \uppercase in the headline works. +\section[Anleitung zum Web2C-System]{Anleitung zum \Webc-System} + +{\Webc} besteht aus einer Reihe von Programmen, die zusammen ein komplettes +\TeX-System darstellen. Dazu gehören natürlich \TeX, +\MF, \MP, {\BibTeX} usw. + +Die erste Implementierung eines \TeX-Systems +in der Programmiersprache C stammt von Tomas~Rokicki und datiert zurück in das +Jahr 1987. Rokicki benutzte als Basis sog. Change-Files unter \acro{UNIX}, die ursprünglich von +Howard~Trickey und Pavel~Curtis entwickelt wurden. Tim~Morgan hat dieses +System, für das der Name Web-to-C\@ eingeführt wurde, gepflegt. +1990 hat Karl~Berry mit Unterstützung vieler Helfer die Weiterentwicklung +übernommen und 1997 an Olaf~Weber weitergegeben, der es 2006 wieder an +Karl zurück gab. + +\Webc{} läuft unter \acro{UNIX}, 32-bit-Versionen von Windows, \MacOSX{} +und auf weiteren Betriebssystemen. Es benutzt die +Original-Quelldateien von Donald E.~Knuth und weitere in der +Sprache {\web} entwickelte Programme als Basis und übersetzt diese +in C-Quell-Code. Darüber hinaus bietet das System viele Makros und +Funktionen zur Nutzung der originalen \TeX-Software. Hier eine +Liste der Basisprogramme eines \TeX-Systems: + +\begin{description} +%\renewcommand{\makelabel}[1]{\descriptionlabel{\mdseries\cmdname{#1}}} +\item[bibtex] Verwalten von Bibliographien +\item[dmp] \cmdname{troff}-nach-MPX-Konverter (\MP-Bilder) +\item[dvicopy] Umwandeln von virtuellen Zeichensätzen in DVI-Dateien +\item[dvitomp] DVI-nach-MPX-Konverter (\MP-Bilder) +\item[dvitype] Textanzeige aus DVI-Dateien +\item[gftodvi] Erzeugen von Prüfausgaben für Zeichensätze +\item[gftopk] Packen von Zeichensätzen +\item[gftype] Anzeige von Zeichensätzen als ASCII-Graphik +\item[makempx] Anzeige von \MP-Beschriftungen +\item[mf] Zeichensatzerzeugung +\item[mft] formatierte Ausgabe von \MF-Quellen +\item[mpost] \MF-ähnliches Grafikprogramm +\item[mpto] Extrahieren von \MP-Beschriftungen +\item[newer] Vergleich von Dateierstellungsdaten +\item[patgen] Erzeugen von Trennmustern +\item[pktogf] Entpacken von Zeichensätzen +\item[pktype] Anzeige gepackter Zeichensätze +\item[pltotf] Umwandeln von Property-Listen in \file{.tfm}-Dateien +\item[pooltype] Anzeige der Bildschirmtexte eines WEB-Programms +\item[tangle] Konverter {\web} nach Pascal +\item[tex] \TeX-Programm +\item[tftopl] Umwandeln einer \file{.tfm}-Datei in eine Property-Liste +\item[vftovp] Umwandeln eines virtuellen Zeichensatzes in eine Property-Liste +\item[vptovf] Umwandeln einer Property-Liste in einen virtuellen Zeichensatz +\item[weave] \web-Code als \TeX-Dokumentation +\end{description} + +Die genaue Funktionsweise und die möglichen Parameter sind der +Beschreibung der jeweiligen Pakete bzw.\ der \Webc-Dokumentation zu entnehmen. +Trotzdem wird ein Überblick über Zusammenspiel und Funktionsweise der +\Webc-Programme Ihnen sicherlich helfen, besser mit dem System zurechtzukommen. + +Zunächst verstehen alle Programme die grundlegenden Parameter der +\acro{GNU}-Software: + +\begin{description} +\item[\texttt{-{}-help}] kurzer Hilfstext +\item[\texttt{-{}-verbose}] ausführliche Ausgaben beim Programmablauf +\item[\texttt{-{}-version}] Ausgabe der Versionsnummer +\end{description} + +Die Programme des \Webc-Systems benutzen zum Lokalisieren der benötigten +Dateien im Dateisystem die \KPS-Bibliothek (\url{http://tug.org/kpathsea}). Diese Bibliothek optimiert und +beschleunigt den Suchprozess im Dateisystem. Ihre Arbeitsweise wird durch +einige Umgebungsvariablen und eine Kon"-fi"-gu"-ra"-tions"-da"-tei gesteuert. +\Webc~7.5 kann mehr als einen Dateibaum gleichzeitig verwalten und ermöglicht +somit die schon beschriebene \TL-Installation unter Verwendung der +\acro{CDROM} oder {\DVD} mit der Ablage modifizierter Konfigurationsdateien +und zusätzlicher Zeichensätze in einem zweiten Dateibaum. Die Suche +nach Dateien wird durch die Analyse der Datei \file{ls-R} beschleunigt, +die in jedem Wurzelverzeichnis eines \TeX-Dateibaums vorhanden ist. +Sie enthält für jede Datei die genaue Position im Dateibaum relativ +zum Wurzelverzeichnis. + +% ------------------------------------------------------------- +\subsection[Dateisuche mit der Kpathsea-Bibliothek]{Dateisuche mit der \protect\KPS-Bibliothek} +\label{sec:kpathsea} + +Wir beschreiben zunächst den grundlegenden Suchmechanismus der \KPS-Bibliothek. + +Ein \emph{Suchpfad} ist eine durch Kommata oder Semikola getrennte Liste von +\emph{Pfadkomponenten}, die üblicherweise Verzeichnisnamen darstellen. +Ein Suchpfad kann sich aus vielen Komponenten zusammensetzen. Die Suche nach +einer Datei \samp{my-file} über den Suchpfad \samp{.:/dir} bewirkt, dass +{\KPS} jede Komponente nacheinander überprüft, also zunächst +\samp{./my-file} und dann \samp{/dir/my-file}. Als Ergebnis wird entweder die +erste gefundene Datei oder eine Liste aller passenden Dateien geliefert. + +Um auf allen Dateisystemen effizient arbeiten zu können, verwendet {\KPS} ggf. andere +Datei-/""Verzeich"-nis-Separatoren als \samp{:} und \samp{/}. + +Beim Überprüfen einer Pfadkomponente \var{p} überprüft {\KPS} zunächst, +ob eine Dateinamen"=Datenbank (siehe auch Dateinamen"=Datenbank auf +Seite~\pageref{sec:filename-database}) für die Pfadkomponente zuständig ist, +d.\,h. beispielsweise steht die Datenbank in einem Verzeichnis, das im Pfad +vor der zu überprüfenden Komponente \var{p} steht. In diesem Fall wird +zur Bestimmung der Position der gesuchten Datei die Datenbank herangezogen. + +Nur wenn keine passende Datenbank existiert oder wenn die Datei nicht +in der Datenbank gefunden wird, durchsucht {\KPS} das Dateisystem. Diese +zeitaufwändige Suche kann über die Spezifikation der Pfadkomponente \var{p} +mit dem Präfix \samp{!!}\ unterbunden werden. Zur Suche erzeugt {\KPS} eine +Liste der Verzeichnisse, die im Pfadelement enthalten sind, und durchsucht +jedes dieser Verzeichnisse nach der gesuchten Datei. + +Für Dateien kann auch ein Schalter \samp{file~must~exist} gesetzt +werden (">Datei muss vorhanden sein"<). Wenn dieser Schalter nicht +gesetzt ist und beispielsweise über das \TeX-Kommando +\cs{openin} eine VF-Datei wie \file{cmr10.vf} gelesen werden +soll, wäre es falsch, nach dieser Datei zu suchen, weil es sie gar +nicht gibt. Speziell für neu installierte VF-Dateien sollten Sie +also unbedingt die Dateinamen"=Datenbank (\cmdname{ls-R}) +aktualisieren, weil die Dateien sonst nicht gelesen werden und +kein Fehler angezeigt wird. Dieser Vorgang wiederholt sich für jede +Komponente eines Suchpfades: zunächst wird die Datenbank +überprüft, danach ggf. das Dateisystem. Wird die Datei gefunden, +stoppt die Suche (normalerweise) und als Ergebnis wird der komplette Pfad zur +gesuchten Datei ausgegeben. + +Außer Verzeichnisnamen dürfen Pfadkomponenten für {\KPS} folgende +Elemente enthalten: (verschachtelte) Vorgaben, Umgebungsvariablen, +Werte aus der Konfigurationsdatei, Home-Verzeich"-nisse von +Benutzern und Startverzeichnisse für eine rekursive Suche. Diese +Elemente werden vor einer Dateisuche von {\KPS} in gewöhnliche +Verzeichnis- oder Dateinamen expandiert. Diese Expansion wird in +den folgenden Abschnitten erklärt, und zwar genau in der +Reihenfolge, wie die Elemente auch von {\KPS} bearbeitet werden. + +Beachten Sie, dass {\KPS} bei absoluten und explizit relativen Komponenten, +d.\,h. wenn die Komponente mit den Zeichen \samp{/}, \samp{./} oder +\samp{../} beginnt, nur überprüft, ob die Datei existiert. + +\ifSingleColumn +\else + +\begin{figure*}[tp] +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +% .............................................................. +\subsubsection{Bestandteile von Pfadkomponenten}\label{Path-sources} +\label{sec:path-sources} + +Ein Suchpfad kann aus vielen verschiedenen Bestandteilen aufgebaut werden. +Dies sind in der Reihenfolge, wie {\KPS} sie auswertet: + +\begin{enumerate} +\item + eine benutzerdefinierte Umgebungsvariable, z.\,B. \envname{TEXINPUTS}: + Wird an den Inhalt der Variablen ein Punkt und ein Programmname angehängt, wie + beispielsweise bei \envname{TEXINPUTS.latex}, hat diese Form Vorrang + vor den ">gewöhnlichen"< Variablen. +\item + Einträge aus programmspezifischen Konfigurationsdateien, + beispielsweise zum Programm {\dvips} eine Zeile \samp{S /a:/b} + in der Konfigurationsdatei \file{config.ps} +\item + Einträge aus der \KPS-Konfigurationsdatei \file{texmf.cnf}, + z.\,B. \samp{TEXINPUTS=/c:/d} (siehe folgenden Text) +\item + Einstellung beim Übersetzen der Programme +\end{enumerate} + +Unter Verwendung der Parameter zur Fehlersuche können Sie sich diese +Werte für einen Suchpfad auch anzeigen lassen. (Siehe dazu den Abschnitt +Fehlersuche auf Seite~\pageref{sec:debugging}.) + +% .............................................................. +\subsubsection{Konfigurationsdateien} + +%\tolerance=3500 +Die \KPS-Bibliothek liest zur Laufzeit die \emph{Konfigurationsdateien} mit den Namen +\file{texmf.cnf}. Der zugehörige Suchpfad zum Auf"|finden dieser +Konfigurationsdateien steht in der Umgebungsvariablen \envname{TEXMFCNF} +(die Voreinstellung ist \file{texmf/web2c}). {\KPS} liest \emph{alle} +Dateien mit den Namen \file{texmf.cnf}, die es in diesem Suchpfad findet. +Die zuerst gelesenen Definitionen haben dabei Vorrang vor später gelesenen +Werten. +Wenn der Suchpfad auf \dirname{.:\$TEXMF} steht, überschreiben die Einstellungen +in \file{./texmf.cnf} diejenigen in \dirname{\$TEXMF/texmf.cnf}. + +%\tolerance=1500 + +Im Folgenden wird die Syntax der Datei \file{texmf.cnf} angegeben. +Konsultieren Sie zum besseren Verständnis beim Lesen die auf der +{\acro{CDROM}} oder {\DVD} enthaltene Konfigurationsdatei. +%, die ab Seite~\pageref{app:texmf.cnf} im Anhang dieser Anleitung +% abgedruckt ist. + +\begin{itemize} +\item + Kommentare beginnen mit einem \samp{\%} und erstrecken sich bis zum + Zeilenende. +\item + Leerzeilen werden überlesen. +\item + Ein \samp{\bs} am Zeilenende fasst die aktuelle mit der folgenden Zeile + zusammen. Leerraum in der Folgezeile wird \emph{nicht} überlesen. +\item + Sonstige Zeilen haben den folgenden Aufbau: + +\begin{alltt} + \var{Variable}[.\var{Programmname}] [=] \var{Wert} +\end{alltt}% + + Das Zeichen ">="< und umgebender Leerraum dürfen entfallen. +\item + Der Name von \var{Variable} kann alle Zeichen außer Leerzeichen, + \samp{=} und \samp{.} enthalten. Verwenden Sie am besten nur die Zeichen + \samp{A-Za-z\_}. +\item + Wenn das Suffix ">\code{.\var{Programmname}}"< angegeben wird, gilt die + Variable nur für das entsprechende Programm ">\var{Programmname}"< oder + ">\code{\var{Programmname}.exe}"<. Auf diese Weise können + beispielsweise verschiedene + \TeX-Formate mit unterschiedlichen Suchpfaden arbeiten. +\item + \texttt{\var{Wert}} darf alle Zeichen außer \texttt{\%} und \texttt{@} + enthalten. + Die Einschränkung der Werte auf bestimmte Programme über ein Suffix + ist nicht zulässig. Ein \samp{;} in \texttt{\var{Wert}} wird unter + \acro{UNIX} in \samp{:} umgewandelt. Dadurch ist die Verwendung der gleichen + Konfigurationsdateien für \acro{UNIX} und \acro{DOS}/""Windows"=Systeme möglich. +\item + Die Definitionen werden komplett eingelesen, bevor eine Expansion + stattfindet. Dadurch können Sie die Variable schon vor Ihrer Definition + referieren. +\end{itemize} + +Der Ausschnitt einer Konfigurationsdatei demonstriert diese +Möglichkeiten. +\ifSingleColumn +\verbatiminput{examples/ex5.tex} +\else +Betrachten Sie Abbildung~\ref{fig:config-sample}. +\fi + +% .............................................................. +\subsubsection{Expansion von Pfadkomponenten} +\label{sec:path-expansion} + +{\KPS} verwendet in Suchpfaden ähnliche Zeichen und Konstrukte wie +\acro{UNIX}-Shells. Beispielsweise wird die Definition +\verb|~$USER/{foo,bar}//baz| in alle Unterverzeichnisse von \file{foo} und +\file{bar} unterhalb vom Home-Verzeichnis von \dirname{\$USER} expandiert, +die eine Datei oder ein Unterverzeichnis namens \file{baz} enthalten. Der +Expansionsmechanismus wird im Folgenden erklärt. + +% .............................................................. +\subsubsection{Expansion der Voreinstellungen} +\label{sec:default-expansion} + +Wenn der Suchpfad mit der höchsten Priorität (siehe hierzu ">Bestandteile von +Pfadkomponenten"< auf Seite~\pageref{sec:path-sources}) einen zusätzlichen +(vorangestellten, nachgestellten oder verdoppelten) Doppelpunkt enthält, +wird an dieser Stelle der Suchpfad eingefügt, der als nächstes in der +Hierarchie folgt. Auch bei diesem gilt dieselbe Regel. Wenn beispielsweise +die Umgebungsvariable + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} + +gesetzt wird (hier: C-Shell) und in \file{texmf.cnf} die Variable +\code{TEXINPUTS} folgenden Wert erhält + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} + +dann lautet der Suchpfad schließlich: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Da es sinnlos wäre, denselben Pfad mehrfach einzufügen, wird die Ersetzung +nur einmal vorgenommen, und zwar in der Reihenfolge vorne, hinten und +Mitte. Mehrfach verdoppelte Doppelpunkte bleiben unverändert. + +% .............................................................. +\subsubsection{Expansion geschweifter Klammern} + +Die Expansion geschweifter Klammern ist zur Definition mehrerer +\TeX-Hierarchien sehr nützlich. Beispielsweise wird |v{a,b}w| +zu |vaw:vbw|. Verschachtelungen sind dabei erlaubt. +Diese Technik wird dazu benutzt, durch eine Zuweisung an +\code{\$TEXMF} verschiedene \TeX-Hierarchien einzuführen. +Als Beispiel finden Sie in \file{texmf.cnf} folgende Definition +(etwas gekürzt, tatsächlich ist es etwas komplexer): +%(Zeile 75): %%%% to be checked !!!! checked&corrected vrws 01.06.05 + +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} + +Eine Anwendung wie + +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +führt dann dazu, dass erst im aktuellen Verzeichnis gesucht wird, dann +im gesamten Dateibaum \code{\$TEXMFHOME/tex} und \code{\$TEXMFLOCAL/tex} +(auf der Festplatte) und +schließlich im gesamten Dateibaum \dirname{\$TEXMFVAR/tex} sowie +\code{\$TEXMFMAIN/tex} (nur in der Datenbank \file{ls-R}) +durchsucht wird. Dadurch kann man bequem +zwei parallel installierte \TeX-Hierarchien durchsuchen, +beispielsweise eine unveränderliche auf \acro{CDROM}/{\DVD} und eine dynamisch +angepasste auf Festplatte, in der neue Programmversionen und zusätzliche +Zeichensätze installiert werden. Durch die Verwendung der Variablen +\code{\$TEXMF} in allen Definitionen wird grundsätzlich zuerst der +neuere Dateibaum durchsucht. + +% .............................................................. +\subsubsection{Expansion von Unterverzeichnissen} +\label{sec:subdirectory-expansion} + +Zwei oder mehrere aufeinanderfolgende Schrägstriche (\texttt{//}) in +einer Pfadkomponente, die auf einen Verzeichnisnamen \var{d} folgen, +werden expandiert zu allen Unterverzeichnissen von \var{d}. Dieser +Vorgang findet rekursiv statt, wobei erst alle Verzeichnisse auf +einer Ebene bearbeitet werden, dann deren Unterverzeichnisse, usw. +Auf den jeweiligen Ebenen ist nicht beeinflussbar, in welcher +Reihenfolge die Unterverzeichnisse bearbeitet werden. + +Wenn nach den Schrägstrichen Namen angegeben werden, dann werden nur +Unterverzeichnisse mit passenden Namen in die Suche einbezogen. +Beispielsweise wird \samp{/a//b} in die Pfade \file{/a/1/b}, +\file{/a/2/b}, \file{/a/1/1/b} usw. expandiert, aber nicht +zu \file{/a/b/c} oder \file{/a/1}. +(Jeweils vorausgesetzt, dass die Verzeichnisse existieren.) + +Mehrere \samp{//}-Konstruktionen innerhalb einer Pfadkomponente +sind zulässig, allerdings nicht am Pfadanfang. + +% .............................................................. +\subsubsection{Liste der Sonderzeichen und ihre Bedeutung: eine Zusammenfassung} + +Die folgende Zusammenfassung fasst alle Sonderzeichen zusammen, die in den +\KPS"=Konfigurationsdateien auftreten können: + +% ++++++++++++++++++++++++ +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +% ++++++++++++++++++++++++ + +\begin{description} +\item[\CODE{:}] Trennzeichen für Pfadkomponenten; als erstes + oder letztes Zeichen im Pfad bewirkt es die + Expansion der Voreinstellungen. +\item[\CODE{;}] Trennzeichen für Pfadkomponenten für andere + Rechnerplattformen als \acro{UNIX} (Verwendung wie + ">\code{:}"<) +\item[\CODE{\$}] Expansion von Variableninhalten +\item[\CODE{\string~}] Home-Verzeichnis eines Benutzers (Tilde) +\item[\CODE{\char`\{...\char`\}}] Expansion geschweifter Klammern: + beispielsweise wird |a{1,2}b| zu |a1b:a2b|. +\item[\CODE{//}] Expansion von Unterverzeichnissen: tritt niemals + am Anfang einer Pfadkomponente auf. +\item[\CODE{\%}] Kommentar +\item[\CODE{\bs}] Konkatenation mit Folgezeile(n) +\item[\CODE{!!}] Einschränkung der Suche \emph{ausschließlich} auf die + Dateinamen"=Datenbank: Das Dateisystem wird \emph{nicht} + durchsucht! +\end{description} + +% ------------------------------------------------------------- +\subsection{Dateinamen"=Datenbanken} +\label{sec:filename-database} + +{\KPS} unternimmt etliche Anstrengungen, um den Zugriff auf Festplatte und +\acro{CDROM}/{\DVD} zur Suche nach Dateien zu reduzieren. Auf \TeX-Systemen mit +vielen Unterverzeichnissen kann die Suche in jedem möglichen Verzeichnis +nach einer bestimmten Datei eine lange Zeit in Anspruch nehmen, besonders +wenn einige Hundert Zeichensatzverzeichnisse durchforstet werden müssen. +Um dieses Problem abzumildern, benutzt {\KPS} eine Art Datenbankdatei +namens \file{ls-R}, die die Zuordnung von Dateinamen auf Verzeichnisse +enthält. Dadurch muss nicht jedesmal die Festplatte durchsucht werden. + +Eine zweite Datenbank in der Datei \file{aliases} kann eine Zuordnung +zwischen den Namen in \file{ls-R} und weiteren Namen vornehmen und so +beispielsweise hilfreich bei der Umsetzung von \samp{8.3}-\acro{DOS}-Dateinamen +auf die ">echten"<, aussagekräftigen Dateinamen zur Seite stehen. + +% .............................................................. +\subsubsection{Die \texttt{ls-R}-Datenbank} +\label{sec:ls-R} + +Wie schon öfters erwähnt, muss die Dateinamen"=Datenbank in der Datei +\file{ls-R} gespeichert sein. Sie sollten eine solche Datenbank für jede +\TeX-Hierarchie (normalerweise in \code{\$TEXMF}) Ihres Systems anlegen. +Die meisten \TeX-Systeme arbeiten nur mit einer Hierarchie. {\KPS} sucht +die Datenbanken \file{ls-R} über den Pfad \code{TEXMFDBS}. + +Es wird empfohlen, die Pflege der \code{ls-R}-Dateien dem mitgelieferten +Skript \cmdname{mktexlsr} zu überlassen. Dieses Skript wird automatisch von den +verschiedenen \samp{mktex*}-Skripten aufgerufen. Das Skript ruft +grob gesagt den Befehl + +\begin{alltt} +cd /\var{your}/\var{texmf}/\var{root} && ls -LAR ./ >ls-R +\end{alltt} + +auf, falls das Kommando \code{ls} Ihres Rechners eine Ausgabe im richtigen +Format liefert. (So wie das \acro{GNU}-\code{ls}.) Wenn Sie ganz sichergehen +wollen, dass die Datenbank immer auf dem neuesten Stand ist, sollten Sie sie +in regelmäßigen Abständen mit Hilfe eines \cmdname{crontab}-Eintrags +aktualisieren lassen. Dadurch wird nach einer Installation eines +Pakets per Hand trotzdem sichergestellt, dass die Datenbank aktuell ist. + +Wenn eine Datei nicht über die Datenbank gefunden wird, sucht +{\KPS} normalerweise auf der Festplatte weiter. Wenn eine Pfadkomponente +mit \samp{!!} beginnt, wird dagegen niemals die Festplatte durchsucht. + +% .............................................................. +\subsubsection{\cmdname{kpsewhich}: Dateisuche} +\label{sec:invoking-kpsewhich} + +Mit dem Programm \cmdname{kpsewhich} können Sie unabhängig vom Aufruf +irgendeines \TeX-Programms nach Dateien in der \TeX-Hierarchie suchen +(als schnellere Alternative zu dem Befehl \cmdname{find}). Dies +wird von den verschiedenen \samp{mktex\dots}-Skripten bis zum +Exzess vorexerziert. + +\begin{alltt} +> \Ucom{kpsewhich \var{option}{\dots} \var{filename}{\dots}} +\end{alltt} + +Die Optionen werden entweder mit \samp{-} oder mit \samp{-{}-} eingeleitet. +Jede eindeutige Abkürzung ist zulässig. + +Argumente der Kommandozeile, die keine Optionen darstellen, werden als +Dateinamen interpretiert. Für jeden Dateinamen wird der erste passende +Pfad gemeldet. Um eine Liste aller passenden Pfade zu erhalten, müssen Sie +das \acro{UNIX}-Kommando \cmdname{find} aufrufen. + +Im Folgenden werden die häufiger benutzten Optionen beschrieben. + +\begin{description} +\item[\texttt{-{}-dpi=}\var{num}]\mbox{}\\ + Stellt die Auf"|lösung für die Suche nach Zeichensätzen + (nur \file{.gf} oder \file{.pk}) auf \var{num}\,dpi. Alternativ + kann die Option \optname{-D} (kommt von \dvips) benutzt werden. + Voreinstellung ist~600. +\item[\texttt{-{}-format=}\var{name}]\mbox{}\\ + Setzt das Format zur Suche auf \var{name}. Per Voreinstellung + versucht \cmdname{kpsewhich} das Format über den Dateinamen + zu erschließen. Bei Formaten ohne zugeordnete Namens\-endung wie den + zu {\MP} gehörenden Dateien und den Konfigurationsdateien zu + {\dvips} müssen Sie den entsprechenden Namen so eingeben, wie er + \KPS{} bekannt ist. +\item[\texttt{-{}-mode=}\var{string}]\mbox{}\\ + Setzt für die Zeichensatzsuche den Generierungsmodus (betrifft nur + \file{.gf}- oder \file{.pk}-Dateien). Normalerweise werden alle + Zeichensätze gemeldet. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Es wird versucht, die Dateien notfalls durch eine Suche auf der + Festplatte zu finden. Normalerweise wird nur die \file{ls-R}-Datenbank + konsultiert. +\item[\texttt{-{}-path=}\var{string}]\mbox{}\\ + Sucht entlang des angegebenen Pfads statt des Standardpfads, + der auf Grund der Endung gewählt wird. Alle Expansionen sind + zulässig. Bei Verwendung der Option \texttt{-{}-path} darf nicht + die Option \texttt{-{}-format} angegeben werden. +\item[\texttt{-{}-progname=}\var{name}]\mbox{}\\ + Setzt den Programmnamen für die genauere Variablenspezifikation + über \samp{.\var{Programmname}}. Voreinstellung ist \samp{kpsewhich}. +\item[\texttt{-{}-show-path=}\var{name}]\mbox{}\\ + Zeigt den Suchpfad für die angegebene Namens\-endung. Diese kann entweder + als Namens\-endung (\samp{.pk}, \samp{.vf}, usw.) oder als Name (wie bei der + Option \optname{-{}-format}) spezifiziert werden. +\item[\texttt{-{}-debug=}\var{num}]\mbox{}\\ + Legt den Umfang für die Fehlersuche fest. +\end{description} + +% .............................................................. +\subsubsection{Anwendungsbeispiele} +\label{sec:examples-of-use} + +Wir schauen uns nun die Funktionsweise von {\KPS} anhand einiger Beispiele an. + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} + +Wir suchen unter den \TeX-Quelldateien nach der Datei \file{article.cls}. +Da die Namens\-endung \samp{.cls} eindeutig ist, müssen wir den Typ +\samp{.tex} nicht angeben. Die \samp{texmf-dist}-Hierarchie enthält die +Datei im Unterverzeichnis \dirname{tex/latex/base}. Ähnlich bereiten +die folgenden Beispiele auf Grund eindeutiger Namens\-endungen keine Probleme. + +\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} + +Beim letzten Beispiel handelt es sich übrigens um eine \BibTeX-Literaturdatenbank +für \textsl{TUGBoat}-Artikel. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} + +Zeichensatzdateien mit der Namens\-endung \samp{.pk} werden +von Anzeige- oder Druckaufbereitungsprogrammen wie {\dvips} und +\cmdname{xdvi} verwendet. Nachdem wir aufgrund der Voreinstellung keine \file{.pk}-Dateien verwenden, +sondern die \PS-\TypeI-Zeichensätze, die auf der \acro{CDROM}/{\DVD} enthalten +sind, wird auch keine \file{.pk}-Datei angezeigt. + +\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} +Für diesen Zeichensatz (Teil der \acro{IPA}-Fonts% +\footnote{\acro{IPA}: International Phonetic Alphabet} +von der Universität von Washington) liegen noch keine +\TypeI-Umsetzungen vor und \samp{.pk}-Dateien müssen generiert werden. Da unser voreingestellter \MF-Modus +\samp{ljfour} eine Auf"|lösung von 600\,dpi besitzt, +finden wir (nachdem er schon einmal gebraucht und automatisch +erzeugt wurde) eine entsprechende Instanz dieses Zeichensatzes. + +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} + +Durch die Angabe ">\optname{-dpi=300}"< interessieren wir uns nur +für Zeichensätze mit der Auf"|lösung 300\,dpi. Es wurde keiner gefunden. +Programme wie {\dvips} oder \cmdname{xdvi} lassen einen solchen fehlenden +Zeichensatz durch den Aufruf des Skripts \cmdname{mktexpk} mit entsprechenden +Parametern automatisch erzeugen. + +Als nächstes wenden wir uns den Header- und Konfigurationsdateien +von {\dvips} zu. +Zunächst suchen wir nach der Konfiguration für die \TeX-Unterstützung, +dem Prolog \file{tex.pro}. Danach suchen wir die allgemeine Konfigurationsdatei +(\file{config.ps}) und schließlich die \PS-Zeichensatzzuordnungsdatei +\file{psfonts.map}. Dateien dieser Art haben seit der 2004er-Version der {\TL} ihre eigenen Suchpfade und einen neuen Aufbewahrungsort im \OnCD{texmf}-Baum. Da die Namens\-endung \samp{.ps} nicht eindeutig ist, +müssen wir den gewünschten Typ (\samp{dvips config}) +für die Datei \file{config.ps} spezifizieren. + +\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} + +Jetzt suchen wir nach den Dateien für den \PS-Zeichensatz ">URW Times"<. +Nach dem Namensschema von Karl~Berry beginnen die Namen mit ">\texttt{utm}"<. +Zunächst suchen wir die Konfigurationsdatei, die den Namen der +Zeichensatzzuordnungsdatei enthält. + +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} + +Diese Datei enthält folgende Anweisung: + +\begin{alltt} + p +utm.map +\end{alltt} + +Die angegebene Datei \file{utm.map} wollen wir als nächstes suchen: + +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} + +Diese Zuordnungsdatei wird im Unterverzeichnis \file{urw} bei den +Hilfsdateien für {\dvips} gefunden. Sie enthält die Dateinamen der +\TypeI-\PS-Zeichensätze, die für URW Times benutzt werden. Ein +kleiner Auszug aus dieser Datei: + +\begin{alltt} + utmb8r NimbusRomNo9L-Medi ... \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} + +Diese Beispiele sollten deutlich gemacht haben, wie leicht bestimmte Dateien +im \TeX-Dateibaum gefunden werden können. Dies ist sehr wichtig, wenn Sie +den Verdacht haben, dass eine falsche Version einer Datei verwendet wird: +Sie lassen sich einfach die verwendete Datei von \cmdname{kpsewhich} +anzeigen. + +% .............................................................. +\subsubsection{Fehlersuche} +\label{sec:debugging} + +Manchmal ist wichtig, bis ins Detail nachzuvollziehen, wie ein Programm eine +bestimmte Datei findet. Zu diesem Zweck bietet die \KPS-Bibliothek verschiedene +Stufen für den Umfang der Fehlersuche an. + +\begin{itemize} +\item[\texttt{\ 1}] \code{stat}-Aufrufe (Überprüfung, ob Datei + existiert); mit einer aktuellen \file{ls-R}-Datenbank sollten Sie fast + keine Meldungen erhalten. +\item[\texttt{\ 2}] Zugriffe auf Suchlisten (wie \file{ls-R}-Datenbanken, + Zuordnungsdateien (\texttt{.map}), Konfigurationsdateien) +\item[\texttt{\ 4}] Öffnen und Schließen von Dateien +\item[\texttt{\ 8}] Auf"|listen der voreingestellten Pfade für Extensionen +\item[\texttt{16}] Verzeichnisliste für jede Pfadkomponente (nur bei Festplattenzugriff) +\item[\texttt{32}] Suchaktionen nach Dateien +\item[\texttt{64}] Werte von Variablen. +\end{itemize} + +Durch die Angabe von \samp{-1} setzen Sie alle Stufen gleichzeitig. +Für eine effiziente Fehlersuche sollten Sie sich auf die wichtigsten +Ausgaben beschränken. + +Für {\dvips} gibt es einen ähnlichen Mechanismus zur Erzeugung +von Analysemeldungen, um herauszufinden, warum bestimmte Dateien geöffnet +wurden bzw.\ wo vielleicht das Problem liegt, wenn Dateien nicht gefunden +werden. + +Da fast alle Programme die \KPS-Bibliothek benutzen, können Sie die +gewünschte Stufe auch über die Umgebungsvariable \envname{KPATHSEA\_DEBUG} +einstellen, indem Sie einen der Werte oder eine additive Kombination +spezifizieren. + +Anmerkung für Windows-Benutzer: Es ist nicht einfach, alle Meldungen in eine Datei umzulenken. Für die Fehlersuche +jedoch ist die folgende (temporäre!) Vereinbarung sinnvoll: + +\indent\texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log} + +Wir betrachten als Beispiel eine kleine \LaTeX-Quelldatei mit dem Namen +\file{hello-world.tex} mit folgendem Inhalt: + +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} + +Diese Datei verwendet nur einen Zeichensatz, nämlich \file{cmr10}. Wir sehen uns +jetzt einmal genau an, wie {\dvips} die \PS-Datei erzeugt. +Da wir die \TypeI-Variante der Computer-Modern-Roman-Zeichensätze +verwenden wollen, haben wir die Option \optname{-Pcms} verwendet. + +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} + +Hier haben wir als Stufe zur Fehlersuche eine Kombination der Stufe~\code{4} von +{\dvips} (siehe \dvips-Handbuch, +\dirname{texmf/doc/html/dvips/dvips\_toc.html}?). +%\ifSingleColumn +%We get something +%like the following (we have rearranged the output for easier display): +%\begin{alltt}\small +%\input{examples/ex6.tex} +%\end{alltt} +%\else +Die Ausgabe sieht ungefähr so wie in +Abbildung~\ref{fig:dvipsdbga} dargestellt aus (die Ausgabe wurde für einen besseren Überblick +etwas umgestaltet). + +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Suche nach Konfigurationsdateien}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Suche nach Prologdateien}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Suche nach Font-Dateien}\label{fig:dvipsdbgc} +\end{figure*} + +Zunächst sucht {\dvips} (bzw.\ \KPS) seine Konfigurationsdateien, +nämlich \file{texmf.cnf} (das die Pfade der anderen Dateien enthält), +dann die Dateinamen"=Datenbank \file{ls-R} (zur Optimierung der Suche) +und die Datei \file{aliases}, mit deren Hilfe für eine Datei +mehrere Namen vereinbart werden können, z.\,B. um die kurzen +\samp{8.3}-\acro{DOS}-Namen mit aussagefähigen, langen Namen zu assoziieren. +Danach wird die allgemeine \dvips-Konfigurationsdatei +\file{config.ps}, anschließend die benutzerspezifische Konfigurationsdatei +\file{.dvipsrc} (wird hier \emph{nicht} gefunden) gesucht. +Als letztes sucht {\dvips} die Zuordnungsdatei für +Computer-Modern-{\PS}"=Zeichensätze \file{config.cms} (bedingt durch die +Option \optname{-Pcms} beim Aufruf von \dvips). Diese +Datei enthält die Dateinamen der Listen, die die Zuordnung zwischen +Dateinamen und Zeichensatznamen herstellen. + +\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} + +{\dvips} versucht, diese Dateien und zusätzlich die +allgemeine Zeichensatzzuordnungstabelle \file{psfonts.map} zu +laden, die immer konsultiert wird; der letzte Teil von +Abschnitt~\ref{sec:examples-of-use} erklärt diese Tabellen genauer. + +Jetzt erfolgt die normale Startmeldung von \dvips: + +\begin{alltt}\ifSingleColumn +dvips(k) 5.94a +kpathsea version +Copyright (C) 2003 Radical Eye Software. +... +\else\small{}dvips(k) 5.94a +kpathsea version +Copyright (C) 2003 Radical Eye Software. +... +\fi\end{alltt}% decided to accept slight overrun in tub case +\ifSingleColumn +Danach wird nach \file{texc.pro} gesucht: + +\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 +Danach wird nach \file{texc.pro} gesucht (siehe Abbildung~\ref{fig:dvipsdbgb}). +\fi +Dann gibt {\dvips} Datum und Uhrzeit aus und meldet den Dateinamen +der erzeugten \PS-Datei \file{hello-world.ps}. Jetzt wird die +Zeichensatzdatei \file{cmr10} benötigt, die {\dvips} als +">resident"< meldet. + +\enlargethispage{1ex} +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 is resident. +\end{alltt} + +Es geht weiter mit \file{cmr10.tfm} und einigen weiteren Prologdateien, +deren Ausgaben wir hier weglassen. Letztlich wird die \TypeI-Zeichensatzdatei +\file{cmr10.pfb} gesucht (und gefunden) und in die Ausgabedatei integriert +(siehe letzte Zeile). + +\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, + ... + +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 +[1] +\end{alltt} + +% ------------------------------------------------------------- +\subsection{Einstellungen zur Laufzeit} + +Zu den willkommenen Erweiterungen von {\Webc} zählt die Möglichkeit, +zur Laufzeit einige Speicher"-größen über die Datei \file{texmf.cnf} anpassen +zu können (insbesondere die Größe einiger Stacks). Eine ausführliche Liste +der veränderbaren Parameter finden Sie in der Datei \file{texmf.cnf}. +Die wichtigsten Werte sind: + +\begin{description} +\item[\texttt{main\_memory}]\mbox{}\\ + Arbeitsspeicher für \TeX, {\MF} und {\MP} in Worten: Für jede Einstellung + muss eine eigene Format-Datei erstellt werden. Allerdings können Sie + mehrere Versionen von {\TeX} unter verschiedenen Namen erzeugen und + in der Konfigurationsdatei jeweils eigene Einträge vorsehen. Hier gibt + es ein Monster-{\TeX} namens \samp{hugetex} mit der zugehörigen Format-Datei + \file{hugetex.fmt}, wobei der spezielle Wert der + Variablen \texttt{main\_memory} dann + aus der Datei \file{texmf.cnf} gelesen wird. +\item[\texttt{extra\_mem\_bot}]\mbox{}\\ + Extraspeicher für ">große"< \TeX-Datenstrukturen wie Boxen, Glue, + Breakpoints, usw.: Besonders bei Anwendung von {\PiCTeX} sollte dieser + Wert erhöht werden. +\item[\texttt{font\_mem\_size}]\mbox{}\\ + Anzahl der Worte für Speicherung von Zeichensatzinformationen: Entspricht + ungefähr dem Speicherbedarf der gelesenen \acro{TFM}-Dateien. +\item[\texttt{hash\_extra}]\mbox{}\\ + Zusätzlicher Platz für Suchlisten: In der Hauptliste können + ca. 10000~Einträge verwaltet werden. Bei einem Buch mit vielen Querverweisen + reicht dieser Platz unter Umständen nicht aus. + Die Voreinstellung für \texttt{hash\_extra} ist \texttt{50000}. +\end{description} + +Natürlich sind diese Parameter kein Ersatz für eine wirklich dynamische +Speicherverwaltung. Mit der gegenwärtigen Version von {\TeX} ist dieses +Konzept aber nur extrem schwer zu implementieren; darum stellt dieses +Verfahren eine praktikable Lösung dar. + +\begin{comment} +%\clearpage +% ============================================================== +\section{Installation von {\TeX} auf einer neuen \acro{UNIX}-Plattform} + +Wenn Sie eine Rechnerplattform einsetzen, für die wir keine Binärdateien +zur Verfügung gestellt haben, müssen Sie {\TeX} und die zugehörigen +Programme mit Hilfe der Quell-Codes selbst übersetzen. Das ist gar nicht so +schwer, wie es klingt. Alles, was Sie brauchen, finden Sie auf der {\DVD} +im Verzeichnis \texttt{source}. + +Zunächst sollten Sie jedoch die von {\TeX} benötigten Dateien durch +eine Installation ohne Binärdateien auf die Festplatte kopieren bzw. +durch ">Mounten"< der {\DVD} verfügbar machen. + +% ------------------------------------------------------------- +\subsection{Voraussetzungen} + +Zum Übersetzen von {\TeX} und allen weiteren benötigten +Programmen benötigen Sie ca. 100\,MB Festplattenkapazität. +Dazu kommen ein \acro{ANSI}-C-Compiler, \cmdname{make} sowie +ein Scanner- und Parser-Generator. Die \acro{GNU}-Programme +(\cmdname{gcc}, \acro{GNU}-\cmdname{make}, \cmdname{m4}, +\cmdname{flex} und \cmdname{bison}) sind praxiserprobt +und auf den meisten Plattformen verfügbar. Eventuell können +Sie auch andere C-Compiler oder \cmdname{make}-Programme einsetzen, +doch dann sollten Sie sich wirklich gut mit Ihrem System auskennen, +wenn es Schwierigkeiten während des Übersetzungsprozesses gibt. +Der Befehl \cmdname{uname} muss einen gültigen Namen liefern. + +% ------------------------------------------------------------- +\subsection{Konfiguration} + +\begin{itemize} +\item Beginnen Sie mit einer ganz normalen \TL-Installation auf +Festplatte (siehe Abschnitt~\ref{sec:install-disk} auf +Seite~\pageref{sec:install-disk}). Das Installieren der +fertigen Binaries können Sie getrost überspringen. + +\item Dann entpacken Sie das komprimierte Archiv (\cmdname{tar}) in +\dirname{source} auf Ihre Festplatte und wechseln in dieses Verzeichnis. + +\item Legen Sie einen Pfad fest, unter dem das \TeX-System +installiert werden soll. Natürlich sollte das derselbe Pfad sein, +den Sie schon zum Kopieren der Daten verwendet haben +(z.\,B. \dirname{/usr/local} oder \dirname{/usr/local/TeX}). +\end{itemize} + +Die automatische Systemerkennung und -anpassung wird durch +\textsf{configure} mit folgendem Aufruf gestartet: + +\begin{alltt} +> \Ucom{./configure -prefix=/usr/local/TeX} +\end{alltt} + +Bei der Option \optname{prefix} geben Sie das Verzeichnis an, in dem sich die +bereits kopierten \TL-Dateien befinden; +dieses Verzeichnis wird weiter strukturiert (\dirname{\$TEXDIR} +ist dabei das Installationsverzeichnis): + + +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{\$TEXDIR/man} & Anleitungen im + \acro{UNIX}-\cmdname{man}-Format\\ + \dirname{\$TEXDIR/share/texmf} & \TeX-Daten mit Zeichensätzen, + Makros, usw.\\ + \dirname{\$TEXDIR/info} & Anleitungen im + \acro{GNU}-\cmdname{info}-Format\\ + \dirname{\$TEXDIR/bin/\$PLATFORM} & ausführbare Programme\\ +\end{tabular} +%$ + +Wenn Sie wollen, können Sie ">\dirname{share/}"< als Namensbestandteil +von \OnCD{texmf} weglassen, da sowohl +\dirname{\$TEXDIR/share/texmf} als auch \dirname{\$TEXDIR/texmf} +automatisch von \cmdname{configure} erkannt werden. Sollten Sie ein anderes +Verzeichnis vorziehen, müssen Sie dieses \cmdname{configure} mit dem +Kommandozeilenparameter \optname{-{}-datadir} mitteilen. + +Wenn Sie die erkannte Plattform nicht als \dirname{\$PLATFORM} im +Pfad der ausführbaren Programme haben wollen, sondern z.\,B. +direkt in \dirname{\$TEXDIR/bin} installieren wollen, verwenden Sie +die Option \optname{-{}-disable-multiplatform}. + +Zum Weglassen spezieller \TeX-Systeme wie {\OMEGA} oder {\eTeX} gibt +es eine Reihe von Optionen, die Sie durch die Eingabe von +\samp{./configure --help} angezeigt bekommen. + +% ------------------------------------------------------------- +\subsection{Aufruf von \cmdname{make}} + +Vergewissern Sie sich, dass die Shell-Variable \envname{noclobber} nicht +gesetzt ist und geben + +\begin{alltt} +> \Ucom{make world} +\end{alltt} + +ein. Jetzt können Sie sich entspannt zurücklehnen oder wie ein +{\TeX}ie sagt: |\relax|. + +Eine gute Idee ist auch das Speichern der Meldungen beim +Übersetzen durch das Anlegen eines Protokolls: + +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Nehmen Sie nicht fälschlicherweise nach dem Durchlauf von \cmdname{make} +an, dass alles gut gegangen ist, sondern vergewissern sich durch eine +Kontrolle des Protokolls. (\acro{GNU} \cmdname{make} zeigt Fehler +z.\,B. immer mit der Zeichenkette ">\texttt{***}"< an.) +Außerdem sollten Sie sich vergewissern, dass alle ausführbaren +Programme auch erzeugt wurden: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} + +Das Ergebnis sollte über 200 liegen (Sie können die exakte Zahl +mit der Anzahl der lauf"|fähigen Programme [Binaries] im Verzeichnis \OnCD{bin} vergleichen). +Der Aufruf \samp{make~world} ist übrigens äquivalent zu +\samp{make~all~install~strip}. + +Wenn für den Aufruf von \samp{make~install} besondere +Systemverwalterrechte notwendig sein sollten, können Sie die +Anweisung \samp{make~world} auch in zwei Durchgängen absetzen: + +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +Nachdem Sie Ihre Binaries installiert haben, sollten Sie die normalen +Installationsnacharbeiten durchführen, die im Abschnitt~\ref{sec:postinstall} +auf Seite~\pageref{sec:postinstall} beschrieben sind. + +Wenn Sie lauf"|fähige Programme erstellt haben und diese Anderen zur Verfügung stellen wollen, sollten Sie uns kontaktieren. Wir würden uns freuen, sie auf den \TL-\acro{WWW}-Seiten anzubieten. +\end{comment} + +% ============================================================== +\section{Danksagungen} + +Die {\TL} ist eine gemeinsame Arbeit faktisch aller {\TeX} Users +Groups. + +Die Entwicklung des vorliegende \TL-Releases wurde Karl~Berry geleitet; +die übrigen Haupt-Mitarbeiter sind im Folgenden aufgelistet. + +\begin{itemize} +\item Den englisch-, deutsch-, niederländisch-, und polnisch-sprachigen + \TeX-Anwendervereinigun\-gen (\acro{TUG}, \acro{DANTE} e.V., + \acro{NTG}, and \acro{GUST}), + die zusammen die technische und administrative Infrastruktur + zur Verfügung stellen. Wir würden uns freuen wenn Sie bei einer der + Anwendervereinigungen Mitglied werden. +\item Dem \acro{CTAN} Team, insbesondere Robin Fairbairns, Jim Hef{}feron, + und Rainer Schöpf, das die \TL{}-CD-Images und die Infrastruktur + für Paketupdates zur Verfügung stellt, von denen \TL{} abhängt. +\item Peter Breitenlohner (und das \eTeX\-Team) für den stabilen Grundstock zu {\TeX}s Zukunft, und Peter speziell für wertvolle Hilfe zum Verwenden + von GNU autotools in \TL; +\item Thomas~Esser, der mit dem exzellenten {\teTeX} die Basis + für dieses {\TL} schuf; +\item Michel~Goossens, als Coautor der englischen Original-Dokumentation; +\item Eitan~Gurari, mit dessen {\TeX4ht} die \HTML-Version dieser + Anleitung erstellt wurde und der unermüdlich daran gearbeitet + hat, es auf Zuruf zu verbessern; +\item \Thanh, Martin~Schröder und das pdf\TeX-Team (\url{http://pdftex.org}), + die die Arbeiten zur Erweiterung der Möglichkeiten von + {\TeX} fortgesetzt haben; +\item Hans Hagen, für zahlreiche Tests und Aktivitäten, damit \ConTeXt{} + (\url{http://pragma-ade.com}) ein Teil von \TL sein kann; +\item Taco Hoekwater, für neue Entwicklungen von MetaPost und (Lua)\TeX\ + (\url{http://luatex.org}), und ebenfalls für die Unterstützung beim + \ConTeXt-Teil von \TL; +\item Pawe{\l} Jackowski für das Installationsprogramm \cmdname{tlpm} für + Windows, + Tomasz {\L}uczak für \cmdname{tlpmgui} in früheren Versionen von \TL; +\item Akira Kakuto, für Windows-Programme im Rahmen seines + \acro{W32TEX} Distribution + (\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}); + +\item Jonathan Kew und \acro{SIL}, für die + Neuentwicklung von Xe\TeX{} und die Zeit und Mühe es in \TL{} zu + integrieren, sowie für die erste Version des Mac\TeX-Installers; + +\item Dick Koch für die Betreuung von Mac\TeX\ (\url{http://tug.org/mactex}); + + +\item Reinhard Kotucha, für die Unterstützung bei der Infrastruktur von + \TL{} und das Installationsprogramm, für seine Windows-Untersuchungen, für das \texttt{getnonfreefonts} + Script, und vieles mehr; + +\item Siep Kroonenberg, für wertvolle Beiträge zur Infrastruktur von + \TL\,2008 und den Installer, insbesondere unter Windows, und für einen + Großteil der Arbeit, die Dokumentation dafür zu schreiben; + +\item Petr~Olsak, der das tschechische und slowakische Material sehr sorgfältig er- und überarbeitet hat; + +\item Toshio Oshima, für den \cmdname{dviout}-Previewer für Windows; + +\item Manuel P\'egouri\'e-Gonnard, für die Mithilfe beim Aktualisieren + von Paketen, der Dokumentation und Arbeit an \cmdname{tldoc}; + +\item Fabrice Popineau für die erste Windows-Version von \TL und Mithilfe + bei der französischen Dokumentation; + +\item Norbert Preining, Hauptkoordinator für \TL{}-Infrastruktur und + den Installer, für die Koordination der Debian Version von \TL{} + (zusammen mit Frank Küster), und die daraus resultierenden + Verbesserungsvorschläge; + +\item Sebastian Rahtz für die Erfindung von \TL und die langjährige + Leitung des Projekts; + +\item Vladimir Volovich für viele substanzielle Mithilfe, und dafür, dass + er es möglich gemacht hat, \cmdname{xindy} in \TL aufzunehmen; + +\item Staszek~Wawrykiewicz, der Haupttester für alles, was mit {\TeX} zusammen hängt, Koordinator der polnischen + Beiträge, Windows-Installation und mehr; + +\item Olaf~Weber für die Geduld beim Pflegen von \Webc; +\item Gerben~Wierda für das Erstellen und Pflegen des \MacOSX-Teils und für viele Integrations- und Testarbeiten; +\item Graham~Williams, dessen Arbeit das Makro- und Paketverzeichnis möglich gemacht hat. +\end{itemize} + +\textbf{Lauf"|fähige Programme:} +Reinhard Kotucha (\pkgname{x86\_64-linux}), +Tim Arnold (\pkgname{hppa-hpux}), +Randy Au (\pkgname{amd64-freebsd}), +Edd Barrett (\pkgname{i386-openbsd}), +Karl Berry (\pkgname{i386-linux}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Arthur Reutenauer (\pkgname{sparc-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-solaris}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). + +Informationen dazu, wie Binaries für \TL{} erzeugt werden, +finden sich unter \url{http://tug.org/texlive/build.html}. + +\textbf{Dokumentation und Anpassung der Übersetzungen:} + +\begin{itemize*} +\item Karl~Berry (Englisch), +\item Daniel~Flipo (Französisch), +\item Klaus Höppner \& Hartmut~Henkel (Deutsch) +\item Petr~Sojka \& Jan~Busa (Tschechisch/""Slowakisch), +\item Boris~Veytsman (Russisch), +\item Staszek~Wawrykiewicz (Polnisch). +\end{itemize*} + +Natürlich haben wir am meisten Donald~Knuth zu danken, einmal dafür, dass er {\TeX} erfand und dann dafür, dass er es +der Welt schenkte. + +% ------------------------------------------------------------- +\section{Geschichtliches}\label{sec:history} + +Diese Ausgabe der {\TL} ist in Zusammenarbeit der \TeX{} Users Group (\acro{TUG}), der +\acro{UKTUG}, der französischen \TeX-Vereinigung GUTenberg +und der deutschsprachigen \TeX-Anwendervereinigung (DANTE e.\,V.) +unter Mithilfe der niederländischen, tschechischen/""slowakischen, +indischen, polnischen und russischen \TeX-Benutzergruppen +entstanden. + +\subsection{Vergangenheit} + +Die niederländische \TeX-Benutzergruppe hatte Ende 1993 mit der +Produktion der 4All\TeX-{\acro{CDROM}} für \acro{MS-DOS} die Diskussion angeregt, +eine einzige {\acro{CDROM}} für alle Rechnersysteme zu entwickeln. Zum +damaligen Zeitpunkt war dieses Ziel zu hoch gesteckt, doch immerhin +entstand aus dieser Diskussion nicht nur die sehr erfolgreiche +4All\TeX-{\acro{CDROM}}, sondern auch die \acro{TUG}-Arbeitsgruppe zur Definition +der {\TeX} Directory Structure \TDS, die die zur Arbeit mit {\TeX} +notwendigen und hilfreichen Dateien in eine konsistente und +handhabbare Verzeichnisstruktur einbettet. Das ">Final~Draft"<-Dokument, +das diese Verzeichnisstruktur festlegt, wurde in der Dezember-Ausgabe +1995 der TUGBoat veröffentlicht. Schon frühzeitig war den Beteiligten +klar, dass eine {\acro{CDROM}} auf der Basis der {\TDS} sehr zu begrüßen wäre. +Die \TL-{\acro{CDROM}} war das direkte Resultat der Beratungen der +\TDS-Arbeitsgruppe. Außerdem hat der Erfolg der 4All\TeX-{\acro{CDROM}} +klargemacht, dass ein ähnliches System auch für \acro{UNIX}-Benutzer eine +Erleichterung darstellen würde. Dies war der zweite Beweggrund für +die \TL-\acro{CDROM}. + +Im Herbst 1995 wurde das Projekt, eine \TDS-basierte \acro{UNIX}-{\acro{CDROM}} +zu entwickeln, in Angriff genommen. Sehr schnell stießen die +Verantwortlichen auf das \teTeX-System von Thomas~Esser als +idealen Ausgangspunkt für diese Arbeit, weil es verschiedene +Rechnerplattformen unterstützte und für die Arbeit mit verschiedenen +Dateisystemen vorgesehen war. Anfang 1996 wurde in Zusammenarbeit +mit Thomas~Esser ernsthaft mit der Arbeit begonnen und im Mai~1996 +die erste Ausgabe der {\acro{CDROM}} veröffentlicht. + +Anfang 1997 stellte +Karl~Berry eine neue Version seines \Webc-\TeX-Systems vor, das +schon nahezu alle Ausstattungsmerkmale aufwies, die Thomas~Esser +mit {\teTeX} verwirklicht hatte. Die \acro{TUG} entschied sich daraufhin, +die zweite Version der {\acro{CDROM}} auf der Basis von {\Webc} unter +Verwendung des Installations-Skripts \cmdname{texconfig} aus dem +\teTeX-Paket zu entwickeln. + +Die dritte Ausgabe basierte auf der +inzwischen von Olaf~Weber gepflegten und weiter entwickelten +{\Webc}~Version~7.2; {\TL} unterstützte fast alle Eigenschaften +der zur selben Zeit entstandenen neuen Version von \teTeX. + +Die vierte Ausgabe folgte demselben Schema, indem ihr neue +Versionen von {\teTeX} und {\Webc}~(7.5) zugrunde lagen. +Fast die gesamte {\acro{CDROM}} wurde einer kritischen Überprüfung +unterzogen, wobei besonders darauf geachtet wurde, dass doppelte +Dateien entfernt wurden und die Einordnung der Pakete konsistent +erfolgte. Zudem enthielt diese Ausgabe ein komplettes Windows-Setup. + +Für die fünfte Ausgabe im März~2000 wurden wiederum große Teile der +{\acro{CDROM}} ersetzt, wobei Hunderte von überarbeiteten Paketen aufgenommen +wurden. {\OMEGA}, {pdf\TeX} und Teile der \TeX-Support-Programme (hier +insbesondere \cmdname{xdvi}, \cmdname{dvips} und \cmdname{tex4ht}) +lagen in neuer Version vor. +Die Hauptänderung bei der \TL\,5 betraf die \samp{non-free}-Software. +Alles auf dieser {\acro{CDROM}} war nun in Übereinstimmung mit den \emph{Debian +Free Software Guidelines} (\url{http://www.debian.org/intro/free}). +Wir haben unser Bestes versucht, die Lizenzbedingungen aller Pakete +zu überprüfen, sind aber dankbar, wenn wir auf Fehler hingewiesen werden. + +Die sechste Ausgabe der {\TL} vom Juli/August~2001 +enthielt die neuesten Versionen aller Pakete und Programme. +Das neue Installationskonzept stellte die größte Änderung dar: +Der Benutzer konnte nun viel genauer +gewünschte bzw.\ nicht erwünschte Sammlungen +und Pakete auswählen. Dabei wurden die sprachspezifischen Sammlungen +komplett überarbeitet, so dass sie jetzt automatisch nicht nur +Makros, Fonts usw. installierten, sondern zusätzlich die notwendigen +Einträge in \file{language.dat} vornahmen. + +Die siebte Ausgabe vom Mai~2002 enthält als größte +Änderungen {\MacOSX} und wieder unzählige Updates aller Pakete und Programme. +Ein wesentliches Ziel war zudem die Wiedererstellung einer gemeinsamen +Quelle mit {\teTeX}, um das Auseinanderlaufen seit \TL\,5 und \TL\,6 +zu korrigieren. + +\subsection{2003} + +Im Jahr 2003 war die Flut von Updates und neuen Paketen so groß geworden, +dass wir feststellen mussten: ">{\TL} passt nicht mehr auf eine einzelne +\acro{CDROM}"<. Und so wurde sie in drei verschiedene Distributionen aufgeteilt +(siehe Abschnitt~\ref{sec:tl-coll-dists} auf Seite~\pageref{sec:tl-coll-dists}). +Des Weiteren: + +\begin{itemize} +\item Auf Wunsch des \LaTeX-Teams wurde der Standard für \cmdname{latex} + und \cmdname{pdflatex} verändert; beide benutzen nun {\eTeX} als Basis + (siehe Seite~\pageref{text:etex}). +\item Die neuen ">Latin Modern Fonts"< wurden aufgenommen (und werden + zur Benutzung empfohlen). +\item Der Support für Alpha-\acro{OSF} wurde aufgegeben (den + \acro{HPUX}-Support hatte es schon zuvor ereilt), da + niemand mehr in der Lage war, neue Binaries zu kompilieren. +\item Das Setup für Windows wurde grundlegend überarbeitet. + Zum ersten Mal wurde eine integrierte Umgebung eingeführt, + die auf \cmdname{XEmacs} basiert. +\item Wichtige Hilfsprogramme für Windows (Perl, Ghost\-script, + Image\-Magick, Ispell) werden nun im \TL-Verzeichnis + installiert. +\item Die von \cmdname{dvips}, \cmdname{dvipdfm} und \cmdname{pdftex} + benutzten Font-Mapfiles werden vom neuen Programm + \cmdname{updmap} generiert und in \dirname{texmf/fonts/map} + installiert. +\item \TeX, {\MF} und {\MP} geben nun die meisten 8"~Bit-Input"~Zeichen (Position 32 und oberhalb) unverändert + aus in (\verb|\write|)-Files, Logfiles und auf dem Terminal. + Das bedeutet, dass sie \emph{nicht} mit der \verb|^^|-Notierung + übersetzt ausgegeben werden. Auf der \TL\,7 war diese + Übersetzung abhängig von der \cmdname{locale}-Einstellung des + Systems; nun beeinflussen \cmdname{locale}-Einstellung nicht + {\TeX}s Programmverhalten. Falls Sie aus irgendwelchen + Gründen die \verb|^^|-Ausgabe benötigen, müssen Sie in Ihrem System + die Datei \file{texmf/web2c/cp8bit.tcx} umbenennen + (zukünftige Versionen werden eine sauberere Schnittstelle zur + Kontrolle dieses Verhaltens anbieten). +\item Die Dokumentation wurde grundlegend überarbeitet. +\item Zum Abschluss einigten wir uns auf eine neue Edition-Nummerierung. + Ab diesem Jahr trägt die {\TL} statt einer fortlaufenden Nummer + die Jahreszahl: \TL~2003. +\end{itemize} + +\subsection{2004} + +\begin{itemize} +\item Wenn Sie lokal installierte Zeichensätze mit ihren eigenen \filename{.map}- oder (weniger wahrscheinlich) + \filename{.enc}-Dateien benutzen, müssen Sie möglicherweise diese Dateien verschieben. + + Nach den \filename{.map}-Dateien wird jetzt in den \dirname{fonts/map}-Unterverzeichnissen im + \envname{TEXFONTMAPS}-Pfad gesucht (in jedem \filename{texmf}-Baum). + Gleichzeitig werden \filename{.enc}-Dateien jetzt in den \dirname{fonts/enc}-Unterverzeichnissen entlang des + \envname{ENCFONTS}-Pfads gesucht. Das Programm \cmdname{updmap} versucht, bei problematischen Dateien zu warnen. + + Informationen darüber, wie das gehandhabt wird, und zusätzliche Informationen finden Sie unter + \url{http://tug.org/texlive/mapenc.html}. + +\item Die \TK\ wurde für all diejenigen, die diese Implementierung {\Webc} vorziehen, um eine \MIKTEX-basierte und + installierbare {\acro{CDROM}} erweitert. Siehe dazu auch Abschnitt~\ref{sec:overview-tl} auf + Seite~\pageref{sec:overview-tl}. + +\item In der {\TL} wurde der umfangreiche \dirname{texmf}-Baum früherer Versionen durch drei Teilbäume ersetzt: + \OnCD{texmf}, \OnCD{texmf-dist} und \OnCD{texmf-doc}. Siehe dazu Abschnitt~\ref{sec:tld} auf + Seite~\pageref{sec:tld} und die \filename{README}-Dateien in den drei Zweigen. + +\item Alle \TeX-relevanten Eingabedateien sind jetzt in den \dirname{tex}-Unterverzeichnissen der + \dirname{texmf*}-Bäume zusammengefasst und nicht mehr in den parallelen Verzeichnissen \dirname{tex}, + \dirname{etex}, \dirname{pdftex}, \dirname{pdfetex}, usw. Siehe dazu + \CDref{texmf-doc/doc/english/tds/tds.html\#Extensions}{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Hilfs-Skripte, die der Anwender nicht selbst aufruft, werden jetzt in den \mbox{neuen} + \dirname{scripts}-Unterverzeichnissen der \dirname{texmf*}-Bäume aufbewahrt. Nach ihnen wird per + \samp{kpsewhich -format=texmfscripts} gesucht. Wenn Sie Programme einsetzen, die solche Skripte aufrufen, müssen + sie angepasst werden. Siehe dazu \CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + +\item (Fast) alle Formate interpretieren -- an Stelle einer Übersetzung durch die \verb|^^|-Notation -- mittels + des ">translation files"< \filename{cp227.tcx} die meisten Zeichen als direkt ausgebbar. Insbesondere werden + die Zeichen an den Positionen 32--256, zusätzlich \acro{TAB}, \acro{VT} (vertical tab; vertikaler Tab) und + \acro{FF} (form feed; Seitenvorschub), als druckbar angesehen und daher nicht übersetzt. Ausnahmen sind + plain \TeX, bei dem nur die Zeichen an den Positionen 32--127 druckbar sind, {\ConTeXt} (mit druckbaren Zeichen an + den Positionen 0--255) und die \OMEGA-verwandten Formate. Dieses voreingestellte Verhalten ist (fast) identisch + mit dem in \TL\,2003; es ist aber jetzt klarer und mit umfangreicheren Anpassungsmöglichkeiten implementiert. + Siehe dazu \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. + + \textbf{Anmerkung:} Da {\TeX} byte-orientiert ist, können bei einer Unicode-Eingabe (2-Byte-Zeichen) im Kontext + von Fehlermeldungen Folgen von 1-Byte-Zeichen ausgegeben werden. + +\item \cmdname{pdfetex} ist jetzt die voreingestellte ">Engine"< für alle Formate mit Ausnahme von + \mbox{(plain-)\cmdname{tex}} selbst (natürlich generiert es \dvi-Code, wenn es als \cmdname{latex}, usw. + aufgerufen wird.). Das bedeutet unter vielen anderen Dingen, dass die mikrotypographischen Fähigkeiten von + \cmdname{pdftex} + wie auch die Erweiterungen von {\eTeX} in \LaTeX, \ConTeXt usw. zur Verfügung stehen + (\OnCD{texmf-dist/doc/etex/base/}). + + Das bedeutet, dass es \emph{wichtiger denn je} ist, das Paket \pkgname{ifpdf} zu benutzen (es arbeitet sowohl mit + {plain \TeX} als auch mit \LaTeX), da der einfache Test, ob \cs{pdfoutput} oder ein anderer \TeX-Grundbefehl + (primitive) definiert ist, nicht verlässlich genug ist für die Entscheidung, ob eine PDF-Ausgabe erzeugt wird. + Wir haben das rückwärts-kompatibel gemacht, so gut wir das dieses Jahr konnten; nächstes Jahr aber soll + \cs{pdfoutput} so beschaffen sein, dass dieser Befehl auch dann definiert ist, wenn {\dvi}-Code erzeugt wird. + +\item pdf\TeX\ (\url{http://pdftex.org/}) hat viele neue Besonderheiten: + \begin{itemize} + \item Die Befehle \cs{pdfmapfile} und \cs{pdfmapline} ermöglichen einen Font"~Map-Support innerhalb eines + Dokuments. + \item Mikrotypografische Zeichensatz-Expansion (font expansion) kann jetzt viel leichter benutzt werden + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html}. + \item Alle Parameter, die früher in der speziellen Konfigurationsdatei \filename{pdftex.cfg} definiert wurden, + müssen jetzt mit Hilfe von pdf\TeX-Grundbefehlen gesetzt werden, typischerweise in + \filename{pdftexconfig.tex}; die Konfigurationsdatei \filename{pdftex.cfg} wird nicht länger unterstützt. + Jede schon bestehende Format-Datei (\filename{.fmt}) muss neu erstellt werden, wenn + \filename{pdftexconfig.tex} geändert wird. + \item Für zusätzliche Informationen siehe das pdf\TeX-Handbuch: \OnCD{texmf-dist/doc/pdftex/manual}. + \end{itemize} + +\item Der Grundbefehl \cs{input} in \cmdname{tex} (\cmdname{mf} und \cmdname{mpost}) akzeptiert jetzt doppelte + Anführungszeichen und andere Spezialzeichen. Typische Beispiele: + +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} + + Für zusätzliche Informationen siehe das \Webc-Handbuch: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ wird jetzt in {\Webc} und damit auch in allen \TeX-Programmen unterstützt. Dazu wird \emph{beim + Generieren neuer Formate} die Option \optname{-enc} benutzt. enc\TeX\ unterstützt allgemein die Umkodierung der + Ein- und Ausgabe und ermöglicht eine volle Unicode-Unterstützung (in \acro{UTF}-8). + Siehe \OnCD{texmf-dist/doc/generic/enctex/} und \url{http://www.olsak.net/enctex.html}. + +\item Aleph (\ensuremath{\aleph}), eine neue ">Engine"<, die {\eTeX} und {\OMEGA} vereinigt, ist verfügbar. Ein bisschen + Information darüber finden Sie in \OnCD{texmf-dist/doc/aleph/base} und + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. Das \LaTeX-basierte Aleph-Format heißt + \cmdname{lamed}. + +\item Das neueste \LaTeX-Release enthält eine neue Version der \acro{LPPL}% + \footnote{LPPL: LaTeX Project Public License}, + die jetzt eine offiziell von Debian anerkannte Lizenz ist. Zusammen mit anderen Updates finden Sie Informationen + dazu in den \filename{ltnews}-Dateien in \OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng} -- ein neues Programm zum Konvertieren von \dvi-Dateien in \acro{PNG}-Bilddateien, ist + Bestandteil von \TL. Siehe \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item Auf Vorschlag des Autors (Claudio~Beccari) haben wir das Paket \pkgname{cbgreek} auf einen ">mittelgroßen"< Satz + von Fonts reduziert. Herausgenommen wurden die ">invisible"<, Outline- und ">Transparency"<-Fonts, + die relativ selten benutzt werden -- denn wir benötigen den Platz. In seinem vollen Umfang ist das Paket natürlich + weiterhin auf \acro{CTAN} verfügbar (\url{http://www.ctan.org/tex-archive/fonts/greek/cb/}). + +\item \cmdname{oxdvi} wurde entfernt; benutzen Sie jetzt \cmdname{xdvi}. + +\item Die \cmdname{ini}- und \cmdname{vir}-Befehle (Links) für \cmdname{tex}, \cmdname{mf} and \cmdname{mpost} sind + nicht mehr länger verfügbar, so auch \cmdname{initex}. Das ist kein richtiger Verlust, da die + \cmdname{ini}-Funktionalität schon seit mehreren Jahren über den Aufrufparameter \optname{-ini} zur Verfügung + steht. + +\item Die Unterstützung der Plattform \cmdname{i386-openbsd} wurde entfernt. Da das Paket \pkgname{tetex} im + \acro{BSD}-Ports-System zur Verfügung steht und Binaries für \acro{GNU}/""Linux and Free\acro{BSD} erhältlich sind, + erschien es sinnvoll, die Zeit der Freiwilligen besser zu nutzen. + +\item Zumindest auf \cmdname{sparc-solaris} müssen Sie ggf. die En"-viron"-ment-Variable \envname{LD\_LIBRARY\_PATH} + setzen, um die \pkgname{t1utils}-Programme laufen lassen zu können. Ursache dafür ist, dass die Programme mit C++ + kompiliert wurden und dass es keinen Standard-Platz für Laufzeit-Bibliotheken gibt (das ist zwar auch im Jahre + 2004 nicht neu, wurde aber bisher nicht dokumentiert.) Unter \cmdname{mips-irix} werden die + \acro{MIPS}pro-7.4-Laufzeit-Bibliotheken benötigt. +\end{itemize} + +\subsection{2005} + +Im Jahr 2005 gab es -- wie üblich -- viele aktualisierte Pakete und +Programme. Die Struktur des Systems blieb weitgehend gleich, mit folgenden +Ausnahmen: + +\begin{itemize} +\item Die neuen Skripte \cmdname{texconfig-sys}, \cmdname{updmap-sys} und + \cmdname{fmtutil-sys} für die systemweite Konfiguration des Systems wurden + hinzugefügt. Die Skripte \cmdname{texconfig}, \cmdname{updmap} und + \cmdname{fmtutil} modifizieren nun die Konfiguration für einen einzelnen + Nutzer unter \dirname{\$HOME/.texlive2005}. +\item Analog spezifizieren die Pfade \envname{TEXMFCONFIG} und + \envname{TEXMFSYSCONFIG} nun, wo die Konfigurationsdateien gefunden + werden (für einen einzelnen Nutzer bzw.\ systemweit). Möglicherweise + müssen Sie daher vorhandene eigene Versionen von + \filename{fmtutil.cnf} oder \filename{updmap.cfg} in die entsprechenden + Pfade verschieben. Alternativ können Sie \envname{TEXMFCONFIG} und + \envname{TEXMFSYSCONFIG} in der Datei \filename{texmf.cnf} umdefinieren, + dass diese auf die Speicherorte Ihrer eigenen Konfigurationsdateien + verweisen. Siehe Abschnitt~\ref{sec:texmftrees} auf Seite~\pageref{sec:texmftrees}. +\item Im letzten Jahr wurden für die Programme, die DVI als Ausgabeformat + erzeugen, die Primitive wie \verb|PDFoutput| auf undefiniert gesetzt, + obwohl immer \cmdname{pdfetex} verwendet wurde. In diesem Jahr wurde dies + wie angekündigt nicht mehr getan. Falls in Dokumenten nun die Abfrage + \verb|\ifxPDFoutput\undefined| zum Test benutzt wird, ob PDF oder DVI + erzeugt wird, müssen diese geändert werden! Benutzen Sie das Paket + \pkgname{ifpdf.sty}, das auch mit dem geänderten Verhalten funktioniert, + oder orientieren Sie sich an dessen Code. +\item Im letzten Jahr wurden die Formate so geändert, dass sie Zeichen + als 8-bit ausgeben. Die neue TCX-Datei \filename{empty.tcx} eröffnet nun + einen einfachen Weg, die originale Ausgabe mit \verb|^^|-Notation zu + erhalten, wenn Sie es wünschen: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} +\item Das Programm \cmdname{dvipdfmx} für die Konvertierung von DVI nach + PDF ist neu hinzugekommen. Dies ist eine aktiv gepflegte Erweiterung von + \cmdname{dvipdfm}, das zwar noch verfügbar ist, aber als obsolet angesehen + werden kann. +\item Ebenso sind die Programme \cmdname{pdfopen} und \cmdname{pdfclose} neu + hinzugekommen. Diese erlauben ein Reload von PDF-Dateien im Acrobat Reader, + ohne diesen neu starten zu müssen (andere PDF-Viewer wie \cmdname{xpdf}, + \cmdname{gv} oder \cmdname{gsview} hatten damit nie Probleme). +\item Aus Konsistenzgründen wurden die Variablen \envname{HOMETEXMF} und + \envname{VARTEXMF} in \envname{TEXMFHOME} bzw.\ \envname{TEXMFSYSVAR} + umbenannt. Weiterhin existiert \envname{TEXMFVAR} für einen Baum, der + spezifisch für einen einzelnen Nutzer ist. +\end{itemize} + +\subsection{2006--2007} +\label{tlcurrent} + +Der wichtigeste Neuzuwachs in der Ausgabe 2006--2007 von \TL{} war das Xe\TeX{} +Programm, verfügbar durch die \texttt{xetex} und \texttt{xelatex} +Programme; siehe \url{http://scripts.sil.org/xetex}. + +Auch MetaPost erhielt ein bemerkenswertes Update, mit weiteren geplannten +Änderungen (\url{http://tug.org/metapost/articles}), ebenso pdf\TeX{} +(\url{http://tug.org/applications/pdftex}). + +Das (plain) \texttt{tex}-Programm liest nicht mehr erste Zeilen mit +\texttt{\%\&} um das Format zu bestimmen. Es ist ein reines Knuth-\TeX. +(\LaTeX\ und alle anderen Formate lesen weiterhin \texttt{\%\&}-Zeilen). + +Weiters wurden wie üblich hunderte von Paketen und Programmen auf einen +neueren Stand gebracht. Für weiter Updates wenden Sie sich bitte an +\acro{CTAN} (\url{http://www.ctan.org}). + +Die Entwicklungsumgebung wurde auf Subversion umgestellt, was ein Webinterface +für den Entwicklungsbaum beisteuerte. Dieses Webinterface ist von der +Homepage verlinkt. Obwohl dieser Umstieg in der Distribution nicht zu +erkennen ist, erwarten wir uns ein stabiles Fundament für die Entwicklung +in den nächsten Jahren. + +Schließlich hat im Mai~2006 Thomas Esser das Ende seiner Entwicklung von +te\TeX{} (\url{http://tug.org/tetex}) angekündigt. Als Konsequenz ist das +Interesse an \TL{}, besonders unter den \acro{GNU}/Linux-Distributoren +angestiegen. (\TL{} bietet nun ein \texttt{tetex}-Installationsschema, dass +annähernd den Umfang von te\TeX{} umfasst.) Wir hoffen dass dies +schlussendlich zu einer Verbesserung der \TeX-Umgebung für jederman führt. + +\medskip\noindent +Abschließende Bemerkung zur Vergangenheit: Alle Versionen von \TL, +inklusive Beimaterial wie CD-Labels, finden sich unter +\url{ftp://tug.org/historic/systems/texlive}. + +\subsection{Gegenwart} +\label{sec:tlcurrent} + +Die komplette Infrastruktur von \TL wurde 2008 neu entwickelt. Die +gesamten Daten, die für die Installation benötigt werden, finden sich +nun in einer einzigen Textdatei mit dem Namen \filename{tlpkg/texlive.tlpdb}. + +Dies ermöglicht es unter anderem, ein Update einer installierten Version +von \TL über das Internet durchzuführen, was für MiK\TeX{} schon seit +Jahren möglich ist. Wir planen regelmäßige Updates bereitzustellen, +wenn Pakete auf \CTAN{} aktualisiert werden oder neu erscheinen. + +Als neues Programm ist Lua\TeX\ (\url{http://luatex.org}) enthalten, +das neben neuen Möglichkeiten innerhalb des Satzsystems eine +hervorragende Skriptsprache zur Verfügung stellt, die inner- und +außerhalb von \TeX{} benutzt werden kann. + +Die Unterstützung von \TL für Windows und Unix ist mittlerweile praktisch +äquivalent. Die meisten Perl- und Lua-Skripte können nun auch unter +Windows verwendet werden, da innerhalb von \TL Perl integriert ist. + +Das neue \cmdname{tlmgr}-Programm (Abschnitt~\ref{sec:tlmgr}) ist +eine komplette Oberfläche zum Verwalten von \TL nach der Installation. +Es ermöglicht das Aktualisieren von Paketen, die Neugenerierung von +Formatdateien, Fontmaps und die Konfiguration der \TeX-Unterstützung +für verschiedene Sprachen. + +Nach der Einführung von \cmdname{tlmgr} sind die Funktionen von +\cmdname{texconfig} zur Konfiguration von Formatdateien und +Trennmustern deaktiviert worden. + +Der Index-Prozessor \cmdname{xindy} (\url{http://xindy.sourceforge.net/}) +ist nun für die meisten Betriebssysteme integriert. + +Das Programm \cmdname{kpsewhich} kann nun alle Fundstellen für eine +gesuchte Datei anzeigen (Option \optname{--all}) oder die Suche +auf ein bestimmtes Verzeichnis einschränken (Option \optname{--subdir}). + +Das Programm \cmdname{dvipdfmx} kann nun Informationen über die +Bounding Box liefern, was über die Kommandozeile mit dem Befehl +\cmdname{extractbb} aufgerufen werden kann; dies war die letzte +Funktion von \cmdname{dvipdfm}, die noch nicht in \cmdname{dvipdfmx} +vorhanden war. + +Die Font-Aliasnamen \filename{Times-Roman}, \filename{Helvetica} usw. +wurden abgeschafft. + +Das Makro-Format \pkgname{platex} wurde entfernt, um den Namenskonflikt +mit dem japanischen \pkgname{platex} auf zu lösen; Unterstützung +für polnisch wird nun vom Paket \pkgname{polski} zur Verfügung gestellt. + +Die \web{} string pool files wurden in die Programme einkompiliert, +um Updates zu vereinfachen. + +Und abschließend sind die Änderungen von Donald Knuth in seinem +\emph{\TeX\ tuneup of 2008} in \TL eingearbeitet, +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. +% ------------------------------------------------------------- +\subsection{Zukunft} + +\emph{{\TL} ist nicht perfekt! -- und wird es auch nie sein.} Wir planen +Neuauf"|lagen zu produzieren, die umfangreichere +Hilfstexte, mehr Hilfsprogramme, mehr Installationshilfen und (natürlich) +den ständig verbesserten und überprüften Satz der Makros und Zeichensätze +enthalten. Diese Arbeit wird von Freiwilligen in ihrer knappen Freizeit +geleistet. Viel Arbeit steht noch an. Wenn Sie uns helfen können, +zögern Sie keine Sekunde, sich bei uns zu melden. + +Verbesserungen, Anregungen und Erweiterungen für künftige Ausgaben +der {\TK} senden Sie bitte an:\hfill\null + +\begin{quote} +\email{tex-live@tug.org}\\ +\url{http://tug.org/texlive/} +\end{quote} + +Neue Versionen, Anmerkungen und zusätzliches Material werden über +die \CTAN-Server im Verzeichnis \dirname{info/texlive} zur Verfügung gestellt. +Im \acro{WWW} können Sie sich über die Adresse +\url{http://www.tug.org/tex-live/} informieren und die Bestellformalitäten +einsehen. + +\end{document} diff --git a/Master/texmf/doc/texlive/texlive-en/Makefile b/Master/texmf/doc/texlive/texlive-en/Makefile new file mode 100644 index 00000000000..170161df9c3 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/Makefile @@ -0,0 +1,69 @@ +# $Id$ +# Makefile for TeX Live documentation. Public domain. +doc = texlive-en +lang = english + +all: pdf html + +env = TEXINPUTS=../texlive-common:../texlive-en:; export TEXINPUTS; + +pdf: + rm -f *.aux *.toc *.lof *.lot *.xref* *.tmp *.out + $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' + $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' + $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' + $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' + +html: + rm -f *.aux *.toc *.lof *.lot *.xref* *.tmp *.out *.4tc +# this sequence is equivalent to running "ht latex $(doc)". We do it +# this way so we can \def\Status for the \ifcase in tex-live.sty. + $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' + $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' + $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' + $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' + $(env) tex4ht $(doc) + $(env) t4ht $(doc) + +clean: + rm -f *.aux *.log *.blg *.toc *.out *.lot tex4ht.ps *.4* + rm -f *.xref* *.lg *.idv *.out *.otc *.tmp tmp.* + rm -f $(doc).dvi $(doc).ps + +realclean: clean + rm -f $(doc).pdf + rm -f *.html *.htm $(doc).css *.gif *.jpg + + +insttop = ../../../doc +instfiles = $(doc)*html $(doc).css $(doc).pdf +install: +# lang=`dirname \`pwd\` | sed 's,.*/,,'`; + lang=$(lang); \ + tldir=`pwd | sed 's,.*/,,'`; \ + instdir=$(insttop)/$$lang/$$tldir; \ + echo tldoc install to $$instdir; \ + for f in $(instfiles); do \ + cmp -s $$f $$instdir/$$f && rm -v $$f && continue; \ + mv -v $$f $$instdir/$$f; \ + done + + +# don't use these, they don't work. +dvi: + rm -f *.aux *.toc + latex '\nonstopmode\def\Status{0}\input $(doc)' + latex '\nonstopmode\def\Status{0}\input $(doc)' + latex '\nonstopmode\def\Status{0}\input $(doc)' + +baskerville: + rm -f *.aux *.toc + latex '\def\Status{3}\input $(doc)' + latex '\def\Status{3}\input $(doc)' + latex '\def\Status{3}\input $(doc)' + +tugboat: + rm -f *.aux *.toc + latex '\def\Status{4}\input $(doc)' + latex '\def\Status{4}\input $(doc)' + latex '\def\Status{4}\input $(doc)' diff --git a/Master/texmf/doc/texlive/texlive-en/README b/Master/texmf/doc/texlive/texlive-en/README new file mode 100644 index 00000000000..dc5fb6b124d --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/README @@ -0,0 +1,5 @@ +$Id$ +TeX Live documentation. This file is public domain. + +We only generate the documentation in PDF and HTML formats -- see the +Makefile. This saves us having to have the images in EPS format too. diff --git a/Master/texmf/doc/texlive/texlive-en/archive/bv-live.tex b/Master/texmf/doc/texlive/texlive-en/archive/bv-live.tex new file mode 100644 index 00000000000..ad044e568cb --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/bv-live.tex @@ -0,0 +1,84 @@ +% this is the baskerville version of the live documentation +\providecommand{\Status}{3} + +\setcounter{errorcontextlines}{999} +\documentclass{article} +\advance\textwidth by 1in +\advance\oddsidemargin by -1in +\advance\evensidemargin by -1in +\newsavebox{\warnbox} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\setcounter{tocdepth}{2} +\pretolerance=1000 +\tolerance=1500 +\hbadness=3000 +\vbadness=3000 +\hyphenpenalty=400 +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +\def\eTeX{$\varepsilon$-\TeX} +%\def\CTAN{\textsc{ctan}} +%\def\TUB{\textsc{tub}} +\def\Dash{---} +\def\hyph{-} +%\def\TeXXeT{\TeX-XeT} +\def\OMEGA{$\Omega$} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +%\def\cs#1{\mbox{\normalfont\ttfamily\bs#1}} +\def\La{La} +\let\textsl\textit +\let\sl\it +\let\slfamily\itfamily +\def\ttdefault{cmtt} +\usepackage{tex-live} +\begin{document} +%\author{Sebastian Rahtz\\ +%\texttt{s.rahtz@elsevier.co.uk}\\ +%Michel Goossens\\ +%\texttt{m.goossens@cern.ch}} +%\title{The \protect\TeX\ Live Guide, 3rd edition} +%\date{March 1998} + +\BASKyear{1998} +\BASKmonth{April} +\BASKvol{8} +\BASKno{2} +\BASKed*{Robin Fairbairns} +\BASKfonts{Y\&Y European Modern} +\makeBSKtitle + +\input editorial +\ifbaskerville +\end{multicols} +%\vfill\Dings\vfill +\fi +\clearpage + +\begin{center} + \LARGE The \TeX\ Live Guide, 3rd edition +\end{center} +\title{\TeX\ Live Guide, 3rd edition} + +\ifbaskerville\begin{multicols}{2}\fi +\tableofcontents +\listoftables +\ifbaskerville +\end{multicols} +\Dings +\fi + +\input tex-live +\appendix + +\Dings + +\input live-app + +\vfill\Dings\vfill +\clearpage +\input sec +\end{document} diff --git a/Master/texmf/doc/texlive/texlive-en/archive/bvoutln.sty b/Master/texmf/doc/texlive/texlive-en/archive/bvoutln.sty new file mode 100644 index 00000000000..92f19fd027b --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/bvoutln.sty @@ -0,0 +1,193 @@ +% extracts of baskerville.cls for use with the tex-live documentation +% when we're producing a bv issue with it. + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% SIDE MARGINS: +\oddsidemargin -2.5pc \evensidemargin -2.5pc +\marginparwidth 4pc % don't use marginal notes... +\marginparsep 0.5pc % ...in the UK TUG newsletter + +% VERTICAL SPACING: +\topmargin -3pc +\headheight 12\p@ +\headsep 15\p@ +\topskip 10\p@ +\footskip 15\p@ + +% DIMENSION OF TEXT: + +\textheight 250mm % height of text on a page (A4 paper) +\textwidth 180mm % total width of a page +\columnseprule 0.5\p@ % width of line in the inter-column gutter +\columnsep 10mm % space between columns +\tolerance 9999 % make those columns justify + +% FOOTNOTES: +\footnotesep 6\p@ +\skip\footins 19.5\p@ plus 12\p@ \@minus 1\p@ + +% FLOATS: +\floatsep 12\p@ plus 5.5\p@ \@minus 1\p@ +\textfloatsep 15\p@ plus 4.5\p@ \@minus 3\p@ +\intextsep 12\p@ plus 5.5\p@ \@minus 2\p@ +\dblfloatsep 12\p@ plus 5.5\p@ \@minus 2\p@ +\dbltextfloatsep 15\p@ plus 4.5\p@ \@minus 3\p@ +\@fptop 0\p@ plus 0fil +\@fpsep 12\p@ plus 0fil +\@fpbot 0\p@ plus 3fil +\@dblfptop 0\p@ plus 0fil +\@dblfpsep 12\p@ plus 0fil +\@dblfpbot 0\p@ plus 3fil +\marginparpush 5\p@ + +% **************************************** +% * TITLES AND ABSTRACT * +% **************************************** +% + +%% Volume Number (ie Year - 1990) +\def\BASKvol#1{\gdef\BASK@vol{#1}} +\BASKvol{?} + +%% Issue Number (ie Month/2, roughly) +\def\BASKno#1{\gdef\BASK@no{#1}} +\BASKno{?} + +% Editor, Star form for Guest editor +\def\BASKed{\@ifstar{\BASK@ed{Guest }}{\BASK@ed{}}} +\def\BASK@ed#1#2{\gdef\BASK@editor{#1Editor: #2}} +\BASKed{????????} + +%% Year (4 digits) +\def\BASKyear#1{\gdef\thisyear{#1}} +\BASKyear{????} + +% Month (as a Word) +\def\BASKmonth#1{\gdef\thismonth{#1}} +\BASKmonth{?????} + +\def\makeBSKtitle{\par + \begingroup + \vspace*{-\headheight}% + \@maketitle + \bigskip\hrule\bigskip + \thispagestyle{plain} + \endgroup + \let\maketitle\relax + \let\@maketitle\relax +} +\newbox\BSKbox +\def\@maketitle{% + \centerline{\BASK@titleline}% + \medskip + \hbox to \textwidth{\bfseries The Annals of the UK \TeX\ Users + Group\hfill \BASK@editor\hfill Vol.~\BASK@vol\ No.~\BASK@no}% + \smallskip\hbox to \textwidth{\bfseries ISSN 1354--5930 + \hfill \thismonth\ \thisyear}% + \medskip + \noindent\ignorespaces + \BASK@headparone} + +% The Journal title command. +% You probably only want to change this if you want to use a design-size +% font rather than let \scaletowidth scale for some special issue. +\def\BASKtitle#1{\gdef\BASK@titleline{#1}} +\let\scaletowidth=\resizebox% added by Sean K. Harbour for Textures +\BASKtitle{% + \fontfamily{mbvx}\bfseries + \scaletowidth{\textwidth}{!}{% modified by Sean K. Harbour + B\,a\,s\,k\,e\,r\,v\,i\,l\,l\,e}} + + +% The first paragraph. Needs to be reset if a special issue used a +% different font set. +\def\BASKheadparone#1{\gdef\BASK@headparone{#1}} +\BASKheadparone{% +This issue of \BV\ is set in \@BASKfonts, and printed on a Xerox Docutech. Production and distribution is +undertaken in Cambridge by Robin Fairbairns. } + + +\def\BASKfonts#1{\gdef\@BASKfonts{#1}} +\BASKfonts{Monotype Baskerville, with Computer Modern Typewriter for + literal text} + +% +% for \Dings +\RequirePackage{pifont} +% +% available for inter-article dinglines +% +\def\Dings{\nopagebreak{\footnotesize\dingline{167}}} + +% +% hack representation of appendices +\let\BV@@appendix\appendix +\renewcommand{\appendix}{\BV@@appendix + \renewcommand\@seccntformat[1]{\@ifundefined{@seccnt@##1}% + {\csname the##1\endcsname\quad}% + {\csname @seccnt@##1\endcsname}} + \newcommand\@seccnt@section{Appendix~\thesection~} +} + +% +% page styles +% +% \ps@empty defined in LATEX.TEX +% +\def\ps@plain{\let\@mkboth\markboth + \def\@oddhead{} + \def\@evenhead{} + \def\@oddfoot{\rm \hfil --\thepage--\hfil} + \def\@evenfoot{\rm \hfil --\thepage--\hfil} +} +\def\ps@headings{\let\@mkboth\markboth + \def\@oddhead{\hfill\emph{\@title}\hfill} + \def\@oddfoot{\rm \hfil --\thepage--\hfil} + \def\@evenhead{\it Baskerville \hfill + Volume \BASK@vol, Number \BASK@no} + \def\@evenfoot{\rm \hfil --\thepage--\hfil} +} + +% +% allow setting of pagehead title +\def\title{\@ifnextchar [{\@titletwo}{\@titleone}} +\def\@titletwo[#1]#2{\gdef\@title{#1}\gdef\@longtitle{#2}} +\def\@titleone#1{\gdef\@title{#1}\gdef\@longtitle{#1}} + +% +% more exciting page parameters +\@twosidetrue +\pagestyle{headings} + +\providecommand{\ukt}{UK \acro{TUG}} + +\newcommand{\standardtitles}{% + \def\section{%\typeout{** section!}% + \@startsection {section}{1}{\z@} + {-12\p@ \@plus -6\p@ \@minus -.1\p@} + {6\p@} + {\raggedright\large\bfseries}} + \def\subsection{\@startsection{subsection}{2}{\z@} + {-4\p@ \@plus -2\p@ \@minus -.1\p@} + {0.1\p@ \@plus 2\p@} + {\raggedright\normalsize\itshape}} + \def\subsubsection{\@startsection{subsubsection}{3}{\z@} + {-6\p@ \@plus -3\p@ \@minus -1\p@} + {0.1\p@ \@plus 2\p@} + {\raggedright\normalsize\it}} + \def\paragraph{\@startsection{paragraph}{4}{\z@} + {12\p@ \@plus 2.25\p@ \@minus -1\p@} + {-0.5em} + {\normalsize\bfseries}} + \def\subparagraph{\@startsection{subparagraph}{5}{\z@} + {12\p@ \@plus 2.25\p@ \@minus 1\p@} + {-0.5em} + {\normalsize\it}} + \setcounter{secnumdepth}{-1} +} + +\endinput + diff --git a/Master/texmf/doc/texlive/texlive-en/archive/changemail b/Master/texmf/doc/texlive/texlive-en/archive/changemail new file mode 100644 index 00000000000..dd792a25f78 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/changemail @@ -0,0 +1,24 @@ +s/J.Smart@ed.ac.uk/??/ +s/gerd@uni-koblenz.de/??/ +s/Meijer@rulfsw.fsw.LeidenUniv.nl/??/ +s/wl@gnu.org/xlwy01@uxp1.hrz.uni-dortmund.de/ +s/weissert@SJUPHIL.SJU.EDU/Tom@Weissert.net/ +s/mehlich@informatik.uni-muenchen.de/mmehlich@semdesigns.com/ +s/eijkhout@math.ucla.edu/victor@eijkhout.net/ +s/ca_rowley@vax.acs.open.ac.uk/c.a.rowley@open.ac.uk/ +s/B.Jackowski@gust.s.org.pl/B.Jackowski@gust.org.pl/ +s/P.Pianowski@gusts.org.pl/P.Pianowski@gust.org.pl/ +s/mittelbach@mzdmza.zdv.uni-mainz.de/Frank.Mittelbach@Uni-Mainz.de/ +s/mcjones@pa.dec.com/paul.mcjones@acm.org/ +s/h.harders@tu-bs.de/Harald.Harders@dlr.de/ +s/pwilson@cme.nist.gov/peter.r.wilson@boeing.com/ +s/wikner@ariel.nac.ac.za/wikner@nac.ac.za/ +s/vitus@agropc.msk.su/vitus@ice.ru/ +s/greg@bic.mni.mcgill.ca/gward@python.net/ +s/mittelbach@mzdmza.zdv.uni-mainz.de/frank.mittelbach@latex-project.org/ +s/fbraun@rz.uni-potsdam.de/fbraun@atdot.org/ +s/david@dcarlisle.demon.co.uk/david.carlisle@latex-project.org/ +s/davidc@nag.co.uk/david.carlisle@latex-project.org/ +s/rf@cl.cam.ac.uk/rf10@cam.ac.uk/ +s/robin.fairbairns@cl.cam.ac.uk/rf10@cam.ac.uk/ +s/robin@lsl.co.uk/rf10@cam.ac.uk/ \ No newline at end of file diff --git a/Master/texmf/doc/texlive/texlive-en/archive/l.pl b/Master/texmf/doc/texlive/texlive-en/archive/l.pl new file mode 100644 index 00000000000..d74f313a5cc --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/l.pl @@ -0,0 +1,44 @@ +require "status.pl"; +require "texlive.pl"; +while (<>) { + chop; + s/,$//; + if (/^\@TeXIndex/) + { + ($nam) = /^\@TeXIndex.(.*)/; + print "\@TeXIndex\{$nam"; + $Status=1; + $Texlive=1; + $Modified=0; + } + elsif (/^ *modified/) { s/, *$//; $mod=$_; } + elsif (/^ *status/) { $Status=0; + if ($L{$nam}) + { print ",\n status\t= \{$L{$nam}\}"; + $Modified=1;} + else { print ",\n$_"; } + } + elsif (/^ *texlive/) { $Texlive=0; + if ($texlive{$nam} ne "") + { print ",\n texlive\t= \{$texlive{$nam}\}"; + $Modified=1;} + } + elsif (/^}/) { + if ($Status) { + print ",\n status\t= \{unknown\}"; + } + if ($Texlive && $texlive{$nam} ne "") + { print ",\n texlive\t= \{$texlive{$nam}\},\n"; } + if ($Modified) + { print ",\n modified\t= {1999/03/26 10:00:00 }\n"; } + elsif ($M{$nam} ne "") + { print ",\n modified\t= \{$M{$nam}\}\n"; } + else + {print ",\n$mod\n"; } + print "}\n"; + } + + elsif (/= {/) { print ",\n$_"; } + else { print "\n$_"; } + } + diff --git a/Master/texmf/doc/texlive/texlive-en/archive/live-2003.tex b/Master/texmf/doc/texlive/texlive-en/archive/live-2003.tex new file mode 100644 index 00000000000..55c1551a628 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/live-2003.tex @@ -0,0 +1,3937 @@ +% $Id$ +% change history (started May 13th 2002) +% 2003/09/06: fixes from Staszek +% 2003/09/05: touched by Karl +% 2003/09/04: fixes from Staszek and Fabrice +% 2003/09/01: fixes from Volker +% 2003/08/24: win32 updates, by Fabrice +% 2003/08/12: fixes from Christer Gustafsson . +% 2003/07/07: substantial revisions by karl. +% 2002/05/25: remove mention of sizes, and bsr-interpolated; add Gutenberg +% 2002/05/18: win32 updates, by Fabrice +% 2002/05/14: corrected example files, other small errors noted by Volker +% 2002/05/13: added tex-langafrican to list of collections +% +\documentclass{article} +\usepackage{tex-live} +% +% +\begin{document} + +\title{{\huge\textsf{\TK{} 2003}}\\[3mm] + The \protect\TeXLive{} Guide} +\date{September 2003} + +\author{Sebastian Rahtz, editor \\[3mm] + \email{tex-live@tug.org}\\ + \url{http://tug.org/texlive/}\\[10mm] +\ifnum \Status=2 + \includegraphics[bb=0 0 824 741]{../pictures/front.jpg} \\[5mm] +\else + \includegraphics[width=.5\linewidth]{../pictures/front} \\[5mm] +\fi + \small \textit{Documentation contacts:}\\[3mm] + \small \begin{tabular}{lcr} + Czech/Slovak & Petr Sojka & \email{sojka@fi.muni.cz} \\ + & Janka Chleb\'\i kov\'a & \email{chlebikj (at) dcs.fmph.uniba.sk} \\ + English & Karl Berry & \email{karl@freefriends.org} \\ + French & Fabrice Popineau & \email{fabrice.popineau@supelec.fr} \\ + German & Volker RW Schaa & \email{volker@dante.de} \\ + Polish & Staszek Wawrykiewicz & \email{staw@gust.org.pl} \\ + Russian & Boris Veytsman & \email{borisv@lk.net} \\ + \end{tabular} + } + +% comes out too close to the toc, and we know it's page one anyway. +\thispagestyle{empty} + +\maketitle +\newpage + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +This document describes the main features of the \TeXLive{} software +distribution\Dash a \TeX{} and \LaTeX{} distribution for Linux and other +Unix flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is +not especially useful for older Mac or \acro{MS-DOS} systems.) It +includes precompiled binaries for \TeX{}, \LaTeXe{}, \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 the 2003 release, the last update of packages and programs was made +on September 3, 2003. For newer versions, please consult \acro{CTAN}, +\url{http://www.ctan.org}. + +For a brief summary of the major changes in this edition of \TeXLive{}, +see section~\ref{sec:history} on p.~\pageref{sec:history}. + + +\subsection{Basic usage of \protect\TeXLive{}} +\label{sec:basic} + +You can use \TeXLive{} in three principal ways: + +\begin{enumerate} + +\item You can run \TeXLive{} directly from the distribution media +(except for the \pkgname{inst} distribution; see +section~\ref{sec:multiple-dist} on p.~\pageref{sec:multiple-dist}). +This takes almost no disk space, as you might expect, and gives you +immediate access to everything in \TeXLive{}. Of course performance +will be worse than running on local disk, but you may well find it +acceptable. + +\item You can install all or part of \TeXLive{} to a local disk. This +is the most common use of \TeXLive. You will need a minimum of 120 +megabytes, 360 megabytes for a recommended system, and 800 megabytes for +a full system. + +\item You can integrate a particular package or collection into your +existing \TeX{} system, either a \TeXLive{} system you installed earlier +or a different system. + +\end{enumerate} + +\noindent All of these are described in detail in the \acro{OS}-specific +installation sections. + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both active and friendly, and virtually all +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 +commercial-style support, you can forego \TeXLive{} completely and +purchase a vendor's system; see +\url{http://tug.org/interest.html#vendors} for a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\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 \TeXLive{} in \OnCD{FAQ/english}, and is +available on the Internet through \url{http://faq.tug.org}. Please +check here first. + +\item [\TeX{} Catalogue] If you are specifically looking for a package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge list of all \TeX{}-related items. See +\OnCD{texmf/doc/html/catalogue}, or +\url{http://www.ctan.org/tex-archive/help/Catalogue/catalogue.html}. + +\item [\TeX{} Web Resources] This web page has many \TeX{}-related +links, in particular for numerous books, manuals, and articles on all +aspects of the system: \url{http://tug.org/interest.html}. + +\item [support archives] The two principal forums for support are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. So, their archives have thousands of past +questions and answers for your searching pleasure. See +\url{http://groups.google.com/groups?group=comp.text.tex} and +\url{http://tug.org/mail-archives/texhax}, respectively. A query on a +general web search engine, such as \url{http://google.com}, never hurts. + +\item [posting questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or through +email to \email{texhax@tug.org}. But before you post, \emph{please} +read this \acro{FAQ} entry for advice on asking questions in such a way +that you're most likely to get an answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [\TeXLive{} support] If you want to report a bug or have +suggestions or comments on the \TeXLive{} 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 +\TeXLive{}, you are better off writing to that program's maintainer or +mailing list. + +\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. Welcome to +\TeX{}! + + +\section{Structure of \protect\TeXLive} +\label{sec:struct-tl} + +The main two installation scripts for Unix and \MacOSX{} are +\texttt{install-tl.sh} and \texttt{install-pkg.sh}. We discuss them +in section \ref{sec:unix-install} on p.~\pageref{sec:unix-install}. +Here, we describe the structure and contents of \TeXLive{}. + + +\subsection{Multiple distributions: \protect\pkgname{live}, + \protect\pkgname{inst}, \protect\pkgname{demo}} +\label{sec:multiple-dist} + +As of 2003, space limitations of \acro{CD-ROM} format have forced us to +divide \TeXLive{} into three distributions, as follows. + +\begin{description} + +\item [live] a complete, runnable system on \acro{DVD}; it is too large +for \acro{CD-ROM}. (The \DVD{} also includes a snapshot of the \CTAN{} +repository, completely independent of \TeXLive{}.) + +\item [inst(allable)] a complete system on \CD; in order to make it fit, +we had to compress everything we could. Therefore, it is not possible +to run \TeX\ directly from the installable \CD, you have to install it to +disk (hence its name). Installation is described in subsequent sections. + +\item [demo] a live system runnable directly from \CD; in order to make +this fit, we omitted the very large collection of \acro{CJK} (Chinese, +Japanese, Korean) language support, support for typesetting music, some +less-commonly used fonts, and included executables only for Linux, +\MacOSX, and Windows systems. + +\end{description} + +\noindent You can tell which type of distribution you're in by looking +for a \texttt{00\var{type}.TL} file in this top-level directory. + + +\subsection{Top level directories} + +Here is a brief listing and description of the top level directories in +the \TeXLive{} distribution. + +\smallskip +\begin{tabular}{>{\ttfamily}lp{.8\hsize}} +bin & The \TeX{} system programs, arranged by platform. \\ +Books & Examples from some of the books about \TeX\ (see + \filename{Books/README}). \\ +FAQ & Current versions of major FAQ collections. \\ +info & A few manuals in \acro{GNU} Info format, where available. \\ +\MacOSX & Supporting software for \MacOSX (see + section~\ref{sec:mac-install} on p.~\pageref{sec:mac-install}). \\ +man & Unix man pages. \\ +source & The source of all programs, including the main \Webc{} + \TeX{} and \MF{} distributions. These are stored in a + \cmdname{bzip2}-compressed tar archive. \\ +support & assorted auxiliary packages and programs. These are + \emph{not} installed by default. This includes + \cmdname{Ghostscript}, \cmdname{netpbm}, and assorted editors and + \TeX\ shells. \\ +texmf & root of installed packages, fonts, config files, etc. \\ +usergrps & Material about a few of the \TeX\ user groups. (Visit + \url{http://tug.org/usergroups.html} for a current list.) \\ +xemtex & The \cmdname{XEmacs} editor and other support programs for + Windows (see section~\ref{sec:win-xemtex} on p.~\pageref{sec:win-xemtex}). + These programs generally come pre-installed on Unix systems, or are + at least easy to compile. \\ +\end{tabular} + + +\subsection{Extensions to \TeX} +\label{sec:tex-extensions} + +\TeXLive{} contains three extended versions of \TeX: + +\begin{description} + +\item [\eTeX] adds a small but powerful 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/doc/etex/base/etex_man.pdf}. \eTeX{} is now the default for +\LaTeX{} and pdf\LaTeX{}. + +\item [pdf\TeX] writes Acrobat PDF format as well as \dvi{}. The +\LaTeX{} \pkgname{hyperref} package has an option `\optname{pdftex}' +which turns on all the program features. See +\OnCD{texmf/doc/pdftex/pdftex-l.pdf} and +\OnCD{texmf/doc/pdftex/base/example.tex}. + +\item [\OMEGA\ (Omega)] 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. See +\OnCD{texmf/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\end{description} + + +\subsection{Other notable programs in \protect\TeXLive} + +Here are a few other commonly-used programs included in \TeXLive{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] HP LaserJet driver. + +\item [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfm] convert \dvi{} to PDF, an alternative approach +to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\item [texexec] Con\TeX{}t and PDF processor. + +\item [tex4ht] \TeX{} to HTML converter. + +\end{cmddescription} + + +\section{Unix installation} +\label{sec:unix-install} + +As introduced in section~\ref{sec:basic} on p.~\pageref{sec:basic}, +\TeXLive{} has three principal uses: + +\begin{enumerate} +\item Run directly from media. +\item Install to disk. +\item Integrate a particular package or collection into your existing +\TeX{} installation. +\end{enumerate} + +\noindent The following sections describes the Unix-specific procedures +for each of these. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} +\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) +format, \emph{with} Rock Ridge (and Joliet, for Windows) +extensions. Therefore, in order to take full advantage of the \TK{} +under Unix, your system needs to be able to use the Rock Ridge +extensions. Please consult the documentation for your \cmdname{mount} +command to see how to do this. If you have several different machines +on a local network, you may be able to mount the \CD{}s on one which +does support Rock Ridge, and use this with the others. + +\leavevmode\quad Linux, Free\acro{BSD}, Sun, \acro{SGI} and +Alpha systems should be able to use the \CD{}s without problems. We +would appreciate receiving detailed advice from users on other systems +who succeed, for future versions of this documentation. + +\leavevmode\quad +The discussion below assumes you have been able to mount +the \CD{}s with full Rock Ridge compatibility. +\end{warningbox} +\ifSingleColumn\end{figure}\fi + + +% +\subsection{Running \protect\TeXLive{} directly from media (Unix)} + +\def\runlive{% text repeated in windows section +It is possible to use the \TeX{} system directly from the \pkgname{demo} +\CD{} or the \pkgname{live} \DVD{}, without installing the distribution +to disk. (Thus the name `\TeXLive', in fact.) It is \emph{not} +possible to run \TeX{} directly from the \pkgname{inst} \CD (see +section~\ref{sec:multiple-dist} on p.~\pageref{sec:multiple-dist}). +} + +Only Linux, \MacOSX, and Windows binaries are included on the demo \CD; +if you want to run live on other Unix systems, you'll need to use the +\DVD. + +\def\startinst{% repeated in other subsections +To start, we must mount the \CD{} or \DVD{}, with Rock Ridge extensions +enabled. The exact command to do this varies from system to system; the +following works under Linux, except the name of the device +(\filename{/dev/cdrom}, here) may vary. (All our examples will use +\texttt{>} as the shell prompt; user input is \underline{underlined}.) +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Change the current directory to the mount point: +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +\noindent Under \MacOSX, the directory is typically under +\dirname{/Volumes}, and the media will be mounted automatically. +} + +\startinst + +Run the installation script \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh} +Welcome to TeX Live... +\end{alltt} + +\def\firstinstcommand{% +\noindent After various greeting messages and a list of the main menu +options, the installation will ask you to enter a command. Do this by +typing the desired character and hitting return; don't type the angle +brackets. Either uppercase or lowercase is ok; we'll use lowercase in +our examples. +} +\firstinstcommand + +For running live, our first command will be \Ucom{d} and then the +subcommand \Ucom{1} to set directories. Even in this case, we must +choose a directory on the local disk to place files that the \TeX{} +system itself generates, such as fonts and formats, and also to provide +a place for updated configuration files, if need be. We'll use +\dirname{/usr/local/texmf-local} in this example. (If the default value +of \dirname{/usr/TeX} works for you, then you can skip this step.) +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/TeX +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/TeX]: \Ucom{/usr/local/texmf-local} +... +Enter command: \Ucom{r} +\end{alltt} + +\noindent Back at the main menu, our second and last command is +\Ucom{r}, to set up for running live off the media without installing +to disk: +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to the TeX Live system! +> +\end{alltt} + +\noindent And we are back at the system prompt, as shown. + +Next, it is necessary to alter two environment variables: +\envname{PATH}, to an architecture-dependent value (so that we can run +the programs), and \envname{VARTEXMF}, to the value specified above. See +table~\ref{tab:archlist} for a list of the architecture names for the +different systems, and whether they are available on the \pkgname{demo} +\CD. All systems are available in the \pkgname{inst} and \pkgname{live} +distributions. (In addition to the version-specific names listed here, +there are generic names without the version numbers. For instance, +\dirname{sparc-solaris} links to \dirname{sparc-solaris2.7}. The +generic names can be used to protect against the version numbers +changing in the future, if you wish.) + +\def\runtexconfig{% +After the main installation has completed, and environment variables +have been set, the next step is to run \cmdname{texconfig} to customize +your installation for your needs. This is explained in +section~\ref{sec:texconfig}, p.~\pageref{sec:texconfig}. +} +\runtexconfig + +\begin{table*}[ht] +\caption{Supported system architectures.} +\label{tab:archlist} +\begin{tabular}{>{\ttfamily}lll} +alpha-linux & HP Alpha Linux & \\ +alphaev5-osf4.0d & HP Alphaev5 OSF & \\ +%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 & \\ +i386-freebsd4.8 & Intel x86 FreeBSD & \\ +i386-linux & Intel x86 GNU/Linux & demo \CD\\ +i386-openbsd3.3 & Intel x86 OpenBSD & \\ +i386-solaris2.8 & Intel x86 Solaris & \\ +mips-irix6.5 & SGI IRIX & \\ +powerpc-aix4.3.3.0 & IBM RS/6000 AIX & \\ +powerpc-darwin6.3 & \MacOSX & demo \CD\\ +sparc-solaris2.7 & Sun Sparc Solaris & \\ +sparc64-linux & Sun Sparc Linux & \\ +win32 & Windows (32-bit) & demo \CD\\ +\hline +\end{tabular} +\end{table*} + +\label{text:path} +The syntax for setting the environment variables, and the initialization +file to put them in, depends on the shell you use. If you use a +Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et +al.), put the following into your \filename{$HOME/.profile} file: +\begin{alltt} +PATH=/mnt/cdrom/bin/\Ucom{\emph{archname}}:$PATH; export PATH +VARTEXMF=/usr/local/texmf-local/texmf-var; export VARTEXMF +\end{alltt} + +\noindent For C shell-compatible shells (csh, tcsh), put the following +into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\Ucom{\emph{archname}}:$PATH +setenv VARTEXMF /usr/local/texmf-local/texmf-var +\end{alltt} + +\def\donewithinst{% +\noindent Then log out, log back in, and test your installation +(see section~\ref{sec:test-install} on p.~\pageref{sec:test-install}). +} +\donewithinst + +\def\ifindoubt{% +If in doubt, please ask any local system gurus to help you with +problems; for example, the way to mount the \TeXLive{} media, which +directory or directories to use, and precise details of the changes to +your personal initialization files can and do vary from site to site. +} +\ifindoubt + + +% +\subsection{Installing \protect\TeXLive{} to disk} +\label{sec:unix-install-disk} + +It is possible, indeed typical, to install the \TeX{} system from the +\TeXLive{} to disk. This can be done either from the \pkgname{live} +\DVD, or the \pkgname{inst} \CD. It can also be done from the +\pkgname{demo} \CD, if you don't need the omitted packages or systems. +(See section~\ref{sec:multiple-dist} on p.~\pageref{sec:multiple-dist} +for an explanation of the different distributions.) + +\startinst + +Run the installation script \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh} +Welcome to TeX Live... +\end{alltt} + +\firstinstcommand + +Here is an introductory list of the options in the main menu. The order +in which you select the options makes little difference, except that +\Ucom{i} must be last. It's reasonable to go through them in the +order presented~here. + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Main menu options for the installation.} +\label{tab:main-menu-options} +\begin{tabular}{>{\ttfamily}ll} +p & The system you are running on.\\ +b & The architectures to install binaries for.\\ +s & The base installation scheme to use (minimal, recommended, + full, etc.)\\ +c & Override the installation scheme for individual collections.\\ +l & Override for language collections.\\ +d & Directories in which to install.\\ +o & General options.\\ +i & Perform the installation.\\ +\end{tabular} +\end{table} + +Here are further details on each option. + +\textbf{\optname{p} -- Current platform.} Since the installation script +automatically guesses which platform you're running on, this is +generally unnecessary to override. It's there in case the automatic +detection fails. + +\textbf{\optname{b} -- Binary architectures.} By default, only the +binaries for your current platform will be installed. From this menu, +you can select installation of binaries for other architectures as well +(or not install the current platforms). This is often useful if you +are sharing a \TeX\ tree across a network of heterogenous machines. For +a list of the supported architectures, see table~\ref{tab:archlist}, +p.~\pageref{tab:archlist}. + +\textbf{\optname{s} -- Base installation scheme.} From this menu, you +can choose an overall common set of packages. The default is a +recommended set for typical needs, but you can also choose a basic set +to conserve disk space, or a full set to get absolutely everything. The +\pkgname{Live} scheme is used for creating the \TeXLive{} +\pkgname{demo} distribution itself, and isn't generally useful to select +for a particular site. There are also specific sets for Omega and +\acro{XML} users. + +\textbf{\optname{c} -- Individual collections.} From this menu, you can +override the basic scheme's choice of which collections to install. +Each collection\Dash TeX macro files, Metafont font families, and so +on\Dash consists of several packages. In this menu, selection letters +are case-sensitive. + +\textbf{\optname{l} -- Language collections}. This menu has the same +basic functionality as \Ucom{c}, to override collection choices. In +this case, the collections are specifically for different languages. +Selection letters are case-sensitive here. Here is a list of the +language collections in \TeXLive: + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +\begin{tabbing} +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \kill + (some) African scripts \> + Armenian \> + Chinese,Japanese,Korean \> +Croatian \\ + Cyrillic \> + Czech/Slovak \> + Danish \> +Dutch \\ + Finnish \> + French \> + German \> +Greek \\ + Hungarian \> + Indic \> + Italian \> +Latin \\ + Manju \> + Mongolian \> + Norwegian \> +Polish \\ + Portuguese \> + Spanish \> + Swedish \> +Tibetan \\ + \acro{UK} English \> +Vietnamese \\ +\end{tabbing} + +\noindent Language collections typically includes fonts, macros, +hyphenation patterns, and other support files. (For instance, +\pkgname{frenchle.sty} is installed if you select the \optname{French} +collection.) In addition, installing a language collection will alter +the \filename{language.dat} configuration file controlling which +hyphenations are loaded. + +\textbf{\optname{d} -- Installation directories}. Three directories can +be changed here: +\label{text:instdir} + +\begin{ttdescription} +\item [TEXDIR] By default, the top-level directory under which +everything else will be installed. The default value is +\dirname{/usr/TeX}, and is often changed. For example, changing to a +value such as \dirname{/usr/local/texlive2003} would make it possible to +keep different releases of \TeXLive{} separate. You may then wish to +make \dirname{/usr/local/texlive} a symbolic link, after testing the new +release. + +Under \MacOSX, the usual frontends look for \TeX{} in +\dirname{/usr/local/teTeX}, so you may wish to install \TeXLive{} there. + +\item [TEXMFLOCAL] This tree is where the \TeX{} system scripts install +non-version-specific files, primarily fonts. The default value is +\dirname{TEXDIR/texmf-local}. It's also the recommended location to put +any local packages or configuration settings. Therefore, it's desirable +to change it to a location independent of the current \TeXLive{} +release; for example, \dirname{/usr/local/texmf-local}. + +\item [VARTEXMF] This tree is where the scripts install files that +\emph{are} version-specific, primarily format files and the +configuration files which are modified by \cmdname{texconfig} (see +section~\ref{sec:texconfig}, p.~\pageref{sec:texconfig}). The default +value is \dirname{TEXDIR/texmf-var}, and there's generally no reason to +change it. + +\end{ttdescription} + +\textbf{\optname{o} - General options.} From this menu, you can select +three general options affecting the installation: + +\begin{ttdescription} +\item [a] Specify an alternate directory for generated fonts. +The default is to use the \envname{VARTEXMF} tree, as explained above. +Setting this is useful if you plan to mount the main tree read-only, and +therefore another location (perhaps machine-specific) must be used for +dynamically created fonts. + +\item [l] Create symbolic links for the binaries, man pages, +and/or \acro{GNU} Info files in other locations. For example, you may +wish to make the man pages available under \dirname{/usr/local/man} and +the Info files available under \dirname{/usr/local/info}. (Of course +you need appropriate privileges to write in the specified directories.) + +\item [d] Skip installation of the font/macro documentation tree. +This is useful to save space, or if you've previously installed the +documentation elsewhere. + +\item [s] Skip installation of the main font/macro source +tree. This is useful if you are arranging to share that tree between +machines and/or architectures in some other way, such as \acro{NFS} or +\cmdname{automount}. + +\end{ttdescription} + +\textbf{i - Perform installation.} When you're satisfied with your +configuration options, enter \Ucom{i} to actually do the installation +from the media to your chosen locations. + +The last step is to include the architecture-specific subdirectory of +\dirname{TEXDIR/bin} in your +\envname{PATH}, so the newly-installed programs can be found. The +architecture names are listed in table~\ref{tab:archlist}, +p.~\pageref{tab:archlist}, or you can simply list the directory +\dirname{TEXDIR/bin}. + +The syntax for doing this, and the initialization file to put it in, +depends on the shell you use. If you use a Bourne-compatible shell +(\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et al.), put the following +into your \filename{$HOME/.profile} file: +\begin{alltt} +PATH=/\Ucom{\emph{TEXDIR}}/bin/\Ucom{\emph{archname}}:$PATH; export PATH +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /\Ucom{\emph{TEXDIR}}/bin/\Ucom{\emph{archname}}:$PATH +\end{alltt} + +\runtexconfig + +Here is a brief annotated example which selects a full installation, +with binaries for the current system only, with directory changes as +recommended above. The prompts and \acro{RETURN} keys are omitted for +brevity. + +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{s} \Ucom{b} \Ucom{r} # scheme, full, return to main +\Ucom{d} # change directories +\Ucom{1} \Ucom{/usr/local/texlive2003} # top-level dir +\Ucom{2} \Ucom{/usr/local/texmf-local} # TEXMFLOCAL outside TEXDIR +\Ucom{r} # return to main +\Ucom{i} # perform installation +> \Ucom{texconfig} ... +# New PATH, assuming Linux: +> \Ucom{PATH=/usr/local/texlive2003/bin/i386-linux:$PATH; export PATH} +\end{alltt} + +\ifindoubt + + +% +\subsection{Installing individual packages to disk} + +You can add individual packages or collections from the current +distribution to an existing non-\TeXLive{} setup, or an earlier +\TeXLive{} installation. You can do this from the \pkgname{demo} \CD{} +or the \pkgname{live} \DVD{}, but \emph{not} from the \pkgname{inst} +\CD. (See section~\ref{sec:multiple-dist} on +p.~\pageref{sec:multiple-dist}.) + +\startinst + +Run the installation script \filename{install-pkg.sh} (not +\filename{install-tl.sh}, which is intended for complete installations +only): +\begin{alltt} +> \Ucom{sh install-pkg.sh \emph{options}} +\end{alltt} + +This first set of options controls what gets read: + +\begin{ttdescription} +\item [-{}-package=\emph{pkgname}] The individual package to work on. + +\item [-{}-collection=\emph{colname}] The individual collection to work on. + +\item [-{}-nodoc] Exclude documentation files from the operation. + +\item [-{}-nosrc] Exclude source files from the operation. + +\item [-{}-cddir=\emph{dir}] Source directory to read from; defaults +to the current directory. If you followed the instructions above, that +will be the distribution directory, and won't need to be changed. + +\item [-{}-listdir=\emph{dir}] The so-called `lists' directory within +\emph{cddir} from which to read the package information. The default is +\texttt{\emph{cddir}/texmf/tpm/lists}; the only reason to change it is +if you're making changes to \TeXLive{} yourself. + +\end{ttdescription} + +What actually happens is controlled by the following options. If +neither of these are specified, the default action is to install the +selected files. The main destination tree is found by expanding +\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by +setting either the environment variable \envname{TEXMFMAIN} or +\envname{TEXMF}. + +\begin{ttdescription} +\item [-{}-listonly] List the files that would be installed, but don't +actually install anything. + +\item [-{}-archive=\emph{tarfile}] Instead of installing the files into +the \TeX{} system, make a \cmdname{tar} archive. + +\end{ttdescription} + +Additional options: + +\begin{ttdescription} + +\item [-{}-config] After installation, run \code{texconfig init}. + +\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to +rebuild the filename database. + +\item [-{}-verbose] Give more information as the script runs. + +\end{ttdescription} + +Here are some usage examples: + +\begin{enumerate} + +\item To see the files in the package \pkgname{fancyhdr} without +installing it: + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} +> \Ucom{--listonly} +\fi{} +texmf/doc/latex/fancyhdr/README +texmf/doc/latex/fancyhdr/fancyhdr.dvi +texmf/doc/latex/fancyhdr/fancyhdr.pdf +... +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{alg} without source files or +documentation: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} + +\item Install all the packages in the collection of additional +plain \TeX\ macros: +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item Write all files in the \pkgname{pstricks} package to a +\cmdname{tar} file in \path|/tmp|: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} + +\end{enumerate} + +\ifindoubt + + +% +\section{Post-installation} +\label{sec:postinstall} + +After the main installation is done, for any operating system, the +remaining steps are to configure the system for your local needs, and +perform some basic tests. + +Another sort of post-installation is to acquire packages, fonts, or +programs that were not included in \TeXLive{}. The basic idea is to +install such additions in the \envname{TEXMFLOCAL} tree (if you +installed to disk), or \envname{VARTEXMF} (if you are running live). +See ``Installation directories'' on p.~\pageref{text:instdir}. + +Unfortunately, the details can vary widely, and so we do not attempt to +address them here. Please see +\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} +for a good description, and +\url{http://www.ctan.org/tex-archive/info/Type1fonts} for font creation +and installation information in particular. + + +\subsection{The \protect\cmdname{texconfig} program} +\label{sec:texconfig} + +At any time after installation, you can and should use the program +\cmdname{texconfig} to configure the system to fit your local needs. It +is installed in the architecture-specific subdirectory +\texttt{TEXDIR/bin/\emph{arch}} along with everything else. + +If you run it without arguments, it will enter full-screen mode and +allow you to view and change options interactively. + +You can also run it with various command-line options. Here are some of +the most commonly used: + +\begin{ttdescription} + +\item [texconfig dvips paper letter] Set default paper size for +\cmdname{dvips} to be letter-size. + +\item [texconfig xdvi us] Likewise, for \cmdname{xdvi}. + +\item [texconfig rehash] Update all the \TeX{} system filename databases. + +\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. +(See also the main \TeX{} \acro{FAQ} in the \dirname{FAQ} subdirectory +of \TeXLive.) + +\item [texconfig help] Output help information. + +\end{ttdescription} + +Of course, \cmdname{texconfig} only supports changing a few of the many +options and configuration parameters in a \TeX{} system. The main +configuration file for the base \Webc{} programs is named +\filename{texmf.cnf}. You can find its location by running +\samp{kpsewhich texmf.cnf}; it contains many comments explaining the +default settings and useful alternatives. + + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TeXLive{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and/or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We described the Unix commands; 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 (Web2c 7.5.2) 3.141592 +kpathsea version 3.5.2 +Copyright (C) 1997-2003 D.E. Knuth. +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, most likely you don't have the correct +\dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on p.~\pageref{text:path}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +>TeX (Web2c 7.5.2) 3.141592 +... +Output written on sample2e.dvi (3 pages, 7256 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, perhaps +you have interference from old environment variables or configuration +files. For a deep analysis, you can always ask \TeX{} to report on +exactly what it is searching for, and finding; see ``Debugging actions'' +on page~\pageref{Debugging}. + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +Under Windows, the analogous command is \cmdname{windvi}. You should +see a new window with a nice document explaining some of the basics of +\LaTeX{}. (Well worth reading, if you're new to the system.) 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} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +included in \TeXLive{}, so you must install them separately. See +\url{http://wwwthep.physik.uni-mainz.de/~plass/gv} and +\url{http://www.foolabs.com/xpdf}, respectively. + +\item Other standard test files you may find useful: + +\begin{ttdescription} +\item [docstrip.tex] Produce \TeX{} source or documentation from a +\samp{.dtx} file. +\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} +You can process these in the same way as we did with +\filename{sample2e.tex}. + +\end{enumerate} + +If you are new to \TeX{}, or otherwise need help with actually +constructing \TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html}. We especially recommend the +\textsl{Formatting Information} manual by Peter Flynn, available at +\url{http://www.ctan.org/tex-archive/documentation/beginlatex}. + + +\section{\MacOSX{} installation} +\label{sec:mac-install} + +\TeXLive{} supports \MacOSX, but no prior Macintosh versions. (If you +are running an older Mac version, you can view the files by installing +the Joliet system extension available from +\url{http://www.tempel.org/joliet}; however, the \TeXLive{} binaries +will not run.) + +Installation of \TeX{} under \MacOSX{} can be done in two ways: + +\begin{enumerate} +\item With the \filename{install*} scripts, as with Unix. +\item With the \cmdname{i-Installer} included in +\filename{MacOSX/II2.dmg}. +\end{enumerate} + +\noindent Each of these is described in a following section. + +In addition, typical use of \TeX{} under \MacOSX\ goes through a +\emph{frontend}. This is also described below. + + +\subsection{\protect\cmdname{i-Installer}: Internet installation} +\label{sec:i-Installer} + +The \cmdname{i-Installer} is included in the \TeXLive{} distribution as +an alternative to normal installation. It does not use the contents of +the \TeXLive{} distribution at all; instead, the system (approximately +70 megabytes) is downloaded over the Internet. + +One advantage of \cmdname{i-Installer} is that it makes updates +relatively painless. If you are interested, please see the +\cmdname{i-Installer} \TeX{} home page at \url{http://www.rna.nl/tex.html}. + +To use it, mount \filename{./MacOSX/II2.dmg}. Read the documentation, +launch it, and install at least \emph{TeX Foundation} and \emph{TeX +Programs}. The first will finish without configuration, as soon as the +second is installed you will be presented with a graphical interface to +setting up your \TeX{} system. + +The \cmdname{i-Installer} distribution uses the \teTeX{} \dirname{texmf} +tree with some additions. Due to differences between \TeXLive{} and +\teTeX{} you cannot update a \TeXLive{} installation with an +\cmdname{i-Installer} \emph{TeX Programs} i-Package. + + +\subsection{\protect\cmdname{install*.sh}: \protect\TeXLive{} installation} + +In order to run the installation scripts under \MacOSX, you need to have +the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 +or later, you have \cmdname{bash}, and can proceed. If you're running +an earlier \MacOSX{} version, however, the default shell is +\cmdname{zsh}, which won't work; please see the +subsection~\ref{sec:mac-bash} (p.~\pageref{sec:mac-bash}) below for +instructions on installing bash \cmdname{bash}. + +Once you have \cmdname{bash}, the Unix installation documentation in the +previous section can be followed. See section~\ref{sec:unix-install} on +p.~\pageref{sec:unix-install}; \MacOSX-specific notes are included where +needed. + + +\subsection{\MacOSX{} frontends} + +Using \TeX{} on a Macintosh typically goes through a front end program, +comprising an execution shell, editor, previewer, and other facilities. +Here are the principal frontends: + +\begin{cmddescription} +\item [TeXShop] Included in \TeXLive{} as +\filename{./MacOSX/texshop.dmg}. See +\url{http://www.uoregon.edu/~koch/texshop/texshop.html}. + +\item [ITeXMac] Included in \TeXLive{} as +\filename{./MacOSX/iTeXMac-*.dmg}. See +\url{http://itexmac.sourceforge.net}. + +\item [Mac-emacs] A port of Emacs to \MacOSX{}, integrating +\pkgname{AucTeX}. See \url{http://www.cs.man.ac.uk/~franconi/mac-emacs}. + +\end{cmddescription} + +The frontends use \dirname{/usr/local/teTeX} as the default location; +therefore, you must either install \TeXLive{} there, or change the +configuration of the frontend. + + +\subsection{\cmdname{bash} installation for older \MacOSX{} versions} +\label{sec:mac-bash} + +\MacOSX{} versions 10.1 and earlier do not include \cmdname{bash} by +default, and the default shell does not run the \TeXLive{} installation +scripts properly. This section explains how to install \cmdname{bash}. + +First, check if bash is already installed. `Launch Terminal' +(\filename{/Applications/utilities/Terminal}) and type \code{rehash; +which bash}. If the answer is a filename (for example, +\code{/bin/bash}), then \cmdname{bash} is already installed, and you're done +here; go back to the main installation instructions. +If the answer is \code{bash: command not found}, proceed here. + +There are two ways to install \cmdname{bash} if you need it\Dash via the +\acro{GUI} or via command line. + +To install via \acro{GUI}, double-click the \filename{MacOSX/bash.dmg} +file in \TeXLive{}. The disk image (volume) will be mounted. Then +start the \cmdname{i-Installer} application on that volume. You will be +asked to authenticate; if you have never seen that before, you might not +have enough privileges to install. Just enter your own user name and +password. Hit install. Bash will be installed on your system. + +To install via command line: +\begin{enumerate} +\item ensure you have admin privileges: log in as the +\code{admin} user, the System Administrator, a user with Admin +privileges, using \cmdname{sudo}, etc. + +\item copy \filename{MacOSX/bash.tar.gz} from the \TeXLive{} +distribution to your home directory. + +\item Launch Terminal, and run: +\begin{alltt} +(cd /usr/local/; sudo tar xvzf ~/bash.tar.gz) +\end{alltt} +You'll be asked for your password, and then \cmdname{bash} will be +installed. + +\item Quit Terminal. + +\end{enumerate} + +After using either installation method, be sure to recheck that +\cmdname{bash} is installed with \code{rehash; which bash} in a new +Terminal window. + + +\section{Windows installation} +\label{sec:win-install} + +\TeXLive{} can be installed on systems running Windows 9x, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) +and \acro{MS-DOS} are not supported. + +It is necessary to have your Windows set up so that it uses the +Microsoft Joliet extensions for reading \CD{}s; simply look at the \CD{} +in Explorer and see whether it shows long, mixed-case, file names. If it +does not, you must install the Joliet extensions. + +The Windows \TeX{} system included in \TeXLive{} is no more and no less +than the \fpTeX{} distribution. It includes a \texttt{dvi} previewer, +\textsf{Windvi}, which is similar in usage to the established Unix +\textsf{xdvi}. The documentation can be found in +\OnCD{texmf/doc/html/windvi/windvi.html}. + +\subsection{The \texttt{TeXLive.exe} program} + +\begin{figure*} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 551 534]{../pictures/Welcome-to-TeXLive.jpg} + \else + \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} + \fi + \fi + \end{center} + \caption{``Welcome to \TeXLive'' window}\label{graph:welcome} +\end{figure*} + +If your computer is configured to let the \CD{} autostart, then a dialog +box with a menu bar will popup on the screen, and you will have several +choices from there: + +\begin{itemize} +\item Install \TeX{} on your hard disk +\item Do maintenance on your \TeX{} system. +\item Remove the \TeX{} system. +\item Use \TeX{} off the \TeXLive{} \CD{} or \DVD{}. +\item Browse documentation: \TeXLive{} documentation, TUG web + pages, \fpTeX web pages. +\item Run the \cmdname{TeXdocTK} application to find specific documentation. +\end{itemize} + +If your \CD{} does not autostart, you can explicitly run the program +by double clicking on \path|bin/win32/TeXLive.exe| on the \CD{} from +the explorer window. + +\subsection{Running \protect\TeXLive{} directly from media (Windows)} + +\runlive + +To run live under Windows, from the menu, chose \verb|Explore CD-Rom|, then +\verb|Run TeX off CD-Rom|. This will launch the \cmdname{XEmacs} editor. + +%% To run live under Windows, do the following: + +%% \begin{enumerate} +%% \item from the menu, chose \verb|Explore CD-Rom|, then +%% \verb|Run TeX off CD-Rom|, that will launch the \cmdname{XEmacs} editor. + +%% This program needs to be a \TeX{} oriented editor. It must be able +%% to run the \TeX{} compiler, previewer and any other needed tool. If +%% you don't have one already installed on your system, you can install +%% one from the \CD{}, details section~{\ref{sec:texlive-install}}. + +%% \emph{There is no way we can guess if the program you will +%% select is actually a text editor, so be careful}. +%% Here is a list of frequently used \TeX{} editors: +%% \begin{center} +%% \begin{tabular}[H]{ll} +%% GNU Emacs & \path|c:\Program Files\NTEmacs\bin\runemacs.exe| \\ +%% XEmacs & \path|c:\Program Files\XEmacs\XEmacs-21.2\i586-pc-win32\xemacs.exe| \\ +%% WinShell & \path|c:\Program Files\WinShell\WinShell.exe| \\ +%% WinEdt & \path|c:\Program Files\WinEdt Team\WinEdt\WinEdt.exe|\\ +%% TeXnicCenter & \path|c:\Program Files\TeXnicCenter\TEXCNTR.exe| +%% \end{tabular} +%% \end{center} +%% The program +%% selected will be memorized as the editor to use for future runs. + +%% \item from the menu, chose \verb|Explore CD-Rom|, then +%% \verb|Run TeX off CD-Rom|. The environment will be modified, a small +%% temporary directory created and some configuration files copied +%% there. Then, the selected editor selected will be launched, and you +%% will be able to type in some text, let \TeX{} typeset it and the +%% view it or print it. + +%% If Ghostscript is not detected on your machine, you will be warned +%% that rendering your DVI files might fail. You can install it from +%% the \path|Install|, \path|Support| menu item. See +%% section~\ref{sec:texlive-install} for details. + +%% \item you can select a different text editor any time you want. + +%% \item if you chose \verb|Cleanup CD-Rom setup|, everything \TeX{} +%% needed will be removed, comprised the selection of your text +%% editor, but not the extra packages you may have downloaded and +%% installed. If you installed \cmdname{WinShell} or \cmdname{NTEmacs}, +%% they won't be removed. +%% \end{enumerate} + +XEmacs startup file will set the environment variables needed. XEmacs will also +setup a temporary \acro{TDS} compliant texmf tree in the temporary area of your +computer. It is needed to store files that may be built on the fly, such as +\path|pk| bitmap fonts, or format files. Configuration files are copied from +the \CD{} to this texmf tree, so that you can edit them if needed. The +\path|ls-R| database is computed for this texmf tree. The AUC-\TeX{} mode will +be entered Whenever you will visit or create a \TeX{} file, providing all the +bells and whistles for \TeX{} support XEmacs is capable of. + +If you run 'M-x shell' within XEmacs, then you will have access to all the TeXLive +tools from the command line provided by XEmacs. + +\smallskip {\small\noindent \textbf{[For advanced users:]} You can also + use the small batch file \path|mkloctex.bat| to be called in a + directory \path|bin\win32| of the \CD. From the Start menu select + `Run', then browse the \acro{CD} drive and select + \path|mkloctex.bat|. Before starting it, you should add two parameters + separated by a space: the letter of your \acro{CD} drive and the + letter of the drive where you want to install the \TeX\ directory. + The whole line should read, e.g., \verb+d:\bin\win32\mkloctex.bat d c+. + When installation is complete, please read carefully the information + on screen. If you are running Windows 9x/\acro{ME}, then you will have to + restart Windows.} + +\subsection{Support packages for Windows} +\label{sec:win-xemtex} + +To be complete, a \TeXLive installation needs support packages that are not +commonly found on a Windows machine. +Many scripts are written using the Perl language. Some important tools require +the Ghostscript \PS{} interpreter to render or to convert files. A graphic +file toolbox is also needed in some cases. Last but not least, a \TeX-oriented +editor makes it easy to type in your \TeX{} files. + +All these tools are quite easy to find for Windows, but in order to try to make +your life even easier, we have put such a set of tools on \TeXLive: +\begin{itemize} +\item \cmdname{Ghostscript} 7.07 +\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TeXLive{} +Perl scripts +\item a subset of \cmdname{ImageMagick} 5.5.6 +\item the \cmdname{ISpell} checker +\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support +\TeX{} typesetting. +\end{itemize} + +These packages should be installed only all at once. The bundle is +known as the \XEmTeX{} bundle. + +If you didn't install \XEmTeX{}, \cmdname{Perl} and \cmdname{Ghostscript} are +installed anyway if they are not detected on your machine. This is because they are +required by many important tools. The \envname{PERL5LIB} and \verb|GS_LIB| +environment variables will be set too. + +When you are under +\cmdname{XEmacs}, the tools provided shadow any other version you might +have installed previously. The point here is that \path|TeXSetup.exe| +will not install anything outside of the \TeXLive location, neither will +it run foreign installers, nor will it try to autodetect installed +products using unreliable rules of thumb. The \XEmTeX{} bundle is +standalone and is meant to evolve in the future. The reference site is +\url{http://www.fptex.org/xemtex/}. + +If you don't want to install this bundle, then you are on your own to +install the required tools to complete your \TeXLive{} system. Here is a +list of places to get those tools: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (but you might need some + supplementary packages from CPAN: \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com} +\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to + process or convert your graphic files. NetPBM home page is + \url{http://netpbm.sourceforge.net/} +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection: + \begin{itemize} + \item \cmdname{GNU Emacs} is available natively under Windows, the + reference url is + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} + \item \cmdname{XEmacs} is available natively under Windows, the + reference url is \url{http://www.xemacs.org/} + \item \cmdname{WinShell} is available on \TeXLive in the \path|support| + directory, the reference url is \url{http://www.winshell.de} + \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} + \item TeXnicCenter is available from + \url{http://www.toolscenter.org/products/texniccenter/} + \item \cmdname{Vim} is available on \TeXLive{} in the + \path|support\vim| directory and the + reference site is \url{http://www.vim.org} + \item \cmdname{SciTE} is available from \url{http://www.scintilla.org/SciTE.html} + \end{itemize} +\end{description} + +You might want to install other tools that are not free\footnote{Not +free, that is, in the sense of freedom to modify and redistribute, +following Debian's guidelines. This does not mean you can't acquire +them for no money.} and therefore not included on \TeXLive{}, such as +\cmdname{GSView}, the \cmdname{Ghostscript} companion to more +conveniently view PS/PDF files. \cmdname{GSView} is available from +\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. + +%% \subsection{Installing editors or support packages} +%% \label{sec:texlive-install} + +%% You can use the \path|TeXSetup.exe| program to install a +%% single (not \TeX{}-dependent) package. This might be an editor +%% such as \cmdname{WinShell} or \cmdname{NTEmacs}, +%% or a support package like \cmdname{NetPBM} +%% (graphics formats conversion) or \cmdname{Ghostscript}. + +%% Some of the packages are not free, or not with the same meaning as for +%% the rest of the \CD{}. These packages have been made available through +%% the Internet. You need to enable an Internet connection in order to +%% install them. Chosing the \path|Enable Internet access| subitem will +%% search your system for an active Internet connection, or start one if +%% possible. \emph{If your computer is not connected to the Internet, +%% then the timeout might be long, 30s or more}. So try to enable it +%% only if you know you have a connection. + +%% Only a few packages are available from the \CD{}, but the most +%% important of them: \cmdname{NTEmacs} and \cmdname{WinShell} for the +%% editors, \cmdname{Ghostscript} and \cmdname{NetPBM} for the other +%% support packages. \cmdname{NetPBM} is needed for running \TeX{}4ht. + +%% The downloadable packages are sometimes huge: \cmdname{Perl} is 10Mb, +%% \cmdname{XEmacs} is 50Mb, so be warned that it can take a lot of time +%% to install such things. \path|TeXSetup.exe| does not yet provide an +%% estimation of the time needed to complete the download. + +%% When installing these packages, \path|TeXSetup| is working in +%% unattended mode. However, the programs that have their own installer +%% like WinEdt or Ghostscript for example will require human interaction. + +%% Those packages who have no specific installer will be unpacked and configured +%% for your system. You will be required to select some directory where +%% they will be installed. The directory to select should be the root +%% directory of the whole installation. Assuming you want to install +%% NTEmacs and NetPBM, the archive files already contain the +%% \path|NTEmacs\| and \path|NetPBM\| part, so the directory you have to +%% select is something like \path|c:\Local| or \path|c:\Program Files|. + +\subsection{Installing \TeXLive{} to disk} + +\textbf{Warning: Win9x users must ensure they have enough environment + space before undertaking installation. The \cmdname{TeXSetup.exe} + program won't change the environment size for them. A few environment + variables will be created and it is possible you run out of + environment space. Add "SHELL=COMMAND.COM /E:4096 /P" in the + config.sys file in order to increase your environment size.} + +Installation is started by letting the media autostart. The program run +is \path|TeXSetup.exe| if you are using the inst disk. If you are using +the live or the demo disk, you will have to select the item +\path|TeXLive Software| from the menu, then the subitem \path|Install on +Hard Disk|. This will invoke \path|TeXSetup.exe|. You can also find it +in the \path|bin/win32| directory and run it, if the autostart fails for +any reason. \path|TeXSetup.exe| is a Windows wizard and it will display +several pages while running. + +\begin{description} +\item[Welcome Page] + You can choose a \emph{quick} installation from + here. In this case, the installation will run without any human + assistance from beginning to end, with all the default settings + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). If you have enough privileges (administrator or power user + rights) under a Windows version where this is applicable, then you can + decide to install the \TeXLive{} for all users or for yourself only by + checking the appropriate box. + For installing the whole \XEmTeX{} bundle (XEmacs, Ghost\-script, + Perl, ImageMagick and Ispell) you can check \emph{Install XEmTeX + Support} box. + \begin{figure*}[!htb] + The \cmdname{TeXSetup} Wizard\hfill + Source directories for the \TeXLive{} files + + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/setup-wizard.jpg}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/setup-wizard.jpg} +\includegraphics[bb=0 0 506 403]{../pictures/source-for-texlive.jpg} + \else + \includegraphics[width=.48\textwidth]{../pictures/setup-wizard}% + \hfill% + \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive} + \fi + \fi + \caption{The \TeXLive{} setup wizard}\label{graph:setup-src} + \end{center} +\end{figure*} +\item[Source Page] + This page is a bit complex. It will allow you to select two source + directories for your \TeXLive{} system + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). You will need a \emph{local + source directory} and possibly a \emph{remote source directory}. + +Why do we need both these directories? The files consisting of the +\TeXLive{} system are on the \CD{}, of course, but some other useful +packages are not, either because of space lacking or because their +license was not compatible with \TeXLive{}. You need to enable Internet +downloading if you want to install these packages that are marked with a +specific ``remote'' icon. + + However, don't panic: the default parameters of the setup will allow + you to install a full system using the \CD{} only. Simply, you won't + have \file{WinEdt} (for example), but you will be able to install it + later. + + So you can take your files from: + \begin{itemize} + \item the \CD{} or any similar flat tree of files, available through + some standard directory (this means the \CD{} can be mounted on + some remote machine and be made available through network + sharing), + \item a set of \file{.zip} files (this is the case when you are + installing from the demo \CD{} or the \fpTeX{} distribution), + \item the Internet; in this case, the program takes care of + downloading the \file{.zip} files it needs for you. + \end{itemize} + This option is available only if you enable Internet file + downloading in the right part of the page. You also need to + configure this Internet access by selecting to connect either using + Internet Explorer~5 \file{wininet.dll}, or using a direct connection (\texttt{ftp}, + \texttt{http}). +% or using a proxy server. +% Last, you can be assisted in defining the \emph{local source +% directory} and \emph{remote source directory} which will be used +% to copy the files onto your hard disk. The \texttt{browse} buttons +% allow to select a directory for the former, and an url among a list +% of mirrors for the latter. +\item[Root Page] + On this page, you will tell where you want the files to be + installed (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Only the root directory really matters, the other ones + are set according to the root one. You may want to make + \path|$TEXMFEXTRA| point to some TDS compliant directory with other + \TeX{} files or assign a different value to + \path|$HOMETEXMF|, which is set by default to whatever Windows think + is your `HOME' location. +\begin{figure*}[!htb] + Root and directories\hfill% + Scheme selection + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.46\textwidth]{../pictures/root-of-installation.jpg}\hfill% + \includegraphics[width=.46\textwidth]{../pictures/scheme-selection.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/root-of-installation.jpg} +\includegraphics[bb=0 0 506 403]{../pictures/scheme-selection.jpg} + \else + \includegraphics[width=.46\textwidth]{../pictures/root-of-installation}% + \hfill% + \includegraphics[width=.46\textwidth]{../pictures/scheme-selection} + \fi + \fi + \caption{\TeXLive-Setup: Root and directories / Schemes}\label{graph:root-schm} + \end{center} +\end{figure*} +\item[Get TPM Page] + This page does not require any manual intervention. The \file{.tpm} + files which describe collections and packages are retrieved + (possibly from the Internet), unzipped if needed and parsed. +\item[Schemes Page] + On this page, you will select the global scheme of your + installation (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). A scheme is a large set of files targeted at some kind + of usage. There are 3 generic schemes for basic, recommended and + full installation. The other ones are devoted to LUGs (what GUST or + GUTenberg propose for their members) or applications (XML and + \TeX{}). + When a scheme is selected, it is still possible to refine the + selection by checking the appropriate box. If doing so, you will be + presented the packages page to change your selection, else you will + jump to the review page. +\item[Packages Page] + Collections and packages are presented in a tree form + (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). The links + in the tree are dependency links. Collections \emph{depend on} + packages and maybe other collections, and it is the same for each + package. You can select any package or collection individually, but + your request will be granted only if the object is not requested by + another one which is selected. For example, you can't deselect + \texttt{tex-basic} without deselecting all the collections that + request it. + + The \texttt{tex-xemtex} collection displayed on the picture is Win32 specific. It + holds a number of bonus packages (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ) which can be installed + automatically and individually: Ghostscript (the \PS{} + interpreter), XEmacs editor preconfigured for \TeX{}, tools like Perl, + ImageMagick, Ispell. \emph{None of these packages are selected by + default}. + + On this page, you also have the information about disk space + needed, for each object, and for the set of those who are selected, + and also the disk space available on the partition selected for the + installation. Last, you can choose to install or not the + documentation files and source files associated with each package. +\item[Review Page] + You will find there a summary of your choices + (Figure~\ref{graph:review}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). It is still possible to + go back to change them. +\begin{figure*}[!htb] + Packages Page\hfill% + Win32 Support + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/package-selection}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/win32-support} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/package-selection.jpg}\hfill% +\includegraphics[bb=0 0 506 403]{../pictures/win32-support.jpg} + \else + \includegraphics[width=.48\textwidth]{../pictures/package-selection}% + \hfill% + \includegraphics[width=.48\textwidth]{../pictures/win32-support} + \fi + \fi + \end{center} + \caption{Packages Page / Win32 goodies} + \label{graph:win32-support} +\end{figure*} +\item[Files Copy Page] + The selected files are copied on your hard disk (Figure~\ref{graph:file-copy}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). All the files not + yet available on your local disk are first downloaded from the + remote source directory on the Internet. Then every package is + unpacked (if \path|.zip| files), or copied from the \CD{}. +\item[Configuration Page] Several packages need some configuration + step to make them usable (Figure~\ref{graph:configuration}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Also the \TeXLive{} system needs some post-processing step + (format files generation, ls-R databases generation, environment + variables, etc.). All these operations are done there, some of them + can be lengthy. +\begin{figure*}[!htb] + \textbf{Review Page}\hfill% + \textbf{File Copy Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/file-copy} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{../pictures/review-settings.jpg}\hfill% + \includegraphics[bb=0 0 506 403]{../pictures/file-copy.jpg} + \else + \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/file-copy}% + \fi + \fi + \end{center} + \caption{Review Page / File Copy Page} + \label{graph:review}\label{graph:file-copy} +\end{figure*} +\item[Final Page] The installation being over, you may want to display + the Windows specific documentation (HTML format) and / or the log + file of the setup process (Figure~\ref{graph:final} + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). If it is needed (Win9x/WinME), you will + be asked to reboot your computer. +\end{description} + +\begin{figure*}[!htb] + \textbf{Configuration Page}\hfill% + \textbf{Final Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/congratulations} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{../pictures/configuration.jpg}\hfill% + \includegraphics[bb=0 0 506 403]{../pictures/congratulations.jpg} + \else + \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/congratulations}% + \fi + \fi + \end{center} + \caption{Configuration Page / Final page} +\label{graph:configuration}\label{graph:final} +\end{figure*} + +Please be aware that the choice of cluster size on DOS disk +partitions can radically affect the size of your \TeX\ +installation. The support tree has hundreds of small files, and it is +not unusual for a complete installation to take up to four times the +amount of space used on the \CD. + + +\section{Windows maintenance and post-installation} + +\subsection{What's different in Windows?} + +The Windows version of \Webc{} has some specific features that should be +pointed out. + +\begin{description} +\item[\KPS{}] The hash-tables that \KPS{} builds are quite large for + the \TeXLive{}. In order to cut down the starting time of any + \KPS{}-enabled program, these hash-tables have been put in shared + memory. This way, when you chain the execution of several such + programs, like \path|tex| calling \path|mpost| calling \path|tex|, + the overhead when starting each of the subprograms is + reduced. This change is hidden to the user, except if you set the + debug flag of kpathsea to the \path|-1| value: you will then trace + access to the shared memory, which is not what you want (it is + accessed very often!). What is useful in a log trace of the shared + memory access is still to be defined, so the situation might evolve + in the future. +\item[\cmdname{kpsecheck}] This command provides some options that did + not fit well into \cmdname{kpsewhich}. It will allow you to list all + the files that occur multiple times across your texmf trees. This + could be handy, but most of the time you will also get unwanted + output (like dozens of \path|README| files)\footnote{It is noticeable + that all these files result in clashes inside the \KPS{}-hashing + mechanism; fortunately, \KPS{} never looks for these files.}. For + this reason, you can combine the \path|-multiple-occurences| with 2 + other options for including or excluding any filename that match + some pattern (you can request for several patterns). + + The \cmdname{kpsecheck} command will also report the status of shared + memory: in use or not used. That might be useful to know because if + the status reported is \samp{in use}, that means one or several + processes are working, and the effect of any \cmdname{mktexlsr} + command will be delayed until the next time where no \KPS{} linked + process will be running. + + Last, this same command will report about the location it thinks + Ghostscript can be found. Under Win32, for many programs, it is + easier to use the Ghostscript dll, and find it by using the + Ghostscript registry key than to change the \path|PATH|, which has a + limited length anyway. +\item[\Webc{}] The engines have a few more options than in Unix + \Webc{}, and one option with a different behaviour: + \begin{itemize} +%% \item the \path|-fmt| option behaves differently. Previously and +%% with the regular \Webc{} distribution, this option has 2 different +%% meanings when you are in ``ini'' or ``vir'' mode. Under Win32, it +%% has the same meaning: preload the format file specified with the +%% argument. The meaning of building a format of such name in ini +%% mode is obtained by the new \path|-job-name| option. +%% \item \path|-job-name| option: allows to set the name of the file +%% resulting from the compilation process. In normal mode, it will +%% change the base name of all files produced (\path|.dvi|, +%% \path|.aux|, etc.), while in ini mode, it will set the name of +%% the format file written. + \item \path|-halt-on-error| stop the compilation at the first error. + \item \path|-job-time| set the job time to the same timestamp as the + file given in argument. +\item \path|-oem| use the DOS codepage for console output. + \item \path|-output-directory| allow to write all the output files in the + specified directory. + \item \path|-time-statistics| print statistics about the job run + time. It is to be noted that Win9x not being a true multitasking + operating system, it has no reliable timer for short periods, so + the value printed is an approximation. Under NT/2K/XP, the result + is quite accurate with user time and system time values allocated + for this run. For Unix + users: the \path|time| command is not usually available to Windows + users. + \end{itemize} +\end{description} + +\subsection{Adding packages to your installation} + +You will find an option in the \guiseq{TeXLive} menu (or go to +\guiseq{Start\arw Programs \arw TeXLive \arw Add TeX package} menu) to +run \file{TeXSetup.exe} in maintenance mode. The steps are almost the +same as in the initial installation. + +We'll discuss differences below, but first, whatever changes you make, +\textbf{do not forget to rebuild the ls-R database files}. Otherwise, +your new files will not be found. You can do this either via the +\acro{GUI} (\guiseq{Start \arw Programs \arw TeXLive \arw Maintenance +\arw Rebuild ls-R}), or manually running the \file{mktexlsr} command. + +The main difference is in the packages selection page. In maintenance +mode, the list of installed packages is compared to the list of packages +available from your source directories. Packages that are not installed +will be displayed in green, out of date packages will be displayed in +red and up-to-date, installed packages are displayed in black. + +This way, you can choose to add or upgrade components, either from +\TeXLive{} or from the Internet, where you are likely to find some more +recent version of your packages. + +It is up to you to select which packages you want to install. The rest +of the process is similar to the first installation. + +If you want to add files that are not provided by the \TeXLive{} (or +\fpTeX{}) distribution, it is recommended to put them in the +\path|$TEXMFLOCAL| directory. This way, you will be safe against +upgrades of the \TeXLive{} software. + +The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, +for example, you want to add the support file for the Maple symbolic +computation program, you will have to put the style files in:\\ +\path|c:\Program Files\TeXLive\texmf-local\tex\latex\maple\|\\ and the +documentation files in:\\ \path|c:\Program +Files\TeXLive\texmf-local\doc\latex\maple\| + +\subsection{Uninstalling \protect\TeXLive{}} + +The uninstall procedure is available either from the \file{TeXLive.exe} +program, from the \path|TeXLive| menu or from the control panel +(\guiseq{Start \arw Control Panel, Add/Remove Programs}). This procedure +will cleanup your hard disk of most of the \TeXLive{} files. However, +\TeX{} is a system that is creating files and there is no mechanism to +keep track of all of them. Moreover, Win32 support packages have their +own uninstall procedure, which you will have to run separately (provided +you want to get rid of them). Last, the files you may have stored in +\path|$TEXMFLOCAL| won't be removed. So, even if the vast majority of +files are automatically removed by the uninstall procedure, you will +have to do some manual cleanup to actually remove all of them. + +\subsection{Running \texttt{TeXSetup.exe} from the command line} + +The \path|TeXSetup.exe| program has a number of other useful +options. You can get the list by running: +\begin{verbatim} +c:\>TeXSetup --help +\end{verbatim} + +Here is the description: +\begin{description} +\item[\path|--automatic-reboot|] reboot without waiting user + confirmation once installation is over; +\item[\path|--dry-run|] do nothing, just log everything that will be + done without this option; +\item[\path|--quick|] use the recommended installation and default + directories, ask nothing up to rebooting; +\item[\path|--with-xemtex|] selects the \XEmTeX{} bundle; +\item[\path|--net-method (=ie5/direct)|] enable to download components with + restricted licenses from the Internet (either using direct + connection of Internet Explorer 5 DLLs): you need to have an available + network connection and some of the packages are huge; +\item[\path|--remote-source-directory |] this is the base url for the remote packages; +\item[\path|--local-source-directory

|] by default, \path|TeXSetup.exe| + will guess the root directory of the set of files you want it to act on, if you ever + upgrade \path|TeXSetup.exe|, you won't be able to copy the new version + onto your \CD{}, so you will need to use this option to specify the + root of the \CD{}; +\item[\path|--installation-directory |] this is the root of your + installation, all files will be copied under this location. The + default value is \verb+c:\Program Files\TeXLive+; +\item[\path|--texmfmain-directory |] +\item[\path|--texmflocal-directory |] +\item[\path|--texmfextra-directory |] +\item[\path|--texmfhome-directory |] +\item[\path|--vartexmf-directory |] +\item[\path|--vartexfonts-directory |] these are the directories + used to configure the location of your files. They map directly to + the \path|texmf.cnf| variables. +\item[\path|--with-source-files(=yes/no)|] copy the source files + for \TeX{} packages, default value is no; +\item[\path|--with-documentation-files(=yes/no)|] copy documentation files for \TeX{} + packages. Default value is yes. Beware: this is only documentation about specific + packages, general documentation will be installed anyway; +\item[\path|--program-folder |] the name of the folder under + which you will find the menus; +\item[\path|--add-package |] this is used to add or update a specific + package after a first regular installation; +\item[\path|--scheme |] install the named scheme instead of the + default \path|texlive-recommended| scheme; +\item[\path|--maintenance|] mostly the same as \path|--add-package| + without specifying a package to add; +\item[\path|--uninstall|] this option will remove anything \TeX{} related coming from + the \CD{}, which means there can be files left if you added style + files or format files, and also that supplementary tools will not be + removed. This option is still a bit crude in this release; +\item[\path|--help|] this option opens up a box with the list of options. +\end{description} + +\subsection{Network installation} + +\KPS{} knows about UNC names, so you can use them to get your TEXMF +tree from the network. But there is better than this. +All the support files and configuration files, everything except the files in the +\path|bin/win32| are shareable with a \teTeX{} or Unix \TeXLive{} installation. That means +you can use Samba either to mount from an NT server to a Unix +workstation or the converse. Several strategies are possible: +\begin{itemize} +\item Put everything on the server. Just add each set of files for the os and +architecture you want to use in the \path|bin| directory. That means +for example \path|bin/win32| and \path|bin/i386-linux|. Next configure +your main variables. You can use UNC names to +point to the right directories under Win32. +\item Install a local copy for the binaries and format files. In this + case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that + will be accessed remotely. Set \path|$VARTEXMF| to be a local + directory which will hold local configuration files and on-the-fly + generated files. +\end{itemize} + +\subsection{Personal configurations} + +\subsubsection{Dvips} + +The configuration file for dvips can be found in\\ +\verb+C:\Program Files\TeXLive\texmf-var\dvips\config\config.ps+\\ +You may open it with any editor + %(\cmdname{WinShell} will do fine) + and change some parameters: + +\begin{description} +\item [fonts] you can change the default printer \MF{} mode or printer + resolution in case \cmdname{dvips} needs to generate PK fonts. By default it + is configured to use Type~1 versions of the CM fonts, so it should + not call \cmdname{mktexpk} too often; +\item[printer] you can tell dvips where you want to print by default. If + the \optname{o} option is not followed by a printer name, then a + \file{.ps} \PS{} file is written. You can give dvips a printer + name such as: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] Next, you might want + to change the paper size from European (A4) to US letter + by making the US letter the first paper size mentioned in the file. + Scroll to the group of lines beginning with \code{@}. Move + the appropriate lines so that this section begins with the lines:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +The current \TeXLive{} distribution implements the procedure of making +always up-to-date fontmaps files for Dvips and Pdftex. This is done by +the \cmdname{updmap} program during installation, as well as during any +font package addition. If you add new packages by hand, edit the file +\verb+updmap.cfg+ in \path|$VARTEXMF/web2c|. + +\subsubsection{Pdftex} + +If you use the program pdf{}latex to write \acro{PDF} format directly, +and you are using \acro{US} letter-size paper, edit the file +\verb+C:\Program Files\TeXLive\texmf-var\pdftex\config\pdftex.cfg+ and +change \samp{page\_width} and \samp{page\_height}. These entries should read: +\begin{alltt} +page_width 8.5 true in +page_height 11 true in +\end{alltt} +Save the file and exit the editor. + +\subsubsection{GSView} +GSView is now distributed under the Aladdin License, and therefore is no longer included in +\TeXLive{}. + +If you may want to change the page size to US letter size. If so, open +GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. + +Also, there are menu settings that are supposed to give you the most +readable screen image. On \guiseq{Media \arw Display Settings}, set both +\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. + +Note that the installation process has set all \code{.ps} and +\code{.eps} files to automatically open with \cmdname{GSView}. + +For printing instructions, see section~\ref{printing} below. + +\subsubsection{WinDvi} +\label{sub:windvi} + +The \file{TeXSetup.exe} program takes care of associating the files +with the \file{.dvi} extension with \file{Windvi}. + +Open it with \guiseq{Start\arw Programs\arw TeXLive\arw DVI Viewer}. + +You can set it for US letter-size paper by going to \guiseq{View\arw +Options\arw Papertype} and selecting US (8.5\verb+"+ x 11\verb+"+) (and +then \optname{OK}. Exit \cmdname{windvi}. + +You can change other parameters from there as well, such as the ability +to execute system commands specified by the document (disabled by +default for security reasons). Also, the first time you view any .dvi +file, you may find the magnification too large. Zoom out until you get +an appropriate size. + +%There are two important parameters related to printing that can't yet +%be set from the dialog boxes, namely the resolution and the \MF{} mode +%for the printer. You can set them once for all by specifying them on +%the command line: +%\begin{verbatim} +%c:\>windvi -p 360 -mfmode canonbjc foo.dvi +%\end{verbatim} +%When you will exit Windvi, these parameters will be stored in the +%configuration file. The available modes are found in this file:\\ +%\path|c:\Program Files\TeXLive\texmf\metafont\misc\modes.mf| + +All configuration settings for \cmdname{Windvi} are stored in a file +named \path|windvi.cnf| file. You can find it by running this command at +the prompt: +\begin{verbatim} +c:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +Should you have problems with \cmdname{Windvi}, please remove the configuration +file and test your problem against a vanilla configuration. + +\subsection{Testing} + +For generic verification procedures, see section~\ref{sec:test-install} +on p.~\pageref{sec:test-install}. This section describes +Windows-specific tests. + +Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), +found in \path|C:\Local\TeX\texmf\tex\latex\base|. The \LaTeX\ source +should appear on the screen. Process it by clicking on the +\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar +(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} +menu (XEmacs) or Preview (Windvi) icon (WinShell). + +At first, when you preview files with Windvi, 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. + +\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ +cannot find a file, you can press Ctrl-z to quit. + + +\subsection{Printing} +\label{printing} + +It is possible to print from Windvi. In this case, printing will be done +using the Windows unified printer driver. By definition, it is +compatible with all printers. However, there is some drawback: it can +generate some huge spool files, and some (older) versions of Windows +just don't like them. The advantage is that you can use features like +embedding BMP or WMF images. You also need to make sure that the printer +parameters are correctly set (subsection~\ref{sub:windvi}), else you +will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer +will give you only one quadrant of your page). + + +Printing is faster and more reliable if you run \cmdname{dvips} to make +a \filename{.ps} file and then print from \cmdname{GSView}. In +\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} +window will appear. + +If you are using a \PS{} printer, \textit{be sure to select +\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box +at the bottom left of the \guiseq{Print} window. You can then select any +of the printers that you have previously installed. If you fail to +check the box for \optname{\PS{} Printer}, printing will not work. + +If you will be using your own non-\PS{} printer, select +\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click +on the button to the right labelled \guiseq{djet500} and select your +printer type from the list that pops up. (In the older version of +\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} +selected, then select your printer type from the \guiseq{Device} list.) + +%If you use \cmdname{WinShell} and a \PS{} printer, probably the +%most convenient way to print is to add an icon to the \cmdname{WinShell} +%toolbar that invokes dvips in a way that sends the output directly to a +%default printer. For detailed instructions on how to do this, see +%the next section. + +%% \subsection{\cmdname{WinShell}} +%% \label{winshell:more} + +%% \subsubsection{Configuring \cmdname{WinShell}} +%% \label{sec:winshell} + +%% Start this program from the Start menu or from the Desktop shortcut. +%% Go to \guiseq{Options \arw Program Calls}. + +%% \begin{itemize}\itemsep 0pt +%% \item In the DVIWin tab, if the filename is \filename{yap}, replace it +%% with \filename{windvi.exe}. +%% \item In the Ghostview tab, make sure it gives the correct path for +%% gsview32.exe:\\ +%% \hspace*{1em} \verb+C:\ghostgum\gsview\gsview32.exe+ (for 3.6, the +%% current version)\\ +%% or \\ +%% \hspace*{1em} \verb+C:\gstools\gsview\gsview32.exe+ (for the older +%% version) + +%% \end{itemize} + +%% Click \guiseq{OK}. + +%% Note that the install process sets all files with the \texttt{.tex} +%% extension to open with \cmdname{WinShell}. Unless you plan to use another editor +%% (such as WinEdt or Emacs), this is appropriate. + +%% Unfortunately, \cmdname{WinShell} does not have a spell-checking +%% feature. However, if you have installed the \path|tex-extrabin| +%% collection, your installation includes \cmdname{Ispell} (a spell +%% checking program found on most Unix systems). The executable is in your +%% PATH so \verb+ispell.exe+ will be found if you invoke it from a DOS +%% window. If you installed documentation, look at \path|C:\Program +%% Files\TeXLive\texmf\doc\html\manpages\ispell.html|for information on +%% Ispell. (Otherwise, you can find \verb+ispell.html+ on the CD.) If you +%% rely on spell checking, you may want to add an Ispell icon to +%% \cmdname{WinShell}. See subsection~\ref{winshell:ispell} of this +%% document for how to do that. + +%% For an excellent commercial (but inexpensive) spelling checker, +%% see \url{http://www.microspell.com}. + +%% \cmdname{WinShell} also has on-line help, which you can access via the +%% $\textbf{\underbar{?}}$ on the menu bar. + +%% Other information about using \cmdname{WinShell} can be found in +%% section \ref{winshell:more} on p.~\pageref{winshell:more}. + + +%% \subsubsection{Installing Bug Fixes} + +%% \cmdname{WinShell}'s author (\href{mailto:idb@winshell.de}{Ingo de Boer}, +%% thanks to him) sometimes releases beta versions of the next \cmdname{WinShell} +%% version which are also bug fixes. You can grab them from +%% \url{http://www.winshell.de}. Usually they are \file{.zip} files that +%% only require to be unpacked in \cmdname{WinShell} directory (\path|c:\Program +%% Files\WinShell| by default), either using WinZip or a similar tool, or +%% by using \file{unzip} on the command line. If you got some +%% \file{winshellbugfix.zip} file and that you saved it in the \cmdname{WinShell} +%% directory, then you need to run: +%% \begin{verbatim} +%% c:\>cd c:\"Program Files"\WinShell +%% c:\>c:\local\bin\unzip winshellbugfix.zip +%% \end{verbatim} +%% Say \optname{yes} if you are asked if some files should be overwritten. The +%% \path|unzip.exe| programme can be found in the +%% \path|support/gnu-utils| package. If you +%% do not have it on your machine, you can use any archiver tool like +%% WinZip to achieve the same effect. + +%% \subsubsection{The \cmdname{Project} feature: organizing many files} + +%% If your document is split into several files (for example a thesis), +%% look into \cmdname{WinShell}'s \cmdname{Project} feature. From the +%% \guiseq{Project} menu, you give the project a name (e.g., \code{Thesis}), +%% supply the name of the main (or root) file, and then \code{add} other +%% files. These filenames display on the left of the screen where you can +%% double click the names to view and switch between them. Clicking the +%% \guiseq{\LaTeX} icon always processes the main file. + +%% Note the icons on the toolbar for toggling the project space (on the left) +%% and the log space (at the bottom). If you are not using the Project +%% feature, you may want to toggle off the space on the left, using the full +%% screen width to display your file. + +%% \subsubsection{Printing from \cmdname{WinShell} to a \PS{} Printer} +%% \label{winshell:print} + +%% The Dvips icon on the \cmdname{WinShell} toolbar puts the \PS{} output +%% in a file, which you can then view with GSView and print from there if +%% you choose. However, it's convenient to add a \cmdname{WinShell} +%% ``program call'' to dvips which sends the output directly to a +%% designated \PS{} printer. The steps below show how to do this for the +%% printer \optname{vclw}; you should substitute the name of your most +%% frequently-used printer. +%% \begin{enumerate} +%% \item Make the program aware of the printer: +%% \begin{itemize} + +%% \item Open \cmdname{WinShell}, go to \guiseq{Options\arw Program +%% Calls\arw User defined}. + +%% \item Click on \guiseq{Tool 1} in the list on the right and fill in the +%% fields to the left as follows:\vspace{-6pt} +%% \begin{quote} +%% Name: \verb+Print+\\ +%% exe file: \verb+dvips+\\ +%% cmd-line: \verb+ -D600 %m -o vclw+\\ +%% Uncheck the box for \guiseq{DVIPS first} +%% \end{quote}%\vspace{-12pt} +%% \item Click \guiseq{OK} +%% \end{itemize} +%% \item Add \guiseq{Print} to the toolbar: +%% \begin{itemize} +%% \item Go to \guiseq{Options\arw View\arw Customize}. +%% \item In the \guiseq{Category} box, select \guiseq{User-Programs}. +%% \item Select \guiseq{Print} and drag it to the toolbar, placing it just to +%% the right of the \cmdname{GSView} icon. +%% \item You then have a choice of \guiseq{Image only}, \guiseq{Text only}, +%% or \guiseq{Image and Text}. The easiest is to select \guiseq{Text only} +%% and click \guiseq{OK}. You should then see \guiseq{Print} on the +%% toolbar. (If you prefer, you can select \guiseq{Image only\arw Edit}, +%% and edit the displayed picture to your satisfaction.) +%% \end{itemize} +%% \end{enumerate} +%% Now, to print a \LaTeX\ document, just click on the \guiseq{Print} icon +%% to send to your selected printer. To use a different printer, you will +%% need to click on the \guiseq{Dvips} icon to print to a file. Then click +%% on the \cmdname{GSView} icon and use \cmdname{GSView} to send to any +%% printer you have installed on your \acro{PC}. + +%% \subsubsection{Adding Ispell to \cmdname{WinShell}} +%% \label{winshell:ispell} +%% \begin{enumerate} +%% \item Add Ispell to User Tools: +%% \begin{itemize} +%% \item Open \cmdname{WinShell}, go to \guiseq{Options\arw Program +%% Calls\arw User defined}. +%% \item In the list on the right, click on \guiseq{Tool~1} (or +%% \guiseq{Tool~2} if you have already used \guiseq{Tool~1}) and fill in +%% the fields to the left as follows:\vspace{-6pt} +%% \begin{quote} +%% Name: \verb+Ispell+\\ +%% exe file: \verb+ispell+\\ +%% cmd-line: \verb+ -t -d american %c.tex+\\ +%% Uncheck the boxes for \guiseq{LaTeX first} and \guiseq{DVIPS first} +%% \end{quote} +%% \item Click \guiseq{OK}. +%% \end{itemize} + +%% \item Add Ispell to the toolbar: +%% \begin{itemize}\itemsep 0pt +%% \item Go to \guiseq{Options\arw View\arw Customize}. +%% \item In the \guiseq{Category} box, select \guiseq{User-Programs}. +%% \item Select \guiseq{Ispell} and drag it to the toolbar, placing it just to +%% the right of the \cmdname{GSView} icon (or the last icon you added). +%% \item You then have a choice of `\guiseq{mage only}, \guiseq{Text only}, +%% or \guiseq{Image and Text}. The easiest is to select \guiseq{Text only} +%% and click \guiseq{OK}. You should then see \guiseq{Ispell} on the +%% toolbar. (If you prefer, you can select \guiseq{Image only\arw Edit}, +%% and edit the displayed picture to your satisfaction.) +%% \end{itemize} +%% \end{enumerate} +%% Now, when you have a \LaTeX\ document open, you can click on +%% \guiseq{Ispell} to perform spell checking. Ispell will open another +%% window and display the first misspelled word on the left with the +%% filename on the right. Below that you will see the context in which the +%% misspelling appears; often several suggestions for replacements are also +%% displayed. To replace the word, enter the number corresponding to the +%% desired replacement. Other possible responses are listed below; for +%% example, you can press the space bar to ignore the misspelled word. For +%% more information on Ispell, read the manual page: +%% \verb+C:\Program Files\TeXLive\texmf\doc\html\manpages\ispell.html+. + +%% Note that when you replace a word, you will not see the correction in +%% your \cmdname{WinShell} window until you close the file (click the +%% \guiseq{X} in the upper right corner) and then open it again (use the +%% \guiseq{File} menu). + +\subsection{Tips and tricks for Win32} + +\subsubsection{Different flavors of Win32} + +What we call Win32 is not an operating system by itself. It is a large +set of functions (around 12,000 in the header files of the Microsoft +\acro{SDK}) that you can use to write programs for different operating +systems of the Windows family. + +Windows comes in different flavors: +\begin{itemize} +\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, + multithreading} environments. They are the latest\Dash and hopefully + last\Dash metamorphosis of \acro{DOS}. This can be more or less proven + by the fact that when booting, the PC will load the \path|command.com| + interpreter, and if you stop the boot process at this point, you can + ask for the current (\acro{DOS}) version and it will answer something + like \samp{MS-DOS 7.0} (at least for the old versions of Win9x). +\item Windows \acro{NT}, which is a new operating system written from + scratch, capable of true multitasking behaviour, and including many + high level features. +\item Windows 2000, based on \acro{NT}, with all the bells and + whistles of Win98. +\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is + the last step in merging both lines of products (Win9x based and + \acro{NT} based). \acro{XP} is based on \acro{NT}. +\end{itemize} + +Win9x are able to run 32~bits programs and 16~bits programs +concurrently. But the operating system by itself is not entirely +written in 32~bits mode, and does not support memory protection: 16bits +applications can overwrite parts of the operating system memory! Some +parts of the system like the \acro{GDI} (Graphical Device Interface) +manage limited resources like bitmaps, fonts, pens and so on for the set +of all programs that run concurrently. All the bitmaps headers available +at the same time can't amount for more than 64kB. This explains the +performance tool and the fact that you can put your system on his knees +by making intensive use of graphic objects for example. + +NT, 2K and XP do not suffer from these limitations, and neither from +other Win9x limitations. They are true multitasking environments, with +protected memory. They are much more responsive than Win9x because +of better memory management, better file system and so on. + +\subsubsection{Command line prompt} + +You may wonder, ``Why would I need to use a command line prompt when +I have Windows?'' + +Good question. The problem is of very general nature. Not all operations +can be done easily using only a \acro{GUI}. Command line gives you +programming power\Dash assuming a clever command interpreter. + +But the problem here is more fundamental: \TeX{} is \emph{a batch} +tool. Not an interactive one. \TeX{} needs to compute the best +layout for each page, resolve cross-references and so on. This can be +done only by a global processing of the document. It is not (yet) a +task that can be done interactively. + +This means that you should use \TeX{} from a command line. In fact the +situation is not so bad. There is an advantage to write command line +tools for complex processing: they are better debugged, because they are +independent of any \acro{GUI} problems, and \acro{GUI} tools can be +designed to interface to the command line tools. This is the case for +\TeX{}, where you will mostly interact with it through a \acro{GUI} text +editor. + +However, you may need to use the command line prompt in a number of +situations. One is when you are having difficulties and want to debug +your setup. + +\begin{description} + \item[Win9x] You can open a command line prompt by looking either for + the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, + or by choosing \guiseq{Start\arw Run} menu typing in + \path|command.com| as the progrm name. + \item[NT, 2K, XP] You can open a command line prompt by looking for + \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. + You can also choose \guiseq{Start\arw Run} and type in + \path|cmd.exe|, which is the name of the brand new command + interpreter for \acro{NT} (thus, it is untrue to call this a + \emph{DOS} box!). +\end{description} + +These locations may change across different Windows versions. + + +\subsubsection{Path separators} + +The Win32 API understands both \path|/| and \path|\| characters as PATH +separators. But the command interpreters do not! So whenever a path name +is used programmatically, you can use both separators, and even mix them +up in the same path name. But on the command line, you must type +\path|\| as path separator. The reason is compatibility: the command +processor used \samp{/} to introduce arguments to commands. + +All this to say: do not be surprised to read path names written using +the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible +across platforms. For this reason, all the configuration files that +need to specify path names use the Unix convention. + +\subsubsection{File systems} +\label{sec:clusters} + +The worst feature of Win9x with regard to \TeX{} is probably the +so-called FAT file system. \TeX{} uses many many small files, with size +around 1--3kB. The \acro{FAT} file system is old, and predates by +decades the multi-gigabytes hard disks we have today. As a result, it +cannot manage efficiently the tens of thousands of \TeX{} files found in +\TeXLive{}. The \acro{FAT} file system allocates a minimum of 32kB for +\emph{any} file on a huge partition. It means that \TeX{} will use much +more disk space than it actually needs. + +The other, more modern, file systems available, \acro{FAT32} and +\acro{NTFS}, do not have this drawback. They manage clusters of 4kB +only. (You can lower the limit to 512 bytes on \acro{NTFS}.) + +\subsubsection{How to add some directory to your PATH} + +There are pairs of variables and values which behave much like global +variables inside your programs. The set of those variables is called the +environment. Each program is initialized with a copy of the +environment when it is run. It can request and change the +value of any variable. The changes happen in the copy of the +environment, and is not at all propagated to the other running +programs. + +Your PATH is a special environment variable used to search for +programs you want to run. +There is a different procedure to change it for Win9x, WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line + starting with \texttt{PATH=} and followed by a list of directories separated + by \path|;|. Please add the directory with the executables in this line. + After this, this line could look as follows: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\"Program Files"\TeXLive\bin\win32 +\end{verbatim} +\item[Windows ME] You need to run the special program + \path|c:\windows\system\msconfig.exe| to be able to change any + environment variable. From this program, select the `Environment' + tab, and then add or modify the variable you want. You will be asked to reboot the + machine upon any change. +\item[Windows NT/2K/XP] + Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the + window with the control panel icons opens. Double click on System. The + System Properties window opens. Click on the tab \textsf{Environment} + or look for a button named \guiseq{Environment Variables} among the + dialog boxes. Now you can change the environment variables for your + user account. Note: There are also displayed the environment settings + for the system. Normally, you can't change the system variables + unless you have administrator rights on your machine. If you want to + change the \texttt{PATH} for all users, you will have to contact your + system administrator or be the system administrator yourself\Dash in + the latter case you should know what you are doing. + + If there is already a \texttt{PATH} setting for your user account, + left click on \texttt{PATH}. In the field \textsf{Variable} appears + \texttt{PATH} while the field Value shows the current setting of + \texttt{PATH} as a list of directories separated by \path|;|. Add + the directory where the executables are located (e.g. + \path|c:\Program Files\TeXLive\bin\win32|). If there isn't a \texttt{PATH} variable + for your user account, simply click in the field Variable and type + in \texttt{PATH}, click in the field \textsf{Value} + and type in the directory with the executables. Important: Click on + the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the + changes to \texttt{PATH} won't apply to your system. Be careful when + changing the environment settings. +\end{description} + +The best way to be sure that a variable has been properly set is to +open a console and type: +\begin{verbatim} +set VARIABLE +\end{verbatim} +which should return the corresponding value. + +\subsubsection{\TeX{} engines} + +If you have a look at the \Webc{} documentation, you will read that all +the various \TeX{} derived programs use the same base engine. For +example, \path|tex.exe| and \path|latex.exe| are exact copies of the +same program, but each one will use a different format file, based on +its calling name. + +Under Unix, this feature is implemented through \emph{symbolic +links}. It saves up a bit of disk space, because some engines are +used with many different format files. + +The Win32 API does not know about file links. So to save up almost +the same amount of memory, all the \TeX{} base engines have been put +in DLLs (\emph{Dynamic Linked Library}). This means that you will have +the following layout: +\begin{alltt} +13/05/2002 17:06 3 584 latex.exe +13/05/2002 17:06 266 240 tex.dll +13/05/2002 17:06 3 584 tex.exe +\end{alltt} +and the \path|latex.exe| file is nothing but a rough copy of +\path|tex.exe| using the same core \path|tex.dll|. +The same trick has been used for the \path|mktex*.exe| family of programs which are +linked to the \path|mktex.dll| library. + +In fact, a generic tool called \path|lnexe.exe| is provided to build the +equivalent of Unix hard links for executable files only under Win32. + +\subsection{In case of problems} +\label{sec:troubleshooting} + +\subsubsection{What to do if \texttt{latex} does not find your files?} + +\begin{itemize} + +\item \cmdname{kpsewhich} is the tool of choice to debug any +problem. Unfortunately, \cmdname{kpsewhich} outputs debug information +to stderr, and the Windows console does not know how to redirect stderr +to a file\footnote{Well, NT and Win2k consoles know how to do that. But +the trick will work for any console.}. For diagnostic purposes you can +temporarily set an environment variable (in a \acro{DOS} box): + +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +You can also set the debug level: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +If you want to redirect stderr to stdout, which is not possible +Windows, then do: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +This way you can capture both stdout and stderr in the same file. + +\item Assuming the installation has been done in \path|c:/Program Files/TeXLive|, check + the following values: \\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/Program Files/TeXLive/texmf| \\ + \path|kpsewhich -expand-path $TEXMFCNF| & + \path|.;c:/Program Files/TeXLive/texmf/web2c;| \\ + & \path|c:/Program Files/TeXLive/bin/win32;| \\ + & \path|c:/Program Files/TeXLive/bin;| \\ + & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/Program Files/TeXLive/texmf/tex//| + \end{tabular} +} +\item If you have other \TeX{}-related values already set in your + environment, please, remove them. They are overriding the ones in + texmf.cnf. +\item Check the values from:\\ +{\small + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \path|c:/Program Files/TeXLive/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ + \texttt{kpsewhich latex.fmt}& \path|c:/Program Files/TeXLive/texmf/web2c/latex.fmt| + \end{tabular} +} +\item At this point, if everything is correct, \TeX{} and friends + should work. If it is not the case, you will need to play with + the \path|-debug=n| option from \path|kpsewhich|, and check back all + the values. Try to identify and report the problem. +\end{itemize} + +\subsubsection{What to do if your setup still does not work as expected?} + +Here are several questions to investigate: + +\begin{enumerate} +\item Is \file{tex.exe} in my \path|PATH|? + +\item Is the \path|TEXMFCNF| variable correctly set to +\path|c:/Program Files/TeXLive/texmf-var/web2c| (default value)? + +\item Are there any errors in the log file generated by the +\file{TeXSetup.exe} program? You can find this by searching for the +string \samp{Error}. + +\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? +(Unlikely, but it doesn't hurt to check.) + +\item Check the web pages at +\url{http://www.fptex.org/}, or consider subscribing to the \fpTeX{} +mailing list, via \url{http://tug.org/mailman/listinfo/fptex}. + +\end{enumerate} + + +The \TeXLive{} software consists of hundreds and programs and tens of +thousands of files, all from varying sources. So it is quite difficult to +predict all possible causes for problems. Nevertheless, we will do our +best to help you. (see section~\ref{sec:help} on p.~\pageref{sec:help}.) + + +\subsection{Compiling the source files} + +You have the whole set of source files, in the +\path|source/source.tar.bz2| archive available in the distribution together with +a patch file for Win32. To +be able to compile the whole distribution for Windows, you will need: + +\begin{itemize} +\item Windows 2K/XP +\item Microsoft Visual Studio .Net 2003 +\item a set of Unix tools (\texttt{sed}, + \texttt{grep}, \texttt{gawk}, etc.) and also Perl, Flex and Bison, +\item to adjust the paths in the + \path|win32/make/common.mak| file according to your installation +\item to adjust the paths in the Perl script file + \path|win32/perl/build.pl|, +\item run the compilation from the \path|mswin32/| directory using this + command: +\begin{verbatim} +c:\texlive\source\mswin32>perl ./perl/build.pl --install --log=install.log +\end{verbatim} +\end{itemize} + +There is a lot of work to do to make this process easier and cleaner. + +\subsection{Where to get more information} + +The Windows \TeX{} system included on \TeXLive{} is also known as +\fpTeX. The packaging differs, but \fpTeX{} is no more no less than the +current \TeXLive\ release for Windows. + +The \fpTeX{} home page is \url{http://www.fptex.org}. + +The current \fpTeX release is available from any \CTAN site in +\url{htp://www.ctan.org/tex-archive/systems/win32/fptex}. + +The main ftp site for \fpTeX\ is \url{ftp://ftp.dante.de/pub/fptex/} +from where beta versions of \fpTeX\ and additionnal tools are available. +This main site is (partially) mirrored daily by all \CTAN{} sites at +\path|systems/win32/fptex|. + +The \TeX{} Users Group is kindly hosting a mailing list dedicated to +\fpTeX. It is used for announcements, bug reports, enhancement requests, +and general discussion about \fpTeX. To subscribe, visit +\url{http://tug.org/mailman/listinfo/fptex}. The mailing list +address is \email{fptex@tug.org}. + + +\section{A user's guide to \protect\Webc{}} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TeXLive{}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system adapting change files +under Unix, which were primarily the 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. + +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 \web{} and translates them into C source +code. The core \TeX{} programs are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\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[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\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 \acro{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{}. 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 more than one directory tree +simultaneously, which is useful in maintaining \TeX's standard +distribution and local extensions in two 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{\protect\KPS\ path searching} + +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{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{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{Debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\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} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\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} + \emph{variable}[.\emph{progname}] [=] \emph{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{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{Default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{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 + +\tolerance=1500 + +\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 can be used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, you find +the following definition: +\begin{verbatim} + TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$VARTEXMF,!!$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{\$HOMETEXMF/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$VARTEXMF/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{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 summarises the meaning of special characters +in \KPS{} configuration files. + +\newcommand{\CODE}[1]{\makebox[2.5em][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. +\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`\{\dots\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{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{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); most sites have only one hierarchy. \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} && ls -LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\acro{GNU}'s \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 for changes in the installed files\Dash perhaps after installing or +updating a \LaTeX{} package\Dash the file \file{ls-R} is automatically +updated. + +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{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 more important 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 + found in the first column of Table~\ref{tab:kpathsea}, which lists + currently recognized names, a description, possible file extensions, + and associated environment variables. +\end{ttdescription} + + +\def\KpathKey#1#2#3#4#5{% name, number, description, variables, + % suffixes +\SetRowColor#1 & #3 & #4 & #5\\} +\def\HEAD#1{\multicolumn{1}{l}{\emph{#1}}} +% +\begin{small} +% a footnoterule immediately under a bottom-of-page rule looks dead +% silly, so we suppress it +\renewcommand\footnoterule{\relax} +% +\begin{longtable}{@{}% + >{\ttfamily}P{.16\textwidth}% Col.1 + P{.3\textwidth}% Col 2 + >{\ttfamily\footnotesize}P{.29\textwidth}% Col 3 + >{\ttfamily}P{.14\textwidth}% Col 4 +@{}} +\caption{Kpathsea file types.}\label{tab:kpathsea}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\endfirsthead +\multicolumn{3}{l}{Kpathsea file types \emph{continued}}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\noalign{\vspace{2pt}} +\endhead +\mbox{}\\ +\hline +\endfoot +\KpathKey + {afm} + {4} + {Adobe font metrics} + {AFMFONTS} + {.afm} +\KpathKey + {base} + {5} + {Metafont memory dump} + {MFBASES, TEXMFINI} + {.base} +\KpathKey + {bib} + {6} + {\BibTeX{} bibliography source} + {BIBINPUTS, TEXBIB} + {.bib} +\KpathKey + {} + {2} + {bitmap fonts} + {GLYPHFONTS, TEXFONTS} + {} +\KpathKey + {bst} + {7} + {\BibTeX{} style files} + {BSTINPUTS} + {.bst} +\KpathKey + {cnf} + {8} + {Runtime configuration files} + {TEXMFCNF} + {.cnf} +\KpathKey + {dvips config} + {34} + {\textsf{dvips} configuration files, e.g., \file{config.ps} + and \file{psfonts.map}} + {TEXCONFIG} + {.map} +\KpathKey + {fmt} + {10} + {\TeX{} memory dump} + {TEXFORMATS, TEXMFINI} + {.fmt, .efmt, .efm} +\KpathKey + {gf} + {0} + {generic font bitmap} + {GFFONTS} + {.gf} +\KpathKey + {graphic/figure} + {25} + {Encapsulated \PS{} figures} + {TEXPICTS, TEXINPUTS} + {.eps, .epsi} +\KpathKey + {ist} + {35} + {\textsf{makeindex} style files} + {TEXINDEXSTYLE, INDEXSTYLE} + {.ist} +\KpathKey + {ls-R} + {9} + {Filename databases} + {TEXMFDBS} + {} +\KpathKey + {map} + {11} + {Fontmaps} + {TEXFONTMAPS} + {.map} +\KpathKey + {mem} + {12} + {MetaPost memory dump} + {MPMEMS, TEXMFINI} + {.mem} +\KpathKey + {mf} + {13} + {Metafont source} + {MFINPUTS} + {.mf} +\KpathKey + {mfpool} + {14} + {Metafont program strings} + {MFPOOL, TEXMFINI} + {.pool} +\KpathKey + {mft} + {15} + {MFT style file} + {MFTINPUTS} + {.mft} +\KpathKey + {} + {41} + {miscellaneous fonts} + {MISCFONTS} + {} +\KpathKey + {mp} + {16} + {MetaPost source} + {MPINPUTS} + {.mp} +\KpathKey + {mppool} + {17} + {MetaPost program strings} + {MPPOOL, TEXMFINI} + {.pool} +\KpathKey + {MetaPost support} + {18} + {MetaPost support files, used by DMP} + {MPSUPPORT} + {} +\KpathKey + {ocp} + {19} + {\OMEGA{} compiled process files} + {OCPINPUTS} + {.ocp} +\KpathKey + {ofm} + {20} + {\OMEGA{} font metrics} + {OFMFONTS, TEXFONTS} + {.ofm, .tfm} +\KpathKey + {opl} + {21} + {\OMEGA{} property lists} + {OPLFONTS, TEXFONTS} + {.opl} +\KpathKey + {otp} + {22} + {\OMEGA{} translation process files} + {OTPINPUTS} + {.otp} +\KpathKey + {ovf} + {23} + {\OMEGA{} virtual fonts} + {OVFFONTS, TEXFONTS} + {.ovf} +\KpathKey + {ovp} + {24} + {\OMEGA{} virtual property lists} + {OVPFONTS, TEXFONTS} + {.ovp} +\KpathKey + {pk} + {1} + {packed bitmap fonts} + {\emph{program}FONTS \textrm{(\texttt{\emph{program}} being + \textsmaller{\cmdname{XDVI}}, + etc.)}, PKFONTS, TEXPKS, GLYPHFONTS, TEXFONTS} + {.pk} +\KpathKey + {\PS{} header} + {30} + {downloadable \PS{}} + {TEXPSHEADERS, PSHEADERS} + {.pro, .enc} +\KpathKey + {tex} + {26} + {\TeX{} source} + {TEXINPUTS} + {.tex, .cls, .sty, .clo, .def} +\KpathKey + {TeX system documentation} + {27} + {Documentation files for the \TeX{} system} + {TEXDOCS} + {} +\KpathKey + {TeX system sources} + {29} + {Source files for the \TeX{} system} + {TEXSOURCES} + {} +\KpathKey + {texpool} + {28} + {\TeX{} program strings} + {TEXPOOL, TEXMFINI} + {.pool} +\KpathKey + {tfm} + {3} + {\TeX{} font metrics} + {TFMFONTS, TEXFONTS} + {.tfm} +\KpathKey + {Troff fonts} + {31} + {Troff fonts, used by DMP} + {TRFONTS} + {} +\KpathKey + {truetype fonts} + {36} + {TrueType outline fonts} + {TTFONTS} + {.ttf, .ttc} +\KpathKey + {Type~1 fonts} + {32} + {Type 1 \PS{} outline fonts} + {T1FONTS, T1INPUTS, TEXPSHEADERS, DVIPSHEADERS} + {.pfa, .pfb} +\KpathKey + {type42 fonts} + {37} + {Type 42 \PS{} outline fonts} + {T42FONTS} + {} +\KpathKey + {vf} + {33} + {virtual fonts} + {VFFONTS, TEXFONTS} + {.vf} +\KpathKey + {web2c files} + {38} + {\Webc{} support files} + {WEB2C} + {} +\KpathKey + {other text files} + {39} + {text files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\KpathKey + {other binary files} + {40} + {binary files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\end{longtable} +\end{small} + + +\begin{multicols}{2} + + The last two entries in Table~\ref{tab:kpathsea} are special + cases, where the paths and environment variables depend on the name + of the program: the variable name is constructed by converting the + program name to upper case, and then appending \texttt{INPUTS}. + + The environment variables are set by default in the configuration + file \file{texmf.cnf}. It is only when you want to override one or + more of the values specified in that file that you might want to set + them explicitly in your execution environment. + + The \samp{-{}-format} and \samp{-{}-path} options are mutually + exclusive. + +\begin{ttdescription} + +\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{SExamplesofuse} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} +/usr/local/texmf/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} root +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +The latter 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 on our system (since we use the Type~1 versions included in \TeXLive{}). +\begin{alltt} +> \Ucom{kpsewhich ecrm1000.pk} +\ifSingleColumn /usr/local/texmf/fonts/pk/ljfour/jknappen/ec/ecrm1000.600pk +\else +/usr/local/texmf/fonts/pk/ljfour/jknappen/ +... ec/ecrm1000.600pk +\fi\end{alltt} +For the extended Computer Modern files 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 ecrm1000.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. In fact, a program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the \texttt{.pk} files at the required +resolution 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 +prolog \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}. 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/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/dvips/base/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/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 --format="dvips config" utm.map} +/usr/local/texmf/dvips/psnfss/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 ... \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf/fonts/type1/urw/utm/utmr8a.pfb +\else /usr/local/texmf/fonts/type1/ +...urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these few 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{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 the \file{ls-R} + database, 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. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient value touse. + +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 +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/html/dvips/dvips_toc.html}). +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{SExamplesofuse} 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 +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 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, + ... + +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 +[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 \TeXLive{} 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} (compare the generic value + and the huge one instantiated by \texttt{hugetex}, + etc.). +\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 TFM files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Approximately 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. You can see that both the + \cmdname{hugetex} and \cmdname{pdflatex} program invocations ask for + an extra 15,000 control sequences (the default value of + \texttt{hash\_extra} is zero). +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since this is extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\section{Building on a new Unix platform} + +If you have a platform for which we have not created executables, you +will need to compile \TeX{} and friends from scratch. 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 \acro{GNU} version of these programs +(\cmdname{gcc}, \acro{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 \TeXLive{} to your disk (see +section~\ref{sec:unix-install-disk} on +p.~\pageref{sec:unix-install-disk}). You may wish to skip installing +any 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} & \acro{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: \acro{GNU} \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \emph{TEXDIR}/bin/\emph{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} +on p.~\pageref{sec:postinstall}. + + +\section{Last words} + +This edition of \TeXLive{} is edited by Sebastian Rahtz, with the major +contributors being Fabrice Popineau, who has worked away unceasingly at +the Windows part of the package (especially the setup!)\ and contributed +in many different ways with ideas, advice and code, and Staszek +Wawrykiewicz, who provided great testing feedback, and co-ordinated the +Polish contributions. + +Kaja Christiansen performed a vital role in endless recompilations on +assorted Unix platforms. Vladimir Volovich did great work on cleaning +the source and making other improvements, while Gerben Wierda did all +the work for \MacOSX. + +\subsection{Acknowledgements} + +\TeXLive{} is a joint effort by virtually all \TeX{} Users Groups. In +particular, we are very grateful for past and present help from: + +\begin{itemize} + +\item The German-speaking \TeX{} Users (\acro{DANTE} e.V.), who provide +the hardware the \TeXLive{} source repository; and Rainer Sch\"opf and +Reinhard Zierke who look after it. \acro{DANTE} president Volker Schaa +coordinated production with the Lehmann's Bookstore +(\url{http://www.lob.de}). + +\item The Perforce corporation (\url{http://www.perforce.com}), for providing +a free copy of their excellent change management system, which we use to +manage. + +\item Karl Berry, who provided the original \Webc{} distribution, and +has continued to give invaluable advice, encouragement, and help. + +\item Mimi Burbank, who arranged access at the Florida State University +School of Computational Science and Information Technology to a slew of +different computers to compile \TeX{} on, and acted as an essential +guinea-pig whenever asked. + +\item Thomas Esser, without whose marvellous \teTeX{} package \TeXLive{} +would certainly not exist, and whose continual help makes it a better +product. + +\item Michel Goossens, who co-authored the documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item Petr Olsak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Olaf Weber, for his patient assembly and maintenance of Web2c. + +\item Graham Williams, on whose work the catalogue of packages depends. + +\end{itemize} + +In addition, Gerhard Wilhelms, Volker Schaa, Fabrice Popineau, Janka +Chleb\'\i{}kov\'a, Staszek Wawrykiewicz, Erik Frambach, and Ulrik Vieth +kindly translated documentation at various times into their respective +languages, checked other documentation, and provided very welcome +feedback. + + +\subsection{Release history} +\label{sec:history} + +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 +\TeXLive. + +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 \TeXLive{} 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 \TeXLive{} 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. + +In 2003, with the continuing flood of updates and additions, we found +that \TeXLive{} 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:multiple-dist} on p.~\pageref{sec:multiple-dist}). 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 \TeXLive{} 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 8-bit input + characters as themselves in output (e.g., \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TeXLive{}~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: \TeXLive{} 2003. +\end{itemize} + + +\subsection{Future releases} + +\emph{\TeXLive{} is not perfect!} (And never will be.) We intend to +continue to release new versions yearly, and would like to provide more +help material, more utilities, more installation programs, and (of +course) an ever-improved and checked tree of macros and fonts. This work +is all done by hard-pressed volunteers in their limited spare time, and +a great deal remains to be done. If you can help, don't hesitate to put +your name forward! + +Please send corrections, suggestions, and offers of help to:\hfill\null +\begin{quote} +Sebastian Rahtz \ / \ 7 Stratfield Road \ / \ Oxford OX2 7BG \ / \ UK \\ +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX'ing!} + +\end{multicols} +\end{document} diff --git a/Master/texmf/doc/texlive/texlive-en/archive/live-2004.tex b/Master/texmf/doc/texlive/texlive-en/archive/live-2004.tex new file mode 100644 index 00000000000..10e50ee5832 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/live-2004.tex @@ -0,0 +1,3854 @@ +% $Id$ +% 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} +\begin{document} + +\title{% + {\huge \textit{The \protect\TL{} Guide}\\\strut} + {\LARGE \textsf{\TK{} 2004}} +} + +\author{Sebastian Rahtz \& Karl Berry, editors \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{November 2004} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +This document describes the main features of the \TL{} software +distribution\Dash a \TeX{} and \LaTeX{} distribution for Linux and other +Unix flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is +not especially useful for older Mac or \acro{MS-DOS} systems.) + +\TL{} includes precompiled binaries for \TeX{}, \LaTeXe{}, \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. It is part of the even larger \TK{} +(briefly described below in section~\ref{sec:struct-tl}, +\p.\pageref{sec:struct-tl}), a cooperative effort by the \TeX\ user +groups. + +For newer versions of the packages included here, please check +\acro{CTAN}: \url{http://www.ctan.org} + +For a brief summary of the major changes in this edition of \TL{}, +see section~\ref{sec:history} (\p.\pageref{sec:history}). + + +\subsection{Basic usage of \protect\TL{}} +\label{sec:basic} + +You can use \TL{} in three principal ways: + +\begin{enumerate} + +\item You can run \TL{} directly from the \DVD +(see section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). +This takes almost no disk space, as you might expect, and gives you +immediate access to everything in \TL{}. Of course performance +will be worse than running on local disk, but you may well find it +acceptable. + +\item You can install all or part of \TL{} to a local disk. This +is the most common use of \TL. You will need (approximately) a +minimum of 100 megabytes, 310 megabytes for a recommended system, and +730 megabytes for a full system. + +\item You can integrate a particular package or collection into your +existing \TeX{} system, either a \TL{} system you installed +earlier, or a different system. + +\end{enumerate} + +\noindent All of these are described in detail in the \acro{OS}-specific +installation sections following, but here is a quick start: + +\begin{itemize*} + +\item The main installation script for Unix and \MacOSX{} is +\texttt{install-tl.sh}; + +\item The single package installation script is \texttt{install-pkg.sh}. + +\item Unfortunately, this version of \TL{} has no Windows installer, due +to technical difficulties. See section~\ref{sec:win-install} below +for more information. + +\end{itemize*} + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both active and friendly, and virtually all +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 forego \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-doc/doc/english/FAQ-en}, 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 list of all \TeX{}-related items. See +\OnCD{texmf-doc/doc/english/catalogue}, or +\url{http://www.ctan.org/tex-archive/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/groups?group=comp.text.tex} 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 for advice on asking questions +in such a way that you're most likely to get an 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{}, you are better off writing to that program's maintainer or +mailing list. + +\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. Welcome to +\TeX{}! + + +% 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{Structure of \protect\TeX\protect\ Live} +\label{sec:struct-tl} + +This section describes the structure and contents of \TL{} and the +\TK{} of which it is a part. + +\subsection{Multiple distributions: \protect\pkgname{live}, + \protect\pkgname{inst}, + \protect\pkgname{protext}} +\label{sec:multiple-dist} + +Space limitations of \acro{CD-ROM} format have forced us to divide +\TK{} into several distributions, as follows. + +\begin{description} + +\item [live] A complete system on \acro{DVD}; it is too large +for \acro{CD}. It can be run live or installed to disk. It also +includes a snapshot of the \CTAN{} repository, entirely independent of +\TL{}, as well as assorted other packages in a +\texttt{texmf-extra} directory. + +Unfortunately, this release of \TL{} does not include a Windows +installer, due to technical difficulties. (We hope there will be an +installer again in a few months.) Therefore, when the \DVD{} is mounted +on Windows, the setup program offers to start the \pkgname{protext} +installation (see below), and also mentions \CTAN{} and \TL{}, which are +in subdirectories of the top level of the \DVD{}. + +\CTAN{} and \texttt{texmf-extra} do not follow the same copying +conditions as \TL{}, so be careful when redistributing or +modifying. + +\item [inst(allable)] A complete system on \CD; in order to make this fit, +the packages and programs are compressed. Therefore, it is not possible +to run \TeX\ directly from the installable \CD, you have to install it +to disk (hence its name). Furthermore, it can only be installed on Unix +(including Linux, \MacOSX, etc.)\ systems, not Windows, although a set +of experimental Windows binaries is included (for sharing across +platforms). Installation is described in subsequent sections. + +\item [protext] An enhancement of the \MIKTEX\ system, 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. It can be run live, or installed to disk. +The \ProTeXt\ home page is \url{http://tug.org/protext}. + +\ProTeXt\ is provided as both the top level of the \pkgname{live} \DVD\ +and on its own \CD\ (for those who cannot use the \DVD). + +\end{description} + +\noindent You can tell which type of distribution you're in by looking +for a \texttt{00\var{type}.TL} file at the top of the \TL{} directory. +This file also contains the \TL{} release date. + +Naturally, each user group chooses what to distribute, at its own +discretion. (\acro{TUG} is sending all three discs above to all of its +members.) + + +\subsection{Top level directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in +the \TL{} distribution. This has changed considerably in 2004: the +single \texttt{texmf} tree has been split into several smaller trees. + +Also, on the \pkgname{live} \DVD, the entire \TL{} hierarchy is in a +subdirectory \dirname{texlive2004}, not at the top level of the disc. + +\smallskip +\begingroup + \renewcommand{\arraystretch}{1.3} % open up interrow spacing +\begin{tabular}{>{\ttfamily}lp{.78\hsize}} +bin & The \TeX{} system programs, arranged by platform. \\ +MacOSX & Supporting software for \MacOSX (see + section~\ref{sec:mac-install}, \p.\pageref{sec:mac-install}). \\ +source & The source of all programs, including the main \Webc{} + \TeX{} and \MF{} distributions. These are stored in a + \cmdname{bzip2}-compressed tar archive. \\ +support & Assorted auxiliary packages and programs. These are + \emph{not} installed automatically. This includes + assorted editors and \TeX\ shells. \\ +texmf & Tree for the programs, along with their support files and + documentation. Does not include \TeX\ formats and packages. \\ +texmf-dist & The main tree of formats and packages. \\ +texmf-doc & Tree for self-contained pure documentation, with no other + installed files.\hfil\break Arranged by language. \\ +texmf-var & Tree for files automatically generated and stored. \\ +xemtex & The \cmdname{XEmacs} editor and other support programs for + Windows. + These programs generally come pre-installed on Unix systems, or are + at least easy to compile. \\ +\end{tabular} +\endgroup + +\smallskip + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +The (new) \dirname{texmf-doc} directory contains only documentation, but +it does not contain all the documentation. The documentation for the +programs (manuals, man pages, Info files) is in \dirname{texmf/doc}, +since the programs are in \dirname{texmf}. Similarly, the documentation +for \TeX\ packages and formats is in \dirname{texmf-dist/doc}. You can +use the \cmdname{texdoc} or \cmdname{texdoctk} programs to find any +documentation wherever it's located. The comprehensive links in the +top-level file \OnCD{doc.html} may also be helpful. + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +\TL{} contains several extended versions of \TeX: + +\begin{description} + +\item [\eTeX] adds a small but powerful 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] writes Acrobat \acro{PDF} format as well as \dvi{}. The +\LaTeX{} \pkgname{hyperref} package has an option `\optname{pdftex}' +which turns on all the program features. See +\OnCD{texmf/doc/pdftex/manual/pdftex-a.pdf} (A4 paper) or +\OnCD{texmf/doc/pdftex/manual/pdftex-l.pdf} (letter paper), and +\OnCD{texmf/doc/pdftex/examples/example.tex}. + +\item [pdfe\TeX] combines the pdf\TeX\ and \eTeX\ extensions. This is +the default program for all formats except plain \TeX. +See above for documentation. + +\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. See +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] 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 [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfm] convert \dvi{} to \acro{PDF}, an alternative approach +to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\item [texexec] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} converter. + +\end{cmddescription} + + +\section{Unix installation} +\label{sec:unix-install} + +As introduced in section~\ref{sec:basic} (\p.\pageref{sec:basic}), +\TL{} has three principal uses: + +\begin{enumerate} +\item Run directly from media. +\item Install to disk. +\item Integrate a particular package or collection into your existing +\TeX{} installation. +\end{enumerate} + +\noindent The following sections describes the Unix-specific procedures +for each of these. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} +\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) +format, \emph{with} Rock Ridge (and Joliet, for Windows) +extensions. Therefore, in order to take full advantage of the \TK{} +under Unix, your system needs to be able to use the Rock Ridge +extensions. Please consult the documentation for your \cmdname{mount} +command to see how to do this. If you have several different machines +on a local network, you may be able to mount the \CD{}s on one which +does support Rock Ridge, and use this with the others. + +\leavevmode\quad Linux, \acro{BSD}, Sun, and \acro{SGI} +systems should be able to use the \CD{}s without problems. We +would appreciate receiving detailed advice from users on other systems +who succeed, for future versions of this documentation. + +\leavevmode\quad +The discussion below assumes you have been able to mount +the \CD{}s with full Rock Ridge compatibility. +\end{warningbox} +\ifSingleColumn\end{figure}\fi + + +% +\subsection{Running \protect\TL{} directly from media (Unix)} + +\def\runlive{% text repeated in windows section +It is possible to use the \TeX{} system directly from the \pkgname{live} +\DVD{}, without installing the distribution to disk. (Thus the name +\TeX\ `Live', in fact.) It is \emph{not} possible to run \TeX{} +directly from the other \CD s (see section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}). +} + +\def\startinst{% repeated in other subsections +To start, you mount the \CD{} or \DVD{}, with Rock Ridge extensions +enabled. The exact command to do this varies from system to system; the +following works under Linux, except the name of the device +(\filename{/dev/cdrom}, here) may vary. (All our examples will use +\texttt{>} as the shell prompt; user input is +\Ucom{\texttt{underlined}}.) +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Change the current directory to the mount point: +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +\noindent Under \MacOSX, the directory is typically under +\dirname{/Volumes}, and the media will be mounted automatically. + +Run the installation script \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh}\\ +Welcome to TeX Live... +\end{alltt} + +\noindent After various greeting messages and a list of the main menu +options, the installation will ask you to enter a command. Do this by +typing the desired character and hitting return; don't type the angle +brackets. Either uppercase or lowercase is ok; we'll use lowercase in +our examples. +} + +\runlive +\startinst + +For running live, our first command will be \Ucom{d} and then the +subcommand \Ucom{1} to set directories. Even in this case, we must +choose a directory on the local disk to place files that the \TeX{} +system itself generates, such as fonts and formats, and also to provide +a place for updated configuration files, if need be. We'll use +\dirname{/usr/local/texmf-local} in this example. (If the default value +of \dirname{/usr/TeX} works for you, then you can skip this step.) +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/TeX +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/TeX]: \Ucom{/usr/local/texmf-local} +... +Enter command: \Ucom{r} +\end{alltt} + +\noindent Back at the main menu, our second and last command is +\Ucom{r}, to set up for running live off the media without installing +to disk: +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to TeX Live! +> +\end{alltt} + +\noindent And we are back at the system prompt, as shown. + +Next, it is necessary to alter two environment variables: +\envname{PATH}, to an architecture-dependent value (so that we can run +the programs), and \envname{VARTEXMF}, to the value specified above. See +table~\ref{tab:archlist} for a list of the architecture names for the +different systems. + + +\def\textruntexconfig{% +After the main installation has completed, and environment variables +have been set, the last step is to run \cmdname{texconfig} to customize +your installation for your needs. This is explained in +section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. +} +\textruntexconfig + +\begin{table*}[ht] +\caption[Supported system architectures.]{Supported system +architectures. In addition to the version-specific names listed here, +there are generic names without the version numbers. For instance, +\texttt{sparc-solaris} links to \texttt{sparc-solaris2.7}. The generic +names can be used to protect against the version numbers changing in the +future, if you wish.} +\label{tab:archlist} +\begin{tabular}{>{\ttfamily}ll} +alpha-linux & HP Alpha GNU/Linux \\ +%alphaev5-osf4.0d & HP Alphaev5 OSF \\ +%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 \\ +i386-freebsd4.10 & Intel x86 FreeBSD \\ +i386-linux & Intel x86 GNU/Linux \\ +%i386-openbsd3.3 & Intel x86 OpenBSD \\ +%i386-solaris2.8 & Intel x86 Solaris \\ +mips-irix6.5 & SGI IRIX \\ +powerpc-aix4.3.3.0 & IBM RS/6000 AIX \\ +powerpc-darwin6.8 & \MacOSX \\ +sparc-solaris2.7 & Sun Sparc Solaris \\ +sparc64-linux & Sun Sparc GNU/Linux \\ +win32 & Windows (32-bit) \\ +x86\_64-linux & Intel/AMD 64-bit GNU/Linux \\ +\hline +\end{tabular} +\end{table*} + +\label{text:path} +The syntax for setting the environment variables, and the initialization +file to put them in, depends on the shell you use. If you use a +Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et +al.), put the following into your \filename{$HOME/.profile} file: +\begin{alltt} +PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH +VARTEXMF=/usr/local/texmf-local/texmf-var; export VARTEXMF +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH +setenv VARTEXMF /usr/local/texmf-local/texmf-var +\end{alltt} + +\noindent Then log out, log back in, and test your installation +(see section~\ref{sec:test-install}, \p.\pageref{sec:test-install}). + +\def\textifindoubt{% +If in doubt, please ask any local system gurus to help you with +problems; for example, the way to mount the \TL{} media, which +directory or directories to use, and precise details of the changes to +your personal initialization files can and do vary from site to site. +} +\textifindoubt + + +% +\subsection{Installing \protect\TeX\protect\ Live to disk} +\label{sec:unix-install-disk} + +It is possible, indeed typical, to install the \TeX{} system from the +\TL{} to disk. This can be done either from any of the \TK{} discs. +(See section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}, +for an explanation of the different distributions.) + +\startinst + +Table~\ref{tab:main-menu-options} briefly lists the options in the main +menu. The order in which you select the options makes little +difference, except that \Ucom{i} must be last. It's reasonable to go +through them in the order presented here. + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Main menu options for the installation.} +\label{tab:main-menu-options} +\begin{tabular}{>{\ttfamily}ll} +p & The platform you are running on.\\ +b & The architectures for which to install binaries.\\ +s & The base installation scheme to use (minimal, recommended, + full, etc.)\\ +c & Override the base scheme for individual collections.\\ +l & Override for language collections.\\ +d & Directories in which to install.\\ +o & Other options.\\ +i & Perform the installation.\\ +\end{tabular} +\end{table} + +Here are further details on each option. + +\textbf{\optname{p} -- Current platform.} Since the installation script +automatically guesses which platform you're running on, it is generally +unnecessary to use this option. It's there in case you need to override +the automatic detection. + +\textbf{\optname{b} -- Binary architectures.} By default, only the +binaries for your current platform will be installed. From this menu, +you can select installation of binaries for other architectures as well +(or not install the current platforms). This can be useful if you are +sharing a \TeX\ tree across a network of heterogenous machines. For a +list of the supported architectures, see table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}. + +\textbf{\optname{s} -- Base installation scheme.} From this menu, you +can choose an overall common set of packages, called a ``scheme''. The +default \optname{recommended} scheme suffices for typical needs, but you +can also choose the \optname{basic} scheme if you are low on disk space, +or \optname{full} to get absolutely everything. There are also specific +sets for Omega and \acro{XML}. + +\textbf{\optname{c} -- Individual collections.} From this menu, you can +override the base scheme's set of collections to install. Collections +are one level lower than schemes\Dash collections consist of +one or more packages, where packages (the lowest level grouping in \TL) +contain the actual \TeX\ macro files, font families, and so on. +In this menu, selection letters are case-sensitive. + +\textbf{\optname{l} -- Language collections}. This menu has the same +basic purpose as \Ucom{c}, to override the base scheme. In this case, +the collections are specifically for different languages. Selection +letters are case-sensitive here. Here is a list of the language +collections in \TL: + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +\begin{tabbing} +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \kill +(some) African scripts \> +Arabic \> +Armenian \> +Chinese\,Japanese\,Korean \\ +Croatian \> +Cyrillic \> +Czech/Slovak \> +Danish \\ +Dutch \> +Finnish \> +French \> +German \\ +Greek \> +Hungarian \> +Indic \> +Italian \\ +Latin \> +Manju \> +Mongolian \> +Norwegian \\ +Polish \> +Portuguese \> +Spanish \> +Swedish \\ +Tibetan \> +\acro{UK} English \> +Vietnamese \\ +\end{tabbing} + +\noindent Language collections typically include fonts, macros, +hyphenation patterns, and other support files. (For instance, +\pkgname{frenchle.sty} is installed if you select the \optname{French} +collection.) In addition, installing a language collection will alter +the \filename{language.dat} configuration file controlling which +hyphenation patterns are loaded. + +\textbf{\optname{d} -- Installation directories}. Three directories can +be changed here: +\label{text:instdir} + +\begin{ttdescription} +\item [TEXDIR] The top-level directory under which +everything else will be installed. The default value is +\dirname{/usr/TeX}, and is often changed. For example, changing to a +value such as \dirname{/usr/local/texlive2003} would make it possible to +keep different releases of \TL{} separate. (You may then wish to make +\dirname{/usr/local/texlive} a symbolic link, after testing the new +release.) + +Under \MacOSX, the usual frontends look for \TeX{} in +\dirname{/usr/local/teTeX}, so you may wish to install \TL{} there. + +\item [TEXMFLOCAL] This tree is where the \TeX{} system (not as part of +installation, but rather over time) puts non-version-specific files, +primarily fonts. The default value is \dirname{TEXDIR/texmf-local}. +However, it's also the recommended location to put any local packages or +configuration settings. Therefore, it's desirable to change it to a +location independent of the current \TL{} release; for example, +\dirname{/usr/local/texmf-local}. + +\item [VARTEXMF] This tree is where the system puts files that +\emph{are} version-specific, primarily format files and the +configuration files which are modified by \cmdname{texconfig} (see +section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}). The default +value is \dirname{TEXDIR/texmf-var}, and there's generally no reason to +change it. + +\end{ttdescription} + +\textbf{\optname{o} -- Other options.} From this menu, you can select +the following general options: + +\begin{ttdescription} +\item [a] Specify an alternate directory for generated fonts. +The default is to use the \envname{VARTEXMF} tree, as explained above. +Setting this is useful if you plan to mount the main tree read-only, and +therefore you need another location (perhaps host-specific) for +dynamically created fonts. + +\item [l] Create symbolic links for the binaries, man pages, +and\slash or \acro{GNU} Info files in other locations. For example, you may +wish to make the man pages available under \dirname{/usr/local/man} and +the Info files available under \dirname{/usr/local/info}. (Of course +you need appropriate privileges to write in the specified directories.) + +It is not advisable to overwrite a \TeX\ system that came with your +system with this option. It's intended more for having the links in +standard directories known to users, such as \dirname{/usr/local/bin}, +which don't already contain any \TeX\ files. + +\item [d] Skip installation of the font/macro documentation tree. +This is useful if you need to save space, or if you've previously +installed the documentation elsewhere. + +\item [s] Skip installation of the main font/macro source +tree. This is useful if you are arranging to share that tree between +machines and\slash or architectures in some other way, such as \acro{NFS}. + +\end{ttdescription} + +\textbf{i -- Perform installation.} When you're satisfied with your +configuration options, enter \Ucom{i} to actually do the installation +from the media to your chosen locations. + +% text is similar to above, but no VARTEXMF, so we have to write out. +After the installation completes, your next step is to include the +architecture-specific subdirectory of \dirname{TEXDIR/bin} in your +\envname{PATH}, so the newly-installed programs can be found. The +architecture names are listed in table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}, or you can simply list the directory +\dirname{TEXDIR/bin}. + +The syntax for doing this, and the initialization file to use, depends +on your shell. If you use a Bourne-compatible shell (\cmdname{sh}, +\cmdname{bash}, \cmdname{ksh}, et al.), put the following into your +\filename{$HOME/.profile} file: + +\begin{alltt} +PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH +\end{alltt} + +\textruntexconfig + +Here is a brief annotated example which selects a full installation, +with binaries for the current system only, with directory changes as +recommended above. The prompts and \acro{RETURN}s are omitted for +brevity. + +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{s} \Ucom{b} \Ucom{r} # scheme, full, return to main +\Ucom{d} # change directories +\Ucom{1} \Ucom{/usr/local/texlive2003} # top-level dir +\Ucom{2} \Ucom{/usr/local/texmf-local} # TEXMFLOCAL outside TEXDIR +\Ucom{r} # return to main +\Ucom{i} # perform installation +> \Ucom{texconfig} ... +# New PATH, with Linux as the example: +> \Ucom{PATH=/usr/local/texlive2003/bin/i386-linux:$PATH; export PATH} +\end{alltt} + +\textifindoubt + + +% +\subsection{Installing individual packages to disk} + +You can add individual packages or collections from the current +distribution to an existing non-\TL{} setup, or an earlier +\TL{} installation. + +\startinst + +Run the installation script \filename{install-pkg.sh} (not +\filename{install-tl.sh}, which is intended for complete installations +only): +\begin{alltt} +> \Ucom{sh install-pkg.sh \var{options}} +\end{alltt} + +The first set of options controls what gets read: + +\begin{ttdescription} +\item [-{}-package=\var{pkgname}] The individual package to work on. + +\item [-{}-collection=\var{colname}] The individual collection to work on. + +\item [-{}-nodoc] Exclude documentation files from the operation. + +\item [-{}-nosrc] Exclude source files from the operation. + +\item [-{}-cddir=\var{dir}] Source directory to read from; defaults +to the current directory. If you followed the instructions above, that +will be the distribution directory, and won't need to be changed. + +\item [-{}-listdir=\var{dir}] The so-called `lists' directory within +\var{cddir} from which to read the package information. The only +reason to change the default is if you're making changes to \TL{} +yourself. + +\end{ttdescription} + +What actually happens is controlled by the following options. If +neither of these are specified, the default action is to install the +selected files. The main destination tree is found by expanding +\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by +setting either the environment variable \envname{TEXMFMAIN} or +\envname{TEXMF}. + +\begin{ttdescription} +\item [-{}-listonly] List the files that would be installed, but don't +actually install anything. + +\item [-{}-archive=\var{tarfile}] Instead of installing the files into +the \TeX{} system, make a \cmdname{tar} archive. + +\end{ttdescription} + +Additional options: + +\begin{ttdescription} + +\item [-{}-config] After installation, run \code{texconfig init}. + +\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to +rebuild the filename database. + +\item [-{}-verbose] Give more information as the script runs. + +\end{ttdescription} + +Here are some usage examples: + +\begin{enumerate} + +\item To see the files in the package \pkgname{fancyhdr} without +installing it: + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} +> \Ucom{--listonly} +\fi{} +texmf/doc/latex/fancyhdr/README +texmf/doc/latex/fancyhdr/fancyhdr.dvi +texmf/doc/latex/fancyhdr/fancyhdr.pdf +... +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{alg} without source files or +documentation: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} + +\item Install all the packages in the collection of additional +plain \TeX\ macros: +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item Write all files in the \pkgname{pstricks} package to a +\cmdname{tar} file in \path|/tmp|: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} + +\end{enumerate} + +\textifindoubt + + +% +\section{Post-installation} +\label{sec:postinstall} + +After the main installation is done, for any operating system, the +remaining steps are to configure the system for your local needs, and +perform some basic tests. + +Another sort of post-installation is to acquire packages, fonts, or +programs that were not included in \TL{}. The basic idea is to +install such additions in the \envname{TEXMFLOCAL} tree (if you +installed to disk), or \envname{VARTEXMF} (if you are running live). +See the ``Installation directories'' option on \p.\pageref{text:instdir}. + +Unfortunately, the details can and do vary widely, and so we do not attempt to +address them here. Here are some external links to descriptions: +\begin{itemize*} +\item +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} +\item +\url{http://www.ctan.org/installationadvice} +\item +\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} +\item +\url{http://www.ctan.org/tex-archive/info/Type1fonts} for font creation +and installation information in particular. +\end{itemize*} + + +\subsection{The \protect\cmdname{texconfig} program} +\label{sec:texconfig} + +At any time after installation, you can and should use the program +\cmdname{texconfig} to configure the system to fit your local needs. It +is installed in the architecture-specific subdirectory +\texttt{TEXDIR/bin/\var{arch}} along with everything else. + +If you run it without arguments, it will enter full-screen mode and +allow you to view and change options interactively. + +You can also run it with various command-line options. Here are some of +the most common (a \TL{} installation is configured for the A4 paper +size by default): + +\begin{ttdescription} + +\item [texconfig paper letter] Set default paper size for +various programs and drivers (\cmdname{pdftex}, \cmdname{dvips}, +\cmdname{dvipdfm}, \cmdname{xdvi}) to be \acro{US} letter. The other +allowable size is \optname{a4}, which is the default. + +\item [texconfig localsetup] Verify that paths are set ok. + +\item [texconfig rehash] Update all the \TeX{} system filename databases. + +\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. +(See also the main \TeX{} \acro{FAQ} in \OnCD{texmf-doc/doc/english/FAQ-en}.) + +\item [texconfig help] Output help information for \cmdname{texconfig}. + +\end{ttdescription} + +Of course, \cmdname{texconfig} can only support changing a few of the +many options and configuration parameters in a \TeX{} system. The main +configuration file for the base \Webc{} programs is named +\filename{texmf.cnf}. You can find its location by running +\samp{kpsewhich texmf.cnf}; it contains many comments explaining the +default settings and useful alternatives. + + +\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; 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.141592 (Web2C 7.5.3) +kpathsea version 3.5.3 +Copyright (C) 1997-2004 D.E. Knuth. +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, most likely you don't have the correct +\dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{text:path}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.141592... +... +Output written on sample2e.dvi (3 pages, 7496 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, perhaps +you have interference from old environment variables or configuration +files. For a deep analysis, you can always ask \TeX{} to report on +exactly what it is searching for, and finding; see ``Debugging actions'' +on page~\pageref{Debugging}. + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Under Windows, the analogous command is \cmdname{windvi}.) 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 the system.) +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} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +included in \TL{}, so you must install them separately. See +\url{http://wwwthep.physik.uni-mainz.de/~plass/gv} and +\url{http://www.foolabs.com/xpdf}, respectively. + +\item Other standard test files you may find useful: + +\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} +You can process these in the same way as we did with +\filename{sample2e.tex}. + +\end{enumerate} + +If you are new to \TeX{}, or otherwise need help with actually +constructing \TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html}. We especially recommend the +\textsl{Formatting Information} manual by Peter Flynn, available at +\url{http://www.ctan.org/tex-archive/documentation/beginlatex}. + + +\section{\MacOSX{} installation} +\label{sec:mac-install} + +\TL{} supports \MacOSX, but no prior Macintosh versions. (If you +are running an older Mac version, you can view the files by installing +the Joliet system extension available from +\url{http://www.tempel.org/joliet}; however, the \TL{} binaries +will not run.) + +Installation of \TeX{} under \MacOSX{} can be done in two ways: + +\begin{enumerate} +\item With the \filename{install*} scripts, as with Unix. +\item With the \cmdname{i-Installer} included in +\filename{MacOSX/II2.dmg}. +\end{enumerate} + +\noindent Each of these is described in a following section. + +In addition, \TeX{} under \MacOSX\ typically uses a ``frontend''. This +is also described below. + + +\subsection{\protect\cmdname{i-Installer}: Internet installation} +\label{sec:i-Installer} + +The \cmdname{i-Installer} is included in the \TL{} distribution as +an alternative to normal installation. It does not use the contents of +the \TL{} distribution at all; instead, the system (approximately +70 megabytes) is downloaded over the Internet. + +One advantage of \cmdname{i-Installer} is that it makes updates +relatively painless. If you are interested, please see the +\cmdname{i-Installer} \TeX{} home page at \url{http://www.rna.nl/tex.html}. + +To use it, mount \filename{./MacOSX/II2.dmg}. Read the documentation, +launch it, and install at least \texttt{TeX Foundation} and \texttt{TeX +Programs}. The first will finish without configuration, as soon as the +second is installed you will be presented with a graphical interface to +setting up your \TeX{} system. + +The \cmdname{i-Installer} distribution uses the \teTeX{} \dirname{texmf} +tree with some additions. Due to differences between \TL{} and +\teTeX{} you cannot update a \TL{} installation with an +\cmdname{i-Installer} \texttt{TeX Programs} i-Package. + + +\subsection{\protect\cmdname{install*.sh}: \protect\TL{} installation} + +In order to run the installation scripts under \MacOSX, you need to have +the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 +or later, you have \cmdname{bash}, and can proceed. If you're running +an earlier \MacOSX{} version, however, the default shell is +\cmdname{zsh}, which won't work; you'll need to get \cmdname{bash} from +the Internet, or more likely upgrade your system. + +Once you have \cmdname{bash}, the Unix installation documentation in the +previous section can be followed. See section~\ref{sec:unix-install} on +\p.\pageref{sec:unix-install}; \MacOSX-specific notes are included there +where needed. + + +\subsection{\MacOSX{} frontends} + +Using \TeX{} on a Macintosh typically goes through a front end program, +comprising an execution shell, editor, previewer, and other facilities, +with a graphical interface. Here are the principal frontends: + +\begin{cmddescription} +\item [TeXShop] Included in \TL{} as \filename{./MacOSX/texshop.dmg}. + \\See \url{http://www.uoregon.edu/~koch/texshop/texshop.html}. + +\item [ITeXMac] Included in \TL{} as \filename{./MacOSX/iTM-*.dmg}. + \\See \url{http://itexmac.sourceforge.net}. + +\item [Mac-emacs] A port of Emacs to \MacOSX{}, integrating \pkgname{AucTeX}. + \\See \url{http://www.cs.man.ac.uk/~franconi/mac-emacs}. + +\end{cmddescription} + +The frontends use \dirname{/usr/local/teTeX} as the default location; +therefore, you must either install \TL{} there, or change the +configuration of the frontend. + + +\section{Windows installation} +\label{sec:win-install} + +Unfortunately, this release of \TL{} does not include a Windows +installer, due to technical difficulties. We hope that an installer +will be available again in a few months. (It is being completely +rewritten to use standard Microsoft libraries, instead of the homegrown +\filename{TeXSetup.exe}.) + +A set of experimental Windows binaries is included, nevertheless. You +can install them with the Unix \filename{install-tl.sh} script: select +the \optname{win32} system from the \optname{S} option of the top-level +menu. The \pkgname{XEmacs} package is not included, however, due to +space. + +(Meanwhile, if you are an experienced Windows programmer and would like +to help with the project, email us!) + + +\begin{comment} +\TL{} can be installed on systems running Windows 9x, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) +and \acro{MS-DOS} are not supported. + +It is necessary to have your Windows set up so that it uses the +Microsoft Joliet extensions for reading \CD{}s; simply look at the \CD{} +in Explorer and see whether it shows long, mixed-case, file names. If it +does not, you must install the Joliet extensions. + +The Windows \TeX{} system included in \TL{} is no more and no less +than the \fpTeX{} distribution. It includes a \texttt{dvi} previewer, +\textsf{Windvi}, which is similar in usage to the established Unix +\textsf{xdvi}. The documentation can be found in +\OnCD{texmf/doc/html/windvi/windvi.html}. + +\subsection{The \texttt{TeXLive.exe} program} + +\begin{figure*} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.7\textwidth]{pictures/Welcome-to-TeXLive} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 551 534]{pictures/Welcome-to-TeXLive.jpg} + \else + \includegraphics[width=.7\textwidth]{pictures/Welcome-to-TeXLive} + \fi + \fi + \end{center} + \caption{``Welcome to \TL'' window}\label{graph:welcome} +\end{figure*} + +If your computer is configured to let the \CD{} autostart, then a dialog +box with a menu bar will popup on the screen, and you will have several +choices from there: + +\begin{itemize*} +\item Install \TeX{} on your hard disk +\item Do maintenance on your \TeX{} system. +\item Remove the \TeX{} system. +\item Use \TeX{} off the \TL{} \CD{} or \DVD{}. +\item Browse documentation: \TL{} documentation, TUG web + pages, \fpTeX web pages. +\item Run the \cmdname{TeXdocTK} application to find specific documentation. +\end{itemize*} + +If your \CD{} does not autostart, you can explicitly run the program +by double clicking on \path|bin/win32/TeXLive.exe| on the \CD{} from +the explorer window. + +\subsection{Running \protect\TL{} directly from media (Windows)} + +\runlive + +To run live under Windows, from the menu, chose \verb|Explore CD-Rom|, then +\verb|Run TeX off CD-Rom|. This will launch the \cmdname{XEmacs} editor. + +XEmacs startup file will set the environment variables needed. XEmacs will also +setup a temporary \acro{TDS} compliant texmf tree in the temporary area of your +computer. It is needed to store files that may be built on the fly, such as +\path|pk| bitmap fonts, or format files. Configuration files are copied from +the \CD{} to this texmf tree, so that you can edit them if needed. The +\path|ls-R| database is computed for this texmf tree. The AUC-\TeX{} mode will +be entered Whenever you will visit or create a \TeX{} file, providing all the +bells and whistles for \TeX{} support XEmacs is capable of. + +If you run 'M-x shell' within XEmacs, then you will have access to all the TeXLive +tools from the command line provided by XEmacs. + +\smallskip {\small\noindent \textbf{[For advanced users:]} You can also + use the small batch file \path|mkloctex.bat| to be called in a + directory \path|bin\win32| of the \CD. From the Start menu select + `Run', then browse the \acro{CD} drive and select + \path|mkloctex.bat|. Before starting it, you should add two parameters + separated by a space: the letter of your \acro{CD} drive and the + letter of the drive where you want to install the \TeX\ directory. + The whole line should read, e.g., \verb+d:\bin\win32\mkloctex.bat d c+. + When installation is complete, please read carefully the information + on screen. If you are running Windows 9x/\acro{ME}, then you will have to + restart Windows.} + +\subsection{Support packages for Windows} +\label{sec:win-xemtex} + +To be complete, a \TL installation needs support packages that are not +commonly found on a Windows machine. +Many scripts are written using the Perl language. Some important tools require +the Ghostscript \PS{} interpreter to render or to convert files. A graphic +file toolbox is also needed in some cases. Last but not least, a \TeX-oriented +editor makes it easy to type in your \TeX{} files. + +All these tools are quite easy to find for Windows, but in order to try to make +your life even easier, we have put such a set of tools on \TL: +\begin{itemize*} +\item \cmdname{Ghostscript} 7.07 +\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TL{} +Perl scripts +\item a subset of \cmdname{ImageMagick} 5.5.6 +\item the \cmdname{ISpell} checker +\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support +\TeX{} typesetting. +\end{itemize*} + +These packages should be installed only all at once. The bundle is +known as the \XEmTeX{} bundle. + +If you didn't install \XEmTeX{}, \cmdname{Perl} and \cmdname{Ghostscript} are +installed anyway if they are not detected on your machine. This is because they are +required by many important tools. The \envname{PERL5LIB} and \verb|GS_LIB| +environment variables will be set too. + +When you are under +\cmdname{XEmacs}, the tools provided shadow any other version you might +have installed previously. The point here is that \path|TeXSetup.exe| +will not install anything outside of the \TL location, neither will +it run foreign installers, nor will it try to autodetect installed +products using unreliable rules of thumb. The \XEmTeX{} bundle is +standalone and is meant to evolve in the future. The reference site is +\url{http://www.fptex.org/xemtex/}. + +If you don't want to install this bundle, then you are on your own to +install the required tools to complete your \TL{} system. Here is a +list of places to get those tools: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (but you might need some + supplementary packages from CPAN: \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com} +\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to + process or convert your graphic files. NetPBM home page is + \url{http://netpbm.sourceforge.net/} +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection: + \begin{itemize*} + \item \cmdname{GNU Emacs} is available natively under Windows, the + reference url is + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} + \item \cmdname{XEmacs} is available natively under Windows, the + reference url is \url{http://www.xemacs.org/} + \item \cmdname{WinShell} is available on \TL in the \path|support| + directory, the reference url is \url{http://www.winshell.de} + \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} + \item TeXnicCenter is available from\\ + \url{http://www.toolscenter.org} + \item \cmdname{Vim} is available on \TL{} in the + \path|support\vim| directory and the + reference site is \url{http://www.vim.org} + \item \cmdname{SciTE} is available from \url{http://www.scintilla.org/SciTE.html} + \end{itemize*} +\end{description} + +You might want to install other tools that are not free\footnote{Not +free, that is, in the sense of freedom to modify and redistribute, +following free software guidelines. This does not mean you can't acquire +them for no money.} and therefore not included on \TL{}, such as +\cmdname{GSView}, the \cmdname{Ghostscript} companion to more +conveniently view PS/PDF files. \cmdname{GSView} is available from +\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. + +\subsection{Installing \protect\TeX\protect\ Live to disk} + +\textbf{Warning: Win9x users must ensure they have enough environment + space before undertaking installation. The \cmdname{TeXSetup.exe} + program won't change the environment size for them. A few environment + variables will be created and it is possible you run out of + environment space. Add \texttt{SHELL=COMMAND.COM /E:4096 /P} in the + config.sys file in order to increase your environment size.} + +Installation is started by letting the media autostart. The program run +is \path|TeXSetup.exe| if you are using the inst disk. If you are using +the live or the demo disk, you will have to select the item +\path|TeXLive Software| from the menu, then the subitem \path|Install on +Hard Disk|. This will invoke \path|TeXSetup.exe|. You can also find it +in the \path|bin/win32| directory and run it, if the autostart fails for +any reason. \path|TeXSetup.exe| is a Windows wizard and it will display +several pages while running. + +\begin{description} +\item[Welcome Page] + You can choose a \emph{quick} installation from + here. In this case, the installation will run without any human + assistance from beginning to end, with all the default settings + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). If you have enough privileges (administrator or power user + rights) under a Windows version where this is applicable, then you can + decide to install the \TL{} for all users or for yourself only by + checking the appropriate box. + For installing the whole \XEmTeX{} bundle (XEmacs, Ghost\-script, + Perl, ImageMagick and Ispell) you can check \emph{Install XEmTeX + Support} box. + \begin{figure*}[!htb] + The \cmdname{TeXSetup} Wizard\hfill + Source directories for the \TL{} files + + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{pictures/setup-wizard.jpg}\hfill% + \includegraphics[width=.48\textwidth]{pictures/source-for-texlive.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{pictures/setup-wizard.jpg} +\includegraphics[bb=0 0 506 403]{pictures/source-for-texlive.jpg} + \else + \includegraphics[width=.48\textwidth]{pictures/setup-wizard}% + \hfill% + \includegraphics[width=.48\textwidth]{pictures/source-for-texlive} + \fi + \fi + \caption{The \TL{} setup wizard}\label{graph:setup-src} + \end{center} +\end{figure*} +\item[Source Page] + This page is a bit complex. It will allow you to select two source + directories for your \TL{} system + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). You will need a \emph{local + source directory} and possibly a \emph{remote source directory}. + +Why do we need both these directories? The files consisting of the +\TL{} system are on the \CD{}, of course, but some other useful +packages are not, either because of space lacking or because their +license was not compatible with \TL{}. You need to enable Internet +downloading if you want to install these packages that are marked with a +specific ``remote'' icon. + + However, don't panic: the default parameters of the setup will allow + you to install a full system using the \CD{} only. Simply, you won't + have \file{WinEdt} (for example), but you will be able to install it + later. + + So you can take your files from: + \begin{itemize} + \item the \CD{} or any similar flat tree of files, available through + some standard directory (this means the \CD{} can be mounted on + some remote machine and be made available through network + sharing), + \item a set of \file{.zip} files (this is the case when you are + installing from the demo \CD{} or the \fpTeX{} distribution), + \item the Internet; in this case, the program takes care of + downloading the \file{.zip} files it needs for you. + \end{itemize} + This option is available only if you enable Internet file + downloading in the right part of the page. You also need to + configure this Internet access by selecting to connect either using + Internet Explorer~5 \file{wininet.dll}, or using a direct connection (\texttt{ftp}, + \texttt{http}). +% or using a proxy server. +% Last, you can be assisted in defining the \emph{local source +% directory} and \emph{remote source directory} which will be used +% to copy the files onto your hard disk. The \texttt{browse} buttons +% allow to select a directory for the former, and an url among a list +% of mirrors for the latter. +\item[Root Page] + On this page, you will tell where you want the files to be + installed (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Only the root directory really matters, the other ones + are set according to the root one. You may want to make + \path|$TEXMFEXTRA| point to some TDS compliant directory with other + \TeX{} files or assign a different value to + \path|$HOMETEXMF|, which is set by default to whatever Windows think + is your `HOME' location. +\begin{figure*}[!htb] + Root and directories\hfill% + Scheme selection + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.46\textwidth]{pictures/root-of-installation.jpg}\hfill% + \includegraphics[width=.46\textwidth]{pictures/scheme-selection.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{pictures/root-of-installation.jpg} +\includegraphics[bb=0 0 506 403]{pictures/scheme-selection.jpg} + \else + \includegraphics[width=.46\textwidth]{pictures/root-of-installation}% + \hfill% + \includegraphics[width=.46\textwidth]{pictures/scheme-selection} + \fi + \fi + \caption{\TL-Setup: Root and directories / Schemes}\label{graph:root-schm} + \end{center} +\end{figure*} +\item[Get TPM Page] + This page does not require any manual intervention. The \file{.tpm} + files which describe collections and packages are retrieved + (possibly from the Internet), unzipped if needed and parsed. +\item[Schemes Page] + On this page, you will select the global scheme of your + installation (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). A scheme is a large set of files targeted at some kind + of usage. There are 3 generic schemes for basic, recommended and + full installation. The other ones are devoted to LUGs (what GUST or + GUTenberg propose for their members) or applications (XML and + \TeX{}). + When a scheme is selected, it is still possible to refine the + selection by checking the appropriate box. If doing so, you will be + presented the packages page to change your selection, else you will + jump to the review page. +\item[Packages Page] + Collections and packages are presented in a tree form + (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). The links + in the tree are dependency links. Collections \emph{depend on} + packages and maybe other collections, and it is the same for each + package. You can select any package or collection individually, but + your request will be granted only if the object is not requested by + another one which is selected. For example, you can't deselect + \texttt{tex-basic} without deselecting all the collections that + request it. + + The \texttt{tex-xemtex} collection displayed on the picture is Win32 specific. It + holds a number of bonus packages (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ) which can be installed + automatically and individually: Ghostscript (the \PS{} + interpreter), XEmacs editor preconfigured for \TeX{}, tools like Perl, + ImageMagick, Ispell. \emph{None of these packages are selected by + default}. + + On this page, you also have the information about disk space + needed, for each object, and for the set of those who are selected, + and also the disk space available on the partition selected for the + installation. Last, you can choose to install or not the + documentation files and source files associated with each package. +\item[Review Page] + You will find there a summary of your choices + (Figure~\ref{graph:review}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). It is still possible to + go back to change them. +\begin{figure*}[!htb] + Packages Page\hfill% + Win32 Support + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{pictures/package-selection}\hfill% + \includegraphics[width=.48\textwidth]{pictures/win32-support} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{pictures/package-selection.jpg}\hfill% +\includegraphics[bb=0 0 506 403]{pictures/win32-support.jpg} + \else + \includegraphics[width=.48\textwidth]{pictures/package-selection}% + \hfill% + \includegraphics[width=.48\textwidth]{pictures/win32-support} + \fi + \fi + \end{center} + \caption{Packages Page / Win32 goodies} + \label{graph:win32-support} +\end{figure*} +\item[Files Copy Page] + The selected files are copied on your hard disk (Figure~\ref{graph:file-copy}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). All the files not + yet available on your local disk are first downloaded from the + remote source directory on the Internet. Then every package is + unpacked (if \path|.zip| files), or copied from the \CD{}. +\item[Configuration Page] Several packages need some configuration + step to make them usable (Figure~\ref{graph:configuration}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Also the \TL{} system needs some post-processing step + (format files generation, ls-R databases generation, environment + variables, etc.). All these operations are done there, some of them + can be lengthy. +\begin{figure*}[!htb] + \textbf{Review Page}\hfill% + \textbf{File Copy Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{pictures/file-copy} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{pictures/review-settings.jpg}\hfill% + \includegraphics[bb=0 0 506 403]{pictures/file-copy.jpg} + \else + \includegraphics[width=.48\textwidth]{pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{pictures/file-copy}% + \fi + \fi + \end{center} + \caption{Review Page / File Copy Page} + \label{graph:review}\label{graph:file-copy} +\end{figure*} +\item[Final Page] The installation being over, you may want to display + the Windows specific documentation (HTML format) and / or the log + file of the setup process (Figure~\ref{graph:final} + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). If it is needed (Win9x/WinME), you will + be asked to reboot your computer. +\end{description} + +\begin{figure*}[!htb] + \textbf{Configuration Page}\hfill% + \textbf{Final Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{pictures/congratulations} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{pictures/configuration.jpg}\hfill% + \includegraphics[bb=0 0 506 403]{pictures/congratulations.jpg} + \else + \includegraphics[width=.48\textwidth]{pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{pictures/congratulations}% + \fi + \fi + \end{center} + \caption{Configuration Page / Final page} +\label{graph:configuration}\label{graph:final} +\end{figure*} + +Please be aware that the choice of cluster size on DOS disk +partitions can radically affect the size of your \TeX\ +installation. The support tree has hundreds of small files, and it is +not unusual for a complete installation to take up to four times the +amount of space used on the \CD. + +\end{comment} + + +\section{Windows maintenance and post-installation} + +Although this version of \TL{} cannot be installed on Windows, enough of +this section is relevant to existing installations or cross-mounted +installations that it seemed worth leaving in. + +It will be thoroughly updated when a complete \TL{} Windows distribution +is released. For now, please ignore references to +\filename{TeXSetup.exe}, etc. + + +\subsection{What's different in Windows?} + +The Windows version of \Webc{} has some specific features that should be +pointed out. + +\begin{description} +\item[\KPS{}] The hash-tables that \KPS{} builds are quite large for + the \TL{}. In order to cut down the starting time of any + \KPS{}-enabled program, these hash-tables have been put in shared + memory. This way, when you chain the execution of several such + programs, like \path|tex| calling \path|mpost| calling \path|tex|, + the overhead when starting each of the subprograms is + reduced. This change is hidden to the user, except if you set the + debug flag of kpathsea to the \path|-1| value: you will then trace + access to the shared memory, which is not what you want (it is + accessed very often!). What is useful in a log trace of the shared + memory access is still to be defined, so the situation might evolve + in the future. +\item[\cmdname{kpsecheck}] This command provides some options that did + not fit well into \cmdname{kpsewhich}. It will allow you to list all + the files that occur multiple times across your texmf trees. This + could be handy, but most of the time you will also get unwanted + output (like dozens of \path|README| files)\footnote{It is noticeable + that all these files result in clashes inside the \KPS{}-hashing + mechanism; fortunately, \KPS{} never looks for these files.}. For + this reason, you can combine the \path|-multiple-occurrences| with 2 + other options for including or excluding any filename that match + some pattern (you can request for several patterns). + + The \cmdname{kpsecheck} command will also report the status of shared + memory: in use or not used. That might be useful to know because if + the status reported is \samp{in use}, that means one or several + processes are working, and the effect of any \cmdname{mktexlsr} + command will be delayed until the next time where no \KPS{} linked + process will be running. + + Last, this same command will report about the location it thinks + Ghostscript can be found. Under Win32, for many programs, it is + easier to use the Ghostscript dll, and find it by using the + Ghostscript registry key than to change the \path|PATH|, which has a + limited length anyway. +\item[\Webc{}] The engines have a few more options than in Unix + \Webc{}, and one option with a different behavior: + \begin{itemize} + \item \path|-halt-on-error| stop the compilation at the first error. + \item \path|-job-time| set the job time to the same timestamp as the + file given in argument. +\item \path|-oem| use the DOS codepage for console output. + \item \path|-output-directory| allow to write all the output files in the + specified directory. + \item \path|-time-statistics| print statistics about the job run + time. It is to be noted that Win9x not being a true multitasking + operating system, it has no reliable timer for short periods, so + the value printed is an approximation. Under NT/2K/XP, the result + is quite accurate with user time and system time values allocated + for this run. For Unix + users: the \path|time| command is not usually available to Windows + users. + \end{itemize} +\end{description} + +\subsection{Adding packages to your installation} + +You will find an option in the \guiseq{TeXLive} menu (or go to +\guiseq{Start\arw Programs \arw TeXLive \arw Add TeX package} menu) to +run \file{TeXSetup.exe} in maintenance mode. The steps are almost the +same as in the initial installation. + +We'll discuss differences below, but first, whatever changes you make, +\textbf{do not forget to rebuild the ls-R database files}. Otherwise, +your new files will not be found. You can do this either via the +\acro{GUI} (\guiseq{Start \arw Programs \arw TeXLive \arw Maintenance +\arw Rebuild ls-R}), or manually running the \file{mktexlsr} command. + +The main difference is in the packages selection page. In maintenance +mode, the list of installed packages is compared to the list of packages +available from your source directories. Packages that are not installed +will be displayed in green, out of date packages will be displayed in +red and up-to-date, installed packages are displayed in black. + +This way, you can choose to add or upgrade components, either from +\TL{} or from the Internet, where you are likely to find some more +recent version of your packages. + +It is up to you to select which packages you want to install. The rest +of the process is similar to the first installation. + +If you want to add files that are not provided by the \TL{} (or +\fpTeX{}) distribution, it is recommended to put them in the +\path|$TEXMFLOCAL| directory. This way, you will be safe against +upgrades of the \TL{} software. + +The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, +for example, you want to add the support file for the Maple symbolic +computation program, you will have to put the style files in:\\ +\path|c:\Program Files\TeXLive\texmf-local\tex\latex\maple\|\\ and the +documentation files in:\\ \path|c:\Program +Files\TeXLive\texmf-local\doc\latex\maple\| + +\subsection{Uninstalling \protect\TL{}} + +The uninstall procedure is available either from the \file{TeXLive.exe} +program, from the \path|TeXLive| menu or from the control panel +(\guiseq{Start \arw Control Panel, Add/Remove Programs}). This procedure +will cleanup your hard disk of most of the \TL{} files. However, +\TeX{} is a system that is creating files and there is no mechanism to +keep track of all of them. Moreover, Win32 support packages have their +own uninstall procedure, which you will have to run separately (provided +you want to get rid of them). Last, the files you may have stored in +\path|$TEXMFLOCAL| won't be removed. So, even if the vast majority of +files are automatically removed by the uninstall procedure, you will +have to do some manual cleanup to actually remove all of them. + +\subsection{Running \texttt{TeXSetup.exe} from the command line} + +The \path|TeXSetup.exe| program has a number of other useful +options. You can get the list by running: +\begin{verbatim} +c:\>TeXSetup --help +\end{verbatim} + +Here is the description: +\begin{description} +\item[\path|--automatic-reboot|] reboot without waiting user + confirmation once installation is over; +\item[\path|--dry-run|] do nothing, just log everything that will be + done without this option; +\item[\path|--quick|] use the recommended installation and default + directories, ask nothing up to rebooting; +\item[\path|--with-xemtex|] selects the \XEmTeX{} bundle; +\item[\path|--net-method (=ie5/direct)|] enable to download components with + restricted licenses from the Internet (either using direct + connection of Internet Explorer 5 DLLs): you need to have an available + network connection and some of the packages are huge; +\item[\path|--remote-source-directory |] this is the base url for the remote packages; +\item[\path|--local-source-directory |] by default, \path|TeXSetup.exe| + will guess the root directory of the set of files you want it to act on, if you ever + upgrade \path|TeXSetup.exe|, you won't be able to copy the new version + onto your \CD{}, so you will need to use this option to specify the + root of the \CD{}; +\item[\path|--installation-directory |] this is the root of your + installation, all files will be copied under this location. The + default value is \verb+c:\Program Files\TL+; +\item[\path|--texmfmain-directory |] +\item[\path|--texmflocal-directory |] +\item[\path|--texmfextra-directory |] +\item[\path|--texmfhome-directory |] +\item[\path|--vartexmf-directory |] +\item[\path|--vartexfonts-directory |] these are the directories + used to configure the location of your files. They map directly to + the \path|texmf.cnf| variables. +\item[\path|--with-source-files(=yes/no)|] copy the source files + for \TeX{} packages, default value is no; +\item[\path|--with-documentation-files(=yes/no)|] copy documentation files for \TeX{} + packages. Default value is yes. Beware: this is only documentation about specific + packages, general documentation will be installed anyway; +\item[\path|--program-folder |] the name of the folder under + which you will find the menus; +\item[\path|--add-package |] this is used to add or update a specific + package after a first regular installation; +\item[\path|--scheme |] install the named scheme instead of the + default \path|texlive-recommended| scheme; +\item[\path|--maintenance|] mostly the same as \path|--add-package| + without specifying a package to add; +\item[\path|--uninstall|] this option will remove anything \TeX{} related coming from + the \CD{}, which means there can be files left if you added style + files or format files, and also that supplementary tools will not be + removed. This option is still a bit crude in this release; +\item[\path|--help|] this option opens up a box with the list of options. +\end{description} + +\subsection{Network installation} + +\KPS{} knows about UNC names, so you can use them to get your TEXMF +tree from the network. But there is better than this. +All the support files and configuration files, everything except the files in the +\path|bin/win32| are shareable with a \teTeX{} or Unix \TL{} installation. That means +you can use Samba either to mount from an NT server to a Unix +workstation or the converse. Several strategies are possible: +\begin{itemize} +\item Put everything on the server. Just add each set of files for the os and +architecture you want to use in the \path|bin| directory. That means +for example \path|bin/win32| and \path|bin/i386-linux|. Next configure +your main variables. You can use UNC names to +point to the right directories under Win32. +\item Install a local copy for the binaries and format files. In this + case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that + will be accessed remotely. Set \path|$VARTEXMF| to be a local + directory which will hold local configuration files and on-the-fly + generated files. +\end{itemize} + +\subsection{Personal configurations} + +\subsubsection{Dvips} + +The configuration file for dvips can be found in\\ +\verb+C:\Program Files\TeXLive\texmf-var\dvips\config\config.ps+\\ +You may open it with any editor + %(\cmdname{WinShell} will do fine) + and change some parameters: + +\begin{description} +\item [fonts] you can change the default printer \MF{} mode or printer + resolution in case \cmdname{dvips} needs to generate PK fonts. By default it + is configured to use Type~1 versions of the CM fonts, so it should + not call \cmdname{mktexpk} too often; +\item[printer] you can tell dvips where you want to print by default. If + the \optname{o} option is not followed by a printer name, then a + \file{.ps} \PS{} file is written. You can give dvips a printer + name such as: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] Next, you might want + to change the paper size from European (A4) to US letter + by making the US letter the first paper size mentioned in the file. + Scroll to the group of lines beginning with \code{@}. Move + the appropriate lines so that this section begins with the lines:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +The current \TL{} distribution implements the procedure of making +always up-to-date fontmaps files for Dvips and Pdftex. This is done by +the \cmdname{updmap} program during installation, as well as during any +font package addition. If you add new packages by hand, edit the file +\verb+updmap.cfg+ in \path|$VARTEXMF/web2c|. + +\subsubsection{Pdftex} + +If you use the program pdf{}latex to write \acro{PDF} format directly, +and you are using \acro{US} letter-size paper, edit the file +\verb+C:\Program Files\TeXLive\texmf-var\tex\generic\config\pdftexconfig.tex+ and +change \samp{\bs pdfpagewidth} and \samp{\bs pdfpageheight}. These entries should read: +\begin{alltt} +\bs{}pdfpagewidth=8.5 true in +\bs{}pdfpageheight=11 true in +\end{alltt} +Save the file and exit the editor. + +\subsubsection{GSView} +GSView is now distributed under the Aladdin License, and therefore is no longer included in +\TL{}. + +If you may want to change the page size to US letter size. If so, open +GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. + +Also, there are menu settings that are supposed to give you the most +readable screen image. On \guiseq{Media \arw Display Settings}, set both +\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. + +Note that the installation process has set all \code{.ps} and +\code{.eps} files to automatically open with \cmdname{GSView}. + +For printing instructions, see section~\ref{printing} below. + +\subsubsection{WinDvi} +\label{sub:windvi} + +The \file{TeXSetup.exe} program takes care of associating the files +with the \file{.dvi} extension with \file{Windvi}. + +Open it with \guiseq{Start\arw Programs\arw TeXLive\arw DVI Viewer}. + +You can set it for US letter-size paper by going to \guiseq{View\arw +Options\arw Papertype} and selecting US (8.5\verb+"+ x 11\verb+"+) (and +then \optname{OK}. Exit \cmdname{windvi}. + +You can change other parameters from there as well, such as the ability +to execute system commands specified by the document (disabled by +default for security reasons). Also, the first time you view any .dvi +file, you may find the magnification too large. Zoom out until you get +an appropriate size. + +%There are two important parameters related to printing that can't yet +%be set from the dialog boxes, namely the resolution and the \MF{} mode +%for the printer. You can set them once for all by specifying them on +%the command line: +%\begin{verbatim} +%c:\>windvi -p 360 -mfmode canonbjc foo.dvi +%\end{verbatim} +%When you will exit Windvi, these parameters will be stored in the +%configuration file. The available modes are found in this file:\\ +%\path|c:\Program Files\TeXLive\texmf\metafont\misc\modes.mf| + +All configuration settings for \cmdname{Windvi} are stored in a file +named \path|windvi.cnf| file. You can find it by running this command at +the prompt: +\begin{verbatim} +c:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +Should you have problems with \cmdname{Windvi}, please remove the configuration +file and test your problem against a vanilla configuration. + +\subsection{Testing} + +For generic verification procedures, see section~\ref{sec:test-install} +(\p.\pageref{sec:test-install}). This section describes +Windows-specific tests. + +Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), +found in \path|C:\Local\TeX\texmf\tex\latex\base|. The \LaTeX\ source +should appear on the screen. Process it by clicking on the +\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar +(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} +menu (XEmacs) or Preview (Windvi) icon (WinShell). + +At first, when you preview files with Windvi, 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. + +\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ +cannot find a file, you can press Ctrl-z to quit. + + +\subsection{Printing} +\label{printing} + +It is possible to print from Windvi. In this case, printing will be done +using the Windows unified printer driver. By definition, it is +compatible with all printers. However, there is some drawback: it can +generate some huge spool files, and some (older) versions of Windows +just don't like them. The advantage is that you can use features like +embedding BMP or WMF images. You also need to make sure that the printer +parameters are correctly set (subsection~\ref{sub:windvi}), else you +will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer +will give you only one quadrant of your page). + + +Printing is faster and more reliable if you run \cmdname{dvips} to make +a \filename{.ps} file and then print from \cmdname{GSView}. In +\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} +window will appear. + +If you are using a \PS{} printer, \textit{be sure to select +\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box +at the bottom left of the \guiseq{Print} window. You can then select any +of the printers that you have previously installed. If you fail to +check the box for \optname{\PS{} Printer}, printing will not work. + +If you will be using your own non-\PS{} printer, select +\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click +on the button to the right labelled \guiseq{djet500} and select your +printer type from the list that pops up. (In the older version of +\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} +selected, then select your printer type from the \guiseq{Device} list.) + +\subsection{Tips and tricks for Win32} + +\subsubsection{Different flavors of Win32} + +What we call Win32 is not an operating system by itself. It is a large +set of functions (around 12,000 in the header files of the Microsoft +\acro{SDK}) that you can use to write programs for different operating +systems of the Windows family. + +Windows comes in different flavors: +\begin{itemize} +\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, + multithreading} environments. They are the latest\Dash and hopefully + last\Dash metamorphosis of \acro{DOS}. This can be more or less proven + by the fact that when booting, the PC will load the \path|command.com| + interpreter, and if you stop the boot process at this point, you can + ask for the current (\acro{DOS}) version and it will answer something + like \samp{MS-DOS 7.0} (at least for the old versions of Win9x). +\item Windows \acro{NT}, which is a new operating system written from + scratch, capable of true multitasking behavior, and including many + high level features. +\item Windows 2000, based on \acro{NT}, with all the bells and + whistles of Win98. +\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is + the last step in merging both lines of products (Win9x based and + \acro{NT} based). \acro{XP} is based on \acro{NT}. +\end{itemize} + +Win9x are able to run 32~bits programs and 16~bits programs +concurrently. But the operating system by itself is not entirely +written in 32~bits mode, and does not support memory protection: 16bits +applications can overwrite parts of the operating system memory! Some +parts of the system like the \acro{GDI} (Graphical Device Interface) +manage limited resources like bitmaps, fonts, pens and so on for the set +of all programs that run concurrently. All the bitmaps headers available +at the same time can't amount for more than 64kB. This explains the +performance tool and the fact that you can put your system on his knees +by making intensive use of graphic objects for example. + +NT, 2K and XP do not suffer from these limitations, and neither from +other Win9x limitations. They are true multitasking environments, with +protected memory. They are much more responsive than Win9x because +of better memory management, better file system and so on. + +\subsubsection{Command line prompt} + +You may wonder, ``Why would I need to use a command line prompt when +I have Windows?'' + +Good question. The problem is of very general nature. Not all operations +can be done easily using only a \acro{GUI}. Command line gives you +programming power\Dash assuming a clever command interpreter. + +But the problem here is more fundamental: \TeX{} is \emph{a batch} +tool. Not an interactive one. \TeX{} needs to compute the best +layout for each page, resolve cross-references and so on. This can be +done only by a global processing of the document. It is not (yet) a +task that can be done interactively. + +This means that you should use \TeX{} from a command line. In fact the +situation is not so bad. There is an advantage to write command line +tools for complex processing: they are better debugged, because they are +independent of any \acro{GUI} problems, and \acro{GUI} tools can be +designed to interface to the command line tools. This is the case for +\TeX{}, where you will mostly interact with it through a \acro{GUI} text +editor. + +However, you may need to use the command line prompt in a number of +situations. One is when you are having difficulties and want to debug +your setup. + +\begin{description} + \item[Win9x] You can open a command line prompt by looking either for + the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, + or by choosing \guiseq{Start\arw Run} menu typing in + \path|command.com| as the progrm name. + \item[NT, 2K, XP] You can open a command line prompt by looking for + \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. + You can also choose \guiseq{Start\arw Run} and type in + \path|cmd.exe|, which is the name of the brand new command + interpreter for \acro{NT} (thus, it is untrue to call this a + \emph{DOS} box!). +\end{description} + +These locations may change across different Windows versions. + + +\subsubsection{Path separators} + +The Win32 API understands both \path|/| and \path|\| characters as PATH +separators. But the command interpreters do not! So whenever a path name +is used programmatically, you can use both separators, and even mix them +up in the same path name. But on the command line, you must type +\path|\| as path separator. The reason is compatibility: the command +processor used \samp{/} to introduce arguments to commands. + +All this to say: do not be surprised to read path names written using +the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible +across platforms. For this reason, all the configuration files that +need to specify path names use the Unix convention. + +\subsubsection{File systems} +\label{sec:clusters} + +The worst feature of Win9x with regard to \TeX{} is probably the +so-called FAT file system. \TeX{} uses very many small files, with size +around 1--3kB. The \acro{FAT} file system is old, and predates by +decades the multi-gigabytes hard disks we have today. As a result, it +cannot manage efficiently the tens of thousands of \TeX{} files found in +\TL{}. The \acro{FAT} file system allocates a minimum of 32kB for +\emph{any} file on a huge partition. It means that \TeX{} will use much +more disk space than it actually needs. + +The other, more modern, file systems available, \acro{FAT32} and +\acro{NTFS}, do not have this drawback. They manage clusters of 4kB +only. (You can lower the limit to 512 bytes on \acro{NTFS}.) + +\subsubsection{How to add some directory to your PATH} + +There are pairs of variables and values which behave much like global +variables inside your programs. The set of those variables is called the +environment. Each program is initialized with a copy of the +environment when it is run. It can request and change the +value of any variable. The changes happen in the copy of the +environment, and is not at all propagated to the other running +programs. + +Your PATH is a special environment variable used to search for +programs you want to run. +There is a different procedure to change it for Win9x, WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line + starting with \texttt{PATH=} and followed by a list of directories separated + by \path|;|. Please add the directory with the executables in this line. + After this, this line could look as follows: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\"Program Files"\TL\bin\win32 +\end{verbatim} +\item[Windows ME] You need to run the special program + \path|c:\windows\system\msconfig.exe| to be able to change any + environment variable. From this program, select the `Environment' + tab, and then add or modify the variable you want. You will be asked to reboot the + machine upon any change. +\item[Windows NT/2K/XP] + Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the + window with the control panel icons opens. Double click on System. The + System Properties window opens. Click on the tab \textsf{Environment} + or look for a button named \guiseq{Environment Variables} among the + dialog boxes. Now you can change the environment variables for your + user account. Note: There are also displayed the environment settings + for the system. Normally, you can't change the system variables + unless you have administrator rights on your machine. If you want to + change the \texttt{PATH} for all users, you will have to contact your + system administrator or be the system administrator yourself\Dash in + the latter case you should know what you are doing. + + If there is already a \texttt{PATH} setting for your user account, + left click on \texttt{PATH}. In the field \textsf{Variable} appears + \texttt{PATH} while the field Value shows the current setting of + \texttt{PATH} as a list of directories separated by \path|;|. Add + the directory where the executables are located (e.g. + \path|c:\Program Files\TeXLive\bin\win32|). If there isn't a \texttt{PATH} variable + for your user account, simply click in the field Variable and type + in \texttt{PATH}, click in the field \textsf{Value} + and type in the directory with the executables. Important: Click on + the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the + changes to \texttt{PATH} won't apply to your system. Be careful when + changing the environment settings. +\end{description} + +The best way to be sure that a variable has been properly set is to +open a console and type: +\begin{verbatim} +set VARIABLE +\end{verbatim} +which should return the corresponding value. + +\subsubsection{\TeX{} engines} + +If you have a look at the \Webc{} documentation, you will read that all +the various \TeX{} derived programs use the same base engine. For +example, \path|tex.exe| and \path|latex.exe| are exact copies of the +same program, but each one will use a different format file, based on +its calling name. + +Under Unix, this feature is implemented through \emph{symbolic +links}. It saves up a bit of disk space, because some engines are +used with many different format files. + +The Win32 API does not know about file links. So to save up almost +the same amount of memory, all the \TeX{} base engines have been put +in DLLs (\emph{Dynamic Linked Library}). This means that you will have +the following layout: +\begin{alltt} +13/05/2002 17:06 3 584 latex.exe +13/05/2002 17:06 266 240 tex.dll +13/05/2002 17:06 3 584 tex.exe +\end{alltt} +and the \path|latex.exe| file is nothing but a rough copy of +\path|tex.exe| using the same core \path|tex.dll|. +The same trick has been used for the \path|mktex*.exe| family of programs which are +linked to the \path|mktex.dll| library. + +In fact, a generic tool called \path|lnexe.exe| is provided to build the +equivalent of Unix hard links for executable files only under Win32. + +\subsection{In case of problems} +\label{sec:troubleshooting} + +\subsubsection{What to do if \texttt{latex} does not find your files?} + +\begin{itemize} + +\item \cmdname{kpsewhich} is the tool of choice to debug any +problem. Unfortunately, \cmdname{kpsewhich} outputs debug information +to stderr, and the Windows console does not know how to redirect stderr +to a file\footnote{Well, NT and Win2k consoles know how to do that. But +the trick will work for any console.}. For diagnostic purposes you can +temporarily set an environment variable (in a \acro{DOS} box): + +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +You can also set the debug level: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +If you want to redirect stderr to stdout, which is not possible +Windows, then do: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +This way you can capture both stdout and stderr in the same file. + +\item Assuming the installation has been done in \path|c:/Program Files/TeXLive|, check + the following values: \\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/Program Files/TeXLive/texmf| \\ + \path|kpsewhich -expand-path $TEXMFCNF| & + \path|.;c:/Program Files/TeXLive/texmf/web2c;| \\ + & \path|c:/Program Files/TeXLive/bin/win32;| \\ + & \path|c:/Program Files/TeXLive/bin;| \\ + & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/Program Files/TeXLive/texmf/tex//| + \end{tabular} +} +\item If you have other \TeX{}-related values already set in your + environment, please, remove them. They are overriding the ones in + texmf.cnf. +\item Check the values from:\\ +{\small + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \path|c:/Program Files/TeXLive/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ + \texttt{kpsewhich latex.fmt}& \path|c:/Program Files/TeXLive/texmf/web2c/latex.fmt| + \end{tabular} +} +\item At this point, if everything is correct, \TeX{} and friends + should work. If it is not the case, you will need to play with + the \path|-debug=n| option from \path|kpsewhich|, and check back all + the values. Try to identify and report the problem. +\end{itemize} + +\subsubsection{What to do if your setup still does not work as expected?} + +Here are several questions to investigate: + +\begin{enumerate} +\item Is \file{tex.exe} in my \path|PATH|? + +\item Is the \path|TEXMFCNF| variable correctly set to +\path|c:/Program Files/TeXLive/texmf-var/web2c| (default value)? + +\item Are there any errors in the log file generated by the +\file{TeXSetup.exe} program? You can find this by searching for the +string \samp{Error}. + +\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? +(Unlikely, but it doesn't hurt to check.) + +\item Check the web pages at +\url{http://www.fptex.org/}, or consider subscribing to the \fpTeX{} +mailing list, via \url{http://tug.org/mailman/listinfo/fptex}. + +\end{enumerate} + + +The \TL{} software consists of hundreds of programs and tens of +thousands of files, all from varying sources. So it is quite difficult to +predict all possible causes for problems. Nevertheless, we will do our +best to help you. (See section~\ref{sec:help}, \p.\pageref{sec:help}.) + + +\subsection{Compiling the source files} + +The whole set of source files is available in the distribution as the +\path|source/source.tar.bz2| archive, together with a separate source +archive for Windows. To be able to compile the whole distribution for +Windows, you will need: + +\begin{itemize*} +\item Windows 2K/XP +\item Microsoft Visual Studio .Net 2003 +\item a set of Unix tools (\texttt{sed}, + \texttt{grep}, \texttt{gawk}, etc.) and also Perl, Flex and Bison, +\item to adjust the paths in the + \path|win32/make/common.mak| file according to your installation +\item to adjust the paths in the Perl script file + \path|win32/perl/build.pl|, +\item run the compilation from the \path|mswin32/| directory using this + command: +\begin{verbatim} +c:\texlive\source\mswin32>perl ./perl/build.pl --install --log=install.log +\end{verbatim} +\end{itemize*} + +There is a lot of work to do to make this process easier and cleaner. + +\subsection{Where to get more information} + +The Windows \TeX{} system included on \TL{} is also known as +\fpTeX. The packaging differs, but \fpTeX{} is no more no less than the +current \TL\ release for Windows. + +The \fpTeX{} home page is \url{http://www.fptex.org}. + +The current \fpTeX release is available from any \CTAN site in +\url{htp://www.ctan.org/tex-archive/systems/win32/fptex}. + +The main ftp site for \fpTeX\ is \url{ftp://ftp.dante.de/pub/fptex/} +from where beta versions of \fpTeX\ and additionnal tools are available. +This main site is (partially) mirrored daily by all \CTAN{} sites at +\path|systems/win32/fptex|. + +The \TeX{} Users Group is kindly hosting a mailing list dedicated to +\fpTeX. It is used for announcements, bug reports, enhancement requests, +and general discussion about \fpTeX. To subscribe, visit +\url{http://tug.org/mailman/listinfo/fptex}. The mailing list +address is \email{fptex@tug.org}. + + +% don't use \Webc so the \uppercase in the headline works. +\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{}. + +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. + +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 \web{} and translates them into C source +code. The core \TeX{} programs are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\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[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\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 \acro{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{}. 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 more than one directory tree +simultaneously, which is useful in maintaining \TeX's standard +distribution and local extensions in two 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} + +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{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{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{Debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\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} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\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{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{Default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{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 + +\tolerance=1500 + +\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 can be used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, you find +the following definition: +\begin{verbatim} + TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$VARTEXMF,!!$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{\$HOMETEXMF/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$VARTEXMF/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{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{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{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); most sites have only one hierarchy. \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 +(\acro{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{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 more important 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 + found in the first column of table~\ref{tab:kpathsea}, which lists + currently recognized names, a description, possible file extensions, + and associated environment variables. +\end{ttdescription} + + +\def\KpathKey#1#2#3#4#5{% name, number, description, variables, + % suffixes +\SetRowColor#1 & #3 & #4 & #5\\} +\def\HEAD#1{\multicolumn{1}{l}{\emph{#1}}} +% +\begin{small} +% a footnoterule immediately under a bottom-of-page rule looks dead +% silly, so we suppress it +\renewcommand\footnoterule{\relax} +% +\begin{longtable}{@{}% + >{\ttfamily}P{.16\textwidth}% Col.1 + P{.3\textwidth}% Col 2 + >{\ttfamily\footnotesize}P{.29\textwidth}% Col 3 + >{\ttfamily}P{.14\textwidth}% Col 4 +@{}} +\caption{Kpathsea file types.}\label{tab:kpathsea}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\endfirsthead +\multicolumn{3}{l}{Kpathsea file types \emph{continued}}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\noalign{\vspace{2pt}} +\endhead +\mbox{}\\ +\hline +\endfoot +\KpathKey + {afm} + {4} + {Adobe font metrics} + {AFMFONTS} + {.afm} +\KpathKey + {base} + {5} + {Metafont memory dump} + {MFBASES, TEXMFINI} + {.base} +\KpathKey + {bib} + {6} + {\BibTeX{} bibliography source} + {BIBINPUTS, TEXBIB} + {.bib} +\KpathKey + {} + {2} + {bitmap fonts} + {GLYPHFONTS, TEXFONTS} + {} +\KpathKey + {bst} + {7} + {\BibTeX{} style files} + {BSTINPUTS} + {.bst} +\KpathKey + {cnf} + {8} + {Runtime configuration files} + {TEXMFCNF} + {.cnf} +\KpathKey + {dvips config} + {34} + {\textsf{dvips} configuration files, e.g., \file{config.ps}} + {TEXCONFIG} + {} +\KpathKey + {enc} + {34} + {Font encoding files} + {ENCFONTS} + {.enc} +\KpathKey + {fmt} + {10} + {\TeX{} memory dump} + {TEXFORMATS, TEXMFINI} + {.fmt, .efmt, .efm} +\KpathKey + {gf} + {0} + {generic font bitmap} + {GFFONTS} + {.gf} +\KpathKey + {graphic/figure} + {25} + {Encapsulated \PS{} figures} + {TEXPICTS, TEXINPUTS} + {.eps, .epsi} +\KpathKey + {ist} + {35} + {\textsf{makeindex} style files} + {TEXINDEXSTYLE, INDEXSTYLE} + {.ist} +\KpathKey + {ls-R} + {9} + {Filename databases} + {TEXMFDBS} + {} +\KpathKey + {map} + {11} + {Fontmaps} + {TEXFONTMAPS} + {.map} +\KpathKey + {mem} + {12} + {MetaPost memory dump} + {MPMEMS, TEXMFINI} + {.mem} +\KpathKey + {mf} + {13} + {Metafont source} + {MFINPUTS} + {.mf} +\KpathKey + {mfpool} + {14} + {Metafont program strings} + {MFPOOL, TEXMFINI} + {.pool} +\KpathKey + {mft} + {15} + {MFT style file} + {MFTINPUTS} + {.mft} +\KpathKey + {} + {41} + {miscellaneous fonts} + {MISCFONTS} + {} +\KpathKey + {mp} + {16} + {MetaPost source} + {MPINPUTS} + {.mp} +\KpathKey + {mppool} + {17} + {MetaPost program strings} + {MPPOOL, TEXMFINI} + {.pool} +\KpathKey + {MetaPost support} + {18} + {MetaPost support files, used by DMP} + {MPSUPPORT} + {} +\KpathKey + {ocp} + {19} + {\OMEGA{} compiled process files} + {OCPINPUTS} + {.ocp} +\KpathKey + {ofm} + {20} + {\OMEGA{} font metrics} + {OFMFONTS, TEXFONTS} + {.ofm, .tfm} +\KpathKey + {opl} + {21} + {\OMEGA{} property lists} + {OPLFONTS, TEXFONTS} + {.opl} +\KpathKey + {otp} + {22} + {\OMEGA{} translation process files} + {OTPINPUTS} + {.otp} +\KpathKey + {ovf} + {23} + {\OMEGA{} virtual fonts} + {OVFFONTS, TEXFONTS} + {.ovf} +\KpathKey + {ovp} + {24} + {\OMEGA{} virtual property lists} + {OVPFONTS, TEXFONTS} + {.ovp} +\KpathKey + {pdftex config} + {18} + {\textsf{pdftex} configuration files} + {PDFTEXCONFIG} + {} +\KpathKey + {pk} + {1} + {packed bitmap fonts} + {\var{program}FONTS \textrm{(\texttt{\var{program}} being + \textsmaller{\cmdname{XDVI}}, + etc.)}, PKFONTS, TEXPKS, GLYPHFONTS, TEXFONTS} + {.pk} +\KpathKey + {\PS{} header} + {30} + {downloadable \PS{}} + {TEXPSHEADERS, PSHEADERS} + {.pro, .enc} +\KpathKey + {tex} + {26} + {\TeX{} source} + {TEXINPUTS} + {.tex, .cls, .sty, .clo, .def} +\KpathKey + {texmfscripts} + {20} + {Scripts distributed in the \file{texmf} tree} + {TEXMFSCRIPTS} + {} +\KpathKey + {TeX system documentation} + {27} + {Documentation files for the \TeX{} system} + {TEXDOCS} + {} +\KpathKey + {TeX system sources} + {29} + {Source files for the \TeX{} system} + {TEXSOURCES} + {} +\KpathKey + {texpool} + {28} + {\TeX{} program strings} + {TEXPOOL, TEXMFINI} + {.pool} +\KpathKey + {tfm} + {3} + {\TeX{} font metrics} + {TFMFONTS, TEXFONTS} + {.tfm} +\KpathKey + {Troff fonts} + {31} + {Troff fonts, used by DMP} + {TRFONTS} + {} +\KpathKey + {truetype fonts} + {36} + {TrueType outline fonts} + {TTFONTS} + {.ttf, .ttc} +\KpathKey + {Type~1 fonts} + {32} + {Type 1 \PS{} outline fonts} + {T1FONTS, T1INPUTS, TEXPSHEADERS, DVIPSHEADERS} + {.pfa, .pfb} +\KpathKey + {type42 fonts} + {37} + {Type 42 \PS{} outline fonts} + {T42FONTS} + {} +\KpathKey + {vf} + {33} + {virtual fonts} + {VFFONTS, TEXFONTS} + {.vf} +\KpathKey + {web2c files} + {38} + {\Webc{} support files} + {WEB2C} + {} +\KpathKey + {other text files} + {39} + {text files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\KpathKey + {other binary files} + {40} + {binary files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\end{longtable} +\end{small} + + +\begin{multicols}{2} + + The last two entries in table~\ref{tab:kpathsea} are special + cases, where the paths and environment variables depend on the name + of the program: the variable name is constructed by converting the + program name to upper case, and then appending \texttt{INPUTS}. + + The environment variables are set by default in the configuration + file \file{texmf.cnf}. It is only when you want to override one or + more of the values specified in that file that you might want to set + them explicitly in your execution environment. + + The \samp{-{}-format} and \samp{-{}-path} options are mutually + exclusive. + +\begin{ttdescription} + +\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{SExamplesofuse} + +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} + +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 +prolog \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 ... \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{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. +\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 +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/html/dvips/dvips_toc.html}). +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{SExamplesofuse} 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 +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 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, + ... + +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 +[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}. + etc.). +\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 TFM files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Approximately 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. + + +\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 \acro{GNU} version of these programs +(\cmdname{gcc}, \acro{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:unix-install-disk} on +\p.\pageref{sec:unix-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} & \acro{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: \acro{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. + + +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Sebastian Rahtz and Karl Berry. +The other principal contributors are listed below. + +\begin{itemize*} + +\item The German-speaking \TeX{} Users (\acro{DANTE} e.V.), who provide +the hardware for the \TL{} source repository; and Rainer Sch\"opf and +Reinhard Zierke who look after it. \acro{DANTE} officers Volker Schaa +and Klaus Hoeppner coordinated production with the Lehmann's Bookstore +(\url{http://www.lob.de}). + +\item The Perforce corporation (\url{http://www.perforce.com}), for providing +a free copy of their excellent change management system, which we used +to manage the \TL{} sources. + +\item Peter Breitenlohner and the \eTeX\ team for the stable foundation +of future \TeX's. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would certainly not exist, and whose continual help makes it a better +product. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item Hans Hagen, for major testing and making the \ConTeXt\ format +conform to \TL's needs. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team for continuing +enhancements of \TeX's abilities. + +\item Petr Olsak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Fabrice Popineau, for the Windows side of \TL{} and devising the +new directory layout. + +\item Staszek Wawrykiewicz, the principal tester for all of \TL{}, and +coordinator of the Polish contributions. + +\item Olaf Weber, for his patient assembly and maintenance of Web2C, +upon which all else depends. + +\item Gerben Wierda, for creating and maintaining the \MacOSX\ support, +and much integration and testing. + +\item Graham Williams, on whose work the catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Tigran Aivazian (\pkgname{x86\_64-linux}), +Manfred Lotz (\pkgname{i386-freebsd}), +Maksym Polyakov (\pkgname{sparc-solaris}), +Fabrice Popineau (\pkgname{win32}), +Norbert Preining (\pkgname{alpha-linux}), +Vladimir Volovich (\pkgname{powerpc-aix} and \pkgname{sparc64-linux}), +Staszek Wawrykiewicz (\pkgname{i386-linux}), +Olaf Weber (\pkgname{mips-irix}), +Gerben Wierda (\pkgname{powerpc-darwin}). + +Documentation and translation updates: +Karl Berry (English), +Daniel Flipo \& Fabrice Popineau (French), +G\"unter Partosch \& Hartmut Henkel (German), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Boris Veytsman (Russian), +Staszek Wawrykiewicz (Polish). + +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. + +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:multiple-dist}, \p.\pageref{sec:multiple-dist}). 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*} + +\subsection{Present} +\label{tlcurrent} + +2004 saw the usual huge number of updates to packages and programs. +Here are the most notable changes, including one important backward +incompatibility: + +\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:struct-tl} (\p.\pageref{sec:struct-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-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} directory of \dirname{texmf*} trees, and +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-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/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/doc/pdftex/manual}. + + \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} + + +\subsection{Future} + +\emph{\TL{} is not perfect!} (And never will be.) We intend to +continue to release new versions yearly, and would like to provide more +help material, more utilities, more installation programs, and (of +course) an ever-improved and checked tree of macros and fonts. This work +is all done by hard-pressed volunteers in their limited spare time, and +a great deal remains to be done. If you can help, don't hesitate to put +your name forward! + +Please send corrections, suggestions, and offers of help to:\hfill\null +\begin{quote} +Sebastian Rahtz \ / \ 7 Stratfield Road \ / \ Oxford OX2 7BG \ / \ UK \\ +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{multicols} +\end{document} diff --git a/Master/texmf/doc/texlive/texlive-en/archive/live-2005.tex b/Master/texmf/doc/texlive/texlive-en/archive/live-2005.tex new file mode 100644 index 00000000000..5b525535c63 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/live-2005.tex @@ -0,0 +1,3174 @@ +% $Id: live.tex 1513 2006-02-13 00:22:35Z 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} +\begin{document} + +\title{% + {\huge \textit{The \protect\TL{} Guide}\\\strut} + {\LARGE \textsf{\TK{} 2005}} +} + +\author{Sebastian Rahtz \& Karl Berry, editors \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{October 2005} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +This document describes the main features of the \TL{} software +distribution\Dash \TeX{} and friends for \acro{GNU}/Linux and other Unix +flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is not +especially useful for older Mac or \acro{MS-DOS} systems.) + +\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. It is part of the even larger \TK{} +(briefly described below in section~\ref{sec:struct-tl}, +\p.\pageref{sec:struct-tl}). Both are cooperative efforts by the \TeX\ +user groups. + +For newer versions of the packages included here, please check +\acro{CTAN}: \url{http://www.ctan.org}. + +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{Basic usage of \protect\TL{}} +\label{sec:basic} + +You can use \TL{} in three principal ways: + +\begin{enumerate} + +\item You can run \TL{} directly from the \pkgname{live} \DVD +(see section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). +This takes almost no disk space, and gives you immediate access to +everything in \TL{}. Of course performance will be worse than running +on local disk, but you may well find it useful. + +\item You can install all or part of \TL{} to a local disk, from either +the \DVD\ or the \pkgname{inst} \acro{CD}. This is the most common use +of \TL. You will need (approximately) 100 megabytes for the most +minimal system, and upwards of 1.3 gigabytes for a full system. + +\item You can integrate a particular package or collection into your +existing \TeX{} system, either a \TL{} system you installed +earlier, or a different system. + +\end{enumerate} + +\noindent All of these are described in detail in the \acro{OS}-specific +installation sections following, but here is a quick start: + +\begin{itemize*} + +\item The main installation script for Unix and \MacOSX{} is +\texttt{install-tl.sh}. + +\item The single package installation script is \texttt{install-pkg.sh}. + +\item The installation program for Windows is \texttt{tlpmgui.exe}. +It can be used also for adding or removing the packages. +See section~\ref{sec:win-install} below for more information. + +\end{itemize*} + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both active and friendly, and virtually all +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 forego \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-doc/doc/english/FAQ-en}, 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 +\OnCD{texmf-doc/doc/english/catalogue}, or +\url{http://www.ctan.org/tex-archive/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/groups?group=comp.text.tex} 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 on asking questions in such a +way that you're most likely to get an 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{}, you are better off writing to that program's maintainer or +mailing list. + +\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. Welcome to +\TeX{}! + + +% 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{Structure of \protect\TeX\protect\ Live} +\label{sec:struct-tl} + +This section describes the structure and contents of \TL{} and the +\TK{} of which it is a part. + +\subsection{Multiple distributions: \protect\pkgname{live}, + \protect\pkgname{inst}, + \protect\pkgname{protext}} +\label{sec:multiple-dist} + +Space limitations of \acro{CD-ROM} format have forced us to divide +\TK{} into several distributions, as follows. + +\begin{description} + +\item [live] A complete system on \acro{DVD}; it is too large +for \acro{CD}. It can be run live or installed to disk. It also +includes a snapshot of the \CTAN{} repository, the \pkgname{protext} +distribution for Windows and the Mac\TeX\ distribution for \MacOSX, entirely +independent of \TL{}, as well as assorted other packages in a +\texttt{texmf-extra} directory. + +\CTAN{}, \pkgname{protext}, Mac\TeX, and \texttt{texmf-extra} do not follow +the same copying conditions as \TL{}, so be careful when redistributing or +modifying. + +\item [inst(allable)] A complete system on \CD; in order to make this fit, +the packages and programs are compressed. Therefore, it is not possible +to run \TeX\ directly from the installable \CD, you have to install it +to disk (hence its name). Installation is described in subsequent sections. + +\item [protext] 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. It can be run live, or installed to disk. +The \ProTeXt\ home page is \url{http://tug.org/protext}. + +\ProTeXt\ is provided as both the top level of the \pkgname{live} \DVD\ +and on its own \CD\ (for those who cannot use the \DVD). + +\end{description} + +\noindent You can tell which type of distribution you're in by looking +for a \texttt{00\var{type}.TL} file at the top of the \TL{} directory. +This file also contains the \TL{} release date. + +Naturally, each user group chooses what to distribute, at its own +discretion. (\acro{TUG} is sending all three discs above to all of its +members.) + + +\subsection{Top level directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in +the \TL{} distribution. On the \pkgname{live} \DVD, the entire \TL{} +hierarchy is in a subdirectory \dirname{texlive2005}, not at the top +level of the disc. + +\smallskip +\begingroup + \renewcommand{\arraystretch}{1.3} % open up interrow spacing +\begin{tabular}{>{\ttfamily}lp{.78\hsize}} +bin & The \TeX{} system programs, arranged by platform. \\ +source & The source of all programs, including the main \Webc{} + \TeX{} and \MF{} distributions. These are stored in a + \cmdname{bzip2}-compressed tar archive. \\ +support & Assorted auxiliary packages and programs. These are + \emph{not} installed automatically. This includes + assorted editors and \TeX\ shells. \\ +texmf & Tree for the programs, along with their support files and + documentation. Does not include \TeX\ formats and packages. + (\texttt{TEXMFMAIN} in the next section.) \\ +texmf-dist & The main tree of formats and packages. + (\texttt{TEXMFDIST} in the next section.) \\ +texmf-doc & Tree for self-contained pure documentation, arranged by + language. \\ +texmf-var & Tree for files automatically generated and stored. + (\texttt{TEXMFSYSVAR} in the next section.) \\ +xemtex & Tree for supporting programs used only in Windows. + These programs generally come pre-installed on Unix systems, or are + at least easy to compile. \\ +\end{tabular} +\endgroup + +\smallskip + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +The \dirname{texmf-doc} directory contains only documentation, but +it does not contain all the documentation. The documentation for the +programs (manuals, man pages, Info files) is in \dirname{texmf/doc}, +since the programs are in \dirname{texmf}. Similarly, the documentation +for \TeX\ packages and formats is in \dirname{texmf-dist/doc}. You can +use the \cmdname{texdoc} or \cmdname{texdoctk} programs to find any +documentation wherever it's located. The comprehensive links in the +top-level file \OnCD{doc.html} may also be helpful. + + +\subsection{Overview of the predefined texmf trees} +\label{sec:texmftrees} + +This section lists all predefined variables specifying texmf trees used +by the system, and their intended purpose. The command \texttt{texconfig +conf} shows you the values of these variables, so that you can easily +find out how they map to directory names in your installation. + +\begin{ttdescription} +\item [TEXMFMAIN] The tree which holds vital parts of the system + such as helper scripts (e.g., \verb+web2c/mktexdir+), pool files and + other support files. +\item [TEXMFDIST] The tree which holds the main set of macro packages, + fonts, etc., as originally distributed. +\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 depends on \verb+$HOME+ by default, % $ + which dynamically adjusts for each user to an individual + directory. +\item [TEXMFCONFIG] The tree used by te\TeX's utilities + \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified + configuration data. Under \verb+$HOME+ by default. %$ +\item [TEXMFSYSCONFIG] The tree used by te\TeX's utilities + \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to + store modified configuration data. +\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and + \verb+fmtutil+ to store (cached) runtime data such as format files and + generated map files. Under \verb+$HOME+ by default. %$ +\item [TEXMFSYSVAR] The tree used by \verb+texconfig-sys+, + \verb+updmap-sys+ and \verb+fmtutil-sys+ to store (cached) runtime + data such as format files and generated map files. +\end{ttdescription} + +For more discussion of \texttt{texconfig} and related utilities, please +see section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +\TL{} contains several extended versions of \TeX: + +\begin{description} + +\item [\eTeX] adds a small but powerful 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] writes Acrobat \acro{PDF} format as well as \dvi{}. The +\LaTeX{} \pkgname{hyperref} package has an option `\optname{pdftex}' +which turns on all the program features. See +\OnCD{texmf/doc/pdftex/manual/} for the manual, and +\OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex}. + +\item [pdfe\TeX] combines the pdf\TeX\ and \eTeX\ extensions. This is +the default program for all formats except plain \TeX. +See above for documentation. + +\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. See +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] 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 [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\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). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\item [texexec] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} converter. + +\end{cmddescription} + + +\section{Unix installation} +\label{sec:unix-install} + +As introduced in section~\ref{sec:basic} (\p.\pageref{sec:basic}), +\TL{} has three principal uses: + +\begin{enumerate} +\item Run directly from media. +\item Install to disk. +\item Integrate a particular package or collection into your existing +\TeX{} installation. +\end{enumerate} + +\noindent The following sections describes the Unix-specific procedures +for each of these. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} +\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) +format, \emph{with} Rock Ridge (and Joliet, for Windows) +extensions. Therefore, in order to take full advantage of the \TK{} +under Unix, your system needs to be able to use the Rock Ridge +extensions. Please consult the documentation for your \cmdname{mount} +command to see how to do this. If you have several different machines +on a local network, you may be able to mount the discs on one which +does support Rock Ridge, and use this with the others. + +\leavevmode\quad Modern systems should be able to use the discs without +problems. If troubles, let us know. The discussion below assumes you +have been able to mount the \CD{}s with full Rock Ridge compatibility. +\end{warningbox} +\ifSingleColumn\end{figure}\fi + + +% +\subsection{Running \protect\TL{} directly from media (Unix)} + +\def\runlive{% text repeated in windows section +It is possible to use the \TeX{} system directly from the \pkgname{live} +\DVD{}, without installing the distribution to disk. (Thus the name +\TeX\ `Live', in fact.) It is \emph{not} possible to run \TeX{} +directly from the other \CD{}s (see section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}). +} + +\def\startinst{% repeated in other subsections +To start, you mount the \CD{} or \DVD{}, with Rock Ridge extensions +enabled. The exact command to do this varies from system to system; the +following works under Linux, except the name of the device +(\filename{/dev/cdrom}, here) may vary. (All our examples will use +\texttt{>} as the shell prompt; user input is +\Ucom{\texttt{underlined}}.) +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Change the current directory to the mount point: +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +\noindent Under \MacOSX, the directory is typically under +\dirname{/Volumes}, and the media will be mounted automatically. +} + +\def\installtlsh{ +Run the installation script \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh}\\ +Welcome to TeX Live... +\end{alltt} + +\noindent After various greeting messages and a list of the main menu +options, the installation will ask you to enter a command. Do this by +typing the desired character and hitting return; don't type the angle +brackets shown. Either uppercase or lowercase is ok; we'll use +lowercase in our examples. +} + +\runlive +\startinst +\installtlsh + +For running live, our first command will be \Ucom{d} and then the +subcommand \Ucom{1} to set directories. Even in this case, we must +choose a directory on the local disk to place files that the \TeX{} +system itself generates, such as fonts and formats, and also to provide +a place for updated configuration files, if need be. + +We'll use \dirname{/opt/texlive2005} in this example. It's good to +include the year in the name, as these generated files are not +compatible from release to release. (If the default value of +\dirname{/usr/local/texlive/2005} works for you, then you can skip this +step.) + +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/local/texlive/2005 +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/local/texlive/TeX]: \Ucom{/opt/texlive2005} +... +Enter command: \Ucom{r} +\end{alltt} + +\noindent Back at the main menu, our second and last command is +\Ucom{r}, to set up for running live off the media without installing +to disk: +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to TeX Live! +> +\end{alltt} + +\noindent And we are back at the system prompt, as shown. + +Next, it is necessary to alter two environment variables: +\envname{PATH}, to an architecture-dependent value (so that we can run +the programs), and \envname{TEXMFSYSVAR}, to the value specified above. +See table~\ref{tab:archlist} for a list of the architecture names for +the different systems. + + +\def\textruntexconfig{% +After the main installation has completed, and environment variables +have been set, the last step is to run \cmdname{texconfig} or +\cmdname{texconfig-sys} to customize your installation to your needs. +This is explained in section~\ref{sec:texconfig}, +\p.\pageref{sec:texconfig}. +} +\textruntexconfig + +\begin{table*}[ht] +\caption[Supported system architectures.]{Supported system +architectures.} +\label{tab:archlist} +\begin{tabular}{>{\ttfamily}ll} +alpha-linux & HP Alpha GNU/Linux \\ +%alphaev5-osf4.0d & HP Alphaev5 OSF \\ +%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 \\ +i386-darwin & Intel x86 \MacOSX \\ +i386-freebsd & Intel x86 FreeBSD \\ +i386-linux & Intel x86 GNU/Linux \\ +%i386-openbsd3.3 & Intel x86 OpenBSD \\ +%i386-solaris2.8 & Intel x86 Solaris \\ +mips-irix & SGI IRIX \\ +powerpc-aix & IBM RS/6000 AIX \\ +powerpc-darwin & PowerPC \MacOSX \\ +sparc-linux & Sun Sparc GNU/Linux \\ +sparc-solaris & Sun Sparc Solaris \\ +win32 & Windows (32-bit) \\ +x86\_64-linux & Intel x86 64-bit GNU/Linux \\ +\hline +\end{tabular} +\end{table*} + +\label{text:path} +The syntax for setting the environment variables, and the initialization +file to put them in, depends on the shell you use. If you use a +Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et +al.), put the following into your \filename{$HOME/.profile} file: +\begin{alltt} +PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH +TEXMFSYSVAR=/opt/texlive2005/texmf-var; export TEXMFVAR +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH +setenv TEXMFSYSVAR /opt/texlive2005/texmf-var +\end{alltt} + +\noindent Then log out, log back in, and test your installation +(see section~\ref{sec:test-install}, \p.\pageref{sec:test-install}). + +\def\textifindoubt{% +If in doubt, please ask any local system gurus to help you with +problems; for example, the way to mount the \TL{} media, which +directory or directories to use, and precise details of the changes to +your personal initialization files can and do vary from site to site. +} +\textifindoubt + + +% +\subsection{Installing \protect\TeX\protect\ Live to disk} +\label{sec:unix-install-disk} + +It is possible, indeed typical, to install the \TL{} distribution to +hard disk. This can be done from either the \pkgname{live} or +\pkgname{inst} distributions. (See section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}, for an explanation of the different +distributions.) + +\startinst +\installtlsh + +Table~\ref{tab:main-menu-options} briefly lists the options in the main +menu. The order in which you select the options makes little +difference, except that \Ucom{i} must be last. It's reasonable to go +through them in the order presented here. + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Main menu options for the installation.} +\label{tab:main-menu-options} +\begin{tabular}{>{\ttfamily}ll} +p & The platform you are running on.\\ +b & The architectures for which to install binaries.\\ +s & The base installation scheme to use (minimal, recommended, + full, etc.)\\ +c & Override the base scheme for individual collections.\\ +l & Override for language collections.\\ +d & Directories in which to install.\\ +o & Other options.\\ +i & Perform the installation.\\ +\end{tabular} +\end{table} + +Here are further details on each option. + +\textbf{\optname{p} -- Current platform.} Since the installation script +automatically guesses which platform you're running on, it is usually +unnecessary to use this option. It's there in case you need to override +the automatic detection. + +\textbf{\optname{b} -- Binary architectures.} By default, only the +binaries for your current platform will be installed. From this menu, +you can select installation of binaries for other architectures as well +(or omit installing the current platform). This can be useful if you are +sharing a \TeX\ tree across a network of heterogenous machines. For a +list of the supported architectures, see table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}. + +\textbf{\optname{s} -- Base installation scheme.} From this menu, you +can choose an overall set of package collections, called a ``scheme''. +The default \optname{full} scheme installs everything available, but you +can also choose the \optname{basic} scheme for a minimal system, or +\optname{medium} to get something in between. There are also specific +sets for Omega and \acro{XML}. + +\textbf{\optname{c} -- Individual collections.} From this menu, you can +override the scheme's set of collections to install. Collections are +one level more detailed than schemes\Dash collections consist of one or +more packages, where packages (the lowest level grouping in \TL) contain +the actual \TeX\ macro files, font families, and so on. In this menu, +selection letters are case-sensitive. + +\textbf{\optname{l} -- Language collections}. This menu has the same +basic purpose as \Ucom{c}, to override the collection set in the chosen +scheme. In this case, the collections are specifically for different +languages. Selection letters are case-sensitive here too. Here is a +list of the language collections in \TL: + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +\begin{tabbing} +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \kill +(some) African scripts \> +Arabic \> +Armenian \> +Chinese\,Japanese\,Korean \\ +Croatian \> +Cyrillic \> +Czech/Slovak \> +Danish \\ +Dutch \> +Finnish \> +French \> +German \\ +Greek \> +Hebrew \> +Hungarian \> +Indic \\ +Italian \> +Latin \> +Manju \> +Mongolian \\ +Norwegian \> +Polish \> +Portuguese \> +Spanish \\ +Swedish \> +Tibetan \> +\acro{UK} English \> +Vietnamese \\ +\end{tabbing} + +\noindent Language collections typically include fonts, macros, +hyphenation patterns, and other support files. (For instance, +\pkgname{frenchle.sty} is installed if you select the \optname{French} +collection.) In addition, installing a language collection will alter +the \filename{language.dat} configuration file controlling which +hyphenation patterns are loaded. + +\textbf{\optname{d} -- Installation directories}. Three directories can +be changed here: +\label{text:instdir} + +\begin{ttdescription} +\item [TEXDIR] The top-level directory under which +everything else will be installed. The default value is +\dirname{/usr/local/texlive/2005}, and is often changed. We recommend +including the year in the name, to keep different releases of \TL{} +separate. (You may wish to make a version-independent name such +\dirname{/usr/local/texlive} via a symbolic link, which you can then +update after testing the new release.) + +Under \MacOSX, the usual frontends look for \TeX{} in +\dirname{/usr/local/teTeX}, so you may wish to install \TL{} there. + +\item [TEXMFLOCAL] This tree is where the \TeX{} system (not as part of +the initial installation, but rather as time goes by) puts +non-version-specific files, primarily fonts. The default value is +\dirname{/usr/local/texlive/texmf-local}, independent of the current +\TL{} release, because it's also the recommended location to put any +local packages or configuration settings. + +\item [TEXMFSYSVAR] This tree is where \cmdname{texconfig-sys} puts +files that \emph{are} version-specific. The default value is +\dirname{TEXDIR/texmf-var}, and there's generally no reason to change +it. There is also \envname{TEXMFSYSCONFIG}, which is where +\cmdname{texconfig} looks for modified configuration data. See +section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig} for more +information. + +\end{ttdescription} + +\textbf{\optname{o} -- Other options.} From this menu, you can select +the following general options: + +\begin{ttdescription} +\item [a] Specify an alternate directory for generated fonts. +The default is to use the \envname{TEXMFVAR} tree, as explained above. +Setting this is useful if you plan to mount the main tree read-only, and +therefore you need another location (perhaps host-specific) for +dynamically created fonts. + +\item [l] Create symbolic links for the binaries, man pages, +and\slash or \acro{GNU} Info files in other locations. For example, you may +wish to make the man pages available under \dirname{/usr/local/man} and +the Info files available under \dirname{/usr/local/info}. (Of course +you need appropriate privileges to write in the specified directories.) + +It is not advisable to overwrite a \TeX\ system that came with your +system with this option. It's intended primarily for creating the links +in standard directories that are known to users, such as +\dirname{/usr/local/bin}, which don't already contain any \TeX\ files. + +\item [d] Skip installation of the font/macro documentation tree. +This is useful if you need to save space, or if you've previously +installed the documentation elsewhere. + +\item [s] Skip installation of the main font/macro source +tree. This is useful if you are arranging to share that tree between +machines and\slash or architectures in some other way, such as \acro{NFS}. + +\end{ttdescription} + +\textbf{i -- Perform installation.} When you're satisfied with your +configuration options, enter \Ucom{i} to actually do the installation +from the media to your chosen locations. + +% text is similar to above, but no TEXMFSYSVAR, so we have to write out. +After the installation completes, your next step is to include the +architecture-specific subdirectory of \dirname{TEXDIR/bin} in your +\envname{PATH}, so the newly-installed programs can be found. The +architecture names are listed in table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}, or you can simply list the directory +\dirname{TEXDIR/bin}. + +The syntax for doing this, and the initialization file to use, depends +on your shell. If you use a Bourne-compatible shell (\cmdname{sh}, +\cmdname{bash}, \cmdname{ksh}, et al.), put the following into your +\filename{$HOME/.profile} file: + +\begin{alltt} +PATH=/usr/local/texlive/2005/bin/\var{archname}:$PATH; export PATH +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /usr/local/texlive/2005/bin/\var{archname}:$PATH +\end{alltt} + +\textruntexconfig + +Here is a minimal annotated example which accepts the default +directories and installs binaries for the current system only. Thus, +only one command is needed, \Ucom{i} for install. The \texttt{>} is the +shell prompt as usual. + +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{i} # perform installation +> \Ucom{texconfig} ... # see section \ref{sec:texconfig} +# New PATH element, with Linux as the example: +> \Ucom{PATH=/usr/local/texlive/2005/bin/i386-linux:$PATH; export PATH} +\end{alltt} + +\textifindoubt + + +% +\subsection{Installing individual packages to disk} + +You can add individual packages or collections from the current +distribution to an existing non-\TL{} setup, or an earlier +\TL{} installation. + +\startinst + +Run the installation script \filename{install-pkg.sh} (not +\filename{install-tl.sh}, which is intended for complete installations +only): +\begin{alltt} +> \Ucom{sh install-pkg.sh \var{options}} +\end{alltt} + +The first set of options controls what gets read: + +\begin{ttdescription} +\item [-{}-package=\var{pkgname}] The individual package to work on. + +\item [-{}-collection=\var{colname}] The individual collection to work on. + +\item [-{}-nodoc] Exclude documentation files from the operation. + +\item [-{}-nosrc] Exclude source files from the operation. + +\item [-{}-cddir=\var{dir}] Source directory to read from; defaults +to the current directory. If you followed the instructions above, that +will be the distribution directory, and won't need to be changed. + +\item [-{}-listdir=\var{dir}] The so-called `lists' directory within +\var{cddir} from which to read the package information. The only +reason to change the default is if you're making changes to \TL{} +yourself. + +\end{ttdescription} + +What actually happens is controlled by the following options. If +neither of these are specified, the default action is to install the +selected files. The main destination tree is found by expanding +\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by +setting either the environment variable \envname{TEXMFMAIN} or +\envname{TEXMF}. + +\begin{ttdescription} +\item [-{}-listonly] List the files that would be installed, but don't +actually install anything. + +\item [-{}-archive=\var{tarfile}] Instead of installing the files into +the \TeX{} system, make a \cmdname{tar} archive. + +\end{ttdescription} + +Additional options: + +\begin{ttdescription} + +\item [-{}-config] After installation, run \code{texconfig init}. + +\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to +rebuild the filename database. + +\item [-{}-verbose] Give more information as the script runs. + +\end{ttdescription} + +Here are some usage examples: + +\begin{enumerate} + +\item To see the files in the package \pkgname{fancyhdr} without +installing it: + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} +> \Ucom{--listonly} +\fi{} +texmf/doc/latex/fancyhdr/README +texmf/doc/latex/fancyhdr/fancyhdr.pdf +... +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{alg} without source files or +documentation: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} + +\item Install all the packages in the collection of additional +plain \TeX\ macros: +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item Write all files in the \pkgname{pstricks} package to a +\cmdname{tar} file in \path|/tmp|: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} + +\end{enumerate} + +\textifindoubt + + +% +\section{Post-installation} +\label{sec:postinstall} + +After the main installation is done, for any operating system, the +remaining steps are to configure the system for your local needs, and +perform some basic tests. + +Another sort of post-installation is to acquire packages, fonts, or +programs that were not included in \TL{}. The basic idea is to +install such additions in the \envname{TEXMFLOCAL} tree (if you +installed to disk), or \envname{TEXMFSYSVAR} (if you are running live). +See the ``Installation directories'' option on \p.\pageref{text:instdir}. + +Unfortunately, the details can and do vary widely, and so we do not attempt to +address them here. Here are some external links to descriptions: +\begin{itemize*} +\item +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} +\item +\url{http://www.ctan.org/installationadvice} +\item +\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} +\item +\url{http://www.ctan.org/tex-archive/info/Type1fonts} for +installation information for fonts in particular. +\end{itemize*} + + +\subsection{The \protect\cmdname{texconfig} program} +\label{sec:texconfig} + +At any time after installation, you can and should use the program +\cmdname{texconfig} to configure the system to fit your local needs. It +is installed in the architecture-specific subdirectory +\texttt{TEXDIR/bin/\var{arch}} along with everything else. + +If you run it without arguments, it will enter full-screen mode and +allow you to view and change options interactively. + +You can also run it with various command-line options. Here are some of +the most common (\TL{} is configured for the A4 paper size by default): + +\begin{ttdescription} + +\item [texconfig paper letter] Set default paper size for +various programs and drivers (\cmdname{pdftex}, \cmdname{dvips}, +\cmdname{dvipdfm}, \cmdname{xdvi}) to be \acro{US} letter. The other +allowable size is \optname{a4}, which is the default. + +\item [texconfig rehash] Update all the \TeX{} ``filename databases'', +after adding or removing files. + +\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. +(See also the main \TeX{} \acro{FAQ} in \OnCD{texmf-doc/doc/english/FAQ-en}.) + +\item [texconfig help] Output help information for \cmdname{texconfig}. + +\end{ttdescription} + +Of course, \cmdname{texconfig} can only support changing a few of the +many options and configuration parameters in a \TeX{} system. The main +configuration file for the base \Webc{} programs is named +\filename{texmf.cnf}. You can find its location by running +\samp{kpsewhich texmf.cnf}; it contains many comments explaining the +default settings and useful alternatives. + +As of 2005, \cmdname{texconfig} alters files in a user-specific +directory, namely \dirname{$HOME/.texlive2005}. If you install \TeX\ +just for yourself, that is unlikely to make a difference. But if you +install \TeX\ on a multi-user system, you will want to change the +configuration for the whole system. In this case, run +\cmdname{texconfig-sys} instead of \cmdname{texconfig}. + +Likewise, the \cmdname{updmap} and \cmdname{fmtutil} scripts were +changed, to work under \dirname{$HOME/.texlive2005}. To alter system +directories, use \cmdname{updmap-sys} and \cmdname{fmtutil-sys}. + +In particular, for multi-user systems, you will probably want to +pregenerate the standard formats with \texttt{fmtutil-sys --missing}. +Otherwise, each user will end up with their own formats. + +Also, if you have a personally-modified copy of \filename{fmtutil.cnf} +or \filename{updmap.cfg}, instead of using the ones generated by +installation, they must be installed in the tree referenced by the +variable \envname{TEXMFSYSCONFIG}. + +The variables specifying the directories altered by these commands are +listed in section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. +You can see the actual directories by running \texttt{texconfig conf}, +and you can change them by editing \filename{texmf.cnf}. + + +\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; 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.141592 (Web2C 7.5.5) +kpathsea version 3.5.5 +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, most likely you don't have the correct +\dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{text:path}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.141592... +... +Output written on sample2e.dvi (3 pages, 7496 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, perhaps +you have interference from old environment variables or configuration +files. For a deep analysis, you can always ask \TeX{} to report on +exactly what it is searching for, and finding; see ``Debugging actions'' +on page~\pageref{Debugging}. + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Under Windows, the analogous command is \cmdname{windvi}.) 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 the system.) +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} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +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. + +\item Other standard test files you may find useful: + +\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} +You can process these in the same way as we did with +\filename{sample2e.tex}. + +\end{enumerate} + +If you are new to \TeX{}, or otherwise need help with actually +constructing \TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html} for some introductory resources. + + +\section{\MacOSX{} installation} +\label{sec:mac-install} + +The recommended way to install \TeX\ on \MacOSX\ is from the Mac\TeX\ +distribution, new in 2005. This is provided on the \pkgname{live} +\DVD{} in the top-level \dirname{mactex/} directory. It contains its +own (native) installer for a full \TeX\ distribution, based on a +combination of te\TeX\ and \TL, along with many additional applications +and documentation. The project web page is \url{http://tug.org/mactex}. + +If you prefer, installation of \TeX{} under \MacOSX{} can also be done +directly from \TL, using the \filename{install*} scripts, as follows. + +In order to run the installation scripts under \MacOSX, you need to have +the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 +or later, you have \cmdname{bash}, and can proceed. If you're running +an earlier \MacOSX{} version, however, the default shell is +\cmdname{zsh}, which won't work; you'll need to get \cmdname{bash} from +the Internet, or more likely upgrade your system. + +Once you have \cmdname{bash}, the Unix installation documentation in the +previous section can be followed. See section~\ref{sec:unix-install} on +\p.\pageref{sec:unix-install}; \MacOSX-specific notes are included there +where needed. + +\section{Windows installation} +\label{sec:win-install} + +In this release of \TL{}, happily, the distribution once +again has a native Windows installer, named \cmdname{tlpmgui.exe}. (See +section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}, for an +explanation of the different distributions.) + +\cmdname{tlpmgui} has essentially the same options as the Unix +installer, only done through a GUI interface: selecting schemes, +individual collections, installation directories, and so on. +Section~\ref{sec:unix-install-disk} on +\p.\pageref{sec:unix-install-disk} describes the basic elements. It +also allows some post-installation activities such as adding/removing +packages, updating the filename database and building formats. +Moreover, \cmdname{tlpmgui} can setup the system for running +programs directly from the \DVD. + +For those who like to look underneath the hood, \cmdname{tlpmgui} uses +as its ``engine'' a command-line Windows program named \cmdname{tlpm}. + +The Windows \TeX{} system included in \TL{} is based on new binaries +borrowed from the \XEmTeX{} project, formerly known as \fpTeX{} (see +\url{http://www.metz.supelec.fr/~popineau/xemtex-1.html}). +It also includes some older (but still working) tools, notably +a \texttt{dvi} previewer, \textsf{Windvi}, which is similar in usage to +the established Unix \textsf{xdvi}. The documentation can be found in +\OnCD{texmf/doc/html/windvi/windvi.html}. + +\TL{} can be installed on systems running Windows 98, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) +and \acro{MS-DOS} are not supported. + +\textbf{Warning:} Win9.x users must ensure they have enough environment + space before undertaking installation. The \cmdname{tlpmgui.exe} + program won't change the environment size for them. A few environment + variables will be created and it is possible you run out of + environment space. Add \texttt{SHELL=COMMAND.COM /E:4096 /P} in the + config.sys file in order to increase your environment size. + +\subsection{Installing \protect\TeX\protect\ Live to disk} + +After inserting the \TL{} CD into the \acro{CD} drive, autostart should +activate \cmdname{tlpmgui}. If it does not, click \guiseq{Start\arw Run}, +then type \verb|:\setup-win32\tplmgui.exe| (or +\verb|:\texlive\setup-win32\tplmgui.exe| if you are +installing from the TeX Collection DVD), where \verb|| +is the drive letter with the TeX Live CD (or TeX Collection DVD), and +then click OK. + +The installation window titled \guiseq{TeX Live installation and maintenance +utility} should open. It contains the following sections: \guiseq{Main +customization}, \guiseq{Install}, \guiseq{Select a scheme}, \guiseq{Select +systems}, \guiseq{Directories} and \guiseq{Options}. + +In the \guiseq{Directories} section the installation drive (directory) next +to the \guiseq{CD/DVD} button should be displayed (e.g., \texttt{F:/} or \texttt{F:/texlive/} for the DVD), but +if it is not, then click the \guiseq{CD/DVD} button and select the \acro{CD/DVD} +drive, with the \TL{} CD (or TeX Collection DVD). + +The directory in which you wish to install the software can be set by +clicking the \guiseq{TLroot} button. This directory will be set as +\path|TLroot| environment variable for later usage. The \path|TEXMFTEMP| and +\path|TEXMFCNF| environment variables as displayed next to the +\guiseq{TEXMFTEMP} and \guiseq{TEXMFCNF} buttons will be adjusted +automatically and set during installation, but they can also be adjusted +manually now to suit special needs. + +In the \guiseq{Select a scheme} section the desired \TL{} installation scheme +should be chosen by clicking the radio button labelled with the installation +scheme name (e.g., \guiseq{scheme-gust}). Each scheme is accompanied by an +\guiseq{Info} button which, when clicked, displays a short description of the +relevant scheme. + +A scheme is a large set of files targeted at some kind of usage. There are +generic schemes for basic, medium and full installations. The remaining ones +are either targeted at certain LUGs (i.e., what GUST or GUTenberg propose +for their members) or application targeted (e.g., for XML and \TeX{} +cooperation). A preselected scheme can be refined. This is done in the +\guiseq{Main customization} section by choosing additional collections from +\guiseq{Standard collections} or \guiseq{Language collections}. For example, +by clicking the \guiseq{Select} button labelled \guiseq{Standard +collections}, additional collections like Metapost, Omega or documentation +in different languages can be selected. + +\textbf{Note:} The \guiseq{Ghostscript}, \guiseq{Perl} and \guiseq{Wintools} +collections are selected by default and should be installed unless they are +already installed and you really know what you are doing. This is because +they are required by many important tools. The \verb|PERL5LIB| and +\verb|GS_LIB| environment variables will be set too. + +Next, clicking the \guiseq{Select} button labelled \guiseq{Language +Collections} in the \guiseq{Main customization} section opens the +\guiseq{Language collections} window in which the installation language can +be chosen by ticking the box next to the language. + +Next, click the \guiseq{Install} button in the \guiseq{Install} section to +start the installation proper process. + +The \TL{} system needs some post-processing steps (format files +generation, ls-R databases generation, environment variables, etc.). All +these operations are done there, some of them can be lengthy. So please wait +until you see a statement about the successfully finished installation. + +The shortcut for \cmdname{tlpmgui} will be added to the +\guiseq{Start\arw Programs\arw TeXLive2005} menu. + +If it is needed (Win9x/WinME), you will be asked to reboot your computer. + +\subsection{Support packages for Windows} +\label{sec:win-xemtex} + +To be complete, a \TL installation needs support packages that are not +commonly found on a Windows machine. Many scripts are written using the Perl +language. Some important tools require the Ghostscript \PS{} interpreter to +render or to convert files. A graphic file toolbox is also needed in some +cases. Last but not least, a \TeX-oriented editor makes it easy to type in +your \TeX{} files. + +All these tools are quite easy to find for Windows, but in order to try to +make your life even easier, we have put such a set of tools on \TL: +\begin{itemize*} +\item GNU \cmdname{Ghostscript} 7.07 +\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TL{} + Perl scripts. +\item win-tools is a set of small programs (bzip2, gzip, jpeg2ps + and tiff2png) +%\item a subset of \cmdname{ImageMagick} 5.5.6 +%\item the \cmdname{ISpell} checker +%\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support +%\TeX{} typesetting. +\end{itemize*} + +These packages are borrowed from the \XEmTeX{} distribution +(the successor of fp\TeX). + +Perl and Ghostscript are installed by default; you may explicitly +deselect them during installation if you already have them. + +If you don't want to install this bundle, then you are on your own to +install the required tools to complete your \TL{} system. Here is a +list of places to get those tools: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (but you might need some + supplementary packages from CPAN: \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com} +\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to + process or convert your graphic files. NetPBM home page is + \url{http://netpbm.sourceforge.net/} +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection: + \begin{itemize*} + \item \cmdname{GNU Emacs} is available natively under Windows, see + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} + \item \cmdname{XEmacs} is available natively under Windows, see + \url{http://www.xemacs.org/} + \item \cmdname{WinShell} is available on \TL in the \path|support| + directory, see \url{http://www.winshell.de} + \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} + \item \cmdname{Vim} is available on \TL{} in the + \path|support\vim| directory and the + reference site is \url{http://www.vim.org} + \item TeXnicCenter is free software, available from + \url{http://www.toolscenter.org} and in the proTeXt distribution. + \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} + \end{itemize*} +\end{description} + +You might want to install other tools that are not free\footnote{Not +free, that is, in the sense of freedom to modify and redistribute, +following free software guidelines. This does not mean you can't acquire +them for no money.} and therefore not included on \TL{}, such as +\cmdname{GSView}, the \cmdname{Ghostscript} companion to more +conveniently view PS/PDF files. \cmdname{GSView} is available from +\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. + +\section{Maintenance of the installation in Windows} + +If you have TeX Live installed, you can use \cmdname{tlpmgui} again +for modyfying and maintaining your installation. + +\subsection{Adding/removing packages} + +As the \cmdname{tlpmgui} shortcut is available in the \guiseq{Start\arw +Programs\arw TeXLive2005} menu, start it from here. The maintenance window +titled \guiseq{TeX Live installation and maintenance utility} shows. It +contains several tabs: \guiseq{Add Packages}, \guiseq{Remove packages}, +\guiseq{Manage installation}, \guiseq{Remove installation}. + +Click the tab labelled \guiseq{Add packages} or \guiseq{Remove packages} +to enter the relevant functionality and then: + +\begin{itemize} +\item In the first tab select the proper \CD{} drive (or \DVD with + \texttt{texlive} directory) by pressing the \guiseq{CD/DVD} button. +\item Click the \guiseq{Search} button in the \guiseq{Buttons} section to +display or refresh in the \guiseq{Select packages to\dots} section the +list of packages to install or remove. + +When adding packages, the list of installed packages is compared to the list +of packages available from your \CD/\DVD. Only packages not already installed are +displayed. It is up to you to select which packages you want to +install. + +When removing individual packages, only a list of installed packages +will be displayed. + +Please note that for both \guiseq{Add packages} and \guiseq{Remove packages} +the collections are listed first. + +\item Select a package by clicking on the name of the package. Clicking the +\guiseq{Info} button in the \guiseq{Buttons} section displays a short +description of the selected package in the window located in the \guiseq{Info +about the selected item} section. To select several packages at once hold +down one of the Ctrl or Shift keys at your keyboard while holding down the +left mouse button or drag the mouse pointer while holding down the left mouse +button. + +\item Click the \guiseq{Install} or \guiseq{Remove} button in the +\guiseq{Buttons} section to perform the appropriate action. +\end{itemize} + +\subsection{Configuring and other management tasks} + +The functions available in the tab labelled \guiseq{Manage the installation} +are helpful in performing actions needed when you want to add support for a +language which was not selected during the installation, or add/regenerate a +format which was not selected during the installation or was modified after +the installation. + +The following actions can be performed: + +\begin{itemize} +\item Refresh the \filename{ls-R} database +\item Create formats (All or Missing) +\item Edit \filename{language.dat} +\item Edit \filename{fmtutil.cnf} +\item Edit \filename{updmap.cfg} +\end{itemize} + +Note: you can close the Edit\dots{} window with the \guiseq{Cancel} or +\guiseq{Done} button; the latter will start rebuilding the format files +(or the fontmap files if you have edited \filename{updmap.cfg}), followed by a +\filename{ls-R} database files refresh. + +For more information about the configuration see section~\ref{sec:persconf}, +\p.\pageref{sec:persconf}. + +\subsection{Uninstalling \protect\TL{}} + +The tab labelled \guiseq{Remove the TeX Live installation} opens a window +which contains functionality not worth describing and we do not know who would +need it and what it is for\dots :-) + +Anyway, if you have the \path|texmf-local| directory for your local additions, +the removal procedure will not wipe it out or delete things in it. The \path|setup-win32| +directory containing \cmdname{tlpmgui} and related files will not be deleted. You will have to do some manual cleanup to +actually remove them. + +\subsection{Adding your own packages to the installation} + +First, whatever changes you make, \textbf{do not forget to rebuild the ls-R +database files}. Otherwise, your new files will not be found. You can do this +either via the \cmdname{tlpmgui} run and selection of the appropriate action +from the \guiseq{Manage the installation} tab, or manually running the +\file{mktexlsr} command. + +If you want to add files that are not provided by the \TL{} distribution, +it is recommended to put them in the \path|$TEXMFLOCAL| directory. This +way, you will be safe against upgrades of the \TL{} software. + +The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, +for example, you want to add the support file for the Maple symbolic +computation program, you will have to put the style files in:\\ +\path|c:\TeXLive2005\texmf-local\tex\latex\maple\|\\ and the +documentation files in:\\ \path|c:\TeXLive2005\texmf-local\doc\latex\maple\| + +\subsection{Running \texttt{tlmp.exe} from the command line} +The \cmdname{tlpm.exe} program which is used as engine by \cmdname{tlpmgui} +has a number of other useful options. You can get the list by running: +\begin{verbatim} +tlpm --help +\end{verbatim} + +More information and examples of use can be found in \path|tlpm.readme|. + +\subsection{Network installation} + +\KPS{} knows about UNC names, so you can use them to get your TEXMF +tree from the network. But there is better than this. +All the support files and configuration files, everything except the files in the +\path|bin/win32| are shareable with a \teTeX{} or Unix \TL{} installation. That means +you can use Samba either to mount from an NT server to a Unix +workstation or the converse. Several strategies are possible: +\begin{itemize} +\item Put everything on the server. Just add each set of files for the OS and +architecture you want to use in the \path|bin| directory. That means +for example \path|bin/win32| and \path|bin/i386-linux|. Next configure +your main variables. You can use UNC names to +point to the right directories under Win32. +\item Install a local copy for the binaries and format files. In this + case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that + will be accessed remotely. Set \path|$TEXMFVAR| to be a local + directory which will hold local configuration files and on-the-fly + generated files. +\end{itemize} + +\subsection{What's different in Windows?} + +The Windows version of \Webc{} has some specific features that should be +pointed out. + +\begin{description} +\item[\KPS{}] The hash-tables that \KPS{} builds are quite large for + the \TL{}. In order to cut down the starting time of any + \KPS{}-enabled program, these hash-tables have been put in shared + memory. This way, when you chain the execution of several such + programs, like \path|tex| calling \path|mpost| calling \path|tex|, + the overhead when starting each of the subprograms is + reduced. This change is hidden to the user, except if you set the + debug flag of kpathsea to the \path|-1| value: you will then trace + access to the shared memory, which is not what you want (it is + accessed very often!). What is useful in a log trace of the shared + memory access is still to be defined, so the situation might evolve + in the future. +\item[\cmdname{kpsecheck}] This command provides some options that did + not fit well into \cmdname{kpsewhich}. It will allow you to list all + the files that occur multiple times across your texmf trees. This + could be handy, but most of the time you will also get unwanted + output (like dozens of \path|README| files). It is noticeable + that all these files result in clashes inside the \KPS{}-hashing + mechanism; fortunately, \KPS{} never looks for these files. For + this reason, you can combine the \path|-multiple-occurrences| with 2 + other options for including or excluding any filename that match + some pattern (you can request for several patterns). + + The \cmdname{kpsecheck} command will also report the status of shared + memory: in use or not used. That might be useful to know because if + the status reported is \samp{in use}, that means one or several + processes are working, and the effect of any \cmdname{mktexlsr} + command will be delayed until the next time where no \KPS{} linked + process will be running. + + Last, this same command will report about the location it thinks + Ghostscript can be found. Under Win32, for many programs, it is + easier to use the Ghostscript dll, and find it by using the + Ghostscript registry key than to change the \path|PATH|, which has a + limited length anyway. +\item[\Webc{}] The engines have a few more options than in Unix + \Webc{}, and one option with a different behavior: + \begin{itemize} + \item \path|-halt-on-error| stop the compilation at the first error. + \item \path|-job-time| set the job time to the same timestamp as the + file given in argument. +\item \path|-oem| use the DOS codepage for console output. + \item \path|-output-directory| allow to write all the output files in the + specified directory. + \item \path|-time-statistics| print statistics about the job run + time. It is to be noted that Win9x not being a true multitasking + operating system, it has no reliable timer for short periods, so + the value printed is an approximation. Under NT/2K/XP, the result + is quite accurate with user time and system time values allocated + for this run. For Unix + users: the \path|time| command is not usually available to Windows + users. + \end{itemize} +\end{description} + +\subsection{Personal configurations} +\label{sec:persconf} + +\subsubsection{Dvips} + +The configuration file for dvips can be found in\\ +\verb+C:\TeXLive2005\texmf-var\dvips\config\config.ps+\\ +You may open it with any editor + %(\cmdname{WinShell} will do fine) + and change some parameters: + +\begin{description} +\item [fonts] you can change the default printer \MF{} mode or printer + resolution in case \cmdname{dvips} needs to generate PK fonts. By default it + is configured to use Type~1 versions of the CM fonts, so it should + not call \cmdname{mktexpk} too often; +\item[printer] you can tell dvips where you want to print by default. If + the \optname{o} option is not followed by a printer name, then a + \file{.ps} \PS{} file is written. You can give dvips a printer + name such as: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] Next, you might want + to change the paper size from European (A4) to US letter + by making the US letter the first paper size mentioned in the file. + Scroll to the group of lines beginning with \code{@}. Move + the appropriate lines so that this section begins with the lines:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +The current \TL{} distribution implements the procedure of making +always up-to-date fontmaps files for Dvips and Pdftex. This is done by +the \cmdname{updmap} program during installation, as well as during any +font package addition. If you add new packages by hand, edit the file +\verb+updmap.cfg+ in \path|$TEXMFVAR/web2c|. + +\subsubsection{PdfTeX} + +If you use the program pdf{}latex to write \acro{PDF} format directly, +and you are using \acro{US} letter-size paper, edit the file +\verb+C:\TeXLive2005\texmf-var\tex\generic\config\pdftexconfig.tex+ and +change \samp{\bs pdfpagewidth} and \samp{\bs pdfpageheight}. These entries +should read: +\begin{alltt} +\bs{}pdfpagewidth=8.5 true in +\bs{}pdfpageheight=11 true in +\end{alltt} +Save the file and exit the editor. + +\subsubsection{GSView} +GSView is now distributed under the Aladdin License, and therefore is no +longer included in \TL{}. + +If you may want to change the page size to US letter size. If so, open +GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. + +Also, there are menu settings that are supposed to give you the most +readable screen image. On \guiseq{Media \arw Display Settings}, set both +\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. + +Note that the installation process has set all \code{.ps} and +\code{.eps} files to automatically open with \cmdname{GSView}. + +For printing instructions, see section~\ref{printing} below. + +\subsubsection{WinDvi} +\label{sub:windvi} + +The \file{tlpmgui.exe} program takes care of associating the files +with the \file{.dvi} extension with \file{Windvi}, but it doesn't make an icon +on the desktop, so please do it yourself. + +Open \cmdname{windvi} by clicking an icon or from the command line. + +You can set it for US letter-size paper by going to \guiseq{View\arw +Options\arw Papertype} and selecting US (8.5\verb+"+ x 11\verb+"+) (and +then \optname{OK}. Exit \cmdname{windvi}. + +You can change other parameters from there as well, such as the ability +to execute system commands specified by the document (disabled by +default for security reasons). Also, the first time you view any .dvi +file, you may find the magnification too large. Zoom out until you get +an appropriate size. + +All configuration settings for \cmdname{windvi} are stored in a file +named \path|windvi.cnf| file. You can find it by running this command at +the prompt: +\begin{verbatim} +c:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +Should you have problems with \cmdname{windvi}, please remove the +configuration file and test your problem against a vanilla configuration. + +\subsection{Testing} + +For generic verification procedures, see section~\ref{sec:test-install} +(\p.\pageref{sec:test-install}). This section describes +Windows-specific tests. + +Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), +found in \path|C:\TeXLive2005\texmf-dist\tex\latex\base|. The \LaTeX\ source +should appear on the screen. Process it by clicking on the +\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar +(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} +menu (XEmacs) or Preview (Windvi) icon (WinShell). + +At first, when you preview files with Windvi, 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. + +\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ +cannot find a file, you can press Ctrl-z to quit. + + +\subsection{Printing} +\label{printing} + +It is possible to print from Windvi. In this case, printing will be done +using the Windows unified printer driver. By definition, it is +compatible with all printers. However, there is some drawback: it can +generate some huge spool files, and some (older) versions of Windows +just don't like them. The advantage is that you can use features like +embedding BMP or WMF images. You also need to make sure that the printer +parameters are correctly set (subsection~\ref{sub:windvi}), else you +will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer +will give you only one quadrant of your page). + +Printing is faster and more reliable if you run \cmdname{dvips} to make +a \filename{.ps} file and then print from \cmdname{GSView}. In +\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} +window will appear. + +If you are using a \PS{} printer, \textit{be sure to select +\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box +at the bottom left of the \guiseq{Print} window. You can then select any +of the printers that you have previously installed. If you fail to +check the box for \optname{\PS{} Printer}, printing will not work. + +If you will be using your own non-\PS{} printer, select +\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click +on the button to the right labelled \guiseq{djet500} and select your +printer type from the list that pops up. (In the older version of +\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} +selected, then select your printer type from the \guiseq{Device} list.) + +\subsection{Tips and tricks for Win32} + +\subsubsection{Different flavors of Win32} + +What we call Win32 is not an operating system by itself. It is a large +set of functions (around 12,000 in the header files of the Microsoft +\acro{SDK}) that you can use to write programs for different operating +systems of the Windows family. + +Windows comes in different flavors: +\begin{itemize} +\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, + multithreading} environments. They are the latest\Dash and hopefully + last\Dash metamorphosis of \acro{DOS}. This can be more or less proven + by the fact that when booting, the PC will load the \path|command.com| + interpreter, and if you stop the boot process at this point, you can + ask for the current (\acro{DOS}) version and it will answer something + like \samp{MS-DOS 7.0} (at least for the old versions of Win9x). +\item Windows \acro{NT}, which is a new operating system written from + scratch, capable of true multitasking behavior, and including many + high level features. +\item Windows 2000, based on \acro{NT}, with all the bells and + whistles of Win98. +\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is + the last step in merging both lines of products (Win9x based and + \acro{NT} based). \acro{XP} is based on \acro{NT}. +\end{itemize} + +Win9x are able to run 32~bits programs and 16~bits programs +concurrently. But the operating system by itself is not entirely +written in 32~bits mode, and does not support memory protection: 16bits +applications can overwrite parts of the operating system memory! Some +parts of the system like the \acro{GDI} (Graphical Device Interface) +manage limited resources like bitmaps, fonts, pens and so on for the set +of all programs that run concurrently. All the bitmaps headers available +at the same time can't amount for more than 64kB. This explains the +performance tool and the fact that you can put your system on his knees +by making intensive use of graphic objects for example. + +NT, 2K and XP do not suffer from these limitations, and neither from +other Win9x limitations. They are true multitasking environments, with +protected memory. They are much more responsive than Win9x because +of better memory management, better file system and so on. + +\subsubsection{Command line prompt} + +You may wonder, ``Why would I need to use a command line prompt when +I have Windows?'' + +Good question. The problem is of very general nature. Not all operations +can be done easily using only a \acro{GUI}. Command line gives you +programming power\Dash assuming a clever command interpreter. + +But the problem here is more fundamental: \TeX{} is \emph{a batch} +tool. Not an interactive one. \TeX{} needs to compute the best +layout for each page, resolve cross-references and so on. This can be +done only by a global processing of the document. It is not (yet) a +task that can be done interactively. + +This means that you should use \TeX{} from a command line. In fact the +situation is not so bad. There is an advantage to write command line +tools for complex processing: they are better debugged, because they are +independent of any \acro{GUI} problems, and \acro{GUI} tools can be +designed to interface to the command line tools. This is the case for +\TeX{}, where you will mostly interact with it through a \acro{GUI} text +editor. + +However, you may need to use the command line prompt in a number of +situations. One is when you are having difficulties and want to debug +your setup. + +\begin{description} + \item[Win9x] You can open a command line prompt by looking either for + the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, + or by choosing \guiseq{Start\arw Run} menu typing in + \path|command.com| as the progrm name. + \item[NT, 2K, XP] You can open a command line prompt by looking for + \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. + You can also choose \guiseq{Start\arw Run} and type in + \path|cmd.exe|, which is the name of the brand new command + interpreter for \acro{NT} (thus, it is untrue to call this a + \emph{DOS} box!). +\end{description} + +These locations may change across different Windows versions. + +\subsubsection{Path separators} + +The Win32 API understands both \path|/| and \path|\| characters as PATH +separators. But the command interpreters do not! So whenever a path name +is used programmatically, you can use both separators, and even mix them +up in the same path name. But on the command line, you must type +\path|\| as path separator. The reason is compatibility: the command +processor used \samp{/} to introduce arguments to commands. + +All this to say: do not be surprised to read path names written using +the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible +across platforms. For this reason, all the configuration files that +need to specify path names use the Unix convention. + +\subsubsection{File systems} +\label{sec:clusters} + +The worst feature of Win9x with regard to \TeX{} is probably the +so-called FAT file system. \TeX{} uses very many small files, with size +around 1--3kB. The \acro{FAT} file system is old, and predates by +decades the multi-gigabytes hard disks we have today. As a result, it +cannot manage efficiently the tens of thousands of \TeX{} files found in +\TL{}. The \acro{FAT} file system allocates a minimum of 32kB for +\emph{any} file on a huge partition. It means that \TeX{} will use much +more disk space than it actually needs. + +The other, more modern, file systems available, \acro{FAT32} and +\acro{NTFS}, do not have this drawback. They manage clusters of 4kB +only. (You can lower the limit to 512 bytes on \acro{NTFS}.) + +\subsubsection{How to add some directory to your PATH} + +There are pairs of variables and values which behave much like global +variables inside your programs. The set of those variables is called the +environment. Each program is initialized with a copy of the +environment when it is run. It can request and change the +value of any variable. The changes happen in the copy of the +environment, and is not at all propagated to the other running +programs. + +Your PATH is a special environment variable used to search for +programs you want to run. +There is a different procedure to change it for Win9x, WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line + starting with \texttt{PATH=} and followed by a list of directories separated + by \path|;|. Please add the directory with the executables in this line. + After this, this line could look as follows: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\TeXLive2005\bin\win32 +\end{verbatim} +\item[Windows ME] You need to run the special program + \path|c:\windows\system\msconfig.exe| to be able to change any + environment variable. From this program, select the `Environment' + tab, and then add or modify the variable you want. You will be asked to reboot the + machine upon any change. +\item[Windows NT/2K/XP] + Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the + window with the control panel icons opens. Double click on System. The + System Properties window opens. Click on the tab \textsf{Environment} + or look for a button named \guiseq{Environment Variables} among the + dialog boxes. Now you can change the environment variables for your + user account. Note: There are also displayed the environment settings + for the system. Normally, you can't change the system variables + unless you have administrator rights on your machine. If you want to + change the \texttt{PATH} for all users, you will have to contact your + system administrator or be the system administrator yourself\Dash in + the latter case you should know what you are doing. + + If there is already a \texttt{PATH} setting for your user account, + left click on \texttt{PATH}. In the field \textsf{Variable} appears + \texttt{PATH} while the field Value shows the current setting of + \texttt{PATH} as a list of directories separated by \path|;|. Add + the directory where the executables are located (e.g. + \path|c:\TeXLive2005\bin\win32|). If there isn't a \texttt{PATH} variable + for your user account, simply click in the field Variable and type + in \texttt{PATH}, click in the field \textsf{Value} + and type in the directory with the executables. Important: Click on + the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the + changes to \texttt{PATH} won't apply to your system. Be careful when + changing the environment settings. +\end{description} + +The best way to be sure that a variable has been properly set is to +open a console and type: +\begin{verbatim} +set VARIABLE +\end{verbatim} +which should return the corresponding value. + +\subsubsection{\TeX{} engines} + +If you have a look at the \Webc{} documentation, you will read that all +the various \TeX{} derived programs use the same base engine. For +example, \path|tex.exe| and \path|latex.exe| are exact copies of the +same program, but each one will use a different format file, based on +its calling name. + +Under Unix, this feature is implemented through \emph{symbolic +links}. It saves up a bit of disk space, because some engines are +used with many different format files. + +The Win32 API does not know about file links. So to save up almost +the same amount of memory, all the \TeX{} base engines have been put +in DLLs (\emph{Dynamic Linked Library}). This means that you will have +the following layout: +\begin{alltt} +18/09/2005 14:19 3 584 latex.exe +18/09/2005 14:19 3 584 pdfetex.exe +18/09/2005 14:19 524 288 tl90pdfetex.dll +\end{alltt} +and the \path|latex.exe| file is nothing but a rough copy of +\path|pdfetex.exe| using the same core \path|tl90pdfetex.dll|. +The same trick has been used for the \path|mktex*.exe| family of programs +which are linked to the \path|mktex.dll| library. + +In fact, a generic tool called \path|irun.exe| is provided to build the +equivalent of Unix hard links for executable files only under Win32. + +\subsection{In case of problems} +\label{sec:troubleshooting} + +\subsubsection{What to do if \texttt{latex} does not find your files?} + +\begin{itemize} + +\item \cmdname{kpsewhich} is the tool of choice to debug any +problem. Unfortunately, \cmdname{kpsewhich} outputs debug information +to stderr, and the older Windows consoles do not know how to redirect stderr +to a file. (NT and Windows 2000 consoles know how to do that. But +the trick will work for any console.) For diagnostic purposes you can +temporarily set an environment variable (in a \acro{DOS} box): + +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +You can also set the debug level: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +If you want to redirect stderr to stdout, which is not possible +Windows, then do: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +This way you can capture both stdout and stderr in the same file. + +\item Assuming the installation has been done in \path|c:/TeX|, check + the following values: \\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/TeX| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/TeX/texmf....| \\ + \path|kpsewhich -expand-path $TEXMFCNF| & + \path|.;c:/TeX/texmf-var/web2c;| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/TeX/texmf/tex//| + \end{tabular} +} +\item If you have other \TeX{}-related values already set in your + environment, please, remove them. They are overriding the ones in + texmf.cnf. +\item Check the values from:\\ +{\small + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \path|c:/TeX/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ + \texttt{kpsewhich latex.fmt}& \path|c:/TeX/texmf/web2c/latex.fmt| + \end{tabular} +} +\item At this point, if everything is correct, \TeX{} and friends + should work. If it is not the case, you will need to play with + the \path|-debug=n| option from \path|kpsewhich|, and check back all + the values. Try to identify and report the problem. +\end{itemize} + +\subsubsection{What to do if your setup still does not work as expected?} + +Here are several questions to investigate: + +\begin{enumerate} +\item Is \file{tex.exe} in my \path|PATH|? + +\item Is the \path|TEXMFCNF| variable correctly set to +\path|c:/TeXLive2005/texmf-var/web2c| (default value)? + +\item Are there any errors in the log file generated by the +\file{tlmpgui.exe} program? +\file{tlmpgui.log} can be found in your +\file{TEMP} directory. You can find this by searching for the +string \samp{Error}. Hint: the log file can show some errors after +building all format files. Please do not panic: perhaps some formats +weren't already installed. + +\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? +(Unlikely, but it doesn't hurt to check.) + +\end{enumerate} + +The \TL{} software consists of hundreds of programs and tens of +thousands of files, all from varying sources. So it is quite difficult to +predict all possible causes for problems. Nevertheless, we will do our +best to help you. (See section~\ref{sec:help}, \p.\pageref{sec:help}.) + +% don't use \Webc so the \uppercase in the headline works. +\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{}. + +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. + +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 \web{} and translates them into C source +code. The core \TeX{} programs are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\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[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\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 \acro{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{}. 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 more than one directory tree +simultaneously, which is useful in maintaining \TeX's standard +distribution and local extensions in two 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} + +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{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{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{Debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\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} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\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{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{Default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{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 + +\tolerance=1500 + +\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 +(appproximately; 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{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{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{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); most sites have only one hierarchy. \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 +(\acro{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{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 more important 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{SExamplesofuse} + +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} + +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 +prolog \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 ... \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{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. +\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/html/dvips/dvips_toc.html}). +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{SExamplesofuse} 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 +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 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, + ... + +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 +[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}. + etc.). +\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 TFM files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Approximately 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 \acro{GNU} version of these programs +(\cmdname{gcc}, \acro{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:unix-install-disk} on +\p.\pageref{sec:unix-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} & \acro{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: \acro{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} + +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Sebastian Rahtz and Karl Berry. +The other principal contributors are listed below. + +\begin{itemize*} + +\item The German-speaking \TeX{} Users (\acro{DANTE} e.V.), who provide +the hardware for the \TL{} source repository; and Rainer Sch\"opf and +Reinhard Zierke who look after it. \acro{DANTE} officers Volker Schaa +and Klaus H\"oppner coordinate production with the Lehmann's Bookstore +(\url{http://www.lob.de}). + +\item The Perforce corporation (\url{http://www.perforce.com}), for providing +a free copy of their excellent change management system, which we use +to manage the \TL{} sources. + +\item Peter Breitenlohner and the \eTeX\ team for the stable foundation +of future \TeX's. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would certainly not exist, and whose continual help makes it a better +product. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item Hans Hagen, for major testing and making the \ConTeXt\ format +conform to \TL's needs. + +\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm}, +and Tomasz {\L}uczak, for \cmdname{tlpmgui}. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team for continuing +enhancements of \TeX's abilities. + +\item Petr Olsak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Fabrice Popineau, for the Windows binaries in \TL{}. + +\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 assembly and maintenance of Web2C, +upon which all else depends. + +\item Gerben Wierda, for creating and maintaining the \MacOSX\ support, +and much integration and testing. + +\item Graham Williams, on whose work the catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Tigran Aivazian (\pkgname{x86\_64-linux}), +Manfred Lotz (\pkgname{i386-freebsd}), +Fabrice Popineau (\pkgname{win32}), +Norbert Preining (\pkgname{alpha-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-linux}, + \pkgname{sparc-solaris}), +Staszek Wawrykiewicz (\pkgname{i386-linux}), +Olaf Weber (\pkgname{mips-irix}), +Gerben Wierda (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}). + +Documentation and translation updates: +Karl Berry (English), +Daniel Flipo \& Fabrice Popineau (French), +G\"unter Partosch \& Hartmut Henkel (German), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Boris Veytsman (Russian), +Staszek Wawrykiewicz (Polish). + +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:multiple-dist}, \p.\pageref{sec:multiple-dist}). 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:struct-tl} (\p.\pageref{sec:struct-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-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} directory of \dirname{texmf*} trees, and +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-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/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/doc/pdftex/manual}. + + \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} + +\subsection{Present} +\label{tlcurrent} + +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}. + See section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + +\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} + +\subsection{Future} + +\emph{\TL{} is not perfect!} (And never will be.) We intend to +continue to release new versions yearly, and would like to provide more +help material, more utilities, more installation programs, and (of +course) an ever-improved and checked tree of macros and fonts. This work +is all done by hard-pressed volunteers in their limited spare time, and +a great deal remains to be done. If you can help, don't hesitate to put +your name forward! + +Please send corrections, suggestions, and offers of help to:\hfill\null +\begin{quote} +Sebastian Rahtz \ / \ 7 Stratfield Road \ / \ Oxford OX2 7BG \ / \ UK \\ +\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/live-2007.tex b/Master/texmf/doc/texlive/texlive-en/archive/live-2007.tex new file mode 100644 index 00000000000..8232db8becf --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/live-2007.tex @@ -0,0 +1,3264 @@ +% $Id: live.tex 3938 2007-02-06 01:49:45Z 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} +\begin{document} + +\title{% + {\huge \textit{The \protect\TL{} Guide}\\\strut} + {\LARGE \textsf{\TL{} 2007}} +} + +\author{Karl Berry, editor \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{January 2007} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +This document describes the main features of the \TL{} software +distribution\Dash \TeX{} and friends for \acro{GNU}/Linux and other Unix +flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is not +especially useful for older Mac or \acro{MS-DOS} systems.) + +\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. It is part of the even larger \TK{} +(briefly described below in section~\ref{sec:struct-tl}, +\p.\pageref{sec:struct-tl}). Both are cooperative efforts by the \TeX\ +user groups. + +For newer versions of the packages included here, please check +\acro{CTAN}: \url{http://www.ctan.org}. + +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{Basic usage of \protect\TL{}} +\label{sec:basic} + +You can use \TL{} in three principal ways: + +\begin{enumerate} + +\item You can run \TL{} directly from the \pkgname{live} \DVD +(see section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). +This takes almost no disk space, and gives you immediate access to +everything in \TL{}. Of course performance will be worse than running +on local disk, but you may well find it useful. + +\item You can install all or part of \TL{} to a local disk, from either +the \DVD\ or the \pkgname{inst} \acro{CD}. This is the most common use +of \TL. You will need (approximately) 100 megabytes for the most +minimal system, and upwards of 1.3 gigabytes for a full system. + +\item You can integrate a particular package or collection into your +existing \TeX{} system, either a \TL{} system you installed +earlier, or a different system. + +\end{enumerate} + +\noindent All of these are described in detail in the \acro{OS}-specific +installation sections following, but here is a quick start: + +\begin{itemize*} + +\item The main installation script for Unix and \MacOSX{} is +\texttt{install-tl.sh}. +GNU/Linux users can also try a new GUI installation program: +run \texttt{setuptl/tlpmgui}. More information +can be found in section \ref{sec:win-install} on +p.~\pageref{sec:win-install}. + +\item The single package installation script is \texttt{install-pkg.sh}. +(After installation on Linux with \texttt{tlpmgui}, you can also try +running \texttt{tlpmgui} again to add or remove individual packages or +collections.) + +\item The installation program for Windows is \texttt{tlpmgui.exe}. +It can be used also for adding or removing the packages. +See section~\ref{sec:win-install} below for more information. + +\end{itemize*} + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both active and friendly, and virtually all +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 forego \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-doc/doc/english/FAQ-en}, 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 +\OnCD{texmf-doc/doc/english/catalogue}, or +\url{http://www.ctan.org/tex-archive/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/groups?group=comp.text.tex} 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 on asking questions in such a +way that you're most likely to get an 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{}, you are better off writing to that program's maintainer or +mailing list. + +\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. Welcome to +\TeX{}! + + +% 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{Structure of \protect\TeX\protect\ Live} +\label{sec:struct-tl} + +This section describes the structure and contents of \TL{} and the +\TK{} of which it is a part. + +\subsection{Multiple distributions: \protect\pkgname{live}, + \protect\pkgname{inst}, + \protect\pkgname{protext}} +\label{sec:multiple-dist} + +Space limitations of \acro{CD-ROM} format have forced us to divide +\TK{} into several distributions, as follows. + +\begin{description} + +\item [live] A complete system on \acro{DVD}; it is too large +for \acro{CD}. It can be run live or installed to disk. It also +includes a snapshot of the \CTAN{} repository, the \pkgname{protext} +distribution for Windows and the Mac\TeX\ distribution for \MacOSX, entirely +independent of \TL{}, as well as assorted other packages in a +\texttt{texmf-extra} directory. + +\CTAN{}, \pkgname{protext}, Mac\TeX, and \texttt{texmf-extra} do not follow +the same copying conditions as \TL{}, so be careful when redistributing or +modifying. + +\item [inst(allable)] A complete system on \CD; in order to make this fit, +the packages and programs are compressed. Therefore, it is not possible +to run \TeX\ directly from the installable \CD, you have to install it +to disk (hence its name). Installation is described in subsequent sections. + +\item [protext] 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. It can be run live, or installed to disk. +The \ProTeXt\ home page is \url{http://tug.org/protext}. + +\ProTeXt\ is provided as both the top level of the \pkgname{live} \DVD\ +and on its own \CD\ (for those who cannot use the \DVD). + +\end{description} + +\noindent You can tell which type of distribution you're in by looking +for a \texttt{00\var{type}.TL} file at the top of the \TL{} directory. +This file also contains the \TL{} release date. + +Naturally, each user group chooses what to distribute to its own members. + + +\subsection{Top level directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in +the \TL{} distribution. On the \pkgname{live} \DVD, the entire \TL{} +hierarchy is in a subdirectory \dirname{texliveYYYY}, not at the top +level of the disc. + +\smallskip +\begingroup + \renewcommand{\arraystretch}{1.3} % open up interrow spacing +\begin{tabular}{>{\ttfamily}lp{.78\hsize}} +bin & The \TeX{} system programs, arranged by platform. \\ +source & The source of all programs, including the main \Webc{} + \TeX{} and \MF{} distributions. These are stored in a + \cmdname{bzip2}-compressed tar archive. \\ +setuptl & Installation programs for Linux and Windows. \\ +support & Assorted auxiliary packages and programs. These are + \emph{not} installed automatically. This includes + assorted editors and \TeX\ shells. \\ +texmf & Tree for the programs, along with their support files and + documentation. Does not include \TeX\ formats and packages. + (\texttt{TEXMFMAIN} in the next section.) \\ +texmf-dist & The main tree of formats and packages. + (\texttt{TEXMFDIST} in the next section.) \\ +texmf-doc & Tree for self-contained pure documentation, arranged by + language. \\ +texmf-var & Tree for files automatically generated and stored. + (\texttt{TEXMFSYSVAR} in the next section.) \\ +\end{tabular} +\endgroup + +\smallskip + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +The \dirname{texmf-doc} directory contains only documentation, but +it does not contain all the documentation. The documentation for the +programs (manuals, man pages, Info files) is in \dirname{texmf/doc}, +since the programs are in \dirname{texmf}. Similarly, the documentation +for \TeX\ packages and formats is in \dirname{texmf-dist/doc}. You can +use the \cmdname{texdoc} or \cmdname{texdoctk} programs to find any +documentation wherever it's located. The comprehensive links in the +top-level file \OnCD{doc.html} may also be helpful. + + +\subsection{Overview of the predefined texmf trees} +\label{sec:texmftrees} + +This section lists all predefined variables specifying texmf trees used +by the system, and their intended purpose. The command \texttt{texconfig +conf} shows you the values of these variables, so that you can easily +find out how they map to directory names in your installation. + +\begin{ttdescription} +\item [TEXMFMAIN] The tree which holds vital parts of the system + such as helper scripts (e.g., \verb+web2c/mktexdir+), pool files and + other support files. +\item [TEXMFDIST] The tree which holds the main set of macro packages, + fonts, etc., as originally distributed. +\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 depends on \verb+$HOME+ by default, % $ + which dynamically adjusts for each user to an individual + directory. +\item [TEXMFCONFIG] The tree used by te\TeX's utilities + \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified + configuration data. Under \verb+$HOME+ by default. %$ +\item [TEXMFSYSCONFIG] The tree used by te\TeX's utilities + \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to + store modified configuration data. +\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and + \verb+fmtutil+ to store (cached) runtime data such as format files and + generated map files. Under \verb+$HOME+ by default. %$ +\item [TEXMFSYSVAR] The tree used by \verb+texconfig-sys+, + \verb+updmap-sys+ and \verb+fmtutil-sys+ to store (cached) runtime + data such as format files and generated map files. +\end{ttdescription} + +For more discussion of \texttt{texconfig} and related utilities, please +see section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +\TL{} contains several extended versions of \TeX: + +\begin{description} + +\item [\eTeX] adds a small but powerful 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{}. See +\OnCD{texmf/doc/pdftex/manual/} for the manual, and +\OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex}. This is the +default program for all formats except plain \TeX. + +\item [Xe\TeX] adds support for Unicode input and OpenType fonts, using +third-party libraries. See \url{http://scripts.sil.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. See +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] 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 [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\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). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\item [texexec] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} converter. + +\end{cmddescription} + + +\section{Unix installation} +\label{sec:unix-install} + +As introduced in section~\ref{sec:basic} (\p.\pageref{sec:basic}), +\TL{} has three principal uses: + +\begin{enumerate} +\item Run directly from media. +\item Install to disk. +\item Integrate a particular package or collection into your existing +\TeX{} installation. +\end{enumerate} + +\noindent The following sections describes the Unix-specific procedures +for each of these. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} +\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) +format, \emph{with} Rock Ridge (and Joliet, for Windows) +extensions. Therefore, in order to take full advantage of the \TK{} +under Unix, your system needs to be able to use the Rock Ridge +extensions. Please consult the documentation for your \cmdname{mount} +command to see how to do this. If you have several different machines +on a local network, you may be able to mount the discs on one which +does support Rock Ridge, and use this with the others. + +\leavevmode\quad Modern systems should be able to use the discs without +problems. If troubles, let us know. The discussion below assumes you +have been able to mount the \CD{}s with full Rock Ridge compatibility. +\end{warningbox} +\ifSingleColumn\end{figure}\fi + + +% +\subsection{Running \protect\TL{} directly from media (Unix)} + +\def\runlive{% text repeated in windows section +It is possible to use the \TeX{} system directly from the \pkgname{live} +\DVD{}, without installing the distribution to disk. (Thus the name +\TeX\ `Live', in fact.) It is \emph{not} possible to run \TeX{} +directly from the other \CD{}s (see section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}). +} + +\def\startinst{% repeated in other subsections +To start, you mount the \CD{} or \DVD{}, with Rock Ridge extensions +enabled. The exact command to do this varies from system to system; the +following works under Linux, except the name of the device +(\filename{/dev/cdrom}, here) may vary. (All our examples will use +\texttt{>} as the shell prompt; user input is +\Ucom{\texttt{underlined}}.) +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Change the current directory to the mount point: +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +\noindent Under \MacOSX, the directory is typically under +\dirname{/Volumes}, and the media will be mounted automatically. +} + +\def\installtlsh{ +Run the installation script \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh}\\ +Welcome to TeX Live... +\end{alltt} + +\noindent After various greeting messages and a list of the main menu +options, the installation will ask you to enter a command. Do this by +typing the desired character and hitting return; don't type the angle +brackets shown. Either uppercase or lowercase is ok; we'll use +lowercase in our examples. +} + +\runlive +\startinst +\installtlsh + +For running live, our first command will be \Ucom{d} and then the +subcommand \Ucom{1} to set directories. Even in this case, we must +choose a directory on the local disk to place files that the \TeX{} +system itself generates, such as fonts and formats, and also to provide +a place for updated configuration files, if need be. + +We'll use \dirname{/opt/texlive2007} in this example. It's good to +include the year in the name, as these generated files are not +in general compatible from release to release. (If the default value of +\dirname{/usr/local/texlive/2007} works for you, then you can skip this +step.) + +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/local/texlive/2007 +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/local/texlive/TeX]: \Ucom{/opt/texlive2007} +... +Enter command: \Ucom{r} +\end{alltt} + +\noindent Back at the main menu, our second and last command is +\Ucom{r}, to set up for running live off the media without installing +to disk: +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to TeX Live! +> +\end{alltt} + +\noindent And we are back at the system prompt, as shown. + +Next, it is necessary to alter two environment variables: +\envname{PATH}, to an architecture-dependent value (so that we can run +the programs), and \envname{TEXMFSYSVAR}, to the value specified above. +See table~\ref{tab:archlist} for a list of the architecture names for +the different systems. + + +\def\textruntexconfig{% +After the main installation has completed, and environment variables +have been set, the last step is to run \cmdname{texconfig} or +\cmdname{texconfig-sys} to customize your installation to your needs. +This is explained in section~\ref{sec:texconfig}, +\p.\pageref{sec:texconfig}. +} +\textruntexconfig + +\begin{table*}[ht] +\caption[Supported system architectures.]{Supported system +architectures.} +\label{tab:archlist} +\begin{tabular}{>{\ttfamily}ll} +alpha-linux & HP Alpha GNU/Linux \\ +hppa-hpux & HPPA HP-UX \\ +i386-darwin & x86 \MacOSX \\ +i386-freebsd & x86 FreeBSD \\ +i386-linux & x86 GNU/Linux \\ +i386-openbsd & x86 OpenBSD \\ +i386-solaris & x86 Solaris \\ +mips-irix & SGI IRIX \\ +powerpc-aix & IBM RS/6000 AIX \\ +powerpc-darwin & PowerPC \MacOSX \\ +powerpc-linux & PowerPC GNU/Linux \\ +sparc-linux & Sun Sparc GNU/Linux \\ +sparc-solaris & Sun Sparc Solaris \\ +win32 & Windows (32-bit) \\ +x86\_64-linux & x86 64-bit GNU/Linux \\ +\hline +\end{tabular} +\end{table*} + +\label{text:path} +The syntax for setting the environment variables, and the initialization +file to put them in, depends on the shell you use. If you use a +Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et +al.), put the following into your \filename{$HOME/.profile} file: +\begin{alltt} +PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH +TEXMFSYSVAR=/opt/texlive2007/texmf-var; export TEXMFSYSVAR +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH +setenv TEXMFSYSVAR /opt/texlive2007/texmf-var +\end{alltt} + +\noindent Then log out, log back in, and test your installation +(see section~\ref{sec:test-install}, \p.\pageref{sec:test-install}). + +\def\textifindoubt{% +If in doubt, please ask any local system gurus to help you with +problems; for example, the way to mount the \TL{} media, which +directory or directories to use, and precise details of the changes to +your personal initialization files can and do vary from site to site. +} +\textifindoubt + + +% +\subsection{Installing \protect\TeX\protect\ Live to disk} +\label{sec:unix-install-disk} + +It is possible, indeed typical, to install the \TL{} distribution to +hard disk. This can be done from either the \pkgname{live} or +\pkgname{inst} distributions. (See section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}, for an explanation of the different +distributions.) + +\startinst +\installtlsh + +Table~\ref{tab:main-menu-options} briefly lists the options in the main +menu. The order in which you select the options makes little +difference, except that \Ucom{i} must be last. It's reasonable to go +through them in the order presented here. + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Main menu options for the installation.} +\label{tab:main-menu-options} +\begin{tabular}{>{\ttfamily}ll} +p & The platform you are running on.\\ +b & The architectures for which to install binaries.\\ +s & The base installation scheme to use (minimal, recommended, + full, etc.)\\ +c & Override the base scheme for individual collections.\\ +l & Override for language collections.\\ +d & Directories in which to install.\\ +o & Other options.\\ +i & Perform the installation.\\ +\end{tabular} +\end{table} + +Here are further details on each option. + +\textbf{\optname{p} -- Current platform.} Since the installation script +automatically guesses which platform you're running on, it is usually +unnecessary to use this option. It's there in case you need to override +the automatic detection. + +\textbf{\optname{b} -- Binary architectures.} By default, only the +binaries for your current platform will be installed. From this menu, +you can select installation of binaries for other architectures as well +(or omit installing the current platform). This can be useful if you are +sharing a \TeX\ tree across a network of heterogenous machines. For a +list of the supported architectures, see table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}. + +\textbf{\optname{s} -- Base installation scheme.} From this menu, you +can choose an overall set of package collections, called a ``scheme''. +The default \optname{full} scheme installs everything available, but you +can also choose the \optname{basic} scheme for a minimal system, or +\optname{medium} to get something in between. There are also specific +sets for Omega and \acro{XML}. + +\textbf{\optname{c} -- Individual collections.} From this menu, you can +override the scheme's set of collections to install. Collections are +one level more detailed than schemes\Dash collections consist of one or +more packages, where packages (the lowest level grouping in \TL) contain +the actual \TeX\ macro files, font families, and so on. In this menu, +selection letters are case-sensitive. + +\textbf{\optname{l} -- Language collections}. This menu has the same +basic purpose as \Ucom{c}, to override the collection set in the chosen +scheme. In this case, the collections are specifically for different +languages. Selection letters are case-sensitive here too. Here is a +list of the language collections in \TL: + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +\begin{tabbing} +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \kill +(some) African scripts \> +Arabic \> +Armenian \> +Chinese\,Japanese\,Korean \\ +Croatian \> +Cyrillic \> +Czech/Slovak \> +Danish \\ +Dutch \> +Finnish \> +French \> +German \\ +Greek \> +Hebrew \> +Hungarian \> +Indic \\ +Italian \> +Latin \> +Manju \> +Mongolian \\ +Norwegian \> +Polish \> +Portuguese \> +Spanish \\ +Swedish \> +Tibetan \> +\acro{UK} English \> +Vietnamese \\ +\end{tabbing} + +\noindent Language collections typically include fonts, macros, +hyphenation patterns, and other support files. (For instance, +\pkgname{frenchle.sty} is installed if you select the \optname{French} +collection.) In addition, installing a language collection will alter +the \filename{language.dat} configuration file controlling which +hyphenation patterns are loaded. + +\textbf{\optname{d} -- Installation directories}. Three directories can +be changed here: +\label{text:instdir} + +\begin{ttdescription} +\item [TEXDIR] The top-level directory under which +everything else will be installed. The default value is +\dirname{/usr/local/texlive/2007}, and is often changed. We recommend +including the year in the name, to keep different releases of \TL{} +separate. (You may wish to make a version-independent name such +\dirname{/usr/local/texlive} via a symbolic link, which you can then +update after testing the new release.) + +Under \MacOSX, the usual frontends look for \TeX{} in +\dirname{/usr/local/teTeX}, so you may wish to install \TL{} there. + +\item [TEXMFLOCAL] This tree is where the \TeX{} system (not as part of +the initial installation, but rather as time goes by) puts +non-version-specific files, primarily fonts. The default value is +\dirname{/usr/local/texlive/texmf-local}, independent of the current +\TL{} release, because it's also the recommended location to put any +local packages or configuration settings. + +\item [TEXMFSYSVAR] This tree is where \cmdname{texconfig-sys} puts +files that \emph{are} version-specific. The default value is +\dirname{TEXDIR/texmf-var}, and there's generally no reason to change +it. There is also \envname{TEXMFSYSCONFIG}, which is where +\cmdname{texconfig} looks for modified configuration data. See +section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig} for more +information. + +\end{ttdescription} + +\textbf{\optname{o} -- Other options.} From this menu, you can select +the following general options: + +\begin{ttdescription} +\item [a] Specify an alternate directory for generated fonts. +The default is to use the \envname{TEXMFVAR} tree, as explained above. +Setting this is useful if you plan to mount the main tree read-only, and +therefore you need another location (perhaps host-specific) for +dynamically created fonts. + +\item [l] Create symbolic links for the binaries, man pages, +and\slash or \acro{GNU} Info files in other locations. For example, you may +wish to make the man pages available under \dirname{/usr/local/man} and +the Info files available under \dirname{/usr/local/info}. (Of course +you need appropriate privileges to write in the specified directories.) + +It is not advisable to overwrite a \TeX\ system that came with your +system with this option. It's intended primarily for creating the links +in standard directories that are known to users, such as +\dirname{/usr/local/bin}, which don't already contain any \TeX\ files. + +\item [d] Skip installation of the font/macro documentation tree. +This is useful if you need to save space, or if you've previously +installed the documentation elsewhere. + +\item [s] Skip installation of the main font/macro source +tree. This is useful if you are arranging to share that tree between +machines and\slash or architectures in some other way, such as \acro{NFS}. + +\end{ttdescription} + +\textbf{i -- Perform installation.} When you're satisfied with your +configuration options, enter \Ucom{i} to actually do the installation +from the media to your chosen locations. + +% text is similar to above, but no TEXMFSYSVAR, so we have to write out. +After the installation completes, your next step is to include the +architecture-specific subdirectory of \dirname{TEXDIR/bin} in your +\envname{PATH}, so the newly-installed programs can be found. The +architecture names are listed in table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}, or you can simply list the directory +\dirname{TEXDIR/bin}. + +The syntax for doing this, and the initialization file to use, depends +on your shell. If you use a Bourne-compatible shell (\cmdname{sh}, +\cmdname{bash}, \cmdname{ksh}, et al.), put the following into your +\filename{$HOME/.profile} file: + +\begin{alltt} +PATH=/usr/local/texlive/2007/bin/\var{archname}:$PATH; export PATH +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /usr/local/texlive/2007/bin/\var{archname}:$PATH +\end{alltt} + +\textruntexconfig + +Here is a minimal annotated example which accepts the default +directories and installs binaries for the current system only. Thus, +only one command is needed, \Ucom{i} for install. The \texttt{>} is the +shell prompt as usual. + +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{i} # perform installation +> \Ucom{texconfig} ... # see section \ref{sec:texconfig} +# New PATH element, with Linux as the example: +> \Ucom{PATH=/usr/local/texlive/2007/bin/i386-linux:$PATH; export PATH} +\end{alltt} + +If your Unix system supports the \cmdname{manpath} command (type \code{man +manpath} to learn more), you can make the \TL\ manual pages available +system-wide via the normal \cmdname{man} command by editing the file +\filename{/etc/manpath.config}; you might need root permissions for this. +With the following entry in \filename{/etc/manpath.config} the \TL\ +manual pages will be found at their original places within the \TL\ tree +(adapt the binary path for your system architecture): + +\begin{verbatim} +MANPATH_MAP /usr/local/texlive/2007/bin/i386-linux \ + /usr/local/texlive/2007/texmf/doc/man +\end{verbatim} + +\textifindoubt + + +\subsubsection{Non-interactive installation} +\label{sec:noninteractive-install} + +It is possible to override the default directories with environment +variables, and then install non-interactively. Example: +\begin{alltt} +> \Ucom{TEXLIVE_INSTALL_PREFIX=/opt/texlive} +> \Ucom{export TEXLIVE_INSTALL_PREFIX} +> \Ucom{echo i | sh install-tl.sh} +\end{alltt} + +The \envname{TEXLIVE\_INSTALL\_PREFIX} variable overrides the default +location of \dirname{/usr/local/texlive}, leaving all else +unchanged---so with the above invocation, the main installation will go +to \dirname{/opt/texlive/2007}. + +In the usual Unix way, the final \Ucom{echo i} can be replaced by any +sequence of input commands via a here document, so any sequence of +commands can be scripted. + +Here are all the possible overrides: + +\begin{ttdescription} +\item [TEXLIVE\_INSTALL\_PREFIX] + Override \dirname{/usr/local/texlive}. +\item [TEXLIVE\_INSTALL\_TEXDIR] + Override \dirname{\$TEXLIVE_INSTALL_PREFIX}/2007. +\item [TEXLIVE\_INSTALL\_TEXMFLOCAL] + Override \dirname{\$TEXLIVE_INSTALL_PREFIX/texmf-var}. +\item [TEXLIVE\_INSTALL\_TEXMFSYSVAR] + Override \dirname{\$TEXLIVE_INSTALL_TEXDIR/texmf-var}. +\item [TEXLIVE\_INSTALL\_TEXMFHOME] + Override \dirname{\$HOME/texmf}. +\end{ttdescription} + +It would be better to support a standard \acro{GNU}-style +\filename{configure} with options, instead of these environment +variables. Volunteers are welcome! + + +% +\subsection{Installing individual packages to disk} + +You can add individual packages or collections from the current +distribution to an existing non-\TL{} setup, or an earlier +\TL{} installation. + +\startinst + +Run the installation script \filename{install-pkg.sh} (not +\filename{install-tl.sh}, which is intended for complete installations +only): +\begin{alltt} +> \Ucom{sh install-pkg.sh \var{options}} +\end{alltt} + +The first set of options controls what gets read: + +\begin{ttdescription} +\item [-{}-package=\var{pkgname}] The individual package to work on. + +\item [-{}-collection=\var{colname}] The individual collection to work on. + +\item [-{}-nodoc] Exclude documentation files from the operation. + +\item [-{}-nosrc] Exclude source files from the operation. + +\item [-{}-cddir=\var{dir}] Source directory to read from; defaults +to the current directory. If you followed the instructions above, that +will be the distribution directory, and won't need to be changed. + +\item [-{}-listdir=\var{dir}] The so-called `lists' directory within +\var{cddir} from which to read the package information. The only +reason to change the default is if you're making changes to \TL{} +yourself. + +\end{ttdescription} + +What actually happens is controlled by the following options. If +neither of these are specified, the default action is to install the +selected files. The main destination tree is found by expanding +\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by +setting either the environment variable \envname{TEXMFMAIN} or +\envname{TEXMF}. + +\begin{ttdescription} +\item [-{}-listonly] List the files that would be installed, but don't +actually install anything. + +\item [-{}-archive=\var{tarfile}] Instead of installing the files into +the \TeX{} system, make a \cmdname{tar} archive. + +\end{ttdescription} + +Additional options: + +\begin{ttdescription} + +\item [-{}-config] After installation, run \code{texconfig init}. + +\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to +rebuild the filename database. + +\item [-{}-verbose] Give more information as the script runs. + +\end{ttdescription} + +Here are some usage examples: + +\begin{enumerate} + +\item To see the files in the package \pkgname{fancyhdr} without +installing it: + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} +> \Ucom{--listonly} +\fi{} +texmf/doc/latex/fancyhdr/README +texmf/doc/latex/fancyhdr/fancyhdr.pdf +... +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{alg} without source files or +documentation: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} + +\item Install all the packages in the collection of additional +plain \TeX\ macros: +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item Write all files in the \pkgname{pstricks} package to a +\cmdname{tar} file in \path|/tmp|: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} + +\end{enumerate} + +\textifindoubt + + +% +\section{Post-installation} +\label{sec:postinstall} + +After the main installation is done, for any operating system, the +remaining steps are to configure the system for your local needs, and +perform some basic tests. + +Another sort of post-installation is to acquire packages, fonts, or +programs that were not included in \TL{}. The basic idea is to +install such additions in the \envname{TEXMFLOCAL} tree (if you +installed to disk), or \envname{TEXMFSYSVAR} (if you are running live). +See the ``Installation directories'' option on \p.\pageref{text:instdir}. + +Unfortunately, the details can and do vary widely, and so we do not attempt to +address them here. Here are some external links to descriptions: +\begin{itemize*} +\item +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} +\item +\url{http://www.ctan.org/installationadvice} +\item +\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} +\item +\url{http://www.ctan.org/tex-archive/info/Type1fonts} for +installation information for fonts in particular. +\end{itemize*} + + +\subsection{The \protect\cmdname{texconfig} program} +\label{sec:texconfig} + +At any time after installation, you can and should use the program +\cmdname{texconfig} to configure the system to fit your local needs. It +is installed in the architecture-specific subdirectory +\texttt{TEXDIR/bin/\var{arch}} along with everything else. + +If you run it without arguments, it will enter full-screen mode and +allow you to view and change options interactively. + +You can also run it with various command-line options. Here are some of +the most common (\TL{} is configured for the A4 paper size by default): + +\begin{ttdescription} + +\item [texconfig paper letter] Set default paper size for +various programs and drivers (\cmdname{pdftex}, \cmdname{dvips}, +\cmdname{dvipdfm}, \cmdname{xdvi}) to be \acro{US} letter. The other +allowable size is \optname{a4}, which is the default. + +\item [texconfig rehash] Update all the \TeX{} ``filename databases'', +after adding or removing files. + +\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. +(See also the main \TeX{} \acro{FAQ} in \OnCD{texmf-doc/doc/english/FAQ-en}.) + +\item [texconfig help] Output help information for \cmdname{texconfig}. + +\end{ttdescription} + +Of course, \cmdname{texconfig} can only support changing a few of the +many options and configuration parameters in a \TeX{} system. The main +configuration file for the base \Webc{} programs is named +\filename{texmf.cnf}. You can find its location by running +\samp{kpsewhich texmf.cnf}; it contains many comments explaining the +default settings and useful alternatives. + +\cmdname{texconfig} alters files in a user-specific directory, as in +\dirname{$HOME/.texlive2007}. If you install \TeX\ just for yourself, +that is unlikely to make a difference. But if you install \TeX\ on a +multi-user system, you will want to change the configuration for the +whole system. In this case, run \cmdname{texconfig-sys} instead of +\cmdname{texconfig}. + +Likewise, the \cmdname{updmap} and \cmdname{fmtutil} scripts were +changed, to work under \dirname{$HOME/.texliveYYYY}. To alter system +directories, use \cmdname{updmap-sys} and \cmdname{fmtutil-sys}. + +In particular, for multi-user systems, you will probably want to +pregenerate the standard formats with \texttt{fmtutil-sys --missing}. +Otherwise, each user will end up with their own formats. + +Also, if you have a personally-modified copy of \filename{fmtutil.cnf} +or \filename{updmap.cfg}, instead of using the ones generated by +installation, they must be installed in the tree referenced by the +variable \envname{TEXMFSYSCONFIG}. + +The variables specifying the directories altered by these commands are +listed in section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. +You can see the actual directories by running \texttt{texconfig conf}, +and you can change them by editing \filename{texmf.cnf}. + + +\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; 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.141592 (Web2C 7.5.5) +kpathsea version 3.5.5 +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, most likely you don't have the correct +\dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{text:path}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.141592... +... +Output written on sample2e.dvi (3 pages, 7496 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, perhaps +you have interference from old environment variables or configuration +files. For a deep analysis, you can always ask \TeX{} to report on +exactly what it is searching for, and finding; see ``Debugging actions'' +on page~\pageref{Debugging}. + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Under Windows, the analogous command is \cmdname{dviout}.) 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 the system.) +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} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +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. + +\item Other standard test files you may find useful: + +\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} +You can process these in the same way as we did with +\filename{sample2e.tex}. + +\end{enumerate} + +If you are new to \TeX{}, or otherwise need help with actually +constructing \TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html} for some introductory resources. + + +\section{\MacOSX{} installation} +\label{sec:mac-install} + +The recommended way to install \TeX\ on \MacOSX\ is from the Mac\TeX\ +distribution, new in 2005. This is provided on the \pkgname{live} +\DVD{} in the top-level \dirname{mactex/} directory. It contains its +own (native) installer for a full \TeX\ distribution, based on a +combination of te\TeX\ and \TL, along with many additional applications +and documentation. The project web page is \url{http://tug.org/mactex}. + +If you prefer, installation of \TeX{} under \MacOSX{} can also be done +directly from \TL, using the \filename{install*} scripts, as follows. + +In order to run the installation scripts under \MacOSX, you need to have +the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 +or later, you have \cmdname{bash}, and can proceed. If you're running +an earlier \MacOSX{} version, however, the default shell is +\cmdname{zsh}, which won't work; you'll need to get \cmdname{bash} from +the Internet, or more likely upgrade your system. + +Once you have \cmdname{bash}, the Unix installation documentation in the +previous section can be followed. See section~\ref{sec:unix-install} on +\p.\pageref{sec:unix-install}; \MacOSX-specific notes are included there +where needed. + +\section{Windows installation} +\label{sec:win-install} + +In this release of \TL{}, happily, the distribution once +again has a native Windows installer, named \cmdname{tlpmgui.exe}. (See +section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}, for an +explanation of the different distributions.) + +\cmdname{tlpmgui} has essentially the same options as the Unix +installer, only done through a GUI interface: selecting schemes, +individual collections, installation directories, and so on. +Section~\ref{sec:unix-install-disk} on +\p.\pageref{sec:unix-install-disk} describes the basic elements. It +also allows some post-installation activities such as adding/removing +packages, updating the filename database and building formats. +Moreover, \cmdname{tlpmgui} can setup the system for running +programs directly from the \DVD. + +For those who like to look underneath the hood, \cmdname{tlpmgui} uses +as its ``engine'' a command-line Windows program named \cmdname{tlpm}. + +The Windows \TeX{} system included in \TL{} is based on new binaries +borrowed from the \acro{W32TEX} distribution, kindly provided by Akira Kakuto. +It also includes some older (but still working) tools made by Fabrice +Popineau, and also a new \texttt{dvi} previewer, \textsf{dviout} by +Toshio Oshima. + +\TL{} can be installed on systems running Windows 98, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) +and \acro{MS-DOS} are not supported. + +\textbf{Warning:} Win9.x users must ensure they have enough environment + space before undertaking installation. The \cmdname{tlpmgui.exe} + program won't change the environment size for them. A few environment + variables will be created and it is possible you run out of + environment space. Add \texttt{SHELL=COMMAND.COM /E:4096 /P} in the + config.sys file in order to increase your environment size. + +\subsection{Installing \protect\TeX\protect\ Live to disk} + +After inserting the \TL{} \acro{CD} into the \acro{CD} drive, autostart should +activate \cmdname{tlpmgui}. If it does not, click \guiseq{Start\arw Run}, +then type \verb|:\setuptl\tplmgui.exe| (or +\verb|:\texlive\setuptl\tplmgui.exe| if you are +installing from the \TeX\ Collection \acro{DVD}), where \verb|| +is the drive letter with the \TeX\ Live \acro{CD} (or TeX Collection +\acro{DVD}), and then click \acro{OK}. + +The installation window titled \guiseq{TeX Live installation and maintenance +utility} should open. It contains the following sections: \guiseq{Main +customization}, \guiseq{Install}, \guiseq{Select a scheme}, \guiseq{Select +systems}, \guiseq{Directories} and \guiseq{Options}. + +By default, \cmdname{tlpmgui} tries to detect if \TeX{} is already +installed and depending on the result starts either in fresh +installation or maintenance mode. If you have \TeX{} already installed +but want to install the new version nevertheless, you can use +\texttt{tlpmgui~--install-mode} to force installation mode; but you +should know what you are doing, as the new \TL{} installation will +override the environment variables and other settings of the existing +installation; reverting to your old installation is not automatically +supported. + +Diagnostic information is collected by \cmdname{tlpmgui} in a log file +which is deleted at the end of the run, along with any other temporary +files. Invoking with \texttt{--debug} displays the names and contents +of all \cmdname{tlpmgui} temporary files in a separate window. + +In the \guiseq{Directories} section the installation drive (directory) +next to the \guiseq{CD/DVD} button should be displayed (e.g., +\texttt{F:/} or \texttt{F:/texlive/} for the \acro{DVD}), but if it is not, +then click the \guiseq{CD/DVD} button and select the \acro{CD/DVD} +drive, with the \TL{} \acro{CD} (or \TeX\ Collection \acro{DVD}). + +The directory in which you wish to install the software can be set by +clicking the \guiseq{TLroot} button. This directory will be set as +\path|TLroot| environment variable for later usage. + +In the \guiseq{Select a scheme} section the desired \TL{} installation scheme +should be chosen by clicking the radio button labelled with the installation +scheme name (e.g., \guiseq{scheme-gust}). Each scheme is accompanied by an +\guiseq{Info} button which, when clicked, displays a short description of the +relevant scheme. + +A scheme is a large set of files targeted at some kind of usage. There are +generic schemes for basic, medium and full installations. The remaining ones +are either targeted at certain LUGs (i.e., what GUST or GUTenberg propose +for their members) or application targeted (e.g., for XML and \TeX{} +cooperation). A preselected scheme can be refined. This is done in the +\guiseq{Main customization} section by choosing additional collections from +\guiseq{Standard collections} or \guiseq{Language collections}. For example, +by clicking the \guiseq{Select} button labelled \guiseq{Standard +collections}, additional collections like Metapost, Omega or documentation +in different languages can be selected. + +\guiseq{Wintools} collection is selected by default as it contains many small +programs, usually absent in Windows, which can be handy, like graphics +converters: \cmdname{sam2p}, \cmdname{jpeg2ps}, \cmdname{tiff2png}; +(de)compression programs: \cmdname{bzip2}, \cmdname{gzip}, \cmdname{unzip}, +and \cmdname{wget} which is needed for \cmdname{getnonfreefonts} (new) +utility. + +Next, clicking the \guiseq{Select} button labelled \guiseq{Language +Collections} in the \guiseq{Main customization} section opens the +\guiseq{Language collections} window in which the installation language can +be chosen by ticking the box next to the language. + +Next, click the \guiseq{Install} button in the \guiseq{Install} section to +start the installation proper process. + +\textbf{Note:} The \guiseq{Perl} and \guiseq{Ghostscript} are installed only +on demand. They should be installed unless they are already installed and you +really know what you are doing. Both programs are required by many important +tools. The \verb|PERL5LIB| and \verb|GS_LIB| environment variables will be +set too, as well the path to Ghostscript binaries will be added to the +\verb|PATH| variable. + +The \TL{} system needs some post-processing steps (format files +generation, ls-R databases generation, environment variables, etc.). All +these operations are done there, some of them can be lengthy. So please wait +until you see a statement about the successfully finished installation. + +The shortcut for \cmdname{tlpmgui} (and also \cmdname{dviout}, if installed) +will be added to the menu \guiseq{Start\arw Programs\arw TeXLive2007}. + +If it is needed (Win9x/WinME), you will be asked to reboot your computer. + +\subsection{Support packages for Windows} +\label{sec:win-xemtex} + +To be complete, a \TL installation needs support packages that are not +commonly found on a Windows machine. Many scripts are written using the Perl +language. Some important tools require the Ghostscript \PS{} interpreter to +render or to convert files. A graphic file toolbox is also needed in some +cases. Last but not least, a \TeX-oriented editor makes it easy to type in +your \TeX{} files. + +All these tools are quite easy to find for Windows, but in order to try to +make your life even easier, we have put such a set of tools on \TL: +\begin{itemize*} +\item GNU \cmdname{Ghostscript} 8.54 +\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TL{} + Perl scripts. +\item win-tools is a set of small programs (bzip2, gzip, jpeg2ps + and tiff2png) +%\item a subset of \cmdname{ImageMagick} 5.5.6 +%\item the \cmdname{ISpell} checker +%\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support +%\TeX{} typesetting. +\end{itemize*} + +Perl and Ghostscript are installed upon request; you may explicitly +deselect them during installation if you already have them. + +If you don't want to install this bundle, then you are on your own to +install the required tools to complete your \TL{} system. Here is a +list of places to get those tools: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (but you might need some + supplementary packages from CPAN: \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com} +\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to + process or convert your graphic files. NetPBM home page is + \url{http://netpbm.sourceforge.net/} +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection: + \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 AucTeX is available natively under Windows, see + \url{ftp://alpha.gnu.org/gnu/auctex} + \item \cmdname{WinShell} is available on \TL in the \path|support| + directory, see \url{http://www.winshell.de} + \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} + \item \cmdname{Vim} is available from \url{http://www.vim.org} + \item TeXnicCenter is free software, available from + \url{http://www.toolscenter.org} and in the proTeXt distribution. + \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} + \end{itemize*} +\end{description} + +You might want to install other tools that are not free\footnote{Not +free, that is, in the sense of freedom to modify and redistribute, +following free software guidelines. This does not mean you can't acquire +them for no money.} and therefore not included on \TL{}, such as +\cmdname{GSView}, the \cmdname{Ghostscript} companion to more +conveniently view PS/PDF files. \cmdname{GSView} is available from +\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. + +\section{Maintenance of the installation in Windows} + +If you have \TeX\ Live installed, you can use \cmdname{tlpmgui} again +for modifying and maintaining your installation. + +\subsection{Adding/removing packages} + +As the \cmdname{tlpmgui} shortcut is available in the \guiseq{Start\arw +Programs\arw TeXLive2007} menu, start it from here. The maintenance window +titled \guiseq{TeX Live installation and maintenance utility} shows. It +contains several tabs: \guiseq{Add Packages}, \guiseq{Remove packages}, +\guiseq{Manage installation}, \guiseq{Remove installation}. + +Click the tab labelled \guiseq{Add packages} or \guiseq{Remove packages} +to enter the relevant functionality and then: + +\begin{itemize} +\item In the first tab select the proper \CD{} drive (or \DVD with + \texttt{texlive} directory) by pressing the \guiseq{CD/DVD} button. +\item Click the \guiseq{Search} button in the \guiseq{Buttons} section to +display or refresh in the \guiseq{Select packages to\dots} section the +list of packages to install or remove. + +When adding packages, the list of installed packages is compared to the list +of packages available from your \CD/\DVD. Only packages not already installed are +displayed. It is up to you to select which packages you want to +install. + +When removing individual packages, only a list of installed packages +will be displayed. + +Please note that for both \guiseq{Add packages} and \guiseq{Remove packages} +the collections are listed first. + +\item Select a package by clicking on the name of the package. Clicking the +\guiseq{Info} button in the \guiseq{Buttons} section displays a short +description of the selected package in the window located in the \guiseq{Info +about the selected item} section. To select several packages at once hold +down one of the Ctrl or Shift keys at your keyboard while holding down the +left mouse button or drag the mouse pointer while holding down the left mouse +button. + +\item Click the \guiseq{Install} or \guiseq{Remove} button in the +\guiseq{Buttons} section to perform the appropriate action. +\end{itemize} + +\subsection{Configuring and other management tasks} + +The functions available in the tab labelled \guiseq{Manage the installation} +are helpful in performing actions needed when you want to add support for a +language which was not selected during the installation, or add/regenerate a +format which was not selected during the installation or was modified after +the installation. + +The following actions can be performed: + +\begin{itemize} +\item Refresh the \filename{ls-R} database +\item Create formats (All or Missing) +\item Edit \filename{language.dat} +\item Edit \filename{fmtutil.cnf} +\item Edit \filename{updmap.cfg} +\end{itemize} + +Note: you can close the Edit\dots{} window with the \guiseq{Cancel} or +\guiseq{Done} button; the latter will start rebuilding the format files +(or the fontmap files if you have edited \filename{updmap.cfg}), followed by a +\filename{ls-R} database files refresh. + +For more information about the configuration see section~\ref{sec:persconf}, +\p.\pageref{sec:persconf}. + +\subsection{Uninstalling \protect\TL{}} + +The tab labelled \guiseq{Remove the TeX Live installation} opens a window +which contains functionality not worth describing and we do not know who would +need it and what it is for\dots :-) + +Anyway, if you have the \path|texmf-local| directory for your local additions, +the removal procedure will not wipe it out or delete things in it. However, +it will be done only if you select it explicitly. The \path|setuptl| +directory containing \cmdname{tlpmgui} and related files will not be deleted. +You will have to do some manual cleanup to actually remove them. + +\subsection{Adding your own packages to the installation} + +First, whatever changes you make, \textbf{do not forget to rebuild the ls-R +database files}. Otherwise, your new files will not be found. You can do this +either via the \cmdname{tlpmgui} run and selection of the appropriate action +from the \guiseq{Manage the installation} tab, or manually running the +\file{mktexlsr} command. + +If you want to add files that are not provided by the \TL{} distribution, +it is recommended to put them in the \path|$TEXMFLOCAL| directory. This +way, you will be safe against upgrades of the \TL{} software. + +The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, +for example, you want to add the support file for the Maple symbolic +computation program, you will have to put the style files in:\\ +\path|c:\TeXLive2007\texmf-local\tex\latex\maple\|\\ and the +documentation files in:\\ \path|c:\TeXLive2007\texmf-local\doc\latex\maple\| + +\subsection{Running \texttt{tlmp.exe} from the command line} +The \cmdname{tlpm.exe} program which is used as engine by \cmdname{tlpmgui} +has a number of other useful options. You can get the list by running: +\begin{verbatim} +tlpm --help +\end{verbatim} + +More information and examples of use can be found in \path|tlpm.readme|. + +\subsection{Network installation} + +\KPS{} knows about UNC names, so you can use them to get your TEXMF +tree from the network. But there is better than this. +All the support files and configuration files, everything except the files in the +\path|bin/win32| are shareable with a \teTeX{} or Unix \TL{} installation. That means +you can use Samba either to mount from an NT server to a Unix +workstation or the converse. Several strategies are possible: +\begin{itemize} +\item Put everything on the server. Just add each set of files for the OS and +architecture you want to use in the \path|bin| directory. That means +for example \path|bin/win32| and \path|bin/i386-linux|. Next configure +your main variables. You can use UNC names to +point to the right directories under Win32. +\item Install a local copy for the binaries and format files. In this + case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that + will be accessed remotely. Set \path|$TEXMFVAR| to be a local + directory which will hold local configuration files and on-the-fly + generated files. +\end{itemize} + +\subsection{What's different in Windows?} + +The Windows version of \Webc{} has some specific features that should be +pointed out. + +\begin{description} +\item[\cmdname{kpsecheck}] This command provides some options that did + not fit well into \cmdname{kpsewhich}. It will allow you to list all + the files that occur multiple times across your texmf trees. This + could be handy, but most of the time you will also get unwanted + output (like dozens of \path|README| files). It is noticeable + that all these files result in clashes inside the \KPS{}-hashing + mechanism; fortunately, \KPS{} never looks for these files. For + this reason, you can combine the \path|-multiple-occurrences| with 2 + other options for including or excluding any filename that match + some pattern (you can request for several patterns). + + The \cmdname{kpsecheck} command will also report the status of shared + memory: in use or not used. That might be useful to know because if + the status reported is \samp{in use}, that means one or several + processes are working, and the effect of any \cmdname{mktexlsr} + command will be delayed until the next time where no \KPS{} linked + process will be running. + + Last, this same command will report about the location it thinks + Ghostscript can be found. Under Win32, for many programs, it is + easier to use the Ghostscript dll, and find it by using the + Ghostscript registry key than to change the \path|PATH|, which has a + limited length anyway. +\item[\Webc{}] The engines have one more option than in Unix \Webc: + \begin{itemize} + \item \path|-proctimes| print statistics about the job run + time. It is to be noted that Win9x not being a true multitasking + operating system, it has no reliable timer for short periods, so + the value printed is an approximation. Under NT/2K/XP, the result + is quite accurate with user time and system time values allocated + for this run. For Unix + users: the \path|time| command is not usually available to Windows + users. + \end{itemize} +\end{description} + +\subsection{Personal configurations} +\label{sec:persconf} + +\subsubsection{Dvips} + +The configuration file for dvips can be found in\\ +\verb+C:\TeXLive2007\texmf-var\dvips\config\config.ps+\\ +You may open it with any editor + %(\cmdname{WinShell} will do fine) + and change some parameters: + +\begin{description} +\item [fonts] you can change the default printer \MF{} mode or printer + resolution in case \cmdname{dvips} needs to generate PK fonts. By default it + is configured to use Type~1 versions of the CM fonts, so it should + not call \cmdname{mktexpk} too often; +\item[printer] you can tell dvips where you want to print by default. If + the \optname{o} option is not followed by a printer name, then a + \file{.ps} \PS{} file is written. You can give dvips a printer + name such as: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] Next, you might want + to change the paper size from European (A4) to US letter + by making the US letter the first paper size mentioned in the file. + Scroll to the group of lines beginning with \code{@}. Move + the appropriate lines so that this section begins with the lines:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +The current \TL{} distribution implements the procedure of making always +up-to-date fontmaps files for Dvips and Pdftex. This is done by the +\cmdname{updmap} program during installation. +If you add new font packages using the installation program or by hand, +edit the file \verb+updmap.cfg+ in \path|$TEXMFVAR/web2c|. + +\subsubsection{PdfTeX} + +If you use the program pdf{}latex to write \acro{PDF} format directly, +and you are using \acro{US} letter-size paper, edit the file +\verb+C:\TeXLive2007\texmf-var\tex\generic\config\pdftexconfig.tex+ and +change \samp{\bs pdfpagewidth} and \samp{\bs pdfpageheight}. These entries +should read: +\begin{alltt} +\bs{}pdfpagewidth=8.5 true in +\bs{}pdfpageheight=11 true in +\end{alltt} +Save the file and exit the editor. + +\subsubsection{Xe\TeX} +Xe\TeX{} for Windows is linked statically with fontconfig 2.4.2. +A configuration file for fontconfig is \verb+fonts.conf+. For details, +see the file \verb+fonts.conf+ itself which is in a directory shown by +the command \texttt{kpsewhich --var-value=FONTCONFIG\_PATH}. + +\subsubsection{GSView} +GSView is now distributed under the Aladdin License, and therefore is no +longer included in \TL{}. + +You may want to change the page size to US letter size. If so, open +GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. + +Also, there are menu settings that are supposed to give you the most +readable screen image. On \guiseq{Media \arw Display Settings}, set both +\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. + +Note that the installation process has set all \code{.ps} and +\code{.eps} files to automatically open with \cmdname{GSView}. + +For printing instructions, see section~\ref{printing} below. + + +\subsection{Testing} + +For generic verification procedures, see section~\ref{sec:test-install} +(\p.\pageref{sec:test-install}). This section describes +Windows-specific tests. + +Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), +found in \path|C:\TeXLive2007\texmf-dist\tex\latex\base|. The \LaTeX\ source +should appear on the screen. Process it by clicking on the +\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar +(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} +menu (XEmacs) or Preview (dviout) icon (WinShell). + +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. + +\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ +cannot find a file, you can press Ctrl-z to quit. + + +\subsection{Printing} +\label{printing} + +It is possible to print from \cmdname{dviout}. In this case, printing +will be done using the Windows unified printer driver. By definition, it is +compatible with all printers. However, there is some drawback: it can +generate some huge spool files, and some (older) versions of Windows +just don't like them. The advantage is that you can use features like +embedding BMP or WMF images. You also need to make sure that the printer +parameters are correctly set, else you +will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer +will give you only one quadrant of your page). + +Printing is faster and more reliable if you run \cmdname{dvips} to make +a \filename{.ps} file and then print from \cmdname{GSView}. In +\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} +window will appear. + +If you are using a \PS{} printer, \textit{be sure to select +\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box +at the bottom left of the \guiseq{Print} window. You can then select any +of the printers that you have previously installed. If you fail to +check the box for \optname{\PS{} Printer}, printing will not work. + +If you will be using your own non-\PS{} printer, select +\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click +on the button to the right labelled \guiseq{djet500} and select your +printer type from the list that pops up. (In the older version of +\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} +selected, then select your printer type from the \guiseq{Device} list.) + +\subsection{Tips and tricks for Win32} + +\subsubsection{Different flavors of Win32} + +What we call Win32 is not an operating system by itself. It is a large +set of functions (around 12,000 in the header files of the Microsoft +\acro{SDK}) that you can use to write programs for different operating +systems of the Windows family. + +Windows comes in different flavors: +\begin{itemize} +\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, + multithreading} environments, but rather updated incarnations of + \acro{DOS}. This can be more or less proven by the fact that when + booting, the PC will load the \path|command.com| interpreter, and if + you stop the boot process at this point, you can ask for the current + (\acro{DOS}) version and it will answer something like \samp{MS-DOS + 7.0} (at least for the old versions of Win9x). +\item Windows \acro{NT}, which is a new operating system written from + scratch, capable of true multitasking behavior, and including many + high level features. +\item Windows 2000, based on \acro{NT}, with all the bells and + whistles of Win98. +\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is + the last step in merging both lines of products (Win9x based and + \acro{NT} based). \acro{XP} is based on \acro{NT}. +\end{itemize} + +Win9x are able to run 32~bits programs and 16~bits programs +concurrently. But the operating system by itself is not entirely +written in 32~bits mode, and does not support memory protection: 16bits +applications can overwrite parts of the operating system memory! Some +parts of the system like the \acro{GDI} (Graphical Device Interface) +manage limited resources like bitmaps, fonts, pens and so on for the set +of all programs that run concurrently. All the bitmaps headers available +at the same time can't amount for more than 64kB. This explains the +performance tool and the fact that you can put your system on his knees +by making intensive use of graphic objects for example. + +NT, 2K and XP do not suffer from these limitations, and neither from +other Win9x limitations. They are true multitasking environments, with +protected memory. They are much more responsive than Win9x because +of better memory management, better file system and so on. + +\subsubsection{Command line prompt} + +You may wonder, ``Why would I need to use a command line prompt when +I have Windows?'' + +Good question! The problem is of very general nature. Not all operations +can be done easily using only a \acro{GUI}. Command line gives you +programming power\Dash assuming a clever command interpreter. + +But the problem here is more fundamental: \TeX{} is \emph{a batch} +tool. Not an interactive one. \TeX{} needs to compute the best +layout for each page, resolve cross-references and so on. This can be +done only by a global processing of the document. It is not (yet) a +task that can be done interactively. + +This means that you should use \TeX{} from a command line. In fact the +situation is not so bad. There is an advantage to write command line +tools for complex processing: they are better debugged, because they are +independent of any \acro{GUI} problems, and \acro{GUI} tools can be +designed to interface to the command line tools. This is the case for +\TeX{}, where you will mostly interact with it through a \acro{GUI} text +editor. + +However, you may need to use the command line prompt in a number of +situations. One is when you are having difficulties and want to debug +your setup. + +\begin{description} + \item[Win9x] You can open a command line prompt by looking either for + the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, + or by choosing \guiseq{Start\arw Run} menu typing in + \path|command.com| as the program name. + \item[NT, 2K, XP] You can open a command line prompt by looking for + \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. + You can also choose \guiseq{Start\arw Run} and type in + \path|cmd.exe|, which is the name of the brand new command + interpreter for \acro{NT} (thus, it is untrue to call this a + \emph{DOS} box!). +\end{description} + +These locations may change across different Windows versions. + +\subsubsection{Path separators} + +The Win32 API understands both \path|/| and \path|\| characters as PATH +separators. But the command interpreters do not! So whenever a path name +is used programmatically, you can use both separators, and even mix them +up in the same path name. But on the command line, you must type +\path|\| as path separator. The reason is compatibility: the command +processor used \samp{/} to introduce arguments to commands. + +All this to say: do not be surprised to read path names written using +the Unix convention; Windows-\TL{} is a port of \Webc, and aims to be +compatible across platforms. For this reason, all the configuration files +that need to specify path names use the Unix convention. + +\subsubsection{File systems} +\label{sec:clusters} + +The worst feature of Win9x with regard to \TeX{} is probably the +so-called FAT file system. \TeX{} uses very many small files, with size +around 1--3kB. The \acro{FAT} file system is old, and predates by +decades the multi-gigabytes hard disks we have today. As a result, it +cannot manage efficiently the tens of thousands of \TeX{} files found in +\TL{}. The \acro{FAT} file system allocates a minimum of 32kB for +\emph{any} file on a huge partition. It means that \TeX{} will use much +more disk space than it actually needs. + +The other, more modern, file systems available, \acro{FAT32} and +\acro{NTFS}, do not have this drawback. They manage clusters of 4kB +only. (You can lower the limit to 512 bytes on \acro{NTFS}.) + +\subsubsection{How to add some directory to your PATH} + +There are pairs of variables and values which behave much like global +variables inside your programs. The set of those variables is called the +environment. Each program is initialized with a copy of the +environment when it is run. It can request and change the +value of any variable. The changes happen in the copy of the +environment, and is not at all propagated to the other running +programs. + +Your PATH is a special environment variable used to search for +programs you want to run. +There is a different procedure to change it for Win9x, WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line + starting with \texttt{PATH=} and followed by a list of directories separated + by \path|;|. Please add the directory with the executables in this line. + After this, this line could look as follows: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\TeXLive2007\bin\win32 +\end{verbatim} +\item[Windows ME] You need to run the special program + \path|c:\windows\system\msconfig.exe| to be able to change any + environment variable. From this program, select the `Environment' + tab, and then add or modify the variable you want. You will be asked to reboot the + machine upon any change. +\item[Windows NT/2K/XP] + Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the + window with the control panel icons opens. Double click on System. The + System Properties window opens. Click on the tab \textsf{Environment} + or look for a button named \guiseq{Environment Variables} among the + dialog boxes. Now you can change the environment variables for your + user account. Note: There are also displayed the environment settings + for the system. Normally, you can't change the system variables + unless you have administrator rights on your machine. If you want to + change the \texttt{PATH} for all users, you will have to contact your + system administrator or be the system administrator yourself\Dash in + the latter case you should know what you are doing. + + If there is already a \texttt{PATH} setting for your user account, + left click on \texttt{PATH}. In the field \textsf{Variable} appears + \texttt{PATH} while the field Value shows the current setting of + \texttt{PATH} as a list of directories separated by \path|;|. Add + the directory where the executables are located (e.g. + \path|c:\TeXLive2007\bin\win32|). If there isn't a \texttt{PATH} variable + for your user account, simply click in the field Variable and type + in \texttt{PATH}, click in the field \textsf{Value} + and type in the directory with the executables. Important: Click on + the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the + changes to \texttt{PATH} won't apply to your system. Be careful when + changing the environment settings. +\end{description} + +The best way to be sure that a variable has been properly set is to +open a console and type: +\begin{verbatim} +set VARIABLE +\end{verbatim} +which should return the corresponding value. + +\subsubsection{\TeX{} engines} + +If you have a look at the \Webc{} documentation, you will read that all +the various \TeX{} derived programs use the same base engine. For +example, \path|tex.exe| and \path|latex.exe| are exact copies of the +same program, but each one will use a different format file, based on +its calling name. + +Under Unix, this feature is implemented through \emph{symbolic +links}. It saves up a bit of disk space, because some engines are +used with many different format files. + +The Win32 API does not know about file links. So to save up almost +the same amount of memory, all the \TeX{} base engines have been put +in DLLs (\emph{Dynamic Linked Library}). This means that you will have +the following layout: +\begin{alltt} +2006-11-23 07:06 2 560 latex.exe +2007-01-06 23:54 1 073 664 pdftex.dll +2006-01-28 08:05 2 560 pdftex.exe +\end{alltt} +and the \path|latex.exe| file is nothing but a rough copy of +\path|pdftex.exe| using the same core \path|pdftex.dll|. +The same trick has been used for the \path|mktex*.exe| family of programs +which are linked to the \path|mktex.dll| library. + +In fact, a generic tool called \path|irun.exe| is provided to build the +equivalent of Unix hard links for executable files only under Win32. + +\subsection{In case of problems} +\label{sec:troubleshooting} + +\subsubsection{What to do if \texttt{latex} does not find your files?} + +\begin{itemize} + +\item \cmdname{kpsewhich} is the tool of choice to debug any +problem. However, \cmdname{kpsewhich} outputs debug information to +stderr, and the older Windows consoles do not know how to redirect +stderr to a file. (Windows NT and later do support redirections, but +the trick below will work for any console.) For diagnostic purposes you +can temporarily set an environment variable (in a \acro{DOS}/\acro{cmd} box): + +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +You can also set the debug level: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +Similarly, to redirect stderr to stdout: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +This way you can capture both stdout and stderr in the same file. +\item Assuming the installation has been done in \path|c:/TeX|, check + the following values: \\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/TeX| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/TeX/texmf....| \\ + \path|kpsewhich -expand-path $TEXMFCNF| & + \path|.;c:/TeX/texmf-var/web2c;| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/TeX/texmf/tex//| + \end{tabular} +} +\item If you have other \TeX{}-related values already set in your + environment, please, remove them. They are overriding the ones in + texmf.cnf. +\item Check the values from:\\ +{\small + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \path|c:/TeX/texmf-dist/fonts/tfm/public/cm/cmr10.tfm|\\ + \texttt{kpsewhich latex.fmt}& \path|c:/TeX/texmf-var/web2c/latex.fmt| + \end{tabular} +} +\item At this point, if everything is correct, \TeX{} and friends + should work. If it is not the case, you will need to play with + the \path|-debug=n| option from \path|kpsewhich|, and check back all + the values. Try to identify and report the problem. +\end{itemize} + +\subsubsection{What to do if your setup still does not work as expected?} + +Here are several questions to investigate: + +\begin{enumerate} +\item Is \file{tex.exe} in my \path|PATH|? + +\item Is the \path|TEXMFCNF| variable correctly set to +\path|c:/TeXLive2007/texmf-var/web2c| (default value)? + +\item Are there any errors in the log file generated by the +\file{tlmpgui.exe} program? +\file{tlmpgui.log} can be found in your +\file{TEMP} directory. You can find this by searching for the +string \samp{Error}. Hint: the log file can show some errors after +building all format files. Please do not panic: perhaps some formats +weren't already installed. + +\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? +(Unlikely, but it doesn't hurt to check.) + +\end{enumerate} + +The \TL{} software consists of hundreds of programs and tens of +thousands of files, all from varying sources. So it is quite difficult to +predict all possible causes for problems. Nevertheless, we will do our +best to help you. (See section~\ref{sec:help}, \p.\pageref{sec:help}.) + +% don't use \Webc so the \uppercase in the headline works. +\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{}. + +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. + +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 \web{} and translates them into C source +code. The core \TeX{} programs are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\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[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\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 \acro{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{}. 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 more than one directory tree +simultaneously, which is useful in maintaining \TeX's standard +distribution and local extensions in two 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} + +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{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{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{Debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\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} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\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{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{Default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{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 + +\tolerance=1500 + +\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 +(appproximately; 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{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{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{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); most sites have only one hierarchy. \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 +(\acro{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{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 more important 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{SExamplesofuse} + +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} + +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 +prolog \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 ... \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{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. +\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/html/dvips/dvips_toc.html}). +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{SExamplesofuse} 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 +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 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, + ... + +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 +[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 TFM files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Approximately 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 \acro{GNU} version of these programs +(\cmdname{gcc}, \acro{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:unix-install-disk} on +\p.\pageref{sec:unix-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} & \acro{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: \acro{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} + +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Sebastian Rahtz and Karl Berry. +The other principal contributors 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 together provide the necessary technical +and administrative infrastructure. Please join your local user group! + +\item The \acro{CTAN} team, which distributes the \TL{} images and +provides the common infrastructure for package updates, upon which \TL{} +depends. + +\item Peter Breitenlohner and the \eTeX\ team for the stable foundation +of future \TeX's. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would certainly not exist, and whose continual help makes it a better +product. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item Hans Hagen, for major testing and making the \ConTeXt\ format +conform to \TL's needs. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team for continuing +enhancements of \TeX's abilities. + +\item Taco Hoekwater, for renewed development efforts on MetaPost and +\TeX\ itself. + +\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm}, +and Tomasz {\L}uczak, for \cmdname{tlpmgui}. + +\item Akira Kakuto, for great assistance in incorporating the Windows +binaries from his \acro{W32TEX} distribution +(\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}). + +\item Jonathan Kew and his employer \acro{SIL}, for the major new +development of Xe\TeX{} and taking the time and trouble to integrate it +in \TL{}. + +\item Reinhard Kotucha, for helping with the massive task of updating +packages in \TL{}, as well as Windows research efforts, the +\texttt{getnonfreefonts} script, and more. + +\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 Fabrice Popineau, for the original Windows support in \TL{}. + +\item Norbert Preining, for helping with the \TL{} infrastructure and +package updates, and coordinating the Debian version of \TL{} (together +with Frank K\"uster), making many suggestions for improvement along the +way. + +\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 assembly and maintenance of Web2C, +upon which all else depends. + +\item Gerben Wierda, for creating and maintaining the \MacOSX\ support, +and much integration and testing. + +\item Graham Williams, on whose work the catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Tigran Aivazian and Hartmut Henkel (\pkgname{x86\_64-linux}), +Akira Kakuto and Fabrice Popineau (\pkgname{win32}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-linux}, + \pkgname{sparc-solaris}), +Karl Berry (\pkgname{i386-linux}), +Olaf Weber (\pkgname{mips-irix}), +Gerben Wierda (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}). + +Documentation and translation updates: +Karl Berry (English), +Daniel Flipo \& Fabrice Popineau (French), +G\"unter Partosch \& Hartmut Henkel (German), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Boris Veytsman (Russian), +Staszek Wawrykiewicz (Polish). + +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:multiple-dist}, \p.\pageref{sec:multiple-dist}). 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:struct-tl} (\p.\pageref{sec:struct-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-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} directory of \dirname{texmf*} trees, and +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-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/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/doc/pdftex/manual}. + + \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}. + See section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + +\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} + + +\subsection{Present} +\label{tlcurrent} + +In 2006--2007, the major new addition to \TL{} was the Xe\TeX{} 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). + +The installation scripts now accept various environment variables to +allow for non-interactive installation; see +section~\ref{sec:noninteractive-install}. + +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 \acro{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. + + +\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 checked tree of macros and fonts. This work +is all done by hard-pressed volunteers in their limited spare time, and +a great deal remains to be done. If you can help, don't hesitate to put +your name forward! + +Please send corrections, suggestions, and offers of help to:\hfill\null +\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/live-2008.tex b/Master/texmf/doc/texlive/texlive-en/archive/live-2008.tex new file mode 100644 index 00000000000..a172d5f409e --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/live-2008.tex @@ -0,0 +1,2951 @@ +% $Id: live.tex 9531 2008-07-13 21:12:58Z siepo $ +% 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{} 2008}}% +} + +\author{Karl Berry, editor \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{August 2008} + +\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{} usergroups distribute among their members. Section +\ref{sec:tl-coll-dists} briefly describes the contents of this \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. + +\TL{} packages are regularly updated from +\acro{CTAN}: \url{http://www.ctan.org}. + +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 architectures, +including \MacOSX. The included sources should enable installation +on platforms for which we do not have binaries. + +As to Windows: only Windows 2000 and later are supported. Windows +9\textit{x}, ME and NT have been dropped. Because of this +change, Windows requires much less special treatment compared to +the Unix systems. There are no 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. The net +installer itself is small, and downloads everything requested from the +Internet. The net installer is an attractive option if you need only a +fraction of the complete \TL. + +The \DVD{} installer lets you install to a local disk, but you can +also run \TL{} directly from the \DVD{} (or from a \DVD{} image, if +your system supports that). + +\noindent This is described in the +installation sections following, but here is a quick start: + +\begin{itemize*} + +\item The installation script is named \filename{install-tl}. It can + operate in both a \GUI{} mode (default for Windows) and + a text mode (default for everything else). You can force one mode or + the other with the options \code{-gui} and \code{-no-gui}, respectively. + +\item One of the installed items is a new program, the `\TL\ Manager', + 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*} + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both 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 forego \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-doc/doc/english/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 which can be run live or + installed to disk. + +\item [Mac\TeX] for \MacOSX, this adds a native \MacOSX\ installer and other +Mac applications to \TL{}. Its home page is +\url{http://www.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. + +\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 +the \TL{} distribution. On the \pkgname{live} \DVD, the entire \TL{} +hierarchy is in a subdirectory \dirname{texlive}, not at the top +level of the disc. + +\begin{ttdescription} +\item[bin] The \TeX{} system programs, arranged by platform. +% +\item[readme.html] Web pages with a quick introduction and useful links, +in various languages. +% +\item[source] The source to all included programs, including the main \Webc{} + \TeX{} and \MF{} distributions. +% +\item[support] Various auxiliary packages and programs. These are + \emph{not} installed automatically. This includes + assorted editors and \TeX\ shells. +% +\item[texmf] See \dirname{TEXMFMAIN} below. +% +\item[texmf-dist] See \dirname{TEXMFDIST} below. +% +\item[texmf-doc] Tree for self-contained pure documentation, arranged by + language. +% +\item[tlpkg] Scripts, programs and data for managing the + installation. It also contains private copies of + Perl and Ghostscript for Windows, which are invisible outside \TL, + and a new Windows PostScript viewer PSView. +\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. + +The \dirname{texmf-doc} directory contains documentation which does +not belong to any particular package or program. 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} or \cmdname{texdoctk} programs to find any +documentation wherever it is located. The comprehensive links in +the top-level file \OnCD{doc.html} may also be helpful. + +This \TL\ documentation itself is in \dirname{texmf-doc} and is +available in several languages: + +\begin{itemize*} +\item{Simplified Chinese:} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn} +\item{Czech/Slovak:} \OnCD{texmf-doc/doc/czechslovak/texlive-cz} +\item{English:} \OnCD{texmf-doc/doc/english/texlive-en} +\item{French:} \OnCD{texmf-doc/doc/french/texlive-fr} +\item{German:} \OnCD{texmf-doc/doc/german/texlive-de} +\item{Polish:} \OnCD{texmf-doc/doc/polish/texlive-pl} +\item{Russian:} \OnCD{texmf-doc/doc/russian/texlive-ru} +\end{itemize*} + +\subsection{Overview of the predefined texmf trees} +\label{sec:texmftrees} + +This section lists all predefined variables specifying the texmf trees +used by the system, and their intended purpose, and the default +layout of a \TL{} system. The command \texttt{texconfig conf} shows +you the values of these variables, so that you can easily find out +how they map to directory names in your installation. + +\begin{ttdescription} +\item [TEXMFMAIN] The tree which holds vital parts of the system + such as helper scripts (e.g., \verb+web2c/mktexdir+) and other + support files and their documentation. Does not include + \TeX\ formats and packages. +\item [TEXMFDIST] The tree which holds the main set of macro packages, + fonts, etc., as originally distributed. +\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 tree used by the utilities + \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified + configuration data. Under \envname{TEXMFHOME} by default. +\item [TEXMFSYSCONFIG] The tree used by the utilities + \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to + store modified configuration data. +\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and + \verb+fmtutil+ to store (cached) runtime data such as format files and + generated map files. Under \envname{TEXMFHOME} by default. +\item [TEXMFSYSVAR] The 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[2007] A previous release. + \begin{ttdescription} + \item [...] + \end{ttdescription} + \item[2008] 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-doc] \envname{TEXMFDOC} + \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[.texlive2007] Privately generated and configuration data + for a previous release. + \item[.texlive2008] 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. + \textit{etc.} + \end{ttdescription} +\end{description} + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +\TeX{} itself is frozen, apart from rare bug fixes. It is still present +in \TL\ as the program \prog{tex}, and will remain so in 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{}. This is the program +invoked for most formats, e.g., \prog{etex}, \prog{latex}, +\prog{pdflatex}. See \url{http://www.pdftex.org/}. +\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, with which it +is intended to be backward-compatible. It should also supersede Aleph, +see below. The incorporated Lua interpreter (see +\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. See +\url{http://www.luatex.org/} and +\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://scripts.sil.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. See +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] 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 [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\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). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\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-doc/doc/english/free-math-font-survey}. + + + +\section{Installation} +\label{sec:install} + +\subsection{Starting the installer} +\label{sec:inst-start} + +To start with, 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 and +\filename{install-unx.tar.gz} which is considerably smaller, 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 should start 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 (\url{http://tug.org/texlive/acquire.html}). + +\end{description} +The following sections explain in more detail. + +\subsubsection{Unix} + +\begin{figure}[tb] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in indicate menu items <======= +=======> for commands or configurable options <======= + + + Detected platform: Intel x86 with GNU/Linux + + binary systems: 1 out of 16 + + Installation scheme (scheme-full) + + Customizing installation scheme: + standard collections + language collections + 83 collections out of 84, disk space required: 1666 MB + + directories: + TEXDIR (the main TeX directory): + !! default location: /usr/local/texlive/2008 + !! is not writable, please select a different one! + TEXMFLOCAL (directory for site-wide local files): + /usr/local/texlive/texmf-local + TEXMFSYSVAR (directory for variable and automatically generated data): + /usr/local/texlive/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + options: + [ ] use letter size instead of A4 by default + [X] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks in standard directories + + Install for running from DVD + +Other actions: + start installation to HD + help + quit + +Enter command: +\end{boxedverbatim} +\caption{Main text installer screen (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-w32-main}{\linewidth} +\caption{Main \GUI{} installer screen (Windows)}\label{fig:gui-main} +\end{figure} + +\noindent +Below, \texttt{>} denotes the shell prompt; user input is +\Ucom{\texttt{bold}}. +Starting in a terminal window on a Unix-compatible system, the simplest +way: +\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.) + +To install in \GUI\ mode (you'll need the \dirname{Perl/TK} module), use: +\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. + + +\subsubsection{Mac\,OS\,X} + +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 can make a few +Mac-specific adjustments, in particular to allow easily switching +between the various \TeX\ distributions for \MacOSX\ (Mac\TeX, gw\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}. + +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. + +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} + +\subsubsection{The text installer} + +Figure~\ref{fig:text-main} displays the main text mode screen under +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 (for Windows, a Perl subset is included). + +\subsubsection{The graphical installer} + +Figure~\ref{fig:gui-main} displays the graphical installer under +Windows. Most differences in available options are due to this +screenshot being from Windows, and the previous text screen being +from \GNU/Linux. + +\subsection{Running the installer} +\label{sec:runinstall} + +The installer is intended to be mostly self-explanatory. Still, a few +quick notes about the various options and submenus: + +\subsubsection{Binary systems menu (Unix only)} +\label{sec:binary} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Available sets of binaries: +=============================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] hppa-hpux HP-UX + d [ ] i386-freebsd Intel x86 with FreeBSD + e [X] i386-linux Intel x86 with GNU/Linux + f [ ] i386-openbsd Intel x86 with OpenBSD + g [ ] i386-solaris Intel x86 with Sun Solaris + h [ ] mips-irix SGI IRIX + i [ ] powerpc-aix PowerPC with AIX + j [ ] powerpc-linux PowerPC with GNU/Linux + k [ ] sparc-linux Sparc with GNU/Linux + l [ ] sparc-solaris Sparc with Solaris + m [ ] universal-darwin universal binaries for MacOSX/Darwin + o [ ] win32 Windows + p [ ] x86_64-linux x86_64 with GNU/Linux +\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 +architectures 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 [ ] TeX Live basic scheme + b [ ] TeX Live scheme for ConTeXt + c [X] TeX Live full scheme + d [ ] GUST TeX Live scheme + e [ ] GUTenberg TeX Live scheme + f [ ] TeX Live medium scheme + g [ ] TeX Live minimal scheme + h [ ] TeX Live for Omega users + i [ ] teTeX scheme + j [ ] XML typesetting scheme +\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, 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}[tbh] +\tlpng{stdcoll}{.7\linewidth} +\caption{Collections menu (Linux)}\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 \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 different between Windows +(|%PROGRAMFILES%\texlive\2008|) and Unix +(\dirname{/usr/local/texlive/2008}). + +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 adminstrator to +install \TL, but you do need write access to the target directory. + +A logical alternate choice is a directory under your home directory, +especially if you will be the sole user. Use +`|~|' to indicate this, as in `|~/texlive/2008|'. + +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 each individual running \TeX. It expands to +\dirname{$HOME} on Unix and \verb|%USERPROFILE%| on Windows. + +\subsubsection{Options} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +

use letter size instead of A4 by default: [ ] + create all format files: [X] + install font/macro doc tree: [X] + install font/macro source tree: [X] + 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} displays the text mode options menu. +Three of the options here need mentioning: + +\begin{description} +\item[use letter size instead of A4 by default:] The usual default paper + size selection. Of course, individual documents can specify a specific + paper size, if desired. + +\item[create all 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[create symlinks in standard directories] (Unix only): + This option bypasses the need to change environment + variables. Without this option, \TL{} directories have to be added + to \envname{PATH}, \envname{MANPATH} and \envname{INFOPATH}. You will + need write permissions to the target directories. It is not + advisable to overwrite a \TeX\ system that came with your system + with this option. It is intended primarily for creating the links + in standard directories that are known to users, such as + \dirname{/usr/local/bin}, which don't already contain any + \TeX\ files. +\end{description} + +Now when all these 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. + +\subsubsection{Set up for running from DVD{} (text mode only)} +\label{sec:fromdvd} + +Type `|V|' to select this option. This changes the main menu into something +like figure~\ref{fig:main-fromdvd}. +\begin{figure}[tbh] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in indicate menu items <======= +=======> for commands or configurable options <======= + + directories: + TEXDIRW (Writable root): + !! default location: /usr/local/texlive/2008 + !! is not writable, please select a different one! + TEXMFLOCAL (directory for site-wide local files): + /usr/local/texlive/texmf-local + TEXMFSYSVAR (directory for variable and automatically generated data): + /usr/local/texlive/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + options: + [ ] use letter size instead of A4 by default + [X] create all format files + + set up for installing to hard disk + +Other actions: + start installation for running from DVD + help + quit +\end{boxedverbatim} +\caption{The main menu with \optname{from DVD} + set}\label{fig:main-fromdvd} +\end{figure} + +Note the changes: all options about what to install have +disappeared, and the directories section now talks about +\dirname{TEXDIRW} or writable root. The symlinks option has also +disappeared. + +The installer will still create various directories and +configuration files, but won't copy \dirname{texmf}, +\dirname{texmf-dist} or \dirname{texmf-doc} to hard disk. + +Post-install configuration for Unix will be slightly more complicated, +because now the directory layout deviates from the default; see +section~\ref{sec:postinstall}. + +Due to time constraints, this option didn't make it into the \GUI{} +installer, but it is available both for Unix and for +Windows. Windows users have to start the installer from a command +prompt, see section~\ref{sec:cmdline}. + +Section \ref{sec:portable-unix} describes a more strictly portable +way to run \TL, which doesn't make or require changes in the +system's configuration, but doesn't allow any configuration either. + +\subsection{Command-line install 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 more +interesting 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}); + 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{LL}. Currently + supported languages: English (\texttt{en}, default), German + (\texttt{de}), French (\texttt{fr}), Dutch (\texttt{nl}), Polish + (\texttt{pl}), Slovenian (\texttt{sl}) and Vietnamese + (\texttt{vi}). The installer tries to determine the right language + itself but if it fails, or if the right language is not available, + then it uses English as a fallback. +\item[-profile {\sl profile}] The installer always writes a file + \filename{texlive.profile} to the \dirname{2008/tlpkg}- or + \dirname{tlpkg} subdirectory of your installation. This option tells + the installer to re-use such a profile file. Here's an excerpt: + \begin{fverbatim} +# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC +# It will NOT be updated and reflects only the +# installation profile at installation time. +selected_scheme scheme-basic +TEXDIR /usr/local/texlive/2008 +TEXDIRW /usr/local/texlive/2008 +... +TEXMFSYSVAR /usr/local/texlive/2008/texmf-var +collection-basic 1 +... +option_symlinks 0 + \end{fverbatim} + Thus, using this option you can install in batch mode on + subsequent systems, reproducing the choices you made for the + original installation. +\item [-location {\sl url/path}] Specify a non-default source for + packages; see below. +\end{ttdescription} + +\subsubsection{The \optname{location} parameter} +\label{sec:location} + +The location value can be a url starting with \texttt{ftp:}, +\texttt{http:}, or \texttt{file:/} url, or a plain path. If the given +argument is on a local drive (either a path or a \texttt{file:/} url), +the installation type (compressed or live) is automatically determined: +if an \dirname{archive} subdirectory with \filename{.tar.lzma} files is +found then it will be used, even if uncompressed files are available as +well. + +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/texlive/tlnet/2008}, +substituting of course a proper hostname and its particular top-level +\CTAN\ path (the list of \CTAN\ mirrors is maintained at +\url{http://ctan.org/mirrors}) for |ctan.example.org/tex-archive|. The +default is to pick a mirror automatically, using +\url{http://mirror.ctan.org}; in any case, the chosen host is used for +the entire download. + + +\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. + +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/2008/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2008/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/2008/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + +Of course, you may well already have settings somewhere in your ``dot'' +files, and so then 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/2008/bin/i386-linux \ + /usr/local/texlive/2008/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. + + +\subsubsection{When running from DVD} + +Normally, a \TL{} program consults a file \filename{texmf.cnf} for the +location of the various trees. It looks for this file in a series of +locations relative to its own location. However, this scheme breaks down +when a program is run from \DVD{}: the \DVD{} is read-only. Some of the +paths to be recorded in \filename{texmf.cnf} are only known at +installation time, so this file cannot be on the \DVD{} and must be +placed somewhere else. This makes it necessary to define an environment +\envname{TEXMFCNF} variable which tells \TL{} programs in what directory +to find this \filename{texmf.cnf}. It is also still necessary to modify +the \envname{PATH} environment variable, as described before. + +At the end of the installation, the installer should have printed a +message giving the value to which \envname{TEXMFCNF} should be set. In +case you missed it: this value is \dirname{$TEXMFSYSVAR/web2c}. For the +default, \dirname{/usr/local/texlive/2008/texmf-var/web2c}, you need the +lines +\begin{sverbatim} +TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF +\end{sverbatim} +or, for [t]csh: +\begin{sverbatim} +setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c +\end{sverbatim} + + +\subsubsection{\ConTeXt{} Mark IV} + +The `old' \ConTeXt{} should run out of the box. The new `Mark IV' +\ConTeXt{} will require manual setup; see +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + + +\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|C:\Program Files\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 \prog{tlmgr} in \GUI\ mode. + +\subsubsection{Integrating third-party fonts} + +This is unfortunately a very complicated and messy topic. Forget +about it unless you really know your way around blindfolded in a +\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 (see +section~\ref{sec:tex-extensions}), which lets you use operating system +fonts without any installation in \TeX. + + +\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 (Web2C 7.5.7) +kpathsea version 3.5.7 +... +\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} +This is pdfeTeXk, Version 3.1415926... +... +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} +\end{alltt} +(Under Windows, the analogous command is \cmdname{dviout}.) 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 the system.) +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} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +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.) + +\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} + +\end{enumerate} + +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. + + +\section{Network installations} +\label{sec:netinstall} + +\TL{} has been designed to be shared between different users, and even +different systems on a network. With a standard directory layout, no +hard paths are configured: the locations for files needed by \TL{} +programs are defined relative to the places of those programs. You can +see this at work in the 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 other systems or other users merely need to add the +directory for \TL{} binaries for their platform to their search path. + +By the same token, you can also install \TL{} locally and then move +the entire hierarchy afterwards to a network location. + +Of course, Windows users have different expectations. The directory +\dirname{texmf-doc/source/texlive/texlive-common/w32client} contains a +sample script \filename{install-w32client} which creates settings and +menu shortcuts for using an existing \TL{} installation on a +\acro{LAN}. It is to be invoked through a batch file +\filename{install-w32client.bat} in the same directory. + +You can read more about \TL{} configuration and path searching in +section~\ref{sec:kpathsea}. + +\section{Maximally portable \protect\TL{} on DVD and USB} +\label{sec:portable-unix} + +The `running from \DVD{}' option described in +section~\ref{sec:fromdvd} is fine for your own system, but if you +are a guest on somebody else's system then you would probably like +something with minimal side effects. + +In the root of the \TL{} \DVD, or the \dirname{texlive} subdirectory of +the \TK{} \DVD, are a \filename{tl-portable} script (Unix) and a +\filename{tl-portable.bat} batchfile (Windows) which start up a +secondary shell\slash command prompt with environment settings suitable +for directly accessing the \TL{} on the \DVD. + +When it runs for the first time, some files will be generated in a +directory \dirname{~/.tlportable2008}, which will take a little time. +On subsequent runs, though, it will start almost instantaneously. + +The rest of the system will be unaware of \TL. If you want your editor +to be aware of this \TL, then you can start it from a second, parallel, +such \filename{tl-portable} session. + +You can also use \filename{tl-portable} to run \TL{} on a +\acro{USB} stick. In this case, copy all the top-level files and +the contents of the \dirname{bin}, \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{tlpkg} directories (at least) to +the stick. This may take quite a while! If you are copying to a +\acro{FAT}32-formatted \acro{USB} stick, make sure to dereference +symbolic links (\code{cp -L}). A \dirname{texmf-local} directory on +the stick will also be found and used. + +Then run \filename{tl-portable} from the root of the stick, as above. +In this case, the script will notice that the stick is writable and use +it for generated files. You could burn the resulting contents of the +stick back to \DVD{} if that is more convenient to (for example) give to +others. + + +\section{\cmdname{tlmgr}: Managing your installation} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} in \GUI\ mode. The list of + packages/collections/schemes only shows up after clicking the + `Load' button.}\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\tlpng{tlmgr-config}{\linewidth} +\caption{\texttt{tlmgr} in GUI mode: Configuration tab}\label{fig:tlmgr-config} +\end{figure} + +The installer installs 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 listing schemes, collections and packages; +\item installing, updating, backing up, restoring and uninstalling + individual packages, optionally taking dependencies into account; +\item searching for packages; +\item listing and adding architectures; +\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 installations which run from \DVD. + +\subsection{\cmdname{tlmgr} GUI mode} +\prog{tlmgr} can be started in \GUI{} mode with +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +or in Windows via the Start menu: \texttt{Start}, \texttt{Programs}, +\texttt{TeX Live 2008}, \texttt{TeX Live Manager}. After clicking `Load' +it displays a list of available and installed packages\Dash the latter +prepended with `(i)'. This assumes of course that the installation +source is valid and reachable. + +Figure~\ref{fig:tlmgr-config} shows the configuration tab. + +\subsection{Sample \cmdname{tlmgr} command-line invocations} + +This example adds several packages, including a new `engine', from a +non-default location: + +\begin{alltt} +> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} +\end{alltt} +It generates the following output: +\begin{fverbatim} +install: collection-xetex +install: arabxetex +install: euenc +install: bidi +install: fontspec +install: fontwrap +install: ifxetex +install: philokalia +install: polyglossia +install: xecyr +install: xecyr.i386-linux +install: xepersian +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +install: xetex-pstricks +install: xetexfontinfo +install: xltxtra +install: xunicode +install: xkeyval +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... +mktexlsr: Done. +regenerating fmtutil.cnf +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} +As you see, \prog{tlmgr} installs dependencies, and takes care of any +necessary post-install actions, including updating the filename database +and (re)generating formats. (Here we generated new formats for \XeTeX.) + +This example installs a new language. This also triggers format +regeneration: +\begin{alltt} +> \Ucom{tlmgr install collection-langdutch} +\end{alltt} +To describe a package: +\begin{alltt} +> \Ucom{tlmgr show collection-wintools} +\end{alltt} +which produces +\begin{fverbatim} +Package: collection-wintools +Category: Collection +ShortDesc: Windows support programs +LongDesc: Utilities for Windows, since they are not readily available there: + gzip, chktex, jpeg2ps, unzip, wget, xpdf. +Installed: Yes +\end{fverbatim} +Updating your entire installation to the latest versions available: +\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 +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} +For full documentation: +\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 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\prog{tlmgr} refers to + this. +\end{description} + +\subsection{Additional included software} + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: very high magnifications available!}\label{fig:psview} +\end{figure} + +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 distributions, and + shouldn't interfere with any system installations of Perl or + Ghostscript. +\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{chktex}, + \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} and the + command-line utilities from the \cmdname{xpdf} suite. (The + \cmdname{xpdf} viewer itself is not available for Windows, but the + Sumatra \acro{PDF} viewer is based on it: + \url{http://blog.kowalczyk.info/software/sumatrapdf}.) +\item[\texttt{fc-cache}] helps \XeTeX{} to handle fonts more + efficiently. +\item[PS\_View.] Also installed is PS\_View, a new PostScript viewer + with a free license; see figure~\ref{fig:psview}. +\end{description} +\begin{description} +\item[The \texttt{support} directory,] already mentioned in + section~\ref{sec:tld}. This directory contains various programs + which can be useful in connection with \TeX, in particular a + number of \TeX-aware editors and \TeX{} frontends. The software in + this directory isn't covered by the installer. This directory also + contains the \cmdname{dviout} \dvi{} previewer; see the next section. +\end{description} + +\subsection{The Dviout previewer} + +This \TL{} release unfortunately doesn't offer a preinstalled \dvi{} +previewer for Windows. However, you can install \prog{dviout} by +Toshio Oshima from the \path{support/dviout/} directory, which +contains also a short \filename{README} describing how to install +and configure \prog{dviout} for \TL. Please read this carefully +before installation. + +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 (very good) on-line help. + +\subsection{Links for additional downloadable software} + +Urls 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 no particular order: + \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 \TL's + \path{support} directory; its home page is + \url{http://www.gnu.org/software/auctex}. + \item \cmdname{WinShell} is available in \TL's \path|support| + directory; its home page is \url{http://www.winshell.de}. + \item \cmdname{WinEdt} is shareware available from + \url{http://www.winedt.com}. + \item \cmdname{Vim} is free software, available from + \url{http://www.vim.org}. + \item TeXnicCenter is free software, available from + \url{http://www.toolscenter.org} and in the pro\TeX{}t distribution. + \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}. + \end{itemize*} +\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 XP and Windows 2000, this +is usually \verb|C:\Documents and Settings\|, and under +Windows Vista \verb|C:\Users\|. 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, 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. Use the \optname{non-admin} option to \prog{install-tl} if +you prefer per-user settings even as an administrator. + +Regardless of administrator status, the default root of \TL{} proposed +by the installer is always under \verb|%PROGRAMFILES%|. 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{} will never get +precedence. As a workaround, in this case the installer creates +shortcuts to the command-prompt in which the new \TL{} binary directory +is prepended to the local searchpath. The new \TL{} will be usable when +run in a command-line session started from such a shortcut. + + +\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[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\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[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\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} + +\begingroup\tolerance=3500 +\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} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\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} + +\tolerance=2500 +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 + +\tolerance=1500 + +\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 +(appproximately; 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); most sites have only one hierarchy. \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 ... \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 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, + ... + +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 +[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} + +\ifx\HCode\undefined\else\HCode{} +\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, most 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 Peter Breitenlohner (and the \eTeX\ team) for the stable foundation +of future \TeX's, and Peter specifically for stellar help with the GNU +autotools usage throughout \TL. + +\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 was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team +(\url{http://pdftex.org}) for continuing enhancements of \TeX's +abilities. + +\item Hans Hagen, for much testing and making his \ConTeXt\ format +(\url{http://pragma-ade.com}) work within \TL's framework. + +\item Hartmut Henkel, for significant development contributions to +pdf\TeX\, Lua\TeX, and more. + +\item Taco Hoekwater, for renewed development efforts on MetaPost and +(Lua)\TeX\ (\url{http://luatex.org}) itself, and for incorporating +\ConTeXt\ into \TL. + +\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://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}), and many +other contributions. + +\item Jonathan Kew and \acro{SIL}, for the major new development of +\XeTeX{} and taking the time and trouble to integrate it in \TL{}, as +well as the initial version of the Mac\TeX\ installer. + +\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 the new features. + +\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{tldoc} 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 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 \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: +Reinhard Kotucha (\pkgname{x86\_64-linux}), +Tim Arnold (\pkgname{hppa-hpux}), +Randy Au (\pkgname{amd64-freebsd}), +Edd Barrett (\pkgname{i386-openbsd}), +Karl Berry (\pkgname{i386-linux}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Arthur Reutenauer (\pkgname{sparc-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-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}. + +Documentation and translation updates: +Karl Berry (English), +Daniel Flipo (French), +Klaus H\"oppner (German), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Boris Veytsman (Russian), +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-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} directory of \dirname{texmf*} trees, and +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-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/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. + +\medskip \noindent +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}. + +\ifx\HCode\undefined\else\HCode{} +\subsection{Present} +\label{sec:tlcurrent} + +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}. + + +\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 hard-pressed volunteers in their limited spare time, and a +great deal remains to be done. 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/live-tl7.tex b/Master/texmf/doc/texlive/texlive-en/archive/live-tl7.tex new file mode 100644 index 00000000000..1e8ee77312b --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/live-tl7.tex @@ -0,0 +1,3554 @@ +% +% change history (started May 13th 2002) +% 2002/05/13: added tex-langafrican to list of collections +% 2002/05/14: corrected example files, other small errors noted by Volker +% 2002/05/18: win32 updates, by Fabrice +% 2002/05/25: remove mention of sizes, and bsr-interpolated; add Gutenberg +\documentclass{article} +\advance\textwidth by 1in +\advance\oddsidemargin by -1in +\advance\evensidemargin by -1in +\newsavebox{\warnbox} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\setcounter{tocdepth}{2} +\pretolerance=1000 +\tolerance=1500 +\hbadness=3000 +\vbadness=3000 +\hyphenpenalty=400 +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +\def\eTeX{$\varepsilon$-\TeX} +\def\Dash{---} +\def\hyph{-} +\def\OMEGA{$\Omega$} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\La{La} +\let\textsl\textit +\let\sl\it +\let\slfamily\itfamily +\def\ttdefault{cmtt} +\usepackage{tex-live} +\begin{document} +%\makeatletter\@ifundefined{HRestore}{}{\HRestore\noalign}\makeatother +\author{Sebastian Rahtz\\ +\texttt{sebastian.rahtz@oucs.ox.ac.uk} +%Michel Goossens\\ +%\texttt{m.goossens@cern.ch} +} +\title{The \protect\TeX\ Live Guide, 7th edition} +\date{May 2002} +\maketitle +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} +\section{Introduction}\label{sec:intro} +This documentation describes the + main features of the \TeXLive{} 7 \CD{}\Dash a \TeX{}/\LaTeX{} + distribution for Unix, Linux, MacOSX, and Windows32 systems that includes + \TeX{}, \LaTeXe{}, \MF, \MP, \cmdname{Makeindex}, and \BibTeX{}; and + a wide-ranging set of macros, fonts and documentation conforming to + the \emph{\TeX{} Directory Standard} (\TDS{})\Dash which can be used + with nearly every \TeX{} setup. + + This \TeX{} package uses the \Webc{} version 7.3.7 + implementation of the programs, which tries to make \TeX{}ing as + easy as possible, and takes full advantage of the efficient and + highly customizable \KPS{} library from Karl Berry and Olaf Weber. + It can be run either directly from the \CD{} or installed on a hard + disk. + +Most of the runnable systems on the \CD{} include a large set of +drivers and support programs for \TeX, including \cmdname{dvips} +(PostScript driver), \cmdname{dvipdfm} (dvi to PDF), +\cmdname{xdvi} (X Windows previewer), +\cmdname{dvilj} (HP LaserJet driver), \cmdname{lacheck} (\LaTeX{} +syntax checker), \cmdname{tex4ht} (\TeX{} to HTML converter), +\cmdname{dviconcat} and \cmdname{dviselect}, \cmdname{dv2dt} and + \cmdname{dt2dv} (\texttt{dvi} to ASCII and vice versa), and Angus + Duggan's PostScript utilities. + +\subsection{Extensions to \TeX} + +The \TeXLive{} runnable systems contain three extended versions of +standard \TeX: +\begin{enumerate} +\item \eTeX, which adds a small but powerful set of new primitives, + and the \TeXXeT{} extensions for left to right typesetting; in + default mode, \eTeX{} is 100\% compatible with ordinary \TeX. See + \OnCD{texmf/doc/etex/base/etex_man.pdf} on the \CD{} for details. +\item pdf\TeX, which can optionally write Acrobat PDF format instead + of \dvi{}. You will find the user manual in + \OnCD{texmf/doc/pdftex/pdftex-l.pdf}. The + file \OnCD{texmf/doc/pdftex/samplepdf/samplepdf.tex} shows how it is + used. The \LaTeX{} \pkgname{hyperref} package has an option + `\optname{pdftex}', which turns on all the program features. +\item \OMEGA{} (Omega), which works internally with 16-bit characters, + using Unicode; this allows it to directly work with almost all the + world's scripts simultaneously. It also supports dynamically loaded + `\OMEGA{} Translation Processes' (\acro{OTP}s), which allow the user + to define complex transformations to be performed on arbitrary + streams of input. See \OnCD{texmf/doc/omega/base/doc-1.8.tex} for some + (not necessarily up to date) documentation. +\end{enumerate} +\eTeX{} (version 2.1) is stable, although subsequent releases will add +new functionality. pdf\TeX{} (version 1.00b) is also stable, +but is still being improved. +\OMEGA{} (version 1.23) is under development; the version +on this \CD{} is that current as of May 2002. + + +\section[Structure and contents of the CD-ROM]{Structure + and contents of the \protect\CD{}} +The important \CD{} top-level directories are listed below. +\begin{description} +\item[bin] The \TeX{} family programs, arranged in separate platform + directories. +\item[Books] Examples related to some books about \TeX. +\item[FAQ] Frequently Asked Questions, in English, French, and German. +\item[MacOSX] Support programs for MacOSX users +\item[info] Documentation in \acro{GNU} `info' format for the \TeX{} + system. +\item[man] Documentation in the form of Unix man pages for the \TeX{} + system. +\item[setupw32] directory contains material for installation and use + under Windows (see section \ref{sec:wintex} on p.~\pageref{sec:wintex}). +\item[source] The source of all programs, including the main \Webc{} + \TeX{} and \MF{} distributions. These are stored in a bzip2-compressed + tar archive. +\item[support] Various bits of \TeX-related software which are + \emph{not} installed by default, support programs, and a complete + distribution of \cmdname{Ghostscript} version 7.05. + You can find here some other programs (editors, \TeX\ shells), which + are usually absent from Windows installations, dedicated for beginners. + They can be installed with the \texttt{TeXSetup.exe} Windows installation + program. +\item[texmf] The main support tree of macros, fonts and documentation; +\item[usergrps] Material about \TeX\ User Groups. +\end{description} + +There are also two installation scripts for Unix systems, +\texttt{install-cd.sh} and \texttt{install-pkg.sh}; we discuss +them on in section \ref{sec:install} on p.~\pageref{sec:install}. + +\subsection[Packages and collections]{Packages and collections} +\label{packages} +The \TeXLive{} \texttt{texmf} tree consists of various `collections', +each of which refers to a set of `packages', of which there are over 700 +on the \CD{}. Normal installation allows the +user to copy all of a collection to a local hard disk from the \CD{}, but +it is also possible to install just one package of a collection. + +The collections add functionality to a \TeX\ system. One of them, named +`tex-basic', is necessary for almost all \TeX\ tasks, +and two others, called `tex-latex' and `tex-pdftex' are highly +recommended for most users. All others are optional. +The collections (defined by XML files in \texttt{texmf/tpm/collections}) +and their short descriptions are listed below. + +\begin{description} + \item[tex-basic] + These files are regarded as basic for any \TeX\ system, covering +plain \TeX\ macros, Computer Modern fonts, and configuration for common +drivers. + \item[tex-bibtexextra] + Additional, extensive libraries of BibTeX styles and bibliographies. + \item[tex-chemistry] + Essential chemistry + \item[tex-context] + Hans Hagen's powerful macro package, ConText + \item[tex-documentation] + Assorted useful documentation and guides + \item[tex-etex] + Support files for an extended \TeX\ + \item[tex-extrabin] + Various useful, but non-essential, support programs. Includes + programs and macros for texinfo system; programs for dvi file + manipulation, etc. + \item[tex-fontbin] + Programs for conversion between font formats, testing fonts + (virtual fonts stuff, .gf and .pk manipulation, + mft, fontinst, etc.) + \item[tex-fontsextra] + All sorts of extra fonts + \item[tex-formatsextra] + A collection of \TeX\ `formats', ie large-scale +macro packages designed to be dumped into .fmt file + \item[tex-games] + Setups for typesetting various board games, including chess + \item[tex-genericextra] + This is a mixed bag of macro packages and fonts which do not seem +to belong elsewhere + \item[tex-htmlxml] + Packages to convert \LaTeX\ to XML/HTML, and typeset XML/SGML + \item[tex-langafrican] + Support for some African scripts + \item[tex-langarmenian] + Essential armenian + \item[tex-langcjk] +Essential CJK (Chinese, Japanese, Korean) macros and fonts + \item[tex-langcroatian] + Essential croatian + \item[tex-langcyrillic] + Fonts and macro packages to typeset Cyrillic texts. + \item[tex-langczechslovak] + Pick this if you want Czech/Slovak fonts and other packages + \item[tex-langdanish] + Essential Danish + \item[tex-langdutch] + Essential Dutch + \item[tex-langfinnish] + Essential Finnish + \item[tex-langfrench] + Essential French + \item[tex-langgerman] + Essential German + \item[tex-langgreek] + Essential Greek + \item[tex-langhungarian] + Essential Hungarian + \item[tex-langindic] + Essential Indic + \item[tex-langitalian] + Essential Italian + \item[tex-langlatin] + Essential Latin + \item[tex-langmanju] + Essential Manju + \item[tex-langmongolian] + Essential mongolian + \item[tex-langnorwegian] + Essential Norwegian + \item[tex-langother] + Other languages + \item[tex-langpolish] + Pick this if you want Polish fonts and other packages + \item[tex-langportuguese] + Essential Portuguese + \item[tex-langspanish] + Essential Spanish + \item[tex-langswedish] + Essential Swedish + \item[tex-langtibetan] + Fonts and support for typesetting Tibetan + \item[tex-langukenglish] + Essential UK English + \item[tex-langvietnamese] + Essential Vietnamese + \item[tex-latex] + These packages are either mandated by the core \LaTeX\ team, +or very commonly recommended + \item[tex-latexextra] + A large collection of add-on packages for \LaTeX\ + \item[tex-mathextra] + Extra math + \item[tex-metapost] + MetaPost (and MetaFont) drawing packages + \item[tex-music] + Music typesetting packages + \item[tex-omega] + Omega, a 16-bit extended \TeX\ by John Plaice and Yannis Haralambous + \item[tex-pdftex] + Support files for Han The Thanh's variant of \TeX\ which can +generate PDF output + \item[tex-pictures] + Essential graphics + \item[tex-plainextra] + Plain \TeX\ extra macros + \item[tex-psfonts] + Essential psfonts + \item[tex-psutils] + Utilities to manipulate PostScript files + \item[tex-publishers] + Essential publishers + \item[tex-t1utils] + Utilities to manipulate Type1 fonts + \item[tex-texbooks] + Examples and other material from various books about TeX/LaTeX. + \item[tex-theses] + Macro packages from various Universities for their thesis styles + \item[tex-ttfutils] + Utilities to manipulate TrueType fonts + \item[win32-support] + You can choose individual tools from this collection. + There are many \TeX\ oriented editors, graphics files + toolsets, etc. +\end{description} + +The directory \texttt{texmf/tpm/packages} contains lists +of all files in each package (used by the installation programs). + +\section{Installation and use under Unix} +\label{sec:install} +You can use the \TeXLive{} \CD{} in three ways: +\begin{enumerate} +\item You can mount the \CD{} on your file system, run +the \texttt{install-cd.sh} script, and select the option \verb|| + (`do not install files, set up to run off CD-ROM'), + and run everything off the \CD; this takes very + little disk space, and gives you immediate access to everything on + the \CD; although the performance will not be optimal, it is + perfectly acceptable on, for instance, PCs running Linux. You could + also copy the entire CD contents to your hard disk and work in this way. +\item You can install all or part of the system to your local hard + disk; this is the best method for many people, if they have enough + disk space to spare (a minimum of about 100 megabytes, or 300 + megabytes for a recommended good-sized system). +\item You can install selected packages to work either with your + existing \TeX{} system or a \TeXLive{} system you installed earlier. +\end{enumerate} +Each of these methods is described in more detail in the following +sections. + +\ifSingleColumn +\begin{figure*} + \begin{center} + \leavevmode +\fi +\begin{warningbox} +\textbf{Warning: } This \CD{} is in ISO 9660 (High Sierra) format, +with Rock Ridge and Joliet extensions. In order to take full advantage +of the \CD{} on a Unix system, your system needs to be able to use +the Rock Ridge extensions. Please consult the documentation for your +\cmdname{mount} command to see if it is possible. If you have several +different machines on a local network, see if you can mount the +\CD{} on one which \emph{does} support Rock Ridge, and use this with +the others. + +\leavevmode\quad +Linux, FreeBSD, Sun, SGI and DEC Alpha systems should be able to use +the \CD{} with no problems. We would appreciate receiving detailed advice +from other system users who also succeed, for future versions of this +documentation. + +\leavevmode\quad +The discussion below about installation assumes you have been able to mount +the \CD{} with full Rock Ridge compatibility. +\end{warningbox} +\ifSingleColumn + \end{center} +\end{figure*} +\fi + +%\begin{addbymb} +\subsection[Pre-installation procedure for MacOSX users] +{Pre-installation procedure for MacOSX users} +If you do not run MacOSX, you should skip this section. + +The \texttt{install-cd.sh} script is a \emph{sh} script (begins with +``\verb=#!/bin/sh=''), but +on MacOSX \cmdname{sh} is unable to run it because +\cmdname{sh} is +emulated. However, \cmdname{bash} will run it. Unfortunately (again) +\cmdname{bash} is not +installed by default on MacOSX\footnote{there are some suggestions this will +change in the future and even +that \cmdname{bash} will be used to emulate \cmdname{sh}, +in which case it might be true +that in future versions of MacOSX, the script will just work.}. +\begin{enumerate} +\item\label{test-bash} (optional) See if \path|bash| is already installed. +Launch \path|Terminal| +(\path|/Applications/utilities/Terminal|) and type in a window +\begin{alltt} +>> \Ucom{rehash; which bash} +\end{alltt} +the answer will be: +\begin{itemize} +\item the bash location (e.g. \path|/bin/bash| or \path|/usr/local/bin/bash|) if installed; +\item \texttt{bash: command not found} if not installed. +\end{itemize} + +If bash is already installed, skip to \ref{std-install} + +\item bash installation: +\begin{description} +\item[Mac friendly procedure] +Look in the \path|MacOSX| directory of the \CD{} +for an image disk named \path|bash.dmg|. mount that +file by double-clicking it. The disk image (volume) will be mounted. +Then start the \path|i-Installer| application on that volume. You will be asked +to authenticate, if you have never seen that before, you might not have +enough privileges to install. Just enter your own user name and +password. Hit install. \path|bash| will be installed on your system. +\item[Terminal procedure] +\begin{enumerate} +\item Log in as an admin user, at least a user with Admin privileges or +sudo user or as the System Administrator. +\item Open the \path|MacOSX| directory on the \CD{} and copy +\path|bash.tar.gz| +to your home directory (\texttt{\~{}/}) +\item Then launch \path|Terminal| and type or copy/paste the +line below in a Terminal window): +\begin{alltt} +>> \Ucom{(cd /usr/local/; sudo tar xvzf ~/bash.tar.gz)} +\end{alltt} +type a carriage-return: you will be asked for your password, and +\path|bash| will be +installed. +\item Quit \path|Terminal|. +\end{enumerate} +\end{description} +\item Now after using either install method, goto \ref{test-bash}: +you must obtain \path|/usr/local/bin/bash|\ldots{} (if not, try to log out and in). +\item\label{std-install} The installation procedure is the +same on MacOSX than on other UNIX platforms (as MacOSX is UNIX, +that's quite normal!). Nevertheless, you should read what follows: +\begin{itemize} + \item Note that in all commands of the following sections, +\cmdname{sh} must be replaced by \texttt{sudo bash}: +\begin{alltt} +>> \Ucom{sh install-cd.sh} +\end{alltt} +becomes +\begin{alltt} +>> \Ucom{sudo bash install-cd.sh} +\end{alltt} +etc. +\item On MacOSX, cd are auto-mounted: you \emph{don't} need to use +\texttt{mount}. The \CD{} will be mounted in the \path|/Volumes/| +directory: in order to make it the current directory, you just have to +type in \path|Terminal|: +\begin{alltt} +>> \Ucom{cd /Volumes/TeXLive-7...} +\end{alltt} +(complete this line with the real name of the \CD{}: using +``auto completion'' by pressing the \texttt{} +key will do it). +\end{itemize} +\end{enumerate} +%\end{addbymb} + +\subsection[Running \protect\TeXLive{} from the CD-ROM]{Running \protect\TeXLive{} from the \protect\CD} +The organisation of \Webc{} means that you can run programs simply by +adding the appropriate directory under \path|bin| on the \CD{} to +your \texttt{PATH}, and the support files will all be found with no further +ado. The following shows the list of available systems and the +corresponding directories. \textbf{Only x86 Linux, Mac OSX, and + Windows are available on the default CD. You need to ask +for the Unix CD if you need the other systems.} + +\begin{flushleft} +\begin{tabular}{@{}l>{\ttfamily}ll} +Compaq Alpha Linux & alpha-linux & CD2\\ +Compaq Alphaev5 OSF 4.0d & alphaev5-osf4.0d & CD2\\ +HP9000 HPUX 10.20 & hppa2.0-hpux10.20 & CD2\\ +IBM RS 6000 AIX 4.2.* & rs6000-aix4.2.1.0 & CD2\\ +Intel x86 Solaris 2.8 & i386-solaris2.8 & CD2\\ +Intel x86 with GNU/Linux & i386-linux & CD1\\ +Mac OSX & powerpc-darwin5.3 & CD1\\ +Sun Sparc Solaris 2.7 & sparc-solaris2.7 & CD2\\ +Windows 9X/ME/NT/2K/XP & win32 & CD1\\ +\end{tabular} +\end{flushleft} + +You may worry that when you subsequently make fonts or change +configuration, things will go wrong because you cannot change files on +the \CD{}. However, you can maintain a parallel, writeable, \TeX{} +tree on your hard disk; this is searched before the main tree on the +\CD{}. The default location is \path|texmf-var| on the CD +(which does not exist!), so you \emph{must} override this by setting +the \texttt{VARTEXMF} environment variable. + + +Thus \emph{sh} or \emph{bash} users on an Intel PC +running Linux can mount the \TeXLive{} \CD{} on +\file{/mnt/cdrom} by issuing the command: + +\begin{alltt} +>> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} +Then they should change the current directory to \path|/mnt/cdrom|, run +\begin{alltt} +>> \Ucom{sh install-cd.sh} +\end{alltt} +and select the option \verb|| (\emph{do not install files, set up to run +off CD-ROM}). After that, they should include the directory containing +the binaries for the given architecture into the search path +by updating the \texttt{PATH} variable. +\begin{verbatim} +PATH=/mnt/cdrom/bin/i386-linux:$PATH +export PATH +VARTEXMF=/usr/TeX/texmf-var +export VARTEXMF +\end{verbatim} +%\begin{addbymb} +\begin{description} + \item[MacOSX users] On MacOSX, the default shell is \texttt{tcsh}: +\begin{verbatim} +setenv PATH /Volumes//bin/powerpc-darwin5.3:${PATH} +setenv VARTEXMF /usr/TeX/texmf-var +\end{verbatim} +\end{description} +%\end{addbymb} +For convenience, these statements can also be entered into the +\texttt{.profile} script. +%\begin{addbymb} +(for \texttt{tcsh} on MacOSX, +\verb=~/Library/init/tcsh/rc.mine=). +%\end{addbymb} + +If in doubt, ask your local system support guru to help you work out +how to mount your \CD{} or which directory to use for your system. + +Appropriate support files will be installed on your hard disk the +first time you need them. You can edit and change local configuration +files which are stored to the directory designated +by \texttt{\$VARTEXMF}. Any format file that is needed +will be generated and stored here. + +%------------------------------------------------ +\subsection{Installing \protect\TeXLive{} to a hard disk} +All of the necessary steps to install all or part of the distribution +on your hard disk are achieved by mounting the \CD{}, changing to the +top-level directory, and typing: +\begin{alltt} +>> \Ucom{sh install-cd.sh} +\end{alltt} +(On some Unix systems, you may need to use \cmdname{sh5} or +\cmdname{bash}.) This script works by accessing lists of collections +and packages from the \CD{}, and trying to guess what sort of computer +system you are on. It should start by displaying the following: +\verbatiminput{../examples/ex1.tex} +It will then show the main control screen +(Figure~\ref{ins1}), which lets you change five +things: +\begin{enumerate} +\item the type of system you are on, or want to install for; +\item the \emph{installation scheme} you want to use (eg full, + recommended, basic etc) +\item the collections you want to change from +the installation scheme (they are organised into two sets: +\emph{standard collections} and \emph{language collections}); +\item the location on your hard disk to put the files; +\item some runtime behaviour features. +\end{enumerate} + +\begin{figure*} +\begin{center} +\ifnum\Status=2 +\boxedverbatiminput{../examples/ex2.tex} +\else +\begin{minipage}{0.8\textwidth} +\boxedverbatiminput{../examples/ex2.tex} +\end{minipage} +\fi +\caption{Main control screen}\label{ins1} +\end{center} +\end{figure*} + +You choose options by typing a letter or number and pressing `return'. +In the example, a Linux GNU/Linux system has been detected, the +default set of collections will be installed, and +the default installation directory is \path|/usr/TeX|; note +that the disk space required for the current installation +configuration is also displayed. If you make a suggested setup, you +need about 60 megabytes of disk free; however, the basic setup will +only take about 30 megabytes, and you can enhance it with selected +packages as you need them. + +%\begin{addbymb} +\begin{description} + \item[MacOSX users] Most frontends (\emph{TeXShop}, + \emph{ITeXMac}\ldots) use the \teTeX{} default location + which is \path|/usr/local/teTeX|, so, Mac users could find interest + in installing \TeXLive{} in \path|/usr/local/teTeX| +rather than in \path|/usr/TeX|. +\end{description} +%\end{addbymb} + +Under the directory you choose for installation, the installation +script will put the binaries in a subdirectory of \path|bin|, and the +support tree in \path|texmf|. An additional tree \path|texmf-var| +will contain copies of configuration files (except the main +\path|texmf.cnf|), which are to be modified by \path|texconfig| program. +This tree will also store generated format files for \TeX, \MF, etc. + +\begin{figure*} +\begin{center} +\ifnum\Status=2 +\boxedverbatiminput{../examples/ex3.tex} +\else +\begin{minipage}{.80\linewidth} +\footnotesize +\boxedverbatiminput{../examples/ex3.tex} +\end{minipage} +\fi +\caption{Selecting standard collections}\label{ins2} +\end{center} +\end{figure*} + +\begin{figure*} +\begin{center} +\ifnum\Status=2 +\boxedverbatiminput{../examples/ex4.tex} +\else +\begin{minipage}{.80\linewidth} +\footnotesize +\boxedverbatiminput{../examples/ex4.tex} +\end{minipage} +\fi +\caption{Selecting language collections}\label{ins3} +\end{center} +\end{figure*} + +When you choose || for \emph{standard collections}, you will see +the display of available collections (Figure \ref{ins2}). Each +collection --- TeX macro files, Metafont font families, and so on --- +consists of several packages. You can toggle their inclusion on or +off by pressing the key. Note that the selection letter keys are case +sensitive. + +When you choose || for \emph{language collections}, you will see +the display of available language support collections (Figure +\ref{ins3}). Each collection consists of several packages, which +provide features like hyphenation files and fonts. + +The || for \emph{options} item lets you decide whether to make new fonts +be created in another location (if you want the main package mounted +read-only for most users), and whether to make symbolic links for the +binaries, \cmdname{man} and \acro{GNU} \cmdname{info} pages in the `standard' +locations; you'll need `root' permissions for tasks to do this, of course. + +When you are finished, return to the main screen, and ask the +installation to start. It will take each of the collections and +systems that you requested, consult the list of files on the \CD{}, +and build a master list of files to transfer. These will then be +copied to your hard disk. If you installed a system, +an initialization sequence is now run +(creating format files, etc.). When this has finished, all you need do +is add the correct subdirectory of \texttt{bin} in the \TeX{} +installation to your path, and start using \TeX. If you want, you can +move the binaries up one level, e.g.\ from +\path|/usr/local/bin/alpha-osf3.2| +to \path|/usr/local/bin|; if you do this, however, you must +edit \path|texmf/web2c/texmf.cnf| (see Appendix~\ref{app:texmf.cnf}) +and change the line near the start which reads +\begin{verbatim} + TEXMFMAIN = $SELFAUTOPARENT +\end{verbatim} +to +\begin{verbatim} + TEXMFMAIN = $SELFAUTODIR +\end{verbatim} + +If you move the whole installation to another directory tree entirely, you +need to edit \envname{TEXMFMAIN} to specify the support tree explicitly, and +set \envname{TEXMFCNF} in your environment to \path|$TEXMFMAIN/texmf/web2c|. + +%------------------------------------------------ + +\subsection{Installing individual packages from \protect\TeXLive{} to a hard + disk} You may want to use the \TeXLive{} \CD{} to either update an +existing setup, or add features to an earlier installation from the +\CD{}. The main installation program is intended for the first time +only, and subsequently you should use the \texttt{install-pkg.sh} +script on the \CD{}. Run this by mounting the \CD{}, changing to +the mounted directory, and typing + +\begin{alltt} +>> \Ucom{sh install-pkg.sh \emph{options}} +\end{alltt} + + +The script supports nine options; the first four let you set the +individual package you want to install, the whole collection (i.e., +\texttt{tex-mathextra}), the name of the mounted \CD{} directory, and +the name of the directory containing the list files (normally these +latter two will be set automatically): + +\begin{tabular}{ll} +\texttt{-{}-package=}\emph{name} & \\ +\texttt{-{}-collection=}\emph{name} & \\ +\texttt{-{}-cddir=}\emph{name} & \\ +\texttt{-{}-listdir=}\emph{name} & \\ +\end{tabular} + +What actually happens is controlled by four more switches; the first +two allow you to exclude documentation or source files from the +installation, the third stops the default action of running +\texttt{mktexlsr} on completion to rebuild the file database, and +the last does nothing but list the files that would be installed: + +\begin{tabular}{ll} +\texttt{-{}-nodoc} & \\ +\texttt{-{}-nosrc} & \\ +\texttt{-{}-nohash} & \\ +\texttt{-{}-listonly} & \\ +\end{tabular} + +Finally, you can specify that, instead of installing the files, the script +should make a \cmdname{tar} archive in a specified location: + +\begin{tabular}{ll} +\texttt{-{}-archive=}\emph{name} & \\ +\end{tabular} + +Thus, if we simply wanted to see the files that make up the package +\pkgname{fancyhdr} before we installed it, our command and output would be +as follows: + +\begin{alltt} +\ifSingleColumn>> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else>> \Ucom{sh install-pkg.sh -{}-package=fancyhdr \bs} +>> \Ucom{-{}-listonly} +\fi{} +texmf/doc/latex/fancyhdr/fancyhdr.dvi +texmf/doc/latex/fancyhdr/fancyhdr.tex +texmf/lists/fancyhdr +texmf/source/latex/fancyhdr/README +texmf/source/latex/fancyhdr/fancyheadings.new +texmf/tex/latex/fancyhdr/extramarks.sty +texmf/tex/latex/fancyhdr/fancyhdr.sty +texmf/tex/latex/fancyhdr/fixmarks.sty +\end{alltt} +Other examples of usage are: +\begin{itemize} +\item Install the \LaTeX{} package \texttt{natbib}: +\begin{alltt} +>> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} +\item Install the \LaTeX{} package \texttt{alg} with no source files and no +documentation: +\begin{alltt} +\ifSingleColumn>> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else>> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +>> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} +\item Install all the packages available in the collection containing additional +Plain \TeX\ macros: +\begin{alltt} +>> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} +\item Place all files which are needed for PSTricks +in a \cmdname{tar} file in \path|/tmp|: +\begin{alltt} +\ifSingleColumn>> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +>> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +>> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} +\end{itemize} + +\subsection{The texconfig program} +\label{ssec:tex} + +After the installation program has copied all files to their final +locations, you can use a program called \cmdname{texconfig} that +allows you to configure the system to fit your local needs. This can +be called at any other time to change your setup, with a full-screen +(which requires the \cmdname{dialog} program, included as part of the +binary packages) or command-line interface. +It should be used for all maintenance, such as changes of installed +printers, or rebuilding the file database. Both modes have help text +to guide you through the facilities. + +\section{Installation and use under Windows} +\label{sec:wintex} +This section only applies to systems running Windows 9x, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. + +It is also necessary to have your Windows set up so that it uses the +Microsoft Joliet extensions for reading \CD s; simply look at the +\CD{} in Explorer and see whether it shows long, mixed-case, file +names. If it does not, you cannot use the ready-to-run system on the +\CD. + +This Win32 \TeX{} systems includes a \texttt{dvi} previewer, +\textsf{Windvi}, which is similar in usage to the established Unix +\textsf{xdvi}. The documentation can be found in +\OnCD{texmf/doc/html/windvi/windvi.html}. + +\subsection[The TeXLive.exe program]{The \texttt{TeXLive.exe} program} + +\begin{figure*} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} + \else + \ifnum \Status=2 +\includegraphics[bb=20 20 575 432]{../pictures/Welcome-to-TeXLive.gif} + \else + \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} + \fi + \fi + \end{center} + \caption{``Welcome to \TeXLive'' window}\label{graph:welcome} +\end{figure*} + +If your computer is configured to let the \CD{} autostart, then a +dialog box with a menu bar will popup on the screen, and you will have several choices +from there: +\begin{itemize} +\item Install \TeX{} on your hard disk, +\item Install TeX-oriented editors on your hard disk, +\item Install support packages on your hard disk (Ghostscript, NetPBM, + \ldots) +\item Do some maintenance on you \TeX{} system, +\item Remove the \TeX{} system, +\item Use \TeX{} off the \CD{}, +\item Cleanup the temporary files created on your hard disk when using + \TeX{} off the \CD{}, +\item Update some of the DLLs on your system, +\item Browse some documentation: \TeXLive{} documentation, TUG web + pages, \fpTeX web pages, +\item Run the \cmdname{TeXdocTK} application to find specific documentation. +\end{itemize} + +If your \CD{} does not autostart, you can explicitly run the program +by double clicking on \path|bin/win32/TeXLive.exe| on the \CD{} from +the explorer window. + +\subsection[Running \protect\TeXLive{} from the CD-ROM]{Running from +the \protect\CD{}} +You can run all the \TeX{} programs directly off the \CD, and have +access to all the macros and fonts immediately, at the price of a +slower performance than if you install on the hard disk. +To work effectively, one needs to modify +environment variables and to create some small auxiliary directories on a +hard disk. These directories will contain necessary configuration files +allowing the user to modify programs settings and to generate a necessary +format file. Moreover, automatically generated font files will be stored +there too. + +Should you want to run \TeX{} this way, you will have to follow these +steps: +\begin{enumerate} +\item from the menu, chose \verb|Explore CD-Rom|, then + \verb|Select a text editor|, a dialog box will open to select some \path|.exe| + program. + + This program needs to be a \TeX{} oriented editor. It must be able + to run the \TeX{} compiler, previewer and any other needed tool. If + you don't have one already installed on your system, you can install + one from the \CD{}, details section~{\ref{sec:texlive-install}}. + + \emph{There is no way we can guess if the program you will + select is actually a text editor, so be careful}. + Here is a list of frequently used \TeX{} editors: +\begin{center} + \begin{tabular}[ht]{ll} + GNU Emacs & \path|c:\Program Files\NTEmacs\bin\runemacs.exe| \\ + XEmacs & \path|c:\Program Files\XEmacs\XEmacs-21.2\i586-pc-win32\xemacs.exe| \\ + WinShell & \path|c:\Program Files\WinShell\WinShell.exe| \\ + WinEdt & \path|c:\Program Files\WinEdt Team\WinEdt\WinEdt.exe|\\ + TeXnicCenter & \path|c:\Program Files\TeXnicCenter\TEXCNTR.exe| + \end{tabular} +\end{center} + The program + selected will be memorized as the editor to use for future runs. + +\item from the menu, chose \verb|Explore CD-Rom|, then + \verb|Run TeX off CD-Rom|. The environment will be modified, a small + temporary directory created and some configuration files copied + there. Then, the selected editor selected will be launched, and you + will be able to type in some text, let \TeX{} typeset it and the + view it or print it. + + If Ghostscript is not detected on your machine, you will be warned + that rendering your DVI files might fail. You can install it from + the \path|Install|, \path|Support| menu item. See + section~\ref{sec:texlive-install} for details. + +\item you can select a different text editor any time you want. + +\item if you chose \verb|Cleanup CD-Rom setup|, everything \TeX{} + needed will be removed, comprised the selection of your text + editor, but not the extra packages you may have downloaded and + installed. If you installed \cmdname{WinShell} or \cmdname{NTEmacs}, +they won't be removed. +\end{enumerate} + +The editor is run inside a modified environment. A temporary TDS +compliant texmf tree is build in the temporary area of your computer. +It is needed to store files that may be build on the fly like pk font +files or format files. Configuration files are copied from the \CD{} +to this texmf tree, so that you can edit them if needed. The \path|ls-R| +database is computed for this texmf tree. +Then the \texttt{PATH} and \texttt{TEXMFCNF} environment +variables are set locally, and the editor is run in +this local environment. From within your editor\footnote{Actually, you can + state any other program than a text editor, and select your command + processor for example. You will then get a console with the right + settings to use \TeX{} from the \CD{}.}, you have access to a full +\TeXLive{} environment, all files referenced on the \CD{}. + + +\smallskip {\small\noindent \textbf{[For advanced users:]} You can + also use the small batch file \path|mkloctex.bat| to be called in a + directory \path|setupw32| of the \CD. From the Start menu select + `Run', then browse CD drive and select \path|mkloctex.bat|. Before + starting it, you should add two parameters separated by a space: the + letter of your CD drive and the letter of the hard disk where you + want to install the \TeX\ directory. The whole line should read, + e.g., \verb+d:\setupw32\mkloctex.bat d c+. When installation is + complete, please read carefully the information on screen. If you + are running Windows 9x/ME, then you will have to restart Windows. } + +\subsection{Installing editors or support packages} +\label{sec:texlive-install} + +You can already use the \path|TeXSetup.exe| program to install a +single, not \TeX{} dependent package. This might be either an editor +like \cmdname{WinShell} or \cmdname{NTEmacs}, +or also a support package like \cmdname{NetPBM} +(graphics formats conversion) or \cmdname{Ghostscript}. + +Some of the packages are not free, or not with the same meaning as for +the rest of the \CD{}. These packages have been made available through +the Internet. You need to enable an Internet connection in order to +install them. Chosing the \path|Enable Internet access| subitem will +search your system for an active Internet connection, or start one if +possible. \emph{If your computer is not connected to the Internet, + then the timeout might be long, 30s or more}. So try to enable it +only if you know you have a connection. + +Only a few packages are available from the \CD{}, but the most +important of them: \cmdname{NTEmacs} and \cmdname{WinShell} for the +editors, \cmdname{Ghostscript} and \cmdname{NetPBM} for the other +support packages. \cmdname{NetPBM} is needed for running \TeX{}4ht. + +The downloadable packages are sometimes huge: \cmdname{Perl} is 10Mb, +\cmdname{XEmacs} is 50Mb, so be warned that it can take a lot of time +to install such things. \path|TeXSetup.exe| does not yet provide an +estimation of the time needed to complete the download. + +When installing these packages, \path|TeXSetup| is working in +unattended mode. However, the programs that have their own installer +like WinEdt or Ghostscript for example will require human interaction. + +Those packages who have no specific installer will be unpacked and configured +for your system. You will be required to select some directory where +they will be installed. The directory to select should be the root +directory of the whole installation. Assuming you want to install +NTEmacs and NetPBM, the archive files already contain the +\path|NTEmacs\| and \path|NetPBM\| part, so the directory you have to +select is something like \path|c:\Local| or \path|c:\Program Files|. + +\subsection{Installing to your hard disk} + +Installation is started by letting the CD autostart, and +selecting the item \verb|Install| from the menu, then the subitem +\verb|TeXLive|. This will invoke the \path|TeXSetup.exe|. You can also find +it in the \path|bin/win32| directory and run it. \path|TeXSetup.exe| +is a Windows wizard and it will display several pages while running. + +\begin{description} +\item[Welcome Page] + You can choose a \emph{quick} installation from + there, in this case, the installation will run without any human + assistance from beginning to end, with all the default settings + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). However, if you chose to install any support program that has its + own installer like WinEdt or Ghostscript, your intervention might be required. + If you have enough privileges (administrator or power user rights) + under a Windows version where it is applicable, then you can decide + to install the \TeXLive{} for all users or for yourself only by + checking the appropriate box. + + \begin{figure*}[!htb] + The \cmdname{TeXSetup} Wizard\hfill + Source directories for the \TeXLive{} files + + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/setup-wizard.jpg}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/setup-wizard.gif} +\includegraphics[bb=0 0 506 403]{../pictures/source-for-texlive.gif} + \else + \includegraphics[width=.48\textwidth]{../pictures/setup-wizard}% + \hfill% + \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive} + \fi + \fi + \caption{The \TeXLive{} setup wizard}\label{graph:setup-src} + \end{center} +\end{figure*} +\item[Source Page] + This page is a bit complex. It will allow you to select two source + directories for your \TeXLive{} system + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). You will need a \emph{local + source directory} and possibly a \emph{remote source directory}. + + Why do we need both these directories? The very files of the + \TeXLive{} system are on the \CD{}, but some other packages useful + under a Win32 system are not, either because of space lacking or + because their license was not compatible with the \TeXLive{}'s one. + You need to enable Internet downloading if you want to install these + support packages. + + However, don't panic: the default parameters of the setup will allow + you to install a full system using the \CD{} only. Simply, you won't + have \file{WinEdt} for example, but you will be able to install it + later. + + So you can take your files from: + \begin{itemize} + \item the \CD{} or any similar flat tree of files, available through + some standard directory (this means the \CD{} can be mounted on + some remote machine and be made available through network + sharing), + \item a set of \file{.zip} files (this is the case when you are + installing the + \fpTeX{} distribution), + \item the Internet, in this case, the program takes care of + downloading the \file{.zip} files it needs for you. + \end{itemize} + This option is available only if you enable Internet file + downloading in the right part of the page. You also need to + configure this Internet access by selecting to connect either using + Internet Explorer~5 \file{wininet.dll}, or using a direct connection (\texttt{ftp}, + \texttt{http}). +% or using a proxy server. +% Last, you can be assisted in defining the \emph{local source +% directory} and \emph{remote source directory} which will be used +% to copy the files onto your hard disk. The \texttt{browse} buttons +% allow to select a directory for the former, and an url among a list +% of mirrors for the latter. +\item[Root Page] + On this page, you will tell where you want the files to be + installed (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Only the root directory really matters, the other ones + are set according to the root one. You may want to make + \path|$TEXMFEXTRA| point to some TDS compliant directory with other + \TeX{} files or assign a different value to + \path|$HOMETEXMF|, which is set by default to whatever Windows think + is your `HOME' location. +\begin{figure*}[!htb] + Root and directories\hfill% + Scheme selection + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.46\textwidth]{../pictures/root-of-installation.jpg}\hfill% + \includegraphics[width=.46\textwidth]{../pictures/scheme-selection.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/root-of-installation.gif} +\includegraphics[bb=0 0 506 403]{../pictures/scheme-selection.gif} + \else + \includegraphics[width=.46\textwidth]{../pictures/root-of-installation}% + \hfill% + \includegraphics[width=.46\textwidth]{../pictures/scheme-selection} + \fi + \fi + \caption{\TeXLive-Setup: Root and directories / Schemes}\label{graph:root-schm} + \end{center} +\end{figure*} +\item[Get TPM Page] + This page does not require any manual intervention. The \file{.tpm} + files which describe collections and packages are retrieved + (possibly from the Internet), unzipped if needed and parsed. +\item[Schemes Page] + On this page, you will select the global scheme of your + installation (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). A scheme is a large set of files targeted at some kind + of usage. There are 3 generic schemes for basic, recommended and + full installation. The other ones are devoted to LUGs (what GUST or + GUTenberg propose for their members) or applications (XML and + \TeX{}). + When a scheme is selected, it is still possible to refine the + selection by checking the appropriate box. If doing so, you will be + presented the packages page to change your selection, else you will + jump to the review page. +\item[Packages Page] + Collections and packages are presented in a tree form + (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). The links + in the tree are dependency links. Collections \emph{depend on} + packages and maybe other collections, and it is the same for each + package. You can select any package or collection individually, but + your request will be granted only if the object is not requested by + another one which is selected. For example, you can't deselect + \texttt{tex-basic} without deselecting all the collections that + request it. + + The \texttt{win32-support} collection displayed on the picture is Win32 specific. It + holds a number of bonus packages (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ) which can be installed + automatically and individually: Ghostscript, the PostScript + interpreter, \TeX{} oriented editors, tools like Perl, + \LaTeX{}2HTML, etc. \emph{None of these packages are selected by + default}. Some of them have an Internet Explorer icon on their + right, this means that they are not on the \CD{} and they will be + available only if you previously enabled Internet + downloading. \emph{This collection cannot be selected entirely at + once: you need to select the packages individually}. This is to + avoid unwanted downloads of huge files. + + On this page, you also have the information about disk space + needed, for each object, and for the set of those who are selected, + and also the disk space available on the partition selected for the + installation. Last, you can choose to install or not the + documentation files and source files associated with each package. +\item[Review Page] + You will find there a summary of your choices + (Figure~\ref{graph:review}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). It is still time to + go back to change them. +\begin{figure*}[!htb] + Packages Page\hfill% + Win32 Support + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/package-selection}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/win32-support} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/package-selection.gif}\hfill% +\includegraphics[bb=0 0 506 403]{../pictures/win32-support.gif} + \else + \includegraphics[width=.48\textwidth]{../pictures/package-selection}% + \hfill% + \includegraphics[width=.48\textwidth]{../pictures/win32-support} + \fi + \fi + \end{center} + \caption{Packages Page / Win32 goodies} + \label{graph:win32-support} +\end{figure*} +\item[Files Copy Page] + The selected files are copied on your hard disk (Figure~\ref{graph:file-copy}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). All the files not + yet available on your local disk are first downloaded from the + remote source directory on the Internet. Then every package is + unpacked (if \path|.zip| files), or copied from the \CD{}. +\item[Configuration Page] Several packages need some configuration + step to make them usable (Figure~\ref{graph:configuration}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Also the \TeXLive{} system needs some post-processing step + (format files generation, ls-R databases generation, environment + variables, etc.). All these operations are done there, some of them + can be lengthy. +\begin{figure*}[!htb] + \textbf{Review Page}\hfill% + \textbf{File Copy Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/file-copy} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{../pictures/review-settings.gif}\hfill% + \includegraphics[bb=0 0 506 403]{../pictures/file-copy.gif} + \else + \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/file-copy}% + \fi + \fi + \end{center} + \caption{Review Page / File Copy Page} + \label{graph:review}\label{graph:file-copy} +\end{figure*} +\item[Final Page] The installation being over, you may want to display + the Windows specific documentation (HTML format) and / or the log + file of the setup process (Figure~\ref{graph:final} + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). If it is needed (Win9x/WinME), you will + be asked to reboot your computer. +\end{description} + +\begin{figure*}[!htb] + \textbf{Configuration Page}\hfill% + \textbf{Final Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/congratulations} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{../pictures/configuration.gif}\hfill% + \includegraphics[bb=0 0 506 403]{../pictures/congratulations.gif} + \else + \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/congratulations}% + \fi + \fi + \end{center} + \caption{Configuration Page / Final page} +\label{graph:configuration}\label{graph:final} +\end{figure*} + +Please be aware that the choice of cluster size on DOS disk +partitions can radically affect the size of your \TeX\ +installation. The support tree has hundreds of small files, and it is +not unusual for a complete installation to take up to 4 times the +amount of space used on the \CD. + + +\section[Maintenance and other aspects of the \protect\TeXLive{} +installation under Windows]{Maintenance and other aspects of the \protect\TeXLive{} +installation under Windows} + +\subsection{What's different under Win32 from the standard \Webc ?} +The Win32 version of \Webc{} has some specific features that need to +be noticed. + +\begin{description} +\item[\KPS{}] the hash-tables that \KPS{} builds are quite large for + the \TeXLive{}. In order to cut down the starting time of any + \KPS{}-enabled program, these hash-tables have been put in shared + memory. This way, when you chain the execution of several such + programs, like \path|tex| calling \path|mpost| calling \path|tex|, + the overhead when starting each of the programs but the first will + be reduced. This change is hidden to the user, except if you set the + debug flag of kpathsea to the \path|-1| value: you will then trace + access to the shared memory, which is not what you want (it is + accessed very often!). What is useful in a log trace of the shared + memory access is still to be defined, so the situation might evolve + in the future. +\item[\cmdname{kpsecheck}] this command provides some option that did + not fit well into \cmdname{kpsewhich}. It will allow you to list all + the files that occur multiple times across your texmf trees. This + could be handy, but most of the time you will also get unwanted + output (like dozens of \path|README| files)\footnote{It is noticeable + that all these files result in clashes inside the \KPS{}-hashing + mechanism, fortunately, \KPS{} never look for these files.}. For + this reason, you can combine the \path|-multiple-occurences| with 2 + other options for including or excluding any filename that match + some pattern (you can request for several patterns). + + The \cmdname{kpsecheck} command will also report the status of + shared memory: in use or not used. That might be useful to know + because if the status reported is ``in use'', that means one or + several processes are working, and the effect of any + \cmdname{mktexlsr} command will be delayed until the next time where + no \KPS{} linked process will be running. + + Last, this same command will report about the location it thinks + Ghostscript can be found. Under Win32, for many programs, it is + easier to use the Ghostscript dll, and find it by using the + Ghostscript registry key than to change the \path|PATH|, which has a + limited length anyway. +\item[\Webc{}] the engines have a few more options than the ones from regular + \Webc{}, and one option with a different behaviour: + \begin{itemize} + \item the \path|-fmt| option behaves differently. Previously and + with the regular \Webc{} distribution, this option has 2 different + meanings when you are in ``ini'' or ``vir'' mode. Under Win32, it + has the same meaning: preload the format file specified with the + argument. The meaning of building a format of such name in ``ini'' + mode is obtained by the new \path|-job-name| option. + \item \path|-job-name| option: allows to set the name of the file + resulting from the compilation process. In normal mode, it will + change the base name of all files produced (\path|.dvi|, + \path|.aux|, etc.), while in ``ini'' mode, it will set the name of + the format file written. + \item \path|-halt-on-error| stop the compilation at the first error. + \item \path|-job-time| set the job time to the same timestamp as the + file given in argument. + \item \path|-output-directory| allow to write all the output files in the + specified directory. + \item \path|-time-statistics| print statistics about the job run + time. It is to be noted that Win9x not being a true multitasking + operating system, it has no reliable timer for short periods, so + the value printed is an approximation. Under NT/2K/XP, the result + is quite accurate with user time and system time values allocated + for this run. For Unix + users: the \path|time| command is not usually available to Windows + users. + \end{itemize} +\end{description} + +\subsection{Adding packages to your installation} + +You will find an option in the \texttt{TeXLive} menu (or go to +\texttt{Start -> Programs -> TeXLive -> Add TeX package} menu) to run again +\file{TeXSetup.exe}, but in maintenance mode this time. The steps you +will go through are almost identical to the ones the first time you +run it. + +The only different step is about the packages selection page. In +maintenance mode, the list of installed packages is compared to the +list of packages available from your source directories. Packages that +are not installed will be displayed in green, out of date packages +will be displayed in red and up to date, installed packages are +displayed in black. + +This way, you can choose to add or upgrade components, either from +your \CD{} or from the +Internet, where you are likely to find some more recent version of +your packages. + +It is up to you to select which ones of the packages you want to +install. The rest of the process is similar to the first installation. + +If you want to add files that are not provided by the \TeXLive{} (or +\fpTeX{}) distribution, it is recommended to put them in the +\path|$TEXMFLOCAL| directory. This way, you will be safe against +upgrades of the \TeXLive{} software. + +The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If +you want to add there the support file for Maple (symbolic computation +program) for example, you will have to put the style files in:\\ +\path|c:\Program Files\TeXLive\texmf-local\tex\latex\maple\|\\ +and the documentation files in:\\ +\path|c:\Program Files\TeXLive\texmf-local\doc\latex\maple\| + +Next, \textbf{do not forget to rebuild the ls-R databases files}, +either by using the right menu (Start -> Programs -> TeXLive + -> Maintenance), either by manually running the \file{mktexlsr} + command. + +\subsection[Removing \protect\TeXLive{} from your hard disk]{Removing + \protect\TeXLive{} from your hard disk} + +The uninstall procedure is available either from the +\file{TeXLive.exe} program, from the \path|TeXLive| menu or from the +control panel (Start menu -> Control Panel, Add/Remove Programs +option). This procedure will cleanup your hard disk of most of the +\TeXLive{} files. However, \TeX{} is a system that is creating files +and there is no mechanism to keep track of all of them. Moreover, +Win32 support packages have their own uninstall procedure, which you +will have to run separately (provided you want to get rid of them). Last, +the files you may have stored in \path|$TEXMFLOCAL| won't be +removed. So, even if the vast majority of files are automatically +removed by the uninstall procedure, you will have to do some manual +cleanup to actually remove all of them. + +\subsection{Running \texttt{TeXSetup.exe} from the command line} + +The \path|TeXSetup.exe| program has a number of other interesting +options. You can get the list by running: +\begin{verbatim} +c:\>TeXSetup --help +\end{verbatim} + +Here is the description: +\begin{description} +\item[\path|--automatic-reboot|] reboot without waiting user + confirmation once installation is over; +\item[\path|--dry-run|] do nothing, just log everything that will be + done without this option; +\item[\path|--quick|] use the recommended installation and default + directories, ask nothing up to rebooting; +\item[\path|--net-method (=ie5/direct)|] enable to download components with + restricted licenses from the Internet (either using direct + connection of Internet Explorer 5 DLLs): you need to have an available + network connection and some of the packages are huge; +\item[\path|--remote-source-directory |] this is the base url for the remote packages; +\item[\path|--local-source-directory

|] by default, \path|TeXSetup.exe| + will guess the root directory of the set of files you want it to act on, if you ever + upgrade \path|TeXSetup.exe|, you won't be able to copy the new version + onto your \CD{}, so you will need to use this option to specify the + root of the \CD{}; +\item[\path|--installation-directory |] this is the root of your + installation, all files will be copied under this location. The + default value is \verb+c:\Program Files\TeXLive+; +\item[\path|--texmfmain-directory |] +\item[\path|--texmflocal-directory |] +\item[\path|--texmfextra-directory |] +\item[\path|--texmfhome-directory |] +\item[\path|--vartexmf-directory |] +\item[\path|--vartexfonts-directory |] these are the directories + used to configure the location of your files. They map directly to + the \path|texmf.cnf| variables. +\item[\path|--with-source-files(=yes/no)|] copy the source files + for \TeX{} packages, default value is no; +\item[\path|--with-documentation-files(=yes/no)|] copy documentation files for \TeX{} + packages. Default value is yes. Beware: this is only documentation about specific + packages, general documentation will be installed anyway; +\item[\path|--program-folder |] the name of the folder under + which you will find the menus; +\item[\path|--add-package |] this is used to add or update a specific + package after a first regular installation; +\item[\path|--scheme |] install the named scheme instead of the + default \path|texlive-recommended| scheme; +\item[\path|--maintenance|] mostly the same as \path|--add-package| + without specifying a package to add; +\item[\path|--uninstall|] this option will remove anything \TeX{} related coming from + the \CD{}, which means there can be files left if you added style + files or format files, and also that supplementary tools will not be + removed\footnote{This option is still a bit crude as of \today}; +\item[\path|--help|] this option opens up a box with the list of options. +\end{description} + +\subsection{Network installation} + +\KPS{} knows about UNC names, so you can use them to get your TEXMF +tree from the network. But there is better than this. +All the support files and configuration files, everything except the files in the +\path|bin/win32| are shareable with a \teTeX{} or Unix \TeXLive{} installation. That means +you can use Samba either to mount from an NT server to a Unix +workstation or the converse. Several strategies are possible: +\begin{itemize} +\item Put everything on the server. Just add each set of files for the os and +architecture you want to use in the \path|bin| directory. That means +for example \path|bin/win32| and \path|bin/i386-linux|. Next configure +your main variables. You can use UNC names to +point to the right directories under Win32. +\item Install a local copy for the binaries and format files. In this + case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that + will be accessed remotely. Set \path|$VARTEXMF| to be a local + directory which will hold local configuration files and on-the-fly + generated files. +\end{itemize} + +\subsection{Personal Configurations} + +\subsubsection{\cmdname{WinShell}} +\label{sec:winshell} + +Start this program from the Start menu or from the Desktop shortcut. +Go to \textbf{Options} \verb+->+ \textbf{Program Calls}. + +\begin{itemize}\itemsep 0pt +\item In the DVIWin tab, if the filename is \textbf{yap}, replace it +with \textbf{windvi.exe}. +\item In Ghostview tab, make sure it gives the correct path for +gsview32.exe:\\ +\hspace*{1em} \verb+C:\ghostgum\gsview\gsview32.exe+ (for 3.6, the +current version)\\ +or \\ +\hspace*{1em} \verb+C:\gstools\gsview\gsview32.exe+ (for the older +version) + +\end{itemize} + +Click \textbf{OK}. + +Note that the install process sets all files with the \texttt{.tex} +extension to open with \cmdname{WinShell}. Unless you plan to use another editor +(such as WinEdt or Emacs), this is appropriate. + +Unfortunately, \cmdname{WinShell} does not have a spell-checking feature. +However, if you have installed the \path|tex-extrabin| collection, +your installation includes \textbf{Ispell} (a spell checking program +found on most Unix systems). The executable is in your PATH so +\verb+ispell.exe+ will be found if you invoke it from a DOS window. +If you installed documentation, look +at\\ +\verb+C:\Program Files\TeXLive\texmf\doc\html\manpages\ispell.html+\\ +for information on Ispell. (Otherwise, you can find +\verb+ispell.html+ on the CD.) If you rely on spell checking, you may +want to add an Ispell icon to \cmdname{WinShell}. See +subsection~\ref{winshell:ispell} of this document for how to do that. + +For an excellent commercial (but inexpensive) spelling checker, +see \url{http://www.microspell.com}. + +%Appendix B also contains other information about using \cmdname{WinShell}, such as: +% +%\begin{itemize} +%\item How to apply a bug fix you probably need +%\item How to print directly from \cmdname{WinShell} +%\item How to use the Project feature for multiple-file documents +%\end{itemize} + +\cmdname{WinShell} also has on-line help, which you can access via the +$\textbf{\underbar{?}}$ on the menu bar. + +Other information about using \cmdname{WinShell} can be found in +section \ref{winshell:more} on p.~\pageref{winshell:more}. + +\subsubsection{Dvips} + +The configuration file for dvips can be found in\\ +\verb+C:\Program Files\TeXLive\texmf-var\dvips\config\config.ps+\\ +You may open it with any editor (\cmdname{WinShell} will do fine) and change +some parameters: + +\begin{description} +\item [fonts] you can change the default printer \MF{} mode or printer + resolution in case dvips needs to generate PK fonts. By default it + is configured to use type1 versions of the CM fonts, so it should + not call \cmdname{mktexpk} too often; +\item[printer] you can tell dvips where you want to print by + default. If the `o' option is not followed by a printer name, then a + \file{.ps} PostScript file is written. You can give dvips a printer + name such as: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] Next, you might want + to change the paper size from European (A4) to US letter + by making the US letter the first paper size mentioned in the file. + Scroll to the group of lines beginning with ``@''. Move + the appropriate lines so that this section begins with the lines:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +\textbf{Note:} The current \TeXLive{} distribution has implemented (for +the first time!) the procedure of making always up-to-date fontmaps files +for Dvips and Pdftex. This is done by \cmdname{updmap} program +during installation, as well as during any font package addition. +If you add new packages by hand, edit the file \verb+updmap.cfg+ +in \path|$VARTEXMF/web2c|. + +\subsubsection{Pdftex} +If you want to use the program pdf{}latex to convert directly to +pdf format, and you are using US letter file, edit the file\\ +\verb+C:\Program Files\TeXLive\texmf-var\pdftex\config\pdftex.cfg+\\ +and change ``page\_width'' and ``page\_height'' to specify letter-size paper. +These entries should read:\\ +\hspace*{1em} page\_width 8.5 true in\\ +\hspace*{1em} page\_height 11 true in\\[6pt] +Save the file and exit the editor. + +\subsubsection{GSView} +Starting from versions compatible with Ghostscript 6.50, GSView is not +free anymore, but shareware. So it is not on the \CD{} anymore. + +You may want to change the papersize to US letter size. If so, +open GSView from the Start menu. \\ +From the \textbf{Media} menu, select \textbf{Letter}. + +Also, there are menu settings that are supposed to give you the +most readable screen image:\\[4pt] + From \textbf{Media} \verb+->+ \textbf{Display Settings}, +set \textbf{Text Alpha} +and \textbf{Graphics Alpha} both to 4 bits. + +Note that the installation process has set all .ps and .eps files +to automatically open with GSView. + +For printing instructions, see section~\ref{printing} below. + +\subsubsection{WinDvi} +\label{sub:windvi} + +The \file{TeXSetup.exe} program takes care of associating the files +with the \file{.dvi} extension with \file{Windvi}. + +Open it from the Start menu (Programs \verb+->+ TeXLive \verb+->+ DVI Viewer). +You can set it for US letter paper by going to \textbf{View} \verb+->+ \textbf{Options} +and next to \textbf{Papertype}, +selecting US (8.5\verb+"+ x 11\verb+"+). +Click \textbf{OK}. +Exit Windvi. +You can change other parameters from there, like the ability to +execute commands included in path|\special{}|. +Also, the first time you +view any .dvi file, you may find the magnification too large. Zoom out +until you get an appropriate size. + +%There are two important parameters related to printing that can't yet +%be set from the dialog boxes, namely the resolution and the \MF{} mode +%for the printer. You can set them once for all by specifying them on +%the command line: +%\begin{verbatim} +%c:\>windvi -p 360 -mfmode canonbjc foo.dvi +%\end{verbatim} +%When you will exit Windvi, these parameters will be stored in the +%configuration file. The available modes are found in this file:\\ +%\path|c:\Program Files\TeXLive\texmf\metafont\misc\modes.mf| + +All the configuration for Windvi is stored in the +\path|$HOME/windvi.cnf| file. You can find it by running this command +at the prompt: +\begin{verbatim} +c:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +Should you have problems with Windvi, please remove the configuration +file and test your problem against a vanilla configuration. + +\subsection{Testing} + +You can test \cmdname{WinShell} by opening the file \verb+sample2e.tex+, found in +\path|C:\Local\TeX\texmf\tex\latex\base|. The \LaTeX\ source should appear +on the screen. Process it by clicking on the \LaTeX\ icon on the toolbar, +then view it by clicking on the Preview (Windvi) icon. + +At first, when you preview files with Windvi, 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. +Return to \cmdname{WinShell} and try dvips, then GSView. + +\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ +cannot find a file, you can press \textbf{Ctrl-z} to quit. + +\subsection{Printing}\label{printing} + +It is possible to print from Windvi. In this case, printing will +be done using the Windows unified printer driver. By definition, it +is compatible with all printers. However, there is some drawback: it +can generate some huge spool files, and some (older) versions of Windows just +don't like them. The advantage is that you can use features like +embedding BMP or WMF images. You also need to make sure that the +printer parameters are correctly set (subsection~\ref{sub:windvi}), +else you will get scaled printing (printing at 600dpi on a 300dpi +printer will give you only one quadrant of your page). + + +Printing is faster and more reliable if you run dvips to make a +.ps file and then print from GSView. To print from GSView, first select +\textbf{Print...} from the \textbf{File} menu. A Print window will appear. + +If you will be using a PostScript printer, \textit{be sure to select +\textbf{PostScript Printer}}. In the newer version this is done in +the ``Print Method'' box at the bottom left of the Print window. You +can then select any of the printers that you have previously installed +on your PC. If you fail to check the box for PostScript Printer, +printing will not work. + +If you will be using your own non-PostScript printer, select +\textbf{Ghostscript device} in the ``Print Method'' box, then click on +the button to the right labelled \textbf{djet500} and select your +printer type from the list that pops up. (In the older version of +GSView, make sure PostScript Printer is \textit{not} selected, then +select your printer type from the ``Device'' list.) + +If you use \cmdname{WinShell} and a PostScript printer, probably the most +convenient way to print is to add an icon to the \cmdname{WinShell} toolbar that +invokes dvips in a way that sends the output directly to a default +printer. For detailed instructions on how to do this, see +\ref{winshell:print} on p.~\pageref{winshell:print} +(\textit{More About \cmdname{WinShell}}). + +\subsection{More About \cmdname{WinShell}}\label{winshell:more} +\subsubsection{Installing Bug Fixes} + +\cmdname{WinShell}'s author (\href{mailto:idb@winshell.de}{Ingo de Boer}, +thanks to him) sometimes releases beta versions of the next \cmdname{WinShell} +version which are also bug fixes. You can grab them from +\url{http://www.winshell.de}. Usually they are \file{.zip} files that +only require to be unpacked in \cmdname{WinShell} directory (\path|c:\Program +Files\WinShell| by default), either using WinZip or a similar tool, or +by using \file{unzip} on the command line. If you got some +\file{winshellbugfix.zip} file and that you saved it in the \cmdname{WinShell} +directory, then you need to run: +\begin{verbatim} +c:\>cd c:\"Program Files"\WinShell +c:\>c:\local\bin\unzip winshellbugfix.zip +\end{verbatim} +Say `yes' if you are asked if some files should be overwritten. The +\path|unzip.exe| programme can be found in the +\path|support/gnu-utils| package. If you +do not have it on your machine, you can use any archiver tool like +WinZip to achieve the same effect. + +\subsubsection{Using the Project Feature} +If your document is split into several files +(for example a thesis), look into \cmdname{WinShell}'s ``Project'' feature. From the +\textbf{Project} menu, you give the project a name (e.g., Thesis), +supply the name of the main (or root) file, and then ``add'' other +files. These filenames display on the left of the screen where you can +double click the names to view and switch between them. Clicking +the \textbf{\LaTeX} icon always processes the main file. + +Note the icons on the toolbar for toggling the project space (on the left) +and the log space (at the bottom). If you are not using the Project +feature, you may want to toggle off the space on the left, using the full +screen width to display your file. + +\subsubsection{Printing from \cmdname{WinShell} to a PostScript Printer} +\label{winshell:print} + +The Dvips icon on the \cmdname{WinShell} toolbar puts the PostScript output in a file, +which you can then view with GSView and print from there if you choose. +However, it's convenient to add a \cmdname{WinShell} ``program call'' to dvips which +sends the output directly to a designated PostScript printer. The steps +below show how to do this for the printer \textbf{vclw}; you should +substitute the name of your most frequently-used printer for \textbf{vclw}. +\begin{enumerate} +\item Make the program aware of the printer: +\begin{itemize} + +\item Open \cmdname{WinShell}, go to \textbf{Options} \verb+->+ +\textbf{Program Calls} \verb+->+ \textbf{User defined}. + +\item Click on \textbf{Tool 1} in the list on the right and fill in the +fields to the left as follows:\vspace{-6pt} +\begin{quote} +Name: \verb+Print+\\ +exe file: \verb+dvips+\\ +cmd-line: \verb+ -D600 %m -o vclw+\\ +Uncheck the box for ``DVIPS first'' +\end{quote}%\vspace{-12pt} +\item Click \textbf{OK} +\end{itemize} +\item Add Print to the toolbar: +\begin{itemize} +\item Go to \textbf{Options} \verb+->+ \textbf{View} \verb+->+ \textbf{Customize}. +\item In the Category box, select \textbf{User-Programs}. +\item Select \textbf{Print} and drag it to the toolbar, placing it just to + the right of the GSView icon. +\item You then have a choice of ``Image only'', ``Text only'', or ``Image and +Text''. The easiest is to select ``Text only'' and click \textbf{OK}. +You should then see \textbf{Print} on the toolbar. (If you prefer, you can +select ``Image only'', then ``Edit'', and edit the displayed picture to your +satisfaction.) +\end{itemize} +\end{enumerate} +Now, to print a \LaTeX\ document, just click on the \textbf{Print} icon to +send to your selected printer. To use a different printer, you will need to +click on the \textbf{Dvips} icon to print to a file. Then click on the +GSView icon and use GSView to send to any printer you have installed on +your PC. + +\subsubsection{Adding Ispell to \cmdname{WinShell}} +\label{winshell:ispell} +\begin{enumerate} +\item Add Ispell to User Tools: +\begin{itemize} +\item Open \cmdname{WinShell}, go to \textbf{Options} \verb+->+ +\textbf{Program Calls} \verb+->+ \textbf{User defined}. +\item In the list on the right, click on \textbf{Tool 1} (or \textbf{Tool + 2} if you have already used \textbf{Tool 1}) and fill in the +fields to the left as follows:\vspace{-6pt} +\begin{quote} +Name: \verb+Ispell+\\ +exe file: \verb+ispell+\\ +cmd-line: \verb+ -t -d american %c.tex+\\ +Uncheck the boxes for ``LaTeX first'' and ``DVIPS first'' +\end{quote}%\vspace{-12pt} +\item Click \textbf{OK} +\end{itemize} + +\item Add Ispell to the toolbar: %\vspace{-14pt} +\begin{itemize}\itemsep 0pt +\item Go to \textbf{Options} \verb+->+ \textbf{View} \verb+->+ \textbf{Customize}. +\item In the Category box, select \textbf{User-Programs}. +\item Select \textbf{Ispell} and drag it to the toolbar, placing it just to + the right of the GSView icon (or the last icon you added). +\item You then have a choice of ``Image only'', ``Text only'', or ``Image and +Text''. The easiest is to select ``Text only'' and click \textbf{OK}. +You should then see \textbf{Ispell} on the toolbar. (If you prefer, you can +select ``Image only'', then ``Edit'', and edit the displayed picture to your +satisfaction.) +\end{itemize} +\end{enumerate} +Now, when you have a \LaTeX\ document open, you can click on +\textbf{Ispell} to perform spell checking. Ispell will open another window +and display the first misspelled word on the left with the filename on the +right. Below that you will see the context in which the misspelling appears; +often several suggestions for replacements are also displayed. To replace +the word, enter the number corresponding to the desired replacement. Other +possible responses are listed below; for example, you can press the space +bar to ignore the misspelled word. For more information on Ispell, read the +manual page: \verb+C:\Program Files\TeXLive\texmf\doc\html\manpages\ispell.html+. + +Note that when you replace a word, you will not see the correction in your +\cmdname{WinShell} window until you close the file (click the X in the upper right +corner) and then open it again (use the File menu). + +\subsection{Tips and tricks about the Win32 platform} + +\subsubsection{Different flavors of Win32} + +What we call Win32 is not an operating system by itself. It is a set +of functions -- and a large one\footnote{Around 12000 functions in the + header files of the Microsoft SDK} -- that you can use to write +programs for different operating systems of the Windows family. + +Windows comes in different flavors: +\begin{itemize} +\item Win95, Win98 and WinME, which \emph{are not true multitasking, + multithreading} environments. They are the latest -- and hopefully + last -- metamorphosis of DOS. This can be more or less proven by the + fact that when booting, the PC will load the \path|command.com| + interpreter, and if you stop the boot process at this point, you can + ask for the current (DOS) version and it will answer something like + 'MS-DOS 7.0' (at least for the old versions of Win9x); +\item Windows NT, which is a new operating system written from scratch, + capable of + true multitasking behaviour, and loaded with high level features; +\item Windows 2K, written on an NT basis, with all the bells and + whistles of Win98. +\item Windows XP, which comes with Personal and Pro flavors. This is + the last step in merging both lines of products (Win9x based and NT + based). XP is written on an NT basis. +\end{itemize} + +Win9x are able to run 32~bits programs and 16~bits programs +concurrently. But the operating system by itself is not entirely +written in 32~bits mode, and does not support memory protection: 16bits +applications can overwrite parts of the operating system memory! Some +parts of the system like the GDI (Graphical Device Interface) manage +limited resources like bitmaps, fonts, pens and so on for the set of +all programs that run concurrently. All the bitmaps headers available +at the same time can't amount for more than 64kb. This explains the +performance tool and the fact that you can put your system on his +knees by making intensive use of graphic objects for example. + +NT, 2K and XP do not suffer from these limitations, and neither from +other Win9x limitations. They are true multitasking environments, with +protected memory. They are much more responsive than Win9x because +of better memory management, better file system and so on. + +\subsubsection{Command line prompt} + +You will wonder: ``why would I need to use a command line prompt when +I have Windows?''. + +Good question. The problem is of very general nature. Not all +operations can be done easily using only a GUI. Command line gives you +programming power -- assuming a clever command interpreter. + +But the problem here is more fundamental: \TeX{} is \emph{a batch} +tool. Not an interactive one. \TeX{} needs to compute the best +layout for each page, resolve cross-references and so on. This can be +done only by a global processing of the document. It is not (yet) a +task that can be done interactively. + +This means that you should use \TeX{} from a command line. In fact the +situation is not so bad. There is an advantage to write command line +tools for complex processing: they are better debugged, because not +tied to GUI problems, and GUI tools can be designed to interface the +command line tools. This is the case for \TeX{} where you will +interact with it most of the time through a GUI text editor -- see +section~\ref{sec:winshell} for example. + +However, you may need to use the command line prompt in a number of +situations, by example in case of problems and you want to debug your +setup -- see + section~\ref{sec:troubleshooting}. + + \begin{description} + \item[Win9x] You will open a command line prompt by looking either + for the MS-DOS icon in the ``Start->Programs'' menu, either by + choosing ``Start->Run'' menu and typing in \path|command.com| + \item[NT, 2K, XP] You will open a command line prompt by looking + for the ``Command Prompt'' in the ``Start->Accessories'' + menu\footnote{These locations may change across different OS + versions.}. You can also choose the ``Start->Run'' menu and type + in \path|cmd.exe|, which is the name of the brand new command + interpreter for NT\footnote{Which explains why it is untrue to + call this a \emph{DOS} box under NT!}. +\end{description} + +\subsubsection{Path separators} + +The Win32 API understands both \path|/| and \path|\| characters as +PATH separators. But the command interpreters do not! So whenever a +path name is used programmatically, you can use both separators, and +even mix them up in the same path name. But on the command line, you +must type \path|\| as path separator. The reason is compatibility: +the command processor used the \path|/| to introduce arguments to +commands. + +All this to say: do not be surprised to read path names written using +the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible +across platforms. For this reason, all the configuration files that +need to specify path names use the Unix convention. + +\subsubsection{File systems} +\label{sec:clusters} + +The worse feature of Win9x with regard to \TeX{} is probably the +so-called FAT file system. \TeX{} uses many many small files, with +size around 1kb -- 3kb. The FAT file system is old, and predates by +far the multi-gigabytes hard disks we have today. It means it can't +manage efficiently the 30000 \TeX{} files found on the \CD{}. The FAT +file system will allocate a minimum of 32kb for \emph{any} file on a +huge partition. It means that \TeX{} will use much more disk space +than it actually needs. + +The other, more modern, file systems available -- namely FAT32 and +NTFS -- do not have this drawback. They manage clusters of 4kb +only\footnote{You can lower the limit to 512 bytes on NTFS}. + +\subsubsection{How to add some directory to your PATH} + +There are pairs of variables and values which behave much like global +variables inside your programs. The set of those variables is called the +environment. Each program is initialized with a copy of the +environment when it is run. It can request and change the +value of any variable. The changes happen in the copy of the +environment, and is not at all propagated to the other running +programs. + +Your PATH is a special environment variable used to search for +programs you want to run. +There is a different procedure to change it for Win9x, WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line + starting with \texttt{PATH=} and followed by a list of directories separated + by \path|;|. Please add the directory with the executables in this line. + After this, this line could look as follows: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\"Program Files"\TeXLive\bin\win32 +\end{verbatim} +\item[Windows ME] You need to run the special program + \path|c:\windows\system\msconfig.exe| to be able to change any + environment variable. From this program, select the `Environment' + tab, and then add or modify the variable you want. You will be asked to reboot the + machine upon any change. +\item[Windows NT/2K/XP] + Click left on \texttt{Start --> Settings --> Control Panel}. Now the window + with the control panel icons opens. Double click on System. The + System Properties window opens. Click on the tab + \textsf{Environment} or look for a button named `Environment + Variables' among the dialog boxes. Now + you can change the environment variables for your user account. Note: + There are also displayed the environment settings for the system. + Normally, you can't change the system variables unless you have + administrator rights on your machine. If you want to change the \texttt{PATH} + for all users, you will have to contact your system administrator or + be the system administrator yourself--in the later case you should + know what you are doing. + + If there is already a \texttt{PATH} setting for your user account, + left click on \texttt{PATH}. In the field \textsf{Variable} appears + \texttt{PATH} while the field Value shows the current setting of + \texttt{PATH} as a list of directories separated by \path|;|. Add + the directory where the executables are located (e.g. + \path|c:\Program Files\TeXLive\bin\win32|). If there isn't a \texttt{PATH} variable + for your user account, simply click in the field Variable and type + in \texttt{PATH}, click in the field \textsf{Value} + and type in the directory with the executables. Important: Click on + the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the + changes to \texttt{PATH} won't apply to your system. Be careful when + changing the environment settings. +\end{description} + +The best way to be sure that a variable has been properly set is to +open a console and type: +\begin{verbatim} +set VARIABLE +\end{verbatim} +which should return the corresponding value. + +\subsubsection{\TeX{} engines} + +If you have a look at the \Webc{} documentation, you will read that all +the various \TeX{} derived programs use the same base engine. For +example, \path|tex.exe| and \path|latex.exe| are exact copies of the +same program, but each one will use a different format file, based on +its calling name. + +Under Unix, this feature is implemented through \emph{symbolic + links}. It saves up a bit of disk space, because some engines are +used with many different format files. + +The Win32 API does not know about file links. So to save up almost +the same amount of memory, all the \TeX{} base engines have been put +in DLLs (\emph{Dynamic Linked Library}). This means that you will have +the following layout: +\begin{alltt} +13/05/2002 17:06 3 584 latex.exe +13/05/2002 17:06 266 240 tex.dll +13/05/2002 17:06 3 584 tex.exe +\end{alltt} +and the \path|latex.exe| file is nothing but a rough copy of +\path|tex.exe| using the same core \path|tex.dll|. +The same trick has been used for the \path|mktex*.exe| family of programs which are +linked to the \path|mktex.dll| library. + +In fact, a generic tool called \path|lnexe.exe| is provided to build the +equivalent of Unix hard links for executable files only under Win32. + +\subsection{In case of problems} +\label{sec:troubleshooting} + +\subsubsection{What to do if \texttt{latex} does not + find your files?} + +\begin{itemize} +\item \cmdname{kpsewhich} is the tool of choice to debug any +problem. Unfortunately, kpsewhich outputs debug information to +stderr, and the Windows console does not know how to redirect stderr +to a file\footnote{Well, NT and Win2k consoles know how to do + that. But the trick will work for any console.}. +For diagnostic purposes you can temporarily set an +environment variable (in DOS box): +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +You can also set the debug level: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +If you want to redirect stderr to stdout, which is not possible under +either W9x or NT/2K/XP, then just do: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +This way you can capture both stdout and stderr in the same file. + +\item Assuming the installation has been done in \path|c:/Program Files/TeXLive|, check + the following values: \\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/Program Files/TeXLive/texmf| \\ + \path|kpsewhich -expand-path $TEXMFCNF| & + \path|.;c:/Program Files/TeXLive/texmf/web2c;| \\ + & \path|c:/Program Files/TeXLive/bin/win32;| \\ + & \path|c:/Program Files/TeXLive/bin;| \\ + & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/Program Files/TeXLive/texmf/tex//| + \end{tabular} +} +\item If you have other \TeX{}-related values already set in your + environment, please, remove them. They are overriding the ones in + texmf.cnf. +\item Check the values from:\\ +{\small + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \path|c:/Program Files/TeXLive/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ + \texttt{kpsewhich latex.fmt}& \path|c:/Program Files/TeXLive/texmf/web2c/latex.fmt| + \end{tabular} +} +\item At this point, if everything is correct, \path|tex.exe| and + co. should work. If it is not the case, you will need to play with + the \path|-debug=n| option from \path|kpsewhich|, and check back all + the values. Try to identify and report the problem. +\end{itemize} + +\subsubsection{What to do if your setup still does not work as expected?} + +There are several questions to ask about: +\begin{enumerate} +\item Is \file{tex.exe} on my \path|PATH|? +\item Is the \path|TEXMFCNF| variable correctly set to + \path|c:/Program Files/TeXLive/texmf-var/web2c| (default value)? +\item Are there any errors in the log file generated by the + \file{TeXSetup.exe} program? Errors are flagged with the sequence + \path|Error|. +% \item If everything seems correct up there, then you need to read the +% documentation in \path|texmf/doc/fptex/fptex.pdf| or +% \path|texmf/doc/html/fptex/fptex.html| for a more detailed procedure +% (available on your hard disk or on the \CD{}). +\item One can also go to \url{http://www.tug.org/tex-live.html} and + check for any bug fix. +\item The Windows distribution on the \CD{} is no more no less than + the \fpTeX{} distribution, so you can also go to the Web pages at + \url{http://www.fptex.org}, or consider subscribing to the \fpTeX{} + mailing-list by consulting + \url{http://www.tug.org/mailman/listinfo/fptex} . +\end{enumerate} + + +The \TeXLive{} software is complex and made of more than 250 programs +and around 40000 files from various sources. It is quite difficult to +predict all possible causes for problems. Nevertheless, we will do our +best to help you in every case. + + +\subsection{Compiling the source files} + +You have the whole set of source files, comprised for +Windows in the \path|source/source.tar.bz2| archive available on the +\CD{}. To be able to compile the whole distribution for Windows, you +will need: +\begin{itemize} +\item Windows 2K/XP +\item Microsoft Visual Studio .Net +\item a set of Unix tools (\texttt{sed}, + \texttt{grep}, \texttt{gawk}, etc.) and also Perl, Flex and Bison, +\item to adjust the paths in the + \path|win32/make/common.mak| file according to your installation +\item adjust the paths in the Perl script file + \path|win32/perl/build.pl|, +\item run the compilation from the \path|win32/| directory using this + command: +\begin{verbatim} +c:\texlive\source\win32>perl ./perl/build.pl --install --log=install.log +\end{verbatim} +\end{itemize} + +There is a lot of work to do to make this process easier and cleaner. + +\subsection{Where to get more information?} + +The Win32 \TeX{} distribution on the \CD{} is also known as +\fpTeX. Only the packaging differs, but \fpTeX{} is no more no less +than the current \TeXLive\ release for Windows. + +The \fpTeX home on the Web is at:\\ +\url{http://www.fptex.org/} + +The current \fpTeX release is available from any +\href{http://www.ctan.org}{CTAN} %(see also the section +%\ref{sec:ctan}) +site in the directory~:\\ +\noindent\url{ftp://ctan.tug.org/tex-archive/systems/win32/fptex/}. + +The main ftp site for \fpTeX\ is \url{ftp://ftp.dante.de/pub/fptex/} from +where beta versions of \fpTeX\ and additionnal tools are available. +This main site is (partially) mirrored daily by the CTAN backbones in their +\path|systems/win32/fptex| directory. + +% You can reach me at my email address: +% \url{mailto:Fabrice.Popineau@supelec.fr}. + +The \TeX{} Users Group is kindly hosting a mailing-list dedicated to +\fpTeX. This is a very low volume one. It is used for announcements, +bugs reports or as well to discuss about improvements or various users +problems. To subscribe, read the page at +\url{http://www.tug.org/mailman/listinfo/fptex}. The mailing list +address is \EmailURL{fptex@tug.org}. + +\section{Building on a new Unix platform} +If you have a platform for which we have not provided binary sources, +you will need to compile \TeX{} and friends from scratch. This is not +as hard as it sounds. What you need is all in the directory +\texttt{source} on the \CD{}. + +You should first install the support tree from the \TeXLive{} \CD{} (do +a basic install, with no system binaries chosen). + +\subsection{Prerequisites} +You will need about 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. The \acro{GNU} utilities (\cmdname{gcc}, \acro{GNU} +\cmdname{make}, \cmdname{m4}, \cmdname{flex}, \cmdname{bison}) are the +most widely tested on different platforms. \cmdname{gcc}-2.7.* +\cmdname{flex}-2.4.7 and \acro{GNU}\,\cmdname{make}-3.72.1 or newer +should work well. 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. The command +\texttt{uname} must return a sensible value. + + + +\subsection{Configuration} +First, 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. Decide where the `root' of the +installation will be, e.g.\ \path|/usr/local| or +\path|/usr/local/TeX|. Obviously you should use the same location +that you specified when you installed the support tree. + +Now, start the build process by running \textsf{configure} with +a command-line like +\begin{alltt} +>> \Ucom{./configure -prefix=/usr/local/TeX} +\end{alltt} + +The `prefix' directory is the one where you installed the support +tree; the directory layout that will be used is as follows (where +\$TEXDIR stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/info} & \acro{GNU} style info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +You can omit the use of `\dirname{share/}' part for the +\dirname{texmf} directory if you want, as +\dirname{$TEXDIR/share/texmf} and \dirname{$TEXDIR/texmf} are +auto-detected by configure. If you choose something different, you +have to specify that directory with the \verb|--datadir| option of +\textsf{configure}. + + +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 for \textsf{configure}. + + +Have a look at the output of \texttt{./configure --help} for more +options you can use (such as omitting optional packages such as \OMEGA\ +or \eTeX). + +\subsection{Running \textsf{make}} +Make sure the shell variable \texttt{noclobber} is not set, and +then type +\begin{alltt} +>> \Ucom{make world} +\end{alltt} +and relax\ldots. + +It could also be useful to log all the output, e.g.\ by +typing +\begin{alltt} +>> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} +Before you think that everything is ok, please check the log file for +errors (\acro{GNU} \cmdname{make} always uses the string +``\texttt{Error:}'' whenever a command returns an error code) and +check if all binaries are built: +\begin{alltt} +>> \Ucom{cd /usr/local/TeX/bin/i686-pc-linux-gnu} +>> \Ucom{ls | wc} +\end{alltt} +The result should be 209. + +If you need special privileges for \texttt{make install}, you can +run two \cmdname{make} jobs in separate runs: +\begin{alltt} +>> \Ucom{make all} +>> \Ucom{su} +>> \Ucom{make install strip} +\end{alltt} + +\subsection{Final configuration steps} +Set up your \envname{PATH} to include the directory containing the +just-installed binaries (e.g.\ +\dirname{/usr/local/TeX/bin/mips-sgi-irix6.5}); similarly, +\envname{MANPATH} and \envname{INFOPATH} to include the relevant newly +installed subdirectories, i.e.\ \dirname{$TEXDIR/man} and +\dirname{$TEXDIR/info}. + +The program \textsf{texconfig} allows you to set the defaults for +hyphenation, paper size, print command, \MF{} mode, etc. You can +run this command interactively and see what options it offers, or type +\begin{alltt} +>> \Ucom{texconfig help} +\end{alltt} + +For example, if you are not using A4 format paper, you can make +`lettersize' the default using: +\begin{alltt} +>> \Ucom{texconfig dvips paper letter} +>> \Ucom{texconfig xdvi paper us} +\end{alltt} + +\section{A user's guide to the \protect\Webc{} system} + +%-------------------------------------------------------- + +\Webc{} contains a set of \TeX-related programs, i.e., \TeX{} itself, +\MF{}, \MP, \BibTeX{}, etc. The original implementation was by Tomas +Rokicki who, in 1987, developed a first \TeX{}-to-C system adapting +change files under Unix, which were primarily the 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. The +latest result is \Webc{} Version 7.3, which was released in March +1999. Our version has some updates for the forthcoming new release, +and identifies itself as 7.3.7 + +The \Webc{} 7.3 system runs on Unix, Windows 3.1, 9x/ME/\acro{NT}/\acro{2K}/\acro{XP}, +\acro{DOS}, and other operating systems. It uses Knuth's +original sources for \TeX{} and other basic programs written in \web{} +and translates them into C source code. Moreover, the system offers a +large set of macros and functions developed to augment the original +\TeX{} software. The core \TeX{} family components are: + +\begin{description} +\renewcommand{\makelabel}[1]{\descriptionlabel{\mdseries\cmdname{#1}}} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\item[dvicopy] Produces modified copy of \dvi{} file. +\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[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to property list. +\item[vftovp] Virtual font to virtual property list +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{description} +\noindent The precise functions and syntax of these programs are described in +the documentation of the individual packages or of \Webc{} itself. +However, knowing a few principles governing the whole family of +programs will help you to benefit optimally from your \Webc{} +installation. + +All programs honor the standard \acro{GNU} options: +\begin{description} +\item[\texttt{-{}-help\ \ \ }] print basic usage summary. +\item[\texttt{-{}-verbose}] print detailed progress report. +\item[\texttt{-{}-version}] print version information, then exit. +\end{description} + +For locating files the \Webc{} programs use the path searching library +\KPS{}. This library uses a combination of environment variables and a +few configuration files to optimize searching the \TeX{} directory +tree. \Webc{} can handle more than one directory tree +simultaneously, which is useful if one wants to maintain \TeX's +standard distribution and local extensions in two 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 ``hanging'' under that root. + +\subsection{\protect\KPS\ path searching} + +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{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{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 + ``\texttt{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{Debugging}). + +\subsubsection{Config files} + +\tolerance=3500 +\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} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. + +\tolerance=1500 + +While reading the description of the format of the file +\file{texmf.cnf} below, please also refer to +appendix~\ref{app:texmf.cnf}, starting on +page~\pageref{app:texmf.cnf}, which lists the \file{texmf.cnf} file on +the \CD. + +\begin{itemize} +\item + Comments start with ``\texttt{\%}'' 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} + \emph{variable}[.\emph{progname}] [=] \emph{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The ``\texttt{\var{variable}}'' name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If ``\texttt{.\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 ``\texttt{\var{value}}'' may contain any characters except + ``\texttt{\%}'' and \samp{@}. The + ``\texttt{\$\var{var}.\var{prog}}'' feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in ``\texttt{\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, MSDOS 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{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{Default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{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 + +\tolerance=1500 + +\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 can be used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, you find +the following definition: +\begin{verbatim} + TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$VARTEXMF,!!$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{\$HOMETEXMF/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$VARTEXMF/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{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 summarises the meaning of special characters +in \KPS{} configuration files. + +\newcommand{\CODE}[1]{\makebox[2.2em][l]{\code{#1}}} +\begin{description} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion. +\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`\{\dots\char`\}}] Brace expansion, e.g., + \verb+a{1,2}b+ will become \verb+a1b:a2b+. +\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{description} + + +\subsection{Filename databases} +\label{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 +``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 +adapt to DOS-like ``8.3'' filename conventions in source files. + +\subsubsection{The filename database} +\label{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); most sites have only one hierarchy. \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} && ls -LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\acro{GNU}'s \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 for changes in the installed files\Dash perhaps after installing or +updating a \LaTeX{} package\Dash the file \file{ls-R} is automatically +updated. + +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{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 ``\texttt{\var{option}}'' can 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 more important options are described next. + +\begin{description} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to ``\texttt{\var{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 ``\texttt{\var{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 + found in the first column of Table~\ref{TABKpathsea}, which lists + currently recognized names, a description, + associated environment variables%, + \footnote{You can find definitions for these environment variables + in the file \file{texmf.cnf} (page~\pageref{app:texmf.cnf})}, and + possible file extensions. +\end{description} + + +\def\KpathKey#1#2#3#4#5{% name, number, description, variables, + % suffixes +\SetRowColor#1 & #3 & #4 & #5\\} +\def\HEAD#1{\multicolumn{1}{l}{\emph{#1}}} +% +\begin{small} +% a footnoterule immediately under a bottom-of-page rule looks dead +% silly, so we suppress it +\renewcommand\footnoterule{\relax} +% +\begin{longtable}{@{}% + >{\ttfamily}P{.16\textwidth}% Col.1 + P{.3\textwidth}% Col 2 + >{\ttfamily\footnotesize}P{.29\textwidth}% Col 3 + >{\ttfamily}P{.14\textwidth}% Col 4 +@{}} +\caption{Kpathsea file types}\label{TABKpathsea}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\endfirsthead +\multicolumn{3}{l}{Kpathsea file types \emph{continued}}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\noalign{\vspace{2pt}} +\endhead +\mbox{}\\ +\hline +\endfoot +\KpathKey + {afm} + {4} + {Adobe font metrics} + {AFMFONTS} + {.afm} +\KpathKey + {base} + {5} + {Metafont memory dump} + {MFBASES, TEXMFINI} + {.base} +\KpathKey + {bib} + {6} + {\BibTeX{} bibliography source} + {BIBINPUTS, TEXBIB} + {.bib} +\KpathKey + {} + {2} + {bitmap fonts} + {GLYPHFONTS, TEXFONTS} + {} +\KpathKey + {bst} + {7} + {\BibTeX{} style files} + {BSTINPUTS} + {.bst} +\KpathKey + {cnf} + {8} + {Runtime configuration files} + {TEXMFCNF} + {.cnf} +\KpathKey + {dvips config} + {34} + {\textsf{dvips} configuration files, e.g., \file{config.ps} + and \file{psfonts.map}} + {TEXCONFIG} + {.map} +\KpathKey + {fmt} + {10} + {\TeX{} memory dump} + {TEXFORMATS, TEXMFINI} + {.fmt, .efmt, .efm} +\KpathKey + {gf} + {0} + {generic font bitmap} + {GFFONTS} + {.gf} +\KpathKey + {graphic/figure} + {25} + {Encapsulated PostScript figures} + {TEXPICTS, TEXINPUTS} + {.eps, .epsi} +\KpathKey + {ist} + {35} + {\textsf{makeindex} style files} + {TEXINDEXSTYLE, INDEXSTYLE} + {.ist} +\KpathKey + {ls-R} + {9} + {Filename databases} + {TEXMFDBS} + {} +\KpathKey + {map} + {11} + {Fontmaps} + {TEXFONTMAPS} + {.map} +\KpathKey + {mem} + {12} + {MetaPost memory dump} + {MPMEMS, TEXMFINI} + {.mem} +\KpathKey + {mf} + {13} + {Metafont source} + {MFINPUTS} + {.mf} +\KpathKey + {mfpool} + {14} + {Metafont program strings} + {MFPOOL, TEXMFINI} + {.pool} +\KpathKey + {mft} + {15} + {MFT style file} + {MFTINPUTS} + {.mft} +\KpathKey + {} + {41} + {miscellaneous fonts} + {MISCFONTS} + {} +\KpathKey + {mp} + {16} + {MetaPost source} + {MPINPUTS} + {.mp} +\KpathKey + {mppool} + {17} + {MetaPost program strings} + {MPPOOL, TEXMFINI} + {.pool} +\KpathKey + {MetaPost support} + {18} + {MetaPost support files, used by DMP} + {MPSUPPORT} + {} +\KpathKey + {ocp} + {19} + {\OMEGA{} compiled process files} + {OCPINPUTS} + {.ocp} +\KpathKey + {ofm} + {20} + {\OMEGA{} font metrics} + {OFMFONTS, TEXFONTS} + {.ofm, .tfm} +\KpathKey + {opl} + {21} + {\OMEGA{} property lists} + {OPLFONTS, TEXFONTS} + {.opl} +\KpathKey + {otp} + {22} + {\OMEGA{} translation process files} + {OTPINPUTS} + {.otp} +\KpathKey + {ovf} + {23} + {\OMEGA{} virtual fonts} + {OVFFONTS, TEXFONTS} + {.ovf} +\KpathKey + {ovp} + {24} + {\OMEGA{} virtual property lists} + {OVPFONTS, TEXFONTS} + {.ovp} +\KpathKey + {pk} + {1} + {packed bitmap fonts} + {\emph{program}FONTS \textrm{(\texttt{\emph{program}} being + \textsmaller{\cmdname{XDVI}}, + etc.)}, PKFONTS, TEXPKS, GLYPHFONTS, TEXFONTS} + {.pk} +\KpathKey + {PostScript header} + {30} + {downloadable PostScript} + {TEXPSHEADERS, PSHEADERS} + {.pro, .enc} +\KpathKey + {tex} + {26} + {\TeX{} source} + {TEXINPUTS} + {.tex, .cls, .sty, .clo, .def} +\KpathKey + {TeX system documentation} + {27} + {Documentation files for the \TeX{} system} + {TEXDOCS} + {} +\KpathKey + {TeX system sources} + {29} + {Source files for the \TeX{} system} + {TEXSOURCES} + {} +\KpathKey + {texpool} + {28} + {\TeX{} program strings} + {TEXPOOL, TEXMFINI} + {.pool} +\KpathKey + {tfm} + {3} + {\TeX{} font metrics} + {TFMFONTS, TEXFONTS} + {.tfm} +\KpathKey + {Troff fonts} + {31} + {Troff fonts, used by DMP} + {TRFONTS} + {} +\KpathKey + {truetype fonts} + {36} + {TrueType outline fonts} + {TTFONTS} + {.ttf, .ttc} +\KpathKey + {type1 fonts} + {32} + {Type 1 PostScript outline fonts} + {T1FONTS, T1INPUTS, TEXPSHEADERS, DVIPSHEADERS} + {.pfa, .pfb} +\KpathKey + {type42 fonts} + {37} + {Type 42 PostScript outline fonts} + {T42FONTS} + {} +\KpathKey + {vf} + {33} + {virtual fonts} + {VFFONTS, TEXFONTS} + {.vf} +\KpathKey + {web2c files} + {38} + {\Webc{} support files} + {WEB2C} + {} +\KpathKey + {other text files} + {39} + {text files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\KpathKey + {other binary files} + {40} + {binary files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\end{longtable} +\end{small} + + +\begin{multicols}{2} + +\begin{description} +\item[] The last two entries in Table~\ref{TABKpathsea} are special + cases, where the paths and environment variables depend on the name + of the program: the variable name is constructed by converting the + program name to upper case, and then appending \texttt{INPUTS}. + + The environment variables are set by default in the configuration + file \file{texmf.cnf}. It is only when you want to override one or + more of the values specified in that file that you might want to set + them explicitly in your execution environment. + + Note that the \samp{-{}-format} and \samp{-{}-path} options are mutually + exclusive. +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to ``\texttt{\var{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 ``\texttt{\var{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{prognam}}'' + feature in configuration files. + The default is \samp{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 (\samp{.pk}, \samp{.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{description} + + +\subsubsection{Examples of use} +\label{SExamplesofuse} + +Let us now have a look at \KPS{} in action. + +\begin{alltt} +>> \Ucom{kpsewhich article.cls} +/usr/local/texmf/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 ``tex'' (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{TEXMF} root +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\begin{alltt} +>> \Ucom{kpsewhich array.sty} + /usr/local/texmf/tex/latex/tools/array.sty +>> \Ucom{kpsewhich latin1.def} + /usr/local/texmf/tex/latex/base/latin1.def +>> \Ucom{kpsewhich size10.clo} + /usr/local/texmf/tex/latex/base/size10.clo +>> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf/tex/latex/base/small2e.tex +>> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +The latter 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 on our system (since we use the Type1 versions on the \CD{}). +\begin{alltt} +>> \Ucom{kpsewhich ecrm1000.pk} +\ifSingleColumn /usr/local/texmf/fonts/pk/ljfour/jknappen/ec/ecrm1000.600pk +\else +/usr/local/texmf/fonts/pk/ljfour/jknappen/ +... ec/ecrm1000.600pk +\fi\end{alltt} +For the extended Computer Modern files 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 ecrm1000.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300dpi (\texttt{-dpi=300}) we see that no such font is available on +the system. In fact, a program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the \texttt{.pk} files at the required +resolution 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 +prolog \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the +PostScript font map \file{psfonts.map}. As the \samp{.ps} suffix is +ambiguous we have to specify explicitly which type we are considering +(``\texttt{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/config/config.ps +>> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/dvips/base/psfonts.map +\end{alltt} + +We now take a closer look at the URW Times PostScript support files. +The name for these in Berry's font naming scheme is ``\texttt{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/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 --format="dvips config" utm.map} + /usr/local/texmf/dvips/psnfss/utm.map +\end{alltt} +This map file defines the file names of the Type1 PostScript fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} + utmb8r NimbusRomNo9L-Medi ... > \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf/fonts/type1/urw/utm/utmr8a.pfb +\else /usr/local/texmf/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these few 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{Debugging} + +Sometimes it is necessary to investigate how a program resolves +file references. To make this feasible in a convenient way \KPS{} +offers various debug levels: +\begin{itemize} +\item[\texttt{\ 1}] \texttt{stat} calls (file tests). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (like \file{ls-R} + database, 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. +\end{itemize} +A value of \texttt{-1} will set all the above options; in practice you +will probably always use these levels if you need any debugging. + +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 +how \cmdname{dvips} prepares the PostScript file (we want to use the Type1 +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/html/dvips/dvips_toc.html}). +%\ifSingleColumn +%We get something +%like the following (we have rearranged the output for easier display): +%\begin{alltt}\small +%\input{../examples/ex6.tex} +%\end{alltt} +%\else +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 PostScript 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{}, PostScript 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 PostScript fonts; see the last part of +Section \ref{SExamplesofuse} for more details about PostScript map +file handling). + +At this point \cmdname{dvips} identifies itself to the user\ldots +\begin{alltt}\ifSingleColumn +This is dvips 5.78 Copyright 1998 Radical Eye Software (www.radicaleye.com) +\else\small{}This is dvips 5.78 Copyright 1998 Radical Eye... +\fi\end{alltt}% decided to accept slight overrun in tub case +\ifSingleColumn +\ldots and then 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 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 +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'': +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font 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 Type1 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, + ... + +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 +[1] +\end{alltt} + +\subsection{Runtime options} + +Another of the nice features 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 listing of +\file{texmf.cnf} is shown in Appendix~\ref{app:texmf.cnf}, starting on +page~\pageref{app:texmf.cnf}; the settings of all parameters can be +found in Part 3 of that file. The more important control variables are: +\begin{description} +\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} (compare the generic value + and the ``huge'' one instantiated by \texttt{hugetex}, + etc.). +\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 TFM files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Approximately 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. You can see that both the + \cmdname{hugetex} and \cmdname{pdflatex} program invocations ask for + an extra 15,000 control sequences (the default value of + \texttt{hash\_extra} is zero). +\end{description} +Of course, this facility is no substitute for truly dynamic arrays and +memory allocation, but since this is extremely difficult to implement +in present \TeX, these runtime parameters provide a practical compromise +allowing some flexibility. + +%-------------------------------------------------------- + + +\section{Acknowledgements}\label{sec:acknowl} +This edition of TeXLive is edited by Sebastian Rahtz, with the +major contributors being Fabrice Popineau, who has worked away +unceasingly at the Win32 part of the package (especially the setup!) +and contributed in many different ways with ideas, advice and code; +and Staszek Wawrykiewicz, who provided great checking feedback, and +co-ordinated the Polish contributions. Kaja Christiansen performed a +vital role in endless recompilations on assorted Unix platforms, and +Robin Laakso coordinated production for TUG. Vladimir Volovich +did great work on cleaning the source and making other improvements, +while Gerben Wierda did all the work for MacOSX. + +We are very grateful for past and present help from +\begin{itemize} +\item The German-speaking \TeX{} Users (DANTE e.V.), who provided a machine + on which the master of the CD-ROM is developed and maintained; and Rainer +Sch\"opf and Reinhard Zierke who look after it; +\item The Perforce company, for providing a free copy of their +excellent change management system, which we have used to + manage the CD-ROM +contents; +\item Karl Berry, who provided the original \Webc{} distribution, and + has continued to give invaluable advice, encouragement, and help; +\item Mimi Burbank, who arranged access + at the Florida State University School of Computational Science + and Information Technology + to a slew of different + computers to compile \TeX{} on, and acted as an essential guinea-pig + whenever asked; +\item Kaja Christiansen, who provided essential feedback, compilation, and + documentation preparation; +\item Thomas Esser, without whose marvellous \teTeX{} package this + \CD{} would certainly not exist, and whose continual help makes it a + better product; +\item Michel Goossens, who co-authored the documentation; +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} + version of this documentation, and who worked tirelessly to improve + it at short notice; +\item Art Ogawa and Pat Monohon, who coordinated releases for TUG; +\item Petr Olsak, who coordinated and checked all the Czech/Slovak + material very carefully; +\item Olaf Weber, for his patient assembly and maintenance of Web2c; +\item Graham Williams, on whose work the catalogue of packages depends. +\end{itemize} + +Gerhard Wilhelms, Volker Schaa, Fabrice Popineau, Janka +Chleb\'\i{}kov\'a, Staszek Wawrykiewicz, Erik Frambach, and Ulrik +Vieth kindly translated documentation at various times into their +respective languages, checked other documentation, and provided very +welcome feedback. + + +\section{History} + +This \CD{} distribution is a joint effort by many \TeX{} Users +Groups, including those from Germany, the Netherlands, the UK, France, +the Czech Republic/Slovakia, India, Poland and Russia, as well as +the international TUG. +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 far too ambitious a target, 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}, which specified how to create consistent and manageable +collections of \TeX{} support files. The final 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 \CD{} 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 \TeXLive. + +We 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 his \Webc{} package, 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 \TeXLive{} shares almost all of its features. The 4th edition +followed the same pattern, using a new version of te\TeX, 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 on this \CD{} should 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 a lot 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 as a major addition a setup +for MacOSX, 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. + +\section{Future versions} + +\emph{This \CD{} is not a perfect product!} We plan to re-issue it +once a year, and would like to provide more help material, more +utilities, more installation programs, and (of course) an +ever-improved and checked tree of macros and fonts. This work is all +done by hard-pressed volunteers in their limited spare time, and a +great deal remains to be done. If you can help, don't hesitate to put +your name forward! + +Corrections, suggestions and additions for future revisions +should be sent to:\hfill\null +\begin{quote} +Sebastian Rahtz\\ +{}7 Stratfield Road\\ +Oxford OX2 7BG\\ +United Kingdom\\ +\EmailURL{rahtz@tug.org} +\end{quote} + + +Updates, notes, and suggestions will be made available on \CTAN{} +in \path|info/texlive|. A \acro{WWW} page for +information and ordering details is at +\url{http://www.tug.org/tex-live.html}. + +\end{multicols} + +\Section{The texmf.cnf file} +\label{app:texmf.cnf} +\begin{small} +\listinginput{1}{../examples/texmf.cnf} +\end{small} + +\end{document} + + + +Notes on Nicolle Zellner's problems: +------------------------------------ +- autoexec.bat gave error, ``too many parameters''. +fix: in setvars.bat file, put "" around %PATH% to take care of spaces. + +- ``out of environment space'' when rebooting meant that autoexec.bat was +not executing properly-- path and texmfhome variable were not being set. +fix: put in config.sys file the line: shell=c:\command.com /e:1024 /p +(and reboot probably) + +[Note: alternative advice written by Pat: + The environment space is an area of memory in which the OS stores + variables such as path. To increase the memory size do the following: + + Open a MS-DOS window. Click on the Properties icon (looks like a hand + holding a sheet of paper). Click on the Memory tab in the Properties + window. Change the value under Initial Environment: to 4096. Apply the + properties. Click OK on the warning about needing to restart your computer. + The new environment memory will be in effect after the reboot.] + +- windvi did not retain settings. +fix: in setvars.bat file, add command: set Home=c:\Home and also create +the directory c:\Home. +copy windvi.cnf to c:\Home\ +reboot + +-ispell doesn't work (can't write to c:\tmp, can't create dictionary) +In addition to the the c:\Home addition above, create the folder: +d:\tmp\ (d: is where the files are that she is using.) +Now ispell should work from the command line. +Still can't get it to work from within \cmdname{WinShell}. (change cmd line to %c.tex, +it was reading the project main file) + + + +Notes on installing WinEdt: +--------------------------- +If you choose to install WinEdt, you will be asked for a folder name: any +folder name will do, as this is for temporary storage. An acceptable +choice is \verb+C:\Winedt+. Click \textbf{unzip}, then \textbf{OK}, +and finally \textbf{Close}. +--- + +later, to complete WinEdt installation: + +Run "winedt5.exe" and complete the setup procedure. + +Get from ftp://ftp.dante.de/pub/fptex/supplementary/ +30/08/2000 20:17 70 844 winedt5-cnf.zip +10/09/2000 10:43 839 086 winedt5-patch4.zip + +then unpack (use unzip or winzip with subdir creation enabled, NOT pkunzkip) + "winedt5-patch4.zip" inside the "c:\program files\winedt" directory +then at last unpack "winedt5-cnf.zip". + +When this is done, go inside the 'Options->Configurations' menu, +choose the "fpTeX Direct" option. + +If windvi previewer doesn't work, go to options->menu setup-> accessories +and change the Menu Setup so the call for DVI Preview is analogous to +the call for Dvips-- i.e., don't use "DVIVIEW" in the command line, +but rather fptex-bin and dviwin.exe. + + diff --git a/Master/texmf/doc/texlive/texlive-en/archive/live4ht.cfg-2004 b/Master/texmf/doc/texlive/texlive-en/archive/live4ht.cfg-2004 new file mode 100644 index 00000000000..8700827d62a --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/live4ht.cfg-2004 @@ -0,0 +1,36 @@ +% $Id$ +% tex4ht configuration file for the TeX Live documentation. +% +% The 2 means to separate output files for only the top sectioning levels. +% xhtml specifies the main output format. +% info for extra debugging info in the log files. +% Without the \begin{document}, LaTeX complains that it is missing. +% +\Preamble{2,xhtml,info} \begin{document} \EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\newif\ifhackliterals +\ifx\tldocenglish\undefined \else \hackliteralstrue \fi +\ifx\tldocrussian\undefined \else \hackliteralstrue \fi +\ifx\tldocgerman\undefined \else \hackliteralstrue \fi +% +\ifhackliterals + % these definitions cause "missing } inserted" at \end{tabularx} in + % French and Czech. don't know why. + % + % don't make these into links, as happens with \path. We only have a couple + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf/doc/texlive/texlive-en/archive/mod.pl b/Master/texmf/doc/texlive/texlive-en/archive/mod.pl new file mode 100644 index 00000000000..4f8df5df762 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/mod.pl @@ -0,0 +1,976 @@ + +$M{"a0poster"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"a4"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"a4wide"}="18 May 1996 11:33:54 Graham.Williams\@cmis.csiro.au"; +$M{"a5"}="19 Apr 1998 15:19:21 Graham.Williams\@cmis.csiro.au"; +$M{"a5comb"}="19 Apr 1998 15:19:21 Graham.Williams\@cmis.csiro.au"; +$M{"aaai"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"abc2mtex"}="27 Nov 1996 13:50:01 Graham.Williams\@cmis.csiro.au"; +$M{"abstbook"}="5 Mar 1997 16:28:20 Graham.Williams\@cmis.csiro.au"; +$M{"abstyles"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"accents"}="25 Feb 1999 09:06:12 Graham.Williams\@cmis.csiro.au"; +$M{"accfonts"}="30 Jan 1999 06:16:19 Graham.Williams\@cmis.csiro.au"; +$M{"achemso"}="8 Jul 1998 08:11:28 Graham.Williams\@cmis.csiro.au"; +$M{"acronym"}="17 Nov 1997 09:21:35 Graham.Williams\@cmis.csiro.au"; +$M{"acroread"}="20 May 1997 18:04:58 Graham.Williams\@cmis.csiro.au"; +$M{"acrotex"}="2 Dec 1998 09:52:54 Graham.Williams\@cmis.csiro.au"; +$M{"adfathesis"}="23 Feb 1999 16:11:03 Graham.Williams\@cmis.csiro.au"; +$M{"adobe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"adobeother"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"adobestd"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"adrlist"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"advdate"}="5 Mar 1997 11:25:37 Graham.Williams\@cmis.csiro.au"; +$M{"ae"}="5 Dec 1998 08:56:53 Graham.Williams\@cmis.csiro.au"; +$M{"afterpage"}="13 Aug 1998 05:36:56 Graham.Williams\@cmis.csiro.au"; +$M{"afthesis"}="15 Dec 1996 19:08:54 Graham.Williams\@cmis.csiro.au"; +$M{"aguplus"}="16 Sep 1998 06:02:47 Graham.Williams\@cmis.csiro.au"; +$M{"aiaa"}="24 Feb 1999 09:15:44 Graham.Williams\@cmis.csiro.au"; +$M{"akletter"}="1 Jun 1998 12:04:46 Graham.Williams\@cmis.csiro.au"; +$M{"alatex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"alg"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"algorithms"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"alltt"}="28 May 1996 16:23:49 Graham.Williams\@cmis.csiro.au"; +$M{"alphanum"}="10 Mar 1998 06:11:22 Graham.Williams\@cmis.csiro.au"; +$M{"altfont"}="1 Jul 1996 21:06:06 Graham.Williams\@cmis.csiro.au"; +$M{"altfont"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"amiweb2c"}="25 Mar 1998 09:12:31 Graham.Williams\@cmis.csiro.au"; +$M{"amsbsy"}="18 Jun 1997 19:16:14 Graham.Williams\@cmis.csiro.au"; +$M{"amscd"}="1 Nov 1996 08:34:08 Graham.Williams\@cmis.csiro.au"; +$M{"amsfonts"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"amsfonts"}="9 Nov 1996 15:43:40 Graham.Williams\@cmis.csiro.au"; +$M{"amslatex"}="9 Nov 1996 15:40:28 Graham.Williams\@cmis.csiro.au"; +$M{"amslatex"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"amsltx11"}="9 Nov 1996 15:46:01 Graham.Williams\@cmis.csiro.au"; +$M{"amsmath"}="9 Nov 1996 16:15:32 Graham.Williams\@cmis.csiro.au"; +$M{"amsppt"}="24 Sep 1996 08:42:35 Graham.Williams\@cmis.csiro.au"; +$M{"amsppt1"}="25 Sep 1996 09:41:18 Graham.Williams\@cmis.csiro.au"; +$M{"amssym"}="25 Sep 1996 09:44:00 Graham.Williams\@cmis.csiro.au"; +$M{"amssymb"}="11 Nov 1996 20:19:40 Graham.Williams\@cmis.csiro.au"; +$M{"amstex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"amstex"}="9 Nov 1996 15:47:35 Graham.Williams\@cmis.csiro.au"; +$M{"amstext"}="11 Nov 1996 20:24:24 Graham.Williams\@cmis.csiro.au"; +$M{"answers"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"answers"}="29 May 1996 13:08:24 Graham.Williams\@cmis.csiro.au"; +$M{"anttvf"}="5 Feb 1998 09:27:21 Graham.Williams\@cmis.csiro.au"; +$M{"anttvf"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"antyktor"}="18 Jun 1998 10:23:35 Graham.Williams\@cmis.csiro.au"; +$M{"apa"}="12 Nov 1998 11:38:01 Graham.Williams\@cmis.csiro.au"; +$M{"apacite"}="12 Jul 1996 10:10:07 Graham.Williams\@cmis.csiro.au"; +$M{"apasoft"}="15 Sep 1998 06:39:47 Graham.Williams\@cmis.csiro.au"; +$M{"apl"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"appendix"}="11 Dec 1998 05:36:39 Graham.Williams\@cmis.csiro.au"; +$M{"ar"}="24 Apr 1998 16:02:22 Graham.Williams\@cmis.csiro.au"; +$M{"arabtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"arabtex"}="13 May 1997 16:45:22 Graham.Williams\@cmis.csiro.au"; +$M{"armenian"}="3 Jul 1997 08:23:26 Graham.Williams\@cmis.csiro.au"; +$M{"arosgn"}="21 Oct 1996 10:32:18 Graham.Williams\@cmis.csiro.au"; +$M{"arrow"}="7 Nov 1996 19:31:04 Graham.Williams\@cmis.csiro.au"; +$M{"asaetr"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"ascii"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"astro"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"at"}="12 Nov 1996 09:27:11 Graham.Williams\@cmis.csiro.au"; +$M{"auctex"}="19 Oct 1998 06:10:29 Graham.Williams\@cmis.csiro.au"; +$M{"aurora"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"authorindex"}="16 Feb 1998 17:29:41 Graham.Williams\@cmis.csiro.au"; +$M{"autotab"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"babel"}="12 Jan 1997 11:26:33 Graham.Williams\@cmis.csiro.au"; +$M{"backgammon"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"bakoma-fonts"}="13 Dec 1996 08:26:36 Graham.Williams\@cmis.csiro.au"; +$M{"bakoma"}="22 Jan 1999 07:17:26 Graham.Williams\@cmis.csiro.au"; +$M{"barcode2"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"barcodes"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"barcodes"}="7 Jun 1996 13:43:47 Graham.Williams\@cmis.csiro.au"; +$M{"barr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"bayer"}="10 Feb 1998 09:30:02 Graham.Williams\@cmis.csiro.au"; +$M{"bbding"}="13 May 1996 06:15:45 Graham.Williams\@cmis.csiro.au"; +$M{"bbding"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"bbm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"beebe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"belleek"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"beton"}="28 May 1996 16:24:30 Graham.Williams\@cmis.csiro.au"; +$M{"bez123"}="21 Oct 1998 09:36:53 Graham.Williams\@cmis.csiro.au"; +$M{"bezos"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"bibarts"}="19 Apr 1998 15:55:19 Graham.Williams\@cmis.csiro.au"; +$M{"bibindex"}="12 Jan 1997 14:53:39 Graham.Williams\@cmis.csiro.au"; +$M{"biblio"}="4 Oct 1996 08:44:47 Graham.Williams\@cmis.csiro.au"; +$M{"biblios"}="16 Aug 1996 14:40:47 Graham.Williams\@cmis.csiro.au"; +$M{"biblist"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"biblook"}="12 Jan 1997 14:53:39 Graham.Williams\@cmis.csiro.au"; +$M{"bibsort"}="12 Nov 1996 10:28:11 Graham.Williams\@cmis.csiro.au"; +$M{"bibtex8bit"}="19 Aug 1996 22:05:26 Graham.Williams\@cmis.csiro.au"; +$M{"bibtool"}="24 Feb 1998 13:38:41 Graham.Williams\@cmis.csiro.au"; +$M{"bibunits"}="29 May 1997 12:15:06 Graham.Williams\@cmis.csiro.au"; +$M{"bibweb"}="28 Nov 1997 09:12:23 Graham.Williams\@cmis.csiro.au"; +$M{"bidstobibtex"}="21 Oct 1996 13:54:10 Graham.Williams\@cmis.csiro.au"; +$M{"bitstrea"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"blackboard"}="9 Jul 1998 05:37:01 Graham.Williams\@cmis.csiro.au"; +$M{"blue"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"bluesky"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"bm"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"booktabs"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"borceux"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"bosisio"}="1 May 1998 16:53:18 Graham.Williams\@cmis.csiro.au"; +$M{"boxedminipage"}="19 Apr 1998 15:20:55 Graham.Williams\@cmis.csiro.au"; +$M{"breqn"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"bridge"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"brief"}="30 May 1996 11:22:14 Graham.Williams\@cmis.csiro.au"; +$M{"brushscr"}="24 Jun 1998 12:56:02 Graham.Williams\@cmis.csiro.au"; +$M{"btparse"}="20 Feb 1998 14:21:13 Graham.Williams\@cmis.csiro.au"; +$M{"c-pascal"}="3 Mar 1998 15:29:06 Graham.Williams\@cmis.csiro.au"; +$M{"c2cweb"}="29 Nov 1996 15:27:19 Graham.Williams\@cmis.csiro.au"; +$M{"calc"}="12 Aug 1998 06:27:04 Graham.Williams\@cmis.csiro.au"; +$M{"calendar"}="18 Mar 1997 13:07:53 Graham.Williams\@cmis.csiro.au"; +$M{"calendar"}="4 Feb 1998 13:36:58 Graham.Williams\@cmis.csiro.au"; +$M{"calligra"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"calrsfs"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"calrsfs"}="12 Jun 1996 09:16:09 Graham.Williams\@cmis.csiro.au"; +$M{"camel"}="5 Mar 1997 16:31:57 Graham.Williams\@cmis.csiro.au"; +$M{"cancel"}="26 May 1997 12:53:21 Graham.Williams\@cmis.csiro.au"; +$M{"capt-of"}="15 Dec 1996 19:04:36 Graham.Williams\@cmis.csiro.au"; +$M{"caption"}="12 Nov 1996 20:23:42 Graham.Williams\@cmis.csiro.au"; +$M{"carlisle"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cases"}="15 Dec 1996 19:14:30 Graham.Williams\@cmis.csiro.au"; +$M{"casyl"}="24 Feb 1999 09:19:05 Graham.Williams\@cmis.csiro.au"; +$M{"catalogue"}="22 May 1996 16:49:04 Graham.Williams\@cmis.csiro.au"; +$M{"catdoc"}="5 Nov 1998 11:47:57 Graham.Williams\@cmis.csiro.au"; +$M{"cbgreek"}="24 Oct 1998 07:42:16 Graham.Williams\@cmis.csiro.au"; +$M{"cc-pl"}="09 Jun 1998 staw\@gust.org.pl"; +$M{"ccaption"}="27 Jan 1999 09:40:41 Graham.Williams\@cmis.csiro.au"; +$M{"ccfonts"}="23 Jun 1998 15:52:05 Graham.Williams\@cmis.csiro.au"; +$M{"cchess"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"cd-cover"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"cdcover"}="10 Feb 1998 09:31:30 Graham.Williams\@cmis.csiro.au"; +$M{"cdlabeler"}="2 Jan 1999 21:57:44 Graham.Williams\@cmis.csiro.au"; +$M{"cellular"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cep"}="27 Jan 1998 16:53:11 Graham.Williams\@cmis.csiro.au"; +$M{"cep"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"changebar"}="7 Oct 1997 09:02:24 Graham.Williams\@cmis.csiro.au"; +$M{"chapterbib"}="15 Dec 1996 19:13:07 Graham.Williams\@cmis.csiro.au"; +$M{"chemcono"}="21 Oct 1996 14:28:23 Graham.Williams\@cmis.csiro.au"; +$M{"chemcono"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"chemsym"}="8 Jul 1998 08:11:58 Graham.Williams\@cmis.csiro.au"; +$M{"cheq"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"cherokee"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"chess"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"china2e"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"china2e"}="26 Feb 1998 08:51:49 Graham.Williams\@cmis.csiro.au"; +$M{"chktex"}="21 Oct 1996 13:51:58 Graham.Williams\@cmis.csiro.au"; +$M{"circ"}="18 Mar 1998 09:29:16 Graham.Williams\@cmis.csiro.au"; +$M{"circle"}="13 Oct 1998 09:09:47 Graham.Williams\@cmis.csiro.au"; +$M{"circuit-macro"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"circuit-macros"}="6 Sep 1998 05:00:37 Graham.Williams\@cmis.csiro.au"; +$M{"cirth"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cite"}="15 Dec 1996 19:10:42 Graham.Williams\@cmis.csiro.au"; +$M{"cjk-fonts"}="8 Jan 1999 08:02:11 Graham.Williams\@cmis.csiro.au"; +$M{"cjk"}="8 Jan 1999 08:01:13 Graham.Williams\@cmis.csiro.au"; +$M{"cm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cmactex"}="9 Aug 1998 06:47:00 Graham.Williams\@cmis.csiro.au"; +$M{"cmbright"}="28 Dec 1998 09:33:43 Graham.Williams\@cmis.csiro.au"; +$M{"cmcyr"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"cmcyralt"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cmdtrack"}="22 Feb 1999 16:17:02 Graham.Williams\@cmis.csiro.au"; +$M{"cmextra"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cmpica"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cmps"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"cmsd"}="19 Feb 1998 09:45:20 Graham.Williams\@cmis.csiro.au"; +$M{"cmtt"}="1 Jun 1996 15:43:59 Graham.Williams\@cmis.csiro.au"; +$M{"cmyk-hax"}="12 May 1997 10:23:51 Graham.Williams\@cmis.csiro.au"; +$M{"cmyk-hax"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"code128"}="7 Jun 1996 13:42:22 Graham.Williams\@cmis.csiro.au"; +$M{"codepage"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"color"}="24 Sep 1996 08:56:07 Graham.Williams\@cmis.csiro.au"; +$M{"colorsep"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"colortbl"}="24 Jun 1998 13:01:21 Graham.Williams\@cmis.csiro.au"; +$M{"comma"}="11 Feb 1998 07:46:23 Graham.Williams\@cmis.csiro.au"; +$M{"comment"}="8 Sep 1998 06:29:57 Graham.Williams\@cmis.csiro.au"; +$M{"compsci"}="21 Oct 1996 14:11:57 Graham.Williams\@cmis.csiro.au"; +$M{"concmath"}="25 Dec 1996 UV"; +$M{"concprog"}="22 Oct 1996 09:37:54 Graham.Williams\@cmis.csiro.au"; +$M{"concrete-wrap"}="27 Nov 1996 13:57:24 Graham.Williams\@cmis.csiro.au"; +$M{"concrete"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"consdiag"}="21 Jan 1999 19:26:28 Graham.Williams\@cmis.csiro.au"; +$M{"context"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"corelpak"}="21 Jan 1999 14:00:25 Graham.Williams\@cmis.csiro.au"; +$M{"count1to"}="24 Oct 1998 09:04:16 Graham.Williams\@cmis.csiro.au"; +$M{"covington"}="22 Apr 1997 14:32:07 Graham.Williams\@cmis.csiro.au"; +$M{"croatian"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"crop"}="8 Dec 1998 09:21:42 Graham.Williams\@cmis.csiro.au"; +$M{"crossword"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"crosswrd"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"csfonts"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"cslatex"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"csplain"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"cspsfonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"cstug"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"csx"}="12 Jul 1998 05:30:19 Graham.Williams\@cmis.csiro.au"; +$M{"cursor"}="20 Jan 1999 14:56:10 Graham.Williams\@cmis.csiro.au"; +$M{"custom-bib"}="18 Aug 1998 18:00:42 Graham.Williams\@cmis.csiro.au"; +$M{"cwebbin"}="16 Oct 1998 06:27:49 Graham.Williams\@cmis.csiro.au"; +$M{"cwebx"}="17 Feb 1999 16:44:14 Graham.Williams\@cmis.csiro.au"; +$M{"cwpuzzle"}="28 Nov 1996 10:09:18 Graham.Williams\@cmis.csiro.au"; +$M{"cyrtug"}="8 Oct 1998 11:51:48 Graham.Williams\@cmis.csiro.au"; +$M{"dancers"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dante-src"}="11 Feb 1998 07:50:55 Graham.Williams\@cmis.csiro.au"; +$M{"dates"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"dblfont"}="1 May 1998 16:53:44 Graham.Williams\@cmis.csiro.au"; +$M{"dbprocess"}="2 Jan 1999 21:55:59 Graham.Williams\@cmis.csiro.au"; +$M{"dc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dc"}="2 Jun 1996 11:09:21 Graham.Williams\@cmis.csiro.au"; +$M{"dco"}="16 Aug 1996 14:14:54 Graham.Williams\@cmis.csiro.au"; +$M{"dcounter"}="28 Dec 1998 09:21:00 Graham.Williams\@cmis.csiro.au"; +$M{"default"}="18 Jul 1998 06:43:35 Graham.Williams\@cmis.csiro.au"; +$M{"deleq"}="8 Jul 1998 08:12:25 Graham.Williams\@cmis.csiro.au"; +$M{"devanagari"}="7 Dec 1998 05:46:30 Graham.Williams\@cmis.csiro.au"; +$M{"dialogl"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dinbrief"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dinbrief"}="4 Nov 1996 09:56:05 Graham.Williams\@cmis.csiro.au"; +$M{"directory"}="10 Mar 1998 05:30:54 Graham.Williams\@cmis.csiro.au"; +$M{"dn2"}="13 Mar 1998 09:10:15 Graham.Williams\@cmis.csiro.au"; +$M{"doc"}="19 Aug 1996 22:19:13 Graham.Williams\@cmis.csiro.au"; +$M{"dotseqn"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"doublestroke"}="21 Oct 1996 13:56:41 Graham.Williams\@cmis.csiro.au"; +$M{"draftcopy"}="21 May 1996 12:52:54 Graham.Williams\@cmis.csiro.au"; +$M{"dratex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dropcaps"}="19 Jun 1996 13:38:04 Graham.Williams\@cmis.csiro.au"; +$M{"dropping"}="9 Jul 1998 06:27:48 Graham.Williams\@cmis.csiro.au"; +$M{"duerer"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dvgtk"}="29 Apr 1997 14:45:04 Graham.Williams\@cmis.csiro.au"; +$M{"dvi2tty"}="7 Jun 1996 20:12:43 Graham.Williams\@cmis.csiro.au"; +$M{"dviconcat"}="1 Nov 1996 08:10:15 Graham.Williams\@cmis.csiro.au"; +$M{"dvicopy"}="= {1 Nov 1996 08:30:05 Graham.Williams\@cmis.csiro.au"; +$M{"dviljk"}="6 Apr 1998 06:10:01 Graham.Williams\@cmis.csiro.au"; +$M{"dvipaste"}="23 Feb 1998 15:46:09 Graham.Williams\@cmis.csiro.au"; +$M{"dvipdfm"}="2 Dec 1998 05:56:54 Graham.Williams\@cmis.csiro.au"; +$M{"dvips-os2"}="21 Jan 1999 13:57:52 Graham.Williams\@cmis.csiro.au"; +$M{"dvips-shell"}="5 Mar 1998 22:29:41 Graham.Williams\@cmis.csiro.au"; +$M{"dvips"}="13 May 1997 09:51:53 Graham.Williams\@cmis.csiro.au"; +$M{"dvipsdoc"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"dvipsk"}="6 Apr 1998 05:56:12 Graham.Williams\@cmis.csiro.au"; +$M{"ean"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ean"}="7 Jun 1996 13:44:26 Graham.Williams\@cmis.csiro.au"; +$M{"easy"}="18 Aug 1998 18:24:49 Graham.Williams\@cmis.csiro.au"; +$M{"easybib"}="7 Mar 1997 16:54:36 Graham.Williams\@cmis.csiro.au"; +$M{"easybmat"}="18 Aug 1998 18:27:38 Graham.Williams\@cmis.csiro.au"; +$M{"easyeqn"}="18 Nov 1997 15:21:55 Graham.Williams\@cmis.csiro.au"; +$M{"easymat"}="18 Aug 1998 18:28:31 Graham.Williams\@cmis.csiro.au"; +$M{"easytable"}="18 Aug 1998 18:28:50 Graham.Williams\@cmis.csiro.au"; +$M{"easyvector"}="18 Nov 1997 15:22:16 Graham.Williams\@cmis.csiro.au"; +$M{"ec-plain"}="21 Apr 1998 08:38:32 Graham.Williams\@cmis.csiro.au"; +$M{"ec"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"ecc"}="11 Dec 1998 08:59:53 Graham.Williams\@cmis.csiro.au"; +$M{"ecltree"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"eco"}="22 Jul 1998 09:13:53 Graham.Williams\@cmis.csiro.au"; +$M{"ecpk"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"edmac"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"eepic"}="28 Dec 1998 09:32:41 Graham.Williams\@cmis.csiro.au"; +$M{"egplot"}="9 Jul 1998 06:27:09 Graham.Williams\@cmis.csiro.au"; +$M{"eiad"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"eijkhout"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"elsevier"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"elvish"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"emp"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"emp"}="26 Feb 1998 08:53:14 Graham.Williams\@cmis.csiro.au"; +$M{"emtex-os2"}="31 Jul 1998 10:16:40 Graham.Williams\@cmis.csiro.au"; +$M{"emtex"}="31 Jul 1998 10:16:40 Graham.Williams\@cmis.csiro.au"; +$M{"emtexgi"}="12 Jan 1997 11:32:36 Graham.Williams\@cmis.csiro.au"; +$M{"emtextds"}="30 Sep 1998 07:58:58 Graham.Williams\@cmis.csiro.au"; +$M{"emulateapj"}="27 Nov 1997 17:06:10 Graham.Williams\@cmis.csiro.au"; +$M{"encodings"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"endfloat"}="21 Jun 1996 14:52:55 Graham.Williams\@cmis.csiro.au"; +$M{"endnotes"}="3 Sep 1996 09:20:05 Graham.Williams\@cmis.csiro.au"; +$M{"endnotes"}="4 Feb 1998 13:33:16 Graham.Williams\@cmis.csiro.au"; +$M{"engwar"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"enumerate"}="22 Jul 1998 05:47:30 Graham.Williams\@cmis.csiro.au"; +$M{"envbig"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"envlab"}="17 Jul 1997 14:37:23 Graham.Williams\@cmis.csiro.au"; +$M{"epic"}="24 Jul 1998 06:18:39 Graham.Williams\@cmis.csiro.au"; +$M{"epigraph"}="1 Dec 1998 12:42:01 Graham.Williams\@cmis.csiro.au"; +$M{"eplain"}="19 Aug 1996 22:10:25 Graham.Williams\@cmis.csiro.au"; +$M{"epmtfe"}="23 Feb 1999 15:01:08 Graham.Williams\@cmis.csiro.au"; +$M{"epsfx"}="09 Jun 1998 staw\@gust.org.pl"; +$M{"epslatex"}="9 Feb 1998 09:22:51 Graham.Williams\@cmis.csiro.au"; +$M{"eqname"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"esieecv"}="26 Feb 1998 08:54:52 Graham.Williams\@cmis.csiro.au"; +$M{"esieecv"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"esindex"}="10 Nov 1998 10:40:44 Graham.Williams\@cmis.csiro.au"; +$M{"eso-pic"}="22 Jul 1998 06:17:37 Graham.Williams\@cmis.csiro.au"; +$M{"et"}="24 Feb 1998 13:45:45 Graham.Williams\@cmis.csiro.au"; +$M{"etexbase"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"ethiop"}="13 Dec 1998 15:02:18 Graham.Williams\@cmis.csiro.au"; +$M{"euler"}="5 Jun 1996 10:03:48 Graham.Williams\@cmis.csiro.au"; +$M{"euro"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"eurofont"}="31 Jan 1999 07:41:02 Graham.Williams\@cmis.csiro.au"; +$M{"europs"}="21 Jan 1999 13:04:27 Graham.Williams\@cmis.csiro.au"; +$M{"eurosans"}="27 Jan 1999 08:25:26 Graham.Williams\@cmis.csiro.au"; +$M{"eurosym"}="6 Jan 1999 07:26:11 Graham.Williams\@cmis.csiro.au"; +$M{"everysel"}="10 Aug 1998 09:05:43 Graham.Williams\@cmis.csiro.au"; +$M{"everyshi"}="10 Aug 1998 09:20:24 Graham.Williams\@cmis.csiro.au"; +$M{"exam"}="16 Dec 1998 08:31:47 Graham.Williams\@cmis.csiro.au"; +$M{"examdesign"}="20 Jan 1998 22:03:03 Graham.Williams\@cmis.csiro.au"; +$M{"exams"}="29 May 1996 13:09:04 Graham.Williams\@cmis.csiro.au"; +$M{"excalibur"}="8 Nov 1998 07:01:25 Graham.Williams\@cmis.csiro.au"; +$M{"expdlist"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"expl3"}="1 Jun 1998 12:09:40 Graham.Williams\@cmis.csiro.au"; +$M{"export"}="12 Jan 1997 11:45:06 Graham.Williams\@cmis.csiro.au"; +$M{"export"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"exscale"}="12 Jun 1996 06:53:11 Graham.Williams\@cmis.csiro.au"; +$M{"extdash"}="28 Dec 1998 09:21:00 Graham.Williams\@cmis.csiro.au"; +$M{"fancybox"}="2 Mar 1998 09:20:57 Graham.Williams\@cmis.csiro.au"; +$M{"fancyhdr"}="9 Sep 1998 06:51:16 Graham.Williams\@cmis.csiro.au"; +$M{"fancyref"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"fancyvrb"}="1 Apr 1998 06:01:31 Graham.Williams\@cmis.csiro.au"; +$M{"faq"}="1 Jul 1998 10:31:39 Graham.Williams\@cmis.csiro.au"; +$M{"fax"}="13 Dec 1996 09:32:37 Graham.Williams\@cmis.csiro.au"; +$M{"fc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"fc"}="5 Mar 1998 22:19:31 Graham.Williams\@cmis.csiro.au"; +$M{"fepslatex"}="6 Nov 1998 05:54:05 Graham.Williams\@cmis.csiro.au"; +$M{"feynmf"}="30 May 1996 06:34:12 Graham.Williams\@cmis.csiro.au"; +$M{"fihyph"}=" from fihyph.tex to make the Finnish accented"; +$M{"fihyph"}="6 Nov 1998 06:34:36 Graham.Williams\@cmis.csiro.au"; +$M{"finbib"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"finplain"}="29 Jun 1998 10:04:25 Graham.Williams\@cmis.csiro.au"; +$M{"fix2col"}="19 Aug 1998 16:52:30 Graham.Williams\@cmis.csiro.au"; +$M{"fixfloat"}="23 May 1997 09:28:11 Graham.Williams\@cmis.csiro.au"; +$M{"flabels"}="21 Jul 1997 09:34:31 Graham.Williams\@cmis.csiro.au"; +$M{"flatex"}="24 Sep 1996 08:59:43 Graham.Williams\@cmis.csiro.au"; +$M{"flatten"}="18 Jun 1996 09:36:48 Graham.Williams\@cmis.csiro.au"; +$M{"float"}="25 May 1996 07:26:32 Graham.Williams\@cmis.csiro.au"; +$M{"floatflt"}="8 Jul 1998 08:16:33 Graham.Williams\@cmis.csiro.au"; +$M{"fltpage"}="19 Nov 1998 05:29:33 Graham.Williams\@cmis.csiro.au"; +$M{"fncychap"}=" Each can be using a set of simple commands."; +$M{"fncychap"}="13 Dec 1996 08:41:01 Graham.Williams\@cmis.csiro.au"; +$M{"fnpara"}="10 Sep 1996 09:23:00 Graham.Williams\@cmis.csiro.au"; +$M{"foilhtml"}="19 Feb 1998 09:39:43 Graham.Williams\@cmis.csiro.au"; +$M{"foiltex"}="15 Aug 1998 07:01:05 Graham.Williams\@cmis.csiro.au"; +$M{"fontinst"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"fontmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"fontname"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"fonts"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"footbib"}="19 Jun 1997 11:31:23 Graham.Williams\@cmis.csiro.au"; +$M{"footmisc"}="22 Jun 1998 16:47:47 Graham.Williams\@cmis.csiro.au"; +$M{"footnpag"}="10 Sep 1996 09:26:38 Graham.Williams\@cmis.csiro.au"; +$M{"formats"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"formlett"}="27 May 1997 09:39:35 Graham.Williams\@cmis.csiro.au"; +$M{"formula"}="18 Jun 1998 10:24:39 Graham.Williams\@cmis.csiro.au"; +$M{"fourtex"}="21 Nov 1998 05:32:50 Graham.Williams\@cmis.csiro.au"; +$M{"fp"}="4 Nov 1996 09:45:28 Graham.Williams\@cmis.csiro.au"; +$M{"freefonts"}="10 Sep 1998 18:50:47 Graham.Williams\@cmis.csiro.au"; +$M{"freetype"}="2 Jan 1999 22:37:14 Graham.Williams\@cmis.csiro.au"; +$M{"french"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"fribrief"}="20 Jan 1998 21:50:51 Graham.Williams\@cmis.csiro.au"; +$M{"ftetx"}="24 Feb 1998 13:52:42 Graham.Williams\@cmis.csiro.au"; +$M{"ftn"}="10 Sep 1996 09:43:47 Graham.Williams\@cmis.csiro.au"; +$M{"ftnright"}="19 Aug 1996 22:20:55 Graham.Williams\@cmis.csiro.au"; +$M{"fullblck"}="18 Nov 1998 09:21:36 Graham.Williams\@cmis.csiro.au"; +$M{"fullpict"}="18 Feb 1999 10:39:07 Graham.Williams\@cmis.csiro.au"; +$M{"fundus"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"funnelweb"}="25 Jun 1996 12:38:19 Graham.Williams\@cmis.csiro.au"; +$M{"futhark"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"g-brief"}="20 Feb 1998 14:17:49 Graham.Williams\@cmis.csiro.au"; +$M{"gb4e"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"genealogy"}="31 May 1996 14:10:08 Graham.Williams\@cmis.csiro.au"; +$M{"genmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"gentl-gr"}="29 Jan 1999 09:40:36 Graham.Williams\@cmis.csiro.au"; +$M{"geometry"}="8 Apr 1998 14:26:57 Graham.Williams\@cmis.csiro.au"; +$M{"geomsty"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"geomsty"}="26 Feb 1998 08:58:15 Graham.Williams\@cmis.csiro.au"; +$M{"german"}="15 Jul 1998 07:33:39 Graham.Williams\@cmis.csiro.au"; +$M{"germbib"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"germdoc"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"getrefs"}="12 Nov 1998 20:22:10 Graham.Williams\@cmis.csiro.au"; +$M{"ghostscript"}="20 May 1997 14:12:34 Graham.Williams\@cmis.csiro.au"; +$M{"ghostview-mac"}="27 Mar 1998 05:51:48 Graham.Williams\@cmis.csiro.au"; +$M{"ghyphen"}="8 Jul 1998 08:55:23 Graham.Williams\@cmis.csiro.au"; +$M{"gleitobjekte"}="17 Feb 1998 09:09:23 Graham.Williams\@cmis.csiro.au"; +$M{"gloss"}="19 Apr 1998 15:58:24 Graham.Williams\@cmis.csiro.au"; +$M{"glosstex"}="25 Feb 1998 09:12:56 Graham.Williams\@cmis.csiro.au"; +$M{"gn-logic"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"gnhyph"}="16 Sep 1998 09:18:43 Graham.Williams\@cmis.csiro.au"; +$M{"gnuplot-ps"}="30 May 1996 11:22:14 Graham.Williams\@cmis.csiro.au"; +$M{"go"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"gothic"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"graphfig"}="1 May 1998 16:54:18 Graham.Williams\@cmis.csiro.au"; +$M{"graphics"}="1 Nov 1996 08:16:13 Graham.Williams\@cmis.csiro.au"; +$M{"graphicx"}="12 Jun 1996 06:47:22 Graham.Williams\@cmis.csiro.au"; +$M{"gray"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"grfguide"}="11 Jun 1997 16:17:05 Graham.Williams\@cmis.csiro.au"; +$M{"grfpaste"}="23 Feb 1998 15:39:11 Graham.Williams\@cmis.csiro.au"; +$M{"grnumalt"}="23 Feb 1998 15:49:56 Graham.Williams\@cmis.csiro.au"; +$M{"gsftopk"}="12 Nov 1996 09:08:05 Graham.Williams\@cmis.csiro.au"; +$M{"gustlib"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"gustlib"}="March 1998, s.rahtz\@elsevier.co.uk"; +$M{"hands"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"hanging"}="11 Dec 1998 05:38:02 Graham.Williams\@cmis.csiro.au"; +$M{"harpoon"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"harvmac"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"hellas"}="10 Mar 1998 06:00:34 Graham.Williams\@cmis.csiro.au"; +$M{"here"}="25 May 1996 07:24:51 Graham.Williams\@cmis.csiro.au"; +$M{"hh"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"hilowres"}="21 Jan 1999 19:31:07 Graham.Williams\@cmis.csiro.au"; +$M{"histogr"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"hlatex"}="28 May 1997 16:04:14 Graham.Williams\@cmis.csiro.au"; +$M{"hoekwater"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"html"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"html2latex"}="30 Sep 1998 07:55:02 Graham.Williams\@cmis.csiro.au"; +$M{"huhyph"}="5 Nov 1998 05:50:17 Graham.Williams\@cmis.csiro.au"; +$M{"hvdashln"}="13 May 1997 09:36:00 Graham.Williams\@cmis.csiro.au"; +$M{"hyper"}="30 Aug 1997 12:04:32 Graham.Williams\@cmis.csiro.au"; +$M{"hyperlatex"}="27 Dec 1998 20:25:24 Graham.Williams\@cmis.csiro.au"; +$M{"hyperref"}="17 Feb 1999 16:41:40 Graham.Williams\@cmis.csiro.au"; +$M{"hyphenat"}="22 Feb 1999 16:42:36 Graham.Williams\@cmis.csiro.au"; +$M{"hypht1"}="3 May 1997 20:57:53 Graham.Williams\@cmis.csiro.au"; +$M{"ibm"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"idealfonts"}="20 Feb 1998 14:34:54 Graham.Williams\@cmis.csiro.au"; +$M{"ifacmtg"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"imac"}="24 Sep 1998 05:27:35 Graham.Williams\@cmis.csiro.au"; +$M{"indxcite"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"indxcite"}="24 Jun 1996 15:17:51 Graham.Williams\@cmis.csiro.au"; +$M{"info"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"inhyph"}="7 Oct 1997 08:54:26 Graham.Williams\@cmis.csiro.au"; +$M{"inputenc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"insbox"}="25 Feb 1998 09:20:32 Graham.Williams\@cmis.csiro.au"; +$M{"ipa"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"isostds"}="21 Oct 1998 09:38:15 Graham.Williams\@cmis.csiro.au"; +$M{"ithyph"}="4 Aug 1998 05:39:19 Graham.Williams\@cmis.csiro.au"; +$M{"izhitsa"}="30 Jan 1999 06:34:27 Graham.Williams\@cmis.csiro.au"; +$M{"jadetex"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"javatex"}="8 Oct 1998 12:03:35 Graham.Williams\@cmis.csiro.au"; +$M{"jknappen"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"jknappen"}="10 Mar 1998 09:10:20 Graham.Williams\@cmis.csiro.au"; +$M{"jsmisc"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"jspell"}="= {5 Nov 1998 15:43:30 Graham.Williams\@cmis.csiro.au"; +$M{"jura"}="11 Jul 1998 17:22:01 Graham.Williams\@cmis.csiro.au"; +$M{"kalendar"}="27 Mar 1998 05:44:58 Graham.Williams\@cmis.csiro.au"; +$M{"kalender"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"karnaugh"}="24 Sep 1998 05:26:10 Graham.Williams\@cmis.csiro.au"; +$M{"kdgreek"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"kix"}="19 Sep 1998 08:58:56 Graham.Williams\@cmis.csiro.au"; +$M{"kluwer"}="31 May 1997 20:08:21 Graham.Williams\@cmis.csiro.au"; +$M{"knst"}="21 Oct 1996 13:44:44 Graham.Williams\@cmis.csiro.au"; +$M{"knuth"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"koi8"}="21 Oct 1996 13:48:21 Graham.Williams\@cmis.csiro.au"; +$M{"koma-script"}="30 Nov 1998 09:41:00 Graham.Williams\@cmis.csiro.au"; +$M{"kpathsea"}="3 Feb 1999 10:29:24 Graham.Williams\@cmis.csiro.au"; +$M{"kuvio"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"lamstex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"lated"}="11 Feb 1998 07:41:10 Graham.Williams\@cmis.csiro.au"; +$M{"latex"}="2 Jul 1998 12:56:15 Graham.Williams\@cmis.csiro.au"; +$M{"latex209"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"latex209"}="4 Jul 1996 10:07:05 Graham.Williams\@cmis.csiro.au"; +$M{"latex2e"}="4 Jul 1996 09:53:38 Graham.Williams\@cmis.csiro.au"; +$M{"latex2html"}="8 Jul 1996 23:00:59 Graham.Williams\@cmis.csiro.au"; +$M{"latex2man"}="9 Sep 1998 05:33:13 Graham.Williams\@cmis.csiro.au"; +$M{"latex2rtf"}="17 Nov 1998 08:56:23 Graham.Williams\@cmis.csiro.au"; +$M{"latexcad"}="20 Mar 1998 09:32:43 Graham.Williams\@cmis.csiro.au"; +$M{"latexfonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"latexmk"}="12 Jan 1997 11:30:28 Graham.Williams\@cmis.csiro.au"; +$M{"latexn"}="27 Nov 1997 17:04:03 Graham.Williams\@cmis.csiro.au"; +$M{"latin2jk"}="7 Oct 1997 08:56:04 Graham.Williams\@cmis.csiro.au"; +$M{"layout"}="13 Aug 1998 05:42:38 Graham.Williams\@cmis.csiro.au"; +$M{"layouts"}="31 Jan 1999 06:43:57 Graham.Williams\@cmis.csiro.au"; +$M{"leaflet"}="30 Sep 1998 08:20:21 Graham.Williams\@cmis.csiro.au"; +$M{"leftidx"}="4 Feb 1998 13:16:00 Graham.Williams\@cmis.csiro.au"; +$M{"letter"}="6 Nov 1998 13:26:58 Graham.Williams\@cmis.csiro.au"; +$M{"lettrine"}="25 Mar 1998 09:11:24 Graham.Williams\@cmis.csiro.au"; +$M{"levy"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"lexikon"}="1 Apr 1998 06:05:45 Graham.Williams\@cmis.csiro.au"; +$M{"lgreek"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"lgrind-win32"}="24 Mar 1998 11:41:55 Graham.Williams\@cmis.csiro.au"; +$M{"lgrind"}="5 Aug 1998 06:33:28 Graham.Williams\@cmis.csiro.au"; +$M{"lh"}="2 Oct 1998 07:20:00 Graham.Williams\@cmis.csiro.au"; +$M{"lhcyr"}="21 Jan 1999 19:44:44 Graham.Williams\@cmis.csiro.au"; +$M{"lilypond"}="21 Oct 1998 09:41:28 Graham.Williams\@cmis.csiro.au"; +$M{"lineno"}="20 Jan 1999 14:57:13 Graham.Williams\@cmis.csiro.au"; +$M{"linguex"}="1 Jun 1998 11:57:34 Graham.Williams\@cmis.csiro.au"; +$M{"lintex"}="16 Jun 1998 10:19:01 Graham.Williams\@cmis.csiro.au"; +$M{"lips"}="21 Oct 1996 10:30:25 Graham.Williams\@cmis.csiro.au"; +$M{"listings"}="11 Nov 1998 05:44:14 Graham.Williams\@cmis.csiro.au"; +$M{"lkort"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"llncs"}="4 Oct 1996 08:48:06 Graham.Williams\@cmis.csiro.au"; +$M{"localloc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"logic"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"logo-ps"}="25 Jul 1998 06:24:28 Graham.Williams\@cmis.csiro.au"; +$M{"lollipop"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"longtable"}="21 Jun 1996 08:12:11 Graham.Williams\@cmis.csiro.au"; +$M{"lscape"}="7 Nov 1996 19:36:31 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-english"}="21 Jan 1999 19:27:28 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-finnish"}="21 Jan 1999 19:12:55 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-french"}="5 Feb 1998 09:10:02 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-german"}="30 Jan 1999 07:28:37 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-mongolian"}="30 Jan 1999 07:28:04 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-polish"}="25 Feb 1999 14:09:31 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-russian"}="13 Oct 1998 09:11:31 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-spanish"}="21 Jan 1999 19:12:55 Graham.Williams\@cmis.csiro.au"; +$M{"ltoh"}="8 Apr 1998 09:41:19 Graham.Williams\@cmis.csiro.au"; +$M{"ltx2rtf"}="28 Dec 1998 09:11:53 Graham.Williams\@cmis.csiro.au"; +$M{"ltx2x"}="26 Jan 1997 10:24:09 Graham.Williams\@cmis.csiro.au"; +$M{"ltxbase"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ltxinput"}="26 Nov 1996 16:30:38 Graham.Williams\@cmis.csiro.au"; +$M{"ltxmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ltxsrc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"lucida"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"lucold"}="4 Feb 1998 13:23:16 Graham.Williams\@cmis.csiro.au"; +$M{"lw35nfsx"}="28 Jul 1998 05:36:21 Graham.Williams\@cmis.csiro.au"; +$M{"ly1"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"m-pictex"}="24 Feb 1998 13:55:54 Graham.Williams\@cmis.csiro.au"; +$M{"macbibtex"}="7 Nov 1996 13:35:35 Graham.Williams\@cmis.csiro.au"; +$M{"magaz"}="17 Feb 1999 17:33:54 Graham.Williams\@cmis.csiro.au"; +$M{"mailing"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"makeindex"}="23 May 1997 13:18:35 Graham.Williams\@cmis.csiro.au"; +$M{"malayalam"}="23 Jun 1998 15:49:27 Graham.Williams\@cmis.csiro.au"; +$M{"malvern"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"manyfoot"}="28 Dec 1998 09:24:33 Graham.Williams\@cmis.csiro.au"; +$M{"mapcodes"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"maple"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"margbib"}="24 Feb 1998 13:20:27 Graham.Williams\@cmis.csiro.au"; +$M{"marvosym-mac"}="5 Nov 1998 15:47:46 Graham.Williams\@cmis.csiro.au"; +$M{"marvosym"}="21 Jul 1998 05:27:14 Graham.Williams\@cmis.csiro.auy"; +$M{"mathcmd"}="abstract Provides a slightly version of the commands for"; +$M{"mathcmd"}="1 May 1998 16:54:49 Graham.Williams\@cmis.csiro.au"; +$M{"mathcomp"}="10 Sep 1998 18:44:41 Graham.Williams\@cmis.csiro.au"; +$M{"mathematica"}="20 Jan 1998 22:00:24 Graham.Williams\@cmis.csiro.au"; +$M{"mathenv"}="1 May 1998 16:55:25 Graham.Williams\@cmis.csiro.au"; +$M{"mathinst"}="10 Sep 1998 18:54:03 Graham.Williams\@cmis.csiro.au"; +$M{"mathkit"}="4 Feb 1998 13:20:21 Graham.Williams\@cmis.csiro.au"; +$M{"mathpple"}="21 Jan 1999 19:34:23 Graham.Williams\@cmis.csiro.au"; +$M{"mathrsfs"}="27 Mar 1998 05:58:42 Graham.Williams\@cmis.csiro.au"; +$M{"mathtime"}="29 May 1996 10:39:52 Graham.Williams\@cmis.csiro.au"; +$M{"mcite"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"mdwtools"}="16 Jun 1998 10:36:35 Graham.Williams\@cmis.csiro.au"; +$M{"meta-mode"}="1 May 1997 10:10:22 Graham.Williams\@cmis.csiro.au"; +$M{"metapost"}="25 Jun 1996 10:58:40 Graham.Williams\@cmis.csiro.au"; +$M{"method"}="21 Jan 1999 07:58:21 Graham.Williams\@cmis.csiro.au"; +$M{"mex"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"mf-ps"}="4 Feb 1998 13:18:00 Graham.Williams\@cmis.csiro.au"; +$M{"mf-ps"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"mf2pt3"}="2 Jan 1999 21:45:21 Graham.Williams\@cmis.csiro.au"; +$M{"mf2tex"}="3 May 1997 21:09:52 Graham.Williams\@cmis.csiro.au"; +$M{"mff"}="24 Oct 1996 10:27:31 Graham.Williams\@cmis.csiro.au"; +$M{"mff"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"mflogo"}="25 Dec 1996 UV"; +$M{"mfnfss"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"mfpic"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"mftoeps"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"mhs"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"midnight"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"mif2xfig"}="20 Nov 1996 11:23:52 Graham.Williams\@cmis.csiro.au"; +$M{"miktex-axp"}="25 Sep 1997 14:01:19 Graham.Williams\@cmis.csiro.au"; +$M{"miktex"}="23 Feb 1999 16:12:25 Graham.Williams\@cmis.csiro.au"; +$M{"miniltx"}="20 May 1996 10:13:07 Graham.Williams\@cmis.csiro.au"; +$M{"minitoc"}="12 Jan 1997 11:20:36 Graham.Williams\@cmis.csiro.au"; +$M{"mirr"}="12 May 1997 10:27:47 Graham.Williams\@cmis.csiro.au"; +$M{"mirr"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"miscpk"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"mitpress"}="19 Sep 1998 10:11:07 Graham.Williams\@cmis.csiro.au"; +$M{"mkpic"}="2 Jan 1999 21:52:06 Graham.Williams\@cmis.csiro.au"; +$M{"mla"}="28 Apr 1997 09:48:03 Graham.Williams\@cmis.csiro.au"; +$M{"mlbib"}="5 Nov 1996 09:15:29 Graham.Williams\@cmis.csiro.au"; +$M{"mltex"}="28 Dec 1998 09:15:09 Graham.Williams\@cmis.csiro.au"; +$M{"mmtools"}="23 Jul 1997 09:16:45 Graham.Williams\@cmis.csiro.au"; +$M{"mnras"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"modes"}="11 Aug 1998 05:29:08 Graham.Williams\@cmis.csiro.au"; +$M{"monotype"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"monster"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"montex"}="29 Jan 1999 09:53:15 Graham.Williams\@cmis.csiro.au"; +$M{"morehelp"}="19 Feb 1998 09:36:53 Graham.Williams\@cmis.csiro.au"; +$M{"moresize"}="17 Jul 1997 14:08:56 Graham.Williams\@cmis.csiro.au"; +$M{"moreverb"}="29 May 1996 11:58:07 Graham.Williams\@cmis.csiro.au"; +$M{"moreverb"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"morse"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"morse"}="26 Feb 1998 09:08:33 Graham.Williams\@cmis.csiro.au"; +$M{"mpattern"}="30 Sep 1998 11:00:52 Graham.Williams\@cmis.csiro.au"; +$M{"mpfnmark"}="13 Dec 1996 08:30:22 Graham.Williams\@cmis.csiro.au"; +$M{"mpfnmark"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"ms"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"mslapa"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"mslapa"}="12 Jul 1996 10:06:59 Graham.Williams\@cmis.csiro.au"; +$M{"mt11p"}="14 Feb 1997 09:21:04 Graham.Williams\@cmis.csiro.au"; +$M{"mtbe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"multenum"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"multicol"}="21 Dec 1998 13:35:30 Graham.Williams\@cmis.csiro.au"; +$M{"multido"}="19 Mar 1998 10:41:51 Graham.Williams\@cmis.csiro.au"; +$M{"multirow"}="25 Nov 1998 06:06:17 Graham.Williams\@cmis.csiro.au"; +$M{"multitoc"}="8 Sep 1998 05:46:30 Graham.Williams\@cmis.csiro.au"; +$M{"musictex"}="27 Nov 1996 13:59:30 Graham.Williams\@cmis.csiro.au"; +$M{"musixtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"mxedruli"}="25 Jul 1998 06:28:00 Graham.Williams\@cmis.csiro.au"; +$M{"mylatex"}="1 May 1998 17:00:39 Graham.Williams\@cmis.csiro.au"; +$M{"myletter"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"nassflow"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"natbib"}="17 Jul 1998 16:12:29 Graham.Williams\@cmis.csiro.au"; +$M{"nb4latex"}="21 Nov 1996 16:56:44 Graham.Williams\@cmis.csiro.au"; +$M{"nccfoots"}="28 Dec 1998 09:25:59 Graham.Williams\@cmis.csiro.au"; +$M{"ncctools"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"netpbm-win"}="10 Sep 1998 18:37:04 Graham.Williams\@cmis.csiro.au"; +$M{"newsletr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"newthm"}="abstract A version of the theorem-style which provides"; +$M{"newthm"}="14 Feb 1997 09:30:36 Graham.Williams\@cmis.csiro.au"; +$M{"newthm"}="13 May 1997 10:24:58 Robin Fairbairns "; +$M{"niceframe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"nomencl"}="27 May 1997 09:24:37 Graham.Williams\@cmis.csiro.au"; +$M{"norbib"}="2 Jul 1998 12:55:09 Graham.Williams\@cmis.csiro.au"; +$M{"nrc"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"ntemacs"}="19 Oct 1998 06:03:28 Graham.Williams\@cmis.csiro.au"; +$M{"ntgclass"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ntheorem"}="11 Dec 1998 05:44:07 Graham.Williams\@cmis.csiro.au"; +$M{"numline"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"numline"}="28 May 1996 16:02:33 Graham.Williams\@cmis.csiro.au"; +$M{"objectz"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"oca"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"ocr-a"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ocr-a"}="18 May 1996 14:10:28 Graham.Williams\@cmis.csiro.au"; +$M{"ocr-b"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ocr-b"}="18 May 1996 14:10:28 Graham.Williams\@cmis.csiro.au"; +$M{"ogham"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ogonek"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"oldstyle"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"omega"}="11 Feb 1998 08:05:12 Graham.Williams\@cmis.csiro.au"; +$M{"omegabase"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"omegafonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"onepagem"}="18 Jul 1997 14:23:48 Graham.Williams\@cmis.csiro.au"; +$M{"oryia"}="1 Jul 1998 10:29:59 Graham.Williams\@cmis.csiro.au"; +$M{"os2tex"}="3 Jan 1999 10:42:23 Graham.Williams\@cmis.csiro.au"; +$M{"osmanian"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ot2cyr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"overcite"}="15 Dec 1996 19:11:52 Graham.Williams\@cmis.csiro.au"; +$M{"overpic"}="27 Nov 1997 17:00:55 Graham.Williams\@cmis.csiro.au"; +$M{"overword"}="13 Dec 1996 08:37:08 Graham.Williams\@cmis.csiro.au"; +$M{"overword"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"oxford"}="11 Jan 1998 20:39:42 Graham.Williams\@cmis.csiro.au"; +$M{"oztex-german"}="25 Mar 1998 09:10:39 Graham.Williams\@cmis.csiro.au"; +$M{"oztex"}="27 Dec 1998 20:16:46 Graham.Williams\@cmis.csiro.au"; +$M{"pageno"}="23 Sep 1998 09:40:33 Graham.Williams\@cmis.csiro.au"; +$M{"pandey"}="30 Sep 1998 07:56:09 Graham.Williams\@cmis.csiro.au"; +$M{"pandora"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"paper"}="20 May 1996 06:33:20 Graham.Williams\@cmis.csiro.au"; +$M{"paradissa"}="14 Jun 1996 16:18:31 Graham.Williams\@cmis.csiro.au"; +$M{"paralist"}="21 Jan 1999 19:49:45 Graham.Williams\@cmis.csiro.au"; +$M{"patch"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"path"}="25 Jun 1996 09:13:30 Graham.Williams\@cmis.csiro.au"; +$M{"pawpict"}="10 Feb 1998 09:32:45 Graham.Williams\@cmis.csiro.au"; +$M{"pb-diagram"}="30 Nov 1998 13:48:18 Graham.Williams\@cmis.csiro.au"; +$M{"pcfonts"}="21 Oct 1996 13:32:14 Graham.Williams\@cmis.csiro.au"; +$M{"pdcmac"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"pdftex-djgpp"}="23 Feb 1998 15:51:42 Graham.Williams\@cmis.csiro.au"; +$M{"pdftex"}="13 Aug 1998 05:51:13 Graham.Williams\@cmis.csiro.au"; +$M{"permute"}="28 Dec 1998 09:09:59 Graham.Williams\@cmis.csiro.au"; +$M{"pf2afm"}="18 Jun 1998 10:13:25 Graham.Williams\@cmis.csiro.au"; +$M{"phonetic"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"phppcf"}="14 Jun 1996 12:35:55 Graham.Williams\@cmis.csiro.au"; +$M{"physe"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"phyzzx"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"pictex"}="24 Feb 1998 13:53:44 Graham.Williams\@cmis.csiro.au"; +$M{"piff"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"piq"}="ctan fonts/okuda//"; +$M{"piq"}="17 Nov 1996 11:28:28 Graham.Williams\@cmis.csiro.au"; +$M{"pkfind"}=" utility to understand those specials, and to act"; +$M{"pkfind"}="3 Mar 1998 15:39:16 Graham.Williams\@cmis.csiro.au"; +$M{"pl-mf"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"pl-mf"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"pl-qx"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"pl"}="25 Feb 1998, s.rahtz\@elsevier.co.uk"; +$M{"plainmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"plaintex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"plari"}="6 Nov 1998 06:24:51 Graham.Williams\@cmis.csiro.au"; +$M{"platex"}="18 Jun 1998 10:22:09 Graham.Williams\@cmis.csiro.au"; +$M{"plcalendar"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"plfonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"plgraph"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"plpsfont"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"pmcstex"}="27 Nov 1997 17:12:37 Graham.Williams\@cmis.csiro.au"; +$M{"pmgraph"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"poligraf"}="17 Nov 1996 11:34:19 Graham.Williams\@cmis.csiro.au"; +$M{"poligraf"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"poligraf"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"polish"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"polyglot"}="12 Sep 1997 10:32:34 Graham.Williams\@cmis.csiro.au"; +$M{"ppchtex"}="15 Jan 1997 09:54:55 Graham.Williams\@cmis.csiro.au"; +$M{"prelim2e"}="10 Aug 1998 09:16:01 Graham.Williams\@cmis.csiro.au"; +$M{"prettyref"}="29 Jul 1998 05:41:53 Graham.Williams\@cmis.csiro.au"; +$M{"progkeys"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"program"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"proofs"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"prv"}="11 Dec 1998 05:33:29 Graham.Williams\@cmis.csiro.au"; +$M{"ps_conv"}="17 Nov 1996 11:34:19 Graham.Williams\@cmis.csiro.au"; +$M{"ps_view"}="25 Jun 1998 staw\@gust.org.pl"; +$M{"psfig"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"psfixbb"}="23 Jun 1998 15:54:54 Graham.Williams\@cmis.csiro.au"; +$M{"psfont"}="1 Jul 1996 21:00:54 Graham.Williams\@cmis.csiro.au"; +$M{"psfonts"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"psfrag"}="24 Jun 1998 12:56:59 Graham.Williams\@cmis.csiro.au"; +$M{"psizzl"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"pslatex"}="2 Aug 1996 12:28:03 Graham.Williams\@cmis.csiro.au"; +$M{"pslatex"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"psmerge"}="1 Nov 1996 08:12:01 Graham.Williams\@cmis.csiro.au"; +$M{"psnfss"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"psnfss"}="24 Apr 1997 16:16:14 Graham.Williams\@cmis.csiro.au"; +$M{"psnfssx"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"pspicture"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"pstotext"}="31 Oct 1996 13:39:09 Graham.Williams\@cmis.csiro.au"; +$M{"pstricks"}="30 May 1996 11:20:11 Graham.Williams\@cmis.csiro.au"; +$M{"punk"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"qfig"}="24 Jul 1998 06:25:39 Graham.Williams\@cmis.csiro.au"; +$M{"qfonts"}="18 Jun 1998 10:17:31 Graham.Williams\@cmis.csiro.au"; +$M{"qobitree"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"qsymbols"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"quotchap"}="24 Feb 1998 13:20:08 Graham.Williams\@cmis.csiro.au"; +$M{"quotes"}="1 May 1998 16:55:48 Graham.Williams\@cmis.csiro.au"; +$M{"r-und-s"}="3 Jul 1997 08:10:21 Graham.Williams\@cmis.csiro.au"; +$M{"ragged2e"}="10 Aug 1998 09:09:43 Graham.Williams\@cmis.csiro.au"; +$M{"rail"}="1 Oct 1998 07:36:00 Graham.Williams\@cmis.csiro.au"; +$M{"rangecite"}="28 May 1996 16:31:55 Graham.Williams\@cmis.csiro.au"; +$M{"rawfonts"}="6 Jun 1997 11:32:53 Graham.Williams\@cmis.csiro.au"; +$M{"rawprint"}="21 Oct 1996 13:50:40 Graham.Williams\@cmis.csiro.au"; +$M{"rcsinfo"}="25 Feb 1999 11:36:47 Graham.Williams\@cmis.csiro.au"; +$M{"realcalc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"recipe"}="26 Nov 1996 16:28:13 Graham.Williams\@cmis.csiro.au"; +$M{"refcheck"}="12 May 1997 10:18:04 Graham.Williams\@cmis.csiro.au"; +$M{"refman"}="1 Jun 1998 12:05:47 Graham.Williams\@cmis.csiro.au"; +$M{"relenc"}="23 Feb 1999 16:14:26 Graham.Williams\@cmis.csiro.au"; +$M{"remreset"}="7 Oct 1997 08:58:13 Graham.Williams\@cmis.csiro.au"; +$M{"repeat"}="5 Jan 1999 08:27:22 Graham.Williams\@cmis.csiro.au"; +$M{"revnum"}="3 Mar 1998 15:31:13 Graham.Williams\@cmis.csiro.au"; +$M{"revtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"revtex"}="31 Oct 1996 13:44:58 Graham.Williams\@cmis.csiro.au"; +$M{"rlepsf"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"rmpage"}="5 Feb 1998 14:07:37 Graham.Williams\@cmis.csiro.au"; +$M{"romaniantex"}="15 Nov 1996 14:57:19 Graham.Williams\@cmis.csiro.au"; +$M{"romanneg"}="19 Apr 1998 15:22:21 Graham.Williams\@cmis.csiro.au"; +$M{"rotating"}="12 Jun 1996 06:45:47 Graham.Williams\@cmis.csiro.au"; +$M{"rplain"}="23 Sep 1998 09:45:08 Graham.Williams\@cmis.csiro.au"; +$M{"rsfs-ps"}="25 Apr 1998 06:14:30 Graham.Williams\@cmis.csiro.au"; +$M{"rsfs"}="12 Jun 1996 06:57:19 Graham.Williams\@cmis.csiro.au"; +$M{"ruhyphen"}="8 Oct 1998 11:53:41 Graham.Williams\@cmis.csiro.au"; +$M{"ruler"}="22 May 1996 16:04:57 Graham.Williams\@cmis.csiro.au"; +$M{"s2latex"}="7 Jun 1996 20:13:54 Graham.Williams\@cmis.csiro.au"; +$M{"saferef"}="4 Feb 1997 09:57:44 Graham.Williams\@cmis.csiro.au"; +$M{"sanskrit"}="19 Mar 1997 12:03:33 Graham.Williams\@cmis.csiro.au"; +$M{"sauter"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"sauterfonts"}="12 Nov 1998 20:16:14 Graham.Williams\@cmis.csiro.au"; +$M{"scale"}="6 Nov 1998 06:19:58 Graham.Williams\@cmis.csiro.au"; +$M{"scalefnt"}="7 Oct 1997 08:58:13 Graham.Williams\@cmis.csiro.au"; +$M{"schedule"}="18 Feb 1998 10:30:16 Graham.Williams\@cmis.csiro.au"; +$M{"script"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"section"}="1 May 1998 17:01:43 Graham.Williams\@cmis.csiro.au"; +$M{"sectsty"}="13 Dec 1998 05:29:30 Graham.Williams\@cmis.csiro.au"; +$M{"semantic"}="13 May 1996 06:13:26 Graham.Williams\@cmis.csiro.au"; +$M{"seminar"}="28 May 1996 16:32:44 Graham.Williams\@cmis.csiro.au"; +$M{"setspace"}="27 Nov 1998 09:26:04 Graham.Williams\@cmis.csiro.au"; +$M{"sfg"}="8 Jul 1998 09:15:14 Graham.Williams\@cmis.csiro.au"; +$M{"sfheaders"}="17 Feb 1998 09:11:27 Graham.Williams\@cmis.csiro.au"; +$M{"shadbox"}="5 Aug 1996 12:14:57 Graham.Williams\@cmis.csiro.au"; +$M{"shadbox"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"shadethm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"shading"}="24 Sep 1996 08:55:09 Graham.Williams\@cmis.csiro.au"; +$M{"shadow"}="21 Oct 1996 10:39:52 Graham.Williams\@cmis.csiro.au"; +$M{"shalom"}="30 May 1996 11:22:14 Graham.Williams\@cmis.csiro.au"; +$M{"shapepar"}="3 Jul 1996 15:23:38 Graham.Williams\@cmis.csiro.au"; +$M{"shhyphl"}="7 Jan 1999 07:27:53 Graham.Williams\@cmis.csiro.au"; +$M{"shortlst"}="29 Nov 1998 18:20:51 Graham.Williams\@cmis.csiro.au"; +$M{"shorttoc"}="22 Jul 1998 06:07:50 Graham.Williams\@cmis.csiro.au"; +$M{"showdim"}="30 Jul 1998 05:30:48 Graham.Williams\@cmis.csiro.au"; +$M{"showlabels"}="23 Feb 1999 13:56:22 Graham.Williams\@cmis.csiro.au"; +$M{"siam"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"sidecap"}="6 Nov 1998 06:07:25 Graham.Williams\@cmis.csiro.au"; +$M{"siggraph"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"simpsons"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"sinhala"}="31 Oct 1996 09:54:37 Graham.Williams\@cmis.csiro.au"; +$M{"sirlin"}="16 Aug 1996 14:13:00 Graham.Williams\@cmis.csiro.au"; +$M{"siunits"}="23 Jan 1999 05:00:33 Graham.Williams\@cmis.csiro.au"; +$M{"slashbox"}="20 Feb 1998 14:26:38 Graham.Williams\@cmis.csiro.au"; +$M{"slashed"}="11 Feb 1998 07:48:41 Graham.Williams\@cmis.csiro.au"; +$M{"slidenotes"}="16 Dec 1998 08:33:45 Graham.Williams\@cmis.csiro.au"; +$M{"slides"}="17 Jun 1997 20:12:00 Graham.Williams\@cmis.csiro.au"; +$M{"smallcap"}="28 May 1996 15:57:18 Graham.Williams\@cmis.csiro.au"; +$M{"smallcap"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"smartmn"}="5 Nov 1996 09:14:21 Graham.Williams\@cmis.csiro.au"; +$M{"sobolev"}="1 May 1998 16:56:12 Graham.Williams\@cmis.csiro.au"; +$M{"somedefs"}="12 Aug 1998 06:35:40 Graham.Williams\@cmis.csiro.au"; +$M{"songbook"}="30 Jun 1998 10:54:02 Graham.Williams\@cmis.csiro.au"; +$M{"sorhyph"}="12 May 1997 10:30:15 Graham.Williams\@cmis.csiro.au"; +$M{"soul"}="21 Jan 1999 19:15:44 Graham.Williams\@cmis.csiro.au"; +$M{"spanish"}="21 May 1996 13:04:45 Graham.Williams\@cmis.csiro.au"; +$M{"spanishb"}="5 Oct 1998 11:43:25 Graham.Williams\@cmis.csiro.au"; +$M{"sphack"}="28 May 1998 16:16:55 Graham.Williams\@cmis.csiro.au"; +$M{"sprite"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ssqquote"}="25 Dec 1996 UV"; +$M{"startex"}="21 Oct 1996 14:23:19 Graham.Williams\@cmis.csiro.au"; +$M{"startex"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"stdclsdv"}="21 Jan 1999 12:51:23 Graham.Williams\@cmis.csiro.au"; +$M{"stmaryrd-ps"}="25 Jul 1998 06:01:40 Graham.Williams\@cmis.csiro.au"; +$M{"stmaryrd"}="25 Apr 1998 06:19:27 Graham.Williams\@cmis.csiro.au"; +$M{"subeqn"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"supertabular"}="7 Oct 1997 09:01:35 Graham.Williams\@cmis.csiro.au"; +$M{"swift"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"syngen"}="19 Nov 1996 08:42:42 Graham.Williams\@cmis.csiro.au"; +$M{"synttree"}="12 Aug 1998 06:13:18 Graham.Williams\@cmis.csiro.au"; +$M{"t2"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"tabbing"}="10 Feb 1998 12:54:11 Graham.Williams\@cmis.csiro.au"; +$M{"tabls"}="15 Dec 1996 19:17:27 Graham.Williams\@cmis.csiro.au"; +$M{"tap"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"tap"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"taylor"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"tbe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"tcvn"}="21 Jan 1999 19:18:03 Graham.Williams\@cmis.csiro.au"; +$M{"tcx"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"tds"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"techexplorer"}="19 Aug 1998 07:13:20 Graham.Williams\@cmis.csiro.au"; +$M{"tengwar"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"tensind"}="18 Jun 1998 10:06:41 Graham.Williams\@cmis.csiro.au"; +$M{"tensor"}="7 Jun 1996 08:52:37 Graham.Williams\@cmis.csiro.au"; +$M{"termcal"}="14 Jan 1997 10:10:12 Graham.Williams\@cmis.csiro.au"; +$M{"tetex"}="11 Jun 1997 19:22:32 Graham.Williams\@cmis.csiro.au"; +$M{"tex-math"}="8 Jul 1996 14:14:25 Graham.Williams\@cmis.csiro.au"; +$M{"tex-ps"}="09 Jun 1998 staw\@gust.org.pl"; +$M{"tex2bib"}="27 Jan 1998 16:50:26 Graham.Williams\@cmis.csiro.au"; +$M{"tex2html"}="29 Jan 1998 09:10:30 Graham.Williams\@cmis.csiro.au"; +$M{"tex2ltx"}="28 Oct 1998 11:56:39 Graham.Williams\@cmis.csiro.au"; +$M{"tex2rtf"}="25 Jun 1996 08:56:43 Graham.Williams\@cmis.csiro.au"; +$M{"tex4ht"}="23 Oct 1998 05:35:34 Graham.Williams\@cmis.csiro.au"; +$M{"tex98"}="12 Aug 1998 06:09:09 Graham.Williams\@cmis.csiro.au"; +$M{"texdraw"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"texed"}="11 Nov 1998 05:47:04 Graham.Williams\@cmis.csiro.au"; +$M{"texi2html"}="3 Feb 1999 10:27:21 Graham.Williams\@cmis.csiro.au"; +$M{"texi2www"}="2 Jul 1996 10:33:31 Graham.Williams\@cmis.csiro.au"; +$M{"texinfo"}="3 Feb 1999 10:28:52 Graham.Williams\@cmis.csiro.au"; +$M{"texip"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"texlist"}="31 Jan 1999 07:36:23 Graham.Williams\@cmis.csiro.au"; +$M{"texperf"}="16 Aug 1996 14:08:55 Graham.Williams\@cmis.csiro.au"; +$M{"texshell32"}="28 Mar 1998 07:07:28 Graham.Williams\@cmis.csiro.au"; +$M{"texsis"}="27 Jan 1998 16:44:10 Graham.Williams\@cmis.csiro.au"; +$M{"texsk"}="7 Mar 1997 16:53:45 Graham.Williams\@cmis.csiro.au"; +$M{"text1"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"textcase"}="11 Feb 1998 07:49:12 Graham.Williams\@cmis.csiro.au"; +$M{"textfit"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"textmerg"}="31 May 1996 08:43:05 Graham.Williams\@cmis.csiro.au"; +$M{"textoolspro"}=" LaTeX- code, so you can write sections in a"; +$M{"textoolspro"}="21 Jan 1999 13:03:19 Graham.Williams\@cmis.csiro.au"; +$M{"textpos"}="23 Feb 1999 13:54:56 Graham.Williams\@cmis.csiro.au"; +$M{"tfmpk"}="16 Dec 1998 08:30:00 Graham.Williams\@cmis.csiro.au"; +$M{"thesis"}="20 May 1996 10:22:19 Graham.Williams\@cmis.csiro.au"; +$M{"threed"}="13 Apr 1998 06:37:38 Graham.Williams\@cmis.csiro.au"; +$M{"threeparttable"}="15 Dec 1996 19:16:24 Graham.Williams\@cmis.csiro.au"; +$M{"thumb"}="10 Feb 1998 09:34:21 Graham.Williams\@cmis.csiro.au"; +$M{"thumbpdf"}="17 Feb 1999 16:50:56 Graham.Williams\@cmis.csiro.au"; +$M{"tiff"}="11 Nov 1998 05:43:39 Graham.Williams\@cmis.csiro.au"; +$M{"tiff2ps"}="06 May 1998 staw\@gust.org.pl"; +$M{"time"}="7 Jun 1996 09:04:45 Graham.Williams\@cmis.csiro.au"; +$M{"times"}="28 May 1997 16:25:37 Graham.Williams\@cmis.csiro.au"; +$M{"timesht"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"timing"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"tipa"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"titlefoot"}="18 Mar 1998 09:30:36 Graham.Williams\@cmis.csiro.au"; +$M{"titleref"}="15 Dec 1996 19:19:50 Graham.Williams\@cmis.csiro.au"; +$M{"titlesec"}="23 Feb 1999 14:58:36 Graham.Williams\@cmis.csiro.au"; +$M{"titletoc"}="23 Feb 1999 14:58:46 Graham.Williams\@cmis.csiro.au"; +$M{"tkbibtex"}="10 Aug 1998 06:27:23 Graham.Williams\@cmis.csiro.au"; +$M{"tmview"}="29 Jun 1998 10:00:32 Graham.Williams\@cmis.csiro.au"; +$M{"tocbibind"}="21 Jan 1999 12:54:08 Graham.Williams\@cmis.csiro.au"; +$M{"tocloft"}="21 Jan 1999 12:57:14 Graham.Williams\@cmis.csiro.au"; +$M{"tocvsec2"}="21 Jan 1999 12:52:58 Graham.Williams\@cmis.csiro.au"; +$M{"toil"}="27 Jan 1998 16:54:47 Graham.Williams\@cmis.csiro.au"; +$M{"toil"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"tools"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"topcapt"}="15 Dec 1996 19:04:36 Graham.Williams\@cmis.csiro.au"; +$M{"tracking"}="5 Aug 1996 12:11:48 Graham.Williams\@cmis.csiro.au"; +$M{"tracking"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"trans"}="17 Nov 1996 11:34:19 Graham.Williams\@cmis.csiro.au"; +$M{"trans"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"transfig"}="8 Jul 1998 09:08:50 Graham.Williams\@cmis.csiro.au"; +$M{"treesvr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"truncate"}="15 Dec 1996 19:23:52 Graham.Williams\@cmis.csiro.au"; +$M{"tsconfig"}="27 Nov 1996 13:48:24 Graham.Williams\@cmis.csiro.au"; +$M{"ttf2mf"}="25 Nov 1998 05:37:46 Graham.Williams\@cmis.csiro.au"; +$M{"ttf2pk"}="2 Jan 1999 22:03:00 Graham.Williams\@cmis.csiro.au"; +$M{"ttf2tfm"}="2 Jan 1999 22:05:48 Graham.Williams\@cmis.csiro.au"; +$M{"ttftogf"}="19 Sep 1998 08:12:18 Graham.Williams\@cmis.csiro.au"; +$M{"tth-rpm"}="13 Feb 1999 08:51:59 Graham.Williams\@cmis.csiro.au"; +$M{"tth-win"}="10 Sep 1998 18:39:22 Graham.Williams\@cmis.csiro.au"; +$M{"tth"}="27 Mar 1998 12:45:38 Graham.Williams\@cmis.csiro.au"; +$M{"ttt"}="19 Mar 1997 08:34:45 Graham.Williams\@cmis.csiro.au"; +$M{"tubtoc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"tugboat-toc"}="28 Dec 1998 09:28:11 Graham.Williams\@cmis.csiro.au"; +$M{"tugboat"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"tugboat"}="3 Jul 1997 08:01:03 Graham.Williams\@cmis.csiro.au"; +$M{"twg-list"}="25 Feb 1998 09:33:34 Graham.Williams\@cmis.csiro.au"; +$M{"twoup"}="19 Mar 1998 10:39:40 Graham.Williams\@cmis.csiro.au"; +$M{"type1"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"type1"}="February 1998, s.rahtz\@elsevier.co.uk"; +$M{"type1cm"}="7 Mar 1997 16:50:06 Graham.Williams\@cmis.csiro.au"; +$M{"type1cm"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"typearea"}="12 Jun 1996 13:18:22 Graham.Williams\@cmis.csiro.au"; +$M{"typehtml"}="27 Nov 1997 17:08:38 Graham.Williams\@cmis.csiro.au"; +$M{"typespec"}="2 Jul 1998 13:03:32 Graham.Williams\@cmis.csiro.au"; +$M{"uaclasses"}="19 Mar 1997 12:05:52 Graham.Williams\@cmis.csiro.au"; +$M{"uaclasses"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"ucthesis"}="abstract A version of the standard \LaTeX{} report style"; +$M{"ukhyph"}="21 Oct 1996 10:37:20 Graham.Williams\@cmis.csiro.au"; +$M{"ulem"}="28 May 1996 16:34:03 Graham.Williams\@cmis.csiro.au"; +$M{"ulsy"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"umlaute"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"umrand"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"underlin"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"underscore"}="17 Jul 1998 07:34:04 Graham.Williams\@cmis.csiro.au"; +$M{"uniqleaf"}="2 Aug 1996 12:44:23 Graham.Williams\@cmis.csiro.au"; +$M{"units"}="6 Aug 1998 06:17:29 Graham.Williams\@cmis.csiro.au"; +$M{"universa"}="6 Sep 1998 05:46:31 Graham.Williams\@cmis.csiro.au"; +$M{"url"}="3 Jul 1996 15:23:38 Graham.Williams\@cmis.csiro.au"; +$M{"urw"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"urwstd"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"urwvf"}="5 Feb 1998 09:33:04 Graham.Williams\@cmis.csiro.au"; +$M{"ut-backref"}="10 Nov 1998 10:38:10 Graham.Williams\@cmis.csiro.au"; +$M{"ut-thesis"}="23 Feb 1999 15:02:00 Graham.Williams\@cmis.csiro.au"; +$M{"utorontothesis"}="20 Feb 1998 14:27:24 Graham.Williams\@cmis.csiro.au"; +$M{"utthesis"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"uwthesis"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"vdm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"vector"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"verbatim"}="29 May 1996 11:58:52 Graham.Williams\@cmis.csiro.au"; +$M{"vertex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"vfcomb"}="24 Oct 1996 10:25:22 Graham.Williams\@cmis.csiro.au"; +$M{"vfinst"}="10 Sep 1998 18:41:42 Graham.Williams\@cmis.csiro.au"; +$M{"viiptart"}="8 Jul 1998 09:20:53 Graham.Williams\@cmis.csiro.au"; +$M{"vmargin"}="12 Jun 1996 13:14:31 Graham.Williams\@cmis.csiro.au"; +$M{"vncmr"}="19 Jul 1996 08:45:39 Graham.Williams\@cmis.csiro.au"; +$M{"vrb"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"vrsion"}="8 Jul 1998 08:17:05 Graham.Williams\@cmis.csiro.au"; +$M{"vruler"}="24 Oct 1996 11:15:39 Graham.Williams\@cmis.csiro.au"; +$M{"warpcol"}="13 Sep 1998 06:27:36 Graham.Williams\@cmis.csiro.au"; +$M{"wasy-ps"}="25 Jul 1998 06:05:00 Graham.Williams\@cmis.csiro.au"; +$M{"wasy"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"wasy2-ps"}="5 Aug 1998 06:26:09 Graham.Williams\@cmis.csiro.au"; +$M{"wasy2"}="25 Jul 1998 06:18:23 Graham.Williams\@cmis.csiro.au"; +$M{"wasysym"}="5 Jan 1999 07:44:43 Graham.Williams\@cmis.csiro.au"; +$M{"web2c-win32"}="3 Apr 1998 06:38:58 Graham.Williams\@cmis.csiro.au"; +$M{"web2c"}="20 Mar 1998 09:27:08 Graham.Williams\@cmis.csiro.au"; +$M{"williams"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"win95-guide"}="12 Apr 1998 20:46:26 Graham.Williams\@cmis.csiro.au"; +$M{"windvi"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"winedt"}="2 Jul 1998 13:00:44 Graham.Williams\@cmis.csiro.au"; +$M{"winemtex"}="3 Aug 1998 18:15:29 Graham.Williams\@cmis.csiro.au"; +$M{"winshell"}="21 Nov 1998 05:34:40 Graham.Williams\@cmis.csiro.au"; +$M{"wmf2eps"}="12 Nov 1998 20:15:28 Graham.Williams\@cmis.csiro.au"; +$M{"wnri"}="30 Jun 1998 10:56:34 Graham.Williams\@cmis.csiro.au"; +$M{"wntamil"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"word2x"}="29 Apr 1997 14:47:38 Graham.Williams\@cmis.csiro.au"; +$M{"wp-conv"}="1 Aug 1998 05:39:06 Graham.Williams\@cmis.csiro.au"; +$M{"wp2latex"}="23 Sep 1998 05:24:28 Graham.Williams\@cmis.csiro.au"; +$M{"wsuipa"}="13 Aug 1998 05:27:18 Graham.Williams\@cmis.csiro.au"; +$M{"wtex95"}="24 Feb 1998 14:01:24 Graham.Williams\@cmis.csiro.au"; +$M{"xdvi"}="28 Jun 1996 10:08:55 Graham.Williams\@cmis.csiro.au"; +$M{"xdvik"}="6 Apr 1998 05:53:45 Graham.Williams\@cmis.csiro.au"; +$M{"xfig"}="8 Jul 1998 09:08:50 Graham.Williams\@cmis.csiro.au"; +$M{"xtab"}="21 Oct 1998 09:32:30 Graham.Williams\@cmis.csiro.au"; +$M{"xtcapts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"xtem"}="27 Nov 1997 17:13:37 Graham.Williams\@cmis.csiro.au"; +$M{"xymtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"xypic"}="21 Nov 1998 05:35:39 Graham.Williams\@cmis.csiro.au"; +$M{"yannisgr"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"yfonts"}="27 Jan 1999 08:26:02 Graham.Williams\@cmis.csiro.au"; +$M{"yhmath"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"yi4latex"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"youngtab"}="29 Jun 1998 10:06:42 Graham.Williams\@cmis.csiro.au"; +$M{"yplan99"}="11 Dec 1998 05:45:33 Graham.Williams\@cmis.csiro.au"; +$M{"ytex"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"zefonts"}="30 Sep 1998 07:50:57 Graham.Williams\@cmis.csiro.au"; +1; diff --git a/Master/texmf/doc/texlive/texlive-en/archive/nocites.tex b/Master/texmf/doc/texlive/texlive-en/archive/nocites.tex new file mode 100644 index 00000000000..759b379f30e --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/nocites.tex @@ -0,0 +1,557 @@ +\nocite{a0poster} +\nocite{aaai} +\nocite{abstyles} +\nocite{accfonts} +\nocite{achemso} +\nocite{acronym} +\nocite{adfathesis} +\nocite{adobeother} +\nocite{adobestd} +\nocite{adrlist} +\nocite{ae} +\nocite{aguplus} +\nocite{aiaa} +\nocite{akletter} +\nocite{alatex} +\nocite{algorithms} +\nocite{alg} +\nocite{alphaev5-osf4.0d} +\nocite{altfont} +\nocite{amsfonts} +\nocite{amslatex} +\nocite{amstex} +\nocite{answers} +\nocite{antyktor} +\nocite{apa} +\nocite{apl} +\nocite{appendix} +\nocite{arabtex} +\nocite{arydshln} +\nocite{ar} +\nocite{asaetr} +\nocite{ascii} +\nocite{astro} +\nocite{aurora} +\nocite{authorindex} +\nocite{autotab} +\nocite{babel} +\nocite{backgammon} +\nocite{bakoma} +\nocite{barcode2} +\nocite{barcodes} +\nocite{barr} +\nocite{bbding} +\nocite{bbm} +\nocite{bbold} +\nocite{bbtbase} +\nocite{bbtdoc} +\nocite{beebe} +\nocite{belleek} +\nocite{beton} +\nocite{bez123} +\nocite{bezos} +\nocite{bibarts} +\nocite{biblist} +\nocite{bluesky} +\nocite{blue} +\nocite{booktabs} +\nocite{borceux} +\nocite{bosisio} +\nocite{bridge} +\nocite{brushscr} +\nocite{c-pascal} +\nocite{calendar} +\nocite{calligra} +\nocite{calrsfs} +\nocite{camel} +\nocite{caption} +\nocite{carlisle} +\nocite{casyl} +\nocite{catalog} +\nocite{cbgreek} +\nocite{cc-pl} +\nocite{ccaption} +\nocite{ccfonts} +\nocite{cchess} +\nocite{cdcover} +\nocite{cellular} +\nocite{changebar} +\nocite{chemcono} +\nocite{chemsym} +\nocite{cheq} +\nocite{cherokee} +\nocite{chess} +\nocite{china2e} +\nocite{circ} +\nocite{cirth} +\nocite{cite} +\nocite{cjk} +\nocite{cmbright} +\nocite{cmcyralt} +\nocite{cmcyr} +\nocite{cmdtrack} +\nocite{cmextra} +\nocite{cmpica} +\nocite{cmpk} +\nocite{cmsd} +\nocite{cm} +\nocite{codepage} +\nocite{colorsep} +\nocite{colortab} +\nocite{comment} +\nocite{concmath} +\nocite{concrete} +\nocite{context} +\nocite{covington} +\nocite{croatian} +\nocite{crop} +\nocite{crossword} +\nocite{crosswrd} +\nocite{csfonts} +\nocite{cslatex} +\nocite{csplain} +\nocite{cspsfonts} +\nocite{cstug} +\nocite{cursor} +\nocite{curves} +\nocite{custom-bib} +\nocite{cyrillic} +\nocite{dancers} +\nocite{deleq} +\nocite{devanagari} +\nocite{dialogl} +\nocite{dinbrief} +\nocite{directory} +\nocite{dotseqn} +\nocite{draftcopy} +\nocite{dratex} +\nocite{dropping} +\nocite{dstroke} +\nocite{dtk} +\nocite{duerer} +\nocite{dvipdfm} +\nocite{dvipsbase} +\nocite{dvipsdoc} +\nocite{ean} +\nocite{easy} +\nocite{ecc} +\nocite{ecltree} +\nocite{eco} +\nocite{ecpk} +\nocite{ec} +\nocite{edmac} +\nocite{eepic} +\nocite{egplot} +\nocite{eiad} +\nocite{eijkhout} +\nocite{elsevier} +\nocite{elvish} +\nocite{emp} +\nocite{emulateapj} +\nocite{encodings} +\nocite{endfloat} +\nocite{engwar} +\nocite{envbig} +\nocite{envlab} +\nocite{epigraph} +\nocite{eplain} +\nocite{eqname} +\nocite{eqnarray} +\nocite{esieecv} +\nocite{etexbase} +\nocite{etruscan} +\nocite{euler} +\nocite{euro2} +\nocite{eurofont} +\nocite{europs} +\nocite{eurosans} +\nocite{eurosym} +\nocite{euro} +\nocite{euxm} +\nocite{examdesign} +\nocite{exam} +\nocite{expdlist} +\nocite{expl3} +\nocite{export} +\nocite{fancybox} +\nocite{fancyhdr} +\nocite{fancyref} +\nocite{fancyvrb} +\nocite{fax} +\nocite{fc} +\nocite{feynmf} +\nocite{finbib} +\nocite{floatfig} +\nocite{floatflt} +\nocite{float} +\nocite{fltpage} +\nocite{fncychap} +\nocite{foilhtml} +\nocite{foiltex} +\nocite{fontinst} +\nocite{fontname} +\nocite{footbib} +\nocite{footmisc} +\nocite{footnpag} +\nocite{formats} +\nocite{formula} +\nocite{fp} +\nocite{frankenstein} +\nocite{french} +\nocite{fribrief} +\nocite{fullblck} +\nocite{fullpict} +\nocite{fundus} +\nocite{futhark} +\nocite{g-brief} +\nocite{gb4e} +\nocite{genealogy} +\nocite{general} +\nocite{genmisc} +\nocite{geometry} +\nocite{geomsty} +\nocite{german} +\nocite{germbib} +\nocite{germdoc} +\nocite{gloss} +\nocite{gn-logic} +\nocite{gothic} +\nocite{go} +\nocite{graphics} +\nocite{greek6cbc} +\nocite{grnumalt} +\nocite{grtimes} +\nocite{guides} +\nocite{gustlib} +\nocite{hands} +\nocite{hanging} +\nocite{harpoon} +\nocite{harvard} +\nocite{harvmac} +\nocite{hh} +\nocite{hilowres} +\nocite{histogr} +\nocite{hoekwater} +\nocite{hppa1.1-hpux10.10} +\nocite{html} +\nocite{hvmaths} +\nocite{hyperref} +\nocite{hyper} +\nocite{hyphenat} +\nocite{hyphen} +\nocite{i386-linux-libc5} +\nocite{i386-linux} +\nocite{ibm} +\nocite{ieeepes} +\nocite{ifacmtg} +\nocite{imac} +\nocite{indxcite} +\nocite{info} +\nocite{ini} +\nocite{insbox} +\nocite{ipa} +\nocite{isostds} +\nocite{jadetex} +\nocite{jhep} +\nocite{jknappen} +\nocite{jsmisc} +\nocite{jura} +\nocite{kalender} +\nocite{karnaugh} +\nocite{kdgreek} +\nocite{kluwer} +\nocite{knuth} +\nocite{koma-script} +\nocite{kuvio} +\nocite{labels} +\nocite{lamstex} +\nocite{lastpage} +\nocite{latexfonts} +\nocite{layouts} +\nocite{leaflet} +\nocite{leftidx} +\nocite{lettrine} +\nocite{levy} +\nocite{lgc} +\nocite{lgreek} +\nocite{lhcyr} +\nocite{lh} +\nocite{lineno} +\nocite{linguex} +\nocite{listings} +\nocite{lkort} +\nocite{localloc} +\nocite{logic} +\nocite{lollipop} +\nocite{ltablex} +\nocite{ltx2rtf} +\nocite{ltxbase} +\nocite{ltxdoc} +\nocite{ltxmisc} +\nocite{lucida} +\nocite{ly1} +\nocite{mailing} +\nocite{makeindex} +\nocite{malayalam} +\nocite{malvern} +\nocite{mapcodes} +\nocite{maple} +\nocite{margbib} +\nocite{marvosym} +\nocite{mathcomp} +\nocite{mathematica} +\nocite{mathpple} +\nocite{mcite} +\nocite{mdwtools} +\nocite{metasupp} +\nocite{method} +\nocite{mex} +\nocite{mff} +\nocite{mflogo} +\nocite{mfmisc} +\nocite{mfnfss} +\nocite{mfpic} +\nocite{mftoeps} +\nocite{mft} +\nocite{mhs} +\nocite{midnight} +\nocite{minitoc} +\nocite{mips-irix6.2} +\nocite{misc209} +\nocite{mltex} +\nocite{mnras} +\nocite{monotype} +\nocite{montex} +\nocite{morehelp} +\nocite{moresize} +\nocite{moreverb} +\nocite{morse} +\nocite{mpattern} +\nocite{mpbase} +\nocite{mpfnmark} +\nocite{mslapa} +\nocite{ms} +\nocite{mtbe} +\nocite{multenum} +\nocite{multirow} +\nocite{multi} +\nocite{musictex} +\nocite{musixtex} +\nocite{nassflow} +\nocite{natbib} +\nocite{ncctools} +\nocite{newalg} +\nocite{newlfm} +\nocite{newsletr} +\nocite{newthm} +\nocite{niceframe} +\nocite{nomencl} +\nocite{nrc} +\nocite{ntgclass} +\nocite{ntg} +\nocite{ntheorem} +\nocite{numline} +\nocite{objectz} +\nocite{oca} +\nocite{ocr-a} +\nocite{ogham} +\nocite{ogonek} +\nocite{oldstyle} +\nocite{omegabase} +\nocite{omegafonts} +\nocite{osmanian} +\nocite{ot2cyr} +\nocite{overpic} +\nocite{pacioli} +\nocite{pageno} +\nocite{pandora} +\nocite{paper} +\nocite{paralist} +\nocite{parallel} +\nocite{patch} +\nocite{pawpict} +\nocite{pb-diagram} +\nocite{pdcmac} +\nocite{pdfscreen} +\nocite{pdftex} +\nocite{permute} +\nocite{phoenician} +\nocite{phonetic} +\nocite{physe} +\nocite{phyzzx} +\nocite{picinpar} +\nocite{picins} +\nocite{pictex} +\nocite{piff} +\nocite{pl-qx} +\nocite{plainmisc} +\nocite{plaintex} +\nocite{plari} +\nocite{platex} +\nocite{play} +\nocite{plcalendar} +\nocite{plfonts} +\nocite{plgraph} +\nocite{plpatch} +\nocite{pl} +\nocite{pmgraph} +\nocite{poligraf} +\nocite{polish} +\nocite{polyglot} +\nocite{prettyref} +\nocite{progkeys} +\nocite{program} +\nocite{proofs} +\nocite{protex} +\nocite{psafm} +\nocite{psfig} +\nocite{psfrag} +\nocite{psizzl} +\nocite{pslatex} +\nocite{psnfssx} +\nocite{psnfss} +\nocite{pspicture} +\nocite{pstricks} +\nocite{punk} +\nocite{qfonts} +\nocite{qobitree} +\nocite{qsymbols} +\nocite{quotchap} +\nocite{r-und-s} +\nocite{rcsinfo} +\nocite{rcs} +\nocite{realcalc} +\nocite{refcheck} +\nocite{refman} +\nocite{relenc} +\nocite{revtex} +\nocite{rlepsf} +\nocite{rmpage} +\nocite{rotating} +\nocite{rotfloat} +\nocite{rplain} +\nocite{rs6000-aix4.1.4.0} +\nocite{rsfs} +\nocite{ruhyphen} +\nocite{runic} +\nocite{sanskrit} +\nocite{sauterfonts} +\nocite{scale} +\nocite{schedule} +\nocite{script} +\nocite{sectsty} +\nocite{semantic} +\nocite{seminar} +\nocite{setspace} +\nocite{shadbox} +\nocite{shadethm} +\nocite{shortlst} +\nocite{shorttoc} +\nocite{showdim} +\nocite{showlabels} +\nocite{siam} +\nocite{sidecap} +\nocite{siggraph} +\nocite{simpsons} +\nocite{siunits} +\nocite{slashbox} +\nocite{slidenotes} +\nocite{smallcap} +\nocite{songbook} +\nocite{soul} +\nocite{sparc-solaris2.5.1} +\nocite{sprite} +\nocite{ssqquote} +\nocite{startex} +\nocite{stdclsdv} +\nocite{stmaryrd} +\nocite{subeqnarray} +\nocite{subeqn} +\nocite{subfigure} +\nocite{supertabular} +\nocite{synttree} +\nocite{t2} +\nocite{tabbing} +\nocite{tap} +\nocite{taylor} +\nocite{tbe} +\nocite{tcx} +\nocite{tds} +\nocite{tengwar} +\nocite{tetex} +\nocite{tex-ps} +\nocite{tex4ht} +\nocite{texdraw} +\nocite{texinfo} +\nocite{texip} +\nocite{texlive} +\nocite{texsis} +\nocite{text1} +\nocite{textfit} +\nocite{textmerg} +\nocite{textpos} +\nocite{thesis} +\nocite{threed} +\nocite{thumbpdf} +\nocite{thumb} +\nocite{timesht} +\nocite{timing} +\nocite{tipa} +\nocite{titlefoot} +\nocite{titlesec} +\nocite{tmmaths} +\nocite{tocbibind} +\nocite{tocloft} +\nocite{tocvsec2} +\nocite{tools} +\nocite{tracking} +\nocite{treesvr} +\nocite{treetex} +\nocite{ttf2pk} +\nocite{tugboat} +\nocite{tug} +\nocite{type1cm} +\nocite{type1} +\nocite{typespec} +\nocite{uaclasses} +\nocite{ucthesis} +\nocite{ulsy} +\nocite{umlaute} +\nocite{umrand} +\nocite{underlin} +\nocite{units} +\nocite{universa} +\nocite{uni} +\nocite{unsupported} +\nocite{urwstd} +\nocite{useful} +\nocite{ut-thesis} +\nocite{utthesis} +\nocite{uwthesis} +\nocite{vdm} +\nocite{vector} +\nocite{vertex} +\nocite{vita} +\nocite{vrb} +\nocite{vrsion} +\nocite{warpcol} +\nocite{wasysym} +\nocite{wasy} +\nocite{williams} +\nocite{win32} +\nocite{windvi} +\nocite{wnri} +\nocite{wntamil} +\nocite{wsuipa} +\nocite{xtab} +\nocite{xtcapts} +\nocite{xymtex} +\nocite{xypic} +\nocite{yannisgr} +\nocite{yfonts} +\nocite{yhmath} +\nocite{yi4latex} +\nocite{youngtab} +\nocite{ytex} +\nocite{zed-csp} +\nocite{zefonts} diff --git a/Master/texmf/doc/texlive/texlive-en/archive/picture.tex b/Master/texmf/doc/texlive/texlive-en/archive/picture.tex new file mode 100644 index 00000000000..098cfe18f10 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/picture.tex @@ -0,0 +1,46 @@ +\documentclass{artikel3} +\pagestyle{empty} +\usepackage{pstcol,pst-text,lucidbrb} +\font\manual=manfnt %logo10 doesn't have what we need +\hyphenchar\manual=-1 +\def\MF{{\manual META}\-{\manual FONT}} +\begin{document} +\sffamily +\psset{unit=1mm} +\def\Size#1#2{\fontsize{#1}{#2}\selectfont} +\begin{pspicture}(-58,-58)(58,58) +\pscircle[linewidth=.3pt,linecolor=lightgray]{58} +%\pscircle{23} +\psset{linestyle=none} +% top of circle +\pstextpath[c]{\psarcn(0,0){48}{180}{0}} +{\Size{1.2cm}{1cm}\bfseries \TeX\ Live 4} +\rput(0,34){\begin{minipage}{8cm}\centering \textbf{March 1999}\\[3mm] +\Size{9}{10.5}Ready-to-run \TeX\ system for Linux, Unix (DEC,\\ HP, IBM, +SGI, Sun), and Win32 systems, \\ +based on Web2c 7.3\\ +\end{minipage}} +% bottom of circle +\rput(30,10){\begin{minipage}{2.7cm}\raggedleft\footnotesize +ISO 9660 with Joliet \\and Rock Ridge \\ +extensions\end{minipage}} +\rput(0,-30){\begin{minipage}{7cm}\centering +Macros, fonts, documentation to the\\ +\emph{{\TeX} Directory Structure} standard.\\[2mm] +Editor: Sebastian Rahtz +\end{minipage}} +\pstextpath[c]{\psarc(0,0){45}{180}{0}} +{ +{\Size{14}{14}\ttfamily http://www.tug.org/texlive/} } +\pstextpath[c]{\psarc(0,0){53}{180}{0}} +{\Size{13.2}{14}\bfseries +CSTUG $\bullet$ +Dante e.V. $\bullet$ +GUST $\bullet$ +GUTenberg $\bullet$ +NTG $\bullet$ +TUG $\bullet$ +TUG India $\bullet$ +UK TUG} +\end{pspicture} +\end{document} diff --git a/Master/texmf/doc/texlive/texlive-en/archive/split.pl b/Master/texmf/doc/texlive/texlive-en/archive/split.pl new file mode 100644 index 00000000000..bca00584335 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/split.pl @@ -0,0 +1,16 @@ +#@TeXIndex{a0poster, +open TMP, ">/dev/null"; +while (<>) { + chop; + if (/\@TeXIndex/) { + print TMP "\n"; + close TMP; + $keep=$_; + s/\@TeXIndex{(.*),.*/$1/; + print "[$_]\n"; + open TMP, ">$_.bib"; + print TMP "$keep\n"; + } + else { print TMP "$_\n" ; } + +} diff --git a/Master/texmf/doc/texlive/texlive-en/archive/status.pl b/Master/texmf/doc/texlive/texlive-en/archive/status.pl new file mode 100644 index 00000000000..28c3d0d6d4c --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/status.pl @@ -0,0 +1,31 @@ +#package: pIq +#license: pd +#(but erasing the headers is not allowed) +#Note that I made the most recent change, but +#Mark Shoulson (shoulson@ctr.columbia.edu) +#wrote the initial version. He should be named +#in the catalogue, too. + +#csuov@csv.warwick.ac.uk +#Subject: cmtt +#To: krab@iesd.auc.dk +#Subject: ftn +#To: inas@MIB.HARZ.DE +#Subject: newthm +#To: reckdahl@leland.stanford.edu +#Subject: epslatex +#To: miktex-bug@ronin.in-berlin.de +#Subject: miktex +#To: de8827@blackjack.usma.edu +#Subject: lated +#To: jdyoung@AFIT.AF.MIL +#Subject: afthesis +#xlwy01@uxp1.hrz.uni-dortmund.de (c2cweb) + +$L{"newlfm"}="free-latex"; +$L{"pacioli"}="gpl"; +$L{"etruscan"}="gpl"; +$L{"phoenician"}="gpl"; +$L{"greek6bc"}="gpl"; +$L{"runic"}="gpl"; +1; diff --git a/Master/texmf/doc/texlive/texlive-en/archive/tex-live.bib b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.bib new file mode 100644 index 00000000000..17c75e197b7 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.bib @@ -0,0 +1,235 @@ +@TeXIndex{mips-irix6.2, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for SGI running Irix 6.2}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{alpha-osf3.2, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Alpha running OSF 3.2.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{alphaev5-osf4.0d, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Alphaev5 running OSF 4.0d.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{alphaev5-osf4.0b, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Alphaev5 running OSF 4.0b.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{bbtbase, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Basic \BibTeX{} support files.}, + status = {free}, + texlive = {bibtex1} +} + +@TeXIndex{bbtdoc, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Basic \BibTeX{} documentation.}, + status = {free}, + texlive = {bibtex2} +} + +@TeXIndex{catalog, + modified = {February 1999, s.rahtz@elsevier.co.uk}, + abstract = {Graham Williams' Catalogue of \TeX{} packages.}, + status = {free}, + texlive = {doc2} +} + +@TeXIndex{cmpk, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Computer Modern fonts in PK format.}, + status = {free}, + texlive = {fonts3} +} + +@TeXIndex{dtk, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Macros for the DANTE publication.}, + status = {free}, + texlive = {latex3} +} + +@TeXIndex{dvipsbase, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Basic support files for dvips.}, + status = {free}, + texlive = {dvips1} +} + +@TeXIndex{general, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Useful general documentation.}, + status = {free}, + texlive = {doc1} +} + +@TeXIndex{guides, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Guides to using \LaTeX, in English, German, French, + Greek and Polish.}, + status = {free}, + texlive = {doc2} +} + +@TeXIndex{hppa1.1-hpux10.10, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for HP running hpux10.10.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{hyphen, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Collection of hyphenation patterns.}, + email = {s.rahtz@elsevier.co.uk}, + author = {LaTeX3 Project}, + status = {free}, + texlive = {lang1} +} + +@TeXIndex{i386-linux, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Intel machines running Linux.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{i386-linux-libc5, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Intel machines + running Linux, with libc5}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{ini, + modified = {February 1999, s.rahtz@elsevier.co.uk}, + abstract = {Startup files for building formats.}, + status = {free}, + texlive = {texlive1} +} + +@TeXIndex{lgc, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Examples from the \emph{\LaTeX{} Graphics Companion}.}, + status = {free}, + texlive = {doc3} +} + +@TeXIndex{metasupp, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {MetaPost support files.}, + status = {free}, + texlive = {texlive1} +} + +@TeXIndex{mfmisc, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Small support files for \MF.}, + status = {free}, + texlive = {fonts1} +} + +@TeXIndex{mft, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Support files for MFT.}, + status = {free}, + texlive = {texlive1} +} + +@TeXIndex{misc209, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Miscellaneous small macro files for \LaTeX 2.09.}, + status = {free}, + texlive = {latex2} +} + +@TeXIndex{mpbase, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Basic MetaPost support files.}, + status = {free}, + texlive = {metapost1} +} + +@TeXIndex{multi, + modified = {February 1999, s.rahtz@elsevier.co.uk}, + abstract = {dvips header for making n-up pages.}, + status = {free}, + texlive = {dvips3} +} + +@TeXIndex{psafm, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {AFM files for PostScript fonts.}, + status = {free}, + texlive = {fonts3} +} + +@TeXIndex{pspk, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {PK files for common PostScript fonts.}, + status = {free}, + texlive = {fonts3} +} + +@TeXIndex{rs6000-aix4.1, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for RS6000 running AIX 4.1.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{rs6000-aix4.1.4.0, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for RS6000 running AIX 4.1.4.0}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{sparc-solaris2.5.1, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Sun Sparc running Solaris 2.5.1.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{texlive, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Basic material for \TeXLive{}.}, + status = {free}, + texlive = {texlive1} +} + +@TeXIndex{tug, + modified = {February 1999, s.rahtz@elsevier.co.uk}, + abstract = {\TeX\ Users Group information.}, + status = {free}, + texlive = {doc3} +} + +@TeXIndex{useful, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Useful documentation; various \LaTeX{} guides, FAQ, + fontname docs, etc.}, + status = {free}, + texlive = {doc2} +} + +@TeXIndex{win32, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Windows 32.}, + status = {free}, + texlive = {systems1} +} diff --git a/Master/texmf/doc/texlive/texlive-en/archive/tex-live.bst b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.bst new file mode 100644 index 00000000000..a4954030c95 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.bst @@ -0,0 +1,60 @@ +ENTRY + { + name + status + abstract + texlive + author + ctan + keywords + version + also + modified + } + {} % no integer entry variables + { label extra.label sort.label } % label entry variables + + +STRINGS { s t a.name } + + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +INTEGERS { nameptr namesleft numnames } + + +FUNCTION {TexIndex} { + texlive empty$ + { } + { "\bibitem{" cite$ * "}" * write$ + cite$ "&" * write$ + status "&" * write$ + texlive "&" * write$ + newline$ + abstract write$ + newline$ + } + if$ + } + + +READ + +ITERATE {call.type$} + diff --git a/Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2003 b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2003 new file mode 100644 index 00000000000..3b75b7b5bfd --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2003 @@ -0,0 +1,378 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2003/09/01 v1.0 TeX Live documentation style] +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{graphicx} +\RequirePackage{here} +\RequirePackage{longtable} +\RequirePackage{pslatex} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +%\usepackage[textcomp]{lmodern} +% +\RequirePackage{europs} +\let\euro\EUR +% +\RequirePackage{mflogo} +\def\MP{MetaPost} +\let\mf\MF +% +% for a proper \acro command (even in the context of the definition in +% ltugboat -- \DRC overrides without checking) +\RequirePackage{relsize} +\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,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. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{2} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\pretolerance=1000 +\tolerance=1500 +\hbadness=3000 +\vbadness=3000 +\hyphenpenalty=400 +\emergencystretch=.1\hsize +\relpenalty=500 +% +% fonts +\let\sl\it +\let\slfamily\itfamily +\let\textsl\textit +%\def\ttdefault{cmtt} +\def\ttdefault{lmtt} +% +% 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 +\newcommand*{\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]{\texttt{#1}} +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{\emph{#1}} +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +\def\Ucom#1{% + \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +\def\OnCD#1{\href{../../../../#1}{\path{#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. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\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\KPS{Kpathsea} +\def\La{La} +\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\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\textsf{\TeX-Collection}} +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\HTML}{\acro{HTML}\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} +% +% 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 why \descriptionlabel doesn't. +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \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} +% +\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}} +% +% +% output setup +% +\newif\ifSingleColumn +\providecommand{\Status}{0} +%\typeout{Status is \Status} +% +% 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 +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation for printing} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[colorlinks,bookmarksopen, + pdfstartview={FitBH -320000},hyperindex]{hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \RequirePackage[latex4ht]{tex4ht} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \RequirePackage{multicol} + \SingleColumnfalse + \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\@} +\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 +} +% +% a hack for the bibliography +\bibliographystyle{tex-live} +\newif\iffirstbibentry +\global\firstbibentrytrue +\let\@@bibitem\bibitem +\renewcommand\bibitem{\iffirstbibentry + \global\firstbibentryfalse + \else + \\\SetRowColor + \fi + \@@bibitem +} + + +% for \Dings +\RequirePackage{pifont} +% available for inter-article dinglines +\def\Dings{\nopagebreak{\footnotesize\dingline{167}}} + +\endinput diff --git a/Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2004 b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2004 new file mode 100644 index 00000000000..54ff32dbe53 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2004 @@ -0,0 +1,422 @@ +% $Id$ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2004/11/07 v1.0 TeX Live documentation style] +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{graphicx} +\RequirePackage{here} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +% +\RequirePackage{lmodern} +\usepackage{textcomp}% including \textbullet +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +% +% for a proper \acro command (even in the context of the definition in +% ltugboat -- \DRC overrides without checking) +\RequirePackage{relsize} +\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,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. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{2} +\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 +\newcommand*{\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]{\texttt{#1}} +\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}} +% +% \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 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. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\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\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\p.{p.\,} +\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{\textsf{\TeX-Collection}} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\HTML}{\acro{HTML}\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] +} +% +% 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. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\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 +% +\newif\ifSingleColumn +\providecommand{\Status}{0} +%\typeout{Status is \Status} +% +% 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 +% +\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, + pagecolor=hypercolor,urlcolor=hypercolor, + filecolor=hypercolor, + bookmarksopen,pdfstartview={FitBH -320000},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}} + \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/archive/tex-live.sty-2005 b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2005 new file mode 100644 index 00000000000..487c8b8d7a2 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2005 @@ -0,0 +1,429 @@ +% $Id: tex-live.sty 1513 2006-02-13 00:22:35Z karl $ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2005/09/24 v1.5 TeX Live documentation style] +% +\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 +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +% +% for a proper \acro command (even in the context of the definition in +% ltugboat -- \DRC overrides without checking) +\RequirePackage{relsize} +\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,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. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{2} +\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 +\newcommand*{\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]{\texttt{#1}} +\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}} +% +% \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 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. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\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\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\p.{p.\,} +\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{\textsf{\TeX\ Collection}} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\HTML}{\acro{HTML}\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] +} +% +% 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. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\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 +% +\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, + pagecolor=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}} + \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/archive/tex-live.sty-2007 b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2007 new file mode 100644 index 00000000000..487c8b8d7a2 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2007 @@ -0,0 +1,429 @@ +% $Id: tex-live.sty 1513 2006-02-13 00:22:35Z karl $ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2005/09/24 v1.5 TeX Live documentation style] +% +\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 +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +% +% for a proper \acro command (even in the context of the definition in +% ltugboat -- \DRC overrides without checking) +\RequirePackage{relsize} +\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,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. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{2} +\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 +\newcommand*{\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]{\texttt{#1}} +\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}} +% +% \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 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. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\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\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\p.{p.\,} +\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{\textsf{\TeX\ Collection}} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\HTML}{\acro{HTML}\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] +} +% +% 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. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\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 +% +\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, + pagecolor=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}} + \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/archive/tex-live.sty-2008 b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2008 new file mode 100644 index 00000000000..6bb5d7fb57b --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/tex-live.sty-2008 @@ -0,0 +1,444 @@ +% $Id: tex-live.sty 10332 2008-08-14 01:04:30Z karl $ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2008/08/08 v1.6 TeX Live documentation style] +% +\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=\scriptsize,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. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\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 +\newcommand*{\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 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. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\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} +\def\La{La} +\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\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{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. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\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 +% +\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}} + \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/archive/texlive.pl b/Master/texmf/doc/texlive/texlive-en/archive/texlive.pl new file mode 100644 index 00000000000..33a19a801d6 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/archive/texlive.pl @@ -0,0 +1,574 @@ +$texlive{"a0poster"}="latex3"; +$texlive{"aaai"}="latex3"; +$texlive{"abstyles"}="bibtex3"; +$texlive{"accfonts"}="fonts3"; +$texlive{"achemso"}="latex3"; +$texlive{"acronym"}="latex3"; +$texlive{"adfathesis"}="latex3"; +$texlive{"adobeother"}="fonts3"; +$texlive{"adobestd"}="fonts1"; +$texlive{"adrlist"}="latex3"; +$texlive{"ae"}="fonts2"; +$texlive{"aguplus"}="latex3"; +$texlive{"aiaa"}="latex3"; +$texlive{"akletter"}="latex3"; +$texlive{"alatex"}="formats3"; +$texlive{"alg"}="latex3"; +$texlive{"algorithms"}="latex3"; +$texlive{"alphaev5-osf4.0d"}="systems1"; +$texlive{"alphaev5-osf4.0d"}="systems2"; +$texlive{"alphaev5-osf4.0d"}="systems3"; +$texlive{"altfont"}="latex3"; +$texlive{"amsfonts"}="fonts2"; +$texlive{"amslatex"}="latex2"; +$texlive{"amstex"}="plain2"; +$texlive{"answers"}="latex3"; +$texlive{"antyktor"}="fonts3"; +$texlive{"apa"}="latex3"; +$texlive{"apl"}="fonts3"; +$texlive{"appendix"}="latex3"; +$texlive{"ar"}="fonts3"; +$texlive{"arabtex"}="lang3"; +$texlive{"arydshln"}="latex3"; +$texlive{"asaetr"}="latex3"; +$texlive{"ascii"}="fonts3"; +$texlive{"astro"}="fonts3"; +$texlive{"aurora"}="dvips3"; +$texlive{"authorindex"}="latex3"; +$texlive{"autotab"}="latex3"; +$texlive{"babel"}="generic2"; +$texlive{"backgammon"}="fonts3"; +$texlive{"bakoma"}="fonts2"; +$texlive{"barcode2"}="fonts3"; +$texlive{"barcodes"}="fonts3"; +$texlive{"barr"}="graphics3"; +$texlive{"bbding"}="fonts3"; +$texlive{"bbm"}="fonts3"; +$texlive{"bbold"}="fonts3"; +$texlive{"bbtbase"}="bibtex1"; +$texlive{"bbtdoc"}="bibtex2"; +$texlive{"beebe"}="bibtex2"; +$texlive{"belleek"}="fonts2"; +$texlive{"beton"}="latex3"; +$texlive{"bez123"}="latex3"; +$texlive{"bezos"}="latex3"; +$texlive{"bibarts"}="bibtex3"; +$texlive{"biblist"}="latex3"; +$texlive{"blue"}="formats3"; +$texlive{"bluesky"}="fonts1"; +$texlive{"booktabs"}="latex2"; +$texlive{"borceux"}="graphics3"; +$texlive{"bosisio"}="latex3"; +$texlive{"bridge"}="latex3"; +$texlive{"brushscr"}="fonts3"; +$texlive{"c-pascal"}="generic3"; +$texlive{"calendar"}="latex3"; +$texlive{"calligra"}="fonts3"; +$texlive{"calrsfs"}="latex3"; +$texlive{"camel"}="latex3"; +$texlive{"caption"}="latex2"; +$texlive{"carlisle"}="latex2"; +$texlive{"casyl"}="lang3"; +$texlive{"catalog"}="doc2"; +$texlive{"cbgreek"}="fonts3"; +$texlive{"cc-pl"}="fonts2"; +$texlive{"ccaption"}="latex3"; +$texlive{"ccfonts"}="latex3"; +$texlive{"cchess"}="fonts3"; +$texlive{"cdcover"}="latex3"; +$texlive{"cellular"}="plain3"; +$texlive{"changebar"}="latex2"; +$texlive{"chemcono"}="latex3"; +$texlive{"chemsym"}="latex3"; +$texlive{"cheq"}="fonts3"; +$texlive{"cherokee"}="fonts3"; +$texlive{"chess"}="fonts3"; +$texlive{"china2e"}="latex3"; +$texlive{"circ"}="graphics3"; +$texlive{"cirth"}="fonts3"; +$texlive{"cite"}="latex2"; +$texlive{"cjk"}="lang3"; +$texlive{"cm"}="fonts1"; +$texlive{"cmbright"}="fonts2"; +$texlive{"cmcyr"}="fonts3"; +$texlive{"cmcyralt"}="latex3"; +$texlive{"cmdtrack"}="latex2"; +$texlive{"cmextra"}="fonts2"; +$texlive{"cmpica"}="fonts3"; +$texlive{"cmpk"}="fonts3"; +$texlive{"cmsd"}="latex3"; +$texlive{"codepage"}="latex3"; +$texlive{"colorsep"}="dvips3"; +$texlive{"colortab"}="plain3"; +$texlive{"comment"}="latex3"; +$texlive{"concmath"}="fonts3"; +$texlive{"concrete"}="fonts3"; +$texlive{"context"}="formats2"; +$texlive{"covington"}="latex3"; +$texlive{"croatian"}="lang3"; +$texlive{"crop"}="latex3"; +$texlive{"crossword"}="latex3"; +$texlive{"crosswrd"}="latex3"; +$texlive{"csfonts"}="fonts2"; +$texlive{"cslatex"}="lang2"; +$texlive{"csplain"}="lang2"; +$texlive{"cspsfonts"}="fonts2"; +$texlive{"cstug"}="doc3"; +$texlive{"cursor"}="latex3"; +$texlive{"curves"}="graphics3"; +$texlive{"custom-bib"}="bibtex2"; +$texlive{"cyrillic"}="lang2"; +$texlive{"dancers"}="fonts3"; +$texlive{"deleq"}="latex3"; +$texlive{"devanagari"}="lang3"; +$texlive{"dialogl"}="latex3"; +$texlive{"dinbrief"}="latex3"; +$texlive{"directory"}="bibtex3"; +$texlive{"dotseqn"}="latex3"; +$texlive{"draftcopy"}="latex3"; +$texlive{"dratex"}="graphics3"; +$texlive{"dropping"}="latex3"; +$texlive{"dstroke"}="fonts3"; +$texlive{"dtk"}="latex3"; +$texlive{"duerer"}="fonts3"; +$texlive{"dvipdfm"}="doc2"; +$texlive{"dvipsbase"}="dvips1"; +$texlive{"dvipsdoc"}="dvips2"; +$texlive{"ean"}="generic3"; +$texlive{"easy"}="latex3"; +$texlive{"ec"}="fonts2"; +$texlive{"ecc"}="fonts3"; +$texlive{"ecltree"}="latex2"; +$texlive{"eco"}="fonts3"; +$texlive{"ecpk"}="fonts3"; +$texlive{"edmac"}="plain3"; +$texlive{"eepic"}="graphics2"; +$texlive{"egplot"}="latex3"; +$texlive{"eiad"}="fonts3"; +$texlive{"eijkhout"}="generic3"; +$texlive{"elsevier"}="latex3"; +$texlive{"elvish"}="fonts3"; +$texlive{"emp"}="latex3"; +$texlive{"emulateapj"}="latex3"; +$texlive{"encodings"}="omega2"; +$texlive{"endfloat"}="latex3"; +$texlive{"engwar"}="fonts3"; +$texlive{"envbig"}="latex3"; +$texlive{"envlab"}="latex3"; +$texlive{"epigraph"}="latex3"; +$texlive{"eplain"}="formats2"; +$texlive{"eqname"}="latex3"; +$texlive{"eqnarray"}="latex3"; +$texlive{"esieecv"}="latex3"; +$texlive{"etexbase"}="etex2"; +$texlive{"etruscan"}="fonts3"; +$texlive{"euler"}="latex3"; +$texlive{"euro"}="fonts2"; +$texlive{"euro2"}="latex3"; +$texlive{"eurofont"}="fonts2"; +$texlive{"europs"}="fonts2"; +$texlive{"eurosans"}="latex3"; +$texlive{"eurosym"}="fonts2"; +$texlive{"euxm"}="fonts3"; +$texlive{"exam"}="latex3"; +$texlive{"examdesign"}="latex3"; +$texlive{"expdlist"}="latex3"; +$texlive{"expl3"}="latex3"; +$texlive{"export"}="latex3"; +$texlive{"fancybox"}="latex2"; +$texlive{"fancyhdr"}="latex2"; +$texlive{"fancyref"}="latex2"; +$texlive{"fancyvrb"}="latex2"; +$texlive{"fax"}="latex3"; +$texlive{"fc"}="fonts3"; +$texlive{"feynmf"}="graphics3"; +$texlive{"finbib"}="bibtex3"; +$texlive{"float"}="latex2"; +$texlive{"floatfig"}="latex3"; +$texlive{"floatflt"}="latex3"; +$texlive{"fltpage"}="latex3"; +$texlive{"fncychap"}="latex3"; +$texlive{"foilhtml"}="latex3"; +$texlive{"foiltex"}="latex3"; +$texlive{"fontinst"}="generic2"; +$texlive{"fontname"}="doc2"; +$texlive{"footbib"}="latex3"; +$texlive{"footmisc"}="latex2"; +$texlive{"footnpag"}="latex3"; +$texlive{"formats"}="texlive2"; +$texlive{"formula"}="latex3"; +$texlive{"fp"}="latex3"; +$texlive{"frankenstein"}="latex3"; +$texlive{"french"}="lang2"; +$texlive{"fribrief"}="latex3"; +$texlive{"fullblck"}="latex3"; +$texlive{"fullpict"}="latex3"; +$texlive{"fundus"}="latex3"; +$texlive{"futhark"}="fonts3"; +$texlive{"g-brief"}="latex3"; +$texlive{"gb4e"}="latex3"; +$texlive{"genealogy"}="fonts3"; +$texlive{"general"}="doc1"; +$texlive{"genmisc"}="generic3"; +$texlive{"geometry"}="latex3"; +$texlive{"geomsty"}="latex3"; +$texlive{"german"}="lang2"; +$texlive{"germbib"}="bibtex2"; +$texlive{"germdoc"}="doc2"; +$texlive{"gloss"}="latex3"; +$texlive{"gn-logic"}="latex3"; +$texlive{"go"}="fonts3"; +$texlive{"gothic"}="fonts3"; +$texlive{"graphics"}="latex1"; +$texlive{"greek6cbc"}="fonts3"; +$texlive{"grnumalt"}="latex3"; +$texlive{"grtimes"}="lang3"; +$texlive{"guides"}="doc2"; +$texlive{"gustlib"}="plain2"; +$texlive{"hands"}="fonts3"; +$texlive{"hanging"}="latex3"; +$texlive{"harpoon"}="latex3"; +$texlive{"harvard"}="bibtex2"; +$texlive{"harvmac"}="plain3"; +$texlive{"hh"}="latex3"; +$texlive{"hilowres"}="latex3"; +$texlive{"histogr"}="latex3"; +$texlive{"hoekwater"}="fonts2"; +$texlive{"hppa1.1-hpux10.10"}="systems1"; +$texlive{"hppa1.1-hpux10.10"}="systems2"; +$texlive{"hppa1.1-hpux10.10"}="systems3"; +$texlive{"html"}="doc2"; +$texlive{"hvmaths"}="fonts3"; +$texlive{"hyper"}="latex3"; +$texlive{"hyperref"}="latex2"; +$texlive{"hyphen"}="lang1"; +$texlive{"hyphenat"}="latex3"; +$texlive{"i386-linux"}="systems1"; +$texlive{"i386-linux"}="systems2"; +$texlive{"i386-linux"}="systems3"; +$texlive{"i386-linux-libc5"}="systems1"; +$texlive{"i386-linux-libc5"}="systems2"; +$texlive{"i386-linux-libc5"}="systems3"; +$texlive{"ibm"}="fonts3"; +$texlive{"ieeepes"}="latex3"; +$texlive{"ifacmtg"}="latex3"; +$texlive{"imac"}="latex3"; +$texlive{"indxcite"}="latex3"; +$texlive{"info"}="doc2"; +$texlive{"ini"}="texlive1"; +$texlive{"insbox"}="generic3"; +$texlive{"ipa"}="latex3"; +$texlive{"isostds"}="latex3"; +$texlive{"jadetex"}="formats2"; +$texlive{"jhep"}="latex3"; +$texlive{"jknappen"}="latex2"; +$texlive{"jsmisc"}="plain3"; +$texlive{"jura"}="latex3"; +$texlive{"kalender"}="latex3"; +$texlive{"karnaugh"}="latex3"; +$texlive{"kdgreek"}="fonts3"; +$texlive{"kluwer"}="latex3"; +$texlive{"knuth"}="doc3"; +$texlive{"koma-script"}="latex3"; +$texlive{"kuvio"}="graphics3"; +$texlive{"labels"}="latex3"; +$texlive{"lamstex"}="formats3"; +$texlive{"lastpage"}="latex3"; +$texlive{"latexfonts"}="latex1"; +$texlive{"layouts"}="latex3"; +$texlive{"leaflet"}="latex3"; +$texlive{"leftidx"}="latex3"; +$texlive{"lettrine"}="latex3"; +$texlive{"levy"}="latex3"; +$texlive{"lgc"}="doc3"; +$texlive{"lgreek"}="latex3"; +$texlive{"lh"}="fonts2"; +$texlive{"lhcyr"}="latex3"; +$texlive{"lineno"}="latex3"; +$texlive{"linguex"}="latex3"; +$texlive{"listings"}="latex3"; +$texlive{"lkort"}="doc3"; +$texlive{"localloc"}="latex3"; +$texlive{"logic"}="fonts3"; +$texlive{"lollipop"}="formats3"; +$texlive{"ltablex"}="latex3"; +$texlive{"ltx2rtf"}="texlive2"; +$texlive{"ltxbase"}="latex1"; +$texlive{"ltxdoc"}="doc2"; +$texlive{"ltxdoc"}="latex1"; +$texlive{"ltxmisc"}="latex2"; +$texlive{"lucida"}="fonts2"; +$texlive{"ly1"}="latex3"; +$texlive{"mailing"}="latex3"; +$texlive{"makeindex"}="doc1"; +$texlive{"malayalam"}="lang3"; +$texlive{"malvern"}="fonts3"; +$texlive{"mapcodes"}="latex3"; +$texlive{"maple"}="latex3"; +$texlive{"margbib"}="latex3"; +$texlive{"marvosym"}="fonts3"; +$texlive{"mathcomp"}="latex2"; +$texlive{"mathematica"}="fonts3"; +$texlive{"mathpple"}="fonts3"; +$texlive{"mcite"}="latex3"; +$texlive{"mdwtools"}="latex3"; +$texlive{"metasupp"}="texlive1"; +$texlive{"method"}="latex3"; +$texlive{"mex"}="lang2"; +$texlive{"mff"}="latex3"; +$texlive{"mflogo"}="latex2"; +$texlive{"mfmisc"}="fonts1"; +$texlive{"mfnfss"}="latex2"; +$texlive{"mfpic"}="graphics3"; +$texlive{"mft"}="texlive1"; +$texlive{"mftoeps"}="fonts3"; +$texlive{"mhs"}="latex3"; +$texlive{"midnight"}="generic3"; +$texlive{"minitoc"}="latex3"; +$texlive{"mips-irix6.2"}="systems1"; +$texlive{"mips-irix6.2"}="systems2"; +$texlive{"mips-irix6.2"}="systems3"; +$texlive{"misc209"}="latex2"; +$texlive{"mltex"}="latex2"; +$texlive{"mnras"}="plain3"; +$texlive{"monotype"}="fonts3"; +$texlive{"montex"}="lang3"; +$texlive{"morehelp"}="latex3"; +$texlive{"moresize"}="latex3"; +$texlive{"moreverb"}="latex3"; +$texlive{"morse"}="fonts3"; +$texlive{"mpattern"}="metapost2"; +$texlive{"mpbase"}="metapost1"; +$texlive{"mpfnmark"}="latex3"; +$texlive{"ms"}="latex3"; +$texlive{"mslapa"}="latex3"; +$texlive{"mtbe"}="plain3"; +$texlive{"multenum"}="latex3"; +$texlive{"multi"}="dvips3"; +$texlive{"multirow"}="latex3"; +$texlive{"musictex"}="generic3"; +$texlive{"musixtex"}="generic3"; +$texlive{"nassflow"}="latex3"; +$texlive{"natbib"}="bibtex2"; +$texlive{"ncctools"}="latex2"; +$texlive{"newalg"}="latex3"; +$texlive{"newlfm"}="latex3"; +$texlive{"newsletr"}="plain3"; +$texlive{"newthm"}="latex3"; +$texlive{"niceframe"}="latex3"; +$texlive{"nomencl"}="latex3"; +$texlive{"nrc"}="latex3"; +$texlive{"ntg"}="doc3"; +$texlive{"ntgclass"}="latex2"; +$texlive{"ntheorem"}="latex3"; +$texlive{"numline"}="latex3"; +$texlive{"objectz"}="latex3"; +$texlive{"oca"}="fonts3"; +$texlive{"ocr-a"}="fonts3"; +$texlive{"ogham"}="fonts3"; +$texlive{"ogonek"}="latex3"; +$texlive{"oldstyle"}="latex3"; +$texlive{"omegabase"}="omega2"; +$texlive{"omegafonts"}="omega2"; +$texlive{"osmanian"}="fonts3"; +$texlive{"ot2cyr"}="fonts2"; +$texlive{"overpic"}="latex3"; +$texlive{"pacioli"}="fonts3"; +$texlive{"pageno"}="latex3"; +$texlive{"pandora"}="fonts3"; +$texlive{"paper"}="latex3"; +$texlive{"paralist"}="latex3"; +$texlive{"parallel"}="latex3"; +$texlive{"patch"}="latex2"; +$texlive{"pawpict"}="latex3"; +$texlive{"pb-diagram"}="latex3"; +$texlive{"pdcmac"}="plain3"; +$texlive{"pdfscreen"}="latex3"; +$texlive{"pdftex"}="pdftex2"; +$texlive{"permute"}="latex3"; +$texlive{"phoenician"}="fonts3"; +$texlive{"phonetic"}="fonts3"; +$texlive{"physe"}="formats3"; +$texlive{"phyzzx"}="formats3"; +$texlive{"picinpar"}="latex3"; +$texlive{"picins"}="latex3"; +$texlive{"pictex"}="graphics2"; +$texlive{"piff"}="latex3"; +$texlive{"pl"}="latex3"; +$texlive{"pl-qx"}="fonts2"; +$texlive{"plainmisc"}="plain1"; +$texlive{"plaintex"}="plain1"; +$texlive{"plari"}="latex3"; +$texlive{"platex"}="lang2"; +$texlive{"play"}="latex3"; +$texlive{"plcalendar"}="plain3"; +$texlive{"plfonts"}="fonts2"; +$texlive{"plgraph"}="generic3"; +$texlive{"plpatch"}="plain3"; +$texlive{"pmgraph"}="latex3"; +$texlive{"poligraf"}="generic3"; +$texlive{"polish"}="doc3"; +$texlive{"polyglot"}="latex3"; +$texlive{"prettyref"}="latex3"; +$texlive{"progkeys"}="latex3"; +$texlive{"program"}="latex3"; +$texlive{"proofs"}="latex3"; +$texlive{"protex"}="generic3"; +$texlive{"psafm"}="fonts3"; +$texlive{"psfig"}="generic3"; +$texlive{"psfrag"}="graphics2"; +$texlive{"psizzl"}="formats3"; +$texlive{"pslatex"}="latex2"; +$texlive{"psnfss"}="latex1"; +$texlive{"psnfssx"}="latex2"; +$texlive{"pspicture"}="latex2"; +$texlive{"pstricks"}="graphics2"; +$texlive{"punk"}="fonts3"; +$texlive{"qfonts"}="fonts2"; +$texlive{"qobitree"}="graphics3"; +$texlive{"qsymbols"}="latex3"; +$texlive{"quotchap"}="latex3"; +$texlive{"r-und-s"}="latex3"; +$texlive{"rcs"}="latex3"; +$texlive{"rcsinfo"}="latex3"; +$texlive{"realcalc"}="generic3"; +$texlive{"refcheck"}="latex3"; +$texlive{"refman"}="latex3"; +$texlive{"relenc"}="latex3"; +$texlive{"revtex"}="latex2"; +$texlive{"rlepsf"}="generic3"; +$texlive{"rmpage"}="latex3"; +$texlive{"rotating"}="latex2"; +$texlive{"rotfloat"}="latex3"; +$texlive{"rplain"}="latex3"; +$texlive{"rs6000-aix4.1.4.0"}="systems1"; +$texlive{"rs6000-aix4.1.4.0"}="systems2"; +$texlive{"rs6000-aix4.1.4.0"}="systems3"; +$texlive{"rsfs"}="fonts2"; +$texlive{"ruhyphen"}="lang1"; +$texlive{"runic"}="fonts3"; +$texlive{"sanskrit"}="fonts3"; +$texlive{"sauterfonts"}="latex3"; +$texlive{"scale"}="latex3"; +$texlive{"schedule"}="latex3"; +$texlive{"script"}="latex3"; +$texlive{"sectsty"}="latex3"; +$texlive{"semantic"}="latex3"; +$texlive{"seminar"}="latex2"; +$texlive{"setspace"}="latex3"; +$texlive{"shadbox"}="latex3"; +$texlive{"shadethm"}="latex3"; +$texlive{"shortlst"}="latex3"; +$texlive{"shorttoc"}="latex3"; +$texlive{"showdim"}="latex3"; +$texlive{"showlabels"}="latex3"; +$texlive{"siam"}="generic3"; +$texlive{"sidecap"}="latex3"; +$texlive{"siggraph"}="latex3"; +$texlive{"simpsons"}="fonts3"; +$texlive{"siunits"}="latex3"; +$texlive{"slashbox"}="latex3"; +$texlive{"slidenotes"}="latex3"; +$texlive{"smallcap"}="latex3"; +$texlive{"songbook"}="latex3"; +$texlive{"soul"}="latex3"; +$texlive{"sparc-solaris2.5.1"}="systems1"; +$texlive{"sparc-solaris2.5.1"}="systems2"; +$texlive{"sparc-solaris2.5.1"}="systems3"; +$texlive{"sprite"}="graphics3"; +$texlive{"ssqquote"}="latex3"; +$texlive{"startex"}="formats3"; +$texlive{"stdclsdv"}="latex3"; +$texlive{"stmaryrd"}="fonts2"; +$texlive{"subeqn"}="latex3"; +$texlive{"subeqnarray"}="latex3"; +$texlive{"subfigure"}="latex3"; +$texlive{"supertabular"}="latex3"; +$texlive{"synttree"}="latex3"; +$texlive{"t2"}="lang3"; +$texlive{"tabbing"}="latex3"; +$texlive{"tap"}="generic2"; +$texlive{"taylor"}="graphics3"; +$texlive{"tbe"}="plain3"; +$texlive{"tcx"}="texlive1"; +$texlive{"tds"}="doc1"; +$texlive{"tengwar"}="fonts3"; +$texlive{"tetex"}="doc1"; +$texlive{"tex-ps"}="generic2"; +$texlive{"tex4ht"}="latex2"; +$texlive{"texdraw"}="graphics3"; +$texlive{"texinfo"}="plain2"; +$texlive{"texip"}="formats3"; +$texlive{"texlive"}="texlive1"; +$texlive{"texsis"}="formats3"; +$texlive{"text1"}="formats3"; +$texlive{"textfit"}="latex3"; +$texlive{"textmerg"}="latex3"; +$texlive{"textpos"}="latex3"; +$texlive{"thesis"}="latex3"; +$texlive{"threed"}="metapost2"; +$texlive{"thumb"}="latex3"; +$texlive{"thumbpdf"}="latex3"; +$texlive{"timesht"}="latex3"; +$texlive{"timing"}="latex3"; +$texlive{"tipa"}="fonts2"; +$texlive{"titlefoot"}="latex3"; +$texlive{"titlesec"}="latex3"; +$texlive{"tmmaths"}="fonts3"; +$texlive{"tocbibind"}="latex3"; +$texlive{"tocloft"}="latex3"; +$texlive{"tocvsec2"}="latex3"; +$texlive{"tools"}="latex1"; +$texlive{"tracking"}="latex3"; +$texlive{"treesvr"}="latex3"; +$texlive{"treetex"}="plain3"; +$texlive{"ttf2pk"}="texlive2"; +$texlive{"tug"}="doc3"; +$texlive{"tugboat"}="generic2"; +$texlive{"type1"}="fonts2"; +$texlive{"type1cm"}="latex3"; +$texlive{"typespec"}="plain3"; +$texlive{"uaclasses"}="latex3"; +$texlive{"ucthesis"}="latex3"; +$texlive{"ulsy"}="latex3"; +$texlive{"umlaute"}="latex3"; +$texlive{"umrand"}="fonts3"; +$texlive{"underlin"}="latex3"; +$texlive{"uni"}="fonts3"; +$texlive{"units"}="latex3"; +$texlive{"universa"}="fonts3"; +$texlive{"unsupported"}="fonts3"; +$texlive{"urwstd"}="fonts2"; +$texlive{"useful"}="doc2"; +$texlive{"ut-thesis"}="latex3"; +$texlive{"utthesis"}="latex3"; +$texlive{"uwthesis"}="latex3"; +$texlive{"vdm"}="latex3"; +$texlive{"vector"}="latex3"; +$texlive{"vertex"}="plain3"; +$texlive{"vita"}="latex3"; +$texlive{"vrb"}="latex3"; +$texlive{"vrsion"}="latex3"; +$texlive{"warpcol"}="latex3"; +$texlive{"wasy"}="fonts2"; +$texlive{"wasysym"}="latex2"; +$texlive{"williams"}="latex3"; +$texlive{"win32"}="systems1"; +$texlive{"win32"}="systems2"; +$texlive{"win32"}="systems3"; +$texlive{"windvi"}="doc1"; +$texlive{"wnri"}="fonts3"; +$texlive{"wntamil"}="lang3"; +$texlive{"wsuipa"}="fonts2"; +$texlive{"xtab"}="latex3"; +$texlive{"xtcapts"}="latex3"; +$texlive{"xymtex"}="latex3"; +$texlive{"xypic"}="graphics2"; +$texlive{"yannisgr"}="fonts3"; +$texlive{"yfonts"}="latex3"; +$texlive{"yhmath"}="latex3"; +$texlive{"yi4latex"}="lang3"; +$texlive{"youngtab"}="latex3"; +$texlive{"ytex"}="formats3"; +$texlive{"zed-csp"}="latex3"; +$texlive{"zefonts"}="fonts2"; diff --git a/Master/texmf/doc/texlive/texlive-en/live4ht.cfg b/Master/texmf/doc/texlive/texlive-en/live4ht.cfg new file mode 100644 index 00000000000..3435925813d --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/live4ht.cfg @@ -0,0 +1,51 @@ +% tex4ht configuration file for the TeX Live documentation. +% Accumulated over many years. Public domain. +% +% html specifies the main output format. +% info for extra debugging info in the log files. + +% have html in one piece (including footnotes). +\Preamble{charset=iso-8859-1,html,info,fn-in} + +% add extra stylesheet +\Configure{@HEAD}{\HCode{% +\Hnewline +\Hnewline +}} +% use png graphics as-is +\Configure{graphics*} + {png} + {\Needs{""}% + \Picture[pict]{\csname Gin@base\endcsname.png}% + } +% or LaTeX complains it is missing. +\begin{document} + +\EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\newif\ifhackliterals +\ifx\tldocenglish\undefined \else \hackliteralstrue \fi +\ifx\tldocrussian\undefined \else \hackliteralstrue \fi +\ifx\tldocgerman\undefined \else \hackliteralstrue \fi +% +\ifhackliterals + % these definitions cause "missing } inserted" at \end{tabularx} in + % French and Czech. don't know why. + % + % don't make these into links, as happens with \path. We only have a couple + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf/doc/texlive/texlive-en/tex-live.sty b/Master/texmf/doc/texlive/texlive-en/tex-live.sty new file mode 100644 index 00000000000..09956bd2a3e --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/tex-live.sty @@ -0,0 +1,446 @@ +% $Id$ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2008/08/08 v1.6 TeX Live documentation style] +% +\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=\scriptsize,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. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\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 +\newcommand*{\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 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. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\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} +\def\La{La} +\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\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{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. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\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{} + \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 new file mode 100644 index 00000000000..24fbb5d1c1b --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-en/texlive-en.tex @@ -0,0 +1,2954 @@ +% $Id: live.tex 9531 2008-07-13 21:12:58Z siepo $ +% 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{} 2008}}% +} + +\author{Karl Berry, editor \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{September 2008} + +\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{} usergroups distribute among their members. Section +\ref{sec:tl-coll-dists} briefly describes the contents of this \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. + +\TL{} packages are regularly updated from +\acro{CTAN}: \url{http://www.ctan.org}. + +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 architectures, +including \MacOSX. The included sources should enable installation +on platforms for which we do not have binaries. + +As to Windows: only Windows 2000 and later are supported. Windows +9\textit{x}, ME and NT have been dropped. Because of this +change, Windows requires much less special treatment compared to +the Unix systems. There are no 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. The net +installer itself is small, and downloads everything requested from the +Internet. The net installer is an attractive option if you need only a +fraction of the complete \TL. + +The \DVD{} installer lets you install to a local disk, but you can +also run \TL{} directly from the \DVD{} (or from a \DVD{} image, if +your system supports that). + +\noindent This is described in the +installation sections following, but here is a quick start: + +\begin{itemize*} + +\item The installation script is named \filename{install-tl}. It can + operate in both a \GUI{} mode (default for Windows) and + a text mode (default for everything else). You can force one mode or + the other with the options \code{-gui} and \code{-no-gui}, respectively. + +\item One of the installed items is a new program, the `\TL\ Manager', + 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*} + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both 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 forego \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-doc/doc/english/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 which can be run live or + installed to disk. + +\item [Mac\TeX] for \MacOSX, this adds a native \MacOSX\ installer and other +Mac applications to \TL{}. Its home page is +\url{http://www.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. + +\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 +the \TL{} distribution. On the \pkgname{live} \DVD, the entire \TL{} +hierarchy is in a subdirectory \dirname{texlive}, not at the top +level of the disc. + +\begin{ttdescription} +\item[bin] The \TeX{} system programs, arranged by platform. +% +\item[readme.html] Web pages with a quick introduction and useful links, +in various languages. +% +\item[source] The source to all included programs, including the main \Webc{} + \TeX{} and \MF{} distributions. +% +\item[support] Various auxiliary packages and programs. These are + \emph{not} installed automatically. This includes + assorted editors and \TeX\ shells. +% +\item[texmf] See \dirname{TEXMFMAIN} below. +% +\item[texmf-dist] See \dirname{TEXMFDIST} below. +% +\item[texmf-doc] Tree for self-contained pure documentation, arranged by + language. +% +\item[tlpkg] Scripts, programs and data for managing the + installation. It also contains private copies of + Perl and Ghostscript for Windows, which are invisible outside \TL, + and a new Windows PostScript viewer PSView. +\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. + +The \dirname{texmf-doc} directory contains documentation which does +not belong to any particular package or program. 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} or \cmdname{texdoctk} programs to find any +documentation wherever it is located. The comprehensive links in +the top-level file \OnCD{doc.html} may also be helpful. + +This \TL\ documentation itself is in \dirname{texmf-doc} and is +available in several languages: + +\begin{itemize*} +\item{Simplified Chinese:} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn} +\item{Czech/Slovak:} \OnCD{texmf-doc/doc/czechslovak/texlive-cz} +\item{English:} \OnCD{texmf-doc/doc/english/texlive-en} +\item{French:} \OnCD{texmf-doc/doc/french/texlive-fr} +\item{German:} \OnCD{texmf-doc/doc/german/texlive-de} +\item{Polish:} \OnCD{texmf-doc/doc/polish/texlive-pl} +\item{Russian:} \OnCD{texmf-doc/doc/russian/texlive-ru} +\end{itemize*} + +\subsection{Overview of the predefined texmf trees} +\label{sec:texmftrees} + +This section lists all predefined variables specifying the texmf trees +used by the system, and their intended purpose, and the default +layout of a \TL{} system. The command \texttt{texconfig conf} shows +you the values of these variables, so that you can easily find out +how they map to directory names in your installation. + +\begin{ttdescription} +\item [TEXMFMAIN] The tree which holds vital parts of the system + such as helper scripts (e.g., \verb+web2c/mktexdir+) and other + support files and their documentation. Does not include + \TeX\ formats and packages. +\item [TEXMFDIST] The tree which holds the main set of macro packages, + fonts, etc., as originally distributed. +\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 tree used by the utilities + \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified + configuration data. Under \envname{TEXMFHOME} by default. +\item [TEXMFSYSCONFIG] The tree used by the utilities + \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to + store modified configuration data. +\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and + \verb+fmtutil+ to store (cached) runtime data such as format files and + generated map files. Under \envname{TEXMFHOME} by default. +\item [TEXMFSYSVAR] The 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[2007] A previous release. + \begin{ttdescription} + \item [...] + \end{ttdescription} + \item[2008] 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-doc] \envname{TEXMFDOC} + \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[.texlive2007] Privately generated and configuration data + for a previous release. + \item[.texlive2008] 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. + \textit{etc.} + \end{ttdescription} +\end{description} + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +\TeX{} itself is frozen, apart from rare bug fixes. It is still present +in \TL\ as the program \prog{tex}, and will remain so in 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{}. This is the program +invoked for most formats, e.g., \prog{etex}, \prog{latex}, +\prog{pdflatex}. See \url{http://www.pdftex.org/}. +\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, with which it +is intended to be backward-compatible. It should also supersede Aleph, +see below. The incorporated Lua interpreter (see +\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. See +\url{http://www.luatex.org/} and +\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://scripts.sil.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. See +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] 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 [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\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). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\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-doc/doc/english/free-math-font-survey}. + + + +\section{Installation} +\label{sec:install} + +\subsection{Starting the installer} +\label{sec:inst-start} + +To start with, 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 and +\filename{install-unx.tar.gz} which is considerably smaller, 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 should start 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 (\url{http://tug.org/texlive/acquire.html}). + +\end{description} +The following sections explain in more detail. + +\subsubsection{Unix} + +\begin{figure}[tb] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in indicate menu items <======= +=======> for commands or configurable options <======= + + + Detected platform: Intel x86 with GNU/Linux + + binary systems: 1 out of 16 + + Installation scheme (scheme-full) + + Customizing installation scheme: + standard collections + language collections + 83 collections out of 84, disk space required: 1666 MB + + directories: + TEXDIR (the main TeX directory): + !! default location: /usr/local/texlive/2008 + !! is not writable, please select a different one! + TEXMFLOCAL (directory for site-wide local files): + /usr/local/texlive/texmf-local + TEXMFSYSVAR (directory for variable and automatically generated data): + /usr/local/texlive/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + options: + [ ] use letter size instead of A4 by default + [X] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks in standard directories + + Install for running from DVD + +Other actions: + start installation to HD + help + quit + +Enter command: +\end{boxedverbatim} +\caption{Main text installer screen (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-w32-main}{\linewidth} +\caption{Main \GUI{} installer screen (Windows)}\label{fig:gui-main} +\end{figure} + +\noindent +Below, \texttt{>} denotes the shell prompt; user input is +\Ucom{\texttt{bold}}. +Starting in a terminal window on a Unix-compatible system, the simplest +way: +\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.) + +To install in \GUI\ mode (you'll need the \dirname{Perl/TK} module), use: +\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. + + +\subsubsection{Mac\,OS\,X} + +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 can make a few +Mac-specific adjustments, in particular to allow easily switching +between the various \TeX\ distributions for \MacOSX\ (Mac\TeX, gw\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}. + +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. + +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} + +\subsubsection{The text installer} + +Figure~\ref{fig:text-main} displays the main text mode screen under +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 (for Windows, a Perl subset is included). + +\subsubsection{The graphical installer} + +Figure~\ref{fig:gui-main} displays the graphical installer under +Windows. Most differences in available options are due to this +screenshot being from Windows, and the previous text screen being +from \GNU/Linux. + +\subsection{Running the installer} +\label{sec:runinstall} + +The installer is intended to be mostly self-explanatory. Still, a few +quick notes about the various options and submenus: + +\subsubsection{Binary systems menu (Unix only)} +\label{sec:binary} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Available sets of binaries: +=============================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] hppa-hpux HP-UX + d [ ] i386-freebsd Intel x86 with FreeBSD + e [X] i386-linux Intel x86 with GNU/Linux + f [ ] i386-openbsd Intel x86 with OpenBSD + g [ ] i386-solaris Intel x86 with Sun Solaris + h [ ] mips-irix SGI IRIX + i [ ] powerpc-aix PowerPC with AIX + j [ ] powerpc-linux PowerPC with GNU/Linux + k [ ] sparc-linux Sparc with GNU/Linux + l [ ] sparc-solaris Sparc with Solaris + m [ ] universal-darwin universal binaries for MacOSX/Darwin + o [ ] win32 Windows + p [ ] x86_64-linux x86_64 with GNU/Linux +\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 +architectures 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 [ ] TeX Live basic scheme + b [ ] TeX Live scheme for ConTeXt + c [X] TeX Live full scheme + d [ ] GUST TeX Live scheme + e [ ] GUTenberg TeX Live scheme + f [ ] TeX Live medium scheme + g [ ] TeX Live minimal scheme + h [ ] TeX Live for Omega users + i [ ] teTeX scheme + j [ ] XML typesetting scheme +\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, 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}[tbh] +\tlpng{stdcoll}{.7\linewidth} +\caption{Collections menu (Linux)}\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 \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 different between Windows +(|%PROGRAMFILES%\texlive\2008|) and Unix +(\dirname{/usr/local/texlive/2008}). + +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 adminstrator to +install \TL, but you do need write access to the target directory. + +A logical alternate choice is a directory under your home directory, +especially if you will be the sole user. Use +`|~|' to indicate this, as in `|~/texlive/2008|'. + +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 each individual running \TeX. It expands to +\dirname{$HOME} on Unix and \verb|%USERPROFILE%| on Windows. + +\subsubsection{Options} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +

use letter size instead of A4 by default: [ ] + create all format files: [X] + install font/macro doc tree: [X] + install font/macro source tree: [X] + 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} displays the text mode options menu. +Three of the options here need mentioning: + +\begin{description} +\item[use letter size instead of A4 by default:] The usual default paper + size selection. Of course, individual documents can specify a specific + paper size, if desired. + +\item[create all 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[create symlinks in standard directories] (Unix only): + This option bypasses the need to change environment + variables. Without this option, \TL{} directories have to be added + to \envname{PATH}, \envname{MANPATH} and \envname{INFOPATH}. You will + need write permissions to the target directories. It is not + advisable to overwrite a \TeX\ system that came with your system + with this option. It is intended primarily for creating the links + in standard directories that are known to users, such as + \dirname{/usr/local/bin}, which don't already contain any + \TeX\ files. +\end{description} + +Now when all these 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. + +\htmlanchor{runfromdvd} +\subsubsection{Set up for running from DVD{} (text mode only)} +\label{sec:fromdvd} + +Type `|V|' to select this option. This changes the main menu into something +like figure~\ref{fig:main-fromdvd}. +\begin{figure}[tbh] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in indicate menu items <======= +=======> for commands or configurable options <======= + + directories: + TEXDIRW (Writable root): + !! default location: /usr/local/texlive/2008 + !! is not writable, please select a different one! + TEXMFLOCAL (directory for site-wide local files): + /usr/local/texlive/texmf-local + TEXMFSYSVAR (directory for variable and automatically generated data): + /usr/local/texlive/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + options: + [ ] use letter size instead of A4 by default + [X] create all format files + + set up for installing to hard disk + +Other actions: + start installation for running from DVD + help + quit +\end{boxedverbatim} +\caption{The main menu with \optname{from DVD} + set}\label{fig:main-fromdvd} +\end{figure} + +Note the changes: all options about what to install have +disappeared, and the directories section now talks about +\dirname{TEXDIRW} or writable root. The symlinks option has also +disappeared. + +The installer will still create various directories and +configuration files, but won't copy \dirname{texmf}, +\dirname{texmf-dist} or \dirname{texmf-doc} to hard disk. + +Post-install configuration for Unix will be slightly more complicated, +because now the directory layout deviates from the default; see +section~\ref{sec:postinstall}. + +Due to time constraints, this option didn't make it into the \GUI{} +installer, but it is available both for Unix and for +Windows. Windows users have to start the installer from a command +prompt, see section~\ref{sec:cmdline}. + +Section \ref{sec:portable-unix} describes a more strictly portable +way to run \TL, which doesn't make or require changes in the +system's configuration, but doesn't allow any configuration either. + +\subsection{Command-line install 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 more +interesting 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}); + 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{LL}. Currently + supported languages: English (\texttt{en}, default), German + (\texttt{de}), French (\texttt{fr}), Dutch (\texttt{nl}), Polish + (\texttt{pl}), Slovenian (\texttt{sl}) and Vietnamese + (\texttt{vi}). The installer tries to determine the right language + itself but if it fails, or if the right language is not available, + then it uses English as a fallback. +\item[-profile {\sl profile}] The installer always writes a file + \filename{texlive.profile} to the \dirname{2008/tlpkg}- or + \dirname{tlpkg} subdirectory of your installation. This option tells + the installer to re-use such a profile file. Here's an excerpt: + \begin{fverbatim} +# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC +# It will NOT be updated and reflects only the +# installation profile at installation time. +selected_scheme scheme-basic +TEXDIR /usr/local/texlive/2008 +TEXDIRW /usr/local/texlive/2008 +... +TEXMFSYSVAR /usr/local/texlive/2008/texmf-var +collection-basic 1 +... +option_symlinks 0 + \end{fverbatim} + Thus, using this option you can install in batch mode on + subsequent systems, reproducing the choices you made for the + original installation. +\item [-location {\sl url/path}] Specify a non-default source for + packages; see below. +\end{ttdescription} + +\subsubsection{The \optname{location} parameter} +\label{sec:location} + +The location value can be a url starting with \texttt{ftp:}, +\texttt{http:}, or \texttt{file:/} url, or a plain path. If the given +argument is on a local drive (either a path or a \texttt{file:/} url), +the installation type (compressed or live) is automatically determined: +if an \dirname{archive} subdirectory with \filename{.tar.lzma} files is +found then it will be used, even if uncompressed files are available as +well. + +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/texlive/tlnet/2008}, +substituting of course a proper hostname and its particular top-level +\CTAN\ path (the list of \CTAN\ mirrors is maintained at +\url{http://ctan.org/mirrors}) for |ctan.example.org/tex-archive|. The +default is to pick a mirror automatically, using +\url{http://mirror.ctan.org}; in any case, the chosen host is used for +the entire download. + + +\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. + +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/2008/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2008/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/2008/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + +Of course, you may well already have settings somewhere in your ``dot'' +files, and so then 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/2008/bin/i386-linux \ + /usr/local/texlive/2008/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. + + +\subsubsection{When running from DVD} + +Normally, a \TL{} program consults a file \filename{texmf.cnf} for the +location of the various trees. It looks for this file in a series of +locations relative to its own location. However, this scheme breaks down +when a program is run from \DVD{}: the \DVD{} is read-only. Some of the +paths to be recorded in \filename{texmf.cnf} are only known at +installation time, so this file cannot be on the \DVD{} and must be +placed somewhere else. This makes it necessary to define an environment +\envname{TEXMFCNF} variable which tells \TL{} programs in what directory +to find this \filename{texmf.cnf}. It is also still necessary to modify +the \envname{PATH} environment variable, as described before. + +At the end of the installation, the installer should have printed a +message giving the value to which \envname{TEXMFCNF} should be set. In +case you missed it: this value is \dirname{$TEXMFSYSVAR/web2c}. For the +default, \dirname{/usr/local/texlive/2008/texmf-var/web2c}, you need the +lines +\begin{sverbatim} +TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF +\end{sverbatim} +or, for [t]csh: +\begin{sverbatim} +setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c +\end{sverbatim} + + +\subsubsection{\ConTeXt{} Mark IV} + +The `old' \ConTeXt{} should run out of the box. The new `Mark IV' +\ConTeXt{} will require manual setup; see +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + + +\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|C:\Program Files\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 \prog{tlmgr} in \GUI\ mode. + +\subsubsection{Integrating third-party fonts} + +This is unfortunately a very complicated and messy topic. Forget +about it unless you really know your way around blindfolded in a +\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 (see +section~\ref{sec:tex-extensions}), which lets you use operating system +fonts without any installation in \TeX. + + +\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 (Web2C 7.5.7) +kpathsea version 3.5.7 +... +\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} +This is pdfeTeXk, Version 3.1415926... +... +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} +\end{alltt} +(Under Windows, the analogous command is \cmdname{dviout}.) 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 the system.) +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} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +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.) + +\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} + +\end{enumerate} + +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. + + +\section{Network installations} +\label{sec:netinstall} + +\TL{} has been designed to be shared between different users, and even +different systems on a network. With a standard directory layout, no +hard paths are configured: the locations for files needed by \TL{} +programs are defined relative to the places of those programs. You can +see this at work in the 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 other systems or other users merely need to add the +directory for \TL{} binaries for their platform to their search path. + +By the same token, you can also install \TL{} locally and then move +the entire hierarchy afterwards to a network location. + +Of course, Windows users have different expectations. The directory +\dirname{texmf-doc/source/texlive/texlive-common/w32client} contains a +sample script \filename{install-w32client} which creates settings and +menu shortcuts for using an existing \TL{} installation on a +\acro{LAN}. It is to be invoked through a batch file +\filename{install-w32client.bat} in the same directory. + +You can read more about \TL{} configuration and path searching in +section~\ref{sec:kpathsea}. + +\section{Maximally portable \protect\TL{} on DVD and USB} +\label{sec:portable-unix} + +The `running from \DVD{}' option described in +section~\ref{sec:fromdvd} is fine for your own system, but if you +are a guest on somebody else's system then you would probably like +something with minimal side effects. + +In the root of the \TL{} \DVD, or the \dirname{texlive} subdirectory of +the \TK{} \DVD, are a \filename{tl-portable} script (Unix) and a +\filename{tl-portable.bat} batchfile (Windows) which start up a +secondary shell\slash command prompt with environment settings suitable +for directly accessing the \TL{} on the \DVD. + +When it runs for the first time, some files will be generated in a +directory \dirname{~/.tlportable2008}, which will take a little time. +On subsequent runs, though, it will start almost instantaneously. + +The rest of the system will be unaware of \TL. If you want your editor +to be aware of this \TL, then you can start it from a second, parallel, +such \filename{tl-portable} session. + +You can also use \filename{tl-portable} to run \TL{} on a +\acro{USB} stick. In this case, copy all the top-level files and +the contents of the \dirname{bin}, \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{tlpkg} directories (at least) to +the stick. This may take quite a while! If you are copying to a +\acro{FAT}32-formatted \acro{USB} stick, make sure to dereference +symbolic links (\code{cp -L}). A \dirname{texmf-local} directory on +the stick will also be found and used. + +Then run \filename{tl-portable} from the root of the stick, as above. +In this case, the script will notice that the stick is writable and use +it for generated files. You could burn the resulting contents of the +stick back to \DVD{} if that is more convenient to (for example) give to +others. + + +\section{\cmdname{tlmgr}: Managing your installation} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} in \GUI\ mode. The list of + packages/collections/schemes only shows up after clicking the + `Load' button.}\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\tlpng{tlmgr-config}{\linewidth} +\caption{\texttt{tlmgr} in GUI mode: Configuration tab}\label{fig:tlmgr-config} +\end{figure} + +The installer installs 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 listing schemes, collections and packages; +\item installing, updating, backing up, restoring and uninstalling + individual packages, optionally taking dependencies into account; +\item searching for packages; +\item listing and adding architectures; +\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 installations which run from \DVD. + +\subsection{\cmdname{tlmgr} GUI mode} +\prog{tlmgr} can be started in \GUI{} mode with +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +or in Windows via the Start menu: \texttt{Start}, \texttt{Programs}, +\texttt{TeX Live 2008}, \texttt{TeX Live Manager}. After clicking `Load' +it displays a list of available and installed packages\Dash the latter +prepended with `(i)'. This assumes of course that the installation +source is valid and reachable. + +Figure~\ref{fig:tlmgr-config} shows the configuration tab. + +\subsection{Sample \cmdname{tlmgr} command-line invocations} + +This example adds several packages, including a new `engine', from a +non-default location: + +\begin{alltt} +> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} +\end{alltt} +It generates the following output: +\begin{fverbatim} +install: collection-xetex +install: arabxetex +install: euenc +install: bidi +install: fontspec +install: fontwrap +install: ifxetex +install: philokalia +install: polyglossia +install: xecyr +install: xecyr.i386-linux +install: xepersian +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +install: xetex-pstricks +install: xetexfontinfo +install: xltxtra +install: xunicode +install: xkeyval +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... +mktexlsr: Done. +regenerating fmtutil.cnf +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} +As you see, \prog{tlmgr} installs dependencies, and takes care of any +necessary post-install actions, including updating the filename database +and (re)generating formats. (Here we generated new formats for \XeTeX.) + +This example installs a new language. This also triggers format +regeneration: +\begin{alltt} +> \Ucom{tlmgr install collection-langdutch} +\end{alltt} +To describe a package: +\begin{alltt} +> \Ucom{tlmgr show collection-wintools} +\end{alltt} +which produces +\begin{fverbatim} +Package: collection-wintools +Category: Collection +ShortDesc: Windows support programs +LongDesc: Utilities for Windows, since they are not readily available there: + gzip, chktex, jpeg2ps, unzip, wget, xpdf. +Installed: Yes +\end{fverbatim} +Updating your entire installation to the latest versions available: +\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 +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} +For full documentation: +\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 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\prog{tlmgr} refers to + this. +\end{description} + +\subsection{Additional included software} + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: very high magnifications available!}\label{fig:psview} +\end{figure} + +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 distributions, and + shouldn't interfere with any system installations of Perl or + Ghostscript. +\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{chktex}, + \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} and the + command-line utilities from the \cmdname{xpdf} suite. (The + \cmdname{xpdf} viewer itself is not available for Windows, but the + Sumatra \acro{PDF} viewer is based on it: + \url{http://blog.kowalczyk.info/software/sumatrapdf}.) +\item[\texttt{fc-cache}] helps \XeTeX{} to handle fonts more + efficiently. +\item[PS\_View.] Also installed is PS\_View, a new PostScript viewer + with a free license; see figure~\ref{fig:psview}. +\end{description} +\begin{description} +\item[The \texttt{support} directory,] already mentioned in + section~\ref{sec:tld}. This directory contains various programs + which can be useful in connection with \TeX, in particular a + number of \TeX-aware editors and \TeX{} frontends. The software in + this directory isn't covered by the installer. This directory also + contains the \cmdname{dviout} \dvi{} previewer; see the next section. +\end{description} + +\subsection{The Dviout previewer} + +This \TL{} release unfortunately doesn't offer a preinstalled \dvi{} +previewer for Windows. However, you can install \prog{dviout} by +Toshio Oshima from the \path{support/dviout/} directory, which +contains also a short \filename{README} describing how to install +and configure \prog{dviout} for \TL. Please read this carefully +before installation. + +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 (very good) on-line help. + +\subsection{Links for additional downloadable software} + +Urls 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 no particular order: + \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 \TL's + \path{support} directory; its home page is + \url{http://www.gnu.org/software/auctex}. + \item \cmdname{WinShell} is available in \TL's \path|support| + directory; its home page is \url{http://www.winshell.de}. + \item \cmdname{WinEdt} is shareware available from + \url{http://www.winedt.com}. + \item \cmdname{Vim} is free software, available from + \url{http://www.vim.org}. + \item TeXnicCenter is free software, available from + \url{http://www.toolscenter.org} and in the pro\TeX{}t distribution. + \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}. + \end{itemize*} +\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 XP and Windows 2000, this +is usually \verb|C:\Documents and Settings\|, and under +Windows Vista \verb|C:\Users\|. 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, 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. Use the \optname{non-admin} option to \prog{install-tl} if +you prefer per-user settings even as an administrator. + +Regardless of administrator status, the default root of \TL{} proposed +by the installer is always under \verb|%PROGRAMFILES%|. 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{} will never get +precedence. As a workaround, in this case the installer creates +shortcuts to the command-prompt in which the new \TL{} binary directory +is prepended to the local searchpath. The new \TL{} will be usable when +run in a command-line session started from such a shortcut. + + +\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[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\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[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\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} + +\begingroup\tolerance=3500 +\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} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\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} + +\tolerance=2500 +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 + +\tolerance=1500 + +\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 +(appproximately; 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); most sites have only one hierarchy. \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 ... \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 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, + ... + +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 +[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, most 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 Peter Breitenlohner (and the \eTeX\ team) for the stable foundation +of future \TeX's, and Peter specifically for stellar help with the GNU +autotools usage throughout \TL. + +\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 was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team +(\url{http://pdftex.org}) for continuing enhancements of \TeX's +abilities. + +\item Hans Hagen, for much testing and making his \ConTeXt\ format +(\url{http://pragma-ade.com}) work within \TL's framework. + +\item Hartmut Henkel, for significant development contributions to +pdf\TeX\, Lua\TeX, and more. + +\item Taco Hoekwater, for renewed development efforts on MetaPost and +(Lua)\TeX\ (\url{http://luatex.org}) itself, and for incorporating +\ConTeXt\ into \TL. + +\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://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}), and many +other contributions. + +\item Jonathan Kew and \acro{SIL}, for the major new development of +\XeTeX{} and taking the time and trouble to integrate it in \TL{}, as +well as the initial version of the Mac\TeX\ installer. + +\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 the new features. + +\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{tldoc} 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 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 \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: +Reinhard Kotucha (\pkgname{x86\_64-linux}), +Tim Arnold (\pkgname{hppa-hpux}), +Randy Au (\pkgname{amd64-freebsd}), +Edd Barrett (\pkgname{i386-openbsd}), +Karl Berry (\pkgname{i386-linux}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Arthur Reutenauer (\pkgname{sparc-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-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}. + +Documentation and translation updates: +Karl Berry (English), +Daniel Flipo (French), +Klaus H\"oppner (German), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Boris Veytsman (Russian), +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-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} directory of \dirname{texmf*} trees, and +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-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/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. + +\medskip \noindent +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} + +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}. + + +\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 hard-pressed volunteers in their limited spare time, and a +great deal remains to be done. 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-fr/Makefile b/Master/texmf/doc/texlive/texlive-fr/Makefile new file mode 100644 index 00000000000..519abf8798a --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-fr/Makefile @@ -0,0 +1,5 @@ +include ../texlive-en/Makefile +doc = texlive-fr +lang = french + + diff --git a/Master/texmf/doc/texlive/texlive-fr/live.tex b/Master/texmf/doc/texlive/texlive-fr/live.tex new file mode 100644 index 00000000000..ccb25a86f0b --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-fr/live.tex @@ -0,0 +1,3945 @@ +%Format: pdf + +% $Id: //depot/Master/texmf-doc/source/english/texlive-en/live.tex#31 $ +% $Author: staw $ $Date: 2005/10/31 $ +% +% Change history (started May 18th 2002) +% 2007/01/18: synced with 2007 English version, by Daniel Flipo +% 2005/11/01: synced with 2005 English version, by Daniel Flipo +% 2005/05/05: re-added section on building binaries (Daniel Flipo) +% 2004/10/28: synced with 2004 English version, by Daniel Flipo +% 2003/08/28: synced with 2003 English version, by Éric Picheral and Jacques André +% 2002/05/25: proof-reading and corrections, by Daniel Flipo +% 2002/05/18: synced with English version, by Fabrice +% +\documentclass{article} +%\let\tldocenglish=1 % *NOT* for French + +\usepackage[latin1]{inputenc} + +\usepackage{caption} +\DeclareCaptionLabelSeparator{endash}{\space\textendash\space} +\captionsetup{labelsep=endash} + +\usepackage[frenchb]{babel} +\usepackage{xspace} +\addto\captionsfrench{\def\figurename{{\scshape Figure}}} +\addto\captionsfrench{\def\tablename{{\scshape Table}}} +\AddThinSpaceBeforeFootnotes +\FrenchFootnotes +\NoAutoSpaceBeforeFDP + +\newcommand{\THANH}{Hàn Th\'{ê} Thanh} + +\usepackage{comment} + +\usepackage{ifpdf} +% tex-live.sty suppose \hyper@linkurl défini... +\ifpdf + \def\Status{1} % (df) Pour faire charger hyperref dans tex-live.sty +\else + \makeatletter + \def\hyper@linkurl#1#2{#2} % undefined if hyperref.sty not loaded + \makeatother +\fi + +\usepackage{tex-live} +%%%% Ajout J.A. à garder +\newcommand{\CDdemo}{\acro{CD} \pkgname{demo}\xspace} +\newcommand{\CDinst}{\acro{CD} \pkgname{inst}\xspace} +\newcommand{\DVDlive}{\acro{DVD} \pkgname{live}\xspace} +\renewcommand{\samp}[1]{\og \texttt{#1}\fg{}} + +%%%% Ajout (df) +% Alias +\let\XemTeX\XEmTeX +% (df) La commande \TeXLive n'est pas utilisée en v.f. +\renewcommand{\TL}{\TeX{} Live\xspace}% Robuste (pas besoin de \protect)... +% tex-live.sty fait précéder les no de page d'une fine... si on veut +% une insécable normale, décommenter la ligne suivante : +\def\p.{p.~} +% Chez Karl, la commande \url{} ne protège pas les caractères actifs (:?), +% d'où ceci (essai provisoire... erreurs avec le car. #) : +%\let\urlORI\url +%\renewcommand*{\url}[1]{\foreignlanguage{english}{\urlORI{#1}}} +%\renewcommand*{\url}[1]{{\shorthandoff{:?!;}\urlORI{#1}}} +% La commande \path de url.sty ajoute des espaces parasites, pas \url, d'où +\let\path\url +% mais ceci impose de remplacer \path|...| par \path{...}, et les \$ inclus +% par des $. + +\setlength{\parindent}{0mm} +\addtolength{\parskip}{.25\baselineskip} + +\begin{document} + +\title{{\huge Guide pratique de \TL{}} \\ \strut + {\LARGE\textsf{\TK{} 2007}} + } + +\author{Karl Berry \\[3mm] + \url{http://tug.org/texlive/}\\[5mm] + \textit{Version française}\\[3mm] + Daniel Flipo (GUTenberg) + } + +\date{Janvier 2007} + +\maketitle +\thispagestyle{empty} % no need for page number + +\newpage +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +Ce document décrit les principales caractéristiques de la +distribution \TL{}, une distribution de \TeX{} et \LaTeX{} +pour Linux et autres Unix, \MacOSX{} et systèmes Windows 32 bits +(attention, cette distribution n'est pas vraiment utilisable avec +les anciens systèmes Mac ou \acro{MS-DOS}). Elle comprend les binaires +pré-compilés de \TeX{}, \LaTeXe{}, \MF, \MP, \BibTeX{} et de nombreux +autres programmes ainsi qu'une bibliothèque étendue de macros, de +fontes et de documentations. Elle traite aussi la composition de textes +qui utilisent plusieurs systèmes d'écritures différentes venant de toute +la surface du globe. +La distribution \TL{} est en fait un sous-ensemble de \TK{} (décrit brièvement +à la section ~\ref{sec:struct-tl}, \p.\pageref{sec:struct-tl}) +produit grâce aux efforts combinés des différents groupes d'utilisateurs +de \TeX. + +L'édition 2007 a été figée en janvier 2007. +Les futures mises à jour des composants de la distribution 2007 +seront disponibles au fur et à mesure de leur parution sur le site +\acro{CTAN}, \url{http://www.ctan.org}. + +On trouvera à la fin du document, section~\ref{sec:history} +(\p.\pageref{sec:history}), un bref historique des principales modifications +apportées au fil du temps à la distribution \TL. + +Les utilisateurs des éditions précédentes de \TL{} sont invités +à lire, \emph{avant toute mise à jour}, la section~\ref{tlcurrent} +\p.\pageref{tlcurrent} qui présente les principaux changements intervenus +cette année. + + +\subsection{Utilisation élémentaire de \TL{}} +\label{sec:basic} + +Vous pouvez utiliser \TL{} de trois façons différentes : +\begin{enumerate} +\item Vous pouvez exécuter \TL{} directement depuis le + \DVDlive{} (toutes plates-formes). + Cela prend très peu d'espace disque et + donne un accès immédiat à tout le contenu de + \TL. C'est une solution parfaitement acceptable même si les + performances obtenues sont moins bonnes que si \TL{} était + lancé depuis un disque local. +\item Vous pouvez installer tout ou partie de \TL{} sur un disque + local. C'est l'utilisation la plus fréquente de \TL{}. + Ceci peut se faire à partir du \DVDlive{} ou de l'un des \CD de la + distribution (voir section~\ref{sec:multiple-dist}, + \p.\pageref{sec:multiple-dist}). + Il faut disposer d'un minimum de 120\,Mo, mais on recommande au moins +%(df) un peu mensonger... schéma GUT = 800 Mo chez moi ! + 400\,Mo pour un système standard ou 800\,Mo pour un système complet. +\item Vous pouvez incorporer un jeu de composants particulier ou une + collection dans un système \TeX{} déjà présent, soit un + système \TL{} installé précédemment, soit un système \TeX{} différent. +\end{enumerate} + +Ces trois utilisations sont décrites en détail dans les sections +concernant l'installation spécifique à chaque système. +Quelques remarques générales : + +\begin{itemize} + +\item Le script d'installation globale pour Unix et pour \MacOSX{} s'appelle +\texttt{install-tl.sh}. +Les utilisateurs de Linux peuvent aussi essayer le nouvel installeur +\texttt{setuptl/tlpmgui} développé au départ pour Windows et adapté à Linux. +Consulter la section \ref{sec:win-install} p.~\pageref{sec:win-install} pour +plus d'informations. + +\item Pour installer une extension ou une collection, on utilise le script + d'installation \texttt{install-pkg.sh}. +Après une installation faite à l'aide de \texttt{tlpmgui}, il est possible +d'utiliser \texttt{tlpmgui} pour ajouter ou supprimer des extensions ou des +collections. + +\item Le programme d'installation pour Windows s'appelle + \cmdname{tlpmgui.exe}, il sert aussi à ajouter ou supprimer des composants + dans une installation existante (voir section~\ref{sec:win-install}). + +\end{itemize} + +\subsection{Obtenir de l'aide} +\label{sec:help} + +La communauté \TeX{} est à la fois active et conviviale ; pratiquement +toute question sérieuse finit par obtenir une réponse. Le support est +pourtant informel, assuré par des volontaires et des lecteurs +occasionnels, aussi est-il particulièrement important que vous fassiez +votre propre travail de recherche avant de poser la question (si vous +préférez un support commercial, vous pouvez renoncer à \TL{} et +acheter un système payant ; voir une liste à +\url{http://tug.org/interest.html#vendors}). + +Voici une liste de ressources, classées selon l'ordre dans lequel nous +recommandons de les utiliser : + +\begin{description} +\item [Getting Started] Pour ceux qui débutent en \TeX, la page web +\url{http://tug.org/begin.html} contient une courte description +du système. + +\item [\acro{FAQ} \TeX{}] La \acro{FAQ} \TeX{} est un vaste recueil + de réponses à toutes sortes de questions, de la plus élémentaire à la + plus complexe. Elle est enregistrée sur le \DVDlive{} dans + \OnCD{texmf-doc/doc/english/FAQ-en} + et elle est disponible sur Internet à + l'adresse \url{http://www.tex.ac.uk/faq}. + Merci de consulter cette FAQ avant toute question. + +\item [Catalogue \TeX{}] Si vous recherchez une extension, une fonte, + un programme, ... particuliers, il faut examiner le catalogue + \TeX{}. C'est une importante liste de tous les éléments relatifs à + \TeX{}. Voir \OnCD{texmf-doc/doc/english/catalogue} sur le \DVDlive{}, + ou \url{http://www.ctan.org/tex-archive/help/Catalogue}. + +\item [Ressources \TeX{} sur le Web ] La page web + \url{http://tug.org/interest.html} propose + beaucoup de liens relatifs à \TeX{}, en particulier concernant des + livres, manuels et articles portant sur tous les aspects du système. + +\item [Archives des forums d'aide] Les principaux forums dédiés + au support de \TeX{} sont les groupes de news Usenet + \url{news:comp.text.tex} (en anglais) et \url{news:fr.comp.text.tex} + (en français) ainsi que les listes de diffusion + \email{texhax@tug.org} (en anglais) et \email{gut@ens.fr} (en français). + Les archives correspondantes contiennent des + milliers de questions et réponses déjà traitées et permettent + une recherche fructueuse. Voir + \url{http://groups.google.com/groups?group=comp.text.tex} + et \url{http://tug.org/mail-archives/texhax}, respectivement. Une + question posée sur un moteur de recherche, tel que + \url{http://google.com}, peut aussi fournir des réponses pertinentes. + +\item [Poster une question] Si vous n'obtenez pas de réponse, vous + pouvez poster la question à \dirname{comp.text.tex} via Google ou + votre lecteur de news, ou encore par messagerie à + \email{texhax@tug.org}. Mais avant de le faire, merci de lire + l'introduction de la \acro{FAQ} donnant les conseils sur la façon de + rédiger la question pour avoir des chances d'obtenir une réponse : + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [Support de \TL{}] Si vous voulez faire un rapport + d'anomalie, émettre des suggestions ou des commentaires sur la + distribution \TL{}, l'installation ou la documentation, utilisez + la liste de diffusion \email{tex-live@tug.org}. Mais attention, si + la question concerne l'utilisation d'un programme particulier inclus + dans \TL{}, il vaut mieux que vous écriviez directement à la + personne ou à la liste de diffusion qui maintient le programme. + +\end{description} + +L'autre aspect du sujet concerne l'aide à apporter aux personnes +soumettant des questions. Les forums \dirname{comp.text.tex}, +\dirname{fr.comp.text.tex} ainsi que les listes de diffusion \code{texhax} +et \code{gut} +sont ouverts à tous, aussi n'hésitez pas à vous y joindre, à commencer +la lecture et à fournir de l'aide là où cela vous est possible. +Bienvenue dans le monde \TeX{} ! + +% No \protect needed as \TL is defined in French with \newcommand (robust). +\section{Structure de \TL} +\label{sec:struct-tl} + +Nous décrivons ici la structure et le contenu de \TL{} et +de \TK{} qui est un sur-ensemble de \TL. + +\subsection {Distributions multiples : \protect\pkgname{live}, + \protect\pkgname{inst}, \protect\pkgname{protext}} +\label{sec:multiple-dist} + +Des limitations d'espace liées au format des \acro{CD-ROM} nous ont contraint +à diviser \TK{} en plusieurs distributions : + +\begin{description} + +\item [live] Un système exécutable complet sur \acro{DVD} ; il est + trop volumineux pour tenir sur \acro{CD-ROM}. Le \DVD{} contient + aussi une image du système \CTAN{}, totalement indépendant de + \TL{}, la distribution Mac\TeX{} pour \MacOSX, la distribution \ProTeXt{} + pour Windows, ainsi que d'autres extensions + réunies dans un répertoire \texttt{texmf-extra}. + + Les droits d'utilisation des fichiers présents dans \CTAN, \ProTeXt, + Mac\TeX{} et \texttt{texmf-extra} diffèrent de ceux de \TL{}, pensez à lire + les licences si vous envisagez de modifier ou de redistribuer certains de + ces fichiers. + +\item [inst\textrm{(allable)}] Un système complet sur \CD{} pour les Unix + (dont Linux et \MacOSX{}) ; pour le faire + tenir sur le \CD, il a fallu compresser tout ce que nous avons + pu. Du coup, il n'est pas possible d'exécuter directement \TeX\ + depuis le \CD\ d'installation, il vous faut l'installer sur disque + (d'où le nom). L'installation est décrite dans les sections + concernées (\ref{sec:unix-install-disk} et \ref{sec:osx-unix-inst} + pour \MacOSX). + +\item [protext] Une extension du système \MIKTEX\ sur \CD{} pour + Windows. Cette distribution est totalement indépendante du \TL{}, + elle nécessite un mode d'installation spécifique. + Elle peut être installée sur disque ou exécutée directement + depuis le \CD. Le site de \ProTeXt\ se trouve ici : + \url{http://tug.org/protext}. + + \pkgname{protext} est fourni à la fois sur le \DVDlive{} et + sur un \CD{} spécifique pour ceux qui n'ont pas de lecteur de \DVD. + +\end{description} + +\noindent On peut déterminer la nature de la distribution +utilisée en recherchant le fichier \texttt{00\var{type}.TL} dans le +répertoire racine du médium utilisé (\CD{} ou \DVD{}). +Ce fichier contient aussi la date de dernière mise à jour du \TL. + +%(df) Que fait GUT ? +%Naturally, each user group chooses what to distribute, at its own +%discretion. + +\subsection{Répertoires situés à la racine} +\label{sec:tld} + +Les répertoires les plus importants situés à la racine +% (df) bin et source ne sont pas sur \CDinst +du \DVDlive{} +sont énumérés ci-dessous. Cette année, la distribution \TL{} +est dans un sous-répertoire \dirname{texlive2007} et non à la racine. +%%% (df) confus : on parle du CD ou du DVD +\smallskip +\begingroup + \renewcommand{\arraystretch}{1.3} % open up interrow spacing +\begin{tabular}{>{\ttfamily}lp{.78\hsize}} +% (df) bin pas présent sur \CDinst : les .zip des binaires sont dans 'archive' +bin & Programmes de la famille \TeX{}, rangés dans des + sous-répertoires selon les plates-formes. \\ +% pas sur \CDinst +source & Le code source de tous les programmes, incluant la + distribution \Webc{} de \TeX{} et \MF{}. Il s'agit d'une archive au + format \texttt{tar}, compressée par bzip2. + % Ajout (df) + Faute de place, le répertoire \texttt{source} + n'est pas sur le \CDinst{} (seulement sur le \DVDlive{}).\\ +setuptl & Programmes d'installation pour Windows et Linux. \\ +support & Ensemble d'extensions et programmes auxiliaires. Ils ne + sont \emph{pas} installés par défaut. +% Faux (df) +% On y trouve \cmdname{Ghostscript}, \cmdname{netpbm} et un ensemble +% d'éditeurs orientés \TeX{}. +\\ +texmf & Répertoire contenant les programmes et leur documentation. + Ne contient ni les formats ni les extensions + (appelé \envname{TEXMFMAIN} dans la section suivante.) \\ +texmf-dist & Répertoire principal où se trouvent les extensions, + les fontes, etc., avec leur documentation + (appelé \envname{TEXMFDIST} dans la section suivante.) \\ +texmf-doc & Répertoire contenant le reste de la documentation, + le sous-répertoire doc est organisé par langue. \\ +texmf-var & Répertoire contenant les fichiers générés automatiquement + (appelé \envname{TEXMFSYSVAR} dans la section suivante.) \\ +\end{tabular} +\endgroup + +\smallskip + +Le répertoire \dirname{texmf-doc} ne contient que de la documentation +mais pas toute la documentation. Celle concernant les programmes (manuels, +pages \textit{man} et fichiers de type \textit{info} est dans +\dirname{texmf/doc} car les programmes correspondants sont dans +\dirname{texmf}. De même, la documentation des extensions et formats +est dans \dirname{texmf-dist/doc}. Les commandes \cmdname{texdoc} ou +\cmdname{texdoctk} trouveront pour vous les documentations où quelles soient +sur le disque. % Bof... pas vrai chez moi (df) ? +Le fichier \OnCD{doc.html} du \DVDlive{} contient une liste de liens bien +utiles pour localiser les fichiers de documentation. + +On trouve également, au même niveau que les répertoires mentionnés ci-dessus, +les scripts d'installation et les fichiers \filename{README} (dans +différentes langues). + +\subsection{Description des arborescences texmf utilisées} +\label{sec:texmftrees} + +Nous donnons ici la liste complète des variables prédéfinies qui contiennent +les noms des différentes arborescences de type texmf et l'usage qui en est +fait. La commande \cmdname{texconfig conf} retourne les valeurs de ces +variables, ce qui permet de savoir où se trouvent ces différentes +arborescences dans une installation donnée. + +\begin{ttdescription} +\item [TEXMFMAIN] contient les éléments essentiels du système, comme les + scripts (\cmdname{web2c/mktexdir}, etc.), les fichiers \file{.pool}, + etc. +\item [TEXMFDIST] contient les fichiers de macro (Plain, \LaTeX, \ConTeXt, + etc.,), les fontes, etc., de la distribution \TL. Rien ne devrait être + ni ajouté ni supprimé dans cette arborescence. +\item [TEXMFLOCAL] c'est là que l'administrateur de la machine + place les classes et extensions locales, les fontes non disponibles + dans \TL, etc. +\item [TEXMFHOME] contient les fichiers personnels (extensions, classes, + fontes) de l'utilisateur ; ce répertoire est sous \verb+$HOME+ % $ + par défaut. La variable \envname{TEXINPUTS} ne devrait plus être utilisée. +\item [TEXMFCONFIG] c'est là que les scripts \cmdname{updmap} et + \cmdname{fmtutil} recherchent leurs fichiers de configuration en priorité. + \cmdname{texconfig} y place les versions modifiées des fichiers de + configuration. Sous \verb+$HOME+ par défaut. %$ +\item [TEXMFSYSCONFIG] c'est là que les scripts \cmdname{updmap-sys} et + \cmdname{fmtutil-sys} recherchent leurs fichiers de configuration en + priorité. \cmdname{texconfig-sys} y place les versions modifiées des + fichiers de configuration. +\item [TEXMFVAR] c'est là que les scripts \cmdname{texconfig}, + \cmdname{updmap} et \cmdname{fmtutil} rangent les formats et les fichiers + \file{.map} qu'ils produisent. Sous \verb+$HOME+ par défaut. %$ +\item [TEXMFSYSVAR] c'est là que les scripts \cmdname{texconfig-sys}, + \cmdname{updmap-sys} et \cmdname{fmtutil-sys} rangent les formats et les + fichiers \file{.map} qu'ils produisent. +\end{ttdescription} + +Les possibilités offertes par \cmdname{texconfig} sont décrites à la + section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + + +\subsection{Les extensions de \TeX} +\label{sec:tex-extensions} + +\TL{} contient plusieurs extensions de \TeX{}. + +\begin{description} + +\item [\eTeX{}] \label{text:etex} ajoute un jeu, petit mais puissant, + de nouvelles + primitives et les extensions \TeXXeT{} pour l'écriture de droite + à gauche ; \eTeX{} est, en mode normal, 100\% compatible avec + \TeX{} standard. Pour plus de détails consulter le + fichier \OnCD{texmf-dist/doc/etex/base/etex_man.pdf} du \DVDlive{}. + +\item [pdf\TeX{}] inclut les extensions \eTeX{} et produit, au choix, + des fichiers au format Acrobat \acro{PDF} ou au format \dvi{}. + Le manuel d'utilisation se trouve sur le \DVDlive{} + dans \OnCD{texmf/doc/pdftex/manual/}. Le fichier + \OnCD{texmf/doc/pdftex/pdftex/manual/samplepdf/samplepdf.tex}\relax{} + donne un exemple d'utilisation. pdf\TeX{} est le moteur de base + sur lequel sont construits tous les formats autres que plain\TeX. + +\item [Xe\TeX] ajoute la possibilité d'utiliser le codage Unicode en entrée + et les fontes OpenType en sortie, ceci grâce à des bibliothèques + externes : voir \url{http://scripts.sil.org/xetex}. + +\item [\OMEGA{} (Omega)] fonctionne en utilisant Unicode et des + caractères 16 bits, ce qui lui permet de travailler directement et + simultanément avec presque toutes les écritures du monde entier. + L'extension supporte aussi le chargement dynamique d'\acro{OTP} + (\OMEGA{} \emph{Translation Processes}) qui permet à l'utilisateur + d'appliquer sur des flux d'entrée quelconques des transformations + complexes qu'il aura lui-même définies. Voir la documentation + (pas vraiment à jour) dans \OnCD{texmf-dist/doc/omega/base/doc-1.8.tex}. + +\item [Aleph] combine les fonctionnalités de \OMEGA\ et de \eTeX. + \OnCD{texmf-dist/doc/aleph/base} contient une documentation de base. + +\end{description} + +\subsection{Quelques autres programmes intéressants + dans \TL} + +Voici quelques autres programmes couramment utilisés et présents dans +\TL{} : + +\begin{cmddescription} + +\item [bibtex] Traitement de la bibliographie. + +\item [makeindex] Traitement des index. + +\item [dvips] Conversion \dvi{} vers \PS{}. + +\item [xdvi] Visualisation \dvi{} pour le système X Window. + +\item [dvilj] Pilote \dvi{} pour les imprimantes HP LaserJet. + +\item [dv2dt, dt2dv] Conversion \dvi{} vers ou depuis du texte simple. + +\item [dviconcat, dviselect] Couper/Coller de pages à partir de fichiers + \dvi{}. + +\item [dvipdfmx] Conversion \dvi{} vers \acro{PDF}, une autre approche que + celle de pdf\TeX\ (mentionné ci-dessus). Voir les extensions + \pkgname{ps4pdf} et \pkgname{pdftricks} pour d'autres alternatives. + +\item [psselect, psnup, \ldots] Utilitaires \PS{}. + +\item [lacheck] Vérification de syntaxe \LaTeX{}. + +\item [texexec] Processeur Con\TeX{}t et \acro{PDF}. + +\item [tex4ht] Conversion \TeX{} vers \acro{HTML}. + +\end{cmddescription} + + +\section{Utilisation sous Unix} +\label{sec:unix-install} + +Comme on l'a vu en section~\ref{sec:basic} \p.\pageref{sec:basic}, +le \TL{} peut être utilisé de trois façons principales : + +\begin{enumerate} +\item Exécution directe depuis le \DVDlive. +\item Installation sur le disque dur. +\item Intégration d'un jeu de composants ou collections dans un système +\TeX{} déjà installé. +\end{enumerate} + +\noindent +Les procédures spécifiques à Unix sont décrites pour chacun de ces cas +dans les sections qui suivent. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} + \textbf{ATTENTION : } Les \CD{} et le \DVD{} sont au format ISO~9660 + (High Sierra), avec les extensions \og Rock Ridge\fg{} (et \og Joliet\fg{} + pour Windows). Votre système doit pouvoir reconnaître les + extensions \og Rock Ridge\fg{} pour une utilisation optimale de + \TL{}. Consultez votre documentation concernant la commande + \cmdname{mount} pour voir si c'est le cas. Si votre réseau local est + constitué de machines différentes, regardez + si vous pouvez monter les \CD{} sur une machine qui supporte + Rock Ridge et utiliser ce point de montage pour les autres machines. + +\leavevmode\quad +L'utilisation des \CD{} sur les systèmes modernes +ne devrait pas poser de problèmes. S'il y en avait, n'hésitez pas à +nous le faire savoir. +La suite de ce document suppose que vous avez installé et monté les + \CD{} avec une compatibilité Rock Ridge parfaite. +\end{warningbox} + +\ifSingleColumn\end{figure}\fi + +N.B. : les droits de \og root \fg{} sont souvent requis pour monter le \CD{}. +D'autre part, selon le type d'Unix utilisé, il vous faudra probablement +connaître le mot de passe de \og root \fg{} ou tout au moins utiliser la +commande \cmdname{sudo} pour effectuer l'installation (le droit +d'écriture sur le(s) répertoire(s) d'installation est évidemment +indispensable). Cette remarque concerne particulièrement les utilisateurs de +\MacOSX{} à qui nous recommandons de prendre d'abord connaissance de la +section~\ref{sec:mac-install} avant toute installation. + + +\subsection{Utiliser \TL{} à partir du \DVDlive} + +La liste des architectures sur lesquelles fonctionne \TL{} est donnée +page~\pageref{tab:archlist} (table~\ref{tab:archlist}). + +\def\runlive{% text repeated in windows section +On peut utiliser le système \TeX{} directement depuis \DVDlive, +sans l'installer sur le disque dur (d'où en fait le nom \TL). +Il \emph{n'est pas possible} de faire tourner \TeX{} directement +depuis le \CDinst{} (voir section~\ref{sec:multiple-dist}, +page~\pageref{sec:multiple-dist}). +}% fin \runlive + +\def\startinst{% repeated in other subsections +Pour démarrer, il faut d'abord \og monter \fg{} le médium avec les +extensions Rock Ridge. +La commande exacte varie d'un système à l'autre ; la commande suivante +fonctionne sous Linux, mais les noms du périphérique (ici +\filename{/dev/cdrom}) et du point de montage (ici \dirname{/mnt/cdrom}) +peuvent changer. +\\ N.B. Tous nos exemples utilisent \texttt{>} pour les lignes de +commandes \textit{(shell prompt)} ; les commandes de l'utilisateur sont +\underline{soulignées}. +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Se placer au point de montage du lecteur : +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} +}% fin startinst + +\def\installtlsh{% repeated in other subsections +Lancer le script \filename{install-tl.sh} : +\begin{alltt} +> \Ucom{sh install-tl.sh}\\ +Welcome to TeX Live... +\end{alltt} + +\noindent Après l'affichage de divers messages de bienvenue et une liste des +options du menu principal, l'installation réclame l'entrée d'une commande. +Taper alors le caractère voulu suivi d'un retour-chariot. Ne pas taper les +chevrons (ni \texttt{<} ni \texttt{>}) ; on peut utiliser des majuscules ou +des minuscules ; ici, les exemples utilisent des minuscules. +}% fin \installtlsh + +\runlive +\startinst +\installtlsh + +Pour exécuter \pkgname{live}, la première commande est \Ucom{d} +suivie de la sous-commande \Ucom{1} pour choisir le répertoire du disque +local où seront placés les fichiers (tels que les fontes et les formats) que +le système \TeX{} génère lui-même ainsi que les fichiers de configuration si +besoin est. On utilisera \dirname{/opt/texlive2007} dans cet exemple, +mais un utilisateur non privilégié peut très bien choisir un +sous-répertoire non-existant de son répertoire personnel (il sera créé +et ne contiendra donc que du matériel \TL{}). +Étant donné que les fichiers créés ne sont pas toujours compatibles d'une +année sur l'autre, il est recommandé d'inclure l'année dans le nom du +répertoire. +Si la valeur par défaut \dirname{/usr/local/texlive/2007} vous convient +(c.-à-d. que \dirname{/usr/local/texlive/2007} n'est pas un répertoire +existant et que vous avez les droits pour écrire sous \dirname{/usr/local}), +vous pouvez sauter cette étape. +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/local/texlive/2007 +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/local/texlive/2007]: \Ucom{/opt/texlive2007} +... +Enter command: \Ucom{r} +\end{alltt} + +Retour au menu principal. La seconde (et dernière) commande est +\Ucom{r} +pour faire tourner \pkgname{live} à partir du \DVD{} sans pour autant +l'installer sur le disque dur : + +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to the TeX Live! +> +\end{alltt} + +On se retrouve au niveau de la ligne de commande +comme on vient de le voir. + +Il faut maintenant modifier les deux variables +d'environnement \envname{PATH} et \envname{TEXMFSYSVAR} comme indiqué +à l'écran quelques lignes au dessus de \og Welcome to TeX Live!\fg. +La syntaxe dépend du \textit{shell} utilisé. Les syntaxes +précises sont affichées pour les \textit{shell} de type Bourne ou compatible +(\cmdname{bash}, \cmdname{sh} \cmdname{ksh}, etc.) et pour les +\textit{C~shells} (\cmdname{csh}, \cmdname{tcsh}). +Rappelons qu'il suffit de taper la commande \verb+echo $SHELL+ %$ +pour connaître le nom du \textit{shell} utilisé. +Le plus simple est de recopier par copier-coller, soit les deux lignes +commençant par \og\cmdname{setenv}\fg{} pour les \textit{C~shells}, +soit les trois lignes \og\envname{PATH=}\fg, \og\envname{TEXMFSYSVAR=}\fg, +\og\envname{export ...}\fg{} pour les \textit{shell} de type Bourne +(suivies d'un retour-chariot) dans le terminal de commandes. + +Ceci suffit pour pouvoir utiliser la distribution \TL{} +pendant toute la session. +Pour ne pas avoir à redéfinir \envname{PATH} et \envname{TEXMFSYSVAR} +à chaque nouvelle connexion, il suffit d'entrer les mêmes commandes +à l'aide d'un éditeur dans le fichier d'initialisation du \textit{shell} +(\file{.bash\_profile}, \file{.profile} ou \file{.cshrc} +selon le cas). +L'initialisation se fera ensuite automatiquement au début de chaque nouvelle +session. + +\def\textruntexconfig{% + Une fois l'installation terminée et les variables d'environnement + initialisées, la dernière étape consiste à exécuter \cmdname{texconfig} ou + \cmdname{texconfig-sys} pour éventuellement modifier certains paramètres. + Ceci est expliqué à la section~\ref{sec:texconfig}, + \p.\pageref{sec:texconfig}.% +} +\textruntexconfig + +\def\textifindoubt{% +Passez maintenant à la section~\ref{sec:test-install} pour effectuer +quelques tests de bon fonctionnement. + +En cas de doute, n'hésitez pas à contacter un gourou système pour +vous aider à résoudre vos problèmes, tels que la façon de monter le + médium \TL{}, le choix des répertoires à utiliser ou les modifications +à apporter dans vos fichiers d'initialisation. +}%fin textifindoubt +\textifindoubt + +\subsection{Installer \TL{} sur le disque} +\label{sec:unix-install-disk} + +Il est possible, et même habituel, d'installer le système \TeX{} à +partir du \TL{} sur le disque (\og dur\fg{}). +Ceci peut se faire en utilisant soit le \DVDlive, soit le \CDinst +(voir section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist} +pour des explications sur les différentes distributions). + +\startinst +\installtlsh + +La table~\ref{tab:main-menu-options} donne la liste des options du menu +principal. On peut choisir les options dans n'importe quel ordre, mais +\Ucom{i} doit être la dernière choisie. Il est cependant raisonnable de +procéder dans l'ordre où elles apparaissent ici ! + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Options d'installation du menu principal} +\label{tab:main-menu-options} +\begin{tabular}{>{\ttfamily}ll} +p & plate-forme que vous utilisez\\ +b & choix des binaires à installer (architectures multiples)\\ +s & \emph{schéma d'installation} de base + (complet, recommandé, GUTenberg, etc.).\\ +c & modifier le choix des collections individuelles\\ +l & modifier le choix des langues à installer\\ +d & répertoire où faire l'installation\\ +o & autres options\\ +i & lancer l'installation\\ +\end{tabular} +\end{table} + +Voici quelques précisions sur chaque option. + +\begin{description} + +\item[\optname{p} -- Platform (current).] Plate-forme utilisée.\\ +Le script d'installation détecte automatiquement la plate-forme +sur laquelle il tourne, il est en général inutile de modifier cette option, +sauf en cas d'erreur. + +\item[\optname{b} -- Binary architectures.] Binaires pour d'autres +architectures.\\ +Par défaut, seuls les binaires pour votre plate-forme seront installés. À +l'aide de ce menu-ci, il est possible de choisir d'installer aussi les +binaires pour d'autres plates-formes (ou de ne pas installer pour la +plate-forme courante). C'est utile si on partage un arbre \TeX\ +au travers d'un réseau de machines hétérogènes. +La table~\ref{tab:archlist} ci-dessous donne la liste des architectures +pour lesquelles des binaires sont disponibles. + +\begin{table*}[!ht] +%\captionsetup{margin=5mm,justification=centerfirst} +\caption{Les binaires sont disponibles pour les architectures suivantes.} +\label{tab:archlist} +%(df) vérifier la liste finale +\begin{tabular}{>{\hspace*{15mm}\ttfamily}lll} +alpha-linux & HP Alpha GNU/Linux \\ +%alphaev5-osf4.0d & HP Alphaev5 OSF \\ +%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 \\ +i386-darwin & Intel x86 \MacOSX \\ +i386-freebsd & Intel x86 FreeBSD \\ +i386-linux & Intel x86 GNU/Linux \\ +%i386-openbsd3.3 & Intel x86 OpenBSD \\ +%i386-solaris2.8 & Intel x86 Solaris \\ +mips-irix & SGI IRIX \\ +powerpc-aix & IBM RS/6000 AIX \\ +powerpc-darwin & PowerPC \MacOSX \\ +sparc-linux & Sun Sparc GNU/Linux \\ +sparc-solaris & Sun Sparc Solaris \\ +win32 & Windows (32-bit) \\ +x86\_64-linux & Intel x86 64-bit GNU/Linux \\ +% \\ \hline +\end{tabular} +\end{table*} + +\item[\optname{s} -- Base Installation scheme.] +Schéma d'installation de base.\\ +Ce menu permet de choisir un type d'installation plus ou moins complet. +L'option par défaut (\optname{full}) installe tout, c'est un bon choix si +l'espace disque n'est pas limité. Les francophones préféreront peut-être +le schéma \acro{GUT}enberg, mais on peut choisir un ensemble minimal +(\optname{basic}) pour économiser de la place sur le disque. On trouve +aussi des ensembles spécifiques pour Omega ou pour les utilisateurs +d'\acro{XML}. + +\item[\optname{c} -- Individual collections.] Collections individuelles.\\ +Ce menu permet d'ajouter ou de supprimer des collections +parmi celles retenues par le schéma choisi ci-dessus. +Chaque collection\Dash fichiers de macros TeX, familles de fontes Metafont, +etc.\Dash{} est formée de plusieurs composants. +Attention, le programme différencie les lettres minuscules +des lettres capitales pour les touches de sélection. + +\item[\optname{l} -- Language collections.] Collections de langues.\\ +Ce menu fonctionne comme celui de \Ucom{c} pour modifier +le choix des langues à installer. +Attention, le programme différencie les lettres minuscules +des lettres capitales pour les touches de sélection. + +Voici la liste des collections de langues du \TL{} +(on garde ici les noms anglais des options qui sont ceux du système !) : + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +\begin{tabbing} +\hspace{.25\linewidth} \= +\hspace{.20\linewidth} \= +\hspace{.20\linewidth} \= +\hspace{.35\linewidth} \kill +African \textit{(qq scripts)} \> +Arabic \> +Armenian \> +Chinese\,Japanese\,Korean \\ +Croatian \> +Cyrillic \> +Czech/Slovak \> +Danish \\ +Dutch \> +Finnish \> +French \> +German \\ +Greek \> +Hebrew \> +Hungarian \> +Indic \\ +Italian \> +Latin \> +Manju \> +Mongolian \\ +Norwegian \> +Polish \> +Portuguese \> +Spanish \\ +Swedish \> +Tibetan \> +\acro{UK} English \> +Vietnamese \\ +\end{tabbing} + +\noindent Les collections de langues comprennent normalement des fontes, +macros, motifs de césure et autres fichiers. Par exemple, +\pkgname{frenchle.sty} est installé lorsqu'on sélectionne la collection +\optname{French}. Par ailleurs, l'installation d'une langue de la collection +modifie le fichier de configuration \filename{language.dat} qui contrôle +quelles divisions (ou coupures de mots) sont chargées. + +\item[\optname{d} -- Installation directories] Choix des +répertoires d'installation.\\ \label{text:instdir} +Ceci concerne les trois répertoires suivants : + +\begin{ttdescription} +\item [TEXDIR] +Répertoire de plus haut niveau sous lequel tout le reste sera installé, +la valeur par défaut est \dirname{/usr/local/texlive/2007}. +Il est conseillé de faire figurer l'année dans le nom choisi, de façon à +pouvoir conserver séparément plusieurs versions de \TL. +L'ajout d'un lien symbolique +\dirname{/usr/local/texlive/current} qui pointe vers la version à utiliser +facilitera grandement le basculement d'une version +à l'autre et le retour à l'ancienne version en cas de problème. + +Sous \MacOSX, les interfaces utilisateurs recherchent \TeX{} +dans \dirname{/usr/local/teTeX} ; plutôt que d'installer la distribution \TL{} +dans ce répertoire, on pourra faire l'installation par défaut +(dans \dirname{/usr/local/texlive/2007} donc) et ajouter deux liens +symboliques : \dirname{current} qui pointe vers \dirname{2007} et +\dirname{teTeX} qui pointe vers \dirname{current}. Pour cela il suffit de +taper les deux commandes suivantes dans un terminal : +\begin{alltt} +> \Ucom{(cd /usr/local/texlive ; ln -s ./2007 ./current)} +> \Ucom{(cd /usr/local ; ln -s ./texlive/current teTeX)} +\end{alltt} + +\item [TEXMFLOCAL] +C'est dans cette arborescence que doivent être placés les fichiers +non fournis par \TL{}. +La valeur par défaut est \dirname{/usr/local/texlive/texmf-local}. +C'est l'endroit recommandé pour y mettre les classes et les fichiers de style +locaux, les fontes (par exemple commerciales) non disponibles +sur \TL{} ainsi que les paramètres de configuration locaux. + +\item [TEXMFSYSVAR] +C'est dans cette arborescence que les scripts \cmdname{texconfig-sys}, +\cmdname{fmtutil-sys}, \cmdname{updmap-sys} installent les fichiers qui +sont spécifiques à la version, notamment les fichiers de format. +La valeur par défaut est \dirname{TEXDIR/texmf-var}, il n'y a en +général aucune raison de la changer. +Les fichiers configuration modifiables par \cmdname{texconfig-sys} (voir +section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}), comme +\filename{fmtutil.cnf} et \filename{updmap.cfg}, sont eux dans +\envname{TEXMFSYSCONFIG}. +\end{ttdescription} + +\item[\optname{o} -- Other Options.] +Ce menu permet de choisir les options suivantes : + +\begin{ttdescription} +\item [a] Pour spécifier un autre répertoire pour les fontes générées. +La valeur par défaut utilise l'arborescence \envname{TEXMFVAR}, comme on +l'a dit plus haut. +Si vous voulez que l'arborescence principale soit accessible en lecture +uniquement, cette option permet de choisir une autre localisation +(qui doit bien sûr être accessible en lecture-écriture pour tous) +pour ranger les fontes créées dynamiquement. + +\item [l] Pour créer des liens symboliques pour les binaires, +la documentation \textit{(man pages)} ou les fichiers Info \acro{GNU}. +Par exemple, on peut désirer rendre la documentation de type \textit{man} +accessible depuis \dirname{/usr/local/man} et les fichiers Info +depuis \dirname{/usr/local/info} (il faut alors bien sûr avoir les droits +d'écriture dans les répertoires spécifiés). + +En revanche, il est déconseillé d'utiliser cette option pour les binaires. +Rendre les binaires \TL{} accessibles depuis \dirname{/usr/local/bin} +risque de masquer définitivement, y compris pour \textit{root}, les +binaires \TeX\ fournis en standard sur la plate-forme. +Sous Linux par exemple, \textit{root} doit utiliser par défaut les binaires +\teTeX{} fournis avec la distribution installée (Debian, Mandrake, RedHat, +etc.) et non ceux fournis par \TL. + +\item [d] Pour ne pas installer l'arborescence de la documentation +sur les fontes et les macros. Utile pour économiser de l'espace +disque ou bien si la documentation a été installée auparavant à un +autre emplacement. + +\item [s] Pour ne pas installer l'arborescence des fichiers source. +Ceci peut être utile si cette arborescence est commune à +différentes machines ou architectures, (partage par \acro{NFS} ou +\cmdname{automount} par exemple). + +\end{ttdescription} + +\item[\optname{i} -- Perform Installation.] Installer.\\ +Quand les options de configuration sont satisfaisantes, on peut taper +\Ucom{i} pour lancer effectivement l'installation. + +\end{description} + +Lorsque l'installation est terminée, l'étape suivante consiste à inclure dans +la variable \envname{PATH} des usagers (autres que \textit{root} +cf. ci-dessus) le sous-répertoire de \dirname{TEXDIR/bin} spécifique à +l'architecture de façon que les programmes nouvellement installés puissent +être trouvés. Le tableau~\ref{tab:archlist} (page~\pageref{tab:archlist}) +donne la liste des noms des architectures ; on peut aussi lister le contenu de +\dirname{TEXDIR/bin} pour déterminer le nom du sous-répertoire de +\dirname{TEXDIR/bin} à inclure en tête de \envname{PATH}. + +\label{text:path} +La syntaxe de cette commande et le fichier d'initialisation à utiliser +dépendent du système utilisé. Pour un \textit{shell} Bourne ou +compatible (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, etc.), il +faut mettre dans le fichier \filename{$HOME/.profile}% %$ +\footnote{Pour les utilisateurs qui possèdent un fichier + \filename{$HOME/.bash_profile}, c'est dans ce dernier qu'il faut redéfinir + la variable \envname{PATH}, car pour eux, \filename{$HOME/.profile} est + sans effet.} +des futurs utilisateurs de \TL{} : +\begin{alltt} +PATH=/\Ucom{\emph{TEXDIR}}/bin/\Ucom{\emph{archname}}:$PATH; export PATH +\end{alltt} + +\noindent +et pour un \textit{C~shell} (\cmdname{csh}, \cmdname{tcsh}), +mettre dans le fichier \filename{$HOME/.cshrc} : +\begin{alltt} +setenv PATH /\Ucom{\emph{TEXDIR}}/bin/\Ucom{\emph{archname}}:$PATH +\end{alltt} %$ + +Sous \MacOSX{} ceci se peut se faire de la manière suivante, qui évite d'avoir +à ouvrir un éditeur sur un fichier caché : +on redevient utilisateur de base, on se place dans son répertoire personnel, +en tapant dans le Terminal +\begin{alltt} +> \Ucom{exit ; cd} +\end{alltt} +On vérifie quel est le \textit{shell} utilisé en tapant +\begin{alltt} +> \Ucom{echo $SHELL} +\end{alltt} %$ +Si la réponse est \filename{bash} (ou \filename{sh}) le fichier à modifier est +\file{.profile}, si c'est \filename{tcsh} (ou \filename{csh}) +le fichier à modifier est \file{.cshrc}.\\ +Cas de \filename{bash} : on tape dans le terminal\footnotemark{} +\addtocounter{footnote}{-1} +\begin{alltt} +> \Ucom{touch .profile} +> \Ucom{echo "export PATH=/usr/local/texlive/2007/bin/powerpc-darwin:$PATH" >> .profile} +> \Ucom{source .profile} +\end{alltt} %$ +Cas de \filename{tcsh} : on tape dans le terminal% +\footnote{Cet exemple suppose qu'on a fait l'installation dans +\dirname{/usr/local/texlive/2007} et que processeur est un Motorola, sinon il +faut adapter \envname{PATH} en conséquence (changer \dirname{powerpc-darwin} +en \dirname{i386-darwin} pour les Mac à base de processeur Intel).} +\begin{alltt} +> \Ucom{touch .cshrc} +> \Ucom{echo "setenv PATH /usr/local/texlive/2007/bin/powerpc-darwin:$PATH" >> .cshrc} +> \Ucom{source .cshrc} +\end{alltt} %$ +La mise à jour de la variable \envname{PATH} est terminée. + +\medskip +Voici un court exemple qui sélectionne une installation complète avec +les binaires du système actuel seulement (on accepte tous les choix par +défaut). Les \acro{RETURN} sont omis ici. + +% Respecter les espaces pour aligner les # !!! +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{i} # lancer l'installation +# Redevenir utilisateur de base (non root) +> \Ucom{exit ; cd} +# Nouveau PATH (sous Linux, SHELL=bash, compte avec fichier \file{.bash_profile}) : +> \Ucom{echo "export PATH=/usr/local/texlive/2007/bin/i386-linux:$PATH" >> .bash_profile} +> \Ucom{source .bash_profile} # faire prendre en compte le nouveau PATH +\end{alltt} %$ + +Si votre système Unix connaît la commande \cmdname{manpath} (essayez en tapant +\code{man manpath} dans un terminal), vous pourrez accéder à la documentation +de \TL{} grâce à la commande \cmdname{man} en ajoutant la ligne suivante +(en adaptant les chemins éventuellement) dans +le fichier \filename{/etc/manpath.config} (ceci nécessite les droits de +\textit{root}) : +\begin{alltt} +MANPATH_MAP /usr/local/texlive/2007/bin/i386-linux /usr/local/texlive/2007/texmf/doc/man +\end{alltt} + + +\textruntexconfig + +\medskip %J.A. + +\textifindoubt + + +\subsubsection{Installation non interactive } +\label{sec:noninteractive-install} + +Lorsqu'on doit dupliquer la même installation sur plusieurs machines, il +peut être fastidieux de devoir répondre à chaque fois à la même liste de +questions. Une installation personnalisée automatique est possible. + +Exemple : pour réaliser une installation standard de \TL{} sous +\dirname{/opt/texlive} plutôt que sous \dirname{/usr/local/texlive}, +il suffit d'exécuter les trois commandes suivantes : +\begin{alltt} +> \Ucom{TEXLIVE_INSTALL_PREFIX=/opt/texlive} +> \Ucom{export TEXLIVE_INSTALL_PREFIX} +> \Ucom{echo i | sh install-tl.sh} +\end{alltt} + +L'argument \og\texttt{i}\fg{} passé au script d'installation sert à lancer +l'installation (en mode interactif, on taperait \texttt{i} au clavier). + +Cinq variables d'environnement permettent de choisir où aura lieu +l'installation : +\begin{ttdescription} +\item [TEXLIVE\_INSTALL\_PREFIX] + remplace \dirname{/usr/local/texlive}. +\item [TEXLIVE\_INSTALL\_TEXDIR] + remplace \dirname{/usr/local/texlive/2007}. +\item [TEXLIVE\_INSTALL\_TEXMFLOCAL] + remplace \dirname{/usr/local/texlive/texmf-local}. +\item [TEXLIVE\_INSTALL\_TEXMFSYSVAR] + remplace \dirname{/usr/local/texlive/2007/texmf-var}. +\item [TEXLIVE\_INSTALL\_TEXMFHOME] + remplace \dirname{$HOME/texmf}. %$ +\end{ttdescription} + +\enlargethispage*{\baselineskip} +Pour réaliser une installation personnalisée, il est facile d'écrire un petit +script qui passe les arguments adéquats à la commande \cmdname{install-tl.sh} ; +par exemple pour une installation selon le schéma Gutenberg, avec comme langues +supplémentaires l'espagnol et l'anglais britannique, à placer sous +\dirname{/opt/texlive}, on pourrait lancer (sous root, en supposant que +le SHELL est \cmdname{sh} ou \cmdname{bash} le script suivant : +\begin{verbatim} +TEXLIVE_INSTALL_PREFIX=/opt/texlive +export TEXLIVE_INSTALL_PREFIX +sh install-tl.sh <} pour les lignes de +commandes \textit{(shell prompt)} ; les commandes de l'utilisateur sont +\underline{soulignées}. +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Se placer au point de montage du lecteur : +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +Lancer le script \filename{install-pkg.sh} (et non +\filename{install-tl.sh} qui n'est destiné qu'à l'installation complète) : + +\begin{alltt} +> \Ucom{sh install-pkg.sh \var{options}} +\end{alltt} + +Le premier jeu d'options permet de choisir ce qui sera installé : + +\begin{ttdescription} +\item [-{}-package=\var{pkgname}] Le composant individuel à installer. + +\item [-{}-collection=\var{colname}] La collection individuelle à installer. + +\item [-{}-nodoc] Ne pas installer les fichiers de documentation pour +cette opération. + +\item [-{}-nosrc] Ne pas installer les fichiers source pour cette opération. + +\item [-{}-cddir=\var{dir}] Répertoire source d'où on lit ; +par défaut le répertoire courant. Si on a suivi les instructions ci-dessus, +il n'a pas besoin d'être modifié. + +\item [-{}-listdir=\var{dir}] +Ce qu'on appelle \og répertoire des listes\fg{} dans \var{cddir} +d'où on lira l'information sur le composant. +Si on a suivi les instructions ci-dessus, il n'y a pas besoin de le modifier. + +\end{ttdescription} + +La suite des opérations est contrôlée par les options décrites ci-dessous. +Si aucune n'est spécifiée, par défaut on installe les fichiers spécifiés. +L'arborescence principale de destination est +le répertoire père du répertoire \dirname{bin} affiché par la commande +\cmdname{which tex}. +On peut la modifier en changeant les variables d'environnement +\envname{TEXMFMAIN} ou \envname{TEXMF}. + +\begin{ttdescription} + +\item [-{}-listonly] Liste les fichiers à installer mais n'installe + rien du tout ! + +\item [-{}-archive=\var{tarfile}] Au lieu d'installer les fichiers + dans le système \TeX{}, crée une archive \cmdname{tar}. + +\end{ttdescription} + +Options additionnelles : + +\begin{ttdescription} + +\item [-{}-config] Après l'installation, exécuter \code{texconfig init}. + +\item [-{}-nohash] Après installation, ne pas lancer \cmdname{mktexlsr} +pour reconstruire la base de données des noms de fichiers. +\item [-{}-verbose] Donner plus d'informations durant l'exécution des scripts. +\end{ttdescription} + +Voici quelques exemples d'utilisation : + +\begin{enumerate} + +\item Voir les fichiers du composant \pkgname{fancyhdr} sans l'installer : + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} +> \Ucom{--listonly} +\fi{} +texmf-dist/doc/latex/fancyhdr/README +texmf-dist/doc/latex/fancyhdr/fancyhdr.pdf +... +\end{alltt} + +\item Installer le composant \LaTeX{} \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Installer le composant + \LaTeX{} \pkgname{alg} sans les sources ni la documentation : + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} + +\item Installer tous les composants dans la collection de macros + additionnelles de plain \TeX\ : +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item +Faire une archive \cmdname{tar} dans \path{/tmp} contenant tous les +composants +de \pkgname{pstricks} : +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} + +\end{enumerate} + +\textifindoubt + +% +\section{À faire après l'installation} +\label{sec:postinstall} + +Une fois l'installation terminée il faut, quel que soit le système, +configurer le système pour certains besoins locaux et +faire des tests de base. + +Cette phase de post-installation comprend éventuellement la prise en compte de +composants, fontes ou de programmes qui n'étaient pas inclus dans \TL{}. +L'idée de base est de faire les ajouts dans l'arborescence +\envname{TEXMFLOCAL} (si vous avez installé depuis le disque) +ou dans \envname{TEXMFSYSVAR} (si vous exécutez depuis le disque) ; +voir \og répertoires d'installation\fg{} en page~\pageref{text:instdir}. + +Bien sûr, les détails varient d'un cas à l'autre et nous n'essayerons +donc pas de les traiter ici. Voici quelques pointeurs à consulter : +\begin{itemize} +\item +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} +\item +\url{http://www.ctan.org/installationadvice} +\item +\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} +\item +\url{http://www.ctan.org/tex-archive/info/Type1fonts} sur l'installation +de fontes. +\end{itemize} + +\subsection{Le programme \protect\cmdname{texconfig}} +\label{sec:texconfig} + +Vous pouvez utiliser le programme \cmdname{texconfig} n'importe quand après +votre installation pour reconfigurer votre système +de façon à satisfaire les besoins locaux. +Il peut être nécessaire de l'exécuter au moins une fois juste après +l'installation si les valeurs par défaut de certains paramètres ne vous +conviennent pas. +Ce programme est installé avec les autres sous le répertoire propre à +votre architecture \texttt{TEXDIR/bin/\var{archname}}, si vous n'avez pas +modifié le \envname{PATH} de \textit{root}, il faudra le lancer +(sous \textit{root}) avec son chemin complet. + +Si on le lance sans arguments, il entre en mode plein-écran et on peut +alors voir et modifier interactivement les paramètres. + +On peut aussi le lancer avec diverses options. Voici les plus courantes +(la distribution \TL{} est configurée pour utiliser du papier~A4 par défaut) : + +\begin{ttdescription} + +\item [texconfig paper letter] +Mettre la taille par défaut du papier à \textit{letter} pour les pilotes +\cmdname{pdftex}, \cmdname{dvips}, \cmdname{dvipdfm}, \cmdname{xdvi}, etc. + +\item [texconfig rehash] Mettre à jour toutes les bases de données des +fichiers du système \TeX{} (à faire après tout ajout ou suppression de +fichier). + +\item [texconfig faq] Afficher la \acro{FAQ} sur \teTeX{}. +(voir aussi la \acro{FAQ} principale de \TeX{} dans +\OnCD{texmf-doc/doc/english/FAQ-en} sur le \DVDlive{}). + +\item [texconfig help] Obtenir de l'aide sur la commande \cmdname{texconfig}. + +\end{ttdescription} + +Bien sûr, \cmdname{texconfig} ne permet de changer que certaines des +nombreuses options et paramètres de configuration d'un système \TeX{}. +Le fichier principal de configuration pour les programmes de la base +\Webc{} s'appelle \filename{texmf.cnf}. ; on peut trouver son emplacement +en exécutant \samp{kpsewhich texmf.cnf}. Ce fichier contient de nombreux +commentaires expliquant les options par défaut et la signification des +paramètres, sa lecture est recommandée. + +Depuis 2005, la commande \cmdname{texconfig} \emph{ne modifie plus les +fichiers de configuration de la machine}, mais ceux de l'utilisateur qui la +lance ; ces fichiers sont dans le répertoire \dirname{$HOME/.texlive2007} %$ +de l'utilisateur. + +De même, les commandes \cmdname{updmap} et \cmdname{fmtutil} +opèrent maintenant au niveau de l'utilisateur dans le répertoire +\dirname{$HOME/.texlive2007} %$ + +\textbf{Important : machines multi-utilisateurs}. Les administrateurs +installant \TL{} sur une machine multi-utilisateurs devront dorénavant +utiliser les commandes \cmdname{texconfig-sys}, \cmdname{updmap-sys} et +\cmdname{fmtutil-sys} pour respectivement modifier la configuration, mettre à +jour les fichiers \file{.map} et créer les formats \emph{au niveau de la + machine}. Noter qu'aucun format n'est créé à l'installation, ils sont +fabriqués à la demande ; depuis cette année, le format créé par un utilisateur +l'est uniquement pour lui (il est mis dans \dirname{$HOME/.texlive2007}). %$ +Afin d'éviter la multiplication de fichiers de formats, il y a donc lieu créer +au moins les formats les plus utilisés au niveau du système à la fin de +l'installation par la commande \cmdname{fmtutil-sys}. Le plus simple est de +les créer tous (c.-à-d. ceux qui figurent dans le fichier fmtutil.conf) par +\begin{alltt} +> \Ucom{fmtutil-sys --all} +\end{alltt} +De plus, ceux qui ont des fichiers de configuration spécifiques +\filename{fmtutil.cnf} ou \filename{updmap.cfg} devront les placer +dans l'arborescence pointée par la nouvelle variable +\envname{TEXMFSYSCONFIG}, +faute de quoi ces fichiers ne seront pas trouvés par les scripts +\cmdname{fmtutil-sys} et \cmdname{updmap-sys}. +Si les fichiers \filename{fmtutil.cnf} et \filename{updmap.cfg} propres à la +machine sont, par exemple, dans \envname{\$TEXMFLOCAL}, +rien n'empêche de définir \envname{TEXMFSYSCONFIG} comme +\envname{\$TEXMFLOCAL}, +mais il faut le faire explicitement dans le fichier \filename{texmf.cnf}. + +Rappelons que la commande \cmdname{texconfig conf} retourne les valeurs des +variables \envname{TEXMFSYSCONFIG}, \envname{TEXMFLOCAL}, etc., et que +l'utilisation des différentes arborescences texmf a été décrite à la +section~\ref{sec:texmftrees} \p.\pageref{sec:texmftrees}. + + +\subsection{Tester l'installation} +\label{sec:test-install} + +Une fois l'installation de \TL{} terminée, il faut +la tester avant de créer des documents ou des fontes. +Les tests doivent être faits par un utilisateur non privilégié +(autre que \textit{root}). + +On donne ici quelques procédures de base pour vérifier que le nouveau +système est opérationnel. On les décrit pour Unix ; pour \MacOSX{} ou +Windows, il vaut mieux tester au travers d'une interface graphique, +mais les principes sont les mêmes. + +\begin{enumerate} + +\item +S'assurer en premier lieu que le programme \cmdname{tex} fonctionne : + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.141592 (Web2C 7.5.5) +kpathsea version 3.5.5 +... +\end{alltt} + +Si on récupère un \textit{command not found} au lieu d'informations +comme le numéro de version et le copyright, il est fort probable que +vous n'avez pas le bon répertoire \dirname{bin} dans votre +\envname{PATH}. +Voir les informations sur l'environnement page~\pageref{text:path}. + +\item Traiter un fichier \LaTeX{} simple : + +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.141592... +... +Output written on sample2e.dvi (3 pages, 7496 bytes). +Transcript written on sample2e.log. +\end{alltt} +Si ça échoue en cherchant \filename{sample2e.tex} ou d'autres fichiers, +il y a peut-être des interférences entre vos anciennes variables +d'environnement ou fichiers de configuration. Pour analyser en détail +votre problème, vous pouvez demander à \TeX{} de dire exactement ce +qu'il cherche et trouve ; voir \og Actions de débogage \fg{} +page~\pageref{Debugging}. + +\item Prévisualiser les résultats en ligne : +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +Sous Windows, la commande équivalente est \cmdname{dviout}. +Une nouvelle fenêtre doit s'ouvrir et montrer un document expliquant les +bases de \LaTeX{} (document à lire d'ailleurs si vous êtes débutant !). +Vous devez tourner sous X pour que \cmdname{xdvi} fonctionne. Sinon, votre +variable d'environnement \envname{DISPLAY} n'est pas correcte et vous +aurez une erreur \samp{Can't open display}. + +\item Créer un fichier \PS{} pour l'imprimer ou l'afficher : + +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Créer un fichier \acro{PDF} au lieu de \dvi{} ; +cet exemple traite le fichier \filename{sample2e.tex} et crée directement +du \acro{PDF} : + +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Prévisualiser le fichier \acro{PDF} : + +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{ou} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} + +Hélas, ni \cmdname{gv} ni \cmdname{xpdf} ne sont actuellement inclus dans +\TL{}, aussi devez-vous les installer séparément si ce n'est déjà fait. +Voir respectivement +\url{http://www.gnu.org/software/gv} et +\url{http://www.foolabs.com/xpdf}. + +\item Autres fichiers de tests utiles : + +\begin{ttdescription} + +\item [small2e.tex] Un document plus simple à compiler que +\filename{sample2e} si celui-ci pose des problèmes. + +\item [testpage.tex] Teste que l'imprimante n'introduit pas de décalages. + +\item [nfssfont.tex] Imprime des tables de fontes et des tests. +\item [testfont.tex] Aussi pour les tables de fontes, mais en (plain) \TeX. +\item [story.tex] Le fichier de test de (plain) \TeX{} le plus canonique +de tous. Il faut taper \samp{\bs bye} à la commande \code{*} après +\samp{tex story.tex}. + +\end{ttdescription} +Pour exécuter ces tests procéder comme on l'a fait pour +\filename{sample2e.tex}. + +\end{enumerate} + +Si vous êtes débutant ou si vous avez besoin d'aide pour réaliser des +documents \TeX{} ou \LaTeX{}, n'hésitez pas à consulter +\url{http://tug.org/begin.html}. +On vous recommande également l'introduction à \LaTeX{} de Tobias Oetiker +dans sa version anglaise (la version française n'est plus à jour) +disponible après installation sous +\url{texmf-doc/doc/english/lshort-english/lshort.pdf}. + + +\section{Installation pour \MacOSX} +\label{sec:mac-install} + +\TL{} traite \MacOSX, mais pas les versions antérieures des Macintosh. + +On peut installer \TeX{} sous \MacOSX{} de deux façons : + +\begin{enumerate} + +\item Utiliser la nouvelle distribution, appellée Mac\TeX{}, disponible + depuis l'édition 2005 sur le \DVDlive ; elle se trouve dans le répertoire + \dirname{mactex/}, voir section~\ref{sec:mactex}. C'est la méthode + \emph{vivement recommandée}, car l'installation est très simple. + +\item Utiliser les commandes \filename{install*} comme pour Unix (lire d'abord + la section~\ref{sec:osx-unix-inst} ci-dessous pour les spécificités \MacOSX{} +puis la section~\ref{sec:unix-install}). Cette méthode offre plus de choix +quant à ce qui sera installé mais déroute bien des utilisateurs de Macintosh +(ceux qui répugnent à taper des commandes dans un Terminal). + +\end{enumerate} + +\noindent Par ailleurs, l'utilisation de \TeX{} sous \MacOSX{} se fait +normalement par le biais d'une interface graphique (\emph{frontend}), +comme expliqué ci-dessous à la section~\ref{sec:interf-graph-macosx}. + +\subsection{Installation de Mac\TeX} +\label{sec:mactex} + +La distribution Mac\TeX{} est une variante de \TL{} complétée par de +nombreuses applications et de la documentation spécifique. +Elle dispose de son propre installeur intégré. + +Le site de référence pour Mac\TeX{} est \url{http://tug.org/mactex}. + +\subsection{\protect\cmdname{install*.sh} : installation depuis \TL{}} +\label{sec:osx-unix-inst} + +Le système \MacOSX{} est un Unix (presque) comme les autres, mais Apple +cache soigneusement ce fait, ce qui ne facilite pas l'installation de +logiciels comme \TL{}. + +Nous allons essayer de décrire en détail la procédure d'installation. +La première chose à faire est d'ouvrir une fenêtre \og Terminal \fg{}. +L'application \og Terminal\fg{} se trouve dans le répertoire +/Applications/Utilitaires, elle est accessible à partir du menu +principal en haut de l'écran. + +Ensuite, nous allons vérifier si l'interpréteur de commandes +(ou \textit{shell} en anglais) \cmdname{bash} est présent ou non. +Pour cela, taper dans la fenêtre \og Terminal \fg{} la commande suivante : +\begin{alltt} +> \Ucom{which bash} +\end{alltt} +Si le \textit{shell} \cmdname{bash} est présent (cas des versions +de 10.2 et suivantes de \MacOSX) la réponse sera un chemin, par exemple +\filename{/bin/bash}. +Si la réponse est \texttt{command not found}, vous avez une version +antérieure à 10.2, sur laquelle \cmdname{bash} n'est pas installé par défaut. +Vous devrez alors récupérer le \textit{shell} \cmdname{bash} sur internet +(par exemple ici : \url{http://tug.org/texlive/bash.dmg}) +et l'installer\dots{} ou mieux, mettre à jour votre version de \MacOSX. + +Supposons désormais le \textit{shell} \cmdname{bash} présent. +Il faut maintenant \og passer \textit{root} \fg{}, c'est-à-dire +se donner le pouvoir d'effectuer des opérations normalement interdites +aux utilisateurs de base. Ceci se fait en tapant dans le \og Terminal\fg{} +la commande : +\begin{alltt} +> \Ucom{sudo su -} +\end{alltt} + +Mettre le \CDinst{} ou le \DVDlive{} dans le lecteur, son contenu +devient automatiquement accessible sous le répertoire \dirname{/Volumes}. +On tape ensuite dans le \og Terminal\fg{} les commandes : +\begin{alltt} +> \Ucom{cd /Volumes/texlive2007} +> \Ucom{sh install-tl.sh} +\end{alltt} +pour se placer à la racine de l'image disque montée et y lancer le script +d'installation. Il suffit ensuite de suivre la documentation +d'installation de la section~\ref{sec:unix-install-disk} +\p.\pageref{sec:unix-install-disk} où des notes spécifiques pour \MacOSX{} +ont été incluses si nécessaire. + +\subsection{Interfaces graphiques pour \MacOSX{}} +\label{sec:interf-graph-macosx} + +Normalement, l'utilisation de \TeX{} sur un Macintosh se fait à travers +une interface graphique, comprenant un \textit{shell} d'exécution, un +éditeur, un prévisualiseur et d'autres outils (on échappe toutefois +difficilement à l'utilisation de \og Terminal \fg{} dès que l'on veut +réaliser des tâches un tant soit peu évoluées\ldots). + +Voici les principales interfaces disponibles : + +\begin{cmddescription} +\item [TeXShop] Inclus dans \TL{} sous +\filename{./MacOSX/texshop.dmg}.\\ +Voir \url{http://www.uoregon.edu/~koch/texshop/texshop.html}. + +\item [ITeXMac] Inclus dans \TL{} sous \filename{./MacOSX/iTM-*.dmg}.\\ +Voir \url{http://itexmac.sourceforge.net}. + +\item [Mac-emacs] Une adaptation d'Emacs à \MacOSX{}, avec +\pkgname{AucTeX} inclus.\\ +Voir \url{http://www.cs.man.ac.uk/~franconi/mac-emacs}. + +\end{cmddescription} + +Si vous choisissez d'utiliser \cmdname{TeXShop} ou \cmdname{ITeXMac}, +il sera nécessaire de donner à ces logiciels les informations concernant +le PATH : + +\begin{cmddescription} + +\item [TeXshop] Lancer l'application et ouvrir le panneau préférences (menu + TeXShop). Sélectionner l'onglet \og Moteur\fg{} et modifier la première + ligne en saisissant votre PATH, par exemple : + \dirname{/usr/local/texlive/2007/bin/powerpc-darwin}. + +\item [ITeXMac] Lancer l'application et ouvrir le panneau préférences (menu + ITeXMac). Sélectionner le bouton \og Assistant teTeX\fg{}, puis l'onglet + \og TeX\fg{} et cliquer sur le bouton radio \og{} Autre\fg{}. Saisir alors + votre PATH, par exemple : + \dirname{/usr/local/texlive/2007/bin/powerpc-darwin}. + +\end{cmddescription} + + +\section{Installation sous Windows} +\label{sec:win-install} + +La distribution \TL{} inclut un +installeur pour Windows qui s'appelle \cmdname{tlpmgui}. + +%%%%%%%%%%%%%%%%%%%% Ajout (df) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{quote} +\textbf{Note du traducteur :} à titre personnel, je ne recommande pas +l'installation sous Windows à partir de \cmdname{tlpmgui}, sauf aux +utilisateurs qui connaissent bien \TL{} sous Unix et veulent avoir sous +Windows une distribution aussi proche que possible de celle-ci. + +Une autre piste, non basée sur la distribution \TL{}, me semble nettement plus +adaptée : il s'agit installer la distribution \ProTeXt{} à partir du +\DVDlive{} ou du \CD{} spécifique, elle est basée sur \MIKTEX{} distribution +très appréciée sous Windows ; + +Si vous décidez d'opter pour \ProTeXt{} la suite de toute cette +section ainsi que la suivante (Maintenance sous Windows) ne vous +concernent pas. +\end{quote} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\cmdname{tlpmgui} propose essentiellement les mêmes options que le script +\cmdname{install-tl.sh} sous Unix mais dans une interface graphique : + sélection des schémas, choix des collections, etc., se reporter +à la section~\ref{sec:unix-install-disk} \p.\pageref{sec:unix-install-disk}. +Certaines manipulations telles que l'ajout ou la suppression +de composants, la mise à jour des bases de données +et la constructions de formats sont également possibles. +De plus, \cmdname{tlpmgui} offre la possibilité d'utiliser \TL{} depuis +le \DVDlive{} (sans l'installer sur le disque dur). + +Pour les connaisseurs, \cmdname{tlpmgui} repose sur le programme +\cmdname{tlpm} accessible en ligne de commande Windows. + +Les binaires pour Windows sont empruntés à la distribution \acro{W32TEX}, +fournie par Akira Kakuto. +Certains outils de l'ancienne distribution \fpTeX{} de Fabrice Popineau ont +été conservés, le nouveau visualiseur \cmdname{dviout} de Toshio Oshima +a remplacé celui de Fabrice (\cmdname{Windvi}). + +\TL{} peut être installé sur les systèmes Windows~9x, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. Il ne fonctionne pas avec les versions +plus anciennes Windows (3.1x) et \acro{MS-DOS}. + +\textbf{Attention :} Les utilisateurs de Windows~9x + doit vérifier qu'il disposent d'assez d'espace pour les variables + d'environnement. Le programme \cmdname{tlpmgui.exe} crée un certain + nombre de variables d'environnement, si l'espace manque ajouter + \texttt{SHELL=COMMAND.COM /E:4096 /P} dans le fichier + \filename{config.sys}. + +\subsection{Installation sous Windows depuis le \CDinst} + +Le programme \cmdname{tlpmgui} devrait démarrer automatiquement +dès l'insertion du \CDinst{} dans le lecteur de \acro{CD}. +Si ce n'est pas le cas, cliquer sur \guiseq{Start\arw Run} puis +taper \path{:\string\setuptl\string\tplmgui.exe} +--- resp. +\path{:\string\texlive\string\setuptl\string\tplmgui.exe} +si vous installez à partir du \DVDlive{} --- où \path{} +désigne la lettre correspondant au lecteur de \acro{CD} ; cliquer ensuite +sur OK. + +La fenêtre intitulée \guiseq{TeX Live installation and maintenance utility} +devrait s'ouvrir. Elle propose les options suivantes : +\guiseq{Main customization}, \guiseq{Install}, \guiseq{Select a scheme}, +\guiseq{Select systems}, \guiseq{Directories} et \guiseq{Options}. + +Dans la section \guiseq{Directories}, le nom du lecteur de \acro{CD/DVD} +(par exemple \texttt{F:/}) devrait apparaître à côté du bouton +\acro{CD/DVD}. S'il n'est pas affiché utiliser ce bouton pour +sélectionner le lecteur de \acro{CD/DVD} contenant \TL. + +Il est possible de choisir le répertoire devant contenir la distribution \TL{} +en cliquant sur le bouton \guiseq{TLroot}(la variable \path{TLroot} contiendra +le nom de ce répertoire). +% Le contenu des variables d'environnement +% \path{TEXMFTEMP} et \path{TEXMFCNF} est affiché à côté des boutons +% \guiseq{TEXMFTEMP} et \guiseq{TEXMFCNF}, il sera mis à jour automatiquement +% pendant l'installation (il est possible de le modifier en cas de besoin +% particulier). + +La section \guiseq{Select a scheme} permet, comme sous Unix, de choisir le +schéma de base souhaité pour l'installation (complète, GUTenberg, etc.) : +utiliser le bouton radio pour faire ce choix et le bouton \guiseq{Info} +pour une description du schéma sélectionné. + +Il est possible de personnaliser le schéma choisi en lui ajoutant ou en +supprimant certaines de ses composantes (appelées \guiseq{collections}). +Ceci se fait en utilisant les boutons \guiseq{Standard collections} +et \guiseq{Language collections} (choix des langues utilisables) +dans \guiseq{Main customization}. + +La collection \guiseq{Wintools} est sélectionnée par défaut car elle contient +beaucoup de petits utilitaires non fournis avec Windows, comme des +convertisseurs tels que \cmdname{sam2p}, \cmdname{jpeg2ps}, \cmdname{tiff2png}, +des prgramme de compression tels que \cmdname{bzip2}, \cmdname{gzip}, +\cmdname{unzip} et \cmdname{wget} qui est requis par le nouvel utilitaire +\cmdname{getnonfreefonts}. + +\textbf{Remarque :} Les collections \guiseq{Ghostscript}, \guiseq{Perl} +sont sélectionnées par défaut. Elles \emph{doivent être +installées}\dots{} sauf si elles l'ont été par ailleurs. +Les variables d'environnement \envname{PERL5LIB} et \verb|GS_LIB| doivent +aussi être initialisées et le chemin complet des binaires \guiseq{Ghostscript} +doit être ajouté à la variable \verb|PATH|. + +Finalement, cliquer sur le bouton \guiseq{Install} dans la section +\guiseq{Install} pour lancer le processus d'installation. + +Laisser le processus se poursuivre jusqu'à l'affichage du message annonçant +que l'installation a réussi (un certain nombre d'étapes sont nécessaires, +comme la création des formats, la mise à jour des bases de données, etc. ce +qui peut prendre un certain temps). + +Un raccourci pour \cmdname{tlpmgui} (et pour \cmdname{dviout} s'il est +installé), sera ajouté dans le menu \guiseq{Start\arw Programs\arw +TeXLive2007}. + +Si nécessaire (Windows~9x/WinME), il vous sera demandé de +redémarrer l'ordinateur. + + +\subsection{Programmes auxiliaires pour Windows} +\label{sec:win-xemtex} + +Pour être complète, une installation \TL{} a besoin de programmes +auxiliaires qu'on ne trouve pas fréquemment sur une machine Windows. +De nombreux scripts sont écrits en Perl. Certains outils importants utilisent +l'interpréteur \PS{} Ghostscript pour afficher ou convertir les fichiers. +Il faut aussi dans certains cas une boîte à outils graphique. +Enfin, un éditeur orienté \TeX{} facilite la saisie de fichiers \TeX{}. + +Tous ces outils sont assez faciles à trouver pour \TeX{}, mais pour essayer +de vous rendre la vie plus facile, nous avons incorporé des outils de ce type +dans \TL{} : +\begin{itemize} +\item GNU \cmdname{GhostScript} 8.54 ; +\item un \cmdname{Perl} 5.8 minimum, suffisant pour exécuter tous les scripts +Perl du \TL{} ; +\item quelques utilitaires comme bzip2, gzip, jpeg2ps et tiff2png. +\end{itemize} + +Perl et Ghostscript sont installés par défaut ; vous pouvez empêcher +leur installation en les déselectionant explicitement lors de +l'installation si vous les avez déjà. + +Si vous préférez ne pas installer les outils inclus dans \TL{}, vous êtes +libre d'installer les outils nécessaires pour compléter votre système \TL{} ; +voici une liste des adresses où les obtenir : +\begin{description} +\item[GhostScript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (mais il vous faudra peut-être + chercher des bibliothèques supplémentaires sur CPAN, + \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com} +\item[NetPBM] Vous pouvez aussi utiliser NetPBM à la place de ImageMagick + pour traiter ou convertir vos fichiers graphiques. La page d'accueil + de NetPBM est + \url{http://netpbm.sourceforge.net/} +\item[Éditeurs orientés \TeX] Il y a un large choix, et cela dépend des + préférences de l'utilisateur. En voici une sélection : + \begin{itemize} + \item \cmdname{GNU Emacs} avec l'extension AucTeX existe nativement + sous Windows, l'url de référence est + \url{ftp://alpha.gnu.org/gnu/auctex} ; + \item \cmdname{WinShell} se trouve sur \TL{} dans le répertoire + \path{support}, l'url de référence est \url{http://www.winshell.de} ; + \item \cmdname{WinEdt} est un partagiciel disponible à l'adresse + \url{http://www.winedt.com} ; + \item TeXnicCenter est libre et se trouve à l'adresse + \url{http://www.toolscenter.org/products/texniccenter/} et aussi dans + la distribution \ProTeXt{} ; + \item \cmdname{Vim} peut être téléchargé sur le site + \url{http://www.vim.org} ; + \item \cmdname{LEd} se trouve à l'adresse + \url{http://www.ctan.org/support/LEd} ; + \item \cmdname{SciTE} se trouve à l'adresse + \url{http://www.scintilla.org/SciTE.html}. + \end{itemize} +\end{description} + +Il est aussi possible d'installer d'autres outils qui ne sont pas +libres\footnote{Pas libres en fait dans le sens de la liberté de les + modifier et les redistribuer, selon les +\emph{Debian's guidelines}. Cela ne signifie pas qu'on ne peut pas les +acquérir gratuitement.} +comme \cmdname{GSView}, le programme compagnon de \cmdname{GhostScript} +pour afficher plus facilement les fichiers PS/PDF. +\cmdname{GSView} est disponible à l'url +\url{http://www.cs.wisc.edu/~ghost/gsview/} +ou sur tout site \acro{CTAN}. + +\section{Maintenance sous Windows} + +Une fois la distribution \TL{} installée, vous pouvez vous servir du programme +\cmdname{tlpmgui} pour modifier ou compléter votre installation. + +\subsection{Ajouter ou supprimer des composants} + +Le raccourci \cmdname{tlpmgui} du menu +\guiseq{Start\arw Programs\arw TeXLive2007} permet de lancer le programme +et affiche la fenêtre \guiseq{TeX Live installation and maintenance utility}. +Les sections à utiliser sont \guiseq{Add Packages} (ajout de composants), +\guiseq{Remove packages} (suppression de composants), +\guiseq{Manage installation} (maintenace), \guiseq{Remove installation} +(suppression totale de \TL). + +Cliquer sur \guiseq{Add packages} ou \guiseq{Remove packages}, puis + +\begin{itemize} +\item Choisir le lecteur de \acro{CD} (ou le répertoire \texttt{texlive} + du lecteur de \acro{DVD}) grâce au bouton \guiseq{CD/DVD}. + +\item Cliquer sur le bouton \guiseq{Search} dans la section \guiseq{Buttons} +pour afficher la liste de composants à installer ou à supprimer +dans \guiseq{Select packages to\dots}. + +Lors de l'ajout de composants, la liste des composants installés est comparée +à la liste des composants disponibles sur le \acro{CD/DVD}. +Seuls les composants non installés sont affichés, à vous de choisir ceux que +vous souhaitez ajouter. + +Inversement, lors de la suppression de composants, seuls les composants +installés sont affichés. + +Noter que les collections sont en tête de liste. + +\item Sélectionner un composant en cliquant sur son nom dans la liste. +Un clic sur le bouton \guiseq{Info} donne une courte description du contenu. +Il est possible de sélectionner plusieurs composants à la fois à l'aide des +touches \og Ctrl \fg{} et \og Shift \fg{} (majuscules). + +\item Cliquer sur \guiseq{Install} ou \guiseq{Remove} pour terminer +l'opération. +\end{itemize} + +\subsection{Configuration et maintenance} + +La section \guiseq{Manage the installation} permet d'effectuer les opérations +courantes de configuration et de maintenance. + +Voici la liste des actions possibles : +\begin{itemize} + \item mettre à jour la base \filename{ls-R}, + \item créer les formats, + \item modifier le fichier \filename{language.dat}, + \item modifier le fichier \filename{fmtutil.cnf}, + \item modifier le fichier \filename{updmap.cfg}. + \end{itemize} + +Il faut sortir de la fenêtre d'édition en cliquant sur le bouton \guiseq{Done} +pour que les mises à jour des formats, fichiers \file{.map}, base +\filename{ls-R} soient effectuées. + +Les autres possibilités de configuration sont décrites à la +section~\ref{sec:persconf}, \p.\pageref{sec:persconf}. + +\subsection{Désinstallation complète de \TL{}} + +L'option \guiseq{Remove the TeX Live installation} permet de supprimer toute +la distribution \TL{}. + +Attention, ce que vous avez éventuellement installé dans le répertoire +\path{texmf-local} ne sera pas supprimé ; le répertoire \path{setuptl} +contenant \cmdname{tlpmgui} doit être également nettoyé à la main si +nécessaire. + +\subsection{Ajouter des composants à votre système} + +Tout d'abord, quelles que soient les modifications faites, +\emph{n'oubliez pas de reconstruire les fichiers ls-R de bases de + données}, sinon les nouveaux fichiers ne seront jamais retrouvés. +Pour cela, vous pouvez soit utiliser le programme \cmdname{tlpmgui}, option +\guiseq{Manage the installation}, soit lancer manuellement la commande +\file{mktexlsr}. + +Si vous choisissez d'ajouter des fichiers qui ne proviennent pas de la +distribution \TL{} (ou fp\TeX{}), il est fortement +recommandé de les mettre dans le répertoire \path{$TEXMFLOCAL}. %$ +De cette manière, vous serez certain qu'il n'y aura pas de problème +lors d'une mise à jour de \TL. + +L'arborescence pointée par \path{$TEXMFLOCAL} est initialement %$ +vide. Si vous souhaitez y ajouter par exemple les fichiers de style +pour le logiciel de calcul formel Maple, vous devrez mettre ces +fichiers dans le répertoire +\path{C:\string\TeXLive2007\string\texmf-local\string\tex\string\latex\string\maple} +et les fichiers de documentation dans +\path{C:\string\TeXLive2007\string\texmf-local\string\doc\string\latex\string\maple} + + +\subsection{Exécution de \texttt{tlmp.exe} en ligne de commande} + +Le programme \cmdname{tlpm.exe} utilisé par \cmdname{tlpmgui} +possède de nombreuses options utiles dont la liste est donnée par +\begin{verbatim} +tlpm --help +\end{verbatim} + +Consulter le fichier \filename{tlpm.readme} pour plus de renseignements et des +exemples. + +\subsection{Installation en réseau} + +\KPS{} est compatible avec les noms UNC, ceux-ci peuvent donc être utilisés +pour récupérer l'arborescence TEXMF depuis le réseau. Mais +encore mieux, tous les fichiers, y compris ceux de +configuration et excepté les binaires dans \path{bin/win32}, sont +compatibles et partageables avec \teTeX{} ou le \TL{} Unix. Cela +signifie que vous pouvez utiliser Samba, soit pour monter la +distribution Unix sur un client Windows, ou un client Unix +depuis un serveur NT. Plusieurs stratégies sont possibles : +\begin{itemize} + +\item tout mettre sur le serveur. Il faut simplement être certain de mettre dans \path{bin/} les binaires pour tous les couples systèmes d'exploitation / architectures nécessaires. Par exemple, ajouter \path{bin/win32} et + \path{bin/i386-linux}. Ensuite configurer les variables principales ; vous + pouvez utiliser des noms UNC pour pointer sur les répertoires appropriés + sous Win32. + +\item Installer une copie locale pour les binaires et les fichiers de + format. Dans ce cas, assigner \path{$TEXMFMAIN} au répertoire + principal \path{texmf} qui sera pris sur le réseau. Faire pointer + \path{$VARTEXMF} vers un répertoire local qui contiendra les fichiers + de configuration locaux et les fichiers générés au vol. %$ + +\end{itemize} + +\subsection{Différences entre la version Windows et la version + Unix de \TL} + +La version Windows de \Webc{} possède quelques spécificités qui méritent +d'être notées. + +\begin{description} +\item [\cmdname{kpsecheck}] Cette commande fournit des fonctionnalités + qui ne rentraient pas bien dans \cmdname{kpsewhich}. En particulier, + elle permet de lister tous les fichiers qui apparaissent plusieurs + fois à travers les multiples arborescences \path{texmf/}. Ceci à + l'air pratique, sauf qu'en réalité, la sortie est polluée par des + occurrences multiples de fichiers qui ne sont pas utiles à \TeX{} à + proprement parler (commes des dizaines de fichiers + \filename{README})\footnote{Tous ces fichiers + sont susceptibles de produire des collisions lors de l'accès à la + table de hachage ; heureusement \TeX{} ne les utilise pas, ils ne + sont donc pas pris en compte !}. Pour cette raison, vous pouvez combiner + l'option \path{-multiple-occurences} avec deux autres options pour + inclure ou exclure de la recherche tout fichier conforme à un + certain motif (plusieurs motifs d'inclusion ou d'exclusion peuvent + être spécifiés). + + La commande \cmdname{kpsecheck} peut aussi indiquer le statut + d'utilisation de la mémoire partagée : en utilisation ou + non-utilisée. Cette information peut être très utile, car si le + statut rapporté est \og en utilisation\fg{}, cela signifie qu'un + ou plusieurs processus tournent et utilisent le bloc de mémoire + partagée. Dans ce cas, une réinitialisation des tables de hachage + basée sur les fichiers \filename{ls-R}, comme la commande + \cmdname{mktexlsr} l'effectue, sera automatiquement repoussée + jusqu'à ce que tous les processus utilisant la version courante en + mémoire partagée soient terminés. Il est prévu d'enlever cette + limitation dans une version future, mais la version actuelle de + \KPS{} ne permet pas de faire facilement cette réinitialisation. + + Enfin, la même commande \cmdname{kpsecheck} peut indiquer l'endroit + où \KPS{} pense pouvoir trouver la Dll de Ghostscript. En effet, + sous Win32, il est souvent plus simple de travailler directement + avec la Dll de Ghostscript, et de la trouver en utilisant la clé + appropriée dans la base de registre, que d'utiliser \path{gswin32c.exe} et + de modifier le \path{PATH} qui a une longueur limitée. + +\item [\Webc] Les moteurs \TeX{} ont une option supplémentaire + par rapport à la version standard : + \path{-proctimes} affiche des statistiques à propos du + temps d'exécution. Il est à noter que Windows~9x n'étant pas un + système multi-tâche préemptif, il ne possède pas d'horloge + interne suffisamment précise pour mesurer ces temps d'exécution + et donc la valeur affichée n'est qu'une approximation. Sous + NT/2K/XP, le résultat est assez précis et comprend le temps + utilisateur et le temps système alloués à la compilation. Pour + les utilisateurs d'Unix : la commande \path{time} n'existe pas + sous Windows. +\end{description} + +\subsection{Personnalisation de l'installation} +\label{sec:persconf} + +\subsubsection{Dvips} + +Le fichier de configuration de \texttt{dvips} se trouve par défaut en +\path{C:\string\TeXLive2007\string\texmf-var\string\dvips\string\config\string\config.ps}. Il peut être ouvert avec n'importe quel éditeur de texte +% (comme \cmdname{WinShell}) +pour modifier certains paramètres : +\begin{description} +\item[fontes] vous pouvez changer la résolution et le mode de + l'imprimante à laquelle sont destinés vos fichiers dans le cas où + \texttt{dvips} aurait besoin de générer des fontes bitmap. Par défaut, + les fontes Type1 CM interpolées sont utilisées, et donc + \path{mktexpk} ne devrait pas être appelé trop souvent. +\item[imprimante] vous pouvez spécifier où se fera l'impression par + défaut. Si l'option `o' n'est pas suivie d'un nom d'imprimante, un + fichier est créé avec l'extension \file{.ps}. Sinon, vous pouvez + spécifier un nom d'imprimante tel que : +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[papier] vous pouvez changer le format de papier retenu par + défaut (A4), par exemple en format US letter, le premier format + mentionné. Allez vers les lignes débutant par \path{@}. Déplacez les + lignes adéquates, ainsi le fichier commencera par les lignes qui suivent. +\begin{verbatim} +@ letterSize 8.5in 11in + +@ letter 8.5in 11in +@+ %%BeginPaperSize: Letter +@+ letter +@+ %%EndPaperSize +\end{verbatim} +\end{description} + +La distribution \TL{} actuelle intègre un programme \og \cmdname{updmap} \fg{} +facilitant la mise à jour des fichiers \file{psfonts.map} pour Dvips et +\file{pdftex.map} pour PdfTeX. +\cmdname{updmap} est lancé automatiquement durant l'installation. +Si vous ajoutez de nouvelles fontes à la main, +éditez le fichier \verb+updmap.cfg+ dans \path{$TEXMFVAR/web2c}. %$ +et relancez \cmdname{updmap}. + +\subsubsection{PdfTeX} + +Si le programme \cmdname{pdflatex} est utilisé pour écrire directement en +format +\acro{PDF} et qu'on utilise du papier au format \acro{US} letter-size, +éditer le fichier +\path{C:\string\TeXLive2007\string\texmf-var\string\tex\string\generic\string\config\string\pdftexconfig.tex} +et modifier \samp{\bs page\_width} et \samp{\bs page\_height}. +Ces entrées doivent être : +\begin{alltt} +\bs{}pdfpagewidth=8.5 true in +\bs{}pdfpageheight=11 true in +\end{alltt} + +Sauvegarder le fichier et sortir de l'éditeur. + +\subsubsection{Xe\TeX} + +Xe\TeX{} pour Windows est lié statiquement à la bibliothèque fontconfig 2.4.2. +Le fichier de configuration pour les fontes s'appelle \verb+fonts.conf+. +Ce fichier se trouve dans le répertoire indiqué par la commande +\texttt{kpsewhich --var-value=FONTCONFIG\_PATH}. + +\subsubsection{Gsview} + +\cmdname{GSView} est maintenant distribué sous licence Aladdin et n'est donc +plus inclus dans \TL{}. + +Si vous voulez changer le format du papier, ouvrez \cmdname{GSView} à +partir du menu \guiseq{Démarrer} et sélectionnez \guiseq{Media\arw Letter}. +Le sous menu Display Settings vous permet +également d'améliorer la netteté du rendu en positionnant les +deux valeurs \textbf{Text Alpha} et \textbf{Graphics Alpha} à 4 bits. + +Pour ce qui est de l'impression, consulter la +sous-section~\ref{sub:printing}. + +Les fichiers \file{.ps} et \file{.eps} seront automatiquement ouverts +par \cmdname{GSView}. + +\subsection{Tests} + +Pour des procédures génériques de vérification, voir +section~\ref{sec:test-install}, page~\pageref{sec:test-install}. +Cette section décrit les tests spécifiques à Windows. + +Vous pouvez tester l'installation +en ouvrant le fichier +\verb+sample2e.tex+ dans votre éditeur (\cmdname{XEmacs}, +\cmdname{WinShell}) qui se trouve dans +\path{C:\string\TeXLive2007\string\texmf-dist\string\tex\string\latex\string\base}. +Le source \LaTeX{} doit apparaître à l'écran. Compilez-le en cliquant +sur le menu (XEmacs) \guiseq{Command\arw LaTeX} ou sur l'icône \LaTeX{} +(WinShell) dans la barre d'outils, ensuite affichez-le en +cliquant sur le menu (XEmacs) \guiseq{Command\arw View DVI} +ou sur l'icône Preview (dviout). + +La première fois que vous afficherez un document avec \cmdname{dviout}, il va +créer les fichiers de fontes bitmaps qui ne sont pas installées. +Après avoir visualisé quelques fichiers, vous aurez créé la plupart de ces +fichiers et vous ne verrez plus souvent apparaître la fenêtre de création de +fontes. + +En cas de problèmes, reportez-vous à la +sous-section~\ref{sec:troubleshooting}. + +\subsection{Impression} +\label{sub:printing} + +Il est possible d'imprimer depuis \cmdname{dviout}. Dans ce cas, l'impression +utilise le pilote unifié d'impression de Windows, il est donc par +définition compatible avec toutes les imprimantes. Cependant, il y a +un inconvénient : cette impression génère des fichiers (spool) très +importants, quelques versions anciennes de Windows le supportent mal. +L'avantage est que vous pouvez tirer +parti de l'impression d'images BMP ou WMF par exemple. Il faut +également faire bien attention à ce que les paramètres de l'imprimante +soient correctement définis sous peine +d'avoir un effet d'échelle +(imprimer à 600\,dpi sur une imprimante qui fait réellement 300\,dpi +aboutit à n'avoir qu'un seul quart de la page visible). + +L'impression est souvent plus rapide en utilisant \cmdname{dvips}, puis en +imprimant le fichier \file{.ps} depuis \cmdname{GSView}. Pour imprimer +depuis \cmdname{GSView}, sélectionner \textbf{Print\dots{}} dans le menu +\textbf{File}. Une fenêtre de dialogue pour l'impression apparaît. + +Si vous utilisez une imprimante PostScript, \emph{soyez sûr de + sélectionner \textbf{PostScript Printer}} en choisissant cette +option dans \textbf{Print Method} en bas à gauche de la boîte de +dialogue, faute de quoi l'impression échouera. Vous +pouvez ensuite sélectionner une imprimante quelconque parmi celles +installées. + +Si vous utilisez une imprimante qui ne supporte pas PostScript, +sélectionnez \textbf{Ghostscript Device} dans \textbf{Print + Method}. Ensuite cliquez sur le bouton \textbf{djet500} et +sélectionnez votre imprimante. + +\subsection{Trucs et astuces à propos de la plate-forme Win32} + +\subsubsection{Différentes déclinaisons de Win32} + +Ce que recouvre la dénomination Win32 n'est pas un système +d'exploitation. C'est un ensemble de fonctions très +vaste (environ 12000 fonctions dans les fichiers d'en-tête du + SDK Microsoft) que vous pouvez utiliser pour écrire des programmes +pour différentes versions des systèmes d'exploitation de la famille +Windows. + +Windows se décline en plusieurs versions : +\begin{itemize} +\item Win95, Win98 et WinME, qui \emph{ne sont pas de vrais systèmes + d'exploitation multitâches et multithreads}. Ils sont en fait les + dernières incarnations de DOS. On peut s'en apercevoir, car en + lançant le PC, l'interpréteur de commandes \path{command.com} est + chargé et si vous arrêtez le processus à ce moment, vous pouvez + demander la version courante (de DOS) et il vous est répondu quelque + chose du style "MS-DOS 7.0", au moins pour les versions anciennes de + Windows~9x ; +\item Windows \acro{NT} est un système d'exploitation écrit à partir + de zéro, avec un + vrai multitâche préemptif et des fonctionnalités de très haut niveau ; +\item Windows 2000 est écrit sur une base \acro{NT}, il est doté de toutes les + facilités offertes par Win98 ; +\item Windows \acro{XP} existe en versions Personnelle et + Professionnelle. C'est la dernière étape dans la fusion entre les + deux lignes de produits (basée sur Windows~9x et basée sur NT). \acro{XP} est + écrit sur une base NT. +\end{itemize} + +Windows~9x peut faire tourner des programmes 32~bits et des +programmes 16~bits en même temps. Mais le système d'exploitation +lui-même n'est pas entièrement écrit en mode 32~bits et ne fournit pas +une protection mémoire entre les applications : les applications +16~bits peuvent écraser des parties du système d'exploitation en +mémoire ! Des parties du système telles que le \acro{GDI} +(\emph{Graphical Device Interface}) ne se voient allouer que des +ressources de taille très +limitée pour gérer les bitmaps, les pinceaux et les polices, et ces +ressources sont allouées de manière globale pour tous les programmes +qui tournent de manière concurrente. Par exemple, toutes les entêtes de +bitmaps utilisés par tous les programmes qui tournent simultanément ne +doivent pas requérir plus de 64~ko de mémoire. Ceci explique le +comportement du moniteur de performance et le fait que vous pouvez +mettre votre système à genoux en utilisant de manière intensive les +objets graphiques. + +NT, 2K et XP ne souffrent pas de ces limitations, ni d'aucune autre +limitation de Windows~9x. Ce sont de vrais environnements multitâches, avec +une vraie mémoire protégée. Ils répondent de manière plus fluide que +Windows~9x de par leur meilleure gestion de la mémoire, leur système de +gestion de fichiers plus performant, etc. + +\subsubsection{La ligne de commande} + +Vous allez demander : mais pourquoi diable devrais-je me +préoccuper d'une ligne de commande alors que j'ai Windows ? + +Bonne question. Le problème est de nature très générale. Toutes les +opérations ne peuvent pas être accomplies très facilement à l'aide de +la seule interface graphique. La ligne de commande vous donne la +puissance de la programmation -- si vous avez un bon interpréteur de +commandes. + +Mais le problème est plus fondamental : \TeX{} est un outil qui +fonctionne \emph{en batch}, de manière non interactive. \TeX{} a +besoin de calculer la meilleure mise en page pour chaque page, de +résoudre les références croisées, etc. Ceci ne peut être réalisé +que par un traitement global du document. Ce n'est pas encore une tâche +qui peut être réalisée interactivement. + +Ceci implique que vous devriez utiliser \TeX{} depuis la ligne de +commande. En fait la situation n'est pas si catastrophique. Il y a un +avantage à écrire des outils en ligne de commande pour des tâches +complexes : ils sont bien plus fiables, parce qu'ils n'héritent pas de +la complexité inhérente aux interfaces graphiques. +Il est ensuite possible de +concevoir des outils graphiques qui servent d'interface aux outils en +ligne de commande. C'est le cas de \TeX{} : vous interagirez avec lui +la plupart du temps au travers d'un éditeur de textes qui possède une +interface graphique. + +Cependant, il se peut que vous ayez besoin d'utiliser la ligne de +commande dans certaines situations. Par exemple en cas de +problèmes, parce que vous avez besoin de trouver une erreur dans votre +installation -- voir la section~\ref{sec:troubleshooting}. + +\begin{description} +\item[Windows~9x, WinME] Vous ouvrirez une ligne de commande soit en cherchant + l'icône \acro{MS-DOS} dans le menu \og \guiseq{Démarrer\arw Programmes}\fg{}, + soit en choisissant \og \guiseq{Démarrer\arw Exécuter}\fg{}, puis en tapant + \path{command.com} . +\item[NT, 2K, XP] Vous ouvrirez une ligne de commande en cherchant + \og \guiseq{Invite de commandes}\fg{} dans le menu \og \guiseq{Démarrer\arw + Accessoires}\fg{} (ces emplacements peuvent changer d'une version de Windows à + l'autre). Vous pouvez aussi choisir le menu + \og Démarrer -> Exécuter\fg{} et taper \path{cmd.exe}, qui est le nom + du nouvel interpréteur de commandes pour NT. +\end{description} + +\subsubsection{Les séparateurs de chemins} + +L'API Win32 admet les deux caractères \verb+/+ et \verb+\+ comme +séparateurs pour les noms de fichiers. Mais pas les interpréteurs +de commande ! Donc, chaque fois qu'un nom de fichier est utilisé par +un programme, vous pouvez utiliser l'un ou l'autre séparateur, mais +sur la ligne de commande, vous devez utiliser \verb+\+ comme unique +séparateur. Ce qui explique que vous pouvez taper : +\begin{verbatim} + C:\>set TEXMFCNF=C:/Program Files/TeXLive/texmf-var/web2c +\end{verbatim} +mais pas : +\begin{verbatim} +C:\>dir "C:/Program Files/TeXLive" +\end{verbatim} +Dans le premier cas, seuls des programmes utiliseront le chemin que +vous avez fourni, dans le deuxième cas, c'est l'interpréteur de commandes +qui va vouloir s'en servir directement. + +Tout ceci pour dire, ne soyez pas surpris de voir des noms de +fichiers écrits avec des \path{/} en guise de séparateurs, à la mode Unix ; +Windows-\TL{} est un portage de \Webc, dont l'objectif est d'être +compatible avec toutes les plates-formes. Pour cette raison, les +fichiers de configuration utilisent la convention Unix des séparateurs +dans les noms de fichiers. + +\subsubsection{Les systèmes de gestion de fichiers} + +Une des plus mauvaises caractéristiques de Windows~9x vis-à-vis de \TeX{} +est probablement ce qu'on appelle le système de fichiers FAT. +\TeX{} utilise une myriade de petits fichiers dont la taille varie +entre 1~ko et 5~ko. Le système FAT est ancien et date d'une époque bien +antérieure à l'apparition des disques de plusieurs Go qui sont monnaie +courante aujourd'hui. Tout ceci pour dire qu'il n'est pas possible de +gérer efficacement les dizaines de fichiers de \TL{} sur un disque dur +formaté en FAT. Les fichiers se voient allouer chacun 32~ko au +minimum, donc l'installation de \TL{} utilise beaucoup plus de +place que nécessaire. + +Le seul moyen d'éviter ce problème consiste à +passer en FAT32 ou NTFS. Ces systèmes sont plus récents et n'ont pas +l'inconvénient de FAT. La taille des clusters par défaut y est de 4~ko, +leur accès est plus performant. NTFS est protégé, redondant et on peut +même ajuster la taille des clusters jusqu'à un minimum de 512 octets +à la création. + +\subsubsection{Comment ajouter un répertoire à votre PATH} + +Il existe dans votre système des variables qui +agissent un peu comme des variables globales à tous vos programmes. On +appelle cet ensemble de variables \emph{l'environnement}. Chaque +programme hérite à son démarrage d'une copie de l'environnement. Il peut +modifier les valeurs des variables, ajouter ou enlever des variables, +mais les modifications ne sont effectives que pour sa propre copie et +ne sont pas propagées aux autres programmes, sauf à ceux qu'il lance +lui-même. + +Votre variable PATH est une variable spéciale de l'environnement +utilisée pour chercher les programmes lorsque vous en demandez +l'exécution. Il y a une procédure différente pour modifier cette +variable selon que vous êtes sous Windows~9x, \acro{ME} ou +\acro{NT}/\acro{2K}/\acro{XP}. + +\begin{description} +\item[Windows 95/98] +Éditez votre fichier \path{autoexec.bat}. Dans ce fichier, vous +trouverez une ligne commençant par \path{PATH=} et suivie par une +liste de répertoires séparés par des points-virgules. Ajoutez le répertoire +contenant les programmes exécutables au bout de cette ligne. Cette +ligne ressemble alors à la suivante : +\begin{verbatim} +PATH=C:\windows;C:\windows\system;C:\TeXLive2007\bin\win32 +\end{verbatim} +Les modifications ne prendront effet qu'après redémarrage de la machine. +\item[Windows ME] + Vous devez utiliser le programme + \path{C:\string\windows\string\system\string\msconfig.exe} pour pouvoir + modifier une des + variables d'environnement. Dans ce programme, choisissez l'onglet + Environnement, ensuite ajoutez ou modifiez la variable de votre + choix. Il faut alors redémarrer la machine pour que les modifications + prennent effet. +\item[Windows NT/2K/XP] + Ouvrez le \guiseq{Panneau~de~Contrôle}, accessible depuis le menu + \guiseq{Démarrer\arw} \guiseq{Paramètres\arw Panneau~de~Contrôle}. + Ouvrez l'icône Système, la fenêtre des \guiseq{Propriétés système} + s'ouvre. Choisissez l'onglet \textsf{Environnement} ou cherchez un + bouton \guiseq{Variables d'environnement} +parmi les différentes boîtes de dialogue offertes. +Vous pouvez maintenant modifier vos propres variables d'environnement. +Il est à noter que les variables d'environnement système communes à +tous les utilisateurs sont également affichées. Vous ne pouvez les +modifier que si vous avez les droits d'administrateur. Si c'est le +cas, vous pouvez modifier la variable \path{PATH} pour tous les +utilisateurs du système -- mais vous devez savoir précisément ce que +vous faites. + +S'il y a déjà un \path{PATH} défini pour votre compte utilisateur, cliquez +dessus. Dans le champ \textsf{Variable} apparaît \path{PATH} et dans le champ +\textsf{Valeur}, la liste courante de répertoires séparés par des +points-virgules. Ajoutez les répertoires où se trouvent vos exécutables (i.e. +\path{C:\string\TeXLive2007\string\bin\string\win32}). Si la variable +\path{PATH} n'est pas encore définie, il suffit de taper son nom dans le champ +\textsf{Variable} et la valeur initiale que vous souhaitez lui donner dans le +champ \textsf{Valeur}. Important : cliquez sur le bouton \textsf{Appliquer} +avant de cliquer sur \textsf{Ok}, de cette façon, les modifications seront +propagées immédiatement à la session courante. Soyez prudent quand vous +modifiez les variables d'environnement. +\end{description} + +Le meilleur moyen de savoir si une variable a été correctement définie +consiste à ouvrir une console et à taper +\begin{verbatim} +set VARIABLE +\end{verbatim} +la valeur correspondante doit alors être affichée.. + +\subsubsection{Les moteurs \TeX{}} + +En lisant la documentation de \Webc{}, on voit +que les différents programmes dérivés de \TeX{} +utilisent le même moteur de base. Par exemple, \path{tex.exe} et +\path{latex.exe} sont des copies exactes du même programme, mais +chacun utilise un fichier de format différent, en se basant sur le nom +par lequel il a été invoqué. + +Sous Unix, ce mode de fonctionnement est réalisé en faisant appel aux +\emph{liens symboliques}. On peut ainsi économiser un peu d'espace disque, +car plusieurs moteurs de base sont utilisés avec différents fichiers +de format. + +L'API Win32 ne connaît pas les liens symboliques. Dans le but +d'économiser presqu'autant d'espace disque, tous les moteurs +\TeX{} de base ont été mis dans des DLL (\emph{Dynamic Linked + Library}). Ceci se traduit par l'aspect suivant pour les fichiers : +\begin{alltt} + 2006-11-23 07:06 2 560 latex.exe + 2007-01-06 23:54 1 073 664 pdftex.dll + 2006-01-28 08:05 2 560 pdftex.exe +\end{alltt} +\noindent et le fichier \path{latex.exe} n'est ni plus ni moins qu'une copie +presqu'identique du fichier \path{pdfetex.exe}, utilisant le même moteur +\path{pdftex.dll}. La même astuce a été utilisée pour la famille de +programmes \path{mktex*.exe} qui utilisent tous la bibliothèque +\path{mktex.dll}. + +Il existe même un outil générique appelé \path{irun.exe} qui permet +de simuler les liens durs de Unix sous Win32, mais uniquement pour les +fichiers \file{.exe}. + +\subsection{En cas de problème} +\label{sec:troubleshooting} + +\subsubsection{Que faire si \texttt{latex} ne trouve pas vos fichiers ?} + +\begin{itemize} +\item \cmdname{kpsewhich} est l'outil de choix pour trouver la source + de n'importe quel problème. Malheureusement, \cmdname{kpsewhich} + écrit le résultat de ses recherches sur le flux \path{stderr}, et + les anciennes versions de la console de Windows ne savaient pas + rediriger ce flux vers un fichier\footnote{En fait, les systèmes + Windows NT/2K/XP savent le faire, grâce à leur nouvel interpréteur + de commandes, mais l'astuce spécifique à \KPS{}-Win32 fonctionne + sur toutes les consoles.}. Pour des besoins de diagnostic, vous + pouvez positionner temporairement une variable d'environnement en tapant + dans une console : +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +Vous pouvez également définir un niveau de trace : +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +La trace de l'exécution des commandes suivantes sera conservée dans le +fichier \filename{err.log}. Si vous voulez rediriger le flux stderr sur le +flux stdout, ce qui n'est normalement possible sous aucune version de Windows, +il vous suffit de faire : +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +De cette manière, vous pourrez rediriger à la fois stdout et stderr +dans le même fichier. + +\item En supposant que l'installation a été faite dans + \texttt{C:/TeX}, vérifiez les valeurs suivantes :\\ + \begin{tabular}{ll} + \texttt{kpsewhich -expand-path \$SELFAUTOPARENT} & \texttt{C:/TeX} \\ + \texttt{kpsewhich -expand-path \$TEXMF} & \texttt{C:/TeX/texmf....} \\ + \texttt{kpsewhich -expand-path \$TEXMFCNF} & + \texttt{.;C:/TeX/texmf-var/web2c;} \\ + \texttt{kpsewhich -expand-var \$TEXINPUTS} & \texttt{.;C:/TeX/texmf/tex//} + \end{tabular} + +\item Si des variables d'environnement liées à TeX sont + positionnées dans votre environnement, enlevez-les, car elles + masquent les valeurs existant dans le fichier \filename{texmf.cnf}. + +\item Vérifiez les valeurs de :\\ + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \texttt{C:/TeX/texmf-dist/fonts/tfm/public/cm/cmr10.tfm}\\ + \texttt{kpsewhich latex.fmt}& \texttt{C:/TeX/texmf-var/web2c/latex.fmt} + \end{tabular} + +\item à ce point, si tout est correct, \TeX{} et tous les + programmes associés doivent fonctionner. Si ce n'est pas le cas, + vous devez poursuivre vos investigations avec l'option \path{-debug=n} de + \path{kpsewhich} et contrôler toutes les valeurs. Essayez + d'identifier et de signaler le problème. +\end{itemize} + +\subsubsection{Que faire si votre installation ne fonctionne toujours + pas selon vos attentes ?} + +Il faut se poser plusieurs questions : +\begin{enumerate} +\item Est-ce que \path{tex.exe} est bien dans mon \path{PATH} ? + +\item Est-ce que la variable d'environnement \path{TEXMFCNF} est bien + positionnée à \\ + \path{C:/TeXLive2007/texmf-var/web2c} (valeur par défaut) ? + +\item Est-ce qu'il y a des erreurs dans le fichier de log \file{tlmpgui.log} + généré lors de l'installation par \filename{tlmpgui} ? Ce fichier est dans + le répertoire \file{TEMP}, les erreurs sont repérées par la séquence + \samp{Error}. + +\item Y a-t-il des correctifs de bogues correspondant au problème à + \url{http://www.tug.org/tex-live.html} (improbable, mais il vaut + mieux le vérifier). + +\end{enumerate} + +Le logiciel \TL{} est composé de centaines de +programmes et de milliers de fichiers d'origines très diverses. Il +est pratiquement impossible de prédire toutes les causes possibles de +problèmes. Néanmoins, nous ferons notre possible pour vous aider dans +tous les cas (voir section~\ref{sec:help}, \p.\pageref{sec:help}). + +% don't use \Webc so the \uppercase in the headline works. +%\section{Guide d'utilisation du système \protect\Webc{}} +\section{Guide d'utilisation du système Web2C} + +\Webc{}est une collection intégrée de programmes relatifs à \TeX, +c.-à-d. \TeX{} lui-même, \MF{}, \MP, \BibTeX{}, etc. +C'est le c\oe ur de \TL{}. + +Un peu d'histoire : la première implémentation a été réalisée par Tomas +Rokicki qui, en 1987, a développé un premier système \TeX{}-to-C en adaptant +les \textit{change files} pour Unix (travail de Howard Trickey et Pavel Curtis +principalement). Tim Morgan assura la maintenance du système, dont le nom fut +remplacé durant cette période par Web-to-C. En 1990, Karl Berry reprit le +travail, assisté par des dizaines de contributeurs, et en 1997 il passa le +relais à Olaf Weber. + +Le système \Webc{} fonctionne sur Unix, les systèmes Windows 32 bits, +\MacOSX{} et de nombreux autres systèmes d'exploitation. Il utilise les +sources originales de D.E.~Knuth pour \TeX{} et les autres programmes de base +écrits en \web{} qui sont tous traduits en langage C. Les composants du noyau +de \TeX{} sont : + +\begin{description} +%\renewcommand{\makelabel}[1]{\descriptionlabel{\makebox[0.6in][l]{#1}}} +\item[bibtex] Gère les bibliographies. +\item[dmp] \cmdname{troff} vers MPX (dessins \MP{}). +\item[dvicopy] Copie le fichier \dvi{} en supprimant les fontes +virtuelles. +\item[dvitomp] Convertit le fichier \dvi{} en MPX (dessins \MP{}). +\item[dvitype] Convertit le fichier \dvi{} en un texte lisible. +\item[gftodvi] Visualisation de fontes génériques GF. +\item[gftopk] Convertit les fontes génériques GF en fontes bitmap PK. +\item[gftype] Convertit le fichier GF en un texte lisible. +\item[makempx] Typographie des étiquettes \MP{}. +\item[mf] Création de fontes. +\item[mft] Mise en page de code source \MF{}. +\item[mpost] Création de diagrammes techniques. +\item[mpto] Extraction d'étiquettes \MP{}. +\item[newer] Comparaison de dates de modification (fichiers). +\item[patgen] Création de motifs de césure. +\item[pktogf] Convertit les fontes bitmap PK en fontes génériques GF. +\item[pktype] Convertit les fontes PK en un texte lisible. +\item[pltotf] Convertit les fichiers PL (lisibles) en TFM. +\item[pooltype] Affiche les fichiers \web{} pool. +\item[tangle] \web{} vers Pascal. +\item[tex] Composition de textes. +\item[tftopl] Convertit les fichiers TFM en PL (lisibles). +\item[vftovp] Convertit les fontes virtuelles VF en VPL (lisibles). +\item[vptovf] Convertit les fontes VPL en fontes virtuelles VF. +\item[weave] \web{} vers \TeX. +\end{description} + +La syntaxe et les fonctions précises de ces programmes sont décrites +dans +la documentation des composants individuels et dans le manuel \Webc{} +lui-même. Toutefois, connaître un certain nombre de principes +régissant +l'ensemble de la famille de programmes peut aider à exploiter de +façon +optimale votre installation \Webc{}. + + Presque tous ces programmes suivent les +options standard de \acro{GNU} : +\begin{description} +%\renewcommand{\descriptionlabel}[1]{\makebox[1.4in][l]{#1}} + \item[\texttt{-{}-help}] imprime le sommaire de l'utilisation, + \item[\texttt{-{}-verbose}] imprime le rapport détaillé du processus, + \item[\texttt{-{}-version}] imprime seulement le numéro de version. +\end{description} + +Pour localiser les fichiers, les programmes \Webc{} utilisent la +bibliothèque de recherche \KPS{}. Cette bibliothèque utilise une +combinaison de +variables d'environnement et un certain nombre de fichiers de +paramètres pour optimiser la recherche dans l'énorme arborescence +\TeX{}. +\Webc{} peut exécuter une recherche dans plusieurs arborescences +simultanément, ce qui est utile si l'on souhaite maintenir la +distribution standard de \TeX{} et les extensions locales dans deux +arborescences distinctes. Afin d'accélérer la recherche de fichiers, la +racine de chaque arborescence possède un fichier \file{ls-R} contenant +une +entrée donnant le nom et le chemin de chaque fichier situé sous la +racine. + +\subsection{Kpathsea et la recherche de fichiers} + +Décrivons en premier lieu le mécanisme de recherche de la bibliothèque +\KPS{}. + +Nous appelons \emph{chemin de recherche} une liste, séparée par +\og deux-points\fg{} ou \og point-virgule\fg{}, d'éléments, appelés +\emph{éléments de chemin}, qui sont des noms de répertoires. +Un chemin de recherche peut provenir de plusieurs sources. +Pour rechercher un fichier \samp{my-file} le long +d'un chemin \samp{.:/dir}, \KPS{} vérifie chaque élément du +chemin : +d'abord \filename{./my-file}, puis \filename{/dir/my-file}, et renvoie la +première occurrence (voire toutes). + +Afin d'optimiser l'adaptation à tous les systèmes d'exploitation, +\KPS{} peut utiliser dans les noms de fichiers des séparateurs +différents +de deux-points (\samp{:}) et barre oblique (\samp{/}) + pour les systèmes non-Unix. + +Pour vérifier un élément de chemin particulier \var{p}, \KPS{} +vérifie d'abord si une base de données existante (voir +page~\pageref{Filename-database}) contient \var{p}, +c.-à-d. si la base de données se trouve dans un +répertoire qui est un préfixe de \var{p}. Si oui, la spécification +du chemin est comparée avec le contenu de la base de données. + +Si la base de données n'existe pas, si elle ne s'applique pas à cet +élément de chemin ou si elle ne contient aucune correspondance, +la recherche est lancée sur tout le système de fichiers (si cela +n'a +pas été interdit +par une commande commençant par \samp{!!} + et si le fichier cherché est censé exister). +\KPS{} construit la liste de répertoires qui correspondent +à cet élément de chemin, puis cherche le fichier dans chaque +élément +de cette liste. + +La condition \og le fichier est censé exister\fg{} est liée aux +fichiers~\samp{.vf} et aux fichiers d'entrée lus par la commande \TeX\ +\cs{openin}. +De tels fichiers peuvent ne pas exister (par exemple \file{cmr10.vf}), +il +est donc inutile de les rechercher sur le disque. De plus, si vous +n'actualisez pas le fichier \file{ls-R} lors de l'installation d'un +nouveau fichier +\samp{.vf}, +il ne sera jamais trouvé. +Chaque élément de chemin est alors vérifié : d'abord dans +la base de données puis sur le disque. Si une occurrence est +trouvée, la recherche s'arrête et le résultat est obtenu. + +Bien que l'élément de chemin le plus simple et le plus fréquent +soit un +nom de répertoire, \KPS{} supporte d'autres types d'éléments dans +les +chemins de recherche : des valeurs par défaut différentes pour chaque +programme, des noms de variables d'environnement, des valeurs de +fichiers de +configuration, les répertoires de l'utilisateur et la recherche +récursive +de sous-répertoires. Nous disons alors que \KPS{} \emph{étend} un +élément, c'est-à-dire que \KPS{} transforme toutes ces +spécifications +en noms de répertoires de base. Cette opération est décrite dans les sections +suivantes. + +Notons que si le nom de fichier cherché est absolu ou explicitement +relatif, c'est-à-dire commençant par \samp{/}, \samp{./} ou +\samp{../}, \KPS{} ne vérifie que l'existence de ce fichier. +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{Un exemple de fichier de configuration} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Les différentes sources} +\label{Path-sources} + +Un chemin de recherche peut provenir de plusieurs sources. Voici l'ordre +dans lequel \KPS\ les utilise. + +\begin{enumerate} +\item + Une variable d'environnement définie par l'utilisateur, par exemple + \envname{TEXINPUTS}. Les variables d'environnement avec une + extension attachée (nom de programme) sont d'abord prises en compte : + par exemple, si \samp{latex} est le nom du programme exécuté, + \envname{TEXINPUTS.latex} passera avant \envname{TEXINPUTS}. +\item + Un fichier de configuration de programme spécifique, par exemple une +ligne + \og \texttt{S /a:/b}\fg{} dans le fichier \file{config.ps} de \cmdname{dvips}. +\item + Un fichier de configuration \file{texmf.cnf} de \KPS{} contenant une + ligne telle que \\ \samp{TEXINPUTS=/c:/d} (voir ci-dessous). +\item La valeur par défaut obtenue à la compilation. +\end{enumerate} +\noindent On peut voir chacune de ces valeurs pour un chemin de +recherche +donné en utilisant l'option de débogage (voir page~\pageref{Debugging}). + +\subsubsection{Fichiers de configuration} + +\begingroup\tolerance=3500 +\KPS{} lit dans les \emph{fichiers de configuration à + l'exécution} appelés \file{texmf.cnf} les chemins de recherche et +d'autres définitions. Le chemin pour accéder à ces fichiers dans +l'arborescence est stocké dans la variable \envname{TEXMFCNF} +(par défaut ces +fichiers se trouvent dans le sous-répertoire \file{texmf/web2c}). +\emph{Tous} les fichiers \file{texmf.cnf} se trouvant dans le chemin +de recherche vont être lus et les définitions provenant +de fichiers précédents écraseront celles des fichiers suivants. Par +exemple, avec un chemin tel que \verb|.:$TEXMF|, les définitions du +fichier \filename{./texmf.cnf} écrasent celles de +\verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + Les commentaires sont signalés par un \texttt{\%} et + se terminent à la fin de la ligne. +\item + Les lignes vides sont ignorées. +\item + Un \bs{} à la fin d'une ligne joue le rôle d'un lien entre deux + lignes, c'est-à-dire que la ligne courante se poursuit à la ligne + suivante. Dans ce cas, les espaces présents au début de la ligne + suivante ne sont pas ignorés. +\item + Toutes les autres lignes sont de la forme : +\begin{alltt} + \emph{variable}[.\emph{progname}] [=] \emph{value} +\end{alltt}% + où le \samp{=} et les espaces autour sont optionnels. +\item + Le nom de la \ttvar{variable} peut contenir n'importe + quel caractère autre que les espaces, \samp{=}, ou \samp{.}, mais + on recommande d'utiliser \samp{A-Za-z\_} pour éviter les + problèmes. +\item + Si \samp{.\var{progname}} est présent, sa définition + s'applique seulement si le programme exécuté se nomme + \texttt{\var{progname}} ou \texttt{\var{progname}.exe}. Ceci permet + par exemple à différentes variantes de \TeX{} d'avoir des chemins de + recherche différents. +\item + \var{value} peut contenir n'importe quel caractère + excepté \code{\%} et \samp{@}. + L'option + \code{\$\var{var}.\var{prog}} + n'est pas disponible à droite du signe \samp{=} ; + à la place, on doit utiliser une variable supplémentaire. Un +\samp{;}\ dans \var{value} +est compris comme un + \samp{:}\ si on travaille sous Unix ; ceci est très utile et + permet d'avoir un seul \file{texmf.cnf} pour les systèmes Unix, + \acro{MS-DOS} et Windows. +\item + Toutes les définitions sont lues avant tout désarchivage ou + décompactage, de telle façon que les variables peuvent être + référencées avant d'être définies. +\end{itemize} +Voici un fichier de configuration illustrant les points +précédents +\ifSingleColumn + +%\verbatiminput{examples/ex5.tex} % trop petit (df) +\begin{verbatim} +TEXMF = {$TEXMFLOCAL,!!$TEXMFMAIN} +TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic;}// +TEXINPUTS.fontinst = .;$TEXMF/tex//;$TEXMF/fonts/afm// +% e-TeX related files +TEXINPUTS.elatex = .;$TEXMF/{etex,tex}/{latex,generic;}// +TEXINPUTS.etex = .;$TEXMF/{etex,tex}/{eplain,plain,generic;}// +\end{verbatim} + +\else +dans la figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Expansion d'un chemin de recherche} +\label{Path-expansion} + +\KPS{} reconnaît certains caractères et constructions spéciales dans +les chemins de recherche, semblables à ceux disponibles dans les +\textit{shells} Unix. Ainsi, le chemin complexe, +\verb+~$USER/{foo,bar}//baz+ %$ +étend la recherche vers tous les sous-répertoires situés sous les +répertoires \file{foo} et \file{bar} dans le répertoire utilisateur +\texttt{\$USER} contenant un répertoire ou un fichier appelé %$ +\file{baz}. Ces expansions sont explicitées dans les sections +suivantes. + +\subsubsection{Expansion par défaut} +\label{Default-expansion} + +\tolerance=2500 +Si le chemin de recherche le plus prioritaire (voir +section~\ref{Path-sources}) contient un \samp{:} +\emph{supplémentaire} (c.-à-d. en début ou fin de ligne ou +double), \KPS{} insère à cet endroit le chemin suivant dont la +priorité définie est immédiatement inférieure. Si ce chemin inséré +possède un \samp{:} supplémentaire, le même processus se +répète pour le chemin prioritaire suivant. +Par exemple, étant donné une variable d'environnement définie ainsi + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +la valeur de \code{TEXINPUTS} d'après le fichier \file{texmf.cnf} étant + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +alors la valeur finale utilisée pour la recherche sera + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Comme il est inutile d'insérer la valeur par défaut en plusieurs +endroits, \KPS{} applique la substitution à seulement un \samp{:} +supplémentaire et laisse les autres inchangés : il cherche d'abord un +\samp{:} en début de ligne, puis en fin de ligne et enfin un double +\samp{:}. + +\subsubsection{Expansion spécifiée par les accolades} + +Option utile, l'expansion par le biais des accolades +signifie, par exemple, que \verb+v{a,b}w+ va permettre la recherche +dans \verb+vaw:vbw+. Les définitions emboîtées sont autorisées. Ceci +peut être utilisé pour établir des hiérarchies \TeX{} multiples en +attribuant une liste entre accolades à \code{\$TEXMF}. Par exemple, +dans \file{texmf.cnf}, on trouve une définition du type suivant +(il y a en fait plus de répertoires) : +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFSYSVAR,!!$TEXMFMAIN} +\end{verbatim} +Avec ceci, on peut écrire quelque chose comme +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +ce qui signifie que, après avoir cherché dans le répertoire courant, les +arborescences complètes \code{\$TEXMFHOME/tex} suivie de +\code{\$TEXMFLOCAL/tex} (sur le disque) et ensuite les arborescences +\code{!!\$TEXMFVAR/tex} et \code{!!\$TEXMFMAIN/tex} +(définies dans le fichier de référence \file{ls-R} \emph{seulement}) seront +inspectées. C'est un moyen pratique permettant d'utiliser en parallèle deux +distributions \TeX{}, une \og gelée\fg{} (sur un \CD, par exemple) et une +autre régulièrement mise à jour avec de nouvelles versions quand elles +deviennent disponibles. En utilisant la variable \code{\$TEXMF} dans toutes +les définitions, on est toujours sûr d'inspecter d'abord l'arborescence la +plus récente. + +\subsubsection{Expansion des sous-répertoires} +\label{Subdirectory-expansion} + +Deux barres \samp{//} ou plus consécutives dans une partie d'un chemin suivant +un répertoire \var{d} sont remplacées par tous les sous-répertoires de +\var{d} : d'abord les sous-répertoires directement présents dans +\var{d}, ensuite les sous-répertoires de ceux-ci, et ainsi de suite. À +chaque niveau, l'ordre dans lequel les répertoires sont inspectés est +\emph{non-déterminé}. + +Dans le cas où l'on spécifie une partie de nom de fichier après le +\samp{//}, seuls sont inclus les sous-répertoires auxquels le nom +correspond. Par exemple, \samp{/a//b} va correspondre aux répertoires +\file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, et ainsi de suite, mais pas à \file{/a/b/c} ni +\file{/a/1}. + +Des \samp{//} multiples et successifs dans un chemin sont possibles, +mais \samp{//} au début d'un chemin est ignoré. + +\subsubsection{Liste des caractères spéciaux et de leur signification : + récapitulatif} + +La liste suivante récapitule la signification des caractères spéciaux +dans les fichiers de configuration de \KPS{}. + +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} + +\begin{ttdescription} + +\item[\CODE{:}] Séparateur dans un chemin de recherche ; au début + ou à la fin d'un chemin, il remplace le chemin par défaut. + +\item[\CODE{;}] Séparateur dans les systèmes non-Unix + (joue le rôle de \code{:}). + +\item[\CODE{\$}] Substitue le contenu d'une variable. + +\item[\CODE{\string~}] Représente le répertoire racine de + l'utilisateur. + +\item[\CODE{\char`\{...\char`\}}] Expansion par les accolades, + par exemple \verb+a{1,2}b+ devient \verb+a1b:a2b+. + +\item[\CODE{//}] La recherche concernera aussi les sous-répertoires + (peut être inséré n'importe où dans un chemin sauf au début). + +\item[\CODE{\%}] Début d'un commentaire. + +\item[\CODE{\bs}] Caractère de continuation de ligne (permet les + entrées sur plusieurs lignes). + +\item[\CODE{!!}] Cherche \emph{seulement} dans la base de + données pour localiser le fichier et \emph{ne cherche pas} sur le disque. + +\end{ttdescription} + +\subsection{Les bases de données} +\label{Filename-database} + +\KPS{} a une certaine profondeur d'investigation pour minimiser les +accès disque durant les recherches. Néanmoins, dans le cas de +distributions comprenant beaucoup de répertoires, inspecter chaque +répertoire possible pour un fichier donné peut durer excessivement +longtemps (ceci est typiquement le cas quand plusieurs centaines de +répertoires de polices de caractères doivent être parcourus). En +conséquence, \KPS{} peut utiliser un fichier texte appelé \file{ls-R} --- en +fait une base de données +construite au préalable --- qui fait correspondre +les fichiers à leur répertoire, ce qui permet d'éviter une recherche +exhaustive sur le disque. + +Un deuxième fichier appelé \file{aliases} (qui est également une base de +données) permet de donner +des noms différents aux fichiers listés dans \mbox{\file{ls-R}}. Ceci peut +aider à adapter ses fichiers source aux conventions de \acro{DOS}~8.3 pour les +noms de fichiers. + +\subsubsection{Le fichier base de données} +\label{ls-R} + +Comme nous l'avons expliqué ci-dessus, le nom du principal fichier-base de +données doit être \mbox{\file{ls-R}}. +Dans votre installation, vous pouvez en mettre un à la racine de chaque +arborescence \TeX{} que vous désirez voir +inspecter (\code{\$TEXMF} par défaut) ; la plupart des sites ont +une seule arborescence \TeX{}. \KPS{} cherche les fichiers \file{ls-R} +dans le chemin spécifié dans la variable \code{TEXMFDBS}. + +La meilleure façon de créer et mettre à jour le fichier \file{ls-R} +est d'exécuter le script \cmdname{mktexlsr} inclus dans la +distribution. Il est appelé par les divers scripts \cmdname{mktex}\dots\ +En principe, ce script exécute uniquement la commande +%cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R| +% Remplacé (df) car \path|...| plante à cause de \let\path\url. +\begin{alltt} +cd \var{/your/texmf/root} && \boi{}ls -1LAR ./ >ls-R +\end{alltt} +en supposant que la commande \code{ls} de votre système produise le bon +format de sortie (le \code{ls} de \acro{GNU} convient +parfaitement). Pour s'assurer que la base de données est toujours à +jour, le meilleur moyen est de la reconstruire en utilisant la table +des \code{cron}, de telle façon que le fichier \file{ls-R} prenne +automatiquement en compte les changements dans les fichiers +installés, par exemple après une installation ou une +mise à jour d'un composant \LaTeX{}. + +Si un fichier n'est pas trouvé dans la base de données, par défaut +\KPS{} décide de le chercher sur le disque. Par contre, si un élément du +chemin commence par \samp{!!}, \emph{seule} la base de données +sera inspectée pour cet élément, jamais le disque. + +\subsubsection{kpsewhich : programme de recherche dans une arborescence} +\label{Invoking-kpsewhich} + +Le programme \texttt{kpsewhich} effectue une recherche dans une +arborescence indépendamment de toute application. On peut le +considérer comme une sorte de \code{find} pour localiser des fichiers +dans les arborescences \TeX{} (ceci est largement utilisé dans les +scripts \cmdname{mktex}\dots\ de la distribution). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +Les options spécifiées dans \ttvar{option} peuvent +commencer soit par \samp{-} soit par \samp{-{}-} ; n'importe quelle +abréviation claire est acceptée. + +\KPS{} considère tout argument non optionnel dans la ligne de commande +comme un nom de fichier et renvoie la première occurrence trouvée. Il +n'y a pas d'option pour renvoyer tous les fichiers ayant un nom +particulier (vous pouvez utiliser le \cmdname{find} d'Unix pour cela). + +Les options les plus importantes sont décrites ci-après. + +\begin{ttdescription} +%\renewcommand{\makelabel}[1]{\descriptionlabel{\makebox[1.2in]{#1}}} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} \\ + Définit la résolution à \ttvar{num} ; ceci affecte + seulement la recherche des fichiers \samp{gf} et \samp{pk}. \samp{-D} est un + synonyme pour assurer la compatibilité avec \cmdname{dvips}. Le défaut + est 600. +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Définit le format pour la recherche à \ttvar{name}. + Par défaut, le format est estimé en fonction du nom de fichier. + Pour les formats qui n'ont pas de suffixe clair associé, comme les + fichiers de support \MP{} et les fichiers de configuration + \cmdname{dvips}, vous devez spécifier le nom connu de \KPS, comme + \texttt{tex} ou \texttt{enc files}. Exécutez la commande + \texttt{kpsewhich -{}-help} pour obtenir la liste précise. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Définit le nom du mode comme étant \ttvar{string} ; +ceci affecte seulement la recherche des \samp{gf} et des \samp{pk}. +Pas d'option par défaut, n'importe quel mode sera trouvé. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Fait tout ce qui est possible pour trouver les fichiers, ce qui +inclut une recherche sur le disque. Par défaut, seule la base de +données \file{ls-R} est inspectée, dans un souci d'efficacité. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Recherche dans le chemin \ttvar{string} (séparé par +deux-points comme d'habitude), au lieu de prendre le chemin à partir +du nom de fichier. \samp{//} et toutes les expansions habituelles sont +supportées. + Les options \samp{-{}-path} et \samp{-{}-format} s'excluent mutuellement. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Définit le nom de programme comme étant \ttvar{name}. + Ceci peut affecter les chemins de recherche via l'option + \texttt{.\var{progname}} dans les fichiers de configuration. + Le défaut est \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + Montre le chemin utilisé pour la recherche des fichiers de type +\ttvar{name}. + On peut utiliser soit une extension de fichier (\code{.pk}, \code{.vf}, + etc.), soit un nom de fichier, comme avec l'option \samp{-{}-format}. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + Définit les options de débogage comme étant + \ttvar{num}. +\end{ttdescription} + +\subsubsection{Exemples d'utilisation} +\label{SExamplesofuse} + +Jetons un coup d'{\oe}il à \KPS{} en action ; voici une recherche +toute simple : + +\begin{alltt} +> \Ucom{kpsewhich article.cls} +/usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +Nous recherchons le fichier \file{article.cls}. Puisque le suffixe +\file{.cls} est non-ambigu, nous n'avons pas besoin de spécifier que +nous voulons rechercher un fichier de type \optname{tex} (répertoires des +fichiers sources de \TeX{}). Nous le trouvons dans le sous-répertoire +\filename{tex/latex/base} du répertoire racine \samp{TEXMF}. De même, + le suffixe non-ambigu permet de trouver facilement les autres fichiers. +\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} + +Le dernier exemple est une base de données bibliographiques pour \BibTeX{} +servant aux articles de \textsl{TUGBoat}. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Les fichiers de glyphes de fontes bitmaps, de type +\file{.pk}, sont +utilisés pour l'affichage par des programmes comme \cmdname{dvips} et +\cmdname{xdvi}. Rien n'est renvoyé dans ce cas puisque il n'y a pas +de fichiers Computer Modern \file{.pk} pré-créés sur nos systèmes +(nous utilisons les versions type~1 du \TL{}). +\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} +Pour ces fontes (alphabet phonétique de l'université Washington), +nous avons dû créer les fichiers \file{.pk} et, puisque le mode \MF{} par +défaut sur notre installation est \texttt{ljfour} avec une résolution de +base de 600\dpi{} \textit{(dots per inch)}, cette instance est trouvée. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +Dans ce cas, lorsque l'on spécifie que nous recherchons une +résolution de 300\dpi{} (\texttt{-dpi=300}) nous voyons qu'aucune fonte +pour cette résolution n'est disponible dans le système. En fait, un +programme comme \cmdname{dvips} ou \cmdname{xdvi} ne s'en +préoccuperait pas et créerait les fichiers \file{.pk} à la +résolution demandée en utilisant le script \cmdname{mktexpk}. + +Intéressons-nous à présent aux fichiers d'en-tête et de configuration +pour \cmdname{dvips}. +Regardons en premier le fichier \file{tex.pro} communément utilisé +pour le support de \TeX{} avant de regarder le fichier +de configuration générique (\file{config.ps}) et la liste des fontes +\PS{} \file{psfonts.map}. Depuis l'édition 2004, les fichiers +\file{.map} et les fichiers de codage ont changé de place dans +l'arborescence \dirname{texmf}. Comme le suffixe \file{.ps} est +ambigu, nous devons spécifier quel type particulier du fichier +\texttt{config.ps} nous considérons (\optname{dvips config}). +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich -{}-format="dvips config" config.ps} + /usr/local/texmf-var/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf-var/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +Regardons plus en détail les fichiers de support Times +\PS{} d'\acro{URW}. Leur nom standard dans le schéma de nommage des fontes +est \samp{utm}. Le premier fichier que nous voyons est le +fichier de configuration, qui contient le nom du fichier +de la liste : +\begin{alltt} +> \Ucom{kpsewhich -{}-format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +Le contenu de ce fichier est +\begin{alltt} + p +utm.map +\end{alltt} +qui pointe vers le fichier \file{utm.map}, que nous cherchons à +localiser ensuite. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +Ce fichier liste les noms des fichiers des +fontes \PS{} de type~1 dans la collection URW. Son contenu +ressemble à (nous ne montrons qu'une partie des lignes) : +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... \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} + +Il devrait être clair, d'après ces quelques exemples, qu'il est facile +de trouver l'endroit où se cache un fichier donné. C'est +particulièrement important si vous suspectez que c'est, pour une +raison quelconque, une mauvaise version du fichier qui est utilisée, +puisque \cmdname{kpsewhich} va vous montrer le premier fichier +trouvé. + +\subsubsection{Opérations de débogage} +\label{Debugging} + +Il est quelquefois nécessaire de savoir comment un programme référence +les fichiers. Pour permettre cela, \KPS{} offre +plusieurs niveaux de débogage : +\begin{ttdescription} +\item[\texttt{\ 1}] Appels à \texttt{stat} (test d'existence de fichier). Lors d'une + exécution utilisant une base de données \file{ls-R} à jour, ce niveau + ne devrait donner presque aucune information en sortie. +\item[\texttt{\ 2}] Références aux différentes tables (comme la base + de données \file{ls-R}, les fichiers de correspondance de fontes, les fichiers de + configuration). +\item[\texttt{\ 4}] Opérations d'ouverture et de fermeture des + fichiers. +\item[\texttt{\ 8}] Information globale sur la localisation des types + de fichiers recherchés par \KPS. Ceci est utile pour trouver où a été + défini le chemin particulier pour un fichier. +\item[\texttt{16}] Liste des répertoires pour chaque élément du + chemin (utilisé uniquement en cas de recherche sur le disque). +\item[\texttt{32}] Recherche de fichiers. +\end{ttdescription} +Une valeur de \texttt{-1} activera toutes les options ci-dessus ; en +pratique, c'est habituellement la valeur la plus adaptée. + +De la même façon, avec le programme \cmdname{dvips}, en utilisant une +combinaison d'options de débogage, on peut suivre en détail la +localisation des +différents fichiers. De plus, lorsqu'un fichier n'est +pas trouvé, la trace du débogage montre les différents répertoires dans +lesquels le programme va chercher tel ou tel fichier, donnant ainsi +des indices sur le problème. + +Généralement, comme la plupart des programmes appellent la +bibliothèque \KPS{} en interne, on peut sélectionner une option de +débogage en utilisant la variable d'environnement +\envname{KPATHSEA\_DEBUG}, et en la définissant égale à la valeur (ou +à une combinaison de valeurs) décrite(s) dans la liste ci-dessus. + +Note à l'intention des utilisateurs de Windows : il n'est pas facile +de rediriger les messages d'erreur vers un fichier sur ces +systèmes. À des fins de diagnostic, vous pouvez temporairement +affecter \texttt{KPATHSEA\_DEBUG\_OUTPUT=err.log} pour capturer le flux +standard d'erreur dans le fichier \texttt{err.log}. + +Considérons comme exemple un petit fichier source \LaTeX{}, +\file{hello-world.tex}, dont le contenu est le suivant. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +Ce petit fichier utilise simplement la fonte \file{cmr10}, aussi +allons voir comment \cmdname{dvips} prépare le fichier \PS{} +(nous voulons utiliser la version type~1 +des fontes Computer Modern, d'où l'option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +Dans ce cas, nous avons combiné le niveau 4 de débogage de +\cmdname{dvips} (chemins des fontes) avec l'option d'expansion des +éléments du chemin de \KPS\ (voir \cmdname{dvips} Reference Manual, +\OnCD{texmf/doc/html/dvips/dvips_toc.html} sur le \DVDlive{}). +La sortie (légèrement formatée) apparaît dans la +figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Recherche des fichiers de configuration}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Recherche du fichier prolog}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Recherche du fichier de fontes}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} commence par localiser ses fichiers de +fonctionnement. D'abord, \file{texmf.cnf} est trouvé, ce qui donne les +définitions pour les chemins de recherche servant à localiser les +autres fichiers, ensuite le fichier base de données \file{ls-R} (pour +optimiser la recherche des fichiers) et le fichier \file{aliases}, qui +permet de déclarer plusieurs noms (\p.ex., un nom \acro{DOS} de type +8.3 court et une version longue plus naturelle) pour le même +fichier. Ensuite \cmdname{dvips} continue en cherchant le fichier de +configuration générique \file{config.ps} avant de rechercher le fichier +de paramétrisation \file{.dvipsrc} (qui, dans notre cas, \emph{n'est +pas trouvé}). Enfin, \cmdname{dvips} localise le fichier de +configuration pour les fontes \PS{} Computer Modern +\file{config.cms} (ceci est lancé par l'option \mbox{\texttt{-Pcms}} de la +commande \cmdname{dvips}). Ce fichier contient la liste des fichiers + qui définissent la relation entre les noms des fontes +selon \TeX{}, selon \PS{} et dans le système de fichiers. +\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} veut chercher tous ces fichiers, y compris le +fichier générique d'association \file{psfonts.map}, qui est toujours +chargé (il contient des déclarations pour les fontes \PS{} les +plus communément utilisées ; voir la dernière partie de la Section +\ref{SExamplesofuse} pour plus de détails sur la gestion du fichier +d'association \PS{}). + +Arrivé là, \cmdname{dvips} s'identifie à l'utilisateur : + \begin{alltt} + This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) + \end{alltt} + +\ifSingleColumn +pour continuer ensuite en cherchant le fichier prologue \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 +pour continuer ensuite en cherchant le fichier prologue \file{texc.pro} +(voir la figure~\ref{fig:dvipsdbgb}). +\fi + +Après avoir trouvé ce fichier, \cmdname{dvips} affiche la date et +l'heure, et nous informe qu'il va générer le fichier +\file{hello-world.ps}, puis qu'il a besoin du fichier de fonte +\file{cmr10}, et que ce dernier est déclaré comme \og résident\fg{} +(pas besoin de bitmaps) : +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 is resident. +\end{alltt} +Maintenant la recherche concerne le fichier \file{cmr10.tfm}, qui est +trouvé, puis quelques fichiers de prologue de plus (non montrés) sont +référencés ; finalement le fichier de la fonte type~1 \file{cmr10.pfb} +est localisé et inclus dans le fichier de sortie (voir la dernière ligne). +\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, + ... + +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 +[1] +\end{alltt} + +\subsection{Options à l'exécution} + +\Webc{} offre la possibilité de contrôler à l'exécution bon nombre de +paramètres concernant la mémoire (en particulier la taille des +tableaux utilisés) à partir du fichier +\file{texmf.cnf} qui est lu par \KPS. +Les paramètres en question se trouvent +dans la troisième partie du fichier inclus dans la distribution \TL{}. + Les variables les plus importantes sont : +\begin{ttdescription} +\item[\texttt{main\_memory}] + Nombre total de mots mémoire disponibles pour + \TeX{}, \MF{} et \MP. Vous devez générer un nouveau fichier de + format pour chaque nouveau paramétrage. Par exemple, vous pouvez + générer une version large de \TeX{} et appeler le fichier de format + \texttt{hugetex.fmt}. En utilisant la méthode supportée par \KPS{} + qui consiste à suffixer la variable par le nom du programme, la valeur + particulière de la variable \texttt{main\_memory} destinée à ce + fichier de format sera lue dans le fichier \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Espace supplémentaire pour certaines structures de données de \TeX{} : + boîtes, \textit{glue}, points d'arrêt\dots{} Surtout utile si vous utilisez + \PiCTeX{} par exemple. +\item[\texttt{font\_mem\_size}] + Nombre de mots mémoire disponibles pour décrire les polices. C'est + plus ou moins l'espace occupé par les fichiers TFM lus. +\item[\texttt{hash\_extra}] + Espace supplémentaire pour la table de hachage des noms de séquences + de contrôle. Environ 10~000 de ces noms peuvent être stockés dans la + table principale ; si vous avez un document très volumineux avec + beaucoup de références croisées, il se peut que ce ne soit pas + suffisant. La valeur par défaut \texttt{hash\_extra} est \texttt{50000}. +\end{ttdescription} + +\noindent Évidemment, cette possibilité ne remplace pas une véritable +allocation dynamique des tableaux et de la mémoire, mais puisque c'est +complexe à implémenter dans le présent source \TeX{}, ces paramètres lus +à l'exécution fournissent un compromis pratique qui procure une certaine +souplesse. + +%\begin{comment} (supprimé (df) 5/5/2006, mail à K.B. + +\section{Installation sur un nouveau système Unix} + +Si vous avez un système Unix ne correspondant à aucun des exécutables +fournis, il faut compiler vous-même \TeX{} et tous ses programmes +satellites à partir des sources. Cela n'est pas aussi difficile qu'il +y paraît. Tout ce dont vous aurez besoin est contenu dans le +répertoire \texttt{source} qui se trouve sur le \DVDlive. + +\subsection{Prérequis} + +Il faut au moins 400\,Mo d'espace sur disque pour compiler la +totalité de \TeX{} et des programmes associés. +Vous aurez aussi besoin d'un +compilateur C \acro{ANSI}, de l'utilitaire \cmdname{make}, +d'un générateur d'analyseur lexical et d'un générateur d'analyseur +syntaxique. Nous recommandons les versions \acro{GNU} des programmes suivants +(\cmdname{gcc}, \acro{GNU}\cmdname{make}, \cmdname{m4}, +\cmdname{flex}, \cmdname{bison}). Vous pouvez utiliser d'autres compilateurs C +et d'autres programmes \cmdname{make} si vous maîtrisez +correctement la programmation sous Unix pour résoudre les +problèmes éventuels. La commande \texttt{uname} doit renvoyer une valeur +raisonnable. + +\subsection{Configuration} + +Tout d'abord, effectuez l'installation normale de \TL{} sur le disque +dur (voir section~\ref{sec:unix-install-disk}, +\p.\pageref{sec:unix-install-disk}). Vous pouvez sauter l'installation de +tous les binaires précompilés. +Décompactez ensuite sur le disque le fichier +\file{source.tar.bz2} (archive compressée) trouvé dans +le répertoire \dirname{source} et placez-vous dans +le répertoire où vous avez transféré l'ensemble. +\begin{alltt} +> \Ucom{cd /tmp/tl-source} +> \Ucom{bunzip2 source.tar.bz2} +> \Ucom{tar xf source.tar} +\end{alltt} + +Lancez maintenant \textsf{configure} de la façon suivante : +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/texlive/2007} +\end{alltt} + +Le répertoire \optname{-prefix} est le répertoire de base de +l'arborescence \TL{}, il est désigné par \var{TEXDIR} dans la suite. +\begin{comment} +Les répertoires utilisés sont les suivants : + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/texmf-dist} & répertoire de base pour les fontes, + macros, etc\\ + \dirname{$TEXDIR/man} & pages du manuel Unix\\ + \dirname{$TEXDIR/info} & manuels \acro{GNU} en format Info\\ + \dirname{$TEXDIR/bin/$archname} & exécutables.\\ +\end{tabular}\\ +\end{comment} +%$ + +Si vous ne voulez pas créer de répertoire \dirname{$archname} spécifique %$ +au système choisi pour stocker les exécutables (c.-à-d. les +copier directement dans \dirname{$TEXDIR/bin}), %$ +il faut exécuter \textsf{configure} avec l'option \\ +\verb|--disable-multiplatform|. + +Tapez \verb|./configure --help|, le programme affichera +les options supplémentaires disponibles (telles que supprimer l'installation +des extensions optionnelles comme \OMEGA\ ou \eTeX). + +\subsection{Exécuter \textsf{make}} +S'assurer que la variable ou l'option \texttt{noclobber} n'est pas définie. + et lancer le \cmdname{make} à la racine de l'arborescence de la façon +suivante : +\begin{alltt} +>> \Ucom{make world} +\end{alltt} +et aller prendre un café\dots + +Il peut être utile de garder une trace complète dans un fichier log en tapant : +\begin{alltt} +>> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} +Avant de conclure que tout va bien, vérifier que le fichier log ne contient +pas de message d'erreur : le \cmdname{make} de \acro{GNU} renvoie toujours +le message \samp{***} à chaque erreur d'exécution. Vérifier aussi que +tous les exécutables ont été créés. +\begin{alltt} +>> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +>> \Ucom{ls | wc} +\end{alltt} +Le résultat doit être supérieur à 200 (on peut tester le nombre exact +dans le répertoire \dirname{bin} de la distribution). + +Si vous avez besoin de droits spéciaux pour exécuter \texttt{make install}, +vous pouvez séparer \samp{make world} en deux processus différents : +\begin{alltt} +>> \Ucom{make all} +>> \Ucom{su} +>> \Ucom{make install strip} +\end{alltt} + +Après avoir installé vos nouveaux binaires, il faut suivre les procédures +normales de la post-installation, indiquées dans la +section~\ref{sec:postinstall}, \p.\pageref{sec:postinstall}. + +%\end{comment} supprimé (df) 5/5/2006 + +\section{Remerciements} + +\TL{} est le résultat des efforts +collectifs de pratiquement tous les groupes d'utilisateurs de \TeX. +La présente édition de \TL{} a été coordonnée par +Sebastian Rahtz et Karl Berry. +Voici la liste des principaux contributeurs : + +\begin{itemize} + +\item Les associations d'utilisateurs anglais, allemands, néerlandais et + polonais (\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST}, + respectivement) qui contribuent ensemble à l'infrastructure technique et + administrative. Soutenez votre association locale (\acro{GUTenberg} pour + les francophones) ! + +\item L'équipe du \acro{CTAN} qui distribue les images des distributions \TL{} + et fournit les sites d'hébergement pour le stockage et la mise à jour des + extensions qui sont la base de \TL. + +\item Peter Breitenlohner et toute l'équipe \eTeX{} qui construisent + les bases des successeurs de \TeX. + +\item Thomas Esser, car, sans lui, sa merveilleuse distribution \teTeX{} et + son aide continuelle, \TL{} n'existerait probablement pas. + +\item Michel Goossens, en tant que co-auteur de la documentation initiale. + +\item Eitan Gurari, dont le programme \TeX4ht a été utilisé pour créer la + version \HTML{} de cette documentation et qui travailla inlassablement à + l'améliorer, avec des délais très brefs. + +\item Hans Hagen qui, outre sa participation active aux tests, + a adapté le format \ConTeXt\ aux besoins de \TL{}. + +\item \Thanh, Martin Schr\"oder et toute l'équipe pdf\TeX\ qui continuent + inlassablement à étendre les performances de \TeX. + +\item Taco Hoekwater, pour ses efforts sans cesse renouvelés à l'amélioration + de MetaPost et de \TeX\ lui-même. + +\item Pawe{\l} Jackowski, pour l'installeur Windows \cmdname{tlpm}, +et Tomasz {\L}uczak, pour la version graphique \cmdname{tlpmgui}. + +\item Akira Kakuto, pour son aide précieuse qui nous a permis + d'intégrer dans \TL{} les binaires Windows de sa distribution \acro{W32TEX} + (\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}). + +\item Jonathan Kew et son employeur \acro{SIL}, pour avoir produit + Xe\TeX{} et pour avoir pris la peine de l'intégrer dans \TL{}. + +\item Reinhard Kotucha, pour son aide dans la lourde tâche consistant à +mettre à jour les innombrables extensions incluses dans \TL{} et pour ses +contributions sous Windows en particulier le script \texttt{getnonfreefonts}. + +\item Petr Ol\v{s}ak, qui coordonna et vérifia minutieusement toute la + partie tchèque et slovaque. + +\item Toshio Oshima, pour le visualisateur \cmdname{dviout} pour Windows. + +\item Fabrice Popineau, pionnier du développement de \TL{} sous Windows. + +\item Norbert Preining, pour son aide à la mise à jour de \TL, ses nombreuses + suggestions d'amélioration et pour avoir coordonné (avec Frank K\"uster) la + version Debian de \TL. + +\item Staszek Wawrykiewicz, principal testeur de \TL{} et + coordinateur des contributions polonaises + (fontes, installation Windows, etc.). + +\item Olaf Weber, pour son patient assemblage et la maintenance de \Webc{} + sur laquelle tout repose. + +\item Gerben Wierda, qui a créé et maintient la partie \MacOSX{} + et qui participe activement aux tests. + +\item Graham Williams, du travail duquel dépend le catalogue des +composants. +\end{itemize} + +Les binaires ont été compilés par : +Hartmut Henkel (\pkgname{x86\_64-linux}), +Akira Kakuto et Fabrice Popineau (\pkgname{win32}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-linux} + et \pkgname{sparc-solaris}), +Karl Berry (\pkgname{i386-linux}), +Olaf Weber (\pkgname{mips-irix}), +Gerben Wierda (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}). + +Documentation et mises à jour des traductions : +Karl Berry (anglais), +G\"unter Partosch, Hartmut Henkel \& Klaus H\"oppner (allemand), +Daniel Flipo (français), +Petr Sojka \& Janka Chleb\'\i kov\'a (tchèque et slovaque), +Boris Veytsman (russe), +Staszek Wawrykiewicz (polonais). + +Bien sûr, notre gratitude va en premier lieu à Donald Knuth pour avoir +inventé \TeX{} et l'avoir offert au monde entier. + +\section{Historique des versions successives} +\label{sec:history} + +\subsection{Les éditions précédentes} + +La discussion commença à la fin de 1993 quand le Groupe des Utilisateurs +Néerlandais de \TeX{} commençait à travailler à son \CD{} 4All\TeX{} pour les +utilisateurs de \acro{MS-DOS}, et on espérait à ce moment sortir un \CD{} +unique pour tous les systèmes. C'était un objectif beaucoup trop ambitieux, +mais il permit la naissance du \CD{} 4All\TeX{}, projet couronné de succès, +mais aussi d'un groupe de travail \og \acro{TUG} Technical Council\fg{} pour +mettre en place TDS (\emph{\TeX{} Directory Structure} : +\url{http://tug.org/tds}), qui spécifiait la gestion des fichiers \TeX{} sous +une forme logique. La mouture finale de \TDS{} fut publiée dans le numéro de +décembre 1995 de \textsl{TUGboat}, et il était clair depuis un certain temps +qu'il fallait proposer un produit contenant une structure modèle sur \CD{}. +La distribution que vous possédez est le résultat direct des délibérations de +ce groupe de travail. Il était également clair que le succès des \CD{} +4All\TeX{} démontrait que les utilisateurs d'Unix trouveraient leur bonheur +avec une distribution aussi simple, et ceci a été l'autre objectif de +\TL. + +Nous avons d'abord entrepris de créer un nouveau \CD{} \TDS{} Unix à l'automne +1995, et nous avons rapidement choisi \teTeX{} de Thomas Esser comme étant la +configuration idéale, car il supportait déjà plusieurs plates-formes et avait +été construit en gardant à l'esprit la portabilité entre systèmes. Thomas +accepta de nous aider et commença à travailler sérieusement au début de 1996. +La première édition sortit en mai 1996. Au début de 1997, Karl Berry acheva +une nouvelle distribution de \Webc{}, qui incluait presque toutes les +caractéristiques que Thomas Esser avait ajoutées dans \teTeX, et il fut décidé +de baser la deuxième édition du \CD{} sur le standard \Webc, en y ajoutant le +script \texttt{texconfig} de \teTeX. La troisième édition du \CD{} était +basée sur une version majeure de \Webc, 7.2, par Olaf Weber ; en même temps, +une nouvelle version révisée de \teTeX{} était achevée dont \TL{} partageait +presque toutes les caractéristiques. La quatrième édition a suivi le même +schéma, en utilisant une nouvelle version de \teTeX{} et une nouvelle version +de \Webc{} (7.3). Le système incluait dorénavant un programme complet +d'installation pour Windows. + +Pour la cinquième édition (mars 2000), de nombreuses parties du \CD{} +ont été vérifiées et révisées, des centaines de composants +mis à jour. +Le contenu détaillé des composants était décrit par des +fichiers XML. Mais le changement majeur de cette cinquième édition a +été la suppression de tout logiciel non libre de droits. +Tout ce qui se trouve dans \TL{} devait être compatible avec la licence +Debian (\emph{Debian Free Software Guidelines} : +\url{http://www.debian.org/intro/free}) ; nous avons +fait de notre mieux pour vérifier les termes des licences de chaque +composant, et nous souhaiterions que toute erreur nous soit signalée. + +La sixième édition (juillet 2001) contient un grand nombre de mises à jour. +Le changement majeur de cette version réside dans la refonte du +processus d'installation : l'utilisateur peut désormais choisir +les collections de manière plus précise. Les collections concernant +les langues ont été entièrement réorganisées, aussi le choix d'une +langue installe non seulement les macros, les fontes, etc. mais +prépare également un fichier \file{language.dat} adéquat. + +La septième édition (mai 2002) a comme ajout majeur une installation +pour \MacOSX{} et l'habituelle myriade de mises à jour de composants et +de programmes. Un objectif important a été de fusionner à +nouveau les sources avec ceux de \teTeX{}, alors que les versions +5 et 6 s'en étaient éloignées. + +\subsubsection{2003} + +En 2003, le flot de mises à jour et d'additions a continué, mais nous +avons constaté que \TL{} était devenu si volumineux qu'il ne +pouvait plus tenir sur un seul \CD, aussi l'avons-nous divisé en trois +distributions distinctes (voir section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}). Par ailleurs : +\begin{itemize} +\item À la demande de l'équipe \LaTeX{}, nous avons modifié les + commandes standard \cmdname{latex} et \cmdname{pdflatex} pour + qu'elles utilisent \eTeX{} (voir \p.\pageref{text:etex}). +\item Les nouvelles fontes Latin Modern sont disponibles (et + recommandées). +\item Le support pour Alpha \acro{OSF} a été supprimé + (celui pour \acro{HPUX} l'avait été auparavant), car personne + disposant des machines nécessaires ne s'est + proposé pour compiler les nouveaux binaires. +\item L'installation pour Windows a été largement modifiée ; un environnement + de travail intégré basé sur \cmdname{XEmacs} a été introduit. +\item Des programmes supplémentaires importants pour Windows (Perl, + Ghost\-script, Image\-Magick, Ispell) sont maintenant installés dans le + répertoire d'installation de \TL{}. +\item Les fichiers \emph{font map} utilisés par \cmdname{dvips}, + \cmdname{dvipdfm} et \cmdname{pdftex} sont maintenant générés par le + nouveau programme \cmdname{updmap} et installés dans + \dirname{texmf/fonts/map}. +\item Dorénavant, \TeX{}, \MF{} et \MP{} écrivent les caractères 8-bit + présentés en entrée sans modification, et non pas avec la notation + \verb|^^|, que ce soit dans des fichiers (par la commande + \verb|write|), dans les fichiers de trace (\verb|.log|) ou sur le + terminal. Dans le \TL{}~7, l'écriture de ces caractères + 8-bit était influencée par les paramètres de localisation du + système; maintenant ces paramètres n'influent plus du tout sur le + comportement des programmes \TeX{}. Si pour quelque raison que ce + soit, vous avez besoin de la notation \verb|^^| en sortie, + renommez le fichier \verb|texmf/web2c/cp8bit.tcx|. Les prochaines + versions disposeront d'un moyen plus propre pour contrôler cette + sortie. +\item La documentation de \TL{} a été largement révisée. +\item Enfin, comme la numérotation séquentielle des versions + devenait peu maniable, il a été décidé d'identifier désormais la version + de \TL{} par l'année : \TL{}~2003 au lieu de \TL{}~8. +\end{itemize} + + +\subsubsection{2004} + +2004 a apporté beaucoup de changements (et quelques incompatibilités avec les +versions précédentes) : + +\begin{itemize} + +\item Si vous avez installé des fontes supplémentaires qui ont leur propre +fichier \file{.map} ou des fichiers \file{.enc} spécifiques, vous +devrez vraisemblablement déplacer ces fichiers. + +Les fichiers \file{.map} sont désormais recherchés uniquement dans les +sous-répertoires \dirname{fonts/map} (dans chaque arborescence +\filename{texmf}), leur chemin de recherche est donné par la variable +\envname{TEXFONTMAPS} de \filename{texmf.cnf}. +De même, les fichiers \file{.enc} sont désormais recherchés uniquement +dans les sous-répertoires \dirname{fonts/enc}, leur chemin de recherche est +donné par la variable \envname{ENCFONTS} de \filename{texmf.cnf}. +Le script \cmdname{updmap} devrait émettre des messages d'avertissement +pour les fichiers \file{.map} et \file{.enc} mal placés. + +Sur les différentes façons de traiter le problème, consulter +\url{http://tug.org/texlive/mapenc.html}. + +\item La distribution pour Windows a changé cette année : +l'installation de la distribution \fpTeX{} (basée sur \Webc{}) de Fabrice +Popineau n'est provisoirement plus proposée dans l'attente +d'un nouvel installeur. À la place, vous pouvez tester et installer +la distribution \MIKTEX{} (indépendante de \Webc{}), +voir section~\ref{sec:struct-tl}, \p.\pageref{sec:struct-tl}. +Le \CDdemo{} diffusé en 2003 a été supprimé. + +\item L'ancien répertoire \dirname{texmf} a été éclaté en trois parties : +\dirname{texmf}, \dirname{texmf-dist} et \dirname{texmf-doc}. Voir +section~\ref{sec:tld}, \p.\pageref{sec:tld}. +% et les fichiers \filename{README} à la racine de ces répertoires. +% (df) Y'en a pas !!! + +\item Tous les fichiers relatifs aux différents avatars de \TeX{} sont +désormais regroupés dans le même sous-répertoire \dirname{tex} des +arborescences \dirname{texmf*} (ils étaient jusqu'ici placés dans des +sous-répertoires spécifiques \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc.). Voir +\CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Les scripts auxiliaires, normalement pas exécutés directement +par les utilisateurs, sont regroupés dans un répertoire \dirname{scripts} +des arborescences \dirname{texmf*}. On les localise grâce à la +commande \verb|kpsewhich -format=texmfscripts|. Au cas où vous en auriez, +les programmes utilisant ces scripts nécessiteront une adaptation. Voir +\OnCD{texmf-doc/doc/english/tds/tds.html\#Scripts}. + +\item La plupart des formats affichent en clair (dans les fichiers +\file{.log} en particulier) les caractères imprimables au lieu +de les transcrire en notation hexadécimale \verb|^^|. Ceci se fait +grâce au fichier \filename{cp227.tcx}, qui considère comme imprimables +les caractères 32 à 256, ainsi que les tabulations et les changements +de page (caractères 9 à 11). Les formats faisant exception sont +plain \TeX\ (seuls les caractères 32 à 127 sont déclarés imprimables), +\ConTeXt{} (0 à 255 imprimables) et les formats basés sur \OMEGA. +Il y a peu de différence avec le comportement de \TL\,2003 +mais la mise en {\oe}uvre est plus propre et plus facilement configurable. +Voir \OnCD{texmf/doc/web2c/web2c.html\#TCX-files}. +Noter que l'utilisation du codage Unicode en entrée peut provoquer +des affichages défectueux en sortie (TeX code sur un seul octet). + +\item Tous les formats, sauf plain \TeX, font appel au moteur +\textsf{pdfetex} (qui produit bien sûr par défaut des fichiers \acro{DVI} +lorsque le format choisi est \LaTeX). Ceci permet aux formats +\LaTeX, \ConTeXt, etc., d'avoir accès aux fonctionnalités +micro-typographiques de pdf\TeX{} (alignement optique des marges par exemple) +et aux fonctionnalités de \eTeX{} (\OnCD{texmf-dist/doc/etex/base/}). + +Ceci rend \emph{indispensable} le recours à l'extension \pkgname{ifpdf} +(qui fonctionne aussi bien avec plain que \LaTeX) pour déterminer si +le format de sortie est \acro{DVI} ou \acro{PDF}. Tester si la commande +\cs{pdfoutput} est définie ou non \emph{n'est pas} un moyen fiable +de le faire. + +\item pdf\TeX\ (\url{http://pdftex.org}) offre de nouvelles fonctionnalités : + + \begin{itemize} + + \item Les commandes \cs{pdfmapfile} et \cs{pdfmapline} permettent + de spécifier le choix des fichiers \file{.map} à utiliser + pour le document en cours. + + \item L'amélioration du gris typographique par variation (infime) de la + largeur des caractères (\textit{font expansion}) est plus facile à + mettre en {\oe}uvre, voir + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item Le fichier \filename{pdftex.cfg} n'est plus utilisé. + Toutes les affectations de paramètres doivent désormais être + faites dans le préambule en utilisant les primitives ad~hoc. + + \item Pour plus d'informations, consulter le manuel de pdf\TeX\ : + \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize} + +\item La primitive \cs{input} de \cmdname{tex}, \cmdname{mf} et +\cmdname{mpost}, accepte désormais les espaces et autres caractères +spéciaux dans les noms de fichiers à condition d'utiliser des +\textit{double quotes}, en voici deux exemples typiques : +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +Consulter le manuel \Webc{} pour plus d'informations : \OnCD{texmf/doc/web2c}. + +\item Les fonctionnalités de enc\TeX\ sont désormais incluses dans \Webc{}. +Ainsi, tous les formats \emph{construits avec l'option \optname{-enc}} y ont +accès. enc\TeX\ permet le transcodage en entrée et en sortie et +l'utilisation transparente du codage Unicode \acro{UTF}-8. Voir +\OnCD{texmf-dist/doc/generic/enctex/} et +\url{http://www.olsak.net/enctex.html}. + +\item Un nouveau moteur combinant les fonctionnalités de \eTeX\ +et d'\OMEGA, appelé Aleph, est disponible. \OnCD{texmf-dist/doc/aleph/base} +et \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph} +fournissent une information succincte. Le format \LaTeX{} utilisant +Aleph s'appelle \textsf{lamed}. + +\item La licence \acro{LPPL} de \LaTeX\ (version décembre 2003) a changé, +elle est désormais compatible avec les prescriptions Debian. +Les autres changements sont décrits dans le fichier \filename{ltnews}, voir +\OnCD{texmf-dist/doc/latex/base}. + +\item Un nouveau programme, \cmdname{dvipng}, qui convertit les fichiers +\acro{DVI} en images \acro{PNG} a été ajouté. Voir +\OnCD{texmf/doc/man/man1/dvipng.1}. + +\item Nous avons dû réduire le nombre de fontes incluses dans l'extension +\pkgname{cbgreek}, ceci a été fait avec l'accord et l'aide de l'auteur +(Claudio Beccari). Les fontes exclues (invisibles, transparentes, contours) +sont rarement utilisées et la place nous manquait. La collection complète +des fontes \pkgname{cbgreek} est disponible sur \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item La commande \cmdname{oxdvi} a été supprimée, il suffit utiliser +\cmdname{xdvi} à la place. + +\item Les commandes \cmdname{initex}, \cmdname{virtex} et leurs +homologues pour \cmdname{mf} et \cmdname{mpost} ont disparu. +Vous pouvez les recréer si nécessaire mais elles sont avantageusement +remplacées, depuis des années maintenant, par l'option \optname{-ini} +(\cmdname{tex} \optname{-ini} pour \cmdname{initex} et \cmdname{virtex}). + +\item Les binaires pour l'architecture \textsf{i386-openbsd} ont été + supprimés par manque de volontaires pour les compiler. + +Sur \textsf{sparc-solaris} (au moins) il sera probablement +nécessaire de positionner la variable d'environnement +\envname{LD\_LIBRARY\_PATH} pour utiliser les programmes de la famille +\pkgname{t1utils}. Ceci vient du fait qu'ils sont compilés en C++, +et que l'emplacement des bibliothèques dynamiques est variable. +Ce n'est pas une nouveauté 2004 mais ce point n'était pas documenté +précédemment. De même, sur \textsf{mips-irix}, les bibliothèques dynamiques +\acro{MIPS}pro 7.4 sont nécessaires. + +\end{itemize} + +\subsubsection{2005} + +2005 a apporté son lot habituel d'innombrables mises à jour d'extensions +et de programmes. L'infrastructure est restée relativement stable par rapport +à 2004, à quelques changements inévitables près : + +\begin{itemize} + +\item Trois nouveaux scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys} et + \cmdname{fmtutil-sys} ont été introduits ; ils agissent sur la + configuration générale de la machine, comme le faisaient les + scripts \cmdname{texconfig}, \cmdname{updmap} et \cmdname{fmtutil} + jusqu'à l'an dernier. Les nouveaux scripts \cmdname{texconfig}, + \cmdname{updmap} et \cmdname{fmtutil} modifient maintenant + la configuration \emph{personnelle} de l'utilisateur qui les lance ; + le résultat est placé dans le répertoire personnel de l'utilisateur + (sous \dirname{$HOME/.texlive2005}), voir %$ + section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + +\item De nouvelles variables, \envname{TEXMFCONFIG} (resp. + \envname{TEXMFSYSCONFIG}) ont été introduites ; elles définissent + les répertoires où doivent se trouver les fichiers de configuration de + l'utilisateur (resp. de la machine), comme \filename{fmtutil.cnf} et + \filename{updmap.cfg}. Les utilisateurs de fichiers de configuration + locaux \filename{fmtutil.cnf} ou \filename{updmap.cfg} devront + probablement les déplacer ; une autre possibilité est de modifier la + définition des variables \envname{TEXMFCONFIG} ou + \envname{TEXMFSYSCONFIG} dans \filename{texmf.cnf}. L'important est + de s'assurer de la cohérence entre les définitions de ces variables + dans \filename{texmf.cnf} et l'emplacement réel de ces fichiers. + Voir section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees} pour + la description des différentes arborescences texmf utilisées. + +\item L'an dernier nous avions rendu \og \texttt{undefined} \fg certaines + primitives propres à \cmdname{pdftex} (comme \verb|\pdfoutput|) + dans les formats créés à partir de \cmdname{pdfetex} (\cmdname{latex} + \cmdname{amstex}, \cmdname{context} par exemple)). + C'était à titre transitoire, aussi cette année, ces primitives sont de + nouveau définies dans tous les formats à base \cmdname{pdf(e)tex}, + \emph{même lorsqu'ils sont utilisés pour produire des fichiers + \file{.dvi}}. Ceci implique qu'il vous faudra modifier vos + documents qui utilisent le test \verb|\ifx\pdfoutput\undefined| + pour déterminer si la sortie est en DVI ou en PDF. Le mieux est + d'utiliser l'extension \pkgname{ifpdf.sty} et son test + \verb|\ifpdf| qui fonctionne même en plain \TeX. + +\item L'an dernier nous avions fait en sorte que la plupart des formats + impriment dans les sorties \file{.log} des caractères 8-bit + lisibles à la place des notations hexadécimales \verb|^^| + (voir section précédente). + Le nouveau fichier TCX \filename{empty.tcx} permet + de revenir facilement à la notation traditionnelle \verb|^^|, il suffit + de coder : +\begin{verbatim} +latex --translate-file=empty.tcx fichier.tex +\end{verbatim} + +\item Le nouveau programme \cmdname{dvipdfmx} est disponible pour convertir + des fichier DVI en PDF ; ce programme remplace \cmdname{dvipdfm}, + toujours disponible mais dont l'usage est maintenant déconseillé. + +\item Les variables \envname{HOMETEXMF} et \envname{VARTEXMF} ont été renommées + en \envname{TEXMFHOME} et \envname{TEXMFSYSVAR} respectivement pour + raisons de cohérence avec les autres noms de variables. Il y a aussi + \envname{TEXMFVAR} qui désigne maintenant un répertoire personnel + de l'utilisateur (cf. le premier point de la présente liste). + +\end{itemize} + +\subsection{L'édition 2006--2007} +\label{tlcurrent} + +En 2006--2007, la nouveauté majeure a été l'arrivée dans \TL{} de Xe\TeX{} +disponible sous forme de deux programmes \texttt{xetex} et \texttt{xelatex}, +voir \url{http://scripts.sil.org/xetex}. + +MetaPost a subi une mise à jour importante et d'autres améliorations +sont prévues, voir \url{http://tug.org/metapost/articles}. Il en va de même +pour pdf\TeX{}, voir \url{http://tug.org/applications/pdftex}. + +Le format \filename{tex.fmt} et les formats pour MetaPost and \MF\ ne +se trouvent plus dans \dirname{texmf/web2c} mais dans des +sous-répertoires de \dirname{texmf/web2c} (la recherche de fichiers +\filename{.fmt} est néanmoins faite aussi dans \dirname{texmf/web2c}). +Ces sous-répertoires portent le nom du moteur utilisé pour construire +le format, par exemple \filename{tex}, \filename{pdftex} ou +\filename{xetex}. Ce changement ne devrait pas avoir d'effet visible +pour les utilisateurs. + +Le programme (plain) \texttt{tex} ignore désormais les lignes commençant +par \texttt{\%\&} qui permettent de déterminer le format à utiliser ; +c'est un vrai \TeX{} \og à la Knuth \fg ! +\LaTeX\ et tous les autres prennent toujours en compte les lignes commençant +par \texttt{\%\&}. + +Les scripts d'installation peuvent maintenant être utilisés de manière +non interactive (voir section~\ref{sec:noninteractive-install}) en +positionnant des variables d'environnement. + +Comme chaque année des centaines d'extensions et de programmes ont été mis à +jour, voir les sites \acro{CTAN} (\url{http://www.ctan.org}). + +L'arborescence utilisée en interne a été réorganisée avec de nouveaux outils +qui devraient fournir une meilleure base de travail pour les développements +futurs. + +Enfin, en mai 2006 Thomas Esser a annoncé qu'il renonçait à poursuivre +le développement de te\TeX{} (\url{http://tug.org/tetex}). Sa décision a +relancé l'intérêt pour \TL, en particulier chez les distributeurs de solutions + \acro{GNU}/Linux (un nouveau schéma d'installation \texttt{tetex} a été + ajouté dans le script d'installation de \TL{} pour produire une + distribution proche de l'ancienne te\TeX). La distribution \TL{} existe +déjà sous forme de paquets Debian, espérons que les autres acteurs du monde +Linux (RedHat, SuSe, etc.) suivront et que les utilisateurs +se verront proposer à l'avenir des distributions \TeX{} riches et plus +faciles à installer. + + + +\subsection{Versions futures} + +\emph{\TL{} n'est pas un produit parfait !} +(et ne le sera jamais). Nous prévoyons de continuer à produire de +nouvelles versions, et aimerions fournir plus d'aide, de +fonctionnalités, de programmes d'installation, et (bien sûr) une +arborescence améliorée et vérifiée de macros et de fontes. Ce travail +est effectué par des volontaires débordés, dans la limite de leur temps +libre, et beaucoup reste à faire. Si vous pouvez nous aider, n'hésitez pas +à vous proposer ! + +Corrections, suggestions et propositions d'aide doivent +être envoyées à :\hfill\null +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Bon travail avec \TeX{} !} + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% ispell-local-dictionary: "francais" +%%% TeX-master: t +%%% coding: latin-1 +%%% End: diff --git a/Master/texmf/doc/texlive/texlive-fr/live4ht.cfg b/Master/texmf/doc/texlive/texlive-fr/live4ht.cfg new file mode 100644 index 00000000000..4da18b3c746 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-fr/live4ht.cfg @@ -0,0 +1,47 @@ +% tex4ht configuration file for the TeX Live documentation. +% Accumulated over many years. Public domain. +% +% html specifies the main output format. +% info for extra debugging info in the log files. + +% better approach is to have html in one piece (including footnotes). +% charset=utf-8 fails for French, all accented letters get lost. +\Preamble{html,info,fn-in} + +% add extra stylesheet +\Configure{@HEAD}{\HCode{% +\Hnewline +\Hnewline +}} + +% or LaTeX complains it is missing. +\begin{document} + +\EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\newif\ifhackliterals +\ifx\tldocenglish\undefined \else \hackliteralstrue \fi +\ifx\tldocrussian\undefined \else \hackliteralstrue \fi +\ifx\tldocgerman\undefined \else \hackliteralstrue \fi +% +\ifhackliterals + % these definitions cause "missing } inserted" at \end{tabularx} in + % French and Czech. don't know why. + % + % don't make these into links, as happens with \path. We only have a couple + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf/doc/texlive/texlive-fr/texlive-fr.tex b/Master/texmf/doc/texlive/texlive-fr/texlive-fr.tex new file mode 100644 index 00000000000..6b74bc3bd13 --- /dev/null +++ b/Master/texmf/doc/texlive/texlive-fr/texlive-fr.tex @@ -0,0 +1,3148 @@ +%Format: pdf +% +% Change history (started May 18th 2002) +% 2008/07/26: synced with 2008 English version, by Daniel Flipo +% 2007/01/18: synced with 2007 English version, by Daniel Flipo +% 2005/11/01: synced with 2005 English version, by Daniel Flipo +% 2005/05/05: re-added section on building binaries (Daniel Flipo) +% 2004/10/28: synced with 2004 English version, by Daniel Flipo +% 2003/08/28: synced with 2003 English version, by Éric Picheral & Jacques André +% 2002/05/25: proof-reading and corrections, by Daniel Flipo +% 2002/05/18: synced with English version, by Fabrice +% +\documentclass{article} +\let\tldocfrench=1 % NOT used... + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + +\usepackage[frenchb]{babel} +\usepackage{xspace} +\frenchbsetup{AutoSpacePunctuation=false, og=», fg=»} + +\usepackage{ifpdf} +% tex-live.sty suppose \hyper@linkurl défini... +\ifpdf + \def\Status{1} % (df) Pour faire charger hyperref dans tex-live.sty +\else + \makeatletter + \def\hyper@linkurl#1#2{#2} % undefined if hyperref.sty not loaded + \makeatother +\fi + +\usepackage{tex-live} +% Correctifs à tex-live.sty (df) +\renewcommand{\samp}[1]{\og \texttt{#1}\fg{}} +% (df) La commande \TeXLive n'est pas utilisée en v.f. +\renewcommand{\TL}{\TeX{} Live\xspace}% Robuste (pas besoin de \protect)... +\renewcommand{\TK}{\TeX{} Collection\xspace}% idem. +% tex-live.sty fait précéder les no de page d'une fine... si on veut +% une insécable normale, décommenter la ligne suivante : +\def\p.{page~} +% Chez Karl, la commande \url{} ne protège pas les caractères actifs (:?), +% d'où ceci (essai provisoire... erreurs avec le car. #) : +%\let\urlORI\url +%\renewcommand*{\url}[1]{\foreignlanguage{english}{\urlORI{#1}}} +%\renewcommand*{\url}[1]{{\shorthandoff{:?!;}\urlORI{#1}}} +% La commande \path de url.sty ajoute des espaces parasites, pas \url, d'où +\let\path\url +% mais ceci impose de remplacer \path|...| par \path{...}, et les \$ inclus +% par des $. + +\newcommand{\THANH}{Hàn Th\'{ê} Thanh} + +\setlength{\parindent}{0mm} +\addtolength{\parskip}{.25\baselineskip} + +\begin{document} + +\title{{\huge Guide pratique de \TL{} \\\smallskip} + {\LARGE\textsf{\TL{} 2008}}% + } + +\author{Karl Berry \\[3mm] + \url{http://tug.org/texlive/}\\[5mm] + \textit{Version française}\\[3mm] + Daniel Flipo (GUTenberg) + } + +\date{Juillet 2008} + +\maketitle +\thispagestyle{empty} % no need for page number + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +\subsection{\TeX\ Live et \TeX\ Collection} + +Ce document décrit les principales caractéristiques de la +distribution \TL{}, une distribution complète de \TeX{} +pour Linux et autres Unix, \MacOSX{} et systèmes Windows. + +Cette distribution peut être obtenue par téléchargement ou sur le \DVD{} \TK{} +distribué par les groupes d'utilisateurs de \TeX{} à leurs membres. +La section \ref{sec:tl-coll-dists} décrit brièvement le contenu de ce \DVD. +\TL{} comme \TK{} sont produits grâce au travail des groupes d'utilisateurs de +\TeX. La description qui suit porte essentiellement sur \TL. + +La distribution \TL{} comprend les binaires +pré-compilés de \TeX{}, \LaTeXe{}, \MF, \MP, \BibTeX{} et de nombreux +autres programmes ainsi qu'une bibliothèque étendue de macros, de +fontes et de documentations. Elle traite aussi de la composition de textes +dans la plupart des langues utilisées dans le monde. + +Les composants de la distribution \TL{} sont régulièrement mis à jour +sur le site \acro{CTAN}, \url{http://www.ctan.org}. + +On trouvera à la fin du document, section~\ref{sec:history} +(page~\pageref{sec:history}), un bref historique des principales modifications +apportées au fil du temps à la distribution \TL. + +% Ajout (df) +Les utilisateurs des éditions précédentes de \TL{} sont invités +à lire, \emph{avant toute mise à jour}, la section~\ref{tlcurrent} +page~\pageref{tlcurrent} qui présente les principaux changements intervenus +cette année. + +\subsection{Support pour différents systèmes d'exploitation} +\label{sec:os-support} + +\TL{} contient les exécutables pour les principales architectures Unix, en +particulier Linux et \MacOSX. Les sources inclus dans la distribution +devraient permettre de compiler les exécutables nécessaires aux autres +systèmes d'exploitation. + +En ce qui concerne Windows, seuls Windows 2000 et ses successeurs (XP, Vista) +sont supportés ; les architectures antérieures (Windows 9\textit{x}, ME et NT) +ne le sont plus. Il n'y a pas d'exécutables 64-bit mais les versions 32-bit +devraient fonctionner aussi sur les systèmes 64-bit. + +Consulter la section~\ref{sec:tl-coll-dists} pour des solutions alternatives +sous Windows et \MacOSX. + +\subsection{Utilisation élémentaire de \TL{}} +\label{sec:basic} + +Vous pouvez installer \TL{} de deux façons différentes : soit en utilisant +l'installeur qui télécharge toute la distribution sur Internet, soit à partir +du \DVD{} ce qui ne nécessite pas de connexion au réseau. + +Vous pouvez aussi exécuter \TL{} directement depuis le +\DVD{} (ou depuis une image iso du \DVD{} si votre système le permet) sans +(presque) rien installer sur le disque dur. + +Ces trois utilisations sont décrites en détail dans les sections suivantes, +voici quelques remarques générales pour débuter : + +\begin{itemize} + +\item Le script d'installation globale s'appelle +\filename{install-tl}. Il fonctionne en mode graphique (mode par défaut sous +Windows) et en mode texte (mode par défaut pour les autres systèmes). +Ajouter l'option \code{-gui} ou \code{-no-gui} pour imposer le mode graphique +ou le mode texte. + +\item Ce script installe en particulier un nouveau programme, le +« \TL\ Manager » appelé \prog{tlmgr}. Comme l'installeur, il peut être +utilisé en mode graphique ou en mode texte. Il permet d'ajouter ou de +supprimer des composants et de procéder à différents réglages de +configuration. + +\end{itemize} + +\subsection{Obtenir de l'aide} +\label{sec:help} + +La communauté \TeX{} est à la fois active et conviviale ; la plupart des +questions finissent par obtenir une réponse. Le support est +pourtant informel, assuré par des volontaires et des lecteurs +occasionnels, aussi est-il particulièrement important que vous fassiez +votre propre travail de recherche avant de poser la question (si vous +préférez un support commercial, vous pouvez renoncer à \TL{} et +acheter un système payant ; voir une liste à +\url{http://tug.org/interest.html#vendors}). + +Voici une liste de ressources, classées selon l'ordre dans lequel nous +recommandons de les utiliser : + +\begin{description} +\item [Getting Started] -- pour ceux qui débutent en \TeX, la page web +\url{http://tug.org/begin.html} contient une courte description +du système. + +\item [\acro{FAQ} \TeX{}] -- la \acro{FAQ} \TeX{} est un vaste recueil + de réponses à toutes sortes de questions, de la plus élémentaire à la + plus complexe. Elle est enregistrée sur le \DVD{} dans + \OnCD{texmf-doc/doc/english/FAQ-en/html/index.html} + et elle est disponible sur Internet à + l'adresse \url{http://www.tex.ac.uk/faq}. + Merci de consulter cette FAQ avant toute question. + +\item [Catalogue \TeX{}] -- si vous recherchez une extension, une fonte, + un programme, etc., le mieux est de consulter le catalogue + \TeX{} ici : \url{http://www.ctan.org/help/Catalogue/}. + +\item [Ressources \TeX{} sur le Web] -- la page web + \url{http://tug.org/interest.html} propose + beaucoup de liens relatifs à \TeX{}, en particulier concernant des + livres, manuels et articles portant sur tous les aspects du système. + +\item [Archives des forums d'aide] -- les principaux forums dédiés + au support de \TeX{} sont les groupes de news Usenet + \url{news:comp.text.tex} (en anglais) et \url{news:fr.comp.text.tex} + (en français) ainsi que les listes de diffusion + \email{texhax@tug.org} (en anglais) et \email{gut@ens.fr} (en français). + Les archives correspondantes contiennent des + milliers de questions et réponses déjà traitées et permettent + une recherche fructueuse. Voir + \url{http://groups.google.com/groups?group=fr.comp.text.tex} + et \url{http://tug.org/mail-archives/texhax}, respectivement. Une + question posée sur un moteur de recherche, tel que + \url{http://google.com}, peut aussi fournir des réponses pertinentes. + +\item [Poster une question] -- si vous ne trouvez pas de réponse, vous + pouvez poster la question à \dirname{fr.comp.text.tex} via Google ou + votre lecteur de news, ou encore par messagerie à + \email{texhax@tug.org}. Mais avant de le faire, merci de lire + l'introduction de la \acro{FAQ} donnant les conseils sur la façon de + rédiger la question pour avoir des chances d'obtenir une réponse pertinente : + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [Support de \TL{}] -- si vous voulez faire un rapport + d'anomalie, émettre des suggestions ou des commentaires sur la + distribution \TL{}, son installation ou sa documentation, utilisez + la liste de diffusion \email{tex-live@tug.org}. Mais attention, si + la question concerne l'utilisation d'un programme particulier inclus + dans \TL{}, il vaut mieux que vous vous adressiez directement à la + personne ou à la liste de diffusion qui maintient le programme. Il suffit + souvent d'ajouter l'option \code{-{}-help} lors de l'exécution du programme + pour trouver à qui adresser le rapport. + +\end{description} + +L'autre aspect du sujet concerne l'aide à apporter aux personnes +soumettant des questions. Les forums \dirname{comp.text.tex}, +\dirname{fr.comp.text.tex} ainsi que les listes de diffusion \code{texhax} +et \code{gut} +sont ouverts à tous, aussi n'hésitez pas à vous y joindre, à commencer +la lecture et à fournir de l'aide là où cela vous est possible. + +% No \protect needed as \TL is defined in French with \newcommand (robust). +\section{Structure de \TK} +\label{sec:overview-tl} + +Nous décrivons ici le contenu de \TK{} qui est un sur-ensemble de \TL. + +\subsection {\TK{} : \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +Le \DVD{} \TK{} contient les éléments suivants : + +\begin{description} + +\item [\TL{}] -- un système \TeX{} complet (\TL) qui peut au choix, être lancé à + partir du \DVD{} (sans installation) ou être installé sur le disque dur. + +\item [CTAN] -- une image du site d'archives \CTAN. + +\item [pro\TeX{}t] -- une extension du système \MIKTEX\ pour Windows qui en + facilite l'installation. Cette distribution est totalement indépendante de + \TL{}, elle nécessite un mode d'installation spécifique. Le site de + \ProTeXt\ se trouve ici : \url{http://tug.org/protext}. + +\item [Mac\TeX] -- un programme d'installation spécifique de \TL{} pour + \MacOSX{} et quelques applications propres au système Mac. + Le site de Mac\TeX{} se trouve ici : \url{http://www.tug.org/mactex/}. + +\item [\texttt{texmf-extra}] -- un répertoire contenant quelques extensions + supplémentaires. + +\end{description} + +Les droits d'utilisation des fichiers présents dans \CTAN, \ProTeXt{} +et \texttt{texmf-extra} diffèrent de ceux de \TL{}, pensez à lire +les licences si vous envisagez de modifier ou de redistribuer certains de +ces fichiers. + +\subsection{Répertoires situés à la racine de \TL{}} +\label{sec:tld} + +La distribution \TL{} est dans le sous-répertoire \dirname{texlive} +du \DVD{} \TK{}. Les répertoires les plus importants +situés à la racine de la distribution \TL{} sont énumérés ci-dessous : + +\begin{ttdescription} +\item[bin] -- programmes de la famille \TeX{}, rangés dans des + sous-répertoires selon les plates-formes. +% +\item[readme.html] -- une brève introduction et quelques liens utiles sous forme + de pages \textsc{html} dans différentes langues. +% +\item[source] -- le code source de tous les programmes, incluant la + distribution \Webc{} de \TeX{} et \MF{}. +% +\item[support] -- ensemble d'extensions et programmes auxiliaires (en + particulier des éditeurs et des \textit{shells} dédiés à \TeX) ; ils ne sont + \emph{pas} installés par défaut. +% +\item[texmf] -- répertoire contenant les programmes et leur documentation ; ne + contient ni les formats ni les extensions (la variable \envname{TEXMFMAIN} + de la section suivante pointe sur ce répertoire). +% +\item[texmf-dist] -- répertoire principal où se trouvent les extensions, + les fontes, etc., avec leur documentation (la variable \envname{TEXMFDIST} + de la section suivante pointe sur ce répertoire). +% +\item[texmf-doc] -- répertoire contenant le reste de la documentation, le + sous-répertoire doc est organisé par langue. +% +\item[tlpkg] -- scripts et programmes d'installation ; des versions de + Perl et de Ghostscript (inaccessibles en dehors de \TL) ainsi qu'un + nouveau visualiseur de fichiers PostScript ont été ajoutés pour + Windows. +\end{ttdescription} + +On trouve également, au même niveau que les répertoires mentionnés ci-dessus, +les scripts d'installation et les fichiers \filename{README} (disponibles dans +différentes langues). + +Le répertoire \dirname{texmf-doc} ne contient que de la documentation +mais pas toute la documentation. Celle concernant les programmes (manuels, +pages \textit{man} et fichiers de type \textit{info} est dans +\dirname{texmf/doc} car les programmes correspondants sont dans +\dirname{texmf}. De même, la documentation des extensions et formats +est dans \dirname{texmf-dist/doc}. Les commandes \cmdname{texdoc} ou +\cmdname{texdoctk} trouveront pour vous les documentations où qu'elles soient +sur le disque. +Le fichier \OnCD{doc.html} du \DVD{} contient une liste de liens bien +utiles pour localiser les fichiers de documentation. + +La documentation de \TL\ proprement dite est disponible dans le répertoire +\dirname{texmf-doc} en plusieurs langues, + +\begin{itemize} +\item{anglais :} \OnCD{texmf-doc/doc/english/texlive-en}, +\item{allemand :} \OnCD{texmf-doc/doc/german/texlive-de}, +\item{chinois (simplifié) :} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn}, +\item{français :} \OnCD{texmf-doc/doc/french/texlive-fr}, +\item{polonais :} \OnCD{texmf-doc/doc/polish/texlive-pl}, +\item{russe :} \OnCD{texmf-doc/doc/russian/texlive-ru}, +\item{tchèque \& slovaque :} \OnCD{texmf-doc/doc/czechslovak/texlive-cz}. +\end{itemize} + +\subsection{Description des arborescences « texmf » de \TL} +\label{sec:texmftrees} + +Nous donnons ici la liste complète des variables prédéfinies qui contiennent +les noms des différentes arborescences de type « texmf » et l'usage qui +en est fait. La commande \cmdname{texconfig conf} retourne les valeurs de ces +variables, ce qui permet de savoir où se trouvent ces différentes +arborescences dans une installation donnée. + +\begin{ttdescription} +\item [TEXMFMAIN] -- contient les éléments essentiels du système, comme les + scripts (\cmdname{web2c/mktexdir}, etc.), leur documentation mais pas les + formats ni les fichiers de macros.-- +\item [TEXMFDIST] -- contient les fichiers de macros (Plain, \LaTeX, \ConTeXt, + etc.,), les fontes, etc., de la distribution \TL{} ; rien ne devrait être + ni ajouté ni supprimé dans cette arborescence. +\item [TEXMFLOCAL] -- c'est là que l'administrateur de la machine doit + placer les classes et extensions locales, les fontes non disponibles + dans \TL, etc. +\item [TEXMFHOME] -- contient les fichiers personnels (extensions, classes, + fontes) de l'utilisateur ; ce répertoire est installé automatiquement dans + le répertoire personnel de l'utilisateur. +\item [TEXMFCONFIG] -- c'est là que les scripts \cmdname{updmap} et + \cmdname{fmtutil} recherchent leurs fichiers de configuration en priorité. + \cmdname{texconfig} y place les versions modifiées des fichiers de + configuration. Sous \envname{TEXMFHOME} par défaut. +\item [TEXMFSYSCONFIG] -- c'est là que les scripts \cmdname{updmap-sys} et + \cmdname{fmtutil-sys} recherchent leurs fichiers de configuration en + priorité. \cmdname{texconfig-sys} y place les versions modifiées des + fichiers de configuration. +\item [TEXMFVAR] -- c'est là que les scripts \cmdname{texconfig}, + \cmdname{updmap} et \cmdname{fmtutil} rangent les formats et les fichiers + \file{.map} qu'ils produisent. Sous \verb+$HOME+ par défaut. %$ +\item [TEXMFSYSVAR] -- c'est là que les scripts \cmdname{texconfig-sys}, + \cmdname{updmap-sys} et \cmdname{fmtutil-sys} rangent les formats et les + fichiers \file{.map} qu'ils produisent. +\end{ttdescription} + +La structure de l'arborescence \TL{} est par défaut la suivante : +\begin{description} +\item[racine multi-utilisateurs] (par exemple \verb|/usr/local/texlive|, + \verb|D:\texlive|,\dots) qui contient éventuellement plusieurs + distributions : + \begin{ttdescription} + \item[2007] -- la distribution précédente, + \begin{ttdescription} + \item [...] + \end{ttdescription} + \item[2008] -- la distribution actuelle, + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] -- exécutables Linux, + \item [...] + \item [universal-darwin] -- exécutables \MacOSX, + \item [win32] -- exécutables Windows, + \end{ttdescription} + \item [texmf] -- correspond à \envname{TEXMFMAIN}, + \item [texmf-dist] -- correspond à \envname{TEXMFDIST}, + \item [texmf-doc] -- correspond à \envname{TEXMFDOC}, + \item [texmf-var] -- correspond à \envname{TEXMFSYSVAR}, + \item [texmf-config] -- correspond à \envname{TEXMFSYSCONFIG}, + \end{ttdescription} + \item [texmf-local] -- correspond à \envname{TEXMFLOCAL}, normalement + commun à plusieurs distributions \TL{} (2007, 2008, etc.), + \end{ttdescription} + \item[répertoire personnel de l'utilisateur] \texttt{\$HOME} ou + \texttt{\%USERPROFILE\%} : + \begin{ttdescription} + \item[.texlive2007] -- fichiers générés automatiquement par la + distribution \TL{} précédente, + \item[.texlive2008] -- fichiers générés automatiquement par la + distribution \TL{} actuelle, + \begin{ttdescription} + \item [texmf-var] -- correspond à \envname{TEXMFVAR}, + \item [texmf-config] -- correspond à \envname{TEXMFCONFIG}, + \end{ttdescription} + \item[texmf] -- correspond à \envname{TEXMFHOME}, répertoire regroupant + tous les répertoires de macros personnelles : \dirname{texmf/tex/latex} + par exemple pour les fichiers de macros LaTeX, etc. + \end{ttdescription} +\end{description} + +\subsection{Les extensions de \TeX} +\label{sec:tex-extensions} + +\TL{} contient, à part \TeX{} lui-même (le programme \prog{tex}) qui est figé +sauf rares corrections de bogues, plusieurs extensions de \TeX{}. + +\begin{description} + +\item [\eTeX{}] \label{text:etex} ajoute un jeu de nouvelles + primitives et les extensions \TeXXeT{} pour l'écriture de droite + à gauche ; \eTeX{} est, en mode normal, 100\% compatible avec + \TeX{} standard. Pour plus de détails consulter le + fichier \OnCD{texmf-dist/doc/etex/base/etex_man.pdf} du \DVD{}. + +\item [pdf\TeX{}] inclut les extensions \eTeX{} et produit, au choix, + des fichiers au format Acrobat \acro{PDF} ou au format \dvi{}. + C'est le moteur de base sur lequel sont construits tous les formats autres + que plain\TeX{} (voir \url{http://www.pdftex.org/}). + Le manuel d'utilisation se trouve sur le \DVD{} + dans \OnCD{texmf/doc/pdftex/manual/}. Le fichier + \OnCD{texmf/doc/pdftex/pdftex/manual/samplepdf/samplepdf.tex} + donne des exemples d'utilisation. + +\item [Lua\TeX] est le successeur de pdf\TeX{} + avec lequel il reste compatible. Il devrait également remplacer Aleph, voir + ci-dessous. Lua\TeX{} fait appel à l'interpréteur de commande Lua (voir + \url{http://www.lua.org/}) qui apporte des solutions élégantes + à beaucoup de problèmes épineux en \TeX{} pur. + La commande \filename{texlua}, qui fonctionne comme un interpréteur Lua + indépendant, est déjà utilisée en tant que telle dans \TL. + Voir \url{http://www.luatex.org/} et + \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [Xe\TeX] ajoute la possibilité d'utiliser en entrée le codage Unicode + et en sortie les fontes OpenType et les fontes système de la machine, ceci + grâce à des bibliothèques externes : voir \url{http://scripts.sil.org/xetex}. + +\item [\OMEGA{} (Omega)] fonctionne en utilisant Unicode et des + caractères 16 bits, ce qui lui permet de travailler directement et + simultanément avec presque toutes les écritures du monde. + L'extension supporte aussi le chargement dynamique d'\acro{OTP} + (\OMEGA{} \emph{Translation Processes}) qui permet à l'utilisateur + d'appliquer sur des flux d'entrée quelconques des transformations + complexes qu'il aura lui-même définies. Voir la documentation + (pas vraiment à jour) dans \OnCD{texmf-dist/doc/omega/base/doc-1.8.tex}. + +\item [Aleph] combine les fonctionnalités de \OMEGA\ et de \eTeX. + \OnCD{texmf-dist/doc/aleph/base} contient une documentation de base. + +\end{description} + +% Fin MAJ 15/07/2008 +\subsection{Quelques autres programmes intéressants + dans \TL} + +Voici quelques autres programmes couramment utilisés et présents dans +\TL{} : + +\begin{cmddescription} + +\item [bibtex] -- traitement de la bibliographie. + +\item [makeindex] -- traitement des index. + +\item [dvips] -- conversion \dvi{} vers \PS{}. + +\item [xdvi] -- visualisation \dvi{} pour le système X Window. + +\item [dvilj] -- pilote \dvi{} pour les imprimantes HP LaserJet. + +\item [dv2dt, dt2dv] -- conversion \dvi{} vers ou depuis du texte simple. + +\item [dviconcat, dviselect] -- couper/Coller de pages à partir de fichiers + \dvi{}. + +\item [dvipdfmx] -- conversion \dvi{} vers \acro{PDF}, une autre façon de + produire des fichiers \acro{PDF}, concurrente de pdf\TeX\ mentionné + ci-dessus ; voir aussi les extensions \pkgname{ps4pdf} et + \pkgname{pdftricks} pour d'autres alternatives. + +\item [psselect, psnup, \ldots] -- utilitaires \PS{}. + +\item [lacheck] -- vérification de syntaxe \LaTeX{}. + +\item [texexec, texmfstart] -- processeurs Con\TeX{}t et \acro{PDF}. + +\item [tex4ht] -- conversion \TeX{} vers \acro{HTML} et \acro{XML}. + +\end{cmddescription} + +\subsection{Fontes incluses dans \TL} +\label{sec:tl-fonts} + +La distribution \TL{} contient un grand nombre de fontes vectorielles de haute +qualité : voir \url{http://tug.org/fonts} et +\OnCD{texmf-doc/english/free-math-fonts-survey}. + + +\section{Installation} +\label{sec:install} + +\subsection{Démarrage de l'installation} +\label{sec:inst_start} + +La première chose à faire est de récupérer le \DVD{} \TK ou de +télécharger le programme d'installation par le réseau. +Le programme d'installation s'appelle \filename{install-tl} pour Unix +et \filename{install-tl.bat} pour Windows. + +\begin{description} +\item [Installeur réseau] -- à télécharger sur CTAN dans + \dirname{systems/texlive/tlnet}; l'url + \url{http://mirror.ctan.org/systems/texlive/tlnet} vous redirigera + automatiquement vers le serveur d'archive le plus proche de chez vous. + Deux versions sont disponibles, \filename{install-tl.zip} utilisable sous + Unix et sous Windows et \filename{install-unx.tar.gz} pour Unix seulement + (y compris \MacOSX). Après décompression de l'un de ces deux fichiers, les + scripts \filename{install-tl} et \filename{install-tl.bat} se trouveront + dans le sous-répertoire \dirname{install-tl}. + +\item [\DVD \TK{}] -- aller dans le répertoire \dirname{texlive}. + Sous Windows, l'installation démarrera probablement + automatiquement quand vous insérerez le \DVD, sinon, il faudra lancer le + script d'installation \filename{install-tl} ou \filename{install-tl.bat}. + Le \DVD \TK{} est distribué gratuitement aux membres des groupes + d'utilisateurs de \TeX{} (Gutenberg par exemple en France, voir la liste + des groupes sur \url{http://tug.org/usergroups.html}). Il est également + possible de l'acheter séparément (\url{http://tug.org/store}) ou de graver + l'image \ISO{} (\url{http://tug.org/texlive/acquire.html}). +\end{description} +Les sections suivantes détaillent le processus d'installation. + + +\begin{figure}[tb] +\centering +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in indicate menu items <======= +=======> for commands or configurable options <======= + + + Detected platform: Intel x86 with GNU/Linux + + binary systems: 1 out of 16 + + Installation scheme (scheme-full) + + Customizing installation scheme: + standard collections + language collections + 83 collections out of 84, disk space required: 1666 MB + + directories: + TEXDIR (the main TeX directory): + !! default location: /usr/local/texlive/2008 + !! is not writable, please select a different one! + TEXMFLOCAL (directory for site-wide local files): + /usr/local/texlive/texmf-local + TEXMFSYSVAR (directory for variable and automatically generated data): + /usr/local/texlive/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + options: + [ ] use letter size instead of A4 by default + [X] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks in standard directories + + Install for running from DVD + +Other actions: + start installation to HD + help + quit + +Enter command: +\end{boxedverbatim} +\caption{Écran principal de configuration (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\centering +\tlpng{install-w32-main}{\linewidth} +\caption{Écran principal de configuration (Windows)}\label{fig:gui-main} +\end{figure} + +\subsubsection{Installation sous Unix} + +Dans ce qui suit l'invite du \textit{shell} est notée \texttt{>} ; les +commandes de l'utilisateur sont en \Ucom{\texttt{gras}}.\linebreak +Commandes à lancer dans un terminal sur tout système Unix pour travailler en +mode texte : +\begin{alltt} +> \Ucom{cd /chemin/de/installeur} +> \Ucom{perl install-tl} +\end{alltt} + +Pour travailler en mode graphique : +\begin{alltt} +> \Ucom{cd /chemin/de/installeur} +> \Ucom{./install-tl -gui} +\end{alltt} + +La liste complète des options est donnée par +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Attention} : le matériel installé doit normalement être accessible à +tous les utilisateurs de la machine ; si celui qui installe n'est pas +\textit{root}, il devra s'assurer que son \code{umask} est adapté, par +exemple \code{umask 022} ou \code{umask 002}. +Consulter la documentation système pour plus de précisions. + +\subsubsection{Installation sous Mac\,OS\,X} + +Une distribution spécifique, Mac\TeX\ (\url{http://tug.org/mactex}), a été +mise au point pour \MacOSX. Nous recommandons de l'utiliser plutôt que +d'installer la distribution \TL{} en suivant la procédure indiquée pour Unix. + +En effet, Mac\TeX{} permet des ajustements spécifiques pour le système +\MacOSX{} et facilite la cohabitation entre plusieurs distributions \TeX{} +(Mac\TeX, gw\TeX, Fink, MacPorts, \ldots). + +Mac\TeX\ est très proche de \TL, les arborescences principales sont en tous +points identiques, quelques répertoires contenant de la documentation et des +applications spécifiques au Mac sont ajoutés. + +\subsubsection{Installation sous Windows} + +Si vous utilisez l'installeur réseau ou si l'insertion du \DVD{} ne lance pas +l'installation automatiquement, double-cliquez sur \filename{install-tl.bat}. + +Il est également possible de travailler en ligne de commande ; +dans ce qui suit l'invite du \textit{shell} est notée \texttt{>}, les +commandes de l'utilisateur sont notées \Ucom{\texttt{en gras}}. Voici les +commandes à lancer : +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} +à condition d'être dans répertoire du script d'installation, sinon +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +où \texttt{D:} désigne le lecteur de \DVD. + +Pour travailler en mode texte : +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} +La liste complète des options est donnée par +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\subsubsection{Installation en mode texte} + +La figure~\ref{fig:text-main} page~\pageref{fig:text-main} présente l'écran +principal de configuration en mode texte sous Unix/Linux. + +Taper une des lettres proposées (en respectant la casse) suivie de +« Entrée » (retour-chariot), l'écran se mettra automatiquement à jour. + +L'interface est volontairement rudimentaire afin de permettre son utilisation +sur le plus grand nombre possible de systèmes même avec des versions très +dépouillées de Perl (un sous-ensemble de commande Perl est fourni pour Windows). + +\subsubsection{Installation en mode graphique} + +La figure~\ref{fig:gui-main} page~\pageref{fig:gui-main} présente l'écran +principal de configuration en mode graphique sous Windows. Les différences +entre les options disponibles en mode texte et en mode graphique s'expliquent +par le changement de système (\GNU/Linux pour le premier, Windows pour le +second). + +\subsection{Choix des options d'installation} +\label{sec:runinstall} + +Les options proposées sont censées être assez explicites, voici cependant +quelques précisions. + +\subsubsection{Choix des binaires (Unix seulement)} +\label{sec:binary} + +\begin{figure}[tbh] +\centering +\begin{boxedverbatim} +Available sets of binaries: +=============================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] hppa-hpux HP-UX + d [ ] i386-freebsd Intel x86 with FreeBSD + e [X] i386-linux Intel x86 with GNU/Linux + f [ ] i386-openbsd Intel x86 with OpenBSD + g [ ] i386-solaris Intel x86 with Sun Solaris + h [ ] mips-irix SGI IRIX + i [ ] powerpc-aix PowerPC with AIX + j [ ] powerpc-linux PowerPC with GNU/Linux + k [ ] sparc-linux Sparc with GNU/Linux + l [ ] sparc-solaris Sparc with Solaris + m [ ] universal-darwin universal binaries for MacOSX/Darwin + o [ ] win32 Windows + p [ ] x86_64-linux x86_64 with GNU/Linux +\end{boxedverbatim} +\caption{Menu pour le choix des binaires}\label{fig:bin-text} +\end{figure} + +La figure~\ref{fig:bin-text} présente les choix de binaires possibles en mode +texte. Seuls les binaires correspondant à l'architecture détectée seront +installés par défaut. Rien n'empêche d'en sélectionner d'autres si nécessaire, +ce qui peut être intéressant dans le cas de serveurs en réseau ou sur des +machines en « double boot ». + +\subsubsection{Choix des composants de l'installation} +\label{sec:components} + +\begin{figure}[tbh] +\centering +\begin{boxedverbatim} +Select a scheme: +=============================================================================== + + a [ ] TeX Live basic scheme + b [ ] TeX Live scheme for ConTeXt + c [X] TeX Live full scheme + d [ ] GUST TeX Live scheme + e [ ] GUTenberg TeX Live scheme + f [ ] TeX Live medium scheme + g [ ] TeX Live minimal scheme + h [ ] TeX Live for Omega users + i [ ] teTeX scheme + j [ ] XML typesetting scheme +\end{boxedverbatim} +\caption{Menu « Scheme »}\label{fig:scheme-text} +\end{figure} + +Dans le menu « Scheme » (voir figure~\ref{fig:scheme-text}) on choisit +un schéma général de configuration qui détermine un ensemble de collections à +installer. Par défaut, on procède à l'installation de tout ce qui est +disponible (option \optname{scheme-full}). Des installations plus ou moins +complètes sont proposées : \optname{minimal} pour effectuer des tests +uniquement, \optname{basic} pour un système de base, \optname{medium} ou +\optname{teTeX} pour des systèmes intermédiaires. +Pour les francophones, l'option \optname{GUTenberg} est une bonne base de +départ. Le choix pourra être affiné à l'étape suivante. + +\begin{figure}[tbh] +\centering +\tlpng{stdcoll}{.7\linewidth} +\caption{Menu « Collections » (Linux)}\label{fig:collections-gui} +\end{figure} + +Une fois choisi le schéma général, il est possible de d'ajouter ou de +supprimer des composants, appelés +ici collections. Il y a deux types de collections : les +« Standard Collections » qui concernent les fontes, les extensions, les +formats, etc. (voir figure~\ref{fig:collections-gui}) et les +« Language Collections » qui permettent de préciser la liste des langues +qui seront utilisables sur le système (indispensable !). Attention, si vous +travaillez en mode texte, dans ces menus la casse des lettres est importante. +En mode graphique, il suffit de cocher ou de décocher les cases en cliquant. + +Il est possible de raffiner encore les choix mais il faudra alors utiliser +le programme \prog{tlmgr} ultérieurement, voir la section~\ref{sec:tlmgr}. + +\subsubsection{Répertoires d'installation} +\label{sec:directories} + +La racine de l'installation principale est donnée par \dirname{TEXDIR} qui +vaut par défaut \dirname{/usr/local/texlive/2008} sous Unix et +|%PROGRAMFILES%\texlive\2008| sous Windows. +La liste des sous-répertoires de \dirname{TEXDIR} choisis par défaut est +donnée à la section~\ref{sec:texmftrees}, page~\pageref{sec:texmftrees}. + +Il peut être nécessaire de changer la valeur de \dirname{TEXDIR} +lorsque celui qui procède à l'installation n'a pas les droits d'écriture +sur le répertoire \dirname{TEXDIR} (l'installation n'est pas réservée au +super-utilisateur « root » ou « Administrateur »). +Il est possible d'installer \TL{} dans le répertoire personnel d'un +utilisateur, dans ce cas on peut choisir par exemple |~/texlive/2008|. + +Dans tous les cas, il est recommandé d'inclure l'année dans le chemin afin de +pouvoir conserver plusieurs versions de \TL{} en parallèle. +Rien n'empêche d'ajouter un lien symbolique (par exemple +\dirname{/usr/local/texlive-current}) qui pointe sur la version actuellement +utilisée. Ceci facilite les basculements d'une version à une autre. + +Le répertoire \envname{TEXMFHOME} (|~/texmf| par défaut) est destiné à +regrouper les répertoires de macros personnelles. Le caractère |~| désignant +le répertoire personnel est traité différemment, selon qu'il est utilisé dans +\dirname{TEXDIR} --~il s'agit alors du répertoire de \emph{l'installateur}~-- +ou dans \envname{TEXMFHOME}, là |~| est traité dynamiquement utilisateur par +utilisateur est vaut \envname{\$HOME} %$ +sous Unix et |%USERPROFILE%| sous Windows. + +\subsubsection{Options} +\label{sec:options} + +\begin{figure}[tbh] +\centering +\begin{boxedverbatim} +

use letter size instead of A4 by default: [ ] + create all format files: [X] + install font/macro doc tree: [X] + install font/macro source tree: [X] + create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{menu « Options » (Unix)}\label{fig:options-text} +\end{figure} + +La figure~\ref{fig:options-text} présente le menu « Options » en mode +texte. Normalement il n'y a pas lieu de modifier les choix par défaut. +Voici quelques précisions cependant. + +\begin{description} +\item[use letter size instead of A4 by default] -- la taille du papier pour + l'impression est A4, il est possible de la changer ici, en \textit{letter} + par exemple. + +\item[create all format files] -- création de tous les formats à l'installation. + Bien que cette opération prenne un peu de temps, il est conseillé de ne pas + la supprimer, sinon les formats seront créés au coup par coup dans les + répertoires personnels des utilisateurs (sous \envname{TEXMFVAR}). Les + formats personnels ainsi créés ne bénéficieront pas des mises à jour + éventuelles effectuées ultérieurement sur l'installation \TL{}, ce qui + peut engendrer des incompatibilités. + +\item[create symlinks in standard directories] (Unix seulement) -- + cette option permet d'éviter de modifier les variables d'environnement + \envname{PATH}, \envname{MANPATH} et \envname{INFOPATH}. En revanche, + elle peut perturber une installation \TeX{} incluse dans votre distribution + (Debian, RedHat, etc.). La modification des trois variables d'environnement + ci-dessus est préférable. +\end{description} + +Lorsque vous êtes satisfait des réglages faits, il vous reste à taper +\code{I} pour lancer le processus d'installation. Lorsque celui-ci sera +terminé, sautez à la section~\ref{sec:postinstall} pour voir s'il y a +d'autres choses à faire. + +\subsubsection{Utilisation de \TL{} à partir du DVD{} (mode texte uniquement)} +\label{sec:fromdvd} + +Taper `|V|' pour choisir ce mode de fonctionnement, le menu qui s'affiche +alors est présenté figure~\ref{fig:main-fromdvd}. +\begin{figure}[tbh] +\centering +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in indicate menu items <======= +=======> for commands or configurable options <======= + + directories: + TEXDIRW (Writable root): + !! default location: /usr/local/texlive/2008 + !! is not writable, please select a different one! + TEXMFLOCAL (directory for site-wide local files): + /usr/local/texlive/texmf-local + TEXMFSYSVAR (directory for variable and automatically generated data): + /usr/local/texlive/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + options: + [ ] use letter size instead of A4 by default + [X] create all format files + + set up for installing to hard disk + +Other actions: + start installation for running from DVD + help + quit +\end{boxedverbatim} +\caption{Menu principal après choix de l'option « \optname{running from DVD} »}% +\label{fig:main-fromdvd} +\end{figure} +Noter les changements : toutes les options concernant le choix du matériel à +installer, les liens symboliques, ont disparu. Le menu « Directories » +parle maintenant de \dirname{TEXDIRW} (racine accessible en écriture). + +L'exécution de \TL{} à partir du \DVD{} nécessite la création de quelques +répertoires mais un minimum de fichiers sont installés sur le disque dur. + +La configuration après installation pour Unix est un peu plus complexe, voir +section~\ref{sec:postinstall}. + +Faute de temps, cette option n'a pu être intégrée à l'interface graphique. +Elle reste utilisable en mode texte y compris sous Windows, voir +section~\ref{sec:cmdline}. + +La section \ref{sec:portable-unix} décrit une autre façon d'utiliser \TL{} à +partir du \DVD{}. Elle ne nécessite aucune modification du système mais ne +permet aucune personnalisation. + +\subsection{Options en ligne de commande} +\label{sec:cmdline} + +Taper +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +pour obtenir la liste de toutes les options disponibles. +Voici les principales : + +\begin{ttdescription} +\item[-gui] -- exécution en mode graphique (si possible). Ceci nécessite le + module Perl/Tk (\url{http://tug.org/texlive/distro.html#perltk}) ; si + Perl/Tk n'est pas disponible, l'installation se poursuit en mode texte. +\item[-no-gui] -- exécution en mode texte, même sous Windows ; + ceci est utile pour exécuter \TL{} à partir du \DVD{} (option non disponible + en mode graphique). +\item[-lang {\sl LL}] -- impose la langue utilisée dans les menus lors de + l'installation. Le code de langue comporte deux lettres. Sont actuellement + disponibles les langues suivantes : : anglais (\texttt{en}, langue par + défaut), allemand (\texttt{de}), français (\texttt{fr}), néerlandais + (\texttt{nl}), polonais (\texttt{pl}), Slovène (\texttt{sl}) et vietnamien + (\texttt{vi}). Le programme s'efforce de déterminer automatiquement + la langue à utiliser et se rabat sur l'anglais en cas d'échec. +\item[-profile {\sl profile}] -- à chaque exécution, le script d'installation + écrit un compte-rendu dans le fichier + \filename{texlive.profile} du répertoire \dirname{2008/tlpkg} ou + \dirname{tlpkg}. L'option \texttt{-profile} demande au script de réutiliser + le fichier \filename{texlive.profile}. En voici un extrait : + \begin{fverbatim} +# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC +# It will NOT be updated and reflects only the +# installation profile at installation time. +selected_scheme scheme-basic +TEXDIR /usr/local/texlive/2008 +TEXDIRW /usr/local/texlive/2008 +... +TEXMFSYSVAR /usr/local/texlive/2008/texmf-var +collection-basic 1 +... +option_symlinks 0 + \end{fverbatim} + Il est ainsi facile de reproduire un même scéma d'installation sur plusieurs + machines. +\item [-location {\slshape url/path}] -- choix d'une source où récupérer le + matériel à installer. \label{item:location} + +L'argument de l'option \texttt{{\slshape url/path}} peut être une url +commençant par \texttt{ftp:}, \texttt{http:}, ou \texttt{file:/} ou bien un +chemin local. + +Si l'argument correspond à un chemin local (ou une url de type +\texttt{file:/}), le script recherche un sous-répertoire +\dirname{archive} contenant des fichiers compressés \filename{.tar.lzma}, +ceux-ci seront utilisés en priorité. + +Si l'argument est une url distante (\texttt{http:} ou \texttt{ftp:}) +le `\texttt{/}' final ainsi que la chaîne `\texttt{/tlpkg}' sont ignorés. +Par exemple, le choix du miroir \CTAN{} +\url{http://mirrors.ircam.fr/pub/CTAN/systems/texlive/tlnet/2008/} +est valide. La liste des miroirs \CTAN{} est ici : +\url{http://ctan.org/mirrors}. + +Lorsqu'aucune option \texttt{-location} n'est spécifiée, le script +d'installation choisit un miroir automatiquement, celui-ci servira +pour tout le téléchargement. +\end{ttdescription} + +\subsection{Terminer l'installation} +\label{sec:postinstall} + +Selon les cas quelques opérations supplémentaires peuvent être nécessaires. + +\subsubsection{Windows} + +Sous Windows, le programme d'installation s'occupe de tout (normalement). + +\subsubsection{Cas où des liens symboliques sont créés} + +Si vous avez opté pour l'option créant des liens symboliques (voir +section~\ref{sec:options}), il n'est pas nécessaire d'ajuster les variables +d'environnement. + +\subsubsection{Variables d'environnement Unix} +\label{sec:env} + +Le chemin des binaires correspondant à votre machine doit être ajouté à la +variable \envname{PATH}. À chaque architecture correspond un sous-répertoire +de \dirname{TEXDIR/bin}, voir la liste à la figure~\ref{fig:bin-text} +\pageref{fig:bin-text}. + +Si vous voulez que votre système trouve les fichiers de documentation +concernant \TL{}, il faut également ajuster les variables \envname{MANPATH} +et \envname{INFOPATH}. + +Pour les \textit{shells} dits « Bourne-compatible » tels que +\prog{bash} sous GNU/Linux, le fichier à éditer peut être +\filename{$HOME/.bash\_profile} ou \filename{$HOME/.profile} et les lignes à +ajouter sont de la forme suivante : + +\begin{sverbatim} +PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2008/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +Pour les \textit{shells} \prog{csh} ou \prog{tcsh}, le fichier à éditer +est en principe \filename{$HOME/.cshrc} %$ +et les lignes à ajouter sont de la forme suivante : +\begin{sverbatim} +setenv PATH /usr/local/texlive/2008/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + +%$ + +\subsubsection{Variables d'environnement : configuration multi-utilisateur} +\label{sec:envglobal} + +Il est possible d'ajuster les variables \envname{PATH}, \envname{MANPATH} +et \envname{INFOPATH} globalement pour tous les utilisateurs présents et +futurs sans avoir à éditer les fichiers personnels de chacun mais les façons +de le faire sont trop différentes d'un système à l'autre pour être présentées +ici. + +Voici quelques pistes : pour \envname{MANPATH} chercher un fichier +\filename{/etc/manpath.config}, s'il est présent lui ajouter +des lignes du genre +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2008/bin/i386-linux \ + /usr/local/texlive/2008/texmf/doc/man +\end{sverbatim} +Pour les deux autres, chercher un fichier\filename{/etc/environment}, il est +éventuellement possible d'y définir les valeurs des variables d'environnement +telles que \envname{PATH} et \envname{INFOPATH}. + +\subsubsection{Exécution à partir du DVD} + +Les programmes de \TL{} consultent le fichier \filename{texmf.cnf} pour savoir +dans quelles arborescences se trouvent les fichiers dont ils ont besoin. +Malheureusement, ceci ne fonctionne pas lorsque les programmes sont lancés à +partir d'un \DVD{} ; en effet certains chemins ne sont connus qu'à +l'installation et ne peuvent être inscrits sur le \DVD{} puisqu'il est +accessible uniquement en lecture. Il faut donc créer un fichier +\filename{texmf.cnf} sur le disque et préciser où il se trouve grâce à la +variable d'environnement \envname{TEXMFCNF}. Ceci ne dispense pas de +modifier la variable d'environnement \envname{PATH} comme indiqué ci-dessus. + +Le script d'installation affiche en fin de traitement, un message indiquant la +valeur à donner à la variable \envname{TEXMFCNF}. Si ce message vous a +échappé, cette valeur est \dirname{$TEXMFSYSVAR/web2c}, %$ +qui vaut par défaut \dirname{/usr/local/texlive/2008/texmf-var/web2c}. + +Voici les lignes à taper dans ce cas : +\begin{sverbatim} +TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF +\end{sverbatim} +ou pour [t]csh: +\begin{sverbatim} +setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c +\end{sverbatim} + +\subsubsection{\ConTeXt{} Mark IV} + +L'ancien \ConTeXt{} devrait fonctionner sans problème. La nouvelle version, +appelée « Mark IV » demande un peu de configuration spécifique, voir +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + +\subsubsection{Ajout de fichiers locaux ou personnels} + +Comme cela a déjà été indiqué à la section~\ref{sec:texmftrees}, +\envname{TEXMFLOCAL} (par défaut \dirname{/usr/local/texlive/texmf-local} ou +\verb|C:\Program Files\texlive\texmf-local|) est la racine de +l'arborescence prévue pour regrouper les fichiers de macros, les fontes et le +matériel utilisable par l'ensemble des utilisateurs du système. +D'autre part \envname{TEXMFHOME} (par défaut \dirname{$HOME/texmf} %$ +(ou |%USERPROFILE%\texmf|) regroupe le matériel personnel de chaque +utilisateur. + +Dans les deux cas, les fichiers ajoutés doivent être placés, non pas en vrac à +la racine de \envname{TEXMFLOCAL} ou \envname{TEXMFHOME} mais dans des +sous-répertoires bien choisis (voir \url{http://tug.org/tds} ou lire le +fichier \filename{texmf.cnf}). Par exemple, une classe ou une extension +\LaTeX{} ne sera trouvée que si elle est dans \dirname{TEXMFLOCAL/tex/latex} ou +\dirname{TEXMFHOME/tex/latex} ou dans un sous-répertoire de ceux-ci. + +Enfin, si les ajouts ont été faits sous \envname{TEXMFLOCAL}, il y a lieu de +régénérer les bases de données \filename{ls-R} (commande \cmdname{mktexlsr} +ou bouton « Reinit file database » du programme \prog{tlmgr} +en mode graphique). + +L'emplacement des répertoires \envname{TEXMFLOCAL} et \envname{TEXMFHOME} est +fixe (il ne change pas d'une version à l'autre de \TL{}). Leur contenu est +pris en compte par toutes les versions de \TL{} aussi est-il préférable de ne +pas changer la valeur des variables \envname{TEXMFLOCAL} et \envname{TEXMFHOME} +à l'installation. + + +\subsubsection{Ajout de fontes externes à \TL{}} + +Cette question est malheureusement trop complexe pour être abordée ici. +Renoncez-y sauf si connaissez bien les arcanes d'une installation \TeX. +Vérifiez en premier lieu ce qui existe déjà en libre : voir la +section~\ref{sec:tl-fonts}. + +Une alternative possible est d'utiliser \XeTeX (voir +section~\ref{sec:tex-extensions}) qui permet l'accès aux fontes disponibles +sur le système sans aucune installation supplémentaire. + + +\subsection{Tester l'installation} +\label{sec:test-install} + +Une fois l'installation de \TL{} terminée, il faut la tester avant de créer +des documents ou des fontes. Les tests doivent être faits par un utilisateur +non privilégié (autre que \textit{root}). + +On donne ici quelques procédures de base pour vérifier que le nouveau +système est opérationnel. On les décrit pour Unix ; pour \MacOSX{} ou +Windows, il vaut mieux tester au travers d'une interface graphique +mais les principes sont les mêmes. + +\begin{enumerate} + +\item S'assurer en premier lieu que le programme \cmdname{tex} fonctionne : + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (Web2C 7.5.7) +kpathsea version 3.5.7 +... +\end{alltt} + +Si la réponse est \texttt{command not found} ou si le numéro de version est +différent, il est fort probable que vous n'avez pas le bon répertoire +de binaires dans votre \envname{PATH}. +Voir les informations sur l'environnement page~\pageref{sec:env}. + +\item Traiter un fichier \LaTeX{} simple : + +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.1415926... +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +Si le fichier \filename{sample2e.tex} ou d'autres ne sont pas trouvés, +il y a probablement des interférences avec vos anciennes variables +d'environnement ou fichiers de configuration. Pour analyser en détail +votre problème, vous pouvez demander à \TeX{} de dire exactement ce +qu'il cherche et trouve ; voir la section~\ref{sec:debugging} +page~\pageref{sec:debugging}. + +\item Prévisualiser les résultats en ligne : +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +Sous Windows, la commande équivalente est \cmdname{dviout}. +Une nouvelle fenêtre doit s'ouvrir et montrer un joli document expliquant les +bases de \LaTeX{} (document dont la lecture attentive est recommandée si vous +êtes débutant !). +Vous devez travailler sous X pour que \cmdname{xdvi} fonctionne. Sinon, votre +variable d'environnement \envname{DISPLAY} n'est pas correcte et vous +aurez une erreur \samp{Can't open display}. + +\item Créer un fichier \PS{} pour l'imprimer ou l'afficher : + +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Créer un fichier \acro{PDF} au lieu de \dvi{} ; +cet exemple traite le fichier \filename{sample2e.tex} et crée directement +du \acro{PDF} : + +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Prévisualiser le fichier \acro{PDF} : + +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{ou} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} + +Hélas, ni \cmdname{gv} ni \cmdname{xpdf} ne sont actuellement inclus dans +\TL{}, aussi devez-vous les installer séparément si ce n'est déjà fait. +Voir respectivement +\url{http://www.gnu.org/software/gv} et +\url{http://www.foolabs.com/xpdf} (il y a bien d'autres lecteurs de +fichiers \acro{PDF}). + +\item Autres fichiers de tests utiles en plus de \filename{sample2e.tex} : + +\begin{ttdescription} + +\item [small2e.tex] à compiler avant \filename{sample2e} si celui-ci pose des + problèmes. + +\item [testpage.tex] teste que l'imprimante n'introduit pas de décalages. + +\item [nfssfont.tex] imprime des tables des fontes et des tests. +\item [testfont.tex] aussi pour les tables de fontes mais en (plain)\TeX. +\item [story.tex] le fichier de test de (plain)\TeX{} le plus canonique +de tous. Il faut taper \samp{\bs bye} à la commande \code{*} après +\samp{tex story.tex}. + +\end{ttdescription} +Pour exécuter ces tests procéder comme pour \filename{sample2e.tex}. + +\end{enumerate} + +Si vous êtes débutant ou si vous avez besoin d'aide pour réaliser des +documents \TeX{} ou \LaTeX{}, n'hésitez pas à consulter +\url{http://tug.org/begin.html}. +On vous recommande également l'introduction à \LaTeX{} de Tobias Oetiker +dans sa version anglaise (la version française n'est plus à jour) +disponible après installation sous +\url{texmf-doc/doc/english/lshort-english/lshort.pdf}. + +\section{Utilisation de \TL{} en réseau} +\label{sec:netinstall} + +\TL{} a été conçu comme un système multi-utilisateurs capable de fonctionner +en réseau. Un même serveur peut proposer la distribution \TL{} à différentes +machines, éventuellement d'architectures différentes, il suffit que le serveur +possède les répertoires de binaires adéquats. + +La seule chose à faire par chaque utilisateur local ou distant est d'ajouter +le chemin des exécutables correspondant à son architecture dans son +\envname{PATH}% +\footnote{Plus précisément \emph{en tête} du \envname{PATH} s'il y a d'autres + binaires \TeX{} en concurrence.}. + +Ceci fonctionne parce que les répertoires de recherche des fichiers utilisés +par \TL{} (\envname{TEXMFMAIN}, \envname{TEXMFDIST}, \envname{TEXMFSYSVAR}, +\envname{TEXMFSYSCONFIG} et \envname{TEXMFLOCAL} sont définis +\emph{relativement aux exécutables} lors de l'installation (voir dans le fichier +\filename{TEXMFMAIN/web2c/texmf.cnf} le rôle de la variable +\envname{\$SELFAUTOPARENT}). %$ + +Cette disposition permet aussi de faire une installation sur une machine et +de la déplacer après coup sur un serveur, la seule chose à changer est le +contenu de la variable \envname{PATH}. + +Ce qui précède vaut pour les utilisateurs d'Unix. +Pour ceux qui sont sous Windows, le répertoire +\dirname{texmf-doc/source/texlive/texlive-common/w32client} +contient un exemple de script \filename{install-w32client} qui permet +de partager une installation \TL{} à travers un réseau local. Il se lance +par l'intermédiaire du fichier « batch » +\filename{install-w32client.bat} qui se trouve dans le même répertoire. + +De plus amples informations sur la configuration de \TL{} et sur la recherche +de fichiers sont disponibles à la section~\ref{sec:kpathsea}. + +\section{\TL{} sur une machine hôte (DVD ou USB)} +\label{sec:portable-unix} + +L'utilisation de \TL{} à partir du \DVD{} décrite à la +section~\ref{sec:fromdvd} impose la création de quelques répertoires sur le +disque dur, ce qui n'est pas gênant sur une machine personnelle. En revanche, +lorsqu'on travaille sur une machine hôte, il est préférable de limiter les +ajouts et modifications à faire sur le disque dur. + +Les scripts \filename{tl-portable} (pour Unix) et \filename{tl-portable.bat} +pour Windows, présents à la racine de \TL{} (ou dans le répertoire +\dirname{texlive} du \DVD \TK) facilitent l'utilisation de \TL{} sur des +machines hôtes. Lors de leur première exécution, ces scripts créent un +répertoire \dirname{~/.tlportable2008} contenant divers fichiers de +configuration qui permettront l'accès à la distribution \TL{} du \DVD. +Ceci peut prendre un peu de temps mais lors des exécutions +suivantes le démarrage est presque immédiat. Rien n'est modifié sur la machine +en dehors du répertoire \dirname{~/.tlportable2008}. + +Pour qu'un éditeur prenne en compte la distribution \TL{} du \DVD, il suffit +de le lancer par l'intermédiaire du script \filename{tl-portable}. + +Le script \filename{tl-portable} est utile aussi pour créer une distribution +\TL{} sur une clé \acro{USB}. Pour ce faire, copier sur la clé les fichiers +et les répertoires situés à la racine de \TL{} (au moins \dirname{bin}, +\dirname{texmf}, \dirname{texmf-dist} et \dirname{tlpkg}). Si la clé est +formatée en \acro{FAT32}, attention aux liens symboliques (utiliser \code{cp + -L} pour copier). Il est possible d'ajouter un répertoire +\dirname{texmf-local} sur la clé, il sera pris en compte à l'exécution. Il +reste à lancer le script \filename{tl-portable} à la racine de la clé comme +ci-dessus ; celle-ci étant accessible en écriture, lors des exécutions de \TL{} +tous les fichiers seront créés sur elle et rien ne sera écrit sur le +disque dur. + +\section{Maintenance de l'installation avec \cmdname{tlmgr}} +\label{sec:tlmgr} + +\begin{figure}[tb] +\centering +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} en mode graphique (après clic sur le bouton « Load »).}% +\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\centering +\tlpng{tlmgr-config}{\linewidth} +\caption{\texttt{tlmgr} en mode graphique, onglet « configuration »}% +\label{fig:tlmgr-config} +\end{figure} + +Un nouveau programme appelé \prog{tlmgr} est installé avec la +distribution \TL. Il fournit une interface conviviale pour la +maintenance de la distribution. Les programmes \prog{updmap}, +\prog{fmtutil} et \prog{texconfig} ont été conservés et le seront à +l'avenir bien que \prog{tlmgr} soit appelé à devenir l'interface +standard de configuration. +\prog{tlmgr} permet en particulier +\begin{itemize} +\item de voir la liste de toutes les collections et extensions + disponibles, avec la mention \texttt{(i)} pour celles qui sont installées ; +\item d'installer, de mettre à jour ou de désinstaller tel ou tel composant, + en respectant les dépendances (sauf si l'utilisateur le refuse) ; +\item de rechercher des extensions ; +\item de voir la liste des binaires disponibles et d'en installer ; +\item de modifier la configuration (taille du papier, choix du + répertoire source pour le téléchargement voir option \texttt{-location} + page~\pageref{item:location}, etc.). +\end{itemize} +\textit{Attention :} \prog{tlmgr} ne doit pas être utilisé lorsque \TL{} est +exécuté à partir du \DVD{} (sans installation sur le disque dur). + +\subsection{\cmdname{tlmgr} en mode graphique} + +\prog{tlmgr} est lancé en mode graphique par la commande +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +ou sous Windows dans le menu « Démarrer » : \texttt{Démarrer} $\rightarrow$ +\texttt{Programmes} $\rightarrow$ \texttt{TeX Live 2008} $\rightarrow$ +\texttt{TeX Live Manager}. + +La première chose à faire est de cliquer sur le bouton « Load% +\footnote{Dans la description qui suit, le nom des boutons est celui de la + version anglaise par souci de cohérence avec les figures. L'affichage se + fait normalement dans la langue de l'utilisateur (variable \envname{LANG} + sous Unix).} » ce qui affiche la liste des collections, extensions, etc. ; +le préfixe \texttt{(i)} indique celles qui sont déjà installées. + +La figure~\ref{fig:tlmgr-config} présente l'onglet « configuration ». + +\subsection{Exemples d'utilisation de \cmdname{tlmgr} + en ligne de commande} + +Premier exemple : ajout de la collection « xetex » et de l'extension « xkeyval » +qui devront être téléchargées à partir d'un site spécifié. La commande + +\begin{alltt} +> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} +\end{alltt} +retourne +\begin{fverbatim} +install: collection-xetex +install: arabxetex +install: euenc +install: bidi +install: fontspec +install: fontwrap +install: ifxetex +install: philokalia +install: polyglossia +install: xecyr +install: xecyr.i386-linux +install: xepersian +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +install: xetex-pstricks +install: xetexfontinfo +install: xltxtra +install: xunicode +install: xkeyval +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... +mktexlsr: Done. +regenerating fmtutil.cnf +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} +Le programme \prog{tlmgr} prend en compte les dépendances et effectue +automatiquement toutes les opérations nécessaires comme la mise à jour des +bases de données et la génération de formats (ici un nouveau format a été créé +pour \XeTeX). + +Deuxième exemple : ajout d'une langue de travail (néerlandais) ; ceci provoque +la régénération de plusieurs formats. +\begin{alltt} +> \Ucom{tlmgr install collection-langdutch} +\end{alltt} + +La demande de description de l'extension « collection-wintools » +\begin{alltt} +> \Ucom{tlmgr show collection-wintools} +\end{alltt} +retourne +\begin{fverbatim} +Package: collection-wintools +Category: Collection +ShortDesc: Windows support programs +LongDesc: Utilities for Windows, since they are not readily available there: + gzip, chktex, jpeg2ps, unzip, wget, xpdf. +Installed: Yes +\end{fverbatim} + +Mise à jour complète de l'installation avec les dernières versions disponibles : +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +ou juste pour voir ce qui se passerait en cas de mise à jour complète : +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +ou bien +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} + +Documentation complète de \prog{tlmgr} : +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + +\section{Spécificités Windows} +\label{sec:windows} + +Le nouveau programme d'installation de \TL{} est conçu pour +fonctionner aussi bien sous Unix que sous Windows. Ceci nous a +obligés à nous limiter à Windows 2000 et à ses successeurs (XP, Vista), +au détriment des anciennes versions (9\textit{x}, ME et NT). + +\subsection{Installation} +\label{sec:winfeatures} + +Sous Windows le programme d'installation effectue quelques tâches +supplémentaires : +\begin{description} +\item[Menus et raccourcis] -- un sous-menu «\TL{}» est ajouté au menu + « Démarrer », il contient des entrées pour les programmes \prog{tlmgr}, + \prog{texdoctk}, PS\_View et pour de la documentation. + Une icône PS\_View est ajoutée sur le bureau, il suffit d'y déposer un + fichier PostScript pour provoquer son affichage. +\item[Variables d'environnement] -- leurs valeurs sont préremplies + automatiquement sans intervention de l'utilisateur. +\item[Désinstallation] -- une entrée est ajoutée pour \TL{} dans le menu + « Ajout et suppression de programmes ». +\end{description} + +\subsection{Programmes supplémentaires} + +\begin{figure}[tb] +\centering +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: de très forts grossissements sont possibles !}% +\label{fig:psview} +\end{figure} + +L'installation de \TL{} ajoute quelques utilitaires non fournis en standard +avec Windows : +\begin{description} +\item[Perl et Ghostscript] -- \TL{} installe des copies « cachées » de ces + programmes : ce sont des versions spécifiques adaptées à \TL{}, elles + sont invisibles hors de \TL{} et n'interfèrent donc en aucune façon avec + d'autres versions éventuellement présentes sur la machine. +\item[Outils en ligne de commande] -- des versions pour Windows de programmes + Unix sont installées, en particulier \cmdname{gzip}, \cmdname{chktex}, + \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} et quelques utilitaires + de la suite \cmdname{xpdf} (\cmdname{xpdf} lui-même n'est pas disponible + sous Windows mais le visualiseur \acro{PDF} Sumatra en est dérivé, voir + \url{http://blog.kowalczyk.info/software/sumatrapdf}). +\item[\texttt{fc-cache}] -- facilite l'accès aux fontes système pour \XeTeX. +\item[PS\_View] -- nouveau visualiseur PostScript sous licence libre, + voir figure~\ref{fig:psview}. +\item[Répertoire \texttt{support}] -- ce répertoire, déjà mentionné à la + section~\ref{sec:tld}, contient divers programmes éventuellement utiles + comme des éditeurs adaptés aux fichiers \TeX{} ou le visualiseur Dviout + présenté à la section suivante. Ces programmes ne sont + pas installés automatiquement par la commande \prog{install-tl}. +\end{description} + +\subsection{Visualiseur Dviout} + +Cette année, la distribution \TL{} ne contient malheureusement pas de +visualiseur \dvi{} pour Windows. Le programme \prog{dviout} de +Toshio Oshima est disponible dans le répertoire \path{support/dviout/}, il est +accompagné d'un fichier \filename{README} (à lire attentivement) décrivant +l'installation et la configuration de \prog{dviout} pour \TL. + +Lors des premières exécutions de \cmdname{dviout}, de nombreuses fontes sont +créées à la volée pour l'écran utilisé. Ceci prend un peu de temps mais se +produit de plus en plus rarement au fur et à mesure des utilisations. +Une bonne aide en ligne est disponible. + +\subsection{Téléchargement de logiciels supplémentaires} + +Voici quelques liens vers des sites proposant des outils intéressants : +\begin{description} +\item[Ghostscript] -- \url{http://www.cs.wisc.edu/~ghost/} ; +\item[Perl] -- \url{http://www.activestate.com/} et \acro{CPAN} + \url{http://www.cpan.org/} ; +\item[ImageMagick] -- \url{http://www.imagemagick.com} pour l'affichage et la + conversion d'images ; +\item[NetPBM] -- \url{http://netpbm.sourceforge.net/} un concurrent du + précédent ; +\item[Éditeurs orientés \TeX] -- le choix est large, en voici une sélection : + \begin{itemize} +% \item \cmdname{GNU Emacs} disponible sous Windows, see +% \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} ; + \item \cmdname{Emacs} avec Auc\TeX\ pour Windows disponible dans le + répertoire \path{support} de \TL{} ; le site de référence est + \url{http://www.gnu.org/software/auctex} ; + \item \cmdname{WinShell} disponible également dans le répertoire + \path{support} ; le site de référence est \url{http://www.winshell.de} ; + \item \cmdname{WinEdt} est un \textit{shareware}, voir + \url{http://www.winedt.com} ; + \item TeXnicCenter est libre, il est disponible sur + \url{http://www.toolscenter.org} et dans la distribution \ProTeXt{} ; + \item \cmdname{Vim} est libre, voir \url{http://www.vim.org} ; + \item \cmdname{LEd} voir \url{http://www.ctan.org/support/LEd} ; + \item \cmdname{SciTE} voir + \url{http://www.scintilla.org/SciTE.html}. + \end{itemize} +\end{description} + + +\subsection{Répertoire personnel} +\label{sec:winhome} + +L'équivalent du répertoire personnel noté \envname{\$HOME} sous +Unix s'appelle \verb|%USERPROFILE%| sous Windows. % +Cette variable vaut en général +\verb|C:\Documents and Settings\| sous Windows XP et 2000 +et \verb|C:\Utilisateurs\| sous Vista. +La notation \verb|~|, utilisée dans \filename{texmf.cnf} et dans \KPS{} en +général pour désigner un répertoire personnel, est correctement interprétée +sous Windows comme sous Unix. + + +\subsection{Base de registre Windows} +\label{sec:registry} + +% (df) Je ne vois pas bien l'utilité de cette section... + +Windows stocke pratiquement tous les paramètres de configuration dans sa base +de registres. Celle-ci contient un ensemble de clés organisées par niveau. +Les clés les plus importantes pour l'installation de programmes sont +\path{HKEY_CURRENT_USER} et \path{HKEY_LOCAL_MACHINE}, \path{HKCU} et +\path{HKLM} en abrégé. La partie \path{HKCU} de la base de registres +se trouve dans le répertoire personnel de l'utilisateur (voir +section~\ref{sec:winhome}). La partie \path{HKLM} est normalement dans un +sous-répertoire du répertoire Windows. + +Certaines informations système peuvent s'obtenir à partir des variables +d'environnement mais pour d'autres, la localisation des raccourcis par +exemple, la consultation de la base de registre est indispensable. +La modification des variables d'environnement nécessite l'accès à la base de +registre. + + +\subsection{Droits d'accès sous Windows} +\label{sec:winpermissions} + +Dans les versions récentes de Windows, la distinction est faite entre +« utilisateurs » et « administrateurs », ces derniers ayant accès en écriture +à la totalité du système. En pratique on devrait plutôt parler d'utilisateurs +« non privilégiés » et d'utilisateurs « normaux » car être « administrateur » +est la règle et non l'exception. + +Nous nous sommes efforcés de rendre l'installation de \TL{} possible aux +utilisateurs non privilégiés. + +Si celui qui fait l'installation est « administrateur », les raccourcis +et les entrées des menus sont créés pour tous les utilisateurs ; +sinon, seul celui qui a fait l'installation aura accès à ces éléments. +L'option \optname{non-admin} du programme \prog{install-tl} permet à un +« administrateur » de faire une installation comme utilisateur non privilégié. + +Dans tous les cas, le répertoire proposé comme racine de l'installation est +\verb|%PROGRAMFILES%|. % +Le programme \prog{install-tl} vérifie si le répertoire choisi comme racine +est accessible en écriture pour celui qui procède à l'installation. + +Lorsqu'une installation \TeX{} est présente sur la machine, l'installation +de \TL{} par un utilisateur non privilégié est problématique : +cet utilisateur n'aura jamais accès aux exécutables \TL{} car la recherche +s'effectue d'abord dans les répertoires système, puis dans les répertoires de +l'utilisateur. Une parade sommaire a été prévue : les raccourcis intègrent +dans ce cas le chemin complet des exécutables qu'ils représentent. La +distribution \TL{} est ainsi utilisable en ligne de commande à partir de ces +raccourcis. + + +\section{Guide d'utilisation du système Web2C} + +\Webc{} est une collection intégrée de programmes relatifs à \TeX, +c.-à-d. \TeX{} lui-même, \MF{}, \MP, \BibTeX{}, etc. +C'est le cœur de \TL{}. Le site de référence est \url{http://tug.org/web2c}. + +Un peu d'histoire : la première implémentation a été réalisée par Tomas +Rokicki qui, en 1987, a développé un premier système \TeX{}-to-C en adaptant +les \textit{change files} pour Unix (travail de Howard Trickey et Pavel Curtis +principalement). Tim Morgan assura la maintenance du système, dont le nom fut +remplacé durant cette période par Web-to-C. En 1990, Karl Berry reprit le +travail, assisté par des dizaines de contributeurs et en 1997 il passa le +relais à Olaf Weber qui le rendit à Karl en 2006. + +Le système \Webc{} fonctionne sur Unix, sur les systèmes Windows 32 bits, +sur \MacOSX{} et sur de nombreux autres systèmes d'exploitation. Il utilise les +sources originales de Knuth pour \TeX{} et les autres programmes de base +écrits en \web{} (système de programmation documentée) qui sont tous traduits +en langage C. Les composants du noyau de \TeX{} issus de ce processus sont : + +\begin{description} +\item[bibtex] -- gère les bibliographies. +\item[dmp] -- \cmdname{troff} vers MPX (dessins \MP{}). +\item[dvicopy] -- copie le fichier \dvi{} en supprimant les fontes virtuelles. +\item[dvitomp] -- convertit le fichier \dvi{} en MPX (dessins \MP{}). +\item[dvitype] -- convertit le fichier \dvi{} en un texte lisible. +\item[gftodvi] -- visualisation de fontes génériques GF. +\item[gftopk] -- convertit les fontes génériques GF en fontes bitmap PK. +\item[gftype] -- convertit le fichier GF en un texte lisible. +\item[makempx] -- typographie des étiquettes \MP{}. +\item[mf] -- création de fontes. +\item[mft] -- mise en page de code source \MF{}. +\item[mpost] -- création de diagrammes techniques. +\item[mpto] -- extraction d'étiquettes \MP{}. +\item[newer] -- comparaison de dates de modification (fichiers). +\item[patgen] -- création de motifs de césure. +\item[pktogf] -- convertit les fontes bitmap PK en fontes génériques GF. +\item[pktype] -- convertit les fontes PK en un texte lisible. +\item[pltotf] -- convertit les fichiers PL (lisibles) en TFM. +\item[pooltype] -- affiche les fichiers \web{} pool. +\item[tangle] -- \web{} vers Pascal. +\item[tex] -- composition de textes. +\item[tftopl] -- convertit les fichiers TFM en PL (lisibles). +\item[vftovp] -- convertit les fontes virtuelles VF en VPL (lisibles). +\item[vptovf] -- convertit les fontes VPL en fontes virtuelles VF. +\item[weave] -- \web{} vers \TeX. +\end{description} + +La syntaxe et les fonctions précises de ces programmes sont décrites dans +la documentation des composants individuels et dans le manuel \Webc{} +lui-même. Toutefois, connaître un certain nombre de principes régissant +l'ensemble de la famille de programmes peut aider à exploiter de façon +optimale votre installation \Webc{}. + + Presque tous ces programmes suivent les options standard de \GNU : +\begin{description} + \item[\texttt{-{}-help}] imprime le sommaire de l'utilisation, + \item[\texttt{-{}-verbose}] imprime le rapport détaillé du processus, + \item[\texttt{-{}-version}] imprime seulement le numéro de version. +\end{description} + +Pour localiser les fichiers, les programmes \Webc{} utilisent la bibliothèque +de recherche \KPS{} (\url{http://tug.org/kpathsea}). Cette bibliothèque +utilise une combinaison de variables d'environnement et un certain nombre de +fichiers de paramètres pour optimiser la recherche dans l'énorme arborescence +\TeX{}. \Webc{} peut exécuter une recherche dans plusieurs arborescences +simultanément, ce qui est utile si l'on souhaite maintenir la distribution +standard de \TeX{} et les extensions locales dans deux arborescences +distinctes. Afin d'accélérer la recherche de fichiers, la racine de chaque +arborescence possède un fichier \file{ls-R} contenant une entrée donnant le +nom et le chemin de chaque fichier situé sous la racine. + +\subsection{Kpathsea et la recherche de fichiers} +\label{sec:kpathsea} + +Décrivons en premier lieu le mécanisme de recherche de la bibliothèque \KPS{}. + +Nous appelons \emph{chemin de recherche} une liste, séparée par +« deux-points» ou « point-virgule», d'éléments, appelés +\emph{éléments de chemin}, qui sont des noms de répertoires. +Un chemin de recherche peut provenir de plusieurs sources. +Pour rechercher un fichier \samp{my-file} le long +d'un chemin \samp{.:/dir}, \KPS{} vérifie chaque élément du chemin : +d'abord \filename{./my-file}, puis \filename{/dir/my-file} et renvoie la +première occurrence (voire toutes). + +Afin d'optimiser l'adaptation à tous les systèmes d'exploitation, \KPS{} peut +utiliser dans les noms de fichiers des séparateurs différents de deux-points +(\samp{:}) et barre oblique (\samp{/}) pour les systèmes non-Unix. + +Pour vérifier un élément de chemin particulier \var{p}, \KPS{} +vérifie d'abord si une base de données existante (voir +page~\pageref{sec:filename-database}) contient \var{p}, +c.-à-d. si la base de données se trouve dans un +répertoire qui est un préfixe de \var{p}. Si oui, la spécification +du chemin est comparée avec le contenu de la base de données. + +Si la base de données n'existe pas, si elle ne s'applique pas à cet élément de +chemin ou si elle ne contient aucune correspondance, la recherche est lancée +sur tout le système de fichiers (si cela n'a pas été interdit par une commande +commençant par \samp{!!} et si le fichier cherché est censé exister). \KPS{} +construit la liste de répertoires qui correspondent à cet élément de chemin, +puis cherche le fichier dans chaque élément de cette liste. + +La condition « le fichier est censé exister » est liée aux fichiers~\samp{.vf} +et aux fichiers d'entrée lus par la commande \TeX\ \cs{openin}. De tels +fichiers peuvent ne pas exister (par exemple \file{cmr10.vf}), il est donc +inutile de les rechercher sur le disque. De plus, si vous n'actualisez pas le +fichier \file{ls-R} lors de l'installation d'un nouveau fichier \samp{.vf}, il +ne sera jamais trouvé. Chaque élément de chemin est alors vérifié : d'abord +dans la base de données puis sur le disque. Si une occurrence est trouvée, la +recherche s'arrête et le résultat est obtenu. + +Bien que l'élément de chemin le plus simple et le plus fréquent soit un nom de +répertoire, \KPS{} supporte d'autres types d'éléments dans les chemins de +recherche : des valeurs par défaut différentes pour chaque programme, des noms +de variables d'environnement, des valeurs de fichiers de configuration, les +répertoires de l'utilisateur et la recherche récursive de +sous-répertoires. Nous disons alors que \KPS{} \emph{étend} un élément, +c'est-à-dire que \KPS{} transforme toutes ces spécifications en noms de +répertoires de base. Cette opération est décrite dans les sections suivantes. + +Notons que si le nom de fichier cherché est absolu ou explicitement +relatif, c'est-à-dire commençant par \samp{/}, \samp{./} ou +\samp{../}, \KPS{} ne vérifie que l'existence de ce fichier. +\ifSingleColumn +\else +\begin{figure*} +\centering +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{Un exemple de fichier de configuration} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Les différentes sources} +\label{sec:path-sources} + +Un chemin de recherche peut provenir de plusieurs sources. Voici l'ordre +dans lequel \KPS\ les utilise. + +\begin{enumerate} +\item Une variable d'environnement définie par l'utilisateur, par exemple + \envname{TEXINPUTS}. Les variables d'environnement avec une extension + attachée (nom de programme) sont d'abord prises en compte : par exemple, si + \samp{latex} est le nom du programme exécuté, \envname{TEXINPUTS.latex} + passera avant \envname{TEXINPUTS}. +\item Un fichier de configuration de programme spécifique, par exemple une + ligne « \texttt{S /a:/b} » dans le fichier \file{config.ps} de + \cmdname{dvips}. +\item Un fichier de configuration \file{texmf.cnf} de \KPS{} contenant une + ligne telle que \\ \samp{TEXINPUTS=/c:/d} (voir ci-dessous). +\item La valeur par défaut obtenue à la compilation. +\end{enumerate} +\noindent On peut voir chacune de ces valeurs pour un chemin de recherche +donné en utilisant l'option de débogage (voir page~\pageref{sec:debugging}). + +\subsubsection{Fichiers de configuration} + +\begingroup\tolerance=3500 +\KPS{} lit dans les \emph{fichiers de configuration à + l'exécution} appelés \file{texmf.cnf} les chemins de recherche et +d'autres définitions. Le chemin pour accéder à ces fichiers dans +l'arborescence est stocké dans la variable \envname{TEXMFCNF} +(par défaut ces +fichiers se trouvent dans le sous-répertoire \file{texmf/web2c}). +\emph{Tous} les fichiers \file{texmf.cnf} se trouvant dans le chemin +de recherche vont être lus et les définitions provenant +de fichiers précédents écraseront celles des fichiers suivants. Par +exemple, avec un chemin tel que \verb|.:$TEXMF|, les définitions du +fichier \filename{./texmf.cnf} écrasent celles de +\verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item Les commentaires sont signalés par un \texttt{\%} et se terminent à la + fin de la ligne. +\item Les lignes vides sont ignorées. +\item Un \bs{} à la fin d'une ligne joue le rôle d'un lien entre deux lignes, + c'est-à-dire que la ligne courante se poursuit à la ligne suivante. Dans ce + cas, les espaces présents au début de la ligne suivante ne sont pas ignorés. +\item Toutes les autres lignes sont de la forme : +\begin{alltt} + \emph{variable}[.\emph{progname}] [=] \emph{value} +\end{alltt}% + où le \samp{=} et les espaces autour sont optionnels. +\item Le nom de la \ttvar{variable} peut contenir n'importe quel caractère + autre que les espaces, \samp{=}, ou \samp{.} mais on recommande d'utiliser + \samp{A-Za-z\_} pour éviter les problèmes. +\item Si \samp{.\var{progname}} est présent, sa définition s'applique + seulement si le programme exécuté se nomme \texttt{\var{progname}} ou + \texttt{\var{progname}.exe}. Ceci permet par exemple à différentes variantes + de \TeX{} d'avoir des chemins de recherche différents. +\item \var{value} peut contenir n'importe quel caractère excepté \code{\%} et + \samp{@}. L'option \code{\$\var{var}.\var{prog}} n'est pas disponible à + droite du signe \samp{=} ; à la place, on doit utiliser une variable + supplémentaire. Un \samp{;}\ dans \var{value} est compris comme un \samp{:}\ + si on travaille sous Unix ; ceci est très utile et permet d'avoir un seul + \file{texmf.cnf} pour les systèmes Unix, \acro{MS-DOS} et Windows. +\item Toutes les définitions sont lues avant tout désarchivage ou + décompactage, de telle façon que les variables peuvent être référencées + avant d'être définies. +\end{itemize} +Voici un fichier de configuration illustrant les points précédents +\ifSingleColumn + +%\verbatiminput{examples/ex5.tex} % trop petit (df) +\begin{verbatim} +TEXMF = {$TEXMFLOCAL,!!$TEXMFMAIN} +TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic;}// +TEXINPUTS.fontinst = .;$TEXMF/tex//;$TEXMF/fonts/afm// +% e-TeX related files +TEXINPUTS.elatex = .;$TEXMF/{etex,tex}/{latex,generic;}// +TEXINPUTS.etex = .;$TEXMF/{etex,tex}/{eplain,plain,generic;}// +\end{verbatim} + +\else +dans la figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Expansion d'un chemin de recherche} +\label{sec:path-expansion} + +\KPS{} reconnaît certains caractères et constructions spéciales dans +les chemins de recherche, semblables à ceux disponibles dans les +\textit{shells} Unix. Ainsi, le chemin complexe, +\verb+~$USER/{foo,bar}//baz+ %$ +étend la recherche vers tous les sous-répertoires situés sous les +répertoires \file{foo} et \file{bar} dans le répertoire utilisateur +\texttt{\$USER} contenant un répertoire ou un fichier appelé %$ +\file{baz}. Ces expansions sont explicitées dans les sections +suivantes. + +\subsubsection{Expansion par défaut} +\label{sec:default-expansion} + +\tolerance=2500 +Si le chemin de recherche le plus prioritaire (voir +section~\ref{sec:path-sources}) contient un \samp{:} +\emph{supplémentaire} (c.-à-d. en début ou fin de ligne ou +double), \KPS{} insère à cet endroit le chemin suivant dont la +priorité définie est immédiatement inférieure. Si ce chemin inséré +possède un \samp{:} supplémentaire, le même processus se +répète pour le chemin prioritaire suivant. +Par exemple, étant donné une variable d'environnement définie ainsi + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +la valeur de \code{TEXINPUTS} d'après le fichier \file{texmf.cnf} étant + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +alors la valeur finale utilisée pour la recherche sera + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Comme il est inutile d'insérer la valeur par défaut en plusieurs +endroits, \KPS{} applique la substitution à seulement un \samp{:} +supplémentaire et laisse les autres inchangés : il cherche d'abord un +\samp{:} en début de ligne, puis en fin de ligne et enfin un double +\samp{:}. + +\subsubsection{Expansion spécifiée par les accolades} + +Option utile, l'expansion par le biais des accolades +signifie, par exemple, que \verb+v{a,b}w+ va permettre la recherche +dans \verb+vaw:vbw+. Les définitions emboîtées sont autorisées. Ceci +peut être utilisé pour établir des hiérarchies \TeX{} multiples en +attribuant une liste entre accolades à \code{\$TEXMF}. Par exemple, +dans \file{texmf.cnf}, on trouve une définition du type suivant +(il y a en fait plus de répertoires) : +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFSYSVAR,!!$TEXMFMAIN} +\end{verbatim} +Avec ceci, on peut écrire quelque chose comme +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +ce qui signifie que, après avoir cherché dans le répertoire courant, les +arborescences complètes \code{\$TEXMFHOME/tex} suivie de +\code{\$TEXMFLOCAL/tex} (sur le disque) et ensuite les arborescences +\code{!!\$TEXMFVAR/tex} et \code{!!\$TEXMFMAIN/tex} +(définies dans le fichier de référence \file{ls-R} \emph{seulement}) seront +inspectées. C'est un moyen pratique permettant d'utiliser en parallèle deux +distributions \TeX{}, une « figée » (sur un \CD, par exemple) et une +autre régulièrement mise à jour avec de nouvelles versions quand elles +deviennent disponibles. En utilisant la variable \code{\$TEXMF} dans toutes +les définitions, on est toujours sûr d'inspecter d'abord l'arborescence la +plus récente. + +\subsubsection{Expansion des sous-répertoires} +\label{sec:subdirectory-expansion} + +Deux barres \samp{//} ou plus consécutives dans une partie d'un chemin suivant +un répertoire \var{d} sont remplacées par tous les sous-répertoires de +\var{d} : d'abord les sous-répertoires directement présents dans +\var{d}, ensuite les sous-répertoires de ceux-ci et ainsi de suite. À +chaque niveau, l'ordre dans lequel les répertoires sont inspectés est +\emph{non-déterminé}. + +Dans le cas où l'on spécifie une partie de nom de fichier après le +\samp{//}, seuls sont inclus les sous-répertoires auxquels le nom +correspond. Par exemple, \samp{/a//b} va correspondre aux répertoires +\file{/a/1/b}, \file{/a/2/b}, \file{/a/1/1/b} et ainsi de suite, +mais pas à \file{/a/b/c} ni \file{/a/1}. + +Des \samp{//} multiples et successifs dans un chemin sont possibles, +mais \samp{//} au début d'un chemin est ignoré. + +\subsubsection{Liste des caractères spéciaux et de leur signification : + récapitulatif} + +La liste suivante récapitule la signification des caractères spéciaux +dans les fichiers de configuration de \KPS{}. + +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} + +\begin{ttdescription} + +\item[\CODE{:}] Séparateur dans un chemin de recherche ; au début + ou à la fin d'un chemin, il remplace le chemin par défaut. + +\item[\CODE{;}] Séparateur dans les systèmes non-Unix + (joue le rôle de \code{:}). + +\item[\CODE{\$}] Substitue le contenu d'une variable. + +\item[\CODE{\string~}] Représente le répertoire racine de + l'utilisateur. + +\item[\CODE{\char`\{...\char`\}}] Expansion par les accolades, + par exemple \verb+a{1,2}b+ devient \verb+a1b:a2b+. + +\item[\CODE{//}] La recherche concernera aussi les sous-répertoires + (peut être inséré n'importe où dans un chemin sauf au début). + +\item[\CODE{\%}] Début d'un commentaire. + +\item[\CODE{\bs}] Caractère de continuation de ligne (permet les + entrées sur plusieurs lignes). + +\item[\CODE{!!}] Cherche \emph{seulement} dans la base de + données pour localiser le fichier et \emph{ne cherche pas} sur le disque. + +\end{ttdescription} + +\subsection{Les bases de données} +\label{sec:filename-database} + +\KPS{} a une certaine profondeur d'investigation pour minimiser les +accès disque durant les recherches. Néanmoins, dans le cas de +distributions comprenant beaucoup de répertoires, inspecter chaque +répertoire possible pour un fichier donné peut durer excessivement +longtemps (ceci est typiquement le cas quand plusieurs centaines de +répertoires de polices de caractères doivent être parcourus). En +conséquence, \KPS{} peut utiliser un fichier texte appelé \file{ls-R} --- en +fait une base de données construite au préalable --- qui fait correspondre +les fichiers à leur répertoire, ce qui permet d'éviter une recherche +exhaustive sur le disque. + +Un deuxième fichier appelé \file{aliases} (qui est également une base de +données) permet de donner des noms différents aux fichiers listés dans +\mbox{\file{ls-R}}. Ceci peut aider à adapter ses fichiers source aux +conventions de \acro{DOS}~8.3 pour les noms de fichiers. + +\subsubsection{Le fichier base de données} +\label{sec:ls-R} + +Comme nous l'avons expliqué ci-dessus, le nom du principal fichier-base de +données doit être \mbox{\file{ls-R}}. +Dans votre installation, vous pouvez en mettre un à la racine de chaque +arborescence \TeX{} que vous désirez voir +inspecter (\code{\$TEXMF} par défaut) ; la plupart des sites ont +une seule arborescence \TeX{}. \KPS{} cherche les fichiers \file{ls-R} +dans le chemin spécifié dans la variable \code{TEXMFDBS}. + +La meilleure façon de créer et mettre à jour le fichier \file{ls-R} +est d'exécuter le script \cmdname{mktexlsr} inclus dans la +distribution. Il est appelé par les divers scripts \cmdname{mktex}\dots\ +En principe, ce script exécute uniquement la commande +%cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R| +% Remplacé (df) car \path|...| plante à cause de \let\path\url. +\begin{alltt} +cd \var{/your/texmf/root} && \boi{}ls -1LAR ./ >ls-R +\end{alltt} +en supposant que la commande \code{ls} de votre système produise le bon +format de sortie (le \code{ls} de \GNU convient +parfaitement). Pour s'assurer que la base de données est toujours à +jour, le meilleur moyen est de la reconstruire en utilisant la table +des \code{cron}, de telle façon que le fichier \file{ls-R} prenne +automatiquement en compte les changements dans les fichiers +installés, par exemple après une installation ou une +mise à jour d'un composant \LaTeX{}. + +Si un fichier n'est pas trouvé dans la base de données, par défaut +\KPS{} décide de le chercher sur le disque. Par contre, si un élément du +chemin commence par \samp{!!}, \emph{seule} la base de données +sera inspectée pour cet élément, jamais le disque. + +\subsubsection{kpsewhich : programme de recherche dans une arborescence} +\label{sec:invoking-kpsewhich} + +Le programme \texttt{kpsewhich} effectue une recherche dans une +arborescence indépendamment de toute application. On peut le +considérer comme une sorte de \code{find} pour localiser des fichiers +dans les arborescences \TeX{} (ceci est largement utilisé dans les +scripts \cmdname{mktex}\dots\ de la distribution). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +Les options spécifiées dans \ttvar{option} peuvent +commencer soit par \samp{-} soit par \samp{-{}-} ; n'importe quelle +abréviation claire est acceptée. + +\KPS{} considère tout argument non optionnel dans la ligne de commande +comme un nom de fichier et renvoie la première occurrence trouvée. Il +n'y a pas d'option pour renvoyer tous les fichiers ayant un nom +particulier (vous pouvez utiliser le \cmdname{find} d'Unix pour cela). + +Les options les plus importantes sont décrites ci-après. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} \\ + Définit la résolution à \ttvar{num} ; ceci affecte + seulement la recherche des fichiers \samp{gf} et \samp{pk}. \samp{-D} est un + synonyme pour assurer la compatibilité avec \cmdname{dvips}. Le défaut + est 600. +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Définit le format pour la recherche à \ttvar{name}. + Par défaut, le format est estimé en fonction du nom de fichier. + Pour les formats qui n'ont pas de suffixe clair associé, comme les + fichiers de support \MP{} et les fichiers de configuration + \cmdname{dvips}, vous devez spécifier le nom connu de \KPS, comme + \texttt{tex} ou \texttt{enc files}. Exécutez la commande + \texttt{kpsewhich -{}-help} pour obtenir la liste précise. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Définit le nom du mode comme étant \ttvar{string} ; +ceci affecte seulement la recherche des \samp{gf} et des \samp{pk}. +Pas d'option par défaut, n'importe quel mode sera trouvé. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Fait tout ce qui est possible pour trouver les fichiers, ce qui +inclut une recherche sur le disque. Par défaut, seule la base de +données \file{ls-R} est inspectée, dans un souci d'efficacité. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Recherche dans le chemin \ttvar{string} (séparé par +deux-points comme d'habitude), au lieu de prendre le chemin à partir +du nom de fichier. \samp{//} et toutes les expansions habituelles sont +supportées. + Les options \samp{-{}-path} et \samp{-{}-format} s'excluent mutuellement. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Définit le nom de programme comme étant \ttvar{name}. + Ceci peut affecter les chemins de recherche via l'option + \texttt{.\var{progname}} dans les fichiers de configuration. + Le défaut est \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + Montre le chemin utilisé pour la recherche des fichiers de type +\ttvar{name}. + On peut utiliser soit une extension de fichier (\code{.pk}, \code{.vf}, + etc.), soit un nom de fichier, comme avec l'option \samp{-{}-format}. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + Définit les options de débogage comme étant + \ttvar{num}. +\end{ttdescription} + +\subsubsection{Exemples d'utilisation} +\label{sec:examples-of-use} + +Jetons un coup d'œil à \KPS{} en action ; voici une recherche +toute simple : + +\begin{alltt} +> \Ucom{kpsewhich article.cls} +/usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +Nous recherchons le fichier \file{article.cls}. Puisque le suffixe +\file{.cls} est non-ambigu, nous n'avons pas besoin de spécifier que +nous voulons rechercher un fichier de type \optname{tex} (répertoires des +fichiers sources de \TeX{}). Nous le trouvons dans le sous-répertoire +\filename{tex/latex/base} du répertoire racine \samp{TEXMF}. De même, + le suffixe non-ambigu permet de trouver facilement les autres fichiers. +\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} + +Le dernier exemple est une base de données bibliographiques pour \BibTeX{} +servant aux articles de \textsl{TUGBoat}. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Les fichiers de glyphes de fontes bitmaps, de type +\file{.pk}, sont +utilisés pour l'affichage par des programmes comme \cmdname{dvips} et +\cmdname{xdvi}. Rien n'est renvoyé dans ce cas puisque il n'y a pas +de fichiers Computer Modern \file{.pk} pré-créés sur nos systèmes +(nous utilisons les versions type~1 du \TL{}). +\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} +Pour ces fontes (alphabet phonétique de l'université Washington), +nous avons dû créer les fichiers \file{.pk} et, puisque le mode \MF{} par +défaut sur notre installation est \texttt{ljfour} avec une résolution de +base de 600\dpi{} \textit{(dots per inch)}, cette instance est trouvée. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +Dans ce cas, lorsque l'on spécifie que nous recherchons une +résolution de 300\dpi{} (\texttt{-dpi=300}) nous voyons qu'aucune fonte +pour cette résolution n'est disponible dans le système. En fait, un +programme comme \cmdname{dvips} ou \cmdname{xdvi} ne s'en +préoccuperait pas et créerait les fichiers \file{.pk} à la +résolution demandée en utilisant le script \cmdname{mktexpk}. + +Intéressons-nous à présent aux fichiers d'en-tête et de configuration +pour \cmdname{dvips}. +Regardons en premier le fichier \file{tex.pro} communément utilisé +pour le support de \TeX{} avant de regarder le fichier +de configuration générique (\file{config.ps}) et la liste des fontes +\PS{} \file{psfonts.map}. Depuis l'édition 2004, les fichiers +\file{.map} et les fichiers de codage ont changé de place dans +l'arborescence \dirname{texmf}. Comme le suffixe \file{.ps} est +ambigu, nous devons spécifier quel type particulier du fichier +\texttt{config.ps} nous considérons (\optname{dvips config}). +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich -{}-format="dvips config" config.ps} + /usr/local/texmf-var/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf-var/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +Regardons plus en détail les fichiers de support Times +\PS{} d'\acro{URW}. Leur nom standard dans le schéma de nommage des fontes +est \samp{utm}. Le premier fichier que nous voyons est le +fichier de configuration, qui contient le nom du fichier +de la liste : +\begin{alltt} +> \Ucom{kpsewhich -{}-format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +Le contenu de ce fichier est +\begin{alltt} + p +utm.map +\end{alltt} +qui pointe vers le fichier \file{utm.map}, que nous cherchons à +localiser ensuite. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +Ce fichier liste les noms des fichiers des +fontes \PS{} de type~1 dans la collection URW. Son contenu +ressemble à (nous ne montrons qu'une partie des lignes) : +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... \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} + +Il devrait être clair, d'après ces quelques exemples, qu'il est facile +de trouver l'endroit où se cache un fichier donné. C'est +particulièrement important si vous suspectez que c'est, pour une +raison quelconque, une mauvaise version du fichier qui est utilisée, +puisque \cmdname{kpsewhich} va vous montrer le premier fichier +trouvé. + +\subsubsection{Opérations de débogage} +\label{sec:debugging} + +Il est quelquefois nécessaire de savoir comment un programme référence +les fichiers. Pour permettre cela, \KPS{} offre +plusieurs niveaux de débogage : +\begin{ttdescription} +\item[\texttt{\ 1}] Appels à \texttt{stat} (test d'existence de fichier). Lors d'une + exécution utilisant une base de données \file{ls-R} à jour, ce niveau + ne devrait donner presque aucune information en sortie. +\item[\texttt{\ 2}] Références aux différentes tables (comme la base + de données \file{ls-R}, les fichiers de correspondance de fontes, les fichiers de + configuration). +\item[\texttt{\ 4}] Opérations d'ouverture et de fermeture des + fichiers. +\item[\texttt{\ 8}] Information globale sur la localisation des types + de fichiers recherchés par \KPS. Ceci est utile pour trouver où a été + défini le chemin particulier pour un fichier. +\item[\texttt{16}] Liste des répertoires pour chaque élément du + chemin (utilisé uniquement en cas de recherche sur le disque). +\item[\texttt{32}] Recherche de fichiers. +\item[\texttt{64}] Valeur des variables. +\end{ttdescription} +Une valeur de \texttt{-1} activera toutes les options ci-dessus ; en +pratique, c'est habituellement la valeur la plus adaptée. + +De la même façon, avec le programme \cmdname{dvips}, en utilisant une +combinaison d'options de débogage, on peut suivre en détail la +localisation des +différents fichiers. De plus, lorsqu'un fichier n'est +pas trouvé, la trace du débogage montre les différents répertoires dans +lesquels le programme va chercher tel ou tel fichier, donnant ainsi +des indices sur le problème. + +Généralement, comme la plupart des programmes appellent la +bibliothèque \KPS{} en interne, on peut sélectionner une option de +débogage en utilisant la variable d'environnement +\envname{KPATHSEA\_DEBUG} et en la définissant égale à la valeur (ou +à une combinaison de valeurs) décrite(s) dans la liste ci-dessus. + +Note à l'intention des utilisateurs de Windows : il n'est pas facile +de rediriger les messages d'erreur vers un fichier sur ces +systèmes. À des fins de diagnostic, vous pouvez temporairement +affecter \texttt{KPATHSEA\_DEBUG\_OUTPUT=err.log} pour capturer le flux +standard d'erreur dans le fichier \texttt{err.log}. + +Considérons comme exemple un petit fichier source \LaTeX{}, +\file{hello-world.tex}, dont le contenu est le suivant. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +Ce petit fichier utilise simplement la fonte \file{cmr10}, aussi +allons voir comment \cmdname{dvips} prépare le fichier \PS{} +(nous voulons utiliser la version type~1 +des fontes Computer Modern, d'où l'option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +Dans ce cas, nous avons combiné le niveau 4 de débogage de +\cmdname{dvips} (chemins des fontes) avec l'option d'expansion des +éléments du chemin de \KPS\ (voir \cmdname{dvips} Reference Manual, +\OnCD{texmf/doc/html/dvips/dvips_toc.html} sur le \DVD{}). +La sortie (légèrement formatée) apparaît dans la +figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Recherche des fichiers de configuration}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Recherche du fichier prolog}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Recherche du fichier de fontes}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} commence par localiser ses fichiers de +fonctionnement. D'abord, \file{texmf.cnf} est trouvé, ce qui donne les +définitions pour les chemins de recherche servant à localiser les +autres fichiers, ensuite le fichier base de données \file{ls-R} (pour +optimiser la recherche des fichiers) et le fichier \file{aliases}, qui +permet de déclarer plusieurs noms (par exemple un nom \acro{DOS} de type +8.3 court et une version longue plus naturelle) pour le même +fichier. Ensuite \cmdname{dvips} continue en cherchant le fichier de +configuration générique \file{config.ps} avant de rechercher le fichier +de paramétrisation \file{.dvipsrc} (qui, dans notre cas, \emph{n'est +pas trouvé}). Enfin, \cmdname{dvips} localise le fichier de +configuration pour les fontes \PS{} Computer Modern +\file{config.cms} (ceci est lancé par l'option \mbox{\texttt{-Pcms}} de la +commande \cmdname{dvips}). Ce fichier contient la liste des fichiers + qui définissent la relation entre les noms des fontes +selon \TeX{}, selon \PS{} et dans le système de fichiers. +\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} veut chercher tous ces fichiers, y compris le +fichier générique d'association \file{psfonts.map}, qui est toujours +chargé (il contient des déclarations pour les fontes \PS{} les +plus communément utilisées ; voir la dernière partie de la Section +\ref{sec:examples-of-use} pour plus de détails sur la gestion du fichier +d'association \PS{}). + +Arrivé là, \cmdname{dvips} s'identifie à l'utilisateur : + \begin{alltt} + This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) + \end{alltt} + +\ifSingleColumn +pour continuer ensuite en cherchant le fichier prologue \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 +pour continuer ensuite en cherchant le fichier prologue \file{texc.pro} +(voir la figure~\ref{fig:dvipsdbgb}). +\fi + +Après avoir trouvé ce fichier, \cmdname{dvips} affiche la date et +l'heure, nous informe qu'il va générer le fichier +\file{hello-world.ps} puis qu'il a besoin du fichier de fonte +\file{cmr10} et que ce dernier est déclaré comme « résident» +(pas besoin de bitmaps) : +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 is resident. +\end{alltt} +Maintenant la recherche concerne le fichier \file{cmr10.tfm}, qui est +trouvé, puis quelques fichiers de prologue de plus (non montrés) sont +référencés ; finalement le fichier de la fonte type~1 \file{cmr10.pfb} +est localisé et inclus dans le fichier de sortie (voir la dernière ligne). +\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, + ... + +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 +[1] +\end{alltt} + +\subsection{Options à l'exécution} + +\Webc{} offre la possibilité de contrôler à l'exécution bon nombre de +paramètres concernant la mémoire (en particulier la taille des +tableaux utilisés) à partir du fichier +\file{texmf.cnf} qui est lu par \KPS. +Les paramètres en question se trouvent +dans la troisième partie du fichier inclus dans la distribution \TL{}. + Les variables les plus importantes sont : +\begin{ttdescription} +\item[\texttt{main\_memory}] + Nombre total de mots mémoire disponibles pour + \TeX{}, \MF{} et \MP. Vous devez générer un nouveau fichier de + format pour chaque nouveau paramétrage. Par exemple, vous pouvez + générer une version large de \TeX{} et appeler le fichier de format + \texttt{hugetex.fmt}. En utilisant la méthode supportée par \KPS{} + qui consiste à suffixer la variable par le nom du programme, la valeur + particulière de la variable \texttt{main\_memory} destinée à ce + fichier de format sera lue dans le fichier \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Espace supplémentaire pour certaines structures de données de \TeX{} : + boîtes, \textit{glue}, points d'arrêt\dots{} Surtout utile si vous utilisez + \PiCTeX{} par exemple. +\item[\texttt{font\_mem\_size}] + Nombre de mots mémoire disponibles pour décrire les polices. C'est + plus ou moins l'espace occupé par les fichiers \acro{TFM} lus. +\item[\texttt{hash\_extra}] + Espace supplémentaire pour la table de hachage des noms de séquences + de contrôle. Environ 10~000 de ces noms peuvent être stockés dans la + table principale ; si vous avez un document très volumineux avec + beaucoup de références croisées, il se peut que ce ne soit pas + suffisant. La valeur par défaut \texttt{hash\_extra} est \texttt{50000}. +\end{ttdescription} + +\noindent Évidemment, cette possibilité ne remplace pas une véritable +allocation dynamique des tableaux et de la mémoire mais puisque c'est +complexe à implémenter dans le présent source \TeX{}, ces paramètres lus +à l'exécution fournissent un compromis pratique qui procure une certaine +souplesse. + +\section{Installation sur un nouveau système Unix} + +Si vous avez un système Unix ne correspondant à aucun des exécutables +fournis, il faut compiler vous-même \TeX{} et tous ses programmes +satellites à partir des sources. Cela n'est pas aussi difficile qu'il +y paraît. Tout ce dont vous aurez besoin est contenu dans le +répertoire \texttt{source} qui se trouve sur le \DVD. + +\subsection{Prérequis} + +Il faut au moins 400\,Mo d'espace sur disque pour compiler la +totalité de \TeX{} et des programmes associés. +Vous aurez aussi besoin d'un +compilateur C \acro{ANSI}, de l'utilitaire \cmdname{make}, +d'un générateur d'analyseur lexical et d'un générateur d'analyseur +syntaxique. Nous recommandons les versions \GNU des programmes suivants +(\cmdname{gcc}, \GNU{}\cmdname{make}, \cmdname{m4}, +\cmdname{flex}, \cmdname{bison}). Vous pouvez utiliser d'autres compilateurs C +et d'autres programmes \cmdname{make} si vous maîtrisez +correctement la programmation sous Unix pour résoudre les +problèmes éventuels. La commande \texttt{uname} doit renvoyer une valeur +raisonnable. + +\subsection{Configuration} + +Tout d'abord, effectuez l'installation normale de \TL{} sur le disque +dur (voir section~\ref{sec:install}, +page~\pageref{sec:install}). Vous pouvez sauter l'installation de +tous les binaires précompilés. +Décompactez ensuite sur le disque le fichier +\file{source.tar.bz2} (archive compressée) trouvé dans +le répertoire \dirname{source} et placez-vous dans +le répertoire où vous avez transféré l'ensemble. +\begin{alltt} +> \Ucom{cd /tmp/tl-source} +> \Ucom{bunzip2 source.tar.bz2} +> \Ucom{tar xf source.tar} +\end{alltt} + +Lancez maintenant \textsf{configure} de la façon suivante : +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/texlive/2007} +\end{alltt} + +Le répertoire \optname{-prefix} est le répertoire de base de +l'arborescence \TL{}, il est désigné par \var{TEXDIR} dans la suite. +\begin{comment} +Les répertoires utilisés sont les suivants : + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/texmf-dist} & répertoire de base pour les fontes, + macros, etc\\ + \dirname{$TEXDIR/man} & pages du manuel Unix\\ + \dirname{$TEXDIR/info} & manuels \GNU en format Info\\ + \dirname{$TEXDIR/bin/$archname} & exécutables.\\ +\end{tabular}\\ +\end{comment} +%$ + +Si vous ne voulez pas créer de répertoire \dirname{$archname} spécifique %$ +au système choisi pour stocker les exécutables (c.-à-d. les +copier directement dans \dirname{$TEXDIR/bin}), %$ +il faut exécuter \textsf{configure} avec l'option \\ +\verb|--disable-multiplatform|. + +Tapez \verb|./configure --help|, le programme affichera +les options supplémentaires disponibles (telles que supprimer l'installation +des extensions optionnelles comme \OMEGA\ ou \eTeX). + +\subsection{Exécuter \textsf{make}} +S'assurer que la variable ou l'option \texttt{noclobber} n'est pas définie. + et lancer le \cmdname{make} à la racine de l'arborescence de la façon +suivante : +\begin{alltt} +>> \Ucom{make world} +\end{alltt} +et aller prendre un café\dots + +Il peut être utile de garder une trace complète dans un fichier log en tapant : +\begin{alltt} +>> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} +Avant de conclure que tout va bien, vérifier que le fichier log ne contient +pas de message d'erreur : le \cmdname{make} de \GNU renvoie toujours +le message \samp{***} à chaque erreur d'exécution. Vérifier aussi que +tous les exécutables ont été créés. +\begin{alltt} +>> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +>> \Ucom{ls | wc} +\end{alltt} +Le résultat doit être supérieur à 200 (on peut tester le nombre exact +dans le répertoire \dirname{bin} de la distribution). + +Si vous avez besoin de droits spéciaux pour exécuter \texttt{make install}, +vous pouvez séparer \samp{make world} en deux processus différents : +\begin{alltt} +>> \Ucom{make all} +>> \Ucom{su} +>> \Ucom{make install strip} +\end{alltt} + +Après avoir installé vos nouveaux binaires, il faut suivre les procédures +normales de la post-installation, indiquées dans la +section~\ref{sec:postinstall}, page~\pageref{sec:postinstall}. + +\section{Remerciements} + +\TL{} est le résultat des efforts +collectifs de pratiquement tous les groupes d'utilisateurs de \TeX. +La présente édition de \TL{} a été coordonnée par Karl Berry. +Voici la liste des principaux contributeurs : + +\begin{itemize} + +\item Les associations d'utilisateurs anglais, allemands, néerlandais et + polonais (\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST}, + respectivement) qui contribuent ensemble à l'infrastructure technique et + administrative. Soutenez votre association locale (voir la liste + \url{http://tug.org/usergroups.html}) ! + +\item L'équipe du \acro{CTAN}, en particulier Robin Fairbairns, Jim Hef{}feron + et Rainer Schöpf, qui distribue les images des distributions \TL{} et + fournit les sites d'hébergement pour le stockage et la mise à jour des + extensions qui sont la base de \TL. + +\item Peter Breitenlohner et toute l'équipe \eTeX{} qui construisent + les bases des successeurs de \TeX. + +\item Thomas Esser et sa merveilleuse distribution \teTeX{} sans laquelle + \TL{} n'aurait jamais vu le jour. + +\item Michel Goossens, en tant que co-auteur de la documentation initiale. + +\item Eitan Gurari, dont le programme \TeX4ht a été utilisé pour créer la + version \HTML{} de cette documentation et qui travaille inlassablement à + l'améliorer, ce dans des délais très courts. + +\item \Thanh, Martin Schr\"oder et toute l'équipe pdf\TeX\ qui continuent + inlassablement à étendre les performances de \TeX. + +\item Hans Hagen qui, outre sa participation active aux tests, a adapté le + format \ConTeXt\ (\url{http://pragma-ade.com}) aux besoins de \TL{}. + +\item Hartmut Henkel, pour ses contributions au développement + de pdf\TeX{} et Lua\TeX{} entre autres. + +\item Taco Hoekwater, pour ses efforts sans cesse renouvelés à l'amélioration + de MetaPost et de (Lua)\TeX\ (\url{http://luatex.org}). + +\item Pawe{\l} Jackowski pour l'installeur Windows \cmdname{tlpm} et Tomasz + {\L}uczak pour la version graphique \cmdname{tlpmgui} utilisée dans + l'édition précédente. + +\item Akira Kakuto, pour son aide précieuse qui nous a permis + d'intégrer dans \TL{} les binaires Windows de sa distribution \acro{W32TEX} + (\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}). + +\item Jonathan Kew et \acro{SIL}, pour avoir produit + Xe\TeX{}, pour l'avoir intégré dans \TL{} et pour avoir + créé la première version de l'installeur Mac\TeX. + +\item Dick Koch, pour la maintenance de Mac\TeX\ (\url{http://tug.org/mactex}) + faite en symbiose avec \TL. + +\item Reinhard Kotucha, pour ses contributions majeures à l'infrastructure de + \TL{} 2008 et à son programme d'installation, pour ses contributions sous + Windows et pour son script \texttt{getnonfreefonts} en particulier. + +\item Siep Kroonenberg, également pour ses contributions majeures à + l'infrastructure de \TL{} 2008 et à son programme d'installation ainsi que + pour la réécriture de cette documentation. + +\item Petr Ol\v{s}ak, qui coordonna et vérifia minutieusement toute la + partie tchèque et slovaque. + +\item Toshio Oshima, pour le visualisateur \cmdname{dviout} pour Windows. + +\item Manuel Pégourié-Gonnard, pour son aide concernant le programme de mise à + jour de la distribution, la documentation et pour le développement de + \cmdname{tldoc}. + +\item Fabrice Popineau, pionnier du développement de \TL{} sous Windows et + pour son travail sur la documentation française. + +\item Norbert Preining, principal architecte de la distribution \TL{} 2008 et + de son installeur et coordinateur (avec Frank K\"uster) de la + version Debian de \TL. + +\item Sebastian Rahtz, qui a créé la distribution \TL{} et en a assuré la + maintenance pendant de nombreuses années. + +\item Vladimir Volovich, pour son aide substantielle, en particulier pour + avoir rendu possible l'intégration de \cmdname{xindy} dans \TL. + +\item Staszek Wawrykiewicz, principal testeur de \TL{} et coordinateur des + contributions polonaises (fontes, installation Windows, etc.). + +\item Olaf Weber, pour son patient assemblage de \Webc. + +\item Gerben Wierda, qui a créé et maintient la partie \MacOSX{} + et qui participe activement aux tests. + +\item Graham Williams, pour son travail sur le catalogue \TeX\ des + composants. + +\end{itemize} + +Les binaires ont été compilés par : +Tigran Aivazian (\pkgname{x86\_64-linux}), +Tim Arnold (\pkgname{hppa-hpux}), +Randy Au (\pkgname{amd64-freebsd}), +Edd Barrett (\pkgname{i386-openbsd}), +Karl Berry (\pkgname{i386-linux}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Arthur Reutenauer (\pkgname{sparc-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-solaris}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). + +Documentation et mises à jour des traductions : +Karl Berry (anglais), +Daniel Flipo (français), +Klaus H\"oppner (allemand), +Petr Sojka \& Jan Busa (tchèque et slovaque), +Boris Veytsman (russe), +Staszek Wawrykiewicz (polonais). + +La page d'accueil de la documentation \TL{} est +\url{http://tug.org/texlive/doc.html}. + +Bien sûr, notre gratitude va en premier lieu à Donald Knuth pour avoir +inventé \TeX{} et l'avoir offert au monde entier. + +\section{Historique des versions successives} +\label{sec:history} + +\subsection{Les éditions précédentes} + +La discussion commença à la fin de 1993 quand le Groupe des Utilisateurs +Néerlandais de \TeX{} commençait à travailler à son \CD{} 4All\TeX{} pour les +utilisateurs de \acro{MS-DOS} et on espérait à ce moment sortir un \CD{} +unique pour tous les systèmes. C'était un objectif beaucoup trop ambitieux +mais il permit la naissance du \CD{} 4All\TeX{}, projet couronné de succès et +aussi d'un groupe de travail « \acro{TUG} Technical Council » pour +mettre en place TDS (\emph{\TeX{} Directory Structure} : +\url{http://tug.org/tds}), qui spécifiait la gestion des fichiers \TeX{} sous +une forme logique. La mouture finale de \TDS{} fut publiée dans le numéro de +décembre 1995 de \textsl{TUGboat} et il était clair depuis un certain temps +qu'il fallait proposer un produit contenant une structure modèle sur \CD{}. +La distribution que vous possédez est le résultat direct des délibérations de +ce groupe de travail. Il était également clair que le succès des \CD{} +4All\TeX{} démontrait que les utilisateurs d'Unix trouveraient leur bonheur +avec une distribution aussi simple et ceci a été l'autre objectif de +\TL. + +Nous avons d'abord entrepris de créer un nouveau \CD{} \TDS{} Unix à l'automne +1995 et nous avons rapidement choisi \teTeX{} de Thomas Esser comme étant la +configuration idéale, car il supportait déjà plusieurs plates-formes et avait +été construit en gardant à l'esprit la portabilité entre systèmes. Thomas +accepta de nous aider et commença à travailler sérieusement au début de 1996. +La première édition sortit en mai 1996. Au début de 1997, Karl Berry acheva +une nouvelle distribution de \Webc{}, qui incluait presque toutes les +caractéristiques que Thomas Esser avait ajoutées dans \teTeX{} et il fut décidé +de baser la deuxième édition du \CD{} sur le standard \Webc, en y ajoutant le +script \texttt{texconfig} de \teTeX. La troisième édition du \CD{} était +basée sur une version majeure de \Webc, 7.2, par Olaf Weber ; en même temps, +une nouvelle version révisée de \teTeX{} était achevée dont \TL{} partageait +presque toutes les caractéristiques. La quatrième édition a suivi le même +schéma, en utilisant une nouvelle version de \teTeX{} et une nouvelle version +de \Webc{} (7.3). Le système incluait dorénavant un programme complet +d'installation pour Windows. + +Pour la cinquième édition (mars 2000), de nombreuses parties du \CD{} +ont été vérifiées et révisées, des centaines de composants +mis à jour. +Le contenu détaillé des composants était décrit par des +fichiers XML. Mais le changement majeur de cette cinquième édition a +été la suppression de tout logiciel non libre de droits. +Tout ce qui se trouve dans \TL{} devait être compatible avec la licence +Debian (\emph{Debian Free Software Guidelines} : +\url{http://www.debian.org/intro/free}) ; nous avons +fait de notre mieux pour vérifier les termes des licences de chaque +composant et nous souhaiterions que toute erreur nous soit signalée. + +La sixième édition (juillet 2001) contient un grand nombre de mises à jour. +Le changement majeur de cette version réside dans la refonte du +processus d'installation : l'utilisateur peut désormais choisir +les collections de manière plus précise. Les collections concernant +les langues ont été entièrement réorganisées, aussi le choix d'une +langue installe non seulement les macros, les fontes, etc. mais +prépare également un fichier \file{language.dat} adéquat. + +La septième édition (mai 2002) a comme ajout majeur une installation +pour \MacOSX{} et l'habituelle myriade de mises à jour de composants et +de programmes. Un objectif important a été de fusionner à +nouveau les sources avec ceux de \teTeX{}, alors que les versions +5 et 6 s'en étaient éloignées. + +\subsubsection{2003} + +En 2003, le flot de mises à jour et d'additions a continué mais nous +avons constaté que \TL{} était devenu si volumineux qu'il ne +pouvait plus tenir sur un seul \CD, aussi l'avons-nous divisé en trois +distributions distinctes (voir section~\ref{sec:tl-coll-dists}, +page~\pageref{sec:tl-coll-dists}). Par ailleurs : +\begin{itemize} +\item À la demande de l'équipe \LaTeX{}, nous avons modifié les + commandes standard \cmdname{latex} et \cmdname{pdflatex} pour + qu'elles utilisent \eTeX{} (voir page~\pageref{text:etex}). +\item Les nouvelles fontes Latin Modern sont disponibles (et + recommandées). +\item Le support pour Alpha \acro{OSF} a été supprimé + (celui pour \acro{HPUX} l'avait été auparavant), car personne + disposant des machines nécessaires ne s'est + proposé pour compiler les nouveaux binaires. +\item L'installation pour Windows a été largement modifiée ; un environnement + de travail intégré basé sur \cmdname{XEmacs} a été introduit. +\item Des programmes supplémentaires importants pour Windows (Perl, + Ghost\-script, Image\-Magick, Ispell) sont maintenant installés dans le + répertoire d'installation de \TL{}. +\item Les fichiers \emph{font map} utilisés par \cmdname{dvips}, + \cmdname{dvipdfm} et \cmdname{pdftex} sont maintenant générés par le + nouveau programme \cmdname{updmap} et installés dans + \dirname{texmf/fonts/map}. +\item Dorénavant, \TeX{}, \MF{} et \MP{} écrivent les caractères 8-bit + présentés en entrée sans modification et non pas avec la notation + \verb|^^|, que ce soit dans des fichiers (par la commande + \verb|write|), dans les fichiers de trace (\verb|.log|) ou sur le + terminal. Dans le \TL{}~7, l'écriture de ces caractères + 8-bit était influencée par les paramètres de localisation du + système; maintenant ces paramètres n'influent plus du tout sur le + comportement des programmes \TeX{}. Si pour quelque raison que ce + soit, vous avez besoin de la notation \verb|^^| en sortie, + renommez le fichier \verb|texmf/web2c/cp8bit.tcx|. Les prochaines + versions disposeront d'un moyen plus propre pour contrôler cette + sortie. +\item La documentation de \TL{} a été largement révisée. +\item Enfin, comme la numérotation séquentielle des versions + devenait peu maniable, il a été décidé d'identifier désormais la version + de \TL{} par l'année : \TL{}~2003 au lieu de \TL{}~8. +\end{itemize} + + +\subsubsection{2004} + +2004 a apporté beaucoup de changements (et quelques incompatibilités avec les +versions précédentes) : + +\begin{itemize} + +\item Si vous avez installé des fontes supplémentaires qui ont leur propre +fichier \file{.map} ou des fichiers \file{.enc} spécifiques, vous +devrez vraisemblablement déplacer ces fichiers. + +Les fichiers \file{.map} sont désormais recherchés uniquement dans les +sous-répertoires \dirname{fonts/map} (dans chaque arborescence +\filename{texmf}), leur chemin de recherche est donné par la variable +\envname{TEXFONTMAPS} de \filename{texmf.cnf}. +De même, les fichiers \file{.enc} sont désormais recherchés uniquement +dans les sous-répertoires \dirname{fonts/enc}, leur chemin de recherche est +donné par la variable \envname{ENCFONTS} de \filename{texmf.cnf}. +Le script \cmdname{updmap} devrait émettre des messages d'avertissement +pour les fichiers \file{.map} et \file{.enc} mal placés. + +Sur les différentes façons de traiter le problème, consulter +\url{http://tug.org/texlive/mapenc.html}. + +\item La distribution pour Windows a changé cette année : +l'installation de la distribution \fpTeX{} (basée sur \Webc{}) de Fabrice +Popineau n'est plus proposée. À la place, vous pouvez tester et installer +la distribution \ProTeXt{} basée sur \MIKTEX{} (indépendante de \Webc{}), +voir section~\ref{sec:overview-tl}, page~\pageref{sec:overview-tl}. + +\item L'ancien répertoire \dirname{texmf} a été éclaté en trois parties : +\dirname{texmf}, \dirname{texmf-dist} et \dirname{texmf-doc}. Voir +section~\ref{sec:tld}, page~\pageref{sec:tld}. + +\item Tous les fichiers relatifs aux différents avatars de \TeX{} sont +désormais regroupés dans le même sous-répertoire \dirname{tex} des +arborescences \dirname{texmf*} (ils étaient jusqu'ici placés dans des +sous-répertoires spécifiques \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc.). Voir +\OnCD{texmf-doc/doc/english/tds/tds.html\#Extensions}. + +\item Les scripts auxiliaires, normalement pas exécutés directement +par les utilisateurs, sont regroupés dans un répertoire \dirname{scripts} +des arborescences \dirname{texmf*}. On les localise grâce à la +commande \verb|kpsewhich -format=texmfscripts|. Au cas où vous en +auriez, les programmes utilisant ces scripts nécessiteront une adaptation. +Voir \OnCD{texmf-doc/doc/english/tds/tds.html\#Scripts}. + +\item La plupart des formats affichent en clair (dans les fichiers +\file{.log} en particulier) les caractères imprimables au lieu +de les transcrire en notation hexadécimale \verb|^^|. Ceci se fait +grâce au fichier \filename{cp227.tcx}, qui considère comme imprimables +les caractères 32 à 256, ainsi que les tabulations et les changements +de page (caractères 9 à 11). Les formats faisant exception sont +plain \TeX\ (seuls les caractères 32 à 127 sont déclarés imprimables), +\ConTeXt{} (0 à 255 imprimables) et les formats basés sur \OMEGA. +Il y a peu de différence avec le comportement de \TL\,2003 +mais la mise en œuvre est plus propre et plus facilement configurable. +Voir \OnCD{texmf/doc/web2c/web2c.html\#TCX-files}. +Noter que l'utilisation du codage Unicode en entrée peut provoquer +des affichages défectueux en sortie (TeX code sur un seul octet). + +\item Tous les formats, sauf plain \TeX, font appel au moteur +\textsf{pdfetex} (qui produit bien sûr par défaut des fichiers \acro{DVI} +lorsque le format choisi est \LaTeX). Ceci permet aux formats +\LaTeX, \ConTeXt, etc., d'avoir accès aux fonctionnalités +micro-typographiques de pdf\TeX{} (alignement optique des marges par exemple) +et aux fonctionnalités de \eTeX{} (\OnCD{texmf-dist/doc/etex/base/}). + +Ceci rend \emph{indispensable} le recours à l'extension \pkgname{ifpdf} +(qui fonctionne aussi bien avec plain que \LaTeX) pour déterminer si +le format de sortie est \acro{DVI} ou \acro{PDF}. Tester si la commande +\cs{pdfoutput} est définie ou non \emph{n'est pas} un moyen fiable +de le faire. + +\item pdf\TeX\ (\url{http://pdftex.org}) offre de nouvelles fonctionnalités : + + \begin{itemize} + + \item Les commandes \cs{pdfmapfile} et \cs{pdfmapline} permettent + de spécifier le choix des fichiers \file{.map} à utiliser + pour le document en cours. + + \item L'amélioration du gris typographique par variation (infime) de la + largeur des caractères (\textit{font expansion}) est plus facile à + mettre en œuvre, voir + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item Le fichier \filename{pdftex.cfg} n'est plus utilisé. + Toutes les affectations de paramètres doivent désormais être + faites dans le préambule en utilisant les primitives ad~hoc. + + \item Pour plus d'informations, consulter le manuel de pdf\TeX\ : + \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize} + +\item La primitive \cs{input} de \cmdname{tex}, \cmdname{mf} et +\cmdname{mpost}, accepte désormais les espaces et autres caractères +spéciaux dans les noms de fichiers à condition d'utiliser des +\textit{double quotes}, en voici deux exemples typiques : +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +Consulter le manuel \Webc{} pour plus d'informations : \OnCD{texmf/doc/web2c}. + +\item Les fonctionnalités de enc\TeX\ sont désormais incluses dans \Webc{}. +Ainsi, tous les formats \emph{construits avec l'option \optname{-enc}} y ont +accès. enc\TeX\ permet le transcodage en entrée et en sortie et +l'utilisation transparente du codage Unicode \acro{UTF}-8. Voir +\OnCD{texmf-dist/doc/generic/enctex/} et +\url{http://www.olsak.net/enctex.html}. + +\item Un nouveau moteur combinant les fonctionnalités de \eTeX\ +et d'\OMEGA, appelé Aleph, est disponible. \OnCD{texmf-dist/doc/aleph/base} +et \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph} +fournissent une information succincte. Le format \LaTeX{} utilisant +Aleph s'appelle \textsf{lamed}. + +\item La licence \acro{LPPL} de \LaTeX\ (version décembre 2003) a changé, +elle est désormais compatible avec les prescriptions Debian. +Les autres changements sont décrits dans le fichier \filename{ltnews}, voir +\OnCD{texmf-dist/doc/latex/base}. + +\item Un nouveau programme, \cmdname{dvipng}, qui convertit les fichiers +\acro{DVI} en images \acro{PNG} a été ajouté. Voir +\OnCD{texmf/doc/man/man1/dvipng.1}. + +\item Nous avons dû réduire le nombre de fontes incluses dans l'extension +\pkgname{cbgreek}, ceci a été fait avec l'accord et l'aide de l'auteur +(Claudio Beccari). Les fontes exclues (invisibles, transparentes, contours) +sont rarement utilisées et la place nous manquait. La collection complète +des fontes \pkgname{cbgreek} est disponible sur \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item La commande \cmdname{oxdvi} a été supprimée, il suffit utiliser +\cmdname{xdvi} à la place. + +\item Les commandes \cmdname{initex}, \cmdname{virtex} et leurs +homologues pour \cmdname{mf} et \cmdname{mpost} ont disparu. +Vous pouvez les recréer si nécessaire mais elles sont avantageusement +remplacées, depuis des années maintenant, par l'option \optname{-ini} +(\cmdname{tex} \optname{-ini} pour \cmdname{initex} et \cmdname{virtex}). + +\item Les binaires pour l'architecture \textsf{i386-openbsd} ont été + supprimés par manque de volontaires pour les compiler. + +Sur \textsf{sparc-solaris} (au moins) il sera probablement +nécessaire de positionner la variable d'environnement +\envname{LD\_LIBRARY\_PATH} pour utiliser les programmes de la famille +\pkgname{t1utils}. Ceci vient du fait qu'ils sont compilés en C++ et +que l'emplacement des bibliothèques dynamiques est variable. +Ce n'est pas une nouveauté 2004 mais ce point n'était pas documenté +précédemment. De même, sur \textsf{mips-irix}, les bibliothèques dynamiques +\acro{MIPS}pro 7.4 sont nécessaires. + +\end{itemize} + +\subsubsection{2005} + +2005 a apporté son lot habituel d'innombrables mises à jour d'extensions +et de programmes. L'infrastructure est restée relativement stable par rapport +à 2004, à quelques changements inévitables près : + +\begin{itemize} + +\item Trois nouveaux scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys} et + \cmdname{fmtutil-sys} ont été introduits ; ils agissent sur la + configuration générale de la machine, comme le faisaient les + scripts \cmdname{texconfig}, \cmdname{updmap} et \cmdname{fmtutil} + jusqu'à l'an dernier. Les nouveaux scripts \cmdname{texconfig}, + \cmdname{updmap} et \cmdname{fmtutil} modifient maintenant + la configuration \emph{personnelle} de l'utilisateur qui les lance ; + le résultat est placé dans le répertoire personnel de l'utilisateur + (sous \dirname{$HOME/.texlive2005}). %$ + +\item De nouvelles variables, \envname{TEXMFCONFIG} (resp. + \envname{TEXMFSYSCONFIG}) ont été introduites ; elles définissent + les répertoires où doivent se trouver les fichiers de configuration de + l'utilisateur (resp. de la machine), comme \filename{fmtutil.cnf} et + \filename{updmap.cfg}. Les utilisateurs de fichiers de configuration + locaux \filename{fmtutil.cnf} ou \filename{updmap.cfg} devront + probablement les déplacer ; une autre possibilité est de modifier la + définition des variables \envname{TEXMFCONFIG} ou + \envname{TEXMFSYSCONFIG} dans \filename{texmf.cnf}. L'important est + de s'assurer de la cohérence entre les définitions de ces variables + dans \filename{texmf.cnf} et l'emplacement réel de ces fichiers. + Voir section~\ref{sec:texmftrees}, page~\pageref{sec:texmftrees} pour + la description des différentes arborescences texmf utilisées. + +\item L'an dernier nous avions rendu « \texttt{undefined} » certaines + primitives propres à \cmdname{pdftex} (comme \verb|\pdfoutput|) + dans les formats créés à partir de \cmdname{pdfetex} (\cmdname{latex} + \cmdname{amstex}, \cmdname{context} par exemple)). + C'était à titre transitoire, aussi cette année, ces primitives sont de + nouveau définies dans tous les formats à base \cmdname{pdf(e)tex}, + \emph{même lorsqu'ils sont utilisés pour produire des fichiers + \file{.dvi}}. Ceci implique qu'il vous faudra modifier vos + documents qui utilisent le test \verb|\ifx\pdfoutput\undefined| + pour déterminer si la sortie est en DVI ou en PDF. Le mieux est + d'utiliser l'extension \pkgname{ifpdf.sty} et son test + \verb|\ifpdf| qui fonctionne même en plain \TeX. + +\item L'an dernier nous avions fait en sorte que la plupart des formats + impriment dans les sorties \file{.log} des caractères 8-bit + lisibles à la place des notations hexadécimales \verb|^^| + (voir section précédente). + Le nouveau fichier TCX \filename{empty.tcx} permet + de revenir facilement à la notation traditionnelle \verb|^^|, il suffit + de coder : +\begin{verbatim} +latex --translate-file=empty.tcx fichier.tex +\end{verbatim} + +\item Le nouveau programme \cmdname{dvipdfmx} est disponible pour convertir + des fichier DVI en PDF ; ce programme remplace \cmdname{dvipdfm}, + toujours disponible mais dont l'usage est maintenant déconseillé. + +\item Les variables \envname{HOMETEXMF} et \envname{VARTEXMF} ont été renommées + en \envname{TEXMFHOME} et \envname{TEXMFSYSVAR} respectivement pour + raisons de cohérence avec les autres noms de variables. Il y a aussi + \envname{TEXMFVAR} qui désigne maintenant un répertoire personnel + de l'utilisateur (cf. le premier point de la présente liste). + +\end{itemize} + +\subsubsection{2006--2007} + +En 2006--2007, la nouveauté majeure a été l'arrivée dans \TL{} de Xe\TeX{} +disponible sous forme de deux programmes \texttt{xetex} et \texttt{xelatex}, +voir \url{http://scripts.sil.org/xetex}. + +MetaPost a subi une mise à jour importante et d'autres améliorations +sont prévues, voir \url{http://tug.org/metapost/articles}. Il en va de même +pour pdf\TeX{}, voir \url{http://tug.org/applications/pdftex}. + +Le format \filename{tex.fmt} et les formats pour MetaPost and \MF\ ne +se trouvent plus dans \dirname{texmf/web2c} mais dans des +sous-répertoires de \dirname{texmf/web2c} (la recherche de fichiers +\filename{.fmt} est néanmoins faite aussi dans \dirname{texmf/web2c}). +Ces sous-répertoires portent le nom du moteur utilisé pour construire +le format, par exemple \filename{tex}, \filename{pdftex} ou +\filename{xetex}. Ce changement ne devrait pas avoir d'effet visible +pour les utilisateurs. + +Le programme (plain) \texttt{tex} ignore désormais les lignes commençant +par \texttt{\%\&} qui permettent de déterminer le format à utiliser ; +c'est un vrai \TeX{} « à la Knuth » ! +\LaTeX\ et tous les autres prennent toujours en compte les lignes commençant +par \texttt{\%\&}. + +Comme chaque année des centaines d'extensions et de programmes ont été mis à +jour, voir les sites \acro{CTAN} (\url{http://www.ctan.org}). + +L'arborescence utilisée en interne a été réorganisée avec de nouveaux outils +qui devraient fournir une meilleure base de travail pour les développements +futurs. + +Enfin, en mai 2006 Thomas Esser a annoncé qu'il renonçait à poursuivre le +développement de te\TeX{} (\url{http://tug.org/tetex}). Sa décision a relancé +l'intérêt pour \TL, en particulier chez les distributeurs de solutions +\GNU/Linux (un nouveau schéma d'installation \texttt{tetex} a été ajouté dans +le script d'installation de \TL{} pour produire une distribution proche de +l'ancienne te\TeX). La distribution \TL{} existe déjà sous forme de paquets +Debian, espérons que les autres acteurs du monde Linux (RedHat, SuSe, etc.) +suivront et que les utilisateurs se verront proposer à l'avenir des +distributions \TeX{} riches et plus faciles à installer. + +Remarque finale : toutes les anciennes distributions \TL{} ainsi que les +jaquettes des \CD{} correspondants sont disponibles ici : +\url{ftp://tug.org/historic/systems/texlive}. + +\subsection{L'édition 2008} +\label{tlcurrent} + +En 2008, l'infrastructure de la distribution \TL{} a été entièrement remaniée. +Un nouveau fichier texte, \filename{tlpkg/texlive.tlpdb}, regroupe toutes les +informations concernant la configuration \TL{} de la machine. + +Ce fichier permet entre autres choses de procéder à des mises à jour par le +réseau après l'installation initiale. Cette possibilité était offerte depuis +des années par MiK\TeX. Nous espérons pouvoir fournir des mises à jour +régulières du contenu des archives \CTAN. + +Le nouveau moteur Lua\TeX\ (\url{http://luatex.org}) a été intégré ; +il offre de nouvelles fonctionnalités typographiques et repose +sur l'excellent langage de commande Lua qui peut aussi être utilisé +en dehors de \TeX. + +Les versions Windows et Unix sont beaucoup plus proches que par le passé. +En particulier les scripts en Perl et en Lua sont communs aux deux +architectures. + +\TL{} dispose d'une nouvelle interface pour la maintenance (\cmdname{tlmgr} +voir section~\ref{sec:tlmgr}), elle permet les ajouts, mises à jour et +suppressions de composants et prend en charge la régénération des bases +\texttt{ls-R}, des formats et des fichiers \filename{.map} lorsque c'est +nécessaire. + +Les fonctionnalités de \cmdname{tlmgr} englobent toutes les tâches dévolues +auparavant à \cmdname{texconfig} qui ne devrait plus être utilisé (il est +conservé mais avec un champ d'action réduit). + +Le programme d'indexation \cmdname{xindy} (\url{http://xindy.sourceforge.net/}) +est maintenant disponible pour la plupart des plates-formes. + +L'utilitaire \cmdname{kpsewhich} dispose de deux options nouvelles : +\optname{--all} qui retourne toutes les occurrences du fichier recherché +et \optname{--subdir} qui limite la recherche à un sous-répertoire donné. + +Le programme \cmdname{dvipdfmx} permet maintenant d'extraire les informations +concernant la \textit{bounding box} par le biais de la commande +\cmdname{extractbb}; c'était une des dernières fonctionnalités de +\cmdname{dvipdfm} qui manquaient à \cmdname{dvipdfmx}. + +Les alias de polices \filename{Times-Roman}, \filename{Helvetica}, etc. +ont été supprimés, les conflits de codage qu'ils induisaient n'ayant pas pu +être résolus. + +Le format \pkgname{platex} a été supprimé afin de résoudre un conflit de nom +avec son homonyme japonais ; le support pour le polonais est assuré +maintenant par l'extension \pkgname{polski}. + +Les fichiers \web{} d'extension \filename{.pool} sont maintenant inclus dans +les binaires afin de faciliter les mises à jour. + +Enfin, les changements décrits par Donald Knuth dans « \TeX\ tuneup of 2008 » +(voir \url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}) sont inclus +dans la présente édition. + +\subsection{Versions futures} + +\emph{\TL{} n'est pas un produit parfait !} (et ne le sera jamais). +Nous prévoyons de continuer à produire de nouvelles versions et aimerions +fournir plus d'aide, de fonctionnalités, de programmes d'installation et +(bien sûr) une arborescence améliorée et vérifiée de macros et de fontes. Ce +travail est effectué par des volontaires débordés, dans la limite de leur +temps libre et beaucoup reste à faire. Si vous pouvez nous aider, n'hésitez +pas à nous contacter, voir \url{http://tug.org/texlive/contribute.html}. + +Corrections, suggestions et propositions d'aide doivent être envoyées à : +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Bon travail avec \TeX{} !} + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% ispell-local-dictionary: "francais" +%%% TeX-master: t +%%% coding: utf-8 +%%% End: -- cgit v1.2.3