我注意到,当使用mdframed
和时tcolorbox
,很难强制框拉伸到与页面完全相同的高度。
此外,虽然 和 似乎可以与 配合使用,但newpage
和pagebreak
不能很好地配合使用。tcolorbox
mdframed
如何实现一个多页彩色框来容纳强制为页面高度的内容?
答案1
基于答案这里,我相信最简单的方法是使用tcolorbox
两个智能自定义命令:
\newcommand*{\fakebreak}{\par\vspace{\textheight minus \textheight}\pagebreak}
\newcommand*{\fakefill}{\par\vspace{\textheight minus \textheight}}
fakebreak
允许您填充页面然后引发分页符(尽管下一页不会具有强制页面高度)。fakefill
可让您强制框具有与页面高度相等的高度(减去边距),而不会产生分页符。
这会给你这样的输出,我想这正是你想要的:
不幸的是,如果您坚持使用mdframed
而不是tcolorbox
,我还没有找到强制这样做的方法。
上述代码:
\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[many]{tcolorbox}
\usepackage{tikz}
\begin{document}
\begin{tcolorbox}[%
parbox = false,
colback = white, colframe = black,
left = 0.5in, right = 0.5in, top = 0.5in, bottom = 0.5in,
height = \textheight,
sharp corners,
boxrule = 1pt,
breakable
]
\newcommand*{\fakebreak}{\par\vspace{\textheight minus \textheight}\pagebreak}
\newcommand*{\fakefill}{\par\vspace{\textheight minus \textheight}}
\begin{center}
\begin{tikzpicture}
\draw[rounded corners,thick, fill, fill opacity = 0.2] (-0.2,0) rectangle (2,2);
\end{tikzpicture}
\end{center}
\fakebreak
\begin{center}
\begin{tikzpicture}
\draw[rounded corners,thick, fill, fill opacity = 0.2] (-0.2,0) rectangle (2,2);
\end{tikzpicture}
\end{center}
\fakefill
\end{tcolorbox}
\end{document}