b02c6087c3
Last-change: ignore this commit
224 lines
9.6 KiB
XML
224 lines
9.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!DOCTYPE html
|
||
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
||
"tuteurs://DTD/tml.dtd">
|
||
<html>
|
||
<head>
|
||
<title>XeTeX</title>
|
||
</head>
|
||
<body>
|
||
<h1>Polices et langues exotiques avec XeTeX</h1>
|
||
|
||
<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>
|
||
</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>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 habituels pour produire des documents, qu'ils soient
|
||
é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>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 PDF directement
|
||
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>
|
||
|
||
<p>XeTeX accepte les fichiers encodés en UTF-8 seulement, par défaut.
|
||
assurez-vous donc d'utiliser un éditeur de texte compatible
|
||
(voir aussi <a href="&url.tuteurs;faq/utf8.html#editeurs">la page
|
||
concernant UTF-8</a> pour plus d'informations).</p>
|
||
|
||
<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
|
||
facilement</li>
|
||
</ul>
|
||
|
||
<h2>Comment faire</h2>
|
||
|
||
<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>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>
|
||
|
||
<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>
|
||
<p class="continue">par</p>
|
||
<pre>\usepackage{fontspec}</pre>
|
||
|
||
<h3>Choisir une police de caractères</h3>
|
||
|
||
<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,
|
||
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>
|
||
<pre>\setmainfont[Ligatures=TeX]{FreeSerif}</pre>
|
||
<p>Les options indiquées permettent respectivement d'utiliser certaines
|
||
suites de caractères pour les caractères spéciaux (comme
|
||
<code>---</code> pour —), l'option <code>Ligatures=Common</code>
|
||
permet d'utiliser les ligatures standard
|
||
de la police si celle-ci en possède (notamment fi et ffi).</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>
|
||
</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
|
||
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
|
||
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>
|
||
|
||
<h2>Documents en langue étrangère avec polyglossia</h2>
|
||
|
||
<h3>Présentation</h3>
|
||
|
||
<p>Le paquet <code>polyglossia</code> ne fonctionne qu'avec XeTeX, et sert
|
||
à remplacer le paquet <code>babel</code>. Attention cependant : toutes les
|
||
focntionnalités de babel n'y sont pas présentes, notamment le remplacement
|
||
des puces par des tirets dans les environnements <code>itemize</code>,
|
||
pour les documents en français.
|
||
</p>
|
||
|
||
<p>L'intérêt principal de <code>polyglossia</code> est de fournir des
|
||
traductions pour les textes affichés traditionnellement par LaTeX
|
||
(les dates, les mots <em>Section</em>, <em>Chapter</em>, <em>Contents</em>,
|
||
<em>Proof</em>...).
|
||
</p>
|
||
|
||
<p>Là où on écrivait auparavant <code>\usepackage[francais]{babel}</code>
|
||
il faudra écrire par exemple</p>
|
||
<pre>\usepackage{polyglossia}
|
||
\setdefaultlanguage{french}
|
||
\setotherlanguage[variant=british]{english}
|
||
</pre>
|
||
<p class="continue">qui indique que le texte est en français (on verra ainsi
|
||
<em>Table des matières</em> au lieu de <em>Contents</em> et permet d'insérer
|
||
des passages en anglais britannique avec <code>\begin{english}</code> et
|
||
<code>\end{english}</code>.</p>
|
||
|
||
<div class="attention">
|
||
Le français et l'anglais sont écrits dans le même alphabet, et il peut sembler
|
||
inutile d'indiquer les changements de langue dans le document. Cela a
|
||
néanmoins son importance, notamment pour l'adaptation des règles de césure
|
||
ou de typographie (espacements et ponctuation) à la langue.
|
||
</div>
|
||
|
||
<h3>Exemple de l'arabe</h3>
|
||
|
||
<p>On peut aussi utiliser <code>polyglossia</code> pour les langues comme l'arabe.
|
||
outre la commande <code>\setdefaultlanguage{arabic}</code>, on peut utiliser
|
||
une commande comme</p>
|
||
|
||
<pre>\newfontfamily\arabicfont[Script=Arabic]{Scheherazade}</pre>
|
||
|
||
<p class="continue">afin d'indiquer la police souhaitée pour l'arabe.
|
||
Cette étape est essentiellement obligatoire, car peu de polices incluent
|
||
à la fois les caractères latins et arabes dans le style désiré.
|
||
Un exemple de fichier LaTeX avec un texte arabe
|
||
<a href="http://github.com/fc7/polyglossia/raw/master/doc/example-arabic.tex">se trouve ici.</a>
|
||
</p>
|
||
|
||
<p>La paquet <code>arabxetex</code>, qui ne fonctionne également qu'avec XeLaTeX,
|
||
permet d'entrer du texte dans les écritures arabes (que ce soit en arabe,
|
||
en persan ou en ourdou) à l'aide de translittération, et fournit
|
||
un certain nombre d'autres fonctions utiles. La documentation
|
||
se trouve <a href="http://mirror.ctan.org/macros/xetex/latex/arabxetex/arabxetex.pdf">à
|
||
cette adresse</a>.
|
||
</p>
|
||
|
||
<h2>Un exemple</h2>
|
||
|
||
<pre>\documentclass{article}
|
||
\usepackage{fontspec}
|
||
\defaultfontfeatures{Mapping=tex-text}
|
||
\setmainfont{Linux Libertine O}
|
||
\usepackage[margin=4cm]{geometry}
|
||
\usepackage{amsthm}
|
||
|
||
\title{Οἱ πρῶτοι ἀριθμοί}
|
||
\date{20 Μαρτίου 2008}
|
||
|
||
\begin{document}
|
||
|
||
\maketitle
|
||
|
||
\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$
|
||
|
||
\end{document}</pre>
|
||
|
||
<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.
|
||
<date value="from git" />
|
||
</div>
|
||
|
||
</body>
|
||
</html>
|