ednotes の \Bnote コマンドを通常の \footnote のように動作するように再定義できますか?

ednotes の \Bnote コマンドを通常の \footnote のように動作するように再定義できますか?

学術的装置パッケージの文脈ではednotes通常のLaTeX脚注のように動作するカスタマイズを作成したい\Bnote。つまり、テキストの本文に次のようなものを入力したいと思う。

blah blah.\Bnote{a}{This is the footnote text.} Blah blah blah...

脚注は\Anoteレイヤーの下に表示され、次のようになります。

aこれは脚注テキストです。

ファイル内にはednotes.styカスタマイズするために変更できるコマンドがいくつかあります\Bnoteが、この動作を実現する方法がわかりません。なぜ標準の脚注ユーティリティを使用しないのかと疑問に思うかもしれません。それは、それがレイヤーの上に出てくるからです\Anote。念のため言っておきますが、私が上書きしようとしている ednote のデフォルトの動作は、脚注参照として行番号を使用することです。

私はLuaLaTeXとTeXShopを使用しています。

答え1

「装置」の注釈の下に「通常の」脚注を置くハックを作成できるのではないかと思います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使用します。の脚注レイヤーの設定では、 の設定を使用して、脚注マークのない脚注レイヤーを作成します。脚注マークを「戻す」には、 内から試すのではなく、直接使用する方がよいと思います。manyfootednotesmanyfootednotesmanyfoot

前のソリューションでは、 の再定義が見られます\linesfmt。これはまさにその通りで、数秒前に私がコードを見て自分でそれを発見しました。ポールは\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

関連情報