Options de configuration pour L^{A}TEX 2ε^{∗}

\begin{matrix}c \\ ◯ \end{matrix} Copyright 1998, L^{A}TEX3 Project Team^{†}.

Tous droits réservés.

17 octobre 1998

Table des matières

Configurer L^{A}TEX 2

Configuration du système 2 texsys.cfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

Configurer le format L^{A}TEX 2 Configuration des fontes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 fonttext.cfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 fontmath.cfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 preload.cfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Configuration des césures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 hyphen.cfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Configurer le fichier de définition de fontes 5

Configurer le mode compatibilité 5 latex209.cfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Fichiers de configuration pour les classes et packages standard 6 sfonts.cfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 ltnews.cfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 ltxdoc.cfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 ltxguide.cfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Configuration pour d’autres packages maintenus 7 graphics.cfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 color.cfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Versions non-standard 7 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

∗Titre original : « Configuration options for L^{A}TEX 2ε » †traduit par S. Le Callonnec <sebastien.le-callonnec@eleve.emn.fr> le 9 mars 2000

Configurer L^{A}TEX

Parce que l’un des principaux buts du nouveau standard L^{A}TEX est de donner à tous les utilisateurs la liberté fournie par un système de traitement de document liée à un format hautement portable, le nombre de possibilités de configuration est strictement limité. Les raisons en sont expliquées dans l’article Modifying L^{A}TEX du fichier modguide.tex. Une conséquence importante en est que n’importe quel document qui dépend d’un package quelconque doit le déclarer à l’intérieur du fichier du document ; ceci permet d’assurer que le document pourra être compilé sur un site différent, où le système L^{A}TEX peut être configuré différemment.

Les options locales de configuration sont, par convention, placées dans des « fichiers de configuration », qui portent l’extension .cfg. Ce document décrit les possibilités de configuration pour cette version de L^{A}TEX ; il explique également comment configurer les fichiers de définition de fonte pour tirer parti des fontes disponibles.

La dernière section expose brièvement comment procéder si vous désirer aller plus avant dans la personnalisation du programme.

Configuration du système

texsys.cfg

Ce fichier est le seul fichier de configuration qui doit être présent. Pendant l’installation, si L^{A}TEX ne peut trouver de fichier portant ce nom, alors un fichier texsys.cfg par défaut, consistant entièrement en commentaires, est produit et utilisé. Notez que, avant que ce fichier ne soit lu, L^{A}TEX n’est pas capable de tester de manière fiable si un fichier donné existe sur le système.

Le contenu du fichier texsys.cfg permet à L^{A}TEX de faire face aux différences entre les comportements respectifs des systèmes TEX, principalement en ce qui concerne la manipulation de fichiers. La version par défaut de ce fichier contient, dans ses commentaires, des paramètres possibles qui peuvent être utilisés pour un certain éventail de systèmes TEX. Pour plus d’information, composez

le fichier ltdirchk.dtx.

Si vous avez copié votre installation L^{A}TEX à partir d’un ordinateur utilisant un système d’exploitation différent, alors il se peut que vous ayez une version de texsys.cfg qui rendra ardue l’installation de L^{A}TEX sur votre système. Si ceci se produit, alors le mieux est de procéder avec un fichier texsys.cfg vide ; ceci produira ainsi une installation qui devrait, au moins, vous permettre de composer la documentation. Cependant, il est possible que L^{A}TEX ne puisse toujours trouver que les fichiers se trouvant dans le répertoire courant ; dans ce cas, il vous faut initialiser correctement la macro \input@path pour votre système.

Configurer le format L^{A}TEX

Il existe quatre fichiers de configuration qui permettent d’incorporer vos préférences dans le fichier de format L^{A}TEX latex.fmt. La panoplie des préférences qui peuvent être configurées grâce à ces fichiers est strictement limitée afin d’assurer la portabilité des documents.

Les quatre fichiers fonctionnent de la même façon : si le fichier ⟨fichier⟩.cfg est trouvé, il sera introduit par iniTEX ; sinon, un fichier ⟨fichier⟩.ltx par défaut sera incorporé à la place. Ainsi, vos paramètres personnels placés dans l’un de ces fichiers .cfg se substituent entièrement aux définitions du fichier .ltx standard correspondant.

Configuration des fontes

