Comment réunir plusieurs éléments dessinés à l'aide de TikZ en une seule sous-figure, manipulable ensuite d'un bloc, et comment l'encadrer ensuite. Exemple le Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper,12pt,DIV50]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{graphicx} \usepackage[french]{babel} \usepackage[]{tikz} \usetikzlibrary{shapes} \begin{document} \begin{tikzpicture} \draw (1,0) node {$A$} (5,0) node{$B$} (10,0) node {$C$}; \end{tikzpicture} \end{document} |
Comme ça? Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper,12pt,DIV50]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{graphicx} \usepackage[french]{babel} \usepackage[]{tikz} \usetikzlibrary{shapes} \begin{document} \begin{tikzpicture} \begin{scope}[local bounding box=foo] \draw (1,0) node {$A$} (5,0) node{$B$} (10,0) node {$C$}; \end{scope} \draw (foo.south west) rectangle (foo.north east); \end{tikzpicture} \end{document} Utilisation pour plus d'éléments : Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper,12pt, %DIV50 ]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{graphicx} \usepackage[french]{babel} \usepackage[]{tikz} \usetikzlibrary{shapes} \begin{document} \begin{tikzpicture} \begin{scope}[local bounding box=foo] \draw (1,0) node {$A$} (5,0) node{$B$} (10,0) node {$C$}; \end{scope} \draw (foo.south west) rectangle (foo.north east); \node (zzz) at (8,-5) {D}; \draw[->] (foo.south) |- (zzz); \end{tikzpicture} \end{document} Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper,12pt, %DIV50 ]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{graphicx} \usepackage[french]{babel} \usepackage[]{tikz} \usetikzlibrary{shapes,positioning} \begin{document} \begin{tikzpicture} \begin{scope}[local bounding box=foo] \node (A) at (1,0) {$A$}; \node (B) at (5,0) {$B$}; \node (C) at (10,0) {$C$}; \end{scope} \draw (foo.south west) rectangle (foo.north east); \node[below of = A,node distance=3cm] (A1) {A1}; \node[below of = B,node distance=3cm] (B1) {B1}; \node[below of = C,node distance=3cm] (C1) {C1}; \draw[->] (A.south) -- (A1); \draw[->] (B.south) -- (B1); \draw[->] (C.south) -- (C1); \end{tikzpicture} \end{document} Serait-t-il possible de faire partir trois flèches verticales du bord du cadre, centrées respectivement sur A, B et C et allant au dessus (ou en dessous) vers A1, B1, C1 ? A1 (1,3) B1 (5,3) et C1 (10,3) par exemple @samcarter magique ! @samcarter Et on pourrait toujours tourner l'ensemble, le positionner, changer sa taille ? @idefix Oui, c'est possible et vous savez comment: https://texnique.fr/osqa/questions/7017/placer-un-texte-dans-une-forme-dessinee-avec-tikz?page=1&focusedAnswerId=7030#7030 |
Pour le placement, rotation mise à l'échelle : Ouvrir dans l'éditeur Overleaf
\documentclass{article} \usepackage{tikz} \usepackage{lipsum} \tikzset{quadri/.style={rectangle,draw,text=blue}} \begin{document} bonjour \begin{tikzpicture}[remember picture,overlay] \node[shift={(current page.south west)},shift={(10,10)},scale=1,rotate=45] {\begin{tikzpicture}[remember picture,overlay] \begin{tikzpicture} \begin{scope}[local bounding box=foo] \node (A) at (1,0) {$A$}; \node (B) at (5,0) {$B$}; \node (C) at (10,0) {$C$}; \end{scope} \draw (foo.south west) rectangle (foo.north east); \node[below of = A,node distance=3cm] (A1) {A1}; \node[below of = B,node distance=3cm] (B1) {B1}; \node[below of = C,node distance=3cm] (C1) {C1}; \draw[->] (A.south) -- (A1); \draw[->] (B.south) -- (B1); \draw[->] (C.south) -- (C1); \end{tikzpicture} \end{tikzpicture} }; \end{tikzpicture} \end{document} @samcarter J'ai l'impression que le placement est bizarre et que c'est maladroit.
@idefix Si vous avez une nouvelle question, vous devriez poser une nouvelle question @samcarter j'ai posé une nouvelle question qui reprends cette réponse Je sentais bien que ce n'était pas une bonne idée d'imbriquer les tikzpicture, mais sans pouvoir le justifier. |
Avec l'environnement scope ?