
Ich bin neu bei Latex (verwende xelatex) und versuche, ein Dokument mit vielen kurzen Fußnoten zu gestalten. Ich verwende para
und perpage
.
Ich habe es para
sowohl mit bigfoot
als auch versucht footmisc
. Ich habe es perpage
mit und versucht . Bei allen Kombinationen davon (wenn ich endlich etwas kompiliere) lande ich jedoch bei einer Art Race Condition, bei der eine Seite beispielsweise mit den Fußnoten 27 und 28 beginnt. Wenn ich xetex erneut ausführe, landen die Fußnoten auf der vorherigen Seite, sind aber mit 1 und 2 nummeriert und die folgende Seite beginnt mit Fußnote 3.footmisc
perpage
bigfoot
Mit anderen Worten, es scheint, als ob die Fußnotennummer(n) zweistellig sind und sich an der Schwelle befinden, die das Wort bzw. die Wörter auf die nächste Seite umbricht. Wenn xetex erneut ausgeführt wird (mit den Wörtern und Fußnoten auf der nächsten Seite), wird die Fußnotennummer um pro Seite verringert, was dazu führt, dass das Wort bzw. die Wörter wieder auf die vorherige Seite umgebrochen werden.
Ich kann xetex unendlich oft erneut ausführen, aber die Nummerierung/Abstände stabilisieren sich nicht. Ich kann ein funktionierendes Beispiel geben, aber es wird nicht „minimal“ sein, da die Dokumente oft lang sind. Außerdem sind sie größtenteils griechisch.
[BEARBEITEN:]Wie gesagt, ich bin neu bei Latex und es scheint, als sei das ganze System ziemlich fragil. Wenn es einen richtigen Weg™ gibt, es zu tun, bin ich ganz Ohr. Ich dachte allerdings, es könnte helfen, wenn es eine Möglichkeit gäbe, eine Mindestbreite für Fußnoten festzulegen. Ich glaube nicht, dass ich 100 Fußnoten auf einer Seite habe, also müsste ich die Breite einfach auf etwas festlegen, das breit genug ist, um die beiden breitesten Ziffern aufzunehmen. Ich weiß nicht, ob das möglich ist, aber dadurch wären die Fußnotennummern für den Umbruch vorhersehbar.
Antwort1
Fußnotenzeichen in Standard-LaTeX werden in Kästen gesetzt, deren Breite gerade groß genug ist, um ihren Inhalt aufzunehmen. Dies geschieht mit dem \@makefnmark
in by definierten Befehl ltfloat.dtx
:
\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
GemäßIhr Kommentar, ich werde zeigen, wie Sie diese Definition ändern können, um Fußnotenzeichen in Kästen zu setzen, die alle die gleiche Breite haben. Ich fürchte, das wird bei kleinen (z. B. einstelligen) Fußnotennummern unschön...
Für die gemeinsame Breite aller Fußnotenmarkierungsfelder verwenden wir die natürliche Breite von 00
in der \normalfont
Größe und für Standardfußnoten. Wenn Sie die Breite auf eine einfachere Weise festlegen möchten – die sich nicht an die Dokumentschriftart anpasst –, können Sie etwas wie verwenden \setlength{\myfootnotemarkwidth}{4mm}
.
Da die Felder für Fußnotenzeichen in diesem Setup eine feste Breite haben, müssen Sie auswählen, wie der Inhalt innerhalb des Felds ausgerichtet werden soll. Folgendes, das im vollständigen Beispiel unten verwendet wird, zentriert jedes Fußnotenzeichen innerhalb seines Felds:
\renewcommand*\@makefnmark{%
\hbox to \myfootnotemarkwidth{%
\hfil\@textsuperscript{\normalfont\@thefnmark}\hfil
}%
}
Wenn Sie die Ausrichtung links- oder rechtsseitig bevorzugen, entfernen Sie einfach einen der \hfil
Befehle.
Wenn Sie Fußnotenmarkierungen haben, die zu groß für die gewählte Feldbreite sind (was \myfootnotemarkwidth
in meinem Code der Fall ist), werden hierdurch korrekt Überfüllwarnungen erzeugt \hbox
. Wie ich aus Ihrer Frage verstanden habe, kann die Überfüllsituation vorübergehend sein perpage
und wird beim nächsten LaTeX-Lauf verschwinden. Wenn Sie die Überfüllwarnungen beim ersten Lauf jedoch zu sehr stören (warum?), können Sie durch \hbox
ersetzen ; aber seien Sie sich bewusst, dass sich in diesem Fall Fußnotenmarkierungen mit dem benachbarten Text überlappen können, ohne dass Sie benachrichtigt werden. Wägen Sie also die Vor- und Nachteile sorgfältig ab, bevor Sie eine solche Änderung vornehmen.\hfil
\hss
Hier ist das vollständige Beispiel:
\documentclass{article}
\makeatletter
\newlength{\myfootnotemarkwidth}
% Compute the width of a standard footnote mark numbered 00 (two digits) in
% \normalfont.
\AtBeginDocument{%
\settowidth{\myfootnotemarkwidth}{\@textsuperscript{\normalfont 00}}%
}
\renewcommand*\@makefnmark{%
\hbox to \myfootnotemarkwidth{%
\hfil\@textsuperscript{\normalfont\@thefnmark}\hfil
}%
}
\makeatother
\begin{document}
Some text\footnote{The footnote text.} to show the width of the footnote mark.
And now a high-numbered\footnote[99]{Other footnote text.} footnote.
\end{document}
Seitenanfang:
Seitenende:
Wenn Sie möchten, dass die vom Befehl verwendeten Fußnotenmarkierungen \footnotetext
(also die „Ziel“-Stelle für Fußnoten am unteren Ende des Seitentexts) in ihrer üblichen Formatierung bleiben, können Sie das vorherige Beispiel folgendermaßen ändern:
\documentclass{article}
\usepackage{etoolbox}
(...)
\AtBeginDocument{(...)
}
\let\@latex@makefnmark\@makefnmark
\patchcmd{\@makefntext}{\@makefnmark}{\@latex@makefnmark}{}{\FAILED}
\renewcommand*\@makefnmark{%
(...)
Dann sieht die Fußzeile des Beispiels folgendermaßen aus (die Zahl „1“ liegt näher am Wort „The“ als im oben gezeigten vollständigen Beispiel):