Stretchblock zum vertikalen Füllen der Miniseite im Beamer

Stretchblock zum vertikalen Füllen der Miniseite im Beamer

Ich habe folgende Umgebung, die die Beamer-Seite in vier gleiche Teile aufteilen soll:

\newcommand{\FourQuads}[4]{
\begin{minipage}[t][.5\textheight][t]{\textwidth}
    \begin{minipage}[t]{.47\textwidth}    
        \begin{block}{Second}
            #1
        \end{block}
    \end{minipage}
    \begin{minipage}[t]{.47\textwidth}
        \begin{block}{Second}
            #2
        \end{block}
    \end{minipage}
\end{minipage}
\begin{minipage}[t][.5\textheight][t]{\textwidth}
    \begin{minipage}[t]{.47\textwidth}
        \begin{block}{Third}
            #3
        \end{block}
    \end{minipage}
    \begin{minipage}[t]{.47\textwidth}
        \begin{block}{Fourth}
            #4
        \end{block}
    \end{minipage}
\end{minipage}
}

Jeder der vier Bereiche stellt den Text in einer Blockumgebung dar: Insbesondere kann man ihn so verwenden:

\documentclass[t]{beamer}
\usecolortheme{rose}


\begin{document} 
\begin{frame}{A very important slide}
\FourQuads%
{first item\\
another first item}
{second item}
{third item}
{fourth item\\
another fourth item}
\end{frame}
\end{document}

was Folgendes erzeugt:

Bildbeschreibung hier eingeben

Wie Sie sehen, dehnen sich die Blöcke je nach der unterschiedlichen Länge des Textes in jedem Bereich aus: Das bedeutet, dass die Kästchen bei unterschiedlichen Längen möglicherweise nicht übereinstimmen. Ich suche nach einer Möglichkeit, die Blockumgebungen vertikal zu dehnen oder zu füllen, unabhängig davon, ob dort Text vorhanden ist oder nicht (sollte kein Text vorhanden sein, füllt der Block möglicherweise einfach vertikal den verbleibenden Platz in der minipageUmgebung aus).

Es wird höchstwahrscheinlich eine Art Kombination aus \vfilloder sein \setlength, aber ich weiß nicht, wo genau ich diese Parameter platzieren muss, um das Ergebnis zu erzielen. Natürlich könnte es auch eine bessere Lösung geben, als minipageviermal zu verwenden (ich habe es versucht columns, aber es bringt nicht wirklich etwas Besseres).

Antwort1

Platzieren Sie die minipageBuchstaben innerhalb der Blöcke, um eine feste Höhe zu erhalten:

\documentclass[t]{beamer}
\usecolortheme{rose}

\newcommand{\FourQuads}[4]{
    \begin{columns}[onlytextwidth]
        \begin{column}{.45\textwidth}
            \begin{block}{First}
                \begin{minipage}[t][.25\textheight][t]{\textwidth}
                    #1
                \end{minipage}
            \end{block}
        \end{column}
        \begin{column}{.45\textwidth}
            \begin{block}{Second}
                \begin{minipage}[t][.25\textheight][t]{\textwidth}
                    #2
                \end{minipage}
            \end{block}
        \end{column}        
    \end{columns}
    \begin{columns}[onlytextwidth]
        \begin{column}{.45\textwidth}
            \begin{block}{Third}
                \begin{minipage}[t][.25\textheight][t]{\textwidth}
                    #3
                \end{minipage}
            \end{block}
        \end{column}
        \begin{column}{.45\textwidth}
            \begin{block}{Fourth}
                \begin{minipage}[t][.25\textheight][t]{\textwidth}
                    #4
                \end{minipage}
            \end{block}
        \end{column}        
    \end{columns}   
}




\begin{document} 
\begin{frame}{A very important slide}
\FourQuads%
{first item\\
another first item}
{second item}
{third item}
{fourth item\\
another fourth item}
\end{frame}
\end{document}

Bildbeschreibung hier eingeben

Antwort2

Eine andere Lösung ist ein tcbrastervon tcolorbox.

\documentclass[t]{beamer}
\usecolortheme{rose}
\usepackage[most]{tcolorbox}

\newcommand{\FourQuads}[4]{
\begin{tcbraster}[raster columns=2, raster rows=2, raster height=.8\textheight,
    enhanced, size=small, sharp corners, boxrule=0pt,
    colbacktitle=structure.fg!20!bg,
    coltitle=structure.fg,
    colback=structure.fg!10!bg]
    \begin{tcolorbox}[title=First]#1\end{tcolorbox}
    \begin{tcolorbox}[title=Second]#2\end{tcolorbox}
    \begin{tcolorbox}[title=Third]#3\end{tcolorbox}
    \begin{tcolorbox}[title=Fourth]#4\end{tcolorbox}
\end{tcbraster}
}

\begin{document} 
\begin{frame}{A very important slide}
\FourQuads%
{first item\\
another first item}
{second item}
{third item}
{fourth item\\
another fourth item}

\end{frame}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen