Keine Trennlinie nach Theoremnamen im Beamer

Keine Trennlinie nach Theoremnamen im Beamer

Ich habe die Antwort auf die Frage angewendetTheoreminhalt direkt nach dem Theoremnamen im Beamerzu meiner Frage. Ich habe \normalfont nach \inserttheorempunctuation eingefügt, aber das Ergebnis ist unerwartet. Könnten Sie sich bitte das Bild 1 ansehen?

            \documentclass[envcountsect]{beamer}
            \usetheme{CambridgeUS}
            \usefonttheme{serif}
            \makeatletter
            \setbeamertemplate{theorem begin}
            {%
                \begin{\inserttheoremblockenv}
                    {%
                        \inserttheoremheadfont
                        \inserttheoremname
                        \inserttheoremnumber
                        \ifx \inserttheoremaddition \empty \else\ (\inserttheoremaddition)\fi%
                        \inserttheorempunctuation
                        \normalfont
                    }
                }
                \setbeamertemplate{theorem end}{\end{\inserttheoremblockenv}}
            \makeatother


             \begin{document}
                \section{ABC}
                \begin{frame}
                    \begin{theorem}[ABC]
                        This is a theorem
                    \end{theorem}
                \end{frame}
             \end{document}

Das Ergebnis ist:

Bildbeschreibung hier eingeben

Ich möchte den Inhalt gleich danach einfügenSatz(keine Unterbrechungslinie). Es sieht so aus

Bildbeschreibung hier eingeben

Antwort1

Sie müssen Ihre Formatierungsbefehle in den Textkörper und nicht in den Titel einfügen theoremblockenvund die Schriftart und Farbe für die Überschriftenelemente auswählen, block titleum den gewünschten Stil nachzuahmen. Vergleichen Sie mit den beiden Beispielen von Blöcken mit und ohne Titel.

Beispielausgabe

\documentclass[envcountsect]{beamer}

\usetheme{CambridgeUS}
\usefonttheme{serif}

\usepackage{etoolbox}

\makeatletter
\setbeamertemplate{theorem begin}
{%
\begin{\inserttheoremblockenv}
  {}{\usebeamerfont*{block title}\usebeamercolor[fg]{block title}%
  \inserttheoremname
  \inserttheoremnumber
  \ifx \inserttheoremaddition \empty \else\ (\inserttheoremaddition)\fi
  \inserttheorempunctuation}
  \normalfont
  }
  \setbeamertemplate{theorem end}{\end{\inserttheoremblockenv}}
\makeatother

\begin{document}

\section{ABC}

\begin{frame}

  \begin{theorem}[ABC]
    This is a theorem
  \end{theorem}

  Text.

  \begin{block}{Block title}
    A block with title.
  \end{block}

  Text.

  \begin{block}{}
    A block without title.
  \end{block}

\end{frame}

\end{document}

verwandte Informationen