如何减少多列标题下两列之间的空间

如何减少多列标题下两列之间的空间

我想让最后一列的数字和百分比在每一行中都与右侧对齐。将它们分成两列是对我来说有效的解决方案,因为数字和百分比的长度不固定。

我有一个非常大的其他表(这只是一个小样本),所以请尝试用我使用的方式(多列来分隔数字和百分比)解决我的问题,而不要提出全新的解决方案,因为这种方式在许多大表中都有使用。

问题:在我实现想要的正确对齐的方法中,数字和其百分比之间的空间很大。

我想减少这个空间(见下图中的红色矩形)。

在此处输入图片描述

ACM会议模板中的脚本(2列模板):

\documentclass[sigconf]{acmart}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{booktabs}
\usepackage{array, makecell} 
\usepackage[font={small}]{caption} 
\usepackage{multicol} 
\usepackage{multirow} 
\usepackage{adjustbox} 
\usepackage{paralist}
\usepackage{mathptmx} 
\usepackage[compact]{titlesec}
\usepackage{sistyle} 
\SIthousandsep{,} 
\pagestyle{plain}

\begin{document}

\title{Title}

\begin{abstract}
Abstract
\end{abstract}

\maketitle
\section{Sample}

\begin{table}[!tp]
    \centering
    \caption{Results}
    \label{tab:results} 
    \begin{adjustbox}{max width=\columnwidth}
        \begin{tabular}{llllrr}
            \toprule
            \thead{Col 1}& \thead{Col 2} & \thead{Col3} &\thead{Col 4} & \multicolumn{2}{r}{\thead{Col 5}} \\
            \midrule
            \multirow{4}{*}{\texttt{program 1}}&
            \multirow{2}{*}{\texttt{dataset 1}} & \multirow{2}{*}{\num{\#\#\#\#\#\#}} 
            & type 1 & \num{\#\#\#\#\#}&(\#\#.\#\%)\\
            \cline{4-6}
            & & & type 2  & \num{\#\#\#\#} & (\#\#.\#\#\%)\\ 
            \cline{2-6}

            & \multirow{2}{*}{\texttt{dataset 2}} & \multirow{2}{*}{\num{\#\#\#\#}}    
            & type 1 & \num{\#\#\#\#}&(\#.\#\%)\\
            \cline{4-6}
            & & & type 2  & \num{\#\#\#}& (\#\#\.\#\%) \\

            \midrule
            \multirow{4}{*}{\texttt{program 2}}&
            \multirow{2}{*}{\texttt{dataset 1}} & \multirow{2}{*}{\num{\#\#\#}} 
            & type 1 & \num{\#\#\#}& (\#.\#\%)\\
            \cline{4-6}
            & & & type 2  & \num{\#\#\#}& (\#.\#\%)\\ 
            \cline{2-6}

            & \multirow{2}{*}{\texttt{dataset 2}} & \multirow{2}{*}{\num{\#\#\#}}      
            &type 1 & \num{\#\#} & (\#.\#\%)\\
            \cline{4-6}
            & & & type 2  & \num{\#\#\#\#} & (\#\#\.\#\%) \\
            \bottomrule
        \end{tabular}
    \end{adjustbox}
\end{table}

\end{document}

编辑:

请注意,我只想减少最后一列(多列)之间的列间距(所提供图中的第 5 列)。

答案1

您可以简单地@{}在表格声明中添加列以将它们之间的空间减少到 0。或者,您可以指定一个特定的非零距离@{\hspace{2pt}}(您可以放置​​任何您想要的内容而不是2pt1cm,,5em...)。

因此在您的示例中:\begin{tabular}{llllr@{\hspace{2pt}}r}

在此处输入图片描述

\documentclass[sigconf]{acmart}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{booktabs}
\usepackage{array, makecell} 
\usepackage[font={small}]{caption} 
\usepackage{multicol} 
\usepackage{multirow} 
\usepackage{adjustbox} 
\usepackage{paralist}
\usepackage{mathptmx} 
\usepackage[compact]{titlesec}
\usepackage{sistyle} 
\SIthousandsep{,} 
\pagestyle{plain}

\begin{document}

\title{Title}

\begin{abstract}
Abstract
\end{abstract}

\maketitle
\section{Sample}

\begin{table}[!tp]
    \centering
    \caption{Results}
    \label{tab:results} 
    \begin{adjustbox}{max width=\columnwidth}
        \begin{tabular}{llllr@{\hspace{2pt}}r}
            \toprule
            \thead{Col 1}& \thead{Col 2} & \thead{Col3} &\thead{Col 4} & \multicolumn{2}{r}{\thead{Col 5}} \\
            \midrule
            \multirow{4}{*}{\texttt{program 1}}&
            \multirow{2}{*}{\texttt{dataset 1}} & \multirow{2}{*}{\num{\#\#\#\#\#\#}} 
            & type 1 & \num{\#\#\#\#\#}&(\#\#.\#\%)\\
            \cline{4-6}
            & & & type 2  & \num{\#\#\#\#} & (\#\#.\#\#\%)\\ 
            \cline{2-6}

            & \multirow{2}{*}{\texttt{dataset 2}} & \multirow{2}{*}{\num{\#\#\#\#}}    
            & type 1 & \num{\#\#\#\#}&(\#.\#\%)\\
            \cline{4-6}
            & & & type 2  & \num{\#\#\#}& (\#\#\.\#\%) \\

            \midrule
            \multirow{4}{*}{\texttt{program 2}}&
            \multirow{2}{*}{\texttt{dataset 1}} & \multirow{2}{*}{\num{\#\#\#}} 
            & type 1 & \num{\#\#\#}& (\#.\#\%)\\
            \cline{4-6}
            & & & type 2  & \num{\#\#\#}& (\#.\#\%)\\ 
            \cline{2-6}

            & \multirow{2}{*}{\texttt{dataset 2}} & \multirow{2}{*}{\num{\#\#\#}}      
            &type 1 & \num{\#\#} & (\#.\#\%)\\
            \cline{4-6}
            & & & type 2  & \num{\#\#\#\#} & (\#\#\.\#\%) \\
            \bottomrule
        \end{tabular}
    \end{adjustbox}
\end{table}

\end{document}

相关内容