Tikzposter 结合仅标题块和下一个块上的偏移量

Tikzposter 结合仅标题块和下一个块上的偏移量

不久前,我回答了这个问题没有内容的 Tikzposter 块我认为一切都很美好。

但在不得不使用我创建的命令后,我意识到任何 后面都会插入大约 2cm 的空白空间titleblock。可以使用标题栏正下方的任何顶部块上的titleoffsety=2cm和来修复此问题。为了简化此过程,我可以制作一个添加此内容的宏,但如果我需要制作一个新的宏来自己清理,这似乎是一个肮脏的宏。bodyoffsety=2cmaftertitleblock

所以我想知道是否有办法从defineblockstyle命令中去除 2cm 的空白。

梅威瑟:

\documentclass{tikzposter}
\defineblockstyle{Justtitle}{
        }{
        \ifBlockHasTitle
                \draw[color=framecolor, fill=blocktitlebgcolor,
                rounded corners=\blockroundedcorners] (blocktitle.south west)
                rectangle (blocktitle.north east);
        \fi
}
\newcommand{\titleblock}[1]{\useblockstyle{Justtitle}\block{#1}{}\useblockstyle{Default}}

\begin{document}
\titleblock{Cool title}
\begin{columns}
        \column{0.5}
        \block[titleoffsety=2cm,bodyoffsety=2cm]{cool block title}{block text} %NOTE THE OFFSET
        \block{next block}{more text}
        \column{0.5}
        \block{even cooler, but wrongly placed title}{Super cool text here}%NOTE THE LACK OF OFFSET
        \block{hello}{duck}
\end{columns}
\end{document}

生成: 一张照片耶

答案1

tikzposter计算区块主体的高度时,它会

\setlength{\TP@blockbodyheight}{\ht\TP@blockbodybox + \dp\TP@blockbodybox +2\TP@blockbodyinnersep}

如您所见,blockbodyinnersep高度增加了两次。您可以利用这一事实,将宏bodyinnersep中的设置\titleblock为适当的消极的长度:

\newcommand{\titleblock}[1]{\useblockstyle{Justtitle}\block[bodyinnersep=-4mm]{#1}{}\useblockstyle{Default}}

完整示例:

在此处输入图片描述

\documentclass{tikzposter}
\defineblockstyle{Justtitle}{
        }{
        \ifBlockHasTitle
                \draw[color=framecolor, fill=blocktitlebgcolor,
                rounded corners=\blockroundedcorners] (blocktitle.south west)
                rectangle (blocktitle.north east);
        \fi
}
\newcommand{\titleblock}[1]{\useblockstyle{Justtitle}\block[bodyinnersep=-4mm]{#1}{}\useblockstyle{Default}}

\begin{document}
\titleblock{Cool title}
\begin{columns}
        \column{0.5}
        \block{cool block title}{block text} 
        \block{next block}{more text}
        \column{0.5}
        \block{even cooler, but wrongly placed title}{Super cool text here}
        \block{hello}{duck}
\end{columns}
\end{document}

相关内容