Откуда в 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, и одно между двумя полями. Я заметил, что изменение высоты полей, похоже, меняет размер этих пустых пространств, что кажется мне странным поведением и затрудняет точное определение местоположения вещей.

решение1

Вы можете взглянуть на темы Beamer по умолчанию, чтобы увидеть, как они удаляют межстрочный пропуск в зависимости от наличия фонового цвета, см., например,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}

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

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