如何才能快速确定论文的最佳“参考文献”pdflatex
是什么hyperref
?
读了几个小时后,我所知道的
ref
可供所有不了解其他 ~ref 的人使用,并且运行稳定\vref
varioref
以某种方式与 hyperref 一起工作有时会造成分页问题\cref
在cleveref
仍处于测试阶段(?)(编辑:不再是测试版)并且和 varioref 功能相同
我必须问自己哪些基本问题才能确定哪种方法最适合?
答案1
您当然可以同时加载varioref
和cleveref
和hyperref
只要你按照以下顺序加载它们
\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}
他们在一起玩得很开心。
varioref
在我写论文的时候,它们cleveref
都不在,但我目前正在处理一个多章节的文档,我同时使用它们。以下是我发现的良好工作流程:
- 至少,使用
\cref
和朋友(来自cleveref
)代替\ref
。这意味着,例如,您永远不必担心在引用时是否必须大写Figure
或;而不是说您只是使用。也许你会改变主意并最终使用;在这种情况下,您可以使用 和进行全局更改figure
figure
Figure \ref{fig:myfig}
\cref{fig:myfig}
fig.
\crefname
\Crefname
- 使用
\vref
和朋友(来自varioref
)来指代文本中距离当前位置“很远”的对象;我目前的规则是,\vref
当指代不同位置中的某物时使用section
。有些人可能会说这不是很健壮,但如果你指代的对象靠近,\vref
仍然可以正常工作。如果你加载,cleveref
那么也会\vref
变得很聪明,所以你只需写\vref{fig:myfig}
,而不是Figure \vref{fig:myfig}
varioref
如果您允许hyperlinks
中断,并且引用恰好中断到页面之外,从而将引用从“此页面”更改为“下一页”,则会出现您所描述的问题。在这种情况下,您必须手动进行调整 - 如果您使用我上面描述的工作流程,并且仅将其用于\vref
“远距离”引用和\cref
其他所有内容,那么这将不是问题。
下面是一个 MWE,用于说明其中的一些功能:
\documentclass{report}
\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}
% each of the following has two versions
% \crefname{environmentname}{singular}{plural}, to be used mid-sentence
% \Crefname{environmentname}{singular}{plural}, to be used at the beginning of a sentence
\crefname{table}{table}{tables}
\Crefname{table}{Table}{Tables}
\crefname{figure}{figure}{figures}
\Crefname{figure}{Figure}{Figures}
\begin{document}
\begin{figure}[!htb]
\centering
\rule{20pt}{20pt}
\caption{My figure}
\label{fig:myfig}
\end{figure}
\clearpage
\begin{itemize}
\item Use \cref{fig:myfig} mid sentence.
\item \Cref{fig:myfig} is appropriate for the beginning of a sentence.
\item Use \vref{fig:myfig} mid sentence, note that it has become `clever'.
\item \Vref{fig:myfig} is appropriate for the beginning of a sentence.
\end{itemize}
\end{document}
编辑以下评论
varioref 的问题太多了。没人有时间去解决它们。因此,这个包现在不受支持。
事实上,正如@Mico 所说使用 intertext 与 varioref 和 hyperref 丢失标签,cleveref
除了加载包之外varioref
,hyperref
似乎还消除了很多问题,因为cleveref
重新定义\vref
和朋友来制作它们clever
。