1

There is a spacing difference (both vertical and horizontal) between using

\makeatletter
\newcommand*{\wackyfn}[1]{\expandafter\@wackyfn\csname c@#1\endcsname}
\newcommand*{\@wackyfn}[1]{\ifcase#1\or*\or$\spadesuit$\else\@ctrerr\fi}
\renewcommand\thefootnote{\wackyfn{footnote}}
\makeatother

and

\renewcommand*{\thefootnote}{\fnsymbol{footnote}}

which seems the proper way to do things: is it possible to have something close to the second command, but which is also able to have footnotes with $\spadesuit$ etc. instead of * and similar, keeping the correct spacing and dimensions?

A complete example is

\documentclass[12pt]{article}
\usepackage{amsmath}

\begin{document}

\makeatletter
\newcommand*{\wackyfn}[1]{\expandafter\@wackyfn\csname c@#1\endcsname}
\newcommand*{\@wackyfn}[1]{\ifcase#1\or*\or$\spadesuit$\else\@ctrerr\fi }
\renewcommand\thefootnote{\wackyfn{footnote}}
\makeatother

Wrong\footnote{footnote}, compare to Wrong$^*$

\setcounter{footnote}{0}
\renewcommand*{\thefootnote}{\fnsymbol{footnote}}

Right\footnote{footnote2}

\end{document}
1

2 Answers 2

3
\or * \or

defines that value to be a * followed by a space you want

\or *\or

similarly the other cases.

4
  • thanks for the answer; eliminating the spaces as you suggest gives the correct horizontal spacing, but vertically it is higher compared to standard footnote or $^*$
    – jj_p
    May 21, 2014 at 14:53
  • @jj_p the standard fnsymbol command does nothing about vertical spacing (or the font size) it just uses its collection of symbols dagger etc, perhaps you have chosen taller symbols in your list May 21, 2014 at 14:56
  • 1
    @jj_p questions should always have a complete (\documentclass to \end{document}) example document so that people can test their answers and see what you are seeing, edit your question with an example usage showing the height difference. May 21, 2014 at 14:57
  • done, I added a complete example
    – jj_p
    May 21, 2014 at 15:08
0

I think I understand my problem: I'm missing \ensuremath inside

\newcommand*{\@wackyfn}[1]\ensuremath{\ifcase#1\or*\or\spadesuit\else\@ctrerr\fi}}
4
  • This is a rather a comment or add-on to your original question than an answer.
    – user31729
    May 21, 2014 at 15:54
  • well, adding that solves the issue; it's a bit funny answering one's own questions, but that's what I needed
    – jj_p
    May 21, 2014 at 16:17
  • You can just use $*$ as well...
    – Werner
    May 21, 2014 at 16:29
  • right, the point is that $*$ and * give different vertical alignments, and that was my problem (of course, \ensuremath is the same as $$ for all the symbols)
    – jj_p
    May 21, 2014 at 16:47

You must log in to answer this question.

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