I would like to use TikZ matrices to for some drawings. I am currently using nodes and positioning them manually to simulate a tabular. That helps in positioning arrows and shading.
However, if I use something like the following code:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix [matrix of nodes,row sep=0,column 2/.style={nodes={rectangle,draw,minimum width=3em}}]
{
0 & 6 \\
1 & 3 \\
};
\end{tikzpicture}
\end{document}
The nodes' lower and upper borders do not overlap, resulting in a double border between nodes.
edit:
Jake suggested a very nice solution, using negative row separation row sep
. That work very well for one column tables. But the columns are misaligned when there are more columns.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[cell/.style={rectangle,draw=black},
space/.style={minimum height=1.5em,matrix of nodes,row sep=-\pgflinewidth,column sep=-\pgflinewidth,column 1/.style={font=\ttfamily}}]
\matrix (first) [space, column 1/.style={font=\ttfamily},column 2/.style={nodes={cell,minimum width=2em}}]
{
0 & 6 \\
1 & 3 \\
2 & 9 \\
};
\matrix (second) [right=of first, space, column 2/.style={minimum width=3em,nodes={cell,minimum width=3.5em}},column 3/.style={nodes={cell,minimum width=2em}}]
{
0 &a & 6 \\
1 & & 3 \\
2 &c & 9 \\
};
\matrix [right=of second, space, column 2/.style={minimum width=3em,nodes={cell,minimum width=3.5em}},column 3/.style={nodes={cell,minimum width=2em}}]
{
0 &a & 6 \\
1 &b & 3 \\
2 &c & 9 \\
};
\end{tikzpicture}
\end{document}
\documentclass
. Otherwise everyone who tries to compile the example first has to figure out what packages are needed (it's not immediately obvious that\usetikzlibrary{positioning}
is required here, for example), and then write an adequate.tex
file.