答案1
替代方案可能tikzposter
是tcbposter
tcolorbox
包。它使用常规方案(行和列)来放置框,但它足够灵活,可以调整框的宽度和高度。甚至框的位置和大小也可以相对于其他框。
类似于 OP 方案的情况可能是:
\documentclass[12pt]{article}
\usepackage[poster]{tcolorbox}
\pagestyle{empty}
\begin{document}
\begin{tcbposter}[
coverage = {spread, interior style={blue!20}},
poster = {
%showframe,
columns=2,rows=7},
boxes = {enhanced, colback=white, colframe=brown, valign=center, halign=center}
]
\posterbox[colback=brown!70!black]{name=title, column=1, span=2, below=top, rowspan=1}{Poster title}
\posterbox{name=box1, column=1, row=2, rowspan=2, span=1.2}{Box 1}
\posterbox{name=box2, column*=2, row=2, span=.8}{Box 2}
\posterbox{name=box3, column*=2, row=3, span=.8}{Box 3}
\posterbox{name=box4, column=1, row=4, rowspan=.9, span=.8}{Box 4}
\posterbox{name=box5, column*=2, row=4, rowspan=1.1, span=1.2}{Box 5}
\posterbox{name=box6, column=1, below=box4, rowspan=.9, span=.8}{Box 6}
\posterbox{name=box7, column*=2, below=box5, rowspan=1.1, span=1.2}{Box 7}
\posterbox{name=box10, column=1, above=bottom, span=1.2, rowspan=1}{Box10}
\posterbox{name=box11, column*=2, above=bottom, span=.8, rowspan=1}{Box11}
\posterbox{name=box8, column=1, between=box6 and box10, span=.8}{Box 8}
\posterbox{name=box9, column*=2, between=box7 and box11, span=1.2}{Box 9}
\end{tcbposter}
\end{document}