Solución:
Crea tu propio tema: nadie te obliga a explotar temas internos, externos, de color y de fuente predefinidos. Mira este tema: ¿es instantáneamente reconocible como Beamer ?
Pero, tengamos un ejemplo práctico: es un tema de una hora, por lo tanto, tómelo solo como demostración. Se pueden realizar muchas mejoras. La referencia es una de tus imágenes.
A este nuevo tema lo llamamos texsx
principalmente por el hecho de que no tengo mucha fantasía con los nombres. Entonces en un directorio creamos los siguientes archivos:
beamercolorthemetexsx.sty
beamerinnerthemetexsx.sty
beamerouterthemetexsx.sty
beamerthemetexsx.sty
texsx-example.tex
Para construir el tema, podríamos aprovechar TikZ: es muy probable que puedas evitarlo, pero la pregunta tiene la etiqueta mágica, así que me sentí casi obligado (incluso si el true la razón es: con TikZ fue más rápido ;)
).
Así que mantenemos beamerthemetexsx.sty
muy simple:
mode
% Requirement
RequirePackagetikz
% Settings
useinnerthemetexsx
useouterthemetexsx
usecolorthemetexsx
setbeamertemplatenavigation symbols
setbeamertemplateblocks[rounded][shadow=true]
mode
cargamos los temas, eliminamos los símbolos de navegación y definimos el aspecto de los bloques.
Ahora, comencemos a definir la página de título en el inner
tema. Como necesitamos probar lo que estamos haciendo, al principio es mejor configurar el documento de ejemplo:
documentclassbeamer
usepackage[utf8]inputenc
usepackage[T1]fontenc
titleThere Is No Largest Prime Number
date[ISPN ’80]27th International Symposium of Prime Numbers
author[Euclid]Euclid of Alexandria texttt[email protected]
usethemetexsx
begindocument
beginframe
titlepage
endframe
enddocument
Nada es extraño ni difícil hasta ahora. Es hora de construir la portada; Procedería de la siguiente manera:
- explotar el
background
plantilla para establecer el fondo de la página de título - definir un
title page
plantilla en la que se establecen realmente el título, el autor y la fecha.
Las operaciones descritas se traducen en beamerinnerthemetexsx.sty
de la siguiente manera:
mode
setbeamertemplatebackground
begintikzpicture
useasboundingbox (0,0) rectangle(thepaperwidth,thepaperheight);
fill[color=brown] (0,2) rectangle (thepaperwidth,thepaperheight);
fill[color=orange] (0,0) rectangle(2.95,1.9);
fill[color=blue!50!cyan!80] (3.05,0) rectangle(thepaperwidth,1.9);
ifnumthepage>1relax%
fill[white,opacity=1] (0,0) rectangle(thepaperwidth,thepaperheight);
fi
endtikzpicture
% Title page
defbeamertemplate*title pagetexsx[1][]
vskip6cm%
beginbeamercolorbox[wd=12cm,leftskip=3cm,sep=8pt,#1]title page header
usebeamerfonttitleinserttitlepar%
endbeamercolorbox%
vskip0.75cm%
beginbeamercolorbox[wd=12cm,leftskip=3cm,#1]author
usebeamerfontauthorinsertauthor%
endbeamercolorbox
vskip0.2cm%
beginbeamercolorbox[wd=12cm,leftskip=3cm,#1]date
usebeamerfontauthorinsertdate%
endbeamercolorbox
vfill
mode
Es importante notar que nosotros mismos definimos el cuadro delimitador a través de useasboundingbox (0,0) rectangle(thepaperwidth,thepaperheight);
luego, gracias a la prueba en el número de página, aplicamos el fondo solo en la portada.
En el title page
template, entonces ponemos los elementos mencionados anteriormente. Caracterizamos su aspecto cromático pasando a beamercolorboxes
title page header
, author
, date
entonces necesitamos estas definiciones. Vamos a agregarlos al beamercolorthemetexsx.sty
:
mode
% Settings
setbeamercolor*title page headerfg=white
setbeamercolor*authorfg=white
setbeamercolor*datefg=white
mode
Ahora, si compilamos nuestro ejemplo obtenemos:
¡Frio!
Sigamos definiendo el aspecto del título del marco. Esto se hace con una plantilla llamada frametitle
en el beamerouterthemetexsx.sty
, que se parece a:
mode
% Frame title
defbeamertemplate*frametitletexsx[1][]
vskip1cm%
beginbeamercolorbox[wd=paperwidth,ht=1.2cm]frametitle
begintikzpicture
useasboundingbox[fill=white](0,0) rectangle(thepaperwidth,1.2);
fill[orange] (0,0) rectangle(2.95,1.2);
fill[blue!50!cyan!80] (3.05,0) rectangle(thepaperwidth,1.2);
ifxinsertframesubtitle@empty%
node[anchor=west, white,font=large] at (3.2,0.61)insertframetitle;
else%
node[anchor= west, white,font=large] at (3.2,0.81)insertframetitle;%
node[anchor= west, white,font=small] at (3.2,0.41)insertframesubtitle;%
fi
endtikzpicture
endbeamercolorbox
mode
Básicamente, aprovechamos el mismo concepto de la página de título para dibujar algunos cuadros; luego verificamos si el subtítulo está presente: en consecuencia, establecemos la posición del título y el subtítulo o establecemos solo el título del marco con nodos TikZ.
Necesitamos nuevas pruebas para verificar nuestra idea. Entonces agreguemos algo en nuestro ejemplo:
documentclassbeamer
usepackage[utf8]inputenc
usepackage[T1]fontenc
titleThere Is No Largest Prime Number
date[ISPN ’80]27th International Symposium of Prime Numbers
author[Euclid]Euclid of Alexandria texttt[email protected]
usethemetexsx
begindocument
beginframe
titlepage
endframe
beginframe
frametitleThere Is No Largest Prime Number
framesubtitleThe proof uses textitreductio ad absurdum.
begintheorem
There is no largest prime number. endtheorem
beginenumerate
item<1-| [email protected]> Suppose $p$ were the largest prime number.
item<2-> Let $q$ be the product of the first $p$ numbers.
item<3-> Then $q+1$ is not divisible by any of them.
item<1-> But $q + 1$ is greater than $1$, thus divisible by some prime
number not in the first $p$ numbers.
endenumerate
endframe
beginframeA longer title
beginitemize
item one
item two
enditemize
endframe
enddocument
Como también tenemos listas, tenemos que definir su aspecto y color. Entonces necesitamos agregar:
setbeamercolor*itemfg=orange
en nuestro beamercolorthemetexsx.sty
y:
% Items
setbeamertemplateitems[square]
setbeamertemplatesections/subsections in toc[square]
en beamerinnerthemetexsx.sty
. No es obligatorio poner las últimas definiciones en el tema interior, pero seguí el estilo Beamer.
Me parece que podemos compilar nuestro documento; el resultado es:
Ok, estoy de acuerdo: los colores no son los de la imagen de referencia y el subtítulo no está perfectamente alineado con el título (esto se debe a la diferencia de tamaño de fuente), pero el nuevo tema está aquí.
Usando la respuesta de Claudio como punto de partida, desarrollé dos temas que puse a disposición aquí, uno basado en el tema de PowerPoint Median y otro basado en el tema de Powerdot KlopeSpring. Puede que haya más por venir.
Además de las técnicas que Claudio demostró, utilicé la textpos
paquete para hacer un posicionamiento absoluto del texto en la página.
Para lograr diferentes fondos de marco en páginas de sección y marcos simples, utilicé algo como
newcommandsectionframe
setbeamertemplatebackground
% draw the different background
setbeamertemplateheadline
framesectionpage
Tenga en cuenta los corchetes dobles; el par interno pone todo en un grupo y, por lo tanto, mantiene los cambios de plantilla locales.
A continuación se muestran algunas imágenes:
Si te ha sido provechoso nuestro artículo, sería de mucha ayuda si lo compartieras con más desarrolladores de esta forma contrubuyes a difundir nuestro contenido.