Jiny zpusob visiciho rozdelovniku?

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


On 11/12/04 18:26 +0100 or thereabouts, Vit Zyka wrote:
>
>
> Matous Jan Fialka wrote:
> >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
>
> Ten vyklad neni vycerpavajici, uvedl jsem jen domnenku vysvetleni. Ted
> mne napadlo si kategorii vypsat a ukazuje se, ze jsem se mylil:
>   \message{<hyph:\expandafter\the\expandafter\catcode\hyphenchar\font>}
> vypise
>   <hyph:13>
> Tak nevim, mozna to nekdo vysvetli, ja se ted musim venovat necemu jinemu.


Vysvetli to teda nekdo? Jsem napnutej :-) Treba, kdyz se to vysvetli,
nalezneme nejake reseni na urovni plainu, ktere by mi umoznilo nepouzivat
pdfcsplain a zaroven si nekazit puvodni metriku a prece mit rozdelovnik
vystrceny ze sazby ven?


> >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:
>
> Tezko rici, nevim ted presne, jak dopadne trip test, ale myslim, ze
> rozdily jsou jen v poctech primitiv a vysledna sazba bude navlas stejna.
> Tot na urovni zakladni sazby bez pouziti specialu. Budete-li vsak
> pouzivat ruzna rozsireni pomoci \special u klasickeho TeXu a \pdf...
> primitiva u pdfTeXu, pak se vysledky mohou lisit. Asi nejvyznamnejsim
> prikladem je zlamani hyperlinku: TeX je nezlame (dlouhe url budou trcet
> z bloku sazby), pdfTeX je dokaze zlamat. Je treba si tedy uvedomit, ze
> pouziti LaTeXoveho hyperref baliku dava dva ruzne vystupy podle
> zvoleneho backendu.
>

Co se hyperlinku tyce, nastesti jsem je v krasne literature nikde nevidel :)
Momentalne sazim pro kamarada knihu jeho basni a povidek, ktera si zaslouzi,
aby mela visici interpunkci. Muzu to klidne vysazet v pdfcsplainu, ale co se
stane s PS \special apod.? Samosebou uvazuji o pdfcsplainu jen pri vypnutem
vystupu do PDF.

> >\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 se v miste zlomu vklada jen v pripade, ze \hyphenchar je v
> intervalu <0,255>.
>

Ale to preci je, ne? Hexa je interval <0,255> roven <0,ff> a 9c je rozhodne
uvnitr toho intervalu...

> >\discretionary? V plainu jsem ho nenasel, takze typuju, ze to bude asi
>
> Je to primitivum TeXu. Viz TBN.
>
> S pozdravem Vitek Zyka
>

Jeste jednou Vam dekuji, nastinil ste pripadnou cestu pres pdfcsplain, o
ktere jsem nemel ani tuseni a zaroven ukazal, kudy cesta nevede. Dekuji Vam
za Vase prinosne prispevky k diskuzy.

S uctou a pozdravem,

--
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