Avant même de penser à configurer les déclarations de fontes en produisant un fichier fontmath.cfg ou fonttext.cfg, vous devriez consulter le fichier documenté fontdef.dtx. C’est le fichier source à partir duquel les fichiers par défaut fonttext.ltx et fontmath.ltx sont produits ; il contient des informations concernant le contenu des fichiers par défaut et le genre de personnalisation possible. En particulier, il décrit en détail les effets des personnalisations individuelles sur la portabilité des documents, y compris les modifications qui peuvent être faites sans remettre en cause la possibilité d’échanger des documents avec d’autres sites (même si le formatage diffère), et ce qui devrait rester inchangé, car les modifications rendraient votre système si différent des autres que les documents produits seraient non-portables.

AVERTISSEMENT Veuillez noter que l’utilisation d’un de ces fichiers de configuration de fonte a les conséquences suivantes :

– du fait que le contenu du fichier fontdef.dtx pourrait changer dans l’avenir, quiconque écrivant un fichier de configuration de fonte doit se préparer à devoir le remettre à jour pour l’utiliser avec les futures versions ;

– les documents produits sur votre système sont susceptibles, dans le meilleur des cas, de n’être portables qu’au sens où ils pourront être traités sur un site différent – le formatage réel ne sera pas le même si des fontes différentes sont employées ;

– l’équipe de projet L^{A}TEX3 ne pourra pas vous aider dans le diagnostic de problèmes éventuels si ceux-ci ne peuvent être reproduits avec un format qui n’utilise aucun fichier de configuration.

fonttext.cfg

Le fichier fonttext.cfg peut contenir des déclarations relatives à l’utilisation des fontes en mode texte.

S’il existe, il définit quelles formes, familles et encodages de fonte sont normalement utilisés en mode texte, ainsi que le comportement de commandes de fonte telles que \textbf, etc.

Il pourrait être utilisé, par exemple, pour produire un format L^{A}TEX qui compose par défaut des documents utilisant les fontes Times. Sachez, cependant, qu’une telle personnalisation peut avoir des conséquences malencontreuses ; veuillez donc lire attentivement cette section et le fichier fontdef.dtx si vous avez l’intention de faire ceci.

Veuillez scrupuleusement tenir compte de l’avertissement ci-dessus.

fontmath.cfg

Le fichier fontmath.cfg peut contenir des déclarations relatives à l’utilisation des fontes dans le mode mathématique.

S’il existe, il définit quelles fontes de quelle taille sont utilisées en mode mathématique, et comment elles le sont. Il définit également toutes les commandes du mode mathématique qui sont « susceptibles » de dépendre du choix des fontes mathématiques utilisées (par exemple les commandes qui dépendent de la position d’un glyphe dans la fonte mathématique).

La principale raison de l’existence de ce fichier est d’anticiper la mise en place d’un encodage de fontes mathématiques dans les futures versions. Pour l’heure, nous n’encourageons pas l’utilisation de ce fichier de configuration pour des applications autres que spéciales. L’écriture d’un fichier de configuration correct requiert en effet une connaissance d’expert !

Veuillez scrupuleusement tenir compte de l’avertissement ci-dessus.

preload.cfg

Le contenu du fichier preload.cfg peut contrôler le pré-chargement des fontes communément utilisées. Le préchargement des fontes accélère le traitement des documents mais, parce qu’elles ne peuvent être « déchargées », vous ne devriez pas en charger trop. Vous pourriez en effet être incapable de traiter des documents nécessitant des familles de fontes inhabituelles.

Le fichier par défaut preload.ltx est produit à partir de preload.dtx. Il ne charge que quelques fontes qui constituent un bon choix si vous utilisez les documents à la taille par défaut de 10 pt. Si vous utilisez normalement le 11 ou 12 pt, alors le temps de chargement de L^{A}TEX au démarrage peut être diminué de manière notable si vous préchargez les tailles de fontes correspondantes. De la même manière, si vous utilisez une famille de fonte différente, par exemple Times Roman (ptm), vous pouvez choisir de pré-charger les fontes de cette famille plutôt que les fontes Computer Modern.

Configuration des césures

hyphen.cfg

Afin de produire les coupures de mots, TEX doit avoir des motifs de coupure et, comme ces motifs ne peuvent être chargés que par iniTEX, le choix des motifs à charger doit être fait lors de la création du format.

Le motif de césure pour l’Anglais américain se trouve dans le fichier appelé hyphen.tex ; L^{A}TEX 2.09 chargeait toujours ce fichier lorsque le format était produit.

Avec L^{A}TEX 2ε, il est possible de configurer quel motif de césure doit être chargé dans le format. Lorsqu’iniTEX traite latex.ltx, il cherche un fichier appelé hyphen.cfg ; ce fichier peut être utilisé pour contrôler quels motifs de césure sont chargés. Si un fichier hyphen.cfg ne peut être trouvé, alors iniTEX charge le fichier hyphen.ltx.

