检测我是在左侧页面还是右侧页面?

检测我是在左侧页面还是右侧页面?

如何检测我是在左侧页面还是右侧页面?

我想定义一个带有条件语句的自定义命令,如果它在左侧页面上则执行某个命令,如果它在右侧页面上则执行另一个命令。

该命令将在页面主体中执行。

答案1

尝试:

\documentclass[a4paper]{book}
\begin{document}
  ~\newpage
  \ifodd\thepage I am an odd page\else I am an even page \fi
  ~\newpage
  \ifodd\thepage I am an odd page\else I am an even page \fi
\end{document}

编辑:如果您使用罗马页码,这将有效:

\documentclass[a4paper]{book}   
\begin{document}
  \pagenumbering{roman}
  ~\newpage
  \makeatletter\ifodd\c@page I am an odd page\else I am an even page \fi\makeatother
  ~\newpage
  \makeatletter\ifodd\c@page I am an odd page\else I am an even page \fi\makeatother
\end{document}

答案2

在 ConTeXt 中,定义此类自定义命令的标准方法是:

\signalrightpage % Synchronize page state
\doifrightpageelse{...if on right page...}{...if on left page...}

相关内容