Éditer un texte arabe avec eledmac

Transcription

Éditer un texte arabe avec eledmac
Éditer un texte arabe avec eledmac
Extrait du Geekographie Maïeulesque
http://geekographie.maieul.net/137
Éditer un texte arabe avec
eledmac
- LaTeX - (e)led(mac/par) -
Date de mise en ligne : samedi 22 mars 2014
Copyright © Geekographie Maïeulesque - Tous droits réservés
Copyright © Geekographie Maïeulesque
Page 1/5
Éditer un texte arabe avec eledmac
Cet article explique comment utiliser eledmac pour présenter l'édition critique d'un texte
arabe avec un apparat critique rédigé de droite à gauche. Il a été écrit non par l'auteur
habituel de ce blog, mais par Robert Alessi [1].
Introduction
L'édition critique d'un texte arabe est une tâche complexe. Sous XeLaTeX, plusieurs possibilités s'offrent à l'éditeur :
utiliser polyglossia seul, et tout saisir en arabe ;
utiliser polyglossia combiné avec arabxetex qui permet, au choix, de saisir le texte en arabe ou bien de le coder
en arabtex.
Avant de commencer, il faut bien réfléchir. Si on décide de saisir tout en arabe une édition complexe, avec plusieurs
lignes d'apparat critique à chaque page, l'introduction, dans des paragraphes rédigés de droite à gauche, de
multiples séquences telles que \edtext{...}{\Afootnote{...}}, transformées en {{...}edtext{...}{\Afootnote\, se
transformera vite en torture pour l'éditeur. On peut certes améliorer cette présentation en introduisant dans le texte
des tags unicode invisibles permettant d'insérer du texte LTR dans des paragraphes RTL, mais cette technique
nécessite une discipline très rigoureuse qui exige bien plus de concentration que la saisie du texte critique lui-même.
Une autre solution consiste à utiliser arabxetex en plus de polyglossia qui reste obligatoire pour la mise en page
d'ensemble. À mon avis, cela présente de multiples avantages :
arabxetex permet toujours la saisie unicode. Par exemple, sous arabxetex, la séquence \textarab{#NGDK'
HN3NGDK'} est strictement équivalente à la séquence \textarab{'ahlaN wa-sahlaN} ;
que l'on ait choisi de saisir en unicode ou bien en arabtex, arabxetex permet de régler en une seule opération la
vocalisation de tout le texte. Il suffit de changer une simple option dans le préambule pour cela :
\usepackage{arabxetex} —> texte non vocalisé ;
\usepackage[voc]{arabxetex} —> texte vocalisé ;
\usepackage[fullvoc]{arabxetex} —> texte vocalisé entièrement (scriptio plena), avec wacla, sukkn, etc. ;
[2]
Illustration
Dans l'exemple présenté ici, on a choisi la saisie en arabtex. L'apparat critique est présenté de droite à gauche et
rédigé en latin.
Les premières lignes du préambule se passent de commentaire. Comme les variantes sont présentées en latin, on a
choisi de charger par défaut une série de polices de caractères adaptées. Si l'on est sûr de ne pas avoir à saisir des
mots latins dans l'apparat ou ailleurs dans le texte, les lignes
\setmainfont{Linux Libertine O}
\setsansfont{Linux Biolinum O}
\setmonofont[Scale=.8]{Linux Libertine Mono O}
Copyright © Geekographie Maïeulesque
Page 2/5
Éditer un texte arabe avec eledmac
peuvent être omises.
On charge ensuite polyglossia :
\usepackage{polyglossia}
\setdefaultlanguage{arabic}
puis, si on souhaite l'utiliser, arabxetex lui-même :
\newfontfamily\arabicfont[Script=Arabic]{Amiri}
\usepackage[fullvoc]{arabxetex}
\newcommand{\ta}{\textarabic}
\newcommand{\tanv}[1]{\textarabic[novoc]{#1}}
Remarques :
si l'on ne souhaite pas utiliser arabxetex, il faudra maintenir la ligne qui charge la police arabe pour que
polyglossia puisse l'utiliser ;
dans cet exemple, on présente par défaut l'arabe vocalisé (option fullvoc) ; on a en outre défini deux nouvelles
commandes : l'une, \ta{} est un raccourci pour \textarabic{} tandis que l'autre, \tanv{}, permet de saisir
exceptionnellement des mots en scriptio defectiva.
Si l'on s'en tient là, XeLaTeX se plaindra à chaque compilation en précisant que arabxetex tente d'utiliser une
commande, \aemph{}, qui est déjà définie par polyglossia. Pour éviter cela, on ajoute la ligne :
\let\aemph\veryundefinedcommand
puis l'on définit le sens d'écriture des notes de bas de page et la position du filet séparateur des notes :
\usepackage{bidi}
\setfootnoteRL
\rightfootnoterule
Techniquement parlant, \usepackage{bidi} n'est pas nécessaire, car le package en question est chargé
automatiquement par polyglossia et arabxetex.
Viennent enfin eledmac et ses options. Parmi celles-ci,
\renewcommand{\numlabfont}{\fontspec[Mapping=arabicdigits]{Amiri}}
permet d'obtenir la numérotation des lignes en chiffres indiens si on le souhaite. Pour illustrer cela, on a choisi ici de
Copyright © Geekographie Maïeulesque
Page 3/5
Éditer un texte arabe avec eledmac
numéroter chaque ligne de texte.
Exemple complet
\documentclass[a4paper,article,12pt]{memoir}
\usepackage[no-math]{fontspec}
\usepackage{xltxtra,xunicode,amsmath}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Linux Libertine O}
\setsansfont{Linux Biolinum O}
\setmonofont[Scale=.8]{Linux Libertine Mono O}
\usepackage{polyglossia}
\setdefaultlanguage{arabic}
\newcommand{\up}[1]{\textsuperscript{#1}}
\newfontfamily\arabicfont[Script=Arabic]{Amiri}
\usepackage[fullvoc]{arabxetex}
\newcommand{\ta}{\textarabic}
\newcommand{\tanv}[1]{\textarabic[novoc]{#1}}
% Pour permettre à polyglosssia et arabxetex de coexister:
\let\aemph\veryundefinedcommand
\usepackage{bidi}
\setfootnoteRL
\rightfootnoterule
\usepackage{eledmac}
\lineation{page}
\firstlinenum{1}
\linenumincrement{1}
\footparagraph{A}
\renewcommand{\numlabfont}{\fontspec[Mapping=arabicdigits]{Amiri}}
\begin{document}
\thispagestyle{empty}
\beginnumbering
\pstart
\begin{arab}
al-maqAlaTu 'l-'Ul_A min tafsIri jAlInUsa \edtext{li-l-maqAlaTi}%
{\lemma{\ta{li-l-maqAlaTi\ldots\ 'ifI_dImiyA}}\Afootnote{ \textLR{M: om. E1
restit. E1\up{3mg}}}} 'l-_t_tAniyyaTi min kitAbi 'abuqrA.ta 'l-musamm_A
'ifI_dImiyA \edtext{tarjamaTu}%
{\lemma{\ta{tarjamaTu\ldots\ 'is.h_aqa}}\Afootnote{\textLR{M: om.E1}}}
.hunayniN \edtext{ibni}{\Afootnote{\textLR{scripsi:} \tanv{bn} \textLR{M}}}
\edlabel{tit-ishaqin}'is.h----_aqa
\end{arab}
Copyright © Geekographie Maïeulesque
Page 4/5
Éditer un texte arabe avec eledmac
\pend
\pstart
\begin{arab}
(1) qAla 'abuqrA.tu: al-jamru 'l-.s.sayfiyyu 'lla_dI kAna bi-qrAn|nUna jA'at
'am.tAruN jUduN ma`a .harri 'l-.s.sayfi kullihi wa-kAna 'ak_taru mA yakUnu
ma`a 'l-janUbi wa-ya.sIru ta.hta 'l-jildi
\edtext{.sadIduN}{\Afootnote{\textLR{M: \ta{.sadIdaN} E1}}}
\edtext{fa-'i_dA}{\Afootnote{\textLR{E1: \ta{wa-'i_dA} M}}}
{\char"0671}.htaqana saxuna wa-wallada
\edtext{.hikkaTaN}{\Afootnote{\textLR{M E1\up{2mg}}}}
\edtext{_tumma}{\Afootnote{\textLR{om. M}}} kAnat taxruju fIhi nuffa.hAtuN
\edtext{\ta{^sabIhaTuN bi-.harIqi}}{\Afootnote{M: \tanv{ta^sbIh|h bi-.hrq}
E1}} 'l-nnAri wa-kAna tuxuyyalu 'ilayhim 'anna mA dUna 'l-jildi ya.htariqu
{\char"0671}.htirAqaN.
\end{arab}
\pend
\endnumbering
\end{document}
<a href="IMG/pdf/template_arabic-mk2.pdf" title='PDF - 27.5 ko' type="application/pdf">
exemple au format PDF
Post-scriptum :
On me demande souvent quel est le meilleur éditeur de texte pour saisir de l'arabe. Je réponds ici très rapidement à cette question :
emacs est désormais parfaitement capable de faire ce travail ;
texstudio est également excellent dans ce domaine, bien meilleur que texmaker qui n'est pas capable d'aligner à droite les paragraphes saisis
en arabe. Par ailleurs, texmaker ne gère pas le hard wrap. À la place, il « enroule » les lignes, ce qui consomme beaucoup de mémoire et finit par
ralentir considérablement le logiciel à mesure que le fichier grossit ;
scribes est à mon avis le meilleur de tous : arabe unicode parfaitement formaté et très lisible ;
yudit : parfait, mais ne connaît pas le langage LaTeX. Donc pas de syntax highlighting, ni de raccourcis.
[1] Si d'autres veulent proposer des articles, ils sont le bienvenus.
[2] une autre option, trans,
permet de translittérer le texte arabe automatiquement en caractères romains. Cela dépasse
l'objet du présent article.
Copyright © Geekographie Maïeulesque
Page 5/5