Le fichier hyphen.ltx charge le fichier hyphen.tex s’il peut le trouver ; dans le cas contraire, il arrête et renvoie une erreur, car un format sans motif de césure n’est pas très utile. Il applique

alors \language=0 et initialise les valeurs \lefthyphenmin=2 et \righthyphenmin=3, requises

pour l’Anglais américain.

Ainsi, si vous souhaitez qu’un autre motif soit chargé, il vous faut créer un fichier hyphen.cfg. Pour chaque langue dont vous désirez charger les motifs de césure, ce fichier devrait :

– initialiser \language=⟨nombre⟩;

– charger le fichier qui contient les motifs de césure pour cette langue. Si les motifs que vous utilisez requièrent des définitions ou des assignements, un groupe doit alors être utilisé pour ne garder ces changements que de manière locale à leur fichier.

Note. Les fichiers de césure qui sont lus ne devraient qu’initialiser les tables de césure pour la langue, en utilisant les commandes \hyphenation et \patterns. En particulier, ils ne devraient pas assigner de valeurs aux tableaux haut/bas de casse (\lccode et \uccode) et ne devraient pas faire de définitions globales devant être utilisées après la lecture du fichier. Malheureusement, certains anciens fichiers contiennent effectivement de telles initialisations ; ils sont ainsi incompatibles avec les mécanismes que L^{A}TEX utilise pour assurer l’indépendance des encodages d’entrée et de sortie.

Après ceci, le fichier hyphen.cfg devrait :

– initialiser \language à sa valeur par défaut ;

– initialiser \lefthyphenmin et \righthyphenmin aux valeurs correctes pour cette langue par défaut.

Il existe des packages disponibles, tels que « french » qui peuvent vous aider pour une telle configuration. L’ensemble « babel » contient beaucoup d’exemples de préparation d’un format L^{A}TEX multilingue. La documentation dans lthyphen.dtx (le fichier source de hyphen.ltx) contient également des exemples utiles.

[Nous avons l’intention, dans de futures versions de L^{A}TEX de fournir un ensemble de commandes standard qui seront utilisables lors de la configuration des césures.]

Configurer le fichier de définition de fontes

Si vous avez des fontes spéciales disponibles (ou si certaines fontes ne sont pas disponibles) sur votre site, vous aurez alors peut-être besoin de créer des fichiers de définition de fontes personnalisés ; ceux-ci portent l’extension .fd et sont lus par L^{A}TEX pour obtenir des informations quant aux fichiers de fontes installés sur votre système et quand les charger.

Bien que nous n’encouragions pas une telle personnalisation, vous trouverez des informations utiles sur le contenu de ces fichiers et leur syntaxe dans le fichier source documenté cmfonts.fdd et L^{A}TEX 2ε font selection dans le fichier fntguide.tex.

[Nous espérons être capables de fournir des informations complémentaires à ce sujet dans l’avenir.]

Veuillez noter que l’utilisation de fichiers de fontes personnalisés a les conséquences suivantes :

– les documents produits sur votre système ne seront, dans le meilleur des cas, portables qu’au sens où ils pourront être traités sur un site différent – le formatage réel ne sera pas le même si des fontes différentes sont employées ;

– l’équipe de projet L^{A}TEX3 ne pourra pas vous aider dans le diagnostic de problèmes éventuels si ceux-ci ne peuvent être reproduits avec un format qui n’utilise aucun fichier de définition de fontes personnalisé.

Note aux administrateurs système

Si vous installez une version de L^{A}TEX avec un chargement de fontes configuré localement, alors ce système est susceptible de produire des documents qui ne sont plus « formatage compatibles » ; par exemple, l’utilisation de fontes par défaut différentes produira très certainement des sauts de pages et de lignes différents. Si vous installez un système multi-utilisateurs configuré de telle manière qu’il ne soit pas « formatage compatible », il vous faut alors considérer les attentes des utilisateurs qui ont besoin de créer des documents portables. Une bonne façon de répondre à ces besoins est de fournir de plus une forme standard de L^{A}TEX, sans personnalisations « formatage incompatibles ».

Configurer le mode compatibilité

Lors du traitement de documents commençant par \documentstyle, L^{A}TEX 2ε tente d’émuler l’ancien système L^{A}TEX 2.09 autant que possible.

latex209.cfg

Chaque fois qu’un document L^{A}TEX commence par \documentstyle, au lieu de \documentclass, L^{A}TEX suppose que c’est un document L^{A}TEX 2.09 et le traite ainsi en « mode compatibilité ». L^{A}TEX fait alors les choses suivantes :

