summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/toptesi
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-09-01 22:41:48 +0000
committerKarl Berry <karl@freefriends.org>2013-09-01 22:41:48 +0000
commitd796117a8cface8ab25eda5ebc564c94e145c8a8 (patch)
treea8642b656094b4475741ec1ff9ddf982c579ce5e /Master/texmf-dist/source/latex/toptesi
parente757e4bfb6f6d3fd6faf03ebe3a334838c29c9f6 (diff)
toptesi (1sep13)
git-svn-id: svn://tug.org/texlive/trunk@31558 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/toptesi')
-rw-r--r--Master/texmf-dist/source/latex/toptesi/toptesi.dtx115
1 files changed, 68 insertions, 47 deletions
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
%</internal>
%
-% 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]
%</driver>
% \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