以下代码按预期工作
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfmath}
\usetikzlibrary{
calc,
}
\begin{document}
\begin{tikzpicture}
\pgfmathsetlengthmacro{\fontHeight}{height("H")}
\fill[red] (0, 0) circle (1pt);
\fill[blue] ($(0, \fontHeight)$) circle (1pt);
\node at($(.2, .5*\fontHeight)$) {H};
\end{tikzpicture}
\end{document}
然而,当我把它插入我的文档基础设施时,那就是
\documentclass{standalone}
\input{common.tex}
\begin{document}
\begin{tikzpicture}
\pgfmathsetlengthmacro{\fontHeight}{height("H")}
\fill[red] (0, 0) circle (1pt);
\fill[blue] ($(0, \fontHeight)$) circle (1pt);
\node at($(.2, .5*\fontHeight)$) {H};
\end{tikzpicture}
\end{document}
它失败了
! Package PGF Math Error: Unknown function `H' (in 'height("H")').
See the PGF Math package documentation for explanation.
Type H <return> for immediate help.
...
l.7 ...fmathsetlengthmacro{\fontHeight}{height("H")}
[1]
这是一个相当大的文档,common.tex
包含多个内容。我知道这不太可能,但也许有人能给出一些提示来解决这个问题。
答案1
我可以重现错误,如果我添加
\usepackage[ngerman]{babel}
对于您的第一个例子:
! Package PGF Math Error: Unknown function `H' (in 'height("H")').
您的实际语言可能有所不同。
如果我还添加,错误就会消失
\usetikzlibrary{babel}