引用方程的部分

引用方程的部分

我想知道是否有办法引用方程式所在的部分。

\documentclass{article}
\begin{document}
\section{section 1}\label{sec:first}
\begin{equation}\label{eq:eq1}
    1+1=2 \\
\end{equation}

\section{section2}\label{sec:second}
From equation \eqref{eq:eq1} in section \ref{sec:first}...
\end{document}

基本上,我想\ref{sec:first}用对方程的引用来替换并获取它所在的部分。提前谢谢您!

答案1

您可能想要将章节编号添加到方程编号中。

这样,每个对方程的引用也包含章节编号,您不必添加诸如此类的内容\ref{sec:first}

您只需要在序言中添加这一行:

\numberwithin{equation}{section}

梅威瑟:

\documentclass{article}
\usepackage{amsmath}
\numberwithin{equation}{section}

\begin{document}
\section{section 1}\label{sec:first}
\begin{equation}\label{eq:eq1}
    1+1=2 \\
\end{equation}

\section{section2}\label{sec:second}
\begin{equation}\label{eq:eq2}
    2+2=4 \\
\end{equation}

From equation \eqref{eq:eq1}...
\end{document} 

输出:

在此处输入图片描述

答案2

如果你想要获取参考文献的章节编号,你必须使用一些技巧,例如包zref。类似问题已经有解决方案了从公式参考中提取节号但是,功劳应该归于 Werner ;-)

我的版本使用功能设置了一个特殊标签zref,但是,您必须同时使用\label{eq:eq1}两者\localspeciallabel{eq:eq1},但我将其包装成一个通用\commonlabel{eq:eq1}命令。

对该部分的引用是通过\eqsecref{eq:eq1}等完成的。我将名称从 更改为\eqref,因为包中已经有一个同名的命令amsmath

\documentclass{article}
\usepackage{zref}

\makeatletter
\zref@newlist{specialreflist}
\zref@newprop{section}{\arabic{section}}
\zref@addprop{specialreflist}{section}
\newcommand*{\localspeciallabel}[1]{\zref@labelbylist{#1}{specialreflist}}%

\newcommand*{\eqsecref}[1]{%
% Do formatting of number here or outside
\zref@extractdefault{#1}{section}{??}
}%
\makeatother


\newcommand{\commonlabel}[1]{%
\label{#1}%
\localspeciallabel{#1}%
}%

\begin{document}


\section{section 1}\label{sec:first}

\section{section2}\label{sec:second}
\begin{equation}\commonlabel{eq:eq1}
    1+1=2 \\
\end{equation}



\section{section 3}%\label{sec:three}

\begin{equation}\commonlabel{eq:eq2}
    \sqrt{2} \approx 1.414 \\
\end{equation}

From equation \ref{eq:eq1} in section \eqsecref{eq:eq1} it is clear that\ldots, whereas equation \ref{eq:eq2} in section \eqsecref{eq:eq2} shows that\ldots

\end{document}

在此处输入图片描述

相关内容