[cstex] dlouhé tabulky

Josef Tkadlec tkadlec at fel.cvut.cz
Fri Jan 18 11:34:43 CET 2013


Dobrý den,

může mi, prosím, někdo pomoci s následujícím problémem?

Chtěl bych (v LaTeXu) vysázet řadu tabulek různě dlouhých tak, aby
* byly odděleny danou svislou mezerou,
* pokud se tabulka nevejde na zbytek stránky (za jinou), začne na další,
* tabulky delší než výška stránky se rozdělí.

Napadlo mne použít prostředí longtable oddělená danou mezerou + \vfill 
(to by pro více tabulek na stránce mělo roztáhnout mezery mezi nimi, s 
čímž bych se smířil). Předpokládal jsem, že rozdělení tabulky je nějak 
penalizováno, takže \vfill upřednostní přechod na další stránku - pokud 
bude tabulka delší než stránka, tak už nezbude, než tabulku rozdělit.

Bohužel to dělá několik nepřístojností (viz přiložený zdrojový soubor a 
pdf výstup):

1. Na začátku stránky se objevuje nějaká svislá mezera, kterou jsem 
zlikvidoval nastavením \topskip=0pt.

2. Mezera \vfill se projeví jen před poslední tabulkou na stránce. (To 
mi vyhovuje.)

3. Tabulka, která se nevejde na zbytek stránky, nezačne na další 
stránce, ale rozdělí se (v ukázce je to za prvními řádky). Vypadá to, že 
dělení tabulky penalizováno není. Zkoušel jsem doplňovat penalizace do 
tabulky pomocí \nopagebreak[1], to ale nefunguje pro \hline.

Nejlepší, k čemu jsem dospěl, je nahrazení \hline -> \cline uvnitř 
tabulky a nechat \hline na začátku (před prvním řádkem). V takovém 
případě se tabulka rozdělí v \hline, které se ale objeví i na konci 
předcházející stránky(?!) - toho bych se rád ho zbavil.

Josef Tkadlec



More information about the csTeX mailing list