Inspiegabile comportamento comando \foreach….

  • Creatore
    Topic
  • #108705
    mattiaca
    Partecipante
      Up
      0
      Down
      ::


      Ciao a tutti
      Sto imparando a disegnare creando delle piccole macro. In particolare in quella in oggetto non comprendo il motivo per cui il comando \foreach non legge
      correttamente l’argomento di input.

      `

      \documentclass[tikz]{standalone} %visualizza disegni

      \usepackage[T1]{fontenc} % codifica dei font:

      \usepackage[utf8]{inputenc} % codifica di input; anche [latin1] va bene

      \usepackage[english,italian]{babel} % per scrivere in italiano e in inglese;
      % l'ultima lingua (l'italiano) risulta predefinita

      \usepackage{graphicx} %richiesto per tikz

      \usepackage{keyval} %richiesto per tikz

      \usepackage{ifthen}

      \usepackage{xcolor} %richiesto per tikz

      \usepackage{tikz}
      \usetikzlibrary{angles, arrows.meta, calc,graphs, intersections, matrix, %
      patterns, plotmarks, quotes, shadows, decorations, shapes} % librerie tikz

      \newcommand{\avv} [1]
      {

      \begin{scope}[shift={(4.7,-3)}]
      \draw (-5,5) circle (1);
      \foreach \n in {1,3,…,{6cm+{1cm*#1}}}
      {
      %\node[draw] at (0,\n) {\n};
      %\draw (-5,5-\n) circle (1);
      \shadedraw

      (-5.8,5-\n+1) rectangle (-4.2,5-\n);
      \draw

      (-5.8,5-\n) rectangle (-4.2,5-\n-1);
      \node[draw,circle] at (-5,5-\n) {\n};
      }
      \end{scope}
      }

      \begin{document}

      %Ciao

      \begin{tikzpicture}

      \avv{2}

      \end{tikzpicture}

      \end{document}
      `

      Attachments:
      You must be logged in to view attached files.
    Visualizzazione 1 filone di risposte
    • Autore
      Risposte
      • #108706
        mattiaca
        Partecipante
          Up
          0
          Down
          ::


          Con la seguente condizione invece il programma risponde correttamente

          `
          \newcommand{\avv} [1]
          {

          \begin{scope}[shift={(4.7,-3)}]
          \pgfmathparse{5+10*#1}; %
          %\draw (-5,5) circle (1);
          \foreach \n[evaluate=\n] in {1,3,…,\pgfmathresult} % funziona ma non me lo spiego haaha
          {
          %\node[draw] at (0,\n) {\n};
          %\draw (-5,5-\n) circle (1);
          \shadedraw

          (-5.8,5-\n+1) rectangle (-4.2,5-\n);
          \draw

          (-5.8,5-\n) rectangle (-4.2,5-\n-1);
          %\node[draw,circle] at (-5,5-\n) {\n};
          }
          \end{scope}
          }

          `

          Attachments:
          You must be logged in to view attached files.
        • #108707
          Up
          0
          Down
          ::


          Scusa, ma secondo te [tt]{6cm+{1cm*#1}}[/tt] è un numero?

          Ciao
          Enrico

      Visualizzazione 1 filone di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top