Hallo,

ich bin gerade dabei, eine Beamer Vorlage für meine Präsentation zu erstellen. Jedoch bekomme ich das Logo (Bild) der Hochschule nur unter das Datum.

Daher die Frage: Wie bekomme ich das Bild bzw. das Logo über den Titel, also an erster Stelle von oben gesehen?

Mein Präambel Code:

Öffne in Overleaf
%%%%%Präambel%%%%%
\documentclass{beamer}
\usepackage{beamerthemeshadow}
\usepackage{graphicx}
%%%Fußzeile%%%
\setbeamercolor*{author in head/foot}{parent=palette tertiary}
\setbeamercolor*{title in head/foot}{parent=palette secondary}
\setbeamercolor*{date in head/foot}{parent=palette primary}
\makeatletter
\setbeamertemplate{footline} {
  \leavevmode%    
>\hbox{%
      \begin{beamercolorbox}[wd=.3\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
          \usebeamerfont{author in head/foot}\insertshortauthor
      \end{beamercolorbox}%
      \begin{beamercolorbox}[wd=.4\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%                         >\usebeamerfont{title in head/foot}\insertshorttitle
      \end{beamercolorbox}%
      \begin{beamercolorbox}[wd=.3\paperwidth,ht=2.25ex,dp=1ex,right]{date
in head/foot}%            \usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}
          \insertframenumber{} /
\inserttotalframenumber\hspace*{2ex} 
      \end{beamercolorbox}}%  \vskip0pt% }
\makeatother
%%%Fußzeilenende%%%
\setbeamertemplate{navigation symbols}{}  %Navigationsleiste ausblenden

Titelseite

Öffne in Overleaf
%%%%%Titelfolie%%%%%
\titlegraphic{\includegraphics[width=5cm]{img/logohsmkt}}
\title{Grundlagen der technischen Programmierung}
\author{Name1, Name2}
\institute{Institut für Duale Studiengänge}
\date{\today} 
\frame[plain]{\titlepage}       %Damit die Titelfolie blank ist
%%%%%%Ende%%%%%%%

gefragt 21 Feb '19, 22:58

nicogtx1's gravatar image

nicogtx1
122
Akzeptiert-Rate: 0%

bearbeitet 22 Feb '19, 07:51

saputello's gravatar image

saputello
11.1k174365

Ich habe mal die ganzen > am Anfang der Zeilen entfernt, damit man sie leichter kopieren kann. Leider wird damit noch immer kein lauffähiges vollständiges Minimalbeispiel daraus. Auch wenn Du bereits eine Antwort erhalten hast, solltest Du immer darauf achten, ein solches VM anzugeben. Das hilft sowohl anderen Hilfesuchenden als auch den Helfern und damit letztlich auch Dir.

(22 Feb '19, 07:54) saputello

Man kann die Graphik einfach in das \author Feld packen.

Öffne in Overleaf
\documentclass{beamer}
\usepackage{beamerthemeshadow}
\setbeamertemplate{navigation symbols}{}  %Navigationsleiste ausblenden
\begin{document}
 %%%%%Titelfolie%%%%%
\title{Grundlagen der technischen Programmierung}
\author{\includegraphics[width=5cm]{example-image-duck}\\[0.2cm]
Name1, Name2}
\institute{Institut f\"ur Duale Studieng\"ange}
\date{\today} 
\frame[plain]{\titlepage}     %Damit die Titelfolie blank ist
 %%%%%%Ende%%%%%%%
\end{document}

alt text

Wie Du siehst, habe ich Sachen, die nicht relevant sind für das Problem, entfernt, und die Graphik durch etwas ersetzt, das auf jedem vernünftigen TeX System existiert. Und graphicx wird von beamer geladen, das brauchst Du nicht noch mal laden.

Permanenter link

beantwortet 22 Feb '19, 03:24

Community's gravatar image

Community
21
Akzeptiert-Rate: 56%

1

Ich sehe gerade, dass das Logo laut Frage eigentlich über den Titel soll. Trotzdem eine trickreiche Lösung.

(22 Feb '19, 11:04) saputello

@saputello Danke und Ja, Du hast Recht. Werde die Antwort demnächst löschen.

(22 Feb '19, 22:51) Community

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:

Öffne in Overleaf
\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:

Öffne in Overleaf
\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:

Öffne in Overleaf
\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:

Öffne in Overleaf
\setbeamertemplate{title page}[with logo][colsep=-4bp,rounded=true,shadow=\beamer@themerounded@shadow]

könnte man dann mit Hilfe von scrlfile so verpacken:

Öffne in Overleaf
\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:

Öffne in Overleaf
% 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:

Öffne in Overleaf
\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:

Öffne in Overleaf
% 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:

Öffne in Overleaf
\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

Alternativ gibt es dann aber auch einen sehr einfachen Hack (hier am Beispiel eines linksbündigen Logos):

Öffne in Overleaf
\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

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.

Permanenter link

beantwortet 22 Feb '19, 09:21

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 22 Feb '19, 11:02

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×141
×17

gestellte Frage: 21 Feb '19, 22:58

Frage wurde gesehen: 8,086 Mal

zuletzt geändert: 22 Feb '19, 22:51