From 07dc96bc3bbd691fc52aca15a172eaf41a89d873 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Tue, 25 May 2021 03:01:10 +0000
Subject: CTAN sync 202105250301

---
 macros/latex/contrib/suftesi/suftesi.dtx | 3352 +++++++++++++++---------------
 1 file changed, 1634 insertions(+), 1718 deletions(-)

(limited to 'macros/latex/contrib/suftesi/suftesi.dtx')

diff --git a/macros/latex/contrib/suftesi/suftesi.dtx b/macros/latex/contrib/suftesi/suftesi.dtx
index 7c63defed8..9a8820cb6e 100644
--- a/macros/latex/contrib/suftesi/suftesi.dtx
+++ b/macros/latex/contrib/suftesi/suftesi.dtx
@@ -56,7 +56,7 @@ This work has the LPPL maintenance status "author-maintained".
 %<class>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
 %<class>\ProvidesClass{suftesi}
 %<*class>
-    [2021/05/20 v3.1.0 A class for typesetting theses, books and articles]
+    [2021/05/23 v3.1.1 A class for typesetting theses, books and articles]
 %</class>
 %<*driver>
 \documentclass[12pt]{ltxdoc}
@@ -109,7 +109,6 @@ This work has the LPPL maintenance status "author-maintained".
 % LAYOUT
 %--------------------------------------------------------
 \usepackage[skip=1.5ex]{parskip}
-\setcounter{tocdepth}{3}
 \usepackage{geometry}
 \geometry{
   a4paper,
@@ -127,8 +126,8 @@ This work has the LPPL maintenance status "author-maintained".
 \addbibresource{suftesi.bib}
 \DeclareBibliographyCategory{pkgs-loaded}
 \addtocategory{pkgs-loaded}{appendix,caption,color,crop,enumitem,emptypage,
-fancyhdr,fixltxhyph,fontenc,fontsize,mathalpha,libertinust1math,newtx,geometry,
-iftex,microtype,multicol,titlesec,titletoc,xkeyval,cclicenses,fontenc,
+fancyhdr,fixltxhyph,fontsize,mathalpha,libertinust1math,newtx,geometry,
+iftex,microtype,multicol,titlesec,titletoc,xkeyval,cclicenses,
 substitutefont,luatex85,lm,textcomp,newpx,biolinum,inconsolata,libertine,
 cochineal,mathpazo,bera,amsthm}
 \usepackage{array}
@@ -254,7 +253,7 @@ cochineal,mathpazo,bera,amsthm}
 % --------------------------------------------------------
 % OTHER THUMBNAILS
 % --------------------------------------------------------
-\def\shortlipsum{Sed feugiat. Cum sociis natoque penatibus et magnis dis parturient.}
+\def\shortlipsum{The phenomena should only be used as a canon for our understanding. }
 \newcommand{\fakechapter}[1]{%
   \noindent
   \begin{minipage}{.31\textwidth}
@@ -274,7 +273,7 @@ cochineal,mathpazo,bera,amsthm}
     \begin{tikzpicture}
       \draw[pframe] (0,0) rectangle (\textwidth,4.9);
       \node[pnode] at (0.5,4.6)
-        {\shortlipsum\shortlipsum\shortlipsum\shortlipsum
+        {\shortlipsum\shortlipsum\shortlipsum\shortlipsum%
         \footnote{\scriptsize\shortlipsum\shortlipsum\par}};
     \end{tikzpicture}%
   \end{minipage}
@@ -286,11 +285,11 @@ cochineal,mathpazo,bera,amsthm}
     \begin{tikzpicture}
       \draw[pframe] (0,0) rectangle (\textwidth,3.3);
       \node[pnode] at (0.3,3.2) 
-        {\shortlipsum%
+        {\shortlipsum:%
         \begin{list}{\color{gray}\textbullet}{\leftmargin=#1\itemsep=0pt}
-        \item first item
-        \item second item
-        \item third item
+        \item immagination
+        \item experience
+        \item emotions
         \end{list}};
     \end{tikzpicture}%
   \end{minipage}
@@ -298,14 +297,14 @@ cochineal,mathpazo,bera,amsthm}
 \newcommand{\fakequotation}[1]{%
   \noindent
   \begin{minipage}{.31\textwidth}
-    \footnotesize%
+    \fontsize{9}{10.5}\selectfont%
     \begin{tikzpicture}
         \draw[pframe] (0,0) rectangle (\textwidth,7);
          \node[pnode] at (0.25,6.8) 
-         {\hskip1em\shortlipsum\shortlipsum
+         {\hskip1em\shortlipsum\shortlipsum\smallskip
          \begin{list}{}{#1}
-          \item \tiny\shortlipsum\shortlipsum\shortlipsum\shortlipsum
-         \end{list}
+          \item \fontsize{7}{8.5}\selectfont\shortlipsum\shortlipsum\shortlipsum\shortlipsum
+         \end{list}\smallskip
          \hskip1em\shortlipsum\shortlipsum};
     \end{tikzpicture}%
   \end{minipage}
@@ -339,7 +338,7 @@ cochineal,mathpazo,bera,amsthm}
 %</driver>
 % \fi
 %
-% \CheckSum{5722}
+% \CheckSum{5685}
 %
 % \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
@@ -357,6 +356,7 @@ cochineal,mathpazo,bera,amsthm}
 %   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %   Right brace   \}     Tilde         \~}
 %
+%  \changes{v3.1.1}{2021/05/23}{Redefined some boolean options. Renamed some private commands. Corrected a bug in headers numbering (\cmd{protect} removed). Disabled automatic partial ToC functionality. Improved \opt{fewfootnotes} option via \sty{zref}. Updated documentation.}
 % \changes{v3.1.0}{2021/05/20}{Replaced \cmd{val}\cmd{nr} with \cmd{suftesi@val}\cmd{suftesi@nr}. Corrected a bug with \cmd{maketitle} in \opt{collection} structure. New options \opt{partialtoc} and \opt{maketitlestyle}. New commands for customizing the partial ToC. New value \opt{justify} for \opt{quotestyle} option. Improved \opt{quotesize} option. Renamed the \opt{revauthortitle} option to \opt{reverseauthortitle}. The options \opt{titlefont}, \opt{authorfont}, \opt{reverseauthortitle} now work for every structure. Renewed documentation}
 % \changes{v3.0.2}{2021/02/06}{Improved \opt{subsecstyle} and \opt{subsubsecstyle} options.}
 % \changes{v3.0.1}{2021/01/27}{Maintenance release.}
@@ -456,7 +456,7 @@ cochineal,mathpazo,bera,amsthm}
 % \DoNotIndex{\titlepage,\vss,\vtop,\xdef,\@gobbletwo,\color,\dimexpr}
 % \DoNotIndex{\huge,\large,\makebox,\ProcessOptions,\renewcommand}
 %
-%\nocite{appendix,caption,color,crop,enumitem,emptypage,fancyhdr,fixltxhyph,fontenc,fontsize,mathalpha,libertinust1math,newtx,geometry,iftex,microtype,multicol,titlesec,titletoc,xkeyval,cclicenses,fontenc,substitutefont,luatex85,lm,textcomp,newpx,biolinum,inconsolata,libertine,cochineal,mathpazo,bera,amsthm}
+%\nocite{appendix,caption,color,crop,enumitem,emptypage,fancyhdr,fixltxhyph,fontsize,mathalpha,libertinust1math,newtx,geometry,iftex,microtype,multicol,titlesec,titletoc,xkeyval,cclicenses,substitutefont,luatex85,lm,textcomp,newpx,biolinum,inconsolata,libertine,cochineal,mathpazo,bera,amsthm,zref}
 %
 % \thispagestyle{empty}
 %
@@ -607,17 +607,30 @@ cochineal,mathpazo,bera,amsthm}
 % \centering 
 % \begin{tabular}{>{\sffamily}r@{}>{\sffamily}l>{\raggedright\arraybackslash}>{\sffamily}p{9.6cm}}
 % \toprule
-%               &  \textrm{Global}           &   appendix, caption, color, crop, enumitem, emptypage, 
-%                               fancyhdr, fixltxhyph, fontenc, fontsize, geometry, iftex,
-%                               microtype, multicol, titlesec, titletoc, xkeyval, (cclicenses)            \\\midrule
-%               &  \textrm{\hologo{pdfLaTeX} only} &  fontenc, substitutefont                                   \\\midrule
-%               &  \textrm{\hologo{LuaLaTeX} only} &  luatex85                                                  \\\midrule
-% defaultfont~=                              &  ~standard                                   &  lmodern    \\
-%               &  ~palatino                 &  textcomp, newpxtext, biolinum, inconsolata, newpxmath     \\
-%               &  ~libertine                &  textcomp, libertine, biolinum, inconsolata, newtxmath, libertinust1math     \\
-%               &  ~cochineal                &  textcomp, cochineal, biolinum, inconsolata, newtxmath     \\
-%               &  ~compatibility            &  mathpazo, beramono                                        \\\midrule
-% mathfont~=    &  ~extended                 &  amsthm, mathalpha                                          \\\bottomrule
+% \multicolumn{2}{c}{\textbf{Context}}            & \multicolumn{1}{c}{\textbf{Packages}}                    \\
+% \midrule
+%               & \textrm{Global}                 & appendix, caption, color, crop, enumitem, emptypage, 
+%                                                   fancyhdr, fixltxhyph, fontenc, fontsize, geometry, iftex,
+%                                                   microtype, multicol, titlesec, titletoc, 
+%                                                   xkeyval, cclicenses*, zref**                             \\
+% \midrule
+%               & \textrm{\hologo{pdfLaTeX} only} & fontenc, substitutefont                                  \\
+% \midrule
+%               & \textrm{\hologo{LuaLaTeX} only} & luatex85                                                 \\
+% \midrule
+% defaultfont~=                                   & ~standard                                  
+%                                                 & lmodern                                                  \\
+%               & ~palatino                       & textcomp, newpxtext, biolinum, inconsolata, newpxmath    \\
+%               & ~libertine                      & textcomp, libertine, biolinum, inconsolata, newtxmath, 
+%                                                   libertinust1math                                         \\
+%               & ~cochineal                      & textcomp, cochineal, biolinum, inconsolata, newtxmath    \\
+%               & ~compatibility                  & mathpazo, beramono                                       \\
+% \midrule
+% mathfont~=    & ~extended                       & amsthm, mathalpha                                        \\
+% \bottomrule\\[-1.5ex]
+% && \parbox{9.6cm}{\footnotesize
+% * only with \opt{FSPL} styles.\quad ** only with \opt{fewfootnotes} option.
+% }              
 % \end{tabular}
 % \caption{Packages loaded by \sty{suftesi}}\label{tab:pkgloaded}
 % \end{table}
@@ -648,9 +661,9 @@ cochineal,mathpazo,bera,amsthm}
 % templates are also available online on the CTAN’s website at 
 % \textcolor{magenta}{\url{http://www.ctan.org/pkg/suftesi}}.
 %
-% The class loads the packages listed in  table \ref{tab:pkgloaded} and
+% \alert The class loads the packages listed in  table \ref{tab:pkgloaded} and
 % since version 2.9.5 relies on \sty{appendix} package to manage 
-% the appendices \parencite[see][]{appendix}. To get the correct label 
+% the appendices \parencite{appendix}. To get the correct label 
 % in titles, headings and table of 
 % contents, you should use the \env{appendices} environment. 
 %
@@ -685,7 +698,7 @@ cochineal,mathpazo,bera,amsthm}
 % ^^A
 % ^^A ----------------------------------------------------------------
 %
-% The class provides eleven page layouts (table \ref{fig:layouts} and figure  
+% The class provides eleven page layouts (figure \ref{fig:layouts} and table  
 % \ref{tab:layouts}). The \opt{standard} 
 % layout (default) or \opt{standardaureo} layout are aimed to typeset 
 % A4 documents, while the other nine layouts are particularly suitable 
@@ -785,6 +798,42 @@ cochineal,mathpazo,bera,amsthm}
 %     $\SI{90}{cm} \times \SI{150}{cm}$.
 %   \end{valuelist}
 %
+% You can define your own layouts through the \cmd{geometry} command
+% of the \sty{geometry} package 
+% \parencite{geometry} and you can change the value of \cmd{baselineskip} 
+% too, possibly through \sty{fontsize} \parencite{fontsize}.
+%
+% \alert If you change the line spacing with 
+% the \cmd{linespread} command, you need to add \cmd{normalsize}. 
+%
+% ^^A\begin{minipage}{.4\textwidth}
+%\begin{latexcode}
+%\begin{verbatim}
+%\linespread{0.956}\normalsize
+%\geometry{...}
+%\end{verbatim}
+% \end{latexcode}
+% ^^A \geometry{
+% ^^A  ignoreall,
+% ^^A  paperwidth  = 140mm,
+% ^^A  paperheight = 210mm,
+% ^^A  textheight  = 165mm,
+% ^^A  textwidth   = 100mm,
+% ^^A  marginratio = 1:1,
+% ^^A  top         = 2.07cm,
+% ^^A  headsep     = 5.5mm,
+% ^^A  heightrounded}
+% ^^A\end{minipage}
+% ^^A\hfill
+% ^^A\begin{minipage}{.555\textwidth}
+% ^^A\begin{tikzpicture}[scale=2.81]
+% ^^A\draw (0,0) rectangle (1.40cm,2.10cm);
+% ^^A\draw[xshift=2mm,yshift=2.25mm,fill=gray!20,draw=none] (0,0) rectangle (1.00cm,1.65cm);
+% ^^A\draw[xshift=1.6cm,yshift=2.25mm,fill=gray!20,draw=none] (0,0) rectangle (1.00cm,1.65cm);
+% ^^A\draw[xshift=1.40cm] (0,0) rectangle (1.40cm,2.10cm);
+% ^^A\end{tikzpicture}
+% ^^A\end{minipage}
+%
 %\begin{figure}
 % \vspace*{-1cm}
 %\def\sufsetlengths{\sufsetlengthsA}
@@ -828,66 +877,27 @@ cochineal,mathpazo,bera,amsthm}
 %     \item[final] Prints the output on a A4 paper, hiding the crop marks. 
 %     Useless with \opt{standard} and \opt{standardaureo} layouts.
 %   \end{valuelist}
+%
+% \begin{footnotesize}
+%
 % Sometimes it is not desirable to have the crop marks on every page. 
 % In such a case you can use the \cmd{crop}|[off]| command 
 % after the first page of the document.
 %
+% \end{footnotesize}
+%
 % \optitem[\cmd{baselineskip}]{parindent}{\meta{dimen}}
 % \changes{v0.9b}{2012/09/23}{New option \opt{parindent}} 
 %   
 % Sets the indentation of the first line of each paragraph except those following a section title. You can use any unit recognized by \TeX{} (for example: \opt{1em}\OR\opt{1cm}\OR\opt{17pt}, \ldots).
 %
 %\begin{footnotesize}
-%Note that some packages may set the value of \cmd{parindent} inside the \cmd{AtBeginDocument} hook. In these cases the \opt{parindent} option is ineffective and if you want to change the indentation you have to call \cmd{parindent=}\meta{dimen} after |\begin{document}|.\par
+%
+%Note that some packages may set the value of \cmd{parindent} inside the \cmd{AtBeginDocument} hook. In these cases the \opt{parindent} option is ineffective and if you want to change the indentation you have to call \cmd{parindent=}\meta{dimen} after |\begin{document}|.
+%
 %\end{footnotesize}
 % \end{optionlist*}
 % 
-% \subsubsection{Layout customizations}
-%
-% You can define your own layouts through the \cmd{geometry} command
-% and you can change the value of \cmd{baselineskip} too. For example 
-% you can resize the typeblock of the \texttt{supercompactaureo} layout 
-% to fit particular needs, or simply because the font used requires 
-% a smaller line width. As you can see 
-% in the following example, you can change many aspects of the layout, 
-% using the parameters available for the \cmd{geometry} command. 
-% Here we have 
-% modified also the margin ratio, the  value of the upper margin and the 
-% distance between the head and the beginning of the text. For the other parameters
-% sees the documentation of the \sty{geometry} package \parencite{geometry}.
-%
-% \alert Remember that if you change the line spacing with 
-% the \cmd{linespread} command, you need to add \cmd{normalsize}. 
-%
-% ^^A\begin{minipage}{.4\textwidth}
-%\begin{latexcode}
-%\begin{verbatim}
-%\linespread{0.956}
-%\normalsize
-%\geometry{...}
-%\end{verbatim}
-% \end{latexcode}
-% ^^A \geometry{
-% ^^A  ignoreall,
-% ^^A  paperwidth  = 140mm,
-% ^^A  paperheight = 210mm,
-% ^^A  textheight  = 165mm,
-% ^^A  textwidth   = 100mm,
-% ^^A  marginratio = 1:1,
-% ^^A  top         = 2.07cm,
-% ^^A  headsep     = 5.5mm,
-% ^^A  heightrounded}
-% ^^A\end{minipage}
-% ^^A\hfill
-% ^^A\begin{minipage}{.555\textwidth}
-% ^^A\begin{tikzpicture}[scale=2.81]
-% ^^A\draw (0,0) rectangle (1.40cm,2.10cm);
-% ^^A\draw[xshift=2mm,yshift=2.25mm,fill=gray!20,draw=none] (0,0) rectangle (1.00cm,1.65cm);
-% ^^A\draw[xshift=1.6cm,yshift=2.25mm,fill=gray!20,draw=none] (0,0) rectangle (1.00cm,1.65cm);
-% ^^A\draw[xshift=1.40cm] (0,0) rectangle (1.40cm,2.10cm);
-% ^^A\end{tikzpicture}
-% ^^A\end{minipage}
-%
 % ^^A ----------------------------------------------------------------
 % ^^A
 %        \subsection{Font}\label{sec:fonts}
@@ -926,7 +936,7 @@ cochineal,mathpazo,bera,amsthm}
 %
 % ^^A ----------------------------------------------------------------
 % ^^A
-%        \subsubsection{General settings}\label{sec:fonts:options:general}
+%        \subsubsection{General options}\label{sec:fonts:options:general}
 % ^^A
 % ^^A ----------------------------------------------------------------
 % 
@@ -947,12 +957,11 @@ cochineal,mathpazo,bera,amsthm}
 %     \item[upper] Prints spaced \textsc{\lsstyle Small Capitals} with uppercase initials.
 %   \end{valuelist}
 %
-% \optitem[cochineal]{defaultfont}{\opt{none}\OR\opt{cochineal}
-% \OR\opt{libertine}\OR\opt{palatino}\OR\opt{standard}}
+% \optitem[cochineal]{defaultfont}{\opt{none}\OR\opt{cochineal}\OR\opt{libertine}\OR\opt{palatino}\OR\opt{standard}}
 %   \begin{valuelist}
-%     \item[none] Does not load any font. Use this option 
-%    if you want full control over the font selection. This is the default with 
-%    \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
+%     \item[none] Does not load any font (default with 
+%    \hologo{XeLaTeX} or \hologo{LuaLaTeX}). Use this option 
+%    if you want full control over the font selection
 %     \item[cochineal] Loads the Cochineal serif, the Linux Biolinum sans serif and the Inconsolata typewriter.
 %     \item[libertine] Loads the Linux Libertine serif, the Linux Biolinum sans serif and the Inconsolata typewriter.
 %     \item[palatino] Loads the New PX serif, the Linux Biolinum sans serif and the Inconsolata typewriter. Note that the New PX font does not provide support for Greek. The \opt{greekfont=artemisia} option offers a very good solution.
@@ -985,9 +994,11 @@ cochineal,mathpazo,bera,amsthm}
 % 
 % Effective only with Cochineal, Libertine and New PX fonts.
 %   \begin{valuelist}
-%     \item[none] Do not load any mathematical support. Use this option if you need some packages that have to be loaded before \sty{newtxmath} and \sty{newpxmath}. This is the default with 
-%    \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
-%     \item[minimal]  Loads \sty{newtxmath} (for Cochineal and Linux Libertine) or \sty{newpxmath} (for PX Fonts).
+%     \item[none] Do not load any mathematical support (default with 
+%     \hologo{XeLaTeX} or \hologo{LuaLaTeX}). Use this option if you need 
+%     some packages that have to be loaded before \sty{newtxmath} and \sty{newpxmath}.
+%     \item[minimal]  Loads \sty{newtxmath} (for Cochineal and Linux Libertine) 
+%     or \sty{newpxmath} (for PX Fonts).
 %     \item[extended] Loads the previous option plus the \sty{amsthm} and \sty{mathalpha} packages. 
 %   \end{valuelist}
 % \end{optionlist*}
@@ -1064,8 +1075,8 @@ cochineal,mathpazo,bera,amsthm}
 % Actually useless  with \opt{defaultfont=none} and not available with \opt{defaultfont=standard} options.
 % \changes{v0.9b}{2012/09/23}{New option \opt{greekfont}}
 %   \begin{valuelist}
-%     \item[none] Does not load any Greek font. This is the default with 
-%    \hologo{XeLaTeX} or \hologo{LuaLaTeX}. 
+%     \item[none] Does not load any Greek font (default with 
+%     \hologo{XeLaTeX} or \hologo{LuaLaTeX}).
 %     \item[artemisia] Loads the Artemisia font by the Greek Font Society.
 %     \item[porson] Loads the Porson font by the Greek Font Society.
 %     \item[bodoni] Loads the Bodoni font by the Greek Font Society.
@@ -1117,10 +1128,10 @@ cochineal,mathpazo,bera,amsthm}
 % ^^A
 % ^^A ----------------------------------------------------------------
 %
-% Figure \ref{fig:fakechapter} shows some combinations of the following options.
+% In the following option \meta{level} can be \opt{part}, \opt{chap}, \opt{sec},
+% \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}. You can see some
+% combinations of these options in figure \ref{fig:fakechapter}.
 %
-%   In the following option \meta{level} can be \opt{part}, \opt{chap}, \opt{sec},
-%   \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}.
 % \begin{optionlist*}
 % \optitem[roman]{\meta{level}font}{\opt{roman}\OR\opt{italic}\OR 
 % \opt{smallcaps}}
@@ -1130,10 +1141,7 @@ cochineal,mathpazo,bera,amsthm}
 %     \item[smallcaps] Prints the \meta{level} title 
 %      in \textsc{\lsstyle spaced small caps}
 %   \end{valuelist}
-% \end{optionlist*}
-%   In the following options \meta{level} can be \opt{part}, \opt{chap}, \opt{sec},
-%   \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}.
-% \begin{optionlist*}
+%
 % \optitem[left]{\meta{level}style}{\opt{left}\OR\opt{center}\OR 
 % \opt{right}\OR\opt{parleft}\OR\opt{parcenter}\OR 
 % \opt{parright}}
@@ -1145,7 +1153,7 @@ cochineal,mathpazo,bera,amsthm}
 %     \item[parcenter] As \opt{center} but with the title below the number.
 %     \item[parright] As \opt{right} but with the title below the number.
 %   \end{valuelist}
-% \optitem[Roman/arabic/arabic]{\meta{level}numstyle}{\opt{arabic}\OR 
+% \optitem[arabic/Roman {\rmfamily(part)}]{\meta{level}numstyle}{\opt{arabic}\OR 
 % \opt{roman}\OR\opt{Roman}\OR\opt{dotarabic}\OR\opt{dotroman}\OR
 % \opt{dotRoman}}
 %   \begin{valuelist}
@@ -1228,23 +1236,17 @@ cochineal,mathpazo,bera,amsthm}
 %
 % \begin{ltxsyntax}
 % \cmditem{breakintoc}
-%
-% A manual break which is active for the table of contents but not in the text or in the headers.
-%
-% \begin{latexcode}
-%\begin{verbatim}
-%\section{This title will be break here \breakintoc inside the contents}
-%\end{verbatim}
-% \end{latexcode}
 % \cmditem{breakinbody}
 % \cmditem{breakinbodyleft}
 %
-% Manual breaks which are active in the body text but not in the headers
-% and in the table of contents. The difference between the two
-% commands is that the former executes |\\| while the latter uses \cmd{newline}. The second one should be used with the \opt{\meta{level}style=left} options to avoid bad line alignments.
+% Manual breaks which are active in the the table of contents 
+% and in the body text respectivley.
+% The last one replaces \cmd{breakinbody} to avoid bad line alignments 
+% when the \opt{\meta{level}style=left} options are used.
 %
 % \begin{latexcode}
 %\begin{verbatim}
+%\section{This title will be break here \breakintoc inside the contents}
 %\section{This title will be break here \breakinbody inside the body text}
 %\section{This title will be break here \breakinbodyleft inside the body text}
 %\end{verbatim}
@@ -1323,12 +1325,15 @@ cochineal,mathpazo,bera,amsthm}
 %    and the list of tables in two columns.
 %    \item[all] Prints all the contents lists in two columns.
 %  \end{valuelist}
+%
 % \optitem[false]{partialtoc}{\opt{true}\OR\opt{false}}
-% This option is effective only with the \opt{structure=book} option.
 %  \begin{valuelist}
-%    \item[true] Prints a partial ToC at the beginning of every chapter.
-%    \item[false] Does not print any partial ToC.
+%    \item[true] Enable the \cmd{printpartialtoc} command to get a 
+%     partial ToC after the title of chapters 
+%     (\opt{book} structure) or sections (\opt{article} structure).
+%    \item[false] Disables \cmd{printpartialtoc} command.
 %  \end{valuelist}
+%
 % \end{optionlist*}
 %
 % ^^A ----------------------------------------------------------------
@@ -1337,6 +1342,12 @@ cochineal,mathpazo,bera,amsthm}
 % ^^A
 % ^^A ----------------------------------------------------------------
 %
+% ^^A ----------------------------------------------------------------
+% ^^A
+%        \paragraph{General commands}\label{sec:toc:commands:general}
+% ^^A
+% ^^A ----------------------------------------------------------------
+%
 % \begin{ltxsyntax}
 % \cmditem*{toc\meta{level}font}{definition}
 %
@@ -1372,9 +1383,22 @@ cochineal,mathpazo,bera,amsthm}
 % \end{latexcode}
 % Note that in both cases the definition must be enclosed in a group 
 % to prevent it from changing what follows (i.e. the part number and the part title).
