Blame print/dbadmon.dsl

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