在学术设备包的背景下ednotes
我想创建一个自定义的脚注\Bnote
,其行为类似于普通的 LaTeX 脚注;也就是说,我想在正文中输入类似
blah blah.\Bnote{a}{This is the footnote text.} Blah blah blah...
脚注会出现在图层下方\Anote
,看起来像
a这是脚注文本。
文件中ednotes.sty
有许多命令可以修改以自定义\Bnote
,但我无法看到如何获得此行为。您问,为什么我不直接使用标准脚注实用程序?因为它出现在图层上方\Anote
。需要说明的是,我试图覆盖的 ednote 中的默认行为是使用行号作为脚注引用。
我正在使用 LuaLaTeX 和 TeXShop。
答案1
我怀疑有可能创建一个 hack,将“正常”脚注放在“设备”注释下方ednotes
。由于我不知道如何做到这一点,这里有一个次优解决方案,
删除行号并更改标记格式
\Bnote
;定义一个新的宏
\Bfootnote
,对计数器进行修改footnote
以产生(希望)正确的“设备 B”音符的自动编号。
\documentclass{article}
\usepackage[Bplain]{ednotes}
\linenumbers
\newcommand{\Bnotefmt}{%
\renewcommand*{\sameline}[1]{\linesfmt{##1}}%
\renewcommand*{\differentlines}[2]{\linesfmt{##1\textendash##2}}%
% \renewcommand*{\linesfmt}[1]{\textbf{##1}\enspace}% DELETED
\renewcommand*{\linesfmt}[1]{}% NEW
\renewcommand*{\pageandline}[2]{##1.##2}% ##1 page, ##2 line.
\renewcommand*{\repeatref}[1]{##1}% E.g., ...
\renewcommand*{\repeatref}[1]{\textnormal{/}}% ... instead.
% \renewcommand{\lemmafmt}[1]{##1\thinspace]\enskip}% DELETED
\renewcommand{\lemmafmt}[1]
{\stepcounter{footnote}\textsuperscript{##1}\addtocounter{footnote}{-1}}% NEW
\renewcommand{\lemmaellipsis}{\textsymmdots}%
\renewcommand{\notefmt}[1]{##1}%
}
\newcommand*{\Bfootnote}[1]{%
\addtocounter{footnote}{-1}%
\Bnote{\footnotemark}{#1}%
}
\begin{document}
\null\vfill% just for the example
Some text \Anote{a}{An apparatus A note.}.
Some text.\Bfootnote{An apparatus B note that behaves like a normal footnote.}
Some text.\Bfootnote{And another one.}
\end{document}
答案2
与此同时,我(ednotes
的作者)已通过电子邮件告知:ednotes
使用manyfoot
作为“脚注引擎”。ednotes
的脚注层设置使用manyfoot
的设置来创建没有脚注标记的脚注层。要“找回”脚注标记,我认为不应该从内部尝试ednotes
,最好manyfoot
直接使用。
在上一个解决方案中,我看到了 的重新定义\linesfmt
。这是非常正确的,几秒钟前我查看了代码并自己发现了它。Paul\lemmafmt
之前就发现了。上面的解决方案看起来确实应该可以工作;但manyfoot
已经提供了一个最好直接使用的计数器。
答案3
根据 Uwe 的建议,这里是另一种产生与 lockstep 相同输出的方法(尽管没有自动计数器):
\documentclass{article}
\usepackage{ednotes}
\linenumbers
\newfootnote{Z}
\newcommand\footnoteZ[2]{\Footnotemark{#1}\FootnotetextZ{}{#2}}
\begin{document}
\null\vfill% just for the example
Some text \Anote{a}{An apparatus A note.}.
Some text.\footnoteZ{1}{An apparatus B note that behaves like a normal footnote.}
Some text.\footnoteZ{2}{And another one.}
\end{document}
该命令是加载的包\newfootnote{}
的一部分。manyfoot
ednote