![我该如何仅修改页面底部的脚注标记?](https://linux22.com/image/430708/%E6%88%91%E8%AF%A5%E5%A6%82%E4%BD%95%E4%BB%85%E4%BF%AE%E6%94%B9%E9%A1%B5%E9%9D%A2%E5%BA%95%E9%83%A8%E7%9A%84%E8%84%9A%E6%B3%A8%E6%A0%87%E8%AE%B0%EF%BC%9F.png)
我有一本书,其中脚注的分组将使用字母作为标记(即 a、b、c 等)。但是,重新开始的新分组在单个页面上很常见。每个分组都使用计数器进行编号,并且此计数器显示在打印页面上。我希望脚注正常内联显示,但我想将计数器值附加到页脚中的每个“a”脚注。
\documentclass{book}
\newcounter{grouping}
\newcommand{\newGrouping}{\stepcounter{grouping}\textsuperscript{\arabic{grouping}}\setcounter{footnote}{0}}
\renewcommand*{\thefootnote}{\alph{footnote}}
\begin{document}
\newGrouping This is some example text.\footnote{First example footnote.}
Some more text\footnote{Second example footnote.} and yet more.\footnote{Third example footnote.}
\newGrouping Now with a new grouping,\footnote{First example footnote in second grouping.}
there is some ambiguity about which footnote\footnote{Second example footnote in second grouping.}
is intended.\footnote{Third example footnote in second grouping.}
\end{document}
我希望第一个“a”脚注在底部显示为 1a,第二个脚注显示为 2a。我尝试\renewcommand*{\thefootnote}{\alph{footnote}}
用以下内容替换:
\renewcommand*{\thefootnote}{\ifnum\value{footnote}>1\alph{footnote}\else\arabic{\grouping}{\alph{footnote}\fi}
这与我的预期正好相反。它保留了底部,并在内联中添加了分组编号。
我尝试附加图片,但不起作用。以下是链接: https://i.stack.imgur.com/0QzuE.jpg
答案1
页面底部的脚注由内部 LaTeX 命令排版\@makefntext
。在book
文档类中,它定义为:
\newcommand\@makefntext[1]{%
\parindent 1em%
\noindent
\hb@[email protected]{\hss\@makefnmark}#1}
其中\@makefnmark
创建实际的脚注标记并定义为:
\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
我们不能仅仅重新定义,\@makefnmark
因为它会同时用于页面底部的脚注文本和正文中的标记,所以我们必须进行更改\@makefntext
。
\makeatletter
\renewcommand\@makefntext[1]{%
\parindent 1em%
\noindent
\hb@[email protected]{\hss\hbox{\@textsuperscript{\normalfont\thegrouping\@thefnmark}}}#1}
\makeatother