Soit l'organigramme ci-dessous (trouvé je ne sais plus où et réalisé avec TikZ). Comment obtenir un alignement vertical de nœuds à gauche (Pôle adm. et finance ; Air Algérie Catering) ou à droite (les trois cases « Division ») selon le cas ? Car le problème est que les coordonnées (x,y) se basent sur le centre du nœud (ce qui facilite bien les choses, avouons-le). Ouvrir dans l'éditeur Overleaf
\documentclass{minimal} \usepackage{tikz} \begin{document} \begin{tikzpicture} \begin{scope}[xscale=2,yscale=1.5] % description et nommage des noeuds \node (AA) at (0,6) [rectangle,draw] {\begin{tabular}{c}Air Algérie\\SPA\end{tabular} }; \node (PAF) at (-1,5) [rectangle,draw] {\begin{tabular}{c}P\^ole \\Administration\\et Finance\end{tabular}}; \node (PO) at (1,5) [rectangle,draw] {\begin{tabular}{c}P\^ole \\Op\'eration\end{tabular}}; \node (DC) at (2,4) [rectangle,draw] {\begin{tabular}{c}Division \\Commerciale\end{tabular}}; \node (DP) at (2,3) [rectangle,draw] {\begin{tabular}{c}Division \\Production\end{tabular}}; \node (DCE) at (2,2) [rectangle,draw] {\begin{tabular}{c}Division \\Commandement\\d'exploitation\end{tabular}}; \node (AAC) at (-1.5,0.5) [rectangle,draw,dashed] {\begin{tabular}{c}Air Algérie\\Catering\end{tabular} }; \node (AAH) at (0,0.5) [rectangle,draw,dashed] {\begin{tabular}{c}Air Algérie\\Handing\end{tabular} }; \node (AAM) at (1.5,0.5) [rectangle,draw,dashed] {\begin{tabular}{c}Air Algérie\\Maintenance\end{tabular} }; % description des arêtes % -- arête rectiligne entre les noeuds nommés \draw (AA) -- (AAH); \draw (PAF) -- (PO); % |- départ vertical arrivée horizontale \draw (PO) |- (DC); \draw (PO) |- (DP); \draw (PO) |- (DCE); % -| départ horizontal (du noeud de coordonnée (0,1)) arrivée verticale \draw (0,1) -| (AAC); \draw (0,1) -| (AAM); \end{scope} \end{tikzpicture} \end{document} |
Voici une solution : Ouvrir dans l'éditeur Overleaf
\documentclass{minimal} \usepackage{tikz} \begin{document} \begin{tikzpicture} \begin{scope}[xscale=2,yscale=1.5] % description et nommage des noeuds \node (AA) at (0,6) [rectangle,draw] {\begin{tabular}{c}Air Algérie\\SPA\end{tabular} }; \node (PAF) at (-1,5) [rectangle,draw,anchor=east] {\begin{tabular}{c}P\^ole \\Administration\\et Finance\end{tabular}}; \node (PO) at (1,5) [rectangle,draw] {\begin{tabular}{c}P\^ole \\Op\'eration\end{tabular}}; \node (DC) at (2,4) [rectangle,draw,anchor=west] {\begin{tabular}{c}Division \\Commerciale\end{tabular}}; \node (DP) at (2,3) [rectangle,draw,anchor=west] {\begin{tabular}{c}Division \\Production\end{tabular}}; \node (DCE) at (2,2) [rectangle,draw,anchor=west] {\begin{tabular}{c}Division \\Commandement\\d'exploitation\end{tabular}}; \node (AAC) at (-1.5,0.5) [rectangle,draw,dashed,anchor=center] {\begin{tabular}{c}Air Algérie\\Catering\end{tabular} }; \node (AAH) at (0,0.5) [rectangle,draw,dashed] {\begin{tabular}{c}Air Algérie\\Handing\end{tabular} }; \node (AAM) at (1.5,0.5) [rectangle,draw,dashed] {\begin{tabular}{c}Air Algérie\\Maintenance\end{tabular} }; % description des arêtes % -- arête rectiligne entre les noeuds nommés \draw (AA) -- (AAH); \draw (PAF) -- (PO); % |- départ vertical arrivée horizontale \draw (PO) |- (DC); \draw (PO) |- (DP); \draw (PO) |- (DCE); % -| départ horizontal (du noeud de coordonnée (0,1)) arrivée verticale \draw (0,1) -| (AAC); \draw (0,1) -| (AAM); \end{scope} \end{tikzpicture} \end{document} ... dont le rendu est : ![]() @samcarter et @hugues. Le point d'ancrage : j'aurais dû y penser… Je l'avais retrouvé dans TikZ pour l'impatient et le manuel de Till Tantau, mais je m'étais figuré qu'on ne l'utilisait que pour fixer les liens entre deux nœuds. |
Voici une solution avec Ouvrir dans l'éditeur Overleaf
\documentclass[border=5mm]{standalone} \usepackage{tikz} \usetikzlibrary{positioning} \begin{document} \begin{tikzpicture}[ mynode/.style={ rectangle, draw, text width=2.5cm, align=center, anchor=center } ] \begin{scope}[xscale=2] % description et nommage des noeuds \node[mynode] (AA) {Air Algérie\\SPA}; \node[below=of AA] (dummy) {}; \node[mynode,left=of dummy] (PAF) {P\^ole \\Administration\\et Finance}; \node[mynode,right=of dummy] (PO) {P\^ole \\Op\'eration}; \node[mynode,below right=of PO.center] (DC) {Division \\Commerciale}; \node[mynode,below=0.2cm of DC] (DP) {Division \\Production}; \node[mynode,below=0.2cm of DP] (DCE) {Division \\Commandement\\d'exploitation}; \node[mynode,dashed, below=7cm of AA] (AAH) {Air Algérie\\Handing}; \node[mynode,dashed, left=of AAH] (AAC) {Air Algérie\\Catering}; \node[mynode,dashed, right=of AAH] (AAM) {Air Algérie\\Maintenance}; %% description des arêtes %% -- arête rectiligne entre les noeuds nommés \draw (AA) -- (AAH); \draw (PAF) -- (PO); %% |- départ vertical arrivée horizontale \draw (PO) |- (DC); \draw (PO) |- (DP); \draw (PO) |- (DCE); %% -| départ horizontal (du noeud de coordonnée (0,1)) arrivée verticale \draw (AAC.north) -- ++(0,0.5) -| (AAM.north); \end{scope} \end{tikzpicture} \end{document} ![]() @samcarter. Je n'avais pas vu cette deuxième solution : parfait ! |
Jettes un coup d'oeil à
\usetikzlibrary{positioning}
Pour les nœuds a droite:
\node (DC) at (1.5,4) [rectangle,draw,anchor=west] {\begin{tabular}{c}Division \\Commerciale\end{tabular}}; \node (DP) at (1.5,3) [rectangle,draw,anchor=west] {\begin{tabular}{c}Division \\Production\end{tabular}}; \node (DCE) at (1.5,2) [rectangle,draw,anchor=west] {\begin{tabular}{c}Division \\Commandement\\d'exploitation\end{tabular}};
Les tableaux sont très encombrants. On lieu on peut utiliser
\node (DCE) at (1.5,2) [rectangle,draw,anchor=west,text width=3cm,align=center] {Division \\Commandement\\d'exploitation};