下列的这个帖子,我在乳胶中有另一张表:
\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
。删除全部
|
。你的选择
这是因为它处于数学模式,所以你需要手动添加空格,使用
\,
您尚未定义在脚本模式下制作字母的命令。