
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:
\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 (collcell
cargasarray
.) \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 z
que 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}
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. ;-)