非常感谢 K. Paul 和 Ignasi ❤ 你们为我提供了完全适合我的文档的解决方案!但是——好吧——当两个答案都正确时,我应该将哪个答案标记为“接受”?
答案1
一个增加计数器的命令equation
,可以放在你想要的位置,可以工作:
\documentclass{article}
\usepackage{amsmath}
\usepackage{hyperref}
\newcommand{\myeq}[1]{\hfill{\refstepcounter{equation}(\theequation)\label{#1}}}
\begin{document}
We have $1+1=2$. \myeq{1}
Besides, we already have $3-1=2$. \myeq{2}
This is a nonnumbered equation
\[
x+y=z+d
\]
Another equation with number
\begin{equation}
x+y=z+d
\end{equation}
Another inline expression $a+b=2$. \myeq{z}
Since \ref{1} and \ref{2} we get $1+1=3-1$. And with \ref{z} \dots
\end{document}
答案2
您需要amsmath
和hyperref
包:
\documentclass[10pt]{article}
\usepackage{amsmath}
\usepackage{hyperref}
\begin{document}
\begin{flalign}
\textrm{We have }1+1=2&&\label{eq:1}
\end{flalign}
\begin{flalign}
\textrm{Besides, we already have }3-1=2&&\label{eq:2}
\end{flalign}
Since \eqref{eq:1} and \eqref{eq:2} we get $1+1=3-1$
\end{document}
环境flalign
由包提供amsmath
。确保&&
在每个方程式后添加符号,使它们左对齐。标签由\label{eq:n}
每个flalign
环境中的命令完成。内联引用由命令完成\eqref{eq:n}
。(我n
在描述方程式编号时使用了它。)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
上面的解决方案是部分解决方案,仅适用于显示的方程式。下面给出了一个解决方案专门用于直线方程:
\documentclass[10pt]{article}
\usepackage{amsmath}
\usepackage{hyperref}
\newcommand{\plusone}{\refstepcounter{equation}(\theequation)}
\begin{document}
\begin{flalign}
\textrm{We have }1+1=2&&\label{eq:1}
\end{flalign}
\noindent Writing an in-line math equation \(E=mc^2\) and filling up some space so that
this sentence covers more than one line... \hfill \(\plusone \label{eq:2}\)
\begin{flalign}
\textrm{Besides, we already have }3-1=2&&\label{eq:3}
\end{flalign}
Since \eqref{eq:1} and \eqref{eq:3} we get $1+1=3-1$. \eqref{eq:2} is irrelevant but hey,
it was a good example.
\end{document}
\refstepcounter{equation}(\theequation)
增加方程数,因此每次需要引用内联方程时,请在段落末尾添加此标记。我制作了一个宏,这样就不需要一直写那么长的代码了。每次增加后都要记住label
和。使用 ( ) 是为了在每个段落后始终刷新。在最后一句后使用它来仅刷新右侧的编号部分。编译会打印以下内容:eqref
\hfill
n