From 566b1d1ceb3231cbf723b34f8e5950b1c85c3230 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 6 May 2019 21:04:32 +0000 Subject: toptesi (6may19) git-svn-id: svn://tug.org/texlive/trunk@51022 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/toptesi/toptesi.dtx | 246 +++++++++++++-------- 1 file changed, 148 insertions(+), 98 deletions(-) (limited to 'Master/texmf-dist/source') diff --git a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx b/Master/texmf-dist/source/latex/toptesi/toptesi.dtx index 266f5a105b0..6a07bb8f18d 100644 --- a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx +++ b/Master/texmf-dist/source/latex/toptesi/toptesi.dtx @@ -10,7 +10,7 @@ \preamble ______________________________________________________ The TOPtesi bundle - Copyright (C) 2015-2018 Claudio Beccari + Copyright (C) 2015-2019 Claudio Beccari All rights reserved License information appended @@ -18,7 +18,7 @@ \endpreamble \postamble -Copyright 2005-2018 Claudio Beccari +Copyright 2005-2019 Claudio Beccari Distributable under the LaTeX Project Public License, version 1.3c or higher (your choice). The latest version of @@ -102,7 +102,7 @@ School of Turin. \endgroup % % -% Copyright 1989--2018 Claudio Beccari +% Copyright 1989--2019 Claudio Beccari % % This file is part of the TOPtesi bundle % ------------------------------------------- @@ -142,7 +142,7 @@ School of Turin. %\ProvidesPackage{toptesi-magistrale}[% %\ProvidesPackage{toptesi-dottorale}[% %<*driver,class,topsty,topcmn,topfrn,topscu,topmon,topsss,topmag,topdoc> -2018/11/20 v.6.2.09 +2019-05-01 v.6.3.04 %Class for typesetting university theses] %Extension for toptesi.cls] %Additional commands for the TOPtesi bundle] @@ -256,7 +256,7 @@ School of Turin. % % \fi % -% \CheckSum{7600} +% \CheckSum{7627} % % \begin{abstract} % This file describes the TOPtesi bundle; it consists of a set of files @@ -420,8 +420,8 @@ School of Turin. % for the thesis type, the diagram reduces to a linear one. % %\begin{figure}[p]\centering -%\unitlength=0.008\textwidth -%\begin{picture}(112.5,140) +%\unitlength=0.010\textwidth +%\makebox[\textwidth]{\begin{picture}(112.5,140) %\fileicon(0,33){.tex} %\polyvector(15,33)(20,33)(20,48)(0,48)(0,58)(5,58) %\Zbox(5,58)(18,0)[l]{\small\ttfamily toptesi.cls\\toptesi.sty} @@ -440,8 +440,8 @@ School of Turin. %\VECTOR(41,96)(45,96)\Zbox(45,96)(32,0)[l]{\centering\texttt{frontespizio}} %\VECTOR(41,111)(45,111)\Zbox(45,111)(32,0)[l]{\centering\texttt{custom}} %\Zbox(5,129.5)(18,0)[l]{\centering\ttfamily user loaded\\packages} -%\VECTOR(16,122)(16,63.5) -%\VECTOR(27,129,5)(35,129.5)\put(37,129.5){\circle{4}} +%\VECTOR(16,125)(16,63) +%\VECTOR(27,129.5)(35,129.5)\put(37,129.5){\circle{4}} %\VECTOR(39,129.5)(45,129.5) %\Zbox(45,129.5)(16,0)[l]{\centering\ttfamily topcoman} %\polyvector(27,61)(29,61)(29,120)(37,120)(37,127.5) @@ -456,7 +456,7 @@ School of Turin. %\polyvector(80,22)(90,22)(90,65)^^A triennale %\polyvector(74,6)(92,6)(92,62)(91,65.1)^^A topfront %\fileicon(97.5,68.5){.pdf} -%\end{picture} +%\end{picture}} %\caption{Version 6.x TOPtesi bundle flow diagram} %\label{fig:key-value-option} %\end{figure} @@ -1706,7 +1706,7 @@ School of Turin. % argument formed by a comma separated list of names; from zero % up to four names (in the same order as described above). % Therefore the following commands are all valid ones: -%\begin{ttsintassi} +%\begin{ttsintassi}\small% %\cs{TitoloListaCandidati}\Marg{} %\cs{TitoloListaCandidati}\Marg{\'Etudiant} %\cs{TitoloListaCandidati}\Marg{Estudiante,Estudiantes} @@ -2423,10 +2423,13 @@ School of Turin. % with earlier versions was under a limited licence that is not % compliant with the free nature of the \TeX\ system. The maintainers % are aware of this problem and, while they are further upgrading the -% |pdfx| file, they suggest a work-around (that will be described below); -% it is possible that when you read this documentations the work-around -% is not necessary any more. Nevertheless the work-around is -% described. +% \pack{pdfx} file, they suggest a work-around (that will be described +% below); it is possible that when you read this documentations the +% work-around, described below, is not necessary any more. +% With version 1.61 of \pack{pdfx} the problem is solved even if one uses +% a \TeXLive\ installation prior to the one distributed in the year 2018. +% In any case the most recent version 1.61 or higher of |pdfx| is +% necessary. % % \item % If your thesis main file, the one you run your typesetting @@ -2449,11 +2452,12 @@ School of Turin. % examples are shown in the Italian documentation of |TOPtesi|. % In order to override the constraints of the \LaTeX\ kernel % |filecontents| environment, TOPtesi loads the package |filecontents| -% that% eliminates the mentioned constraints, but requires that the +% that eliminates the mentioned constraints, but requires that the % environment be used within the preamble, in any case before % loading the |pdfx| package. Actually this does not forbid to use the % environment before the |\documentclass| statement, as it was in the -% previous versions of TOPtesi. The new version is backwards compatible with the previous nes with this simple difference: when the environment +% previous versions of TOPtesi. The new version is backwards compatible +% with the previous ones with this simple difference: when the environment % is used before the |\documentclass| statement, any modification of % its contents does not take place unless the previous |xmpdata| file % is deleted, because the kernel environment does not overwrite existing @@ -2467,8 +2471,11 @@ School of Turin. %\setRGBcolorprofile{sRGB.icc}{sRGB}{Argyll CMS, sRGB color profile}% %{https://www.argyllcms.com/} %\end{verbatim} -% Thanks to the |filecontents| functionalities there is no need -% to delete a previous |.xmpdata| file. +% Thanks to the new |filecontents| functionalities there is no need +% to delete a previous |.xmpdata| file. But, as specified above, this +% work-around is not necessary anymore if the most recent version 1.6.1 +% or later of \pack{pdfx} is used; this work-around information is +% maintained in this documentation just for backwards compatibility. % % This work-around is required if you get an error message that % refers to line 1084 of the |pdfx.sty| file; if you don't patch @@ -3731,7 +3738,7 @@ School of Turin. % or anything else that has been introduced with the facilities % of the |float| package; \dots\ or nothing, in the sense that % the float should not be numbered and therefore its caption -% should have no number.. Among the opening commands we deal +% should have no number. Among the opening commands we deal % with the (optional) asterisk dependent box width; with the % asterisk the SD environment protrudes into the external margin. % \begin{macrocode} @@ -4064,11 +4071,12 @@ School of Turin. \topmargin 0pt % \end{macrocode} % +% {\tolerance=3000\relax % The TOPtesi bundle contains two new chapter like sections % activated with the commands |\sommario| (alias |\summary|) % and |\ringraziamenti| (alias |\acknowledgements|) respectively. % The infix strings that start these sections depend on the -% used language. +% used language.\par} % % Because of this, it is necessary to extend the list of infix % string definitions provided by the |\captions|\meta{language} @@ -5086,9 +5094,11 @@ Skipping any redefinition\MessageBreak}% \newlength\T@Tlogoheight \setlength\T@Tlogoheight{0.8\dimexpr(\paperwidth-\textwidth)/2}}{} -\newcommand\logosede[2][\T@Tlogoheight]{\def\@logosede{#2}\TPT@logoheight=#1\relax -\ifcsvoid{@logosede}{\sbox{\TPT@logobox}{}}{\begin{lrbox}{\TPT@logobox}% -\expandafter\fillup@TCP@logobox\@logosede,!}} +\newcommand\logosede[2][\T@Tlogoheight]% + {\def\@logosede{#2}\TPT@logoheight=#1\relax + \ifcsvoid{@logosede}{\sbox{\TPT@logobox}{}}{% + \begin{lrbox}{\TPT@logobox}% + \expandafter\fillup@TCP@logobox\@logosede,!}} \def\fillup@TCP@logobox#1,#2!{% \ifblank{#1}{\end{lrbox}\ifdim\wd\TPT@logobox>\textwidth @@ -6127,7 +6137,7 @@ Skipping any redefinition\MessageBreak}% % in the same way as for the index. % % The bibliography by default is typeset through the facilities of -% package |biblatex| with suitable options; in particular, +% package |biblatex| with suitable options; % according to the tradition in scientific works, in particular % of the IEEE standards for its Transactions, the % references are labelled with bracketed numbers as well @@ -6135,6 +6145,7 @@ Skipping any redefinition\MessageBreak}% % scientific domains ask for different styles for using |BiBTeX| % compatible bibliographies to be run also with |pdflatex|, or % bibliographies styled in a more humanistic way. +% % In this case they should specify the specific option |mybibliostyle| % to the |toptesi| class, and the following code will not be loaded, % since the switch |mybibstyle| is set to `true' only when using @@ -6143,6 +6154,16 @@ Skipping any redefinition\MessageBreak}% % the bibliographic database remains unspecified. It is the user % responsibility to insert in his/her thesis preamble whatever necessary % to typeset his/her bibliography or bibliographies the way s/he prefers. +% In the following code the module preloads the bibliographic database +% |resources.bib|, if it exists; since a generic name is not recommended, +% we suggest to name at least one of your databases with the same name +% as the user's thesis master file with extension |.bib|; the |\jobname| +% macro, actually contains the thesis master file. If neither +% |resources.bib| nor |\jobname.bib| exist or the typesetting engine +% cannot find them, it is the user's responsibility to create a |.bib| +% file and include it in his/her master file preamble as an argument to +% |\addbibresource| or to move an his/her existing |.bib| file(s) to the +% main file folder. % % \begin{macrocode} \unless\ifmybibstyle @@ -6152,7 +6173,11 @@ Skipping any redefinition\MessageBreak}% citestyle=numeric, sorting=nty, natbib]{biblatex} % LaTeX specific bibliography handler - \addbibresource{references.bib}% bibliographic data base(s} + \IfFileExists{references.bib}% bibliographic data base(s} + {\addbibresource{references.bib}}% + {\IfFileExists{\jobname.bib}% + {\addbibresource{\jobname.bib}}% + {\relax}} \fi % \end{macrocode} % @@ -6207,15 +6232,19 @@ Skipping any redefinition\MessageBreak}% \providecommand*\@title{} \providecommand*\@subtitle{\vspace{\stretch{1}}} \providecommand*\@author{} -\providecommand*\@Nsupervisor{Supervisor}\providecommand*\@Nsupervisors{Supervisors} +\providecommand*\@Nsupervisor{Supervisor} +\providecommand*\@Nsupervisors{Supervisors} \newcount\@supervisornumber \providecommand*\@supervisorlist{} \providecommand\@Nexaminationcommittee{Doctoral Examination Committee:} \providecommand*\@Examinerlist{} \providecommand*\@examlocation{Politecnico di Torino} \providecommand*\@examinationdate{} -\providecommand*\@creativecommons{This thesis is licensed under a Creative Commons License, Attribution - Noncommercial- NoDerivative Works 4.0 International: see \url{www.creativecommons.org}. -The text may be reproduced for non-commercial purposes, provided that credit is given to the original author.} +\providecommand*\@creativecommons{This thesis is licensed +under a Creative Commons License, Attribution - Noncommercial- +NoDerivative Works 4.0 International: see \url{www.creativecommons.org}. +The text may be reproduced for non-commercial purposes, provided that +credit is given to the original author.} \providecommand\@disclaimer{\noindent I hereby declare that the contents and organisation of this dissertation constitute my own original work and does not compromise in any way the @@ -6263,7 +6292,8 @@ security of personal data.} \newlength\T@Tlogoheight \setlength\T@Tlogoheight{0.8\dimexpr(\paperwidth-\textwidth)/2}}{} -\newcommand\PhDschoolLogo[2][\T@Tlogoheight]{\def\@logosede{#2}\TPT@logoheight=#1\relax +\newcommand\PhDschoolLogo[2][\T@Tlogoheight]% +{\def\@logosede{#2}\TPT@logoheight=#1\relax \ifcsvoid{@logosede}{\sbox{\TPT@logobox}{}}{\begin{lrbox}{\TPT@logobox}% \expandafter\fillup@TCP@logobox\@logosede,!}} @@ -6384,7 +6414,7 @@ Turin, \@examinationdate % with the metadata required for \sigla{PDF/A} compliance; for % the latter metadata it is necessary to load the |pdfx| % package and enter the required metadata in a special -% way that is taken care by |pdfx|. Read the details in +% way that is taken care of by |pdfx|. Read the details in % the Italian\discretionary{-}{}{-}English documentation % |toptesi-it.pdf| that is part of the TOPtesi bundle. % \begin{macrocode} @@ -6619,15 +6649,18 @@ This class is available in every up-to-date and complete % \begin{macrocode} \providecommand{\ohm}{\textormath{\textohm}{\mathrm{\Omega}}} \@ifpackageloaded{toptesi}{% -\providecommand\ped{}\providecommand\ap{} -\renewcommand*{\ped}[1]{\textormath{\textsubscript{#1}}{_{\mathrm{#1}}}} -\renewcommand*{\ap}[1]{\textormath{\textsuperscript{#1}}{^{\mathrm{#1}}}}}{% -\providecommand*{\ped}[1]{\textormath{\textsubscript{#1}}{_{\mathrm{#1}}}}% -\providecommand*{\ap}[1]{\textormath{\textsuperscript{#1}}{^{\mathrm{#1}}}}} -\@ifpackageloaded{siunitx}{\def\unit#1{\si{\,#1}}}{% -\providecommand\unit{}% -\renewcommand\unit[1]{\ensuremath{{\mathrm{\,#1}}}} -} +\providecommand\ped{}\providecommand\ap{}% +\renewcommand*{\ped}[1]{\textormath{\textsubscript{#1}}{_{\mathrm{#1}}}}% +\renewcommand*{\ap}[1]{\textormath{\textsuperscript{#1}}{^{\mathrm{#1}}}}}% +{\providecommand*{\ped}[1]{\textormath{\textsubscript{#1}}% + {_{\mathrm{#1}}}}% +\providecommand*{\ap}[1]{\textormath{\textsuperscript{#1}}% + {^{\mathrm{#1}}}}} +% +\@ifpackageloaded{siunitx}{\def\unit#1{\si{\,#1}}}% + {\providecommand\unit{}% + \renewcommand\unit[1]{\ensuremath{{\mathrm{\,#1}}}}% + } \providecommand{\gei}{\ensuremath{{\mathop{\mathrm{j}}\nolimits}}} \providecommand{\eu}{\ensuremath{{\mathop{\mathrm{e}}\nolimits}}} \providecommand{\micro}{\textormath{\textmu}{% @@ -6843,7 +6876,8 @@ This class is available in every up-to-date and complete \NomeRelatore{Relatore}{Relatori} \providecommand\@principaladviser{} \def\relatore#1{\gdef\@principaladviser{#1}} -\providecommand\@secondadviser{}\def\secondorelatore#1{\gdef\@secondadviser{#1}} +\providecommand\@secondadviser{} +\def\secondorelatore#1{\gdef\@secondadviser{#1}} \providecommand\@thirdadviser{} \def\terzorelatore#1{\gdef\@thirdadviser{#1}} @@ -6888,32 +6922,32 @@ This class is available in every up-to-date and complete \def\sedutadilaurea#1{\getseduta#1 !} \def\getseduta#1 #2!{% - \def\@tempA{#2}% - \ifx\@tempA\empty - \def\@submitdate{#1}% + \def\@tempA{#2}% + \ifx\@tempA\empty + \def\@submitdate{#1}% + \else + \unless\ifclassica + \def\@submitdate{#1 #2}% \else - \unless\ifclassica - \def\@submitdate{#1 #2}% - \else - \s@dutaclassica#1 #2!% - \fi + \s@dutaclassica#1 #2!% \fi + \fi }% \def\s@dutaclassica#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 + \if@ldstyle + \s@paranumeri#2-!% + \ifx\2\empty + \edef\@submitdate{\noexpand#1 \noexpand\oldstylenums{#2}}% \else - \def\@submitdate{#1 #2}% + \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}}% @@ -6964,7 +6998,8 @@ This class is available in every up-to-date and complete \newlength\T@Tlogoheight \setlength\T@Tlogoheight{0.8\dimexpr(\paperwidth-\textwidth)/2}}{} -\newcommand\logosede[2][\T@Tlogoheight]{\def\@logosede{#2}\TPT@logoheight=#1\relax +\newcommand\logosede[2][\T@Tlogoheight]% +{\def\@logosede{#2}\TPT@logoheight=#1\relax \ifcsvoid{@logosede}{\sbox{\TPT@logobox}{}}{\begin{lrbox}{\TPT@logobox}% \expandafter\fillup@TCP@logobox\@logosede,!}} @@ -7073,7 +7108,8 @@ This class is available in every up-to-date and complete % A new boolean is defined in order to have a suitable switch to set % the logo(s) “string” at the top or in the second half of the page. % \begin{macrocode} -\ifcsundef{iftopTPTlogos}{\newbool{topTPTlogos} \booltrue{topTPTlogos}}{} +\ifcsundef{iftopTPTlogos}{\newbool{topTPTlogos}% + \booltrue{topTPTlogos}}{} % \end{macrodoe} % We eventually define the whole construction of the title % page with this new command defined by means of the |xparse| @@ -7111,12 +7147,15 @@ This class is available in every up-to-date and complete \PackageWarning{monografia}{No configuration file found}% }%C }{% CLOSING - \ifbool{topTPTlogos}{\noindent\raisebox{-0.5em}[\z@][\z@]{\makebox[\textwidth]{\printloghi}}\par\bigskip}{} + \ifbool{topTPTlogos}{\noindent\raisebox{-0.5em}[\z@][\z@]% + {\makebox[\textwidth]{\printloghi}}\par\bigskip}{} \ifdefempty{\ateneo}{}{{\centering\huge \@ateneo\par}} - \ifdefempty{\@NomeAteneo}{}{\medskip{\centering\large + \ifdefempty{\@NomeAteneo}{}{\medskip{\centering\large \expandafter\MakeUppercase\expandafter{\@NomeAteneo}\par}} - \ifdefempty{\@strutturadi}{}{\vspace{\stretch{0.1}}\par{\centering \Large\@struttura\par}} - \ifdefempty{\@corsodistudi}{}{\bigskip{\centering\large \NomeCorsoDiStudi\ \@corsodistudi\par}} + \ifdefempty{\@strutturadi}{}{\vspace{\stretch{0.1}}\par{\centering + \Large\@struttura\par}} + \ifdefempty{\@corsodistudi}{}{\bigskip{\centering\large + \NomeCorsoDiStudi\ \@corsodistudi\par}} \ifdefempty{\@materia}{}{\medskip{\centering\large\@materia\par}} \vspace{\stretch{0.25}} {\centering\large \@monografia\par} @@ -7375,16 +7414,22 @@ This class is available in every up-to-date and complete % \begin{macrocode} \newif\iffemminile -\ifTOPfront\ifclassica -\def\Candidato{Laureando} -\def\Candidata{Laureanda} -\def\Candidati{Laureandi} -\def\Candidate{Laureande} -\fi\fi +\def\Candidato{\ifclassica Laureando\else Candidato\fi} +\def\Candidata{\ifclassica Laureanda\else Candidata\fi} +\def\Candidati{\ifclassica Laureandi\else Candidati\fi} +\def\Candidate{\ifclassica Laureande\else Candidate\fi} +\newcommand\TitoloListaCandidati[1]{\CandidateNames#1,,,,!} +\def\CandidateNames#1,#2,#3,#4,!{% + \gdef\Candidato{#1}% Masc/neutr-sing + \gdef\Candidati{#2}% Masc/neutr-plur + \gdef\Candidata{#3}% Fem-sing + \gdef\Candidate{#4}% Fem-plur +} + % \end{macrocode} % % We prepare the |titolo| command. Such command accepts -% a short title string no more, no less than the \LaTeX\ +% a \emph{short title} string, no more, no less than the \LaTeX\ % sectioning commands. It is always advisable to use short % titles; nevertheless when the |classica| |autoretitolo| % option is in force, long titles don't fit into the page @@ -7756,29 +7801,28 @@ This class is available in every up-to-date and complete \end{center}% \fi \ifclassica - \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 - We never considered a thesis might get - divided in more than four volumes}% - \fi}}% - \fi - \vspace{1em} + \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 + We never considered a thesis might get\MessageeBreak + divided in more than four volumes}% + \fi}}% + \fi + \vspace{1em} \fi \par \unless\iftopTPTlogos {\vfill\centering \printloghi\par}\fi \vfill - \iflanguage{italian}{% \iffemminile \def\@nomecandidato{\Candidata}% \else @@ -7790,7 +7834,6 @@ This class is available in every up-to-date and complete \else \def\@nomecandidato{\Candidati}% \fi} - }{}% \unless\iftriennale \def\BoxRelatori{% @@ -8311,9 +8354,9 @@ This class is available in every up-to-date and complete % environment command. % % Among the setting commands there might be also the legal -% page |\retrofrontespizio| command; it closes the recto -% title page, and on the verso, if the command argument -% is void, nothing is printed except the blank verso page, +% page rendered with the |\retrofrontespizio| command; it +% closes the recto title page, and on the verso, if the command +% argument is void, nothing is printed except the blank verso page, % but if it contains something, the legal notice is printed % at the verso page bottom. % \begin{macrocode} @@ -8800,6 +8843,13 @@ Anno scolastico \@annoscolastico}} % such obsolete versions, still going around in Internet, that date back % to the old times when the toptesi.cls file did not yet exist (versions % 2.xxxx or older). -%%%% (version 6.2.09 of 2-18/11/20) Loaded the filecontents package in oder +%%%% (version 6.2.09 of 2018/11/20) Loaded the filecontents package in oder % to allow overwriting of the metadata file needed for PDF/A compliance. - +%%%% (version 6.2.10 of 2018/12/30) Adjusted information about PDF/A color +% profile compliance after the |pdfx| package has been upgraded to +% version 1.6.1 on 2018/12/22. +%%%% (version 6.3.00 of 2019-03-09) Modified the toptesi-magistrale.sty +% module in order to have a working set of commands to properly set +% the candidates' list heading in a proper way withe any number (<4) +% of candidates of any sex; Previous to this wersion thi module did not +% accept the commands \CandidateNames and \TitoloListaCandidati. -- cgit v1.2.3