My question is similar to this one, but I am trying to draw a simple black filled diamond at the beginning of a path, just like in the UML aggregate notation. Here is a minimal working example:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes, arrows, chains, decorations.markings,intersections,calc}
\begin{document}
\begin{tikzpicture}
\node (a) at (0,0) {a};
\node (b) at (2,0) {b};
\path (a.east) to node [near start, yshift=1em] {} (b.west);
\draw [<-,>=diamond] (a.east) -- (b.west);
\end{tikzpicture}
\end{document}
but this produces a path with a diamond that has an arrow at the front, how do I get rid of the arrow?
E.g. turn <>----> into <>----
Update:
It seems I this behaviour is caused by the tikzset from this question, which I still had in my code. After removing it, I got the desired behaviour. So I change my question: What causes the arrow had to appear or disappear, and how can I change between both versions?
Update 2: I have updated the question with a MWE and changed the explanation to avoid some of the confusion. The MWE actually produces the desired result of my original question and I am not able to reproduce the problem which I described in the cancelled text. Given all the confusion I think the actual question is this:
How can I produce each of the following UML variants for aggregation see here:
<>----(this is produced by my MWE)<>--->(arrow at right end)<>---*(circle at right end)

\documentclassand the appropriate packages that sets up the problem as I can't reproduce the problem you are experiencing. That is\draw [<-, >=diamond] (0,0) -- (0,1);produces the desired results. – Peter Grill Feb 12 '14 at 21:23\tikzset{}part from the accepted answer under 'this one' and combine it with my sample. You will see that the arrow head will appear. – lanoxx Mar 03 '14 at 13:48! Package pgf Error: No shape named a is known.amongst other errors. Please provide a proper MWE so we aren't left guessing. – Paul Gessler Mar 29 '14 at 23:20