TikZ arrows.meta 不能在多张图片中使用吗?

TikZ arrows.meta 不能在多张图片中使用吗?

我正在使用 arrows.meta 库来修改图表的箭头。问题是,当我使用下面的代码一次时,它可以工作,但当我第二次使用它时,它却不行。我尝试了第二张图片中使用和不使用 \usetikzlibrary{...} 命令,我更改了节点名称等等。

我甚至不想第二次使用完全相同的图形,我只想在另一个图形中使用 [-{Latex[...]}] 箭头提示。

错误信息:

包 pgf 错误:未知箭头尖类型“Latex”。 \draw[-{Latex[.....

最小示例:

\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}

答案1

您的代码存在许多问题:

  • 软件包和库必须在序言中加载
  • 它们的设置可以在本地,在组内,其中应该有效
  • 不要使用选项[H],它可能会导致你意想不到的问题。更好的是使用[htb]
  • 不要使用\begin{center} ... \end{center}。它会在图形周围添加额外的垂直空间。最好\centering在之后使用\begin{figure}
  • 您的代码示例不完整:style knoten is not defined, missed is\end{tikzpicture}`
  • 对于节点的步调,我建议使用tikzpositioning anf sinty...=of ...`,它使用节点边界之间的距离(而不是您使用的中心)

因此,您的最小工作示例形式的代码示例应该(可以)如下所示:

\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}

在此处输入图片描述

相关内容