Seite 1 von 1

Beamer: Wie Punkte der Outline am Folienkopf horizontal?

Verfasst: Do 31. Aug 2017, 13:15
von DerArbeitenschreiberling
Hallo!

Ich versuche mich gerade an einer Präsentation mit der Dokumentenklasse beamer. Ich benutze dabei das theme "Amsterdam", welches ich der Nachvollziehbarkeit halber an diese Frage anhängen werde. (Dateiendung wurde von .sty in .txt umgewandelt, weil Upload sonst nicht ginge)
Mein Problem ist folgendes: Die Punkte (subsections) in der Outline am Folienkopf verlaufen von oben nach unten (vertikal) statt von links nach rechts (horizontal). Daher wird der Folienkopf sehr schnell sehr dick, wenn man einmal viele subsections einzubauen hat, wie man in dem Beispiel mit 5 subsections ganz gut sehen kann. Es wundert mich, dass die Punkte nicht horizontal verlaufen, da das schließlich um einiges Platzeffektiver wäre. Es folgt mein Minimalbeispiel -- die Output-Pdf wird in einem Kommentar nachgereicht.
\documentclass[aspectratio=169]{beamer}

\usetheme{amsterdam}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\begin{document}
	\section[The Section]{The Section with a good title}
	
	\subsection{subsec1}
	\begin{frame}
		Frame number 1
	\end{frame}

	\subsection{subsec2}
	\begin{frame}
		Frame number 2
	\end{frame}

	\subsection{subsec3}
	\begin{frame}
		Frame number 3
	\end{frame}

	\subsection{subsec4}
	\begin{frame}
		Frame number 4
	\end{frame}

	\subsection{subsec5}
	\begin{frame}
		Frame number 5
	\end{frame}	

\end{document}
Offensichtlich liegt es an dem Outter-theme, das in dem Theme "Amsterdam" verwendet wird. Es heißt "Miniframe", leider konnte ich es aber nicht auf meinem Computer mit MikTeX finden, und war daher auch nicht in der Lage, einmal in den Code reinzuschauen.

Ich bin für Vorschläge sehr dankbar!

Output Pdf

Verfasst: Do 31. Aug 2017, 13:16
von DerArbeitenschreiberling
Wie versprochen hier noch einmal der Output.

Update

Verfasst: Sa 2. Sep 2017, 14:19
von DerArbeitenschreiberling
Ich habe inzwischen etwas weiter gesucht und das outer-theme "miniframes" an folgender Stelle gefunden:

C:\Program Files\MiKTeX 2.9\tex\latex\beamer\themes\outer\beamerouterthememiniframes.sty

Offensichtlich ist es eines der Standardthemen der beamer Klasse.

Die nötigen Änderungen muss man wohl bei diesem code-block hier vornehmen:
\mode<presentation>

                                % Head
\defbeamertemplate*{headline}{miniframes theme}
{%
  \begin{beamercolorbox}[colsep=1.5pt]{upper separation line head}
  \end{beamercolorbox}
  \begin{beamercolorbox}{section in head/foot}
    \vskip2pt\insertnavigation{\paperwidth}\vskip2pt
  \end{beamercolorbox}%
  \ifbeamer@theme@subsection%
    \begin{beamercolorbox}[colsep=1.5pt]{middle separation line head}
    \end{beamercolorbox}
    \begin{beamercolorbox}[ht=2.5ex,dp=1.125ex,%
      leftskip=.3cm,rightskip=.3cm plus1fil]{subsection in head/foot}
      \usebeamerfont{subsection in head/foot}\insertsubsectionhead
    \end{beamercolorbox}%
  \fi%
  \begin{beamercolorbox}[colsep=1.5pt]{lower separation line head}
  \end{beamercolorbox}
}

\mode
<all>
Das Problem entsteht anscheinend hier:
    \begin{beamercolorbox}[ht=2.5ex,dp=1.125ex,%
      leftskip=.3cm,rightskip=.3cm plus1fil]{subsection in head/foot}
      \usebeamerfont{subsection in head/foot}\insertsubsectionhead
    \end{beamercolorbox}%
Die Frage ist jetzt, ob das Problem von den optionalen Argumenten für die beamercolorbox abhängt oder ob man sich viel eher mal das Kommando \insertsubsectionhead ansehen müsste.
Für den Fall, dass letzteres zutrifft, habe ich Notepad++ bemüht, um alle Dateien nach diesem Kommando zu durchsuchen. In Frage kommen dabei die Dateien beamer/beamerbasenavigation.sty und beamer/beamerbasesection.sty, welche beide das Kommando \insertsubsectionhead definieren. Wie erwartet sind die Strukturen hier allerdings nur schwer überschaubar.

Verfasst: Sa 2. Sep 2017, 14:37
von u_fischer
Benütze die compress option:

\documentclass[aspectratio=169,compress]{beamer}

Verfasst: Sa 2. Sep 2017, 14:44
von DerArbeitenschreiberling
u_fischer hat geschrieben:Benütze die compress option:

\documentclass[aspectratio=169,compress]{beamer}
Vielen Dank!