Divne chovani tabulek v LaTeXu?

Jaroslav Snajdr snajdr5 at students.zcu.cz
Mon May 11 09:30:16 CEST 1998


On Thu, 7 May 1998, Petr Kucera wrote:

> 	Mam jeden takovy problem s tabulkami v LaTeXu. Vytvoril jsem si jedno
> makro, ktere mi funguje dobre, pokud neni pred nim tabulka. Vypada nasledovne:
>
> \newcommand{\nadpis}[2]{
>   \count120=\vsize \count121=\pagetotal \divide\count120 by 2
>   \ifnum\count120<\count121
>     \newpage \noindent{#1#2}
>   \else
>     \vskip12ex \noindent{#1#2}
>   \fi
>   \vskip6ex}

Jiz bylo receno, ze problem tkvi v tom, ze algoritmus "mereni
strany", pri nemz se meni \pagetotal, se vyvolava jen v presne urcenych
pripadech, jejichz rozbor je docela slozity a lze ho najit v TBN. Za
tabulkou nastava asi prave ta situace, ze se mereni strany nekona.

K dosazeni vami pozadovaneho efektu je vsak mnohem lepsi jina metoda:

\newcommand\nadpis[2]{
  \vskip 0pt plus .5\vsize
  \penalty-300
  \vskip 0pt plus -.5\vsize
  \vskip 12pt
  \noindent{#1#2}
  \nobreak \vskip6pt\relax}

Prvni \vskip vlozi mezeru roztazitelnou pres pul stranky. Pokud toto
dosahne az na jeji konec, zlomi se stranka v \penalty-300, odstrani se
vsechny nasledujici odstranitelne elementy (tj. ty \vskipy) a nova strana
zacina nadpisem.

Pokud to nedosahne na konec, hned za penaltou se roztaznost predchozi
mezery zase zrusi a vysledny efekt vsech tri radku je nulovy.

-jns

,-------------------------------------------------------------------------.
| Jaroslav Snajdr                             http://home.zcu.cz/~snajdr5 |
| snajdr5 at students.zcu.cz (MIME welcomed)               FIDO: 2:423/33.15 |
`-------------------------------------------------------------------------'




More information about the csTeX mailing list