Subnumcases 作为 align 的一部分

Subnumcases 作为 align 的一部分

我正在使用以下代码:

\documentclass{article}
\usepackage{cases}
\usepackage{amsmath,amsfonts}
\begin{document}

\begin{align*}
    \underset{\tau \in \mathbb{R}}{\min} \ \tau
\end{align*}
\begin{subnumcases}{\textrm{s.t.} \ \forall w \in {dom} f^*, \exists \lambda \in \mathbb{R}^q: }
    d^\top \lambda + w^\top b - f^*(w) \leq 0 \\
    D^\top \lambda \geq A^\top w \\
    \lambda \geq \mathbf{0}
\end{subnumcases}

\end{document}

要生成以下内容: 在此处输入图片描述

我对结果很满意,但我觉得我做的不对。最小项和 st 项都属于同一个优化问题。当我用 align* 定义最小化线并用 subnumcases 定义约束时,就会出现以下问题:

  1. 新页面可以在“min”部分之后立即开始
  2. 当我使用标签 ref 时,它会显示问题 (3.2),但实际上,min tau 线并不在问题 3.2 中
  3. 在类似但更大的问题中,对齐看起来很奇怪

因此,我很高兴听到一些建议!

答案1

我可能只会使用,cases但如果你确实想要subnumcases布局,你可以使用minipage来将东西放在一起。

在此处输入图片描述

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools,amsfonts,cases}
\DeclareMathOperator\dom{dom}
\begin{document}

using gather
\begin{gather*}
    \min_{\tau \in \mathbb{R}} \tau\\
\shortintertext{s.t.}
\forall w \in \dom f^*, \exists \lambda \in \mathbb{R}^q
\begin{cases}
    d^\top \lambda + w^\top b - f^*(w) \leq 0 \\
    D^\top \lambda \geq A^\top w \\
    \lambda \geq \mathbf{0}
\end{cases}
\end{gather*}


a\\a\\a\\a\\a\\a\\a\\a\\
a\\a\\a\\a\\a\\a\\a\\a\\
a\\a\\a\\a\\a\\a\\a\\a\\
a\\a\\a\\a\\a\\a\\a\\a\\
a\\a\\a

using [\\
\noindent\begin{minipage}{\textwidth}
\noindent\[
    \min_{\tau \in \mathbb{R}} \tau\\
\]
s.t.
\begin{subnumcases}
{\forall w \in \dom f^*, \exists \lambda \in \mathbb{R}^q}
    d^\top \lambda + w^\top b - f^*(w) \leq 0 \\
    D^\top \lambda \geq A^\top w \\
    \lambda \geq \mathbf{0}
\end{subnumcases}
\end{minipage}
\end{document}

答案2

我建议使用包中的工具来设计这种变体布局optidef,专用于优化问题的布局:

\documentclass{article}
\usepackage{mathtools, amsfonts}
\usepackage[short]{optidef}
\usepackage{cleveref} 
\DeclareMathOperator{\dom}{dom}

\begin{document}

    \begin{mini!}
        {\mathclap{\tau\in\mathbb{R}}}{\tau \notag}
        {}{}
        \addConstraint{}{ d^\top \lambda + w^\top b - f^*(w) \leq 0\label{eqa}}
        \addConstraint{\forall w \in \dom f^*, \exists \lambda \in \mathbb{R}^q:\smash{\begin{cases}\\\\\\\end{cases}}\hspace*{-1em}}{D^\top \lambda \geq A^\top w \label{eqb}}
        \addConstraint{}{\lambda \geq \mathbf{0}\label{eqc}}
   \end{mini!}
We can see from \cref{eqa,eqb,eqc}

\end{document} 

在此处输入图片描述

相关内容