TeXの記憶(66) — 脚注の数字を記号に変更する

LaTeXの脚注\footnoteを使うと脚注には

1), 2) とか †1, †2

のように数字を使って表示されます。あるとき数字を記号を変えるだけで

1007

のようにしたいという指定がありました。

\footnoteのカウンタを数字として保持しているのは\@thefnmarkなので、数字に合わせて、
\@thefnmarkの値が「1 なら †」、「2 なら ‡」、「3 なら §」、…、のように順番に文字を表示すればよいようです。

数字に合わせて文字を出力するには、\ifcaseを使えばいいでしょう。

\def\FNMARK#1{\ifcase#1\or 
  $\dagger$\or 
  $\ddagger$\or 
  $\S$\or 
  $\ast$\else
\@ctrerr\fi\relax}

1ページの脚注が5つになったらエラーです。

\footnoteの数字を出力する\@makefnmarkから上の\FNMARKを呼び出すようにしました。

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

これで数字の代わりに文字が出力されますが、困ったことにページごとにfootnoteのカウンタがリセットされません。困りました。脚注の少ない書籍だったので、とりあえずページの最初の\footnoteの前に

\setcounter{footnote}{1}

入れて対処しました。何ともスッキリしない解決です。

コメント