MacTeX pgfkeys/tikz 包失败

MacTeX pgfkeys/tikz 包失败

下面列出的文件(取自此处:texample.net) 在我的系统(运行 MacTeX 2011)上失败,并出现错误:

Package pgfkeys Error: I do not know the key '/tikz/drop shadow' and 
I am going to ignore it. Perhaps you misspelled it.

我使用 TeX Live Utility 检查了我的软件包,它们似乎都是最新的。您知道我可能做错了什么吗?谢谢。

该文件:

\documentclass{article}

\usepackage{tikz}
\usepackage{pgf-umlsd}
\usepgflibrary{arrows} % for pgf-umlsd
\begin{document}

\begin{figure}
  \centering

  \begin{sequencediagram}
    \newthread{ss}{}{SimulationServer}
    \newinst{ctr}{}{SimControlNode}
    \newinst{ps}{}{PhysicsServer}
    \newinst[1]{sense}{}{SenseServer}

    \begin{call}{ss}{Initialize()}{sense}{}
    \end{call}
    \begin{sdloop}{Run Loop}
      \begin{call}{ss}{StartCycle()}{ctr}{}
        \begin{call}{ctr}{ActAgent()}{sense}{}
        \end{call}
      \end{call}
      \begin{call}{ss}{Update()}{ps}{}
        \begin{call}{ps}{PrePhysicsUpdate()}{sense}{state}
        \end{call}
        \begin{callself}{ps}{PhysicsUpdate()}{}
        \end{callself}
        \begin{call}{ps}{PostPhysicsUpdate()}{sense}{}
        \end{call}
      \end{call}
      \begin{call}{ss}{EndCycle()}{ctr}{}
        \begin{call}{ctr}{SenseAgent()}{sense}{}
        \end{call}
      \end{call}
    \end{sdloop}
  \end{sequencediagram}

  \caption{UML sequence diagram demo.}
\end{figure}
\end{document}

更新:我找到了答案:软件包是错误的 -pgf-umlsd.sty v0.5至少对于我运行的系统而言。它们应该是...

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{arrows,shadows} % for pgf-umlsd
\usepackage[underline=true,rounded corners=false]{pgf-umlsd}

此外,现在命令\begin{sdloop}{Run Loop}需要是\begin{sdblock}{Run Loop}

答案1

对于这样的错误消息:

! Package pgfkeys Error: I do not know the key '/tikz/drop shadow' and I am going to ignore it. Perhaps you misspelled it.

See the pgfkeys package documentation for explanation.

解决方案是包含适当的 TikZ 库,在本例中

\usetikzlibrary{shadows}

更详细地说,你可以按照以下方法找到解决方案:

  1. 首先打开 TikZ 手册,通过调用texdoc tikztexdoc pgfkeystexdoc pgfmanual。你也可以通过CTAN镜像

  2. 在这种情况下,搜索错误抱怨的键/tikz/drop shadow。 (不可否认,这在一个近 1200 页长的文件中可能需要一段时间。)(您也可以尝试手册末尾的索引。)

    1. 向上查找,直到找到它出现的部分。在本例中,出现在第 66.3.1 节:

具体部分

如果你上升到 66.3(就在那里)然后再到 66,你就会找到需要包含的库:

图书馆

按照说明所述,您可以使用\usetikzlibrary{shadows}它以便不再收到错误消息。

相关内容