参考标签所在的部分

参考标签所在的部分

我有以下带有一个标签的方程式:

\section{This is super math section}
\begin{eqnarray}
c + d \\
\label{eq:eq2}
a + b
\end{eqnarray}

但是如果我想获取方程式所在的部分编号并引用此部分(从编号中),该怎么办?

Equation \eqref{eq:eq2} on page \pageref{eq:eq2} in section \???{eq:eq2} is brilliant!

编辑:使用参考定义环境。

\documentclass[a4paper,11pt,twocolumn]{article}

\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{yhmath}

\usepackage{cleveref}

\theoremstyle{definition}
\newtheorem{defi}{Definition}[section]

\begin{document}

Definition \ref{def:def1} on page \pageref{def:def1} in section \cref{def:def1} is brilliant!

\section{Definitions}
\begin{defi}\label{def:def1}
This is body of definition.
\end{defi}
\end{document}

给出:定义 1.1 节第 1 页上的定义 1.1 非常精彩!

需要:第 1 节第 1 页的定义 1.1 非常精彩!

答案1

CTAN 中有许多软件包管理交叉引用。不幸的是,有些不兼容或必须按某种顺序加载。对于您的问题,解决方案可能\cref来自以下cleverref包:

平均能量损失

\documentclass{article}
% \usepackage{varioref} % before of hyperref and cleveref
\usepackage{amsmath}
\usepackage[colorlinks=true]{hyperref}
\usepackage{cleveref}

\begin{document}

Equation 
% \vref{eq:eq2} 
 \eqref{eq:eq2} 
% \vpageref{eq:eq2}
in   \cref{eq:eq2} 
named \nameref{eq:eq2} 
 is brilliant!
 \autoref{eq:eq1} is dull.



\section{This is super math section}
\begin{eqnarray}
\label{eq:eq1}
c + d \\
\label{eq:eq2}
a + b
\end{eqnarray}

\end{document}

编辑:对于带有 的问题的附加问题\newtheorem,另一种解决方案可能是smartref包:

微波辐射计

\documentclass{article}
\usepackage{amsthm}
\theoremstyle{definition}
\newtheorem{defi}{Definition}[section]

\usepackage{smartref}
\addtoreflist{section}

\begin{document}

Definition \ref{def:def1}
on page \pageref{def:def1} 
in section \sectionref{def:def1} is brilliant!

\section{Definitions}
\begin{defi}\label{def:def1}
This is body of definition.
\end{defi}
\end{document}

相关内容