Docbook - DSSSL styly
Jirka Kosek
jirka na kosek.cz
Čtvrtek Leden 16 16:41:15 CET 2003
Radek Budař wrote:
> nezlobte se, že Vám obtěžuji přímo na Váš e-mail s problémem, který patří
> do konference, avšak na tento příspěvek mi nikdo neodpověděl a já se stále
> nemohu hnout z místa. Jená se o úpravu DSSSL stylů:
On už se nikdo moc s těmi DSSSL styly asi nechce patlat :-)
> Dekuji za navod, uz jsem se zacal alespon castence orientovat, ale stale mi
> chybi pochopeni toho, jak nastavim 'styly' pro jednotlive nadpisy. Koukal
> jsme na kod v souboru 'dbsect.dsl' ale neni mi presne jasne, kde definuju
> velikost a font pro sect1, sect2, sect3 atd. Pripada mi, jako by to bylo
> definovano nejak relativne a odvozeno ze zakladni velikosti pisma (kdyz
> zmenim element %visual-acuity%, tak se podle toho zmeni i titulky sekci,
> nebo se mi to je to fata morgana?).
Přesně tak. Všechny sekce jsou obsluhovány stejným kodem, který podle
hloubky sekce zmenší velikost písma.
> Ja bych chtel mit velikosti nadpisu 'natvrdo' pod kotrolou. A to uz ani
> nemluvim o tom, ze (nepotrebuji to pouzit, ale pro pochopeni DSSSL) bych
> chtel sect1 Arialem, sect2 Timesem, sect3 Courirem... Je toho vubec mozne
> dosahnout nastavenim nebo budu muset 'programovat'...?
Buď je potřeba celý kód přepsat, nebo změnit hodnoty formátovacích
vlastností ve funkci $section-title$ ve stylu:
font-family-name: (case hlevel
((1) "Times")
((2) "Courier")
...
)
Možná je ta syntaxe trošku jinak, nikdy jsem DSSSL moc systematicky
neovládal.
> Titulky objektu - dokazu zarovnat na stred treba nadpis kapitoly, ale nejak
> mi uniklo zarovnani titulku objektu (tabulka, obrazek), stejne tak jejich
> fonty a velikost... Nejak se povedlo rici, ze titulek obrazku se ma
> centrovat, nicmene titulek tabulky je stale zarovnavan doleva. Navic jsou
Stará se o to následující kód:
(mode formal-object-title-mode
(element title
(let* ((object (parent (current-node)))
(nsep (gentext-label-title-sep (gi object))))
(make paragraph
font-weight: 'bold
space-before: (if (object-title-after (parent (current-node)))
%para-sep%
0pt)
space-after: (if (object-title-after (parent (current-node)))
0pt
%para-sep%)
start-indent: (+ %block-start-indent% (inherited-start-indent))
keep-with-next?: (not (object-title-after (parent (current-node))))
(if (member (gi object) (named-formal-objects))
(make sequence
(literal (gentext-element-name object))
(if (string=? (element-label object) "")
(literal nsep)
(literal " " (element-label object) nsep)))
(empty-sosofo))
(process-children))))
)
> Titulni strana - obecne - u konverze do RTF na to ma take vliv soubor
> titlepage.templates.xml jako je tomu o konverze do HTML? Nebo se na to musi
Ne, ten je pouze pro XSL styly.
> jeste nejak jinak? Vsiml jsme si Vasi diplomky, ktera ma docela pekne
> vytvorenou titulni stranu, bylo by mozne nekde ziskat zdrojovy kod? Bohuzel
Na to se použila úplně jiná technologie než DSSSL:
http://www.kosek.cz/diplomka/
> i kdyz vychytam vsechno krome titulni strany a pujdu to nekomu predvest, tak
> prvni, na cem ztroskotame bude prave ta titulni strana...:-(
Pořád můžete titulní stranu udělat ručně v nějakém DTP.
V DSSSL musíte předefinovat pravidla ze souboru dbttlpg.dsl
> Prosim o pomoc...
Kdybych měl více času, klidně bych vám za nějakou odměnu ten styl
upravil. Bohužel...
--
-----------------------------------------------------------------
Jirka Kosek
e-mail: jirka na kosek.cz
http://www.kosek.cz
Další informace o konferenci Docbook