배열 주위의 테이블 형식에 잘못된 공간이 있습니다.

배열 주위의 테이블 형식에 잘못된 공간이 있습니다.

포럼에서 조금 검색했는데 내 문제에 대한 만족스러운 해결책을 찾을 수 없습니다.

두 가지 다른 상황을 비교하는 표 형식을 만들고 싶습니다. 비교 라인은 배열/행렬입니다. 모든 것이 너무 빡빡하기 때문에 표 형식의 간격을 조금 더 크게 만들고 싶습니다. 그래서 나는 \arraystretch그룹 내 에서 변경을 사용합니다 .

\begin{center}
    \renewcommand*{\arraystretch}{1.5}
    \begin{tabular}{|c|c|}
        \hline
            Problem (1) & Problem (2)\\
        \hline
        \begingroup
            \renewcommand*{\arraystretch}{1}
            $\left\{
                \begin{array}{c}
                    G_1 = 1\\
                    G_2 = 0
                \end{array}
            \right.$
        \endgroup
        &
        \begingroup
            \renewcommand*{\arraystretch}{1}
            $\left\{
                \begin{array}{c}
                    G_1 = 0\\
                    G_2 = 1
                \end{array}
            \right.$
        \endgroup
        \\
        \hline
            displacement $u_1(x,y) = \chi_1(y)$ & displacement $u_1(x,y) = \chi_2(y)$\\
        \hline
    \end{tabular}
\end{center}

텍스트 줄에는 잘 작동하지만 내부의 배열/행렬을 사용하면 상단과 하단에 추가 공간을 두지 않습니다. 이는 예상했던 것과 다릅니다. 하지만 \arraystretch오버 를 늘리면 3어레이 상단에 공간이 표시되고, 늘리면 4하단에 공간이 나타나는 것을 볼 수 있습니다.

배열이 공간으로 둘러싸여 있어야 한다는 것을 LaTeX에서 이해하도록 하는 방법을 아는 사람이 있습니까?

\arraystretch추가 질문: (over ) 에 큰 숫자가 있으면 4수직 정렬이 중앙에 있지 않고 아래쪽에 약간 있는 것 같습니다. use tabularx, minipages 등 이외의 옵션이 있습니까 ?

답변1

실제로 값을 변경할 필요는 없습니다 \arraystretch. 패키지 makecell는 행에 약간의 수직 패딩을 제공할 수 있습니다. 또한 시조 명령을 사용하여 다양한 두께의 규칙과 셀 내부의 줄 바꿈을 사용할 수 있습니다. 공식의 경우 cases환경을 사용하는 것이 더 간단합니다.

booktabs 규칙 명령 사용에 대한 @Mico의 의견에 동의하며 수직 규칙은 없습니다. 수직 규칙을 사용하는 경우 이러한 테이블을 (내 취향에 맞게!) 개선할 수 있는 방법을 보여 드리겠습니다.

\documentclass{article}
\usepackage{array, booktabs}
\usepackage{makecell}
\setcellgapes{3pt}
\usepackage{mathtools}
\begin{document}

\begin{center}
  \makegapedcells
  \begin{tabular}{!{\vrule width 1pt}c|c!{\vrule width 1pt}}
    \Xhline{1pt}
    Problem (1) & Problem (2) \\
    \hline
    $ \begin{cases}
    G_1 = 1\\
    G_2 = 0
    \end{cases}$
     & 
    $ \begin{cases}
    G_1 = 0\\
    G_2 = 1
    \end{cases} $
    \\
    \hline
    \makecell{displacement \\$u_1(x,y) = \chi_1(y)$} & \makecell{displacement \\ $u_1(x,y) = \chi_2(y)$}\\
    \Xhline{1pt}
  \end{tabular}
\end{center}
\vskip1cm
\begin{center}
  \makegapedcells
  \begin{tabular}{@{}cc@{}}
    \toprule
    Problem (1) & Problem (2) \\
    \cmidrule(lr){1-1}\cmidrule(lr){2-2}
    $ \begin{dcases}
    G_1 = 1\\
    G_2 = 0
    \end{dcases}$
                                        &
    $ \begin{cases}
    G_1 = 0\\
    G_2 = 1
    \end{cases} $
    \\
    \addlinespace
    displacement $u_1(x,y) = \chi_1(y)$ & displacement $u_1(x,y) = \chi_2(y)$ \\
    \bottomrule
  \end{tabular}
\end{center}
\end{document}

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

답변2

다양한 의 위와 아래의 간격을 파악하는 데 시간을 소비하는 대신 \hline간단히 내부 수평선(및 모든 수직선)을 제거하고 다음의 선 그리기 매크로를 사용할 수 있습니다.책꽂이위쪽과 아래쪽 선을 그리는 패키지입니다. 물론 \renewcommand{\arraystretch}{1.5}원할 경우 해당 지침을 계속 사용할 수 있습니다.

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

나는 당신이 이 레이아웃이적어도수직선과 수평선이 더 많은 것만큼 읽기 쉽습니다.

\documentclass{article}
\usepackage{amsmath}  % for 'cases' environment
\usepackage{booktabs} % for \toprule, \bottomrule, and \addlinespace macros
\begin{document}
\begin{center}
\renewcommand{\arraystretch}{1.5}
    \begin{tabular}{@{}cc@{}}
        \toprule
            Problem (1) & Problem (2) \\ \addlinespace
            $\begin{cases}
               G_1 = 1\\G_2 = 0
             \end{cases}$
            &
            $\begin{cases}
               G_1 = 0\\G_2 = 1
             \end{cases}$ \\ \addlinespace
            displacement $u_1(x,y) = \chi_1(y)$ & 
            displacement $u_1(x,y) = \chi_2(y)$ \\
        \bottomrule
    \end{tabular}
\end{center}
\end{document}

관련 정보