diff options
author | Karl Berry <karl@freefriends.org> | 2008-03-09 23:54:46 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-03-09 23:54:46 +0000 |
commit | e9acecd26a5f34cb57034a799f40213888ef2743 (patch) | |
tree | 7a23fa264a910a4899cbd2de58aed8f75195071b /Master/texmf-dist | |
parent | f5e10f0c47d60f6be3556610e27e74ed8f15738a (diff) |
new italian package frontespizio
git-svn-id: svn://tug.org/texlive/trunk@6919 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/frontespizio/README | 69 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/frontespizio/examplea.tex | 38 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/frontespizio/exampleb.tex | 41 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/frontespizio/examplec.tex | 42 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/frontespizio/frontespizio.pdf | bin | 0 -> 270580 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/frontespizio/makedoc.sh | 14 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/frontespizio/frontespizio.dtx | 1711 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/frontespizio/frontespizio.ins | 63 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/frontespizio/frontespizio.sty | 440 |
9 files changed, 2418 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/frontespizio/README b/Master/texmf-dist/doc/latex/frontespizio/README new file mode 100644 index 00000000000..f374b743f3a --- /dev/null +++ b/Master/texmf-dist/doc/latex/frontespizio/README @@ -0,0 +1,69 @@ +The frontespizio package lets you typeset a frontispiece (suitable for +Italian university style) independently of the page layout of the main +document. + +This is version 1.0 of the package + + Copyright 2008 Enrico Gregorio + + This program is provided under the terms of the + LaTeX Project Public License distributed from CTAN + archives in directory macros/latex/base/lppl.txt. + + Author: Enrico Gregorio + Enrico dot Gregorio at univr dot it + + This work has the LPPL maintenance status "author-maintained". + + This work consists of the following files: + +README (this file) +frontespizio.dtx +frontespizio.ins +frontespizio.pdf + + and of the derived files + +frontespizio.sty +examplea.tex +exampleb.tex +examplec.tex +makedoc.sh + +To install the distribution: + +o run "latex frontespizio.ins" +o run "{|pdf|xe}latex example{a,b,c}.tex" for a test +o run "{|pdf|xe}latex example{a,b,c}-frn.tex" for a test +o run "{|pdf|xe}latex example{a,b,c}.tex" for a test +o after the tests, you should have correct dvi or pdf + example files (choose either latex, pdflatex or xelatex + and compile each of the three examples) +o move "frontespizio.sty" to locations where LaTeX will find + it (the FAQ on CTAN in /help/uktug-FAQ gives more + information about this magic place) + +To reproduce the complete documentation, follow these steps + +$ pdflatex examplea.tex +$ pdflatex examplea-frn.tex +$ pdflatex exampleb.tex +$ pdflatex exampleb-frn.tex +$ pdflatex examplec.tex +$ pdflatex examplec-frn.tex +$ pdflatex frontespizio.dtx +$ pdflatex frontespizio-frn.dtx +$ makeindex -s gind frontespizio +$ makeindex -s gglo -o frontespizio.gls frontespizio.glo +$ pdflatex frontespizio.dtx +$ pdflatex frontespizio.dtx + +from a shell (or in the preferred method for you system), +where "pdflatex" can be also "xelatex", and the `$' stands +for the shell's prompt; you can also use, on Unix systems, +the automated script makedoc.sh by + +sh makedoc.sh + +2008/03/04 +Enrico Gregorio diff --git a/Master/texmf-dist/doc/latex/frontespizio/examplea.tex b/Master/texmf-dist/doc/latex/frontespizio/examplea.tex new file mode 100644 index 00000000000..f918909683e --- /dev/null +++ b/Master/texmf-dist/doc/latex/frontespizio/examplea.tex @@ -0,0 +1,38 @@ +%% +%% This is file `examplea.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% frontespizio.dtx (with options: `examplea') +%% +%% Copyright 2008 Enrico Gregorio +%% +%% This program is provided under the terms of the +%% LaTeX Project Public License distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt. +%% +%% Author: Enrico Gregorio +%% Enrico dot Gregorio at univr dot it +%% +%% This work has the LPPL maintenance status "author-maintained". +%% +\documentclass[a4paper,titlepage]{book} +\usepackage{frontespizio} + +\begin{document} +\begin{frontespizio} +\Universita{Padova} +\Facolta{Scienze Matematiche, Fisiche e Naturali} +\Corso[Laurea]{Matematica} +\Titoletto{Tesi di laurea} +\Titolo{Equivalenze fra categorie di moduli\\ +e applicazioni} +\Candidato[145822]{Enrico Gregorio} +\Relatore{Ch.mo Prof.~Adalberto Orsatti} +\Annoaccademico{19??-19??} +\end{frontespizio} +\end{document} +\endinput +%% +%% End of file `examplea.tex'. diff --git a/Master/texmf-dist/doc/latex/frontespizio/exampleb.tex b/Master/texmf-dist/doc/latex/frontespizio/exampleb.tex new file mode 100644 index 00000000000..0be7d09c3fb --- /dev/null +++ b/Master/texmf-dist/doc/latex/frontespizio/exampleb.tex @@ -0,0 +1,41 @@ +%% +%% This is file `exampleb.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% frontespizio.dtx (with options: `exampleb') +%% +%% Copyright 2008 Enrico Gregorio +%% +%% This program is provided under the terms of the +%% LaTeX Project Public License distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt. +%% +%% Author: Enrico Gregorio +%% Enrico dot Gregorio at univr dot it +%% +%% This work has the LPPL maintenance status "author-maintained". +%% +\documentclass[a4paper,titlepage]{book} +\usepackage[sans]{frontespizio} + +\begin{document} +\begin{frontespizio} +\Universita{Padova} +\Facolta{Scienze Matematiche, Fisiche e Naturali} +\Corso[Laurea]{Matematica} +\Titoletto{Tesi di laurea} +\Titolo{Equivalenze fra categorie di moduli\\ +e applicazioni} +\Candidato{Enrico Gregorio} +\Relatore{Ch.mo Prof.~Adalberto Orsatti} +\Annoaccademico{19??-19??} +\Rientro{1.5cm} +\NCandidato{Laureando} +\Punteggiatura{} +\end{frontespizio} +\end{document} +\endinput +%% +%% End of file `exampleb.tex'. diff --git a/Master/texmf-dist/doc/latex/frontespizio/examplec.tex b/Master/texmf-dist/doc/latex/frontespizio/examplec.tex new file mode 100644 index 00000000000..f4443a89314 --- /dev/null +++ b/Master/texmf-dist/doc/latex/frontespizio/examplec.tex @@ -0,0 +1,42 @@ +%% +%% This is file `examplec.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% frontespizio.dtx (with options: `examplec') +%% +%% Copyright 2008 Enrico Gregorio +%% +%% This program is provided under the terms of the +%% LaTeX Project Public License distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt. +%% +%% Author: Enrico Gregorio +%% Enrico dot Gregorio at univr dot it +%% +%% This work has the LPPL maintenance status "author-maintained". +%% +\documentclass[a4paper,titlepage]{book} +\usepackage{frontespizio} + +\begin{document} +\begin{frontespizio} +\Package{\usepackage{fourier}} +\Universita{Bologna} +\Dipartimento{Matematica} +\Corso[Dottorato di Ricerca]{Matematica} +\Titolo{Equivalenza di Morita generalizzata\\ +e applicazioni alla teoria degli\\ +anelli compatti} +\Candidato{Enrico Gregorio} +\Relatore{Ch.mo Prof.~Ermanno Lanconelli} +\NRelatore{Coordinatore}{} +\Correlatore{Ch.mo Prof.~Adalberto Orsatti} +\NCorrelatore{Supervisore della ricerca}{} +\Annoaccademico{19??-19??} +\end{frontespizio} +\end{document} +\endinput +%% +%% End of file `examplec.tex'. diff --git a/Master/texmf-dist/doc/latex/frontespizio/frontespizio.pdf b/Master/texmf-dist/doc/latex/frontespizio/frontespizio.pdf Binary files differnew file mode 100644 index 00000000000..0c5b2bd2e47 --- /dev/null +++ b/Master/texmf-dist/doc/latex/frontespizio/frontespizio.pdf diff --git a/Master/texmf-dist/doc/latex/frontespizio/makedoc.sh b/Master/texmf-dist/doc/latex/frontespizio/makedoc.sh new file mode 100644 index 00000000000..0c59680731f --- /dev/null +++ b/Master/texmf-dist/doc/latex/frontespizio/makedoc.sh @@ -0,0 +1,14 @@ +#!/bin/sh +pdflatex examplea.tex +pdflatex examplea-frn.tex +pdflatex exampleb.tex +pdflatex exampleb-frn.tex +pdflatex examplec.tex +pdflatex examplec-frn.tex +pdflatex frontespizio.dtx +pdflatex frontespizio-frn.tex +makeindex -s gind frontespizio +makeindex -s gglo -o frontespizio.gls frontespizio.glo +pdflatex frontespizio.dtx +pdflatex frontespizio.dtx +exit diff --git a/Master/texmf-dist/source/latex/frontespizio/frontespizio.dtx b/Master/texmf-dist/source/latex/frontespizio/frontespizio.dtx new file mode 100644 index 00000000000..5e75faa1e8f --- /dev/null +++ b/Master/texmf-dist/source/latex/frontespizio/frontespizio.dtx @@ -0,0 +1,1711 @@ +% \iffalse meta-comment +% +% Copyright (C) 2008 by Enrico Gregorio +% <Enrico dot Gregorio at univr dot it> +% ------------------------------------------------------- +% +% This file may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, either version 1.2 of this license +% or (at your option) any later version. The latest version of this +% license is in: +% +% http://www.latex-project.org/lppl.txt +% +% and version 1.2 or later is part of all distributions of LaTeX +% version 1999/12/01 or later. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{frontespizio.dtx} +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%<package>\ProvidesPackage{frontespizio} +%<*package> + [2008/03/04 1.0 (Enrico Gregorio)] +%</package> +%<*driver> +\PassOptionsToClass{a4paper}{article} % we need a4paper +\documentclass{ltxdoc} +\usepackage[english,italian]{babel} +\usepackage{graphicx,array,booktabs} +\usepackage{frontespizio} + +\newcommand{\pack}{\textsf} +\newcommand{\env}{\texttt} +\newcommand{\file}{\texttt} +\newcommand{\cmdname}[1]{\texttt{\char`\\#1}} +\newcommand{\opt}[1]{``\texttt{#1}''} +\newcommand{\frontcommand}[3][f]{% + \subsection*{\cmdname{#2}#3% + \ifx#1o% + ~(*)% + \else + \ifx#1s% + ~(\textdagger)% + \fi\fi}% +} +\newcommand{\0}[1]{\ttchar[\meta{#1}\ttchar]} +\newcommand{\1}[1]{\ttchar\{\meta{#1}\ttchar\}} +\renewcommand{\meta}[1]{$\langle$\textit{\mdseries #1}$\rangle$} +\newcommand{\ttchar}[1]{{\ttfamily\char`#1}} +\newcommand{\frontoption}[1]{\subsection*{\texttt{#1}}} +\newcommand{\includeex}[1]{\par\vfill\begin{center} + \setlength{\fboxsep}{0pt}\fbox{\includegraphics[scale=.3]{#1}} +\end{center}} + +\DeclareRobustCommand\Xe{% + \leavevmode X\lower0.5ex + \hbox{\kern-0.15em\reflectbox{E}}\kern-0.15em} + +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{frontespizio.dtx} +\end{document} +%</driver> +% \fi +% +% \CheckSum{937} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \changes{v1.0}{2008/03/04}{First public release} +% \GetFileInfo{frontespizio.dtx} +% +% \DoNotIndex{\newcommand,\newenvironment,\def,\begin,\vskip} +% \DoNotIndex{\DeclareOption,\ExecuteOptions,\RequirePackage} +% \DoNotIndex{\@@end,\@empty,\@ifclassloaded,\@nameuse,\@nil} +% \DoNotIndex{\@undefined,\\,\`,\addtocounter,\advance,\bfseries} +% \DoNotIndex{\centering,\closeout,\define@key,\documentclass} +% \DoNotIndex{\edef,\else,\end,\endinput,\endtitlepage,\expandafter} +% \DoNotIndex{\extracolsep,\fi,\fill,\fontsize,\g@addto@macro} +% \DoNotIndex{\hrule,\hspace,\if,\if@twoside,\ifcase,\ifdefined} +% \DoNotIndex{\iffalse,\IfFileExists,\ifnum,\ifx,\immediate} +% \DoNotIndex{\jobname,\let,\long,\MakeUppercase,\MessageBreak} +% \DoNotIndex{\newcount,\newif,\newpage,\newtoks,\newwrite,\next} +% \DoNotIndex{\noexpand,\nofiles,\normalfont,\normalsize,\null} +% \DoNotIndex{\openout,\or,\Package,\PackageError,\PackageWarning} +% \DoNotIndex{\PackageWarningNoLine,\paperheight,\paperwidth,\par} +% \DoNotIndex{\parbox,\parindent,\relax,\scshape,\selectfont,\setkeys} +% \DoNotIndex{\sffamily,\space,\stretch,\string,\textheight,\textwidth} +% \DoNotIndex{\the,\thispagestyle,\unexpanded,\unless,\unskip,\upshape} +% \DoNotIndex{\usepackage,\vbox,\vfill,\vspace,\write,\z@} +% \DoNotIndex{\CurrentOption,\AtEndDocument,\@ne,\c@page,\m@ne} +% +% \begin{frontespizio} +% \Universita{Pietrascambio} +% \Facolta{Scienze Matematiche, Fisiche e Naturali} +% \Corso[Laurea]{Tipografia elettronica} +% \Titoletto{Tesi di perfezionamento} +% \Titolo{Come comporre un frontespizio\\ +% e vivere felici} +% \Rientro{2cm} +% \NCandidato{Autore} +% \Candidato{Enrico Gregorio} +% \Relatore{Ch.mo Prof.\ Basilio Nodari} +% \Correlatore{Dott.\ R. J. Drofnats} +% \Annoaccademico{2007-2008} +% \end{frontespizio} +% +% +% \title{Il pacchetto \textsf{frontespizio}\thanks{Questa +% documentazione corrisponde alla versione~\fileversion{} +% del~\filedate}} +% \author{Enrico Gregorio \\ +% \texttt{Enrico dot Gregorio at univr dot it}} +% \date{\filedate} +% \maketitle +% +% \begin{otherlanguage*}{english} +% \section*{Introduction in English} +% +% This package is meant for Italian users who want to print a +% frontispiece to their thesis, be it for graduation or for their +% Ph.D\@. +% +% It's usually difficult to get a first page which has very different +% layout than the internal pages; use of the \pack{chngpage} package +% is cumbersome for this purpose and it's difficult to adapt the +% settings to all classes. I tried an approach with this package, but +% it was difficult to maintain and extend. +% +% The idea of this package is similar to that of \pack{pdfpages}: we +% produce a page and include it as a graphic object. The difference +% from \pack{pdfpages} is that the markup necessary to define the +% elements of the frontispiece is given in the user's document. +% +% Since traditions for frontispieces are different in the various +% countries, I decided to prepare this package with Italian customs in +% mind. Therefore the structure of the frontispiece is somewhat rigid +% and might not be apt to be used abroad. Consequently, I decided to +% write the documentation in Italian and on \textsc{a}4 paper, but the +% comments to the code will be in English. +% \end{otherlanguage*} +% +% \section{Introduzione} +% +% Molti, scrivendo la propria tesi di laurea o di dottorato, hanno il +% problema di produrre un frontespizio adeguato che sia ben centrato +% sulla prima pagina. Questo \`e piuttosto difficile, anche usando +% l'ambiente \env{titlepage} che eredita il formato di pagina imposto +% dalla classe o modificato dall'utente con \pack{geometry}. +% +% Come si vede, il frontespizio di questo documento \`e del tutto +% indipendente dai parametri di impaginazione successivi. Ovviamente il +% nome dell'universit\`a e quello del relatore sono di fantasia. O no? +% +% Una prima soluzione che impiegava il pacchetto \pack{chngpage} aveva +% vari difetti, pur se funzionava con le classi standard. +% +% Questo nuovo pacchetto cerca di risolvere la questione producendo un +% documento separato che va compilato a parte e che verr\`a poi +% incluso direttamente nel documento principale senza altri +% interventi. Il vantaggio di usare questo pacchetto \`e che i +% comandi necessari per definire i vari elementi del frontespizio +% (titolo, candidato, relatore e cos\`i via) sono contenuti nello +% stesso documento. Se il documento principale si chiama +% \file{tesi.tex}, il documento da compilare sar\`a +% \file{tesi-frn.tex} e si trover\`a nella stessa cartella che +% contiene quello principale. La sequenza di comandi \`e, dunque, +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +pdflatex tesi +pdflatex tesi-frn +pdflatex tesi +\end{verbatim} +% \iffalse +%</verb> +% \fi +% e, alla fine, il frontespizio sar\`a al suo posto. Nel seguito, il +% documento che contiene i dati per comporre il frontespizio sar\`a +% chiamato \file{frn}. Nel caso si usi \file{latex} e non +% \file{pdflatex}, la sequenza di comandi \`e +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +latex tesi +latex tesi-frn +dvips -o tesi-frn.eps tesi-frn +latex tesi +\end{verbatim} +% \iffalse +%</verb> +% \fi +% Se la classe \`e chiamata con l'opzione \opt{oneside}, il frontespizio +% occupa correttamente solo la prima; nel caso di \opt{twoside}, viene +% prodotta una pagina bianca. \`E meglio con \opt{twoside}, naturalmente: +% scrivere solo fronte \`e uno spreco di carta, cos\`i come con interlinea +% maggiorata. +% +% \`E possibile usare il pacchetto anche per includere un frontespizio +% creato con altri sistemi, si veda pi\`u avanti la descrizione +% dell'opzione \opt{onlyinclude} +% +% \section{Uso} +% +% Il documento va impostato con l'opzione \opt{titlepage} e va caricato +% il pacchetto \pack{frontespizio}: per esempio +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\documentclass[a4paper,titlepage]{book} +\usepackage[italian]{babel} +\usepackage[<opzioni>]{frontespizio} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% L'opzione \opt{titlepage} \`e normalmente attiva per la classe +% \pack{book}, ma non lo \`e per la classe \pack{report}. +% +% Sono previste due opzioni principali: \opt{sans} e \opt{nowrite}. La +% prima compone il frontespizio in caratteri senza grazie, la seconda +% serve a evitare la scrittura o riscrittura del documento \file{frn}, +% ovviamente solo quando esso \`e definitivo o quando non ci interessa +% produrlo. +% +% Vediamo un tipico frontespizio. Dopo \verb|\begin{document}| vanno +% dati i comandi seguenti: +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\begin{frontespizio} +\Universita{Paperopoli} +\Logo{duck} +\Facolta{Pennutologia} +\Corso{Belle Lettere} +\Annoaccademico{2030--2031} +\Titoletto{Tesi di laurea magistrale} +\Titolo{La mia tesi:\\ una lunga serie di risultati\\ + difficilissimi e complicatissimi} +\Sottotitolo{Alcune considerazioni mutevoli} +\Candidato[PP999999]{Paperino Paolino} +\Relatore{Giovanni Episcopo} +\Relatore{Pippo Cluvio} +\Correlatore{Ugo Frogio} +\Correlatore{Ubaldo Kutuzu} +\end{frontespizio} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% +% Si possono dare quanti relatori e correlatori si vuole; basta +% scriverli uno dopo l'altro come argomenti di comandi \verb|\Relatore| +% o \verb|\Correlatore|.\footnote{Aggiungere i titoli onorifici o +% professionali, mi raccomando! Altrimenti i chiarissimi professori +% potrebbero offendersi.~\texttt{:-)}} Il correlatore \`e colui che +% collabora alla direzione del lavoro di tesi, non quello che fa le +% pulci alla tesi stessa prima dell'esame finale, propriamente +% \emph{controrelatore}, il cui nome \emph{non} va nel frontespizio. +% +% Si pu\`o anche non indicare il nome del relatore; questo pu\`o capitare +% probabilmente per le tesi di dottorato. Basta allora dare l'opzione +% \opt{noadvisor} al pacchetto. +% +% Descriveremo pi\`u avanti, in dettaglio, i vari comandi disponibili. +% Notiamo subito che l'ordine in cui sono dati \`e irrilevante. +% +% Con l'opzione \opt{onlyinclude}, nessuno dei comandi descritti pi\`u +% avanti \`e disponibile. Si pu\`o usare solo il comando +% \cmdname{includefront} che prende come argomento il nome del documento +% che contiene il frontespizio. Questo deve essere in formato +% \textsc{iso}~A4. Il comando ha anche un argomento opzionale per +% rimettere in ordine i numeri di pagina, che deve essere un numero +% piccolo (fra $0$ e $9$). +% +% Un'altra opzione \`e \opt{signatures}, che lascia fra i nomi dei +% relatori lo spazio per le loro firme. Questa opzione pu\`o essere +% aggiunta direttamente al documento~\file{frn}: il mio consiglio \`e di +% duplicarlo, aggiungere l'opzione, compilarlo e usarne la stampa solo +% per la copia da far firmare al relatore. +% +% Con l'opzione \opt{norules} si eliminano i filetti dal frontespizio +% che normalmente vengono disegnati fra il nome dell'ateneo e quello +% della facolt\`a e sopra l'indicazione dell'anno accademico. +% +% +% \section{Le opzioni} +% +% Raccolgo qui le opzioni gi\`a descritte, per un pi\`u facile riferimento. +% Quando due opzioni sono separate da~`$\mid$', la prima \`e quella +% valida normalmente. +% +% \frontoption{write${}\mid{}$nowrite}% +% Mutuamente esclusive. Con la seconda si inibisce la scrittura del +% documento~\file{frn}. +% +% \frontoption{signatures}% +% Nel campo dedicato a relatori e correlatori vengono lasciati gli spazi +% per le firme. +% +% \frontoption{noadvisor}% +% Non viene stampato il campo dedicato a relatori e correlatori. +% +% \frontoption{normal${}\mid{}$sans}% +% Mutuamente esclusive. Con la seconda si sceglie per il frontespizio +% un carattere senza grazie; questo carattere pu\`o essere determinato +% usando un comando del tipo +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Preambolo{\usepackage{helvet}} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% +% \frontoption{norules}% +% Non vengono inseriti filetti nel frontespizio; senza questa opzione +% un filetto separa il nome dell'ateneo da quello della facolt\`a e un +% altro viene disegnato sopra l'indicazione dell'anno accademico. +% +% \frontoption{onlyinclude}% +% Definisce il comando \cmdname{includefront} e disabilita l'ambiente +% \env{frontespizio}. Serve per includere un frontespizio preparato con +% altri metodi; deve essere un file grafico che sia fra quelli +% gestibili con \cmdname{includegraphics} e deve avere formato +% \textsc{iso}~A4. +% +% \frontoption{driver=$\langle\mathit{driver}\rangle$}% +% Imposta la chiamata di \pack{graphicx} nel documento~\file{frn} per +% l'uso di un driver diverso da \texttt{dvips} o \texttt{pdftex}, per +% esempio \verb|driver=dvipdfm| oppure \verb|driver=textures|. +% +% \bigskip +% +% \emph{Attenzione}: ogni altra opzione data a \pack{frontespizio} produrr\`a +% il messaggio di errore +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +! Use of \front@temp doesn't match its definition. +\end{verbatim} +% \iffalse +%</verb> +% \fi +% +% \section{I comandi} +% +% Alcuni comandi sono obbligatori: \`e necessario specificare +% l'istituzione e la sua divisione (facolt\`a o dipartimento) presso la +% quale si discute la tesi; ovviamente occorrono anche il titolo e +% l'autore, cio\`e il candidato, e l'anno accademico. Per tener conto di +% possibili variazioni sul tema, i comandi obbligatori hanno varianti +% che possono essere usate al loro posto. +% +% Indicheremo con un asterisco~(*) i comandi obbligatori, con una +% spada~(\textdagger) quelli sostitutivi, cio\`e le varianti di cui si +% diceva, senza niente quelli facoltativi. +% +% \frontcommand[o]{Universita}{\1{nome breve}} +% L'istituzione in cui si discute la tesi, cio\`e quella che rilascia il +% titolo di studio; va dato il nome abbreviato: +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Universita{Verona} +\Universita{Roma `La Sapienza'} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% Il comando aggiunge da s\'e ``Universit\`a degli Studi di''. +% +% \frontcommand[s]{Istituzione}{\1{nome completo}} +% Quando l'istituzione ha un nome particolare, occorre specificarlo per +% intero con questo comando: +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Istituzione{Politecnico di Torino} +\Istituzione{Universit\`a `Bocconi' di Milano} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% +% \frontcommand{Logo}{\0{dimen}\1{file}} +% L'argomento di questo comando \`e il nome (senza estensione) di un +% documento grafico che contenga il simbolo dell'istituzione. Ha un +% argomento opzionale, la dimensione in altezza del logo (normalmente +% 1.5\,cm): +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Logo[1.5cm]{logo} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% +% \frontcommand{Filigrana}{\0{parametri}\1{file}} +% L'argomento \`e il nome (senza estensione) di un documento che contenga +% il simbolo dell'istituzione, con opportuna retinatura in modo che +% appaia come in filigrana. Ha un argomento opzionale, che permette di +% impostare alcuni parametri: +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Filigrana[height=10cm,before=1,after=1]{logoretinato} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% Con la chiave \texttt{height} si imposta l'altezza del simbolo, con le +% chiavi \texttt{before} e \texttt{after} si imposta la proporzione in +% cui \`e diviso lo spazio rimanente; i valori usuali sono quelli mostrati +% nell'esempio. +% +% \frontcommand[o]{Facolta}{\1{nome breve}} +% La facolt\`a in cui si sono svolti gli studi. Per le tesi di laurea +% triennale o magistrale, sono le facolt\`a gli enti responsabili +% dell'esame finale. +% +% \frontcommand[s]{Dipartimento}{\1{nome breve}} +% Per le tesi di dottorato, la responsabilit\`a \`e di un dipartimento. +% +% \frontcommand[s]{Divisione}{\1{nome completo}} +% Se la facolt\`a o dipartimento ha un nome non usuale, si pu\`o inserirlo +% con questo comando: +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Divisione{Istituto di Cultura Generale} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% +% \frontcommand[s]{Interfacolta}{\1{nomi completi}} +% Se il corso di laurea \`e diviso fra pi\`u facolt\`a, si usi questo +% comando; si noti che, a differenza di \cmdname{Facolta} e +% \cmdname{Divisione}, il risultato non \`e messo automaticamente in +% maiuscolo. Quindi si scriva, per esempio, +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +FACOLT\`A DI TUTTOLOGIA\\ +FACOLT\`A DI SCIENZE FUMETTISTICHE +\end{verbatim} +% \iffalse +%</verb> +% \fi +% Si pu\`o usare la doppia barra rovescia per indicare dove spezzare le +% righe. +% +% \frontcommand[o]{Corso}{\0{tipo}\1{nome}} +% Il corso di studi seguito, di cui la tesi \`e il compimento. Ha un +% argomento opzionale che, non espresso, equivale a `Laurea Magistrale': +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Corso{Pennutistica} +\Corso[Dottorato di Ricerca]{Pennutistica} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% +% \frontcommand[s]{Scuola}{\1{nome completo}} +% Se il corso di studi ha un nome speciale, si usi questo comando che +% produce esattamente il suo argomento: +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Scuola{Scuola di specializzazione in Volo Planato} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% +% \frontcommand{Titoletto}{\1{tipo}} +% \`E possibile, con questo comando, specificare il tipo di tesi: +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Titoletto{Tesi di Laurea} +\Titoletto{Tesi di Laurea Magistrale} +\Titoletto{Tesi di Dottorato di Ricerca} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% +% \frontcommand[o]{Titolo}{\1{titolo}} +% Il titolo della tesi, con eventuali punti dove andare a capo espressi +% con \verb|\\|. +% +% \frontcommand{Sottotitolo}{\1{sottotitolo}} +% Un sottotitolo. Accade talvolta che due studenti preparino la loro +% tesi in collaborazione e che ciascuno ne presenti una parte: il +% sottotitolo \`e per questi casi, o altri che si possano pensare. +% +% \frontcommand[o]{Candidato}{\0{matricola}\1{nome}} +% Il nome e cognome del candidato. Notare che, in italiano, il nome va +% \emph{prima} del cognome, qualsiasi cosa affermino i burocrati. Il +% comando prende come argomento opzionale il numero di matricola, che +% potrebbe essere richiesto dalle regole locali. \`E possibile ripetere +% il comando, nel caso ci siano pi\`u candidati che presentano insieme il +% lavoro. +% +% \frontcommand[o]{Relatore}{\1{nome}} +% Il nome e cognome (se si preferisce preceduto dall'appellativo +% accademico) del relatore. Pu\`o capitare che i relatori siano pi\`u +% d'uno: basta specificarli successivamente, si veda l'esempio di prima. +% Il comando \`e obbligatorio se non si \`e data l'opzione \opt{noadvisor}. +% +% \frontcommand{Correlatore}{\1{nome}} +% Il nome e cognome del correlatore, di solito un esterno +% all'istituzione che ha collaborato alla guida del lavoro che ha +% portato alla tesi. Anche qui se ne pu\`o specificare pi\`u d'uno. +% +% \frontcommand[o]{Annoaccademico}{\1{anno}} +% L'anno accademico nel quale si discute la tesi. +% +% \frontcommand[s]{Piede}{\1{testo}} +% Se al piede non si vuole la scritta ``Anno Accademico'' ma +% qualcos'altro, lo si specifichi nell'argomento a questo comando. +% +% +% \section{Modifiche all'aspetto del frontespizio} +% Alcuni aspetti del frontespizio possono essere variati. Per esempio, +% \`e possibile caricare gli stessi caratteri usati nel corpo della tesi o +% cambiare i margini. +% +% \frontcommand{NCandidato}{\1{nome}} +% Il nome del candidato \`e preceduto dalla parola ``Candidato''. Se si +% preferisce ``Laureando'', si usi +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\NCandidato{Laureando} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% +% \frontcommand{NCandidati}{\1{nome}} +% Se ci sono pi\`u candidati, i nomi sono preceduti dalla parola +% ``Candidati''. Se si preferisce ``Laureandi'', si usi +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\NCandidati{Laureandi} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% +% \frontcommand{NRelatore}{\1{singolare}\1{plurale}} +% Analogamente, il nome del relatore \`e preceduto da ``Relatore''. Se si +% fosse esterofili, si potrebbe modificarlo con +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\NRelatore{Advisor}{Advisors} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% \`E necessario scrivere sia la forma singolare che quella plurale, anche +% se ci sar\`a un solo relatore (ma si pu\`o lasciare l'argomento vuoto). +% +% \frontcommand{NCorrelatore}{\1{singolare}\1{plurale}} +% Stesso discorso fatto per l'appellativo del relatore. +% +% \frontcommand{Punteggiatura}{\1{carattere}} +% Gli appellativi ``Candidato'' e ``Relatore'' sono seguiti da due +% punti; se non lo si desidera, si scriva +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Punteggiatura{} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% +% \frontcommand{Preambolo}{\1{comandi}} +% Supponiamo che la tesi sia stata scritta con il carattere Utopia, +% fornito dal pacchetto \pack{fourier}. Occorre specificarlo anche per +% il frontespizio con +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Preambolo{\usepackage{fourier}} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% Nessuno dei pacchetti caricati dal documento principale passa +% automaticamente al frontespizio: ripetendo questo comando, che ha +% effetto cumulativo, si possono risolvere altri problemi particolari. +% Infatti l'argomento del comando viene trascritto cos\`i com'\`e nel +% preambolo del documento~\file{frn}.\footnote{In una versione +% precedente il comando era chiamato \cmdname{Package}; questo \`e ancora +% definito come equivalente di \cmdname{Preambolo}, ma il suo uso \`e +% deprecato.} Vedremo in seguito altri usi del comando; si consiglia di +% usarne uno per ciascuna riga da aggiungere al preambolo: l'effetto \`e +% cumulativo. +% +% \frontcommand{Rientro}{\1{dimen}} +% Il nome del candidato e quello del relatore sono a filo dei margini +% sinistro e destro (che si possono ricavare dalle dimensioni dei due +% filetti). Se si desidera averli pi\`u rientrati si pu\`o usare questo +% comando: +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Rientro{1cm} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% +% \frontcommand{Margini}{\1{dimen}\1{dimen}\1{dimen}\1{dimen}} +% Se i margini scelti dal pacchetto non sono di gradimento, si possono +% specificarne di diversi con questo comando: +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Margini{1cm}{1.5cm}{1cm}{1cm} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% \`e l'equivalente della scelta del pacchetto. Le dimensioni si +% riferiscono, nell'ordine, al margine sinistro, in basso, destro e in +% alto.\footnote{In versioni precedenti, questo comando e il +% precedente si chiamavano, rispettivamente, \cmdname{Margins} e +% \cmdname{MoreMargin}.} +% +% +% \section{Scelta dei caratteri: forma e misura} +% +% Se non si fosse soddisfatti della scelta dei caratteri proposta +% dall'autore, si pu\`o usare il comando \cmdname{Preambolo} per +% modificarla. I comandi disponibili compaiono nella +% tabella~\ref{fonts}, con il loro valore usuale e la posizione in cui +% vengono usati. Per esempio, per avere il titolo in maiuscoletto~16/20 +% (cio\`e corpo~16 con distanza fra le linee di base di 20 punti), si +% scriver\`a +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Preambolo{\renewcommand{\fronttitlefont}{% + \fontsize{16}{20}\scshape}} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% La sintassi non \`e comoda, per scelta precisa. Si ricordi che con +% l'opzione \texttt{sans} non \`e disponibile il maiuscoletto. Un'altra +% cosa da ricordare \`e che per scegliere un carattere, occorre +% specificare non solo le sue dimensioni (e questo va fatto per prima +% cosa), ma anche le sue altre caratteristiche. Il comando +% \cmdname{fontsize} prende due argomenti: il corpo e l'avanzamento di +% riga; se non si specifica l'unit\`a di misura, viene assunta quella di +% punti tipografici~(pt). Se si cambia uno dei caratteri predefiniti, +% occorre specificare ogni aspetto del nuovo, se non si vogliono avere +% sorprese. +% +% \begin{table}[ht] +% \centering +% \caption{Comandi per la scelta dei caratteri}\label{fonts} +% \medskip\footnotesize +% \begin{tabular}{lll} +% \toprule +% Comando & Valore usuale & Impiego\\ +% \midrule +% \cmdname{frontinstitutionfont} & +% Neretto, 14/17 & +% Nome dell'universit\`a o istituzione\\[3pt] +% \cmdname{frontdivisionfont} & +% Tondo, 12/16 & +% Nome della facolt\`a o divisione\\[3pt] +% \cmdname{frontpretitlefont} & +% Maiuscoletto, 10/12 & +% Per il titoletto\\[3pt] +% \cmdname{fronttitlefont} & +% Neretto, 17/21 & +% Per il titolo della tesi\\[3pt] +% \cmdname{frontsubtitlefont} & +% Tondo, 12/14 & +% Per il sottotitolo\\[3pt] +% \cmdname{frontnamesfont} & +% Neretto, 12/14 & +% Per i nomi di candidato e relatore\\[3pt] +% \cmdname{frontfixednamesfont} & +% Tondo, 12/14 & +% Per scrivere le parole chiave\\ +% && `Candidato', `Relatore' e `Correlatore'\\[3pt] +% \cmdname{frontsmallfont} & +% Tondo, 9/11 & +% Per il numero di matricola\\[3pt] +% \cmdname{frontfootfont} & +% Neretto, 12/14 & +% Per scrivere l'anno accademico\\ +% \bottomrule +% \end{tabular} +% \end{table} +% +% +% \section{Parametri di spaziatura} +% +% \`E possibile cambiare la spaziatura fra il campo `relatori' e quello +% `correlatori' (il valore normale \`e 1\unit{ex}): +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Preambolo{\renewcommand{\frontrelcorrelsep}{2ex}} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% +% Analogamente si pu\`o aggiustare la composizione nel caso si usi +% l'opzione \opt{signatures} modificando il comando +% \cmdname{frontadjustforsignatures} per esempio con +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Preambolo{\renewcommand{\frontadjustforsignatures}{1cm}} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% Si definisce cos\`i una spaziatura verticale aggiuntiva fra la zona +% ``candidato-relatori'', in modo che non si arrivi troppo vicino al +% filetto in basso. Il comando non ha effetto se non dando l'opzione +% \opt{signatures}. +% +% Un terzo parametro dimensionale \`e \cmdname{frontlogosep}, il cui +% valore normale \`e 6\unit{pt}; se il logo dovesse essere troppo vicino o +% lontano dal nome dell'universit\`a, si pu\`o modificare con un comando +% come +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Preambolo{\renewcommand{\frontadjustforsignatures}{4pt}} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% dove la dimensione pu\`o anche essere negativa. +% +% Nel caso di pi\`u candidati, la spaziatura fra i nomi \`e regolata +% dal parametro \cmdname{frontcandidatesep}, il cui valore usuale \`e +% 3\unit{ex}; la si pu\`o modificare con un comando come +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Preambolo{\renewcommand{\frontcandidatesep}{1cm}} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% +% \section{\Xe\LaTeX} +% +% \`E possibile usare \Xe\TeX{}, ovviamente nella forma \Xe\LaTeX, per +% produrre il frontespizio. Ovviamente dovr\`a essere usato il comando +% \cmdname{Preambolo} per impostare anche il documento~\file{frn} per +% l'uso di questo motore \TeX. Per esempio, se il documento principale +% \`e composto in ``Adobe Caslon~Pro'', si dovr\`a scrivere +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\Preambolo{\usepackage{fontspec}} +\Preambolo{\setmainfont{Adobe Caslon Pro}} +\end{verbatim} +% \iffalse +%</verb> +% \fi +% Naturalmente \`e possibile compilare il \file{frn} anche usando +% \textsc{pdf}\LaTeX{} oppure \LaTeX{} e \textsc{dvips}. Tuttavia si +% consiglia l'uniformit\`a fra il carattere usato nel testo e quello usato +% nel frontespizio, se non ci sono disposizioni particolari che +% richiedano diversamente. +% +% Si ricordi che \Xe\TeX{} legge correttamente solo documenti scritti +% nelle codifiche \textsc{utf}-8 oppure \textsc{utf}-16. +% +% +% \section{Limitazioni e incompatibilit\`a} +% +% Il pacchetto \`e in versione preliminare, \`e possibile che in futuro +% cambi anche la sintassi dei comandi da usare. Si spera in maniera +% compatibile. +% +% Gli altri pacchetti caricati sono \pack{ifpdf}, \pack{graphicx} e +% \pack{afterpage} che non hanno gravi incompatibilit\`a note. Se +% disponibile sul sistema, viene caricato anche \pack{ifxetex}. Se si +% dovesse usare \pack{graphicx} con un \emph{driver} diverso da +% \texttt{dvips} o \texttt{pdftex}, va caricato \emph{prima} di +% \pack{frontespizio}; ricordiamo che i due \emph{driver} menzionati non +% vanno dichiarati come opzione a \pack{graphicx}, perch\'e in mancanza di +% altre opzioni vengono scelti automaticamente dal compilatore. +% Attenzione: usando \emph{Textures}, per esempio, va inserita anche +% l'opzione \opt{driver=textures} a \pack{frontespizio}. Cambiare il +% nome del driver, se necessario; la sintassi \`e questa, niente spazi +% attorno al segno di uguaglianza. Ovviamente si dovr\`a consultare il +% manuale della propria distribuzione per sapere come produrre il file +% eps in modo corretto. +% +% +% \section{Soluzione del giochino} +% +% L'etimologia di `Stanford' \`e `stan$+$ford'; l'antico inglese `stan' \`e +% ora `stone', cio\`e `pietra', mentre il toponimo `ford' indica un luogo +% di mercato. Il cognome `Knuth' \`e di origine norvegese, affine a +% `Knudsen', e significa `nodo'. Il nome `Donald' \`e di origine gaelica +% e vuol dire `reggitore del mondo', mentre `Basilio' viene dalla parola +% greca che significa~`re'. Il signor Revinu Jitis Drofnats non ha +% bisogno di presentazioni nel mondo~\TeX. +% +% +% \section{Esempi} +% +% Nelle pagine seguenti vedremo alcuni esempi con il sorgente. I titoli +% delle tesi sono veri, manca solo l'indicazione dell'anno accademico, +% per evidenti motivi di \emph{privacy}. Non sono stati messi `logo' di +% universit\`a per evitare problemi legali. +% +% \clearpage +% +% \iffalse +%<*examplea> +% \fi +% \begin{verbatim} +\documentclass[a4paper,titlepage]{book} +\usepackage{frontespizio} + +\begin{document} +\begin{frontespizio} +\Universita{Padova} +\Facolta{Scienze Matematiche, Fisiche e Naturali} +\Corso[Laurea]{Matematica} +\Titoletto{Tesi di laurea} +\Titolo{Equivalenze fra categorie di moduli\\ +e applicazioni} +\Candidato[145822]{Enrico Gregorio} +\Relatore{Ch.mo Prof.~Adalberto Orsatti} +\Annoaccademico{19??-19??} +\end{frontespizio} +\end{document} +% \end{verbatim} +% \iffalse +%</examplea> +% \fi +% +% \vspace{4ex} +% +% \includeex{examplea-frn} +% +% \clearpage +% +% \iffalse +%<*exampleb> +% \fi +% \begin{verbatim} +\documentclass[a4paper,titlepage]{book} +\usepackage[sans]{frontespizio} + +\begin{document} +\begin{frontespizio} +\Universita{Padova} +\Facolta{Scienze Matematiche, Fisiche e Naturali} +\Corso[Laurea]{Matematica} +\Titoletto{Tesi di laurea} +\Titolo{Equivalenze fra categorie di moduli\\ +e applicazioni} +\Candidato{Enrico Gregorio} +\Relatore{Ch.mo Prof.~Adalberto Orsatti} +\Annoaccademico{19??-19??} +\Rientro{1.5cm} +\NCandidato{Laureando} +\Punteggiatura{} +\end{frontespizio} +\end{document} +% \end{verbatim} +% \iffalse +%</exampleb> +% \fi +% +% \vspace{4ex} +% +% \includeex{exampleb-frn} +% +% \clearpage +% +% \iffalse +%<*examplec> +% \fi +% \begin{verbatim} +\documentclass[a4paper,titlepage]{book} +\usepackage{frontespizio} + +\begin{document} +\begin{frontespizio} +\Package{\usepackage{fourier}} +\Universita{Bologna} +\Dipartimento{Matematica} +\Corso[Dottorato di Ricerca]{Matematica} +\Titolo{Equivalenza di Morita generalizzata\\ +e applicazioni alla teoria degli\\ +anelli compatti} +\Candidato{Enrico Gregorio} +\Relatore{Ch.mo Prof.~Ermanno Lanconelli} +\NRelatore{Coordinatore}{} +\Correlatore{Ch.mo Prof.~Adalberto Orsatti} +\NCorrelatore{Supervisore della ricerca}{} +\Annoaccademico{19??-19??} +\end{frontespizio} +\end{document} +% \end{verbatim} +% \iffalse +%</examplec> +% \fi +% +% \vspace{4ex} +% +% \includeex{examplec-frn} +% \newpage +% +% \section{A shell script to compile the documentation} +% Running \texttt{latex} on \file{frontespizio.ins} produces also +% \file{makedoc.sh} which can be run, on Unix systems, by one of the +% following command from a shell: +% \begin{flushleft}\ttfamily +% sh makedoc.sh +% \end{flushleft} +% The shell script code is as follows. +% +% \iffalse +%<*thedoc> +% \fi +% \begin{verbatim} +#!/bin/sh +pdflatex examplea.tex +pdflatex examplea-frn.tex +pdflatex exampleb.tex +pdflatex exampleb-frn.tex +pdflatex examplec.tex +pdflatex examplec-frn.tex +pdflatex frontespizio.dtx +pdflatex frontespizio-frn.tex +makeindex -s gind frontespizio +makeindex -s gglo -o frontespizio.gls frontespizio.glo +pdflatex frontespizio.dtx +pdflatex frontespizio.dtx +exit +% \end{verbatim} +% \iffalse +%</thedoc> +% \fi +% +% \StopEventually{\PrintChanges\PrintIndex} +% +% \selectlanguage{english} +% \section{The implementation} +% After the usual stuff of package presentation, here are the actual +% macros. We use the $\varepsilon$-\TeX{} extensions, so we check +% that they are present. +% \iffalse +%<*package> +% \fi +% \begin{macrocode} +\def\@not@eTeX{% + \PackageError{frontespizio} + {This package requires e-TeX, I'll stop right now} + {This package is built on the e-TeX extensions which are not present.% + \MessageBreak + The best thing you can do is to upgrade your TeX system or try% + \MessageBreak + using `elatex' or `pdfelatex'.}% + \expandafter\@@end} +\ifx\eTeXversion\@undefined + \@not@eTeX +\else + \let\@not@eTeX\@undefined +\fi +% \end{macrocode} +% \subsection{Package options} +% Now we declare options and a conditional which is true when we write +% to the \file{frn} file: this is the file which will be compiled +% later in order to produce the pdf page that will be included as the +% frontispiece. The option `infront' is a private one, which is set +% only in the \file{frn} file where the nowrite option is set, so we +% need a correction. It's easier to use \verb|\ifdefined| than to +% define many new conditionals. Actually, the package doesn't use +% $\varepsilon$-\TeX{} features other than \verb|\ifdefined| and +% \verb|\unless|, but I wanted to try and encourage to upgrade from +% old \TeX{} systems. +% +% \begin{macro}{\iffront@write} +% The conditional \verb|\iffront@write| is false when we don't want +% to write the \file{frn} file. +% \end{macro} +% \begin{macro}{\front@infront} +% \verb|\front@infront| is defined only if we are typesetting the +% \file{frn} file. +% \end{macro} +% \begin{macro}{\front@signatures} +% \verb|\front@signatures| is defined if we need to leave space for +% the advisor's signature. +% \end{macro} +% \begin{macro}{\front@noadvisor} +% \verb|\front@noadvisor| is defined if we don't want an advisor's +% name. +% \end{macro} +% \begin{macro}{\front@thefont} +% \begin{macro}{\fontoptionnormal} +% \begin{macro}{\fontoptionsans} +% The options `normal' and `sans' are an elementary way to control +% the font choice for the frontispiece. +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{\front@norules} +% \verb|\front@norules| is defined if we don't want rules in the +% frontispiece. +% \end{macro} +% \begin{macro}{\iffront@include} +% \verb|\iffront@include| controls whether we use the package only in +% order to include an external file (similarly to pdfpages). +% \end{macro} +% \begin{macro}{\front@grfdriver} +% In \verb|\front@grfdriver| we load the driver's choice; it's a very +% primitive trick, but not many people use strange drivers, nowadays. +% \end{macro} +% \begin{macrocode} +\newif\iffront@write +\DeclareOption{write}{\front@writetrue} +\DeclareOption{nowrite}{\front@writefalse} +\DeclareOption{infront}{\let\front@infront=T} +\DeclareOption{signatures}{\let\front@signatures=T} +\DeclareOption{noadvisor}{\let\front@noadvisor=T} +\DeclareOption{normal}{\def\front@thefont{\fontoptionnormal}} +\DeclareOption{sans}{\def\front@thefont{\fontoptionsans}} +\DeclareOption{norules}{\let\front@norules=T} +\newif\iffront@include +\DeclareOption{onlyinclude}{\front@includetrue\ExecuteOptions{nowrite}} +\DeclareOption*{\edef\front@grfdriver{\CurrentOption}} +% \end{macrocode} +% Now we choose the default options; we want to write the \file{frn} file +% and roman fonts. +% \begin{macrocode} +\ExecuteOptions{write,normal} +\ProcessOptions\relax +% \end{macrocode} +% \subsection{Required packages and service macros} +% We load the needed packages. Of course \pack{graphicx} and +% \pack{eso-pic} for graphic inclusion; we need also \pack{afterpage} +% for adjustments when using some classes. +% \begin{macrocode} +\RequirePackage{afterpage} +\RequirePackage{graphicx} +\RequirePackage{eso-pic} +% \end{macrocode} +% \begin{macro}{\includefront} +% We manage first the onlyinclude option. If we are only including an +% external file, we load it and prepare for an empty verso page; the +% optional argument is there in order to correct the page number, if +% necessary; after that we stop reading the package. +% \begin{macrocode} +\iffront@include +\newcommand{\includefront}[2][0]{% + \titlepage\null + \AddToShipoutPicture*{\includegraphics{#2}}% + \afterpage{\thispagestyle{empty}}% + \endtitlepage + \ifx0#1\else + \null\thispagestyle{empty}\newpage\addtocounter{page}{-#1}% + \fi} + \newenvironment{frontespizio}{% + \PackageError{frontespizio} + {Using the `frontespizio' environment along with the% + \MessageBreak + `onlyinclude' option is not allowed} + {You have called `frontespizio' with the `onlyinclude' option% + \MessageBreak + which disallows the `frontespizio' environment, thus be% + \MessageBreak + prepared for a long string of errors.% + \MessageBreak + The best is to hit `x' now and correct your input.}% + }{} +\expandafter\endinput +\else +% \end{macrocode} +% \end{macro} +% If the `onlyinclude' option is not given we can be in different +% situations: first of all we load support for distinguishing whether +% the user is typesetting with \texttt{latex}, \texttt{pdflatex} or +% \texttt{xelatex}. +% \begin{macrocode} +\RequirePackage{ifpdf} +% \end{macrocode} +% We want to support also \Xe\LaTeX{}, but not all distributions have +% it; so if the package \pack{ifxetex} is not in the system we assume +% that \Xe\LaTeX{} is not used; we have to bury a \verb|\let| inside a +% macro, which can be safely undefined later; all \verb|\ifxetex| +% conditionals will be treated as false, of course. +% \begin{macrocode} +\def\front@ifxetex{\let\ifxetex\iffalse} +\IfFileExists{ifxetex.sty}{\RequirePackage{ifxetex}}{\front@ifxetex} +\let\front@ifxetex\@undefined +\fi +% \end{macrocode} +% \begin{macro}{\front@write} +% \begin{macro}{\front@expwrite} +% If we are writing the \file{frn} file, we allocate an output stream, +% otherwise we let \verb|\front@write| and \verb|\front@expwrite| to +% gobble their argument; \verb|\front@write| is used to write things +% without expansion while \verb|\front@expwrite| expands tokens in the +% argument. +% \end{macro} +% \end{macro} +% \begin{macrocode} +\iffront@write + \newwrite\front@out + \immediate\openout\front@out=\jobname-frn.tex + \long\def\front@write#1{\immediate\write\front@out{\unexpanded{#1}}} + \long\def\front@expwrite{\immediate\write\front@out} +\else + \long\def\front@write#1{} + \let\front@expwrite\front@write +\fi +% \end{macrocode} +% \subsection{Initialization of the \file{frn} file} +% Now we initialize the \file{frn} file by setting the class and the +% margins. If a driver option has been given we want to load +% \pack{graphicx} in the frn file with the right driver; we have to do +% this before loading the present package, which always requires +% \pack{graphicx}. +% \begin{macrocode} +\front@write{\documentclass[titlepage]{article}} +\front@write{\usepackage[a4paper,% + left=1cm,bottom=1.5cm,right=1cm,top=1cm]{geometry}} +\ifdefined\front@grfdriver + \def\front@temp driver=#1\@nil{\def\front@grfdriver{#1}} + \expandafter\front@temp\front@grfdriver\@nil + \front@expwrite{\string\usepackage[\front@grfdriver]{graphicx}} +\fi +% \end{macrocode} +% Set the options in the \file{frn} file: there we don't want to be +% writing the \file{frn} file, of course, nor we need aux files, but +% we add the private option. +% \begin{macrocode} +\def\front@theoptions{nowrite,infront} +\ifdefined\front@signatures + \g@addto@macro\front@theoptions{,signatures} +\fi +\ifdefined\front@noadvisor + \g@addto@macro\front@theoptions{,noadvisor} +\fi +\ifdefined\front@norules + \g@addto@macro\front@theoptions{,norules} +\fi +\front@expwrite{\string\usepackage[\front@theoptions]{frontespizio}} +\front@write{\nofiles} +% \end{macrocode} +% Write in the \file{frn} file the font choosing command; here we need only +% a one level expansion. +% \begin{macrocode} +\expandafter\front@write\expandafter{\front@thefont} +% \end{macrocode} +% \subsection{Commands, conditionals and registers} +% The following commands are necessary only when we are compiling +% the frontispiece, when the \verb|\front@infront| command is defined. +% \begin{macrocode} +\ifdefined\front@infront +\def\fontoptionnormal{% + \let\front@font\normalfont \let\front@scfont\scshape} +\def\fontoptionsans{% + \let\front@font\sffamily \let\front@scfont\upshape} +\def\front@push{} +\def\front@thecandidate{Candidato} +\def\front@thecandidates{Candidati} +\def\front@theadvisor{Relatore} +\def\front@theadvisors{Relatori} +\def\front@thecoadvisor{Correlatore} +\def\front@thecoadvisors{Correlatori} +\def\front@punct{:} +\newif\iffront@titoletto +\newif\iffront@matr +\newif\iffront@onecand +\newif\iffront@morecand +\newif\iffront@correl +\newif\iffront@logo +\newif\iffront@inst +\newif\iffront@sottotit +\newif\iffront@multiple +\newif\iffront@division +\newif\iffront@school +\newif\iffront@foot +\newtoks\front@candtoks +\newcount\front@candcount +\newtoks\front@reltoks +\newcount\front@relcount +\newtoks\front@correltoks +\newcount\front@correlcount +\fi +% \end{macrocode} +% We need a macro to hide the conditionals, which we load and define +% only when making the front page; the \verb|\if| conditional will +% always expand to nothing or be skipped altogether up to the matching +% \verb|\fi| when writing the \file{frn} file; if expanded, however, +% it will put in the correct conditional when making the front page +% (the trick is due to S. von Bechtolsheim. +% \begin{macrocode} +\def\@front@#1{TT\fi\@nameuse{iffront@#1}} +% \end{macrocode} +% Now we define the markup commands. We do this three times, because +% they will behave differently in different conditions. +% \begin{macrocode} +\iffront@write +% \end{macrocode} +% If we are writing the \file{frn} file, then we simply copy the +% commands to it. An exception is \verb|\Preambolo|: in this case we +% copy only its argument. Since there can be several candidate names, +% the \verb|\Candidato| macro is treated differently, because it can +% have an optional argument. +% \begin{macrocode} +\newcommand{\Preambolo}[1]{\front@write{#1}} +\newcommand{\Rientro}[1]{\front@write{\Rientro{#1}}} +\newcommand{\Margini}[4]{\front@write{\Margini{#1}{#2}{#3}{#4}}} +\newcommand{\Logo}[2][1.5cm]{\front@write{\Logo[#1]{#2}}} +\newcommand{\Filigrana}[2][height=10cm]{% + \front@write{\Filigrana[#1]{#2}}} +\newcommand{\Universita}[1]{\front@write{\Universita{#1}}} +\newcommand{\Istituzione}[1]{\front@write{\Istituzione{#1}}} +\newcommand{\Facolta}[1]{\front@write{\Facolta{#1}}} +\newcommand{\Dipartimento}[1]{\front@write{\Dipartimento{#1}}} +\newcommand{\Divisione}[1]{\front@write{\Divisione{#1}}} +\newcommand{\Interfacolta}[1]{\front@write{\Interfacolta{#1}}} +\newcommand{\Corso}[2][Laurea Magistrale]{\front@write{\Corso[#1]{#2}}} +\newcommand{\Scuola}[1]{\front@write{\Scuola{#1}}} +\newcommand{\Titolo}[1]{\front@write{\Titolo{#1}}} +\newcommand{\Sottotitolo}[1]{\front@write{\Sottotitolo{#1}}} +\newcommand{\Annoaccademico}[1]{\front@write{\Annoaccademico{#1}}} +\newcommand{\Piede}[1]{\front@write{\Piede{#1}}} +\newcommand{\Titoletto}[1]{\front@write{\Titoletto{#1}}} +\newcommand{\Candidato}[2][]{% + \def\next{#1}% + \ifx\next\@empty + \front@write{\Candidato{#2}}% + \else + \front@write{\Candidato[#1]{#2}}% + \fi} +\newcommand{\Relatore}[1]{\front@write{\Relatore{#1}}} +\newcommand{\Correlatore}[1]{\front@write{\Correlatore{#1}}} +\newcommand{\NCandidato}[1]{\front@write{\NCandidato{#1}}} +\newcommand{\NCandidati}[1]{\front@write{\NCandidati{#1}}} +\newcommand{\NRelatore}[2]{\front@write{\NRelatore{#1}{#2}}} +\newcommand{\NCorrelatore}[2]{\front@write{\NCorrelatore{#1}{#2}}} +\newcommand{\Punteggiatura}[1]{\front@write{\Punteggiatura{#1}}} +% \end{macrocode} +% Now some equivalent commands for backwards compatibility with the +% preproduction version called front-th. Unfortunately, the old +% command \verb|\Matricola| cannot be made compatible. +% \begin{macrocode} +\def\front@oldcommand#1#2{\def#1{\PackageWarning{frontespizio} + {Old command \string#1 found; use \string#2}#2}} +\front@oldcommand\IlCandidato\Candidato +\front@oldcommand\Package\Preambolo +\front@oldcommand\MoreMargin\Rientro +\front@oldcommand\Margins\Margini +% Sorry, \Matricola cannot be used any more +\def\Matricola#1{\PackageError{frontespizio} + {Old command \noexpand\Matricola found} + {The command \noexpand\Matricola cannot be used with this package.% + \MessageBreak Use the optional argument to \string\Candidato}} +% +\else\ifdefined\front@infront +% \end{macrocode} +% If we are typesetting the front page, then we give the commands +% their real meaning, i.e., we define macros which will be used in +% \verb|\preparefrontpage|. +% \begin{macrocode} +\newcommand{\Rientro}[1]{\def\front@push{\hspace{#1}}} +\newcommand{\Margini}[4]{\geometry{left=#1,bottom=#2,right=#3,top=#4}} +\newcommand{\Logo}[2][1.5cm]{\def\front@logo{#2}% + \def\front@logosize{#1}\front@logotrue} +% \end{macrocode} +% We support a centered logo in the background, using xkeyval. +% \begin{macrocode} +\def\front@logobefore{1}\def\front@logoafter{1} % default values +\define@key{filigrana}{height}[10cm]{\def\front@logoheight{#1}} +\define@key{filigrana}{before}[1]{\def\front@logobefore{#1}} +\define@key{filigrana}{after}[1]{\def\front@logoafter{#1}} +\newcommand{\Filigrana}[2][height=10cm]{% + \setkeys{filigrana}{#1}% + \AddToShipoutPicture*{% + \put(0,0){ + \parbox[b][\paperheight]{\paperwidth}{ + \vspace*{\stretch{\front@logobefore}} + \centering + \includegraphics[height=\front@logoheight]{#2} + \vspace{\stretch{\front@logoafter}} +}}}} +% \end{macrocode} +% Now we continue the definition of the markup commands, mostly +% passing their arguments to the internal macros; in some cases we +% need more work, using token lists. +% \begin{macrocode} +\newcommand{\Universita}[1]{\def\front@univ{#1}} +\newcommand{\Istituzione}[1]{\def\front@instit{#1}\front@insttrue} +\newcommand{\Facolta}[1]{\def\front@facoldip{#1}% + \def\front@thefacoldip{Facolt\`a}} +\newcommand{\Dipartimento}[1]{\def\front@facoldip{#1}% + \def\front@thefacoldip{Dipartimento}} +\newcommand{\Interfacolta}[1]{% + \def\front@multiple{#1}\front@multipletrue} +\newcommand{\Divisione}[1]{\def\front@division{#1}\front@divisiontrue} +\newcommand{\Corso}[2][Laurea Magistrale]{% + \def\front@cl{#1\unskip\space in #2}} +\newcommand{\Scuola}[1]{\def\front@school{#1}\front@schooltrue} +\newcommand{\Titolo}[1]{\def\front@title{#1}} +\newcommand{\Sottotitolo}[1]{\def\front@subtitle{#1}\front@sottotittrue} +\newcommand{\Annoaccademico}[1]{\def\front@anno{#1}} +\newcommand{\Piede}[1]{\def\front@foot{#1}\front@foottrue} +\newcommand{\Titoletto}[1]{\def\front@titoletto{#1}\front@titolettotrue} +\newcommand{\Candidato}[2][]{\advance\front@candcount\@ne + \front@candtoks=\expandafter{\the\front@candtoks + \front@docand{#1}{#2}}% + \def\front@cand{#2}% + \def\next{#1}% + \ifx\next\@empty\else\def\front@matr{#1}\front@matrtrue\fi +} +\newcommand{\Relatore}[1]{\advance\front@relcount\@ne + \front@reltoks=\expandafter{\the\front@reltoks\\#1% + \ifdefined\front@signatures\\[1cm]\fi}} +\newcommand{\Correlatore}[1]{% + \front@correltrue\advance\front@correlcount\@ne + \front@correltoks=\expandafter{\the\front@correltoks\\#1}} +\newcommand{\NCandidato}[1]{\def\front@thecandidate{#1}} +\newcommand{\NCandidati}[1]{\def\front@thecandidates{#1}} +\newcommand{\NRelatore}[2]{\def\front@theadvisor{#1}% + \def\front@theadvisors{#2}} +\newcommand{\NCorrelatore}[2]{\def\front@thecoadvisor{#1}% + \def\front@thecoadvisors{#2}} +\newcommand{\Punteggiatura}[1]{\def\front@punct{#1}} +% \end{macrocode} +% Now we set the default fonts for the various parts of the +% frontispiece. +% \begin{macro}{\frontinstitutionfont} +% \begin{macro}{\frontdivisionfont} +% \begin{macro}{\frontpretitlefont} +% \begin{macro}{\fronttitlefont} +% \begin{macro}{\frontsubtitlefont} +% \begin{macro}{\frontnamesfont} +% \begin{macro}{\frontsmallfont} +% \begin{macro}{\frontfootfont} +% \begin{macro}{\frontfixednamesfont} +% \begin{macrocode} +\def\frontinstitutionfont{\fontsize{14}{17}\bfseries} +\def\frontdivisionfont{\fontsize{12}{16}\selectfont} +\def\frontpretitlefont{\fontsize{10}{12}\front@scfont} +\def\fronttitlefont{\fontsize{17}{21}\bfseries} +\def\frontsubtitlefont{\fontsize{12}{14}\selectfont} +\def\frontnamesfont{\fontsize{12}{14}\bfseries} +\def\frontsmallfont{\fontsize{9}{11}\selectfont} +\def\frontfootfont{\fontsize{12}{14}\bfseries} +\def\frontfixednamesfont{\normalfont\normalsize\front@font} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{\frontcandidatesep} +% \begin{macro}{\frontrelcorrelsep} +% \begin{macro}{\frontlogosep} +% \begin{macro}{\frontadjustforsignatures} +% Some pseudo-parameters: the first is to separate candidates' names; +% the second to separate `Relatore' and `Correlatore' fields; the +% third to separate the logo from the University name; the fourth to +% adjust the `candidate-advisor' field in case there are many advisors +% and coadvisors and the "signature" option is in force. +% \begin{macrocode} +\def\frontcandidatesep{3ex} +\def\frontrelcorrelsep{1ex} +\def\frontlogosep{6pt} +\def\frontadjustforsignatures{0pt} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% The command to typeset more than one candidate. +% \begin{macrocode} +\def\front@docand#1#2{% + #2\\% the candidate's name + \def\next{#1}% + \unless\ifx\next\@empty + \frontsmallfont Matricola #1\\[\frontcandidatesep] + \fi} +% \end{macrocode} +% +% \subsection{The typesetting} +% \begin{macro}{\preparefrontpage} +% Here is where the typesetting is defined. +% \begin{macrocode} +\def\preparefrontpage{% +\titlepage\front@font +\centering +\par +% \end{macrocode} +% \end{macro} +% First block: the institution's logo. +% \begin{macrocode} +\if\@front@{logo} +\includegraphics[height=\front@logosize]{\front@logo}\par +\vspace{\frontlogosep} +\fi +\par +% \end{macrocode} +% Second block: the institution's name. +% \begin{macrocode} +{\frontinstitutionfont +\if\@front@{inst} + \front@instit +\else + Universit\`a degli Studi di \front@univ +\fi\par} +\vspace{1.5ex} +\unless\ifdefined\front@norules\hrule\fi +\vspace{1.5ex} +% \end{macrocode} +% Third block: the department's name; in Italy graduation theses are +% responsibility of Faculties, only Ph.D. theses are responsibility of +% Departments. +% \begin{macrocode} +{\frontdivisionfont +\if\@front@{multiple} + \front@multiple +\else + \if\@front@{division} + \MakeUppercase{\front@division} + \else + \MakeUppercase{\front@thefacoldip} + DI + \MakeUppercase{\front@facoldip} + \fi +\fi\\ +\if\@front@{school} + \front@school +\else + Corso di \front@cl +\fi +\par} +% \end{macrocode} +% Fourth block: the specification of the thesis' kind. +% \begin{macrocode} +\if\@front@{titoletto} +\vspace{2cm} +{\frontpretitlefont\front@titoletto\par} +\fi +\vspace{\fill} +% \end{macrocode} +% Fifth block: the thesis' title. +% \begin{macrocode} +{\fronttitlefont\front@title\par} +% \end{macrocode} +% Sixth block: the thesis' subtitle, if present. +% \begin{macrocode} +\if\@front@{sottotit} +\vspace{4ex} +{\frontsubtitlefont\front@subtitle\par} +\fi +\vspace{\fill} +% \end{macrocode} + +% Seventh block: the candidate's name and the advisor's name. A +% \texttt{tabular*} spanning all the text width has two columns; on +% the left we put the candidate's name, on the right the advisor's +% name (possibly more than one) and, if present, the coadvisor's name. +% \begin{macrocode} +\vbox to .3\textheight{\parindent\z@ +\frontnamesfont +\begin{tabular*}{\textwidth} + {@{\front@push}l@{\extracolsep{\fill}}l@{\front@push}} +\begin{tabular}[t]{@{}l@{}} +\relax\ifnum\front@candcount<1 + \PackageWarningNoLine{frontespizio}{Missing candidate name}% +\else + \frontfixednamesfont + \ifnum\front@candcount=1 + \front@thecandidate + \else + \front@thecandidates + \fi + \front@punct\\ + \the\front@candtoks +\fi +\end{tabular} +& +\unless\ifdefined\front@noadvisor + \begin{tabular}[t]{@{}l@{}} + \relax + \ifcase\front@relcount + \PackageWarningNoLine{frontespizio}{Missing advisor name}% + \or + \frontfixednamesfont\front@theadvisor\front@punct + \else + \frontfixednamesfont\front@theadvisors\front@punct + \fi + \the\front@reltoks + \if\@front@{correl} + \\[\frontrelcorrelsep] + \ifcase\front@correlcount\or + \frontfixednamesfont\front@thecoadvisor\front@punct + \else + \frontfixednamesfont\front@thecoadvisors\front@punct + \fi + \the\front@correltoks + \fi + \end{tabular} +\fi +\end{tabular*} +\par +\vfill} +% \end{macrocode} +% Eighth block: the foot. Before setting it we do, if necessary, a +% vertical negative skip. +% \begin{macrocode} +\ifdefined\front@signatures\vskip\frontadjustforsignatures\fi +\unless\ifdefined\front@norules\hrule\fi +\vspace{1.5ex} +{\frontfootfont + \if\@front@{foot} + \front@foot + \else + Anno Accademico \front@anno + \fi + \par} +\endtitlepage} +% \end{macrocode} +% The following \verb|\else| matches the +% \verb|\ifdefined\front@infront| several lines ahead +% \begin{macrocode} +\else +% \end{macrocode} +% If we get here, we are neither compiling the frontispiece, nor +% writing to the \file{frn} file, so we provide dummy definitions for +% all the user level commands. +% \begin{macrocode} +\newcommand{\Preambolo}[1]{} +\newcommand{\Rientro}[1]{} +\newcommand{\Margini}[4]{} +\newcommand{\Logo}[2][]{} +\newcommand{\Filigrana}[2][]{} +\newcommand{\Universita}[1]{} +\newcommand{\Istituzione}[1]{} +\newcommand{\Facolta}[1]{} +\newcommand{\Dipartimento}[1]{} +\newcommand{\Interfacolta}[1]{} +\newcommand{\Divisione}[1]{} +\newcommand{\Corso}[2][]{} +\newcommand{\Scuola}[1]{} +\newcommand{\Titolo}[1]{} +\newcommand{\Sottotitolo}[1]{} +\newcommand{\Annoaccademico}[1]{} +\newcommand{\Piede}[1]{} +\newcommand{\Titoletto}[1]{} +\newcommand{\Candidato}[2][]{} +\newcommand{\Relatore}[1]{} +\newcommand{\Correlatore}[1]{} +\newcommand{\NCandidato}[1]{} +\newcommand{\NCandidati}[1]{} +\newcommand{\NRelatore}[2]{} +\newcommand{\NCorrelatore}[2]{} +\newcommand{\Punteggiatura}[1]{} +% \end{macrocode} +% The following two \verb|\fi| match \verb|\ifdefined\front@infront| +% and \verb|\iffront@write| several lines ahead +% \begin{macrocode} +\fi +\fi +% \end{macrocode} +% \subsection{The external file inclusion} +% We define a command to hold the requested file name extension. +% \begin{macrocode} +\ifpdf + \def\front@ext{pdf} +\else + \ifxetex + \def\front@ext{pdf} + \else + \def\front@ext{eps} + \fi +\fi +% \end{macrocode} +% If we use \pack{amsbook}, then the titlepage environment doesn't +% generate the verso page, while book does. +% \begin{macrocode} +\@ifclassloaded{amsbook} + {\def\front@cp{\null\thispagestyle{empty}\newpage + \advance\c@page\m@ne}} + {\let\front@cp\relax} +% \end{macrocode} +% \begin{environment}{frontespizio} +% The environment \env{frontespizio} goes in the main file and is +% responsible for ending the writing of the \file{frn} file (in its final +% part; in the initial part it typesets the front page by including +% the pdf file if already typeset. +% +% The front page commands must go before the end of this environment; +% the best choice is, of course, to put them inside it. Maybe a +% key-value syntax would be preferable. +% +% Now we define the environment; its purpose is to initialize the +% mechanism and finalize it. +% \begin{macrocode} +\def\frontespizio{% + \titlepage\null + \IfFileExists{\jobname-frn.\front@ext} + {\AddToShipoutPicture*{\includegraphics{\jobname-frn}}} + {\AtEndDocument{% + \PackageWarningNoLine{frontespizio} + {Remember to compile \jobname-frn with\MessageBreak + \ifpdf + pdflatex \jobname-frn% + \else + \ifxetex + xelatex \jobname-frn + \else + latex \jobname-frn\MessageBreak + dvips -o \jobname-frn.eps \jobname-frn% + \fi + \fi\MessageBreak + and then rerun \ifpdf pdf\fi \ifxetex xe\fi latex}}} + \afterpage{\thispagestyle{empty}}% + \endtitlepage + \if@twoside\front@cp\fi +} +\def\endfrontespizio{% + \front@write{\begin{document}} + \front@write{\preparefrontpage} + \front@write{\end{document}} + \iffront@write\immediate\closeout\front@out\fi +} +% \end{macrocode} +% \iffalse +%</package> +% \fi +% \end{environment} +% The end. +% \Finale diff --git a/Master/texmf-dist/source/latex/frontespizio/frontespizio.ins b/Master/texmf-dist/source/latex/frontespizio/frontespizio.ins new file mode 100644 index 00000000000..cc7220e6078 --- /dev/null +++ b/Master/texmf-dist/source/latex/frontespizio/frontespizio.ins @@ -0,0 +1,63 @@ +%% +%% frontespizio.ins +%% Copyright 2008 Enrico Gregorio +%% +%% This program is provided under the terms of the +%% LaTeX Project Public License distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt. +%% +%% Author: Enrico Gregorio +%% Enrico dot Gregorio at univr dot it +%% +%% This work has the LPPL maintenance status "author-maintained". +%% +%% This file will generate fast loadable files and documentation +%% driver files from the doc files in this package when run through +%% LaTeX or TeX. +%% +%% --------------- start of docstrip commands ------------------ +%% +\input docstrip +\preamble + + Copyright 2008 Enrico Gregorio + + This program is provided under the terms of the + LaTeX Project Public License distributed from CTAN + archives in directory macros/latex/base/lppl.txt. + + Author: Enrico Gregorio + Enrico dot Gregorio at univr dot it + + This work has the LPPL maintenance status "author-maintained". + +\endpreamble + +\keepsilent +\askforoverwritefalse + +\Msg{*** Generating the package files ***} +\generate{\file{frontespizio.sty}{\from{frontespizio.dtx}{package}}% + \file{examplea.tex}{\from{frontespizio.dtx}{examplea}}% + \file{exampleb.tex}{\from{frontespizio.dtx}{exampleb}}% + \file{examplec.tex}{\from{frontespizio.dtx}{examplec}}% + \nopreamble\nopostamble + \file{makedoc.sh}{\from{frontespizio.dtx}{thedoc}}% + } + +\Msg{***********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* files into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space frontespizio.sty} +\Msg{*} +\Msg{*} +\Msg{* To produce the documentation on frontespizio's code run} +\Msg{* the file ending with `.dtx' through (pdf)LaTeX. See the} +\Msg{* README file for more details.} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{***********************************************************} + +\endbatchfile diff --git a/Master/texmf-dist/tex/latex/frontespizio/frontespizio.sty b/Master/texmf-dist/tex/latex/frontespizio/frontespizio.sty new file mode 100644 index 00000000000..192651581cf --- /dev/null +++ b/Master/texmf-dist/tex/latex/frontespizio/frontespizio.sty @@ -0,0 +1,440 @@ +%% +%% This is file `frontespizio.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% frontespizio.dtx (with options: `package') +%% +%% Copyright 2008 Enrico Gregorio +%% +%% This program is provided under the terms of the +%% LaTeX Project Public License distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt. +%% +%% Author: Enrico Gregorio +%% Enrico dot Gregorio at univr dot it +%% +%% This work has the LPPL maintenance status "author-maintained". +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{frontespizio} + [2008/03/04 1.0 (Enrico Gregorio)] +\def\@not@eTeX{% + \PackageError{frontespizio} + {This package requires e-TeX, I'll stop right now} + {This package is built on the e-TeX extensions which are not present.% + \MessageBreak + The best thing you can do is to upgrade your TeX system or try% + \MessageBreak + using `elatex' or `pdfelatex'.}% + \expandafter\@@end} +\ifx\eTeXversion\@undefined + \@not@eTeX +\else + \let\@not@eTeX\@undefined +\fi +\newif\iffront@write +\DeclareOption{write}{\front@writetrue} +\DeclareOption{nowrite}{\front@writefalse} +\DeclareOption{infront}{\let\front@infront=T} +\DeclareOption{signatures}{\let\front@signatures=T} +\DeclareOption{noadvisor}{\let\front@noadvisor=T} +\DeclareOption{normal}{\def\front@thefont{\fontoptionnormal}} +\DeclareOption{sans}{\def\front@thefont{\fontoptionsans}} +\DeclareOption{norules}{\let\front@norules=T} +\newif\iffront@include +\DeclareOption{onlyinclude}{\front@includetrue\ExecuteOptions{nowrite}} +\DeclareOption*{\edef\front@grfdriver{\CurrentOption}} +\ExecuteOptions{write,normal} +\ProcessOptions\relax +\RequirePackage{afterpage} +\RequirePackage{graphicx} +\RequirePackage{eso-pic} +\iffront@include +\newcommand{\includefront}[2][0]{% + \titlepage\null + \AddToShipoutPicture*{\includegraphics{#2}}% + \afterpage{\thispagestyle{empty}}% + \endtitlepage + \ifx0#1\else + \null\thispagestyle{empty}\newpage\addtocounter{page}{-#1}% + \fi} + \newenvironment{frontespizio}{% + \PackageError{frontespizio} + {Using the `frontespizio' environment along with the% + \MessageBreak + `onlyinclude' option is not allowed} + {You have called `frontespizio' with the `onlyinclude' option% + \MessageBreak + which disallows the `frontespizio' environment, thus be% + \MessageBreak + prepared for a long string of errors.% + \MessageBreak + The best is to hit `x' now and correct your input.}% + }{} +\expandafter\endinput +\else +\RequirePackage{ifpdf} +\def\front@ifxetex{\let\ifxetex\iffalse} +\IfFileExists{ifxetex.sty}{\RequirePackage{ifxetex}}{\front@ifxetex} +\let\front@ifxetex\@undefined +\fi +\iffront@write + \newwrite\front@out + \immediate\openout\front@out=\jobname-frn.tex + \long\def\front@write#1{\immediate\write\front@out{\unexpanded{#1}}} + \long\def\front@expwrite{\immediate\write\front@out} +\else + \long\def\front@write#1{} + \let\front@expwrite\front@write +\fi +\front@write{\documentclass[titlepage]{article}} +\front@write{\usepackage[a4paper,% + left=1cm,bottom=1.5cm,right=1cm,top=1cm]{geometry}} +\ifdefined\front@grfdriver + \def\front@temp driver=#1\@nil{\def\front@grfdriver{#1}} + \expandafter\front@temp\front@grfdriver\@nil + \front@expwrite{\string\usepackage[\front@grfdriver]{graphicx}} +\fi +\def\front@theoptions{nowrite,infront} +\ifdefined\front@signatures + \g@addto@macro\front@theoptions{,signatures} +\fi +\ifdefined\front@noadvisor + \g@addto@macro\front@theoptions{,noadvisor} +\fi +\ifdefined\front@norules + \g@addto@macro\front@theoptions{,norules} +\fi +\front@expwrite{\string\usepackage[\front@theoptions]{frontespizio}} +\front@write{\nofiles} +\expandafter\front@write\expandafter{\front@thefont} +\ifdefined\front@infront +\def\fontoptionnormal{% + \let\front@font\normalfont \let\front@scfont\scshape} +\def\fontoptionsans{% + \let\front@font\sffamily \let\front@scfont\upshape} +\def\front@push{} +\def\front@thecandidate{Candidato} +\def\front@thecandidates{Candidati} +\def\front@theadvisor{Relatore} +\def\front@theadvisors{Relatori} +\def\front@thecoadvisor{Correlatore} +\def\front@thecoadvisors{Correlatori} +\def\front@punct{:} +\newif\iffront@titoletto +\newif\iffront@matr +\newif\iffront@onecand +\newif\iffront@morecand +\newif\iffront@correl +\newif\iffront@logo +\newif\iffront@inst +\newif\iffront@sottotit +\newif\iffront@multiple +\newif\iffront@division +\newif\iffront@school +\newif\iffront@foot +\newtoks\front@candtoks +\newcount\front@candcount +\newtoks\front@reltoks +\newcount\front@relcount +\newtoks\front@correltoks +\newcount\front@correlcount +\fi +\def\@front@#1{TT\fi\@nameuse{iffront@#1}} +\iffront@write +\newcommand{\Preambolo}[1]{\front@write{#1}} +\newcommand{\Rientro}[1]{\front@write{\Rientro{#1}}} +\newcommand{\Margini}[4]{\front@write{\Margini{#1}{#2}{#3}{#4}}} +\newcommand{\Logo}[2][1.5cm]{\front@write{\Logo[#1]{#2}}} +\newcommand{\Filigrana}[2][height=10cm]{% + \front@write{\Filigrana[#1]{#2}}} +\newcommand{\Universita}[1]{\front@write{\Universita{#1}}} +\newcommand{\Istituzione}[1]{\front@write{\Istituzione{#1}}} +\newcommand{\Facolta}[1]{\front@write{\Facolta{#1}}} +\newcommand{\Dipartimento}[1]{\front@write{\Dipartimento{#1}}} +\newcommand{\Divisione}[1]{\front@write{\Divisione{#1}}} +\newcommand{\Interfacolta}[1]{\front@write{\Interfacolta{#1}}} +\newcommand{\Corso}[2][Laurea Magistrale]{\front@write{\Corso[#1]{#2}}} +\newcommand{\Scuola}[1]{\front@write{\Scuola{#1}}} +\newcommand{\Titolo}[1]{\front@write{\Titolo{#1}}} +\newcommand{\Sottotitolo}[1]{\front@write{\Sottotitolo{#1}}} +\newcommand{\Annoaccademico}[1]{\front@write{\Annoaccademico{#1}}} +\newcommand{\Piede}[1]{\front@write{\Piede{#1}}} +\newcommand{\Titoletto}[1]{\front@write{\Titoletto{#1}}} +\newcommand{\Candidato}[2][]{% + \def\next{#1}% + \ifx\next\@empty + \front@write{\Candidato{#2}}% + \else + \front@write{\Candidato[#1]{#2}}% + \fi} +\newcommand{\Relatore}[1]{\front@write{\Relatore{#1}}} +\newcommand{\Correlatore}[1]{\front@write{\Correlatore{#1}}} +\newcommand{\NCandidato}[1]{\front@write{\NCandidato{#1}}} +\newcommand{\NCandidati}[1]{\front@write{\NCandidati{#1}}} +\newcommand{\NRelatore}[2]{\front@write{\NRelatore{#1}{#2}}} +\newcommand{\NCorrelatore}[2]{\front@write{\NCorrelatore{#1}{#2}}} +\newcommand{\Punteggiatura}[1]{\front@write{\Punteggiatura{#1}}} +\def\front@oldcommand#1#2{\def#1{\PackageWarning{frontespizio} + {Old command \string#1 found; use \string#2}#2}} +\front@oldcommand\IlCandidato\Candidato +\front@oldcommand\Package\Preambolo +\front@oldcommand\MoreMargin\Rientro +\front@oldcommand\Margins\Margini +\def\Matricola#1{\PackageError{frontespizio} + {Old command \noexpand\Matricola found} + {The command \noexpand\Matricola cannot be used with this package.% + \MessageBreak Use the optional argument to \string\Candidato}} +\else\ifdefined\front@infront +\newcommand{\Rientro}[1]{\def\front@push{\hspace{#1}}} +\newcommand{\Margini}[4]{\geometry{left=#1,bottom=#2,right=#3,top=#4}} +\newcommand{\Logo}[2][1.5cm]{\def\front@logo{#2}% + \def\front@logosize{#1}\front@logotrue} +\def\front@logobefore{1}\def\front@logoafter{1} % default values +\define@key{filigrana}{height}[10cm]{\def\front@logoheight{#1}} +\define@key{filigrana}{before}[1]{\def\front@logobefore{#1}} +\define@key{filigrana}{after}[1]{\def\front@logoafter{#1}} +\newcommand{\Filigrana}[2][height=10cm]{% + \setkeys{filigrana}{#1}% + \AddToShipoutPicture*{% + \put(0,0){ + \parbox[b][\paperheight]{\paperwidth}{ + \vspace*{\stretch{\front@logobefore}} + \centering + \includegraphics[height=\front@logoheight]{#2} + \vspace{\stretch{\front@logoafter}} +}}}} +\newcommand{\Universita}[1]{\def\front@univ{#1}} +\newcommand{\Istituzione}[1]{\def\front@instit{#1}\front@insttrue} +\newcommand{\Facolta}[1]{\def\front@facoldip{#1}% + \def\front@thefacoldip{Facolt\`a}} +\newcommand{\Dipartimento}[1]{\def\front@facoldip{#1}% + \def\front@thefacoldip{Dipartimento}} +\newcommand{\Interfacolta}[1]{% + \def\front@multiple{#1}\front@multipletrue} +\newcommand{\Divisione}[1]{\def\front@division{#1}\front@divisiontrue} +\newcommand{\Corso}[2][Laurea Magistrale]{% + \def\front@cl{#1\unskip\space in #2}} +\newcommand{\Scuola}[1]{\def\front@school{#1}\front@schooltrue} +\newcommand{\Titolo}[1]{\def\front@title{#1}} +\newcommand{\Sottotitolo}[1]{\def\front@subtitle{#1}\front@sottotittrue} +\newcommand{\Annoaccademico}[1]{\def\front@anno{#1}} +\newcommand{\Piede}[1]{\def\front@foot{#1}\front@foottrue} +\newcommand{\Titoletto}[1]{\def\front@titoletto{#1}\front@titolettotrue} +\newcommand{\Candidato}[2][]{\advance\front@candcount\@ne + \front@candtoks=\expandafter{\the\front@candtoks + \front@docand{#1}{#2}}% + \def\front@cand{#2}% + \def\next{#1}% + \ifx\next\@empty\else\def\front@matr{#1}\front@matrtrue\fi +} +\newcommand{\Relatore}[1]{\advance\front@relcount\@ne + \front@reltoks=\expandafter{\the\front@reltoks\\#1% + \ifdefined\front@signatures\\[1cm]\fi}} +\newcommand{\Correlatore}[1]{% + \front@correltrue\advance\front@correlcount\@ne + \front@correltoks=\expandafter{\the\front@correltoks\\#1}} +\newcommand{\NCandidato}[1]{\def\front@thecandidate{#1}} +\newcommand{\NCandidati}[1]{\def\front@thecandidates{#1}} +\newcommand{\NRelatore}[2]{\def\front@theadvisor{#1}% + \def\front@theadvisors{#2}} +\newcommand{\NCorrelatore}[2]{\def\front@thecoadvisor{#1}% + \def\front@thecoadvisors{#2}} +\newcommand{\Punteggiatura}[1]{\def\front@punct{#1}} +\def\frontinstitutionfont{\fontsize{14}{17}\bfseries} +\def\frontdivisionfont{\fontsize{12}{16}\selectfont} +\def\frontpretitlefont{\fontsize{10}{12}\front@scfont} +\def\fronttitlefont{\fontsize{17}{21}\bfseries} +\def\frontsubtitlefont{\fontsize{12}{14}\selectfont} +\def\frontnamesfont{\fontsize{12}{14}\bfseries} +\def\frontsmallfont{\fontsize{9}{11}\selectfont} +\def\frontfootfont{\fontsize{12}{14}\bfseries} +\def\frontfixednamesfont{\normalfont\normalsize\front@font} +\def\frontcandidatesep{3ex} +\def\frontrelcorrelsep{1ex} +\def\frontlogosep{6pt} +\def\frontadjustforsignatures{0pt} +\def\front@docand#1#2{% + #2\\% the candidate's name + \def\next{#1}% + \unless\ifx\next\@empty + \frontsmallfont Matricola #1\\[\frontcandidatesep] + \fi} +\def\preparefrontpage{% +\titlepage\front@font +\centering +\par +\if\@front@{logo} +\includegraphics[height=\front@logosize]{\front@logo}\par +\vspace{\frontlogosep} +\fi +\par +{\frontinstitutionfont +\if\@front@{inst} + \front@instit +\else + Universit\`a degli Studi di \front@univ +\fi\par} +\vspace{1.5ex} +\unless\ifdefined\front@norules\hrule\fi +\vspace{1.5ex} +{\frontdivisionfont +\if\@front@{multiple} + \front@multiple +\else + \if\@front@{division} + \MakeUppercase{\front@division} + \else + \MakeUppercase{\front@thefacoldip} + DI + \MakeUppercase{\front@facoldip} + \fi +\fi\\ +\if\@front@{school} + \front@school +\else + Corso di \front@cl +\fi +\par} +\if\@front@{titoletto} +\vspace{2cm} +{\frontpretitlefont\front@titoletto\par} +\fi +\vspace{\fill} +{\fronttitlefont\front@title\par} +\if\@front@{sottotit} +\vspace{4ex} +{\frontsubtitlefont\front@subtitle\par} +\fi +\vspace{\fill} + +\vbox to .3\textheight{\parindent\z@ +\frontnamesfont +\begin{tabular*}{\textwidth} + {@{\front@push}l@{\extracolsep{\fill}}l@{\front@push}} +\begin{tabular}[t]{@{}l@{}} +\relax\ifnum\front@candcount<1 + \PackageWarningNoLine{frontespizio}{Missing candidate name}% +\else + \frontfixednamesfont + \ifnum\front@candcount=1 + \front@thecandidate + \else + \front@thecandidates + \fi + \front@punct\\ + \the\front@candtoks +\fi +\end{tabular} +& +\unless\ifdefined\front@noadvisor + \begin{tabular}[t]{@{}l@{}} + \relax + \ifcase\front@relcount + \PackageWarningNoLine{frontespizio}{Missing advisor name}% + \or + \frontfixednamesfont\front@theadvisor\front@punct + \else + \frontfixednamesfont\front@theadvisors\front@punct + \fi + \the\front@reltoks + \if\@front@{correl} + \\[\frontrelcorrelsep] + \ifcase\front@correlcount\or + \frontfixednamesfont\front@thecoadvisor\front@punct + \else + \frontfixednamesfont\front@thecoadvisors\front@punct + \fi + \the\front@correltoks + \fi + \end{tabular} +\fi +\end{tabular*} +\par +\vfill} +\ifdefined\front@signatures\vskip\frontadjustforsignatures\fi +\unless\ifdefined\front@norules\hrule\fi +\vspace{1.5ex} +{\frontfootfont + \if\@front@{foot} + \front@foot + \else + Anno Accademico \front@anno + \fi + \par} +\endtitlepage} +\else +\newcommand{\Preambolo}[1]{} +\newcommand{\Rientro}[1]{} +\newcommand{\Margini}[4]{} +\newcommand{\Logo}[2][]{} +\newcommand{\Filigrana}[2][]{} +\newcommand{\Universita}[1]{} +\newcommand{\Istituzione}[1]{} +\newcommand{\Facolta}[1]{} +\newcommand{\Dipartimento}[1]{} +\newcommand{\Interfacolta}[1]{} +\newcommand{\Divisione}[1]{} +\newcommand{\Corso}[2][]{} +\newcommand{\Scuola}[1]{} +\newcommand{\Titolo}[1]{} +\newcommand{\Sottotitolo}[1]{} +\newcommand{\Annoaccademico}[1]{} +\newcommand{\Piede}[1]{} +\newcommand{\Titoletto}[1]{} +\newcommand{\Candidato}[2][]{} +\newcommand{\Relatore}[1]{} +\newcommand{\Correlatore}[1]{} +\newcommand{\NCandidato}[1]{} +\newcommand{\NCandidati}[1]{} +\newcommand{\NRelatore}[2]{} +\newcommand{\NCorrelatore}[2]{} +\newcommand{\Punteggiatura}[1]{} +\fi +\fi +\ifpdf + \def\front@ext{pdf} +\else + \ifxetex + \def\front@ext{pdf} + \else + \def\front@ext{eps} + \fi +\fi +\@ifclassloaded{amsbook} + {\def\front@cp{\null\thispagestyle{empty}\newpage + \advance\c@page\m@ne}} + {\let\front@cp\relax} +\def\frontespizio{% + \titlepage\null + \IfFileExists{\jobname-frn.\front@ext} + {\AddToShipoutPicture*{\includegraphics{\jobname-frn}}} + {\AtEndDocument{% + \PackageWarningNoLine{frontespizio} + {Remember to compile \jobname-frn with\MessageBreak + \ifpdf + pdflatex \jobname-frn% + \else + \ifxetex + xelatex \jobname-frn + \else + latex \jobname-frn\MessageBreak + dvips -o \jobname-frn.eps \jobname-frn% + \fi + \fi\MessageBreak + and then rerun \ifpdf pdf\fi \ifxetex xe\fi latex}}} + \afterpage{\thispagestyle{empty}}% + \endtitlepage + \if@twoside\front@cp\fi +} +\def\endfrontespizio{% + \front@write{\begin{document}} + \front@write{\preparefrontpage} + \front@write{\end{document}} + \iffront@write\immediate\closeout\front@out\fi +} +\endinput +%% +%% End of file `frontespizio.sty'. |