新装PGF / TikZ碰撞,为什么?

时间:2010-06-06 06:32:54

标签: latex tikz

我有一台安装了tetex的干净CentOS 5.5机器。接下来,我安装了PGF / TikZ:

wget http://media.texample.net/pgf/builds/pgfCVS2010-06-02_TDS.zip
unzip pgfCVS2010-06-02_TDS.zip
\cp -r tex /usr/share/texmf
texhash

这是我的文件:

\documentclass{article}
\usepackage{tikz}
\begin{document}
test
\end{document}

我正在尝试编译它,这就是我得到的:

$ latex test.tex
This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4)
entering extended mode
(./test.tex
LaTeX2e <2003/12/01>
.. skipped ..
(/usr/share/texmf/tex/latex/pgf/frontendlayer/tikz.sty
(/usr/share/texmf/tex/latex/pgf/pgf.sty
(/usr/share/texmf/tex/latex/graphics/graphicx.sty
(/usr/share/texmf/tex/latex/graphics/graphics.sty
(/usr/share/texmf/tex/latex/graphics/trig.sty)
(/usr/share/texmf/tex/latex/graphics/graphics.cfg))))
(/usr/share/texmf/tex/latex/pgf/utilities/pgffor.sty
(/usr/share/texmf/tex/latex/pgf/utilities/pgfrcs.sty
(/usr/share/texmf/tex/generic/pgf/utilities/pgfutil-common.tex)
(/usr/share/texmf/tex/generic/pgf/utilities/pgfutil-latex.def)
(/usr/share/texmf/tex/generic/pgf/utilities/pgfrcs.code.tex))
(/usr/share/texmf/tex/latex/pgf/utilities/pgfkeys.sty
(/usr/share/texmf/tex/generic/pgf/utilities/pgfkeys.code.tex
(/usr/share/texmf/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex)))
(/usr/share/texmf/tex/generic/pgf/utilities/pgffor.code.tex))
(/usr/share/texmf/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
(/usr/share/texmf/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
! Undefined control sequence.
\pgfsetplottension ...ttension {\pgf@sys@tonumber 
                                                  \pgf@x }
l.104 \pgfsetplottension{0.5}

? 

我没有在网上找到关于这个问题的任何线索。在其他服务器上我没有这样的问题。有人可以帮忙吗?谢谢!

PS。顺便说一下,我尝试了另一种PGF / TikZ,旧的,没有运气:(

4 个答案:

答案 0 :(得分:1)

不要使用Tetex,它已经多年没有维护并且有很多问题;而是使用pdftex的最新包装,例如Texlive 2009。

您的问题是.../pgf/libraries/pgflibraryplothandlers.code.tex调用\pgf@sys@tonumber.../pgf/systemlayer/pgfsys.code.tex中定义了.../pgf/systemlayer,但显然未受约束。 {{1}}中的Tex代码是PGF如何与PDF / Postcript管道和依赖于实现的特殊内容进行对话的地方。如果您使用的版本的pdftex不像PGF代码所期望的那样,那么这就是您应该期待的那种问题。

您正在使用的pdftex版本是旧的,而您的PGF是最新的:PGF不是很老,所以我认为从PGF代码库的角度来看,您的安装是古老的历史。如果你升级,我希望你的麻烦会消失。

答案 1 :(得分:0)

我同意@Antal。

但是,基于错误消息:你几乎肯定会把它放在不需要的地方,并且当你应该发送纯文本时,将LaTeX发送给宏。也许您没有声明您正在使用TiKZ包来声明您尝试使用的宏。

PS我不会打电话给你正在经历PGF / TiKZ崩溃的事情。看起来好像你给了LaTeX一个格式错误的文件并且它没有处理它;这完全是正常行为。我不认为您的安装有任何问题,但不管怎么说。当您重新发布有关文档内容的更多信息时,请告诉我们您是否能够创建简单的PGF / TiKZ文档。

答案 2 :(得分:0)

好的,这不是一个真正的答案,但我找不到发表评论的方法。 我的猜测是\pgfsetplottension没有定义。如果您尝试以下命令会发生什么?

grep -n pgfsetplott -A4 /usr/share/texmf/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex

答案 3 :(得分:0)

CentOS 5的tetex-latex软件包包含一个旧版本的pgf,所以你可以先尝试删除旧版本然后复制新版本(虽然更新tetex-latex软件包时会覆盖此副本)。