xspace e emph

  • Creatore
    Topic
  • #78618
    Up
    0
    Down
    ::


    Ciao a tutti, non riesco a far funzionare correttamente xspace con emph.

    Esempio:

    `
    \newcommand{\nome}{Antonio\xspace}

    1) “… definiamo il nuovo personaggio \nome: \nome viene da….”
    Esito: spaziatura corretta in entrambi i casi. Output: “… definiamo il nuovo personaggio Antonio: Antonio viene da….”

    2) “… definiamo il nuovo personaggio \emph{\nome}: \nome viene da….”
    Esito: spaziatura con emph errata, c'è uno spazio prima e dopo i due punti. Output: “… definiamo il nuovo personaggio Antonio : Antonio viene da….”
    `

    Cosa sbaglio?

    Grazie

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

      gygabyte017″ post=77710Ciao a tutti, non riesco a far funzionare correttamente xspace con emph.

      Esempio:

      `
      \newcommand{\nome}{Antonio\xspace}

      1) “… definiamo il nuovo personaggio \nome: \nome viene da….”
      Esito: spaziatura corretta in entrambi i casi. Output: “… definiamo il nuovo personaggio Antonio: Antonio viene da….”

      2) “… definiamo il nuovo personaggio \emph{\nome}: \nome viene da….”
      Esito: spaziatura con emph errata, c'è uno spazio prima e dopo i due punti. Output: “… definiamo il nuovo personaggio Antonio : Antonio viene da….”
      `

      Cosa sbaglio?

      Grazie

      Niente: [tt]\xspace[/tt] in quel contesto fallisce. È il motivo principale che mi fa sostenere la sua inutilità. Scrivi semplicemente [tt]\nome{}[/tt] (eliminando [tt]\xspace[/tt] dalla definizione) e vivrai più felice.

      Ciao
      Enrico

    • #78620
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        xspace non è molto utile, ma non è nemmeno del tutto inutile; \emph esegue delle operazioni prima e dopo comporre il testo che è contenuto nel suo argomento e quindi se l’argomento contiene \xspace, questo chede che il testo vero che lo precede sia seguita da cose diverse da uno spazio esplicito o uno spazio implicito o un segno di interpunzione, e quindi inserisce uno spazio.

        Se invece usi la dichiarazione e scrivi [tt]{\em\nome}[/tt] probabilmente funziona.

        Per la verità a me funziona anche con il comando \emph seguito dai due punti.

      • #78621
        Up
        0
        Down
        ::


        Grazie ad entrambi! Alla fine provando le varie combinazioni, funziona con:

        `
        \newcommand{\nome}{Antonio\xspace}

        Chi è \nome? In realtà, \emph{\nome{}} era…
        `

        Ciao!

      • #78622
        Up
        0
        Down
        ::

        gygabyte017″ post=77836Grazie ad entrambi! Alla fine provando le varie combinazioni, funziona con:

        `
        \newcommand{\nome}{Antonio\xspace}

        Chi è \nome? In realtà, \emph{\nome{}} era…
        `

        Sarà, ma a me [tt]\emph{\nome}:[/tt] non produce alcuno spazio strano. Che distribuzione TeX hai?

        Ciao
        Enrico

      • #78623
        Up
        0
        Down
        ::


        MiKTeX 2.9, ho appena controllato non mi sembra ci siano versioni più recenti, boh?!?

        Esempio minimale:

        `
        \documentclass{article}

        \usepackage{xspace}

        \newcommand{\nome}{Antonio\xspace}

        \begin{document}

        Il suo nome: \nome. %OK!

        Il suo nome: \emph{\nome}. %ERRATO!

        Il suo nome: \emph{\nome{}}. %OK

        \end{document}
        `

      • #78624
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Ho fatto andare il tuo esempio minimo, a ma me non viene nessuno spazio che non dovrebbe esserci.

          TeXLive 2012 aggiornato 2 o 3 giorni fa.

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

      Go to top