我最近发现了 autonum 包,它允许只对引用的方程式进行编号。这很棒,但我经常在多行上编写优化问题,并且想要一种“全有或全无”的方法:要么引用一行并编号整个问题,要么什么都不引用,根本不编号。这可能吗?
作为第二种选择,我想强制手动对整个问题进行编号,有什么办法吗?
这是一个最小的工作示例,我希望对其中的两行都进行编号。
\documentclass{article}
\usepackage{amsmath,cleveref,autonum}
\begin{document}
\begin{subequations}
\begin{align}
\min_x \quad & f(x) \\
s.t. \quad & g(x) \leq 0 \label{cst}
\end{align}
\end{subequations}
Constraint is \ref{cst}
\end{document}
答案1
该包中的文档autonum
表明:
在极少数情况下,如果某个方程非常重要且未在文中引用,但其他人想要引用该方程,则可以使用 \begin{equation+} 和 \end{equation+}。然后,在所有情况下(无论是否有标签,是否被引用)都会对方程进行编号。
另一种可能性:在里面,align
你可以用 来判断哪一行不应该编号\nonumber
。如果你希望所有方程式都不编号,只需使用align*
,因此autonum
你可以像这样使用它:
\documentclass{article}
\usepackage{amsmath}%,cleveref,autonum}
\begin{document}
Both equations numbered:
\begin{subequations}
\begin{align}
\min_x \quad & f(x) \\
s.t. \quad & g(x) \leq 0 \label{cst}
\end{align}
\end{subequations}
Only last equation numbered:
\begin{subequations}
\begin{align}
\min_x \quad & f(x) \nonumber\\
s.t. \quad & g(x) \leq 0 \label{cst}
\end{align}
\end{subequations}
No numbering at all:
\begin{subequations}
\begin{align*}
\min_x \quad & f(x) \\
s.t. \quad & g(x) \leq 0
\end{align*}
\end{subequations}
\end{document}