Variables dans tikzpicture

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Variables dans tikzpicture

Messagepar l002265 » Vendredi 22 Juin 2018, 16:05

Bonjour,

J'ai un problème de variables dans mon exemple ci-dessous je suis obligé de définir 2 variables, alors qu'une seule suffirait.

Si je veux graduer un axe de hauteur 10 , je définis la variable : \newcommand\hauteur{10}

Si je veux graduer une partie de l'axe, je suis obligé de définir la variable : \newcommand\hauteurgrad{5}

sinon j'ai un message d'erreur à la ligne \foreach \y in {0,1,...,\hauteur-5}

alors que \foreach \y in {0,1,...,\hauteurgrad} fonctionne.

Je n'ai pas du comprendre quelque chose dans l'utilisation des variables.

Pouvez-vous m'aider.

Merci d'avance


Code: Tout sélectionner
\documentclass{article}
\usepackage{geometry}
\usepackage{tikz}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength{\PreviewBorder}{12pt}%  marge
\newcommand\echelle{1}
\newcommand\largeur{2}
\newcommand\hauteur{10}
\newcommand\hauteurgrad{5}
\begin{document}

 \begin{tikzpicture}[x=1cm, y=1cm]
 
   \draw  [xscale=\echelle,yscale=\echelle,line width=2,color=black]  (0,\hauteur) -- (0,0) ;

\foreach \y in {0,1,...,\hauteurgrad}  %% <------  %%%%%  \foreach \y in {0,1,...,\hauteur-5}
      {
       \draw [xscale=\echelle,yscale=\echelle,black!80!white,line width=0.1mm](0,\y)--(0+0.6,\y);
      }
    \end{tikzpicture}
\end{document}

l002265
Utilisateur
 
Messages: 6
Inscription: Lundi 02 Avril 2018, 09:29
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: variables dans tikzpicture

Messagepar evariste_G » Vendredi 22 Juin 2018, 17:01

Quand on définit une variable avec \newcommand, il faut s'attendre à ce genre de problème...
Il faut utiliser :

Code: Tout sélectionner
\def\hauteur{10}


Ou bien, je n'ai pas compris le problème... ce qui ne m'étonnerait guère...
evariste_G
Téra-utilisateur
 
Messages: 1405
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Actif et salarié | Enseignant

Re: variables dans tikzpicture

Messagepar un bon petit » Vendredi 22 Juin 2018, 17:35

evariste_G a écrit:Ou bien, je n'ai pas compris le problème... ce qui ne m'étonnerait guère...

Dans ce cas \newcommand est équivalent à \long\def, donc ce n'est pas la source du problème.

Ceci dit, que tikz n'évalue pas la borne sup me semble à la limite du bug : il semble que c'est à l'utilisateur de la faire via \numexpr.

Code: Tout sélectionner
\foreach \y in {0,1,...,\numexpr\hauteur-5}
un bon petit
Giga-utilisateur
 
Messages: 684
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Baidu [Spider], Google [Bot], Google Adsense [Bot], Grapeshot [Crawler] et 34 invités