Ciao,
ho finalmente raggiunto un risultato soddisfacente ed invio queste
conclusioni nel caso possano essere utili a qualcuno 🙂
Problema: Costruire una presentazione in Latex basata su di un modello
esistente, in cui compaiono una figura in basso (colline) una figura in
alto (cielo) ed un logo nell’angolo in basso a sinistra, più o meno
così:
` ———————————————
| cielo |
|———————————————|
| |
| |
| |
| |
| |
| |
| |
| |
| lo |
| go |
|———————————————|
| colline |
———————————————`
Soluzione: da quello che ho letto il pacchetto più avanzato per
costruire presentazioni è beamer. Purtroppo come interfaccia grafica non
è molto flessibile, anche se i risultati sono veramente buoni. In
particolare mi sembra che sarebbe utile nella raccolta di temi uno
trasparente che permetta di piazzare in modo “parametrico” gli elementi
principali (titoli, barre di navigazione e altri campi) su di uno sfondo
predefinito.
Per i miei scopi avevo bisogno di un tema che utilizzasse per gli
elementi la headline, la footline e la sidebar di sinistra con sfondi
trasparenti. Il tema sidebar non è trasparente, quindi dovevo creare un
mix tra il tema default ed il tema outer sidebar. Quello che ho fatto è
stato di copiarmi i files beamerthemedefault.sty e
beamerouterthemesidebar.sty e rinominarli beamerthemeld.sty e
beamerouterthemeld.sty. Ho quindi creato un file presentazione.tex, nel
cui preambolo ho inserito:
`\documentclass[italian,a4paper,12pt]{beamer}
\usetheme{ld}
\setbeamercovered{transparent}`
Ho quindi definito la figura di background con:
`\setbeamertemplate{background}{\includegraphics[width=1.05\paperwidth]{background.jpg}}`
ed ho continuato inserendo i vari campi, \title, \author, date etc.
Per utilizzare il tema outer “ld” ho editato il file
beamerthemeld.sty cambiando la linea:
`\useoutertheme{ld}`
Alla prima compilazione mi sono usciti una valanga di errori; mi sono
quindi accorto che nel file beamerouterthemeld.sty dovevo sostituire
tutti i richiami al “sidebar theme” nelle istruzioni
\defbeamertemplate… con altrettanti “ld theme”.
La compilazione è quindi arrivata a buon fine, peccato che in alto a
sinistra, nella posizione dove doveva comparire il logo, c’era un
quadrato bianco. Dopo una serie di prove ho capito
che per eliminare il quadrato dovevo commentare nel file
beamerouterthemeld.sty la riga:
`% \vrule width\beamer@sidebarwidth height \beamer@headheight%`
nella dichiarazione della headline. Non sò se è la soluzione più
elegante ma raggiunge lo scopo 😉
A questo punto mi rimaneva solo un’altro problemino estetico: il tema
sidebar mette il titolo e l’autore nella sidebar, in quanto pensa di
averla tutta a disposizione. nel mio caso è invece parzialmente occupata
dalle colline e dal logo, quindi mi sarebbe stato conveniente trasferire
titolo ed autore nella striscia in basso. Da beamerouterthemeld.sty
ho quindi eliminato le righe che facevano riferimento al titolo e
all’autore, cioè:
` {
\beamer@tempdim=\beamer@sidebarwidth%
\advance\beamer@tempdim by -6pt%
{\usebeamerfont{title in sidebar}%
\vskip1.5em%
\hskip3pt%
\usebeamercolor[fg]{title in sidebar}%
\insertshorttitle[width=\beamer@tempdim,center,respectlinebreaks]\par%
\vskip1.25em%
}%
{%
\hskip3pt%
\usebeamercolor[fg]{author in sidebar}%
\usebeamerfont{author in sidebar}%
\insertshortauthor[width=\beamer@tempdim,center,respectlinebreaks]\par%
\vskip1.25em%
}%`
ed al termine del file ho inserito le righe che in
beamerouterthemeinfolines.sty inseriscono la footline, cioè:
`\defbeamertemplate*{footline}{ld theme}
{
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
\usebeamerfont{author in head/foot}\insertshortauthor
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
\usebeamerfont{title in head/foot}\insertshorttitle
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
\usebeamerfont{date in head/foot}\insertshortdate{}~ ~
\end{beamercolorbox}}%
\vskip0pt%
}`
(sono già parzialmente modificate con l’eliminazione dei numeri di pagina e
dell’istituto) In questo modo il tema è completo, aggiungo solo due finezze estetiche:
– Inserisco una faccina prima del titolo delle pagine inserendo le righe:
`\pgfdeclaremask{indexmask}{indexmask}
\pgfdeclareimage[mask=indexmask,height=.5cm]{index}{title}
\pgfuseimage{index}~`
prima dell’”\insertframetitle” in beamerouterthemeld.sty.
– Inserisco una pallina alle voci dell’indice aggiungendo al preambolo del mio
presentazione.tex:
`\setbeamertemplate{sections/subsections in toc}[ball unnumbered]`
Il risultato mi ripaga delle ore impegnate 8)
Ciao
Jimmi