我正在使用 beamer,我可以使用以下方法更改字体大小
\setbeamerfont{section in head/foot}{size=\scriptsize}
但是,我不知道如何正确为该文本添加下划线。我尝试使用以下方法向模板添加样式:
\setbeamertemplate{section in head/foot}{style=underline},
但这只会打印“style=underline”而不是所有章节标题。
我如何让所有单独的标题都带下划线?
编辑:这是一个例子:
\documentclass[10pt]{beamer}
\setbeamertemplate{headline}{%
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=\paperwidth,ht=2.5ex,dp=1.125ex]{palette quaternary}%
\insertsectionnavigationhorizontal{\paperwidth}{}{\hskip0pt plus1filll}
\end{beamercolorbox}%
}
}
\setbeamerfont{section in head/foot}{size=\scriptsize}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\section{Headline Title 1}
\begin{frame}{Local Title 1}
\end{frame}
\section{Headline Title 2}
\begin{frame}{Local Title 2}
\end{frame}
\end{document}
答案1
插入的节标题是在设置节/框架时构造的。因此,必须在设置标题期间进行干预。知道\insertsectionhead
打印后\hyperlink{<target>}{<title>}
,您可以重新定义\hyperlink
为插入\hyperlink{<target>}{\underline{<title>}}
:
\documentclass{beamer}
\setbeamertemplate{headline}{%
\leavevmode
\begin{beamercolorbox}[wd=\paperwidth,ht=2.5ex,dp=1.125ex]{palette quaternary}%
\let\oldhyperlink\hyperlink% Store old \hyperlink
% Update \hyperlink to insert \underline around second ##2 argument
\renewcommand{\hyperlink}[2]{\oldhyperlink{##1}{\underline{##2}}}%
\insertsectionnavigationhorizontal{\paperwidth}{}{\hskip0pt plus1filll}
\end{beamercolorbox}%
}
\setbeamerfont{section in head/foot}{size=\scriptsize}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\section{Headline Title 1}
\begin{frame}{Local Title 1}
\end{frame}
\section{Headline Title 2}
\begin{frame}{Local Title 2}
\end{frame}
\end{document}
你可能想要使用
\renewcommand{\hyperlink}[2]{\oldhyperlink{##1}{\underline{\smash{##2}}}}%
相反,带有降部内容的页眉标题可能会导致垂直不对齐\underline
。