From e7c79a2788c21767e22c0e19e32a09d4240244b1 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Sun, 14 Jun 2015 17:41:59 +0000
Subject: suftesi (13jun15)

git-svn-id: svn://tug.org/texlive/trunk@37528 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/source/latex/suftesi/suftesi.dtx | 547 ++++++++++++---------
 1 file changed, 319 insertions(+), 228 deletions(-)

(limited to 'Master/texmf-dist/source/latex/suftesi/suftesi.dtx')

diff --git a/Master/texmf-dist/source/latex/suftesi/suftesi.dtx b/Master/texmf-dist/source/latex/suftesi/suftesi.dtx
index 22db8e90b31..0a71c522b74 100644
--- a/Master/texmf-dist/source/latex/suftesi/suftesi.dtx
+++ b/Master/texmf-dist/source/latex/suftesi/suftesi.dtx
@@ -67,39 +67,43 @@
 %<class>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
 %<class>\ProvidesClass{suftesi}
 %<*class>
-    [2015/03/31 v2.0.1 A class for typesetting theses, books and articles]
+    [2015/06/13 v2.1 A class for typesetting theses, books and articles]
 %</class>
 %<*driver>
-\documentclass[12pt]{ltxdoc}
+\documentclass[10pt]{ltxdoc}
 \usepackage[T1]{fontenc}
 \usepackage[utf8]{inputenc}
 \usepackage[greek.ancient,english]{babel}
+% fonts and colors
+\usepackage[osf,p,mono=false]{libertine}
+\usepackage[libertine]{newtxmath}
+  \newcommand{\redtriangle}{\noindent\textcolor{red}{$\blacktriangleright$}}
+\usepackage[svgnames]{xcolor}
+  \definecolor{sufred}{rgb}{0.5,0,0}
+  \definecolor{sufgray}{rgb}{0.5,0.5,0.5}
+\usepackage{metalogo}
+\usepackage{guit}
+\usepackage[final]{microtype}
+\usepackage{siunitx}
+% doc facilities
 \let\cs\relax
 \let\cmd\relax
 \usepackage{ltxdockit}
+% tables
 \usepackage{array}
 \usepackage{booktabs}
 \usepackage{multirow}
-\usepackage{siunitx}
-\usepackage[svgnames]{xcolor}
-  \definecolor{sufred}{rgb}{0.5,0,0}
-  \definecolor{sufgray}{rgb}{0.5,0.5,0.5}
+% bibliography
 \usepackage[autostyle]{csquotes}
 \usepackage[style=philosophy-classic,backend=biber]{biblatex}
   \addbibresource{suftesi.bib}
-\usepackage[osf,p,mono=false]{libertine}
-\usepackage[libertine]{newtxmath}
-\usepackage{pifont}
-  \newcommand{\redtriangle}{\noindent\textcolor{red}{\ding{228}}}
-\usepackage{metalogo}
-\usepackage[final]{microtype}
+% layout
 \usepackage{geometry}
-  \geometry{hmarginratio=1:1,a4paper,margin=2cm,headheight=15pt}
+%  \geometry{hmarginratio=1:1,a4paper,margin=2cm,headheight=15pt}
+\geometry{paperwidth=17cm,paperheight=24cm,margin=1.4cm,top=2cm,bottom=2cm,headheight=15pt,ignoreall,heightrounded}
+
 \usepackage{sectsty}
   \allsectionsfont{\sffamily}
-  \sectionfont{\LARGE\sffamily}
-  \subsectionfont{\Large\sffamily}
-
 \usepackage{fancyhdr}
   \fancyhf{}
   \fancyhead[L]{© 2009--\the\year\quad Ivan Valbusa}
@@ -109,6 +113,7 @@
     \pagestyle{fancy}
 \usepackage[framemethod=TikZ]{mdframed}
   \mdfsetup{roundcorner=3pt,linecolor=olive}
+  \usetikzlibrary{shadows}
 % New commands
 \def\suftesi{\textsf{suftesi}}
 \newcommand{\argstyle}{\itshape}
