Dear List,
Several years ago I tried to write documents, mainly lectures,
but also essays, in which I tried to make several languages
(Romance and non-Romance) coexist.
Here below is an example of an attempt to compose an acceptable
document, in the form of an exercise in which Arabic and Chinese
are introduced into a document written in French. With footnotes
and a few framed lines.
I submit this example for your perusal and ask you whether it
could possibly appear on a wiki page devoted to the combination of
non-European languages in the same text. In English translation,
of course.
%We are giving below an example of a text written in a Latin language, in which we want to print here and there some text in ancient Greek, Arabic and Chinese.
\setuplanguage[fr][patterns={fr,agr}]
\mainlanguage[fr]
\setuplayout [backspace=40mm]
\setuppagenumbering[alternative=doublesided, location={header, inmargin}]
\setupmargindata[inmargin][location=inner, style={\ssx\setupinterlinespace[line=2.8ex]}]
\setupmarginframed[inmargin][align=right]
\setupbodyfontenvironment[default][em=italic]
% Use Theano Didot as Ancient Greek font
\definefallbackfamily[mainface][serif][Theano Didot][preset=range:greek, it={Old Standard Italic}, force=yes]
% Choose between Ipaexmincho font and NotoSansTC (Traditional Chinese)
%\definefallbackfamily [mainface] [rm] [ipaexmincho] [range=cjkunifiedideographs]
\definefallbackfamily [mainface] [rm] [notosanstc] [range=cjkunifiedideographs]
% Choose between two Arabic fonts
%\definefallbackfamily[mainface] [serif] [nafeesnastaleeq] [range=arabic]
\definefallbackfamily[mainface] [serif] [hussaininastaleeq] [range=arabic]
\definefontfamily [mainface] [serif] [GaramondNo8][sc=NewG8 Regular SC]
\definefontfamily [mainface] [sans] [FreeSans] [rscale=0.7]
\definefontfamily[mainface] [serif] [GFS Didot]
\setupbodyfont[mainface]
\setupindenting[1.5em]
\setupindenting[yes]
\setupcolors[state=start]
\defineframedtext
[MyFrame]
[before={\blank},
after={\blank},
frame=off,
background=MyFrame,
%width=\textwidth,
width=max,
height=fit,
style=italic]
\definelabel
[Définition]
[headstyle=\bf\smallcaps]
\startuseMPgraphic{MyFrame}
path b;
picture p;
%p := textext.rt("\white\Définition");
p := textext.rt("\white\framedtextparameter{Title}");
%p := textext.rt("\white\getvariable{text}{text1}");
p := p shifted (2BodyFontSize,OverlayHeight-ypart center p+.25ExHeight);
b := boundingbox p leftenlarged .5EmWidth rightenlarged .5EmWidth;
fill OverlayBox withcolor lightgray; %\MPcolor{
fill b withcolor darkred;
draw bottomboundary OverlayBox withpen pencircle scaled 1pt withcolor
darkred;
draw topboundary OverlayBox withpen pencircle scaled 1pt withcolor
darkred;
draw p;
setbounds currentpicture to boundingbox currentpicture enlarged 2mm;
\stopuseMPgraphic
\defineoverlay
[MyFrame]
[\useMPgraphic{MyFrame}]
\setupwhitespace[medium]
\setupinterlinespace[line=3.2ex]
\setupitemize[each][margin=yes]
\setuphead[title][header=empty]
\setupheader[style={\sc}]
\setupfooter[style={\itxx}]
\setupheadertexts[Utilisation de plusieurs langues dans un même texte avec \ConTeXt][][][{\getmarking[section]}]
\setupfootertexts[][][][© J.-P. Delange, 2016 — La reproduction de ce texte est soumise à autorisation.]
\defineparagraphs[TwoColumns][n=2, align={hz, hanging}]
\setupparagraphs[TwoColumns][1][width=210pt, style=rm, align=left]
\starttext
\title{\ConTeXt, ou comment imprimer des langues non-romanes}
\section {\sc Préambule}
Lorsqu'il s'agit de proposer un document dans une langue nationale (le français), tout va bien. Lorsqu'il s'agit de rédiger en français un document un peu complexe, avec des citations — ou des références — dans une autre langue, qui en particulier n'a pas les mêmes exigences que le français, ni les mêmes {\em signes diacritiques} on se heurte à quelques difficultés. Les suites logicielles comme Microsoft Office ou LibreOffice ne manquent pas de puissance, mais à vrai dire, dès que nous entrons dans les exigences de l'édition professionnelle, qui consistent à présenter un texte lisible et enrichi (en notes, etc.), la situation devient vite techniquement assez pénible. La situation la plus courante que nous rencontrons dans les Lettres, en Philosophie, en Histoire, et plus généralement dans les Humanités, est celle d'un texte dans lequel il y a des citations d'auteurs grecs ou latin, avec des références en notes de bas de page, qui contiennent du grec. Cela pourrait être quelque chose comme ceci :
\blank\startnarrower[1*left,1*right]\tfx\setupinterlinespace
\noindent \quotation{Ἔφη γάρ οἱ Σωκράτη ἐντυχεῖν λελουμένον τε καὶ τὰς βλαύτας ὑποδεδεμένον, ἃ ἐκεῖνος ὀλιγάκις ἐποίει· καὶ ἐρέσθαι αὐτὸν ὅποι ἴοι οὕτω καλὸς γεγενημένος. καὶ τὸν εἰπεῖν ὅτι· Ἐπὶ δεῖπνον εἰς Ἀγάθωνος. χθὲς γὰρ αὐτὸν διέφυγον τοῖς ἐπινικίοις, φοβηθεὶς τὸν ὄχλον· ὡμολόγησα δ᾽ εἰς τήμερον παρέσεσθαι. ταῦτα δὴ ἐκαλλωπισάμην, ἵνα καλὸς παρὰ καλὸν ἴω}.
\noindent \quotation{Je rencontrai, dit-il, Socrate, sortant du bain et les pieds chaussés de sandales, ce qui n'est guère dans ses habitudes, et je lui demandai où il allait si beau. Il me répondit : «Je vais dîner chez Agathon. Je me suis dérobé hier à la fête qu'il a donnée en l'honneur de sa victoire, parce que je craignais la foule; mais je me suis engagé à venir le lendemain : voilà pourquoi je me suis paré; je voulais être beau pour venir chez un beau garçon}\inmargin{Platon, {\em Banquet}, 174a}.
\stopnarrower
On pourrait assurément faire mieux en matière d'édition. Par exemple, mettre le texte grec à gauche et sa traduction française à droite sur la même page, ce qui donnerait quelque chose comme ceci :
\startnarrower[1*left,1*right]\tfx\setupinterlinespace
\startTwoColumns
\quotation{Ἔφη γάρ οἱ Σωκράτη ἐντυχεῖν λελουμένον τε καὶ τὰς βλαύτας ὑποδεδεμένον, ἃ ἐκεῖνος ὀλιγάκις ἐποίει· καὶ ἐρέσθαι αὐτὸν ὅποι ἴοι οὕτω καλὸς γεγενημένος. καὶ τὸν εἰπεῖν ὅτι· Ἐπὶ δεῖπνον εἰς Ἀγάθωνος. χθὲς γὰρ αὐτὸν διέφυγον τοῖς ἐπινικίοις, φοβηθεὶς τὸν ὄχλον· ὡμολόγησα δ᾽ εἰς τήμερον παρέσεσθαι. ταῦτα δὴ ἐκαλλωπισάμην, ἵνα καλὸς παρὰ καλὸν ἴω}.\TwoColumns
\quotation{Je rencontrai, dit-il, Socrate, sortant du bain et les pieds chaussés de sandales, ce qui n'est guère dans ses habitudes, et je lui demandai où il allait si beau. Il me répondit : «Je vais dîner chez Agathon. Je me suis dérobé hier à la fête qu'il a donnée en l'honneur de sa victoire, parce que je craignais la foule ; mais je me suis engagé à venir le lendemain : voilà pourquoi je me suis paré ; je voulais être beau pour venir chez un beau garçon}.
\stopTwoColumns
\stopnarrower
\section{Éditer avec \LaTeX : l'alternative \ConTeXt}
Les lecteurs habitués ont reconnu dans les paragraphes précédents la marque et la technique du logiciel d'édition \LaTeX. Cependant, l'utilisation de ce logiciel repose sur un ensemble assez important de déclarations et il est nécessaire d'avoir une longue pratique pour arriver à jouer avec, sinon la puissance, du moins la finesse de \LaTeX. Les commandes sont très nombreuses et il faut recourir souvent à un Manuel pour se remémorer les subtilités qui ont permis d'atteindre tel rendu à l'impression. Bien entendu, il existe des logiciels commerciaux d'aide à l'édition professionnelle pour le secteur des Humanités. Mais d'une part ils sont payants et relativement coûteux pour une personne, sans parler du prix des licences pour les groupements professionnels d'enseignants et de chercheurs.
Devant cet état de choses, on peut se tourner vers \ConTeXt, qui n'est pas une alternative à \LaTeX, mais une manière plus synthétique (voire plus élégante) d'utiliser \LaTeX. \ConTeXt, de même que \LaTeX, est une suite logicielle qui contient les macros de \LaTeX, les routines du langage {\em Perl}, ainsi que les macros de \LuaTeX. On peut donc définir à peu près tout ce qui est exigé au niveau de l'édition professionnelle, sans entrer dans la connaissance technique du langage \LaTeX. Bien entendu, on n'échappera pas à un certain nombre de questions techniques, si l'on veut travailler avec ce type d'outil : pour le mathématicien, rendre possible la présentation et l'édition parfaites d'équations complexes, mais aussi de schémas et de tableaux nécessite un apprentissage assez poussé. C'est vrai aussi pour les les utilisateurs qui viennent des Humanités, qui connaissent leur domaine, et qui veulent rédiger un document simple, un article de revue, voir des chapitres entiers d'un ouvrage. Très certainement, ce sont les éditeurs qui se chargent de la mise en page (sur la base d'une feuille de style Word) du document que l'on veut publier. Mais parfois, s'il s'agit d'un dossier de plusieurs articles, voire d'une édition avec une aide financière à la publication, on aimerait avoir la main sur la qualité du document imprimé. C'est une des raisons qui font que l'on pourrait désirer maîtriser la chaîne éditoriale, non seulement pour se passer éventuellement d'un éditeur, mais pour disposer d'un aperçu de son propre travail.
\section{Faire coexister du Grec, du Chinois et de l'Arabe dans le même texte}
Il n'est pas d'usage commun de lire dans le même document du texte courant en français, une référence en grec, par exemple, lorsque dans le {\em Timée}, Platon indique que le plus difficile est de commencer par un commencement qui soit naturel (κατὰ φύσιν ἀρχήν)\inmargin{Platon, {\em Timée}, 29b.}, une indication du nom du philosophe chinois {\em Tchouang Tseu} (en {\em pinyin}\footnote{Le {\em pinyin} (chinois classique 漢語拼音, littéralement “assembler les sons de la langue des Han”), est une romanisation de la langue chinoise, qui est écrite en alphabet latin. Ainsi, au lieu d'écrire 漢語拼音 en chinois traditionnel, ou bien 汉语拼音 en chinois simplifié, on écrira {\em Hànyù Pīnyīn}.} Zhuangzi et en chinois classique et simplifié : 莊周/庄周). Si l'on ajoute à cela une référence au philosophe arabo-persan Farabi\footnote{Al-Fārābī est nommé dans la philosophie arabe médiévale {\em le second maître}, le premier étant Aristote.} (Al-Fārābī, محمد فارابی), par le biais d'une précision sur Platon, avec des indications sur son nom en arabe, on aura fait le tour de quelques difficultés qui se présentent à ceux qui voudraient établir avec soin des documents un peu exigeants.
% \showframe
\startMyFrame[Title=Conclusion]
\setcharacterspacing[frenchpunctuation]
\startlines
Pour éditer un texte un peu complexe, avec plusieurs langues non-romanes utilisées occasionnellement, on peut faire appel à \ConTeXt. Ce choix paraît être judicieux : en effet, pour le mathématicien, rendre possible la présentation et l'édition parfaites d'équations complexes, mais aussi de schémas et de tableaux nécessite un apprentissage assez poussé, mais qui peut être résolu par un certain nombre de macros qui automatisent les tâches. Le code est réutilisable et c'est vrai aussi pour les utilisateurs qui viennent des multiples horizons des {\em Humanités}, qui connaissent leur domaine de compétence et qui veulent rédiger un document simple, un article de revue, voir des chapitres entiers d'un ouvrage.
\stoplines
\stopMyFrame
\stoptext