TikZ

  • Creatore
    Topic
  • #75844
    Up
    0
    Down
    ::


    Ciao a tutti. Mi sto dedicando alla lettura del manuale di TikZ e ho intenzione di creare un mio pacchetto personale con i comandi più importanti che trovo nel pacchetto (cosa che non ho fatto con l’Arte e di cui mi pento amaramente). Ottengo però già dei problemi.

    Questo é il pacchetto:
    `\usepackage{tikz}

    % Stile griglia (grafici)
    \tikzset{%
    help lines/.style={help lines,color=#1!50},%
    help lines/.default=gray%
    }`

    Questo il documento:
    `\documentclass[a4paper]{article}
    \usepackage{../graphics}
    \begin{document}

    \begin{tikzpicture}
    \draw[help lines] (-1.4,-1.4) grid (1.4,1.4);
    \draw (-1.5,0) — (1.5,0);
    \draw (0,-1.5) — (0,1.5);
    \draw (0,0) circle (1cm);
    \end{tikzpicture}

    \end{document}`

    e questa l’ultima parte del codice d’errore:
    `./TikZ.tex:6: TeX capacity exceeded, sorry [input stack size=5000].
    \pgfkeys@unpack …ys@spdef \pgfkeyscurrentkey {#1
    }\edef \pgfkeyscurrentkey …
    l.6 \draw[help lines]
    (-1.4,-1.4) grid (1.4,1.4);
    ./TikZ.tex:6: ==> Fatal error occurred, no output PDF file produced!
    Transcript written on TikZ.log.`

    Mai incontrato un problema del genere… Qualcuno sa di cosa si tratta e come risolverlo?

    Grazie,
    Rocco.

Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #75845
      Up
      0
      Down
      ::

      Rocco M.” post=75008Ciao a tutti. Mi sto dedicando alla lettura del manuale di TikZ e ho intenzione di creare un mio pacchetto personale con i comandi più importanti che trovo nel pacchetto (cosa che non ho fatto con l’Arte e di cui mi pento amaramente). Ottengo però già dei problemi.

      Questo é il pacchetto:
      `\usepackage{tikz}

      % Stile griglia (grafici)
      \tikzset{%
      help lines/.style={help lines,color=#1!50},%
      help lines/.default=gray%
      }`

      Questo il documento:
      `\documentclass[a4paper]{article}
      \usepackage{../graphics}
      \begin{document}

      \begin{tikzpicture}
      \draw[help lines] (-1.4,-1.4) grid (1.4,1.4);
      \draw (-1.5,0) — (1.5,0);
      \draw (0,-1.5) — (0,1.5);
      \draw (0,0) circle (1cm);
      \end{tikzpicture}

      \end{document}`

      e questa l’ultima parte del codice d’errore:
      `./TikZ.tex:6: TeX capacity exceeded, sorry [input stack size=5000].
      \pgfkeys@unpack …ys@spdef \pgfkeyscurrentkey {#1
      }\edef \pgfkeyscurrentkey …
      l.6 \draw[help lines]
      (-1.4,-1.4) grid (1.4,1.4);
      ./TikZ.tex:6: ==> Fatal error occurred, no output PDF file produced!
      Transcript written on TikZ.log.`

      Mai incontrato un problema del genere… Qualcuno sa di cosa si tratta e come risolverlo?

      Grazie,
      Rocco.

      Credo che il problema fondamentale sia nell’utilizzo errato delle parole chiave. Mettiamo ordine:
      – con [tt]style[/tt] si possono definire le proprietà di un oggetto (colore, dimensione, eccetera…), ma non funziona se nel caso lo si debba usare per creare segmenti o nodi;
      – le funzioni menzionate sono attivate da [tt]code[/tt].

      Quindi, il tuo esempio deve essere:

      `
      \documentclass[a4paper,11pt]{article}
      \usepackage{tikz}
      % Stile griglia (grafici)
      \tikzset{%
      help lines/.code={help lines},% per disegnare le linee
      help lines/.style={color=#1!50}, % per colorarle eventualmente
      help lines/.default=gray%
      }

      \begin{document}

      \begin{tikzpicture}
      \draw[help lines=red] (-1.4,-1.4) grid (1.4,1.4);
      \draw (-1.5,0) — (1.5,0);
      \draw (0,-1.5) — (0,1.5);
      \draw (0,0) circle (1cm);
      \end{tikzpicture}
      \hspace{1cm}
      \begin{tikzpicture}
      \draw[help lines] (-1.4,-1.4) grid (1.4,1.4);
      \draw (-1.5,0) — (1.5,0);
      \draw (0,-1.5) — (0,1.5);
      \draw (0,0) circle (1cm);
      \end{tikzpicture}
      \end{document}
      `
      e ottieni:

      [attachment=371]Immagine_2012-07-04.jpg[/attachment]

      EDIT: ovviamente la risposta precedente è puramente accademica. Ridefinire un codice con se stesso, ovviamente, non ha senso, ma l’ho fatto a scopo dimostrativo. L’idea di scrivere un pacchetto personale è buona, ma con TikZ si rischia di fare cose a dir poco inutili.

      C’è differenza tra il codice precedente e questo:

      `\documentclass[a4paper,11pt]{article}
      \usepackage{tikz}

      \begin{document}
      \begin{tikzpicture}
      \draw[help lines,red!50] (-1.4,-1.4) grid (1.4,1.4);
      \draw (-1.5,0) — (1.5,0);
      \draw (0,-1.5) — (0,1.5);
      \draw (0,0) circle (1cm);
      \end{tikzpicture}
      \hspace{1cm}
      \begin{tikzpicture}
      \draw[help lines] (-1.4,-1.4) grid (1.4,1.4);
      \draw (-1.5,0) — (1.5,0);
      \draw (0,-1.5) — (0,1.5);
      \draw (0,0) circle (1cm);
      \end{tikzpicture}
      \end{document}`
      ?

      Nessuna, tranne che per poter scrivere [tt]help lines=red[/tt] si è dovuto ridefinire [tt]style[/tt] e [tt]code[/tt].

      Ciao
      Claudio

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

      cfiandra” post=75013
      Credo che il problema fondamentale sia nell’utilizzo errato delle parole chiave. Mettiamo ordine:
      – con [tt]style[/tt] si possono definire le proprietà di un oggetto (colore, dimensione, eccetera…), ma non funziona se nel caso lo si debba usare per creare segmenti o nodi;
      – le funzioni menzionate sono attivate da [tt]code[/tt].

      Quindi, il tuo esempio deve essere:

      `
      \documentclass[a4paper,11pt]{article}
      \usepackage{tikz}
      % Stile griglia (grafici)
      \tikzset{%
      help lines/.code={help lines},% per disegnare le linee
      help lines/.style={color=#1!50}, % per colorarle eventualmente
      help lines/.default=gray%
      }

      \begin{document}

      \begin{tikzpicture}
      \draw[help lines=red] (-1.4,-1.4) grid (1.4,1.4);
      \draw (-1.5,0) — (1.5,0);
      \draw (0,-1.5) — (0,1.5);
      \draw (0,0) circle (1cm);
      \end{tikzpicture}
      \hspace{1cm}
      \begin{tikzpicture}
      \draw[help lines] (-1.4,-1.4) grid (1.4,1.4);
      \draw (-1.5,0) — (1.5,0);
      \draw (0,-1.5) — (0,1.5);
      \draw (0,0) circle (1cm);
      \end{tikzpicture}
      \end{document}
      `
      e ottieni:

      [attachment=371]Immagine_2012-07-04.jpg[/attachment]

      EDIT: ovviamente la risposta precedente è puramente accademica. Ridefinire un codice con se stesso, ovviamente, non ha senso, ma l’ho fatto a scopo dimostrativo. L’idea di scrivere un pacchetto personale è buona, ma con TikZ si rischia di fare cose a dir poco inutili.

      C’è differenza tra il codice precedente e questo:

      `\documentclass[a4paper,11pt]{article}
      \usepackage{tikz}

      \begin{document}
      \begin{tikzpicture}
      \draw[help lines,red!50] (-1.4,-1.4) grid (1.4,1.4);
      \draw (-1.5,0) — (1.5,0);
      \draw (0,-1.5) — (0,1.5);
      \draw (0,0) circle (1cm);
      \end{tikzpicture}
      \hspace{1cm}
      \begin{tikzpicture}
      \draw[help lines] (-1.4,-1.4) grid (1.4,1.4);
      \draw (-1.5,0) — (1.5,0);
      \draw (0,-1.5) — (0,1.5);
      \draw (0,0) circle (1cm);
      \end{tikzpicture}
      \end{document}`
      ?

      Nessuna, tranne che per poter scrivere [tt]help lines=red[/tt] si è dovuto ridefinire [tt]style[/tt] e [tt]code[/tt].

      Ciao
      Claudio

      Quindi se ho capito bene é inutile quello che ho fatto? È più semplice scrivere

      `[help lines,red!50]`

      che ridefinire più cose per poi scrivere

      `[help lines=red]`

      ? Effettivamente vista così sembra inutile anche a me!xD. È solo che nella guida lo faceva e non mi sono accorto che era più che altro a scopo didattico.

      Grazie,
      Rocco.

      P.s: Non sono ancora arrivato ai colori… Ma che significa !50 ?

    • #75847
      Up
      0
      Down
      ::

      Rocco M.” post=75019

      Credo che il problema fondamentale sia nell’utilizzo errato delle parole chiave. Mettiamo ordine:
      – con [tt]style[/tt] si possono definire le proprietà di un oggetto (colore, dimensione, eccetera…), ma non funziona se nel caso lo si debba usare per creare segmenti o nodi;
      – le funzioni menzionate sono attivate da [tt]code[/tt].

      Quindi, il tuo esempio deve essere:

      `
      \documentclass[a4paper,11pt]{article}
      \usepackage{tikz}
      % Stile griglia (grafici)
      \tikzset{%
      help lines/.code={help lines},% per disegnare le linee
      help lines/.style={color=#1!50}, % per colorarle eventualmente
      help lines/.default=gray%
      }

      \begin{document}

      \begin{tikzpicture}
      \draw[help lines=red] (-1.4,-1.4) grid (1.4,1.4);
      \draw (-1.5,0) — (1.5,0);
      \draw (0,-1.5) — (0,1.5);
      \draw (0,0) circle (1cm);
      \end{tikzpicture}
      \hspace{1cm}
      \begin{tikzpicture}
      \draw[help lines] (-1.4,-1.4) grid (1.4,1.4);
      \draw (-1.5,0) — (1.5,0);
      \draw (0,-1.5) — (0,1.5);
      \draw (0,0) circle (1cm);
      \end{tikzpicture}
      \end{document}
      `
      e ottieni:

      [attachment=371]Immagine_2012-07-04.jpg[/attachment]

      EDIT: ovviamente la risposta precedente è puramente accademica. Ridefinire un codice con se stesso, ovviamente, non ha senso, ma l’ho fatto a scopo dimostrativo. L’idea di scrivere un pacchetto personale è buona, ma con TikZ si rischia di fare cose a dir poco inutili.

      C’è differenza tra il codice precedente e questo:

      `\documentclass[a4paper,11pt]{article}
      \usepackage{tikz}

      \begin{document}
      \begin{tikzpicture}
      \draw[help lines,red!50] (-1.4,-1.4) grid (1.4,1.4);
      \draw (-1.5,0) — (1.5,0);
      \draw (0,-1.5) — (0,1.5);
      \draw (0,0) circle (1cm);
      \end{tikzpicture}
      \hspace{1cm}
      \begin{tikzpicture}
      \draw[help lines] (-1.4,-1.4) grid (1.4,1.4);
      \draw (-1.5,0) — (1.5,0);
      \draw (0,-1.5) — (0,1.5);
      \draw (0,0) circle (1cm);
      \end{tikzpicture}
      \end{document}`
      ?

      Nessuna, tranne che per poter scrivere [tt]help lines=red[/tt] si è dovuto ridefinire [tt]style[/tt] e [tt]code[/tt].

      Ciao
      Claudio

      Quindi se ho capito bene é inutile quello che ho fatto? È più semplice scrivere

      `[help lines,red!50]`

      che ridefinire più cose per poi scrivere

      `[help lines=red]`

      ? Effettivamente vista così sembra inutile anche a me!xD. È solo che nella guida lo faceva e non mi sono accorto che era più che altro a scopo didattico.

      Grazie,
      Rocco.

      P.s: Non sono ancora arrivato ai colori… Ma che significa !50 ?

      TikZ carica [tt]xcolor[/tt] perciò quando scrivi:

      `red!50`
      è come scrivere:

      `red!50!white`

      ovvero combini i due colori. Chiaramente cambiando il fattore, la combinazione ha un effetto diverso: con 50 i due colori hanno lo stesso peso nel risultato finale.

      Sui colori in TikZ, la cosa secondo me importante è capire la distinzione fra:

      `
      \begin{tikzpicture}
      \draw[blue](0,0)–(2,0)node

      {Ciao};
      \draw[draw=blue](0,-1)–(2,-1)node

      {Ciao};
      \draw[draw=blue,text =red](0,-2)–(2,-2)node

      {Ciao};
      \draw[fill=blue!10,text=red,draw=blue](0,-3)–(2,-3)–(2,-5)–(0,-5)–cycle node[above right] {Ciao};
      \end{tikzpicture}
      `

      Ciao
      Claudio

    • #75848
      lorenzo.pantieri
      Partecipante
        Up
        0
        Down
        ::

        Rocco M.” post=75008Ciao a tutti. Mi sto dedicando alla lettura del manuale di TikZ e ho intenzione di creare un mio pacchetto personale con i comandi più importanti che trovo nel pacchetto (cosa che non ho fatto con l’Arte e di cui mi pento amaramente).

        Puoi essere più preciso, per favore?

      • #75849
        Up
        0
        Down
        ::


        Nell’arte dai spesso delle definizioni di nuovi comandi o rifinisci dei vecchi comandi.

        Ad esempio:
        `\newcommand{\numberset}{\mathbb}
        \newcommand{\N}{\numberset{N}}
        \newcommand{\R}{\numberset{R}}`

        E altri, soprattutto in ambito matematico. Col senno di poi avrei dovuto creare un pacchetto “matematica.sty” che contiene i pacchetti che carico solitamente e le definizioni da te proposte. Ed é quello che vorrei fare imparando TikZ: creare un pacchetto “grafica.sty” con tutti i pacchetti e le ridefinizioni che trovo utili per poi utilizzarle in futuro con maggiore facilità (e senza perdere tempo a ricercare la definizione della guida).

        😀

      • #75850
        Up
        0
        Down
        ::

        cfiandra” post=75020
        TikZ carica [tt]xcolor[/tt] perciò quando scrivi:

        `red!50`
        è come scrivere:

        `red!50!white`

        ovvero combini i due colori. Chiaramente cambiando il fattore, la combinazione ha un effetto diverso: con 50 i due colori hanno lo stesso peso nel risultato finale.

        Sui colori in TikZ, la cosa secondo me importante è capire la distinzione fra:

        `
        \begin{tikzpicture}
        \draw[blue](0,0)–(2,0)node

        {Ciao};
        \draw[draw=blue](0,-1)–(2,-1)node

        {Ciao};
        \draw[draw=blue,text =red](0,-2)–(2,-2)node

        {Ciao};
        \draw[fill=blue!10,text=red,draw=blue](0,-3)–(2,-3)–(2,-5)–(0,-5)–cycle node[above right] {Ciao};
        \end{tikzpicture}
        `

        Ciao
        Claudio

        Anche se ai colori non sono ancora arrivato penso di aver capito la differenza. 🙂 Ad ogni modo, personalmente, preferisco la scala di grigi.

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

    Go to top