1

This question already has an answer here:

I am using the arrows.meta library to modify the arrow tips of my graphs. The problem is, that when I use the code below once, it works, but when I use it a second time, it does not. I tried it with and without the \usetikzlibrary{...} command in the second picture, I changed node names and so on.

I don't even want the exact same graph a second time, I just want to use the [-{Latex[...]}] arrow tips in another graph.

Error message:

Package pgf Error: Unknown arrow tip kind 'Latex'. \draw[-{Latex[.....

Minimum example:

\begin{figure}[H]
    \begin{center}
        \usetikzlibrary{arrows.meta}
    \begin{tikzpicture}[align=center,node distance=3cm]
    \footnotesize
    \node [knoten,draw](a)[label=above:1] {$*$};
    \node [knoten,draw](b)[below left of=*1, label=above:2] {$+$};
    \draw [-{Latex[width=2mm,length=2mm]},red] (a.north east) .. controls +(up:2cm) and +(left:2cm) .. (b.south west);
\end{center}\end{figure}

marked as duplicate by percusse, user31729, Community Mar 8 '18 at 10:24

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 4
    I think you should load arrows.meta in the preamble, not somewhere in between – user31729 Mar 8 '18 at 9:30
  • 3
    Put \usetikzlibrary before \begin{document} – percusse Mar 8 '18 at 9:30
  • That was easier than expected, thank you. You want to put this in an answer and let me accept it, or simply delete this question? – RoyPJ Mar 8 '18 at 9:56
  • 1
    I've nominated this as a duplicate of a more general question we use for this type of questions so the reviews will take care of it. – percusse Mar 8 '18 at 10:14
0

with your code you have many issues:

  • packages and libraries had to be loaded in preamble
  • their settings can be locally, inside group in which the should valid
  • don't use option [H], it can cause problems where you not expected. beter is use [htb]
  • don't use \begin{center} ... \end{center}. it add additional vertical space around figure. better is to use \centering after \begin{figure}
  • your code example is not complete: style knoten is not defined, missed is\end{tikzpicture}`
  • for pacing of nodes i suggest to use tikz library positioning anf sinty...=of ...` which use distance between nodes borders (and not a centers, as you use)

so, your code example in form of minimal working example should (can) be as follows:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,
                positioning}

\begin{document}
    \begin{figure}[htb]%[H]
\centering
    \begin{tikzpicture}[
    node distance = 2cm,
knoten/.style = {circle, draw, align=center},
every label/.append style = {font=\footnotesize}
                        ]
\node (a) [knoten, label=above:1] {$*$};
\node (b) [knoten, label=above:2, below left=of a] {$+$};
\draw [-{Latex[width=2mm,length=2mm]},red]
    (a.north east) .. controls +(up:2cm) and +(left:2cm) .. (b.south west);
\end{tikzpicture}
    \end{figure}
\end{document}

enter image description here

Not the answer you're looking for? Browse other questions tagged or ask your own question.