![Evite repetir [hbt] y \centering para cada tabla](https://rvso.com/image/287060/Evite%20repetir%20%5Bhbt%5D%20y%20%5Ccentering%20para%20cada%20tabla.png)
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 table
entorno.
\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 p
en el valor predeterminado)
Para centrar puedes agregarlo a\@floatboxreset
\makeatletter
\def \@floatboxreset {%
\reset@font
\normalsize
\@setminipage
\centering%<<<<<<<<<<<<<<<<<<<
}
\makeatletter
Respuesta2
Elfloat
paqueteproporciona una interfaz para especificar la ubicación del flotador para un flotador específico usando
\floatplacement{<type>}{<spec>}
El \floatplacement
comando 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}