+% \end{ltxsyntax}
+%
+%
+% ^^A ----------------------------------------------------------------
+% ^^A
+%        \paragraph{Partial ToCs}\label{sec:toc:partialtoc}
+% ^^A
+% ^^A ----------------------------------------------------------------
+%
+% To use the command in this seciton load the \opt{partialtoc} option.
+%
+% \begin{ltxsyntax}
+% \cmditem{printpartialtoc}
 %
-% The following commands allow you to modify some features of the partial ToC
-% printed at the beginning of each chapter when the \opt{partialtoc} option is used.
+% A command to print a partial ToC to be used after the \cmd{chapter}  
+% and \cmd{section} commands, respectively in \opt{book} and \opt{article} structures.
 %
 % \cmditem*{partialtoc\meta{level}font}{definition}
 % \cmditem*{partialtoc\meta{level}labelfont}{definition} 
@@ -1411,27 +1435,35 @@ cochineal,mathpazo,bera,amsthm}
 %\partialtocsecfont{\bfseries\itshape}
 %\partialtocsubsecfont{\itshape}
 %\partialtocseclabel{\bfseries}
-%\partialtocbeforecode{\textbf{Contents of this chapter}\smallskip}
+%\partialtocbeforecode{\hrule\smallskip\textbf{Contents}\smallskip}
+%\partialtocaftercode{\smallskip\hrule}
 %\end{verbatim}
 % \end{latexcode}
 % which gives this very questionable result:
 %
 % \begin{mdframed}[backgroundcolor=philA!10,linecolor=white]
 % \footnotesize
-% \textbf{Contents of this chapter}\vskip-.5ex
+% \null\medskip
 %
-% \textbf{\itshape 1.1 Lorem ipsum dolor sit amet, consectetuer adipiscing elit}, 1. 
+% \hrule
+%
+% \textbf{Contents}\vskip-.5ex
+%
+% \textbf{1.1 \itshape Lorem ipsum dolor sit amet, consectetuer adipiscing elit}, 1. 
 % 1.1.1 \textit{Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis}, 15. 
 % 1.1.1.1 Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna, 17. 
 % 1.1.1.2 Donec vehicula augue eu neque, 21. 
 % 1.1.2 \textit{Cras viverra metus rhoncus sem}, 26. 
 % 1.1.2.1 Nulla et lectus vestibulum urna fringilla ultrices, 29.
 % 1.1.2.2 Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas, 34.
-% \textbf{\itshape 1.2 Nulla et lectus vestibulum urna fringilla ultrices}, 35. 
+% \textbf{1.2 \itshape Nulla et lectus vestibulum urna fringilla ultrices}, 35. 
 % 1.2.1 \textit{Cras viverra metus rhoncus sem}, 39. 
 % 1.2.1.1 Donec vehicula augue eu neque, 40.
 % 1.2.1.2 Phasellus eu tellus sit amet tortor gravida placerat, 45.
 % 1.2.2 \textit{Mauris ut leo}, 49.
+% \smallskip
+%
+% \hrule
 % \end{mdframed}
 %
 % For more radical changes you can of course define your own partial ToC with your
@@ -1480,30 +1512,6 @@ cochineal,mathpazo,bera,amsthm}
 % -- 1.3.3 Nonummy eget, consectetuer id, 63.
 % \end{mdframed}
 %
-% The last four commands described at the beginning of this section
-% can also be used inside a group to 
-% adjust the vertical spacing only for specific chapters. This is useful, for example,
-% for those chapters starting with special quotations or \textit{epigraphs}:
-% \begin{latexcode}
-%\begin{verbatim}
-%\begingroup
-%
-%\partialtocbeforespace{6cm}
-%\setlength{\beforeepigraphskip}{-5cm}
-%\setlength{\afterepigraphskip}{4cm}
-%
-%\chapter{The things in themselves are what first give rise to
-%         reason, as is proven in the ontological}
-%
-%\epigraph{As is proven in the ontological manuals,
-%          it is obvious that the transcendental unity 
-%          of apperception proves the
-%          validity of the Antinomies}{G.W.F. Hegel}
-%
-%\endgroup
-%\end{verbatim}
-% \end{latexcode}
-%
 % ^^A ----------------------------------------------------------------
 % ^^A
 %        \subsection{Headers and footers}
@@ -1686,7 +1694,7 @@ cochineal,mathpazo,bera,amsthm}
 %      Does not indents the block quotations.
 %   \end{valuelist}
 % \optitem[footnotesize]{quotesize}{\opt{small}, \dots, \opt{footnotesize}, \dots, \opt{scriptsize}, \dots}
-% You can use all the sizes made available by the \sty{fontsize} package.
+% You can use all the sizes made available by the \sty{fontsize} package \parencite{fontsize}.
 % \changes{v0.9b}{2012/09/23}{New option \opt{quotationfont}} 
 %
 % \end{optionlist*}
@@ -1904,28 +1912,11 @@ cochineal,mathpazo,bera,amsthm}
 % cover page (figure \ref{fig:cover}), inspired by the Italian designer 
 % Bruno \textcite[85-89]{munari:arte-come-mestiere}. The color used for 
 % the text and the circle as well as other graphical elements are partially 
-% customizable. The cover shown 
-% in figure \ref{fig:cover} is obtained with the following code:
-% \begin{latexcode}
-%\begin{verbatim}
-%\Cauthor{Bruce Lee}
-%\Ctitle{The Art of Kicking}
-%\Csubtitle{How to survive in the modern societies}
-%\Ceditor{edited by\\ Walker Texas Ranger}
-%\Cfoot{Punch Press\\ \fbox{\bfseries P\&P}}
-%\Cpagecolor{white!90!black}
-%\Ctextcolor{white}
-%\Cfootcolor{black}
-%  \makecover[ball color=DarkBlue,draw=none]
-%\end{verbatim}
-% \end{latexcode}
-%
-% To produce a complete book cover, with spine and dust jacket, you should 
+% customizable. Anyway, 
+% to produce a complete book cover, with spine and dust jacket, you should 
 % take a look at the \sty{bookcover} class by Tibor \textcite{bookcover}.
 %
-%
 % \begin{ltxsyntax}
-% \cmditem{makecover}
 % \cmditem{makecover}[tikz options]
 %
 % Prints the cover page (figure \ref{fig:cover}). This command requires \sty{tikz} 
@@ -1968,58 +1959,34 @@ cochineal,mathpazo,bera,amsthm}
 %
 % \end{ltxsyntax}
 % 
-% ^^A ----------------------------------------------------------------
-% ^^A
-%        \subsubsection*{Some examples of cover pages}
-% ^^A
-% ^^A ----------------------------------------------------------------
-%
-% First you have to declare the informations you want to put in the cover page. It is better to give these informations in the preamble:
-%
+% You can customize the circle using the optional arguments of the 
+% \cmd{makecover} command. Some of these \meta{tikz options} require 
+% special \sty{tikz} libraries. For example, you can add a shadow to 
+% the circle loading the \texttt{shadows} library and using the 
+% \texttt{circular drop shadow} otpion.
+% The cover shown 
+% in figure \ref{fig:cover} is obtained with the following code:
 % \begin{latexcode}
 %\begin{verbatim}
+%\documentclass{suftesi}
+%\usepackage[svgnames]{xcolor}
 %\usepackage{tikz}
+%  \usetikzlibrary{shadows}
 %
 %\Cauthor{Bruce Lee}
 %\Ctitle{The Art of Kicking}
 %\Csubtitle{How to survive in the modern societies}
 %\Ceditor{edited by\\ Walker Texas Ranger}
-%\Cfoot{Punch Press\\ \includegraphics[width=1cm]{logo}}
-%\end{verbatim}
-% \end{latexcode}
-%
-% Then you can print the cover page with:
-% \begin{ttquote}
-% \cmd{makecover}
-% \end{ttquote}
-%
-% You can customize the circle using the optional arguments of the \cmd{makecover} command. Some of these \meta{tikz options} require special \sty{tikz} libraries. For example, you can add a shadow to the circle loading the \texttt{shadows} library and using the \texttt{circular drop shadow} otpion:
-%
-% \begin{latexcode}
-%\begin{verbatim}
-%\usepackage{tikz}
-%\usetikzlibrary{shadows}
-%...
-%\begin{document}
-%  \makecover[circular drop shadow]
-%\end{document}
-%\end{verbatim}
-% \end{latexcode}
-%
-% There are thousands of possibilities. Here is another (not necessarily good) example:
-% \begin{latexcode}
-%\begin{verbatim}
-%\usepackage{tikz}
-%
-%\Cpagecolor{gray!30}
-%\Ctextcolor{blue!50}
+%\Cfoot{Punch Press\\ \fbox{\bfseries P\&P}}
+%\Cpagecolor{white!90!black}
+%\Ctextcolor{white}
 %\Cfootcolor{black}
 %
 %\begin{document}
-%  \makecover[fill=blue!30!black,draw=teal,line width=2mm,dashed]
+%  \makecover[ball color=DarkBlue,draw=none,circular drop shadow]
 %\end{document}
 %\end{verbatim}
-% \end{latexcode} 
+% \end{latexcode}
 %
 %\begin{figure}
 %\begin{minipage}{.5\textwidth}
@@ -2067,7 +2034,7 @@ cochineal,mathpazo,bera,amsthm}
 %\begin{tikzpicture}[scale=0.4]%
 %\draw[draw=gray,fill=gray!5,drop shadow] (-\textwidth,0) rectangle (\textwidth,.9\textheight);
 % \node at (0,.65\textheight) (c) {};
-% \draw[ball color=DarkBlue,draw=none] (c) circle (4.5cm);
+% \draw[ball color=DarkBlue,draw=none,circular drop shadow] (c) circle (4.5cm);
 % \node[scale=0.4,anchor=center,text=white] at (c) {\parbox{6cm}{%
 %  \centering
 %       {\scriptsize\scshape Bruce Lee\\}
@@ -2216,13 +2183,11 @@ cochineal,mathpazo,bera,amsthm}
 %\begin{article}
 %\author{Author}
 %\title{Title of the paper}
-% % The abstract is optional.
-% % \begin{abstract}
-% %  The abstract
-% % \end{abstract}
-%
+% %   The abstract is optional.
+% %   \begin{abstract}
+% %     The abstract
+% %   \end{abstract}
 %\maketitle
-%
 %  Text of the paper
 %\end{article}
 %\end{verbatim}
@@ -2374,13 +2339,12 @@ cochineal,mathpazo,bera,amsthm}
 %    \begin{macrocode}
 \RequirePackage{xkeyval}
 \newif\ifsuftesi@article
-\newif\ifsuftesi@authortitle
 \newif\ifsuftesi@collection
-\newif\ifsuftesi@standard
+\newif\ifsuftesi@lmodern
 \newif\ifsuftesi@cochineal
 \newif\ifsuftesi@libertine 
 \newif\ifsuftesi@palatino 
-\newif\ifsuftesi@compatibility
+\newif\ifsuftesi@mathpazo
 \newif\ifsuftesi@nofont 
 \newif\ifsuftesi@greekfont 
 \newif\ifsuftesi@porson 
@@ -2399,9 +2363,10 @@ cochineal,mathpazo,bera,amsthm}
 \newif\ifsuftesi@pocketb
 \newif\ifsuftesi@pocketc
 \newif\ifsuftesi@screen
+\newif\ifsuftesi@sufplain
 \newif\ifsuftesi@screencentered
 \newif\ifsuftesi@centerheader
-\newif\ifsuftesi@sufplain
+\newif\ifsuftesi@authortitle
 \newif\ifsuftesi@numparpart
 \newif\ifsuftesi@numparchap
 \newif\ifsuftesi@numparsec
@@ -2413,15 +2378,11 @@ cochineal,mathpazo,bera,amsthm}
 \newif\ifsuftesi@twocolumntoc
 \newif\ifsuftesi@twocolumnlof
 \newif\ifsuftesi@twocolumnlot
-\newif\ifsuftesi@partialtoc
-\newif\ifsuftesi@toccompactsec
-\newif\ifsuftesi@toccompactsubsec
-\newif\ifsuftesi@toccompactsubsubsec
-\newif\ifsuftesi@toccompactpar
-\newif\ifsuftesi@toccompactsubpar
-\newif\ifsuftesi@draftdate
-\newif\ifsuftesi@fewfootnotes
-\newif\ifsuftesi@partpage
+\newif\ifsuftesi@ctocsec
+\newif\ifsuftesi@ctocsubsec
+\newif\ifsuftesi@ctocsubsubsec
+\newif\ifsuftesi@ctocpar
+\newif\ifsuftesi@ctocsubpar
 \newif\ifsuftesi@FSPL
 %    \end{macrocode}
 % The class is based on the standard \sty{book} class but the following options are disabled as they contrast with the layouts provided by the class. Specifically, the first five options are actually ineffective, while the \opt{landscape} option rotates the page correctly, but sets the text width according to the class options, effectively making it unusable.
@@ -2460,26 +2421,36 @@ cochineal,mathpazo,bera,amsthm}
   \def\SUF@chapswitch{\thechapter.}
 \or
   \suftesi@articletrue
-  \@titlepagefalse
+  \SUF@titlepagefalse
   \def\SUF@chapswitch{}
 \or
   \suftesi@collectiontrue
     \setkeys{}{headerstyle=authortitleinner}
   \def\SUF@chapswitch{}
 \fi}
-\define@choicekey{}{documentstructure}[\suftesi@val\suftesi@nr]
-    {book,article,collection}[book]{%
-\ClassWarningNoLine{suftesi}{%
-  'documentstructure' option is deprecated.\MessageBreak
-  Use 'structure' option instead}
+%    \end{macrocode}
+% \paragraph{View mode}
+%    \begin{macrocode}
+\define@choicekey{}{version}[\suftesi@val\suftesi@nr]
+    {screen,cscreen,draft,final}[draft]{%
 \ifcase\suftesi@nr\relax
-  \setkeys{}{structure=book}
+  \suftesi@screentrue
 \or
-  \setkeys{}{structure=article}
+  \suftesi@screentrue
+  \suftesi@screencenteredtrue
 \or
-  \setkeys{}{structure=collection}
+  \relax
+\or
+  \AtBeginDocument{\crop[off]}
 \fi}
 %    \end{macrocode}
+% \paragraph{Other options}
+%    \begin{macrocode}
+\define@boolkey[SUF]{}{marginpar}[true]{}
+\define@boolkey[SUF]{}{partpage}[true]{}
+\define@boolkey[SUF]{}{draftdate}[true]{}
+\define@boolkey[SUF]{}{titlepage}[true]{}
+%    \end{macrocode}
 % \subsubsection{Fonts}
 % \paragraph{Roman fonts}
 %    \begin{macrocode}
@@ -2494,9 +2465,9 @@ cochineal,mathpazo,bera,amsthm}
 \or
   \suftesi@palatinotrue
 \or
-  \suftesi@standardtrue
+  \suftesi@lmoderntrue
 \or
-  \suftesi@compatibilitytrue
+  \suftesi@mathpazotrue
 \fi}
 \define@choicekey{}{mathfont}[\suftesi@val\suftesi@nr]
     {none,minimal,extended}[minimal]{%
@@ -2525,6 +2496,18 @@ cochineal,mathpazo,bera,amsthm}
   \suftesi@greekfonttrue\suftesi@cbgreektrue
 \fi}
 %    \end{macrocode}
+% \paragraph{Small capitals style}
+%    \begin{macrocode}
+\define@choicekey{}{smallcapsstyle}[\suftesi@val\suftesi@nr]
+    {low,upper}[low]{%
+\ifcase\suftesi@nr\relax
+  \def\SUF@MakeLowercase{\MakeLowercase}
+  \def\SUF@TOCMakeLowercase{\lowercase}
+\or
+  \def\SUF@MakeLowercase{\relax}
+  \def\SUF@TOCMakeLowercase{\relax}
+\fi}
+%    \end{macrocode}
 % \subsubsection{Layouts}
 %    \begin{macrocode}
 \RequirePackage{geometry}
@@ -2682,7 +2665,7 @@ cochineal,mathpazo,bera,amsthm}
     marginparwidth= 12mm,
     marginparsep=   7pt}
 \or
-\suftesi@pocketBtrue
+\suftesi@pocketbtrue
   \DeclareRobustCommand{\SUF@partsize}{\large}
   \DeclareRobustCommand{\SUF@chaptersize}{\large}
   \DeclareRobustCommand{\SUF@sectionsize}{\normalsize}
@@ -2700,7 +2683,7 @@ cochineal,mathpazo,bera,amsthm}
     marginparwidth= 15mm,
     marginparsep=   7pt}
 \or
-\suftesi@pocketCtrue
+\suftesi@pocketctrue
   \DeclareRobustCommand{\SUF@partsize}{\large}
   \DeclareRobustCommand{\SUF@chaptersize}{\large}
   \DeclareRobustCommand{\SUF@sectionsize}{\normalsize}
@@ -2724,91 +2707,91 @@ cochineal,mathpazo,bera,amsthm}
 \define@choicekey{}{partstyle}[\suftesi@val\suftesi@nr]
     {left,center,right,parleft,parcenter,parright}[left]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@lr@PARTSwitch{\filright}
+  \def\SUF@PART@align{\filright}
 \or
-  \def\SUF@lr@PARTSwitch{\filcenter}
+  \def\SUF@PART@align{\filcenter}
 \or
-  \def\SUF@lr@PARTSwitch{\filleft}
+  \def\SUF@PART@align{\filleft}
 \or
-  \def\SUF@lr@PARTSwitch{\filright}
+  \def\SUF@PART@align{\filright}
   \suftesi@numparparttrue
 \or
-  \def\SUF@lr@PARTSwitch{\filcenter}
+  \def\SUF@PART@align{\filcenter}
   \suftesi@numparparttrue
 \or
-  \def\SUF@lr@PARTSwitch{\filleft}
+  \def\SUF@PART@align{\filleft}
   \suftesi@numparparttrue
 \fi}
 \define@choicekey{}{chapstyle}[\suftesi@val\suftesi@nr]
     {left,center,right,parleft,parcenter,parright}[left]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@lr@CHAPSwitch{\filright}
+  \def\SUF@CHAP@align{\filright}
 \or
-  \def\SUF@lr@CHAPSwitch{\filcenter}
+  \def\SUF@CHAP@align{\filcenter}
 \or
-  \def\SUF@lr@CHAPSwitch{\filleft}
+  \def\SUF@CHAP@align{\filleft}
 \or
-  \def\SUF@lr@CHAPSwitch{\filright}
+  \def\SUF@CHAP@align{\filright}
   \suftesi@numparchaptrue
 \or
-  \def\SUF@lr@CHAPSwitch{\filcenter}
+  \def\SUF@CHAP@align{\filcenter}
   \suftesi@numparchaptrue
 \or
-  \def\SUF@lr@CHAPSwitch{\filleft}
+  \def\SUF@CHAP@align{\filleft}
   \suftesi@numparchaptrue
 \fi}
 \define@choicekey{}{secstyle}[\suftesi@val\suftesi@nr]
     {left,center,right,parleft,parcenter,parright}[left]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@lr@SECSwitch{\filright}
+  \def\SUF@SEC@align{\filright}
 \or
-  \def\SUF@lr@SECSwitch{\filcenter}
+  \def\SUF@SEC@align{\filcenter}
 \or
-  \def\SUF@lr@SECSwitch{\filleft}
+  \def\SUF@SEC@align{\filleft}
 \or
-  \def\SUF@lr@SECSwitch{\filright}
+  \def\SUF@SEC@align{\filright}
   \suftesi@numparsectrue
 \or
-  \def\SUF@lr@SECSwitch{\filcenter}
+  \def\SUF@SEC@align{\filcenter}
   \suftesi@numparsectrue
 \or
-  \def\SUF@lr@SECSwitch{\filleft}
+  \def\SUF@SEC@align{\filleft}
   \suftesi@numparsectrue
 \fi}
 \define@choicekey{}{subsecstyle}[\suftesi@val\suftesi@nr]
     {left,center,right,parleft,parcenter,parright}[left]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@lr@SUBSECSwitch{\filright}
+  \def\SUF@SUBSEC@align{\filright}
 \or
-  \def\SUF@lr@SUBSECSwitch{\filcenter}
+  \def\SUF@SUBSEC@align{\filcenter}
 \or
-  \def\SUF@lr@SUBSECSwitch{\filleft}
+  \def\SUF@SUBSEC@align{\filleft}
 \or
-  \def\SUF@lr@SUBSECSwitch{\filright}
+  \def\SUF@SUBSEC@align{\filright}
 \suftesi@numparsubsectrue
 \or
-  \def\SUF@lr@SUBSECSwitch{\filcenter}
+  \def\SUF@SUBSEC@align{\filcenter}
 \suftesi@numparsubsectrue
 \or
-  \def\SUF@lr@SUBSECSwitch{\filleft}
+  \def\SUF@SUBSEC@align{\filleft}
 \suftesi@numparsubsectrue
 \fi}
 \define@choicekey{}{subsubsecstyle}[\suftesi@val\suftesi@nr]
     {left,center,right,parleft,parcenter,parright}[left]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@lr@SUBSUBSECSwitch{\filright}
+  \def\SUF@SUBSUBSEC@align{\filright}
 \or
-  \def\SUF@lr@SUBSUBSECSwitch{\filcenter}
+  \def\SUF@SUBSUBSEC@align{\filcenter}
 \or
-  \def\SUF@lr@SUBSUBSECSwitch{\filleft}
+  \def\SUF@SUBSUBSEC@align{\filleft}
 \or
-  \def\SUF@lr@SUBSUBSECSwitch{\filright}
+  \def\SUF@SUBSUBSEC@align{\filright}
 \suftesi@numparsubsubsectrue
 \or
-  \def\SUF@lr@SUBSUBSECSwitch{\filcenter}
+  \def\SUF@SUBSUBSEC@align{\filcenter}
 \suftesi@numparsubsubsectrue
 \or
-  \def\SUF@lr@SUBSUBSECSwitch{\filleft}
+  \def\SUF@SUBSUBSEC@align{\filleft}
 \suftesi@numparsubsubsectrue
 \fi}
 %    \end{macrocode}
@@ -2817,77 +2800,65 @@ cochineal,mathpazo,bera,amsthm}
 \define@choicekey{}{partfont}[\suftesi@val\suftesi@nr]
     {roman,italic,smallcaps}[roman]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@PART@StyleSwitch{\relax}
+  \def\SUF@PART@font{\relax}
 \or
-  \def\SUF@PART@StyleSwitch{\itshape}
+  \def\SUF@PART@font{\itshape}
 \or
-  \def\SUF@PART@StyleSwitch{\expandafter\SUF@titlesmallcaps}
+  \def\SUF@PART@font{\expandafter\SUF@titlesmallcaps}
 \fi}
 \define@choicekey{}{chapfont}[\suftesi@val\suftesi@nr]
     {roman,italic,smallcaps}[roman]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@CHAP@StyleSwitch{\relax}
+  \def\SUF@CHAP@font{\relax}
 \or
-  \def\SUF@CHAP@StyleSwitch{\itshape}
+  \def\SUF@CHAP@font{\itshape}
 \or
-  \def\SUF@CHAP@StyleSwitch{\expandafter\SUF@titlesmallcaps}
+  \def\SUF@CHAP@font{\expandafter\SUF@titlesmallcaps}
 \fi}
 \define@choicekey{}{secfont}[\suftesi@val\suftesi@nr]
     {roman,italic,smallcaps}[italic]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@SEC@StyleSwitch{\relax}
+  \def\SUF@SEC@font{\relax}
 \or
-  \def\SUF@SEC@StyleSwitch{\itshape}
+  \def\SUF@SEC@font{\itshape}
 \or
-  \def\SUF@SEC@StyleSwitch{\expandafter\SUF@titlesmallcaps}
+  \def\SUF@SEC@font{\expandafter\SUF@titlesmallcaps}
 \fi}
 \define@choicekey{}{subsecfont}[\suftesi@val\suftesi@nr]
     {roman,italic,smallcaps}[roman]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@SUBSEC@StyleSwitch{\relax}
+  \def\SUF@SUBSEC@font{\relax}
 \or
-  \def\SUF@SUBSEC@StyleSwitch{\itshape}
+  \def\SUF@SUBSEC@font{\itshape}
 \or
-  \def\SUF@SUBSEC@StyleSwitch{\expandafter\SUF@titlesmallcaps}
+  \def\SUF@SUBSEC@font{\expandafter\SUF@titlesmallcaps}
 \fi}
 \define@choicekey{}{subsubsecfont}[\suftesi@val\suftesi@nr]
     {roman,italic,smallcaps}[roman]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@SUBSUBSEC@StyleSwitch{\relax}
+  \def\SUF@SUBSUBSEC@font{\relax}
 \or
-  \def\SUF@SUBSUBSEC@StyleSwitch{\itshape}
+  \def\SUF@SUBSUBSEC@font{\itshape}
 \or
-  \def\SUF@SUBSUBSEC@StyleSwitch{\expandafter\SUF@titlesmallcaps}
+  \def\SUF@SUBSUBSEC@font{\expandafter\SUF@titlesmallcaps}
 \fi}
 \define@choicekey{}{parfont}[\suftesi@val\suftesi@nr]
     {roman,italic,smallcaps}[roman]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@PAR@StyleSwitch{\relax}
+  \def\SUF@PAR@font{\relax}
 \or
-  \def\SUF@PAR@StyleSwitch{\itshape}
+  \def\SUF@PAR@font{\itshape}
 \or
-  \def\SUF@PAR@StyleSwitch{\expandafter\SUF@titlesmallcaps}
+  \def\SUF@PAR@font{\expandafter\SUF@titlesmallcaps}
 \fi}
 \define@choicekey{}{subparfont}[\suftesi@val\suftesi@nr]
     {roman,italic,smallcaps}[roman]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@SUBPAR@StyleSwitch{\relax}
-\or
-  \def\SUF@SUBPAR@StyleSwitch{\itshape}
+  \def\SUF@SUBPAR@font{\relax}
 \or
