X タイプの列間の行を水平に揃えるにはどうすればよいでしょうか?

X タイプの列間の行を水平に揃えるにはどうすればよいでしょうか?

短い見出しと長い見出しがある表があります。パッケージXの列タイプを使用していますtabularx。見出しは上部に揃えられていますが、見出しを中央に水平に揃えるにはどうすればよいでしょうか。

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

ここに画像の説明を入力してください

答え1

水平および垂直に中央揃えされたエントリを実現する場合は、次のタイプ列の再定義を使用できます。通常、これらは上部揃えのタイプ列Xから派生します。 を使用して、タイプ列が垂直に中央揃えされたタイプ列から派生するように変更できます。p\renewcommand{\tabularxcolumn}[1]{m{#1}}xm

ここに画像の説明を入力してください

\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文書全体で水平および垂直に中央揃えされたタイプの列をより頻繁に使用したい場合は、\newcolumntype{Y}{>{\centering\arraybackslash}X}プリアンブルに を追加して を使用することもできます\begin{tabularx}{\linewidth}{*2{Y}}


上揃え型の列の元の定義を維持しX、別の派生型と垂直中心の列型が必要な場合は、以下を参照してください。tabularx X 列を新しい垂直中央列としてコピーします


1 つのテーブルの垂直方向の配置のみを変更したい場合は、次のタイプ列のローカル再定義を使用できます。ここでは、対応するテーブルの直後にX追加しました。\renewcommand{\tabularxcolumn}[1]{m{#1}}\begin{table}

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

関連情報