Beamer Klasse zwei Arten von frames

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


radio100
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mi 8. Okt 2014, 16:21

Beamer Klasse zwei Arten von frames

Beitrag von radio100 »

Hallo,

ich habe eine Frage im Zusammenhang mit dem Beamer Paket:
Ich habe mir ein Template ausgesucht (Göttingen) und ein bisschen angepasst.
Funktioniert soweit ganz gut, allerdings hakt es an einer Kleinigkeit: ich möchte gerne zwei verschiedene Layouts für die Frames haben, sodass man beim erstellen eines Frames einen Parameter übergeben kann und somit auswählen kann welches Layout man möchte (Ich habe eines erstellt für die Titelseite, mit mehr Logos und mehr Grafik; für die nachfolgende Frames soll ein schlichteres Layout benutzt werden).

Wie kann man dieses Parameter übergeben?
\begin[Layout = complex]{frame}
...
\end{frame}
...
\begin[Layout = simple]{frame}
...
\end{frame}
So stelle ich mir das vor. Aber wie kann ich jetzt in meinem Theme den Parameter auslesen?

Gruß
e^{i\pi} = -1

Noch so einer

Beitrag von Noch so einer »

Ich würde stattdessen für den Titel einfach ein frame mit Option plain verwenden und den Titel mit den ganzen Logos darin dann frei gestalten. Wenn man mehr Automatismus haben will, dann über \titlepage und \setbeamertemplate{title page}{…}. Siehe dazu Seite 61 der Englischen beamer-Anleitung.

Wenn das Deine Frage beantwortet, dann setze bitte den Status entsprechend. Wenn nicht, dann mach bitte ein vollständiges Minimalbeispiel und erkläre daran Dein Problem.

radio100
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mi 8. Okt 2014, 16:21

Beitrag von radio100 »

Hallo,

danke für die rasche Antwort.
Also es ist so:
\setbeamertemplate{background}
{
	\begin{tikzpicture}
		% blounding
		\useasboundingbox (0, 0) rectangle (\paperwidth, \paperheight);
		
		% insert logos on top
		\node[anchor = north west] (unilogoTOP) at (0.05\paperwidth, 0.995\paperheight) {\includegraphics[width = 0.25\paperwidth]{gfx/unilogoDE}};
		\node[anchor = north west] (ILHlogoTOP) at (0.33\paperwidth, 0.99\paperheight) {\includegraphics[width = 0.24\paperwidth]{gfx/ILHlogoDE}};
		
		% blue top bar
		\fill[color = ILHcolor] (0, 0.77\paperheight) rectangle (\paperwidth, 0.89\paperheight);
		
		% footline (but not on title page)
		\ifnum\thepage>1\relax%
		{
			% clear everything
			\fill[white, opacity = 1] (0, 0) rectangle (\paperwidth, \paperheight);
			
			% blue bottom bar
			\fill[color = ILHcolor] (0, 0) rectangle (\paperwidth, 0.12\paperheight);

			% draw the arc
			\fill[white, opacity = 1] (0, 0.097\paperheight) -- (0.429\paperwidth, 0.097\paperheight) .. controls (0.633\paperwidth, 0.092\paperheight) and (0.771\paperwidth, 0.055\paperheight) .. (0.772\paperwidth, 0) -- (0, 0) -- cycle;

			% diamonds
			% blue diamonds (5 pcs)
			\foreach \i in {0, 7.5, 15, 22.5, 30}
			{
				\fill[ILHcolor, opacity = 1]
				(0.674\paperwidth - 2 + \i, 0.0155\paperheight) -- (0.674\paperwidth + \i, 0.0155\paperheight + 2) -- (0.674\paperwidth + \i + 2, 0.0155\paperheight) -- (0.674\paperwidth + \i, 0.0155\paperheight - 2) -- cycle;
			}
			% white diamonds (2 pcs)
			\foreach \i in {37.5, 45}
			{
				\fill[white, opacity = 1]
				(0.674\paperwidth - 2 + \i, 0.0155\paperheight) -- (0.674\paperwidth + \i, 0.0155\paperheight + 2) -- (0.674\paperwidth + \i + 2, 0.0155\paperheight) -- (0.674\paperwidth + \i, 0.0155\paperheight - 2) -- cycle;
			}
			
			% insert logos at bottom
			\node[anchor = south west] (unilogoBOTTOM) at (0.05\paperwidth, 0) {\includegraphics[width = 0.25\paperwidth]{gfx/unilogoDE}};
			\node[anchor = south west] (ILHlogoBOTTOM) at (0.33\paperwidth, 0) {\includegraphics[width = 0.24\paperwidth]{gfx/ILHlogoDE}};
		}
		\fi
	\end{tikzpicture}
}

