Varioref 没有以正确的方式引用同一页面,即“在此页面上”

Varioref 没有以正确的方式引用同一页面,即“在此页面上”

我的包裹有问题varioref

每当我想引用与参考文献位于同一页的内容时,varioref通常会打印类似“X on this page”或“X auf dieser Seite”(德语)(X = 标签编号)的内容,但今天我尝试varioref再次使用(在我重新安装了 MiKTeX 之后,因为 API 1113 错误或更新后更新管理器出现问题 -- 已修复 \o/),当参考文献与我想要引用的内容位于同一页时,我只能得到“X on page Y”(Y = 页码)。如果下一页或前一页上有内容,则输出是正确的(例如“X on the previous page”)。

这是一个(希望或多或少)最小的例子:

\documentclass[english]{article}
\usepackage{babel}
\usepackage{varioref} 
\begin{document}
\section{Bla}\label{bla}
Haha, \vref{bla}. {\reftextcurrent} \clearpage
Haha, \vref{bla}.
\end{document}

我使用 pdfTeX 得到的结果是:

%%%%%%%%%%%%% 第 1 页

1 Bla Haha, 1 在第 1 页。在此页

%%%%%%%%%%%% 第2页

哈哈,上一页1个。

(我只包括了{\reftextcurrent}以查看通常使用的文本是否varioref可能被意外重新定义。)

有谁能解决这个问题?

答案1

根据varioref文档的第 1 页,仅当标签和参考位于同一页面上时才 \reftextcurrent由命令使用- 在这种情况下只会产生一个(即章节编号)。\vpageref\vref\ref

\documentclass[english]{article}
\usepackage{babel}
\usepackage{varioref} 
\begin{document}
\section{Bla}\label{bla}
Haha, \vref{bla}.
Haha, \vpageref{bla}.
\clearpage
Haha, \vref{bla}.
Haha, \vpageref{bla}.
\end{document}

相关内容