我想知道当表格单元格中没有任何内容时,如何将表格默认的空白单元格空间更改为其他内容。
例如:
\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
诡计。