如何创建 \alph 脚注,按章节重置,其中章节号添加到下面文本中的脚注标记前面但不在内联?

如何创建 \alph 脚注,按章节重置,其中章节号添加到下面文本中的脚注标记前面但不在内联?

我不知道是否需要这个包来实现这一点。

\usepackage[bottom]{footmisc}

我重置了每一章的脚注计数器。

\makeatletter
\@addtoreset{footnote}{chapter}

我想在脚注中使用“小写”字母。这样每章就只能有 26 个脚注,应该足够了……

\mainmatter
\renewcommand*{\thefootnote}{\alph{footnote}}

我想在脚注文本上标中添加章节编号,但不在内联上标中添加章节编号。

Here is^a some text from^b chapter one.

Here^a is some text^b from chapter^c two.

下面的脚注中将呈现为......

^{1a} Text for footnote a in chapter one.
^{1b} Text for footnote b in chapter one.
^{2a} Text for footnote a in chapter two.
^{2b} Text for footnote b in chapter two.
^{2c} Text for footnote c in chapter two.

其中“章节”计数器用于添加前缀。我尝试过:

\renewcommand*{\thefootnote}{\thechapter\alph{footnote}}

但这会添加到内联文本和下面的脚注中。我只想要下面的内容。

关联建议我可以重新格式化\renewcommand{\@makefntext}[1]{%...

我有一个双列设置,两个章节可以显示在同一页上。理想情况下,我希望只有每个章节的第一个元素^a 具有前缀,可能以粗体显示章节编号。

^{1a} Text for footnote a in chapter one.
^{b} Text for footnote b in chapter one.
^{2a} Text for footnote a in chapter two.
^{b} Text for footnote b in chapter two.
^{c} Text for footnote c in chapter two.

答案1

检查脚注数目是否为一。

\documentclass[oneside]{book}
\usepackage{scrextend}

\usepackage{lipsum} % for mock text

\deffootnote{2em}{0.5em}{\footnoteformatting}

\newcommand{\footnoteformatting}{%
  \makebox[0pt][r]{\textsuperscript{%
    \ifnum\value{footnote}=1
      \thechapter.%
    \fi
    \thefootnote
    \enspace
  }}%
}
\AtBeginDocument{\renewcommand{\thefootnote}{\alph{footnote}}}
\counterwithin{footnote}{chapter}

\setlength{\textheight}{0.5\textheight}

\begin{document}

\chapter{Test}

Text\footnote{First footnote} text\footnote{\lipsum[1][1-3]}

\chapter{Test}

Text\footnote{First footnote} text\footnote{Second footnote}

\end{document}

在此处输入图片描述

答案2

我使用了以下包:

\usepackage{scrextend}  
\deffootnote{2em}{0.5em}{{\footnoteformatting}} 

我修改了格式如下(包允许字符串操作):

\usepackage{xstring}

\newcommand\footnoteformatting{%
    %\typeout{The footnote: \thefootnote}
    %\typeout{The footnote (value): \value{\thefootnote}}
    %\typeout{The footnote (arabic): \arabic{\thefootnote}}
    \IfInteger{\thefootnote}{%
        % no special formatting, it is an integer.
        \thefootnotemark.\enskip
        }{%
        % it is a \alph ...
        \StrLeft{\thefootnote}{1}[\firstchar]%
        \IfStrEq{\firstchar}{a}{%true
                {\color{black}\textbf{\thechapter}}\thefootnotemark.\enskip
            }{%false
                {\color{white}\textbf{\thechapter}}\thefootnotemark.\enskip
            }%

        }%
    }%

如果字母字符串是 {a},我会将其设置为黑色,否则设置为白色。我使用“白色”的颜色代码来隐藏数字。这样可以很好地对齐脚注字母。

如果我需要使用另一个脚注包将 {z} 传递给 {aa},此逻辑仍然有效。图片显示了第 1 章的脚注 {h} 和第 2 章的脚注 {a}。

在此处输入图片描述

相关内容