将 htbp 添加到所有浮动环​​境

将 htbp 添加到所有浮动环​​境

简而言之:如何将可选参数添加[htbp]到所有浮动环​​境?

理想情况下,我不想定义自定义的新环境,而是“使用 hack”添加这些选项,例如\g@addto@macro\@floatboxreset{...},可能在序言中或自定义包中(带有\makeatletter\makeatother)。

梅威瑟:

% Instead of this
\documentclass{article}
\usepackage{mwe}

\begin{document}

\begin{figure}[htbp]
    \centering
    \includegraphics[width=\textwidth]{example-image}
    \caption{A dummy image.}
\end{figure}

\end{document}
% Have this
\documentclass{article}
\usepackage{mwe}

\makeatletter
% !!Some command that adds `[htbp]`
% to all float environments
\makeatother

\begin{document}

% Note that `[htbp]` is missing, since it is
% automatically implied.
\begin{figure}
    \centering
    \includegraphics[width=\textwidth]{example-image}
    \caption{A dummy image.}
\end{figure}

\end{document}

答案1

文档类应该定义(可能从另一个已加载的类继承)

\fps@figure
\fps@table

包含默认位置说明符。

您可以在之前添加\begin{document}

\makeatletter
\renewcommand{\fps@figure}{htbp}
\renewcommand{\fps@table}{htbp}
\makeatother

输入完这些内容后

\begin{figure}

相当于输入

\begin{figure}[htbp]

(与 相同table)。你仍然可以通过以下方式覆盖默认值:

\begin{figure}[!hp]

或您需要的任何特定选择。

相关内容