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

发布于 2024-09-05 04:59:17 字数 1801 浏览 8 评论 0原文

我有一台干净的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

飘逸的'云 2024-09-12 04:59:17

不要使用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.

寄风 2024-09-12 04:59:17

我同意@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.

心不设防 2024-09-12 04:59:17

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

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

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?

grep -n pgfsetplott -A4 /usr/share/texmf/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
谎言月老 2024-09-12 04:59:17

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).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文