\veqref{} 命令类似于 \vref...来自 varioref 包

\veqref{} 命令类似于 \vref...来自 varioref 包

1)该varioref包给出\vref,其输出如下......

图~\ref{fig:test}在第~页\pageref{fig:test}

2)该amsmath包给出\eqref{},其输出如下......

等式(1.5),即它不会打印普通数字 1.5,而是打印(1.5)

现在的问题是......是否有像“veqref”这样的命令,可以给出 put 作为

\eqref{eq:test}第~页上的方程~ \pageref{eq:test},类似于第 30 页上的方程 (1.5)

我不知道该怎么做...


感谢 cmhughes 的回答...

我添加了 Eq.~ 如下...

\labelformat{equation}{Eq.~\tagform@{#1}}

再举一个例子...

\documentclass{book}
\usepackage{amsmath}
\usepackage{varioref}


% this bit makes sure that the number is typeset upright- needs amsmath
\makeatletter
\labelformat{equation}{Eq.~\tagform@{#1}}
\makeatother

\begin{document}

\chapter{One}
Bla bla bla...
\begin{equation}\label{eq:myequation}
    f(x)=x^2+\sin(x)
\end{equation}
Here is a reference: \vref{eq:myequation}.
\emph{Here is another reference: \vref{eq:myequation}.}

\clearpage
Bla bla bla...\\
See \vref{eq:myequation} and use it.

\chapter{Two}
Bla bla bla...\\
See \vref{eq:myequation} and use it.


\end{document}

答案1

文档第 2.3 节详细介绍了您可以使用

\labelformat{equation}{(#1)}

这样它就\vref可以像您希望的那样对方程进行运算。

事实上,根据 egreg 的评论,应该将参考文献排版为直立,即使它包含在(例如)斜体的环境中。

在此处输入图片描述

完整的 MWE 如下。

\documentclass{article}
\usepackage{amsmath}
\usepackage{varioref}

% this bit makes sure that the number is typeset upright- needs amsmath
\makeatletter
\labelformat{equation}{\tagform@{#1}}
\makeatother

\begin{document}

\begin{equation}\label{eq:myequation}
    f(x)=x^2+\sin(x)
\end{equation}
Here is a reference: \vref{eq:myequation}.

\emph{Here is another reference: \vref{eq:myequation}.}
\end{document}

答案2

我建议你看一下这个包聪明人.根据其描述:

[该]软件包增强了 LaTeX 的交叉引用功能,可以根据引用类型自动确定引用格式。所用的格式可在文档的序言中自定义。

我自己也在用它,非常灵活和可配置。

下面是一个 MWE,展示了 的用法cleveref

\documentclass{article}
\usepackage{cleveref}

\begin{document}

\begin{equation}\label{eq:myequation}
    f(x)=x^2+\sin(x)
\end{equation}

Here is a reference to \cref{eq:myequation}. 

Here is a reference to the number alone:
\labelcref{eq:myequation}.

\emph{Here is another reference, see the upright  
reference number without any additional commands or  
packages:
 \cref{eq:myequation}.}

\end{document}

使用labelformatinvarioref有一些限制,这些限制在第 5 页中进行了描述cleveref 的手册.cleveref有自己的labelformat,也在手册中描述(针对更高级的用户)。

您无需为图表或页面命名。对稿件中另一页上的公式的引用应这样写:

See \cref{eq:myequation} on \cpageref{eq:myequation}

相关内容