Wie kann man die Tische näher zusammenbringen?

Wie kann man die Tische näher zusammenbringen?

Ich finde es ein bisschen schwierig, die Tabellen dort zu halten, wo ich sie haben wollte. Ich kann anscheinend auch kein MWE erstellen. Aber das Dokument ist hochgeladenHier.

Im Grunde genommen sagen die

Der Text (~\ref{}) steht auf Seite 70 und die eigentliche Tabelle auf Seite 84.

der Text (~\ref{}) steht auf Seite 71 und die eigentliche Tabelle auf 85;

Der Text (~\ref{}) steht auf Seite 72 und die eigentliche Tabelle auf Seite 86.

Wo

\begin{table}[!hp]

wurde am Anfang aller Tabellen verwendet.

In allen Fällen steht der Text in \subsection{}s. Die Tabellen scheinen an das Ende des gesamten Abschnitts verschoben worden zu sein.

Ich hoffe, dass die Tabellen nah am Text sind, wenn nicht sogar am nextText selbst. Aber einfach !hpfunktioniert das überhaupt nicht.

Antwort1

Es gibt allgemeine Ratschläge (hauptsächlich in Wills Antwort) ineine frühere Frage

Sie haben jedoch (aus irgendeinem Grund) die spezielle Anforderung, Textseiten-Floats zu vermeiden und nur h und p zuzulassen.

Das erschwert die Positionierung. Wenn ein Float nicht „hier“ hinpasst (und das ist normalerweise der Fall, da dieser Punkt zu weit unten auf der Seite liegt, um in einen Float zu passen), dann hält LaTeX ihn zurück, um eine Float-Seite zu erstellen. Um sehr leere Seiten zu vermeiden, wartet es, bis es mindestens \floatpagefractioneine Seite hat (dieser Bruchteil wird nicht ignoriert, wenn Sie verwenden !). Standardmäßig articleist dies 0,5, also muss mindestens die Hälfte der Seite ausgefüllt sein.

Das bedeutet, dass, wenn Sie zwei Abbildungen haben, von denen die erste knapp eine halbe Seite hoch ist, sie in etwa der Hälfte der Fälle nicht „hier“ passen, da dieser Punkt in der unteren Hälfte der Seite liegt. Der erste Float kann keine Float-Seite bilden, da die Seite zu kurz wäre, aber die beiden Abbildungen passen nicht auf eine Float-Seite, wenn die zweite größer ist, oder selbst wenn sie kleiner ist, aber kein Platz für zwei Abbildungen und die \floatsepLücke dazwischen ist. Das bedeutet, dass eine Einstellung von [hp]sehr leicht Floats erzeugt, die nicht platziert werden können, und da alle Abbildungen in der Reihenfolge gehalten werden, sind alle nicht mehr platzierbar, wenn eine nicht platziert werden kann. Sie werden dann zurückgehalten, bis sie \clearpageam Ende des Dokuments oder Abschnitts mit einem abgeschlossen werden.

Bei einer Option [hp]müssen Sie den Wert also niedrig genug ansetzen \floatpagefraction, damit eine beliebige Folge von Floats platziert werden kann.

Am einfachsten ist es, den Wert sehr niedrig einzustellen, beispielsweise auf 0,01. Dann sollte kein Float mehr als eine Seite floaten; es wird immer sofort ausgeliefert. Da Floats jedoch nicht zurückgehalten werden, haben die Float-Seiten nur einen Float pro Seite, da Latex nicht wartet, um zu sehen, ob der nächste passt.

Antwort2

Es gibt mehrere Möglichkeiten, schwebende Objekte näher an ihrer Position zu halten.

Sehen Sie sich diese großartige Antwort auf die Frage an, wie Float-Objekte funktionieren:

https://tex.stackexchange.com/a/39020/59716

Mit der optionalen Platzierungsanweisung [!hp]gewinnen Sie nicht viel. Sie nehmen LaTeX einige Möglichkeiten zur Platzierung der Float-Objekte, nämlich bund t, und fügen !und hinzu h.

Wenn Sie keine Option angeben, ist die Standardplatzierung . btpSie können diese Vorgabe mit dem Float-Paket ändern:

\usepackage{float} \floatplacement{table}{htbp}

um es als Standard hinzuzufügen h.

Ein weiteres hilfreiches Paket ist placeins, das den Befehl bietet \FloatBarrier, der erzwingt, dass alle aktuellen Floats davor platziert werden.

Wenn Sie es so laden:

\usepackage[section, below]{placeins}

Ein Float wird niemals auf einer Seite ausgeführt, die nicht zu seinem Abschnitt gehört.

verwandte Informationen