我不知道是否需要这个包来实现这一点。
\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}。