我正在制作自己的 Beamer 主题,用于演示。footline
我想在底部(在)一行中放置三个颜色不同的颜色框。
在我的 theme.sty 文件中,我通过以下方式完成了此操作:
\setbeamertemplate{footline}{
\leavevmode
\begin{beamercolorbox}[wd=0.33\paperwidth,ht=7pt,dp=4pt]{footerbox}
\centering
\insertauthor
\end{beamercolorbox}
\begin{beamercolorbox}[wd=0.34\paperwidth,ht=7pt,dp=4pt]{footerboxcenter}
\centering
\inserttitle
\end{beamercolorbox}
\begin{beamercolorbox}[wd=0.33\paperwidth,ht=7pt,dp=4pt]{footerbox}
\centering
\insertframenumber/\inserttotalframenumber
\end{beamercolorbox}
}
我最终得到的是
这基本上就是我想要的,只是框之间没有空间。每个框的确切内容和比例可能会发生变化 - 这里的重点只是一行上的多个彩色框。我尝试过各种格式、列、小页面、水平空间等,但都没能消除这个空间。
我猜想这里可能遗漏了某些命令或参数,或者可能有更“LaTeX 式”的方法来实现我想要的效果。我是否做错了什么?或者是否有更合适的方法将多个颜色框放在一行上?
答案1
您需要%
在 之后\end{beamercolorbox}
,否则未受保护的行结尾就像插入空格一样。请参阅行末百分号(%)有什么用?有关行尾为空格的更多信息。
此外,如果您将the 作为选项传递,则可以避免\centering
在每个中使用。beamercolorbox
center
beamercolorbox
\documentclass{beamer}
\setbeamercolor{footerbox}{bg=blue, fg=white}
\setbeamercolor{footerboxcenter}{bg=red}
\setbeamertemplate{footline}{%
\leavevmode
\begin{beamercolorbox}[wd=0.33\paperwidth,ht=7pt,dp=4pt,center]{footerbox}
\insertauthor
\end{beamercolorbox}% <- added
\begin{beamercolorbox}[wd=0.34\paperwidth,ht=7pt,dp=4pt,center]{footerboxcenter}
\inserttitle
\end{beamercolorbox}% <- added
\begin{beamercolorbox}[wd=0.33\paperwidth,ht=7pt,dp=4pt,center]{footerbox}
\insertframenumber/\inserttotalframenumber
\end{beamercolorbox}
}
\begin{document}
\begin{frame}
abc
\end{frame}
\end{document}