@@ -186,10 +191,6 @@
     {\ltd@option{}{#2}{#3}{\ltd@textverb{#1}}}}%
 \makeatother
 
-
-\setcounter{tocdepth}{3}
-\setcounter{section}{-1}
-% HYPERREF
 \usepackage{hyperref}
 \hypersetup{%
     pdftitle={User's Guide to \textsf{suftesi}},
@@ -211,7 +212,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{4112}
+% \CheckSum{4271}
 %
 % \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
@@ -229,6 +230,7 @@
 %   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %   Right brace   \}     Tilde         \~}
 %
+% \changes{v2.1}{2015/06/13}{New option \opt{toc\meta{level}font}.Updated documentation. Removed \cmd{includeart} command}
 % \changes{v2.0.1}{2015/03/31}{Corrected a bug in \opt{version} option.}
 % \changes{v2.0}{2015/03/29}{New page layout \opt{standardaureo}. Enhanced support for \LuaLaTeX. Headers settings are now executed \cmd{AtBeginDocument}. Loaded \sty{ifluatex} and \sty{ifthen} packages. Added \opt{listparindent} to \cmd{setlist} options. Updated documentation.}
 % \changes{v1.9c}{2014/04/05}{The \opt{cbgreek} value for the \opt{greekfont} option allows now to use the full set of the CB Greek font together with the default font (Palatino).}
@@ -302,42 +304,29 @@
 % \DoNotIndex{\titlepage,\vss,\vtop,\xdef,\@gobbletwo,\color,\dimexpr}
 % \DoNotIndex{\huge,\large,\makebox,\ProcessOptions,\renewcommand}
 %
-% \title{% 
-% {\fontsize{32}{34}\color{sufred}\bfseries 
-%   User's Guide to 
-% \textsf{S\kern-2pt\lower3pt\hbox{U}\kern-2.5ptF\kern-1pttesi}\\[3mm]}
-% {\large\itshape A document class for typesetting theses, 
-% books and articles\\[3ex]}
-% \normalsize\fileversion{} -- \filedate}
-% \author{Ivan Valbusa\\
-%  \small Dipartimento di Filologia, Letteratura e Linguistica\\[-0.2ex]
-%  \small Università degli Studi di Verona\\
-%  \footnotesize\texttt{ivan dot valbusa at univr dot it}}
-% \date{}
-% \maketitle
 % \thispagestyle{empty}
+% \begin{tikzpicture}[overlay,remember picture]
+% \draw[circular drop shadow,draw=none,fill=white] (current page.center) circle (6cm);
+% \node[align=center,anchor=center] at (current page.center) {%
+% Ivan Valbusa\\[1cm]
+% 
+%\Huge\color{gray}\bfseries \parbox{10cm}{\centering The \\{{\color{sufred}\fontsize{30}{32}\textsf{suftesi}}\\ class}}\\[1cm]
+% \color{black!60!Goldenrod}
 %
-% \begin{abstract}
-% \noindent The standard document classes allow you to typeset beautiful
-% documents but their layout is quite far from the stylistic requests
-% of some humanists (mainly Italian). The \sty{suftesi} class
-% provides a set of ``humanistic'' page layouts, title styles 
-% and heading styles to typeset books, articles and theses. 
-% The styles are very simple and sober and also have the aim of
-% finding an aesthetic harmony in its formal simplicity. They are
-% largely inspired by some interesting readings, particularly
-% \citetitle{Bringhurst:1992} by R.~\citeauthor{Bringhurst:1992}, \citetitle{Tschichold:1975} by J.~\citeauthor{Tschichold:1975} and
-% \citetitle{Morison:1111} by S.~\citeauthor{Morison:1111}.
-% \end{abstract}
+%\normalsize \fileversion{} -- \filedate
 % 
-% \tableofcontents
+%};
+% \end{tikzpicture}
 %
-% \vfill
+% \clearpage 
 %
-% 
-% \section*{Copyright notice}
+% \thispagestyle{empty}
+% \vspace*{12cm}
+%
+%\noindent Copyright \copyright\ 2009-\the\year{} Ivan Valbusa.
+% \bigskip
 %
-%Copyright \copyright\ 2009-\the\year{} Ivan Valbusa. This package is author-maintained. 
+%\noindent This package is author-maintained. 
 %Permission is granted to copy, distribute and/or modify this software under the 
 %terms of the LaTeX Project Public License, version 1.3c ora later (\url{http://latex-project.org/lppl}). This software is provided ''as is'', without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.
 %
@@ -351,35 +340,63 @@
 % \bigskip
 %
 % \noindent The most essence of this class is the set of styles it
-% provides. For this reason 
-% \textcolor{sufred}{\scshape\lsstyle do not modify the styles of this class with packages 
+% provides. For this reason {\scshape\lsstyle do not modify the styles of this class with packages 
 % and/or commands which change the layout of the document. 
 % If you do not like these styles, use another class.}
 % If you use \sty{suftesi}{} in a document typeset with another class
 % (for example \sty{book}), remember to clean up the preamble from all
 % the layout redefinitions.
 %
+% \bigskip
 %
-%\subsection*{Feedback}
+% \noindent If you have any questions, feedback or requests please email me at \texttt{ivan dot valbusa at univr dot it}. If you need specific features not already implemented, remember to attach the example files.
 %
+% \clearpage
 %
-%If you have any questions, feedback or requests please email me. 
-%My mail address is at the top of this document. If you need specific features not already implemented, remember to attach the example files.
+% \begin{center}
+% {\color{sufred}\bfseries 
+%   \Huge User's Guide to 
+% \textsf{suftesi}\\[3mm]}
+% {\large\itshape A document class for typesetting theses, 
+% books and articles}
+%\vspace{.8cm}
 %
-% \clearpage
+% \normalsize\fileversion{} -- \filedate
+% \vspace{.7cm}
 %
-% \section{A brief history}
+% Ivan Valbusa\\[2mm]
 %
-% The \sty{suftesi} class was born as a result of the course \emph{Introduzione a \LaTeX{} per le scienze umane} (\emph{Introduction to \LaTeX{} for the human sciences}) which I held at the Graduate School of Human Sciences and Philosophy  (\textcolor{sufred}{\textbf{S}}cienze \textcolor{sufred}{\textbf{U}}mane e \textcolor{sufred}{\textbf{F}}ilosofia) of Verona University (Italy) in June 2010. Originally thought as a class to typeset theses, during these years it has developed many new features and styles. Finally it has become the referential class of the Joint Project \emph{Formal Style for PhD Theses with LaTeX} of the University of Verona (Italy).
+%  \small Dipartimento di Filologia, Letteratura e Linguistica\\
+%  \small Università degli Studi di Verona\\
+%  \footnotesize\texttt{ivan dot valbusa at univr dot it}
+% \vspace{1cm}
+% \end{center}
 %
-%\bigskip
+% \begin{abstract}
+% \noindent The standard document classes allow you to typeset beautiful
+% documents but their layout is quite far from the stylistic requests
+% of some humanists (mainly Italian). The \sty{suftesi} class
+% provides a set of ``humanistic'' page layouts, title styles 
+% and heading styles to typeset books, articles and theses. 
+% The styles are very simple and sober and also have the aim of
+% finding an aesthetic harmony in its formal simplicity. They are
+% largely inspired by some interesting readings, particularly
+% \citetitle{Bringhurst:1992} by R.~\citeauthor{Bringhurst:1992}, \citetitle{Tschichold:1975} by J.~\citeauthor{Tschichold:1975} and
+% \citetitle{Morison:1111} by S.~\citeauthor{Morison:1111}.
+% \end{abstract}
+% 
+% \tableofcontents
 %
-% {\em\noindent I would like to thank Professors Paola Di~Nicola,
+%
+% \section*{A brief history}
+%
+% The \sty{suftesi} class was born as a result of the course \emph{Introduzione a \LaTeX{} per le scienze umane} (\emph{Introduction to \LaTeX{} for the human sciences}) which I held at the Graduate School of Human Sciences and Philosophy  (\textcolor{sufred}{\textbf{S}}cienze \textcolor{sufred}{\textbf{U}}mane e \textcolor{sufred}{\textbf{F}}ilosofia) of Verona University (Italy) in June 2010. Originally thought as a class to typeset theses, during these years it has developed many new features and styles. Finally it has become the referential class of the Joint Project \emph{Formal Style for PhD Theses with LaTeX} of the University of Verona (Italy).
+%
+% {\em I would like to thank Professors Paola Di~Nicola,
 % Director of the Graduate School, and Ugo Savardi who suggested to propose the course precisely to that School; Gilberto D'Arduini, Matteo Lanza and Antonio Rinaldi, who installed \LaTeX{} on the computers used during the course; Catia Cordioli, for her help in the organization of the lessons; Corrado Ferreri, responsible of the \mbox{E-Learning} Center, who provided the \TeX{}~Live~2009 \textsc{DVD}s.
 % Special thanks to Professors Enrico~Gregorio, the Italian guru of \TeX, for the \TeX pert support and his priceless ``magic formulas'', and Tommaso Gordini for his valuable advice in choosing and improving the class features during these years.
 %I would finally thank all the participants to the course who patiently resisted the four intensive lessons. This work is dedicated to them.}
 %
-%
 % \section{Use}
 % 
 % The \sty{suftesi} class is called as usual by
@@ -424,7 +441,7 @@
 %
 % \paragraph*{Use with \XeLaTeX{} and \LuaLaTeX}
 % 
-% For using the class with the \XeTeX{} and \LuaTeX{} engines you need to load the \sty{fontspec} package (\sty{mathspec} is an alternative only for \XeTeX). Whit these engines the font options are turned off and the \LaTeX{} default font (Computer Modern) is loaded. 
+% For using the class with the \XeTeX{} and \LuaTeX{} engines you need to load the \sty{fontspec} package (\sty{mathspec} is an alternative only for \XeTeX). With these engines the font options are turned off and the \LaTeX{} default font (Computer Modern) is loaded. 
 %
 %
 % \section{Class features}
@@ -514,15 +531,12 @@
 % The \sty{frontespizio} package produces a frontispiece in the standard Computer Modern typeface. If you prefer a consistent font remember to load the needed packages or commands in the \cmd{Preambolo} command inside the \env{frontespizio} environment (see package documentation for details).
 %
 %
-%
 % \begin{figure}
-%\vbox to .9\textheight{
-% \vskip-1cm
-%\begin{tikzpicture}[overlay]
-% \draw[draw=none,yshift=-23.8cm,xshift=.8cm,scale=0.75,fill=gray!20] (0,0) rectangle (21cm,29.7cm);
-% \draw[draw=none,yshift=-23.5cm,xshift=.5cm,scale=0.75,fill=gray!5] (0,0) rectangle (21cm,29.7cm);
-%\draw[line width=1.5mm,fill=sufred!50,text=white,draw=sufred!60] (4.5cm,-4.25cm) circle (9mm) node {\parbox{12mm}{\centering\scriptsize * * * \\  St. Anford\\ University\\[1mm] * * * }};
-%\node[anchor=north west] at (5.95cm,-3.3cm) {%
+%\begin{tikzpicture}
+% \draw[draw=none,fill=gray!20,xshift=-10mm] (0,0) rectangle (13.9cm,20cm);
+% \draw[draw=none,fill=gray!5,xshift=-12mm,yshift=2mm] (0,0) rectangle (13.9,20cm);
+%\draw[line width=1.5mm,fill=sufred!50,text=white,draw=sufred!60] (1.2,18.1) circle (9mm) node {\parbox{12mm}{\centering\scriptsize * * * \\  St. Anford\\ University\\[1mm] * * * }};
+%\node[anchor=north west] at (3cm,19cm) {%
 %  \parbox{8cm}{%
 %    \small University of St. Anford\par
 %      \normalsize Department of Typography
@@ -556,7 +570,8 @@
 %      };
 %
 %\end{tikzpicture}
-%}
+% \vspace{-4mm}
+%
 %\caption{The frontispiece of \sty{suftesi}}\label{fig:frontispiece}
 % \end{figure}
 %
@@ -565,7 +580,7 @@
 % \subsection{Layout}\label{sec:page-styles}
 %
 %\begin{optionlist}
-% \setlength{\labelwidth}{3cm}%
+% \setlength{\labelwidth}{2.5cm}%
 %\optitem[book]{documentstructure}{\opt{book}, \opt{article}, \opt{collection}}
 % \changes{v0.9b}{2012/09/23}{New option \opt{documentstructure}} 
 % \begin{valuelist}[3cm]
@@ -618,7 +633,7 @@
 %
 %\subsection{Fonts}
 %
-% \redtriangle{} These options are available only with \LaTeX.
+% The first two options are available only with \LaTeX.
 % Using \XeLaTeX{} or \LuaLaTeX{} 
 % the default font is the Computer Modern but you can change it through 
 % the \sty{fontspec} or \sty{mathspec} (\XeLaTeX{} only) packages. With these engines I do suggest the EB Garamond or Linux Libertine font families.
@@ -641,7 +656,17 @@
 %   \end{valuelist}
 % \end{optionlist}
 %
-% 	\subsection{Titles}
+%\noindent The next option is active only with \opt{\meta{level}font=smallcaps} and \opt{toc\meta{level}font=smallcaps} options (see sections \ref{sec:titles} and \ref{sec:toc}).
+% \begin{optionlist}
+% \setlength{\labelwidth}{2.5cm}%
+% \optitem[low]{smallcapsstyle}{\opt{low}, \opt{upper}}
+%   \begin{valuelist}
+%     \item[low] Prints lowercase \textsc{small capitals}.
+%     \item[upper] Prints \textsc{Small Capitals} without changing the case.
+%   \end{valuelist}
+% \end{optionlist}
+%
+% 	\subsection{Titles}\label{sec:titles}
 %
 % \begin{optionlist}
 % \setlength{\labelwidth}{2.5cm}%
@@ -687,6 +712,14 @@
 %     \item[dotRoman] As \opt{Roman} but followed by a dot.
 %   \end{valuelist}
 %   Where \meta{level} can be \opt{part}, \opt{chap}, \opt{sec}.
+% \end{optionlist}
+%
+%
+% 	\subsection{Table fo contents}\label{sec:toc}
+%
+%
+% \begin{optionlist}
+% \setlength{\labelwidth}{2.5cm}%
 % \optitem[standard]{tocstyle}{\opt{standard}, \opt{dotted}, 
 % \opt{ragged}, \opt{leftpage}}
 % \changes{v0.9b}{2012/09/23}{New option \opt{tocstyle}}
@@ -699,6 +732,15 @@
 %		\item[leftpage] Prints a table of contents with page numbers 
 %     on the left margin.
 %	\end{valuelist}
+% \optitem[roman]{toc\meta{level}font}{\opt{roman}, \opt{italic}, 
+% \opt{smallcaps}}
+%	\begin{valuelist}
+%     \item[roman] Prints the \meta{level} TOC entry in roman.
+%     \item[italic] Prints the \meta{level} TOC entry in \emph{italic}.
+%     \item[smallcaps] Prints the \meta{level} TOC entry 
+%      in \textsc{small caps}
+%	\end{valuelist}
+%   Where \meta{level} can be \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}.
 % \optitem[all]{twocolcontents}{\opt{toc}, \opt{lof}, 
 % \opt{lot}, \opt{toclof}, \opt{toclot}, \opt{loflot}, \opt{all}}
 % This option activates the \opt{tocstyle=ragged} option 
@@ -716,12 +758,6 @@
 %		\item[all] Prints the table of contents, 
 %    the list of figures and the list of tables in two columns.
 %	\end{valuelist}
-% \optitem[low]{smallcapsstyle}{\opt{low}, \opt{upper}}
-% This option is active only with \opt{\meta{level}font=smallcaps} options.
-%   \begin{valuelist}
-%     \item[low] Prints lowercase \textsc{small capitals}.
-%     \item[upper] Prints \textsc{Small Capitals} without changing the case.
-%   \end{valuelist}
 % \end{optionlist}
 %
 % \subsection{Headings}
@@ -909,7 +945,7 @@
 %    \opt{pagelayout=periodical},
 %    \opt{style=italic5},\\
 %    \opt{headerstyle=center},
-%    \opt{chapnumstyle=roman},
+%    \opt{chapnumstyle=roman},\\
 %    \opt{secstyle=center},
 %    \opt{quotestyle=right},
 %    \opt{footnotestyle=hung},
@@ -929,7 +965,7 @@
 % \cmditem{FSPLcolophon}
 % \changes{v1.3}{2013/03/05}{New command \cmd{FSPLcolophon}}
 %
-% To typeset the colophon in the FSPL style (see example below), according to the Joint Project \emph{Formal Style for PhD Theses with \LaTeX} of the Verona University  (Italy):
+% \hskip-2mm\parbox{12.5cm}{To typeset the colophon in the FSPL style (see example below), according to the\\ Joint Project \emph{Formal Style for PhD Theses with \LaTeX} of the Verona University~(Italy):}
 % 
 % \begin{minipage}{.85\textwidth}
 % \raggedright
@@ -998,7 +1034,7 @@
 %
 %\begin{latexcode}
 %\begin{verbatim}
-% \bookcolophon{
+% \bookcolophon{%
 %    Copyright © 2007 by Ivan Valbusa}{%
 %    This work has been typeset with \LaTeX,
 %    using the  \textsf{suftesi} class
@@ -1012,8 +1048,7 @@
 % \changes{v0.6}{2011/10/21}{New command \cmd{artcolophon}}
 %
 % This command only has one argument. It simply prints its content at the 
-% bottom of the page.
-%
+% bottom of the page. 
 % Here is an example:
 %
 %\begin{latexcode}
@@ -1143,9 +1178,10 @@
 %
 % \section{The \opt{collection} document structure}\label{sec:collection}
 % 
-% The \opt{collection} document structure is thought to compose a collection of papers. Each paper has to be typeset in a separate \file{.tex} file with the following structure:
+% The \opt{collection} document structure is thought to compose a collection of papers. Each paper has to be typeset in a separate \file{.tex} inside the \env{article} environment:
 %\begin{latexcode}
 %\begin{verbatim}
+% \begin{article}
 % \author{Author}
 % \title{Title of the paper}
 %
@@ -1157,6 +1193,7 @@
 % \maketitle
 %
 %   Text of the paper
+% \end{article}
 %\end{verbatim}
 % \end{latexcode}
 % If the names of the papers are \file{article1.tex}, \file{article2.tex}, \file{article3.tex}, etc., then a minimal main file should be similar to this:
@@ -1166,9 +1203,9 @@
 % \documentclass[documentstructure=collection]{suftesi}
 %
 % \begin{document}
-%  \includeart{article1}
-%  \includeart{article2}
-%  \includeart{article3}
+%  \input{article1}
+%  \input{article2}
+%  \input{article3}
 % \end{document}
 %\end{verbatim}
 %\end{latexcode}
@@ -1179,7 +1216,7 @@
 % In addition to the following options you can use the other options of the class too. In particular, with the \opt{chapstyle} and \opt{chapfont} options you can customize all the section titles which are treated as a normal unnumbered chapters in the \opt{book} document structure, such as ``Table of Contents'', ``Index'', ``Bibliography'', etc.
 %
 % \begin{optionlist}
-% \setlength{\labelwidth}{2cm}%
+% \setlength{\labelwidth}{2.5cm}%
 % \optitem[left]{papertitlestyle}{\opt{left}, \opt{center}, \opt{right}}
 %   \begin{valuelist}
 %     \item[left] Aligns the author-title block on the left.
@@ -1216,9 +1253,7 @@
 %
 % \subsection{Commands} 
 % \begin{ltxsyntax} 
-% \cmditem{includeart}{file name} 
 %
-% Include the \meta{file name} in the collection. 
 % \cmditem{frontispiece} 
 % 
 % Typeset the frontispiece of the collection.
@@ -1389,8 +1424,6 @@
 % \printbibliography[prenote=note]
 %
 % \StopEventually{\PrintChanges\PrintIndex}
-% 
-% \newgeometry{hmarginratio=1:1,a4paper,margin=2cm,left=4cm}
 % \section{The Code}
 % \iffalse
 %<*class>
@@ -1456,7 +1489,7 @@
 \DeclareOption{landscape}{%
   \ClassError{suftesi}{Option 'landscape' not available}}
 %    \end{macrocode}
-% \sty{suftesi} is based on the standard \sty{book} class!
+% The \sty{suftesi} class is based on the standard \sty{book} class but the previous options are disabled as they contrast with the layouts provided by the class.
 %    \begin{macrocode}
 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}   
 \ProcessOptions
@@ -1599,8 +1632,6 @@
 \fi}
 %    \end{macrocode}
 % \subsection{Sections style}
-% These macros control the position of titles and numbers of parts, 
-% chapters, sections, subsections and subsubsection.
 %    \begin{macrocode}
 \define@choicekey{}{partstyle}[\val\nr]{%
     left,center,right,parleft,parcenter,parright}[left]{%
@@ -1676,8 +1707,6 @@
 \fi}
 %    \end{macrocode}
 % \subsection{Sections font}
-% These macros control the style of part, chapter, section,
-% subsection and subsubsection levels.
 %    \begin{macrocode}
 \define@choicekey{}{partfont}[\val\nr]{roman,italic,smallcaps}[roman]{%
 \ifcase\nr\relax
@@ -1720,6 +1749,41 @@
 \def\SUF@SUBSUBSEC@StyleSwitch{\expandafter\SUF@titlesmallcaps}
 \fi}
 %    \end{macrocode}
+% \subsection{TOC font}
+%    \begin{macrocode}
+\define@choicekey{}{tocchapfont}[\val\nr]{roman,italic,smallcaps}[roman]{%
+\ifcase\nr\relax
+\def\SUF@tocCHAP@font{\relax}
+\or
+\def\SUF@tocCHAP@font{\itshape}
+\or
+\def\SUF@tocCHAP@font{\expandafter\SUF@titlesmallcaps}
+\fi}
+\define@choicekey{}{tocsecfont}[\val\nr]{roman,italic,smallcaps}[italic]{%
+\ifcase\nr\relax
+\def\SUF@tocSEC@font{\relax}
+\or
+\def\SUF@tocSEC@font{\itshape}
+\or
+\def\SUF@tocSEC@font{\expandafter\SUF@titlesmallcaps}
+\fi}
+\define@choicekey{}{tocsubsecfont}[\val\nr]{roman,italic,smallcaps}[roman]{%
+\ifcase\nr\relax
+\def\SUF@tocSUBSEC@font{\relax}
+\or
+\def\SUF@tocSUBSEC@font{\itshape}
+\or
+\def\SUF@tocSUBSEC@font{\expandafter\SUF@titlesmallcaps}
+\fi}
+\define@choicekey{}{tocsubsubsecfont}[\val\nr]{roman,italic,smallcaps}[roman]{%
+\ifcase\nr\relax
+\def\SUF@tocSUBSUBSEC@font{\relax}
+\or
+\def\SUF@tocSUBSUBSEC@font{\itshape}
+\or
+\def\SUF@tocSUBSUBSEC@font{\expandafter\SUF@titlesmallcaps}
+\fi}
+%    \end{macrocode}
 % \subsection{Sections number style}
 % \subsubsection{Part number style}
 %    \begin{macrocode}
@@ -2144,21 +2208,25 @@ dotarabic,dotroman,dotRoman}[arabic]{%
   \setkeys{}{
   chapstyle=left,
   chapfont=italic,
+  tocchapfont=italic,
   headerfont=italic}
 \or
   \setkeys{}{
   chapstyle=center,
   chapfont=italic,
+  tocchapfont=italic,
   headerfont=italic}
 \or
   \setkeys{}{
   chapstyle=right,
   chapfont=italic,
+  tocchapfont=italic,
   headerfont=italic}
 \or
   \setkeys{}{
   chapstyle=parleft,
   chapfont=italic,
+  tocchapfont=italic,
   headerfont=italic}
 \or
   \setkeys{}{
@@ -2169,41 +2237,48 @@ dotarabic,dotroman,dotRoman}[arabic]{%
   \setkeys{}{
   chapstyle=parright,
   chapfont=italic,
+  tocchapfont=italic,
   headerfont=italic}
 \or
   \setkeys{}{
   chapstyle=left,
   chapfont=italic,
+  tocchapfont=italic,
   secfont=smallcaps,
   headerfont=italic}
 \or
   \setkeys{}{
   chapstyle=center,
   chapfont=italic,
+  tocchapfont=italic,
   secfont=smallcaps,
   headerfont=italic}
 \or
   \setkeys{}{
     chapstyle=right,
     chapfont=italic,
+    tocchapfont=italic,
     secfont=smallcaps,
     headerfont=italic}
 \or
   \setkeys{}{
    chapstyle=parleft,
    chapfont=italic,
+   tocchapfont=italic,
    secfont=smallcaps,
    headerfont=italic}
 \or
   \setkeys{}{
     chapstyle=parcenter,
     chapfont=italic,
+    tocchapfont=italic,
     secfont=smallcaps,
     headerfont=italic}
 \or
   \setkeys{}{
     chapstyle=parright,
     chapfont=italic,
+    tocchapfont=italic,
     secfont=smallcaps,
     headerfont=italic}
 \or
@@ -2213,66 +2288,78 @@ dotarabic,dotroman,dotRoman}[arabic]{%
   \setkeys{}{
   chapstyle=left,
   chapfont=smallcaps,
+  tocchapfont=smallcaps,
   headerfont=smallcaps}
 \or
   \setkeys{}{
   chapstyle=center,
   chapfont=smallcaps,
+  tocchapfont=smallcaps,
   headerfont=smallcaps}
 \or
   \setkeys{}{
   chapstyle=right,
   chapfont=smallcaps,
+  tocchapfont=smallcaps,
   headerfont=smallcaps}
 \or
   \setkeys{}{
   chapstyle=parleft,
   chapfont=smallcaps,
+  tocchapfont=smallcaps,
   headerfont=smallcaps}
 \or
   \setkeys{}{
   chapstyle=parcenter,
   chapfont=smallcaps,
+  tocchapfont=smallcaps,
   headerfont=smallcaps}
 \or
   \setkeys{}{
   chapstyle=parright,
   chapfont=smallcaps,
+  tocchapfont=smallcaps,
   headerfont=smallcaps}
 \or
   \setkeys{}{
   chapstyle=left,
   chapfont=smallcaps,
+  tocchapfont=smallcaps,
   secfont=smallcaps,
   headerfont=smallcaps}
 \or
   \setkeys{}{
   chapstyle=center,
   chapfont=smallcaps,
+  tocchapfont=smallcaps,
   secfont=smallcaps,
   headerfont=smallcaps}
 \or
   \setkeys{}{
   chapstyle=right,
   chapfont=smallcaps,
+  tocchapfont=smallcaps,
   secfont=smallcaps,
   headerfont=smallcaps}
 \or
   \setkeys{}{
   chapstyle=parleft,
   chapfont=smallcaps,
+  tocchapfont=smallcaps,
   secfont=smallcaps,
   headerfont=smallcaps}
 \or
   \setkeys{}{
   chapstyle=parcenter,
   chapfont=smallcaps,
+  tocchapfont=smallcaps,
   secfont=smallcaps,
   headerfont=smallcaps}
 \or
   \setkeys{}{
   chapstyle=parright,
   chapfont=smallcaps,
+  tocchapfont=smallcaps,
   secfont=smallcaps,
   headerfont=smallcaps}
 \or
@@ -2431,7 +2518,11 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
   revauthortitle=false,
   papertitlestyle=left,
   authorfont=roman,
-  titlefont=italic}
+  titlefont=italic,
+  tocchapfont=roman,
+  tocsecfont=roman,
+  tocsubsecfont=roman,
+  tocsubsubsecfont=roman}
 \ProcessOptionsX<>\relax
 %    \end{macrocode}
 % The use of the \cmd{XKV@useoption} command, provided by 
@@ -2662,7 +2753,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
   \titlespacing*{\subsubsection}{0em}{\baselineskip}{\baselineskip}[0em] 
 }
 %    \end{macrocode}
-% \DescribeMacro{\chapter}
 % Default styles:
 %    \begin{macrocode}
 \newlength\SUF@ADJnumparchap
@@ -2686,7 +2776,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
   \setlength{\SUF@ADJnumparchap}{0pt}
 \fi}
 %    \end{macrocode}
-% \DescribeMacro{\section}
 %    \begin{macrocode}
 \def\SUF@default@SECTIONS{
 \ifsuftesi@numparsec
@@ -2707,7 +2796,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
 	\titlespacing*{\section}{0ex}{\sectionsep}{\sectionsep}[0ex]	  
 \fi
 %    \end{macrocode}
-% \DescribeMacro{\subsection}
 %    \begin{macrocode}
 \ifsuftesi@numparsubsec
 \titleformat{\subsection}[display]
@@ -2725,7 +2813,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
 	\titlespacing*{\subsection}{\parindent}{\sectionsep}{\sectionsep}[0ex]
 \fi
 %    \end{macrocode}
-% \DescribeMacro{\subsubsection}
 %    \begin{macrocode}
 \ifsuftesi@numparsubsubsec
 \titleformat{\subsubsection}[display]
@@ -2879,7 +2966,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
 \fi
 
 %    \end{macrocode}
-% \DescribeMacro{\paragraph}
 %    \begin{macrocode}
 \titleformat{\paragraph}[runin]
   {}
@@ -2889,7 +2975,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
   [{.}\hspace*{1em}]
 \titlespacing*{\paragraph}{\parindent}{.5\sectionsep}{.5\sectionsep}
 %    \end{macrocode}
-% \DescribeMacro{\subparagraph}
 %    \begin{macrocode}
 \titleformat{\subparagraph}[runin]
   {}
@@ -2973,10 +3058,19 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
 \fi
 %    \end{macrocode}
 % \subsection{Title page}
-% \DescribeMacro{\title}
 % 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}
@@ -2993,7 +3087,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
             No \string\author\space given\MessageBreak%
             See the class documentation for explanation}}
 %    \end{macrocode}
-% \DescribeMacro{\maketitle} 
 % For |titlepage| (default) option:
 %    \begin{macrocode}
 \if@titlepage% titlepage
@@ -3038,7 +3131,7 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
   \global\let\date\relax
   \global\let\and\relax}
 %    \end{macrocode}
-% \DescribeMacro{\standardtitle} Reproduces the standard |\maketitle| style:
+%  Reproduces the standard |\maketitle| style:
 %    \begin{macrocode}
 \newcommand\standardtitle{\begin{titlepage}%
   \let\footnotesize\small
@@ -3069,7 +3162,7 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
   \global\let\and\relax}
 \else
 %    \end{macrocode}
-% \DescribeMacro{\maketitle} For |notitlepage| option:
+%  For |notitlepage| option:
 %    \begin{macrocode}
 \renewcommand\maketitle{\par
    \begingroup
@@ -3130,7 +3223,7 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
    \par
    \vskip 1.5em}
 %    \end{macrocode}
-% \DescribeMacro{\standardtitle} Reproduces the standard |\maketitle| style:
+%  Reproduces the standard |\maketitle| style:
 %    \begin{macrocode}
 \newcommand\standardtitle{\par
   \begingroup
@@ -3195,12 +3288,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
 \def\journalname#1{\gdef\@journalname{#1}}
   \def\@journalname{\@latex@warning@no@line{%
     No \noexpand\journalname given}}
-\def\issn#1{\gdef\@issn{#1}}
-  \def\@issn{\@latex@warning@no@line{%
-    No \noexpand\issn given}}
-\def\doi#1{\gdef\@doi{#1}}
-  \def\@doi{\@latex@warning@no@line{%
-    No \noexpand\doi given}}
 \def\journalvolume#1{\gdef\@journalvolume{#1}}
   \def\@journalvolume{\@latex@warning@no@line{%
     No \noexpand\journalvolume given}}
@@ -3228,8 +3315,23 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
   \def\@collectioneditor{\@latex@warning@no@line{%
     No \noexpand\collectioneditor given}}
 %    \end{macrocode}
-% \DescribeMacro{\l@title} 
 %    \begin{macrocode}
+\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}%
@@ -3262,8 +3364,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
     \endgroup
   \fi}
 %    \end{macrocode}
