array: si può usare il solo <{...} dopo un descrittore?

  • Creatore
    Topic
  • #55022
    lorenzo.pantieri
    Partecipante
      Up
      0
      Down
      ::


      Ciao a tutti. Sono alle prese con il seguente trip.

      Il pacchetto array definisce, fra l’altro, il codice >{…} che può essere scritto nel preambolo di una tabella, prima di un descrittore, modificando il comportamento di quest’ultimo. Per esempio, con
      `\begin{tabular}{>{\bfseries}l}`
      si ha una colonna tutta in neretto.

      Ecco, mi chiedevo se esistono situazioni in cui potrebbe essere utile/possibile usare il solo codice <{...}. Qualcosa come `\begin{tabular}{l<{...}}` A istinto direi di no, ma chiedo conferma. Grazie, L.

    Visualizzazione 4 filoni di risposte
    • Autore
      Risposte
      • #55023
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Certo che esistono:
          `\begin{tabular}{>{\bfseries}l>{$}c<{$}}` Ti fa una tabella con la prima colonna in grassetto e la seconda un modo matematico ma guarda anche l'Introduzione, §6.8 che ha un bell'esempio di uso dei modificatori <{...} e >{…} solo a sinistra, solo a destra da tutti e due i lati dei descrittori di colona.

        • #55024
          Up
          0
          Down
          ::

          Ciao a tutti. Sono alle prese con il seguente trip.

          Il pacchetto array definisce, fra l’altro, il codice >{…} che può essere scritto nel preambolo di una tabella, prima di un descrittore, modificando il comportamento di quest’ultimo. Per esempio, con
          `\begin{tabular}{>{\bfseries}l}`
          si ha una colonna tutta in neretto.

          Ecco, mi chiedevo se esistono situazioni in cui potrebbe essere utile/possibile usare il solo codice <{...}. Qualcosa come `\begin{tabular}{l<{...}}` A istinto direi di no, ma chiedo conferma.

          Solo <{...}? Niente di "facile". Secondo le notazioni di Knuth nel TeXbook, ogni schema (template) per le colonne di una tabella è costituito da tre parti: u # v. Qui # è ciò che compare nel corpo della tabella, mentre u e v sono specificate nel preambolo e sono comuni a tutte le celle della colonna, purché la cella non cominci con il comando \omit (su questo comando e sul suo compagno \span si basa il trucco che permette di definire \multicolumn). Lo standard di LaTeX sostituisce agli specificatori l, r, c e p parti u e v predefinite: nel caso di l la parte u è vuota mentre la parte v è \hfil; nel caso di c entrambe le parti sono \hfil. Nel caso di p{} la parte u è \parbox[t]{}\bgroup, la parte v è \egroup. (Semplifico un pochino, naturalmente.)

          Il pacchetto array introduce qualche tecnica in più. Con >{X}s<{Y}, dove s è uno degli specificatori, lo schema per la colonna sarà uX#Yv, indicando con u e v le due parti normalmente associate allo specificatore s. C'è anche \newcolumntype e forse vale la pena di parlarne un po'. Definiamo per esempio lo specificatore n con >{X}s<{Y} (con s indico ancora uno degli specificatori già definiti). Se nel preambolo di tabella scriviamo >{F}n<{G}, che succede? Dove vanno a finire F e G? La risposta è che questa specifica viene tradotta in "XFsGY" e quando s viene tradotta ancora in comandi primitivi con le proprie parti u e v, avremo "uXF#GYv". Qualche uso di <{...} da solo mi viene in mente in questo contesto. Attenzione: il pacchetto tabu, per motivazioni filosofiche del suo autore, mette le nuove specifiche nell'ordine opposto. :( Ciao Enrico

        • #55025
          lorenzo.pantieri
          Partecipante
            Up
            0
            Down
            ::

            Solo <{...}? Niente di "facile".

            Ottimo, grazie per la spiegazione, Enrico.

            Per Claudio: certo, so che è possibile usare <{...} insieme a >{…}, a sandwich con un descrittore di colonna. La mia curiosità era se si potesse usare il solo <{...}, senza >{…} prima.

            Attenzione: il pacchetto tabu, per motivazioni filosofiche del suo autore, mette le nuove specifiche nell’ordine opposto. 🙁

            Non conosco tabu. Di sicuro, per comporre le tabelle con LaTeX gestendo le esigenze più disparate i pacchetti da caricare sono tanti: booktabs, tabularx, array, siunitx, magari ragged2e. Non è che tabu è un pacchetto che fa tutto, analogamente a biblatex per la bibliografia?

            Grazie,
            L.

          • #55026
            Up
            0
            Down
            ::

            Solo <{...}? Niente di "facile".

            Ottimo, grazie per la spiegazione, Enrico.

            Per Claudio: certo, so che è possibile usare <{...} insieme a >{…}, a sandwich con un descrittore di colonna. La mia curiosità era se si potesse usare il solo <{...}, senza >{…} prima.

            Attenzione: il pacchetto tabu, per motivazioni filosofiche del suo autore, mette le nuove specifiche nell’ordine opposto. 🙁

            Non conosco tabu. Di sicuro, per comporre le tabelle con LaTeX gestendo le esigenze più disparate i pacchetti da caricare sono tanti: booktabs, tabularx, array, siunitx, magari ragged2e. Non è che tabu è un pacchetto che fa tutto, analogamente a biblatex per la bibliografia?

            Grazie,
            L.

            texdoc tabu

            Se la documentazione fosse scritta decentemente e la sintassi non fosse convoluta e spesso incomprensibile, sarebbe ottimo.

            Ciao
            Enrico

          • #55027
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::

              Per Claudio: certo, so che è possibile usare <{...} insieme a >{…}, a sandwich con un descrittore di colonna. La mia curiosità era se si potesse usare il solo <{...}, senza >{…} prima.

              Sì l’esempio del paragrafo 6.8 mette in una colonna i pressi di certa merce con l’indicazione dell’euro; nei prezziari solitamente non si indica l’unità monetaria nell’indicazione della colonna ma di fianco al prezzo; non è vietato metterlo in testa ma di solito non lo si fa.

              Ecco allora che in quell’esempio la descrizione delle colonne è fatta con:
              `
              \begin{tabular}{>{\bfseries}l>{\itshape}cr<{\enspace\texteuro}} ` e come vedi nella terza colonna il simbolo dell'euro è messo a destra del valore come dovrebbe essere sempre messo (mai prima) anche se l'uso corrente, dal verduriere sulla bancarella nel mercato della piazza, al famoso gioielliere nella via elegante della città, è quello di mettere il simbolo monetario prima del valore. [ :) queste considerazioni sono ovviamente OT]

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

          Go to top