Aufgefüllte zweispaltige Arrays

Aufgefüllte zweispaltige Arrays

Ich verwende häufig die folgende Art von „aufgefülltem Array“:

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

Ich möchte einfach schreiben können, z. B.

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

(oder dasselbe mit einem Befehl statt einer Umgebung), aber ich kenne keine saubere Methode, dies einzurichten. Das Problem ist, dass fbox ein Befehl und Array eine Umgebung ist, daher bin ich mir nicht sicher, wie ich die beiden richtig mischen soll. Ich könnte es möglicherweise zusammenhacken, z. B. mithilfe des Environ-Pakets (das ich gerade bei der Suche zu diesem Thema gefunden habe), aber es wäre schön zu wissen, wie man das richtig macht.

Danke!

Bearbeiten: Dies ist die Art von Bild, die ich erstelle (mithilfe verschachtelter DRSs):

Bildbeschreibung hier eingeben

Antwort1

Wenn Sie etwas Polsterung benötigen, fragen Sie explizit danach:

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

Die Bedingung ist erforderlich, um die Umgebung sowohl im Textmodus als auch im Mathematikmodus verwenden zu können. Sie funktioniert in beiden Modi: Am Anfang prüfen wir, ob der Mathematikmodus aktiv ist, am Ende nur, ob der Bedingungstyp aktiv ist, \ifDRSmathund dieser Trick vermeidet eine $falsche Ausgabe.

Antwort2

Sie können entweder eine normale Umgebung verwenden \newenvironment(wie in der DRSXUmgebung unten) oderDas environPaket(wie in der DRSUmgebung):

Bildbeschreibung hier eingeben

\fbox{}Es ist nicht erforderlich , ein normales Produkt zu verwenden, \hlineda dies auch funktioniert.

Code:

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

verwandte Informationen