这是后续问题如果则否则奇数页/偶数页。
为什么这个简单的条件代码在课堂上不起作用tufte-book
?它在每个页面上都显示Even
!但它在课堂上运行良好book
。
\documentclass{tufte-book}
\usepackage{ifthen}
\newcounter{mycount}
\begin{document}
\noindent\whiledo{\themycount<130}{%
\label{mylabel\themycount}%
\ifthenelse{\isodd{\pageref{mylabel\themycount}}}%
{Odd\\}%
{Even\\}%
\stepcounter{mycount}%
}
\end{document}
答案1
这样比较好,但并不完美——页面的第一次检查总是错误的!
OP 不起作用的原因是\pageref
不可扩展,即其输出不能用于\ifthenelse
或任何其他\if....
应检查数字的条件,因此输出分支总是到 false branch
,即Even
。
\getpagerefnumber
但是,从refcount
包中可以扩展。
\documentclass{tufte-book}
\usepackage{ifthen}
\newcounter{mycount}
\usepackage{refcount}
\begin{document}
\noindent\whiledo{\themycount<130}{%
\refstepcounter{mycount}%
\label{mylabel\number\value{mycount}}%
\ifodd\getpagerefnumber{mylabel\number\value{mycount}}
Odd
\else
Even
\fi
}
\end{document}
答案2
\documentclass{tufte-book}
\usepackage{ifoddpage}
\newcounter{mycount}
\begin{document}
\parindent=0pt
\loop
\mbox{\checkoddpage
\ifoddpage Odd \else Even \fi}\\
\ifnum\themycount<130 \stepcounter{mycount}%
\repeat
\end{document}