我怎样才能将三列中的第二个块向下移动?

我怎样才能将三列中的第二个块向下移动?

我的问题与 Tikzposter 和列内的块有关。

开始情况:

代码描述了 Tikzposter 中的三列,每列一个块。第二列块没有文本。

期望情况:

我的目标是让中间(第二)列的块充当水平“箭头”或视觉路线,从三列中的第一个块到三列中的第三个块。因此,海报的读者将遵循海报上预定的信息路线,以尽可能清楚地了解我的信息。

我想要怎么做:

我想“压缩”第二个块的标题和正文的高度,并将其定位在第一列和第三列块的水平中心线上。(我通过改变“bodywidthscale”来管理海报中的垂直“箭头”)

问题:

如何将块的形状更改为水平平坦的矩形,并移动块的 y 位置,以便它与三个分隔列的第一个和第三个块的水平中心线对齐?

最好的,

Tikzposter 用户

代码:

\documentclass{tikzposter}

\begin{document}    
\maketitle  
\begin{columns}     
    \column{0.5}
    \block{First read this}{
    \begin{itemize}
        \item A message
        \item Follow the horizontal arrow
    \end{itemize}
    }       
    \column{0.2}
    \block{}{\vspace{3.5ex}}        
    \column{0.3}
    \block{Than read this}{
    \begin{itemize}
        \item Second message.
        \item Follow the next 'arrow'.
    \end{itemize}
    }       
\end{columns}
\end{document}

答案1

\defineblockstyle您可以按照 tikzposter 手册第 5.5 节中所述使用:

\documentclass{tikzposter}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\begin{document} 
    \defineblockstyle{sampleblockstyle}{}{
    \draw[->, line width=2cm, -{stealth[length=10mm]},color=framecolor, fill=backgroundcolor] (blockbody.west) -- (blockbody.east);
    }

\maketitle  
\begin{columns}     
    \column{0.5}
    \block{First read this}{
    \begin{itemize}
        \item A message
        \item Follow the horizontal arrow
    \end{itemize}
    }       
    \column{0.2}
    \useblockstyle{sampleblockstyle}
    \block[bodyverticalshift=5cm]{}{\vspace{3.5ex}}
    \useblockstyle{Default}
    \column{0.3}
    \block{Than read this}{
    \begin{itemize}
        \item Second message.
        \item Follow the next 'arrow'.
    \end{itemize}
    }       
\end{columns}
\end{document}

您可以定义一个块,它基本上绘制一个箭头。可以通过更改line width和来进行调整arrow tip(请参阅 pgf 手册第 16.3 节)。要使用您定义的箭头块,只需将您的块样式更改为\useblockstyle{sampleblockstyle}。不要忘记随后将其改回所需的布局,即使用\useblockstyle{Default}。可以通过将选项传递给箭头块来完成箭头的垂直对齐bodyverticalshift

在此处输入图片描述

相关内容