Re: \newcommand con argomenti opzionali

#11941
Up
0
Down
::

Salve a tutti, e buon 2007.
Sto provando a usare \newcommand per sveltire l’inserimento di citazioni delle fonti primarie della mia ricerca. Faccio presente che per gestire la mia bibliografia uso biblatex.
Ecco, per esempio, il comando \dub, che uso per citare Gente di Dublino di James Joyce.

`\newcommand{\dub}[1]{\footcite[{#1}]{Joyce:2000-518}}`

Ora, questo comando funziona bene; è sufficiente che nel testo metta
`\dub{5}`
Ed appare una citazione a piè di pagina della pagina 5 di Gente di Dublino.

Vorrei però migliorare il comando. Con biblatex, l comando \footcite consente di inserire un ulteriore parametro opzionale, con questa sintassi:
`\footcite[testoPrima][testoDopo]{BIBKEY}`
Se si inserisce un solo parametro, biblatex lo considera ‘testoDopo‘, e lo inserice dopo la citazione; con due parametri biblatex genera una nota con testoPrima citazione testoDopo.
Mi piacerebbe implementare la stessa funzionalità nel mio comando.
Così, per esempio, scrivendo \dub{10} dovrei vedere

Joyce, Dubliners, p. 10.

Se invece scrivessi \dub{Si veda }{11}, vorrei vedere

Si veda Joyce, Dubliners, p. 11.

Ho cercato lumi su internet, ma non sono riuscito a implementare questo secondo parametro opzionale (che, importante, dovrebbe essere il primo se e solo se ce ne sono due).

Certo, agli ordini. 😀
`\newcommand{\dub}[2][]{\def\optdub{#1}%
\ifx\optdub\empty\footcite[#2]{Joyce:2000-518}\else\footcite[#1][#2]{Joyce:2000-518}}`
Definisci \dub con un argomento opzionale e uno obbligatorio; se l’argomento opzionale non è presente (o è vuoto), il condizionale nella definizione è vero.

Lo usi come \dub[Si veda]{11} oppure come \dub{5}

Ciao
Enrico

Go to top