
Ich verwende das Paket, multicol
um eine einspaltige (über die gesamte Textbreite reichende) Überschrift und einen zweispaltigen Haupttextblock zu setzen. Dazu beginne ich mit der Multicols-Umgebung am Anfang des Textblocks. Die einspaltige Überschrift nimmt einen kleinen Teil der Texthöhe auf der Titelseite ein, und ich muss dort eine Fußnote setzen, bevor ich mit der zweispaltigen Umgebung beginne. Ich möchte diese Fußnote unter der ersten Spalte im zweispaltigen Fließtext setzen. Wie könnte ich das tun?
Außerdem möchte ich die Fußnoten in einer einzelnen Spalte unter einer der Textspalten setzen – ich habe sogar nichts dagegen, sie als zweispaltige Fußnoten zu haben, aber was ich nicht möchte, ist ein Fußnotenlayout, das sich über die gesamte Textbreite erstreckt. Ich habe es mit dem Befehl \twocolumnfootnotes
der Klasse versucht memoir
, mit den Paketen ledmac
, dblfnote
und sogar mit ftnright
(letzterer beschwert sich darüber, dass er aufgrund dieser einspaltigen Überschrift in einem einspaltigen Dokument verwendet wird). Keiner hat sich in dieser Umgebung als nützlich erwiesen. Als weniger als MWE, nur um eine konkretere Darstellung meines Szenarios zu vermitteln, betrachten wir:
\documentclass{memoir}
\usepackage{multicol}
\begin{document}
A single-column heading\footnote{Here I have my footnote.}
\begin{multicols}{2}
Here I am in the two-column environment, and I want my footnotes being set in accordance with the document's ``columnwidth''.\footnote{A footnote in the two-column environment.}
\end{multicols}
\end{document}
Antwort1
Es gibt eine Reihe guter Gründe, warum es unmöglich ist, das gewünschte Layout mit bereitzustellen multicols
. Zwei wichtige sind:
Wie der Name schon sagt, soll der Code verschiedene Spaltennummern auf derselben Seite unterstützen. Wie breit sollte nun eine Fußnote sein? Die volle Textbreite ist hässlich, aber das gilt auch für jede andere Breite, wenn sie nicht zum restlichen Spaltenaufbau passt. Selbst wenn die Spezifikation auf „eine und zwei Spalten mit Ausgleich“ reduziert würde, wäre es immer noch hässlich, wenn Sie beispielsweise eine einzelne Fußnote (in zwei Spaltenbreite) haben, der untere Teil Ihrer Seite aber einspaltig wäre.
Technisch
multicols
funktioniert es, indem Material im Umfang einer Seite gesammelt und dann in Spalten aufgeteilt wird (und im Falle eines Ausgleichs am Ende möglicherweise viele (hundert) Szenarien erneut versucht werden, um die beste Ausgleichslösung zu finden). Dies funktioniert, indem Fußnotenmaterial verwendet\vsplit
und\vsplit
in den Feldern aufbewahrt wird. Bei diesem Ansatz können Sie das Fußnotenmaterial also nicht als Teil der Spalte selbst verwenden (oder als Teil des Ausgleichs). Natürlich ist es auch möglich, einen anderen Ansatz zu verwenden, der eine Sammlung von Ausgaberoutinen umfasst, die all diese Arbeit an der vertikalen Hauptliste erledigen, anstatt sicher mit bereits gesammeltem Material in Feldern. Dies wäre jedoch um einiges komplizierter, und daher beschränken sich wirklich komplexe Ausgaberoutinen normalerweise auf die Lösung eingeschränkter Probleme.
Nun ist TeX Turing-vollständig, wie Sie in einem Kommentar erwähnt haben, aber das wird Ihnen zunächst nicht viel helfen. Es bedeutet nicht, dass es möglich ist, alles und jedes in TeX zu programmieren, und selbst wenn es möglich ist, könnten Sie am Ende alle oder die meisten Funktionen, die TeX in einem Bereich bietet, weglassen und es selbst auf ziemlich ineffiziente Weise neu programmieren, nur um die eingebauten Einschränkungen zu überwinden. Bis vor kurzem bestand das größte Hindernis darin, dass dies auch bedeuten würde, dass die Verarbeitung unglaublich langsam wäre oder an Speichergrenzen stoßen würde.
Diese Situation hat sich in den letzten Jahren stark verbessert und dies ist einer der Gründe, warum es jetzt möglich ist, ein Programmierframework (wie expl3
) zu entwickeln, das die Grundlage für die Erweiterung der Fähigkeiten von TeX innerhalb von TeX bietet. Als multicols
ursprünglich geschrieben wurde, wäre es unmöglich gewesen, sich vorzustellen, dass man einen vollwertigen Parser für reguläre Ausdrücke in TeX implementiert (nicht technisch, aber realistisch), jetzt haben wir einen in expl3
.
Unterm Strich ist das Design von TeX auf einspaltige Dokumente ausgelegt und alles, was deutlich darüber hinausgeht, ist so gut wie unmöglich oder nur in eingeschränkten Szenarien möglich.
Heutzutage kann man das besser machen und wir haben ein anderes Seitendesign-Konzept in der Schublade, das das bietet, was Sie suchen. Der Haken ist, dass es noch nicht fertig ist. Sein Prototyp stammt bereits aus dem Jahr 2000, aber damals war es aufgrund der Geschwindigkeitsbeschränkungen, die es mit sich brachte, noch eine Utopie.
Das hat sich geändert, sodass es jetzt so etwas wie expl3
eine Plattform gibt, die wirklich verwendet werden kann (und wird), und wir sind derzeit dabei, den Code und die Ideen vom Ende des letzten Jahrhunderts zu überarbeiten. Das klingt jetzt furchtbar alt, nicht wahr? Aber Tatsache ist, dass LaTeX derzeit multicol
immer noch als „die“ Lösung verfügbar ist, also ... dafür gibt es einen Grund.