tikz 箭头出现奇怪错误

tikz 箭头出现奇怪错误

我试图让 tikz 为我绘制一些箭头,但我不断收到以下错误消息:

Package pgfkeys Error: I do not know the key '/tikz/line' and I am going to ignore it. Perhaps you misspelled it. \path [line] (

当我尝试使用测试文档时,一切都运行良好,但它在我想要的文档中却不起作用。

\begin{tikzpicture}[node distance = 5cm, auto]
    \node [startstop] (ba) {Block A};
    \node [startstop, right of=ba] (bb) {Block B};
    \path [line] (ba) -- (bb);
\end{tikzpicture}

以下是我的文档的大致结构:

%Some other packages used here
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}


\tikzstyle{startstop} = [rectangle, rounded corners, minimum width=3cm,
    minimum height=1cm,text centered, draw=black, fill=red!30]
%% Edit Begin %%
\tikzstyle{line} = [draw, -latex']
%% Edit End %%

%% Some matter here

\begin{tikzpicture}[node distance = 5cm, auto]
    \node [startstop] (ba) {Block A};
    \node [startstop, right of=ba] (bb) {Block B};
    %% Works
    %% \path [line] (ba) -- (bb);
    %% Does not work
    \draw [arrow] (ba) -- (bb);
\end{tikzpicture}

%% More matter
\end{document}

我是不是忽略了什么愚蠢的事情?

当我编译文档时,我确实看到了块但没有看到箭头,并且我查看了互联网上关于类似问题的几乎所有帖子,问题通常是没有使用正确的\usetikzlibrary命令。

就我而言,我使用了所有正确的库,但仍然收到这个神秘的错误消息。

请帮忙。

- - 编辑 - -

添加了“line”的 tikzstyle 定义。

当我尝试使用内置功能时arrow,我收到类似的错误消息:

Package pgfkeys Error: I do not know the key '/tikz/arrow' and I am going to ignore it. Perhaps you misspelled it. \draw [arrow]

现在,我可以继续使用我正在定义的“线”,但如果知道为什么它\draw [arrow]不起作用就更好了。

答案1

发生此错误的原因是 TikZ 没有默认line样式,即使在您使用的库中也是如此。因此,如果您想在代码中使用它,则必须使用 来定义它\tikzstyle。如果您根据以下问题改编了代码这个,那么您应该在序言中添加类似的内容,这将允许您在代码中\tikzstyle{line}=[draw]使用如下内容:line

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\tikzstyle{line}=[draw] % here
\begin{document}

\tikzstyle{startstop} = [rectangle, rounded corners, minimum width=3cm,
    minimum height=1cm,text centered, draw=black, fill=red!30]

\begin{tikzpicture}[node distance = 5cm, auto]
    \node [startstop] (ba) {Block A};
    \node [startstop, right of=ba] (bb) {Block B};
    \path [line] (ba) -- (bb);
\end{tikzpicture}
\end{document}

这将在两个节点之间画一条线。如果您喜欢不同的风格,可以更改定义\tikzstyle

答案2

我也遇到了同样的问题。

使用:\draw [->] (ba) -- (bb);而不是\draw [arrow] (ba) -- (bb);为我修复它。

我只是 LaTeX 的初学者,所以如果这不适用于你,我很抱歉!我正在使用 MacOS X 10.9.5 并通过内置按钮在 TeXshop 上进行编译。

相关内容