This is the mail archive of the
docbook-apps@lists.oasis-open.org
mailing list .
Re: first page of chapter top margin
- From: "Juan R. Migoya" <jmigoya at ingeteam dot es>
- To: Tammy Fox <tfox at redhat dot com>
- Cc: docbook-apps <docbook-apps at lists dot oasis-open dot org>
- Date: Fri, 08 Feb 2002 08:18:39 +0100
- Subject: Re: DOCBOOK-APPS: first page of chapter top margin
- References: <20020207230934.B30321@redhat.com>
I guess you want to begin the first chapter page with some
blank space before.
Usually, I don't put header in the first page of chapters. To do so,
you can redefine:
---------------------------------------------------------------------------------
(define (first-page-outer-header gi)
(empty-sosofo)
)
----------------------------------------------------------------------------------
and the same for (first-page-inner-header gi)
Anyway, you can make the chapter tittle (or appendix, or whatever)
in such way that you get plenty of room after the header.
I use the following which works as the default style in the docbook
DSSSL
except when a chapter begins:
----------------------------------------------------------------------------------------
(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
"Chapter n"
(make paragraph
font-family-name: %title-font-family%
font-weight: 'semi-light
font-size: (HSIZE 6)
space-before: 0pt
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))))))
;; "." removed (gentext-label-title-sep (gi))
;; 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: 0.5cm
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))))
---------------------------------------------------------------------------------------------------
HTH,
Regards,
Juan R. Migoya
SPAIN
Tammy Fox wrote:
> How do I change the top margin of the first page of each chapter and
> appendix?
>
> I tried setting the head-after-factor in the component-title
> definition, but that didn't seem to have any effect.
>
> I'm using DSSSL stylesheets.
>
> Thanks,
> Tammy