Matrizes acolchoadas de duas colunas

Matrizes acolchoadas de duas colunas

Estou usando o seguinte tipo de 'matriz preenchida' muitas vezes:

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

Eu gostaria de poder apenas escrever, por exemplo,

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

(ou o mesmo com um comando em vez de um ambiente), mas não conheço uma maneira limpa de configurar isso. O problema é que fbox é um comando e array é um ambiente, então não tenho certeza da maneira certa de misturar os dois. Eu poderia hackear tudo junto, por exemplo, usando o pacote environ (que acabei de encontrar pesquisando neste tópico), mas seria bom saber a maneira correta de fazer isso.

Obrigado!

Editar: este é o tipo de imagem que estou produzindo (usando DRSs aninhados):

insira a descrição da imagem aqui

Responder1

Se você precisar de algum preenchimento, peça-o explicitamente:

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

A condicional é necessária para poder usar o ambiente tanto no modo texto quanto no modo matemático. Funcionará nos dois modos: no início verificamos o modo matemático, no final apenas para \ifDRSmathe esse truque evitará a emissão $indevida.

Responder2

Você pode usar um normal \newenvironment(como no DRSXambiente abaixo) ouo environpacote(como no DRSmeio ambiente):

insira a descrição da imagem aqui

Não há necessidade de usar, \fbox{}pois um produto normal \hlinefará o trabalho.

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}

informação relacionada