Seite 1 von 1

subsubsection im Titel bei beamer theme Madrid

Verfasst: Mi 30. Okt 2019, 13:49
von Gast
Hallo, ich hätte gerne beim Theme Madrid oben wo der Titel der Folie angezeigt wird, auch den Namen der subsubsection.

Ich habe Folgendes versucht, was aber anscheinend nichts bringt:
\documentclass{beamer}%[handout]{beamer}
\usetheme{Madrid}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
...
\usepackage{amssymb}
\usepackage{graphicx}
\author{Name}
\title{Theoretische Informatik 1}
\subtitle{}

\addtobeamertemplate{frametitle}{
   \let\insertframetitle\insertsectionhead}{}
\addtobeamertemplate{frametitle}{
   \let\insertframesubtitle\insertsubsectionhead}{}
\addtobeamertemplate{frametitle}{
   \let\insertframesubsubtitle\insertsubsubsectionhead}{}
\makeatletter
  \CheckCommand*\beamer@checkframetitle{\@ifnextchar\bgroup\beamer@inlineframetitle{}}
  \renewcommand*\beamer@checkframetitle{\global\let\beamer@frametitle\relax\@ifnextchar\bgroup\beamer@inlineframetitle{}}
\makeatother

\begin{document}

\begin{frame}
\titlepage
\end{frame}

\section{Beweisverfahren}
\subsection{Hypothetisches Beweisen}
\subsubsection{Fitch}
\begin{frame}
Fitch ist ein sehr bekanntes Beweissystem und besteht aus 10 Inferenzregeln.
\end{frame}

\end{document}

Verfasst: Do 31. Okt 2019, 06:33
von Bartman
Ich fand Deinen Quelltext in einer Antwort des Herrn Medina.

Mein Vorschlag:
\documentclass{beamer}% lädt graphicx
\usetheme{Madrid}
%\usepackage[utf8]{inputenc}% darf bei einer aktueller TeX-Distribution entfallen
\usepackage[T1]{fontenc}% https://texwelt.de/fragen/5537
\usepackage{lmodern}
\usepackage[ngerman]{babel}

\author{Name}
\title{Theoretische Informatik 1}

\makeatletter
% Quelle: beamerouterthemedefault.sty
\defbeamertemplate*{frametitle}{customized}[1][left]
{%
  \ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}%
  \@tempdima=\textwidth%
  \advance\@tempdima by\beamer@leftmargin%
  \advance\@tempdima by\beamer@rightmargin%
  \begin{beamercolorbox}[sep=0.3cm,#1,wd=\the\@tempdima]{frametitle}
    \usebeamerfont{frametitle}%
    \vbox{}\vskip-1ex%
    \if@tempswa\else\csname beamer@fte#1\endcsname\fi%
    \strut\insertsectionhead\par%
    {%
      \ifx\insertsubsectionhead\@empty%
      \else%
      {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}%
      \strut\insertsubsectionhead\par}%
        \ifx\insertsubsubsectionhead\@empty%
        \else%
        {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}%
        \scriptsize\strut\insertsubsubsectionhead\par}%
        \fi
      \fi
    }%
    \vskip-1ex%
    \if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here...
  \end{beamercolorbox}%
}

\CheckCommand*\beamer@checkframetitle{\@ifnextchar\bgroup\beamer@inlineframetitle{}}
\renewcommand*\beamer@checkframetitle{\global\let\beamer@frametitle\relax\@ifnextchar\bgroup\beamer@inlineframetitle{}}
\makeatother

\begin{document}
\begin{frame}
\titlepage
\end{frame}

\section{Beweisverfahren}
\subsection{Hypothetisches Beweisen}
\subsubsection{Fitch}
\begin{frame}
Fitch ist ein sehr bekanntes Beweissystem und besteht aus 10~Inferenzregeln.
\end{frame}
\end{document}

Verfasst: Fr 1. Nov 2019, 08:03
von Gast
Danke, das funktioniert soweit. Nur hätte ich das subsubsection gerne neben dem subsection. Sonst wird der Titel etwas arg hoch.

Leider sehe ich in Deinem Code nicht, wie ich das machen könnte.

Verfasst: Fr 1. Nov 2019, 14:31
von Bartman
    {%
      \ifx\insertsubsectionhead\@empty%
      \else%
      {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}%
      \strut\insertsubsectionhead}% \par entfernt
        \ifx\insertsubsubsectionhead\@empty%
        \else%
        {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}%
        ~--~\strut\insertsubsubsectionhead\par}% -- ergänzt
        \fi
      \fi
    }%
Wenn die Schriftgröße des Eintrags für den Gliederungsbefehl \subsubsection kleiner sein soll, dann füge den von mir zuvor benutzten Befehl \scriptsize wieder ein.