패딩된 2열 배열

패딩된 2열 배열

나는 다음과 같은 종류의 '패딩 배열'을 여러 번 사용하고 있습니다.

\setlength{\fboxrule}{0pt}
\setlength{\fboxsep}{3pt}
\fbox{
\ensuremath{
\begin{array}{|l|l|}
\hline 
A & B\\ 
C & D\\
\vdots & \vdots \\
E & F\\
\hline 
\end{array}
}
} 

예를 들어 다음과 같이 쓸 수 있기를 바랍니다.

\begin{DRS}
A & B\\ 
C & D\\
\vdots & \vdots \\
E & F\\
\end{DRS}

(또는 환경 대신 명령을 사용하여 동일) 그러나 이를 설정하는 깔끔한 방법을 모르겠습니다. 문제는 fbox가 명령이고 환경 배열이므로 이 둘을 혼합하는 올바른 방법이 확실하지 않다는 것입니다. 예를 들어 Environ 패키지(이 주제를 검색하여 찾은)를 사용하여 함께 해킹할 수도 있지만 이를 수행하는 올바른 방법을 아는 것이 좋을 것입니다.

감사해요!

편집: 이것은 내가 생성하는 이미지 종류입니다(중첩된 DRS를 사용하여).

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

답변1

패딩이 필요하면 명시적으로 요청하세요.

\documentclass{article}

\newif\ifDRSmath
\newenvironment{DRS}
  {\relax\ifmmode\global\DRSmathtrue\else$\fi
   \kern3pt\begin{array}{|l|l|}
   \noalign{\kern3pt}
   \hline\mathstrut}
  {\hline
   \noalign{\kern3pt}
   \end{array}\kern3pt
   \ifDRSmath\global\DRSmathfalse\else$\fi}

\begin{document}
\begin{DRS}
    A & B\\ 
    C & D\\
    \vdots & \vdots \\
    E & F\\
\end{DRS}
\begin{DRS}
    A & B\\ 
    C & D\\
    \vdots & \vdots \\
    E & F\\
\end{DRS}

\end{document}

텍스트 모드와 수학 모드 모두에서 환경을 사용하려면 조건이 필요합니다. 두 모드 모두에서 작동합니다. 처음에는 수학 모드를 확인하고 마지막에는 수학 모드만 확인하며 \ifDRSmath이 트릭은 부적절하게 실행되는 것을 방지합니다 $.

답변2

일반 \newenvironment(아래 환경과 같이 DRSX) 또는패키지environ(환경에서와 마찬가지로 DRS):

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

\fbox{}정상적으로 \hline작업을 수행하므로 사용할 필요가 없습니다 .

암호:

\documentclass{article}
\usepackage{environ}

\NewEnviron{DRS}{%
    \setlength{\fboxrule}{0pt}
    \setlength{\fboxsep}{3pt}
    $\begin{array}{|l|l|}%
        \hline
        \BODY%
        \hline
    \end{array}$%
}

\newenvironment{DRSX}{%
    \setlength{\fboxrule}{0pt}
    \setlength{\fboxsep}{3pt}
    \begin{math}\begin{array}{|l|l|}%
        \hline
}{%
    \hline
    \end{array}\end{math}%
}


\begin{document}
\begin{DRS}
    A & B\\ 
    C & D\\
    \vdots & \vdots \\
    E & F\\
\end{DRS}
\begin{DRSX}
    A & B\\ 
    C & D\\
    \vdots & \vdots \\
    E & F\\
\end{DRSX}
\end{document}

관련 정보