diff options
Diffstat (limited to 'print/dbadmon.dsl')
-rw-r--r-- | print/dbadmon.dsl | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/print/dbadmon.dsl b/print/dbadmon.dsl new file mode 100644 index 0000000..a765847 --- /dev/null +++ b/print/dbadmon.dsl @@ -0,0 +1,161 @@ +;; $Id: dbadmon.dsl,v 1.5 2004/10/10 14:18:40 petere78 Exp $ +;; +;; This file is part of the Modular DocBook Stylesheet distribution. +;; See ../README or http://docbook.sourceforge.net/projects/dsssl/ +;; + +;; ============================ ADMONITIONS ============================= + +(define ($graphical-admonition$) + (let* ((adm (current-node)) + (title (select-elements (children adm) + (normalize "title"))) + (title? (not (node-list-empty? title))) + (adm-title (if title? + (with-mode title-sosofo-mode + (process-node-list (node-list-first title))) + (literal (gentext-element-name adm)))) + (graphic (make external-graphic + display?: #f + entity-system-id: ($admon-graphic$))) + (f-child (node-list-first (children (current-node)))) + (r-child (node-list-rest (children (current-node))))) + (make display-group + space-before: %block-sep% + space-after: %block-sep% + start-indent: (+ (inherited-start-indent) ($admon-graphic-width$)) + font-family-name: %admon-font-family% + font-size: (- %bf-size% 1pt) + font-weight: 'medium + font-posture: 'upright + line-spacing: (* (- %bf-size% 1pt) %line-spacing-factor%) + (if title? + (make display-group + (make paragraph + first-line-start-indent: (- ($admon-graphic-width$)) + keep-with-next?: #t + (make line-field + field-width: ($admon-graphic-width$) + graphic) + (make sequence + font-family-name: %title-font-family% + font-weight: 'bold + adm-title)) + (process-children)) + (make display-group + (make paragraph + first-line-start-indent: (- ($admon-graphic-width$)) + (make line-field + field-width: ($admon-graphic-width$) + graphic) + (process-node-list (children f-child))) + (process-node-list r-child)))))) + +(define ($admonition$) + (if %admon-graphics% + ($graphical-admonition$) + (make display-group + space-before: %block-sep% + space-after: %block-sep% + start-indent: (if %admon-graphics% + (inherited-start-indent) + (+ (inherited-start-indent) (* (ILSTEP) 2))) + font-size: (- %bf-size% 1pt) + font-weight: 'medium + font-posture: 'upright + font-family-name: %admon-font-family% + line-spacing: (* (- %bf-size% 1pt) %line-spacing-factor%) + (process-children)))) + +(define ($admonpara$) + (let* ((title (select-elements + (children (parent (current-node))) (normalize "title"))) + (has-title (not (node-list-empty? title))) + (adm-title (if has-title + (make sequence + (with-mode title-sosofo-mode + (process-node-list (node-list-first title))) + (literal (gentext-label-title-sep + (gi (parent (current-node)))))) + (literal + (gentext-element-name + (parent (current-node))) + (gentext-label-title-sep + (gi (parent (current-node)))))))) + (make paragraph + space-before: %para-sep% + space-after: %para-sep% + (if (and (not %admon-graphics%) (= (child-number) 1)) + (make sequence + font-family-name: %title-font-family% + font-weight: 'bold + adm-title) + (empty-sosofo)) + (process-children-trim)))) + +(element important ($admonition$)) +(element (important title) (empty-sosofo)) +(element (important para) ($admonpara$)) +(element (important simpara) ($admonpara$)) + +(element note ($admonition$)) +(element (note title) (empty-sosofo)) +(element (note para) ($admonpara$)) +(element (note simpara) ($admonpara$)) + +(element tip ($admonition$)) +(element (tip title) (empty-sosofo)) +(element (tip para) ($admonpara$)) +(element (tip simpara) ($admonpara$)) + +;; perils are given special treatment by generating a centered title +;; and throwing a box around them +;; note that the paragraph indents are set by the box characteristics +;; +(define ($peril$) + (let* ((title (select-elements + (children (current-node)) (normalize "title"))) + (has-title (not (node-list-empty? title))) + (adm-title (if has-title + (make sequence + (with-mode title-sosofo-mode + (process-node-list (node-list-first title)))) + (literal + (gentext-element-name + (current-node))))) + (hs (HSIZE 2))) + (if %admon-graphics% + ($graphical-admonition$) + (make display-group + space-before: %block-sep% + space-after: %block-sep% + font-family-name: %admon-font-family% + font-size: (- %bf-size% 1pt) + font-weight: 'medium + font-posture: 'upright + line-spacing: (* (- %bf-size% 1pt) %line-spacing-factor%) + (make box + display?: #t + box-type: 'border + line-thickness: 2pt + start-indent: (+ (inherited-start-indent) (* 2 (ILSTEP)) 2pt) + end-indent: (inherited-end-indent) + (make paragraph + space-before: %para-sep% + space-after: %para-sep% + start-indent: 1em + end-indent: 1em + font-family-name: %title-font-family% + font-weight: 'bold + font-size: hs + line-spacing: (* hs %line-spacing-factor%) + quadding: 'center + keep-with-next?: #t + adm-title) + (process-children)))))) + +(element caution ($peril$)) +(element (caution title) (empty-sosofo)) + +(element warning ($peril$)) +(element (warning title) (empty-sosofo)) |