Ich möchte die Standard-Float-Optionen für meine Abbildungen ändern, sodass ich nur eine Option anpassen muss, um das Verhalten aller Abbildungen im Dokument zu ändern. Auf meinem vorherigen Computer (Ubuntu 14.04) habe ich ungefähr Folgendes gemacht:
\documentclass{article}
\newcommand{\defaultplacement}{htb}
\begin{document}
\begin{figure}[\defaultplacement]
\caption{Example}
\end{figure}
\end{document}
Ich versuche jetzt, auf Ubuntu 16.04 zu erstellen und erhalte die folgende Fehlermeldung:
./figures/ch1/coordinate_system.tex:1: LaTeX Error: Unknown float option `\'.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.1 \begin{figure}[\defaultplacement]
Es scheint, dass LaTeX zuvor vor der Verarbeitung seinen Wert ersetzt hat \defaultplacement
, jetzt aber das Makro an Ort und Stelle verarbeitet. Ich vermute, dass meine ursprüngliche Lösung ein bisschen ein Hack war und dass es eine bessere Möglichkeit gibt, die Standardplatzierung figure
(und table
?) zurückzusetzen, die ich einfach nicht finden konnte.
Antwort1
LaTeX verwendet den Inhalt des Makros \fps@<float>
als Standardparameter für den Float-Typ <float>
. Er kann neu definiert werden, z. B. für figure
:
\makeatletter
\renewcommand*{\fps@figure}{htb}
\makeatother
Dann gelten die Optionen des Makros, wenn der Float ohne das optionale Argument verwendet wird:
\begin{figure}
...
\end{figure}
Antwort2
Heiko hat die korrekte Erklärung bereits gezeigt, aber um zu antworten
Es scheint, dass LaTeX es zuvor vor der Verarbeitung durch seinen Wert ersetzt hat
\defaultplacement
, jetzt aber das Makro an Ort und Stelle verarbeitet.
Nein. Bisher wurden unbekannte Zeichen stillschweigend ignoriert.
[\defaultplacement]
war dasselbe wie
[\ d e f a u l
t p
l a c e m e n t]
was, nach dem Ignorieren unbekannter und doppelter Optionen, dasselbe war wie
[tp]
Sind Sie übrigens sicher, dass Sie einen Standardwert möchten htb
?
Durch das Nichtzulassen von p
(Float-Seiten) wird die Wahrscheinlichkeit, dass alle Floats an das Ende des Dokuments verschoben werden, erheblich erhöht.