-% \DescribeMacro{\maketitle}
-% \DescribeMacro{\@maketitle}
 %    \begin{macrocode}
 \renewcommand\maketitle{\par
   \begingroup
@@ -3285,7 +3385,7 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
     \fi
     \thispagestyle{plain}\@thanks%
   \endgroup
-  \setcounter{footnote}{0}%
+%  \setcounter{footnote}{0}%
   \setcounter{section}{0}%
 %  \global\let\thanks\relax
 %  \global\let\maketitle\relax
@@ -3300,61 +3400,66 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
   \global\let\and\relax
   \let\thanks\@gobble}
 \AtBeginDocument{\def\@maketitle{%
+  \refstepcounter{article}
   \SUF@chaptersize
    \SUF@lr@coll@titleSwitch
     \let\footnote\thanks
      \parindent=0pt
-    \refstepcounter{title}%
     {\ifsuftesi@reverseauthortitle
       \SUF@titlefont@Switch{\@title}%
         \else\SUF@authorfont@Switch{\@author}\fi}%
-%     \label{begin:\thetitle}%
+   \label{begin:\thearticle}
+     \xdef\@currentHref{title.\thearticle}%
+  \Hy@raisedlink{%
+  \hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+  \csname toc@entry@\endcsname
     \begingroup%
     \let\thanks\@gobble
-    \addcontentsline{toc}{title}{\normalfont{\@author}\newline%
-      \itshape\@headtitle}
+    \addcontentsline{toc}{title}{\normalfont{\@author}\texorpdfstring{\newline}{, }%
+    \itshape\@headtitle}
     \endgroup%
-    \vspace{2ex}\par
+    \par\nobreak\vspace{2ex}
     {\ifsuftesi@reverseauthortitle
       \SUF@authorfont@Switch{\@author}%
         \else
       \SUF@titlefont@Switch{\@title}%
-    \fi\\}
-    \vskip1.5cm}}
-%    \end{macrocode}
-% \DescribeMacro{\includeart} The command to include a paper in the collection.
-%    \begin{macrocode}
+    \fi\vskip1.5cm}}%
+    }
+%\newenvironment{article}
+%  {\begingroup
+%  \global\let\@thanks\@empty
+%  \setcounter{footnote}{0}
+%  \refstepcounter{article}
+%  \label{begin:\thearticle}
+%}
+%  {\label{end:\thearticle}\endgroup
+%  }
 \newenvironment{article}
