Ich habe eine Tabelle mit kurzen und langen Überschriften. Ich verwende den Spaltentyp X
aus dem tabularx
Paket. Die Überschriften sind oben ausgerichtet, wie kann ich die Überschriften horizontal in der Mitte ausrichten?
\documentclass[12pt,a4paper]{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{array}
\begin{document}
\begin{table}[htb]
\centering
\caption{My caption}
\label{my-label}
\begin{tabularx}{\linewidth}{*2{>{\centering\arraybackslash}X}}
\toprule
\textbf{Short heading\newline(units)} &
\textbf{This is a long long, very very long heading\newline(units)}\\%
\midrule
416,09 & 194,30 \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
Antwort1
Angenommen, Sie möchten horizontal und vertikal zentrierte Einträge erzielen, können Sie die folgende Neudefinition von Typspalten verwenden . Normalerweise werden sie von Typspalten X
abgeleitet , die oben ausgerichtet sind. Mit können wir das so ändern, dass Typspalten von vertikal zentrierten Typspalten abgeleitet werden.p
\renewcommand{\tabularxcolumn}[1]{m{#1}}
x
m
\documentclass[12pt,a4paper]{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{array}
\renewcommand{\tabularxcolumn}[1]{m{#1}}
\begin{document}
\begin{table}[htb]
\centering
\caption{My caption}
\label{my-label}
\begin{tabularx}{\linewidth}{*2{>{\centering\arraybackslash}X}}
\toprule
\textbf{Short heading\newline(units)} &
\textbf{This is a long long, very very long heading\newline(units)}\\%
\midrule
416,09 & 194,30 \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
X
Wenn Sie in Ihrem Dokument häufiger horizontal und vertikal zentrierte Spalten verwenden möchten , können Sie \newcolumntype{Y}{>{\centering\arraybackslash}X}
Ihrer Präambel auch Folgendes hinzufügen und verwenden \begin{tabularx}{\linewidth}{*2{Y}}
.
Wenn Sie die ursprüngliche Definition von oben ausgerichteten Spalten beibehalten X
und einen separaten abgeleiteten und vertikal zentrierten Spaltentyp haben möchten, sollten Sie einen Blick auf werfenKopiere die Tabularx X-Spalte als neue vertikal zentrierte Spalte
Wenn Sie nur die vertikale Ausrichtung für eine einzelne Tabelle ändern möchten, können Sie die folgende lokale Neudefinition des X
Typs „Spalte“ verwenden. Hier habe ich \renewcommand{\tabularxcolumn}[1]{m{#1}}
direkt nach \begin{table}
der entsprechenden Tabelle hinzugefügt.
\documentclass[12pt,a4paper]{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{array}
\begin{document}
\begin{table}[htb]
\centering
\caption{My caption}
\label{my-label}
\begin{tabularx}{\linewidth}{*2{>{\centering\arraybackslash}X}}
\toprule
\textbf{Short heading\newline(units)} &
\textbf{This is a long long, very very long heading\newline(units)}\\%
\midrule
416,09 & 194,30 \\
\bottomrule
\end{tabularx}
\end{table}
\begin{table}[htb]
\renewcommand{\tabularxcolumn}[1]{m{#1}}
\centering
\caption{My caption}
\label{my-label}
\begin{tabularx}{\linewidth}{*2{>{\centering\arraybackslash}X}}
\toprule
\textbf{Short heading\newline(units)} &
\textbf{This is a long long, very very long heading\newline(units)}\\%
\midrule
416,09 & 194,30 \\
\bottomrule
\end{tabularx}
\end{table}
\begin{table}[htb]
\centering
\caption{My caption}
\label{my-label}
\begin{tabularx}{\linewidth}{*2{>{\centering\arraybackslash}X}}
\toprule
\textbf{Short heading\newline(units)} &
\textbf{This is a long long, very very long heading\newline(units)}\\%
\midrule
416,09 & 194,30 \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}