-  \def\SUF@SUBPAR@StyleSwitch{\expandafter\SUF@titlesmallcaps}
-\fi}
-%    \end{macrocode}
-% \paragraph{Small capitals style}
-%    \begin{macrocode}
-\define@choicekey{}{smallcapsstyle}[\suftesi@val\suftesi@nr]
-    {low,upper}[low]{%
-\ifcase\suftesi@nr\relax
-  \def\suftesi@MakeTextLowercase{\MakeLowercase}
-  \def\suftesi@MakeTextTOCLowercase{\lowercase}
+  \def\SUF@SUBPAR@font{\itshape}
 \or
-  \def\suftesi@MakeTextLowercase{\relax}
-  \def\suftesi@MakeTextTOCLowercase{\relax}
+  \def\SUF@SUBPAR@font{\expandafter\SUF@titlesmallcaps}
 \fi}
 %    \end{macrocode}
 % \subsubsection{Sections number}
@@ -2923,32 +2894,32 @@ cochineal,mathpazo,bera,amsthm}
   \def\SUF@thechapter{\arabic{chapter}}
   \def\SUF@HEAD@thechapter{\arabic{chapter}}
   \def\SUF@dotchap{}
-  \def\SUF@CHAP@thecontentslabel{\thecontentslabel}
+  \def\SUF@CHAP@contentslabel{\thecontentslabel}
 \or
   \def\SUF@thechapter{\textsc{\roman{chapter}}}
   \def\SUF@HEAD@thechapter{\textsc{\roman{chapter}}}
   \def\SUF@dotchap{}
-  \def\SUF@CHAP@thecontentslabel{\textsc{\@roman{\thecontentslabel}}}
+  \def\SUF@CHAP@contentslabel{\textsc{\@roman{\thecontentslabel}}}
 \or
   \def\SUF@thechapter{\Roman{chapter}}
   \def\SUF@HEAD@thechapter{\Roman{chapter}}
   \def\SUF@dotchap{}
-  \def\SUF@CHAP@thecontentslabel{\@Roman{\thecontentslabel}}
+  \def\SUF@CHAP@contentslabel{\@Roman{\thecontentslabel}}
 \or
   \def\SUF@thechapter{\arabic{chapter}}
   \def\SUF@HEAD@thechapter{\arabic{chapter}}
   \def\SUF@dotchap{.}
-  \def\SUF@CHAP@thecontentslabel{\thecontentslabel}
+  \def\SUF@CHAP@contentslabel{\thecontentslabel}
 \or
   \def\SUF@thechapter{\textsc{\roman{chapter}}}
   \def\SUF@HEAD@thechapter{\textsc{\roman{chapter}}}
   \def\SUF@dotchap{.}
-  \def\SUF@CHAP@thecontentslabel{\textsc{\@roman{\thecontentslabel}}}
+  \def\SUF@CHAP@contentslabel{\textsc{\@roman{\thecontentslabel}}}
 \or
   \def\SUF@thechapter{\Roman{chapter}}
   \def\SUF@HEAD@thechapter{\Roman{chapter}}
   \def\SUF@dotchap{.}
-  \def\SUF@CHAP@thecontentslabel{\@Roman{\thecontentslabel}}
+  \def\SUF@CHAP@contentslabel{\@Roman{\thecontentslabel}}
 \fi}
 %    \end{macrocode}
 % \paragraph{Section number style}
@@ -2959,32 +2930,32 @@ cochineal,mathpazo,bera,amsthm}
   \def\SUF@thesection{\SUF@chapswitch\arabic{section}}
   \def\SUF@HEAD@thesection{\arabic{section}}
   \def\SUF@dotsec{}
-  \def\SUF@SEC@thecontentslabel{\thecontentslabel}
+  \def\SUF@SEC@contentslabel{\thecontentslabel}
 \or
   \def\SUF@thesection{\textsc{\SUF@chapswitch\roman{section}}}
   \def\SUF@HEAD@thesection{\textsc{\roman{section}}}
   \def\SUF@dotsec{}
-  \def\SUF@SEC@thecontentslabel{\textsc{\@roman{\thecontentslabel}}}
+  \def\SUF@SEC@contentslabel{\textsc{\@roman{\thecontentslabel}}}
 \or
   \def\SUF@thesection{\SUF@chapswitch\Roman{section}}
   \def\SUF@HEAD@thesection{\Roman{section}}
   \def\SUF@dotsec{}
-  \def\SUF@SEC@thecontentslabel{\@Roman{\thecontentslabel}}
+  \def\SUF@SEC@contentslabel{\@Roman{\thecontentslabel}}
 \or
   \def\SUF@thesection{\SUF@chapswitch\arabic{section}}
   \def\SUF@HEAD@thesection{\arabic{section}}
   \def\SUF@dotsec{.}
-  \def\SUF@SEC@thecontentslabel{\thecontentslabel}
+  \def\SUF@SEC@contentslabel{\thecontentslabel}
 \or
   \def\SUF@thesection{\SUF@chapswitch\textsc{\roman{section}}}
   \def\SUF@HEAD@thesection{\textsc{\roman{section}}}
   \def\SUF@dotsec{.}
-  \def\SUF@SEC@thecontentslabel{\textsc{\@roman{\thecontentslabel}}}
+  \def\SUF@SEC@contentslabel{\textsc{\@roman{\thecontentslabel}}}
 \or
   \def\SUF@thesection{\SUF@chapswitch\Roman{section}}
   \def\SUF@HEAD@thesection{\Roman{section}}
   \def\SUF@dotsec{.}
-  \def\SUF@SEC@thecontentslabel{\@Roman{\thecontentslabel}}
+  \def\SUF@SEC@contentslabel{\@Roman{\thecontentslabel}}
 \fi}
 %    \end{macrocode}
 % \paragraph{Subsection number style}
@@ -2994,27 +2965,27 @@ cochineal,mathpazo,bera,amsthm}
 \ifcase\suftesi@nr\relax
   \def\SUF@thesubsection{\SUF@thesection.\arabic{subsection}}
   \def\SUF@dotsubsec{}
-  \def\SUF@SUBSEC@thecontentslabel{\thecontentslabel}
+  \def\SUF@SUBSEC@contentslabel{\thecontentslabel}
 \or
   \def\SUF@thesubsection{\SUF@thesection.\textsc{\roman{subsection}}}
   \def\SUF@dotsubsec{}
-  \def\SUF@SUBSEC@thecontentslabel{\textsc{\@roman{\thecontentslabel}}}
+  \def\SUF@SUBSEC@contentslabel{\textsc{\@roman{\thecontentslabel}}}
 \or
   \def\SUF@thesubsection{\SUF@thesection.\Roman{subsection}}
   \def\SUF@dotsubsec{}
-  \def\SUF@SUBSEC@thecontentslabel{\@Roman{\thecontentslabel}}
+  \def\SUF@SUBSEC@contentslabel{\@Roman{\thecontentslabel}}
 \or
   \def\SUF@thesubsection{\SUF@thesection.\arabic{subsection}}
   \def\SUF@dotsubsec{.}
-  \def\SUF@SUBSEC@thecontentslabel{\thecontentslabel}
+  \def\SUF@SUBSEC@contentslabel{\thecontentslabel}
 \or
   \def\SUF@thesubsection{\SUF@thesection.\textsc{\roman{subsection}}}
   \def\SUF@dotsubsec{.}
-  \def\SUF@SUBSEC@thecontentslabel{\textsc{\@roman{\thecontentslabel}}}
+  \def\SUF@SUBSEC@contentslabel{\textsc{\@roman{\thecontentslabel}}}
 \or
   \def\SUF@thesubsection{\SUF@thesection.\Roman{subsection}}
   \def\SUF@dotsubsec{.}
-  \def\SUF@SUBSEC@thecontentslabel{\@Roman{\thecontentslabel}}
+  \def\SUF@SUBSEC@contentslabel{\@Roman{\thecontentslabel}}
 \fi}
 %    \end{macrocode}
 % \paragraph{Sub-subsection number style}
@@ -3024,27 +2995,27 @@ cochineal,mathpazo,bera,amsthm}
 \ifcase\suftesi@nr\relax
   \def\SUF@thesubsubsection{\SUF@thesubsection.\arabic{subsubsection}}
   \def\SUF@dotsubsubsec{}
-  \def\SUF@SUBSUBSEC@thecontentslabel{\thecontentslabel}
+  \def\SUF@SUBSUBSEC@contentslabel{\thecontentslabel}
 \or
   \def\SUF@thesubsubsection{\SUF@thesubsection.\textsc{\roman{subsubsection}}}
   \def\SUF@dotsubsubsec{}
-  \def\SUF@SUBSUBSEC@thecontentslabel{\textsc{\@roman{\thecontentslabel}}}
+  \def\SUF@SUBSUBSEC@contentslabel{\textsc{\@roman{\thecontentslabel}}}
 \or
   \def\SUF@thesubsubsection{\SUF@thesubsection.\Roman{subsubsection}}
   \def\SUF@dotsubsubsec{}
-  \def\SUF@SUBSUBSEC@thecontentslabel{\@Roman{\thecontentslabel}}
+  \def\SUF@SUBSUBSEC@contentslabel{\@Roman{\thecontentslabel}}
 \or
   \def\SUF@thesubsubsection{\SUF@thesubsection.\arabic{subsubsection}}
   \def\SUF@dotsubsubsec{.}
-  \def\SUF@SUBSUBSEC@thecontentslabel{\thecontentslabel}
+  \def\SUF@SUBSUBSEC@contentslabel{\thecontentslabel}
 \or
   \def\SUF@thesubsubsection{\SUF@thesubsection.\textsc{\roman{subsubsection}}}
   \def\SUF@dotsubsubsec{.}
-  \def\SUF@SUBSUBSEC@thecontentslabel{\textsc{\@roman{\thecontentslabel}}}
+  \def\SUF@SUBSUBSEC@contentslabel{\textsc{\@roman{\thecontentslabel}}}
 \or
   \def\SUF@thesubsubsection{\SUF@thesubsection.\Roman{subsubsection}}
   \def\SUF@dotsubsubsec{.}
-  \def\SUF@SUBSUBSEC@thecontentslabel{\@Roman{\thecontentslabel}}
+  \def\SUF@SUBSUBSEC@contentslabel{\@Roman{\thecontentslabel}}
 \fi}
 %    \end{macrocode}
 % \subsubsection{Table of contents}
@@ -3069,41 +3040,41 @@ cochineal,mathpazo,bera,amsthm}
 \define@choicekey{}{compacttoc}[\suftesi@val\suftesi@nr]
     {sec,subsec,subsubsec,par,subpar}[sec]{%
 \ifcase\suftesi@nr\relax
-  \suftesi@toccompactsectrue
-  \suftesi@toccompactsubsectrue
-  \suftesi@toccompactsubsubsectrue
-  \suftesi@toccompactpartrue
-  \suftesi@toccompactsubpartrue
+  \suftesi@ctocsectrue
+  \suftesi@ctocsubsectrue
+  \suftesi@ctocsubsubsectrue
+  \suftesi@ctocpartrue
+  \suftesi@ctocsubpartrue
   \def\SUF@sscorrect{\hskip.5em}
   \def\SUF@ssscorrect{\hskip.5em}
   \def\SUF@pcorrect{\hskip.5em}
   \def\SUF@pcorrect{\hskip.5em}
 \or
-  \suftesi@toccompactsubsectrue
-  \suftesi@toccompactsubsubsectrue
-  \suftesi@toccompactpartrue
-  \suftesi@toccompactsubpartrue
+  \suftesi@ctocsubsectrue
+  \suftesi@ctocsubsubsectrue
+  \suftesi@ctocpartrue
+  \suftesi@ctocsubpartrue
   \def\SUF@sscorrect{\relax}
   \def\SUF@ssscorrect{\hskip.5em}
   \def\SUF@pcorrect{\hskip.5em}
   \def\SUF@pcorrect{\hskip.5em}
 \or
-  \suftesi@toccompactsubsubsectrue
-  \suftesi@toccompactpartrue
-  \suftesi@toccompactsubpartrue
+  \suftesi@ctocsubsubsectrue
+  \suftesi@ctocpartrue
+  \suftesi@ctocsubpartrue
   \def\SUF@sscorrect{\relax}
   \def\SUF@ssscorrect{\relax}
   \def\SUF@pcorrect{\hskip.5em}
   \def\SUF@pcorrect{\hskip.5em}
 \or
-  \suftesi@toccompactpartrue
-  \suftesi@toccompactsubpartrue
+  \suftesi@ctocpartrue
+  \suftesi@ctocsubpartrue
   \def\SUF@sscorrect{\relax}
   \def\SUF@ssscorrect{\relax}
   \def\SUF@pcorrect{\relax}
   \def\SUF@pcorrect{\hskip.5em}
 \or
-  \suftesi@toccompactsubpartrue
+  \suftesi@ctocsubpartrue
   \def\SUF@sscorrect{\relax}
   \def\SUF@ssscorrect{\relax}
   \def\SUF@pcorrect{\relax}
@@ -3138,13 +3109,7 @@ cochineal,mathpazo,bera,amsthm}
   \suftesi@twocolumnlottrue
   \setkeys{}{tocstyle=ragged}
 \fi}
-\define@choicekey{}{partialtoc}[\suftesi@val\suftesi@nr]
-{true,false}[true]{%
- \ifcase\suftesi@nr\relax
-   \suftesi@partialtoctrue
- \or
-   \suftesi@partialtocfalse
- \fi}
+\define@boolkey[SUF]{}{partialtoc}[true]{}
 %    \end{macrocode}
 % \paragraph{Table of contents font}
 %    \begin{macrocode}
@@ -3250,9 +3215,9 @@ cochineal,mathpazo,bera,amsthm}
   \def\SUF@Lheadstyle{\itshape}
   \def\SUF@thepage{\thepage}
 \or
-  \def\SUF@Rheadstyle{\SUF@headingsmallcaps}
-  \def\SUF@Lheadstyle{\SUF@headingsmallcaps}
-  \def\SUF@thepage{\SUF@headingsmallcaps{\thepage}}
+  \def\SUF@Rheadstyle{\SUF@headersmallcaps}
+  \def\SUF@Lheadstyle{\SUF@headersmallcaps}
+  \def\SUF@thepage{\SUF@headersmallcaps{\thepage}}
 \fi}
 %    \end{macrocode}
 % \subsubsection{Text elements}
@@ -3319,13 +3284,7 @@ cochineal,mathpazo,bera,amsthm}
   \renewcommand\@makefntext{%
     \textsuperscript{\@thefnmark}\hskip.3em}
 \fi}
-\define@choicekey{}{fewfootnotes}[\suftesi@val\suftesi@nr]
-    {true,false}[true]{%
-\ifcase\suftesi@nr\relax
-  \suftesi@fewfootnotestrue
-\or
-  \relax
-\fi}
+\define@boolkey[SUF]{}{fewfootnotes}[true]{}
 %    \end{macrocode}
 % \paragraph{Captions}
 %    \begin{macrocode}
@@ -3342,71 +3301,6 @@ cochineal,mathpazo,bera,amsthm}
   \captionsetup{labelfont=sc}
 \fi}
 %    \end{macrocode}
-% \paragraph{Marginal notes}
-%    \begin{macrocode}
-\define@choicekey{}{marginpar}[\suftesi@val\suftesi@nr]
-    {true,false}[true]{%
-\ifcase\suftesi@nr\relax
-\or   
-  \renewcommand\marginpar[2][]{}
-\fi}
-%    \end{macrocode}
-% \subsubsection{Other options}
-% \paragraph{Part page}
-%    \begin{macrocode}
-\define@choicekey{}{partpage}[\suftesi@val\suftesi@nr]
-    {true,false}[true]{%
-\ifcase\suftesi@nr\relax
-  \suftesi@partpagetrue
-\or
-  \relax
-\fi}
-%    \end{macrocode}
-% \paragraph{Draftdate}
-%    \begin{macrocode}
-\define@choicekey{}{draftdate}[\suftesi@val\suftesi@nr]
-    {true,false}[true]{%
-\ifcase\suftesi@nr\relax
-  \suftesi@draftdatetrue
-\or
-  \relax
-\fi}
-%    \end{macrocode}
-% \paragraph{View mode}
-%    \begin{macrocode}
-\define@choicekey{}{version}[\suftesi@val\suftesi@nr]
-    {screen,cscreen,draft,final}[draft]{%
-\ifcase\suftesi@nr\relax
-  \suftesi@screentrue
-\or
-  \suftesi@screentrue
-  \suftesi@screencenteredtrue
-\or
-  \relax
-\or
-  \AtBeginDocument{\crop[off]}
-\fi}
-\define@choicekey{}{crop}[\suftesi@val\suftesi@nr]
-    {true,false}[true]{%
-  \ClassWarningNoLine{suftesi}{%
-    'crop' option is deprecated.\MessageBreak
-    Use 'version' option instead}
-\ifcase\suftesi@nr\relax
-  \setkeys{}{version=draft}
-\or
-  \setkeys{}{version=screen}
-\fi}
-%    \end{macrocode}
-% \paragraph{Titlepage}
-%    \begin{macrocode}
-\define@choicekey{}{titlepage}[\suftesi@val\suftesi@nr]
-    {true,false}[true]{%
-\ifcase\suftesi@nr\relax
-  \@titlepagetrue
-\or
-  \@titlepagefalse
-\fi}
-%    \end{macrocode}
 % \paragraph{Pre-defined styles}
 %    \begin{macrocode}
 \define@choicekey{}{style}[\suftesi@val\suftesi@nr]
@@ -3591,7 +3485,7 @@ cochineal,mathpazo,bera,amsthm}
   \setkeys{}{
   chapstyle=parright,
   chapfont=smallcaps,
-  tocchapfont=smallcaps,file:///tmp/mozilla_ivan0/luatex85.pdf
+  tocchapfont=smallcaps,
   secfont=smallcaps,
   headerfont=smallcaps}
 \or
@@ -3658,75 +3552,50 @@ cochineal,mathpazo,bera,amsthm}
 \define@choicekey{}{authortitlealign}[\suftesi@val\suftesi@nr]
     {left,center,right}[left]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@lr@coll@titleSwitch{\filright}
+  \def\SUF@authortitle@align{\filright}
 \or
-  \def\SUF@lr@coll@titleSwitch{\filcenter}
+  \def\SUF@authortitle@align{\filcenter}
 \or
-  \def\SUF@lr@coll@titleSwitch{\filleft}
-\fi}
-\define@choicekey{}{papertitlestyle}[\suftesi@val\suftesi@nr]
-    {left,center,right}[left]{%
-\ClassWarningNoLine{suftesi}{%
-  'papertitlestyle' option is deprecated.\MessageBreak
-  Use 'authortitlealign' option instead}
-\ifcase\suftesi@nr\relax
-  \def\SUF@lr@coll@titleSwitch{\filright}
-\or
-  \def\SUF@lr@coll@titleSwitch{\filcenter}
-\or
-  \def\SUF@lr@coll@titleSwitch{\filleft}
+  \def\SUF@authortitle@align{\filleft}
 \fi}
 \define@choicekey{}{reverseauthortitle}[\suftesi@val\suftesi@nr]
-    {true,false}[false]{%
-\ifcase\suftesi@nr\relax
-  \def\SUF@first{\SUF@Afont@style\SUF@Afont@shape\@author}
-  \def\SUF@second{\SUF@Tfont@style\SUF@Tfont@shape\@title}
-\or
-  \def\SUF@first{\SUF@Tfont@style\SUF@Tfont@shape\@title}
-  \def\SUF@second{\SUF@Afont@style\SUF@Afont@shape\@author}
-  \relax
-\fi}
-\define@choicekey{}{revauthortitle}[\suftesi@val\suftesi@nr]
-    {true,false}[false]{%
-\ClassWarningNoLine{suftesi}{%
-  'revauthortitle' option is deprecated.\MessageBreak
-  Use 'reverseauthortitle' option instead}
+    {true,false}[true]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@first{\SUF@Afont@style\SUF@Afont@shape\@author}
-  \def\SUF@second{\SUF@Tfont@style\SUF@Tfont@shape\@title}
+  \def\SUF@first{\SUF@authorstyle\SUF@authorfont\@author}
+  \def\SUF@second{\SUF@titlestyle\SUF@titlefont\@title}
 \or
-  \def\SUF@first{\SUF@Tfont@style\SUF@Tfont@shape\@title}
-  \def\SUF@second{\SUF@Afont@style\SUF@Afont@shape\@author}
+  \def\SUF@first{\SUF@titlestyle\SUF@titlefont\@title}
+  \def\SUF@second{\SUF@authorstyle\SUF@authorfont\@author}
   \relax
 \fi}
 \define@choicekey{}{maketitlestyle}[\suftesi@val\suftesi@nr]
     {suftesi,standard}[suftesi]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@Tfont@style{\SUF@chaptersize\color{sufred}\sffamily}
-  \def\SUF@Afont@style{\small}
+  \def\SUF@titlestyle{\SUF@chaptersize\color{sufred}\sffamily}
+  \def\SUF@authorstyle{\small}
   \def\SUF@datefont{\small}
 \or
-  \def\SUF@Tfont@style{\LARGE}
-  \def\SUF@Afont@style{\large}
+  \def\SUF@titlestyle{\LARGE}
+  \def\SUF@authorstyle{\large}
   \def\SUF@datefont{\small}
 \fi}
 \define@choicekey{}{titlefont}[\suftesi@val\suftesi@nr]
     {roman,italic,smallcaps}[suftesi]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@Tfont@shape{\relax}
+  \def\SUF@titlefont{\relax}
 \or
-  \def\SUF@Tfont@shape{\itshape}
+  \def\SUF@titlefont{\itshape}
 \or
-  \def\SUF@Tfont@shape{\expandafter\SUF@titlesmallcaps}
+  \def\SUF@titlefont{\expandafter\SUF@titlesmallcaps}
 \fi}
 \define@choicekey{}{authorfont}[\suftesi@val\suftesi@nr]
     {roman,italic,smallcaps}[suftesi]{%
 \ifcase\suftesi@nr\relax
-  \def\SUF@Afont@shape{\relax}
+  \def\SUF@authorfont{\relax}
 \or
-  \def\SUF@Afont@shape{\itshape}
+  \def\SUF@authorfont{\itshape}
 \or
-  \def\SUF@Afont@shape{\expandafter\SUF@titlesmallcaps}
+  \def\SUF@authorfont{\expandafter\SUF@titlesmallcaps}
 \fi}
 \define@choicekey{}{datefont}[\suftesi@val\suftesi@nr]
     {roman,italic,smallcaps}[roman]{%
@@ -3756,8 +3625,59 @@ cochineal,mathpazo,bera,amsthm}
   \def\SUF@tocAUT@font{\expandafter\SUF@TOCtitlesmallcaps}
 \fi}
 %    \end{macrocode}
-% \subsubsection{Execute options}
+% \subsubsection{Deprecated options}
+%    \begin{macrocode}
+\define@choicekey{}{documentstructure}[\suftesi@val\suftesi@nr]
+    {book,article,collection}[book]{%
+\ClassWarningNoLine{suftesi}{%
+  'documentstructure' option is deprecated.\MessageBreak
+  Use 'structure' option instead}
+\ifcase\suftesi@nr\relax
+  \setkeys{}{structure=book}
+\or
+  \setkeys{}{structure=article}
+\or
+  \setkeys{}{structure=collection}
+\fi}
+\define@choicekey{}{crop}[\suftesi@val\suftesi@nr]
+    {true,false}[true]{%
+  \ClassWarningNoLine{suftesi}{%
+    'crop' option is deprecated.\MessageBreak
+    Use 'version' option instead}
+\ifcase\suftesi@nr\relax
+  \setkeys{}{version=draft}
+\or
+  \setkeys{}{version=screen}
+\fi}
+\define@choicekey{}{papertitlestyle}[\suftesi@val\suftesi@nr]
+    {left,center,right}[left]{%
+\ClassWarningNoLine{suftesi}{%
+  'papertitlestyle' option is deprecated.\MessageBreak
+  Use 'authortitlealign' option instead}
+\ifcase\suftesi@nr\relax
+  \def\SUF@authortitle@align{\filright}
+\or
+  \def\SUF@authortitle@align{\filcenter}
+\or
+  \def\SUF@authortitle@align{\filleft}
+\fi}
+\define@choicekey{}{revauthortitle}[\suftesi@val\suftesi@nr]
+    {true,false}[true]{%
+\ClassWarningNoLine{suftesi}{%
+  'revauthortitle' option is deprecated.\MessageBreak
+  Use 'reverseauthortitle' option instead}
+\ifcase\suftesi@nr\relax
+  \def\SUF@first{\SUF@authorstyle\SUF@authorfont\@author}
+  \def\SUF@second{\SUF@titlestyle\SUF@titlefont\@title}
+\or
+  \def\SUF@first{\SUF@titlestyle\SUF@titlefont\@title}
+  \def\SUF@second{\SUF@authorstyle\SUF@authorfont\@author}
+  \relax
+\fi}
+%    \end{macrocode}
+% \subsubsection{Options processing}
 %    \begin{macrocode}
+\ProcessOptionsX[SUF]<>\relax
 \ExecuteOptionsX<>{
   structure=book,
   pagelayout=standard,
@@ -3772,7 +3692,6 @@ cochineal,mathpazo,bera,amsthm}
   quotesize=footnotesize,
   quotestyle=center,
   captionstyle=standard,
-  marginpar=true,
   tocstyle=standard,
   partstyle=left,
   chapstyle=left,
@@ -3806,40 +3725,41 @@ cochineal,mathpazo,bera,amsthm}
   tocauthorfont=roman,
   reverseauthortitle=false,
   authortitlealign=left}
-\ProcessOptionsX<>\relax
-%    \end{macrocode}
-% The use of the \cmd{XKV@useoption} command, provided by 
-% the \sty{xkeyval}, is a trick to delete the option given as 
-% its argument from the list stored in \cmd{@unusedoptionlist} 
-% so that the option will not produce the ``Unused global options''
-% message:
-%    \begin{macrocode}
-\XKV@useoption{a4paper}
-\XKV@useoption{10pt}      
-\XKV@useoption{11pt}      
-\XKV@useoption{12pt}
-\XKV@useoption{oneside}   
-\XKV@useoption{twoside}
-\XKV@useoption{onecolumn} 
-\XKV@useoption{twocolumn}
-\XKV@useoption{titlepage} 
-\XKV@useoption{notitlepage}
-\XKV@useoption{openright}
-\XKV@useoption{openany}
-\XKV@useoption{leqno}     
-\XKV@useoption{fleqn}
-\XKV@useoption{a5paper}   
-\XKV@useoption{b5paper}
-\XKV@useoption{legalpaper}
-\XKV@useoption{executivepaper}
-\XKV@useoption{landscape}
 %    \end{macrocode}
 % A trick to delete the class options from \cmd{XKV@classoptionslist},
 % in order to avoid incompatibility with packages using options 
