Сделайте заголовок фрейма и блок одинаковой ширины в Beamer, попытка 2

Сделайте заголовок фрейма и блок одинаковой ширины в Beamer, попытка 2

В некоторых моихТемы для BeamerЯ использовал ответ наСделайте заголовок фрейма и блок одинаковой ширины в Beamer.

Однако теперьвопросбыл повышен, что подтверждается следующим МВЭ:

\documentclass{beamer}
\setbeamertemplate{block begin}{
    \begin{beamercolorbox}[wd=\textwidth, ht=0.5cm, dp=0.2cm, leftskip=0.2cm]{block title}%
    \usebeamerfont*{block title}%
        {\rule[-0.4ex]{0mm}{2ex}\insertblocktitle}%
            \end{beamercolorbox}%
    {\ifbeamercolorempty[bg]{block body}{}{\nointerlineskip\vskip-0.5pt}}%
    \usebeamerfont{block body}%
    \begin{beamercolorbox}[wd=\textwidth, ht=0.5cm, dp=0.2cm, leftskip=0.2cm]{block body}%
        \ifbeamercolorempty[bg]{block body}{\vskip-.25ex}{\vskip-.75ex}\vbox{}%
}
\setbeamertemplate{block end}{
    \end{beamercolorbox}
    \vspace*{.25cm}
}
\setbeamertemplate{frametitle}{
\vspace*{0.3cm}
\begin{beamercolorbox}[wd=\textwidth, dp=0.3cm, ht=0.9cm, leftskip=0.2cm]{frametitle}
      \usebeamerfont{frametitle}\insertframetitle%
\end{beamercolorbox}
}
\setbeamercolor{block title}{bg=yellow}
\setbeamercolor{frametitle}{bg=yellow}

\begin{document}
\begin{frame}{Block}
This is text before the block.
\begin{block}{blocktitle} some text here 
\begin{itemize} 
\item This is an item in the block.
\end{itemize}
This is text after the itemize.
\end{block}
This is text after the block.
\end{frame}
\end{document}

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

Как вы видите, заголовок блока, тело блока и окружающий текст смешиваются и перекрываются. Пожалуйста, помогите мне решить эту проблему! Также очень важно, чтобы цветной блок, содержащий заголовок рамки, и цветной блок, содержащий заголовок блока (и цветной блок, содержащий тело блока, если таковое имеется) оставались одинаковой ширины.

решение1

Я почти уверен, что этот код имеет проблемы, но он, похоже, решает непосредственную проблему. Связанное решение устанавливает фиксированную высоту для блока, равную высоте, установленной для заголовков блока и фрейма. Вам не нужна детализация, чтобы показать проблему — достаточно нескольких строк текста.

\documentclass{beamer}
\setbeamertemplate{block begin}{
  \vskip\baselineskip
  \begin{beamercolorbox}[wd=\textwidth, ht=0.5cm, dp=0.2cm, leftskip=0.2cm]{block title}%
    \usebeamerfont*{block title}%
    {\rule[-0.4ex]{0mm}{2ex}\insertblocktitle}%
  \end{beamercolorbox}%
  {\nointerlineskip\vskip-0.5pt}%
  \usebeamerfont{block body}%
  \begin{beamercolorbox}[wd=\textwidth, leftskip=0.2cm]{block body}%
    \vskip-.75ex\vbox{}%
  }
  \setbeamertemplate{block end}{
  \end{beamercolorbox}
  \vspace*{.25cm}
}
\setbeamertemplate{frametitle}{
  \vspace*{0.3cm}
  \begin{beamercolorbox}[wd=\textwidth, dp=0.3cm, ht=0.9cm, leftskip=0.2cm]{frametitle}
    \usebeamerfont{frametitle}\insertframetitle%
  \end{beamercolorbox}
}
\setbeamercolor{block title}{bg=yellow}
\setbeamercolor{frametitle}{bg=yellow}

\begin{document}
  \begin{frame}{Block}
    This is text before the block.

    \begin{block}{blocktitle} some text here
      \begin{itemize}
        \item This is an item in the block.
      \end{itemize}
      This is text after the itemize.
    \end{block}
    This is text after the block.
  \end{frame}
\end{document}

дайте блочному контенту немного свободы

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