Chapter 4. The Print Stylesheet

Table of Contents
Documentation
Change Log

Documentation

Writing better documentation for these stylesheets is a background task. If you have any questions that aren't answered here, please feel free to contact me.

Print Parameters

A brief description of each of the user-configurable settings in the print stylesheet.

Library Functions

Reference pages for the library functions in dblib.dsl. (FYI: this is programmer's documentation, not user documentation.)

Change Log

1999-12-16  Norman Walsh  <ndw@nwalsh.com>

	* dbbibl.dsl, dbblock.dsl: Make ackno a block thing

	* dbttlpg.dsl: Print mediaobjects on titlepages; fix bug in book-titlepage-modespec!

1999-12-03  Norman Walsh  <ndw@nwalsh.com>

	* dbparam.dsl: Added titlepage-n-columns and support for PNG graphics

	* dbttlpg.dsl: Support citetitle, indexterm, and mediaobject in *info elements

1999-11-18  Norman Walsh  <ndw@nwalsh.com>

	* db31.dsl, dbgloss.dsl, dblink.dsl, dblists.dsl: Adam's changes to remove extra space

	* dbadmon.dsl: Replace xref-title-mode with title-sosofo-mode; these aren't xrefs!

	* dbparam.dsl: Added biblio-xref-title option to make biblio xrefs produce the title of the referenced entry...this should also have been the change comment for dblink!

	* dbtable.dsl: Adam's changes to workaround TeX bug

1999-10-21  Norman Walsh  <ndw@nwalsh.com>

	* dblink.dsl: Allow xref to author and authorgroup

1999-10-19  Norman Walsh  <ndw@nwalsh.com>

	* dbbibl.dsl: Moved bibliography element list to dbcommon

1999-09-25  Norman Walsh  <ndw@nwalsh.com>

	* dblink.dsl: Always use xreflabel in preference to anything else

	* dblink.dsl: Support XREF to GLOSSENTRY

1999-09-03  Norman Walsh  <ndw@nwalsh.com>

	* dbl1cs.dsl, dbl1sk.dsl, docbook.dsl: Added Czech and Slovak localizations

1999-08-25  Norman Walsh  <ndw@nwalsh.com>

	* dbtable.dsl: Removed some insignificant whitespace in the stylesheet

1999-07-30  Norman Walsh  <ndw@nwalsh.com>

	* db31.dsl: Removed some extraneous variables

	* dbinline.dsl: Make citerefentry formatting sensitive to italics

	* dblink.dsl: Support for xref to refentry

	* dbparam.dsl: Removed %refentry-function%, it was broken anyway. I've replaced it with
	%refentry-xref-manvolnum% which is more akin to what it actually did.
	If %refentry-xref-manvolnum% is true, "(manvolnum)" is added after refentries
	in xrefs and citerefentrys.
	
	Also added %refentry-xref-italic%; if true, xrefs to refentrys are italisized.
	
	Added %qanda-inherit-numeration%. If both %section-autolabel% and %q-i-n% are
	true, question numbers are prefixed with the section or component number.

	* dbrfntry.dsl: Fix for new params

1999-07-02  Norman Walsh  <ndw@nwalsh.com>

	* dbparam.dsl: Added %honorific-punctuation%

	* dbtable.dsl: Fix indentation bug in tables within other environments

	* plain.dsl: Removed unnecessary ID

1999-06-06  Norman Walsh  <ndw@nwalsh.com>

	* dbl1ca.dsl, docbook.dsl: Added support for Catalan

	* dblists.dsl: Support INHERITNUM on lists; Avoid nested tables when SIMPLELIST occurs in ENTRY

	* dbprint.dsl: Added support for language: characteristic on normal paragraphs

1999-04-20  Norman Walsh  <ndw@nwalsh.com>

	* db31.dsl: Added support for notations on media objects

	* dbcompon.dsl: Fixed bugs in article titlepage formatting

	* dbinfo.dsl: Made several info elements empty-sosofos; the content is handled by the titlepage code

	* dbparam.dsl: Doc fixes

	* dbttlpg.dsl: Tweaked handling of RevHistory

1999-04-13  Norman Walsh  <ndw@nwalsh.com>

	* dbinfo.dsl: Support (suppress) KEYWORDSET in ARTHEADER

	* dblists.dsl: Make always-f-v-a-table imply may-f-v-a-table

	* dbparam.dsl: Fixed docbug in hyphenation

	* dbparam.dsl: Undo all that literate programming; go back to simple DSSSL code in the style-sheet DTD.

	* dbparam.dsl: Fixed docbugs

	* dbparam.dsl: Fixed docbug

	* dbtitle.dsl: Added title-mode (for titlepages)

	* dbttlpg.dsl: Process TITLEs in title-mode

1999-03-31  Norman Walsh  <ndw@nwalsh.com>

	* OldChangelog.sgm: Changed public identifiers from DocBook V3.0 to V3.1

	* dbbibl.dsl: Backed out the change that automatically added &trade after PRODUCTNAME

	* dblists.dsl: Use may-format-variablelist-as-table

	* dbparam.dsl: Added %may-format-variablelist-as-table% to control formatting of variablelists.
	The parameter is #f by default, so if you want variablelists to format as tables,
	you'll have to set it to #t in your driver.
	
	Added %hyphenation% to control hyphenation of paragraphs, but it doesn't
	actually seem to be working yet.

	* dbprint.dsl: Attempt to use hyphenation parameter

1999-03-17  Norman Walsh  <ndw@nwalsh.com>

	* db31.dsl, dblink.dsl: Added support for XREFs to QUESTIONs and ANSWERs

1999-03-06  Norman Walsh  <ndw@nwalsh.com>

	* dbl1ja.dsl: New file.

1999-03-02  Norman Walsh  <ndw@nwalsh.com>

	* docbook.dsl: Added Japanese localization

1999-03-01  Norman Walsh  <ndw@nwalsh.com>

	* db31.dsl: Localized the Q: and A: labels

	* dbautoc.dsl: Changed make-sequence into sosofo-append, to reduce recursion in the
	TeX backend.

	* dbparam.dsl: Added top, bottom, header, and footer margin parameters

1999-02-26  Norman Walsh  <ndw@nwalsh.com>

	* dbbibl.dsl, dbcallou.dsl, dbparam.dsl, dbsynop.dsl, dbttlpg.dsl, dbverb.dsl: 
	Added support for indenting linespecific elements

	* dbblock.dsl: Reorganized the footnote-size-factor handling

	* dblists.dsl: Added support for formatting VARIABLELISTs as tables (for side-by-side VLs)

	* dblists.dsl: Fix variable list formatting bugs

	* dblists.dsl: Fixed formatting of variablelist terms. The calculation for termlength
	was just totally odd. I have no idea what I thought that was supposed
	to do. And I reduced the spacing between consecutive terms in the same
	entry.

	* dbparam.dsl: Added %footnote-size-factor%, for bottom of the page footnotes, and
	%default-variablelist-termlength% and %format-variablelist-as-table%

	* docbook.dsl: Switch to new public id for dblib.dsl

1999-02-23  Norman Walsh  <ndw@nwalsh.com>

	* .cvsignore: New file.

1999-02-22  Norman Walsh  <ndw@nwalsh.com>

	* dbbibl.dsl: Print TM for PRODUCTNAME CLASS=TRADE

	* dbinline.dsl: Fixed MENUCHOICE formatting; added support for nested QUOTEs

	* dbl1ro.dsl: New file.

	* dbsynop.dsl: Improved support for SYNOPFRAGMENTs

	* docbook.dsl: Added Romanian

1999-02-01  Norman Walsh  <ndw@nwalsh.com>

	* dbblock.dsl: Added (named-formal-objects) list to control whether or not a formal
	object title begins with "name-of-element:" or not.  In previous versions,
	the label was always generated, unless "name-of-element" was empty, but
	this is impractical.  It means, for example, that you can't have the name
	of the element defined for other reasons.

	* dbparam.dsl: Tinkered with metainfo; fixed IDs

1999-01-21  Norman Walsh  <ndw@nwalsh.com>

	* db31.dsl, dbblock.dsl, dbmath.dsl: Added support for rules before and after blocks (examples, figures, tables, and equations)

	* dbadmon.dsl: Fixed formatting problems in admonitions with multiple paras

	* dbinline.dsl: Added underlining to Accel formatting

	* dbparam.dsl: Moved DocBook DSSSL Architecture back to DocBook 3.0, so renamed constant to literal.

	* dbparam.dsl: Converted to the DocBook DSSSL Architecture doctype.  Added parameters
	for rules before and after blocks.

	* dbprint.dsl: Moved the print-backend function from dbparam to here.

	* docbook.dsl: Changed inclusion of dbparam and dblib from entity reference to
	external specification.  This allows them to be complete doctypes.

1999-01-13  Norman Walsh  <ndw@nwalsh.com>

	* db31.dsl: New file.

	* dbbibl.dsl: Changed section-hlevel call to SECTLEVEL

	* dbl1da.dsl, dbl1de.dsl, dbl1en.dsl, dbl1no.dsl, dbl1sv.dsl: 
	Fixed country codes.

	* dbsect.dsl: Removed call to section-hlevel

	* docbook.dsl: Fixed country codes, added db31.dsl

1999-01-02  Norman Walsh  <ndw@nwalsh.com>

	* dbl1da.dsl: Fixed incorrect ID on style-specification.

1998-12-29  Norman Walsh  <ndw@nwalsh.com>

	* dbgloss.dsl: Added support for LINKEND on GLOSSTERM and FIRSTTERM

	* dbinline.dsl: Moved processing of FIRSTTERM to dbgloss.dsl

	* dbparam.dsl: Added firstterm-bold to make FIRSTTERM entries bold.

1998-12-22  Norman Walsh  <ndw@nwalsh.com>

	* dbcompon.dsl: Removed extranous call to (normalize).

	* dbparam.dsl: Added %label-preface-sections%. If true, sections in the
	preface are numbered, otherwise they aren't.

1998-12-16  Norman Walsh  <ndw@nwalsh.com>

	* dbttlpg.dsl: Improved formatting of RevHistory.

1998-12-14  Norman Walsh  <ndw@nwalsh.com>

	* dblink.dsl: Use (data-of) instead of (data).

	* docbook.dsl, version.dsl: Added VERSION to version message (which isn't actually used
	in the print stylesheets...)

1998-12-13  Norman Walsh  <ndw@nwalsh.com>

	* dbblock.dsl: Added support for BOP footnotes and floating formal objects if the
	TeX backend is being used.

	* dblink.dsl: Added support for XREF to LISTITEM of an ORDEREDLIST.

	* dblists.dsl: Reset first-line-start-indent so that nested VARIABLELISTs are
	formatted correctly.

	* dbparam.dsl: Added tex-backend, mif-backend, rtf-backend, and default-backend.
	Added (print-backend).
	
	Added formal-object-float: if #t, formal objects "float" when
	the TeX backend is used.
	
	Added bop-footnotes: if #t, footnotes appear at the bottom of
	each page instead of collected at the end of a section. This is
	only supported in the TeX backend.

	* docbook.dsl: Added flow object classes for TeX support

1998-12-04  Norman Walsh  <ndw@nwalsh.com>

	* dbbibl.dsl: Complete rewrite of bibliograpy handling.  Almost all elements
	are now output.  See contrib/*/short-biblioentry.dsl for an
	example of how to restrict the output.

	* dbsect.dsl: Moved $section-hlevel$ to dbcommon

1998-12-02  Norman Walsh  <ndw@nwalsh.com>

	* dblink.dsl: Fixed badly broken LINK semantics

1998-11-30  Norman Walsh  <ndw@nwalsh.com>

	* dbblock.dsl: Move formatting for Abstract off of (abstract para) and
	onto abstract proper.

	* dbcallou.dsl: AreaSpec, Area, and AreaSet should be empty

	* dbinline.dsl: Added TM to Trademark; made Option monocase

	* dbl1fi.dsl: New file.

	* dbparam.dsl: Added %article-title-quadding% and
	%article-subtitle-quadding%

	* dbparam.dsl: Changed default min-leading to allow graphics that are
	taller than the current leading to be rendered.

	* dbttlpg.dsl: More work on titlepages.  Removed use of (default) rule
	so now nested elements should format properly.

	* docbook.dsl: Added Finnish

1998-11-25  Norman Walsh  <ndw@nwalsh.com>

	* dbblock.dsl: Suppress footnotes in suppressed comments.
	Support %show-comments%

	* dbdivis.dsl: Handle Footnotes in PartIntro

	* dbinline.dsl: Comment is now a block, not an inline

	* dblink.dsl: Support %show-ulinks%

	* dbmath.dsl: Added (incomplete) support for equation autolabelling.

	* dbparam.dsl: Fixed typo in ID

	* dbparam.dsl: Added %show-ulinks% and %show-comments%

	* dbrfntry.dsl: Create new simple-page-sequence if RefEntry is the root node

	* dbttlpg.dsl: Completely reworked.  Again.  Now there should be
	*some* output for every element that can occur
	in an "info" node.

	* dbverb.dsl: Don't force quadding in literal layout environments, let
	it be inherited

1998-11-19  Norman Walsh  <ndw@nwalsh.com>

	* dbblock.dsl: Added support for footnoted ulinks

	* dbindex.dsl: Added support for an index. See the docs.

	* dblink.dsl: Added support for footnoted ULINKs

	* dbparam.dsl: Added image-library and image-library-filename.
	The image library is an external XML document which
	contains additional information about images. It's
	used mainly in the HTML backend.
	
	Added %page-column-sep% and %page-balance-columns?%
	to control the default parameters when doing multiple
	columns.

	* dbparam.dsl: Added %footnote-ulinks%

	* dbsynop.dsl: The SEPCHAR wasn't handled correctly when the synopsis
	contained a mixture of ARGs and GROUPs.

	* dbttlpg.dsl: Added a small hack (an empty paragraph with line spacing
	of 1pt) to make graphics print correctly if they're the
	first thing on the page.  (Is there a better way?)

	* docbook.dsl: Added declare-characteristics for page-column-sep and
	page-balance-columns? Added all-element-number.

	* version.dsl: Removed version number; see ChangeLog for lib/dblib.dsl

1998-11-05  Norman Walsh  <ndw@nwalsh.com>

	* dbadmon.dsl: Caution and Warning had repeated titles. Fixed.

	* dbparam.dsl: Added %para-indent% and %para-indent-firstpara%.  Used for
	the indentation of the first line of a paragraph.

	* dbprint.dsl: Added support for setting a different starting indent
	for the first line of paragraphs.  The first paragraph
	in a section gets %para-indent-firstpara% extra space
	on the first line, other paras get %para-indent% extra
	space.
	
	A paragraph is the first paragraph if it is preceded by a title
	(or bridgehead) and the only elements that intervene between the
	title and the paragraph are *info elements, indexterms, and
	beginpage.

	* dbrfntry.dsl: A REFSYNOPSISDIV is like a section, not a verbatim paragraph.
	(I thought I fixed this a long time ago.  Must have been only
	in the HTML stylesheet.)

	* dbsect.dsl: For the purpose of calculating the start-indent for
	a section title, a REFSYNOPSISDIV is like a REFSECT1.

	* dbsynop.dsl: Calculation of the inter-ARGument/inter-GROUP SEPCHAR was all
	wrong, but no one noticed because it's usually a space.
	
	Multiple COMMANDs in the same CMDSYNOPSIS are separated by
	a newline.

	* version.dsl: Version 1.23 released.

1998-11-03  Norman Walsh  <ndw@nwalsh.com>

	* dbblock.dsl: Fixed spacing around titles that appear after a formal
	object.

	* version.dsl: Version 1.22 released.

1998-11-02  Norman Walsh  <ndw@nwalsh.com>

	* docbook.dsl: Refer to dblib.dsl by public ID instead of system ID

	* version.dsl: Version 1.21 created (not for release, just
	to checkpoint another project).

1998-11-01  Norman Walsh  <ndw@nwalsh.com>

	* dbautoc.dsl: Made TOC/LOT titles into links

	* dbbibl.dsl: Include 'bookbiblio' in the list of elements that
	should be ignored in 'biblioentry'.

	* dbblock.dsl: Added support for ($object-titles-after$).
	Fixed bug in table footnotes where a footnote in the
	header appeared bold in the footnote list.

	* dblink.dsl: Support XREF to CO

	* dbparam.dsl: Added ($object-titles-after$). Returns a list of
	elements. The titles of elements in that list
	appear below the objects instead of above them.

	* dbtable.dsl: Fixed bugs in handling of cell and row borders.

1998-10-31  Norman Walsh  <ndw@nwalsh.com>

	* dbblock.dsl: Improved formating of epigraphs

	* dbtable.dsl: Removed debug message accidentally left in place

1998-10-30  Norman Walsh  <ndw@nwalsh.com>

	* dbadmon.dsl: Removed position-point-y.  Why was I doing that?  The
	TeX backend now handles it, so suddenly it turned up
	as a bug.

	* dbl1da.dsl, dbl1sv.dsl: New file.

	* dbl1ru.dsl: Updates by Ilia Kouznetsov

	* dbtable.dsl: Improved handling of COLSPECs (that is to say, handle them
	correctly ;-)

	* docbook.dsl: Added Swedish and Danish

	* version.dsl: Version 1.20 released.

1998-10-22  Norman Walsh  <ndw@nwalsh.com>

	* dbblock.dsl: Changed formatting of Sidebars.  They now get a box.

1998-10-19  Norman Walsh  <ndw@nwalsh.com>

	* dbadmon.dsl: Moved a number of characteristics up from the
	paragraphs in an admonition to the wrapper
	around the paragraphs.  This makes lists and
	other non-PARA elements in an admonition
	work properly.

	* dbautoc.dsl: Removed use: para-style.
	
	Everything in para-style should be inherited from a higher-level
	wrapper. Otherwise, for example, PARAs a LIST get para-style
	even if the list is in an admonition.

	* dbbibl.dsl: Replaced " " with "\no-break-space;" in a number of places.

	* dbblock.dsl: Removed use: para-style.
	
	Added a rule for (para blockquote) so that a
	first-line-start-indent on the outer para
	isn't inherited by the para in the blockquote.

	* dbcallou.dsl: Made generated spaces non-breaking.

	* dbcompon.dsl: Removed use: para-style
	
	Added use: default-txt-style to the simple-page-sequences.
	default-text-style has the same characteristics that
	para-style used to have.

	* dbdivis.dsl, dbindex.dsl, dbsect.dsl: See changes for dbcompon.dsl

	* dbinline.dsl: Added support for SEQ and SIMUL values of the ACTION
	attribute on KEYCOMBO.

	* dbl1es.dsl, dbl1fr.dsl, dbl1it.dsl, dbl1nl.dsl, dbl1no.dsl, dbl1pl.dsl, dbl1pt.dsl, dbl1ru.dsl: 
	Reworked localizations; added support for Spanish, Italian, Dutch, and Portuguese.

	* dblists.dsl: Made several spaces non breaking.
	
	Added support for continued ordered lists.
	
	Removed use: para-style.
	
	Added keep-with-next to prevent VARLISTENTRY TERMs from
	becoming separated from their LISTITEMs.

	* dbparam.dsl: Made admon-graphics #f by default.
	
	Made a few spaces non breaking.

	* dbprint.dsl: Removed para-style (renamed it default-text-style for use
	on simple-page-sequences).
	
	Added nop-style which does nothing (for use in an else)

	* dbprocdr.dsl: Removed use: para-style.

	* dbrfntry.dsl: Removed use: para-style.
	
	Made spaces non breakable.
	
	Fixed a bug in the formatting of the REFENTRY title.
	The stylesheet was erroneously looking for REFENTRYTITLE
	among the descendants of the REFENTRY.  The search needed
	to be more limited than that.

	* dbsynop.dsl: Made several spaces non breaking.

	* dbttlpg.dsl: Made a number of spaces non breaking.
	
	Changed use: para-style to use: default-text-style.
	
	Removed "by" in front of CORPAUTHORs in AUTHORGROUPs.
	(The AUTHORGROUP generates the "by".)

	* docbook.dsl: Added Spanish, Italian, Dutch, and Portuguese.

	* version.dsl: Version 1.19 is released.

1998-09-18  Norman Walsh  <ndw@nwalsh.com>

	* dbblock.dsl: Change some insignificant linebreaks

	* dbl1de.dsl, dbl1en.dsl: Added support for translation entity file.

	* dbl1en.dsl: Removed some test code.

	* dbparam.dsl: Added %author-othername-in-middle%

	* dbparam.dsl: Fixed typo

	* version.dsl: Version 1.18 released (really!).

1998-09-17  Norman Walsh  <ndw@nwalsh.com>

	* dbautoc.dsl: Changed 'start quadding on TOC and LOT titles
	to %component-title-quadding%.

	* version.dsl: Version 1.17 released.

1998-09-16  Norman Walsh  <ndw@nwalsh.com>

	* OldChangelog.sgm: New file.

	* dbadmon.dsl: Added support for %admon-graphics%

	* dbparam.dsl: Added %admon-graphics%, %admongraphics-path%,
	$admon-graphic$, and $admon-graphic-width$ to
	support graphics in admonitions.

	* dbttlpg.dsl: Fixed REFERENCE numbering

	* dbttlpg.dsl: Fixed bug in printing of REFERENCE titlepage

	* version.dsl: Removed SGML change log.

	* version.dsl: Version 1.16 released

	* version.dsl: Version 1.15 released

1998-09-14  Norman Walsh  <ndw@nwalsh.com>

	* dbtable.dsl: Changed method for selecting rows. New method is
	more robust for the case where the table code
	is used with another DTD that allows more
	elements than just ROW in the TBODY.

1998-09-10  Norman Walsh  <ndw@nwalsh.com>

	* dblink.dsl: Improvements to OLink support. Report errors
	with (error) instead of (literal).

	* dbparam.dsl: Documentation fixes

	* dbttlpg.dsl: Added COPYRIGHT to SET and BOOK titlepage versos.
	Added ABSTRACT to BOOK titlepage verso.
	Improved formatting of AUTHOR AFFILIATIONs.
	Added a number of elements to REFERENCE titlepages.

	* version.dsl: Version 1.14 released

1998-09-09  Norman Walsh  <ndw@nwalsh.com>

	* dblink.dsl: Added support for OLink.  Documented at
	http://nwalsh.com/cgi-bin/olink?pubid=-//Norman Walsh//DOCUMENT OLink Support V1.0//EN

	* dbparam.dsl: Added OLink parameters

1998-09-04  Norman Walsh  <ndw@nwalsh.com>

	* dbbibl.dsl: Added support for enumerated bibliographies.
	N.B. no attempt is made to change citation
	text into numbers.

	* dblink.dsl: Added rudimentary suppor for OLINKs

	* dblink.dsl: Support for bibliography numbering

	* dblink.dsl: Fixed typo; removed extra space in numbered biblio xref

	* dbparam.dsl: Added biblio-number

1998-09-03  Norman Walsh  <ndw@nwalsh.com>

	* dbbibl.dsl: Added support for bibliography filtering.  Added use of XREFLABEL
	as citation string if ABBREV isn't present.

	* dbgraph.dsl: Use include-file instead of $include$

	* dbgraph.dsl: Moved $include$ to dblib.dsl

	* dbinline.dsl: Added support for citation reference checking and citation linking.

	* dbl1pl.dsl: New file.

	* dblink.dsl: Handle xref to bibliography entries

	* dbparam.dsl: Added %default-title-end-punct% and %content-title-end-punct%

	* dbparam.dsl: Added biblio-citation-check and biblio-filter-used

	* dbtitle.dsl: Check for title ending punctuation in $runinhead$

	* docbook.dsl: Added support for Polish

1998-09-02  Norman Walsh  <ndw@nwalsh.com>

	* dbbibl.dsl: Handle BIBLIOGRAPHYs that occur inside ARTICLEs or other places below
	BOOK.  Do not create a simple-page-sequence in these cases.

	* dbcallou.dsl: Fixed bug in $callout-mark$.  Return #f, not 0, if there's no co.

	* dbgraph.dsl: Reorganized code. Added support for sourcing of external text documents.
	If FORMAT is LINESPECIFIC, the content of the named file is inserted
	literally into the document (via read-entity and literal)

	* docbook.dsl: Added external-procedure declaration for read-entity; used by dbgraph.dsl

	* version.dsl: Version 1.13 released

1998-08-31  Norman Walsh  <ndw@nwalsh.com>

	* dblists.dsl: Fixed bug in processing of verbatim environments as
	the first child of a varlistentry listitem.

1998-08-28  Norman Walsh  <ndw@nwalsh.com>

	* dbadmon.dsl, dbblock.dsl, dbprint.dsl, dbsynop.dsl: Changed process-children
	into process-children-trim in paragraph
	contexts

	* dbtable.dsl: Changed process-children into
	process-children-trim in paragraph contexts

	* version.dsl: Version 1.12 released