PGF 数学错误:使用带有选项 ngerman 的 babel 时出现未知函数

PGF 数学错误:使用带有选项 ngerman 的 babel 时出现未知函数

以下是使用 TikZ 绘制宽度与某些文本匹配的框的 MWE:

\documentclass{article}

\usepackage{tikz}
\usepackage[ngerman]{babel}

\begin{document}

\begin{tikzpicture}
  \node [rectangle, draw, minimum width=width("Test")] (testNode) {Test};
\end{tikzpicture}

\end{document}

使用pdflatex(甚至lualatex)和 TeX Live 2019 进行最新更新的编译会出现以下错误:

! Package PGF Math Error: Unknown function `Test' (in 'width("Test")').

See the PGF Math package documentation for explanation.
Type  H <return>  for immediate help.
 ...

l.9 ...mum width=width("Test")] (testNode) {Test};

用另一种语言替换ngermanbabel完全删除即可消除错误。不管怎么说,我已经使用这种方法很多年了,直到最近才开始看到这个错误。有什么问题吗babel

答案1

问题在于该babel包重新定义了"。因此,TiZ 有一个库,允许使用babel包和tikz,该库的名称也是babel。如果你加载它,你的代码就可以正常工作。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{babel}
\usepackage[ngerman]{babel}
\begin{document}
\begin{tikzpicture}
  \node [rectangle, draw, minimum width=width("Test")] (testNode) {Test};
\end{tikzpicture}
\end{document}

相关内容