提供参考资料,内容为“第 X 页上的第 X 节/图表等”

提供参考资料,内容为“第 X 页上的第 X 节/图表等”

我是 LaTeX 新手,这个问题很基础,但我尝试过解决,但无济于事。我不太了解 LaTeX 术语,所以我很希望得到一个完全初学者的答案。谢谢。

我想生成一个自动引用,其中说明 (1) 我所指的对象(部分、图表等)和 (2) 文档中的位置(如果在同一页上,则为“上方”/“下方”、下一页等)。当我加载两个包并使用时\vref,如果我将相关文本/代码部分复制到新的 Latex 文档中并运行两次,该过程就会起作用。它在原始 Latex 文档中不起作用。它不会生成“下一页的第 5 节”,而是生成“下一页的??”。

我能想到的两份文件之间唯一显著的区别是序言。这可能是问题所在吗?如果不是,那又是什么?

虚拟序言:

\documentclass[12pt,a4paper]{report}  
\usepackage[utf8]{inputenc}  
\usepackage[american]{babel}  
\usepackage{varioref}  
\usepackage{hyperref}  
\usepackage{cleveref}  
\begin{document}  

“真实”文件

\documentclass[12pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage[american]{babel} 
\usepackage{csquotes} 
\usepackage{enumitem}
\usepackage{verbatim}
\usepackage[style=mla,backend=biber]{biblatex}
\usepackage{hyperref}
\usepackage{rotating}
\usepackage{tcolorbox}
\usepackage{booktabs}
\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}
\begin{document}

\tableofcontents
\pagebreak

\chapter{Manuel}

\section{Text Passage Summary and Irrelevant Information}

\subsection{Text Passages and their Usage}

\subsection{Eliminating Irrelevant Information: Descriptive and Speculative Text}

\section{The Object}

\subsection{Identifying the Object}

\subsection{Summarizing Relevant Information Concerning the Object}
\textbf{Both or either the object and/or its surrounding text may contain relevant information}, so that both must be looked at carefully. Information is relevant if it provides particular kinds of details about what the party wants to do. What kind of information is relevant will be described in \vref{sec:means}. 

\pagebreak

\section{Identifying Relevant Information} \label{sec:means}

\end{document}    

答案1

正确的加载顺序应该是varioref,,hyperrefcleveref

在以下文档中交换varioref和的加载顺序将会产生警告,并且引用是错误的,因为钩子进入了标签系统,并且,在之后的调用,链接和标签以及所有的成果都被破坏。 hyperrefvariorefhyperrefvariorefhyperrefhyperref

\documentclass{book}
\usepackage{blindtext}
\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}
\begin{document}

See \vref{foosection}

\chapter{Foo chapter}\label{foochapter}
\blindtext
\section{Foo section} \label{foosection}
\blindtext[5]



\end{document}    

相关内容