far ereditare le opzioni ai comandi annidati in tikz

  • Creatore
    Topic
  • #109403
    mattiaca
    Partecipante
      Up
      0
      Down
      ::


      L’oggetto della mia domanda sul disegno in tikz non è particolarmente chiaro, perciò cerco di spiegarlo con le mie parole, per quel che posso.
      Ammettiamo che io voglia raggruppare insieme alcuni percorsi di tikz per formare un piccola immagine ricorrente.
      Lo posso fare (almeno questo è quello che so fare io):

      1. mediante una pic
      2. mediante un comando personalizzato

      Per esempio:
      `
      \tikzset{pics/esempio/.style=
      {code={
      \path[name path global=cerchio] (0,0) circle (5);
      \path[name path global=rettangolo] (-5,-5) rectangle (5,5);
      }}}
      `

      oppure
      `
      \newcommand{\esempio}
      {
      \path[name path global=cerchio] (0,0) circle (5);
      \path[name path global=rettangolo] (-5,-5) rectangle (5,5);
      }
      `

      Bene. Il nuovo comando (\pic o \esempio che sia) appena dichiarato esegue 2 istruzioni: produce il cerchio ed il rettangolo.
      Ora, se io volessi invocare, tra le opzioni del \pic o di \esempio, delle chiavi facoltative del tipo nome del percorso=opzioni, che dichiarassero lo stile con cui ciascun percorso annidato dentro all comando più “alto” deve essere disegnato, come potrei fare?

      Sono riuscito a fare una cosa del tipo:
      `
      \tikzset{pics/esempio/.style 2 args=
      {code={
      \path[name path global=cerchio,#1] (0,0) circle (5);
      \path[name path global=rettangolo,#2] (-5,-5) rectangle (5,5);
      }}}
      `

      ma non è soddisfacente perché:

      • quando invoco il comando è della forma \pic {esempio={opzione1}{opzione2}}; e non nella chiave nome percorso=valore
      • non riesco a portare tali argomenti tra le [opzioni] del comando tipo: \pic[opzione1,opzione2] {esempio};
      • sono costretto a dichiarare il numero di argomenti, ma il numero dei comandi dentro \pic o \esempio, non è definibile teoricamente a priori (in questo caso sono 2 \path, ma potrebbero essere un numero indefinito.

      Spero di aver posto bene il problema e che qualcun altro sia interessato alla soluzione. Ciao

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


        Premettendo che potrei dire una fesseria enorme, quando me ne occupai inserire opzioni dentro i pic non era comodo per via del prefisso nella radice della chiave. La soluzione semplice che avevo trovato era dichiarare opzioni per il path, vedi qui. Sono passati anni, quindi forse ora è più semplice.

        Ciao
        Claudio

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

    Go to top