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