수식에서 상자 정렬

수식에서 상자 정렬

다음 코드는 이 결과를 제공합니다.

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

위쪽 및 아래쪽 상자가 아닌 텍스트에 맞는 작은 "{"를 얻고 싶습니다.

어떤 아이디어?


\documentclass[preview]{standalone}
 \usepackage{mathtools}
 \usepackage{tikz}
 \setlength{\textwidth}{15cm} 

 \makeatletter
 \define@key{janbertdims}{align}{\def\janbert@align{\hspace{#1}}}
 \define@key{janbertdims}{arrow}{\def\janbert@arrow{#1}}
 \define@key{janbertdims}{color}{\def\janbert@color{#1}}
 \setkeys{janbertdims}{
   align=0cm,        
   arrow=\bigg\downarrow,
   color=orange,
  }
  \newcommand\underbox[3][]{%
    \begingroup
      \setkeys{janbertdims}{#1}% the current values
      \underset{\mathclap{\substack{\janbert@arrow \\[0.1cm] 
      \tikz\node[draw=\janbert@color, align=center, rounded corners]{#2}; \janbert@align }}}{#3} 
    \endgroup
  }
  \newcommand\overbox[3][]{%
   \begingroup
     \setkeys{janbertdims}{#1}% the current values
     \overset{\mathclap{\substack{\tikz\node[draw=\janbert@color, align=center, rounded corners]{#2}; 
     \janbert@align \\[0.1cm]    \janbert@arrow 
    }}}{#3} 
   \endgroup
  }
 \makeatother

 \begin{document}
 $$
   a_{n+2}=b_n a_n \underbox[align=2cm]{ $a_n=b_{n-2}a_{n-2}$}{=} 
   b_n b_{n-2} a_{n-2}\underbox[align=0.6cm,arrow={\Bigg\downarrow}]{$a_{n-2}=b_{n-4}a_{n-4}$}{=} 
   \dots 
   \overbox[align=4.25cm]{this process concludes when \\[0.1cm] $n-2k$ is $0$ ou $1$}{=} 
   \begin{cases} 
     b_n b_{n-2}\dots b_{2} b_0  a_0 
     \overbox{$a_0=0$}{=}0 & \text{if $n=2k$} \\
     b_n b_{n-2} \dots b_3b_1 a_1
     \underbox{$a_1=1$ }{=} b_n b_{n-2} \dots b_3b_1 & \text{if $n=2k+1$}
   \end{cases}
 $$
 \end{document}

답변1

환경 의 첫 번째 행의 첫 번째 부분을 래퍼 cases로 묶고 \smash[t]{...}두 번째 행의 첫 번째 부분을 \smash[b]{...}래퍼로 묶는 것이 좋습니다. 이는 환경 왼쪽에 있는 거품이 환경 cases내부 거품의 높이와 깊이를 초과하기 때문에 작동합니다 cases.

\dots또한 4개의 인스턴스 중 3개를 \dotsb.

$$아, 그리고 LaTeX 문서에서 디스플레이 수학 모드를 시작하고 종료하는 데 사용하지 마세요 . 이 주제에 대한 자세한 내용은 게시물을 참조하세요.\[ ... \]선호 됩니까 $$ ... $$?

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

\documentclass[preview,,border=2pt]{standalone}
 \usepackage{mathtools}
 \usepackage{tikz}
 \setlength{\textwidth}{15cm} 

 \makeatletter
 \define@key{janbertdims}{align}{\def\janbert@align{\hspace{#1}}}
 \define@key{janbertdims}{arrow}{\def\janbert@arrow{#1}}
 \define@key{janbertdims}{color}{\def\janbert@color{#1}}
 \setkeys{janbertdims}{
   align=0cm,        
   arrow=\bigg\downarrow,
   color=orange,
  }
  \newcommand\underbox[3][]{%
    \begingroup
      \setkeys{janbertdims}{#1}% the current values
      \underset{\mathclap{\substack{\janbert@arrow \\[0.1cm] 
      \tikz\node[draw=\janbert@color, align=center, rounded corners]{#2}; \janbert@align }}}{#3} 
    \endgroup
  }
  \newcommand\overbox[3][]{%
   \begingroup
     \setkeys{janbertdims}{#1}% the current values
     \overset{\mathclap{\substack{\tikz\node[draw=\janbert@color, align=center, rounded corners]{#2}; 
     \janbert@align \\[0.1cm]    \janbert@arrow 
    }}}{#3} 
   \endgroup
  }
 \makeatother

 \begin{document}
 \[
   a_{n+2}=b_n a_n \underbox[align=2cm]{ $a_n=b_{n-2}a_{n-2}$}{=} 
   b_n b_{n-2} a_{n-2}\underbox[align=0.6cm,arrow={\Bigg\downarrow}]{$a_{n-2}=b_{n-4}a_{n-4}$}{=} 
   \dots 
   \overbox[align=4.25cm]{this process concludes when \\[0.1cm] 
                          $n-2k$ is $0$ ou $1$}{=} 
   \begin{cases} 
     \smash[t]{b_n b_{n-2}\dotsb b_{2} b_0  a_0 \overbox{$a_0=0$}{=}0} 
         & \text{if $n=2k$} \\
     \smash[b]{b_n b_{n-2} \dotsb b_3b_1 a_1 \underbox{$a_1=1$ }{=} 
             b_n b_{n-2} \dotsb b_3b_1} 
         & \text{if $n=2k+1$}
   \end{cases}
 \]
 \end{document}

관련 정보