Beamer のこれらの空白はどこから来るのでしょうか?

Beamer のこれらの空白はどこから来るのでしょうか?

私は Beamer プレゼンテーションのカスタマイズに取り組んでおり、フレーム タイトルの外観と雰囲気を設定するために次のコードを試しました。

\setbeamertemplate{frametitle}{
    \begin{beamercolorbox}[left, wd = \paperwidth, ht = 1em]{palette frame title}
        \usebeamerfont{frametitle}
        \textbf{\insertframetitle}
    \end{beamercolorbox}
    
    \begin{beamercolorbox}[wd = \paperwidth, ht = .15em]{palette frame title}
        \rule{\paperwidth}{.15em}
    \end{beamercolorbox}
}

結果は次のようになります (寸法を視覚化するためbg = yellowにパレットに設定しました)。beamercolorbox

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

最初のボックスの上にある空白とbeamercolorbox、2 つのボックスの間にある空白がどこから来るのかを教えていただけるとありがたいです。ボックスの高さを変更すると、それらの空白のサイズが変わるようですが、これは奇妙な動作のように見え、正確に場所を特定するのが難しくなります。

答え1

デフォルトのビーマーテーマを見て、背景色の存在に基づいてどのように行間スキップを削除するかを確認できます。例を参照してください。https://github.com/josephwright/beamer/blob/main/base/themes/outer/beamerouterthemedefault.sty#L164

\documentclass{beamer}

\setbeamertemplate{frametitle}{%
  \ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}%
  \begin{beamercolorbox}[left,wd=\paperwidth,ht=2.5ex,dp=1ex]{frametitle}
    \usebeamerfont{frametitle}%
    \strut\insertframetitle
  \end{beamercolorbox}%
  
  \ifbeamercolorempty[bg]{lower separation line head}{}{\nointerlineskip}%
  \begin{beamercolorbox}[colsep=1.5pt,wd=\paperwidth]{lower separation line head}
  \end{beamercolorbox}%
}

\setbeamercolor{frametitle}{bg=yellow,fg=blue}
\setbeamerfont{frametitle}{series=\bfseries}
\setbeamercolor{lower separation line head}{bg=blue}

\begin{document}

\begin{frame}
\frametitle{titgle}
  abc
\end{frame}

\end{document}

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

関連情報