有条件地结束 tikzpicture 环境会导致“缺少}插入”

有条件地结束 tikzpicture 环境会导致“缺少}插入”

我想创建多个 tikzpicture。我有许多想要绘制的项目。每个 tikzpicture 占据一整页,最多可包含 4 个项目。(将每个项目放在自己的 tikzpicture 中是不够的。)因此,如果有 16 个项目,我将需要 4 个 tikzpicture,但如果有 17 个,我将需要 5 个。我以为我可以使用计数器循环遍历列表中的项目,并在适当的点开始和结束 tikzpicture(如果最后一个没有满,则在末尾结束任何打开的 tikzpicture)。但是它不起作用。如果我在end{tikzpicture}循环结束时点击,那么我得到Missing } inserted。我预计这与 TeX 组有关,但我不知道如何以绕过组的方式处理环境。

这是一个最小的例子。

\documentclass{minimal}

\usepackage{tikz}

\newcounter{mycounter}

\def\iteration{%
    \stepcounter{mycounter}%
    \ifnum5=\value{mycounter}%
        \setcounter{mycounter}{1}%
        \begin{tikzpicture}%
    \fi%
    \draw (0, 0) -- (1, 0);%
    \ifnum4=\value{mycounter}%
        \end{tikzpicture}%
    \fi%
}

\begin{document}%
    \setcounter{mycounter}{4}%
    \foreach \x in {1, 2, 3, 4, 5, 6} {\iteration}%
    \ifnum4>\value{mycounter}%
        \end{tikzpicture}%
    \fi%
\end{document}

相关内容