Дополненные двухстолбцовые массивы

Дополненные двухстолбцовые массивы

Я часто использую следующий вид «дополненного массива»:

\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}

Связанный контент