\documentclass[tikz,border=20pt]{standalone} \usepackage{fontawesome5} \usepackage{kpfonts} \usetikzlibrary{matrix,ext.paths.ortho,arrows.meta,shapes} \tikzset{ treenode/.style = {shape=rectangle, rounded corners, draw, anchor=center, text width=7.5em, align=center, top color=white, bottom color=red!40, inner sep=1ex}, decision/.style = {treenode=#1, diamond, bottom color=blue!20,minimum size=4.5cm,font=\small}, root/.style = {treenode=#1, bottom color=green!40}, env/.style = {treenode=#1, bottom color=red!30,font=\ttfamily}, finish/.style = {root=#1, bottom color=green!40}, dummy/.style = {circle,draw}, treenode/.default=., } \newcommand{\oui}{edge node [above] {oui}} \newcommand{\non}{edge node [left] {non}} \begin{document} \begin{tikzpicture}[-stealth,rounded corners=8pt,very thick] \matrix [ampersand replacement=\&,nodes in empty cells] (chart) [ matrix of nodes, column sep = 2.5em, row sep = 3.5ex, ] { |[root]| Formule hors-texte \& |[decision=2]| équation unique ? \& |[decision=3]| ligne unique ? \& \& |[env=4]| equation \\ \& \& |[decision=5]| lignes alignées ? \& |[decision=6]| distinction de cas ? \& |[env=7]| cases \\ \& \& \& \& |[env=8]| split \& \& \\ \& \& |[env=9]| multline \& \& \& \& |[decision=17]| numérotée ? \\ \& |[decision=10]| équations alignées ? \& |[decision=11]| esp. autom. entre paires de col. ? \& |[decision=12]| espaces max. ? \& |[env=13]| flalign \& \& |[treenode=19]| Ajout de \texttt{*} \& |[finish=18]| Fini \\ \& |[env=16]| gather \& |[env=15]| alignat \& |[env=14]| align \\ \& \& \& \& \& \& \& \\ }; \draw (chart-1-1) edge (chart-1-2) ; \draw (chart-1-2) \oui (chart-1-3) ; \draw (chart-1-3) \non (chart-2-3) ; \draw (chart-1-3) \oui (chart-1-5) ; \draw (chart-2-3) \oui (chart-2-4) ; \draw (chart-2-4) \oui (chart-2-5) ; \draw[red] (chart-2-5) edge node [above left] {\faExclamationTriangle{} à l'intérieur de \texttt{equation}} (chart-1-5) ; \draw[red] (chart-2-5) edge node [above right] {(ou autre, sauf \texttt{multline})} (chart-1-5) ; \draw[red,-] (chart-3-5.east) -| ([xshift=2.5ex]chart-2-5.east) |- ([yshift=5ex]chart-2-5.north) -- (chart-1-5) ; \draw (chart-2-4) |- node [left] {non} (chart-3-5) ; \draw (chart-2-3) \non (chart-4-3) ; \draw (chart-1-2) \non (chart-5-2) ; \draw (chart-5-2) \oui (chart-5-3) ; \draw (chart-5-3) \oui (chart-5-4) ; \draw (chart-5-4) \oui (chart-5-5) ; \draw (chart-5-4) \non (chart-6-4) ; \draw (chart-5-3) \non (chart-6-3) ; \draw (chart-5-2) \non (chart-6-2) ; \draw[blue,-] (chart-1-5) -|- (chart-4-7) ; \draw[blue,-] (chart-4-3) -- (chart-4-7) ; \draw[blue,-] (chart-5-5) -|- (chart-4-7) ; \draw[blue,-] (chart-6-2.south) |- (chart-7-4.center) ; \draw[blue,-] (chart-6-3.south) |- (chart-7-5.center) ; \draw[blue] (chart-6-4.south) |- (chart-7-6.center) -- (chart-4-6.center) -- (chart-4-7) ; \draw (chart-4-7) -| (chart-5-8) node[near start,above] {oui} ; \draw (chart-4-7) \non (chart-5-7) ; \draw (chart-5-7) edge (chart-5-8) ; \end{tikzpicture} \end{document}