flacards 和 forloop 可以工作,但 tikz foreach 不行

flacards 和 forloop 可以工作,但 tikz foreach 不行

在您的帮助下,我的闪存卡\forloop可以使用了。我尝试使用\foreach(tikz),但它不起作用。pdf 文件只包含右下角的一张闪存卡、第 24 张卡和第 48 张卡……

最小的非工作示例是:

    \documentclass{flacards}
    \usepackage[frenchb]{babel}
    \usepackage{tikz} 
    \begin{document}

    \foreach \x in {1,2,...,50}{\card{a}{b}}

    \end{document}

但该\forloop版本可以正常工作:

    \documentclass{flacards}
    \usepackage[frenchb]{babel}
    \usepackage{forloop} 
    \begin{document}

    \newcounter{compteura}
    \forloop{compteura}{1}{\value{compteura} < 11}{\card{a}{b}}

    \end{document}

我更喜欢使用tikz它来进行数学运算。在此之前,我使用包calc在计数器上进行数学运算。

答案1

我认为问题在于,事实上,\foreach所有事情都是在一个小组内完成的,而这,出于某种原因,与卡片生产相冲突标语牌;实际上只打印了每页的最后一张卡片。

为了验证我的断言是否正确,我进行了以下测试:

\documentclass{minimal}
\usepackage{tikz}
\begin{document}
\foreach \x in {1}{\def\pippo{X}}
\show\pippo
\stop

并且 TeX 会提示

> \pippo=undefined.
l.5 \show\pippo

不幸的是,删除由 开始的组\foreach似乎也没有什么作用(很可能使用了其他组)。

如果您只在以下情况下需要该\foreach函数,那么{1,2,...,50}很容易用其他循环替换它,正如您已经知道的那样。如果需要“列表”处理,请更新您的问题。使用电子工具箱处理值列表非常方便。

相关内容