Code: Select all
\documentclass{article}
\pagestyle{empty}
\usepackage{diagbox}
\DeclareRobustCommand*{\concreteState}[1]{\ifmmode\mathsf{#1}\else\textsf{#1}\fi}
\begin{document}%
\newcommand{\RestOfContents}{ & \concreteState{green} & \concreteState{red}\\
\hline
\concreteState{green} & (\concreteState{g},\concreteState{g}) & (\concreteState{g},\concreteState{r})\\
\concreteState{yellow} & (\concreteState{ng},\concreteState{g}) & (\concreteState{ng},\concreteState{r})\\
\concreteState{red} & (\concreteState{ng},\concreteState{g}) & (\concreteState{ng},\concreteState{r})\\
\concreteState{yellowgreen} & (\concreteState{ng},\concreteState{g}) & (\concreteState{ng},\concreteState{r})
}%
\noindent%
Fallback:%%% This is ugly an not necessarily understandable.
\[
\begin{array}{l|cc}
a\ \backslash\ b%%% That's what we do without diagbox.
\RestOfContents
\end{array}%
\]
Good usage of horizontal space, but the diagonal is not actually a diagonal, and vertical space is wasted:
\begin{center}%
\begin{tabular}{l|cc}
\diagbox{\(a\)}{\(b\)}%%% That's what I'd like to type in and leave the rest to the macros!
\RestOfContents
\end{tabular}%
\end{center}
The diagonal is actually a diagonal, but both horizontal and vertical space is wasted:
\begin{center}%
\begin{tabular}{l|cc}
\diagbox{\quad\(a\)\quad}{\quad\(b\)\quad}
\RestOfContents
\end{tabular}%
\end{center}
\end{document}
Is there any way to turn the purported diagonal to an actual diagonal and NOT waste horizontal and vertical space? Ideas are welcome.