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