我有下表,我仍在继续填写。我想在几个地方添加脚注。例如,对于非线性列的第 2 行 (207.09) 和第 3 行 (300.00),我想添加相同的脚注(例如 note1),对于同一列的第 4 行 (600.00) 和第 5 行 (600.00),我想添加另一个脚注(例如 note2)。此外,我更喜欢可自定义的脚注符号,如 *、+ 等。
我尝试了几种方法,它们都很容易得到答案。一些解决方案包括 threeparttable 和 scrextend 包。我还尝试了其他方法,但它们不起作用(出现错误),可能是因为 tabular*。
\documentclass[review]{elsarticle}
\usepackage[colorlinks]{hyperref}
\usepackage{xcolor}
\usepackage{lineno}
\usepackage{amsmath,amsthm,amssymb,enumitem,nccmath}
\usepackage{graphicx,geometry,tabularx,tabulary}
\usepackage{booktabs,mathtools,multirow,relsize,subfig,mwe}
\usepackage{newtxmath}
\usepackage[ruled,vlined]{algorithm2e}
\usepackage{threeparttable}
\begin{table}
\caption{Solution statistics for computational experiments.}\label[tab]{comp_res}
{\begin{tabular*}{\textwidth}{c @{\extracolsep{\fill}} cccccccc}
\toprule
\multirow{2}{*}{$|\setI|$} & \multirow{2}{*}{$|\setK|$} & \multirow{2}{*}{Instances} & \multicolumn{3}{c}{Average Gap} & \multicolumn{3}{c}{Average Time (s)} \\ \cline{4-9}
& & & \multicolumn{1}{c}{Cut} & \multicolumn{1}{c}{User cut} & \multicolumn{1}{c}{Nonlinear} & \multicolumn{1}{c}{Cut} & \multicolumn{1}{c}{User cut} & \multicolumn{1}{c}{Nonlinear} \\
\midrule
\multirow{6}{*}{40} & 5 & 50 & $3.7\times 10^{-5}$ & $2.0\times 10^{-5}$ & $3.4\times 10^{-5}$ & 15.06 & 14.04 & 23.87 \\
& 10 & 25 & $8.8\times 10^{-5}$ & $5.9\times 10^{-5}$ & $2.5\times 10^{-2}$ & 19.10 & 26.04 & 207.09 \\
& 15 & 10 & $9.4\times 10^{-5}$ & $6.5\times 10^{-5}$ & $7.6\times 10^{-2}$ & 28.35 & 74.89 & 300.00 \\
& 20 & 5 & $1.1\times 10^{-4}$ & $2.2\times 10^{-5}$ & $11.9\times 10^{-2}$ & 112.9 & 464.6 & 600.00 \\
& 25 & 5 & $2.2\times 10^{-4}$ & $9.1\times 10^{-5}$ & $11.2\times 10^{-2}$ & 123.7 & 314.6 & 600.00 \\
\bottomrule
\end{tabular*}}
\end{table}
\end{document}
答案1
在下面的例子中,我使用了表格注释的环境,添加了\tnote
以改善表格中数字的输入和对齐,用两个命令替换了命令以改善三列两个块之间的视觉分离。tablenotes
siunitx
\cline
\cmidrule
此外,我删除了命令的可选参数\label
,因为这会导致在生成的 pdf 文件中表格上方打印“tab]{comp_res}”。我还将包放在了hyperref
序言的末尾,因为这个包(除了少数例外)应该是您加载的 lat 包。最后,我还必须替换\setK
和,\setI
因为原始示例代码中没有给出这些命令的定义。
\documentclass[review]{elsarticle}
\usepackage{xcolor}
\usepackage{lineno}
\usepackage{amsmath,amsthm,amssymb,enumitem,nccmath}
\usepackage{graphicx,geometry,tabularx,tabulary}
\usepackage{booktabs,mathtools,multirow,relsize,subfig,mwe}
\usepackage{newtxmath}
\usepackage[ruled,vlined]{algorithm2e}
\usepackage{threeparttable}
\usepackage{siunitx}
\usepackage[colorlinks]{hyperref} % Should be the last package in the preamble (with a few exceptions)
\begin{document}
\begin{table}
\begin{threeparttable}
\caption{Solution statistics for computational experiments.}\label[tabl]{compres}
\begin{tabular*}{\textwidth}{c @{\extracolsep{\fill}}
c
S[table-format=2]
S[table-format=1.1e-1]
S[table-format=1.1e-1]
S[table-format=2.1e-1]
S[table-format=3.2]
S[table-format=3.2]
S[table-format=3.2,table-space-text-post=\tnote{+}]
}
\toprule
\multirow{2}{*}{$|I|$}
& \multirow{2}{*}{$|K|$}
& {\multirow{2}{*}{Instances}}
& \multicolumn{3}{c}{Average Gap}
& \multicolumn{3}{c}{Average Time (s)} \\
\cmidrule(r){4-6} \cmidrule(l){7-9}
& &
& \multicolumn{1}{c}{Cut}
& \multicolumn{1}{c}{User cut}
& \multicolumn{1}{c}{Nonlinear}
& \multicolumn{1}{c}{Cut}
& \multicolumn{1}{c}{User cut}
& \multicolumn{1}{c}{Nonlinear} \\
\midrule
\multirow{5}{*}{40} & 5 & 50 & 3.7 E-5 & 2.0 E-5 & 3.4 E-5 & 15.06 & 14.04 & 23.87 \\
& 10 & 25 & 8.8 E-5 & 5.9 E-5 & 2.5 E-2 & 19.10 & 26.04 & 207.09\tnote{*} \\
& 15 & 10 & 9.4 E-5 & 6.5 E-5 & 7.6 E-2 & 28.35 & 74.89 & 300.00\tnote{*} \\
& 20 & 5 & 1.1 E-4 & 2.2 E-5 & 11.9 E-2 & 112.9 & 464.6 & 600.00\tnote{+} \\
& 25 & 5 & 2.2 E-4 & 9.1 E-5 & 11.2 E-2 & 123.7 & 314.6 & 600.00\tnote{+} \\
\bottomrule
\end{tabular*}
\begin{tablenotes}
\item[*] text
\item[+] other text
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}