[Risolto] Problema con espansione di macro matematiche pgf

  • Creatore
    Topic
  • #64053
    Up
    0
    Down
    ::


    Ho un piccolo problema con l’espansione di macro pgf definite con `\pgfmathsetmacro’
    `\documentclass{article}
    \usepackage[italian]{babel}
    \usepackage{tikz}

    \begin{document}

    \begin{tikzpicture}
    \pgfmathsetmacro{\a}{1}
    \draw (0,0) ellipse (\a and 0.8);
    \end{tikzpicture}

    \end{document}`
    La compilazione si interrompe per il seguente errore:
    `! Package PGF Math Error: Unknown operator `a' or `an' (in '1.0and 0.8').

    See the PGF Math package documentation for explanation.
    Type H for immediate help.

    l.73 \draw (0,0) ellipse (\a and 0.8)
    ;`
    Immagino che il problema sia che la macro `\a’ viene espansa a `1.0′, però “mangiandosi” lo spazio. Non ho letto tutto il manuale di pgf e tikz (spero che mi perdoniate, non ho il tempo di leggermi tutte le circa 700 pagine della guida 😳 ), però in compenso mi sono inventato questa soluzione: moltiplicare la macro per 1 (con il `*1′ messo dopo `\a’ in modo da “proteggere” lo spazio):
    ` \draw (0,0) ellipse (\a*1 and 0.8);`
    La mia domanda è: esiste una soluzione più diretta? Se c’è nel manuale, potreste indicarmela? Grazie!

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #64054
      Up
      0
      Down
      ::


      In “\a and 0.8” TeX non vede alcuno spazio fra “1” (valore di \a) e “and”, perché gli spazi dopo i nomi di comandi sono ignorati. Credo che
      `\draw (0,0) ellipse ({\a} and 0.8);`
      funzioni. Anzi, ne sono sicuro perché l’ho provato. 🙂

      Ciao
      Enrico

    • #64055
      Up
      0
      Down
      ::

      egreg9″ post=63099In “\a and 0.8” TeX non vede alcuno spazio fra “1” (valore di \a) e “and”, perché gli spazi dopo i nomi di comandi sono ignorati. Credo che
      `\draw (0,0) ellipse ({\a} and 0.8);`
      funzioni. Anzi, ne sono sicuro perché l’ho provato. 🙂

      Ciao
      Enrico

      Grazie!

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

Go to top