大家好,我是 Beamer 的新手,遇到了如标题所示的问题。我尝试搜索类似的问题,但这些问题都不能应用于 frametitle 框。例如, \addtobeamertemplate{frametitle}{\pgfsetfillopacity{0.5}}{\pgfsetfillopacity{1}}
此命令有效,但字母颜色也会褪色(见下图)。所以,有人能帮我解决这个问题吗?非常感谢。
新增内容
\documentclass{beamer}
\usetheme{CambridgeUS}
\usecolortheme{dolphin}
\begin{document}
\title{My title}
\author{author}
\usebackgroundtemplate{\includegraphics[width=\paperwidth]{background.jpg}}
\addtobeamertemplate{frametitle}{\pgfsetfillopacity{0.5}}{\pgfsetfillopacity{1}}
\begin{frame}[plain] %empty title page
\titlepage
\end{frame}
\begin{frame}
\frametitle{Outline}
\tableofcontents
\end{frame}
\end{document}
答案1
我找到的解决方案(归功于投影仪框架标题的渐变为透明(水平)) 包括改变frametitle
定义并在那里固定两个不同的不透明度,一个用于标题beamercolorbox
,另一个用于\insertitle
标题内部。
一旦知道frametitle
要使用哪个模板,就可以调整它。
\documentclass{beamer}
\usetheme{CambridgeUS}
\usecolortheme{dolphin}
\makeatletter
\setbeamertemplate{frametitle}
{
\ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}%
\@tempdima=\textwidth%
\advance\@tempdima by\beamer@leftmargin%
\advance\@tempdima by\beamer@rightmargin%
\pgfsetfillopacity{.7} %<------ fix filling opacity
\begin{beamercolorbox}[sep=0.3cm,left,wd=\the\@tempdima]{frametitle}
\usebeamerfont{frametitle}%
\vbox{}\vskip-1ex%
\if@tempswa\else\csname beamer@fteleft\endcsname\fi%
\strut\pgfsetfillopacity{1}\insertframetitle\strut\par% <---- text opacity
{%
\ifx\insertframesubtitle\@empty%
\else%
{\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\insertframesubtitle\strut\par}%
\fi
}%
\vskip-1ex%
\if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here...
\end{beamercolorbox}%
}
\makeatother
\begin{document}
\title{My title}
\author{author}
\usebackgroundtemplate{\includegraphics[width=\paperwidth]{lion.jpg}}
\begin{frame}[plain] %empty title page
\titlepage
\end{frame}
\begin{frame}
\frametitle{Outline}
\tableofcontents
\end{frame}
\end{document}