diff --git a/changelog b/changelog
index e6ea4682baa0d63a79d5c1a9f6f5d95afb5d1cad..35b0a036a840f3f608ac39ce8adb7eef1c7852f7 100644
--- a/changelog
+++ b/changelog
@@ -1,5 +1,9 @@
 Changelog:
 
+23/04/20
+- removido arquivo titlesec.sty, que tinha sido adicionado para corrigir
+  um bug na versão do pacote titlesec distribuída em 03/2016.
+
 30/03/20
 - opção "metadados" para incluir metadados (título, author, etc) no PDF;
   por default não os inclui, pois a Bib/UFPR parece não gostar deles...
diff --git a/ppginf.cls b/ppginf.cls
index 43f24d44e4c3b04ca94876db34cd9a2af5f2f0fc..f0bd8fc28d85bc97a1c932456c75954c2f0f13ef 100644
--- a/ppginf.cls
+++ b/ppginf.cls
@@ -121,7 +121,6 @@
 
 % ajustar formato dos títulos nas seções
 
-% ATENCAO: https://tex.stackexchange.com/questions/299969/titlesec-loss-of-section-numbering-with-the-new-update-2016-03-15
 \RequirePackage[explicit]{titlesec}
 
 \newcommand{\numberspacing}{1.5ex}	% espaço entre número e título
