抑制列条目和新定义的列分隔符之间的空格

抑制列条目和新定义的列分隔符之间的空格

正如另一篇文章所解释的那样,我定义了一个列分隔符,如下所示:

\newcolumntype{"}{@{\hskip\tabcolsep\vrule width 1pt\hskip\tabcolsep}}

使用普通分隔符时,|@{}习惯于将列条目一个接一个地排列起来。现在这行不通了:有没有办法让它也能与新的分隔符一起使用?

作为最小完整工作示例,在第一个表中,文本Round与分隔符间隔开,而在第二个表中,文本位于分隔符旁边:

\documentclass[a4paper,twoside]{article}

\usepackage{epsfig}
\usepackage{subfigure}
\usepackage{calc}
\usepackage{amssymb}
\usepackage{amstext}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{multicol}
\usepackage{pslatex}
\usepackage{apalike}
\usepackage{ulem}
\usepackage{tabularx}
\makeatletter
\newcommand{\thickhline}{%
    \noalign {\ifnum 0=`}\fi \hrule height 1.2pt
    \futurelet \reserved@a \@xhline
}
\newcolumntype{"}{@{\hskip\tabcolsep\vrule width 1pt\hskip\tabcolsep}}
\makeatother

\begin{document}

\title{Title}
\maketitle
\begin{table} % Add the following just after the closing bracket on this line to specify a position for the table on the page: [h], [t], [b] or [p] - these mean: here, top, bottom and on a separate page, respectively
\centering % Centres the table on the page, comment out to left-justify
\tiny
\begin{tabular}{@{}c@{}" c@{ }|@{ }c " c@{}|@{}c  " c@{}|@{}c" c@{}|@{}c} 
%\toprule % Top horizontal line
\textbf{\footnotesize{Round}} & \multicolumn{8}{c}{\textbf{\footnotesize{Test run}}} \\ % Amalgamating several columns into one cell 
%\cline{2-9}
%\cmidrule(l){2-5} % Horizontal line spanning less than the full width of the table - you can add (r) or (l) just before the opening curly bracket to shorten the rule on the left or right side
 & \multicolumn{2}{c"}{\textbf{1}} & \multicolumn{2}{c"}{\textbf{2}} & \multicolumn{2}{c"}{\textbf{3}} & \multicolumn{2}{c}{\textbf{4}}\\ % Column names row
%\cline{2-9}
& devices&users & devices&users & devices&users & devices&users\\
\thickhline

\textbf{1} & $440$                &    $10$    & $440 $               &   $10^2$      & $440$        &           $10^3$     & $440$           &           $ 10^4$ 

\end{tabular}
\caption{Table caption text} 
\label{tab:template} 
\end{table}


\begin{table} 
\centering 
\tiny
\begin{tabular}{@{}c@{}| c@{ }|@{ }c " c@{}|@{}c  " c@{}|@{}c" c@{}|@{}c} 

\textbf{\footnotesize{Round}} & \multicolumn{8}{c}{\textbf{\footnotesize{Test run}}} \\ % Amalgamating several columns into one cell 

 & \multicolumn{2}{c"}{\textbf{1}} & \multicolumn{2}{c"}{\textbf{2}} & \multicolumn{2}{c"}{\textbf{3}} & \multicolumn{2}{c}{\textbf{4}}\\
& devices&users & devices&users & devices&users & devices&users\\
\thickhline

\textbf{1} & $440$                &    $10$    & $440 $               &   $10^2$      & $440$        &           $10^3$     & $440$           &           $ 10^4$ 

\end{tabular}
\caption{Table caption text} 
\label{tab:template} 
\end{table}


\end{document}

答案1

使用

\newcolumntype{"}{!{\vrule width 1pt}}

不是

\newcolumntype{"}{@{\hskip\tabcolsep\vrule width 1pt\hskip\tabcolsep}}

!类似@但不会抑制自动\tabcolsep空间,因此相邻@{}会抑制它。

相关内容