我正在准备一张海报巴波斯特包,并且我在 headerbox 中有一个很长的 header,因此它超出了限制。 有没有办法将 headerbox 中的 header 写成多行?
答案1
如果我没记错的话,这就是标题的定义baposter.cls
\ifbaposter@eyecatcher% Has eye catcher%
\draw (image.east) node(title)[anchor=west,text width=\baposter@titleimage@textwidth]{%
\begin{minipage}{\baposter@titleimage@textwidth}%
\begin{center}%
\textbf{\Huge #3}\\%
{\Large #4}%
\end{center}%
\end{minipage}
};%
\else% Has no eye catcher
\draw (image.east) node(title)[anchor=west] { {\begin{minipage}{\baposter@titleimage@textwidth}{\bfseries\Huge #3}\\{\Large #4}\end{minipage}} };%
\fi
显然,使用的字体大小是Huge
和Large
,而它们“托管”的 tikz 节点没有定义特定的字体大小,这会导致行距不好。我建议做些不同的事情,并修改这部分代码,例如
- 字体大小在 tikz 节点内正确设置
- #3 和 #4 内容位于两个不同的节点中
- 避免了 minipage 环境
这意味着一些代码如下(对于 if 部分,将适应 else 部分):
\draw (image.east) node(title)[anchor=west,text width=\baposter@titleimage@textwidth,text badly centered,font=\Huge\bfseries]{#3};
\node[below of=title,anchor=west,text width=\baposter@titleimage@textwidth,text badly centered,font=\Large]{#4};
请注意,positioning
如果类头中尚未定义,则可能会请求 tikz 库。
答案2
\headerbox{$\begin{array}{l}\vspace{-1.5cm}\\
\text{text in first line}\\ \text{ text in second line}\\ \text{text in third line}
\end{array}$
}{boxheaderheight=2.4cm,name=text,column=0,row=0}{ text}
答案3
那这个呢:
\begin{poster}{% other declarations
headerheight=.125\textheight,% this defines height of box reserved for title, name, etc.
%another declarations
}