Passage en UTF-8 des fichiers TML, 1 : recodage

Last-change: ignore this commit
This commit is contained in:
Marc Mezzarobba 2009-09-20 12:27:14 +02:00 committed by Marc Mezzarobba
parent 46474fbdc3
commit bbc57c52cd
227 changed files with 25795 additions and 25795 deletions

View file

@ -8,119 +8,119 @@
</head>
<body>
<h1>Le contrôle de versions avec CVS</h1>
<h1>Le contrôle de versions avec CVS</h1>
<p><code>CVS</code> est un logiciel Unix pour gérer différentes versions
de beaucoup de fichiers produits éventuellement par de multiples
<p><code>CVS</code> est un logiciel Unix pour gérer différentes versions
de beaucoup de fichiers produits éventuellement par de multiples
utilisateurs.</p>
<p>
Par exemple, les tuteurs informatique utilisent <code>CVS</code> pour
gérer ce site.
gérer ce site.
</p>
<h2>Pourquoi CVS ?</h2>
<h2>Pourquoi CVS ?</h2>
<h3>L'enfer, c'est les autres</h3>
<p>
Supposons par exemple que vous conceviez un mémoire de maîtrise en
collaboration avec un camarade, ou encore que vous écriviez un programme
informatique en collaboration avec une équipe de développeurs. Plusieurs
scénarii-catastrophes peuvent être envisagés, et vous pouvez être sûr
qu'au moins l'un d'entre eux se réalisera tôt ou tard :
Supposons par exemple que vous conceviez un mémoire de maîtrise en
collaboration avec un camarade, ou encore que vous écriviez un programme
informatique en collaboration avec une équipe de développeurs. Plusieurs
scénarii-catastrophes peuvent être envisagés, et vous pouvez être sûr
qu'au moins l'un d'entre eux se réalisera tôt ou tard :
</p>
<ol>
<li> l'un des contributeurs efface par erreur tout ou partie du travail
commun mené jusque là, alors même que vous approchiez de son
terme ;</li>
commun mené jusque là, alors même que vous approchiez de son
terme ;</li>
<li> un contributeur apporte des corrections à une version obsolète du
travail commun, car il ne savait pas où trouver la version la plus
récente ;</li>
<li> un contributeur apporte des corrections à une version obsolète du
travail commun, car il ne savait pas où trouver la version la plus
récente ;</li>
<li> deux contributeurs travaillaient simultanémlent sans le savoir, et
le deuxième a effacé sans le vouloir tout le travail du
premier ;</li>
<li> deux contributeurs travaillaient simultanémlent sans le savoir, et
le deuxième a effacé sans le vouloir tout le travail du
premier ;</li>
<li> un contributeur a commis de nombreuses erreurs, et l'on doit
revenir sur chacune de ses modifications, en espérant ne pas laisser
d'erreurs ; </li>
revenir sur chacune de ses modifications, en espérant ne pas laisser
d'erreurs ; </li>
<li>etc., etc.</li>
</ol>
<h3>La solution : CVS</h3>
<h3>La solution : CVS</h3>
<p>
L'idéal, pour éviter ces problèmes, serait de pouvoir concilier deux
exigences apparemment contradictoires :
L'idéal, pour éviter ces problèmes, serait de pouvoir concilier deux
exigences apparemment contradictoires :
</p>
<ol>
<li> centraliser les versions officielles pour éviter toute
ambiguïté ;</li>
<li> centraliser les versions officielles pour éviter toute
ambiguïté ;</li>
<li> décentraliser les versions de travail, sur lesquelles les
<li> décentraliser les versions de travail, sur lesquelles les
contributeurs apportent leurs modifications.</li>
</ol>
<p>
CVS réunit ces deux avantages, en respectant les principes
suivants :
CVS réunit ces deux avantages, en respectant les principes
suivants :
</p>
<ol>
<li> centralisation des versions officielles ;</li>
<li> numérotation des versions ;</li>
<li> possibilité de retour à une version antérieure ;</li>
<li> centralisation des versions officielles ;</li>
<li> numérotation des versions ;</li>
<li> possibilité de retour à une version antérieure ;</li>
<li> gestion des conflits entre deux modifications contradictoires des
mêmes fichiers ;</li>
<li> décentralisation des répertoires de travail, ce qui permet à
plusieurs utilisateurs de travailler simultanément, et de ne pas
officialiser les modifications tant qu'elles ne sont pas terminées.</li>
mêmes fichiers ;</li>
<li> décentralisation des répertoires de travail, ce qui permet à
plusieurs utilisateurs de travailler simultanément, et de ne pas
officialiser les modifications tant qu'elles ne sont pas terminées.</li>
</ol>
<p>
Pour vous initier à CVS, nous allons successivement vous présenter
Pour vous initier à CVS, nous allons successivement vous présenter
comment mettre un projet sous CVS, puis comment travailler au quotidien
sous CVS.
</p>
<h2>Préliminaires à l'utilisation de CVS</h2>
<h2>Préliminaires à l'utilisation de CVS</h2>
<p>
Pour mettre des projets sous CVS, il faut procéder en deux temps :
Pour mettre des projets sous CVS, il faut procéder en deux temps :
</p>
<ol>
<li> créer un répertoire de dépôt CVS (en anglais
<em>repository</em>), où seront stockées toutes les versions officielles
et leurs modifications ;</li>
<li> créer un répertoire de dépôt CVS (en anglais
<em>repository</em>), où seront stockées toutes les versions officielles
et leurs modifications ;</li>
<li> ajouter à ce répertoire les différents projets que vous voulez
mener à l'aide de CVS.</li>
<li> ajouter à ce répertoire les différents projets que vous voulez
mener à l'aide de CVS.</li>
</ol>
<h3>Créer un répertoire de dépôt CVS (<em>repository</em>)</h3>
<h3>Créer un répertoire de dépôt CVS (<em>repository</em>)</h3>
<p>
Commençons par créer un répertoire de dépôt, c'est-à-dire un répertoire
où CVS stocke toutes les versions et leurs
modifications. Rassurez-vous : CVS investit toute son ingéniosité
pour réduire au maximum l'espace disque utilisé, en ne retenant <em>que
les modifications</em>, au lieu de recopier à chaque fois l'intégralité
Commençons par créer un répertoire de dépôt, c'est-à-dire un répertoire
où CVS stocke toutes les versions et leurs
modifications. Rassurez-vous : CVS investit toute son ingéniosité
pour réduire au maximum l'espace disque utilisé, en ne retenant <em>que
les modifications</em>, au lieu de recopier à chaque fois l'intégralité
des fichiers d'un projet.
</p>
<p>
Pour cela, il faut d'abord créer matériellement ce répertoire, par
exemple <code>$HOME/cvs</code>, puis créer la variable d'environnement
CVSROOT :
Pour cela, il faut d'abord créer matériellement ce répertoire, par
exemple <code>$HOME/cvs</code>, puis créer la variable d'environnement
CVSROOT :
</p>
<pre>
@ -130,11 +130,11 @@ CVSROOT
</pre>
<p>
Mais attention ! dans ce cas, la variable CVSROOT disparaîtra quand
vous vous déloguerez ou fermerez le terminal courant. Aussi faut-il
écrire dans votre fichier <code>.profile</code> (au moins dans le cas de la
configuration des machines de l'ENS ; sur une machine personnelle ça peut
être différent) :
Mais attention ! dans ce cas, la variable CVSROOT disparaîtra quand
vous vous déloguerez ou fermerez le terminal courant. Aussi faut-il
écrire dans votre fichier <code>.profile</code> (au moins dans le cas de la
configuration des machines de l'ENS ; sur une machine personnelle ça peut
être différent) :
</p>
<pre>
@ -142,8 +142,8 @@ CVSROOT="$HOME/cvs"; export CVSROOT
</pre>
<p class="continue">
Une fois que ce répertoire existe, il faut « faire les
présentations » avec CVS. Tapez :
Une fois que ce répertoire existe, il faut « faire les
présentations » avec CVS. Tapez :
</p>
<pre>
@ -152,33 +152,33 @@ pr
</pre>
<p>
Maintenant, vous avez un répertoire de dépôt prêt à recevoir et à
stocker les différents projets. Il ne reste plus qu'à le remplir !
Maintenant, vous avez un répertoire de dépôt prêt à recevoir et à
stocker les différents projets. Il ne reste plus qu'à le remplir !
</p>
<p>
Plusieurs fois, <strong>cvs ouvrira un éditeur de texte</strong> en vous
demandant de commenter ce que vous êtes en train de
Plusieurs fois, <strong>cvs ouvrira un éditeur de texte</strong> en vous
demandant de commenter ce que vous êtes en train de
faire. <strong>Commentez vos modifications d'une avec un peu de
précision</strong> : évitez par exemple d'écrire simplement
« modifications diverses », mais plutôt « orthographe,
typographie, paragraphe sur X ou Y, fontion Z ou T,
etc. » L'objectif est qu'un autre contributeur (ou vous-même à une
date ultérieure) puisse ne lire <em>que</em> ce commentaire et savoir la
précision</strong> : évitez par exemple d'écrire simplement
« modifications diverses », mais plutôt « orthographe,
typographie, paragraphe sur X ou Y, fontion Z ou T,
etc. » L'objectif est qu'un autre contributeur (ou vous-même à une
date ultérieure) puisse ne lire <em>que</em> ce commentaire et savoir la
nature de vos modifications.
</p>
<h3>Créer un projet</h3>
<h3>Créer un projet</h3>
<p>
Supposons que vous soyez en train de concevoir un projet nommé
« turing-test », dont tous les fichiers sont réunis dans le
répertoire <code>$HOME/programmation/turing-test</code>.
Supposons que vous soyez en train de concevoir un projet nommé
« turing-test », dont tous les fichiers sont réunis dans le
répertoire <code>$HOME/programmation/turing-test</code>.
</p>
<p>
Tapez :
Tapez :
</p>
<pre>
@ -187,29 +187,29 @@ Tapez
</pre>
<p>
Ainsi est créé un répertoire <code>$HOME/cvs/turing</code>
contenant des fichiers correspondant à ceux du répertoire
Ainsi est créé un répertoire <code>$HOME/cvs/turing</code>
contenant des fichiers correspondant à ceux du répertoire
<code>$HOME/programmation/turing-test</code>.
</p>
<p>
La mention <code>votre_nom</code> vous désigne ; vous pouvez mettre
votre login, ou autre chose si vous préférez.
La mention <code>votre_nom</code> vous désigne ; vous pouvez mettre
votre login, ou autre chose si vous préférez.
</p>
<p>
Quant à la mention <code>version0</code>, il s'agit juste d'un nom pour
la version initiale : vous pouvez tout aussi bien mettre
<code>start</code>, <code>debut</code>, etc. Seule contrainte : le
premier caractère doit être une lettre.
Quant à la mention <code>version0</code>, il s'agit juste d'un nom pour
la version initiale : vous pouvez tout aussi bien mettre
<code>start</code>, <code>debut</code>, etc. Seule contrainte : le
premier caractère doit être une lettre.
</p>
<h3>Créer un répertoire de travail</h3>
<h3>Créer un répertoire de travail</h3>
<p>
Maintenant que vous avez créé votre projet sous CVS, vous pouvez vous
créer un répertoire de travail.
Maintenant que vous avez créé votre projet sous CVS, vous pouvez vous
créer un répertoire de travail.
</p>
<pre>
@ -219,24 +219,24 @@ cr
</pre>
<p>
La commande <code>cvs checkout <em>projet</em></code> crée un
répertoire de travail pour le projet indiqué. <strong>Vous pouvez en
créer autant que vous voulez</strong> (si vous en avez vraiment
l'utilité...). En particulier, plusieurs utilisateurs différents peuvent
en créer : c'est précisément ce qui fait l'intérêt de CVS.
La commande <code>cvs checkout <em>projet</em></code> crée un
répertoire de travail pour le projet indiqué. <strong>Vous pouvez en
créer autant que vous voulez</strong> (si vous en avez vraiment
l'utilité...). En particulier, plusieurs utilisateurs différents peuvent
en créer : c'est précisément ce qui fait l'intérêt de CVS.
</p>
<h2>CVS au quotidien</h2>
<h3>Mettre à jour son répertoire de travail</h3>
<h3>Mettre à jour son répertoire de travail</h3>
<p>
Avant de modifier les fichiers mis sous CVS, vous devrez à chaque fois
les mettre à jour, ce qui vous permet de partir de versions récentes de
ces fichiers. Pour mettre à jour votre répertoire de travail,
tapez :
Avant de modifier les fichiers mis sous CVS, vous devrez à chaque fois
les mettre à jour, ce qui vous permet de partir de versions récentes de
ces fichiers. Pour mettre à jour votre répertoire de travail,
tapez :
</p>
<pre>
@ -244,12 +244,12 @@ tapez
</pre>
<p class="continue">
Vous serez alors sûr d'avoir des fichiers à jour.
Vous serez alors sûr d'avoir des fichiers à jour.
</p>
<p>
Vous pouvez aussi ne mettre à jour qu'un fichier, ou une liste de
fichiers :
Vous pouvez aussi ne mettre à jour qu'un fichier, ou une liste de
fichiers :
</p>
<pre>
@ -257,8 +257,8 @@ fichiers
</pre>
<p>
Vous pouvez encore indiquer en ligne de commande quel répertoire mettre
à jour :
Vous pouvez encore indiquer en ligne de commande quel répertoire mettre
à jour :
</p>
<pre>
@ -266,34 +266,34 @@ Vous pouvez encore indiquer en ligne de commande quel r
</pre>
<p>
Cette dernière commande peut être intégrée à un script, ce qui est très
pratique si vous voulez que les modifications soient prises en compte à
plusieurs endroits différents (par exemple, dans votre répertoire de
Cette dernière commande peut être intégrée à un script, ce qui est très
pratique si vous voulez que les modifications soient prises en compte à
plusieurs endroits différents (par exemple, dans votre répertoire de
travail et sur votre page web, si vous avez mis votre page web
sous CVS).
sous CVS).
</p>
<h3>Ajouter des fichiers</h3>
<p>
Un projet est rarement fixé dès sa première version ; aussi des
fichiers peuvent-ils s'ajouter aux fichiers intégrés à l'origine (avec
la commande <code>cvs import</code>), d'autres en être retirés.
Un projet est rarement fixé dès sa première version ; aussi des
fichiers peuvent-ils s'ajouter aux fichiers intégrés à l'origine (avec
la commande <code>cvs import</code>), d'autres en être retirés.
</p>
<p>
Pour ajouter des fichiers, la façon de s'y prendre dépend de la nature
Pour ajouter des fichiers, la façon de s'y prendre dépend de la nature
du fichier en question. En effet, si le fichier est un fichier binaire,
il ne sert à rien que CVS le lise ligne à ligne à chaque partage de
modifications pour vérifier s'il a changé ; tandis que s'il s'agit
d'un fichier texte, CVS est là pour ça.
il ne sert à rien que CVS le lise ligne à ligne à chaque partage de
modifications pour vérifier s'il a changé ; tandis que s'il s'agit
d'un fichier texte, CVS est là pour ça.
</p>
<p>
Par conséquent, si c'est un <strong>fichier texte</strong> (un texte
Par conséquent, si c'est un <strong>fichier texte</strong> (un texte
simple, un script, le code source d'un programme, un fichier TeX, etc.),
tapez :
tapez :
</p>
<pre>
@ -302,8 +302,8 @@ tapez
<p class="continue">
En revanche, si vous voulez <strong>ajouter un fichier binaire</strong>
(un fichier exécutable, un document PS, PDF, une image JPEG, PNG, etc.),
tapez :
(un fichier exécutable, un document PS, PDF, une image JPEG, PNG, etc.),
tapez :
</p>
<pre>
@ -311,8 +311,8 @@ tapez
</pre>
<p>
Vous pouvez <strong>vérifier le statut</strong> des fichiers (binaires
ou non) avec la commande :
Vous pouvez <strong>vérifier le statut</strong> des fichiers (binaires
ou non) avec la commande :
</p>
<pre>
@ -320,17 +320,17 @@ ou non) avec la commande
</pre>
<p class="continue">
Lisez le champ « Sticky Options ». Si sa valeur est
« (none) », c'est que votre fichier n'est pas déclaré comme
binaire ; s'il vaut « -kb », c'est qu'il l'est.
Lisez le champ « Sticky Options ». Si sa valeur est
« (none) », c'est que votre fichier n'est pas déclaré comme
binaire ; s'il vaut « -kb », c'est qu'il l'est.
</p>
<p>
Il arrive parfois que l'on oublie de déclarer comme binaires certains
Il arrive parfois que l'on oublie de déclarer comme binaires certains
fichiers, notamment lors de l'enregistrement du projet dans le
répertoire de dépôt CVS. Il n'est pas trop tard pour se
rattraper :
répertoire de dépôt CVS. Il n'est pas trop tard pour se
rattraper :
</p>
<pre>
@ -338,7 +338,7 @@ rattraper
</pre>
<p class="continue">
Ce qui équivaut à la succession de commandes suivante :
Ce qui équivaut à la succession de commandes suivante :
</p>
<pre>
@ -351,7 +351,7 @@ Ce qui
<h3>Retirer des fichiers</h3>
<p>
Pour retirer des fichiers, utilisez la commande :
Pour retirer des fichiers, utilisez la commande :
</p>
<pre>
@ -364,8 +364,8 @@ Pour retirer des fichiers, utilisez la commande
<h3>Partager les modifications</h3>
<p>
Quand vous avez terminé vos modifications et que vous estimez que le
monde est prêt à les recevoir, partagez-les :
Quand vous avez terminé vos modifications et que vous estimez que le
monde est prêt à les recevoir, partagez-les :
</p>
<pre>
@ -373,12 +373,12 @@ monde est pr
</pre>
<p class="continue">
Les modifications seront alors enregistrées dans le répertoire de dépôt.
Les modifications seront alors enregistrées dans le répertoire de dépôt.
</p>
<p>
Vous pouvez aussi ne partager qu'un fichier, ou une liste de
fichiers :
fichiers :
</p>
<pre>
@ -386,21 +386,21 @@ fichiers
</pre>
<p>
Quand vous partagez vos modifications, un éditeur de texte s'ouvre et
vous demande de les commenter. Vous n'êtes pas obligé d'être bavard,
mais soyez relativement précis.
Quand vous partagez vos modifications, un éditeur de texte s'ouvre et
vous demande de les commenter. Vous n'êtes pas obligé d'être bavard,
mais soyez relativement précis.
</p>
<h3>Nettoyer son répertoire de travail</h3>
<h3>Nettoyer son répertoire de travail</h3>
<p>
Si vous ne contribuez qu'occasionnellement à tel ou tel projet, vous
Si vous ne contribuez qu'occasionnellement à tel ou tel projet, vous
pouvez vouloir ne pas conserver en permanence une version d'un projet
donné dans votre répertoire de travail. Pour vous en débarrasser, vous
avez bien sûr la possibilité d'effacer les fichiers d'une manière
« traditionnelle », au moyen de la commande
<code>rm</code>. Mais CVS propose un outil plus puissant :
donné dans votre répertoire de travail. Pour vous en débarrasser, vous
avez bien sûr la possibilité d'effacer les fichiers d'une manière
« traditionnelle », au moyen de la commande
<code>rm</code>. Mais CVS propose un outil plus puissant :
</p>
<pre>
@ -408,15 +408,15 @@ avez bien s
</pre>
<p>
Cette commande <strong>vérifie que vous avez bien partagé toutes vos
modifications avant d'effacer les fichiers de votre répertoire de
travail</strong>. Ceci vous épargne bien des migraines !
Cette commande <strong>vérifie que vous avez bien partagé toutes vos
modifications avant d'effacer les fichiers de votre répertoire de
travail</strong>. Ceci vous épargne bien des migraines !
</p>
<p>
Si vous ne voulez pas effacer vos fichiers, mais simplement
<strong>vérifier qu'aucun fichier n'a été modifié sans être
partagé</strong>, tapez simplement :
<strong>vérifier qu'aucun fichier n'a été modifié sans être
partagé</strong>, tapez simplement :
</p>
<pre>
@ -427,13 +427,13 @@ partag
Cette commande annule le <code>cvs checkout</code>.
</p>
<h2>Fonctionnalités avancées de CVS</h2>
<h2>Fonctionnalités avancées de CVS</h2>
<h3>Historique des modifications</h3>
<p>
CVS garde l'historique de toutes les modifications. Si vous voulez voir
l'historique complet, tapez :
l'historique complet, tapez :
</p>
<pre>
@ -442,7 +442,7 @@ l'historique complet, tapez
<p>
Vous pouvez aussi ne consulter l'historique que d'un fichier, ou d'une
liste de fichiers :
liste de fichiers :
</p>
<pre>
@ -450,16 +450,16 @@ liste de fichiers
</pre>
<p>
Devant vos yeux ébahis s'affichera alors la liste de toutes les versions
de ces fichiers, accompagnées des commentaires déposés par les
Devant vos yeux ébahis s'affichera alors la liste de toutes les versions
de ces fichiers, accompagnées des commentaires déposés par les
contributeurs.
</p>
<h3>Comparer des versions</h3>
<p>
Vous voulez savoir précisément en quoi telle version d'un fichier
diffère de telle autre ; pour cela, tapez :
Vous voulez savoir précisément en quoi telle version d'un fichier
diffère de telle autre ; pour cela, tapez :
</p>
<pre>
@ -467,9 +467,9 @@ diff
</pre>
<p>
Ainsi, vous pourrez comparer l'état actuel du fichier avec sa
version 1.2. Mais vous pouvez aussi comparer deux versions
quelconques :
Ainsi, vous pourrez comparer l'état actuel du fichier avec sa
version 1.2. Mais vous pouvez aussi comparer deux versions
quelconques :
</p>
<pre>
@ -479,9 +479,9 @@ quelconques
<h3>Revenir sur des modifications</h3>
<p>
Oups ! Vous avez fait une erreur, et dans votre précipitation, vous
l'avez déjà partagée. Heureusement, CVS permet de revenir à des versions
antérieures. Tapez :
Oups ! Vous avez fait une erreur, et dans votre précipitation, vous
l'avez déjà partagée. Heureusement, CVS permet de revenir à des versions
antérieures. Tapez :
</p>
<pre>
@ -491,24 +491,24 @@ ant
<span class="prompt">bireme ~/turing-test $</span> cvs commit fichier
</pre>
<h3>Astuce : utiliser l'outil <code>make</code></h3>
<h3>Astuce : utiliser l'outil <code>make</code></h3>
<p>
Imaginons la situation suivante : vous avez un site web sur lequel
vous voulez travailler à l'aide de CVS. Vous avez donc un répertoire de
dépôt (par exemple <code>~/cvs/www</code>) et un répertoire de travail
Imaginons la situation suivante : vous avez un site web sur lequel
vous voulez travailler à l'aide de CVS. Vous avez donc un répertoire de
dépôt (par exemple <code>~/cvs/www</code>) et un répertoire de travail
(par exemple <code>~/cvs-travail/www</code>). Mais vous voulez aussi
mettre à jour le site en lui-même lorsque vous partagez des
modifications, et ce site est dans le répertoire <code>~/www</code>. Ce
répertoire ne peut pas être le même que pour le dépôt, car celui-ci
doit lui être exclusivement consacré ; et il ne peut pas non plus
être votre répertoire de travail, car la moindre modification (et
surtout la moindre erreur) serait immédiatement publiée...
mettre à jour le site en lui-même lorsque vous partagez des
modifications, et ce site est dans le répertoire <code>~/www</code>. Ce
répertoire ne peut pas être le même que pour le dépôt, car celui-ci
doit lui être exclusivement consacré ; et il ne peut pas non plus
être votre répertoire de travail, car la moindre modification (et
surtout la moindre erreur) serait immédiatement publiée...
</p>
<p>
Vous devrez donc taper, à chaque fois que vous voudrez partager vos
modifications, les lignes suivantes :
Vous devrez donc taper, à chaque fois que vous voudrez partager vos
modifications, les lignes suivantes :
</p>
<pre>
@ -517,17 +517,17 @@ modifications, les lignes suivantes
</pre>
<p class="continue">
Le problème, c'est que cette séquence de commandes sera toujours la même
Le problème, c'est que cette séquence de commandes sera toujours la même
et que vous risquerez toujours d'en oublier une sur les deux... Aussi
avez-vous la possibilité d'utiliser l'utilitaire <code>make</code>,
outil très puissant, notamment dans ces circonstances (il est très
utilisé par les programmeurs).
avez-vous la possibilité d'utiliser l'utilitaire <code>make</code>,
outil très puissant, notamment dans ces circonstances (il est très
utilisé par les programmeurs).
</p>
<p>
Commencez donc par <strong>éditer un fichier Makefile</strong> dans le répertoire souche
de votre projet dans le répertoire de travail ; dans notre exemple,
il s'agit de ~/cvs-travail/www. Dans ce fichier, écrivez :
Commencez donc par <strong>éditer un fichier Makefile</strong> dans le répertoire souche
de votre projet dans le répertoire de travail ; dans notre exemple,
il s'agit de ~/cvs-travail/www. Dans ce fichier, écrivez :
</p>
<pre>
@ -537,7 +537,7 @@ install:
</pre>
<p>
Ensuite, ajoutez ce fichier Makefile au CVS :
Ensuite, ajoutez ce fichier Makefile au CVS :
</p>
<pre>
@ -545,8 +545,8 @@ Ensuite, ajoutez ce fichier Makefile au CVS
</pre>
<p>
Et à partir de maintenant, au lieu de taper <code>cvs commit</code>
pour partager vos modifications, vous taperez simplement :
Et à partir de maintenant, au lieu de taper <code>cvs commit</code>
pour partager vos modifications, vous taperez simplement :
</p>
<pre>
@ -554,31 +554,31 @@ pour partager vos modifications, vous taperez simplement
</pre>
<p class="continue">
et <code>make</code> se chargera de tout à votre place !
et <code>make</code> se chargera de tout à votre place !
</p>
<p>
Vous êtes maintenant prêt à utiliser CVS. Sa puissance est telle que cet
Vous êtes maintenant prêt à utiliser CVS. Sa puissance est telle que cet
outil est devenu l'un des standards incontournables. Profitez-en
bien !
bien !
</p>
<h2>Bibliographie</h2>
<p>
Vous pouvez accéder à la petite documentation rédigée par David Monniaux
Vous pouvez accéder à la petite documentation rédigée par David Monniaux
<a href="doc-cvs.ps.gz">(au format <code>.ps.gz</code>)</a>.
</p>
<p>
La documentation officielle se trouve <a
href="http://www.cvshome.org/docs/manual/">là-bas</a>.
href="http://www.cvshome.org/docs/manual/">là-bas</a>.
</p>
<div class="metainformation">
Auteurs : Baptiste Mélès, Joël Riou. Dernière modification le
Auteurs : Baptiste Mélès, Joël Riou. Dernière modification le
<date value="$Date: 2007-07-17 10:02:47 $" />.
</div>

View file

@ -11,18 +11,18 @@
<h1>Gaim</h1>
<div class="attention">
<strong>Actualités</strong> : après avoir été désactivé pour des
raisons de sécurité, Gaim est de nouveau disponible sur les
<strong>Actualités</strong> : après avoir été désactivé pour des
raisons de sécurité, Gaim est de nouveau disponible sur les
ordinateurs de l'ENS.</div>
<p>
<a href="http://gaim.sourceforge.net/">Gaim</a> (conçu à l'origine
pour le réseau AIM et l'environnement Gnome, d'où le nom) est l'un des
<a href="http://gaim.sourceforge.net/">Gaim</a> (conçu à l'origine
pour le réseau AIM et l'environnement Gnome, d'où le nom) est l'un des
deux clients de <a href="&url.tuteurs;internet/im.html">messagerie
instantanée</a> de l'ENS (l'autre est Tkabber). Il permet de se
connecter à la plupart des réseaux majeurs : AIM, ICQ, MSN, Yahoo,
instantanée</a> de l'ENS (l'autre est Tkabber). Il permet de se
connecter à la plupart des réseaux majeurs : AIM, ICQ, MSN, Yahoo,
IRC, mais aussi Jabber, Gadu-Gadu et Zephyr. C'est un logiciel libre
qui tourne sous Windows, Linux, MacOS X et BSD. Il est très facile à
qui tourne sous Windows, Linux, MacOS X et BSD. Il est très facile à
utiliser.
</p>
@ -30,92 +30,92 @@ utiliser.
<p>
Pour lancer Gaim, tapez simplement <code>gaim</code>. Si vous ne
l'avez jamais utilisé auparavant, il faut créer un compte avant de
pouvoir utiliser véritablement Gaim.
l'avez jamais utilisé auparavant, il faut créer un compte avant de
pouvoir utiliser véritablement Gaim.
</p>
<div class="illustration">
<img src="gaim_1.png" alt="[Écran de démarrage de Gaim]"
<img src="gaim_1.png" alt="[Écran de démarrage de Gaim]"
width="309" height="367" />
</div>
<p>
Si vous avez déjà utilisé Gaim, vous verrez un écran semblable à
celui-ci. Un menu déroulant vous permet de choisir entre vos
différentes identités. Ici, on voit à l'écran un compte pour <a
Si vous avez déjà utilisé Gaim, vous verrez un écran semblable à
celui-ci. Un menu déroulant vous permet de choisir entre vos
différentes identités. Ici, on voit à l'écran un compte pour <a
href="&url.tuteurs;internet/jabber.html">Jabber</a>.
</p>
<h2>Créer un compte</h2>
<h2>Créer un compte</h2>
<p>
Cliquez sur <code>Accounts</code> puis sur « Add ». Dans la section
<code>Login Options</code>, commencez par choisir « Protocols ». Vous
avez le choix entre TOC (protocole d'AIM, utilisez plutôt AIM/ICQ),
Cliquez sur <code>Accounts</code> puis sur « Add ». Dans la section
<code>Login Options</code>, commencez par choisir « Protocols ». Vous
avez le choix entre TOC (protocole d'AIM, utilisez plutôt AIM/ICQ),
AIM/ICQ, Yahoo, MSN, IRC, Jabber, Napster, Zephyr et
Gadu-Gadu. Ensuite, renseignez les champs : identifiant, mot de passe,
Gadu-Gadu. Ensuite, renseignez les champs : identifiant, mot de passe,
alias (nom plus convivial que vous vous choisissez) etc. Vous devez
déjà être inscrit pour la plupart des protocoles.
déjà être inscrit pour la plupart des protocoles.
</p>
<div class="illustration">
<img src="gaim_2.png" alt="[Écran d'ajout de compte pour Jabber]"
<img src="gaim_2.png" alt="[Écran d'ajout de compte pour Jabber]"
width="343" height="434" />
</div>
<p>
Vous pouvez aussi demandez à ce que Gaim retienne votre mot de passe
(cochez <code>Remember password</code>), ou encore indiquer une « <i
lang="en">buddy icon</i> », une petite image (50x50 généralement) qui
vous sert à vous représenter (si le protocole le
Vous pouvez aussi demandez à ce que Gaim retienne votre mot de passe
(cochez <code>Remember password</code>), ou encore indiquer une « <i
lang="en">buddy icon</i> », une petite image (50x50 généralement) qui
vous sert à vous représenter (si le protocole le
permet). <code>Auto-login</code> veut dire que Gaim se connectera
directement avec ce compte la prochaine fois que vous le lancerez. En
effet, Avec Gaim, vous pouvez avoir plusieurs comptes différents, un
ou plusieurs par réseau. Vous pouvez <em>en même temps</em> papoter
avec un ami sur MSN et discuter avec votre directeur de thèse sur
effet, Avec Gaim, vous pouvez avoir plusieurs comptes différents, un
ou plusieurs par réseau. Vous pouvez <em>en même temps</em> papoter
avec un ami sur MSN et discuter avec votre directeur de thèse sur
Jabber.
</p>
<p>
Une fois votre compte créé, dans la fenêtre <code>Accounts</code>,
cliquez sur <code>Online</code> et vous serez connecté.
Une fois votre compte créé, dans la fenêtre <code>Accounts</code>,
cliquez sur <code>Online</code> et vous serez connecté.
</p>
<h2>Ajouter des « buddies »</h2>
<h2>Ajouter des « buddies »</h2>
<p>
Une fois connecté, tapez <code>Ctrl+B</code> (ou cliquez sur
Une fois connecté, tapez <code>Ctrl+B</code> (ou cliquez sur
<code>Buddies > Add a buddy</code>). Indiquez son identifiant,
éventuellement un alias (nom plus convivial que vous choisissez
éventuellement un alias (nom plus convivial que vous choisissez
librement) puis cliquez sur <code>Add</code>. Vous pouvez organiser
vos contacts en différents groupes. Par exemple, dans la capture
d'écran ci-dessous, on voit deux groupes, l'un appelé « ENS », avec le
contact Toto, l'autre appelé « Buddies », avec deux contacts, dont
Titi qu'on voit à l'écran. Remarquez aussi les indications de statut
qui montrent que Toto est connecté, alors que Titi ne l'est pas (les
icônes changent suivant le réseau, ici ce sont celles de MSN)..
vos contacts en différents groupes. Par exemple, dans la capture
d'écran ci-dessous, on voit deux groupes, l'un appelé « ENS », avec le
contact Toto, l'autre appelé « Buddies », avec deux contacts, dont
Titi qu'on voit à l'écran. Remarquez aussi les indications de statut
qui montrent que Toto est connecté, alors que Titi ne l'est pas (les
icônes changent suivant le réseau, ici ce sont celles de MSN)..
</p>
<div class="illustration">
<img src="gaim_3.png" alt="[Capture d'écran, avec 'buddies' MSN]"
<img src="gaim_3.png" alt="[Capture d'écran, avec 'buddies' MSN]"
width="350" height="256" />
</div>
<h2>Discuter</h2>
<p>
Pour commencer à envoyer des messages, double-cliquez sur le nom du
Pour commencer à envoyer des messages, double-cliquez sur le nom du
contact avec lequel vos voulez discuter. Vous pouvez aussi
sélectionner le contact en question (simple clic) puis cliquer sur
sélectionner le contact en question (simple clic) puis cliquer sur
<code>IM</code>.
</p>
<p>
Une fenêtre de conversation apparaître alors. Dans la partie basse,
vous tapez votre message, vous pouvez le mettre en page de manière
Une fenêtre de conversation apparaître alors. Dans la partie basse,
vous tapez votre message, vous pouvez le mettre en page de manière
sommaire (gras, italique, etc.) et ajouter des smileys. Quand votre
message est prêt, tapez <code>Entrée</code> pour
l'envoyer. Contrairement à <code>talk</code>, en effet, l'envoi du
message est prêt, tapez <code>Entrée</code> pour
l'envoyer. Contrairement à <code>talk</code>, en effet, l'envoi du
message se fait paragraphe paragraphe.
</p>
@ -131,37 +131,37 @@ Preferences</code> ou encore <code>Ctrl+P</code>.
<p>
C'est la liste de vos contacts. Vous pouvez la personnaliser en
demandant à Gaim d'afficher ou non les icônes des contacts qui ne sont
pas connectés, d'afficher les temps d'inactivité, etc. Vous pouvez
aussi contrôler l'apparence de la fenêtre à proprement parler :
supprimer les icônes « IM », « Get Info », etc., ou au contraire
n'afficher que les icônes et pas le texte.
demandant à Gaim d'afficher ou non les icônes des contacts qui ne sont
pas connectés, d'afficher les temps d'inactivité, etc. Vous pouvez
aussi contrôler l'apparence de la fenêtre à proprement parler :
supprimer les icônes « IM », « Get Info », etc., ou au contraire
n'afficher que les icônes et pas le texte.
</p>
<h3>Tranquilité personnelle</h3>
<h3>Tranquilité personnelle</h3>
<p>
Vous pouvez accepté d'être contacté par tout le monde sur votre
réseau, mais vous pouvez aussi préférer n'être joignable que par vos
propres contacts, ou encore n'être joignable par personne (vous vous
bornez alors à contacter les autres de vous-même). Ceci se règle dans
Vous pouvez accepté d'être contacté par tout le monde sur votre
réseau, mais vous pouvez aussi préférer n'être joignable que par vos
propres contacts, ou encore n'être joignable par personne (vous vous
bornez alors à contacter les autres de vous-même). Ceci se règle dans
<code>Toools &gt; Privacy</code>.
</p>
<h3>Thèmes</h3>
<h3>Thèmes</h3>
<p>
Il n'y a pas de « skins » pour les fenêtres de Gaim, en revanche il
existe des sets d'icônes différents que vous pouvez utiliser et
changer à votre guise. Téléchargez le ou les sets de votre choix sur
Il n'y a pas de « skins » pour les fenêtres de Gaim, en revanche il
existe des sets d'icônes différents que vous pouvez utiliser et
changer à votre guise. Téléchargez le ou les sets de votre choix sur
la <a href="http://gaim.sourceforge.net/themes.php">page
« Thèmes »</a> de Gaim, puis déplacez le fichier (une <a
« Thèmes »</a> de Gaim, puis déplacez le fichier (une <a
href="&url.tuteurs;unix/archives.html">archive tgz</a>) dans le
sous-répertoire « Smileys » du répertoire de configuration de Gaim,
<code>.gaim</code>. Il faut ensuite décompacter l'archive. Par
sous-répertoire « Smileys » du répertoire de configuration de Gaim,
<code>.gaim</code>. Il faut ensuite décompacter l'archive. Par
exemple, avec le set <a
href="http://gaim.sourceforge.net/themes.php?action=showtheme&amp;id=27">Crystal
Gaim</a> :
Gaim</a> :
</p>
<pre>
@ -172,21 +172,21 @@ Gaim</a>
<p>
Ensuite, ouvrez le panneau de configuration (<code>Ctrl+P</code>) et
allez dans la section <code>Interface &gt; Smiley Themes</code> et
sélectionnez le thème que vous voulez utiliser.
sélectionnez le thème que vous voulez utiliser.
</p>
<h2>Quitter Gaim</h2>
<p>
Vous pouvez au choix vous déconnecter (vous revenez alors à l'écran de
départ, avec choix entre vos différents comptes) ou quitter Gaim pour
de bon. Pour se déconnecter, c'est <code>Buddies > Signoff</code>
Vous pouvez au choix vous déconnecter (vous revenez alors à l'écran de
départ, avec choix entre vos différents comptes) ou quitter Gaim pour
de bon. Pour se déconnecter, c'est <code>Buddies > Signoff</code>
(<code>Ctrl+D</code>), pour quitter c'est <code>Buddies > Quit</code>
(<code>Ctrl+Q</code>).
</p>
<div class="metainformation">Auteur : Marie-Lan Nguyen.
Dernière modification : le <date value="$Date: 2007-07-17 10:02:45 $" />.
<div class="metainformation">Auteur : Marie-Lan Nguyen.
Dernière modification : le <date value="$Date: 2007-07-17 10:02:45 $" />.
</div>
</body>

View file

@ -8,117 +8,117 @@
</head>
<body>
<h1>Contrôle de versions avec Git</h1>
<h1>Contrôle de versions avec Git</h1>
<h2>C'est quoi ?</h2>
<p>Le logiciel <code>git</code> est utilisé notamment par les développeurs
du noyau Linux. Il s'agit d'un logiciel de contrôle de version, comme SVN,
CVS, Arch ou encore Darcs, qui utilise des dépôts décentralisés. Il permet
ainsi de travailler tout en gardant une trace des modifications apportées
successivement, et de retrouver ainsi l'état antérieur de ses données.</p>
<p>Le logiciel <code>git</code> est utilisé notamment par les développeurs
du noyau Linux. Il s'agit d'un logiciel de contrôle de version, comme SVN,
CVS, Arch ou encore Darcs, qui utilise des dépôts décentralisés. Il permet
ainsi de travailler tout en gardant une trace des modifications apportées
successivement, et de retrouver ainsi l'état antérieur de ses données.</p>
<p>Il permet également, comme beaucoup de ses congénères, de travailler à
plusieurs sur un même projet. Mais contrairement à CVS ou Subversion, par
exemple, Git ne fait pas de différence entre un dépôt principal et les
copies locales chez les différents contributeurs.</p>
<p>Il permet également, comme beaucoup de ses congénères, de travailler à
plusieurs sur un même projet. Mais contrairement à CVS ou Subversion, par
exemple, Git ne fait pas de différence entre un dépôt principal et les
copies locales chez les différents contributeurs.</p>
<p>Ce système permet également une organisation hiérarchisée de
<p>Ce système permet également une organisation hiérarchisée de
gros projets, comme c'est le cas du noyau Linux, en rendant
complètement naturelle l'existence de dépôts alternatifs pour chaque
sous-projet, avec une granularité de modifications très fine, et à
plus grande échelle, une faible granularité du dépôt principal qui
reçoit périodiquement les modifications par paquets.</p>
complètement naturelle l'existence de dépôts alternatifs pour chaque
sous-projet, avec une granularité de modifications très fine, et à
plus grande échelle, une faible granularité du dépôt principal qui
reçoit périodiquement les modifications par paquets.</p>
<p>À l'inverse, pour travailler à deux, <code>git</code> évite le
casse-tête des droits d'accès dans le dépôt de l'autre. On peut en
effet travailler de manière totalement symétrique, chacun recopiant
les modifications de l'autre : il suffit d'un accès en lecture aux
<p>À l'inverse, pour travailler à deux, <code>git</code> évite le
casse-tête des droits d'accès dans le dépôt de l'autre. On peut en
effet travailler de manière totalement symétrique, chacun recopiant
les modifications de l'autre : il suffit d'un accès en lecture aux
fichiers de ses collaborateurs.</p>
<p>J'expliquerai ici comment se servir de la version 1.5 de
git. Dans la version 1.4, par exemple, la commande <code>git init</code>
est appelée <code>git init-db</code>. Cette dernière, dans la version
est appelée <code>git init-db</code>. Cette dernière, dans la version
1.5, n'est qu'un autre nom pour <code>git init</code>.</p>
<h2>Créer un dépôt git</h2>
<h2>Créer un dépôt git</h2>
<p>Pour créer un dépôt <code>git</code>, il suffit de taper la commande
suivante dans son répertoire de travail (que nous désignerons dans la
<p>Pour créer un dépôt <code>git</code>, il suffit de taper la commande
suivante dans son répertoire de travail (que nous désignerons dans la
suite par <code>monsiteweb</code>).</p>
<pre>git init</pre>
<p>Le dépôt est initialement vide. Imaginons que l'on souhaite
<p>Le dépôt est initialement vide. Imaginons que l'on souhaite
suivre les modifications du fichier <code>sommaire.html</code> qui se
trouve dans le répertoire <code>monsiteweb</code>.</p>
trouve dans le répertoire <code>monsiteweb</code>.</p>
<pre>git add sommaire.html
git commit</pre>
<p>La première indique à git notre modification : le fichier
<code>sommaire.html</code> existe et doit être pris en compte. Il n'est
<p>La première indique à git notre modification : le fichier
<code>sommaire.html</code> existe et doit être pris en compte. Il n'est
pas toujours pertinent de suivre les modifications de n'importe quel
fichier. En particulier, lorsque des fichiers sont engendrés
automatiquement à partir de fichiers source, ce sont les fichiers
source et les générateurs qu'il est important de conserver. La
commande <code>git commit</code> sert à enregistrer dans le dépôt les
modifications apportées.</p>
fichier. En particulier, lorsque des fichiers sont engendrés
automatiquement à partir de fichiers source, ce sont les fichiers
source et les générateurs qu'il est important de conserver. La
commande <code>git commit</code> sert à enregistrer dans le dépôt les
modifications apportées.</p>
<p>Lors d'un <em>check-in</em> (avec la commande <code>git
commit</code>), git demande un texte de journal (<em>commit
log</em>). Ce texte permet de repérer facilement les modifications
effectuées par chaque commit, aussi bien pour les autres que pour
soi-même. Chaque commit est identifié par un numéro unique,
représenté comme une suite de chiffres hexadécimaux. Ce numéro sert
de référence, par exemple, lors qu'on veut annuler une
log</em>). Ce texte permet de repérer facilement les modifications
effectuées par chaque commit, aussi bien pour les autres que pour
soi-même. Chaque commit est identifié par un numéro unique,
représenté comme une suite de chiffres hexadécimaux. Ce numéro sert
de référence, par exemple, lors qu'on veut annuler une
modification.</p>
<p>La commande <code>git add</code> ajoute un fichier dans le dépôt. On
peut également s'en servir pour des répertoires entiers. Les
commandes suivantes permettent ainsi de créer et remplir un dépôt git
dans un répertoire avec tout son contenu.</p>
<p>La commande <code>git add</code> ajoute un fichier dans le dépôt. On
peut également s'en servir pour des répertoires entiers. Les
commandes suivantes permettent ainsi de créer et remplir un dépôt git
dans un répertoire avec tout son contenu.</p>
<pre>git init
git add *
git commit</pre>
<div class="encadre">Le dépôt git est enregistré dans le sous-répertoire
<code>.git</code> du répertoire où il a été créé. Ce dépôt peut différer du
contenu du répertoire proprement dit, si on a modifié les fichiers depuis
le dernier <em>commit</em> ou si on a importé les modifications d'un autre
contributeur. Noter que ce répertoire est souvent invisible dans les
<div class="encadre">Le dépôt git est enregistré dans le sous-répertoire
<code>.git</code> du répertoire où il a été créé. Ce dépôt peut différer du
contenu du répertoire proprement dit, si on a modifié les fichiers depuis
le dernier <em>commit</em> ou si on a importé les modifications d'un autre
contributeur. Noter que ce répertoire est souvent invisible dans les
explorateurs de fichiers et dans la sortie de la commande <code>ls</code>,
puisque son nom commence par un point. Les dépôts git peuvent être
compressés pour occuper moins de place (voir la commande <code>git
puisque son nom commence par un point. Les dépôts git peuvent être
compressés pour occuper moins de place (voir la commande <code>git
repack</code> et <code>git gc</code>).</div>
<p>On dispose d'une interface graphique (<code>git-gui</code>) et d'une
interface Web (gitweb) pour explorer agréablement un dépôt git.</p>
interface Web (gitweb) pour explorer agréablement un dépôt git.</p>
<h2>Travailler sur un projet géré par git</h2>
<h2>Travailler sur un projet géré par git</h2>
<p>Une autre manière de créer un dépôt git consiste à cloner un dépôt déjà
existant. Si la dénommée Xanadu possède un dépôt git dans son répertoire
<code>/home/xanadu/these</code>, le dénommé Yoda peut l'aider en clonant
son dépôt par la commande suivante</p>
<p>Une autre manière de créer un dépôt git consiste à cloner un dépôt déjà
existant. Si la dénommée Xanadu possède un dépôt git dans son répertoire
<code>/home/xanadu/these</code>, le dénommé Yoda peut l'aider en clonant
son dépôt par la commande suivante</p>
<pre>git clone /home/xanadu/these cible</pre>
<p class="continue">où <code>cible</code> est le répertoire qui contiendra la copie. Yoda
peut alors travailler librement dans le répertoire <code>cible</code> comme
sur n'importe quel dépôt git dont il est le propriétaire.</p>
<p class="continue">où <code>cible</code> est le répertoire qui contiendra la copie. Yoda
peut alors travailler librement dans le répertoire <code>cible</code> comme
sur n'importe quel dépôt git dont il est le propriétaire.</p>
<div class="encadre">Ceci s'applique également aux projets situés sur des
machines distantes. On peut ainsi remplacer le répertoire par une adresse
<div class="encadre">Ceci s'applique également aux projets situés sur des
machines distantes. On peut ainsi remplacer le répertoire par une adresse
du type <code>ssh://login@machine/home/xanadu/these</code>, si le
répertoire se trouve sur une machine à laquelle on accède par
répertoire se trouve sur une machine à laquelle on accède par
<code>ssh</code>. La plupart des projets de logiciels libres indiquent des
adresses de la forme <code>git://git.logiciel.org/trunk</code> ou encore
<code>http://git.logiciel.org/trunk</code>.</div>
<p>Yoda effectue alors quelques opérations sur les fichiers. Il enregistre
régulièrement ses modifications dans le dépôt proprement dit en tapant</p>
<p>Yoda effectue alors quelques opérations sur les fichiers. Il enregistre
régulièrement ses modifications dans le dépôt proprement dit en tapant</p>
<pre>git commit -a</pre>
@ -126,91 +126,91 @@ régulièrement ses modifications dans le dépôt proprement dit en tapant</p>
modifications.</p>
<p>Si d'aventure Xanadu continuait de travailler sur son projet, Yoda peut
importer les dernières modifications en lançant la commande
importer les dernières modifications en lançant la commande
</p>
<pre>git pull</pre>
<p>dans son dépôt. Quant à Xanadu, si elle veut bénéficier des
modifications apportées par Yoda, se trouvant dans le répertoire
<p>dans son dépôt. Quant à Xanadu, si elle veut bénéficier des
modifications apportées par Yoda, se trouvant dans le répertoire
<code>/home/yoda/cible</code>, elle peut lancer la commande suivante chez
elle.</p>
<pre>git pull /home/yoda/cible</pre>
<p>Si Yoda pouvait accéder en écriture aux fichiers de Xanadu, il
pourrait également lui transmettre ses modifications par la commande
<p>Si Yoda pouvait accéder en écriture aux fichiers de Xanadu, il
pourrait également lui transmettre ses modifications par la commande
</p>
<pre>git push</pre>
<p>Entraînée par sa paresse naturelle, Xanadu aimerait facilement récupérer
les modifications de Yoda sans avoir à se rappeler le répertoire exact où
il les enregistre. Elle définit donc un raccourci de la manière
<p>Entraînée par sa paresse naturelle, Xanadu aimerait facilement récupérer
les modifications de Yoda sans avoir à se rappeler le répertoire exact où
il les enregistre. Elle définit donc un raccourci de la manière
suivante</p>
<pre>git remote add yoda /home/yoda/cible</pre>
<p>La commande <code>git remote show yoda</code> permet de consulter
les informations sur le dépôt de Yoda, et <code>git pull yoda</code>
permet de récupérer directement ses modifications. On peut également
les informations sur le dépôt de Yoda, et <code>git pull yoda</code>
permet de récupérer directement ses modifications. On peut également
utiliser les commandes </p>
<pre>git fetch yoda
git merge yoda/master</pre>
<p class="encadre">Ici, <code>master</code> est la branche du dépôt de Yoda
que Xanadu souhaite utiliser. Un dépôt git peut comporter plusieurs
branches correspondant à autant de directions différentes de
développement. Ce système permet d'essayer diverses orientations, avant de
<p class="encadre">Ici, <code>master</code> est la branche du dépôt de Yoda
que Xanadu souhaite utiliser. Un dépôt git peut comporter plusieurs
branches correspondant à autant de directions différentes de
développement. Ce système permet d'essayer diverses orientations, avant de
retenir la meilleure. La commande <code>git remote show</code> permet de
voir la liste des branches d'un dépôt enregistré dans la liste des
voir la liste des branches d'un dépôt enregistré dans la liste des
<em>remotes</em></p>
<h2>Travailler sur un projet géré par Subversion</h2>
<h2>Travailler sur un projet géré par Subversion</h2>
<p>Contrairement à git, Subversion, dans un usage normal, ne clone pas
entièrement le dépôt distant avec ses modifications successives, mais
conserve seulement une copie de la dernière version. Il est possible
d'utiliser le modèle de travail de git tout en interagissant avec un dépôt
<p>Contrairement à git, Subversion, dans un usage normal, ne clone pas
entièrement le dépôt distant avec ses modifications successives, mais
conserve seulement une copie de la dernière version. Il est possible
d'utiliser le modèle de travail de git tout en interagissant avec un dépôt
Subversion en utilisant le script <code>git-svn</code>. Ceci permet, par
exemple, de travailler facilement à plusieurs sur un sous-projet donné, en
envoyant périodiquement le résultat du travail.</p>
exemple, de travailler facilement à plusieurs sur un sous-projet donné, en
envoyant périodiquement le résultat du travail.</p>
<pre>git-svn clone http://svn.site.org/svnroot/projet -T trunk -b branches -t tags</pre>
<p>La commande précédente permet d'importer la totalité d'un projet
Subversion, avec ses différentes branches et tags (correpondant
généralement aux différentes versions publiées). Attention, cela prend
généralement beaucoup de place. Cependant, l'utilisation de
<code>git-gc</code> permet de compresser les données et réduit l'espace
occupé à l'ordre de grandeur de la taille d'un <em>checkout</em> Subversion
<p>La commande précédente permet d'importer la totalité d'un projet
Subversion, avec ses différentes branches et tags (correpondant
généralement aux différentes versions publiées). Attention, cela prend
généralement beaucoup de place. Cependant, l'utilisation de
<code>git-gc</code> permet de compresser les données et réduit l'espace
occupé à l'ordre de grandeur de la taille d'un <em>checkout</em> Subversion
(mais ici on garde tout l'historique).</p>
<p>On peut alors travailler normalement sur son dépôt. Les
<p>On peut alors travailler normalement sur son dépôt. Les
commandes</p>
<pre>git-svn rebase
git-svn dcommit</pre>
<p class="continue">permettent respectivement de recevoir et d'envoyer les modifications
apportées.</p>
apportées.</p>
<h2>Travailler sur un projet géré par CVS</h2>
<h2>Travailler sur un projet géré par CVS</h2>
<p>Pour aspirer le contenu d'un dépôt CVS avec son historique et
l'enregistrer sous forme de dépôt git, on dispose de la commande
<p>Pour aspirer le contenu d'un dépôt CVS avec son historique et
l'enregistrer sous forme de dépôt git, on dispose de la commande
<code>git-cvsimport</code>.</p>
<pre>git-cvsimport -d:pserver:anonymous@cvs.truc.org:/sources projet</pre>
<p class="encadre">On peut ajouter l'option <code>-p -Z,3</code> pour
activer la compression. Pour utiliser <code>git-cvsimport</code>, il faut
au préalable s'assurer de la présence du programme <code>cvsps</code> sur
au préalable s'assurer de la présence du programme <code>cvsps</code> sur
son ordinateur.</p>
<h2>Travailler sur un projet géré par Arch</h2>
<h2>Travailler sur un projet géré par Arch</h2>
<p>Pour aspirer le contenu d'un dépôt Arch avec son historique et
l'enregistrer sous forme de dépôt git, on dispose de la commande
<p>Pour aspirer le contenu d'un dépôt Arch avec son historique et
l'enregistrer sous forme de dépôt git, on dispose de la commande
<code>git-archimport</code>.</p>
<pre><span class="prompt">machine $</span> tla register-archive http://arch.foobar.org/archives/software
@ -218,9 +218,9 @@ user@arch.foobar.org
<span class="prompt">machine $</span> tla my-default-archive user@arch.foobar.org
<span class="prompt">machine $</span> git-archimport software--devo--0:master</pre>
<p class="encadre">L'utilisation de <code>git-archimport</code> requiert la présence
du client <code>tla</code> qui est la façon la plus commune d'accéder aux
dépôts GNU Arch.</p>
<p class="encadre">L'utilisation de <code>git-archimport</code> requiert la présence
du client <code>tla</code> qui est la façon la plus commune d'accéder aux
dépôts GNU Arch.</p>
<h2>En savoir plus</h2>
@ -229,8 +229,8 @@ dépôts GNU Arch.</p>
</ul>
<div class="metainformation">
Auteur : Rémy Oudompheng.
Dernière modification le <date value="$Date: 2008-03-27 01:00:08 $" />.
Auteur : Rémy Oudompheng.
Dernière modification le <date value="$Date: 2008-03-27 01:00:08 $" />.
</div>
</body>

View file

@ -11,53 +11,53 @@
<h1>Documentations sur des logiciels</h1>
<p>
Cette section contient de la documentation sur différents
logiciels :</p>
Cette section contient de la documentation sur différents
logiciels :</p>
<ul>
<li><a href="latex/"><strong>LaTeX</strong></a> : un logiciel très
<li><a href="latex/"><strong>LaTeX</strong></a> : un logiciel très
puissant de traitement de texte (les documents produits sont d'une
qualité typographique excellente) ;</li>
qualité typographique excellente) ;</li>
<li><a href="mozilla/"><strong>Mozilla</strong></a> : une suite de
<li><a href="mozilla/"><strong>Mozilla</strong></a> : une suite de
logiciels pour Internet, comprenant en particulier un excellent
navigateur Web et un module de gestion des mails et de lecture des
news ;</li>
news ;</li>
<li><a href="tkabber.html"><strong>Tkabber</strong></a>, un client de
<a href="&url.tuteurs;internet/im.html">messagerie instantanée</a> qui
supporte le réseau <a
<a href="&url.tuteurs;internet/im.html">messagerie instantanée</a> qui
supporte le réseau <a
href="&url.tuteurs;internet/jabber.html">Jabber</a>.
</li>
<li><a href="gaim.html"><strong>Gaim</strong></a>, un client de <a
href="&url.tuteurs;internet/im.html">messagerie instantanée</a> qui
href="&url.tuteurs;internet/im.html">messagerie instantanée</a> qui
supporte AIM, ICQ, <a
href="&url.tuteurs;internet/jabber.html">Jabber</a>, MSN, et Yahoo!
Messenger.</li>
<li><a href="rcs/">le contrôle de versions avec
<strong>RCS</strong></a> : un petit logiciel permettant de gérer
différentes versions d'un seul fichier (aide-mémoire de Roberto
<li><a href="rcs/">le contrôle de versions avec
<strong>RCS</strong></a> : un petit logiciel permettant de gérer
différentes versions d'un seul fichier (aide-mémoire de Roberto
Dicosmo);</li>
<li><a href="cvs/">le contrôle de versions avec
<strong>CVS</strong></a> : un logiciel très puissant pour gérer
différentes versions de beaucoup de fichiers produits éventuellement
<li><a href="cvs/">le contrôle de versions avec
<strong>CVS</strong></a> : un logiciel très puissant pour gérer
différentes versions de beaucoup de fichiers produits éventuellement
par de multiples utilisateurs. </li>
<li><a href="subversion/">le contrôle de versions avec
<li><a href="subversion/">le contrôle de versions avec
<strong>Subversion</strong></a>. </li>
<li><a href="git/">le contrôle de versions avec
<li><a href="git/">le contrôle de versions avec
<strong>Git</strong></a>. </li>
</ul>
<div class="metainformation">
Auteur : Joël Riou. Dernière modification <date value="$Date: 2008-03-27 00:59:59 $" />.
Auteur : Joël Riou. Dernière modification <date value="$Date: 2008-03-27 00:59:59 $" />.
</div>
</body>

View file

@ -11,34 +11,34 @@
<h1>Documentation essentielle et aide avec LaTeX</h1>
<p>
La pléthore de documents disponibles sur l'internet est bien classée
dans la liste des reproches habituellement faits à l'encontre de LaTeX.
LaTeX est en quelque sorte victime de son succès et du souci de ses
utilisateurs de partager leurs connaissances et leurs trucs si chèrement
acquis. Si cela part d'un bon sentiment, on n'évite pas deux écueils :
premièrement, le débutant en quête de renseignements se noie dans les
tonnes de réponses que peuvent lui donner quelques mots-clefs comme
« <code>interligne double LaTeX</code> » tapés à la sauvette dans
Google ; et deuxièmement, dans les pages traitant le sujet, beaucoup
donnent de mauvais conseils. Il faut reconnaître malgré tout que
l'énorme avantage des documents électroniques est qu'ils sont capables
d'évoluer avec le logiciel alors que la plupart des livres ne sont plus
d'actualité (le <em>LaTeX companion</em> est la plus belle exception à
cette règle).
La pléthore de documents disponibles sur l'internet est bien classée
dans la liste des reproches habituellement faits à l'encontre de LaTeX.
LaTeX est en quelque sorte victime de son succès et du souci de ses
utilisateurs de partager leurs connaissances et leurs trucs si chèrement
acquis. Si cela part d'un bon sentiment, on n'évite pas deux écueils :
premièrement, le débutant en quête de renseignements se noie dans les
tonnes de réponses que peuvent lui donner quelques mots-clefs comme
« <code>interligne double LaTeX</code> » tapés à la sauvette dans
Google ; et deuxièmement, dans les pages traitant le sujet, beaucoup
donnent de mauvais conseils. Il faut reconnaître malgré tout que
l'énorme avantage des documents électroniques est qu'ils sont capables
d'évoluer avec le logiciel alors que la plupart des livres ne sont plus
d'actualité (le <em>LaTeX companion</em> est la plus belle exception à
cette règle).
</p>
<p>
Cette page espère faire le tri et je soutiens que les informations
pertinentes concernant LaTeX peuvent être trouvées dans la plupart des
cas, en se limitant à seulement quelques documents que nous allons
présenter ici.
Cette page espère faire le tri et je soutiens que les informations
pertinentes concernant LaTeX peuvent être trouvées dans la plupart des
cas, en se limitant à seulement quelques documents que nous allons
présenter ici.
</p>
<h2>Les <acronym title="Frequently asked questions">FAQ</acronym></h2>
<p>
Si vous vous posez une question, il y a fort à parier qu'elle est
traitées dans les <acronym title="Frequently asked
Si vous vous posez une question, il y a fort à parier qu'elle est
traitées dans les <acronym title="Frequently asked
questions">FAQ</acronym> qui regroupent les interrogations les plus
courantes au sujet de LaTeX.
</p>
@ -48,9 +48,9 @@ courantes au sujet de LaTeX.
<a href="http://www.tex.ac.uk/cgi-bin/texfaq2html">FAQ anglophone</a>
</dt>
<dd>
La FAQ la plus recommandable car à jour, d'utilisation aisée et efficace,
disponible dans de nombreux formats (elle est même souvent présente
dans les répertoires de documentation des distributions LaTeX, sous le
La FAQ la plus recommandable car à jour, d'utilisation aisée et efficace,
disponible dans de nombreux formats (elle est même souvent présente
dans les répertoires de documentation des distributions LaTeX, sous le
nom <tt>uktug-faq</tt>).
</dd>
@ -60,114 +60,114 @@ courantes au sujet de LaTeX.
</dt>
<dd>
Pour ceux pour qui la lecture de l'anglais est difficile, cette FAQ
francophone est d'utilisation facile mais on déplorera quelques
inexactitudes et du code qui commence à dater singulièrement.
francophone est d'utilisation facile mais on déplorera quelques
inexactitudes et du code qui commence à dater singulièrement.
</dd>
<dt>
<a href="http://faqfctt.fr.eu.org/">FAQ
francophone</a> (nouvelle et en cours de rédaction)
francophone</a> (nouvelle et en cours de rédaction)
</dt>
<dd>
Bien plus récente que la FAQ grappa, cette nouvelle FAQ est
malheureusement encore inachevée et elle n'existe pas au format HTML
ce qui nuit à l'efficacité de la consultation (étant donné sa
taille). Des efforts devraient aller dans le bon sens à l'avenir.
Bien plus récente que la FAQ grappa, cette nouvelle FAQ est
malheureusement encore inachevée et elle n'existe pas au format HTML
ce qui nuit à l'efficacité de la consultation (étant donné sa
taille). Des efforts devraient aller dans le bon sens à l'avenir.
</dd>
</dl>
<h2>Documents essentiels</h2>
<p>
Nous donnons une liste de documents sûrs et couvrant la plupart des
domaines abordés lorsque l'on utilise LaTeX.
Nous donnons une liste de documents sûrs et couvrant la plupart des
domaines abordés lorsque l'on utilise LaTeX.
</p>
<dl>
<dt>Introduction à LaTeX</dt>
<dt>Introduction à LaTeX</dt>
<dd>
Le document électronique le plus fiable pour commencer à apprendre
Le document électronique le plus fiable pour commencer à apprendre
LaTeX est <em>The not so short introduction to LaTeX2e</em> (il est
disponible en <a
href="http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf">anglais</a>
et en <a
href="http://www.ctan.org/tex-archive/info/lshort/french/flshort-3.20.pdf">français</a>).
Le livre le plus simple (mais peu utile à long terme, donc je me
contente de le citer sans le conseiller) pour débuter est le livre
href="http://www.ctan.org/tex-archive/info/lshort/french/flshort-3.20.pdf">français</a>).
Le livre le plus simple (mais peu utile à long terme, donc je me
contente de le citer sans le conseiller) pour débuter est le livre
original de Leslie Lamport <em>LaTeX2e, a document preparation
system</em>. On regrettera que le <em>LaTeX companion</em> ne soit
pas plus adapté à une introduction pas à pas. Plus d'informations aux
questions « <a
pas plus adapté à une introduction pas à pas. Plus d'informations aux
questions « <a
href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=man-latex">Online
introductions : LaTeX</a> » et, pour les livres, « <a
introductions : LaTeX</a> » et, pour les livres, « <a
href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=books">Books on
TeX and its relations</a> ».
TeX and its relations</a> ».
</dd>
<dt>Graphiques</dt>
<dd>
En ce qui concerne l'insertion de graphiques (externes,
c'est-à-dire généralement produits par un programme annexe comme
c'est-à-dire généralement produits par un programme annexe comme
XFig), le document <a
href="ftp://cam.ctan.org/tex-archive/info/epslatex/english/epslatex.pdf">Using
imported graphics in LaTeX2e</a> est tout simplement excellent.
Les autres possibilités du package <code>graphicx</code> sont décrites
dans la documentation du package (rotations, mises à l'échelle,
etc.) : le fichier <tt><a
Les autres possibilités du package <code>graphicx</code> sont décrites
dans la documentation du package (rotations, mises à l'échelle,
etc.) : le fichier <tt><a
href="ftp://tug.ctan.org/pub/tex-archive/macros/latex/required/graphics/grfguide.pdf">grfguide</a></tt>
(remarque : pour la gestion des couleurs, préférez le package bien plus
(remarque : pour la gestion des couleurs, préférez le package bien plus
moderne <code>xcolor</code>).
</dd>
<dd>
Pour créer des figures sans programme externe, il y a pgf et tikz. Vous
Pour créer des figures sans programme externe, il y a pgf et tikz. Vous
trouverez de nombreux exemples
<a href="http://www.fauskes.net/pgftikzexamples/"> ici </a>.
</dd>
<dt>Symboles, caractères spéciaux</dt>
<dt>Symboles, caractères spéciaux</dt>
<dd>
Là encore, la réponse est simple : quel que soit le symbole recherché,
la quête doit commencer dans <a
Là encore, la réponse est simple : quel que soit le symbole recherché,
la quête doit commencer dans <a
href="http://www.tex.ac.uk/tex-archive/info/symbols/comprehensive/symbols-a4.pdf">The
comprehensive LaTeX symbol list</a>.
</dd>
<dt>Mathématiques</dt>
<dt>Mathématiques</dt>
<dd>
Pour faire un tour quasi exhaustif des méthodes existantes concernant
l'écriture de formules mathématiques vous pouvez consulter
premièrement la documentation d'<code><a
Pour faire un tour quasi exhaustif des méthodes existantes concernant
l'écriture de formules mathématiques vous pouvez consulter
premièrement la documentation d'<code><a
href="ftp://tug.ctan.org/pub/tex-archive/info/italian/amsldoc/amsldoc.pdf">amsmath</a></code>
qui décrit pas mal d'environnements pour les formules centrées et sur
plusieurs lignes ; deuxièmement, un coup d'oeil un peu
plus panoramique pourra être jeté sur le thème depuis
qui décrit pas mal d'environnements pour les formules centrées et sur
plusieurs lignes ; deuxièmement, un coup d'oeil un peu
plus panoramique pourra être jeté sur le thème depuis
<code><a
href="ftp://tug.ctan.org/pub/tex-archive/info/math/voss/mathmode/Mathmode.pdf">Mathmode</a></code>
qui est lui aussi très bon.
qui est lui aussi très bon.
</dd>
</dl>
<p>
Si les mauvaises habitudes sont déjà prises, vous pouvez consulter
&mdash; à défaut du docteur &mdash; la liste des péchés capitaux de
Si les mauvaises habitudes sont déjà prises, vous pouvez consulter
&mdash; à défaut du docteur &mdash; la liste des péchés capitaux de
LaTeX pour tenter de corriger le tir. Ce document existe <a
href="ftp://tug.ctan.org/pub/tex-archive/info/l2tabu/english/l2tabuen.pdf">en
anglais</a> et en <a
href="ftp://tug.ctan.org/pub/tex-archive/info/l2tabu/french/l2tabufr-heavy.pdf">en
français</a>.
français</a>.
</p>
<h2>Quel package utiliser ?</h2>
<h2>Quel package utiliser ?</h2>
<p>
De manière très similaire à ce qui a été décrit pour les packages, le
De manière très similaire à ce qui a été décrit pour les packages, le
nombre grandissant des packages introduit bien de la confusion dans
l'esprit de l'utilisateur. Lire toutes les documentations n'est pas
vraiment envisageable. Les outils suivants peuvent vous aider à trouver
vraiment envisageable. Les outils suivants peuvent vous aider à trouver
la perle rare, l'aiguille dans la botte de foin.
</p>
@ -180,7 +180,7 @@ la perle rare, l'aiguille dans la botte de foin.
</dt>
<dd>
Vous pouvez chercher un package avec un mot-clef pertinent
(« <code>verbatim</code> », ou « <code>bibliography</code> », par
(« <code>verbatim</code> », ou « <code>bibliography</code> », par
exemple).
</dd>
@ -189,8 +189,8 @@ la perle rare, l'aiguille dans la botte de foin.
</dt>
<dd>
Liste presqu'exhaustive des packages connus sur le CTAN. La liste
peut être présentée par ordre alphabétique, par thème (mathématiques,
figures, par exemple), accompagnée de courtes descriptions.
peut être présentée par ordre alphabétique, par thème (mathématiques,
figures, par exemple), accompagnée de courtes descriptions.
</dd>
</dl>
@ -198,16 +198,16 @@ la perle rare, l'aiguille dans la botte de foin.
<h2>Documentation du package</h2>
<p>
La plupart des distributions intègre &mdash; ou du moins donne la
possibilité d'intégrer &mdash; les documentations des packages. Elles
se trouvent généralement dans un répertoire <code>$TEXMF/doc</code>, où
<code>$TEXMF</code> désigne l'emplacement de l'arborescence TeX de votre
système (des exemples classiques sont <code>/usr/share/texmf</code> ou
<code>C:\MikTeX\texmf</code>). Les formats utilisés sont PDF,
La plupart des distributions intègre &mdash; ou du moins donne la
possibilité d'intégrer &mdash; les documentations des packages. Elles
se trouvent généralement dans un répertoire <code>$TEXMF/doc</code>, où
<code>$TEXMF</code> désigne l'emplacement de l'arborescence TeX de votre
système (des exemples classiques sont <code>/usr/share/texmf</code> ou
<code>C:\MikTeX\texmf</code>). Les formats utilisés sont PDF,
PostScript, DVI et parfois
HTML. Sur les machines Unix, un programme peut
vous aider à accéder rapidement à une documentation tapez
(<code>$</code> désigne le <em>prompt</em>)
vous aider à accéder rapidement à une documentation tapez
(<code>$</code> désigne le <em>prompt</em>)
</p>
<pre>
@ -215,55 +215,55 @@ $ texdoc <var>nom_du_package</var>
</pre>
<p>
Par exemple « <code>texdoc listings</code> ». Attention aux pièges
fameux : la documentation d'<code>amsmath</code> s'appelle
Par exemple « <code>texdoc listings</code> ». Attention aux pièges
fameux : la documentation d'<code>amsmath</code> s'appelle
<tt>amsldoc</tt> et celle de <code>graphicx</code> s'appelle
<tt>grfguide</tt>. En outre, certains packages ont leur documentation
intégrées au fichier <tt>.sty</tt> (c'est le cas des packages de Donald
intégrées au fichier <tt>.sty</tt> (c'est le cas des packages de Donald
Arseneau comme <code>framed</code>). <code>fp</code> constitue une
autre exception : sa documentation est un fichier texte appelé
autre exception : sa documentation est un fichier texte appelé
<tt>readme.fp</tt>.
</p>
<p>
Une autre possibilité est d'aller trouver la documentation
sur le <a href="http://www.ctan.org/">CTAN</a>. Elle est généralement
Une autre possibilité est d'aller trouver la documentation
sur le <a href="http://www.ctan.org/">CTAN</a>. Elle est généralement
disponible directement en PDF, sinon apprenez comment obtenir de
l'information à partir des fichiers <tt>.dtx</tt> grâce à la <a
l'information à partir des fichiers <tt>.dtx</tt> grâce à la <a
href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pkgdoc">FAQ
 Documentation of packages »)</a>.
 Documentation of packages »)</a>.
</p>
<h2>À l'aide !</h2>
<h2>À l'aide !</h2>
<p>
Malgré ces quelques documents extrêmement précieux, vous n'avez toujours
pas trouvé la commande, l'environnement ou le package de vos rêves :
Malgré ces quelques documents extrêmement précieux, vous n'avez toujours
pas trouvé la commande, l'environnement ou le package de vos rêves :
</p>
<ul>
<li>Consultez Usenet, votre question a sans doute été posée.
<li>Consultez Usenet, votre question a sans doute été posée.
<a href="http://groups.google.fr/">Google groupes</a> vous en dira
long pourvu que vos mots-clefs soient pertinents. Songez à restreindre
les réponses au groupe <tt>fr.comp.text.tex</tt> avec
<code>group:fr.comp.text.tex</code> ou la recherche avancée.</li>
long pourvu que vos mots-clefs soient pertinents. Songez à restreindre
les réponses au groupe <tt>fr.comp.text.tex</tt> avec
<code>group:fr.comp.text.tex</code> ou la recherche avancée.</li>
<li>Si votre recherche n'aboutit pas, posez votre question sur ces
groupes : <tt>fr.comp.text.tex</tt> et <tt>comp.text.tex</tt> (si vous
êtes familier avec l'anglais). Pensez à respecter la <a href="http://www.sri.ucl.ac.be/SRI/rfc1855.fr.html#313">netiquette</a> et à
préparer un <a
groupes : <tt>fr.comp.text.tex</tt> et <tt>comp.text.tex</tt> (si vous
êtes familier avec l'anglais). Pensez à respecter la <a href="http://www.sri.ucl.ac.be/SRI/rfc1855.fr.html#313">netiquette</a> et à
préparer un <a
href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minxampl">exemple
complet minimal</a> !</li>
<li>Si vous êtes élève, ancien élève ou étudiant de l'École normale
supérieure, vous pouvez 1. soit contacter les tuteurs informatiques en
respectant les mêmes consignes que pour Usenet : respect de la
netiquette et préparation d'un exemple complet et minimal ; 2. soit poser
complet minimal</a> !</li>
<li>Si vous êtes élève, ancien élève ou étudiant de l'École normale
supérieure, vous pouvez 1. soit contacter les tuteurs informatiques en
respectant les mêmes consignes que pour Usenet : respect de la
netiquette et préparation d'un exemple complet et minimal ; 2. soit poser
votre question sur forum.
</li>
</ul>
<div class="metainformation">
Auteur : Josselin Noirel.
Dernière modification le <date value="$Date: 2008-09-17 13:15:14 $" />.
Auteur : Josselin Noirel.
Dernière modification le <date value="$Date: 2008-09-17 13:15:14 $" />.
</div>
</body>

View file

@ -10,22 +10,22 @@
<h1>Diverses remarques et astuces</h1>
<p> On réunit ici différentes choses pour améliorer vos documents. Le
premier conseil est le suivant : faites attention à toujours bien
refermer toutes les accolades ouvertes, à ne pas les confondre avec des
crochets ou des parenthèses, à bien refermer les environnements ouverts
(comme <code>itemize</code>), et en respectant leurs emboîtements : les
trois quarts des erreurs signalées à la compilation viennent de là...
<p> On réunit ici différentes choses pour améliorer vos documents. Le
premier conseil est le suivant : faites attention à toujours bien
refermer toutes les accolades ouvertes, à ne pas les confondre avec des
crochets ou des parenthèses, à bien refermer les environnements ouverts
(comme <code>itemize</code>), et en respectant leurs emboîtements : les
trois quarts des erreurs signalées à la compilation viennent de là...
</p>
<h2>Comment faire des paragraphes ?</h2>
<h2>Comment faire des paragraphes ?</h2>
<p> Une ligne blanche dans le texte crée un saut de paragraphe avec
indentation. Tant qu'il n'y a pas de ligne blanche, et même s'il n'y a
qu'un mot par ligne, c'est le même paragraphe, qui sera formaté
<p> Une ligne blanche dans le texte crée un saut de paragraphe avec
indentation. Tant qu'il n'y a pas de ligne blanche, et même s'il n'y a
qu'un mot par ligne, c'est le même paragraphe, qui sera formaté
correctement dans le DVI. Et qu'il ait 1 ou 46 lignes blanches dans le
fichier source, c'est la même chose : il n'y aura qu'un changement
fichier source, c'est la même chose : il n'y aura qu'un changement
de paragraphe. Pour supprimer l'indentation, vous pouvez utiliser
<code>\noindent</code>.</p>
@ -35,86 +35,86 @@ une ligne blanche et taper la commande <code>\bigskip</code>.</p>
<h2>Des commandes utiles pour la typographie</h2>
<p> Babel gère tout seul les espacements avant les ponctuations, et
veille à ce qu'une ponctuation ne se retrouve pas isolée en début de
ligne; vous n'avez donc pas à vous en soucier : ne mettez pas
<p> Babel gère tout seul les espacements avant les ponctuations, et
veille à ce qu'une ponctuation ne se retrouve pas isolée en début de
ligne; vous n'avez donc pas à vous en soucier : ne mettez pas
d'espace avant les ponctuations (et les guillemets) et vous aurez un
document impeccable. En revanche, mettez toujours un espace
<em>après</em> les ponctuations. </p>
<em>après</em> les ponctuations. </p>
<p> Mais cela ne doit pas vous empêcher de prendre de <a
<p> Mais cela ne doit pas vous empêcher de prendre de <a
href="&url.tuteurs;docs/hublot/hublot04.html#typo">bonnes habitudes</a> quand vous
tapez avec d'autres logiciels ou que vous rédigez un courrier toutes les
tapez avec d'autres logiciels ou que vous rédigez un courrier toutes les
ponctuations sont suivies d'un espace, seules les ponctuations doubles
sont précédées d'un espace.</p>
sont précédées d'un espace.</p>
<table class="tableau">
<tr> <td><code>~</code></td><td>Le tilde est un espace insécable ; c'est
utile quand on veut être sûr que deux mots ne seront pas séparés :
<code>M.~Dupont</code> donne «M. Dupont», les deux mots ne pouvant pas
être séparés (en fin de ligne par exemple).
<tr> <td><code>~</code></td><td>Le tilde est un espace insécable ; c'est
utile quand on veut être sûr que deux mots ne seront pas séparés :
<code>M.~Dupont</code> donne «M. Dupont», les deux mots ne pouvant pas
être séparés (en fin de ligne par exemple).
</td></tr><tr> <td><code>\,</code></td><td>C'est une espace fine insécable,
</td></tr><tr> <td><code>\,</code></td><td>C'est une espace fine insécable,
moins large qu'une espace normale. En bonne typographie, les
points-virgule sont précédés d'une espace fine. Les documents sont aussi
points-virgule sont précédés d'une espace fine. Les documents sont aussi
plus jolis quand les guillemets, les points d'exclamation et
d'interrogation, les traits d'incise ne sont pas collés aux mots. Cela
d'interrogation, les traits d'incise ne sont pas collés aux mots. Cela
dit, Babel le fait pour vous... Dans un grand nombre, on met une espace
fine entre les milliers : <code>80\,000</code> donne 80 000 (OK, le
fine entre les milliers : <code>80\,000</code> donne 80 000 (OK, le
HTML n'inclut pas les espaces fines; et si oui, les brouteurs ne
l'affichent pas). On notera l'existence de la commande
<code>\nombre</code> définie par l'option «frenchb» (ou «francais») de
<code>\nombre</code> définie par l'option «frenchb» (ou «francais») de
Babel.
</td></tr><tr> <td><code>\\</code></td><td>Cette commande permet un retour à
</td></tr><tr> <td><code>\\</code></td><td>Cette commande permet un retour à
la ligne simple, sans indentation ni saut de ligne. Son usage est
fortement déconseillé en temps normal : pour revenir à la ligne, laissez
fortement déconseillé en temps normal : pour revenir à la ligne, laissez
une ligne blanche entre vos paragraphes. Vous risquez des messages
d'erreurs en utilisant cette commande. On ne l'utilise qu'à la fin des
vers dans l'environnement <code>verse</code>, et à la fin des lignes de
d'erreurs en utilisant cette commande. On ne l'utilise qu'à la fin des
vers dans l'environnement <code>verse</code>, et à la fin des lignes de
tableaux dans l'environnement <code>tabular</code>.
</td></tr><tr> <td><code>%</code></td><td>Le «pour cent» a pour résultat de
faire ignorer à LaTeX le reste de la ligne. Cela permet de faire des
commentaires dans son document, de réserver des lignes de brouillon par
</td></tr><tr> <td><code>%</code></td><td>Le «pour cent» a pour résultat de
faire ignorer à LaTeX le reste de la ligne. Cela permet de faire des
commentaires dans son document, de réserver des lignes de brouillon par
exemple, ou encore de faciliter la mise en page en figurant un
soulignement.
</td></tr><tr> <td><code>-</code></td><td>C'est un trait d'union :
<code>c'est-à-dire</code> donne «c'est-à-dire».
</td></tr><tr> <td><code>-</code></td><td>C'est un trait d'union :
<code>c'est-à-dire</code> donne «c'est-à-dire».
</td></tr><tr> <td>-- </td><td>C'est un intervalle entre deux chiffres :
<code>Mozart (1756--1791)</code> donne «Mozart (1756-1791)». En LaTeX,
</td></tr><tr> <td>-- </td><td>C'est un intervalle entre deux chiffres :
<code>Mozart (1756--1791)</code> donne «Mozart (1756-1791)». En LaTeX,
vous verriez un tiret un peu plus long...
</td></tr><tr> <td>--- </td><td>Le troisième fabrique un trait
d'incise : <code>je pensais --- bien à tort ---</code> donne «je pensais
&mdash; bien à tort &mdash;» (en LaTeX, vous verriez des tirets
</td></tr><tr> <td>--- </td><td>Le troisième fabrique un trait
d'incise : <code>je pensais --- bien à tort ---</code> donne «je pensais
&mdash; bien à tort &mdash;» (en LaTeX, vous verriez des tirets
longs...).</td></tr>
</table>
<h2>Césures</h2>
<h2>Césures</h2>
<p> LaTeX sait globalement couper correctement les mots, mais reste
parfois perplexe devant les mots français; quand il ne sait pas où
couper, il laisse le mot entier, au risque de le faire dépasser de la
ligne. Le problème est signalé lors de la compilation par une ligne de
ce genre :</p>
parfois perplexe devant les mots français; quand il ne sait pas où
couper, il laisse le mot entier, au risque de le faire dépasser de la
ligne. Le problème est signalé lors de la compilation par une ligne de
ce genre :</p>
<pre>
Overfull \hbox (45.43307pt too wide) in paragraph at lines
648--664
</pre>
<p> Il faut se reporter aux lignes indiquées faire soi-même les césures
soi-même, avec la commande <code>\-</code> qui indique où l'on peut
couper le mot : <code>tran\-quil\-le\-ment</code>.</p>
<p> Il faut se reporter aux lignes indiquées faire soi-même les césures
soi-même, avec la commande <code>\-</code> qui indique où l'on peut
couper le mot : <code>tran\-quil\-le\-ment</code>.</p>
<h2>Caractères spéciaux</h2>
<h2>Caractères spéciaux</h2>
<div>
<table class="tableau">
@ -133,13 +133,13 @@ couper le mot
<tr>
<td><code>~</code></td>
<td>Tilde. Espace insécable.</td>
<td>Tilde. Espace insécable.</td>
<td><code>\verb+~+</code></td>
</tr>
<tr>
<td><code>{</code> et <code>}</code></td>
<td>Accolades. Délimitent un bloc.</td>
<td>Accolades. Délimitent un bloc.</td>
<td><code>\{</code> et <code>\}</code></td>
</tr>
@ -151,78 +151,78 @@ couper le mot
<tr>
<td><code>$</code></td>
<td>Dollar. Ouvre et ferme le mode mathématique.</td>
<td>Dollar. Ouvre et ferme le mode mathématique.</td>
<td><code>\$</code></td>
</tr>
<tr>
<td><code>&amp;</code></td>
<td>Esperluette. Délimite une colonne dans un environnement de
<td>Esperluette. Délimite une colonne dans un environnement de
tableau.</td>
<td><code>\&amp;</code></td>
</tr>
<tr>
<td><code>#</code></td>
<td>Dièse. Utilisé quand on écrit des macros.</td>
<td>Dièse. Utilisé quand on écrit des macros.</td>
<td><code>\#</code></td>
</tr>
<tr>
<td><code>^</code></td>
<td>Chapeau. Introduit un exposant en mode mathématique.</td>
<td>Chapeau. Introduit un exposant en mode mathématique.</td>
<td><code>\verb+^+</code></td>
</tr>
<tr>
<td><code>_</code></td>
<td>Underscore. Introduit un indice en mode mathématique.</td>
<td>Underscore. Introduit un indice en mode mathématique.</td>
<td><code>\_</code></td>
</tr>
</table>
</div>
<h2>Écrire du français</h2>
<h2>Écrire du français</h2>
<p> Tout d'abord, veillez à respecter les <a
<p> Tout d'abord, veillez à respecter les <a
href="&url.tuteurs;docs/hublot/hublot01.html#typo">conventions typographiques
françaises</a> : majuscules accentuées, guillemets « carrés » et non
"américains" ou ``anglais'' ; pour la ponctuation, faites confiance à
françaises</a> : majuscules accentuées, guillemets « carrés » et non
"américains" ou ``anglais'' ; pour la ponctuation, faites confiance à
Babel. </p>
<p> Il existe d'autre part une série de commandes prédéfinies pour les
abréviations françaises : <code>\ier</code> pour 1er, <code>\iere</code>
<p> Il existe d'autre part une série de commandes prédéfinies pour les
abréviations françaises : <code>\ier</code> pour 1er, <code>\iere</code>
pour 1re, <code>\ieme</code> pour 2e. Mettez un backslash
(<code>\</code>) après la commande pour garantir l'espace
(<code>1\ier point</code> donne « 1<sup>er</sup>point » ;
<code>1\ier\ point</code> donne
« 1<sup>er</sup> point »).</p>
(<code>\</code>) après la commande pour garantir l'espace
(<code>1\ier point</code> donne « 1<sup>er</sup>point » ;
<code>1\ier\ point</code> donne
« 1<sup>er</sup> point »).</p>
<p> Comme les claviers américains ne possèdent pas le « &oelig; » ligaturé,
il faut l'écrire en LaTeX : <code>c\oe ur</code> donne « c&oelig;ur »,
<code>\OE uvres</code> donne « OEuvres ». Ne vous en faites pas pour
l'espace au milieu du mot. Même si la deuxième partie du mot se perdait
au début de la ligne suivante, le résultat serait correct.</p>
<p> Comme les claviers américains ne possèdent pas le « &oelig; » ligaturé,
il faut l'écrire en LaTeX : <code>c\oe ur</code> donne « c&oelig;ur »,
<code>\OE uvres</code> donne « OEuvres ». Ne vous en faites pas pour
l'espace au milieu du mot. Même si la deuxième partie du mot se perdait
au début de la ligne suivante, le résultat serait correct.</p>
<h2>Insérer des fichiers</h2>
<h2>Insérer des fichiers</h2>
<p> Il est possible d'insérer dans le document un appel à un autre
fichier, avec la commande :</p>
<p> Il est possible d'insérer dans le document un appel à un autre
fichier, avec la commande :</p>
<pre>
\input{fichier}
</pre>
<p> Le fichier ainsi appelé est inséré dans le fichier principal lors de
la compilation. Cela permet de séparer un long document en plusieurs
parties indépendantes, qui lors de la compilation apparaîtront comme
faisant partie d'un même fichier (les pages, les notes de bas de page,
les sections, les figures, etc, sont numérotées correctement). </p>
<p> Le fichier ainsi appelé est inséré dans le fichier principal lors de
la compilation. Cela permet de séparer un long document en plusieurs
parties indépendantes, qui lors de la compilation apparaîtront comme
faisant partie d'un même fichier (les pages, les notes de bas de page,
les sections, les figures, etc, sont numérotées correctement). </p>
<div class="metainformation"> Auteurs : François-Xavier Coudert
(2002), Émilia Robin (2000). Dernière modification le <date
<div class="metainformation"> Auteurs : François-Xavier Coudert
(2002), Émilia Robin (2000). Dernière modification le <date
value="$Date: 2007-07-17 10:02:49 $" />,
par Josselin Noirel.
</div>

View file

@ -4,89 +4,89 @@
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Présentations</title>
<title>Présentations</title>
</head>
<body>
<h1>Faire des présentations en LaTeX avec beamer</h1>
<h1>Faire des présentations en LaTeX avec beamer</h1>
<h2>Introduction</h2>
<h3>Pourquoi faire une présentation en LaTeX plutôt qu'avec Powerpoint ou Impress?</h3>
<h3>Pourquoi faire une présentation en LaTeX plutôt qu'avec Powerpoint ou Impress?</h3>
<p>
Les arguments sont essentiellement les mêmes que pour LaTeX vs Word. En
faveur de latex, entre autres, la rigueur du rendu, la programmabilité,
la portabilité, la possibilité d'entrer des formules (combien de gens
voit-on convertir en images des formules tapées en TeX, pour les inclure
dans du powerpoint...), sont tout aussi utiles pour une présentation que
pour un rapport. D'un autre côté, le fait que la préparation du document
n'est pas faite de manière visuelle est sans doute plus génante pour des
transparents, mais pas tant que ça en fait. Enfin, Powerpoint propose
Les arguments sont essentiellement les mêmes que pour LaTeX vs Word. En
faveur de latex, entre autres, la rigueur du rendu, la programmabilité,
la portabilité, la possibilité d'entrer des formules (combien de gens
voit-on convertir en images des formules tapées en TeX, pour les inclure
dans du powerpoint...), sont tout aussi utiles pour une présentation que
pour un rapport. D'un autre côté, le fait que la préparation du document
n'est pas faite de manière visuelle est sans doute plus génante pour des
transparents, mais pas tant que ça en fait. Enfin, Powerpoint propose
tout plein d'effets graphiques (animations...), domaine dans lequel les
packages LaTeX sont un peu plus pauvres (mais certainement pas indigents,
et suffisants pour la plupart des usages).
</p>
<h3>Les packages LaTeX pour faire des présentations</h3>
<h3>Les packages LaTeX pour faire des présentations</h3>
<p>
Historiquement, il y avait les classes <kbd>slides</kbd>, et
<kbd>seminar</kbd> qui sont beaucoup trop basiques. Ensuite sont apparus
<kbd>pdfscreen</kbd> et <kbd>prosper</kbd>, qui sont beaucoup plus
évolués. Enfin est venu <kbd>beamer</kbd>, qui est nettement le meilleur
choix à l'heure actuelle. C'est de lui que traitera le reste de
évolués. Enfin est venu <kbd>beamer</kbd>, qui est nettement le meilleur
choix à l'heure actuelle. C'est de lui que traitera le reste de
l'article. Mentionnons enfin <a
href="http://pauillac.inria.fr/advi">advi</a>, qui est un viewer de dvi
avec plein de fonctions graphiques grassouilles (par exemple, on peut
faire se balader du texte sur la page). Il présente l'inconvénient de ne
tourner que sous unix, et de ne pas être bien standard (en général, on
doit se l'installer à la main).
faire se balader du texte sur la page). Il présente l'inconvénient de ne
tourner que sous unix, et de ne pas être bien standard (en général, on
doit se l'installer à la main).
</p>
<h3>Beamer</h3>
<p>
Beamer est donc un package LaTeX prévu pour faire des présentations. Il
est conçu pour produire du pdf. Pour ce faire, on compile le fichier
Beamer est donc un package LaTeX prévu pour faire des présentations. Il
est conçu pour produire du pdf. Pour ce faire, on compile le fichier
<kbd>.tex</kbd> en utilisant <kbd>pdflatex</kbd>.
Le pdf obtenu peut alors être visualisé avec n'importe
Le pdf obtenu peut alors être visualisé avec n'importe
quel afficheur de pdf, comme kpdf.
</p>
<p>
Beamer vient avec une documentation très étoffée, accessible <a
href="../../noncvs/docs/beamer">ici</a>. Beamer possède également deux
sous-packages :
Beamer vient avec une documentation très étoffée, accessible <a
href="../../noncvs/docs/beamer">ici</a>. Beamer possède également deux
sous-packages :
</p>
<dl>
<dt>pgf</dt>
<dd>
package permettant plein de grassouillitudes graphiques. Il
réimplémente une partie de pstricks (cela le rend intéressant en
lui-même, puisque pstricks ne marche pas avec pdflatex). On vera ici un
réimplémente une partie de pstricks (cela le rend intéressant en
lui-même, puisque pstricks ne marche pas avec pdflatex). On vera ici un
exemple d'utilisation de pgf pour inclure des images. <a
href="../../noncvs/docs/pgf">Documentation de pgf.</a>
</dd>
<dt>xcolor</dt>
<dd>
package permettant de définir des couleurs, de manière très
sophistiquée  : mélange de couleurs, différents modèles de couleurs,
package permettant de définir des couleurs, de manière très
sophistiquée  : mélange de couleurs, différents modèles de couleurs,
... <a
href="../../noncvs/docs/xcolor">Documentation de xcolor.</a>
</dd>
</dl>
<p>
Comme ils sont assez techniques, et pas indispensables à maitriser pour une
utilisation simple de beamer, on ne les décrira pas plus avant ici, on
renvoie à leur documentation.
Comme ils sont assez techniques, et pas indispensables à maitriser pour une
utilisation simple de beamer, on ne les décrira pas plus avant ici, on
renvoie à leur documentation.
</p>
<p>
Beamer est installé sur les machines de l'École, et est inclus dans de
plus en plus de distributions de TeX. Si néanmoins vous ne l'avez pas sur
la votre, vous pouvez le télécharger <a
Beamer est installé sur les machines de l'École, et est inclus dans de
plus en plus de distributions de TeX. Si néanmoins vous ne l'avez pas sur
la votre, vous pouvez le télécharger <a
href="http://sourceforge.net/projects/latex-beamer">ici</a>, il faut y
récupérer les versions les plus récentes de <kbd>latex-beamer</kbd>,
récupérer les versions les plus récentes de <kbd>latex-beamer</kbd>,
<kbd>pgf</kbd> et <kbd>xcolor</kbd>.
</p>
@ -95,7 +95,7 @@
<h3>Le .tex</h3>
<p>
Soit le fichier <kbd>b.tex</kbd> suivant :
Soit le fichier <kbd>b.tex</kbd> suivant :
</p>
<pre>
@ -104,7 +104,7 @@
\usetheme{Warsaw}
\title{Hello World!}
\author{B. Meuhr}\institute{École Normale Supérieure, département de pipologie}
\author{B. Meuhr}\institute{École Normale Supérieure, département de pipologie}
\begin{document}
@ -126,29 +126,29 @@
<p>
On le compile avec la commande <kbd>pdflatex b.tex</kbd>, et l'on obtient
alors un joli fichier <kbd>b.pdf</kbd>, que l'on peut afficher avec Acrobat
Reader (on a intéret à passer en mode plein écran, pour ce faire, taper
Reader (on a intéret à passer en mode plein écran, pour ce faire, taper
<kbd>control L</kbd>).
</p>
<h3>Les points clefs</h3>
<p>
On commence par :
On commence par :
</p>
<pre>
\documentclass{beamer}
</pre>
<p class="continue">
ce qui charge beamer, et effectue les réglages de bases.
ce qui charge beamer, et effectue les réglages de bases.
</p>
<p>
Ensuite, beamer étant très versatile, il faut le régler à son
gout. Souvent, on se contente de charger un thème prédéfini, qui se
charge de définir l'apparence graphique de tous les éléments. Ici, on
utilise le thème « Warsaw » (il y en a beaucoup d'autres, ils sont
décrits dans le manuel de Beamer) :
Ensuite, beamer étant très versatile, il faut le régler à son
gout. Souvent, on se contente de charger un thème prédéfini, qui se
charge de définir l'apparence graphique de tous les éléments. Ici, on
utilise le thème « Warsaw » (il y en a beaucoup d'autres, ils sont
décrits dans le manuel de Beamer) :
</p>
<pre>
@ -156,31 +156,31 @@
</pre>
<p>
Une fois à l'intérieur du <kbd>\begin{document}</kbd>, on entre le texte
de la présentation. On doit diviser à la main son texte en pages (pour que
la présentation soit compréhensible, il est important de faire la division
Une fois à l'intérieur du <kbd>\begin{document}</kbd>, on entre le texte
de la présentation. On doit diviser à la main son texte en pages (pour que
la présentation soit compréhensible, il est important de faire la division
intelligemment), et mettre chaque page dans un environnement
<kbd>frame</kbd>.
</p>
<h2>Fonctionalités plus avancées</h2>
<h2>Fonctionalités plus avancées</h2>
<h3>Sectionnement</h3>
<p>
On peut (et c'est même recommandé) insérer des <kbd>\section</kbd>,
<kbd>\subsection</kbd> et cie. Certains thèmes (par exemple le
<kbd>Warsaw</kbd> utilisé ci-dessus) affichent un condensé de la table
des matières dans un panneau, ce qui, à l'affichage, permet de naviguer
facilement à travers le document en cliquant.
On peut (et c'est même recommandé) insérer des <kbd>\section</kbd>,
<kbd>\subsection</kbd> et cie. Certains thèmes (par exemple le
<kbd>Warsaw</kbd> utilisé ci-dessus) affichent un condensé de la table
des matières dans un panneau, ce qui, à l'affichage, permet de naviguer
facilement à travers le document en cliquant.
</p>
<h3>Animations</h3>
<p>
Beamer permet de définir des séquences de slides différant seulement par
des apparitions ou disparitions (ou mise en grisé) de morceaux de
texte. Par exemple, ce code :
Beamer permet de définir des séquences de slides différant seulement par
des apparitions ou disparitions (ou mise en grisé) de morceaux de
texte. Par exemple, ce code :
</p>
<pre>
@ -194,24 +194,24 @@
</pre>
<p class="continue">
va produire une séquence de 4 slides. Toutes les 4 auront un « Plum... »
sur la troisième ligne. La première ligne contiendra un « Ploum! » sur la
première et la troisième slide, tandis qu'elle sera vide sur la deuxième
et la quatrième. La deuxième ligne, elle, sera vide sur la première
slide, et contiendra « Plim? » sur les suivantes.
va produire une séquence de 4 slides. Toutes les 4 auront un « Plum... »
sur la troisième ligne. La première ligne contiendra un « Ploum! » sur la
première et la troisième slide, tandis qu'elle sera vide sur la deuxième
et la quatrième. La deuxième ligne, elle, sera vide sur la première
slide, et contiendra « Plim? » sur les suivantes.
</p>
<p>
Comme le montre cet exemple, un certain nombre de commandes ont été
modifiées pour prendre un argument optionnel entre <kbd>&lt;&gt;</kbd>. Dans cet
argument on peut mettre un nombre, un intervalle (deux nombres séparés
par un <kbd>-</kbd>), ou plusieurs nombres ou intervalles séparés par des
virgules. Ces nombres spécifient sur quelles slides de la séquence qui va
être créée la commande doit « avoir un effet ». Pour <kbd>\item</kbd>,
cela veut dire afficher la bille et le texte qui en dépend. Mais pour les
Comme le montre cet exemple, un certain nombre de commandes ont été
modifiées pour prendre un argument optionnel entre <kbd>&lt;&gt;</kbd>. Dans cet
argument on peut mettre un nombre, un intervalle (deux nombres séparés
par un <kbd>-</kbd>), ou plusieurs nombres ou intervalles séparés par des
virgules. Ces nombres spécifient sur quelles slides de la séquence qui va
être créée la commande doit « avoir un effet ». Pour <kbd>\item</kbd>,
cela veut dire afficher la bille et le texte qui en dépend. Mais pour les
commandes de changement de police ou de couleur, cela veut dire que le
changement ne doit être effectué que sur les slides en question. Par
exemple, un :
changement ne doit être effectué que sur les slides en question. Par
exemple, un :
</p>
<pre>
@ -219,20 +219,20 @@
</pre>
<p class="continue">
aura pour effet de mettre « ploum » en gras sur la deuxième slide, et en
normal sur la première.
aura pour effet de mettre « ploum » en gras sur la deuxième slide, et en
normal sur la première.
</p>
<p>
L'argument optionnel entre <kbd>&lt;&gt;</kbd> n'est pas un effet magique : les
L'argument optionnel entre <kbd>&lt;&gt;</kbd> n'est pas un effet magique : les
auteurs de Beamer ont du modifier toutes les commandes ... qu'ils ont
modifiées. Pour les autres, il faut se débrouiller à la main. On dispose
modifiées. Pour les autres, il faut se débrouiller à la main. On dispose
des commandes <kbd>\only</kbd> et <kbd>\uncover</kbd> qui prennent un
argument entre <kbd>&lt;&gt;</kbd>, puis un argument normal entre
<kbd>{}</kbd>, qu'elles n'affichent que sur les slides spécifiées. La
différence entre les deux est qu'avec <kbd>only</kbd>, le texte est jeté,
<kbd>{}</kbd>, qu'elles n'affichent que sur les slides spécifiées. La
différence entre les deux est qu'avec <kbd>only</kbd>, le texte est jeté,
tandis qu'avec <kbd>uncover</kbd>, il occupe sa place mais est
transparent. Par exemple, avec :
transparent. Par exemple, avec :
</p>
<pre>
@ -240,7 +240,7 @@
</pre>
<p class="continue">
on obtiendra :
on obtiendra :
</p>
<pre>
@ -248,7 +248,7 @@ on obtiendra
</pre>
<p class="continue">
sur la première slide, et :
sur la première slide, et :
</p>
<pre>
@ -256,12 +256,12 @@ on obtiendra
</pre>
<p class="continue">
sur la deuxième.
sur la deuxième.
</p>
<p>
Par défaut, le texte caché est complètement invisible. Il est possible de
l'avoir en grisé en mettant un :
Par défaut, le texte caché est complètement invisible. Il est possible de
l'avoir en grisé en mettant un :
</p>
<pre>
@ -272,13 +272,13 @@ on obtiendra
<h4>Couleurs</h4>
<p>
Beamer permet de modifier les couleurs de beaucoup de types d'élèments. Il
y a une « beamer color » associée à chaque type d'élément (elles sont
listées dans le manuel), et l'on peu modifier chaque couleur
indépendament des autres. Cela se fait avec la commande
Beamer permet de modifier les couleurs de beaucoup de types d'élèments. Il
y a une « beamer color » associée à chaque type d'élément (elles sont
listées dans le manuel), et l'on peu modifier chaque couleur
indépendament des autres. Cela se fait avec la commande
<kbd>\setbeamercolor</kbd> qui prend en premier argument le nom de la
couleur, et en deuxième argument une spécification de couleur. Par
exemple :
couleur, et en deuxième argument une spécification de couleur. Par
exemple :
</p>
<pre>
@ -287,17 +287,17 @@ on obtiendra
<p class="continue">
fait en sorte que le texte ordinaire soit en rouge sur fond bleu. On peut
spécifier des couleurs définies à l'aide du package xcolor.
spécifier des couleurs définies à l'aide du package xcolor.
</p>
<h4>Templates</h4>
<p>
Les divers éléments répétitifs des slides sont définis à l'aide de
templates, qui sont du code évalué pour chaque slide. Par exemple,
l'arrière-plan des slides est définie par le template
Les divers éléments répétitifs des slides sont définis à l'aide de
templates, qui sont du code évalué pour chaque slide. Par exemple,
l'arrière-plan des slides est définie par le template
<kbd>background</kbd>. Supposons que l'on veuille mettre l'image
<kbd>ploum.jpg</kbd> comme fond de transparents. Il suffit de faire :
<kbd>ploum.jpg</kbd> comme fond de transparents. Il suffit de faire :
</p>
<pre>
@ -306,36 +306,36 @@ on obtiendra
</pre>
<p class="continue">
et tous les transparents suivants auront l'image en arrière-plan. On a
utilisé ici les commandes graphiques du package pgf. 96mm et 128mm sont
les dimensions par défaut de la page pour beamer (le viewer de pdf fait
un zoom, il est donc inutile et même nuisible de changer la taille de la
et tous les transparents suivants auront l'image en arrière-plan. On a
utilisé ici les commandes graphiques du package pgf. 96mm et 128mm sont
les dimensions par défaut de la page pour beamer (le viewer de pdf fait
un zoom, il est donc inutile et même nuisible de changer la taille de la
page).
</p>
<h4>Conclusion</h4>
<p>
Il existe également un mécanisme de « beamer font » qui fonctionne
similairement. Noter qu'il existe des thèmes définissant d'un coup tous les
templates, couleurs et polices. Souvent, il vaut mieux choisir un thème, et
faire juste une ou deux modifications de détail...
Il existe également un mécanisme de « beamer font » qui fonctionne
similairement. Noter qu'il existe des thèmes définissant d'un coup tous les
templates, couleurs et polices. Souvent, il vaut mieux choisir un thème, et
faire juste une ou deux modifications de détail...
</p>
<p>
Enfin, pour modifier une couleur, un template ou une police sur une zone
limitée et non globalement, on utilise le mécanisme classique des
groupes : il suffit d'encadrer entre accolades la zone du texte où l'on
limitée et non globalement, on utilise le mécanisme classique des
groupes : il suffit d'encadrer entre accolades la zone du texte où l'on
veut que le changement ait un effet, et de mettre le
<kbd>\setbeamertemplate</kbd>, <kbd>\setbeamercolor</kbd> ou
<kbd>\setbeamerfont</kbd> juste après l'accolade ouvrante.
<kbd>\setbeamerfont</kbd> juste après l'accolade ouvrante.
</p>
<h3>Gadgets amusants</h3>
<p>
On peut aussi spécifier des effets graphiques à effectuer lors d'un
changement de page, inclure des sons, des vidéos... Tout cela est décrit
On peut aussi spécifier des effets graphiques à effectuer lors d'un
changement de page, inclure des sons, des vidéos... Tout cela est décrit
dans le chapitre 13 du <a
href="../../noncvs/docs/beamer/beameruserguide.pdf">manuel</a>.
</p>
@ -343,10 +343,10 @@ on obtiendra
<h2>Note sur pdflatex</h2>
<p>
Comme il a été dit, pdflatex est une variante de latex qui pond du pdf au
Comme il a été dit, pdflatex est une variante de latex qui pond du pdf au
lieu de sortir du dvi. Cela a certains effets secondaires au niveau de la
gestion de tout ce qui est graphique. En particulier, on ne peut plus
utiliser tout ce qui était à base de postscript : inclusion d'images eps,
utiliser tout ce qui était à base de postscript : inclusion d'images eps,
pstricks, ... En compensation, pdflatex fournit pas mal de primitives
graphiques, qui suffisent dans la plupart des cas. En particulier, on peut
inclure directement (alors qu'avec latex, il faut les convertir en eps)
@ -357,8 +357,8 @@ on obtiendra
</p>
<div class="metainformation">
Auteur : Luc Habert.
Dernière modification le <date value="$Date: 2008-10-08 13:09:46 $" />.
Auteur : Luc Habert.
Dernière modification le <date value="$Date: 2008-10-08 13:09:46 $" />.
</div>
</body>

View file

@ -10,60 +10,60 @@ PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
<h1>Faire une bibliographie avec BibTeX</h1>
<h2>Pourquoi BibTeX ?</h2>
<h2>Pourquoi BibTeX ?</h2>
<p>Il peut sembler bizarre de devoir recourir à un programme externe pour
générer quelques lignes de texte à la fin d'un mémoire. Néanmoins
l'intérêt de BibTeX apparaitra très rapidement à l'utilisateur désireux
de construire sa bibliographie au fur et à mesure de la rédaction du
<p>Il peut sembler bizarre de devoir recourir à un programme externe pour
générer quelques lignes de texte à la fin d'un mémoire. Néanmoins
l'intérêt de BibTeX apparaitra très rapidement à l'utilisateur désireux
de construire sa bibliographie au fur et à mesure de la rédaction du
texte, tout en respectant les conventions, par exemple dans le cas d'une
thèse...</p>
thèse...</p>
<p>De plus, la plupart des bibliographies d'ouvrages scientifiques se
doivent d'être au format BibTeX, afin de ne pas voir à taper les entrées
bibliographiques, mais de pouvoir utiliser les bases de données
doivent d'être au format BibTeX, afin de ne pas voir à taper les entrées
bibliographiques, mais de pouvoir utiliser les bases de données
existantes.</p>
<p>
Enfin, BibTeX c'est la possibilité de changer l'ordre utilisé dans la
bibliographie (alphabétique, chronologique, thématique, ordre de
citation dans le texte) sans tout retaper. Il est également possible de
changer l'apparence (le titre en italique ou entre guillements ?),
l'ordre des éléments dans une référence (le prénom avant ou après le
nom ?, le titre avant ou après la revue ?), là encore sans grand effort.
Enfin, BibTeX c'est la possibilité de changer l'ordre utilisé dans la
bibliographie (alphabétique, chronologique, thématique, ordre de
citation dans le texte) sans tout retaper. Il est également possible de
changer l'apparence (le titre en italique ou entre guillements ?),
l'ordre des éléments dans une référence (le prénom avant ou après le
nom ?, le titre avant ou après la revue ?), là encore sans grand effort.
</p>
<h2>Le principe</h2>
<p>BibTeX va chercher ses références dans une base de données que
l'utilisateur crée, de manière très simple, en attribuant une
« étiquette » à chaque référence, puis en remplissant un certain nombre
de champs (auteurs, titre, revue, année, éditeur, etc.). Cette base de
donnée est stockée sous forme de fichier texte, avec comme extension
<code>.bib</code>. Elle peut être commune à plusieurs documents LaTeX,
<p>BibTeX va chercher ses références dans une base de données que
l'utilisateur crée, de manière très simple, en attribuant une
« étiquette » à chaque référence, puis en remplissant un certain nombre
de champs (auteurs, titre, revue, année, éditeur, etc.). Cette base de
donnée est stockée sous forme de fichier texte, avec comme extension
<code>.bib</code>. Elle peut être commune à plusieurs documents LaTeX,
comme on le verra plus tard.</p>
<p>Lorsque l'utilisateur veut citer une référence dans le fichier LaTeX,
il appelle l'étiquette qui identifie cette référence dans le fichier
<p>Lorsque l'utilisateur veut citer une référence dans le fichier LaTeX,
il appelle l'étiquette qui identifie cette référence dans le fichier
<code>.bib</code>, par la commande <code>\cite{}</code>. Lors de la
compilation du fichier par LaTeX, la liste des références demandées
compilation du fichier par LaTeX, la liste des références demandées
s'inscrit alors dans le fichier <code>.aux</code> correspondant. On peut
alors lancer BibTeX, qui fera le lien entre les requêtes du document et
la base de données, en générant au passage un fichier <code>.bbl</code>,
qui sera, lui, spécifique au document LaTeX tel qu'on vient de le
alors lancer BibTeX, qui fera le lien entre les requêtes du document et
la base de données, en générant au passage un fichier <code>.bbl</code>,
qui sera, lui, spécifique au document LaTeX tel qu'on vient de le
compiler.</p>
<p>Enfin, une nouvelle compilation via LaTeX sera nécessaire pour
<p>Enfin, une nouvelle compilation via LaTeX sera nécessaire pour
afficher correctement la bibliographie ainsi que les renvois du
texte.</p>
<h2>En pratique</h2>
<h3>Construire la base de données</h3>
<h3>Construire la base de données</h3>
<h4>Exemple</h4>
<p>Voici un extrait de base de données :</p>
<p>Voici un extrait de base de données :</p>
<pre>
@article{Johnson,
@ -79,31 +79,31 @@ texte.</p>
@phdthesis{Zoran,
author = {Zoran Racic},
title = {\'Etude et essais du spectromètre à plasma {DYMIO}
title = {\'Etude et essais du spectromètre à plasma {DYMIO}
de la mission {MARS 96}},
publisher = {Université Pierre et Marie Curie},
publisher = {Université Pierre et Marie Curie},
year = {1996}
}
</pre>
<p>Toute entrée commence par un <code>@</code>, suivi par un descripteur
(imposé par le type de document <code>article</code>, <code>book</code>,
<p>Toute entrée commence par un <code>@</code>, suivi par un descripteur
(imposé par le type de document <code>article</code>, <code>book</code>,
<code>inproceedings</code>, etc.). Entre
accolades, se trouve l'étiquette, puis les champs, composés d'un
accolades, se trouve l'étiquette, puis les champs, composés d'un
sous-descripteur et de la valeur de celui ci, entre accolades. <em>Les
champs sont séparés par des virgules,</em> l'oubli de celles ci étant
vraisemblablement la source d'erreurs la plus courante !</p>
champs sont séparés par des virgules,</em> l'oubli de celles ci étant
vraisemblablement la source d'erreurs la plus courante !</p>
<p><em>A priori</em>, BibTeX s'occupe des majuscules, et n'hésite pas à en
<p><em>A priori</em>, BibTeX s'occupe des majuscules, et n'hésite pas à en
supprimer si tel est son bon plaisir. Il y a moyen de lui faire savoir
qui c'est le chef, en enfermant les mots qu'on désire laisser en
qui c'est le chef, en enfermant les mots qu'on désire laisser en
majuscule entre accolades. Cependant, la meilleure solution est de ne
pas placer ces accolades et de modifier le style de bibliographie ou
d'en changer s'il ne vous convient pas. Les commandes TeX sont autorisées.</p>
d'en changer s'il ne vous convient pas. Les commandes TeX sont autorisées.</p>
<p>N'hésitez pas à fournir un maximum d'informations, BibTeX s'arrangera
<p>N'hésitez pas à fournir un maximum d'informations, BibTeX s'arrangera
pour tout faire rentrer (ou donnera des messages d'avertissement s'il en
manque...), et les champs inconnus seront ignorés si nécessaire.</p>
manque...), et les champs inconnus seront ignorés si nécessaire.</p>
<p>Sauvegardez le fichier sous un nom se terminant par
<code>.bib</code></p>
@ -111,7 +111,7 @@ manque...), et les champs inconnus seront ignor
<h4>Liste des types de document et des champs disponibles</h4>
<p>
La table suivante résume les types et les champs couramment connus.
La table suivante résume les types et les champs couramment connus.
</p>
<table>
@ -153,13 +153,13 @@ La table suivante r
</table>
<p>
<code>author</code> est le champ utilisé pour saisir la liste des
auteurs sous la forme <code><var>prénom</var> <var>nom</var></code> ou
<code><var>nom</var>, <var>prénom</var></code>.
<code>author</code> est le champ utilisé pour saisir la liste des
auteurs sous la forme <code><var>prénom</var> <var>nom</var></code> ou
<code><var>nom</var>, <var>prénom</var></code>.
</p>
<div class="attention">
Les auteurs doivent être séparés par <code>and</code> et surtout pas
Les auteurs doivent être séparés par <code>and</code> et surtout pas
une virgule.
</div>
@ -168,29 +168,29 @@ Pour les articles (type <code>article</code>), les champs importants
sont <code>author</code>, <code>title</code>, <code>journal</code>,
<code>year</code>, <code>pages</code> (les champs <code>volume</code> et
<code>number</code> peuvent eux aussi servir). Pour les livres (type
<code>book</code>) on prendra garde à donner la maison d'édition à
<code>book</code>) on prendra garde à donner la maison d'édition à
l'aide du champ <code>publisher</code> et non <code>editor</code> (les
éditeurs d'un ouvrage collectif) ou <code>edition</code> (le numéro de
réédition). L'adresse de la maison d'édition est donnée par
éditeurs d'un ouvrage collectif) ou <code>edition</code> (le numéro de
réédition). L'adresse de la maison d'édition est donnée par
<code>address</code>. Le type <code>misc</code> sert de fourre-tout
quand aucune catégorie ne semble correspondre à un document (un
manuscrit par exemple), tous les champs peuvent être utilisés, mais
pensez à ajouter soit <code>howpublished</code> soit une
quand aucune catégorie ne semble correspondre à un document (un
manuscrit par exemple), tous les champs peuvent être utilisés, mais
pensez à ajouter soit <code>howpublished</code> soit une
<code>note</code> explicative. <code>inbook</code> et les autres types
dont le nom commence par <code>in</code> désignent des chapitres (le
numéro du chapitre sera précisé via le champ <code>chapter</code> et les
pages concernées par <code>pages</code>) ou des paragraphes dans un
livre (le titre pourra être précisé avec <code>booktitle</code>), etc.
Le champ <code>crossref</code> permet de faire référence audit livre
s'il est présent lui aussi dans la bibliographie. Les documents
académiques (<code>mastersthesis</code> et <code>phdthesis</code>)
pourront intégrer <code>school</code> ou <code>institution</code> pour
renseigner l'université.
dont le nom commence par <code>in</code> désignent des chapitres (le
numéro du chapitre sera précisé via le champ <code>chapter</code> et les
pages concernées par <code>pages</code>) ou des paragraphes dans un
livre (le titre pourra être précisé avec <code>booktitle</code>), etc.
Le champ <code>crossref</code> permet de faire référence audit livre
s'il est présent lui aussi dans la bibliographie. Les documents
académiques (<code>mastersthesis</code> et <code>phdthesis</code>)
pourront intégrer <code>school</code> ou <code>institution</code> pour
renseigner l'université.
</p>
<h3>Afficher la biblio dans le document LaTeX</h3>
<p>À l'emplacement prévu dans le fichier .tex, insérez les lignes :</p>
<p>À l'emplacement prévu dans le fichier .tex, insérez les lignes :</p>
<pre>
\bibliographystyle{plain}
@ -200,17 +200,17 @@ renseigner l'universit
<p><code>\bibliographystyle</code> permet de choisir le style de
bibliographie.</p>
<p><code>\bibliography</code> permet d'indiquer quelle base de données
doit être utilisée. On indique le nom du fichier, sans l'extension
<p><code>\bibliography</code> permet d'indiquer quelle base de données
doit être utilisée. On indique le nom du fichier, sans l'extension
<code>.bib</code></p>
<h3>Créer une entrée « Bibliographie » dans la table des matières</h3>
<h3>Créer une entrée « Bibliographie » dans la table des matières</h3>
<p>
Utilisez le package <code>tocbibind</code>, capable de créer des entrées
pour la bibliographie, l'index et aussi la table des matières (!), les
listes des figures et des tables. Ces trois derniers éléments
n'étant pas du meilleur effet, on lui pourra passer les options
Utilisez le package <code>tocbibind</code>, capable de créer des entrées
pour la bibliographie, l'index et aussi la table des matières (!), les
listes des figures et des tables. Ces trois derniers éléments
n'étant pas du meilleur effet, on lui pourra passer les options
<code>nottoc</code>, <code>notlof</code> et <code>notlot</code>.
</p>
@ -218,36 +218,36 @@ n'
\usepackage[nottoc, notlof, notlot]{tocbibind}
</pre>
<h3>Citer une référence dans le texte</h3>
<h3>Citer une référence dans le texte</h3>
<p>LaTeX n'affiche pas toutes les références contenues dans la base de
données, seulement celles qui sont citées dans le texte. Par conséquent, il
est normal à ce stade de ne rien voir s'afficher... La commande à
utiliser pour citer une référence est tout simplement</p>
<p>LaTeX n'affiche pas toutes les références contenues dans la base de
données, seulement celles qui sont citées dans le texte. Par conséquent, il
est normal à ce stade de ne rien voir s'afficher... La commande à
utiliser pour citer une référence est tout simplement</p>
<pre>\cite{<var>label</var>}</pre>
<p class="continue">où <var>label</var> est l'étiquette attribuée lors de
la construction de la base de données dans le fichier <tt>.bib</tt>. Dans le style <code>plain</code>,
cette commande apparaît alors dans le fichier <code>.dvi</code> sous la
forme <code>[<var>X</var>]</code>, où <var>X</var> est le numéro utilisé dans la bibliographie,
ou un <b>???</b> si l'étiquette est erronée, ou qu'il manque une
<p class="continue">où <var>label</var> est l'étiquette attribuée lors de
la construction de la base de données dans le fichier <tt>.bib</tt>. Dans le style <code>plain</code>,
cette commande apparaît alors dans le fichier <code>.dvi</code> sous la
forme <code>[<var>X</var>]</code>, où <var>X</var> est le numéro utilisé dans la bibliographie,
ou un <b>???</b> si l'étiquette est erronée, ou qu'il manque une
compilation de LaTeX ou de BibTeX.</p>
<p>On peut néanmoins faire apparaître une référence dans la bibliographie
sans la citer explicitement dans le texte, à l'aide de la commande :</p>
<p>On peut néanmoins faire apparaître une référence dans la bibliographie
sans la citer explicitement dans le texte, à l'aide de la commande :</p>
<pre>\nocite{<var>label</var>}</pre>
<p>
Un cas particulier est <code>\nocite{*}</code> qui dit à BibTeX
d'inclure dans la bibliographie toutes les références, citées dans le
Un cas particulier est <code>\nocite{*}</code> qui dit à BibTeX
d'inclure dans la bibliographie toutes les références, citées dans le
corps du texte ou non.
</p>
<h3>Compilation(s)</h3>
<p>Il ne reste plus qu'à compiler le tout :</p>
<p>Il ne reste plus qu'à compiler le tout :</p>
<pre>
latex <var>mon_fichier</var>.tex
@ -256,14 +256,14 @@ latex <var>mon_fichier</var>.tex
</pre>
<div class="attention">Ce n'est ni le fichier <code>.bib</code> ni
le fichier <code>.tex</code> qu'on indique à BibTeX, mais le fichier
<code>.aux</code> produit dans la première compilation du fichier
le fichier <code>.tex</code> qu'on indique à BibTeX, mais le fichier
<code>.aux</code> produit dans la première compilation du fichier
<code>.tex</code>. Cependant, comme l'indique la commande ci-dessus,
cela fonctionne quand même si on ne précise pas l'extension.</div>
cela fonctionne quand même si on ne précise pas l'extension.</div>
<div class="metainformation"> Auteur : Frédéric Meynadier (2001, 2005).
Dernière modification le <date value="$Date: 2008-02-14 15:17:08 $" />
<div class="metainformation"> Auteur : Frédéric Meynadier (2001, 2005).
Dernière modification le <date value="$Date: 2008-02-14 15:17:08 $" />
par Bouya Ismael </div>
</body> </html>

View file

@ -8,41 +8,41 @@
</head>
<body>
<h1>Exemple commenté de fichier LaTeX</h1>
<h1>Exemple commenté de fichier LaTeX</h1>
<table class="tableau"> <tr>
<td><pre>\documentclass[a4paper,oneside,12pt]{article}</pre></td>
<td>On veut taper un document de style « article » (le standard
pour des textes peu longs ; pour taper une thèse, on préfèrera le style
« book »). Les options choisies sont : <code>a4paper</code> (pour
avoir un résultat au format A4), <code>oneside</code> (pour ne pas
différencier les pages paires et impaires ; utilisez
<td>On veut taper un document de style « article » (le standard
pour des textes peu longs ; pour taper une thèse, on préfèrera le style
« book »). Les options choisies sont : <code>a4paper</code> (pour
avoir un résultat au format A4), <code>oneside</code> (pour ne pas
différencier les pages paires et impaires ; utilisez
<code>twoside</code> si vous voulez relier votre document final) et
<code>12pt</code>, qui sera la taille du texte (vous pouvez préciser
<code>12pt</code>, qui sera la taille du texte (vous pouvez préciser
aussi <code>10pt</code> ou <code>11pt</code>).</td> </tr>
<tr> <td><pre>\usepackage{longtable,geometry}</pre></td>
<td>J'utilise le package <code>longtable</code> pour faire des
tableaux qui tiennent sur plusieurs pages, et le package
<code>geometry</code> pour redéfinir moi-même les dimensions des
<code>geometry</code> pour redéfinir moi-même les dimensions des
pages.</td> </tr>
<tr> <td><pre>\usepackage[frenchb]{babel}</pre></td> <td>J'utilise le
package <code>babel</code> avec l'option <code>frenchb</code>
(<code>francais</code> fonctionne également), pour que
soient prises en compte les particularités de la typographie
française.</td> </tr>
(<code>francais</code> fonctionne également), pour que
soient prises en compte les particularités de la typographie
française.</td> </tr>
<tr>
<td><pre>
\usepackage[utf8]{inputenc}
</pre></td>
<td> Je signale à LaTeX que mon fichier source est codé en <a
<td> Je signale à LaTeX que mon fichier source est codé en <a
href="&url.tuteurs;faq/utf8.html">UTF-8</a>.
Cela lui permet de reconnaître les lettres accentuées tapées
directement plutôt que comme ça : <code>\'et\'e</code>. Le nom à
donner entre crochets dépend du système sur lequel je travaille (un
autre choix courant est <code>latin1</code> ; à l'ENS, la config
Cela lui permet de reconnaître les lettres accentuées tapées
directement plutôt que comme ça : <code>\'et\'e</code>. Le nom à
donner entre crochets dépend du système sur lequel je travaille (un
autre choix courant est <code>latin1</code> ; à l'ENS, la config
conscrits utilise utf8 depuis 2007, latin1 avant). Voir aussi la <a
href="&url.tuteurs;faq/utf8.html">FAQ</a> sur le sujet.
</td>
@ -54,16 +54,16 @@ fran
</pre></td>
<td>
Je demande que soient utilisées les fontes de
LaTeX incluant les caractères essentiels à composer les mots accentués
du français.</td>
Je demande que soient utilisées les fontes de
LaTeX incluant les caractères essentiels à composer les mots accentués
du français.</td>
</tr>
<tr>
<td><pre>
\usepackage[babel]{csquotes}
\MakeAutoQuote{«}{»}
\MakeAutoQuote{«}{»}
</pre></td>
<td>Ces lignes permettent d'utiliser simplement les guillemets sans
@ -71,30 +71,30 @@ espaces, le package <code>csquotes</code> s'occupera de
l'espacement.</td></tr>
<tr> <td><pre>\pagestyle{headings}</pre></td> <td>Je demande que les
titres des sections apparaissent en haut de chaque page. (Voir aussi le
titres des sections apparaissent en haut de chaque page. (Voir aussi le
package <code>fancyhdr</code>).</td> </tr>
<tr> <td>
<pre>
\geometry{dvips,a4paper,margin=1.5in}
</pre></td> <td>Je passe à <code>geometry</code> les informations
suivantes : pilote, dimensions du papier et marges.</td> </tr>
</pre></td> <td>Je passe à <code>geometry</code> les informations
suivantes : pilote, dimensions du papier et marges.</td> </tr>
<tr>
<td><pre>
\title{Aide-mémoire}
\title{Aide-mémoire}
\author{Thomas Dupond}
\begin{document}
\maketitle
\tableofcontents</pre></td>
<td> Je déclare le titre de l'ouvrage, l'auteur (ces déclarations ne
donnent pas lui à une impression). Ensuite le document
<td> Je déclare le titre de l'ouvrage, l'auteur (ces déclarations ne
donnent pas lui à une impression). Ensuite le document
commence vraiment, le <code>\begin{document}</code> met fin au
préambule : première
page avec titre et auteur (imprimés cette fois), date et tables des
matières.</td> </tr>
préambule : première
page avec titre et auteur (imprimés cette fois), date et tables des
matières.</td> </tr>
<tr>
<td><pre>
@ -108,29 +108,29 @@ page avec titre et auteur (imprim
\input{unix}
</pre></td>
<td>J'insère deux sections dont les contenus sont donnés par les
<td>J'insère deux sections dont les contenus sont donnés par les
fichiers <tt>latex.tex</tt> et <tt>unix</tt> respectivement. Pour rendre
le fichier source plus lisible, j'ai rajouté des
commentaires derrière les <code>%</code>, en figurant un
« soulignement ».</td> </tr>
le fichier source plus lisible, j'ai rajouté des
commentaires derrière les <code>%</code>, en figurant un
« soulignement ».</td> </tr>
<tr>
<td><pre>
\appendix
</pre></td>
<td>On commence les annexes : la numérotation des sections est désormais
alphabétique, aussi bien dans leurs titres que dans la table des
matières.</td> </tr>
<td>On commence les annexes : la numérotation des sections est désormais
alphabétique, aussi bien dans leurs titres que dans la table des
matières.</td> </tr>
<tr>
<td><pre>\section{Autres thèmes}
<td><pre>\section{Autres thèmes}
%^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^%
\input{lynx}
\input{disquettes}
</pre></td>
<td>J'insère <code>lynx.tex</code> et <code>disquettes.tex</code>.
<td>J'insère <code>lynx.tex</code> et <code>disquettes.tex</code>.
</td> </tr>
<tr>
@ -147,8 +147,8 @@ mati
<div class="metainformation"> Auteur : Émilia Robin (1998),
François-Xavier Coudert (2002), modifications par Josselin Noirel. Dernière
<div class="metainformation"> Auteur : Émilia Robin (1998),
François-Xavier Coudert (2002), modifications par Josselin Noirel. Dernière
modification le <date value="$Date: 2007-09-16 09:35:32 $" />, par Marc
Mezzarobba. </div>

View file

@ -12,17 +12,17 @@
<h1>Exporter des documents LaTeX</h1>
<p>
Une question qui se retrouve souvent dans le courrier à tuteurs, sous
Une question qui se retrouve souvent dans le courrier à tuteurs, sous
une forme ou une autre, c'est comment faire parvenir un document LaTeX
à une personne ne disposant pas de LaTeX sur son ordinateur. En
particulier, le bruit court qu'il faut utiliser pour ça le format RTF
(ce qui n'est vrai que dans certains cas). Nous allons détailler ici
les différentes méthodes.
à une personne ne disposant pas de LaTeX sur son ordinateur. En
particulier, le bruit court qu'il faut utiliser pour ça le format RTF
(ce qui n'est vrai que dans certains cas). Nous allons détailler ici
les différentes méthodes.
</p>
<p>
Nous allons détailler ici les différentes possibilités. Celle à
choisir dépend surtout de l'utilisation que va faire votre
Nous allons détailler ici les différentes possibilités. Celle à
choisir dépend surtout de l'utilisation que va faire votre
interlocuteur du document.
</p>
@ -31,10 +31,10 @@ interlocuteur du document.
<h3>Indications</h3>
<ul>
<li>La mise en page doit être préservée exactement</li>
<li>La mise en page doit être préservée exactement</li>
<li>L'interlocuteur n'a pas besoin de modifier le document</li>
<li>En particulier, si le document doit être exclusivement imprimé à
l'arrivée</li>
<li>En particulier, si le document doit être exclusivement imprimé à
l'arrivée</li>
<li>Presque tout document comportant des formules ou des figures</li>
</ul>
@ -48,16 +48,16 @@ l'arriv
<p>
Le format PDF se lit avec Acrobat Reader, le format PostScript avec
GhostView. Le premier est plus répandu sur les machines grand public,
GhostView. Le premier est plus répandu sur les machines grand public,
le second un peu plus sur les Unix. Ces deux formats sont
considérablement plus gros que le texte original, le PDF encore
considérablement plus gros que le texte original, le PDF encore
environ 50% de plus que le PostScript.
</p>
<h3>Méthode</h3>
<h3>Méthode</h3>
<p>
On les obtient tous les deux à partir du fichier DVI :
On les obtient tous les deux à partir du fichier DVI :
</p>
<pre>
@ -66,8 +66,8 @@ dvipdf <i>fichier</i>.dvi
</pre>
<p>
Le <code>-o <i>fichier</i>.ps</code> est nécessaire : sans,
<code>dvips</code> envoie le résultat à l'imprimante.
Le <code>-o <i>fichier</i>.ps</code> est nécessaire : sans,
<code>dvips</code> envoie le résultat à l'imprimante.
</p>
<h2>Le format RTF</h2>
@ -75,8 +75,8 @@ Le <code>-o <i>fichier</i>.ps</code> est n
<h3>Indications</h3>
<ul>
<li>Les principales parties de la mise en page doivent être
préservées</li>
<li>Les principales parties de la mise en page doivent être
préservées</li>
<li>Le destinataire doit pouvoir modifier le fichier facilement avec
un logiciel grand public</li>
</ul>
@ -84,22 +84,22 @@ un logiciel grand public</li>
<h3>Contre-indications</h3>
<ul>
<li>Documents sans effets de mise en page compliqués</li>
<li>Documents sans effets de mise en page compliqués</li>
<li>Documents qui n'auront pas besoin de modifications</li>
</ul>
<h3>Remarques</h3>
<p>
Le RTF est un format prévu initialement comme plate-forme entre
Le RTF est un format prévu initialement comme plate-forme entre
<em>word</em> et les autres traitements de texte. Les contraintes de
compatibilité limitent ses possibilités, et les convertisseurs
disponibles ici pour LaTeX ne marchent pas très bien. Aussi, je
compatibilité limitent ses possibilités, et les convertisseurs
disponibles ici pour LaTeX ne marchent pas très bien. Aussi, je
conseille de n'utiliser ce format que quand vraiment rien de mieux
n'est indiqué dans cette liste.
n'est indiqué dans cette liste.
</p>
<h3>Méthode</h3>
<h3>Méthode</h3>
<pre>
latex2rtf -o <i>fichier</i>.rtf <i>fichier</i>.tex
@ -110,10 +110,10 @@ latex2rtf -o <i>fichier</i>.rtf <i>fichier</i>.tex
<h3>Indications</h3>
<ul>
<li>Documents dont on veut préserver les effets de mise en forme (et
<li>Documents dont on veut préserver les effets de mise en forme (et
pas en <em>page</em>)</li>
<li>Documents destinés principalement à la lecture à l'écran</li>
<li>Possibilités de modification facile plus ou moins étendues selon
<li>Documents destinés principalement à la lecture à l'écran</li>
<li>Possibilités de modification facile plus ou moins étendues selon
les logiciels dont dispose l'interlocuteur</li>
</ul>
@ -128,16 +128,16 @@ les logiciels dont dispose l'interlocuteur</li>
<p>
Je pense que ce sera le plus souvent <strong>le</strong> bon
choix. C'est un format que n'importe qui peut lire directement sans
difficulté, il permet des effets de mise en forme assez évolués
(tableaux...), et peut être modifié par le destinataire pour peu qu'il
ait un outil adéquat (ou simplement qu'il connaisse le HTML).
difficulté, il permet des effets de mise en forme assez évolués
(tableaux...), et peut être modifié par le destinataire pour peu qu'il
ait un outil adéquat (ou simplement qu'il connaisse le HTML).
</p>
<p>
En outre, c'est un format libre, ce qui ne gâche rien.
En outre, c'est un format libre, ce qui ne gâche rien.
</p>
<h3>Méthode</h3>
<h3>Méthode</h3>
<pre>
hevea <i>fichier</i>.tex
@ -153,7 +153,7 @@ le mieux, mais il y en a d'autres.
<h3>Indications</h3>
<ul>
<li>Pas besoin de mise en forme du tout (au delà de la séparation des
<li>Pas besoin de mise en forme du tout (au delà de la séparation des
lignes)</li>
<li>Document modifiable</li>
</ul>
@ -167,18 +167,18 @@ lignes)</li>
<h3>Remarques</h3>
<p>
Le texte brut, c'est le format qui est employé pour les courriers
électroniques. Il ne permet pas de faire grand chose, mais ça s'avère
quand même suffisant dans de très nombreux cas.
Le texte brut, c'est le format qui est employé pour les courriers
électroniques. Il ne permet pas de faire grand chose, mais ça s'avère
quand même suffisant dans de très nombreux cas.
</p>
<p>
Notez qu'il existe des conventions pour simuler des effets spéciaux :
on peut écrire « <tt>Je suis _très_ en colère. Mais *vraiment très* en
colère. </tt>».
Notez qu'il existe des conventions pour simuler des effets spéciaux :
on peut écrire « <tt>Je suis _très_ en colère. Mais *vraiment très* en
colère. </tt>».
</p>
<h3>Méthode</h3>
<h3>Méthode</h3>
<p>
Hevea est capable de produire du texte brut, en faisant quelques
@ -190,35 +190,35 @@ hevea -text <i>fichier</i>.tex
</pre>
<p>
Ceci produit comme résultat <code><i>fichier</i>.txt</code> (au bas du
quel on retirera le bandeau qui dit « fait avec Hevea »).
Ceci produit comme résultat <code><i>fichier</i>.txt</code> (au bas du
quel on retirera le bandeau qui dit « fait avec Hevea »).
</p>
<p>
On peut aussi tout simplement prendre le document LaTeX
source. Contrairement aux formats de la plupart des traitements
de textes, les fichiers LaTeX sont des fichiers de texte brut,
lisibles sur n'importe quel ordinateur, même ne disposant pas de
lisibles sur n'importe quel ordinateur, même ne disposant pas de
LaTeX. Pour faciliter la lecture, il faut nettoyer un peu le
document : on coupe le préambule (jusqu'à <code>\begin{document}</code>), on
enlève un peu les balises qui traînent. Si votre interlocuteur n'est
pas du genre à mettre son cerveau en veille quand il est devant un
ordinateur, et que vous lui avez déjà dit deux mots de LaTeX, vous
pouvez même laisser certaines balises claires, comme
document : on coupe le préambule (jusqu'à <code>\begin{document}</code>), on
enlève un peu les balises qui traînent. Si votre interlocuteur n'est
pas du genre à mettre son cerveau en veille quand il est devant un
ordinateur, et que vous lui avez déjà dit deux mots de LaTeX, vous
pouvez même laisser certaines balises claires, comme
<code>\begin{cite}...\end{cite}</code>.
</p>
<p>
Dans le cas d'un document sans fioritures, comme une lettre, c'est de
loin la méthode la plus simple. Il suffit d'insérer le document source
dans le courrier électronique que vous allez envoyer (<code>^R</code>
loin la méthode la plus simple. Il suffit d'insérer le document source
dans le courrier électronique que vous allez envoyer (<code>^R</code>
avec pine/pico et nano, <code>^K R</code> avec Joe, <code>:r</code>
avec Vi, <code>C-x i</code> avec Emacs), et de virer ce qu'il y a en
trop.
</p>
<div class="metainformation">
Auteur : Nicolas George. Dernière modification le
Auteur : Nicolas George. Dernière modification le
<date value="$Date: 2007-07-17 10:02:50 $" />.
</div>

View file

@ -10,7 +10,7 @@
<h1>Les figures en LaTeX</h1>
<h2>À quoi sert l'environnement <code>figure</code> ?</h2>
<h2>À quoi sert l'environnement <code>figure</code> ?</h2>
<h3> Un exemple </h3>
@ -35,38 +35,38 @@
\end{document}
</pre>
<p>Et le résultat:
<p>Et le résultat:
<a href="figure.pdf"> fichier.pdf </a>
</p>
<h3> Analyse de l'exemple </h3>
<p> La ligne qui commence par <code>\includegraphics</code> est celle qui
insère l'image. C'est elle qui nécessite le package graphicx (deuxième
ligne). Pour plus de détails sur les images et LaTeX, voir
insère l'image. C'est elle qui nécessite le package graphicx (deuxième
ligne). Pour plus de détails sur les images et LaTeX, voir
<a href="graphisme.html"> ici </a>.
</p>
<p> Les lignes <code>\begin{figure}</code> et <code>\end{figure}</code>
définissent un environnement figure.
L'environnement <code>figure</code> sert à créer des « objets
flottants » : ce sont des blocs contenant du texte et/ou des images
inséré en complément à la partie principale du document, mais dont la
position exacte peut varier légèrement, de manière à optimiser
l'occupation des pages. En pratique, <code>figure</code> « accroche » un
numéro et une légende à une image (ou un tableau).</p>
définissent un environnement figure.
L'environnement <code>figure</code> sert à créer des « objets
flottants » : ce sont des blocs contenant du texte et/ou des images
inséré en complément à la partie principale du document, mais dont la
position exacte peut varier légèrement, de manière à optimiser
l'occupation des pages. En pratique, <code>figure</code> « accroche » un
numéro et une légende à une image (ou un tableau).</p>
<p> La partie <code>[!t]</code> est facultative et permet d'indiquer à
LaTeX vos préférences pour le placement de la figure. Le tableau suivant
récapitule les différentes possibilités.
<p> La partie <code>[!t]</code> est facultative et permet d'indiquer à
LaTeX vos préférences pour le placement de la figure. Le tableau suivant
récapitule les différentes possibilités.
</p>
<table class="tableau">
<tr>
<td><code>h</code> (<var>here</var>)</td>
<td>Placer la figure dans le texte à l'endroit où l'environnement a été
appelé (si l'espace disponible sur la page le permet).</td>
<td>Placer la figure dans le texte à l'endroit où l'environnement a été
appelé (si l'espace disponible sur la page le permet).</td>
</tr>
<tr>
@ -81,57 +81,57 @@ appel
<tr>
<td><code>p</code> (<var>page</var>)</td>
<td>Placer la figure sur une page séparée du reste du texte.</td>
<td>Placer la figure sur une page séparée du reste du texte.</td>
</tr>
</table>
<p> La commande <code>figure</code> crée un <strong><em>objet
flottant</em></strong>, que LaTeX place à l'endroit qui lui semble le
plus favorable... et qui est parfois très mal choisi. C'est en
<p> La commande <code>figure</code> crée un <strong><em>objet
flottant</em></strong>, que LaTeX place à l'endroit qui lui semble le
plus favorable... et qui est parfois très mal choisi. C'est en
particulier le cas avec de grosses figures qui prennent plus d'une
demi-page. Il faut alors utiliser le point d'exclamation (« ici ! »)
pour insister ; par exemple :</p>
demi-page. Il faut alors utiliser le point d'exclamation (« ici ! »)
pour insister ; par exemple :</p>
<pre>
\begin{figure}[!h]
</pre>
<p> Toujours pour le placement, la commande <code>\centering</code> permet
de centrer l'image latéralement. </p>
de centrer l'image latéralement. </p>
<h4>Mettre une légende</h4>
<h4>Mettre une légende</h4>
<p>Pour donner une légende à une figure, on utilise la commande
<p>Pour donner une légende à une figure, on utilise la commande
<code>\caption{}</code>:</p>
<pre>
\begin{figure}
(...)
\caption{<em>texte de la légende</em>}
\caption{<em>texte de la légende</em>}
\end{figure}
</pre>
<p>La numérotation des légendes est automatique. Selon que l'on place
la ligne <code>\caption{...}</code> avant ou après l'image elle-même, la
légende apparaîtra au dessus ou au dessous.
<p>La numérotation des légendes est automatique. Selon que l'on place
la ligne <code>\caption{...}</code> avant ou après l'image elle-même, la
légende apparaîtra au dessus ou au dessous.
</p>
<p>Il faut placer le tableau et la légende à l'intérieur d'un
environnement <code>figure</code>. La numérotation des légendes est
<p>Il faut placer le tableau et la légende à l'intérieur d'un
environnement <code>figure</code>. La numérotation des légendes est
automatique.</p>
<h4>Faire référence à une figure</h4>
<h4>Faire référence à une figure</h4>
<p>On utilise le mécanisme de référencement habituel, avec
<code>\label{<var>mot-clé</var>}</code> et
<code>\ref{<var>mot-clé</var>}</code> (ou
<code>\pageref{<var>mot-clé</var>}</code> pour le numéro de la page).</p>
<p>On utilise le mécanisme de référencement habituel, avec
<code>\label{<var>mot-clé</var>}</code> et
<code>\ref{<var>mot-clé</var>}</code> (ou
<code>\pageref{<var>mot-clé</var>}</code> pour le numéro de la page).</p>
<p>Pour référencer la figure, on place le label <strong>après</strong> la
légende :</p>
<p>Pour référencer la figure, on place le label <strong>après</strong> la
légende :</p>
<pre>
\caption{Tux, le pingouin}
@ -139,28 +139,28 @@ l
</pre>
<p>Ensuite, on s'en sert comme d'habitude (noter l'utilisation du tilde -- espace
insécable -- pour garder les numéros près des mots qui les
introduisent) :</p>
insécable -- pour garder les numéros près des mots qui les
introduisent) :</p>
<pre>
Dans le tableau~\ref{Tux}, page~\pageref{Tux}, nous lisons...
</pre>
<h2> Avancé </h2>
<h2> Avancé </h2>
<p>Il existe aussi l'environnement <code>table</code>, qui fonctionne
exactement comme <code>figure</code>. La différence est qu'il numérote
explicitement des tableaux, avec une légende du type « Tab. 1 :
résultats », et non « Fig 1 : schéma ».</p>
exactement comme <code>figure</code>. La différence est qu'il numérote
explicitement des tableaux, avec une légende du type « Tab. 1 :
résultats », et non « Fig 1 : schéma ».</p>
<h3>Créer une table des figures</h3>
<h3>Créer une table des figures</h3>
<p>Deux commandes servent à générer, respectivement, une « Table des
figures » (environnement <code>figure</code>) et une « Liste des
tableaux » (environnement <code>table</code>), sur le modèle de
<p>Deux commandes servent à générer, respectivement, une « Table des
figures » (environnement <code>figure</code>) et une « Liste des
tableaux » (environnement <code>table</code>), sur le modèle de
<code>\tableofcontents</code> (avec donc au moins deux
compilations) :</p>
compilations) :</p>
<pre>
\listoffigures % table des figures
@ -168,7 +168,7 @@ compilations)
</pre>
<p>Vous pouvez changer le noms de ces tables, s'ils ne vous conviennent
pas, en utilisant ces commandes à placer dans le préambule :</p>
pas, en utilisant ces commandes à placer dans le préambule :</p>
<pre>
\addto\captionsfrench{%
@ -181,19 +181,19 @@ pas, en utilisant ces commandes
<h3> Packages additionnels </h3>
<p>Les packages <code>floatrow</code>
ou <code>caption</code> permettent de mieux gérer les figures.
ou <code>caption</code> permettent de mieux gérer les figures.
Le premier a en particulier une
commande <code>\setupfloat[figure]{margins=centering} </code>.
</p>
<p>Sachez que le placement des objets flottants occupe à lui tout seul un
<p>Sachez que le placement des objets flottants occupe à lui tout seul un
chapitre entier du <em>LateX companion, second edition</em>, sous le
doux nom de
<em>Mastering Floats</em>. N'hésitez pas à vous y reporter en cas de
problème.</p>
<em>Mastering Floats</em>. N'hésitez pas à vous y reporter en cas de
problème.</p>
<div class="metainformation"> Auteurs : Éric Levieil, Josselin Noirel, Émilia Robin (1998, 2000),
François-Xavier Coudert (2002).
Dernière modification le <date value="$Date: 2008-03-24 16:52:30 $" />.</div>
<div class="metainformation"> Auteurs : Éric Levieil, Josselin Noirel, Émilia Robin (1998, 2000),
François-Xavier Coudert (2002).
Dernière modification le <date value="$Date: 2008-03-24 16:52:30 $" />.</div>
</body> </html>

View file

@ -10,20 +10,20 @@
<h1>Les notes de bas de page</h1>
<h2>Comment faire une note en bas de page ?</h2>
<h2>Comment faire une note en bas de page ?</h2>
<p> On utilise la commande <code>\footnote</code>, suivie, entre
accolades, du texte à mettre en note. Par exemple :</p>
accolades, du texte à mettre en note. Par exemple :</p>
<pre>Dans l'excellent article de M. Dugenou\footnote{Lisez-le, c'est
vraiment tordant.}, nous lisons le récit de sa vie.</pre>
vraiment tordant.}, nous lisons le récit de sa vie.</pre>
<p>LaTeX gèrera tout seul la numérotation des appels de notes, si besoin
est la répartition des notes très longues entre plusieurs pages.</p>
<p>LaTeX gèrera tout seul la numérotation des appels de notes, si besoin
est la répartition des notes très longues entre plusieurs pages.</p>
<p>Il est néanmoins nécessaire de savoir bien placer les appels de
notes : on les met <em>avant</em> les ponctuations, et non après. Par
exemple, il ne faut pas écrire :</p>
<p>Il est néanmoins nécessaire de savoir bien placer les appels de
notes : on les met <em>avant</em> les ponctuations, et non après. Par
exemple, il ne faut pas écrire :</p>
<pre>... pour finir.\footnote{Si, si...}</pre>
@ -31,11 +31,11 @@ exemple, il ne faut pas
<pre>... pour finir\footnote{Si, si...}.</pre>
<p>Il ne faut pas non plus oublier la ponctuation à la fin des notes en
<p>Il ne faut pas non plus oublier la ponctuation à la fin des notes en
bas de page.</p>
<p>
Il vous sera parfois nécessaire de recourir aux commandes
Il vous sera parfois nécessaire de recourir aux commandes
</p>
<pre>
@ -44,43 +44,43 @@ Il vous sera parfois n
</pre>
<p class="continue">
dans certaines conditions : dans les tableaux (cf. « <a
dans certaines conditions : dans les tableaux (cf. « <a
href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=footintab">Footnotes
in tables</a> »), ou dans les environnements
in tables</a> »), ou dans les environnements
<code>minipage</code> (pour lesquels <code>\footnote</code> donne une
note en bas de la mini-page tandis que <code>\footnotemark</code> et
<code>\footnotemark</code> placent encore leur notes en pied de page).
</p>
<p>La première commande est placée à l'endroit de l'appel de note. La
seconde est placée plus loin dans le texte, là où ça vous arrange en
vous assurant que la note sera encore placée sur la même page que son appel. <var>num</var> désigne un numéro que vous pouvez
donner à la main si nécessaire (en l'absence de cette indication LaTeX
<p>La première commande est placée à l'endroit de l'appel de note. La
seconde est placée plus loin dans le texte, là où ça vous arrange en
vous assurant que la note sera encore placée sur la même page que son appel. <var>num</var> désigne un numéro que vous pouvez
donner à la main si nécessaire (en l'absence de cette indication LaTeX
utilise la valeur du compteur <code>footnote</code>). Si on
groupe en fin de document tous les textes des notes (ceux contenus dans
les <code>footnotetext</code>), elles apparaîtront toutes à la fin du
les <code>footnotetext</code>), elles apparaîtront toutes à la fin du
texte.</p>
<h2>Comment faire référence à une note en bas de page ?</h2>
<h2>Comment faire référence à une note en bas de page ?</h2>
<p>On utilise le mécanisme de référencement habituel, avec
<code>\label{<var>mot-clé</var>}</code> et <code>\ref{<var>mot-clé</var>}</code>.
<code>\ref</code> tient compte du contexte où se trouve l'étiquette
<code>\label</code> :</p>
<p>On utilise le mécanisme de référencement habituel, avec
<code>\label{<var>mot-clé</var>}</code> et <code>\ref{<var>mot-clé</var>}</code>.
<code>\ref</code> tient compte du contexte où se trouve l'étiquette
<code>\label</code> :</p>
<ul><li> Si elle est dans du texte ordinaire, c'est le numéro de la
section qui est produit ;</li>
<ul><li> Si elle est dans du texte ordinaire, c'est le numéro de la
section qui est produit ;</li>
<li> Si elle suit le titre d'une figure (juste après la commande
<code>\caption</code>), c'est le numéro de la figure qui sera
produit ;</li>
<li> Si elle suit le titre d'une figure (juste après la commande
<code>\caption</code>), c'est le numéro de la figure qui sera
produit ;</li>
<li>Si elle est à l'intérieur d'une note de bas de page, c'est le numéro
<li>Si elle est à l'intérieur d'une note de bas de page, c'est le numéro
de la note qui est produit.</li></ul>
<p>Ainsi, si on pourra écrire :</p>
<p>Ainsi, si on pourra écrire :</p>
<pre> Jean-Paul Sartre a été élève à l'ENS\footnote{\label{ulm}45, rue d'Ulm, 75005~Paris.}, qui en est très fière.
<pre> Jean-Paul Sartre a été élève à l'ENS\footnote{\label{ulm}45, rue d'Ulm, 75005~Paris.}, qui en est très fière.
(...)
@ -88,38 +88,38 @@ On trouvera l'adresse de l'ENS dans la note~\ref{ulm}.
</pre>
<h2>Comment mettre une note en bas de page dans un titre de
section ?</h2>
section ?</h2>
<p>Il faut « protéger » la note en intercalant la commande
<code>\protect</code>. Par exemple :</p>
<p>Il faut « protéger » la note en intercalant la commande
<code>\protect</code>. Par exemple :</p>
<pre>
\section{La vigne en France\protect\footnote{Sur ce sujet, voir
l'ouvrage de Marchel \textsc{Lachiver}, \emph{Vin, vignes et
vignerons. Histoire du vignoble français}, Paris, 1988.}}
vignerons. Histoire du vignoble français}, Paris, 1988.}}
</pre>
<div class="attention">Une erreur classique est d'oublier l'accolade qui
referme la <code>\section</code> !</div>
referme la <code>\section</code> !</div>
<p>La note appelée dans un titre apparaîtra également dans la table des
matières. Pour l'éviter, il faut utiliser la même technique que pour les
titres longs, en indiquant un titre alternatif entre crochets :</p>
<p>La note appelée dans un titre apparaîtra également dans la table des
matières. Pour l'éviter, il faut utiliser la même technique que pour les
titres longs, en indiquant un titre alternatif entre crochets :</p>
<pre>
\section[La vigne en France]{La vigne en France\protect\footnote{Sur ce
sujet, voir l'ouvrage de Marchel \textsc{Lachiver}, \emph{Vin, vignes et
vignerons. Histoire du vignoble français}, Paris, 1988.}}
vignerons. Histoire du vignoble français}, Paris, 1988.}}
</pre>
<p>
Une autre possibilité est offerte par le package <code>footmisc</code>
Une autre possibilité est offerte par le package <code>footmisc</code>
et son option <code>stable</code>.
</p>
<h2>Comment changer le style de numérotation des notes ?</h2>
<h2>Comment changer le style de numérotation des notes ?</h2>
<p>Il existe six styles d'appels de notes différentes :</p>
<p>Il existe six styles d'appels de notes différentes :</p>
<table class="tableau">
<tr>
@ -155,46 +155,46 @@ et son option <code>stable</code>.
<tr>
<td> <code>\fnsymbol</code> </td>
<td> symbole </td>
<td> croix, étoile, double croix, etc </td>
<td> croix, étoile, double croix, etc </td>
</tr>
</table>
<p>Pour choisir les lettres majuscules, par exemple, il faut taper avant
le <code>\begin{document}</code> :</p>
le <code>\begin{document}</code> :</p>
<pre>
\renewcommand{\thefootnote}{\Alph{footnote}}
</pre>
<h2>Comment mettre toutes les notes à la fin du document ?</h2>
<h2>Comment mettre toutes les notes à la fin du document ?</h2>
<p>Il faut utiliser le package <code>endnotes</code> de J. Lavagnino.</p>
<h2>Comment éviter qu'une note ne s'étale sur plusieurs pages ?</h2>
<h2>Comment éviter qu'une note ne s'étale sur plusieurs pages ?</h2>
<p>Bien que ce soit fortement déconseillé, vous pouvez utiliser, dans un
cas particulier (note très longue) la commande
<p>Bien que ce soit fortement déconseillé, vous pouvez utiliser, dans un
cas particulier (note très longue) la commande
<code>\samepage</code> (remarquez que <code>\samepage</code> n'agit pas
sur les sauts de paragraphes) :</p>
sur les sauts de paragraphes) :</p>
<pre>
Jean-Paul Sartre\footnote{\samepage Jean-Paul Sartre est né à Paris en
1905. Il est élevé par sa mère, veuve en 1906, qui est catholique, et par
son grand-père maternel, Charles Schweitzer, protestant alsacien. En
1916, sa mère se remarie et Jean-Paul Sartre entre au lycée de La
Rochelle.} est l'un des plus célèbres normaliens littéraires.
Jean-Paul Sartre\footnote{\samepage Jean-Paul Sartre est né à Paris en
1905. Il est élevé par sa mère, veuve en 1906, qui est catholique, et par
son grand-père maternel, Charles Schweitzer, protestant alsacien. En
1916, sa mère se remarie et Jean-Paul Sartre entre au lycée de La
Rochelle.} est l'un des plus célèbres normaliens littéraires.
</pre>
<p>Une solution globale consiste à redéfinir le critère de beauté associé
au placement des bas de page. Il suffit d'écrire dans le préambule du
fichier :</p>
<p>Une solution globale consiste à redéfinir le critère de beauté associé
au placement des bas de page. Il suffit d'écrire dans le préambule du
fichier :</p>
<pre>
\interfootnotelinepenalty=10000
</pre>
<div class="metainformation"> Auteurs : François-Xavier Coudert
(2002), Marie-Lan Nguyen (2000), Émilia Robin (1998). Dernière
<div class="metainformation"> Auteurs : François-Xavier Coudert
(2002), Marie-Lan Nguyen (2000), Émilia Robin (1998). Dernière
modification le <date value="$Date: 2008-03-22 18:04:06 $" /> par Josselin Noirel. </div>
</body> </html>

View file

@ -12,24 +12,24 @@
<h2>Faire des dessins en LaTeX </h2>
<p>Les packages pgf et Tikz permettent de faire énormément de choses. Vous
<p>Les packages pgf et Tikz permettent de faire énormément de choses. Vous
pouvez regarder les exemples sur:
<a href="http://www.fauskes.net/pgftikzexamples/" > Fauskes.net</a>
et vous en inspirer.
La documentation, disponible
<a href="http://www.ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf">
ici</a>,
est longue mais commence par une série de tutoriaux.
est longue mais commence par une série de tutoriaux.
</p>
<h2>Inclure une image produite par un programme externe</h2>
<h3>Comment faire ?</h3>
<h3>Comment faire ?</h3>
<p>
On doit utiliser le
package <kbd>graphicx</kbd>. Pour cela, il faut mettre un :
package <kbd>graphicx</kbd>. Pour cela, il faut mettre un :
</p>
<pre>
@ -37,36 +37,36 @@ est longue mais commence par une s
</pre>
<p class="continue">
dans le préambule. Ensuite, dans le corps du document, pour inclure une
image stockée dans le fichier <kbd>machin</kbd>, on tape
<kbd>\includegraphics{machin}</kbd>. On peut spécifier la taille avec des
arguments optionnels :
dans le préambule. Ensuite, dans le corps du document, pour inclure une
image stockée dans le fichier <kbd>machin</kbd>, on tape
<kbd>\includegraphics{machin}</kbd>. On peut spécifier la taille avec des
arguments optionnels :
<kbd>\includegraphics[width=3cm,height=3cm]{machin}</kbd> (on peut bien
sur ne préciser qu'une seule des deux tailles). On peut aussi ajouter un
<kbd>angle=XXX</kbd> spécifiant d'insérer l'image tournée de <kbd>XXX</kbd>
degrés.
sur ne préciser qu'une seule des deux tailles). On peut aussi ajouter un
<kbd>angle=XXX</kbd> spécifiant d'insérer l'image tournée de <kbd>XXX</kbd>
degrés.
</p>
<h3>Formats d'image supportés</h3>
<h3>Formats d'image supportés</h3>
<p> Ce paragraphe n'est valable que si vous compilez avec pdflatex.
On a le droit au PDF, au JPEG, au PNG et au TIFF (et également les
On a le droit au PDF, au JPEG, au PNG et au TIFF (et également les
fichiers PostScript obtenus avec MetaPost).
Si l'image est dans un autre format bitmap, on peut la convertir en JPEG,
PNG ou TIFF, par exemple à l'aide de <kbd>convert</kbd>.
PNG ou TIFF, par exemple à l'aide de <kbd>convert</kbd>.
Si c'est un EPS, le mieux est d'utiliser <kbd>epstopdf</kbd>.
</p>
<h3>Logiciels pour créer et/ou modifier des images</h3>
<h3>Logiciels pour créer et/ou modifier des images</h3>
<p>
Ils sont nombreux. Pour faire des schémas du style de ceux qu'on trouve
Ils sont nombreux. Pour faire des schémas du style de ceux qu'on trouve
dans les publications scientifiques (et notamment, mettre facilement des
formules en LaTeX à l'intérieur des schémas) et toujours avec pdflatex,
on peut recommander ipe. Il y a aussi, par exemple, xfig (dans le même
formules en LaTeX à l'intérieur des schémas) et toujours avec pdflatex,
on peut recommander ipe. Il y a aussi, par exemple, xfig (dans le même
genre que ipe, en plus ancien), inkscape (un logiciel de dessin
vectoriel classique), gimp (pour l'édition d'images bitmap) et gnuplot
vectoriel classique), gimp (pour l'édition d'images bitmap) et gnuplot
(pour les courbes et autres histogrammes).
</p>
@ -79,35 +79,35 @@ vectoriel classique), gimp (pour l'
<p>
On dispose de la commande <kbd>\textcolor</kbd>, qui prend comme premier
argument une couleur, comme deuxième argument du texte, et affiche ce
argument une couleur, comme deuxième argument du texte, et affiche ce
texte dans cette couleur. Par exemple, <kbd>\textcolor{red}{ploum}</kbd>
va mettre « ploum » en rouge.
va mettre « ploum » en rouge.
</p>
<p>
Il y a quelques noms de couleurs prédéfinis, comme <kbd>red</kbd>,
<kbd>blue</kbd> et cie. On peut en définir d'autres, avec la commande
Il y a quelques noms de couleurs prédéfinis, comme <kbd>red</kbd>,
<kbd>blue</kbd> et cie. On peut en définir d'autres, avec la commande
<kbd>\definecolor</kbd>. Elle prend en premier argument le nom que l'on
veut donner, en deuxième argument, le modèle de spécification, et en
troisième argument, la spécification. Les trois modèles sont :
veut donner, en deuxième argument, le modèle de spécification, et en
troisième argument, la spécification. Les trois modèles sont :
</p>
<dl>
<dt><kbd>rgb</kbd></dt><dd>Une spécification de couleur est une liste de
trois nombres entre 0 et 1, séparés par des virgules, spécifiant les
composantes rouge, vertes et bleues de la couleur. Par exemple :
<dt><kbd>rgb</kbd></dt><dd>Une spécification de couleur est une liste de
trois nombres entre 0 et 1, séparés par des virgules, spécifiant les
composantes rouge, vertes et bleues de la couleur. Par exemple :
<kbd>\definecolor{LightSlateGrey}{rgb}{.0084033613,.0073529411,.0065359477}</kbd></dd>
<dt><kbd>cmyk</kbd></dt><dd>Ici, on spécifie les composantes de la couleur
dans le système Cyan-Magenta-Jaune-Noir</dd>
<dt><kbd>gray</kbd></dt><dd>On spécifie juste un niveau de gris.</dd>
<dt><kbd>cmyk</kbd></dt><dd>Ici, on spécifie les composantes de la couleur
dans le système Cyan-Magenta-Jaune-Noir</dd>
<dt><kbd>gray</kbd></dt><dd>On spécifie juste un niveau de gris.</dd>
</dl>
<h3>Autres fonctions du packages <kbd>graphicx</kbd></h3>
<p>
On peut appliquer une rotation à du texte avec <kbd>\rotatebox</kbd> (par exemple
<kbd>\rotatebox{30}{ploum}</kbd> pour tourner de 30 degrés), lui faire
subir une affinité avec <kbd>\resizebox</kbd> (par exemple
<kbd>\resizebox{1cm}{3cm}{ploum}</kbd> pour afficher « ploum » large de
On peut appliquer une rotation à du texte avec <kbd>\rotatebox</kbd> (par exemple
<kbd>\rotatebox{30}{ploum}</kbd> pour tourner de 30 degrés), lui faire
subir une affinité avec <kbd>\resizebox</kbd> (par exemple
<kbd>\resizebox{1cm}{3cm}{ploum}</kbd> pour afficher « ploum » large de
1cm et haut de 3cm).
</p>
@ -115,41 +115,41 @@ dans le syst
<h2>DVI et PSTricks</h2>
<p>
Contrairement à un fichier PostScript ou PDF, un fichier au format
Contrairement à un fichier PostScript ou PDF, un fichier au format
traditionnel de sortie de LaTeX, le format DVI, n'est pas fait pour
contenir des images, ni par exemple du texte en couleur.
On s'en sort en mettant dans le fichier DVI des commandes spéciales à
On s'en sort en mettant dans le fichier DVI des commandes spéciales à
l'intention des logiciels qui convertiront le fichier dans un format
plus riche. Ces commandes spéciales peuvent être, par exemple, des
références à des images stockées ailleurs, qui sont insérées au bon
plus riche. Ces commandes spéciales peuvent être, par exemple, des
références à des images stockées ailleurs, qui sont insérées au bon
endroit au moment d'imprimer le document ou de le convertir. Ou
d'ailleurs de l'afficher, mais tout ça ne marche que si le programme
d'ailleurs de l'afficher, mais tout ça ne marche que si le programme
qui doit faire la conversion ou l'affichage est au courant de la
convention, or les afficheurs DVI gèrent généralement moins bien les
commandes spéciales que les convertisseurs.
convention, or les afficheurs DVI gèrent généralement moins bien les
commandes spéciales que les convertisseurs.
Ainsi, si vous compilez votre document au format
DVI (avec la commande <kbd>latex</kbd>, par opposition à
DVI (avec la commande <kbd>latex</kbd>, par opposition à
<kbd>pdflatex</kbd>), il faudra probablement convertir le fichier DVI
au format PS ou PDF pour voir les images, le texte en couleur, etc.
</p>
<p>
De plus, on ne peut insérer par ce mécanisme que des images au format
De plus, on ne peut insérer par ce mécanisme que des images au format
EPS. La commande <kbd>convert</kbd> fournie par ImageMagick permet de
faire la conversion depuis tout un tas de formats d'images.
</p>
<p>
À l'inverse, le puissant package de dessin PSTricks (analogue à pgf/TikZ,
qui en est inspiré) fonctionne avec <kbd>latex</kbd> mais pas avec
À l'inverse, le puissant package de dessin PSTricks (analogue à pgf/TikZ,
qui en est inspiré) fonctionne avec <kbd>latex</kbd> mais pas avec
<kbd>pdflatex</kbd>. Vous pouvez consulter le <a
href="../../noncvs/docs/pst-user.ps.gz">manuel de PSTricks</a>.
</p>
<div class="metainformation">
Auteur : Éric Levieil, Luc Habert.
Dernière modification le <date value="$Date: 2008-07-31 16:45:21 $" />
Auteur : Éric Levieil, Luc Habert.
Dernière modification le <date value="$Date: 2008-07-31 16:45:21 $" />
par Marc Mezzarobba.
</div>

View file

@ -13,18 +13,18 @@
<div class="attention">
<p>
La méthode décrite ici fonctionne encore très bien, mais de nouveaux outils
sont maintenant disponibles, qui peuvent sembler plus confortables à
utiliser. Pour apprendre à s'en servir, allez voir la page sur
La méthode décrite ici fonctionne encore très bien, mais de nouveaux outils
sont maintenant disponibles, qui peuvent sembler plus confortables à
utiliser. Pour apprendre à s'en servir, allez voir la page sur
<a href="langues.html">langues exotiques</a> (oui, le grec, c'est exotique).
</p>
</div>
<h2>Écrire en grec</h2>
<h2>Écrire en grec</h2>
<p>Pour taper des textes en grec, il suffit d'indiquer dans le
préambule de son document que l'on veut charger le grec dans les
options de babel :</p>
préambule de son document que l'on veut charger le grec dans les
options de babel :</p>
<pre>
\usepackage[greek,frenchb]{babel}
@ -38,15 +38,15 @@ Pour le grec ancien, utilisez
\usepackage[polutonikogreek,frenchb]{babel}
</pre>
<p class="continue">babel prévoit une commande pour taper du grec :</p>
<p class="continue">babel prévoit une commande pour taper du grec :</p>
<pre>
\textgreek{blablabla}
</pre>
<p class="continue">
mais elle est très mauvaise, nous vous conseillons de la redéfinir dans
le préambule de votre document :
mais elle est très mauvaise, nous vous conseillons de la redéfinir dans
le préambule de votre document :
</p>
<pre>
@ -55,65 +55,65 @@ le pr
}
</pre>
<p class="continue">ce qui donne :</p>
<p class="continue">ce qui donne :</p>
<div class="illustration"><img src="blabla.jpg" alt="texte grec" /></div>
<p>
Comme vous êtes fainéant (normal), vous aurez envie de vous créer un
raccourci :
Comme vous êtes fainéant (normal), vous aurez envie de vous créer un
raccourci :
</p>
<pre>
\newcommand*{\tg}[1]{\textgreek{#1}}
</pre>
<p class="continue">ce qui vous permet maintenant de taper :</p>
<p class="continue">ce qui vous permet maintenant de taper :</p>
<pre>\tg{blablabla}</pre>
<h3>Caractères</h3>
<h3>Caractères</h3>
<p>Les équivalences de caractères sont les suivantes :</p>
<p>Les équivalences de caractères sont les suivantes :</p>
<p><img src="equiv1.jpg" alt="Équivalence des caractères 1" />
<img src="equiv2.jpg" alt="Équivalence des caractères 2" /></p>
<p><img src="equiv1.jpg" alt="Équivalence des caractères 1" />
<img src="equiv2.jpg" alt="Équivalence des caractères 2" /></p>
<h3>Accents et esprits</h3>
<p>Pour taper les accents et les esprits, on utilise les signes
suivants :</p>
suivants :</p>
<ul>
<li><code>&lt;</code> pour l'esprit rude ;</li>
<li><code>&gt;</code> pour l'esprit doux ;</li>
<li><code>'</code> pour l'accent aigu ;</li>
<li><code>`</code> pour l'accent grave ;</li>
<li><code>&lt;</code> pour l'esprit rude ;</li>
<li><code>&gt;</code> pour l'esprit doux ;</li>
<li><code>'</code> pour l'accent aigu ;</li>
<li><code>`</code> pour l'accent grave ;</li>
<li><code>~</code> pour l'accent circonflexe.</li>
</ul>
<p>Ces signes se placent avant la lettre sur laquelle ils portent. Les
trémas se tapent <code>&quot;</code>, et se placent avant les accents.
Exemples :</p>
trémas se tapent <code>&quot;</code>, et se placent avant les accents.
Exemples :</p>
<table class="tableau">
<tr>
<td><code>&gt;'a</code> pour
<img src="ex_alpha.jpg" alt="alpha esprit rude accentué" style="vertical-align: middle;" /></td>
<img src="ex_alpha.jpg" alt="alpha esprit rude accentué" style="vertical-align: middle;" /></td>
<td><code>&lt;~w</code> pour
<img src="ex_omega.jpg" alt="omega esprit rude accentué"
<img src="ex_omega.jpg" alt="omega esprit rude accentué"
style="vertical-align: middle;" /></td></tr>
<tr>
<td><code>`h</code> pour
<img src="ex_eta.jpg" alt="êta accentué" style="vertical-align: middle;" /></td>
<img src="ex_eta.jpg" alt="êta accentué" style="vertical-align: middle;" /></td>
<td><code>&quot;'i</code> pour
<img src="ex_iota.jpg" alt="iota tréma accentué" style="vertical-align: middle;" />
<img src="ex_iota.jpg" alt="iota tréma accentué" style="vertical-align: middle;" />
</td></tr>
</table>
<p>Pour les <strong>iotas souscrits</strong>, il faut taper
<code>|</code> (un <i lang="en">pipe</i>) après la lettre sur laquelle
on veut le faire porter. Exemple :</p>
<code>|</code> (un <i lang="en">pipe</i>) après la lettre sur laquelle
on veut le faire porter. Exemple :</p>
<pre>T'a z~w|a tr'eqei</pre>
@ -122,25 +122,25 @@ pour <img style="vertical-align: middle;" src="ta_zoa.jpg" alt="Les oies tricote
<h3>Ponctuation</h3>
<p>La ponctuation se marque à la française, sans se poser de
<p>La ponctuation se marque à la française, sans se poser de
question. On tape un point d'interrogation (<code>?</code>) pour
obtenir... un point d'interrogation, et un point virgule
(<code>;</code>) pour un point en haut.</p>
<h3>Apostrophes</h3>
<p>Comme vous l'aurez remarqué, Ô lecteurs diligents, on utilise
<p>Comme vous l'aurez remarqué, Ô lecteurs diligents, on utilise
l'apostrophe pour faire l'accent aigu, ce qui risque de poser certains
problèmes quand on veut réellement utiliser l'apostrophe. Il faudrait
don, dans l'idéal, mettre un espace insécable après l'apostrophe, mais
problèmes quand on veut réellement utiliser l'apostrophe. Il faudrait
don, dans l'idéal, mettre un espace insécable après l'apostrophe, mais
pas de chance la commande <code>~</code> est inutilisable en grec
puisqu'elle sert pour les périspomènes. Le plus simple est donc de
puisqu'elle sert pour les périspomènes. Le plus simple est donc de
taper <code>'{}</code>.</p>
<h3>Les chiffres</h3>
<p>Les signes exotiques (stigma, stampi et autres qoppas) ne sont pas
disponibles directement. Il faut taper :</p>
disponibles directement. Il faut taper :</p>
<table class="tableau">
<tr><td><code>\Digamma</code> pour
@ -159,7 +159,7 @@ disponibles directement. Il faut taper
<p>
Voici donc un petit exemple de texte (extrait de <cite>La Constitution
d'Athènes</cite>) tapé avec LaTeX :
d'Athènes</cite>) tapé avec LaTeX :
</p>
<pre>\textgreek{Peis'istratis m'en o&gt;~un >egkateg'hrase t~h|
@ -168,7 +168,7 @@ af' o&lt;~ou m`en kat'esth t`o pr~wton t'urannos &gt;'eth tri'akonta
ka`i tr'ia Bi'wsas, &lt;`a d' &gt;en t~h| &gt;arq~h| di'emeinen
&lt;enos d'eonta e&gt;'ikosi; &gt;'efeuge g`ap t`a loip`a.}</pre>
<p class="continue">ce qui donne :</p>
<p class="continue">ce qui donne :</p>
<div class="illustration"><img src="grec.png" width="518" height="60"
alt="[Du grec avec LaTeX]" /></div>
@ -176,14 +176,14 @@ alt="[Du grec avec LaTeX]" /></div>
<h2>Titres courants</h2>
<p>Les accents des titres en grec posent des problèmes lorsqu'ils doivent
<p>Les accents des titres en grec posent des problèmes lorsqu'ils doivent
figurer dans des titres courants (l'ordinateur ne lit pas encore dans
votre pensée et va bêtement continuer à mettre des accents à l'intérieur
des mots). Bien sûr on est en droit d'aimer les accents qui se promènent
entre deux caractères majuscules, mais en général il vaut mieux indiquer
une alternative à l'ordinateur.</p>
votre pensée et va bêtement continuer à mettre des accents à l'intérieur
des mots). Bien sûr on est en droit d'aimer les accents qui se promènent
entre deux caractères majuscules, mais en général il vaut mieux indiquer
une alternative à l'ordinateur.</p>
<p>Vous pouvez utiliser la commande <code>\hsection</code> définie ainsi :</p>
<p>Vous pouvez utiliser la commande <code>\hsection</code> définie ainsi :</p>
<pre>
\newcommand*{\hsection}[2]{%
@ -195,14 +195,14 @@ une alternative
}
</pre>
<p>Cette macro prend deux arguments : la première paire d'accolades contiendra le
titre destiné au titre courant, la seconde contiendra le titre destiné à
la table des matières et au texte lui-même.</p>
<p>Cette macro prend deux arguments : la première paire d'accolades contiendra le
titre destiné au titre courant, la seconde contiendra le titre destiné à
la table des matières et au texte lui-même.</p>
<p>Supposons que vous ayez pris pour titre de section la formule
édifiante de la grammaire des ragondins : <img src="panton.jpg"
édifiante de la grammaire des ragondins : <img src="panton.jpg"
style="vertical-align: middle;" alt="formule grecque" />. Vous taperez
dans le fichier source :</p>
dans le fichier source :</p>
<pre>
\hsection{\textgreek{Pajwn nhpioc&gt;egnw}}
@ -210,7 +210,7 @@ dans le fichier source
</pre>
<p>
Autrement, il est possible de redéfinir les en-têtes de page pour qu'ils
Autrement, il est possible de redéfinir les en-têtes de page pour qu'ils
ne soient pas en capitales (package <code>fancyhdr</code>).
</p>
@ -219,19 +219,19 @@ ne soient pas en capitales (package <code>fancyhdr</code>).
<ul>
<li> <a href="grec.dvi">De quoi satisfaire les pulsions informatiques
de l'âme antiquisante</a> (cette documentation, au format DVI)</li>
de l'âme antiquisante</a> (cette documentation, au format DVI)</li>
<li> l'<a href="docepi.dvi">épigraphie sous LaTeX</a></li>
<li> l'<a href="docepi.dvi">épigraphie sous LaTeX</a></li>
<li> <a href="&url.tuteurs;unix/editeurs/unicode.html">Unicode</a> :
<li> <a href="&url.tuteurs;unix/editeurs/unicode.html">Unicode</a> :
comment taper directement en grec, sans passer comme ici par un
système de transcription</li>
système de transcription</li>
</ul>
<div class="metainformation"> Auteurs : Éveline Prioux (1998),
adaptation en HTML : Marie-Lan Nguyen (2000).
Dernière modification : le <date value="$Date: 2007-07-17 10:02:50 $" />.
<div class="metainformation"> Auteurs : Éveline Prioux (1998),
adaptation en HTML : Marie-Lan Nguyen (2000).
Dernière modification : le <date value="$Date: 2007-07-17 10:02:50 $" />.
</div>
</body> </html>

View file

@ -10,148 +10,148 @@
<h1>LaTeX</h1>
<p> Bienvenue sur notre page LaTeX. Celle-ci est conçue pour vous
apprendre à vous servir de LaTeX, un système très puissant pour
<p> Bienvenue sur notre page LaTeX. Celle-ci est conçue pour vous
apprendre à vous servir de LaTeX, un système très puissant pour
composer du texte (mettre en forme et mettre en page), utile dans de
nombreux domaines (littérature, langues anciennes ou ésotériques,
nombreux domaines (littérature, langues anciennes ou ésotériques,
textes scientifiques, etc.). </p>
<p>Le contenu de cette introduction à LaTeX
est organisé comme suit: </p>
<p>Le contenu de cette introduction à LaTeX
est organisé comme suit: </p>
<h2>Les bases</h2>
<ul>
<li>
<a href="latex.html">Comment faire du LateX</a> :
explications sur les trois temps forts de l'écriture d'un document LaTeX
(rédiger, compiler, visualiser), les commandes à utiliser pour se servir
de LaTeX ;
<a href="latex.html">Comment faire du LateX</a> :
explications sur les trois temps forts de l'écriture d'un document LaTeX
(rédiger, compiler, visualiser), les commandes à utiliser pour se servir
de LaTeX ;
</li>
<li>
<a href="manuel.html">Les bases de LaTeX</a> : pour apprendre les
<a href="manuel.html">Les bases de LaTeX</a> : pour apprendre les
commandes courantes (structure du document, taille du texte, italique,
etc.) ainsi que certaines options bien pratiques (langues étrangères, par
exemple) ;
etc.) ainsi que certaines options bien pratiques (langues étrangères, par
exemple) ;
</li>
<li>
<a href="aide.html">Documentation essentielle</a> : une sélection de
documents <em>à jour</em>, raisonnablement complets et de bonne qualité
<a href="aide.html">Documentation essentielle</a> : une sélection de
documents <em>à jour</em>, raisonnablement complets et de bonne qualité
parmi les innombrables documents sur LaTeX disponibles en librairie et
sur le web ; </li>
<li>
<a href="astuces.html">Remarques et astuces</a> : pour gérer les
paragraphes, les césures, les caractères spéciaux, pour apprendre les
bases de la typographie française ;
<a href="astuces.html">Remarques et astuces</a> : pour gérer les
paragraphes, les césures, les caractères spéciaux, pour apprendre les
bases de la typographie française ;
</li>
<li><a href="exemple.html">Un exemple de fichier LaTeX</a> avec de
nombreux commentaires, pour que vous puissiez voir à quoi sert chaque
commande en détail. </li>
nombreux commentaires, pour que vous puissiez voir à quoi sert chaque
commande en détail. </li>
</ul>
<p> Concernant les bases de LaTex, vous pouvez aussi consulter une petite
documentation au format PostScript : <a
documentation au format PostScript : <a
href="latex.ps.gz"><code>latex.ps.gz</code></a> (que vous pouvez
télécharger ou consulter directement). Attention, il y a des éléments
obsolètes dedans.</p>
télécharger ou consulter directement). Attention, il y a des éléments
obsolètes dedans.</p>
<h2>Fiches techniques</h2>
<p> Pour certains sujets bien précis, nous mettons à votre disposition
des fiches techniques, expliquant les différentes manières de faire telle
<p> Pour certains sujets bien précis, nous mettons à votre disposition
des fiches techniques, expliquant les différentes manières de faire telle
ou telle chose. Voici la liste des sujets existants, si vous pensez
qu'un sujet important a été oublié, envoyez-nous un mail ! </p>
qu'un sujet important a été oublié, envoyez-nous un mail ! </p>
<ul>
<li> <a href="footnote.html">Les notes de bas de page</a></li>
<li> <a href="tableaux.html">Faire des tableaux</a></li>
<li> <a href="figures.html">Les figures</a></li>
<li> <a href="macros.html">Faire des macros</a></li>
<li> <a href="references.html">Faire des références</a></li>
<li> <a href="maths.html">Mathématiques élémentaires</a></li>
<li> <a href="lettre.html">Écrire une lettre</a></li>
<li> <a href="references.html">Faire des références</a></li>
<li> <a href="maths.html">Mathématiques élémentaires</a></li>
<li> <a href="lettre.html">Écrire une lettre</a></li>
<li> <a href="export.html">Transmettre un document</a></li>
<li> <a href="makeindex.html">Faire un index avec MakeIndex</a></li>
<li> <a href="bibtex.html">Faire une bibliographie avec bibTeX</a></li>
<li> <a href="nouveau_package.html">Créer son propre package</a></li>
<li> <a href="graphisme.html">Insérer des images, mettre des couleurs,
<li> <a href="nouveau_package.html">Créer son propre package</a></li>
<li> <a href="graphisme.html">Insérer des images, mettre des couleurs,
faire des dessins</a></li>
<li> <a href="beamer.html">Faire des présentations</a></li>
<li> <a href="beamer.html">Faire des présentations</a></li>
</ul>
<ul>
<li> <a href="langues.html">Les langues exotiques</a></li>
<li> <a href="grec.html">Le grec ancien sous LaTeX</a></li>
<li> <a href="polices.html">Utiliser différentes polices</a></li>
<li> <a href="polices.html">Utiliser différentes polices</a></li>
<li> <a href="xetex.html">Utiliser XeTeX</a></li>
</ul>
<h2>Fichiers types (à télécharger)</h2>
<h2>Fichiers types (à télécharger)</h2>
<p>Des modèles qui pourront vous servir en de nombreuses occasions...
Télechargez-les, puis utilisez-les comme base pour rédiger une lettre, un
<p>Des modèles qui pourront vous servir en de nombreuses occasions...
Télechargez-les, puis utilisez-les comme base pour rédiger une lettre, un
CV, un rapport de stage, etc.</p>
<ul>
<li><a href="templates/skel-utf8.txt">Un article LaTeX de base</a> : les
en-têtes que nous vous conseillons d'utiliser avec la classe
<li><a href="templates/skel-utf8.txt">Un article LaTeX de base</a> : les
en-têtes que nous vous conseillons d'utiliser avec la classe
<code>article</code> et le squelette du document.</li>
<li><a href="templates/skelbook-utf8.txt">Un livre LaTeX de base</a> : les
en-têtes que nous vous conseillons d'utiliser avec la classe
<li><a href="templates/skelbook-utf8.txt">Un livre LaTeX de base</a> : les
en-têtes que nous vous conseillons d'utiliser avec la classe
<code>book</code> et le squelette du document.</li>
<li> Les mêmes en latin-1 : <a
<li> Les mêmes en latin-1 : <a
href="templates/skel.txt">article</a>, <a
href="templates/skelbook.txt">livre</a>. À utiliser si vos fichiers texte
href="templates/skelbook.txt">livre</a>. À utiliser si vos fichiers texte
sont en Latin-1, ce qui est de plus en plus rare sur
les systèmes d'exploitation modernes. <em>En particulier
la config par défaut à l'ENS pour les gens entrés à l'école avant 2006 inclus.
les systèmes d'exploitation modernes. <em>En particulier
la config par défaut à l'ENS pour les gens entrés à l'école avant 2006 inclus.
</em>
Vous ne savez pas ? Essayez cette
version si les lettres accentuées ne
passent pas bien avec les modèles précédents, et voyez la <a
version si les lettres accentuées ne
passent pas bien avec les modèles précédents, et voyez la <a
href="&url.tuteurs;theorie/encodages.html">page sur les encodages</a>
pour des explications plus détaillées.</li>
pour des explications plus détaillées.</li>
</ul>
<p><strong>Des CV</strong> : on donne plusieurs exemples de CV,
présentés différemment, et utilisant des techniques différentes. Il est
<p><strong>Des CV</strong> : on donne plusieurs exemples de CV,
présentés différemment, et utilisant des techniques différentes. Il est
certain que, pour quelqu'un qui n'a pas l'habitude d'utiliser LaTeX, un
traitement de textes classique sera bien plus facile à utiliser pour
taper un bête CV. Cela dit, faire du LaTeX c'est aussi voir comment les
traitement de textes classique sera bien plus facile à utiliser pour
taper un bête CV. Cela dit, faire du LaTeX c'est aussi voir comment les
autres ont fait... </p>
<ul> <li> <a href="templates/cv1.txt">CV 1</a> : simple (<a
<ul> <li> <a href="templates/cv1.txt">CV 1</a> : simple (<a
href="templates/cv1.ps.gz">cv1.ps.gz</a>)</li>
<li> <a href="templates/cv2.txt">CV 2</a> : plus complexe,
<li> <a href="templates/cv2.txt">CV 2</a> : plus complexe,
plus joli aussi (<a href="templates/cv2.ps.gz">cv2.ps.gz</a>), il utilise
la classe de documents « CV », écrite pour cela. Elle est
installée sur clipper, mais vous pouvez l'installer sur votre machine,
en téléchargeant le fichier <a href="cv.cls">cv.cls</a></li>
la classe de documents « CV », écrite pour cela. Elle est
installée sur clipper, mais vous pouvez l'installer sur votre machine,
en téléchargeant le fichier <a href="cv.cls">cv.cls</a></li>
<li> <a href="templates/cv3.txt">CV 3</a> simple et élégant (<a
<li> <a href="templates/cv3.txt">CV 3</a> simple et élégant (<a
href="templates/cv3.ps.gz">cv3.ps.gz</a>)</li>
</ul>
<h2>Sites et documentations utiles</h2>
<p>
Nous vous invitons à consulter notre page:
Nous vous invitons à consulter notre page:
<a href="&url.tuteurs;logiciels/latex/aide.html"> Documentations sur LaTeX </a>
Ci-dessous les références les plus utiles.
Ci-dessous les références les plus utiles.
</p>
<ul>
<li> <a href="http://www.ctan.org/tex-archive/info/lshort/french/flshort-3.20.pdf">
Une courte(?) introduction à LaTeX</a>
Une courte(?) introduction à LaTeX</a>
</li>
<li> <a href="http://tex.loria.fr/">(La)TeX
navigator</a> : une encyclopédie (La)TeX : manuels, histoire,
navigator</a> : une encyclopédie (La)TeX : manuels, histoire,
distributions... le tout en anglais.</li>
<li><a href="http://www.tex.ac.uk/cgi-bin/texfaq2html">FAQ anglophone</a>:
toutes les questions que vous vous posez, et sans doute un peu plus
@ -159,9 +159,9 @@ distributions... le tout en anglais.</li>
</ul>
<div class="metainformation"> Auteurs : Éric Levieil, Marc Mezzarobba, Josselin
Noirel, François-Xavier
Coudert. Dernière modification le
<div class="metainformation"> Auteurs : Éric Levieil, Marc Mezzarobba, Josselin
Noirel, François-Xavier
Coudert. Dernière modification le
<date value="$Date: 2008-03-27 01:00:17 $" />. </div>
</body>

View file

@ -13,163 +13,163 @@
<div class="resume">
<p>
Dans cette page, nous allons voir comment utiliser LaTeX pour taper des
langues « exotiques ». Par là, nous entendons des langues qui s'écrivent
langues « exotiques ». Par là, nous entendons des langues qui s'écrivent
avec autre chose que l'alphabet latin, comme le russe ou le japonais.
</p>
</div>
<h2>Le point sur la situation</h2>
<h3>Anciennes et nouvelles méthodes</h3>
<h3>Anciennes et nouvelles méthodes</h3>
<p>
LaTeX a été conçu avant tout par des Américains, et à ce titre, prévu pour
LaTeX a été conçu avant tout par des Américains, et à ce titre, prévu pour
taper de l'anglais. Comme l'auteur principal est quelqu'un de soigneux, il
est assez facile de rajouter des accents, et même de taper autre chose que
de l'alphabet latin. Mais facile ne veut pas dire pratique : avec la manière
directe de procéder, le code source d'un mot en grec ancien risque d'être
est assez facile de rajouter des accents, et même de taper autre chose que
de l'alphabet latin. Mais facile ne veut pas dire pratique : avec la manière
directe de procéder, le code source d'un mot en grec ancien risque d'être
moins lisible que les jurons de Fantasio.
</p>
<p>
Heureusement, LaTeX est programmable, et des extensions ont été écrites pour
permettre plus de confort. Hélas, ces extensions sont toutes plus ou moins
incompatibles entre elles, et souvent plutôt plus que moins. Par exemple, si
vous voulez taper du français et du grec, vous avez un choix exclusif entre
taper confortablement les caractères accentués français et taper
Heureusement, LaTeX est programmable, et des extensions ont été écrites pour
permettre plus de confort. Hélas, ces extensions sont toutes plus ou moins
incompatibles entre elles, et souvent plutôt plus que moins. Par exemple, si
vous voulez taper du français et du grec, vous avez un choix exclusif entre
taper confortablement les caractères accentués français et taper
confortablement les mots grecs.
</p>
<p>
Plus récemment, l'informatique a vu le développement d'Unicode, un système
qui résout les problèmes de langues dans les fichiers textes (un fichier
Plus récemment, l'informatique a vu le développement d'Unicode, un système
qui résout les problèmes de langues dans les fichiers textes (un fichier
<code>.tex</code> est un fichier texte. L'architecture de LaTeX ne l'a pas
rendu facile, mais petit a petit, il est devenu possible de bénéficier de ce
progrès.
rendu facile, mais petit a petit, il est devenu possible de bénéficier de ce
progrès.
</p>
<h3>Difficultés encore présentes</h3>
<h3>Difficultés encore présentes</h3>
<p>
Unicode résout certains problèmes, mais ne les résout pas tous. Le principal
est bien sûr celui des polices : votre texte aura beau contenir,
informatiquement parlant, des idéogrammes chinois, si ces idéogrammes ne
sont disponibles dans aucune police que connaît LaTeX, vous n'irez pas loin.
Unicode résout certains problèmes, mais ne les résout pas tous. Le principal
est bien sûr celui des polices : votre texte aura beau contenir,
informatiquement parlant, des idéogrammes chinois, si ces idéogrammes ne
sont disponibles dans aucune police que connaît LaTeX, vous n'irez pas loin.
</p>
<p>
Ensuite, Unicode est conçu pour la <em>saisie</em> du texte, pas son rendu :
Unicode traite des entités plus ou moins abstraites appelées caractères, qui
n'ont pas nécessairement un rapport direct avec les glyphes qu'on veut voir
dans un document imprimé. Pour les langues européennes, ça se passe plutôt
Ensuite, Unicode est conçu pour la <em>saisie</em> du texte, pas son rendu :
Unicode traite des entités plus ou moins abstraites appelées caractères, qui
n'ont pas nécessairement un rapport direct avec les glyphes qu'on veut voir
dans un document imprimé. Pour les langues européennes, ça se passe plutôt
bien, mais certaines langues, l'arabe et surtout les langues indiennes, ont
des interactions entre caractères très complexes : ligatures,
réordonnancement, combinaisons, etc. Unicode n'aplanit pas ces difficultés,
il se contente de fournir un point d'entrée confortable à une extension qui
des interactions entre caractères très complexes : ligatures,
réordonnancement, combinaisons, etc. Unicode n'aplanit pas ces difficultés,
il se contente de fournir un point d'entrée confortable à une extension qui
le fait &mdash; si elle existe.
</p>
<p>
Enfin, LaTeX est conçu presque exclusivement pour l'écriture de gauche à
droite. Ses algorithmes sont incapables de gérer l'écriture de droite à
gauche de l'arabe et de l'hébreu, et l'écriture en colonnes.
Enfin, LaTeX est conçu presque exclusivement pour l'écriture de gauche à
droite. Ses algorithmes sont incapables de gérer l'écriture de droite à
gauche de l'arabe et de l'hébreu, et l'écriture en colonnes.
</p>
<h3>Finalement, qu'est-ce qui marche ?</h3>
<h3>Finalement, qu'est-ce qui marche ?</h3>
<p>
Après toutes ces considérations défaitistes, on en vient à se demander s'il
Après toutes ces considérations défaitistes, on en vient à se demander s'il
est possible de taper autre chose que de l'anglais. Voici une petite liste
de ce qui marche bien.
</p>
<ul>
<li>les langues occidentales, avec des extensions de l'alphabet latin
(accents, ligatures, ponctuations bizarres, etc.) ;</li>
<li>le grec, moderne et ancien ;</li>
(accents, ligatures, ponctuations bizarres, etc.) ;</li>
<li>le grec, moderne et ancien ;</li>
<li>le cyrillique</li>
<li>le chinois, simplifié et traditionnel, écrit de gauche à droite ;</li>
<li>le japonais, écrit de gauche à droite.</li>
<li>le chinois, simplifié et traditionnel, écrit de gauche à droite ;</li>
<li>le japonais, écrit de gauche à droite.</li>
</ul>
<p>
La distribution standard de LaTeX comporte des polices latines, grecques et
cyrilliques. Des polices chinoises et japonaises sont également disponibles,
mais parfois plus techniques à installer. Il y en a installées à l'ENS.
cyrilliques. Des polices chinoises et japonaises sont également disponibles,
mais parfois plus techniques à installer. Il y en a installées à l'ENS.
</p>
<h2>Comment faire</h2>
<h3>Préparation</h3>
<h3>Préparation</h3>
<p>
Avant de commencer, il y a un pré-requis qui n'est pas spécifique à LaTeX :
savoir taper un texte quelconque, dans la langue qui vous intéresse, en
Avant de commencer, il y a un pré-requis qui n'est pas spécifique à LaTeX :
savoir taper un texte quelconque, dans la langue qui vous intéresse, en
Unicode. Heureusement, nous avons une documentation sur les
<a href="&url.tuteurs;unix/editeurs/unicode.html">éditeurs en Unicode</a>,
que nous vous invitons à lire avant d'aller plus loin si ce n'est déjà fait.
<a href="&url.tuteurs;unix/editeurs/unicode.html">éditeurs en Unicode</a>,
que nous vous invitons à lire avant d'aller plus loin si ce n'est déjà fait.
</p>
<p>
Tout ce que vous avez à faire maintenant, c'est de créer votre fichier LaTeX
avec votre éditeur en Unicode. Nous allons voir dans un instant ce qu'il
faut mettre dans le préambule.
Tout ce que vous avez à faire maintenant, c'est de créer votre fichier LaTeX
avec votre éditeur en Unicode. Nous allons voir dans un instant ce qu'il
faut mettre dans le préambule.
</p>
<div class="ens">
<p>
<strong>Attention,</strong> sur certains PC FreeBSD, c'est une ancienne
version de LaTeX qui est installée. Si vous éprouvez des problèmes, regardez
la deuxième ligne des messages lors de la compilation : si elle indique
« <code>LaTeX2e &lt;1999/12/01&gt; patch level 1</code> », changez de
machine (en vous loguant à distance, c'est le plus simple).
version de LaTeX qui est installée. Si vous éprouvez des problèmes, regardez
la deuxième ligne des messages lors de la compilation : si elle indique
« <code>LaTeX2e &lt;1999/12/01&gt; patch level 1</code> », changez de
machine (en vous loguant à distance, c'est le plus simple).
</p>
</div>
<h3>Ce qu'il faut écrire</h3>
<h3>Ce qu'il faut écrire</h3>
<p>
Dans le cas général, il n'y a quasiment rien à changer. Il suffit d'avoir la
ligne suivante dans le préambule :
Dans le cas général, il n'y a quasiment rien à changer. Il suffit d'avoir la
ligne suivante dans le préambule :
</p>
<pre>\usepackage[utf8]{inputenc}</pre>
<p class="continue">
(à la place de l'habituel <code>latin1</code>). Avec cette ligne, un texte
en alphabet latin étendu (y compris <code>&oelig;</code>,
(à la place de l'habituel <code>latin1</code>). Avec cette ligne, un texte
en alphabet latin étendu (y compris <code>&oelig;</code>,
<code>&ldquo;</code>, <code>&rdquo;</code>, <code>&lsquo;</code>,
<code>&rsquo;</code>, <code>&euro;</code>, <code>&hellip;</code>,
<code>&mdash;</code>, etc., tapés directement) fonctionne directement.
<code>&mdash;</code>, etc., tapés directement) fonctionne directement.
</p>
<p>
Pour d'autres langues, il faut quelques options supplémentaires, et en
Pour d'autres langues, il faut quelques options supplémentaires, et en
particulier informer babel du changement de langue.
</p>
<h3>Babel polyglotte</h3>
<p>
Jusqu'a présent, vous n'avez probablement utilisé du package babel que la
ligne <code>\usepackage[francais]{babel}</code>. Il est temps d'apprendre à
Jusqu'a présent, vous n'avez probablement utilisé du package babel que la
ligne <code>\usepackage[francais]{babel}</code>. Il est temps d'apprendre à
l'utiliser pour d'autres langues. Par chance, c'est assez simple. La
première chose à faire est de charger les bons modules :
première chose à faire est de charger les bons modules :
</p>
<pre>\usepackage[greek,russian,francais]{babel}</pre>
<p class="continue">
La dernière langue mentionnée est la langue « principale » du document,
celle qui est sélectionnée s'il n'y a pas d'indication contraire. L'ordre
La dernière langue mentionnée est la langue « principale » du document,
celle qui est sélectionnée s'il n'y a pas d'indication contraire. L'ordre
des autres langues n'a pas d'importance.
</p>
<p>
Il faut ensuite, tout au long du texte, indiquer les changements de langue.
Trois commandes permettent de faire ça :
Trois commandes permettent de faire ça :
</p>
<pre>\selectlanguage{<var>langue</var>}</pre>
<p class="continue">
sélectionne une nouvelle langue pour tout le reste du texte, ou jusqu'à la
prochaine rencontre avec la même commande. De manière surprenante, cette
commande s'échappe des groupes et des environnements ; à utiliser avec
sélectionne une nouvelle langue pour tout le reste du texte, ou jusqu'à la
prochaine rencontre avec la même commande. De manière surprenante, cette
commande s'échappe des groupes et des environnements ; à utiliser avec
prudence donc.
</p>
@ -178,58 +178,58 @@ prudence donc.
\end{otherlanguage}
</pre>
<p class="continue">
sélectionne une langue pour l'étendue de l'environnement. Aucune surprise
sélectionne une langue pour l'étendue de l'environnement. Aucune surprise
ici.
</p>
<pre>\foreignlanguage{<var>langue</var>}{<var>blabla</var>}</pre>
<p class="continue">
sélectionne une langue pour le texte « blabla », et s'utilise de la même
manière que <code>\emph</code>.
sélectionne une langue pour le texte « blabla », et s'utilise de la même
manière que <code>\emph</code>.
</p>
<p>
Souvent, des commandes plus compactes sont disponibles spécifiquement pour
une langue donnée (comme <code>\textgreek</code> pour
Souvent, des commandes plus compactes sont disponibles spécifiquement pour
une langue donnée (comme <code>\textgreek</code> pour
<code>\foreignlanguage{greek}</code>).
</p>
<div class="attention">
<p>
<strong>Attention,</strong> il est souvent <strong>nécessaire</strong> de
<strong>Attention,</strong> il est souvent <strong>nécessaire</strong> de
bien informer LaTeX du changement de langue. En effet, le changement de
langue s'accompagne d'un changement de police (plus précisément,
langue s'accompagne d'un changement de police (plus précisément,
d'<em>encodage</em> de police), ce dont LaTeX ne prend pas l'initiative tout
seul.
</p>
</div>
<p>
Dans le cas d'un texte comportant beaucoup de mots étrangers, par exemple le
commentaire en français d'un texte grec, changer sans arrêt de langue est
fastidieux, même en ayant défini une macro très courte. Il est possible
d'automatiser ça en utilisant le package <code>autofe</code>. Attention
cependant si vous optez pour cette solution : si dans un mot certains
caractères sont disponibles dans la police actuelle et d'autres pas, ce mot
sera rendu avec un mélange de polices, ce qui peut être très laid, et vous
n'aurez aucun avertissement. De plus, au delà de quelques mots, il faut
quand même expliciter le changement de langue, faute de quoi la typographie
et, plus grave, la césure ne respecteront pas les règles spécifiques.
Dans le cas d'un texte comportant beaucoup de mots étrangers, par exemple le
commentaire en français d'un texte grec, changer sans arrêt de langue est
fastidieux, même en ayant défini une macro très courte. Il est possible
d'automatiser ça en utilisant le package <code>autofe</code>. Attention
cependant si vous optez pour cette solution : si dans un mot certains
caractères sont disponibles dans la police actuelle et d'autres pas, ce mot
sera rendu avec un mélange de polices, ce qui peut être très laid, et vous
n'aurez aucun avertissement. De plus, au delà de quelques mots, il faut
quand même expliciter le changement de langue, faute de quoi la typographie
et, plus grave, la césure ne respecteront pas les règles spécifiques.
</p>
<h2>Langue par langue, en détail</h2>
<h2>Langue par langue, en détail</h2>
<h3>Le grec</h3>
<p>
Le nom pour babel est simplement <code>greek</code>. La commande
<code>\textgreek{<var>blabla</var>}</code> est définie pour avoir le même
<code>\textgreek{<var>blabla</var>}</code> est définie pour avoir le même
effet que <code>\foreignlanguage{greek}{<var>blabla</var>}</code>. Le
changement de langue est nécessaire pour que la police soit disponible.
changement de langue est nécessaire pour que la police soit disponible.
</p>
<p>
Quand le grec est actif, LaTeX utilise une sorte de translittération depuis
Quand le grec est actif, LaTeX utilise une sorte de translittération depuis
l'alphabet latin, avec des conventions pour les accents et les esprits. Mais
comme nous travaillons en UTF-8, c'est inutile et nous n'en parlons pas.
</p>
@ -238,14 +238,14 @@ comme nous travaillons en UTF-8, c'est inutile et nous n'en parlons pas.
<p>
Le nom pour babel est <code>russian</code>, et le changement de langue est
nécessaire pour que la police soit disponible. Rien d'autre à signaler.
nécessaire pour que la police soit disponible. Rien d'autre à signaler.
</p>
<h3>Le chinois</h3>
<p>
Là, ça se complique un peu, il faut quelques packages supplémentaires. Voici
ce qu'il faut mettre dans le préambule pour du chinois traditionnel :
Là, ça se complique un peu, il faut quelques packages supplémentaires. Voici
ce qu'il faut mettre dans le préambule pour du chinois traditionnel :
</p>
<pre>
\usepackage[cjkbg5]{ucs}
@ -254,7 +254,7 @@ ce qu'il faut mettre dans le pr
\DeclareFontSubstitution{C00}{sng}{m}{n}
</pre>
<p class="continue">
et pour du chinois simplifié :
et pour du chinois simplifié :
</p>
<pre>
\usepackage[cjkgb]{ucs}
@ -264,44 +264,44 @@ et pour du chinois simplifi
</pre>
<p>
Les deux ont la même structure. La première ligne indique quelle
interprétation choisir pour un caractère qui aurait le mauvais goût d'être
commun au chinois simplifié, au chinois traditionnel et au japonais. La
troisième ligne charge l'encodage nécessaire (C00 pour le chinois
traditionnel, C10 pour le simplifié), ainsi que l'encodage occidental (faute
de quoi ça ne marche pas). Enfin, la dernière ligne indique quelle famille
de police employer par défaut pour cet encodage, ici Arphic SungtiL
Les deux ont la même structure. La première ligne indique quelle
interprétation choisir pour un caractère qui aurait le mauvais goût d'être
commun au chinois simplifié, au chinois traditionnel et au japonais. La
troisième ligne charge l'encodage nécessaire (C00 pour le chinois
traditionnel, C10 pour le simplifié), ainsi que l'encodage occidental (faute
de quoi ça ne marche pas). Enfin, la dernière ligne indique quelle famille
de police employer par défaut pour cet encodage, ici Arphic SungtiL
(<code>sng</code>). Deux autres polices sont disponibles ici, Arphic KaitiM
(<code>kai</code>), très ornée, et Bitstream Cyberbit (<code>cyb</code>),
(<code>kai</code>), très ornée, et Bitstream Cyberbit (<code>cyb</code>),
qui n'est pas libre. Il est possible de changer de police en modifiant la
ligne <code>\DeclareFontSubstitution</code> ou en utilisant la commande
<code>\fontfamily</code>.
</p>
<p>
Quelques points supplémentaires à savoir. D'abord, babel n'a pas de mode
pour le chinois. Pour éviter des bizarreries typographiques, il peut être
Quelques points supplémentaires à savoir. D'abord, babel n'a pas de mode
pour le chinois. Pour éviter des bizarreries typographiques, il peut être
bon de passer babel en mode anglais pour un bout de chinois. Ensuite, ce
mode de saisie n'est pas capable de couper automatiquement entre les
idéogrammes ; il est nécessaire d'insérer des espaces à la main. Peut-être
dans un avenir proche un package résoudra-t-il le problème.
idéogrammes ; il est nécessaire d'insérer des espaces à la main. Peut-être
dans un avenir proche un package résoudra-t-il le problème.
</p>
<div class="ens">
<p>
L'installation de polices chinoises pour LaTeX est assez acrobatique, et
pas complètement standard. Les indications ci-dessus fonctionneront
normalement sur l'installation LaTeX de l'ENS, mais il n'est pas sûr du tout
que ce soit le cas ailleurs ; en particulier, les noms des polices (pour le
<code>\DeclareFontSubstitution</code>) peuvent varier considérablement.
pas complètement standard. Les indications ci-dessus fonctionneront
normalement sur l'installation LaTeX de l'ENS, mais il n'est pas sûr du tout
que ce soit le cas ailleurs ; en particulier, les noms des polices (pour le
<code>\DeclareFontSubstitution</code>) peuvent varier considérablement.
</p>
</div>
<h3>Le japonais</h3>
<p>
Là, ça se complique un peu, il faut quelques packages supplémentaires. Voici
ce qu'il faut mettre dans le préambule :
Là, ça se complique un peu, il faut quelques packages supplémentaires. Voici
ce qu'il faut mettre dans le préambule :
</p>
<pre>
\usepackage[cjkjis]{ucs}
@ -311,44 +311,44 @@ ce qu'il faut mettre dans le pr
</pre>
<p>
La première ligne indique quelle
interprétation choisir pour un caractère qui aurait le mauvais goût d'être
La première ligne indique quelle
interprétation choisir pour un caractère qui aurait le mauvais goût d'être
commun au japonais et au chinois. La
troisième ligne charge l'encodage nécessaire (C42 pour le japonais), ainsi
que l'encodage occidental (faute de quoi ça ne marche pas). Enfin, la
dernière ligne indique quelle famille de police employer par défaut pour cet
troisième ligne charge l'encodage nécessaire (C42 pour le japonais), ainsi
que l'encodage occidental (faute de quoi ça ne marche pas). Enfin, la
dernière ligne indique quelle famille de police employer par défaut pour cet
encodage, ici Wadalabe DG (<code>dg</code>). Trois autres polices Wadalabe
sont disponibles ici, <code>dm</code>, <code>mc</code> et <code>mr</code>.
Il est possible de changer de police en modifiant la ligne
<code>\DeclareFontSubstitution</code> ou en utilisant la commande
<code>\fontfamily</code>. La police (non-libre) Bitstream Cyberbit est
également disponible sous le nom <code>cyb</code>, mais il faut dans ce cas
également disponible sous le nom <code>cyb</code>, mais il faut dans ce cas
remplacer partout C42 par C40, et donc exclure d'utiliser les polices
Wadalabe.
</p>
<p>
Quelques points supplémentaires à savoir. D'abord, babel n'a pas de mode
pour le japonais. Pour éviter des bizarreries typographiques, il peut être
Quelques points supplémentaires à savoir. D'abord, babel n'a pas de mode
pour le japonais. Pour éviter des bizarreries typographiques, il peut être
bon de passer babel en mode anglais pour un bout de japonais. Ensuite, ce
mode de saisie n'est pas capable de couper automatiquement entre les
caractères ; il est nécessaire d'insérer des espaces à la main. Peut-être
dans un avenir proche un package résoudra-t-il le problème.
caractères ; il est nécessaire d'insérer des espaces à la main. Peut-être
dans un avenir proche un package résoudra-t-il le problème.
</p>
<div class="ens">
<p>
L'installation de polices japonaises pour LaTeX est assez acrobatique, et
pas complètement standard. Les indications ci-dessus fonctionneront
normalement sur l'installation LaTeX de l'ENS, mais il n'est pas sûr du tout
que ce soit le cas ailleurs ; en particulier, les noms des polices (pour le
<code>\DeclareFontSubstitution</code>) peuvent varier considérablement.
pas complètement standard. Les indications ci-dessus fonctionneront
normalement sur l'installation LaTeX de l'ENS, mais il n'est pas sûr du tout
que ce soit le cas ailleurs ; en particulier, les noms des polices (pour le
<code>\DeclareFontSubstitution</code>) peuvent varier considérablement.
</p>
</div>
<div class="metainformation">
Auteur : Nicolas George.
Dernière modification le <date value="$Date: 2008-03-22 15:47:59 $" />.
Auteur : Nicolas George.
Dernière modification le <date value="$Date: 2008-03-22 15:47:59 $" />.
</div>
</body>

View file

@ -4,27 +4,27 @@
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Comment faire ?</title>
<title>Comment faire ?</title>
</head>
<body>
<h1>Comment faire du LaTeX ?</h1>
<h1>Comment faire du LaTeX ?</h1>
<p> Cette page a pour but d'apprendre à se servir de LaTeX. Vous y
<p> Cette page a pour but d'apprendre à se servir de LaTeX. Vous y
verrez quel est le principe de LaTeX, et comment l'utiliser sur les
machines de l'École, et même quelques conseils concis pour l'utiliser
machines de l'École, et même quelques conseils concis pour l'utiliser
<a href="#install"> sur votre ordi personnel.</a>
Les principales commmandes de LaTeX sont
expliquées <a href="manuel.html">ailleurs</a>. Mais prenons d'abord le
expliquées <a href="manuel.html">ailleurs</a>. Mais prenons d'abord le
temps de comprendre son fonctionnement...</p>
<h2>Écrire, compiler, visualiser</h2>
<h2>Écrire, compiler, visualiser</h2>
<p> La composition d'un texte avec LaTeX est regroupée en trois temps.
D'abord, on rédige le texte en question (ainsi que les commandes de mise
en page destinées à LaTeX). Ensuite, on compile le document, c'est-à-dire
qu'on le donne à LaTex pour qu'il fasse la mise en page. Enfin, on
visualise le résultat, pour corriger des fautes, l'imprimer, l'envoyer
<p> La composition d'un texte avec LaTeX est regroupée en trois temps.
D'abord, on rédige le texte en question (ainsi que les commandes de mise
en page destinées à LaTeX). Ensuite, on compile le document, c'est-à-dire
qu'on le donne à LaTex pour qu'il fasse la mise en page. Enfin, on
visualise le résultat, pour corriger des fautes, l'imprimer, l'envoyer
par mail... </p>
<table class="tableau">
@ -37,11 +37,11 @@ par mail... </p>
</tr>
<tr>
<td>Écrire</td>
<td><code>éditeur <em>fichier.tex</em></code></td>
<td>Écrire</td>
<td><code>éditeur <em>fichier.tex</em></code></td>
<td><code>kate bla.tex</code></td>
<td>Ne pas oublier de sauvegarder avant de compiler ! Sinon, les
modifications n'apparaîtront pas...</td>
<td>Ne pas oublier de sauvegarder avant de compiler ! Sinon, les
modifications n'apparaîtront pas...</td>
</tr>
<tr>
@ -49,16 +49,16 @@ par mail... </p>
<td><code>pdflatex <em>fichier.tex</em></code></td>
<td><code>pdflatex bla.tex</code></td>
<td>
Plutôt que de retaper à chaque fois la commande, utilisez les flèches! En
cas d'erreur, taper x pour arrêter la compilation.
Plutôt que de retaper à chaque fois la commande, utilisez les flèches! En
cas d'erreur, taper x pour arrêter la compilation.
</td></tr>
<tr>
<td>Résultat</td>
<td>Résultat</td>
<td><code>kpdf <em>fichier.pdf</em></code></td>
<td><code>kpdf bla.kpdf</code></td>
<td>Mettez un <code>&amp;</code> à la fin de la ligne pour garder la
fenêtre en tâche de fond, kpdf recharge le fichier pdf automatiquement à
<td>Mettez un <code>&amp;</code> à la fin de la ligne pour garder la
fenêtre en tâche de fond, kpdf recharge le fichier pdf automatiquement à
chaque fois que vous compilez.
</td></tr>
@ -66,8 +66,8 @@ fen
<td>Imprimer</td>
<td><code>lpr <em>fichier.pdf</em></code></td>
<td><code>lpr bla.pdf</code></td>
<td>Vérifier que personne n'est en train d'imprimer, avec la commande
<code>lpq</code> ; et surtout, si vous avez lancé une impression avant
<td>Vérifier que personne n'est en train d'imprimer, avec la commande
<code>lpq</code> ; et surtout, si vous avez lancé une impression avant
de vous rendre compte qu'il n'y avait pas de papier, annulez-la avec la
commande <code>lprm</code>.</td>
</tr>
@ -76,47 +76,47 @@ commande <code>lprm</code>.</td>
<h3>Taper son texte</h3>
<p>Il faut utiliser un <a href="&url.tuteurs;unix/editeurs/">éditeur de
<p>Il faut utiliser un <a href="&url.tuteurs;unix/editeurs/">éditeur de
texte</a>. Si par exemple vous utilisez <code>kate</code> et que vous
voulez éditer le fichier <code>rapport.tex</code>, tapez :</p>
voulez éditer le fichier <code>rapport.tex</code>, tapez :</p>
<pre>kate rapport.tex</pre>
<p> Ce fichier, auquel on donne le nom que l'on veut, a obligatoirement
le suffixe <code>.tex</code>, pour l'identifier. <code>rapport.tex</code>
est le fichier <strong>source</strong>, c'est-à-dire le fichier qui sera
interprété par le compilateur ; c'est donc celui où on écrit le texte
agrémenté de quelques commandes. </p>
est le fichier <strong>source</strong>, c'est-à-dire le fichier qui sera
interprété par le compilateur ; c'est donc celui où on écrit le texte
agrémenté de quelques commandes. </p>
<h3>Compiler le fichier <code>.tex</code></h3>
<p> Ça veut dire le « passer à la moulinette » : le compilateur, ici
LaTeX, interprète le source à l'aide des commandes qui y ont été insérées
et qui lui indiquent la manière dont il faut mettre le texte en page.
<p> Ça veut dire le « passer à la moulinette » : le compilateur, ici
LaTeX, interprète le source à l'aide des commandes qui y ont été insérées
et qui lui indiquent la manière dont il faut mettre le texte en page.
Tapez dans un <a
href="&url.jargon;#xterm">terminal</a> : </p>
href="&url.jargon;#xterm">terminal</a> : </p>
<pre>pdflatex document.tex</pre>
<p> Sur l'écran vont se mettre à défiler diverses choses. Si tout va
bien, le programme va « rendre la main » et le prompt réapparaît. Si
<p> Sur l'écran vont se mettre à défiler diverses choses. Si tout va
bien, le programme va « rendre la main » et le prompt réapparaît. Si
vous tapez <code><a
href="&url.tuteurs;unix/repertoires.html#ls">ls</a></code> vous verrez
que de nouveaux fichiers sont apparus : outre le
que de nouveaux fichiers sont apparus : outre le
<code>document.tex</code>, il y a un <code>document.aux</code>, un
<code>document.log</code> et un <code>document.pdf</code>. C'est le
dernier qui nous intéresse, car il contient le résultat graphique de la
dernier qui nous intéresse, car il contient le résultat graphique de la
compilation. </p>
<p> <strong>S'il y a une erreur</strong> : LaTeX interrompt la
<p> <strong>S'il y a une erreur</strong> : LaTeX interrompt la
compilation en donnant un message d'erreur. Dans ce cas, il faut taper
<code>x</code> dans la fenêtre où on a lancé la compilation, afin que le
programme rende la main (qu'on puisse à nouveau taper des commandes
derrière le prompt). Il faut ensuite éditer le source (dans une autre
fenêtre pour simplifier la tâche), corriger l'erreur indiquée, sauver le
<code>x</code> dans la fenêtre où on a lancé la compilation, afin que le
programme rende la main (qu'on puisse à nouveau taper des commandes
derrière le prompt). Il faut ensuite éditer le source (dans une autre
fenêtre pour simplifier la tâche), corriger l'erreur indiquée, sauver le
document (pour enregistrer la modification) et recompiler. </p>
<p> Vous pouvez aussi obtenir un fichier dvi à la place du fichier pdf
<p> Vous pouvez aussi obtenir un fichier dvi à la place du fichier pdf
en tapant : </p>
<pre>latex document.tex</pre>
@ -125,32 +125,32 @@ document (pour enregistrer la modification) et recompiler. </p>
latex est la commande la plus ancienne. Pour voir le dvi, il faut utiliser
xdvi ou kdvi. Pour l'imprimer, la commande est dvips. Il existe encore
certains packages, comme pstricks, qui ne marchent qu'avec latex. Mais il
existe pgf/tikz à la place, et la plupart des temps, il est plus simple
existe pgf/tikz à la place, et la plupart des temps, il est plus simple
d'utiliser pdflatex.
</p>
<h3>Visualiser son document</h3>
<p> Pour visualiser le résultat de la compilation, qui est le fichier
<code>.pdf</code>, tapez : </p>
<p> Pour visualiser le résultat de la compilation, qui est le fichier
<code>.pdf</code>, tapez : </p>
<pre>kpdf document.pdf &amp;</pre>
<p> Le <code>&amp;</code> met le programme lancé en tâche de fond; il
rend donc la main et on peut taper de nouvelles commandes dans la fenêtre
où on a lancé le programme, ici <code>kpdf</code>
Cela vous évite d'avoir à relancer le <code>pdf</code> à chaque fois que vous recompilez.
<p> Le <code>&amp;</code> met le programme lancé en tâche de fond; il
rend donc la main et on peut taper de nouvelles commandes dans la fenêtre
où on a lancé le programme, ici <code>kpdf</code>
Cela vous évite d'avoir à relancer le <code>pdf</code> à chaque fois que vous recompilez.
</p>
<p> Si vous avez compilé votre document avec la commande
<code>latex</code>, tapez à la place <code>xdvi document.dvi
<p> Si vous avez compilé votre document avec la commande
<code>latex</code>, tapez à la place <code>xdvi document.dvi
&amp;</code> ou <code>kdvi document.dvi</code>.</p>
<p> Une nouvelle fenêtre va apparaître, qui montre le résultat de la
<p> Une nouvelle fenêtre va apparaître, qui montre le résultat de la
compilation. On peut alors relire le document, voir ce qui ne va pas et
faire la correction dans le source, recompiler et cliquer sur la fenêtre
<code>pdf</code> : le document recompilé est remis à jour. On procède
ainsi jusqu'à obtenir le résultat souhaité. </p>
faire la correction dans le source, recompiler et cliquer sur la fenêtre
<code>pdf</code> : le document recompilé est remis à jour. On procède
ainsi jusqu'à obtenir le résultat souhaité. </p>
<h3>Imprimer</h3>
@ -166,8 +166,8 @@ ainsi jusqu'
<h3> Panorama </h3>
<p>
Le logiciel LaTeX étant un surensemble de TeX, et ses frontières n'étant
(volontairement) pas nettement définies, il existe de nombreuses
Le logiciel LaTeX étant un surensemble de TeX, et ses frontières n'étant
(volontairement) pas nettement définies, il existe de nombreuses
<em>distributions</em> de LaTeX ; nous vous conseillons de vous orienter
vers l'une d'elles si vous voulez vous procurer LaTeX.
Nous recommandons notamment la
@ -175,7 +175,7 @@ Nous recommandons notamment la
existe pour Linux, FreeBSD, Solaris, MacOS X et Windows
</p>
<p> Il existe aussi de nombreux logiciels, pour vous aider à utiliser
<p> Il existe aussi de nombreux logiciels, pour vous aider à utiliser
LaTeX, tels que
<a href="http://www.xm1math.net/texmaker/index_fr.html">
texmaker</a>
@ -183,21 +183,21 @@ texmaker</a>
<a href="http://kile.sourceforge.net/">
kile </a>.</p>
<p> Pour avoir plus de renseignements sur les différentes distributions
et les différents systèmes d'exploitation, reportez-vous à la <a
href="http://www.gutenberg.eu.org/distributions/">page consacrée à ces
<p> Pour avoir plus de renseignements sur les différentes distributions
et les différents systèmes d'exploitation, reportez-vous à la <a
href="http://www.gutenberg.eu.org/distributions/">page consacrée à ces
questions chez GUTenberg</a>. </p>
<p> Rappelons que, si vous êtes élèves, ancien élève, étudiant ou
enseignant à l'ENS, les tuteurs sont à même de répondre à vos questions
concernant l'installation de LaTeX à l'ENS, ou les possibilités de LaTeX en
général. N'hésitez pas à nous envoyer
un <a href="mailto:tuteurs@clipper.ens.fr">mail</a> ! </p>
<p> Rappelons que, si vous êtes élèves, ancien élève, étudiant ou
enseignant à l'ENS, les tuteurs sont à même de répondre à vos questions
concernant l'installation de LaTeX à l'ENS, ou les possibilités de LaTeX en
général. N'hésitez pas à nous envoyer
un <a href="mailto:tuteurs@clipper.ens.fr">mail</a> ! </p>
<h3> Sous Linux </h3>
<p>La plupart des distributions proposent des paquets précompilés.
Pour Ubuntu, vous pouvez vous référer à la page suivante
<p>La plupart des distributions proposent des paquets précompilés.
Pour Ubuntu, vous pouvez vous référer à la page suivante
<a href="http://doc.ubuntu-fr.org/latex"> LaTeX et Ubuntu </a>.
</p>
@ -205,12 +205,12 @@ Pour Ubuntu, vous pouvez vous r
<p>
On dit du bien de
<a href="http://www.miktex.org/">MikTeX</a>, implémentation de
LaTeX spécifique à Windows (aller dans la section Download).
<a href="http://www.miktex.org/">MikTeX</a>, implémentation de
LaTeX spécifique à Windows (aller dans la section Download).
</p>
<div class="metainformation"> Auteurs : Éric Levieil(2008), Marc Mezarobba (2007),
François-Xavier Coudert (2002), Émilia Robin (1998). Dernière
<div class="metainformation"> Auteurs : Éric Levieil(2008), Marc Mezarobba (2007),
François-Xavier Coudert (2002), Émilia Robin (1998). Dernière
modification le <date value="$Date: 2008-03-24 13:41:32 $"/>. </div>
</body>

View file

@ -8,60 +8,60 @@
</head>
<body>
<h1>Écrire une lettre avec LaTeX</h1>
<h1>Écrire une lettre avec LaTeX</h1>
<p>Il existe, <em>grosso modo</em>, deux classes de documents pour écrire
une lettre sous LaTeX : la classe <code>letter</code> et la classe
<p>Il existe, <em>grosso modo</em>, deux classes de documents pour écrire
une lettre sous LaTeX : la classe <code>letter</code> et la classe
<code>lettre</code>.</p>
<h2>La classe <code>letter</code></h2>
<h3>Les bases</h3>
<p>C'est la plus simple des deux (mais forcément, elle fait moins de
choses...). Attention, par défaut, cette classe ne respecte pas la
convention de placement des noms à la française.
<p>C'est la plus simple des deux (mais forcément, elle fait moins de
choses...). Attention, par défaut, cette classe ne respecte pas la
convention de placement des noms à la française.
<code>\usepackage{french}</code> corrige cela (ce package n'existe plus,
le remplacent un package commercial <code>frenchpro</code> et une
version diminuée de ce dernier mais gratuite <code>frenchle</code>),
version diminuée de ce dernier mais gratuite <code>frenchle</code>),
mais <strong>pas</strong> <code>\usepackage[francais]{babel}</code>.</p>
<p>Un document de base est structuré comme suit (les parties qui
doivent être modifiées sont en italique) :</p>
<p>Un document de base est structuré comme suit (les parties qui
doivent être modifiées sont en italique) :</p>
<pre>
\documentclass[11pt]{letter}
\name{<em>nom de l'expéditeur</em>}
\address{<em>adresse de l'expéditeur</em>}
\signature{<em>signature de l'expéditeur</em>}
\date{<em>date d'expédition</em>}
\name{<em>nom de l'expéditeur</em>}
\address{<em>adresse de l'expéditeur</em>}
\signature{<em>signature de l'expéditeur</em>}
\date{<em>date d'expédition</em>}
\begin{document}
\begin{letter}{<em>nom du destinataire</em>}
\opening{<em>formule de politesse (« adresse » : cher Monsieur, etc.)</em>}
\opening{<em>formule de politesse (« adresse » : cher Monsieur, etc.)</em>}
<em>Corps de la lettre</em>
\closing{<em>formule de politesse (veuillez agréer, etc)</em>}
\closing{<em>formule de politesse (veuillez agréer, etc)</em>}
\ps{<em>post-scriptum</em>}
\cc{<em>nom des autres destinataires</em>}
\encl{<em>pièces jointes</em>}
\encl{<em>pièces jointes</em>}
\end{letter}
\end{document}
</pre>
<p>Bien entendu, il n'est pas nécessaire de spécifier <code>\ps</code>,
ou <code>\cc</code>, s'il n'y a pas lieu. Vous pouvez télécharger le <a
href="letter_skel.tex">fichier modèle</a> pour la classe de documents
<p>Bien entendu, il n'est pas nécessaire de spécifier <code>\ps</code>,
ou <code>\cc</code>, s'il n'y a pas lieu. Vous pouvez télécharger le <a
href="letter_skel.tex">fichier modèle</a> pour la classe de documents
<code>letter</code>.</p>
<h3>Gestion des langues</h3>
<p>La présentation de la lettre dépendra de la langue choisie. Par
défaut, la présentation est anglaise (on signe à la main sous le nom,
présentation en blocs sans indentation pour la première ligne d'un
paragraphe, formule de politesse d'ouverture alignée à gauche, etc.) En
<p>La présentation de la lettre dépendra de la langue choisie. Par
défaut, la présentation est anglaise (on signe à la main sous le nom,
présentation en blocs sans indentation pour la première ligne d'un
paragraphe, formule de politesse d'ouverture alignée à gauche, etc.) En
utilisant le package <code>french</code> de <code>babel</code>
(attention, c'est bien <code>french</code> qu'il faut et non
<code>francais</code>).</p>
@ -69,19 +69,19 @@ utilisant le package <code>french</code> de <code>babel</code>
<h2>La classe <code>lettre</code></h2>
<p>La classe <code>lettre</code> se fonde sur <code>letter</code>, mais
avec quelques améliorations. Elle a été écrite par Denis Mégévand.
Attention ! Pour l'instant, la version installé sur clipper a des bugs
un peu pénible (double compilation nécessaire parce qu'elle ne reconnaît
pas <code>\closing</code> tout de suite). Vous pouvez télécharger une <a
avec quelques améliorations. Elle a été écrite par Denis Mégévand.
Attention ! Pour l'instant, la version installé sur clipper a des bugs
un peu pénible (double compilation nécessaire parce qu'elle ne reconnaît
pas <code>\closing</code> tout de suite). Vous pouvez télécharger une <a
href="ftp://obsftp.unige.ch/pub/tex/macros/lettre_2.346.tar.gz">version
plus récente (2.346)</a>, il vous suffira ensuite, pour l'utiliser, de la
placer dans votre répertoire inputs.</p>
plus récente (2.346)</a>, il vous suffira ensuite, pour l'utiliser, de la
placer dans votre répertoire inputs.</p>
<h3>Les bases</h3>
<p>Voici un exemple de fichier de base (vous disposez de toutes les
commandes de la classe <code>letter</code>, on ne les redonne pas toutes
ici) :</p>
ici) :</p>
<pre>
\documentclass[11pt]{lettre}
@ -92,10 +92,10 @@ ici)
\begin{document}
\begin{letter}{<em>destinataire</em>}
\def\concname{<em>Objet :~</em>} % On définit ici la commande 'objet'
\def\concname{<em>Objet :~</em>} % On définit ici la commande 'objet'
\conc{<em>Objet de la lettre</em>}
\nref{<em>Références de la lettre, de votre point de vue</em>}
\vref{<em>Références de la lettre, du point de vue de votre interlocuteur</em>}
\nref{<em>Références de la lettre, de votre point de vue</em>}
\vref{<em>Références de la lettre, du point de vue de votre interlocuteur</em>}
\opening{<em>Madame, Monsieur,</em>}
<em>Corps de la lettre</em>
@ -109,14 +109,14 @@ ici)
<h3>Supprimer le trait de pliage</h3>
<p>
Une question fréquente concerne la manière de retirer le trait
Une question fréquente concerne la manière de retirer le trait
que la classe lettre imprime pour faciliter le pliage du courrier en
trois. On peut trouver disgracieux ce trait. Pour le retirer, il y a
trois méthodes
trois méthodes
</p>
<p>
Premièrement, on peut placer dans le préambule cette définition
Premièrement, on peut placer dans le préambule cette définition
</p>
<pre>
@ -142,13 +142,13 @@ pour lesquelles on ne souhaite pas ce trait. Par exemple
</pre>
<p class="continue">
donnera deux lettres, dont la première n'aura pas de trait de pliage
donnera deux lettres, dont la première n'aura pas de trait de pliage
mais la seconde si.
</p>
<p>
Deuxièmement, vous pouvez placer dans le fichier <code>.ins</code> (voir
la section « Personnaliser ») une ligne supprimant le trait
Deuxièmement, vous pouvez placer dans le fichier <code>.ins</code> (voir
la section « Personnaliser ») une ligne supprimant le trait
chaque fois que vous utiliserez ce fichier <code>.ins</code>.
</p>
@ -157,8 +157,8 @@ chaque fois que vous utiliserez ce fichier <code>.ins</code>.
</pre>
<p>
Troisièmement, si vous voulez systématiquement supprimer ce trait, vous
pouvez créer une classe spéciale <code>xletter</code>. Créez un fichier
Troisièmement, si vous voulez systématiquement supprimer ce trait, vous
pouvez créer une classe spéciale <code>xletter</code>. Créez un fichier
<code>xletter.cls</code> et saisissez le code suivant.
</p>
@ -196,8 +196,8 @@ pouvez cr
<p class="continue">
Placez ce fichier dans les chemins de recherche de TeX. L'utilisation
de cette classe est strictement identique à celle de <code>lettre</code>
mais elle accepte deux options supplémentaires :
de cette classe est strictement identique à celle de <code>lettre</code>
mais elle accepte deux options supplémentaires :
</p>
<pre>
@ -213,7 +213,7 @@ ou
</pre>
<p class="continue">
supprime <em>systématiquement</em> les traits de pliage, tandis que
supprime <em>systématiquement</em> les traits de pliage, tandis que
</p>
<pre>
@ -221,20 +221,20 @@ supprime <em>syst
</pre>
<p class="continue">
les ajoute <em>conformément aux règles de la classe <code>lettre</code></em>.
les ajoute <em>conformément aux règles de la classe <code>lettre</code></em>.
</p>
<h3>Personnaliser</h3>
<p>Un certain nombre de paramètres de vos lettres sont peu susceptibles
<p>Un certain nombre de paramètres de vos lettres sont peu susceptibles
de changer. Votre nom ou votre adresse, par exemple. Vous souhaiteriez
donc pouvoir disposer d'un en-tête par défaut pour vos lettres. Ça tombe
bien, car avec la classe <code>lettre</code>, l'en-tête par défaut est
donc pouvoir disposer d'un en-tête par défaut pour vos lettres. Ça tombe
bien, car avec la classe <code>lettre</code>, l'en-tête par défaut est
obligatoire.</p>
<p>L'en-tête est défini dans un fichier de configuration,
<code>default.ins</code> et qui doit être placé dans le répertoire
inputs (une autre possibilité est de placer ces commandes dans un
<p>L'en-tête est défini dans un fichier de configuration,
<code>default.ins</code> et qui doit être placé dans le répertoire
inputs (une autre possibilité est de placer ces commandes dans un
fichier <code>noel.ins</code> et d'utiliser dans le fichier
<code>.tex</code> la ligne
</p>
@ -244,35 +244,35 @@ fichier <code>noel.ins</code> et d'utiliser dans le fichier
</pre>
<p class="continue">
dans le préambule, à chaque fois que vous devrez utiliser ces
paramètres). Voici un exemple :</p>
dans le préambule, à chaque fois que vous devrez utiliser ces
paramètres). Voici un exemple :</p>
<pre>
\name{Père Noël}
\signature{Papa Noël}
\name{Père Noël}
\signature{Papa Noël}
\address{\centering
\textbf{\textsc{Père Noël, Lutins et Associés}}\\
<em>% On peut mettre en forme l'en-tête... Ici, il est centré, et on</em>
<em>% demande à ce que le nom soit en petites majuscules et en gras.</em>
\textbf{\textsc{Père Noël, Lutins et Associés}}\\
<em>% On peut mettre en forme l'en-tête... Ici, il est centré, et on</em>
<em>% demande à ce que le nom soit en petites majuscules et en gras.</em>
Fabricant de jouets depuis toujours\\
Palais des Jouets}
\lieu{Pôle Nord}
\lieu{Pôle Nord}
<em>% Ce paramètre sert à indiquer dans la lettre « Au Pôle</em>
<em>% Nord, le 25 décembre 2000 »</em>
<em>% Ce paramètre sert à indiquer dans la lettre « Au Pôle</em>
<em>% Nord, le 25 décembre 2000 »</em>
\telephone{}
\email{pere.noel@polenord.pn}
\nofax
<em>% C'est \fax{} pour indiquer un numéro de fax</em>
<em>% C'est \fax{} pour indiquer un numéro de fax</em>
</pre>
<p>Ce qui donne la chose suivante en guise d'en-tête :</p>
<p>Ce qui donne la chose suivante en guise d'en-tête :</p>
<div class="illustration"><img src="heading.jpg" alt="En-tête" /></div>
<div class="illustration"><img src="heading.jpg" alt="En-tête" /></div>
<div class="metainformation"> Auteurs : Marie-Lan Nguyen (2000),
François-Xavier Coudert (2002). Dernière modification le <date
<div class="metainformation"> Auteurs : Marie-Lan Nguyen (2000),
François-Xavier Coudert (2002). Dernière modification le <date
value="$Date: 2007-07-17 10:02:51 $" /> par Josselin Noirel. </div>
</body> </html>

View file

@ -4,31 +4,31 @@
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Macros élémentaires</title>
<title>Macros élémentaires</title>
</head>
<body>
<h1>Faire des macros élémentaires</h1>
<h1>Faire des macros élémentaires</h1>
<h2>Les macros, des abréviations</h2>
<h2>Les macros, des abréviations</h2>
<p>
Il est très facile de définir de nouvelles commandes qui seront autant
d'abréviations. Par exemple :
Il est très facile de définir de nouvelles commandes qui seront autant
d'abréviations. Par exemple :
</p>
<pre>
\newcommand\cad{c'est-à-dire}
\newcommand\cad{c'est-à-dire}
</pre>
<p>
Cette ligne crée une nouvelle commande, <code>\cad</code>, qui sera
automatiquement remplacée lors de la compilation par le texte
« c'est-à-dire ». Remarquez que LaTeX proteste si la commande que
vous définissez existe déjà. Vous pouvez ainsi remplacer les choses un peu
longues à taper par des commandes abrégées. Pour une thèse sur le
chevalier Paul-Louis de la Grange-Noble, vous aurez tout intérêt à
définir dès le début :
Cette ligne crée une nouvelle commande, <code>\cad</code>, qui sera
automatiquement remplacée lors de la compilation par le texte
« c'est-à-dire ». Remarquez que LaTeX proteste si la commande que
vous définissez existe déjà. Vous pouvez ainsi remplacer les choses un peu
longues à taper par des commandes abrégées. Pour une thèse sur le
chevalier Paul-Louis de la Grange-Noble, vous aurez tout intérêt à
définir dès le début :
</p>
<pre>
@ -36,95 +36,95 @@ d
</pre>
<p>
Il arrive fréquemment d'avoir besoin de redéfinir une commande qui existe
déjà. Dans ce cas-là, on utilise simplement:
Il arrive fréquemment d'avoir besoin de redéfinir une commande qui existe
déjà. Dans ce cas-là, on utilise simplement:
</p>
<pre>
\renewcommand\nom{contenu}
</pre>
<p class="continue"> à la place de <code>newcommand </code>.
<p class="continue"> à la place de <code>newcommand </code>.
</p>
<h2>Espaces après les macros</h2>
<h2>Espaces après les macros</h2>
<p>
Après toute commande dont le nom est composé de lettres (comme
<code>\LaTeX</code>, par exemple et à l'inverse de <code>\$</code>), les
espaces sont ignorées. Par conséquent, si
vous voulez que votre macro soit suivie d'une espace dans le résultat
final, utilisez l'une des méthodes suivantes :
Après toute commande dont le nom est composé de lettres (comme
<code>\LaTeX</code>, par exemple et à l'inverse de <code>\$</code>), les
espaces sont ignorées. Par conséquent, si
vous voulez que votre macro soit suivie d'une espace dans le résultat
final, utilisez l'une des méthodes suivantes :
</p>
<pre>
Le Maître du Monde, \cad{} moi, ...
Le Maître du Monde, \cad\ moi, ...
Le Maître du Monde, {\cad} moi, ...
Le Maître du Monde, \cad{} moi, ...
Le Maître du Monde, \cad\ moi, ...
Le Maître du Monde, {\cad} moi, ...
</pre>
<p>Ce serait une très mauvaise idée de mettre une espace dans la
définition de la macro, car vous auriez <em>toujours</em> une espace, y
<p>Ce serait une très mauvaise idée de mettre une espace dans la
définition de la macro, car vous auriez <em>toujours</em> une espace, y
compris avant une ponctuation.
</p>
<p>Vous pouvez utiliser le package <code>xspace</code> pour remédier à
cette nécessité. Dans le préambule, ajoutez :
<code>\usepackage{xspace}</code> Ensuite, écrivez vos macros de la façon
suivante :
<p>Vous pouvez utiliser le package <code>xspace</code> pour remédier à
cette nécessité. Dans le préambule, ajoutez :
<code>\usepackage{xspace}</code> Ensuite, écrivez vos macros de la façon
suivante :
</p>
<pre>
\newcommand\cad{c'est-à-dire\xspace}
\newcommand\cad{c'est-à-dire\xspace}
</pre>
<p>La commande <code>\xspace</code> teste ce qui suit la commande :
<p>La commande <code>\xspace</code> teste ce qui suit la commande :
si c'est une ponctuation ou <code>{</code> ou <code>}</code>, elle ne fera
rien; dans les autres cas, elle ajoute une espace. Une conséquence de ce
rien; dans les autres cas, elle ajoute une espace. Une conséquence de ce
fonctionnement est qu'une <code>\footnote</code> suivant <code>\cad</code>
va produire une espace inopportune. Elle peut être évitée en
tapant 
va produire une espace inopportune. Elle peut être évitée en
tapant 
</p>
<pre>
(...) \cad{}\footnote{Ma note de pied de page} (...)
</pre>
<h2>Commandes à arguments</h2>
<h2>Commandes à arguments</h2>
<p>
Les commandes utilisées comme raccourcis atteignent vite leurs limites.
D'ailleurs les raccourcis peuvent être également du ressort des éditeurs
(cf. le chapitre « Abréviations » de la page <a
href="&url.tuteurs;unix/editeurs/super_emacs.html">Emacs avancé</a>).
Les commandes peuvent avoir des rôles bien plus importants :
Les commandes utilisées comme raccourcis atteignent vite leurs limites.
D'ailleurs les raccourcis peuvent être également du ressort des éditeurs
(cf. le chapitre « Abréviations » de la page <a
href="&url.tuteurs;unix/editeurs/super_emacs.html">Emacs avancé</a>).
Les commandes peuvent avoir des rôles bien plus importants :
</p>
<ul>
<li>elles sont à la base de la séparation fond-forme ;</li>
<li>elles peuvent être utilisées pour accomplir des tâches très
<li>elles sont à la base de la séparation fond-forme ;</li>
<li>elles peuvent être utilisées pour accomplir des tâches très
complexes.</li>
</ul>
<h3>Un élément sémantique, une commande</h3>
<h3>Un élément sémantique, une commande</h3>
<p>
La séparation fond-forme peut être atteinte en assignant à chaque
élément sémantique une commande (on appelle cela aussi le balisage
générique). Par exemple <code>\auteur</code> pour
La séparation fond-forme peut être atteinte en assignant à chaque
élément sémantique une commande (on appelle cela aussi le balisage
générique). Par exemple <code>\auteur</code> pour
citer des auteurs, ou <code>\source</code> pour indiquer la source d'une
citation. Supposons que nous souhaitions afficher les auteurs avec leur
nom en petites capitales grâce à la commande utilisée ainsi
nom en petites capitales grâce à la commande utilisée ainsi
</p>
<pre>
\auteur{<var>prénom</var>}{<var>nom</var>}
\auteur{<var>prénom</var>}{<var>nom</var>}
</pre>
<p class="continue">
on dit alors que la commande <code>\auteur</code> « prend deux
arguments », tous deux délimités par des paires d'accolades.
Du coup, la définition de la commande devient
on dit alors que la commande <code>\auteur</code> « prend deux
arguments », tous deux délimités par des paires d'accolades.
Du coup, la définition de la commande devient
</p>
<pre>
@ -135,19 +135,19 @@ Du coup, la d
Le <code>2</code> voulant dire que la commande <code>\auteur</code> a
besoin de deux arguments pour fonctionner.
On voudrait que la commande <code>\auteur</code> accomplisse
l'équivalent de
l'équivalent de
</p>
<pre>
<var>prénom</var>~\textsc{<var>nom</var>}
<var>prénom</var>~\textsc{<var>nom</var>}
</pre>
<p class="continue">
<code>~</code> est l'espace insécable, et le nom est mis en petites
<code>~</code> est l'espace insécable, et le nom est mis en petites
capitales.
Pour TeX, <var>prénom</var> étant le premier argument on va l'appeler
Pour TeX, <var>prénom</var> étant le premier argument on va l'appeler
<code>#1</code> et <var>nom</var> fort logiquement <code>#2</code>.
Nous n'avons plus qu'à compléter la définition
Nous n'avons plus qu'à compléter la définition
</p>
<pre>
@ -155,21 +155,21 @@ Nous n'avons plus qu'
</pre>
<p>
L'avantage de procéder ainsi est que, plus tard, si les petites
capitales ne vous conviennent plus vous pourrez changer de manière
cohérente tout votre document (qu'il fasse deux ou plus de 1000 pages)
L'avantage de procéder ainsi est que, plus tard, si les petites
capitales ne vous conviennent plus vous pourrez changer de manière
cohérente tout votre document (qu'il fasse deux ou plus de 1000 pages)
en changeant une ligne.
La même modification serait au contraire extrêmement fastidieuse si vous
aviez tapé systématiquement
<code><var>prénom</var>~\textsc{<var>nom</var>}</code> car il faudrait
relire l'ensemble du document et procéder aux modifications en prenant
La même modification serait au contraire extrêmement fastidieuse si vous
aviez tapé systématiquement
<code><var>prénom</var>~\textsc{<var>nom</var>}</code> car il faudrait
relire l'ensemble du document et procéder aux modifications en prenant
garde de ne pas modifier un <code>\textsc</code> qui ne serait pas celui
d'un auteur. Vous pouvez vous créer un fichier de style avec
vos définitions les plus courantes : cf. <a
href="nouveau_package.html">Écrire son propre package</a> qui pourra
inclure (ce ne sont que des exemples, ce sont les besoins spécifiques
d'un document particulier qui décident quelles commandes il est
souhaitable de définir)
d'un auteur. Vous pouvez vous créer un fichier de style avec
vos définitions les plus courantes : cf. <a
href="nouveau_package.html">Écrire son propre package</a> qui pourra
inclure (ce ne sont que des exemples, ce sont les besoins spécifiques
d'un document particulier qui décident quelles commandes il est
souhaitable de définir)
</p>
<pre>
@ -178,21 +178,21 @@ souhaitable de d
\newcommand\source[1]{\footnote{#1}}
</pre>
<h3>Tâches complexes</h3>
<h3>Tâches complexes</h3>
<p>
En plus de vous permettre de contrôler le rendu de votre document,
l'utilisation de commandes spécifiques à chaque besoin permet
d'accomplir des tâches complexes adaptées à chaque élément de votre
En plus de vous permettre de contrôler le rendu de votre document,
l'utilisation de commandes spécifiques à chaque besoin permet
d'accomplir des tâches complexes adaptées à chaque élément de votre
document. Supposons que votre commande <code>\auteur</code> vous
satisfasse dans un premier temps, mais que plus tard vous arriviez à
vous dire qu'un index des auteurs (avec les pages où ils sont
mentionnés) serait du meilleur effet. Puisque vous avez une commande
spécifique, il vous suffit de la « surcharger », c'est-à-dire de lui
ajouter toute la machinerie nécessaire à la réalisation de la toute
nouvelle tâche complexe (et cela sans toucher au reste du texte). Vous
satisfasse dans un premier temps, mais que plus tard vous arriviez à
vous dire qu'un index des auteurs (avec les pages où ils sont
mentionnés) serait du meilleur effet. Puisque vous avez une commande
spécifique, il vous suffit de la « surcharger », c'est-à-dire de lui
ajouter toute la machinerie nécessaire à la réalisation de la toute
nouvelle tâche complexe (et cela sans toucher au reste du texte). Vous
pourriez essayer de remplacer votre
définition initiale par (cf. <a href="makeindex.html">Faire un index
définition initiale par (cf. <a href="makeindex.html">Faire un index
avec MakeIndex</a>)
</p>
@ -201,21 +201,21 @@ avec MakeIndex</a>)
</pre>
<p class="continue">
qui produit « <var>prénom</var> <var>nom</var> » et indexe l'auteur
sous la forme « <var>nom</var>, <var>prénom</var> » (pour faciliter la
qui produit « <var>prénom</var> <var>nom</var> » et indexe l'auteur
sous la forme « <var>nom</var>, <var>prénom</var> » (pour faciliter la
recherche).
</p>
<p>
En fait, la définition précédente est très largement perfectible,
notamment parce que MakeIndex ne comprend pas très bien les accents (on
peut pour cette raison, lui préférer Xindy). Ce qu'il faut retenir de
tout cela, c'est qu'une fois que la macro spécifique est mise en place
(ici <code>\auteur</code>), peaufiner la présentation du document se
bornera à effectuer de petites modifications sur quelques commandes.
Le seul prérequis est que vous définissiez assez tôt la commande et cela
même si vous pensez ne pas être compétent pour écrire le code
nécessaire : écrivez dans ce cas une commande qui ne fasse rien comme
En fait, la définition précédente est très largement perfectible,
notamment parce que MakeIndex ne comprend pas très bien les accents (on
peut pour cette raison, lui préférer Xindy). Ce qu'il faut retenir de
tout cela, c'est qu'une fois que la macro spécifique est mise en place
(ici <code>\auteur</code>), peaufiner la présentation du document se
bornera à effectuer de petites modifications sur quelques commandes.
Le seul prérequis est que vous définissiez assez tôt la commande et cela
même si vous pensez ne pas être compétent pour écrire le code
nécessaire : écrivez dans ce cas une commande qui ne fasse rien comme
</p>
<pre>
@ -223,65 +223,65 @@ n
</pre>
<p class="continue">
car vous pourrez toujours modifier la macro à mesure que vous progressez
car vous pourrez toujours modifier la macro à mesure que vous progressez
en LaTeX ou alors quelqu'un de plus savant pourra vous venir en aide, il
sera toujours plus facile pour lui de ne travailler que sur une macro
isolée plutôt que sur tout un document.
isolée plutôt que sur tout un document.
</p>
<p>
Enfin sachez qu'il est possible de définir des commandes prenant des
arguments optionnels à l'instar de, par exemple,
<code>\usepackage</code>. C'est-à-dire qu'il est possible de définir
Enfin sachez qu'il est possible de définir des commandes prenant des
arguments optionnels à l'instar de, par exemple,
<code>\usepackage</code>. C'est-à-dire qu'il est possible de définir
une commande <code>\auteur</code> telle que
<code>\auteur{<var>prénom</var>}{<var>nom</var>}</code> fasse ce qui a
été dit jusqu'alors et que
<code>\auteur[textit]{<var>prénom</var>}{<var>nom</var>}</code> mette
en italique le numéro de page dans l'index (pour distinguer divers types
de mention de l'auteur). Il est même possible d'avoir trois commandes
en une :
<code>\auteur{<var>prénom</var>}{<var>nom</var>}</code> fasse ce qui a
été dit jusqu'alors et que
<code>\auteur[textit]{<var>prénom</var>}{<var>nom</var>}</code> mette
en italique le numéro de page dans l'index (pour distinguer divers types
de mention de l'auteur). Il est même possible d'avoir trois commandes
en une :
</p>
<pre>
\auteur*{<var>prénom</var>}{<var>nom</var>} % Imprime seulement
\auteur {<var>prénom</var>}{<var>nom</var>} % Imprime et indexe
\auteur*{<var>prénom</var>}{<var>nom</var>} % Imprime seulement
\auteur {<var>prénom</var>}{<var>nom</var>} % Imprime et indexe
\auteur[textit]%
{<var>prénom</var>}{<var>nom</var>} % Imprime, indexe
{<var>prénom</var>}{<var>nom</var>} % Imprime, indexe
% et met la page en italique
</pre>
<p class="continue">
Par souci d'exhaustivité, je place le code correspondant. Il est certes
Par souci d'exhaustivité, je place le code correspondant. Il est certes
un peu complexe, mais on ne peut pas attendre d'une macro qu'elle abatte
des montagnes sans l'éduquer un tant soit peu.
des montagnes sans l'éduquer un tant soit peu.
</p>
<pre>
% Tester si une chaîne est vide
% Tester si une chaîne est vide
\usepackage{ifmtarg}
% À partir de maintenant, pour TeX, « @ » est une lettre et peut donc
% participer à l'élaboration de noms de commande complexes comme
% \@ifmtarg défini par le package homonyme ou \@ifstar défini par LaTeX
% À partir de maintenant, pour TeX, « @ » est une lettre et peut donc
% participer à l'élaboration de noms de commande complexes comme
% \@ifmtarg défini par le package homonyme ou \@ifstar défini par LaTeX
\makeatletter
% Si \auteur est suivi d'une étoile appeler \sauteur, sinon \oauteur
% Si \auteur est suivi d'une étoile appeler \sauteur, sinon \oauteur
\newcommand*{\auteur}{\@ifstar\sauteur\oauteur}
% \sauteur{prénom}{nom} imprime seulement
% \sauteur{prénom}{nom} imprime seulement
\newcommand*{\sauteur}[2]{#1~\textsc{#2}}
% \oauteur[comment]{prénom}{nom} imprime et indexe
\newcommand*{\oauteur}[3][]{% Par défaut &lt;comment&gt; est vide
% \oauteur[comment]{prénom}{nom} imprime et indexe
\newcommand*{\oauteur}[3][]{% Par défaut &lt;comment&gt; est vide
\sauteur{#2}{#3}%
\@ifmtarg{#1}{% #1 est-il vide ?
\index{#3, #2}% Oui (mise en page par défaut)
\@ifmtarg{#1}{% #1 est-il vide ?
\index{#3, #2}% Oui (mise en page par défaut)
}{%
\index{#3, #2|#1}% Non (mise en page particulière)
\index{#3, #2|#1}% Non (mise en page particulière)
}%
}
% À partir de maintenant, pour TeX, « @ » n'est plus une lettre
% À partir de maintenant, pour TeX, « @ » n'est plus une lettre
\makeatother
</pre>
@ -290,8 +290,8 @@ des montagnes sans l'
<p>
Les environnements
<code>\begin{<var>env</var>}...\end{<var>env</var>}</code> sont une
structure classique de LaTeX que vous pouvez aussi adapter à vos
besoins. Pour cela on utilise la commande <code>\newenvironment</code> :
structure classique de LaTeX que vous pouvez aussi adapter à vos
besoins. Pour cela on utilise la commande <code>\newenvironment</code> :
</p>
<pre>
@ -303,7 +303,7 @@ besoins. Pour cela on utilise la commande <code>\newenvironment</code>
</pre>
<p class="continue">
à ce moment-là, lorsque vous utiliserez
à ce moment-là, lorsque vous utiliserez
</p>
<pre>
@ -316,7 +316,7 @@ besoins. Pour cela on utilise la commande <code>\newenvironment</code>
<p class="continue">
TeX substituera essentiellement (remarquez les accolades qui forment un
« groupe »)
« groupe »)
</p>
<pre>
@ -328,8 +328,8 @@ TeX substituera essentiellement (remarquez les accolades qui forment un
</pre>
<p>
Prenons un exemple &mdash; peu intéressant, mais commençons doucement
&mdash; pour être clair. On définit l'environnement
Prenons un exemple &mdash; peu intéressant, mais commençons doucement
&mdash; pour être clair. On définit l'environnement
<code>itenv</code> ainsi
</p>
@ -350,7 +350,7 @@ Maintenant, quand vous tapez
</pre>
<p class="continue">
vous obtiendrez le même résultat que
vous obtiendrez le même résultat que
</p>
<pre>
@ -358,10 +358,10 @@ vous obtiendrez le m
</pre>
<p class="continue">
qui met « Texte » en italique. Développons un exemple plus
intéressant. Supposons que vous vouliez avoir plus de souplesse avec
qui met « Texte » en italique. Développons un exemple plus
intéressant. Supposons que vous vouliez avoir plus de souplesse avec
les citations de votre document (pour l'interlignage, la police, etc.).
Pour cela vous pourriez définir un
Pour cela vous pourriez définir un
environnement <code>myquote</code> ainsi
</p>
@ -376,20 +376,20 @@ environnement <code>myquote</code> ainsi
</pre>
<p>
Remarques : 1. de manière analogue aux commandes, on ne peut pas définir
un environnement qui existe déjà ; 2. il n'est pas possible de définir
un environnement portant le même nom qu'une commande existant déjà (par
exemple, il n'est pas possible de définir un environnement
<code>usepackage</code>) et réciproquement (il n'est pas possible de
définir une commande <code>\center</code>).
Remarques : 1. de manière analogue aux commandes, on ne peut pas définir
un environnement qui existe déjà ; 2. il n'est pas possible de définir
un environnement portant le même nom qu'une commande existant déjà (par
exemple, il n'est pas possible de définir un environnement
<code>usepackage</code>) et réciproquement (il n'est pas possible de
définir une commande <code>\center</code>).
</p>
<h2>Éléments de programmation</h2>
<h2>Éléments de programmation</h2>
<p>
Pour réaliser des macros complexes, on pourra se référer à la FAQ
Pour réaliser des macros complexes, on pourra se référer à la FAQ
anglaise qui contient de nombreux trucs de programmation dans la section
« Macro programming » comme
« Macro programming » comme
</p>
<ul>
@ -399,20 +399,20 @@ anglaise qui contient de nombreux trucs de programmation dans la section
</ul>
<p class="continue">
Les packages suivants sont d'un grand intérêt pour des applications
complexes :
Les packages suivants sont d'un grand intérêt pour des applications
complexes :
</p>
<dl>
<dt>ifthen</dt>
<dd>
pour des tests conditionnels « if-then-else », des boucles
« while-do », etc. ;
pour des tests conditionnels « if-then-else », des boucles
« while-do », etc. ;
</dd>
<dt>calc</dt>
<dd>
pour de l'arithmétique des compteurs et des longueurs plus aisée ;
pour de l'arithmétique des compteurs et des longueurs plus aisée ;
</dd>
<dt>ifmtarg</dt>
@ -421,8 +421,8 @@ complexes
</dd>
</dl>
<div class="metainformation"> Auteurs : Émilia Robin (1999),
François-Xavier Coudert, Josselin Noirel (2005). Dernière modification le <date
<div class="metainformation"> Auteurs : Émilia Robin (1999),
François-Xavier Coudert, Josselin Noirel (2005). Dernière modification le <date
value="$Date: 2008-03-24 17:12:36 $" />.</div>
</body> </html>

View file

@ -10,199 +10,199 @@ PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
<h1>Faire un index avec MakeIndex</h1>
<p>Vous disposez d'un fichier TeX qui contient votre maîtrise, votre
<p>Vous disposez d'un fichier TeX qui contient votre maîtrise, votre
autobiographie, ce que vous voulez. Pour faciliter la vie du lecteur
de votre document final, vous désirez indexer les termes clefs de
votre texte. Le package MakeIndex vous permet de créer un index. Tout
de votre document final, vous désirez indexer les termes clefs de
votre texte. Le package MakeIndex vous permet de créer un index. Tout
au long de ce cours nous allons utiliser un petit texte d'exemple,
tiré des <cite>Mémoires</cite> du duc de Luynes (vous pouvez le
télécharger : <a href="exemple.txt">exemple.txt</a>) :</p>
tiré des <cite>Mémoires</cite> du duc de Luynes (vous pouvez le
télécharger : <a href="exemple.txt">exemple.txt</a>) :</p>
<pre>
À la mort de M. le duc de Bourgogne, lorsqu'il fut question d'aller
jeter de l'eau bénite, le feu Roi décida que si les princes lorrains
s'y presenteroient, qu'eux ni les ducs n'en jetteroient ; mais que si
MM. de Rohan et de Bouillon y étoient, les ducs jetteroient de l'eau
bénite avant eux : ce qui arriva effectivement ; mais MM. de Rohan et
de Bouillon, voyant les ducs passer avant eux, s'en allèrent. Ce qui
avoit été décidé en faveur de MM. les ducs fut écrit sur le registre
de M. de Dreux ; mais deux ans après, les représentations de Mme de
Maintenon déterminèrent le Roi à faire un changement et à ordonner à
M. de Dreux que cet article seroit rayé sur le registre. Il fut mis en
marge que le Roi n'avoit jamais voulu décider entre les ducs et MM. de
À la mort de M. le duc de Bourgogne, lorsqu'il fut question d'aller
jeter de l'eau bénite, le feu Roi décida que si les princes lorrains
s'y presenteroient, qu'eux ni les ducs n'en jetteroient ; mais que si
MM. de Rohan et de Bouillon y étoient, les ducs jetteroient de l'eau
bénite avant eux : ce qui arriva effectivement ; mais MM. de Rohan et
de Bouillon, voyant les ducs passer avant eux, s'en allèrent. Ce qui
avoit été décidé en faveur de MM. les ducs fut écrit sur le registre
de M. de Dreux ; mais deux ans après, les représentations de Mme de
Maintenon déterminèrent le Roi à faire un changement et à ordonner à
M. de Dreux que cet article seroit rayé sur le registre. Il fut mis en
marge que le Roi n'avoit jamais voulu décider entre les ducs et MM. de
Rohan et de Bouillon. </pre>
<h2>Avant toute chose</h2>
<p>Commencez par indiquer dans le préambule de votre document que vous
voulez le charger (attention, il faut bien écrire <code>makeidx</code>
et non <code>makeindex</code>) :</p>
<p>Commencez par indiquer dans le préambule de votre document que vous
voulez le charger (attention, il faut bien écrire <code>makeidx</code>
et non <code>makeindex</code>) :</p>
<pre>\usepackage{makeidx}</pre>
<p class="continue">Ensuite, dans la suite du préambule, mettez la
<p class="continue">Ensuite, dans la suite du préambule, mettez la
commande</p>
<pre>\makeindex</pre>
<p class="continue">qui demande à MakeIndex de se mettre au travail.
<p class="continue">qui demande à MakeIndex de se mettre au travail.
Enfin, placez la commande</p>
<pre>\printindex</pre>
<p class="continue">à l'endroit où vous désirez placer l'index (à la
<p class="continue">à l'endroit où vous désirez placer l'index (à la
fin, normalement).</p>
<h2>Les bases</h2>
<p>Pour obtenir une entrée dans l'index, il faut l'indiquer par la
commande <code>\index{<var>mon_entree</var>}</code>. Lors d'une première
compilation, LaTeX repérera tous les <code>\index</code> et écrira
pour chacun d'entre eux une entrée dans <a
<p>Pour obtenir une entrée dans l'index, il faut l'indiquer par la
commande <code>\index{<var>mon_entree</var>}</code>. Lors d'une première
compilation, LaTeX repérera tous les <code>\index</code> et écrira
pour chacun d'entre eux une entrée dans <a
href="exemple.idx"><code>exemple.idx</code></a>. Ensuite il faudra
faire une deuxième compilation à l'aide de la commande
<code>makeindex</code> :</p>
faire une deuxième compilation à l'aide de la commande
<code>makeindex</code> :</p>
<pre>makeindex exemple.idx</pre>
<p class="continue">MakeIndex interprétera les entrées de
<code>exemple.idx</code> et les formatera, générant deux nouveaux
<p class="continue">MakeIndex interprétera les entrées de
<code>exemple.idx</code> et les formatera, générant deux nouveaux
fichier, <a href="exemple.ilg"><code>exemple.ilg</code></a> qui
contient les messages de compilation de MakeIndex, et <a
href="exemple.ind"><code>exemple.ind</code></a> qui contient l'index
formaté. Il faut ensuite une troisième compilation, avec latex, pour
que <code>exemple.ind</code> soit intégré à <code>exemple.tex</code>
formaté. Il faut ensuite une troisième compilation, avec latex, pour
que <code>exemple.ind</code> soit intégré à <code>exemple.tex</code>
et produise l'index.</p>
<div class="encadre">
<strong>Important</strong> : il faut préciser <strong>à chaque
fois</strong> à <code>makeindex</code> ce que vous voulez indexer, il
<strong>Important</strong> : il faut préciser <strong>à chaque
fois</strong> à <code>makeindex</code> ce que vous voulez indexer, il
ne le fait pas automatiquement.
</div>
<p>
Pourquoi ? Bien sûr, vous préfereriez avoir à ne donner le mot à
Pourquoi ? Bien sûr, vous préfereriez avoir à ne donner le mot à
indexer qu'une seule fois et laisser l'ordinateur faire le reste, mais
cette procédure <em>manque de souplesse</em>. Admettons que vous
vouliez créer une entrée d'index « Louis XIV ». Un indexage
automatique vous permettrait bien sûr de recenser toutes les
occurrences de « Louis XIV ».
cette procédure <em>manque de souplesse</em>. Admettons que vous
vouliez créer une entrée d'index « Louis XIV ». Un indexage
automatique vous permettrait bien sûr de recenser toutes les
occurrences de « Louis XIV ».
</p>
<p class="continue">
Mais vous aimeriez sans doute aussi recenser les pages ou vous n'avez
pas écrit textuellement « Louis XIV », mais où vous en avez parlé sous
les périphrases « le roi de France », « le monarque », voire un bête
« il ». Ce que vous permet l'apposition à la main de commandes
<code>\index{Louis XIV}</code> après chaque mot ou expression que vous
voulez voir référencé.</p>
pas écrit textuellement « Louis XIV », mais où vous en avez parlé sous
les périphrases « le roi de France », « le monarque », voire un bête
« il ». Ce que vous permet l'apposition à la main de commandes
<code>\index{Louis XIV}</code> après chaque mot ou expression que vous
voulez voir référencé.</p>
<h3>Récapitulatif</h3>
<h3>Récapitulatif</h3>
<p>Il faut en tout <strong>trois compilations</strong> pour que
l'index soit effectif :</p>
l'index soit effectif :</p>
<pre>latex exemple.tex
makeindex exemple.idx
latex exemple.tex</pre>
<h2>Spécifier les entrées de l'index</h2>
<h2>Spécifier les entrées de l'index</h2>
<p>La procédure de base est la suivante : vous voulez indexer, dans le texte
d'exemple, les ducs et pairs. Vous placez donc, après l'expression à
référencer, un <code>\index{}</code> :</p>
<p>La procédure de base est la suivante : vous voulez indexer, dans le texte
d'exemple, les ducs et pairs. Vous placez donc, après l'expression à
référencer, un <code>\index{}</code> :</p>
<pre>
À la mort de M. le duc de Bourgogne, lorsqu'il fut question d'aller
jeter de l'eau bénite, le feu Roi décida que si les princes lorrains
À la mort de M. le duc de Bourgogne, lorsqu'il fut question d'aller
jeter de l'eau bénite, le feu Roi décida que si les princes lorrains
s'y presenteroient, qu'eux ni les ducs\index{Ducs et pairs} n'en
jetteroient (...)
</pre>
<h3>Caractères accentués</h3>
<h3>Caractères accentués</h3>
<p>
MakeIndex n'a pas été conçu pour les langues possédant des accents :
dès qu'un mot contenant des caractères accentués se trouvera dans
votre <code>\index{}</code>, il le classera au début des mots
commençant par cette même lettre... Il vous faut donc indiquer
vous-même à MakeIndex où classer la référence : on utilise pour cela
MakeIndex n'a pas été conçu pour les langues possédant des accents :
dès qu'un mot contenant des caractères accentués se trouvera dans
votre <code>\index{}</code>, il le classera au début des mots
commençant par cette même lettre... Il vous faut donc indiquer
vous-même à MakeIndex où classer la référence : on utilise pour cela
une arobase (<code>@</code>) et le code
<code>\index{<var>sans_accents</var>@<var>avec_accents</var>}</code>.
Par exemple,
</p>
<pre>\index{Princes etrangers@Princes étrangers}</pre>
<pre>\index{Princes etrangers@Princes étrangers}</pre>
<p class="continue">veut dire que vous demandez à MakeIndex de classer
« Princes étrangers » comme s'il n'y avait pas d'accent dans
<p class="continue">veut dire que vous demandez à MakeIndex de classer
« Princes étrangers » comme s'il n'y avait pas d'accent dans
l'expression.</p>
<p><strong>À noter :</strong> Vous pouvez utiliser cette technique pour
classer par exemple des membres d'une même famille dans l'ordre
chronologique, et non pas par ordre alphabétique de leur prénom :</p>
<p><strong>À noter :</strong> Vous pouvez utiliser cette technique pour
classer par exemple des membres d'une même famille dans l'ordre
chronologique, et non pas par ordre alphabétique de leur prénom :</p>
<pre>
\index{Guise1@Guise, Henri de Lorraine, duc de}
\index{Guise2@Guise, Charles de Lorraine, duc de}
</pre>
<p class="continue">Vous pouvez également l'utiliser pour formater à
votre goût l'aspect d'une entrée d'index. Ainsi,</p>
<p class="continue">Vous pouvez également l'utiliser pour formater à
votre goût l'aspect d'une entrée d'index. Ainsi,</p>
<pre>\index{Bourgogne@\textsc{Bourgogne}, Louis de France, duc de}</pre>
<p class="continue">vous permet d'avoir le nom de famille en petites
majuscules. Vous pouvez évidemment remplacer <code>\textsc{}</code> par
n'importe quel type de fonte (italique, gras, penché...).</p>
majuscules. Vous pouvez évidemment remplacer <code>\textsc{}</code> par
n'importe quel type de fonte (italique, gras, penché...).</p>
<h3>Entrées et sous-entrées</h3>
<h3>Entrées et sous-entrées</h3>
<p>Pour produire une sous-entrée, vous devez d'abord indiquer l'entrée
principale puis la sous-entrée, séparée par un point d'exclamation.
<p>Pour produire une sous-entrée, vous devez d'abord indiquer l'entrée
principale puis la sous-entrée, séparée par un point d'exclamation.
Ainsi, si l'on reprend notre exemple, vous voulez faire du mot
« registres » une sous-entrée de « service des Cérémonies » :</p>
« registres » une sous-entrée de « service des Cérémonies » :</p>
<pre>\index{Ceremonies@Cérémonies, service de!registres}</pre>
<pre>\index{Ceremonies@Cérémonies, service de!registres}</pre>
<p>Vous pouvez faire des sous-sous-entrées. MakeIndex et LaTeX ne
supportent que trois niveaux d'indexation : vous ne pouvez pas avoir de
sous-sous-sous-entrées.</p>
<p>Vous pouvez faire des sous-sous-entrées. MakeIndex et LaTeX ne
supportent que trois niveaux d'indexation : vous ne pouvez pas avoir de
sous-sous-sous-entrées.</p>
<h3>Références croisées</h3>
<h3>Références croisées</h3>
<p>MakeIndex vous permet de faire des références croisées, qui ne renvoient
pas à une page, mais à une autre entrée. Ainsi, dans notre exemple, on
veut que le lecteur qui cherche une entrée à Bouillon soit renvoyé à
« princes étrangers » :</p>
<p>MakeIndex vous permet de faire des références croisées, qui ne renvoient
pas à une page, mais à une autre entrée. Ainsi, dans notre exemple, on
veut que le lecteur qui cherche une entrée à Bouillon soit renvoyé à
« princes étrangers » :</p>
<pre> \index{Bouillon|see{Princes étrangers}}</pre>
<pre> \index{Bouillon|see{Princes étrangers}}</pre>
<p class="continue">vous donnera :</p>
<p class="continue">vous donnera :</p>
<pre>Bouillon, voir Princes étrangers</pre>
<pre>Bouillon, voir Princes étrangers</pre>
<p>La traduction de <code>|see{}</code> dépend du package de Babel que
<p>La traduction de <code>|see{}</code> dépend du package de Babel que
vous utilisez.</p>
<h2>Formatage de l'index</h2>
<p>Par défaut, l'index ressemble à ceci (c'est le résultat de
<a href="exemple.tex"><code>exemple.tex</code></a>) :</p>
<p>Par défaut, l'index ressemble à ceci (c'est le résultat de
<a href="exemple.tex"><code>exemple.tex</code></a>) :</p>
<div class="illustration"><img src="index.jpg" alt="Un index"/></div>
<p>Le texte s'étend sur deux colonnes. Si vous voulez modifier le
formatage de l'index, il vous faudra créer un fichier <code>.ist</code>
<p>Le texte s'étend sur deux colonnes. Si vous voulez modifier le
formatage de l'index, il vous faudra créer un fichier <code>.ist</code>
(<code>perso.ist</code>, par exemple) contenant vos personnalisations.
Pour utiliser ce fichier <code>.ist</code>, il faut le donner en option à
MakeIndex pendant la deuxième compilation :</p>
Pour utiliser ce fichier <code>.ist</code>, il faut le donner en option à
MakeIndex pendant la deuxième compilation :</p>
<pre>makeindex -s perso.ist exemple.idx</pre>
<h3>Ajouter une lettre entre chaque groupe</h3>
<p>Il faut insérer dans votre perso.ist les lignes suivantes :</p>
<p>Il faut insérer dans votre perso.ist les lignes suivantes :</p>
<pre>
heading_prefix "{\\bfseries\\hfil "
@ -214,7 +214,7 @@ headings_flag 1
<h3>Ajouter des lignes de points</h3>
<p>Il faut insérer dans votre perso.ist les lignes suivantes :</p>
<p>Il faut insérer dans votre perso.ist les lignes suivantes :</p>
<pre>
delim_0 "\\dotfill"
@ -225,8 +225,8 @@ delim_2 "\\dotfill"
<div class="illustration"><img src="mylist.jpg" alt="Encore plus joli" /></div>
<div class="metainformation"> Auteurs : Marie-Lan Nguyen (2000) et
François-Xavier Coudert (2002).
Dernière modification : le <date value="$Date: 2007-07-17 10:02:51 $" />.
<div class="metainformation"> Auteurs : Marie-Lan Nguyen (2000) et
François-Xavier Coudert (2002).
Dernière modification : le <date value="$Date: 2007-07-17 10:02:51 $" />.
</div>
</body> </html>

View file

@ -11,63 +11,63 @@
<h1>Les bases de LaTeX</h1>
<p> Ce résumé n'entend pas remplacer un manuel ; n'y figurent donc
que les commandes les plus essentielles, sans détails ni options. En
particulier, rien de ce qui touche aux mathématiques n'est abordé. Pour
<p> Ce résumé n'entend pas remplacer un manuel ; n'y figurent donc
que les commandes les plus essentielles, sans détails ni options. En
particulier, rien de ce qui touche aux mathématiques n'est abordé. Pour
tout cela nous renvoyons aux manuels existants, aux tuteurs ou encore aux
autres utilisateurs. Nous supposerons aussi que l'utilisateur sait déjà
compiler un document (sinon, <a href="latex.html">par ici</a> !). </p>
autres utilisateurs. Nous supposerons aussi que l'utilisateur sait déjà
compiler un document (sinon, <a href="latex.html">par ici</a> !). </p>
<h2>Introduction</h2>
<h3>Qu'est-ce que LaTeX ?</h3>
<h3>Qu'est-ce que LaTeX ?</h3>
<p>Vous avez sans doute l'habitude d'utiliser un traitement de texte,
comme Word ou OpenOffice.org. Ces logiciels vous offrent en même temps
deux fonctionnalités différentes :</p>
comme Word ou OpenOffice.org. Ces logiciels vous offrent en même temps
deux fonctionnalités différentes :</p>
<ul> <li> <strong>l'édition du texte</strong> : tout ce qui concerne
l'écriture et la modification du texte (sauvegarder, copier-coller,
recherche de mots, substitution, etc) ; </li>
<ul> <li> <strong>l'édition du texte</strong> : tout ce qui concerne
l'écriture et la modification du texte (sauvegarder, copier-coller,
recherche de mots, substitution, etc) ; </li>
<li> <strong>La mise en page directe</strong>, que vous choisissez de
mettre de l'italique, laisser de l'espace, faire un tableau, etc, que que
vous voyez le résultat immédiatement, en même temps que vous
écrivez. </li>
vous voyez le résultat immédiatement, en même temps que vous
écrivez. </li>
</ul>
<p> Avec LaTeX, ces deux fonctionnalités sont dissociées :
l'« écriture » proprement dite relève d'un logiciel appelé « <a
href="&url.tuteurs;unix/editeurs/">éditeur de texte</a> »; la « mise
en page » vient ensuite, après interprétation du texte par le
programme LaTeX. Vous manipulez donc en même temps deux versions de
votre document : le texte tapé, qui contient des indications de mise
en page, et la version définitive (appelée le fichier DVI), qui
<p> Avec LaTeX, ces deux fonctionnalités sont dissociées :
l'« écriture » proprement dite relève d'un logiciel appelé « <a
href="&url.tuteurs;unix/editeurs/">éditeur de texte</a> »; la « mise
en page » vient ensuite, après interprétation du texte par le
programme LaTeX. Vous manipulez donc en même temps deux versions de
votre document : le texte tapé, qui contient des indications de mise
en page, et la version définitive (appelée le fichier DVI), qui
affiche la mise en page selon les indications fournies. </p>
<p> Le gros avantage de cette façon de procéder est que vous dissociez le
fond de la forme : quand vous tapez, vous ne vous préoccupez pas de
savoir si vous avez laissé assez d'espace à tel endroit, ou si
l'équilibre de telle page est correct. C'est LaTeX qui se charge de ce
<p> Le gros avantage de cette façon de procéder est que vous dissociez le
fond de la forme : quand vous tapez, vous ne vous préoccupez pas de
savoir si vous avez laissé assez d'espace à tel endroit, ou si
l'équilibre de telle page est correct. C'est LaTeX qui se charge de ce
genre de questions. </p>
<h3>À quoi ressemblent les commandes LaTeX ?</h3>
<h3>À quoi ressemblent les commandes LaTeX ?</h3>
<p> Les commandes de LaTeX commencent par un <em>backslash</em>
(<code>\</code>), ce qui permet au programme de les identifier. Beaucoup
ne s'appliquent qu'à une seule partie du texte, délimitée par des
ne s'appliquent qu'à une seule partie du texte, délimitée par des
accolades. Par exemple, pour afficher le mot LaTeX, on tape
<code>\LaTeX</code> ; ou encore, pour afficher en gras le mot
« important », on tape</p>
<code>\LaTeX</code> ; ou encore, pour afficher en gras le mot
« important », on tape</p>
<pre>\textbf{important}</pre>
<p class="continue">ce qui donne : <strong>important</strong>.</p>
<p class="continue">ce qui donne : <strong>important</strong>.</p>
<p> Vous aurez souvent recours à des <em>environnements</em>,
c'est-à-dire à des commandes qui délimitent une portion de texte dans
laquelle d'autres règles de mise en page sont appliquées (par exemple
<p> Vous aurez souvent recours à des <em>environnements</em>,
c'est-à-dire à des commandes qui délimitent une portion de texte dans
laquelle d'autres règles de mise en page sont appliquées (par exemple
pour faire des listes, centrer du texte, etc). Les environnements
s'ouvrent avec</p>
@ -77,35 +77,35 @@ s'ouvrent avec</p>
<pre>\end{nom-de-l'environnement}</pre>
<h3>Gérer les langues étrangères</h3>
<h3>Gérer les langues étrangères</h3>
<p>Babel est un <em>package</em> qui permet d'obtenir des documents en
plusieurs langues, en respectant les typographies nationales, en
affichant automatiquement les titres (comme « table des matières »,
« index », etc) dans la langue choisie, etc. Il gère aussi la
ponctuation. Babel connaît une trentaine de langues. Par exemple,
pour un document en français, vous devrez faire figurer la ligne
suivante dans le source (utiliser le package « babel » avec l'option
« francais », sans cédille) :</p>
affichant automatiquement les titres (comme « table des matières »,
« index », etc) dans la langue choisie, etc. Il gère aussi la
ponctuation. Babel connaît une trentaine de langues. Par exemple,
pour un document en français, vous devrez faire figurer la ligne
suivante dans le source (utiliser le package « babel » avec l'option
« francais », sans cédille) :</p>
<pre>\usepackage[francais]{babel}</pre>
<p> Pour obtenir un <strong>document bilingue</strong>, vous indiquez
deux langues entre les crochets ; c'est la dernière langue indiquée
deux langues entre les crochets ; c'est la dernière langue indiquée
qui sera la langue dominante du document. Dans l'exemple qui suit, le
document est en français et on y trouvera des passages en grec :</p>
document est en français et on y trouvera des passages en grec :</p>
<pre>\usepackage[greek,francais]{babel}</pre>
<p>Pour alterner entre les langues, on utilise la commande :</p>
<p>Pour alterner entre les langues, on utilise la commande :</p>
<pre>\selectlanguage{nom-de-la-langue}</pre>
<p class="continue">en spécifiant entre accolades la langue
demandée. Pour ne pas avoir à retaper en permanence cette longue
commande, il est préférable de se faire des <a
href="macros.html">macros</a> (à écrire dans le préambule). Voici un
exemple de préambule, suivi d'un modèle d'utilisation :</p>
<p class="continue">en spécifiant entre accolades la langue
demandée. Pour ne pas avoir à retaper en permanence cette longue
commande, il est préférable de se faire des <a
href="macros.html">macros</a> (à écrire dans le préambule). Voici un
exemple de préambule, suivi d'un modèle d'utilisation :</p>
<pre>
\documentclass{article}
@ -114,19 +114,19 @@ exemple de pr
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
% Première possibilité
% Première possibilité
\newcommand\gr{\selectlanguage{greek}}
\newcommand\fr{\selectlanguage{francais}}
% Deuxième possiblité
% Deuxième possiblité
\newcommand{\grec}[1]{\selectlanguage{greek}#1\selectlanguage{francais}}
</pre>
<p> D'autre part, certaines commandes sont prédéfinies pour passer dans
l'autre langue; ainsi, il existe déjà <code>\textgreek{...}</code>.
Voici un exemple de texte grec tapé en LaTeX :</p>
<p> D'autre part, certaines commandes sont prédéfinies pour passer dans
l'autre langue; ainsi, il existe déjà <code>\textgreek{...}</code>.
Voici un exemple de texte grec tapé en LaTeX :</p>
<pre>\textgreek{Peis'istratis m'en o&gt;\~un >egkateg'hrase t\~h|
&gt;arq\~h| ka`i &gt;ap'ejane nos'hsas &gt;ep`i Fil'onew &gt;'rqontos,
@ -134,72 +134,72 @@ af' o&lt;\~ou m`en kat'esth t`o pr\~wton t'urannos &gt;'eth tri'akonta
ka`i tr'ia Bi'wsas, &lt;`a d' &gt;en t\~h| &gt;arq\~h| di'emeinen
&lt;enos d'eonta e&gt;'ikosi; &gt;'efeuge g`ap t`a loip`a.}</pre>
<p class="continue">ce qui donne :</p>
<p class="continue">ce qui donne :</p>
<div class="illustration"><img src="grec.png" width="518" height="60"
alt="[Du grec avec LaTeX]" /></div>
<p class="continue">Pour en savoir davantage, reportez-vous à notre
page sur <a href="grec.html">l'écriture du grec ancien sous
<p class="continue">Pour en savoir davantage, reportez-vous à notre
page sur <a href="grec.html">l'écriture du grec ancien sous
LaTeX.</a></p>
<h3>Ce qui doit toujours figurer dans le source</h3>
<p> Un document LateX comporte une série de lignes indispensables qui en
définissent le squelette. On indique aussi ici un certain nombre de
<p> Un document LateX comporte une série de lignes indispensables qui en
définissent le squelette. On indique aussi ici un certain nombre de
renseignements utiles pour faire un joli document. Vous pouvez <a
href="templates/skel.txt">récupérer ce fichier de base</a> et l'utiliser
href="templates/skel.txt">récupérer ce fichier de base</a> et l'utiliser
pour tous vos documents. </p>
<table class="tableau">
<tr><td><code>\documentclass{article}</code></td> <td>Précise le genre de
document, exprimé par l'argument : <code>article</code> pour les textes
<tr><td><code>\documentclass{article}</code></td> <td>Précise le genre de
document, exprimé par l'argument : <code>article</code> pour les textes
ou rapports courts, <code>report</code> pour les rapports un peu plus
longs, <code>book</code> pour les livres (ou les maîtrises...).</td></tr>
longs, <code>book</code> pour les livres (ou les maîtrises...).</td></tr>
<tr><td><code>\usepackage[francais]{babel}<br/>
\usepackage[latin1]{inputenc}<br/>
\usepackage[T1]{fontenc}</code></td>
<td>Lignes ajoutées pour les documents en français, pour que soit prises
en compte les particularités de la typographie française; c'est aussi
grâce à ce package que la date est affichée automatiquement en français,
que le titre de la table des matières est « Table des matières » et non
« Contents », etc. Les deux lignes suivantes permettent d'avoir des
caractères correctement accentués en toutes circonstances.</td> </tr>
<td>Lignes ajoutées pour les documents en français, pour que soit prises
en compte les particularités de la typographie française; c'est aussi
grâce à ce package que la date est affichée automatiquement en français,
que le titre de la table des matières est « Table des matières » et non
« Contents », etc. Les deux lignes suivantes permettent d'avoir des
caractères correctement accentués en toutes circonstances.</td> </tr>
<tr><td><code>\begin{document}</code></td> <td>Indique
le moment où commence le texte proprement dit. Ce qui figure entre
le moment où commence le texte proprement dit. Ce qui figure entre
<code>\documentclass{***}</code> et <code>\begin{document}</code>
s'appelle le préambule.</td></tr>
s'appelle le préambule.</td></tr>
<tr><td><code>\end{document}</code></td><td>Indique le
moment où finit le texte. Rien de ce qui suit cette commande ne sera pris
moment où finit le texte. Rien de ce qui suit cette commande ne sera pris
en compte par LaTeX.</td></tr>
</table>
<h2><a name="accents">Les accents et LaTeX</a></h2>
<p> Vous pouvez taper indifféremment vos accents avec <code>compose</code> et
<code>méta</code>. Il peut arriver (selon les configurations) que
certains accents ne soient pas compris, pour différentes raisons. Si vous
avez des problèmes, ou si vous voulez faire apparaître des accents
étrangers, marquez les accents de la manière suivante dans votre
fichier : <code>\ accent lettre</code>. </p>
<p> Vous pouvez taper indifféremment vos accents avec <code>compose</code> et
<code>méta</code>. Il peut arriver (selon les configurations) que
certains accents ne soient pas compris, pour différentes raisons. Si vous
avez des problèmes, ou si vous voulez faire apparaître des accents
étrangers, marquez les accents de la manière suivante dans votre
fichier : <code>\ accent lettre</code>. </p>
<p> Par exemple, <code>\'a</code> donnera « á »; <code>\'u</code>
donnera « ú ». </p>
<p> Par exemple, <code>\'a</code> donnera « á »; <code>\'u</code>
donnera « ú ». </p>
<p> Le codage des accents est le même que celui de compose, à l'exception
de la cédille (<code>fa\c{c}ade</code> donne façade). Allez voir la page
des tuteurs consacrée aux <a
<p> Le codage des accents est le même que celui de compose, à l'exception
de la cédille (<code>fa\c{c}ade</code> donne façade). Allez voir la page
des tuteurs consacrée aux <a
href="&url.tuteurs;unix/accents.html">accents</a> pour savoir comment on
les tape et pour avoir un tableau des divers accents avec LaTeX. </p>
<p> Cela dit, nous vous encourageons à taper vos accents en Unicode
(c'est-à-dire, avec la touche Compose, ou naturellement sur un clavier
AZERTY) ; pour cela, ajoutez systématiquement dans l'entête de votre
<p> Cela dit, nous vous encourageons à taper vos accents en Unicode
(c'est-à-dire, avec la touche Compose, ou naturellement sur un clavier
AZERTY) ; pour cela, ajoutez systématiquement dans l'entête de votre
document les deux lignes suivantes: </p>
<pre>
@ -207,14 +207,14 @@ document les deux lignes suivantes: </p>
\usepackage[T1]{fontenc}
</pre>
<p> La première ligne demande que les caractères accentués soient
reconnus comme de l'utf8, la seconde, que soient utilisées
<p> La première ligne demande que les caractères accentués soient
reconnus comme de l'utf8, la seconde, que soient utilisées
les fontes de LaTeX incluant les accents. </p>
<div class="encadre">
Certains systèmes d'exploitation utilisent encore le latin1 au lieu de
Certains systèmes d'exploitation utilisent encore le latin1 au lieu de
l'UTF-8. Dans ce cas, remplacez <code>utf8</code> par <code>latin1</code>
dans la première ligne ci-dessus.
dans la première ligne ci-dessus.
</div>
@ -222,8 +222,8 @@ dans la premi
<h3>Faire un titre</h3>
<p> Pour faire un titre, il faut préciser dans le préambule le titre,
l'auteur et la date :</p>
<p> Pour faire un titre, il faut préciser dans le préambule le titre,
l'auteur et la date :</p>
<pre>
\title{Le titre}
@ -231,25 +231,25 @@ l'auteur et la date
\date{La date}
</pre>
<p>On peut aussi demander que la date soit insérée automatiquement (date du
jour de la compilation) :</p>
<p>On peut aussi demander que la date soit insérée automatiquement (date du
jour de la compilation) :</p>
<pre>
\date\today
</pre>
<p>Pour ne pas préciser un champ, il faut lui donner un argument vide
<p>Pour ne pas préciser un champ, il faut lui donner un argument vide
(par exemple <code>\author{}</code> ou <code>\date{}</code>). </p>
<p>Ensuite, la commande <code>maketitle</code> indique à LaTeX
l'endroit où on veut faire figurer le titre (généralement en tout
début de document, c'est-à-dire juste après
<p>Ensuite, la commande <code>maketitle</code> indique à LaTeX
l'endroit où on veut faire figurer le titre (généralement en tout
début de document, c'est-à-dire juste après
<code>\begin{document}</code>).</p>
<h3>Utilisation de sections</h3>
<p> Vous pouvez demander à LaTeX de structure automatiquement les
documents avec les commandes suivantes :</p>
<p> Vous pouvez demander à LaTeX de structure automatiquement les
documents avec les commandes suivantes :</p>
<pre>
\part{}
@ -261,97 +261,97 @@ documents avec les commandes suivantes
</pre>
<p> Les classes de document <code>report</code> et <code>book</code>
proposent en plus la commande <code>\chapter{}</code>. L'intitulé de la
section est indiqué entre les accolades.</p>
proposent en plus la commande <code>\chapter{}</code>. L'intitulé de la
section est indiqué entre les accolades.</p>
<p> Les titres de parties ainsi obtenus sont numérotés automatiquement.
<p> Les titres de parties ainsi obtenus sont numérotés automatiquement.
Si donc vous bouleversez toute l'organisation de votre texte, la
numérotation se refera d'elle-même à la compilation suivante.</p>
numérotation se refera d'elle-même à la compilation suivante.</p>
<h3>La table des matières</h3>
<h3>La table des matières</h3>
<p> À l'endroit où l'on veut voir figurer une table des matières, on
écrit la commande <code>\tableofcontents</code>. Attention, il faut
compiler deux fois pour que LaTeX produise la table des matières
<p> À l'endroit où l'on veut voir figurer une table des matières, on
écrit la commande <code>\tableofcontents</code>. Attention, il faut
compiler deux fois pour que LaTeX produise la table des matières
correctement. </p>
<p> Il peut arriver qu'un titre soit trop long pour figurer dans la table
des matières sans retour à la ligne; dans ce cas, on spécifie entre
crochets le titre qui doit apparaître dans la table des matières,
cependant que le titre complet reste entre accolades :</p>
des matières sans retour à la ligne; dans ce cas, on spécifie entre
crochets le titre qui doit apparaître dans la table des matières,
cependant que le titre complet reste entre accolades :</p>
<pre> \section[Titre plus court]{Un titre vraiment trop long pour tenir
sur une seule ligne} </pre>
<p> Il vous arrivera aussi d'insérer des <a
<p> Il vous arrivera aussi d'insérer des <a
href="tableaux.html">figures</a> dans votre document. La commande
<code>\listoffigures</code> vous permet de générer une liste de toutes
les figures. Là encore, il faudra deux compilations. </p>
<code>\listoffigures</code> vous permet de générer une liste de toutes
les figures. Là encore, il faudra deux compilations. </p>
<h3>Deux sortes de listes</h3>
<p>On peut faire une liste d'objets avec les environnements
<code>itemize</code> (liste simple) ou <code>enumerate</code> (liste
numérotée), de la façon suivante :</p>
numérotée), de la façon suivante :</p>
<pre>
Je veux acheter :
Je veux acheter :
\begin{itemize}
\item des poires ;
\item des carottes ;
\item des poires ;
\item des carottes ;
\item des choux.
\end{itemize}
</pre>
<p class="continue">ou alors :</p>
<p class="continue">ou alors :</p>
<pre>
Les vainqueurs sont :
Les vainqueurs sont :
\begin{enumerate}
\item Paul Lefort ;
\item Romain Legrand ;
\item Joël Lebel.
\item Paul Lefort ;
\item Romain Legrand ;
\item Joël Lebel.
\end{enumerate}
</pre>
<p> Parlons ponctuation : dans une liste, les éléments sont terminés par
<p> Parlons ponctuation : dans une liste, les éléments sont terminés par
un point-virgule, sauf le dernier qui finit par un point (cf. les
exemples précédents). Cependant, si chaque élément est formé de plusieurs
exemples précédents). Cependant, si chaque élément est formé de plusieurs
phrases, on les termine toutes par un point.</p>
<h3>Environnements modifiant la justification des paragraphes</h3>
<ul>
<li><code>flushleft</code> : aligner le texte sur la marge de
gauche ;</li>
<li><code>flushleft</code> : aligner le texte sur la marge de
gauche ;</li>
<li><code>flushright</code> : aligner le texte sur la marge de
droite ;</li>
<li><code>flushright</code> : aligner le texte sur la marge de
droite ;</li>
<li><code>center</code> : centrer le texte ;</li>
<li><code>center</code> : centrer le texte ;</li>
<li><code>quote</code> : faire une citation ;</li>
<li><code>quote</code> : faire une citation ;</li>
<li><code>quotation</code> : faire une longue citation ;</li>
<li><code>quotation</code> : faire une longue citation ;</li>
<li><code>verse</code> : faire de la poésie, chaque vers étant terminé
par <code>\\</code> ;</li>
<li><code>verse</code> : faire de la poésie, chaque vers étant terminé
par <code>\\</code> ;</li>
</ul>
<p> Les environnements s'ouvrent avec <code>\begin{***}</code> et se
referment avec <code>\end{***}</code>, en faisant figurer le nom de
l'environnement entre les accolades. Certains sont bien sûr incompabibles
entre eux (« aligner à gauche » et « aligner à droite » par exemple).
Si vous utilisez plusieurs environnements emboîtés (listes imbriquées,
citations centrées, etc), veillez à bien les refermer dans l'ordre de
l'imbrication : dernier ouvert, premier refermé, comme des
parenthèses.</p>
l'environnement entre les accolades. Certains sont bien sûr incompabibles
entre eux (« aligner à gauche » et « aligner à droite » par exemple).
Si vous utilisez plusieurs environnements emboîtés (listes imbriquées,
citations centrées, etc), veillez à bien les refermer dans l'ordre de
l'imbrication : dernier ouvert, premier refermé, comme des
parenthèses.</p>
<h3>Caractères et tailles des caractères</h3>
<h3>Caractères et tailles des caractères</h3>
<h4>Différents styles</h4>
<h4>Différents styles</h4>
<table class="tableau">
@ -362,45 +362,45 @@ certains mots, les titres d'ouvrages en particulier. </td></tr>
<tr><td>\textbf{gras}</td><td><em>Bold Fonts</em></td>
<td><strong>gras</strong>.</td></tr>
<tr><td>\texttt{machine à
écrire}</td><td><em>Typewriter</em></td> <td>machine à
écrire.</td></tr>
<tr><td>\texttt{machine à
écrire}</td><td><em>Typewriter</em></td> <td>machine à
écrire.</td></tr>
<tr><td>\textsl{incliné}</td><td><em>SLanted</em></td><td>
incliné. Ce n'est pas de l'italique, mais en
<tr><td>\textsl{incliné}</td><td><em>SLanted</em></td><td>
incliné. Ce n'est pas de l'italique, mais en
HTML, on ne peut pas s'en rendre compte...</td></tr>
<tr><td>\textsc{Petites majuscules}</td><td><em>Small
Caps</em> </td><td>Petites majuscules, pour les noms d'auteurs ou les
sigles un peu longs. Le HTML ne sait pas afficher ça.</td></tr></table>
sigles un peu longs. Le HTML ne sait pas afficher ça.</td></tr></table>
<p> Voici le même tableau dans le document LaTeX d'origine, qui montre
les différences entre les différents styles :</p>
<p> Voici le même tableau dans le document LaTeX d'origine, qui montre
les différences entre les différents styles :</p>
<div class="illustration"><img src="fontes.jpg" alt="[Différentes fontes]" /></div>
<div class="illustration"><img src="fontes.jpg" alt="[Différentes fontes]" /></div>
<p>Ces différents styles sont compatibles entre eux :</p>
<p>Ces différents styles sont compatibles entre eux :</p>
<pre>
\emph{Dans cet exemple, il y a des mots \textbf{en gras} et des
titres de livres comme \emph{Le retour du concombre masqué} qui sont
mis en évidence}.
titres de livres comme \emph{Le retour du concombre masqué} qui sont
mis en évidence}.
</pre>
<p class="continue">donnera au final le résultat suivant :</p>
<p class="continue">donnera au final le résultat suivant :</p>
<div class="illustration"><img src="div.jpg" alt="[Fontes combinées]" /></div>
<div class="illustration"><img src="div.jpg" alt="[Fontes combinées]" /></div>
<p> <strong>Italique</strong> : ne confondez pas le style penché
<p> <strong>Italique</strong> : ne confondez pas le style penché
(<code>\textsl</code>) et l'italique. D'autres documentations vous
parleront également de <code>\textit</code>, qui au sens propre veut dire
« italique ». Mais nous ne vous conseillons pas de l'utiliser. En
parleront également de <code>\textit</code>, qui au sens propre veut dire
« italique ». Mais nous ne vous conseillons pas de l'utiliser. En
effet, <code>\textit</code> est une commande graphique, qui demande de
l'italique, quel que soit le contexte.</p>
<p> En revanche, <code>\emph</code> est une commande logique, qui demande
de mettre en valeur une portion du texte par rapport à son contexte.
Ainsi, si vous êtes déjà dans un environnement en italique
de mettre en valeur une portion du texte par rapport à son contexte.
Ainsi, si vous êtes déjà dans un environnement en italique
(<code>theorem</code> par exemple), un mot mis en valeur avec
<code>\emph</code> sera droit, et inversement. Cela vous permet
d'imbriquer des mises en valeur, sans risque de vous tromper.</p>
@ -414,21 +414,21 @@ typographie</a>.</p>
<div class="illustration"><img src="tailles.jpg" alt="Tailles de
fontes" /></div>
<p> Ces commandes sont compatibles avec les précédentes.</p>
<p> Ces commandes sont compatibles avec les précédentes.</p>
<div class="attention">
<p>
Attention au piège diabolique qui veut que les commandes de style soient
écrites <em>à l'extérieur</em> des accolades, alors que les commandes de
tailles des fontes s'écrivent <em>à l'intérieur</em> des accolades :
Attention au piège diabolique qui veut que les commandes de style soient
écrites <em>à l'extérieur</em> des accolades, alors que les commandes de
tailles des fontes s'écrivent <em>à l'intérieur</em> des accolades :
</p>
<pre>André \textsc{Malraux}, \emph{La condition humaine}
<pre>André \textsc{Malraux}, \emph{La condition humaine}
{\small Parlez moins fort}</pre>
</div>
<div class="metainformation"> Auteurs : François-Xavier Coudert
(2002), Marie-Lan Nguyen (2000), Émilia Robin (1998).
Dernière modification : le <date value="$Date: 2008-03-22 16:30:43 $" />.
<div class="metainformation"> Auteurs : François-Xavier Coudert
(2002), Marie-Lan Nguyen (2000), Émilia Robin (1998).
Dernière modification : le <date value="$Date: 2008-03-22 16:30:43 $" />.
</div>
</body> </html>

View file

@ -8,42 +8,42 @@
</head>
<body>
<h1>Mathématiques élémentaires</h1>
<h1>Mathématiques élémentaires</h1>
<h2>Taper des maths</h2>
<h3>Dans le texte</h3>
<h4>Méthodes</h4>
<h4>Méthodes</h4>
<p>Pour taper des maths dans le texte, on place le contenu de la formule entre
deux symboles « <code>$</code> ». Par exemple:</p>
deux symboles « <code>$</code> ». Par exemple:</p>
<pre>(...) on y verra la démonstration que $2 + 2 = 4$ (...)</pre>
<pre>(...) on y verra la démonstration que $2 + 2 = 4$ (...)</pre>
<div class="attention">
<p><em>Remarque importante concernant la lisibilité</em>: les
espaces ne comptent pas pour le contenu des mathématiques et
<code>$2+2=4$</code> a rigoureusement le même effet que <code>$2 + 2
= 4$</code>. L'avantage de la seconde écriture est qu'elle est
<p><em>Remarque importante concernant la lisibilité</em>: les
espaces ne comptent pas pour le contenu des mathématiques et
<code>$2+2=4$</code> a rigoureusement le même effet que <code>$2 + 2
= 4$</code>. L'avantage de la seconde écriture est qu'elle est
notablement plus lisible surtout quand les formules deviennent
complexes.</p>
<p><em>Remarques concernant la typographie</em>: il est à noter que
les modes mathématiques peuvent être utiles en d'autres
circonstances que l'écriture de formule mathématiques.</p>
<p><em>Remarques concernant la typographie</em>: il est à noter que
les modes mathématiques peuvent être utiles en d'autres
circonstances que l'écriture de formule mathématiques.</p>
<p>Les variables physiques devront être typographiées de
manière cohérente, on notera donc systématiquement
<code>$T$</code> la température qui aura donc la même
<p>Les variables physiques devront être typographiées de
manière cohérente, on notera donc systématiquement
<code>$T$</code> la température qui aura donc la même
typographie que dans les formules comme <code>$PV = n RT$</code>. Si
l'on souhaite en physique avoir des variables droites (et non
italiques) on peut utiliser la commande <code>$\mathrm{T}$</code> ou
un changement de <code>\mathcode</code>.</p>
<p>Pour obtenir le signe « moins », il faut taper
<code>$-1$</code> (observer la différence entre <code>-</code>
[tiret], <code>$-$</code> [signe « moins »],
<p>Pour obtenir le signe « moins », il faut taper
<code>$-1$</code> (observer la différence entre <code>-</code>
[tiret], <code>$-$</code> [signe « moins »],
<code>--</code> [intervalle comme dans <code>1939--1945</code>] et
<code>---</code> [incise]).</p>
@ -51,93 +51,93 @@ deux symboles
quatre variables <var>l</var>, <var>e</var> (deux fois),
<var>t</var> (deux fois) et <var>r</var>. Pour des noms complexes
dans les formules on pourra utiliser <code>$\mathit{mot}$</code>
pour un mot en italique (observer la différence entre
pour un mot en italique (observer la différence entre
<code>$efficace$</code> et <code>$\mathit{efficace}$</code>) ou
<code>$\mathrm{mot}$</code> pour un mot en police droite ou encore
la commande <code>$\text{...}$</code> du package
<code>amsmath</code>. L'important est d'avoir une démarche cohérente
<code>amsmath</code>. L'important est d'avoir une démarche cohérente
avant tout.</p>
</div>
<p> Une autre possibilité est d'utiliser <code>\(<var>contenu de la
<p> Une autre possibilité est d'utiliser <code>\(<var>contenu de la
formule</var>\)</code> ou encore l'environnement <code>math</code>.
Exemple:
</p>
<pre>(...) d'après certaines personnes \(2 + 2 = 5\) mais d'autres affirment
également que \begin{math}2 - 1 = 0\end{math}. La réalité est tout
<pre>(...) d'après certaines personnes \(2 + 2 = 5\) mais d'autres affirment
également que \begin{math}2 - 1 = 0\end{math}. La réalité est tout
autre (...)</pre>
<h4>Comment empêcher LaTeX de couper mes formules</h4>
<h4>Comment empêcher LaTeX de couper mes formules</h4>
<p>(La)TeX s'autorise à couper une formule dans le texte au niveau
des opérations (comme <code>+</code>, <code>*</code>) et des relations
<p>(La)TeX s'autorise à couper une formule dans le texte au niveau
des opérations (comme <code>+</code>, <code>*</code>) et des relations
(comme <code>=</code>, <code>&lt;</code>). On peut interdire la coupure
à des endroits précis de la formule grâce aux accolades
à des endroits précis de la formule grâce aux accolades
<code>{</code> et <code>}</code>. Tout ce qui <em>dans une formule dans
le texte</em> (cela ne s'applique pas au texte normal, ni aux formules
centrées) et entre accolades ne sera pas coupé. Ainsi dans</p>
centrées) et entre accolades ne sera pas coupé. Ainsi dans</p>
<pre>(...) texte $f(x, y) = {x + y}$ texte (...)</pre>
<p class="continue">la césure ne peut intervenir qu'après le <code>=</code>
(tandis que sans les accolades, la césure aurait tout aussi bien pu
avoir lieu après le <code>+</code>). Cette méthode a le mérite de la
simplicité, mais elle présente également un inconvénient qu'on pourra
négliger à moins d'être perfectionniste : les espaces entre les
accolades ne sont pas capables de s'étirer.</p>
<p class="continue">la césure ne peut intervenir qu'après le <code>=</code>
(tandis que sans les accolades, la césure aurait tout aussi bien pu
avoir lieu après le <code>+</code>). Cette méthode a le mérite de la
simplicité, mais elle présente également un inconvénient qu'on pourra
négliger à moins d'être perfectionniste : les espaces entre les
accolades ne sont pas capables de s'étirer.</p>
<p>Si l'on souhaite empêcher la césure dans toute formule écrite
<p>Si l'on souhaite empêcher la césure dans toute formule écrite
dans un paragraphe (globalement dans tout le document), on peut mettre dans
son préambule (avant le <code>\begin{document}</code>):</p>
son préambule (avant le <code>\begin{document}</code>):</p>
<pre>
\relpenalty=10000
\binoppenalty=10000
</pre>
<p class="continue">En effet, LaTeX ne s'autorise à couper une formule
<p class="continue">En effet, LaTeX ne s'autorise à couper une formule
qu'au niveau des relations (<code>=</code>, <code>&lt;</code>, etc.) ou
des opérations binaires (<code>+</code>, <code>-</code>, etc.). Si une
telle coupure intervient, elle s'accompagne d'une pénalité. Si cette
pénalité est trop forte, le point de coupure sera évité. Les valeurs
présentées juste au-dessus sont des pénalités <em>infinies</em> pour
des opérations binaires (<code>+</code>, <code>-</code>, etc.). Si une
telle coupure intervient, elle s'accompagne d'une pénalité. Si cette
pénalité est trop forte, le point de coupure sera évité. Les valeurs
présentées juste au-dessus sont des pénalités <em>infinies</em> pour
(La)TeX.</p>
<p> Cependant cette méthode est déconseillée, car elle va gêner
LaTeX dans son mécanisme de formation des paragraphes et l'on risque de
<p> Cependant cette méthode est déconseillée, car elle va gêner
LaTeX dans son mécanisme de formation des paragraphes et l'on risque de
nombreux warnings: <code>Underfull hbox</code> et <code>Overfull
hbox</code>. Il convient de se demander si une formule donnée n'aurait
pas plutôt sa place dans un <em>display</em> (formule centrée sur une
ligne à part) qui est le sujet dont nous allons traiter un peu plus bas. </p>
hbox</code>. Il convient de se demander si une formule donnée n'aurait
pas plutôt sa place dans un <em>display</em> (formule centrée sur une
ligne à part) qui est le sujet dont nous allons traiter un peu plus bas. </p>
<h4>Comment dire à LaTeX de couper mes formules</h4>
<h4>Comment dire à LaTeX de couper mes formules</h4>
<p>Si, au contraire, on souhaite que LaTeX puisse couper à un endroit
on rajoutera un \linebreak (qui suggère un point de coupure mais ne le
force pas obligatoirement). Ce point de coupure n'a pas à être accompagné
de relation ou d'opérateur binaires.</p>
<p>Si, au contraire, on souhaite que LaTeX puisse couper à un endroit
on rajoutera un \linebreak (qui suggère un point de coupure mais ne le
force pas obligatoirement). Ce point de coupure n'a pas à être accompagné
de relation ou d'opérateur binaires.</p>
<pre>(...) texte ${coupera pas + coupera pas + coupera pas + coupera pas +
coupera pas + coupera}\linebreak[1]{pas + coupera pas}$ (...)
</pre>
<p class="continue">L'argument optionnel de <code>\linebreak</code>
spécifie l'insistance
de la requête (4, la valeur par défaut, force la coupure) ; ici, la
valeur 1 signifie « si tu peux couper ici c'est plutôt sympa ».</p>
spécifie l'insistance
de la requête (4, la valeur par défaut, force la coupure) ; ici, la
valeur 1 signifie « si tu peux couper ici c'est plutôt sympa ».</p>
<h3>Formule « <em>displayée</em> »</h3>
<h3>Formule « <em>displayée</em> »</h3>
<h4>Centrer une équation</h4>
<h4>Centrer une équation</h4>
<p> Une formule importante ou assez grande peut être mise, centrée,
sur une ligne à part. Pour ce faire, elle doit être tapée
<p> Une formule importante ou assez grande peut être mise, centrée,
sur une ligne à part. Pour ce faire, elle doit être tapée
soit entre <code>\[</code> et <code>\]</code>, soit entre
<code>\begin{displaymath}</code>
et <code>\end{displaymath}</code>. Exemple: </p>
<pre>(...) On a le développement suivant:
<pre>(...) On a le développement suivant:
\[ \forall f\in C^\infty\left(\left[-\frac{T}{2};\frac{T}{2}\right]\right),
\forall t\in \left[-\frac{T}{2};\frac{T}{2}\right],
f(\tau) = \sum_{k = -\infty}^{+\infty} e^{2i\pi\frac{k}{T}t} \times
@ -148,18 +148,18 @@ et <code>\end{displaymath}</code>. Exemple: </p>
et puisque (...)
</pre>
<p class="continue">ce qui donne le résultat suivant</p>
<p class="continue">ce qui donne le résultat suivant</p>
<div class="illustration">
<img src="maths-formule.png" alt="Exemple grande formule" />
</div>
<p>Pour aérer on peut commenter une ligne avant et une ligne avant la
formule (et profiter du fait les espaces sont ignorées en mode
mathématique pour réarranger la formule)... ainsi :</p>
<p>Pour aérer on peut commenter une ligne avant et une ligne avant la
formule (et profiter du fait les espaces sont ignorées en mode
mathématique pour réarranger la formule)... ainsi :</p>
<pre>(...)
On a le développement suivant:
On a le développement suivant:
%%
\[ \forall f \in C^\infty
\left( \left[ -\frac{T}{2} ; \frac{T}{2} \right] \right),
@ -179,37 +179,37 @@ et puisque
(...)
</pre>
<p class="continue">est plus lisible, non? Pensez que la lisibilité
<p class="continue">est plus lisible, non? Pensez que la lisibilité
permettra de corriger
plus facilement des erreurs et rendra le document source moins confus.</p>
<div class="attention"><p>N'omettez pas les commentaires, ne mettez pas de ligne blanche
avant et après les commandes <code>\[</code> et <code>\]</code> (sauf si
vous voulez réellement commencer un nouveau paragraphe avec une formule
displayée &mdash; ce qui n'est pas conseillé par les typographes), les lignes
avant et après les commandes <code>\[</code> et <code>\]</code> (sauf si
vous voulez réellement commencer un nouveau paragraphe avec une formule
displayée &mdash; ce qui n'est pas conseillé par les typographes), les lignes
blanches ne sont pas anodines en LaTeX.</p>
<p>
N'utilisez pas <code>$$...$$</code> qui est une construction de plain TeX
qui génère un espacement incorrect du document et n'honore pas les options
de classe dont nous allons parler plus loin. <strong>Cette forme est à
qui génère un espacement incorrect du document et n'honore pas les options
de classe dont nous allons parler plus loin. <strong>Cette forme est à
bannir</strong>.
</p>
</div>
<h4>Numéroter ses équations</h4>
<h4>Numéroter ses équations</h4>
<p>On peut numéroter les formules. Cela se fait tout naturellement avec
l'environnement <code>equation</code> remplaçant <code>\[...\]</code> (ou
<p>On peut numéroter les formules. Cela se fait tout naturellement avec
l'environnement <code>equation</code> remplaçant <code>\[...\]</code> (ou
<code>\begin{displaymath}...\end{displaymath}</code>). Cet environnement
offre la possiblité d'utiliser les foncionnalités de <code>\label</code>,
offre la possiblité d'utiliser les foncionnalités de <code>\label</code>,
<code>\ref</code> et <code>\pageref</code>.</p>
<!-- Mettre un lien quand il y aura lieu de le faire, vers une page -->
<!-- décrivant les \ref \label et compagnie -->
<!-- décrivant les \ref \label et compagnie -->
<pre>
Einstein a établi la célèbre formule~\ref{eq-Einstein}.
Einstein a établi la célèbre formule~\ref{eq-Einstein}.
%%
\begin{equation}
\label{eq-Einstein}
@ -220,24 +220,24 @@ Einstein a
<p>donne</p>
<div class="illustration">
<img width="500" src="maths-equation.png" alt="Exemple équation" />
<img width="500" src="maths-equation.png" alt="Exemple équation" />
</div>
<h4>Options des classes standard</h4>
<p>On peut passer aux classes standard article, book, report les options
suivantes, qui modifient l'aspect des équations numérotées (c'est-à-dire
entrées avec l'environnement <code>equation</code>) et les formules
displayée simples :</p>
suivantes, qui modifient l'aspect des équations numérotées (c'est-à-dire
entrées avec l'environnement <code>equation</code>) et les formules
displayée simples :</p>
<ul>
<li>L'option <code>leqno</code> affecte seulement l'environnement
<code>equation</code> en mettant le numéro d'équation à gauche ;</li>
<code>equation</code> en mettant le numéro d'équation à gauche ;</li>
<li>l'option <code>fleqn</code> affecte l'environnement
<code>equation</code> et les formules displayées simples, poussant la
formule à gauche ;</li>
<code>equation</code> et les formules displayées simples, poussant la
formule à gauche ;</li>
<li>les deux options sont compatibles entre elles.</li>
@ -279,8 +279,8 @@ options<br /><code>fleqn</code> et<br /><code>leqno</code></td><td>
</table>
<p>Le paramètre qui règle l'indentation de l'option <code>fleqn</code> est
la longueur <code>\mathindent</code> qu'on peut modifier à l'aide de
<p>Le paramètre qui règle l'indentation de l'option <code>fleqn</code> est
la longueur <code>\mathindent</code> qu'on peut modifier à l'aide de
<code>\setlength</code>.</p>
<h4>Ma formule est trop grande</h4>
@ -290,14 +290,14 @@ la longueur <code>\mathindent</code> qu'on peut modifier
<code>\\</code> ou <code>\par</code> ne fonctionnent pas. Utilisez les
environnements du package <code>amsmath</code> (<a
href="#documentation">ou trouver la documentation du package
<code>amsmath</code> ?</a>), <code>multline</code> par exemple.</p>
<code>amsmath</code> ?</a>), <code>multline</code> par exemple.</p>
<!-- Typo : {,} et les ponctuations -->
<h2>Symboles, commandes et cie</h2>
<p><em>Nota Bene</em> : nous omettrons de préciser que les codes précisés
ici sont à taper en mode math.</p>
<p><em>Nota Bene</em> : nous omettrons de préciser que les codes précisés
ici sont à taper en mode math.</p>
<h3>Le commencement</h3>
@ -309,15 +309,15 @@ ici sont
<li>Relations <code>=</code>, <code>\neq</code>, <code>&lt;</code>,
<code>&gt;</code>, <code>\leq</code> et <code>\geq</code></li>
<li>Opérateurs binaires <code>+</code>, <code>-</code>, <code>*</code>
<li>Opérateurs binaires <code>+</code>, <code>-</code>, <code>*</code>
et <code>/</code></li>
<li>Opérateurs unaires (les mêmes, sauf <code>/</code>, selon
<li>Opérateurs unaires (les mêmes, sauf <code>/</code>, selon
le contexte)</li>
<li>Les parenthèses et crochets <code>()</code>, <code>[]</code>,
<li>Les parenthèses et crochets <code>()</code>, <code>[]</code>,
<code>\{\}</code>, <code>\langle\rangle</code> (un peu comme dans
« &lt;...&gt; »), <code>|...|</code> (valeur absolue) et
« &lt;...&gt; »), <code>|...|</code> (valeur absolue) et
<code>\|...\|</code> (norme)</li>
<li>Des symboles <code>\infty</code> pour l'infini</li>
@ -397,18 +397,18 @@ ici sont
</tbody>
</table>
<p>La différence entre <code>\ldots</code> et <code>\cdots</code> est que
ces derniers sont centrés verticalement alors que <code>\ldots</code> sont
<p>La différence entre <code>\ldots</code> et <code>\cdots</code> est que
ces derniers sont centrés verticalement alors que <code>\ldots</code> sont
au niveau de la base de la ligne (ce qui ne se voit pas dans le tableau).
La typographie veut qu'on utilise <code>$a, \ldots, b$</code> et <code>$a +
\cdots + b$</code>, donc selon le type de symboles dont la répétition est
représentée par les points.</p>
\cdots + b$</code>, donc selon le type de symboles dont la répétition est
représentée par les points.</p>
<h3>Accents en mode mathématique</h3>
<h3>Accents en mode mathématique</h3>
<p>Les accents utilisés usuellement dans le texte (<code>\'</code>, etc.),
ne fonctionnent pas en mode mathématique. On peut les obtenir avec des
commandes spécifiques.</p>
<p>Les accents utilisés usuellement dans le texte (<code>\'</code>, etc.),
ne fonctionnent pas en mode mathématique. On peut les obtenir avec des
commandes spécifiques.</p>
<table border="1" cellspacing="0" cellpadding="4">
<caption><b>Accents.</b></caption>
@ -498,10 +498,10 @@ commandes sp
</tbody>
</table>
<h3>Opérateurs binaires</h3>
<h3>Opérateurs binaires</h3>
<table border="1" cellspacing="0" cellpadding="0">
<caption><b>Opérateurs binaires.</b></caption>
<caption><b>Opérateurs binaires.</b></caption>
<tbody>
<tr>
<td>
@ -548,13 +548,13 @@ commandes sp
</tbody>
</table>
<h3>Grands opérateurs</h3>
<h3>Grands opérateurs</h3>
<p>Les « grands opérateurs » sont listés dans la
<p>Les « grands opérateurs » sont listés dans la
table suivante.</p>
<table border="1" cellspacing="0" cellpadding="0">
<caption><b>Grands opérateurs.</b></caption>
<caption><b>Grands opérateurs.</b></caption>
<tbody>
<tr>
<td>
@ -604,9 +604,9 @@ table suivante.</p>
</tbody>
</table>
<p>On notera la différence de rendu de ces opérateurs selon qu'ils sont en
<p>On notera la différence de rendu de ces opérateurs selon qu'ils sont en
mode math (entre <code>$ ... $</code>) ou en mode displaymath (entre
<code>\[ ... \]</code>). Ainsi pour l'opérateur <code>\sum</code>:</p>
<code>\[ ... \]</code>). Ainsi pour l'opérateur <code>\sum</code>:</p>
<table border="1" cellspacing="0" cellpadding="0">
<caption></caption>
@ -685,19 +685,19 @@ mode math (entre <code>$ ... $</code>) ou en mode displaymath (entre
</tbody>
</table>
<p>La négation d'une relation peut être obtenue en la précédant de
<code>\not</code>. Par exemple la relation «n'appartient pas à» peut
s'écrire <code>\not\in</code>.</p>
<p>La négation d'une relation peut être obtenue en la précédant de
<code>\not</code>. Par exemple la relation «n'appartient pas à» peut
s'écrire <code>\not\in</code>.</p>
<h3>Les délimiteurs</h3>
<h3>Les délimiteurs</h3>
<p>Les délimiteurs sont les parenthèses au sens large (accolades, barres de
<p>Les délimiteurs sont les parenthèses au sens large (accolades, barres de
valeur absolue, etc.).</p>
<table border="1" cellspacing="0"
cellpadding="0">
<caption><b>Les
Délimiteurs.</b></caption>
Délimiteurs.</b></caption>
<tbody><tr><td><table>
<tbody>
<tr><td><code>()[]\{\}\langle\rangle</code></td><td>
@ -718,12 +718,12 @@ valeur absolue, etc.).</p>
</tbody></table></td></tr></tbody></table>
<p>Les tailles peuvent être modifiées soit à la main:</p>
<p>Les tailles peuvent être modifiées soit à la main:</p>
<table border="1" cellspacing="0"
cellpadding="0">
<caption><b>Les
tailles de délimiteurs.</b></caption>
tailles de délimiteurs.</b></caption>
<tbody><tr><td><table>
<tbody>
@ -733,20 +733,20 @@ valeur absolue, etc.).</p>
</tbody></table></td></tr></tbody></table>
<p>soit automatiquement à l'aide <code>\left</code> et
<code>\right</code>. On doit avoir <em>systématiquement</em> un
<code>\left</code> pour un <code>\right</code> <em>dans la même
<p>soit automatiquement à l'aide <code>\left</code> et
<code>\right</code>. On doit avoir <em>systématiquement</em> un
<code>\left</code> pour un <code>\right</code> <em>dans la même
formule</em>. La partie de la formule comprise entre <code>\left</code>
et <code>\right</code> définit par sa hauteur la taille des délimiteurs
qui sont précisés ainsi:</p>
et <code>\right</code> définit par sa hauteur la taille des délimiteurs
qui sont précisés ainsi:</p>
<pre>
\left<var>&lt;delim1&gt;</var> <var>&lt;formule&gt;</var> \right<var>&lt;delim2&gt;</var>
</pre>
<p><var>delim1</var> et <var>delim2</var> n'ont aucune raison d'être
identiques. Un «<code>.</code>» est un délimiteur dans un contexte de
<code>\left</code> ou <code>\right</code> et signifie «pas de délimiteur»
<p><var>delim1</var> et <var>delim2</var> n'ont aucune raison d'être
identiques. Un «<code>.</code>» est un délimiteur dans un contexte de
<code>\left</code> ou <code>\right</code> et signifie «pas de délimiteur»
mais permet de focaliser l'action de <code>\left</code> et
<code>\right</code> sur une partie de la formule.
</p>
@ -762,52 +762,52 @@ mais permet de focaliser l'action de <code>\left</code> et
\]
</pre>
<p class="continue">donne le résultat suivant</p>
<p class="continue">donne le résultat suivant</p>
<div class="illustration"><img src="maths-cases.png" alt="cases" />
</div>
<p><em>Nota Bene</em>: l'environnement <code>array</code> est l'équivalent
en mode mathématique de l'environnement <code>tabular</code>. Pour son
utilisation, on se reportera donc à la page concernant
<p><em>Nota Bene</em>: l'environnement <code>array</code> est l'équivalent
en mode mathématique de l'environnement <code>tabular</code>. Pour son
utilisation, on se reportera donc à la page concernant
<code>tabular</code>.</p>
<h3>Les fonctions</h3>
<p>Pour taper la fonction <em>sinus</em>, on ne peut pas utiliser
<code>$sin(x)$</code> dont le résultat est le produit de <var>s</var>,
<code>$sin(x)$</code> dont le résultat est le produit de <var>s</var>,
<var>i</var> et <var>n</var>(<var>x</var>). En outre, traditionnellement
les fonctions sont en police droite. La première idée est d'utiliser
<code>$\mathrm{sin}(x)$</code> qui a la tête voulue. Cependant
les fonctions sont en police droite. La première idée est d'utiliser
<code>$\mathrm{sin}(x)$</code> qui a la tête voulue. Cependant
<code>\mathrm{sin}</code> ne se comporte pas comme une fonction. Comparer:
</p>
<table border="1" cellspacing="0"
cellpadding="0"><caption><b>Les
tailles de délimiteurs.</b></caption><tbody><tr><td><table>
tailles de délimiteurs.</b></caption><tbody><tr><td><table>
<tbody>
<tr><td><code>\[ abc \mathrm{sin}(x)<br />
  \qquad abc\sin(x) \]</code></td><td>
<img src="maths-sinus.png" alt="opérateur sinus" />
  \qquad abc\sin(x) \]</code></td><td>
<img src="maths-sinus.png" alt="opérateur sinus" />
</td></tr>
</tbody></table></td></tr></tbody></table>
<p>Les fonctions prédéfinies sont: <code>\sin</code>, <code>\cos</code>,
<p>Les fonctions prédéfinies sont: <code>\sin</code>, <code>\cos</code>,
<code>\tan</code>, <code>\arcsin</code>, <code>\arccos</code>,
<code>\arctan</code>, <code>\sinh</code>, <code>\cosh</code>,
<code>\tanh</code>, <code>\cot</code>, <code>\log</code>, <code>\ln</code>,
<code>\lim</code>. Pour en définir d'autres utiliser les commandes
<code>\lim</code>. Pour en définir d'autres utiliser les commandes
<code>\DeclareMathOperator</code> et <code>\DeclareMathOperator*</code> du
package <code>amsmath</code>.
</p>
<h3>Espacement</h3>
<p>Il est parfois nécessaire d'ajuster l'espacement d'une formule à la
<p>Il est parfois nécessaire d'ajuster l'espacement d'une formule à la
main ((La)TeX ne peut pas tout faire tout seul). Par exemple, dans une
intégrale, pour séparer la fonction intégrée de «d<var>x</var>». Pour
intégrale, pour séparer la fonction intégrée de «d<var>x</var>». Pour
cela, on dispose de:</p>
<ul>
@ -817,33 +817,33 @@ cela, on dispose de:</p>
<li><code>\ </code>, espace normale (intermot)</li>
<li><code>\quad</code>, cadratin</li>
<li><code>\qquad</code>, double cadratin</li>
<li><code>\!</code>, espace fine négative (exemple pour les intégrales
multiples il peut être nécessaire de bricoler un peu,
<li><code>\!</code>, espace fine négative (exemple pour les intégrales
multiples il peut être nécessaire de bricoler un peu,
<code>\int\!\!\int\!\!\int</code>)</li>
</ul>
<h3><a name="documentation">Aller plus loin</a></h3>
<p>Recherche de symboles. Une liste de (presque) tous les symboles
accessibles avec LaTeX est maintenue à jour sur le <a
accessibles avec LaTeX est maintenue à jour sur le <a
href="http://www.ctan.org/">CTAN</a>, les fichiers <code>symbols-*.*</code>
disponibles à l'adresse <a
disponibles à l'adresse <a
href="http://www.ctan.org/tex-archive/info/symbols/comprehensive/">http://www.ctan.org/tex-archive/info/symbols/comprehensive/</a>.</p>
<p>Pour des maths sophistiquées, il est quasiment indispensable de charger
le package <code>amsmath</code> qui (re)définit de nombreux environnements
très utiles. Cette page web ne peut prétendre couvrir toutes les
ressources disponibles concernant les mathématiques avec LaTeX,
heureusement la documentation de <code>amsmath</code> est très complète et
facile d'accès, nous vous renvoyons vers cette documentation: le fichier
<p>Pour des maths sophistiquées, il est quasiment indispensable de charger
le package <code>amsmath</code> qui (re)définit de nombreux environnements
très utiles. Cette page web ne peut prétendre couvrir toutes les
ressources disponibles concernant les mathématiques avec LaTeX,
heureusement la documentation de <code>amsmath</code> est très complète et
facile d'accès, nous vous renvoyons vers cette documentation: le fichier
<code>amsldoc.dvi</code> que vous pourrez trouver soit sur votre
distribution LaTeX (essayer la commande <code>texdoc amsldoc</code>) soit
sur internet (google avec le mot-clef «amsldoc.dvi» permet de trouver en
sur internet (google avec le mot-clef «amsldoc.dvi» permet de trouver en
une dizaine de secondes).</p>
<div class="metainformation">
Auteur : Josselin Noirel.
Dernière modification le <date value="$Date: 2007-07-17 10:02:51 $" />.
Auteur : Josselin Noirel.
Dernière modification le <date value="$Date: 2007-07-17 10:02:51 $" />.
</div>
</body> </html>

View file

@ -8,15 +8,15 @@
</head>
<body>
<h1>Écrire son propre package</h1>
<h1>Écrire son propre package</h1>
<h2>Pourquoi ?</h2>
<h2>Pourquoi ?</h2>
<p>
Définir son propre package permet :</p>
Définir son propre package permet :</p>
<ul>
<li>de ne pas avoir à toujours insérer toujours les mêmes lignes :
<li>de ne pas avoir à toujours insérer toujours les mêmes lignes :
<pre>
\usepackage[francais]{babel}
\usepackage[latin1]{inputenc}
@ -26,20 +26,20 @@ D
\usepackage{amssymb}
</pre>
</li>
<li>de ne pas avoir à redéfinir toutes ses macros et aussi de gagner
du temps à force de s'habituer à ses commandes persos ;</li>
<li>d'avoir des documents cohérents entre eux.</li>
<li>de ne pas avoir à redéfinir toutes ses macros et aussi de gagner
du temps à force de s'habituer à ses commandes persos ;</li>
<li>d'avoir des documents cohérents entre eux.</li>
</ul>
<h2>Principe</h2>
<p>Nous allons créer un fichier « <code>mon_package.sty</code> » (ou
tout autre nom qui ne crée de doublon) qui comportera les instructions
qui permettront :</p>
<p>Nous allons créer un fichier « <code>mon_package.sty</code> » (ou
tout autre nom qui ne crée de doublon) qui comportera les instructions
qui permettront :</p>
<ul>
<li>de charger nos extensions préférées ;</li>
<li>de définir nos commandes préférées ;</li>
<li>de charger nos extensions préférées ;</li>
<li>de définir nos commandes préférées ;</li>
<li>de passer des options lors du chargement du package qui lui
donneront un comportement particulier.</li>
</ul>
@ -49,19 +49,19 @@ donneront un comportement particulier.</li>
<h3>Listing</h3>
<pre>
<b>%% Informations générales</b>
<b>%% Informations générales</b>
\NeedsTeXFormat{LaTeX2e}[1999/01/01]
\ProvidesPackage{mon_package}[2003/01/01]
<b>%% Chargement des extensions</b>
\RequirePackage[dvips]{graphicx}
<b>%% Déclaration des options</b>
<b>%% Déclaration des options</b>
\DeclareOption{option}{...}
\DeclareOption*{...}
\ProcessOptions
<b>%% Définition des commandes</b>
<b>%% Définition des commandes</b>
\newcommand{\blabla}{Super commande}
<b>%% Fin du package</b>
@ -71,44 +71,44 @@ donneront un comportement particulier.</li>
<h3>Explications</h3>
<ul>
<li><code><b>\NeedsTeXFormat{&lt;formar&gt;}[&lt;version&gt;]</b></code> :
<li><code><b>\NeedsTeXFormat{&lt;formar&gt;}[&lt;version&gt;]</b></code> :
informe TeX du format (LaTeX2e, donc refus de LaTeX2.09, plain TeX,
eplain TeX, AMS-TeX, etc.) nécessaire pour l'utilisation du
package, on peut spécifier un argument optionnel (entre crochets)
permettant d'utiliser des versions récentes dudit format ;</li>
<li><code><b>\ProvidesPackage{&lt;package&gt;}[&lt;version&gt;]</b></code> :
le package s'identifie (là encore on peut donner en argument
optionnel une date de version) ;</li>
<li><code><b>\RequirePackage[&lt;options&gt;]{&lt;package&gt;}</b></code> :
équivalent de <code>\usepackage</code> pour l'écriture d'un package
eplain TeX, AMS-TeX, etc.) nécessaire pour l'utilisation du
package, on peut spécifier un argument optionnel (entre crochets)
permettant d'utiliser des versions récentes dudit format ;</li>
<li><code><b>\ProvidesPackage{&lt;package&gt;}[&lt;version&gt;]</b></code> :
le package s'identifie (là encore on peut donner en argument
optionnel une date de version) ;</li>
<li><code><b>\RequirePackage[&lt;options&gt;]{&lt;package&gt;}</b></code> :
équivalent de <code>\usepackage</code> pour l'écriture d'un package
ou d'une classe, on peut passer des options au package comme
habituellement ;</li>
<li><code><b>\DeclareOption{&lt;option&gt;}{&lt;action&gt;}</b></code> :
déclare une option qui peut être passée lors de l'appel du
package, lorsque l'option <code>&lt;option&gt;</code> est passée
<code>&lt;action&gt;</code> est exécutée ;</li>
<li><code><b>\DeclareOption*{&lt;action&gt;}</b></code> :
comportement adopté par le package quand il est confronté à une
option passée qui n'est pas déclarée ;</li>
<li><code><b>\ProcessOptions</b></code> : exécute le code des options
passées, si cette commande n'existe pas dans le package les options
habituellement ;</li>
<li><code><b>\DeclareOption{&lt;option&gt;}{&lt;action&gt;}</b></code> :
déclare une option qui peut être passée lors de l'appel du
package, lorsque l'option <code>&lt;option&gt;</code> est passée
<code>&lt;action&gt;</code> est exécutée ;</li>
<li><code><b>\DeclareOption*{&lt;action&gt;}</b></code> :
comportement adopté par le package quand il est confronté à une
option passée qui n'est pas déclarée ;</li>
<li><code><b>\ProcessOptions</b></code> : exécute le code des options
passées, si cette commande n'existe pas dans le package les options
seront sans effet (bien prendre conscience que les declarations
n'exécutent pas de code!) ;</li>
<li><code><b>\newcommand{\commande}{&lt;code&gt;}</b></code> :
définition d'une nouvelle commande (voir la page sur les
<a href="&url.tuteurs;logiciels/latex/macros.html">macros</a>) ;</li>
<li><code><b>\endinput</b></code> : fin du package.</li> </ul>
n'exécutent pas de code!) ;</li>
<li><code><b>\newcommand{\commande}{&lt;code&gt;}</b></code> :
définition d'une nouvelle commande (voir la page sur les
<a href="&url.tuteurs;logiciels/latex/macros.html">macros</a>) ;</li>
<li><code><b>\endinput</b></code> : fin du package.</li> </ul>
<h2>Exemple simple</h2>
<p>Supposons qu'il m'arrive d'écrire des documents sans algorithmes et
<p>Supposons qu'il m'arrive d'écrire des documents sans algorithmes et
d'autres avec. Lorsque j'en ai besoin je charge les packages
<code>algorithm</code> et <code>algorithmic</code> qui permettent de
mettre en forme des algorithmes, d'en faire une « liste des
algorithmes » et de les rendre flottants (voir la page...). Je peux
encore utiliser mon propre package pour gérer ces cas, il suffit
d'introduire une option « algo » quand on a besoin des fonctionnalités
idoines. Voilà comment :</p>
mettre en forme des algorithmes, d'en faire une « liste des
algorithmes » et de les rendre flottants (voir la page...). Je peux
encore utiliser mon propre package pour gérer ces cas, il suffit
d'introduire une option « algo » quand on a besoin des fonctionnalités
idoines. Voilà comment :</p>
<pre>
<b>%% (...) \NeedsTeXFormat et \ProvidesPackage</b>
@ -127,12 +127,12 @@ idoines. Voil
</pre>
<p>
La commande <code>\newif\if<i>quelquechose</i></code> crée trois
commandes :</p>
La commande <code>\newif\if<i>quelquechose</i></code> crée trois
commandes :</p>
<ul>
<li><code><b>\if<i>quelquechose</i></b></code>  à utiliser ainsi (la
partie « else » est facultative)
<li><code><b>\if<i>quelquechose</i></b></code>  à utiliser ainsi (la
partie « else » est facultative)
<pre>
\if<i>quelquechose</i>
<i>Code si oui</i>
@ -140,22 +140,22 @@ partie
<i>Code si non</i>
\fi
</pre></li>
<li><code><b>\<i>quelquechose</i>true</b></code> 
<code>\if<i>quelquechose</i></code>  devient
équivalent à <b>if true</b> ;</li>
<li><code><b>\<i>quelquechose</i>false</b></code> 
<code>\if<i>quelquechose</i></code>  devient
équivalent à <b>if false</b>.</li>
<li><code><b>\<i>quelquechose</i>true</b></code> 
<code>\if<i>quelquechose</i></code>  devient
équivalent à <b>if true</b> ;</li>
<li><code><b>\<i>quelquechose</i>false</b></code> 
<code>\if<i>quelquechose</i></code>  devient
équivalent à <b>if false</b>.</li>
</ul>
<p>Dans notre exemple on crée une instruction conditionnelle
<code>\if@algo</code> qui est équivalente à <b>if false</b> (à cause
de <code>\@algofalse</code>). Cependant, si l'option « algo » est
passée au package, on exécute <code>\@algotrue</code> qui a pour effet
de rendre <code>\if@algo</code> équivalent à <b>if true</b>. Les
packages relatifs à l'algo (et les commandes définies dans le bloc)
seront chargés si et seulement si l'option « algo » aura été passée dans
le fichier <code>.tex</code> :</p>
<p>Dans notre exemple on crée une instruction conditionnelle
<code>\if@algo</code> qui est équivalente à <b>if false</b> (à cause
de <code>\@algofalse</code>). Cependant, si l'option « algo » est
passée au package, on exécute <code>\@algotrue</code> qui a pour effet
de rendre <code>\if@algo</code> équivalent à <b>if true</b>. Les
packages relatifs à l'algo (et les commandes définies dans le bloc)
seront chargés si et seulement si l'option « algo » aura été passée dans
le fichier <code>.tex</code> :</p>
<ul>
<li>soit au niveau du <code>\usepackage</code>
@ -179,15 +179,15 @@ le fichier <code>.tex</code>
\end{document}
</pre></li></ul>
<p><b>Remarque :</b> notons que dans les packages « @ » est une lettre
(contrairement aux document <code>.tex</code> où « @ » est un symbole)
et que donc on peut écrire des noms de commandes avec « @ ». D'où les
noms <code>\makeatletter</code> et <code>\makeatother</code> utilisées
<p><b>Remarque :</b> notons que dans les packages « @ » est une lettre
(contrairement aux document <code>.tex</code> où « @ » est un symbole)
et que donc on peut écrire des noms de commandes avec « @ ». D'où les
noms <code>\makeatletter</code> et <code>\makeatother</code> utilisées
dans des cas un peu exceptionnels. Dans un fichier <code>.tex</code>,
« <code>\if@algo</code> » aurait été interprétée comme la commande
<code>\if</code> suivie de « @algo ».</p>
« <code>\if@algo</code> » aurait été interprétée comme la commande
<code>\if</code> suivie de « @algo ».</p>
<h2>Exemple moins simple, plus réaliste</h2>
<h2>Exemple moins simple, plus réaliste</h2>
<h3>Listing</h3>
@ -223,9 +223,9 @@ dans des cas un peu exceptionnels. Dans un fichier <code>.tex</code>,
<h3>Explications</h3>
<p>On déclare comme précédemment deux options « normales » :
<code>algo</code> et <code>listings</code> mais quand on est face à
une option inconnue on la passe à babel, ainsi :</p>
<p>On déclare comme précédemment deux options « normales » :
<code>algo</code> et <code>listings</code> mais quand on est face à
une option inconnue on la passe à babel, ainsi :</p>
<pre>
\documentclass[a4paper]{article}
@ -238,21 +238,21 @@ une option inconnue on la passe
</pre>
<p>
sera équivalent à charger les modules d'algorithmiques, les modules de
d'écriture de programmes, et babel avec les options
sera équivalent à charger les modules d'algorithmiques, les modules de
d'écriture de programmes, et babel avec les options
<code>english</code>, <code>greek</code> et <code>francais</code>
(dans cet ordre). La commande <code>\PassOptionsToPackage<!--
-->{&lt;options&gt;}{&lt;package&gt;}</code> ne charge pas le package
<code>&lt;package&gt;</code>, elle rajoute les
<code>&lt;options&gt;</code> à la liste d'options qui seront passées
<code>&lt;options&gt;</code> à la liste d'options qui seront passées
au package <code>&lt;package&gt;</code> lors de l'appel
<code>\RequirePackage{&lt;package&gt;}</code>.
</p>
<p>
<b>Remarque :</b> les options déclarées avec
<code>\DeclareOption{...}{...}</code> peuvent être passées comme
<em>options globales</em> du document comme dans :
<b>Remarque :</b> les options déclarées avec
<code>\DeclareOption{...}{...}</code> peuvent être passées comme
<em>options globales</em> du document comme dans :
</p>
<pre>
@ -266,47 +266,47 @@ au package <code>&lt;package&gt;</code> lors de l'appel
</pre>
<p>
En revanche les langages doivent être passés au package lui-même
(notamment babel n'a pas tenté de trouver un langage nommé « a4paper »
ce qui aurait abouti à une erreur).
En revanche les langages doivent être passés au package lui-même
(notamment babel n'a pas tenté de trouver un langage nommé « a4paper »
ce qui aurait abouti à une erreur).
</p>
<h3>Limitations</h3>
<p>D'une part on ne peut pas utiliser ce mécanisme pour plusieurs
packages auquel on passerait les options non déclarées avec
<p>D'une part on ne peut pas utiliser ce mécanisme pour plusieurs
packages auquel on passerait les options non déclarées avec
<code>\DeclareOption{...}{...}</code> et d'autre part on ne peut pas
s'abstenir de passer au moins une option de langage au package.</p>
<h2>Exemple (très) compliqué</h2>
<h2>Exemple (très) compliqué</h2>
<h3>Prérequis</h3>
<h3>Prérequis</h3>
<ul>
<li>Avoir lu la doc du package <code>keyval</code> de David Carliste (ou
peut-être prochainement une page tuteurs à ce sujet) ;</li>
peut-être prochainement une page tuteurs à ce sujet) ;</li>
<li> <code><b>\@ifundefined{commande}<!--
-->{&lt;then&gt;}{&lt;else&gt;}</b></code> : si
<code>\commande</code> (avec le backslash contrairement à l'argument
de <code>\@ifundefined</code>) n'est pas définie alors exécute
<code>&lt;then&gt;</code> sinon exécute
<code>&lt;else&gt;</code> (LaTeX interne) ;</li>
-->{&lt;then&gt;}{&lt;else&gt;}</b></code> : si
<code>\commande</code> (avec le backslash contrairement à l'argument
de <code>\@ifundefined</code>) n'est pas définie alors exécute
<code>&lt;then&gt;</code> sinon exécute
<code>&lt;else&gt;</code> (LaTeX interne) ;</li>
<li> <code><b>\PackageWarning{&lt;package&gt;}<!--
-->{&lt;texte&gt;}</b></code> : produit un warning lors de la
compilation (par opposition à <code>\PackageError{...}{...}</code>) ;</li>
-->{&lt;texte&gt;}</b></code> : produit un warning lors de la
compilation (par opposition à <code>\PackageError{...}{...}</code>) ;</li>
<li> <code><b>\CurrentOption</b></code> : l'option en cours de
traitement ;</li>
<li> <code><b>\CurrentOption</b></code> : l'option en cours de
traitement ;</li>
<li>le reste c'est du TeX, donc il ne vaut mieux pas s'attarder
dessus.</li>
</ul>
<h3>Listing général</h3>
<h3>Listing général</h3>
<pre>
\NeedsTeXFormat{LaTeX2e}[1999/01/01]
@ -314,7 +314,7 @@ s'abstenir de passer au moins une option de langage au package.</p>
\RequirePackage{keyval}
<b>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Pour gérer les deux types d'options : %
% Pour gérer les deux types d'options : %
% 1. les options normales (\DeclareOption{...}{...}) %
% 2. les options type key-val option=value (\define@key{...}{...}{...}) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</b>
@ -351,14 +351,14 @@ s'abstenir de passer au moins une option de langage au package.</p>
% Fin du bloc %
%%%%%%%%%%%%%%%</b>
<b>%% Options «normales»</b>
<b>%% Options «normales»</b>
\DeclareOption{foo}{&lt;action foo&gt;}
\DeclareOption{bar}{&lt;action bar&gt;}
<b>%% Options passées sous forme key=val</b>
\define@key{mypack}{&lt;key1&gt;}{&lt;action 1&gt; dépendant de #1}
<b>%% Options passées sous forme key=val</b>
\define@key{mypack}{&lt;key1&gt;}{&lt;action 1&gt; dépendant de #1}
\define@key{mypack}{&lt;key2&gt;}[&lt;default&gt;]<!--
-->{&lt;action 2&gt; dépendant de #1}
-->{&lt;action 2&gt; dépendant de #1}
\ProcessOptions
\ProcessUnusedOptions{mypack}
@ -381,12 +381,12 @@ s'abstenir de passer au moins une option de langage au package.</p>
</pre>
<p>l'option <code>foo</code> va agir comme dans les exemples simples,
<code>key1=value1</code> va exécuter le code <code>&lt;action 1&gt;</code>
<code>key1=value1</code> va exécuter le code <code>&lt;action 1&gt;</code>
en utilisant <code>value1</code> en lieu et place de <code>#1</code>. Idem
pour <code>key2=value2</code> sauf que on peut omettre la partie
« <code>=value2</code> » auquel cas <code>&lt;action 2&gt;</code> est exécuté
en utilisant <code>&lt;default&gt;</code> à la place de <code>#1</code>.
Par exemple si <code>mon_package.sty</code> contient :</p>
« <code>=value2</code> » auquel cas <code>&lt;action 2&gt;</code> est exécuté
en utilisant <code>&lt;default&gt;</code> à la place de <code>#1</code>.
Par exemple si <code>mon_package.sty</code> contient :</p>
<pre>
<b>%% (...) </b>
@ -422,13 +422,13 @@ Par exemple si <code>mon_package.sty</code> contient
\end{document}
</pre>
<p>ou bien sûr sans option du tout (auquel cas le code
<code>\setcounter</code> ne sera pas exécuté et donc le compteur
<code>nombre</code> vaudra zéro).</p>
<p>ou bien sûr sans option du tout (auquel cas le code
<code>\setcounter</code> ne sera pas exécuté et donc le compteur
<code>nombre</code> vaudra zéro).</p>
<h3>Exemple d'application</h3>
<p>Si <code>mon_package</code> contient :</p>
<p>Si <code>mon_package</code> contient :</p>
<pre>
\newcommand{\pack@languages}{francais}
@ -447,13 +447,13 @@ Par exemple si <code>mon_package.sty</code> contient
.
\paragraph{Remarque}
Noter les accolades pour que l'option \option{francais} ne soit pas
passée comme une option à part.
passée comme une option à part.
.
.
\end{document}
</pre>
<p>ou encore ainsi :</p>
<p>ou encore ainsi :</p>
<pre>
\documentclass[a4paper]{article}
@ -461,56 +461,56 @@ pass
\newcommand{\option}{\texttt}
\begin{document}
.
Babel chargé avec l'option \option{francais}.
Babel chargé avec l'option \option{francais}.
.
.
\end{document}
</pre>
<p>
Là encore les options de langages ne pourront pas être spécifiées
Là encore les options de langages ne pourront pas être spécifiées
globalement avec la commande <code>\documentclass</code>. (La raison en est
que les options globales qui ne correspondent pas à des options déclarées
avec <code>\DeclareOption</code> ne sont pas transmises à
que les options globales qui ne correspondent pas à des options déclarées
avec <code>\DeclareOption</code> ne sont pas transmises à
<code>\DeclareOption*</code>.)
</p>
<h2>Utiliser son package</h2>
<p>Le package <code>mon_package</code> doit pouvoir être trouvé par LaTeX,
pour cela on peut :</p>
<p>Le package <code>mon_package</code> doit pouvoir être trouvé par LaTeX,
pour cela on peut :</p>
<ul>
<li>mettre le fichier <code>mon_package</code> dans le même répertoire que
les fichier <code>.tex</code> qui l'utilisent ;</li>
<li>mettre le fichier dans un répertoire de son compte (par exemple
<code>~/texmf/tex/latex/perso/</code> et créer la variable d'environnement
<li>mettre le fichier <code>mon_package</code> dans le même répertoire que
les fichier <code>.tex</code> qui l'utilisent ;</li>
<li>mettre le fichier dans un répertoire de son compte (par exemple
<code>~/texmf/tex/latex/perso/</code> et créer la variable d'environnement
<code>export TEXINPUTS=$HOME/texmf//:</code> (certaines distributions
permettent de créer un fichier ls-R grâce à la commande
<code>texhash</code>) ;</li>
permettent de créer un fichier ls-R grâce à la commande
<code>texhash</code>) ;</li>
<li>si l'on est root sur sa machine on peut le mettre dans l'arborescence
texmf classique (mais ça ne facilite pas des upgrades des distributions
LaTeX) et exécuter la commande <code>mktexlsr</code>.</li>
texmf classique (mais ça ne facilite pas des upgrades des distributions
LaTeX) et exécuter la commande <code>mktexlsr</code>.</li>
</ul>
<h2>Documentation et aide</h2>
<p>Pour une documentation concernant l'écriture de classe et de
packages : <code>clsguide</code> (à noter également les documentations
<code>fntguide</code>, <code>usrguide</code>)  pour une documentation
générale sur LaTeX : <code>source2e</code> ou plus soft <em>The not so
short introduction to LaTeX</em> (disponible en français !).</p>
<p>Pour une documentation concernant l'écriture de classe et de
packages : <code>clsguide</code> (à noter également les documentations
<code>fntguide</code>, <code>usrguide</code>)  pour une documentation
générale sur LaTeX : <code>source2e</code> ou plus soft <em>The not so
short introduction to LaTeX</em> (disponible en français !).</p>
<p>Sur internet : <a href="http://www.ctan.org/">CTAN</a>, les
<p>Sur internet : <a href="http://www.ctan.org/">CTAN</a>, les
newsgroup <code>fr.comp.text.tex</code> et <code>comp.text.tex</code> sur
lesquels on peut faire une recherche <em>via</em> Google. Par
exemple  comment réaliser le symbole « 1 » avec une double
barre pour désigner une fonction indicatrice ? La réponse se trouve
sur Google, groupes et taper « <code>group:fr.comp.text.tex 1 barre
indicatrice</code> ». C'est une source d'informations inépuisable.
exemple  comment réaliser le symbole « 1 » avec une double
barre pour désigner une fonction indicatrice ? La réponse se trouve
sur Google, groupes et taper « <code>group:fr.comp.text.tex 1 barre
indicatrice</code> ». C'est une source d'informations inépuisable.
Sinon les tuteurs ou forum <code>ens.forum.informatique.tex</code>.</p>
<div class="metainformation"> Auteur : Josselin Noirel. Dernière
<div class="metainformation"> Auteur : Josselin Noirel. Dernière
modification le <date value="$Date: 2007-07-17 10:02:52 $"/>.
</div>

View file

@ -12,29 +12,29 @@
<h1>Changer de police en LaTeX</h1>
<p class="resume">
LaTeX est un système de mise en page complet, et à ce titre, offre la
possibilité de changer de police de caractère. Néanmoins, les
changements de polices, dans l'esprit de LaTeX, doivent êtrre
incorporés dans des packages définissant un style de
présentation. C'est un peu pour ça que le changement de police est un
peu complexe. Il est néanmoins abordable, comme nous allons le voir.
LaTeX est un système de mise en page complet, et à ce titre, offre la
possibilité de changer de police de caractère. Néanmoins, les
changements de polices, dans l'esprit de LaTeX, doivent êtrre
incorporés dans des packages définissant un style de
présentation. C'est un peu pour ça que le changement de police est un
peu complexe. Il est néanmoins abordable, comme nous allons le voir.
</p>
<h2><a name="definition">Définition d'une police</a></h2>
<h2><a name="definition">Définition d'une police</a></h2>
<p>
Pour caractériser une police, LaTeX définit quatre atributs:
Pour caractériser une police, LaTeX définit quatre atributs:
</p>
<ul>
<li>la <em>famille</em> est celui qui définit le plus l'apparence de
la police, tous les autres ne font que définir des variantes autour
d'un même thême</li>
<li>la <em>famille</em> est celui qui définit le plus l'apparence de
la police, tous les autres ne font que définir des variantes autour
d'un même thême</li>
<li>la <em>collection</em> indique tout simplement le poids de la
police, c'est à dire, en gros, gras ou pas</li>
<li>la <em>forme</em> définit une variante dans, justement, la forme
police, c'est à dire, en gros, gras ou pas</li>
<li>la <em>forme</em> définit une variante dans, justement, la forme
globale de la police, comme l'italique par exemple</li>
<li>le <em>codage</em> n'a qu'une influence secondaire, à ceci près
<li>le <em>codage</em> n'a qu'une influence secondaire, à ceci près
que certaines polices ne sont disponibles que dans certains
codages</li>
</ul>
@ -42,10 +42,10 @@ codages</li>
<p>
Normalement, LaTeX est intelligent, et est capable de changer un de
ces attributs en conservant les autres constants. Il faut cependant
faire attention: si une police donnée (combinaison de tous les
faire attention: si une police donnée (combinaison de tous les
attributs) n'est pas disponible, il risque de faire n'importe-quoi, en
particulier revenir à la police par défaut. Notons cependant que ceci
est signalé par un message assez claire lors de la compilation:
particulier revenir à la police par défaut. Notons cependant que ceci
est signalé par un message assez claire lors de la compilation:
</p>
<pre>
@ -56,13 +56,13 @@ LaTeX Font Warning: Font shape `OT1/cmr/bx/sc' undefined
<p>
Notons au passage que LaTeX utilise la notation
<em>codage</em>/<em>famille</em>/<em>collection</em>/<em>forme</em>
pour décrire une police dans ses messages.
pour décrire une police dans ses messages.
</p>
<h2><a name="commandes">Commandes</a></h2>
<p>
Les commandes pour changer de police sont très simples:
Les commandes pour changer de police sont très simples:
</p>
<table class="tableau">
@ -84,7 +84,7 @@ Les commandes pour changer de police sont tr
</tr>
<tr>
<td><code>\selectfont</code></td>
<td>active la police définie</td>
<td>active la police définie</td>
</tr>
<tr>
<td><code>\usefont{<em>code</em>}{<em>fam.</em>}{<em>col.</em>}{<em>forme</em>}</code></td>
@ -93,21 +93,21 @@ Les commandes pour changer de police sont tr
</table>
<p>
Les quatre premières commandes, <code>\fontencoding</code>,
Les quatre premières commandes, <code>\fontencoding</code>,
<code>\fontfamily</code>, <code>\fontseries</code> et
<code>\fontshape</code>, préparent un changement de police, qui est
entériné par <code>\selectfont</code>. L'utilisation normale est de
mettre une ou plusieurs des premières, suivie(s) de
<code>\fontshape</code>, préparent un changement de police, qui est
entériné par <code>\selectfont</code>. L'utilisation normale est de
mettre une ou plusieurs des premières, suivie(s) de
<code>\selectfont</code>. La commande <code>\usefont</code> est un
raccourci pour définir les quatre d'un coup et activer le changement.
raccourci pour définir les quatre d'un coup et activer le changement.
</p>
<p>
La police est changé pour tout le reste du texte, jusqu'à la fin du
groupe courrant (rappelons qu'un groupe est délimité par un couple
La police est changé pour tout le reste du texte, jusqu'à la fin du
groupe courrant (rappelons qu'un groupe est délimité par un couple
d'accolades ou une structure
<code>\begin</code>...<code>\end</code>. En ce sens, ces fonctions
fonctionnent de la même manière que les commandes obsolètes
fonctionnent de la même manière que les commandes obsolètes
<code>\it</code>, <code>\bf</code>, etc...
</p>
@ -115,19 +115,19 @@ fonctionnent de la m
<p>
Voici la <a href="polices_liste.html">table de toutes les polices</a>
présentes dans l'installation ici. Différentes distributions de LaTeX
présentes dans l'installation ici. Différentes distributions de LaTeX
peuvent en avoir quelques-unes en plus ou en moins parmi les plus
exotiques. Ce ne sont pas toutes des polices convenables pour écriré:
exotiques. Ce ne sont pas toutes des polices convenables pour écriré:
certaines contiennent des symboles, ou d'autres un jeu restreint de
caractères.
caractères.
</p>
<p>
Toutes les colonnes (sauf la première) indiquent les noms techniques à
fournir aux différentes commandes LaTeX. Pour le codage, dans le cas
d'une police destinée à écrire du texte, il vaut mieux choisir le
Toutes les colonnes (sauf la première) indiquent les noms techniques à
fournir aux différentes commandes LaTeX. Pour le codage, dans le cas
d'une police destinée à écrire du texte, il vaut mieux choisir le
codage <code>T1</code>. Les collections et les formes les plus
courrantes ont des dénominations standards:
courrantes ont des dénominations standards:
</p>
<ul>
@ -135,14 +135,14 @@ courrantes ont des d
<dl>
<dt>m</dt><dd>moyen (medium)</dd>
<dt>b</dt><dd>gras (bold)</dd>
<dt>bx</dt><dd>très gras (extra bold)</dd>
<dt>l</dt><dd>léger (light)</dd>
<dt>bx</dt><dd>très gras (extra bold)</dd>
<dt>l</dt><dd>léger (light)</dd>
</dl>
</li>
<li>Formes:
<dl>
<dt>n</dt><dd>normal</dd>
<dt>sl</dt><dd>penché (slanted)</dd>
<dt>sl</dt><dd>penché (slanted)</dd>
<dt>it</dt><dd>italique</dd>
<dt>sc</dt><dd>petites majuscules (small caps)</dd>
</dl>
@ -150,8 +150,8 @@ courrantes ont des d
</ul>
<p>
Par défaut, LaTeX utilise les familles <em>Computer Modern</em>,
celles dont le nom commence par <code>cm</code>. Les différentes
Par défaut, LaTeX utilise les familles <em>Computer Modern</em>,
celles dont le nom commence par <code>cm</code>. Les différentes
versions qui en existent correspondent aux commandes LaTeX qui
changent radicalement l'apparance du texte: <code>\textsf</code> et
<code>\texttt</code>.
@ -165,7 +165,7 @@ Voici un bout de code LaTeX qui vous permettra d'explorer toutes les polices:
<pre>
\documentclass{article}
% La commande montre prend comme arguments les paramètres d'une police,
% La commande montre prend comme arguments les paramètres d'une police,
% et en affiche un exemple.
\newcommand\montrer[4]{Police #1/#2/#3/#4:
{\usefont{#1}{#2}{#3}{#4}ABCDEF abcdef 123456 ,;:!}\par}
@ -184,11 +184,11 @@ Voici un bout de code LaTeX qui vous permettra d'explorer toutes les polices:
<h2><a name="propre">Utilisation propre</a></h2>
<p>
Il ne faut pas oublier que la philosophie de LaTeX est de séparer la
présentation et le sens. Changer de police peut certes apporter
beaucoup, mais ça risque de poser également des problèmes, au moins
Il ne faut pas oublier que la philosophie de LaTeX est de séparer la
présentation et le sens. Changer de police peut certes apporter
beaucoup, mais ça risque de poser également des problèmes, au moins
dans le cas d'un document long. Pour l'utiliser efficacement et
facilement, le mieux est de créer une commande ou un environnement.
facilement, le mieux est de créer une commande ou un environnement.
</p>
<pre>
@ -196,11 +196,11 @@ facilement, le mieux est de cr
</pre>
<p>
Ceci permet de définir la commande <code><em>\nom</em></code> change
la police en <em>Helvetica</em> pour son argument. On peut bien sûr
Ceci permet de définir la commande <code><em>\nom</em></code> change
la police en <em>Helvetica</em> pour son argument. On peut bien sûr
remplacer <code>\fontfamily{phv}</code> par autre chose. Notez les
doubles accolades: les premières délimitent la définition, tandis que
les secondes empêchent le changement de police de s'échapper.
doubles accolades: les premières délimitent la définition, tandis que
les secondes empêchent le changement de police de s'échapper.
</p>
<pre>
@ -209,40 +209,40 @@ les secondes emp
</pre>
<p>
Ceci définit l'environnement <code><em>nom</em></code> (donc délimité
Ceci définit l'environnement <code><em>nom</em></code> (donc délimité
par <code>\begin{<em>nom</em>}</code> et
<code>\end{<em>nom</em>}</code>), à l'intérieur duquel le texte est en
<code>\end{<em>nom</em>}</code>), à l'intérieur duquel le texte est en
Helvetica.
</p>
<p>
On peut (et même on devrait) incorporer les changements de police à
des commandes plus spécifiques, ayant trait au sens du texte, comme
On peut (et même on devrait) incorporer les changements de police à
des commandes plus spécifiques, ayant trait au sens du texte, comme
une commande <code>\titre</code>:
</p>
<pre>
% Les titres sont en Times penché: \titre{The \TeX book}
% Les titres sont en Times penché: \titre{The \TeX book}
\newcommand\titre[1]{{\fontfamily{ptm}\fontshape{sl}\selectfont #1}}
</pre>
<p>
Enfin, si le but est de changer la police pour tout le document, le
mieux est de redéfinir les polices par défaut de LaTeX. Si on regarde
dans les fichiers source de LaTeX, on trouve une série de lignes qui
mieux est de redéfinir les polices par défaut de LaTeX. Si on regarde
dans les fichiers source de LaTeX, on trouve une série de lignes qui
contiennent ceci:
</p>
<pre>
\newcommand\rmdefault{cmr} % famille à utiliser pour du Roman
\newcommand\sfdefault{cmss} % famille à utiliser pour du Sans Serif
\newcommand\ttdefault{cmtt} % famille à utiliser pour du «machine à écrire»
\newcommand\bfdefault{bx} % collection à utiliser pour du gras
\newcommand\mddefault{m} % collection à utiliser pour du moyen
\newcommand\itdefault{it} % forme à utiliser pour de l'italique
\newcommand\sldefault{sl} % forme à utiliser pour du penché
\newcommand\scdefault{sc} % forme à utiliser pour de petites majuscules
\newcommand\updefault{n} % forme à utiliser pour du droit
\newcommand\rmdefault{cmr} % famille à utiliser pour du Roman
\newcommand\sfdefault{cmss} % famille à utiliser pour du Sans Serif
\newcommand\ttdefault{cmtt} % famille à utiliser pour du «machine à écrire»
\newcommand\bfdefault{bx} % collection à utiliser pour du gras
\newcommand\mddefault{m} % collection à utiliser pour du moyen
\newcommand\itdefault{it} % forme à utiliser pour de l'italique
\newcommand\sldefault{sl} % forme à utiliser pour du penché
\newcommand\scdefault{sc} % forme à utiliser pour de petites majuscules
\newcommand\updefault{n} % forme à utiliser pour du droit
\newcommand\encodingdefault{OT1} % codage normal
\newcommand\familydefault{\rmdefault} % famille normale: Roman
\newcommand\seriesdefault{\mddefault} % collection normale: moyen
@ -251,17 +251,17 @@ contiennent ceci:
<p>
Les commandes comme <code>\textit</code>, <code>\texttt</code> ou
<code>\textbf</code> sont définies en termes de ces
<code>\textbf</code> sont définies en termes de ces
commandes-ci. Ainsi, il est possible de les modifier proprement:
<code>\renewcommand\sfdefault{phv}</code> définit que la police
<em>Helvetica</em> est à utiliser comme police pour le texte Sans Serif
(<code>\textsf</code>). Bien sûr, toutes les variantes sont
<code>\renewcommand\sfdefault{phv}</code> définit que la police
<em>Helvetica</em> est à utiliser comme police pour le texte Sans Serif
(<code>\textsf</code>). Bien sûr, toutes les variantes sont
possibles. Attention toutefois de bien faire attention que la police
choisie existe dans le codage par défaut et les différentes variantes.
choisie existe dans le codage par défaut et les différentes variantes.
</p>
<div class="metainformation">
Auteur : Nicolas George. Dernière mise à jour : <date value="$Date: 2007-07-17 10:02:52 $" />.
Auteur : Nicolas George. Dernière mise à jour : <date value="$Date: 2007-07-17 10:02:52 $" />.
</div>
</body>

View file

@ -4,7 +4,7 @@
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Polices : liste</title>
<title>Polices : liste</title>
</head>
<body lang="fr">
@ -270,13 +270,13 @@
</table>
<p>
Je ne suis pas spécialiste en typographie, et les noms usuels peuvent
être erronés.
Je ne suis pas spécialiste en typographie, et les noms usuels peuvent
être erronés.
</p>
<div class="metainformation">
Auteur : Nicolas George. Dernière mise à jour le
Auteur : Nicolas George. Dernière mise à jour le
<date value="$Date: 2007-07-17 10:02:52 $"/>.
</div>

View file

@ -4,61 +4,61 @@
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Références</title>
<title>Références</title>
</head>
<body>
<h1>Faire des références</h1>
<h1>Faire des références</h1>
<h2>Référencer du texte</h2>
<h2>Référencer du texte</h2>
<p>Faire des références croisées à l'intérieur de son document est très
simple. On met une étiquette (<em>label</em>) avec un mot-clé à l'endroit
que l'on veut référencer, de la manière suivante :</p>
<p>Faire des références croisées à l'intérieur de son document est très
simple. On met une étiquette (<em>label</em>) avec un mot-clé à l'endroit
que l'on veut référencer, de la manière suivante :</p>
<pre>
\label{table} Il faut ajouter dans le document, à l'endroit
où on souhaite voir une table des matières, ...
\label{table} Il faut ajouter dans le document, à l'endroit
où on souhaite voir une table des matières, ...
</pre>
<p>Ensuite, à l'endroit souhaité, on fait une référence à ce passage avec
les commandes <code>\ref{mot-clé}</code> (pour indiquer le numéro de la
section) ou <code>\pageref{mot-clé}</code> (pour indiquer la page). Par
exemple :</p>
<p>Ensuite, à l'endroit souhaité, on fait une référence à ce passage avec
les commandes <code>\ref{mot-clé}</code> (pour indiquer le numéro de la
section) ou <code>\pageref{mot-clé}</code> (pour indiquer la page). Par
exemple :</p>
<pre>
La phrase ci-dessus est extraite de la section \ref{table}, page
\pageref{table}, consacrée à la fabrication d'une table des matières.
\pageref{table}, consacrée à la fabrication d'une table des matières.
</pre>
<h2>Référencer une figure</h2>
<h2>Référencer une figure</h2>
<p>On place l'étiquette à l'intérieur de la commande
<code>\caption{}</code>, à côté de la légende de la figure; par exemple,
voici la légende, dans le fichier TeX, du tableau sur les Habsbourgs
(voir <a href="tableaux.html">Les tableaux</a>) :</p>
<p>On place l'étiquette à l'intérieur de la commande
<code>\caption{}</code>, à côté de la légende de la figure; par exemple,
voici la légende, dans le fichier TeX, du tableau sur les Habsbourgs
(voir <a href="tableaux.html">Les tableaux</a>) :</p>
<pre>
\caption{\label{Habsbourg}Les Habsbourg en Espagne et en Autriche.}
</pre>
<p>Ensuite, on utilise <code>\ref</code> et <code>\pageref</code> de la
même façon que pour du texte, à cette seule différence que
<code>\ref</code> n'indique pas le numéro de la section mais celui de la
figure. Par exemple :</p>
même façon que pour du texte, à cette seule différence que
<code>\ref</code> n'indique pas le numéro de la section mais celui de la
figure. Par exemple :</p>
<pre>
Le tableau \ref{Habsbourg}, page \pageref{Habsbourg}, est consacré à la succession des rois Habsbourg.
Le tableau \ref{Habsbourg}, page \pageref{Habsbourg}, est consacré à la succession des rois Habsbourg.
</pre>
<p>Attention ! Ceci est le niveau 0 de la référence. Pour des références
plus élaborées (plusieurs pages référencées, et de façon générale pour
<p>Attention ! Ceci est le niveau 0 de la référence. Pour des références
plus élaborées (plusieurs pages référencées, et de façon générale pour
faire un index), je vous renvoie aux manuels existants. Enfin, comme pour
la table des matières, les références n'apparaissent qu'à la deuxième
la table des matières, les références n'apparaissent qu'à la deuxième
compilation.</p>
<div class="metainformation"> Auteurs : Marie-Lan Nguyen (2000),
Émilia Robin (1998), François-Xavier Coudert (2002). Dernière
<div class="metainformation"> Auteurs : Marie-Lan Nguyen (2000),
Émilia Robin (1998), François-Xavier Coudert (2002). Dernière
modification le <date value="$Date: 2007-07-17 10:02:52 $"/>.
</div>

View file

@ -10,17 +10,17 @@
<h1>Faire des tableaux sous LaTeX</h1>
<h2>Paramètres du tableau</h2>
<h2>Paramètres du tableau</h2>
<p>On utilise l'environnement <code>tabular</code>. Lorsque l'on commence un
tableau, il faut spécifier immédiatement entre des accolades la
disposition horizontale du tableau, c'est-à-dire le nombre de colonnes et
de lignes verticales, ainsi que le centrage du texte :</p>
tableau, il faut spécifier immédiatement entre des accolades la
disposition horizontale du tableau, c'est-à-dire le nombre de colonnes et
de lignes verticales, ainsi que le centrage du texte :</p>
<pre>\begin{tabular}{colonnes}</pre>
<p>On utilise les caractères suivants pour indiquer la disposition des
colonnes :</p>
<p>On utilise les caractères suivants pour indiquer la disposition des
colonnes :</p>
<table class="tableau"> <tr> <td><code>l (<em>left</em></code></td>
<td>Appuie le texte de la colonne sur la gauche</td></tr>
@ -32,32 +32,32 @@ sur la droite</td></tr>
colonne</td></tr>
<tr><td><code>| (<em>pipe</em></code></td> <td>Trace un trait vertical pour
séparer deux colonnes</td></tr>
séparer deux colonnes</td></tr>
<tr><td><code>p{l}</code></td> <td>Le texte sera traité comme un paragraphe
dans une colonne de largeur <code>l</code>, et pourra êtr emis sur
<tr><td><code>p{l}</code></td> <td>Le texte sera traité comme un paragraphe
dans une colonne de largeur <code>l</code>, et pourra êtr emis sur
plusieurs lignes si besoin.</td>
</tr>
</table>
<p>Par exemple, la diposition d'un tableau à deux colonnes, dans
lesquelles le texte est centré, s'exprime ainsi :</p>
<p>Par exemple, la diposition d'un tableau à deux colonnes, dans
lesquelles le texte est centré, s'exprime ainsi :</p>
<pre>
\begin{tabular}{|c|c|}
</pre>
<h2>À l'intérieur du tableau</h2>
<h2>À l'intérieur du tableau</h2>
<p>Maintenant qu'on a indiqué le nombre de colonnes, on écrit le tableau
ligne par ligne. Le caractère <code>&amp;</code> indique le passage à la
colonne suivante. Chaque ligne est terminée par <code>\\</code>, qui
indique le passage à la ligne suivante.</p>
<p>Maintenant qu'on a indiqué le nombre de colonnes, on écrit le tableau
ligne par ligne. Le caractère <code>&amp;</code> indique le passage à la
colonne suivante. Chaque ligne est terminée par <code>\\</code>, qui
indique le passage à la ligne suivante.</p>
<ul><li><code>hline</code> trace une <strong>ligne horizontale</strong>
de la largeur du tableau. Voici par exemple les premières lignes du code
LaTeX du tableau ci-dessus :</li></ul>
de la largeur du tableau. Voici par exemple les premières lignes du code
LaTeX du tableau ci-dessus :</li></ul>
<pre>
\begin{tabular}{|l|p{8cm}|}
@ -70,45 +70,45 @@ LaTeX du tableau ci-dessus
</pre>
<ul><li><code>\cline{col1-col2}</code> trace une <strong>ligne
horizontale</strong> de la colonne numéro <code>col1</code> à la colonne
numéro <code>col2</code>.</li>
horizontale</strong> de la colonne numéro <code>col1</code> à la colonne
numéro <code>col2</code>.</li>
<li>Il est possible d'<strong>écrire du texte sur plusieurs
<li>Il est possible d'<strong>écrire du texte sur plusieurs
colonnes</strong>, avec la commande <code>\multicolumn</code>, qui se
rédige de la manière suivante :</li></ul>
rédige de la manière suivante :</li></ul>
<pre>
\multicolumn{<em>num</em>}{<em>description</em>}{<em>texte</em>}
</pre>
<p><em>num</em> indique le nombre de colonnes concernées (la nouvelle
<p><em>num</em> indique le nombre de colonnes concernées (la nouvelle
colonne a une largeur de <em>num</em> colonnes); dans
<em>description</em> on indique le centrage du texte (<code>l</code>,
<code>r</code>, <code>c</code> ou <code>p{<em>num</em>}</code>). Enfin,
le texte à écrire dans la nouvelle «case» est indiqué entre
le texte à écrire dans la nouvelle «case» est indiqué entre
accolades.</p>
<h2>Légendes</h2>
<h2>Légendes</h2>
<p>Pour donner une légende à un tableau (ou à n'importe quelle figure),
on utilise la commande :</p>
<p>Pour donner une légende à un tableau (ou à n'importe quelle figure),
on utilise la commande :</p>
<pre>
\caption{<em>texte de la légende</em>}
\caption{<em>texte de la légende</em>}
</pre>
<p> Il faut placer le tableau et la légende à l'intérieur d'un <a
<p> Il faut placer le tableau et la légende à l'intérieur d'un <a
href="figures.html">environnement <code>figure</code></a>. La
numérotation des légendes est automatique. N'oubliez pas de refermer
numérotation des légendes est automatique. N'oubliez pas de refermer
l'environnement <code>figure</code>.</p>
<p>L'environnement <code>figure</code> ne fait rien d'autre qu'accrocher
un numéro et une légende à une image. Il faut donc, le cas échéant,
un numéro et une légende à une image. Il faut donc, le cas échéant,
utiliser l'environnement <code>center</code>, par exemple, si l'on veut
centrer l'image. D'autre part, selon que l'on place la ligne
<code>\caption{...}</code> avant ou après l'image elle-même, la légende
apparaîtra au dessus ou au dessous. Dans le cas qui précède, la légende
figurera en dessous de la « jolie figure ».</p>
<code>\caption{...}</code> avant ou après l'image elle-même, la légende
apparaîtra au dessus ou au dessous. Dans le cas qui précède, la légende
figurera en dessous de la « jolie figure ».</p>
<pre>
\begin{figure}
@ -119,14 +119,14 @@ figurera en dessous de la
\end{tabular}
\end{center}
\caption{La légende de la jolie figure}
\caption{La légende de la jolie figure}
\end{figure}
</pre>
<p>Il existe aussi l'environnement <code>table</code>, qui fonctionne
exactement comme <code>figure</code>. La différence est qu'il numérote
explicitement des tableaux, avec une légende du type
« Tab. 1: résultats », et non « Fig 1: schéma ».</p>
exactement comme <code>figure</code>. La différence est qu'il numérote
explicitement des tableaux, avec une légende du type
« Tab. 1: résultats », et non « Fig 1: schéma ».</p>
<h2>Exemple de tableau</h2>
@ -159,13 +159,13 @@ Philippe III &amp; 1598 &amp; &amp; \\
\end{figure}
</pre>
<p>Ce qui donne :</p>
<p>Ce qui donne :</p>
<div class="illustration"><img src="habsbourgs.jpg" alt="Tableau sur les
Habsbourgs" /></div>
<div class="metainformation"> Auteurs : Émilia Robin (1998, 2000).
Dernière modification le <date value="$Date: 2007-07-17 10:02:52 $" /> par Marc Mezzarobba.</div>
<div class="metainformation"> Auteurs : Émilia Robin (1998, 2000).
Dernière modification le <date value="$Date: 2007-07-17 10:02:52 $" /> par Marc Mezzarobba.</div>
</body> </html>

View file

@ -10,22 +10,22 @@ PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
<h1>Utiliser <code>xdvi</code></h1>
<p>Le logiciel <code>xdvi</code> sert à afficher les fichiers DVI (device
<p>Le logiciel <code>xdvi</code> sert à afficher les fichiers DVI (device
independant) produits par la compilation d'un fichier LaTeX. On peut s'en
servir avec la souris comme avec le clavier.</p>
<p> Si vous lancez <code>dvi</code> sans argument, il affiche un browser
qui vous permet de sélectionner à la souris le fichier que vous voulez
afficher. Cette fonction est accessible à tout moment en cliquant sur
qui vous permet de sélectionner à la souris le fichier que vous voulez
afficher. Cette fonction est accessible à tout moment en cliquant sur
File, ou en tapant <code>^F</code> (la touche Control et la touche F en
même temps) dans la fenêtre du prgoramme.</p>
même temps) dans la fenêtre du prgoramme.</p>
<p>Attention, l'affichage de <code>xdvi</code> n'est pas parfait, et peut
être faux. Si vous avez des figures, des mises en pages bizarres, il est
plus fiable de générer un fichier PostScript à regarder avec
<code>gv</code>. <code>xdvi</code> a l'avantage de ne pas nécessiter
cette étape de conversion supplémentaire, et donc d'être l'outil idéal
pour les premières vérifications et relectures.</p>
être faux. Si vous avez des figures, des mises en pages bizarres, il est
plus fiable de générer un fichier PostScript à regarder avec
<code>gv</code>. <code>xdvi</code> a l'avantage de ne pas nécessiter
cette étape de conversion supplémentaire, et donc d'être l'outil idéal
pour les premières vérifications et relectures.</p>
<h2>Fonction des boutons</h2>
@ -46,7 +46,7 @@ pour les premi
<tr>
<td align="center"><code>Again</code></td>
<td align="center"><code>^A</code></td>
<td>Répéter la dernière actionk</td>
<td>Répéter la dernière actionk</td>
</tr>
<tr>
@ -56,7 +56,7 @@ pour les premi
modifications
au fichier <code>.tex</code> (ne pas oublier de recompiler!). On peut
aussi se
contenter de cliquer n'importe où dans la fenêtre.</td>
contenter de cliquer n'importe où dans la fenêtre.</td>
</tr>
@ -69,7 +69,7 @@ contenter de cliquer n'importe o
<tr>
<td align="center"><code>First</code></td>
<td align="center"><code>1g</code></td>
<td>Revenir à la première page.</td>
<td>Revenir à la première page.</td>
</tr>
@ -113,7 +113,7 @@ contenter de cliquer n'importe o
<tr>
<td align="center"><code>Last</code></td>
<td align="center"><code>g</code></td>
<td>Aller à la dernière page</td>
<td>Aller à la dernière page</td>
</tr>
<tr>
@ -125,7 +125,7 @@ contenter de cliquer n'importe o
<tr>
<td align="center"><code>File</code></td>
<td align="center"><code>^F</code></td>
<td>Affiche vos fichiers, ce qui permet de sélectionner à la souris le
<td>Affiche vos fichiers, ce qui permet de sélectionner à la souris le
fichier que vous voulez charger.</td>
</tr>
@ -133,13 +133,13 @@ fichier que vous voulez charger.</td>
<h2>Facteur de grossissement</h2>
<ul><li><strong>Loupe :</strong> la souris a une fonction de loupe.
Quand vous cliquez sur le texte, vous agrandissez la zone cliquée, avec
un grossissement différent selon le bouton de la souris.</li>
<ul><li><strong>Loupe :</strong> la souris a une fonction de loupe.
Quand vous cliquez sur le texte, vous agrandissez la zone cliquée, avec
un grossissement différent selon le bouton de la souris.</li>
<li><strong>Changer le facteur de grossissement :</strong> vous pouvez
<li><strong>Changer le facteur de grossissement :</strong> vous pouvez
afficher le texte avec un grossissement plus ou moins important. C'est
utile pour vérifier des caractères, un détail de mise en page, etc.
utile pour vérifier des caractères, un détail de mise en page, etc.
<p>Au clavier, on utilise la touche <code>s</code> (<em>shrink</em>) pour
changer ce facteur, en l'associant avec un chiffre. <code>s</code> tout
@ -147,17 +147,17 @@ court affiche tout le document mis en page, pour visualisation avant
impression.</p>
<p>Plus le <em>shrink factor</em>, est petit, plus le zoom est important.
Par exemple, <code>1s</code> grossit énormément le texte, tandis que, sur
Par exemple, <code>1s</code> grossit énormément le texte, tandis que, sur
les stations Sun, <code>8s</code> l'affiche dans un coin du
<code>xdvi</code> (attention, tout dépend de la résolution de
l'écran).</p></li>
<code>xdvi</code> (attention, tout dépend de la résolution de
l'écran).</p></li>
<li><strong>Se déplacer dans la page :</strong> Quand le facteur de
réduction est trop grand pour que toute la page tienne dans la fenêtre,
on peut la faire défiler avec :
<li><strong>Se déplacer dans la page :</strong> Quand le facteur de
réduction est trop grand pour que toute la page tienne dans la fenêtre,
on peut la faire défiler avec :
<ul><li>Les barres de défilement à gauche et en haut de la
fenêtre ;</li> <li>Les flèches du clavier ;</li> <li>Les touches
<ul><li>Les barres de défilement à gauche et en haut de la
fenêtre ;</li> <li>Les flèches du clavier ;</li> <li>Les touches
<code>u</code> (up), <code>d</code> (down), <code>l</code> (left),
<code>r</code> (right) et <code>c</code> (center).</li></ul>
@ -168,16 +168,16 @@ fen
<table class="tableau">
<tr><td><code><em>num</em>g</code> (<em>goto</em>)</td>
<td>aller à la page indiquée (<code>23g</code> : page 23)</td></tr>
<td>aller à la page indiquée (<code>23g</code> : page 23)</td></tr>
<tr><td><code>x</code> (expert)</td> <td>Supprimer les « cases à cliquer » à
droite de la fenêtre (passer en « tout clavier », ou mode expert).
Réversible en tapant à nouveau <code>x</code>.</td></tr>
<tr><td><code>x</code> (expert)</td> <td>Supprimer les « cases à cliquer » à
droite de la fenêtre (passer en « tout clavier », ou mode expert).
Réversible en tapant à nouveau <code>x</code>.</td></tr>
</table>
<div class="metainformation"> Auteurs : Émilia Robin (1998, 2000),
François-Xavier Coudert (2002). Dernière modification le
<div class="metainformation"> Auteurs : Émilia Robin (1998, 2000),
François-Xavier Coudert (2002). Dernière modification le
<date value="$Date: 2007-07-17 10:02:52 $"/>.
</div>

View file

@ -11,76 +11,76 @@
<div class="resume">
<p>Cette page a pour but de montrer comment on peut utiliser le
programme XeTeX pour utiliser facilement des polices extérieures et
taper du texte dans des systèmes d'écriture latins ou non latins.</p>
programme XeTeX pour utiliser facilement des polices extérieures et
taper du texte dans des systèmes d'écriture latins ou non latins.</p>
</div>
<h2>Qu'est-ce que XeTeX</h2>
<p>XeTeX est un programme basé sur TeX, qui en est une variante (les
fichiers écrits pour l'un pour l'autre ne seront pes nécessairement
compatibles). Il a d'abord été conçu pour fonctionner avec Mac OS X
mais fonctionne aujourd'hui avec une grande diversité de systèmes.</p>
<p>XeTeX est un programme basé sur TeX, qui en est une variante (les
fichiers écrits pour l'un pour l'autre ne seront pes nécessairement
compatibles). Il a d'abord été conçu pour fonctionner avec Mac OS X
mais fonctionne aujourd'hui avec une grande diversité de systèmes.</p>
<p>Un de ses grands avantages est de gérer tout à fait correctement les
fichiers encodés en UTF-8, et les polices TrueType et OpenType, ce qui
permet de bénéficier des mêmes possiblités techniques que les logiciels
<p>Un de ses grands avantages est de gérer tout à fait correctement les
fichiers encodés en UTF-8, et les polices TrueType et OpenType, ce qui
permet de bénéficier des mêmes possiblités techniques que les logiciels
de traitement de texte pour produire des documents, qu'ils soient
écrits en arménien, en araméen, en japonais, en lituanien ou en
écrits en arménien, en araméen, en japonais, en lituanien ou en
persan.</p>
<h2>Compiler un fichier avec XeLaTeX</h2>
<p>De la même manière qu'on utilise la commande <code>latex</code> pour
compiler les fichiers écrits pour LaTeX, on utilise la commande
<code>xelatex</code> pour compiler les fichiers LaTeX destinés à
profiter des fonctionnalités de XeTeX.</p>
<p>De la même manière qu'on utilise la commande <code>latex</code> pour
compiler les fichiers écrits pour LaTeX, on utilise la commande
<code>xelatex</code> pour compiler les fichiers LaTeX destinés à
profiter des fonctionnalités de XeTeX.</p>
<p>La commande <code>xelatex</code> s'utilise comme la commande
<code>pdflatex</code>.</p>
<pre>xelatex fichier.tex</pre>
<p>L'option <code>-no-pdf</code> permet de retrouver le comportement de la
commande <code>latex</code> qui ne produit pas un fichier directement
lisible mais un fichier intermédiaire de la forme
<code>fichier.xdv</code>. La commande <code>xdvipdfmx</code> sert à
lisible mais un fichier intermédiaire de la forme
<code>fichier.xdv</code>. La commande <code>xdvipdfmx</code> sert à
convertir les fichiers XDV en fichers PDF.</p>
<h2>Les principales différences avec LaTeX</h2>
<h2>Les principales différences avec LaTeX</h2>
<p>XeTeX accepte les fichiers encodés en UTF-8. Pour cela, ajouter au
début du document la commande </p>
<p>XeTeX accepte les fichiers encodés en UTF-8. Pour cela, ajouter au
début du document la commande </p>
<pre>\XeTeXdefaultencoding utf-8</pre>
<p class="continue">pour en tenir compte.</p>
<p>XeLaTeX possède un certain nombre de paquets spécifiques, et au
contraire ne doit pas être utilisé avec certains paquets traditionnels
<p>XeLaTeX possède un certain nombre de paquets spécifiques, et au
contraire ne doit pas être utilisé avec certains paquets traditionnels
de LaTeX.</p>
<ul>
<li>les paquets <code>inputenc</code> et <code>fontenc</code> sont
inutiles</li>
<li>le paquet <code>fontspec</code> sert à sélectionner les polices
<li>le paquet <code>fontspec</code> sert à sélectionner les polices
facilement</li>
</ul>
<h2>Comment faire</h2>
<h3>Préparation</h3>
<h3>Préparation</h3>
<p>Avant de commencer, il y a un pré-requis qui n'est pas spécifique à
LaTeX : savoir taper un texte quelconque, dans la langue qui vous
intéresse, en Unicode. Heureusement, nous avons une documentation sur
les <a href="&url.tuteurs;unix/editeurs/unicode.html">éditeurs en
Unicode</a>, que nous vous invitons à lire avant d'aller plus loin si
ce n'est déjà fait.</p>
<p>Avant de commencer, il y a un pré-requis qui n'est pas spécifique à
LaTeX : savoir taper un texte quelconque, dans la langue qui vous
intéresse, en Unicode. Heureusement, nous avons une documentation sur
les <a href="&url.tuteurs;unix/editeurs/unicode.html">éditeurs en
Unicode</a>, que nous vous invitons à lire avant d'aller plus loin si
ce n'est déjà fait.</p>
<p>Tout ce que vous avez à faire maintenant, c'est de créer votre
fichier LaTeX avec votre éditeur en Unicode. Nous allons voir dans un
instant ce qu'il faut mettre dans le préambule.</p>
<p>Tout ce que vous avez à faire maintenant, c'est de créer votre
fichier LaTeX avec votre éditeur en Unicode. Nous allons voir dans un
instant ce qu'il faut mettre dans le préambule.</p>
<h3>Ce qu'il faut écrire</h3>
<h3>Ce qu'il faut écrire</h3>
<p>Les fichiers déjà écrits pour LaTeX peuvent nécessiter quelques
adaptations : grâce à votre éditeur de texte favori, enregistrez votre
<p>Les fichiers déjà écrits pour LaTeX peuvent nécessiter quelques
adaptations : grâce à votre éditeur de texte favori, enregistrez votre
fichier au format UTF-8, et remplacez les lignes</p>
<pre>\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}</pre>
@ -88,40 +88,40 @@
<pre>\XeTeXdefaultencoding utf-8
\usepackage{fontspec}</pre>
<h3>Choisir une police de caractères</h3>
<h3>Choisir une police de caractères</h3>
<p>Par défaut, XeTeX utilisera les polices Latin Modern qui ont un
<p>Par défaut, XeTeX utilisera les polices Latin Modern qui ont un
aspect semblable aux polices standard de LaTeX. Mais si vous voulez en
changer, en particulier pour afficher du texte dans d'autres écritures,
changer, en particulier pour afficher du texte dans d'autres écritures,
il faudra se procurer une police capable de les afficher. Prenons par
exemple la police <em>FreeSerif</em>. La commande suivante permet de
sélectionner cette police par défaut pour l'ensemble du document.</p>
sélectionner cette police par défaut pour l'ensemble du document.</p>
<pre>\setmainfont[Mapping=tex-text,Ligatures=Common]{FreeSerif}</pre>
<p>Les options indiquées permettent respectivement d'utiliser certaines
suites de caractères pour les caractères spéciaux (comme
<p>Les options indiquées permettent respectivement d'utiliser certaines
suites de caractères pour les caractères spéciaux (comme
<code>---</code> pour &#x2014;), et d'utiliser les ligatures standard
de la police si celle-ci en possède (notamment &#xfb01; et &#xfb03;).</p>
de la police si celle-ci en possède (notamment &#xfb01; et &#xfb03;).</p>
<div class="attention">
<p>Attention, certaines anciennes polices, datant d'avant
l'introduction du standard Unicode pour l'encodage des caractères,
permettent d'afficher des écritures non latines, en remplaçant les
dessins des caractères latins par ceux des caractères grecs : elles
permettent ainsi d'«écrire en grec» avec un clavier latin (comme la
police <em>Symbol</em>). L'usage de ces polices de caractères est à
proscrire : l'utilisation de systèmes Unicode permet aux fichiers de
reproduire fidèlement les caractères présents dans le texte.</p>
l'introduction du standard Unicode pour l'encodage des caractères,
permettent d'afficher des écritures non latines, en remplaçant les
dessins des caractères latins par ceux des caractères grecs : elles
permettent ainsi d'«écrire en grec» avec un clavier latin (comme la
police <em>Symbol</em>). L'usage de ces polices de caractères est à
proscrire : l'utilisation de systèmes Unicode permet aux fichiers de
reproduire fidèlement les caractères présents dans le texte.</p>
</div>
<p>Il est possible que la police choisie par défaut ne convienne pas à
tous les usages, par exemple pour écrire en chinois. Si cela s'avérait
nécessaire, rien de plus simple : il suffit de déclarer une nouvelle
<p>Il est possible que la police choisie par défaut ne convienne pas à
tous les usages, par exemple pour écrire en chinois. Si cela s'avérait
nécessaire, rien de plus simple : il suffit de déclarer une nouvelle
police avec la commande suivante</p>
<pre>\newfontfamily\cjkfont[Script=CJK]{AR PL ZenKai Uni}</pre>
<p>Cette commande déclare une nouvelle police utilisable avec la
<p>Cette commande déclare une nouvelle police utilisable avec la
commande <code>\cjkfont</code> (il s'agit de la police <em>AR PL ZenKai
Uni</em>). On pourra alors l'utiliser sous la forme suivante :</p>
<pre>En chinois, «Chine» s'écrit {\cjkfont 中国}.</pre>
<pre>En chinois, «Chine» s'écrit {\cjkfont 中国}.</pre>
<h2>Un exemple</h2>
@ -133,34 +133,34 @@
\usepackage[margin=4cm]{geometry}
\usepackage{amsthm}
\title{Οἱ πρῶτοι ἀριθμοί}
\date{20 Μαρτίου 2008}
\title{Οἱ πρῶτοι ἀριθμοί}
\date{20 Μαρτίου 2008}
\begin{document}
\maketitle
\textbf{Θεώρημα 1.} «Οἱ πρῶτοι ἀριθμοὶ πλείους εἰσὶ παντὸς τοῦ προτεθέντος
πλήθους πρώτων ἀριθμῶν.» (\emph{Στοιχεία}, Εὐκλείδης). Ἄρα, τὸ σύνολο τῶν
πρώτων ἀριθμῶν εἶναι ἄπειρο.
\textbf{Θεώρημα 1.} «Οἱ πρῶτοι ἀριθμοὶ πλείους εἰσὶ παντὸς τοῦ προτεθέντος
πλήθους πρώτων ἀριθμῶν.» (\emph{Στοιχεία}, Εὐκλείδης). Ἄρα, τὸ σύνολο τῶν
πρώτων ἀριθμῶν εἶναι ἄπειρο.
\textsc{Ἀπόδειξη. } Ἔστω $P$ ἕvα πεπερασμένο σύνολο $\{p_1, \dots, p_k\}$
πρώτων ἀριθμῶν. Θεωροῦμε τὸv ἀκέραιον ἀριθμόν $N := p_1\cdots p_k + 1$, ποὺ
εἶναι μεγαλύτερος τοῦ $1$. Τότε ὑπάρχει ἕνα πρῶτο διαιρέτη $q$ τοῦ $N$.
Ἄv $q = p_i$, τότε $q | N - p_1\cdots p_k$, ἄρα $q | 1$, καὶ αὑτὸ εἶναι
ἄτοπο. $\qed$
\textsc{Ἀπόδειξη. } Ἔστω $P$ ἕvα πεπερασμένο σύνολο $\{p_1, \dots, p_k\}$
πρώτων ἀριθμῶν. Θεωροῦμε τὸv ἀκέραιον ἀριθμόν $N := p_1\cdots p_k + 1$, ποὺ
εἶναι μεγαλύτερος τοῦ $1$. Τότε ὑπάρχει ἕνα πρῶτο διαιρέτη $q$ τοῦ $N$.
Ἄv $q = p_i$, τότε $q | N - p_1\cdots p_k$, ἄρα $q | 1$, καὶ αὑτὸ εἶναι
ἄτοπο. $\qed$
\end{document}</pre>
<h2>Informations complémentaires</h2>
<h2>Informations complémentaires</h2>
<ul>
<li>Le <a href="http://scripts.sil.org/xetex">site officiel</a></li>
</ul>
<div class="metainformation">
Auteur : Rémy Oudompheng.
Dernière modification le <date value="$Date: 2008-03-27 00:56:20 $" />.
Auteur : Rémy Oudompheng.
Dernière modification le <date value="$Date: 2008-03-27 00:56:20 $" />.
</div>
</body>

View file

@ -13,32 +13,32 @@
<p>Mozilla est une suite de logiciels pour Internet. Elle comporte en
particulier un navigateur Web (Mozilla Browser) qui est l'un des
meilleurs disponibles actuellement et un module Mail/Newsgroups pour
gérer ses <a href="&url.tuteurs;internet/courrier/">mails</a> et
gérer ses <a href="&url.tuteurs;internet/courrier/">mails</a> et
consulter des groupes de News (comme <a
href="&url.tuteurs;internet/usenet-fr.html">Usenet</a> ou
<a href="&url.tuteurs;internet/forum/">forum</a>).</p>
<p>Mozilla fonctionne aussi bien sous Windows que sur les systèmes Unix.</p>
<p>Mozilla fonctionne aussi bien sous Windows que sur les systèmes Unix.</p>
<ul>
<li><a href="navigateur.html">Le navigateur</a> :
<li><a href="navigateur.html">Le navigateur</a> :
c'est la partie de Mozilla la plus couramment
utilisée. Cette documentation est faite pour les versions complètes de
Mozilla, mais elle s'applique aussi largement à <a
utilisée. Cette documentation est faite pour les versions complètes de
Mozilla, mais elle s'applique aussi largement à <a
href="http://www.mozilla.org/products/firefox/">FireFox</a> qui en est
une version allégée.
une version allégée.
</li>
<li><a href="mail.html">Le client mail</a> : Mozilla contient un
module de messagerie confortable : Mozilla Mail. Ce module existe
aussi de façon forme autonome sous le nom de <a
<li><a href="mail.html">Le client mail</a> : Mozilla contient un
module de messagerie confortable : Mozilla Mail. Ce module existe
aussi de façon forme autonome sous le nom de <a
href="http://www.mozilla.org/products/thunderbird/">Thunderbird</a>.
</li>
</ul>
<div class="metainformation">
Auteur : Joël Riou.
Dernière modification le <date value="$Date: 2007-07-17 10:02:54 $" />.
Auteur : Joël Riou.
Dernière modification le <date value="$Date: 2007-07-17 10:02:54 $" />.
</div>
</body>

View file

@ -11,7 +11,7 @@
<h1>Mozilla Mail</h1>
<p>
Mozilla Mail/Newsgroups est un module de Mozilla fait pour gérer son mail
Mozilla Mail/Newsgroups est un module de Mozilla fait pour gérer son mail
et consulter les News. Cette page ne concerne que la partie Mail.
</p>
@ -21,12 +21,12 @@ menu. Il existe aussi une version autonome de ce module qui s'appelle <a
href="http://www.mozilla.org/products/thunderbird/">Thunderbird
Mail</a>.</p>
<p>Si vous n'êtes pas du tout familier avec le courrier électronique,
<p>Si vous n'êtes pas du tout familier avec le courrier électronique,
commencez par consulter <a href="&url.tuteurs;internet/courrier/">notre
documentation</a> sur ce sujet.</p>
<p>Ce programme s'utilise essentiellement de la même manière que d'autres
programmes pour gérer son courrier électronique à ceci près que Mozilla
<p>Ce programme s'utilise essentiellement de la même manière que d'autres
programmes pour gérer son courrier électronique à ceci près que Mozilla
Mail fonctionne en mode graphique et non en mode texte comme
<a href="&url.tuteurs;internet/courrier/mail-pine.html"><code>pine</code></a>
ou <a
@ -35,66 +35,66 @@ href="&url.tuteurs;internet/courrier/mail-pine.html"><code>mutt</code></a>.
<h2><a name="imap">Configuration pour un compte IMAP(S)</a></h2>
<p>La première étape pour commencer à utiliser Mozilla Mail consiste à le
paramétrer pour la consultation et l'envoi de messages. Ce paragraphe
<p>La première étape pour commencer à utiliser Mozilla Mail consiste à le
paramétrer pour la consultation et l'envoi de messages. Ce paragraphe
concerne la configuration pour un serveur IMAP(S). Avec ce type de
serveur, les fichiers contenant vos mails sont conservés sur le serveur.</p>
serveur, les fichiers contenant vos mails sont conservés sur le serveur.</p>
<p>La première fois que vous lancez Mozilla Mail, ou si vous sélectionnez
<p>La première fois que vous lancez Mozilla Mail, ou si vous sélectionnez
<code>File > New > Account</code> dans le menu, l'<em>Account Wizard</em>
est lancé, il sert à créer un compte. Sélectionnez « Email
account ». Entrez ensuite votre nom ainsi que votre adresse
email  ces informations serviront pour les messages que vous
est lancé, il sert à créer un compte. Sélectionnez « Email
account ». Entrez ensuite votre nom ainsi que votre adresse
email  ces informations serviront pour les messages que vous
enverrez.</p>
<p>Il s'agit ensuite de régler certains paramètres techniques. Tout
d'abord, sélectionnez <code>IMAP</code> pour utiliser un serveur IMAP
<p>Il s'agit ensuite de régler certains paramètres techniques. Tout
d'abord, sélectionnez <code>IMAP</code> pour utiliser un serveur IMAP
comme le titre de cette section l'indique. Dans <code>Incoming
server</code>, entrez le nom de ce serveur IMAP. Il faut ensuite entrer
le nom du serveur <code>SMTP</code> (Outgoing server). La page suivante
vous demande le login utilisé pour vous connecter au serveur IMAP.
vous demande le login utilisé pour vous connecter au serveur IMAP.
</p>
<div class="ens">
<div class="illustration">
<img src="mail_imap_serveur.png"
alt="[Capture d'écran de l'Account Wizard]"
title="[Captude d'écran de l'Account Wizard]"
alt="[Capture d'écran de l'Account Wizard]"
title="[Captude d'écran de l'Account Wizard]"
width="494" height="473"/>
</div>
<p>Les paramètres ci-dessus sont les bons si vous voulez consulter votre
mail à l'École et que vous le faites depuis le réseau de l'École. Si vous
utilisez Internet via un autre fournisseur d'accès, vous devez
impérativement indiquer le serveur SMTP de ce fournisseur d'accès.</p>
<p>Les paramètres ci-dessus sont les bons si vous voulez consulter votre
mail à l'École et que vous le faites depuis le réseau de l'École. Si vous
utilisez Internet via un autre fournisseur d'accès, vous devez
impérativement indiquer le serveur SMTP de ce fournisseur d'accès.</p>
</div>
<p>Si on veut faire l'analogie avec le courrier postal, le couple
<code>Incoming server</code>+<code>Incoming User Name</code> correspond à
la boîte à lettre où vous recevez votre courrier tandis que
<code>Outgoing server (SMTP)</code> correspond à la boîte aux lettres de
<code>Incoming server</code>+<code>Incoming User Name</code> correspond à
la boîte à lettre où vous recevez votre courrier tandis que
<code>Outgoing server (SMTP)</code> correspond à la boîte aux lettres de
la Poste la plus proche de chez vous.</p>
<p>Une fois le compte créé par l'<em>Account Wizard</em>, il reste des
choses à préciser. Pour cela, sélectionnez <code>Edit > Mail &amp;
Newsgroups Account Settings</code> et sélectionnez « Use secure
connection (SSL) »  dans la rubrique « Server
settings », cela signifie que toutes les données
échangées entre Mozilla et le serveur IMAP(S) seront cryptées (ainsi
<p>Une fois le compte créé par l'<em>Account Wizard</em>, il reste des
choses à préciser. Pour cela, sélectionnez <code>Edit > Mail &amp;
Newsgroups Account Settings</code> et sélectionnez « Use secure
connection (SSL) »  dans la rubrique « Server
settings », cela signifie que toutes les données
échangées entre Mozilla et le serveur IMAP(S) seront cryptées (ainsi
votre mot de passe ne sera pas lisible en clair pour quelqu'un qui
espionnerait le réseau) :</p>
espionnerait le réseau) :</p>
<div class="illustration">
<img src="mail_ssl.png"
alt="[Activation de la connexion sécurisée]"
title="[Activation de la connexion sécurisée]"
alt="[Activation de la connexion sécurisée]"
title="[Activation de la connexion sécurisée]"
width="739" height="460"/>
</div>
<p>Allez maintenant dans la rubrique « Composition &amp;
Addressing » et décochez la case « Compose messages in HTML
format » :
<p>Allez maintenant dans la rubrique « Composition &amp;
Addressing » et décochez la case « Compose messages in HTML
format » :
</p>
<div class="illustration">
@ -104,18 +104,18 @@ title="[Ne pas composer en HTML]"
width="651" height="305"/>
</div>
<p>Sans ce réglage, les messages que vous composeriez seraient envoyés en
double exemplaire : d'une part en texte brut et au format <a
href="&url.tuteurs;internet/web/html/">HTML</a> (le format utilisé pour
<p>Sans ce réglage, les messages que vous composeriez seraient envoyés en
double exemplaire : d'une part en texte brut et au format <a
href="&url.tuteurs;internet/web/html/">HTML</a> (le format utilisé pour
les pages Web) d'autre part. Dans 99% des cas, poster en HTML est inutile
et même nuisible : cela plus que double la place prise par le mail
sur la messagerie de votre correspondant ! </p>
et même nuisible : cela plus que double la place prise par le mail
sur la messagerie de votre correspondant ! </p>
<p>Après cela, Mozilla Mail est bien configuré et prêt à l'emploi.</p>
<p>Après cela, Mozilla Mail est bien configuré et prêt à l'emploi.</p>
<div class="metainformation">
Auteur : Joël Riou.
Dernière modification le <date value="$Date: 2007-07-17 10:02:54 $" />.
Auteur : Joël Riou.
Dernière modification le <date value="$Date: 2007-07-17 10:02:54 $" />.
</div>
</body>

View file

@ -15,50 +15,50 @@
<p>
Mozilla est une suite de logiciels pour Internet. C'est ici la partie
« navigateur Web » qui nous intéresse, plus particulièrement la
dernière version, Mozilla-1.6, l'un des meilleurs navigateurs
disponibles à l'heure actuelle. Voici ses principaux atouts :
« navigateur Web » qui nous intéresse, plus particulièrement la
dernière version, Mozilla-1.6, l'un des meilleurs navigateurs
disponibles à l'heure actuelle. Voici ses principaux atouts :
</p>
<ul>
<li> <strong>navigation par onglets</strong> : finis les écrans
encombrés de fenêtres, vous pouvez ouvrir en même temps plusieurs
pages sa sein de la même fenêtre, et jongler entre elles très
facilement. Regardez la capture d'écran pour mieux comprendre de quoi
<li> <strong>navigation par onglets</strong> : finis les écrans
encombrés de fenêtres, vous pouvez ouvrir en même temps plusieurs
pages sa sein de la même fenêtre, et jongler entre elles très
facilement. Regardez la capture d'écran pour mieux comprendre de quoi
il s'agit.</li>
<li> <strong>blocage des pop-ups</strong>, ces panneaux publicitaires
qui polluent votre écran alors que vous n'avez rien demandé. Vous
pouvez bien sûr personnaliser ou désactiver cette fonction.</li>
qui polluent votre écran alors que vous n'avez rien demandé. Vous
pouvez bien sûr personnaliser ou désactiver cette fonction.</li>
<li> <strong>personnalisation</strong> : grâce au principe des
extensions, vous pouvez ajouter les fonctionnalités de votre
choix. Vous pouvez aussi personnaliser l'apparence du navigateur grâce
à un large choix de thèmes.</li>
<li> <strong>personnalisation</strong> : grâce au principe des
extensions, vous pouvez ajouter les fonctionnalités de votre
choix. Vous pouvez aussi personnaliser l'apparence du navigateur grâce
à un large choix de thèmes.</li>
<li> <strong>meilleure sécurité</strong> : moins de bugs dangereux
pour la sécurité de votre ordinateur.</li>
<li> <strong>meilleure sécurité</strong> : moins de bugs dangereux
pour la sécurité de votre ordinateur.</li>
<li> <strong>disponibilité</strong> : Mozilla est disponible pour
Windows, Mac OS X et les systèmes de type Unix (Linux, BSD,
etc.). Vous pouvez ainsi utiliser le même navigateur à l'ENS et chez
<li> <strong>disponibilité</strong> : Mozilla est disponible pour
Windows, Mac OS X et les systèmes de type Unix (Linux, BSD,
etc.). Vous pouvez ainsi utiliser le même navigateur à l'ENS et chez
vous.</li>
</ul>
<h2>Présentation rapide</h2>
<h2>Présentation rapide</h2>
<div class="illustration">
<img src="mozilla.png" alt="[Capture d'écran de Mozilla]"
title="[Capture d'écran de Mozilla sur le site mozilla.org]"
<img src="mozilla.png" alt="[Capture d'écran de Mozilla]"
title="[Capture d'écran de Mozilla sur le site mozilla.org]"
width="830" height="480" />
</div>
<p>
Cette capture d'écran vous montre Mozilla (avec le thème « Modern »)
Cette capture d'écran vous montre Mozilla (avec le thème « Modern »)
affichant, dans deux onglets, le site de la Mozilla Foundation (ce que
vous voyez à l'écran) et en arrière plan notre site. Voici les
principales zones à connaître de la fenêtre Mozilla :
vous voyez à l'écran) et en arrière plan notre site. Voici les
principales zones à connaître de la fenêtre Mozilla :
</p>
<dl>
@ -66,38 +66,38 @@ principales zones
<dt>Barre d'emplacement</dt>
<dd>Elle affiche l'adresse (URL) de la page que vous regardez. Vous
pouvez aussi ouvrir directement une page Web en entrant son
adresse. Le bouton « Search » renvoie par défaut au moteur de
adresse. Le bouton « Search » renvoie par défaut au moteur de
recherche <a href="http://www.google.com/">Google</a>.</dd>
<dt>Barre d'état</dt>
<dt>Barre d'état</dt>
<dd>Quand vous passez le curseur de la souris sur un lien, la barre
d'état vous indique l'URL vers laquelle pointe le lien. La barre
d'état peut aussi afficher des informations sur la page : un message
prévu par le concepteur de la page, par exemple. Les petites icônes
sur la droite de la barre indiquent si vous êtes en ligne ou non
(câble raccordé ou non), si la page est sécurisée ou non (cadenas
fermé ou bien ouvert).
d'état vous indique l'URL vers laquelle pointe le lien. La barre
d'état peut aussi afficher des informations sur la page : un message
prévu par le concepteur de la page, par exemple. Les petites icônes
sur la droite de la barre indiquent si vous êtes en ligne ou non
(câble raccordé ou non), si la page est sécurisée ou non (cadenas
fermé ou bien ouvert).
</dd>
<dt>Barre de titre</dt>
<dd>Endroit où s'affiche le titre de la page</dd>
<dd>Endroit où s'affiche le titre de la page</dd>
<dt>Barre des onglets</dt>
<dd>
Elle apparaît dès qu'il y a plus d'une page Web ouverte dans la
fenêtre de Mozilla. À chaque page ouverte son onglet, l'onglet porte
Elle apparaît dès qu'il y a plus d'une page Web ouverte dans la
fenêtre de Mozilla. À chaque page ouverte son onglet, l'onglet porte
le titre de la page. Utilisez les raccourcis <code>Ctrl+Page Up</code>
et <code>Ctrl+Page Down</code> pour passer d'un onglet à
et <code>Ctrl+Page Down</code> pour passer d'un onglet à
l'autre, ou cliquez sur l'onglet que vous voulez voir.</dd>
<dt>Boutons de navigation</dt>
<dd>Ce sont les boutons « Back », « Forward » et « Reload » et
« Stop ». Les 3 premiers servent à naviguer dans l'historique, le
dernier, le dernier à interrompre le chargement d'une page.</dd>
<dd>Ce sont les boutons « Back », « Forward » et « Reload » et
« Stop ». Les 3 premiers servent à naviguer dans l'historique, le
dernier, le dernier à interrompre le chargement d'une page.</dd>
<dt>Menus déroulants</dt>
<dt>Menus déroulants</dt>
<dd>C'est par eux que vous pouvez accomplir la majeure partie des
manipulations dans Mozilla. Ils indiquent également, le cas échéant,
manipulations dans Mozilla. Ils indiquent également, le cas échéant,
les raccourcis clavier.</dd>
</dl>
@ -107,9 +107,9 @@ les raccourcis clavier.</dd>
<h3>Lancer et quitter</h3>
<p>
Vouc pouvez cliquer sur l'icône « Mozilla » si vous avez une config
récente (à partir de la config conscrits 2002). Sinon, dans une
fenêtre, tapez simplement :
Vouc pouvez cliquer sur l'icône « Mozilla » si vous avez une config
récente (à partir de la config conscrits 2002). Sinon, dans une
fenêtre, tapez simplement :
</p>
<pre>
@ -117,81 +117,81 @@ fen
</pre>
<p>
Pour quitter, cliquez sur <code>File &gt; Quit</code>, ou tapez
Pour quitter, cliquez sur <code>File &gt; Quit</code>, ou tapez
<code>Ctrl+Q</code>.
</p>
<h3>Éléments de navigation</h3>
<h3>Éléments de navigation</h3>
<table class="tableau">
<tr>
<th>Action</th><th>Manipulation à faire</th><th>Raccourci clavier</th>
<th>Action</th><th>Manipulation à faire</th><th>Raccourci clavier</th>
</tr><tr>
<td>Revenir dans l'historique</td><td>Bouton Back</td><td>Alt+Flèche
<td>Revenir dans l'historique</td><td>Bouton Back</td><td>Alt+Flèche
gauche</td>
</tr><tr>
<td>Avancer dans l'historique</td><td>Bouton Forward</td><td>Alt+Flèche droite</td>
<td>Avancer dans l'historique</td><td>Bouton Forward</td><td>Alt+Flèche droite</td>
</tr><tr>
<td>Fermer l'onglet</td><td><code>File > Close Tab</code></td><td>Ctrl+W</td>
</tr><tr>
<td>Créer un nouvel onglet</td><td><code>File > New > New Navigator Tab</code></td><td>Ctrl+T</td>
<td>Créer un nouvel onglet</td><td><code>File > New > New Navigator Tab</code></td><td>Ctrl+T</td>
</tr><tr>
<td>Aller à la page d'accueil</td><td>Bouton Home</td><td>Alt+Home</td>
<td>Aller à la page d'accueil</td><td>Bouton Home</td><td>Alt+Home</td>
</tr><tr>
<td>Chercher dans la page</td><td>Edit > Find in This Page</td><td>Ctrl+F, ou &#47; puis taper le mot à chercher</td>
<td>Chercher dans la page</td><td>Edit > Find in This Page</td><td>Ctrl+F, ou &#47; puis taper le mot à chercher</td>
</tr><tr>
<td>Ajouter un bookmark</td><td><code>Bookmarks > Bookmark This Page</code></td><td>Ctrl+D</td>
</tr><tr>
<td>Accéder à la liste des bookmarks</td><td>Bouton « Bookmarks »</td><td>_</td>
<td>Accéder à la liste des bookmarks</td><td>Bouton « Bookmarks »</td><td>_</td>
</tr>
</table>
<h3>Un peu de configuration</h3>
<p>
La configuration de Mozilla se fait via le panneau de Préférences,
La configuration de Mozilla se fait via le panneau de Préférences,
accessible par <code>Edit > Preferences</code>. Il y a beaucoup de
choses que vous pouvez configurer dans Mozilla. Voici deux exemples :
choses que vous pouvez configurer dans Mozilla. Voici deux exemples :
</p>
<h4>Home</h4>
<p>
« Home » est votre page d'accueil, celle qui apparaît quand vous
« Home » est votre page d'accueil, celle qui apparaît quand vous
cliquez sur le bouton <code>Home</code>. C'est une sorte de
super-bookmark. Vous pouvez y indiquer votre propre page Web, un
journal, un moteur de recherche (mais souvenez-vous que le bouton
<code>Search</code> est déjà fait pour ça).
<code>Search</code> est déjà fait pour ça).
</p>
<p>
Par défaut, Mozilla affiche une page du site <a
Par défaut, Mozilla affiche une page du site <a
href="http://www.mozilla.org/">Mozilla.org</a>. Pour indiquer une
autre adresse, dans le panneau de Préférences, cliquez sur
<code>Navigator</code>. Dans la section « Home Page », indiquez
autre adresse, dans le panneau de Préférences, cliquez sur
<code>Navigator</code>. Dans la section « Home Page », indiquez
l'adresse que vous souhaitez dans le cadre <code>Location</code>
</p>
<h4>Langage par défaut</h4>
<h4>Langage par défaut</h4>
<p>
Quand vous arrivez sur une page disponible en plusieurs langues,
Mozilla choisira par défaut de vous montrer la page en anglais. Si
vous préférez voir plutôt du français, il faut modifier ce qu'on
appelle les « préférences de langue ».
Mozilla choisira par défaut de vous montrer la page en anglais. Si
vous préférez voir plutôt du français, il faut modifier ce qu'on
appelle les « préférences de langue ».
</p>
<p>
Dans le panneau de Préférences, cliquez sur le menu déroulant
Dans le panneau de Préférences, cliquez sur le menu déroulant
<code>Navigator</code> puis choisissez le sous-menu
<code>Languages</code>. Vous y verrez déjà quelque chose comme
« <code>English [en]</code> ». Cliquez sur le bouton <code>Add</code>
<code>Languages</code>. Vous y verrez déjà quelque chose comme
« <code>English [en]</code> ». Cliquez sur le bouton <code>Add</code>
puis ajoutez la langue de votre choix. Utilisez ensuite le bouton
<code>Move Up</code> pour la placer en tête de liste.
<code>Move Up</code> pour la placer en tête de liste.
</p>
<div class="metainformation">Auteur : Marie-Lan Nguyen. Dernière
modification : le <date value="$Date: 2007-07-17 10:02:54 $" />.</div>
<div class="metainformation">Auteur : Marie-Lan Nguyen. Dernière
modification : le <date value="$Date: 2007-07-17 10:02:54 $" />.</div>
</body>
</html>

View file

@ -8,35 +8,35 @@
</head>
<body>
<h1>Le contrôle de versions : RCS (<em>Revision Control System</em>)</h1>
<h1>Le contrôle de versions : RCS (<em>Revision Control System</em>)</h1>
<p>
C'est un programme très simple mais puissant qui permet de garder
l'historique d'un fichier. Son intérêt est que vos fichiers évoluent au fur et
à mésure que vous les modifiez, et sans un outil de gestion de version, on
peut difficilement gérer les anciennes versions.
C'est un programme très simple mais puissant qui permet de garder
l'historique d'un fichier. Son intérêt est que vos fichiers évoluent au fur et
à mésure que vous les modifiez, et sans un outil de gestion de version, on
peut difficilement gérer les anciennes versions.
</p>
<h2><a name="base">Commandes de base</a></h2>
<p>
Sans trop rentrer dans les détails (pour cela, faire <code>man
rcsintro</code>), l'utilisation de base peut se résumer à deux
commandes : </p>
Sans trop rentrer dans les détails (pour cela, faire <code>man
rcsintro</code>), l'utilisation de base peut se résumer à deux
commandes : </p>
<h3><a name="ci">Enregistrer le fichier</a></h3>
<p> <code>ci</code> (de l'anglais <em>check-in</em>) est la
commande avec laquelle on dépose la dernière version du fichier dans l'archive
gérée par RCS.</p>
commande avec laquelle on dépose la dernière version du fichier dans l'archive
gérée par RCS.</p>
<p>
Supposons que notre fichier s'appelle <code>monfichier</code>. Voilà ce qui se
passe la première fois que l'on fait le check-in : (en <em>italique</em>,
ce qui est tapé par l'utilisateur) :</p>
Supposons que notre fichier s'appelle <code>monfichier</code>. Voilà ce qui se
passe la première fois que l'on fait le check-in : (en <em>italique</em>,
ce qui est tapé par l'utilisateur) :</p>
<pre>
<span class="prompt">corvette ~ $</span> <em>ci monfichier </em>
<span class="prompt">corvette ~ $</span> <em>ci monfichier </em>
RCS/monfichier,v &lt;-- monfichier
initial revision: 1.1
enter description, terminated with ^D or '.':
@ -44,100 +44,100 @@ NOTE: This is NOT the log message!
&gt;&gt;<em>Ceci est une description du fichier</em>
&gt;&gt; <em>.</em>
done
<span class="prompt">corvette ~ $</span> 
<span class="prompt">corvette ~ $</span> 
</pre>
<p>
Comme vous le voyez, <strong>la dernière ligne doit être un point</strong>,
afin de signaler au programme qu'on a fini d'écrire nos commentaires.
Comme vous le voyez, <strong>la dernière ligne doit être un point</strong>,
afin de signaler au programme qu'on a fini d'écrire nos commentaires.
</p>
<p>
Le fichier est sauvé dans l'archive RCS, appelée <code>monfichier,v</code>, et
effacé. Par défaut, l'archive se trouve dans le même répertoire que le
fichier de départ. Il est plus pratique d'avoir un <strong>sous-répertoire
<code>RCS/</code></strong>, dans lequel seront sauvegardées automatiquement
Le fichier est sauvé dans l'archive RCS, appelée <code>monfichier,v</code>, et
effacé. Par défaut, l'archive se trouve dans le même répertoire que le
fichier de départ. Il est plus pratique d'avoir un <strong>sous-répertoire
<code>RCS/</code></strong>, dans lequel seront sauvegardées automatiquement
les versions de vos fichiers.
</p>
<p>
La première fois que vous enregistrez un fichier, donnez une description
générale du fichier. Les autres fois, vous mettrez juste un commentaire sur la
version (modifications apportées, date, etc).
La première fois que vous enregistrez un fichier, donnez une description
générale du fichier. Les autres fois, vous mettrez juste un commentaire sur la
version (modifications apportées, date, etc).
</p>
<h3><a name="co">Récupérer le fichier</a></h3>
<h3><a name="co">Récupérer le fichier</a></h3>
<p><code>co</code> (de l'anglais <em>check-out</em>) est la
commande avec lequel on récupère une version du fichier dans l'archive gérée
commande avec lequel on récupère une version du fichier dans l'archive gérée
par RCS.</p>
<p>
Supposons que vous voulez sortir la toute dernière version de notre fichier,
appelé <code>monfichier</code>. </p>
Supposons que vous voulez sortir la toute dernière version de notre fichier,
appelé <code>monfichier</code>. </p>
<pre>
<span class="prompt">corvette ~ $</span> <em>co monfichier </em>
<span class="prompt">corvette ~ $</span> <em>co monfichier </em>
RCS/monfichier,v --&gt; monfichier
revision 1.1
done
<span class="prompt">corvette ~ $</span> 
<span class="prompt">corvette ~ $</span> 
</pre>
<p>
La version 1.1 de <code>monfichier</code> est rétablie dans le répertoire
La version 1.1 de <code>monfichier</code> est rétablie dans le répertoire
courant.
</p>
<p>
RCS ne sauvegarde pas des copies intégrales de chacune des versions :
chaque nouvelle version contient en fait les différences par rapport à la
précédente. C'est ce qui permet de gérer les différentes versions, sans
utiliser inutilement de la place disque en stockant 10 fois les mêmes données.
RCS ne sauvegarde pas des copies intégrales de chacune des versions :
chaque nouvelle version contient en fait les différences par rapport à la
précédente. C'est ce qui permet de gérer les différentes versions, sans
utiliser inutilement de la place disque en stockant 10 fois les mêmes données.
</p>
<h2><a name="faq">FAQ</a></h2>
<ul>
<li> <strong>Lisez bien les messages de RCS :</strong> s'il dit
<li> <strong>Lisez bien les messages de RCS :</strong> s'il dit
<pre>
writable monfichier exists; overwrite? [ny](n)
</pre>
c'est qu'il y a déjà un fichier de ce nom dans le répertoire. Il vaut mieux
répondre <code>n</code>on et vérifier <em>avant</em> si on peut
l'écraser.</li>
c'est qu'il y a déjà un fichier de ce nom dans le répertoire. Il vaut mieux
répondre <code>n</code>on et vérifier <em>avant</em> si on peut
l'écraser.</li>
<li> <strong>Vous ne voulez pas que le fichier soit effacé après le
dépôt</strong>. Il faut taper :
<li> <strong>Vous ne voulez pas que le fichier soit effacé après le
dépôt</strong>. Il faut taper :
<pre>
ci -u monfichier
</pre>
Le fichier contenant les dernières modifications est sauvegardé normalement,
et vous conservez dans votre répertoire le fichier dans son dernier
état.</li>
Le fichier contenant les dernières modifications est sauvegardé normalement,
et vous conservez dans votre répertoire le fichier dans son dernier
état.</li>
<li> <strong>Vous voulez rétablir la version 1.4 et pas la plus
récente</strong>. Tapez :
<li> <strong>Vous voulez rétablir la version 1.4 et pas la plus
récente</strong>. Tapez :
<pre>
co -r1.4 monfichier
</pre></li>
<li> <strong>Vous voulez un historique des versions</strong>, avec les
commentaires que vous aviez mis. Tapez :
commentaires que vous aviez mis. Tapez :
<pre>
rcslog monfichier
</pre></li>
<li> <strong>En quoi <code>monfichier</code> diffère-t-il actuellement de la version
1.3 ?</strong> Tapez :
<li> <strong>En quoi <code>monfichier</code> diffère-t-il actuellement de la version
1.3 ?</strong> Tapez :
<pre>
rcsdiff -r1.3 monfichier
@ -151,7 +151,7 @@ href="http://www.freenix.org/unix/linux/HOWTO/mini/RCS.html">Mini-HOWTO
RCS</a>.</p>
<div class="metainformation">
Auteur : Roberto Dicosmo (1993?). Dernière modification le
Auteur : Roberto Dicosmo (1993?). Dernière modification le
<date value="$Date: 2007-07-17 10:02:56 $"/>.
</div>

View file

@ -8,24 +8,24 @@
</head>
<body>
<h1>Contrôle de versions avec Subversion</h1>
<h1>Contrôle de versions avec Subversion</h1>
<p>
Le logiciel Subversion permet de gérer l'évolution de projets et leurs
différentes versions. Si vous connaissez <a
href="&url.tuteurs;logiciels/rcs">RCS</a> ou <a
Le logiciel Subversion permet de gérer l'évolution de projets et leurs
différentes versions. Si vous connaissez <a
href="&url.tuteurs;logiciels/rcs">RCS</a> ou <a
href="&url.tuteurs;logiciels/cvs">CVS</a>, Subversion entend leur
succéder et en moderniser le principe.
succéder et en moderniser le principe.
</p>
<h2>Préliminaires à l'utilisation de Subversion</h2>
<h2>Préliminaires à l'utilisation de Subversion</h2>
<h3>Créer un répertoire de dépôt</h3>
<h3>Créer un répertoire de dépôt</h3>
<p>
Pour gérer l'évolution de projets (qu'il s'agisse de fichiers TeX, de
Pour gérer l'évolution de projets (qu'il s'agisse de fichiers TeX, de
programmes ou de scripts en n'importe quel langage, etc.), il faut
d'abord, comme sous CVS, créer un répertoire de dépôt.
d'abord, comme sous CVS, créer un répertoire de dépôt.
</p>
<pre>
@ -35,17 +35,17 @@ d'abord, comme sous
</pre>
<p>
Vous avez maintenant un répertoire de dépôt prêt à recevoir vos projets.
Vous avez maintenant un répertoire de dépôt prêt à recevoir vos projets.
</p>
<h3>Ajouter des projets</h3>
<p>
Pour ajouter des projets à Subversion, allez d'abord dans le répertoire
Pour ajouter des projets à Subversion, allez d'abord dans le répertoire
contenant les fichiers du projet (s'ils existent). Dans notre exemple,
disons que vous avez un répertoire nommé <code>mon_projet</code>, qui
contient un seul fichier, intitulé <code>fichier1</code>.
disons que vous avez un répertoire nommé <code>mon_projet</code>, qui
contient un seul fichier, intitulé <code>fichier1</code>.
</p>
<pre>
@ -57,25 +57,25 @@ Committed revision 1.
</pre>
<p class="continue">
Maintenant, vous avez :
Maintenant, vous avez :
</p>
<ul>
<li> un répertoire de dépôt ;</li>
<li> un projet déposé dans ce dernier.</li>
<li> un répertoire de dépôt ;</li>
<li> un projet déposé dans ce dernier.</li>
</ul>
<p>
Vous pouvez déposer autant de projets que vous le désirez dans votre
répertoire de dépôt.
Vous pouvez déposer autant de projets que vous le désirez dans votre
répertoire de dépôt.
</p>
<h3>Créer des répertoires de travail</h3>
<h3>Créer des répertoires de travail</h3>
<p class="continue">
Il ne vous reste plus qu'à créer un (ou plusieurs) répertoire(s) de
travail :
Il ne vous reste plus qu'à créer un (ou plusieurs) répertoire(s) de
travail :
</p>
<pre>
@ -86,9 +86,9 @@ Checked out revision 1.
</pre>
<p>
Évidemment, vous pouvez travailler sur un projet même si le répertoire
de dépôt n'est pas chez vous. Pour cela, tapez simplement l'URL du
projet. En voici quelques exemples :
Évidemment, vous pouvez travailler sur un projet même si le répertoire
de dépôt n'est pas chez vous. Pour cela, tapez simplement l'URL du
projet. En voici quelques exemples :
</p>
<pre>
@ -99,18 +99,18 @@ projet. En voici quelques exemples
</pre>
<p>
Vous récoltez ainsi tous les fichiers du projet. Modifiez-les de la
façon habituelle, typiquement avec un éditeur de texte.
Vous récoltez ainsi tous les fichiers du projet. Modifiez-les de la
façon habituelle, typiquement avec un éditeur de texte.
</p>
<h2>Subversion au quotidien</h2>
<h3>Mettre à jour un répertoire de travail</h3>
<h3>Mettre à jour un répertoire de travail</h3>
<p>
Pour mettre à jour votre répertoire de travail, utilisez la
commande :
Pour mettre à jour votre répertoire de travail, utilisez la
commande :
</p>
<pre>
@ -118,8 +118,8 @@ commande
</pre>
<p class="continue">
ou bien, si vous ne voulez mettre à jour qu'un nombre limité de
fichiers :
ou bien, si vous ne voulez mettre à jour qu'un nombre limité de
fichiers :
</p>
<pre>
@ -128,16 +128,16 @@ fichiers
<p>
Apportez les modifications que vous voulez sur les fichiers de votre
répertoire de travail.
répertoire de travail.
</p>
<h3>Ajout et retrait de fichiers</h3>
<p>
Pour ajouter des fichiers, commencez par les créer, comme à
l'accoutumée. Par exemple, éditez le fichier <code>fichier2</code> et
remplissez-le (ou non). Ensuite, tapez :
Pour ajouter des fichiers, commencez par les créer, comme à
l'accoutumée. Par exemple, éditez le fichier <code>fichier2</code> et
remplissez-le (ou non). Ensuite, tapez :
</p>
<pre>
@ -146,14 +146,14 @@ remplissez-le (ou non). Ensuite, tapez
<p class="continue">
Cette commande avertit Subversion qu'il devra prendre en compte ce
nouveau fichier. Le fichier sera ajouté au dépôt Subversion la prochaine
fois que vous taperez <code>svn commit</code>. Attention ! Si
vous ne tapez pas <code>svn commit</code>, le fichier ne sera pas
ajouté au dépôt !
nouveau fichier. Le fichier sera ajouté au dépôt Subversion la prochaine
fois que vous taperez <code>svn commit</code>. Attention ! Si
vous ne tapez pas <code>svn commit</code>, le fichier ne sera pas
ajouté au dépôt !
</p>
<p>
Pour retirer des fichiers de Subversion, utilisez la commande :
Pour retirer des fichiers de Subversion, utilisez la commande :
</p>
<pre>
@ -164,8 +164,8 @@ Pour retirer des fichiers de Subversion, utilisez la commande
<h3>Distribuer vos modifications</h3>
<p>
Quand vous avez terminé d'apporter vos modifications, vous pouvez les
distribuer :
Quand vous avez terminé d'apporter vos modifications, vous pouvez les
distribuer :
</p>
<pre>
@ -173,8 +173,8 @@ distribuer
</pre>
<p class="continue">
ou bien, si vous ne voulez distribuer qu'un nombre limité de
fichiers :
ou bien, si vous ne voulez distribuer qu'un nombre limité de
fichiers :
</p>
<pre>
@ -182,12 +182,12 @@ fichiers
</pre>
<h2>Fonctionnalités avancées de Subversion</h2>
<h2>Fonctionnalités avancées de Subversion</h2>
<h3>Historique</h3>
<p>
Vous pouvez consulter l'historique d'un fichier :
Vous pouvez consulter l'historique d'un fichier :
</p>
<pre>
@ -195,7 +195,7 @@ Vous pouvez consulter l'historique d'un fichier
</pre>
<p class="continue">
mais aussi de tous les fichiers d'un projet :
mais aussi de tous les fichiers d'un projet :
</p>
<pre>
@ -206,8 +206,8 @@ mais aussi de tous les fichiers d'un projet
<h3>Comparaison de fichiers</h3>
<p>
Vous pouvez comparer deux versions d'un fichier, ici la première et la
deuxième versions :
Vous pouvez comparer deux versions d'un fichier, ici la première et la
deuxième versions :
</p>
<pre>
@ -215,8 +215,8 @@ deuxi
</pre>
<p>
Vous pouvez aussi comparer, par exemple, la dernière version distribuée
d'un fichier avec la précédente :
Vous pouvez aussi comparer, par exemple, la dernière version distribuée
d'un fichier avec la précédente :
</p>
<pre>
@ -224,10 +224,10 @@ d'un fichier avec la pr
</pre>
<h3>Retour à la version antérieure</h3>
<h3>Retour à la version antérieure</h3>
<p>
Si vous regrettez les modifications apportées à un fichier, tapez :
Si vous regrettez les modifications apportées à un fichier, tapez :
</p>
<pre>
@ -235,26 +235,26 @@ Si vous regrettez les modifications apport
</pre>
<p class="continue">
Le fichier reviendra à son état antérieur.
Le fichier reviendra à son état antérieur.
</p>
<h2>En savoir plus</h2>
<p>
Pour en savoir plus sur Subversion, consultez :
Pour en savoir plus sur Subversion, consultez :
</p>
<ul>
<li> un ouvrage de référence : <a
<li> un ouvrage de référence : <a
href="http://svnbook.red-bean.com/">Version Control with Subversion</a>
(en anglais) ;</li>
(en anglais) ;</li>
<li> la page d'aide de Subversion : <code>svn help</code>.</li>
<li> la page d'aide de Subversion : <code>svn help</code>.</li>
</ul>
<div class="metainformation">
Auteur : Baptiste Mélès.
Dernière modification le <date value="$Date: 2007-07-17 10:02:57 $" />.
Auteur : Baptiste Mélès.
Dernière modification le <date value="$Date: 2007-07-17 10:02:57 $" />.
</div>
</body>

View file

@ -12,13 +12,13 @@
<p>
<a href="http://tkabber.jabber.ru/">Tkabber</a> est un client libre
pour <a href="&url.tuteurs;internet/jabber.html">Jabber</a>, le réseau
pour <a href="&url.tuteurs;internet/jabber.html">Jabber</a>, le réseau
libre de <a href="&url.tuteurs;internet/im.html">messagerie
instantanée</a>. Il est également disponible pour Windows.
instantanée</a>. Il est également disponible pour Windows.
</p>
<div class="encadre">
<strong>Attention</strong> : pour utilise Tkabber, mieux vaut avoir lu
<strong>Attention</strong> : pour utilise Tkabber, mieux vaut avoir lu
aupravant la page sur le protocole <a
href="&url.tuteurs;internet/jabber.html">Jabber</a>.
</div>
@ -26,43 +26,43 @@ href="&url.tuteurs;internet/jabber.html">Jabber</a>.
<h2>Lancer Tkabber</h2>
<p>
Tapez simplement <code>tkabber</code> dans une fenêtre et Tkabber se
Tapez simplement <code>tkabber</code> dans une fenêtre et Tkabber se
lancera. Vous verrez d'abord un <i lang="en">splash screen</i> pendant
que le logiciel se charge, puis vous verrez un écran de login
apparaître.
que le logiciel se charge, puis vous verrez un écran de login
apparaître.
</p>
<div class="illustration">
<img src="&url.tuteurs;internet/tkabber_1.png" width="534" height="221" alt="[Écran de login de Tkabber]" />
<img src="&url.tuteurs;internet/tkabber_1.png" width="534" height="221" alt="[Écran de login de Tkabber]" />
</div>
<h2>Lancer une discussion</h2>
<p>
Dans la partie gauche de la fenêtre se trouve la liste des contacts,
Dans la partie gauche de la fenêtre se trouve la liste des contacts,
qui s'appelle <i lang="en">roster</i> (liste, tableau de service) en
jargon jabbérien. Les icônes vous indiquent le statut de vos
contacts : connectés, non disponibles, etc. Pour engager une
discussion avec l'un de vos contacts, double-cliquez sur son icône.
jargon jabbérien. Les icônes vous indiquent le statut de vos
contacts : connectés, non disponibles, etc. Pour engager une
discussion avec l'un de vos contacts, double-cliquez sur son icône.
</p>
<div class="illustration">
<img src="tkabber_4.png" width="569"
height="338" alt="[Écran de discussion de Tkabber]" />
height="338" alt="[Écran de discussion de Tkabber]" />
</div>
<p>
Dans la partie droite de la fenêtre se trouve désormais la fenêtre de
discussions. Remarquez le système d'onglet : on a lancé le <a
Dans la partie droite de la fenêtre se trouve désormais la fenêtre de
discussions. Remarquez le système d'onglet : on a lancé le <a
href="&url.tuteurs;internet/jabber.html#browser">browser</a> de
Tkabber, avant de commencer une discussion avec « Super Tuteur » d'où
l'onglet « Browser » que vous pouvez voir à gauche de celui intitulé
« Super Tuteur ».
Tkabber, avant de commencer une discussion avec « Super Tuteur » d'où
l'onglet « Browser » que vous pouvez voir à gauche de celui intitulé
« Super Tuteur ».
</p>
<p>
Pour écrire votre message, tapez simplement dans le cadre du bas
(celui où on voit le curseur sur la capture d'écran) avant d'envoyer
Pour écrire votre message, tapez simplement dans le cadre du bas
(celui où on voit le curseur sur la capture d'écran) avant d'envoyer
le message en appuyant sur <code>Enter</code>.
</p>
@ -72,36 +72,36 @@ le message en appuyant sur <code>Enter</code>.
<h3>Sauvegarder vos identifiants</h3>
<p>
Après vous être logué pour la première fois, mieux vaut sauvegarder
Après vous être logué pour la première fois, mieux vaut sauvegarder
vos identifiants. Pour cela, allez dans <code>Tkabber &gt;
Customize</code>. L'écran de configuration n'est pas très convivial,
Customize</code>. L'écran de configuration n'est pas très convivial,
mais on s'y habitue assez vite. Cliquez sur le bouton
<code>Open</code> qui est en face de « Login ». Vous êtes désormais
dans la section « Login » du panneau de configuration.
<code>Open</code> qui est en face de « Login ». Vous êtes désormais
dans la section « Login » du panneau de configuration.
</p>
<div class="illustration">
<img src="tkabber_3.png" width="566" height="391"
alt="[Fenêtre de discussion de Tkabber]" />
alt="[Fenêtre de discussion de Tkabber]" />
</div>
<p>
La première ligne s'appelle « loginconf(user) » : c'est celle qui
définit votre <abbr title="Jabber IDentity">JID</abbr>. À côté du
bouton <code>State</code>, vous voyez que vous avez déjà défini un
JID, mais que vous ne l'avez pas sauvegardé. Cliquez sur
La première ligne s'appelle « loginconf(user) » : c'est celle qui
définit votre <abbr title="Jabber IDentity">JID</abbr>. À côté du
bouton <code>State</code>, vous voyez que vous avez déjà défini un
JID, mais que vous ne l'avez pas sauvegardé. Cliquez sur
<code>State</code> pour changer les choses, on vous proposera alors de
la sauvegarder pour la session en cours, pour les sessions à venir ou
encore de revenir à la dernière valeur enregistrée. Pour sauvegarder
son mot de passe, même opération à la ligne « loginconf(password) ».
la sauvegarder pour la session en cours, pour les sessions à venir ou
encore de revenir à la dernière valeur enregistrée. Pour sauvegarder
son mot de passe, même opération à la ligne « loginconf(password) ».
</p>
<p>
Vous pouvez également sauvegarder vos identifiants en les indiquant
Vous pouvez également sauvegarder vos identifiants en les indiquant
dans le fichier de configuration,
<code>.tkabber/config.tcl</code>. Utilisez l'éditeur de votre choix
<code>.tkabber/config.tcl</code>. Utilisez l'éditeur de votre choix
(<a href="&url.tuteurs;unix/editeurs/nedit.html">NEdit</a> par exemple) pour
créer et/ou éditer <code>config.tcl</code> :
créer et/ou éditer <code>config.tcl</code> :
</p>
<pre>
@ -114,17 +114,17 @@ set defaultnick(JID@jabber.org) mon_pseudo
</pre>
<p class="continue">
Évidemment, remplacez « JID » par votre véritable JID et
<code>jabber.org</code> par votre serveur. La dernière ligne sert à
définir votre pseudo.
Évidemment, remplacez « JID » par votre véritable JID et
<code>jabber.org</code> par votre serveur. La dernière ligne sert à
définir votre pseudo.
</p>
<h3>Éditer votre profil</h3>
<h3>Éditer votre profil</h3>
<p>
Cliquez sur <code>Service &gt; Edit my info</code>. Vous pouvez alors
indiquer votre nom, prénom, page Web, téléphone, etc. Vous pouvez
également y indiquer une photo/icône (équivalent du « buddy icon » des
indiquer votre nom, prénom, page Web, téléphone, etc. Vous pouvez
également y indiquer une photo/icône (équivalent du « buddy icon » des
autres protocoles d'IM).
</p>
@ -132,57 +132,57 @@ autres protocoles d'IM).
<h3>Indiquer votre statut</h3>
<p>
Pour indiquer si vous êtes prêt à discuter, parti temporairement,
etc., cliquez sur le bouton <code>Online</code> en bas à gauche de la
fenêtre Tkabber (vous pouvez aussi passer par <code>Tkabber &gt;
Presence</code>). Un menu déroulant vous permet alors de sélectionner
votre statut : « online » (connecté), « invisible » (connecté, mais
personne ne peut vous voir), « do not disturb » (ne pas déranger),
« away » (pas là pour le moment », « extended away » (pas là pour un
bon bout de temps), « free to chat » (rien à faire en ce moment, prêt
à discuter).
Pour indiquer si vous êtes prêt à discuter, parti temporairement,
etc., cliquez sur le bouton <code>Online</code> en bas à gauche de la
fenêtre Tkabber (vous pouvez aussi passer par <code>Tkabber &gt;
Presence</code>). Un menu déroulant vous permet alors de sélectionner
votre statut : « online » (connecté), « invisible » (connecté, mais
personne ne peut vous voir), « do not disturb » (ne pas déranger),
« away » (pas là pour le moment », « extended away » (pas là pour un
bon bout de temps), « free to chat » (rien à faire en ce moment, prêt
à discuter).
</p>
<h2>Personnalisation</h2>
<h3>Thèmes</h3>
<h3>Thèmes</h3>
<p>
Il faut passer par le fichier de configuration,
<code>config.tcl</code> (dans le répertoire <code>.tkabber</code>). Il
existe plusieurs thèmes : black, dark, ermine, green, ice, light,
<code>config.tcl</code> (dans le répertoire <code>.tkabber</code>). Il
existe plusieurs thèmes : black, dark, ermine, green, ice, light,
teopetuk et warm. Vous pouvez en voir quelques-uns en jettant un coup
d'&oelig;il à la page des <a
href="http://tkabber.jabber.ru/book/view/29">captures d'écran de
Tkabber</a>. Pour choisir un thème, éditez <code>config.tcl</code>,
par exemple ici on choisir le thème Ice :
d'&oelig;il à la page des <a
href="http://tkabber.jabber.ru/book/view/29">captures d'écran de
Tkabber</a>. Pour choisir un thème, éditez <code>config.tcl</code>,
par exemple ici on choisir le thème Ice :
</p>
<pre>
# Choisir un thème
# Choisir un thème
set load_default_xrdb 0
option readfile /opt/gourous/share/util/packages/tkabber/examples/ice.xrdb userDefault
</pre>
<p class="continue">
Ces lignes ont l'air un peu ésotériques, en fait il suffit de changer
le nom du fichier en <code>.xdrb</code> pour changer de thème.
Ces lignes ont l'air un peu ésotériques, en fait il suffit de changer
le nom du fichier en <code>.xdrb</code> pour changer de thème.
</p>
<h3>Set d'icônes</h3>
<h3>Set d'icônes</h3>
<p>
Même topo pour les icônes : vous pouvez en changer. Les sets d'icônes
proposées sont tirées de d'autres clients IM. Il existe les sets
suivants : <code>gabber</code>, <code>jajc</code>, <code>jarl</code>,
<code>psi</code>, ou <code>icq</code>. Le set d'icônes utilisé pour les
captures d'écran est Psi. Pour indiquer un set, ajoutez à votre
Même topo pour les icônes : vous pouvez en changer. Les sets d'icônes
proposées sont tirées de d'autres clients IM. Il existe les sets
suivants : <code>gabber</code>, <code>jajc</code>, <code>jarl</code>,
<code>psi</code>, ou <code>icq</code>. Le set d'icônes utilisé pour les
captures d'écran est Psi. Pour indiquer un set, ajoutez à votre
<code>config.tcl</code> :
</p>
<pre>
# Choisir un set d'icônes
# Choisir un set d'icônes
set pixmaps_theme icq
</pre>
@ -191,21 +191,21 @@ set pixmaps_theme icq
<p>
C'est la petite image qui vous fait patienter pendant que que Tkabber
se lance. Elle affiche quelques informations comme le numéro de la
version, le nom des développeurs, l'adresse du site Web, ainsi qu'une
barre de progression indiquant où en est le lancement. Si vous faites
partie des gens qui haïssent les <i lang="en">splash screen</i>,
ajoutez à votre <code>config.tcl</code> :
se lance. Elle affiche quelques informations comme le numéro de la
version, le nom des développeurs, l'adresse du site Web, ainsi qu'une
barre de progression indiquant où en est le lancement. Si vous faites
partie des gens qui haïssent les <i lang="en">splash screen</i>,
ajoutez à votre <code>config.tcl</code> :
</p>
<pre>
# À mort le splash screen !
# À mort le splash screen !
set show_splash_window 0
</pre>
<div class="metainformation">Auteur : Marie-Lan Nguyen.
Dernière modification : le <date value="$Date: 2007-07-17 10:02:46 $" />.
<div class="metainformation">Auteur : Marie-Lan Nguyen.
Dernière modification : le <date value="$Date: 2007-07-17 10:02:46 $" />.
</div>
</body>