-% defined by \sty{suftesi} too. Thanks to Enrico Gregorio!
+% defined by \sty{suftesi} too. Thanks to Enrico Gregorio! (In previous versions
+% this command was placed after the option processing. Move it back if needed.)
 %    \begin{macrocode}
 \def\XKV@classoptionslist{}
+\ProcessOptionsX<>\relax
 %    \end{macrocode}
+% ^^A The use of the \cmd{XKV@useoption} command, provided by 
+% ^^A the \sty{xkeyval}, is a trick to delete the option given as 
+% ^^A its argument from the list stored in \cmd{@unusedoptionlist} 
+% ^^A so that the option will not produce the ``Unused global options''
+% ^^A message:
+% ^^A    \begin{macrocode}
+% ^^A\XKV@useoption{a4paper}
+% ^^A\XKV@useoption{10pt}      
+% ^^A\XKV@useoption{11pt}      
+% ^^A\XKV@useoption{12pt}
+% ^^A\XKV@useoption{oneside}   
+% ^^A\XKV@useoption{twoside}
+% ^^A\XKV@useoption{onecolumn} 
+% ^^A\XKV@useoption{twocolumn}
+% ^^A\XKV@useoption{titlepage} 
+% ^^A\XKV@useoption{notitlepage}
+% ^^A\XKV@useoption{openright}
+% ^^A\XKV@useoption{openany}
+% ^^A\XKV@useoption{leqno}     
+% ^^A\XKV@useoption{fleqn}
+% ^^A\XKV@useoption{a5paper}   
+% ^^A\XKV@useoption{b5paper}
+% ^^A\XKV@useoption{legalpaper}
+% ^^A\XKV@useoption{executivepaper}
+% ^^A\XKV@useoption{landscape}
+% ^^A    \end{macrocode}
 % \subsection{Basic packages}
 %    \begin{macrocode}
 \RequirePackage{multicol}
@@ -3851,14 +3771,12 @@ cochineal,mathpazo,bera,amsthm}
 \RequirePackage{iftex}
 \ifLuaTeX  
   \RequirePackage{luatex85}
- \else
 \fi
 %    \end{macrocode}
 % The FSPL style requires a verbose colophon which uses specific icons:
 %    \begin{macrocode}
 \ifsuftesi@FSPL
   \RequirePackage{cclicenses}
- \else
 \fi
 %    \end{macrocode}
 % If \opt{version=screen} or \opt{version=cscreen} the \sty{crop} package is not loaded. This can create problems if the \cmd{crop} command has been used in the document, for example to remove the crop marks from a certain page onwards (with \cmd{crop}|[off]|). For this reason, the \cmd{crop} command is defined (in practice it is rendered ineffective) so as not to produce errors if it had been used within the document.
@@ -3911,7 +3829,7 @@ cochineal,mathpazo,bera,amsthm}
     \suftesi@greekfontfalse  
       \else\suftesi@greekfontfalse\fi     
 \else
-\ifsuftesi@standard
+\ifsuftesi@lmodern
   \RequirePackage{lmodern}
     \ifsuftesi@greekfont
      \ClassWarningNoLine{suftesi}{%
@@ -3925,7 +3843,7 @@ cochineal,mathpazo,bera,amsthm}
 % Now this combination is provided only 
 % for backward compatibility.
 %    \begin{macrocode}
-  \ifsuftesi@compatibility
+  \ifsuftesi@mathpazo
     \RequirePackage[osf,sc]{mathpazo}
     \RequirePackage[scaled=0.8]{beramono}
     \renewcommand{\sfdefault}{iwona}
