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 版本,较旧的版本,没有运气:(

4

4 回答 4

1

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

您的问题是.../pgf/libraries/pgflibraryplothandlers.code.tex调用\pgf@sys@tonumber,它在 中定义.../pgf/systemlayer/pgfsys.code.tex,但显然没有被绑定。中的 Tex 代码.../pgf/systemlayer是 PGF 确定如何与 PDF/Postcript 管道和依赖于实现的特殊信息对话的地方。如果您使用的 pdftex 版本不符合 PGF 代码的预期,那么这正是您应该预料到的问题。

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

于 2010-06-11T12:43:47.430 回答
0

我同意@Antal。

但是,根据错误消息:您几乎可以肯定在不需要它的地方放置了一个 \,并在您应该发送纯文本时向 LaTeX 发送了一个宏。也许您没有声明您正在使用 TiKZ 包,该包声明了您尝试使用的宏。

PS 我不会称您正在经历 PGF/TiKZ 崩溃。看起来好像你给了 LaTeX 一个格式错误的文档,它没有处理它;这是完全正常的行为。我不会断定您的安装有什么问题,反正还没有。当您重新发布有关文档内容的更多信息时,请告诉我们您是否也能够创建简单的 PGF/TiKZ 文档。

于 2010-06-06T09:58:10.587 回答
0

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

grep -n pgfsetplott -A4 /usr/share/texmf/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
于 2010-06-10T12:25:51.510 回答
0

CentOS 5 的 tetex-latex 软件包包含一个旧版本的 pgf,所以也许你可以尝试先删除旧版本,然后复制新版本(尽管当 tetex-latex 软件包更新时,这个副本将被覆盖)。

于 2010-06-11T10:03:44.197 回答