全新安装 PGF/TikZ 崩溃,为什么?
我有一台干净的 CentOS 5.5 机器,安装了 tetex。接下来,我安装了 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 的另一个版本,旧版本,没有运气:(
I have a clean CentOS 5.5 machine with tetex installed. Next, I installed 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
This is my document:
\documentclass{article}
\usepackage{tikz}
\begin{document}
test
\end{document}
I'm trying to compile it and this is what I'm getting:
$ 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}
?
I failed to find any clues in the net about this problem. On other servers I don't such a problem. Could anyone help please? Thanks!
ps. Btw, I tried another build of PGF/TikZ, the older one, no luck :(
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不要使用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 代码库的角度来看,您的安装是古老的历史。如果您升级,我希望您的麻烦将会消失。
Don't use Tetex, it has been unmaintained for many years and has lots of issues; instead use an up-to-date packaging of pdftex, such as Texlive 2009.
Your problem is that
.../pgf/libraries/pgflibraryplothandlers.code.tex
calls\pgf@sys@tonumber
, which is defined in.../pgf/systemlayer/pgfsys.code.tex
, but evidently hasn't been bound. The Tex code in.../pgf/systemlayer
is where PGF figures out how it is going to talk to the PDF/Postcript plumbing and implementation-dependent specials. If you are using a version of pdftex that does not behave as the PGF code expects, then this is just the kind of problem you should expect.The version of pdftex you are using is old, whilst your PGF is bang up-to-date: PGF is not very old, so I think your installation is ancient history from the point of view of the PGF codebase. If you upgrade, I expect that your trouble will vanish.
我同意@Antal。
但是,根据错误消息:您几乎肯定在不需要的地方放置了 \ ,并在应该发送纯文本时向 LaTeX 发送了宏。也许您还没有声明您正在使用 TiKZ 包,该包声明了您尝试使用的宏。
PS 我不会将您遇到的情况称为 PGF/TiKZ 崩溃。看起来好像你给了 LaTeX 一个格式错误的文档,而它没有处理它;这是完全正常的行为。我不会断定您的安装有任何问题,至少目前还没有。当您重新发布有关文档内容的更多信息时,请告诉我们您是否也能够创建简单的 PGF/TiKZ 文档。
I agree with @Antal.
But, based on the error message: you've almost certainly put a \ where it's not needed and sent LaTeX a macro when you should have send it plain text. Perhaps you've not declared that you are using the TiKZ package which declares the macro that you are trying to use.
PS I wouldn't call what you are experiencing a PGF/TiKZ crash. It looks as if you have given LaTeX a malformed document and it is not processing it; this is entirely normal behaviour. I would not conclude that there is anything wrong with your installation, not yet anyway. When you do repost with more information about the contents of your document, let us know if you have been able to create a simple PGF/TiKZ document too.
好吧,这并不是一个真正的答案,但我找不到发表评论的方法。
我的猜测是
\pgfsetplottension
未定义。如果尝试以下命令会发生什么?OK, this is not really an answer but I can't find a way to leave a comment.
My guess is that
\pgfsetplottension
is not defined. What does happen if you try the following command?CentOS 5 的 tetex-latex 软件包包含旧版本的 pgf,因此您可以尝试先删除旧版本,然后复制新版本(尽管更新 tetex-latex 软件包时此副本将被覆盖)。
The tetex-latex package for CentOS 5 includes an old version of pgf, so maybe you could try first removing the old one and then copying the new one (though this copy will be overridden when tetex-latex package is updated).