velké mezery mezi odstavci

Zdenek Wagner wagner at cesnet.cz
Fri Oct 15 10:26:04 CEST 2004


On Fri, 15 Oct 2004, Milan Vancura wrote:

> > prosím někdo poradit, zda neexistuje nějaká možnost, jak to upravit jinak,
> > než abych na stránkách, kde se tato "anomálie" vyskytuje dopisovala další
> > věty? Děkuji velmi
>
> Dobry den,
>
> TeX ma k tomuto ucelu registr \looseness. V textu odstavce zadate, o kolik
> radku chcete mit tento odstavec delsi nebo kratsi. Kladne cislo znamena zadost
> o prodlouzeni odstavce, zaporne o zkraceni. \looseness se nastavuje uvnitr
> odstavce a po jeho dokonceni se automaticky vynuluje - tj. nastaveni plati
> pouze pro ten odstavec, kde jste to uvedla.
>
Sice to v dotazu nebylo uvedeno, ale podle jeho stylu soudim, ze pouzivate
LaTeX a nejakou tridu, ktera je urcena pro oboustranny tisk a ma nastavenu
pevnou delku stranky pomoci \flushbottom. Kdyz TeX lame text, nejprve
podle jistych pravidel nalame odstavec na radky, ktere vlozi do hlavniho
vertikalniho seznamu (MVL). Tento seznam pak podle dalsich pravidel lame
na stranky (je to pekne popsano v cestine v knize TeXbook naruby od Petra
Olsaka). Jestlize zakazete vdovy a sirotky, ma TeX jedinou moznost: dat na
stranku o 1 radek mene. Pokud to tak udela, vznikne podteceny \vbox s
cenou 10000. Mezi odstavci je ovsem mezera velikosti \parskip, jejiz
defaultni hodnota v LaTeXu je, bohuzel, 0mm plus 1pt. Receno slovne,
velikost je nulova, ale muze se zvetsit na 1pt. Problem je v tom ze kazda
roztazitelnost v TeXu je principialne nekonecna. Jestlize do boxu dane
stranky chcete vlozit o 1 radek mene, pak jedina mozna roztazitelnost je
mezi odstavci a TeX ji pouzije tak, aby kompenzoval ten chybejici radek.
Pokud mate navic vysoukou hodnotu \hyphenpenalty, nedojde ke strankovemu
zlomu na radku, kde je rozdeleno slovo, takze muze chybet vice radku. S
tim pak souvisi podteceny \vbox (when output is active).

Prvni vec, kterou je nutno v LaTeXu nastavit, je \parskip=0mm, tj. vyhodit
roztazitelnost. Pokud chcete pouzivat "twoside" (napr. kvuli odlisnym
okrajum na sudych a lichych strankach) a nevadi Vam nestejna delka stran,
pouzijte \raggedbottomm. Pokud chcete zachovat delku stran, je nutno
pomoci odstavcum napr. primitivem \looseness, jimz lze odstavec o radek
prodlouzit nebo zkratit.

Jako dalsi cteni mohu doporucit clanek Philipa Taylora ve Zpravodaji
3/1994, pripadne i 1-4/1995.

> Pekny den.
>
> Milan Vancura
>

Zdenek Wagner
e-mail: wagner at cesnet.cz

see also http://hroch486.icpf.cas.cz/wagner/
         http://icebearsoft.euweb.cz





More information about the csTeX mailing list