\pgfkeys{ /HE round/dimension/radius/.code = {#1}, /HE round/dimension/radius/.initial = {0.5cm}, /HE round/.is choice, /HE round/basic/.code = {#1}, /HE round/basic/.default = {}, /HE round/general/.code = { \pgfkeys{/HE round/basic/.append code = { \east \pgf@xa = 0.5\pgf@x \east \pgfpathmoveto{\pgfpoint{-\pgf@x}{0}} \pgfpathlineto{\pgfpoint{-\pgf@xa}{0}} \pgfpathlineto{\pgfpoint{0}{\pgf@xa}} \pgfpathlineto{\pgfpoint{0}{-\pgf@xa}} \pgfpathlineto{\pgfpoint{\pgf@xa}{0}} \pgfpathlineto{\east} \pgfusepath{stroke} } }}, /HE round/m/.code = { \pgfkeys{/HE round/basic/.append code = { \pgfpointpolar{30}{\pgfkeysvalueof{/HE round/dimension/radius}} \pgf@xa = \pgf@x \pgf@ya = \pgf@y \pgfpathmoveto{\pgfpoint{1.5 \pgf@xa}{\pgf@ya}} \pgfpathlineto{\pgfpoint{-0.6 \pgf@xa}{\pgf@ya}} \pgfpathlineto{\centerpoint} \pgfpathlineto{\pgfpoint{-0.6 \pgf@xa}{-\pgf@ya}} \pgfpathlineto{\pgfpoint{1.5 \pgf@xa}{-\pgf@ya}} \pgfusepath{stroke} } }}, /HE round/.default = {\pgfkeys{/HE round/basic}} } \pgfdeclareshape{HE round}{ \savedanchor{\centerpoint}{\pgfpointorigin} \savedanchor{\north}{\pgfpoint{0}{\pgfkeysvalueof{/HE round/dimension/radius}}} \savedanchor{\east}{\pgfpoint{\pgfkeysvalueof{/HE round/dimension/radius}}{0}} \anchor{center}{\centerpoint} \anchor{north}{ \north } \anchor{east}{ \east } \anchor{west}{ \east \pgf@x = -\pgf@x } \anchor{south}{ \north \pgf@y = -\pgf@y } \anchor{northeast}{ \east \pgf@xa = \pgf@x \pgfpoint{0.886\pgf@xa}{0.5\pgf@xa} } \anchor{far northeast}{ \east \pgf@xa = \pgf@x \pgfpoint{1.329\pgf@xa}{0.5\pgf@xa} } \anchor{southeast}{ \east \pgf@xa = \pgf@x \pgfpoint{0.886\pgf@xa}{-0.5\pgf@xa} } \anchor{far southeast}{ \east \pgf@xa = \pgf@x \pgfpoint{1.329\pgf@xa}{-0.5\pgf@xa} } \anchor{northwest}{ \east \pgf@xa = \pgf@x \pgfpoint{-0.886\pgf@xa}{0.5\pgf@xa} } \anchor{southwest}{ \east \pgf@xa = \pgf@x \pgfpoint{-0.886\pgf@xa}{-0.5\pgf@xa} } \backgroundpath{ \pgfpathcircle{\centerpoint}{\pgfkeysvalueof{/HE round/dimension/radius}} \pgfusepath{stroke} \pgfkeys{/HE round/basic} \pgfusepath{stroke} } }