In dem Beispiel ist die Abbildung schlicht entsprechend Option `h` ausgerichtet. Dass `h` in diesem Fall am Ende der Seite ist, ist reiner Zufall. Du siehst das sofort, wenn Du nach der Abbildung noch einen winzigen Absatz einfügst, beispielsweise ein simples `Ok', das dann nämlich noch unter der Abbildung eingefügt wird. Das Ausrufezeichen in den Optionen ändert in diesem Fall auch nicht wirklich etwas.
Das Ausrufezeichen sollte im übrigen nur in Ausnahmefällen verwendet werden, weil man damit alle weiteren Einschränkungen für Gleitobjekte beispielsweise bezüglich deren Häufung oder der Mindestmenge an Text, die noch auf der Seite vorhanden sein müssen ohne dass eine reine Gleitumgebungsseite erzeugt wird, abgeschaltet werden. Diese Einschränkungen sind aber durchaus berechtigt. Natürlich kann es aber sinnvoll sein, einzelne dieser Einschränkungen gezielt zu ändern. Daher will ich sie bei dieser Gelegenheit kurz aufführen:
- `\topfraction`, Voreinstellung: `0.7` – Anteil einer Seite, der am Anfang einer Seite für `t`-platzierte Gleitobjekte verwendet werden darf. Der Wert sollte immer kleiner als 1 sein. Änderbar mit `\renewcommand{\topfraction}{…}`.
- `\bottomfraction`, Voreinstellung: `0.3` – Anteil einer Seite, die am Ende der Seite für `b`-platzierte Gleitobjekte verwendet werden darf. Der Wert sollte immer kleiner als 1 sein, allerdings dürften `\topfraction`+`\bottomfraction` zusammen auch größer als 1 sein. Änderbar mit `\renewcommand{\bottomfraction}{…}`.
- `\textfraction`, Voreinstellung: `0.2` — Anteil der Seite, der neben `h`-, `t`- und `b`-platzierten Gleitobjekten min. für Text frei bleiben muss, damit überhaupt noch Text mit auf die Seite kommt und nicht eine reine Gleitobjektseite erstellt wird. Dieser Wert muss größer als 0 sein. Änderbar mit `\renewcommand{\textfraction}{…}`.
- `\floatpagefraction`, Voreinstellung: `0.5` – Eine reine Gleitobjektseite wird erst erstellt, wenn die dabei erzeugte Gleitobjektseite min. zu diesem Anteil gefüllt ist. Änderbar mit `\renewcommand{\floatpagefraction}{…}`.
- `topnumber`, Voreinstellung: 2 – Anzahl der Gleitobjekte, die auf einer Seite maximal `t`-platziert werden dürften. Änderbar mit `\setcounter{topnumber}{…}`.
- `bottomnumber`, Voreinstellung: 1 – Anzahl der Gleitobjekte, die auf einer Seite maximal `b`-platziert werden dürfen. Änderbar mit `\setcounter{bottomnumber}{…}`.
- `totalnumber`, Voreinstellung: 3 — Anzahl der Gleitobjekte, die `t`-, `h`- und `b`-platziert zusammen auf einer Seite maximal platziert werden dürfen. Änderbar mit `\setcounter{totalnumber}{…}`.
Für den zweispaltigen Satz gibt es außerdem:
- `\dbltopfraction`, Voreinstellung: `0.7` — Im zweispaltigen Satz der Anteil der Seite, die oben für über beide Spalten gesetzte Gleitobjekte verwendet werden darf. Änderbar mit `\renewcommand{\dpltopfraction}{…}`.
- `dbltopnumber`, Voreinstellung: 2 – Im zweispaltigen Satz die Anzahl an Gleitobjekte, die oben über beide Spalten gesetzt werden darf. Änderbar mit `\setcounter{dpltopnumber}'.
- `\dplfloatpagefraction`, Voreinstellung: `0.5` – Entspricht im zweispaltigen Satz dem, was im einspaltigen Satz `\floatpagefraction` ist. Änderbar mit `\renewcommand{\dplfloatpagefraction}{…}`.
Alle angegebenen Voreinstellungen sind Voreinstellungen des LaTeX-Kerns selbst. Klassen oder Pakete können ggf. andere Voreinstellungen haben.
Zusätzlich interessant könnte `\fps@Gleitumgebung` sein. In diesem Makro befindet sich die Standard-Platzierungsoption für `Gleitumgebung`. Will man also beispielsweise Abbildungen in der Regel `htbp` statt nur `tbp` (Voreinstellung der Standardklassen und der KOMA-Script-Klassen) platziert haben, dann kann man das über die Dokumentpräambel per
\makeatletter
\renewcommand\fps@figure{htbp}
\makeatother
erreichen und muss keineswegs bei jeder `figure`-Umgebung die Option `[htbp]` setzen. Die Änderung in der Präambel hat darüber hinaus den Vorteil, dass man sie auf einen Schlag ändern kann und nicht versehentlich bei der einen oder anderen Abbildung schlicht vergisst.vergisst.
Eine weitere Eingriffmöglichkeit bieten die Anweisungen `\clearpage` und `\cleardoublepage` des LaTeX-Kerns, bzw. die zusätzlichen Anweisungen `\cleardoublestandardpage`, `\cleardoubleoddpage`, `\cleardoubleevenpage`, `\cleardoubleoddstandardpage`, `\cleardoubleevenstandardpage`, `\cleardoubleemptypage`, `\cleardoubleoddemptypage`, `\cleardoubleevenemptypage`, `\cleardoubleplainpage`, `\cleardoubleoddplainpage`, `\cleardoubleevenplainpage`, `\cleardoublepageusingpagestyle`, `\cleardoubleoddpageusingpagestyle` und `\cleardoubleevenpageusingpagestyle` der KOMA-Script-Klassen. All diese Anweisungen beginnen nicht nur neue Seiten, sondern geben auch alle noch anhängigen Gleitumgebungen aus. Dazu werden ggf. sogar Gleitumgebungsseiten ausgegeben, wenn diese gegen `\floatpagefraction` bzw. `\dblfloatpagefraction` verstoßen. Mit dem Paket [`placeins`][1] kommt noch die Anweisung `\FloatBarrier` hinzu, die ebenfalls die Ausgabe aller noch anhängigen Gleitumgebungen erzwingt, allerdings keine neue Seite beginnt, falls dies nicht notwendig ist.
[1]: http://www.ctan.org/pkg/placeins