-  {\begingroup
-  \global\let\@thanks\@empty
-  \setcounter{footnote}{0}
-  \refstepcounter{article}
-  \label{begin:\thearticle}
-}
-  {\label{end:\thearticle}\endgroup
-  }
-\newcommand{\includeart}[1]{%
-    \clearpage
-    \input{#1}
-}
+          {\begingroup
+          \setcounter{section}{0}
+          \setcounter{footnote}{0}
+          \setcounter{figure}{0}
+          \setcounter{table}{0}}
+          {\label{end:\thearticle}
+            \cleardoublepage
+              \global\let\@thanks\@empty
+            \endgroup}
 %    \end{macrocode}
-% \DescribeMacro{\frontispiece} The command to typeset 
+%  A command to typeset 
 % the frontispiece of the collection.
 %    \begin{macrocode}
 \newcommand{\frontispiece}{%
   \thispagestyle{empty}%
     \begingroup
      \centering
-       \null\vspace{\stretch{1}}
+       \vspace*{\stretch{1}}
      
        {\SUF@chaptersize\@collectiontitle\par}
          \vskip5ex
      
        \@collectioneditor
-       \vspace{\stretch{2}}
-       
-     \@date
-     
+       \vspace*{\stretch{3}}
+            
   \endgroup
   \clearpage}
 %    \end{macrocode}
@@ -3421,7 +3526,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
 \fi}
 {\relax}}}
 %    \end{macrocode}
