我正在编写一份文档,其中需要特定的交叉引用(我知道这听起来很奇怪,但我有充分的理由查看它)。我想知道我如何才能以这样的方式编写序言,即当我编写
\section{Ciao}
Interesting equation:
\begin{equation}\label{ab}
a=b
\end{equation}
\section{Ciao ciao}
Another Interesting equation
\begin{equation}
c=d
\end{equation}
and another equation too
\begin{equation}\label{ef}
e=f
\end{equation}
Now consider \eqref{ab} and \eqref{ef}
我不明白
但我得到的却是
换句话说,我需要从 1 开始计算每个部分的方程式,这很容易通过添加\usepackage{chngcntr} \counterwithin*{equation}{section}
到序言中来实现,但我还需要当交叉引用转到另一个部分的方程式时,以那种方式将该部分写在括号内(或者以读者可以理解的其他方式正确地转到所引用的方程式)。有没有简单的方法可以做到这一点?谢谢!
答案1
问题的代码片段不完整,将必要的行添加到完整的示例中:
\documentclass{report}
\usepackage{amsmath}
\usepackage{chngcntr}
\counterwithin*{equation}{section}
\begin{document}
\section{Ciao}
Interesting equation:
\begin{equation}\label{ab}
a=b
\end{equation}
\section{Ciao ciao}
Another Interesting equation
\begin{equation}
c=d
\end{equation}
and another equation too
\begin{equation}\label{ef}
e=f
\end{equation}
Now consider \eqref{ab} and \eqref{ef}
\end{document}
没有显示问题,参考的是:(1) and (2)
。
可能您有多个定义的标签,例如:
\documentclass{report}
\usepackage{amsmath}
\usepackage{chngcntr}
\counterwithin*{equation}{section}
\begin{document}
\section{Ciao}
Interesting equation:
\begin{equation}\label{ab}
a=b
\end{equation}
\section{Ciao ciao}
Another Interesting equation
\begin{equation}
c=d
\end{equation}
and another equation too
\begin{equation}\label{ef}
e=f
\end{equation}
Now consider \eqref{ab} and \eqref{ef}
\chapter{foo}
\section{bar}
\label{ab}
\end{document}
这会(1.1) and (2)
在 .log 文件中产生警告:
LaTeX Warning: Label `ab' multiply defined.
最后:
LaTeX Warning: There were multiply-defined labels.