No matter how hard I search, I cannot find any information on creating a Beamer theme from scratch, as opposed to LEGOing it together from the built-in inner, outer and color themes, maybe modifying one or two beamer templates by using cryptic commands without explanation.
The reason I want to do this is that none of the built-in inner, outer and color themes suit my taste. All of them are instantly recognisable as Beamer, and there is very small visual change between them.
What I would like to implement is something along the lines of certain PowerPoint templates:
and I would also like to port the beautiful powerdot
themes (see gallery), such as the KlopeSpring theme to Beamer, as Powerdot is very inconvenient for having to convert all images to EPS.
So how do I go about all those geometric decorations and placing text above/below/on them?
Oh, and I almost forgot to mention that I know about the easy solution of "include an empty slide PDF as background image", but that is no fun.
Best Answer
Build your own theme: no one forces you to exploit predefined inner, outer, color and font themes. Look at this theme: is it instantly recognisable as Beamer ?
But, let's have a practical example: it is one hour-built theme, thus take it just for demonstration. Lot of improvements can be done. The reference is one of your pictures.
We call this new theme
texsx
mainly due to the fact that I don't have much fantasy with names. So in a directory we create the following files:beamercolorthemetexsx.sty
beamerinnerthemetexsx.sty
beamerouterthemetexsx.sty
beamerthemetexsx.sty
texsx-example.tex
To build the theme we might exploit TikZ: very likely you can avoid it, but the question has the magic tag, so I felt almost obligated (even if the true reason is: with TikZ was faster
;)
).So we keep
beamerthemetexsx.sty
very simple:we load the themes, remove the navigation symbols and define blocks aspect.
Now, let's start define the title page in the
inner
theme. As we need to test what we're doing, at first is is better to set up the example document:Nothing is strange or difficult till now. Time to build the titlepage; I would proceed as follows:
background
template to set the titlepage backgroundtitle page
template in which the title, the author and the date are actually set.The operations described are translated in
beamerinnerthemetexsx.sty
in the following way:It is important to notice that we define ourself the bounding box through
\useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight);
then, thanks to the test on the page number, we apply the background on the title page only.In the
title page
template then we actually put the elements mentioned above. We characterize their color aspect passing tobeamercolorboxes
title page header
,author
,date
so we need these definitions. Let's add them to thebeamercolorthemetexsx.sty
:Now, if we compile our example we get:
Cool!
Let's going on defining the aspect of the frame title. This is done with a template called
frametitle
in thebeamerouterthemetexsx.sty
, which looks like:Basically, we exploit the same concept of the titlepage to draw some boxes; then we check whether the subtitle is present: accordingly we set the position of title and subtitle or we set only the frame title with TikZ nodes.
We need again tests to verify our idea. So let's add something on our example:
As we also have lists, we have to define their aspect and color. So we need to add:
in our
beamercolorthemetexsx.sty
and:in
beamerinnerthemetexsx.sty
. It is not mandatory to put the latter definitions in the inner theme, but I followed the Beamer style.It seems to me we can compile our document; the result is:
Ok, I agree: the colors are not the ones in the reference picture and the subtitle is not perfectly aligned with the title (this is due to the font size difference), but the new theme is here.