我正在使用以下代码:
\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 定义约束时,就会出现以下问题:
- 新页面可以在“min”部分之后立即开始
- 当我使用标签 ref 时,它会显示问题 (3.2),但实际上,min tau 线并不在问题 3.2 中
- 在类似但更大的问题中,对齐看起来很奇怪
因此,我很高兴听到一些建议!
答案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}