Passare lo stesso parametro a TikZ e siunitx

  • Questo topic ha 2 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 14 anni, 3 mesi fa da GKT.
  • Creatore
    Topic
  • #74568
    GKT
    Partecipante
      Up
      0
      Down
      ::


      Avrei la necessità di passare lo stesso valore numerico a TikZ e siunitx. Nel codice`\documentclass{standalone}

      \usepackage{tikz}
      \usepackage{siunitx}

      \usetikzlibrary{calc}

      \sisetup{mode=math,%
      group-four-digits,%
      output-decimal-marker={,},%
      per-mode=symbol}
      %\SendSettingsToPgf

      \def\EPi{18.95}% comando accettato da TikZ
      \newcommand{\EnPi}{18.95}% comando accettato da siunitx

      \begin{document}

      \begin{tikzpicture}
      \draw [->] (0,0) — (0.6*\EPi:1.75);
      \foreach \a in {0, 30,…, 180} \draw (\a:2.1) — (\a:2.25);
      \foreach \a / \etichetta in {0/0, 30/50, 60/100, 90/150, 120/200, 150/250} \draw (\a:1.8) node {\small$\etichetta$};
      \draw (180:1.55) node {\small$>600$};
      \node [anchor=north, align=center, yshift=-1em] {\bfseries Prestazione energetica globale\\\SI{\EnPi}{\kWh/(\m^2 anno)}};
      \end{tikzpicture}

      \end{document}`ho dovuto definire lo stesso valore numerico con due diversi comandi per passarlo ai due pacchetti. Esiste un modo per definire un solo comando che sia accettato sia da TikZ che da siunitx?

      Ciao
      Lorenzo

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

        GKT” post=73696Avrei la necessità di passare lo stesso valore numerico a TikZ e siunitx. Nel codice`\documentclass{standalone}

        \usepackage{tikz}
        \usepackage{siunitx}

        \usetikzlibrary{calc}

        \sisetup{mode=math,%
        group-four-digits,%
        output-decimal-marker={,},%
        per-mode=symbol}
        %\SendSettingsToPgf

        \def\EPi{18.95}% comando accettato da TikZ
        \newcommand{\EnPi}{18.95}% comando accettato da siunitx

        \begin{document}

        \begin{tikzpicture}
        \draw [->] (0,0) — (0.6*\EPi:1.75);
        \foreach \a in {0, 30,…, 180} \draw (\a:2.1) — (\a:2.25);
        \foreach \a / \etichetta in {0/0, 30/50, 60/100, 90/150, 120/200, 150/250} \draw (\a:1.8) node {\small$\etichetta$};
        \draw (180:1.55) node {\small$>600$};
        \node [anchor=north, align=center, yshift=-1em] {\bfseries Prestazione energetica globale\\\SI{\EnPi}{\kWh/(\m^2 anno)}};
        \end{tikzpicture}

        \end{document}`ho dovuto definire lo stesso valore numerico con due diversi comandi per passarlo ai due pacchetti. Esiste un modo per definire un solo comando che sia accettato sia da TikZ che da siunitx?

        Ciao
        Lorenzo

        A me funziona perfettamente con una sola definizione di \EnPi. Quale errore ricevi tu?

        Ciao
        Claudio

      • #74570
        GKT
        Partecipante
          Up
          0
          Down
          ::

          cfiandra” post=73698
          A me funziona perfettamente con una sola definizione di \EnPi. Quale errore ricevi tu?

          Ciao
          Claudio

          In effetti ho riporvato su macchine diverse e il codice funziona 😳
          L’errore che ricevevo era dovuto al carattere usato come separatore decimale: TikZ accetta solo il punto decimale, mentre a volte scrivevo`\def\EPi{18,95}` ottenendo l’errore`! Missing number, treated as zero.

          {
          l.28 \draw [->] (0,0) — (0.6*\EPi:1.75)
          ;
          ? `

          Il tutto funziona anche usando`\newcommand{\EPi}{18.95}`
          devo solo ricordarmi di scrivere i punti decimali al posto delle virgole.
          Grazie.

          Ciao
          Lorenzo

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

      Go to top