diff --git a/titlesec.sty b/titlesec.sty
deleted file mode 100644
index 67960ef25d4dbf90f462fb0d67f387d8004f89e3..0000000000000000000000000000000000000000
--- a/titlesec.sty
+++ /dev/null
@@ -1,1350 +0,0 @@
-% +--------------------------------------------------+
-% | Typeset titlesec.tex to get the documentation.   |
-% +--------------------------------------------------+
-%
-% Copyright (c) 1998-2016 by Javier Bezos.
-% All Rights Reserved.
-%
-% This file is part of the titlesec distribution release 2.10.2
-% -----------------------------------------------------------
-%
-% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-%   http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2003/12/01 or later.
-% 
-% This work has the LPPL maintenance status "maintained".
-% 
-% The Current Maintainer of this work is Javier Bezos.
-%
-% Notes
-% ~~~~~
-%
-% The following tags are used:
-% ttl@  : the generic tag used through the style
-% ttlh@ : a shape definition
-% ttlf@ : a macro containing the title format
-% ttls@ : id. the title space
-% ttlp@ : page key related macros
-% ttll@ : level number
-%
-% The ttlf@ and ttls@ contains data in the form {..}{..}.
-% Perhaps in future releases they should be converted
-% to a prop-like list, similar to that proposed by the
-% latex team.
-%
-% Admittedly, the current implementation seems too
-% complicated, but that's necessary in order to provide
-% certain compatibility with the sections as defined by the
-% used class. Other packages opt for providing the sections
-% as defined by standard classes ignoring the class; for
-% instance sectsty which does a simple task in a simple and
-% nice way. However, that was not my goal.
-%
-% Release
-% ~~~~~~~
-
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{titlesec}[2016/03/21 v2.10.2 Sectioning titles]
-
-% Initialization
-% ~~~~~~~~~~~~~~
-
-\newif\ifttl@ps
-\ttl@psfalse
-
-% The \ttl@label switch is used when printing the label in titles.
-% A numberless variant makes it to true.
-% There is a \ttl@toclabel as well, which is true iff the
-% title is numbered; used in toc entries (except default part
-% and chapter) and marks (only in titlesec pagestyles).
-
-\newif\ifttl@label
-\newif\ifttl@toclabel
-
-\newbox\ttl@box
-
-% A provision for the report style:
-
-\@ifundefined{if@mainmatter}
-  {\let\if@mainmatter\iftrue}{}
-
-\@ifundefined{if@openright}
-  {\let\if@openright\iftrue}{}
-
-% and the ams styles as well
-
-\@ifundefined{@chapapp}
-  {\let\@chapapp\chaptername}{}
-
-\def\ttl@trylist{\ttl@try{}}
-
-\def\ttl@getkeys#1#2{%
-  \if\expandafter @\@gobble#1@\@empty
-    \edef\ttl@b{\expandafter\@gobble\string#1}%
-    \let\ttl@a\ttl@b
-  \else
-    \makeatletter
-    \edef\ttl@d{%
-      \noexpand\input{ttlkeys.def}%
-      \catcode`\noexpand\@=\the\catcode`\@}%
-    \ttl@d
-    \ttl@getkeys{#1}{#2}%
-  \fi}
-
-% A more meaningful error for \@notdefinable
-
-\expandafter\AtEndOfPackage\expandafter{\expandafter
-  \gdef\expandafter\@notdefinable\expandafter{\@notdefinable}}
-
-\def\@notdefinable{%
-  \PackageError{titlesec}%
-    {Incompatible package}%
-    {Titlesec cannot continue defining its own macros 
-         because\MessageBreak
-     \@backslashchar\reserved@a\space is already used by other package,
-         the class\MessageBreak
-     or the document.}}
-
-%               +-----------------+
-%               |  C L A S S E S  |
-%               +-----------------+
-
-\def\ttl@useclass#1#2{%
-  \@ifstar
-    {\ttl@labelfalse#1{#2}[]}%
-    {\ttl@labeltrue\@dblarg{#1{#2}}}}
-
-\def\ttl@straightclass{\ttl@useclass\ttl@straight@i}
-\def\ttl@partclass{\ttl@useclass\ttl@part@i}
-\def\ttl@topclass{\ttl@useclass\ttl@top@i}
-\def\ttl@pageclass{\ttl@useclass\ttl@page@i}
-
-% Here \scantokens is used to make sure the unescaped name
-% has `letters' and no `others'. Mainly for hyperref, so there
-% should be no problems.
-
-\newcommand\titleclass[1]{%
-  \edef\ttl@a{\expandafter\@gobble\string#1}%
-  \ifx\scantokens\@undefined\else
-    \scantokens\expandafter{\expandafter
-      \def\expandafter\ttl@a\expandafter{\ttl@a}}%
-  \fi
-  \@ifnextchar[{\@tempswatrue\ttl@class@i{#1}}%
-               {\@tempswafalse\ttl@class@ii{#1}}}
-
-\def\ttl@class@i#1[#2]{%
-  \@namedef{ttll@\ttl@a}{#2}%
-  \expandafter\providecommand\csname\ttl@a title\endcsname{}%%%%
-  \@ifundefined{ttl@toplevel}{}%
-    {\expandafter\let\csname ttlss@\ttl@a\expandafter\endcsname
-       \csname ttlss@\ttl@toplevel\endcsname}%
-  \edef\ttl@toplevel{\ttl@a}%
-  \ttl@class@ii{#1}}
-
-\def\ttl@class@ii#1#2{%
-  \@ifundefined{ttl@#2class}%
-    {\PackageError{titlesec}{Unknown sectioning class}%
-       {Valid names are top, page and straight}}%
-    {\expandafter\let\csname ttl@compat\ttl@a\endcsname\relax
-     \@ifundefined{\ttl@a mark}%
-       {\@namedef{\ttl@a mark}{\@gobble}}%
-       {}%
-     \edef#1{%
-       \expandafter\noexpand\csname ttl@#2class\endcsname{\ttl@a}}}%
-  \if@tempswa
-    \expandafter\@gobble
-  \else  
-    \expandafter\@firstofone
-  \fi
-    {\@ifnextchar[%
-       {\ttl@class@iii}%
-       {\@ifundefined{ttll@\ttl@a}%
-          {\PackageError{titlesec}{Unknown sectioning level}%
-            {\string\titleclass\space with no optional arguments\MessageBreak
-             only changes the class of an *existing* level}}}}}
-
-\def\ttl@class@iii[#1]{%
-  \edef\ttl@b{\expandafter\@gobble\string#1}%
-  \expandafter\let\csname ttlss@\ttl@a\expandafter\endcsname
-     \csname ttlss@\ttl@b\endcsname
-  \expandafter\edef\csname ttlss@\ttl@b\endcsname{\ttl@a}%
-  \let\ttl@a\ttl@toplevel
-  \count@\csname ttll@\ttl@toplevel\endcsname
-  \ttl@class@iv}
-
-\def\ttl@class@iv{%
-  \@ifundefined{ttlss@\ttl@a}{}%
-    {\advance\count@\@ne
-     \edef\ttl@a{\csname ttlss@\ttl@a\endcsname}%
-     \expandafter\edef\csname ttll@\ttl@a\endcsname{\the\count@}%
-     \ttl@class@iv}}
-
-% Typesetting Classes: General tools
-% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-% The following command handles the *n spacing
-% Some tricks are necessary to multiply a
-% skip by a non integer number
-
-\newskip\beforetitleunit
-\beforetitleunit=1ex\@plus.3ex\@minus.06ex
-\newskip\aftertitleunit
-\aftertitleunit=1ex\@plus.1ex
-
-\newdimen\ttl@plus
-\newdimen\ttl@minus
-
-\def\ttl@assign#1{%
-  \@ifstar
-    {\ttl@assign@i{#1}}%
-    {\ttl@assign@d{#1}}}
-
-\def\ttl@assign@i#1#2\relax#3{%
-  \ttl@plus\z@
-  \ttl@minus\z@
-  \afterassignment\ttl@assign@ii
-  \dimen@\the#3, % <- space 
-  #1 =     #2\dimen@
-     plus  #2\ttl@plus
-     minus #2\ttl@minus}
-
-\def\ttl@assign@ii#1 {% <- space
-  \if#1,\else\afterassignment\ttl@assign@ii\fi
-  \csname ttl@\string#1\endcsname}
-
-\def\ttl@assign@d#1#2\relax#3{\setlength#1{#2}}
-
-% To be used with \v/vspace to make them calc-savvy
-
-\def\ttl@calc#1#2{%
-  {\setlength\@tempskipa{#2}%
-   #1\@tempskipa}}
-
-\def\ttl@calcneg#1#2{%
-  {\setlength\@tempskipa{#2}%
-   #1{-\@tempskipa}}}
-
-% Gets from ttls@ and passes the spacing parameters:
-
-\def\ttl@startargs#1#2{% Get the first arguments, with the spacing
-  \@ifundefined{ttlp@#2}%
-     {\let\ttl@key@page\@empty}%
-     {\ttlp@fetch{#2}}%
-  \begingroup
-    \def\ttl@b{ttls@#2}%
-    \edef\ttl@key@numberless{\ifttl@label//\else/*\fi}%
-    \def\ttl@a##1{\csname ttl@key@##1\endcsname}%  Used as elt in try
-    \ttl@trylist
-    \xdef\ttl@b{\ttl@c}%
-  \endgroup
-  \ifx\ttl@b\@empty
-    \PackageError{titlesec}{Format/spacing not found}%
-      {I was unable to find the format corresponding to #2.\MessageBreak
-       Maybe you haven't set it with \string\titleformat\space and
-       \string\titlespacing}
-  \fi
-  \expandafter#1\ttl@b{#2}}
-
-% Used in ttl@select
-
-\def\ttl@savefn#1[#2]#3{%
-  \ifcase#1%
-    \footnotemark[#2]%
-    \gdef\ttl@fn{\footnotetext[#2]{#3}}%
-  \else
-    \footnotemark
-    \gdef\ttl@fn{\footnotetext{#3}}%
-  \fi}
-
-\def\ttl@nest@error{%
-  \PackageError{titlesec}{Nested titles}{Titles must not be nested}}
-
-\def\ttl@hmode@error{%
-  \PackageError{titlesec}{Entered in horizontal mode}
-    {The <format> argument cannot contain horizontal material\MessageBreak
-     such as text, \string\noindent, \string\makebox, etc.}}
-
-% \ttl@select not only selects the right version to be
-% used. It also take steps to ensure that a mark
-% is not lost inside a box by saving it into \ttl@mk,
-% which in turn is used by the sect and chap commands.
-
-\newif\ifttl@explicit
-
-\def\ttl@gmk#1{\gdef\ttl@mk{#1}}
-
-\def\ttl@select#1#2#3#4{%
-  \ttl@Hy@saveanchor
-  \global\let\ttl@mk\@empty  % global because of rigidchapters
-  \global\let\ttl@fn\@empty
-  \begingroup
-   \if@inlabel\else % Keep item's \everypar
-      \everypar{\setbox\z@\lastbox\strut}%
-   \fi
-   \let\ttl@straight@i\ttl@nest@error
-   \let\ttl@top@i     \ttl@nest@error
-   \let\ttl@part@i    \ttl@nest@error
-   \let\ttl@page@i    \ttl@nest@error
-   \let\ttl@newpage\newpage
-   \def\newpage{\ttl@savewrite\ttl@newpage}%
-   \def\markboth##1##2{\protect\ttl@gmk{\protect\markboth{##1}{##2}}}%
-   \def\markright##1{\protect\ttl@gmk{\protect\markright{##1}}}%
-   \def\@mkboth##1##2{\protect\ttl@gmk{\protect\@mkboth{##1}{##2}}}%
-   \def\footnote{\@ifnextchar[%
-     {\ttl@savefn\z@}{\ttl@savefn\@ne[]}}%
-   \edef\ttl@key@numberless{\ifttl@label//\else/*\fi}%
-   \def\ttl@b{ttlf@#1}%
-   \def\ttl@a##1{\csname ttl@key@##1\endcsname}% Used as elt in try
-   \ttl@trylist
-   \ifttl@explicit
-     \def\ttl@passexplicit{\ttl@case{#4}}% 
-     \ttl@c{#4}{#2}{#3}{}% ttl@c is returned by ttl@try with ttlf@...
-   \else     
-     \let\ttl@passexplicit\ttl@case
-     \ttl@c{#2}{#3}{#4}% ttl@c is returned by ttl@try with ttlf@...
-   \fi
-  \endgroup}
-
-\let\ttl@savewrite\@empty
-
-\def\ttl@finmarks{%
-  \ttl@savewrite
-  \ttl@mk  % Contains a possible mark, returned by \ttl@select
-  \ttl@fn} % And a footnote
-
-\def\ttl@try#1{%
-  \edef\ttl@c{#1}%  #1 is a list in the form \ttl@a{key}\ttl@a{key}
-  \@ifundefined{\ttl@b\ttl@c}{}{%
-    \edef\ttl@c{\expandafter\noexpand\csname\ttl@b\ttl@c\endcsname}%
-    \def\ttl@a##1{\csname ttl@extra@##1\endcsname}%
-    #1%
-    \let\ttl@try\@gobble}} % locally modified to `break' testings
-
-% \ttl@write writes marks and toc. tocdepth is taken care of when
-% the toc is typesetted and not here.  Used always through
-% ttl@savewrite, which is reset to \@empty to avoid duplicated
-% calls. 
-
-\def\ttl@write#1#2{%
-  \ttl@blinemarks
-  \csname#1mark\endcsname{#2}%
-  \def\ttl@a{\protect\numberline{\@nameuse{the#1}}}%
-  \@nameuse{ttl@toc#1}% eg, \ttl@tocpart modifies \ttl@a
-  \ttl@addcontentsline{#1}{#2}% Depends on toctitles, uses \ttl@a
-  \ttl@elinemarks
-  \global\ttl@toclabelfalse
-  \global\let\ttl@savewrite\@empty}
-
-\newif\ifttl@premark % to be used in ttlps.def
-\ttl@premarkfalse
-
-\def\ttl@premark#1#2{%
-  \protected@xdef\ttl@prevmarks{\ttl@marks}%
-  \ttl@blinemarks
-  \csname#1mark\endcsname{#2}%
-  \ttl@elinemarks
-  \gdef\ttl@prevmarks{\ttl@marks}}
-
-% Must be preceded by a default \ttl@savewrite, which is used
-% in starred variants--\@empty in top and straight classes.
-% In straight class, it is preceded by the setting of
-% prev marks to provide a "fixed" top mark. Otherwise,
-% the default prev mark (= curr mark) is used (restored
-% after ttl@labelling in straight). This is the command
-% to be hacked if you want to change the behaviour of
-% starred variants.
-
-\def\ttl@labelling#1#2{%
-  \let\ttl@Hy@saveanchor\@empty
-  \ifttl@label  %  1st - if star
-    \def\ttl@savewrite{\ttl@write{#1}{#2}}%
-    \@nameuse{ttl@#1label}%  eg, sets if mainmatter in chapter.
-    \ifttl@label  % 2nd - eg, if not main matter
-      \ifnum\@nameuse{ttll@#1}>\c@secnumdepth\relax
-        \ttl@labelfalse     % 3rd - if too deep
-      \else
-        \ttl@Hy@refstepcounter{#1}%
-        \@nameuse{ttl@#1out}%
-      \fi
-    \fi
-  \fi
-  \let\ifttl@toclabel\ifttl@label
-  \ifx\ttl@savewrite\@empty\else % If marks
-    \ifttl@ps
-      \ifttl@premark
-        \global\ttl@premarkfalse
-      \else % if no \pretitlemark
-        \ttl@premark{#1}{#2}%
-      \fi
-    \fi
-    \ifttl@label\else\ttl@Hy@steplink{#1}\fi
-  \fi}
-
-% Executed by ttl@labelling if the name of section is chapter:
-
-\def\ttl@chapterlabel{\if@mainmatter\else\ttl@labelfalse\fi}
-
-% Executed by ttl@labelling if chapter has a number. Note
-% you can define messages for other sectioning levels (eg,
-% \ttl@sectionout).
-
-\def\ttl@chapterout{\typeout{\chaptertitlename\space\thechapter.}}
-
-% Straight class
-% ~~~~~~~~~~~~~
-% Default for nobottomtitles. Changed by nobottomtitles*
-
-\def\ttl@addstretch{\advance\@tempskipa-\pagestretch}
-
-% 1:name 2:level 3:indent 4:before 5:after 6:afind [7]:cap 8:title
-% The second argument of ttl@sect is the level, which
-% is empty if the star version is used. In this case
-% neither the toc nor the marks are written.
-
-\def\ttl@straight@i#1[#2]#3{%
-  \def\@currentlabelname{#2}% for nameref
-  \gdef\ttl@savemark{\csname#1mark\endcsname{#3}}%
-  \let\ttl@savewrite\@empty
-  \def\ttl@savetitle{#3}%
-  \gdef\thetitle{\csname the#1\endcsname}%
-  \if@noskipsec \leavevmode \fi
-  \par
-  \ttl@labelling{#1}{#2}%
-  \ttl@startargs\ttl@straight@ii{#1}{#3}}
-
-% 1:left 2:right 3:before 4:after 5:afterindent 6:name 7:title
-
-\def\ttl@straight@ii#1#2#3#4#5#6#7{%
-  \ttl@assign\@tempskipa#3\relax\beforetitleunit
-  \@ifundefined{ttl@ps@#6}{}%
-    {\PackageWarning{titlesec}{Page style in straight class ignored}}%
-  \if@nobreak
-    \ttl@titlespace{\@tempskipa}%
-  \else
-    \@ifundefined{#6break}%
-      {\addpenalty{\@secpenalty}}%
-      {\csname#6break\endcsname}%
-    \addvspace{\@tempskipa}%
-    \ifdim\bottomtitlespace<\z@
-    \else
-      \begingroup
-       \@tempskipb\pagegoal
-       \@tempskipa\pagegoal
-       \ttl@addstretch  % \relax if nobottomtitle*
-       \advance\@tempskipa-\bottomtitlespace\relax % not a register
-       \pagegoal\@tempskipa
-       \def\@textbottom{\vskip\z@\@plus.0001fil}%
-       \penalty9999
-       \pagegoal\@tempskipb
-      \endgroup
-    \fi
-  \fi
-  \@afterindenttrue
-  \ifcase#5 \@afterindentfalse\fi
-  \ttl@assign\@tempskipb#4\relax\aftertitleunit
-  \ttl@select{#6}{#1}{#2}{#7}%
-  \ttl@finmarks
-  \@ifundefined{ttlp@#6}{}{\ttlp@write{#6}}%
-  \if@noskipsec
-    \global\@nobreakfalse
-    \everypar{%
-      \if@noskipsec
-        \global\@noskipsecfalse
-        \clubpenalty\@M
-        \hskip-\parindent
-        \begingroup
-          \@svsechd\unskip{\hspace{\@tempskipb}}%
-        \endgroup
-      \else
-        \clubpenalty\@clubpenalty\everypar{}%
-      \fi}%
-  \else
-    \par\nobreak
-    \vspace{\@tempskipb}%
-    \@afterheading
-  \fi
-  \ignorespaces}
-
-% Part class
-% ~~~~~~~~~~
-
-\providecommand\partmark[1]{\markboth{}{}}
-
-\def\ttl@part@i#1[#2]#3{%
-  \gdef\ttl@savemark{\csname#1mark\endcsname{#3}}%
-  \ifx\ttl@notocparts\@undefined
-    \def\ttl@savewrite{\ttl@write{#1}{#3}}% Not #2!
-  \else
-    \let\ttl@savewrite\@empty
-  \fi
-  \def\ttl@savetitle{#3}%
-  \ttl@labelling{#1}{#2}%
-  \ttl@startargs\ttl@part@ii{#1}{#3}}
-
-\def\ttl@part@ii#1#2#3#4#5#6#7{%
-  \ttl@assign\@tempskipa#3\relax\beforetitleunit
-  \vspace*{\@tempskipa}%
-  \@ifundefined{ttl@ps@#6}{}%
-    {\PackageWarning{titlesec}{Page style in part class ignored}}%
-  \global\@afterindenttrue
-  \ifcase#5 \global\@afterindentfalse \fi
-  \ttl@assign\@tempskipb#4\relax\aftertitleunit 
-  \ttl@select{#6}{#1}{#2}{#7}%
-  \ttl@finmarks
-  \@ifundefined{ttlp@#6}{}{\ttlp@write{#6}}%
-  \par\nobreak
-  \vspace{\@tempskipb}%
-  \@afterheading}
-
-% Page class
-% ~~~~~~~~~~
-
-\def\ttl@page@i#1[#2]#3{%
-  \gdef\ttl@savemark{\csname#1mark\endcsname{#3}}%
-  \ifx\ttl@notocparts\@undefined
-    \def\ttl@savewrite{\ttl@write{#1}{#3}}% Not #2!
-  \else
-    \let\ttl@savewrite\@empty
-  \fi
-  \def\ttl@savetitle{#3}%
-  \ttl@labelling{#1}{#2}%
-  \ttl@startargs\ttl@page@ii{#1}{#3}}
-
-\def\ttl@page@ii#1#2#3#4#5#6#7{%
-  \ttl@assign\@tempskipa#3\relax\beforetitleunit
-  \if@openright
-    \cleardoublepage
-  \else
-    \clearpage
-  \fi
-  \@ifundefined{ttl@ps@#6}%
-    {\thispagestyle{plain}}%
-    {\thispagestyle{\@nameuse{ttl@ps@#6}}}%
-  \if@twocolumn
-    \onecolumn
-    \@tempswatrue
-  \else
-    \@tempswafalse
-  \fi
-  \vspace*{\@tempskipa}%
-  \@afterindenttrue
-  \ifcase#5 \@afterindentfalse\fi
-  \ttl@assign\@tempskipb#4\relax\aftertitleunit
-  \ttl@select{#6}{#1}{#2}{#7}%
-  \ttl@finmarks
-  \@ifundefined{ttlp@#6}{}{\ttlp@write{#6}}%
-  \vspace{\@tempskipb}%
-  \newpage
-  \if@twoside
-    \if@openright
-      \null
-      \@ifundefined{ttl@ps@#6}%
-        {\thispagestyle{empty}}%
-        {\thispagestyle{\@nameuse{ttl@ps@#6}}}%
-      \newpage
-    \fi
-  \fi
-  \if@tempswa
-    \twocolumn
-  \fi
-  \ignorespaces}
-
-% Top class and some makechapterhead stuff
-% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-%
-% \ttl@mkchap is the new make(s)chapterhead.
-
-\def\ttl@mkchap#1#2#3#4#5#6#7{%
-  \gdef\ttl@savemark{\csname#6mark\endcsname{#7}}%
-  \let\ttl@savewrite\@empty
-  \let\ttl@Hy@saveanchor\@empty
-  \@ifundefined{ttl@ps@#6}{}%
-    {\thispagestyle{\@nameuse{ttl@ps@#6}}}%
-  \let\ifttl@toclabel\ifttl@label
-  \ttl@mkchap@i{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
-
-% But \ttl@mkchap@i is used by both makechapterhead and
-% the top class.
-
-\def\ttl@mkchap@i#1#2#3#4#5#6#7{%
-  \ttl@assign\@tempskipa#3\relax\beforetitleunit
-  \vspace*{\@tempskipa}%
-  \global\@afterindenttrue
-  \ifcase#5 \global\@afterindentfalse\fi
-  \ttl@assign\@tempskipb#4\relax\aftertitleunit
-  \ttl@topmode{\@tempskipb}{%
-    \ttl@select{#6}{#1}{#2}{#7}}%
-  \ttl@finmarks  % Outside the box!
-  \@ifundefined{ttlp@#6}{}{\ttlp@write{#6}}}
-
-\def\ttl@top@i#1[#2]#3{%
-  \gdef\ttl@savemark{\csname#1mark\endcsname{#3}}%
-  \let\ttl@savewrite\@empty
-  \def\ttl@savetitle{#3}%
-  \ttl@labelling{#1}{#2}%
-  \ttl@startargs\ttl@top@ii{#1}{#3}}
-
-\def\ttl@top@ii#1#2#3#4#5#6#7{%
-  \@ifundefined{#6break}%
-    {\if@openright
-       \cleardoublepage
-     \else
-       \clearpage
-     \fi}%
-    {\csname#6break\endcsname}%
-  \@ifundefined{ttl@ps@#6}%
-    {\thispagestyle{plain}}%
-    {\thispagestyle{\@nameuse{ttl@ps@#6}}}%
-  \global\@topnum\z@
-  \@ifundefined{#6tolists}%
-    {\addtocontents{lof}{\protect\ttl@tocsep}%
-     \addtocontents{lot}{\protect\ttl@tocsep}}
-    {\@nameuse{#6tolists}}%
-  \if@twocolumn
-    \@topnewpage[\ttl@mkchap@i{#1}{#2}{#3}{#4}{#5}{#6}{#7}]%
-  \else
-    \ttl@mkchap@i{#1}{#2}{#3}{#4}{#5}{#6}{#7}%
-    \@afterheading
-  \fi
-  \ignorespaces}
-
-
-%     \def\ttl@noskipsectrue{%
-%       \if@noskipsec
-%     \PackageError{titlesec}{Invalid shape for top class}%
-%        {The selected shape only makes sense when merged into\MessageBreak
-%         a paragraph. That is impossible in the top class}%
-%   \else
-
-\newcommand\chaptertitlename{\@chapapp}
-\def\ttl@tocsep{\addvspace{10\p@}}
-
-%               +-----------------+
-%               |   S H A P E S   |
-%               +-----------------+
-%               
-% % Reformatting Titles: Interface
-% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-% The surrounding space is stored in a macro
-% named \ttls@<section> whose content is
-% {left}{right}{before}{after}{afterindent}.
-% But if there is the page key, the name is
-% \ttls@<section>/<page>
-
-\newcommand\titlespacing{%
-  \@ifstar{\ttl@spacing@i{\z@}}{\ttl@spacing@i{\@ne}}}
-
-\def\ttl@spacing@i#1#2#3#4#5{%
-  \ttl@getkeys{#2}{titlesec}%
-  \@ifnextchar[{%
-     \ttl@spacing@ii{#1}{#3}{#4}{#5}%
-   }{%
-     \ttl@spacing@ii{#1}{#3}{#4}{#5}[\z@]}}
-
-\def\ttl@spacing@ii#1#2#3#4[#5]{%
-   \expandafter\def\csname ttls@\ttl@a\endcsname
-       {{#2}{#5}{#3}{#4}{#1}}}
-
-% The section name is built in \ttl@a.
-% The format is stored in a macro named \ttlf@<section>,
-% or \ttlf@<section>/<page> if there is the page spec,
-% or \ttlf@.../* if numberless is true
-% whose content is
-%  \ttl@<shape>{format}{label}{sep}{before}{after}
-
-\newtoks\ttl@toksa
-
-\newcommand\titleformat{%
-  \@ifstar{\ttl@format@s}%
-          {\ttl@format@i}}
-
-\def\ttl@format@s#1#2{%
-  \edef\ttl@a{\expandafter\@gobble\string#1}%
-  \@ifundefined{ttlf@\ttl@a}%
-    {\PackageError{titlesec}{Not allowed in `easy' settings}
-       {The sectiong command you are trying to redefine\MessageBreak
-        is not handled by the starred variant (eg, \string\part)}}{}
-  \expandafter\expandafter\expandafter
-  \ttl@format@si\csname ttlf@\ttl@a \endcsname
-  {#2}}
-
-\def\ttl@format@si#1#2#3#4#5#6#7{%
-  \@namedef{ttlf@\ttl@a}{#1{#7}{#3}{#4}{#5}{#6}}}
-
-\def\ttl@format@i#1{%
-  \@ifnextchar[{\ttl@format@ii{#1}}{\ttl@format@ii{#1}[hang]}}
-
-\def\ttl@format@ii#1[#2]#3#4#5#6{%
-  \ttl@getkeys{#1}{titlesec}%
-  \ttl@toksa{{#3}{#4}{#5}{#6}}% Save  arguments
-  \@ifnextchar[{%
-    \ttl@format@iii{#2}%
-  }{%
-    \ttl@format@iii{#2}[]}}
-
-% First, we get the shape -- if not defined it loads
-% the corresponding file.
-
-\def\ttl@format@iii#1[#2]{%
-  \@ifundefined{ttlh@#1}{%
-    \begingroup
-    \makeatletter
-    \InputIfFileExists{#1.tss}{}{%
-      \PackageError{titlesec}{Unknown shape}%
-         {Shapes are defined in files with extension tss\MessageBreak
-          Either you have misspelled the shape\MessageBreak
-          or there is no a #1.tss file}}%
-    \endgroup}{}%
-  \@temptokena{#2}%
-  \ifttl@explicit
-    \edef\ttl@b{%
-      \def\expandafter\noexpand\csname ttlf@\ttl@a\endcsname####1%
-      {\expandafter\noexpand\csname ttlh@#1\endcsname
-       \the\ttl@toksa{\the\@temptokena}}}%
-  \else
-    \edef\ttl@b{%
-      \def\expandafter\noexpand\csname ttlf@\ttl@a\endcsname
-      {\expandafter\noexpand\csname ttlh@#1\endcsname
-       \the\ttl@toksa{\the\@temptokena}}}%
-  \fi
-  \ttl@b
-  \csname ttl@compat\ttl@a\endcsname}
-
-% Styles
-% ~~~~~~
-
-% 1:global 2:label 3:sep 4:style 5:after 6:left 7:right 8:title
-% \ttl@<shape> and \ttlh@<shape> take the following eight
-% arguments:
-% {format}{label}{sep}{before}{after}{left}{right}{title}
-% where before and after refer to the format.
-% With the option explicit, #4 contains the title and #8 is
-% empty.
-
-\def\ttlh@display#1#2#3#4#5#6#7#8{%
-  \gdef\ttl@makeline##1{\ttl@calc\hspace{#6}##1\ttl@calc\hspace{#7}}%
-  \setlength\leftskip{#6}%
-  \setlength\rightskip{#7}%
-  \interlinepenalty\@M
-  \ttl@changecentercr
-  \ttl@beginlongest
-    #1\ifhmode\ttl@hmode@error\fi
-    \ttl@glcmds
-    \parindent\z@
-    \ifttl@label
-      {#2\strut\@@par}\nobreak\ttl@calc\vspace{#3}%
-    \fi
-    #4{#8}%
-   \kern\z@\strut\@@par
-   \nobreak\ttl@midlongest#5\@@par
-  \ttl@endlongest}
-
-\def\ttlh@hang#1#2#3#4#5#6#7#8{%
-  \gdef\ttl@makeline##1{\ttl@calc\hspace{#6}##1\ttl@calc\hspace{#7}}%
-  \setlength\leftskip{#6}%
-  \setlength\rightskip{#7}%
-  \interlinepenalty\@M
-  \ttl@changecentercr
-  \ttl@beginlongest
-  #1{\ifhmode\ttl@hmode@error\fi
-     \ttl@glcmds
-     \parindent\z@
-     \begingroup
-       \ifttl@label
-          \noindent
-          \sbox\z@{#2\strut\ttl@calc\hspace{#3}}%
-          \hangindent\wd\z@
-          \box\z@
-       \fi
-       #4{#8}%
-       \kern\z@\strut\@@par
-     \endgroup
-     \nobreak\ttl@midlongest#5\@@par}%
-  \ttl@endlongest}
-
-\def\ttlh@runin#1#2#3#4#5#6#7#8{%
-  \global\@noskipsectrue
-  \gdef\ttl@makeline##1{##1}%
-  \ttl@changecentercr
-  #1{\ifhmode\ttl@hmode@error\fi
-     \global\sbox\ttl@box{%
-       \ttl@calc\hspace{#6}%
-       \ifttl@label{\strut#2}\ttl@calc\hspace{#3}\fi
-       #4{#8}#5\unskip}}%
-    \gdef\@svsechd{\unhbox\ttl@box}}
-
-%               +-----------------+
-%               |    T O O L S    |
-%               +-----------------+
-%
-% calcwidth
-% ~~~~~~~~~
-% Implemented after code from soul (but much modified...)
-
-\newdimen\titlewidth
-\newdimen\titlewidthlast
-\newdimen\titlewidthfirst
-
-\let\ttl@glcmds\relax
-\let\ttl@beginlongest\@empty
-\let\ttl@midlongest\@empty
-\let\ttl@endlongest\@empty
-\let\iftitlemeasuring\@secondoftwo
-
-\def\ttl@xbeginlongest#1\ttl@endlongest{%
-  \titlewidth\z@
-  \titlewidthlast\z@
-  \let\iftitlemeasuring\@firstoftwo
-  \setbox\ttl@box\vbox{%
-    \def\ttl@glcmds{%
-      \def\\{\@ifstar{\@ifnextchar[{\ttl@bs}{\newline}}%
-                     {\@ifnextchar[{\ttl@bs}{\newline}}}%
-      \def\ttl@bs[####1]{\newline}%
-      \let\@centercr\\%
-      \def\ttl@midlongest####1\@@par{}% Very dirty...
-      \advance\rightskip 1\leftskip plus 1fil
-      \leftskip=\z@}%
-    #1}%
-  \let\iftitlemeasuring\@secondoftwo
-  \ttl@boxprocess
-  #1}
-
-\def\ttl@boxprocess{%
-  \setbox\ttl@box=\vbox{%
-    \unvcopy\ttl@box
-    \unskip\unpenalty
-    \global\setbox\@ne=\lastbox}%
-  \ifvoid\@ne
-  \else
-    \setbox\tw@=\hbox{\hskip-\leftskip\unhbox\@ne\hskip-\rightskip}%
-    \titlewidthfirst\wd\tw@
-    \ifdim\titlewidth<\titlewidthfirst
-	  \titlewidth\titlewidthfirst
-	\fi
-    \ifdim\titlewidthlast=\z@
-      \titlewidthlast\titlewidthfirst
-    \fi
-    \expandafter\ttl@boxprocess
-  \fi}
-
-% Rules
-% ~~~~~
-
-\providecommand\titleline{%
-  \@ifstar{\ttl@line@i{\hb@xt@\titlewidth}}%
-          {\ttl@line@i{}}}
-
-\def\ttl@line@i#1{%
-  \@ifnextchar[{\ttl@line{#1}}{\ttl@line{#1}[s]}}
-
-\def\ttl@line#1[#2]#3{%
-  \vskip\topskip
-  \hrule \@height \z@
-  \nobreak
-  \vskip-\topskip
-  \begingroup
-    \parindent\z@
-    \everypar{}%
-    \leftskip\z@
-    \rightskip\z@   %  #1 is either \hb@xt@\titlewidth or empty:
-    \@makebox[\hsize][#2]{\ttl@makeline{#1{#3}}}%
-    \par
-  \endgroup
-  \hrule height \z@
-  \nobreak}
-
-\providecommand\titlerule{\@ifstar{\ttl@row}{\ttl@rule}}
-
-\let\ttl@leaders\xleaders % For titletoc compatibility
-
-\def\ttl@row{\@ifnextchar[{\ttl@row@i}{\ttl@row@i[\wd\z@]}}
-\def\ttl@row@i[#1]#2{%
-  \ifvmode\expandafter\titleline\fi
-  {\sbox\z@{#2}%
-   \ttl@calcneg\hspace{#1}%
-   \hskip\wd\z@
-   \ttl@leaders\hb@xt@#1{\hss\box\z@}%
-   \hfill\kern\z@}}
-
-\def\ttl@rule{\@ifnextchar[{\ttl@rule@i}{\ttl@rule@i[.4\p@]}}
-\def\ttl@rule@i[#1]{%
-  \ifvmode\expandafter\titleline\fi
-  {\leaders\hrule height #1\hfill\kern\z@}}
-
-% Par shapes and space
-% ~~~~~~~~~~~~~~~~~~~~
-
-\providecommand\filright{%
-  \gdef\ttl@filleft##1{\hskip##1}%
-  \gdef\ttl@filright##1{\hfill}%
-  \let\\\@centercr
-  \advance\rightskip\z@ \@plus 1fil\relax}
-\providecommand\filleft{%
-  \gdef\ttl@filleft##1{\hfill}%
-  \gdef\ttl@filright##1{\hskip##1}%
-  \let\\\@centercr
-  \advance\leftskip\z@ \@plus 1fil
-  \parfillskip\z@}
-\providecommand\filcenter{\filleft\filright
-  \gdef\ttl@filleft##1{\hfill}}
-\providecommand\fillast{%
-  \gdef\ttl@filleft##1{\hfill}%
-  \gdef\ttl@filright##1{\hfill}%
-  \let\\\@centercr
-  \filleft\advance\rightskip\z@ \@plus -1fil
-  \parfillskip\z@ \@plus 2fil\relax}
-\newcommand\filinner{%
-  \if@twoside
-    \ifodd\count\z@\filleft\else\filright\fi
-  \else
-    \filleft
-  \fi}
-\newcommand\filouter{%
-  \if@twoside
-    \ifodd\count\z@\filright\else\filleft\fi
-  \else
-    \filright
-  \fi}
-
-\newcommand\wordsep{\fontdimen\tw@\font \@plus
-  \fontdimen\thr@@\font \@minus \fontdimen4\font}
-
-%               +-----------------+
-%               |  O P T I O N S  |
-%               +-----------------+
-
-
-\DeclareOption{pagestyles}{\let\sectiontitle\@empty}
-\DeclareOption{extramarks}{\let\ttl@fetchmark\@empty}
-\DeclareOption{floatps}{%
-  \ifx\sectiontitle\@empty
-    \let\ttl@replace\space
-  \else
-    \PackageWarning{titlesec}{Ignoring `floatps' without 
-      `pagestyles'. This option is now deprecated.}%
-  \fi}
-\DeclareOption{psfloats}{%
-  \ifx\sectiontitle\@empty
-    \let\ttl@replace\@empty
-  \else
-    \PackageWarning{titlesec}{Ignoring `psfloats' without 
-      `pagestyles'}%
-  \fi}
-
-\DeclareOption{loadonly}{\let\ttl@extract\@empty}
-
-\DeclareOption{outermarks}{%
-  \def\ttl@titlemarks{\outertitlemarks}}
-\DeclareOption{topmarks}{
-  \def\ttl@titlemarks{\toptitlemarks}}
-\DeclareOption{botmarks}{%
-  \def\ttl@titlemarks{\bottitlemarks}}
-\DeclareOption{innermarks}{%
-  \def\ttl@titlemarks{\innertitlemarks}}
-
-\DeclareOption{footmarks}{} % Backward compat
-
-\DeclareOption{explicit}{\ttl@explicittrue}
-
-\DeclareOption{clearempty}{%
-  \def\cleardoublepage{%
-    \clearpage{\ps@empty\if@twoside\ifodd\c@page\else
-    \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}}}
-
-\DeclareOption{rigidchapters}{%
-  \def\ttl@topmode#1#2{\vbox to #1{#2\vfil}}%
-  \def\ttl@chapafter{.26\textheight}}
-\DeclareOption{rubberchapters}{%
-  \def\ttl@topmode#1#2{{#2}\ttl@calc\vspace{#1}}%
-  \def\ttl@chapafter{40\p@}}
-
-\DeclareOption{bottomtitles}{%
-  \def\bottomtitlespace{-1\p@}}
-\DeclareOption{nobottomtitles}{%
-  \def\bottomtitlespace{.2\textheight}}
-\DeclareOption{nobottomtitles*}{%
-  \let\ttl@addstretch\relax
-  \def\bottomtitlespace{.2\textheight}}
-
-\DeclareOption{calcwidth}{%
-  \let\ttl@beginlongest\ttl@xbeginlongest}
-
-\DeclareOption{aftersep}{%
-  \let\ttl@titlespace\@gobble}
-\DeclareOption{largestsep}{%
-  \let\ttl@titlespace\addvspace}
-
-\DeclareOption{oldparttoc}{%
-  \def\ttl@tocpart{\def\ttl@a{\thepart\hspace{1em}}}}
-\DeclareOption{newparttoc}{%
-  \let\ttl@tocpart\relax}
-\DeclareOption{notocpart*}{%
-  \let\ttl@notocparts\@empty}
-
-\DeclareOption{rm}{%
-  \protected@xdef\ttl@fonts{\ttl@fonts\protect\rmfamily}}
-\DeclareOption{sf}{%
-  \protected@xdef\ttl@fonts{\ttl@fonts\protect\sffamily}}
-\DeclareOption{tt}{%
-  \protected@xdef\ttl@fonts{\ttl@fonts\protect\ttfamily}}
-\DeclareOption{md}{%
-  \protected@xdef\ttl@fonts{\ttl@fonts\protect\mdseries}}
-\DeclareOption{bf}{%
-  \protected@xdef\ttl@fonts{\ttl@fonts\protect\bfseries}}
-\DeclareOption{up}{%
-  \protected@xdef\ttl@fonts{\ttl@fonts\protect\upshape}}
-\DeclareOption{it}{%
-  \protected@xdef\ttl@fonts{\ttl@fonts\protect\itshape}}
-\DeclareOption{sl}{%
-  \protected@xdef\ttl@fonts{\ttl@fonts\protect\slshape}}
-\DeclareOption{sc}{%
-  \protected@xdef\ttl@fonts{\ttl@fonts\protect\scshape}}
-
-\DeclareOption{big}{%
-  \gdef\ttl@sizes#1{\ifcase#1\relax\Huge\or\Large\or\large
-       \or\normalsize\or\or\or\huge\fi}}
-\DeclareOption{medium}{%
-  \gdef\ttl@sizes#1{\ifcase#1\relax\huge\or\Large\or\large
-       \or\normalsize\or\or\or\LARGE\fi}}
-\DeclareOption{small}{%
-  \gdef\ttl@sizes#1{\ifcase#1\relax\LARGE\or\large
-       \or\normalsize\or\normalsize\or\or\or\Large\fi}}
-\DeclareOption{tiny}{%
-  \gdef\ttl@sizes#1{\ifcase#1\relax\large\or\normalsize\or
-    \normalsize\or\normalsize\or\or\or\normalsize\fi}}
-
-\DeclareOption{raggedleft}{%
-  \gdef\ttl@fil{\filleft}}
-\DeclareOption{center}{%
-  \gdef\ttl@fil{\filcenter}}
-\DeclareOption{raggedright}{%
-  \gdef\ttl@fil{\filright}}
-
-\DeclareOption{uppercase}{%
-  \gdef\ttl@case{\MakeUppercase}}
-
-\DeclareOption{compact}{%
-  \gdef\ttl@space{1}%
-  \gdef\ttl@chapafter{30\p@}}
-
-% Deprecated. To be remmoved in a major upgrade (3.0)
-\DeclareOption{indentfirst}{%
-  \gdef\@afterindentfalse{\let\if@afterindent\iftrue}%
-  \@afterindenttrue
-  \def\titlespacing{%
-    \@ifstar{\ttl@spacing@i{\@ne}}{\ttl@spacing@i{\@ne}}}}
-\DeclareOption{nonindentfirst}{%
-  \def\titlespacing{%
-    \@ifstar{\ttl@spacing@i{\z@}}{\ttl@spacing@i{\z@}}}}
-
-% New names
-\DeclareOption{indentafter}{%
-  \gdef\@afterindentfalse{\let\if@afterindent\iftrue}%
-  \@afterindenttrue
-  \def\titlespacing{%
-    \@ifstar{\ttl@spacing@i{\@ne}}{\ttl@spacing@i{\@ne}}}}
-\DeclareOption{noindentafter}{%
-  \def\titlespacing{%
-    \@ifstar{\ttl@spacing@i{\z@}}{\ttl@spacing@i{\z@}}}}
-
-% newlinetospace
-\let\ttl@blinemarks\relax
-\let\ttl@elinemarks\relax
-
-\DeclareRobustCommand\ttl@linetosp{%
-  \@ifstar{\ttl@linetosp@i}{\ttl@linetosp@i}}%
-
-\def\ttl@linetosp@i{%
-  \ifdim\lastskip>\z@\else\space\fi
-  \ignorespaces}
-
-\DeclareOption{newlinetospace}{%
-  \def\ttl@blinemarks{%
-    \let\ttl@e\\%
-    \def\\{\ttl@linetosp}}%
-  \def\ttl@elinemarks{\let\\\ttl@e}}%
-
-% toctitles
-\def\ttl@addcontentsline#1#2{%
-  \addcontentsline{toc}{#1}{\ifttl@toclabel\ttl@a\fi#2}%
-  \nobreak}
-
-\DeclareOption{toctitles}{%
-  \def\ttl@addcontentsline#1#2{%
-    \addcontentsline{toc}{#1}{\ifttl@toclabel\ttl@a\fi\ttl@savetitle}%
-    \nobreak}}
-
-% pageatnewline
-
-\def\ttl@changecentercr{%
-  \let\ttl@centercr\@centercr
-  \def\@centercr{\@ifstar{\ttl@centercr*}{\ttl@centercr*}}}
-
-\DeclareOption{pageatnewline}{\let\ttl@changecentercr\relax}
-
-\def\ttl@fonts{}
-
-\ExecuteOptions{rubberchapters,bottomtitles,aftersep,oldparttoc,%
-  innermarks}
-
-\ProcessOptions
-
-%               +-----------------+
-%               | H Y P E R R E F |
-%               +-----------------+
-%
-% These two commands are provided by hyperref. But if they
-% are not defined at \begin{document} hyperref has not been
-% loaded or it is an old version.
-
-\AtBeginDocument{%
-  \ifx\ttl@Hy@steplink\@undefined
-    \let\ttl@Hy@steplink\@gobble
-    \let\ttl@Hy@refstepcounter\refstepcounter
-  \fi}
-
-%               +-----------------+
-%               |   PAGE STYLES   |
-%               +-----------------+
-%
-% This is generic:
-
-\newcommand\assignpagestyle[2]{%
-  \@namedef{ttl@ps@\expandafter\@gobble\string#1}{#2}}
-
-% Old pagestyles
-% ~~~~~~~~~~~~~~
-
-\providecommand\newpagestyle{%
-  \let\ttl@compatps\@empty % marks the ``old interface''
-  \makeatletter
-  \edef\ttl@d{%
-    \noexpand\input{ttlps.def}%
-    \catcode`\noexpand\@=\the\catcode`\@}%
-  \ttl@d
-  \newpagestyle}
-  
-\providecommand\renewpagestyle{%
-  \let\ttl@compatps\@empty % marks the ``old interface''
-  \makeatletter
-  \edef\ttl@d{%
-    \noexpand\input{ttlps.def}%
-    \catcode`\noexpand\@=\the\catcode`\@}%
-  \ttl@d
-  \renewpagestyle}
-
-\providecommand\widenhead{%
-  \let\ttl@compatps\@empty % marks the ``old interface''
-  \makeatletter
-  \edef\ttl@d{%
-    \noexpand\input{ttlps.def}%
-    \catcode`\noexpand\@=\the\catcode`\@}%
-  \ttl@d
-  \widenhead}
-
-% New pagestyles
-% ~~~~~~~~~~~~~~
-
-\@ifundefined{sectiontitle}{}{\input{ttlps.def}}
-
-%               +-----------------+
-%               |   C O M P A T   |
-%               +-----------------+
-% Easy setup, i.e., that of package options, is
-% taken care of, if necessary.
-
-\renewcommand\secdef[2]{%
-  \@ifstar
-    {\ttl@labelfalse
-     #2}
-    {\ttl@labeltrue
-     \ifx#1\@chapter
-       \if@mainmatter\else\ttl@labelfalse\fi
-       \ifnum\ttll@chapter>\c@secnumdepth\ttl@labelfalse\fi
-     \else\ifx#1\@part
-       \ifnum\ttll@part>\c@secnumdepth\ttl@labelfalse\fi
-     \fi\fi
-     \let\ifttl@toclabel\ifttl@label
-     \@dblarg{#1}}}
-
-\@ifundefined{ttl@extract}{}{\endinput}
-
-\newcommand\titlelabel[1]{%
-  \def\@seccntformat##1{#1}}
-
-\expandafter\ifx\csname chapter\endcsname\relax
-
-  \def\ttl@compatpart{\titleclass{\part}{part}\relax}
-
-\else
-
-  \def\ttl@compatchapter{%
-    \def\@makechapterhead{%
-      \ttl@labeltrue
-      \if@mainmatter\else\ttl@labelfalse\fi
-      \ifnum\ttll@chapter>\c@secnumdepth\ttl@labelfalse\fi
-      \ttl@startargs\ttl@mkchap{chapter}}%
-    \def\@makeschapterhead{%
-      \ttl@labelfalse
-      \if@mainmatter\else\ttl@labelfalse\fi
-      \ifnum\ttll@chapter>\c@secnumdepth\ttl@labelfalse\fi
-      \ttl@startargs\ttl@mkchap{chapter}}}
-
-  \def\ttl@compatpart{\titleclass{\part}{page}\relax}
-
-\fi
-
-\def\ttl@@extract#1\@startsection#2#3#4#5#6#7#8{%
-  \@tempskipa=#5
-  \@tempskipb=#6
-  \ifdim\@tempskipa<\z@
-    \toks@{\titlespacing*#8{#4}}%
-    \@tempskipa-\@tempskipa
-  \else
-    \toks@{\titlespacing#8{#4}}%
-  \fi
-  \@ifundefined{ttl@space}{}{%
-    \ttl@assign\@tempskipa*\ttl@space\relax\beforetitleunit}%
-  \ifdim\@tempskipb<\z@
-    \if@tempswa
-      \titleformat#8[runin]%
-         {\ttl@fonts\ttl@sizes{#3}}{\@seccntformat{#2}}%
-         {\z@}\ttl@passexplicit
-    \else
-      \titleformat#8[runin]%
-         {#7}{\@seccntformat{#2}}%
-         {\z@}\ttl@passexplicit
-    \fi
-    \@tempskipb-\@tempskipb
-  \else
-    \if@tempswa
-      \titleformat#8%
-        {\ttl@fil\ttl@fonts\ttl@sizes{#3}}{\@seccntformat{#2}}%
-        {\z@}\ttl@passexplicit 
-    \else
-      \titleformat#8%
-        {#7}{\@seccntformat{#2}}%
-        {\z@}\ttl@passexplicit
-    \fi
-    \@ifundefined{ttl@space}{}{%
-      \ttl@assign\@tempskipb*\ttl@space\relax\aftertitleunit}%
-  \fi
-  \edef\ttl@a{\the\toks@{\the\@tempskipa}{\the\@tempskipb}}
-  \ttl@a}
-
-\def\ttl@extract#1{%
-  \expandafter\in@\expandafter\@startsection\expandafter{#1}%
-  \ifin@
-    \expandafter\ttl@@extract#1#1%
-  \else
-    \PackageWarningNoLine{titlesec}%
-      {Non standard sectioning command detected\MessageBreak
-       Using default spacing and no format}
-    \titlespacing*#1{\z@}{*3}{*2}%
-  \fi}
-
-\@tempswafalse
-
-\ifx\ttl@fonts\@empty
-  \def\ttl@fonts{\bfseries}
-\else
-  \@tempswatrue
-\fi
-
-\expandafter\ifx\csname ttl@sizes\endcsname\relax
-  \gdef\ttl@sizes#1{\ifcase#1\relax\Huge\or\Large\or\large
-       \or\normalsize\or\or\or\huge\fi}
-\else
-  \@tempswatrue
-\fi
-
-\expandafter\ifx\csname ttl@fil\endcsname\relax
-  \let\ttl@fil\@empty
-\else
-  \@tempswatrue
-\fi
-
-\expandafter\ifx\csname ttl@case\endcsname\relax
-  \let\ttl@case\@firstofone
-\else
-  \@tempswatrue
-\fi
-
-\if@tempswa
-
-  \expandafter\ifx\csname chapter\endcsname\relax\else
-   \titleformat\chapter[display]%
-    {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}
-    {\@chapapp\space\thechapter}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}
-  \fi
-
-\fi
-
-\ttl@extract\section
-\ttl@extract\subsection
-\ttl@extract\subsubsection
-\ttl@extract\paragraph
-\ttl@extract\subparagraph
-
-\let\ttl@extract\@undefined
-\let\ttl@@extract\@undefined
-
-\def\ttl@toplevel{part}
-
-\expandafter\ifx\csname chapter\endcsname\relax
-
-  \@namedef{ttll@part}{0}
-  \titleclass{\section}{straight}[\part]
-
-  \titlespacing*{\part}
-    {\z@}
-    {4ex}
-    {3ex}
-
-\else
-
-  \let\ttl@save@mkchap\@makechapterhead
-  \let\ttl@save@mkschap\@makeschapterhead
-
-  \def\@makechapterhead#1{%
-    \gdef\ttl@savemark{\chaptermark{#1}}%
-    \ttl@save@mkchap{#1}%
-    \@ifundefined{ttl@ps@chapter}{}%
-      {\thispagestyle{\@nameuse{ttl@ps@chapter}}}}
-
-  \def\@makeschapterhead#1{%
-    \gdef\ttl@savemark{\chaptermark{#1}}%
-    \ttl@save@mkschap{#1}%
-    \@ifundefined{ttl@ps@chapter}{}%
-      {\thispagestyle{\@nameuse{ttl@ps@chapter}}}}
-
-  \@namedef{ttll@part}{-1}
-  \@namedef{ttlss@part}{chapter}
-  \@namedef{ttll@chapter}{0}
-  \titleclass{\section}{straight}[\chapter]
-
-% The following is unoperant, unless when \chapter / \part
-% format is redefined
-
-  \titlespacing*{\part}
-    {\z@}
-    {\z@\@plus1fil}
-    {\z@\@plus1fil}
-    
-  \titlespacing*\chapter
-    {\z@}%
-    {50\p@}%
-    {\ttl@chapafter}%
-
-\fi
-
-\titleclass{\subsection}   {straight}[\section]
-\titleclass{\subsubsection}{straight}[\subsection]
-\titleclass{\paragraph}    {straight}[\subsubsection]
-\titleclass{\subparagraph} {straight}[\paragraph]
-
-\endinput