我希望框架标题的下划线与标题的长度完全相同,并且希望标题和线条能够有不同的颜色。目前,我有,
\documentclass{beamer}
\makeatletter
\setbeamertemplate{frametitle}
{
\ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}%
\@tempdima=\textwidth%
\advance\@tempdima by\beamer@leftmargin%
\advance\@tempdima by\beamer@rightmargin%
\begin{beamercolorbox}[sep=0.3cm,left, wd=\the\@tempdima]{frametitle}
\vbox{}\vskip-1ex%
\if@tempswa\else\csname beamer@fteleft\endcsname\fi%
{\strut\color{blue}\bfseries\insertframetitle\strut\par%
{%
\ifx\insertframesubtitle\@empty%
\else%
{\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\insertframesubtitle\strut\par}%
\fi
}%
\vskip-1.5ex%
\rule{\dimexpr\paperwidth-0.6cm\relax}{0.4pt}}
\if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here...
\end{beamercolorbox}%
%
}
\makeatother
\setbeamertemplate{itemize items}[circle]
\begin{document}
\begin{frame}{Frame title}
\begin{itemize}
\item dd
\item
\end{itemize}
\end{frame}
\end{document}
是否可以让下划线在框架标题停止时停止(这样线条只出现在单词下方而不是贯穿整个幻灯片)并且标题和线条具有不同的颜色?
任何意见,将不胜感激!
答案1
这是一种方法。规则长度取决于主标题。我在第一张幻灯片上展示了一个包含较长副标题的示例。我假设您不会使用副标题,因为您在问题中没有提到它。如果您希望规则长度更改遵循副标题,则需要相应地更改代码。
\documentclass{beamer}
\makeatletter
\setbeamertemplate{frametitle}
{
\ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}%
\@tempdima=\textwidth%
\settowidth{\@tempdimb}{\bfseries\insertframetitle}%
\advance\@tempdima by\beamer@leftmargin%
\advance\@tempdima by\beamer@rightmargin%
\begin{beamercolorbox}[sep=0.3cm,left, wd=\the\@tempdima]{frametitle}
\vbox{}\vskip-1ex%
\if@tempswa\else\csname beamer@fteleft\endcsname\fi%
{\strut\color{blue}\bfseries\insertframetitle\strut\par%
{%
\ifx\insertframesubtitle\@empty%
\else%
{\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\insertframesubtitle\strut\par}%
\fi
}%
\vskip-1.5ex%
\color{red}\rule{\@tempdimb}{0.4pt}}
\if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here...
\end{beamercolorbox}%
%
}
\makeatother
\setbeamertemplate{itemize items}[circle]
\begin{document}
\begin{frame}{Frame title}{test very long sub title}
\begin{itemize}
\item dd
\item
\end{itemize}
\end{frame}
\begin{frame}{Testing of Longer Frame title}
\begin{itemize}
\item dd
\item
\end{itemize}
\end{frame}
\end{document}