The <note-properties/> command

The <note-properties type=TYPE /> command control aspects of TopLeaf's note rendering rules, where TYPE is one of column, page, or sidenote.

Footnote options

Where allowed

Within the $document mapping or immediately after a page break or leaf break. Footnote properties cannot be applied from within fixed blocks, floats, or any note type, including a footnote.

Range of effect

Until changed.

maxnum

Specifies the highest page or column footnote index number.

By default, a maximum of 999 footnotes can be allocated, after which the footnote numbering reverts to 1.

For example, the command:

<note-properties type="column" maxnum="100" />
				

resets the column footnote numbering sequence, and sets the maximum column footnote index to 100. When the specified number of footnotes has been allocated, numbering reverts to 1.

The maximum value allowed for this option is 32,000.

note-reset

Specifies a position within the output at which footnote numbering reverts to 1.

Permitted values for page footnotes are:

  • page — footnote numbering reverts to 1 at the beginning of each page.

  • leaf — footnote numbering reverts to 1 at the beginning of each odd page.

Permitted values for column footnotes are:

  • page — footnote numbering reverts to 1 at the beginning of each page.

  • leaf — footnote numbering reverts to 1 at the beginning of each odd page.

  • column — footnote numbering reverts to 1 at the beginning of each data column within the same page.

By default, the footnote numbering sequence reverts to 1 when the maximum footnote index is exceeded or is redefined.

note-merge

Identify identical footnotes with the same footnote reference marker and do not display the duplicate note content.

Two footnotes are considered to be identical if their canonicalized note content is the same and the content of neither footnote splits across a column or page boundary. When comparing footnote content, all sequences of whitespace are normalised to a single space, and leading and trailing white space is ignored.

For column footnotes, references to notes containing identical content are identified using the footnote marker to the first reference within the same column. The footnote content is displayed once at the bottom of the column. For page footnotes, references to notes containing identical content are identified using the footnote marker to the first reference within the same page. The footnote content is displayed once at the bottom of the page.

Permitted values are:

  • yes — identify identical footnotes with the same footnote reference marker and do not display the duplicate note content.

  • no — identify footnotes using unique reference markers and display the content of each footnote. This is the default.

note-bind

When page footnote splitting is enabled, and two or more page footnotes are referenced from a group of lines that are bound together, only the last footnote in that group is permitted to split.

If the depth of the bound region or any other footnote is large, then the previous page may be unacceptably short, and it may be preferable to position the body of a footnote on a page that follows the footnote reference.

Permitted values are:

  • yes — A page footnote reference and the start of the footnote content will be positioned on the same page. This is the default.

  • no — A page footnote reference and the start of the footnote content will be positioned on the same page, except when more that one page footnote is referenced from the same bound region. When that occurs, TopLeaf is permitted to allocate the content of any page footnote to a following page.

split-notes

Specifies the column footnote or page footnote split mode. By default, the content of a footnote will not split across a column or page boundary. Permitted values are yes or no.

For example, the command:

<note-properties type="column" split-notes="yes" />

enables column footnote splitting. The simplest way to control where an individual footnote may split is to adjust the paragraph widow/orphan property on the $colnote-body mapping.

split-separator

By default, TopLeaf will only include a footnote separator when body text content and footnote content appear on the same page. This means that a note separator mapping will not be applied if the content of a page consists entirely of a split footnote. If you need to override this behaviour, use the following command to force TopLeaf to insert a footnote separator on any page that contains page footnote content:

<note-properties type="page" split-notes="yes" split-separator="show-always" />

Permitted values are: show-always or default.

page-type

Page footnotes always appear in a single group at the bottom of a page. By default, the margins for the page footnote region are controlled by the page type in force at the top of a page. The left margin is set to the left-most edge of any data, sidenote or margin rule block in the page type. The right margin is the right-most edge of these blocks, and the bottom margin is the lowest-most edge of these blocks.

Alternatively, you can nominate a page type to use when calculating the left, right and bottom margins for the page footnote region.

For example, the following command:

<note-properties type="page" page-type="footnote" />

instructs the composition engine to calculate the page footnote left, right and bottom margins using the footnote page type. The left margin is set to the left-most edge of any data, sidenote or margin rule block declared within the specified page type. The right margin is the right-most edge of these blocks, and the bottom margin is the lowest-most edge of these blocks. If the <note-properties/> directive defines a two column page footnote page type, double column page footnotes are automatically enabled.

This option is only allowed for page footnotes.

markermap

Specifies the name of a custom marker handler that is invoked each time a footnote index is processed.

By default, TopLeaf will render a numeric footnote marker for each footnote. To suppress or emit an alternative marker, declare a markermap custom marker handler for your footnotes. TopLeaf will call this mapping when each footnote reference marker and footnote label marker is processed.

For example, suppose you need to identify each footnote reference with a special character, such as an asterisk or a dagger (U+2020). To do this, declare a footnote custom marker mapping:

<note-properties markermap="NoteIndex" />

Next, create a new custom marker mapping for %NoteIndex. As each footnote reference is processed, the marker map is called, and TopLeaf automatically defines the following attribute variables:

Attribute variable Value Meaning
{@type} column | page The footnote type
{@index} Integer [1,...] The current footnote index

The custom content %NoteIndex can test the value of {@index} to select the required footnote symbol :

<set var="Index" value="({@index} - 1) % 6" />
<switch>
	<case var="Index" target="0" >*</case>
	<case var="Index" target="1" >&#x2020;</case>    <!-- dagger        -->
	<case var="Index" target="2" >&#x2021;</case>    <!-- double dagger -->
	<case var="Index" target="3" >&#x00A7;</case>    <!-- section       -->
	<case var="Index" target="4" >||</case>
	<case var="Index" target="5" >#</case>
</switch>
 

It is possible to generate different content for the footnote reference and footnote label by matching the value of the tag-context variable with one of the patterns */$colnote-reference or */$colnote-body. For example, the following customisation adds brackets around the reference content:

<if var="tag-context" test="matches" target="*/$colnote-reference">
	[{@index}]
</if>
passes

Specifies the number of times the composition engine must process the document content in order to resolve all page and block footnote numbering. By default, footnote numbering will be resolved within a single composition pass. If a footnote note-reset or note-merge has been requested then TopLeaf will automatically typeset the document content twice to resolve all footnote numbering. If there are ten or more footnotes within the specified note reset region you may need to force TopLeaf to apply additional composition passes.

Sidenote options

Where allowed

Within the $document mapping or within a data block. Sidenote properties cannot be defined from within fixed blocks, floats, or any note type, including a sidenote.

Range of effect

All following sidenotes.

anchor

The point at which the sidenote is declared in the main data stream is called the sidenote reference point. When sidenotes are positioned on a page, they are aligned with a sidenote anchor line.

You can use this option to set the sidenote anchor line. Permitted value are paragraph or line. Set the sidenote anchor line to paragraph if you need to set the sidenote anchor line as the first line of the paragraph in which it is declared. By default, the sidenote anchor line will correspond to the line in which the sidenote was declared.

valign

This option lets you control how TopLeaf vertically aligns a sidenote in relation to its anchor line. Set the sidenote vertical alignment to top if you need to align the top of the sidenote content with the top of the anchor line. Permitted value are top or baseline. By default, TopLeaf aligns the baseline of the first line in a sidenote with the baseline of the anchor line.

The following diagram illustrates the difference between the two sidenote alignment types:

Please refer to the sidenote placement rules for more information regarding the alignment of sidenotes and sidenote anchor lines.