Ce document décrit les principales caractéristiques de la distribution TEX Live, une distribution de TEX et LATEX pour Linux et autres Unix, Mac OS X et systèmes Windows 32 bits (attention, cette distribution n’est pas vraiment utilisable avec les anciens systèmes Mac ou MS-DOS). Elle comprend les binaires pré-compilés de TEX, LaTeX2e, Metafont, MetaPost, 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 TEX Live est en fait un sous-ensemble de TEX Collection (décrit brièvement à la section 2, p. 7) produit grâce aux efforts combinés des différents groupes d’utilisateurs de TEX.
L’édition 2007 a été figée en janvier 2007. Les futures mises à jour des composants de la distribution 2007 seront disponibles au fur et à mesure de leur parution sur le site CTAN, http://www.ctan.org.
On trouvera à la fin du document, section 11 (p. 78), un bref historique des principales modifications apportées au fil du temps à la distribution TEX Live.
Les utilisateurs des éditions précédentes de TEX Live sont invités à lire, avant toute mise à jour, la section 11.2 p. 85 qui présente les principaux changements intervenus cette année.
Vous pouvez utiliser TEX Live de trois façons différentes :
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 :
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 à TEX Live et acheter un système payant ; voir une liste à http://tug.org/interest.html#vendors).
Voici une liste de ressources, classées selon l’ordre dans lequel nous recommandons de les utiliser :
L’autre aspect du sujet concerne l’aide à apporter aux personnes soumettant des questions. Les forums comp.text.tex, fr.comp.text.tex ainsi que les listes de diffusion texhax et 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 !
Nous décrivons ici la structure et le contenu de TEX Live et de TEX Collection qui est un sur-ensemble de TEX Live.
Des limitations d’espace liées au format des CD-ROM nous ont contraint à diviser TEX Collection en plusieurs distributions :
Les droits d’utilisation des fichiers présents dans CTAN, ProTEXt, MacTEX et texmf-extra diffèrent de ceux de TEX Live, pensez à lire les licences si vous envisagez de modifier ou de redistribuer certains de ces fichiers.
protext est fourni à la fois sur le DVD live et sur un CD spécifique pour ceux qui n’ont pas de lecteur de DVD.
On peut déterminer la nature de la distribution utilisée en recherchant le fichier 00type.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 TEX Live.
Les répertoires les plus importants situés à la racine du DVD live sont énumérés ci-dessous. Cette année, la distribution TEX Live est dans un sous-répertoire texlive2007 et non à la racine.
bin | Programmes de la famille TEX, rangés dans des sous-répertoires selon les plates-formes. |
source | Le code source de tous les programmes, incluant la distribution Web2C de TEX et Metafont. Il s’agit d’une archive au format tar, compressée par bzip2. Faute de place, le répertoire source n’est pas sur le CD inst (seulement sur le DVD live). |
setuptl | Programmes d’installation pour Windows et Linux. |
support | Ensemble d’extensions et programmes auxiliaires. Ils ne sont pas installés par défaut. |
texmf | Répertoire contenant les programmes et leur documentation. Ne contient ni les formats ni les extensions (appelé TEXMFMAIN dans la section suivante.) |
texmf-dist | Répertoire principal où se trouvent les extensions, les fontes, etc., avec leur documentation (appelé 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é TEXMFSYSVAR dans la section suivante.) |
Le répertoire texmf-doc ne contient que de la documentation mais pas toute la documentation. Celle concernant les programmes (manuels, pages man et fichiers de type info est dans texmf/doc car les programmes correspondants sont dans texmf. De même, la documentation des extensions et formats est dans texmf-dist/doc. Les commandes texdoc ou texdoctk trouveront pour vous les documentations où quelles soient sur le disque. Le fichier doc.html du DVD live 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 README (dans différentes langues).
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 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.
contient les éléments essentiels du système, comme les scripts (web2c/mktexdir, etc.), les fichiers .pool, etc.
contient les fichiers de macro (Plain, LATEX, ConTEXt, etc.,), les fontes, etc., de la distribution TEX Live. Rien ne devrait être ni ajouté ni supprimé dans cette arborescence.
c’est là que l’administrateur de la machine place les classes et extensions locales, les fontes non disponibles dans TEX Live, etc.
contient les fichiers personnels (extensions, classes, fontes) de l’utilisateur ; ce répertoire est sous $HOME par défaut. La variable TEXINPUTS ne devrait plus être utilisée.
c’est là que les scripts updmap et fmtutil recherchent leurs fichiers de configuration en priorité. texconfig y place les versions modifiées des fichiers de configuration. Sous $HOME par défaut.
c’est là que les scripts updmap-sys et fmtutil-sys recherchent leurs fichiers de configuration en priorité. texconfig-sys y place les versions modifiées des fichiers de configuration.
c’est là que les scripts texconfig, updmap et fmtutil rangent les formats et les fichiers .map qu’ils produisent. Sous $HOME par défaut.
c’est là que les scripts texconfig-sys, updmap-sys et fmtutil-sys rangent les formats et les fichiers .map qu’ils produisent.
Les possibilités offertes par texconfig sont décrites à la section 4.1, p. 29.
TEX Live contient plusieurs extensions de TEX.
Voici quelques autres programmes couramment utilisés et présents dans TEX Live :
Traitement de la bibliographie.
Traitement des index.
Conversion DVI vers PostScript.
Visualisation DVI pour le système X Window.
Pilote DVI pour les imprimantes HP LaserJet.
Conversion DVI vers ou depuis du texte simple.
Couper/Coller de pages à partir de fichiers DVI.
Conversion DVI vers PDF, une autre approche que celle de pdfTEX (mentionné ci-dessus). Voir les extensions ps4pdf et pdftricks pour d’autres alternatives.
Utilitaires PostScript.
Vérification de syntaxe LATEX.
Processeur ConTEXt et PDF.
Conversion TEX vers HTML.
Comme on l’a vu en section 1.1 p. 6, le TEX Live peut être utilisé de trois façons principales :
Les procédures spécifiques à Unix sont décrites pour chacun de ces cas dans les sections qui suivent.
ATTENTION : Les CD et le DVD sont au format ISO 9660 (High Sierra), avec les extensions « Rock Ridge » (et « Joliet » pour Windows). Votre système doit pouvoir reconnaître les extensions « Rock Ridge » pour une utilisation optimale de TEX Live. Consultez votre documentation concernant la commande 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. 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. |
N.B. : les droits de « root » 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 « root » ou tout au moins utiliser la commande 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 Mac OS X à qui nous recommandons de prendre d’abord connaissance de la section 5 avant toute installation.
La liste des architectures sur lesquelles fonctionne TEX Live est donnée page 20 (table 2).
On peut utiliser le système TEX directement depuis DVD live, sans l’installer sur le disque dur (d’où en
fait le nom TEX Live). Il n’est pas possible de faire tourner TEX directement depuis le CD inst (voir
section 2.1, page 8). Pour démarrer, il faut d’abord « monter » 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 /dev/cdrom) et du point de montage (ici /mnt/cdrom) peuvent
changer.
N.B. Tous nos exemples utilisent > pour les lignes de commandes (shell prompt) ; les commandes de
l’utilisateur sont soulignées.
Se placer au point de montage du lecteur :
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 < ni >) ; on peut utiliser des majuscules ou des minuscules ; ici, les exemples utilisent des minuscules.
Pour exécuter live, la première commande est d suivie de la sous-commande 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 /opt/texlive2007 dans cet exemple, mais un utilisateur non privilégié peut très bien choisir un sous-répertoire non-existant de son répertoire personnel (il sera créé et ne contiendra donc que du matériel TEX Live). É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 /usr/local/texlive/2007 vous convient (c.-à-d. que /usr/local/texlive/2007 n’est pas un répertoire existant et que vous avez les droits pour écrire sous /usr/local), vous pouvez sauter cette étape.
Retour au menu principal. La seconde (et dernière) commande est r pour faire tourner live à partir du DVD sans pour autant l’installer sur le disque dur :
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 PATH et TEXMFSYSVAR comme indiqué à l’écran quelques lignes au dessus de « Welcome to TeX Live ! ». La syntaxe dépend du shell utilisé. Les syntaxes précises sont affichées pour les shell de type Bourne ou compatible (bash, sh ksh, etc.) et pour les C shells (csh, tcsh). Rappelons qu’il suffit de taper la commande echo $SHELL pour connaître le nom du shell utilisé. Le plus simple est de recopier par copier-coller, soit les deux lignes commençant par « setenv » pour les C shells, soit les trois lignes « PATH= », « TEXMFSYSVAR= », « export ... » pour les shell de type Bourne (suivies d’un retour-chariot) dans le terminal de commandes.
Ceci suffit pour pouvoir utiliser la distribution TEX Live pendant toute la session. Pour ne pas avoir à redéfinir PATH et TEXMFSYSVAR à chaque nouvelle connexion, il suffit d’entrer les mêmes commandes à l’aide d’un éditeur dans le fichier d’initialisation du shell (.bash_profile, .profile ou .cshrc selon le cas). L’initialisation se fera ensuite automatiquement au début de chaque nouvelle session.
Une fois l’installation terminée et les variables d’environnement initialisées, la dernière étape consiste à exécuter texconfig ou texconfig-sys pour éventuellement modifier certains paramètres. Ceci est expliqué à la section 4.1, p. 29.
Passez maintenant à la section 4.2 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 TEX Live, le choix des répertoires à utiliser ou les modifications à apporter dans vos fichiers d’initialisation.
Il est possible, et même habituel, d’installer le système TEX à partir du TEX Live sur le disque (« dur »). Ceci peut se faire en utilisant soit le DVD live, soit le CD inst (voir section 2.1, p. 8 pour des explications sur les différentes distributions).
Pour démarrer, il faut d’abord « monter » 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 /dev/cdrom) et du point de montage (ici /mnt/cdrom) peuvent
changer.
N.B. Tous nos exemples utilisent > pour les lignes de commandes (shell prompt) ; les commandes de
l’utilisateur sont soulignées.
Se placer au point de montage du lecteur :
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 < ni >) ; on peut utiliser des majuscules ou des minuscules ; ici, les exemples utilisent des minuscules.
La table 1 donne la liste des options du menu principal. On peut choisir les options dans n’importe quel ordre, mais i doit être la dernière choisie. Il est cependant raisonnable de procéder dans l’ordre où elles apparaissent ici !
|
Voici quelques précisions sur chaque option.
|
Voici la liste des collections de langues du TEX Live (on garde ici les noms anglais des options qui sont ceux du système !) :
African (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 | UK English | Vietnamese |
Les collections de langues comprennent normalement des fontes, macros, motifs de césure et autres fichiers. Par exemple, frenchle.sty est installé lorsqu’on sélectionne la collection French. Par ailleurs, l’installation d’une langue de la collection modifie le fichier de configuration language.dat qui contrôle quelles divisions (ou coupures de mots) sont chargées.
Répertoire de plus haut niveau sous lequel tout le reste sera installé, la valeur par défaut est /usr/local/texlive/2007. Il est conseillé de faire figurer l’année dans le nom choisi, de façon à pouvoir conserver séparément plusieurs versions de TEX Live. L’ajout d’un lien symbolique /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 Mac OS X, les interfaces utilisateurs recherchent TEX dans /usr/local/teTeX ; plutôt que d’installer la distribution TEX Live dans ce répertoire, on pourra faire l’installation par défaut (dans /usr/local/texlive/2007 donc) et ajouter deux liens symboliques : current qui pointe vers 2007 et teTeX qui pointe vers current. Pour cela il suffit de taper les deux commandes suivantes dans un terminal :
C’est dans cette arborescence que doivent être placés les fichiers non fournis par TEX Live. La valeur par défaut est /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 TEX Live ainsi que les paramètres de configuration locaux.
C’est dans cette arborescence que les scripts texconfig-sys, fmtutil-sys, updmap-sys installent les fichiers qui sont spécifiques à la version, notamment les fichiers de format. La valeur par défaut est TEXDIR/texmf-var, il n’y a en général aucune raison de la changer. Les fichiers configuration modifiables par texconfig-sys (voir section 4.1, p. 29), comme fmtutil.cnf et updmap.cfg, sont eux dans TEXMFSYSCONFIG.
Pour spécifier un autre répertoire pour les fontes générées. La valeur par défaut utilise l’arborescence 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.
Pour créer des liens symboliques pour les binaires, la documentation (man pages) ou les fichiers Info GNU. Par exemple, on peut désirer rendre la documentation de type man accessible depuis /usr/local/man et les fichiers Info depuis /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 TEX Live accessibles depuis /usr/local/bin risque de masquer définitivement, y compris pour root, les binaires TEX fournis en standard sur la plate-forme. Sous Linux par exemple, root doit utiliser par défaut les binaires teTEX fournis avec la distribution installée (Debian, Mandrake, RedHat, etc.) et non ceux fournis par TEX Live.
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.
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 NFS ou automount par exemple).
Lorsque l’installation est terminée, l’étape suivante consiste à inclure dans la variable PATH des usagers (autres que root cf. ci-dessus) le sous-répertoire de TEXDIR/bin spécifique à l’architecture de façon que les programmes nouvellement installés puissent être trouvés. Le tableau 2 (page 20) donne la liste des noms des architectures ; on peut aussi lister le contenu de TEXDIR/bin pour déterminer le nom du sous-répertoire de TEXDIR/bin à inclure en tête de PATH.
La syntaxe de cette commande et le fichier d’initialisation à utiliser dépendent du système utilisé. Pour un shell Bourne ou compatible (sh, bash, ksh, etc.), il faut mettre dans le fichier $HOME/.profile1 des futurs utilisateurs de TEX Live :
et pour un C shell (csh, tcsh), mettre dans le fichier $HOME/.cshrc :
Sous Mac OS X 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
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 RETURN sont omis ici.
Si votre système Unix connaît la commande manpath (essayez en tapant man manpath dans un terminal), vous pourrez accéder à la documentation de TEX Live grâce à la commande man en ajoutant la ligne suivante (en adaptant les chemins éventuellement) dans le fichier /etc/manpath.config (ceci nécessite les droits de root) :
Une fois l’installation terminée et les variables d’environnement initialisées, la dernière étape consiste à exécuter texconfig ou texconfig-sys pour éventuellement modifier certains paramètres. Ceci est expliqué à la section 4.1, p. 29.
Passez maintenant à la section 4.2 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 TEX Live, le choix des répertoires à utiliser ou les modifications à apporter dans vos fichiers d’initialisation.
Lorsqu’on doit dupliquer la même installation sur plusieurs machines, il peut être fastidieux de devoir répondre à chaque fois à la même liste de questions. Une installation personnalisée automatique est possible.
Exemple : pour réaliser une installation standard de TEX Live sous /opt/texlive plutôt que sous /usr/local/texlive, il suffit d’exécuter les trois commandes suivantes :
L’argument « i » passé au script d’installation sert à lancer l’installation (en mode interactif, on taperait i au clavier).
Cinq variables d’environnement permettent de choisir où aura lieu l’installation :
remplace /usr/local/texlive.
remplace /usr/local/texlive/2007.
remplace /usr/local/texlive/texmf-local.
remplace /usr/local/texlive/2007/texmf-var.
remplace $HOME/texmf.
Pour réaliser une installation personnalisée, il est facile d’écrire un petit script qui passe les arguments adéquats à la commande install-tl.sh ; par exemple pour une installation selon le schéma Gutenberg, avec comme langues supplémentaires l’espagnol et l’anglais britannique, à placer sous /opt/texlive, on pourrait lancer (sous root, en supposant que le SHELL est sh ou bash le script suivant :
les lettres figurant entre <<EOI et EOI étant exactement celles entrées (dans le même ordre) lors d’une installation interactive.
Une autre solution (meilleure ?) consisterait à utiliser un fichier configure à la mode GNU... Les volontaires pour travailler dans cette direction sont les bienvenus !
On peut ajouter des composants individuels ou des collections de la distribution actuelle à une distribution autre que TEX Live ou à une installation plus ancienne de TEX Live. Ceci peut se faire soit à partir du DVD live soit à partir du CD inst.
Pour démarrer, il faut d’abord « monter » 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 /dev/cdrom) et du point de montage (ici /mnt/cdrom) peuvent
changer.
N.B. Tous nos exemples utilisent > pour les lignes de commandes (shell prompt) ; les commandes de
l’utilisateur sont soulignées.
Se placer au point de montage du lecteur :
Lancer le script install-pkg.sh (et non install-tl.sh qui n’est destiné qu’à l’installation complète) :
Le premier jeu d’options permet de choisir ce qui sera installé :
Le composant individuel à installer.
La collection individuelle à installer.
Ne pas installer les fichiers de documentation pour cette opération.
Ne pas installer les fichiers source pour cette opération.
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é.
Ce qu’on appelle « répertoire des listes » dans 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.
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 bin affiché par la commande which tex. On peut la modifier en changeant les variables d’environnement TEXMFMAIN ou TEXMF.
Liste les fichiers à installer mais n’installe rien du tout !
Au lieu d’installer les fichiers dans le système TEX, crée une archive tar.
Options additionnelles :
Après l’installation, exécuter texconfig init.
Après installation, ne pas lancer mktexlsr pour reconstruire la base de données des noms de fichiers.
Donner plus d’informations durant l’exécution des scripts.
Voici quelques exemples d’utilisation :
Passez maintenant à la section 4.2 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 TEX Live, le choix des répertoires à utiliser ou les modifications à apporter dans vos fichiers d’initialisation.
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 TEX Live. L’idée de base est de faire les ajouts dans l’arborescence TEXMFLOCAL (si vous avez installé depuis le disque) ou dans TEXMFSYSVAR (si vous exécutez depuis le disque) ; voir « répertoires d’installation » en page 21.
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 :
Vous pouvez utiliser le programme 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 TEXDIR/bin/archname, si vous n’avez pas modifié le PATH de root, il faudra le lancer (sous 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 TEX Live est configurée pour utiliser du papier A4 par défaut) :
Mettre la taille par défaut du papier à letter pour les pilotes pdftex, dvips, dvipdfm, xdvi, etc.
Mettre à jour toutes les bases de données des fichiers du système TEX (à faire après tout ajout ou suppression de fichier).
Afficher la FAQ sur teTEX. (voir aussi la FAQ principale de TEX dans texmf-doc/doc/english/FAQ-en sur le DVD live).
Obtenir de l’aide sur la commande texconfig.
Bien sûr, 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 Web2C s’appelle texmf.cnf. ; on peut trouver son emplacement en exécutant « kpsewhich texmf.cnf ». Ce fichier contient de nombreux commentaires expliquant les options par défaut et la signification des paramètres, sa lecture est recommandée.
Depuis 2005, la commande texconfig 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 $HOME/.texlive2007 de l’utilisateur.
De même, les commandes updmap et fmtutil opèrent maintenant au niveau de l’utilisateur dans le répertoire $HOME/.texlive2007
Important : machines multi-utilisateurs. Les administrateurs installant TEX Live sur une machine multi-utilisateurs devront dorénavant utiliser les commandes texconfig-sys, updmap-sys et fmtutil-sys pour respectivement modifier la configuration, mettre à jour les fichiers .map et créer les formats 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 $HOME/.texlive2007). Afin d’éviter la multiplication de fichiers de formats, il y a donc lieu créer au moins les formats les plus utilisés au niveau du système à la fin de l’installation par la commande fmtutil-sys. Le plus simple est de les créer tous (c.-à-d. ceux qui figurent dans le fichier fmtutil.conf) par
Rappelons que la commande texconfig conf retourne les valeurs des variables TEXMFSYSCONFIG, TEXMFLOCAL, etc., et que l’utilisation des différentes arborescences texmf a été décrite à la section 2.3 p. 9.
Une fois l’installation de TEX Live 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 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 Mac OS X ou Windows, il vaut mieux tester au travers d’une interface graphique, mais les principes sont les mêmes.
Si on récupère un 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 bin dans votre PATH. Voir les informations sur l’environnement page 22.
Hélas, ni gv ni xpdf ne sont actuellement inclus dans TEX Live, aussi devez-vous les installer séparément si ce n’est déjà fait. Voir respectivement http://www.gnu.org/software/gv et http://www.foolabs.com/xpdf.
Un document plus simple à compiler que sample2e si celui-ci pose des problèmes.
Teste que l’imprimante n’introduit pas de décalages.
Imprime des tables de fontes et des tests.
Aussi pour les tables de fontes, mais en (plain) TEX.
Le fichier de test de (plain) TEX le plus canonique de tous. Il faut taper « \bye » à la commande * après « tex story.tex ».
Pour exécuter ces tests procéder comme on l’a fait pour sample2e.tex.
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 http://tug.org/begin.html. On vous recommande également l’introduction à LATEX de Tobias Oetiker dans sa version anglaise (la version française n’est plus à jour) disponible après installation sous texmf-doc/doc/english/lshort-english/lshort.pdf.
TEX Live traite Mac OS X, mais pas les versions antérieures des Macintosh.
On peut installer TEX sous Mac OS X de deux façons :
Par ailleurs, l’utilisation de TEX sous Mac OS X se fait normalement par le biais d’une interface graphique (frontend), comme expliqué ci-dessous à la section 5.3.
La distribution MacTEX est une variante de TEX Live 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 MacTEX est http://tug.org/mactex.
Le système Mac OS X est un Unix (presque) comme les autres, mais Apple cache soigneusement ce fait, ce qui ne facilite pas l’installation de logiciels comme TEX Live.
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 « Terminal ». L’application « Terminal » 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 shell en anglais) bash est présent ou non. Pour cela, taper dans la fenêtre « Terminal » la commande suivante :
Supposons désormais le shell bash présent. Il faut maintenant « passer root », 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 « Terminal » la commande :
Mettre le CD inst ou le DVD live dans le lecteur, son contenu devient automatiquement accessible sous le répertoire /Volumes. On tape ensuite dans le « Terminal » les commandes :
Normalement, l’utilisation de TEX sur un Macintosh se fait à travers une interface graphique, comprenant un shell d’exécution, un éditeur, un prévisualiseur et d’autres outils (on échappe toutefois difficilement à l’utilisation de « Terminal » dès que l’on veut réaliser des tâches un tant soit peu évoluées...).
Voici les principales interfaces disponibles :
Inclus dans TEX Live sous ./MacOSX/texshop.dmg.
Voir http://www.uoregon.edu/~koch/texshop/texshop.html.
Inclus dans TEX Live sous ./MacOSX/iTM-*.dmg.
Voir http://itexmac.sourceforge.net.
Une adaptation d’Emacs à Mac OS X, avec AucTeX inclus.
Voir http://www.cs.man.ac.uk/~franconi/mac-emacs.
Si vous choisissez d’utiliser TeXShop ou ITeXMac, il sera nécessaire de donner à ces logiciels les informations concernant le PATH :
Lancer l’application et ouvrir le panneau préférences (menu TeXShop). Sélectionner l’onglet « Moteur » et modifier la première ligne en saisissant votre PATH, par exemple : /usr/local/texlive/2007/bin/powerpc-darwin.
Lancer l’application et ouvrir le panneau préférences (menu ITeXMac). Sélectionner le bouton « Assistant teTeX », puis l’onglet « TeX » et cliquer sur le bouton radio « Autre ». Saisir alors votre PATH, par exemple : /usr/local/texlive/2007/bin/powerpc-darwin.
La distribution TEX Live inclut un installeur pour Windows qui s’appelle tlpmgui.
Note du traducteur : à titre personnel, je ne recommande pas l’installation sous Windows à partir de tlpmgui, sauf aux utilisateurs qui connaissent bien TEX Live sous Unix et veulent avoir sous Windows une distribution aussi proche que possible de celle-ci.
Une autre piste, non basée sur la distribution TEX Live, me semble nettement plus adaptée : il s’agit installer la distribution ProTEXt à partir du DVD live ou du CD spécifique, elle est basée sur MiKTEX distribution très appréciée sous Windows ;
Si vous décidez d’opter pour ProTEXt la suite de toute cette section ainsi que la suivante (Maintenance sous Windows) ne vous concernent pas.
tlpmgui propose essentiellement les mêmes options que le script install-tl.sh sous Unix mais dans une interface graphique : sélection des schémas, choix des collections, etc., se reporter à la section 3.2 p. 17. 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, tlpmgui offre la possibilité d’utiliser TEX Live depuis le DVD live (sans l’installer sur le disque dur).
Pour les connaisseurs, tlpmgui repose sur le programme tlpm accessible en ligne de commande Windows.
Les binaires pour Windows sont empruntés à la distribution W32TEX, fournie par Akira Kakuto. Certains outils de l’ancienne distribution fpTEX de Fabrice Popineau ont été conservés, le nouveau visualiseur dviout de Toshio Oshima a remplacé celui de Fabrice (Windvi).
TEX Live peut être installé sur les systèmes Windows 9x, ME, NT, 2K or XP. Il ne fonctionne pas avec les versions plus anciennes Windows (3.1x) et MS-DOS.
Attention : Les utilisateurs de Windows 9x doit vérifier qu’il disposent d’assez d’espace pour les variables d’environnement. Le programme tlpmgui.exe crée un certain nombre de variables d’environnement, si l’espace manque ajouter SHELL=<path>COMMAND.COM /E :4096 /P dans le fichier config.sys.
Le programme tlpmgui devrait démarrer automatiquement dès l’insertion du CD inst dans le lecteur de CD. Si ce n’est pas le cas, cliquer sur Start!Run puis taper <lecteur␣cdrom>:\setuptl\tplmgui.exe — resp. <lecteur␣cdrom>:\texlive\setuptl\tplmgui.exe si vous installez à partir du DVD live — où <lecteur␣cdrom> désigne la lettre correspondant au lecteur de CD ; cliquer ensuite sur OK.
La fenêtre intitulée TeX Live installation and maintenance utility devrait s’ouvrir. Elle propose les options suivantes : Main customization, Install, Select a scheme, Select systems, Directories et Options.
Dans la section Directories, le nom du lecteur de CD/DVD (par exemple F :/) devrait apparaître à côté du bouton CD/DVD. S’il n’est pas affiché utiliser ce bouton pour sélectionner le lecteur de CD/DVD contenant TEX Live.
Il est possible de choisir le répertoire devant contenir la distribution TEX Live en cliquant sur le bouton TLroot(la variable TLroot contiendra le nom de ce répertoire).
La section 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 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 collections). Ceci se fait en utilisant les boutons Standard collections et Language collections (choix des langues utilisables) dans Main customization.
La collection Wintools est sélectionnée par défaut car elle contient beaucoup de petits utilitaires non fournis avec Windows, comme des convertisseurs tels que sam2p, jpeg2ps, tiff2png, des prgramme de compression tels que bzip2, gzip, unzip et wget qui est requis par le nouvel utilitaire getnonfreefonts.
Remarque : Les collections Ghostscript, Perl sont sélectionnées par défaut. Elles doivent être installées... sauf si elles l’ont été par ailleurs. Les variables d’environnement PERL5LIB et GS_LIB doivent aussi être initialisées et le chemin complet des binaires Ghostscript doit être ajouté à la variable PATH.
Finalement, cliquer sur le bouton Install dans la section Install pour lancer le processus d’installation.
Laisser le processus se poursuivre jusqu’à l’affichage du message annonçant que l’installation a réussi (un certain nombre d’étapes sont nécessaires, comme la création des formats, la mise à jour des bases de données, etc. ce qui peut prendre un certain temps).
Un raccourci pour tlpmgui (et pour dviout s’il est installé), sera ajouté dans le menu Start!Programs!TeXLive2007.
Si nécessaire (Windows 9x/WinME), il vous sera demandé de redémarrer l’ordinateur.
Pour être complète, une installation TEX Live 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 PostScript 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 TEX Live :
Perl et Ghostscript sont installés par défaut ; vous pouvez empêcher leur installation en les déselectionant explicitement lors de l’installation si vous les avez déjà.
Si vous préférez ne pas installer les outils inclus dans TEX Live, vous êtes libre d’installer les outils nécessaires pour compléter votre système TEX Live ; voici une liste des adresses où les obtenir :
Il est aussi possible d’installer d’autres outils qui ne sont pas libres 3 comme GSView, le programme compagnon de GhostScript pour afficher plus facilement les fichiers PS/PDF. GSView est disponible à l’url http://www.cs.wisc.edu/~ghost/gsview/ ou sur tout site CTAN.
Une fois la distribution TEX Live installée, vous pouvez vous servir du programme tlpmgui pour modifier ou compléter votre installation.
Le raccourci tlpmgui du menu Start!Programs!TeXLive2007 permet de lancer le programme et affiche la fenêtre TeX Live installation and maintenance utility. Les sections à utiliser sont Add Packages (ajout de composants), Remove packages (suppression de composants), Manage installation (maintenace), Remove installation (suppression totale de TEX Live).
Cliquer sur Add packages ou Remove packages, puis
Lors de l’ajout de composants, la liste des composants installés est comparée à la liste des composants disponibles sur le 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.
La section Manage the installation permet d’effectuer les opérations courantes de configuration et de maintenance.
Voici la liste des actions possibles :
Il faut sortir de la fenêtre d’édition en cliquant sur le bouton Done pour que les mises à jour des formats, fichiers .map, base ls-R soient effectuées.
Les autres possibilités de configuration sont décrites à la section 7.8, p. 42.
L’option Remove the TeX Live installation permet de supprimer toute la distribution TEX Live.
Attention, ce que vous avez éventuellement installé dans le répertoire texmf-local ne sera pas supprimé ; le répertoire setuptl contenant tlpmgui doit être également nettoyé à la main si nécessaire.
Tout d’abord, quelles que soient les modifications faites, 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 tlpmgui, option Manage the installation, soit lancer manuellement la commande mktexlsr.
Si vous choisissez d’ajouter des fichiers qui ne proviennent pas de la distribution TEX Live (ou fpTEX), il est fortement recommandé de les mettre dans le répertoire $TEXMFLOCAL. De cette manière, vous serez certain qu’il n’y aura pas de problème lors d’une mise à jour de TEX Live.
L’arborescence pointée par $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 C:\TeXLive2007\texmf-local\tex\latex\maple et les fichiers de documentation dans C:\TeXLive2007\texmf-local\doc\latex\maple
Le programme tlpm.exe utilisé par tlpmgui possède de nombreuses options utiles dont la liste est donnée par
Consulter le fichier tlpm.readme pour plus de renseignements et des exemples.
Kpathsea 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 bin/win32, sont compatibles et partageables avec teTEX ou le TEX Live 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 :
La version Windows de Web2C possède quelques spécificités qui méritent d’être notées.
La commande 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 « en utilisation », 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 ls-R, comme la commande 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 Kpathsea ne permet pas de faire facilement cette réinitialisation.
Enfin, la même commande kpsecheck peut indiquer l’endroit où Kpathsea 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 gswin32c.exe et de modifier le PATH qui a une longueur limitée.
Le fichier de configuration de dvips se trouve par défaut en C:\TeXLive2007\texmf-var\dvips\config\config.ps. Il peut être ouvert avec n’importe quel éditeur de texte pour modifier certains paramètres :
La distribution TEX Live actuelle intègre un programme « updmap » facilitant la mise à jour des fichiers psfonts.map pour Dvips et pdftex.map pour PdfTeX. updmap est lancé automatiquement durant l’installation. Si vous ajoutez de nouvelles fontes à la main, éditez le fichier updmap.cfg dans $TEXMFVAR/web2c. et relancez updmap.
Si le programme pdflatex est utilisé pour écrire directement en format PDF et qu’on utilise du papier au format US letter-size, éditer le fichier C:\TeXLive2007\texmf-var\tex\generic\config\pdftexconfig.tex et modifier « \page_width » et « \page_height ». Ces entrées doivent être :
Sauvegarder le fichier et sortir de l’éditeur.
XeTEX pour Windows est lié statiquement à la bibliothèque fontconfig 2.4.2. Le fichier de configuration pour les fontes s’appelle fonts.conf. Ce fichier se trouve dans le répertoire indiqué par la commande kpsewhich –var-value=FONTCONFIG_PATH.
GSView est maintenant distribué sous licence Aladdin et n’est donc plus inclus dans TEX Live.
Si vous voulez changer le format du papier, ouvrez GSView à partir du menu Démarrer et sélectionnez Media!Letter. Le sous menu Display Settings vous permet également d’améliorer la netteté du rendu en positionnant les deux valeurs Text Alpha et Graphics Alpha à 4 bits.
Pour ce qui est de l’impression, consulter la sous-section 7.10.
Les fichiers .ps et .eps seront automatiquement ouverts par GSView.
Pour des procédures génériques de vérification, voir section 4.2, page 31. Cette section décrit les tests spécifiques à Windows.
Vous pouvez tester l’installation en ouvrant le fichier sample2e.tex dans votre éditeur (XEmacs, WinShell) qui se trouve dans C:\TeXLive2007\texmf-dist\tex\latex\base. Le source LATEX doit apparaître à l’écran. Compilez-le en cliquant sur le menu (XEmacs) Command!LaTeX ou sur l’icône LATEX (WinShell) dans la barre d’outils, ensuite affichez-le en cliquant sur le menu (XEmacs) Command!View DVI ou sur l’icône Preview (dviout).
La première fois que vous afficherez un document avec dviout, il va créer les fichiers de fontes bitmaps qui ne sont pas installées. Après avoir visualisé quelques fichiers, vous aurez créé la plupart de ces fichiers et vous ne verrez plus souvent apparaître la fenêtre de création de fontes.
En cas de problèmes, reportez-vous à la sous-section 7.12.
Il est possible d’imprimer depuis dviout. Dans ce cas, l’impression utilise le pilote unifié d’impression de Windows, il est donc par définition compatible avec toutes les imprimantes. Cependant, il y a un inconvénient : cette impression génère des fichiers (spool) très importants, quelques versions anciennes de Windows le supportent mal. L’avantage est que vous pouvez tirer parti de l’impression d’images BMP ou WMF par exemple. Il faut également faire bien attention à ce que les paramètres de l’imprimante soient correctement définis sous peine d’avoir un effet d’échelle (imprimer à 600 dpi sur une imprimante qui fait réellement 300 dpi aboutit à n’avoir qu’un seul quart de la page visible).
L’impression est souvent plus rapide en utilisant dvips, puis en imprimant le fichier .ps depuis GSView. Pour imprimer depuis GSView, sélectionner Print. . . dans le menu File. Une fenêtre de dialogue pour l’impression apparaît.
Si vous utilisez une imprimante PostScript, soyez sûr de sélectionner PostScript Printer en choisissant cette option dans 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 Ghostscript Device dans Print Method. Ensuite cliquez sur le bouton djet500 et sélectionnez votre imprimante.
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 :
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 GDI (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.
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 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 7.12.
L’API Win32 admet les deux caractères / et \ 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 \ comme unique séparateur. Ce qui explique que vous pouvez taper :
mais pas :
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 / en guise de séparateurs, à la mode Unix ; Windows-TEX Live est un portage de Web2C, 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.
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 TEX Live sur un disque dur formaté en FAT. Les fichiers se voient allouer chacun 32 ko au minimum, donc l’installation de TEX Live 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.
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 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, ME ou NT/2K/XP.
Les modifications ne prendront effet qu’après redémarrage de la machine.
S’il y a déjà un PATH défini pour votre compte utilisateur, cliquez dessus. Dans le champ Variable apparaît PATH et dans le champ 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. C:\TeXLive2007\bin\win32). Si la variable PATH n’est pas encore définie, il suffit de taper son nom dans le champ Variable et la valeur initiale que vous souhaitez lui donner dans le champ Valeur. Important : cliquez sur le bouton Appliquer avant de cliquer sur Ok, de cette façon, les modifications seront propagées immédiatement à la session courante. Soyez prudent quand vous modifiez les variables d’environnement.
Le meilleur moyen de savoir si une variable a été correctement définie consiste à ouvrir une console et à taper
la valeur correspondante doit alors être affichée..
En lisant la documentation de Web2C, on voit que les différents programmes dérivés de TEX utilisent le même moteur de base. Par exemple, tex.exe et 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 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 (Dynamic Linked Library). Ceci se traduit par l’aspect suivant pour les fichiers :
Il existe même un outil générique appelé irun.exe qui permet de simuler les liens durs de Unix sous Win32, mais uniquement pour les fichiers .exe.
Vous pouvez également définir un niveau de trace :
La trace de l’exécution des commandes suivantes sera conservée dans le fichier 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 :
De cette manière, vous pourrez rediriger à la fois stdout et stderr dans le même fichier.
kpsewhich -expand-path $SELFAUTOPARENT | C :/TeX |
kpsewhich -expand-path $TEXMF | C :/TeX/texmf.... |
kpsewhich -expand-path $TEXMFCNF | . ;C :/TeX/texmf-var/web2c ; |
kpsewhich -expand-var $TEXINPUTS | . ;C :/TeX/texmf/tex// |
kpsewhich cmr10.tfm | C :/TeX/texmf-dist/fonts/tfm/public/cm/cmr10.tfm |
kpsewhich latex.fmt | C :/TeX/texmf-var/web2c/latex.fmt |
Il faut se poser plusieurs questions :
Le logiciel TEX Live 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 1.2, p. 6).
Web2Cest une collection intégrée de programmes relatifs à TEX, c.-à-d. TEX lui-même, Metafont, MetaPost, BibTeX, etc. C’est le cœur de TEX Live.
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 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 Web2C fonctionne sur Unix, les systèmes Windows 32 bits, Mac OS X 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 :
La syntaxe et les fonctions précises de ces programmes sont décrites dans la documentation des composants individuels et dans le manuel Web2C 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 Web2C.
Presque tous ces programmes suivent les options standard de GNU :
Pour localiser les fichiers, les programmes Web2C utilisent la bibliothèque de recherche Kpathsea. Cette bibliothèque utilise une combinaison de variables d’environnement et un certain nombre de fichiers de paramètres pour optimiser la recherche dans l’énorme arborescence TEX. Web2C 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 ls-R contenant une entrée donnant le nom et le chemin de chaque fichier situé sous la racine.
Décrivons en premier lieu le mécanisme de recherche de la bibliothèque Kpathsea.
Nous appelons chemin de recherche une liste, séparée par « deux-points » ou « point-virgule », d’éléments, appelés éléments de chemin, qui sont des noms de répertoires. Un chemin de recherche peut provenir de plusieurs sources. Pour rechercher un fichier « my-file » le long d’un chemin « . :/dir », Kpathsea vérifie chaque élément du chemin : d’abord ./my-file, puis /dir/my-file, et renvoie la première occurrence (voire toutes).
Afin d’optimiser l’adaptation à tous les systèmes d’exploitation, Kpathsea peut utiliser dans les noms de fichiers des séparateurs différents de deux-points (« : ») et barre oblique (« / ») pour les systèmes non-Unix.
Pour vérifier un élément de chemin particulier p, Kpathsea vérifie d’abord si une base de données existante (voir page 64) contient p, c.-à-d. si la base de données se trouve dans un répertoire qui est un préfixe de 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 « ! ! » et si le fichier cherché est censé exister). Kpathsea construit la liste de répertoires qui correspondent à cet élément de chemin, puis cherche le fichier dans chaque élément de cette liste.
La condition « le fichier est censé exister » est liée aux fichiers « .vf » et aux fichiers d’entrée lus par la commande TEX \openin. De tels fichiers peuvent ne pas exister (par exemple cmr10.vf), il est donc inutile de les rechercher sur le disque. De plus, si vous n’actualisez pas le fichier ls-R lors de l’installation d’un nouveau fichier « .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, Kpathsea 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 Kpathsea étend un élément, c’est-à-dire que Kpathsea 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 « / », « ./ » ou « ../ », Kpathsea ne vérifie que l’existence de ce fichier.
Un chemin de recherche peut provenir de plusieurs sources. Voici l’ordre dans lequel Kpathsea les utilise.
On peut voir chacune de ces valeurs pour un chemin de recherche donné en utilisant l’option de débogage (voir page 69).
Kpathsea lit dans les fichiers de configuration à l’exécution appelés 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 TEXMFCNF (par défaut ces fichiers se trouvent dans le sous-répertoire texmf/web2c). Tous les fichiers 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 .:$TEXMF, les définitions du fichier ./texmf.cnf écrasent celles de $TEXMF/texmf.cnf.
Voici un fichier de configuration illustrant les points précédents
Kpathsea reconnaît certains caractères et constructions spéciales dans les chemins de recherche, semblables à ceux disponibles dans les shells Unix. Ainsi, le chemin complexe, ~$USER/{foo,bar}//baz étend la recherche vers tous les sous-répertoires situés sous les répertoires foo et bar dans le répertoire utilisateur $USER contenant un répertoire ou un fichier appelé baz. Ces expansions sont explicitées dans les sections suivantes.
Si le chemin de recherche le plus prioritaire (voir section 8.1.1) contient un « : » supplémentaire (c.-à-d. en début ou fin de ligne ou double), Kpathsea 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 « : » 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
Comme il est inutile d’insérer la valeur par défaut en plusieurs endroits, Kpathsea applique la substitution à seulement un « : » supplémentaire et laisse les autres inchangés : il cherche d’abord un « : » en début de ligne, puis en fin de ligne et enfin un double « : ».
Option utile, l’expansion par le biais des accolades signifie, par exemple, que v{a,b}w va permettre la recherche dans 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 à $TEXMF. Par exemple, dans texmf.cnf, on trouve une définition du type suivant (il y a en fait plus de répertoires) :
Avec ceci, on peut écrire quelque chose comme
ce qui signifie que, après avoir cherché dans le répertoire courant, les arborescences complètes $TEXMFHOME/tex suivie de $TEXMFLOCAL/tex (sur le disque) et ensuite les arborescences ! !$TEXMFVAR/tex et ! !$TEXMFMAIN/tex (définies dans le fichier de référence ls-R seulement) seront inspectées. C’est un moyen pratique permettant d’utiliser en parallèle deux distributions TEX, une « gelée » (sur un CD, par exemple) et une autre régulièrement mise à jour avec de nouvelles versions quand elles deviennent disponibles. En utilisant la variable $TEXMF dans toutes les définitions, on est toujours sûr d’inspecter d’abord l’arborescence la plus récente.
Deux barres « // » ou plus consécutives dans une partie d’un chemin suivant un répertoire d sont remplacées par tous les sous-répertoires de d : d’abord les sous-répertoires directement présents dans 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 non-déterminé.
Dans le cas où l’on spécifie une partie de nom de fichier après le « // », seuls sont inclus les sous-répertoires auxquels le nom correspond. Par exemple, « /a//b » va correspondre aux répertoires /a/1/b, /a/2/b, /a/1/1/b, et ainsi de suite, mais pas à /a/b/c ni /a/1.
Des « // » multiples et successifs dans un chemin sont possibles, mais « // » au début d’un chemin est ignoré.
La liste suivante récapitule la signification des caractères spéciaux dans les fichiers de configuration de Kpathsea.
Séparateur dans un chemin de recherche ; au début ou à la fin d’un chemin, il remplace le chemin par défaut.
Séparateur dans les systèmes non-Unix (joue le rôle de :).
Substitue le contenu d’une variable.
Représente le répertoire racine de l’utilisateur.
Expansion par les accolades, par exemple a{1,2}b devient a1b:a2b.
La recherche concernera aussi les sous-répertoires (peut être inséré n’importe où dans un chemin sauf au début).
Début d’un commentaire.
Caractère de continuation de ligne (permet les entrées sur plusieurs lignes).
Cherche seulement dans la base de données pour localiser le fichier et ne cherche pas sur le disque.
Kpathsea 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, Kpathsea peut utiliser un fichier texte appelé 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é aliases (qui est également une base de données) permet de donner des noms différents aux fichiers listés dans ls-R. Ceci peut aider à adapter ses fichiers source aux conventions de DOS 8.3 pour les noms de fichiers.
Comme nous l’avons expliqué ci-dessus, le nom du principal fichier-base de données doit être ls-R. Dans votre installation, vous pouvez en mettre un à la racine de chaque arborescence TEX que vous désirez voir inspecter ($TEXMF par défaut) ; la plupart des sites ont une seule arborescence TEX. Kpathsea cherche les fichiers ls-R dans le chemin spécifié dans la variable TEXMFDBS.
La meilleure façon de créer et mettre à jour le fichier ls-R est d’exécuter le script mktexlsr inclus dans la distribution. Il est appelé par les divers scripts mktex... En principe, ce script exécute uniquement la commande
Si un fichier n’est pas trouvé dans la base de données, par défaut Kpathsea décide de le chercher sur le disque. Par contre, si un élément du chemin commence par « ! ! », seule la base de données sera inspectée pour cet élément, jamais le disque.
Le programme kpsewhich effectue une recherche dans une arborescence indépendamment de toute application. On peut le considérer comme une sorte de find pour localiser des fichiers dans les arborescences TEX (ceci est largement utilisé dans les scripts mktex... de la distribution).
Kpathsea 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 find d’Unix pour cela).
Les options les plus importantes sont décrites ci-après.
Définit la résolution à num ; ceci affecte seulement la recherche des fichiers « gf » et « pk ».
« -D » est un synonyme pour assurer la compatibilité avec dvips. Le défaut est 600.
Définit le format pour la recherche à 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 MetaPost et les fichiers de configuration dvips, vous devez spécifier le nom connu
de Kpathsea, comme tex ou enc files. Exécutez la commande kpsewhich --help pour
obtenir la liste précise.
Définit le nom du mode comme étant string ; ceci affecte seulement la recherche des « gf »
et des « pk ». Pas d’option par défaut, n’importe quel mode sera trouvé.
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 ls-R est inspectée, dans un souci d’efficacité.
Recherche dans le chemin string (séparé par deux-points comme d’habitude), au lieu de
prendre le chemin à partir du nom de fichier. « // » et toutes les expansions habituelles sont
supportées. Les options « --path » et « --format » s’excluent mutuellement.
Définit le nom de programme comme étant name. Ceci peut affecter les chemins de recherche
via l’option .progname dans les fichiers de configuration. Le défaut est kpsewhich.
Montre le chemin utilisé pour la recherche des fichiers de type name. On peut utiliser soit une
extension de fichier (.pk, .vf, etc.), soit un nom de fichier, comme avec l’option « --format ».
Définit les options de débogage comme étant num.
Jetons un coup d’œil à Kpathsea en action ; voici une recherche toute simple :
Le dernier exemple est une base de données bibliographiques pour BibTeX servant aux articles de TUGBoat.
Intéressons-nous à présent aux fichiers d’en-tête et de configuration pour dvips. Regardons en premier le fichier tex.pro communément utilisé pour le support de TEX avant de regarder le fichier de configuration générique (config.ps) et la liste des fontes PostScript psfonts.map. Depuis l’édition 2004, les fichiers .map et les fichiers de codage ont changé de place dans l’arborescence texmf. Comme le suffixe .ps est ambigu, nous devons spécifier quel type particulier du fichier config.ps nous considérons (dvips config).
Regardons plus en détail les fichiers de support Times PostScript d’URW. Leur nom standard dans le schéma de nommage des fontes est « utm ». Le premier fichier que nous voyons est le fichier de configuration, qui contient le nom du fichier de la liste :
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 kpsewhich va vous montrer le premier fichier trouvé.
Il est quelquefois nécessaire de savoir comment un programme référence les fichiers. Pour permettre cela, Kpathsea offre plusieurs niveaux de débogage :
Appels à stat (test d’existence de fichier). Lors d’une exécution utilisant une base de données ls-R à jour, ce niveau ne devrait donner presque aucune information en sortie.
Références aux différentes tables (comme la base de données ls-R, les fichiers de correspondance de fontes, les fichiers de configuration).
Opérations d’ouverture et de fermeture des fichiers.
Information globale sur la localisation des types de fichiers recherchés par Kpathsea. Ceci est utile pour trouver où a été défini le chemin particulier pour un fichier.
Liste des répertoires pour chaque élément du chemin (utilisé uniquement en cas de recherche sur le disque).
Recherche de fichiers.
Une valeur de -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 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 Kpathsea en interne, on peut sélectionner une option de débogage en utilisant la variable d’environnement 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 KPATHSEA_DEBUG_OUTPUT=err.log pour capturer le flux standard d’erreur dans le fichier err.log.
Considérons comme exemple un petit fichier source LATEX, hello-world.tex, dont le contenu est le suivant.
Ce petit fichier utilise simplement la fonte cmr10, aussi allons voir comment dvips prépare le fichier PostScript (nous voulons utiliser la version type 1 des fontes Computer Modern, d’où l’option -Pcms).
debug:start search(file=texmf.cnf, must_exist=1, find_all=1,
path=.:/usr/local/bin/texlive:/usr/local/bin: /usr/local/bin/texmf/web2c:/usr/local: /usr/local/texmf/web2c:/.:/./teTeX/TeX/texmf/web2c:). kdebug:start search(file=ls-R, must_exist=1, find_all=1, path=~/tex:/usr/local/texmf). kdebug:search(ls-R) =>/usr/local/texmf/ls-R kdebug:start search(file=aliases, must_exist=1, find_all=1, path=~/tex:/usr/local/texmf). kdebug:search(aliases) => /usr/local/texmf/aliases kdebug:start search(file=config.ps, must_exist=0, find_all=0, path=.:~/tex:!!/usr/local/texmf/dvips//). kdebug:search(config.ps) => /usr/local/texmf/dvips/config/config.ps kdebug:start search(file=/root/.dvipsrc, must_exist=0, find_all=0, path=.:~/tex:!!/usr/local/texmf/dvips//). search(file=/home/goossens/.dvipsrc, must_exist=1, find_all=0, path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//). kdebug:search($HOME/.dvipsrc) => kdebug:start search(file=config.cms, must_exist=0, find_all=0, path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//). kdebug:search(config.cms) =>/usr/local/texmf/dvips/cms/config.cms
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
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]
|
dvips commence par localiser ses fichiers de fonctionnement. D’abord, 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 ls-R (pour optimiser la recherche des fichiers) et le fichier aliases, qui permet de déclarer plusieurs noms (p. ex., un nom DOS de type 8.3 court et une version longue plus naturelle) pour le même fichier. Ensuite dvips continue en cherchant le fichier de configuration générique config.ps avant de rechercher le fichier de paramétrisation .dvipsrc (qui, dans notre cas, n’est pas trouvé). Enfin, dvips localise le fichier de configuration pour les fontes PostScript Computer Modern config.cms (ceci est lancé par l’option -Pcms de la commande dvips). Ce fichier contient la liste des fichiers qui définissent la relation entre les noms des fontes selon TEX, selon PostScript et dans le système de fichiers.
Arrivé là, dvips s’identifie à l’utilisateur :
pour continuer ensuite en cherchant le fichier prologue texc.pro,
Après avoir trouvé ce fichier, dvips affiche la date et l’heure, et nous informe qu’il va générer le fichier hello-world.ps, puis qu’il a besoin du fichier de fonte cmr10, et que ce dernier est déclaré comme « résident » (pas besoin de bitmaps) :
Web2C 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 texmf.cnf qui est lu par Kpathsea. Les paramètres en question se trouvent dans la troisième partie du fichier inclus dans la distribution TEX Live. Les variables les plus importantes sont :
Nombre total de mots mémoire disponibles pour TEX, Metafont et MetaPost. 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 hugetex.fmt. En utilisant la méthode supportée par Kpathsea qui consiste à suffixer la variable par le nom du programme, la valeur particulière de la variable main_memory destinée à ce fichier de format sera lue dans le fichier texmf.cnf.
Espace supplémentaire pour certaines structures de données de TEX : boîtes, glue, points d’arrêt... Surtout utile si vous utilisez PI CTEX par exemple.
Nombre de mots mémoire disponibles pour décrire les polices. C’est plus ou moins l’espace occupé par les fichiers TFM lus.
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 hash_extra est 50000.
É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.
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 source qui se trouve sur le DVD live.
Il faut au moins 400 Mo d’espace sur disque pour compiler la totalité de TEX et des programmes associés. Vous aurez aussi besoin d’un compilateur C ANSI, de l’utilitaire make, d’un générateur d’analyseur lexical et d’un générateur d’analyseur syntaxique. Nous recommandons les versions GNU des programmes suivants (gcc, GNUmake, m4, flex, bison). Vous pouvez utiliser d’autres compilateurs C et d’autres programmes make si vous maîtrisez correctement la programmation sous Unix pour résoudre les problèmes éventuels. La commande uname doit renvoyer une valeur raisonnable.
Tout d’abord, effectuez l’installation normale de TEX Live sur le disque dur (voir section 3.2, p. 17). Vous pouvez sauter l’installation de tous les binaires précompilés. Décompactez ensuite sur le disque le fichier source.tar.bz2 (archive compressée) trouvé dans le répertoire source et placez-vous dans le répertoire où vous avez transféré l’ensemble.
Lancez maintenant configure de la façon suivante :
Le répertoire -prefix est le répertoire de base de l’arborescence TEX Live, il est désigné par TEXDIR dans la suite.
Si vous ne voulez pas créer de répertoire $archname spécifique au système choisi pour stocker les
exécutables (c.-à-d. les copier directement dans $TEXDIR/bin), il faut exécuter configure avec
l’option
--disable-multiplatform.
Tapez ./configure --help, le programme affichera les options supplémentaires disponibles (telles que supprimer l’installation des extensions optionnelles comme Omega ou e-TEX).
S’assurer que la variable ou l’option noclobber n’est pas définie. et lancer le make à la racine de l’arborescence de la façon suivante :
Il peut être utile de garder une trace complète dans un fichier log en tapant :
Si vous avez besoin de droits spéciaux pour exécuter make install, vous pouvez séparer « make world » en deux processus différents :
Après avoir installé vos nouveaux binaires, il faut suivre les procédures normales de la post-installation, indiquées dans la section 4, p. 29.
TEX Live est le résultat des efforts collectifs de pratiquement tous les groupes d’utilisateurs de TEX. La présente édition de TEX Live a été coordonnée par Sebastian Rahtz et Karl Berry. Voici la liste des principaux contributeurs :
Les binaires ont été compilés par : Hartmut Henkel (x86_64-linux), Akira Kakuto et Fabrice Popineau (win32), Manfred Lotz (i386-freebsd), Norbert Preining (alpha-linux), Vladimir Volovich (powerpc-aix, sparc-linux et sparc-solaris), Karl Berry (i386-linux), Olaf Weber (mips-irix), Gerben Wierda (i386-darwin, powerpc-darwin).
Documentation et mises à jour des traductions : Karl Berry (anglais), Günter Partosch, Hartmut Henkel & Klaus Höppner (allemand), Daniel Flipo (français), Petr Sojka & Janka Chlebíková (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.
La discussion commença à la fin de 1993 quand le Groupe des Utilisateurs Néerlandais de TEX commençait à travailler à son CD 4AllTEX pour les utilisateurs de 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 4AllTEX, projet couronné de succès, mais aussi d’un groupe de travail « TUG Technical Council » pour mettre en place TDS (TEX Directory Structure : 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 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 4AllTEX démontrait que les utilisateurs d’Unix trouveraient leur bonheur avec une distribution aussi simple, et ceci a été l’autre objectif de TEX Live.
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 Web2C, 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 Web2C, en y ajoutant le script texconfig de teTEX. La troisième édition du CD était basée sur une version majeure de Web2C, 7.2, par Olaf Weber ; en même temps, une nouvelle version révisée de teTEX était achevée dont TEX Live 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 Web2C (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 TEX Live devait être compatible avec la licence Debian (Debian Free Software Guidelines : 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 language.dat adéquat.
La septième édition (mai 2002) a comme ajout majeur une installation pour Mac OS X 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.
En 2003, le flot de mises à jour et d’additions a continué, mais nous avons constaté que TEX Live é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 2.1, p. 8). Par ailleurs :
2004 a apporté beaucoup de changements (et quelques incompatibilités avec les versions précédentes) :
Les fichiers .map sont désormais recherchés uniquement dans les sous-répertoires fonts/map (dans chaque arborescence texmf), leur chemin de recherche est donné par la variable TEXFONTMAPS de texmf.cnf. De même, les fichiers .enc sont désormais recherchés uniquement dans les sous-répertoires fonts/enc, leur chemin de recherche est donné par la variable ENCFONTS de texmf.cnf. Le script updmap devrait émettre des messages d’avertissement pour les fichiers .map et .enc mal placés.
Sur les différentes façons de traiter le problème, consulter http://tug.org/texlive/mapenc.html.
Ceci rend indispensable le recours à l’extension ifpdf (qui fonctionne aussi bien avec plain que LATEX) pour déterminer si le format de sortie est DVI ou PDF. Tester si la commande \pdfoutput est définie ou non n’est pas un moyen fiable de le faire.
Consulter le manuel Web2C pour plus d’informations : texmf/doc/web2c.
Sur sparc-solaris (au moins) il sera probablement nécessaire de positionner la variable d’environnement LD_LIBRARY_PATH pour utiliser les programmes de la famille 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 mips-irix, les bibliothèques dynamiques MIPSpro 7.4 sont nécessaires.
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 :
En 2006–2007, la nouveauté majeure a été l’arrivée dans TEX Live de XeTEX disponible sous forme de deux programmes xetex et xelatex, voir http://scripts.sil.org/xetex.
MetaPost a subi une mise à jour importante et d’autres améliorations sont prévues, voir http://tug.org/metapost/articles. Il en va de même pour pdfTEX, voir http://tug.org/applications/pdftex.
Le format tex.fmt et les formats pour MetaPost and Metafont ne se trouvent plus dans texmf/web2c mais dans des sous-répertoires de texmf/web2c (la recherche de fichiers .fmt est néanmoins faite aussi dans texmf/web2c). Ces sous-répertoires portent le nom du moteur utilisé pour construire le format, par exemple tex, pdftex ou xetex. Ce changement ne devrait pas avoir d’effet visible pour les utilisateurs.
Le programme (plain) tex ignore désormais les lignes commençant par %& qui permettent de déterminer le format à utiliser ; c’est un vrai TEX « à la Knuth » ! LATEX et tous les autres prennent toujours en compte les lignes commençant par %&.
Les scripts d’installation peuvent maintenant être utilisés de manière non interactive (voir section 3.2.1) en positionnant des variables d’environnement.
Comme chaque année des centaines d’extensions et de programmes ont été mis à jour, voir les sites CTAN (http://www.ctan.org).
L’arborescence utilisée en interne a été réorganisée avec de nouveaux outils qui devraient fournir une meilleure base de travail pour les développements futurs.
Enfin, en mai 2006 Thomas Esser a annoncé qu’il renonçait à poursuivre le développement de teTEX (http://tug.org/tetex). Sa décision a relancé l’intérêt pour TEX Live, en particulier chez les distributeurs de solutions GNU/Linux (un nouveau schéma d’installation tetex a été ajouté dans le script d’installation de TEX Live pour produire une distribution proche de l’ancienne teTEX). La distribution TEX Live existe déjà sous forme de paquets Debian, espérons que les autres acteurs du monde Linux (RedHat, SuSe, etc.) suivront et que les utilisateurs se verront proposer à l’avenir des distributions TEX riches et plus faciles à installer.
TEX Live n’est pas un produit parfait ! (et ne le sera jamais). Nous prévoyons de continuer à produire de nouvelles versions, et aimerions fournir plus d’aide, de fonctionnalités, de programmes d’installation, et (bien sûr) une arborescence améliorée et vérifiée de macros et de fontes. Ce travail est effectué par des volontaires débordés, dans la limite de leur temps libre, et beaucoup reste à faire. Si vous pouvez nous aider, n’hésitez pas à vous proposer !
Corrections, suggestions et propositions d’aide doivent être envoyées à :
Bon travail avec TEX !
1.Pour les utilisateurs qui possèdent un fichier $HOME/.bash_profile, c’est dans ce dernier qu’il faut redéfinir la variable PATH, car pour eux, $HOME/.profile est sans effet.
2.Cet exemple suppose qu’on a fait l’installation dans /usr/local/texlive/2007 et que processeur est un Motorola, sinon il faut adapter PATH en conséquence (changer powerpc-darwin en i386-darwin pour les Mac à base de processeur Intel).
3.Pas libres en fait dans le sens de la liberté de les modifier et les redistribuer, selon les Debian’s guidelines. Cela ne signifie pas qu’on ne peut pas les acquérir gratuitement.
4.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 !
5.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 à Kpathsea-Win32 fonctionne sur toutes les consoles.