
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}