在命令中,是否有办法在一个地方使用参数 \sqrt{2} 并在另一个地方对其进行评估

在命令中,是否有办法在一个地方使用参数 \sqrt{2} 并在另一个地方对其进行评估

我正在尝试使用命令在一条线上绘制点:

\documentclass{standalone}

\usepackage{tkz-fct}

\newcommand{\markPoint}[1]{
    \tkzDefPoint(#1,0){A}
    \tkzDrawPoint(A)
    \tkzLabelPoint[below](A){\(#1\)}}

\begin{document}

    \begin{tikzpicture}
        \tkzInit[xmin=-3, xmax=5]
        \tkzDrawX[noticks]
        \markPoint{\sqrt{2}}    
    \end{tikzpicture}
\end{document}

我对像这样的值没有问题1,但是像这样的值\sqrt{2}不起作用,我想知道是否有一种方法可以评估使用,\sqrt因为如果我必须删除,\那么我就不能对标签使用相同的参数。

答案1

在此处输入图片描述

\sqrt您可以根据具体情况随意安排值

\documentclass{standalone}

\usepackage{tkz-fct}

\newcommand{\markPoint}[1]{%
\let\savedsqrt\sqrt
\def\sqrt##1{sqrt(##1)}%
\let\savedfrac\frac
\def\frac##1##2{(##1)/(##2)}%
    \tkzDefPoint(#1,0){A}%
\let\sqrt\savedsqrt
\let\frac\savedfrac
    \tkzDrawPoint(A)
    \tkzLabelPoint[below](A){\(#1\)}%
}

\begin{document}

    \begin{tikzpicture}
        \tkzInit[xmin=-3, xmax=5]
        \tkzDrawX[noticks]
        \markPoint{\sqrt{2}}    
    \end{tikzpicture}
\end{document}

相关内容