Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Beamer - Kopfzeile (headline) / Navigation anpassen

  1. #1
    Registrierter Benutzer Avatar von ProfessorChaos
    Registriert seit
    29.12.2007
    Ort
    Canberra (Australien)
    Beiträge
    89

    Beamer - Kopfzeile (headline) / Navigation anpassen

    Hi,

    ich möchte mir ein eigenes Präsentations-Style erstellen und dafür vorhandene
    Themes nach meinen Bedürfnissen anpassen. Probleme bekomme ich bei der Anpassung
    der Navigation (headline), da ich keine Ahnung von den Befehlen habe, die dort
    verwendet werden.^^ Ich ändere nur einige Zeilen, von welchen ich erahne, was sie
    bewirken. Bei der Anpassung der headline reicht mein Verständnis leider nicht aus.

    Zunächst ein funktionierendes nicht-minimales Minimalbeispiel, das mein Problem
    noch nicht schildert, aber erweitert werden soll. Nicht-minimal, da ich dort auch
    die Fußzeile ändere, was ich für mein Problem nicht bräuchte und wegen zusätzlicher
    Folien, die die PDF schicker aussehen lassen (eine hätte für ein Min.-Bsp. gereicht).

    Code:
    \documentclass[xcolor=dvipsnames]{beamer}
    \usepackage{beamerthemeshadow}			
    \usetheme{CambridgeUS}
    \useoutertheme{smoothbars}
    \usecolortheme[named=Red]{structure}
    
    
    
    % ----------------------
    % Beginn eigenes Fußfeld
    % ----------------------
    \setbeamertemplate{footline}
    { \leavevmode%
      \hbox{%
      \begin{beamercolorbox}[wd=.666666\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
        \usebeamerfont{author in head/foot}the title of the presentation
      \end{beamercolorbox}%
      \begin{beamercolorbox}[wd=.267334\paperwidth,ht=2.25ex,dp=1ex,center]{date in head/foot}%
        \usebeamerfont{date in head/foot}the date%
      \end{beamercolorbox}%
      \begin{beamercolorbox}[wd=.066\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
        \insertframenumber{} / \inserttotalframenumber\hspace*{2ex} %
      \end{beamercolorbox}%
      }%
      \vskip0pt%
    }
    % --------------------
    % Ende eigenes Fußfeld
    % --------------------
    
    
    \begin{document}
    
    \section{1st section}
    \subsection{1st subsection}
    \frame{ one ! }
    
    \section{2nd section}
    \subsection{2nd subsection}
    \frame{ two ! }
    \subsection{3rd subsection}
    \frame{ three ! }
    
    
    \section{3rd section}
    \subsection{4rd subsection}
    \frame{ four ! }
    
    \end{document}
    Okay, was ich ja eigentlich möchte ist die Manipulation des Kopffelds.
    Benötigt wird also die Datei beamerouterthemesmoothbars.sty

    Dort ist (in meinen Amateur-Augen) der folgende Abschnitt von Bedeutung:


    Code:
    \defbeamertemplate*{headline}{smoothbars theme}
    {%
      \pgfuseshading{beamer@barshade}%
      \ifbeamer@sb@subsection%
        \vskip-9.75ex%
      \else%
        \vskip-7ex%
      \fi%
      \begin{beamercolorbox}[ignorebg,ht=2.25ex,dp=3.75ex]{section in head/foot}
        \insertnavigation{\paperwidth}
      \end{beamercolorbox}%
      \ifbeamer@sb@subsection%
        \begin{beamercolorbox}[ignorebg,ht=2.125ex,dp=1.125ex,%
          leftskip=.3cm,rightskip=.3cm plus1fil]{subsection in head/foot}
          \usebeamerfont{subsection in head/foot}\insertsubsectionhead
        \end{beamercolorbox}%
      \fi%
    }%
    Baue ich diesen Code, analog zur Manipulation der Fußzeile, in meine Präsentation ein,
    erhalte ich einige Fehler. Erst wollte ich es kompilieren können, bevor ich meine Änderung einbaue.
    Hier das nicht-kompilierende Minimalbeispiel:


    Code:
    \documentclass[xcolor=dvipsnames]{beamer}
    \usepackage{beamerthemeshadow}			
    \usetheme{CambridgeUS}
    \useoutertheme{smoothbars}
    \usecolortheme[named=Red]{structure}
    
    
    
    
    
    % -----------------------
    % Beginn eigenes Kopffeld
    % -----------------------
    \setbeamertemplate{headline}{smoothbars theme}
    {%
      \pgfuseshading{beamer@barshade}%
      \ifbeamer@sb@subsection%
        \vskip-9.75ex%
      \else%
        \vskip-7ex%
      \fi%
      \begin{beamercolorbox}[ignorebg,ht=2.25ex,dp=3.75ex]{section in head/foot}
        \insertnavigation{\paperwidth}
      \end{beamercolorbox}%
      \ifbeamer@sb@subsection%
        \begin{beamercolorbox}[ignorebg,ht=2.125ex,dp=1.125ex,%
          leftskip=.3cm,rightskip=.3cm plus1fil]{subsection in head/foot}
          \usebeamerfont{subsection in head/foot}\insertsubsectionhead
        \end{beamercolorbox}%
      \fi%
    }%
    % ---------------------
    % Ende eigenes Kopffeld
    % ---------------------
    
    
    
    
    % ----------------------
    % Beginn eigenes Fußfeld
    % ----------------------
    \setbeamertemplate{footline}
    { \leavevmode%
      \hbox{%
      \begin{beamercolorbox}[wd=.666666\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
        \usebeamerfont{author in head/foot}the title of the presentation
      \end{beamercolorbox}%
      \begin{beamercolorbox}[wd=.267334\paperwidth,ht=2.25ex,dp=1ex,center]{date in head/foot}%
        \usebeamerfont{date in head/foot}the date%
      \end{beamercolorbox}%
      \begin{beamercolorbox}[wd=.066\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
        \insertframenumber{} / \inserttotalframenumber\hspace*{2ex} %
      \end{beamercolorbox}%
      }%
      \vskip0pt%
    }
    % --------------------
    % Ende eigenes Fußfeld
    % --------------------
    
    
    
    \begin{document}
    
    \section{1st section}
    \subsection{1st subsection}
    \frame{ one ! }
    
    \section{2nd section}
    \subsection{2nd subsection}
    \frame{ two ! }
    \subsection{3rd subsection}
    \frame{ three ! }
    
    
    \section{3rd section}
    \subsection{4rd subsection}
    \frame{ four ! }
    
    \end{document}
    Wahrscheinlich rollt der Profi nun mit den Augen, was ich da eigentlich mache.
    Aber ehrlich: ich weiß es nicht...

    Nun, was ich eigentlich bewirken möchte: Ich möchte oberhalb der Navigation einen ein bis zwei Milimeter
    breiten, roten Balken einfügen. Er soll keine Funktion haben, sondern lediglich die Optik verschönern. Ohne
    diesen roten Abschluss habe ich das Gefühl, dass etwas fehlt...
    Geändert von ProfessorChaos (06-04-2009 um 12:23 Uhr) Grund: Kommentare gelöscht

  2. #2
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo,

    also nur eine Linie:
    Code:
    \documentclass[xcolor=dvipsnames]{beamer}
    \usepackage{beamerthemeshadow}			
    \usetheme{CambridgeUS}
    \useoutertheme{smoothbars}
    \usecolortheme[named=Red]{structure}
    \usepackage{xcolor}
    
    
    
    
    % -----------------------
    % Beginn eigenes Kopffeld
    % -----------------------
    \setbeamertemplate{headline}%{smoothbars theme}
    {%
    \color{red}
    \rule{\paperwidth}{2mm}
    }%
    % ---------------------
    % Ende eigenes Kopffeld
    % ---------------------
    
    
    
    
    % ----------------------
    % Beginn eigenes Fußfeld
    % ----------------------
    \setbeamertemplate{footline}
    { \leavevmode%
      \hbox{%
      \begin{beamercolorbox}[wd=.666666\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
        \usebeamerfont{author in head/foot}the title of the presentation
      \end{beamercolorbox}%
      \begin{beamercolorbox}[wd=.267334\paperwidth,ht=2.25ex,dp=1ex,center]{date in head/foot}%
        \usebeamerfont{date in head/foot}the date%
      \end{beamercolorbox}%
      \begin{beamercolorbox}[wd=.066\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
        \insertframenumber{} / \inserttotalframenumber\hspace*{2ex} %
      \end{beamercolorbox}%
      }%
      \vskip0pt%
    }
    % --------------------
    % Ende eigenes Fußfeld
    % --------------------
    
    
    
    \begin{document}
    
    \section{1st section}
    \subsection{1st subsection}
    \frame{ one ! }
    
    \section{2nd section}
    \subsection{2nd subsection}
    \frame{ two ! }
    \subsection{3rd subsection}
    \frame{ three ! }
    
    
    \section{3rd section}
    \subsection{4rd subsection}
    \frame{ four ! }
    
    \end{document}
    Was du falsch gemacht hast:
    1. @ als Sonderzeichen nicht beachtet (makeatletter ...)
    2. setbeamertemplate hat kein drittes Argument (in deinem Fall war smoothbar überflüssig)


    Gruß
    Marco

  3. #3
    Registrierter Benutzer Avatar von ProfessorChaos
    Registriert seit
    29.12.2007
    Ort
    Canberra (Australien)
    Beiträge
    89
    Zitat Zitat von mechanicus Beitrag anzeigen
    also nur eine Linie:
    Nein, ich wollte die Navigation um eine Linie *ergänzen*. Sie soll also bleiben, wie sie war, nur
    dass eben zusätzlich die besagte Linie darüber erscheinen soll (und zwar im selben Farbton wie
    unten, aber welcher das ist, finde ich sicherlich heraus).

    Zitat Zitat von mechanicus Beitrag anzeigen
    Was du falsch gemacht hast:
    1. @ als Sonderzeichen nicht beachtet (makeatletter ...)
    2. setbeamertemplate hat kein drittes Argument (in deinem Fall war smoothbar überflüssig)
    1.
    Damit kann ich leider nichts anfangen, denn beim "normalen" teXen brauchte ich noch niemals
    das @-Symbol. Der nicht-funktionierende Code ist einfach nur 1-zu-1 aus der sty herauskopiert,
    da ich die Navigation ja übernehmen möchte...

    2.
    Ja, danke, dieser Fehler unterlief mir im Eifer des Gefechts. Auch die angepasste Version
    kompiliert nicht (33 Fehler).

  4. #4
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo,

    Code:
    \documentclass[xcolor=dvipsnames]{beamer}
    \usepackage{beamerthemeshadow}			
    \usetheme{CambridgeUS}
    \useoutertheme{smoothbars}
    \usecolortheme[named=Red]{structure}
    \usepackage{xcolor}
    
    
    
    
    % -----------------------
    % Beginn eigenes Kopffeld
    % -----------------------
    \makeatletter
    \setbeamertemplate{headline}
    {%
     {\color{red}\rule{\paperwidth}{2mm}}\\
      \pgfuseshading{beamer@barshade}%
      \ifbeamer@sb@subsection%
        \vskip-9.75ex%
      \else%
        \vskip-7ex%
      \fi%
      \begin{beamercolorbox}[ignorebg,ht=2.25ex,dp=3.75ex]{section in head/foot}
        \insertnavigation{\paperwidth}
      \end{beamercolorbox}%
      \ifbeamer@sb@subsection%
        \begin{beamercolorbox}[ignorebg,ht=2.125ex,dp=1.125ex,%
          leftskip=.3cm,rightskip=.3cm plus1fil]{subsection in head/foot}
          \usebeamerfont{subsection in head/foot}\insertsubsectionhead
        \end{beamercolorbox}%
      \fi%
    }%
    \makeatother
    % ---------------------
    % Ende eigenes Kopffeld
    % ---------------------
    
    
    
    
    % ----------------------
    % Beginn eigenes Fußfeld
    % ----------------------
    \setbeamertemplate{footline}
    { \leavevmode%
      \hbox{%
      \begin{beamercolorbox}[wd=.666666\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
        \usebeamerfont{author in head/foot}the title of the presentation
      \end{beamercolorbox}%
      \begin{beamercolorbox}[wd=.267334\paperwidth,ht=2.25ex,dp=1ex,center]{date in head/foot}%
        \usebeamerfont{date in head/foot}the date%
      \end{beamercolorbox}%
      \begin{beamercolorbox}[wd=.066\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
        \insertframenumber{} / \inserttotalframenumber\hspace*{2ex} %
      \end{beamercolorbox}%
      }%
      \vskip0pt%
    }
    % --------------------
    % Ende eigenes Fußfeld
    % --------------------
    
    
    
    \begin{document}
    
    \section{1st section}
    \subsection{1st subsection}
    \frame{ one ! }
    
    \section{2nd section}
    \subsection{2nd subsection}
    \frame{ two ! }
    \subsection{3rd subsection}
    \frame{ three ! }
    
    
    \section{3rd section}
    \subsection{4rd subsection}
    \frame{ four ! }
    
    \end{document}
    Die Farbe habe ich jetzt nicht rausgesucht.

    Gruß
    Marco

  5. #5
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von mechanicus Beitrag anzeigen
    Die Farbe habe ich jetzt nicht rausgesucht.
    Nun doch:
    Code:
    \color{darkred!80!black}
    Gruß
    Marco

  6. #6
    Registrierter Benutzer Avatar von ProfessorChaos
    Registriert seit
    29.12.2007
    Ort
    Canberra (Australien)
    Beiträge
    89
    Zitat Zitat von mechanicus Beitrag anzeigen
    Code:
    [neue Version]
    Funktioniert 1A, vielen Dank!

    Zitat Zitat von mechanicus Beitrag anzeigen
    Die Farbe habe ich jetzt nicht rausgesucht.
    ...
    Nun doch:
    \color{darkred!80!black}
    \color{red!80!black} wäre die korrekte Farbe. Aber danke, hat mir Arbeit erspart. Ich hätte es
    natürlich selbst herausgesucht, war aber kurz afk...

    Ich konnte mit dem Code aus der .sty unter anderem wegen dem mir kryptisch vorkommenden
    @-Symbol nichts anfangen. Daher hat mir auch \makeatletter nichts gesagt, erwähnt hattest
    du den Befehl ja. Wem es geht wie mir, hier zwei Worte zum selbigen: @-Symbol.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •