[Tikz] Liste de points définis par \coordinate

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
ThomP
Utilisateur confirmé
Utilisateur confirmé
Messages : 16
Inscription : mardi 19 mai 2020, 14:51
Statut actuel : Enseignant
Localisation : Rhône Alpes

[Résolu] [Tikz] Liste de points définis par \coordinate

Message par ThomP »

Bonjour

Je cherche à préparer un document réutilisable dans lequel je définis des coordonnées avec la fonction coordinate (pour plus de lisibilité dans la réutilisation de ce code plus loin dans mon document)

J'ai ma liste de points A,B,C,D,E et F définis dans l'exemple ci-dessous.
J'aimerai pour chacun de ces points placer une croix (donc node) et les relier entre eux par des segments.
Je n'ai aucun problème à le faire via une méthode brute :
{}
Je cherche à optimiser cette partie du code avec un foreach :

Code : Tout sélectionner

\node[blue, line width=0.6mm] at (A) {$\times$};
\node[blue, line width=0.6mm] at (B) {$\times$};
\node[blue, line width=0.6mm] at (C) {$\times$};
\node[blue, line width=0.6mm] at (D) {$\times$};
\node[blue, line width=0.6mm] at (E) {$\times$};
\node[blue, line width=0.6mm] at (F) {$\times$};

\draw[blue, line width=0.6mm] (A)--(B)--(C)--(D)--(E)--(F);
Mais je n'y arrive pas, en fait, je n'arrive pas à lui dire d'aller chercher pour chaque valeur dans les coordonnées de la liste de points.
Un truc du genre.

Code : Tout sélectionner

\foreach \x/\y in {(A,B,C,D,E,F)} { \node at (\x,\y){$\times$};
C'est jouable d'une manière ou d'une autre ?

evariste_G
Utilisateur chevronné
Utilisateur chevronné
Messages : 1448
Inscription : vendredi 19 décembre 2008, 19:13
Localisation : Bordeaux

Re: [Tikz] Liste de points définis par \coordinate

Message par evariste_G »

C'est en effet possible. Voici une proposition, en faisant appel à la librairie calc (\usetikzlibrary{calc}):

Code : Tout sélectionner

% définition des points
\foreach\P/\x/\y in {
A/1/12,
B/2/11.5,
C/3/12,
D/4/11.5,
E/5/12,
F/6/11.5}
{
% définit un point
\coordinate (\P) at (\x,\y);
% trace une croix en ce point
\draw ($(\P)+(-0.05,-0.1)$)--($(\P)+(0.05,0.1)$);
\draw ($(\P)+(-0.05,0.1)$)--($(\P)+(0.05,-0.1)$);
}
% trace la ligne brisée
\draw (A) \foreach \P in {B,C,D,E,F} {-- (\P) };
\end{tikzpicture}
Il y a peut-être plus simple...
Mathématiques, LaTeX et Python : http://www.mathweb.fr

touhami
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 433
Inscription : dimanche 11 février 2007, 11:45

Re: [Tikz] Liste de points définis par \coordinate

Message par touhami »

Bonjour.
Vous pouvez taper

Code : Tout sélectionner

\draw[blue, line width=0.6mm] (A) node  {$\times$} --(B) node  {$\times$} --(C) node  {$\times$}--(D) node  {$\times$} --(E) node  {$\times$} --(F) node  {$\times$};
ou, si vous preferez foreach

Code : Tout sélectionner

\draw[blue, line width=0.6mm] (A) node  {$\times$} \foreach \x in {B,...,F} {-- (\x)node  {$\times$}};

ThomP
Utilisateur confirmé
Utilisateur confirmé
Messages : 16
Inscription : mardi 19 mai 2020, 14:51
Statut actuel : Enseignant
Localisation : Rhône Alpes

Re: [Tikz] Liste de points définis par \coordinate

Message par ThomP »

touhami a écrit :
samedi 30 mai 2020, 13:05
Bonjour.
Vous pouvez taper

Code : Tout sélectionner

\draw[blue, line width=0.6mm] (A) node  {$\times$} --(B) node  {$\times$} --(C) node  {$\times$}--(D) node  {$\times$} --(E) node  {$\times$} --(F) node  {$\times$};
ou, si vous preferez foreach

Code : Tout sélectionner

\draw[blue, line width=0.6mm] (A) node  {$\times$} \foreach \x in {B,...,F} {-- (\x)node  {$\times$}};
génial !

Merci pour les réponses