diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/toptesi/toptesi.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/toptesi/toptesi.dtx | 2352 |
1 files changed, 0 insertions, 2352 deletions
diff --git a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx b/Master/texmf-dist/source/latex/toptesi/toptesi.dtx deleted file mode 100644 index f74b747a6fa..00000000000 --- a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx +++ /dev/null @@ -1,2352 +0,0 @@ -% \iffalse meta-comment -% -% Copyright 1989--2006 Claudio Beccari -% -% This file is part of the TOPtesi bundle -% ------------------------------------------- -% -% It may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 -% of this license or (at your option) any later version. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of LaTeX -% version 2003/12/01 or later. -% -% This file has the LPPL maintenance status "author-maintained". -% -% The list of all files belonging to the TOPtesi bundle is -% given in the file `manifest.txt'. -% -% The list of derived (unpacked) files belonging to the distribution -% and covered by LPPL is defined by the unpacking scripts (with -% extension .ins) which are part of the distribution. -% -% \fi -% -% \iffalse -%<*driver> -\documentclass{ltxdoc} -\ProvidesFile{toptesi.dtx}[2006/08/22 v.4.05 Documented TeX file for -the TOPtesi bundle] -\GetFileInfo{toptesi.dtx} -\title{The TOPtesi bundle} -\date{\fileversion\space\filedate} - \author{Claudio Beccari} - -\begin{document}\errorcontextlines=9 -\maketitle - \setlength\hfuzz{20pt} - \DocInput{toptesi.dtx} -\end{document} -%</driver> -% \fi -% -% \CheckSum{2833} -% -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -% -% \begin{abstract} -% This file describes the TOPtesi bundle; it is a set of files designed to -% typeset with \LaTeX\ a university final report that in Italian is generally -% called ``tesi''; It was originally developed at the Technical University -% of Turin (Politecnico di Torino) but it was adapted for typesetting theses in any -% Italian university. Well\dots\ since the Erasmus student mobility is very -% extended and many Italian students participate in the so called \textit{double degree} -% programs; their theses, or whatever they are called in other countries, -% may be typeset so as to comply also with the host university rules; therefore this -% set of files has the ambition to be suited for typesetting theses in any university in the -% world\dots -% \end{abstract} -% -% \section{Introduction} -% The TOPtesi bundle collects a certain number of files, specifically -% \begin{itemize} -% \item a class file \texttt{toptesi.cls} to be used as the main document class; the main -% document may be any of a certain number of reports that in Italy -% are called with various names: ``monografia'', ``monografia di laurea'', -% ``tesi di laurea'', ``tesi di laurea specialistica'', ``tesi di laurea -% magistrale'', ``tesi di dottorato'', ``dissertazione di dottorato'', and so on. -% All these documents have in common the fact that they all conclude a period of university -% education. Moreover since they may conclude a double degree university program, they may -% receive foreign names such as, for example, ``Projet de fin d'\'etudes'', ``Master thesis'', -% and the like. -% \item An extension package \texttt{toptesi.sty} that contains most of the code -% for the real typesetting; it might be used as an extension to the report class file, -% although this use is discouraged. -% \item A second extension package \texttt{topfront.sty} that contain the commands -% and the typesetting macros for the title page; this file may be used as an -% independent extension package to be added to, say, the report class file for typesetting -% just the title page; this file might be used as a template for setting up the -% title page fixed information in languages different from Italian. -% \item A third extension package \texttt{topcomand.sty} that defines a certain number -% of user commands suitable for typesetting technical matters. -% \item A fourth extension package \texttt{trieste.sty} and its accompanying package option -% \texttt{topsiz14.clo} that is used as an option by -% \texttt{toptesi.cls} in order to define a certain number of variations required -% for theses in humanities at the university of Trieste; these variations are not so important -% ones, but they may be preferred also in other faculties so that the suitable option -% comes handy also in other situations. -% \item The logos of a certain number of Italian universities both in \texttt{.eps} and in -% \texttt{.jpg} or \texttt{.pdf} formats; such logos are included for the user sake, but -% the user should pay attention to use them according to the rules and limitations of -% each university and is strongly advised to look up such regulations in each university Web -% site. -% \item A documentation file \texttt{toptesi-doc.pdf} written in Italian where every feature -% is explained in detail; simpler information is given in this English documentation. -% \end{itemize} -% -% The above files are complemented with a configuration file that any user may -% personalize at will; these personalizations make it easy to configure the -% bundle so as to make it suitable for another language; in facts the \textsf{babel} -% package contains localizations for many languages but they refer to the standard -% infix \LaTeX\ names and phrases and they do not cope with the thesis title page requirements. -% -% \section{User commands} -% The \texttt{toptesi.cls} is basically an extension of the standard class -% \texttt{report.cls}; It redefines the page typesetting grid, the headers and the footers, -% and the title page layout and commands. -% \texttt{toptesi.cls} does not set such crazy settings as ``double spaced'' text; it is -% intended to typeset the thesis with the quality of a \LaTeX\ well typeset document, not as -% a typewriter written one. I suppose that typewriter documents have completely vanished -% except perhaps in the legal professions, especially in Italy where legal documents have to -% be written on special paper produced by the State Polygraphic Institute and carrying a -% watermark and the Republic's Seal; without a special printer it would be very difficult to -% typeset on such a paper. -% -% Theses very often are full of specialized material: formulas, diagrams and pictures, -% texts written in non latin alphabets, special symbols for philological mark-up, and the like; -% a common typewriter would not be suitable and the quality of the contents requires professional -% typesetting; this is why I strongly believe that instructions on typesetting styles that -% refer to the good old times of mechanical typewriters should be banned. -% -% Most new commands refer themselves to the information that should be typeset in the -% title page; some class options specify special stylistic page details; the rest is simple -% and traditional \LaTeX\ mark-up as it is implemented in the \LaTeX\ kernel and in the -% report document class. -% -% \subsection{Class options} -% The class accepts all the options accepted by the report document class plus the ones -% defined here: -% \begin{description}\def\Item[#1]{\item[\texttt{#1}]} -% \Item[chapterbib] Allows to typeset a list of references at the end -% of each chapter and the bibliography items are numbered with a \emph{chapter.item} -% indication. -% -% \Item[classica] Specifies a general modification of certain details that are -% supposed to be more adequate in the humanities; specifically this option -% lets old style numbers to be used for certain numerical pieces of information; -% some variations are also introduced in the title page. -% -% \Item[cucitura] In two sided printing it is better to move the -% typesetting grid towards the outer edges so as to cope with the thesis binding -% that is generally not made by sawing a number of signatures; the outer displacement -% is fixed to~7mm. -% -% \Item[14pt] Extends the normal size choice to 14 points; it is appreciated -% in various fields of humanities, but I would discourage this use in a technical -% thesis, where 10 point perhaps is too small, but 11 point or 12 point typesetting -% may be adequate. It is worth mentioning that this option implements the font -% settings in e different way from what is being done with the \texttt{extsizes} bundle of -% classes; this is why the original \texttt{size14.clo} class option file has been renamed -% \texttt{topsiz14.clo} so as to avoid conflicts with the \texttt{size14.clo} file belonging -% to that bundle. -% -% \Item[autoretitolo] This option modifies the left handed (even numbered) pages -% in two side typesetting; normally the even numbered headings contain -% the chapter title, while the odd numbered ones contain the current section title. -% If the \texttt{classica} option has been specified, then with this option it is possible to -% have even numbered % headings contain the author's name and the thesis title, while the odd -% numbered ones contain the chapter title. Since the thesis title might be too -% long to fit in the header together with the author's name, the |\title| macro -% as been modified so as to accept an optional short title, similarly to the -% sectioning commands. -% -% \Item[oldstyle] Also this option works only if \texttt{classica} had already been -% specified; it typesets several numerical data with the old style numbers. -% \end{description} -% -% \subsection{Title page commands} -% The user must specify a certain number of commands in order to have the -% title page contain all the required information. It must be specified that -% most of these commands may be used in the configuration file so as to avoid repeating -% the same data for different ``reports''; well, a university student might write a -% bachelor's ``monografia'', then a master thesis and finally a doctoral dissertation; -% why should s/he repeat his/her name, the name of the institution, and so on? -% all the user commands for the title page redefine default values or strings; -% therefore if none of the required information is given, the default values and strings are -% typeset, possibly with hilarious results\dots -% -% Since most users are supposed to be Italian, the user commands are mostly in Italian; -% the following description gives their names and meanings; every command receives an argument; -% only the command |\title| accepts an optional argument according to the usual \LaTeX\ syntax: -% \[ -% \makebox[0pt]{% -% \texttt{\char92}\emph{command}\relax -% \texttt{[}\emph{opt\_arg}\texttt{]}\relax -% \texttt{\char123}\emph{req\_arg}\texttt{\char125}\relax -% } -% \] -% \begin{description} -% \def\cs#1{\texttt{\char92#1}} -% \def\Item[#1]{\item[\normalfont\cs{#1}]} -% \Item[frontespizio] is the actual command that typesets the title page and this command -% uses all the information that is passed to it by means of the following -% commands. -% \Item[monografia] sets the bachelor's report style and retrieves the report title -% \Item[titolo] gets the thesis title and an optional thesis short title -% \Item[sottotitolo] gets the thesis subtitle if any -% \Item[materia] gets the name of the subject the thesis deals with -% \Item[Materia] alias for \cs{materia} -% \Item[direttore] gets the name of the Doctoral School Director -% \Item[coordinatore] gets the name of the Doctoral School Coordinator -% \Item[QualificaDirettore] gets the phrase that describes the director or coordinator -% official position; by using the command \cs{direttore} the default phrase -% ``Direttore della Scuola di Dottorato'' is printed over the ``director's'' name; -% if \cs{coordinatore} is used the default phrase ``Coordinatore della -% Scuola di Dottorato'' is printed instead. If neither one is applicable or a -% description in another language is required, this macro is available for -% specifying such position. -% \Item[relatore] gets the name of thesis first supervisor -% \Item[secondorelatore] gets the name of the second supervisor -% \Item[terzorelatore] gets the name of the third supervisor; it is assumed that the number of supervisors -% never exceeds three. -% \Item[tutore] gets the name of the doctorate tutor; there is no difference with regards -% to the \cs{relatore}, but the default phrase ``Tutore'' is printed over this -% person's name. -% \Item[TutorName] gets the phrase that describes the tutor position, possibly in a different -% language. -% \Item[AdvisorName] gets the string that qualifies the supervisor(s); the default string -% is ``Relatore:'' or ``Relatori:'' for the plural; in another language -% this command is used to define the string, say, ``Supervisors:'' if the -% thesis has been supervised by more than one person. -% \Item[CoAdvisorName] gets the string that qualifies the co-supervisor(s); the default string is -% ``Correlatore:'' or ``Correlatori:'' in the plural; this command may be used to -% define the string, say, ``Corapporteur:'' in a French Projet de fin -% d'\'etudes. -% \Item[candidato] gets the name of the male student -% \Item[candidata] gets the name of the female student -% \Item[secondocandidato] gets the name of the second male student -% \Item[secondacandidata] gets the name of the second female student -% \Item[terzocandidato] gets the name of the third male student -% \Item[terzacandidata] gets the name of the third female student; most often the thesis -% author is just one person; but there are some institutions where group -% final works are accepted; it is assumed that the group does not contain more -% than three authors. The specification of the gender allows the software -% to determine the correct labeling phrase in the proper gender and proper number. -% For different languages there might be no difference in gender but -% there is a difference in the plural ending. -% \Item[CandidateName] gets the string that describes the student status in a foreign language -% or even in Italian; the default string is ``Candidato:'' (with colons) -% adjusted to masculine, or feminine, singular or plural; with the option -% \texttt{classica} the string becomes ``Laureato:''; in other languages -% it is necessary to specify this string in the proper gender and number -% \Item[sedutadilaurea] gets the date of the final exam, or presentation, or defense of the -% thesis; if this date is omitted the default date is the current -% month and year in Italian -% \Item[esamedidottorato] an alias for \cs{sedutadilaurea} to be used for doctoral dissertations -% \Item[ciclodidottorato] gets the roman numeral that specifies the doctoral cycle -% \Item[CycleName] redefines the string that expresses the name of the doctoral cycle; -% by default this is ``ciclo'' but this command is useful to set the -% name in a different language. -% \Item[corsodilaurea] gets the proper name of the degree course; the phrase that describes -% the degree course is specified, if necessary, with the following -% command; with this one you specify just, say, ``Electrical Engineering'' -% \Item[CorsoDiLaureaIn] gets the generic name of the degree course, for example ``Bachelor -% Degree in'' -% \Item[TesiDiLaurea] gets the generic phrase that describes the thesis; by default it is -% ``Tesi di Laurea''; in English one might set it to ``Master Thesis''. -% \Item[NomeMonografia] gets the phrase that describes the bachelor's report; by default -% it is ``Monografia di Laurea''. In some Italian universities it might -% be called ``Tesi di Laurea'', so that the master thesis should be given -% another qualification, for example ``Tesi di Laurea Magistrale''. -% \Item[NomeDissertazione] gets the phrase that describes the doctoral thesis; by default it is -% ``Tesi di Dottorato''. -% \Item[InName] infix strings often require adjusting of the prepositions; this macro gets -% the preposition that stands for ``in'' (the default). In German it might -% become ``auf'' -% \Item[NomeAnnoAccademico] defines the infix string that stands for ``Academic year''. -% This macro is -% defined only if the option \texttt{classica} is in force; after all -% the command |\annoaccademico| is defined only with that option. -% \Item[logosede] specifies the name of the file that contains the university logo; no default -% is defined; rather a warning message is issued if no name is given -% or the file is missing, but typesetting goes on without the inclusion -% of any logo. -% \end{description} -% -% Since the infix strings are all memorized into control sequences and for each of them it -% is possible to use a defining command, all strings can be modified at will, so that there -% is no difficulty to localize the package in another language; this comes particularly handy for the -% Erasmus students on double degree programs. -% -% As a final remark notice that the commands for typesetting the title page are contained in the package -% \texttt{topfront.sty}, which can be used as an autonomous extension to the \texttt{report} -% document class. One could easily typeset just the title page with a separate \TeX\ source file -% so as to test the completeness of the commands and coherence of the configuration file or -% for just printing the isolated title page. -% -% \subsection{Typesetting commands} -% The bundle and the TOPtesi document class accept all \LaTeX\ commands provided by -% the \LaTeX\ \texttt{kernel}, the \texttt{report} document class, and the \texttt{graphics} -% extension package, besides those provided by the \texttt{babel} package. -% -% With this respect it must be underlined that the Italian and English languages are specified by -% default, the Italian one being the default language. An initial specification of -% |\selectlanguage{english}| sets the English language as default. Should a student typeset the thesis -% in French, it would be necessary to specify the option \texttt{french} among the class options, -% and so start the document by specifying |\selectlanguage{french}|. Nevertheless these -% \texttt{babel} macros select the English or the French typesetting rules, but hyphenation -% is activated only if the program format file has been generated with the pertinent languages. -% While (American) English is the default and almost any distribution of the \TeX\ system -% has many language defaults, it is more likely that French is preloaded while Italian is not. -% The user should verify which are the default languages preloaded into the format file; this -% information is written in the very first lines of any \texttt{.log} file generated by any -% run of \LaTeX, \texttt{pdflatex} or even plain \TeX. -% -% Should the required languages be missing, the user is forced to read the distribution -% instructions, so as to find out how to configure his/her system so as to consider the languages -% s/he wants to work with, and finally s/he must recreate the format files and put them in -% the proper places of the standard or the local folder tree. The user is invited to carefully -% investigate on these fine points and to configure the system properly; it would be very -% upsetting using fine software for producing a perfectly typeset thesis that, unfortunately, -% has wrong hyphenation points! -% -% The TOPtesi bundle adds very little to the user commands; nevertheless the package -% \texttt{topcomand.sty}, -% that is part of this bundle and is automatically loaded, defines some useful commands for -% typesetting technical matters in such a way as to fulfill the ISO regulations. -% Some of these commands are already defined in the \texttt{babel} Italian option, but if your thesis -% is written in different languages it may happen that such commands are not available any more when -% another language is selected. -% -% The following description specifies these particular commands. -% \begin{description} -% \def\Item[#1]{\item[\normalfont\texttt{\char92#1}]} -% \Item[DeclareSlantedCapitalGreekLetters] does exactly what its name -% means: it changes the definitions of the mathematical capital Geek -% letters so that they are typeset in ``italics''; they are in effects taken from the math -% italic alphabet, instead of the default roman one. -% % -% \Item[ensuremath] should be already defined in the \LaTeX\ kernel; -% should one still be using an obsolete version, this command gets -% available anyhow. -% % -% \Item[ohm] typesets an upright capital omega even if the capital Greek -% letters are in italics; the good point is that |\ohm| can be used also -% in text mode. -% % -% \Item[ped] inserts a subscript in upright type; the ISO regulations -% require the use of italics for physical or mathematica quantities, and -% upright type for whatever is not a variable, from the names of -% functions (such as sin, cos, log, etc.), to the indices that contain -% information on something that is not variable. This means that $V_i$ -% requires an italic index to imply that the object $V$ is the $i$-th in -% a set, while, say, $V_{\mathrm{max}}$ indicates the maximum value of the -% variable $V$. This command may be used both in math and in text mode. -% % -% \Item[ap] similarly |\ap| inserts an apex in upright type, both in math -% and in text mode. -% % -% \Item[unit] sets the unit of measure close to the numerical measure by -% insetting a non breakable thin space and by setting the units of -% measure in upright type; this works both in math and text mode. Of -% course it is necessary to input the |\unit| command without intervening -% spaces in the source file; it's necessary to typeset, say, -% |35\unit{km}| and to avoid to input \verb*+35 \unit{km}+. This command, -% as it is defined, conflicts with the definition of the homonymous -% command |\unit| as defined by the \texttt{units} package, but since -% this latter package is necessarily input \emph{after} -% \texttt{topcomand.sty} is read, the last definition is the one in -% force, therefore if one wishes to use the \texttt{units} package s/he -% should not encounter any inconsistencies. -% % -% \Item[micro] sets the decimal prefix $\mu$ in typesetting units of -% measure. -% % -% \Item[gradi] sets the small circle that defines the sexagesimal -% degrees; it may be used also for the celsius degrees by writing in the -% source file, say, |35\unit{\gradi C}| in order to get -% $35\,^\circ\mathrm{C}$. -% % -% \Item[gei] inserts the imaginary unit in upright type with the -% ``spelling'' used by the technologists: ``j''. This command may be -% redefined, of course, but this strange name is due to the fact that -% nowadays the letter ``j'' in Italian is called with the English name -% (much shorter than the traditional Italian name ``i~lunga'') and the -% indicated spelling ``gei'' is the phonetic Italian rendering of the -% English word. The imaginary unit is not a variable, it is an operator, -% so that the ISO regulations require for this symbol an upright type. -% % -% \Item[eu] inserts the Euler number symbol ``e'' in upright type; since -% this entity is not a variable, but it is a mathematical constant, the -% ISO regulations require it to be written in upright type. The electron -% charge $e$ is not upright because this physical ``constant'' is not -% that constant\dots -% % -% \Item[listing] requires for its argument the name of a file and typesets it in verbatim mode; -% this command is very useful for typesetting the listings of the programs that were written -% for the thesis; for best results it is recommended that the source program has lines not -% longer than 80 characters. -% \end{description} -% -% All these commands are defined into the separate package \texttt{topcoman.sty} -% that can be used as an independent extension package for any document class. -% -% \StopEventually{} ^^A qui si puo' mettere una bibliografia -% -% \section{Documented code} -% \subsection{The class code} -% -% Here begins the usual machinery for stating the required \TeX\ format -% and for sharing some code between the driver and the class part of the code, since they are -% supposed to carry the same date and version number, besides the description string. -% \begin{macrocode} -%<*class> -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{toptesi}% -[2006/04/04 v.4.00.02 Class for typesetting university theses] -% \end{macrocode} -% -% The class itself is very simple since it requires just the \texttt{report} -% document class and some packages with some default options. All options -% specified for the \texttt{toptesi} class are passed on to the \texttt{report} -% class; the latter, on turn, is called with the \texttt{a4paper} option. -% According to the \LaTeX\ machinery of option passing the options passed on to -% the loaded class should be appended to the existing options, so that if \texttt{letterpaper} -% was specified in the calling statement of \texttt{toptesi}, this last option would -% override the default \texttt{a4paper} option. The same holds true for the other package -% options except for the encoding name used as an option for the \texttt{inputenc} package; this % simply does not work and the package is not loaded any more as it was in the previous % versions\footnote{Thanks to Enrico Gregorio who pointed out this feature.}. -% Similarly if another language was specified in the list of \texttt{toptesi} -% options, this language would be appended yo the \texttt{babel} package default options -% and would become the default language. -% \begin{macrocode} -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}} -\ProcessOptions\relax -% -\LoadClass[a4paper]{report} -\RequirePackage[english,italian]{babel} -\RequirePackage{toptesi} -% -%</class> -% \end{macrocode} -% \subsection{The \texttt{toptesi.sty} code} -% The greatest part of the \texttt{toptesi} class code is saved into a separate file -% partly for backward compatibility reasons (before version 3.x \texttt{toptesi} was just -% an extension to the \texttt{report} class) and partly because it might be used as a standaolone -% package, although, take notice, it might conflict with the \texttt{book} class code and certainly -% it is incompatible with the \texttt{article} class. This package must contain its own \TeX\ -% format declaration and might have different version and subversion numbers compared to the -% class file and the other invoked packages that are part of the same bundle. -% -% \begin{macrocode} -%<*topsty> -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{toptesi}% -[2006/08/22 v.4.00.03 Extension for toptesi.cls]% -% \end{macrocode} -% -% We start with defining the debugging macros; these trace commands and macros -% and are the usual one I use for debugging. I know the \texttt{trace} package is supposed -% to be much better, but I am used to these ones. -% \begin{macrocode} -\def\TRON{\tracingcommands \tw@ \tracingmacros \tw@} -\def\TROFF{\tracingcommands\z@ \tracingmacros \z@} -\let\TROF\TROFF -% \end{macrocode} -% Now we define the specific package macros: \texttt{classica} and \texttt{trieste} -% are identical; \texttt{trieste} is maintained for backward compatibility. -% The option \texttt{14pt} is for choosing a normal size of 14pt; the class option -% file \texttt{topsiz14.clo} has a name that should not conflict with other -% similar class option packages and is in line with the other standard \texttt{size??.clo} -% files. \texttt{chapterbib} allows to set a list of references at the end of each chapter. -% \begin{macrocode} -\newif\if@binding \@bindingfalse -\newif\ifchapterbibliography \chapterbibliographyfalse -\DeclareOption{cucitura}{\@bindingtrue} -\DeclareOption{14pt}{\input{topsiz14.clo}} -\DeclareOption{chapterbib}{\chapterbibliographytrue} -\DeclareOption{trieste}{\AtEndOfPackage{\RequirePackage{trieste}}} -\DeclareOption{classica}{\AtEndOfPackage{\RequirePackage{trieste}}} -% -\ProcessOptions\relax -% \end{macrocode} -% The \texttt{graphicx} package is loaded by default; it is required for -% inserting the university logo; if the user forgets that this package has already been loaded -% nothing dramatic happens, because the |\usepackage| and |\RequirePackage| macros -% perform the necessary tests in order to avoid reloading the same packages again and again. -% \begin{macrocode} -\RequirePackage{graphicx} -% \end{macrocode} - -% The text height gets set so as to cope with the standard UNI A4 size; in -% any case the typesetting grid is set to an height of 585pt and is then -% rounded to an integer number of lines depending on the size option -% that has been chosen. The |\topmargin|, |\headheight| and |\headsep| -% parameters have already been set in the size class option file, so that here -% just a small adjustment is made. -% -% \begin{macrocode} -\textheight 585pt -\divide\textheight by \baselineskip -\multiply\textheight by \baselineskip -\advance\textheight by \topskip -% \end{macrocode} -% For the text grid width a certain reduction is made if the extra size of 14pt is chosen. -% \begin{macrocode} -\ifx\f@size\@xivpt - \textwidth=138mm -\else - \textwidth=150mm -\fi -% \end{macrocode} -% Because of the above adjustment the right and left margins must be recomputed; -% in any case they must be recomputed because the default positioning of the -% text grid is centered; only if the class option \texttt{cucitura} is specified -% (|\if@binding| in this case is true) the text grids are moved to the outside -% in order to leave a wider inner margin. At the same time if the text grid is moved to -% the outside, the marginal note width must be reduced accordingly. -% \begin{macrocode} -\oddsidemargin=\paperwidth -\advance\oddsidemargin -\textwidth -\divide\oddsidemargin \tw@ -\advance\oddsidemargin -1in -\evensidemargin=\oddsidemargin -\marginparwidth\oddsidemargin -\advance\marginparwidth 1in -\advance\marginparwidth-2.5\marginparsep -% -\if@binding - \typeout{Messaggio Toptesi: Ricalcolo i margini} - \advance\oddsidemargin 7mm - \advance\evensidemargin -7mm - \advance\marginparwidth -7mm - \advance\marginparwidth -7mm -\fi -% \end{macrocode} -% -% We now establish the page style. We start by setting to ``empy'' the tokens that -% keep the left and the right marks; we define a box so as to set the headers -% inside this box; we redefine also the plain page styles; it is actually a leftover -% from the previous versions when the page number was set at the foot in bold face, -% but we leave it here without the bold face specification, so that in future versions -% folios may be redefined in a common way with the other page styles. -% Notice that in all page styles folios are always in the footers. -% By defining |\lapagina| to be equivalent to |\thepage| we can later on -% redefine |\lapagina| the way we like; we actually do so with the option -% \texttt{classica}. -% \begin{macrocode} -\def\lapagina{\thepage} -\mark{{}{}} -\newbox\@intesta -% -\def\ps@plain{\let\@mkboth\@gobbletwo -\def\@oddfoot{\null\hfill {{\lapagina}}\hfill \null}\def\@oddhead{} -\def\@evenhead{}\let\@evenfoot\@oddfoot} -% \end{macrocode} -% Other page styles are defined in a different way according to the choice of -% one side or two side printing. In any case the header is set without capitalization -% as it happens in all the default document classes, and it is underlined at a fixed -% distance from the base line. If the chapter or section heading a warning is issued -% so as to invite the user to exploit the sectioning commands optional short argument. -% \begin{macrocode} -\if@twoside - \def\ps@headings{\let\@mkboth\markboth% - \def\@oddfoot{\null\hfill {{\lapagina}} \hfill\null} - \let\@evenfoot\@oddfoot - % - \def\@evenhead{\setbox\@intesta\hbox{\footnotesize\slshape - \leftmark}% - \ifdim\wd\@intesta>\textwidth \headWarn{\chapter}\fi% - \underline{\makebox[\textwidth]{\footnotesize\slshape - \strut\leftmark}}}% - \def\@oddhead{\setbox\@intesta\hbox{\footnotesize\slshape - \rightmark}% - \ifdim\wd\@intesta>\textwidth \headWarn{\section}\fi% - \underline{\makebox[\textwidth]{\footnotesize\slshape - \strut\rightmark}}}% - \def\chaptermark##1{\markboth{\thechapter\ -- ##1}{}} - \def\sectionmark##1{\markright{\ifnum\c@secnumdepth>\z@ - \thesection\ -- \fi ##1}}} -\else - \def\ps@headings{\let\@mkboth\markboth - \def\@oddfoot{\null \hfill {\lapagina} \hfill \null} - \def\@evenfoot{} - \def\@oddhead{\setbox\@intesta\hbox{\footnotesize\slshape - \rightmark}% - \ifdim\wd\@intesta>\textwidth \headWarn{\chapter}\fi% - \underline{\makebox[\textwidth]{\footnotesize\slshape - \strut\rightmark}}}% - \def\chaptermark##1{\markright{\thechapter\ -- ##1}}} -\fi -% -\def\headWarn#1{\PackageWarning{toptesi}{% - THE HEADING IS TOO LONG\MessageBreak - Use the optional argument of command \string#1\MessageBreak - See the LaTeX Handbook (1994) on section C.4.1\MessageBreak}} -% \end{macrocode} -% The various tables of contents or figures or tables require some boolean variables to -% be defined; in facts, although the ISO regulations require that every technical report contains -% the list of figures and/or tables, in Italy theses rarely contain these lists; after all: is -% a thesis a technical report? We require also some other boolean variables to handle -% the difference between front matter and main matter; this differences are already defined -% in the \texttt{book} document class, but not in the \texttt{report} one. -% \begin{macrocode} -\newif\iffigurespage -\newif\iftablespage -\newif\ifnumeriromani -\newif\iffrontmatter -% \end{macrocode} -% The |\frontmatter| and |\mainmatter| commands are defined and at the beginning -% of the document the default situation of front matter is established. -% \begin{macrocode} -\def\frontmatter{\clearpage\ps@plain\pagenumbering{roman}% - \numeriromanitrue\frontmattertrue\@openrightfalse} -\def\mainmatter{\if@twoside\@openrighttrue\fi - \clearpage\ps@headings\pagenumbering{arabic}% - \numeriromanifalse\frontmatterfalse} -\AtBeginDocument{\frontmatter} -% \end{macrocode} -% The main matter is automatically established with the first |\chapter| command issued by -% the user; this means that every command that starts a section at the ``chapter'' level within -% the front matter must be executed without an explicit call to |\chapter|. -% -% By default we set to false the boolean variables that control the typesetting of the -% list of figures and the list of tables. -% \begin{macrocode} -\figurespagefalse -\tablespagefalse -% \end{macrocode} -% We have to define the front matter sectioning names |\sommario| and |\ringraziamenti| -% so as to remain in the front matter. -% \begin{macrocode} -\def\sommario{% - \iffrontmatter\else\frontmattertrue\fi - \if@openright\cleardoublepage\else\clearpage\fi - \global\@topnum\z@ - \@afterindentfalse - \@schapter{\summaryname}% - \addcontentsline{toc}{chapter}{\summaryname}% - } -% -\def\ringraziamenti{% - \iffrontmatter\else\frontmattertrue\fi - \if@openright\cleardoublepage\else\clearpage\fi - \global\@topnum\z@ - \@afterindentfalse - \@schapter{\acknowledgename}% - \addcontentsline{toc}{chapter}{\acknowledgename}% - } -% \end{macrocode} -% The strings |\summaryname| and |\acknowledgename| are not defined in any -% language option to \texttt{babel}. Default definitions are given below, but the user -% must define new names for localizing the package in a language different from -% Italian and English. -% -% We have to modify the |\chapter| and |\part| commands so that as the user -% first issues one of these commands the typesetting style is switched to the -% one for the main matter. -% \begin{macrocode} -\renewcommand\chapter{% - \iffrontmatter\mainmatter\fi - \if@openright\cleardoublepage\else\clearpage\fi - \thispagestyle{plain}% - \global\@topnum\z@ - \@afterindentfalse - \secdef\@chapter\@schapter} -% -\renewcommand\part{% - \iffrontmatter\mainmatter\fi - \if@openright\cleardoublepage\else\clearpage\fi - \thispagestyle{empty}% - \if@twocolumn\onecolumn\@tempswatrue\else\@tempswafalse\fi - \null\vfil - \secdef\@part\@spart} -% \end{macrocode} -% At the same time we have to make sure that |\tableofcontents|, -% |\listoftables| and |\listoffigures| do not exit from the front matter style. -% We assume these commands are issued while in front matter, the default at the begin -% document step, so we have to avoid to use starred or un-starred |\chapter| commands. -% \begin{macrocode} -\renewcommand\tableofcontents{% - \if@twocolumn\@restonecoltrue\onecolumn\else\@restonecolfalse\fi - \if@openright\cleardoublepage\else\clearpage\fi - \global\@topnum\z@ - \@afterindentfalse - \@schapter{\contentsname}% - \@starttoc{toc}% - \clearpage - \if@restonecol\twocolumn\fi - } -\renewcommand\listoffigures{% - \if@twocolumn\@restonecoltrue\onecolumn\else\@restonecolfalse\fi - \if@openright\cleardoublepage\else\clearpage\fi - \global\@topnum\z@ - \@afterindentfalse - \@schapter{\listfigurename} - \@mkboth{\listfigurename}{\listfigurename}% - \@starttoc{lof}% - \clearpage - \if@restonecol\twocolumn\fi - } -\renewcommand\listoftables{% - \if@twocolumn\@restonecoltrue\onecolumn\else\@restonecolfalse\fi - \if@openright\cleardoublepage\else\clearpage\fi - \global\@topnum\z@ - \@afterindentfalse - \@schapter{\listtablename}% - \@mkboth{\listtablename}{\listtablename}% - \@starttoc{lot}% - \clearpage - \if@restonecol\twocolumn\fi - } -% \end{macrocode} -% We need to define |\indici| that typesets the table of contents and, optionally, -% the lists of tables and/or figures while assuring that the front matter style is used for -% typesetting. -% \begin{macrocode} -\def\indici{% - \iffrontmatter\else\frontmattertrue\fi - \tableofcontents - \iftablespage - {\addvspace{10pt} - \let\saveaddvspace=\addvspace - \def\addvspace##1{} - \listoftables - \let\addvspace=\saveaddvspace} - \fi - \iffigurespage - {\addvspace{10pt} - \let\saveaddvspace=\addvspace - \def\addvspace##1{} - \listoffigures - \let\addvspace=\saveaddvspace} - \fi -} -% \end{macrocode} -% -% Command |\onecolumn| is not actually necessary; it simply overrides the possible -% misused option \texttt{twocolumn} in the opening document class statement; -% no thesis should be typeset in double column. -% \begin{macrocode} -\onecolumn -% \end{macrocode} -% -% Here come some declarations for vertical justification and for avoiding an hyphenated -% word at the bottom of a page -% \begin{macrocode} -\if@twoside - \flushbottom -\else - \ifx\@xivpt\f@size - \raggedbottom - \else - \flushbottom - \fi -\fi -\brokenpenalty=10000 -% \end{macrocode} -% -% Here comes a questionable command and/or environment; 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 wider or a narrower baseline skip -% might be required; the \LaTeX\ kernel allows to use the |\linespread| command; -% in the previous versions of this bundle a command |\interlinea| and an environment -% \texttt{interlinea} were defined so as to allow to set the line spread factor. -% The experience has shown that students tend to use this command so as to typeset a poor -% and thin thesis on more pages. Well, every instrument can be judiciously or maliciously used; -% this is one of those double sided instruments. -% \begin{macrocode} -\def\interlinea#1{\linespread{#1}\selectfont} -\def\endinterlinea{\par} -% \end{macrocode} -% But whatever might be the current line spread factor within figures and tables we reset -% this factor to the unit value; floating bodies do not belong to this or that section -% of text where a different spread factor might be reasonable. -% \begin{macrocode} -\def \@floatboxreset {% - \reset@font - \linespread{1}% - \normalsize - \@setminipage -} -% \end{macrocode} -% Since we are at it we define the floating bodies placing parameters; not only the -% values ``here'', ``top of the page'' and ``bottom of the page'', that we set as default ones -% leaving to the user to explicitly specify the ``page of floats'', but also the numerical and -% geometrical parameters that control the float placements. -% These geometrical parameters are critical and everybody has his/her own ideas of -% what are the best values for them. According to my experience these parameters work quite well -% but I would not suggest them for every kind of typewritten document. -% In particular the zero value for the text fraction appears strange, but students have -% the tendency to create large figures (more than large tables) and these tend to clog the figure queue. -% A 100\% space for the top of page figures and a requirement of 0\% text allows large floats -% to exit the queue provided they do not exceed the text height. -% \begin{macrocode} -\def\fps@figure{htb} \def\fps@table{htb} -% -\setcounter{topnumber}{2} -\def\topfraction{1} -\setcounter{bottomnumber}{1} -\def\bottomfraction{.5} -\setcounter{totalnumber}{3} -\def\textfraction{0} -\def\floatpagefraction{0} -\setcounter{dbltopnumber}{2} -\def\dbltopfraction{1} -\def\dblfloatpagefraction{0} -% \end{macrocode} -% One command that the default definition does not satisfy me very much is the caption command; -% actually it is the internal |\@makecaption| macro that performs the job. The point is that -% I prefer a narrower justified caption rather than a caption where the last line is just a short word -% or the right segment of an hyphenated word. If one sets the -% |\finalhyphendemerits| counter to an incredibly high value, one might succeed -% in avoiding hyphenation in the last word of a caption; but this might lead -% to a very loose typesetting of the caption paragraph, especially -% if the horizontal box that contains it hardly exceeds the 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 type string and number, is shorter than -% the text width it is typeset as centered text; if it exceeds the text width -% it is set as a justified paragraph whose line with equals the established caption with; -% 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 shortened a little bit and the paragraph is set again -% with this shortened caption width; in order to be sure that one iteration is -% sufficient, the shrinking of the caption width must be computed according to -% the number of lines the paragraph occupies. -% In order to count the number of lines the caption paragraph occupies it is -% necessary to recall that the first line occupies a vertical space that equals -% |\topskip| while the other lines occupy a vertical space equal to -% |\baselineskip|; the latter one is generally larger than |\topskip| therefore -% the integer division of the height of the vertical box divided by the -% |\baselineskip| is truncated to count a line less than the true value. -% In our case if the caption does not stay in one line, its text is typeset in a -% vertical box with a line spread of 0.95 so as to make the caption a little -% more compact than the regular text. -% The baseline skip is a little shorter than the regular one, but it should -% still exceed the default |\topskip|; when we first typeset the caption in a -% vertical box we strip off the last line -% and we must remember the presence of this line in our arithmetics. -% If the length of the stripped last line is longer that one third of the -% caption width, then the vertical box is recomposed by restacking the -% individual lines, but if this last line is shorter than one third of the -% caption width, this width is recomputed in this way: let $N-1$ be the number -% of lines obtained with the integer division, i.e.\ one line less than those -% actually contained in the vertical box. Let $x$ be the initial caption -% width and $x_2$ the last line width; let $y$ be the new caption width; then -% the total length of the caption of width $x$ is $Nx+x_2$ and this should be -% distributed over $N+1$ lines; if we obtained the new caption width $y$ by -% dividing the total length by $N+1$ we should be able to typeset the whole -% caption with all the lines of equal length. This does not actually take place -% because the new lines do not necessarily contain the same amount of inter word -% space, some words might have been hyphenated in a different way, and so on. -% Moreover we do not want a caption that barely exceeds the length of -% |\captionwidth| to be retyped into a two line caption width is about one half -% of the width of the other captions. Therefore we allow for some white space in -% the last line by computing the new caption width with the following formula -% \[ y=\frac{(N+0.5)x + x_2}{N+1} \] -% \begin{macrocode} -\newdimen\captionwidth -\long\def\@makecaption#1#2{% - \begingroup - \small \parskip\z@ \parindent\z@ - \finalhyphendemerits 100000\relax - \linespread{0.95}\selectfont - \vskip \abovedisplayskip - \vskip \abovedisplayskip\captionwidth=\hsize - \advance\captionwidth-3em - \setbox0 \hbox{#1.\quad#2}% - \ifdim\wd0>\hsize - \setbox1 \vbox{\hsize=\captionwidth - \unhbox0\par\global\setbox2\lastbox}% - \setbox2\hbox{\unhbox2}% - \ifdim\wd2<0.333333\captionwidth - \count255=\ht1 \advance\count255 \dp1 - \divide\count255\baselineskip - \advance\count255\@ne - \@tempdima=\wd2 - \advance\@tempdima \count255\captionwidth - \advance\@tempdima 0.5\captionwidth - \advance \count255\@ne - \divide \@tempdima \count255 - \captionwidth=\@tempdima - \setbox0 \vbox{\hsize\captionwidth - #1.\quad#2} - \else - \setbox2\hbox to\captionwidth{\unhbox2 \hfill}% - \setbox0\vbox{\unvbox1\box2}% - \fi - \fi - \makebox[\hsize]{\box0}% - \endgroup -} -% \end{macrocode} -% -% The option \texttt{chapterbib} requires a redefinition of the \texttt{thebibliogrpahy} -% environment in case a separate reference list is required for every chapter. -% The point is that for this task the reference key must contain also the -% chapter number; the rest is simply a redefinition of the environment that behaves -% differently according to the chosen option. In any case the bibliography goes to the -% table of contents as a unnumbered chapter or section. -% \begin{macrocode} -\def\redef@bibitem{\def\@bibitem##1{\item\if@filesw - \immediate\write\@auxout - {\string\bibcite{##1}{\thechapter.\the\c@enumi}}\fi\ignorespaces}} -% -\def\thebibliography#1{% - \ifchapterbibliography\section*{\bibname}\relax - \if@twoside\markright{\bibname}\fi - \addcontentsline{toc}{section}{\bibname}\relax - \redef@bibitem - \list{[\thechapter.\arabic{enumi}]}{% - \settowidth\labelwidth{[\thechapter.#1]}\leftmargin\labelwidth - \advance\leftmargin\labelsep\itemsep\z@ plus 1pt\parsep\z@ - \usecounter{enumi}} - \else - \chapter*{\bibname}\relax - \@mkboth{\bibname}{\bibname}\relax - \addcontentsline{toc}{chapter}{\bibname}\relax - \list{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}% - \leftmargin\labelwidth - \advance\leftmargin\labelsep\itemsep\z@ plus 1pt\parsep\z@ - \usecounter{enumi}} - \fi - \def\newblock{\hskip .11em plus .33em minus -.07em} - \sloppy - \sfcode`\.=1000\relax} - -\let\endthebibliography=\endlist -% \end{macrocode} -% -% For what regards footnotes nothing is changed except resetting the -% line spread to one, in case the current value is different. -% \begin {macrocode} -\long\def\@footnotetext#1{\insert\footins{\linespread{1}\footnotesize - \interlinepenalty\interfootnotelinepenalty - \splittopskip\footnotesep - \splitmaxdepth \dp\strutbox \floatingpenalty \@MM - \hsize\columnwidth \@parboxrestore - \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}% - \@makefntext{\rule{\z@}{\footnotesep}\ignorespaces#1\strut}}} -% \end{macrocode} -% -% These last heterogeneous definitions are partly important and partly residues of -% the good old times of MS-DOS v.3 when a Ctrl-Z character would be placed at the -% end of files. It's a long time that such version is not being used, but some -% old time files might still be around. -% -% The cryptic code that redefines the comma in math mode establishes that this -% character is a normal math character, instead of a math punctuation mark; -% this should not be necessary with the Italian option for the \texttt{babel} -% package and it is possible that in a future version it will be eliminated. -% -% |\topmargin| set to 0pt simply means that the real top margin is 25.4mm, i.e.\ one -% inch, since the output offset is one inch by default. -% \begin{macrocode} -\mathcode`\,="013B -\catcode`\^^Z=10 -\topmargin 0pt -% \end{macrocode} -% -% The TOPtesi bundle contains two new chapter like sections activated with -% the commands |\sommario| and |\ringraziamenti| respectively. The infix strings -% that start these sections depend on the used language. -% -% Because of this it is necessary to extend the list of infix string definitions provided -% the |\captions|$\langle$\texttt{language}$\rangle$ macros defined by the -% language description files of \texttt{babel}; for this purpose we define a macro for -% adding new items for these two new sectioning commands. This macro receives three arguments: -% the first is the babel language name, the second is the string for the summary name, and finally -% the third is the string for the acknowledgements name; everything is contained within a group -% and only the relevant captions macro is globally redefined. The token register `0' is normally -% for scratch usage, but the fact that its value is restored upon exiting the -% group provides the necessary protection against an involuntary reassignment -% to this register. At the same time if a specific language option was not -% specified, a warning message is issued, but compilations goes on any way -% without the sectioning string names. For being sure no other undefined error -% messages are issued, the |\summaryname| and |\acknowledgename| are let to -% |\empty|. -% \begin{macrocode} -\let\summaryname\empty -\let\acknowledgename\empty -\newcommand*\ExtendCaptions[3]{{% -\@ifundefined{captions#1}{% -\PackageWarning{toptesi}{Language option #1 not specified\MessageBreak -Skipping any redefinition\MessageBreak}% -}{% -\expandafter\let\expandafter\@tempA\csname captions#1\endcsname - \toks0=\expandafter{\@tempA% - \def\summaryname{#2}% - \def\acknowledgename{#3}}% - \expandafter\xdef\csname captions#1\endcsname{\the\toks0}% - }}}% -% \end{macrocode} -% For Italian and English there are no problems; we provide immediately these extensions -% by means of the newly available macro: -% \begin{macrocode} -\ExtendCaptions{italian}{Sommario}{Ringraziamenti} -\ExtendCaptions{english}{Summary}{Acknowledgements} -% \end{macrocode} -% In facts the \texttt{babel} options for Italian and English have already been loaded by -% default; therefore both caption macros |\captionsitalian| 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 is not stopped. Therefore if, for example, the user wants to write the -% thesis in Spanish, the thesis main file shall start like this: -% \begin{verbatim} -% \documentclass[...,spanish]{toptesi} -% \ExtendCaptions{spanish}{Resumen}{Agradecimientos} -% ... -% \begin{document} -% \selectlanguahe{spanish} -% ... -% \end{verbatim} -% and the rest of the thesis will be typeset correctly in Spanish. Remember -% that Italian is the default language and nothing is necessary for setting up -% the Italian defaults. If English is desired, then after |\begin{document}| is -% is necessary to specify the default language; for ease of use the following -% macros are defined so they can be used instead of the lengthy \texttt{babel} -% command; after the beginning of the document it is then possible to specify -% |\inglese| or |\english|, and the default language turns into English. -% These shorthand commands can be alternated so as to switch from one language -% to the other; nevertheless remember that there are more correct ways to -% switch languages with the \texttt{babel} commands without changing -% the infix strings. -% \begin{macrocode} -\def\italiano{\selectlanguage{italian}}% -\def\english{\selectlanguage{english}}% -\let\inglese\english -% \end{macrocode} -% At the beginning of the document the following commands are executed; the general macro |\italiano| sets the -% summary and the acknowledgements names in Italian, as the default language; and the |\@chapapp| -% macro is redefined so as to agree with the default language. If a different default language is desired, -% we recall it again, it is necessary to do the following: -% \begin{itemize} -% \item specify |\english| \emph{after} the |\begin{document}| statement, if English is -% supposed to be the default 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. -% \end{itemize} -% \begin{macrocode} -\AtBeginDocument{% - \italiano - \renewcommand\@chapapp{\chaptername}% - } -% \end{macrocode} -% -% At last the subsidiary and independent packages \texttt{topcoman} and \texttt{topfront} -% are requested for input and file input is explicitly ended. -% \begin{macrocode} -\RequirePackage{topfront} -\RequirePackage{topcoman} -% -%</topsty> -% \end{macrocode} -% \subsection{The package file \texttt{topfront.sty}} -% This file is input by \texttt{toptesi}, version 4.x, but it can be used as an -% independent extension package. -% -% It contains all the definition for the composition of just the title page -% along the style requirements of \texttt{toptesi}, version 4.x. -% It makes use of an optional configuration file where the user can define -% a lot of default information and all the infix language dependent strings -% that are peculiar to this title page. -% -% This file specifies that it requires the \LaTeXe\ format and identifies itself. Since the -% package might be used to extend the performances of other classes, this package does not -% specify any input encoding, assuming that the calling class already provided this information. -% \begin{macrocode} -%<*topfrn> -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{topfront}[2006/09/04 v.4.00.04 Title page for TOPtesi] -% \end{macrocode} -% -% The title page information depends on the type of ``thesis' that is being typeset. -% The following commands specify the kind of information that is going to be typeset. -% Some boolean variables are automatically set by the commands in order to change some -% formatting depending on the kind of thesis. For languages that distinguish -% feminine from masculine adjectives or qualifications some automatic machinery is -% set up in order to format some infix strings in a way that copes with the singular or plural -% forms; in particular when there is a multitude of authors (maximum three) of different gender -% the adjectives or qualifications are set masculine plurals, while when there is just one author -% or the authors are of the same gender the adjectives or qualifications are set according to -% number and gender. Al this is done by setting or resetting the truth value associated to -% the boolean variable \texttt{femminile}. The boolean variable \texttt{dottorato} -% controls the PhD thesis format, while the other variable \texttt{laureatriennale} -% controls the formatting of the bachelor's degree report. All other theses are treated -% as master theses, and in all cases the appropiate infix string is typeset in the title -% page -% \begin{macrocode} -\newif\iffemminile -\newif\ifdottorato \dottoratofalse -\newif\iflaureatriennale \laureatriennalefalse -% \end{macrocode} -% -% The thesis title is specified by means of the following commands; |\monografia|, -% the name of the bachelors degree final report, sets also the corresponding -% boolean variables and redefines the command |\titolo| so as to avoid -% duplications and inconsistencies; of course something could still be inconsistent -% if the commands are given in the wrong order. -% -% |\titolo| accepts an optional argument, the ``short title'', more or less -% as the standard sectioning commands; this is due to the fact that with the -% class option \texttt{autoretitolo} the thesis title is written together -% with the author's name in the even side headings; if the thesis full title -% is too long it produces overfull headlines with ugly results; a short title -% may solve the inconvenience. The |\sottotitolo| command is another way -% to maintain a short title; all the supplementary title information may be -% typeset in the subtitle. -% \begin{macrocode} -\def\monografia#1{\global\laureatriennaletrue - \global\dottoratofalse - \global\def\titolo##1{\PackageWarning{toptesi}% - {Il titolo e' gia' stato impostato con - il comando \string\monografia}}% - \gdef\@title{#1}} -\let\@stitle\empty -\newcommand*{\titolo}[2][]{{\def\@tempA{#1}% - \ifx\@tempA\empty\gdef\@stitle{#2}\else\gdef\@stitle{#1}\fi - \gdef\@title{#2}}} -\def\sottotitolo#1{\gdef\@subtitle{#1}} -% \end{macrocode} -% -% The |\materia| or its alias |\Materia| are used to specify the -% subject of the thesis; as a silly example a set of commands that reflect -% this subtle difference might be the following: -% \begin{verbatim} -% \materia{Applied Tetratricotomy} -% \titolo{The tetratricotomy of blond hair} -% \sottotitolo{Accurate measurements of the four fourths -% of tetratricotomized blond hair} -%\end{verbatim} -% and the title page, for example, will contain something like this:\\[\bigskipamount] -% \begin{minipage}{\textwidth}\centering -% {\Large Master Thesis\\ in\\ Applied Tetratricotomy\par}\bigskip -% {\huge The tetratricotomy of blond hair\par}\bigskip -% {\large Accurate measurements of the four fourths\\ -% of tetratricotomized blond hair} -% \end{minipage}\bigskip -% \begin{macrocode} -\let\@materia\empty -\def\Materia#1{\def\@materia{#1}}\let\materia\Materia -% \end{macrocode} -% -% Things get more complicated for doctoral theses; in general there is no supervisor; -% at most if a professor is assigned to supervise or control the doctoring's work -% this may be called in whatever mode but here we assume his name is input -% with the command |\tutore| even if ``tutor'' does not appear as the best choice; -% in any case in Italian ``tutore'' does not have the same meaning as the English ``tutor''. -% Most Doctoral Schools require in place to name the School's director or -% coordinator. This is why this person's name can be introduced with -% |\direttore| or |\coordinatore|; the actual label printed over this person -% name is ``Direttore'' or ``Coordinatore'' % but it can be changed with -% |\QualificaDirettore|. -% \begin{macrocode} -\newif\ifDirettore \Direttorefalse -\def\tutore#1{\gdef\@tutore{#1}} -\def\direttore{\Direttoretrue\relatore}% -\def\coordinatore{\Direttorefalse\relatore}% -\def\QualificaDirettore#1{\gdef\@PhDdirector{#1}} -% \end{macrocode} -% -% For ``normal'' theses we may have from one to three supervisors and from -% one to three authors; not all universities accept a multitude of supervisors -% and/or authors of the same thesis, but some do; this is why this bundle -% accepts up to three names for each category. -% The |\second...| commands set the plural forms of the labels printed above -% the name lists. For the candidates there are different commands to input -% ladies or gentlemen names; according to the masculine (ending in `o') or feminine -% (ending in `a') commands the appropriate truth values are assigned to the -% boolean variable \texttt{femminile} and the labels are set accordingly. -% -% Notice that in the case of bachelor degree final report no supervisor name is printed -% even if one or more supervisor names are specified. This must be kept in mind in order -% to avoid surprises in finding missing information in the title page. Further on there -% are suggestions for circumventing this fact. -% \begin{macrocode} -\def\relatore#1{\gdef\@principaladviser{#1}} -\def\secondorelatore#1{\gdef\@secondadviser{#1}} -\def\terzorelatore#1{\gdef\@thirdadviser{#1}} -\def\candidato#1{\gdef\@author{#1}\femminilefalse} -\def\candidata#1{\gdef\@author{#1}\femminiletrue} -\def\secondocandidato#1{\gdef\@secondauthor{#1}\femminilefalse} -\def\secondacandidata#1{\gdef\@secondauthor{#1}} -\def\terzocandidato#1{\gdef\@thirdauthor{#1}\femminilefalse} -\def\terzacandidata#1{\gdef\@thirdauthor{#1}} -% \end{macrocode} -% -% The next set of macros is used to typeset the ``date'' of the -% thesis defense or presentation or whatever is done for the final -% exam. The macro si sort of complicated because the input format for this -% ``date'' may vary from a single year, to a year range, to a month and year specification -% so that different actions must be taken; if the option \texttt{classica} is in -% force\footnote{This option cannot be active if this extension package is used to extend -% a document class other than \texttt{toptesi}; nevertheless if the package \texttt{trieste.sty} -% is loaded before this package, the relevant information equivalent to \texttt{classica} -% is fully defined and this package works as it should.} then the formatting of the ``date'' -% may be still different. This command is aliased with |\esamendidottorato| which literally means -% ``defense of the doctoral dissertation''; nevertheless both commands refer to a simple date in -% one of those formats. -% -% |\getseduta| splits the date in its two components, month and year; -% if the argument is a single string without intervening spaces, the first one is the string -% itself and the second is empty; this emptiness may be tested and in case the date formatting -% is modified accordingly. -% In particular if the string is a single spaceless one, this string is -% assigned to |\@submitdate|; otherwise a different treatment is made according to the fact that -% \texttt{classica} is in force; if \texttt{classica} is not in force the total string, -% including spaces is assigned to |\@submitade|. If \texttt{classica} is in force, -% |\s@dutaTrieste| is called with the whole string. On turn |\s@dutaTrieste| verifies -% if the date should be typeset with old style numbers or in the usual way; in the latter case -% the whole string is assigned to |\@submitdate|; in the former one the year part may be a -% single year or a year range; This separation is tested by splitting the year part across -% one dash; If the dash is present the extremes of the year range are assigned to |\1| and |\2|, -% otherwise the year part is a single year;. If a single year is given this is simply typeset -% with old style numbers and the appropriate commands are assigned to the |\@submitdate| -% control sequence.. If a year range is given, this year range is also typeset with old style -% numbers, and the dash is executed with a regular en-dash surrounded with white space. -% -% \begin{macrocode} -\def\sedutadilaurea#1{\getseduta#1 !} -\def\getseduta#1 #2!{% - \def\@tempA{#2}% - \ifx\@tempA\empty - \def\@submitdate{#1}% - \else - \expandafter - \ifx\csname StileTrieste\endcsname\relax - \def\@submitdate{#1 #2}% - \else - \s@dutaTrieste#1 #2!% - \fi - \fi -}% -\def\s@dutaTrieste#1 #2!{% - \if@ldstyle - \s@paranumeri#2-!% - \ifx\2\empty - \edef\@submitdate{\noexpand#1 \noexpand\oldstylenums{#2}}% - \else - \s@paranumeri#2!% - \edef\@submitdate{\noexpand#1 - \noexpand\oldstylenums{\1} -- \noexpand\oldstylenums{\2}}% - \fi - \let\1\undefined - \let\2\undefined - \else - \def\@submitdate{#1 #2}% - \fi -} -\def\s@paranumeri#1-#2!{\def\1{#1}\def\2{#2}}% -\let\esamedidottorato\sedutadilaurea -% \end{macrocode} -% -% The next macros are used to assign strings to some literal information -% to be typeset in the title page. |\ciclodidottorato| requires an uppercase roman numeral -% (in Italy), but it can accept anything that can precede the infix word ``cycle''. -% Macros |\corsodilaurea| and |\corsodidottorato| specify the degree course qualification; -% You would specify just ``Elettronica'', for example, and the package will -% write in the title page ``Corso di Laurea in Elettronica''. The infix part may be changed -% depending on the default language and the configuration file. -% -% |\scuoladidottorato| gets the name of the PhD School; |\ateneo| gets the the generic name -% of the university; |\nomeateneo| gets the proper name of the university. In Italy Universities -% are generally named after the city they are in; in large cities where there are several -% universities, each one of them has a proper name. For example the generic name might be -% ``Universit\`a di Roma'' and the proper name might be ``La Sapienza''. -% |\facolta| receives an optional argument that is the uppercase roman numeral -% specific of the faculty and a compulsory argument that corresponds to the -% type of faculty; for example, -% with |\facolta[II]{Ingegneria}| the package typesets in the title page -% ``II Facolt\`a di Ingengeria''; if the optional argument is not specified non -% roman numeral is typeset; the infix string \verb*+Facolt\`a di + may be -% changed with the configuration file depending on the default language. -% Finally |\logosede| gets the name of the graphic file that contains -% the information relative to the university logo. If such logo is not -% available, the user does not specify this command; if the user uses this -% command to insert the university logo but the file is not available the usual -% \texttt{graphicx} package warning is issued but compilation goes on -% without the logo. -% The |\tutoreaziendale| macro is the last addition; several students who work -% on their thesis or final project in a company want to have the company -% supervisor name printed in the -% title page; this does not preclude expressing the student's deepest thanks in -% the acknowledgements -% section, but it does not harm ro name this person also in the title page. -% \begin{macrocode} -\def\ciclodidottorato#1{\gdef\@ciclo{#1 \@cyclename}}% -\def\corsodilaurea#1{\global\dottoratofalse\gdef\@corso{#1}} -\def\corsodidottorato#1{\global\dottoratotrue\global\laureatriennalefalse - \gdef\@corso{#1}} -\def\scuoladidottorato#1{\global\dottoratotrue\global\laureatriennalefalse - \gdef\@phdschool{#1}} -\def\ateneo#1{\gdef\@ateneo{\expandafter\uppercase{\expandafter #1}}} -\def\nomeateneo#1{\gdef\@nomeat{\expandafter\uppercase{\expandafter #1}}} -\newcommand\facolta[2][]{\gdef\@facname{#2}\gdef\@facnumber{#1}} -\def\logosede#1{\edef\@logosede{\noexpand\includegraphics[width=3cm]{#1}}} -\def\tutoreaziendale#1{\gdef\@tutoreaziendale{#1}} -% \end{macrocode} -% -% The following commands are user commands that modify the infix strings -% according to the language used and to the specifications of the actual -% university. All these commands can be put in the configuration file so as to -% specify what is desired as a default. -% If these commands are specifically used to redefine something before issuing -% the |\frontespizio| command, the command that actually typesets the title -% page, the new definitions override the configuration ones. -% -% \begin{description} -% \def\Item[#1]{\item[\normalfont\texttt{\char92#1}] -% sets or changes the string} -% \Item[FacoltaDi] ``Facolt\`a di'' in, say, ``Faculty of'' -% \Item[DottoratoIn] ``Dottorato in'' in, say, ``PhD in'' -% \Item[CorsoDiLaureaIn] ``Corso di Laurea in'' in, say, ``Master of Science in'' -% \Item[TesiDiLaurea] ``Tesi di Laurea'' in, say, ``Tesi di Laurea Magistrale'' -% \Item[NomeMonografia] ``Monografia di Laurea'' in, say, ``Tesi di Laurea'' -% \Item[NomeDissertazione] ``Dissertazione'' in, say, ``PhD dissertation'' -% \Item[InName] ``in'' in, say, ``auf'' -% \Item[CandidateName] ``Candidato'' in, say, ``Laureando'' -% \Item[AdvisorName] ``Relatore'' in, say, ``Supervisors'' -% \Item[CoAdvisorName] ``Correlatore'' in, say, ``Corapporteur'' -% \Item[NomeTutoreAziendale] ``Supervisore aziendale'' in, say, ``XYZ Company Supervisor'' -% \Item[TutorName] ``Tutore'' in, say, ``Supervisor'' -% \Item[CycleName] ``ciclo'' in, say, ``cycle'' -% \Item[NomePrimoTomo] ``Tomo primo'' in, say, ``First volume'' -% \Item[NomeSecondoTomo] ``Tomo secondo'' in, say, ``Second volume'' -% \item[NomeTerzoTomo] ``Tomo terzo'' in, say, ``Third volume'' -% \item[NomeQuartoTomo] ``Tomo quarto'' in, say, ``Fourth volume'' -% \end{description} -% In the above description the first string is generally the default one, while the -% second string is just an example of the corresponding string to be set in another language -% or to be changed in Italian. The last four commands clearly show the difficulty of -% localizing language strings: it is necessary to localize the whole phrase, because of -% the position of the adjectives. -% \begin{macrocode} -\newcommand\FacoltaDi[1]{\gdef\@faculty{#1}} -\newcommand\DottoratoIn[1]{\gdef\@PhDname{#1}} -\newcommand\CorsoDiLaureaIn[1]{\gdef\@laureaname{#1}} -\newcommand\TesiDiLaurea[1]{\gdef\@TesiDiLaurea{#1}} -\newcommand\NomeMonografia[1]{\gdef\@monografia{#1}} -\newcommand\NomeDissertazione[1]{\gdef\@dissertazione{#1}} -\newcommand\InName[1]{\gdef\@InName{#1}} -\newcommand\CandidateName[1]{\gdef\@nomecandidato{#1}} -\newcommand\AdvisorName[1]{\gdef\Relatore{#1}\gdef\Relatori{#1}} -\newcommand\CoAdvisorName[1]{\gdef\Correlatore{#1}\gdef\Correlatori{#1}} -\newcommand\TutorName[1]{\gdef\Tutore{#1}} -\newcommand\NomeTutoreAziendale[1]{\gdef\@tutoreaziendalename{#1}} -\newcommand\CycleName[1]{\gdef\@cyclename{#1}} -\newcommand\NomePrimoTomo[1]{\gdef\PrimoTomo{#1}} -\newcommand\NomeSecondoTomo[1]{\gdef\SecondoTomo{#1}} -\newcommand\NomeTerzoTomo[1]{\gdef\TerzoTomo{#1}} -\newcommand\NomeQuartoTomo[1]{\gdef\QuartoTomo{#1}} -% \end{macrocode} -% -% Now we can read the configuration file if it exists; in any case what is possibly -% defined or redefined in the configuration file must not be redefined in the following -% Lines and this is why everything is subject to the test |\@ifundefined|. Most default -% definitions are simply ``blank''; the others are in Italian. All of them, except the -% supervisor and candidate strings may be individually be redefined in the configuration file -% or in the preamble. Those that cannot be redefined such as the four ``candidate'' strings -% may be actually redefined through the only |\CandidateName| that should be used in a language depended -% way and with the correct number and gender once for all. The four endings in the Italian -% strings allow to exercise the correct selection only for Italian; a specific test is made -% inside the |\frontespizio| command; because of this the same machinery cannot be used, say, for French -% but may be in the future this feature is resolved in a proper way. The same is true for the supervisor -% and the co-supervisor strings that may be changed once for all with |\AdvisorName| and |\CoAdvisorName|. -% \begin{macrocode} -\IfFileExists{toptesi.cfg}{\input{toptesi.cfg}}{} -% -\@ifundefined{@cyclename}{\def\@cyclename{ciclo}}{} -\@ifundefined{@title}{\def\@title{}}{} -\@ifundefined{@author}{\def\@author{}}{} -\@ifundefined{@principaladviser}{\def\@principaladviser{}}{} -\@ifundefined{@secondadviser}{\def\@secondadviser{}}{} -\@ifundefined{@thirdadviser}{\def\@thirdadviser{}}{} -\@ifundefined{@PhDdirector}{% - \edef\@PhDdirector{\ifDirettore Direttore \else Coordinatore \fi - del corso di dottorato}}{} -\@ifundefined{@tutore}{\def\@tutore{}}{} -\@ifundefined{@secondauthor}{\def\@secondauthor{}}{} -\@ifundefined{@thirdauthor}{\def\@thirdauthor{}}{} -% -\@ifundefined{@nomerelatore}{\def\@nomerelatore{}}{} -\@ifundefined{@nomecandidato}{\def\@nomecandidato{}}{} -\@ifundefined{Candidato}{\def\Candidato{Candidato}}{} -\@ifundefined{Candidata}{\def\Candidata{Candidata}}{} -\@ifundefined{Candidati}{\def\Candidati{Candidati}}{} -\@ifundefined{Candidate}{\def\Candidate{Candidate}}{} -\@ifundefined{Relatore}{\def\Relatore{Relatore}}{} -\@ifundefined{Relatori}{\def\Relatori{Relatori}}{} -\@ifundefined{Correlatore}{\def\Correlatore{Correlatore}}{} -\@ifundefined{Correlatori}{\def\Correlatori{Correlatori}}{} -\@ifundefined{Tutore}{\def\Tutore{Tutore}}{} -\@ifundefined{@tutoreaziendale}{\def\@tutoreaziendale{}}{} -\@ifundefined{@tutoreaziendalename}% - {\def\@tutoreaziendalename{Supervisore Aziendale}}{} -\@ifundefined{@subtitle}{\def\@subtitle{}}{} -% -\@ifundefined{@corso}{\def\@corso{}}{} -\@ifundefined{@ciclo}{\def\@ciclo{}}{} -\@ifundefined{@ateneo}{\def\@ateneo{POLITECNICO DI TORINO}}{} -\@ifundefined{@nomeat}{\def\@nomeat{}}{}% Nome proprio dell'ateneo -\@ifundefined{@facolta}{\def\@facname{Ingegneria}}{} -\@ifundefined{@facnumber}{\def\@facnumber{}}{} -\@ifundefined{@faculty}{\def\@faculty{Facolt\`a di}}{} -% -\@ifundefined{PrimoTomo}{\def\PrimoTomo{Tomo primo}}{} -\@ifundefined{SecondoTomo}{\def\SecondoTomo{Tomo secondo}}{} -\@ifundefined{TerzoTomo}{\def\TerzoTomo{Tomo terzo}}{} -\@ifundefined{QuartoTomo}{\def\QuartoTomo{Tomo quarto}}{} -% \end{macrocode} -% If the final exam date is not given the default value is the current month -% and the current year typeset in Italian; therefore the user is strongly -% requested to enter a date either with the |\sedutadilaurea| or the -% |\esamedidottorato| commands. The university logo command by default is also empty. -% \begin{macrocode} -\@ifundefined{@submitdate}{\def\@submitdate{\ifcase\the\month\or% - Gennaio\or Febbraio\or Marzo\or Aprile\or Maggio\or Giugno\or - Luglio\or Agosto\or Settembre\or Ottobre\or Novembre\or Dicembre\fi - \space \the\year}}{} -\@ifundefined{@logosede}{\let\@logosede\relax}{} -% -\@ifundefined{@TesiDiLaurea}{\def\@TesiDiLaurea{Tesi di Laurea}}{} -\@ifundefined{@phdschool}{\def\@phdschool{SCUOLA DI DOTTORATO}}{} -\@ifundefined{@PhDname}{\def\@PhDname{Dottorato in}}{} -\@ifundefined{@laureaname}{\def\@laureaname{Corso di Laurea in }}{} -\@ifundefined{@dissertazione}{\def\@dissertazione{Tesi di Dottorato}}{} -\@ifundefined{@monografia}{\def\@monografia{Monografia di Laurea}}{} -\@ifundefined{@InName}{\def\@InName{in}}{} -% \end{macrocode} -% -% Finally it comes the only active macro |\frontespizio|, the one macro that -% actually typesets the title page. The macro starts with a local redefinition -% of the \texttt{myheadings} page style; with this style the university name -% goes into the header, while the exam date goes in the footer; in this way the -% information that must be typeset in the title page is not crunched in too -% little space and the overall text bounding box assumes a shape similar to that -% of the page. -% -% Everything is closed within a group so all definitions remain local. -% \begin{macrocode} -\def\frontespizio{% -\begingroup - \def\ps@myheadings{\let\@mkboth\markboth - \def\@oddhead{\vbox{% - \hbox to \hsize{\hfill {\LARGE \@ateneo}\hfill}% - \expandafter - \ifx\csname StileTrieste\endcsname\relax - \else - \hbox to \hsize{\hfil\vrule\@width\z@ - \@height3.5ex\vrule\@height1.4\p@\@depth-\p@\@width50mm\hfil}% - \fi - }}% - \def\@oddfoot{\vbox to 15mm{\vss - \expandafter - \ifx\csname StileTrieste\endcsname\relax - \else - \hbox to \hsize{\hfil\raisebox{-.3ex}[\z@][\z@]{% - \vrule\@height-2.6\p@\@depth3\p@\@width50mm}\hfil}% - \fi - \hbox to\hsize{\hfill{\Large{\@submitdate}}\hfill}}% - }% - \let\@evenhead\@oddhead - \let\@evenfoot\@oddfoot - }% -% \end{macrocode} -% -% We want also the title page to be set in the middle of the page irrespective of -% the binding correction; so we assign the average of the two side margins to each margin. -% \begin{macrocode} - \advance\oddsidemargin \evensidemargin - \divide\oddsidemargin \tw@ - \evensidemargin \oddsidemargin -% \end{macrocode} -% -% We select the \texttt{myheadings} page style; setting the page counter to zero -% is a remain of old settings, but it does not hurt; the |\null| command inserts a void horizontal box -% into the vertical list; it is useful to act as a block against which the vertical glue pushes -% for setting the subsequent material. The normal font is chosen in case preceding commands did change -% the font characteristics. -% \begin{macrocode} - \thispagestyle{myheadings}% - \null\setcounter{page}{1}% - \normalfont -% \end{macrocode} -% The generic university name is already in the header; if it is non blank the first thing -% we set in the page is the university proper name and some vertical glue. -% \begin{macrocode} - \ifx\@nomeat\empty \else - {\vspace*{-3\topskip}\centering - \expandafter{\Large \@nomeat}\par}\vfill - \fi -% \end{macrocode} -% Then the faculty name comes next; but fot the doctoral school it uses the doctoral -% school name entered with |\scuoladidottorato|, otherwise it inserts the faculty -% ordinal number or prefix and name already entered with the optional and required -% arguments of |\facolta|. -% \begin{macrocode} - \begin{center} - {\rmfamily\mdseries - \ifdottorato - \large \@phdschool - \else - \LARGE\ifx\@facnumber\empty\else\@facnumber\space\fi - \@faculty\space\expandafter{\@facname}% - \fi - \par}% -% \end{macrocode} -% Further specification: it inserts the field of the PhD research or the degree course name; for example -% it inserts the line ``Philosophy Degree in Applied Tetratricotomy~--~XVI~cycle'' or -% ``Master of Science in Applied Tetratricotomy''. -% \begin{macrocode} - \ifx\@corso\empty \else{\large - \ifdottorato - {\@PhDname\@corso\ifx\@ciclo\empty\else~--~\@ciclo\fi}% - \else - {\@laureaname\@corso}% - \fi - \par} - \fi - \end{center} -% \end{macrocode} -% It now centers the name of the report, be it ``Doctoral Dissertation'' or ``Master Thesis'' or whatever; in case -% the command |\materia| was used, it then centers the area which the thesis deals with. -% \begin{macrocode} - \vfill - \begin{center} - \LARGE - \ifdottorato - \@dissertazione% - \else - \iflaureatriennale - \@monografia% - \else - \@TesiDiLaurea% - \fi - \fi - \ifx\empty\@materia\else - \\\@InName\\\@materia - \fi - \end{center} -% \end{macrocode} -% Next comes the real title entered with |\titolo| or |\monografia| and the possible subtitle. -% \begin{macrocode} - \vfill - \begin{center} - {\huge\bfseries \baselineskip=0.95em plus 1pt - \expandafter{\@title \par}} - \end{center} -% con l'eventuale sottotitolo - \ifx\@subtitle\empty \else - \begin{center}% - \large\textrm{\expandafter{\@subtitle}}\par - \end{center}% - \fi -% \end{macrocode} -% If the option \texttt{classica} is in force the thesis might be divided in several volumes; -% apparently these in humanities are often oversized. In this case the |\frontespizio| -% command may be given at the beginning of every volume and the counter \texttt{tomo} is -% stepped up; the volume number is therefore printed in each title page; the infix string -% may be redefined as it was shown above. -% \begin{macrocode} - \expandafter - \ifx\csname StileTrieste\endcsname\relax - \else - \expandafter - \ifnum\value{tomo}>\z@ - \par\bigskip - \noindent\makebox[\textwidth]{% - \large\textbf{% - \ifcase\c@tomo% - \or \PrimoTomo% - \or \SecondoTomo% - \or \TerzoTomo% - \or \QuartoTomo% - \else - \PackageWarning{toptesi}{% - Counter tomo equals \the\c@tomo\MessageBreak - It was not considered a thesis might get - divided in more than four volumes}% - \fi}}% - \fi - \fi - \par -% \end{macrocode} -% Going down in the title page now comes the optional insertion of the university logo; this is a simple task -% once |\@logosede| has been defined, and this was done either with an explicit command |\logosede| with its argument -% in the preamble, or a specific line in the configuration file. -% \begin{macrocode} - \ifx\@logosede\@empty\else - \vspace*{\bigskipamount} - {\centering \@logosede\par}\fi -% \end{macrocode} -% -% the final task is to typeset the possible supervisors' names, the candidates' names and all the rest -% of the bureaucratical terms. We have to distinguish between a bachelor degree report that is not -% supposed to have a supervisor, from the doctoral dissertation where we do not indicate the supervisor, but -% the School Director, and the master thesis where there might be one or more supervisors; with the -% \texttt{classica} option in force no label is printed over the supervisor's name, unless there is -% a plurality od supervisors. -% \begin{macrocode} - \vfill - \iflaureatriennale - \let\@nomerelatore\empty - \else - \ifdottorato - \edef\@nomerelatore{\@PhDdirector}% - \else - \ifx\@principaladviser\empty\else - \def\@nomerelatore{\Relatore:}% - \fi - \@ifundefined{StileTrieste}% - {\ifx\@secondadviser\empty \else - \def\@nomerelatore{\Relatori:}% - \fi}{}% - \fi - \fi -% \end{macrocode} -% Similarly the label names for the exam candidates are chosen; in Italian the names are infix strings -% that are selected according the gender and the number; if these labels have to be set in a different language -% it is necessary to define one string that has to be selected by the user according to number and gender. -% The label for the doctorship is left empty. -% \begin{macrocode} - \ifdottorato - \let\@nomecandidato\empty - \else - \iflanguage{italian}{% - \iffemminile - \def\@nomecandidato{\Candidata:}% - \else - \def\@nomecandidato{\Candidato:}% - \fi - \ifx\@secondauthor\empty \else - \iffemminile - \def\@nomecandidato{\Candidate:}% - \else - \def\@nomecandidato{\Candidati:}% - \fi - \fi}{} - \fi -% \end{macrocode} -% -% For the names of the supervisor(s) and of the candidate(s) a different approach is used for each one -% of the three categories of theses. If a bachelor degree report is dealt with, the name of the \emph{only} -% candidate is centerd and written in caps-and-small-caps. -% \begin{macrocode} - \iflaureatriennale - \begin{center}% - \large\mdseries\textsc{\@author} - \end{center}% -% \end{macrocode} -% For doctoral and master theses two virtual boxes (actually macros) are filled up so as to align -% the supervisor name(s) and, in second virtual box, the candidate name(s). The label is set in the -% first line with proper number and gender; in the second line the first name, and in the subsequent lines, -% if there are any, the other names. These virtual boxes actually contain a tabular environment each; these -% environments shall be actually typeset when these virtual box macros are executed. If the \texttt{classica} -% option is in force no label is set over the principal advisor name, but a label is set over the co-advisor -% name(s). The type size is also e little different for the \texttt{classica} option. The |\protect| command -% is used to protect the names in case they contain accent macros that might be expanded at the wrong moment. -% \begin{macrocode} - \else -% Per laurea e dottorato con relatori e correlatori... - \def\BoxRelatori{% - \begin{tabular}[t]{l}% - \hbox{{\@ifundefined{StileTrieste}{\large}{}% - \textbf{\protect\@nomerelatore}}}\\[.6ex] - \hbox{{\large\textrm{\protect\@principaladviser}}}% - \ifx\@secondadviser\empty \else - \@ifundefined{StileTrieste}{}{% - \ifx\@thirdadviser\empty - \ifx\@secondadviser\empty\else - \\[1.5ex]\textbf{\Correlatore:}% - \fi - \else - \\[1.5ex]\textbf{\Correlatori:}% - \fi} - \\[.6ex]\hbox{{\large\textrm{\protect\@secondadviser}}}% - \fi - \ifx\@thirdadviser\empty \else - \\[.6ex] \hbox{{\large\textrm{\protect\@thirdadviser}}}% - \fi - \end{tabular}% - }% -% \end{macrocode} -% A similar approach is taken for the candidate name(s) -% \begin{macrocode} - \def\BoxCandidati{% - \begin{tabular}[t]{l}% - \hbox{{\expandafter - \@ifundefined{StileTrieste}{\large}{}% - \textbf{\protect\@nomecandidato}}}\\[.6ex] - \hbox{{\large\textrm{\protect\@author}}}% - \ifx\@secondauthor\empty - \else - \\\hbox{{\large\textrm{\protect\@secondauthor}}}% - \fi - \ifx\@thirdauthor\empty - \else - \\\hbox{{\large\textrm{\protect\@thirdauthor}}}% - \fi - \end{tabular}% - }% -% \end{macrocode} -% The real typesetting of these name lists takes place now; if the thesis is referred to the -% PhD school one type of layout is used, otherwise the default master thesis layout is used; remember -% that the bachelor degree case has already taken place. For the doctoral dissertation the doctoring -% person name is typeset centered in one line by itself and everything else is set 3em below -% into a three column table extended to the |\hsize|, the first line containing the person labels -% and the second line containing the true names. The central column is used just for spacing, but it does -% not contain anything. -% \begin{macrocode} - \ifdottorato - \begin{center}\large - \textbf{\@author}\\[3em] - {\normalsize - \begin {tabular*}{\hsize}{@{\extracolsep{\fill}}ccc} - \ifx\@tutore\empty\else - \textbf{\Tutore} - \fi - &\relax& - \ifx\@principaladviser\empty\else - \textbf{\@nomerelatore} - \fi - \\ - \ifx\@tutore\empty\else - \@tutore - \fi - &\relax& - \ifx\@principaladviser\empty\else - \@principaladviser - \fi - \end{tabular*} - }% - \end{center} - \else -% \end{macrocode} -% For the master thesis the two virtual boxes are set one besides the other but skewed -% so that to the right or, respectively, to the left of every name there is enough space for the signatures. -% With the \texttt{classica} option in force the two boxes are simply aligned. -% \begin{macrocode} - \expandafter - \@ifundefined{StileTrieste}{% - \begin{flushleft}% - \BoxRelatori - \end{flushleft}\par\vspace*{-1.5\baselineskip} - \begin{flushright}% - \BoxCandidati - \end{flushright}\par}{% - \noindent - \makebox[\textwidth]{\BoxRelatori - \hfill\BoxCandidati}\par}% - \fi - \fi -% \end{macrocode} -% The final item is the optional name of the company supervisor. -% \begin{macrocode} -\ifx\@tutoreaziendale\@empty\else - \vfill\vfill - {\centering \textbf{\@tutoreaziendalename}\\[.6ex] - \@tutoreaziendale\par} -\fi -% \end{macrocode} -% All the material now is on the page; we put some more vertical glue and we close -% the page sending it to the output file; the final |\endgroup| closes the |\begingroup| that was -% set at the beginning of this long macro. -% \begin{macrocode} - \vfill\par\null - \if@twoside\cleardoublepage\else\clearpage\fi -\endgroup} -%</topfrn> -% \end{macrocode} -% -% \subsection{A sample configuration file} -% The following code generates a simple configuration file that the user -% can change at will; it can be used as a template for generating a really -% personal configuration file. -% \begin{macrocode} -%<*topcfg> -%% -%%================================================================ -%% This file is the only file of the TOPtesi bundle that the user -%% can modify without restrictions in order to personalize 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 the macros, add definitions and so on. -%%================================================================ -%% -\ateneo{Politecnico di Torino} -\facolta{Ingegneria} -\FacoltaDi{Facolt\`a di } -%%\DottoratoIn{Corso di dottorato in } -\CorsoDiLaureaIn{Corso di Laurea in } -\TesiDiLaurea{Tesi di Laurea Magistrale} -%%\NomeMonografia{Monografia di Laurea} -%%\NomeDissertazione{Tesi di Dottorato} -\InName{in} -%%\TutorName{Tutore} -%%\CycleName{ciclo} -%</topcfg> -% \end{macrocode} -% \subsection{The package file \texttt{topcoman.sty}} -% This file may be used as an independent extension package for the \texttt{report} -% document class, and possibly for other classes -% \begin{macrocode} -%<*topcmn> -\NeedsTeXFormat{LaTeX2e} % lavora solo con LaTeX 2e -\ProvidesPackage{topcoman}% - [2005/12/08 v.4.00.00 Additional commands for the TOPtesi bundle] -% \end{macrocode} -% The new command |\DeclareSlantedCapitalGreekLetters| optionally sets the capital -% Greek letters in math mode with the glyphs taken from the math italic fonts, not from -% the math roman fonts, at is is by default; some persons prefer to use both symbols with -% different meanings, so this command lets them do so. -% \begin{macrocode} -\newcommand*\DeclareSlantedCapitalGreekLetters{% - \mathchardef\Gamma="7100 - \mathchardef\Delta="7101 - \mathchardef\Theta="7102 - \mathchardef\Lambda="7103 - \mathchardef\Xi="7104 - \mathchardef\Pi="7105 - \mathchardef\Sigma="7106 - \mathchardef\Upsilon="7107 - \mathchardef\Phi="7108 - \mathchardef\Psi="7109 - \mathchardef\Omega="710A -} -% \end{macrocode} -% The |\ensuremath| command is defined in the \LaTeX\ kernel from a certain version on; -% should the user employ a really old \LaTeXe\ implementation this definition -% supplies the missing one. -% \begin{macrocode} -\providecommand{\ensuremath}[1]{\ifmmode#1\else$#1$\fi}% -% \end{macrocode} -% The following commands may be already defined; should they be missing they are supplied here. -% The greatest part of them is already defined in the Italian option to the -% \texttt{babel} language; but remember; this package may be used as a stand alone one, without -% the initial call by the \texttt{toptesi} document class, so that the language Italian might -% be undefined. -% \begin{macrocode} -\providecommand{\ohm}{\ensuremath{{\mathrm{\Omega}}}} -\providecommand{\ped}[1]{\ensuremath{_{\mathrm{#1}}}} -\providecommand{\ap}[1]{\ensuremath{^{\mathrm{#1}}}} -\providecommand{\unit}[1]{\ensuremath{{\mathrm{\,#1}}}} -\providecommand{\gei}{\ensuremath{{\mathop{\mathrm{j}}\nolimits}}} -\providecommand{\eu}{\ensuremath{{\mathop{\mathrm{e}}\nolimits}}} -\providecommand{\micro}{\ensuremath{\ifx\muup\undefined\mu\else\muup\fi}} -\providecommand{\gradi}{\ensuremath{^\circ}} -% \end{macrocode} -% -% The next set of definitions are used to list a program file. There are -% better packages to perform this task in the CTAN archives. This set of macros -% has the advantage that is very short and light on the computer memory; nevertheless -% it performs its duty pretty well. The font face is the typewriter one; the -% font size is chosen so as to -% allow approximately 80 characters in the text width of the thesis. It respects -% the possible indentation tabs (ASCII code 9) by inserting the correct amount -% of typewriter spaces so as to align every line to the correct boundary which -% is ``zero modulo eight''. If the program file contains some form feed ASCII -% characters (ASCII code 12), this \TeX\ code inserts a new page command. The -% code may appear strange, and it does because it makes heavy use of the dirty -% tricks of appendix~D of the \TeX\-book. -% \begin{macrocode} -\def\listing#1{\par\begingroup -\programma \input #1 \endgroup} -\def\uncatcodespecials{\def\do##1{\catcode`##1=12}\dospecials} -\def\programma{\footnotesize\tt \parindent 0pt -\def\par{\leavevmode\egroup\box0\endgraf} -\catcode`\`=\active \catcode`\^^I=\active \catcode`\^^L=\active -\obeylines \uncatcodespecials \obeyspaces -\everypar{\startbox}} -% \end{macrocode} -% The above code does the whole work, but the alignment to the tab stops and the -% new page command associated to the form feed ASCII character are done with the -% following definitions. -% \begin{macrocode} -\newdimen\tabwidth \setbox0=\hbox{\footnotesize\tt\space} \tabwidth=8\wd0 -\def\startbox{\setbox0=\hbox\bgroup} -{\obeyspaces\global\let =\ } -{\catcode`\`=\active \gdef`{\relax\lq}} -{\catcode`\^^I=\active -\gdef^^I{\leavevmode\egroup \dimen0=\wd0 -\divide\dimen0 by\tabwidth -\multiply\dimen0 by\tabwidth -\advance\dimen0 by\tabwidth -\wd0=\dimen0 \box0 \startbox}} -{\catcode`\^^L=\active \gdef^^L{\par\penalty-10000}} -% \end{macrocode} -% -% The following code is already set in the \texttt{toptesi} package; here it is -% repeated because this package might be used as a stand alone one. Remember that -% the comma as a decimal separator is required for all languages except English. -% \begin{macrocode} -\mathcode`\,="013B -\catcode`\^^Z=10 -% \end{macrocode} -% -% The following commands are used to write the ``lower case'' roman numerals -% with the small-caps; in order to avoid complications with missing fonts or math -% environments we make sure to typeset these numerals with script style capitals; this solution -% is not probably the best one but it works. Unfortunately it typesets these roman numerals -% only with the roman type; for this thesis bundle roman numerals are used only for folios, -% therefore there are no problems with a choice of fonts shapes and series. -% \begin{macrocode} -\DeclareRobustCommand*{\@roman}[1]{\textsc{\romannumeral#1}}% -% \end{macrocode} -% -% A user, Antonio Mele, has suggested and requested the possibility of having -% the figure and table name inserted automatically when the |\ref|command is -% issued. For single citations the solution works fine, but for range -% references it does not work. In Italian the name must be lower case while in -% other languages, specifically in English, the name has a capital initial. -% Since this feature might be handy in certain circumstances and annoying in -% other ones, this feature can be turned on and off at will with the enabling -% and disabling commands. By default the feature is disabled. -% \begin{macrocode} -\def\ft@figure{\iflanguage{italian}{\MakeLowercase{\figurename}}% - {\figurename}~} -\def\ft@table{\iflanguage{italian}{\MakeLowercase{\tablename}}% - {\tablename}~} -% -\newcommand*\EnableFigTabNames{% - \let\p@figure\ft@figure\let\p@table\ft@table} -\newcommand*\DisableFigTabNames{% - \let\p@figure\empty\let\p@table\empty} -% -\DisableFigTabNames -%</topcmn> -% \end{macrocode} -% \subsection{The class option file \texttt{topsiz14.clo}} -% Among the options available there is the possibility of typesetting the thesis with -% a large normal font size, specifically 14pt. The following file is just a copy of the -% other size??.clo class option files where the font dimensions have been modified so -% as to be coherent whit a normal size of 14pt. There is nothing unusual except that -% the font sizes are taken from the kernel macros where the magic numbers of non -% integer sizes are specified. The baseline skips are substantially the ones taken -% from the 10pt default size and multiplied by 1.44, or those of the 12pt option -% multiplied by 12; in both cases they were rounded to integers most of the times. -% Since the whole bundle works only under \LaTeXe, we deleted all the tests for -% compatibility with \LaTeX\,209 and the corresponding test branches. -% \begin{macrocode} -%<*top14> -\NeedsTeXFormat{LaTeX2e} -\ProvidesFile{topsiz14.clo}% - [2006/04/16 v.4.00.01 TopTesi 14pt size-option file] -\renewcommand\normalsize{% - \@setfontsize\normalsize\@xivpt{18}% - \abovedisplayskip 14\p@ \@plus3\p@ \@minus7\p@ - \abovedisplayshortskip \z@ \@plus3\p@ - \belowdisplayshortskip 8.5\p@ \@plus3.5\p@ \@minus3\p@ - \belowdisplayskip \abovedisplayskip - \let\@listi\@listI} -\normalsize -\renewcommand\small{% - \@setfontsize\small\@xiipt{14}% - \abovedisplayskip 13\p@ \@plus3\p@ \@minus6\p@ - \abovedisplayshortskip \z@ \@plus3\p@ - \belowdisplayshortskip 7.5\p@ \@plus3.5\p@ \@minus3\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 9\p@ \@plus3\p@ \@minus5\p@ - \parsep 4.5\p@ \@plus2\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\renewcommand\footnotesize{% - \@setfontsize\footnotesize\@xipt{13} - \abovedisplayskip 12\p@ \@plus2\p@ \@minus5\p@ - \abovedisplayshortskip \z@ \@plus3\p@ - \belowdisplayshortskip 7\p@ \@plus3\p@ \@minus3\p@ - \def\@listi{\leftmargin\leftmargini - \topsep 6\p@ \@plus2\p@ \@minus2\p@ - \parsep 3\p@ \@plus2\p@ \@minus\p@ - \itemsep \parsep}% - \belowdisplayskip \abovedisplayskip -} -\renewcommand\scriptsize{\@setfontsize\scriptsize\@xpt{12}} -\renewcommand\tiny{\@setfontsize\tiny\@viiipt\@xpt} -\renewcommand\large{\@setfontsize\large\@xviipt{22}} -\renewcommand\Large{\@setfontsize\Large\@xxpt{25}} -\renewcommand\LARGE{\@setfontsize\LARGE\@xxvpt{30}} -\renewcommand\huge{\@setfontsize\huge\@xxvpt{30}} -\let\Huge=\huge -\if@twocolumn - \setlength\parindent{1em} -\else - \setlength\parindent{1.5em} -\fi -\setlength\smallskipamount{3.5\p@ \@plus 1\p@ \@minus 1\p@} -\setlength\medskipamount{7\p@ \@plus 2\p@ \@minus 2\p@} -\setlength\bigskipamount{14\p@ \@plus 4\p@ \@minus 4\p@} -\setlength\headheight{14\p@} -\setlength\headsep {36\p@} -\setlength\topskip {14\p@} -\setlength\footskip{30\p@} -\if@compatibility \setlength\maxdepth{4\p@} \else -\setlength\maxdepth{.5\topskip} \fi - \setlength\@tempdima{\paperwidth} - \addtolength\@tempdima{-2in} - \setlength\@tempdimb{390\p@} - \if@twocolumn - \ifdim\@tempdima>2\@tempdimb\relax - \setlength\textwidth{2\@tempdimb} - \else - \setlength\textwidth{\@tempdima} - \fi - \else - \ifdim\@tempdima>\@tempdimb\relax - \setlength\textwidth{\@tempdimb} - \else - \setlength\textwidth{\@tempdima} - \fi - \fi - \@settopoint\textwidth - \setlength\@tempdima{\paperheight} - \addtolength\@tempdima{-2in} - \addtolength\@tempdima{-1.5in} - \divide\@tempdima\baselineskip - \@tempcnta=\@tempdima - \setlength\textheight{\@tempcnta\baselineskip} -\addtolength\textheight{\topskip} -\if@twocolumn - \setlength\marginparsep{10\p@} -\else - \setlength\marginparsep{10\p@} -\fi -\setlength\marginparpush{7\p@} - \if@twoside - \setlength\@tempdima {\paperwidth} - \addtolength\@tempdima {-\textwidth} - \setlength\oddsidemargin {.4\@tempdima} - \addtolength\oddsidemargin {-1in} - \setlength\marginparwidth {.6\@tempdima} - \addtolength\marginparwidth {-\marginparsep} - \addtolength\marginparwidth {-0.4in} - \else - \setlength\@tempdima {\paperwidth} - \addtolength\@tempdima {-\textwidth} - \setlength\oddsidemargin {.5\@tempdima} - \addtolength\oddsidemargin {-1in} - \setlength\marginparwidth {.5\@tempdima} - \addtolength\marginparwidth {-\marginparsep} - \addtolength\marginparwidth {-0.4in} - \addtolength\marginparwidth {-.4in} - \fi - \ifdim \marginparwidth >2in - \setlength\marginparwidth{2in} - \fi - \@settopoint\oddsidemargin - \@settopoint\marginparwidth - \setlength\evensidemargin {\paperwidth} - \addtolength\evensidemargin{-2in} - \addtolength\evensidemargin{-\textwidth} - \addtolength\evensidemargin{-\oddsidemargin} - \@settopoint\evensidemargin - \setlength\topmargin{\paperheight} - \addtolength\topmargin{-2in} - \addtolength\topmargin{-\headheight} - \addtolength\topmargin{-\headsep} - \addtolength\topmargin{-\textheight} - \addtolength\topmargin{-\footskip} - \addtolength\topmargin{-.5\topmargin} - \@settopoint\topmargin -\setlength\footnotesep{10.4\p@} -\setlength{\skip\footins}{13\p@ \@plus 4\p@ \@minus 2\p@} -\setlength\floatsep {14\p@ \@plus 2\p@ \@minus 4\p@} -\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} -\setlength\intextsep {16\p@ \@plus 4\p@ \@minus 4\p@} -\setlength\dblfloatsep {16\p@ \@plus 2\p@ \@minus 4\p@} -\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} -\setlength\@fptop{0\p@ \@plus 1fil} -\setlength\@fpsep{10\p@ \@plus 2fil} -\setlength\@fpbot{0\p@ \@plus 1fil} -\setlength\@dblfptop{0\p@ \@plus 1fil} -\setlength\@dblfpsep{10\p@ \@plus 2fil} -\setlength\@dblfpbot{0\p@ \@plus 1fil} -\setlength\partopsep{3\p@ \@plus 2\p@ \@minus 2\p@} -\def\@listi{\leftmargin\leftmargini - \parsep 5\p@ \@plus2.5\p@ \@minus\p@ - \topsep 10\p@ \@plus4\p@ \@minus6\p@ - \itemsep5\p@ \@plus2.5\p@ \@minus\p@} -\let\@listI\@listi -\@listi -\def\@listii {\leftmargin\leftmarginii - \labelwidth\leftmarginii - \advance\labelwidth-\labelsep - \topsep 5\p@ \@plus2.5\p@ \@minus\p@ - \parsep 2.5\p@ \@plus\p@ \@minus\p@ - \itemsep \parsep} -\def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii - \advance\labelwidth-\labelsep - \topsep 2.5\p@\@plus\p@\@minus\p@ - \parsep \z@ - \partopsep \p@ \@plus\z@ \@minus\p@ - \itemsep \topsep} -\def\@listiv {\leftmargin\leftmarginiv - \labelwidth\leftmarginiv - \advance\labelwidth-\labelsep} -\def\@listv {\leftmargin\leftmarginv - \labelwidth\leftmarginv - \advance\labelwidth-\labelsep} -\def\@listvi {\leftmargin\leftmarginvi - \labelwidth\leftmarginvi - \advance\labelwidth-\labelsep} -%</top14> -% \end{macrocode} -% \subsection{The package file \texttt{trieste.sty} for the \texttt{classica} option} -% As mentioned above, the \texttt{classica} option was devised in order to cope with theses -% in humanities and the specifications came from Paolo Ciacchi, a student of the University -% of Trieste, who was preparing a master thesis in classical Greek philology. The necessity of -% the large normal size derived from the necessity of having clear mark-up signs among the -% myriad philologists use, that sometimes let me believe that the philological mark-up requires -% typesetting environments similar to the mathematical ones, since the material to be typeset -% does not form a linear sequence, as in plain text, but a bi-dimensional structure as in mathematics. -% In previous version this file was input with the option \texttt{trieste}, but another option \texttt{classica} -% was defined so as not to tie these facilities only to the University of Trieste. -% -% The other requirements involve the title page and I agreed to implement them, since they are -% likely to be useful for other universities as well; the effort for localizing this bundle -% makes this point less stringent compared to the previous versions, but there are other layout fine points that -% cannot be solved with a simple substitution of infix strings. -% -% In order to have the whole bundle be aware of the option classica a specific control sequence -% is defined so as to be unique to this file. This definition is not ``undefined'' only if this file -% has already been input. -% \begin{macrocode} -%<*toptrst> -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{trieste}% - [2005/12/08 v.4.00.00 opzioni specifiche per Trieste] -\def\StileTrieste{classica} -% \end{macrocode} -% -% For the options specific to this package a couple of boolean variables are defined and the option -% definitions set them to the value ``true''. -% \begin{macrocode} -\newif\if@utoretitolo \@utoretitolofalse -\newif\if@ldstyle \@ldstylefalse -\DeclareOption{autoretitolo}{\@utoretitolotrue} -\DeclareOption{oldstyle}{\@ldstyletrue} -\ProcessOptions -% \end{macrocode} -% The singular and plural masculine and feminine strings for ``candidate'' are redefined. For other languages -% the configuration file comes in handy. -% \begin{macrocode} -\def\Candidato{Laureando} -\def\Candidata{Laureanda} -\def\Candidati{Laureandi} -\def\Candidate{Laureande} -% \end{macrocode} -% -% Since theses in humanities may end up to occupy several volumes (classically ``tomo'' -% in Italian means ``volume'', although the latter spelling is valid also in Italian with the same meaning -% but appears to be neglected by the humanists; in English ``tome'' indicates a ``large book''; in Italian the -% meaning nuance of ``tomo'' is a little different because it is used to indicate the volumes -% into which a large typeset work is divided; the humanists, as usual, know well their words and use them properly!) -% a mechanism is set up to create a different title page for each volume; we need a volume counter -% and a command to start each volume; the |\frontespizio| macro typesets the real title page and we have -% already seen that it can print the volume ordinal. The localization allows to change the infix string that -% is going to be printed. When several tomes are involved, instead of using the |\frontespizio| macro, -% use the |\tomo| one, that provides to stepping up the volume counter before actually printing the new tome -% title page. -% \begin{macrocode} -\newcounter{tomo} -\newcommand*{\tomo}{\clearpage\stepcounter{tomo}\frontespizio} -% \end{macrocode} -% Folios as well are to be redefined and also the page styles require a redefinition so as to being -% able to use old style numbers. The macro |\lapagina| (it's not a case the this macro name is the -% direct translation of ``the page'') contains the folio number; if it is in roman numerals nothing -% happens, but if the old style numbers are required the folio is surrounded by the proper macros -% so as to expand the folio macro before typesetting it in old style. The page style does not need -% an actual redefinition, because the original definition in file \texttt{toptesi.sty} already uses -% |\lapagina| as the typeset folio indicator. -% \begin{macrocode} -\renewcommand*{\lapagina}{% - \ifnumeriromani - \thepage - \else - \if@ldstyle - \expandafter\oldstylenums\expandafter{\thepage}% - \else - \thepage - \fi - \fi - } -% \end{macrocode} -% But we actually have to redefine the page style for the new headings because the \texttt{classica} -% options changes completely the left and the right headers depending on the option \texttt{autoretitolo}; -% in this case the left header contains the candidate's name a a short version of the thesis title, -% while the right heading contains the chapter (short) title; if this option is not in force, headings -% appear as usual. The redefinition of the \texttt{headings} page style is made only of this option -% is in force. IN case of two side printing where the left head and the right head are different, -% the left heading contains the author name and the short title name; if there are other authors the -% first author name is printed followed by ``et al.''; if the over all header string exceeds the text -% width, a message is printed so as to induce the user to make use of the optional |\titolo| argument, -% the one that is supposed to contain the short title. In the right heading there is the chapter title; -% again if the header turns out to bee too wide, a message is issued to the user. -% -% More complicated things are done when typesetting on one side; in facts the author name -% (possibly followed by ``et al.'') and the short thesis title are typeset on the left -% of the only header while the chapter title is typeset on the right; in the unlikely -% situation where these two elements separated by at least 2em of white space do not exceed -% the text width, they are printed, but if they do, as it is likely to happen, then my suggestion -% would be not to use the \texttt{autoretitolo} option, but if the user absolutely wants this -% layout, then the author's name, possibly followed by ``et al.'', and the short thesis title -% are set in a vertical box; the same happens for the chapter title in another box; these -% texts are set withe ragged margins on the center, and finally these boxes are set one next -% to the other with an intermediate glob of infinitely stretchable glue, and finally set -% in the header box with a rule underneath the two of them. The result might be barely acceptable -% if both vertical boxes do not exceed two lines and no words have to be hyphenated, but in -% general I believe it is an ugly layout; the user is warned! -% \begin{macrocode} -\if@utoretitolo - \if@twoside -% - \renewcommand*{\ps@headings}{\let\@mkboth\markboth% - \def\@oddfoot{\null \hfill \textbf{\lapagina} \hfill \null}% - \let\@evenfoot\@oddfoot -% - \def\@evenhead{% - \setbox\@intesta\hbox{\latintext - \footnotesize\strut\textsc{% - \@author\ifx\@secondauthor\empty\else\ et al.\fi: \@stitle}% - }% - \ifdim\wd\@intesta>\textwidth\headwrn{\titolo}\fi - \underline{\makebox[\textwidth]{\box\@intesta}}}% - \def\@oddhead{\latintext - \setbox\@intesta\hbox{% - \footnotesize\strut\textsl{\rightmark}}% - \ifdim\wd\@intesta>\textwidth \headWarn{\section}\fi% - \underline{\makebox[\textwidth]{\box\@intesta}}}% - \def\chaptermark##1{\markright{\thechapter\ -- ##1}{}}% - \def\sectionmark##1{}}% - \else - \renewcommand*{\ps@headings}{\let\@mkboth\markboth - \def\@oddfoot{\null \hfill \textbf{\lapagina}\hfill \null}% - \let\@evenfoot\empty\let\@evenhead\empty - \def\@oddhead{{\setbox\z@\hbox{\latintext\footnotesize - \textsc{% - \@author\ifx\@secondauthor\empty\else\ et al.\fi: \@stitle}}% - \setbox\tw@\hbox{\latintext\footnotesize\textsl{\rightmark}}% - \dimen@=2em\advance\dimen@\wd\z@\advance\dimen@\wd\tw@ - \ifdim\dimen@<\textwidth \relax - \else - \setbox\z@\vbox{\hsize.48\textwidth\parindent\z@\raggedright - \latintext\footnotesize\textsc{% - \@author\ifx\@secondauthor\empty\else\ et al.\fi: \@stitle - }}% - \setbox\tw@\vbox{\hsize.48\textwidth\parindent\z@\raggedleft - \latintext\footnotesize\textsl{\rightmark}}% - \fi - \setbox\@intesta\vbox to\z@{% - \vss\hbox to\textwidth{\strut\box\z@\hfill\box\tw@}}% - \underline{\box\@intesta}}}% - \def\chaptermark##1{\markright{\thechapter\ -- ##1}}} - \fi -\fi -% \end{macrocode} -% Here |\annoaccademico| is defined that typesets the infix string corresponding to -% ``Anno accademico'' followed by the year range in old style numbers (irrespective -% of the \texttt{oldstyle} option); Commands for the localization are provided so as -% to set a different string, possibly through the configuration file. In order to set -% an adequate en-dash between the old style numbers a new definition is given that -% takes care to set the dash at a height above the base line that copes the specific -% shape of the old style numbers. -% \begin{macrocode} -\newcommand*\NomeAnnoAccademico[1]{\gdef\AnnoAccademico{#1}} -\@ifundefined{AnnoAccademico}{\gdef\AnnoAccademico{Anno accademico}}{} -% -\def\annoaccademico#1{% - \def\@submitdate{{\large\textsc{\AnnoAccademico}} {\Large\s@tanno#1!}}} -\def\s@tanno#1-#2!{\oldstylenums{#1\EnDash#2}} - -\def\EnDash{{\settowidth{\dimen@}{\large\sc I}% -\setbox\tw@\hbox{2}\dimen\tw@.5\ht\tw@\advance\dimen\tw@-.5\dp\tw@ -\dimen4\dimen\tw@\advance\dimen4by.0385ex\relax -\advance\dimen\tw@-.0385ex\relax -\makebox[1.5\dimen@]{% - \vrule\@width\dimen@\@height\dimen4\@depth-\dimen\tw@}}} -% \end{macrocode} -% The footnote rule separator is also longer that the default one. Dealing with notes -% the footnote separator is also changes as well as the footnote skip. But the humanists -% like to have also unnumbered notes within numbered ones, as if they were two separate -% sets; of course specialized extensions are available on CTAN, but as a poor man solution -% the command |\nota| was introduced that inserts a note with a symbol as a note mark; -% the symbol \emph{must} be a mathematica symbol as the dagger or the double dagger; -% by default it is the asterisk. At the same time the default definition of the mathematical -% asterisk is that of a binary operator; I have experienced that the note symbol gets a -% better positioning if if is declared an ordinary symbol, treated as, say, a letter. This -% is why its math code is redefined. A final unusual request was to be able to put a blank -% unnumbered note, as a (rather wide) note separator. The command |\NoteWhiteLine| has to -% be used at the end of the text of the preceding note. -% \begin{macrocode} -\renewcommand\footnoterule{% - \kern-6\p@ - \hrule\@width.4\columnwidth - \kern5.6\p@} -\setlength\footnotesep{12\p@} -\setlength{\skip\footins}{24\p@ \@plus 4\p@ \@minus 2\p@} -\DeclareMathSymbol{*}{\mathalpha}{symbols}{"03} -\newcommand*\nota[1][*]{% - \xdef\@thefnmark{\ensuremath{\m@th#1}}\@footnotemark\@footnotetext -} -\newcommand*{\NoteWhiteLine}{\par\vspace*{-.3\baselineskip}} -% \end{macrocode} -% -% The humanists asked me to create some other simple macros: one for skipping a whole page, -% without header and footer; another to compose a dedication page; a third one for typesetting -% a page with one or more witty sentences. The first request has a trivial solution, but at -% least |\paginavuota| is much shorter to type in that its expansion. -% -% The environments \texttt{dedica} for the dedication, and \texttt{citazioni} for the witty -% sentences are almost identical; both typeset their content with a reduced text width, half -% of the normal one; this column is typeset on the right of the page. The \texttt{dedica} -% environment is supposed to be used in the front matter, while the witty sentence environment -% may be used anywhere. The dedication is typeset in |\Large| font size and in italics; if the -% author wants a different size and/or a different shape s/he must specify it at the beginning -% of the dedication. The \texttt{citazioni} environment typesets its material with the default -% font shape series and size, so the author has to specify any change s/he desires. -% -% \begin{macrocode} -\newcommand*\paginavuota{\clearpage\thispagestyle{empty}\null\clearpage} -% -\newenvironment{dedica}{\clearpage - \if@twoside - \ifodd\c@page\else\thispagestyle{empty}\clearpage\fi - \fi - \thispagestyle{empty}% - \list{}{\labelwidth\z@ - \leftmargin.5\textwidth - \parindent\z@ - \raggedright\LARGE\itshape}\item[] -}{% - \endlist\clearpage -} -% -\newenvironment{citazioni}{% - \clearpage\thispagestyle{empty} - \list{}{\labelwidth\z@ - \leftmargin.5\textwidth - \parindent\z@ - \raggedright}\item[] -}{% - \endlist\clearpage -} -%</toptrst> -% \end{macrocode} -% \Finale -% \endinput |