我有下表:
\begin{tabular}{|p{3cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|}
\hline
\centerline {image}
& \multicolumn{2}{c|}{ABC} & \multicolumn{2}{c|}{DEF} \\
\hline
& \centering A&\centering B&\centering C&\centering D
\\
\hline
\centerline 1&&&& \\
\hline
\centerline 1&&&& \\
\hline
\centerline 1&&&& \\
\hline
\centerline 1&&&& \\
\hline
\end{tabular}
当我尝试居中时D
,表格形状出现问题。这是为什么?我该如何正确居中?
谢谢。
答案1
不要\centerline
在 LaTeX 文档中使用 PlainTeX 宏。
如果每一列的内容都应该居中排版,那么最好定义能够自动居中的列类型,而无需用户输入大量\centering
指令。下面的示例实现了这个想法。
顺便说一句,该array
软件包的用户指南解释了为什么普通指令不一定总是在表格的最后一列中正确运行的原因\centering
。该软件包还提出了一种解决方法,即提供指令\arraybackslash
。
\documentclass{article}
\usepackage{array}
\newcolumntype{U}{>{\centering\arraybackslash}p{3cm}}
\newcolumntype{V}{>{\centering\arraybackslash}p{1.5cm}}
\begin{document}
\begin{tabular}{|U|V|V|V|V|}
\hline
image & \multicolumn{2}{c|}{ABC} & \multicolumn{2}{c|}{DEF} \\
\cline{2-5}
& A& B& C& D \\
\hline
1&&&& \\
\hline
1&&&& \\
\hline
1&&&& \\
\hline
1&&&& \\
\hline
\end{tabular}
\end{document}
答案2
使用array
包可以让你简化标记,你可以这样做
\begin{tabular}{|p{3cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|}
\hline
\centering {image}
& \multicolumn{2}{c|}{ABC} & \multicolumn{2}{c|}{DEF} \tabularnewline
\hline
& \centering A&\centering B&\centering C&\centering D
\tabularnewline
\hline
\centering 1&&&& \tabularnewline
\hline
\centering 1&&&& \tabularnewline
\hline
\centering 1&&&& \tabularnewline
\hline
\centering 1&&&& \tabularnewline
\hline
\end{tabular}
\tabularnewline
并且\\
在表格中通常意味着相同的事情,但是\tabularnewline
即使\centering
重新定义也会存在\\
(并且它是出于这个原因而被添加的)。
答案3
如果你正在使用\multicolumn
,为什么不用它来居中呢?而且没有\centerline
's!它们的意思是居中线,所以在表格中使用它们很奇怪。
不含附加软件包的版本:
\documentclass{article}
\begin{document}
\begin{tabular}{|p{3cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|}
\hline
%\centerline {image}
\centering image
& \multicolumn{2}{c|}{ABC} & \multicolumn{2}{c|}{DEF} \\
\hline
& \centering A&\centering B&\centering C& \multicolumn{1}{c|}{ D} \\
\hline
%\centerline 1&&&& \\
\centering 1&&&& \\
\hline
%\centerline 1&&&& \\
\centering 1&&&& \\
\hline
%\centerline 1&&&& \\
\centering 1&&&& \\
\hline
%\centerline 1&&&& \\
\centering 1&&& &\\
\hline
\end{tabular}
\end{document}