29

I want the footnote mark to be superscripted in the text body (e.g. Footnote mark²), but normalsize in the foot, to be shown like:

________________
2. Some footnote text

Also, it would be nice if the mark appeared hanging in the left margin, like

   ________________
2. Some footnote text

(That is recommended by Bringhurst in his Elements of Typographic Style)

4 Answers 4

19

Use the scrextend package (part of KOMA-script) to customize footnotes. See section 3.14 of the documentation of KOMA-script for details about the \deffootnote macro.

\documentclass{article}

\usepackage{scrextend}
\deffootnote{0em}{1.6em}{\thefootnotemark.\enskip}

\usepackage[english]{babel}
\usepackage{blindtext}

\begin{document}

\blindtext\footnote{\blindtext}

\end{document}
3
  • 1
    Number (footnotemark) is out of left margin and that doesn't like to me, is it possible fix it?
    – skpblack
    Commented Aug 6, 2014 at 16:44
  • I'd like to concur with @skpblack. Here the footnote marker in the footnote is set outside of the body text area. How can it be put at the margin instead of in the margin?
    – Sverre
    Commented Sep 18, 2015 at 17:56
  • 1
    The particular values may vary with your setup, but I was able to align the markers with the body text by setting \deffootnote[1.25em]{1.25em}{1em}{\thefootnotemark.\enskip}
    – twofeet
    Commented May 22, 2020 at 18:48
11

I already had a solution for this problem, which I managed to come up by trial and error... I just didn't know if it was the best way to do it:

