Re: index — ridefinire un comando semplificato

#33328
sandro_74
Partecipante
    Up
    0
    Down
    ::


    Buongiorno a tutti.

    Seguendo gli esempi qui presentati, ho ricreato un comando con due argomenti, di cui uno opzionale:

    `
    \documentclass[a4paper,italian]{book}
    \usepackage[latin1]{inputenc}
    \usepackage{babel}

    \makeatletter
    \newcommand{\dub}[2][]{
    \def\@temp{#1}
    \ifx\@temp\@empty
    \textbf{#2}
    \else
    \emph{#1–#2}
    \fi
    }
    \makeatother

    \begin{document}
    \dub[a{]} b{]} c{]} \dots]{d}
    \end{document}
    `

    Se il primo argomento, come in questo caso, contiene alcune parentesi quadre (chiuse),
    per non creare ambiguità con quella che delimita la fine dell’argomento stesso, devo inserirle tra due parentesi graffe.
    Per ragioni di semplicità e di chiarezza, vorrei inserirle direttamente nel testo senza ricorrere ad altri simboli.
    Una possibile alternativa credo sia quella di ridefinire il comando \dub in modo da accettare due parametri (questa volta entrambi obbligatori), di cui uno eventualmente vuoto:
    `
    \newcommand{\dub}[2]{
    \def\@temp{#1}
    \ifx\@temp\@empty
    \textbf{#2}
    \else
    \emph{#1–#2}
    \fi
    }
    `
    ed utilizzarlo in questo modo:
    `
    \dub{a] b] c]}{d}
    `
    anche se nascono alcuni problemi di consistenza nel caso in cui il secondo argomento risulti vuoto.
    Sapreste indicarmi se esiste un modo più agevole?

    Vi ringrazio per la cortese attenzione.

    Go to top