-% \begin{environment}{theindex}
 %    \begin{macrocode}
 \renewenvironment{theindex}
                {\if@twocolumn
@@ -3444,10 +3548,7 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
                 \let\item\@idxitem}
                {\if@restonecol\onecolumn\else\clearpage\fi}
 %    \end{macrocode}
-% \end{environment}
 % \subsection{Appendix}
-% \DescribeMacro{\appendicesname}
-% \DescribeMacro{\appendixpage}
 %    \begin{macrocode}
 \newcommand{\appendicesname}[1]{\def\SUF@appendices{#1}}
     \appendicesname{Appendici}
@@ -3482,7 +3583,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
   [\addvspace{1ex}]
 }
 %    \end{macrocode}
-% \DescribeMacro{\appendix}
 %    \begin{macrocode}
 \ifsuftesi@sufelements
 \renewcommand\appendix{\par
@@ -3617,9 +3717,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
 %
 % \subsubsection{Block Quotations}
 %
-% \DescribeEnv{quotation}
-% \DescribeEnv{quote}
-% \DescribeEnv{verse}
 % 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}
@@ -3665,7 +3762,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
 \def\thefootnote{\@fnsymbol\c@footnote}%
 \else\fi
 %    \end{macrocode}
-% \DescribeMacro{\xfootnote}
 % Prints a footnote with discretionary
 % symbol give in the first argument.
 %    \begin{macrocode}
@@ -3674,7 +3770,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
     \@footnotemark\@footnotetext}
 %    \end{macrocode}
 % \subsubsection{Marginal notes}
