Como ter espaços em branco de tabelas como zeros?

Como ter espaços em branco de tabelas como zeros?

Gostaria de saber se é possível deixar o LaTeX Table interpretar &&como &0&. Portanto, o espaço em branco não é o NA literal ou qualquer correspondente aqui. Código

\documentclass{article}

\begin{document}

\begin{table}
\begin{tabular}{| l | l | l |}
AHB        && \\ \hline
\end{tabular}
\end{table}

\end{document}

Eu mudo a linha da tabela para

AHB       1 && 1 \\ \hline

Eu gostaria que fosse interpretado

AHB       1 &0& 1 \\ \hline

Responder1

Você podecoletar o conteúdo da célulaeteste se está em branco:

insira a descrição da imagem aqui

\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}

Se várias colunas forem examinadas, pode-se definir um novo tipo de coluna (collcellcargasarray.) \newcolumntype:

\newcolumntype{C}{ >{\collectcell\emptytozero}c<{\endcollectcell} }

Responder2

Aqui está uma versão muito simples que preenche células tabulares em branco com zero. A verificação é realizada por um novo formato de coluna zque deve ser utilizado para todas as colunas que devem ser preenchidas com zeros, se necessário.

\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}

insira a descrição da imagem aqui

Observe que esta é uma verificação muito simples que provavelmente falhará em diversas situações mais complicadas, por exemplo, ela quebra se for usada na última coluna de uma tabela (que pode ser corrigida por uma coluna vazia extra, como mostrado no exemplo). Portanto, provavelmente é melhor não usá-lo. ;-)

informação relacionada