\setbeamertemplate{footline}
{
	% date and frame number
	\begin{tikzpicture}
		\useasboundingbox (0, 0) rectangle (\paperwidth, 0.09\paperheight);
		\usebeamerfont{footline}
		{
			% date
			\node[anchor = south west, color = white] (date) at (0.89\paperwidth, 0.06\paperheight) {\leadingzero{\day}{}.\leadingzero{\month}{}.\leadingzero{\year}};
			%frame number
			\node[anchor = south west, color = white] (frame number) at (0.95\paperwidth, 0.03\paperheight) {\yohzz{\insertframenumber}};
		}
	\end{tikzpicture}
}
Dieser Code macht das Layout.
Die "Erkennung" (ob Title page oder nicht) läuft zur Zeit über \ifnum\thepage>1.
Das Unschöne daran ist halt, dass es nur funktioniert, wenn die Title page gleich die erste Seite ist.
Wie kann man das automatisch unterscheiden?
e^{i\pi} = -1

Besserwisser

Beitrag von Besserwisser »

Und warum verwendest du nicht das beamer template title page, wie von Noch so einer vorgeschlagen? Und wo ist das vollständige Minimalbeispiel? Ist dir das Problem dafür nicht wichtig genug?

radio100
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mi 8. Okt 2014, 16:21

Beitrag von radio100 »

Ok, sorry, ich bin neu hier und habe keine Ahnung.

Also hier ein Beispiel:
\documentclass[compress]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\title{There Is No Largest Prime Number}
\date[ISPN ’80]{27th International Symposium of Prime Numbers}
\author[Euclid]{Euclid of Alexandria \texttt{euclid@alexandria.edu}}

\usetheme{ILH}

\begin{document}

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

\begin{frame}
	\section{test}
	\frametitle{There Is No Largest Prime Number}
	\framesubtitle{The proof uses \textit{reductio ad absurdum}.}
	\begin{theorem}
		There is no largest prime number.
	\end{theorem}
	\begin{enumerate}
		\item<1-| alert@1> Suppose $p$ were the largest prime number.
		\item<2-> Let $q$ be the product of the first $p$ numbers.
		\item<3-> Then $q+1$ is not divisible by any of them.
		\item<1-> But $q+1$ is greater than $1$, thus divisible by some prime number not in the first $p$ numbers.
	\end{enumerate}
\end{frame}

\begin{frame}{A longer title}
	\section{test2}
	\begin{itemize}
		\item one
		\item two
	\end{itemize}
\end{frame}
\begin{frame}
	\begin{itemize}
		\item one
		\item two
	\end{itemize}
\end{frame}

\end{document}
und jetzt kommt das Problem wenn ich
\setbeamertemplate{title page}
verwende: der gesamt Inhalt wird nach rechts verschoben (um ein paar cm) (siehe Anhang).
Wie bekomme ich das weg?

Generell aber schon mal ein sehr guter Tipp, das ganze in
\setbeamertemplate{title page}
zu verlegen.
\setbeamertemplate{title page}
{
	\begin{tikzpicture}
		% blounding
		\useasboundingbox (0, 0) rectangle (\paperwidth, \paperheight);
		
		% insert logos on top
		\node[anchor = north west] (unilogoTOP) at (0.05\paperwidth, 0.995\paperheight) {\includegraphics[width = 0.25\paperwidth]{gfx/unilogoDE}};
		\node[anchor = north west] (ILHlogoTOP) at (0.33\paperwidth, 0.99\paperheight) {\includegraphics[width = 0.24\paperwidth]{gfx/ILHlogoDE}};
		
		% blue top bar
		\fill[color = ILHcolor] (0, 0.77\paperheight) rectangle (\paperwidth, 0.89\paperheight);
	\end{tikzpicture}
}
Weil der Upload nicht funktioniert: http://img5.fotos-hochladen.net/uploads ... us851t.png

radio100
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mi 8. Okt 2014, 16:21

Beitrag von radio100 »

