是否可以通过仅修改表格的序言来忽略(不排版)表格的某一列?

是否可以通过仅修改表格的序言来忽略(不排版)表格的某一列?

有没有一种方便的方法,tabular通过只修改 的序言来不排版环境中的特定列tabular?也就是说,不修改 本身的主体tabular

我的第一个想法是将@{}>{\nullfont}c@{}被忽略的列(此处为一列)周围的间距清零,c并使用空字体进行排版。我还尝试了几种不同大小的内部空间@{}

这可行,但列之间的间距与我完全省略列时不同。请参阅以下 MWE,其中我犯了垂直规则的致命错误(甚至翻倍!)清楚地显示差异:

\documentclass{article}
\usepackage{array}

\begin{document}
\begin{tabular}{c|@{}>{\nullfont}c@{\,}|c}
  a & b & c \\
  d & e & f
\end{tabular}

\begin{tabular}{c||c}
  a & c \\
  d & f
\end{tabular}
\end{document}

在此处输入图片描述

应插入什么才能使间距匹配?我尝试了标准间距命令的各种组合。

或者,有没有比我所建议的更方便的方法来做到这一点?

答案1

在此处输入图片描述

\documentclass{article}
\usepackage{array}

\begin{document}
\begin{tabular}{c||>{\nullfont}c@{}c}
  a & b & c \\
  d & e & f
\end{tabular}

\begin{tabular}{c||c}
  a & c \\
  d & f
\end{tabular}
\end{document}

尽管如果您想省略图像和数学等,您最好在宏中抓取未使用的单元格,而不是使用\nullfont

\documentclass{article}
\def\zzzforegreg#1\unskip{}
\usepackage{array}

\begin{document}


\begin{tabular}{c||>{\nullfont}c@{}c}
  a & \textbf{b} & c \\
  d & $e$ & f
\end{tabular}


\begin{tabular}{c||>{\zzzforegreg}c@{}c}
  a & \textbf{b} & c \\
  d & $e$ & f
\end{tabular}

\begin{tabular}{c||c}
  a & c \\
  d & f
\end{tabular}
\end{document}

这使得

在此处输入图片描述

相关内容