중첩된 정렬 환경 전반의 정렬

중첩된 정렬 환경 전반의 정렬

아래와 같은 주석이 포함된 방정식 목록이 있습니다.

\documentclass{scrartcl}
\usepackage{amsmath}
\begin{document}
\begin{align}
  aaaa &= 1  &&\text{for $X$} \\
  bbbb &= 1  &&\text{for $Y$} \\
  c    &= 1  &&\text{for $Z$} \\
  d    &= 12 &&\text{for $Z$}
\end{align}
\end{document}

렌더링: 방정식 세트

마지막 두 줄에는 동일한 주석이 있으므로 거기에 중괄호를 추가하고 다음과 같이 중괄호 옆에 주석을 배치하고 싶습니다.

\documentclass{scrartcl}
\usepackage{amsmath}
\begin{document}
\begin{align}
  \left. \begin{aligned}
    c &= 1 \\
    d &= 12 \\
  \end{aligned} \right\} &&\text{for $Z$}
\end{align}
\end{document}

렌더링: 중괄호가 있는 마지막 두 방정식

이를 원래 코드에 연결하면 다음과 같은 내용이 제공됩니다.

\documentclass{scrartcl}
\usepackage{amsmath}
\begin{document}
\begin{align}
  aaaa &= 1  &&\text{for $X$} \\
  bbbb &= 1  &&\text{for $Y$} \\
  \left. \begin{aligned}
    c &= 1 \\
    d &= 12 \\
  \end{aligned} \right\}& &&\text{for $Z$}
\end{align}
\end{document}

렌더링: 중괄호가 포함된 결합 방정식

작동하지 않는 것은 등호의 정렬입니다. 정렬된 환경 내부의 항목만 서로 정렬할 수 있고 외부의 항목은 정렬할 수 없습니다.

또한 콘텐츠를 세 줄로 처리하고 그에 따라 번호를 매기는 정렬 환경을 원합니다.

이것은 Q에 대한 후속 질문입니다.내부 정렬줄 번호 매기기 없이 문제에 대한 해결책이 제공되었습니다. 비슷한 문제가 Q에서 논의되었습니다.'정렬된' 방정식 블록 전체에 걸쳐 정렬-- 그러나 솔루션은 배열 환경을 사용했기 때문에 라인 번호 지정을 허용하지 않습니다.

미리 감사드립니다.

답변1

그만큼해결책Barbara Beeton이 지적한 질문은 올바른 생각에 가깝습니다. 실제로 번호를 매기려는 각 개체를 자체 aligned. 그러나 이는 꽤 많은 작업이며 다음 변형이 충분히 잘 작동하는 것 같습니다.

\documentclass{scrartcl}
\usepackage{amsmath}

\newlength{\myleftlen}
\newcommand{\setmyleftlen}[1]{\settowidth{\myleftlen}{\( \displaystyle
#1\)}}
\newcommand{\backup}{\hskip-\myleftlen\mkern-7mu}

\begin{document}

\setmyleftlen{ddd}
\begin{align}
  aaaa &= 1  &&\text{for $X$} \\
  bbbb &= 1  &&\text{for $Y$} \\
  &\left.\backup\begin{aligned}
    c &= 1 \\
    ddd &= 12 \\
  \end{aligned} \right\} &&\text{for $Z$}
\end{align}

\end{document}

샘플 출력

시작하기 전에 환경 \setmyleftlen에서 가장 긴 왼쪽으로 콜해야 합니다 . 코드가 하는 일은 블록을 이 양만큼 왼쪽으로 이동하는 것입니다 . 금액 은 추측이었지만 AMS 수학 명령에서 사용하는 다른 값과 일치하는 것 같습니다. (수학 단위) 로 표현되므로 다른 포인트 크기에 맞게 확장됩니다.alignedalignaligned7mu7mumu

답변2

이것은 @AndrewSwann의 답변이 개선된 버전으로 ddd예제의 를 상당히 큰 것으로 바꾸고 마법의 7mu. 중첩하는 방법을 보여주는 예제도 추가했습니다.

\documentclass[preview]{standalone}
\usepackage{amsmath}
\usepackage{calc}
\usepackage{xparse}
\newlength\mytemplena
\newlength\mytemplenb
\DeclareDocumentCommand\myalignalign{sm}
{
  \settowidth{\mytemplena}{$\displaystyle #2$}%
  \setlength\mytemplenb{\widthof{$\displaystyle=$}/2}%
  \hskip-\mytemplena%
  \hskip\IfBooleanTF#1{-\mytemplenb}{+\mytemplenb}%
}
\begin{document}
\begin{align}
  a &= 1\\
  bb &= 1\\
  \myalignalign{eeeeee} &\left.
    \myalignalign*{eeeeee}
    \begin{aligned}
      \myalignalign{dddd} &\left.
        \myalignalign*{dddd}
        \begin{aligned}
          ccc &= 1 \\
          dddd &= 123\\
        \end{aligned} \quad
      \right\} Z1,Z2\\
      eeeeee &= 12345678\\
    \end{aligned} \quad
  \right\} Z1,Z2,Z3
\end{align}
\end{document}

표현

관련 정보