Как создать поля, такие как заголовок и подзаголовок кадра, в середине кадра?

Как создать поля, такие как заголовок и подзаголовок кадра, в середине кадра?

Я готовлю лекционный материал в beamer. Я хочу сделать заголовки в середине рамки, которые должны выглядеть как frametitleили framesubtitleблоки. В следующем MWE я использую blockдля их создания , но хочу, чтобы тело блока было пустым. Как мне этого добиться?

\documentclass[aspectratio=169,10pt, notheorems]{beamer}
\usefonttheme{serif}
\usetheme{CambridgeUS}
\usepackage{xcolor}
\setbeamercolor{background canvas}{bg=black}
\setbeamercolor{normal text}{fg=white}
\setbeamercolor{structure}{fg=magenta}
\setbeamercolor{structure}{bg=black}

\begin{document}
    \begin{frame}{Frame title}{Frame subtitle}
        Proof of a theorem ends here. Title heading for the next section should appear in the following box.
        \begin{block}{This box should look like frame title box}
        \end{block}
        Title heading for the next subsection should appear in the following box.
        \begin{block}{This box should look like frame subtitle box}
        \end{block}
    \end{frame}
\end{document}

P.S.:Этот ответне помогло.

решение1

Вы можете найти определение, выполнив поиск, где ваш frametitleшаблон определен. Для темы CambridgeUSвы найдете, что она использует, beamerouterthemedefault.styи, следовательно, вы можете позаимствовать определение beamercolorboxоттуда и убрать из него все, что используется только в специальных целях заголовка кадра. Затем вы можете легко использовать его в вашем MWE, как здесь:

\documentclass[aspectratio=169,10pt, notheorems]{beamer}
\usefonttheme{serif}
\usetheme{CambridgeUS}
\usepackage{xcolor}
\setbeamercolor{background canvas}{bg=black}
\setbeamercolor{normal text}{fg=white}
\setbeamercolor{structure}{fg=magenta}
\setbeamercolor{structure}{bg=black}

\begin{document}
\begin{frame}{Frame title}{Frame subtitle}
    Proof of a theorem ends here. Title heading for the next section should appear in the following box.

\begin{beamercolorbox}[sep=0.3cm,left,wd=\textwidth]{frametitle}
    \usebeamerfont{frametitle}%
    \vbox{}\vskip-1ex%
    \strut This box should look like frame title box \strut\par%
    {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}This box should look like frame subtitle box\strut\par}%
    \vskip-1ex%
\end{beamercolorbox}%
\end{frame}
\end{document}

что приводит к:

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


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

\documentclass[aspectratio=169,10pt, notheorems]{beamer}
\usefonttheme{serif}
\usetheme{CambridgeUS}
\usepackage{xcolor}
\setbeamercolor{background canvas}{bg=black}
\setbeamercolor{normal text}{fg=white}
\setbeamercolor{structure}{fg=magenta}
\setbeamercolor{structure}{bg=black}

\begin{document}
\begin{frame}{Frame title}{Frame subtitle}
    Proof of a theorem ends here. Title heading for the next section should appear in the following box.

\begin{beamercolorbox}[sep=0.3cm,left,wd=\paperwidth]{frametitle}
    \usebeamerfont{frametitle}%
    \vbox{}\vskip-1ex%
    \strut This box should look like frame title box \strut\par%
    \vskip-1ex%
\end{beamercolorbox}%

\begin{beamercolorbox}[sep=0.3cm,left,wd=\paperwidth]{frametitle}
    {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}This box should look like frame subtitle box\strut\par}%
    \vskip-1ex%
\end{beamercolorbox}%
\end{frame}
\end{document}

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