表形式環境での列間隔の手動設定と中央揃え

表形式環境での列間隔の手動設定と中央揃え

表形式の環境で列間隔を調整し、コンテンツを中央に配置するにはどうすればよいでしょうか?

私が使用するコードは次のとおりです:

\documentclass[12pt]{article}

\usepackage[utf8]{inputenc}

\usepackage{amsmath}
\usepackage{unicode-math}

\begin{document}

\begin{center}

\begin{tabular}{|p{8cm}|p{2cm}|}

\hline

1 & 2\\
\hline
3 & 4\\
\hline

\end{tabular}

\end{center}

\end{document}

編集I:

また、そのコードで作業しているときに、最初のテーブルの下に同じ幅の 2 番目のテーブルを作成しようとしたところ、指定した幅は同じであるにもかかわらず、2 番目のテーブルの方が大きくなってしまいました。なぜこのようなことが起こるのでしょうか?

\documentclass[12pt]{article}

\usepackage[utf8]{inputenc}

\usepackage{amsmath}
\usepackage{unicode-math}

\begin{document}

\begin{center}

\begin{tabular}{|p{8cm}|p{2cm}|}

\hline

1 & 2\\
\hline
3 & 4\\
\hline

\end{tabular}

\begin{tabular}{|p{3cm}|p{3cm}|p{4cm}|}

\hline
1 & 2 & 3\\
\hline
4 & 5 & 6\\
\hline


\end{tabular}

\end{center}

\end{document}

答え1

個々のエントリ(実際には単なる\parbox)を中央揃えにするには、

 1 &\centering 2 & 3\\

ただし、最後の列では\centering再定義する必要があるので、\\\tabularnewline

1 &\centering 2 &\centering 3\tabularnewline

通常は列全体に対してこれを行うため、arrayパッケージを使用して列仕様を指定します。

>{\centering\arraybackslash}p{3cm}

中央揃えを適用し、\\その列のすべてのエントリで表の行を終了するように再定義します。

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

最初の表では 1 つのエントリを中央に配置し4、2 番目の表ではすべてのエントリを中央の列に中央に配置します。両方の表の幅は 10 cm です。

\documentclass[12pt]{article}

\usepackage[utf8]{inputenc}

\usepackage{amsmath}
\usepackage{array,calc}

\begin{document}

\begin{center}

\begin{tabular}{|p{8cm-2\tabcolsep-2\arrayrulewidth}|
                 p{2cm-2\tabcolsep-\arrayrulewidth}|}

\hline

1111 & 2222222\\
\hline
3 & \centering\arraybackslash 4\\
\hline

\end{tabular}

\begin{tabular}{|p{3cm-2\tabcolsep-\arrayrulewidth}|
                 >{\centering\arraybackslash}p{3cm-2\tabcolsep-\arrayrulewidth}|
                 p{4cm-2\tabcolsep-2\arrayrulewidth}|}

\hline
111 & 2222 & 3333\\
\hline
4 & 5 & 6\\
\hline


\end{tabular}

\end{center}

\end{document}

関連情報