
我想知道是否可以讓 LaTeX Table 解釋&&
為&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}
請注意,這是一個非常簡單的檢查,在幾種更複雜的情況下可能會中斷,例如,如果在表格的最後一列中使用它確實會中斷(可以通過額外的空列來修復,如示例所示)。所以最好根本不要使用它。 ;-)