如何在表格中画一条边线

如何在表格中画一条边线
\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列类型居中单元格内容(文本越长,宽度就越宽)
    • Xcolumn 类型存在于tabularxtable 环境中,其宽度由包计算,其中的内容设置为段落,即自动换行
    • 垂直条|定义表格中的垂直线。它存在于所有单元格中,不是\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(在我们的例子中是列数。未使用选项,列数是1m是强制参数,在我们的例子中是多列单元格中的文本。
  • 其用途示例如下:
    • \mcc{text}定义为等同于代码\multicolumn{1}{c|}{text}(参见原始答案中的序言)
    • \mcc[r]{text over three columns}相当于 \multicolumn{3}{c|}{text over three columns}`

相关内容