使用 fmtcount 进行 Fancyref

使用 fmtcount 进行 Fancyref

当我使用fancyrefvario选项时:

\usepackage[vario]{fancyref}
\newcommand{\figvref}[1]{\figurename~\vref{#1}}
\newcommand{\tabvref}[1]{\tablename~\vref{#1}}

上述操作会产生这样的结果,例如,当引用下一页(假设是第 3 页)上的图形(假设是图 1)时,将产生以下结果:

"bla bla bla as per Figure 1 on page 3"

但是,我希望使用“fmtcount”包来格式化上面的“第 3 页”部分:

\usepackage{fmtcount}
\newcommand{\wordnum}[1]{\numberstringnum{#1} (#1)}

因此,上述示例应采用以下格式:

"bla bla bla as per Figure 1 on page three (3)"

有人可以告诉我如何使用fmtcountfancyref

答案1

您可以按照手册中的示例重新定义\reftextfaraway使用: 。这会将页码保存在 中,然后可以将其用作 的 的参数:\vrefpagenumvarioref\vrefpagenum{<macro>}{<label>}<macro>fmtcount\numberstringnum

\documentclass{article}
\usepackage{varioref,fmtcount}

\renewcommand*\reftextfaraway[1]{%
  \vrefpagenum\fignum{#1}%
  on page \numberstringnum{\fignum}~(\pageref{#1})%
}

\begin{document}

\figurename~\vref{fig:foo}

\newpage
\null\newpage
\null\newpage

\begin{figure}
  \caption{foo bar}\label{fig:foo}
\end{figure}

\end{document}

相关内容