-% \DescribeMacro{\marginpar}
 % The |\marginpar| command is redefined according to the look 
 % of \emph{Classic Thesis} by 
 % André \textcite{Miede:2011}\index{Miede, André}. 
@@ -3683,7 +3778,7 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
 %    \begin{macrocode}
 \def\SUF@mpsetup{%
 %    \end{macrocode}
-% In the \emph{Elements} (i.e. with \opt{elements} option) 
+% In the \emph{The Elements of Typographic Style} (with \opt{elements} option) 
 % the marginal notes are printed in roman, 
 % but I prefer italic shape for the other options:
 %    \begin{macrocode}
@@ -3722,8 +3817,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
 {\relax}}
 %    \end{macrocode}
 % \subsubsection{Abstract}
-% \DescribeEnv{quotation}
-% This is the macro that defines the \env{abstract} environment in \sty{article} class. In \sty{suftesi} it simply prints the abstract name in roman font:
 %    \begin{macrocode}
 \ifsuftesi@collection
   \newenvironment{abstract}{%
@@ -3764,9 +3857,7 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
 \fi
 \newcommand\abstractname{Abstract}
 %    \end{macrocode}
-% \subsubsection{Colophon} 
-% Some useful commands to print a colophon or a copyright notice.
-% \DescribeMacro{\colophon}
+% \subsubsection{Colophon or copyright notice} 
 %    \begin{macrocode}
 \newcommand{\colophon}[3][]{%
   \thispagestyle{empty}
@@ -3785,7 +3876,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
       Ivan Valbusa\index{Valbusa, Ivan}. #3\par}
       \cleardoublepage}
 %    \end{macrocode}
-% \DescribeMacro{\bookcolophon}
 %    \begin{macrocode}
 \newcommand{\bookcolophon}[2]{%
   \thispagestyle{empty}
@@ -3796,7 +3886,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
   {\small\noindent #2\par}
       \cleardoublepage}
 %    \end{macrocode}
-% \DescribeMacro{\artcolophon}
 %    \begin{macrocode}
 \newcommand{\artcolophon}[1]{%
 \thispagestyle{empty}
@@ -3804,7 +3893,6 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
     \vfill
   {\small\noindent #1\par}}
 %    \end{macrocode}
-% \DescribeMacro{\finalcolophon}
 %    \begin{macrocode}
 \newcommand{\finalcolophon}[1]{%
 \thispagestyle{empty}
@@ -3816,7 +3904,7 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
   \end{center}
     \vspace*{\stretch{6}}}
 %    \end{macrocode}
-% \DescribeMacro{\FSPLcolophon}
+% \paragraph{The \cmd{FSPL} colophon}
 % This command is defined only for the \opt{style=FSPL*} options.
 %    \begin{macrocode}
 \ifsuftesi@FSPL
@@ -3867,7 +3955,6 @@ Janusz M. Nowacki.
 \newlength\SUF@label@chap
 \setlength\SUF@label@chap{.5em}
 %    \end{macrocode}
-% \DescribeMacro{\toclabelwidth}
 % |\toclabelwidth| is provided to
 % adjust the label width in the table of contents:
 %    \begin{macrocode}
@@ -3888,7 +3975,6 @@ Janusz M. Nowacki.
     Use \noexpand\toclabelwidth instead.\MessageBreak
     See package documentation for details}}
 %    \end{macrocode}
-% \DescribeMacro{\SUF@tochang}
 % This macro controls the space between page number and chapter
 % label using the \opt{tocpageleft} option:  
 %    \begin{macrocode}
@@ -3936,7 +4022,6 @@ Janusz M. Nowacki.
 %    \begin{macrocode}
 \ifsuftesi@pagelefttoc
 %    \end{macrocode}
-% \DescribeMacro{\contentsmargin}
 % First we reset the right margin to zero:
 %    \begin{macrocode}
 \contentsmargin{0pt}
@@ -4000,10 +4085,11 @@ Janusz M. Nowacki.
    \makebox[1em][l]{\thecontentspage}%
     \hskip\SUF@addto@tochang@chap%
       \makebox[\SUF@label@chap][l]{%
-        \SUF@toclabelnum\thecontentslabel}\hspace*{1em}}
+        \SUF@toclabelnum\thecontentslabel}\hspace*{1em}%
+          \SUF@tocCHAP@font}
   {\hskip-\SUF@tochang@chap%
      \makebox[1em][l]{\thecontentspage}%
-       \hskip\SUF@addto@tochang@chap}
+       \hskip\SUF@addto@tochang@chap\SUF@tocCHAP@font}
   {}
   [\addvspace{1ex}]
 \titlecontents{section}
