\documentclass{article}
\usepackage{tabularx}
\usepackage{multirow}
\begin{document}
\begin{table}[h!]
\setlength\extrarowheight{2pt} % for a ever so slightly more open "look"
\begin{tabularx}{\textwidth}{c X | c | c | c |}
\cline{3-5}
& & \multicolumn{3}{c|}{Paired Differences} \\
\cline{3-5}
& & Mean & Std. Deviation & Std. Error Mean \\
\hline
Pair 1 & Testing 1 and Testing 2 and Testing 3 & 4.20\% & 44.6\% & 4.54\% \\
\hline
\end{tabularx}
\caption{Testing 123}
\end{table}
\end{document}
结果:
我不知道。如果我添加\begin{tabularx}{\textwidth}{|c X | c | c | c |}
它将不起作用
答案1
像这样?
\documentclass{article}
\usepackage{multirow, tabularx}
\usepackage{xparse}
\NewExpandableDocumentCommand\mcc{O{1}m}
{\multicolumn{#1}{c|}{#2}}
\usepackage{siunitx} \begin{document}
\begin{table}[ht]
\setlength\extrarowheight{2pt} % for a ever so slightly more open "look"
\begin{tabularx}{\linewidth}{|c X | % <---
*{3}{S[table-format=2.2, % <---
table-space-text-post=\,\%]<{\,\%}|}}
\cline{3-5}
\mcc[2]{} % <---
& \mcc[3]{Paired Differences} \cr
\cline{3-5}
\mcc[2]{} % <---
& \mcc{Mean} & \mcc{Std. Deviation} & \mcc{Std. Error Mean} \cr
\hline
Pair 1 & Testing 1 and Testing 2 and Testing 3
& 4.20 & 44.6 & 4.54 \cr
\hline
\end{tabularx}
\caption{Testing 123}
\end{table}
\end{document}
附录: 上述答案的不太复杂的版本是:
\documentclass{article}
\usepackage{multirow, tabularx}
\usepackage{siunitx}
\begin{document}
\begin{table}[ht]
\setlength\extrarowheight{2pt} % for a ever so slightly more open "look"
\begin{tabularx}{\linewidth}{|c X | % <---
*{3}{S[table-format=2.2, % <---
table-space-text-post=\,\%]<{\,\%}|}}
\cline{3-5}
\multicolumn{2}{c|}{}
& \multicolumn{3}{c|}{Paired Differences} \cr
\cline{3-5}
\multicolumn{2}{c|}{}
& \multicolumn{1}{c|}{Mean}
& \multicolumn{1}{c|}{Std. Deviation}
& \multicolumn{1}{c|}{Std. Error Mean} \cr
\hline
Pair 1 & Testing 1 and Testing 2 and Testing 3
& 4.20 & 44.6 & 4.54 \cr
\hline
\end{tabularx}
\caption{Testing 123}
\end{table}
\end{document}
其中S
列类型在包中定义siunitx
。其选项和使用的详细信息请参阅包文档的(子)部分5.14 表格材料,第 44 页。简要摘要:
在
tabular
序言中定义了列数及其类型:c
列类型居中单元格内容(文本越长,宽度就越宽)X
column 类型存在于tabularx
table 环境中,其宽度由包计算,其中的内容设置为段落,即自动换行- 垂直条
|
定义表格中的垂直线。它存在于所有单元格中,不是用\multicolumn
单元格覆盖。
\multicolumn
命令将相邻单元格合并为一个单元格(或为单个单元格定义新的列类型)table-format=2.2
数字表示<integer part>.<decimal part>
。列中的数字按小数点对齐table-space-text-post=\,\%
确定数字后的水平空间的附加部分(保留用于小空间\,
和符号%
欲了解更多信息,我强烈建议您阅读一些关于表格书写的介绍性文字。例如维基百科:表格当然还有软件包文档。它们是 LaTeX 安装的一部分(在latex/doc
文件夹中),或者可以在 CTAN 档案中找到。
关于原始答案: - 包xparse
(存储在doc/generic
文件夹中,如其文档中所述:
xparse 包提供了一个用于生成文档级命令的高级接口。这样,它旨在替代 LATEX 2ε \newcommand 宏。但是,xparse 的工作方式是函数的接口(例如可选参数、星号和强制参数)与内部实现是分开的。xparse 为函数的内部形式提供了规范化的输入,与文档级参数排列无关。
因此,\NewExpandableDocumentCommand\mcc{O{1}m}{...}
定义了新的命令,可以使用更短的代码。例如:
O{1}
是选项1
(在我们的例子中是列数。未使用选项,列数是1
。m
是强制参数,在我们的例子中是多列单元格中的文本。- 其用途示例如下:
\mcc{text}
定义为等同于代码\multicolumn{1}{c|}{text}
(参见原始答案中的序言)\mcc[r]{text over three columns}
相当于 \multicolumn{3}{c|}{text over three columns}`