W3C home > Mailing lists > Public > www-style@w3.org > October 2013

[css3-gcpm] Complex Footnotes

From: Cramer, Dave <Dave.Cramer@hbgusa.com>
Date: Thu, 3 Oct 2013 23:51:04 -0400
To: "www-style@w3.org" <www-style@w3.org>
Message-ID: <CE73A32B.3D7AF%david.cramer@hbgusa.com>
In print publishing, a footnote consists of two parts: a reference (often rendered as an asterisk or superscripted number) and the footnote body.

Footnotes themselves can be quite complicated. Footnotes can contain multiple paragraphs, block quotes, lists, and tables. Footnotes can contain other footnotes (an edge case, admittedly, but we publish David Foster Wallace, who is notorious for this). Footnotes can extend across multiple pages. In short, a footnote is a container that can hold almost anything.

In order to describe footnotes in HTML, we've been forced to separate the footnote reference (which is an inline element) from the footnote itself, as HTML frowns on placing complex block structures inside paragraphs. This is quite different from something like DocBook, where the content model allows a footnote element inside a paragraph, and that footnote can itself contain multiple paragraphs, etc.

We'd typically code:

<p>It was the best of times, it was the blurst of times.<span class="ref-footnote-rw">*</span></p>

<div class="block-rw footnotes-rw">
<p><span class="num-footnote-rw">*</span>Oh yes, but the telephone is so impersonal.</p>
<p>I prefer the hands-on touch you only get with hired goons.</p>

Since we separate the footnote reference from the footnote, we can't use the built-in footnote handling in Prince (which I believe is very close to what is described in GCPM). So we suppress the ::footnote-call and ::footnote-marker pseudo-elements, and create our own counters.

div.footnotes-rw { float: footnote; }

div.footnotes-rw::footnote-marker {
    display: none;
    content: none;
div.footnotes-rw::footnote-call {
    display: none;
    content: none;


So I'm concerned that a model where all the content of a footnote must be placed inline at the point of reference (as in all the examples in GCPM) will only work for the simplest cases.

* * *

Some books (The Bible) have so many short footnotes that the footnotes themselves need to be displayed inline. Other books (Shakespeare) may have two separate streams of footnotes, requiring two footnote regions.  Prince has implemented inline footnotes, with float: prince-inline-footnote | prince-inline-column-footnote. That reminds me that there's also the question of whether the footnote region is confined to a single column, or spans all columns. Again,  Prince has float: prince-footnote | prince-column-footnote.


:: :: ::

Dave Cramer | Content Workflow Specialist | Hachette Book Group | 237 Park Avenue NY | NY 10017 | 413 325 1307 | dave.cramer@hbgusa.com

This may contain confidential material. If you are not an intended recipient, please notify the sender, delete immediately, and understand that no disclosure or reliance on the information herein is permitted. Hachette Book Group may monitor email to and from our network.
Received on Friday, 4 October 2013 03:51:33 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:08:35 UTC