¿Cómo tener espacios en blanco de la tabla como ceros?

¿Cómo tener espacios en blanco de la tabla como ceros?

Me gustaría saber si es posible permitir que LaTeX Table se interprete &&como &0&. Entonces el espacio en blanco no es el NA literal ni ningún correspondiente aquí. Código

\documentclass{article}

\begin{document}

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

\end{document}

Cambio la fila de la tabla a

AHB       1 && 1 \\ \hline

me gustaria que se interpretara

AHB       1 &0& 1 \\ \hline

Respuesta1

Puederecoger el contenido de la celdayprueba si está en blanco:

ingrese la descripción de la imagen aquí

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

Si se van a examinar varias columnas, se puede definir un nuevo tipo de columna (collcellcargasarray.) \newcolumntype:

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

Respuesta2

Aquí tienes una versión muy sencilla que rellena las celdas tabulares en blanco con un cero. La verificación se realiza mediante un nuevo formato de columna zque debe usarse para todas las columnas que deben completarse con ceros si es necesario.

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

ingrese la descripción de la imagen aquí

Tenga en cuenta que esta es una verificación muy simple que probablemente se rompa en varias situaciones más complicadas; por ejemplo, se rompe si se usa en la última columna de una tabla (lo cual se puede arreglar con una columna vacía adicional como se muestra en el ejemplo). Así que probablemente sea mejor no usarlo en absoluto. ;-)

información relacionada