未定义控制序列:\pgfmath@multiply@thousand

未定义控制序列:\pgfmath@multiply@thousand

更新我的 MiKTeX 发行版后,我突然收到一个编译错误,而之前编译完全没问题的 .tex 文件。删除所有不会导致错误的内容后,我得到了以下最小示例:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{shapes}
\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}
  \node[shape=rounded rectangle, draw=black] {bla};
\end{tikzpicture}

\end{document}

如果我使用rectangle或者rounded rectangle删除 pgfplots 包,一切都会正常运行。

作为一种解决方法,我现在正在使用rectanglerounded corners属性,但我想知道是否也可以rounded rectangle与 pgfplots 一起使用(如果可以,如何使用)。

我的 pgfplots 包的版本是 1.11。使用 MiKTeX 包管理器检查我的 pgf 包的版本时,它显示版本 3.0.0。但是,检查日志文件时,它显示使用的是版本 2.10。

为了完整起见:此外,我在 Windows 7 Professional(Service Pack 1)操作系统上使用 MiKTeX-pdfTeX 2.9.4902(1.40.14)(MiKTeX 2.9)。

我通过上述示例收到的错误消息是:

! Undefined control sequence.
<recently read> \pgfmath@multiply@thousand

l.12 ...hape=rounded rectangle, draw=black] {bla};

在搜索相关问题时,我在这里发现了其他问题:

Miktex 2.9 pgfplots,circuitikz 库碰撞问题

在 pgfplots 中使用 atan 的问题

这似乎是同一种疾病的不同症状的情况(正如元文章中讨论的那样:同一种疾病,不同的症状)。至少错误信息是一样的,情况(更新后出现的问题)也类似。

我最初认为那里的解决方案不适用于我的问题,因为我有 1.11 版的 pgfplots 和 3.0.0 版的 pgf(根据后一个问题的可接受答案,它们应该可以工作)。但是,通过检查日志文件,发现实际上使用的是 2.10 版的 pgf。因此,潜在问题似乎与两个相关问题中的前一个相同。包管理器和日志文件之间的这种差异是如何产生的,我该如何修复它?

答案1

根据 MikTeX 实际上未能将 PGF 更新至 3.0.0 的信息,我可以确认这是在 pgfplots 中使用 atan 的问题Miktex 2.9 pgfplots,circuitikz 库碰撞问题

我会更新在 pgfplots 中使用 atan 的问题提供解决方法。

实际上存在两个不同的问题:

  1. 我引入了 1.11 和 PGF 2.10 之间的不兼容性pgfplots。对此我深感抱歉;pgfplots 的下一个版本将提供解决方案(计划于 2015 年初推出)。

  2. 据报道,MikTeX 声称会更新到 PGF 3.0.0,但实际上并没有。如果两个软件包都是当前稳定版本,那么一切都会正常。我不知道这个更新问题的详细信息。

请参见在 pgfplots 中使用 atan 的问题寻找可能的解决方法。

相关内容