Modo corretto per terminare una macro

  • Creatore
    Topic
  • #76636
    Up
    0
    Down
    ::


    Considerate gli esempi seguenti:

    `\TeX e \LaTeX sono due programmi, il primo creato da Donald~Erwin~Knuth, il secondo da Leslie~Lamport.

    \TeX\ e \LaTeX\ sono due programmi, il primo creato da Donald~Erwin~Knuth, il secondo da Leslie~Lamport.

    \TeX{} e \LaTeX{} sono due programmi, il primo creato da Donald~Erwin~Knuth, il secondo da Leslie~Lamport.

    {\TeX} e {\LaTeX} sono due programmi, il primo creato da Donald~Erwin~Knuth, il secondo da Leslie~Lamport.

    \TeX~e \LaTeX~sono due programmi, il primo creato da Donald~Erwin~Knuth, il secondo da Leslie~Lamport.`

    A parte il primo, che ho messo per far vedere cosa non bisogna scrivere, sul mio schermo tutti gli altri sono equivalenti, almeno io vedo così. Ho riserve anche sull’ultimo non tanto per il risultato quanto perché concettualmente sbagliato: lo spazio indivisibile dovrebbe essere usato altrimenti.

    Da quanto so, il secondo metodo permette eventuali crenature tra il X e la lettera seguente, se ce ne fosse bisogno, cosa che il terzo e quarto metodo non permettono.

    Qual è il modo sempre corretto di scrivere un comando che produce testo come questi? Ammesso che questo modo ci sia.

    Ciao
    Tommaso

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #76637
      admin
      Amministratore del forum
        Up
        0
        Down
        ::


        Credo che tranne il primo e l’ultimo, gli altri sono tutti corretti (e permettono le crenature). Vediamo cosa dice qualche guru.

        Ciao
        Orlando

      • #76638
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::


          Il titolo del filone è un po’ fuorviante…
          Posso dire quello a cui sono abituato io: \TeX{}parola successiva.
          Claudio invece penso usi \TeX\
          parola successiva forse perché più semplice da digitare.
          A quanto ne so sono forme equivalenti, ma potrei sbagliarmi, quindi si tratta di forma mentis, infatti preferisco le doppie graffe perché le trovo un po’ più piacevoli stilisticamente.
          Un saluto.
          R.

        • #76639
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Lo spazio preceduto dal back slash non permette nessuna legatura, semplicemente inserisce uno spazio vero nel file di uscita, perché lo spazio dpo una macro viene {“mangiato” dalla macro stessa.

            Una macro è terminata da qualunque cosa non abbia il codice di una lettera. Quindi, \TeX, \TeX. \TeX! \TeX?
            \TeX/\LaTeX, \TeX{}, e via di questo passo. L’unico segno che deve essere indicato esplicatamente deve essere lo spazio a causa della funzione che esso svolge per terminare il nome dalla macro.

            Poi se uno scrive \TeX{}. eventualmente impedisce crenature possibili fra la X e il punto. Ecco perché non uso mai le doppie graffe, forse più eleganti, ma che impediscono le possibili crenature che possono esserci a valle, certo non le crenature con lo spazio che non avrebbe senso.

            Ciao
            Claudio

          • #76640
            Up
            0
            Down
            ::

            illinguista1972″ post=75810Considerate gli esempi seguenti:

            `\TeX e \LaTeX sono due programmi, il primo creato da Donald~Erwin~Knuth, il secondo da Leslie~Lamport.

            \TeX\ e \LaTeX\ sono due programmi, il primo creato da Donald~Erwin~Knuth, il secondo da Leslie~Lamport.

            \TeX{} e \LaTeX{} sono due programmi, il primo creato da Donald~Erwin~Knuth, il secondo da Leslie~Lamport.

            {\TeX} e {\LaTeX} sono due programmi, il primo creato da Donald~Erwin~Knuth, il secondo da Leslie~Lamport.

            \TeX~e \LaTeX~sono due programmi, il primo creato da Donald~Erwin~Knuth, il secondo da Leslie~Lamport.`

            A parte il primo, che ho messo per far vedere cosa non bisogna scrivere, sul mio schermo tutti gli altri sono equivalenti, almeno io vedo così. Ho riserve anche sull’ultimo non tanto per il risultato quanto perché concettualmente sbagliato: lo spazio indivisibile dovrebbe essere usato altrimenti.

            Da quanto so, il secondo metodo permette eventuali crenature tra il X e la lettera seguente, se ce ne fosse bisogno, cosa che il terzo e quarto metodo non permettono.

            Qual è il modo sempre corretto di scrivere un comando che produce testo come questi? Ammesso che questo modo ci sia.

            Ciao
            Tommaso

            In ordine di precedenza:
            `\TeX{}
            {\TeX}`
            Nel TeXbook Knuth dice
            `\TeX\ is a typesetting program`
            per un motivo molto semplice: nella definizione di [tt]\TeX[/tt] in [tt]plain.tex[/tt] non c’è l’analogo di [tt]\@[/tt] (immagino che tu sappia a che serve). Invece in LaTeX c’è.

            È un problema del tutto secondario: sono pochissimi i comandi senza argomenti che producono testo; gli altri, come per esempio [tt]\linebreak[/tt], sanno come eliminare o inserire il giusto spazio.

            Ciao
            Enrico

          • #76641
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              La spiegazione di Enrico non fa una grinza, ovviamente, ma si riferisce alla macro che definisce il logo di \TeX; vale anche per \LaTeX, \XeLaTeX, e probabilmente per altre macro che finiscono con TeX.

              Credo che Tommaso con i suoi esempi non volesse riferirsi specificatamente alla macro \TeX, ma ad una macro in generale.

              Con macro diverse da \TeX & company, generalmente il problema del comando \@ non si pone, nel senso che la stragrande maggioranza delle macro non termina con quel comando, che, ricordiamo, serve per modificare lo space factor di un eventuale segno di interpunzione che possa seguire la macro, e se è un punto fermo, gli dà lo stesso space factor che dà agli altri punti fermi, contrariamente allo space factor del punto di abbreviazione.

              Il problema non si pone se si usa lo stile di spaziatura dopo la punteggiatura chiamato \frenchspacing; mi pare che consigliamo sempre di usare questo stile di spaziatura, quindi il problema verissimo di Enrico di fatto non si pone.

              Ma se uno si dimentica di specificare \frenchspacing? Be’, in quel caso si possono avere delle disuniformità di spaziatura; se l’autore le nota si porrà il problema e provvederà in merito; se l’autore non le nota, i lettori forse le noteranno, ma ormai sarà troppo tardi per rimediare.

              Nello stesso tempo la soluzione indicata da Enrico credo che non funzioni sulla spaziatura per il punto fermo se si usano le graffe e si compone con lo stile di default \nofrenchspacing. Ma’; ora sono tropo suonato per fare un EMC, ma varrebbe la pena di verificare.

            • #76642
              Up
              0
              Down
              ::

              OldClaudio” post=75848La spiegazione di Enrico non fa una grinza, ovviamente, ma si riferisce alla macro che definisce il logo di \TeX; vale anche per \LaTeX, \XeLaTeX, e probabilmente per altre macro che finiscono con TeX.

              Credo che Tommaso con i suoi esempi non volesse riferirsi specificatamente alla macro \TeX, ma ad una macro in generale.

              Con macro diverse da \TeX & company, generalmente il problema del comando \@ non si pone, nel senso che la stragrande maggioranza delle macro non termina con quel comando, che, ricordiamo, serve per modificare lo space factor di un eventuale segno di interpunzione che possa seguire la macro, e se è un punto fermo, gli dà lo stesso space factor che dà agli altri punti fermi, contrariamente allo space factor del punto di abbreviazione.

              Il problema non si pone se si usa lo stile di spaziatura dopo la punteggiatura chiamato \frenchspacing; mi pare che consigliamo sempre di usare questo stile di spaziatura, quindi il problema verissimo di Enrico di fatto non si pone.

              Ma se uno si dimentica di specificare \frenchspacing? Be’, in quel caso si possono avere delle disuniformità di spaziatura; se l’autore le nota si porrà il problema e provvederà in merito; se l’autore non le nota, i lettori forse le noteranno, ma ormai sarà troppo tardi per rimediare.

              Nello stesso tempo la soluzione indicata da Enrico credo che non funzioni sulla spaziatura per il punto fermo se si usano le graffe e si compone con lo stile di default \nofrenchspacing. Ma’; ora sono tropo suonato per fare un EMC, ma varrebbe la pena di verificare.

              Infatti, io mi riferivo a una qualunque macro che produca testo. Immagino che i loghi siano definiti in modo particolare, e forse i miei esempi non calzano troppo bene.

              Insomma: qui le campane suonano a festa sia per \TeX\ sia per \TeX{}. 🙂

              Ciao
              Tommaso

            • #76643
              Up
              0
              Down
              ::

              OldClaudio” post=75848La spiegazione di Enrico non fa una grinza, ovviamente, ma si riferisce alla macro che definisce il logo di \TeX; vale anche per \LaTeX, \XeLaTeX, e probabilmente per altre macro che finiscono con TeX.

              Credo che Tommaso con i suoi esempi non volesse riferirsi specificatamente alla macro \TeX, ma ad una macro in generale.

              Con macro diverse da \TeX & company, generalmente il problema del comando \@ non si pone, nel senso che la stragrande maggioranza delle macro non termina con quel comando, che, ricordiamo, serve per modificare lo space factor di un eventuale segno di interpunzione che possa seguire la macro, e se è un punto fermo, gli dà lo stesso space factor che dà agli altri punti fermi, contrariamente allo space factor del punto di abbreviazione.

              Il problema non si pone se si usa lo stile di spaziatura dopo la punteggiatura chiamato \frenchspacing; mi pare che consigliamo sempre di usare questo stile di spaziatura, quindi il problema verissimo di Enrico di fatto non si pone.

              Ma se uno si dimentica di specificare \frenchspacing? Be’, in quel caso si possono avere delle disuniformità di spaziatura; se l’autore le nota si porrà il problema e provvederà in merito; se l’autore non le nota, i lettori forse le noteranno, ma ormai sarà troppo tardi per rimediare.

              Nello stesso tempo la soluzione indicata da Enrico credo che non funzioni sulla spaziatura per il punto fermo se si usano le graffe e si compone con lo stile di default \nofrenchspacing. Ma’; ora sono tropo suonato per fare un EMC, ma varrebbe la pena di verificare.

              Un gruppo vuoto non ha alcuna influenza nel calcolo dello space factor. Nemmeno [tt]{\TeX}[/tt] ne ha, perché i calcoli relativi allo space factor sono sempre globali.

              Ciao
              Enrico

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

          Go to top