数字のデフォルトのフロートオプションを変更するにはどうすればよいですか?

数字のデフォルトのフロートオプションを変更するにはどうすればよいですか?

図のデフォルトのフロート オプションを変更して、ドキュメント内のすべての図の動作を変更するために 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 lt pl a c e m e n t]

不明なオプションと重複するオプションを無視すると、次のようになります。

[tp]

ちなみに、 をデフォルトにしますかhtb?

(フロート ページ)を許可しないとp、すべてのフロートがドキュメントの末尾に配置される可能性が大幅に高まります。

関連情報