我想知道如何在 align 环境中标记每个方程?例如
\begin{align} \label{eq:lnnonspbb}
\lambda_i + \mu_i = 0 \\
\mu_i \xi_i = 0 \\
\lambda_i [y_i( w^T x_i + b) - 1 + \xi_i] = 0
\end{align}
只标注第一个方程,后面只能引用第一个方程。
在您的情况下,您可以分别标记每一行:
\begin{align}
\lambda_i + \mu_i = 0 \label{eq:1}\\
\mu_i \xi_i = 0 \label{eq:2}\\
\lambda_i [y_i( w^T x_i + b) - 1 + \xi_i] = 0 \label{eq:3}
\end{align}
请注意,这仅适用于为多个方程设计的 AMS 环境(与多行单方程相反)。
通常我的对齐环境设置为
\begin{align}
\label{eqn1}
\lambda_i + \mu_i = 0 \\
\label{eqn2}
\mu_i \xi_i = 0 \\
\label{eqn3}
\lambda_i [y_i( w^T x_i + b) - 1 + \xi_i] = 0
\end{align}
\label 命令应该放在您要引用的行中,行中的位置无关紧要。我更喜欢把它放在行的开头(作为一种描述),而其他人把它们放在最后。
\tag
也适用于align*
. 例子:
\begin{align*}
a(x)^{2} &= bx\tag{1}\\
a(x)^{2} &= b\tag{2}\\
ax &= b\tag{3}\\
a(x)^{2}+bx &= c\tag{4}\\
a(x)^{2}+c &= bx\tag{5}\\
a(x)^{2} &= bx+c\tag{6}\\ \\
Where\quad a, b, c \, \in N
\end{align*}
输出:
像这样
\begin{align}
x_{\rm L} & = L \int{\cos\theta\left(\xi\right) d\xi}, \label{eq_1} \\\\
y_{\rm L} & = L \int{\sin\theta\left(\xi\right) d\xi}, \nonumber
\end{align}
align
在包的环境中,amsmath
可以结合使用\label
和\tag
为每个方程或线。例如,代码:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Write
\begin{align}
x+y\label{eq:eq1}\tag{Aa}\\
x+z\label{eq:eq2}\tag{Bb}\\
y-z\label{eq:eq3}\tag{Cc}\\
y-2z\nonumber
\end{align}
then cite \eqref{eq:eq1} and \eqref{eq:eq2} or \eqref{eq:eq3} separately.
\end{document}
产生: