1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
|
% vim:sts=2:sw=2:tw=70
\documentclass[a4paper,10pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage[italian]{babel}
\usepackage[color]{guit}
\usepackage{hyperref,indentfirst,fancyvrb,cclicenses,pifont,booktabs,breakurl,graphicx}
\graphicspath{{img/}}
\hypersetup{colorlinks=true,urlcolor=blue}
\newcommand{\email}[1]{\href{mailto:#1}{\ttfamily #1}}
\newcommand{\lcap}{{\fontencoding{T1}\selectfont\guillemotleft}}
\newcommand{\rcap}{{\fontencoding{T1}\selectfont\guillemotright}}
\newcommand{\Cap}[1]{\lcap #1\rcap}
\newcommand{\bs}{{\char'134}}% Backslash
\newcommand{\lb}{{\char'173}}% Left brackets -> {
\newcommand{\rb}{{\char'175}}% Right brackets -> }
\newcommand{\ls}{{\char'133}}% Left brackets -> [
\newcommand{\rs}{{\char'135}}% Right brackets -> ]
\newcommand{\pkg}[1]{\textsf{#1}}
\let\cls\pkg
\newcommand{\env}[1]{\texttt{#1}}
\newcommand{\cmd}[1]{\texttt{\bs #1}}
\newcommand{\cmdarg}[2]{\texttt{\bs #1\lb #2\rb}}
\title{La classe per presentazioni \pkg{guitbeamer}}
\author{{\LARGE\GuIT} --- \GuITtext\thanks{\cls{guitbeamer} \`e stata
scritta da Emiliano Giovanni Vavassori
(\email{testina@sssup.it}). Si veda
la sezione \ref{sec:acknow}.}}
\date{Versione 0.4 --- 11 agosto 2006}
\begin{document}
\maketitle
\begin{abstract}
Viene qui presentata l'interfaccia dei comandi della classe
\cls{guitbeamer}, scritta appositamente per rendere più semplice la
produzione di diapositive per lezioni di \LaTeX. La classe si basa
sulla ben più conosciuta classe \cls{beamer}.
\end{abstract}
\tableofcontents
\newpage
\section*{Note di \textit{copyright}}
La classe \cls{guitbeamer} è rilasciata sotto licenza
$\!$\cc$\!\!\!\!$ Creative Commons 2.5\footnote{Il testo completo
della licenza è disponibile, in inglese, alla pagina
\url{http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode}.}.
\noindent\emph{Tu sei libero di:}
\begin{dinglist}{227}
\item di riprodurre, distribuire, comunicare al pubblico, esporre
in pubblico, rappresentare, eseguire e recitare quest'opera;
\item di modificare quest'opera.
\end{dinglist}
\noindent\emph{Alle seguenti condizioni:}
\begin{description}
\item[\ccby Attribuzione]Devi attribuire la paternità dell'opera
nei modi indicati dall'autore o da chi ti ha dato l'opera in
licenza.
\item[\ccnc Non commerciale]Non puoi usare
quest'opera per fini commerciali.
\item[\ \ccsa\ \ $\!\!$Condividi allo stesso modo]Se alteri o
trasformi quest'opera, o se la usi per crearne un'altra, puoi
distribuire l'opera risultante solo con una licenza identica a
questa.
\end{description}
\begin{dinglist}{52}
\item Ogni volta che usi o distribuisci quest'opera, devi farlo
secondo i termini di questa licenza, che va comunicata con
chiarezza.
\item In ogni caso, puoi concordare col titolare dei diritti
d'autore utilizzi di quest'opera non consentiti da questa
licenza.
\end{dinglist}
\section{Introduzione}
L'utilizzo delle diapositive (o, in inglese, \textit{slides}) in
ambiente didattico risulta essere uno strumento fondamentale per
catturare l'attenzione del discente; tale attenzione viene infatti
aumentata con l'utilizzo di particolari effetti grafici e/o colori.
\`E tuttavia necessario far attenzione a non abusare di questi
espedienti grafici per evitare di ottenere l'effetto diametralmente
opposto: tipicamente, l'attenzione dell'auditorio verrebbe
completamente assorbita dagli effetti grafici e sviata dall'oggetto
della presentazione su qualcosa di molto più frivolo.
Questo è un rischio che può correre anche il docente che \Cap{perde
energie} per sviluppare una presentazione visivamente molto efficace
ma con contenuti di qualità sicuramente inferiore.
\cls{beamer} viene incontro alle persone che si trovano a dover
presentare, spiegare, approfondire un argomento, permettendo loro di
evitare questi problemi e focalizzando l'attenzione sui contenuti
della presentazione, in pieno accordo con la filosofia di \LaTeX.
La classe \cls{guitbeamer} aggiunge alla potenza di \cls{beamer} una
interfaccia di comandi semplificata e ottimizzata per la presentazione
di argomenti correlati a \LaTeX, oltre che una serie di impostazioni
grafiche studiate \emph{ad hoc}. Per ottenere tale risultato, sono
stati posti i seguenti obiettivi:
\begin{itemize}
\item Razionalizzare i sorgenti delle \emph{slides}, così da evitare
che l'occhio di chi presenta si perda nel codice piuttosto che sul
contenuto;
\item Omogeneizzare il \textit{layout} delle singole \emph{slide}
all'interno di una stessa presentazione, per evitare, ad esempio,
che una classe venga \Cap{nominata} una volta con un carattere
\textit{sans-serif} e una volta con carattere \textit{typewriter}.
\end{itemize}
La classe \cls{guitbeamer} è stata utilizzata successivamente per le
\Cap{Lezioni di \LaTeX} del \GuIT\ \cite{lez-latex05}.
\section{Compatibilità e apparenza}
\cls{guitbeamer} non è un lavoro a se stante (ovviamente), ma è stata
realizzata come \textit{collage} di stili predefiniti e di pacchetti
caricati. Indichiamo in questa sezione le dipendenze della classe da
eventuali altri pacchetti.
\subsection{Pacchetti caricati}
La classe \cls{guitbeamer} carica automaticamente la classe
\cls{beamer} per le presentazioni e restituisce un errore se essa non
è per lo meno alla versione 3.05 (data di rilascio: 12/06/2005); il
codice utilizzato nella classe è specifico ed utilizza istruzioni che
sono rese disponibili solamente a partire da quella versione.
Gli altri pacchetti caricati, le opzioni specifiche utilizzate e
l'eventuale richiesta di un numero di versione specifico sono tutte
indicate in tabella~\ref{pacchetti}.
\begin{table}[b]\centering
\caption{Pacchetti caricati nella classe \cls{guitbeamer}, relative
versioni richieste e opzioni utilizzate.}\label{pacchetti}
\medskip
\begin{tabular}{l c l}
\toprule
\emph{Nome pacchetto} & \emph{Vers. (Data di rilascio)} &
\emph{Opzioni utilizzate}\\
\midrule
\texttt{xcolor} & & \texttt{svgnames}\\
\texttt{graphicx} & &\\
\texttt{hyperref} & & \texttt{colorlinks=false}\\
\texttt{guit} & $\ge\,0.9$ (24/05/2006)& \texttt{color}\\
\bottomrule
\end{tabular}
\end{table}
Va da sé che le dipendenze dei pacchetti utilizzati devono essere, a
loro volta, contemplate ed esaudite.
\subsection{Layout e grafica della presentazione}
La classe utilizza il tema \Cap{Warsaw}, ne modifica il colore di
struttura con quello ufficiale di \GuIT, carica l'\textit{outertheme}
\Cap{split}, ridefinisce la \textit{footline}, imposta automaticamente
l'istituzione di riferimento e, infine, carica i font serif solamente
per la matematica. Se vi è sfuggito qualcosa di quanto appena esposto,
vi consigliamo di dare una sbirciatina al manuale di \cls{beamer}
\cite{manbeamer} oppure, a vostra discrezione, utilizzare la
classe e guardarne l'output \texttt{:)}
\section{Interfaccia utente}
All'interno della didattica legata a \LaTeX, il docente deve
relazionare al pubblico non solo dell'utilizzo di un programma, ma
anche alcune nozioni fondamentali all'intero della filosofia propria
di \LaTeX; sono state studiate pertanto alcune macro per facilitare
questo compito al relatore, fornendo un \textit{feedback} visuale alla
spiegazione orale del docente.
Di seguito verranno descritti i comandi che sono introdotti dalla
classe e come è possibile utilizzarli.
\subsection{Scrivere pacchetti, classi, ambienti}
La classe rende disponibile alcuni comandi per evidenziare concetti
particolari all'interno di \LaTeX:
\begin{description}
\item[\cmd{Lopt}]serve per evidenziare le opzioni che
possono essere specificate ad una classe;
\item[\cmd{Lsty}]è necessario per scrivere il nome di
pacchetti;
\item[\cmd{Lcls}]evidenzia invece il nome delle classi;
\item[\cmd{Lenv}]scrive il nome dell'ambiente che è
necessario citare.
\end{description}
Essi richiedono tutti un argomento obbligatorio, che rappresenta per
l'appunto il nome dell'oggetto particolare da nominare.
\subsection{Evidenziare}
Una nota importante, prima di specificare i cambiamenti
all'evidenziazione attuati nella classe. Esistono molti modi per
evidenziare una parte di testo: fra tutti i modi che si possono
scegliere, cambiare il colore del testo è quello, a nostro avviso, più
\Cap{distruttivo} e fastidioso, anche se è al contempo quello più
efficace. In \cls{guitbeamer} si fa già ricorso a parecchi colori,
quindi valutate caso per caso se non convenga evidenziare con
\verb+\emph+ oppure con \verb+\textbf+. Si ritiene preferibile
utilizzare il grassetto nelle presentazioni che mutare il colore del
testo, principalmente per due motivazioni:
\begin{itemize}
\item il principale motivo per cui non si usa normalmente il
grassetto all'interno di un normale documento è perché \Cap{rompe
il colore del corpo del testo}. Tipicamente in una presentazione
si tende, per motivi di concisione, a scrivere brevi frasi e
pertanto non esiste un vero e proprio corpo del testo, inteso con
i canoni applicati ai documenti normali; è pertanto possibile e
non deleterio utilizzare il grassetto;
\item il grassetto è spesso utilizzato nel Web, che risulta essere
una delle applicazioni che più si avvicinano ad una presentazione
elettronica.
\end{itemize}
Passando dalla teoria alla pratica, il comando \cmd{alert} di
\cls{beamer} è stato ridefinito perché sia di colore blu; esso è stato
preferito al colore rosso perché meno appariscente ma altrettanto
d'effetto. Se necessario, è possibile ricorrere al nuovo comando
\cmd{aalert} che invece evidenzia il suo argomento in rosso,
esattamente come fa \verb+\alert+ di \cls{beamer}.
\subsection{Caratteri speciali}\label{sec:sp_char}
Alcuni comandi della classe richiedono che qualche carattere speciale
sia scritto in maniera un po' particolare: è il caso di
tutti i comandi che seguiranno. In essi, sarà possibile (e in alcuni
casi, necessario) indicare i caratteri speciali di \LaTeX\
\texttt{\bs}, \texttt{\lb} e \texttt{\rb} come \verb+\\+, \verb+\{+ e
\verb+\}+. L'eccezione è rappresentata da \verb+[+ e \verb+]+, che
possono essere lasciate indicate normalmente o, nel caso non
funzionino, sostituite dai meno diretti \verb+\ls+,
\textit{left square (parenthesis)} e \verb+\rs+, \textit{right square
(parenthesis)}. \`E stata scelta questa soluzione sia per ovviare ad un
piccolo problema di natura estetica, sia perché necessario per alcuni
comandi.
\subsection{Comandi per gli esempi}
\subsubsection{Mostrare codice \LaTeX}
Parlando di \LaTeX\ a qualunque livello, si finirà inevitabilmente,
prima o poi, con il parlare di codice sorgente. \cls{guitbeamer}
prevede un ambiente appositamente studiato per mostrare codice,
\env{LaTeXcode}; esso è derivato da \env{semiverbatim} di \cls{beamer}
e si consiglia pertanto di rileggere la documentazione di questo
ambiente \cite{manbeamer} per capirne l'esatto funzionamento.
In questo ambiente è \emph{necessario} utilizzare quei simboli
speciali definiti in \S~\ref{sec:sp_char}, quando si voglia
\Cap{mostrare} tali caratteri speciali.
Altri comandi sono disponibili solo ed esclusivamente all'interno di
questo ambiente:
\begin{description}
\item[\cmd{n}]Che rappresenta una singola interruzione di
riga (\emph{a capo});
\item[\cmd{nn}]Che rappresenta una interruzione di riga
doppia (quindi, una riga vuota);
\item[\cmd{alert}]Per evidenziare parte del contenuto.
Necessita di un argomento obbligatorio, costituito dal testo
da evidenziare.
\end{description}
\`E inoltre possibile specificare un titolo e un \textit{overlay} per
l'ambiente \env{LaTeXcode} nello stesso modo in cui si fa con
\cls{beamer}. Si veda, a tale scopo, il seguente esempio:
\begin{Verbatim}[gobble=0]
\begin{LaTeXcode}[Titolo del blocco]<3->
ci metto un po' quello che voglio\\dots\n
e \alert{apparir\\`a} correttamente\nn
ciao a tutti
\end{LaTeXcode}
\end{Verbatim}
\subsubsection{Mostrare l'output di \LaTeX}
Dopo aver spiegato il codice, è d'uopo mostrare il suo risultato:
anche per questo fine è stato predisposto un ambiente,
\env{LaTeXoutput}. In questo caso, la sintassi è quella normale di
\LaTeX\ e non è richiesta nessuna particolare sintassi nella
composizione della parte, se si fa eccezione per:
\begin{description}
\item[\cmd{noindent}]toglie il rientro (che è stato impostato di
\textit{default} dalla classe);
\item[\cmd{fakeind}]serve per inserire una falsa indentazione e va
usato a mano solo nei casi in cui non si ottiene l'indentazione
necessaria.
\end{description}
Come il suo gemello per il codice, può anch'esso essere fornito di
titolo e di specificazioni di \emph{overlay}, come mostrato
nell'esempio:
\begin{Verbatim}
\begin{LaTeXoutput}[Titolo del blocco (output)]<4->
ci metto un po' quello che voglio\dots e apparir\`a correttamente
ciao a tutti
\end{LaTeXoutput}
\end{Verbatim}
\subsubsection{Comandi \LaTeX\ nel corpo del testo}
Sono state definite due macro, \cmd{LCmd} e \cmd{LCmdArg}, che
permettono di evidenziare il codice all'interno del testo. Queste due
macro sono comode quando si voglia, ad esempio, citare un comando
(\verb+\listfiles+) e si voglia evidenziare l'argomento di un comando
(\verb+\vspace{5em}+), rispettivamente.
La sintassi di \cmd{LCmd} prevede un argomento opzionale e uno
obbligatorio. L'argomento opzionale (e quindi racchiuso fra le
parentesi quadre \verb+[ ]+) è il carattere di \emph{inizio comando} o
\textit{escape}, che di \textit{default} è settato a \verb+\+.
L'argomento obbligatorio risulta invece essere il nome del comando che
si vuole mostrare. Il comando \verb+\LCmd+ può inoltre essere inserito
in un titolo di \textit{slide}: in tal caso perde il suo colore
normale (blu scuro).
Facendo alcuni esempi, possiamo dire che \verb+\LCmd[]{pippo}+
produce, nell'output, qualcosa di simile a \texttt{pippo}. \`E
possibile, inoltre, scrivere un comando fornito di argomenti senza
evidenziarli, utilizzando i caratteri speciali illustrati in
\S~\ref{sec:sp_char} e potendo così scrivere
\verb+\LCmd{documentclass[a4paper]\{article\}}+, che dà luogo a
qualcosa di simile a \verb+\documentclass[a4paper]{article}+.
Il comando \verb+\LCmdArg+ invece non è utilizzabile nei titoli,
prevede solamente due argomenti obbligatori ed è
necessario per evidenziare l'argomento di un comando; ad esempio, per
citare il caso precedente, si può utilizzare:\\[.5em]
\verb+\LCmdArg{documentclass[a4paper]}{article}+\\[.5em] ed
evidenziare così la classe del documento.
In entrambi i casi, ricordiamo nuovamente che possono essere
utilizzati i caratteri di cui alla sezione \S~\ref{sec:sp_char}.
\newpage
\section{Esempi di \textit{slides}}
In questa piccolissima sezione, analizzeremo alcune slides e il loro
output, giusto per dare un'idea al lettore di come possano essere
utilizzati i comandi della classe.
\subsection*{Esempio 1}\label{ex1}
\begin{Verbatim}[gobble=2]
\begin{frame}
\frametitle{Scrivere i loghi}
Ecco come si scrivono i loghi:
\begin{LaTeXcode}
\\TeX\n
\\LaTeX\n
\\LaTeXe
\end{LaTeXcode}
\medskip
\begin{LaTeXoutput}
\TeX\\
\LaTeX\\
\LaTeXe
\end{LaTeXoutput}
\end{frame}
\end{Verbatim}
\bigskip
\begin{center}
\fbox{\includegraphics[width=.9\textwidth]{latexsymb}}
\end{center}
\newpage
\subsection*{Esempio 2}\label{ex2}
\begin{Verbatim}[gobble=0]
\begin{frame}
\frametitle{Il modello di un documento}
\begin{LaTeXcode}
\\documentclass[\alert{<opzioni>}]\{\alert{<classe>}\}\n
\onslide<2->
\quad\alert{<preambolo>}\nn
\onslide<3->
\\begin\{document\}\n
\onslide<4->
\alert{\quad<testo del documento>}\n
\onslide<3->
\\end\{document\}
\end{LaTeXcode}
\end{frame}
\end{Verbatim}
\bigskip
\begin{center}
\fbox{\includegraphics[width=.9\textwidth]{docexem}}
\end{center}
\newpage
\subsection*{Esempio 3}\label{ex3}
\begin{Verbatim}
\begin{frame}
\frametitle{La sintassi di base}
\begin{itemize}[<+->]
\item tutti i comandi cominciano sempre con un
\LCmd\
\item spesso il comando è il nome inglese dell'azione
\item il comando ``termina'' con uno spazio bianco o con un
altro comando:
\begin{LaTeXcode}<4->
\\comando \alert{<testo>}\n
\\comando\\altrocomando
\end{LaTeXcode}
\end{itemize}
\smallskip
\begin{block}{Attenzione!}<5->
\begin{center}
\LaTeX\ è \textit{case sensitive}!\\[.5em]
bisogna pertanto stare attenti a distinguere tra\\[.3em]
\alert{\large MAIUSCOLO} e \alert{\large minuscolo}
\end{center}
\end{block}
\end{frame}
\end{Verbatim}
\bigskip
\begin{center}
\fbox{\includegraphics[width=.9\textwidth]{cmdexpl}}
\end{center}
\newpage
\subsection*{Esempio 4}\label{ex4}
\begin{Verbatim}
\begin{frame}
\frametitle{Due esempi di pacchetti}
\begin{LaTeXcode}
\\usepackage\{\alert{graphicx}\}
\end{LaTeXcode}
\Lsty{graphicx} è un pacchetto che permette di gestire l'inserimento
delle immagini, dei colori e di rotazioni
\bigskip
\onslide<2->
\begin{LaTeXcode}
\\usepackage[\alert{italian}]\{\alert{babel}\}
\end{LaTeXcode}
\Lsty{babel} permette di sillabare testi scritti in lingue diverse
dall'inglese (default), attivando la sillabazione della lingua
selezionata (in questo caso, la nostra: \LCmd[]{italian})
\end{frame}
\end{Verbatim}
\bigskip
\begin{center}
\fbox{\includegraphics[width=.9\textwidth]{pkgexem}}
\end{center}
\newpage
\subsection*{Esempio 5}\label{ex5}
\begin{Verbatim}
\begin{frame}
\frametitle{Le classi base di \LaTeX}
\begin{LaTeXcode}
\\documentclass[<opzioni>]\{\alert{<classe>}\}
\end{LaTeXcode}
\begin{itemize}
\item\Lcls{article}
\item\Lcls{report}
\item\Lcls{book}
\item\Lcls{letter}
\item\Lcls{slides}
\item\dots
\item\Lcls{beamer}
\item\dots
\end{itemize}
\end{frame}
\end{Verbatim}
\bigskip
\begin{center}
\fbox{\includegraphics[width=.9\textwidth]{clsexpl}}
\end{center}
\newpage
\section{Ringraziamenti}\label{sec:acknow}
Si ringraziano Maurizio Himmelmann e Fabiano Busdraghi che hanno fatto
proposte e richieste precise in merito alla classe (alcune tutt'ora
insolute, ad onor del vero) e sono stati veri e propri
\textit{beta-testers} della classe.
Un sentito ringraziamento a Emanuele Vicentini, sempre prezioso e
disponibile sia sul lato \TeX nico che su quello personale. Emanuele,
ricorda che tutto ciò che hai dato ti sarà restituito 100 volte
\texttt{:)}
\section{\textit{Disclaimer}, \textit{feedback} e \textit{bug
reports}}\label{sec:fb&b}
La presente classe non è stata scritta da un programmatore \LaTeX\
professionista ed è pertanto da considerarsi soggetta a
\textit{bugs}. Si invitano le persone che abbiano utilizzato questa
classe a far pervenire all'autore, per mezzo della casella di posta
elettronica \href{mailto:guit@sssup.it?subject=[guitbeamer]
Feedback}{\texttt{guit@sssup.it}} eventuali richieste, commenti e
segnalazioni di problemi su \cls{guitbeamer}, aggiungendo all'inizio
del soggetto della mail la stringa ``\verb+[guitbeamer]+''.
\vfill
\bibliographystyle{plain}
\begin{thebibliography}{99}
\bibitem{lez-latex05} Maurizio W.~Himmelmann, Emiliano G.~Vavassori,
Fabiano Busdraghi; \newblock\emph{Introduzione al mondo di \LaTeX\ ---\
Guida al corso}, \newblock 2006, \GuITtext, Pisa.
\bibitem{manbeamer} Till Tantau; \newblock\emph{The \cls{beamer}
class}, manuale della classe, \newblock 2005.
\end{thebibliography}
\end{document}
|