summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/toptesi/toptesi.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/toptesi/toptesi.dtx')
-rw-r--r--Master/texmf-dist/source/latex/toptesi/toptesi.dtx328
1 files changed, 191 insertions, 137 deletions
diff --git a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx b/Master/texmf-dist/source/latex/toptesi/toptesi.dtx
index 47125086e29..59737fc5613 100644
--- a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx
+++ b/Master/texmf-dist/source/latex/toptesi/toptesi.dtx
@@ -85,7 +85,7 @@ another example of how to use toptesi.
% \iffalse
%<*driver>
\documentclass{ltxdoc}
-\ProvidesFile{toptesi.dtx}[2012/11/09 v.5.61d Documented TeX file for
+\ProvidesFile{toptesi.dtx}[2012/12/26 v.5.62 Documented TeX file for
the TOPtesi bundle]
\GetFileInfo{toptesi.dtx}
\title{The TOPtesi bundle}
@@ -102,7 +102,7 @@ the TOPtesi bundle]
%</driver>
% \fi
%
-% \CheckSum{2571}
+% \CheckSum{2613}
%
%% \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
@@ -370,10 +370,14 @@ the TOPtesi bundle]
% \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.
+% \Item[logosede] specifies the name of the file or the files that contain the university
+% logos; 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. a list of logos can be specified, useful when a
+% thesis is carried on in a multiple University environment such as, for
+% example that takes place in a double degree Erasmus program; or under
+% the Erasmus Mundus program. The ``string'' of logos is scaled properly so
+% that they may fit in the |\textwidth|.
% \Item[setbindingcorrection] sets up the length to displace the text block to the external
% margin so as to have a wider internal margin to accommodate the binding
% correction. Its argument is not optional and is used to modify the
@@ -392,32 +396,33 @@ the TOPtesi bundle]
% As a final remark notice that the commands for typesetting the title page and the
% copyright 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
+% typeset either 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 and copyright (if any) pages.
%
% \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{graphicx}
-% extension package, besides those provided by the \texttt{babel} package.
+% the \LaTeX\ \texttt{kernel}, the \texttt{report} document class, and the
+% \texttt{graphicx} extension package, besides those provided by the \texttt{babel}
+% package.
% If the source thesis file is being typeset by means of \XeLaTeX\ the \texttt{babel}
% package is not loaded; in its place the \texttt{polyglossia} package is loaded that
% should implement in \XeLaTeX\ most of the functionality provided by \texttt{babel} to
% \LaTeX. ``Most'' means that not all the functionality is available, therefore it's better
% to consult the documentation of \texttt{polyglossia} before using its built in commands.
%
-% 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 by means of \textsf{pdflatex}, it would be necessary to specify the
-% option \texttt{french} among the
-% \emph{class} options, and so start the document by specifying |\selectlanguage{french}|.
-% But the user should pay attention to use \texttt{babel} in the proper way:
+% 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 by means of \textsf{pdflatex}, it would be
+% necessary to specify the option \texttt{french} among the \emph{class} options, and then
+% start the document by specifying |\selectlanguage{french}|. But the user should pay
+% attention to use \texttt{babel} in the proper way:
% \begin{itemize}
% \item Due to the way \LaTeX\ classes load the requested files, and to the fact that the
% \texttt{babel} package has already been loaded by the \texttt{toptesi} class, the user
% cannot reload it with a different list of language options; therefore the latter language
-% options \emph{must be specified} as global class options; therefore, if the thesis has
+% options \emph{must be specified} as global class options; so if the thesis has
% to be typeset, for example, in French, is is necessary to do the following:
%\begin{verbatim}
%\documentclass[...,french,...]{toptesi}
@@ -425,7 +430,7 @@ the TOPtesi bundle]
%\begin{document}
%\selectlanguage{french}
%\end{verbatim}
-% But if the thesis should be typeset in Frenche by means of \XeLaTeX, then it is perfectly
+% But if the thesis should be typeset in French by means of \XeLaTeX, then it is perfectly
% legal to specify the auxiliary language in this way:
%\begin{verbatim}
%\documentclass[...]{toptesi}
@@ -441,29 +446,30 @@ the TOPtesi bundle]
% Remember that \texttt{babel} and \texttt{polyglossia} macros select the language
% typesetting rules, but hyphenation is activated only if the program format file has been
% generated with the pertinent language hyphenation rules. You can check this detail by
-% reading the first dozen lines of your thesis \texttt{.log} file; there is the list of all
-% language hyphenation rules that are available in the format file.
-% While (American) English is the default and almost any \emph{basic} distribution of the \TeX\
-% system has many language defaults, it is more likely that French is preloaded while Italian is
-% not. Complete distributions don't exhibit this flaw.
-%
-% Should the required language(s) be missing, the user is forced to read his/her 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 very properly;
-% it would be very upsetting to use fine software for producing a perfectly typeset thesis
-% that, unfortunately, has wrong hyphenation points! Luckily enough, recent distributions
-% of the \TeX\ system have all the known hyphenation rules preloaded; in any case even older
-% distributions have available command line commands or graphical user interfaces that make
-% it easy to perform the tasks of changing the list of preloaded hyphenation rules and
-% rebuilding all the format files, moving them to the proper places.
+% reading the first dozen lines of your thesis \texttt{.log} file; there the list of all
+% language hyphenation rules that are available in the format file is being shown.
+% While (American) English is the default and almost any \emph{basic} distribution of the
+% \TeX\ system has many language defaults, it is more likely that French is preloaded while
+% Italian is not. Complete distributions don't exhibit this flaw.
+%
+% Should the required language(s) be missing, the user is forced to read his/her
+% 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 properly
+% configure the system; it would be very upsetting to use fine software for producing a
+% perfectly typeset thesis that, unfortunately, has wrong hyphenation points! Luckily
+% enough, recent distributions of the \TeX\ system have all the known hyphenation rules
+% preloaded; in any case even older distributions have available command line commands
+% or graphical user interfaces that make it easy to perform the tasks of changing the list
+% of preloaded hyphenation rules and rebuilding all the format files, moving them to the
+% proper places.
% \end{itemize}
%
% The TOPtesi bundle adds very little to the user commands; nevertheless the package
% \texttt{topcoman.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 useful commands for typesetting technical matters in such a way as to fulfill the
+% ISO regulations.
% Some of these commands are already defined with 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 you select another language; with the presence of the definitions
@@ -492,12 +498,12 @@ the TOPtesi bundle]
% %
% \Item[ped] inserts a subscript in upright type; the ISO regulations
% require the use of italics for physical or mathematical quantities, and
-% upright type for whatever is not a variable, from the names of
+% upright type for anythingg that 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.
+% variable $V$. This command |\ped| 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.
@@ -518,7 +524,7 @@ the TOPtesi bundle]
% \Item[micro] sets the decimal prefix $\mu$ in typesetting units of
% measure.
% %
-% \Item[gradi] sets the small circle that defines the sexagesimal degrees, for
+% \Item[gradi] sets the small circle that defines the sexagesimal degrees, for
% example $35^\circ$; 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}$.
@@ -532,14 +538,14 @@ the TOPtesi bundle]
% English word. The imaginary unit is not a variable, and the ISO regulations
% require it is typed with an upright serifed font, just as operators are.
% %
-% \Item[eu] inserts the Euler number symbol ``e'' in upright type; since
+% \Item[eu] inserts the Napier 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 ISO regulations require
% the upright type for ``e'' and any mathematical constant, but
% the electron charge $e$ is typeset in math italics because this physical
% ``constant'', not a mathematical one. \XeTeX\ allows to typeset upright Greek letters,
% so there is the facility to typeset an upright ``pi'' (the number) to be distinguished
-% from an inclined ''pi'' (the angle).
+% from an slanted ''pi'' (the angle).
% %
% \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
@@ -551,11 +557,12 @@ the TOPtesi bundle]
% \end{description}
%
% All these commands are defined into the separate package \texttt{topcoman.sty}
-% that can be used as an independent extension package with (possibly) any document class.
+% that can be used as an independent extension package with (may be) any document class.
%
% \section{Format PDF suitable for archiving}
% This section in general does not apply if the thesis is typeset by means of \XeLaTeX,
-% because the typesetting engine in this case cannot directly produce a PDF formatted output
+% because the typesetting engine in this case cannot directly produce a PDF formatted
+% output
% file. For this reason the option \texttt{pdfa}, that shall be described shortly, should
% not specified to the class |toptesi|; at the same time if this option is specified, but
% the thesis is typeset by means of \XeLaTeX, the effects of this options are be disabled.
@@ -569,7 +576,9 @@ the TOPtesi bundle]
% (ISO) that in 2005 published the regulation ISO~19005-1. This regulation defines a
% PDF variant suitable for archiving, named PDF/A, that has two sub-formats
% distinguished as PDF/A-1a, and PDF/A-1b. The `a' sub-format is more exacting, while
-% the `b' one is less stringent.
+% the `b' one is less stringent. Recently ISO has published an upgrade to these
+% regulations, but here we stick to the older ones, that are a sub set of the newer ones,
+% and for which suitable software is available.
%
% The requirements for the `a' sub-format imply not only those imposed on the `b' one,
% but also that all characters are conforming to UNICODE and that the logical structure
@@ -630,8 +639,8 @@ the TOPtesi bundle]
% patch, but unfortunately its PDF byproduct is not PDF/A compliant (it must be converted
% by means of \prog{ghostscript}).
% \item Use only PNG and JPEG images with RGB color profiles.
-% \item If you include PDF images that contain some text, be sure that the font for
-% this text is completely embedded in the included file. Should the PDF file come
+% \item If you include PDF images that contain some text, be sure that the fonts for
+% this text are completely embedded in the included file. Should the PDF file come
% from an external drawing program be sure to configure that program so that it embeds
% all the fonts used in the image. If you don't succeed, open the PDF file with
% the free program \texttt{inkscape} and save it back in PDF format; the missing fonts
@@ -639,23 +648,23 @@ the TOPtesi bundle]
% conformity.
% \item Verify your final PDF file with a suitable program and do not give up doing the
% necessary corrections or modifications while the verification program keeps saying
-% the this or that is not conforming to the PDF/A specification. A suitable program
+% that this or that is not conforming to the PDF/A specification. A suitable program
% is the Preflight plug-in of Adobe Acrobat Professional version 8 or later, but this,
% although the most authoritative, is a commercial program; probably your university
% has special facilities for this task.
% \item If you use \prog{xelatex} for typesetting your thesis, you have to accompany your
-% master file with another one that contains the metadata and othe necessary information.
+% master file with another one that contains the metadata and other necessary information.
% Be sure to call this auxiliary file as the masterfile name glued with |-def.ps|; so if
% your mastefile is named \texttt{JohnSmithMasterThesis.tex}, name this auxiliary file as
% \texttt{JohnSmithMasterThesis-def.ps} and fill in the necessary metadata and other
-% thechnical information into this file in the line marked with |% Customize|. Then run
+% thechnical information into this file in the lines marked with |% Customize|. Then run
% the \prog{ghostscript} program with the proper name (different for Windows or UNIX-like
% platforms) with the proper input parameters and options. There are strong chances that
% if you follow the general recommendations shown here and in the document
% |toptesi-doc-xetex.pdf| file, the output file will be PDF/A compliant.
%\end{itemize}
%
-% Let's issue a warning: if you are using Adobe Reader X (or later), this program will open
+% Let's warn you: if you are using Adobe Reader X (or later), this program will open
% a PDF file beginning with an information header claiming that the file is PDF/A
% compliant; maybe it's true, but do not trust this information too much, at least don't
% believe that this information is a ``certification'' of the PDF/A compliance. I have seen
@@ -684,19 +693,21 @@ the TOPtesi bundle]
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{toptesi}%
-[2012/11/09 v.5.61d 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}
+[2012/12/26 v.5.62 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}
@@ -736,7 +747,7 @@ the TOPtesi bundle]
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{toptesi}%
-[2012/11/09 v.5.61d Extension for toptesi.cls]%
+[2012/12/26 v.5.62 Extension for toptesi.cls]%
% \end{macrocode}
%
% We start with defining the debugging macros; these trace commands and macros
@@ -1729,7 +1740,7 @@ Skipping any redefinition\MessageBreak}%
% \fi
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{topfront}[2012/11/09 v.5.61d Title page for TOPtesi]
+\ProvidesPackage{topfront}[2012/12/26 v.5.62 Title page for TOPtesi]
% \end{macrocode}
%
% The title page information depends on the type of ``thesis' that is being typeset.
@@ -1827,12 +1838,12 @@ Skipping any redefinition\MessageBreak}%
% 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
+% (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
+% 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}}
@@ -1846,35 +1857,33 @@ Skipping any redefinition\MessageBreak}%
\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 is 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.
+% 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 is 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}.}
+% 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 into 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 either 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 !}
@@ -1920,33 +1929,57 @@ Skipping any redefinition\MessageBreak}%
%
% |\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, no roman numeral is typeset; the
-% infix string \verb*+Facolt\`a di + may be changed with the configuration file depending
-% on the default language.
+% 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| may receive 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, no roman numeral
+% is typeset; the infix string \verb*+Facolt\`a di + may be changed with the configuration
+% file depending on the default language. It might be necessary to define another name
+% in place of ``Facolt\`a di~'', since with recent bills, the administrative structure of
+% all Italian universities has been changed and the activities formally assigned to the
+% Faculties may be now the responsibility of other structures that may have different
+% names in different universities.
+%
% 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.
+% relative to the university logo; it may receive also a list of logo file names, as it
+% might be necessary when a thesis is developed in a multiple university environment. If
+% such logo file is not available, the user does not specify
+% this command; if the user uses this command to insert one or more university logo files
+% but some file is not available, the usual \texttt{graphicx} package warning is issued
+% but compilation goes on without the missing logo.
+% The treatment of one or more logo files, it is necessary to have available some extra
+% commands and control sequences citable to store temporary data or to specify style
+% parameters: one is the name of a save box; another is the default spacing between the
+% logos in the typeset page; the third is the height of the logos. The default spacing
+% may be set with the help of the macro |\setlogodistance| -- notice that the default
+% value is |3em|, and if a different distance is desired, it should not be much larger
+% or mach smaller than the default one; the default logo height is specified as an
+% optional command to the |\logosede| command; the save box name is just for internal
+% workings and does not require any customization. The analysis and processing to the
+% possible list of logo file names id=s done through the usual means of the delimited
+% argument extraction of the single names from the list; the ``string'' of logic is then
+% composed in a save box; as the list has been completely processed, the box is measured;
+% if its width is shorter than the |\textwidth| it is typeset without further processing;
+% if it's larger, on the opposite, the box gets scaled down so that its width equals the
+% |\textwidth|.
+%
% The |\tutoreaziendale| macro is the last title page 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 to name this person also in the
% title page.
-% Finally the |\retrofrontespizio| command, that by default is empty, allows to typeset
+%
+% Eventually the |\retrofrontespizio| command, that by default is empty, allows to typeset
% a copyright page; the argument of this command is in total responsibility of the user
% who must write it in the thesis main language; the user can specify from zero to
% several paragraphs, separated by the vertical spaces s/he thinks best; the argument
-% by default is typeset at the bottom f the text block of the copyright page. The user
-% can specify any permeant space at the bottom of his/her argument, so as to set the
+% by default is typeset at the bottom of the text block of the copyright page. The user
+% can specify any pertinent space at the bottom of his/her argument, so as to set the
% text in the position s/he likes best.
-% In order to handle there copyright page in the preparer way we need to test of its
+% In order to handle the copyright page in the proper way we need to test if its
% definition is empty or blank so we require the package |etoolbox| in order to use its
% advanced macros.
% \begin{macrocode}
@@ -1959,7 +1992,29 @@ Skipping any redefinition\MessageBreak}%
\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}}}
+
+\newlength{\TPT@logospace}\TPT@logospace=3em\relax
+\newsavebox{\TPT@logobox}
+\newdimen\TPT@logoheight
+\newcommand*\setlogodistance[1]{\TPT@logospace=#1}
+\providecommand*{\@logosede}{}
+
+\newcommand\logosede[2][3cm]{\def\@logosede{#2}\TPT@logoheight=#1}
+
+\newcommand\printloghi{\ifdefvoid{\@logosede}{}{%
+\begin{lrbox}{\TPT@logobox}\hskip\TPT@logospace
+ \expandafter\@printloghi\@logosede,!}}
+
+\def\@printloghi#1,#2!{%
+\ifblank{#1}{\hskip\TPT@logospace\end{lrbox}\vspace*{\bigskipamount}%
+\leavevmode
+\ifdim\wd\TPT@logobox<\textwidth \box\TPT@logobox
+\else\resizebox{\textwidth}{!}{\box\TPT@logobox}%
+\fi}{\def\@logosede{#2}%
+\includegraphics[height=\TPT@logoheight]{#1}\hskip\TPT@logospace
+ \expandafter\@printloghi\@logosede,!}}
+
+
\def\tutoreaziendale#1{\gdef\@tutoreaziendale{#1}}
\newcommand\retrofrontespizio[1]{\long\gdef\@retrofrontespizio{#1}}
\RequirePackage{etoolbox}
@@ -2080,16 +2135,15 @@ Skipping any redefinition\MessageBreak}%
\@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.
+% 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 has already been defined empty as its default value.
% \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}}{}
@@ -2116,7 +2170,7 @@ Skipping any redefinition\MessageBreak}%
\hbox to \hsize{\hfill {\LARGE \@ateneo}\hfill}%
\ifclassica
\hbox to \hsize{\hfil\vrule\@width\z@
- \@height3.5ex\vrule\@height1.4\p@\@depth-\p@\@width50mm\hfil}%
+ \@height2ex\vrule\@height1.4\p@\@depth-\p@\@width50mm\hfil}%
\fi
}}%
\def\@oddfoot{\vbox to 15mm{\vss
@@ -2152,7 +2206,7 @@ Skipping any redefinition\MessageBreak}%
% we set in the page is the university proper name and some vertical glue.
% \begin{macrocode}
\ifx\@nomeat\empty \else
- {\vspace*{-2.5\topskip}\centering
+ {\vspace*{-1.5\baselineskip}\centering
{\Large \@nomeat}\par}\vfill
\fi
% \end{macrocode}
@@ -2245,22 +2299,22 @@ Skipping any redefinition\MessageBreak}%
\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.
+% Going down in the title page now comes the optional insertion of the university logo(s);
+% 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. If the internal |\@logosede| list is empty, the already
+% defined |\printloghi| macro does not do anything.
% \begin{macrocode}
- \ifx\@logosede\@empty\else
- \vspace*{\bigskipamount}
- {\centering \@logosede\par}\fi
+ {\centering \printloghi\par}
% \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 of supervisors.
+% 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 of
+% supervisors.
% \begin{macrocode}
\vfill
\iflaureatriennale
@@ -2493,7 +2547,7 @@ Skipping any redefinition\MessageBreak}%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e} % lavora solo con LaTeX 2e
\ProvidesPackage{topcoman}%
- [2012/11/09 v.5.61d Additional commands for the TOPtesi bundle]
+ [2012/12/26 v.5.62 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