This is the mail archive of the docbook-apps@lists.oasis-open.org mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Customizing PS book output - through DSSSL or directonPS code ?


Hi Juan:

Very interesting. Sure it is a start point. Thanks a lot.
But I'm not familiar to DSSSL's heart syntax like you described below. Can you point me to some documentation about it?? I need to
underestand all this code! :) (I've got just some idea...)
And... Do you have some idea about top header ?

bests regards

Lucas Brasilino
Brazil :-)


Juan R. Migoya wrote:


Hi  Lucas:

This is what I have for render the Chapter title
(I hope there isn't nothing more you need in other customization file)

;; Títtle for Chapter
;; It's changed only for chapter title.
(define ($component-title$)
  (let* ((info (cond
  ((equal? (gi) (normalize "appendix"))
   (select-elements (children (current-node)) (normalize "docinfo")))
  ((equal? (gi) (normalize "article"))
   (node-list-filter-by-gi (children (current-node))
      (list (normalize "artheader")
            (normalize "articleinfo"))))
  ((equal? (gi) (normalize "bibliography"))
   (select-elements (children (current-node)) (normalize "docinfo")))
  ((equal? (gi) (normalize "chapter"))
   (select-elements (children (current-node)) (normalize "docinfo")))
  ((equal? (gi) (normalize "dedication"))
   (empty-node-list))
  ((equal? (gi) (normalize "glossary"))
   (select-elements (children (current-node)) (normalize "docinfo")))
  ((equal? (gi) (normalize "index"))
   (select-elements (children (current-node)) (normalize "docinfo")))
  ((equal? (gi) (normalize "preface"))
   (select-elements (children (current-node)) (normalize "docinfo")))
  ((equal? (gi) (normalize "reference"))
   (select-elements (children (current-node)) (normalize "docinfo")))
  ((equal? (gi) (normalize "setindex"))
   (select-elements (children (current-node)) (normalize "docinfo")))
  (else
   (empty-node-list))))
  (exp-children (if (node-list-empty? info)
      (empty-node-list)
      (expand-children (children info)
         (list (normalize "bookbiblio")
        (normalize "bibliomisc")
        (normalize "biblioset")))))
  (parent-titles (select-elements (children (current-node)) (normalize "title")))

  (info-titles   (select-elements exp-children (normalize "title")))
  (titles        (if (node-list-empty? parent-titles)
       info-titles
       parent-titles))
  (subtitles     (select-elements exp-children (normalize "subtitle"))))

    ;; ==================== Changed for Chapter ======================
    (if (equal? (gi) (normalize "chapter"))
 (make sequence
   ;; Parrafo con "Capitulo n"
   (make paragraph
     font-family-name: %title-font-family%
     ;; font-weight: 'bold
     font-weight: 'semi-light
     font-size: (HSIZE 6)
     space-before: 0pt
     ;; space-after: (* (HSIZE 6) %head-before-factor% )
     space-after: 1cm
     quadding: 'end
     heading-level: (if %generate-heading-level% 1 0)
     keep-with-next?: #t
     (if (string=? (element-label) "")
  (empty-sosofo)
  (make sequence
    line-spacing: (* (HSIZE 1) %line-spacing-factor%)
    (literal (gentext-element-name-space (current-node)))
      (make sequence
         font-size: (* (HSIZE 6) 2.5)
         font-weight: 'bold
         color: light-blue
   (literal (element-label))))))
        ;; Quito el punto (gentext-label-title-sep (gi))

   ;; Para with chapter title
  (make paragraph
     font-family-name: %title-font-family%
     font-weight: 'bold
     font-size: (HSIZE 6)
     line-spacing: (* (HSIZE 1) %line-spacing-factor%)
     ;; space-before: (* (HSIZE 10) %head-before-factor%)
     space-before: 0.5cm
     ;; space-after:  (* (HSIZE 14) %head-before-factor%)
     ;; se suma al 1cm anterior
     space-after: 1.5cm
     start-indent: 0pt
     first-line-start-indent: 0pt
     quadding: 'end
     heading-level: (if %generate-heading-level% 1 0)
     keep-with-next?: #t
     (if (node-list-empty? titles)
     (element-title-sosofo) ;; get a default!
     (with-mode chapter-title-mode
   (make sequence
   (process-node-list titles))))))

  ;; If not chapter:
  (make sequence
   (make paragraph
     font-family-name: %title-font-family%
     font-weight: 'bold
     font-size: (HSIZE 4)
     line-spacing: (* (HSIZE 4) %line-spacing-factor%)
     space-before: (* (HSIZE 4) %head-before-factor%)
     start-indent: 0pt
     first-line-start-indent: 0pt
     quadding: %component-title-quadding%
     heading-level: (if %generate-heading-level% 1 0)
     keep-with-next?: #t

     (if (string=? (element-label) "")
  (empty-sosofo)
  (literal (gentext-element-name-space (current-node))
      (element-label)
      (gentext-label-title-sep (gi))))

     (if (node-list-empty? titles)
  (element-title-sosofo) ;; get a default!
  (with-mode component-title-mode
    (make sequence
      (process-node-list titles)))))

   (make paragraph
     font-family-name: %title-font-family%
     font-weight: 'bold
     font-posture: 'italic
     font-size: (HSIZE 3)
     line-spacing: (* (HSIZE 3) %line-spacing-factor%)
     space-before: (* 0.5 (* (HSIZE 3) %head-before-factor%))
     space-after: (* (HSIZE 4) %head-after-factor%)
     start-indent: 0pt
     first-line-start-indent: 0pt
     quadding: %component-subtitle-quadding%
     keep-with-next?: #t

     (with-mode component-title-mode
       (make sequence
  (process-node-list subtitles))))))))

;; Chapter-Title Mode
(mode chapter-title-mode
  (element title
    (make sequence
      (process-children))))

It may be just your starting point :-)

Best regards,

Juan R. Migoya
SPAIN

Lucas Brasilino wrote:


Hi All:

       I've got a problem that is confusing me.
       After looking for a answer through mailing list archives and
googling around, can't figure out how can I get the job done.
       First of all, I've got some knowledgment on customizing
DocBook DSSSL. I've customized one as following:


<snip>

       * How can I modify the first page of each chapter to be more
beautiful. The default one is just like:

                       Chapter 1. Introduction

       I'd like a big chapter number (1) inside a light gray square and
the title of chapter (Introduction) in italic below chapter's number.
Again I can create a procedure in PostScript and overlay default feature
above. But again it is quite hard.

       So. Is there a way to configure DSSSL, openjade, jadetex , DVIPS,
whatever to make these issues automagically ??


       Thanks a lot in advance

PS: I'm using:

       DocBook DTD 4.1
       DocBook DSSSL 1.76b+ (from CVS)
       OpenJade 1.3
       Jadetex 3.6
       DVIPS 5.86
       And a mug with Tux printed on :)

--
x
[]'s
Lucas Brasilino
brasilino@recife.pe.gov.br
http://www.recife.pe.gov.br



--

[]'s
Lucas Brasilino
brasilino@recife.pe.gov.br
http://www.recife.pe.gov.br
Emprel -	Empresa Municipal de Informatica (pt_BR)
		Municipal Computing Enterprise (en_US)
Recife - Pernambuco - Brasil
Fone: +55-81-34167078


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]