Footnotes & margin notes

LaTeX’s \footnote has a hole everyone falls into once. A footnote written inside a tabular never prints its text. The mark stays in the table, the note itself vanishes, and nothing is reported — no error, no warning. Worse, the lost note still eats a number, so the next footnote starts at 3 rather than 2. The entertaining part is that LaTeX falls into the same hole: \maketitle sets the author names inside a tabular, so the standard classes quietly replace \footnote with \thanks for the duration of the title block. This page works through \footnote, the \footnotemark / \footnotetext pair, the separate numbering inside a minipage, tuning with footmisc, margin notes with \marginpar and marginnote, and endnotes — measuring as it goes.

Footnote basics: writing \footnote and choosing the mark

Write \footnote{text} and LaTeX puts a superscript number at that point and sets the matching text at the bottom of the page. The footnote counter advances it for you, so you never assign a number yourself. What matters is placement. The mark should sit right after the word it annotates, so write \footnote immediately after that word, with no space between them. A space or line break between word and command survives into the text and pushes the mark away. Relative to punctuation, the mark normally goes after the punctuation.

latex
TeX was born in 1978.\footnote{Written by Donald Knuth.}
Its maths setting is still the reference.\footnote{arXiv accepts LaTeX sources.}

% forced number: does NOT step the footnote counter
See the note above.\footnote[1]{Same note, referenced twice.}

To force a particular number, write \footnote[num]{text}. That call does not step the footnote counter and uses the number you gave, which is how you point two places at the same note. The appearance of the number is governed by \thefootnote. To swap Arabic numerals for symbols, use \renewcommand{\thefootnote}{\fnsymbol{footnote}}; \fnsymbol maps 1–9 to an asterisk, a dagger and so on, so it suits documents with few notes. \alph and \roman work the same way. To restart numbering in each chapter, the modern spelling is chngcntr’s \counterwithin*{footnote}{chapter} rather than poking at \@addtoreset.

It helps to know the lengths that shape the footnote block. Measured on TeX Live 2024 in article: \footnotesep, the minimum gap between notes, is 6.65pt, and \skip\footins, the space between the body text and the footnote block, is 9.0pt plus 4.0pt minus 2.0pt. The short rule that separates the two is a macro, \footnoterule; redefining it empty with \renewcommand{\footnoterule}{} removes the line.

The footnote inside a table does not appear: tabular, caption and headings

Because \footnote only works correctly in outer paragraph mode. Inside a tabular you are in a cell, a different mode, so the note’s body is never handed to the page’s footnote holder (\footins) and is simply lost. Compiled, the symptom is completely silent. Run the document below on TeX Live 2024 and pdftotext reports Body text.1, A value2, B value — and only note 1 appears at the foot of the page. The body of note 2 is nowhere, and the log says nothing at all.

document.tex
\documentclass{article}
\begin{document}
Body text.\footnote{Real footnote at the page bottom.}

\begin{tabular}{ll}
  A & value\footnote{This footnote is inside a tabular -- the text is lost.} \\
  B & value \\
\end{tabular}

Next.\footnote{This one is numbered 3, not 2.}
\end{document}

The easy thing to miss is the numbering gap. The lost note still steps the counter, so the footnote written after the table is numbered 3, not 2. Reading only the body text, you find yourself wondering where note 2 went. The same restriction applies to the argument of \caption and of sectioning commands, but there the symptom is far louder: \caption{Cap\footnote{...}} stops with an error, printing ! Argument of \@caption has an extra }. followed by ! Paragraph ended before \@caption was complete. The argument of \caption is a moving argument, written out to the list of tables, and a fragile \footnote cannot sit there unprotected.

Splitting mark from text: \footnotemark, \footnotetext and \thanks

The way out is to place the mark and the body with separate commands. Inside the table or the caption, emit just the mark with \footnotemark; once you are back in the body text, write the content with \footnotetext{…}. To keep the numbers in step, it is safest to pin them explicitly, as \footnotemark[7] paired with \footnotetext[7]{…}.

  • \footnotemark — places only the mark (the number) at that spot. With no argument it advances the footnote counter by one; \footnotemark[num] uses that number without advancing the counter.
  • \footnotetext{text} — places only the footnote body at the page bottom. Write it after \footnotemark, somewhere in outer paragraph mode; \footnotetext[num]{text} lets you match the number.
