Footnotes vs. Endnotes, inDesign
  • Hello,

    Alright, getting some Booktype miles! Smooth and accessible, and amazing you’ve made it available under the AGPL.

    The documentation mentions an ‘Insert Footnote’ option, but in the snapshot I installed this is now called ‘insert Endnote’. Did the functionality change, or is this a change in naming to reflect how Booktype worked all along? It so happens that my publishing project requires footnotes instead of endnotes!

    Now I understand footnotes are more complicated in ePub, but for PDF they should be fair game. Also I noticed that on export to DOCX and ICML the endnotes are rendered inline instead of as native endnotes. In my scenario, I was hoping to export ICML with inDesign native footnotes. Am I dreaming beyond the current capacities of Booktype?
  • 3 Comments sorted by
  • Vote Up0Vote Down Daniel JamesDaniel James
    Posts: 844Member, Sourcefabric Team
    Hi Eric,

    By default, Booktype does endnotes, as they are the simplest. Having footnotes depends on the output converter you are using. For example, mPDF has a footer area on each page, but this is generally used ro running footers (such as page numbers). It might be possible to use this for one-off footer content such as footnote text. Best place to ask for mPDF tricks is on Stack Overflow as there is a big mPDF community there:

    As for the docx and icml exports, they are handled via pandoc so you might have to dive into pandoc documentation to find out about native endnote/footnote support. Please let us know anything you find out.


  • Thanks for the pointers!

    Pandoc has a concept of footnotes. I just did a test, converting DOCX to ICML with pandoc. It handles footnotes correctly. Apparently that also works when converting from Pandoc‘s extended Markdown syntax.

    However, Booktype stores its content in HTML. I imagine the challenge here is that HTML does not have a footnote construct, and that with an HTML input, there’s no way for Pandoc to reliably recognise a footnote…

  • It seems that Pandoc has a plugin functionality that looks well suited to this task: it allows to modify pandoc’s intermediate representation of the document, its “abstract syntax tree” or AST.


    I’ve generated the XHTML output of Booktype and its quite clean. The pattern of references and endnotes is predictable: references are inside sup.endnote > a[href=#endnote-someid], endnotes are within ol.endnotes > li#endnote-someid. A pandoc filter could find these elements within the syntax tree and modify them so that Pandoc understands they are footnotes.

    So my plan is to generate XHTML with Booktype, than convert through pandoc and a filter to ICML or DOCX. I’ll let you know if it works!