From 97600a36695705b3c80e06f0e34b38c72177c577 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 18 Jul 2019 20:34:43 +0000 Subject: titlesec (18jul19) git-svn-id: svn://tug.org/texlive/trunk@51664 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/titlesec/block.tss | 44 -- Master/texmf-dist/tex/latex/titlesec/drop.tss | 61 -- Master/texmf-dist/tex/latex/titlesec/frame.tss | 68 -- .../texmf-dist/tex/latex/titlesec/leftmargin.tss | 62 -- Master/texmf-dist/tex/latex/titlesec/margin.tss | 61 -- .../texmf-dist/tex/latex/titlesec/rightmargin.tss | 59 -- Master/texmf-dist/tex/latex/titlesec/titleps.sty | 757 ++++++++++++++++++++- Master/texmf-dist/tex/latex/titlesec/titlesec.sty | 440 ++++++++++-- Master/texmf-dist/tex/latex/titlesec/titletoc.sty | 164 ++--- Master/texmf-dist/tex/latex/titlesec/ttlkeys.def | 121 ---- Master/texmf-dist/tex/latex/titlesec/ttlps.def | 739 -------------------- Master/texmf-dist/tex/latex/titlesec/wrap.tss | 83 --- 12 files changed, 1192 insertions(+), 1467 deletions(-) delete mode 100644 Master/texmf-dist/tex/latex/titlesec/block.tss delete mode 100644 Master/texmf-dist/tex/latex/titlesec/drop.tss delete mode 100644 Master/texmf-dist/tex/latex/titlesec/frame.tss delete mode 100644 Master/texmf-dist/tex/latex/titlesec/leftmargin.tss delete mode 100644 Master/texmf-dist/tex/latex/titlesec/margin.tss delete mode 100644 Master/texmf-dist/tex/latex/titlesec/rightmargin.tss delete mode 100644 Master/texmf-dist/tex/latex/titlesec/ttlkeys.def delete mode 100644 Master/texmf-dist/tex/latex/titlesec/ttlps.def delete mode 100644 Master/texmf-dist/tex/latex/titlesec/wrap.tss (limited to 'Master/texmf-dist/tex/latex/titlesec') 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 -- cgit v1.2.3