表格环境中的手动列间距和居中

表格环境中的手动列间距和居中

如何在表格环境中调整列间距并使内容居中?

我使用的代码是这样的:

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

编辑一:

此外,当我尝试在代码中创建第二个表格时,这两个表格的宽度相同,但第二个表格却更大,尽管我给出的宽度相同。为什么会这样?

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

应用居中并重新定义\\以结束表格行,在该列中的每个条目中。

在此处输入图片描述

在第一个表格中,我将单个条目居中;4在第二个表格中,我将中间一列中的所有条目居中。两个表格都是 10 厘米宽。

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

相关内容