我想知道是否可以让 LaTeX 表解释&&
为&0&
。因此空白不是文字 NA 或任何对应的内容。代码
\documentclass{article}
\begin{document}
\begin{table}
\begin{tabular}{| l | l | l |}
AHB && \\ \hline
\end{tabular}
\end{table}
\end{document}
我将表格行更改为
AHB 1 && 1 \\ \hline
我希望它被解释
AHB 1 &0& 1 \\ \hline
答案1
\documentclass{article}
\usepackage{collcell}
\newcommand{\emptytozero}[1]{% https://tex.stackexchange.com/q/53068/5764
\if\relax\detokenize{#1}\relax
0%
\else
#1%
\fi
}
\begin{document}
\begin{tabular}{ c | >{\collectcell\emptytozero}c<{\endcollectcell} }
& \\
& 1 \\
1 & \\
1 & 1
\end{tabular}
\end{document}
如果需要检查多个列,可以定义一个新的列类型(collcell
负载array
.) \newcolumntype
:
\newcolumntype{C}{ >{\collectcell\emptytozero}c<{\endcollectcell} }
答案2
这是一个非常简单的版本,用零填充空白表格单元格。检查由一种新的列格式执行,z
该格式应用于所有必须用零填充的列(如有必要)。
\documentclass{article}
\usepackage{array}
\newcolumntype{z}{>{\zeroIfEmpty}l<{\endzero}}
\def\zeroIfEmpty#1\endzero{\setbox0=\hbox{#1}\ifdim\wd0=0pt 0\else#1\fi}
\begin{document}
\begin{tabular}{| z | z | z | l }
& & &\\
& & 1 &\\
& 1 & &\\
1 & & &\\
1 & 1 & 1 &\\
\end{tabular}
\end{document}
请注意,这是一个非常简单的检查,在几种更复杂的情况下可能会中断,例如,如果在表格的最后一列中使用它会中断(可以通过示例中所示的额外空列来修复)。所以最好根本不使用它。;-)