在我之前的帖子,问一下如何为xsim
包保存随机数。
现在我想知道当将这些随机数插入到图片中时该如何做到这一点TikZ
。
我的计数器怎么了?为什么它只打印最后练习的答案?
\documentclass{article}
\usepackage{pgf}
\usepackage{pgffor}
\pgfmathsetseed{\number\pdfrandomseed}
\usepackage{tikz}
\usepackage{xsim}
\newcounter{ExNum}
\newcommand{\InitVariables}{%
\stepcounter{ExNum}
\pgfmathrandominteger{\IntegerPoint}{3}{10}
\expandafter\edef\csname IntegerPoint\number\value{ExNum}\endcsname{\IntegerPoint}
}
\newcommand{\NumberLine}{%
\begin{tikzpicture}[xscale=1]
\draw[thick] (0,0)--(10,0);
\foreach \x in {0,1,2}{
\node at (\x,-1) {\large \x};
}
\foreach \x in {0,1,2,...,10}{
\draw[thick] (\x,-0.35)--(\x,0.35);
}
\filldraw [red, opacity=0.4]
(\csname IntegerPoint\number\value{ExNum}\endcsname,0) circle (0.15cm) ;
\end{tikzpicture}
}
\newcommand{\Exercise}{%
\NumberLine
}
\newcommand{\Solution}{%
$\csname IntegerPoint\number\value{ExNum}\endcsname$
}
\setlength{\parindent}{0cm}
\begin{document}
Where is the dot?
\InitVariables
\begin{exercise}
\Exercise
\end{exercise}
\begin{solution}
\Solution
\end{solution}
\InitVariables
\begin{exercise}
\Exercise
\end{exercise}
\begin{solution}
\Solution
\end{solution}
\printallsolutions
\end{document}
答案1
与上一个问题一样,这是一个扩展和时间安排的问题。两种情况下的解决方案都是\Solution
。\Solution
指的是计数器的当前值,ExNum
不幸的是,在打印解决方案时,所有练习的值都是相同的:即在之前设置的最后一个值\printallsolutions
。
我们可以尝试扩展解决方案环境的主体。但我建议使用另一种解决方案。不要使用新的计数器,而是使用对练习/解决方案对来说独一无二的东西。xsim
已经提供了一些东西:\ExerciseID
。
下面是使用该代码的修改版本:
\documentclass{article}
\usepackage{tikz}
\pgfmathsetseed{\number\pdfrandomseed}
\usepackage{xsim}
\newcommand{\InitVariables}{%
\pgfmathrandominteger{\IntegerPoint}{3}{10}%
}
\newcommand{\NumberLine}{%
\begin{tikzpicture}[xscale=1]
\draw[thick] (0,0)--(10,0);
\foreach \x in {0,1,2}{
\node at (\x,-1) {\large \x};
}
\foreach \x in {0,1,2,...,10}{
\draw[thick] (\x,-0.35)--(\x,0.35);
}
\filldraw [red, opacity=0.4] (\IntegerPoint,0) circle (0.15cm) ;
\end{tikzpicture}
}
\newcommand{\Exercise}{%
\NumberLine
\expandafter\xdef\csname IntegerPoint\ExerciseID\endcsname{\IntegerPoint}%
}
\newcommand{\Solution}{%
$\csname IntegerPoint\ExerciseID\endcsname$%
}
\begin{document}
Where is the dot?
\InitVariables
\begin{exercise}
\Exercise
\end{exercise}
\begin{solution}
\Solution
\end{solution}
\InitVariables
\begin{exercise}
\Exercise
\end{exercise}
\begin{solution}
\Solution
\end{solution}
\printallsolutions
\end{document}