Patterns in TikZ

  • Creatore
    Topic
  • #100678
    hpo
      Up
      0
      Down
      ::


      Ho da poco cominciato ad usare TikZ e mi sarebbe di grande utilità riuscire a creare un pattern composto da soli segni più.

      Più nel dettaglio: vorrei una linea del tipo +++ da (2,0) a (4,0), densely dashed allo stesso modo dei meno da (0,0) a (2,0).

      `
      \begin{tikzpicture}
      \draw [semithick][densely dashed] (0,0)–(2,0);
      \draw [semithick] (2,0)–(4,0);
      \end{tikzpicture}
      `

      Sono andato a cercare nel manuale di 900 pagine di TikZ ma nella libreria dei patterns compaiono delle stelline, non i più, inoltre scorrendo velocemente le figure di tutte le pagine non ho trovato da nessuna parte una pattern come quello che interessa a me. Qualcuno sa come crearne uno?

      Grazie in anticipo per le risposte. 🙂

    Visualizzazione 2 filoni di risposte
    • Autore
      Risposte
      • #100679
        Up
        0
        Down
        ::

        hpo” post=100390Ho da poco cominciato ad usare TikZ e mi sarebbe di grande utilità riuscire a creare un pattern composto da soli segni più.

        Più nel dettaglio: vorrei una linea del tipo +++ da (2,0) a (4,0), densely dashed allo stesso modo dei meno da (0,0) a (2,0).

        `
        \begin{tikzpicture}
        \draw [semithick][densely dashed] (0,0)–(2,0);
        \draw [semithick] (2,0)–(4,0);
        \end{tikzpicture}
        `

        Sono andato a cercare nel manuale di 900 pagine di TikZ ma nella libreria dei patterns compaiono delle stelline, non i più, inoltre scorrendo velocemente le figure di tutte le pagine non ho trovato da nessuna parte una pattern come quello che interessa a me. Qualcuno sa come crearne uno?

        Grazie in anticipo per le risposte. 🙂

        Purtroppo non è possibile perché i patterns vanno utilizzati come “riempimento” di forme chiuse perciò non puoi applicarli a segmenti. Quello che ti interessa sono le decorazioni, nello specifico guarda nel manuale decorations.markings.

        BTW: se hai il manuale di 900 pagine, hai una versione vecchia.

        Ciao
        Claudio

      • #100680
        hpo
          Up
          0
          Down
          ::


          Grazie, in effetti era proprio quello che mi interessava.

          Adesso sono arrivato a questo codice, però ci sono due problemi: le croci sono delle x e vorrei ruotarle una per una in modo che appaiano come dei più, inoltre vorrei renderle più vicine tra loro come i meno..

          `
          \begin{tikzpicture}
          \draw [semithick][densely dashed] (0,0)–(2,0);
          \draw [decorate,decoration=crosses] (2,0)–(4,0);
          \end{tikzpicture}
          `

          Il manuale più recente di decorations dove lo trovo comunque?

        • #100681
          Up
          0
          Down
          ::

          hpo” post=100403Grazie, in effetti era proprio quello che mi interessava.

          Adesso sono arrivato a questo codice, però ci sono due problemi: le croci sono delle x e vorrei ruotarle una per una in modo che appaiano come dei più, inoltre vorrei renderle più vicine tra loro come i meno..

          `
          \begin{tikzpicture}
          \draw [semithick][densely dashed] (0,0)–(2,0);
          \draw [decorate,decoration=crosses] (2,0)–(4,0);
          \end{tikzpicture}
          `

          Il manuale più recente di decorations dove lo trovo comunque?

          Prova: `\documentclass[tikz,border=10pt]{standalone}
          \usetikzlibrary{decorations.markings}

          % idea base da
          % http://tex.stackexchange.com/a/121914/13304

          \pgfkeys{/tikz/.cd,
          cross color/.store in=\crosscolor,
          cross color=black,
          cross distance/.store in=\crossdistance,
          cross distance=5mm,
          cross length/.store in=\crosslength,
          cross length=1mm,
          }

          \tikzset{crossed pattern/.style args={between #1 and #2}{
          postaction=decorate,
          decoration={
          markings,
          mark=
          between positions #1 and #2 step \crossdistance
          with
          {
          \draw[crossed pattern options](0,0)–++(90:\crosslength) (0,0)–++(270:\crosslength)
          (0,0)–++(0:\crosslength) (0,0)–++(180:\crosslength);
          }
          }
          },
          crossed pattern/.default={between 0 and 1},
          crossed pattern options/.style={
          thick,\crosscolor,
          },
          }

          \begin{document}
          \begin{tikzpicture}
          \draw [semithick][densely dashed] (0,0)–(2,0);
          \draw [cross color=red,crossed pattern] (2,0)–(4,0);
          \end{tikzpicture}

          \begin{tikzpicture}
          \draw [cross length=1.5mm,cross distance=8mm,crossed pattern options/.append style={blue,ultra thick},crossed pattern=between 0.25 and 0.75] (0,0) — (3,1) arc (0:180:1.5 and 1);
          \end{tikzpicture}

          \end{document}` La tua versione credo sia la 2.10, puoi verificare inserendo un [tt]\pgfversion[/tt] da qualche parte nel documento. La versione nuova del manuale si trova ovunque in rete perché TikZ è alla versione 3.0.0 da fine 2013. Tra l’altro, se aggiorni la tua distribuzione dei pacchetti la ottieni in automatico.

          Ciao
          Claudio

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

      Go to top