Exemple de démonstration
Le stemma que je vous propose maintenant est un stemma complexe relatif à des textes apocryphes concernant les enfances de Marie et Jésus. Présentons brièvement ces textes et leurs relations [1].
- Au IIe siècle, un texte grec, le Protévangile de Jacques. Aux alentours des VI-VIIe siècle, est écrit l’Évangile du Pseudo-Matthieu qui puise au Protévangile. Au VIIIe siècle, le Libellus De Nativitate Mariae est écrit, en se basant entre autre sur cet évangile du Pseudo-Matthieu. Ces trois textes constituent la branche principale de notre stemma.
- Une seconde branche plus complexe est celle liée à la compilation J [2]. Elle peut se résumer ainsi :
- Un texte inconnu, appelé Source Spéciale engendre en combinaison avec l’Évangile du Pseudo-Matthieu un texte nommé compilation I, ancêtre de la compilation J. Cette compilation I nous est inconnue, mais nous en trouvons plusieurs témoignages qui permettent de la reconstituer :
- Dans des apocryphes Irlandais : le Liber Flavus Fergusiorum et le Récit de l’enfance de Leabhar Breac.
- Dans la compilation J, qui est une combinaison de la compilation I et de l’Évangile du Pseudo-Matthieu.
- Un texte inconnu, appelé Source Spéciale engendre en combinaison avec l’Évangile du Pseudo-Matthieu un texte nommé compilation I, ancêtre de la compilation J. Cette compilation I nous est inconnue, mais nous en trouvons plusieurs témoignages qui permettent de la reconstituer :
- La compilation I originelle a disparu, mais on la retrouve sous deux formes :
- La forme Arundel, qui incorpore d’autres élèments de l’Évangile du Pseudo-Matthieu.
- La forme Hereford, qui incorpore des élèments du Libellus de Nativitate Mariae et d’un sermon Pseudo-Augustinien App. 195.
Tout ceci est assez complexe, c’est pourquoi nous souhaitons produire le stemma suivant :
C’est donc la manière dont ce stemma est produit qui fera l’objet de cet article.
Principe
Nous allons d’abord positionner nos différents textes sur une grille. L’emplacement de chaque texte recevra un identifiant unique. Nous indiquerons ensuite à LaTeX la manière de relier entre eux les différents emplacement.
La grille sur laquelle nos textes se placent fonctionne selon un système de coordonnées cartésiennes : un axe des x et un axe des y. Attention cependant à ne pas se faire piéger : l’axe des x est orienté de gauche à droite et celui des y de bas en haut.
L’axe vertical correspondra plus ou moins à l’axe chronologique. En revanche l’axe horizontal n’aura aucune signification particulière.
Disposition des textes
Nous allons maintenant commencer à tracer notre stemma. Installons d’abord les textes :
Commentons rapidement :
- ligne 1 à 6 : préambule du document
- ligne 16 à 19 : stemma. À l’intérieur de l’environnement
tikzfigure
, une syntaxe spéciale est utilisée. Chaque instruction devant finir par un point-virgule;
. - Ici chaque instruction est de la forme suivante :
\node (Identifiant) at (coordonnées) {Texte};
. L’identifiant de chaque\node
permet d’indiquer ensuite de les relier entre eux. Comme annoncée plus haut, les coordonnés sont sous forme cartésienne.
La commande \node
est une commande de base de TikZ. Elle définit un « nœud », c’est à dire un point où du texte est écrit.
Voyons le résultat :
On constate que nos nœuds sont disposés correctement les uns par rapport aux autres, mais prennent trop de place.
Deux solutions s’offrent à nous :
- changer toutes les coordonnées
- indiquer à l’environnement
tikzpicture
de procéder à un « dézoomage » grâce au paramètrescale
. Ce paramètre indiquant le degré de zoom. Par défaut, il vaut 1. Nous allons le mettre à0,9
pour que notre figure finale fasse 90 % de la figure initiale.
Ce qui donne :
On constate que le dézoommage s’applique bien aux distances entre les textes.
En revanche la taille des textes, elle, est invariable. C’est une propriété fondamentale de scale
: il s’applique uniquement aux coordonnées, pas aux tailles de textes ni à leurs orientations.
Pour réduire la taille du texte, mettons la commande \small
à l’intérieur de l’environnement tikzpicture
Décoration des nœuds
Nous souhaitons que les nœuds correspondant aux textes conjecturés soient entourés par une ellipse en tiret.
Les figures de base de TikZ sont relativement simples. Pour ajouter des figures plus complexes, nous allons appeler un module supplémentaire de TiKz dans le préambule, grâce à la commande \usetikzlibrary
:
\usetikzlibrary{shapes}
Nous allons ensuite définir un style de nœud, grâce à la commande \tikzstyle
. Ce style s’appelle conjecture
:
\tikzstyle{conjecture}=[draw,ellipse,dashed]
L’option draw
indique de tracer le contour du nœud, dashed
indique qu’il faut le pointiller, et ellipse
indique sa forme.
Il nous reste à passer le style conjecture
en option lors du tracage de certains nœuds, juste après la commande \node
Relier les textes entre eux
La commande \draw
permet de relier entre eux les nœuds que nous avons définis, par exemple le point spe
avec le point I
. La syntaxe de base est \draw[options] (point) -- (point)
. Les options permettant notamment d’indiquer les styles des traits. Ici nous passeront l’option ->
pour indiquer que nous souhaitons avoir des flèches.
Affinage
Notre schéma est un peu près construit. Cependant, nous pouvons l’améliorer. En effet, nous constatons que les flèches ne sont pas toujours disposées de manière élégante, passant parfois trop proche de certains textes.
Pour tracer les traits entre deux nœuds, TiKz procède ainsi, par défaut :
- il trace le trait entre les centres des nœuds.
- il masque les traits à l’intérieur des nœuds.
Nous pouvons cependant indiquer à TikZ de relier à un emplacement précis du bord du nœud. Pour ce faire, il suffit d’indiquer un angle en degrés, sachant que le degré 0 correspond au point situé à droite du nœud, et que l’on tourne dans le sens inverse des aiguilles d’une montre (sens trigonomètrique), comme expliqué dans le schéma ci-dessous.
Pour marquer que nous souhaitons tracer un trait entre le point 60 du nœud A et le point 40 du nœud B, il nous suffit d’utiliser la syntaxe suivante :
\draw[options] (A. 60) -- (B. 40);
Dans notre cas, nous devrons faire quelques essais pour obtenir un positionnement satisfaisant. Voici celui que nous avons obtenu :
\begin{tikzpicture}[scale=0.9]
\tikzstyle{conjecture}=[draw,ellipse,dashed]
\small
\node[conjecture](Spe) at (0, 0) {Source spéciale};
\node (PJ) at (5, 0) {Protévangile de Jacques};
\node (PM) at (7.5, -3) {Évangile du Pseudo-Matthieu};
\node[conjecture] (I) at (2.5,-6) {Compilation~I};
\node (195) at (12.5, -2) {Sermon Ps.-augustinien App.~195};
\node (DNM) at (10, -6) {Libellus de Nativitate Mariae};
\node[conjecture] (J) at (7.5,-8) {Compilation~J};
\node (JAr) at (5, -10) {Compilation~J Arundel};
\node (JHer) at (12.5, -10) {Compilation~J Hereford};
\node (Irl) at (0, -8) {Apocryphes Irlandais};
\draw[->] (Spe. -45) -- (I. 135);
\draw[->] (PJ.-45) -- (PM.90);
\draw[->] (PJ.-135) -- (I.45);
\draw[->] (I.-45) -- (J.165);
\draw[->] (I.-135) -- (Irl.45);
\draw[->] (DNM.-45) -- (JHer.135);
\draw[->] (195.-90) -- (JHer.90);
\draw[->] (Spe.-90) -- (Irl.90);
\draw[->] (PM.-135) -- (JAr.90);
\draw[->] (PM.-45) -- (DNM.90);
\draw[->] (PM.-90) -- (J.90);
\draw[->] (J.-135) -- (JAr.45);
\draw[->] (J.-45) -- (JHer. 165);
\end{tikzpicture}
Nous obtenons ainsi notre schéma final :
J’espère que ce tutoriel aura été assez clair pour vous permettre de fabriquer votre propre stemma complexe.
Vos commentaires
# Le 20 août 2013 à 12:59, par Philippe Neyrat En réponse à : Stemma avec TikZ (3) : stemma complexe
Bonjour,
J’ai repéré quelques fautes de frappe (peut-être pas toutes) :
« une » dans les premiers commentaires : (un syntaxe spéciale est utilisée.)
« nos » ? et « soient » au lieu de « soit » dans : (Nous souhaitons que nos les nœuds correspondant aux textes conjecturés soit entourés par une ellipse en tiret.)
« Les uns » dans : (On constate que nos nœuds sont disposés correctement les un par rapport aux autres, mais prennent trop de place.)
enfin : « dézommage » au lieu de « dézoommage » et : « obtenu » dans : (Voici celui que nous avons obtenus) en fin d’article.
Merci pour ce travail, Cordialement
P. Neyrat
PS : Page 57 de votre livre j’ai repéré : « la meilleur méthode » (meilleure)
# Le 20 août 2013 à 13:38, par Maïeul En réponse à : Stemma avec TikZ (3) : stemma complexe
Merci pour ces corrections. Je viens de les intégrer.