可能重复:
tikz 或 tkz-fct 中的分段定义函数
我希望编写一个获取数字 x 的宏。如果 x 小于 1,它应该返回 x,否则,它返回 x^2。我需要它作为 TikZ 的分段函数,但我希望它作为宏,因为我将运行它几次。有什么简单的方法可以做到吗?
答案1
使用 pgfmathparse
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{mindmap}
\newcommand*{\mycommand}[1]{%
\pgfmathparse{
ifthenelse(#1 < 1,#1,#1*#1)}
\pgfmathresult
}%
\begin{document}
Less than 1 (x = 0.5)\\
f(x) = \mycommand{0.5}
Equal to 1 (x = 1)\\
f(x) = \mycommand{1}
Greater than 1 (x = 2)\\
f(x) = \mycommand{2}
\end{document}
输出结果如下:
对f(n+1)的计算可以用一个新函数来实现:
\newcommand*{\mycommandB}[1]{%
\pgfmathparse{
ifthenelse(#1+1 < 1,#1+1,(#1+1)*(#1+1))}
\pgfmathresult
}%
答案2
您可以将ifthen
包与一起使用intcalc
。然后定义一个这样的宏:
\newcommand{\test}[1]{\ifthenelse{#1<1}{#1}{\intcalcMul{#1}{#1}}