\foreach 中的复数计数

\foreach 中的复数计数

我正在寻求创建简单的数字线。我问过类似的问题:在数轴上重置 \foreach 命令中的数字标签。但现在我的情况不同了。

我知道如何从不同的数字开始计数,但我如何才能从特定数字开始以 5 为单位计数。例如:我希望数字线从 140 开始,但每个 x 坐标以 5 为单位计数。

\documentclass[letterpaper,12pt]{book}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[line width=1pt,line cap=round,x=.5cm,y=.5cm]
                    \clip (0,-0.8) rectangle (10,1);
                    %   Inequality Line
                    \draw   [<->,thick]     (0,0) -- (10,0);
                    %   Tick Marks
                    \foreach \x in {1,2,...,9}
                    \draw (\x,-2pt) -- (\x,2pt) node [anchor=north,below=3pt] 
                    {$\scriptstyle \x$};
                    %   Displayed Solution
\end{tikzpicture}               
\end{document}

答案1

数值计算有很多种方法。以下示例使用 e-TeX 的\numexpr

\the\numexpr 135 + 5 * \x \relax

完整示例:

\documentclass[letterpaper,12pt]{book}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[line width=1pt,line cap=round,x=.5cm,y=.5cm]
  \clip (0,-0.8) rectangle (10,1);
  %   Inequality Line
  \draw   [<->,thick]     (0,0) -- (10,0);
  %   Tick Marks
  \foreach \x in {1,2,...,9}
  \draw (\x,-2pt) -- (\x,2pt) node [anchor=north,below=3pt]
  {$\scriptstyle \the\numexpr135+5*\x\relax$};
  %   Displayed Solution
\end{tikzpicture}
\end{document}

结果

答案2

\foreach循环内部的数值计算有很多种方法。这里有两种可能,一种是使用count,另一种是evaluate

\documentclass[preview, border=7mm]{standalone}
\usepackage{tikz}
\begin{document}
  \begin{tikzpicture}[line width=1pt,line cap=round,x=.5cm,y=.5cm]
    % axes
    \draw   [<->,thick]     (0,0) -- (10,0);
    % tick marks and numbers below
    \foreach[count=\x] \l in {140,145,...,180}
      \draw (\x,2pt) -- (\x,-2pt) node[blue, below,scale=.5]{$\l$};
    % numbers above
    \foreach[evaluate={\l=int(5*\x+135)}] \x in {1,...,9}
      \node[above,scale=.5,red] at (\x,2pt) {$\l$};
  \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容