[Tex/LaTex] Footnote indentation with amsart and setspace

amsartfootnotesindentationline-spacingsetspace

A follow-up to this question: amsart, setspace, and footnotes

As explained there, using the setspace package in an amsart document removes the indentation in the first lines of footnotes. This is apparently because of the way setspace redefines \@footnotetext. But the solution offered earlier, which is to save this command in a macro and restore it after loading setspace, has the undesirable feature of applying the line-spacing settings for the main text to the footnotes as well. On its own, the \setstretch function only affects the line-spacing of the main body. But using the \@footnotetext fix makes it affect the line-spacing of footnotes too. So, for example:

\documentclass[12pt]{amsart}
\makeatletter
\let\std@footnotetext\@footnotetext
\usepackage{setspace}
\setstretch{2}
\let\@footnotetext\std@footnotetext
\makeatother
\begin{document}
The main text is double-spaced thanks to our use of the setstretch function.\footnote{But now this footnote is double-spaced just like the main text. How do I fix this?}
\end{document}

results in a double-spaced footnote. Inserting \usepackage{footmisc} after \makeatother in the above example makes the footnote single-spaced again, but it seems to indent the first line of each footnote a little too much (more than the main text is indented). I can adjust the first-line footnote indent by using, e.g., \setlength{\footnotemargin}{1.1em} after \usepackage{footmisc}, but I don't know how wide the standard main-text amsart indent is, so I don't know how to make it match the main text exactly. And this still leaves the problem of how to adjust the indentation of subsequent paragraphs within a footnote.

Does anyone know what the proper relationship is between main-text indentation and footnote first-line indentation in amsart, as well as that between the first line of a footnote and the first lines of subsequent paragraphs within that footnote? And how do I get these to line up without screwing up the line-spacing of the footnote?

Best Answer

The trick of setspace is adding

\def\baselinestretch{\setspace@singlespace}\reset@font

in front of the code for \@footnotetext (but it uses the standard code); so we do it to the code provided by amsart:

\usepackage{etoolbox}
\makeatletter
% save the code for \@foonotetext
\let\std@footnotetext\@footnotetext
\usepackage{setspace}
\setstretch{2}
% restore the code for \@footnotetext
\let\@footnotetext\std@footnotetext
% now patch it
\patchcmd{\@footnotetext}
  {\normalfont}
  {\def\baselinestretch{\setspace@singlespace}\reset@font\normalfont}
  {}{}
\makeatother