mirror of
https://github.com/smarty-php/smarty.git
synced 2025-10-07 17:54:38 +02:00
223 lines
7.2 KiB
Plaintext
Executable File
223 lines
7.2 KiB
Plaintext
Executable File
;; $Id$
|
|
;;
|
|
;; This file is part of the Modular DocBook Stylesheet distribution.
|
|
;; See ../README or http://www.berkshire.net/~norm/dsssl/
|
|
;;
|
|
|
|
;; ============================= DIVISIONS ==============================
|
|
|
|
(element set
|
|
(let* ((setinfo (select-elements (children (current-node))
|
|
(normalize "setinfo")))
|
|
(nl (titlepage-info-elements (current-node) setinfo)))
|
|
(make sequence
|
|
(if %generate-set-titlepage%
|
|
(make simple-page-sequence
|
|
page-n-columns: %titlepage-n-columns%
|
|
input-whitespace-treatment: 'collapse
|
|
use: default-text-style
|
|
(set-titlepage nl 'recto)
|
|
(make display-group
|
|
break-before: 'page
|
|
(set-titlepage nl 'verso)))
|
|
(empty-sosofo))
|
|
|
|
(if (not (generate-toc-in-front))
|
|
(process-children)
|
|
(empty-sosofo))
|
|
|
|
(if %generate-set-toc%
|
|
(make simple-page-sequence
|
|
page-n-columns: %page-n-columns%
|
|
page-number-format: ($page-number-format$ (normalize "toc"))
|
|
use: default-text-style
|
|
left-header: ($left-header$ (normalize "toc"))
|
|
center-header: ($center-header$ (normalize "toc"))
|
|
right-header: ($right-header$ (normalize "toc"))
|
|
left-footer: ($left-footer$ (normalize "toc"))
|
|
center-footer: ($center-footer$ (normalize "toc"))
|
|
right-footer: ($right-footer$ (normalize "toc"))
|
|
input-whitespace-treatment: 'collapse
|
|
(build-toc (current-node)
|
|
(toc-depth (current-node))))
|
|
(empty-sosofo))
|
|
|
|
(if (generate-toc-in-front)
|
|
(process-children)
|
|
(empty-sosofo)))))
|
|
|
|
(element (set title) (empty-sosofo))
|
|
|
|
(element book
|
|
(let* ((bookinfo (select-elements (children (current-node))
|
|
(normalize "bookinfo")))
|
|
(dedication (select-elements (children (current-node))
|
|
(normalize "dedication")))
|
|
(nl (titlepage-info-elements (current-node) bookinfo)))
|
|
(make sequence
|
|
(if %generate-book-titlepage%
|
|
(make simple-page-sequence
|
|
page-n-columns: %titlepage-n-columns%
|
|
input-whitespace-treatment: 'collapse
|
|
use: default-text-style
|
|
(book-titlepage nl 'recto)
|
|
(make display-group
|
|
break-before: 'page
|
|
(book-titlepage nl 'verso)))
|
|
(empty-sosofo))
|
|
|
|
(if (node-list-empty? dedication)
|
|
(empty-sosofo)
|
|
(with-mode dedication-page-mode
|
|
(process-node-list dedication)))
|
|
|
|
(if (not (generate-toc-in-front))
|
|
(process-children)
|
|
(empty-sosofo))
|
|
|
|
(if %generate-book-toc%
|
|
(make simple-page-sequence
|
|
page-n-columns: %page-n-columns%
|
|
page-number-format: ($page-number-format$ (normalize "toc"))
|
|
use: default-text-style
|
|
left-header: ($left-header$ (normalize "toc"))
|
|
center-header: ($center-header$ (normalize "toc"))
|
|
right-header: ($right-header$ (normalize "toc"))
|
|
left-footer: ($left-footer$ (normalize "toc"))
|
|
center-footer: ($center-footer$ (normalize "toc"))
|
|
right-footer: ($right-footer$ (normalize "toc"))
|
|
input-whitespace-treatment: 'collapse
|
|
(build-toc (current-node)
|
|
(toc-depth (current-node))))
|
|
(empty-sosofo))
|
|
|
|
(let loop ((gilist ($generate-book-lot-list$)))
|
|
(if (null? gilist)
|
|
(empty-sosofo)
|
|
(if (not (node-list-empty?
|
|
(select-elements (descendants (current-node))
|
|
(car gilist))))
|
|
(make simple-page-sequence
|
|
page-n-columns: %page-n-columns%
|
|
page-number-format: ($page-number-format$ (normalize "lot"))
|
|
use: default-text-style
|
|
left-header: ($left-header$ (normalize "lot"))
|
|
center-header: ($center-header$ (normalize "lot"))
|
|
right-header: ($right-header$ (normalize "lot"))
|
|
left-footer: ($left-footer$ (normalize "lot"))
|
|
center-footer: ($center-footer$ (normalize "lot"))
|
|
right-footer: ($right-footer$ (normalize "lot"))
|
|
input-whitespace-treatment: 'collapse
|
|
(build-lot (current-node) (car gilist))
|
|
(loop (cdr gilist)))
|
|
(loop (cdr gilist)))))
|
|
|
|
(if (generate-toc-in-front)
|
|
(process-children)
|
|
(empty-sosofo)))))
|
|
|
|
(element (book title) (empty-sosofo))
|
|
|
|
(element part
|
|
(let* ((partinfo (select-elements (children (current-node))
|
|
(normalize "docinfo")))
|
|
(partintro (select-elements (children (current-node))
|
|
(normalize "partintro")))
|
|
|
|
(nl (titlepage-info-elements
|
|
(current-node)
|
|
partinfo
|
|
(if %generate-partintro-on-titlepage%
|
|
partintro
|
|
(empty-node-list)))))
|
|
(make sequence
|
|
(if %generate-part-titlepage%
|
|
(make simple-page-sequence
|
|
page-n-columns: %titlepage-n-columns%
|
|
input-whitespace-treatment: 'collapse
|
|
use: default-text-style
|
|
(part-titlepage nl 'recto)
|
|
(make display-group
|
|
break-before: 'page
|
|
(part-titlepage nl 'verso)))
|
|
(empty-sosofo))
|
|
|
|
(if (not (generate-toc-in-front))
|
|
(process-children)
|
|
(empty-sosofo))
|
|
|
|
(if (and %generate-part-toc%
|
|
(not %generate-part-toc-on-titlepage%))
|
|
(make simple-page-sequence
|
|
page-n-columns: %page-n-columns%
|
|
page-number-format: ($page-number-format$ (normalize "toc"))
|
|
use: default-text-style
|
|
left-header: ($left-header$ (normalize "toc"))
|
|
center-header: ($center-header$ (normalize "toc"))
|
|
right-header: ($right-header$ (normalize "toc"))
|
|
left-footer: ($left-footer$ (normalize "toc"))
|
|
center-footer: ($center-footer$ (normalize "toc"))
|
|
right-footer: ($right-footer$ (normalize "toc"))
|
|
input-whitespace-treatment: 'collapse
|
|
(build-toc (current-node)
|
|
(toc-depth (current-node))))
|
|
(empty-sosofo))
|
|
|
|
(if (and (not (node-list-empty? partintro))
|
|
(not %generate-partintro-on-titlepage%))
|
|
($process-partintro$ partintro #t)
|
|
(empty-sosofo))
|
|
|
|
(if (generate-toc-in-front)
|
|
(process-children)
|
|
(empty-sosofo)))))
|
|
|
|
(element (part title) (empty-sosofo))
|
|
|
|
(element partintro (empty-sosofo))
|
|
|
|
(element (partintro title)
|
|
(let* ((hlevel 1)
|
|
(hs (HSIZE (- 4 hlevel))))
|
|
(make paragraph
|
|
font-family-name: %title-font-family%
|
|
font-weight: (if (< hlevel 5) 'bold 'medium)
|
|
font-posture: (if (< hlevel 5) 'upright 'italic)
|
|
font-size: hs
|
|
line-spacing: (* hs %line-spacing-factor%)
|
|
space-before: (* hs %head-before-factor%)
|
|
space-after: (* hs %head-after-factor%)
|
|
start-indent: 0pt
|
|
first-line-start-indent: 0pt
|
|
quadding: %section-title-quadding%
|
|
keep-with-next?: #t
|
|
heading-level: (if %generate-heading-level% (+ hlevel 1) 0)
|
|
(element-title-sosofo (parent (current-node))))))
|
|
|
|
(define ($process-partintro$ partintro make-page-seq?)
|
|
(if make-page-seq?
|
|
(make simple-page-sequence
|
|
page-n-columns: %page-n-columns%
|
|
page-number-restart?: (or %page-number-restart%
|
|
(book-start?)
|
|
(first-chapter?))
|
|
page-number-format: ($page-number-format$)
|
|
use: default-text-style
|
|
left-header: ($left-header$)
|
|
center-header: ($center-header$)
|
|
right-header: ($right-header$)
|
|
left-footer: ($left-footer$)
|
|
center-footer: ($center-footer$)
|
|
right-footer: ($right-footer$)
|
|
start-indent: %body-start-indent%
|
|
input-whitespace-treatment: 'collapse
|
|
quadding: %default-quadding%
|
|
(make sequence
|
|
(process-node-list (children partintro))
|
|
(make-endnotes partintro)))
|
|
(make sequence
|
|
start-indent: %body-start-indent%
|
|
(process-node-list (children partintro))
|
|
(make-endnotes partintro))))
|
|
|