1 <!DOCTYPE html PUBLIC 
"-//W3C//DTD XHTML 1.0 Strict//EN" 
   2           "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
   3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr"> 
   5     <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" /> 
   6     <title>Petter Reinholdtsen: Best way to create a docbook book?
</title> 
   7     <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" /> 
   8     <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" /> 
  15      <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a> 
  23       <div class=
"title">Best way to create a docbook book?
</div> 
  24       <div class=
"date">31st July 
2012</div> 
  25       <div class=
"body"><p>I tried to send this text to the
 
  26 <a href=
"https://lists.oasis-open.org/archives/docbook-apps/">docbook-apps
 
  27 mailing list at lists.oasis-open.org
</a>, but it only accept messages
 
  28 from subscribers and rejected my post, and I completely lack the
 
  29 bandwidth required to subscribe to another mailing list, so instead I
 
  30 try to post my message here and hope my blog readers can help me
 
  33 <p>I am quite new to docbook processing, and am climbing a steep
 
  34 learning curve at the moment.
</p> 
  36 <p>To give you some background, I am working on a Norwegian
 
  37 translation of the book Free Culture by Lawrence Lessig, and I use
 
  38 docbook to handle the process.  The files to build the book are
 
  40 <a href=
"https://github.com/petterreinholdtsen/free-culture-lessig">github
</a>.
 
  41 The book got around 
400 pages with parts, images, footnotes, tables,
 
  42 index entries etc, which has proven to be a challenge for the free
 
  43 software docbook processors.  My build platform is Debian GNU/Linux
 
  46 <p>I want to build PDF, EPUB and HTML version of the book, and have
 
  47 tried different tool chains to do the conversion from docbook to these
 
  48 formats.  I am currently focusing on the PDF version, and have a few
 
  53 <li>Using dblatex, the 
<part
> handling is not the way I want to,
 
  54    as 
</part
> do not really end the 
<part
>. (See
 
  55    <a href=
"http://bugs.debian.org/683166">BTS report #
683166</a>), the
 
  56    xetex backend (needed to process UTF-
8) give incorrect hyphens in
 
  57    index references spanning several pages (See
 
  58    <a href=
"http://bugs.debian.org/682901">BTS report #
682901</a>), and
 
  59    I am unable to get the norwegian template texts (See
 
  60    <a href=
"http://bugs.debian.org/682936">BTS report #
682936</a>).
</li> 
  62 <li>Using straight xmlto fail with some latex error (See
 
  63    <a href=
"http://bugs.debian.org/683163">BTS report
 
  66 <li>Using xmlto with the fop backend fail to handle images (do not
 
  67    show up in the PDF), fail to handle a long footnote (overlap
 
  68    footnote and text body, see
 
  69    <a href=
"http://bugs.debian.org/683197">BTS report #
683197</a>), and
 
  70    fail to create a correct index (some lack page ref, and the page
 
  71    refs listed are not right).
</li> 
  73 <li>Using xmlto with the dblatex backend behave like dblatex.
</li> 
  75 <li>Using docbook-xls with xsltproc + fop have the same footnote and
 
  76    index problems the xmlto + fop processing.
</li> 
  80 <p>So I wonder, what would be the best way to create the PDF version
 
  81 of this book?  Are some of the bugs found above solved in new or
 
  82 experimental versions of some docbook tool chain?
</p> 
  84 <p>What about HTML and EPUB versions?
</p> 
  87       <div class=
"tags">Tags: 
<a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook
</a>, 
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>, 
<a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture
</a>.
</div> 
 105 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li> 
 107 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li> 
 109 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li> 
 111 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li> 
 113 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li> 
 115 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li> 
 117 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li> 
 119 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li> 
 121 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
2)
</a></li> 
 128 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li> 
 130 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li> 
 132 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li> 
 134 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li> 
 136 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li> 
 138 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li> 
 140 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li> 
 142 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li> 
 144 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li> 
 146 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li> 
 148 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li> 
 150 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li> 
 157 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li> 
 159 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li> 
 161 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li> 
 163 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li> 
 165 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li> 
 167 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li> 
 169 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li> 
 171 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li> 
 173 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li> 
 175 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li> 
 177 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li> 
 179 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li> 
 186 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li> 
 188 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li> 
 190 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li> 
 192 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li> 
 194 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li> 
 196 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li> 
 198 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li> 
 200 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li> 
 202 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li> 
 204 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li> 
 206 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li> 
 208 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li> 
 215 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li> 
 217 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li> 
 219 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li> 
 221 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li> 
 223 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li> 
 225 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li> 
 227 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li> 
 229 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li> 
 231 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li> 
 233 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li> 
 235 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li> 
 237 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li> 
 244 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li> 
 246 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li> 
 257  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
13)
</a></li> 
 259  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li> 
 261  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li> 
 263  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li> 
 265  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
7)
</a></li> 
 267  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
12)
</a></li> 
 269  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li> 
 271  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
85)
</a></li> 
 273  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
139)
</a></li> 
 275  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
10)
</a></li> 
 277  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
10)
</a></li> 
 279  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li> 
 281  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
214)
</a></li> 
 283  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
21)
</a></li> 
 285  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
12)
</a></li> 
 287  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
12)
</a></li> 
 289  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
1)
</a></li> 
 291  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
11)
</a></li> 
 293  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
37)
</a></li> 
 295  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
7)
</a></li> 
 297  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
18)
</a></li> 
 299  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
8)
</a></li> 
 301  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
6)
</a></li> 
 303  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li> 
 305  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
25)
</a></li> 
 307  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
235)
</a></li> 
 309  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
153)
</a></li> 
 311  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
8)
</a></li> 
 313  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li> 
 315  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
44)
</a></li> 
 317  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
66)
</a></li> 
 319  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
1)
</a></li> 
 321  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li> 
 323  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
2)
</a></li> 
 325  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
7)
</a></li> 
 327  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li> 
 329  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
4)
</a></li> 
 331  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li> 
 333  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
30)
</a></li> 
 335  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li> 
 337  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
4)
</a></li> 
 339  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
43)
</a></li> 
 341  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
3)
</a></li> 
 343  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
8)
</a></li> 
 345  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
17)
</a></li> 
 347  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
1)
</a></li> 
 349  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
8)
</a></li> 
 351  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
38)
</a></li> 
 353  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li> 
 355  <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
27)
</a></li> 
 361     <p style=
"text-align: right"> 
 362  Created by 
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>