\draw 中的 foreach,不明确给出第一个点

\draw 中的 foreach,不明确给出第一个点

我正在绘制由 y(x)表达式给出的线,该表达式在规则间隔的点处求值,例如

\def\ffIiC{+0.0436275-1.18778*\x^1+0.542693*\x^2}
% ...
\draw (0,0.0436275) \foreach\x in {0,.1,...,4}{ -- ({\x},{\ffIiiC}) };
%     ^^^^^^^^^^^^^

但是,我总是需要明确指定第一个点。有没有什么办法可以避免这种情况?

答案1

没有前一个坐标的A--似乎是问题所在。您可以添加一个条件来抑制--第一个值。

\documentclass{article}
\usepackage{tikz}

\begin{document}
\tikz {
    \def\ffIiC{+0.0436275-1.18778*\x^1+0.542693*\x^2}
    \draw \foreach\x in {0,.1,...,4} {
            \ifdim\x pt=0pt \else--\fi
            ({\x},{\ffIiC})
    };
}
\end{document}

注意:之前的空格\else很重要,否则会导致错误。\relax在这种情况下,TeX 似乎为维度表达式添加了一个隐式终止符,从而破坏了 TikZ 路径。

相关内容