
Я использую следующий код (примерно) для установки затененного слева направо фона позадипроекторзаголовок. Содержимое заголовка задается с помощью outertheme
tree
. Метод затенения примерно такой же, как и для Singapore
. Проблема в том, что у меня есть линия светло-зеленого цвета в самом верху слайда, тогда как я хотел бы, чтобы темно-зеленый цвет доходил до самого верха.
\PassOptionsToPackage{rgb}{xcolor}
\documentclass{beamer}
\definecolor{acol}{rgb}{.5,1,.5}
\definecolor{bcol}{rgb}{.1,.6,.2}
\colorlet{bcol1}{bcol!25!black}
\setbeamercolor{title in head/foot}{fg=acol,bg=}
\setbeamercolor{section in head/foot}{fg=acol,bg=}
\setbeamercolor{subsection in head/foot}{fg=acol,bg=}
\setbeamercolor{upper separation line head}{bg=bcol1}
\setbeamercolor{lower separation line head}{bg=bcol1}
\makeatletter
\useoutertheme{tree}
\pgfdeclarehorizontalshading{beamer@headfade}{\dimexpr5.4375ex+3pt}
{%
color(0cm)=(bcol1);
color(\paperwidth)=(acol)%
}
\addtoheadtemplate{\vskip 3pt\pgfuseshading{beamer@headfade}\vskip\dimexpr -3pt-10.875ex}{}
\makeatother
\begin{document}
\title{Title}
\section{A Section}
\subsection{A Subsection}
\begin{frame}{A Frame}{A Subframe}
Some text
\end{frame}
\end{document}
Вероятно, я где-то неправильно рассчитал или использовал неверные значения, но каждый раз, когда я что-то нажимаю, что-то или что-то нажимает обратно, и я просто не могу сделать это правильно. (Возможно, потому что я, как обычно, заворожён лабиринтом beamer
кода.)
Любая подсказка будет высоко оценена!
решение1
Я получаю ошибку с MWE, который вы предоставили. Он указан в этой строке, говоря, что \dimexpr
не может быть использован в вертикальном режиме:
\pgfdeclarehorizontalshading{beamer@headfade}{\dimexpr5.4375ex+3pt}
Я только что удалил его, и у меня все работает (строки сверху нет):
\pgfdeclarehorizontalshading{beamer@headfade}{5.4375ex+3pt}
\PassOptionsToPackage{rgb}{xcolor}
\documentclass{beamer}
\definecolor{acol}{rgb}{.5,1,.5}
\definecolor{bcol}{rgb}{.1,.6,.2}
\colorlet{bcol1}{bcol!25!black}
\setbeamercolor{title in head/foot}{fg=acol,bg=}
\setbeamercolor{section in head/foot}{fg=acol,bg=}
\setbeamercolor{subsection in head/foot}{fg=acol,bg=}
\setbeamercolor{upper separation line head}{bg=bcol1}
\setbeamercolor{lower separation line head}{bg=bcol1}
\makeatletter
\useoutertheme{tree}
\pgfdeclarehorizontalshading{beamer@headfade}{5.4375ex+3pt}
{%
color(0cm)=(bcol1);
color(\paperwidth)=(acol)%
}
\addtoheadtemplate{\vskip 3pt\pgfuseshading{beamer@headfade}\vskip\dimexpr -3pt-10.875ex}{}
\makeatother
\begin{document}
\title{Title}
\section{A Section}
\subsection{A Subsection}
\begin{frame}{A Frame}{A Subframe}
Some text
\end{frame}
\end{document}