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.dtx56
1 files changed, 37 insertions, 19 deletions
diff --git a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx b/Master/texmf-dist/source/latex/toptesi/toptesi.dtx
index 3a9e62a9db5..0955243100a 100644
--- a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx
+++ b/Master/texmf-dist/source/latex/toptesi/toptesi.dtx
@@ -95,7 +95,7 @@ its source file is another example of how to use toptesi.
% \iffalse
%<*driver>
\documentclass{ltxdoc}
-\ProvidesFile{toptesi.dtx}[2014/11/02 v.5.83 Documented TeX file for
+\ProvidesFile{toptesi.dtx}[2014/11/07 v.5.84 Documented TeX file for
the TOPtesi bundle]
\GetFileInfo{toptesi.dtx}
\title{The TOPtesi bundle}
@@ -116,7 +116,7 @@ the TOPtesi bundle]
%</driver>
% \fi
%
-% \CheckSum{2870}
+% \CheckSum{2882}
%
%% \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
@@ -776,7 +776,7 @@ the TOPtesi bundle]
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{toptesi}%
-[2014/11/02 v.5.83 Class for typesetting university theses]
+[2014/11/07 v.5.84 Class for typesetting university theses]
% \end{macrocode}
%
% The class itself is very simple since it requires just the \texttt{report} document
@@ -833,7 +833,7 @@ the TOPtesi bundle]
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{toptesi}%
-[2014/11/02 v.5.83 Extension for toptesi.cls]%
+[2014/11/07 v.5.84 Extension for toptesi.cls]%
% \end{macrocode}
%
% We start with defining the debugging macros; these trace commands and macros
@@ -1912,7 +1912,7 @@ Skipping any redefinition\MessageBreak}%
% \fi
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{topfront}[2014/11/02 v.5.83 Title page for TOPtesi]
+\ProvidesPackage{topfront}[2014/11/07 v.5.84 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
@@ -2444,28 +2444,46 @@ Skipping any redefinition\MessageBreak}%
% be typeset on the title page is not crunched in too little a space and the overall
% text bounding box assumes a shape similar to that of the page.
%
-% Everything is closed within a group so all definitions remain local.
+% Everything is closed within a group so all definitions remain local.
+% But in oder t to control if we are dealing with |\fontespizio| or
+% |frontespizio*| we must properly check the presence of the asterisk in
+% a robust way. The point is that with the |classica| option the university
+% logos go in the lower half of the title page, while without this option
+% the asterisk controls the logo position in the lower half page, while its
+% absence pots it above everything else. The |\@ifstar| kernel macro behaves
+% in a funny way if nested with other tests. There fore I need to do some
+% acrobatics that have to be absolutely robust.
+% I define a |\TPTcheckstarmacro| that absorbs the first token after it and
+% defines a service macro for testing that it is really an asterisk.
+% The testing will be done within the following macros, but if it is an
+% asterisk the boolean |topTPTlogos| is set to true, otherwise to false;
+% but since this token has been already swallowed by the macro, in case
+% it is not an asterisk, it must be put back in the input stream.
% \begin{macrocode}
\newif\iftopTPTlogos
+\newcommand\TPTcheckstar[1]{\def\TPTmaybestar{#1}\fr@ntespizio}
\def\frontespizio{%
- \ifbool{classica}{\topTPTlogosfalse}{% else
- \@ifstar{\topTPTlogosfalse}{\topTPTlogostrue}}%
- \fr@ntespizio}
+\ifbool{classica}{\boolfalse{topTPTlogos}\fr@ntespizio}{\TPTcheckstar}
+}
+
\def\fr@ntespizio{%
\begingroup
- \iftopTPTlogos
- \thispagestyle{titlepage}
- \else
- \thispagestyle{classica}
- \fi
+\ifclassica
+ \thispagestyle{classica}
+\else
+\ifdefstring{\TPTmaybestar}{*}{\@firstoftwo}{\@secondoftwo}%
+ {\boolfalse{topTPTlogos}\thispagestyle{classica}\TPTmaybestar}%
+ {\booltrue{topTPTlogos}\thispagestyle{titlepage}}
+\fi
% \end{macrocode}
%
% We want also the title page to be set in the middle of the page irrespective of
-% the binding correction; so we assign the average of the two side margins to each margin.
+% the binding correction; so we assign the average of the two side margins to each
+% margin.
% \begin{macrocode}
- \oddsidemargin=\dimexpr(\oddsidemargin+\evensidemargin)/2\relax
- \evensidemargin \oddsidemargin
+ \oddsidemargin=\dimexpr(\oddsidemargin+\evensidemargin)/2\relax
+ \evensidemargin \oddsidemargin
% \end{macrocode}
%
% The |\null| command inserts a void horizontal box into the vertical list;
@@ -2866,7 +2884,7 @@ Skipping any redefinition\MessageBreak}%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e} % lavora solo con LaTeX 2e
\ProvidesPackage{topcoman}%
- [2014/11/02 v.5.83 Additional commands for the TOPtesi bundle]
+ [2014/11/07 v.5.84 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
@@ -2922,7 +2940,7 @@ Skipping any redefinition\MessageBreak}%
\providecommand{\unit}[1]{\ensuremath{{\mathrm{\,#1}}}}
\providecommand{\gei}{\ensuremath{{\mathop{\mathrm{j}}\nolimits}}}
\providecommand{\eu}{\ensuremath{{\mathop{\mathrm{e}}\nolimits}}}
-\providecommand{\micro}{\textormath{\textmu}{\ifxetex\mathup{μ}\else
+\providecommand{\micro}{\textormath{\textmu}{\ifxetex\mathup{\mu}\else
\ifx\muup\undefined\mu\else\muup\fi\fi}}
\providecommand{\gradi}{\textormath{\textdegree}{^\circ}}
% \end{macrocode}