tcolorbox:高度填充页面中间

tcolorbox:高度填充页面中间

我正在寻找一个具有像 这样的高度的 tcolorbox \vfill

我有一个带有 es 的页面tcolorbox
如果页面上还剩下一些空间,我想扩展页面中间一个框的高度。该框的高度应为\vfill

已经有一个非常好的功能,这个选项height fill完全符合我的要求,但只针对页面上的最后一个框。

如果该解决方案也适用于像示例中的栅格,那就太好了。

\documentclass{article}
\usepackage{tcolorbox}
\tcbuselibrary{raster}
\tcbuselibrary{breakable}
\begin{document}
other 
\clearpage
\begin{tcolorbox}a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\end{tcolorbox}
\begin{tcbraster}[%
    raster columns=2,
    raster rows=1,
    raster height=6cm, % manual adjustment :-( 
    %raster height=\vfill,% I would like to have the hight like \vfill
    %height fill,% Nice, but only working at the end of the page :-(
]
    \begin{tcolorbox}
        Here we will have a plot that is nice to extend if there is some space left on the page.
    \end{tcolorbox}
    \begin{tcolorbox}
        Here we will have a plot that is nice to extend if there is some space left on the page.
    \end{tcolorbox}
\end{tcbraster}
\begin{tcolorbox}a\\a\\a\\a\\a\\a\\a\\a\\a\\a
\end{tcolorbox}
\clearpage
other 
\end{document}

我想扩展中间的两个框以填满整个页面。

@cfr

按照您的建议,我已将所有框放入栅格中。第一个和最后一个框应该是natural height。您能告诉我如何扩展中间的两个框以填满页面吗?

\documentclass{article}
\usepackage{tcolorbox}
\tcbuselibrary{raster}
\tcbuselibrary{breakable}
\begin{document}
other 
\clearpage
\begin{tcbraster}[%
    raster columns=1,
    raster rows=3,
    raster height=\textheight,
    ]
    \begin{tcolorbox}[reset,natural height]
        a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a
    \end{tcolorbox}
    \begin{tcbraster}[%
        raster columns=2,
        raster rows=1,
        raster height=6cm,% how to extend the height to fill the page?
    ]
        \begin{tcolorbox}
            Here we will have a plot that is nice to extend if there is some space left on the page.
        \end{tcolorbox}
        \begin{tcolorbox}
            Here we will have a plot that is nice to extend if there is some space left on the page.
        \end{tcolorbox}
    \end{tcbraster}
    \begin{tcolorbox}[reset,natural height]
        a\\a\\a\\a\\a\\a\\a\\a\\a\\a
    \end{tcolorbox}
\end{tcbraster}
\clearpage
other 
\end{document}

答案1

这需要一些手动操作。在我的代码中,顶部和底部框的高度由equal height groups名称topbox和保存bottombox。现在,中间框的高度设置为\textheight-\topboxheight-\bottomboxheight-4mm2mm之间的空间。

tcolorbox3.80 (2015/11/27)这个答案需要版本或更新版本。

\documentclass{article}
\usepackage{tcolorbox}
\tcbuselibrary{raster}
\tcbuselibrary{breakable}
\begin{document}
other
\clearpage
%-------------------
\begin{tcolorbox}[equal height group=topbox,
  before skip=0mm,after skip=2mm]a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\end{tcolorbox}
\begin{tcbraster}[%
    raster columns=2,
    raster rows=1,
    code={%
      \tcbheightfromgroup\topboxheight{topbox}%
      \tcbheightfromgroup\bottomboxheight{bottombox}%
    },
    raster height=\textheight-\topboxheight-\bottomboxheight-4mm]
    \begin{tcolorbox}
        Here we will have a plot that is nice to extend if there is some space left on the page.
    \end{tcolorbox}
    \begin{tcolorbox}
        Here we will have a plot that is nice to extend if there is some space left on the page.
    \end{tcolorbox}
\end{tcbraster}
\begin{tcolorbox}[equal height group=bottombox,
  before skip=2mm,after skip=0mm]a\\a\\a\\a\\a\\a\\a\\a\\a\\a
\end{tcolorbox}
%-------------------
\clearpage
other
\end{document}

在此处输入图片描述

相关内容