我可以重新定義 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

我懷疑有可能創建一個將“正常”腳註放在“設備”註釋下方的黑客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.這是非常正確的,就在我查看程式碼並自己發現它之前幾秒鐘。保羅\lemmafmt以前就發現過。上面的解決方案看起來確實應該有效;但manyfoot已經提供了一個最好直接使用的計數器。

答案3

根據 Uwe 的建議,這是另一種方法,它產生與鎖步相同的輸出(儘管沒有自動計數器):

\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

相關內容