Ein LaTeX-Beamer-Theme erstellen - Report und Howto

Submitted by reinhard on So, 05/02/2010 - 08:36

Wie wir ja alle wissen, hat die WU seit letztem Jahr eine neue Corporate-ID. Und wir heissen in England nimmer "dabelju-ju" sonder "we-u". Schon viel prägnanter und besser.

Also wurde es Zeit, dass ich mir einen Kindheitstraum erfülle, und ein Beamer-Theme für die WU zusammenbastele. Das hier stellt wie üblich eine Mischung aus Trial and Error und Ansätzen eines HowTo dar. Die Dokumente für das Corporate ID und die PPT-Vorlagen finden sich im WU-Intranet. Wobei zu sagen ist, dass das hier nur die ersten Schritte darstellt - einigermassen das Layout nachbasteln. Was noch fehlt, sind dann beispielsweise das EQUIS-Logo, die genauen Maße, Vorlagen für Tabellen, etc. Aber die Standard-Seite und das Deckblatt schauen einmal schon fast gut aus.

1. Versuch - mit einem Highly Sophisticated Theme anfangen

Als Basis hab ich die zuerst Docs von Arthur van Dam genommen, und versucht, einfach die Farben zu ändern. Und ein neues Logo dazuzugeben. Aber sonst nicht viel mehr. Aja: http://arthur.van-dam.net/twiki/bin/view/Arthur/UuBeamer

Also runterladen, auspacken, lt. INSTALL für LaTeX sichtbar gemacht, und verwendet. Und dann Schritt für Schritt umzuändern versucht. Allerdings waren da schon recht viele Kniffe und Tricks dabei, und irgendwo beim Logo bin ich dann hängen geblieben. Die rechnen sich nämlich die Positionen bestimmter Elemente von der Logogröße aus - explizit und implizit vermut' ich einmal auch - ich hab das WU-Logo nehmen und woanders hinschieben wollen, da ist mir das ganze Theme abgeschwirrt.

2. Versuch - mit default anfangen und mich hochhanteln

Als zweites hab ich dann die Strategie verfolgt, von den Standard-Themes von beamer ausgehend, mich an's Wunschergebnis anzupassen. Grundlage für solche Unternehmungen ist immer einmal das Beamer Handbook, beispielsweise hier: http://www.ctan.org/tex-archive/macros/latex/contrib/beamer/doc/beamerus...

Dann bin ich hergegangen, und hab ein quasi leeres Theme gebastelt, das derweil die Teile vom default-Theme verwendet hat. Dem ganzen sollte man schon eine Struktur geben, und die an einen von LaTeX auffindbaren Platz geben, bei mir ~/texmf/tex/latex/wubeamer/ Weil mein theme wu heisst, und ein beamer Theme ist, muss es so heissen. wubeamer braucht im meinem Fall zwei Unterverzeichnisse, art, wo das Logo reinkommt, und themes, wo das eigentliche Theme sein wird. themes enthält dann die Unterverzeichnisse color, dort werden die verwendeten Farben festgelegt, inner, wo das Inner Theme reinkommt, das den Bereich mit dem Inhalt formatiert, outer wo Kopf- und Fußzeile u.ä. festgelegt werden, sowie theme wo die anderen Teile zusammengebastelt werden. Und bei letzterem hab ich so angefangen:

\mode<presenation>
\usefonttheme{default}
\usecolortheme{default}
\useinnertheme{default}
\useoutertheme{default}
\setbeamertemplate{headline}[default]
\mode
<all>

Also ich nehm einmal alle Teile von default - liegt bei mir beispielsweise auf /usr/share/texmf/tex/latex/beamer/themes (durchschauen!), und probier aus, ob LaTeX das überhaupt findet. Und zwar mit einem Test-Dokument, und dort steht oben \usetheme{wu}. Und dann ersetze ich die Sachen, die ich ändern mag, Schritt für Schritt mit meinen eigenen. (Also jeweils die eigenen Dateien anlegen, in den Ordner und default mit wu ersetzen) Helfen kann dabei beispielsweise die Beamer Theme Matrix: http://www.hartwork.org/beamer-theme-matrix/

