Kann ich den \Bnote-Befehl von ednotes neu definieren, damit er sich mehr wie eine normale \footnote verhält?

Kann ich den \Bnote-Befehl von ednotes neu definieren, damit er sich mehr wie eine normale \footnote verhält?

Im Rahmen des wissenschaftlichen ApparatpaketsednotesIch möchte eine benutzerdefinierte Fußnote erstellen \Bnote, die sich wie eine normale LaTeX-Fußnote verhält. Das heißt, ich möchte in den Textkörper etwas einfügen wie

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

Und die Fußnote würde unter der \AnoteEbene erscheinen und etwa so aussehen:

a Dies ist der Fußnotentext.

In der ednotes.styDatei gibt es eine Reihe von Befehlen, die zur Anpassung geändert werden können \Bnote, aber ich konnte nicht herausfinden, wie ich dieses Verhalten erreichen kann. Warum, fragen Sie sich, verwende ich nicht einfach das Standard-Fußnoten-Dienstprogramm? Weil es ÜBER der \AnoteEbene erscheint. Nur um das klarzustellen: Das Standardverhalten in ednote, das ich zu überschreiben versuche, ist die Verwendung der Zeilennummer als Fußnotenreferenz.

Ich verwende LuaLaTeX und TeXShop.

Antwort1

Ich vermute, dass es möglich ist, einen Hack zu erstellen, der „normale“ Fußnoten unter die „Apparat“-Noten von setzt ednotes. Da ich nicht weiß, wie das geht, hier eine zweitbeste Lösung, die

  • entfernt die Zeilennummern aus und ändert das Markierungsformat von \Bnote;

  • definiert ein neues Makro \Bfootnote, das den Zähler manipuliert, footnoteum eine (hoffentlich) korrekte automatische Nummerierung der „Apparat B“-Noten zu erzeugen.


\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}

Bildbeschreibung hier eingeben

Antwort2

Inzwischen ednoteshabe ich (der Autor von ) per Mail mitgeteilt: ednotesverwendet manyfootals „Fußnoten-Engine“. ednotesDas Setup von „Fußnotenebenen“ von verwendet manyfootdas Setup von „Fußnotenebenen ohne Fußnotenmarkierungen“. Um die Fußnotenmarkierungen „zurückzubekommen“, sollte man es meiner Meinung nach nicht von innen versuchen ednotes, sondern besser direkt verwenden manyfoot.

In der vorherigen Lösung sehe ich die Neudefinition von \linesfmt. Das ist ganz richtig, einige Sekunden zuvor hatte ich mir den Code angeschaut und es selbst entdeckt. Paul hatte es schon \lemmafmtvorher entdeckt. Die obige Lösung sieht wirklich so aus, als ob sie funktionieren sollte; bietet aber manyfootbereits einen Zähler, der besser direkt verwendet werden sollte.

Antwort3

Als Fortsetzung von Uwes Vorschlag gibt es hier einen anderen Ansatz, der die gleiche Ausgabe wie Lockstep erzeugt (allerdings ohne die automatischen Zähler):

\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}

Der \newfootnote{}Befehl ist Teil des manyfootvon geladenen Pakets ednote.

verwandte Informationen