替换表格空单元格

替换表格空单元格

我想知道当表格单元格中没有任何内容时,如何将表格默认的空白单元格空间更改为其他内容。

例如:

\begin{table}
\begin{tabular}{l l l l}
1 & 2 & 3 & 4\\
& x & x
\end{tabular}
\end{table}

结果是这样的:

1|2|3|4
 |x|x|

但我的目标是用 0 替换空白单元格。因此,如下所示:

1|2|3|4
0|x|x|0

谢谢。

- 编辑 -

梅威瑟:

\documentclass{article}

\begin{document}

\begin{table}[htbp]
\begin{tabular}{l l l l}
1 & 2 & 3 & 4 \\
& x & x
\end{tabular}
\end{table}

\end{document}

答案1

您可以使用以下collcell软件包来完成此操作:

\documentclass{article}
\usepackage{collcell}

\newcolumntype{F}[1]{>{\collectcell\fillempty}#1<{\endcollectcell}}
\newcommand{\fillempty}[1]{%
  \if\relax\detokenize{#1}\relax
    0%
  \else
    #1%
  \fi
}

\begin{document}

\begin{tabular}{ *{4}{F{l}} }
1 & 2 & 3 & 4 \\
  & x & x &   \\
\multicolumn{1}{l}{} & y & y
\end{tabular}

\end{document}

第三行显示了两个特性:第一,\multicolumn{1}{l}{}你可以覆盖填充;第二,如果你没有明确的空单元格,则填充是不是执行,因为 TeX 不会在行上添加尾随单元格。

在此处输入图片描述

\ifx\\#1\\ 代表什么?为了这个\if\relax\detokenize{#1}\relax诡计。

相关内容