条件下的用户定义宏

条件下的用户定义宏

我是 LaTeX 新手,想在条件中使用当前垂直位置。我写了这个宏\ypos

\usepackage{zref-savepos}

\newcommand*{\ypos}[1]{%
  \zsavepos{#1}%
  \zposy{#1}%
}

如何在条件下使用此函数?这会产生错误:

\ifnum\ypos{Y1} > 0
\ifnum\value{\ypos{Y1}} > 0 
...
\fi

或者有没有办法只使用\zposy而不定义我自己的宏?

问候,Obi

答案1

定义宏的更好方法是这样的:

\documentclass[]{article}

\usepackage{zref-savepos}

\makeatletter
\newcommand*{\ifyposTF}[2]{%
  \zsavepos{#1}%
  \ifnum\zposy{#1}>#2\relax
    \expandafter\@firstoftwo
  \else
    \expandafter\@secondoftwo
  \fi}
\makeatother

用法:

\ifyposTF{Y1}{0}{<true>}{<false>}

相关内容