我正在寻求创建简单的数字线。我问过类似的问题:在数轴上重置 \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}