
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):
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 \ifDRSmath
e esse truque evitará a emissão $
indevida.
Responder2
Você pode usar um normal \newenvironment
(como no DRSX
ambiente abaixo) ouo environ
pacote(como no DRS
meio ambiente):
Não há necessidade de usar, \fbox{}
pois um produto normal \hline
fará 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}