Chemin principal : Accueil > LaTeX > (r)(e)led(mac/par) > Éditer un texte arabe avec eledmac

Éditer un texte arabe avec eledmac

samedi 22 mars 2014, par Robert Alessi
Suivre la vie du site RSS 2.0 Forum

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{أَهلًا وَسَهلًا} 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 waṣla, sukūn, 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

  1. \setmainfont{Linux Libertine O}
  2. \setsansfont{Linux Biolinum O}
  3. \setmonofont[Scale=.8]{Linux Libertine Mono O}

Télécharger

peuvent être omises.

On charge ensuite polyglossia :

  1. \usepackage{polyglossia}
  2. \setdefaultlanguage{arabic}

Télécharger

puis, si on souhaite l’utiliser, arabxetex lui-même :

  1. \newfontfamily\arabicfont[Script=Arabic]{Amiri}
  2. \usepackage[fullvoc]{arabxetex}
  3. \newcommand{\ta}{\textarabic}
  4. \newcommand{\tanv}[1]{\textarabic[novoc]{#1}}

Télécharger

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 :

  1. \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 :

  1. \usepackage{bidi}
  2. \setfootnoteRL
  3. \rightfootnoterule

Télécharger

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,

  1. \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 numéroter chaque ligne de texte.

Exemple complet

  1. \documentclass[a4paper,article,12pt]{memoir}
  2. \usepackage[no-math]{fontspec}
  3. \usepackage{xltxtra,xunicode,amsmath}
  4. \defaultfontfeatures{Ligatures=TeX}
  5. \setmainfont{Linux Libertine O}
  6. \setsansfont{Linux Biolinum O}
  7. \setmonofont[Scale=.8]{Linux Libertine Mono O}
  8.  
  9. \usepackage{polyglossia}
  10. \setdefaultlanguage{arabic}
  11.  
  12. \newfontfamily\arabicfont[Script=Arabic]{Amiri}
  13. \usepackage[fullvoc]{arabxetex}
  14. \newcommand{\ta}{\textarabic}
  15. \newcommand{\tanv}[1]{\textarabic[novoc]{#1}}
  16.  
  17. % Pour permettre à polyglosssia et arabxetex de coexister:
  18. \let\aemph\veryundefinedcommand
  19.  
  20. \usepackage{bidi}
  21. \setfootnoteRL
  22. \rightfootnoterule
  23.  
  24. \usepackage{eledmac}
  25. \lineation{page}
  26. \firstlinenum{1}
  27. \linenumincrement{1}
  28. \footparagraph{A}
  29. \renewcommand{\numlabfont}{\fontspec[Mapping=arabicdigits]{Amiri}}
  30.  
  31. \begin{document}
  32. \thispagestyle{empty}
  33.  
  34. \beginnumbering
  35.  
  36. \pstart
  37. \begin{arab}
  38. al-maqAlaTu 'l-'Ul_A min tafsIri jAlInUsa \edtext{li-l-maqAlaTi}%
  39. {\lemma{\ta{li-l-maqAlaTi\ldots\ 'ifI_dImiyA}}\Afootnote{ \textLR{M: om. E1
  40. restit. E1\up{3mg}}}} 'l-_t_tAniyyaTi min kitAbi 'abuqrA.ta 'l-musamm_A
  41. 'ifI_dImiyA \edtext{tarjamaTu}%
  42. {\lemma{\ta{tarjamaTu\ldots\ 'is.h_aqa}}\Afootnote{\textLR{M: om.E1}}}
  43. .hunayniN \edtext{ibni}{\Afootnote{\textLR{scripsi:} \tanv{bn} \textLR{M}}}
  44. \edlabel{tit-ishaqin}'is.h----_aqa
  45. \end{arab}
  46. \pend
  47.  
  48. \pstart
  49. \begin{arab}
  50. (1) qAla 'abuqrA.tu: al-jamru 'l-.s.sayfiyyu 'lla_dI kAna bi-qrAn|nUna jA'at
  51. 'am.tAruN jUduN ma`a .harri 'l-.s.sayfi kullihi wa-kAna 'ak_taru mA yakUnu
  52. ma`a 'l-janUbi wa-ya.sIru ta.hta 'l-jildi
  53. \edtext{.sadIduN}{\Afootnote{\textLR{M: \ta{.sadIdaN} E1}}}
  54. \edtext{fa-'i_dA}{\Afootnote{\textLR{E1: \ta{wa-'i_dA} M}}}
  55. {\char"0671}.htaqana saxuna wa-wallada
  56. \edtext{.hikkaTaN}{\Afootnote{\textLR{M E1\up{2mg}}}}
  57. \edtext{_tumma}{\Afootnote{\textLR{om. M}}} kAnat taxruju fIhi nuffa.hAtuN
  58. \edtext{\ta{^sabIhaTuN bi-.harIqi}}{\Afootnote{M: \tanv{ta^sbIh|h bi-.hrq}
  59. E1}} 'l-nnAri wa-kAna tuxuyyalu 'ilayhim 'anna mA dUna 'l-jildi ya.htariqu
  60. {\char"0671}.htirAqaN.
  61. \end{arab}
  62. \pend
  63.  
  64. \endnumbering
  65.  
  66. \end{document}

Télécharger

Exemple d’édition de texte arabe au format PDF

P.-S.

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.

Notes

[1Si d’autres veulent proposer des articles, ils sont le bienvenus.

[2une autre option, trans, permet de translittérer le texte arabe automatiquement en caractères romains. Cela dépasse l’objet du présent article.

Vos commentaires

  • Le 23 juin 2014 à 10:32, par AIT AMOKRANE SALAH En réponse à : Éditer un texte arabe avec eledmac

    merci beaucoup

  • Le 4 juillet 2014 à 15:47, par Ihfath En réponse à : Éditer un texte arabe avec eledmac

    Bonjour,

    merci pour cet article ! Est ce qu’il existe un éditeur de texte LaTex qui prends en charge la langue arabe ? Ca éviterait d’apprendre les codes pour écrire en arabe.

  • Le 5 juillet 2014 à 10:24, par Robert Alessi En réponse à : Éditer un texte arabe avec eledmac

    Tous les éditeurs dont je donne la liste dans le PS de cet article fonctionnent parfaitement avec des mots arabes saisis en lettres arabes. Il faut simplement passer par l’utilitaire de clavier de votre système d’exploitation, quel qu’il soit. Avec une exception, cependant, pour emacs qui intègre ses propres claviers, dont l’arabe.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

À propos

Je suis membre de l’UMR CNRS 8167 « Orient et Méditerranée » (laboratoire « Médecine grecque »). Mon domaine de recherche : édition, traduction et commentaire de textes médicaux grecs et arabes.

Robert Alessi