latex
\begin{tabular}{ll}
  Item A & value\footnotemark[1] \\
  Item B & value \\
\end{tabular}
\footnotetext[1]{This value is provisional.}

That split-the-mark-from-the-text pattern is built into LaTeX itself. Here is the definition of \thanks from latex.ltx: it is exactly a \footnotemark plus a deferred \footnotetext[current number]. And \@maketitle in article.cls contains the single line \let \footnote \thanks. The author names in the title block are set inside \begin{tabular}[t]{c}, so a plain \footnote there would lose its text — the class gets in first and swaps \footnote for \thanks inside the title. LaTeX uses the workaround for the very trap this page opened with.

latex.ltx
\DeclareRobustCommand\thanks[1]{\footnotemark
    \protected@xdef\@thanks{\@thanks
        \protect\footnotetext[\the\c@footnote]{#1}}%
}

In practice, put affiliations, acknowledgements and contact details attached to \title or \author into \thanks{…}. If you want symbols rather than numbers for them, the usual move is \renewcommand{\thefootnote}{\fnsymbol{footnote}} before \maketitle and a restore right after it. The standard classes run \setcounter{footnote}{0} at the end of \maketitle, so the body’s own footnotes start again at 1.

Footnotes inside a minipage come out as a, b, c

Because inside a minipage, \footnote switches to a different counter, mpfootnote, whose marks are lowercase letters. Measured, a note placed in a minipage came out as a, unrelated to the 1 and 2 of the body, and was set directly under that minipage rather than at the foot of the page. A minipage behaves, in other words, like a small self-contained page. To get numerals back, use \renewcommand{\thempfootnote}{\arabic{mpfootnote}}.

That behaviour is directly useful when you want a table’s notes to sit under the table. Wrap the tabular in a minipage and \footnote no longer disappears — it is set just below the table. Accept, though, that it now lives in a separate numbering scheme from the page’s footnotes. For table notes done properly, the dedicated threeparttable package (which arranges table, notes and caption as three parts) or tabularray’s talltblr environment gives a tidier result.

footmisc: restart per page, switch to symbols, run notes into a paragraph

When you want finer control over standard footnote behaviour, load \usepackage[options]{footmisc}. The copy in TeX Live 2024 is v6.0f, dated 2023/07/05. The options combine: setting [perpage,symbol] produced, measured, ∗ † ‡ on page 1 and then ∗ † again on page 2 — the reset and the symbol marks taking effect together.

OptionEffect
perpageReset the numbering on every page, so each page counts again from 1.
symbolLabel notes with symbols (∗ † ‡ …) instead of numbers. symbol* symbolises only the in-text mark.
bottomForce the notes to the very bottom of the page, even when the page is short.
paraRun several notes together as one continuous paragraph instead of one per line.
multipleDetect adjacent marks and separate them neatly instead of butting them together.
hangSet the mark out to the left and hang the note’s continuation lines under its first.
flushmarginSet the note body flush with the left edge of the text block, with no indent.
noruleDraw no rule between the body and the notes. splitrule gives split notes a rule of their own.
stableMake \footnote survive in moving arguments such as sectioning commands.
marginalPlace the mark outside the text block, hanging into the margin.
latex
% per-page numbering, notes pushed to the bottom, adjacent marks separated
\usepackage[perpage,bottom,multiple]{footmisc}

% width of the gap between the mark and the note body
\setlength{\footnotemargin}{1.8em}

footmisc reaches into the margin as well. The gap between the mark and the note body — the footnote’s own left margin — is set through the length \footnotemargin that the package provides. There are also bottomfloats, abovefloats and belowfloats for the ordering against floats, side for notes set beside the text block, and ragged for unjustified notes. The full list of names is visible in the \DeclareOption lines of footmisc.sty.

Putting a note in the margin: \marginpar and marginparwidth

To put a short note beside the body, write \marginpar{text}. It is set small in the margin, at the height of the line where you wrote it. In two-sided layout (twoside) it goes into the outer margin and swaps sides automatically between left- and right-hand pages. To use different wording on each side, write \marginpar[left]{right}: the bracketed [left] is used when the note falls in the left margin, the braced {right} when it falls in the right. \reversemarginpar flips which side notes go to, and \normalmarginpar restores the default.

Three lengths govern the geometry. Measured on TeX Live 2024: \marginparwidth is 65pt in article and report, 125pt in book, and jumps to 121pt if you add twoside to article. The gap between text and note, \marginparsep, is 11pt, and \marginparpush, the minimum distance notes keep from each other, is 5pt. At 65pt, 10pt text fits barely six characters across, so a long margin note in an unmodified article will stack almost one word per line. If margin notes are part of the design, plan on \setlength{\marginparwidth}{...} or on redesigning the margins with geometry.

\marginpar carries hard limits. Internally it is processed as a float, so it cannot be used inside a figure or table, inside a footnote, or inside another \marginpar. Put one in a figure and the run stops with ! LaTeX Error: Float(s) lost. It also takes only one paragraph. And when several notes land on nearby lines they shove one another; LaTeX shifts them and reports LaTeX Warning: Marginpar on page 1 moved. That warning is your signal that a note is now printing away from the line it was meant for.

marginnote: a margin note that is not a float — but needs two compiles

To sidestep those limits, use the marginnote package and its \marginnote{text}. It uses no float, so it works even inside the figure where \marginpar dies with ! LaTeX Error: Float(s) lost. — tried on the same document, the \marginpar version stopped with the error and the \marginnote version compiled without complaint and printed the note in the margin. As with \marginpar, \marginnote[left]{right} gives per-side wording, and \reversemarginpar is honoured. The version in TeX Live 2024 is 1.4b, dated 2018/08/09.

There is a price. marginnote prints nothing at all until the second compile. On the first run the log carried Package marginnote Info: xpos seems to be \@mn@currxpos together with LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right., and the margin of the PDF was empty. The package decides which side a note belongs on through the cross-reference machinery, so only the second run puts anything in the margin.

And \marginnote takes a third argument after the braces: a vertical offset. The form is \marginnote[left]{right}[offset]. Measured, a note given [-3\baselineskip] sat three lines above its text and one given [3\baselineskip] three lines below — negative moves up, positive moves down. You will need it, because \marginnote simply places the note at the height of the current line and does no collision avoidance at all, unlike \marginpar. When notes overlap, you spread them by hand with this argument. A \marginnote also cannot break across a page, so if you want long prose in the margin, plan a different layout (columns, or one of the sidenote-oriented classes).

latex
\usepackage{marginnote}
% ...
A note beside the text.\marginnote{This is a margin note.}

% negative offset moves the note up by three lines
Another line.\marginnote{Nudged upwards}[-3\baselineskip]

% marginnote works here; \marginpar would give "Float(s) lost."
\begin{figure}[h]
  Some figure.\marginnote{Inside a float.}
  \caption{A figure with a margin note}
\end{figure}

Endnotes at the back of the book: endnotes and enotez

When the notes should be collected at the end of a chapter or of the book rather than at the foot of the page, you want endnotes rather than footnotes. The standard tool is the endnotes package: write \endnote{text} and drop \theendnotes wherever the collected notes should appear. Measured, a document with two endnotes left the marks 1 and 2 in the text and printed a heading “Notes” at the \theendnotes position with the two notes beneath it. The heading wording is \notesname. This is the usual choice in humanities books and in any document where so many notes would blacken the page.

A more modern alternative is enotez, written in expl3, which exposes note grouping, heading style and list formatting through key–value options. The choice is simple: endnotes to add a few notes to an existing document, enotez when notes must be grouped per chapter or the presentation carefully designed. Either way, remember what sending notes to the back costs: the reader must travel between text and notes. Mixing is allowed — keep the notes a reader genuinely needs as footnotes, and send only the bare citations to the end.