161 lines
7.1 KiB
XML
161 lines
7.1 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>Polices et langues exotiques avec 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 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 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. 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
|
||
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>\XeTeXdefaultencoding utf-8
|
||
\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[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
|
||
<code>---</code> pour —), et 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>Un exemple</h2>
|
||
|
||
<pre>\documentclass{article}
|
||
\XeTeXdefaultencoding utf-8
|
||
\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>
|
||
|
||
<div class="metainformation">
|
||
Auteur : Rémy Oudompheng.
|
||
Dernière modification le <date value="$Date: 2008-03-19 23:08:38 $" />.
|
||
</div>
|
||
|
||
</body>
|
||
</html>
|