
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):
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 \ifDRSmath
y este truco evitará que se emita $
incorrectamente.
Respuesta2
Puede utilizar un entorno normal \newenvironment
(como en el DRSX
siguiente entorno) oel environ
paquete(como en el DRS
medio ambiente):
No es necesario usarlo \fbox{}
ya que uno normal \hline
hará 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}