Hello developers,
it seems that on grid is not working as expected (by me) for coordinates.
Best regards,
Stefan Pinnow
% ----- minimal example -----
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{
positioning,
}
\begin{document}
\begin{tikzpicture}[
font=\tiny,
every node/.style={
draw,
rectangle,
inner sep=0pt,
outer sep=0pt,
minimum size=5mm,
},
]
\draw[help lines] (-1,-1) grid (1,1);
\node (a) at (0,0) {a};
\node [on grid,above left=1 and 1 of a] (b) {b};
\node [on grid,above left=1 and 1 of a.north,red] (c) {c};
\draw (a) |- +(-1,1);
\draw [red] (a.north) |- +(-1,1); % `a.north' being a coordinate
\node [minimum size=2.5mm,green] (test) at (a.south) {};
\node [on grid,below right=1 and 1 of test,green] (d) {d};
\draw [green] (test) |- +(1,-1);
\end{tikzpicture}
\end{document}
% ---------------------------
I agree that this is not the expected behaviour. Turns out one has to patch the core positioning code, which is tricky. I am postponing this.