Problém se stránkovým zlomem

Marcel Svitalský marcel.svitalsky at centrum.cz
Sat Jul 30 09:41:55 CEST 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Vit Zyka wrote:
| Marcel Svitalský wrote:
|
|> Zdravím,
|>
|> několikrát jsem v různé podobě narazil na v zásadě stejný problém (po
|> hříchu asi zaviněný mými chabými znalostmi), který jsem vždy nějak
|> vyřešil, avšak ta řešení mi nikdy nepřišla zrovna košer, a tak by mne
|> zajímalo, lze-li to dělat lépe a, ano-li, jak.
|>
|> Oč jde: potřebuji sázet (pracuji v plainu) dlouhé mnohastránkové tabulky
|> se složitě strukturovanými řádky (z databáse), často víceřádkovými. Pro
|> ty řádky si připravím vhodná makra, nastavím \offinterlineskip a sypu
|> tam jeden za druhým. Občas mi to do logu psalo underfull vboxy, takže
|> jsem ještě upravil makro \pagebody (TBN 262) přidáním \vfill:
|>
|> \def\pagebody{\vbox to\vsize{\boxmaxdepth=\maxdepth\pagecontents\vfill}}
|>
|> Až potud vše v pořádku. Někdy tam však potřebuji přidat různé speciální
|> řádky (např. různé mezititulky apod.), u kterých není vhodné, aby byly
|> na stránce jako poslední, a které zároveň mají nastavit něco týkajícího
|> se stránky, na níž jsou umístěny (třeba headline aj.).
|>
|> A kombinace těchto dvou požadavků mi působí problémy. Pokud totiž za
|> takovým speciálním řádkem zakáži stránkový zlom a následující normální
|> řádek se již na stránku nevejde, pak je i tento speciální řádek odebrán
|> z aktuální strany a přetažen na stranu novou; to však, co měl nastavit,
|> bylo již provedeno na stráně aktuální, protože se ještě nevědělo, že na
|> ní nebude, a provedeno to už pochopitelně nebude na té straně nové.
|
|
| Neni zcela jasne, "co mel nastavit", tak nabizim dva obecne postupy:
|
| 1. Merit zaplneni strany pomoci \pagetotal a porovnavat s \pagegoal a
| podle toho se rozhodovat.
|

Problém je v tom, že ty následné řádky mohou mít rozdílnou výšku
(obsahují např. pole s textem zalamujícím se v odstavcovém modu), takže
takto skončím zase u odhadů a u toho Pišvejce. :-)

| 2. Pokud to, co nastavujete, je zavisle na cisle strany, pak si ji
| zapiste do souboru (bez \immediate) a ve druhem pruchodu se ridte podle
| nej. Cislo bude odpovidat skutecnemu zalomeni a ne strane pri zpracovani.
|

Avšak tohle zní jako řešení. A je zajímavé, jak je člověku najednou vše
jasné, když se vhodně naznačí; já přece vím, že vzhledem k charakteru
práce TeXu mnohé problémy musí být řešeny ve více průchodech, ale do teď
jsem byl natolik v zajetí snahy vyřešit to naráz, že mne tato možnost
prostě ani nenapadla. :-)

| Vit Zyka
|

Díky za radu.

Marcel Svitalský
- --

**********************************************************
~  tlf:     (+420) 245 005 546 ... po-pá 8:00-16:30
~  tlf:     (+420) 606 439 651
~  e-mail:  marcel.svitalsky at centrum.cz
~  e-mail:  marcel.svitalsky at mpsv.cz

~  Nebojte se šifrování - šifra je jako obálka na dopise.
~  Osobní a důvěrné věci také nepíšete na pohlednici.
~  GPG public key (ID 0xD98EC83A) fingerprint:
~  3BEB 4658 A998 B9B3 3476  AD64 EF87 D0A5 D98E C83A

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFC6y8374fQpdmOyDoRAmflAJ9dhOEvT1fKYU+VXfhVBH2w04JdKQCfWTxa
l2gNeqEB52p3tZ5iSdYnAx8=
=MfM2
-----END PGP SIGNATURE-----





More information about the csTeX mailing list