複雜表格結構中缺乏間距

複雜表格結構中缺乏間距

下列的這個帖子,我還有另一張乳膠表:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{mathtools}
\usepackage{tabularx}
\usepackage[math]{cellspace}
\setlength{\cellspacetoplimit}{3pt}
\setlength{\cellspacebottomlimit}{3pt}
\newcolumntype{?}{!{\vrule width 3pt}}
\usepackage{makecell}

\begin{document}

\begin{table*}[!t]
\footnotesize
\centering
\caption{Example of a table}
\label{sth}
\begin{tabular}{>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}?>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|>{$}Sc<{$}|}
\cline{2-11}
 & \multicolumn{5}{c?}{X^{tr} (\mathrm{english text})} & \multicolumn{5}{c|}{Y^{yu} (\mathrm{english text})} \\ \cline{2-11} 
\multirow{-2}{*}{} & \mathscr{A}_1 & \mathscr{A}_2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 & \mathscr{A}_1 & \mathscr{A}_2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 \\ \hline
\multicolumn{1}{|c|}{1} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\ \hline
\multicolumn{1}{|c|}{2} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\ \hline
\end{tabular}
\end{table*}

\end{document}

在此輸入影像描述

我的努力有很多問題。

  1. 為什麼-2*出現在第一列?
  2. 我試圖擺脫垂直和水平線,但我需要在中間保留一個大膽的黑色分隔線。所以,我不知道要刪除哪些行。
  3. 公式的線條變得模糊,所以我應該刪除線條。我試圖在每個盒子周圍留出額外的間隙。有沒有更好的辦法?我的方法似乎不適用於頂部的第一行。
  4. 「英文文本」沒有出現在第二行中,因為它應該出現在中間有空格。我嘗試的是將表中的所有內容寫為數學公式,但這會產生錯誤。有人可以解決這個問題嗎?
  5. 在第二行中,A 應顯示為腳本大寫字母。但這並沒有發生。

主要是我需要幫助來使該表更具可讀性並解決生成的錯誤訊息。請提出更改建議。

答案1

一些評論和觀察:

  • 由於實際上表中的所有材料都應該處於數學模式,因此請使用array環境而不是tabular環境。

  • c列類型似乎適合所有 11 個列。該cellspace包確實有其用途。然而,對於目前的桌子來說,使用它的機制似乎有點矯枉過正。

  • 若要減少表格的整體寬度,請變更 的值\arraycolsep(假設您已遵循我的建議來使用array環境)。此參數的預設值為5pt;在下面的範例中,我將其設定為2.5pt.

  • 由於\multirow{-2}{*}{}指令,出現“-2”字串。它應該達到什麼目的?沒有它,桌子就可以正常工作。

  • 你的桌子沒有問題就可以任何垂直線。真的。見下文。

  • 使用套件的畫線巨集booktabs代替\hline\cline

  • 不要使用\mathrm;使用\text{...}\textnormal{...}

  • 要使\mathscr巨集按預期運行,請載入提供數學腳本數學字母表的套件。嘗試一下這個mathrsfs包。

在此輸入影像描述

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{mathtools,array,mathrsfs,booktabs}
\usepackage[skip=0.333\baselineskip]{caption} % optional
\newcommand\msA{\mathscr{A}}
\begin{document}

\begin{table}[!t]
\setlength\arraycolsep{2.5pt} % default value: 5pt
\footnotesize
\captionsetup{font=footnotesize} % optional
\centering
\caption{Example of a table}
\label{sth}
$\begin{array}{@{}*{11}{c}@{}}
\toprule
 & \multicolumn{5}{c}{X^{tr} (\textnormal{english text})} 
 & \multicolumn{5}{c@{}}{Y^{yu} (\text{english text})} \\ 
\cmidrule(lr){2-6} \cmidrule(l){7-11}
 & \msA_1 & \msA_2 & \msA_3 & \msA_4 & \msA_5 
 & \msA_1 & \msA_2 & \msA_3 & \msA_4 & \msA_5 \\ 
\midrule
1 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 
  & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\ 
2 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 
  & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\ 
\bottomrule
\end{array}$
\end{table}

\end{document}

答案2

這是你想要的嗎?

如果是這裡的程式碼:

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{mathtools}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage[math]{cellspace}
\usepackage{unicode-math}
\setmathfont{XITS Math}
\setmathfont[version=setB,StylisticSet=1]{XITS Math}
\setlength{\cellspacetoplimit}{3pt}
\setlength{\cellspacebottomlimit}{3pt}

\usepackage{makecell}

\begin{document}
    \newcolumntype{?}{!{\vrule width 3pt}}
    \begin{table}[!t]
        \footnotesize
        \centering
        \caption{Example of a table}
        \label{sth}
        \begin{tabular}{>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}?>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}>{$}Sc<{$}}
            & \multicolumn{5}{c?}{$X^{tr} (\mathrm{english text})$} & \multicolumn{5}{c}{$Y^{yu} (\mathrm{english text})$} \\
             & \mathscr{A}_1 & \mathscr{A}_ 2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 & \mathscr{A}_1 & \mathscr{A}_2 & \mathscr{A}_3 & \mathscr{A}_4 & \mathscr{A}_5 \\
            \multicolumn{1}{c}{1} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\
            \multicolumn{1}{c}{2} & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35 & 5413.35  \\
        \end{tabular}
    \end{table}

\end{document}
  1. 因為\multirow{-2}{*}{}.您的程式碼無法編譯,因為您沒有該套件multirow

  2. 刪除所有|.

  3. 你的選擇

  4. 因為是數學模式,所以需要手動加入空格,使用\,

  5. 您尚未定義在腳本模式下產生字母的命令。

相關內容