我试图让 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 上进行编译。