1 Title: Typesetting DocBook footnotes as endnotes with dblatex
2 Tags: english, docbook, freeculture
5 <p>I'm still working on the Norwegian version of the
6 <a href="http://free-culture.cc/">Free Culture book by Lawrence
7 Lessig</a>, and is now working on the final typesetting and layout.
8 One of the features I want to get the structure similar to the
9 original book is to typeset the footnotes as endnotes in the notes
11 <a href="https://bugs.debian.org/685063">feedback from the Debian
12 maintainer and the dblatex developer</a>, I came up with this recipe I
13 would like to share with you. The proposal was to create a new LaTeX
14 class file and add the LaTeX code there, but this is not always
15 practical, when I want to be able to replace the class using a make
16 file variable. So my proposal misuses the latex.begindocument XSL
17 parameter value, to get a small fragment into the correct location in
18 the generated LaTeX File.</p>
20 <p>First, decide where in the DocBook document to place the endnotes,
21 and add this text there:</p>
24 <?latex \theendnotes ?>
27 <p>Next, create a xsl stylesheet file dblatex-endnotes.xsl to add the
28 code needed to add the endnote instructions in the preamble of the
29 generated LaTeX document, with content like this:</p>
32 <?xml version='1.0'?>
33 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
34 <xsl:param name="latex.begindocument">
37 \let\footnote=\endnote
38 \def\enoteheading{\mbox{}\par\vskip-\baselineskip }
42 </xsl:stylesheet>
45 <p>Finally, load this xsl file when running dblatex, for example like
49 dblatex --xsl-user=dblatex-endnotes.xsl freeculture.nb.xml
52 <p>The end result can be seen on github, where
53 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">my
54 book project</a> is located.</p>