Jiny zpusob visiciho rozdelovniku?

Matous Jan Fialka fialka.tex at seznam.cz
Sat Dec 11 17:41:16 CET 2004


On 11/12/04 16:47 +0100 or thereabouts, Vit Zyka wrote:
> Matous Jan Fialka wrote:
> >>>v TBN jsem se docetl, ze spojovnik, ma-li "viset" ven ze sazby pri
> >>>rozdeleni
> >>>slova, se musi predefinovat v metrikach fontu. Resp. musi se predefinovat
> >>>ten zastupnej znak na pozici 156. Zajimalo by mne, proc se mi nedari ho
> >>>vystrcit ven stejne jako treba tu tecku a carku? Jak na to? Proc je nutne
> >>>zasahnout do metrik fontu u znaku na pozici 156, kdyz u tecky ani carky
> >>>to
> >>>nutne neni? Opravdu to nejde udelat bez zasahu do te metriky? Rad bych se
> >>>tomu z ruznych duvodu vyhnul.
> >>>
> >>>Dekuji predem za vysvetleni cele problematiky, nemam v tom jaksi jasno, a
> >>>uvitam napady, ktere by me oprostily od nutnosti menit tu metriku.
> >>
> >>Jednim tipem je prejit na pdfTeX (treba i s generovanim dvi),
> >>a zacit vyuzivat vymozenosti primitivu \pdfprotrudechars, \lpcode a
> >>\rpcode.
> >>To Vam umozni nezavisle na metrice definovat kolik
> >>promile sirky standardni sirky znaku bude prostrceno
> >>"ven z tiskoveho zrcadla", pokud se dany znak vyskytne
> >>na levem (\lpcode) a pravem (\rpcode) okraji.
> >
> >dekuji za podnetny tip, clanek si urcite prectu. Zel na PdfTeX
> >pravdepodobne
> >neprejdu, nebot PDF nepouzivam.
>
> Castym omylem (zvlaste konzervativnich uzivatelu) je domnenka, ze pdfTeX
> slouzi POUZE ke generovani PDF. Neni to pravda: pri \pdfoutput=0 je (mel
> by) byt 100% kompatibilni s TeXem az na to, ze mate k dispozici nekolik
> primitivu navic. Mikrotypograficke rozsireni se zavesenou interpunkci k
>  nim patri.
>
> Kdo jiz pouziva TeXLive 2004, tak (la)texuje VZDY pdfetexem, at spousti
> pdftex, tex, latex, csplain, pdfcsplain, cslatex, ...
>
> >Spis by me zajimalo, proc mi ten znak 156 nejde vystrcit ven. Mozna to mam
> >jen blbe napsane. Hexa to je 9c (printf "%x" 156), takze zkousim toto:
> >
> >\hyphenchar\font=156
> >\newdimen\wbla \setbox0=\hbox{\char"9c} \wbla=\wd0
> >\def\bla{\char"9c\kern\-wbla \kern\wbla} \catcode`^^9c=13 \let^^9c=\bla
> Zde je preklep          ^^
> ale vysledek neovlivni. Domnivam se, ze \discretionary{\hyphenchar}{}{},
> ktere se automaticky vlozi na misto zlomu, nenastavuje kategorii znaku.
> Hyphenchar tedy neni aktivni.
>
> Zde je minimalni ale uplna verze pro testovani. Reseni se zavesenou
> interpunkci pomoci pdfTeXu je na konci testu.
>
> ------------------------------------
> \hsize=7cm
>
> \hyphenchar\font=156
> \newdimen\whyph \setbox0=\hbox{\char156} \whyph=\wd0
> \def\prothyph{\char156\kern-\whyph \kern\whyph} \catcode`\^^9c=13
> \let^^9c=\prothyph
>
> \def\protcomma{,\kern-\whyph \kern\whyph} \catcode`^^2c=13
> \let^^2c=\protcomma
>
> % manually
> Coming back to the use of typefaces in
> electronic publishing: many of the new typog^^9c raphers
> receive their knowledge and\dots
>
> % original
> Coming back to the use of typefaces in
> electronic publishing: many of the new typographers
> receive their knowledge and\dots
>
> % protrude pomoci pdfTeXu (vypocet spravne hodnoty zaveseni
> % nechavam za domaci ukol: 1000=1em)
> \pdfprotrudechars=2
> \rpcode\font`\^^9c=300
> Coming back to the use of typefaces in
> electronic publishing: many of the new typographers
> receive their knowledge and\dots
>
> \input zapf
>
> \end
> -------------------------------------------
>

Dekuji za naprosto vycerpavajici vyklad, ale neni mi stale jasne jedna vec
vzhledem v zatim uvedenemu. Zaprve: dela pri vypnuti outputu do PDF
pdfcsplain skutecne naprosto to same co csplain (az na ty nove primitivy
samosebou)? A druha otazka souvisi s nasledujicim kusem zdrojaku:

\hyphenchar\font=156
\newdimen\whyph \setbox0=\hbox{\char156} \whyph=\wd0
\def\prothyph{\char156\kern-\whyph \kern\whyph} \catcode`\^^9c=13
\let^^9c=\prothyph

\let\oldhyphenchar\hyphenchar \def\hyphenchar{\catcode`\^^9c=13\char156}

Proc to nefunguje, kdyz TeX vklada na miste zlomu
\discretionary{\hyphenchar}{}{} ?

Takhle by preci mel vlozit na miste zlomu:

\catcode`\^^9c\char156\kern-\whyph \kern\whyph

ale zjevne udela neco jineho. Kde je vubec nadefinovano makro
\discretionary? V plainu jsem ho nenasel, takze typuju, ze to bude asi
nejake low-level makro. Napadlo mi, ze bych si ho predefinoval, ale kdyz
nevim, co v nem je ... ;)

--
Matou\v{s} Jan Fialka aka Nakladatelstv\'{i} Ligatura
-----------------------------------------------------
Private E-Mail:       < mjf [at] ligatura [dot] org >
Home Page:               [ http://www.ligatura.org/ ]
Linux User Number:    308523 Peace, TeX and GNU/Linux
-----------------------------------------------------



More information about the csTeX mailing list