0

I want to change the definition of footnotes in order to be able to change the footnote symbol for some footnotes (the footnotes corresponding to the authors of a paper). I tried the recommendation of the first answer of this thread: Make all footnotes numbered subsequently, but one with a symbol

I use the Dissertate class (https://github.com/suchow/Dissertate) and there this code doesn't work, since Latex complains about the use of \@:

Use of \@ doesn't match its definition.
  • 2
    What is the problem with \makeatletter...\makeatother? You could make the change in an own package file -- you don't need \makeatletter...\makeatother then – user31729 Jan 11 '16 at 17:01
  • 1
    since the recommendation in the linked question is to redefine the command \@xfootnote, \makeatletter and \makeatother are required. – barbara beeton Jan 11 '16 at 17:02
  • If I run Werner's document with the dissertate class instead of article, I get no error. Can you show a minimal example? However, the footnotes are not numbered with that class, so I don't understand what you're doing. – egreg Jan 11 '16 at 17:11
2

For code in a class or package @ is already a letter so if you go

\makeatletter
... new code
\makeatother
... rest of original code

then the rest of the original code is broken as @ is no longer a letter.

\makeatletter is intended for use in teh preamble for short sections of code to avoid needing to make a package or class file so

\documentclass{yourclass}
\makeatletter
... new code
\makeatother

 ... rest of _document_ with @ not a letter
2

I don't see the point in not using the \makeatletter...\makeatother pair but if really necessary: Here's a package based wrap around (I stole the full code from Werner's answer in the given link Make all footnotes numbered subsequently, but one with a symbol ;-) -- but the splitting is by me)

withoutatletter.sty:

\NeedsTeXFormat{LaTeX2e}

\ProvidesPackage{withoutatletter}


\def\@xfootnote[#1]{%
  \protected@xdef\@thefnmark{#1}%
  \@footnotemark\@footnotetext}

\endinput

And here the foo.tex

\documentclass{article}
\usepackage{withoutatletter}
\begin{document}
This is a\footnote{Regular footnote} piece of text.
This is a\footnote[*]{Different footnote} piece of text.
This is a\footnote{Regular footnote} piece of text.
This is a\footnote{Regular footnote} piece of text.
This is a\footnote[$\dagger$]{Different footnote} piece of text.
This is a\footnote{Regular footnote} piece of text.
This is a\footnote[$\star$]{Different footnote} piece of text.
\end{document}

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.