@@ -4013,27 +4099,33 @@ Janusz M. Nowacki.
    \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@sec%
     \makebox[\SUF@label@sec][l]{%
     \ifsuftesi@article\SUF@toclabelnum%
-     \else\fi\thecontentslabel}\hspace*{1em}}
+     \else\fi\thecontentslabel}\hspace*{1em}%
+       \SUF@tocSEC@font}
   {\hskip-\SUF@tochang@sec%
-   \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@sec}
+   \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@sec%
+     \SUF@tocSEC@font}
   {}
 \titlecontents{subsection}
   [\SUF@tochang@subsec]
   {}
   {\hskip-\SUF@tochang@subsec%
    \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@subsec%
-    \makebox[\SUF@label@subsec][l]{\thecontentslabel}\hspace*{1em}}
+    \makebox[\SUF@label@subsec][l]{\thecontentslabel}\hspace*{1em}%
+      \SUF@tocSUBSEC@font}
   {\hskip-\SUF@tochang@subsec%
-   \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@subsec}
+   \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@subsec%
+     \SUF@tocSUBSEC@font}
   {}
 \titlecontents{subsubsection}
   [\SUF@tochang@subsubsec]
   {}
   {\hskip-\SUF@tochang@subsubsec%
    \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@subsubsec%
-    \makebox[\SUF@label@subsubsec][l]{\thecontentslabel}\hspace*{1em}}
+    \makebox[\SUF@label@subsubsec][l]{\thecontentslabel}\hspace*{1em}%
+      \SUF@tocSUBSUBSEC@font}
   {\hskip-\SUF@tochang@subsubsec%
-   \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@subsubsec}
+   \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@subsubsec%
+     \SUF@tocSUBSUBSEC@font}
   {}
 \titlecontents{paragraph}
   [\SUF@tochang@par]
@@ -4124,8 +4216,10 @@ Janusz M. Nowacki.
   {\addvspace{2ex}}
   {\hskip-\SUF@tocindent@chap%
     \makebox[\SUF@label@chap][l]{\SUF@toclabelnum\thecontentslabel}%
-    \hspace*{1em}}
-  {\hskip-\SUF@tocindent@chap}
+    \hspace*{1em}%
+      \SUF@tocCHAP@font}
+  {\hskip-\SUF@tocindent@chap%
+      \SUF@tocCHAP@font}
   {\SUF@chaptitlerule\contentspage}
   [\addvspace{1ex}]
 \titlecontents{section}
@@ -4134,23 +4228,29 @@ Janusz M. Nowacki.
   {\hskip-\dimexpr(\SUF@label@sec+1em)%
     \makebox[\SUF@label@sec][l]{%
     \ifsuftesi@article\SUF@toclabelnum%
-      \else\fi\thecontentslabel}\hspace*{1em}}
-  {\hskip-\dimexpr(\SUF@label@sec+1em)}
+      \else\fi\thecontentslabel}\hspace*{1em}%
+        \SUF@tocSEC@font}
+  {\hskip-\dimexpr(\SUF@label@sec+1em)%
+    \SUF@tocSEC@font}
   {\ifsuftesi@article\SUF@chaptitlerule%
        \else\SUF@titlerule\fi\contentspage}
 \titlecontents{subsection}
   [\SUF@tocindent@subsec]
   {}
   {\hskip-\dimexpr(\SUF@label@subsec+1em)%
-    \makebox[\SUF@label@subsec][l]{\thecontentslabel}\hspace*{1em}}
-  {\hskip-\dimexpr(\SUF@label@subsec+1em)}
+    \makebox[\SUF@label@subsec][l]{\thecontentslabel}\hspace*{1em}%
+      \SUF@tocSUBSEC@font}
+  {\hskip-\dimexpr(\SUF@label@subsec+1em)%
+    \SUF@tocSUBSEC@font}
   {\SUF@titlerule\contentspage}
 \titlecontents{subsubsection}
   [\SUF@tocindent@subsubsec]
   {}
   {\hskip-\dimexpr(\SUF@label@subsubsec+1em)%
-    \makebox[\SUF@label@subsubsec][l]{\thecontentslabel}\hspace*{1em}}
-  {\hskip-\dimexpr(\SUF@label@subsubsec+1em)}
+    \makebox[\SUF@label@subsubsec][l]{\thecontentslabel}\hspace*{1em}%
+      \SUF@tocSUBSUBSEC@font}
+  {\hskip-\dimexpr(\SUF@label@subsubsec+1em)%
+    \SUF@tocSUBSUBSEC@font}
   {\SUF@titlerule\contentspage}
 \titlecontents{paragraph}
   [\SUF@tocindent@par]
