Как отключить цветовой градиент между заголовком блока и телом блока в Beamer?

Как отключить цветовой градиент между заголовком блока и телом блока в Beamer?

Я использую «Варшавскую тему» ​​в своих слайдах для проектора, так как я могу

  1. Отключить цветовой градиент между заголовком блока и телом блока;
  2. Отключить тень блока;
  3. Я не хочу использовать «тему Беркли», в которой нет блока с «прямоугольником со скругленными углами».

Спасибо.

решение1

Warsaw внутренне использует beamerboxesrounded, который применяет bmb@transitionзатенение для добавления цвета между заголовком и частями тела блоков. Вот оригинальное определение (найдено в файле beamerbaseboxes.sty):

\pgfdeclareverticalshading[lower.bg,upper.bg]{bmb@transition}{200cm}{%
  color(0pt)=(lower.bg); color(2pt)=(lower.bg); color(4pt)=(upper.bg)}

Измените это определение, чтобы подавить эффект перехода.

Чтобы подавить затенение, переопределите шаблон блоков, используя

\setbeamertemplate{blocks}[rounded][shadow=false] 

Полный код:

\documentclass{beamer}
\usetheme{Warsaw}

\setbeamertemplate{blocks}[rounded][shadow=false]
\makeatletter
\pgfdeclareverticalshading[lower.bg,upper.bg]{bmb@transition}{200cm}{%
  color(0pt)=(upper.bg); color(2pt)=(upper.bg); color(4pt)=(upper.bg)}
\makeatother

\begin{document}
\begin{frame}{A frame}
\begin{block}{A block}
    Some text
\end{block}
\end{frame}
\end{document}

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

решение2

Если вы используете tcolorboxвнутреннюю тему, вы можете отключить тень и затенение между заголовком и текстом следующим образом:

\documentclass{beamer}
\usetheme{Warsaw}

\useinnertheme[shaded=false,shadow=false]{tcolorbox}

\begin{document}
\begin{frame}
  \begin{block}{Title}
  Block stuff.
  \end{block}
\end{frame}
\end{document}

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

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