我的问题与 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
。