Evite repetir [hbt] y \centering para cada tabla

Evite repetir [hbt] y \centering para cada tabla

En un documento que estoy escribiendo, estoy usando el familiar[hbt]opción para mis mesas flotantes, y yocentroa ellos. Me gustaría evitar repetir eso cada vez que creo una tabla. Supongo que es fácil agregar algo en mi preámbulo que garantice que estas dos opciones se utilicen cada vez que comienzo un nuevo tableentorno.

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

Respuesta1

La ubicación predeterminada de la figura se puede configurar con

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

(Casi siempre es una mala idea no incluirlo pen el valor predeterminado)

Para centrar puedes agregarlo a\@floatboxreset

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

Respuesta2

Elfloatpaqueteproporciona una interfaz para especificar la ubicación del flotador para un flotador específico usando

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

El \floatplacementcomando restablece el especificador de ubicación predeterminado de una clase de flotadores. Entonces, uno podría usar

\floatplacement{table}{hbt}

para lograr lo que buscas.

Respuesta3

Intentar

\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}

Respuesta4

Combinando Wernerrespuestaaquí con pasos cerradosrespuestaa¿Cómo puedo centrar automáticamente una imagen?, podemos hacerlo así:

\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}

información relacionada