我在表格中输入的条目存在对齐问题。我使用inform3
class,输出如下
这里有两件重要的事情:i)当我使用.
在任何条目中使用时,它会弄乱整个表格,如下所示这里。ii) 当我使用数学模式时,它会改变数字。例如,如果我使用$67.1$
,它会出于某种原因显示 80。
\begin{sidewaystable}
\vspace*{20\baselineskip}
\setcellgapes{0pt}
\makegapedcells
\setlength\tabcolsep{2pt}
\sisetup{group-four-digits}
\centering
\caption{My Table}
\small
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}} l
*{2}{S[table-format=5.0]}
*{16}{S[table-format=6.0]} }
\toprule[\heavyrulewidth]
& & \multicolumn{4}{l}{{[}1{]}} & \multicolumn{4}{l}{{[}2{]}} & \multicolumn{4}{l}{{[}3{]}} & \multicolumn{4}{l}{{[}4{]}} \\
\cmidrule[\heavyrulewidth](lr){3-6} \cmidrule[\heavyrulewidth](lr){7-10} \cmidrule[\heavyrulewidth](lr){11-14} \cmidrule[\heavyrulewidth]{15-18} % <--- changed
$\mathbf{|V|}$ & $\mathbf{|m|}$ & \textbf{Status} & \textbf{\begin{tabular}[c]{@{}l@{}}Time\\ (sec)\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}Gap\\ ($\%$)\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}BB\\ Nodes\end{tabular}} & \textbf{Status} & \textbf{\begin{tabular}[c]{@{}l@{}}Time\\ (sec)\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}Gap\\ ($\%$)\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}BB\\ Nodes\end{tabular}} & \textbf{Status} & \textbf{\begin{tabular}[c]{@{}l@{}}Time\\ (sec)\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}Gap\\ ($\%$)\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}BB\\ Nodes\end{tabular}} & \textbf{Status} & \textbf{\begin{tabular}[c]{@{}l@{}}Time\\ (sec)\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}Gap\\ ($\%$)\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}BB\\ Nodes\end{tabular}} \\
\midrule
500 & 10 & {status1} & 67.1 & 0.00 & 9639 & {status1} & 25.3 & 0.00 & 2301 & {status2} & 66.9 & 0.00 & 1335 & {status2} & 201.3 & 0.00 & 1479 \\
\bottomrule
\end{tabular*}
\label{table1}
\end{sidewaystable}
答案1
- 请始终提供 MWE(最小工作示例,一个完整的小文档,我们可以按原样编译它并重现您的问题)。
- 从表格的一行中我们无法知道其他行中的数字是否比显示的行中的数字更大。
- 请显示有问题的表格的图像,链接可能过一会儿就会失效。
- 从提供的代码可以得出结论,表格包含(前两列之后)四组数据,其中第一列是文本,其他三列是整数和小数位数不同的数字。这应该反映在表格的列规范中(请参阅下面的 MWE)。
- 对于列标题,您可以使用
makecell
同名包中的宏。使用它,代码将变得更短更清晰。
\documentclass{article}% i still haven't inform3 document class
\usepackage{rotating}
\usepackage{booktabs, makecell}
\usepackage{siunitx}
\usepackage{mathtools} % new
\DeclarePairedDelimiter\abs{\lvert}{\rvert} % new
\usepackage{bm} % new
\begin{document}
\begin{sidewaystable}
%\vspace*{20\baselineskip}
\setlength\tabcolsep{0pt}
\sisetup{group-four-digits}
\renewcommand{\cellset}{\bfseries\linespread{0.84}\selectfont}
\renewcommand\cellalign{bc}
\centering
\caption{My Table}
\small
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}
*{2}{S[table-format=3.0]}
*{4}{l S[table-format=2.1] S[table-format=1.2] S[table-format=4.0]}
}
\toprule
& & \multicolumn{4}{c}{[1]} & \multicolumn{4}{c}{[2]}
& \multicolumn{4}{c}{[3]} & \multicolumn{4}{c}{[4]} \\
\cmidrule(l){3-6}\cmidrule(l){7-10}\cmidrule(l){11-14}\cmidrule(l){15-18}
{$\bf\abs{V}$}
& {$\bf\abs{m}$} & \makecell{Status} & {\makecell{Time\\ (sec)}}
& {\makecell{Gap\\ ($\%$)}} & {\makecell{BB\\ Nodes}} & {\makecell{Status}}
& {\makecell{Time\\ (sec)}} & {\makecell{Gap\\ ($\%$)}} & {\makecell{BB\\ Nodes}}
& {\makecell{Status}} & {\makecell{Time\\ (sec)}} & {\makecell{Gap\\ ($\%$)}}
& {\makecell{BB\\ Nodes}} & {\makecell{Status}} & {\makecell{Time\\ (sec)}}
& {\makecell{Gap\\ ($\%$)}} & {\makecell{BB\\ Nodes}} \\
\midrule
500 & 10
& status1 & 67.1 & 0.00 & 9639
& status1 & 25.3 & 0.00 & 2301
& status2 & 66.9 & 0.00 & 1335
& status2 & 201.3 & 0.00 & 1479 \\
\bottomrule
\end{tabular*}
\label{table1}
\end{sidewaystable}
\end{document}