@@ -4151,88 +4069,86 @@ cochineal,mathpazo,bera,amsthm}
   \setlength{\sectionsep}{\dimexpr(\baselineskip) plus 1pt minus 1pt}
 \unless\ifPDFTeX
   \DeclareRobustCommand{\SUF@TOCtitlesmallcaps}[1]{%
-    \addfontfeature{LetterSpace=10}\scshape\suftesi@MakeTextTOCLowercase{#1}}
+    \addfontfeature{LetterSpace=10}\scshape\SUF@TOCMakeLowercase{#1}}
   \DeclareRobustCommand{\SUF@titlesmallcaps}[1]{%
-    \addfontfeature{LetterSpace=10}\scshape\suftesi@MakeTextLowercase{#1}}
-  \DeclareRobustCommand{\SUF@headingsmallcaps}[1]{%
-    \addfontfeature{LetterSpace=10}\scshape\suftesi@MakeTextLowercase{#1}}
+    \addfontfeature{LetterSpace=10}\scshape\SUF@MakeLowercase{#1}}
+  \DeclareRobustCommand{\SUF@headersmallcaps}[1]{%
+    \addfontfeature{LetterSpace=10}\scshape\SUF@MakeLowercase{#1}}
 \else
   \DeclareRobustCommand{\SUF@TOCtitlesmallcaps}[1]{%
-    \scshape\suftesi@MakeTextTOCLowercase{\textls*{#1}}}%
+    \scshape\SUF@TOCMakeLowercase{\textls*{#1}}}%
   \DeclareRobustCommand{\SUF@titlesmallcaps}[1]{%
-    \scshape\suftesi@MakeTextLowercase{\textls*{#1}}}%
-  \DeclareRobustCommand{\SUF@headingsmallcaps}[1]{%
-    \scshape\suftesi@MakeTextLowercase{\textls*{#1}}}%
+    \scshape\SUF@MakeLowercase{\textls*{#1}}}%
+  \DeclareRobustCommand{\SUF@headersmallcaps}[1]{%
+    \scshape\SUF@MakeLowercase{\textls*{#1}}}%
 \fi
 %    \end{macrocode}
 % \subsubsection{Default styles}
 %    \begin{macrocode}
-\newlength\SUF@ADJnumparchap
+\newlength\SUF@chapbeforesep
 \def\SUF@default@CHAPTER{
 \ifsuftesi@numparchap
   \titleformat{\chapter}[display]
-    {\startpartialtoc\SUF@chaptersize\SUF@lr@CHAPSwitch}
+    {\startchappartialtoc\SUF@chaptersize\SUF@CHAP@align}
     {\SUF@thechapter\SUF@dotchap}
     {2ex}
-    {\SUF@CHAP@StyleSwitch}
-    [\printpartialtoc]
+    {\SUF@CHAP@font}
   \else
   \titleformat{\chapter}[hang]
-    {\startpartialtoc\SUF@chaptersize\SUF@lr@CHAPSwitch}
+    {\startchappartialtoc\SUF@chaptersize\SUF@CHAP@align}
     {\SUF@thechapter\SUF@dotchap}
     {3em}
-    {\SUF@CHAP@StyleSwitch}
-    [\printpartialtoc]
+    {\SUF@CHAP@font}
   \fi
 \ifsuftesi@numparchap
-  \setlength{\SUF@ADJnumparchap}{-6ex}
+  \setlength{\SUF@chapbeforesep}{-6ex}
     \else
-  \setlength{\SUF@ADJnumparchap}{0pt}
+  \setlength{\SUF@chapbeforesep}{0pt}
 \fi}
 \def\SUF@default@SECTIONS{
 \ifsuftesi@numparsec
   \titleformat{\section}[display]
-    {\SUF@sectionsize\SUF@lr@SECSwitch}
+    {\startsecpartialtoc\SUF@sectionsize\SUF@SEC@align}
     {\SUF@thesection\SUF@dotsec}
     {0ex}
-    {\SUF@SEC@StyleSwitch}
+    {\SUF@SEC@font}
   \titlespacing*{\section}{0em}{\sectionsep}{\sectionsep}[0em]   
 \else
   \titleformat{\section}[hang]
-    {\SUF@sectionsize\SUF@lr@SECSwitch}
+    {\startsecpartialtoc\SUF@sectionsize\SUF@SEC@align}
     {\SUF@thesection\SUF@dotsec}
     {1em}
-    {\SUF@SEC@StyleSwitch}
+    {\SUF@SEC@font}
   \titlespacing*{\section}{0ex}{\sectionsep}{\sectionsep}[0ex]    
 \fi
 \ifsuftesi@numparsubsec
   \titleformat{\subsection}[display]
-    {\SUF@subsectionsize\SUF@lr@SUBSECSwitch}
+    {\SUF@subsectionsize\SUF@SUBSEC@align}
     {\textnormal\SUF@thesubsection\SUF@dotsubsec}
     {0ex}
-    {\SUF@SUBSEC@StyleSwitch}
+    {\SUF@SUBSEC@font}
   \titlespacing*{\subsection}{0em}{\sectionsep}{\sectionsep}[0em]
 \else
   \titleformat{\subsection}[hang]
-    {\SUF@subsectionsize\SUF@lr@SUBSECSwitch}
+    {\SUF@subsectionsize\SUF@SUBSEC@align}
     {\textnormal\SUF@thesubsection\SUF@dotsubsec}
     {1em}
-    {\SUF@SUBSEC@StyleSwitch}
+    {\SUF@SUBSEC@font}
   \titlespacing*{\subsection}{\parindent}{\sectionsep}{\sectionsep}[0ex]
 \fi
 \ifsuftesi@numparsubsubsec
   \titleformat{\subsubsection}[display]
-    {\SUF@subsectionsize\SUF@lr@SUBSUBSECSwitch}
+    {\SUF@subsectionsize\SUF@SUBSUBSEC@align}
     {\textnormal\SUF@thesubsubsection\SUF@dotsubsubsec}
     {0ex}
-    {\SUF@SUBSUBSEC@StyleSwitch}
+    {\SUF@SUBSUBSEC@font}
   \titlespacing*{\subsubsection}{0em}{\sectionsep}{\sectionsep}[0em]  
 \else
   \titleformat{\subsubsection}[hang]
-    {\SUF@subsectionsize\SUF@lr@SUBSUBSECSwitch}
+    {\SUF@subsectionsize\SUF@SUBSUBSEC@align}
     {\textnormal\SUF@thesubsubsection\SUF@dotsubsubsec}
     {1em}
-    {\SUF@SUBSUBSEC@StyleSwitch}
+    {\SUF@SUBSUBSEC@font}
   \titlespacing*{\subsubsection}{\parindent}{\sectionsep}{\sectionsep}[0ex]  
   \fi}
 \SUF@default@CHAPTER
@@ -4241,43 +4157,43 @@ cochineal,mathpazo,bera,amsthm}
 % \subsubsection{Sections spacing}
 %    \begin{macrocode}
 \ifsuftesi@periodical
-  \titlespacing*{\chapter}{0em}{\SUF@ADJnumparchap}{18ex}
+  \titlespacing*{\chapter}{0em}{\SUF@chapbeforesep}{18ex}
   \titlespacing*{name=\chapter,numberless}{0em}{0pt}{18ex}
 \else
 \ifsuftesi@periodicalaureo
-  \titlespacing*{\chapter}{0em}{\SUF@ADJnumparchap}{18ex}
+  \titlespacing*{\chapter}{0em}{\SUF@chapbeforesep}{18ex}
   \titlespacing*{name=\chapter,numberless}{0em}{0pt}{18ex}
 \else
 \ifsuftesi@compact
-  \titlespacing*{\chapter}{0em}{\SUF@ADJnumparchap}{18ex}
+  \titlespacing*{\chapter}{0em}{\SUF@chapbeforesep}{18ex}
   \titlespacing*{name=\chapter,numberless}{0em}{0pt}{18ex}
 \else
 \ifsuftesi@compactaureo
-  \titlespacing*{\chapter}{0em}{\SUF@ADJnumparchap}{18ex}
+  \titlespacing*{\chapter}{0em}{\SUF@chapbeforesep}{18ex}
   \titlespacing*{name=\chapter,numberless}{0em}{0pt}{18ex}
 \else
 \ifsuftesi@supercompact
-  \titlespacing*{\chapter}{0em}{\SUF@ADJnumparchap}{18ex}
+  \titlespacing*{\chapter}{0em}{\SUF@chapbeforesep}{18ex}
   \titlespacing*{name=\chapter,numberless}{0em}{0pt}{18ex}
 \else
 \ifsuftesi@supercompactaureo
-  \titlespacing*{\chapter}{0em}{\SUF@ADJnumparchap}{18ex}
+  \titlespacing*{\chapter}{0em}{\SUF@chapbeforesep}{18ex}
   \titlespacing*{name=\chapter,numberless}{0em}{0pt}{18ex}
 \else
 \ifsuftesi@pocketa
-  \titlespacing*{\chapter}{0em}{\SUF@ADJnumparchap}{18ex}
+  \titlespacing*{\chapter}{0em}{\SUF@chapbeforesep}{18ex}
   \titlespacing*{name=\chapter,numberless}{0em}{0pt}{18ex}
 \else
 \ifsuftesi@pocketb
-  \titlespacing*{\chapter}{0em}{\SUF@ADJnumparchap}{18ex}
+  \titlespacing*{\chapter}{0em}{\SUF@chapbeforesep}{18ex}
   \titlespacing*{name=\chapter,numberless}{0em}{0pt}{18ex}
 \else
 \ifsuftesi@pocketc
-  \titlespacing*{\chapter}{0em}{\SUF@ADJnumparchap}{18ex}
+  \titlespacing*{\chapter}{0em}{\SUF@chapbeforesep}{18ex}
   \titlespacing*{name=\chapter,numberless}{0em}{0pt}{18ex}
 \else
   \titlespacing*{\chapter}{0em}{%
-     \dimexpr(6ex+\SUF@ADJnumparchap)}{18ex}  
+     \dimexpr(6ex+\SUF@chapbeforesep)}{18ex}  
   \titlespacing*{name=\chapter,numberless}{0em}{6ex}{18ex}
         \fi
        \fi
@@ -4313,7 +4229,7 @@ cochineal,mathpazo,bera,amsthm}
 % \subsection*{The \cmd{part} command}
 %    \begin{macrocode}
 \renewcommand\part{%
-  \ifsuftesi@partpage
+  \ifSUF@partpage
   \if@openright
   \cleardoublepage
   \else
@@ -4327,7 +4243,7 @@ cochineal,mathpazo,bera,amsthm}
   \else
   \@tempswafalse
   \fi
-  \ifsuftesi@partpage
+  \ifSUF@partpage
   \null\vfil
   \fi
   \secdef\@part\@spart}
@@ -4343,7 +4259,7 @@ cochineal,mathpazo,bera,amsthm}
     \SUF@tocPART@font#1}%
   \fi
   \markboth{}{}%
-  {\SUF@lr@PARTSwitch\SUF@partsize
+  {\SUF@PART@align\SUF@partsize
     \interlinepenalty \@M
     \ifnum \c@secnumdepth >-2\relax
     \addvspace{4ex}   
@@ -4354,17 +4270,17 @@ cochineal,mathpazo,bera,amsthm}
     \else
     \hspace{1em}
     \fi
-    \noindent\SUF@PART@StyleSwitch#2\par}%
+    \noindent\SUF@PART@font#2\par}%
   \@endpart}
 \def\@spart#1{%
-  {\SUF@lr@PARTSwitch\SUF@partsize
+  {\SUF@PART@align\SUF@partsize
     \interlinepenalty \@M
     \addvspace{4ex}   
-    \noindent\SUF@PART@StyleSwitch#1\par}%
+    \noindent\SUF@PART@font#1\par}%
   \@endpart}
 \ifsuftesi@article
   \def\@endpart{%
-    \ifsuftesi@partpage
+    \ifSUF@partpage
     \vfil\newpage
     \if@twoside
     \if@openright
@@ -4397,14 +4313,14 @@ cochineal,mathpazo,bera,amsthm}
   {}
   {\theparagraph}
   {.5em}
-  {\SUF@PAR@StyleSwitch}
+  {\SUF@PAR@font}
   [{.}\hspace*{1em}]
 \titlespacing*{\paragraph}{\parindent}{.5\sectionsep}{.5\sectionsep}
 \titleformat{\subparagraph}[runin]
   {}
   {\thesubparagraph}
   {.5em}
-  {\SUF@SUBPAR@StyleSwitch}
+  {\SUF@SUBPAR@font}
   [{.}\hspace*{1em}]
 \titlespacing*{\subparagraph}{\parindent}{.5\sectionsep}{.5\sectionsep}
 %    \end{macrocode}
@@ -4475,550 +4391,151 @@ cochineal,mathpazo,bera,amsthm}
 {\relax}}
 \fi
 %    \end{macrocode}
-% \subsection{Cover page}
+% \subsubsection{Commands for sections font}
 %    \begin{macrocode}
-\newcommand{\Ctitle}[1]{\def\@Ctitle{#1}}
-\newcommand{\Csubtitle}[1]{\def\@Csubtitle{#1}}
-\newcommand{\Cauthor}[1]{\def\@Cauthor{#1}}
-\newcommand{\Ceditor}[1]{\def\@Ceditor{#1}}
-\newcommand{\Cfoot}[1]{\def\@Cfoot{#1}}
-\newcommand{\Cpagecolor}[1]{\def\@Cpagecolor{#1}}
-\newcommand{\Ccirclecolor}[1]{\def\@Ccirclecolor{#1}}
-\newcommand{\Ctextcolor}[1]{\def\@Ctextcolor{#1}}
-\newcommand{\Cfootcolor}[1]{\def\@Cfootcolor{#1}}
-\Cauthor{}
-\Ctitle{}
-\Csubtitle{}
-\Ceditor{}
-\Cfoot{}
-\Cpagecolor{gray!30}
-\Ctextcolor{white}
-\Cfootcolor{black}
-\AtBeginDocument{
-\@ifpackageloaded{tikz}{%
-\newcommand\makecover[1][]{%
-\begin{titlepage}
-\begin{tikzpicture}[overlay,remember picture]
-  \draw[draw=none,fill=\@Cpagecolor]
-    (current page.north west) rectangle (current page.south east);
-  \node[anchor=center,yshift=.22\paperwidth] at (current page.center) (c) {};
-  \draw[draw=none,fill=gray,#1]
-    (c)  circle (.38\paperwidth) ;
-  \node[anchor=center] at (c) (author) {%
-\parbox{.7\paperwidth}{%
-  \centering
-    \ifx\@Cauthor\@empty
-     \else
-       {\scshape\color{\@Ctextcolor}\@Cauthor\\}
-       \vspace*{\baselineskip}
-     \fi
-
-     \ifx\@Ctitle\@empty
-     \else
-     {\Huge\bfseries\color{\@Ctextcolor}\@Ctitle\\[1ex]}
-     \fi
-
-    \ifx\@Csubtitle\@empty
-     \else
-       {\smallskip\Large\color{\@Ctextcolor}\@Csubtitle\\}
-     \fi
-
-    \ifx\@Ceditor\@empty
-     \else
-       {\vspace*{2\baselineskip}\color{\@Ctextcolor}\@Ceditor\\}
-     \fi}
-};
-\ifx\@Cfoot\@empty\else
-  \node[xshift=.5\paperwidth,yshift=1cm,
-    align=center,text=\@Cfootcolor,anchor=south]
-  at (current page.south west) {\@Cfoot};
-\fi
-\end{tikzpicture}
-\end{titlepage}
-}
-}
-{\def\makecover{\ClassError{suftesi}{\MessageBreak%
- ***********************************\MessageBreak
- * To use the \noexpand\makecover command\MessageBreak
- * load the 'tikz' package.\MessageBreak
- ************************************}{\MessageBreak%
- ***********************************\MessageBreak
- * To use the \noexpand\makecover command\MessageBreak
- * load the 'tikz' package.\MessageBreak
- ************************************}}}
-}
+\newcommand{\partfont}[1]{\def\SUF@PART@font{#1}}
+\newcommand{\chapfont}[1]{\def\SUF@CHAP@font{#1}}
+\newcommand{\secfont}[1]{\def\SUF@SEC@font{#1}}
+\newcommand{\subsecfont}[1]{\def\SUF@SUBSEC@font{#1}}
+\newcommand{\subsubsecfont}[1]{\def\SUF@SUBSUBSEC@font{#1}}
+\newcommand{\partnumfont}[1]{\def\SUF@PART@font{#1}}\partnumfont{}
+\newcommand{\chapnumfont}[1]{\def\SUF@thechapter{#1}}
+\newcommand{\secnumfont}[1]{\def\SUF@thesection{#1}}
+\newcommand{\subsecnumfont}[1]{\def\SUF@thesubsection{#1}}
+\newcommand{\subsubsecnumfont}[1]{\def\SUF@thesubsubsection{#1}}
+\newcommand{\titlefont}[1]{\def\SUF@titlestyle{#1}\let\SUF@titlefont\relax}
+\newcommand{\authorfont}[1]{\def\SUF@authorstyle{#1}\let\SUF@authorfont\relax}
+\newcommand{\datefont}[1]{\def\SUF@datefont{#1}}
 %    \end{macrocode}
-% \subsection{Title page}
-% The new \cmd{title} command has an optional argument 
-% which can be used in the headers.
+% \subsubsection{Commands for breaking titles}
+% Two commands for manual breaks active, respectively, only in the table of contents and in the body text. The solution was initially made available by Enrico Gregorio many years ago in one of the first versions of the class (at that time the commands were called \cmd{headbreak} and \cmd{xheadbreak}). Later, while I was working on version 3.0, I noticed an alignment problem in the chapter titles when using the \opt{chapstyle=left} option. So I added the \cmd{breakinbodyleft} command and updated the command names to make them more recognizable. Old names are in any case available for backwards compatibility.
 %    \begin{macrocode}
-\def\isbn#1{\gdef\@isbn{#1}}
-\def\@issn{\@latex@warning@no@line{%
-  No \noexpand\isbn given}}
-\def\doi#1{\gdef\@doi{#1}}
-\def\@doi{\@latex@warning@no@line{%
-  No \noexpand\doi given}}
-\def\isbn#1{\gdef\@issn{#1}}
-\def\@issn{\@latex@warning@no@line{%
-  No \noexpand\isbn given}}
-\renewcommand*{\title}[2][]{\gdef\@headtitle{#1}\gdef\@title{#2}}
-\edef\title{\noexpand\@dblarg
-  \expandafter\noexpand\csname\string\title\endcsname}
-\def\@headtitle{--missing title--%
-           \protect\ClassWarningNoLine{suftesi}{%
-            No \string\title\space given \MessageBreak%
-            See the class documentation for explanation}}
-\def\@title{--missing title--%
-           \protect\ClassWarningNoLine{suftesi}{%
-            No \string\title\space given\MessageBreak%
-            See the class documentation for explanation}}
-\def\@author{--missing author--%
-           \protect\ClassWarningNoLine{suftesi}{%
-            No \string\author\space given\MessageBreak%
-            See the class documentation for explanation}}
-\if@titlepage
-  \renewcommand\maketitle{%
-  \begin{titlepage}
-    \let\footnotesize\small
-    \let\footnoterule\relax
-    \let \footnote \thanks
-    \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
-    \null\vfil
-    \vskip 60\p@
-    \begin{center}%
-      {\SUF@first\par}%
-      \vskip 3em%
-      {\lineskip .75em%
-        \begin{tabular}[t]{c}%
-          \SUF@second
-        \end{tabular}\par}%
-        \vskip 1.5em%
-      {\SUF@datefont\@date\par}%       
-    \end{center}\par
-    \@thanks
-    \vfil\null
-  \end{titlepage}%
-  \setcounter{footnote}{0}%
-  \global\let\thanks\relax
-  \global\let\maketitle\relax
-  \global\let\@thanks\@empty
-  \global\let\@date\@empty
-  \global\let\date\relax
-  \global\let\and\relax}
+\newif\ifbreakintoc\breakintocfalse
+\newif\ifbreakinbody\breakinbodytrue
+\DeclareRobustCommand{\breakintoc}
+   {\ifbreakintoc\\\else\fi}
+\DeclareRobustCommand{\breakinbody}
+  {\ifbreakinbody\\\else\fi}
+\DeclareRobustCommand{\breakinbodyleft}
+  {\ifbreakinbody\newline\else\fi}
+\let\origtableofcontents\tableofcontents
+\renewcommand{\tableofcontents}{%
+  \begingroup
+    \breakintoctrue\breakinbodyfalse%
+      \origtableofcontents
+  \endgroup}
+\DeclareRobustCommand{\headbreak}
+  {\ifbreakintoc\\\else\fi}
+\DeclareRobustCommand{\xheadbreak}
+  {\ifbreakinbody\\\else\fi}
+\DeclareRobustCommand{\yheadbreak}
+  {\ifbreakinbody\newline\else\fi}
+%    \end{macrocode}
+% \subsubsection{Abstract}
+%    \begin{macrocode}
+\ifsuftesi@collection
+  \newenvironment{abstract}{%
+      \if@twocolumn
+        \section*{\abstractname}%
+      \else
+        \small
+        \begin{center}%
+          {\abstractname\vspace{-.5em}\vspace{\z@}}%
+        \end{center}%
+        \quotation
+      \fi}
+      {\if@twocolumn\else\endquotation\fi\vspace{6ex}}
 \else
-\renewcommand\maketitle{\par
-   \begingroup
-     \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
-     \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
-     \long\def\@makefntext##1{\parindent 1em\noindent
-             \hb@xt@1.8em{%
-                 \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
-     \if@twocolumn
-       \ifnum \col@number=\@ne
-         \@maketitle
-       \else
-         \twocolumn[\@maketitle]%
-       \fi
-     \else
-       \newpage
-       \global\@topnum\z@% Prevents figures from going at top of page.
-       \@maketitle
-     \fi
-     \thispagestyle{plain}\@thanks
-   \endgroup
-   \setcounter{footnote}{0}%
-   \global\let\thanks\relax
-   \global\let\maketitle\relax
-   \global\let\@maketitle\relax
-   \global\let\@thanks\@empty
-   \global\let\@date\@empty
-   \global\let\date\relax
-   \global\let\and\relax}
-\def\@maketitle{%
-   \newpage
-   \null
-   \vskip 2em%
-   \begin{center}%
-   \let \footnote \thanks
-     {\SUF@first\par}%
-     \vskip 1.5em%
-     {\lineskip .5em%
-       \begin{tabular}[t]{c}%
-        \SUF@second\par
-       \end{tabular}\par}%
-     \vskip 1em%
-     {\SUF@datefont\@date\par}%
-   \end{center}%
-   \par
-   \vskip 1.5em}
+\ifSUF@titlepage
+  \newenvironment{abstract}{%
+      \titlepage
+      \null\vfil
+      \@beginparpenalty\@lowpenalty
+      \begin{center}%
+         \abstractname
+        \@endparpenalty\@M
+      \end{center}}%
+     {\par\vfil\null\endtitlepage}
+\else
+  \newenvironment{abstract}{%
+      \if@twocolumn
+        \section*{\abstractname}%
+      \else
+        \small
+        \begin{center}%
+          {\abstractname\vspace{-.5em}\vspace{\z@}}%
+        \end{center}%
+        \quotation
+      \fi}
+      {\if@twocolumn\else\endquotation\fi}
+  \fi
 \fi
+\newcommand\abstractname{Abstract}
 %    \end{macrocode}
-% \subsection{The \opt{collection} structure}
+% \subsubsection{Appendices}
 %    \begin{macrocode}
-\ifsuftesi@collection
-\newcounter{journalnumber}
-\newcounter{journalvolume}
-\newcounter{issue}
-\newcounter{title}
-\setcounter{title}{1}
-\newcounter{article}
-\setcounter{article}{0}
-\setcounter{journalnumber}{0}
-\setcounter{tocdepth}{0}
-\def\journalname#1{\gdef\@journalname{#1}}
-  \def\@journalname{\@latex@warning@no@line{%
-    No \noexpand\journalname given}}
-\def\journalvolume#1{\gdef\@journalvolume{#1}}
-  \def\@journalvolume{\@latex@warning@no@line{%
-    No \noexpand\journalvolume given}}
-\def\journalnumber#1{\gdef\@journalnumber{#1}}
-  \def\@journalnumber{\@latex@warning@no@line{%
-    No \noexpand\journalnumber given}}
-\def\issue#1{\gdef\@issue{#1}}
-  \def\@issue{\@latex@warning@no@line{%
-    No \noexpand\issue given}}
-\def\journalyear#1{\gdef\@journalyear{#1}}
-  \def\@journalyear{\@latex@warning@no@line{%
-    No \noexpand\journalyear given}}
-\def\journalwebsite#1{\gdef\@journalwebsite{\url{#1}}}
-  \def\@journalwebsite{\@latex@warning@no@line{%
-    No \noexpand\journalwebsite given}}
-\def\thanks#1{\footnotemark\ \protected@xdef\@thanks{%
-  \@thanks\protect\footnotetext[\the\c@footnote]{#1}}}
-\def\fulljournal{\emph{\@journalname} \@journalnumber, %
-  \@issue{} \@journalyear}
-\def\issuename#1{\gdef\@issuename{#1}}
-\def\collectiontitle#1{\gdef\@collectiontitle{#1}}
-  \def\@collectiontitle{\@latex@warning@no@line{%
-    No \noexpand\collectiontitle given}}
-\def\collectioneditor#1{\gdef\@collectioneditor{#1}}
-  \def\@collectioneditor{\@latex@warning@no@line{%
-    No \noexpand\collectioneditor given}}
-\renewcommand*{\title}[2][]{%
-  \gdef\@headtitle{#1}\gdef\@title{#2}\markright{#1}}
-    \edef\title{\noexpand\@dblarg
-  \expandafter\noexpand\csname\string\title\endcsname}
-    \def\@headtitle{--missing title--%
-        \protect\ClassWarningNoLine{suftesi}{%
-            No \string\title\space given \MessageBreak%
-            See the class documentation for explanation}}
-    \def\@title{--missing title--%
-        \protect\ClassWarningNoLine{suftesi}{%
-            No \string\title\space given\MessageBreak%
-            See the class documentation for explanation}}
-    \def\@author{--missing author--%
-        \protect\ClassWarningNoLine{suftesi}{%
-            No \string\author\space given\MessageBreak%
-            See the class documentation for explanation}}
-\newcommand*\l@title[2]{%
-  \ifnum \c@tocdepth >\m@ne
-    \addpenalty{-\@highpenalty}%
-    \vskip 1.0ex \@plus\p@
-    \begingroup
-      \parindent \z@ \rightskip \@pnumwidth
-      \parfillskip -\@pnumwidth
-      \advance\leftskip1em
-      \hskip -\leftskip
-      #1\nobreak%
-    \ifsuftesi@dottedtoc\dotfill%
-      \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
-        \else
-          \ifsuftesi@raggedtoc%
-            \nobreak\hskip1em #2 \hfill\null\par
-              \else
-                \ifsuftesi@pagelefttoc
-              \ClassError{suftesi}
-                {\MessageBreak
-                You can not use tocstyle=leftpage\MessageBreak
-                  with structure=collection}
-                {You can not use tocstyle=leftpage\MessageBreak
-                  with structure=collection}
-            \else
-          \nobreak\hfill #2\par
-        \fi
-      \fi
-    \fi
-      \penalty\@highpenalty
-    \endgroup
+\RequirePackage{appendix}
+\noappendicestocpagenum
+%  Bug using defaultfont=none,libertine,standard,compatibility
+%  \AtBeginEnvironment{appendices}{\appendix\mainmatter}
+\def\appendicesname{%
+  \ClassError{suftesi}%
+    {Command \noexpand\appendicesname undefined\MessageBreak
+    Redefine the \noexpand\appendixpagename command instead. 
+    See the 'appendix' package documentation.\MessageBreak
+    \noexpand\renewcommand{\noexpand\appendixpagename{newname}}}
+  {Command \noexpand\appendicesname undefined\MessageBreak
+    Redefine the \noexpand\appendixpagename command instead.
+    See the 'appendix' package documentation.\MessageBreak
+    \noexpand\renewcommand{\noexpand\appendixpagename{newname}}}}
+\renewcommand{\@chap@pppage}{%
+  \clear@ppage
+  \thispagestyle{plain}%
+  \if@twocolumn\onecolumn\@tempswatrue\else\@tempswafalse\fi
+  \null\vfil
+  \markboth{}{}%
+  {\centering
+    \interlinepenalty \@M
+    \normalfont
+    \SUF@chaptersize
+        \SUF@CHAP@font\expandafter\appendixpagename\par}%
+  \if@dotoc@pp
+  \addappheadtotoc
+  \fi
+  \vfil\newpage
+  \if@twoside
+  \if@openright
+  \null
+  \thispagestyle{empty}%
+  \newpage
+  \fi
+  \fi
+  \if@tempswa
+  \twocolumn
   \fi}
-\renewcommand\maketitle{\par
-  \begingroup
-    \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
-    \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
-    \long\def\@makefntext##1{\parindent 1em\noindent
-            \hb@xt@1.8em{%
-                \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
-    \if@twocolumn
-      \ifnum \col@number=\@ne
-        \@maketitle
-      \else
-        \twocolumn[\@maketitle]%
-      \fi
-    \else
-      \newpage
-      \global\@topnum\z@ % Prevents figures from going at top of page.
-      \@maketitle
-    \fi
-    \thispagestyle{plain}\@thanks%
-  \endgroup
-   \setcounter{section}{0}%
-%  \setcounter{footnote}{0}%
-%  \global\let\thanks\relax
-%  \global\let\maketitle\relax
-%  \global\let\@maketitle\relax
-%  \global\let\@thanks\@empty
-%  \global\let\@author\@empty
-%  \global\let\@date\@empty
-%  \global\let\@title\@empty
-%  \global\let\title\relax
-%  \global\let\author\relax
-%  \global\let\date\relax
-   \global\let\and\relax
-   \let\thanks\@gobble}
-\AtBeginDocument{\def\@maketitle{%
-  \refstepcounter{article}
-  \SUF@chaptersize
-   \SUF@lr@coll@titleSwitch
-    \let\footnote\thanks
-     \parindent=0pt
-    {\SUF@second}%
-   \label{begin:\thearticle}
-%    \end{macrocode}
-% Check if you don't use \sty{hyperrref} provided by Enrico Gregorio
-% (\url{https://tex.stackexchange.com/a/427203/231952}):
-%    \begin{macrocode}
-   \@ifundefined{Hy@raisedlink}{\let\texorpdfstring\@firstoftwo}{%
-    \xdef\@currentHref{title.\thearticle}%
-     \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
-    }%  
+\renewcommand{\@sec@pppage}{%
+  \par
+  \addvspace{4ex}%
+  \@afterindentfalse
+  {\parindent \z@ \raggedright
+    \interlinepenalty \@M
+    \normalfont
+    \SUF@chaptersize
+        \SUF@CHAP@font\expandafter\appendixpagename%
+    \markboth{}{}\par}%
+  \if@dotoc@pp
+  \addappheadtotoc
+  \fi
+  \nobreak
+  \vskip 3ex
+  \@afterheading}
 %    \end{macrocode}
-%    \begin{macrocode}
-   \csname toc@entry@\endcsname
-    \begingroup%
-    \let\thanks\@gobble
-    \addcontentsline{toc}{title}{%
-    {\SUF@tocAUT@font{\@author}}\texorpdfstring{\newline}{, }%
-    {\SUF@tocTIT@font{\@headtitle}}}
-    \endgroup%
-    \par\nobreak\vspace{2ex}
-    {\SUF@first%
-    \vskip1.5cm}}%
-    }
-% \newenvironment{article}
-%  {\begingroup
-%  \global\let\@thanks\@empty
-%  \setcounter{footnote}{0}
-%  \refstepcounter{article}
-%  \label{begin:\thearticle}
-%}
-%  {\label{end:\thearticle}\endgroup
-%  }
-\newenvironment{article}
-  {\begingroup
-  \setcounter{section}{0}
-  \setcounter{footnote}{0}
-  \setcounter{figure}{0}
-  \setcounter{table}{0}}
-  {\label{end:\thearticle}
-    \cleardoublepage
-      \global\let\@thanks\@empty
-    \endgroup}
-\newcommand{\collectiontitlepage}{%
-  \thispagestyle{empty}%
-    \begingroup
-     \centering
-       \vspace*{\stretch{1}}
-     
-       {\SUF@chaptersize\@collectiontitle\par}
-         \vskip5ex
-     
-       \@collectioneditor
-       \vspace*{\stretch{3}}
-            
-    \endgroup
-  \clearpage}
-\def\frontispiece{\collectiontitlepage}
-%    \end{macrocode}
-% In the collection document structure the articles are treated as
-% chapters but you would not need to print in
-% the table of contents all the sections of every article. So first of 
-% all we include in the table of contents only the author and the 
-% title of each paper. Anyway the sections inside each paper are 
-% numbered as in standard articles:
-%    \begin{macrocode}
-  \setcounter{tocdepth}{0}
-  \renewcommand\thesection{%
-          \@arabic\c@section}
-  \renewcommand\thesubsection{%
-          \thesection.\@arabic\c@subsection}
-  \renewcommand\thesubsubsection{%
-          \thesubsection.\@arabic\c@subsubsection}
-  \renewcommand\theparagraph{%
-          \thesubsubsection.\@arabic\c@paragraph}
-  \renewcommand\thesubparagraph{%
-          \theparagraph.\@arabic\c@subparagraph}
-  \else
-\fi
-%    \end{macrocode}
-% \subsection{Frontispiece}
-%    \begin{macrocode}
-\AtBeginDocument{%
-\@ifpackagewith{frontespizio}{suftesi}{%
-\ifsuftesi@periodical
-  \Margini {5.5cm}{7cm}{4.5cm}{0cm}
-    \else
-\ifsuftesi@periodicalaureo
-  \Margini {5.5cm}{7cm}{4.5cm}{0cm}
-    \else
-\ifsuftesi@compact
-  \Margini {4.5cm}{7cm}{4.5cm}{0cm}
-    \else
-\ifsuftesi@compactaureo
-  \Margini {4.5cm}{7cm}{4.5cm}{0cm}
-    \else
-\ifsuftesi@supercompact
-  \Margini {4.5cm}{10cm}{6cm}{1cm}
-    \else
-\ifsuftesi@supercompactaureo
-  \Margini {4.5cm}{10cm}{6cm}{1cm}
-    \else
-\ifsuftesi@pocketa
-  \Margini {4.5cm}{10cm}{6cm}{1cm}
-    \else
-\ifsuftesi@pocketb
-  \Margini {4.5cm}{10cm}{6cm}{1cm}
-    \else
-\ifsuftesi@pocketc
-  \Margini {4.5cm}{10cm}{6cm}{1cm}
-    \else
-\fi\fi\fi\fi\fi\fi\fi\fi\fi}
-{\@ifpackageloaded{frontespizio}{%
-\ifsuftesi@periodical
-  \Margini {1cm}{7cm}{5cm}{1cm}
-  \Rientro{1cm}
-    \else
-\ifsuftesi@periodicalaureo
-  \Margini {1cm}{7cm}{5cm}{1cm}
-  \Rientro{1cm}
-    \else
-\ifsuftesi@compact
-  \Margini {1cm}{7cm}{6cm}{1cm}
-  \Rientro{1cm}
-    \else
-\ifsuftesi@compactaureo
-  \Margini {1cm}{7cm}{6cm}{1cm}
-  \Rientro{1cm}
-    \else
-\ifsuftesi@supercompact
-  \Margini {1cm}{10cm}{8cm}{1cm}
-  \Rientro{1cm}
-    \else
-\ifsuftesi@supercompactaureo
-  \Margini {1cm}{10cm}{8cm}{1cm}
-  \Rientro{1cm}
-    \else
-\ifsuftesi@pocketa
-  \Margini {1cm}{10cm}{8cm}{1cm}
-  \Rientro{1cm}
-    \else
-\ifsuftesi@pocketb
-  \Margini {1cm}{10cm}{8cm}{1cm}
-  \Rientro{1cm}
-    \else
-\ifsuftesi@pocketc
-  \Margini {1cm}{10cm}{8cm}{1cm}
-  \Rientro{1cm}
-    \else
-\fi\fi\fi\fi\fi\fi\fi\fi\fi}
-{\relax}}}
-%    \end{macrocode}
-% \subsection{Index}
-%    \begin{macrocode}
-\renewenvironment{theindex}
-  {\if@twocolumn
-     \@restonecolfalse
-   \else
-     \@restonecoltrue
-   \fi
-   \ifsuftesi@article
-   \twocolumn[\section*{\indexname}]%
-   \else
-   \twocolumn[\@makeschapterhead{\indexname}]%
-   \fi
-   \@mkboth{\indexname}{\indexname}%
-   \thispagestyle{plain}%
-   \raggedright%
-   \parindent\z@
-   \parskip\z@ \@plus .3\p@\relax
-   \columnseprule \z@
-   \columnsep 35\p@
-   \let\item\@idxitem}
-  {\if@restonecol\onecolumn\else\clearpage\fi}
-%    \end{macrocode}
-% \subsection{Appendices}
-%    \begin{macrocode}
-\RequirePackage{appendix}
-\noappendicestocpagenum
-%  Bug using defaultfont=none,libertine,standard,compatibility
-%  \AtBeginEnvironment{appendices}{\appendix\mainmatter}
-\def\appendicesname{%
-  \ClassError{suftesi}%
-    {Command \noexpand\appendicesname undefined\MessageBreak
-    Redefine the \noexpand\appendixpagename command instead. 
-    See the 'appendix' package documentation.\MessageBreak
-    \noexpand\renewcommand{\noexpand\appendixpagename{newname}}}
-  {Command \noexpand\appendicesname undefined\MessageBreak
-    Redefine the \noexpand\appendixpagename command instead.
-    See the 'appendix' package documentation.\MessageBreak
-    \noexpand\renewcommand{\noexpand\appendixpagename{newname}}}}
-\renewcommand{\@chap@pppage}{%
-  \clear@ppage
-  \thispagestyle{plain}%
-  \if@twocolumn\onecolumn\@tempswatrue\else\@tempswafalse\fi
-  \null\vfil
-  \markboth{}{}%
-  {\centering
-    \interlinepenalty \@M
-    \normalfont
-    \SUF@chaptersize
-        \SUF@CHAP@StyleSwitch\expandafter\appendixpagename\par}%
-  \if@dotoc@pp
-  \addappheadtotoc
-  \fi
-  \vfil\newpage
-  \if@twoside
-  \if@openright
-  \null
-  \thispagestyle{empty}%
-  \newpage
-  \fi
-  \fi
-  \if@tempswa
-  \twocolumn
-  \fi}
-\renewcommand{\@sec@pppage}{%
-  \par
-  \addvspace{4ex}%
-  \@afterindentfalse
-  {\parindent \z@ \raggedright
-    \interlinepenalty \@M
-    \normalfont
-    \SUF@chaptersize
-        \SUF@CHAP@StyleSwitch\expandafter\appendixpagename%
-    \markboth{}{}\par}%
-  \if@dotoc@pp
-  \addappheadtotoc
-  \fi
-  \nobreak
-  \vskip 3ex
-  \@afterheading}
-%    \end{macrocode}
-% Within the appendices the chapter and section labels are literal. 
-% Using the \opt{chapnumstyle=Roman} or  \opt{chapnumstyle=roman} options, 
-% this label is passed as an argument to \cmd{@Roman} or \cmd{@roman}, 
-% which however accepts only integers. For this reason we must redefine 
-% all the occurrences of \cmd{titlecontents} in order to have \cmd{thecontentslabel} 
-% in place of \cmd{SUF@CHAP@thecontentslabel} or \cmd{SUF@SEC@thecontentslabel}.
+% Within the appendices the chapter and section labels are literal. 
+% Using the \opt{chapnumstyle=Roman} or  \opt{chapnumstyle=roman} options, 
+% this label is passed as an argument to \cmd{@Roman} or \cmd{@roman}, 
+% which however accepts only integers. For this reason we must redefine 
+% all the occurrences of \cmd{titlecontents} in order to have \cmd{thecontentslabel} 
+% in place of \cmd{SUF@CHAP@contentslabel} or \cmd{SUF@SEC@contentslabel}.
 %    \begin{macrocode}
 \def\suf@appendixtoc{%
   \ifsuftesi@pagelefttoc
@@ -5036,7 +4553,7 @@ cochineal,mathpazo,bera,amsthm}
     \hskip\SUF@addto@tochang@chap\SUF@tocCHAP@font}
   {}
   [\addvspace{1ex}]
-  \ifsuftesi@toccompactsec
+  \ifsuftesi@ctocsec
   \titlecontents*{section}[\SUF@tochang@chap]{}{%
     \thecontentslabel\adjtoclabelsep\SUF@tocSEC@font}{\SUF@tocSEC@font}{, 
     \thecontentspage.}[][\adjtocpagesep][]
@@ -5068,7 +4585,7 @@ cochineal,mathpazo,bera,amsthm}
     \SUF@tocCHAP@font}
   {\SUF@chaptitlerule\contentspage}
   [\addvspace{1ex}]
-  \ifsuftesi@toccompactsec
+  \ifsuftesi@ctocsec
   \titlecontents*{section}[\SUF@tocindent@chap]{}{%
     \thecontentslabel\adjtoclabelsep\SUF@tocSEC@font}{\SUF@tocSEC@font}{, 
     \thecontentspage.}[][\adjtocpagesep][]
@@ -5106,311 +4623,50 @@ cochineal,mathpazo,bera,amsthm}
   \renewcommand{\thechapter}{\@Alph\c@chapter}}
 \fi
 %    \end{macrocode}
-% \subsection{Headings}
-%    \begin{macrocode}
-\RequirePackage{fancyhdr}
-\newcommand{\versionstring}[1]{\def\version@string{#1}}
-  \versionstring{Version of}
-\AtBeginDocument{%
- \pagestyle{fancy}
-  \renewcommand{\headrulewidth}{0pt} 
-  \renewcommand{\footnoterule}{}
-\def\SUF@versionstring{\texttt{\version@string{} \today}}
-%    \end{macrocode}
-% \paragraph{The \opt{default} headers}
+% \subsubsection{Index}
 %    \begin{macrocode}
-\renewcommand{\chaptermark}[1]{%
-  \markboth{\chaptertitlename\ \protect\SUF@HEAD@thechapter}{#1}}
-  \ifsuftesi@article
-    \renewcommand{\sectionmark}[1]{\markright{\protect\SUF@HEAD@thesection.\ #1}}
-      \else
-    \renewcommand{\sectionmark}[1]{}
-  \fi
+\renewenvironment{theindex}
+  {\if@twocolumn
+     \@restonecolfalse
+   \else
+     \@restonecoltrue
+   \fi
+   \ifsuftesi@article
+   \twocolumn[\section*{\indexname}]%
+   \else
+   \twocolumn[\@makeschapterhead{\indexname}]%
+   \fi
+   \@mkboth{\indexname}{\indexname}%
+   \thispagestyle{plain}%
+   \raggedright%
+   \parindent\z@
+   \parskip\z@ \@plus .3\p@\relax
+   \columnseprule \z@
+   \columnsep 35\p@
+   \let\item\@idxitem}
+  {\if@restonecol\onecolumn\else\clearpage\fi}
 %    \end{macrocode}
-% \paragraph{The \opt{plain} style}
+% \subsection{Contents lists}
 %    \begin{macrocode}
-\fancypagestyle{plain}{\fancyhf{}}
+\RequirePackage{titletoc}
 %    \end{macrocode}
-% \paragraph{The \opt{sufplain} style}
+% All the lengths depend on |\SUF@label@chap| 
+% so we define this first. The |\toclabelwidth| lengtth is provided to
+% adjust the label width in the table of contents.
 %    \begin{macrocode}
-\fancypagestyle{sufplain}{%
- \fancyhf{}%
- \fancyfoot[RE,LO]{%
-   \ifsuftesi@draftdate\footnotesize\SUF@versionstring\else\fi}
- \fancyfoot[C]{\footnotesize\SUF@thepage}}
+\newlength\SUF@label@chap
+\setlength\SUF@label@chap{.5em}
+\newcommand*{\toclabelwidth}[2]{%
+  \AtBeginDocument{
+    \addtolength{\csname SUF@label@#1\endcsname}{#2}%
+    \addtolength{\csname SUF@tocindent@#1\endcsname}{#2}}}
 %    \end{macrocode}
-% \paragraph{The \opt{centerheader} style}
+% These commands control the space before and after the label of the sections in the table of contents, using the \opt{compactfont} option.
 %    \begin{macrocode}
-\fancypagestyle{centerheader}{%
-  \fancyhf{}%
-  \fancyfoot[RE,LO]{%
-    \ifsuftesi@draftdate\footnotesize\SUF@versionstring\else\fi}
-  \fancyhead[CO]{\footnotesize\breakinbodyfalse\SUF@rightmark} 
-  \fancyhead[CE]{\footnotesize\breakinbodyfalse%
-    \SUF@LR@MarkSwitch} 
-  \fancyfoot[C]{\footnotesize\SUF@thepage}}
+\newcommand{\adjtoclabelsep}{\hskip.2em plus 1pt minus 1pt}
+\newcommand{\adjtocpagesep}{\hskip.5em plus 2pt minus 1pt}
 %    \end{macrocode}
-% \paragraph{The \opt{sufdefault} style}
-%    \begin{macrocode}
-\fancypagestyle{sufdefault}{%
-  \fancyhf{}%
-  \fancyfoot[RE,LO]{%
-    \ifsuftesi@draftdate\footnotesize\SUF@versionstring\else\fi}
-  \fancyhead[LE,RO]{\footnotesize\SUF@thepage} 
-  \fancyhead[LO]{\footnotesize\breakinbodyfalse\SUF@rightmark}
-  \fancyhead[RE]{\footnotesize\breakinbodyfalse%
-    \SUF@LR@MarkSwitch}}
-\ifsuftesi@article
-  \ifsuftesi@authortitle
-    \def\SUF@LR@MarkSwitch{\SUF@leftmark}
-  \else
-    \def\SUF@LR@MarkSwitch{\SUF@rightmark}
-  \fi
-\else
-  \def\SUF@LR@MarkSwitch{\SUF@leftmark}
-\fi
-\def\SUF@leftrightmark{%
-  \if@mainmatter\leftmark\else\rightmark\fi} 
-\pagestyle{sufdefault}
-  \ifsuftesi@centerheader\pagestyle{centerheader}\else\fi
-  \ifsuftesi@sufplain\pagestyle{sufplain}\else\fi}
-%    \end{macrocode}
-% \subsection{Text elements}
-% \paragraph{Block Quotations}
-% New environments for block quotations according to a popular Italian style. 
-% The font size is the same of the footnotes and the margins are set to \cmd{parindent}.
-%    \begin{macrocode}
-\renewenvironment{quotation}
-  {\list{}{\listparindent\parindent%
-    \itemindent    \listparindent
-    \SUF@quote@style      
-    \parsep    \z@ \@plus\p@}%
-    \item\relax%
-    \SUF@quotation@size%
-    \noindent\ignorespaces}
-  {\endlist}
-\renewenvironment{quote}
-  {\list{}{%
-    \SUF@quote@style}%
-    \item\relax%
-    \SUF@quotation@size}% \ignorespaces?
-  {\endlist}
-\renewenvironment{verse}
-  {\let\\\@centercr
-    \list{}{\itemsep      \z@
-      \itemindent   -1.5em%
-      \listparindent\itemindent
-      \rightmargin  \leftmargin
-      \advance\leftmargin 1.5em}%
-    \item\relax
-    \SUF@quotation@size}
-  {\endlist}  
-%    \end{macrocode}
-% \paragraph{The \opt{fewfootnotes} option}
-% Enable only with three footnotes per page maximum.
-%    \begin{macrocode}
-\ifsuftesi@fewfootnotes
-\AtBeginDocument{%
-\def\@fnsymbol#1{\ensuremath{\ifcase#1\or*\or{*}{*}\or{*}{*}{*}\or%
-  \ClassError{suftesi}%
-  {Too many footnotes\MessageBreak
-  Remove the class option 'fewfootnote'}
-  {Too many footnotes\MessageBreak
-  Remove the class option 'fewfootnote'}
-  \else\@ctrerr\fi}}}
-\def\thefootnote{\@fnsymbol\c@footnote}%
-\else\fi
-%    \end{macrocode}
-% \paragraph{The \cmd{xfootnote} command} Prints a footnote with discretionary
-% symbol give in the first argument.
-%    \begin{macrocode}
-\newcommand*\xfootnote[1][*]{%
-  \xdef\@thefnmark{#1}%
-    \@footnotemark\@footnotetext}
-%    \end{macrocode}
-% \paragraph{Marginal notes}
-% The |\marginpar| command is redefined according to the look 
-% of \emph{Classic Thesis} by 
-% André \textcite{Miede:2011}\index{Miede, André}. 
-%    \begin{macrocode}
-\def\SUF@mpsetup{%
-  \itshape
-    \footnotesize%
-    \parindent=0pt \lineskip=0pt \lineskiplimit=0pt%
-    \tolerance=2000 \hyphenpenalty=300 \exhyphenpenalty=300%
-    \doublehyphendemerits=100000%
-    \finalhyphendemerits=\doublehyphendemerits}
-  \let\oldmarginpar\marginpar
-  \renewcommand{\marginpar}[1]{\oldmarginpar%
-     [\SUF@mpsetup\raggedleft\hspace{0pt}{#1}]%
-     {\SUF@mpsetup\raggedright\hspace{0pt}{#1}}}
-%    \end{macrocode}
-% Redefine an internal command of the \sty{todonotes} package in 
-% order to use the class-specific marginal notes when this 
-% package is loaded. This redefinition simply substitute 
-% \cmd{oldmarginpar} to \cmd{marginpar}:
-%    \begin{macrocode}
-\AtBeginDocument{%
-\@ifpackageloaded{todonotes}{%
-  \renewcommand{\@todonotes@drawMarginNoteWithLine}{%
-    \begin{tikzpicture}[remember picture, overlay, baseline=-0.75ex]%
-      \node [coordinate] (inText) {};%
-    \end{tikzpicture}%
-      \oldmarginpar[{% Draw note in left margin
-      \@todonotes@drawMarginNote%
-      \@todonotes@drawLineToLeftMargin%
-      }]{% Draw note in right margin
-      \@todonotes@drawMarginNote%
-      \@todonotes@drawLineToRightMargin%
-      }
-    }
-  }
-{\relax}}
-%    \end{macrocode}
-% \paragraph{Abstract}
-%    \begin{macrocode}
-\ifsuftesi@collection
-  \newenvironment{abstract}{%
-      \if@twocolumn
-        \section*{\abstractname}%
-      \else
-        \small
-        \begin{center}%
-          {\abstractname\vspace{-.5em}\vspace{\z@}}%
-        \end{center}%
-        \quotation
-      \fi}
-      {\if@twocolumn\else\endquotation\fi\vspace{6ex}}
-\else
-\if@titlepage
-  \newenvironment{abstract}{%
-      \titlepage
-      \null\vfil
-      \@beginparpenalty\@lowpenalty
-      \begin{center}%
-         \abstractname
-        \@endparpenalty\@M
-      \end{center}}%
-     {\par\vfil\null\endtitlepage}
-\else
-  \newenvironment{abstract}{%
-      \if@twocolumn
-        \section*{\abstractname}%
-      \else
-        \small
-        \begin{center}%
-          {\abstractname\vspace{-.5em}\vspace{\z@}}%
-        \end{center}%
-        \quotation
-      \fi}
-      {\if@twocolumn\else\endquotation\fi}
-  \fi
-\fi
-\newcommand\abstractname{Abstract}
-%    \end{macrocode}
-% \paragraph{Colophon or copyright notice} 
-%    \begin{macrocode}
-\newcommand{\colophon}[3][]{%
-  \thispagestyle{empty}
-  \null
-    \vfill
-     \def\next{#2}
-         \ifx\next\@empty\else
-            \noindent Copyright \copyright{} \the\year~#2\\[1ex]
-          Tutti i diritti riservati
-        \fi
-  \vfill  
-  {\small\noindent Questo lavoro \`e stato composto con \LaTeX{}%
-     \def\next{#1}
-        \ifx\next\@empty\else su #1 
-      \fi usando la classe \textsf{suftesi} di 
-      Ivan Valbusa\index{Valbusa, Ivan}. #3\par}
-      \cleardoublepage}
-\newcommand{\bookcolophon}[2]{%
-  \thispagestyle{empty}
-  \null
-    \vfill
-            \noindent #1
-  \vfill  
-  {\small\noindent #2\par}
-      \cleardoublepage}
-\newcommand{\artcolophon}[1]{%
-\thispagestyle{empty}
-  \null
-    \vfill
-  {\small\noindent #1\par}}
-\newcommand{\finalcolophon}[1]{%
-\thispagestyle{empty}
-  \null\vspace*{\stretch{1}}
-  \begin{center}
-  \begin{minipage}{.5\textwidth}
-  \centering\small #1
-  \end{minipage}
-  \end{center}
-    \vspace*{\stretch{6}}}
-%    \end{macrocode}
-% \paragraph{The \cmd{FSPL} colophon}
-% This command is defined only for the \opt{style=FSPL*} options.
-%    \begin{macrocode}
-\ifsuftesi@FSPL
-\newcommand{\FSPLcolophon}[1][\the\year]{%
-\begingroup
-\thispagestyle{empty}
-\null\vspace{\stretch{1}}
-\noindent \hskip-.5em\cc #1 \@author%
-\vskip1ex
-
-\small\noindent This work is licensed under the Creative Commons 
-Attribution-NonCommercial-NoDerivs 3.0 Unported License. 
-To view a copy of this license, 
-visit http://creativecom mons.org/licenses/by-nc-nd/3.0/.
-
-\endgroup
-
-\begingroup
-\footnotesize
-
-\null\vspace{\stretch{1}}
-
-\noindent Typeset with \LaTeX{} in collaboration with the Joint Project 
-\emph{Formal Style for PhD Theses with \LaTeX} (University of Verona, 
-Italy) using the \textsf{suftesi} class by Ivan Valbusa. The text face 
-is Palatino, designed by Hermann Zapf. The sans serif font is Iwona by 
-Janusz M.~Nowacki.
-
-\endgroup
-
-\clearpage}
-\else
-\def\FSPLcolophon{%
- \ClassError{suftesi}
-   {\noexpand\FSPLcolophon is defined\MessageBreak 
-     only for the FSPL styles}
-   {\noexpand\FSPLcolophon is defined\MessageBreak 
-     only for the FSPL styles}}
-\fi
-%    \end{macrocode}
-% \subsection{Contents lists}
-%    \begin{macrocode}
-\RequirePackage{titletoc}
-%    \end{macrocode}
-% All the lengths depend on |\SUF@label@chap| 
-% so we define this first. The |\toclabelwidth| lengtth is provided to
-% adjust the label width in the table of contents.
-%    \begin{macrocode}
-\newlength\SUF@label@chap
-\setlength\SUF@label@chap{.5em}
-\newcommand*{\toclabelwidth}[2]{%
-  \AtBeginDocument{
-    \addtolength{\csname SUF@label@#1\endcsname}{#2}%
-    \addtolength{\csname SUF@tocindent@#1\endcsname}{#2}}}
-%    \end{macrocode}
-% These commands control the space before and after the label of the sections in the table of contents, using the \opt{compactfont} option.
-%    \begin{macrocode}
-\newcommand{\adjtoclabelsep}{\hskip.2em plus 1pt minus 1pt}
-\newcommand{\adjtocpagesep}{\hskip.5em plus 2pt minus 1pt}
-%    \end{macrocode}
-% A class error if the obsolete \cmd{toclabelspace} is used:
+% A class error if the obsolete \cmd{toclabelspace} is used:
 %    \begin{macrocode}
 \newcommand{\toclabelspace}{%
   \ClassError{suftesi}
@@ -5465,7 +4721,7 @@ Janusz M.~Nowacki.
 %  [0em]
 %  {\addvspace{3ex}}
 %  {\partname\hspace*{.5em}\makebox[\SUF@label@part][l]{%
-%    \SUF@PART@thecontentslabel}\hspace*{1em}\SUF@tocPART@font}
+%    \SUF@PART@contentslabel}\hspace*{1em}\SUF@tocPART@font}
 %  {\SUF@tocPART@font}
 %  {}
 %  [\addvspace{1ex}]
@@ -5534,16 +4790,16 @@ Janusz M.~Nowacki.
    \makebox[1em][l]{\thecontentspage}%
     \hskip\SUF@addto@tochang@chap%
       \makebox[\SUF@label@chap][l]{%
-        \SUF@CHAP@thecontentslabel}\hspace*{1em}%
+        \SUF@CHAP@contentslabel}\hspace*{1em}%
           \SUF@tocCHAP@font}
   {\hskip-\SUF@tochang@chap%
      \makebox[1em][l]{\thecontentspage}%
        \hskip\SUF@addto@tochang@chap\SUF@tocCHAP@font}
   {}
   [\addvspace{1ex}]
-\ifsuftesi@toccompactsec
+\ifsuftesi@ctocsec
 \titlecontents*{section}[\SUF@tochang@chap]{}{%
-  \SUF@SEC@thecontentslabel\adjtoclabelsep\SUF@tocSEC@font}{\SUF@tocSEC@font}{, 
+  \SUF@SEC@contentslabel\adjtoclabelsep\SUF@tocSEC@font}{\SUF@tocSEC@font}{, 
   \thecontentspage.}[][\adjtocpagesep][]
 \else
 \titlecontents{section}
@@ -5554,16 +4810,16 @@ Janusz M.~Nowacki.
 %     \makebox[\SUF@label@sec][l]{%
 %     \ifsuftesi@article\SUF@toclabelnum%
 %      \else\fi\thecontentslabel}\hspace*{1em}%
-    \makebox[\SUF@label@sec][l]{\SUF@SEC@thecontentslabel}\hspace*{1em}%
+    \makebox[\SUF@label@sec][l]{\SUF@SEC@contentslabel}\hspace*{1em}%
        \SUF@tocSEC@font}
   {\hskip-\SUF@tochang@sec%
    \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@sec%
      \SUF@tocSEC@font}
   {}
 \fi
-\ifsuftesi@toccompactsubsec
+\ifsuftesi@ctocsubsec
 \titlecontents*{subsection}[\SUF@tochang@sec]{\SUF@sscorrect}{%
-  \SUF@SUBSEC@thecontentslabel\adjtoclabelsep\SUF@tocSUBSEC@font}{\SUF@tocSUBSEC@font}{, 
+  \SUF@SUBSEC@contentslabel\adjtoclabelsep\SUF@tocSUBSEC@font}{\SUF@tocSUBSEC@font}{, 
   \thecontentspage.}[][\adjtocpagesep][]
 \else
 \titlecontents{subsection}
@@ -5571,16 +4827,16 @@ Janusz M.~Nowacki.
   {}
   {\hskip-\SUF@tochang@subsec%
    \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@subsec%
-    \makebox[\SUF@label@subsec][l]{\SUF@SUBSEC@thecontentslabel}\hspace*{1em}%
+    \makebox[\SUF@label@subsec][l]{\SUF@SUBSEC@contentslabel}\hspace*{1em}%
       \SUF@tocSUBSEC@font}
   {\hskip-\SUF@tochang@subsec%
    \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@subsec%
      \SUF@tocSUBSEC@font}
   {}
 \fi
-\ifsuftesi@toccompactsubsubsec
+\ifsuftesi@ctocsubsubsec
 \titlecontents*{subsubsection}[\SUF@tochang@subsec]{\SUF@ssscorrect}{%
-  \SUF@SUBSUBSEC@thecontentslabel\adjtoclabelsep%
+  \SUF@SUBSUBSEC@contentslabel\adjtoclabelsep%
   \SUF@tocSUBSUBSEC@font}{\SUF@tocSUBSUBSEC@font}{, 
   \thecontentspage.}[][\adjtocpagesep][]
 \else
@@ -5589,16 +4845,16 @@ Janusz M.~Nowacki.
   {}
   {\hskip-\SUF@tochang@subsubsec%
    \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@subsubsec%
-    \makebox[\SUF@label@subsubsec][l]{\SUF@SUBSUBSEC@thecontentslabel}\hspace*{1em}%
+    \makebox[\SUF@label@subsubsec][l]{\SUF@SUBSUBSEC@contentslabel}\hspace*{1em}%
       \SUF@tocSUBSUBSEC@font}
   {\hskip-\SUF@tochang@subsubsec%
    \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@subsubsec%
      \SUF@tocSUBSUBSEC@font}
   {}
 \fi
-\ifsuftesi@toccompactpar
+\ifsuftesi@ctocpar
 \titlecontents*{paragraph}[\SUF@tochang@subsubsec]{\SUF@pcorrect}{%
- \SUF@PAR@thecontentslabel\adjtoclabelsep%
+ \SUF@PAR@contentslabel\adjtoclabelsep%
  \SUF@tocPAR@font}{\SUF@tocPAR@font}{, 
  \thecontentspage.}[][\adjtocpagesep][]
 \else
@@ -5614,9 +4870,9 @@ Janusz M.~Nowacki.
    \SUF@tocPAR@font}
 {}
 \fi
-\ifsuftesi@toccompactsubpar
+\ifsuftesi@ctocsubpar
 \titlecontents*{subparagraph}[\SUF@tochang@par]{\SUF@pcorrect}{%
- \SUF@SUBPAR@thecontentslabel\adjtoclabelsep%
+ \SUF@SUBPAR@contentslabel\adjtoclabelsep%
  \SUF@tocSUBPAR@font}{\SUF@tocSUBPAR@font}{, 
  \thecontentspage.}[][\adjtocpagesep][]
 \else
@@ -5701,16 +4957,16 @@ Janusz M.~Nowacki.
   [\SUF@tocindent@chap]
   {\addvspace{2ex}}
   {\hskip-\SUF@tocindent@chap%
-    \makebox[\SUF@label@chap][l]{\SUF@CHAP@thecontentslabel}%
+    \makebox[\SUF@label@chap][l]{\SUF@CHAP@contentslabel}%
     \hspace*{1em}%
       \SUF@tocCHAP@font}
   {\hskip-\SUF@tocindent@chap%
       \SUF@tocCHAP@font}
   {\SUF@chaptitlerule\contentspage}
   [\addvspace{1ex}]
-\ifsuftesi@toccompactsec
+\ifsuftesi@ctocsec
 \titlecontents*{section}[\SUF@tocindent@chap]{}{%
-  \SUF@SEC@thecontentslabel\adjtoclabelsep\SUF@tocSEC@font}
+  \SUF@SEC@contentslabel\adjtoclabelsep\SUF@tocSEC@font}
   {\SUF@tocSEC@font}{, \thecontentspage.}[][\adjtocpagesep][]
 \else
 \titlecontents{section}
@@ -5720,31 +4976,31 @@ Janusz M.~Nowacki.
 %     \makebox[\SUF@label@sec][l]{%
 %     \ifsuftesi@article\SUF@toclabelnum%
 %       \else\fi\thecontentslabel}\hspace*{1em}%
-    \makebox[\SUF@label@sec][l]{\SUF@SEC@thecontentslabel}\hspace*{1em}%
+    \makebox[\SUF@label@sec][l]{\SUF@SEC@contentslabel}\hspace*{1em}%
         \SUF@tocSEC@font}
   {\hskip-\dimexpr(\SUF@label@sec+1em)%
     \SUF@tocSEC@font}
   {\ifsuftesi@article\SUF@chaptitlerule%
        \else\SUF@titlerule\fi\contentspage}
 \fi
-\ifsuftesi@toccompactsubsec
+\ifsuftesi@ctocsubsec
 \titlecontents*{subsection}[\SUF@tocindent@sec]{\SUF@sscorrect}{%
-  \SUF@SUBSEC@thecontentslabel\adjtoclabelsep\SUF@tocSUBSEC@font}
+  \SUF@SUBSEC@contentslabel\adjtoclabelsep\SUF@tocSUBSEC@font}
   {\SUF@tocSUBSEC@font}{, \thecontentspage.}[][\adjtocpagesep][]
 \else
 \titlecontents{subsection}
   [\SUF@tocindent@subsec]
   {}
   {\hskip-\dimexpr(\SUF@label@subsec+1em)%
-    \makebox[\SUF@label@subsec][l]{\SUF@SUBSEC@thecontentslabel}\hspace*{1em}%
+    \makebox[\SUF@label@subsec][l]{\SUF@SUBSEC@contentslabel}\hspace*{1em}%
       \SUF@tocSUBSEC@font}
   {\hskip-\dimexpr(\SUF@label@subsec+1em)%
     \SUF@tocSUBSEC@font}
   {\SUF@titlerule\contentspage}
 \fi  
-\ifsuftesi@toccompactsubsubsec
+\ifsuftesi@ctocsubsubsec
 \titlecontents*{subsubsection}[\SUF@tocindent@subsec]{\SUF@ssscorrect}{%
-  \SUF@SUBSUBSEC@thecontentslabel\adjtoclabelsep%
+  \SUF@SUBSUBSEC@contentslabel\adjtoclabelsep%
   \SUF@tocSUBSUBSEC@font}{\SUF@tocSUBSUBSEC@font}{, 
   \thecontentspage.}[][\adjtocpagesep][]
 \else
@@ -5752,15 +5008,15 @@ Janusz M.~Nowacki.
   [\SUF@tocindent@subsubsec]
   {}
   {\hskip-\dimexpr(\SUF@label@subsubsec+1em)%
-    \makebox[\SUF@label@subsubsec][l]{\SUF@SUBSUBSEC@thecontentslabel}\hspace*{1em}%
+    \makebox[\SUF@label@subsubsec][l]{\SUF@SUBSUBSEC@contentslabel}\hspace*{1em}%
       \SUF@tocSUBSUBSEC@font}
   {\hskip-\dimexpr(\SUF@label@subsubsec+1em)%
     \SUF@tocSUBSUBSEC@font}
   {\SUF@titlerule\contentspage}
 \fi
-\ifsuftesi@toccompactpar
+\ifsuftesi@ctocpar
 \titlecontents*{paragraph}[\SUF@tocindent@subsubsec]{\SUF@pcorrect}{%
- \SUF@PAR@thecontentslabel\adjtoclabelsep%
+ \SUF@PAR@contentslabel\adjtoclabelsep%
  \SUF@tocPAR@font}{\SUF@tocPAR@font}{, 
  \thecontentspage.}[][\adjtocpagesep][]
 \else
@@ -5774,9 +5030,9 @@ Janusz M.~Nowacki.
      \SUF@tocPAR@font}
   {\SUF@titlerule\contentspage}
 \fi
-\ifsuftesi@toccompactsubpar
+\ifsuftesi@ctocsubpar
 \titlecontents*{subparagraph}[\SUF@tocindent@par]{\SUF@pcorrect}{%
- \SUF@SUBPAR@thecontentslabel\adjtoclabelsep%
+ \SUF@SUBPAR@contentslabel\adjtoclabelsep%
  \SUF@tocSUBPAR@font}{\SUF@tocSUBPAR@font}{, 
  \thecontentspage.}[][\adjtocpagesep][]
 \else
@@ -5806,282 +5062,950 @@ Janusz M.~Nowacki.
   {\SUF@titlerule\contentspage}
 \fi
 %    \end{macrocode}
-% \subparagraph{partial ToC}
-%    \begin{macrocode}
-\titlecontents*{partialtocsection}[0cm]{}{%
- \@partialtocseclabel\adjtoclabelsep\@partialtocsecfont}
- {\@partialtocsecfont}{, \thecontentspage.}[][\adjtocpagesep][]
-\titlecontents*{partialtocsubsection}[0cm]{\hskip.5em}{%
- \@partialtocsubseclabel\adjtoclabelsep\@partialtocsubsecfont}
- {\@partialtocsubsecfont}{, \thecontentspage.}[][\adjtocpagesep][]
-\titlecontents*{partialtocsubsubsection}[0cm]{\hskip.5em}{%
- \@partialtocsubsubseclabel\adjtoclabelsep\@partialtocsubsubsecfont}
- {\@partialtocsubsubsecfont}{, \thecontentspage.}[][\adjtocpagesep][]
-\titlecontents*{partialtocparagraph}[0cm]{\hskip.5em}{%
- \@partialtocparlabelfont\adjtoclabelsep\@partialtocparfont}
- {\@partialtocparfont}{, \thecontentspage.}[][\adjtocpagesep][]
-\titlecontents*{partialtocsubparagraph}[0cm]{\hskip.5em}{%
- \@partialtocsubparlabelfont\adjtoclabelsep\@partialtocsubparfont}
- {\@partialtocsubparfont}{, \thecontentspage.}[][\adjtocpagesep][]
-\newcommand{\startpartialtoc}{%
- \ifsuftesi@partialtoc\startcontents\fi}
-\newcommand{\printpartialtoc}{%
- \ifsuftesi@partialtoc
-  \setcounter{tocdepth}{5}
-   \contentsmargin{0cm}
-    \@partialtocsize
-     \@partialtocbeforespace
-      \@partialtocbeforecode\par
-       \printcontents{partialtoc}{1}{}
-      \par\@partialtocaftercode
-    \@partialtocafterspace
- \fi}
-%    \end{macrocode}
-% \subparagraph{The ToC, LoF and LoT in the \opt{article} structure}
+% \subparagraph{partial ToC}
+%    \begin{macrocode}
+\ifSUF@partialtoc
+  \titlecontents*{partialtocsection}[0cm]{}{%
+   \@partialtocseclabel\adjtoclabelsep\@partialtocsecfont}
+   {\@partialtocsecfont}{, \thecontentspage.}[][\adjtocpagesep][]
+   \ifsuftesi@article
+  \titlecontents*{partialtocsubsection}[0cm]{}{%
+   \@partialtocsubseclabel\adjtoclabelsep\@partialtocsubsecfont}
+   {\@partialtocsubsecfont}{, \thecontentspage.}[][\adjtocpagesep][]
+   \else
+  \titlecontents*{partialtocsubsection}[0cm]{\hskip.5em}{%
+   \@partialtocsubseclabel\adjtoclabelsep\@partialtocsubsecfont}
+   {\@partialtocsubsecfont}{, \thecontentspage.}[][\adjtocpagesep][]
+   \fi
+  \titlecontents*{partialtocsubsubsection}[0cm]{\hskip.5em}{%
+   \@partialtocsubsubseclabel\adjtoclabelsep\@partialtocsubsubsecfont}
+   {\@partialtocsubsubsecfont}{, \thecontentspage.}[][\adjtocpagesep][]
+  \titlecontents*{partialtocparagraph}[0cm]{\hskip.5em}{%
+   \@partialtocparlabelfont\adjtoclabelsep\@partialtocparfont}
+   {\@partialtocparfont}{, \thecontentspage.}[][\adjtocpagesep][]
+  \titlecontents*{partialtocsubparagraph}[0cm]{\hskip.5em}{%
+   \@partialtocsubparlabelfont\adjtoclabelsep\@partialtocsubparfont}
+   {\@partialtocsubparfont}{, \thecontentspage.}[][\adjtocpagesep][]
+    \ifsuftesi@article
+        \let\startsecpartialtoc\startcontents
+        \let\startchappartialtoc\relax
+      \else
+        \let\startchappartialtoc\startcontents
+        \let\startsecpartialtoc\relax
+    \fi
+  \newcommand{\printpartialtoc}{%
+    \setcounter{tocdepth}{5}
+     \contentsmargin{0cm}
+      \@partialtocsize
+       \@partialtocbeforespace
+        \@partialtocbeforecode\par
+         \ifsuftesi@article
+         \printcontents{partialtoc}{2}{}
+         \else
+         \printcontents{partialtoc}{1}{}
+         \fi
+        \par\@partialtocaftercode
+      \@partialtocafterspace
+   }
+\else
+  \let\startchappartialtoc\relax
+  \let\startsecpartialtoc\relax
+  \def\printpartialtoc{%
+    \ClassWarningNoLine{suftesi}%
+      {To activate \string\printpartialtoc\MessageBreak
+      load the 'partialtoc' option}}
+\fi
+%    \end{macrocode}
+% \subparagraph{The ToC, LoF and LoT in the \opt{article} structure}
+%    \begin{macrocode}
+\ifsuftesi@article 
+\renewcommand\tableofcontents{%
+    \vspace{2ex}%
+      \section*{\contentsname}%
+        \@mkboth{\contentsname}{\contentsname}%
+        \thispagestyle{empty}
+        \ifsuftesi@twocolumntoc
+          \begin{multicols}{2}
+            \@starttoc{toc}%
+          \end{multicols}
+        \else
+           \@starttoc{toc}%
+        \fi
+    \vspace{2ex}%
+   }
+\renewcommand\listoffigures{%
+    \vspace{2ex}%
+    \section*{\listfigurename}%
+       \@mkboth{\listfigurename}{\listfigurename}%
+     \thispagestyle{empty}
+        \ifsuftesi@twocolumnlof
+          \begin{multicols}{2}
+            \@starttoc{lof}%
+          \end{multicols}
+        \else
+           \@starttoc{lof}%
+        \fi
+    \vspace{2ex}%
+    }
+\renewcommand\listoftables{%
+    \vspace{2ex}%
+    \section*{\listtablename}%
+        \@mkboth{\listtablename}{\listtablename}%
+      \thispagestyle{empty}
+        \ifsuftesi@twocolumnlot
+          \begin{multicols}{2}
+            \@starttoc{lot}%
+          \end{multicols}
+        \else
+           \@starttoc{lot}%
+        \fi
+    \vspace{2ex}%
+    }
+\else
+%    \end{macrocode}
+% \subparagraph{The ToC, LoF and LoT in the \opt{book} structure}
+%    \begin{macrocode}
+\renewcommand\tableofcontents{%
+    \if@twocolumn
+      \@restonecoltrue\onecolumn
+    \else
+      \@restonecolfalse
+    \fi
+    \chapter*{\contentsname}%
+        \@mkboth{%
+            \contentsname}
+           {\contentsname}%
+      \thispagestyle{empty}
+        \ifsuftesi@twocolumntoc
+          \begin{multicols}{2}
+            \@starttoc{toc}%
+          \end{multicols}
+        \else
+           \@starttoc{toc}%
+        \fi
+    \if@restonecol\twocolumn\fi
+   }
+\renewcommand\listoffigures{%
+    \if@twocolumn
+      \@restonecoltrue\onecolumn
+    \else
+      \@restonecolfalse
+    \fi
+    \chapter*{\listfigurename}%
+      \@mkboth{\listfigurename}%
+              {\listfigurename}%
+     \thispagestyle{empty}
+        \ifsuftesi@twocolumnlof
+          \begin{multicols}{2}
+            \@starttoc{lof}%
+          \end{multicols}
+        \else
+           \@starttoc{lof}%
+        \fi
+    \if@restonecol\twocolumn\fi
+    }
+\renewcommand\listoftables{%
+    \if@twocolumn
+      \@restonecoltrue\onecolumn
+    \else
+      \@restonecolfalse
+    \fi
+    \chapter*{\listtablename}%
+      \@mkboth{%
+          \listtablename}%
+         {\listtablename}%
+     \thispagestyle{empty}
+        \ifsuftesi@twocolumnlot
+          \begin{multicols}{2}
+            \@starttoc{lot}%
+          \end{multicols}
+        \else
+           \@starttoc{lot}%
+        \fi
+    \if@restonecol\twocolumn\fi
+    }
+\fi
+%    \end{macrocode}
+% \subsubsection{Commands for sections font in ToC}
+%    \begin{macrocode}
+\newcommand{\tocpartname}[1]{\def\SUF@tocpartname{#1}}
+  \tocpartname{\partname}
+\newcommand{\tocpartfont}[1]{\def\SUF@tocPART@font{#1}}
+\newcommand{\tocchapfont}[1]{\def\SUF@tocCHAP@font{#1}}
+\newcommand{\tocsecfont}[1]{\def\SUF@tocSEC@font{#1}}
+\newcommand{\tocsubsecfont}[1]{\def\SUF@tocSUBSEC@font{#1}}
+\newcommand{\tocsubsubsecfont}[1]{\def\SUF@tocSUBSUBSEC@font{#1}}
+\newcommand{\tocparfont}[1]{\def\SUF@tocPAR@font{#1}}
+\newcommand{\tocsubparfont}[1]{\def\SUF@tocSUBPAR@font{#1}}
+\newcommand{\tocpartnumfont}[1]{\def\SUF@tocPARTnum@font{#1}}\tocpartnumfont{}
+\newcommand{\tocchapnumfont}[1]{%
+  \def\SUF@CHAP@contentslabel{\begingroup#1\thecontentslabel\endgroup}}
+\newcommand{\tocsecnumfont}[1]{%
+  \def\SUF@SEC@contentslabel{\begingroup#1\thecontentslabel\endgroup}}
+\newcommand{\tocsubsecnumfont}[1]{%
+  \def\SUF@SUBSEC@contentslabel{\begingroup#1\thecontentslabel\endgroup}}
+\newcommand{\tocsubsubsecnumfont}[1]{%
+  \def\SUF@SUBSUBSEC@contentslabel{\begingroup#1\thecontentslabel\endgroup}}
+\newcommand{\tocparnumfont}[1]{%
+ \def\SUF@PAR@contentslabel{\begingroup#1\thecontentslabel\endgroup}}
+\newcommand{\tocsubparnumfont}[1]{%
+ \def\SUF@SUBPAR@contentslabel{\begingroup#1\thecontentslabel\endgroup}}
+\tocparnumfont{}
+\tocsubparnumfont{}
+%    \end{macrocode}
+% \subsubsection{The partial ToC}
+%    \begin{macrocode}
+\newcommand{\partialtocsize}[1]{%
+  \def\@partialtocsize{#1}} 
+\newcommand{\partialtocsecfont}[1]{%
+  \def\@partialtocsecfont{#1}} 
+\newcommand{\partialtocsubsecfont}[1]{%
+  \def\@partialtocsubsecfont{#1}} 
+\newcommand{\partialtocsubsubsecfont}[1]{%
+  \def\@partialtocsubsubsecfont{#1}} 
+\newcommand{\partialtocparfont}[1]{%
+ \def\@partialtocparfont{#1}} 
+\newcommand{\partialtocsubparfont}[1]{%
+ \def\@partialtocsubparfont{#1}} 
+\newcommand{\partialtocseclabel}[1]{%
+  \def\@partialtocseclabel{\begingroup#1\thecontentslabel~\endgroup}} 
+\newcommand{\partialtocsubseclabel}[1]{%
+  \def\@partialtocsubseclabel{\begingroup#1\thecontentslabel~\endgroup}} 
+\newcommand{\partialtocsubsubseclabel}[1]{%
+  \def\@partialtocsubsubseclabel{\begingroup#1\thecontentslabel~\endgroup}} 
+\newcommand{\partialtocparlabelfont}[1]{%
+ \def\@partialtocparlabelfont{\begingroup#1\thecontentslabel~\endgroup}} 
+\newcommand{\partialtocsubparlabelfont}[1]{%
+ \def\@partialtocsubparlabelfont{\begingroup#1\thecontentslabel~\endgroup}} 
+\newcommand{\partialtocbeforespace}[1]{%
+  \def\@partialtocbeforespace{\vspace*{#1}}} 
+\newcommand{\partialtocafterspace}[1]{%
+  \def\@partialtocafterspace{\vspace*{#1}}}
+\newcommand{\partialtocbeforecode}[1]{%
+  \def\@partialtocbeforecode{#1}}
+\newcommand{\partialtocaftercode}[1]{%
+  \def\@partialtocaftercode{#1}}
+\partialtocsize{\footnotesize}
+\partialtocsecfont{\itshape}
+\partialtocsubsecfont{}
+\partialtocsubsubsecfont{}
+\partialtocparfont{}
+\partialtocsubparfont{}
+\partialtocseclabel{}
+\partialtocsubseclabel{}
+\partialtocsubsubseclabel{}
+\partialtocparlabelfont{}
+\partialtocsubparlabelfont{}
+\partialtocbeforespace{0pt}
+\partialtocafterspace{0pt}
+\partialtocbeforecode{}
+\partialtocaftercode{}
+%    \end{macrocode}
+% \subsection{Headers and footers}
+%    \begin{macrocode}
+\RequirePackage{fancyhdr}
+\newcommand{\versionstring}[1]{\def\version@string{#1}}
+  \versionstring{Version of}
+\ifSUF@draftdate
+  \def\SUF@versionof{\footnotesize\texttt{\version@string{} \today}}
+\else
+  \let\SUF@versionof\relax
+\fi
+\AtBeginDocument{%
+ \pagestyle{fancy}
+  \renewcommand{\headrulewidth}{0pt} 
+  \renewcommand{\footnoterule}{}}
+%    \end{macrocode}
+% \paragraph{The \opt{default} headers}
+% In previous versions \cmd{SUF@HEAD@thechapter} and 
+% \cmd{SUF@HEAD@thesection} were preceded by \cmd{protect}.
+% This caused an error in the headers. Removing \cmd{protect} 
+% may cause other bugs. To be tested.
+%    \begin{macrocode}
+\renewcommand{\chaptermark}[1]{%
+  \markboth{\chaptertitlename\ \SUF@HEAD@thechapter}{#1}}
+  \ifsuftesi@article
+    \renewcommand{\sectionmark}[1]{\markright{\SUF@HEAD@thesection.\ #1}}
+      \else
+    \renewcommand{\sectionmark}[1]{}
+  \fi
+%    \end{macrocode}
+% \paragraph{Page styles}
+%    \begin{macrocode}
+\fancypagestyle{plain}{\fancyhf{}\fancyfoot[RE,LO]{\SUF@versionof}}
+\fancypagestyle{empty}{\fancyhf{}\fancyfoot[RE,LO]{\SUF@versionof}}
+\fancypagestyle{sufplain}{%
+ \fancyhf{}%
+ \fancyfoot[RE,LO]{\SUF@versionof}
+ \fancyfoot[C]{\footnotesize\SUF@thepage}}
+\fancypagestyle{centerheader}{%
+  \fancyhf{}%
+  \fancyfoot[RE,LO]{\SUF@versionof}
+  \fancyhead[CO]{\footnotesize\breakinbodyfalse\SUF@rightmark} 
+  \fancyhead[CE]{\footnotesize\breakinbodyfalse\SUF@mark} 
+  \fancyfoot[C]{\footnotesize\SUF@thepage}}
+\fancypagestyle{sufdefault}{%
+  \fancyhf{}%
+  \fancyfoot[RE,LO]{\SUF@versionof}
+  \fancyhead[LE,RO]{\footnotesize\SUF@thepage} 
+  \fancyhead[LO]{\footnotesize\breakinbodyfalse\SUF@rightmark}
+  \fancyhead[RE]{\footnotesize\breakinbodyfalse\SUF@mark}}
+\ifsuftesi@article
+  \ifsuftesi@authortitle
+    \def\SUF@mark{\SUF@leftmark}
+  \else
+    \def\SUF@mark{\SUF@rightmark}
+  \fi
+\else
+  \def\SUF@mark{\SUF@leftmark}
+\fi
+\def\SUF@leftrightmark{%
+  \if@mainmatter\leftmark\else\rightmark\fi} 
+\pagestyle{sufdefault}
+  \ifsuftesi@centerheader\pagestyle{centerheader}\else\fi
+  \ifsuftesi@sufplain\pagestyle{sufplain}\else\fi
+%    \end{macrocode}
+% \subsection{Notes and quotations}
+% \paragraph{Block Quotations}
+% New environments for block quotations according to a popular Italian style. 
+% The font size is the same of the footnotes and the margins are set to \cmd{parindent}.
+%    \begin{macrocode}
+\renewenvironment{quotation}
+  {\list{}{\listparindent\parindent%
+    \itemindent    \listparindent
+    \SUF@quote@style      
+    \parsep    \z@ \@plus\p@}%
+    \item\relax%
+    \SUF@quotation@size%
+    \noindent\ignorespaces}
+  {\endlist}
+\renewenvironment{quote}
+  {\list{}{%
+    \SUF@quote@style}%
+    \item\relax%
+    \SUF@quotation@size}% \ignorespaces?
+  {\endlist}
+\renewenvironment{verse}
+  {\let\\\@centercr
+    \list{}{\itemsep      \z@
+      \itemindent   -1.5em%
+      \listparindent\itemindent
+      \rightmargin  \leftmargin
+      \advance\leftmargin 1.5em}%
+    \item\relax
+    \SUF@quotation@size}
+  {\endlist}  
+%    \end{macrocode}
+% \paragraph{The \opt{fewfootnotes} option}
+% Enable only with three footnotes per page maximum.
+%    \begin{macrocode}
+\ifSUF@fewfootnotes
+\RequirePackage[perpage]{zref}
+ \zmakeperpage{footnote}
+\AtBeginDocument{%
+\def\@fnsymbol#1{%
+   \ifcase#1\or \TextOrMath\textasteriskcentered *\or
+   \TextOrMath {\textasteriskcentered\textasteriskcentered}{**}\or
+   \TextOrMath {\textasteriskcentered%
+                \textasteriskcentered\textasteriskcentered}{***}\or
+  \protect\ClassWarningNoLine{suftesi}%
+  {Too many footnotes per page. Compile again or\MessageBreak
+   remove the class option 'fewfootnote'}
+  \fi
+}%
+}
+\def\thefootnote{\@fnsymbol\c@footnote}%
+\fi
+%    \end{macrocode}
+% \paragraph{The \cmd{xfootnote} command} Prints a footnote with discretionary
+% symbol give in the first argument.
+%    \begin{macrocode}
+\newcommand*\xfootnote[1][*]{%
+  \xdef\@thefnmark{#1}%
+    \@footnotemark\@footnotetext}
+%    \end{macrocode}
+% \paragraph{Marginal notes}
+% The |\marginpar| command is redefined according to the look 
+% of \emph{Classic Thesis} by 
+% André \textcite{Miede:2011}\index{Miede, André}. 
+%    \begin{macrocode}
+\let\oldmarginpar\marginpar
+\ifSUF@marginpar
+  \def\SUF@mpsetup{%
+    \itshape
+      \footnotesize%
+      \parindent=0pt \lineskip=0pt \lineskiplimit=0pt%
+      \tolerance=2000 \hyphenpenalty=300 \exhyphenpenalty=300%
+      \doublehyphendemerits=100000%
+      \finalhyphendemerits=\doublehyphendemerits}
+    \renewcommand{\marginpar}[1]{\oldmarginpar%
+       [\SUF@mpsetup\raggedleft\hspace{0pt}{#1}]%
+       {\SUF@mpsetup\raggedright\hspace{0pt}{#1}}}
+\else
+  \renewcommand\marginpar[2][]{}
+\fi
+%    \end{macrocode}
+% Redefine an internal command of the \sty{todonotes} package in 
+% order to use the class-specific marginal notes when this 
+% package is loaded. This redefinition simply substitute 
+% \cmd{oldmarginpar} to \cmd{marginpar}:
+%    \begin{macrocode}
+\AtBeginDocument{%
+\@ifpackageloaded{todonotes}{%
+  \renewcommand{\@todonotes@drawMarginNoteWithLine}{%
+    \begin{tikzpicture}[remember picture, overlay, baseline=-0.75ex]%
+      \node [coordinate] (inText) {};%
+    \end{tikzpicture}%
+      \oldmarginpar[{% Draw note in left margin
+      \@todonotes@drawMarginNote%
+      \@todonotes@drawLineToLeftMargin%
+      }]{% Draw note in right margin
+      \@todonotes@drawMarginNote%
+      \@todonotes@drawLineToRightMargin%
+      }
+    }
+  }
+{\relax}}
+%    \end{macrocode}
+% \subsection{The \opt{collection} structure}
+%    \begin{macrocode}
+\ifsuftesi@collection
+\newcounter{journalnumber}
+\newcounter{journalvolume}
+\newcounter{issue}
+\newcounter{title}
+\setcounter{title}{1}
+\newcounter{article}
+\setcounter{article}{0}
+\setcounter{journalnumber}{0}
+\setcounter{tocdepth}{0}
+\def\journalname#1{\gdef\@journalname{#1}}
+  \def\@journalname{\@latex@warning@no@line{%
+    No \noexpand\journalname given}}
+\def\journalvolume#1{\gdef\@journalvolume{#1}}
+  \def\@journalvolume{\@latex@warning@no@line{%
+    No \noexpand\journalvolume given}}
+\def\journalnumber#1{\gdef\@journalnumber{#1}}
+  \def\@journalnumber{\@latex@warning@no@line{%
+    No \noexpand\journalnumber given}}
+\def\issue#1{\gdef\@issue{#1}}
+  \def\@issue{\@latex@warning@no@line{%
+    No \noexpand\issue given}}
+\def\journalyear#1{\gdef\@journalyear{#1}}
+  \def\@journalyear{\@latex@warning@no@line{%
+    No \noexpand\journalyear given}}
+\def\journalwebsite#1{\gdef\@journalwebsite{\url{#1}}}
+  \def\@journalwebsite{\@latex@warning@no@line{%
+    No \noexpand\journalwebsite given}}
+\def\thanks#1{\footnotemark\ \protected@xdef\@thanks{%
+  \@thanks\protect\footnotetext[\the\c@footnote]{#1}}}
+\def\fulljournal{\emph{\@journalname} \@journalnumber, %
+  \@issue{} \@journalyear}
+\def\issuename#1{\gdef\@issuename{#1}}
+\def\collectiontitle#1{\gdef\@collectiontitle{#1}}
+  \def\@collectiontitle{\@latex@warning@no@line{%
+    No \noexpand\collectiontitle given}}
+\def\collectioneditor#1{\gdef\@collectioneditor{#1}}
+  \def\@collectioneditor{\@latex@warning@no@line{%
+    No \noexpand\collectioneditor given}}
+\renewcommand*{\title}[2][]{%
+  \gdef\@headtitle{#1}\gdef\@title{#2}\markright{#1}}
+    \edef\title{\noexpand\@dblarg
+  \expandafter\noexpand\csname\string\title\endcsname}
+    \def\@headtitle{--missing title--%
+        \protect\ClassWarningNoLine{suftesi}{%
+            No \string\title\space given \MessageBreak%
+            See the class documentation for explanation}}
+    \def\@title{--missing title--%
+        \protect\ClassWarningNoLine{suftesi}{%
+            No \string\title\space given\MessageBreak%
+            See the class documentation for explanation}}
+    \def\@author{--missing author--%
+        \protect\ClassWarningNoLine{suftesi}{%
+            No \string\author\space given\MessageBreak%
+            See the class documentation for explanation}}
+\newcommand*\l@title[2]{%
+  \ifnum \c@tocdepth >\m@ne
+    \addpenalty{-\@highpenalty}%
+    \vskip 1.0ex \@plus\p@
+    \begingroup
+      \parindent \z@ \rightskip \@pnumwidth
+      \parfillskip -\@pnumwidth
+      \advance\leftskip1em
+      \hskip -\leftskip
+      #1\nobreak%
+    \ifsuftesi@dottedtoc\dotfill%
+      \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
+        \else
+          \ifsuftesi@raggedtoc%
+            \nobreak\hskip1em #2 \hfill\null\par
+              \else
+                \ifsuftesi@pagelefttoc
+              \ClassError{suftesi}
+                {\MessageBreak
+                You can not use tocstyle=leftpage\MessageBreak
+                  with structure=collection}
+                {You can not use tocstyle=leftpage\MessageBreak
+                  with structure=collection}
+            \else
+          \nobreak\hfill #2\par
+        \fi
+      \fi
+    \fi
+      \penalty\@highpenalty
+    \endgroup
+  \fi}
+\renewcommand\maketitle{\par
+  \begingroup
+    \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+    \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
+    \long\def\@makefntext##1{\parindent 1em\noindent
+            \hb@xt@1.8em{%
+                \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
+    \if@twocolumn
+      \ifnum \col@number=\@ne
+        \@maketitle
+      \else
+        \twocolumn[\@maketitle]%
+      \fi
+    \else
+      \newpage
+      \global\@topnum\z@ % Prevents figures from going at top of page.
+      \@maketitle
+    \fi
+    \thispagestyle{plain}\@thanks%
+  \endgroup
+   \setcounter{section}{0}%
+%  \setcounter{footnote}{0}%
+%  \global\let\thanks\relax
+%  \global\let\maketitle\relax
+%  \global\let\@maketitle\relax
+%  \global\let\@thanks\@empty
+%  \global\let\@author\@empty
+%  \global\let\@date\@empty
+%  \global\let\@title\@empty
+%  \global\let\title\relax
+%  \global\let\author\relax
+%  \global\let\date\relax
+   \global\let\and\relax
+   \let\thanks\@gobble}
+\AtBeginDocument{\def\@maketitle{%
+  \refstepcounter{article}
+  \SUF@chaptersize
+   \SUF@authortitle@align
+    \let\footnote\thanks
+     \parindent=0pt
+    {\SUF@second}%
+   \label{begin:\thearticle}
+%    \end{macrocode}
+% Check if you don't use \sty{hyperrref} provided by Enrico Gregorio
+% (\url{https://tex.stackexchange.com/a/427203/231952}):
+%    \begin{macrocode}
+   \@ifundefined{Hy@raisedlink}{\let\texorpdfstring\@firstoftwo}{%
+    \xdef\@currentHref{title.\thearticle}%
+     \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+    }%  
+%    \end{macrocode}
+%    \begin{macrocode}
+   \csname toc@entry@\endcsname
+    \begingroup%
+    \let\thanks\@gobble
+    \addcontentsline{toc}{title}{%
+    {\SUF@tocAUT@font{\@author}}\texorpdfstring{\newline}{, }%
+    {\SUF@tocTIT@font{\@headtitle}}}
+    \endgroup%
+    \par\nobreak\vspace{2ex}
+    {\SUF@first%
+    \vskip1.5cm}}%
+    }
+% \newenvironment{article}
+%  {\begingroup
+%  \global\let\@thanks\@empty
+%  \setcounter{footnote}{0}
+%  \refstepcounter{article}
+%  \label{begin:\thearticle}
+%}
+%  {\label{end:\thearticle}\endgroup
+%  }
+\newenvironment{article}
+  {\begingroup
+  \setcounter{section}{0}
+  \setcounter{footnote}{0}
+  \setcounter{figure}{0}
+  \setcounter{table}{0}}
+  {\label{end:\thearticle}
+    \cleardoublepage
+      \global\let\@thanks\@empty
+    \endgroup}
+\newcommand{\collectiontitlepage}{%
+  \thispagestyle{empty}%
+    \begingroup
+     \centering
+       \vspace*{\stretch{1}}
+     
+       {\SUF@chaptersize\@collectiontitle\par}
+         \vskip5ex
+     
+       \@collectioneditor
+       \vspace*{\stretch{3}}
+            
+    \endgroup
+  \clearpage}
+\def\frontispiece{\collectiontitlepage}
+%    \end{macrocode}
+% In the collection document structure the articles are treated as
+% chapters but you would not need to print in
+% the table of contents all the sections of every article. So first of 
+% all we include in the table of contents only the author and the 
+% title of each paper. Anyway the sections inside each paper are 
+% numbered as in standard articles:
+%    \begin{macrocode}
+  \setcounter{tocdepth}{0}
+  \renewcommand\thesection{%
+          \@arabic\c@section}
+  \renewcommand\thesubsection{%
+          \thesection.\@arabic\c@subsection}
+  \renewcommand\thesubsubsection{%
+          \thesubsection.\@arabic\c@subsubsection}
+  \renewcommand\theparagraph{%
+          \thesubsubsection.\@arabic\c@paragraph}
+  \renewcommand\thesubparagraph{%
+          \theparagraph.\@arabic\c@subparagraph}
+  \else
+\fi
+%    \end{macrocode}
+% \subsection{Title page}
+% The new \cmd{title} command has an optional argument 
+% which can be used in the headers.
+%    \begin{macrocode}
+\def\isbn#1{\gdef\@isbn{#1}}
+\def\@issn{\@latex@warning@no@line{%
+  No \noexpand\isbn given}}
+\def\doi#1{\gdef\@doi{#1}}
+\def\@doi{\@latex@warning@no@line{%
+  No \noexpand\doi given}}
+\def\isbn#1{\gdef\@issn{#1}}
+\def\@issn{\@latex@warning@no@line{%
+  No \noexpand\isbn given}}
+\renewcommand*{\title}[2][]{\gdef\@headtitle{#1}\gdef\@title{#2}}
+\edef\title{\noexpand\@dblarg
+  \expandafter\noexpand\csname\string\title\endcsname}
+\def\@headtitle{--missing title--%
+           \protect\ClassWarningNoLine{suftesi}{%
+            No \string\title\space given \MessageBreak%
+            See the class documentation for explanation}}
+\def\@title{--missing title--%
+           \protect\ClassWarningNoLine{suftesi}{%
+            No \string\title\space given\MessageBreak%
+            See the class documentation for explanation}}
+\def\@author{--missing author--%
+           \protect\ClassWarningNoLine{suftesi}{%
+            No \string\author\space given\MessageBreak%
+            See the class documentation for explanation}}
+\ifSUF@titlepage
+  \renewcommand\maketitle{%
+  \begin{titlepage}
+    \let\footnotesize\small
+    \let\footnoterule\relax
+    \let \footnote \thanks
+    \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+    \null\vfil
+    \vskip 60\p@
+    \begin{center}%
+      {\SUF@first\par}%
+      \vskip 3em%
+      {\lineskip .75em%
+        \begin{tabular}[t]{c}%
+          \SUF@second
+        \end{tabular}\par}%
+        \vskip 1.5em%
+      {\SUF@datefont\@date\par}%       
+    \end{center}\par
+    \@thanks
+    \vfil\null
+  \end{titlepage}%
+  \setcounter{footnote}{0}%
+  \global\let\thanks\relax
+  \global\let\maketitle\relax
+  \global\let\@thanks\@empty
+  \global\let\@date\@empty
+  \global\let\date\relax
+  \global\let\and\relax}
+\else
+\renewcommand\maketitle{\par
+   \begingroup
+     \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+     \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
+     \long\def\@makefntext##1{\parindent 1em\noindent
+             \hb@xt@1.8em{%
+                 \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
+     \if@twocolumn
+       \ifnum \col@number=\@ne
+         \@maketitle
+       \else
+         \twocolumn[\@maketitle]%
+       \fi
+     \else
+       \newpage
+       \global\@topnum\z@% Prevents figures from going at top of page.
+       \@maketitle
+     \fi
+     \thispagestyle{plain}\@thanks
+   \endgroup
+   \setcounter{footnote}{0}%
+   \global\let\thanks\relax
+   \global\let\maketitle\relax
+   \global\let\@maketitle\relax
+   \global\let\@thanks\@empty
+   \global\let\@date\@empty
+   \global\let\date\relax
+   \global\let\and\relax}
+\def\@maketitle{%
+   \newpage
+   \null
+   \vskip 2em%
+   \begin{center}%
+   \let \footnote \thanks
+     {\SUF@first\par}%
+     \vskip 1.5em%
+     {\lineskip .5em%
+       \begin{tabular}[t]{c}%
+        \SUF@second\par
+       \end{tabular}\par}%
+     \vskip 1em%
+     {\SUF@datefont\@date\par}%
+   \end{center}%
+   \par
+   \vskip 1.5em}
+\fi
+%    \end{macrocode}
+% \subsection{Cover page}
 %    \begin{macrocode}
-\ifsuftesi@article 
-\renewcommand\tableofcontents{%
-    \vspace{2ex}%
-      \section*{\contentsname}%
-        \@mkboth{\contentsname}{\contentsname}%
-        \thispagestyle{empty}
-        \ifsuftesi@twocolumntoc
-          \begin{multicols}{2}
-            \@starttoc{toc}%
-          \end{multicols}
-        \else
-           \@starttoc{toc}%
-        \fi
-    \vspace{2ex}%
-   }
-\renewcommand\listoffigures{%
-    \vspace{2ex}%
-    \section*{\listfigurename}%
-       \@mkboth{\listfigurename}{\listfigurename}%
-     \thispagestyle{empty}
-        \ifsuftesi@twocolumnlof
-          \begin{multicols}{2}
-            \@starttoc{lof}%
-          \end{multicols}
-        \else
-           \@starttoc{lof}%
-        \fi
-    \vspace{2ex}%
-    }
-\renewcommand\listoftables{%
-    \vspace{2ex}%
-    \section*{\listtablename}%
-        \@mkboth{\listtablename}{\listtablename}%
-      \thispagestyle{empty}
-        \ifsuftesi@twocolumnlot
-          \begin{multicols}{2}
-            \@starttoc{lot}%
-          \end{multicols}
-        \else
-           \@starttoc{lot}%
-        \fi
-    \vspace{2ex}%
-    }
-\else
+\newcommand{\Ctitle}[1]{\def\@Ctitle{#1}}
+\newcommand{\Csubtitle}[1]{\def\@Csubtitle{#1}}
+\newcommand{\Cauthor}[1]{\def\@Cauthor{#1}}
+\newcommand{\Ceditor}[1]{\def\@Ceditor{#1}}
+\newcommand{\Cfoot}[1]{\def\@Cfoot{#1}}
+\newcommand{\Cpagecolor}[1]{\def\@Cpagecolor{#1}}
+\newcommand{\Ccirclecolor}[1]{\def\@Ccirclecolor{#1}}
+\newcommand{\Ctextcolor}[1]{\def\@Ctextcolor{#1}}
+\newcommand{\Cfootcolor}[1]{\def\@Cfootcolor{#1}}
+\Cauthor{}
+\Ctitle{}
+\Csubtitle{}
+\Ceditor{}
+\Cfoot{}
+\Cpagecolor{gray!30}
+\Ctextcolor{white}
+\Cfootcolor{black}
+\AtBeginDocument{
+\@ifpackageloaded{tikz}{%
+\newcommand\makecover[1][]{%
+\begin{titlepage}
+\begin{tikzpicture}[overlay,remember picture]
+  \draw[draw=none,fill=\@Cpagecolor]
+    (current page.north west) rectangle (current page.south east);
+  \node[anchor=center,yshift=.22\paperwidth] at (current page.center) (c) {};
+  \draw[draw=none,fill=gray,#1]
+    (c)  circle (.38\paperwidth) ;
+  \node[anchor=center] at (c) (author) {%
+\parbox{.7\paperwidth}{%
+  \centering
+    \ifx\@Cauthor\@empty
+     \else
+       {\scshape\color{\@Ctextcolor}\@Cauthor\\}
+       \vspace*{\baselineskip}
+     \fi
+
+     \ifx\@Ctitle\@empty
+     \else
+     {\Huge\bfseries\color{\@Ctextcolor}\@Ctitle\\[1ex]}
+     \fi
+
+    \ifx\@Csubtitle\@empty
+     \else
+       {\smallskip\Large\color{\@Ctextcolor}\@Csubtitle\\}
+     \fi
+
+    \ifx\@Ceditor\@empty
+     \else
+       {\vspace*{2\baselineskip}\color{\@Ctextcolor}\@Ceditor\\}
+     \fi}
+};
+\ifx\@Cfoot\@empty\else
+  \node[xshift=.5\paperwidth,yshift=1cm,
+    align=center,text=\@Cfootcolor,anchor=south]
+  at (current page.south west) {\@Cfoot};
+\fi
+\end{tikzpicture}
+\end{titlepage}
+}
+}
+{\def\makecover{\ClassError{suftesi}{\MessageBreak%
+ ***********************************\MessageBreak
+ * To use the \noexpand\makecover command\MessageBreak
+ * load the 'tikz' package.\MessageBreak
+ ************************************}{\MessageBreak%
+ ***********************************\MessageBreak
+ * To use the \noexpand\makecover command\MessageBreak
+ * load the 'tikz' package.\MessageBreak
+ ************************************}}}
+}
 %    \end{macrocode}
-% \subparagraph{The ToC, LoF and LoT in the \opt{book} structure}
+% \subsection{Frontispiece}
 %    \begin{macrocode}
-\renewcommand\tableofcontents{%
-    \if@twocolumn
-      \@restonecoltrue\onecolumn
+\AtBeginDocument{%
+\@ifpackagewith{frontespizio}{suftesi}{%
+\ifsuftesi@periodical
+  \Margini {5.5cm}{7cm}{4.5cm}{0cm}
     \else
-      \@restonecolfalse
-    \fi
-    \chapter*{\contentsname}%
-        \@mkboth{%
-            \contentsname}
-           {\contentsname}%
-      \thispagestyle{empty}
-        \ifsuftesi@twocolumntoc
-          \begin{multicols}{2}
-            \@starttoc{toc}%
-          \end{multicols}
-        \else
-           \@starttoc{toc}%
-        \fi
-    \if@restonecol\twocolumn\fi
-   }
-\renewcommand\listoffigures{%
-    \if@twocolumn
-      \@restonecoltrue\onecolumn
+\ifsuftesi@periodicalaureo
+  \Margini {5.5cm}{7cm}{4.5cm}{0cm}
+    \else
+\ifsuftesi@compact
+  \Margini {4.5cm}{7cm}{4.5cm}{0cm}
+    \else
+\ifsuftesi@compactaureo
+  \Margini {4.5cm}{7cm}{4.5cm}{0cm}
+    \else
+\ifsuftesi@supercompact
+  \Margini {4.5cm}{10cm}{6cm}{1cm}
+    \else
+\ifsuftesi@supercompactaureo
+  \Margini {4.5cm}{10cm}{6cm}{1cm}
+    \else
+\ifsuftesi@pocketa
+  \Margini {4.5cm}{10cm}{6cm}{1cm}
+    \else
+\ifsuftesi@pocketb
+  \Margini {4.5cm}{10cm}{6cm}{1cm}
+    \else
+\ifsuftesi@pocketc
+  \Margini {4.5cm}{10cm}{6cm}{1cm}
+    \else
+\fi\fi\fi\fi\fi\fi\fi\fi\fi}
+{\@ifpackageloaded{frontespizio}{%
+\ifsuftesi@periodical
+  \Margini {1cm}{7cm}{5cm}{1cm}
+  \Rientro{1cm}
+    \else
+\ifsuftesi@periodicalaureo
+  \Margini {1cm}{7cm}{5cm}{1cm}
+  \Rientro{1cm}
+    \else
+\ifsuftesi@compact
+  \Margini {1cm}{7cm}{6cm}{1cm}
+  \Rientro{1cm}
+    \else
+\ifsuftesi@compactaureo
+  \Margini {1cm}{7cm}{6cm}{1cm}
+  \Rientro{1cm}
+    \else
+\ifsuftesi@supercompact
+  \Margini {1cm}{10cm}{8cm}{1cm}
+  \Rientro{1cm}
+    \else
+\ifsuftesi@supercompactaureo
+  \Margini {1cm}{10cm}{8cm}{1cm}
+  \Rientro{1cm}
+    \else
+\ifsuftesi@pocketa
+  \Margini {1cm}{10cm}{8cm}{1cm}
+  \Rientro{1cm}
+    \else
+\ifsuftesi@pocketb
+  \Margini {1cm}{10cm}{8cm}{1cm}
+  \Rientro{1cm}
     \else
-      \@restonecolfalse
-    \fi
-    \chapter*{\listfigurename}%
-      \@mkboth{\listfigurename}%
-              {\listfigurename}%
-     \thispagestyle{empty}
-        \ifsuftesi@twocolumnlof
-          \begin{multicols}{2}
-            \@starttoc{lof}%
-          \end{multicols}
-        \else
-           \@starttoc{lof}%
-        \fi
-    \if@restonecol\twocolumn\fi
-    }
-\renewcommand\listoftables{%
-    \if@twocolumn
-      \@restonecoltrue\onecolumn
+\ifsuftesi@pocketc
+  \Margini {1cm}{10cm}{8cm}{1cm}
+  \Rientro{1cm}
     \else
-      \@restonecolfalse
-    \fi
-    \chapter*{\listtablename}%
-      \@mkboth{%
-          \listtablename}%
-         {\listtablename}%
-     \thispagestyle{empty}
-        \ifsuftesi@twocolumnlot
-          \begin{multicols}{2}
-            \@starttoc{lot}%
-          \end{multicols}
-        \else
-           \@starttoc{lot}%
-        \fi
-    \if@restonecol\twocolumn\fi
-    }
-\fi
-%    \end{macrocode}
-% \subsection{Customizations}
-% \subsubsection{Sections font}
-%    \begin{macrocode}
-\newcommand{\tocpartname}[1]{\def\SUF@tocpartname{#1}}
-  \tocpartname{\partname}
-\newcommand{\partfont}[1]{\def\SUF@PART@StyleSwitch{#1}}
-\newcommand{\chapfont}[1]{\def\SUF@CHAP@StyleSwitch{#1}}
-\newcommand{\secfont}[1]{\def\SUF@SEC@StyleSwitch{#1}}
-\newcommand{\subsecfont}[1]{\def\SUF@SUBSEC@StyleSwitch{#1}}
-\newcommand{\subsubsecfont}[1]{\def\SUF@SUBSUBSEC@StyleSwitch{#1}}
-\newcommand{\partnumfont}[1]{\def\SUF@PART@font{#1}}\partnumfont{}
-\newcommand{\chapnumfont}[1]{\def\SUF@thechapter{#1}}
-\newcommand{\secnumfont}[1]{\def\SUF@thesection{#1}}
-\newcommand{\subsecnumfont}[1]{\def\SUF@thesubsection{#1}}
-\newcommand{\subsubsecnumfont}[1]{\def\SUF@thesubsubsection{#1}}
-\newcommand{\titlefont}[1]{\def\SUF@Tfont@style{#1}\let\SUF@Tfont@shape\relax}
-\newcommand{\authorfont}[1]{\def\SUF@Afont@style{#1}\let\SUF@Afont@shape\relax}
-\newcommand{\datefont}[1]{\def\SUF@datefont{#1}}
-%    \end{macrocode}
-% \subsubsection{Sections font in ToC}
-%    \begin{macrocode}
-\newcommand{\tocpartfont}[1]{\def\SUF@tocPART@font{#1}}
-\newcommand{\tocchapfont}[1]{\def\SUF@tocCHAP@font{#1}}
-\newcommand{\tocsecfont}[1]{\def\SUF@tocSEC@font{#1}}
-\newcommand{\tocsubsecfont}[1]{\def\SUF@tocSUBSEC@font{#1}}
-\newcommand{\tocsubsubsecfont}[1]{\def\SUF@tocSUBSUBSEC@font{#1}}
-\newcommand{\tocparfont}[1]{\def\SUF@tocPAR@font{#1}}
-\newcommand{\tocsubparfont}[1]{\def\SUF@tocSUBPAR@font{#1}}
-\newcommand{\tocpartnumfont}[1]{\def\SUF@tocPARTnum@font{#1}}\tocpartnumfont{}
-\newcommand{\tocchapnumfont}[1]{%
-  \def\SUF@CHAP@thecontentslabel{\begingroup#1\thecontentslabel\endgroup}}
-\newcommand{\tocsecnumfont}[1]{%
-  \def\SUF@SEC@thecontentslabel{\begingroup#1\thecontentslabel\endgroup}}
-\newcommand{\tocsubsecnumfont}[1]{%
-  \def\SUF@SUBSEC@thecontentslabel{\begingroup#1\thecontentslabel\endgroup}}
-\newcommand{\tocsubsubsecnumfont}[1]{%
-  \def\SUF@SUBSUBSEC@thecontentslabel{\begingroup#1\thecontentslabel\endgroup}}
-\newcommand{\tocparnumfont}[1]{%
- \def\SUF@PAR@thecontentslabel{\begingroup#1\thecontentslabel\endgroup}}
-\newcommand{\tocsubparnumfont}[1]{%
- \def\SUF@SUBPAR@thecontentslabel{\begingroup#1\thecontentslabel\endgroup}}
-\tocparnumfont{}
-\tocsubparnumfont{}
+\fi\fi\fi\fi\fi\fi\fi\fi\fi}
+{\relax}}}
 %    \end{macrocode}
-% \subsubsection{The partial ToC}
+% \paragraph{Colophon or copyright notice} 
 %    \begin{macrocode}
-\newcommand{\partialtocsize}[1]{%
-  \def\@partialtocsize{#1}} 
-\newcommand{\partialtocsecfont}[1]{%
-  \def\@partialtocsecfont{#1}} 
-\newcommand{\partialtocsubsecfont}[1]{%
-  \def\@partialtocsubsecfont{#1}} 
-\newcommand{\partialtocsubsubsecfont}[1]{%
-  \def\@partialtocsubsubsecfont{#1}} 
-\newcommand{\partialtocparfont}[1]{%
- \def\@partialtocparfont{#1}} 
-\newcommand{\partialtocsubparfont}[1]{%
- \def\@partialtocsubparfont{#1}} 
-\newcommand{\partialtocseclabel}[1]{%
-  \def\@partialtocseclabel{\begingroup#1\thecontentslabel\endgroup}} 
-\newcommand{\partialtocsubseclabel}[1]{%
-  \def\@partialtocsubseclabel{\begingroup#1\thecontentslabel\endgroup}} 
-\newcommand{\partialtocsubsubseclabel}[1]{%
-  \def\@partialtocsubsubseclabel{\begingroup#1\thecontentslabel\endgroup}} 
-\newcommand{\partialtocparlabelfont}[1]{%
- \def\@partialtocparlabelfont{\begingroup#1\thecontentslabel\endgroup}} 
-\newcommand{\partialtocsubparlabelfont}[1]{%
- \def\@partialtocsubparlabelfont{\begingroup#1\thecontentslabel\endgroup}} 
-\newcommand{\partialtocbeforespace}[1]{%
-  \def\@partialtocbeforespace{\vspace*{#1}}} 
-\newcommand{\partialtocafterspace}[1]{%
-  \def\@partialtocafterspace{\vspace*{#1}}}
-\newcommand{\partialtocbeforecode}[1]{%
-  \def\@partialtocbeforecode{#1}}
-\newcommand{\partialtocaftercode}[1]{%
-  \def\@partialtocaftercode{#1}}
-\partialtocsize{\footnotesize}
-\partialtocsecfont{\itshape}
-\partialtocsubsecfont{}
-\partialtocsubsubsecfont{}
-\partialtocparfont{}
-\partialtocsubparfont{}
-\partialtocseclabel{\itshape}
-\partialtocsubseclabel{}
-\partialtocsubsubseclabel{}
-\partialtocparlabelfont{}
-\partialtocsubparlabelfont{}
-\partialtocbeforespace{18ex}
-\partialtocafterspace{-18ex}
-\partialtocbeforecode{}
-\partialtocaftercode{}
+\newcommand{\colophon}[3][]{%
+  \thispagestyle{empty}
+  \null
+    \vfill
+     \def\next{#2}
+         \ifx\next\@empty\else
+            \noindent Copyright \copyright{} \the\year~#2\\[1ex]
+          Tutti i diritti riservati
+        \fi
+  \vfill  
+  {\small\noindent Questo lavoro \`e stato composto con \LaTeX{}%
+     \def\next{#1}
+        \ifx\next\@empty\else su #1 
+      \fi usando la classe \textsf{suftesi} di 
+      Ivan Valbusa\index{Valbusa, Ivan}. #3\par}
+      \cleardoublepage}
+\newcommand{\bookcolophon}[2]{%
+  \thispagestyle{empty}
+  \null
+    \vfill
+            \noindent #1
+  \vfill  
+  {\small\noindent #2\par}
+      \cleardoublepage}
+\newcommand{\artcolophon}[1]{%
+\thispagestyle{empty}
+  \null
+    \vfill
+  {\small\noindent #1\par}}
+\newcommand{\finalcolophon}[1]{%
+\thispagestyle{empty}
+  \null\vspace*{\stretch{1}}
+  \begin{center}
+  \begin{minipage}{.5\textwidth}
+  \centering\small #1
+  \end{minipage}
+  \end{center}
+    \vspace*{\stretch{6}}}
 %    \end{macrocode}
-% \subsection{New commands}
-% A command to print an unnumbered introduction at the beginning of the chapter. The \cmd{chapterintroname} defaults to ``Introduzione'' because the class was initially designed primarily for Italian-speaking users.
+% \paragraph{The \cmd{FSPL} colophon}
+% This command is defined only for the \opt{style=FSPL*} options.
 %    \begin{macrocode}
-\ifsuftesi@article
-\def\chapterintro{%
-\ClassError{suftesi}
-  {Command \noexpand\chapterintro is undefined\MessageBreak 
-     using 'structure=article'}
-  {Command \noexpand\chapterintro is undefined\MessageBreak 
-     using 'structure=article'}}
+\ifsuftesi@FSPL
+\newcommand{\FSPLcolophon}[1][\the\year]{%
+\begingroup
+\thispagestyle{empty}
+\null\vspace{\stretch{1}}
+\noindent \hskip-.5em\cc #1 \@author%
+\vskip1ex
+
+\small\noindent This work is licensed under the Creative Commons 
+Attribution-NonCommercial-NoDerivs 3.0 Unported License. 
+To view a copy of this license, 
+visit http://creativecom mons.org/licenses/by-nc-nd/3.0/.
+
+\endgroup
+
+\begingroup
+\footnotesize
+
+\null\vspace{\stretch{1}}
+
+\noindent Typeset with \LaTeX{} in collaboration with the Joint Project 
+\emph{Formal Style for PhD Theses with \LaTeX} (University of Verona, 
+Italy) using the \textsf{suftesi} class by Ivan Valbusa. The text face 
+is Palatino, designed by Hermann Zapf. The sans serif font is Iwona by 
+Janusz M.~Nowacki.
+
+\endgroup
+
+\clearpage}
 \else
-\def\chapterintro{\@ifstar{%
-  \@tempswafalse\@chapterintro}{\@tempswatrue\@chapterintro}}
-\def\@chapterintro{\phantomsection
-  \if@tempswa\section*{\SUF@fchapterintroname}\fi
-  \addcontentsline{toc}{section}{\SUF@fchapterintroname}}
-\newcommand{\chapterintroname}[1]{\def\SUF@fchapterintroname{#1}}
-\chapterintroname{Introduzione}
+\def\FSPLcolophon{%
+ \ClassError{suftesi}
+   {\noexpand\FSPLcolophon is defined\MessageBreak 
+     only for the FSPL styles}
+   {\noexpand\FSPLcolophon is defined\MessageBreak 
+     only for the FSPL styles}}
 \fi
 %    \end{macrocode}
-% Two commands for manual breaks active, respectively, only in the table of contents and in the body text. The solution was initially made available by Enrico Gregorio many years ago in one of the first versions of the class (at that time the commands were called \cmd{headbreak} and \cmd{xheadbreak}). Later, while I was working on version 3.0, I noticed an alignment problem in the chapter titles when using the \opt{chapstyle=left} option. So I added the \cmd{breakinbodyleft} command and updated the command names to make them more recognizable. Old names are in any case available for backwards compatibility.
-%    \begin{macrocode}
-\newif\ifbreakintoc\breakintocfalse
-\newif\ifbreakinbody\breakinbodytrue
-\DeclareRobustCommand{\breakintoc}
-   {\ifbreakintoc\\\else\fi}
-\DeclareRobustCommand{\breakinbody}
-  {\ifbreakinbody\\\else\fi}
-\DeclareRobustCommand{\breakinbodyleft}
-  {\ifbreakinbody\newline\else\fi}
-\let\origtableofcontents\tableofcontents
-\renewcommand{\tableofcontents}{%
-  \begingroup\suftesi@partialtocfalse
-    \breakintoctrue\breakinbodyfalse%
-      \origtableofcontents
-  \endgroup}
-\DeclareRobustCommand{\headbreak}
-  {\ifbreakintoc\\\else\fi}
-\DeclareRobustCommand{\xheadbreak}
-  {\ifbreakinbody\\\else\fi}
-\DeclareRobustCommand{\yheadbreak}
-  {\ifbreakinbody\newline\else\fi}
-%    \end{macrocode}
 % \subsection{Backward compatibility}
 % Two environments to manually typeset the bibliography and the list of shorthands.
 % As the class was initially designed primarily for Italian-speaking users, these two environments have an Italian name. Particularly the list of shorthands relies on \cmd{losname} which defaults to ``Sigle'' (that means ``shorthands''). They are not documented and are made available only for backward compatibility.
@@ -6114,6 +6038,27 @@ Janusz M.~Nowacki.
       \let\makelabel\itlabel}}
   {\endlist}
 %    \end{macrocode}
+% A command to print an unnumbered introduction at the beginning of the chapter. 
+% The \cmd{chapterintroname} defaults to ``Introduzione'' because the class was 
+% initially designed primarily for Italian-speaking users.
+%    \begin{macrocode}
+\ifsuftesi@article
+\def\chapterintro{%
+\ClassError{suftesi}
+  {Command \noexpand\chapterintro is undefined\MessageBreak 
+     using 'structure=article'}
+  {Command \noexpand\chapterintro is undefined\MessageBreak 
+     using 'structure=article'}}
+\else
+\def\chapterintro{\@ifstar{%
+  \@tempswafalse\@chapterintro}{\@tempswatrue\@chapterintro}}
+\def\@chapterintro{\phantomsection
+  \if@tempswa\section*{\SUF@fchapterintroname}\fi
+  \addcontentsline{toc}{section}{\SUF@fchapterintroname}}
+\newcommand{\chapterintroname}[1]{\def\SUF@fchapterintroname{#1}}
+\chapterintroname{Introduzione}
+\fi
+%    \end{macrocode}
 % \subsection{Final settings}
 %    \begin{macrocode}
 \ifsuftesi@article
@@ -6160,8 +6105,6 @@ Janusz M.~Nowacki.
 %    \begin{macrocode}
 \unless\ifPDFTeX% if xetex or luatex
   \let\@afterindenttrue\@afterindentfalse
-    \else
-  \relax
 \fi
 %    \end{macrocode}
 % Now we switch off extra space after punctuation, in accordance with the habits 
@@ -6244,48 +6187,12 @@ Janusz M.~Nowacki.
     und der Typographie},
   Year = {1975}}
 
-@online{Lehman:2010,
-  Author = {Philipp Lehman},
-  Note = {Versione 0.9a},
-  Title = {The \textsf{biblatex} package},
-  Url = {http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf},
-  Year = {2010}}
-
 @online{Miede:2011,
   Author = {André Miede},
   Title = {A Classic Thesis style},
   Url = {http://mirrors.ctan.org/macros/latex/contrib/classicthesis/ClassicThesis.pdf},
   Date = {2011}}
 
-@book{Pantieri:2011,
-  Author = {Lorenzo Pantieri and Tommaso Gordini},
-  Booktitle = {L'arte di scrivere con \LaTeX},
-  Date = {2012},
-  Edition = {new edition},
-  Foreword = {Enrico Gregorio},
-  Hyphenation = {italian},
-  Subtitle = {Un'introduzione a \LaTeXe},
-  Title = {L'arte di scrivere con \LaTeX},
-  Url = {http://www.lorenzopantieri.net/LaTeX_files/ArteLaTeX.pdf},
-  Annote = {Questa guida è diventata il punto di riferimento degli utenti 
-    italiani di \LaTeX\ ed è apprezzata per la chiarezza espositiva e la 
-    completezza dei contenuti}}
-
-@article{Pantieri:2009,
-  Author = {Lorenzo Pantieri},
-  Title = {L'arte di gestire la bibliografia con \pack{biblatex}},
-  Url = {http://www.lorenzopantieri.net/LaTeX_files/Bibliografia.pdf},
-  Year = {2009}}
-
-@article{Mori:2008,
-  Author = {Lapo F. Mori},
-  Journal = {ArsTeXnica},
-  Month = {10},
-  Pages = {37-51},
-  Title = {Gestire la bibliografia con {\LaTeX}},
-  Volume = {6},
-  Year = {2008}}
-
 @article{valbusa:20122,
   Author = {Ivan Valbusa},
   Date = {2012},
@@ -6361,7 +6268,7 @@ Janusz M.~Nowacki.
   author = {Pignalberi, Gianluca},
   url = {http://www.ctan.org/pkg/cclicenses},
   urldate = {2020-05-24}, 
-  date = {2005/05/20},
+  date = {2005-05-20},
   version = {v0.4}
 }
 
@@ -6371,7 +6278,7 @@ Janusz M.~Nowacki.
   author = {Sharpe, Michael},
   url = {http://www.ctan.org/pkg/cochineal},
   urldate = {2020-05-24}, 
-  date = {2016-2020},
+  date = {2020},
   version = {1.061}
 }
 
@@ -6401,7 +6308,7 @@ Janusz M.~Nowacki.
   author = {Wette, Karl},
   url = {http://www.ctan.org/pkg/emptypage},
   urldate = {2020-05-24}, 
-  date = {2009-2010},
+  date = {2010},
   version = {1.2}
 }
 
@@ -6501,7 +6408,7 @@ Janusz M.~Nowacki.
   author = {B. Jackowski and J.M. Nowacki},
   url = {http://www.ctan.org/pkg/lmodern},
   urldate = {2020-05-24}, 
-  date = {2003-2009},
+  date = {2009},
   version = {2.004}
 }
 
@@ -6636,15 +6543,24 @@ Janusz M.~Nowacki.
   version = {v2.3}
 }
 
-@manual{afterpage,
-  title = {The \textsf{afterpage} package},
-  subtitle = { Execute command after the next page break},
-  author = {David Carlisle},
-  url = {http://www.ctan.org/pkg/bookcover},
-  urldate = {2020-06-29}, 
-  date = {2014-10-28},
-  version = {v1.08}
+@manual{zref,
+  title = {The \sty{zref} package},
+  author = {Heiko Oberdiek},
+  url = {http://www.ctan.org/pkg/zref},
+  urldate = {2021-05-23}, 
+  date = {2020-07-03},
+  version = {v2.32}
 }
+
+@manual{epigraph,
+  title = {The \sty{epigraph} package},
+  author = {Peter R. Wilson and Will Robertson},
+  url = {http://www.ctan.org/pkg/epigraph},
+  urldate = {2021-05-23}, 
+  date = {2020-01-02},
+  version = {v1.5e}
+}
+
 %</bib>
 % \fi
 % \Finale
-- 
cgit v1.2.3