@@ -4182,9 +4282,6 @@ Janusz M. Nowacki.
   {\SUF@titlerule\contentspage}
 \fi
 %    \end{macrocode}
-% \DescribeMacro{\tableofcontents}
-% \DescribeMacro{\listoffigures}
-% \DescribeMacro{\listoftables}
 % With \opt{article} option the toc, lof and lot 
 % are printed as sections.
 %    \begin{macrocode}
@@ -4297,8 +4394,6 @@ Janusz M. Nowacki.
 \fi
 %    \end{macrocode}
 % \subsection{New commands}
-% \DescribeMacro{\chapterintro}
-% A command to typeset an unnumbered section:
 %    \begin{macrocode}
 \ifsuftesi@article
 \def\chapterintro{%
@@ -4317,52 +4412,26 @@ Janusz M. Nowacki.
 \chapterintroname{Introduzione}
 \fi
 %    \end{macrocode}
-% \DescribeMacro{\headbreak}
-%Active in the table of contents but not in the text.
+% \subsubsection{Manual breaks}
+% Active in the table of contents but not in the text.
 %    \begin{macrocode}
 \newif\ifheadbreak\headbreakfalse
   \DeclareRobustCommand{\headbreak}  
     {\ifheadbreak\\\else\fi}
 %    \end{macrocode}
-% \DescribeMacro{\xheadbreak}
 % Active in the text but not in the table of contents.
 %    \begin{macrocode}
 \newif\ifxheadbreak\xheadbreaktrue
   \DeclareRobustCommand{\xheadbreak} 
     {\ifxheadbreak\\\else\fi}
 %    \end{macrocode}
-% \DescribeMacro{\tableofcontents}
 %    \begin{macrocode}
 \let\origtableofcontents\tableofcontents
   \renewcommand{\tableofcontents}{%
     \begingroup\headbreaktrue\xheadbreakfalse%
   \origtableofcontents\endgroup}
 %    \end{macrocode}
-% Renew  |\frontmatter| to have arabic page numbering:
-%    \begin{macrocode}
-\ifsuftesi@article
-\renewcommand\frontmatter{\ClassError{suftesi}
-  {Command \noexpand\frontmatter is undefined\MessageBreak 
-     using 'documentstructure=article'}
-  {Command \noexpand\frontmatter is undefined\MessageBreak 
-     using 'documentstructure=article'}}
-\renewcommand\mainmatter{\ClassError{suftesi}
-  {Command \noexpand\mainmatter is undefined\MessageBreak 
-     using 'documentstructure=article'}
-  {Command \noexpand\mainmatter is undefined\MessageBreak 
-     using 'documentstructure=article'}}
-\renewcommand\backmatter{\ClassError{suftesi}
-  {Command \noexpand\backmatter is undefined\MessageBreak 
-     using 'documentstructure=article'}
-  {Command \noexpand\backmatter is undefined\MessageBreak 
-     using 'documentstructure=article'}}
-\else
-\renewcommand\frontmatter{\cleardoublepage\@mainmatterfalse} 
-\renewcommand\mainmatter{\cleardoublepage\@mainmattertrue} 
-\fi
-%    \end{macrocode}
-% \subsection{Backward compatibility}
-% \begin{environment}{bibliografia}
+% \subsubsection{Backward compatibility}
 % An environment to manually typeset the bibliography. (Use \sty{biblatex} instead!)
 %    \begin{macrocode}
 \newenvironment{bibliografia}{%
@@ -4380,8 +4449,6 @@ Janusz M. Nowacki.
       \let\makelabel}}
   {\endlist}
 %    \end{macrocode}
-% \end{environment}
-% \begin{environment}{sigle}
 % An environment to manually typeset the list of shorthands. (Use \sty{biblatex} instead!)
 %    \begin{macrocode}
 \newcommand{\losname}{Sigle}
@@ -4398,13 +4465,35 @@ Janusz M. Nowacki.
       \let\makelabel\itlabel}}
   {\endlist}
 %    \end{macrocode}
-% \end{environment}
 %
 % \subsection{Final settings}
+% Renew  |\frontmatter| to have arabic page numbering:
 %
+%    \begin{macrocode}
+\ifsuftesi@article
+\renewcommand\frontmatter{\ClassError{suftesi}
+  {Command \noexpand\frontmatter is undefined\MessageBreak 
+     using 'documentstructure=article'}
+  {Command \noexpand\frontmatter is undefined\MessageBreak 
+     using 'documentstructure=article'}}
+\renewcommand\mainmatter{\ClassError{suftesi}
+  {Command \noexpand\mainmatter is undefined\MessageBreak 
+     using 'documentstructure=article'}
+  {Command \noexpand\mainmatter is undefined\MessageBreak 
+     using 'documentstructure=article'}}
+\renewcommand\backmatter{\ClassError{suftesi}
+  {Command \noexpand\backmatter is undefined\MessageBreak 
+     using 'documentstructure=article'}
+  {Command \noexpand\backmatter is undefined\MessageBreak 
+     using 'documentstructure=article'}}
+\else
+\renewcommand\frontmatter{\cleardoublepage\@mainmatterfalse} 
+\renewcommand\mainmatter{\cleardoublepage\@mainmattertrue} 
+\fi
+%    \end{macrocode}
 % In a previous version the \cmd{hemph} command was provided
 % to fix a bug in the hyphenation of some italian expressions
-% like ``dell'\emph{encyclopaedia}''. Now the bug has been fixed loading the \sty{fixltxhyph} package by Claudio Beccari. The package 
+% like ``dell'\emph{encyclopaedia}''. Now the bug has been fixed by the \sty{fixltxhyph} package by Claudio Beccari. The package 
 % must be loaded ofter \sty{babel} or \sty{polyglossia}:
 %    \begin{macrocode}
 \AtBeginDocument{\RequirePackage{fixltxhyph}}  
@@ -4426,7 +4515,9 @@ Janusz M. Nowacki.
 %    \begin{macrocode}
 \frenchspacing
 %    \end{macrocode}
+% \iffalse
 %</class>
+% \fi
 %
 % \restoregeometry
 %
@@ -4475,7 +4566,7 @@ Janusz M. Nowacki.
   Edition = {4th ed. (version 4.0)},
   Location = {Vancouver},
   Publisher = {Hurtley \& Marks Publisher},
-  Title = {The Elements of Typographyc Style},
+  Title = {The Elements of Typographic Style},
   related = {Bringhurst:1992-ITA}
 }
 @book{Bringhurst:1992-ITA,
-- 
cgit v1.2.3

