下列的這個帖子,我還有另一張乳膠表:
\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}
我的努力有很多問題。
- 為什麼-2*出現在第一列?
- 我試圖擺脫垂直和水平線,但我需要在中間保留一個大膽的黑色分隔線。所以,我不知道要刪除哪些行。
- 公式的線條變得模糊,所以我應該刪除線條。我試圖在每個盒子周圍留出額外的間隙。有沒有更好的辦法?我的方法似乎不適用於頂部的第一行。
- 「英文文本」沒有出現在第二行中,因為它應該出現在中間有空格。我嘗試的是將表中的所有內容寫為數學公式,但這會產生錯誤。有人可以解決這個問題嗎?
- 在第二行中,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}
因為
\multirow{-2}{*}{}
.您的程式碼無法編譯,因為您沒有該套件multirow
。刪除所有
|
.你的選擇
因為是數學模式,所以需要手動加入空格,使用
\,
您尚未定義在腳本模式下產生字母的命令。