% \iffalse
% Copyright (C) 2013 by Dimitrios Vrettos - d.vrettos@gmail.com
%
% This file may be distriubuted and/or modified under the
% conditions of the LaTeX Project Public Licence, either
% version 1.3c of this licence or (at your option) any later
% version. The latest version of this licence is in:
%
%	http://www.latex-project.org/lppl.txt
%
% and version 1.3c  or later is part of all distriubutions of 
% LaTeX version 2008/05/04 or later.
%
% This work has the LPPL maintenance status `maintained'.
%
% \fi
%
% \iffalse
%<*driver>
\ProvidesFile{matc3mem.dtx}
%</driver>
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{matc3mem}
%<*class>%
    [2013/04/06 v1.0.1 Classe per il libri di MatematicaC3]
%</class>
%<class>\LoadClassWithOptions{memoir}[2011/03/06]
%<class>\RequirePackage{amsthm}
%<class>\RequirePackage[dvipsnames]{xcolor}
%<class>\RequirePackage{shadethm}
%<*driver>
\documentclass[italian]{ltxdoc}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage[italian]{babel}
\usepackage{amssymb}
\makeatletter
\def\SpecialMainEnvIndex#1{\@bsphack\special@index{%
                                      #1\actualchar
                                      {\string\ttfamily\space#1}
                                         (ambiente)%
                                      \encapchar main}%
    \special@index{ambienti:\levelchar#1\actualchar{%
                   \string\ttfamily\space#1}\encapchar
           main}\@esphack}
\def\SpecialUsageIndex#1{\@bsphack
   {\let\special@index\index\SpecialIndex@{#1}{\encapchar usage}}%
   \@esphack}
\def\SpecialEnvIndex#1{\@bsphack
    \index{#1\actualchar{\protect\ttfamily#1}
           (ambiente)\encapchar usage}%
    \index{ambienti:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar
		usage}\@esphack}
\makeatother
\EnableCrossrefs
\CodelineIndex
\RecordChanges
\GlossaryPrologue{\section*{Cronologia delle modifiche}}
\IndexPrologue{\section*{Indice analitico}I numeri scritti in corsivo si riferiscono alla pagina in
cui la voce corrispondente \`e descritta; i numeri sottolineati si riferiscono alla riga del codice
della definizione; i numeri in tondo si riferiscono alle linee del codice in cui viene visualizzata 
la voce.}
\setcounter{IndexColumns}{2}
\makeindex
\DoNotIndex{\\,, \@endpart, \@setuppart, \`, \\, \\ }
\DoNotIndex{\addtolength, \afterpartskip, \alph}
\DoNotIndex{\baselineskip, \beforechapskip, \beforepartskip, \begin, \begingroup}
\DoNotIndex{\centering, \cftpartnumwidth, \chapnumfont, \chaptermark, \chaptername, \chapternonumtrue}
\DoNotIndex{\chapterstyle, \chaptitlefont}
\DoNotIndex{\def, \definecolor, \descriptionlabel, \ding, \drop}
\DoNotIndex{\\else, \emph, \end, \endgroup}
\DoNotIndex{\\fi, \flushright, \fontseries, \fontsize}
\DoNotIndex{\headcap, \headsec, \hrule, \hskip, \hspace, \Huge, \huge}
\DoNotIndex{\\if@mainmatter, \\ifcase, \\ifchapternonum, \\ifnum, \item, \itemsep, \itshape}
\DoNotIndex{\labelsep, \labelwidth, \LARGE, \Large, \large,  \leftmark, \linewidth}
\DoNotIndex{\makechapterstyle, \makeevenhead, \makeoddhead, \makepagestyle, \makepsmarks}
\DoNotIndex{\MakeUppercase, \markboth, \markright, \midpartskip}
\DoNotIndex{\newcommand, \newenvironment, \newif, \newlength, \noindent, \numeroparte}
\DoNotIndex{\\or}
\DoNotIndex{\par, \parbox, \parskip, \partnamenum, \partnumfont, \parttitlefont, \printchaptername}
\DoNotIndex{\printchapternonum, \printchapternum, \printchaptertitle, \printpartname, \printpartnum}
\DoNotIndex{\printparttitle, \providecommand}
\DoNotIndex{\raggedleft, \raggedright, \raisebox, \relax, \renewcommand, \rightmark}
\DoNotIndex{\sectionmark, \selectfont, \setlength, \setsecheadstyle, \setsubsecheadstyle}
\DoNotIndex{\setsubsubsecheadstyle, \slshape}
\DoNotIndex{\textheight, \textwidth, \thechapter, \theoremstyle, \thepage, \thepart, \thesection}
\DoNotIndex{\thispagestyle}
\DoNotIndex{\value, \vphantom, \vskip, \vspace}
\begin{document}
   \DocInput{matc3mem.dtx}
\end{document}
%</driver>
% \fi
%\CheckSum{0}
% \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
%   Lower-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
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
% 
% \changes{v1.0}{2013/04/05}{Primo rilascio pubblico}
% \changes{v1.0.1}{2013/04/06}{Bug corretto}  
% \GetFileInfo{matc3mem.dtx}
%
% \title{La classe \textsf{matc3mem}\thanks{Questo documento
% corrisponde a \textsf{matc3mem}~\fileversion,
% data~\filedate.}}
% \author{Dimitrios Vrettos \\ \texttt{d.vrettos@gmail.com}}
%
% \maketitle
%
% \tableofcontents
% \section{Introduzione}
%
% La presente classe  si pu\`o considerare una personalizzazione della classe~\textsf{memoir}
% con l'aggiunta di nuove macro per soddisfare le esigenze dei testi di MatematicaC3
% (rilasciati con licenza \textit{Creative Commons} e scaricabili gratuitamente dal
% sito di matematicamente.it). 
% Ovviamente la classe viene rilasciata anche per altri usi e scopi, non obbligatoriamente
% correlati al progetto di MatematicaC3.
% 
% La documentazione presenta la sezione dell'installazione della classe~\textsf{matc3mem},
% nonch\'e le sue dipendenze da altri pacchetti. Successivamente, vengono presi in esame
% le varie macro che offerte. In fine, c'\`e l'implentazione commentata del codice
% sorgente.
% 
% La classe~\textsf{matc3mem} viene rilasciata con la 
% licenza \LaTeX\ \textit{Project Public Licence, version 1.3c or later}\footnote{L'ultima versione
% della licenza
% \`e disponibile su \texttt{http://www.latex-project.org/lppl.txt}.}.
%
%
% \section{Installazione}
% \subsection{Usando Make}
%
% La distribuzione della classe contiene un~\texttt{Makefile}. Dando il comando
% \begin{verbatim}
% 	$ make help
% \end{verbatim}
% vengono mostrate le varie opzioni disponibili. A titolo informativo ne vengono presentate due:
% \begin{verbatim}
% 	$ make install
% \end{verbatim}
% che compila i sorgenti e successivamente  installa il pacchetto e la documentazione e aggiorna
% il database.
%
% Se qualcosa, invece, non \`e andato a buon fine, si proceda con la disinstallazione completa:
% \begin{verbatim}
% 	$ make uninstall
% \end{verbatim}
%
% \section{Dipendenze}
% Come gi\`a riferito nell'introduzione, la~\textsf{matc3mem} si basa sulla classe~\textsf{memoir}. 
% Da essa eredita tutte le opzioni. Per i simboli matematici, invece, si richiede la presenza del 
% pacchetto~\textsf{amssymb}. Inoltre vengono caricati, dierettamente dalla classe, i seguenti pacchetti:
% \begin{itemize}
% \item \textsf{amsmath} per la definizione dei teoremi;
% \item \textsf{xcolor} caricato con l'opzione~\texttt{dvipsnames} per la gestione del colore del 
% documento;
% \item \textsf{shadethm} che serve per gli sfondi colorati dei teoremi.
% \end{itemize}
%
% \section{Uso}
% \subsection{Frontespizio e colophon}
% \DescribeMacro{\frntspz}
% Esiste un frontespizio predefinito per il testo il quale riporta i dati essenziali del testo.
%  Tuttavia all'interno del codice si fa uso di macro non definite, le quali vanno dichiarate al
% preambolo del documento nel caso si volesse usare il frontespizio fornito con la classe. Esse sono:
% \begin{itemize}
% \item |\serie| che riguarda l'eventuale collano editoriale;
% \item |\titolo| che riporta il titolo del testo;
% \item |\descr| per la descrizione del libro;
% \item |\editore| il nome dell'editore che pubblica il libro;
% \item |\Edizione| l'edizione corrente;
% \item |\anno| l'anno della pubblicazione.
% \end{itemize}
% La macro si utilizza all'interno dell'ambiente~\texttt{titlinpage}:
% \begin{verbatim}
% \begin{titlinpage}
%	\frntspz
% \end{titlinpage} 
%\end{verbatim}
%
% \DescribeMacro{\mcpar}
% Per il colophon non è previsto uno schema predefinito. Potrebbe comunque risultare utile un comando che
% stampa il titolo di un capoverso in maiuscoletto. Per questa ragione si introduce~|\mcpar|.
%
% \subsection{Liste}
% La classe~\textsf{matc3mem} introduce quattro nuovi tipi di elenchi. Si tratta di modifiche di liste
% gi\`a esistenti.
% 
% \DescribeEnv{description*}
% Ambiente per le descrizioni con interlinea ridotta.
% 
% \DescribeEnv{enumeratea}
% Ambiente basato su \texttt{enumerate}. La numerazione avviene usando delle lettere.
% 
% \DescribeEnv{enumerate*}
% Si tratta dell'ambiente \texttt{enumerate} con interlinea ridotta.
% 
% \DescribeEnv{itemize*}
% Variazione dell'ambiente \texttt{itemize} con interlinea ridotta.
% 
% \DescribeMacro{\spazielen}
% La riduzione dello spazio verticale tra una voce di un elenco ed un altra viene ottenuto applicando
% il comando~|\spazielen|.
% 
% \DescribeMacro{\spazielenx}
% Questo macro invece, aumenta lo spazio verticale fra le voci di un elenco.
%
% I livelli delle voci di un elenco sono tre.
%
% \DescribeMacro{\labelitemi}
% Primo livello delle voci di un elenco. Si pu\`o  utilizzare dentro gli ambienti~\texttt{itemize}
% e~\texttt{itemize*}.
% 
% \DescribeMacro{\labelitemii}
% Secondo livello delle voci di un elenco. Si pu\`o utilizzare dentro gli ambienti~\texttt{itemize}
% e~\texttt{itemize*}.
% 
% \DescribeMacro{\labelitemiii}
% Terzo livello delle voci di un elenco. Si pu\`o utilizzare dentro gli ambienti~\texttt{itemize}
% e~\texttt{itemize*}.
% 
% \subsection{Esempi, esercizi, problemi}
% Nel testo si fa largo uso di esempi, esercizi e di problemi risolti. Per questo motivo sono stati
% creati tre tipi distinti di ambienti per poter descrivere i singoli casi.
%
% \DescribeEnv{esempio}
% L'ambiente per gli esempi riportati nel testo. Il titolo dell'esempio viene 
% stampato a colore e la sua numerazione dipende dal capitolo. \`E possibile applicare anche
% un'opzione all'ambiente. Ad esempio:
% \begin{verbatim}
% \begin{esempio}[<opzione>]
%   ...
% \end{esempio}
% \end{verbatim}
% Gli esempi vengono numerati automaticamente nella forma \textit{<x.y>}, dove~\textit{<x>} è il
% numero del capitolo corrente e~\textit{<y>} il numero dell'esempio. Ad ogni nuovo capitolo, 
% la numerazione crescente degli esempi si azzera.
%
% \DescribeEnv{exrig}
% Serve per isolare dal resto del testo gli esempi, ponendo 
% un rigo prima del loro inizio e un altro dopo la fine.
% \begin{verbatim}
% \begin{exrig}
%   \begin{esempio}[<opzione>]
%     ...
%   \end{esempio}
%
%   ...
%
%   \begin{esempio}[<opzione>]
%     ...
%   \end{esempio}
% \end{exrig}
% \end{verbatim}
%
% \DescribeEnv{esercizio}
% Nuovo ambiente per gli esercizi. Funziona in maniera del tutto uguale all'ambiente~\textsf{esempio}.
%
% \DescribeEnv{problema}
% Questa macro crea l'ambiente per i problemi risolti. Tuttavia, l'ambiente  è stato pensato per
% includere solo l'enunciato del problema. Per il testo, invece, della soluzione \`e previsto
% l'ambiente~\textsf{soluzione}. Valgono le regole per l'ambiente \textsf{esempio} 
% e~\textsf{esercizio}.
% 
% \DescribeEnv{soluzione}
% Ambiente che dovrebbe seguire l'ambiente~\textsf{problema}. In esso
% viene inclusa la soluzione di un problema. Una possibile combinazione dei due ambienti sarebbe:
% \begin{verbatim}
% \begin{esercizio}[<opzione>]
%   ...
% \end{esercizio}
%
% \begin{soluzione}
%    ...
% \end{soluzione}
% \end{verbatim}
%
% \subsection{Teoremi}
% I teoremi e gli enunciati simili, vengono stampati in sfondo colorato e in tondo o corsivo
% Seguono una numerazione crescente che viene azzerata ad ogni nuovo capitolo.
%
% \DescribeEnv{definizione}
% Per le definizioni che vengono date nel testo.
% 
% \DescribeEnv{criterio}
% Per i criteri matematici.
%
% \DescribeEnv{teorema}
% Ambiente per i teoremi. Stampa in corsivo.
% 
% \DescribeEnv{legge}
% Ambiente per le leggi matematiche. Basato su~\textsf{teorema}.
% 
% \DescribeEnv{principio}
% Ambiente per i principi matematici. Basato su~\textsf{teorema}. 
% 
% \DescribeEnv{procedura}
% Ambiente per le procedure matematiche. Basato su~\textsf{teorema}.
% 
% \DescribeEnv{proprieta}
% Ambiente per le proprietà matematiche. Basato su~\textsf{teorema}.
% 
% La colorazione o meno dello sfondo, il colore del bordo e la dimensione della scatola possono essere
% impostati al preambolo del documento.
%
% \subsection{Grafici}
% \DescribeEnv{grafico}
% \DescribeMacro{\listofdiagrams}
% L'ambiente permette di dare al titolo della didascalia il nome ``grafico''. Si tratta di un ambiente
% di carattere \textit{float} e ci si comporta come gli ambienti~\texttt{figure} e/o \texttt{table}. 
% Esiste inoltre la possibilit\`a di creare un elenco di grafici.
%
% \section{Implemenentazione}
% \begin{macro}{\mcpar}
% Capoverso scritto in maiuscoletto.
%    \begin{macrocode}
\newcommand{\mcpar}[1]{%
	\paragraph*{%
		\small\normalfont\scshape{#1}%
	}%
}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\spazielen}
% Viene definito il comando, impostando la separazione verticale delle voci a~0, e sminuendo 
% la separazione tra i capoversi.
% Questo comando viene utilizzato nella definizione degli elenchi.
%    \begin{macrocode}
\newcommand{\spazielen}{%
  \setlength{\itemsep}{0pt}%
  \setlength{\parskip}{0pt}%
}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\spazielenx}
% A differenza del comando precedente, il |\parskip| viene impostato a~\texttt{5 pt}.
%    \begin{macrocode}
\newcommand{\spazielenx}{%
  \setlength{\itemsep}{0pt}%
  \setlength{\parskip}{5pt}%
}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\labelitemi}
% Nuova defiinizione per la macro~|\labelitemi|:
%    \begin{macrocode}
\renewcommand{\labelitemi}{%
  \textcolor{Salmon}{\ding{225}}%
}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\labelitemii}
% Nuova defiinizione per la macro~|\labelitemii|:
%    \begin{macrocode}
\renewcommand{\labelitemii}{%
  \textcolor{Salmon}{\ding{224}}%
}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\labelitemiii}
% Nuova defiinizione per la macro~|\labelitemiii|:
%    \begin{macrocode}
\renewcommand{\labelitemiii}{%
  \textcolor{Salmon}{\ding{223}}%
}
%    \end{macrocode}
% \end{macro}
%
% \begin{environment}{description*}
% 
%    \begin{macrocode}
\newenvironment{description*}{%
  \begin{description}
    \spazielen}%
  {\end{description}%
}
\renewcommand{\descriptionlabel}[1]{%
  \labelwidth=3cm\hspace{%
	\labelsep}\emph{#1}%
}
%    \end{macrocode}
% \end{environment}
% \begin{environment}{enumeratea}
% Viene definita l'eticchetta e successivamente ridotta l'interlinea:
%    \begin{macrocode}
\newenvironment{enumeratea}{%
  \begin{enumerate}[label=\alph*\,)]%
    \spazielen}{%
  \end{enumerate}%
}
%    \end{macrocode}
% \end{environment}
% \begin{environment}{enumerate*}
% Viene ridotta l'interlinea usando |\spazielen|:
%    \begin{macrocode}
\newenvironment{enumerate*}{%
  \begin{enumerate}%
    \spazielen}{%
  \end{enumerate}%
}
%    \end{macrocode}
% \end{environment}
% \begin{environment}{itemize*}
% Si utilizza |\spazielen| per ridurre l'interlinea:
%    \begin{macrocode}
\newenvironment{itemize*}{%
  \begin{itemize}
    \spazielen}{%
  \end{itemize}%
}
%    \end{macrocode}
% \end{environment}
% \begin{environment}{exrig}
% 
%    \begin{macrocode}
\newenvironment{exrig}{%
  \vskip2mm\hrule\vskip2mm}{%
  \hrule\vskip2mm}
%    \end{macrocode}
% \end{environment}
%
% Viene definito lo stile del teorema
%    \begin{macrocode}
\theoremstyle{definition} 
%    \end{macrocode}
% \begin{environment}{definizione}
% Ambiente per le definizioni:
%    \begin{macrocode}
\newshadetheorem{definizione}{Definizione}[chapter]
%    \end{macrocode}
% \end{environment}
% \begin{environment}{definizione}
% 
%    \begin{macrocode}
\newshadetheorem{criterio}[definizione]{Criterio}
%    \end{macrocode}
% \end{environment}
% \begin{environment}{esempio}
% 
%    \begin{macrocode}
\newshadetheorem{sesempio}{Esempio}[chapter]
\newtheorem{esempio}[sesempio]{\color{Sepia}Esempio}
%    \end{macrocode}
% \end{environment}
% \begin{environment}{problema}
% 
%    \begin{macrocode}
\newtheorem{problema}[sesempio]{\color{Sepia}Problema}
%    \end{macrocode}
% \end{environment}
% \begin{environment}{esercizio}
% 
%    \begin{macrocode}
\newtheorem{esercizio}{\color{Sepia}}[chapter]
%    \end{macrocode}
% \end{environment}
% 
% Viene definito il tipo di teorema (plain).
%    \begin{macrocode}
\theoremstyle{plain} 
%    \end{macrocode}
% Successivamente il comando \texttt{thmcolor} che definisce
% il colore dello sfondo ove saranno riportati i teoremi e 
% il bordo della scatola.
%    \begin{macrocode}
\newcommand{\thmcolor}{%
  \definecolor{shadethmcolor}{gray}{1}%
  \definecolor{shaderulecolor}{gray}{0.95}%
}      
%    \end{macrocode}
% \begin{environment}{teorema}
% Definizione dell'ambiente e numerazione basata sul capitolo.
%    \begin{macrocode}
\newshadetheorem{teorema}{\thmcolor{Teorema}}[chapter]
%    \end{macrocode}
% \end{environment}
% \begin{environment}{legge}
% Clone dell'ambiente~\textsf{teorema}, usato per le leggi.
%    \begin{macrocode}
\newshadetheorem{legge}[teorema]{Legge}
%    \end{macrocode}
% \end{environment}
% \begin{environment}{principio}
% Clone dell'ambiente~\textsf{teorema}, usato per i principi.
%    \begin{macrocode}
\newshadetheorem{principio}[teorema]{Principio}
%    \end{macrocode}
% \end{environment}
% \begin{environment}{procedura}
% Clone dell'ambiente~\textsf{teorema}, usato per le procedure.
%    \begin{macrocode}
\newshadetheorem{procedura}[teorema]{Procedura}
%    \end{macrocode}
% \end{environment}
% \begin{environment}{proprieta}
% Clone dell'ambiente~\textsf{teorema}, usato per le proprietà.
% \changes{v1.0.2}{2013/04/12}{Bug corretto della lettera accentata}
%    \begin{macrocode}
\newshadetheorem{proprieta}[teorema]{Propriet\`a}
%    \end{macrocode}
% \end{environment}
% \begin{environment}{soluzione}
% Ambiente per la stampa delle soluzioni dei problemi. Stampa in
% corsivo il titolo e a fine ambiente pone il simbolo~``$\blacklozenge$''. 
%    \begin{macrocode}
\newenvironment{soluzione}[1][Soluzione]%
 {\begin{trivlist}%
   \item[\hskip \labelsep {\itshape #1}]%
 }
 {\end{trivlist}%
   {\flushright{\color{Sepia}$\blacklozenge$}\par}%
 }
%    \end{macrocode}
% \end{environment}
% L'ambiente per i grafici.
%    \begin{macrocode}
\newcommand{\diagramname}{Grafico}
\newcommand{\listdiagramname}{Elenco dei grafici}
\newlistof{listofdiagrams}{dgm}{\listdiagramname}
\newfloat[chapter]{grafico}{dgm}{Grafico}
\newlistentry{grafico}{dgm}{0}
%    \end{macrocode}
% In primis viene definito il comando~|\frntspz| che dovrà essere impiegato nel testo.
%    \begin{macrocode}
\newcommand*{\frntspz}{%
%    \end{macrocode}
% Successivamente s'imposta la distanza verticale~|\drop| in relazione dell'altezza del font,
%    \begin{macrocode}
  \begingroup\newlength{\drop}
  \drop=0.15\textheight
  \vspace{\drop}
  \centering
    \fontsize{16pt}{0in}%
    \selectfont\MakeUppercase\serie\\[0.5\drop]
    \fontsize{26pt}{0pt}%
    \selectfont\MakeUppercase\titolo\par
  \vspace{\drop}
    {\LARGE\descr}\par
  \vspace{2.5\drop}
    \large\editore
  \vskip2mm
    \large\Edizione\ - \anno\par
  \vspace{\drop}
  \endgroup}
%    \end{macrocode}
% Realizzazione dello stile delle parti del testo.
%    \begin{macrocode}
\renewcommand{\printpartname}{}
\newcommand{\numeroparte}{\partnumfont \thepart}
\renewcommand{\printpartnum}{}
\renewcommand{\partnamenum}{}
\renewcommand{\beforepartskip}{\vspace*{0.1in}}
\renewcommand{\midpartskip}{}
\renewcommand{\afterpartskip}{\vspace{1in}}
\renewcommand\parttitlefont{%
  \Huge\fontseries{b}\fontfamily{phv}%
  \selectfont\raggedleft%
}
\renewcommand\partnumfont{%
  \fontseries{b}\fontsize{.9in}{0in}%
  \selectfont\color{BrickRed}%
}
\renewcommand{\@setuppart}{%
  \beforepartskip}
\renewcommand{\@endpart}{%
  \afterpartskip}
\renewcommand{\printparttitle}[1]{%
  \thispagestyle{empty}%
    \noindent
    \begin{tabularx}{\textwidth}{Xr}
     {\parbox[b]{\linewidth}{\parttitlefont #1}}% 
      & \raisebox{-15pt}{\numeroparte} \\%
    \end{tabularx}
}
%    \end{macrocode}
% Definizione dello stile dei capitoli.
%    \begin{macrocode}
\newif\ifchapternonum
  \makechapterstyle{matc3chap}{%
    \renewcommand\printchaptername{}
    \renewcommand\printchapternum{}
    \renewcommand{\beforechapskip}{-25pt}
    \renewcommand\printchapternonum{\chapternonumtrue}
    \renewcommand\chaptitlefont{%
      \huge\fontseries{b}\fontfamily{phv}\selectfont\raggedleft%
    }
    \renewcommand\chapnumfont{%
      \fontseries{b}\fontsize{.9in}{0in}%
      \selectfont\raggedright\color{Mahogany}%
    }
    \renewcommand\printchaptertitle[1]{%
      \noindent%
      \ifchapternonum%
	\begin{tabularx}{\textwidth}{X}%	
	  {\parbox[b]{\linewidth}{\chaptitlefont ##1}%
	  \vphantom{\raisebox{15pt}{\chapnumfont 1}}}
	\end{tabularx}%
      \else
	\begin{tabularx}{\textwidth}{Xl}
	  {\parbox[b]{\linewidth}{\chaptitlefont ##1}}%
	  & \raisebox{-15pt}{ \chapnumfont  \thechapter}%
	\end{tabularx}%
      \fi
     \par\vskip2mm%\hrule
  }
}
\chapterstyle{matc3chap}
%    \end{macrocode}
% Stile delle sezioni.
%    \begin{macrocode}
\setsecheadstyle{%
  \Large\fontfamily{phv}\fontseries{b}\selectfont\raggedright%
}
%    \end{macrocode}
% Definizione delle sottosezioni del testo.
%    \begin{macrocode}
\setsubsecheadstyle{%
  \fontfamily{phv}\fontseries{b}\selectfont\raggedright%
}
%    \end{macrocode}
% Le sotto-sottosezioni.
%    \begin{macrocode}
\setsubsubsecheadstyle{%
  \fontfamily{phv}\fontseries{b}\selectfont\raggedright%
}
%    \end{macrocode}
% Testatine e piè di pagina.
%    \begin{macrocode}
\makepagestyle{matc3page}
\makeevenhead{matc3page}{\thepage}{}{\slshape\leftmark}
\makeoddhead{matc3page}{\slshape\rightmark}{}{\thepage}
\newcommand{\headcap}{%
  {\color{Mahogany}\chaptername\ \thechapter. }%
}
\newcommand{\headsec}{%
  {\color{Mahogany}Sezione~\thesection. }%
}
\makepsmarks{matc3page}{%
  \def\chaptermark##1{\markboth{%
        \ifnum \value{secnumdepth} > -1
          \if@mainmatter
           \headcap   %
          \fi
        \fi
        ##1}{}%
  }
  \def\sectionmark##1{\markright{%
        \ifnum \value{secnumdepth} > 0
          \headsec \ %
        \fi
        ##1}%
  }
}
%    \end{macrocode}
% \clearpage
% \Finale
%
% \addcontentsline{toc}{section}{Indice analitico}
% \PrintIndex
% \addcontentsline{toc}{section}{Cronologia delle modifiche}
% \PrintChanges 
\endinput
