4

When I write an article using the psp class for the journal Mathematical Proceedings of the Cambridge Mathematical Society, there's something broken with the footnote markers in the text. The footnote markers appear, but no extra space is inserted before the next word; in other words, the superscript number just appears plonked in the space one would have without a footnote marker.

I've had a skim through psp.cls for the word 'footnote', and I can't see, with my completely inexperienced eye, anything that would scream "I'm breaking footnotes!", though there is some redefinition and redefining back going on involving \thefootnote.

MWE:

\NeedsTeXFormat{LaTeX2e}  %still breaks without this
\documentclass{psp}
\begin{document}
\title{Title}
\author{A.N.AUTHOR}
\receivedline{Received ??}
\maketitle

A bunch\footnote{blah} of text.\footnote{foo} Another sentence.

\end{document}

I'm using the latest version of TeX Live.

  • Look at the definition to \@makefnmark. – jon Jan 16 '14 at 5:26
  • @jon Did I mention my completely inexperienced eye? I couldn't tell what that bit of code did, I just guess by your comment that it is somehow wrong. – David Roberts Jan 16 '14 at 5:36
  • Sorry, I shouldn't even be awake still, let alone finding new problems to work on. Anyway, a quick and dirty workaround would be to use LaTeX' original definition for \@makefnmark -- which can be done by adding \makeatletter \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} \makeatother to your .tex file -- but that might not interact nicely with their goal of centering short footnotes based on the longest short footnote (see in the definition of \makefntext). – jon Jan 16 '14 at 5:53
3

psp.cls redefines \@makefnmark to set the footnote marker in a zero-width box:

enter image description here

The above was set using:

A bunch\footnote{blah} of text.\footnote{foo} Another sentence.

A bunch of text. Another sentence.

Here is the redefinition of \@makefnmark:

\renewcommand\@makefnmark{\hb@xt@ \z@{%
  \ifnumfootnotes $^{\@thefnmark}$\else $\@thefnmark$\fi\hss}%
}

compared to the original in latex.ltx:

\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}

You can store and restore the original \@makefnmark:

enter image description here

\makeatletter
\let\old@makefnmark\@makefnmark% Store original \@makefnmark
\makeatother
\documentclass{psp}
\makeatletter
\let\@makefnmark\old@makefnmark% Restore original \@makefnmark
\makeatother
\begin{document}
\title{Title}
\author{A.N.AUTHOR}
\receivedline{Received ??}
\maketitle

A bunch\footnote{blah} of text.\footnote{foo} Another sentence.

\end{document}
  • What is the advantage of storing/restoring? If I had to 'store' any of the definitions, I'd at least want to store the (admittedly weird) psp.cls definition in case I needed it again. Also, is this zero-width box for their centring trick for non '\fulloutfootnote's..? – jon Jan 16 '14 at 6:07
  • @jon: Admittedly it would be equally weird to have multiple formatting for footnotes, so one would use either one or the other. \@makefnmark's usage seems to be isolated to the textual usage, and not the actual footnotes, as far as I can tell. – Werner Jan 16 '14 at 6:21
  • Thanks for this. Now the trickier problem, in the case that I actually publish something in this journal, is to convince the publisher to accept this solution. – David Roberts Jan 16 '14 at 6:39
  • 1
    @DavidRoberts -- if you can come up with a situation in which two footnotes are needed in the same place, it seems to me that they would overprint (i haven't tested). then you should be able to convince the publisher that the zero-width footnotemark is really stupid. – barbara beeton Jan 16 '14 at 17:11
  • @barbara Actually, I had something like (see e.g. \cite{ref}\footnote{text}), and the footnote mark overprinted the closing parenthesis, so I already have a case. – David Roberts Jan 16 '14 at 21:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.