在 tabular* 环境中多次使用脚注并带有所需符号

在 tabular* 环境中多次使用脚注并带有所需符号

我有下表,我仍在继续填写。我想在几个地方添加脚注。例如,对于非线性列的第 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以改善表格中数字的输入和对齐,用两个命令替换了命令以改善三列两个块之间的视觉分离。tablenotessiunitx\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}

相关内容