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

#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

Go to top