[risolto] Individuare opzioni di classe attive

  • Creatore
    Topic
  • #37762
    Up
    0
    Down
    ::


    Buonasera.

    Sto raccogliendo le definizioni dei comandi personalizzati che uso più di frequente in un pacchetto personale, per questo mi sto riferendo alla guida clsguide.

    Uno di questi comandi deve avere un comportamento diverso a seconda che l’opzione di classe oneside (twoside) sia attiva o meno.

    Come posso individuarla?
    Cioè: nel mio pacchetto vorrei scrivere qualcosa del tipo:
    “se opzione di classe oneside attiva allora…
    altrimenti…”
    Non so come impostare il test.

    Grazie

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

      Buonasera.

      Sto raccogliendo le definizioni dei comandi personalizzati che uso più di frequente in un pacchetto personale, per questo mi sto riferendo alla guida clsguide.

      Uno di questi comandi deve avere un comportamento diverso a seconda che l’opzione di classe oneside (twoside) sia attiva o meno.

      Come posso individuarla?
      Cioè: nel mio pacchetto vorrei scrivere qualcosa del tipo:
      “se opzione di classe oneside attiva allora…
      altrimenti…”
      Non so come impostare il test.

      Per questo è necessario conoscere un po’ di LaTeX “interno”. Le opzioni oneside e twoside sono basate su un condizionale che si chiama \if@twoside. Perciò la tua macro potrebbe essere definita secondo lo schema
      `\makeatletter
      \newcommand{\pippo}{% \if@twoside

      \else

      \fi }
      \makeatother`
      Puoi vedere che cosa impostano le opzioni esaminando il file .cls o .sty che ti interessa: normalmente le opzioni sono impostate con \DeclareOption{}. Nel caso di “twoside” vedrai la riga
      `\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}`
      che dovrebbe mettere sulla buona strada. Ma, ti avviso, si tratta di programmazione LaTeX avanzata.

      Ciao
      Enrico

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

Go to top