]> <acronym>DBLP</acronym> <acronym>DSSSL</acronym> Style Sheet Customizations Mark Wroth 3 22 April 2001 Added the tangle style sheet to the options in this style sheet. 2 20 April 2001 Modified to refer to the DBLP weave style sheets. 1 10 February 2001 Created basic structure including the basic division of the programlistings into logical groupings. Customizing the DocBook Modular Stylesheets Introduction and Purpose This document is a driver file customizing Norman Walsh's Modular DocBook Stylesheets, as further customized to support the DBLP DocBook-based Literate Programming system. It is constructed using a version of his literate programming architecture for DSSSL stylesheets. The primary application of these stylesheets is with the JADE DSSSL processor by James Clark. In principle, any DSSSL processor which is capable of architectural processing, and implements certain of Clark's (for the tangle style sheet) could be used, but this has not been tested. The need for architectural processing is caused by the dual nature of this document, which is both a DocBook document and a DSSSL stylesheet. This use of architectures permits a version of literate programming allowing the documentation of the stylesheet. Organization of This Document Using this architecture imposes some constraints on the organization of this document that are not completely appropriate for its size and formality. However, this seems a small price to pay to take advantage of the general utility of the existing system. The principal constraint on this document is that each separate DSSSL stylesheet must be contained in a separate book element, whose id attribute is used to select the stylesheet from the JADE command line. Print Stylesheets Customizing DocBook 4.1 Usage This stylesheet is basically used with the RTF backend of the JADE DSSSL processor. In principle it could be used with any DSSSL processor which understands architectural forms, but this has not been tested. The most common usage is jade -c catalog -t rtf -d style.dsl#print sgml-file, where sgml-file is the name of the SGML file to be processed. It is necessary for the catalog file to be specified on the command line, despite the default processing of the file in the current directory. This could be rendered unnecessary by setting the relevant environment variable. Specific Customizations
Article Appendicies I want article appendixes to start on new pages, which is not the standard behaviour. (element (article appendix) (make simple-page-sequence ($section$)))
<acronym>RTF</acronym> Characteristics The JADE processor has a non-standard extension which will include in the RTF output file the heading level characteristics used in MS-Word. (define %generate-heading-level% #t)
<application>Pomade</application>-based Customizations The Pomade SGML provides a customization layer on the DocBook Stylesheets which I have used as the basis of this application. The parameters set here are based on this application, with some additions based on the underlying organization.
Page Layout (define %paper-type% "USletter") (define %two-side% #f) (define %left-margin% 2cm) (define %right-margin% 3cm) (define %chap-app-running-heads% #t) (define %chap-app-running-head-autolabel% #t)
Title Pages (define %titlepage-in-info-order% #f) (define %generate-article-titlepage% #t) (define %generate-article-titlepage-on-separate-page% #f) (define %article-titlepage-recto-elements% '("title", "pubdate")) (define %article-titlepage-verso-elements% '("corpauthor", "copyright", "revisionhistory"))
Lines and Characters (define %line-spacing-factor% 1.1) (define %guilabel-font-family% "Lucinda Console") (define %visual-acuity% ;"normal" ;; normal body size is 10pt "presbyopic" ;; normal body size is 12pt ) (define %hsize-bump-factor% 1.2) (define %smaller-size-factor% 0.9) (define %verbatim-size-factor% 0.7) (define %verbatim-default-width% 80) (define %body-font-family% ;; The font family used in body text "Garamond") (define %mono-font-family% ;; The font family used in verbatim environments "Lucinda Console") (define %title-font-family% ;; The font family used in titles "Tahoma")
Paragraphs (define %block-start-indent% 0cm) (define %body-start-indent% 0.5cm) (define %component-subtitle-quadding% 'start) (define %component-title-quadding% 'start) (define %default-quadding% 'start ; 'justify ) (define %para-indent-firstpara% ;; First line start-indent for the first paragraph 0pt) (define %para-indent% ;; First line start-indent for paragraphs (other than the first) 15pt) (define %para-sep% ;; Distance between paragraphs (/ %bf-size% 3.0))
Literal Parts (define %linenumber-mod% 1) (define %number-programlisting-lines% #t) (define %number-literallayout-lines% #f) (define %number-screen-lines% #f) (define %number-synopsis-lines% #f)
Miscellaneous (define %gentext-language% #f) (define %chapter-autolabel% #t) (define %section-autolabel% #f) (define %show-ulinks% ;; Display URLs after ULinks? #f)
HTML Stylesheets Customizing DocBook 4.1 Usage This stylesheet is basically used with the SGML backend of the JADE DSSSL processor. In principle it could be used with any DSSSL processor which understands architectural forms, but this has not been tested. The most common usage is jade -c catalog -t sgml -d style.dsl#html sgml-file > html-file, where sgml-file is the name of the SGML file to be processed and html-file is the name of the desired output file. It is necessary for the catalog file to be specified on the command line, despite the default processing of the file in the current directory. This could be rendered unnecessary by setting the relevant environment variable. <application>Pomade</application>-based Customizations The Pomade SGML provides a customization layer on the DocBook Stylesheets which I have used as the basis of this application. The parameters set here are based on this application.
Navigation (define %gentext-nav-use-tables% #t) (define %gentext-nax-tblwidth% "50%") (define %gentext-nav-use-ff% #t)
Organization (define nochunks #t) (define %use-id-as-filename #t)
Title Pages (define %titlepage-in-info-order% #f) (define %generate-book-titlepage% #t) (define %generate-chapter-titlepage% #t)
Table of Contents (define %generate-set-toc% #t) (define %generate-book-toc% #t) (define %generate-part-toc% #t) (define %generate-article-toc% #t) (define %generate-reference-toc% #t) (define %generate-part-toc-on-titlepage% #t) (define %generate-reference-toc-on-titlepage% #t) (define %force-chapter-toc% #f)
Literal Parts (define %shade-verbatim% #t) (define %linenumber-mod% 1) (define %number-programlisting-lines% #t) (define %number-literallayout-lines% #f) (define %number-screen-lines% #f) (define %number-synopsis-lines% #f)
Miscellaneous (define %gentext-language% #f) (define %chapter-autolabel% #t) (define %section-autolabel% #t) (define %default-simplesect-level% 4) (define %funcsynopsis-style% 'ansi)
The TANGLE Style Sheet <application>Tangle</application>
Purpose This stylesheet performs the tangle of a literate programming system. In other words, this application takes a literate program and extracts, in appropriate order, the sections that make up the program from the perspective of the computer.
Background The tangle DSSSL style sheet is defined in the DBLP system itself. Including it here is merely a convenience.
Implementation No actual customization is actually needed; we're just including the tangle script here to make it easier to use.