我可以重新定义 ednotes 的 \Bnote 命令,使其更像普通的 \footnote 吗?

我可以重新定义 ednotes 的 \Bnote 命令,使其更像普通的 \footnote 吗?

在学术设备包的背景下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{}的一部分。manyfootednote

相关内容