Prvni radka v italice

Zdenek Wagner wagner at cesnet.cz
Mon Feb 23 14:09:20 CET 2004


On Mon, 23 Feb 2004, Milan Vancura wrote:

> Pak je otazka, co to udela, az mu dam prevod do TeXu - nejaky TeXovsky zdrojak
> byt na vystupu musi...
>
To pravdepodobne nepujde. Bude to umet procesor FO, ktery nejde pres TeX.
Ani PassiveTeX neimplementuje z XSL-FO vse.

> Zaujalo me to, jakym zpusobem to delat... K reseni Zdenka Wagnera pridam jeste
> jeden napad, ale jen napad, v makrech to nemam:
>
> krok 0: obsah odstavce ulozim do registru (token)
> krok 1: vysadim odstavec italikou
> krok 2: rozlamu na radky a zjistim konec prvniho radku, hbox s prvnim radkem
>         vysazim do vertikalniho seznamu
> krok 3: z token registru odeberu obsah prvniho radku a nahradim ho {\hss\break}
> krok 4: \vskip-\baselineskip
> krok 5: znovu vysazim odstavec fontem pro zbytek (antikvou)
>
> ted bude prvni radek prazdny, pouzije se jen pro "synchronizaci" s hangindent
> apod. Prvni (prazdny) radek noveho odstavce bude diky \vskip-\baselineskip na
> miste toho italikoveho.
>
> Samozrejme je ted otazka provedeni kroku 3, momentalne nevim presne, jak to
> udelat, musel bych nejakou dobu nad tim (a nad TBN) badat.
>
TeX neumi rozebrat jednou vysazeny box na puvodni tokeny. Chtelo by to
dvoupruchodovy algoritmus, ktery by nejprve vysazel vse kurzivou s
nejakymi znackami, aby se v DVI daly snadno najit zacatky odstavcu. Nejaky
jiny program by pak doplnil podle takoveho DVI znacky do zdrojoveho kodu a
ten by se pak vysadil znovu. Pak by to mohlo fungovat i s delenim slov.

> Sice timto resenim (pokud bych umel i krok 3) nemusim rozebirat text na slova a
> podobne, ale zase sazim obsah odstavce dvakrat, coz muze mit neblahe nasledky,
> napr. pokud na konci odstavce zmenim definici nejakeho makra pouziteho na
> zacatku odstavce apod. Je samozrejme take otazka, jak efektivni reseni kroku 3
> bych nalezl, jestli bych se nedostal opet na deleni textu na slova...
>
V mem reseni se opakovane sazi prvni radek do \hboxu a prodluzuje se
definice, takze pokud se tam objevi nejake makro, nejspis se to dokonale
zhrouti.

> 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