Получение затененного заголовка вровень с верхом слайда с помощью дерева внешних тем в Beamer

Получение затененного заголовка вровень с верхом слайда с помощью дерева внешних тем в Beamer

Я использую следующий код (примерно) для установки затененного слева направо фона позадипроекторзаголовок. Содержимое заголовка задается с помощью 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}

введите описание изображения здесь

Связанный контент