Man kann das ganze über eine neue Template-Option für die Titelseite lösen. Das `default` Template findet man in `beamerinnerthemedefault.sty`. Das Einfügen eines Logos ist dann einfach:
\defbeamertemplate*{title page}{with logo}[1][]
{
\vbox{}
\vfill
\begingroup
\centering
\begin{beamercolorbox}[sep=8pt,center,#1]{title}
\usebeamerfont{title}\inserttitle\par%
\ifx\insertsubtitle\@empty%
\else%
\vskip0.25em%
{\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}%
\fi%
\end{beamercolorbox}%
\ifx\inserttitlelogo\@empty\else% eingefügt
\begin{beamercolorbox}[sep=8pt,center,#1]{titlelogo}% eingefügt
\inserttitlelogo% eingefügt
\end{beamercolorbox} % eingefügt
\fi
\vskip1em\par
\begin{beamercolorbox}[sep=8pt,center,#1]{author}
\usebeamerfont{author}\insertauthor
\end{beamercolorbox}
\begin{beamercolorbox}[sep=8pt,center,#1]{institute}
\usebeamerfont{institute}\insertinstitute
\end{beamercolorbox}
\begin{beamercolorbox}[sep=8pt,center,#1]{date}
\usebeamerfont{date}\insertdate
\end{beamercolorbox}\vskip0.5em
{\usebeamercolor[fg]{titlegraphic}\inserttitlegraphic\par}
\endgroup
\vfill
}
\newcommand*{\inserttitlelogo}{}
\newcommand*{\titlelogo}[1]{\def\inserttitlelogo{#1}}
Problem dabei ist, dass das Theme `beamerthemeshadow` dann zwar die runde, schattierte Box für die `default` Option des Templates `title page` setzt aber natürlich nicht für die neu definierte `with logo` Option von Template `title page`. Also muss man das nach dem Lade von `beamerthemeshadow` noch ergänzen. Es ergibt sich dann:
\documentclass{beamer}
\defbeamertemplate*{title page}{with logo}[1][]
{
\vbox{}
\vfill
\begingroup
\centering
\begin{beamercolorbox}[sep=8pt,center,#1]{title}
\usebeamerfont{title}\inserttitle\par%
\ifx\insertsubtitle\@empty%
\else%
\vskip0.25em%
{\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}%
\fi%
\end{beamercolorbox}%
\ifx\inserttitlelogo\@empty\else% eingefügt
\begin{beamercolorbox}[sep=8pt,center,#1]{titlelogo}% eingefügt
\inserttitlelogo% eingefügt
\end{beamercolorbox} % eingefügt
\fi
\vskip1em\par
\begin{beamercolorbox}[sep=8pt,center,#1]{author}
\usebeamerfont{author}\insertauthor
\end{beamercolorbox}
\begin{beamercolorbox}[sep=8pt,center,#1]{institute}
\usebeamerfont{institute}\insertinstitute
\end{beamercolorbox}
\begin{beamercolorbox}[sep=8pt,center,#1]{date}
\usebeamerfont{date}\insertdate
\end{beamercolorbox}\vskip0.5em
{\usebeamercolor[fg]{titlegraphic}\inserttitlegraphic\par}
\endgroup
\vfill
}
\newcommand*{\inserttitlelogo}{}
\newcommand*{\titlelogo}[1]{\def\inserttitlelogo{#1}}
\usepackage{beamerthemeshadow}
\makeatletter
\setbeamertemplate{title page}[with logo][colsep=-4bp,rounded=true,shadow=\beamer@themerounded@shadow]
\makeatother
\setbeamertemplate{navigation symbols}{} %Navigationsleiste ausblenden
\begin{document}
%%%%%Titelfolie%%%%%
\title{Grundlagen der technischen Programmierung}
\titlelogo{\includegraphics[width=5cm]{example-image-duck}}
\author{Name1, Name2}
\institute{Institut f\"ur Duale Studieng\"ange}
\date{\today}
\frame[plain]{\titlepage} %Damit die Titelfolie blank ist
\begin{frame}
Test
\end{frame}
%%%%%%Ende%%%%%%%
\end{document}
Ein Trick, um das zu umgehen, wäre, direkt Option `default` von Template `title page` zu patchen. Dazu muss man wissen, dass `beamer` diese im Makro `\beamer@@tmpop@title page@default` speichert. Wegen des Leerzeichens im Makroname, ist das nur per `\csname beamer@@tmpop@title page@default\endcsname` ansprechbar:
\documentclass{beamer}
\usepackage{xpatch}
\makeatletter
\expandafter\xpatchcmd\csname beamer@@tmpop@title page@default\endcsname{%
\end{beamercolorbox}%
}{%
\end{beamercolorbox}%
\ifx\inserttitlelogo\@empty\else% eingefügt
\begin{beamercolorbox}[sep=8pt,center,#1]{titlelogo}% eingefügt
\inserttitlelogo% eingefügt
\end{beamercolorbox} % eingefügt
\fi
}{}{\undefined}
\makeatother
\newcommand*{\inserttitlelogo}{}
\newcommand*{\titlelogo}[1]{\def\inserttitlelogo{#1}}
\usepackage{beamerthemeshadow}
\setbeamertemplate{navigation symbols}{} %Navigationsleiste ausblenden
\begin{document}
%%%%%Titelfolie%%%%%
\title{Grundlagen der technischen Programmierung}
\titlelogo{\includegraphics[width=5cm]{example-image-duck}}
\author{Name1, Name2}
\institute{Institut f\"ur Duale Studieng\"ange}
\date{\today}
\frame[plain]{\titlepage} %Damit die Titelfolie blank ist
\begin{frame}
Test
\end{frame}
%%%%%%Ende%%%%%%%
\end{document}
Natürlich ist hier entscheidend, dass `beamerthemeshadow` erst nach dem Patchen geladen wird.
Gegenüber dem Missbrauch von `\author` haben diese Lösung vor allem dann Vorteile, wenn man sie in einem Theme oder Paket für ein CI einer Firma oder einer Hochschule verbirgt. Den im ersten Beispiel verwendeten Code:
\setbeamertemplate{title page}[with logo][colsep=-4bp,rounded=true,shadow=\beamer@themerounded@shadow]
könnte man dann mit Hilfe von `scrlfile` so verpacken:
\RequirePackage{scrlfile}
\AfterPackage*{beamerthemeshadow}{%
\setbeamertemplate{title page}[with logo][colsep=-4bp,rounded=true,shadow=\beamer@themerounded@shadow]
}
Dadurch würde er automatisch ausgeführt, wenn `beamerthemeshadow` geladen wird oder wurde.
Ein fertiges Paket, das nur den Titel erweitert könnte beispielsweise so aussehen:
% Package `beamertitlewithlogo.sty'
% Copyright (c) saputello 2019
% Distribution of this file or a modified version of this file
% is allowed als long as the following statement is not removed:
% ----------------------------------------------------------------
% The original file `beamertitlewithlogo.sty' can be found on
% https://texwelt.de/wissen/fragen/24232#24235
% ----------------------------------------------------------------
% and as long a you respect the conditions for distribution and
% modification of the used original code, declared below.
\ProvidesPackage{beamertitlewithlogo}[2019/02/22 v0.1 (title page option with logo)]
\RequirePackage{scrlfile}
\providecommand*{\inserttitlelogo}{}
\providecommand*{\titlelogo}[1]{\def\inserttitlelogo{#1}}
\mode<presentation>
% The following code bases on `title page` option `default`
% from ` beamerinnerthemedefault.sty`
% Copyright 2007 by Till Tantau
% Copyright 2012--2015 by Vedran Mileti\'c, Joseph Wright
% Copyright 2017,2018 by Louis Stuart, Joseph Wright
% which may be distributed and/or modified
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
% The lines marked by ``added'' comments are modifications
% of the original code.
\defbeamertemplate*{title page}{with logo}[1][]
{
\vbox{}
\vfill
\begingroup
\centering
\begin{beamercolorbox}[sep=8pt,center,#1]{title}
\usebeamerfont{title}\inserttitle\par%
\ifx\insertsubtitle\@empty%
\else%
\vskip0.25em%
{\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}%
\fi%
\end{beamercolorbox}%
\ifx\inserttitlelogo\@empty\else % added
\begin{beamercolorbox}[sep=8pt,center,#1]{titlelogo}% added
\inserttitlelogo % added
\end{beamercolorbox} % added
\fi % added
\vskip1em\par
\begin{beamercolorbox}[sep=8pt,center,#1]{author}
\usebeamerfont{author}\insertauthor
\end{beamercolorbox}
\begin{beamercolorbox}[sep=8pt,center,#1]{institute}
\usebeamerfont{institute}\insertinstitute
\end{beamercolorbox}
\begin{beamercolorbox}[sep=8pt,center,#1]{date}
\usebeamerfont{date}\insertdate
\end{beamercolorbox}\vskip0.5em
{\usebeamercolor[fg]{titlegraphic}\inserttitlegraphic\par}
\endgroup
\vfill
}
\AfterPackage*{beamerthemeshadow}{%
\setbeamertemplate{title page}[with logo][colsep=-4bp,rounded=true,shadow=\beamer@themerounded@shadow]
}
\mode<all>
Anwenden würde man es dann so:
\documentclass{beamer}
\usepackage{beamerthemeshadow}
\usepackage{beamertitlewithlogo}
\setbeamertemplate{navigation symbols}{} %Navigationsleiste ausblenden
\begin{document}
%%%%%Titelfolie%%%%%
\title{Grundlagen der technischen Programmierung}
\titlelogo{\includegraphics[width=5cm]{example-image-duck}}
\author{Name1, Name2}
\institute{Institut für Duale Studiengänge}
\date{\today}
\frame[plain]{\titlepage} %Damit die Titelfolie blank ist
\begin{frame}
Test
\end{frame}
%%%%%%Ende%%%%%%%
\end{document}
wobei es vollkommen egal ist, in welcher Reihenfolge die Pakete geladen werden.
Für eine einmalige Anwendung, bei der es auch nicht stört, dass das Autorenfeld mehr als nur Autoren enthält, wäre die Implementierung eines Pakets natürlich mit Kanonen auf Spatzen geschossen. Da würde ich die Lösung von Murmeltier vorziehen – wenn es jetzt nicht bereits so ein Paket irgendwo gibt. ;-)
---
Soll das Logo über den Titel, so kann man das natürlich in der gleichen Weise erledigt. Man muss dazu nur den Code mit der Ausgabe des Logos an den Anfang der Definition verschieben. verschieben:
% Package `beamertitlewithtoplogo.sty'
% Copyright (c) saputello 2019
% Distribution of this file or a modified version of this file
% is allowed als long as the following statement is not removed:
% ----------------------------------------------------------------
% The original file `beamertitlewithlogo.sty' can be found on
% https://texwelt.de/wissen/fragen/24232#24235
% ----------------------------------------------------------------
% and as long a you respect the conditions for distribution and
% modification of the used original code, declared below.
\ProvidesPackage{beamertitlewithlogo}[2019/02/22 v0.1 (title page option with logo)]
\RequirePackage{scrlfile}
\providecommand*{\inserttitlelogo}{}
\providecommand*{\titlelogo}[1]{\def\inserttitlelogo{#1}}
\mode<presentation>
% The following code bases on `title page` option `default`
% from ` beamerinnerthemedefault.sty`
% Copyright 2007 by Till Tantau
% Copyright 2012--2015 by Vedran Mileti\'c, Joseph Wright
% Copyright 2017,2018 by Louis Stuart, Joseph Wright
% which may be distributed and/or modified
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
% The lines marked by ``added'' or ``removed'' comments are
% modifications of the original code.
\defbeamertemplate*{title page}{with top logo}[1][]
{
%\vbox % removed
\begingroup % added
\centering % added
\ifx\inserttitlelogo\@empty\vbox{}\else % added
\begin{beamercolorbox}[sep=8pt,center,#1]{titlelogo}% added
\inserttitlelogo % added
\end{beamercolorbox} % added
\fi % added
\endgroup % added
\vfill
\begingroup
\centering
\begin{beamercolorbox}[sep=8pt,center,#1]{title}
\usebeamerfont{title}\inserttitle\par%
\ifx\insertsubtitle\@empty%
\else%
\vskip0.25em%
{\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}%
\fi%
\end{beamercolorbox}%
\vskip1em\par
\begin{beamercolorbox}[sep=8pt,center,#1]{author}
\usebeamerfont{author}\insertauthor
\end{beamercolorbox}
\begin{beamercolorbox}[sep=8pt,center,#1]{institute}
\usebeamerfont{institute}\insertinstitute
\end{beamercolorbox}
\begin{beamercolorbox}[sep=8pt,center,#1]{date}
\usebeamerfont{date}\insertdate
\end{beamercolorbox}\vskip0.5em
{\usebeamercolor[fg]{titlegraphic}\inserttitlegraphic\par}
\endgroup
\vfill
}
\AfterPackage*{beamerthemeshadow}{%
\setbeamertemplate{title page}[with top logo][colsep=-4bp,rounded=true,shadow=\beamer@themerounded@shadow]
}
\mode<all>
Und erhält dann mit:
\documentclass{beamer}
\usepackage{beamerthemeshadow}
\usepackage{beamertitlewithtoplogo}
\setbeamertemplate{navigation symbols}{} %Navigationsleiste ausblenden
\begin{document}
%%%%%Titelfolie%%%%%
\title{Grundlagen der technischen Programmierung}
\titlelogo{\includegraphics[width=3cm]{example-image-duck}}
\author{Name1, Name2}
\institute{Institut für Duale Studiengänge}
\date{\today}
\frame[plain]{\titlepage} %Damit die Titelfolie blank ist
\end{document}
[![Logo über dem Titel][1]][1]
Alternativ gibt es dann aber auch einen sehr einfachen Hack (hier am Beispiel eines linksbündigen Logos):
\documentclass{beamer}
\usepackage{beamerthemeshadow}
\setbeamertemplate{navigation symbols}{} %Navigationsleiste ausblenden
\begin{document}
%%%%%Titelfolie%%%%%
\title{Grundlagen der technischen Programmierung}
\author{Name1, Name2}
\institute{Institut für Duale Studiengänge}
\date{\today}
\begingroup
\setbeamertemplate{headline}{\includegraphics[width=2cm]{example-image-duck}}%
\setbeamertemplate{footline}{}%
\frame{\titlepage}
\endgroup
\begin{frame}
Test
\end{frame}
%%%%%%Ende%%%%%%%
\end{document}
[![Logo linksbündig im Kopf][1]][1]
Kopf][2]][3]
Da `headline` auf mit `plain` nicht zum Einsatz kommt, darf bei diesem Hack das Frame dann nicht `plain` deklariert werden. Bei Framestilen mit Seitenelementen, muss man diese daher ggf. auf ähnliche Weise leeren, wie im Beispiel für den Fuß gezeigt.
[1]: https://texwelt.de/wissen/upfiles/test_20190222_103318.png
[2]: https://texwelt.de/wissen/upfiles/test_20190222_102136.png
[3]: https://texwelt.de/wissen/upfiles/test_20190222_102136.png