Ich arbeite an einer kritischen Ausgabe antiker griechischer Gedichte und verwende die verse
Umgebung von LaTeX. Ich brauche zwei grundlegende Fußnoten und verwende derzeit manyfoot
. Ich habe eine weitere definiertZeilenabstandfür die Fußnoten, was gut zu funktionieren scheint, zumindest für den kleinen Wert, den ich brauche (Code + erstes Bild).
\documentclass[12pt]{book}
\usepackage{polyglossia}
\usepackage{verse}
\usepackage[para]{manyfoot}
\setdefaultlanguage{greek}
\setotherlanguage{english}
\newfontfamily\greekfont[Script=Greek,Ligatures=TeX]{Times New Roman}
\def\extrafootnoterule{\defaultfootnoterule}
\newfootnote[para]{A}
\newfootnote[para]{B}
\interfootnotelinepenalty=10000
\def\mylinespacing{1.05}
\newcommand{\foota}[1]{
\begingroup
\linespread{\mylinespacing}
\FootnotetextA{}{\textbf{\arabic{poemline}} #1}
\endgroup%
}
\newcommand{\footb}[1]{
\begingroup
\linespread{\mylinespacing}
\FootnotetextB{}{\textbf{\arabic{poemline}} #1}
\endgroup
}
\usepackage{showframe}
\begin{document}
\verselinenumbersleft
\settowidth{\versewidth}{ααααααααααααααααααααααααααααααααααααααααα}
\chapter*{CANON I}
\poemlines{5}
\begin{verse}[\versewidth]
\vin ᾠδὴ . \textit{Θαυμαστὸς ἐνδόξως ποιῶν τέρατα}\foota{heirm. α΄ EE 76, n. 108, Andreae}
\vin Τὴν πύρινην γλῶτταν,\foota{Τὴν πύρινην γλῶτταν}\\*
τὸν νοῦν τὸν ἄϋλον,\foota{Τὴν πύρινην γλῶτταν}\\
τῶν θεωριῶν\foota{Τὴν πύρινην γλῶτταν}\\
τὴν σάλπιγγα τὴν θείαν,\footb{Τὴν πύρινην γλῶτταν}\footb{Τὴν πύρινην γλῶτταν}\\
τὸ στόμα τῆς σοφίας,\foota{Τὴν πύρινην γλῶτταν}\\
τὸν μέγαν θεολόγον\\*
θείοις ὕμνοις ἀνευφημήσωμεν.\foota{Τὴν πύρινην γλῶτταν}\\!
\vin Τὴν πύρινην γλῶτταν,\foota{Τὴν πύρινην γλῶτταν}\\*
τὸν νοῦν τὸν ἄϋλον,\footb{Τὴν πύρινην γλῶτταν}\\
τῶν \footb{Τὴν πύρινην γλῶτταν}θεωριῶν\footb{Τὴν πύρινην γλῶτταν}\\
τὴν σάλπιγγα τὴν θείαν,\\
τὸ στόμα τῆς σοφίας,\footb{Τὴν πύρινην γλῶτταν}\\
τὸν μέγαν θεολόγον\footb{Τὴν πύρινην γλῶτταν}\\*
θείοις ὕμνοις ἀνευφημήσωμεν.\\!
\vin Τὴν πύρινην γλῶτταν,\\*
τὸν νοῦν τὸν ἄϋλον,\\
τῶν θεωριῶν \footb{Τὴν πύρινην γλῶτταν}\\
τὴν σάλπιγγα τὴν θείαν,\footb{Τὴν πύρινην γλῶτταν}\\
τὸ στόμα τῆς σοφίας,\\
τὸν μέγαν θεολόγον\footb{Τὴν πύρινην γλῶτταν}\\*
θείοις ὕμνοις ἀνευφημήσωμεν.\foota{Τὴν πύρινην γλῶτταν}\\!
\end{verse}
\end{document}
Das Problem entsteht durch dieIch benötige ein spezielles Layout für diese Fußnoten. Beispielsweise müssen bestimmte Fußnoten eine einzelne Zeile einnehmen. Bisher habe ich den Befehl \newline
am Ende der "einsamen" Fußnote (und am Ende der vorherigen Fußnote) verwendet. Leider scheint dies ein Problem zu verursachen, daDie Fußnoten können sich mit den Seitenzahlen überschneiden. Wie im zweiten Bild zu sehen, verschwindet auch die Fußnote aus dem Textfeld. Das Beispiel mag übertrieben erscheinen, aber das Phänomen tritt auf fast 10 % meiner Seiten auf (das entspricht mehr als 30 Seiten).
Außerdem muss ich das Fußnotenlineal ändern und seinen Abstand zum Text darüber und darunter vergrößern. Derzeit verwende ich den folgenden Code:
\renewcommand{\footnoterule}{
\kern 5.52pt
\hrule width 3cm
\kern 10.52pt}
Wie erwartet verschärft dies das Problem noch weiter:
Ich wäre für jede Hilfe zu diesem Thema dankbar. Ich verwende das manyfoot
Paket eher zufällig, da es für die Definition vieler verschiedener Arten von Fußnoten (einige drucken die Versnummer, andere ohne usw.) flexibler erschien. Ich habe auch bigfoot
und in Betracht gezogen footmisc
. Ich würde lieber bei bleiben manyfoot
, aber ich könnte versuchen, alles in ein anderes Paket zu übertragen, das das erwähnte Problem des Fußnotenlayouts tatsächlich lösen könnte.
Antwort1
Ihr Problem ist recht komplex zu lösen. Ich habe eine Lösung für eledmac (danke!) und für Ihr spezifisches Problem mit Ihrem MWE gefunden.
Das Problem ist, dass das Hinzufügen eines Leerzeichens nach der Regel problematisch ist, da TeX dieses Leerzeichen nicht als Leerzeichen für Notizen zählt. Deshalb kann es die Zeilennummer überschreiben.
Die Lösung ist ziemlich komplex und erfordert TeX-Kenntnisse.
Eine Fußnote ist eine TeX-Einfügung. Für jeden TeX-Einfügungstyp gibt es drei Parameter:
- a) Länge, die nur dann auf der Seite erhalten bleibt, wenn eine Einfügung erfolgt. In deinem Fall also nur, wenn mindestens eine \footnote aufgerufen wird.
- b) Länge, d. h. die maximale Höhe, die alle Einfügungen auf derselben Seite haben können.
- c) Faktor, der verwendet wird, wenn eine Einfügung hinzugefügt wird (in Ihrem Fall also eine Fußnote), der die Höhe der Einfügung bestimmt. Wenn die Summe aus Einfügung*Faktor > b ist, ist die Einfügung voll und Tex gibt sie aus (um sie zusammenzufassen).
Wenn Sie die Länge a) ändern, um Ihren Kern nach der Regel hinzuzufügen, wird das Problem gelöst, da TeX den Platz in der Gesamthöhe der Notizen „reserviert“. Diese Länge a entspricht mit Ihrem Paket \footdimen.
Wenn Sie also ändern \footin
, sagen Sie TeX, dass dieser Abstand vor dem Drucken der Einfügung beibehalten werden soll.
Das Problem besteht jedoch darin \MFL@joinrule
, dass der Befehl, der manyfoot
beim Drucken zusätzlicher Fußnoten aufgerufen wird \footin
, dazu verwendet wird, vor der Regel Leerzeichen einzufügen. Der gewünschte Leerraum nach der Regel wird also auch vor der Regel eingefügt! Dasselbe gilt auch für , \make@cols
das von LaTeX aufgerufen wird und die erste Regel in der Reihe druckt.
Die Lösung besteht darin, diesen Bereich vor der Regel zu patchen \MFL@joinrule
und \make@cols
zu löschen, da es sich um den Bereich nach der Regel handelt.
Wir können es mit etoolbox machen (das von Polyglossia geladen wird)
Also Code für Ihre Präambel:
\makeatletter
\newcommand{\before}{5.52pt}%Space before rule
\newcommand{\after}{10.52pt}% Space after rule
\renewcommand{\footnoterule}{%Redefine footnoterule
\hrule width 3cm
\kern \after}
% Change the space kept for rules+spaces around
\advance\skip\footins by \after
\advance\skip\footins by \before
% Not print the after space before the rule
\patchcmd{\@makecol}{\vskip \skip\footins}{\vskip \skip\footins\vskip-\after}{}{}
%load parafootskip
\usepackage[ruled,para]{manyfoot}
% Not print the after space before the rule
\patchcmd{\MFL@joinrule}{\@tempskipa\skip#5}{\@tempskipa\skip#5\advance\@tempskipa by -\after}{}{}
\makeatother
Ich denke aber tatsächlich, dass Sie sich für die nächste Ausgabe eledmac ansehen sollten.