Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Beamer, begrenzter Farbverlauf im Hintergrund

  1. #1
    Registrierter Benutzer
    Registriert seit
    24.07.2012
    Beiträge
    21

    Beamer, begrenzter Farbverlauf im Hintergrund

    Hallo,

    ich wollte mir jetzt mal aus Interesse ein eigenes Theme für Latex zusammenbauen. Da stellt sich mir eine Fragee:

    Ich würde gern auf der rechten Seite einen vertikalen Farbverlauf in einem begrenzten Bereich haben. Dieser müsste aber in den Hintergrund, da Text noch drüber geschrieben werden können soll.

    Ist dies überhaupt möglich?


    mfg

  2. #2
    Registrierter Benutzer
    Registriert seit
    06.08.2008
    Beiträge
    1.015
    Zitat Zitat von beacher_pille88
    Ist dies überhaupt möglich?
    Ja!

    Hier mal eine Anregung:
    Code:
    \documentclass[final]{beamer}
    
    \usecolortheme{crane}
    \useoutertheme[right]{sidebar}
    \setbeamertemplate{sidebar canvas right}[vertical shading][top=palette primary.bg,middle=white,bottom=white]
    
    \begin{document}
    \begin{frame}{Show frame}
    Test-Frame
    \end{frame}
    \end{document}
    Detailiertere Beschreibungen der Optionen findest du im Beamer user guide, u.a. im Abschnitt 8.2.2 The Sidebars und 16.2 Outer Themes.

  3. #3
    Registrierter Benutzer
    Registriert seit
    24.07.2012
    Beiträge
    21

    danke erstmal :)

    Ich häng jetzt aber irgendwie dran, das in mein *.sty zu packen ...

    Die meisten Beispiele (wie dieses) nutzen ja vorgefertigte Themes.

    Ich schreibe mein eigenes Theme und wollte das drin haben ... seh ich da grad den Wald vor lauter Bäumen nicht?!?!?!?

  4. #4
    Registrierter Benutzer
    Registriert seit
    06.08.2008
    Beiträge
    1.015
    Schau doch einfach mal in den beamer-Quellcode, wie es dort gelöst ist. Das sidebar-Thema befindet sich unter /base/themes/outer

    Da beamer auf pgf/tikz basiert, kannst du damit auch (fast) alles machen, was im pgfmanual beschrieben ist.

    Ansonsten: präzisiere dein Problem! Was genau möchtest du erreichen? Welche Schritte hast bisher unternommen bzw. welchen Code geschrieben?

  5. #5
    Registrierter Benutzer
    Registriert seit
    24.07.2012
    Beiträge
    21
    Also gut ... dann werde ich mal hier mein Problem ganz kongret schildern.

    Ich habe mir die Laughlin-Vorlage genommen und schonmal die Farben, Kopf- und Fußzeile angepasst.
    Hier mal eine Beispielseite:

    Titelseite

    Jetzt zu meinen Wünschen:

    a) Der weiße Balken über der Sidebar soll weg
    b) Die Fußzeile ragt ein kleines Stück über die Sidebar - soll bündig sein
    c) Der Hintergrund meines Titels soll farbig sein, jedoch nur auf der Titelseite (die folgenden Frame-title sollen weiß hinterlegt sein)
    d) Zwischen den dunkleren Balken der Kopf und Fußzeile soll ein Farbverlauf von oben nach unten passieren

    So ... und nun mein outertheme und colortheme (müsste ja reichen, oder?)

    Colortheme:
    Code:
    \mode
    
    
    \definecolor{basicFH}{RGB}{0,59,121}
    \definecolor{basicAI}{RGB}{119,153,187}
    \definecolor{basic3}{RGB}{244,244,244}
    \definecolor{basic4}{RGB}{187,204,221}
    
    \setbeamercolor*{normal text}{fg=basicFH,bg=white}
    \setbeamercolor*{structure}{fg=basicFH,bg=basic3}
    \setbeamercolor{head left}{fg=basicFH,bg=basic3}
    \setbeamercolor{head middle}{fg=basicFH,bg=basicFH}
    \setbeamercolor{foot left}{fg=basicFH,bg=basic4}
    \setbeamercolor{foot middle}{fg=basicFH,bg=basicAI}
    \setbeamercolor{title}{fg=basicFH,bg=white}
    
    
    \setbeamercolor*{palette primary}{use=structure,fg=white,bg=structure.fg}
    \setbeamercolor*{palette secondary}{use=structure,fg=white,bg=structure.fg!75}
    \setbeamercolor*{palette tertiary}{use=structure,fg=white,bg=structure.fg!50}
    \setbeamercolor*{palette quaternary}{use=structure,fg=white,bg=structure.fg}
    
    \setbeamercolor*{palette sidebar primary}{use=structure,fg=structure.fg!10}
    \setbeamercolor*{palette sidebar secondary}{fg=white}
    \setbeamercolor*{palette sidebar tertiary}{use=structure,fg=structure.fg!50}
    \setbeamercolor*{palette sidebar quaternary}{fg=white}
    
    \setbeamercolor*{titlelike}{parent=palette primary}
    
    \setbeamercolor*{sidebar}{use=structure,bg=structure.fg}
    
    \setbeamercolor{block title}{use=structure,fg=white,bg=structure.fg}
    \setbeamercolor{block title alerted}{use=alerted text,fg=white,bg=alerted text.fg}
    \setbeamercolor{block title example}{use=example text,fg=white,bg=example text.fg}
    
    \setbeamercolor{block body}{parent=normal text,use=block title,bg=block title.bg!25!bg}
    \setbeamercolor{block body alerted}{parent=normal text,use=block title alerted,bg=block title alerted.bg!25!bg}
    \setbeamercolor{block body example}{parent=normal text,use=block title example,bg=block title example.bg!25!bg}
    
    \mode
    Outertheme:
    Code:
    \mode
    
    
    
    % Use the "sidebar" theme, with no header and a left sidebar as base
    \useoutertheme[width=2.5cm,height=0pt,left]{sidebar}
    
    % Load the side bar image if enabled
    \pgfdeclareimage[height=\paperheight]{laughlin@sidebarimage}{laughlin-sidebar}
    
    % (A)
    \newdimen\laughlin@panelwidth
    \laughlin@panelwidth=\paperwidth
    \advance\laughlin@panelwidth by -\beamer@sidebarwidth
    
    %%% The background color of the frametitle is the same than the
    %%% presentation one
    \setbeamertemplate{frametitle}
    {
      \leavevmode%
      \hbox{%
      \begin{beamercolorbox}[wd=.67\laughlin@panelwidth,ht=4ex,dp=1ex,left,leftskip=1em,seb=1em]{title}%
        \insertframetitle
      \end{beamercolorbox}%
      \begin{beamercolorbox}[wd=.33\laughlin@panelwidth,ht=4ex,dp=1ex,left]{title}%
        \insertlogo
      \end{beamercolorbox}%
        }%
    }
    
    
    %%% Set the background in the sidebar
    \defbeamertemplate*{sidebar canvas left}{laughlin theme}
    {
      \pgfuseimage{laughlin@sidebarimage}
    }
    
    
    
    \defbeamertemplate*{headline}{FH}{%
      \leavevmode%
      \hspace*{\beamer@sidebarwidth}
      \hbox{%
      \begin{beamercolorbox}[wd=0.69\laughlin@panelwidth,ht=2.25ex,dp=1ex,left]{head left}%
      \end{beamercolorbox}
      \begin{beamercolorbox}[wd=0.13\laughlin@panelwidth,ht=2.25ex,dp=1ex,left]{head middle}%
      \end{beamercolorbox}
      \begin{beamercolorbox}[wd=0.25\laughlin@panelwidth,ht=2.25ex,dp=1ex,left]{head left}%
      \end{beamercolorbox}}
      \vskip0pt%
    }
    
    \defbeamertemplate*{footline}{FH}{%
      \leavevmode%
      \hspace*{\beamer@sidebarwidth}
      \hbox{%
      \begin{beamercolorbox}[wd=0.69\laughlin@panelwidth,ht=2.25ex,dp=1ex,left]{foot left}%
      \end{beamercolorbox}
      \begin{beamercolorbox}[wd=0.13\laughlin@panelwidth,ht=2.25ex,dp=1ex,center]{foot middle}%
        Seite \insertframenumber{}/\inserttotalframenumber
      \end{beamercolorbox}
      \begin{beamercolorbox}[wd=0.25\laughlin@panelwidth,ht=2.25ex,dp=1ex,left]{foot left}%
      \end{beamercolorbox}}
      \vskip0pt%
    }
    
    \mode
    Geändert von beacher_pille88 (20-09-2012 um 11:33 Uhr)

  6. #6
    Registrierter Benutzer
    Registriert seit
    06.08.2008
    Beiträge
    1.015
    Zitat Zitat von beacher_pille88 Beitrag anzeigen
    Jetzt zu meinen Wünschen:

    a) Der weiße Balken über der Sidebar soll weg
    b) Die Fußzeile ragt ein kleines Stück über die Sidebar - soll bündig sein
    c) Der Hintergrund meines Titels soll farbig sein, jedoch nur auf der Titelseite (die folgenden Frame-title sollen weiß hinterlegt sein)
    d) Zwischen den dunkleren Balken der Kopf und Fußzeile soll ein Farbverlauf von oben nach unten passieren
    a) hier musst du manuell das sidebarimage nach oben verschieben, da das headline-Template sich selbständig Platz reserviert:
    Code:
    \setbeamertemplate{sidebar canvas left}%{laughlin theme}
    {\vspace*{-\headheight}\pgfuseimage{laughlin@sidebarimage}}
    b) Das hängt mit der Rundung bei der Längenberechnung und dem Überhang der beamercolorbox(en) zusammen. Hier kannst du versuchen mit dem Parameter colsep*=dimension zu spielen.

    c) Das sollte eigentlich über die titlelike-Farbdefinition gehen. Da habe ich es aber noch nicht geschafft, mich durch deinen Farbblock zu arbeiten.

    d) Dies geht über das Element "backgound canvas" mit einem Farbverlauf aus TikZ/pgf (bei den beamercolorbox(en) im "frametitle" muss dann eventuell noch ein "ignorebg" eingefügt werden, damit der Farbverlauf auch durchgängig ist):
    Code:
    \RequirePackage{tikz}
    
    \setbeamertemplate{background canvas}{%
    \hspace*{\beamer@sidebarwidth}\hspace*{0.69\laughlin@panelwidth}\hspace*{0.5ex}%
    \tikz\shade[top color=basicFH,bottom color=basicAI] (0,0) rectangle (0.13\laughlin@panelwidth+0.5ex,\beamer@paperheight);%
    }
    Da stellt sich mit aber schon die Frage nach dem Sinn. Denn schließlich geht der Text im Frame auch über diesen Farbverlauf. Da sich die Text- und Hintergrundfarbe dann kaum noch unterscheiden, ist die Lesbarkeit dann ziemlich hinüber?!?

  7. #7
    Registrierter Benutzer
    Registriert seit
    24.07.2012
    Beiträge
    21
    vielen Dank schonmal!!! So richtig hab ich das hier noch nicht durchschaut -.-*

    Erstmal: Der Farbverlauf geht von white--> basic3 (Corporate Design meiner Institution, deshalb auch die Zensur, da ich nicht weiß, ob ich das einfach so online stellen darf )

    Leider funktioniert

    Code:
    \setbeamertemplate{background canvas}
    {%
      \hspace*{\beamer@sidebarwidth}
      \hspace*{0.69\laughlin@panelwidth}
      \hspace*{0.5ex}%
      \tikz\shade[top color=white,bottom color=basic3] (0,0) rectangle (0.13\laughlin@panelwidth+0.5ex,\beamer@paperheight);%
    }
    bei mir nicht. Fehlerausgabe:

    Code:
    ! Undefined control sequence.
     ...nelwidth +0.5ex,\beamer@paperheight 
                                                      
    l.37 \end{frame}
    Und ich würde gerne mal eine Erklärung dazu wissen:

    die ersten beiden \hspace machen einen Abstand Richtung "rechten" Seitenrand. Aber was macht \hspace*{0.5ex}???
    Dann das \tikz\shade sagt mir den Farbverlauf mit den Optionen [obere Farbe=...,untere Farbe=...] - macht dann (0,0) den Startpunkt des rectangle mit einer breite und höhe = (0.13\laughlin@panelwidth+0.5ex,\beamer@paperheigh t)? Was macht das Semikolon da am Ende?

    vlg

  8. #8
    Registrierter Benutzer
    Registriert seit
    06.08.2008
    Beiträge
    1.015
    Das wundert mich schon... dann nimm halt \paperheight statt \beamer@paperheight !

    Die extra-Abstände von 0,5 ex habe ich noch eingefügt, um eine sichtbare Stufe wegen der nicht ganz bündigen Überlappung (wie am Anfang der Kopf- und Fußzeile) zu verhindern.

    Das Semikolon markiert bei TikZ/pgf das Befehlsende (du kannst ja mal probieren, es wegzulassen ). Mehr Infos siehe pgfmanual.pdf!

  9. #9
    Registrierter Benutzer
    Registriert seit
    24.07.2012
    Beiträge
    21
    Ok vielen Dank!!! Jetzt funktioniert (fast) alles, wie es soll

    Zu dem Fehler mit dem \beamer@paperheight:

    Wenn ich es durch \paperheight ersetzt hab, zeigte er mir einen Fehler, dass ich irgendwo ein "seb" drin hatte - das raus gemacht und schon ging \beamer@paperheight

    Ich danke vielmals!!!

Lesezeichen

Berechtigungen

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