비머에서 미니페이지를 수직으로 채우는 블록 늘리기

비머에서 미니페이지를 수직으로 채우는 블록 늘리기

비머 페이지를 4개의 동일한 부분으로 나누어야 하는 다음과 같은 환경이 있습니다.

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

네 가지 영역 각각은 블록 환경에서 텍스트를 표시합니다. 특히 다음과 같이 사용할 수 있습니다.

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

이는 다음을 생성합니다.

여기에 이미지 설명을 입력하세요

보시다시피, 각 영역의 다양한 텍스트 길이에 따라 블록이 늘어납니다. 즉, 길이가 다를 때마다 상자가 일치하지 않을 수 있습니다. 텍스트가 있는지 여부에 관계없이 블록 환경을 수직으로 늘리거나 채우는 방법을 찾고 있습니다. 텍스트가 없으면 블록이 환경의 나머지 공간을 수직으로 채울 수 있습니다 minipage.

\vfill또는 의 일종의 조합일 가능성이 높지만 \setlength결과를 얻기 위해 해당 매개변수를 정확히 어디에 배치해야 할지 모르겠습니다. 물론, minipage4번을 사용하는 것보다 더 나은 해결책이 있을 수도 있습니다. (시도해 보았지만 columns더 나은 결과는 나오지 않았습니다.)

답변1

minipage고정된 높이를 얻으려면 블록 내부에 를 배치합니다 .

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

여기에 이미지 설명을 입력하세요

답변2

또 다른 해결책은 tcbrasterfrom 입니다 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}

여기에 이미지 설명을 입력하세요

관련 정보