Arreglos acolchados de dos columnas

Arreglos acolchados de dos columnas

Estoy usando el siguiente tipo de 'matriz acolchada' muchas veces:

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

Me gustaría poder simplemente escribir, por ejemplo,

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

(o lo mismo con un comando en lugar de un entorno), pero no conozco una forma limpia de configurar esto. El problema es que fbox es un comando y forma un entorno, por lo que no estoy seguro de cuál es la forma correcta de mezclar los dos. Posiblemente podría hackearlo, por ejemplo, usando el paquete environ (que acabo de encontrar buscando sobre este tema), pero sería bueno saber la forma correcta de hacerlo.

¡Gracias!

Editar: este es el tipo de imagen que estoy produciendo (usando DRS anidados):

ingrese la descripción de la imagen aquí

Respuesta1

Si necesita algo de relleno, solicítelo explícitamente:

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

El condicional es necesario para poder utilizar el entorno tanto en modo texto como en modo matemático. Funcionará en ambos modos: al principio verificamos el modo matemático, al final solo \ifDRSmathy este truco evitará que se emita $incorrectamente.

Respuesta2

Puede utilizar un entorno normal \newenvironment(como en el DRSXsiguiente entorno) oel environpaquete(como en el DRSmedio ambiente):

ingrese la descripción de la imagen aquí

No es necesario usarlo \fbox{}ya que uno normal \hlinehará el trabajo.

Código:

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

información relacionada