Argomento opzionale in \newcommand

  • Creatore
    Topic
  • #27309
    Up
    0
    Down
    ::


    Salve,

    LaTex era nella mia lista delle cose da imparare giè da vari anni, finalmente mi sono deciso a cercare di capirci qualcosa.

    Ho subito trovato alcune difficoltà.

    Ecco la prima.

    Ho scritto un nuovo comando per disegnare un semplice grafico, una specie di griglia, in cui devono apparire una serie di numeri che passo al comando come argomento.

    Il comando che ho scritto funziona benissimo, solo che vorrei che in assenza di indicazione dei numeri ne scrivesse 32 predefiniti.

    `
    \newcommand{\nvbao}[1]{
    \liststore{#1}{bc}
    `

    Vorrei che in mancanza di #1 in ‘bc’ ci fossero 32 numeri predefiniti.

    Mi potete aiutare?

    Grazie infinite,
    Nino

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


      Per il momento ho risolto così:
      `
      \usepackage{ifthen}
      \usepackage{cool}
      \newcommand\testfor@empty[1]{TT\fi\def\next{#1}\ifx\next\@empty}

      \newcommand{\nvbao}[1]{
      \if\testfor@empty{#1}\liststore{(lista)}{bc}\else\liststore{#1}{bc}\fi
      `
      Esiste una soluzione migliore?

      Grazie,
      Nino

    • #27311
      Up
      0
      Down
      ::

      Per il momento ho risolto così:
      `
      \usepackage{ifthen}
      \usepackage{cool}
      \newcommand\testfor@empty[1]{TT\fi\def\next{#1}\ifx\next\@empty}

      \newcommand{\nvbao}[1]{
      \if\testfor@empty{#1}\liststore{(lista)}{bc}\else\liststore{#1}{bc}\fi
      `
      Esiste una soluzione migliore?

      Forse definendo il comando con un argomento opzionale:
      `\newcommand\nvbao[1][(lista)]{\liststore{#1}{bc}}`
      La differenza è che l’argomento va dato tra parentesi quadre:
      `\nvbao[x,y,z] % #1 è “x,y,z”
      \nvbao %#1 è “(lista)”`
      Ciao
      Enrico

    • #27312
      Up
      0
      Down
      ::


      Perfetto!

      In verità avevo provato anche io con l’argomento opzionale, ma non mi funzionava. Ora ho scoperto perché: davo l’argomento fra parentesi graffe.

      Grazie!

      Comunque mi è servito per imparare a controllare il contenuto degli argomenti. 🙂

      NIno

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

Go to top