我想让最后一列的数字和百分比在每一行中都与右侧对齐。将它们分成两列是对我来说有效的解决方案,因为数字和百分比的长度不固定。
我有一个非常大的其他表(这只是一个小样本),所以请尝试用我使用的方式(多列来分隔数字和百分比)解决我的问题,而不要提出全新的解决方案,因为这种方式在许多大表中都有使用。
问题:在我实现想要的正确对齐的方法中,数字和其百分比之间的空间很大。
我想减少这个空间(见下图中的红色矩形)。
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}}
(您可以放置任何您想要的内容而不是2pt
:1cm
,,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}