Beamer でブロックのタイトルとブロック本体の間の色のグラデーションを無効にする方法を教えてください。

Beamer でブロックのタイトルとブロック本体の間の色のグラデーションを無効にする方法を教えてください。

私はBeamerスライドで「ワルシャワテーマ」を使用していますが、どうすれば

  1. ブロックのタイトルとブロック本体の間の色のグラデーションを無効にします。
  2. ブロックのシェードを無効にします。
  3. 「角丸長方形」のブロックがない「Berkeley テーマ」は使いたくありません。

ありがとう。

答え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}

ここに画像の説明を入力してください

関連情報