如何將表格空白設為零?

如何將表格空白設為零?

我想知道是否可以讓 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}

在此輸入影像描述

請注意,這是一個非常簡單的檢查,在幾種更複雜的情況下可能會中斷,例如,如果在表格的最後一列中使用它確實會中斷(可以通過額外的空列來修復,如示例所示)。所以最好根本不要使用它。 ;-)

相關內容