Re: Giusta larghezza tabella con paragrafo iniziale

#23653
Up
0
Down
::

`
\newenvironment{liquidb}[1]{%apertura soluzione 'b'
\begin{center}\sffamily
\rowcolors{2}{}{gray!15}
\begin{tabular}{clr}
\multicolumn{3}{r}{\parbox[c]{12cm}{#1}}\smallskip\\\midrule
&Descrizione voce&\euro\\\midrule
}{%chiusura
\bottomrule
\end{tabular}
\end{center}
}

\newcommand\rigab[3]{#1&#2&#3\\}

\newcommand\sommab[2]{\midrule\rowcolor{gray!15}%
&\textbf{#1}&\textbf{#2}\\
}
`

Questa è un nuovo ambiente per gestire più agevolmente una tabella (scusate il codice poco leggibile), che contiene una frase d’intestazione che prende tutte e tre le colonne.

Funziona, ma …
vorrei che non fosse necessario specificare la larghezza di 12cm nel comando \parbox.
Vorrei invece che la larghezza del paragrafo d’intestazione assumesse la naturale larghezza della tabella.

Ho fatto vari tentativi non riusciti.
In pratica il problema è definire un ambiente che produca una tabella di giusta larghezza con un paragrafo iniziale passato come parametro, della stessa larghezza.

Un po come impaginare un testo non conoscendone immediatamente la giustezza, ma SOLO DOPO aver composto la tabella seguente.

Un rompicapo di autodefinizione?

Occorrerebbe PRIMA calcolare la larghezza della tabella, passarla al comando \parbox, comporre quindi il testo e poi comporre la tabella stessa.

LaTeX può risolvere questo problema?

`\newsavebox{\partabbox}
\newenvironment{partab}[1]
{\def\firstlines{#1}%
\begin{lrbox}{\partabbox}
\begin{tabular}{@{}clr@{}}}
{\end{tabular}\end{lrbox}\parbox{\wd\partabbox}{
\firstlines\par
\usebox{\partabbox}}}

\begin{partab}{Oggi la giornata \`e cominciata malissimo ed \`e finita
peggio che peggio non si pu\`o}
aiodew dewoij & kdopew ijoije & oijoij csojo iieee\\
aiodew dewoij & kdopew ijoije & oijoij csojo iieee\\
aiodew dewoij & kdopew ijoije & oijoij csojo iieee\\
aiodew dewoij & kdopew ijoije & oijoij csojo iieee\\
\end{partab}`
Fa’ tu gli aggiustamenti necessari.

Ciao
Enrico

Go to top