Избегайте повторения [hbt] и \centering для каждой таблицы.

Избегайте повторения [hbt] и \centering для каждой таблицы.

В документе, который я пишу, я использую знакомый[hbt]вариант для моих плавающих столов, и яцентрих. Я бы хотел избежать повторения этого каждый раз, когда создаю таблицу. Я предполагаю, что легко добавить что-то в мою преамбулу, что гарантирует, что эти два параметра будут использоваться каждый раз, когда я начинаю новую tableсреду?

\documentclass{article}
\begin{document}
\begin{table}[hbt]
\centering
\begin{tabular}{*3{l}}
1 & 2 & 3\\
a & b & c\\
\end{tabular}
\end{table}
\end{document}

решение1

размещение фигур по умолчанию можно задать с помощью

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

(Почти всегда плохая идея не включать pв список по умолчанию)

Для центрирования вы можете добавить его в\@floatboxreset

\makeatletter
\def \@floatboxreset {%
        \reset@font
        \normalsize
        \@setminipage
\centering%<<<<<<<<<<<<<<<<<<<
}
\makeatletter

решение2

Thefloatупаковкапредоставляет интерфейс для указания размещения поплавка для конкретного поплавка с помощью

\floatplacement{<type>}{<spec>}

Команда \floatplacementсбрасывает спецификатор размещения по умолчанию для класса float. Таким образом, можно использовать

\floatplacement{table}{hbt}

чтобы достичь того, к чему вы стремитесь.

решение3

Пытаться

\documentclass{article}

\newenvironment{mytable}
{\begin{table}[hbt]
  \centering}
{\end{table}}

\begin{document}

\begin{mytable}
\begin{tabular}{*3{l}}
1 & 2 & 3\\
a & b & c\\
\end{tabular}
\end{mytable}
\end{document}

\end{document}

решение4

Объединяя Вернераотвечатьздесь с локстепомотвечатькКак автоматически центрировать изображение?, мы можем сделать это так:

\documentclass{article}
\usepackage{floatrow} % this automatically centers all floats
    \floatplacement{table}{hbtp} % all tables are given the [hbtp] option
\begin{document}
\begin{table}
\begin{tabular}{*3{l}}
1 & 2 & 3\\
a & b & c\\
\end{tabular}
\end{table}
\end{document}

Связанный контент