Nekolik dotazu - bod sazby

Antonin Strejc STREJC at vc.cvut.cz
Sun Mar 14 16:34:12 CET 1999


Petr Mach pise:
>Dekuju vam za odpovedi. Jenom tohle mi neni moc jasny.

>> >2) - Existuje moznost zapamatovat si bod sazby na
>> >kterem se prave nachazim a moznost se na nej v pripade
>> >potreby vratit? Neco jako \getcoord \setcoord. Alespon
>> >v ramci jedne strany, kdyz uz ne dokumentu.
>>
>> Nikoli. TeX funguje asynchronne, tzn. ze stranka se sestavuje
>> az v okamziku volani vystupni rutiny. V okamziku nacitani
>> zdrojoveho textu se jeste nevi, kde prave se nachazi aktualni
>> bod sazby.
>
>Podle me by tomu principialne nemelo nic branit. Napr. v TeXbook naruby se
>na str. 312 pise, ze stav bodu sazby se muze kdykoli ulozit do zasobniku a
>pozdeji ze zasobniku vyjmout. Toho udajne treba vyuziva TeX pri sazbe radku.
>Vzdyt ty souradnice nepotrebuju znat v okamziku nacitani zdrojoveho textu,
>ale teprve pri sestavovani te stranky.

Ne vsechno, co TeX vnitrne provadi, je dostupne navenek uzivateli.
Pokud byste chtel mit k dispozici nejake registry, ve kterych by se
uchovaval aktualni bod sazby, musela by existovat zpetna vazba z dvi
na vstup (teoreticky po kazdem vysazenem znaku), a ta neni. Nejde
pritom jen o plezir Knutha, ale proste samotny princip TeXu jakozto
asynchronniho stavoveho automatu to neumoznuje. Uzivatelske manipulace
s bodem sazby jsou mozne napriklad v PostScriptu, ale tam se stranka
plni (vykresluje) synchronne s interpretaci kodu. To je mozne jen diky
tomu, ze RIP nemusi nic lamat, ale jen rozmistuje objekty po plose.

V nekterych specialnich pripadech (sazba na pevny rejstrik a do boxu
s pevnymi rozmery) byste sice mohl tuto vlastnost castecne obejit
tim, ze byste uchovaval v registrech typu dimen jakesi souradnice,
ktere byste vzdy inkrementoval o rozmery boxu, protoze byste vlastne
umel prubeh bodu sazby v urcitych okamzicich predikovat diky znamym
rozmerum boxu.

Pri bezne sazbe hladkeho textu lamaneho do odstavcu predate TeXu
najednou cele sousto (odstavec) a ponechate mu rozhodnuti nad tim,
kde presne to ktere slovo ci znak skonci. S vysledky zlomu ale
nemuzete pracovat na urovni vstupniho souboru (pouze je muzete
vycist z dvi, pripadne neco i z logu).

Jakousi "zpetnou vazbu" o svisle souradnici muze snad predstavovat
registr \pagetotal, ktery ma ale prakticky smysl pouzivat az po
ukonceni odstavce v hlavnim vertikalnim seznamu.  Jde ale stejne
o predbeznou informaci o svislem zaplneni strany, ktera vubec nemusi
souhlasit s konecnou vyskou po provedeni strankoveho zlomu (neco se
muze svisle natahnout, smrsknout ci skoncit treba az na dalsi
strane).

>Petr Mach

S pozdravem
Antonin Strejc

---------------------------------------------------------------------
Ing. Antonin Strejc                            Phone: +420-2-24352938
---------------------------------------------------------------------
Czech Technical University in Prague                 Computing Centre
Czech Republic                               Zikova 4, 166 35 Praha 6
---------------------------------------------------------------------



More information about the csTeX mailing list