如何为 {section in head/foot} 中的所有章节标题添加下划线?

如何为 {section in head/foot} 中的所有章节标题添加下划线?

我正在使用 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

相关内容