我在 tikzposter 中有两张海报,想把它们挂在一起。每张海报都有三个区块。我希望类似的区块在两张海报上具有相同的位置。如何实现?
感谢您的时间。
编辑:代码提取:
\documentclass[25pt, a0paper, portrait, margin=0mm, innermargin=15mm, blockverticalspace=15mm, colspace=15mm, subcolspace=8mm]{tikzposter}
\usepackage[utf8]{inputenc}
\useblockstyle{Basic}
\begin{document}
\begin{frame}[t]
\block{Title A}{Content A}
\block{Title B}{Content B}
\block{Title B}{Content C}
\end{frame}
\end{document}
两张海报上的方块内容长度不同。问题在于让它们的高度相同(或者说位置相同)。
答案1
这是一个解决方案。
\mtblock{Title 1}{Poster 1 content}{Title 2}{Poster 2 content}
新增保存内容和测量块高度的命令
一个.tex
文件,用于海报 1 的编译 \firsttrue
,不包含海报 1 的编译,则\firstfalse
用于海报 2。
\documentclass[25pt, a0paper, portrait, margin=0mm, innermargin=15mm, blockverticalspace=15mm, colspace=15mm, subcolspace=8mm]{tikzposter}
\usepackage[utf8]{inputenc}
\useblockstyle{Basic}
\usepackage{lipsum}% just for the example
\newif\iffirst
\newlength\htblockbox
\newbox\blockbox
\newcommand{\mtblock}[4]{%
\block{\iffirst #1\else #3\fi}{%
\setbox\blockbox\vbox{#2}%
\setlength{\htblockbox}{\ht\blockbox}%
\setbox\blockbox\vbox{#4}%
\ifdim\htblockbox<\ht\blockbox
\setlength{\htblockbox}{\ht\blockbox}%
\fi
\parbox[t][\htblockbox][c]{\linewidth}{\iffirst #2\else #4\fi}}}
\title{Block height}
\author{User}
\begin{document}
\maketitle
%\firsttrue %uncomment for poster 1: A,B,C
\begin{frame}[t]
\mtblock{Title 1}{Poster 1 content}{Title 2}{Poster 2 content}
\mtblock{Title A}{\lipsum[1]}{Title AA}{\lipsum[1-2]}
\mtblock{Title B}{\lipsum[1]}{Title BB}{\lipsum[1-2]}
\mtblock{Title C}{\lipsum[1-2]}{Title CC}{\lipsum[1]}
\end{frame}
\end{document}