\foreach e definizione di un colore dentro {axis}

  • Creatore
    Topic
  • #84818
    Up
    0
    Down
    ::


    Ciao a tutti! 🙂

    Usando TikZ, vorrei tracciare più grafici dentro un singolo ambiente axis, colorandoli però diversamente. Qualcosa come:

    `% !TeX TS-program = LuaLaTeX

    \documentclass[a4paper,10pt]{article}

    \usepackage{amsmath}
    \usepackage{pgfplots,pgfplotstable}
    \usetikzlibrary{shapes.geometric,calc,intersections}
    \pgfplotsset{compat=1.7}
    \pgfplotstableset{format=inline, row sep=crcr}
    \newcommand*\measurement[2]{%
    \edef\next{\noexpand
    \pgfplotstableread{\unexpanded{#2}}{\expandafter\noexpand\csname measurements#1\endcsname}
    }\next
    }

    \begin{document}

    \measurement{0}{
    0 0 \\
    1 397 \\
    2 3415 \\
    3 3629 \\
    4 3811 \\
    }
    \measurement{1}{
    0 0 \\
    1 365 \\
    2 884 \\
    3 1341 \\
    4 1768 \\
    }
    \measurement{2}{
    0 0 \\
    1 1555 \\
    2 2195 \\
    3 2561 \\
    4 2653 \\
    }

    \begin{figure}
    \centering
    \begin{tikzpicture}
    \begin{axis}[
    xlabel={Packet ID},
    ylabel={Cumulative dispersion ($\mu s$)},
    xmin=0, ymin=0, xmax=4, ymax=4000
    ]
    \foreach \x in {0,1,…,2} {
    \xdef\R{\pdfuniformdeviate 255}
    \xdef\G{\pdfuniformdeviate 255}
    \xdef\B{\pdfuniformdeviate 255}
    \definecolor{randomcolor}{RGB}{\R,\G,\B}
    \edef\next{\noexpand
    \addplot [draw=randomcolor] table from
    \expandafter\noexpand\csname measurements\x\endcsname;
    }\next
    }
    \end{axis}
    \end{tikzpicture}
    \end{figure}

    \end{document}`

    Questo codice però dà errore:

    ! Package xcolor Error: Undefined color `randomcolor’.

    Se sostituisco [tt]randomcolor[/tt] con [tt]blue[/tt] o qualsiasi altro colore, funziona perfettamente. Anche togliendo il [tt]\foreach[/tt] va. Ho (una vaga) idea che il problema possa esser legato al fatto che axis posticipa l’esecuzione di alcune istruzioni, ma non saprei come intervenire.

    È possibile risolvere in qualche modo?

    Vi ringrazio,
    Antonio

Visualizzazione 11 filoni di risposte
  • Autore
    Risposte
    • #84819
      Up
      0
      Down
      ::

      antonio.macrì” post=84226Ciao a tutti! 🙂

      Usando TikZ, vorrei tracciare più grafici dentro un singolo ambiente axis, colorandoli però diversamente. Qualcosa come:

      `% !TeX TS-program = LuaLaTeX

      \documentclass[a4paper,10pt]{article}

      \usepackage{amsmath}
      \usepackage{pgfplots,pgfplotstable}
      \usetikzlibrary{shapes.geometric,calc,intersections}
      \pgfplotsset{compat=1.7}
      \pgfplotstableset{format=inline, row sep=crcr}
      \newcommand*\measurement[2]{%
      \edef\next{\noexpand
      \pgfplotstableread{\unexpanded{#2}}{\expandafter\noexpand\csname measurements#1\endcsname}
      }\next
      }

      \begin{document}

      \measurement{0}{
      0 0 \\
      1 397 \\
      2 3415 \\
      3 3629 \\
      4 3811 \\
      }
      \measurement{1}{
      0 0 \\
      1 365 \\
      2 884 \\
      3 1341 \\
      4 1768 \\
      }
      \measurement{2}{
      0 0 \\
      1 1555 \\
      2 2195 \\
      3 2561 \\
      4 2653 \\
      }

      \begin{figure}
      \centering
      \begin{tikzpicture}
      \begin{axis}[
      xlabel={Packet ID},
      ylabel={Cumulative dispersion ($\mu s$)},
      xmin=0, ymin=0, xmax=4, ymax=4000
      ]
      \foreach \x in {0,1,…,2} {
      \xdef\R{\pdfuniformdeviate 255}
      \xdef\G{\pdfuniformdeviate 255}
      \xdef\B{\pdfuniformdeviate 255}
      \definecolor{randomcolor}{RGB}{\R,\G,\B}
      \edef\next{\noexpand
      \addplot [draw=randomcolor] table from
      \expandafter\noexpand\csname measurements\x\endcsname;
      }\next
      }
      \end{axis}
      \end{tikzpicture}
      \end{figure}

      \end{document}`

      Questo codice però dà errore:

      ! Package xcolor Error: Undefined color `randomcolor’.

      Se sostituisco [tt]randomcolor[/tt] con [tt]blue[/tt] o qualsiasi altro colore, funziona perfettamente. Anche togliendo il [tt]\foreach[/tt] va. Ho (una vaga) idea che il problema possa esser legato al fatto che axis posticipa l’esecuzione di alcune istruzioni, ma non saprei come intervenire.

      È possibile risolvere in qualche modo?

      Vi ringrazio,
      Antonio

      Io, in genere, quando vedo un [tt]\expandafter[/tt] prendo male (vuoi perché riconosco quanto siano indispensabili per certe cose, vuoi perché mi riprometto sempre di dedicare del tempo per imparare e… devo ancora trovare tempo). Quindi, questa non è una risposta proprio direttissima al problema, ma un subdolo modo per ovviare 😀

      Grazie soprattutto al fatto che [tt]pgfplots[/tt] ha quella comodissima opzione [tt]cycle list[/tt] che fa il lavoro automaticamente. Quindi io avrei fatto: `
      \documentclass[png,tikz,border=10pt]{standalone}

      \usepackage{amsmath}
      \usepackage{pgfplots}
      \pgfplotsset{compat=1.7}
      \pgfplotstableset{format=inline, row sep=crcr}
      \newcommand*\measurement[2]{%
      \edef\next{\noexpand
      \pgfplotstableread{\unexpanded{#2}}{\expandafter\noexpand\csname measurements#1\endcsname}
      }\next
      }

      \begin{document}

      \measurement{0}{
      0 0 \\
      1 397 \\
      2 3415 \\
      3 3629 \\
      4 3811 \\
      }
      \measurement{1}{
      0 0 \\
      1 365 \\
      2 884 \\
      3 1341 \\
      4 1768 \\
      }
      \measurement{2}{
      0 0 \\
      1 1555 \\
      2 2195 \\
      3 2561 \\
      4 2653 \\
      }

      \measurement{3}{
      0 0 \\
      1 675 \\
      2 1864 \\
      3 2322 \\
      4 2512 \\
      }

      \pgfplotscreateplotcyclelist{wondeful-list}{
      {red!65!orange},
      {green!70!blue},
      {blue!60!cyan},
      {magenta!35!red},
      {yellow!80!gray},
      }

      \begin{tikzpicture}
      \begin{axis}[
      xlabel={Packet ID},
      ylabel={Cumulative dispersion ($\mu s$)},
      xmin=0, ymin=0, xmax=4, ymax=4000,
      cycle list name=wondeful-list,
      ]
      \foreach \x in {0,1,…,3} {
      \edef\next{\noexpand
      \addplot table from
      \expandafter\noexpand\csname measurements\x\endcsname;
      }\next
      }
      \end{axis}
      \end{tikzpicture}

      \end{document}
      ` (ho inserito una misura in più per vedere come veniva quel colore 😉 ). Ovviamente non è quello che volevi tu perché la lista viene definita a priori, ma ora che conosci la chiave in teoria puoi studiarne il codice e probabilmente ricavarne le basi necessarie per creare la tua lista personalizzata (perché sai come funzionano gli [tt]\expandafter[/tt] e compagnia 😉 ).

      Il risultato:

      [attachment=666]x-0.png[/attachment]

      Ciao
      Claudio

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


      In realtà ci sarebbe un modo per far compilare il tuo esempio: anziché usare [tt]foreach[/tt] bisogna usare [tt]pgfplotsinvokeforeach[/tt] (capitolo 8 della documentazione). Quindi: `
      \begin{tikzpicture}
      \begin{axis}[
      xlabel={Packet ID},
      ylabel={Cumulative dispersion ($\mu s$)},
      xmin=0, ymin=0, xmax=4, ymax=4000
      ]
      \pgfplotsinvokeforeach{0,1,…,2} {
      \xdef\R{\pdfuniformdeviate 255}
      \xdef\G{\pdfuniformdeviate 255}
      \xdef\B{\pdfuniformdeviate 255}
      \definecolor{randomcolor}{RGB}{\R,\G,\B}
      \edef\next{\noexpand
      \addplot [draw=randomcolor] table from
      \expandafter\noexpand\csname measurements#1\endcsname;
      }\next
      }
      \end{axis}
      \end{tikzpicture}
      ` C’è “solo” un piccolo problema: non mi viene una lista di colori, ma uno solo (deduco che creando il colore senza far interagire la lista non va bene).

      [attachment=667]x-0_2013-04-14.png[/attachment]

      Ciao
      Claudio

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

      cfiandra” post=84230Io, in genere, quando vedo un [tt]\expandafter[/tt] prendo male (vuoi perché riconosco quanto siano indispensabili per certe cose, vuoi perché mi riprometto sempre di dedicare del tempo per imparare e… devo ancora trovare tempo).

      🙂 Ti chiedo scusa per quegli [tt]\expandafter[/tt] e tutto il codice di contorno… In questo caso mi servono perché leggo diverse misure da un unico file, raccolte dai comandi [tt]\measurements{i}[/tt].

      Quindi, questa non è una risposta proprio direttissima al problema, ma un subdolo modo per ovviare 😀

      Grazie soprattutto al fatto che [tt]pgfplots[/tt] ha quella comodissima opzione [tt]cycle list[/tt] che fa il lavoro automaticamente. Quindi io avrei fatto: `
      \documentclass[png,tikz,border=10pt]{standalone}

      \usepackage{amsmath}
      \usepackage{pgfplots}
      \pgfplotsset{compat=1.7}
      \pgfplotstableset{format=inline, row sep=crcr}
      \newcommand*\measurement[2]{%
      \edef\next{\noexpand
      \pgfplotstableread{\unexpanded{#2}}{\expandafter\noexpand\csname measurements#1\endcsname}
      }\next
      }

      \begin{document}

      \measurement{0}{
      0 0 \\
      1 397 \\
      2 3415 \\
      3 3629 \\
      4 3811 \\
      }
      \measurement{1}{
      0 0 \\
      1 365 \\
      2 884 \\
      3 1341 \\
      4 1768 \\
      }
      \measurement{2}{
      0 0 \\
      1 1555 \\
      2 2195 \\
      3 2561 \\
      4 2653 \\
      }

      \measurement{3}{
      0 0 \\
      1 675 \\
      2 1864 \\
      3 2322 \\
      4 2512 \\
      }

      \pgfplotscreateplotcyclelist{wondeful-list}{
      {red!65!orange},
      {green!70!blue},
      {blue!60!cyan},
      {magenta!35!red},
      {yellow!80!gray},
      }

      \begin{tikzpicture}
      \begin{axis}[
      xlabel={Packet ID},
      ylabel={Cumulative dispersion ($\mu s$)},
      xmin=0, ymin=0, xmax=4, ymax=4000,
      cycle list name=wondeful-list,
      ]
      \foreach \x in {0,1,…,3} {
      \edef\next{\noexpand
      \addplot table from
      \expandafter\noexpand\csname measurements\x\endcsname;
      }\next
      }
      \end{axis}
      \end{tikzpicture}

      \end{document}
      ` (ho inserito una misura in più per vedere come veniva quel colore 😉 ). Ovviamente non è quello che volevi tu perché la lista viene definita a priori, ma ora che conosci la chiave in teoria puoi studiarne il codice e probabilmente ricavarne le basi necessarie per creare la tua lista personalizzata (perché sai come funzionano gli [tt]\expandafter[/tt] e compagnia 😉 ).

      In realtà mi pare un’ottima soluzione! Grazie!

    • #84822
      Up
      0
      Down
      ::

      cfiandra” post=84231In realtà ci sarebbe un modo per far compilare il tuo esempio: anziché usare [tt]foreach[/tt] bisogna usare [tt]pgfplotsinvokeforeach[/tt] (capitolo 8 della documentazione). Quindi: `
      \begin{tikzpicture}
      \begin{axis}[
      xlabel={Packet ID},
      ylabel={Cumulative dispersion ($\mu s$)},
      xmin=0, ymin=0, xmax=4, ymax=4000
      ]
      \pgfplotsinvokeforeach{0,1,…,2} {
      \xdef\R{\pdfuniformdeviate 255}
      \xdef\G{\pdfuniformdeviate 255}
      \xdef\B{\pdfuniformdeviate 255}
      \definecolor{randomcolor}{RGB}{\R,\G,\B}
      \edef\next{\noexpand
      \addplot [draw=randomcolor] table from
      \expandafter\noexpand\csname measurements#1\endcsname;
      }\next
      }
      \end{axis}
      \end{tikzpicture}
      ` C’è “solo” un piccolo problema: non mi viene una lista di colori, ma uno solo (deduco che creando il colore senza far interagire la lista non va bene).

      [attachment=667]x-0_2013-04-14.png[/attachment]

      Ciao
      Claudio

      Interessante! Non sapevo nemmeno dell’esistenza di questo comando.

      Pare che prenda sempre l’ultimo colore, forse proprio per il fatto che axis (mi pare di aver letto) posticipa l’esecuzione degli [tt]\addplot[/tt]. Indagherò con più calma…

      Comunque la soluzione precedente va benissimo.

      Grazie ancora, Claudio!

    • #84823
      Up
      0
      Down
      ::

      antonio.macrì” post=84232🙂 Ti chiedo scusa per quegli [tt]\expandafter[/tt] e tutto il codice di contorno… In questo caso mi servono perché leggo diverse misure da un unico file, raccolte dai comandi [tt]\measurements{i}[/tt].

      Figurati: nessun problema, anzi hai fatto bene perché è interessante vedere esempi “pratici” (nell’ottica di imparare si intende 😉 ) che non sono complicati come il codice dei pacchetti.

      Perciò, grazie a te 🙂

      Ciao
      Claudio

    • #84824
      Up
      0
      Down
      ::

      antonio.macrì” post=84226Ciao a tutti! 🙂

      Usando TikZ, vorrei tracciare più grafici dentro un singolo ambiente axis, colorandoli però diversamente. Qualcosa come:

      `% !TeX TS-program = LuaLaTeX

      \documentclass[a4paper,10pt]{article}

      \usepackage{amsmath}
      \usepackage{pgfplots,pgfplotstable}
      \usetikzlibrary{shapes.geometric,calc,intersections}
      \pgfplotsset{compat=1.7}
      \pgfplotstableset{format=inline, row sep=crcr}
      \newcommand*\measurement[2]{%
      \edef\next{\noexpand
      \pgfplotstableread{\unexpanded{#2}}{\expandafter\noexpand\csname measurements#1\endcsname}
      }\next
      }

      \begin{document}

      \measurement{0}{
      0 0 \\
      1 397 \\
      2 3415 \\
      3 3629 \\
      4 3811 \\
      }
      \measurement{1}{
      0 0 \\
      1 365 \\
      2 884 \\
      3 1341 \\
      4 1768 \\
      }
      \measurement{2}{
      0 0 \\
      1 1555 \\
      2 2195 \\
      3 2561 \\
      4 2653 \\
      }

      \begin{figure}
      \centering
      \begin{tikzpicture}
      \begin{axis}[
      xlabel={Packet ID},
      ylabel={Cumulative dispersion ($\mu s$)},
      xmin=0, ymin=0, xmax=4, ymax=4000
      ]
      \foreach \x in {0,1,…,2} {
      \xdef\R{\pdfuniformdeviate 255}
      \xdef\G{\pdfuniformdeviate 255}
      \xdef\B{\pdfuniformdeviate 255}
      \definecolor{randomcolor}{RGB}{\R,\G,\B}
      \edef\next{\noexpand
      \addplot [draw=randomcolor] table from
      \expandafter\noexpand\csname measurements\x\endcsname;
      }\next
      }
      \end{axis}
      \end{tikzpicture}
      \end{figure}

      \end{document}`

      Questo codice però dà errore:

      ! Package xcolor Error: Undefined color `randomcolor’.

      Se sostituisco [tt]randomcolor[/tt] con [tt]blue[/tt] o qualsiasi altro colore, funziona perfettamente. Anche togliendo il [tt]\foreach[/tt] va. Ho (una vaga) idea che il problema possa esser legato al fatto che axis posticipa l’esecuzione di alcune istruzioni, ma non saprei come intervenire.

      È possibile risolvere in qualche modo?

      Vi ringrazio,
      Antonio

      Il problema principale è che [tt]\foreach[/tt] valuta ciascun passo in un gruppo. La definizione di [tt]randomcolor[/tt] potrebbe essere preceduta da [tt]\xglobal[/tt] (sezione 2.5.5 del manuale di xcolor). Ma non basterebbe, perché alla fine varrebbe solo l’ultimo. Il trucco è di definire un colore diverso per ciascuna iterazione: saranno [tt]randomcolor0[/tt] e così via.

      Ecco qui, ho anche modificato un po’ le definizioni con [tt]\expandafter[/tt] rendendole un po’ più agili.
      `% !TeX TS-program = LuaLaTeX

      \documentclass[a4paper,10pt]{article}

      \usepackage{amsmath}
      \usepackage{pgfplots,pgfplotstable}
      \usetikzlibrary{shapes.geometric,calc,intersections}
      \pgfplotsset{compat=1.7}
      \pgfplotstableset{format=inline, row sep=crcr}

      \newcommand*\measurement[2]{%
      \begingroup\edef\next{\endgroup
      \unexpanded{\pgfplotstableread{#2}}%
      {\unexpanded\expandafter{\csname measurements#1\endcsname}}}\next
      }

      \begin{document}

      \measurement{0}{
      0 0 \\
      1 397 \\
      2 3415 \\
      3 3629 \\
      4 3811 \\
      }
      \measurement{1}{
      0 0 \\
      1 365 \\
      2 884 \\
      3 1341 \\
      4 1768 \\
      }
      \measurement{2}{
      0 0 \\
      1 1555 \\
      2 2195 \\
      3 2561 \\
      4 2653 \\
      }

      \begin{figure}
      \centering
      \tracingassigns=1
      \definecolor{mycol}{RGB}{1,1,1}
      \tracingassigns=0
      \begin{tikzpicture}
      \begin{axis}[
      xlabel={Packet ID},
      ylabel={Cumulative dispersion ($\mu s$)},
      xmin=0, ymin=0, xmax=4, ymax=4000
      ]
      \foreach \x in {0,1,…,2} {
      \edef\R{\pdfuniformdeviate 255}
      \edef\G{\pdfuniformdeviate 255}
      \edef\B{\pdfuniformdeviate 255}
      \xglobal\definecolor{randomcolor\x}{RGB}{\R,\G,\B}
      \begingroup\edef\next{\endgroup
      \noexpand\addplot [draw=randomcolor\x] table from %
      \unexpanded\expandafter{\csname measurements\x\endcsname};
      }\next
      }
      \end{axis}
      \end{tikzpicture}
      \end{figure}

      \end{document}`
      Il trucco con [tt]\begingroup[/tt] e [tt]\endgroup[/tt] serve per rimuovere la definizione di [tt]\next[/tt] dalla memoria.

      Ciao
      Enrico

    • #84825
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        per far le cose perbenino bisognerebbe anche mettere le unità di misura in tondo 😉

      • #84826
        Up
        0
        Down
        ::

        egreg9″ post=84239Il problema principale è che [tt]\foreach[/tt] valuta ciascun passo in un gruppo. La definizione di [tt]randomcolor[/tt] potrebbe essere preceduta da [tt]\xglobal[/tt] (sezione 2.5.5 del manuale di xcolor). Ma non basterebbe, perché alla fine varrebbe solo l’ultimo. Il trucco è di definire un colore diverso per ciascuna iterazione: saranno [tt]randomcolor0[/tt] e così via.

        Ecco qui, ho anche modificato un po’ le definizioni con [tt]\expandafter[/tt] rendendole un po’ più agili.
        `% !TeX TS-program = LuaLaTeX

        \documentclass[a4paper,10pt]{article}

        \usepackage{amsmath}
        \usepackage{pgfplots,pgfplotstable}
        \usetikzlibrary{shapes.geometric,calc,intersections}
        \pgfplotsset{compat=1.7}
        \pgfplotstableset{format=inline, row sep=crcr}

        \newcommand*\measurement[2]{%
        \begingroup\edef\next{\endgroup
        \unexpanded{\pgfplotstableread{#2}}%
        {\unexpanded\expandafter{\csname measurements#1\endcsname}}}\next
        }

        \begin{document}

        \measurement{0}{
        0 0 \\
        1 397 \\
        2 3415 \\
        3 3629 \\
        4 3811 \\
        }
        \measurement{1}{
        0 0 \\
        1 365 \\
        2 884 \\
        3 1341 \\
        4 1768 \\
        }
        \measurement{2}{
        0 0 \\
        1 1555 \\
        2 2195 \\
        3 2561 \\
        4 2653 \\
        }

        \begin{figure}
        \centering
        \tracingassigns=1
        \definecolor{mycol}{RGB}{1,1,1}
        \tracingassigns=0
        \begin{tikzpicture}
        \begin{axis}[
        xlabel={Packet ID},
        ylabel={Cumulative dispersion ($\mu s$)},
        xmin=0, ymin=0, xmax=4, ymax=4000
        ]
        \foreach \x in {0,1,…,2} {
        \edef\R{\pdfuniformdeviate 255}
        \edef\G{\pdfuniformdeviate 255}
        \edef\B{\pdfuniformdeviate 255}
        \xglobal\definecolor{randomcolor\x}{RGB}{\R,\G,\B}
        \begingroup\edef\next{\endgroup
        \noexpand\addplot [draw=randomcolor\x] table from %
        \unexpanded\expandafter{\csname measurements\x\endcsname};
        }\next
        }
        \end{axis}
        \end{tikzpicture}
        \end{figure}

        \end{document}`
        Il trucco con [tt]\begingroup[/tt] e [tt]\endgroup[/tt] serve per rimuovere la definizione di [tt]\next[/tt] dalla memoria.

        Ciao
        Enrico

        Ciao Enrico! Grazie mille.

        I [tt]\begingroup[/tt]/[tt]\endgroup[/tt] dimentico sempre di metterceli… 🙂

        In effetti non vedo perché fare `\noexpand\pgfplotstableread{\unexpanded{#2}}` quando conviene: `\unexpanded{\pgfplotstableread{#2}}`

        Non mi è chiaro invece perché sia meglio `{\unexpanded\expandafter{\csname measurements#1\endcsname}}` anziché `{\expandafter\noexpand\csname measurements#1\endcsname}`
        Potresti cortesemente spiegarmelo?

        Nuovamente grazie!

      • #84827
        Up
        0
        Down
        ::

        OldClaudio” post=84244per far le cose perbenino bisognerebbe anche mettere le unità di misura in tondo 😉

        Ciao Claudio!

        Giusta osservazione!

        Ero convinto che [tt]\mu[/tt] volesse l’ambiente matematico… 🙂

      • #84828
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          \mu, \muup e \varmu si, ma \textmu no, quindi una definizione di \micro tale che distingua il modo e usi la forma giusta della lettera mi, non guasta.
          Non sono sicuro, ma credo che siunitx lo faccia da solo; \muup o \varmu sono disponibili solo con alcuni pacchetti. se \muup o \varmu non sono disponibili bisogna arrampicarsi sui vetri per usare \textmu (pacchetto textcomp) con il corpo giusto anche in matematica, oppure fare di necessità virtù e mettere i matematico il prefisso e in tondo il resto dell’unità.

          Capisco che con \mu la cosa sia piuttosto seccante, pur tuttavia le norme richiedono il font tondo, comunque un font diritto.

          Ciao
          Claudio

        • #84829
          Up
          0
          Down
          ::

          antonio.macrì” post=84251Non mi è chiaro invece perché sia meglio `{\unexpanded\expandafter{\csname measurements#1\endcsname}}` anziché `{\expandafter\noexpand\csname measurements#1\endcsname}`
          Potresti cortesemente spiegarmelo?

          Preferenza personale; il codice è più chiaro.

          Con LaTeX3 sarebbe [tt]\exp_not:c {measurements#1}[/tt] che è ancora più conciso. 🙂

          Ciao
          Enrico

        • #84830
          Up
          0
          Down
          ::

          OldClaudio” post=84254\mu, \muup e \varmu si, ma \textmu no, quindi una definizione di \micro tale che distingua il modo e usi la forma giusta della lettera mi, non guasta.
          Non sono sicuro, ma credo che siunitx lo faccia da solo; \muup o \varmu sono disponibili solo con alcuni pacchetti. se \muup o \varmu non sono disponibili bisogna arrampicarsi sui vetri per usare \textmu (pacchetto textcomp) con il corpo giusto anche in matematica, oppure fare di necessità virtù e mettere i matematico il prefisso e in tondo il resto dell’unità.

          Capisco che con \mu la cosa sia piuttosto seccante, pur tuttavia le norme richiedono il font tondo, comunque un font diritto.

          Ciao
          Claudio

          Per fortuna ora compilo con lualatex (che mi evita i soliti problemi di memoria coi grafici di pgfplots) e [tt]\mu[/tt] funziona perfettamente anche in modo testo e senza pacchetti aggiuntivi. 😉

          Riprendo il messaggio precedente di Enrico:

          egreg9″ post=84239Il problema principale è che [tt]\foreach[/tt] valuta ciascun passo in un gruppo. La definizione di [tt]randomcolor[/tt] potrebbe essere preceduta da [tt]\xglobal[/tt] (sezione 2.5.5 del manuale di xcolor). Ma non basterebbe, perché alla fine varrebbe solo l’ultimo. Il trucco è di definire un colore diverso per ciascuna iterazione: saranno [tt]randomcolor0[/tt] e così via.

          Non mi torna una cosa. Se ciascun passo viene valutato in un gruppo, e sia la definizione del colore sia l'[tt]\addplot[/tt] stanno in questo gruppo, per quale motivo [tt]\addplot[/tt] non riesce a vedere il colore? Valutare è diverso da eseguire?

      Visualizzazione 11 filoni di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top