Im Rahmen des wissenschaftlichen Apparatpaketsednotes
Ich 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 \Anote
Ebene erscheinen und etwa so aussehen:
a Dies ist der Fußnotentext.
In der ednotes.sty
Datei 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 \Anote
Ebene 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,footnote
um 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}
Antwort2
Inzwischen ednotes
habe ich (der Autor von ) per Mail mitgeteilt: ednotes
verwendet manyfoot
als „Fußnoten-Engine“. ednotes
Das Setup von „Fußnotenebenen“ von verwendet manyfoot
das 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 \lemmafmt
vorher entdeckt. Die obige Lösung sieht wirklich so aus, als ob sie funktionieren sollte; bietet aber manyfoot
bereits 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 manyfoot
von geladenen Pakets ednote
.