summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/titlesec
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-07-18 20:34:43 +0000
committerKarl Berry <karl@freefriends.org>2019-07-18 20:34:43 +0000
commit97600a36695705b3c80e06f0e34b38c72177c577 (patch)
treebebc852cef93737f3103fa86ec440a686e7adef5 /Master/texmf-dist/tex/latex/titlesec
parent6ec42e66aa227961f8110ba52e77cbb36d661178 (diff)
titlesec (18jul19)
git-svn-id: svn://tug.org/texlive/trunk@51664 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/titlesec')
-rw-r--r--Master/texmf-dist/tex/latex/titlesec/block.tss44
-rw-r--r--Master/texmf-dist/tex/latex/titlesec/drop.tss61
-rw-r--r--Master/texmf-dist/tex/latex/titlesec/frame.tss68
-rw-r--r--Master/texmf-dist/tex/latex/titlesec/leftmargin.tss62
-rw-r--r--Master/texmf-dist/tex/latex/titlesec/margin.tss61
-rw-r--r--Master/texmf-dist/tex/latex/titlesec/rightmargin.tss59
-rw-r--r--Master/texmf-dist/tex/latex/titlesec/titleps.sty757
-rw-r--r--Master/texmf-dist/tex/latex/titlesec/titlesec.sty440
-rw-r--r--Master/texmf-dist/tex/latex/titlesec/titletoc.sty164
-rw-r--r--Master/texmf-dist/tex/latex/titlesec/ttlkeys.def121
-rw-r--r--Master/texmf-dist/tex/latex/titlesec/ttlps.def739
-rw-r--r--Master/texmf-dist/tex/latex/titlesec/wrap.tss83
12 files changed, 1192 insertions, 1467 deletions
diff --git a/Master/texmf-dist/tex/latex/titlesec/block.tss b/Master/texmf-dist/tex/latex/titlesec/block.tss
deleted file mode 100644
index 995f436e9a8..00000000000
--- a/Master/texmf-dist/tex/latex/titlesec/block.tss
+++ /dev/null
@@ -1,44 +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.
-
-\ProvidesFile{block.tss}[2016/03/15]
-
-\gdef\ttlh@block#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@
- \leavevmode
- \ifttl@label
- {#2}%
- \setlength\@tempskipa{#3}%
- \ifdim\@tempskipa=\z@\else\ttl@calc\hspace{#3}\fi
- \fi
- #4{#8}%
- \kern\z@\strut\@@par
- \nobreak\ttl@midlongest#5\@@par
- \ttl@endlongest}
diff --git a/Master/texmf-dist/tex/latex/titlesec/drop.tss b/Master/texmf-dist/tex/latex/titlesec/drop.tss
deleted file mode 100644
index 43b5b55200d..00000000000
--- a/Master/texmf-dist/tex/latex/titlesec/drop.tss
+++ /dev/null
@@ -1,61 +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.
-
-\ProvidesFile{drop.tss}[2016/03/15]
-
-\gdef\ttlh@drop#1#2#3#4#5#6#7#8{%
- \global\@noskipsectrue
- \gdef\ttl@makeline##1{##1}%
- \ttl@changecentercr
- #1\ifhmode\ttl@hmode@error\fi
- \parindent\z@
- \global\setbox\ttl@box\vtop{\setlength\hsize{#6}%
- \color@begingroup
- \ifttl@label{#2}\ttl@calc\hspace{#3}\fi
- #4{#8}\kern\z@\strut
- \@@par
- \color@endgroup}%
- \advance\@tempskipa1.5\baselineskip
- \advance\@tempskipa\ht\ttl@box
- \advance\@tempskipa\dp\ttl@box
- \advance\@tempskipa-\pagegoal
- \advance\@tempskipa\pagestretch
- \@tempskipb\pagegoal
- \pagegoal-\@tempskipa
- \ifdim\bottomtitlespace<\z@\else
- \def\@textbottom{\vskip\z@\@plus.0001fil}%
- \fi
- \penalty9999
- \pagegoal\@tempskipb
- \@tempdima\ht\ttl@box \advance\@tempdima\dp\ttl@box
- \@tempdimb\@tempdima
- \divide\@tempdima\baselineskip \count@\@tempdima
- \advance\count@
- \ifdim\@tempdimb<\the\count@.5\baselineskip\@ne\else\tw@\fi
- \dp\ttl@box=\z@
- \xdef\@svsechd##1##2{%
- \noexpand\llap{\box\ttl@box##2}%
- \setbox\z@\hbox{\noexpand\ttl@calc\noexpand\hspace{#6}\relax##2}%
- \global\hangindent\wd\z@
- \global\hangafter-\the\count@\relax}}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/titlesec/frame.tss b/Master/texmf-dist/tex/latex/titlesec/frame.tss
deleted file mode 100644
index 1247e21bb8d..00000000000
--- a/Master/texmf-dist/tex/latex/titlesec/frame.tss
+++ /dev/null
@@ -1,68 +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.
-
-\ProvidesFile{frame.tss}[2016/03/15]
-
-\gdef\ttlh@frame#1#2#3#4#5#6#7#8{%
- \def\ttl@filleft##1{\hfill}%
- \def\ttl@filright##1{\hfill}%
- \gdef\ttl@makeline##1{%
- \ttl@calc\hspace{#6}##1\ttl@calc\hspace{#7}}%
- \interlinepenalty\@M
- \ttl@changecentercr
- #1\ifhmode\ttl@hmode@error\fi
- \parindent\z@
- \leavevmode
- \@tempdima\fboxrule
- \addtolength\@tempdima{#3}%
- \setlength\leftskip{#6}%
- \setlength\rightskip{#7}%
- \lower\@tempdima\hbox{%
- \everypar{}%
- \setbox\z@\hbox{#2}%
- \addtolength\hsize{-#6}%
- \addtolength\hsize{-#7}%
- \@tempdima\dp\z@ % 2002/3/22
- \advance\@tempdima.5\ht\z@
- \vbox{%
- \hbox to \hsize{%
- \leaders\hrule\@height\fboxrule\ttl@filleft{#3}%
- \ifttl@label\lower.5\ht\z@\box\z@\fi
- \leaders\hrule\@height\fboxrule\ttl@filright{#3}}%
- \vskip-\lineskip
- \ifttl@label\vskip-\@tempdima\fi
- \hbox{%
- \vrule\@width\fboxrule
- \kern-\fboxrule
- \vbox{%
- \ttl@calc\vspace{#3}%
- \leavevmode
- \addtolength\leftskip {#3}\addtolength\leftskip{-#6}%
- \addtolength\rightskip{#3}\addtolength\rightskip{-#7}%
- \strut#4{#8}\kern\z@\strut\@@par
- \ttl@calc\vspace{#3}}%
- \kern-\fboxrule
- \vrule\@width\fboxrule}%
- \hrule\@height\fboxrule}}%
- \@@par\nobreak#5\@@par}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/titlesec/leftmargin.tss b/Master/texmf-dist/tex/latex/titlesec/leftmargin.tss
deleted file mode 100644
index bf1844d38a4..00000000000
--- a/Master/texmf-dist/tex/latex/titlesec/leftmargin.tss
+++ /dev/null
@@ -1,62 +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.
-
-\ProvidesFile{leftmargin.tss}[2016/03/15]
-
-\gdef\ttlh@leftmargin#1#2#3#4#5#6#7#8{%
- \global\@noskipsectrue
- \addtolength\@tempskipb{#6}%
- \xdef\ttl@makeline##1{\hskip-\the\@tempskipb\relax##1}%
- \leftskip\z@skip
- \rightskip\z@skip
- \ttl@changecentercr
- #1\ifhmode\ttl@hmode@error\fi
- \parindent\z@
- \global\setbox\ttl@box\vtop{%
- \setlength\hsize{#6}%
- \linewidth\hsize
- \everypar{}%
- \color@begingroup
- \ifttl@label{\strut#2\strut}\ttl@calc\hspace{#3}\fi
- \strut#4{#8}\kern\z@\strut\@@par
- \color@endgroup}%
- \advance\@tempskipa\ht\ttl@box
- \advance\@tempskipa\dp\ttl@box
- \advance\@tempskipa-\pagegoal
- \advance\@tempskipa\pagestretch
- \@tempskipb\pagegoal
- \pagegoal-\@tempskipa
- \ifdim\bottomtitlespace<\z@\else
- \def\@textbottom{\vskip\z@\@plus.0001fil}%
- \fi
- \penalty9999
- \pagegoal\@tempskipb
- \dp\ttl@box=\z@
- \gdef\@svsechd##1##2{%
- \llap{\box\ttl@box##2}%
- \if@afterindent\hskip\parindent\fi
- #5}}
-
-\endinput
-
-
-
diff --git a/Master/texmf-dist/tex/latex/titlesec/margin.tss b/Master/texmf-dist/tex/latex/titlesec/margin.tss
deleted file mode 100644
index 862fbfae8ac..00000000000
--- a/Master/texmf-dist/tex/latex/titlesec/margin.tss
+++ /dev/null
@@ -1,61 +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.
-
-\ProvidesFile{margin.tss}[2016/03/15]
-
-\gdef\ttlh@margin#1#2#3#4#5#6#7#8{%
- \global\@noskipsectrue
- \addtolength\@tempskipb{#6}%
- \xdef\ttl@makeline##1{\hskip-\the\@tempskipb\relax##1}%
- \leftskip\z@skip
- \rightskip\z@skip
- \ttl@changecentercr
- #1\ifhmode\ttl@hmode@error\fi
- \parindent\z@
- \global\setbox\ttl@box\vtop{%
- \setlength\hsize{#6}%
- \linewidth\hsize
- \everypar{}%
- \color@begingroup
- \ifttl@label{\strut#2\strut}\ttl@calc\hspace{#3}\fi
- \strut#4{#8}\kern\z@\strut\@@par
- \color@endgroup}%
- \advance\@tempskipa\ht\ttl@box
- \advance\@tempskipa\dp\ttl@box
- \advance\@tempskipa-\pagegoal
- \advance\@tempskipa\pagestretch
- \@tempskipb\pagegoal
- \pagegoal-\@tempskipa
- \ifdim\bottomtitlespace<\z@\else
- \def\@textbottom{\vskip\z@\@plus.0001fil}%
- \fi
- \penalty9999
- \pagegoal\@tempskipb
- \dp\ttl@box=\z@
- \gdef\@svsechd##1##2{%
- \llap{\box\ttl@box##2}%
- \if@afterindent\hskip\parindent\fi}}
-
-\endinput
-
-
-
diff --git a/Master/texmf-dist/tex/latex/titlesec/rightmargin.tss b/Master/texmf-dist/tex/latex/titlesec/rightmargin.tss
deleted file mode 100644
index 31fc335d7d5..00000000000
--- a/Master/texmf-dist/tex/latex/titlesec/rightmargin.tss
+++ /dev/null
@@ -1,59 +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.
-
-\ProvidesFile{rightmargin.tss}[2016/03/15]
-
-\gdef\ttlh@rightmargin#1#2#3#4#5#6#7#8{%
- \global\@noskipsectrue
- \addtolength\@tempskipb{#6}%
- \xdef\ttl@makeline##1{##1\hskip-\the\@tempskipb}%
- \leftskip\z@skip
- \rightskip\z@skip
- \ttl@changecentercr
- #1\ifhmode\ttl@hmode@error\fi
- \parindent\z@
- \global\setbox\ttl@box\vtop{%
- \setlength\hsize{#6}%
- \linewidth\hsize
- \everypar{}%
- \color@begingroup
- \ifttl@label{\strut#2\strut}\ttl@calc\hspace{#3}\fi
- \strut#4{#8}\kern\z@\strut\@@par
- \color@endgroup}%
- \advance\@tempskipa\ht\ttl@box
- \advance\@tempskipa\dp\ttl@box
- \advance\@tempskipa-\pagegoal
- \advance\@tempskipa\pagestretch
- \@tempskipb\pagegoal
- \pagegoal-\@tempskipa
- \ifdim\bottomtitlespace<\z@\else
- \def\@textbottom{\vskip\z@\@plus.0001fil}%
- \fi
- \penalty9999
- \pagegoal\@tempskipb
- \dp\ttl@box=\z@
- \gdef\@svsechd##1##2{%
- \rlap{\hskip\textwidth##2\box\ttl@box}%
- \if@afterindent\hskip\parindent\fi}}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/titlesec/titleps.sty b/Master/texmf-dist/tex/latex/titlesec/titleps.sty
index 5de6c411878..2d2a03cbea0 100644
--- a/Master/texmf-dist/tex/latex/titlesec/titleps.sty
+++ b/Master/texmf-dist/tex/latex/titlesec/titleps.sty
@@ -1,49 +1,51 @@
-% +--------------------------------------------------+
-% | Typeset titlesec.tex to get the documentation. |
-% +--------------------------------------------------+
%
-% Copyright (c) 1998-2016 by Javier Bezos.
-% All Rights Reserved.
+% Copyright (C) 1998-2019 Javier Bezos http://www.texnia.com
%
-% This file is part of the titlesec distribution release 2.10.2
-% -----------------------------------------------------------
+% This file may be distributed and/or modified under the conditions of
+% the MIT License. A version can be found at the end of this file.
+%
+% Repository: https://github.com/jbezos/titlesec
%
-% 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.
%
% Release
% ~~~~~~~
+\ifx\ttl@coreps\@empty\else % START code for package
+
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{titleps}[2016/03/15 v1.1.1 Page styles]
+\ProvidesPackage{titleps}[2019/07/16 v2.11 Page styles]
% This package is mainly a wrapper for the pagestyle macros provided
% by titlesec, so that they can be used without it. Functionality is
% almost similar. First, some definitions from titlesec.
-\newif\ifttl@ps
-\newif\ifttl@toclabel
+\expandafter\newif\csname ifttl@ps\endcsname
+\expandafter\newif\csname ifttl@toclabel\endcsname
\ttl@toclabeltrue
\def\ttl@calcneg#1#2{%
{\setlength\@tempskipa{#2}%
#1{-\@tempskipa}}}
-\newif\ifttl@premark % to be used in ttlps.def
+\expandafter\newif\csname ifttl@premark\endcsname
\ttl@premarkfalse
+% 2019-02-25. Added the \lastskip stuff, because a mark 'forgets' the
+% last skip.
+
\def\ttl@premark#1#2{%
+ \let\ttl@lastskip\relax
+ \ifvmode
+ \ifdim\lastskip=\z@\else
+ \edef\ttl@lastskip{\the\lastskip}%
+ \vskip-\ttl@lastskip\relax
+ \fi
+ \fi
\protected@xdef\ttl@prevmarks{\ttl@marks}%
\csname#1mark\endcsname{#2}%
+ \ifx\ttl@lastskip\relax\else
+ \vskip\ttl@lastskip\relax
+ \fi
\gdef\ttl@prevmarks{\ttl@marks}}
\let\ttl@savemark\@empty
@@ -82,7 +84,7 @@
\AtBeginDocument{\ttl@atbegin}
% Package options
-
+
\DeclareOption{psfloats}{\let\ttl@replace\@empty} % a flag
\DeclareOption{outermarks}{%
@@ -106,9 +108,688 @@
\let\renewpagestyle\@empty
\let\widenhead\@empty
-\input ttlps.def
+\fi % PAUSE code for package
+
+% START core code
+
+% As before, all marks has two parts but now they don't refer to left or
+% right pages at all. There are some issues related to top marks which
+% are explained by Knuth in \textit{The \TeX book}, pp. 259f, as well
+% as an incompatibility between them and \LaTeX{} floats. To overcome
+% both limitations, in the \textsf{titleps} page styles, the second
+% part in |\cs{firstmark}| is a \emph{fixed} top mark and the first one
+% the actual first mark; the right way to get the bot mark is from the
+% second part. Marks are stored at each section and used before and
+% after the title (straight class); the first part contains the values
+% of current title, but the second one contains the previously stored
+% values in the mark before the title, and the current values in the
+% mark after.
+
+\ifx\ttl@compatps\@undefined\else
+ \PackageWarningNoLine{titlesec}
+ {You are using an old interface for page styles\MessageBreak
+ (or you forgot the package option 'pagestyles').\MessageBreak
+ You could proceed but don't complain if you run\MessageBreak
+ into errors}
+\fi
+
+\ttl@pstrue
+
+\let\parttitle\@empty
+\let\chaptertitle\@empty
+\let\sectiontitle\@empty
+\let\subsectiontitle\@empty
+\let\subsubsectiontitle\@empty
+\let\paragraphtitle\@empty
+\let\subparagraphtitle\@empty
+
+\newcommand\iftitle[1]{%
+ \expandafter\ifx\csname #1title\endcsname\@empty
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi}
+
+% \newtitlemarks belongs to a nameless markset (ie, \@empty).
+% For named extra marksets see below.
+
+\newcommand\newtitlemark{%
+ \@ifstar{\@tempswafalse\ttl@newmk@i\@empty}%
+ {\@tempswatrue\ttl@newmk@i\@empty}}
+
+\def\ttl@newmk@i#1#2{% markset, macro/var
+ \edef\ttl@a{\expandafter\@gobble\string#2}%
+ \expandafter\ifx\csname\ttl@a\endcsname#2\else
+ \edef\ttl@a{c@#2}%
+ \fi
+ \expandafter\ttl@newmk@ii\expandafter{\ttl@a}{#1}}
+
+\def\ttl@newmk@ii#1#2{% macro/var, markset
+ \expandafter\let\expandafter\ttl@a\csname ttl@mks@#2\endcsname
+ \if@tempswa
+ \expandafter\def\expandafter\ttl@a\expandafter{%
+ \ttl@a
+ \protect\@namedef{#1}{\@nameuse{#1}}}%
+ \else
+ \expandafter\def\expandafter\ttl@a\expandafter{%
+ \ttl@a
+ \protect\@nameuse{#1}=\the\@nameuse{#1}\relax}%
+ \fi
+ \expandafter\let\csname ttl@mks@#2\endcsname\ttl@a}
+
+\let\ttl@mks@\@empty
+\def\ttl@moremarks{\ttl@mks@} % backward compat
+
+\def\ttl@prevmarks{\ttl@marks}
+\let\ttl@marks\relax
+
+% The following command sets the ifthe... commands to
+% be used in heads. When the call is from inside a sectioning
+% command, toclabel is either true (in most of cases) or false
+% (a chapter in the front matter, for example). Otherwise (an
+% explicit \...mark) is false
+
+\def\ttl@setifthe#1{%
+ \expandafter\protected@edef\csname ifthe#1\endcsname{%
+ \ifttl@toclabel
+ \protect\@firstoftwo
+ \else
+ \protect\@secondoftwo
+ \fi}}
+
+% At this point \ttl@toclabel is always false
+
+\ttl@setifthe{part}
+\ttl@setifthe{chapter}
+\ttl@setifthe{section}
+\ttl@setifthe{subsection}
+\ttl@setifthe{subsubsection}
+\ttl@setifthe{paragraph}
+\ttl@setifthe{subparagraph}
+
+% Putting marks
+% -------------
+
+\newtitlemark{\ttl@running}
+\let\ttl@enccode\relax
+\def\ttl@running{\ttl@enccode}
+
+% \ttl@markboth redefines temporarily \mark to fetch changes made by
+% babel or ams, saved in \ttl@running. When this is done, the actual
+% \mark es emitted, which has \ttl@running as part of the markset (see
+% the \newtitlemark above).
+
+\def\ttl@mb@mark{\markboth}
+\def\ttl@mb@warn{%
+ \PackageWarningNoLine{titleps}
+ {Direct use of \string\markboth\space and \string\markleft\space
+ can lead\MessageBreak
+ to unpredictable results. Please, read the manual\MessageBreak
+ for an explanation of this warning.}}
+
+\def\ttl@markboth#1{%
+ \begingroup
+ \let\protect\@unexpandable@protect
+ \let\@mkboth\@gobbletwo
+ \let\ttl@enccode\relax
+ \let\label\relax
+ \let\index\relax
+ \let\glossary\relax
+ \let\ttl@c\mark
+ \def\mark##1{\xdef\ttl@running{\expandafter\@gobble##1}}%
+ \ttl@mb@mark{}{\ttl@enccode}%
+ \expandafter\let\csname#1mark\endcsname\@gobble
+ \xdef\ttl@marks{\ttl@marks}%
+ \gdef\@themark{{\ttl@marks}{\ttl@prevmarks}}%
+ \ttl@c{\@themark\let\noexpand\ttl@mb@warn\relax}%
+ \@nameuse{ttl@tem@#1}%
+ \if@nobreak\ifvmode\nobreak\fi\fi
+ \endgroup}
+
+\newcommand\settitlemarks{\@ifstar\ttl@svmarks@s\ttl@svmarks@x}
+
+\def\ttl@svmarks@x#1{\def\ttl@marksset{{#1}}}
+\def\ttl@svmarks@s#1{\def\ttl@marksset{*{#1}}}
+
+\newcommand\setmarks[2]{\settitlemarks{#1,#2}} % back compat
+
+\def\ttl@settopmark#1\@@{%
+ \expandafter\def\csname#1mark\endcsname##1{%
+ \expandafter\gdef\csname#1title\endcsname{##1}%
+ \ttl@setifthe{#1}%
+ \expandafter\let\expandafter\ttl@marks\csname ttl@tm@#1\endcsname
+ \ttl@markboth{#1}}%
+ \global\@namedef{ttl@tm@#1}{%
+ \protect\@namedef{#1title}{\@nameuse{#1title}}%
+ \protect\@namedef{the#1}{\@nameuse{the#1}}%
+ \protect\@namedef{ifthe#1}{\@nameuse{ifthe#1}}}%
+ \def\ttl@elt##1{%
+ \expandafter\ttl@setsubmark\ttl@a\@@{##1}}%
+ \ttl@c}%
+
+\def\ttl@setsubmark#1\@@#2{%
+ \expandafter\g@addto@macro\csname ttl@tm@#2\endcsname{%
+ \protect\@namedef{#1title}{}%
+ \protect\@namedef{the#1}{}%
+ \protect\@namedef{ifthe#1}{\protect\@secondoftwo}}
+ \expandafter\g@addto@macro\csname ttl@tm@#1\endcsname{%
+ \protect\@namedef{#2title}{\@nameuse{#2title}}%
+ \protect\@namedef{the#2}{\@nameuse{the#2}}%
+ \protect\@namedef{ifthe#2}{\@nameuse{ifthe#2}}}}%
+
+\def\ttl@setmarks@x#1{%
+ \let\ttl@c\@empty % sub list
+ \@for\ttl@a:=#1\do{%
+ \expandafter\ttl@settopmark\ttl@a\@@
+ \let\ttl@elt\relax
+ \xdef\ttl@c{\ttl@c\ttl@elt{\ttl@a}}}%
+ \@for\ttl@a:=#1\do{%
+ \expandafter\g@addto@macro\csname ttl@tm@\ttl@a\endcsname{%
+ \ttl@moremarks}}}
+
+\def\ttl@setmarks@s#1{% Solo con extramarks
+ \PackageError{titleps}%
+ {You need `extramarks' for \string\settitlemarks*}%
+ {\string\settitlemarks* requires the package option `extramarks'}}
+
+\newcommand\pretitlemark{%
+ \global\ttl@premarktrue
+ \@ifstar{\ttl@pretitlemark\z@}%
+ {\ttl@pretitlemark\@ne}}
+
+\def\ttl@pretitlemark#1#2#3{%
+ \addtocounter{#2}#1%
+ \ttl@premark{#2}{#3}%
+ \addtocounter{#2}{-#1}}
+
+% Rules
+% -----
+
+\newcommand\headrule{\setheadrule{.4\p@}}
+\newcommand\footrule{\setfootrule{.4\p@}}
+
+\newcommand\setheadrule[1]{%
+ \ifdim#1=\z@
+ \let\makeheadrule\@empty
+ \else
+ \def\makeheadrule{\rule[-.3\baselineskip]{\linewidth}{#1}}%
+ \fi}
+\newcommand\setfootrule[1]{%
+ \ifdim#1=\z@
+ \let\makefootrule\@empty
+ \else
+ \def\makefootrule{\rule[.7\baselineskip]{\linewidth}{#1}}%
+ \fi}
+
+\renewcommand\newpagestyle[1]{%
+ \begingroup
+ \catcode`\^^M=9
+ \@ifnextchar[%
+ {\ttl@pagestyle\newcommand{#1}}%
+ {\ttl@pagestyle\newcommand{#1}[]}}
+
+\renewcommand\renewpagestyle[1]{%
+ \begingroup
+ \catcode`\^^M=9
+ \@ifnextchar[%
+ {\ttl@pagestyle\renewcommand{#1}}%
+ {\ttl@pagestyle\renewcommand{#1}[]}}
+
+\def\ttl@pagestyle#1#2[#3]#4{%
+ \endgroup
+ \expandafter#1\csname ps@#2\endcsname{%
+ \ttl@defaultps
+ \def\ttl@headfmt{#3}%
+ #4%
+ \def\settitlemarks{\@ifstar\ttl@svmarks@s\ttl@svmarks@x}}}
+
+\def\ttl@userunning#1#2{\csname ttlr@#1#2\endcsname}
+
+\def\ttl@defaultps{%
+ \let\makeheadrule\@empty
+ \let\makefootrule\@empty
+ \def\@mkboth{\ttl@savemark\@gobbletwo}%
+ \def\@oddfoot{\ttl@userunning of}%
+ \def\@evenfoot{\ttl@userunning ef}%
+ \def\@oddhead{\ttl@userunning oh}%
+ \def\@evenhead{\ttl@userunning eh}%
+ \def\ttlr@of{\ttl@makefoot\@empty\@@\ttl@hiol\ttl@hior}%
+ \def\ttlr@ef{\ttl@makefoot\@empty\@@\ttl@hiel\ttl@hier}%
+ \def\ttlr@oh{\ttl@makehead\@empty\@@\ttl@hiol\ttl@hior}%
+ \def\ttlr@eh{\ttl@makehead\@empty\@@\ttl@hiel\ttl@hier}%
+ \let\ttlr@of@b\relax \let\ttlr@of@p\relax
+ \let\ttlr@ef@b\relax \let\ttlr@ef@p\relax
+ \let\ttlr@oh@t\relax \let\ttlr@oh@p\relax
+ \let\ttlr@eh@t\relax \let\ttlr@eh@p\relax
+ \def\settitlemarks{\@ifstar\ttl@setmarks@s\ttl@setmarks@x}%
+ \expandafter\settitlemarks\ttl@marksset}
+
+\@ifundefined{chapter}%
+ {\settitlemarks{section,subsection}}%
+ {\settitlemarks{chapter,section}}
+
+\newcommand\usepage{\protect\thepage} % back compat
+
+\newcommand\toptitlemarks{\expandafter\@secondoftwo\firstmark{}{}{}}
+\def\firsttitlemarks{%
+ \toks@\expandafter\expandafter\expandafter{%
+ \expandafter\@secondoftwo \firstmark{}{}{}}%
+ \@temptokena\expandafter\expandafter\expandafter{%
+ \expandafter\@secondoftwo \botmark{}{}{}}%
+ \edef\ttl@a{\the\toks@}%
+ \edef\ttl@b{\the\@temptokena}%
+ \ifx\ttl@a\ttl@b
+ \expandafter\@secondoftwo\firstmark{}{}{}%
+ \else
+ \expandafter\@firstoftwo \firstmark{}{}{}%
+ \fi}
+\newcommand\bottitlemarks{\expandafter\@secondoftwo\botmark{}{}{}}
+\newcommand\nexttoptitlemarks{\expandafter\@firstoftwo\botmark{}{}{}}
+\newcommand\outertitlemarks{%
+ \if@twoside
+ \ifodd\c@page\relax
+ \bottitlemarks
+ \else
+ \toptitlemarks
+ \fi
+ \else
+ \toptitlemarks
+ \fi}
+\newcommand\innertitlemarks{%
+ \if@twoside
+ \ifodd\c@page\relax
+ \firsttitlemarks
+ \else
+ \bottitlemarks
+ \fi
+ \else
+ \bottitlemarks
+ \fi}
+
+\def\ttl@duplthreeargs#1#2#3#4{#1[#2][#3][#4]{#2}{#3}{#4}}
+\def\ttl@dupltwoargs#1#2#3{#1[#2][#3]{#2}{#3}}
+\def\ttl@duplthreeargsrev#1#2#3#4{#1[#4][#3][#2]{#2}{#3}{#4}}
+\def\ttl@dupltwoargsrev#1#2#3{#1[#3][#2]{#2}{#3}}
+
+\def\ttl@setany#1{%
+ \@ifstar{\ttl@duplthreeargsrev#1}%
+ {\@ifnextchar[{#1}{\ttl@duplthreeargs#1}}}
+
+\newcommand\setfoot{\ttl@setany\ttl@setfoot}
+\newcommand\sethead{\ttl@setany\ttl@sethead}
+
+\def\ttl@setfoot[#1][#2][#3]#4#5#6{%
+ \def\ttlr@ef{\ttl@makefoot{#1}{#2}{#3}\@@\ttl@hiel\ttl@hier}%
+ \def\ttlr@of{\ttl@makefoot{#4}{#5}{#6}\@@\ttl@hiol\ttl@hior}}
+
+\def\ttl@sethead[#1][#2][#3]#4#5#6{%
+ \def\ttlr@eh{\ttl@makehead{#1}{#2}{#3}\@@\ttl@hiel\ttl@hier}%
+ \def\ttlr@oh{\ttl@makehead{#4}{#5}{#6}\@@\ttl@hiol\ttl@hior}}
+
+\def\ttl@headinline#1#2#3{%
+ \ttl@headfmt
+ \def\ttl@a{#1#3}\def\ttl@b{#2}%
+ \ifx\ttl@a\@empty
+ \hfil{#2}\hfil
+ \else\ifx\ttl@b\@empty
+ {#1}\hfil{#3}%
+ \else
+ \sbox\z@ {#1}%
+ \sbox\tw@{#3}%
+ \copy\z@
+ \ifdim\wd\z@<\wd\tw@
+ \kern-\wd\z@\kern\wd\tw@
+ \fi
+ \hfil{#2}\hfil
+ \ifdim\wd\z@>\wd\tw@
+ \kern-\wd\tw@\kern\wd\z@
+ \fi
+ \box\tw@
+ \fi\fi}
+
+\def\ttl@makeboth#1#2#3#4{%
+ \ttl@calcneg\hspace{#3}%
+ \normalsize
+ \linewidth\textwidth
+ \addtolength\linewidth{#3}%
+ \addtolength\linewidth{#4}%
+ \ifx#2\@empty\else
+ \setbox\z@\hb@xt@\linewidth{%
+ \color@begingroup
+ #2%
+ \color@endgroup}%
+ \wd\z@\z@
+ \ht\z@\z@
+ \dp\z@\z@
+ \box\z@
+ \fi
+ \ttl@titlemarks % Must precede the format. Defines \ttl@running
+ \def\ttl@enccode{\ttl@headinline#1{}{}{}}% which contains ttl@enccode
+ \ttl@running
+ \ttl@calcneg\hspace{#4}}%
-% Raise error if the following are used
+\def\ttl@makehead#1\@@{\ttl@makeboth{#1}\makeheadrule}
+\def\ttl@makefoot#1\@@{\ttl@makeboth{#1}\makefootrule}
+
+\renewcommand\widenhead{%
+ \@ifstar{\ttl@dupltwoargsrev\ttl@widenhd}%
+ {\@ifnextchar[{\ttl@widenhd}{\ttl@dupltwoargs\ttl@widenhd}}}
+
+\def\ttl@widenhd[#1][#2]#3#4{%
+ \def\ttl@hiel{#1}\def\ttl@hier{#2}%
+ \def\ttl@hiol{#3}\def\ttl@hior{#4}}
+
+\let\setheadindent\widenhead
+
+\def\ttl@hiel{\z@}\def\ttl@hier{\z@}
+\def\ttl@hiol{\z@}\def\ttl@hior{\z@}
+
+% A tool:
+
+\def\ifsamemark#1#2{%
+ {#1\global\let\ttl@c#2}%
+ \ifx\ttl@c#2%
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+
+% Another tool:
+
+\newcommand\setmarkboth{%
+ \ifx\markboth\ttl@mb@use\else
+ \let\ttl@mb@mark\markboth
+ \let\markboth\ttl@mb@use
+ \fi
+ \def\ttl@mb@new##1##2}
+
+% \ttl@mb@temp is a trick to allow resetting inside \setmarkboth.
+
+\def\ttl@mb@use#1#2{%
+ \let\markboth\ttl@mb@mark
+ \def\ttl@mb@temp{\let\markboth\ttl@mb@use}%
+ \ttl@mb@new{#1}{#2}%
+ \ttl@mb@temp
+ \let\ttl@mb@temp\@undefined}
+
+\newcommand\resetmarkboth{%
+ \ifx\ttl@mb@temp\@undefined
+ \let\markboth\ttl@mb@mark
+ \def\ttl@mb@mark{\markboth}%
+ \else
+ \def\ttl@mb@temp{%
+ \let\markboth\ttl@mb@mark
+ \def\ttl@mb@mark{\markboth}}%
+ \fi}
+
+% ===========
+% EXTRA MARKS
+% ===========
+
+\ifx\ttl@fetchmark\@empty
+
+\ifx\newmarks\@undefined
+ \PackageInfo{titleps}{%
+ You have requested `extramarks' but etex or similar\MessageBreak
+ has not been loaded. I'll do it for you.}
+ \RequirePackage{etex}
+\fi
+
+\def\ttl@setmarks@s#1{%
+ \@for\ttl@a:=#1\do{%
+ \@ifundefined{ttl@mkc@\ttl@a}{%
+ \expandafter\newmarks\csname ttl@mkc@\ttl@a\endcsname}{}%
+ \expandafter\xdef\csname ttl@tem@\ttl@a\endcsname{%
+ \marks\expandafter\noexpand\csname ttl@mkc@\ttl@a\endcsname
+ {\noexpand\@themark}}}%
+ \ttl@setmarks@x{#1}}%
+
+\newcommand\newmarkset[1]{%
+ \expandafter\newmarks\csname ttl@mkc@#1\endcsname
+ \@namedef{ttl@mks@#1}{}%
+ \@namedef{ttl@premks@#1}{\@nameuse{ttl@mks@#1}}}
+
+\newcommand\newextramark{%
+ \@ifstar{\@tempswafalse\ttl@newmk@i}%
+ {\@tempswatrue\ttl@newmk@i}}
+
+\def\ttl@extramark#1{%
+ \begingroup
+ \let\protect\@unexpandable@protect
+ \let\@mkboth\@gobbletwo
+ \let\label\relax
+ \let\index\relax
+ \let\glossary\relax\endgroup}
+
+\newcommand\extramark[1]{%
+ \begingroup
+ \let\protect\@unexpandable@protect
+ \let\@mkboth\@gobbletwo
+ \let\label\relax
+ \let\index\relax
+ \let\glossary\relax
+ \marks\csname ttl@mkc@#1\endcsname{%
+ {\@nameuse{ttl@mks@#1}}%
+ {\@nameuse{ttl@mks@#1}}}%
+ \expandafter\xdef\csname ttl@premks@#1\endcsname
+ {\@nameuse{ttl@mks@#1}}%
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi}%
+
+\newcommand\preextramark[1]{%
+ \begingroup
+ \let\protect\@unexpandable@protect
+ \let\@mkboth\@gobbletwo
+ \let\label\relax
+ \let\index\relax
+ \let\glossary\relax
+ \marks\csname ttl@mkc@#1\endcsname{%
+ {\csname ttl@mks@#1\endcsname}%
+ {\csname ttl@premks@#1\endcsname}}%
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi}
+
+\newcommand\newshortmark[1]{%
+ \newmarkset{\string#1}%
+ \newextramark{\string#1}#1}
+
+\newcommand\shortmark[1]{\extramark{\string#1}}
+\newcommand\preshortmark[1]{\preextramark{\string#1}}
+
+\newcommand\topshortmark[1]{{\topextramarks{\string#1}#1}}
+\newcommand\firstshortmark[1]{{\firstextramarks{\string#1}#1}}
+\newcommand\botshortmark[1]{{\botextramarks{\string#1}#1}}
+\newcommand\nexttopshortmark[1]{{\nexttopextramarks{\string#1}#1}}
+
+\def\ttl@fetchmark#1#2#3{%
+ \expandafter#1#2\csname ttl@mkc@#3\endcsname{}{}{}}
+
+\newcommand\topextramarks[1]{\ttl@fetchmark\@secondoftwo\firstmarks{#1}}
+\newcommand\firstextramarks[1]{%
+ \toks@\expandafter\expandafter\expandafter{%
+ \ttl@fetchmark\@secondoftwo\firstmarks{#1}}%
+ \@temptokena\expandafter\expandafter\expandafter{%
+ \ttl@fetchmark\@secondoftwo\botmarks{#1}}%
+ \edef\ttl@a{\the\toks@}%
+ \edef\ttl@b{\the\@temptokena}%
+ \ifx\ttl@a\ttl@b
+ \ttl@fetchmark\@secondoftwo\firstmarks{#1}%
+ \else
+ \ttl@fetchmark\@firstoftwo\firstmarks{#1}%
+ \fi}
+\newcommand\botextramarks[1]{\ttl@fetchmark\@secondoftwo\botmarks{#1}}
+\newcommand\nexttopextramarks[1]{\ttl@fetchmark\@firstoftwo\botmarks{#1}}
+
+\newcommand\outerextramarks[1]{%
+ \if@twoside
+ \ifodd\c@page\relax
+ \botextramarks{#1}%
+ \else
+ \topextramarks{#1}%
+ \fi
+ \else
+ \topextramarks{#1}%
+ \fi}
+\newcommand\innerextramarks[1]{%
+ \if@twoside
+ \ifodd\c@page\relax
+ \firstextramarks{#1}%
+ \else
+ \botextramarks{#1}%
+ \fi
+ \else
+ \botextramarks{#1}%
+ \fi}
+
+\fi
+
+% ======
+% FLOATS
+% ======
+%
+% Pagestyles with floats. There macros are defined only with the
+% psfloats package option.
+
+\ifx\ttl@replace\@undefined\else
+
+% User interface
+
+ \newcommand\setfloatfoot{%
+ \let\ttl@c\@empty % <- current float, empty if general
+ \ttl@setany\ttl@setftfoot}
+
+ \newcommand\setfloathead{%
+ \let\ttl@c\@empty % <- current float, empty if general
+ \ttl@setany\ttl@setfthead}
+
+ \def\ttl@setftfoot[#1][#2][#3]#4#5#6#7{%
+ \@ifnextchar[{\ttl@setftfoot@i{#1}{#2}{#3}{#4}{#5}{#6}{#7}}%
+ {\ttl@setftfoot@i{#1}{#2}{#3}{#4}{#5}{#6}{#7}[bp]}}
+
+ \def\ttl@setfthead[#1][#2][#3]#4#5#6#7{%
+ \@ifnextchar[{\ttl@setfthead@i{#1}{#2}{#3}{#4}{#5}{#6}{#7}}%
+ {\ttl@setfthead@i{#1}{#2}{#3}{#4}{#5}{#6}{#7}[tp]}}
+
+ \def\ttl@setftfoot@i#1#2#3#4#5#6#7[#8]{%
+ \@tfor\ttl@b:=#8\do{%
+ \@namedef{ttlr@ef@\ttl@b\ttl@c}%
+ {#7\ttl@makefoot{#1}{#2}{#3}\@@\ttl@hiel\ttl@hier}%
+ \@namedef{ttlr@of@\ttl@b\ttl@c}%
+ {#7\ttl@makefoot{#4}{#5}{#6}\@@\ttl@hiol\ttl@hior}}}
+
+ \def\ttl@setfthead@i#1#2#3#4#5#6#7[#8]{%
+ \@tfor\ttl@b:=#8\do{%
+ \@namedef{ttlr@eh@\ttl@b\ttl@c}%
+ {#7\ttl@makehead{#1}{#2}{#3}\@@\ttl@hiel\ttl@hier}%
+ \@namedef{ttlr@oh@\ttl@b\ttl@c}%
+ {#7\ttl@makehead{#4}{#5}{#6}\@@\ttl@hiol\ttl@hior}}}
+
+ \newcommand\nextfloathead{%
+ \ttl@nextfree % returns ttl@c with the next float
+ \ttl@setany\ttl@setfthead}
+
+ \newcommand\nextfloatfoot{%
+ \ttl@nextfree % returns ttl@c with the next float
+ \ttl@setany\ttl@setftfoot}
+
+% Compat mode with floatps
+
+ \ifx\ttl@replace\space
+
+ \let\ttl@setnewfoot\ttl@setftfoot
+ \let\ttl@setnewhead\ttl@setfthead
+
+ \def\ttl@setftfoot[#1][#2][#3]#4#5#6{%
+ \ttl@setnewfoot[#1][#2][#3]{#4}{#5}{#6}{}}
+ \def\ttl@setfthead[#1][#2][#3]#4#5#6{%
+ \ttl@setnewhead[#1][#2][#3]{#4}{#5}{#6}{}}
+
+ \fi
+
+% The simple default value of \ttl@userunning is
+% replaced by one more elaborated
+
+ \def\ttl@userunning#1#2{%
+ \if@fcolmade % From a post by D. Arseneau to comp.text.tex
+ \def\@elt##1{\edef\ttl@pageft{\string##1}}%
+ \@flsucceed
+ \let\@elt\relax
+ \if#2h%
+ \ttl@replace #1hp\ttl@pageft
+ \else
+ \ttl@replace #1fp\ttl@pageft
+ \ttl@killftps\ttl@pageft
+ \fi
+ \else\if#2h%
+ \ifx\ttl@topft\@empty\else
+ \ttl@replace #1ht\ttl@topft
+ \fi
+ \else
+ \ifx\ttl@botft\@empty\else
+ \ttl@replace #1fb\ttl@botft
+ \fi
+ \fi\fi
+ \csname ttlr@#1#2\endcsname}
+
+% [Don't move above as \ttl@replace is used as a flag.]
+
+ \def\ttl@replace#1#2#3#4{%
+ \@ifundefined{ttlr@#1#2@#3#4}%
+ {\@ifundefined{ttlr@#1#2@#3}{}%
+ {\@namedef{ttlr@#1#2}{\@nameuse{ttlr@#1#2@#3}}}}%
+ {\csname ttlr@xx@x#4\endcsname\@gobble
+ {\expandafter\let\csname ttlr@#1#2\expandafter\endcsname
+ \csname ttlr@#1#2@#3#4\endcsname}}}
+
+ \def\ttl@nextfree{%
+ \def\@elt##1{%
+ \edef\ttl@c{\string##1}%
+ \let\@elt\@gobble}%
+ \@freelist
+ \let\@elt\relax
+ \@ifundefined{ttlr@xx@x\ttl@c}%
+ {\expandafter\let\csname ttlr@xx@x\ttl@c\endcsname\@secondoftwo
+ \@tfor\ttl@a:={eh@t}{oh@t}{ef@b}{of@b}{eh@p}{oh@p}{ef@p}{of@p}\do{%
+ \expandafter\global\expandafter
+ \let\csname ttlr@\ttl@a\ttl@c\endcsname\relax}}{}}
+
+ \def\ttl@killftps#1{%
+ \expandafter\global\expandafter
+ \let\csname ttlr@xx@x#1\endcsname\relax}
+
+ \let\ttl@topft\@empty
+ \let\ttl@botft\@empty
+ \let\ttl@pageft\@empty
+
+ \def\ttl@combinefloats{%
+ \ifx\@toplist\@empty\else
+ \def\@elt##1{%
+ \edef\ttl@topft{\string##1}%
+ \def\@elt####1{\ttl@killftps{\string####1}}}%
+ \@toplist
+ \fi
+ \ifx\@botlist\@empty\else
+ \def\@elt##1{%
+ \def\@elt####1{%
+ \def\@elt####1{\ttl@killftps\ttl@botft}%
+ \edef\ttl@botft{\string####1}}%
+ \edef\ttl@botft{\string##1}}%
+ \@botlist
+ \fi
+ \let\@elt\relax
+ \ttl@combinefloats@x}
+
+ \AtBeginDocument{%
+ \let\ttl@combinefloats@x\@combinefloats
+ \let\@combinefloats\ttl@combinefloats}
+
+\fi
+
+% END core code
+
+\ifx\ttl@coreps\@empty\else % CONTINUE code for package
+
+% Raise error if the following are used without titlesec
\DeclareRobustCommand\ttl@naerror[1]{%
\PackageError{titleps}%
@@ -129,4 +810,28 @@
\ttl@setifthe{paragraph}
\ttl@setifthe{subparagraph}
-\endinput \ No newline at end of file
+\fi
+
+\endinput
+
+MIT License
+-----------
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/Master/texmf-dist/tex/latex/titlesec/titlesec.sty b/Master/texmf-dist/tex/latex/titlesec/titlesec.sty
index 67960ef25d4..f1f943fd211 100644
--- a/Master/texmf-dist/tex/latex/titlesec/titlesec.sty
+++ b/Master/texmf-dist/tex/latex/titlesec/titlesec.sty
@@ -1,24 +1,10 @@
-% +--------------------------------------------------+
-% | Typeset titlesec.tex to get the documentation. |
-% +--------------------------------------------------+
%
-% Copyright (c) 1998-2016 by Javier Bezos.
-% All Rights Reserved.
+% Copyright (C) 1998-2019 Javier Bezos http://www.texnia.com
%
-% This file is part of the titlesec distribution release 2.10.2
-% -----------------------------------------------------------
+% This file may be distributed and/or modified under the conditions of
+% the MIT License. A version can be found at the end of this file.
%
-% 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.
+% Repository: https://github.com/jbezos/titlesec
%
% Notes
% ~~~~~
@@ -48,7 +34,7 @@
% ~~~~~~~
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{titlesec}[2016/03/21 v2.10.2 Sectioning titles]
+\ProvidesPackage{titlesec}[2019/07/16 v2.11 Sectioning titles]
% Initialization
% ~~~~~~~~~~~~~~
@@ -87,11 +73,7 @@
\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@keys
\ttl@getkeys{#1}{#2}%
\fi}
@@ -282,7 +264,7 @@
\global\let\ttl@fn\@empty
\begingroup
\if@inlabel\else % Keep item's \everypar
- \everypar{\setbox\z@\lastbox\strut}%
+ \everypar{\setbox\z@\lastbox\ttl@strut}%
\fi
\let\ttl@straight@i\ttl@nest@error
\let\ttl@top@i \ttl@nest@error
@@ -341,11 +323,24 @@
\newif\ifttl@premark % to be used in ttlps.def
\ttl@premarkfalse
+% 2019-06-20. Added the \lastskip stuff, because a mark 'forgets' the
+% last skip.
+
\def\ttl@premark#1#2{%
+ \let\ttl@lastskip\relax
+ \ifvmode
+ \ifdim\lastskip=\z@\else
+ \edef\ttl@lastskip{\the\lastskip}%
+ \vskip-\ttl@lastskip\relax
+ \fi
+ \fi
\protected@xdef\ttl@prevmarks{\ttl@marks}%
\ttl@blinemarks
\csname#1mark\endcsname{#2}%
\ttl@elinemarks
+ \ifx\ttl@lastskip\relax\else
+ \vskip\ttl@lastskip\relax
+ \fi
\gdef\ttl@prevmarks{\ttl@marks}}
% Must be preceded by a default \ttl@savewrite, which is used
@@ -611,7 +606,6 @@
\fi
\ignorespaces}
-
% \def\ttl@noskipsectrue{%
% \if@noskipsec
% \PackageError{titlesec}{Invalid shape for top class}%
@@ -626,7 +620,7 @@
% | S H A P E S |
% +-----------------+
%
-% % Reformatting Titles: Interface
+% Reformatting Titles: Interface
% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% The surrounding space is stored in a macro
@@ -694,10 +688,14 @@
\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}}%
+ \@ifundefined{ttlhx@#1}%
+ {\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}}%
+ {\global\expandafter
+ \let\csname ttlh@#1\expandafter\endcsname
+ \csname ttlhx@#1\endcsname}}%
\endgroup}{}%
\@temptokena{#2}%
\ifttl@explicit
@@ -725,21 +723,24 @@
% With the option explicit, #4 contains the title and #8 is
% empty.
+\def\ttl@strut{\strut}
+
\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@defnostruts
\ttl@beginlongest
#1\ifhmode\ttl@hmode@error\fi
\ttl@glcmds
\parindent\z@
\ifttl@label
- {#2\strut\@@par}\nobreak\ttl@calc\vspace{#3}%
+ {#2\ttl@strut\@@par}\nobreak\ttl@calc\vspace{#3}%
\fi
#4{#8}%
- \kern\z@\strut\@@par
+ \kern\z@\ttl@strut\@@par
\nobreak\ttl@midlongest#5\@@par
\ttl@endlongest}
@@ -749,6 +750,7 @@
\setlength\rightskip{#7}%
\interlinepenalty\@M
\ttl@changecentercr
+ \ttl@defnostruts
\ttl@beginlongest
#1{\ifhmode\ttl@hmode@error\fi
\ttl@glcmds
@@ -756,12 +758,12 @@
\begingroup
\ifttl@label
\noindent
- \sbox\z@{#2\strut\ttl@calc\hspace{#3}}%
+ \sbox\z@{#2\ttl@strut\ttl@calc\hspace{#3}}%
\hangindent\wd\z@
\box\z@
\fi
#4{#8}%
- \kern\z@\strut\@@par
+ \kern\z@\ttl@strut\@@par
\endgroup
\nobreak\ttl@midlongest#5\@@par}%
\ttl@endlongest}
@@ -770,13 +772,250 @@
\global\@noskipsectrue
\gdef\ttl@makeline##1{##1}%
\ttl@changecentercr
+ \ttl@defnostruts
#1{\ifhmode\ttl@hmode@error\fi
\global\sbox\ttl@box{%
\ttl@calc\hspace{#6}%
- \ifttl@label{\strut#2}\ttl@calc\hspace{#3}\fi
+ \ifttl@label{\ttl@strut#2}\ttl@calc\hspace{#3}\fi
#4{#8}#5\unskip}}%
\gdef\@svsechd{\unhbox\ttl@box}}
+% ----------
+
+\gdef\ttlhx@block#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@defnostruts
+ \ttl@beginlongest
+ #1% \ifhmode\ttl@hmode@error\fi
+ \ttl@glcmds
+ \parindent\z@
+ \leavevmode
+ \ifttl@label
+ {#2}%
+ \setlength\@tempskipa{#3}%
+ \ifdim\@tempskipa=\z@\else\ttl@calc\hspace{#3}\fi
+ \fi
+ #4{#8}%
+ \kern\z@\ttl@strut\@@par
+ \nobreak\ttl@midlongest#5\@@par
+ \ttl@endlongest}
+
+
+\gdef\ttlhx@frame#1#2#3#4#5#6#7#8{%
+ \def\ttl@filleft##1{\hfill}%
+ \def\ttl@filright##1{\hfill}%
+ \gdef\ttl@makeline##1{%
+ \ttl@calc\hspace{#6}##1\ttl@calc\hspace{#7}}%
+ \interlinepenalty\@M
+ \ttl@changecentercr
+ \ttl@defnostruts
+ #1\ifhmode\ttl@hmode@error\fi
+ \parindent\z@
+ \leavevmode
+ \@tempdima\fboxrule
+ \addtolength\@tempdima{#3}%
+ \setlength\leftskip{#6}%
+ \setlength\rightskip{#7}%
+ \lower\@tempdima\hbox{%
+ \everypar{}%
+ \setbox\z@\hbox{#2}%
+ \addtolength\hsize{-#6}%
+ \addtolength\hsize{-#7}%
+ \@tempdima\dp\z@ % 2002/3/22
+ \advance\@tempdima.5\ht\z@
+ \vbox{%
+ \hbox to \hsize{%
+ \leaders\hrule\@height\fboxrule\ttl@filleft{#3}%
+ \ifttl@label\lower.5\ht\z@\box\z@\fi
+ \leaders\hrule\@height\fboxrule\ttl@filright{#3}}%
+ \vskip-\lineskip
+ \ifttl@label\vskip-\@tempdima\fi
+ \hbox{%
+ \vrule\@width\fboxrule
+ \kern-\fboxrule
+ \vbox{%
+ \ttl@calc\vspace{#3}%
+ \leavevmode
+ \addtolength\leftskip {#3}\addtolength\leftskip{-#6}%
+ \addtolength\rightskip{#3}\addtolength\rightskip{-#7}%
+ \ttl@strut#4{#8}\kern\z@\ttl@strut\@@par
+ \ttl@calc\vspace{#3}}%
+ \kern-\fboxrule
+ \vrule\@width\fboxrule}%
+ \hrule\@height\fboxrule}}%
+ \@@par\nobreak#5\@@par}
+
+\gdef\ttlhx@leftmargin#1#2#3#4#5#6#7#8{%
+ \global\@noskipsectrue
+ \addtolength\@tempskipb{#6}%
+ \xdef\ttl@makeline##1{\hskip-\the\@tempskipb\relax##1}%
+ \leftskip\z@skip
+ \rightskip\z@skip
+ \ttl@changecentercr
+ \ttl@defnostruts
+ #1\ifhmode\ttl@hmode@error\fi
+ \parindent\z@
+ \global\setbox\ttl@box\vtop{%
+ \setlength\hsize{#6}%
+ \linewidth\hsize
+ \everypar{}%
+ \color@begingroup
+ \ifttl@label{\ttl@strut#2\ttl@strut}\ttl@calc\hspace{#3}\fi
+ \ttl@strut#4{#8}\kern\z@\ttl@strut\@@par
+ \color@endgroup}%
+ \advance\@tempskipa\ht\ttl@box
+ \advance\@tempskipa\dp\ttl@box
+ \advance\@tempskipa-\pagegoal
+ \advance\@tempskipa\pagestretch
+ \@tempskipb\pagegoal
+ \pagegoal-\@tempskipa
+ \ifdim\bottomtitlespace<\z@\else
+ \def\@textbottom{\vskip\z@\@plus.0001fil}%
+ \fi
+ \penalty9999
+ \pagegoal\@tempskipb
+ \dp\ttl@box=\z@
+ \gdef\@svsechd##1##2{%
+ \llap{\box\ttl@box##2}%
+ \if@afterindent\hskip\parindent\fi
+ #5}}
+
+\let\ttlhx@margin\ttlhx@leftmargin
+
+\gdef\ttlhx@rightmargin#1#2#3#4#5#6#7#8{%
+ \global\@noskipsectrue
+ \addtolength\@tempskipb{#6}%
+ \xdef\ttl@makeline##1{##1\hskip-\the\@tempskipb}%
+ \leftskip\z@skip
+ \rightskip\z@skip
+ \ttl@changecentercr
+ \ttl@defnostruts
+ #1\ifhmode\ttl@hmode@error\fi
+ \parindent\z@
+ \global\setbox\ttl@box\vtop{%
+ \setlength\hsize{#6}%
+ \linewidth\hsize
+ \everypar{}%
+ \color@begingroup
+ \ifttl@label{\ttl@strut#2\ttl@strut}\ttl@calc\hspace{#3}\fi
+ \ttl@strut#4{#8}\kern\z@\ttl@strut\@@par
+ \color@endgroup}%
+ \advance\@tempskipa\ht\ttl@box
+ \advance\@tempskipa\dp\ttl@box
+ \advance\@tempskipa-\pagegoal
+ \advance\@tempskipa\pagestretch
+ \@tempskipb\pagegoal
+ \pagegoal-\@tempskipa
+ \ifdim\bottomtitlespace<\z@\else
+ \def\@textbottom{\vskip\z@\@plus.0001fil}%
+ \fi
+ \penalty9999
+ \pagegoal\@tempskipb
+ \dp\ttl@box=\z@
+ \gdef\@svsechd##1##2{%
+ \rlap{\hskip\textwidth##2\box\ttl@box}%
+ \if@afterindent\hskip\parindent\fi}}
+
+\gdef\ttlhx@wrap#1#2#3#4#5#6#7#8{%
+ \global\@noskipsectrue
+ \gdef\ttl@makeline##1{##1}%
+ \ttl@changecentercr
+ \ttl@defnostruts
+ \begingroup
+ #1\ifhmode\ttl@hmode@error\fi
+ \titlewidth\z@
+ \def\\{\@ifstar{\@ifnextchar[{\ttl@bs}{\newline}}%
+ {\@ifnextchar[{\ttl@bs}{\newline}}}%
+ \def\ttl@bs[##1]{\newline}%
+ \let\@centercr\\%
+ \advance\rightskip 1\leftskip plus 1fil
+ \leftskip=\z@
+ \parindent\z@
+ \let\iftitlemeasuring\@firstoftwo
+ \global\setbox\ttl@box\vtop{\setlength\hsize{#6}%
+ \color@begingroup
+ \ifttl@label{#2}\ttl@calc\hspace{#3}\fi
+ #4{#8}\kern\z@\ttl@strut
+ \@@par
+ \color@endgroup}%
+ \let\iftitlemeasuring\@secondoftwo
+ \ttl@boxprocess
+ \global\titlewidth\titlewidth
+ \global\titlewidthfirst\titlewidthfirst
+ \global\titlewidthlast\titlewidthlast
+ \endgroup
+ \edef\ttl@maxdimen{\the\titlewidth}%
+ #1\ifhmode\ttl@hmode@error\fi
+ \global\setbox\ttl@box\vtop{\setlength\hsize{\ttl@maxdimen}%
+ \color@begingroup
+ \ifttl@label{#2}\ttl@calc\hspace{#3}\fi#4{#8}\kern\z@\ttl@strut
+ \@@par
+ \color@endgroup}%
+ \advance\@tempskipa1.5\baselineskip
+ \advance\@tempskipa\ht\ttl@box
+ \advance\@tempskipa\dp\ttl@box
+ \advance\@tempskipa-\pagegoal
+ \advance\@tempskipa\pagestretch
+ \@tempskipb\pagegoal
+ \pagegoal-\@tempskipa
+ \ifdim\bottomtitlespace<\z@\else
+ \def\@textbottom{\vskip\z@\@plus.0001fil}%
+ \fi
+ \penalty9999
+ \pagegoal\@tempskipb
+ \@tempdima\ht\ttl@box \advance\@tempdima\dp\ttl@box
+ \@tempdimb\@tempdima
+ \divide\@tempdima\baselineskip \count@\@tempdima
+ \advance\count@
+ \ifdim\@tempdimb<\the\count@.5\baselineskip\@ne\else\tw@\fi
+ \dp\ttl@box=\z@
+ \xdef\@svsechd##1##2{%
+ \noexpand\llap{\box\ttl@box##2}%
+ \setbox\z@\hbox{\hskip\ttl@maxdimen\relax##2}%
+ \global\hangindent\wd\z@
+ \global\hangafter-\the\count@\relax}}
+
+\gdef\ttlhx@drop#1#2#3#4#5#6#7#8{%
+ \global\@noskipsectrue
+ \gdef\ttl@makeline##1{##1}%
+ \ttl@changecentercr
+ \ttl@defnostruts
+ #1\ifhmode\ttl@hmode@error\fi
+ \parindent\z@
+ \global\setbox\ttl@box\vtop{\setlength\hsize{#6}%
+ \color@begingroup
+ \ifttl@label{#2}\ttl@calc\hspace{#3}\fi
+ #4{#8}\kern\z@\ttl@strut
+ \@@par
+ \color@endgroup}%
+ \advance\@tempskipa1.5\baselineskip
+ \advance\@tempskipa\ht\ttl@box
+ \advance\@tempskipa\dp\ttl@box
+ \advance\@tempskipa-\pagegoal
+ \advance\@tempskipa\pagestretch
+ \@tempskipb\pagegoal
+ \pagegoal-\@tempskipa
+ \ifdim\bottomtitlespace<\z@\else
+ \def\@textbottom{\vskip\z@\@plus.0001fil}%
+ \fi
+ \penalty9999
+ \pagegoal\@tempskipb
+ \@tempdima\ht\ttl@box \advance\@tempdima\dp\ttl@box
+ \@tempdimb\@tempdima
+ \divide\@tempdima\baselineskip \count@\@tempdima
+ \advance\count@
+ \ifdim\@tempdimb<\the\count@.5\baselineskip\@ne\else\tw@\fi
+ \dp\ttl@box=\z@
+ \xdef\@svsechd##1##2{%
+ \noexpand\llap{\box\ttl@box##2}%
+ \setbox\z@\hbox{\noexpand\ttl@calc\noexpand\hspace{#6}\relax##2}%
+ \global\hangindent\wd\z@
+ \global\hangafter-\the\count@\relax}}
+
% +-----------------+
% | T O O L S |
% +-----------------+
@@ -913,11 +1152,17 @@
\newcommand\wordsep{\fontdimen\tw@\font \@plus
\fontdimen\thr@@\font \@minus \fontdimen4\font}
+% Struts.
+% ~~~~~~
+% A way to remove the struts added by styles. May be redefined below
+% with option nostruts.
+
+\def\ttl@defnostruts{\def\nostruts{\let\ttl@strut\@empty}}
+
% +-----------------+
% | O P T I O N S |
% +-----------------+
-
\DeclareOption{pagestyles}{\let\sectiontitle\@empty}
\DeclareOption{extramarks}{\let\ttl@fetchmark\@empty}
\DeclareOption{floatps}{%
@@ -1088,6 +1333,14 @@
\def\ttl@fonts{}
+% nostruts
+
+\DeclareOption{nostruts}{%
+ \let\ttl@strut\@empty
+ \def\ttl@defnostruts{%
+ \let\ttl@strut\@empty
+ \def\nostruts{\let\ttl@strut\@empty}}}
+
\ExecuteOptions{rubberchapters,bottomtitles,aftersep,oldparttoc,%
innermarks}
@@ -1121,27 +1374,30 @@
\providecommand\newpagestyle{%
\let\ttl@compatps\@empty % marks the ``old interface''
+ \let\ttl@coreps\@empty
\makeatletter
\edef\ttl@d{%
- \noexpand\input{ttlps.def}%
+ \noexpand\input{titleps.sty}%
\catcode`\noexpand\@=\the\catcode`\@}%
\ttl@d
\newpagestyle}
\providecommand\renewpagestyle{%
\let\ttl@compatps\@empty % marks the ``old interface''
+ \let\ttl@coreps\@empty
\makeatletter
\edef\ttl@d{%
- \noexpand\input{ttlps.def}%
+ \noexpand\input{titleps.sty}%
\catcode`\noexpand\@=\the\catcode`\@}%
\ttl@d
\renewpagestyle}
\providecommand\widenhead{%
\let\ttl@compatps\@empty % marks the ``old interface''
+ \let\ttl@coreps\@empty
\makeatletter
\edef\ttl@d{%
- \noexpand\input{ttlps.def}%
+ \noexpand\input{titleps.sty}%
\catcode`\noexpand\@=\the\catcode`\@}%
\ttl@d
\widenhead}
@@ -1149,7 +1405,86 @@
% New pagestyles
% ~~~~~~~~~~~~~~
-\@ifundefined{sectiontitle}{}{\input{ttlps.def}}
+\@ifundefined{sectiontitle}{}{%
+ \let\ttl@coreps\@empty
+ \input{titleps.sty}}
+
+% +-----------------+
+% | K E Y S |
+% +-----------------+
+
+\def\ttl@keys{%
+ \let\ttl@keys\relax
+ \@ifundefined{define@key}{\RequirePackage{keyval}}{}%
+ \def\ttl@getkeys##1##2{%
+ \let\ttl@a\@empty
+ \if\expandafter @\@gobble##1@\@empty % if there is a single token
+ \edef\ttl@b{\expandafter\@gobble\string##1}%
+ \let\ttl@a\ttl@b
+ \else
+ \ttl@labelfalse % A temporary flag: true if there is page key
+ \setkeys{##2}{##1}%
+ \ifttl@label
+ \@ifundefined{ttlp@\ttl@b}{%
+ \expandafter\let\csname ttlp@\ttl@b\endcsname\@empty}{}%
+ \fi
+ \edef\ttl@a{\ttl@b\ttl@a}%
+ \fi}%
+ %
+ \define@key{titlesec}{name}{%
+ \edef\ttl@b{\expandafter\@gobble\string##1}}%
+ \define@key{titlesec}{numberless}[true]{%
+ \csname @tempswa##1\endcsname
+ \if@tempswa
+ \edef\ttl@a{\ttl@a/*}%
+ \fi}%
+ \define@key{titlesec}{page}{%
+ \ttl@labeltrue % Used as flag
+ \edef\ttl@a{/##1\ttl@a}}%
+ %
+ \def\ttl@extra@numberless{\ttl@labeltrue}% The actual meaning
+ \let\ttl@key@numberless\@empty
+ %\let\ttl@key@matter\@empty
+ \let\ttlp@append\@gobbletwo
+ \def\ttl@setkeys##1{%
+ \def\ttl@trylist{\ttl@try{}}%
+ \@for\ttl@b:=##1\do{%
+ \begingroup
+ \let\ttl@a\relax
+ \def\ttl@try####1{%
+ \noexpand\ttl@try{####1\ttl@a{\ttl@b}}%
+ \noexpand\ttl@try{####1}}%
+ \xdef\ttl@trylist{\ttl@trylist}%
+ \endgroup}}%
+ \ttl@setkeys{page,numberless}% matter
+ %
+ \if@twoside
+ \newcounter{ttlp@side}%
+ \newcount\ttlp@side
+ \def\ttlp@theside{\ifodd\c@page o\else e\fi}%
+ \def\ttlp@append##1##2{%
+ {\let\@elt\relax
+ \expandafter\xdef\csname ttlp@##1\endcsname{%
+ \csname ttlp@##1\endcsname\@elt ##2}}}%
+ \def\ttlp@write##1{%
+ {\let\ttlp@theside\relax
+ \protected@write\@auxout{}%
+ {\string\ttlp@append{##1}{\ttlp@theside}}}}%
+ \def\ttlp@fetch##1{%
+ \stepcounter{ttlp@side}%
+ \global\advance\ttlp@side\@ne
+ \@whilenum\ttlp@side<\c@ttlp@side\do{%
+ \expandafter\@next\expandafter\@tempa\csname ttlp@##1\endcsname{}{}%
+ \global\advance\ttlp@side\@ne}%
+ \expandafter\@next\expandafter\ttl@b\csname ttlp@##1\endcsname{%
+ \xdef\ttl@key@page{/\if\ttl@b oodd\else even\fi}%
+ }{%
+ \xdef\ttl@key@page{/\ifodd\c@page odd\else even\fi}%
+ \@@warning{Unsynchronized `##1' title on page \thepage}}}%
+ \else
+ \let\ttlp@write\@gobble
+ \def\ttlp@fetch##1{\gdef\ttl@key@page{/odd}}%
+ \fi}
% +-----------------+
% | C O M P A T |
@@ -1348,3 +1683,26 @@
\titleclass{\subparagraph} {straight}[\paragraph]
\endinput
+
+MIT License
+-----------
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
diff --git a/Master/texmf-dist/tex/latex/titlesec/titletoc.sty b/Master/texmf-dist/tex/latex/titlesec/titletoc.sty
index 7fb29d55d88..e54bce01730 100644
--- a/Master/texmf-dist/tex/latex/titlesec/titletoc.sty
+++ b/Master/texmf-dist/tex/latex/titlesec/titletoc.sty
@@ -1,97 +1,13 @@
-% +---------------------------------------------+
-% | Documentation is in the titlesec.tex file. |
-% +---------------------------------------------+
%
-% Copyright (c) 1998-2016 by Javier Bezos.
-% All Rights Reserved.
+% Copyright (C) 1998-2019 Javier Bezos http://www.texnia.com
%
-% This file is part of the titlesec distribution release 2.10.2
-% -----------------------------------------------------------
+% This file may be distributed and/or modified under the conditions of
+% the MIT License. A version can be found at the end of this file.
%
-% 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.
-
-% History of v1.1
-% ~~~~~~~~~~~~~~~
-% 99/04/22: A bug fix. Some missing global assignments in \ttl@tocentry
-% were missing, and page numbers messed up with
-% \titlecontents*
-%
-% History of v1.2
-% ~~~~~~~~~~~~~~~~
-% 99/10/20: Added \contentsafter. \ttl@tocentry modified to accept
-% the new command for grouping in a paragraph entries of
-% different levels.
-% 99/10/27: Instead of defining the level numbers explicitly, that's
-% done with \ttl@setlevels and \ttl@levels.
-% 99/10/27: Added the basic code for multiple indexes.
-% 99/10/29: Added the toctop test to the \ttl@savel@... commands.
-% 99/12/28: Simplified \ttl@savel@... with \ttl@lselect.
-% 00/01/12: \contentsafter rejected. An aditional optional parameter
-% is used instead. (Too) many thing had to be rewritten.
-% 00/01/27: Removed \ttl@setlevels. Any change of levels are
-% best done with titlesec.
-% 00/02/14: Moved misplaced \vskip in ttl@tocentry.
-% 00/02/16: A few changes in the "block" separators.
-% 00/02/16: Fixed bug in \ttl@margin. For the right margin the
-% correction was used instead of the margin.
-%
-% History of v1.2.1
-% ~~~~~~~~~~~~~~~~~
-% 00/04/25: Dirty trick to make sure that \ttl@finish is the very
-% last thing in lists of floats (lof, lot, etc.).
-% 00/05/14: Missing \global before \ttl@labelfalse added.
-%
-% History of 1.2.2
-% ~~~~~~~~~~~~~~~~
-% 00/06/05: The optional argument no longer mandatory, but
-% still reporting an error if the length is missing.
-% Minor internal changes, and a patch mechanism added.
-%
-% History of 1.3
-% ~~~~~~~~~~~~~~
-% 01/01/12: Minor changes and some missing \globals added for
-% partial tocs to work inside a group.
-% 01/01/21: Added \dottedcontents.
-%
-% History of 1.4
-% ~~~~~~~~~~~~~~
-% 02/03/27: titletoc.new merged into this file
-% 02/03/27: \ttl@finish written by the last \newpage.
-% 02/03/27: \ttl@lsection broke paragraphs always. Now
-% only if the sublevel is typeset.
-% 02/03/27: \ttl@finish -> \contentsfinish
+% Repository: https://github.com/jbezos/titlesec
%
-% History of 1.5
-% ~~~~~~~~~~~~~~
-% 03/06/14: \contentspush didn't work because of the change of
-% (.new) \leftskip was done inside a group before the
-% corresponding \par
-% 03/06/14: Added an useful error if a partial TOC is not
-% (.new) defined.
-% 05/01/17: New options rubber/rigidseps, to remove if desired
-% the small vertical "plus" between entries.
-% 05/01/20: Begin work on partial lists.
-% 05/01/21: \ttl@outblock and \ttl@outnoblock just to avoid a
-% huge definition and to ease patching.
-% 05/01/22: Work on partial lists finished (but to be resumed).
-
-% History of 1.6
-% ~~~~~~~~~~~~~~
-% 07/05/04: Added the patch 2005/05/03 which fixed a wrong
-% result with \included (F. Mittelbach)
-% 07/07/14: Removed the patch mechanism.
-\ProvidesPackage{titletoc}[2011/12/15 v1.6 TOC entries]
+\ProvidesPackage{titletoc}[2019/07/16 v2.11 TOC entries]
% The following tags are used:
% ttl@ : the generic one, shared with titlesec
@@ -171,7 +87,7 @@
\let\\\@centercr
\filleft\advance\rightskip\z@ \@plus -1fil
\parfillskip\z@ \@plus 2fil\relax}
-
+
% Now, the specific titletoc part
% User interface
@@ -292,7 +208,20 @@
\@ifnextchar[{\ttl@contents@i{#1}{#2}}%
{\ttl@contents@i{#1}{#2}[\@nil]}}
+% A dirty hack to fix wrong destinations with hyperref. But activate
+% only if some inline entry is defined (ie, #1 = 0):
+\let\ttl@fixhyperref\relax
+
\def\ttl@contents@i#1#2[#3]#4#5#6#7{%
+ \@ifundefined{ttll@#2}%
+ {\expandafter\def\csname ttll@#2\endcsname{-1000}}%
+ {}%
+ \ifcase#1\relax
+ \def\ttl@fixhyperref{%
+ \ifx\Hy@tocdestname\@undefined\else
+ \global\let\Hy@tocdestname\Hy@tocdestname
+ \fi}%
+ \fi
\expandafter\def\csname l@#2\endcsname
{\ttl@tocentry{#1}{#2}{#3}{#4}{{#5}{#6}}{#7}}%
\@ifnextchar[{\ttl@contents@ii{#1}{#2}}%
@@ -422,6 +351,7 @@
\let\ttl@leaders\leaders}
\def\ttl@tocentry#1#2#3#4#5#6#7#8{%
+ \ttl@fixhyperref
\xdef\ttl@b{\csname ttll@#2\endcsname}%
\ifnum\ttl@b>\c@tocdepth\else
\ifnum\ttl@b<\ttl@toctop\else
@@ -474,10 +404,10 @@
% Multiple tocs and lists
% ~~~~~~~~~~~~~~~~~~~~~~~~
-% After some attemps to adapt titletoc to minitoc, I've decided
-% to implement my own solution, because entries as written by
-% minitoc are non standard and unmanageable. The new commands
-% provides a good deal of flexibility, too.
+% After some attemps to adapt titletoc to minitoc, I decided to
+% implement my own solution, because entries as written by minitoc are
+% non standard. The new commands provides a good deal of flexibility,
+% too.
\let\ttl@startlists\@empty
\let\ttl@writefile\@writefile
@@ -554,13 +484,19 @@
\fi
\ignorespaces}
-\newcommand\printcontents[4][default]{%
- \ttl@printlist[#1]{toc}{#2}{#3}{#4}}
+\newcommand\printcontents[3][default]{%
+ \def\ttl@a{[#1]{toc}{#2}{#3}}%
+ \ttl@preprint}
+
+\newcommand\printlist[3][default]{%
+ \def\ttl@a{[#1]{#2}{#3}{-1001}}%
+ \ttl@preprint}
-\newcommand\printlist[4][default]{%
- \ttl@printlist[#1]{#2}{#3}{-1001}{#4}}
+\newcommand\ttl@preprint[2][\c@tocdepth]{%
+ \expandafter\ttl@printlist\ttl@a{#1}{#2}}
-\newcommand\ttl@printlist[5][default]{%
+% 1:name 2:list 3:prefix 4:startlevel 5:depth 6:toccode
+\newcommand\ttl@printlist[6][default]{%
\begingroup
\@ifundefined{c@ttl@#2@#1}%
{\PackageError{titletoc}{No partial #2 named #1}%
@@ -568,7 +504,8 @@
with \string/startcontents/\string\startlist.}}{}%
\edef\ttl@ptoc{#1@\arabic{ttl@#2@#1}}%
\def\ttl@toctop{#4}%
- #5%
+ \c@tocdepth=#5\relax
+ #6%
\let\ttl@xcontentsline\contentsline
\let\contentsline\ttl@gobblecontents
\def\ttl@contentsline##1{%
@@ -591,10 +528,12 @@
\def\ttl@toctop{-1000}
-% Now the we add \contentsfinish to the current definitions
-% and a "selector" for partial tocs
+% Now the we add \contentsfinish to the current definitions and a
+% "selector" for partial tocs with a wrapper for the original
+% definitions (saved as \ttl@savel@#1).
\def\ttl@lselect#1{%
+ \ttl@fixhyperref
\ifnum\csname ttll@#1\endcsname>\c@tocdepth\else
\contentsfinish
\fi
@@ -638,3 +577,24 @@
\endinput
+MIT License
+-----------
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/Master/texmf-dist/tex/latex/titlesec/ttlkeys.def b/Master/texmf-dist/tex/latex/titlesec/ttlkeys.def
deleted file mode 100644
index f9da44aa0d4..00000000000
--- a/Master/texmf-dist/tex/latex/titlesec/ttlkeys.def
+++ /dev/null
@@ -1,121 +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.
-
-\ProvidesFile{ttlkeys.def}[2016/03/15]
-
-% This command takes a list in "keyval" format, \ttl@a containing the
-% star spec, and returns \ttl@a with the full string name to be defined
-% and \ttl@b with the string sectioning name (without tag). But if the
-% argument has no keys then simply does the last step. Finally, an
-% error is reported if the sectioning command does not exist. All these
-% testing must be improved (still).
-
-\@ifundefined{define@key}{\RequirePackage{keyval}}{}%
-
-\def\ttl@getkeys#1#2{%
- \let\ttl@a\@empty
- \if\expandafter @\@gobble#1@\@empty % if there is a single token
- \edef\ttl@b{\expandafter\@gobble\string#1}%
- \let\ttl@a\ttl@b
- \else
- \ttl@labelfalse % A temporary flag: true if there is page key
- \setkeys{#2}{#1}%
- \ifttl@label
- \@ifundefined{ttlp@\ttl@b}{%
- \expandafter\let\csname ttlp@\ttl@b\endcsname\@empty}{}%
- \fi
- \edef\ttl@a{\ttl@b\ttl@a}%
- \fi}
-
-\define@key{titlesec}{name}{%
- \edef\ttl@b{\expandafter\@gobble\string#1}}
-
-\define@key{titlesec}{numberless}[true]{%
- \csname @tempswa#1\endcsname
- \if@tempswa
- \edef\ttl@a{\ttl@a/*}%
- \fi}
-
-\define@key{titlesec}{page}{%
- \ttl@labeltrue % Used as flag
- \edef\ttl@a{/#1\ttl@a}}
-
-\def\ttl@extra@numberless{\ttl@labeltrue}% The actual meaning
-
-\let\ttl@key@numberless\@empty
-%\let\ttl@key@matter\@empty
-
-\let\ttlp@append\@gobbletwo
-
-\def\ttl@setkeys#1{%
- \def\ttl@trylist{\ttl@try{}}%
- \@for\ttl@b:=#1\do{%
- \begingroup
- \let\ttl@a\relax
- \def\ttl@try##1{%
- \noexpand\ttl@try{##1\ttl@a{\ttl@b}}%
- \noexpand\ttl@try{##1}}%
- \xdef\ttl@trylist{\ttl@trylist}%
- \endgroup}}
-
-\ttl@setkeys{page,numberless} % matter
-
-%___
-\if@twoside
-
-\newcounter{ttlp@side}
-\newcount\ttlp@side
-
-\def\ttlp@theside{\ifodd\c@page o\else e\fi}
-
-\def\ttlp@append#1#2{%
- {\let\@elt\relax
- \expandafter\xdef\csname ttlp@#1\endcsname{%
- \csname ttlp@#1\endcsname\@elt #2}}}
-
-\def\ttlp@write#1{%
- {\let\ttlp@theside\relax
- \protected@write\@auxout{}%
- {\string\ttlp@append{#1}{\ttlp@theside}}}}
-
-\def\ttlp@fetch#1{%
- \stepcounter{ttlp@side}%
- \global\advance\ttlp@side\@ne
- \@whilenum\ttlp@side<\c@ttlp@side\do{%
- \expandafter\@next\expandafter\@tempa\csname ttlp@#1\endcsname{}{}%
- \global\advance\ttlp@side\@ne}%
- \expandafter\@next\expandafter\ttl@b\csname ttlp@#1\endcsname{%
- \xdef\ttl@key@page{/\if\ttl@b oodd\else even\fi}%
- }{%
- \xdef\ttl@key@page{/\ifodd\c@page odd\else even\fi}%
- \@@warning{Unsynchronized `#1' title on page \thepage}}}
-
-%___
-\else
-
-\let\ttlp@write\@gobble
-\def\ttlp@fetch#1{\gdef\ttl@key@page{/odd}}
-
-%___
-\fi
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/titlesec/ttlps.def b/Master/texmf-dist/tex/latex/titlesec/ttlps.def
deleted file mode 100644
index 6f95d0c2b6b..00000000000
--- a/Master/texmf-dist/tex/latex/titlesec/ttlps.def
+++ /dev/null
@@ -1,739 +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.
-
-% History of v1.0 (actually not 1.0)
-% ~~~~~~~~~~~~~~~
-% 99/11/03: Split from titlesec.sty
-% 99/11/03: Changed \setmarks, \ttl@sethead, \ttl@setfoot to follow
-% the new scheme
-% 99/11/03: Removed the redefinition of \markboth. The arguments are
-% expanded on the fly by the corresponding \...mark.
-% 00/01/06: Added the \newtitlemark device.
-% 00/01/19: Rejected the idea of a separate package (for the time
-% being). Now it's ttlps.def.
-% 00/01/20: Starred versions of \widenhead, \sethead, \setfoot.
-% 00/01/23: Added \ifthe..., \iftitle, etc.
-% 00/02/05: Modified \ifthe... mechanism
-% 00/02/25: Fixed a bug which made enter in an endless loop.
-% Now \ttl@marks is just \relax. The new scheme made
-% compatible with babel. (2.3.1)
-% 00/03/01: Fixed a bug in the previous bug fix. (2.3.2)
-% 00/03/08: Removed the code for AMS and babel. A general procedure
-% to catch the changes of \markboth is introduced, with
-% \ttl@enccode and \ttl@running. (2.3.3)
-% 00/05/05: \setmarks may be used outside of \newpagestyle, with
-% the help of \ttl@setmarks and \ttl@marksset (2.3.4)
-% 00/05/25: Tests for \ttl@toclabel moved to the redefinition of
-% \secdef in titlesec. (2.3.5)
-% 00/06/07: Added the first attempt for pagestyles with floats.
-% With slight changes, it will become the final form
-% for that. (2.3.5)
-% 00/06/14: The default \ifthe... are now defined with \ttl@setifthe
-% so that they are robust from the very beginning. (2.3.5)
-% 01/01/21: Replaced some \defs by \newcommand
-% 10/12/03: A little addition to the warning, for those who don't
-% read the docs.
-%
-% History of v1.1
-% ~~~~~~~~~~~~~~~
-% 11/11/26: Add the extra mark mechanim
-% 11/12/07: Enlarged, eg, multilevel \newtitlemark, \newtitlemark*,
-% premarks
-%
-% As before, all marks has two parts but now they don't refer to left or
-% right pages at all. There are some issues related to top marks which
-% are explained by Knuth in \textit{The \TeX book}, pp. 259f, as well
-% as an uncompatibility between them and \LaTeX{} floats. To overcome
-% both limitations, in the \textsf{titleps} page styles, the second
-% part in |\cs{firstmark}| is a \emph{fixed} top mark and the first one
-% the actual first mark; the right way to get the bot mark is from the
-% second part. Marks are stored at each section and used before and
-% after the title (straight class); the first part contains the values
-% of current title, but the second one contains the previolusly stored
-% values in the mark before the title, and the current values in the
-% mark after.
-
-\ProvidesFile{ttlps.def}[2016/03/15]
-
-%
-% Page Styles
-% ~~~~~~~~~~~
-
-\ifx\ttl@compatps\@undefined\else
- \PackageWarningNoLine{titlesec}
- {You are using an old interface for page styles\MessageBreak
- (or you forgot the package option 'pagestyles').\MessageBreak
- You could proceed but don't complain if you run\MessageBreak
- into errors}
-\fi
-
-\ttl@pstrue
-
-\let\parttitle\@empty
-\let\chaptertitle\@empty
-\let\sectiontitle\@empty
-\let\subsectiontitle\@empty
-\let\subsubsectiontitle\@empty
-\let\paragraphtitle\@empty
-\let\subparagraphtitle\@empty
-
-\newcommand\iftitle[1]{%
- \expandafter\ifx\csname #1title\endcsname\@empty
- \expandafter\@secondoftwo
- \else
- \expandafter\@firstoftwo
- \fi}
-
-% \newtitlemarks belongs to a nameless markset (ie, \@empty).
-% For named extra marksets see below.
-
-\newcommand\newtitlemark{%
- \@ifstar{\@tempswafalse\ttl@newmk@i\@empty}%
- {\@tempswatrue\ttl@newmk@i\@empty}}
-
-\def\ttl@newmk@i#1#2{% markset, macro/var
- \edef\ttl@a{\expandafter\@gobble\string#2}%
- \expandafter\ifx\csname\ttl@a\endcsname#2\else
- \edef\ttl@a{c@#2}%
- \fi
- \expandafter\ttl@newmk@ii\expandafter{\ttl@a}{#1}}
-
-\def\ttl@newmk@ii#1#2{% macro/var, markset
- \expandafter\let\expandafter\ttl@a\csname ttl@mks@#2\endcsname
- \if@tempswa
- \expandafter\def\expandafter\ttl@a\expandafter{%
- \ttl@a
- \protect\@namedef{#1}{\@nameuse{#1}}}%
- \else
- \expandafter\def\expandafter\ttl@a\expandafter{%
- \ttl@a
- \protect\@nameuse{#1}=\the\@nameuse{#1}\relax}%
- \fi
- \expandafter\let\csname ttl@mks@#2\endcsname\ttl@a}
-
-\let\ttl@mks@\@empty
-\def\ttl@moremarks{\ttl@mks@} % backward compat
-
-\def\ttl@prevmarks{\ttl@marks}
-\let\ttl@marks\relax
-
-% The following command sets the ifthe... commands to
-% be used in heads. When the call is from inside a sectioning
-% command, toclabel is either true (in most of cases) or false
-% (a chapter in the front matter, for example). Otherwise (an
-% explicit \...mark) is false
-
-\def\ttl@setifthe#1{%
- \expandafter\protected@edef\csname ifthe#1\endcsname{%
- \ifttl@toclabel
- \protect\@firstoftwo
- \else
- \protect\@secondoftwo
- \fi}}
-
-% At this point \ttl@toclabel is always false
-
-\ttl@setifthe{part}
-\ttl@setifthe{chapter}
-\ttl@setifthe{section}
-\ttl@setifthe{subsection}
-\ttl@setifthe{subsubsection}
-\ttl@setifthe{paragraph}
-\ttl@setifthe{subparagraph}
-
-% Putting marks
-% -------------
-
-\newtitlemark{\ttl@running}
-\let\ttl@enccode\relax
-\def\ttl@running{\ttl@enccode}
-
-% \ttl@markboth redefines temporarily \mark to fetch changes made by
-% babel or ams, saved in \ttl@running. When this is done, the actual
-% \mark es emitted, which has \ttl@running as part of the markset (see
-% the \newtitlemark above).
-
-\def\ttl@mb@mark{\markboth}
-\def\ttl@mb@warn{%
- \PackageWarningNoLine{titleps}
- {Direct use of \string\markboth\space and \string\markleft\space
- can lead\MessageBreak
- to unpredictable results. Please, read the manual\MessageBreak
- for an explanation of this warning.}}
-
-\def\ttl@markboth#1{%
- \begingroup
- \let\protect\@unexpandable@protect
- \let\@mkboth\@gobbletwo
- \let\ttl@enccode\relax
- \let\label\relax
- \let\index\relax
- \let\glossary\relax
- \let\ttl@c\mark
- \def\mark##1{\xdef\ttl@running{\expandafter\@gobble##1}}%
- \ttl@mb@mark{}{\ttl@enccode}%
- \expandafter\let\csname#1mark\endcsname\@gobble
- \xdef\ttl@marks{\ttl@marks}%
- \gdef\@themark{{\ttl@marks}{\ttl@prevmarks}}%
- \ttl@c{\@themark\let\noexpand\ttl@mb@warn\relax}%
- \@nameuse{ttl@tem@#1}%
- \if@nobreak\ifvmode\nobreak\fi\fi
- \endgroup}
-
-\newcommand\settitlemarks{\@ifstar\ttl@svmarks@s\ttl@svmarks@x}
-
-\def\ttl@svmarks@x#1{\def\ttl@marksset{{#1}}}
-\def\ttl@svmarks@s#1{\def\ttl@marksset{*{#1}}}
-
-\newcommand\setmarks[2]{\settitlemarks{#1,#2}} % back compat
-
-\def\ttl@settopmark#1\@@{%
- \expandafter\def\csname#1mark\endcsname##1{%
- \expandafter\gdef\csname#1title\endcsname{##1}%
- \ttl@setifthe{#1}%
- \expandafter\let\expandafter\ttl@marks\csname ttl@tm@#1\endcsname
- \ttl@markboth{#1}}%
- \global\@namedef{ttl@tm@#1}{%
- \protect\@namedef{#1title}{\@nameuse{#1title}}%
- \protect\@namedef{the#1}{\@nameuse{the#1}}%
- \protect\@namedef{ifthe#1}{\@nameuse{ifthe#1}}}%
- \def\ttl@elt##1{%
- \expandafter\ttl@setsubmark\ttl@a\@@{##1}}%
- \ttl@c}%
-
-\def\ttl@setsubmark#1\@@#2{%
- \expandafter\g@addto@macro\csname ttl@tm@#2\endcsname{%
- \protect\@namedef{#1title}{}%
- \protect\@namedef{the#1}{}%
- \protect\@namedef{ifthe#1}{\protect\@secondoftwo}}
- \expandafter\g@addto@macro\csname ttl@tm@#1\endcsname{%
- \protect\@namedef{#2title}{\@nameuse{#2title}}%
- \protect\@namedef{the#2}{\@nameuse{the#2}}%
- \protect\@namedef{ifthe#2}{\@nameuse{ifthe#2}}}}%
-
-\def\ttl@setmarks@x#1{%
- \let\ttl@c\@empty % sub list
- \@for\ttl@a:=#1\do{%
- \expandafter\ttl@settopmark\ttl@a\@@
- \let\ttl@elt\relax
- \xdef\ttl@c{\ttl@c\ttl@elt{\ttl@a}}}%
- \@for\ttl@a:=#1\do{%
- \expandafter\g@addto@macro\csname ttl@tm@\ttl@a\endcsname{%
- \ttl@moremarks}}}
-
-\def\ttl@setmarks@s#1{% Solo con extramarks
- \PackageError{titleps}%
- {You need `extramarks' for \string\settitlemarks*}%
- {\string\settitlemarks* requires the package option `extramarks'}}
-
-\newcommand\pretitlemark{%
- \global\ttl@premarktrue
- \@ifstar{\ttl@pretitlemark\z@}%
- {\ttl@pretitlemark\@ne}}
-
-\def\ttl@pretitlemark#1#2#3{%
- \addtocounter{#2}#1%
- \ttl@premark{#2}{#3}%
- \addtocounter{#2}{-#1}}
-
-% Rules
-% -----
-
-\newcommand\headrule{\setheadrule{.4\p@}}
-\newcommand\footrule{\setfootrule{.4\p@}}
-
-\newcommand\setheadrule[1]{%
- \ifdim#1=\z@
- \let\makeheadrule\@empty
- \else
- \def\makeheadrule{\rule[-.3\baselineskip]{\linewidth}{#1}}%
- \fi}
-\newcommand\setfootrule[1]{%
- \ifdim#1=\z@
- \let\makefootrule\@empty
- \else
- \def\makefootrule{\rule[.7\baselineskip]{\linewidth}{#1}}%
- \fi}
-
-\renewcommand\newpagestyle[1]{%
- \begingroup
- \catcode`\^^M=9
- \@ifnextchar[%
- {\ttl@pagestyle\newcommand{#1}}%
- {\ttl@pagestyle\newcommand{#1}[]}}
-
-\renewcommand\renewpagestyle[1]{%
- \begingroup
- \catcode`\^^M=9
- \@ifnextchar[%
- {\ttl@pagestyle\renewcommand{#1}}%
- {\ttl@pagestyle\renewcommand{#1}[]}}
-
-\def\ttl@pagestyle#1#2[#3]#4{%
- \endgroup
- \expandafter#1\csname ps@#2\endcsname{%
- \ttl@defaultps
- \def\ttl@headfmt{#3}%
- #4%
- \def\settitlemarks{\@ifstar\ttl@svmarks@s\ttl@svmarks@x}}}
-
-\def\ttl@userunning#1#2{\csname ttlr@#1#2\endcsname}
-
-\def\ttl@defaultps{%
- \let\makeheadrule\@empty
- \let\makefootrule\@empty
- \def\@mkboth{\ttl@savemark\@gobbletwo}%
- \def\@oddfoot{\ttl@userunning of}%
- \def\@evenfoot{\ttl@userunning ef}%
- \def\@oddhead{\ttl@userunning oh}%
- \def\@evenhead{\ttl@userunning eh}%
- \def\ttlr@of{\ttl@makefoot\@empty\@@\ttl@hiol\ttl@hior}%
- \def\ttlr@ef{\ttl@makefoot\@empty\@@\ttl@hiel\ttl@hier}%
- \def\ttlr@oh{\ttl@makehead\@empty\@@\ttl@hiol\ttl@hior}%
- \def\ttlr@eh{\ttl@makehead\@empty\@@\ttl@hiel\ttl@hier}%
- \let\ttlr@of@b\relax \let\ttlr@of@p\relax
- \let\ttlr@ef@b\relax \let\ttlr@ef@p\relax
- \let\ttlr@oh@t\relax \let\ttlr@oh@p\relax
- \let\ttlr@eh@t\relax \let\ttlr@eh@p\relax
- \def\settitlemarks{\@ifstar\ttl@setmarks@s\ttl@setmarks@x}%
- \expandafter\settitlemarks\ttl@marksset}
-
-\@ifundefined{chapter}%
- {\settitlemarks{section,subsection}}%
- {\settitlemarks{chapter,section}}
-
-\newcommand\usepage{\protect\thepage} % back compat
-
-\newcommand\toptitlemarks{\expandafter\@secondoftwo\firstmark{}{}{}}
-\def\firsttitlemarks{%
- \toks@\expandafter\expandafter\expandafter{%
- \expandafter\@secondoftwo \firstmark{}{}{}}%
- \@temptokena\expandafter\expandafter\expandafter{%
- \expandafter\@secondoftwo \botmark{}{}{}}%
- \edef\ttl@a{\the\toks@}%
- \edef\ttl@b{\the\@temptokena}%
- \ifx\ttl@a\ttl@b
- \expandafter\@secondoftwo\firstmark{}{}{}%
- \else
- \expandafter\@firstoftwo \firstmark{}{}{}%
- \fi}
-\newcommand\bottitlemarks{\expandafter\@secondoftwo\botmark{}{}{}}
-\newcommand\nexttoptitlemarks{\expandafter\@firstoftwo\botmark{}{}{}}
-\newcommand\outertitlemarks{%
- \if@twoside
- \ifodd\c@page\relax
- \bottitlemarks
- \else
- \toptitlemarks
- \fi
- \else
- \toptitlemarks
- \fi}
-\newcommand\innertitlemarks{%
- \if@twoside
- \ifodd\c@page\relax
- \firsttitlemarks
- \else
- \bottitlemarks
- \fi
- \else
- \bottitlemarks
- \fi}
-
-\def\ttl@duplthreeargs#1#2#3#4{#1[#2][#3][#4]{#2}{#3}{#4}}
-\def\ttl@dupltwoargs#1#2#3{#1[#2][#3]{#2}{#3}}
-\def\ttl@duplthreeargsrev#1#2#3#4{#1[#4][#3][#2]{#2}{#3}{#4}}
-\def\ttl@dupltwoargsrev#1#2#3{#1[#3][#2]{#2}{#3}}
-
-\def\ttl@setany#1{%
- \@ifstar{\ttl@duplthreeargsrev#1}%
- {\@ifnextchar[{#1}{\ttl@duplthreeargs#1}}}
-
-\newcommand\setfoot{\ttl@setany\ttl@setfoot}
-\newcommand\sethead{\ttl@setany\ttl@sethead}
-
-\def\ttl@setfoot[#1][#2][#3]#4#5#6{%
- \def\ttlr@ef{\ttl@makefoot{#1}{#2}{#3}\@@\ttl@hiel\ttl@hier}%
- \def\ttlr@of{\ttl@makefoot{#4}{#5}{#6}\@@\ttl@hiol\ttl@hior}}
-
-\def\ttl@sethead[#1][#2][#3]#4#5#6{%
- \def\ttlr@eh{\ttl@makehead{#1}{#2}{#3}\@@\ttl@hiel\ttl@hier}%
- \def\ttlr@oh{\ttl@makehead{#4}{#5}{#6}\@@\ttl@hiol\ttl@hior}}
-
-\def\ttl@headinline#1#2#3{%
- \ttl@headfmt
- \def\ttl@a{#1#3}\def\ttl@b{#2}%
- \ifx\ttl@a\@empty
- \hfil{#2}\hfil
- \else\ifx\ttl@b\@empty
- {#1}\hfil{#3}%
- \else
- \sbox\z@ {#1}%
- \sbox\tw@{#3}%
- \copy\z@
- \ifdim\wd\z@<\wd\tw@
- \kern-\wd\z@\kern\wd\tw@
- \fi
- \hfil{#2}\hfil
- \ifdim\wd\z@>\wd\tw@
- \kern-\wd\tw@\kern\wd\z@
- \fi
- \box\tw@
- \fi\fi}
-
-\def\ttl@makeboth#1#2#3#4{%
- \ttl@calcneg\hspace{#3}%
- \normalsize
- \linewidth\textwidth
- \addtolength\linewidth{#3}%
- \addtolength\linewidth{#4}%
- \ifx#2\@empty\else
- \setbox\z@\hb@xt@\linewidth{%
- \color@begingroup
- #2%
- \color@endgroup}%
- \wd\z@\z@
- \ht\z@\z@
- \dp\z@\z@
- \box\z@
- \fi
- \ttl@titlemarks % Must precede the format. Defines \ttl@running
- \def\ttl@enccode{\ttl@headinline#1{}{}{}}% which contains ttl@enccode
- \ttl@running
- \ttl@calcneg\hspace{#4}}%
-
-\def\ttl@makehead#1\@@{\ttl@makeboth{#1}\makeheadrule}
-\def\ttl@makefoot#1\@@{\ttl@makeboth{#1}\makefootrule}
-
-\renewcommand\widenhead{%
- \@ifstar{\ttl@dupltwoargsrev\ttl@widenhd}%
- {\@ifnextchar[{\ttl@widenhd}{\ttl@dupltwoargs\ttl@widenhd}}}
-
-\def\ttl@widenhd[#1][#2]#3#4{%
- \def\ttl@hiel{#1}\def\ttl@hier{#2}%
- \def\ttl@hiol{#3}\def\ttl@hior{#4}}
-
-\let\setheadindent\widenhead
-
-\def\ttl@hiel{\z@}\def\ttl@hier{\z@}
-\def\ttl@hiol{\z@}\def\ttl@hior{\z@}
-
-% A tool:
-
-\def\ifsamemark#1#2{%
- {#1\global\let\ttl@c#2}%
- \ifx\ttl@c#2%
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi}
-
-% Another tool:
-
-\newcommand\setmarkboth{%
- \ifx\markboth\ttl@mb@use\else
- \let\ttl@mb@mark\markboth
- \let\markboth\ttl@mb@use
- \fi
- \def\ttl@mb@new##1##2}
-
-% \ttl@mb@temp is a trick to allow resetting inside \setmarkboth.
-
-\def\ttl@mb@use#1#2{%
- \let\markboth\ttl@mb@mark
- \def\ttl@mb@temp{\let\markboth\ttl@mb@use}%
- \ttl@mb@new{#1}{#2}%
- \ttl@mb@temp
- \let\ttl@mb@temp\@undefined}
-
-\newcommand\resetmarkboth{%
- \ifx\ttl@mb@temp\@undefined
- \let\markboth\ttl@mb@mark
- \def\ttl@mb@mark{\markboth}%
- \else
- \def\ttl@mb@temp{%
- \let\markboth\ttl@mb@mark
- \def\ttl@mb@mark{\markboth}}%
- \fi}
-
-% ===========
-% EXTRA MARKS
-% ===========
-
-\ifx\ttl@fetchmark\@empty
-
-\ifx\newmarks\@undefined
- \PackageInfo{titleps}{%
- You have requested `extramarks' but etex or similar\MessageBreak
- has not been loaded. I'll do it for you.}
- \RequirePackage{etex}
-\fi
-
-\def\ttl@setmarks@s#1{%
- \@for\ttl@a:=#1\do{%
- \@ifundefined{ttl@mkc@\ttl@a}{%
- \expandafter\newmarks\csname ttl@mkc@\ttl@a\endcsname}{}%
- \expandafter\xdef\csname ttl@tem@\ttl@a\endcsname{%
- \marks\expandafter\noexpand\csname ttl@mkc@\ttl@a\endcsname
- {\noexpand\@themark}}}%
- \ttl@setmarks@x{#1}}%
-
-\newcommand\newmarkset[1]{%
- \expandafter\newmarks\csname ttl@mkc@#1\endcsname
- \@namedef{ttl@mks@#1}{}%
- \@namedef{ttl@premks@#1}{\@nameuse{ttl@mks@#1}}}
-
-\newcommand\newextramark{%
- \@ifstar{\@tempswafalse\ttl@newmk@i}%
- {\@tempswatrue\ttl@newmk@i}}
-
-\def\ttl@extramark#1{%
- \begingroup
- \let\protect\@unexpandable@protect
- \let\@mkboth\@gobbletwo
- \let\label\relax
- \let\index\relax
- \let\glossary\relax\endgroup}
-
-\newcommand\extramark[1]{%
- \begingroup
- \let\protect\@unexpandable@protect
- \let\@mkboth\@gobbletwo
- \let\label\relax
- \let\index\relax
- \let\glossary\relax
- \marks\csname ttl@mkc@#1\endcsname{%
- {\@nameuse{ttl@mks@#1}}%
- {\@nameuse{ttl@mks@#1}}}%
- \expandafter\xdef\csname ttl@premks@#1\endcsname
- {\@nameuse{ttl@mks@#1}}%
- \endgroup
- \if@nobreak\ifvmode\nobreak\fi\fi}%
-
-\newcommand\preextramark[1]{%
- \begingroup
- \let\protect\@unexpandable@protect
- \let\@mkboth\@gobbletwo
- \let\label\relax
- \let\index\relax
- \let\glossary\relax
- \marks\csname ttl@mkc@#1\endcsname{%
- {\csname ttl@mks@#1\endcsname}%
- {\csname ttl@premks@#1\endcsname}}%
- \endgroup
- \if@nobreak\ifvmode\nobreak\fi\fi}
-
-\newcommand\newshortmark[1]{%
- \newmarkset{\string#1}%
- \newextramark{\string#1}#1}
-
-\newcommand\shortmark[1]{\extramark{\string#1}}
-\newcommand\preshortmark[1]{\preextramark{\string#1}}
-
-\newcommand\topshortmark[1]{{\topextramarks{\string#1}#1}}
-\newcommand\firstshortmark[1]{{\firstextramarks{\string#1}#1}}
-\newcommand\botshortmark[1]{{\botextramarks{\string#1}#1}}
-\newcommand\nexttopshortmark[1]{{\nexttopextramarks{\string#1}#1}}
-
-\def\ttl@fetchmark#1#2#3{%
- \expandafter#1#2\csname ttl@mkc@#3\endcsname{}{}{}}
-
-\newcommand\topextramarks[1]{\ttl@fetchmark\@secondoftwo\firstmarks{#1}}
-\newcommand\firstextramarks[1]{%
- \toks@\expandafter\expandafter\expandafter{%
- \ttl@fetchmark\@secondoftwo\firstmarks{#1}}%
- \@temptokena\expandafter\expandafter\expandafter{%
- \ttl@fetchmark\@secondoftwo\botmarks{#1}}%
- \edef\ttl@a{\the\toks@}%
- \edef\ttl@b{\the\@temptokena}%
- \ifx\ttl@a\ttl@b
- \ttl@fetchmark\@secondoftwo\firstmarks{#1}%
- \else
- \ttl@fetchmark\@firstoftwo\firstmarks{#1}%
- \fi}
-\newcommand\botextramarks[1]{\ttl@fetchmark\@secondoftwo\botmarks{#1}}
-\newcommand\nexttopextramarks[1]{\ttl@fetchmark\@firstoftwo\botmarks{#1}}
-
-\newcommand\outerextramarks[1]{%
- \if@twoside
- \ifodd\c@page\relax
- \botextramarks{#1}%
- \else
- \topextramarks{#1}%
- \fi
- \else
- \topextramarks{#1}%
- \fi}
-\newcommand\innerextramarks[1]{%
- \if@twoside
- \ifodd\c@page\relax
- \firstextramarks{#1}%
- \else
- \botextramarks{#1}%
- \fi
- \else
- \botextramarks{#1}%
- \fi}
-
-\fi
-
-% ======
-% FLOATS
-% ======
-%
-% Pagestyles with floats. There macros are defined only with the
-% psfloats package option.
-
-\@ifundefined{ttl@replace}{\endinput}{}
-
-% User interface
-
-\newcommand\setfloatfoot{%
- \let\ttl@c\@empty % <- current float, empty if general
- \ttl@setany\ttl@setftfoot}
-
-\newcommand\setfloathead{%
- \let\ttl@c\@empty % <- current float, empty if general
- \ttl@setany\ttl@setfthead}
-
-\def\ttl@setftfoot[#1][#2][#3]#4#5#6#7{%
- \@ifnextchar[{\ttl@setftfoot@i{#1}{#2}{#3}{#4}{#5}{#6}{#7}}%
- {\ttl@setftfoot@i{#1}{#2}{#3}{#4}{#5}{#6}{#7}[bp]}}
-
-\def\ttl@setfthead[#1][#2][#3]#4#5#6#7{%
- \@ifnextchar[{\ttl@setfthead@i{#1}{#2}{#3}{#4}{#5}{#6}{#7}}%
- {\ttl@setfthead@i{#1}{#2}{#3}{#4}{#5}{#6}{#7}[tp]}}
-
-\def\ttl@setftfoot@i#1#2#3#4#5#6#7[#8]{%
- \@tfor\ttl@b:=#8\do{%
- \@namedef{ttlr@ef@\ttl@b\ttl@c}%
- {#7\ttl@makefoot{#1}{#2}{#3}\@@\ttl@hiel\ttl@hier}%
- \@namedef{ttlr@of@\ttl@b\ttl@c}%
- {#7\ttl@makefoot{#4}{#5}{#6}\@@\ttl@hiol\ttl@hior}}}
-
-\def\ttl@setfthead@i#1#2#3#4#5#6#7[#8]{%
- \@tfor\ttl@b:=#8\do{%
- \@namedef{ttlr@eh@\ttl@b\ttl@c}%
- {#7\ttl@makehead{#1}{#2}{#3}\@@\ttl@hiel\ttl@hier}%
- \@namedef{ttlr@oh@\ttl@b\ttl@c}%
- {#7\ttl@makehead{#4}{#5}{#6}\@@\ttl@hiol\ttl@hior}}}
-
-\newcommand\nextfloathead{%
- \ttl@nextfree % returns ttl@c with the next float
- \ttl@setany\ttl@setfthead}
-
-\newcommand\nextfloatfoot{%
- \ttl@nextfree % returns ttl@c with the next float
- \ttl@setany\ttl@setftfoot}
-
-% Compat mode with floatps
-
-\ifx\ttl@replace\space
-
- \let\ttl@setnewfoot\ttl@setftfoot
- \let\ttl@setnewhead\ttl@setfthead
-
- \def\ttl@setftfoot[#1][#2][#3]#4#5#6{%
- \ttl@setnewfoot[#1][#2][#3]{#4}{#5}{#6}{}}
- \def\ttl@setfthead[#1][#2][#3]#4#5#6{%
- \ttl@setnewhead[#1][#2][#3]{#4}{#5}{#6}{}}
-
-\fi
-
-% The simple default value of \ttl@userunning is
-% replaced by one more elaborated
-
-\def\ttl@userunning#1#2{%
- \if@fcolmade % From a post by D. Arseneau to comp.text.tex
- \def\@elt##1{\edef\ttl@pageft{\string##1}}%
- \@flsucceed
- \let\@elt\relax
- \if#2h%
- \ttl@replace #1hp\ttl@pageft
- \else
- \ttl@replace #1fp\ttl@pageft
- \ttl@killftps\ttl@pageft
- \fi
- \else\if#2h%
- \ifx\ttl@topft\@empty\else
- \ttl@replace #1ht\ttl@topft
- \fi
- \else
- \ifx\ttl@botft\@empty\else
- \ttl@replace #1fb\ttl@botft
- \fi
- \fi\fi
- \csname ttlr@#1#2\endcsname}
-
-% [Don't move above as \ttl@replace is used as a flag.]
-
-\def\ttl@replace#1#2#3#4{%
- \@ifundefined{ttlr@#1#2@#3#4}%
- {\@ifundefined{ttlr@#1#2@#3}{}%
- {\@namedef{ttlr@#1#2}{\@nameuse{ttlr@#1#2@#3}}}}%
- {\csname ttlr@xx@x#4\endcsname\@gobble
- {\expandafter\let\csname ttlr@#1#2\expandafter\endcsname
- \csname ttlr@#1#2@#3#4\endcsname}}}
-
-\def\ttl@nextfree{%
- \def\@elt##1{%
- \edef\ttl@c{\string##1}%
- \let\@elt\@gobble}%
- \@freelist
- \let\@elt\relax
- \@ifundefined{ttlr@xx@x\ttl@c}%
- {\expandafter\let\csname ttlr@xx@x\ttl@c\endcsname\@secondoftwo
- \@tfor\ttl@a:={eh@t}{oh@t}{ef@b}{of@b}{eh@p}{oh@p}{ef@p}{of@p}\do{%
- \expandafter\global\expandafter
- \let\csname ttlr@\ttl@a\ttl@c\endcsname\relax}}{}}
-
-\def\ttl@killftps#1{%
- \expandafter\global\expandafter
- \let\csname ttlr@xx@x#1\endcsname\relax}
-
-\let\ttl@topft\@empty
-\let\ttl@botft\@empty
-\let\ttl@pageft\@empty
-
-\def\ttl@combinefloats{%
- \ifx\@toplist\@empty\else
- \def\@elt##1{%
- \edef\ttl@topft{\string##1}%
- \def\@elt####1{\ttl@killftps{\string####1}}}%
- \@toplist
- \fi
- \ifx\@botlist\@empty\else
- \def\@elt##1{%
- \def\@elt####1{%
- \def\@elt####1{\ttl@killftps\ttl@botft}%
- \edef\ttl@botft{\string####1}}%
- \edef\ttl@botft{\string##1}}%
- \@botlist
- \fi
- \let\@elt\relax
- \ttl@combinefloats@x}
-
-\AtBeginDocument{%
- \let\ttl@combinefloats@x\@combinefloats
- \let\@combinefloats\ttl@combinefloats}
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/titlesec/wrap.tss b/Master/texmf-dist/tex/latex/titlesec/wrap.tss
deleted file mode 100644
index 44d849b6bce..00000000000
--- a/Master/texmf-dist/tex/latex/titlesec/wrap.tss
+++ /dev/null
@@ -1,83 +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.
-
-\ProvidesFile{wrap.tss}[2016/03/15]
-
-\gdef\ttlh@wrap#1#2#3#4#5#6#7#8{%
- \global\@noskipsectrue
- \gdef\ttl@makeline##1{##1}%
- \ttl@changecentercr
- \begingroup
- #1\ifhmode\ttl@hmode@error\fi
- \titlewidth\z@
- \def\\{\@ifstar{\@ifnextchar[{\ttl@bs}{\newline}}%
- {\@ifnextchar[{\ttl@bs}{\newline}}}%
- \def\ttl@bs[##1]{\newline}%
- \let\@centercr\\%
- \advance\rightskip 1\leftskip plus 1fil
- \leftskip=\z@
- \parindent\z@
- \let\iftitlemeasuring\@firstoftwo
- \global\setbox\ttl@box\vtop{\setlength\hsize{#6}%
- \color@begingroup
- \ifttl@label{#2}\ttl@calc\hspace{#3}\fi
- #4{#8}\kern\z@\strut
- \@@par
- \color@endgroup}%
- \let\iftitlemeasuring\@secondoftwo
- \ttl@boxprocess
- \global\titlewidth\titlewidth
- \global\titlewidthfirst\titlewidthfirst
- \global\titlewidthlast\titlewidthlast
- \endgroup
- \edef\ttl@maxdimen{\the\titlewidth}%
- #1\ifhmode\ttl@hmode@error\fi
- \global\setbox\ttl@box\vtop{\setlength\hsize{\ttl@maxdimen}%
- \color@begingroup
- \ifttl@label{#2}\ttl@calc\hspace{#3}\fi#4{#8}\kern\z@\strut
- \@@par
- \color@endgroup}%
- \advance\@tempskipa1.5\baselineskip
- \advance\@tempskipa\ht\ttl@box
- \advance\@tempskipa\dp\ttl@box
- \advance\@tempskipa-\pagegoal
- \advance\@tempskipa\pagestretch
- \@tempskipb\pagegoal
- \pagegoal-\@tempskipa
- \ifdim\bottomtitlespace<\z@\else
- \def\@textbottom{\vskip\z@\@plus.0001fil}%
- \fi
- \penalty9999
- \pagegoal\@tempskipb
- \@tempdima\ht\ttl@box \advance\@tempdima\dp\ttl@box
- \@tempdimb\@tempdima
- \divide\@tempdima\baselineskip \count@\@tempdima
- \advance\count@
- \ifdim\@tempdimb<\the\count@.5\baselineskip\@ne\else\tw@\fi
- \dp\ttl@box=\z@
- \xdef\@svsechd##1##2{%
- \noexpand\llap{\box\ttl@box##2}%
- \setbox\z@\hbox{\hskip\ttl@maxdimen\relax##2}%
- \global\hangindent\wd\z@
- \global\hangafter-\the\count@\relax}}
-
-\endinput