Definizione nuovo comando: argomenti.

  • Creatore
    Topic
  • #120903
    Up
    0
    Down
    ::


    Buongiorno.

    So studiando la definizione dei nuovi comandi, ma non riesco a capire cosa viene inteso con argomento.
    Posto il mio sorgente chiedendo in che cosa differiscono i due nuovi comandi \ca e \cb, dato che producono lo stesso risultato.
    Grazie per la comprensione.

    `\documentclass[a4paper,12pt]{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{lmodern}
    \usepackage[italian]{babel}

    \newcommand{\cb}{\textit}
    \newcommand{\ca}[1]{\textit{#1}}

    \begin{document}

    \Large

    Lorem ipsum dolor sit amet, \ca{consectetuer adipiscing} elit, sed diam nonummy nibh euismod
    tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam,
    quis nostrud \cb{exerci} tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

    \end{document}`

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


      Ciao,

      ho modificato il tuo esempio aggiungendo un secondo argomento ad uno dei comandi.
      Prova a dare un’occhiata all’”Arte di scrivere con Latex” di Pantieri-Gordini alla sezione Personalizzazioni.

      `\documentclass[a4paper,12pt]{article}
      \usepackage[utf8]{inputenc}
      \usepackage[T1]{fontenc}
      \usepackage{lmodern}
      \usepackage[italian]{babel}

      \newcommand{\cb}{\textit}
      \newcommand{\ca}[2]{\textit{#1} \textsc{#2 sit}}

      \begin{document}

      \Large

      Lorem ipsum dolor sit amet, \ca{consectetuer adipiscing}{ipsum} et \ca{consectetuer adipiscing}{amor} elit, sed et \ca{consectetuer adipiscing}{} diam nonummy nibh euismod
      tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam,
      quis nostrud \cb{exerci} tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

      \end{document}
      `

      Ciao
      Andrea

    • #120905
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::

        bintar” post=121419Buongiorno.

        So studiando la definizione dei nuovi comandi, ma non riesco a capire cosa viene inteso con argomento.
        Posto il mio sorgente chiedendo in che cosa differiscono i due nuovi comandi \ca e \cb, dato che producono lo stesso risultato.
        Grazie per la comprensione.

        `\documentclass[a4paper,12pt]{article}
        \usepackage[utf8]{inputenc}
        \usepackage[T1]{fontenc}
        \usepackage{lmodern}
        \usepackage[italian]{babel}

        \newcommand{\cb}{\textit}
        \newcommand{\ca}[1]{\textit{#1}}

        \begin{document}

        \Large

        Lorem ipsum dolor sit amet, \ca{consectetuer adipiscing} elit, sed diam nonummy nibh euismod
        tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam,
        quis nostrud \cb{exerci} tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

        \end{document}`

        Il comando \ca usa \textit in modo insolito, ma se vogliamo è un modo complicato che produce lo stesso effetto di `\let\ca\textit`.
        Il comando \cb lavora sul suo argomento, fome la funzione f9x0 lavora su x; il comado \cb può fare del suo argomento quello che vuole, per esempio`\newcommand\cb[1]{#1 è diverso da \textbf{#1}}`L’esempio più semplice di @And fa qualcosa sull’argomento #1, percè ci aggiunge la stringa sit.
        Se vui saperne di pù, nella sezione documenatzione c’è la guida tematica Il LaTeX Reference Manual commentato; è in italiano ed è la traduzione commentata del manuale di Leslie Lamport, il creatore di LaTeX.
        Se apri un terminale e dai il comando texdoc xparse vedi come si usano i nuovi comandi basato sul linguaggio LaTeX3, che invece del solo numero di argomenti usa un descrittore per ogni argomento, per cui caratterizzi ogni argomento come obbligatorio, facoltativo, delimitato, con o senza valore di default, booleano, eccetera; è vero che sembra più difficile, ma si capisce meglio che cosa è un argomento. Non per niente, ma in LaTeX3 i comandi sono chiamati funzioni.

      • #120906
        Up
        0
        Down
        ::


        Grazie a tutti.
        Ora mi sembra più chiaro il concetto.

      • #120907
        Up
        0
        Down
        ::


        Non sono proprio la stessa cosa. Con la definizione
        `\newcommand{\ca}{\textit}`
        la macro [tt]\ca[/tt] non cerca alcun argomento, mentre lo fa la macro [tt]\cb[/tt] definita con
        `\newcommand{\cb}[1]{\textit{#1}}`
        Il risultato è che [tt]\cb[/tt] è meno efficiente, perché l’argomento viene cercato due volte. Talvolta, però, l’efficienza è meno importante della chiarezza.

        Ciao
        Enrico

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

    Go to top