\makeatletter
  \renewcommand\@makefntext[1]{%
  \hspace*{-2em}
  \parindent 0em
  \noindent
  \hb@xt@ 1.8em{\hss %  There's the option of putting \hss before
  \@thefnmark. }%       or after \@thefnmark, aligning the footnote
  #1}%                  marks to the right or to the left, respectively
\makeatother

I tried to look at the definition of \deffootnote in scrextend.sty, but it seems to be much more complicated than that...

Anyway, the solution proposed by @lockstep is much simpler than this, although this one might be useful for class authors. Hope it helps.

6

This is a TeX approach, with doesn't need a package. I use it always. Maybe the code can be improved:

\documentclass{article}

\makeatletter
\newlength{\fnBreite}
\renewcommand{\@makefntext}[1]{%
  \settowidth{\fnBreite}{\footnotesize\@thefnmark.i}
  \protect\footnotesize\upshape%
  \setlength{\@tempdima}{\columnwidth}\addtolength{\@tempdima}{-\fnBreite}%
  \makebox[\fnBreite][l]{\@thefnmark.\phantom{}}%
  \parbox[t]{\@tempdima}{\everypar{\hspace*{1em}}\hspace*{-1em}\upshape#1}}
\makeatother

\usepackage[english]{babel}
\usepackage{blindtext}

\begin{document}

\blindtext\footnote{\blindtext}

\end{document}
2
  • 3
    This works very nicely, with one problem: very long footnotes no longer break across pages, even when \footins is set manually to values small enough that footnotes should be forced to break. The fatal features seems to be the use of \parbox. Any thoughts on how to repair this feature? Commented Aug 5, 2012 at 15:21
  • @PeterBreitfeld, The effect is very beautiful! You save me several days to fix the annoying issue. Thank you very much!
    – xmllmx
    Commented Mar 31, 2015 at 1:24
5

I found that using the scrextend package for customizing footnotes can introduce issues (such as the suppression of the footnote marker when including a footnote in a section heading). Hence, here’s a solution that does not rely on scrextend:

In order to prevent the footnote marker from being superscripted in the footnote text, you can use the following. I did not find this code to create any problems regarding splitting very long footnotes over multiple pages.

\documentclass{article}

\newlength{\templength}
\newlength{\textparindent}
\setlength{\textparindent}{\parindent}
\makeatletter
\let \@makefntextorig \@makefntext
    % Saving the original definition so we can reuse it if necessary.
\newcommand{\@makefntextcustom}[1]{%
    \parindent 2\textparindent%
    \hspace{-\textparindent}%
    \settowidth{\templength}{0}%
    \ifnum\value{footnote}<10 \hspace{\templength}\else\fi%
    \thefootnote.\enskip #1%
}
\renewcommand{\@makefntext}[1]{\@makefntextcustom{#1}}
\makeatother

\usepackage[english]{babel}
\usepackage{blindtext}

\begin{document}

Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~\emph{long} test footnote. A~\emph{long} test footnote. A~\emph{long} test footnote. A~\emph{long} test footnote. A~\emph{long} test footnote. A~\emph{long} test footnote.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~\emph{very long} test footnote including two paragraphs. A~\emph{very long} test footnote including two paragraphs. A~\emph{very long} test footnote including two paragraphs. A~\emph{very long} test footnote including two paragraphs. A~\emph{very long} test footnote including two paragraphs.\par A~\emph{very long} test footnote including two paragraphs. A~\emph{very long} test footnote including two paragraphs. A~\emph{very long} test footnote including two paragraphs.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~test footnote.}

\end{document}

No superscript for footnote marker in the footnote text

In order to move the footnote marker into the margin (Bringhurst-style), here’s a variant of the above:

\documentclass{article}

\newlength{\templength}
\newlength{\textparindent}
\setlength{\textparindent}{\parindent}
\makeatletter
\let \@makefntextorig \@makefntext
    % Saving the original definition so we can reuse it if necessary.
\newcommand{\@makefntextcustom}[1]{%
    \parindent \textparindent%
    \hspace{-\textparindent}\hspace{-100pt}\makebox[100pt][r]{\thefootnote.\enskip}%
    #1%
}
\renewcommand{\@makefntext}[1]{\@makefntextcustom{#1}}
\makeatother

\usepackage[english]{babel}
\usepackage{blindtext}

\begin{document}

Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~\emph{long} test footnote. A~\emph{long} test footnote. A~\emph{long} test footnote. A~\emph{long} test footnote. A~\emph{long} test footnote. A~\emph{long} test footnote.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~\emph{very long} test footnote including two paragraphs. A~\emph{very long} test footnote including two paragraphs. A~\emph{very long} test footnote including two paragraphs. A~\emph{very long} test footnote including two paragraphs. A~\emph{very long} test footnote including two paragraphs.\par A~\emph{very long} test footnote including two paragraphs. A~\emph{very long} test footnote including two paragraphs. A~\emph{very long} test footnote including two paragraphs.}\par
Some text.\footnote{A~test footnote.}\par
Some text.\footnote{A~test footnote.}\par
\setcounter{footnote}{0}
\makeatletter
\renewcommand{\@makefntext}[1]{\@makefntextorig{#1}}
\makeatother
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
Some text.\footnote{A~footnote after switching back to the original definition.}

\end{document}

enter image description here

4
  • This works really well, thank you. Why do you define \textparindent? Also, why do you add a \parindent, then a 2\textparindent, and later subtracts a \textparindent using \hspace{-\textparindent}? Commented Apr 15 at 15:16
  • I define \textparindent to store the value of \parindent from the body text. This is because I would like the footnotes’ indent to be identical to the body text’s first-line indent. Commented May 1 at 8:41
  • The line \parindent 2\textparindent does not “add a \parindent, then a 2\textparindent.” Rather, it sets the length \parindent (locally) to the value of 2\textparindent. That is, it amounts to \setlength{\parindent}{2\textparindent}. Commented May 1 at 8:46
  • 1
    Consequently, the first-line indent of a footnote will be the same as the first-line indent of a paragraph in the body text; and the first-line indent of a paragraph within a footnote will be twice the first-line indent of a paragraph in the body text. Commented May 1 at 8:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .