\tikzpicture 与 axis 与 \pgfmathdeclarefunction 与 \tikzmath 与 \tikzset 与 \def\func

\tikzpicture 与 axis 与 \pgfmathdeclarefunction 与 \tikzmath 与 \tikzset 与 \def\func

我们可以在tikzpicture选项在 \axis 选项中,\pgfmathdeclarefunction,在\tikzmath, 通过使用\tikzset,通过使用\def\func等等……这真是令人困惑(至少对于新手来说)。这些函数声明形式之间有什么区别?

答案1

定义 PGFMath 函数的最基本方法是\pgfmathdeclarefunction

/pgf/declare function钥匙PGFMath 也提供,可与 TikZ/\tikzset和 PGFPlots/一起使用\pgfplotsset(因为它们也会自动在命名空间中搜索/pgf)。它只是一个前端,\pgfmathdeclarefunction您可以在其中使用控制序列而不是参数#1, #2, ...。

TikZMathfunction是另一个前端,\pgfmathdeclarefunction它只是将函数体放在\tikzmath主体内的语句内\pgfmathdeclarefunction。(它还像 一样处理参数/pgf/declare function。)

这个\def\func东西不是 PGFMath 函数,而是一个可以扩展为其他东西的宏。在链接问题的上下文中,有一个观点是,\func只要理解了宏的扩展,宏就可以独立于其上下文工作。使用 TikZ 和 PGFPlots,GNUPlot可用于评估函数,但它本身无法理解 PGFMath 函数。(并且 TikZ 不会将 PGFMath 表达式转换为 GNUPlot 可以理解的表达式。)

相关内容