ms Footnotes (The GNU Troff Manual)

#### 4.6.5.10 Footnotes

A footnote is typically anchored to a place in the text with a marker, which is a small integer, a symbol such as a dagger, or arbitrary user-specified text.

String: `\*[*]` ¶

  Place an automatic number, an automatically generated numeric footnote marker, in the text. Each time this string is interpolated, the number it produces increments by one. Automatic numbers start at 1. This is a Berkeley extension.

Enclose the footnote text in `FS` and `FE` macro calls to set it at the nearest available “foot”, or bottom, of a text column or page.

Macro: `.FS` [marker] ¶
Macro: `.FE` ¶

  Begin (`FS`) and end (`FE`) a footnote. `FS` calls `FS-MARK` with any supplied marker argument, which is then also placed at the beginning of the footnote text. If marker is omitted, the next pending automatic footnote number enqueued by interpolation of the `*` string is used, and if none exists, nothing is prefixed.

You may not desire automatically numbered footnotes in spite of their convenience. You can indicate a footnote with a symbol or other text by specifying its marker at the appropriate place (for example, by using `\[dg]` for the dagger glyph) and as an argument to the `FS` macro. Such manual marks should be repeated as arguments to `FS` or as part of the footnote text to disambiguate their correspondence. You may wish to use `\*{` and `\*}` to superscript the marker at the anchor point, in the footnote text, or both.

`groff` `ms` provides a hook macro, `FS-MARK`, for user-determined operations to be performed when the `FS` macro is called. It is passed the same arguments as `FS` itself. An application of `FS-MARK` is anchor placement for a hyperlink reference, so that a footnote can link back to its referential context.11 By default, this macro has an empty definition. `FS-MARK` is a GNU extension.

Footnotes can be safely used within keeps and displays, but you should avoid using automatically numbered footnotes within floating keeps. You can place a second `\**` interpolation between a `\**` and its corresponding `FS` call as long as each `FS` call occurs after the corresponding `\**` and occurrences of `FS` are in the same order as corresponding occurrences of `\**`.

Footnote text is formatted as paragraphs are, using analogous parameters. The registers `FI`, `FPD`, `FPS`, and `FVS` correspond to `PI`, `PD`, `PS`, and `CS`, respectively; `FPD`, `FPS`, and `FVS` are GNU extensions.

The `FF` register controls the formatting of automatically numbered footnote paragraphs and those for which `FS` is given a marker argument. See Document Control Settings.

The default footnote line length is 11/12ths of the normal line length for compatibility with the expectations of historical `ms` documents; you may wish to set the `FR` string to ‘`1`’ to align with contemporary typesetting practices. In the past,12 an `FL` register was used for the line length in footnotes; however, setting this register at document initialization time had no effect on the footnote line length in multi-column arrangements.13

`FR` should be used in preference to the old `FL` register in contemporary documents. The footnote line length is effectively computed as ‘`column-width * \*[FR]`’. If an absolute footnote line length is required, recall that arithmetic expressions in `roff` input are evaluated strictly from left to right, with no operator precedence (parentheses are honored).

    .ds FR 0+3i \" Set footnote line length to 3 inches.