为什么在 TikZ 数据可视化标签中包含括号会导致错误?

为什么在 TikZ 数据可视化标签中包含括号会导致错误?

我的问题涉及以下 MWE:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{datavisualization}
\usetikzlibrary{datavisualization.formats.functions}
\begin{document}
\tikz[scale=4]
    \datavisualization[
        school book axes,
        visualize as smooth line=myfunction,
        myfunction={pin in data={text=$f(x)$}}]
    data [set=myfunction, format=function] {
        var x : interval [0:1];
        func y = \value x^2;
    };
\end{document}

这就得到了以下漂亮的图表: y = x^2 的图形,带标签

问题是,当我尝试将标签文本从 更改为 时,$f(x)$我在包含 的行上$f[x]$收到错误。Missing $ inserted.};

我认为这可能与 TikZ 在数学模式到达括号之前解析括号有关,但我不知道如何修复它。我尝试用[and]替换\[and ,\]但这根​​本没有帮助。我还意识到我可以用 替换$f[x]$$f$[$x$]但这似乎是错误的做法。

如何在标签中添加括号?

答案1

(La)TeX 无法平衡方括号,它会感到困惑,以为 in ]正在关闭的f[x]开头;可以使用一对额外的括号来帮助它,就像这样内部括号就被隐藏了:[\datavisualization{$f[x]$}

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{datavisualization}
\usetikzlibrary{datavisualization.formats.functions}
\begin{document}
\tikz[scale=4]
    \datavisualization[
        school book axes,
        visualize as smooth line=myfunction,
        myfunction={pin in data={text={$f[x]$}}}]
    data [set=myfunction, format=function] {
        var x : interval [0:1];
        func y = \value x^2;
    };
\end{document}

在此处输入图片描述

相关内容