
表形式の環境でセルを水平および垂直に中央揃えにしようとしています。MWE は最後にあります。
私はさまざまな方向を試しました: これは想定どおりに動作しますが、や のm{4cm}
ような複雑なバリエーションまで動作します。ただし、arraybackslash パラメータが正確に何を変更するのかはわかりません。これは別の StackExchange の投稿からコピーしただけです。{\centering}m{4cm}}
{\centering\arraybackslash}m{4cm}}
縦書きのものも含め、すべてのテキストは水平および垂直に中央揃えにする必要があります。表の主要部分は、それぞれキャプション付きの画像で、画像は正方形です。セルの配置方法を教えていただければ、画像を含むセルにも機能するはずですが、どうでしょうか?
編集:コードを更新し、結果のスクリーンショットを撮りました。は、\parbox
セルを高くするためのプレースホルダーとして使用されます。1,5
中央に留まります。これは事実です。しかし、他のテキスト部分は少し上にずれているように見えます。これは、コンマがベースラインより下になっているためかもしれません (これは正しい言葉でしょうか?)? 全体の書き込みを 1 ポイントか 2 ポイント下げる方法はありますか? また、セルを少し高くする方法はありますか? 「foobar foobar」セルでは、書き込みによって上部と下部の行が削られています。また、垂直化されたテキストは中央からずれています。これを中央に配置するには、ミニページを操作する必要がありますか?
\documentclass{scrreprt}
\usepackage{array}
\usepackage{multirow}
\usepackage{rotating}
\begin{document}
\begin{table}
\centering
\begin{tabular}{|c|c|c|c|c|c|c|}
\hline
\multicolumn{2}{|c|}{} & \multicolumn{5}{c|}{foo}\\
\cline{3-7}
\multicolumn{2}{|c|}{} & 1,0 & 2,0 & 3,0 & 4,0 & 5,0\\
\hline
\multirow{5}{*}{\rotatebox{90}{bar}} & 1,0 & & & & & \\
\cline{2-7}
& 1,5 & \parbox{2cm}{foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar } & & & & \\
\cline{2-7}
& 2,0 & & & & & \\
\cline{2-7}
& 2,5 & & & & & \\
\cline{2-7}
& 3,0 & & & & & \\
\hline
\end{tabular}
\end{table}
\end{document}
答え1
次のような新しい列タイプを作成できます。
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
次に、C{<your width>}
列の定義として使用し、<your width>
必要に応じて設定します。これにより、列が垂直方向と水平方向に中央揃えされます。
また、垂直線を削除し、回転したセルを避け、 を使用することをお勧めしますbooktabs
。
\documentclass{scrreprt}
\usepackage{array}
\usepackage{multirow}
\usepackage{rotating}
\usepackage{booktabs}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
\chapter{A chapter}
Table \ref{tab:yours} is your table, but I suggest to you to redesign your
table like \ref{tab:mine}.
\begin{table}
\centering\setlength\extrarowheight{2pt}
\caption{Your table\label{tab:yours}}
\begin{tabular}{|*2{C{.5cm}|}*5{C{2cm}|}}
\hline
\multicolumn{2}{|c|}{} & \multicolumn{5}{c|}{foo}\\
\cline{3-7}
\multicolumn{2}{|c|}{} & 1,0 & 2,0 & 3,0 & 4,0 & 5,0\\
\hline
& 1,0 & & & & & \\
\cline{2-7}
\multirow{4}{*}{\rotatebox[origin=c]{90}{bar}} & 1,5 & foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar & & & & \\
\cline{2-7}
& 2,0 & & & & & \\
\cline{2-7}
& 2,5 & & & & & \\
\cline{2-7}
& 3,0 & & & & & \\
\hline
\end{tabular}
\end{table}
\begin{table}
\centering\setlength\extrarowheight{2pt}
\caption{My suggestion\label{tab:mine}}
\begin{tabular}{C{.7cm}*5{C{2cm}}}
\toprule
& \multicolumn{5}{c}{foo}\\
\cmidrule(l){2-6}
bar & 1,0 & 2,0 & 3,0 & 4,0 & 5,0\\
\midrule
1,0 & & & & & \\
\midrule
1,5 & foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar & & & & \\
\midrule
2,0 & & & & & \\
\midrule
2,5 & & & & & \\
\midrule
3,0 & & & & & \\
\toprule
\end{tabular}
\end{table}
\end{document}