Footnotes with automatic final period
The solution by Werner solves the the original poster's problem, but just for the fun of it let us solve a more general one. Suppose the user sometimes puts the periods, and sometimes does not. We want our macro to insert a period only if the footnote does not end with a period, a question mark or a bang.
The following solution is based on the idea by Will Robertson in the comments. It needs nonfrenchspacing
to work (it is possible to make a more general one, but this will suffice for now). Basically we check the \spacefactor
of the last letter in the footnote and add period if it is too small (3000 is the plain and latex default for the end of a sentence)
\documentclass{article}
\makeatletter%
\long\def\@makefntext#1{%
\parindent 1em\noindent \hb@xt@ 1.8em{\hss\@makefnmark}#1%
\ifnum\the\spacefactor<3000.\fi}
\makeatother
\begin{document}
Here is some text\footnote{This is a footnote}. More
text\footnote{This footnote ends by a full stop.}. Even more
text\footnote{End with a bang!}.
\end{document}
You could redefine the way \@makefntext
works and add this in the definition. \@makefntext
is the final macro that is executed in the standard document classes for constructing the footnote. In the below MWE, I've added .
after #1
, where #1
is the argument supplied to \footnote{...}
:
\documentclass{article}
\makeatletter%
\long\def\@makefntext#1{%
\parindent 1em\noindent \hb@xt@ 1.8em{\hss\@makefnmark}#1.}
\makeatother
\begin{document}
Here is some text\footnote{This is a footnote}.
\end{document}
As per your request, this will be added to every footnote. And therefore, even if you have an entire (punctuated) paragraph as a footnote, the last sentence should be period-less.