Beamer制作演示文档-7:设置帧标题的样式

其实到目前为此,帧标题没有任何的问题,它的形式是下面这样的。
enter description here
可是呢,好心的同事给我提供了一个得到老专家认可的模板,在那里,帧标题是有它的样式的。我对此做了一些修改,来向那个样式靠近。主要的修改有两个方面,一是增加了一个背景图片,二是把主标题和副标题放在了同一行里。
使用的代码如下

\newsavebox{\frametitlebox}%
\newlength{\frametitleboxlength}%
\newlength{\frametitleboxheight}%
\defbeamertemplate{frametitle}{NGEGFrametitleTemplate}
{%
	\nointerlineskip%去掉行间的粘连
	\sbox{\frametitlebox}
		{%
			\insertframetitle%
			\ifx\insertframesubtitle\@empty%\ifx<token1><token2>用来测试两个记号是否相同,这句话的意思是,如果子标题为空
				\par%什么也不做,结束当前段落
			\else
				:\usebeamerfont*{framesubtitle}{\insertframesubtitle}%插入子标题,并设置字体和颜色
				\par%结束当前段落
			\fi%结束判断
		}%
	\settoheight{\frametitleboxheight}{\usebox{\frametitlebox}}%
	\setlength{\frametitleboxheight}{1.4\frametitleboxheight}%
	\hbox{%
			\hskip-\Gm@lmargin%\Gm@lmargin是页面边缘和文本边缘之间的间距,水平往回跳过这个间距,其实就是来到了页面的最左边
			\rlap{%导入标题栏背景的图片
					\includegraphics[width=1.01\paperwidth,height=\frametitleboxheight]{标题栏背景}%
				}%
			\rlap{%插入标题内容
					\raisebox{0.2\frametitleboxheight}%
						{%
							\usebox{\frametitlebox}%
						}%
				}%
		\hskip-\Gm@lmargin%
	}
}
\setbeamertemplate{frametitle}[NGEGFrametitleTemplate]

出现的效果如下
enter description here

posted @ 2020-09-03 11:54  南宫二狗  阅读(1543)  评论(0编辑  收藏  举报