– met le flag \@compatibilitytrue ;

– charge le fichier latex209.def ;

– charge le fichier latex209.cfg s’il existe.

L’installation de L^{A}TEX 2.09 permettait au format lui-même d’être personnalisé. Lors de la création du format avec iniTEX, le traitement terminait par cette requête :

     Input any local modifications here.

Si votre site a effectivement entré des modifications à ce point, alors le « mode compatibilité » L^{A}TEX 2ε n’émulera pas complètement L^{A}TEX 2.09 comme il était installé sur votre site. Dans ce cas, ces « modifications locales » devraient être placées dans un fichier latex209.cfg et le fichier dans un chemin d’entrées par défaut sur votre site. Ces « modifications locales », bien qu’elles ne soient pas sauvées dans le format, seront alors chargées avant le traitement d’un document au style ancien. Ceci devrait assurer que vous puissiez continuer à traiter n’importe quel document ancien qui utilisait cette modification locale.

Fichiers de configuration pour les classes et packages standard

La plupart des packages de la distribution n’ont pas de fichiers de configuration associés. Les exceptions sont listées ici.

sfonts.cfg

Le fichier sfonts.cfg peut contenir des déclarations relatives à l’utilisation des fontes de la classe slides. S’il existe, il est lu à la place du fichier sfonts.def.

Veuillez noter que l’utilisation de ce fichier de configuration a les conséquences suivantes :

– du fait que l’installation des fontes pour slides n’a pas encore été révisé pour se plier à l’utilisation actuelle, le contenu de ce fichier devrait être mis à jour. Ainsi, quiconque écrivant un tel fichier de configuration doit se préparer à devoir le remettre à jour pour l’utiliser avec les futures versions ;

– les documents produits sur votre système ne seront, dans le meilleur des cas, portables qu’au sens où ils pourront être traités sur un site différent – le formatage réel ne sera pas le même si des fontes différentes sont employées ;

– l’équipe de projet L^{A}TEX3 ne pourra pas vous aider dans le diagnostic de problèmes éventuels si ceux-ci ne peuvent être reproduits avec un format qui n’utilise pas ce fichier de configuration.

ltnews.cfg

Le fichier ltnews.cfg peut être utilisé pour personnaliser certains aspects du comportement de la classe ltnews ; cette classe est utilisée pour composer la lettre d’information accompagnant chaque distribution L^{A}TEX. Si ce fichier est présent, il est alors lu au début du fichier ltnews.cls.

ltxdoc.cfg

Le fichier ltxdoc.cfg peut être utilisé pour personnaliser certains aspects du comportement de la classe ltxdoc ; cette classe est utilisée pour composer du code documenté dans les fichiers .dtx. Si ce fichier est présent, il est alors lu au début du fichier ltxdoc.cls.

Comme ce fichier est lu avant que la classe article ne soit chargée, vous pouvez passer des options à article. Par exemple, la ligne suivante pourrait être ajoutée à ltxdoc.cfg pour formater la documentation pour du papier A4 au lieu de la taille américaine « letter paper » par défaut :

     \PassOptionsToClass{a4paper}{article}

Il vous faut remarquer toutefois que, même si les options de taille de papier sont spécifiées, la classe ltxdoc met toujours le paramètre \textwidth à 355 pt, pour permettre à 72 colonnes d’apparaître dans les listings de code verbatim. Si vous voulez vraiment changer ceci, vous pourriez utiliser :

     \AtEndOfClass{\setlength{\textwidth}{ ...}}

pour mettre \textwidth à la valeur désirée à la fin de la classe ltxdoc.

Par défaut, la plupart des fichiers de code documenté .dtx de la distribution standard L^{A}TEX produira une section « description » suivie par un listing complet des sources du package. Si vous désirez supprimer le listing, vous pouvez ajouter la ligne suivante à ltxdoc.cfg :

     \AtBeginDocument{\OnlyDescription}

La documentation du package ltxdoc, qui peut être composée à partir du fichier ltxdoc.dtx, contient plus d’exemples d’utilisation de ce fichier de configuration.

ltxguide.cfg

La classe ltxguide est utilisée par les documents « guide », tels que ce document, de la distribution L^{A}TEX. Le fichier de configuration ltxguide.cfg peut être utilisé avec cette classe de la même manière que celui de la classe ltxdoc décrite dans la section précédente.

Configuration pour d’autres packages maintenus