Farben
Angefangen hab ich mit den Farben. Genommen hab ich die Farben von crane (beamercolorthemecrane.sty) und dann schrittweise angepasst. Also die ganze Datei nehmen, bei mir in color als beamercolorthemewu.sty speichern und dann Schritt für Schritt nachziehen. Also die WU-Farben definieren:
\definecolor{wublue}{cmyk}{0.85,0.21,0.0,0.0}
\definecolor{wupurple}{cmyk}{0.82,0.90,0.0,0.0}

Und dann für die verschiedenen Elemente anwenden. Ich wollte die Fußzeile beispielsweise nicht hinterlegt (Die Kopfzeile hab ich später ausgeblendet):
\setbeamercolor{palette primary}{fg=black,bg=white!70}
Einfach Herumspielen, bis das Ergebnis passt. Und die Aufzählungszeichen gehören ja violett: \setbeamercolor{itemize item}{fg=wupurple}

Outer Theme
Da hab ich beispielsweise die Kopfzeile ausgeblendet, und die Fusszeile umformatiert. Also links die Seiten und rechts den Title. Dann hab ich derweil da - obwohl ich glaub, es gehört ins Inner Theme - derweil die Folienüberschrift neu formatiert, weil ich da ein WU-Logo reingegeben hab: \setbeamertemplate{frametitle}

Dann hab ich noch die Titelseite extra formatiert, mit zwei großen Blöcken, die zwar der offiziellen WU-Vorlage nicht entsprechen, aber doch recht ähnlich sind, geht in der Abteilung \defbeamertemplate*{title page}{wu}[1][]

Den Folienheader hab ich zwar im Outer Theme definiert, aber in der Hauptdatei per \setbeamertemplate{headline}[default] ausgeschaltet. Falls ich ihn einmal brauche.

Inner Theme
Ist bei mir fast leer, ich hab nur die Aufzählungszeichen einmal quadratisch gemacht: \setbeamertemplate{items}[square]

Zum Logo
Das hat mich einigermaßen verwirrt, v.a. weil ich beim ersten Versuch völlig überfordert war. Die wahrscheinlich sauberste Lösung ist die, dass man das Logo als solches definiert
\pgfdeclareimage[height=0.7cm]{university-logo}{wulogo_karbon_2}
\logo{\pgfuseimage{university-logo}}

und dann an der gewünschten Stelle einfügt mit \insertlogo. Da aber die Größe fix ist, hab ich es für die Titelseite anders machen müssen: \pgfimage[height=2.5cm]{wulogo_karbon_2}%. Das Logo selbst hab ich im art-Verzeichnis (weiss nicht, ob das so sein muss), und es ist ein PDF. Wie kommt man nun zu seinem Logo in PDF? Ich hab das als .eps gehabt, und mit Scribus (http://www.scribus.net/) umgebaut. Karbon (http://www.koffice.org/karbon/) hat mir die Farben invertiert, und über den Gimp ging's auch nicht ganz glatt. Jetzt schaut's schon ganz gut aus. Und mein Logo heisst wulogo_karbon_2.pdf.

Fusszeile auf der ersten Seite ausblenden
Ich hab da länger gesucht, ist aber ganz einfach. Im Dokument selber muss man einfach statt
\begin{frame} \maketitle \end{frame}
ein
\begin{frame}[plain] \maketitle \end{frame}
machen. Da ich derzeit ja mit ReStructuredText arbeite, muss ich das (wie dorteben beschrieben) in meinem Übersetzungsscript per sed machen:
sed 's/\\maketitle/\\begin{frame}\[plain\]\n\\maketitle\n\\end{frame}/' -i praes.tex || exit

Angehängt jetzt die ganze Sause mit Ergebnis, zwecks Vergleich.

AnhangGröße
wubeamer.zip72.62 KB

Category 

technik, blossso

Tags 

latex, beamer, wu, theme

Kommentare

Submitted by Anonymous (nicht überprüft) on So, 12/19/2010 - 01:40

habe heute den ganzen Tag damit verbracht, ein beamer-Theme zu erstellen - und das ganze quasi genau in der reihenfolge, wie du es schilderst... :)

schade, dass ich jetzt erst deinen Eintrag gefunden habe, das hätte mir ne Menge "Plackerei" erspart... :)

Seiten