Nenhuma linha de quebra após o nome do teorema no beamer

Nenhuma linha de quebra após o nome do teorema no beamer

Eu apliquei a resposta da perguntaConteúdo do teorema logo após o nome do teorema no beamerà minha pergunta. Coloquei \normalfont depois de \inserttheorempunctuation mas o resultado é inesperado. Você poderia ver a imagem 1.

            \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}

O resultado é:

insira a descrição da imagem aqui

Eu gostaria de colocar o conteúdo logo depoisTeorema(sem linha de quebra). Se parece com isso

insira a descrição da imagem aqui

Responder1

Você precisa colocar seus comandos de formatação no corpo, em vez de no título, theoremblockenve selecionar a block titlefonte e a cor dos elementos do título para imitar o estilo solicitado. Compare com os dois exemplos de blocos com e sem títulos.

Exemplo de saída

\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}

informação relacionada