La série « graphics » nécessite deux fichiers de configuration, essentiellement pour spécifier le pilote utilisé pour traiter le fichier .dvi que produit L^{A}TEX. Une documentation plus complète sur ces fichiers est livrée avec la série graphics, mais nous les mentionnons ici par souci d’exhaustivité.

graphics.cfg

Normalement, ce fichier précise juste une option par défaut, en appelant \ExecuteOptions, par

exemple \ExecuteOptions{dvips} ou \ExecuteOptions{textures}.

Ce fichier est lu par le package graphics, et donc influence tous les packages de l’ensemble, basés sur graphics : graphicx, epsfig, lscape.

color.cfg

Normalement, ce fichier est identique à graphics.cfg. Il précise l’option du pilote par défaut pour le package color.

Versions non-standard

Si vous ressentez le besoin pressant de faire une version de L^{A}TEX qui diffère de la version standard d’une manière qui n’est pas possible de le faire avec les configurations décrites ci-dessus, vous devriez d’abord lire Modifying L^{A}TEX dans le fichier modguide.tex ; ceci vous fera peut-être réaliser que vous n’en avez pas vraiment besoin.

Nous sommes en effet sûrs que vous n’aurez jamais besoin de créer une version non-standard et, même si vous en créez une, nous espérons que vous ne la distribuerez pas. Néanmoins, vous êtes autorisé à faire ceci à condition que vous preniez garde à faire les choses suivantes :

– respecter les conditions de legal.txt et des fichiers individuels au regard des modifications de fichiers et de changement de nom ;

– changer toutes les « bannières \typeout » appropriées, i.e. celles produites par tous les fichiers non-standard de votre version et par le format ;

– vous assurer que la méthode utilisée pour lancer votre version est clairement distincte de celle utilisée pour lancer le L^{A}TEX standard ; par exemple en utilisant un nom de commande ou une entrée de menu qui est clairement différente de latex (ou LaTeX etc).

Exemples

Puisque nous avons été poussés, en dépit de nos craintes, à documenter la façon de le faire par la League for Programming Freedom, il semble approprié de décrire ici une modification possible de L^{A}TEX pour produire un système appelé fsfTEX.

Pour faire cela, il vous faut créer un fichier appelé fsftex.tex et ensuite le lancer en utilisant iniTEX et le format L^{A}TEX standard.

Le contenu du fichier fsftex.tex devrait être celui montré sur la page 9. Les changements particuliers au noyau L^{A}TEX que vous souhaitez doivent y être ajoutés à la position indiquée. Vous pouvez également choisir les extensions que vous voulez utiliser pour les fichiers de classe et package sur votre système.

% fsftex.tex
%
% code source iniTEX  pour creer un format `fsftex'.
%
% Pour creer ce format sous Unix:
%
%   initex \&latex fsftex
%
% Alors, pour lancer se format sur file.tex:
%
%   tex &fsftex file
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% *** TRES IMPORTANT!!! ***
% Changez la banniere typeout afin que les utilisateurs sachent
% qu'ils ne lancent PAS Standard LaTeX.
%
\everyjob{\typeout{fsfTeX 1.0 based on LaTeX2e \fmtversion}}
\makeatletter
% fsfTeX change quelques commandes internes LaTeX:
%   ... mettez ce que vous voulez ici ...
\def \fsf@xxxx {Du code \emph{librement modifiable} va ici}
% les fichiers de classe fsfTeX ont l'extension .fcl (cette semaine):
\def \@clsextension {fcl}
% les fichiers de package fsfTeX ont l'extension .fsy:
\def \@pkgextension {fsy}
% Changez la manipulation de fichier de telle sorte que
% quand un package ou classe fsfTeX
% n'est pas disponible, le fichier standard LaTeX sera lu.
%
% Par exemple, \documentclass{article} chargera article.fcl si un tel
% fichier existe, article.cls sinon.  Ceci permet un traitement arbitraire
% des documents `article' sans changer le fichier standard
% article.cls.
\let\fsf@missingfileerror\@missingfileerror
\def\@missingfileerror#1#2{%
  \ifx #2\@clsextension
    \InputIfFileExists {#1.cls}%
      {\wlog {fsfTeX: loading #1.cls rather than #1.#2.}}%
      {\fsf@missingfileerror {#1}{#2}}%
  \else
    \ifx #2\@pkgextension
      \InputIfFileExists {#1.sty}%
        {\wlog {fsfTeX: loading #1.sty rather than #1.#2.}}%
        {\fsf@missingfileerror {#1}{#2}}%
    \else
      \fsf@missingfileerror {#1}{#2}%
    \fi
  \fi
}
\makeatother
\dump