Next: , Previous: Blocks, Up: Document Structure

### 2.10 Footnotes

Org mode supports the creation of footnotes. In contrast to the footnote.el package, Org mode's footnotes are designed for work on a larger document, not only for one-off documents like emails. The basic syntax is similar to the one used by footnote.el, i.e., a footnote is defined in a paragraph that is started by a footnote marker in square brackets in column 0, no indentation allowed. If you need a paragraph break inside a footnote, use the LaTeX idiom ‘\par’. The footnote reference is simply the marker in square brackets, inside text. For example:

```     The Org homepage[fn:1] now looks a lot better than it used to.
...
[fn:1] The link is: http://orgmode.org
```

Org mode extends the number-based syntax to named footnotes and optional inline definition. Using plain numbers as markers (as footnote.el does) is supported for backward compatibility, but not encouraged because of possible conflicts with LaTeX snippets (see Embedded LaTeX). Here are the valid references:

`[1]`
A plain numeric footnote marker. Compatible with footnote.el, but not recommended because something like ‘[1]’ could easily be part of a code snippet.
`[fn:name]`
A named footnote reference, where `name` is a unique label word, or, for simplicity of automatic creation, a number.
`[fn:: This is the inline definition of this footnote]`
A LaTeX-like anonymous footnote where the definition is given directly at the reference point.
`[fn:name: a definition]`
An inline definition of a footnote, which also specifies a name for the note. Since Org allows multiple references to the same note, you can then use `[fn:name]` to create additional references.

Footnote labels can be created automatically, or you can create names yourself. This is handled by the variable `org-footnote-auto-label` and its corresponding `#+STARTUP` keywords. See the docstring of that variable for details.

The following command handles footnotes:

C-c C-x f
The footnote action command.

When the cursor is on a footnote reference, jump to the definition. When it is at a definition, jump to the (first) reference.

Otherwise, create a new footnote. Depending on the variable `org-footnote-define-inline`1, the definition will be placed right into the text as part of the reference, or separately into the location determined by the variable `org-footnote-section`.

When this command is called with a prefix argument, a menu of additional options is offered:

```          s   Sort the footnote definitions by reference sequence.  During editing,
Org makes no effort to sort footnote definitions into a particular
sequence.  If you want them sorted, use this command, which will
also move entries according to `org-footnote-section`.  Automatic
sorting after each insertion/deletion can be configured using the
variable `org-footnote-auto-adjust`.
r   Renumber the simple `fn:N` footnotes.  Automatic renumbering
after each insertion/deletion can be configured using the variable
`org-footnote-auto-adjust`.
S   Short for first `r`, then `s` action.
n   Normalize the footnotes by collecting all definitions (including
inline definitions) into a special section, and then numbering them
in sequence.  The references will then also be numbers.  This is
meant to be the final step before finishing a document (e.g., sending
off an email).  The exporters do this automatically, and so could
something like `message-send-hook`.
d   Delete the footnote at point, and all definitions of and references
to it.
```

Depending on the variable `org-footnote-auto-adjust`2, renumbering and sorting footnotes can be automatic after each insertion or deletion.

C-c C-c
If the cursor is on a footnote reference, jump to the definition. If it is a the definition, jump back to the reference. When called at a footnote location with a prefix argument, offer the same menu as C-c C-x f.
C-c C-o or mouse-1/2
Footnote labels are also links to the corresponding definition/reference, and you can use the usual commands to follow these links.

#### Footnotes

[1] The corresponding in-buffer setting is: `#+STARTUP: fninline` or `#+STARTUP: nofninline`

[2] the corresponding in-buffer options are `fnadjust` and `nofnadjust`.