PGF/TikZ的全新安装崩溃了,为什么?

5

我有一台干净的安装了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}

? 

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

顺便说一句,我尝试了另一个版本的PGF / TikZ,旧版本的,但没有运气 :(


2
你需要向我们展示你的文档,否则我们无法盲目调试。请尝试找到一个最小化的例子来展示你的问题,并向我们展示它。 - Antal Spector-Zabusky
我已经将这个问题提交到PGF错误跟踪系统:http://sourceforge.net/tracker/?func=detail&aid=3012409&group_id=142562&atid=752792 - yegor256
4个回答

1

不要使用Tetex,它已经多年没有维护了,并且存在许多问题;相反,请使用最新的pdftex打包,例如Texlive 2009。

你的问题在于.../pgf/libraries/pgflibraryplothandlers.code.tex调用了\pgf@sys@tonumber,它在.../pgf/systemlayer/pgfsys.code.tex中定义,但显然没有被绑定。在.../pgf/systemlayer中的Tex代码是PGF找出它将如何与PDF / Postcript管道和实现相关特殊功能进行通信的地方。如果您使用的pdftex版本不像PGF代码所期望的那样运行,则这就是您应该预期的问题。

您正在使用的pdftex版本很旧,而您的PGF是最新的:PGF并不是很老,因此我认为从PGF代码库的角度来看,您的安装程序已经过时了。如果您升级,我相信您的问题将会消失。


Charles,非常感谢您提供的信息,非常有帮助。您知道如何在CentOS上安装Texlive吗? yum没有它的仓库 :( - yegor256
@Vincenzo - 已回答您在SU上的问题:http://superuser.com/questions/151620/how-to-install-texlive-on-centos/151740#151740 - Charles Stewart

0

我同意@Antal的看法。

但是,基于错误消息:您几乎肯定在不需要的地方放置了“\”,并且当您应该发送纯文本时,已向LaTeX发送了宏。也许您尚未声明正在使用声明您要使用的宏的TiKZ包。

PS我不会称您正在经历的是PGF / TiKZ崩溃。看起来您已经给LaTeX一个格式错误的文档,它无法处理它;这是完全正常的行为。 我不会得出结论,您的安装有任何问题,至少还没有。 当您重新发布有关文档内容的更多信息时,请告诉我们是否能够创建简单的PGF / TiKZ文档。


有些人遇到了与PGF/TikZ手册相同的问题,我怀疑这份文档中没有任何错误 : )。但我也很好奇他的例子。 - Pieter
1
我已将文档添加到问题中。正如我之前所说,这是一个简单的文档。安装TikZ时出现了一些问题...提前感谢您的建议。 - yegor256

0

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

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

0

CentOS 5 中的 tetex-latex 软件包包含一个旧版本的 pgf,因此您可以首先尝试删除旧版本,然后复制新版本(尽管当 tetex-latex 软件包更新时,此复制将被覆盖)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接