Variables dans tikzpicture

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.
l002265
Utilisateur confirmé
Utilisateur confirmé
Messages : 14
Inscription : lundi 02 avril 2018, 10:29

Variables dans tikzpicture

Message par l002265 »

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}


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

Re: variables dans tikzpicture

Message par evariste_G »

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...
Mathématiques, LaTeX et Python : http://www.mathweb.fr

un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 792
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: variables dans tikzpicture

Message par un bon petit »

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}