问题:
我试图让该函数y = |x|
与 TikZ 中的数据可视化库配合使用,但没有成功。问题似乎出在运算符上|
。
最小工作示例(MWE):
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{datavisualization}
\usetikzlibrary{datavisualization.formats.functions}
\begin{document}
\begin{tikzpicture}
\datavisualization [school book axes,
visualize as smooth line,
y axis={label},
x axis={label}]
data [format=function] {
var x : interval [-5:5];
func y = |x|;
};
\end{tikzpicture}
\end{document}
期望输出:
使该函数与运算符一起工作|
。
答案1
竖线只是一种符号,即排版绝对值的常用方法。根据第节94.3 数学表达式的语法:函数pgf 手册 (版本 3.1.3) 的功能是abs
(并且您忘记了\value
)。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{datavisualization}
\usetikzlibrary{datavisualization.formats.functions}
\begin{document}
\begin{tikzpicture}
\datavisualization [school book axes,
visualize as smooth line,
y axis={label},
x axis={label}]
data [format=function] {
var x : interval [-5:5];
func y = abs(\value x);
};
\end{tikzpicture}
\end{document}
附录:可以声明新的数学运算符吗?是的。可以定义一个运算符吗|
?是的。它是否如您所愿发挥作用并且安全吗?也许不会。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{datavisualization}
\usetikzlibrary{datavisualization.formats.functions}
\pgfmathdeclareoperator{|} {abs} {1}{infix} {600}
\begin{document}
\begin{tikzpicture}
\datavisualization [school book axes,
visualize as smooth line,
y axis={label},
x axis={label}]
data [format=function] {
var x : interval [-5:5];
func y = | \value x ;
};
\end{tikzpicture}
\end{document}