Dans l'exemple suivant, que j'ai trouvé dans la doc de PGF/TikZ, comment récupérer les coordonnées des nœuds n1, n2 et n3 ? Ouvrir dans l'éditeur Overleaf
\documentclass{standalone} \usepackage{tikz} \begin{document} \begin{tikzpicture} % Les axes %% Abscisses \draw[->] (-1, 0) -- (14, 0) ; %% Ordonnées \draw[->] (0, -1) -- (0, 2) ; % La figure \draw (0,0) .. controls (6,1) and (9,1) .. node[near start,sloped,above] (n1) {near start} node (n2) {midway} node[very near end,sloped,below] (n3) {very near end} (12,0); \end{tikzpicture} \end{document} Posée 30 Sep '17, 21:00 Pathe ♦♦ |
Grâce au conseil de @touhami, j'ai utilisé la commande Ouvrir dans l'éditeur Overleaf
\documentclass[a5paper, landscape]{scrartcl} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{tikz} \begin{document} \begin{tikzpicture} % Les axes %% Abscisses \draw[->] (-1, 0) -- (14, 0) ; %% Ordonnées \draw[->] (0, -1) -- (0, 2) ; % La figure \draw (0,0) .. controls (6,1) and (9,1) .. node[midway] (n2) {\Huge .} (12,0); \pgfpointanchor{n2}{center} \pgfgetlastxy{\macrox}{\macroy} \pgfmathsetmacro\macrox{\macrox/1cm} \pgfmathsetmacro\macroy{\macroy/1cm} \draw[dotted] (\macrox, 0) node [below] {\macrox} -- (n2) -- (0, \macroy) node [left] {\macroy} ; % La sauvegarde des coordonnées du point pour une utilisation en dehors de l'environnement tikzpicture \xdef\macrox{\macrox}% \xdef\macroy{\macroy} \end{tikzpicture} L'abscisse du point est \macrox{} et son ordonnée \macroy{}. \end{document} Problème : les coordonnées apparaissent en points ; ces valeurs ne sont pas de la même nature que celles utilisées pour construire ladite figure. Comment faire pour obtenir cela ? EDIT : le code ci-dessus a été modifié pour tenir compte des suggestions de touhami figurant ci-dessous (ainsi que ci-dessus en ce qui concerne la réutilisation des coordonnées du point en dehors de l'environnement tikzpicture). Publiée 01 Oct '17, 18:27 Pathe ♦♦ 1
Vous pouvez utiliser la commande
(02 Oct '17, 12:33)
touhami
Ça fonctionne. J'édite mon code en ce sens.
(02 Oct '17, 15:59)
Pathe ♦♦
|
Si on veut utiliser les coordonnées pour la création d'un autre objet graphique, il suffit d'utiliser le nom du nœud Ouvrir dans l'éditeur Overleaf
\documentclass{article} \usepackage{tikz} \begin{document} \begin{tikzpicture} \draw[->] (-1, 0) -- (14, 0) ; \draw[->] (0, -1) -- (0, 2) ; \draw (0,0) .. controls (6,1) and (9,1) .. node[near start,sloped,above] (n1) {near start} node (n2) {midway} node[very near end,sloped,below] (n3) {very near end} (12,0); \draw[red] (n1) -- (8,2) -- (n3); \end{tikzpicture} \end{document} Remarque Pour des constructions plus compliquées voir la section 14.15 The Let Operation à la page 160 du manuel. Si on veut récupérer les coordonnées pour affichage par exemple, il y a les commande
Ouvrir dans l'éditeur Overleaf
\documentclass{article} \usepackage{tikz} \newcommand{\getxy}[1]{% \path #1; \pgfgetlastxy{\macrox}{\macroy}% \xdef\macrox{\macrox}% \xdef\macroy{\macroy}} \begin{document} \begin{tikzpicture} \draw[->] (-1, 0) -- (14, 0) ; \draw[->] (0, -1) -- (0, 2) ; \draw (0,0) .. controls (6,1) and (9,1) .. node[near start,sloped,above] (n1) {near start} node (n2) {midway} node[very near end,sloped,below] (n3) {very near end} (12,0); \getxy{(n3)} \end{tikzpicture} \macrox \end{document} Remarque On peut utiliser la commande interne Publiée 01 Oct '17, 12:51 touhami ON remarquera que la commande
(05 Oct '17, 01:05)
Pathe ♦♦
|
ça dépend de ce que vous voulez faire.
Obtenir les valeurs des coordonnées des noeuds pour les utiliser ailleurs. Ce qui revient à me servir de TikZ comme d'une machine à calculer... graphique.
Voir page 983, section 96.6 Extracting Coordinates