diff options
Diffstat (limited to 'Master')
18 files changed, 442 insertions, 243 deletions
diff --git a/Master/texmf-dist/doc/latex/toptesi/FrontespizioScudo.pdf b/Master/texmf-dist/doc/latex/toptesi/FrontespizioScudo.pdf Binary files differindex 8d3dd479465..4891a44fc6b 100644 --- a/Master/texmf-dist/doc/latex/toptesi/FrontespizioScudo.pdf +++ b/Master/texmf-dist/doc/latex/toptesi/FrontespizioScudo.pdf diff --git a/Master/texmf-dist/doc/latex/toptesi/FrontespizioScudo.tex b/Master/texmf-dist/doc/latex/toptesi/FrontespizioScudo.tex new file mode 100644 index 00000000000..146369c83b1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/toptesi/FrontespizioScudo.tex @@ -0,0 +1,112 @@ +% !TEX TS-program = LuaLaTeX +% !TEX encoding = UTF-8 Unicode +\documentclass[% + a4paper, + 12pt, + twoside, + tipotesi=scudo, + ]{toptesi} + +%%%% Use the following package if and only if you want to produce +%%%% an archivable document according to standard PDF/A-1b +%%%% No need to load package imakeidx, because it has already been +%%%% loaded by the specific module toptesi-scudo. +\usepackage[a-1b]{pdfx} +%%%%%% Read the English documentation of TOPtesi in order to check +%%%%%% the special attention needed to produce ISO compliant +%%%%%% archivable files + +%%%% + +\ifPDFTeX + \usepackage[utf8]{inputenc}% + \usepackage[T1]{fontenc} +\fi + +\errorcontextlines=9% more information on the console in case of errors + +%%%% Specify fonts here; chose one among these fonts by leaving just +%%%% one line without initial comment character. +%%%% With LuaLaTeX or XeLaTeX don't change fonts + \usepackage{fontspec} + \defaultfontfeatures{Ligatures=TeX} + \setmainfont{Libertinus Serif} + \setsansfont{Libertinus Sans} + \setmonofont{Libertinus Mono}[Scale=MatchLowercase] + \usepackage{unicode-math}% add special math stile option here + % for example [style=ISO] +% chose one math font by commenting the line of the undesired font + \setmathfont{XITS Math} + + + + +\raggedbottom +\begin{document} + + +% The contents of this ThesisTitlePage environment may be written +% in a configuration file named exactly the same as the thesis main +% file, but with extension .cfg. If similar commands with different +% data are written within this environment, such data prevail on +% those read from the configuration file. +\begin{ThesisTitlePage} +%\renewcommand\fivestars{\rule{0pt}{\baselineskip}\rule{30mm}{0.4pt}} +% Use the optional command to set a different School logo +\PhDschoolLogo{TITDocScCropped} +% Doctorate course name; mandatory +\ProgramName{Energy Enginering} +% Cycle ordinal number; optional. +% You can write 29.th, or 29\ap{th}, or 29\textsuperscript{th}, or ... +\CycleNumber{29.th} +% PhD candidate name; mandatory +\author{Mario Rossi} +% Dissertation title; mandatory +\title{Writing your Doctoral~Thesis\\with \LaTeX} +% Dissertation subtitle: optional. +% It might be useful only if the actual full title is too long. +\subtitle{Typeset with the TOPtesi class} +% The supervisor(s) label; optional; default value "Supervisor:". +% You can change it to plural as in this example, where the colon has +% been eliminated. +%\NSupervisor{Supervisor}{Supervisors} +% +% The SupervisorNumber may contain a value such as 0, 1, or any +% number higher than 1. If 0 is specified, no label is typeset +% over the supervisor(s) list; if 1 is specified then the singular +% form is used: if any value higher than 1 is specified, the plural +% form is used. +\SupervisorNumber{2} +% List of supervisors with academic title, name(s), surname(s), +% and function; mandatory +\SupervisorList{% + Prof.~A.B., Supervisor\\ + Prof.~C.D. Co-supervisor} +% Name of the examining committee: optional. +% Default value "Doctoral Examination Committee" +%\Nexaminationcommittee{Doctoral examination committee} +% List of the examining committee members: mandatory if the above label +% is not empty. +\ExaminerList{% +Prof.~A.B., Referee, University of \dots\\ +Prof.~C.D., Referee, University of \dots\\ +Prof.~E.F., University of \dots\\ +Prof.~G.H., University of \dots\\ +Prof.~I.J., University of \dots} +% Name of the institution where the examination takes place; optional. +% Default value: "Politecnico di Torino" +%\Nlocation{Politecnico di Torino} +% Examination date: mandatory, although the way to write it is free. +\ExaminationDate{February 29, 2123} +% Disclaimer with signature; optional. Default text as +% in the following lines. +%\Signature{% +%\begin{flushright} +%\parbox{0.5\textwidth}{\centering +%\dotfill\\ +%Mario Rossi\\ +%Turin, February 29, 2123 +%} +%\end{flushright}} +\end{ThesisTitlePage} +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/toptesi/README.txt b/Master/texmf-dist/doc/latex/toptesi/README.txt index bed8748eac5..cc267ed0647 100644 --- a/Master/texmf-dist/doc/latex/toptesi/README.txt +++ b/Master/texmf-dist/doc/latex/toptesi/README.txt @@ -49,13 +49,13 @@ The files derived from the work are the following: The toptesi.dtx file is self extracting and self documenting; if you run pdflatex on it you get at the same time the class, the style -files, the toptesi configuration file, plus the English documented -pdf file. +files, the toptesi configuration file, plus the English documented +code. -The Italian documentation is obtained by running LuaLaTeX on +The Italian documentation file is obtained by running LuaLaTeX on toptesi-it.tex; this documentation has been completely redone compared to previous versions. With this compiler the result -is PDF/A-2b compliant. The compilation of this file +is PDF/A-1b compliant. The compilation of this file requires input of various .pdf files, mostly obtained by processing the .tex files belonging to the bundle. It requires also the FAKE logos of Politecnico di Torino and of its doctoral diff --git a/Master/texmf-dist/doc/latex/toptesi/toptesi-it.pdf b/Master/texmf-dist/doc/latex/toptesi/toptesi-it.pdf Binary files differindex 936f916ea40..3f1c701bc56 100644 --- a/Master/texmf-dist/doc/latex/toptesi/toptesi-it.pdf +++ b/Master/texmf-dist/doc/latex/toptesi/toptesi-it.pdf diff --git a/Master/texmf-dist/doc/latex/toptesi/toptesi-it.tex b/Master/texmf-dist/doc/latex/toptesi/toptesi-it.tex index 8106e2c9587..c4ad554343a 100644 --- a/Master/texmf-dist/doc/latex/toptesi/toptesi-it.tex +++ b/Master/texmf-dist/doc/latex/toptesi/toptesi-it.tex @@ -2,7 +2,7 @@ % !TEX TS-program = LuaLaTeX % % toptesi-it.tex -%% Copyright 2013-2018 Claudio Beccari +%% Copyright 2013-2020 Claudio Beccari % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -26,7 +26,7 @@ % numerazioneromana,% % libro% ]{toptesi}\errorcontextlines=100 -\ProvidesFile{toptesi-it.tex}[2020-05-19 v.0.9.48 TOPtesi Italian Documentation] +\ProvidesFile{toptesi-it.tex}[2020-09-03 v.0.9.50 TOPtesi Italian Documentation] %%% Il pacchetto imakeidx va caricato prima di pdfx, %%% altrimenti non funziona bene \usepackage{imakeidx}% Vedi documentazione @@ -273,7 +273,8 @@ tabularx,enumitem,ragged2e,siunitx,curve2e,microtype} \def\ifTOPnextchar{\csuse{@ifnextchar}} -\NewDocumentCommand\polyvector{r()}{\def\TOPlastpoint{#1}\TOPpolyvector} +\providecommand\polyvector{} +\RenewDocumentCommand\polyvector{r()}{\def\TOPlastpoint{#1}\TOPpolyvector} \NewDocumentCommand\TOPpolyvector{r()}{\ifTOPnextchar({\segment(\TOPlastpoint)(#1)% \def\TOPlastpoint{#1}\TOPpolyvector}{\VECTOR(\TOPlastpoint)(#1)}} % ) @@ -342,6 +343,7 @@ nella pagina~\pageref{ch:LPPL}. \sommario Questo testo serve per descrivere come comporre tipograficamente la tesi di laurea o la monografia o la dissertazione di dottorato mediante il noto programma di composizione \LaTeX, o meglio, mediante le sue varianti \pdfLaTeX, \XeLaTeX\ o \LuaLaTeX; per produrre con \XeLaTeX\ il file finale in formato PDF archiviabile secondo la norma ISO \mbox{19005-1} bisogna procedere come descritto nel paragrafo~\ref{sec:XePDFA}. Il formato PDF archiviabile si ottiene più facilmente con \LuaLaTeX e \pdfLaTeX. + \english \sommario This text describes how to typeset a university master thesis, or the bachelor final report, or the PhD dissertation through the well known typesetting program \LaTeX, or rather through its variants \pdfLaTeX, \XeLaTeX, or \LuaLaTeX; in order to produce the final document in a PDF archivable format according to the ISO regulation \mbox{19005-1} it's necessary to proceed as described in section~\ref{sec:XePDFA}. A PDF archivable output file is more easily obtained with \LuaLaTeX and \pdfLaTeX. @@ -355,12 +357,14 @@ Ringrazio gli studenti del Politecnico di Torino che mi hanno sollecitato a mett \pagestyle{headings} \figurespagetrue \tablespagetrue -\indici +\indici[headings] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Questo manuale: cosa fare e cosa non fare} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Prima di prendere ironicamente l'aggettivo `rapida' attribuito a questa guida di più di 170 pagine, vorrei sottolineare che essa è lunga perché \TOPtesi permette di svolgere moltissimi compiti. E per comporre bene la propria tesi, le cose da fare sono moltissime e non sono descritte tutte in questa guida. Ma c'è un altro aspetto: comporre tipograficamente non consiste solo nel seguire certe regole tali da far diventare questa operazione una cosa che potrebbe fare qualunque macchina; c'è di mezzo il gusto estetico personale; la materia di cui si tratta nella tesi; il fatto che ogni problema di composizione non ha mai un'unica soluzione; e via di questo passo. Non è un caso che il sistema \TeX offra una moltitudine di pacchetti per comporre tesi, ognuno di quali risolve certi problemi di composizione secondo i gusti di chi ha scritto quella classe, o quel pacchetto, o quel modello. Ecco, questa guida è lunga perché cerco di spiegare in dettaglio come certi problemi siano stati affrontati in modo che il laureando possa capire come li ho affrontati e quali alternative esistono. @@ -383,7 +387,7 @@ Detto in altre parole, non si cominci nemmeno a leggere questo manuale e non si \item[Formato] Nel mondo \TeX la parola \emph{formato}, in inglese \emph{format}, ha almeno tre significati; i principali sono i seguenti. \begin{description}[noitemsep] \item[Forma del mark up] Con questo significato ci si riferisce al file con estensione \file{.fmt} che contiene la traduzione in linguaggio macchina dell'insieme di macro che definiscono il mark up specifico del linguaggio usato; qui potrebbero interessare i file di formato \file{pdflatex.fmt}, \file{xelatex.fmt}, \file{lualatex,fmt}; ne esistono diversi altri. -\item[Forma della pagina del testo composto] Le varie carte disponibili vengono vendute in diversi formati; per esempio A4 (210\unit{mm} per 297\unit{mm}), B5 (176\unit{mm} per 250\unit{mm}), eccetera. Si può usare questa parola anche per riferirsi alla forma della gabbia del testo e al layout della pagina composta tipograficamente. +\item[Forma della pagina del testo composto] Le varie carte disponibili vengono ven\-dute in diversi formati; per esempio A4 (210\unit{mm} per 297\unit{mm}), B5 (176\unit{mm} per 250\unit{mm}), eccetera. Si può usare questa parola anche per riferirsi alla forma della gabbia del testo e al layout della pagina composta tipograficamente. \item[Codifica di registrazione delle immagini] La parola formato viene usata per specificare in realtà il modo di codificare una immagine, e si parla del formato JPEG, del formato PDF, eccetera. Esistono formati vettoriali e formati raster (o a matrici di punti, o bitmapped); i formati raster possono essere \emph{lossless} oppure \emph{lossy}; in questo caso la perdita, da cui il prefisso “loss”, si riferisce al modo di comprimere l'informazione dell'immagine: la compressione senza perdita permette di recuperare esattamente l'immagine di partenza, mentre la compressione con perdita permette di comprimere di più ma a spese di una approssimazione nel recupero dell'immagine di partenza; il formato PNG è di tipo lossless; il formato JPG (o JPEG) è lossy. \end{description} \end{description} @@ -407,7 +411,7 @@ Con la versione 6.x di \TOPtesi il pacchetto viene esteso anche alla compilazion Come tutti i pacchetti che estendono le funzionalità di \LaTeX, \TOPtesi definisce la geometria della pagina e dispone le informazioni accessorie come le testatine e i piedini. Queste impostazioni non sono modificabili né con \TOPtesi né con la maggior parte degli altri pacchetti destinati alle tesi. Più o meno vale il concetto “prendere o lasciare”. Questo è un aspetto importante: \textcolor{red}{la licenza \LaTeX Project Public Licence (LPPL), riportata per esteso nell'appendice della pagina~\pageref{ch:LPPL} consente di apportare modifiche ai file di questo pacchetto, ma solo a certe condizioni. Per non violare queste condizioni, nel caso che si vogliano apportare modifiche ai file del pacchetto, si veda il capitolo~\ref{ch:customise}}. -{\tolerance=3000 Prima di usare \TOPtesi si esaminino i semplici esempi contenuti nei file accessori di questo pacchetto: \file{toptesi-example.pdf}, \file{toptesi-example-luatex.pdf}, \file{topfront\discretionary{.}{}{.}example.pdf}, \texttt{toptesi-example-con-frontespizio.pdf}\index{file!toptesi-example-con-frontespizio.pdf@\texttt{toptesi\discretionary{-}{}{-}example\discretionary{-}{}{-}con\discretionary{-}{}{-}frontespizio.pdf}} e diversi altri che sono variazioni dei precedenti. Si potrà vedere se l'impaginazione aggrada oppure se si desidera un'altra impaginazione; in questo secondo caso ci si rivolga ad altre classi e ad altri pacchetti: in rete non è difficile usare un motore di ricerca per trovare il pacchetto \pack{frontespizio}, le classi \class{sapthesis}, \class {suftesi}, i modelli \file{TesiModerna}, \file{TesiClassica} e diverse altre classi che non cito per brevità, ma segnalo che sono prodotte specialmente nel mondo angloamericano e sono ancor meno adatte ad una personalizzazione multilingue. Alcune di queste classi sono dotate di eccellenti file di documentazione, altre sono usabili grazie a “template” o modelli di tesi scritte facendo uso di testo fittizio, ma tali da rendere immediatamente l'idea di come usare quei software.\par} +{\tolerance=3000 Prima di usare \TOPtesi si esaminino i semplici esempi contenuti nei file accessori di questo pacchetto: \file{toptesi-example.pdf}, \file{toptesi-example-luatex.pdf}, \file{topfront\discretionary{.}{}{.}example.pdf}, \texttt{toptesi-example-con-frontespizio.pdf}\index{file!toptesi-example-con-frontespizio.pdf@\texttt{toptesi\discretionary{-}{}{-}example\discretionary{-}{}{-}con\discretionary{-}{}{-}frontespizio.pdf}} e diversi altri che sono variazioni dei precedenti. Si potrà vedere se l'impaginazione aggrada oppure se si desidera un'altra impaginazione; in questo secondo caso ci si rivolga ad altre classi e ad altri pacchetti: in rete non è difficile usare un motore di ricerca per trovare il pacchetto \pack{frontespizio}, le classi \class{sapthesis}, \class {suftesi}, \class{unifith}, i modelli \file{TesiModerna}, \file{TesiClassica} e diverse altre classi che non cito per brevità, ma segnalo che sono prodotte specialmente nel mondo angloamericano e sono ancor meno adatte ad una personalizzazione multilingue. Alcune di queste classi sono dotate di eccellenti file di documentazione, altre sono usabili grazie a “template” o modelli di tesi scritte facendo uso di testo fittizio, ma tali da rendere immediatamente l'idea di come usare quei software.\par} Volendo, anche i file sorgente di questi esempi d'uso di \TOPtesi, elencati sopra con i nomi dei corrispondenti file PDF, possono essere usati come modelli; persino il file sorgente di questo manuale può essere usato come modello; basta cercare nelle cartelle dell'installazione di \TOPtesi i file \file{.tex}, copiarseli in una propria cartella personale, cambiare loro il nome (attenzione, questo è importantissimo) e modificarne il contenuto a proprio piacimento. Con un minimo di attenzione si possono eliminare quelle parti che non servono; si possono modificare le opzioni della classe, si possono compilare con diversi motori di tipocomposizione del sistema \TeX. Non è forse fuori luogo sottolineare che l'uso dei modelli può essere molto utile per cominciare, ma fa perdere di vista il fatto che \LaTeX può fare molte più cose di quelle che si inseriscono solitamente negli esempi. @@ -426,7 +430,7 @@ Conviene leggere l'uso dei loghi nel paragrafo~\ref{ssec:loghi}, perché \TOPtes Il paragrafo~\ref{sec:cominciare} espone come impostare inizialmente il documento principale della tesi e di come frazionarne il contenuto in diversi file. Non esiste un unico metodo e i vari metodi presentano vantaggi e svantaggi. Conviene conoscere bene questi metodi e i loro pro e contro, anche perché nella documentazione di \LaTeX per neofiti questi concetti non vengono mai affrontati con la necessaria profondità. -Il paragrafo~\ref{sec:codifica} è fondamentale; disporre di un editor che salva i file sorgente con una certa codifica e poi cercare di compilare quei file con \LaTeX impostato per una codifica diversa, vuol dire combinare pasticci inenarrabili; in questo manuale si consiglia di usare sia per l'editor sia per \LaTeX la codifica \opt{utf8} ma è il laureando che deve sceglierla in base alle caratteristiche del suo software e ai programmi che intende usare per la compilazione. Tutti e tre i programmi principali di composizione, \pdfLaTeX, \XeLaTeX, e \LuaLaTeX\ funzionano bene con la codifica \opt{utf8}; \pdfLaTeX\ funziona anche con altre codifiche; gli editor un po' datati non funzionano con la codifica \opt{utf8}, quindi è evidente che le varie situazioni richiedono impostazioni attente e accurate. Se fosse necessario, l'argomento codifiche può essere approfondito anche su altri testi liberi, per esempio sulla guida tematica che si trova nella sezione Documentazione dell'associazione \GuIT, in \url{https://guitex.org/home/images/doc/GuideGuIT/introcodifiche.pdf} dal titolo \emph{Introduzione alle codifiche in entrata e in uscita}. +Il paragrafo~\ref{sec:codifica} è fondamentale; disporre di un editor che salva i file sorgente con una certa codifica e poi cercare di compilare quei file con \LaTeX impostato per una codifica diversa, vuol dire combinare pasticci inenarrabili; in questo manuale si consiglia di usare sia per l'editor sia per \LaTeX la codifica \opt{utf8} ma è il laureando che deve sceglierla in base alle caratteristiche del suo software e ai programmi che intende usare per la compilazione. Tutti e tre i programmi principali di composizione, \pdfLaTeX, \XeLaTeX, e \LuaLaTeX\ funzionano bene con la codifica \opt{utf8}; \pdfLaTeX\ funziona anche con altre codifiche; gli editor un po' datati non funzionano con la codifica \opt{utf8}, quindi è evidente che le varie situazioni richiedono impostazioni attente e accurate. Se fosse necessario, l'argomento codifiche può essere approfondito anche su altri testi liberi, per esempio sulla guida tematica che si trova nella sezione Documentazione dell'associazione \GuIT, in \url{https://guitex.org/home/images/doc/GuideGuIT/introcodifiche.pdf} dal ti\-tolo \emph{Introduzione alle codifiche in entrata e in uscita}. Il paragrafo~\ref{sec:lingue} descrive come impostare il file sorgente della tesi per comporre il testo in diverse lingue o per impostare una lingua principale diversa dall'italiano. È essenziale per comporre tesi in programmi di doppia laurea. Infatti \TOPtesi è stato creato anche per poter soddisfare le esigenze che un numero sempre maggiore di laureandi incontrano quando partecipano a programmi di doppio titolo come quelli europei Erasmus, Life Long Learning, Erasmus Mundus, eccetera; le tesi svolte in questi percorsi solitamente richiedono l'uso di altre lingue oltre o in sostituzione dell'italiano. \TOPtesi viene incontro a queste esigenze sia grazie all'uso di \pdfLaTeX\ o \XeLaTeX\ o \LuaLaTeX\ che sono in grado di gestire più di una ottantina di lingue, sia perché quasi tutti i comandi che devono essere usati per il frontespizio e per molte strutture interne sono completamente configurabili in accordo con le lingue usate. Il paragrafo~\ref{sec:lingue} provvede a spiegare come eseguire queste configurazioni. @@ -434,7 +438,7 @@ Per la questione codifiche e la questione lingue, due aspetti che hanno forti co \TOPtesi non serve solo per comporre tesi di laurea in ingegneria benché sia nato in quest'ambiente disciplinare. Sono al corrente che il pacchetto \TOPtesi è stato usato per comporre almeno una tesi di filologia greca classica, e almeno una tesi di commento ad un testo copto altomedievale. Di queste sono sicuro, ma ho informazioni indirette che sono state composte altre tesi in lingue moderne e antiche che facevano uso di alfabeti diversi da quello cosiddetto “latino”. Al tempo di quelle due tesi sul greco antico e sul copto altomedievale non esistevano ancora i programmi del sistema \TeX, \XeLaTeX\ e \LuaLaTeX; oggi che sono disponibili forse sarebbero state composte più facilmente con uno di questi due programmi; ma con questi è obbligatorio usare la codifica d'entrata \opt{utf8}\footnote{In realtà si potrebbero anche usare le codifiche a 8~bit tipiche di \pdfLaTeX, ma bisogna ricorrere ad artifici che non vale la pena usare quando sono disponibili i font OpenType; sarebbe stato necessario farlo per il copto altomedievale e per il copto liturgico, per i quali ho creato solo font con codifiche a 8~bit.} e font codificati UNICODE, come i font OpenType. -La codifica di entrata \opt{utf8} è consigliabile anche se si usa \pdfLaTeX, ma non è imposta, quindi \TOPtesi è “indifferente"' alla codifica d'entrata purché glielo si dica: \textcolor{red}{è quindi compito e responsabilità del laureando quello di specificare la codifica d'entrata. Similmente in relazione alla lingua o alle lingue usate è compito del laureando specificare la o le codifiche dei font da usare e di specificare i nomi di tali font.} +La codifica di entrata \opt{utf8} è consigliabile anche se si usa \pdfLaTeX, ma non è imposta, quindi \TOPtesi è “indifferente"' alla codifica d'entrata purché glielo si dica: \textcolor{red}{è quindi compito e responsabilità del laureando quello di specificare la codifica d'entrata. Similmen\-te in relazione alla lingua o alle lingue usate è compito del laureando specificare la o le codifiche dei font da usare e di specificare i nomi di tali font.} Infine il capitolo~\ref{cap:comandispecifici} contiene tutti i comandi e gli ambienti introdotti da \TOPtesi per la composizione del frontespizio e per la sua personalizzazione, per la composizione di strutture di testo o di figure in estensione a quelle normali di \LaTeX, e via di questo passo. @@ -444,12 +448,12 @@ Questo testo è stato composto scrivendo sia in italiano sia in inglese con alcu \section{Errori da evitare} -Tuttavia si abbia anche cura di \textcolor{red}{non copiare nel preambolo di una tesi da comporre con \TOPtesi un preambolo recuperato dalla tesi di un amico o, peggio ancora, da siti generici della rete!}. Sarebbe una operazione fonte di molte delusioni, perché da una parte potrebbero venire caricati pacchetti incompatibili con \TOPtesi, dall'altro alcuni comandi di \TOPtesi ne potrebbero venire modificati con funzionalità diverse da quelle previste; infine nei siti “non certificati” della rete si trovano versioni obsolete, fonte di innumerevoli delusioni. Potrebbero anche manifestarsi dei conflitti fra pacchetti caricati nel preambolo e quelli già caricati da \TOPtesi. Un modello di tesi copiato da un amico può esporre anche a delusioni incredibili, mancanza di supporto on line e incomprensioni di vario genere e a notevoli perdite di tempo anche quando l'aiuto viene richiesto direttamente a me (per favore, passare sempre attraverso il Forum del \GuIT); a questo proposito si veda quanto scritto nel capitolo~\ref{ch:customise}. \emph{Per questo motivo da questa versione~6 di \TOPtesi, viene fatto un controllo e se la classe non carica la giusta versione del modulo \pack{toptesi.sty}, emette un messaggio molto visibile e termina la compilazione immediatamente} +Tuttavia si abbia anche cura di \textcolor{red}{non copiare nel preambolo di una tesi da comporre con \TOPtesi un preambolo recuperato dalla tesi di un amico o, peggio ancora, da siti generici della rete!} Sarebbe una operazione fonte di molte delusioni, perché da una parte potrebbero venire caricati pacchetti incompatibili con \TOPtesi, dall'altro alcuni comandi di \TOPtesi ne potrebbero venire modificati con funzionalità diverse da quelle previste; infine nei siti “non certificati” della rete si trovano versioni obsolete, fonte di innumerevoli delusioni. Potrebbero anche manifestarsi dei conflitti fra pacchetti caricati nel preambolo e quelli già caricati da \TOPtesi. Un modello di tesi copiato da un amico può esporre anche a delusioni incredibili, mancanza di supporto on line e incomprensioni di vario genere e a notevoli perdite di tempo anche quando l'aiuto viene richiesto direttamente a me (per favore, passare sempre attraverso il Forum del \GuIT); a questo proposito si veda quanto scritto nel capitolo~\ref{ch:customise}. \emph{Per questo motivo da questa versione~6 di \TOPtesi, viene fatto un controllo e se la classe non carica la giusta versione del modulo \pack{toptesi.sty}, emette un messaggio molto visibile e termina la compilazione immediatamente} \section{Pacchetti già caricati da \TOPtesi} Vale la pena di elencare i pacchetti o moduli già caricati dalla classe \class{toptesi}, al fine di evitare di ricaricarli nel preambolo della propria tesi. \begin{description}[noitemsep]\def\Item[#1]{\item[\normalfont\pack{#1}]} -\Item[toptesi] è il file di macro di \TOPtesi; potrebbe anche essere usato con una classe diversa da \class{toptesi}; la classe \class{toptesi} però lo carica specificandone la data in modo che se la versione presente sul proprio calcolatore fosse obsoleta, verrebbe almeno generato un avviso (Warning) che lo segnala. +\Item[toptesi] è il file di macro di \TOPtesi; potrebbe anche essere usato con una classe diversa da \class{toptesi}; la classe \class{toptesi} però lo carica specificandone la data in modo che se la versione presente sul proprio calcolatore fosse obsoleta, viene emesso un avviso d'errore e il processo di composizione viene immediatamente interrotto. % \Item[graphicx] serve per gestire diverse funzioni grafiche e per l'inclusione di file grafici esterni, come fotografie, disegni, e simili. % @@ -458,7 +462,7 @@ Vale la pena di elencare i pacchetti o moduli già caricati dalla classe \class{ \Item[xspace] serve per definire macro che capiscono da sole se il testo che compongono viene seguito da uno spazio o da un segno analfabetico. In genere viene suggerito di scrivere, per esempio, \verb*|\LaTeX\ |, oppure \verb*|\LaTeX{} |, oppure \verb*|{\LaTeX} | perché lo spazio dopo il logo di \LaTeX non sparisca; con l'uso dello spazio intelligente di questo pacchetto non è più necessario ricorrere a nulla di più che scrivere \verb*|\LaTeX |. % -\Item[xparse] mette a disposizione dell'utente delle macro potentissime per definire altre macro; le sue funzionalità sono state usate in diversi moduli di questo pacchetto; un utente esperto, dopo averne letto la documentazione ed averla capita a fondo, può usare questo pacchetto senza bisogno di andarlo a cercare in rete. +\Item[xparse] mette a disposizione dell'utente delle macro potentissime per definire altre macro; le sue funzionalità sono state usate in diversi moduli di questo pacchetto; un utente esperto, dopo averne letto la documentazione ed averla capita a fondo, può usare questo pacchetto senza bisogno di andarlo a cercare in rete. inoltre, dal 2020, molte funzionalità di \pack{xparse} fanno già perte del nucleo di \LaTeX, quindi, a meno che non se ne usino le funzionalità ancora sperimentali, non c'è nemmeno bisogno di caricare questo pacchetto; la lettura della sua documentazione serve, però, ancora oggi. % \Item[fancyvrb] serve per comporre testo verbatim in modo più personalizzabile che con i semplici comandi del nucleo di \LaTeX; tuttavia quando il laureando deve listare i programmi che ha scritto per svolgere le ricerche connesse con la sua tesi, è comodo disporre di un comando che importi un file esterno inserendolo direttamente in modo verbatim nel file della propria tesi. Esistono altri pacchetti che permettono di eseguire questa operazione, ma questo ha la proprietà di lavorare correttamente anche con testi codificati~\opz{utf8}. In \TOPtesi serve anche per creare un ambiente \amb{pdfxmetadata} in grado di produrre il file che serve al pacchetto \pack{pdfx} per introdurre nel file PDF finale i metadati relativi al particolare documento che si vuole comporre; quei metadati sono richiesti dalle norme ISO sull'archiviabilità. Nel seguito si mostreranno degli esempi. @@ -475,9 +479,9 @@ Vale la pena di elencare i pacchetti o moduli già caricati dalla classe \class{ % \Item[babel] viene caricato con le opzioni \opt{english} e \opt{italian}, cosicché l'italiano risulta svolgere le funzioni della lingua principale; questo pacchetto viene caricato solo se si compone la tesi con \prog{pdflatex}, che \TOPtesi riconosce da solo grazie all'uso del pacchetto \pack{iftex}. Con l'opzione \chiave{tipotesi}{scudo}, invece, l'inglese viene impostato come lingua principale. % -\Item[polyglossia] viene caricato solo se la tesi viene composta con \XeLaTeX\ o \LuaLaTeX. L'ita"liano viene specificato come lingua principale, e l'inglese come altra lingua. Con l'opzione \chiave{tipotesi}{scudo} l'inglese viene viene invece impostato come lingua principale. +\Item[polyglossia] viene caricato solo se la tesi viene composta con \XeLaTeX\ o \LuaLaTeX. L'ita"liano viene specificato come lingua principale, e l'inglese come altra lingua. Con l'opzione \chiave{tipotesi}{scudo} l'inglese viene invece impostato come lingua principale. % -\Item[pdfx] ora deve venire caricato esplicitamente dall'utente per produrre un file possibilmen"te conforme al formato PDF/A; nelle versioni precedenti esso veniva caricato specifi"cando l'opzione \opt{pdfa}. Ora l'opzione è ancora attiva, ma il suo scopo è solo quello di emettere l'avviso di consultare la documentazione. Per usare correttamente \pack{pdfx} \TOPtesi carica anche il pacchetto che segue e lo fa indipendentemente dal fatto che si voglia usare \pack{pdfx}. +\Item[pdfx] ora deve venire caricato esplicitamente dall'utente per produrre un file possibilmen"te conforme al formato PDF/A; nelle versioni precedenti esso veniva caricato specifi"cando l'opzione \opt{pdfa}. Ora l'opzione è ancora attiva, ma il suo scopo è solo quello di emettere l'avviso di consultare la documentazione. Per usare correttamente \pack{pdfx} \TOPtesi carica anche il pacchetto che segue e lo fa indipendentemente dal fatto che si voglia usare \pack{pdfx} per comporre un file archiviabile. % \Item[hyperref] serve per comporre i collegamenti ipertestuali. Non è il caso di preoccuparsi di quando \TOPtesi carica \pack{hyperref} perché ci pensa lui a usarlo al momento opportuno. Si veda più avanti per sapere come e quando eventualmente configurare \pack{hyperref} con le sue opzioni. \end{description} @@ -504,7 +508,7 @@ Per motivi diversi non si sono caricati altro che pacchetti funzionali alla clas È certo che quegli ulteriori pacchetti sono utilissimi per ingegneri, fisici e matematici, forse anche per studiosi di altre discipline, ma è probabile che non siano utili per le tesi umanistiche. Il concetto alla base di queste scelte è il seguente: è bene non caricare pacchetti di utilità ipotetica sulla base del detto: “non si sa mai, potrebbero tornare utili”. Alcuni di questi pacchetti sono stati caricati per comporre questa guida, perché vengono usati per davvero; ma, in generale, meno pacchetti si caricano, meno possibilità di conflitti si generano\footnote{Tali conflitti non dovrebbero mai generarsi, tuttavia in un sistema aperto come il sistema \TeX, che accetta contributi da “chiunque”, è inevitabile che non tutti i collaboratori seguano gli stessi stili di programmazione; per cui i conflitti sono molto rari, ma purtroppo ci sono.} -Non si è caricato nulla per comporre la bibliografia (eccetto per il modulo ScuDo; si veda come evitare quel caricamento nella sezione specifica); l'utente è completamente responsabile e autonomo di scegliere una composizione manuale o automatica; in questo secondo caso esistono molti pacchetti sia per \pdfLaTeX\ sia per \XeLaTeX e \LuaLaTeX. Personalmente debbo ammettere che mi piace molto lo stile generato dal pacchetto \pack{natbib} e sulla base dei suoi file di stile bibliografico me ne sono creati alcuni molto personalizzati; ma in generale consiglierei di usare il pacchetto \pack{biblatex} dalle funzionalità molto avanzate e in grado di caricare a sua volta diversi moduli di configurazione (da scegliere fra una trentina di moduli); il pacchetto è particolarmente efficace se si usa il programma \prog{biber} per estrarre dai propri database bibliografici solo le opere da citare, elencandole nella bibliografia in modi diversi e consentendo diversi stili di citazione nel testo e nelle note. L'unico svantaggio di \pack{biblatex} è la lunghezza del suo manuale d'uso (\texttt{texdoc biblatex}); esso è necessariamente lungo proprio perché le funzionalità del pacchetto sono sterminate. +Non si è caricato nulla per comporre la bibliografia (eccetto per il modulo ScuDo; si veda come evitare quel caricamento nella sezione specifica); l'utente è completamente responsabile e autonomo di scegliere una composizione manuale o automatica; in questo secondo caso esistono molti pacchetti sia per \pdfLaTeX\ sia per \XeLaTeX e \LuaLaTeX. Personalmente debbo ammettere che mi piace molto lo stile generato dal pacchetto \pack{natbib} e, sulla base dei suoi file di stile bibliografico, me ne sono creati alcuni molto personalizzati; ma in generale consiglierei di usare il pacchetto \pack{biblatex} dalle funzionalità molto avanzate e in grado di caricare a sua volta diversi moduli di configurazione (da scegliere fra una trentina di moduli); il pacchetto è particolarmente efficace se si usa il programma \prog{biber} per estrarre dai propri database bibliografici solo le opere da citare, elencandole nella bibliografia in modi diversi e consentendo diversi stili di citazione nel testo e nelle note. L'unico svantaggio di \pack{biblatex} è la lunghezza del suo manuale d'uso (\texttt{texdoc biblatex}); esso è necessariamente lungo proprio perché le funzionalità del pacchetto sono sterminate. Non si sono caricati nemmeno i pacchetti per il disegno programmato come, per esempio, \pack{tikz}; a un laureando in ingegneria certamente servono, a un laureando in letteratura medievale difficilmente potrebbero servire. @@ -513,7 +517,7 @@ Non venga in mente al laureando in discipline che fanno uso della matematica del \section{Pacchetti da non caricare affatto} -\textcolor{red}{Non si devono assolutamente caricare pacchetti che modifichino l'aspetto della pagina, né caricare pacchetti che modifichino la composizione dei titoli o delle didascalie o delle note}; eccezionalmente si può caricare il pacchetto \pack{caption}; \TOPtesi verifica se tale pacchetto è stato effettivamente caricato e, nel caso, non definisce nemmeno le macro che esso userebbe per le sue didascalie. +\textcolor{red}{Non si devono assolutamente caricare pacchetti che modifichino l'aspetto della pagina, né caricare pacchetti che modifichino la composizione dei titoli o delle didascalie o delle note}; eccezionalmente si può caricare il pacchetto \pack{caption}; \TOPtesi verifica se tale pacchetto è stato effettivamente caricato e, nel caso, non definisce nemmeno le macro che \TOPtesi stesso userebbe per le sue didascalie. Se si vuole fare questo genere di modifiche, stile della pagina, testatine, piedini, note,~\dots\ è meglio rivolgersi ad altre classi diversamente configurabili; cito fra le tante \class{suftesi}, \class{sapthesis}, \class{unifith}; ma quando si va a leggerne la documentazione si scopre che tutti vietano la modifica dell'aspetto della pagina o dei titoli o delle didascalie, a meno che quelle stesse classi non dispongano di loro comandi già predisposti per la personalizzazione di alcuni di quegli elementi. In particolare \class{sufftesi} consente moltissime personalizzazioni che riguardano prevalentemente il testo, oltre alla geometria della pagina; esso è una validissima alternativa a \TOPtesi. @@ -529,9 +533,9 @@ In particolare, anche se \TOPtesi è costruita sopra la classe \class{report}, d \begin{description}[noitemsep] \item[\cs{frontmatter}] è l'impostazione di default; non è necessario specificare questo comando; la differenza rispetto alla definizione della classe \class{book} consiste nel fatto che per impostazione predefinita \emph{non} usa la numerazione romana per le pagine; questo tipo di numerazione si può ottenere solo con l'opzione della classe \chiave{numerazioneromana} che, se impostata, modifica l'aspetto dei numeri usando il maiuscoletto per quelli romani, invece delle cifre arabe. I comandi di sezionamento non asteriscati non sono numerati ma sono elencati nell'indice; tuttavia al primo comando \cs{chapter} che il compilatore incontra, passa automaticamente alla \cs{mainmatter}. Per questo i capitoli corrispondenti ai ringraziamenti e al sommario sono ottenuti mediante comandi specifici proprio per non commutare alla \cs{mainmatter}. % -\item[\cs{mainmatter}] Numera i capitoli e li indica nell'indice generale; se la numerazione della parte iniziale era romana, la cambia in numerazione con cifre arabe ricominciando da~1, mentre se la numerazione della parte iniziale era in cifre arabe la prosegue senza cambiare aspetto. Come detto, non è necessario, anche se non è proibito, esplicitare questo comando, perché la commutazione dalla parte iniziale a quella principale della tesi avviene automaticamente quando il programma di compilazione incontra il primo comando \cs{chapter}. Questo implica che un'eventuale prefazione o presentazione del lavoro sia formata da un capitolo numerato; questa è l'impostazione predefinita di \TOPtesi; se si vuole fare diversamente bisogna ricorrere al comando \cs{chapter*} ma se si vuole che sia indicato nell'indice, bisogna usare il comando \cs{addcontentsline} con i suoi vari argomenti; invece, con l'attuale versione di \TOPtesi, per avere le intestazioni nelle testatine, basta specificare uno stile di pagina che disponga di testatine prima di invocare quel comando asteriscato. +\item[\cs{mainmatter}] Numera i capitoli e li indica nell'indice generale; se la numerazione della parte iniziale era romana, la cambia in numerazione con cifre arabe ricominciando da~1, mentre se la numerazione della parte iniziale era in cifre arabe la prosegue senza cambiare aspetto. Come detto, non è necessario, anche se non è proibito, esplicitare questo comando, perché la commutazione dalla parte iniziale a quella principale della tesi avviene automaticamente quando il programma di compilazione incontra il primo comando \cs{chapter}. Questo implica che un'eventuale prefazione o presentazione del lavoro sia formata da un capitolo numerato; questa è l'impostazio\-ne predefinita di \TOPtesi; se si vuole fare diversamente bisogna ricorrere al comando \cs{chapter*} ma se si vuole che sia indicato nell'indice, bisogna usare il comando \cs{addcontentsline} con i suoi vari argomenti; invece, con l'attuale versione di \TOPtesi, per avere le intestazioni nelle testatine, basta specificare uno stile di pagina che disponga di testatine prima di invocare quel comando asteriscato e anche il comando \cs{chapter*}, a differenza del comando definito dalle classi standard, imposta le testatine anche con un titolo breve facoltativo, rispetto al titolo impostato con l'argomento obbligatorio. -Nella parte principale non ha senso inserire un capitolo non numerato, tranne, forse alla fine per comporre un breve capitoletto conclusivo o una postfazione. Se lo si facesse e il capitolo fosse strutturato in paragrafi, sottoparagrafi, eccetera, questi verrebbero numerati con il numero del capitolo precedente; l che sarebbe assurdo. Quindi un eventuale capitoletto conclusivo o una postfazione deve essere semplice e non strutturato; può essere inserito prima di eventuali appendici numerate; con le versioni 6.4.04 e seguenti di \TOPtesi le appendici che seguono il predetto capitoletto non numerato prima di incontrare il comando \cs{backmatter} (che non numererebbe le appendici, quindi adatto a riceverne una sola) verrebbero numerate esplicitamente con le solite lettere maiuscole. +Nella parte principale non ha senso inserire un capitolo non numerato, tranne, forse alla fine per comporre un breve capitoletto conclusivo o una postfazione. Se lo si facesse e il capitolo fosse strutturato in paragrafi, sottoparagrafi, eccetera, questi verrebbero numerati con il numero del capitolo precedente; il che sarebbe assurdo. Quindi un eventuale capitoletto conclusivo o una postfazione deve essere semplice e non strutturato; può essere inserito prima di eventuali appendici numerate; con le versioni 6.4.04 e seguenti di \TOPtesi le appendici che seguono il predetto capitoletto non numerato prima di incontrare il comando \cs{backmatter} (che non numererebbe le appendici, quindi adatto a riceverne una sola) verrebbero numerate esplicitamente con le solite lettere maiuscole. % \item[\cs{backmatter}] Inizia la composizione della parte finale della tesi. Generalmente questa parte finale contiene la bibliografia, ma può contenere anche liste di acronimi, nomenclature, indice analitico,~\dots, tutte parti non obbligatorie, ma talvolta necessarie a seconda del tipo di tesi e del suo contenuto. I comandi \cs{chapter}, quando si compone fronte"/retro, possono iniziare anche sulle pagine pari e non sono numerati. Perciò se la tesi contiene una sola appendice, questa non ha bisogno di numerazione e può costituire il primo capitolo della parte finale; se invece le appendici sono più di una, vanno inserite verso la fine della parte principale, dopo aver esplicitato l'istruzione \cs{appendix}, che cambia la numerazione dei capitoli da numerica a letterale e cambia il nome “Capitolo” nel nome “Appendice” (espressi nella lingua principale della tesi). % @@ -581,7 +585,7 @@ detti anche “word processor”, che fanno parte più o meno di default di ogni dotazione iniziale di qualsiasi PC di qualunque marca e con qualunque sistema operativo. -Fra i vari programmi disponibili per la composizione di testi, uno in particolare spicca per la sua particolarità: \LaTeX. Veramente esso non è un word processor, ma è un programma di \emph{ipocomposizione}: il suo scopo non è finalizzato al testo in quanto tale, bensì alla sua composizione tipografica. Ma il processo avviene in modo sequenziale: l'autore scrive il suo testo badando al contenuto; successivamente il programma lo mette in forma tipografica. +Fra i vari programmi disponibili per la composizione di testi, uno in particolare spicca per la sua particolarità: \LaTeX. Veramente esso non è un word processor, ma è un programma di \emph{tipocomposizione}: il suo scopo non è finalizzato al testo in quanto tale, bensì alla sua composizione tipografica. Ma il processo avviene in modo sequenziale: l'autore scrive il suo testo badando al contenuto; successivamente il programma lo mette in forma tipografica. {\tolerance 3000 \LaTeX è un linguaggio di mark-up, una specie di linguaggio di programmazione, che viene interpretato da altri programmi, come \prog{pdftex}, \prog{xetex}, e \prog{luatex}. La prima versione del sistema \TeX è stata creata nel 1978, ma il programma è usatissimo ancora oggi, naturalmente molto aggiornato e ampliato, e questo fatto è una cosa insolita nel panorama turbolento di novità dell'informatica.\par} @@ -603,8 +607,8 @@ fare. La cosa era o stava diventando insostenibile durante i vari anni in cui uscivano i successivi volumi dell'opera di Knuth \emph{The Art of Computer Programming}, e così Knuth si dedicò alla creazione -della tipografia elettronica realizzando \TeX che, -ripeto, è ancora in ottima salute e molto vivace dopo una quarantina d'anni di onorato servizio. +della tipografia elettronica realizzando \TeX che, ripeto, è ancora in +ottima salute e molto vivace dopo moltissimi anni di onorato servizio. Inizialmente l'uso di \TeX per eseguire direttamente la composizione era piuttosto difficile, e ogni utente doveva prima o poi imparare a scriversi delle macroistruzioni che gli consentissero di agevolare il suo lavoro. @@ -681,7 +685,7 @@ Oggi, però, anche su una macchina Windows consiglierei di installare la distrib \item[Linux] Il sistema \TeX è spesso parte integrante di qualunque variante di Linux, anche se non viene installato di default; basta inserire il disco di installazione oppure basta connettersi in rete e invocare uno dei vari programmi come \prog{apt-get}, \prog{rpm}, \prog{yast} o~\dots\ per scaricare tutto quanto serve e per configurare l'installazione. Bisogna ricordarsi che Linux è un po' più “ruspante” di Windows, e quindi la configurazione richiede un po' più di attenzione e di “smanettamento” con la riga di comando; ma a questo i “pinguini doc” ci sono abituati; in compenso si ha il beneficio di avere tutto quanto il software già predisposto fin dalla nascita per macchine UNIX e Linux e quindi si evitano tutti i (rarissimi) piccoli bug che si incontrano quando le cose sono tradotte per altri sistemi operativi. -Si faccia però attenzione alle distribuzioni Debian; sono eccellenti e ne è garantita la compatibilità con ogni sistema operativo conforme ai dettami del consorzio Debian, ma solitamente sono in ritardo di alcuni mesi, in passato anche di un paio di anni, rispetto alle versioni aggiornate pubblicate dal \TeX Users Group! Appena si può si installi la distribuzione \TeXLive completa scaricata dal sito \url{http://www.tug.org/ctan.html} ufficiale. Esiste in rete un testo intitolato \emph{texlive-ubuntu.pdf}\footnote{Questo testo è stato scritto nel 2010 per installare \TeXLive su Ubuntu, ma ci sono anche le istruzioni per Fedora e OpenSuse; con piccole varianti sono istruzioni che vanno bene per qualunque macchina Linux.}, che si trova in rete con qualunque motore di ricerca; specifica come installare \TeXLive fresco di giornata (e aggiornabile sistematicamente come detto sopra per le macchine Windows) a fianco della distribuzione Debian di \TeXLive; quest'ultima serve per soddisfare le dipendenze di altri programmi Debian; la prima, invece, serve per lavorare davvero. +Si faccia però attenzione alle distribuzioni Debian; sono eccellenti e ne è garantita la compatibilità con ogni sistema operativo conforme ai dettami del consorzio Debian, ma solitamente sono in ritardo di alcuni mesi, in passato anche di un paio di anni, rispetto alle versioni aggiornate pubblicate dal \TeX Users Group! Appena si può si installi la distribuzione \TeXLive completa scaricata dal sito \url{http://www.tug.org/ctan.html} ufficiale. Esiste in rete un testo intitolato \emph{texlive-ubuntu.pdf}\footnote{Questo testo è stato scritto nel 2010 per installare \TeXLive su Ubuntu, ma ci sono anche le istruzioni per Fedora e OpenSuse; con piccole varianti sono istruzioni che vanno bene per qualunque macchina Linux.}, che si trova in rete con qualunque motore di ricerca; specifica come installare \TeXLive fresco di giornata (e aggiornabile sistematicamente come detto sopra per le macchine Windows) a fianco della distribuzione Debian di \TeXLive; quest'ultima serve per soddisfare le dipendenze di altri programmi Debian; la prima, invece, serve per tipocomporre davvero. \item[Mac] Gli utenti delle piattaforme Macintosh e possessori di un portatile o di un desktop che funziona con il sistema operativo Mac~OS~X hanno anche loro a disposizione una distribuzione che si chiama Mac\TeX, che viene installata e configurata con un particolare software adatto alla specificità di quel sistema operativo; Mac\TeX è sostanzialmente \TeXLive arricchito con alcune applicazioni specifiche per Mac, in particolare il processo di installazione. Si cerchi il nome “MacTeX” con un qualunque motore di ricerca che indicherà un sito dal quale si può scaricare il pacchetto di installazione (piuttosto grosso); alla fine del download viene chiesto se continuare con l'installazione; rispondendo affermativamente, il software viene scaricato sul disco che si sarà indicato, ma quel che è più comodo, esso è già completo, come ogni distribuzione e installazione \TeXLive. Il sistema Mac\TeX con il suo editor \TeXShop è preimpostato per produrre il suo output in formato PDF; se ne tenga conto leggendo attentamente la documentazione. Il pacchetto è già dotato dello shell editor \TeXShop che fa ricorso ad un suo previewer interno per il formato PDF; questo previewer consente di eseguire sia l'\textit{inverse search} sia la \textit{forward search}. Questo è estremamente comodo durante la fase di editing del documento. @@ -690,17 +694,17 @@ Non solo; \TeXShop ha una impostazione, attivabile e disattivabile in qualunque Merita segnalare che per tutte e tre le piattaforme è disponibile e, talvolta, è già installato di default anche l'editor \TeXworks (multipiattaforma) che, con il suo visualizza"tore interno, consente di eseguire la ricerca diretta e inversa. Ad alcuni, abituati a interfacce grafiche fornite di molte barre piene di icone per eseguire il possibile e l'impossibile, \TeXworks piace poco perché la sua schermata è minimale, ma c'è un motivo: nei moderni schermi larghi, con rapporto di forma 16:9, lo schermo contiene accostate e senza sovrapposizioni sia la finestra di editing sia quella del testo composto; questo è molto comodo, più di quanto si possa immaginare, per “lavorare” agevolmente il documento da comporre. Benché anche Texmaker e TeXstudio siano in grado di accostare le due schermate, essi consumano molto spazio per le barre superiori, inferiori e laterali, cosicché le vere aree destinate all'editing o alla visualizzazione ne risultano corrisponden"temente ristrette, tanto da far preferire \TeXworks sui laptop e ancor di più sui netbook. -Poi sono necessari i programmi accessori per visualizzare sullo schermo e/o stampare su carta i prodotti della composizione. Ognuna delle tre piattaforme tipo può avere già installati sia i visualizzatori dei file in formato \texttt{.dvi}, \texttt{.ps} o \texttt{.pdf}. Il formato \texttt{.dvi} è il formato nativo del sistema \TeX quindi il software per visualizzare e stampare arriva insieme alla distribuzione già installata, però oggi è un formato che non si usa quasi più. Per il formato \texttt{.ps} bisogna disporre di qualcosa come \prog{ghostscript} e/o \prog{GSView} o altri simili software che con Linux sono solitamente già disponibili insieme al sistema. In ogni caso non è difficile trovare in rete i luoghi da dove scaricarli anche per gli altri sistemi operativi. Per il formato \texttt{.pdf} Linux, come al solito, è già attrezzato, ma non è male per tutti e tre i tipi di piattaforma il programma \prog{Adobe Reader} che la Adobe mette a disposizione di chiunque gratuitamente e per tutte le possibili piattaforme\footnote{Sembra che con Linux le cose non siano più così, ma in rete si trovano ancora delle installazioni non recentissime, ma funzionanti, anche per Linux.}. Naturalmente l'\prog{Adobe Reader} è una specie di programma dimostrativo, per altro eccellente; ma credo che la Adobe lo metta a disposizione per far venire l'acquolina in bocca e per invogliare a comperare il prodotto commerciale completo \prog{Adobe Acrobat}; per gli studenti non costa molto in accordo con il programma Education di quell'azienda. Secondo me vale ogni dollaro che costa, ma ovviamente questo giudizio dipende dall'uso che se ne fa. +Poi sono necessari i programmi accessori per visualizzare sullo schermo e/o stampare su carta i prodotti della composizione. Ognuna delle tre piattaforme tipo può avere già installati sia i visualizzatori dei file in formato \texttt{.dvi}, \texttt{.ps} o \texttt{.pdf}. Il formato \texttt{.dvi} è il formato nativo del sistema \TeX quindi il software per visualizzare e stampare arriva insieme alla distribuzione già installata, però oggi è un formato che non si usa quasi più. Per il formato \texttt{.ps} bisogna disporre di qualcosa come \prog{ghostscript} e/o \prog{GSView} o altri simili software che con Linux sono solitamente già disponibili insieme al sistema. In ogni caso non è difficile trovare in rete i luoghi da dove scaricarli anche per gli altri sistemi operativi. Per il formato \texttt{.pdf} Linux, come al solito, è già attrezzato, ma non è male per tutti e tre i tipi di piattaforma il programma \prog{Adobe Reader} che la Adobe mette a disposizione di chiunque gratuitamente e per tutte le possibili piattaforme\footnote{Sembra che con Linux le cose non siano più così, ma in rete si trovano ancora delle installazioni non recentissime, ma funzionanti, anche per Linux.}. Naturalmente l'\prog{Adobe Reader} è una specie di programma dimostrativo, per altro eccellente; ma credo che la Adobe lo metta a disposizione per far venire l'acquolina in bocca e per invogliare a comperare il prodotto commerciale completo \prog{Adobe Acrobat}; per gli studenti non costava molto in accordo con il programma Education di quell'azienda. Secondo me vale ogni dollaro che costava, ma ovviamente questo giudizio dipende dall'uso che se ne fa. Purtroppo ora le funzionalità di quel programma sono disponibili solo in rete con abbonamenti mensili o annuali, e non mi risulta che esista ancora il programma Education. Vedi, però, più avanti il programma gratuito \prog{veraPDF}. Oggi, invece, è molto importante disporre di visualizzatori PDF integrati con l'editor, in modo che siano predisposti per lavorare in tandem sia per mostrare costantemente a fianco della finestra di editing la finestra del file composto in formato PDF, sia per fare la ricerca diretta e inversa; oltre ai già citati \TeXShop (solo Mac) e \TeXworks (multipiattaforma) posso citare gli editor TeXstudio e Texmaker (multipiattaforma e molto simili fra loro); altri \emph{shell editor} non dispongono di un visualizzatore integrato, ma possono venire “sincronizzati” con visualizzatori esterni; per esempio su piattaforme Windows il visualizzatore sincronizzabile è SumatraPDF; su Linux è Okular. Su Mac esistono altri due editor integrati: TeXnicle (gratuito) e Texpad (commerciale, ma con un costo accessibilissimo) che non solo hanno il loro visualizzatore sincronizzato, ma le loro “finestre” sono in realtà due parti di una stessa finestra; ingrandendola a pieno schermo si ottiene una comodità di composizione difficilmente ottenibile con altri sistemi. Anche Emacs (ne esistono versioni per ogni piattaforma), arricchito con il plug-in Auctex, che lo rende particolarmente adatto per gestire i file del sistema \TeX, è sincronizzabile con vari visualizzatori PDF; avendo la pazienza di imparare ad usarlo in modo non superficiale, Emacs assieme ad Auctex rendono il lavoro con il sistema \TeX particolarmente comodo. -Per le piattaforme Windows il programma di installazione di \MiKTeX\ offriva la possibilità di installare \prog{TeXnicCenter}, ma lo sconsiglio vivamente, perché non è all'altezza delle distribuzioni moderne di \MiKTeX\ e di \TeXLive; oggi mi pare che \MiKTeX\ venga distribuito con TeXstudio. C'è anche lo \emph{shell editor} WinEdt (shareware), ottimo e dalla versione 8 in poi sembra che sia dotato di un visualizzatore integrato PDF (comunque è sincronizzabile con il visualizzatore SumatraPDF). +Per le piattaforme Windows il programma di installazione di \MiKTeX\ offriva la possibilità di installare \prog{TeXnicCenter}, ma lo sconsiglio vivamente, perché non è all'altez\-za delle distribuzioni moderne di \MiKTeX\ e di \TeXLive; oggi \MiKTeX\ viene distribuito con \prog{TeXworks}. Esiste anche lo \emph{shell editor} \prog{WinEdt} (shareware), ottimo e dalla versione 8 in poi sembra che sia dotato di un visualizzatore integrato PDF (comunque è sincronizzabile con il visualizzatore \prog{SumatraPDF}). A me sembra che sul Mac il miglior editor di tutti sia \TeXShop, automaticamente installato quando si usa la distribuzione Mac\TeX. “Migliore” significa qui il giusto compromesso fra la semplicità e l'efficienza e la validissima integrazione con il suo visualizzatore interno che consente di eseguire con un semplice click del mouse il passaggio da un punto della finestra di composizione del file sorgente al punto corrispon"dente nella finestra del documento composto in formato PDF, e viceversa. Suo “figlio” \TeXworks (multipiattaforma) sembra avere qualche funzionalità in meno (è vero, ma sono poche le funzionalità mancanti), ma ha una interfaccia comodissima per scoprire la codifica di un file \file{.tex} e per convertire il file in un'altra codifica; \TeXShop e \TeXworks sono auto"configurabili per ciascun file \file{.tex} grazie ad alcune righe di commenti speciali da scrivere in testa al file, cosa che rende il loro uso incredibilmente comodo. TeXstudio dalla versione 2.5 in poi è in grado di interpretare le stesse righe speciali di \TeXShop e di autoconfigurarsi di conseguenza (da settembre 2012). Anche \prog{emacs} con il plug in Auctex è in grado di usare righe di autoconfigurazione che però hanno una sintassi diversa da quelle di \TeXShop. Questa affermazione vale anche per \prog{Aquamacs}, che è una applicazione per Mac che integra direttamente \prog{emacs} e Auctex.\looseness=-1 -Per tutte e tre le piattaforme principali \prog{TeXStudio} offre certi vantaggi che è bene non trascurare; per esempio, la visualizzazione di parti composte del testo da comporre che richiedano più interazione fra il compositore e il software. Permette anche di disporre di una finestra laterale che contiene tutta la struttura ad albero del documento da comporre; cliccando su ogni ramo o rametto di questo albero, il programma sposta la finestra sul punto del file sorgente dove quella sezione comincia. Quasi tutti gli editor disponibili \emph{non} consentono di fare la ricerca inversa con il formato di uscita PDF, ma solo con il formato DVI. \prog{TeXShop} per Mac, e \prog{TeXworks}, \prog{TeXStudio} e \prog{TeXmaker} per tutte le piattaforme permettono di eseguire nativamente la ricerca inversa anche con il formato PDF, e questa particolarità è estremamente comoda. Per le piattaforme Windows esiste il visualizzatore PDF \prog{SumatraPDF} che può essere configurato per interagire con molti editor per poter essere usati assieme sia con la ricerca diretta sia con quella inversa. Va da sé, che se non ci sono esigenze diverse, il formato di uscita PDF è sicuramente quello da preferire. +Per tutte e tre le piattaforme principali \prog{TeXStudio} offre certi vantaggi che è bene non trascurare; per esempio, la visualizzazione di parti composte del testo da comporre che richiedano più interazione fra il compositore e il software. Permette anche di disporre di una finestra laterale che contiene tutta la struttura ad albero del documento da comporre; cliccando su qualsiasi ramo o rametto di questo albero, il programma sposta la finestra sul punto del file sorgente dove quella sezione comincia. Quasi tutti gli editor disponibili \emph{non} consentono di fare la ricerca inversa con il formato di uscita PDF, ma solo con il formato DVI. \prog{TeXShop} per Mac, e \prog{TeXworks}, \prog{TeXStudio} e \prog{TeXmaker} per tutte le piattaforme permettono di eseguire nativamente la ricerca inversa anche con il formato PDF, e questa particolarità è estremamente comoda. Per le piattaforme Windows esiste il visualizzatore PDF \prog{SumatraPDF} che può essere configurato per interagire con molti editor per poter essere usati assieme sia con la ricerca diretta sia con quella inversa. Va da sé, che se non ci sono esigenze diverse, il formato di uscita PDF è sicuramente quello da preferire. Mi sono ripetuto diverse volte nel descrivere gli editor per lavorare con il sistema \TeX? L'ho fatto apposta, a costo di essere noioso. Lavorare con editor efficienti, ben adattati al lavoro che si deve fare e che consentano la ricerca diretta e inversa fra la finestra di editing e quella del file composto in formato PDF è talmente importante, che le ripetizioni non sono mai abbastanza. @@ -877,7 +881,8 @@ Presso il Politecnico di Torino, l'ateneo preso come riferimento, le facoltà no \struttura{Ingegneria Strutturale} \corsodilaurea{Ingegneria di Ponti e Strade} \end{verbatim*} -Il nome del corso di laurea potrebbe essere facoltativo se la struttura didattica competente cura la didattica di un solo corso di laurea, ma quasi sicuramente questo corso non ha lo stesso nome della struttura didattica, quindi è opportuno specificarlo anche in questi casi; se invece la segreteria competente non richiede il nome di nessuna struttura didattica, allora il corso degli studi deve essere necessariamente indicato. Si noti: per facilitare l'inserimento di queste informazioni sono stati predisposti i comandi \cs{StrutturaDidattica}, equivalente a \cs{FacoltaDi}, e \cs{struttura}, equivalente a \cs{facolta}. +{\tolerance=3000 +Il nome del corso di laurea potrebbe essere facoltativo se la struttura didattica competente cura la didattica di un solo corso di laurea, ma quasi sicuramente questo corso non ha lo stesso nome della struttura didattica, quindi è opportuno specificarlo anche in questi casi; se invece la segreteria competente non richiede il nome di nessuna struttura didattica, allora il corso degli studi deve essere necessariamente indicato. Si noti: per facilitare l'inserimento di queste informazioni sono stati predisposti i comandi \cs{StrutturaDidattica}, equivalente a \cs{FacoltaDi}, e \cs{struttura}, equivalente a \cs{facolta}.\par} Per le tesi di dottorato della ScuDo, le cose, come si vedrà, sono molto più semplici, propio perché si fa riferimento ad un Scuola particolare per tesi tutte dello stesso tipo. @@ -925,13 +930,13 @@ La classe \class{toptesi} richiede un semplice preambolo e nient'altro. In altre Questo particolare documento contiene un lungo preambolo nel quale sono anche definiti molti comandi che mi sono serviti per comporlo. La parte essenziale, visto che ho compilato il documento con \LuaLaTeX, è la seguente: -\begin{Verbatim}[fontsize=\setfontsize{10.5}] +\begin{Verbatim}[fontsize=\setfontsize{10}] \documentclass[% corpo=12pt, tipotesi=monografia, twoside ]{toptesi} -\ProvidesFile{toptesi-it.tex}[[2020-05-12 v.0.9.47 TOPtesi Italian Documentation] +\ProvidesFile{toptesi-it.tex}[[2020-09-03 v.0.9.50 TOPtesi Italian Documentation] \usepackage{imakeidx}% Vedi documentazione \indexsetup{headers={\indexname}{\indexname}} \usepackage[a-1b]{pdfx}%%%% oppure [a-2b] @@ -975,7 +980,6 @@ enumitem,ragged2e,siunitx,curve2e,microtype} \makeindex[intoc,columns=2] \end{Verbatim} - Qualche commento non guasta. \begin{enumerate}[noitemsep] % @@ -1167,7 +1171,7 @@ Di tutte queste chiavi si parlerà più diffusamente nell'ultimo capitolo dove s \section{I moduli accessori} -Qui verranno descritti alcuni usi del modulo \pack{topfront} e degli altri moduli specifici per determinati tipi di tesi; si descrive brevemente anche il modulo \pack{topcoman}. I primi servono per comporre il frontespizio; il secondo mette a disposizione alcuni comandi utili. Né gli uni né l'altro sono indispensabili, ma sono utili. Questi pacchetti sono sempre caricati da \TOPtesi, tranne in alcuni casi specificati meglio più avanti. Ma il fatto di venire o non venire caricati dipende dall'utente, cioè dalle opzioni che egli specifica alla classe \class{toptesi} e dai pacchetti aggiuntivi che egli vuole usare; in altre parole l'utente non ha mai bisogno di caricare esplicitamente questi moduli ma può solo esplicitamente specificare azioni che ne impediscono il caricamento. +Qui verranno descritti alcuni usi del modulo \pack{topfront} e degli altri moduli specifici per determinati tipi di tesi; si descrive brevemente anche il modulo \pack{topcoman}. I primi servono per comporre il frontespizio; il secondo mette a disposizione alcuni comandi utili. Né gli uni né l'altro sono indispensabili, ma sono utili. Questi pacchetti sono sempre caricati da \TOPtesi, tranne in alcuni casi specificati meglio più avanti. Ma il fatto di venire o non venire caricati dipende dall'utente, cioè dalle opzioni che egli specifica alla classe \class{toptesi} e dai pacchetti aggiuntivi che egli vuole usare; in altre parole l'utente non ha mai bisogno di caricare esplicitamente questi moduli ma può solo esplicitamente specificare opzioni che ne selezionano uno; in mancanza di una selezione, viene caricato il modulo \pack{topfront}. %\goodpagebreak @@ -1192,7 +1196,7 @@ oppure \medskip \cs{logosede}\oarg{altezza}\marg{lista di nomi di file di loghi separati da virgole} \end{flushleft} -dove il valore prefissato per l'\meta{altezza} del logo è 25\,mm per la carta A4, ed è scalato proporzionalmente per carte di formato diverso; con l'argomento facoltativo si può specificare una \meta{altezza} leggermente maggiore o minore del valore predefinito. L'argomento \meta{nome del file del logo} o \meta{lista di nomi di file di loghi separati da virgole} è costituito da un solo nome di file o da una lista di nomi di file separati da virgole, corrispondenti ciascuno al logo di un diverso ateneo. Questi file devono avere i formati corrispondenti a una delle cinque estensioni consentite, ma non è necessario specificare il nome del file completo di estensione; questa specificazione potrebbe essere necessaria solo nel caso in cui si disponga del logo di uno stesso ateneo in diversi formati grafici (o, cosa da non fare mai, immagini o loghi diversi con il nome del loro file uguale e l'estensione diversa; questo genere di pasticci è fonte di numerosi errori, facilmente evitabili se si mantiene in ordine la scelta dei nomi e delle estensioni). +dove il valore prefissato per l'\meta{altezza} del logo è 25\,mm per la carta A4, ed è scalato proporzionalmente per carte di formato diverso; con l'argomento facoltativo si può specificare una \meta{altezza} leggermente maggiore o minore del valore predefinito. L'argo\-mento \meta{nome del file del logo} o \meta{lista di nomi di file di loghi separati da virgole} è costituito da un solo nome di file o da una lista di nomi di file separati da virgole, corrispondenti ciascuno al logo di un diverso ateneo. Questi file devono avere i formati corrispondenti a una delle cinque estensioni consentite, ma non è necessario specificare il nome del file completo di estensione; questa specificazione potrebbe essere necessaria solo nel caso in cui si disponga del logo di uno stesso ateneo in diversi formati grafici (o, cosa da non fare mai, immagini o loghi diversi con il nome del loro file uguale e l'estensione diversa; questo genere di pasticci è fonte di numerosi errori, facilmente evitabili se si mantiene in ordine la scelta dei nomi e delle estensioni). Il programma codificato nel modulo \pack{topfront} provvede a scalare tutti i loghi all'\meta{altezza} specificata e li compone affiancati su una sola riga distanziati mediante uno spazio predefinito di 3\,em; lo si può impostare ad un valore leggermente maggiore o minore tramite il comando \cs{setlogodistance}, per esempio: \begin{verbatim} @@ -1305,7 +1309,7 @@ Passando uno di questi file a uno dei programmi di composizione, si ottiene un d Il retrofrontespizio non è necessario in senso assoluto quando si vuole produrre il frontespizio isolato. Non è nemmeno necessario quando si vuole comporre la tesi intera, tranne per le tesi da comporre per la scuola ScuDo, dove è obbligatorio. Tuttavia il comando è disponibile e permette di aggiungere la dichiarazione legale in merito alla licenza, oppure il disclaimer richiesto in molte atenei, specialmente stranieri; questo disclaimer è una frase in lingua che l'autore scrive per auto"certificare che la tesi è tutta “farina del suo sacco”; esistono molte formule consolidate per questo disclaimer, ma ogni ateneo richiede la sua formula particolare; di solito è richiesta una firma autografa dell'autore della tesi in calce al disclaimer; così è, infatti, per le tesi della scuola ScuDo. -Per il Politecnico di Torino, la dissertazione di dottorato richiede una formula da comporre in questo modo: +Il Politecnico di Torino per la dissertazione di dottorato richiede una formula da comporre in questo modo: \begin{verbatim} This thesis is licensed under a Creative Commons License, Attribution -- Noncommercial -- NoDerivative Works 4.0 @@ -1352,7 +1356,7 @@ Turin, 29 of February 2345 \phantomsection\label{fig:disclaimer} \end{figure} -Il retrofrontespizio di questa documentazione è stato composto con i comandi seguenti\footnote{Questo codice contiene dei comandi \cs{ref} perché è servito per comporre l'intero documento dove le etichette invocate sono definite. Se si vuole usare questo codice per comporre il retrofrontespizio assieme al frontespizio, ma isolatamente dalla tesi (lo sconsiglio), bisogna sostituire quei comandi e i loro argomenti con i valori reali.}: +Il retrofrontespizio di questa documentazione è stato composto con i comandi seguenti\footnote{Questo codice contiene il comando \cs{pageref} perché è servito per comporre l'intero documento dove l'etichetta invocata è definita. Se si vuole usare questo codice per comporre il retrofrontespizio assieme al frontespizio, ma isolatamente dalla tesi (lo sconsiglio), bisogna sostituire quel comando e il suo argomento con il valore reale.}: \begin{verbatim} \retrofrontespizio{Questo testo è libero secondo le condizioni stabilite dalla \LaTeX Project Public Licence (LPPL) riportata @@ -1372,7 +1376,7 @@ Tutti i test che compaiono nell'ultimo capoverso sono funzionali per questa docu Non bisogna dimenticare che, se si vuole usare \prog{xelatex} o \prog{lualatex}, l'editor con cui vengono scritti i file sorgente deve essere configurato per registrarli sul disco fisso con la codifica \texttt{UTF-8}. Mi sono ripetuto? Sì, l'ho fatto apposta, perché è molto facile dimenticarsene. -Nell'esempio presentato nella pagina~\pageref{fig:altri4frontespizi} si è usato l'ambiente \amb{frontespizio*} che è disponibile a partire dalla versione~ 5.85 del pacchetto \TOPtesi. I comandi omonimi \cs{frontespizio} e \cs{frontespizio*} funzionano ancora, ma si suggerisce di usare gli ambienti. I moduli speciali per i vari tipi di tesi definiscono un ambiente speciale che si chiama \amb{ThesisTitlePage} configurato apposta per quei tipi di tesi e solo per quelli. Il modulo \pack{topfront} coi suoi ambienti \amb{frontespizio} e \amb{frontespizio*} è generico e non contiene la definizione dell'ambiente \amb{ThesisTitlePage} disponibile, invece, con gli altri moduli disponibili con \TOPtesi. +Nell'esempio presentato nella pagina~\pageref{fig:altri4frontespizi} si è usato l'ambiente \amb{frontespizio*} che è disponibile a partire dalla versione~5.85 del pacchetto \TOPtesi. I comandi omonimi \cs{frontespizio} e \cs{frontespizio*} funzionano ancora, ma si suggerisce di usare gli ambienti. I moduli speciali per i vari tipi di tesi definiscono un ambiente speciale che si chiama \amb{ThesisTitlePage} configurato apposta per quei tipi di tesi e solo per quelli. Il modulo \pack{topfront} coi suoi ambienti \amb{frontespizio} e \amb{frontespizio*} è generico e non contiene la definizione dell'ambiente \amb{ThesisTitlePage} disponibile, invece, con gli altri moduli disponibili con \TOPtesi. Vediamo le differenze: nella figura~\ref{fig:4frontespizi} si vedono sempre i loghi all'inizio della pagina; non ci sono filetti di nessun genere, il nome dell'università ci può essere o può mancare, le diverse tipologie di tesi hanno informazioni diverse. La differenza di posizione dei loghi dipende dall'usare l'ambiente \amb{frontespizio} che mette i loghi in testa, o l'ambiente \amb{frontespizio*} che mette i loghi nella parte inferiore della pagina; la figura~\ref{fig:frontespizi} nella pagina~\pageref{fig:frontespizi}, infatti, mostra i frontespizi di sinistra che sono stati composti con l'ambiente \amb{frontespizio} e quelli di destra composti con l'ambiente \amb{frontespizio*}. Il nome dell'ateneo appare o non appare a seconda che il comando \cs{ateneo} contenga un argomento vuoto o un argomento con un nome esplicito. Le altre informazioni dipendono da quali comandi si sono usati per caratterizzare la tesi triennale, magistrale o dottorale. Questi comandi verrano descritti dettagliatamente più avanti. @@ -1531,13 +1535,13 @@ Prof.~I.J., University of \dots} \end{verbatim} \subsection{Il frontespizio della tesi triennale} -Per la tesi triennale il frontespizio viene composto specificando alla classe l'opzione \chiave{tipotesi}{triennale} (oppure \chiave{tipotesi}{monografia} -- il nome di questa seconda opzione è conservato per retrocompatibilità, ma in questo manuale viene usato proprio questo secondo valore). +Per la tesi triennale il frontespizio viene composto specificando alla classe l'opzione \chiave{tipotesi}{triennale} (oppure \chiave{tipotesi}{monografia} -- il nome di questa seconda opzione è conservato per retrocompatibilità, ma in questo manuale viene usato proprio questo secondo nome, proprio perché non si tratta di una tesi). I comandi usabili per impostare le parole fisse e i dati variabili sono sostanzialmente gli stessi indicati per il modulo \pack{topfront}; un cambiamento importante è costituito dal fatto che il titolo della tesi si descrive con lo stesso comando \cs{titolo} usato per le altre tesi, al posto del comando \cs{monografia} (che però è conservato per retrocompatibilità e quindi è ancora usabile con questo modulo). Un altro cambiamento importante è che gli ambienti \amb{frontespizio} e \amb{frontespizio*}, e gli omonimi comandi \cs{frontespizio} e \cs{frontespizio*} non sono più definiti, ma è disponibile solo l'ambiente \amb{ThesisTitlePage} che accetta un asterisco (non delimitato) come primo argomento; la sua sintassi è pertanto la seguente: \begin{ttsintassi} -\Bambiente{ThesisTitlePage}\meta{*} +\Bambiente{ThesisTitlePage}\meta{$\star$} \meta{comandi per il frontespizio} \Eambiente{ThesisTitlePage} \end{ttsintassi} @@ -1551,11 +1555,12 @@ I comandi come \cs{ateneo}, \cs{struttura}, eccetera agiscono come indicato per Le opzioni \chiave{stile}{classica} e \opz{evenboxes} conservano le loro funzioni. Un esempio di frontespizio per tesi triennale è dato dal frontespizio di questa stessa documentazione, composto con i comandi: -\begin{verbatim} +\begin{Verbatim}[fontsize=\setfontsize{11}] \begin{ThesisTitlePage} \GetFileInfo{toptesi.cls} \logosede{TITlogoCropped} \NomeElaborato{Manuale d'uso} +\candidato{\scshape Claudio Beccari} \titolo{Il pacchetto \textsf{TOPtesi}} \TitoloListaCandidati{}% per definire un titolo vuoto \sottotitolo{{Per comporre tesi in molti atenei fra i quali @@ -1577,7 +1582,7 @@ Licence (LPPL) riportata nell'appendice della pagina~\pageref{ch:LPPL}. un programma sconosciuto\fi\fi\fi\ il \today \vspace*{5\baselineskip}} \end{ThesisTitlePage} -\end{verbatim} +\end{Verbatim} Naturalmente in una vera tesi triennale la composizione del frontespizio e, se presente, del retrofrontespizio è in generale molto più semplice; ma anche nel frontespizio di questo documento sono bastati meno di una dozzina di comandi per definire tutto il frontespizio e il retro del frontespizio. @@ -1612,7 +1617,7 @@ Per la tesina da presentare all'esame di stato per il conseguimento del diploma Per comporre la tesina bisogna specificare l'opzione \chiave{tipotesi}{sss}; questa chiave implica il caricamento di alcuni pacchetti aggiuntivi e la necessità di usare dei comandi specifici per immettere i dati necessari. Senza specificare altro e se si vuole comporre la tesi con il programma \prog{pdflatex}, \TOPtesi usa i font CM-Super; sarebbe meglio richiedere nel preambolo i font Latin Modern mediante il pacchetto \pack{lmodern}; meglio ancora con il pacchetto \pack{cfr-lm} che dispone di molte opzioni e usa meglio le potenzialità dei font Latin Modern. Abituati come sono ad usare i comuni word processor, i maturandi preferiscono usare i font Times; in questo caso raccomanderei di usare i Times extended, mediante il pacchetti \pack{newtxtext} e \pack{newtxmath}, rispettivamente per i font testuali e per quelli matematici; invece, preferendo un font più facilmente leggibile e un pochino più largo, suggerirei i font Palatino extended da richiamare con i pacchetti \pack{newpxtext} e \pack{newpxmath}. -Componendo la tesi con il programma \prog{lualatex} i font OpenType Latin Modern e Latin Modern Math vengono usati di default. Volendo se ne possono specificare altri, ma questi dovrebbero essere quelli che offrono le prestazioni migliori. +Componendo la tesi con il programma \prog{lualatex} i font OpenType Latin Modern e Latin Modern Math vengono usati di default. Volendo se ne possono specificare altri, ma i Latin Modern dovrebbero essere quelli che offrono le prestazioni migliori. Va notato subito che è possibile inserire il logo della scuola, ma ovviamente bisogna richiederlo alla scuola, la quale potrebbe negarlo; non è cattiveria; semplicemente il logo è un suo simbolo legale e potrebbe venirne fatto un uso improprio; la scuola potrebbe però disporre di un logo secondario per l'inserimento nel frontespizio della tesina. Nella figura~\ref{fig:frontepizio-tesina} è stato usato un disegno di fantasia, solo per mostrare dove verrebbe inserito; se non si usa il logo, lo spazio inutilizzato viene automaticamente ridistribuito fra gli altri spazi. @@ -1948,7 +1953,7 @@ Un esempio di un frontespizio costruito per questa via è quello che un utente h \end{document} \end{verbatim} -Nel codice precedente appaiono alcuni comandi per i font i cui nomi per le corrispon"den"ti dichiarazioni sono ispirati a quelli contenuti nel pacchetto \pack{frontespizio}, ma i nomi sono irrilevanti, nel senso che qualunque altro nome sarebbe stato altrettanto valido; però è utile che i nomi dei dei comandi relativi ai font siano scelti in modo che ricordino la funzione per la quale sono stati definiti. +Nel codice precedente appaiono alcuni comandi per i font i cui nomi per le corrispon"den"ti dichiarazioni sono ispirati a quelli contenuti nel pacchetto \pack{frontespizio}, ma i nomi sono irrilevanti, nel senso che qualunque altro nome sarebbe stato altrettanto valido; però è utile che i nomi dei comandi relativi ai font siano scelti in modo che ricordino la funzione per la quale sono stati definiti. La pagina che l'utente ha ottenuto è contenuta nella figura~\ref{fig:frontespizio-landscape}. Per inserirla come frontespizio della tesi egli ha poi usato il pacchetto @@ -1962,7 +1967,7 @@ dentro \verb|texdoc pdfpages| e poi premendo il tasto \tasto{invio}. \caption[Frontespizio con in landscape ottenuto con l'ambiente titlepage]{Frontespizio con l'orientazione \opt{landscape} ottenuto con l'ambiente \env{titlepage}}\label{fig:frontespizio-landscape} \end{figure} -Volendo, si potrebbe mettere tutto il codice precedente in un file personale, per esempio \file*{IlMioFrontespizio.tex}, e immetterlo nel corpo della tesi semplicemente usando il comando \cs{input}. Il corpo della tesi risulta alleggerito e la sua gestione e manutenzione ne risulta semplificata. +Volendo, tutto il codice contenuto fra \Bambiente{document} e \Eambiente{document} potreb"be essere salvato in un file personale, per esempio \file*{IlMioFrontespizio.tex}, per poi immetterlo nel corpo della tesi semplicemente usando il comando \cs{input}. Il corpo della tesi risulta alleggerito e la sua gestione e manutenzione ne risulta semplificata. @@ -2000,8 +2005,9 @@ Queste operazioni generalmente sono semplificate dall'uso di uno shell editor ad Se il frontespizio deve essere composto con font diversi da quelli di default, con codifiche particolari, con altre impostazioni particolari è meglio che il file ausiliario sia dotato di un preambolo \emph{ad hoc}; quindi il file principale avrà la struttura seguente: \begin{flushleft}\obeylines -\cs{documentclass}\Oarg{tipotesi=frontespizio,\% -\hspace*{8em}\meta{altre opzioni per TOPtesi}}\Marg{toptesi} +\cs{documentclass}\Oarg{tipotesi=frontespizio,% +%\hspace*{8em} +\meta{altre opzioni per TOPtesi}}\Marg{toptesi} \texttt{\% Preambolo del main file} ... \cs{usepackage}\oarg{codifche}\Arg{inputenc} @@ -2118,7 +2124,7 @@ usando poi \cs{uniModenaReggio} come argomento del comando \cs{ateneo}; il nome è inserito in una scatola \LaTeX di larghezza pari alla giustezza, per cui la sua larghezza vera viene mascherata da quella della scatola e il meccanismo di ridimensionamento non entra in funzione. \section{Il comando \cs*{chapter}} -Il comando\cs{chapter} è stato ridefinito In \TOPtesi in modo globale. Lo scopo della ridefinizione è stato quella di estenderne le funzionalità in modo che accetti una sintassi come questa: +Il comando\cs{chapter} è stato ridefinito in \TOPtesi in modo globale. Lo scopo della ridefinizione è stato quella di estenderne le funzionalità in modo che accetti una sintassi come questa: \begin{sintassi} \cs{chapter}\meta{$\star$}\oarg{indice}\oarg{testatina}\marg{titolo}\oarg{stile} \end{sintassi} @@ -2133,7 +2139,7 @@ dove i vari parametri hanno i significati e le funzioni seguenti; cominciando da % \item[\meta{indice}] è facoltativo e contiene la stringa da inviare all'indice generale; di default è la stessa stringa da usare per il titolo della pagina iniziale del capitolo. % -\item[\meta{$\star$}] è facoltativo, ma gioca lo stesso ruolo che l'asterisco svolgeva nel comando nativo del nucleo di \LaTeX, cioè serve per non numerare il capitolo e non mandarne le informazioni all'indice generale. Benché il comando asteriscato accetti tutti gli altri parametri del comando non asteriscato, non li usa tutti; in particolare basta inserire uno solo dei due \meta{indice} o \meta{testatina}, ma non è vietato specificarli entrambi; se le stringhe sono diverse viene usata solo quella per la \meta{testatina}; se si specifica uno solo dei due argomenti facoltativi, esso viene inteso come il primo, che per suo conto trasferisce la sua stringa al secondo, quindi, la stringa non trasferisce nulla all'indice, ma trasferisce la sua stringa a entrambe testatine. Perciò i comandi \cs{section} (se presenti) devono essere usati nella forma asteriscata, altrimenti i loro numeri sono errati; d'altra parte un capitolo non numerato non deve contenere sezioni numerate che poi saranno elencate nell'indice. +\item[\meta{$\star$}] è facoltativo, ma gioca lo stesso ruolo che l'asterisco svolgeva nel comando nativo del nucleo di \LaTeX, cioè serve per non numerare il capitolo e non mandarne le informazioni all'indice generale. Benché il comando asteriscato accetti tutti gli altri parametri del comando non asteriscato, non li usa tutti; in particolare basta inserire uno solo dei due \meta{indice} o \meta{testatina}, ma non è vietato specificarli entrambi; se le stringhe sono diverse viene usata solo quella per la \meta{testatina}; se si specifica uno solo dei due argomenti facoltativi, esso viene inteso come il primo, che per suo conto trasferisce la sua stringa al secondo, quindi, la stringa non trasferisce nulla all'indice, ma trasferisce la sua stringa a entrambe le testatine. I comandi \cs{section} (se presenti in un capitolo aseriscato) devono essere usati nella forma asteriscata, altrimenti i loro numeri sono errati; d'altra parte un capitolo non numerato non deve contenere sezioni numerate che poi saranno elencate nell'indice. Inoltre, se si vuole mandare l'informazione del capitolo non numerato all'indice, bisogna farlo con i comandi nativi; per esempio: \begin{verbatim} @@ -2199,20 +2205,20 @@ The \chiave{tipotesi}{scudo} option loads some other packages. If it was for me, % \Item[unicode-math] is loaded with option \chiave{math-style}{ISO} only if \LuaLaTeX or \XeLaTeX is used to typeset the dissertation. In this case it is up to the user to select a Unicode Math font suitable to match the text fonts specified for the document; see the example file \file{toptesi-scudo-example.tex} to view how to do this choice. % -\Item[xparse] allows advanced definitions of commands and environments; it is functional for the definitions of some internal bundle macros, but may be used also by the end user, provided s/he reads with great attention its documentation. +\Item[xparse] allows advanced definitions of commands and environments; it is functional for the definitions of some internal bundle macros, but may be used also by the end user, provided s/he reads with great attention its documentation. Most of the \pack{xparse} functionalities since 2020 are included the the \LaTeX kernel; only the most advanced ones require loading this package. % \Item[lscape] allows to typeset full pages in landscape orientation. It may be useful to insert large tables and/or figures. When typesetting with a LuaTeX engine version lower than 1.0.4, this landscape orientation does not work. % \Item[setspace] is used to typeset draft versions of the dissertation, but it should not be used at all for the final version; if a particular paragraph required some extra leading, the regular \amb{interlinea} environment of \TOPtesi will do the job. But remember: the paragraph must be really special to require extra leading. In general extra leading is poor typography. % -\Item[calc] performs some calculations in a supposedly easier form than the native commands available in the original \TeX since its birth, and extended by \eTeX since 2005 or so. +\Item[calc] performs some calculations in a supposedly easier form than the native commands available in the original \TeX since its birth, and extended by \eTeX since 2005 or so. % \Item[ifthen] defines a comfortable set of macros to execute conditional statements; since this \TOPtesi bundle loads the \pack{etoolbox} package, other more efficient and more robust commands are available. % -\Item[caption] allows to customise all kinds of captions: but, as described elsewhere in this documentation, loading of this package implies that the user becomes responsible of the caption style because the internal definitions of \TOPtesi are not available any more. +\Item[caption] allows to customise all kinds of captions: but, as described elsewhere in this documentation, loading of this package implies that the user becomes responsible of the caption style because the internal definitions of \TOPtesi are not available any more. % -\Item[subcaption] defines the \amb{subfigure} and \amb{subtable} environments and their individual sub-captions. +\Item[subcaption] defines the \amb{subfigure} and \amb{subtable} environments and their individual sub-captions. This package is incompatible with packages \pack{subfigure} and \pack{subfig}. % \Item[tabularx] defines a tabular environment of specified width; the automatic sizing of the table is performed by means of a special column descriptor \verb|X| (that can be used multiple times in a given table) that behaves as the \verb|p|\marg{width} descriptor, with the difference that the X-column width is computed by the package macros so as to reach the specified table width. The package is used for this module internal structures, but is available also for all users. % @@ -2232,7 +2238,7 @@ The example file \file{toptesi-scudo-example.tex} shows how to avoid the use of \Item[biblatex] is the most recent and powerful package to typeset bibliographies; a specific set of options is specified, in particular the \prog{biber} program is requested to handle bibliography databases; sorting is based on the first author surname, the title and the year; the bibliographic list is a numbered one and numerical citations are used, but the various \pack{natbib} citation facilities are available. These settings implement the style used in the IEEE Transactions in the fields of interest of this Institution, and should not be modified by PhD students preparing their PhD theses in these scientific domains. Together with this package also \pack{csquotes} is loaded and the bibliographic database \file{\char92jobname.bib} is specified; therefore the user is “forced” to name his/her database with the same name as his/her thesis main file. These specific settings were required by the ScuDo school, but they may be bypassed as explained hereafter. -PhD students in domains different from the above mentioned ones may specify the \opz{mybibliostyle} option to the main file \cs{documentclass} statement; with this option in force \pack{biblatex} il not loaded; therefore also its service package \pack{csquotes} is omitted, and no bibliographic database is specified. The user in his preamble is totally responsible of loading whichever bibliography handling package he prefers, with any reference list and citation style, and choosing whatever name he prefers for the bibliographic database. +PhD students in domains different from the above mentioned ones, and do not like the IEEE style, may specify the \opz{mybibliostyle} option to the main file \cs{documentclass} statement; with this option in force \pack{biblatex} il not loaded; therefore also its service package \pack{csquotes} is omitted, and no bibliographic database is specified. The user in his preamble is totally responsible of loading whichever bibliography handling package he prefers, with any reference list and citation style, and choosing whatever name he prefers for the bibliographic database. The accompanying example file \file{toptesi-scudo-example.tex} shows how to specify the above option and how to load the necessary packages in order to have an author-year style for both the reference list and the citation method. This scheme is applicable also to use different \pack{biblatex} settings or to use a completely different package. % @@ -2243,7 +2249,7 @@ The accompanying example file \file{toptesi-scudo-example.tex} shows how to spec \subsection{New commands available with the \texorpdfstring{\pack*}{}{toptesi-scudo} module} -Many new commands are defined for creating the title page; they are described in the next section. +Many new commands are defined for creating the title page; they are described in section~\ref{ssec:fixed-data} on page~\pageref{ssec:fixed-data}.%>>>> Among real new commands it is better to recall that the ISO standards on math typesetting in science and technology require an attentive use of font series and shapes. In particular the upright serifed font (roman style) should be used for mathematical constants, the differential symbol, all the multi-letter function names; single letter functions may be typeset either in roman or in math italics, but it is a personal choice that must be exercised with caution; whatever style is chosen it is necessary to use it in a consistent way. The School suggests to use math italic. Function commands must not be “invented”; for example, the ISO standard name for the circular tangent is “tan” (command \texttt{\string\tan}); sometimes “tg”, or “tang” are encountered in math papers; the phantasy names are wrong and should not be used. Similarly hyperbolic inverse functions do not have predefined commands to mark them in \LaTeX; the official names are “arsinh”, “arcosh”, “artanh”; if you want, you can add to your preamble the following code: \begin{verbatim} @@ -2291,7 +2297,7 @@ For the ScuDo title page see section~\ref{sec:frontescudo}. Non dico niente su come si scrive una tesi; so per esperienza che all'inizio ci si sente sperduti davanti allo schermo vuoto. Ma i laureandi possono scaricare dal sito -del \GuIT\footnote{Fino a qualche anno fa questo opuscoletto, prodotto da un'apposita commissione di docenti del Politecnico, era scaricabile dal portale della didattica del Politecnico di Torino. Ora un'altra commissione è al lavoro per fornire ai suoi studenti un manuale completamente nuovo che, però, non è ancora disponibile; nel frattempo la versione di \emph{Saper comunicare} presente nel portale della didattica è ormai diventata obsoleta in alcune sue parti. La versione presente nel sito del \GuIT, invece, continua ad essere aggiornata.} \url{https://www.guitex.org/home/images/doc/} l'opuscoletto \emph{Saper Comunicare --- Cenni di scrittura tecnico-scientifica} dove c'è scritto più o meno tutto quel che bisogna sapere per impostare e scrivere un rapporto tecnico-scientifico qual è la tesi, la monografia o la dissertazione. +del \GuIT\footnote{Fino a qualche anno fa questo opuscoletto, prodotto da un'apposita commissione di docenti del Politecnico, era scaricabile dal portale della didattica del Politecnico di Torino. Ora un'altra commissione è al lavoro per fornire ai suoi studenti un manuale completamente nuovo che, però, non è ancora disponibile; nel frattempo la versione di \emph{Saper comunicare} presente nel portale della didattica è ormai diventata obsoleta in alcune sue parti. La versione presente nel sito del \GuIT, invece, continua ad essere aggiornata.} \url{https://www.guitex.org/home/images/doc/} l'opuscoletto \emph{Saper Comunicare --- Cenni di scrittura tecnico-scientifi\-ca} dove c'è scritto più o meno tutto quel che bisogna sapere per impostare e scrivere un rapporto tecnico-scientifico qual è la tesi, la monografia o la dissertazione. Qui dirò solo come si comincia a scrivere il file sorgente della tesi. Ci sono essenzial"mente due vie, ognuna delle quali offre vantaggi e svantaggi, quindi non si può dire a priori quale sia la via più indicata. \begin{enumerate}[noitemsep] @@ -2398,19 +2404,19 @@ Per i ringraziamenti si è già sottolineata la loro utilità solo in certe circ \end{sintassi} mentre componendo in inglese (e probabilmente anche in altre lingue) non è necessario aggiungere nessuna istruzione. -Per l'indice generale e gli altri indici non occorre fare nulla se non quanto è descritto più avanti in merito al comando \cs{indici}. +Per l'indice generale e gli altri indici non occorre fare nulla se non quanto è descritto più avanti in merito al comando \cs{indici} che con la versione~6.4.06 può ricevere un argomento facoltativo con il quale specificare lo stile delle pagine dopo la prima di ogni elenco. Per il riassunto o la sinossi approfonditi (da comporsi solo se \emph{non} si è usato l'ambiente \amb{abstract}) lo si introduce con il comando \cs{sommario}, che compone un capitolo non numerato intitolato Sommario in italiano e Summary in inglese. Un capitolo implica non solo un titolo ma anche alcune pagine di testo; il capitolo può anche essere strutturato in paragrafi, sottoparagrafi e contenere anche delle figure; sarebbe preferibile evitare qualunque numerazione. In ogni caso un riassunto deve essere significativamente più breve della tesi. Se il sommario è lungo abbastanza da meritare di essere strutturato in paragrafi, sottoparagrafi, eccetera, allora il tutto deve essere adeguatamente numerato; per quel che si è già detto in precedenza, se il sommario è inserito nella parte iniziale (front matter) i comandi \cs{chapter} asteriscati non numerano niente e non inviano nulla all'indice generale; quindi sarebbe meglio che un sommario strutturato sia composto come un capitolo ordinario avente per titolo la parola “Sommario”; inoltre va inserito nella parte principale. In alcuni corsi di studio il riassunto è richiesto come documento separato da consegnare in segreteria insieme alla tesi, affinché sia distribuito fra i commissari dell'esame di laurea insieme alla convocazione per lo svolgimento di questo esame. I commissari hanno quindi la possibilità di sapere con una certa precisione quello che sentiranno esposto dal laureando durante l'esame e avranno quindi anche il tempo e la possibilità di annotarsi possibili domande da rivolgere al candidato dopo la sua esposizione. Presso il Politecnico di Torino, alcuni corsi di studi richiedono questo riassunto ma raccomandano che non superi le due o tre pagine. Il laureando dovrebbe informarsi dettagliatamente presso la segreteria competente. -In altri casi la tesi viene discussa in università diverse, come nei programmi di doppio titolo del programma Erasmus. Qualunque sia la lingua principale della tesi, è bene che ci sia un riassunto esteso di alcune decine di pagine scritte nella lingua dell'altra università. Generalmente non è necessario consegnare in ciascuna università la tesi tradotta nella sua lingua ufficiale, ma basta un riassunto abbastanza dettagliato che, con eventuali riferimenti incrociati, fa cciariferimento a formule, figure, tabelle, eccetera, della tesi vera e propria. In questi casi il comando \cs{sommario} crea un capitolo non numerato che può svolgere il compito richiesto. +In altri casi la tesi viene discussa in università diverse, come nei programmi di doppio titolo del programma Erasmus. Qualunque sia la lingua principale della tesi, è bene che ci sia un riassunto esteso di alcune decine di pagine scritte nella lingua dell'altra università. Generalmente non è necessario consegnare in ciascuna università la tesi tradotta nella sua lingua ufficiale, ma basta un riassunto abbastanza dettagliato che, con eventuali riferimenti incrociati, faccia riferimento a formule, figure, tabelle, eccetera, della tesi vera e propria. In questi casi il comando \cs{sommario} crea un capitolo non numerato che può svolgere il compito richiesto. Il file \texttt{capitolo1.tex} conterrà l'introduzione e in pratica esporrà lo stato dell'arte oltre allo scopo del lavoro e ai risultati che si vorrebbero ottenere. I file \texttt{capitolo2.tex}, \texttt{capitolo3.tex}, eccetera, conterranno la descrizione del lavoro svolto e l'analisi critica dei risultati via via ottenuti; l'ultimo file prima delle appendici conterrà i commenti finali, quali ad esempio un sunto dei risultati raggiunti, una breve esposizione degli ulteriori sviluppi, possibili approfondimenti, eccetera. -Per le appendici il discorso è delicato: se, come evidenziato nel modello, il file ne contiene una sola, sta bene che esso sia caricato dopo \cs{backmatter} dove i «capitoli» non sono numerati in nessun modo; se invece sono più d'una, è necessario che siano numerate, quindi il file che le contiene deve essere incluso fra \cs{appendix} e \cs{backmatter}. Il comando \cs{appendix} cambia il nome dell «capitolo» da “Capitolo” ad “Appendice” (nella lingua principale della tesi) e ne cambia la numerazione da numerica ad alfabetica. +Per le appendici il discorso è delicato: se, come evidenziato nel modello, il file ne contiene una sola, sta bene che esso sia caricato dopo \cs{backmatter} dove i «capitoli» non sono numerati in nessun modo; se invece sono più d'una, è necessario che siano numerate, quindi il file che le contiene deve essere incluso fra \cs{appendix} e \cs{backmatter}. Il comando \cs{appendix} cambia il nome del «capitolo» da “Capitolo” ad “Appendice” (nella lingua principale della tesi) e ne cambia la numerazione da numerica ad alfabetica. Nelle varie appendici verranno raccolte le misure eseguite, gli sviluppi matematici, i listati dei programmi, le note critiche, le lunghe citazioni e tutte le altre cose che rovinerebbero la fluidità del testo, se fossero inserite direttamente nel corpo della tesi. @@ -2432,7 +2438,7 @@ Gli editor \TeXShop, \TeXworks, TeXstudio, Texmaker, e qualcun altro, consentono Il problema, in effetti, non è la codifica, ma è la tastiera. Con sistemi operativi diversi si sono sviluppati programmi di vario genere per scrivere in alfabeti diversi da quello latino esteso, qual è quello invocato tra gli altri con l'opzione \opt{utf8}. Ma se si deve scrivere la tesi con brani in greco o in russo o in arabo o in lingue con segni sillabici o ideogrammi, questo problema si presenterebbe qualunque sia l'editor e il programma di composizione che si usa, ed è un problema che bisogna risolvere da soli in base all'hardware e al software di cui si dispone. -Bisogna notare che in italiano vanno accentate anche le lettere maiuscole; siccome la tastiera italiana non le prevede, consiglio di inserire nel preambolo la definizione del comando \cs{E} per scrivere ‘È’. Credo che questa sia la maiuscola accentata più frequente in italiano e le altre non capitano mai all'inizio di un periodo; possono capitare nei titoli e allora bisogna arrangiarsi con codici numerici o con tabelle di caratteri o con le macro di basso livello del linguaggio \LaTeX. Il comando: +Bisogna notare che in italiano vanno accentate anche le lettere maiuscole; siccome la tastiera italiana non le prevede\footnote{La tastier italiana, in pratica l'unica in dotazione agli utenti italiani di qualsiasi elaboratore e con le impostazioni di base di qualsiasi sistema operativo, è l'unica tastiera al mondo che non è adatta a inserire testo corretto nella lingua per la quale è stata progettata. Personalmente unso una tastiera USA extendend del Mac; consiglio una tastiera USA per qualunque altra marca e sistema operativo; si hanno in tastiera tutti si segni ASCII necessari per scrivere programmi, \LaTeX compreso; e con Windows e Mac si dispone di una tastiera virtuale; se l'elaboratore ha uno schermo \emph{touch screen} questa tastiera virtuale si può usare come una tastiera reale che permette di inserire anche caratteri che non sono segnati sui tasti; se lo schermo non è \emph{touch screen}, basta premere i tasti reali in corrispondenza di quelli virtuali, così da avere subito disponibili più di 200 glifi.}, consiglio di inserire nel preambolo la definizione del comando \cs{E} per scrivere ‘È’. Credo che questa sia la maiuscola accentata più frequente in italiano e le altre non capitano mai all'inizio di un periodo; possono capitare nei titoli e allora bisogna arrangiarsi con codici numerici o con tabelle di caratteri o con le macro di basso livello del linguaggio \LaTeX. Il comando: \begin{verbatim} \usepackage{xspace} \newcommand*\E{\`E\xspace} @@ -2497,7 +2503,7 @@ Inoltre con la codifica \opt{OT1} la presenza di macro per gli accenti impedisce Allora per tutte le lingue diverse dall'inglese, ma anche per l'inglese, è quanto mai opportuno specificare per i font di uscita la codifica \opt{T1}. C'è però un problemino, facilmente risolubile, ma bisogna pensarci: fino ad oggi (\the\year) i font di default usati da \pdfLaTeX\ sono i font della collezione Computer Modern con codifica \opt{OT1}; e ogni installazione del sistema \TeX li può usare sia nella versione “bitmapped” sia in quella PostScript Type~1. Quest'ultimo formato dei font dovrebbe essere quello da usare sempre con qualunque font per il formato PDF del file di uscita, perché questo formato è portabile da una macchina all'altra, indipendentemente dal sistema operativo usato. Se poi il file deve essere archiviato, esso deve essere in formato PDF, quindi, di fatto, non ci sono scelte. -I file della collezione Computer Modern con codifica \opt{T1}, conosciuti come font EC, sono invece distribuiti solo nella forma bitmapped, la quale, oltre ad essere vietata nei file PDF archiviabili, si legge molto male sullo schermo, se il programma di visualizzazione non è molto ben adattato ai font bitmapped. Esiste la collezione di font \Font{CM-Super} per ovviare a questo inconveniente (questa collezione è installata di default in ogni installazione \emph{completa} del sistema \TeX), ma questi font soffrono di un inconveniente che i font Latin Modern non hanno. Perciò è meglio usare i font della collezione Latin Modern, per cui nel preambolo del file da gestire con \prog{pdflatex} si specificherà: +I file della collezione Computer Modern con codifica \opt{T1}, conosciuti come font EC, sono invece distribuiti solo nella forma bitmapped, la quale, oltre ad essere vietata nei file PDF archiviabili, si legge molto male sullo schermo, se il programma di visualizzazione non è molto ben adattato ai font bitmapped. Esiste la collezione di font \Font{CM-Super} per ovviare a questo inconveniente (questa collezione è installata di default in ogni installazione \emph{completa} del sistema \TeX), ma questi font soffrono di un inconveniente che i font Latin Modern non hanno.\footnote{L'inconveniente consiste nel fatto che questi font sono gestiti da file di descrizione che ne permettono il cambiamento di corpo solo per valori discreti. I font Latin Modern sono selezionabili con corpi di valori qualsiasi con continuità a tratti. In questo manualetto talvolta si è usato un comando specifico che permette di selezionare font, per esempio, di corpo 10,25\,pt, impossibile da scegliere con i font CM-Super, se no usando altri pacchetti particolari.} Perciò è meglio usare i font della collezione Latin Modern, per cui nel preambolo del file da gestire con \prog{pdflatex} si specificherà: \begin{verbatim} \documentclass[...]{toptesi} ... @@ -2511,7 +2517,7 @@ I file della collezione Computer Modern con codifica \opt{T1}, conosciuti come f Se invece il file viene gestito con \prog{xelatex} o \prog{lualatex}, oltre alla codifica \opt{utf8} di default (\emph{che non va esplicitata}), basta richiedere l'uso del pacchetto \pack{fontspec} senza ulteriori opzioni e viene automaticamente caricata ed usata la collezione dei font Latin Modern nella loro versione OpenType; a questo provvede direttamente la classe \class{toptesi}. Usando \prog{xelatex} o \prog{lualatex}, la selezione dei font sia testuali sia per la matematica può essere eseguita nel preambolo senza bisogno di ricaricare il pacchetto \pack{fontenc}. Volendo, invece di usare i font Latin Modern, si possono impostare facilmente altre famiglie di font con comodi comandi che possono fare riferimento anche agli altri font OpenType presenti sulla propria macchina indipendentemente dal sistema \TeX. -Naturalmente per gli utenti esperti di \LaTeX ci sono anche altri pacchetti usabili per impiegare altri font diversi da quelli della collezione Latin Modern; questi comunque, secondo me, sono i migliori per la loro completezza; inoltre, grazie al diverso disegno dei corpi minori, la lettura dei pedici e degli apici ne risulta agevolata. +Naturalmente per gli utenti esperti di \LaTeX ci sono anche altri pacchetti usabili per impiegare altri font diversi da quelli della collezione Latin Modern; questi ultimi, secondo me, sono i migliori per la loro completezza; inoltre, grazie al diverso disegno dei corpi minori, la lettura dei pedici e degli apici ne risulta agevolata. Qui, per la composizione della tesi con \prog{pdflatex} segnalo solo la collezione dei font Times eXtended, richiamabili con i pacchetti \pack{newtxtext} e \pack{newtxmath}, e la collezione dei font Palatino eXtended, richiamabili con i pacchetti \pack{newpxtext} e \pack{newpxmath} e la collezione dei font Libertinus testuali e matematici richiamabili con i pacchetti \pack{libertinus} e \pack{linetrtinust1math}. I Times sono font più stretti di quelli della collezione Latin Modern e sono forse indicati per rendere più compatta una tesi un po' voluminosa. I Palatino sono un po' più larghi dei font della collezione Latin Modern e talvolta allungano la tesi di qualche pagina. I nuovi pacchetti \pack{newtx...} e \pack{newpx...} sono configurabili con diverse opzioni; li consiglio a coloro che vogliono usare i font Times o Palatino, ma se posso dare un consiglio, direi che sia sempre preferibile usare i font Latin Modern dalle prestazioni migliori grazie ai corpi ottici; volendo si può usare il pacchetto \pack{cfr-lm} che consente di personalizzare fortemente le proprietà dei font Latin Modern da usare, per esempio permettendo l'uso delle cifre minuscole \ifPDFTeX\oldstylenums{1234567890}\else {\addfontfeature{Numbers=OldStyle}{1234567890}}\fi\ nel testo, e le cifre maiuscole 1234567890 nella composizione della matematica. I font Libertinus testuali e matematici, sono quelli usati nella composizione di questa guida. Sono molto compatti; la famiglia dei font a spaziatura fissa non si distingue tanto dai normali font tondi, anche se a ben guardare la spaziatura fissa è visibile; è che le singole lettere non sono sufficientemente diverse da quelle del tondo normale; in questo documento ho preferito sostituirli con i font New Computer Modern Mono, e mi pare che la scelta sia abbastanza funzionale; inoltre contengono anche i caratteri greci e cirillici. @@ -2528,7 +2534,7 @@ In un foglio A4, di 210\unit{mm} per 297\unit{mm} quello spazio lascia complessi Quelle erano le prescrizioni della segreteria del Politecnico; e continuano ad essere valide, specialmente in vista dell'archiviazione elettronica che viene fatta per tutte le tesi. In altri Atenei vengono accettati anche altri formati, specialmente il formato B5 in molte facoltà umanistiche. \TOPtesi, pertanto accetta anche altre opzioni di formato di carta e provvede alle giuste impostazioni anche per quel che riguarda questo tipo di informazioni all'interno del file PDF di uscita; questo in vista della stampa, ma più ancora per le lettura a video. Ovviamente con i formati di carta più piccoli le dimensioni sono ridotte proporzionalmente, tranne lo scartamento delle righe di testo che viene mantenuto uguale a quello che si sarebbe usato con la carta~A4; il numero di righe di una pagina di solo testo, evidentemente, su fogli di minori dimensioni diminuisce quasi proporzionalmente. -Per questi motivi \TOPtesi, qualunque sia il formato della carta, divide lo spazio complessivo in parti uguali fra i margini laterali quando si desidera produrre una versione del file PDF da leggere a video. Invece divide lo spazio complessivo in parti diverse se il file PDF deve essere stampato; in particolare la proporzioni fra il margine interno e quello esterno sono uguali a quelle fra la giustezza e la larghezza della carta e questa stessa proporzione viene usata fra il margine superiore e quello inferiore; ne consegue che, se non si usano caratteri troppo grandi, una delle diagonali dello specchio di stampa coincide con la corrispondente diagonale della pagina. Questa disposizione coincide con uno dei disegni classici del layout di pagina\footnote{Si veda la documentazione del pacchetto \pack{dlassiclayout}; le disposizioni del Politecnico di Torino non sono quindi quelle solite legate alla tradizione dattilografica, ma sono piuttosto classiche. Certo esistono pacchetti che permettono di ottenere pagine che possono piacere di più, e proprio per questo si sono indicate nella prefazione altre classi con cui si possono ottenere stili diversi.}. +Per questi motivi \TOPtesi, qualunque sia il formato della carta, divide lo spazio complessivo in parti uguali fra i margini laterali quando si desidera produrre una versione del file PDF da leggere a video. Invece divide lo spazio complessivo in parti diverse se il file PDF deve essere stampato; in particolare la proporzioni fra il margine interno e quello esterno sono uguali a quelle fra la giustezza e la larghezza della carta e questa stessa proporzione viene usata fra il margine superiore e quello inferiore; ne consegue che, se non si usano caratteri troppo grandi, una delle diagonali dello specchio di stampa coincide con la corrispondente diagonale della pagina. Questa disposizione coincide con uno dei disegni classici del layout di pagina\footnote{Si veda la documentazione del pacchetto \pack{classiclayout}; le disposizioni del Politecnico di Torino non sono quindi quelle solite legate alla tradizione dattilografica, ma sono piuttosto classiche. Certo esistono pacchetti che permettono di ottenere pagine che possono piacere di più, e proprio per questo si sono indicate nella prefazione altre classi con cui si possono ottenere stili diversi.}. Ora si tenga presente che per la leggibilità confortevole del testo sarebbe opportuno che in ogni riga fossero presenti tanti caratteri, spazi e segni di interpunzione compresi, in numero compreso nella fascia di $66\pm6$. Ovviamente a pari giustezza del testo il numero di caratteri varia a seconda del loro corpo e del loro disegno; una buona indicazione approssimata della “larghezza” di un font è dato dalla lunghezza della stringa che contiene l'alfabeto minuscolo. Secondo Bringhurst (vedi la guida tematica \url{https://guitex.org/home/images/doc/GuideGuIT/IntroPageDesign.pdf} nella pagina~6) la lun"ghezza ottimale di una riga di stampa (la giustezza) dovrebbe essere pari a due volte e mezza la lunghezza dell'alfabeto; si vede anche nella figura~1.1 di quella guida, che i font di default di \TOPtesi, i Latin Modern, sono lunghi 128\unit{pt} pari a 45\unit{mm}; quindi la giustezza ottimale dovrebbe essere di 113\unit{mm} invece dei 150\unit{mm} prescritti dalla segreteria\footnote{Questi conti e quelli immediatamente successivi sono arrotondati al millimetro; non è importantissimo fare i conti con grande precisione, visto che la regola di Bringhurst concede circa il 10\% di tolleranza.}. Con i Times che hanno una larghezza dell'alfabeto di 119\unit{pt} pari a 42\unit{mm} la giustezza ottimale dovrebbe essere di 105\unit{mm}; con i Palatino l'alfabeto è lungo 133\unit{pt} pari a 47\unit{mm} e la giustezza ottimale sarebbe di 118\unit{mm}; con i Libertinus l'alfabeto è lungo 122\unit{pt} pari a 43\unit{mm} e la giustezza ottimale sarebbe di 108\unit{mm.} Aumentando il corpo a 12\unit{pt} le quattro giustezze ottimali appena determinate diventano rispettivamente di 136\unit{mm}, 126\unit{mm}, 142\unit{mm} e 130\unit{mm}. Come si vede solo componendo in corpo 12\unit{pt} con i font Palatino si resterebbe dentro i margini indicati (verso il limite superiore) dalla regola di Bringhurst; con i Libertinus usati in questo testo e la giustezza di 150\unit{mm} si arriva ad un numero medio di caratteri per ogni riga di circa 76 caratteri, fuori del margine superiore indicato dalla regola di Bringhurst. Non è un eccesso terribile, ed è sopportabile; ma le esigenze di archiviazione dell'Ateneo richiedono di non sprecare spazio nelle pagine senza però sacrificare il contenuto. Queste sarebbero le regole; naturalmente le impostazioni della classe permettono di scegliere il corpo normale come si desidera entro limiti ragionevoli in modo da avvicinarsi alle dimensioni ottimali legate alla regola di Bringhurst; visto che non si archivia più in forma cartacea, fissare il formato della pagina al B5 per la versione da depositare in segreteria sarebbe forse la soluzione migliore; per la stampa ognuno si regoli come preferisce. @@ -2538,7 +2544,7 @@ Insomma \TOPtesi sacrifica un poco la leggibilità, ma viene incontro ad altre e Alla luce di quanto sopra descritto, \TOPtesi non solo usa uno scartamento leggermente minore di quello ritenuto ottimale per i font in uso, ma richiede che l'utente non metta mano ad allontanare le righe; per questo ed altri motivi \TOPtesi invita gli utenti a servirsi della stampa fronte/retro. -Il pacchetto \textsf{TOPtesi} accetta anche l'opzione di composizione in \emph{bianca e volta}, ma di default compone su una facciata sola della pagina cartacea, impostazione di default della sottostante classe \class{report}; resta responsabilità dell'utente quella di specificare l'opzione \opz{twoside} al fine di ottimizzare lo spazio disponibile stampando su entrambe le facciate di ogni pagina, e una delle opzioni \opz{a4paper} (default di \textsf{TOPtesi}) o \opz{b5paper}, o qualsiasi altra opzione di formato di carta accettata dalla classe \class{report} per confezionare lo specchio di stampa in modo più consono al formato della carta; in realtà \TOPtesi provvede a realizzare uno specchio di stampa che si adatta particolarmente bene ai formati ISO, mentre lo è n o' di meno con i formati americani. In Italia i formati americani non sono in commercio, però potrebbero servire per gli studenti che seguono un programma di doppio titolo in congiunzione con un'università statunitense. +Il pacchetto \textsf{TOPtesi} accetta anche l'opzione di composizione in \emph{bianca e volta}, ma di default compone su una facciata sola della pagina cartacea, impostazione di default della sottostante classe \class{report}; resta responsabilità dell'utente quella di specificare l'opzione \opz{twoside} al fine di ottimizzare lo spazio disponibile stampando su entrambe le facciate di ogni pagina, e una delle opzioni \opz{a4paper} (default di \textsf{TOPtesi}) o \opz{b5paper}, o qualsiasi altra opzione di formato di carta accettata dalla classe \class{report} per confezionare lo specchio di stampa in modo più consono al formato della carta; in realtà \TOPtesi provvede a realizzare uno specchio di stampa che si adatta particolarmente bene ai formati ISO, mentre lo è un po' di meno con i formati americani. In Italia i formati americani non sono in commercio, però potrebbero servire per gli studenti che seguono un programma di doppio titolo in congiunzione con un'università statunitense. Inoltre qual è la differenza fra la stampa in bianca e quella in bianca e volta? È quella che si osserva nei libri composti meglio: cioè, nelle testatine delle pagine stampate solo in bianca compare sempre e solo il titolo del capitolo corrente, mentre stampando in bianca e volta nelle testatine delle pagine \emph{pari} compare il titolo del capitolo, mentre nelle pagine \emph{dispari} compare il titolo del paragrafo con cui comincia quella pagina. Cercare qualche argomento nel testo stampato risulta molto più facile se le testatine delle pagine pari e di quelle dispari contengono tutta l'informazione necessaria. @@ -2594,7 +2600,7 @@ slovenian, spanish, swedish, turkish, turkmen, ukrainian, uppersorbian, welsh, loaded. \end{Verbatim} -Dal 2014, purtroppo l'elenco delle lingue è sostituito laconicamente da una frase del tipo: +Dal 2014, purtroppo l'elenco delle lingue è sostituito laconicamente da una frase del tipo: \begin{verbatim} Babel <3.9k> and hyphenation patterns for 81 languages loaded. \end{verbatim} @@ -2605,7 +2611,7 @@ Quel listato o quella riga è quanto appare sempre quando si usa la distribuzion {\tolerance=3000 Le regole per inizializzare le lingue gestibili differiscono da distribuzione a distribu"zio"ne del sistema \TeX. Bisogna quindi leggere la documentazione che accompagna quella che si sta usando; qui darò alcuni cenni relativi alle distribuzioni che io conosco.\par} \subsubsection{\MiKTeX} -Questa distribuzione è forse quella che più sovente viene installata nella forma “basic” (errore! mai installare la versione di base, perché è tutt'altro che completa) e perciò è fra quelle che hanno bisogno di essere gestite. Si apre il wizard da \texttt{Avvio\discretionary{}{|}{|}Programmi\discretionary{}{|}{|}MiKTeX\discretionary{}{|}{|}MiKTeX\textvisiblespace Settings}. Esso apre una finestra di dialogo con diverse linguette; si clicca sulla linguetta \textsf{Languages} e viene aperta un'altra finestra con l'elenco di tutte le lingue gestibili, alcune già con il segno di spunta alla loro sinistra nell'apposito quadratino, altre senza il segno di spunta. Potete cliccare per togliere il segno di spunta sulle lingue già spuntate ma che non userete mai (ma lo sconsiglio) e potete aggiungere il segno di spunta cliccando nel quadratino corrispondente alle lingue desiderate (ma consiglio di spuntarle tutte). +Questa distribuzione è forse quella che più sovente viene installata nella forma “basic” (errore! mai installare la versione di base, perché è tutt'altro che completa) e perciò è fra quelle che hanno bisogno di essere gestite. Si apre il wizard da \texttt{Avvio\discretionary{}{|}{|}Programmi\discretionary{}{|}{|}MiKTeX\discretionary{}{|}{|}2.9\discretionary{}{|}{|}MiKTeX\textvisiblespace Settings}. Esso apre una finestra di dialogo con diverse linguette; si clicca sulla linguetta \textsf{Languages} e viene aperta un'altra finestra con l'elenco di tutte le lingue gestibili, alcune già con il segno di spunta alla loro sinistra nell'apposito quadratino, altre senza il segno di spunta. Potete cliccare per togliere il segno di spunta sulle lingue già spuntate ma che non userete mai (ma lo sconsiglio) e potete aggiungere il segno di spunta cliccando nel quadratino corrispondente alle lingue desiderate (ma consiglio di spuntarle tutte). Poi, usciti dal dialogo per la scelta delle lingue, si clicca \texttt{OK} e si torna sulla linguetta \textsf{General}; qui si trovano due bottoni il primo dei quali serve per aggiornare il database dei nomi dei file, mentre il secondo serve per re-inizializzare i file di formato, cioè quei file che contengono già la traduzione in linguaggio macchina di tutte le operazioni che la distribuzione del sistema \TeX è capace di compiere con i suoi vari applicativi. La divisione in sillabe è una di quelle operazioni che deve essere inizializzata, perché richiede strutture dati particolari che sarebbe troppo lungo generare di volta in volta (\LuaLaTeX, però ci riesce). Si clicchi sul bottone per re-inizializzare i file di formato; alla fine di questa operazione si può chiudere il wizard e controllare, dopo aver ricomposto, per esempio, \file{sample.tex}, che le prime righe del file \texttt{.log} contengano tutte le lingue che volete usare. @@ -2713,7 +2719,7 @@ Invece per comporre la tesi in una lingua diversa dall'italiano e dall'inglese c \end{document} \end{Verbatim} -Ovviamente le parole “Resumen” (Sommario) e “Agradecimientos” (Ringraziamenti) andranno scelte accuratamente; io ho indicato solo ciò che ho trovato sul vocabolario. +Le parole “Resumen” (Sommario) e “Agradecimientos” (Ringraziamenti) andranno scelte accuratamente; io ho indicato solo ciò che ho trovato sul vocabolario. Se si usa \prog{xelatex} o \prog{lualatex} ci si ricordi che il pacchetto \pack{polyglossia} è già caricato dalla classe \class{toptesi}, che provvede già a dichiarare l'italiano come lingua principale e l'inglese come lingua accessoria; si possono nominare nel preambolo della tesi diverse altre lingue accessorie, per esempio: \begin{verbatim} @@ -2786,7 +2792,7 @@ LuaLaTeX} \setactivedoublequote \else \usepackage{fontspec} - \usepackage{xcolor} + \setmainfont[Ligatures=TeX]{Libertinus Serif} \setsansfont[Ligatures=TeX]{Libertinus Sans} \setmonofont{NewComputerModern Mono} ... @@ -2798,7 +2804,7 @@ LuaLaTeX} \newfontfamily{\greekfont}{GFS Didot} \fi \usepackage{metalogo,longtable,booktabs,array,tabularx, - enumitem,ragged2e,siunitx,curve2e,microtype} + xcolor,enumitem,ragged2e,siunitx,curve2e,microtype} \usepackage{afterpage,wrapfig} % \unless\ifcsname ver@hyperref.sty\endcsname\usepackage{hyperref}\fi @@ -2832,7 +2838,7 @@ Nel codice precedente le prime due righe sono solo dei commenti per il programma Le righe dalla 8 alla 19 contengono l'ambiente \amb{pdfxmetadata}; esso provvede a generare il file che contiene la lista dei metadati che si sono usati per questo documento. Si ricorda solo che l'ambiente \amb{pdfxmetadata} va inserito dopo la riga che contiene \cs{documentclass} e prima della riga che contiene \cs{usepackage}\Oarg{a-1b}\Marg{pdfx}. -La riga 3 contiene la dichiarazione della classe; come si vede, si specifica solo il corpo normale dei font al valore di 12\,pt, e si seleziona la composizione in bianca e volta, successivamente non si specifica nessuna correzione per la cucitura delle segnature; si specifica solo che il tipo di documento è quello che corrisponde a \chiave{tipotesi}{monografia}, dove si è preferito usare il nome \texttt{monografia} piuttosto che l'equivalente nome \texttt{triennale}, visto che questo documento non è una tesi. +La riga 3 contiene la dichiarazione della classe; come si vede, si specifica solo il corpo normale dei font al valore di 12\,pt, e si seleziona la composizione in bianca e volta, successivamente non si specifica nessuna correzione per la cucitura delle segnature; si specifica solo che il tipo di documento è quello che corrisponde a {\setfontsize{11.5}\chiave{tipotesi}{monografia}}, dove si è preferito usare il nome \texttt{monografia} piuttosto che il nome \texttt{triennale}, visto che questo documento non è una tesi. Importante per questo documento è la riga 4, dove si specifica non solo il nome del file, ma anche la data e la versione; così chi lavora sul file sorgente e chi legge il documento finale è sempre sicuro di sapere quale versione si sta componendo e i lettori, che trovano questo file fra la documentazione di \class{toptesi}, sanno subito se si tratta di documentazione aggiornata o se non sia il caso di aggiornare la propria installazione. @@ -2848,7 +2854,7 @@ Per la compilazione del documento in modo che sia conforme con lo standard PDF/A L'altro punto importante è non solo caricare il pacchetto \pack{pdfx}, ma è necessario caricarlo nell'ordine indicato, cioè, se lo si usa, subito dopo il pacchetto \pack{imakeidx} e l'ambiente che contiene i metadati.\enlargethispage*{2\baselineskip} -Questo preambolo è stato collaudato compilando sia con \prog{pdflatex} sia con \prog{lualatex}. Volendo, si sarebbero potute seguire le raccomandazioni scritte nel paragrafo~\ref{sec:XePDFA} ma non non è stato fatto e, visto che si ottiene lo stesso risultato, anzi un risultato migliore, con \prog{lualatex}, è parso un collaudo superfluo. Con questo non si vuol dire che \prog{xelatex} sia diventato inutile; esso, come \prog{pdflatex}, ha un file di formato che contiene tutte le impostazioni per tutte le lingue che il sistema \TeX può gestire, mentre \prog{lualatex} (almeno fino al 2018) di ogni lingua può gestire una sola impostazione; per esempio, il greco ha tre varianti e il file di formato di \prog{xelatex} le potrebbe gestire tutte e tre come ci riesce \prog{pdflatex}; lo stesso vale per il latino e per diverse altre lingue; \prog{lualatex} poteva gestire una sola variante di ciascuna lingua. Perciò \prog{xelatex} potrebbe essere preferibile a \prog{lualatex} per le tesi di carattere linguistico, filologico, o umanistico in generale. +Questo preambolo è stato collaudato compilando sia con \prog{pdflatex} sia con \prog{lualatex}. Volendo, si sarebbero potute seguire le raccomandazioni scritte nel paragrafo~\ref{sec:XePDFA} ma non non è stato fatto perché è parso un collaudo superfluo, visto che si ottiene lo stesso risultato con \prog{lualatex}, anzi un risultato migliore. Con questo non si vuol dire che \prog{xelatex} sia diventato inutile; esso, come \prog{pdflatex}, ha un file di formato che contiene tutte le impostazioni per tutte le lingue che il sistema \TeX può gestire, mentre \prog{lualatex} (almeno fino al 2018) di ogni lingua poteva gestire una sola impostazione; per esempio, il greco ha tre varianti e il file di formato di \prog{xelatex} le potrebbe gestire tutte e tre come ci riesce \prog{pdflatex}; lo stesso vale per il latino e per diverse altre lingue; \prog{lualatex} poteva gestire una sola variante di ciascuna lingua. Può darsi che nel 2020 la situazione sia cambiata. Perciò \prog{xelatex} potrebbe essere preferibile a \prog{lualatex} per le tesi di carattere linguistico, filologico, o umanistico in generale. %\goodpagebreak @@ -2858,9 +2864,9 @@ Usando \prog{pdflatex} è necessario usare il pacchetto specifico \pack{pdfx} r \begin{verbatim} \usepackage[a-1b]{pdfx}% oppure [a-2b] \end{verbatim} -come è stato mostrato precedentemente nelle pagine~\pageref{pag:preambolo-pdfa} e seguenti; quando si usa \prog{pdflatex} non è molto importante l'ordine con cui si caricano i vari pacchetti, ma la documentazione di \pack{pdfx} raccomanda di caricarlo il più presto possibile; tuttavia, poiché sarebbe meglio caricarlo dopo aver specificato tutti i pacchetti aggiuntivi che potrebbero influire sui collegamenti ipertestuali, cioè i pacchetti che modificano i comandi di sezionamento, la composizione delle didascalie e simili, \pack{pdfx} carica già \pack{hyperref} per configurarne i collegamenti ipertestuali in modo conforme alle specifiche della norma PDF/A. +come è stato mostrato precedentemente nelle pagine~\pageref{pag:preambolo-pdfa} e seguenti; quando si usa \prog{pdflatex} non è molto importante l'ordine con cui si caricano i vari pacchetti, ma la documentazione di \pack{pdfx} raccomanda di caricarlo il più presto possibile; tuttavia, poiché sarebbe meglio caricarlo dopo aver specificato tutti i pacchetti aggiuntivi che potrebbero influire sui collegamenti ipertestuali, cioè i pacchetti che modificano i comandi di sezionamento, la composizione delle didascalie e simili, \pack{pdfx} carica già \pack{hyperref} per configurarne i collegamenti ipertestuali in modo conforme alle specifiche della norma PDF/A. -Questo implica, però, che il pacchetto \pack{pdfx} venga caricato prima che nel preambolo venga caricato \pack{hyperref}; anzi, avendo caricato \pack{pdfx} non è necessario caricare \pack{hyperref}, ma basta configurarlo con \cs{hypersetup} per le esigenze specifiche del documento. Non è vietato caricarlo di nuovo, purché nel preambolo, dopo aver caricato \pack{pdfx}, \pack{hyperref} sia caricato senza opzioni proprio per evitare l'errore “option clash”. Questa possibilità di tenere separato il caricamento di \pack{hyperref} dalla sua configurazione mediante \cs{hypersetup}, è comoda perché consente di aggiungere la chiamata di \pack{pdfx} in un secondo tempo, quando si vuole aggiungere la compatibilità con le norme PDF/A. Ma in questo documento si è preferito eseguire direttamente il test per sapere se il pacchetto sia o non sia stato precedentemente caricato, così da non correre nessun rischio di “option clash”. +Questo implica, però, che il pacchetto \pack{pdfx} venga caricato prima che nel preambolo venga caricato \pack{hyperref}; anzi, avendo caricato \pack{pdfx} non è necessario caricare \pack{hyperref}, ma basta configurarlo con \cs{hypersetup} per le esigenze specifiche del documento. Non è vietato caricarlo di nuovo, purché nel preambolo, dopo aver caricato \pack{pdfx}, \pack{hyperref} sia caricato senza opzioni proprio per evitare l'errore “option clash”. Questa possibilità di tenere separato il caricamento di \pack{hyperref} dalla sua configurazione mediante \cs{hypersetup}, è comoda perché consente di aggiungere la chiamata di \pack{pdfx} in un secondo tempo, quando si vuole aggiungere la compatibilità con le norme PDF/A. \goodpagebreak Ma in questo documento si è preferito eseguire direttamente il test per sapere se il pacchetto sia o non sia stato precedentemente caricato, così da non correre nessun rischio di “option clash”. Il pacchetto \pack{pdfx} è già presente in ogni installazione completa e aggiornata del sistema \TeX; se si disponesse di una installazione di base o, comunque, parziale e il pacchetto non fosse già installato, bisogna provvedere con i metodi specifici di ciascuna installazione. Si consiglia la lettura della documentazione di \pack{pdfx}, perché consente una certa dose di personalizzazione. @@ -2936,13 +2942,13 @@ Il metodo, con il quale si sono avuti risultati positivi, ricorre al pacchetto \ Supponiamo quindi di disporre di un file PDF composto secondo le raccomandazioni indicate nei paragrafi precedenti. Tanto per mettere i puntini sulle ‘i’, il lettore attento ha notato che per i loghi \GuIT\ e \MP\ si sono create le definizioni per produrre questi loghi importando e scalando due file PDF opportunamente scontornati e appositamente predisposti (con \prog{pdflatex}), conformi alla norma PDF/A. Sono stati creati con i loghi molto grandi e vettoriali, in modo che possano venire ingranditi o rimpiccioliti a piacere. Le due macro \cs{GuIT} e \cs{MP}, infatti, scalano quelle due immagini PDF in modo che siano grandi come il testo circostante e abbiano la linea di base esattamente allineata con quella del testo. In quanto file PDF/A, essi contengono tutte le informazioni che devono contenere, metadati e font esattamente come la norma richiede; presi a sé, essi passano le verifiche eseguite con Adobe Acrobat Pro~XI\footnote{Si era seguita questa procedura nella versione precedente di \TOPtesi. Ora, avendo aggiornato tutta l'installazione alla versione di \TeXLive 2019, si è rifatto tutto con il software aggiornato e non è stato più necessario ricorrere a quegli espedienti.}. -{\tolerance=3000 Si supponga di disporre di questo un documento composto ricorrendo a \prog{latex} e di averlo trasformato mediante \prog{dvips} e \prog{pstopdf}, oppure mediante \prog{dvipdfm}; il nome del file sia \file{filelatex.pdf}. Si prepara ora un altro semplicissimo file che viene chiamato, per esempio, \file{filelatex-pages.tex} con il seguente contenuto: +{\tolerance=3000 Si supponga di disporre di un documento composto ricorrendo a \prog{latex} e di averlo trasformato mediante \prog{dvips} e \prog{pstopdf}, oppure mediante \prog{dvipdfm}; il nome del file sia \file{filelatex.pdf}. Si prepara ora un altro semplicissimo file che viene chiamato, per esempio, \file{filelatex-pages.tex} con il seguente contenuto: \begin{verbatim} % !TEX encoding = UTF-8 Unicode % !TEX TS-program = pdflatex \documentclass[a4paper]{report} \usepackage{pdfpages} -\usepackage[a-1b]{pdfx}% oppure [a-1b] +\usepackage[a-1b]{pdfx}% oppure [a-2b] \nofiles \begin{document}\pagestyle{empty} \includepdf[pages=-]{filelatex.pdf} @@ -2979,7 +2985,9 @@ Per verificare in modo serio la conformità ci sono alcune strade che non si esc % \item Si cerca in dipartimento una stazione di lavoro dove un computer sia dotato del programma commerciale {Adobe Acrobat Pro XI}; spesso i dipartimenti dispongono di licenze multiple, oppure è possibile che un ricercatore dia una mano lasciando usare un suo calcolatore sul quale sia montato il software indicato. Si procede poi come indicato tra poco. %. -\item La Adobe, come molte altre imprese produttrici di software, dispone di un program"ma \emph{Education} che consente agli studenti e ai docenti di università e scuole secondarie superiori di acquistare i loro software a prezzi molto, molto vantaggiosi. Io come privato cittadino non mi sarei mai comprato l'Adobe Acrobat Pro~XI se non avessi avuto la possibilità di sfruttare questa offerta vantaggiosissima ma, come professore, ho potuto farlo senza bisogno di ricorrere a nessuno per usarne una copia acquistata regolarmente. +\item La Adobe, come molte altre imprese produttrici di software, disponeva di un program"ma \emph{Education} che consente agli studenti e ai docenti di università e scuole secondarie superiori di acquistare i loro software a prezzi molto, molto vantaggiosi. Io come privato cittadino non mi sarei mai comprato l'Adobe Acrobat Pro~XI se non avessi avuto la possibilità di sfruttare questa offerta vantaggiosissima ma, come professore, ho potuto farlo senza bisogno di ricorrere a nessuno per usarne una copia acquistata regolarmente. + +Purtroppo dal 2020 la Adobe non produce più Adobe Acrobat Pro XI; in alternativa offre un servizio di abbonamento per usare un suo software equivalente; l'abbonamento mensile per il progetto \emph{Education} è molto minore del costo per un privato o un professionista, ma alla fine dell'anno l'ammontare totale potrebbe essere ragionevole se si usasse il programma molte volte al giorno. Per me è troppo caro; probabilmente lo è anche per i laureandi. \end{enumerate} \subsection{Verifica con veraPDF} @@ -3013,9 +3021,9 @@ Qualunque sia l'esito conviene visualizzare ed eventualmente salvare il verdetto \subsection{Verifica con Preflight} -Disponendo di Adobe Acrobat Pro XI, si apre il file PDF, si va nella voce di menù \textsf{Edit} e si sceglie l'opzione \textsf{Preflight}; nella finestrina che si apre si sceglie la voce \textsf{PDF/A compliance} e sotto questa la voce \textsf{Verify compliance with PDF/A-1b}; poi si clicca sul bottone \textsf{Analyse}; dopo pochi secondi si apre una seconda finestrina dove appare il risultato dell'analisi. Se il risultato è positivo il file è definitivamente pronto come conforme alla norma PDF/A-1b. +Disponendo di Adobe Acrobat Pro XI, o della sua versione in abbonamento, si apre il file PDF, si va nella voce di menù \textsf{Edit} e si sceglie l'opzione \textsf{Preflight}; nella finestrina che si apre si sceglie la voce \textsf{PDF/A compliance} e sotto questa la voce \textsf{Verify compliance with PDF/A-1b}; poi si clicca sul bottone \textsf{Analyse}; dopo pochi secondi si apre una seconda finestrina dove appare il risultato dell'analisi. Se il risultato è positivo il file è definitivamente pronto come conforme alla norma PDF/A-1b. -Se invece l'analisi indicasse errori, bisogna provvedere a correggerli; è vero che nella stessa finestrina c'è anche il bottone \textsf{Analyse and fix}, ma l'operazione di “aggiustamento” di solito riesce a correggere errori molto veniali, quindi con i programmi di composizione del sistema \TeX (col quale non si compiono errori veniali) questo aggiustamento è raro che abbia successo. Tuttavia nella versione di Acrobat Pro~XI c'è la possibilità di correggere alcuni errori specifici; per esempio se viene lamentata la presenza di trasparenze, esiste la possibilità di cliccare l'azione \textsf{Flatten} e le trasparenze svaniscono. Dopo la versione XI, la Adobe ha creato la versione che lavora in rete con un modico abbonamento mensile; conviene se si usa Acrobat molto spesso e si ha il vantaggio di usare sempre la versione più aggiornata. Con questa versione ad abbonamento le possibilità di correzione sono maggiori e quasi sempre permettono di evitare di servirsi di \prog{Inkscape}. +Se invece l'analisi indicasse errori, bisogna provvedere a correggerli; è vero che nella stessa finestrina c'è anche il bottone \textsf{Analyse and fix}, ma l'operazione di “aggiustamento” di solito riesce a correggere errori molto veniali, quindi con i programmi di composizione del sistema \TeX (col quale non si compiono errori veniali) questo aggiustamento è raro che abbia successo. Tuttavia nella versione di Acrobat Pro~XI c'è la possibilità di correggere alcuni errori specifici; per esempio se viene lamentata la presenza di trasparenze, esiste la possibilità di cliccare l'azione \textsf{Flatten} e le trasparenze svaniscono. Dopo la versione XI, la Adobe ha creato la versione che lavora in rete con un abbonamento mensile; conviene se si usa Acrobat molto spesso e si ha il vantaggio di usare sempre la versione più aggiornata. Con questa versione ad abbonamento le possibilità di correzione sono maggiori e quasi sempre permettono di evitare di servirsi di \prog{Inkscape}. Ma non bisogna dimenticare che questo genere di piccoli errori spesso si presentano quando si importano file esterni; quindi tanto vale, invece, selezionare nella finestra di dialogo di Preflight la funzione Fixup, che parte e richiede con che nome si vuole salvare il file “difettoso”; si può tranquillamente specificare di sovrascrivere il file da sistemare; fra le altre operazioni che Fixup può fare c'è anche quella di modificare il profilo di colore dei file che ne hanno uno errato, e questa, fra le altre è una operazione da fare piuttosto spesso quando si importano file esterni. L'ho dovuto fare anche con questo file di documentazione a causa di alcune figure create da me stesso per le quali non avevo controllato che avessero il profilo di colore corretto, cioè~RGB. @@ -3035,7 +3043,7 @@ Per le figure con legende testuali, basta convertire l'intera figura nel formato Ma se si vuole mantenere la natura vettoriale si potrebbe usare il programma gratuito \prog{Inkscape}, che è in grado di aprire file vettoriali (PDF, EPS, PS) e di trasformarli in file con le estensioni vettoriali, avendo trasformato nel contempo i caratteri nelle loro outline, cioè nei disegni dei contorni dei glifi, riempiti dello stesso colore che avevano quei glifi nella figura originale. Spesso questa trasformazione va a buon fine. -Per esperienza personale ritengo che sia opportuno convertire ogni figura vettoriale con i glifi sostituiti dai loro contorni, solo nel formato EPS, che non gestisce le trasparenze, che sono invece gestite dal formato \file{.pdf}. In questo modo i tre programmi che ci interessano, \prog{pdflatex}, \prog{xelatex} e \prog{lualatex}, sono tutti e tre in grado di ricevere figure in formato \file{.eps}, e di incorporarlo nel file PDF in uscita. In questo modo si è sicuri di poter evitare le trasparenze, che sono vietate con lo standard PDF/A-1b. Alternativamente si riapre il file \file{.eps} sempre cn \prog{Inkscape} e lo si salva in formato \file{.pdf}; il file \file{.eps} non conteneva trasparenze, quindi nemmeno il nuovo file \file{.pdf} ne contiene. +Per esperienza personale ritengo che sia opportuno convertire ogni figura vettoriale con i glifi sostituiti dai loro contorni, solo nel formato EPS, che non gestisce le trasparenze, che sono invece gestite dal formato \file{.pdf}. In questo modo i tre programmi che ci interessano, \prog{pdflatex}, \prog{xelatex} e \prog{lualatex}, sono tutti e tre in grado di ricevere figure in formato \file{.eps}, e di incorporarlo nel file PDF in uscita. In questo modo si è sicuri di poter evitare le trasparenze, che sono vietate con lo standard PDF/A-1b. Alternativamente si riapre il file \file{.eps} sempre con \prog{Inkscape} e lo si salva in formato \file{.pdf}; il file \file{.eps} non conteneva trasparenze, quindi nemmeno il nuovo file \file{.pdf} ne contiene. \end{enumerate} @@ -3072,7 +3080,7 @@ Le opzioni che si possono specificare per la classe \class{toptesi} sono tutte d % \item[cucitura] nella forma \chiave{cucitura}{\meta{spostamento}}, serve per specificare lo \meta{spostamento} verso l'esterno della gabbia del testo in vista di una rilegatura della copia stampata legata con un procedimento piuttosto rigido; lo \meta{spostamento}, se non se ne specifica il valore, è assunto pari a $7\unit{mm}$; lo \meta{spostamento} è nullo se non si specifica nemmeno la chiave. % -\item[stile] nella forma \chiave{stile}{\meta{stile della composizione}} può ricevere i valori tre valori diversi; con \chiave{stile}{standard} i frontespizi e le testatine vengono ocmposte nel modo modo predefinito; invece con \chiave{stile}{classica} oppure \chiave{stile}{trieste} (questa deprecata, ma conservata per retrocompatibilità) il frontespizio viene composto nel modo ‘classico’ e vengono accettate anche altre opzioni per configurare le testatine. +\item[stile] nella forma \chiave{stile}{\meta{stile della composizione}} può ricevere tre valori diversi; con \chiave{stile}{standard} i frontespizi e le testatine vengono composte nel modo modo predefinito; invece con \chiave{stile}{classica} oppure \chiave{stile}{trieste} (questa deprecata, ma conservata per retrocompatibilità) il frontespizio viene composto nel modo ‘classico’ e vengono accettate anche altre opzioni per configurare le testatine. % \item[autoretitolo] accettabile solo con l'opzione \chiave{stile}{classica}, serve per comporre le testatine in modo diverso, con il nome dell'autore e il titolo (breve) della tesi nella testatina di sinistra e il titolo del capitolo nella testatina di destra. Sconsiglio vivamente di usare questa opzione (richiestami dai classicisti) perché vanifica in parte l'utilità delle testatine; inoltre, se non si specifica il titolo breve mediante l'argomento facoltativo del comando \cs{titolo} o \cs{title}, la probabilità che la testatina di sinistra esca dalla gabbia di composizione o anche dalla larghezza del foglio è elevata. % @@ -3242,8 +3250,6 @@ di interlinea solo per rimpolpare una tesi dal volume modesto? Esso sarebbe un espediente talmente puerile che sarebbe scoperto al primo sguardo. Ci si ricordi che alcune tesi svolte al Politecnico di Torino all'inizio degli anni 20 del XX secolo non superavano le 30~pagine dattiloscritte o scritte a mano (!), ma ricevettero la dignità di stampa\footnote{Una era quella di Carlo Alberto Castigliano e vi veniva enunciato e provato il teorema di Castigliano, noto a tutti gli ingegneri civili ed edili; un'altra era di Placido Cicala e vi si svolgeva la teoria delle volte sottili, teoria che gli strutturisti considerano assolutamente fondamentale ancora oggi.}; le si sta studiando ancora oggi dopo circa un secolo! - - \subsubsection{La misteriosa pagina bianca} Vale la pena di commentare il misterioso comando \cs{blankpagestyle}. Quando si compone fronte e retro senza usare l'opzione di classe \opt{openany}, i capitoli vengono sempre aperti nelle pagine di destra, cioè nelle pagine dispari. Per fare questo il comando \cs{chapter} agisce eseguendo subito il comando \cs{cleardoublepage} che, fra le altre cose, controlla se la nuova pagina su cui scrivere il titolo del capitolo sia dispari. Se non lo fosse provocherebbe la stampa di una pagina “bianca”; bianca nel senso che non contiene testo ma contiene la testatina e il piedino. @@ -3450,6 +3456,13 @@ dove i vari argomenti hanno il seguente significato. numerare o non numerare la didascalia e con un prefisso specifico sono molteplici; si veda la tabella~\ref{tab:SDcombinazioni}. +\item + Può capitare, specialmente dopo aver inserito una nuova istanza + dell'ambiente \amb{SDbox}, che il compilatore si lamenti di un + argomento che avrebbe una graffa chiusa in eccesso. Non è un + problema serio; basta lasciar lavorare il compilatore, magari + premendo il tasto \tasto{S}, perché alla compilazione successiva + il problema non si presenta più. \end{enumerate} Questa lunga descrizione si è resa necessaria per consentire al lettore di usare correttamente questo ambiente; esso è molto utile quando si devono inserire delle piccole figure che altrimenti lascerebbero troppo spazio ai loro fianchi; vale anche con figure che hanno un prevalente sviluppo verticale. Non è il caso di usarlo sempre, ma solo quando il contenuto lo richiede. Vale anche, come si è già detto quando una figura con didascalia va inserita assieme ad una tabella dentro l'ambiente \amb{table}, o viceversa. @@ -3481,7 +3494,7 @@ L'algoritmo non è infallibile, ma funziona come previsto se il comando, come es \includegraphics[height=30mm, width=40mm,keepaspectratio]{Logotre} \caption[Logo di fantasia]{\raggedright Logo di fantasia} \end{wrapfigure} -Il lettore non si scoraggi: questi sono ritocchi destinati a rifinire la tesi quando la si è sostanzialmente completata. Non ho mai usato \cs{goodpagebreak} in modo orizzontale in questo manuale; l'ho usato in modo verticale solo due o tre volte. +Il lettore non si scoraggi: questi sono ritocchi destinati a rifinire la tesi quando la si è sostanzialmente completata. Ho usato una sola volta \cs{goodpagebreak} in modo orizzontale in questo manuale; l'ho usato in modo verticale solo due o tre volte. Infine il comando \cs{captionof} serve per assegnare una didascalia ad un oggetto che avrebbe potuto riceverne una, ma che non è stato composto all'interno di un ambiente mobile come \amb{figure} o \amb{table}. Il pacchetto \pack{caption} lo definisce, ma se l'utente di \TOPtesi non lo ha caricato, questo comando non sarebbe disponibile. Invece \TOPtesi lo definisce nel caso che, appunto, non sia disponibile. La sua sintassi è semplice: \cs{captionof}\marg{nome di float}\marg{didascalia}. Tuttavia l'abitudine di inserire dei (piccoli) oggetti con didascalia in ambienti fissi in display all'interno del testo, deriva dal desiderio di imitare il comportamento dei word processor. Io ritengo che non sia una buona pratica, ma forse è solo una questione di gusti personali; esistono altri modi per inserire (piccoli) oggetti più o meno flottanti e dotati della loro didascalia ricorrendo a pacchetti esterni come \pack{wrapfig} che permette di inserire un oggettino flottante con tanto di didascalia sia nel margine, sia nel testo, ma con il testo che lo avvolge; oppure usando il pacchetto \pack{sidecap} e i suoi ambienti (vedi documentazione), che permette di comporre la didascalia a fianco invece che sotto o sopra l'oggetto; il fatto di avere disponibile il lato della figura ed eventualmente il margine della pagina per disporvi la didascalia permette di risparmiare un poco di spazio verticale o di sfruttare meglio lo spazio a fianco di una figura relativamente stretta. La scatola SD descritta sopra risolve il problema della didascalia laterale in modo più flessibile rispetto a quanto si può fare con il pacchetto \pack{sidecap}. @@ -3631,6 +3644,8 @@ Per quanto riguarda i loghi, essi implicano l'uso del pacchetto \pack{graphicx}, Per questo io preferisco usare sempre e solamente i compilatori \pdfLaTeX, \XeLaTeX\ o \LuaLaTeX. L'unico inconveniente è che non posso usare direttamente il pacchetto \pack{PSTricks}; ma finora me la sono cavata molto bene anche senza fruire delle prestazioni di questo bellissimo pacchetto. D'altra parte esistono pacchetti che consentono di usare \pack{PSTricks} anche con \pdfLaTeX e gli altri programmi; l'operazione diventa un po' più complicata ma se ne occupa direttamente il programma di tipocomposizione usato; l'utente deve solo caricare uno di quei pacchetti e seguirne le indicazioni specificate nella documentazione (vedi per esempio il pacchetto \pack{pdftricks} già presente in ogni installazione aggiornata e completa di \TeXLive; documentazione: \texttt{texdoc pdftricks}). +\goodpagebreak + \section{Altri comandi} La classe \class{toptesi} richiede l'uso di altri comandi; con i suoi moduli specializzati compone i frontespizi con ambienti adatti allo scopo; con il suo modulo di default \pack{topfront} ci sono diversi ambienti e comandi per comporre i vari frontespizi dei diversi tipi di tesi. Diciamo che questo modulo di default andrebbe usato il meno possibile perché è conservato per retrocompatibilità e come rimedio quando non si usano correttamente le opzioni relative alla chiave \chiave{tipotesi} @@ -3647,7 +3662,7 @@ Nella figura~\ref{fig:frontespizi} nella pagina~\pageref{fig:frontespizi} sono r \item tesi di laurea del vecchio ordinamento, \item tesi di laurea triennale, \end{itemize} -Con questi modelli lo studente che compila la sua tesi usando \textsf{TOPtesi} può scegliere la versione che fa al caso suo e sa anche che cosa deve configurare per eseguire alcuni cambiamenti. +Con questi modelli lo studente non ha che l'imbarazzo della scelta. \clearpage @@ -3695,13 +3710,15 @@ Comando o ambiente\V & sigla & Default & Scopo \\[.5e SOMMARIO (anche in lingua)\\ \cs{ringraziamenti}&&nessuno & Inizia un capitolo non numerato che ha per intestazione la parola - RINGRAZIAMENTI (anche in lingua \\ -\cs{indici} &&nessuno & Fa stampare l'indice generale, + RINGRAZIAMENTI (anche in lingua) \\ +\cs{indici} &&plain & Fa stampare l'indice generale, e, se sono stati dati i comandi \texttt{\char92figures\-page\-true} - e/o \texttt{\char92tables\-page\-true}, - anche gli indici delle figure e/o - delle tabelle.\\ + e/o \texttt{\char92tables\-page\-% + true}, anche gli indici delle figure + e/o delle tabelle. Il comando + accetta come argomento facoltativo + il nome di uno stile di pagina.\\ \cs{figurespagetrue}&&\cs{figurespagefalse}&\V Fa o non fa stampare l'indice delle figure\\ \cs{tablespagetrue}&&\cs{tablespagefalse}&Fa o non fa stampare l'indice @@ -4114,7 +4131,7 @@ Default empty. \end{description} -\subsection{Fixed data} +\subsection{Fixed data}\label{ssec:fixed-data} Most of the fixed data have a default value consisting in a character-string. \begin{description}[noitemsep] @@ -4166,6 +4183,12 @@ An actual user might redefine the \cs{Signature} macro so as to provide anther l } \end{flushleft} % +\Item[fivestars] The style requested by the ScuDo Directors requires that the candidate's name by highlighted with and underline composed with five spaced stars; actually some Ph.D. students prefer a soberer highlight; they can modify the default setting by redefining the \cs{fivestars} macro; they can use a thin rule; or another character decoration, even a blank one; by using a suitable strut they can space the underlining decoration from their name by the amount they like best. This is a simple example that uses a strut (a rule of zero width and a specified height) and an horizontal thin rule: +\begin{Verbatim}[fontsize=\small] +\renewcommand\fivestars{\rule{0pt}{\baselineskip}\rule{30mm}{0.4pt}} +\end{Verbatim} +Of course this is a simple example; it is not a recommended modification, because the ScuDo Directors prefer the five stars decoration. +% \end{description} \subsection{The title page} @@ -4238,7 +4261,6 @@ Come si vede, dunque, non è impossibile modificare qualcosa di \TOPtesi senza v \backmatter \chapter{Conclusioni} -%\addcontentsline{toc}{chapter}{Conclusioni} Il pacchetto \textsf{TOPtesi} fa quasi tutto quello che è necessario per comporre uno qualunque di quegli scritti che vengono chiamati \emph{monografia di laurea}, \emph{elaborato finale di laurea}, \emph{tesi di laurea}, \emph{tesi di laurea triennale}, \emph{tesi di laurea specialistica}, \emph{tesi di laurea magistrale}, \emph{dissertazione di dottorato} (con l'aggiunta anche della \emph{tesina} per l'esame di stato delle scuole secondarie superiori). diff --git a/Master/texmf-dist/doc/latex/toptesi/toptesi-scudo-example.zip b/Master/texmf-dist/doc/latex/toptesi/toptesi-scudo-example.zip Binary files differindex a78c91ab1e9..fe4d7d86630 100644 --- a/Master/texmf-dist/doc/latex/toptesi/toptesi-scudo-example.zip +++ b/Master/texmf-dist/doc/latex/toptesi/toptesi-scudo-example.zip diff --git a/Master/texmf-dist/doc/latex/toptesi/toptesi.pdf b/Master/texmf-dist/doc/latex/toptesi/toptesi.pdf Binary files differindex 5dc9e347c0d..1c103a82fb6 100644 --- a/Master/texmf-dist/doc/latex/toptesi/toptesi.pdf +++ b/Master/texmf-dist/doc/latex/toptesi/toptesi.pdf diff --git a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx b/Master/texmf-dist/source/latex/toptesi/toptesi.dtx index 16091dc6188..a72cb2a7d53 100644 --- a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx +++ b/Master/texmf-dist/source/latex/toptesi/toptesi.dtx @@ -142,7 +142,7 @@ School of Turin. %<topmag>\ProvidesPackage{toptesi-magistrale}[% %<topdoc>\ProvidesPackage{toptesi-dottorale}[% %<*driver,class,topsty,topcmn,topfrn,topscu,topmon,topsss,topmag,topdoc> -2020-05-29 v.6.4.04 +2020-09-06 v.6.4.06 %<class>Class for typesetting university theses] %<topsty>Extension for toptesi.cls] %<topcmn>Additional commands for the TOPtesi bundle] @@ -258,7 +258,7 @@ School of Turin. %</driver> % \fi % -% \CheckSum{8000} +% \CheckSum{8010} % % \begin{abstract} % This file describes the TOPtesi bundle; it consists of a set of files @@ -2709,7 +2709,7 @@ School of Turin. % metadata necessary to produce PDF/A compliant files. Its % functionalities are now included in the \LaTeX kernel |filecontents| % environment; therefore it is no longer needed; in any case it is -% easier to use environment defined in TOPtesi for this specific +% easier to use an environment defined in TOPtesi for this specific % task; it relies on some low level native \TeX code contained % in package |fancyvfb|; here we load it: the new environment % |pdfxmetadata| is defined further on. @@ -2741,14 +2741,14 @@ School of Turin. % the most recent \TeX\ system complete and updated installation. % \begin{macrocode} \usepackage{trace} -\RequirePackage{xkeyval} +\usepackage{xkeyval} \DeclareOptionX{formato}[a4paper]{\PassOptionsToClass{#1}{report}} \DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{report}} \ExecuteOptionsX{formato} \ProcessOptionsX*\relax \LoadClass{report} -\RequirePackage{iftex} +\usepackage{iftex} \ifPDFTeX \usepackage[english,italian]{babel} \else @@ -2827,6 +2827,7 @@ School of Turin. \def\TRON{\tracingcommands \tw@ \tracingmacros \tw@} \def\TROFF{\tracingcommands\z@ \tracingmacros \z@} \let\TROF\TROFF + % \end{macrocode} % % Now we define the specific package options: \texttt{classica} and @@ -2837,7 +2838,7 @@ School of Turin. % The option \opz{scudo} is used only to typeset doctoral % dissertations with the special look required by the “Scuola % di Dottorato” of Politecnico di Torino. The other options for -% specific types of thesis, \opz{triennale}, \opz{monografia}, +% specific thesis types, \opz{triennale}, \opz{monografia}, % \opz{magistrale}, \opz{dottorale}, \opz{secondaria}, are % described further on; options \opz{frontespizio} and % \opz{custom} avoid loading the default module |topfront| or any @@ -3005,9 +3006,9 @@ School of Turin. % \begin{macrocode} \RequirePackage{graphicx} \RequirePackage{etoolbox} -\RequirePackage{xspace} \newcommand*\ifempty[1]{\edef\@tempA{#1}% -\ifx\@tempA\@empty\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi} +\ifx\@tempA\@empty\expandafter\@firstoftwo + \else\expandafter\@secondoftwo\fi} % \end{macrocode} % % The |\textheight| is parametrised to the paper height and @@ -3018,7 +3019,7 @@ School of Turin. % \begin{macrocode} \newlength\interno \normalsize% necessary to have the correct value for \baselineskip -\textheight \paperwidth +\textheight=\paperwidth \setlength{\textheight}{% \dimexpr\textheight*\baselineskip/\baselineskip+\topskip} % \end{macrocode} @@ -3026,7 +3027,8 @@ School of Turin. % a small correction is made if the extra size of 14pt is % chosen. Also |\footskip| is parametrised to the paper height % in a slightly different way when the large normal font size -% is not smaller than 14\,pt; the |\if@xivpt| switch is set to true when the value is assigned to the key |corpo|. +% is not smaller than 14\,pt; the |\if@xivpt| switch is set to true +% when the value is assigned to the key |corpo|. % \begin{macrocode} \iflibro \unless\if@xivpt @@ -3049,6 +3051,7 @@ School of Turin. \footskip=2\baselineskip \fi \fi + % \end{macrocode} % The convenience of holding the spine margin within a % dimensional register becomes really useful now in order @@ -3138,8 +3141,8 @@ School of Turin. % optional short argument. % \begin{macrocode} \if@twoside % two side - \def\ps@headings{% - \let\@mkboth\markboth\let\@oddhead\@empty\let\@evenhead\@empty + \def\ps@headings{\let\@mkboth\markboth% autoretitolo + \let\@oddhead\@empty\let\@evenhead\@empty \unless\ifTOPfolioinhead % folio in head \ifTOPnocenterfolio \def\@oddfoot{\makebox[\textwidth][r]{\scshape\lapagina}} @@ -3262,13 +3265,16 @@ School of Turin. \penalty\@highpenalty \endgroup \fi} + % \end{macrocode} % The various tables of contents, or figures, or tables % require some boolean variables to be defined; in facts, % although the \sigla{ISO} regulations require that every technical % report contains the list of figures and/or tables, % in Italy theses rarely contain these lists; the question is: “is a -% thesis a technical report?”. In Italy, in most cases, the answer is “no”. +% thesis a technical report?”. In Italy, in most cases, the answer +% is “no”. +% % We require also some other boolean variables to handle the % difference between front matter and main matter; these % differences are already defined in the \texttt{book} @@ -3290,7 +3296,7 @@ School of Turin. \ifTOPnumerazioneromana\numeriromanitrue\fi \frontmattertrue\@openrightfalse\c@secnumdepth=-2\relax } - + \def\mainmatter{\@mainmattertrue \if@twoside\@openrighttrue\fi \ifTOPnumerazioneromana\numeriromanifalse\fi @@ -3354,11 +3360,12 @@ School of Turin. \iffrontmatter\else\frontmattertrue\fi \chapter*{\summaryname}} \let\summary\sommario -% + \def\ringraziamenti{% \iffrontmatter\else\frontmattertrue\fi \chapter*{\acknowledgename}} \let\acknowledgements\ringraziamenti + % \end{macrocode} % The strings |\summaryname| and |\acknowledgename| are not % defined for every language option to \texttt{babel}. Default @@ -3426,7 +3433,7 @@ School of Turin. % the whole commands were redefined so that the new syntax is the % following: %\begin{flushleft}\obeylines -%\cs{chapter}\meta{$\star$}\oarg{toc entry}\oarg{headings entries}\marg{title}\oarg{pagestyle} +%\cs{chapter}\meta{$\star$}\oarg{toc entry}\oarg{headings entry}\marg{title}\oarg{pagestyle} %\end{flushleft} % The \meta{$\star$} is optional, and simply implies that no toc % entry will be generated and the chapter title will not be @@ -3442,54 +3449,54 @@ School of Turin. % is five. Their meaning is the following. %\begin{description} % -%\item[\meta{$\star$}] Controls the chapter numbering and the -% toc entry; its absence implies numbering and toc entry; -% its presence implies no numbering and no toc entry; -% nevertheless is does not cancels the possibility of having -% an header (if the page style accepts left and right marks); -% for example, a command such as this one\\[1ex] +%\item[\meta{$\star$}] +% Controls the chapter numbering and the +% toc entry; its absence implies numbering and toc entry; +% its presence implies no numbering and no toc entry; +% nevertheless is does not cancels the possibility of having +% an header (if the page style accepts left and right marks); +% for example, a command such as this one\\[1ex] %\cs{chapter*}\Oarg{Short entry}\Marg{Long title}\\[1ex] -% does not number the chapter with the |Long title|, but gets -% the string |Short entry|; lacking the optional argument both -% headers (see below) will contain the string |Long title|. -% If you want an empty header, you have to specify an empty -% optional argument; or before using the command, you specify -% an empty or a plain page style -%\item[\meta{toc entry}] is the entry for the table of contents; -% its default value is \meta{title}, but since more often than -% not the actual \meta{title} is a long string, it is better -% to use such optional argument: of course, if the optional star -% is used, its \meta{toc entry} is passed on as a default value -% for the \meta{headings entry}. -% -% -%\item[\meta{headings entry}] contains the string to be inserted -% in both left and right headers, if the page style uses such -% pieces of information; this is a deliberate choice in order -% to have both headers correctly indicating the chapter title -% even if the “chapter” contains no sections, for example indices, -% lists of figures and/or tables, forewords and similar thesis -% items. Of course if sections are used, their entries replace -% that chapter entry in the right header. This choice of defining -% both headings is useful also for those numbered chapters that -% have a longish text preceding the first section. -% -% -%\item[\meta{title}] with no surprise is the chapter title that -% is printed in its opening page. It defines also the default -% \meta{toc entry} and therefore the \meta{headings entry} if these -% optional arguments are not specified. -% -% -%\item[\meta{pagestyle}] solves a problem that arises more often -% than not: by default the chapter opening page is typeset with -% the |plain| page style; sometimes a different style is desired, -% for example the |empty| one. The use can specify this optional -% argument with |empty| to have a opening page without both a header -% and a printed folio. Actually the user can specify any page style, -% provided it satisfies the typographical best practice. +% does not number the chapter with the |Long title|, but gets +% the string |Short entry|; lacking the optional argument both +% headers (see below) will contain the string |Long title|. +% If you want an empty header, you have to specify an empty +% optional argument; or before using the command, you specify +% an empty or a plain page style. +%\item[\meta{toc entry}] +% is the entry for the table of contents; +% its default value is \meta{title}, but since more often than +% not the actual \meta{title} is a long string, it is better +% to use such optional argument: of course, if the optional star +% is used, its \meta{toc entry} is passed on as a default value +% for the \meta{headings entry}. +%\item[\meta{headings entry}] +% contains the string to be inserted +% in both left and right headers, if the page style uses such +% pieces of information; this is a deliberate choice in order +% to have both headers correctly indicating the chapter title +% even if the “chapter” contains no sections, for example indices, +% lists of figures and/or tables, forewords and similar thesis +% items. Of course if sections are used, their entries replace +% that chapter entry in the right header. This choice of defining +% both headings is useful also for those numbered chapters that +% have a longish text preceding the first section. +%\item[\meta{title}] +% with no surprise is the chapter title that +% is printed in its opening page. It defines also the default +% \meta{toc entry} and therefore the \meta{headings entry} if these +% optional arguments are not specified. +%\item[\meta{pagestyle}] +% solves a problem that arises more often than not: by default the +% chapter opening page is typeset with the |plain| page style; +% sometimes a different style is desired, for example the |empty| one. +% The use of this optional argument with |empty| allows to have an +% opening page without both a header and a printed folio. Actually the +% user can specify any page style, provided it satisfies the +% typographical best practice. % %\end{description} +% % Actually the commands to typeset the Summary and the % Acknowledgements chapters, as defined above, are regularly % typeset in the front matter style, opening on any page @@ -3512,42 +3519,52 @@ School of Turin. %\begin{flushleft}\obeylines %\Marg{\cs{chapter}*\oarg{header entry}\marg{chapter title}} %\end{flushleft} -% With the new definition there is non need to employ such (actually +% With the new definition there is no need to employ such (actually % simple) trick, because the |secnumdepth| counter value is saved, and % this previous value is restored after the |\chapter| command is fully % completed. % \begin{macrocode} + \newcount\TOPsecnumdepth -\RenewDocumentCommand{\chapter} - {s O{#4} O{#2} m O{plain}}{% +\newif\iftoc + +\RenewDocumentCommand{\chapter}{s O{#4} O{#2} m O{plain}}{% \if@openright\cleardoublepage \else\clearpage\fi \thispagestyle{#5}% \global\@topnum\z@ \@afterindentfalse - \TOPsecnumdepth=\c@secnumdepth \IfBooleanTF{#1}{% + \TOPsecnumdepth=\c@secnumdepth \c@secnumdepth=-3\relax - \let\iftoc\iffalse + \tocfalse }{% \iffrontmatter\mainmatter\fi - \let\iftoc\iftrue + \toctrue }% -% Numbering and TOC entry - \ifnum \c@secnumdepth >\m@ne + \ifnum \c@secnumdepth >\m@ne \if@mainmatter % where \if@mainmatter is defined % (e.g. book.cls, toptesi.cls) \refstepcounter{chapter}% \typeout{\@chapapp\space\thechapter.}% - \iftoc\addcontentsline{toc}{chapter}{% - \protect\numberline{\thechapter}#2}\fi + \iftoc + \addcontentsline{toc}{chapter}{% + \protect\numberline{\thechapter}#2}% \else % - \iftoc\addcontentsline{toc}{chapter}{#2}\fi + \addcontentsline{toc}{chapter}{#2}% + \fi + \else % When \mainmatter is not defined (e.g.report.cls) + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \iftoc + \addcontentsline{toc}{chapter}{% + \protect\numberline{\thechapter}#2}% + \else % + \addcontentsline{toc}{chapter}{#2}% \fi - \else % Were \mainmatter is not defined (e.g.report.cls) - \iftoc\addcontentsline{toc}{chapter}{#2}\fi + \fi \fi -% Headers +% \markboth{#3}{#3}% No \MakeUppercase \iftoc \addtocontents{lof}% @@ -3555,15 +3572,16 @@ School of Turin. \addtocontents{lot}% {\protect\addvspace{10\p@}}% \fi -% Actual title in the opening chapter page. +% \if@twocolumn \@topnewpage[\@makechapterhead{#4}]% \else \@makechapterhead{#4}% \@afterheading \fi - \c@secnumdepth=\TOPsecnumdepth + \IfBooleanTF{#1}{\c@secnumdepth=\TOPsecnumdepth}{}% } + % \end{macrocode} % It would be possible to redefine in a similar manner also % the |\part| command, but originally it was deemed unnecessary, @@ -3655,11 +3673,18 @@ School of Turin. % We need to define |\indici| (alias |\allcontents|) that typesets % the table of contents and, optionally, the lists of tables and/or % figures while softly maintaining the front matter style for -% typesetting. In facts, if the user wants a different style s/he -% can select it with a suitable argument to the |\pagestyle| command. +% typesetting. +% +% The various tables and lists are typeset by default with the |plain| +% page style; if another style is desired the |\indici| command accepts +% an optional argument; the user may specify any (already defined) page +% style that will apply to all lists: table of contents, and if the +% suitable switches are |true|, also to the list of tables and/or the +% list of figures. % \begin{macrocode} -\def\indici{% If headings are desired, the page style must be set in advance +\NewDocumentCommand\indici{O{plain}}{% \iffrontmatter\else\frontmattertrue\fi + \pagestyle{#1}% \tableofcontents \iftablespage {\addvspace{10pt} @@ -3707,7 +3732,7 @@ School of Turin. \brokenpenalty=10000 % \end{macrocode} % -% Here comes a questionable command and/or environment; good +% Now a questionable command and/or environment is defined; good % typesetting requires the baseline skip to be proportioned % to the font size, generally it is some 10--20\% larger % than the font size. In some reasonable instances a larger @@ -3745,8 +3770,8 @@ School of Turin. % These geometrical parameters are critical and everybody % has his/her own ideas of what are the best values for them. % According to my experience the parameters set by this -% extension file work quite well but I would not suggest -% them for every kind of typewritten document. +% extension file work quite well but I would not claim +% that they are suitable for any typewritten document. % % In particular the zero value for the text fraction appears % strange, but students have the tendency to create large figures @@ -3791,9 +3816,9 @@ School of Turin. % caption width. I initially set the caption width (a new % length) to the overall text width diminished by 3em; then % if the caption text, inclusive of the caption label and -% number, is shorter than the text width it is typeset as +% number, is shorter than this text width, it is typeset as % centred text; if it exceeds the text width, it is set as -% a justified paragraph whose line width equals the +% a justified paragraph whose line length equals the % established caption width; but in any case the last % line of the paragraph is measured and, if it is shorter % than one third of the caption width, this width is @@ -3857,20 +3882,21 @@ School of Turin. % has not been loaded the |\captionsetup| macro is not % defined and its use (for example, as a leftover of some % experiments with the \pack{caption} package) would produce -% an error for this reason we define it as a gobbling macro +% an error; for this reason we define it as a gobbling macro % so as to neutralise its presence. % % At this point it is very simple to add the |\captionof| % command in order to use a caption also for figures that % are set outside floating bodies; it might be useful when % small figures or tables are inserted in unusual places, -% such as a table, a minipage, or similar non floating +% such as a table, a |minipage|, or similar non floating % environments. The only thing that suffices to insert is % the name of the corresponding not used float. % \begin{macrocode} \AtBeginDocument{\@ifpackageloaded{caption}{}{% \providecommand\captionsetup{}\renewcommand\captionsetup[2][]{}% \providecommand\captionof[1]{\def\@captype{#1}\caption} + \let\originalcaption\caption \newdimen\captionwidth \newdimen\fullwidth @@ -3914,11 +3940,11 @@ School of Turin. % \end{macrocode} % % ^^A SDFIGURE -% Always delayed to the |\begin{document}| statement execution +% Always delayed to the |\begin{document}| statement execution, % we define a new (possibly floated) environment % |SD| that creates a box where there is the main environment % contents with its caption to a side, precisely to the side -% close to the outer margin of the page. This implies that +% close to the outer margin of the page. This implies that % in one side printing the caption is always on the right, % while in two side printing the caption is on the right in % right/odd pages and on the left in left/even pages. @@ -3944,7 +3970,7 @@ School of Turin. % very \amb{SD} environment. % % The actual commands for inserting -% the picture and its caption within the |figure| environment +% the image and its caption within the |figure| environment % have names starting with |SD|, namely |\SDcaption| and % |\SDimage|. Its syntax is as follows: %\begin{flushleft}\obeylines @@ -4050,9 +4076,12 @@ School of Turin. % used by the final user in those rare circumstances where % just an explanation is required and the object being % explained does not require to be cross referenced. +% %^^A CONFLITTO CON \CAPTION* DI LONGTABLE? -- CONTROLLARE<<<< ! +% % \begin{macrocode} -\NewDocumentCommand\captionSD{s O{} m}{% O: optional arg. with null default +\NewDocumentCommand\captionSD{s O{} m}{% +% O: optional arg. with null default \IfBooleanTF{#1}% {% \@makecaption{}{#3}% @@ -4069,7 +4098,7 @@ School of Turin. % Then the environment |SDbox| is defined by means of the % facilities of the |xparse| package; this allows the use of -% the “non delimited” asterisk argument. It also requires other +% the “non delimited” asterisk argument. It also requires other % arguments, the first of which is mandatory and specifies the % contents kind, be it a figure, or a table, or an algorithm, % or anything else that has been introduced with the facilities @@ -4194,7 +4223,7 @@ School of Turin. % but it actually performs several actions; the first % (optional) argument is intended to collect the “short % caption” to be used, if specified, for the list of floats -% entry; if not specified ,as usual, the “long caption” +% entry; if not specified, as usual, the “long caption” % second argument is used for this entry. The third (optional) % brace delimited argument, on the contrary, is the label % string that usually is passed as the argument of the @@ -4208,7 +4237,6 @@ School of Turin. % and cannot be cross referenced; there are circumstances % when this situation is very useful, but it is up to the % user to decide when it is useful for his/her needs. -% interpretation. % % In this macro definition the boolean switch |NumberSD| % has been already set by the opening statement commands @@ -4269,9 +4297,9 @@ School of Turin. % in a parbox or a minipage; it can be an actual picture % imported with an |includegraphics| command, it can be a % drawing or a diagram created with the |picture|, or |tikz|, -% or |pgfplots|, or |pstricks| commands; it can be a table, -% an algorithm, an example, a theorem; anything that can be -% typeset within a box. With this name in mind we create +% or |pgfplots|, or |pstricks| commands/environments; it can be +% a table, an algorithm, an example, a theorem; anything that can +% be typeset within a box. With this name in mind we create % the |SDimage| command to insert the object into our |SDbox|. % A |\SDtabular| command is an alias to |\SDimage|; the user % may define other such aliases for inserting other objects @@ -4430,8 +4458,8 @@ School of Turin. % involuntary reassignment to this register. At the same % time if a specific language option was not specified, a % warning message is issued, but compilation goes on any way -% without the sectioning string names. For being sure no -% other `undefined' error messages are issued, the |\summaryname| +% without the sectioning string names. To be sure, no +% other `undefined' error messages are issued, and the |\summaryname| % and |\acknowledgename| are let to |\empty|. % \begin{macrocode} \providecommand*\summaryname{} @@ -4450,7 +4478,7 @@ Skipping any redefinition\MessageBreak}% }}}% % \end{macrocode} % For Italian and English there are no problems; we provide -% immediately these extensions by means of the newly available macro: +% immediately these extensions by means of the newly available macros: % \begin{macrocode} \ExtendCaptions{italian}{Sommario}{Ringraziamenti} \ExtendCaptions{english}{Summary}{Acknowledgements} @@ -4461,7 +4489,9 @@ Skipping any redefinition\MessageBreak}% % and |\captionsenglish| are already defined and can be % freely extended. For any other language the corresponding % language option must be entered in the class opening -% statement, otherwise a warning is issued but compilation +% statement if babel is used, or it must be set with |polyglossia| +% |\setotherlanguage| when the latter language handler is being used; +% otherwise a warning is issued but compilation % is not stopped. Therefore if, for example, the user wants % to write the thesis in Spanish, the thesis main file shall % start like this: @@ -4474,7 +4504,18 @@ Skipping any redefinition\MessageBreak}% % ... % \end{verbatim} % and the rest of the thesis will be typeset correctly in -% Spanish. Remember that Italian is the main language and +% Spanish. similarly, if |polyglossia| is being used The code is: +%\begin{verbatim} +% \documentclass[...]{toptesi} +% ... +% \setotherlanguage{spanish} +% \ExtendCaptions{spanish}{Resumen}{Agradecimientos} +% ... +% \begin{document} +% \selectlanguahe{spanish} +% ... +%\end{verbatim} +% Remember that Italian is the main language and % nothing is necessary to set up the Italian defaults. % If English is desired, then after |\begin{document}| it % is necessary to specify the default language; for ease @@ -4505,12 +4546,11 @@ Skipping any redefinition\MessageBreak}% % specify |\english| \emph{after} the |\begin{document}| % statement, if English is supposed to be the main language, or % \item -% specify the language name, other than Italian or English, -% among the class options; use the |\ExtendCaptions| macro -% for extending the list of sectioning commands infix strings -% as explained above; specify with |\selectlanguage| the new -% language as the default one \emph{after} the |\begin{document}| -% statement; +% if babel is being used, specify the language name, other than Italian +% or English, among the class options; use the |\ExtendCaptions| macro +% for extending the list of sectioning commands infix strings as +% explained above; specify with |\selectlanguage| the new language as +% the default one \emph{after} the |\begin{document}| statement; % \item % if \XeLaTeX\ or LuaLaTeX\ is being used for typesetting, it % suffices to specify in the preamble the name of the other @@ -4529,8 +4569,8 @@ Skipping any redefinition\MessageBreak}% % % At last the subsidiary and independent packages % \texttt{topcoman} and \texttt{topfront} are requested -% for input; the latter is loaded only when the -% |documentclass| option |noTOPfront| has NOT been declared. +% for input; the latter is loaded only when the switch |noTOPfront| +% has NOT been set |true| by using any \texttt{tipotesi=\meta{option}}. % This action, therefore has to be delayed till the “begin % document” step, in order to be sure that other packages % have possibly been loaded to typeset the title page, and/or @@ -4538,7 +4578,7 @@ Skipping any redefinition\MessageBreak}% % of measure. This delayed loading implies that the % commands defined in |topfront| and in |topcomand| cannot % be used in the preamble. Notice that also the \textsl{scudo} -% option implies that the title page is typeset with its +% option value implies that the title page is typeset with its % special commands and environments, therefore it sets the % suitable switches so as to avoid loading the |topfront| % module. This applies also to the other modules specific for @@ -4560,7 +4600,7 @@ Skipping any redefinition\MessageBreak}% % because they have a declared width of 0\,pt; this % is no problem for \texttt{pdflatex}, but it is a problem % for the \sigla{PDF/A} format. Therefore, and only when -% \texttt{pdflatex} is used for typesettiNg the document, +% \texttt{pdflatex} is used for typesetting the document, % these commands must be replaced by equivalent ones that % do not use zero-width glyphs. For |\not|, another slash can % be used, but in order to have it the right size in all math @@ -6656,6 +6696,11 @@ security of personal data.} \newcommand\printloghi{\unless\ifvoid\TPT@logobox\usebox{\TPT@logobox}\fi} % \end{macrocode} +% The author/candidate name by defaukt is underlined by five spaced stars; This is the decoration approved by the ScuDo directors. After all, such a decoration might be a little soberer something else, such as a thin rule, or simply omitted; this is possible by redefining the following macro: +% \begin{macrocode} +\newcommand\fivestars{* * * * *} +% \end{macrocode} +% % Next the disclaimer and the signature macros are defined; % the disclaimer text and the signature layout may be changed % by these commands; but if the user does not use these @@ -6718,7 +6763,7 @@ Turin, \@examinationdate \@subtitle {\Large\bfseries \@author\par} \smallskip -\mbox{* * * * * *} +\mbox{\fivestars} \vspace{\stretch{1}} {\large\bfseries \ifcase\@supervisornumber @@ -6840,13 +6885,13 @@ This class is available in every up-to-date and complete % \begin{macrocode} %% %%================================================================ -%% This file is the only file of the TOPtesi bundle that the user -%% can modify without restrictions in order to customise the -%% contents of this configuration file to his/her needs. The user -%% can add or remove lines, comment or uncomment lines, change the -%% arguments to macros, add definitions and so on. %% Use this file by copying the relevant section to another file %% to be named as the thesis main file and with extension .cfg. +%% This copied and renamed file is the only file of the TOPtesi +%% bundle that the user can modify without restrictions in order to +%% customise the contents of this configuration file to his/her needs. +%% The user can add or remove lines, comment or uncomment lines, +%% change the arguments to macros, add definitions and so on. %% This bundle will try to read "\jobname.cfg"; if this file does %% not exist, the bundle files don't do anything. This implies that %% the provided file toptesi.cfg is to be used as a model, not to diff --git a/Master/texmf-dist/tex/latex/toptesi/topcoman.sty b/Master/texmf-dist/tex/latex/toptesi/topcoman.sty index 245a8839e96..46d5bda1726 100644 --- a/Master/texmf-dist/tex/latex/toptesi/topcoman.sty +++ b/Master/texmf-dist/tex/latex/toptesi/topcoman.sty @@ -14,7 +14,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2018/01/01] \ProvidesPackage{topcoman}[% -2020-05-29 v.6.4.04 +2020-09-06 v.6.4.06 Additional commands for the TOPtesi bundle] diff --git a/Master/texmf-dist/tex/latex/toptesi/topfront.sty b/Master/texmf-dist/tex/latex/toptesi/topfront.sty index f7ee3d09fc5..a0259a82df8 100644 --- a/Master/texmf-dist/tex/latex/toptesi/topfront.sty +++ b/Master/texmf-dist/tex/latex/toptesi/topfront.sty @@ -14,7 +14,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2018/01/01] \ProvidesPackage{topfront}[% -2020-05-29 v.6.4.04 +2020-09-06 v.6.4.06 Title page for TOPtesi and other classes] diff --git a/Master/texmf-dist/tex/latex/toptesi/toptesi-dottorale.sty b/Master/texmf-dist/tex/latex/toptesi/toptesi-dottorale.sty index 082774bc437..eb19b8c03dd 100644 --- a/Master/texmf-dist/tex/latex/toptesi/toptesi-dottorale.sty +++ b/Master/texmf-dist/tex/latex/toptesi/toptesi-dottorale.sty @@ -13,7 +13,7 @@ %% License information appended %% \ProvidesPackage{toptesi-dottorale}[% -2020-05-29 v.6.4.04 +2020-09-06 v.6.4.06 Ph.D. degree title page] diff --git a/Master/texmf-dist/tex/latex/toptesi/toptesi-magistrale.sty b/Master/texmf-dist/tex/latex/toptesi/toptesi-magistrale.sty index 8e513176ce3..c02ec8f205d 100644 --- a/Master/texmf-dist/tex/latex/toptesi/toptesi-magistrale.sty +++ b/Master/texmf-dist/tex/latex/toptesi/toptesi-magistrale.sty @@ -14,7 +14,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2018/01/01] \ProvidesPackage{toptesi-magistrale}[% -2020-05-29 v.6.4.04 +2020-09-06 v.6.4.06 Master degree title page] diff --git a/Master/texmf-dist/tex/latex/toptesi/toptesi-monografia.sty b/Master/texmf-dist/tex/latex/toptesi/toptesi-monografia.sty index 3e4606aafac..1a2416163b2 100644 --- a/Master/texmf-dist/tex/latex/toptesi/toptesi-monografia.sty +++ b/Master/texmf-dist/tex/latex/toptesi/toptesi-monografia.sty @@ -14,7 +14,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2018/01/01] \ProvidesPackage{toptesi-monografia}[% -2020-05-29 v.6.4.04 +2020-09-06 v.6.4.06 Bachelor degree title page] diff --git a/Master/texmf-dist/tex/latex/toptesi/toptesi-scudo.sty b/Master/texmf-dist/tex/latex/toptesi/toptesi-scudo.sty index 35a3f1de1a1..aa142be8441 100644 --- a/Master/texmf-dist/tex/latex/toptesi/toptesi-scudo.sty +++ b/Master/texmf-dist/tex/latex/toptesi/toptesi-scudo.sty @@ -14,7 +14,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2018/01/01] \ProvidesPackage{toptesi-scudo}[% -2020-05-29 v.6.4.04 +2020-09-06 v.6.4.06 Extension for ScuDo theses] @@ -162,6 +162,7 @@ security of personal data.} \expandafter\fillup@TCP@logobox\@logosede,!}} \newcommand\printloghi{\unless\ifvoid\TPT@logobox\usebox{\TPT@logobox}\fi} +\newcommand\fivestars{* * * * *} \newcommand\Disclaimer[1]{\gdef\@disclaimer{#1}} \newcommand\CClicence[1]{\gdef\@creativecommons{#1}} \providecommand\@signature{% @@ -188,7 +189,7 @@ Turin, \@examinationdate \@subtitle {\Large\bfseries \@author\par} \smallskip -\mbox{* * * * * *} +\mbox{\fivestars} \vspace{\stretch{1}} {\large\bfseries \ifcase\@supervisornumber diff --git a/Master/texmf-dist/tex/latex/toptesi/toptesi-sss.sty b/Master/texmf-dist/tex/latex/toptesi/toptesi-sss.sty index 9a04a922f2d..cda07d34b80 100644 --- a/Master/texmf-dist/tex/latex/toptesi/toptesi-sss.sty +++ b/Master/texmf-dist/tex/latex/toptesi/toptesi-sss.sty @@ -14,7 +14,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2018/01/01] \ProvidesPackage{toptesi-sss}[% -2020-05-29 v.6.4.04 +2020-09-06 v.6.4.06 High school title page] diff --git a/Master/texmf-dist/tex/latex/toptesi/toptesi.cfg b/Master/texmf-dist/tex/latex/toptesi/toptesi.cfg index bd0fac0361d..38eea3ea284 100644 --- a/Master/texmf-dist/tex/latex/toptesi/toptesi.cfg +++ b/Master/texmf-dist/tex/latex/toptesi/toptesi.cfg @@ -16,13 +16,13 @@ %% %%================================================================ -%% This file is the only file of the TOPtesi bundle that the user -%% can modify without restrictions in order to customise the -%% contents of this configuration file to his/her needs. The user -%% can add or remove lines, comment or uncomment lines, change the -%% arguments to macros, add definitions and so on. %% Use this file by copying the relevant section to another file %% to be named as the thesis main file and with extension .cfg. +%% This copied and renamed file is the only file of the TOPtesi +%% bundle that the user can modify without restrictions in order to +%% customise the contents of this configuration file to his/her needs. +%% The user can add or remove lines, comment or uncomment lines, +%% change the arguments to macros, add definitions and so on. %% This bundle will try to read "\jobname.cfg"; if this file does %% not exist, the bundle files don't do anything. This implies that %% the provided file toptesi.cfg is to be used as a model, not to diff --git a/Master/texmf-dist/tex/latex/toptesi/toptesi.cls b/Master/texmf-dist/tex/latex/toptesi/toptesi.cls index e4fa5ba4d90..bcc3404abae 100644 --- a/Master/texmf-dist/tex/latex/toptesi/toptesi.cls +++ b/Master/texmf-dist/tex/latex/toptesi/toptesi.cls @@ -14,20 +14,20 @@ %% \NeedsTeXFormat{LaTeX2e}[2018/01/01] \ProvidesClass{toptesi}[% -2020-05-29 v.6.4.04 +2020-09-06 v.6.4.06 Class for typesetting university theses] \RequirePackage{fancyvrb} \usepackage{trace} -\RequirePackage{xkeyval} +\usepackage{xkeyval} \DeclareOptionX{formato}[a4paper]{\PassOptionsToClass{#1}{report}} \DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{report}} \ExecuteOptionsX{formato} \ProcessOptionsX*\relax \LoadClass{report} -\RequirePackage{iftex} +\usepackage{iftex} \ifPDFTeX \usepackage[english,italian]{babel} \else diff --git a/Master/texmf-dist/tex/latex/toptesi/toptesi.sty b/Master/texmf-dist/tex/latex/toptesi/toptesi.sty index 641bee97d18..479b3bf2a72 100644 --- a/Master/texmf-dist/tex/latex/toptesi/toptesi.sty +++ b/Master/texmf-dist/tex/latex/toptesi/toptesi.sty @@ -14,13 +14,14 @@ %% \NeedsTeXFormat{LaTeX2e}[2018/01/01] \ProvidesPackage{toptesi}[% -2020-05-29 v.6.4.04 +2020-09-06 v.6.4.06 Extension for toptesi.cls] \def\TRON{\tracingcommands \tw@ \tracingmacros \tw@} \def\TROFF{\tracingcommands\z@ \tracingmacros \z@} \let\TROF\TROFF + \newif\ifevenboxes \evenboxesfalse \newif\if@utoretitolo \@utoretitolofalse \newif\if@ldstyle \@ldstylefalse @@ -118,12 +119,12 @@ Extension for toptesi.cls] \RequirePackage{graphicx} \RequirePackage{etoolbox} -\RequirePackage{xspace} \newcommand*\ifempty[1]{\edef\@tempA{#1}% -\ifx\@tempA\@empty\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi} +\ifx\@tempA\@empty\expandafter\@firstoftwo + \else\expandafter\@secondoftwo\fi} \newlength\interno \normalsize% necessary to have the correct value for \baselineskip -\textheight \paperwidth +\textheight=\paperwidth \setlength{\textheight}{% \dimexpr\textheight*\baselineskip/\baselineskip+\topskip} \iflibro @@ -147,6 +148,7 @@ Extension for toptesi.cls] \footskip=2\baselineskip \fi \fi + \iflibro \interno=\dimexpr\paperwidth-\textwidth\relax \oddsidemargin=0.414214\interno\relax @@ -197,8 +199,8 @@ Extension for toptesi.cls] } \if@twoside % two side - \def\ps@headings{% - \let\@mkboth\markboth\let\@oddhead\@empty\let\@evenhead\@empty + \def\ps@headings{\let\@mkboth\markboth% autoretitolo + \let\@oddhead\@empty\let\@evenhead\@empty \unless\ifTOPfolioinhead % folio in head \ifTOPnocenterfolio \def\@oddfoot{\makebox[\textwidth][r]{\scshape\lapagina}} @@ -316,6 +318,7 @@ Extension for toptesi.cls] \penalty\@highpenalty \endgroup \fi} + \newif\iffigurespage \newif\iftablespage \newif\ifnumeriromani @@ -358,40 +361,53 @@ Extension for toptesi.cls] \iffrontmatter\else\frontmattertrue\fi \chapter*{\summaryname}} \let\summary\sommario + \def\ringraziamenti{% \iffrontmatter\else\frontmattertrue\fi \chapter*{\acknowledgename}} \let\acknowledgements\ringraziamenti + \newenvironment{pdfxmetadata}{% \VerbatimOut{\jobname.xmpdata}}{\endVerbatimOut} + \newcount\TOPsecnumdepth -\RenewDocumentCommand{\chapter} - {s O{#4} O{#2} m O{plain}}{% +\newif\iftoc + +\RenewDocumentCommand{\chapter}{s O{#4} O{#2} m O{plain}}{% \if@openright\cleardoublepage \else\clearpage\fi \thispagestyle{#5}% \global\@topnum\z@ \@afterindentfalse - \TOPsecnumdepth=\c@secnumdepth \IfBooleanTF{#1}{% + \TOPsecnumdepth=\c@secnumdepth \c@secnumdepth=-3\relax - \let\iftoc\iffalse + \tocfalse }{% \iffrontmatter\mainmatter\fi - \let\iftoc\iftrue + \toctrue }% \ifnum \c@secnumdepth >\m@ne \if@mainmatter % where \if@mainmatter is defined % (e.g. book.cls, toptesi.cls) \refstepcounter{chapter}% \typeout{\@chapapp\space\thechapter.}% - \iftoc\addcontentsline{toc}{chapter}{% - \protect\numberline{\thechapter}#2}\fi + \iftoc + \addcontentsline{toc}{chapter}{% + \protect\numberline{\thechapter}#2}% \else % - \iftoc\addcontentsline{toc}{chapter}{#2}\fi + \addcontentsline{toc}{chapter}{#2}% \fi - \else % Were \mainmatter is not defined (e.g.report.cls) - \iftoc\addcontentsline{toc}{chapter}{#2}\fi + \else % When \mainmatter is not defined (e.g.report.cls) + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \iftoc + \addcontentsline{toc}{chapter}{% + \protect\numberline{\thechapter}#2}% + \else % + \addcontentsline{toc}{chapter}{#2}% + \fi + \fi \fi \markboth{#3}{#3}% No \MakeUppercase \iftoc @@ -406,8 +422,9 @@ Extension for toptesi.cls] \@makechapterhead{#4}% \@afterheading \fi - \c@secnumdepth=\TOPsecnumdepth + \IfBooleanTF{#1}{\c@secnumdepth=\TOPsecnumdepth}{}% } + \RenewDocumentCommand\part{s O{#3} m}{\iffrontmatter\mainmatter\fi \if@openright \cleardoublepage \else \clearpage \fi \thispagestyle{plain}\if@twocolumn \onecolumn \@tempswatrue \else \@tempswafalse \fi \null \vfil \IfBooleanTF{#1}{\@spart{#3}}{\@part[#2]{#3}}} @@ -455,8 +472,9 @@ Extension for toptesi.cls] \clearpage \if@restonecol\twocolumn\fi } -\def\indici{% If headings are desired, the page style must be set in advance +\NewDocumentCommand\indici{O{plain}}{% \iffrontmatter\else\frontmattertrue\fi + \pagestyle{#1}% \tableofcontents \iftablespage {\addvspace{10pt} @@ -513,6 +531,7 @@ Extension for toptesi.cls] \AtBeginDocument{\@ifpackageloaded{caption}{}{% \providecommand\captionsetup{}\renewcommand\captionsetup[2][]{}% \providecommand\captionof[1]{\def\@captype{#1}\caption} + \let\originalcaption\caption \newdimen\captionwidth \newdimen\fullwidth @@ -563,7 +582,7 @@ Extension for toptesi.cls] \newcounter{NumberSD} \setcounter{NumberSD}{0} \providecommand*\theNumberSD{\value{NumberSD}} \newif\ifNumberFloat \NumberFloattrue -\NewDocumentCommand\captionSD{s O{} m}{% O: optional arg. with null default +\NewDocumentCommand\captionSD{s O{} m}{% \IfBooleanTF{#1}% {% \@makecaption{}{#3}% |