
Я хотел бы знать, возможно ли интерпретировать 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}
Обратите внимание, что это очень простая проверка, которая, скорее всего, сломается в нескольких более сложных ситуациях, например, она сломается, если используется в последнем столбце таблицы (что можно исправить с помощью дополнительного пустого столбца, как показано в примере). Так что, вероятно, лучше вообще не использовать ее. ;-)