
TikZ foreach 루프를 사용하여 문서를 만들고 있습니다. 다음은 스니펫입니다.
\documentclass{article}
\usepackage{tikz}
\begin{document}
\foreach \myi in {1,2,...,17}
{
hello(\myi)
\clearpage
\ifoddpage
A
\else
B
\fi
}
\end{document}
그러나 이로 인해 다음과 같은 오류가 발생합니다.
! Extra }, or forgotten \endgroup.
\pgffor@collectargument ...fter {\pgffor@body {#1}
}\else \expandafter \long ...
l.14 }
이 문제를 해결하는 방법에 대한 아이디어가 있습니까?
답변1
\ifoddpage
기본적으로 정의되어 있지 않습니다. 해당 패키지를 프리앰블에 추가하고 \checkoddpage
검사를 호출하기 전에 추가해야 합니다 \ifoddpage
.
\documentclass{article}
\usepackage{tikz,ifoddpage}
\begin{document}
\foreach \myi in {1,2,...,17}{%
\clearpage
\checkoddpage
\ifoddpage
A
\else
B
\fi
hello(\myi)
}
\end{document}
다음은 동일한 접근 방식입니다.refcount
:
\documentclass{article}
\usepackage{tikz,refcount}
\newcounter{oddpagelabel}
\newcommand{\checkoddpage}{\stepcounter{oddpagelabel}\label{opl-\theoddpagelabel}}
\begin{document}
\foreach \myi in {1,2,...,17}{%
\clearpage
\checkoddpage
\ifodd\getpagerefnumber{opl-\theoddpagelabel}
A
\else
B
\fi
hello(\myi)
}
\end{document}