我是 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>}