6과 7을 방정식 8과 9에 정렬하고 싶습니다. 이것을 등호에 정렬하고 싶습니다.
내가 지금 가지고 있는 것:
아래 코드를 사용하여 얻었습니다.
\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}
내가 필요한 것:
답변1
다음은 하나의 옵션입니다.
\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}
이 접근 방식은 numcases
4개의 정규 방정식을 align
. 처음 두 개를 그룹화하려면 왼쪽 O(t) =
과 왼쪽 구분 기호를 {
두 번째 방정식의 위치(수직 위쪽)로 이동하면 됩니다.
일부 상자 너비 계산은 다음을 사용하여 자동화됩니다.eqparbox
다양한 조건에 대해.
필요한 경우 왼쪽 중괄호 그룹화와 조건 및 텍스트 구성 요소 사이의 간격을 변경할 수 있습니다.
...그리고 방정식의 하위 번호를 지정하려면 \startsubequations
... 의 ConTeXt-esque 접근 방식을 사용할 수 있습니다 \stopsubequations
.
답변2
가짜 길이를 조정하여 끔찍한 코드로 원하는 것을 얻을 수 있습니다.
\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}