381 lines
16 KiB
HTML
381 lines
16 KiB
HTML
|
<?xml version="1.0" encoding="UTF-8"?>
|
|||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|||
|
<head>
|
|||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|||
|
<title>XeTeX</title>
|
|||
|
<link rel="stylesheet" href="../../tuteurs.css" type="text/css" />
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
<div class="navigation">
|
|||
|
<h1>Tuteurs informatique<br /><a href="../../meta/contact.html">Nous contacter</a></h1>
|
|||
|
<hr />
|
|||
|
<ul class="menu">
|
|||
|
<li>
|
|||
|
<a href="../../meta/charte_graphique.html">Utiliser ce site</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="../../actualite.html">Actu et stages</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="../../docs/">Docs à imprimer</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="../../meta/plan_site.html">Plan du site</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="../../search.html">Rechercher</a>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
<hr />
|
|||
|
<ul class="arbre">
|
|||
|
<li>
|
|||
|
<a href="../../">Les tuteurs</a>
|
|||
|
<ul class="arbre">
|
|||
|
<li>
|
|||
|
<a href="../">Logiciels</a>
|
|||
|
<ul class="arbre">
|
|||
|
<li>
|
|||
|
<a href="./">LaTeX</a>
|
|||
|
<ul class="arbre">
|
|||
|
<li>
|
|||
|
<a href="aide.html">Doc et aide</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="astuces.html">Astuces</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="beamer.html">Présentations</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="bibtex.html">Bibliographie</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="exemple.html">Exemple</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="export.html">Exporter</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="figures.html">Figures</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="footnote.html">Notes de bas de page</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="graphisme.html">Graphisme</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="grec.html">Grec ancien</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="langues.html">Langues exotiques</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="latex.html">Comment faire ?</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="lettre.html">Lettres</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="macros.html">Macros élémentaires</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="makeindex.html">Index</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="manuel.html">Les bases</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="maths.html">Maths</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="nouveau_package.html">Écrire un package</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="polices.html">Polices</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="polices_liste.html">Polices : liste</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="references.html">Références</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="tableaux.html">Tableaux</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="xdvi.html">xdvi</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="xetex.html" class="actuel">XeTeX</a>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
<hr />
|
|||
|
<ul class="menu">
|
|||
|
<li>
|
|||
|
<a href="http://www.eleves.ens.fr/">Serveur des élèves</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="http://www.ens.fr/">ENS</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="http://www.spi.ens.fr/">SPI</a>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</div>
|
|||
|
<div class="corps">
|
|||
|
<h1>Polices et langues exotiques avec XeTeX</h1>
|
|||
|
<div class="sommaire">
|
|||
|
<ul>
|
|||
|
<li>
|
|||
|
<a href="#s1">Qu'est-ce que XeTeX</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="#s2">Compiler un fichier avec XeLaTeX</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="#s3">Les principales différences avec LaTeX</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="#s4">Comment faire</a>
|
|||
|
<ul>
|
|||
|
<li>
|
|||
|
<a href="#s4_1">Préparation</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="#s4_2">Ce qu'il faut écrire</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="#s4_3">Choisir une police de caractères</a>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="#s5">Documents en langue étrangère avec polyglossia</a>
|
|||
|
<ul>
|
|||
|
<li>
|
|||
|
<a href="#s5_1">Présentation</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="#s5_2">Exemple de l'arabe</a>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="#s6">Un exemple</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="#s7">Informations complémentaires</a>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</div>
|
|||
|
<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>
|
|||
|
<a name="s1" id="s1">Qu'est-ce que XeTeX</a>
|
|||
|
</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>
|
|||
|
<a name="s2" id="s2">Compiler un fichier avec XeLaTeX</a>
|
|||
|
</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>
|
|||
|
<a name="s3" id="s3">Les principales différences avec LaTeX</a>
|
|||
|
</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="../../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>
|
|||
|
<a name="s4" id="s4">Comment faire</a>
|
|||
|
</h2>
|
|||
|
<h3>
|
|||
|
<a name="s4_1" id="s4_1">Préparation</a>
|
|||
|
</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="../../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>
|
|||
|
<a name="s4_2" id="s4_2">Ce qu'il faut écrire</a>
|
|||
|
</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>
|
|||
|
<a name="s4_3" id="s4_3">Choisir une police de caractères</a>
|
|||
|
</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>
|
|||
|
<a name="s5" id="s5">Documents en langue étrangère avec polyglossia</a>
|
|||
|
</h2>
|
|||
|
<h3>
|
|||
|
<a name="s5_1" id="s5_1">Présentation</a>
|
|||
|
</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>
|
|||
|
<a name="s5_2" id="s5_2">Exemple de l'arabe</a>
|
|||
|
</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>
|
|||
|
<a name="s6" id="s6">Un exemple</a>
|
|||
|
</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>
|
|||
|
<a name="s7" id="s7">Informations complémentaires</a>
|
|||
|
</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 : 2010-11-15 par Rémy Oudompheng.
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</body>
|
|||
|
</html>
|