在 tikzposter 中设置块的高度或位置

在 tikzposter 中设置块的高度或位置

我在 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}

相关内容