如何在表格中畫一條邊線

如何在表格中畫一條邊線
\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列類型在 package.json 中定義siunitx。其選項和使用的詳細資訊請參閱包文檔的(子)部分5.14 表格材料,第 44 頁。

  • 序言中tabular定義了其類型的列數:

    • c列類型居中儲存格內容(文字長則寬)
    • X列類型存在於tabularx表環境中。它的寬度是按包裝計算的,裡面的內容設定為段落,即自動換行
    • 垂直條|定義表格中的垂直線。它存在於所有細胞中不是\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}is 選項1(在我們的例子中是列數。未使用 is 選項,列數是1m是強制參數,在我們的例子中是多列單元格中的文字。
  • 其用途範例如下:
    • \mcc{text}被定義為相當於代碼\multicolumn{1}{c|}{text}(請參閱原始答案中的序言)
    • \mcc[r]{text over three columns}相當於 \multicolumn{3}{c|}{三列文字}`

相關內容