Ok, habe jetzt ein bisschen weiter versucht und es fast hinbekommen.
Ein Problem noch:
Mein \setbeamertemplate{title page} sieht jetzt so aus:
\setbeamertemplate{title page}
{
	\begin{tikzpicture}
		% blounding
		\useasboundingbox (0, 0) rectangle (\paperwidth, \paperheight);
		
		% insert logos on top
		\node[anchor = north west] (unilogoTOP) at (0.05\paperwidth, 0.995\paperheight) {\includegraphics[width = 0.25\paperwidth]{gfx/unilogoDE}};
		\node[anchor = north west] (ILHlogoTOP) at (0.33\paperwidth, 0.99\paperheight) {\includegraphics[width = 0.24\paperwidth]{gfx/ILHlogoDE}};
		
		% blue top bar
		\fill[color = ILHcolor] (0, 0.77\paperheight) rectangle (\paperwidth, 0.89\paperheight);
	\end{tikzpicture}
	
	\vskip 3cm
	\begin{center}
		\usebeamerfont{title}\inserttitle\par
	\end{center}
	\vskip 1cm
	\begin{center}
		\usebeamerfont{author}\insertauthor
	\end{center}
	\vskip 1cm
	\begin{center}
		\usebeamerfont{date}\insertdate
	\end{center}
}
Allerdings erschein kein Text :-(
Was mache ich falsch? liegt es am Tikz?
Außerdem ist alles nach rechts geschoben. Warum?
e^{i\pi} = -1

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Dein Beispiel ist bei anderen nicht lauffähig, da wir weder das Thema noch die Farbe noch die Logos haben.

Der Textbereich auf der Titelseite ist schmaler als \pagewidth, deshalb erscheint alles nach rechts verschoben. Du musst den Inhalt in der Mitte einfügen und dann die Breite verstecken.

Der Text erscheint nicht, weil durch \useasboundingbox (0, 0) rectangle (\paperwidth, \paperheight); die tikz Umgebung ja schon bereits eine Höhe von \paperheight hat und der Text erst darunter und damit außerhalb der Folie eingefügt wird.

Hier ist mal ein Vorschlag, den Du aber noch anpassen musst. Insbesondere muss die Option demo wieder auskommentiert werden.
\documentclass[compress,
demo % da die Bilder nicht vorhanden sind
]{beamer} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\title{There Is No Largest Prime Number} 
\date[ISPN ’80]{27th International Symposium of Prime Numbers} 
\author[Euclid]{Euclid of Alexandria \texttt{euclid@alexandria.edu}} 
\usepackage{tikz}
\usetikzlibrary{positioning}% für das Positionieren der Textnoden

\colorlet{ILHcolor}{blue}% die Farbe war nicht definiert
%\usetheme{ILH}% das Thema habe ich nicht

\setbeamertemplate{title page} 
{\hspace{0pt}\hfill\makebox[0pt]{%
   \begin{tikzpicture} 
       % blounding 
       \useasboundingbox (0, 0) rectangle (\paperwidth, \paperheight); 
       % insert logos on top 
       \node[anchor = north west] (unilogoTOP) at (0.05\paperwidth, 0.995\paperheight) {\includegraphics[width = 0.25\paperwidth]{gfx/unilogoDE}}; 
       \node[anchor = north west] (ILHlogoTOP) at (0.33\paperwidth, 0.99\paperheight) {\includegraphics[width = 0.24\paperwidth]{gfx/ILHlogoDE}}; 
       % blue top bar 
       \fill[color = ILHcolor] (0, 0.77\paperheight) rectangle (\paperwidth, 0.89\paperheight);
    \node(title) at (.5\paperwidth,.5\paperheight){\usebeamerfont{title}\inserttitle};
    \node(author)[below = .5cm of title]{\usebeamerfont{author}\insertauthor};
    \node[below = .5cm of author]{\usebeamerfont{date}\insertdate};
    \end{tikzpicture}%
  }\hfill\hspace{0pt}}

\begin{document} 
\begin{frame}
  \titlepage 
\end{frame} 
\end{document}
Gruß
Elke

radio100
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mi 8. Okt 2014, 16:21

Beitrag von radio100 »

Hallo Elke,

vielen Dank für Deine Antwort!
Das hat es erklärt!!!! :lol: Klar wenn das tikzpicture so groß ist.....
Danke für den Hinweis!

Gruß
e^{i\pi} = -1

Antworten