In order to define additional anchors in TikZ, I use the code from this popular answer. Unfortunately, after updating to TikZ 3.0, the code does not work anymore. I now receive several errors and my file does not compile.
! Package PGF Math Error: Unknown function `westsouthwest' (in 'westsouthwest').
See the PGF Math package documentation for explanation. Type H for immediate help. ...
l.38 \draw (a.westsouthwest) -- (a.north);
I assume that some command has been changed due to the update, but I don't really know how fix this. Here is the code:
MWE
\documentclass{article}
\usepackage{tikz}
\makeatletter
\def\pgfaddtoshape#1#2{%
\begingroup
\def\shape@name{#1}%
\let\anchor\pgf@sh@anchor
#2%
\endgroup
}
\def\useanchor#1#2{\csname pgf@anchor@#1@#2\endcsname}
\def\@shiftback#1#2#3#4#5#6{%
\advance\pgf@x by -#5\relax
\advance\pgf@y by -#6\relax
}
\pgfaddtoshape{rectangle}{%
\anchor{westsouthwest}{%
\pgf@process{\northeast}%
\pgf@ya=.5\pgf@y%
\pgf@process{\southwest}%
\pgf@y=1.5\pgf@y%
\advance\pgf@y by \pgf@ya%
\pgf@y=.5\pgf@y%
}%
}
\makeatother
\begin{document}
\begin{tikzpicture}
\node (a) at (0,0) {1};
\draw (a.westsouthwest) -- (a.north);
\end{tikzpicture}
\end{document}

\shape@nameis now\pgf@sm@shape@name– Mark Wibrow Mar 08 '14 at 17:06