É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