From d796117a8cface8ab25eda5ebc564c94e145c8a8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 1 Sep 2013 22:41:48 +0000 Subject: toptesi (1sep13) git-svn-id: svn://tug.org/texlive/trunk@31558 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/toptesi/toptesi.dtx | 115 ++++++++++++--------- 1 file changed, 68 insertions(+), 47 deletions(-) (limited to 'Master/texmf-dist/source/latex/toptesi') diff --git a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx b/Master/texmf-dist/source/latex/toptesi/toptesi.dtx index 3d93b393bea..2da82ca05cc 100644 --- a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx +++ b/Master/texmf-dist/source/latex/toptesi/toptesi.dtx @@ -6,7 +6,7 @@ \preamble ______________________________________________________ The TOPtesi package - Copyright (C) 2012 Claudio Beccari + Copyright (C) 2013 Claudio Beccari All rights reserved License information appended @@ -14,7 +14,7 @@ \endpreamble \postamble -Copyright 2005-2012 Claudio Beccari +Copyright 2005-2013 Claudio Beccari Distributable under the LaTeX Project Public License, version 1.3c or higher (your choice). The latest version of @@ -47,6 +47,7 @@ sty and cfg files and the English documentation file in The documentation file toptesi-doc-xetex.pdf is in Italian; its source file is another example of how to use toptesi. \endpostamble + \askforoverwritefalse \generateFile{toptesi.cls}{t}{\from{toptesi.dtx}{class}} @@ -60,7 +61,7 @@ its source file is another example of how to use toptesi. \endgroup % % -% Copyright 1989--2006 Claudio Beccari +% Copyright 1989--2013 Claudio Beccari % % This file is part of the TOPtesi bundle % ------------------------------------------- @@ -87,7 +88,7 @@ its source file is another example of how to use toptesi. % \iffalse %<*driver> \documentclass{ltxdoc} -\ProvidesFile{toptesi.dtx}[2013/03/27 v.5.71 Documented TeX file for +\ProvidesFile{toptesi.dtx}[2013/09/01 v.5.73 Documented TeX file for the TOPtesi bundle] \GetFileInfo{toptesi.dtx} \title{The TOPtesi bundle} @@ -105,7 +106,7 @@ the TOPtesi bundle] % % \fi % -% \CheckSum{2694} +% \CheckSum{2705} % %% \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 @@ -708,7 +709,7 @@ the TOPtesi bundle] % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{toptesi}% -[2013/03/27 v.5.71 Class for typesetting university theses] +[2013/09/01 v.5.73 Class for typesetting university theses] % \end{macrocode} % % The class itself is very simple since it requires just the \texttt{report} document @@ -764,7 +765,7 @@ the TOPtesi bundle] % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{toptesi}% -[2013/03/27 v.5.71 Extension for toptesi.cls]% +[2013/09/01 v.5.73 Extension for toptesi.cls]% % \end{macrocode} % % We start with defining the debugging macros; these trace commands and macros @@ -826,6 +827,7 @@ the TOPtesi bundle] % and again. % \begin{macrocode} \RequirePackage{graphicx} +\RequirePackage{etoolbox} \if@xivpt\input{size14.clo}\fi % \end{macrocode} % @@ -839,7 +841,7 @@ the TOPtesi bundle] \advance\textheight by \topskip % \end{macrocode} % The inner margin is parametrized to the paper width, but a small correction -% is made if the extra size of 14pt is chosen.Also the footskip is parametrized +% is made if the extra size of 14pt is chosen. Also footskip is parametrized % to the paper height in a slightly different way when the large |14pt| size is chosen. % \begin{macrocode} \ifx\f@size\@xivpt @@ -1443,7 +1445,7 @@ Skipping any redefinition\MessageBreak}% \AtBeginDocument{% \italiano \renewcommand\@chapapp{\chaptername}% - } +} % \end{macrocode} % % At last the subsidiary and independent packages \texttt{topcoman} and @@ -1451,17 +1453,17 @@ Skipping any redefinition\MessageBreak}% % typesetting engine it's necessary to load such packages at the ``begin % document'' step, so that all a the other settings, especially fonts % are already established. May be it should be better done also when -% using pdf\/\LaTeX\ as the typesetting engine, but the past experience +% using pdf\/\LaTeX\ as the typesetting engine, even if the past experience % has not shown any inconvenience. % \begin{macrocode} \ifxetex - \AtBeginDocument{\RequirePackage{topfront} - \RequirePackage{topcoman}} -\else - \RequirePackage{topfront} - \RequirePackage{topcoman} +\AtBeginDocument{% + \RequirePackage{topfront}% + \RequirePackage{topcoman}% +}\else + \RequirePackage{topfront}% + \RequirePackage{topcoman}% \fi -\def\sf@size{7} % \end{macrocode} % % Last but not least, here come the specifications for the PDF/A-1b format. First of @@ -1795,7 +1797,19 @@ Skipping any redefinition\MessageBreak}% % \fi % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{topfront}[2013/03/27 v.5.71 Title page for TOPtesi] +\ProvidesPackage{topfront}[2013/09/01 v.5.73 Title page for TOPtesi] +% \end{macrocode} +% Per l'uso di topfront come pacchetto autonomo bisogna verificare che l'opzione |classica| +% corrisponda ad una impostazione corretta di |\ifclassica|; siccome questo |\if| รจ definito +% in |toptesi.sty|, qui bisogna verificarne l'esistenza, e se del caso impostare il valore +% |false|. Per la verifica +% In oder to use |topfront| as a stand-alone extension package it is necessary to verify if the |classica| option corresponds to a valid setting of |\ifclassica|; since this test is defined in the main |toptesi| package, here we need to verify its existance, and in case to set its value to |false|. This implies two points: we need a powerful macro package to test a ``switch'', and when this |topfront| package is used as a stand-alone one, the settings of the |classica| options are not available. +% \begin{macrocode} +\@ifpackageloaded{etoolbox}{}{\RequirePackage{etoolbox}} +\ifcsundef{ifclassica}{% + \newif\ifclassica + \classicafalse +}{} % \end{macrocode} % % The title page information depends on the type of ``thesis' that is being typeset. @@ -1819,6 +1833,7 @@ Skipping any redefinition\MessageBreak}% \newif\iflaureatriennale \laureatriennalefalse % \end{macrocode} % +% % The thesis title is specified by means of the following commands; |\monografia|, % the name of the bachelors degree final report, sets also the corresponding % boolean variables and redefines the command |\titolo| so as to avoid @@ -1883,7 +1898,7 @@ Skipping any redefinition\MessageBreak}% \def\tutore#1{\gdef\@tutore{#1}} \def\direttore{\Direttoretrue\relatore}% \def\coordinatore{\Direttorefalse\relatore}% -\def\QualificaDirettore#1{\gdef\@PhDdirector{#1}} +\def\QualificaDirettore#1{\gdef{#1}} % \end{macrocode} % % For ``normal'' theses we may have from one to three supervisors and from @@ -2004,12 +2019,12 @@ Skipping any redefinition\MessageBreak}% % commands to |\FacoltaDi| and |\facolta| respectively. % % Finally |\logosede| gets the name of the graphic file that contains the information -% 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 -% thesis is typeset on smaller paper size than A4 or letter, it would be much +% relative to the university logo; it may receive also a comma separated 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 thesis is typeset on smaller paper size than A4 or letter, it would be much % better to avoid inserting one or more logos in the title page; this is -% particularly necessary when using A5 paper size. Nevertheless this decision is +% particularly important when using A5 paper size. Nevertheless this decision is % left to the user and this package neither controls this fact nor outputs any warning. % 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 @@ -2021,15 +2036,19 @@ Skipping any redefinition\MessageBreak}% % 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|. +% or much smaller than the default one; the default logo height is specified as an +% optional command to the |\logosede| command, while the default size is given by the +% |\interno| length; This length is specified in the main |toptesi| package in order to +% compute the typesetting grid, so that id the |topfront| package is used by itself with +% other classes, thee xistence of the |\inteno| control sequence is tested and if it is +% undefined, then and only then id defined in this package and assigned a default value. +% 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 is done through the +% usual means of the delimited argument extraction of the single names from the list; the +% ``string'' of logos 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 @@ -2045,8 +2064,8 @@ Skipping any redefinition\MessageBreak}% % 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 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. +% definition is empty or blank so we need the powerful advanced macros of the package +% |etoolbox| that has already been loaded by this package or by the main |toptesi| one. % \begin{macrocode} \def\ciclodidottorato#1{\gdef\@ciclo{#1 \@cyclename}}% \def\corsodilaurea#1{\global\dottoratofalse\gdef\@corso{#1}} @@ -2065,6 +2084,9 @@ Skipping any redefinition\MessageBreak}% \newcommand*\setlogodistance[1]{\TPT@logospace=#1} \providecommand*{\@logosede}{} +\ifcsundef{interno}{%\ + \newlength\interno + \setlength\interno{\dimexpr\paperwidth/7}}{} \newcommand\logosede[2][\interno]{\def\@logosede{#2}\TPT@logoheight=#1} \newcommand\printloghi{\ifdefvoid{\@logosede}{}{% @@ -2083,7 +2105,6 @@ Skipping any redefinition\MessageBreak}% \def\tutoreaziendale#1{\gdef\@tutoreaziendale{#1}} \newcommand\retrofrontespizio[1]{\long\gdef\@retrofrontespizio{#1}} -\RequirePackage{etoolbox} % \end{macrocode} % % The following commands are user commands that modify the infix strings @@ -2116,8 +2137,8 @@ Skipping any redefinition\MessageBreak}% % \item[NomeQuartoTomo] ``Tomo quarto'' in, say, ``Fourth volume'' % \end{description} % In the above description the first string is generally the default one, while the second -% string is just an example of the corresponding string to be set in another language or to be -% changed in Italian. The last four commands clearly show the difficulty of localizing +% string is just an example of the corresponding string to be set in another language or +% to be changed in Italian. The last four commands clearly show the difficulty of localizing % language strings: it is necessary to localize the whole phrase, because of the position of % the adjectives. % \begin{macrocode} @@ -2145,9 +2166,9 @@ Skipping any redefinition\MessageBreak}% % defined or redefined in the configuration file must not be redefined in the following % Lines and this is why everything is subject to the test |\@ifundefined|. Most default % definitions are simply ``blank''; the others are in Italian. All of them, except the -% supervisor and candidate strings may be individually be redefined in the configuration +% supervisor and candidate strings may be individually redefined in the configuration % file or in the preamble. Those that cannot be redefined such as the four ``candidate'' -% strings may be actually redefined through the only |\CandidateName| that should be used +% strings may be actually redefined through the single |\CandidateName| that should be used % in a language depended way and with the correct number and gender once for all. % The four endings in the Italian strings allow to exercise the correct selection only % for Italian; a specific test is made inside the |\frontespizio| command; because of @@ -2165,9 +2186,9 @@ Skipping any redefinition\MessageBreak}% \@ifundefined{@principaladviser}{\def\@principaladviser{}}{} \@ifundefined{@secondadviser}{\def\@secondadviser{}}{} \@ifundefined{@thirdadviser}{\def\@thirdadviser{}}{} -\@ifundefined{@PhDdirector}{% - \edef\@PhDdirector{\ifDirettore Direttore \else Coordinatore \fi - del corso di dottorato}}{} +\ifcsundef{@PhDdirector}{% + \ifDirettore\def\@PhDdirector{Direttore del corso di dottorato}\else + \def\@PhDdirector{Coordinatore del corso di dottorato}\fi}{} \@ifundefined{@tutore}{\def\@tutore{}}{} \@ifundefined{@secondauthor}{\def\@secondauthor{}}{} \@ifundefined{@thirdauthor}{\def\@thirdauthor{}}{} @@ -2230,7 +2251,7 @@ Skipping any redefinition\MessageBreak}% % % Everything is closed within a group so all definitions remain local. % \begin{macrocode} -\def\frontespizio{% +\gdef\frontespizio{% \begingroup \def\ps@myheadings{\let\@mkboth\markboth \def\@oddhead{\vbox{% @@ -2557,9 +2578,9 @@ Skipping any redefinition\MessageBreak}% % text is not empty, after the shipping out of the title page, we set the copyright page % text flush bottom with the text block, and then we ship out also this copyright page. % \begin{macrocode} - \par\vfill\null - \ifdefempty{\@retrofrontespizio}{\cleardoublepage}% - {\clearpage\null\vfill\@retrofrontespizio\par\clearpage}% + \par\clearpage + \ifdefempty{\@retrofrontespizio}{}% + {\null\vfill\pagestyle{empty}\@retrofrontespizio\par\clearpage}% \endgroup} % \end{macrocode} % \iffalse @@ -2616,7 +2637,7 @@ Skipping any redefinition\MessageBreak}% % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} % lavora solo con LaTeX 2e \ProvidesPackage{topcoman}% - [2013/03/27 v.5.71 Additional commands for the TOPtesi bundle] + [2013/09/01 v.5.73 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 -- cgit v1.2.3