subsubsection im Titel bei beamer theme Madrid

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren
Gast

subsubsection im Titel bei beamer theme Madrid

Beitrag 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:

Code: Alles auswählen

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

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2179
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Ich fand Deinen Quelltext in einer Antwort des Herrn Medina.

Mein Vorschlag:

Code: Alles auswählen

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

Gast

Beitrag 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.

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2179
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Code: Alles auswählen

    {%
      \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.

Antworten