diff options
Diffstat (limited to 'Master/texmf-doc/source/french/texlive-fr/live.tex')
-rw-r--r-- | Master/texmf-doc/source/french/texlive-fr/live.tex | 3857 |
1 files changed, 3857 insertions, 0 deletions
diff --git a/Master/texmf-doc/source/french/texlive-fr/live.tex b/Master/texmf-doc/source/french/texlive-fr/live.tex new file mode 100644 index 00000000000..84bac656b7f --- /dev/null +++ b/Master/texmf-doc/source/french/texlive-fr/live.tex @@ -0,0 +1,3857 @@ +%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) +% 2005/11/01: synced with 2005 English version, by 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.~} +% 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{...}. + +\setlength{\parindent}{0mm} +\addtolength{\parskip}{.25\baselineskip} + +\begin{document} + +\title{{\huge Guide pratique de \TL{}} \\ \strut + {\LARGE\textsf{\TK{} 2005}} + } + +\author{Sebastian Rahtz \& Karl Berry \\[3mm] + \url{http://tug.org/texlive/}\\[5mm] + \textit{Version française}\\[3mm] + Daniel Flipo (GUTenberg) + } + +\date{Octobre 2005} + +\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 2005 a été figée en octobre 2005. % (df) à préciser ? +Les futures mises à jour des composants de la distribution 2005 +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}. + +\item Pour installer une extension ou une collection, on utilise le script + d'installation \texttt{install-pkg.sh}. + +\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 \foreignlanguage{english}% + {\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 : + \foreignlanguage{english}% + {\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. (\acro{TUG} is sending all three discs above to all of its +%members.) + +\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{texlive2005} 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{}).\\ +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.) \\ +xemtex & Répertoire contenant des programmes utiles pour Windows. + % ajout (df) + \emph{Ce n'est pas la distribution \XemTeX{} de + Fabrice Popineau !} +\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{}] 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} + présente un exemple d'utilisation. L'extension \pkgname{hyperref} + de \LaTeX{} possède une option \og \optname{pdftex}\fg{} qui + active tous les mécanismes nécessaires. + +\item [pdfe\TeX] combine les fonctionnalités de pdf\TeX\ et \eTeX. + C'est le moteur utilisé désormais par tous les formats à l'exception + de plain \TeX. + +\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/texlive2005} 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/2005} vous convient +(c.-à-d. que \dirname{/usr/local/texlive/2005} 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/2005 +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/local/texlive/2005]: \Ucom{/opt/texlive2005} +... +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/2005}. +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/2005} donc) et ajouter deux liens +symboliques : \dirname{current} qui pointe vers \dirname{2005} 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 ./2005 ./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/2005/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/2005}, sinon il faut adapter \envname{PATH} en +conséquence.} +\begin{alltt} +> \Ucom{touch .cshrc} +> \Ucom{echo "setenv PATH /usr/local/texlive/2005/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/2005/bin/i386-linux:$PATH" >> .bash_profile} +> \Ucom{source .bash_profile} # faire prendre en compte le nouveau PATH +\end{alltt} %$ + +\textruntexconfig + +\medskip %J.A. + +\textifindoubt + +% +\subsection{Ajouter des composants à une installation} + +On peut ajouter des composants individuels ou des collections de la +distribution actuelle à une distribution autre que \TL{} ou +à une installation plus ancienne de \TL{}. Ceci peut se faire soit à partir +du \DVDlive{} soit à partir du \CDinst{}. + +%\startinst +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} + +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 cette année, 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/.texlive2005} %$ +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/.texlive2005} %$ + +\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/.texlive2005}). %$ +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{Windvi}. +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 française disponible ici : +\url{http://daniel.flipo.free.fr/doc/dfshort/} + + +\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 cette année sur le \DVDlive ; elle se trouve dans le répertoire + \dirname{mactex/}, voir section~\ref{sec:mactex}. C'est la méthode + recommandée. + +\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}). + +\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/texlive2005} +> \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/2005/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/2005/bin/powerpc-darwin}. + +\end{cmddescription} + + +\section{Installation sous Windows} +\label{sec:win-install} + +Cette année la distribution \TL{} inclut de nouveau 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. + +Deux autres pistes, non basées sur la distribution \TL{}, +me semblent plus adaptées : +\begin{enumerate} +\item soit 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 ; +\item soit, télécharger \XemTeX{} (200~Mo) sur \url{http://www.xemtex.org/}. + C'est la distribution Windows qui remplace \fpTeX{}, elle est maintenue par + Fabrice Popineau et construite autour de l'éditeur \cmdname{XEmacs}. + Les outils DVI sont supprimés, le format de sortie est PDF ou HTML + uniquement. + + \XemTeX, bien que totalement gratuit, inclut des programmes qui ne sont pas + libres au sens Debian, c'est ce qui empêche malheureusement \XemTeX{} de + figurer dans la distribution \TK. +\end{enumerate} + +Si vous décidez d'opter pour \ProTeXt{} ou pour \XemTeX{} vous pouvez +sauter toute cette section. +\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 \XEmTeX, +qui a succédé à \fpTeX{} (voir +\url{http://www.metz.supelec.fr/~popineau/xemtex-1.html}). +Certains binaires de l'ancienne distribution \fpTeX{} ont été conservés, +comme \cmdname{Windvi}, le visualiseur \texttt{dvi} similaire à \textsf{xdvi} +sous Unix. La documentation sur \cmdname{Windvi} se trouve dans +\OnCD{texmf/doc/html/windvi/windvi.html}. + +\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=<path>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{<cdrom drive letter>:\string\setup-win32\string\tplmgui.exe} +--- resp. +\path{<drive letter>:\string\texlive\string\setup-win32\string\tplmgui.exe} +si vous installez à partir du \DVDlive{} --- où \path{<cdrom drive letter>} +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}. + +\textbf{Remarque :} Les collections \guiseq{Ghostscript}, \guiseq{Perl} et +\guiseq{Wintools} 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. + +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). + +Le raccourci \cmdname{tlpmgui} sera ajouté dans le menu +\guiseq{Start\arw Programs\arw TeXLive2005}. + +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} 7.07 ; +\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. +%\item un sous-ensemble de \cmdname{ImageMagick} 5.5.6 ; +%\item le correcteur d'orthographe \cmdname{ISpell} ; +%\item \cmdname{XEmacs} 21.5.14 avec un ensemble de fonctions pour faciliter +%la composition \TeX{}. +\end{itemize} + +Ces programmes sont empruntés à la distribution \XEmTeX{}. + +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} existe nativement sous Windows, + l'url de référence est + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} ; + \item \cmdname{XEmacs} + existe nativement sous Windows, l'url de référence + est \url{http://www.xemacs.org/} ; + \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} se trouve sur \TL{} dans le répertoire + \path{support/vim} et le site de référence est + \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 TeXLive2005} 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 contenu du répertoire +\path{setup-win32} 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\TeXLive2005\string\texmf-local\string\tex\string\latex\string\maple} +et les fichiers de documentation dans +\path{C:\string\TeXLive2005\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 [\KPS{}] Les tables de hachage\footnote{Une table de hachage est + une structure de données qui permet de rechercher un élément par + une clé dans un ensemble. Elle doit donc mémoriser des paires de + type \emph{(clé, valeur)} et permettre un accès rapide à une + valeur à partir de sa clé.} que \KPS{} construit (à partir des + fichiers \filename{ls-R} entre autres) sont très volumineuses pour le + \TL{}. Dans le but de diminuer le temps d'initialisation des + applications qui utilisent \KPS{}, ces tables ont été mises en + mémoire partagée. De cette manière, quand vous exécutez des + chaînes de programmes, telles que \filename{tex} qui appelle \filename{mpost} + qui appelle \filename{tex}, le temps d'initialisation de chaque sous-programme + est diminué (sauf pour le premier). Ce comportement est invisible pour + l'utilisateur, sauf si celui-ci positionne le niveau de trace de + \KPS{} à la valeur $-1$ : dans ce cas, tout accès au bloc de + mémoire partagée est tracé, ce qui n'est pas souhaitable (les + programmes accèdent très souvent à ce bloc !). Cette situation + évoluera probablement + dans le futur. %, lorsqu'il sera clair de savoir ce qu'il faut garder + % dans cette trace. +\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{} % n'est pas suffisamment réentrante pour autoriser simplement + % cette réinitialisation. + 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 quelques options supplémentaires + par rapport à la version standard, et une option dont le + comportement diffère de la version standard : + \begin{itemize} + \item[] \path{-halt-on-error} arrête la compilation à la première + erreur. + \item[] \path{-job-time} positionne la date des fichiers créés à la + date de référence fournie par celle du fichier donné en argument. + \item[] \path{-oem} utilise le codepage DOS pour les sorties console. + \item[] \path{-output-directory} permet de créer tous les fichiers + de sortie dans le répertoire spécifié. + \item[] \path{-time-statistics} 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{itemize} +\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\TeXLive2005\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{} courante intègre la procédure permettant d'avoir +toujours des fichiers fontmaps à jour pour Dvips et PdfTeX. C'est le programme +\cmdname{updmap} qui le fait durant l'installation, comme lors de l'ajout de +collection de fontes. Si vous ajoutez de nouvelles fontes à la main, +éditez le fichier \verb+updmap.cfg+ dans \path{$TEXMFVAR/web2c}. %$ + +\subsubsection{PdfTeX} + +Si le programme pdf{}latex 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\TeXLive2005\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{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}. + +\subsubsection{Windvi} +\label{sub:windvi} + +Le programme \cmdname{tlpmgui} associe automatiquement les fichiers de suffixe +\file{.dvi} au programme \cmdname{Windvi} mais il ne crée pas d'icône sur +le bureau pour \cmdname{Windvi}, il faut le faire à la main. + +Lancer \cmdname{Windvi} en double cliquant sur l'icône ou à partir de la ligne +de commande. + +Pour sélectionner un format de papier US Letter, allez dans le menu +\guiseq{View\arw Options\arw Papertype} et sélectionnez +\og US (8.5"x11")\fg{} dans la +liste déroulante Paper Type. Cliquez OK et fermez \cmdname{Windvi}. + +La première fois que vous ouvrirez un fichier \file{.dvi}, vous pouvez +trouver le facteur de zoom trop important ; réduisez-le en tapant sur +la touche \og moins \fg{} du clavier numérique jusqu'à ce qu'il soit à +votre goût. + +Vous pouvez modifier le format de papier dans les options de +\cmdname{Windvi} (menu View, Options) ainsi qu'un certain nombre +d'autres paramètres comme par exemple la capacité à exécuter des +commandes système spécifiées dans le document (désactivé par défaut pour +des raisons de sécurité). + +Les paramètres de \cmdname{Windvi} sont enregistrés dans un fichier de nom +\filename{windvi.cnf}. +Vous pouvez le localiser de la manière suivante : +\begin{verbatim} +C:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +%$ + +Si vous avez des problèmes avec \cmdname{Windvi}, il est conseillé d'effacer +le fichier de configuration, puis de refaire un test dans la configuration par +défaut. + +\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\TeXLive2005\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 (Windvi). + +La première fois que vous afficherez un document avec \cmdname{Windvi}, 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{Windvi}. 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-section~\ref{sub:windvi}) 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. + +%Si vous utilisez \cmdname{WinShell} et une imprimante PostScript, le +%plus pratique est de définir un bouton Impression dans la barre +%d'outils de \cmdname{WinShell} qui appellera dvips avec les options +%envoyant directement le résultat à l'imprimante. Pour des instructions +%détaillées sur la manière de procéder, reportez-vous à la +%sous-section suivante. + +\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 ; +fp\TeX{} 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:\TeXLive2005\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\TeXLive2005\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} +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} +\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{tl90pdfetex.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 la trace 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 (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/fonts/tfm/public/cm/cmr10.tfm}\\ + \texttt{kpsewhich latex.fmt}& \texttt{C:/TeX/texmf/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:/TeXLive2005/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 ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Prenons par exemple le cas de Times Roman \file{utmr8a.pfb} et +trouvons sa position dans l'arborescence \file{texmf} en utilisant une +recherche applicable aux fichiers de fontes de type~1 : +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +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 <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, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{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} +\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} + +% 100\,Mo seulement ??? (df) +Il faut au moins 100\,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 tar (archive) +compressé trouvé dans le répertoire \dirname{source} et placez-vous dans +le répertoire où vous avez transféré l'ensemble. + +Lancez maintenant \textsf{configure} de la façon suivante : +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +Le répertoire \optname{-prefix} est le répertoire de base de l'arborescence. +Les répertoires utilisés sont les suivants +(\path{$TEXDIR} désigne le répertoire de base) : + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & 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/$PLATFORM} & exécutables.\\ +\end{tabular}\\ + +Si vous ne voulez pas créer de répertoire \dirname{$PLATFORM} spécifique %$ +au système choisi (c.-à-d. copier directement les exécutables 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é\ldots. + +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} + +\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 Dante e.V., le groupe allemand d'utilisateurs de \TeX{} qui nous + fournit la machine sur laquelle le source de \TL{} est développé et + maintenu, ainsi que Rainer Schöpf et Reinhard Zierke qui veillent à + son bon fonctionnement. Volker Schaa et Klaus H\"oppner, respectivement + président et vice-président de Dante, ont + coordonné la production avec l'éditeur-libraire Lehmanns + (\url{http://www.lob.de}). + +\item La société Perforce (\url{http://www.perforce.com}), qui nous a + fourni gratuitement une licence de l'excellent + logiciel de développement concurrent, utilisé pour gérer + les sources 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 Pawe{\l} Jackowski, pour l'installeur Windows \cmdname{tlpm}, +et Tomasz {\L}uczak, pour la version graphique \cmdname{tlpmgui}. + +\item \Thanh, Martin Schr\"oder et toute l'équipe pdf\TeX\ qui continuent + inlassablement à étendre les performances de \TeX. + +\item Petr Olsak, qui coordonna et vérifia minutieusement toute la + partie tchèque et slovaque. + +\item Fabrice Popineau, pour les binaires Windows 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 : +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} + et \pkgname{sparc-solaris}), +Staszek Wawrykiewicz (\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} + +\subsection{L'édition 2005} +\label{tlcurrent} + +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 Le 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{Versions futures} + +\emph{\TL{} n'est pas un produit parfait !} +(et ne le sera jamais). Nous prévoyons de le +renouveler tous les ans, 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} +Sebastian Rahtz \ / \ 7 Stratfield Road \ / \ Oxford OX2 7BG \ / \ UK \\ +\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: |