Выравнивание уравнения из нескольких столбцов по левому краю

Выравнивание уравнения из нескольких столбцов по левому краю

Мне бы хотелось, чтобы некоторые уравнения были выровнены по левому краю, вписаны в текст, номера уравнений были выровнены по правому краю, а средний столбец был выровнен сам по себе.

Решениездесьи другие решения, использующие alignat, похоже, не обеспечивают выравнивание текста по левому краю. Я также не хочу использовать класс документа fleqn, так как он влияет на вид других уравнений.

Ниже я успешно получил желаемый вид, но создав два разных объекта flalign, и это оставляет между ними некрасивое пространство. Я бы предпочел один объект flalign, для аккуратности и для удаления зазора.

\documentclass[journal]{IEEEtran}
\usepackage[cmex10]{amsmath}
\begin{document}
\begin{flalign}
\text{minimize} \; cost =&\sum\limits_{g,t} {{\lambda _{g,t}}p_{g,t}^{sch}} \label{7} & \\
&+ \sum\limits_t {{\lambda ^{shed}}c_t^{shed}} &\nonumber \\
&- \sum\limits_t {{\lambda ^{spill}}w_t^{spill}} &\nonumber
\end{flalign}
\begin{flalign}
& \text{s.t.} \nonumber &\\
& \sum\limits_g {p_{g,t}^{sch}}  + w_{t}^{DA} - w_{t}^{spill} + c_{t}^{shed} = {c_{t}^{DA}} &&\forall t \label{8} &\\
& p_{g,t}^{sch} \ge P_g^{\min } && \forall g,t \label{9} &\\
\end{flalign}
\end{document}

Вот что получилось:

снимок экрана вывода tex

Это самое близкое, чего мне удалось добиться при создании одного объекта flalign:

\begin{flalign}
\text{minimize} \; cost =&\sum\limits_{g,t} {{\lambda _{g,t}}p_{g,t}^{sch}} \label{7} && \\
&+ \sum\limits_t {{\lambda ^{shed}}c_t^{shed}} \nonumber \\
&- \sum\limits_t {{\lambda ^{spill}}w_t^{spill}} \nonumber \\
\text{s.t.} \nonumber &&\\
& \sum\limits_g {p_{g,t}^{sch}}  + w_{t}^{DA} - w_{t}^{spill} + c_{t}^{shed} = {c_{t}^{DA}} &&\forall t \label{8} \\
& p_{g,t}^{sch} \ge P_g^{\min } && \forall g,t \label{9}
\end{flalign}

и вывод (я бы хотел, чтобы уравнения 8 и 9 совпали с текстом минимизации стоимости слева):

одиночный объект flalign

Любая помощь будет высоко оценена!

решение1

Вы ищете что-то подобное?

\documentclass[journal]{IEEEtran}
\usepackage[cmex10]{amsmath,mathtools}% mathtools added for multline environment
\usepackage[active,pdftex,displaymath,tightpage]{preview}% just for showing equation
\begin{document}
    \begin{flalign}
\text{minimize} \; cost =
    &\sum\limits_{g,t} {{\lambda _{g,t}}p_{g,t}^{sch}} \label{7}    &   \\
    &+ \sum\limits_t {{\lambda ^{shed}}c_t^{shed}}                  &   \nonumber \\
    &- \sum\limits_t {{\lambda ^{spill}}w_t^{spill}}                &   \nonumber
\intertext{s.t.}
    &   \begin{multlined}[b]
        \sum\limits_g {p_{g,t}^{sch}}  + w_{t}^{DA} - \\    
        \quad   w_{t}^{spill} + c_{t}^{shed} = {c_{t}^{DA}}% this is to long for one line
        \end{multlined}                 &&\forall t                 &   \label{8}    \\
    & p_{g,t}^{sch} \ge P_g^{\min }     && \forall g,t              &   \label{9} 
    \end{flalign}
\end{document}

введите описание изображения здесь

решение2

Я могу предложить это, в котором два условия не нумеруются независимо. Я взял на себя смелость изменить ваши текстовые показатели на \mathrm(например, когда вы их набрали, 'shed' выглядит как произведение четырех переменных s, h, e, d. Также вам не нужно писать, \limitsпоскольку вы находитесь в среде отображения. Наконец, я загрузил mathtoolsвместо amsmath, чтобы использовать shortintertextкоманду.

\documentclass[journal]{IEEEtran}
\usepackage[cmex10]{mathtools}
\usepackage{cases}

\begin{document}

\begin{flalign}
 & \text{minimize} \; \mathrm{cost}=∑_{g,t} {{λ _{g,t}}p_{g,t}^\mathrm{sch}}
\begin{aligned}[t] &+ ∑_t {{λ ^\mathrm{shed}}c_t^\mathrm{shed}}\label{7} \\
 & - ∑_t λ ^\mathrm{spill} w_t^\mathrm{spill}
 \end{aligned} \\
 & \begin{aligned}\text{s.t.}\enspace & \bullet\enspace
 ∑_g {p_{g,t}^\mathrm{sch}} + w_{t}^{DA} - w_{t}^\mathrm{spill} + c_{t}^\mathrm{shed} = {c_{t}^{DA}} & ∀ t \\
 & \bullet\enspace p_{g,t}^\mathrm{sch} ≥ P_g^{\min } & ∀ g, t
 \end{aligned}
\end{flalign}

\end{document} 

введите описание изображения здесь

Связанный контент