Ich habe ein LaTeX-Dokument, das einen Absatz gefolgt von 4 Tabellen gefolgt von einem zweiten Absatz enthält. Ich möchte, dass die 4 Tabellen zwischen den beiden Absätzen angezeigt werden. Nach dem, was ich gelesen habe, sollte ich nach dem Start der Tabellenumgebung die Option [h] verwenden (z \begin{table}[h]
. B. ).
Auf diese Weise werden die ersten beiden Tabellen erwartungsgemäß nach Absatz 1 angezeigt. Absatz 2 wird dann jedoch mit den letzten beiden Tabellen auf der folgenden Seite angezeigt. Wie kann ich dafür sorgen, dass die Tabellen an der richtigen Stelle angezeigt werden?
Ich habe verschiedene Dinge versucht, um die Positionierung zu korrigieren, z. B. die Verwendung, [h!]
aber dies scheint keine Auswirkung zu haben. Die Verwendung \clearpage
nach den Tabellen hat den gewünschten Effekt, dass die Tabellen vor dem zweiten Absatz angezeigt werden, aber dann bleiben die letzten beiden Tabellen auf ihrer eigenen Seite mit viel Leerraum, wenn ich es vorziehen würde, wenn der zweite Absatz unmittelbar nach dem beginnt Tabellen.
Paragraph 1...
\begin{table}[h]
table1...
\end{table}
\begin{table}[h]
table2...
\end{table}[h]
...
Paragraph 2...
[h!]
ist die richtige Version. Es ist das Äquivalent zu[H]
. Beide benötigen dasfloat
Paket.Antworten:
Nachdem ich noch ein bisschen gegoogelt hatte, stieß ich auf das Float- Paket, mit dem Sie verhindern können, dass LaTeX die Tabellen neu positioniert.
In der Präambel:
Dann können Sie für jede Tabelle die
H
Platzierungsoption (z. B.\begin{table}[H]
) verwenden, um sicherzustellen, dass sie nicht neu positioniert wird.quelle
H
ist äquivalent zuh!
(für weitere Informationen über Parameter überprüfen Sie meine Antwort hier )#+LATEX_HEADER: \usepackage{float} #+LATEX_HEADER: \restylefloat{table}
Und#+CAPTION: A table #+NAME: tab:table-label #+ATTR_LATEX: :placement [H] :center t <<actual table content>>
entschuldigen Sie dann die schlechte Formatierung der Zeilenumbrüche in den Kommentaren.Das hat bei mir funktioniert:
Zu Beginn der
usepackage
Definitionen gehören:Und vorher und nachher hinzufügen:
Dadurch wird die Tabelle genau dort platziert, wo Sie sie im Text haben möchten.
quelle
Tischpositionierung
Verfügbare Parameter
Eine Tabelle kann einfach mit den folgenden Parametern platziert werden:
h
Platzieren Sie den Float hier , dh ungefähr an der Stelle, an der er im Quelltext auftritt (jedoch nicht genau an der Stelle).t
Positionieren Sie oben auf der Seite.b
Position am unteren Rand der Seite.p
Legen Sie eine spezielle Seite nur für Floats an.!
Interne Parameter überschreiben LaTeX verwendet zur Bestimmung "guter" Float-Positionen.H
Platziert den Float genau an der Stelle im LATEX-Code. Benötigt das Float-Paket. Dies ist etwas äquivalent zuh!
.Wenn Sie
H
(oderh!
) für eine genaue Positionierung verwenden möchten , stellen Sie sicher, dass Sie dasfloat
Paket in der Präambel richtig eingerichtet haben:Beispiel
Wenn Sie die Tabelle auf derselben Seite platzieren möchten, entweder genau an der richtigen Stelle oder zumindest oben auf der Seite (was für die Latex-Engine am besten geeignet ist), verwenden Sie die Parameter
h
und folgendermaßent
:Quellen: Overleaf.com
quelle
Was passiert, wenn der Text plus Tabellen plus Text nicht auf eine einzelne Seite passt? Wenn Sie versuchen, den Satz auf diese Weise zu erzwingen, werden Sie höchstwahrscheinlich Seiten erhalten, die zu kurz sind. Das heißt, da eine Tabelle standardmäßig nicht über eine Seite hinwegbrechen kann, wird sie zur nächsten verschoben und hinterlässt zuvor eine Lücke auf der Seite. Sie werden feststellen, dass Sie dies in einem veröffentlichten Buch nie sehen.
Das schwebende Verhalten ist eine gute Sache! Ich empfehle,
[htbp]
als Standardeinstellung für alle Tabellen und Abbildungen zu verwenden, bis Ihr Dokument vollständig ist. Nur dann sollten Sie über eine Feinabstimmung ihrer genauen Platzierung nachdenken.PS Lesen Sie die FAQ ; Die meisten anderen Antworten hier sind teilweise Kombinationen von Ratschlägen, die dort gegeben werden.
quelle
[htbp]
und gar nichts?[ht]
eher als[htbp]
Hier ist eine einfache Lösung von Wikibooks :
Ich habe gerade
\FloatBarrier
vor und nach jedem Tisch gesetzt.quelle
Wenn Sie zwei Tabellen nebeneinander haben möchten, können Sie Folgendes verwenden: (mit
float
geladenem Paket)Jeder hat eine eigene Beschriftung und Nummer. Eine weitere Option ist das
subfigure
Paket.quelle
Sie können dies zu Ihrer Präambel hinzufügen und die Werte nach Bedarf anpassen:
Insbesondere kann die \ floatpagefraction von Interesse sein.
quelle