
&&
LaTeX テーブルを として解釈できるかどうか知りたいです&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}
これは非常に単純なチェックであり、いくつかのより複雑な状況では機能しなくなる可能性があることに注意してください。たとえば、表の最後の列で使用すると機能しなくなります (これは、例に示すように、追加の空の列によって修正できます)。したがって、これをまったく使用しない方がよいでしょう。 ;-)