정렬을 유지하는 두 행의 배열 환경 셀

정렬을 유지하는 두 행의 배열 환경 셀

다음 예에서 정렬을 유지하면서 두 행에 걸쳐 중괄호를 확장하려고 합니다.

올바른 정렬

이 경우 정렬이 정확합니다. 거의 다 온 것 같아요. 도움을 주시면 정말 감사하겠습니다.

위 이미지는 다음에서 생성되었습니다.

\begin{equation}
    \begin{array}[t]{ccccccccccl}
        &  &  &  &  & a & a & a &a & \} & d \vspace{0.1cm} \\
        \hline \vspace{-0.4cm}\\
         &  &  &  &  &a & a & a &a\\
         &  &  &  &  &   & b & b & b& \Big\} &d\\
         &  &  & c & c & c & c &c& c \\
         \hline \vspace{-0.4cm}\\
         &  &  & a &a & a & a & a &a\\
         &  &  &  & b &b &b & b & b & \Big\} & d\\
         & c &c & c & c&c&  &c& c\vspace{0.1cm} \\
    \end{array}\label{eq:diagramm}
\end{equation}.

중괄호는 다음과 같아야합니다

올바른 교정기

그러나 이것은 정렬을 파괴합니다. 이 시도는 다음을 기반으로 합니다.이 질문

\documentclass{article}
\usepackage{amsmath,amsthm,array}% http://ctan.org/pkg/{amsmath,amsthm,array}
\newcommand{\twolinebrace}{\left.\kern-\nulldelimiterspace\begin{array}{@{}c@{}}   \\\\\end{array}\right\}}
\newtheorem{theorem}{Theorem}
\begin{document}
\[
  \renewcommand{\arraystretch}{1.25}
  \begin{array}{@{}l@{\quad}l@{}}
    \begin{array}{lllllllll}
      &  &  &  &  &a & a & a &a\\ % RHS
      &  &  &  &  &   & b & b & b \\ % RHS   
      &  &  & &c& c& c &c& c  % RHS
    \end{array} & \twolinebrace\text{d} \\
        \begin{array}{lllllllll}
      &  &  &  & a &a & a & a &a\\ % RHS
      &  &  &  &  & b  & b & b & b \\ % RHS   
      &  & & c&c& c& c &c& c  % RHS
    \end{array} & \twolinebrace\text{d} 
  \end{array}
\]
\end{document}

답변1

패키지 를 이용하면 쉽게 할 수 있습니다 blkarray. 코드보다 두 개의 열이 덜 필요합니다.

\documentclass{article}
\usepackage{amsmath}
\usepackage{blkarray}%

\begin{document}
\[
  \renewcommand{\arraystretch}{1.3}
  \begin{blockarray}{*{9}{l}}
\begin{block}{*{8}{l}l<{\,}\Right{\}}{\,$ d $}}
      & & & & &a & a & a &a \\
      & & & & & & b & b & b \\
      & & & &c& c& c &c& c \\
\end{block}
\begin{block}{*{8}{l}l<{\,}\Right{\}}{\,$ d $}}
      & & & & a & a & a & a & a \\
      & & & & & b & b & b & b \\
      & & & c & c & c & c & c & c \\
\end{block}
%\end{block}
  \end{blockarray}
\]
\end{document} 

여기에 이미지 설명을 입력하세요

답변2

정렬을 유지하려면 하나의 배열만 사용해야 합니다.

\smash행이 퍼지는 것을 방지하면서 중괄호를 편집할 수 있습니다 .

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
  \renewcommand{\arraystretch}{1.25}
  \begin{array}{lllllllllll}
      &  &  &  &  &a & a & a &a  &&\\ % RHS
      &  &  &  &  &   & b & b & b & \smash{\Bigg\}} & d\\ % RHS   
      &  &  & &c& c& c &c& c  \\% RHS
      &  &  &  & a &a & a & a &a &&\\ % RHS
      &  &  &  &  & b  & b & b & b & \smash{\Bigg\}} & d\\ % RHS   
      &  & & c&c& c& c &c& c  % RHS
  \end{array}
\]
\end{document}

예제 코드 출력

이는 편의상 가장 큰 기존 크기를 사용 \Bigg하지만 필요한 경우 "큰" 울타리를 구성하는 데 사용되는 치수를 확대하여 더 큰 크기를 구성할 수 있습니다.

\def\Big#1{{\hbox{$\left#1\vbox to11.5\p@{}\right.\n@space$}}}
\def\bigg#1{{\hbox{$\left#1\vbox to14.5\p@{}\right.\n@space$}}}
\def\Bigg#1{{\hbox{$\left#1\vbox to17.5\p@{}\right.\n@space$}}}

단계 간 차이는 3pt이므로 다음 두 단계는 다음과 같습니다.

\def\biggg#1{{\hbox{$\left#1\vbox to20.5\p@{}\right.\n@space$}}}
\def\Biggg#1{{\hbox{$\left#1\vbox to23.5\p@{}\right.\n@space$}}}

(이러한 정의는 에서 왔으며 plain.tex컴퓨터 최신 글꼴을 가정합니다.)

답변3

\phantom{c}첫 번째 큰 셀의 세 번째 행에 있는 초기 셀 중 하나에 a를 추가하면 array코드를 더 이상 조정할 필요가 없습니다.

여기에 이미지 설명을 입력하세요

\documentclass{article}
\usepackage{amsmath,amsthm,array}% http://ctan.org/pkg/{amsmath,amsthm,array}
\newcommand{\twolinebrace}{\left.\kern-\nulldelimiterspace\begin{array}{@{}c@{}}   \\\\\end{array}\right\}}
\newtheorem{theorem}{Theorem}
\begin{document}
\[
  \renewcommand{\arraystretch}{1.25}
  \begin{array}{@{}l@{\quad}l@{}}
    \begin{array}{lllllllll}
      &  &  &  &  &a & a & a &a\\ % RHS
      &  &  &  &  &   & b & b & b \\ % RHS   
      &  &  & \phantom{c}&c& c& c &c& c  % RHS
    \end{array} & \twolinebrace\text{d} \\
        \begin{array}{lllllllll}
      &  &  &  & a &a & a & a &a\\ % RHS
      &  &  &  &  & b  & b & b & b \\ % RHS   
      &  &  & c&c& c& c &c& c  % RHS
    \end{array} & \twolinebrace\text{d} 
  \end{array}
\]
\end{document}

부록: 약간의 조정이 가능할 것처럼 보이는 코드 중 하나는 매크로입니다 \twolinebrace.단지 두 개의 행이 아닌 다음과 같은 새 매크로를 정의(및 사용)할 수 있습니다 \threelinebrace.

\newcommand{\threelinebrace}{\left.\kern-\nulldelimiterspace\begin{array}{@{}c@{} \\\\\\ \end{array}\right\}}

와 비교하여 \twolinebrace새 매크로에는 추가 \\쌍이 있습니다.

관련 정보