図のデフォルトのフロート オプションを変更して、ドキュメント内のすべての図の動作を変更するために 1 つのオプションを調整するだけで済むようにしたいと思います。以前のコンピューター (Ubuntu 14.04) では、次のようなことをしていました。
\documentclass{article}
\newcommand{\defaultplacement}{htb}
\begin{document}
\begin{figure}[\defaultplacement]
\caption{Example}
\end{figure}
\end{document}
現在、Ubuntu 16.04 でビルドしようとしているのですが、次のエラーが発生します。
./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]
以前は、LaTeX は処理前にその値に置き換えていたようです\defaultplacement
が、現在はマクロをその場で処理しています。私の推測では、最初の解決策はちょっとしたハックで、デフォルトfigure
(およびtable
?) の配置をリセットするもっと良い方法があるのですが、それを見つけることができませんでした。
答え1
LaTeX は、マクロの内容を\fps@<float>
float 型のデフォルト パラメータとして使用します<float>
。これは、たとえば次のように再定義できますfigure
。
\makeatletter
\renewcommand*{\fps@figure}{htb}
\makeatother
次に、オプションの引数なしで float が使用される場合、マクロのオプションが適用されます。
\begin{figure}
...
\end{figure}
答え2
ハイコはすでに正しい宣言を示していますが、答えるために
以前は、LaTeX は処理前にその値に置き換えていたようです
\defaultplacement
が、現在はマクロをその場で処理しているようです。
いいえ。以前は不明な文字は黙って無視されていたので、
[\defaultplacement]
同じでした
[\ d e f a u l
t p
l a c e m e n t]
不明なオプションと重複するオプションを無視すると、次のようになります。
[tp]
ちなみに、 をデフォルトにしますかhtb
?
(フロート ページ)を許可しないとp
、すべてのフロートがドキュメントの末尾に配置される可能性が大幅に高まります。