Problèmes d'encodage
Réparation des pages récentes de Rémy qui étaient déjà en UTF-8 et que j'avais re-« converties » par accident. Last-change: ignore this commit
This commit is contained in:
parent
fc16ff582d
commit
d6229e8bae
2 changed files with 169 additions and 169 deletions
|
@ -8,117 +8,117 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<h1>Contrôle de versions avec Git</h1>
|
<h1>Contrôle de versions avec Git</h1>
|
||||||
|
|
||||||
<h2>C'est quoi ?</h2>
|
<h2>C'est quoi ?</h2>
|
||||||
|
|
||||||
<p>Le logiciel <code>git</code> est utilisé notamment par les développeurs
|
<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,
|
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
|
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
|
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>
|
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 Ã
|
<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
|
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
|
exemple, Git ne fait pas de différence entre un dépôt principal et les
|
||||||
copies locales chez les différents contributeurs.</p>
|
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
|
gros projets, comme c'est le cas du noyau Linux, en rendant
|
||||||
complètement naturelle l'existence de dépôts alternatifs pour chaque
|
complètement naturelle l'existence de dépôts alternatifs pour chaque
|
||||||
sous-projet, avec une granularité de modifications très fine, et Ã
|
sous-projet, avec une granularité de modifications très fine, et à
|
||||||
plus grande échelle, une faible granularité du dépôt principal qui
|
plus grande échelle, une faible granularité du dépôt principal qui
|
||||||
reçoit périodiquement les modifications par paquets.</p>
|
reçoit périodiquement les modifications par paquets.</p>
|
||||||
|
|
||||||
<p>à l'inverse, pour travailler à deux, <code>git</code> évite le
|
<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
|
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
|
effet travailler de manière totalement symétrique, chacun recopiant
|
||||||
les modifications de l'autre : il suffit d'un accès en lecture aux
|
les modifications de l'autre : il suffit d'un accès en lecture aux
|
||||||
fichiers de ses collaborateurs.</p>
|
fichiers de ses collaborateurs.</p>
|
||||||
|
|
||||||
<p>J'expliquerai ici comment se servir de la version 1.5 de
|
<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>
|
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>
|
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
|
<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
|
suivante dans son répertoire de travail (que nous désignerons dans la
|
||||||
suite par <code>monsiteweb</code>).</p>
|
suite par <code>monsiteweb</code>).</p>
|
||||||
|
|
||||||
<pre>git init</pre>
|
<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
|
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
|
<pre>git add sommaire.html
|
||||||
git commit</pre>
|
git commit</pre>
|
||||||
|
|
||||||
<p>La première indique à git notre modification : le fichier
|
<p>La première indique à git notre modification : le fichier
|
||||||
<code>sommaire.html</code> existe et doit être pris en compte. Il n'est
|
<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
|
pas toujours pertinent de suivre les modifications de n'importe quel
|
||||||
fichier. En particulier, lorsque des fichiers sont engendrés
|
fichier. En particulier, lorsque des fichiers sont engendrés
|
||||||
automatiquement à partir de fichiers source, ce sont les fichiers
|
automatiquement à partir de fichiers source, ce sont les fichiers
|
||||||
source et les générateurs qu'il est important de conserver. La
|
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
|
commande <code>git commit</code> sert à enregistrer dans le dépôt les
|
||||||
modifications apportées.</p>
|
modifications apportées.</p>
|
||||||
|
|
||||||
<p>Lors d'un <em>check-in</em> (avec la commande <code>git
|
<p>Lors d'un <em>check-in</em> (avec la commande <code>git
|
||||||
commit</code>), git demande un texte de journal (<em>commit
|
commit</code>), git demande un texte de journal (<em>commit
|
||||||
log</em>). Ce texte permet de repérer facilement les modifications
|
log</em>). Ce texte permet de repérer facilement les modifications
|
||||||
effectuées par chaque commit, aussi bien pour les autres que pour
|
effectuées par chaque commit, aussi bien pour les autres que pour
|
||||||
soi-même. Chaque commit est identifié par un numéro unique,
|
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
|
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
|
de référence, par exemple, lors qu'on veut annuler une
|
||||||
modification.</p>
|
modification.</p>
|
||||||
|
|
||||||
<p>La commande <code>git add</code> ajoute un fichier dans le dépôt. On
|
<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
|
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
|
commandes suivantes permettent ainsi de créer et remplir un dépôt git
|
||||||
dans un répertoire avec tout son contenu.</p>
|
dans un répertoire avec tout son contenu.</p>
|
||||||
|
|
||||||
<pre>git init
|
<pre>git init
|
||||||
git add *
|
git add *
|
||||||
git commit</pre>
|
git commit</pre>
|
||||||
|
|
||||||
<div class="encadre">Le dépôt git est enregistré dans le sous-répertoire
|
<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
|
<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
|
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
|
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
|
contributeur. Noter que ce répertoire est souvent invisible dans les
|
||||||
explorateurs de fichiers et dans la sortie de la commande <code>ls</code>,
|
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
|
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
|
compressés pour occuper moins de place (voir la commande <code>git
|
||||||
repack</code> et <code>git gc</code>).</div>
|
repack</code> et <code>git gc</code>).</div>
|
||||||
|
|
||||||
<p>On dispose d'une interface graphique (<code>git-gui</code>) et d'une
|
<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Ã
|
<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
|
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
|
<code>/home/xanadu/these</code>, le dénommé Yoda peut l'aider en clonant
|
||||||
son dépôt par la commande suivante</p>
|
son dépôt par la commande suivante</p>
|
||||||
|
|
||||||
<pre>git clone /home/xanadu/these cible</pre>
|
<pre>git clone /home/xanadu/these cible</pre>
|
||||||
|
|
||||||
<p class="continue">où <code>cible</code> est le répertoire qui contiendra la copie. Yoda
|
<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
|
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>
|
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
|
<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
|
machines distantes. On peut ainsi remplacer le répertoire par une adresse
|
||||||
du type <code>ssh://login@machine/home/xanadu/these</code>, si le
|
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
|
<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
|
adresses de la forme <code>git://git.logiciel.org/trunk</code> ou encore
|
||||||
<code>http://git.logiciel.org/trunk</code>.</div>
|
<code>http://git.logiciel.org/trunk</code>.</div>
|
||||||
|
|
||||||
<p>Yoda effectue alors quelques opérations sur les fichiers. Il enregistre
|
<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>
|
régulièrement ses modifications dans le dépôt proprement dit en tapant</p>
|
||||||
|
|
||||||
<pre>git commit -a</pre>
|
<pre>git commit -a</pre>
|
||||||
|
|
||||||
|
@ -126,91 +126,91 @@ régulièrement ses modifications dans le dépôt proprement dit en tapa
|
||||||
modifications.</p>
|
modifications.</p>
|
||||||
|
|
||||||
<p>Si d'aventure Xanadu continuait de travailler sur son projet, Yoda peut
|
<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>
|
</p>
|
||||||
|
|
||||||
<pre>git pull</pre>
|
<pre>git pull</pre>
|
||||||
|
|
||||||
<p>dans son dépôt. Quant à Xanadu, si elle veut bénéficier des
|
<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
|
modifications apportées par Yoda, se trouvant dans le répertoire
|
||||||
<code>/home/yoda/cible</code>, elle peut lancer la commande suivante chez
|
<code>/home/yoda/cible</code>, elle peut lancer la commande suivante chez
|
||||||
elle.</p>
|
elle.</p>
|
||||||
|
|
||||||
<pre>git pull /home/yoda/cible</pre>
|
<pre>git pull /home/yoda/cible</pre>
|
||||||
|
|
||||||
<p>Si Yoda pouvait accéder en écriture aux fichiers de Xanadu, il
|
<p>Si Yoda pouvait accéder en écriture aux fichiers de Xanadu, il
|
||||||
pourrait également lui transmettre ses modifications par la commande
|
pourrait également lui transmettre ses modifications par la commande
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre>git push</pre>
|
<pre>git push</pre>
|
||||||
|
|
||||||
<p>Entraînée par sa paresse naturelle, Xanadu aimerait facilement récupérer
|
<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ù
|
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
|
il les enregistre. Elle définit donc un raccourci de la manière
|
||||||
suivante</p>
|
suivante</p>
|
||||||
|
|
||||||
<pre>git remote add yoda /home/yoda/cible</pre>
|
<pre>git remote add yoda /home/yoda/cible</pre>
|
||||||
|
|
||||||
<p>La commande <code>git remote show yoda</code> permet de consulter
|
<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>
|
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
|
permet de récupérer directement ses modifications. On peut également
|
||||||
utiliser les commandes </p>
|
utiliser les commandes </p>
|
||||||
|
|
||||||
<pre>git fetch yoda
|
<pre>git fetch yoda
|
||||||
git merge yoda/master</pre>
|
git merge yoda/master</pre>
|
||||||
|
|
||||||
<p class="encadre">Ici, <code>master</code> est la branche du dépôt de Yoda
|
<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
|
que Xanadu souhaite utiliser. Un dépôt git peut comporter plusieurs
|
||||||
branches correspondant à autant de directions différentes de
|
branches correspondant à autant de directions différentes de
|
||||||
développement. Ce système permet d'essayer diverses orientations, avant 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
|
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>
|
<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
|
<p>Contrairement à git, Subversion, dans un usage normal, ne clone pas
|
||||||
entièrement le dépôt distant avec ses modifications successives, mais
|
entièrement le dépôt distant avec ses modifications successives, mais
|
||||||
conserve seulement une copie de la dernière version. Il est possible
|
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
|
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
|
Subversion en utilisant le script <code>git-svn</code>. Ceci permet, par
|
||||||
exemple, de travailler facilement à plusieurs sur un sous-projet donné, en
|
exemple, de travailler facilement à plusieurs sur un sous-projet donné, en
|
||||||
envoyant périodiquement le résultat du travail.</p>
|
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>
|
<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
|
<p>La commande précédente permet d'importer la totalité d'un projet
|
||||||
Subversion, avec ses différentes branches et tags (correpondant
|
Subversion, avec ses différentes branches et tags (correpondant
|
||||||
généralement aux différentes versions publiées). Attention, cela prend
|
généralement aux différentes versions publiées). Attention, cela prend
|
||||||
généralement beaucoup de place. Cependant, l'utilisation de
|
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
|
<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
|
occupé à l'ordre de grandeur de la taille d'un <em>checkout</em> Subversion
|
||||||
(mais ici on garde tout l'historique).</p>
|
(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>
|
commandes</p>
|
||||||
<pre>git-svn rebase
|
<pre>git-svn rebase
|
||||||
git-svn dcommit</pre>
|
git-svn dcommit</pre>
|
||||||
<p class="continue">permettent respectivement de recevoir et d'envoyer les modifications
|
<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
|
<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
|
l'enregistrer sous forme de dépôt git, on dispose de la commande
|
||||||
<code>git-cvsimport</code>.</p>
|
<code>git-cvsimport</code>.</p>
|
||||||
|
|
||||||
<pre>git-cvsimport -d:pserver:anonymous@cvs.truc.org:/sources projet</pre>
|
<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
|
<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
|
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>
|
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
|
<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
|
l'enregistrer sous forme de dépôt git, on dispose de la commande
|
||||||
<code>git-archimport</code>.</p>
|
<code>git-archimport</code>.</p>
|
||||||
|
|
||||||
<pre><span class="prompt">machine $</span> tla register-archive http://arch.foobar.org/archives/software
|
<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> tla my-default-archive user@arch.foobar.org
|
||||||
<span class="prompt">machine $</span> git-archimport software--devo--0:master</pre>
|
<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
|
<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
|
du client <code>tla</code> qui est la façon la plus commune d'accéder aux
|
||||||
dépôts GNU Arch.</p>
|
dépôts GNU Arch.</p>
|
||||||
|
|
||||||
<h2>En savoir plus</h2>
|
<h2>En savoir plus</h2>
|
||||||
|
|
||||||
|
@ -229,7 +229,7 @@ dépôts GNU Arch.</p>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div class="metainformation">
|
<div class="metainformation">
|
||||||
Auteur : Rémy Oudompheng.
|
Auteur : Rémy Oudompheng.
|
||||||
<date value="from git" />
|
<date value="from git" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -11,76 +11,76 @@
|
||||||
|
|
||||||
<div class="resume">
|
<div class="resume">
|
||||||
<p>Cette page a pour but de montrer comment on peut utiliser le
|
<p>Cette page a pour but de montrer comment on peut utiliser le
|
||||||
programme XeTeX pour utiliser facilement des polices extérieures et
|
programme XeTeX pour utiliser facilement des polices extérieures et
|
||||||
taper du texte dans des systèmes d'écriture latins ou non latins.</p>
|
taper du texte dans des systèmes d'écriture latins ou non latins.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h2>Qu'est-ce que XeTeX</h2>
|
<h2>Qu'est-ce que XeTeX</h2>
|
||||||
|
|
||||||
<p>XeTeX est un programme basé sur TeX, qui en est une variante (les
|
<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
|
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
|
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>
|
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
|
<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
|
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
|
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
|
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>
|
persan.</p>
|
||||||
|
|
||||||
<h2>Compiler un fichier avec XeLaTeX</h2>
|
<h2>Compiler un fichier avec XeLaTeX</h2>
|
||||||
|
|
||||||
<p>De la même manière qu'on utilise la commande <code>latex</code> pour
|
<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
|
compiler les fichiers écrits pour LaTeX, on utilise la commande
|
||||||
<code>xelatex</code> pour compiler les fichiers LaTeX destinés Ã
|
<code>xelatex</code> pour compiler les fichiers LaTeX destinés à
|
||||||
profiter des fonctionnalités de XeTeX.</p>
|
profiter des fonctionnalités de XeTeX.</p>
|
||||||
|
|
||||||
<p>La commande <code>xelatex</code> s'utilise comme la commande
|
<p>La commande <code>xelatex</code> s'utilise comme la commande
|
||||||
<code>pdflatex</code>.</p>
|
<code>pdflatex</code>.</p>
|
||||||
<pre>xelatex fichier.tex</pre>
|
<pre>xelatex fichier.tex</pre>
|
||||||
<p>L'option <code>-no-pdf</code> permet de retrouver le comportement de la
|
<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
|
commande <code>latex</code> qui ne produit pas un fichier directement
|
||||||
lisible mais un fichier intermédiaire de la forme
|
lisible mais un fichier intermédiaire de la forme
|
||||||
<code>fichier.xdv</code>. La commande <code>xdvipdfmx</code> sert Ã
|
<code>fichier.xdv</code>. La commande <code>xdvipdfmx</code> sert à
|
||||||
convertir les fichiers XDV en fichers PDF.</p>
|
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
|
<p>XeTeX accepte les fichiers encodés en UTF-8. Pour cela, ajouter au
|
||||||
début du document la commande </p>
|
début du document la commande </p>
|
||||||
<pre>\XeTeXdefaultencoding utf-8</pre>
|
<pre>\XeTeXdefaultencoding utf-8</pre>
|
||||||
<p class="continue">pour en tenir compte.</p>
|
<p class="continue">pour en tenir compte.</p>
|
||||||
|
|
||||||
<p>XeLaTeX possède un certain nombre de paquets spécifiques, et au
|
<p>XeLaTeX possède un certain nombre de paquets spécifiques, et au
|
||||||
contraire ne doit pas être utilisé avec certains paquets traditionnels
|
contraire ne doit pas être utilisé avec certains paquets traditionnels
|
||||||
de LaTeX.</p>
|
de LaTeX.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>les paquets <code>inputenc</code> et <code>fontenc</code> sont
|
<li>les paquets <code>inputenc</code> et <code>fontenc</code> sont
|
||||||
inutiles</li>
|
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>
|
facilement</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2>Comment faire</h2>
|
<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 Ã
|
<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
|
LaTeX : savoir taper un texte quelconque, dans la langue qui vous
|
||||||
intéresse, en Unicode. Heureusement, nous avons une documentation sur
|
intéresse, en Unicode. Heureusement, nous avons une documentation sur
|
||||||
les <a href="&url.tuteurs;unix/editeurs/unicode.html">éditeurs en
|
les <a href="&url.tuteurs;unix/editeurs/unicode.html">éditeurs en
|
||||||
Unicode</a>, que nous vous invitons à lire avant d'aller plus loin si
|
Unicode</a>, que nous vous invitons à lire avant d'aller plus loin si
|
||||||
ce n'est déjà fait.</p>
|
ce n'est déjà fait.</p>
|
||||||
|
|
||||||
<p>Tout ce que vous avez à faire maintenant, c'est de créer votre
|
<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
|
fichier LaTeX avec votre éditeur en Unicode. Nous allons voir dans un
|
||||||
instant ce qu'il faut mettre dans le préambule.</p>
|
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
|
<p>Les fichiers déjà écrits pour LaTeX peuvent nécessiter quelques
|
||||||
adaptations : grâce à votre éditeur de texte favori, enregistrez votre
|
adaptations : grâce à votre éditeur de texte favori, enregistrez votre
|
||||||
fichier au format UTF-8, et remplacez les lignes</p>
|
fichier au format UTF-8, et remplacez les lignes</p>
|
||||||
<pre>\usepackage[T1]{fontenc}
|
<pre>\usepackage[T1]{fontenc}
|
||||||
\usepackage[utf8]{inputenc}</pre>
|
\usepackage[utf8]{inputenc}</pre>
|
||||||
|
@ -88,40 +88,40 @@
|
||||||
<pre>\XeTeXdefaultencoding utf-8
|
<pre>\XeTeXdefaultencoding utf-8
|
||||||
\usepackage{fontspec}</pre>
|
\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
|
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
|
il faudra se procurer une police capable de les afficher. Prenons par
|
||||||
exemple la police <em>FreeSerif</em>. La commande suivante permet de
|
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>
|
<pre>\setmainfont[Mapping=tex-text,Ligatures=Common]{FreeSerif}</pre>
|
||||||
<p>Les options indiquées permettent respectivement d'utiliser certaines
|
<p>Les options indiquées permettent respectivement d'utiliser certaines
|
||||||
suites de caractères pour les caractères spéciaux (comme
|
suites de caractères pour les caractères spéciaux (comme
|
||||||
<code>---</code> pour —), et d'utiliser les ligatures standard
|
<code>---</code> pour —), et d'utiliser les ligatures standard
|
||||||
de la police si celle-ci en possède (notamment fi et ffi).</p>
|
de la police si celle-ci en possède (notamment fi et ffi).</p>
|
||||||
|
|
||||||
<div class="attention">
|
<div class="attention">
|
||||||
<p>Attention, certaines anciennes polices, datant d'avant
|
<p>Attention, certaines anciennes polices, datant d'avant
|
||||||
l'introduction du standard Unicode pour l'encodage des caractères,
|
l'introduction du standard Unicode pour l'encodage des caractères,
|
||||||
permettent d'afficher des écritures non latines, en remplaçant les
|
permettent d'afficher des écritures non latines, en remplaçant les
|
||||||
dessins des caractères latins par ceux des caractères grecs : elles
|
dessins des caractères latins par ceux des caractères grecs : elles
|
||||||
permettent ainsi d'«écrire en grec» avec un clavier latin (comme la
|
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 Ã
|
police <em>Symbol</em>). L'usage de ces polices de caractères est à
|
||||||
proscrire : l'utilisation de systèmes Unicode permet aux fichiers de
|
proscrire : l'utilisation de systèmes Unicode permet aux fichiers de
|
||||||
reproduire fidèlement les caractères présents dans le texte.</p>
|
reproduire fidèlement les caractères présents dans le texte.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>Il est possible que la police choisie par défaut ne convienne pas Ã
|
<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
|
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
|
nécessaire, rien de plus simple : il suffit de déclarer une nouvelle
|
||||||
police avec la commande suivante</p>
|
police avec la commande suivante</p>
|
||||||
<pre>\newfontfamily\cjkfont[Script=CJK]{AR PL ZenKai Uni}</pre>
|
<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
|
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>
|
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>
|
<h2>Un exemple</h2>
|
||||||
|
|
||||||
|
@ -133,33 +133,33 @@
|
||||||
\usepackage[margin=4cm]{geometry}
|
\usepackage[margin=4cm]{geometry}
|
||||||
\usepackage{amsthm}
|
\usepackage{amsthm}
|
||||||
|
|
||||||
\title{Îá¼± ÏÏῶÏοι á¼Ïιθμοί}
|
\title{Οἱ πρῶτοι ἀριθμοί}
|
||||||
\date{20 ÎαÏÏίοÏ
2008}
|
\date{20 Μαρτίου 2008}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
\maketitle
|
\maketitle
|
||||||
|
|
||||||
\textbf{ÎεώÏημα 1.} «Îá¼± ÏÏῶÏοι á¼Ïιθμοὶ ÏλείοÏ
Ï Îµá¼°Ïὶ ÏανÏá½¸Ï Ïοῦ ÏÏοÏεθένÏοÏ
|
\textbf{Θεώρημα 1.} «Οἱ πρῶτοι ἀριθμοὶ πλείους εἰσὶ παντὸς τοῦ προτεθέντος
|
||||||
ÏλήθοÏ
Ï ÏÏá½½ÏÏν á¼Ïιθμῶν.» (\emph{ΣÏοιÏεία}, Îá½ÎºÎ»Îµá½·Î´Î·Ï). á¼Ïα, Ïὸ Ïύνολο Ïῶν
|
πλήθους πρώτων ἀριθμῶν.» (\emph{Στοιχεία}, Εὐκλείδης). Ἄρα, τὸ σύνολο τῶν
|
||||||
ÏÏá½½ÏÏν á¼Ïιθμῶν εἶναι á¼ÏειÏο.
|
πρώτων ἀριθμῶν εἶναι ἄπειρο.
|
||||||
|
|
||||||
\textsc{á¼Ïόδειξη. } á¼ÏÏÏ $P$ á¼vα ÏεÏεÏαÏμένο Ïύνολο $\{p_1, \dots, p_k\}$
|
\textsc{Ἀπόδειξη. } Ἔστω $P$ ἕvα πεπερασμένο σύνολο $\{p_1, \dots, p_k\}$
|
||||||
ÏÏá½½ÏÏν á¼Ïιθμῶν. ÎεÏÏοῦμε Ïὸv á¼Îºá½³Ïαιον á¼Ïιθμόν $N := p_1\cdots p_k + 1$, Ïοὺ
|
πρώτων ἀριθμῶν. Θεωροῦμε τὸv ἀκέραιον ἀριθμόν $N := p_1\cdots p_k + 1$, ποὺ
|
||||||
εἶναι μεγαλύÏεÏÎ¿Ï Ïοῦ $1$. ΤόÏε á½Ïá½±ÏÏει á¼Î½Î± ÏÏῶÏο διαιÏá½³Ïη $q$ Ïοῦ $N$.
|
εἶναι μεγαλύτερος τοῦ $1$. Τότε ὑπάρχει ἕνα πρῶτο διαιρέτη $q$ τοῦ $N$.
|
||||||
á¼v $q = p_i$, Ïá½¹Ïε $q | N - p_1\cdots p_k$, á¼Ïα $q | 1$, καὶ αá½Ïὸ εἶναι
|
Ἄv $q = p_i$, τότε $q | N - p_1\cdots p_k$, ἄρα $q | 1$, καὶ αὑτὸ εἶναι
|
||||||
á¼ÏοÏο. $\qed$
|
ἄτοπο. $\qed$
|
||||||
|
|
||||||
\end{document}</pre>
|
\end{document}</pre>
|
||||||
|
|
||||||
<h2>Informations complémentaires</h2>
|
<h2>Informations complémentaires</h2>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Le <a href="http://scripts.sil.org/xetex">site officiel</a></li>
|
<li>Le <a href="http://scripts.sil.org/xetex">site officiel</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div class="metainformation">
|
<div class="metainformation">
|
||||||
Auteur : Rémy Oudompheng.
|
Auteur : Rémy Oudompheng.
|
||||||
<date value="from git" />
|
<date value="from git" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue