Gleichung mit Bedingungen und einer anderen Gleichung ausrichten

Gleichung mit Bedingungen und einer anderen Gleichung ausrichten

Ich möchte 6 und 7 mit Gleichung 8 und 9 ausrichten. Ich möchte dies am Gleichheitszeichen ausrichten.

Was ich jetzt habe:

Bildbeschreibung hier eingeben

die ich mit dem folgenden Code erhalten habe:

    \begin{numcases}{O(t) =}
        \textbf{W}^T S(t), & $\text{if } S(t) \in Signal$; \\
        \textbf{0}, & \text{if } otherwise,
    \end{numcases}

    \begin{align}
        CSM &= \pi_{1} (O(t)) \label{eq:pi1} \\[10pt]
        K &= \pi_{2} (O(t)) \label{eq:pi2} \
    \end{align}

Was ich brauche:

Bildbeschreibung hier eingeben

Antwort1

Hier ist nur eine Option:

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{mathtools,cases,xparse,eqparbox}

% https://tex.stackexchange.com/a/34412/5764
\makeatletter
\NewDocumentCommand{\eqmathbox}{o O{c} m}{%
  \IfValueTF{#1}
    {\def\eqmathbox@##1##2{\eqmakebox[#1][#2]{$##1##2$}}}
    {\def\eqmathbox@##1##2{\eqmakebox{$##1##2$}}}
  \mathpalette\eqmathbox@{#3}
}

\newcommand{\startsubequations}{%
  \refstepcounter{equation}%
  \protected@xdef\theparentequation{\theequation}%
  \global\let\theoldequation\theequation
  \setcounter{parentequation}{\value{equation}}%
  \setcounter{equation}{0}%
  \gdef\theequation{\theparentequation\alph{equation}}%
}

\newcommand{\stopsubequations}{%
  \protected@xdef\theequation{\theparentequation}%
  \global\let\theequation\theoldequation
  \setcounter{equation}{\value{parentequation}}%
}

\makeatother

\newcommand{\LBRACE}{
  \left\lbrace\begin{array}{@{}c@{}}
    \strut \\ \strut
  \end{array}\right.\kern-\nulldelimiterspace
}

\begin{document}

\begin{numcases}{O(t) =}
  \mathbf{W}^T S(t), & if $S(t) \in \text{Signal}$; \\
         \mathbf{0}, & otherwise,
\end{numcases}
\begin{align}
  CSM &= \pi_1 (O(t)) \\
    K &= \pi_2 (O(t))
\end{align}

\noindent\hrulefill

\begin{align}
  %\startsubequations % Start subequation numbering
    & \hphantom{\LBRACE}\eqmathbox[nc][l]{\mathbf{W}^T S(t), \quad} \text{if $S(t) \in \text{Signal}$;} \\
  \raisebox{.5\dimexpr\baselineskip+\jot}[0pt][0pt]{$O(t) ={}$} &
  \raisebox{.5\dimexpr\baselineskip+\jot}[0pt][0pt]{$\LBRACE$}
    \eqmathbox[nc][l]{\mathbf{0},} \text{otherwise,} \\
  %\stopsubequations % Stop sub-equation numbering
  CSM ={} & \pi_1 (O(t)) \\
    K ={} & \pi_2 (O(t))
\end{align}

\end{document}

Der Ansatz täuscht eine numcasesUmgebung vor, indem er vier reguläre Gleichungen in eine platziert align. Die Gruppierung der ersten beiden erfolgt durch Verschieben der linken Seite O(t) =und des linken Trennzeichens {an die richtige Stelle (vertikal nach oben) aus der zweiten Gleichung.

Einige Berechnungen der Kastenbreite werden automatisiert durcheqparboxfür die unterschiedlichen Bedingungen.

Der Abstand zwischen der Gruppierung der linken Klammer und den Bedingungen sowie den Textkomponenten kann bei Bedarf geändert werden.


... und wenn Sie die Gleichungen unternummerieren möchten, können Sie den ConTeXt-ähnlichen Ansatz von \startsubequations... verwenden \stopsubequations:

Bildbeschreibung hier eingeben

Antwort2

Ich kann das gewünschte Ergebnis mit einem fürchterlichen Code erzielen, indem ich falsche Längen anpasse:

\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage[table]{xcolor}
\usepackage{mathtools}
\usepackage{cases}
\begin{document}

\begin{align}%
O(t) &= {} \hspace*{-1.35cm}\makebox[0.3\linewidth]{\begin{subnumcases}{\hspace*{3.08cm}}
\textbf{W}^T S(t), & if $S(t) \in$ Signal; \\
\textbf{0}, & otherwise,
\end{subnumcases} }\notag
\\[1ex]
CSM &= \pi_{1} (O(t)) \label{eq:pi1}
\\[1ex]
K &= \pi_{2} (O(t)) \label{eq:pi2} \
\end{align}% \end{subequations}

\end{document} 

Bildbeschreibung hier eingeben

verwandte Informationen