diff options
author | Karl Berry <karl@freefriends.org> | 2012-12-28 22:42:48 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-12-28 22:42:48 +0000 |
commit | 3930d60080fdc89cfaf643df3e3f9827aec5cf94 (patch) | |
tree | e030860ce44f1425bf2c6b0777ed62041de5807e /Master/texmf-dist/source/latex | |
parent | 584ee0db8e5d44b42dc1c701a397282981e2c7ef (diff) |
toptesi 5.62 (28dec12)
git-svn-id: svn://tug.org/texlive/trunk@28645 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r-- | Master/texmf-dist/source/latex/toptesi/toptesi.dtx | 328 |
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 |