[Tex/LaTex] LaTeX \begin{align} twice align

alignequations

I have a code with an equation:

\begin{align*}
&min(\norm{[\hat{w}(k)-\hat{y}(k)-&M^P \Delta \hat{u}^P (k)]-M \Delta \hat{u}(k)}_\psi^2 +\norm{\Delta \hat{u}(k)}_\Lambda^2)\\
&\text{\textit{za podmínek}} &-\Delta U_{max} \leq \Delta\hat{u}(k) \leq \Delta U_{max}\\
&&U_{min}\leq U(k-1)+J \Delta \hat{u}(k)\leq U_{max}\\
&&Y_{min} \leq \hat{y}^0 (k)+M\Delta \hat{u}(k) \leq Y_{max}
\end{align*}

The output is

badAlign

But I need the following output:enter image description here

First blue line first align, second blue line second align. Both align left.
How can I achieve this?
Thanks for help.

Best Answer

You can do that with the alignat* environment. Here are two layouts:

\documentclass[a4paper, 11pt]{book}
\usepackage[utf8]{inputenc}
\usepackage{fourier, erewhon}
\usepackage{mathtools}
\DeclarePairedDelimiter\norm\lVert\rVert

\begin{document}

\begin{alignat*}{2}
    & \min\bigl(\norm{[\hat{w}(k)-\hat{y}(k)-{} & & M^P Δ\hat{u}^P (k)]-M Δ\hat{u}(k)}_\psi² +\norm{Δ\hat{u}(k)}_\Lambda²\bigr) \\
    & \textit{za podmínek} & &\mathllap{-}ΔU_{\max} \leq Δ\hat{u}(k) \leq ΔU_{\max} \\
    & & & U_{\min}\leq U(k-1)+J Δ\hat{u}(k)\leq U_{\max} \\
    & & & Y_{\min} \leq \hat{y}⁰ (k)+MΔ\hat{u}(k) \leq Y_{\max}
\end{alignat*}
\begin{alignat*}{2}
    & \min\bigl(\norm{[\hat{w}(k)-\hat{y}(k)& &-M^P Δ\hat{u}^P (k)]-M Δ\hat{u}(k)}_\psi² +\norm{Δ\hat{u}(k)}_\Lambda²\bigr) \\
    & \textit{za podmínek} & & \begin{array}[t]{|@{\quad}l}
    \mathllap{-}ΔU_{\max} \leq Δ\hat{u}(k) \leq ΔU_{\max} \\
    U_{\min}\leq U(k-1)+J Δ\hat{u}(k)\leq U_{\max} \\
     Y_{\min} \leq \hat{y}⁰ (k)+MΔ\hat{u}(k) \leq Y_{\max}
    \end{array}
\end{alignat*}

\end{document} 

enter image description here

Related Question