Vermeiden Sie die Wiederholung von [hbt] und \centering für jede Tabelle

Vermeiden Sie die Wiederholung von [hbt] und \centering für jede Tabelle

In einem Dokument, das ich schreibe, verwende ich die vertraute[hbt]Option für meine schwebenden Tische, und ichCentersie. Ich möchte vermeiden, das jedes Mal wiederholen zu müssen, wenn ich eine Tabelle erstelle. Ich nehme an, es ist einfach, in meiner Präambel etwas hinzuzufügen, das sicherstellt, dass diese beiden Optionen jedes Mal verwendet werden, wenn ich eine neue tableUmgebung beginne?

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

Antwort1

Die Standardplatzierung der Figuren kann eingestellt werden mit

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

p(Es ist fast immer eine schlechte Idee, es nicht in die Standardeinstellung aufzunehmen )

Zur Zentrierung können Sie es hinzufügen zu\@floatboxreset

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

Antwort2

DerfloatPaketbietet eine Schnittstelle zum Festlegen der Float-Platzierung für einen bestimmten Float mithilfe von

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

Der \floatplacementBefehl setzt den Standardplatzierungsspezifizierer einer Klasse von Floats zurück. Man könnte also verwenden

\floatplacement{table}{hbt}

um zu erreichen, was Sie wollen.

Antwort3

Versuchen

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

Antwort4

Die Kombination von WernersAntworthier mit Lockstep'sAntwortZuWie kann ich ein Bild automatisch zentrieren?, wir können es so machen:

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

verwandte Informationen