Re: Supertabular e twocolumn: riempimento parziale altezza testo

#28550
Up
0
Down
::

Non mi risulta. Quello che capita con il tuo input è, prima di tutto, che la colonna di sinistra sfora sopra quella di destra. Non succede se riduci \tabcolsep a 3pt (massimo 3.5pt).

Quello che succede a me, ripetendo le tue due righe di esempio, è che la colonna di sinistra è più corta di una riga rispetto a quella di destra. Nella prima pagina, perché nella seconda la tabella non viene spezzata. Questo usando xtab.

Con supertabular mi viene esattamente come vorresti, con perfetto bilanciamento delle colonne. Alla faccia dei miglioramenti che xtab dovrebbe apportare a supertabular. 😯 Ma con i centimetri mancanti. 🙁

Temo che ci sia poco da fare, evidentemente con una tabella del genere si arriva oltre ai limiti di capacità di supertabular. Puoi provare a mettere, come termina di una riga per ciascuna colonna qualcosa come
`\shrinkheight{-4cm}`
(il valore va calcolato “a occhio”, temo).

Ciao
Enrico

Si certo ho già regolato la distanza tra le colonne e proprio a 3.5pt.
Ho già utilizzato il comando \shrinkheight, ma purtroppo non lavora a livello generale ma solo nella colonna in cui si trova. Non è quindi una soluzione perchè è già complicato senza figuriamoci con.

Ho dato anche l’opzione debugshow al pacchetto ottenendo il valore considerato da supertabular per l’altezza del testo come 725 pt (circa 25 cm). Mi pare vada bene questo valore.
Avevo utilizzato supertabular altre volte ma mai in maniera così massiccia e con dimensione del carattere minuscola.
Se ci saranno novità vi aggiornerò.

Grazie molte prof.

Credo di aver capito qualcosa. Il pacchetto stima l’altezza delle righe stando leggermente abbondante (di 1pt). Infatti nell’esempio, l’altezza disponibile per la prima colonna è 707.79968pt; supertabular stima l’altezza delle righe con il \baselineskip (6pt per \tiny) più un punto. Le righe che fa stare sono 101, con un disavanzo di 101pt = 3.55cm

Se modifichi la macro \estimate@lineht riempi la pagina; ti propongo questa soluzione:
`\makeatletter
\def\mod@estimate@lineht{%
\ST@lineht=\arraystretch \baslineskp
%\global\advance\ST@lineht by 1\p@
\ST@stretchht\ST@lineht\advance\ST@stretchht-\baslineskp
\ifdim\ST@stretchht<\z@\ST@stretchht\z@\fi \ST@trace\tw@{Average line height: \the\ST@lineht}% \ST@trace\tw@{Stretched line height: \the\ST@stretchht}% } \newenvironment{strictsupertabular} {\let\estimate@lineht\mod@estimate@lineht\supertabular} {\endsupertabular} \makeatother` Ho lasciato la riga incriminata commentandola. L'ambiente strictsupertabular non usa quel punto in più nella stima (tanto sei sicuro che le righe sono tutte alte e profonde il giusto). Ciao Enrico

Go to top