使用子编号对齐多个 empheq 环境

使用子编号对齐多个 empheq 环境

我正在尝试创建 KKT 条件的漂亮显示,并为每个条件进行子编号。我已经能够使用\empheq包(问题末尾的 MWE)做到这一点。但是,这些排列并不整齐。

截屏

我尤其想调整不平等的限制对齐括号/描述。到目前为止,如果不丢失每个约束的编号,我无法实现这两个目标。任何帮助都值得感激。

我也愿意接受使用编号案例环境(例如\numcases)的解决方案,将括号/描述放在左侧,但到目前为止,这些方法似乎也存在相同的对齐问题。不过,在其他条件相同的情况下,我更喜欢将描述放在右侧的视觉效果。

平均能量损失

\documentclass{article}

\usepackage{amssymb, amsthm, amsmath}
\usepackage{mathtools, empheq}

\begin{document}
\begin{empheq}[right={\empheqrbrace \textrm{Primal Feasibility}}]{align}
                g_1(\mathbf{x}) & \leq 0 \\
                g_2(\mathbf{x}) & \leq 0
            \end{empheq}
            \begin{empheq}[right={\empheqrbrace \textrm{Dual Feasibility} }]{align}
                \sum_{i = 1}^m \lambda_i \nabla g_i(\mathbf{x}) & = \nabla f(\mathbf{x}) \\
                \lambda_i & \geq 0 \quad \forall i
            \end{empheq}
            \begin{empheq}[right={\empheqrbrace \textrm{Complementary Slackness}}]{align}
                \lambda_1 g_1(\mathbf{x}) & = 0 \\
                \lambda_2 g_2(\mathbf{x}) & = 0.
            \end{empheq}
\end{document}

答案1

黑客攻击,黑客攻击。;-)

\documentclass{article}

\usepackage{amssymb, amsthm, amsmath}
\usepackage{mathtools, empheq,eqparbox}

\newcommand{\eqmath}[3][l]{\eqmakebox[#2][#1]{$\displaystyle\if#1l{}\fi#3$}}
\newcommand{\ftext}[2]{\makebox[#1][l]{\textup{#2}}}

\begin{document}
\begin{empheq}[
  right=\empheqrbrace \ftext{10em}{Primal Feasibility}
]{align}
  \eqmath[r]{A}{g_1(\mathbf{x})} & \eqmath[l]{B}{\leq 0} \\
  \eqmath[r]{A}{g_2(\mathbf{x})} & \eqmath[l]{B}{\leq 0}
\end{empheq}
\begin{empheq}[
  right=\empheqrbrace \ftext{10em}{Dual Feasibility}
]{align}
  \eqmath[r]{A}{\sum_{i=1}^m \lambda_i \nabla g_i(\mathbf{x})} & \eqmath[l]{B}{= \nabla f(\mathbf{x})} \\
  \eqmath[r]{A}{\lambda_i} & \eqmath[l]{B}{\geq 0 \quad \forall i}
\end{empheq}
\begin{empheq}[
  right=\empheqrbrace \ftext{10em}{Complementary Slackness}
]{align}
  \eqmath[r]{A}{\lambda_1 g_1(\mathbf{x})} & \eqmath[l]{B}{= 0} \\
  \eqmath[r]{A}{\lambda_2 g_2(\mathbf{x})} & \eqmath[l]{B}{= 0}.
\end{empheq}

\end{document}

在此处输入图片描述

一种不同的黑客攻击:

\documentclass{article}

\usepackage{amssymb, amsthm, amsmath}

\begin{document}
\begin{align}
\multispan{2}\hfill\textit{Primal Feasibility}\hfill\notag\\
g_1(\mathbf{x}) & \leq 0 \\
g_2(\mathbf{x}) & \leq 0 \\[2ex]
\multispan{2}\hfill\textit{Dual Feasibility}\hfill\notag\\[-0.5ex]
\sum_{i=1}^m \lambda_i \nabla g_i(\mathbf{x}) & = \nabla f(\mathbf{x}) \\[-1ex]
\lambda_i & \geq 0 \quad \forall i \\[2ex]
\multispan{2}\hfill\textit{Complementary Slackness}\hfill\notag \\
\lambda_1 g_1(\mathbf{x}) & = 0 \\
\lambda_2 g_2(\mathbf{x}) & = 0.
\end{align}

\end{document}

在此处输入图片描述

相关内容