summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/interfaces
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-10-25 23:12:18 +0000
committerKarl Berry <karl@freefriends.org>2010-10-25 23:12:18 +0000
commitd74b95d250c7632cb73e7420db04e2e38adc3827 (patch)
treefbc6763253fbb9d309da7b613857d782ee5feccb /Master/texmf-dist/tex/latex/interfaces
parentec47c1b7880fd4f626f8aa8377e576e03d72c24f (diff)
new latex package interfaces (25oct10)
git-svn-id: svn://tug.org/texlive/trunk@20206 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/interfaces')
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-LaTeX.sty254
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-appendix.sty86
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-base.sty246
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-bookmark.sty217
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-embedfile.sty79
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-enumitem.sty89
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-environ.sty57
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-etoolbox.sty126
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-fancyhdr.sty313
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-fancyvrb.sty81
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-hypbmsec.sty56
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-hyperref.sty71
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-makecell.sty370
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-marks.sty112
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-pgfkeys.sty621
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-scrlfile.sty85
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-tikz.sty140
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-titlesec.sty375
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-tocloft.sty380
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-truncate.sty143
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces-umrand.sty62
-rw-r--r--Master/texmf-dist/tex/latex/interfaces/interfaces.sty75
22 files changed, 4038 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-LaTeX.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-LaTeX.sty
new file mode 100644
index 00000000000..9c1fb9afbc8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-LaTeX.sty
@@ -0,0 +1,254 @@
+%%
+%% This is file `interfaces-LaTeX.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `LaTeX')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-LaTeX}
+ [2010/10/10 v1.0 pgfkeys macros for LaTeX (FC)]
+\RequirePackage{interfaces-base}
+\itf@pgfkeys
+\newrobustcmd*\changefont[1]{\itf@pgfkeys
+ \pgfqkeys{/itf/LaTeX/changefont}{#1}\selectfont
+}% \changefont
+\AfterPackage*{hyperref}
+ {\pdfstringdefDisableCommands{\let\changefont\@gobble}}
+\pgfqkeys{/itf/LaTeX/changefont}{%
+ encoding/.code=\fontencoding{#1},encoding/.value required,%
+ enc/.alias=encoding,%
+ family/.code=\fontfamily{#1},family/.value required,%
+ fam/.alias=family,%
+ series/.code=\fontseries{#1},series/.value required,%
+ ser/.alias=series,%
+ shape/.code=\fontshape{#1},shape/.value required,%
+ sha/.alias=shape,%
+ size/.estore as dimen in cs=f@size,%
+ size/.append code=\set@fontsize\f@linespread\f@size\f@baselineskip,%
+ siz/.alias*=size,%
+ baselineskip/.store as glue in cs=f@baselineskip,%
+ baselineskip/.append code=\set@fontsize\f@linespread\f@size\f@baselineskip,%
+ skip/.alias*=baselineskip,%
+ linespread/.estore as dimen in cs=f@linespread,%
+ linespread/.add code={\ifx\f@linespread\@empty\let\f@linespread\@ne\fi}%
+ {\edef\f@linespread{\expandafter\rem@pt\f@linespread}%
+ \set@fontsize\f@linespread\f@size\f@baselineskip},%
+ linespread+/.prefix code=\ifx\f@linespread\@empty\let\f@linespread\@ne\fi,%
+ linespread-/.prefix code=\ifx\f@linespread\@empty\let\f@linespread\@ne\fi,%
+ linespread*/.prefix code=\ifx\f@linespread\@empty\let\f@linespread\@ne\fi,%
+ spread/.alias*=linespread,%
+}% \pgfkeys definitions for \changefont
+\newtoks\itf@everycr@tok % better than colortbl turnaround for \everycr
+\newcommand*\rowfont{\noalign{\ifnum0=`}\fi\itf@rowfont}
+\newrobustcmd*\itf@rowfont[2][]{%
+ \global\itf@everycr@tok\everycr
+ \global\let\itf@@cellleft\itf@cellleft
+ \global\let\itf@@cellright\itf@cellright
+ \gdef\itf@cellfont{#2}%
+ \ifcsname itf@cell@#1\endcsname % row alignment
+ \csname itf@cell@#1\endcsname
+ \else\lowercase{%
+ \ifcsname itf@cell@#1\endcsname
+ \csname itf@cell@#1\endcsname
+ \fi
+ }\fi
+ \toks@\expandafter{\itf@cellleft\itf@cellfont}% inside \noalign group ok
+ \xdef\itf@cellleft{\the\toks@}%
+ \global\everycr\expandafter\expandafter\expandafter{%
+ \expandafter\the\expandafter\everycr\expandafter\itf@rowfont@reset}%
+ \ifnum0=`{\fi}% end of noalign group
+}% \rowfont
+\def\itf@rowfont@reset{%
+ \noalign{%
+ \global\let\itf@cellleft\itf@@cellleft
+ \global\let\itf@cellright\itf@@cellright
+ \global\let\itf@cellfont\@empty
+ \global\let\itf@celllalign\@empty
+ \global\let\itf@cellralign\@empty
+ \global\everycr\itf@everycr@tok
+ \global\itf@everycr@tok{}%
+ }%
+}% \itf@rowfont@reset
+\newif\ifitf@cellright
+\def\itf@prepnext@tok{% only if array is loaded
+ \itf@cnt = \count@
+ \advance \itf@cnt -\@tempcnta
+ \ifcase \itf@cnt % (case 0): previous token is left
+ \itf@cellrighttrue % consequently the token to prepare is right !
+ \toks\count@\expandafter{% augment the previous (left) token
+ \expandafter\itf@celllalign
+ \the\toks\count@
+ \itf@cellleft}%
+ \or % (case 1)
+ \ifitf@cellright % previous token is right
+ \itf@cellrightfalse% consequently the token to prepare is not right !
+ \toks\count@=\expandafter{% augment the previous (right) token
+ \the\toks\count@
+ \itf@cellright
+ \itf@cellralign}%
+ \fi
+ \else % special column: do not change the token
+ \itf@cellrightfalse % the token to prepare cannot be right !
+ \fi
+ \advance \count@ \@ne \toks\count@{}% \prepnext@tok original def
+}% \itf@prepnext@tok
+\AfterPackage*{array}{%
+ \global\let\array@prepnext@tok\prepnext@tok % frozen original definition
+ \global\let\prepnext@tok\itf@prepnext@tok
+}% \AfterPackage*{array}
+\let\itf@cellleft\@empty
+\let\itf@cellright\@empty
+\def\itf@celllalign{\itf@cellleft}% the row font spec. applies to pre-column material
+\let\itf@cellralign\@empty
+\let\itf@cellfont\@empty
+\let\ifitf@colortbl\iffalse
+\AfterPackage*{colortbl}{\let\ifitf@colortbl\iftrue}
+\def\itf@cell@l{% force alignment to left
+ \gdef\itf@celllalign{\itf@removehfil
+ \raggedright\arraybackslash
+ \itf@cellleft}%
+ \gdef\itf@cellralign{\itf@flush1\itf@ignorehfil}%
+ \toks@\expandafter{\itf@cellleft\raggedright\arraybackslash}% local (noalign group)
+ \xdef\itf@cellleft{\the\toks@}%
+}% \itf@cell@l
+\def\itf@cell@c{% force alignment to center
+ \gdef\itf@celllalign{\itf@removehfil
+ \centering\arraybackslash
+ \itf@flush{.5}\itf@cellleft}%
+ \gdef\itf@cellralign{\itf@flush{.5}\itf@ignorehfil}%
+ \toks@\expandafter{\itf@cellleft\centering\arraybackslash}% local (noalign group)
+ \xdef\itf@cellleft{\the\toks@}%
+}% \itf@cell@c
+\def\itf@cell@r{% force alignment to right
+ \gdef\itf@celllalign{\itf@removehfil
+ \raggedleft\arraybackslash
+ \itf@flush1\itf@cellleft}%
+ \gdef\itf@cellralign{\itf@ignorehfil}%
+ \toks@\expandafter{\itf@cellleft\raggedleft\arraybackslash}% local (noalign group)
+ \xdef\itf@cellleft{\the\toks@}%
+}% \itf@cell@r
+\def\itf@cell@j{% force justification (for p, m, b columns)
+ \gdef\itf@celllalign{\itf@justify\itf@cellleft}%
+ \global\let\itf@cellralign\@empty
+ \toks@\expandafter{\itf@cellleft\itf@justify}% local (noalign group)
+ \xdef\itf@cellleft{\the\toks@}%
+}% \itf@cell@j
+\def\itf@justify{%
+ \leftskip\z@skip \@rightskip\leftskip \rightskip\@rightskip
+ \parfillskip\@flushglue
+}% \itf@justify
+\AfterPackage*{ragged2e}{%
+\def\itf@cell@L{% force alignment to left (ragged2e)
+ \gdef\itf@celllalign{\itf@removehfil
+ \RaggedRight\arraybackslash
+ \itf@cellleft}%
+ \gdef\itf@cellralign{\itf@flush1\itf@ignorehfil}%
+ \toks@\expandafter{\itf@cellleft\RaggedRight\arraybackslash}%
+ \xdef\itf@cellleft{\the\toks@}%
+}% \itf@cell@L
+\def\itf@cell@C{% force alignment to center (ragged2e)
+ \gdef\itf@celllalign{\itf@removehfil
+ \Centering\arraybackslash
+ \itf@flush{.5}\itf@cellleft}%
+ \gdef\itf@cellralign{\itf@flush{.5}\itf@ignorehfil}%
+ \toks@\expandafter{\itf@cellleft\Centering\arraybackslash}%
+ \xdef\itf@cellleft{\the\toks@}%
+}% \itf@cell@C
+\def\itf@cell@R{% force alignment to right (ragged2e)
+ \gdef\itf@celllalign{\itf@removehfil
+ \RaggedLeft\arraybackslash
+ \itf@flush1\itf@cellleft}%
+ \gdef\itf@cellralign{\itf@ignorehfil}%
+ \toks@\expandafter{\itf@cellleft\RaggedLeft\arraybackslash}%
+ \xdef\itf@cellleft{\the\toks@}%
+}% \itf@cell@R
+\def\itf@cell@J{% force justification (ragged2e)
+ \gdef\itf@celllallign{\justifying\arraybackslash\itf@cellleft}%
+ \global\let\itf@cellralign\@empty
+ \toks@\expandafter{\itf@cellleft\justifying\arraybackslash}%
+ \xdef\itf@cellleft{\the\toks@}%
+}% \itf@cell@J
+}% AfterPackage ragged2e
+\def\itf@flush#1{%
+ \ifitf@colortbl % colortbl uses \hfill rather than \hfil
+ \hskip \ifnum\currentgrouptype>13 \stretch{#1}%
+ \else\ifdim#1pt<1pt \itf@cellskip
+ \else \stretch{#1}
+ \fi\fi \relax
+ \else % array.sty
+ \ifnum \currentgrouptype>13\relax
+ \hfil \hskip1sp
+ \fi
+ \fi
+}% \itf@flush
+\newskip\itf@cellskip
+\let\itf@hfil\hfil
+\let\itf@hfill\hfill
+\let\itf@hskip\hskip
+\def\itf@removehfil{%
+ \ifitf@colortbl
+ \unkern \itf@cellskip = \lastskip
+ \ifnum\gluestretchorder\itf@cellskip = \tw@ \hskip-\itf@cellskip
+ \else \itf@cellskip = \z@skip
+ \fi
+ \else
+ \ifdim\lastskip=1sp\unskip\fi
+ \ifnum\gluestretchorder\lastskip = \@ne
+ \hfilneg % \hfilneg for array.sty but not for colortbl...
+ \fi
+ \fi
+}% \itf@removehfil
+\def\itf@nohfil{% \hfil -> do nothing + restore original \hfil
+ \def\hfil{\let\hfil\itf@hfil}% local to (alignment template) group
+}% \itf@nohfil
+\AfterPackage*{colortbl}{%
+ \def\itf@nohfil{%
+ \def\hfil{\let\hfil\itf@hfil}% local to (alignment template) group
+ \def\hfill{\let\hfill\itf@hfill}% (colortbl uses \hfill) pfff...
+ \def\hskip##1\relax{\let\hskip\itf@hskip}}% local
+}% AfterPackage colortbl
+\def\itf@ignorehfil{%
+ \aftergroup\itf@nohfil
+}% \itf@ignorehfil
+\endinput
+%%
+%% End of file `interfaces-LaTeX.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-appendix.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-appendix.sty
new file mode 100644
index 00000000000..41630693aa1
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-appendix.sty
@@ -0,0 +1,86 @@
+%%
+%% This is file `interfaces-appendix.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `appendix')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-appendix}
+ [2010/10/20 v1.0 easy control of appendices environment (FC)]
+\RequirePackage{interfaces-base}
+\itf@Check@Package{appendix}
+\itf@pgfkeys
+\let\itf@appendices@pp\appendices
+\let\itf@endappendices@pp\endappendices
+\let\itf@appendices@pp\appendices
+\let\itf@endappendices@pp\endappendices
+\renewenvironment{appendices}[1][]{%
+ \pgfqkeys{/itf/appendix/appendices}{#1}%
+ \itf@appendices@pp
+ }
+ {\itf@endappendices@pp}%
+\pgfqkeys{/itf/appendix/appendices}{%
+ title/.store as code in cs=appendixpagename,%
+ title/.append code=\ifx\appendixpagename\@empty \@dopage@ppfalse
+ \else \@dopage@pptrue\fi,%
+ title/.value required,%
+ intoc/.is if=@dotoc@pp,%
+ intoc/title/.store as code in cs=appendixtocname,%
+ intoc/title/.append code=\ifx\appendixtocname\@empty \@dotoc@ppfalse
+ \else \@dotoc@pptrue\fi,%
+ intoc/title/.default=\pgfkeysvalueof{/itf/appendix/appendices/title},%
+ section/.is enum={section,chapter},%
+ section/.append code={%
+ \ifcase\pgfkeysvalueof{/itf/appendix/appendices/section/.number}\relax
+ \@chapter@ppfalse\or\@chapter@pptrue\fi
+ \if@chapter@pp\ifundef\chapter{%
+ \PackageError{interfaces-appendix}
+ {You asked chapter-style appendices but your
+ \MessageBreak current class does not provide chapters!}\@eha
+ \pgfkeysalso{/itf/appendix/appendices/section}}{}%
+ \fi},%
+ chapter/.style={section=chapter},%
+ chapter/.value forbidden,%
+}% keys for appendices environment
+\endinput
+%%
+%% End of file `interfaces-appendix.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-base.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-base.sty
new file mode 100644
index 00000000000..21662022f54
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-base.sty
@@ -0,0 +1,246 @@
+%%
+%% This is file `interfaces-base.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `base')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-base}
+ [2010/10/10 v1.0 Basic macros for interfaces package (FC)]
+\RequirePackage{etex,ltxcmds,etoolbox,pgfkeys,scrlfile}
+\AtEndOfPackage{%
+ \RequirePackage{interfaces-etoolbox}%
+ \RequirePackage{interfaces-scrlfile}%
+ \RequirePackage{interfaces-pgfkeys}
+ \RequirePackage{interfaces-tikz}%
+ \RequirePackage{interfaces-umrand}% There is a \BeforePackage here !
+}% AtEndOfPackage
+\newrobustcmd*\LoadInterface[1]{%
+ \@for\itf@tp:=#1\do{%
+ \expandafter\ifx\csname\ifcsname\itf@tp\endcsname
+ \itf@tp\else relax\fi\endcsname\marks
+ \RequirePackage{interfaces-marks}%
+ \else\expandafter\ifx\csname\ifcsname\itf@tp\endcsname
+ \itf@tp\else relax\fi\endcsname\LaTeX
+ \RequirePackage{interfaces-LaTeX}%
+ \else
+ \expandafter\itf@LoadInterface\expandafter{\itf@tp}%
+ \fi\fi}%
+}% \LoadInterface
+\@onlypreamble\LoadInterface
+\newrobustcmd*\itf@LoadInterface[1]{\ltx@ifpackageloaded{interfaces-#1}
+ {}
+ {\AfterPackage*{#1}{\RequirePackage{interfaces-#1}}}%
+}% \itf@LoadInterface
+\newrobustcmd*\itf@Check@Package[1]{\ltx@ifpackageloaded{#1}
+ {}
+ {\PackageError{interfaces-#1}
+ {The package `#1` must be loaded before `interfaces-#1`
+ \MessageBreak Please refer to `interfaces.pdf` document
+ \MessageBreak for correct usage of the `interfaces` package}\@ehd
+ }%
+}% \itf@Check@Package
+\newrobustcmd*\itf@AfterPackage[1]{%
+ \csname\ltx@ifpackageloaded{#1}{ltx@secondoftwo}{@AfterPackage}\endcsname{#1}%
+}% \itf@AfterPackage
+\AfterPackage*{colortbl}{%
+ \renewcommand*\endarray{%
+ \crcr \egroup \egroup \@arrayright \gdef\@preamble{}\CT@end}%
+}% AfterPackage colortbl
+\AfterPackage*{arydshln}{%
+ \ltx@ifpackageloaded{colortbl}
+ {% colortbl
+ \def\endarray{%
+ \adl@endarray \egroup \adl@arrayrestore \CT@end \egroup %<original>
+ \@arrayright % <FC>
+ \gdef\@preamble{}% <FC>
+ }%
+ }
+ {% no colortbl
+ \def\endarray{%
+ \adl@endarray \egroup \adl@arrayrestore \egroup %<original>
+ \@arrayright % <FC>
+ \gdef\@preamble{}% <FC>
+ }%
+ }%
+}% AfterPackage arydshln
+\AfterPackage{colortbl}{%
+ {\ltx@ifpackageloaded{arydshln}
+ {\PackageWarning{interfaces-base}
+ {The package arydshln should be loaded after colortbl
+ \MessageBreak because both redefine \string\@classz}}%
+ {}}%
+}% AfterPackage colortbl
+\newrobustcmd*\itf@preapptocmd[5]{%
+ \pretocmd#1{#2}%
+ {\apptocmd#1{#3}%
+ {#4}%
+ {#5}}%
+ {#5}%
+}% \itf@preapptocmd
+\def\itf@patch{\futurelet\itf@tp\itf@patch@}
+\def\itf@patch@{\csname itf@patch@%
+ \ifx\itf@tp\patchcmd inside\else
+ \ifx\itf@tp\itf@preapptocmd inside\else
+ boundary\fi\fi
+ \endcsname
+}% \itf@patch@
+\def\itf@patch@boundary#1#2#3#4#5{%
+ \let\itf@tp#2%
+ #1\itf@tp{#3}%
+ {\let#2\itf@tp
+ \AtBeginDocument{#4}% in order to keep this info even after \dump
+ }
+ {#5}%
+}% \itf@patch@boundary (for \pretocmd and \apptocmd)
+\def\itf@patch@inside#1#2#3#4#5#6{%
+ \let\itf@tp#2%
+ #1\itf@tp{#3}{#4}%
+ {\let#2\itf@tp
+ \AtBeginDocument{#5}%
+ }
+ {#6}%
+}% \itf@patch@inside (for \patchcmd)
+\newskip\itf@sk
+\newmuskip\itf@musk
+\newtoks\itf@tk
+\newcount\itf@cnt
+%% H E L P E R M A C R O S
+\begingroup\makeatother
+ \csgdef{itf@strip@at}#1@{}
+\endgroup
+\def\itf@strip@dot#1.#2\@nil{#1}
+\def\itf@expandonceifcs#1{\expandafter\itf@exp@ndonceifcs\expandafter#1#1Q\@nnil}
+\def\itf@exp@ndonceifcs#1#2#3\@nnil{%
+ \def\itf@tp{#2}%
+ \ifx\itf@tp#1%
+ \ifcat\relax\noexpand#2%
+ \expandafter\expandafter\expandafter\remove@to@nnil
+ \expandafter\ifx\expandafter#2#2\@nnil\else\@nnil\let#1#2\fi
+ \fi\fi
+}% \itf@exp@ndonceifcs
+%% G E T A N U M B E R (if possible)
+%% USAGE: \itf@number\count<text>\relax\@nnil (like \@defaultunits)
+\def\itf@number#1#2\relax\@nnil{% \relax is to mimick the syntax of \@defaultunits
+ \afterassignment\itf@number@#1\number0#2\relax\itf@number@
+}
+\def\itf@number@#1\relax#2\itf@number@{%
+ \ifblank{#1}
+ {\itf@number@@{}#2\itf@number@@\@nnil
+ \csname ltx@\ifx\@let@token\itf@number@@
+ first\else second\fi oftwo\endcsname}
+ \ltx@secondoftwo
+}% \itf@number@
+\def\itf@number@@#1{\futurelet\@let@token\itf@number@@@}
+\def\itf@number@@@{%
+ \csname \ifx\@let@token\relax itf@number@@%
+ \else remove@to@nnil%
+ \fi \endcsname
+}% \itf@number@@@
+%% U N I T S F O R D I M E N S
+\def\itf@strip@mu{\expandafter\itf@rem@mu\the}
+\begingroup \@makeother\M\@makeother\U
+ \lowercase{%
+ \gdef\itf@rem@mu#1.#2MU{#1\ifnum#2>\z@.#2\fi}%
+ }%
+\endgroup
+%% \skip = \itf@units@mutopt \muskip
+\def\itf@units@pttomu#1{\gluetomu\glueexpr
+ \glueexpr#1\relax*1800/%
+ \expandafter\itf@strip@dot\the\dimexpr
+ \fontdimen6\textfont2*100\relax.\@nil
+ \relax
+}% \itf@units@pttomu
+\def\itf@units@mutopt#1{\glueexpr
+ \mutoglue\muexpr#1\relax*
+ \expandafter\itf@strip@dot\the\dimexpr
+ \fontdimen6\textfont2*100\relax.\@nil/1800
+ \relax
+}% \itf@units@mutopt
+%% \muskip = \itf@units@mu{ \skip or \muskip or number}
+\def\itf@units@mu#1#2{\begingroup\@makeother\P
+ \@makeother\T\@makeother\S\@makeother\B\@makeother\C
+ \@makeother\M\@makeother\D\@makeother\I\@makeother\N
+ \edef\itf@tp{#2}%
+ \lowercase{\@tfor\x:={PT}{PC}{IN}{BP}{CM}{MM}{DD}{CC}{SP}\do}{%
+ \@expandtwoargs\in@\x\itf@tp\ifin@\expandafter\@break@tfor\fi
+ }%
+ \expandafter\endgroup
+ \ifin@
+ #1=\itf@units@pttomu{#2}%
+ \else
+ \@defaultunits#1 #2mu\relax\@nnil
+ \fi
+}% \itf@units@mu
+%% \skip = \itf@units@pt( \muskip or \skip or number )
+\def\itf@units@pt#1#2{\begingroup\@makeother\M\@makeother\U
+ \lowercase{\@expandtwoargs\in@{MU}}{#2}%
+ \expandafter\endgroup
+ \ifin@
+ #1=\itf@units@mutopt{#2}%
+ \else
+ \@defaultunits#1 #2pt\relax\@nnil
+ \fi
+}% \itf@units@pt
+%% glue * 1.5 = glue * 98302 / 65536
+%% glue * 3/2 = glue * 3/2
+\def\itf@units@scale#1!{\itf@units@scale@normalize#1/\@nnil/\@nil}
+\def\itf@units@scale@normalize#1/#2/#3\@nil{%
+ \ifx#2\@nnil
+ \number\dimexpr#1pt\relax/65536
+ \else#1/#2
+ \fi
+}% \itf@units@normalize
+\AtBeginDocument{%
+ \ltx@ifpackageloaded{xcolor}
+ {\@ifundefinedcolor{default}
+ {\colorlet{default}{.}}
+ {}}%
+ {\ltx@ifpackageloaded{color}
+ {\@ifundefined{\string\color @default}
+ {\expandafter\def\csname\string\color @default\endcsname{\default@color}}
+ {}}%
+ {}}%
+}
+\endinput
+%%
+%% End of file `interfaces-base.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-bookmark.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-bookmark.sty
new file mode 100644
index 00000000000..1fbbe49e829
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-bookmark.sty
@@ -0,0 +1,217 @@
+%%
+%% This is file `interfaces-bookmark.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `bookmark')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-bookmark}
+ [2010/09/08 v1.0 more control on bookmarks (FC)]
+\RequirePackage{interfaces-base}
+\RequirePackage{interfaces-hyperref}
+\RequirePackage{refcount}
+\itf@Check@Package{bookmark}
+\itf@pgfkeys
+\expandafter\itf@patch\expandafter\patchcmd\csname\string\bookmark\endcsname
+ {\immediate\write\@mainaux}{\itf@BKM@write}
+ {\PackageInfo{interfaces-bookmark}
+ {Command \expandafter\string\csname\string\bookmark\endcsname\space
+ successfully patched!}}
+ {\PackageWarning{interfaces-bookmark}
+ {Command \expandafter\string\csname\string\bookmark\endcsname\space
+ could not be patched\MessageBreak
+ Loading of interfaces-bookmark is canceled}%
+ \endinput}
+\global\let\itf@BKM@enable\@ne % 0 = disable*, 1=enable, \@M = disable
+\pgfqkeys{/itf/bookmark}{%
+ disable/.true=\global\let\itf@BKM@enable\@M,%
+ disable/.false=\global\let\itf@BKM@enable\@ne,%
+ disable*/.true=\global\let\itf@BKM@enable\z@,%
+ disable*/.false=\global\let\itf@BKM@enable\@ne,%
+ atend/.true=\ifnum\itf@BKM@enable>0\edef\itf@BKM@enable{\number-\itf@BKM@enable}\fi,%
+ atend/.false=\ifnum\itf@BKM@enable<0\edef\itf@BKM@enable{\number-\itf@BKM@enable}\fi,%
+ bold*/.true=\pgfqkeys{/itf/bookmark}{@save={bold=true}},%
+ bold*/.false=\pgfqkeys{/itf/bookmark}{@save={bold=false}},%
+ bold*/@blank/.code=\pgfqkeys{/itf/bookmark/@restore}{bold},%
+ bold*/.blank=@blank,%
+ italic*/.true=\pgfqkeys{/itf/bookmark}{@save={italic=true}},%
+ italic*/.false=\pgfkeys{/itf/bookmark}{@save={italic=false}},%
+ italic*/@blank/.code=\pgfqkeys{/itf/bookmark/@restore}{italic},%
+ italic*/.blank=@blank,%
+ color*/.code={\ifblank{#1}
+ {\pgfqkeys{/itf/bookmark/@restore}{color}}
+ {\pgfqkeys{/itf/bookmark}{@save={color={#1}}}}%
+ },%
+ @save/.code={%
+ \pgfkeysifdefined{/itf/bookmark/@save/color}{}
+ {\pgfkeyslet{/itf/bookmark/@save/color}\BKM@color}%
+ \pgfkeysifdefined{/itf/bookmark/@save/FontStyle}{}
+ {\pgfkeyslet{/itf/bookmark/@save/FontStyle}\BS@BKM@FontStyle}%
+ \pgfkeysifdefined{/itf/bookmark/@save/grouplevel}{}
+ {\pgfkeysEsetvalue{/itf/bookmark/@save/grouplevel}{\the\currentgrouplevel}}%
+ \pgfkeysaddvalue{/itf/bookmark/*}{}{,#1}%
+ \bookmarksetup{#1}%
+ },%
+ @restore/color/.code=%
+ \pgfkeysifdefined{/itf/bookmark/@save/color}
+ {\pgfkeysgetvalue{/itf/bookmark/@save/color}\BKM@color}
+ {},%
+ @restore/FontStyle/.code=%
+ \pgfkeysifdefined{/itf/bookmark/@save/FontStyle}
+ {\pgfkeysgetvalue{/itf/bookmark/@save/FontStyle}\BS@BKM@FontStyle}
+ {},%
+ @restore/.code={%
+%% \pgfqkeys{/itf/bookmark/@restore}{color,FontStyle}% repeating the following lines
+ \pgfkeysifdefined{/itf/bookmark/@save/color}% is quicker than setting a /.style ...
+ {\pgfkeysgetvalue{/itf/bookmark/@save/color}\BKM@color}
+ {}%
+ \pgfkeysifdefined{/itf/bookmark/@save/FontStyle}
+ {\pgfkeysgetvalue{/itf/bookmark/@save/FontStyle}\BS@BKM@FontStyle}
+ {}%
+ \pgfkeysifdefined{/itf/bookmark/@save/grouplevel}
+ {% shortcut: \bookmarksetup{bold*} called inside main group (level 0)
+ \ifnum\pgfkeysvalueof{/itf/bookmark/@save/grouplevel}=\z@
+ \global\pgfkeyslet{/itf/bookmark/@save/FontStyle}\@undefined
+ \global\pgfkeyslet{/itf/bookmark/@save/color}\@undefined
+ \global\pgfkeyslet{/itf/bookmark/@save/grouplevel}\@undefined
+ \global\pgfkeyslet{/itf/bookmark/*}\@undefined
+ \global\let\BKM@color\BKM@color
+ \global\let\BS@BKM@FontStyle\BS@BKM@FontStyle
+ \else % restore after each group as needed
+ \pgfkeyslet{/itf/bookmark/@save/FontStyle}\@undefined
+ \pgfkeyslet{/itf/bookmark/@save/color}\@undefined
+ \pgfkeyslet{/itf/bookmark/*}\@undefined
+ \ifnum\currentgrouplevel>\z@
+ \aftergroup\itf@BKM@restore
+ \else
+ \pgfkeyslet{/itf/bookmark/@save/grouplevel}\@undefined
+ \fi\fi
+ }
+ {}%
+ },%
+ @restore/bold/.code={% bold is "hidden" in \BS@BKM@FontStyle
+ \begingroup
+ \edef\itf@tp{\bookmarkget{bold}}%
+ \pgfqkeys{/itf/bookmark/@restore}{FontStyle}%
+ \count@=\bookmarkget{bold}%
+ \edef\itf@tp{\endgroup
+ \ifnum\itf@tp=\count@
+ \else \noexpand\bookmarksetup{%
+ bold\ifcase\count@ =false\fi}\fi
+ }\itf@tp},%
+ @restore/italic/.code={% italic is "hidden" in \BS@BKM@FontStyle
+ \begingroup
+ \edef\itf@tp{\bookmarkget{italic}}%
+ \pgfqkeys{/itf/bookmark/@restore}{FontStyle}%
+ \count@=\bookmarkget{italic}%
+ \edef\itf@tp{\endgroup
+ \ifnum\itf@tp=\count@
+ \else \noexpand\bookmarksetup{%
+ italic\ifcase\count@ =false\fi}\fi
+ }\itf@tp},%
+}
+\def\itf@BKM@restore{%
+ \pgfkeysifdefined{/itf/bookmark/@save/grouplevel}
+ {\pgfkeysalso{/itf/bookmark/@restore}}
+ {}%
+}% \itf@BKM@restore
+%% Plug the BKM keys in the interfaces pgfkeys (not efficient but quickly written...)
+\define@key{BKM}{disable}[true]{\itf@pgfkeys\pgfkeysalso{/itf/bookmark/disable={#1}}}
+\define@key{BKM}{disable*}[true]{\itf@pgfkeys\pgfkeysalso{/itf/bookmark/disable*={#1}}}
+\define@key{BKM}{bold*}[true]{\itf@pgfkeys\pgfkeysalso{/itf/bookmark/bold*={#1}}}
+\define@key{BKM}{italic*}[true]{\itf@pgfkeys\pgfkeysalso{/itf/bookmark/italic*={#1}}}
+\define@key{BKM}{color*}[]{\itf@pgfkeys\pgfkeysalso{/itf/bookmark/color*={#1}}}
+\define@key{BKM}{atend}[true]{\itf@pgfkeys\pgfkeysalso{/itf/bookmark/atend={#1}}}%
+\def\itf@BKM@write#1{%
+ \aftergroup\itf@BKM@restore
+ \ifcase\itf@BKM@enable
+ \global\let\itf@BKM@enable\@ne
+ \or
+ \immediate\write\@mainaux{#1}%
+ \else
+ \ifcase -\itf@BKM@enable % (case -0 = 0 tested before)
+ \or % (case -1 = enable but At End)
+ \let\itf@BKM@enable\@ne
+ \edef\itf@tp{\immediate\write\@mainaux{#1}}%
+ \expandafter\BookmarkAtEnd\expandafter{\itf@tp}%
+ \fi
+ \fi
+}% \itf@BKM@write
+%% pageref= key for \bookmark (using refcount : \getpagerefnumber)
+\def\itf@BKM@pageref[#1]{%
+ \expandafter\itf@BKM@@pageref
+ \csname r@#1\endcsname{#1}%
+}% \itf@BKM@pageref
+\def\itf@BKM@@pageref#1#2{%
+ \ifx#1\relax
+ \protect\G@refundefinedtrue
+ \@latex@warning{%
+ Hyper reference `#2' on page \thepage \space undefined
+ \MessageBreak for bookmark destination page
+ }%
+ \fi
+ \edef\BKM@page{\getrefbykeydefault{#2}{page}{1}}%
+}% \itf@BKM@@pageref
+\define@key{BKM}{pageref}{%
+ \Hy@babelnormalise\itf@BKM@pageref[{#1}]}
+%% ref= key for \bookmark
+\def\itf@BKM@ref[#1]{%
+ \expandafter\itf@BKM@@ref
+ \csname r@#1\endcsname{#1}%
+}% \itf@BKM@ref
+\def\itf@BKM@@ref#1#2{%
+ \ifx#1\relax
+ \protect\G@refundefinedtrue
+ \@latex@warning{%
+ Hyper reference `#2' on page \thepage \space undefined
+ \MessageBreak for bookmark destination
+ }%
+ \def\BKM@dest{??}%
+ \else
+ \edef\BKM@dest{\expandafter\@fourthoffive#1\@empty\@empty}%
+ \fi
+}% \BKM@@ref
+\define@key{BKM}{ref}{%
+ \Hy@babelnormalise\itf@BKM@ref[{#1}]}
+\endinput
+%%
+%% End of file `interfaces-bookmark.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-embedfile.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-embedfile.sty
new file mode 100644
index 00000000000..d0cb1b4fd57
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-embedfile.sty
@@ -0,0 +1,79 @@
+%%
+%% This is file `interfaces-embedfile.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `embedfile')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-embedfile}
+ [2010/06/20 v1.0 easy macros to embed files into pdf (FC)]
+\RequirePackage{interfaces-base}
+\itf@Check@Package{embedfile}
+\newrobustcmd*\embedthisfile{\@ifstar
+ \embedthisfile@main
+ \embedthisfile@all
+}% \embedthisfile
+\@onlypreamble\embedthisfile
+\def\embedthisfile@main{\embedfile{\jobname.tex}}
+\def\embedthisfile@all{%
+ \embedthisfile@main
+ \AfterPreamble{%
+ \ltx@ifundefined{@listfiles}
+ {\let\@listfiles\@empty}% to avoid: \global\let\@fileslist\relax in \document
+ {}%
+ }%
+ \gpreto\@enddocumenthook{%
+ \let\do\itf@EmbedOne
+ \expandafter\docsvlist\expandafter{\@filelist}%
+ }%
+}% \embedthisfile@all
+\def\itf@EmbedOne#1{\itf@Embed@ne#1.tex\@nil}
+\def\itf@Embed@ne#1.tex#2\@nil{%
+ \ltx@ifundefined{cp@#1}
+ {}
+ {\ifblank{#2}
+ {}
+ {\embedfile{#1.tex}}}%
+}% \itf@Embed@ne
+\endinput
+%%
+%% End of file `interfaces-embedfile.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-enumitem.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-enumitem.sty
new file mode 100644
index 00000000000..8798071958d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-enumitem.sty
@@ -0,0 +1,89 @@
+%%
+%% This is file `interfaces-enumitem.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `enumitem')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-enumitem}
+ [2010/10/12 v1.0 more control on lists (FC)]
+\RequirePackage{interfaces-base}
+\itf@Check@Package{enumitem}
+\itf@pgfkeys
+\providerobustcmd*\interitem{%
+ \item[]\hskip-\leftmargin
+}% \interitem
+\renewrobustcmd*\setlist{\begingroup \@ifstar
+ {\let\do\csgappto \itf@setlist}
+ {\let\do\csgdef \itf@setlist}%
+}% \setlist
+\newrobustcmd*\itf@setlist[2][0]{%
+ \let\enit@a\@empty
+ \let\enit@b\@empty
+ \@for\x:=#1\do{%
+ \ifx\x\@empty\else
+ \itf@number\count@\x\relax\@nnil
+ {\edef\enit@b{\enit@b,\the\count@}}
+ {\edef\enit@a{\enit@a,\x}}%
+ \fi}%
+ \ifx\enit@a\@empty\def\enit@a{list}\fi
+ \ifx\enit@b\@empty\def\enit@b{0}\fi
+ \@for\a:=\enit@a\do{%
+ \ifx\a\@empty\else
+ \@for\b:=\enit@b\do{%
+ \ifx\b\@empty\else
+ \ifcsundef{end\a}
+ {\expandafter\itf@setlist@error\expandafter{\a}}
+ {\do{enit@@\a\romannumeral\b}{#2}}%
+ \fi}%
+ \fi}
+ \endgroup
+}% \itf@setlist
+\def\itf@setlist@error#1{%
+ \PackageError{interfaces-enumitem}
+ {Environment `#1` is undefined
+ \MessageBreak Use \string\newlist\space before \string\setlist
+ \MessageBreak Your command will be ignored}\@eha
+}% \itf@setlist@error
+\endinput
+%%
+%% End of file `interfaces-enumitem.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-environ.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-environ.sty
new file mode 100644
index 00000000000..8eb9e632eb6
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-environ.sty
@@ -0,0 +1,57 @@
+%%
+%% This is file `interfaces-environ.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `environ')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-environ}
+ [2010/07/23 v1.0 ReNewEnviron = RenewEnviron (FC)]
+\RequirePackage{interfaces-base}
+\AfterPackage{environ}{
+ \ifundef\ReNewEnviron
+ {\let\ReNewEnviron\RenewEnviron}
+ {}%
+}%
+\endinput
+%%
+%% End of file `interfaces-environ.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-etoolbox.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-etoolbox.sty
new file mode 100644
index 00000000000..d2dd0a3e3e1
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-etoolbox.sty
@@ -0,0 +1,126 @@
+%%
+%% This is file `interfaces-etoolbox.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `etoolbox')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-etoolbox}
+ [2010/06/10 some more etoolbox-like commands (FC)]
+\RequirePackage{interfaces-base}
+\begingroup\catcode`\&=3
+ \long\gdef\etb@doitem#1&{\do{#1}}
+\endgroup
+\providerobustcmd\preappto[3]{%
+ \edef#1{\unexpanded{#2}\ifdefined#1\expandonce#1\fi\unexpanded{#3}}%
+}% \preappto
+\providerobustcmd\epreappto[3]{%
+ \edef#1{#2\ifdefined#1\expandonce#1\fi#3}%
+}% \epreappto
+\providerobustcmd*\gpreappto{\global\preappto}
+\providerobustcmd*\xpreappto{\global\epreappto}
+\providerobustcmd*\cspreappto[1]{%
+ \csname itf@\ifcsname#1\endcsname
+ preappto\else defpreapp\fi\expandafter\endcsname
+ \csname#1\endcsname
+}% \cspreappto
+\long\def\itf@preappto#1#2#3{\edef#1{#2\expandonce#1#3}}
+\long\def\itf@defpreapp#1#2#3{\edef#1{#2#3}}
+\providerobustcmd*\csepreappto[1]{%
+ \csname itf@\ifcsname#1\endcsname
+ preappto\else defpreapp\fi\expandafter\endcsname
+ \csname#1\endcsname
+}% \csepreappto
+\providerobustcmd*\csgpreappto{\global\cspreappto}
+\providerobustcmd*\csxpreappto{\global\csepreappto}
+%%----------------------------------------------------------------------------
+\providerobustcmd\removefrom[2]{\in@false
+ \long\def\itf@tp##1\itf@tp{%
+ \in@true
+ \edef#1{\unexpanded{##1}}%
+ }\expandafter\itf@removefrom\expandafter{#1}{#2}%
+}% \removefrom
+\providerobustcmd\eremovefrom[2]{\begingroup
+ \edef\x{\endgroup\removefrom\noexpand#1{#2}%
+ }\x
+}% \eremovefrom
+\providerobustcmd\gremovefrom[2]{%
+ \removefrom{#1}{#2}%
+ \global\let#1=#1%
+}% \gremovefrom
+\providerobustcmd\xremovefrom[2]{%
+ \eremovefrom{#1}{#2}%
+ \global\let#1=#1%
+}% \xremovefrom
+\long\def\itf@removefrom#1#2{% removes #2 (code) from #1 (hook)
+ \def\in@@##1#2##2\in@@{\itf@tp##1##2\in@@@}%
+ \def\in@@@##1\in@@@##2\in@@@{%
+ \ifx\in@##2\else##1\fi
+ }\expandafter\in@@@\in@@#1\itf@tp\in@@@#2\in@\in@@
+}% \itf@removefrom
+\newrobustcmd*\removefromstart[2]{\in@false
+ \def\itf@tp##1\itf@tp{%
+ \in@true
+ \edef#1{\unexpanded{##1}}%
+ }\expandafter\itf@removefromstart\expandafter{#1}{#2}%
+}% \removefromstart
+\providerobustcmd*\eremovefromstart[2]{\begingroup
+ \edef\x{\endgroup\removefromstart\noexpand#1{#2}%
+ }\x
+}% \eremovefromstart
+\providerobustcmd*\gremovefromstart[2]{%
+ \removefromstart{#1}{#2}%
+ \global\let#1=#1%
+}% \gremovefromstart
+\providerobustcmd*\xremovefromstart[2]{%
+ \eremovefromstart{#1}{#2}%
+ \global\let#1=#1%
+}% \xremovefromstart
+\def\itf@removefromstart#1#2{% removes #2 (code) from #1 (hook)
+ \def\in@@##1#2##2\in@@{##1\in@\itf@tp##2\in@@@}%
+ \def\in@@@##1\in@@@##2\in@@@{%
+ \ifx\in@##1\fi
+ }\expandafter\in@@@\in@@#1\itf@tp\in@@@#2\in@@
+}% \itf@remove@fromstart
+\endinput
+%%
+%% End of file `interfaces-etoolbox.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-fancyhdr.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-fancyhdr.sty
new file mode 100644
index 00000000000..081b65e52a2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-fancyhdr.sty
@@ -0,0 +1,313 @@
+%%
+%% This is file `interfaces-fancyhdr.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `fancyhdr')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-fancyhdr}
+ [2010/07/22 v1.0 pgfkeys macros for fancyhdr (FC)]
+\RequirePackage{interfaces-base}
+\itf@Check@Package{fancyhdr}
+\itf@pgfkeys
+\robustify\fancyhf
+\robustify\fancyhfoffset
+\newrobustcmd*\pagesetup{%
+ \let\fancy@gbl\relax % Just in case...
+ \@ifstar
+ {\itf@pagesetup{}}
+ {\itf@pagesetup{reset,}}%
+}% \pagesetup
+\def\itf@pagesetup#1{\@testopt
+ {\itf@p@gesetup{#1}}{}%
+}% \itf@pagesetup
+\def\itf@p@gesetup#1[#2]#3{\ifblank{#2}
+ {% modifies the current page style
+ \itf@pgfkeys\pgfqkeys{/itf/fancyhdr}{#1#3}\relax\ps@@fancy}%
+ {% defines or modifies a given page style
+ \ifblank{#1}
+ \csappto% star form: keep existing value (if not overwritten)
+ \csdef% no star form: overwrite (+ reset at \pagestyle time)
+ {ps@#2}{\itf@pgfkeys\pgfqkeys{/itf/fancyhdr}{#1#3}\relax\ps@@fancy}%
+ }%
+}% \itf@p@gesetup
+\pgfqkeys{/itf/pagesetup}{%
+ @current/.is private=interfaces-fancyhdr,%
+ @style/.is private=interfaces-fancyhdr,%
+}
+\renewrobustcmd*\pagestyle[1]{\ifcsundef{ps@#1}
+ {\itf@undefinedpagestyle{#1}}
+ {\csname ps@#1\endcsname}%
+}% \pagestyle
+\renewrobustcmd*\thispagestyle[1]{\ifcsundef{ps@#1}
+ {\itf@undefinedpagestyle{#1}}
+ {\global\@specialpagetrue\gdef\@specialstyle{#1}}%
+}% \thispagestyle
+\newcommand*\itf@undefinedpagestyle[1]{%
+ \@latex@error{Undefined page style: #1
+ \MessageBreak your command will be ignored}\@eha
+}% \itf@undefinedpagestyle
+\pgfkeys{%
+ /handlers/.fancy@hf/.code=%
+ \pgfkeysalso{\pgfkeyscurrentpath/.store as code=}%
+ \csedef{f@ncy#1}{%
+ \noexpand\pgfkeysvalueof{\pgfkeyscurrentpath/font}
+ \noexpand\pgfkeysvalueof{\pgfkeyscurrentpath}\strut},%
+}% handler for fancyhdr interface
+\pgfqkeys{/itf/fancyhdr}{% keys for \pagesetup
+ code/.code={#1},% execution at expansion of \ps@... => \pgfqkeys{...,code={...},...}
+ pagestyle/.style={code=\pagestyle{#1}},%
+ page style/.alias=pagestyle,%
+ load style/.alias=pagestyle,%
+ head/rule/.store as dimen in cs=headrulewidth,%
+ head/rule/.default=.4pt,%
+ head/rule/.blank=\z@,%
+ head/rulewidth/.alias*=head/rule,%
+ headrulewidth/.alias*=head/rule,%
+ head/rule/width/.alias*=head/rule,%
+ head/rule/font/.store as code,%
+ head/rule/color/.style={head/rule/font+=\color{#1}},%
+ headruler/.code=%
+ \let\headrule\pgfkeyscurrentvalue
+ \ifx\headrule\@empty\else
+ \preto\headrule{\bgroup\pgfkeysvalueof{/itf/fancyhdr/head/rule/font}}%
+ \appto\headrule{\egroup}%
+ \fi,%
+ headruler/.default=%
+ \if@fancyplain\let\headrulewidth\plainheadrulewidth\fi
+ \hrule\@height\headrulewidth \@width\headwidth
+ \vskip-\headrulewidth\relax,%
+ headrule/.alias=headruler,%
+ headrule,% sets default
+ foot/rule/.store as dimen in cs=footrulewidth,%
+ foot/rule/.default=.4pt,%
+ foot/rule/.blank=\z@,%
+ foot/rulewidth/.alias*=foot/rule,%
+ footrulewidth/.alias*=foot/rule,%
+ foot/rule/width/.alias*=foot/rule,%
+ foot/rule/font/.store as code,%
+ foot/rule/color/.style={foot/rule/font+=\color{#1}},%
+ footruler/.code=%
+ \let\footrule\pgfkeyscurrentvalue
+ \ifx\footrule\@empty\else
+ \preto\footrule{\bgroup\pgfkeysvalueof{/itf/fancyhdr/head/rule/font}}%
+ \appto\footrule{\egroup}
+ \fi,%
+ footruler/.default=%
+ \if@fancyplain\let\footrulewidth\plainfootrulewidth\fi
+ \vskip-2\footrulewidth
+ \hrule\@height\footrulewidth \@width\headwidth\vskip\footrulewidth,%
+ footrule/.alias=footruler,%
+ footrule,% sets default
+ rule/.style={head/rule={#1},foot/rule={#1}},%
+ rule+/.style={head/rule+={#1},foot/rule+={#1}},%
+ rule-/.style={head/rule-={#1},foot/rule-={#1}},%
+ rule*/.style={head/rule*={#1},foot/rule*={#1}},%
+ rules/.alias*=rule,rulewidth/.alias*=rule,%
+ rule/width/.alias*=rule,rules/width/.alias*=rule,%
+ norule/.style={rule=\z@},%
+ norule/.value forbidden,%
+ norules/.alias=norule,%
+ rule/font/.style={head/rule/font={#1},foot/rule/font={#1}},%
+ rule/font+/.style={head/rule/font+={#1},foot/rule/font+={#1}},%
+ rule/font*/.alias=rule/font+,%
+ rule/color/.style={head/rule/color={#1},foot/rule/color={#1}},%
+ foot/rule/skip/.store as glue in cs=footruleskip,%
+ foot/rule/skip/.default=.3\normalbaselineskip,%
+ foot/rule/skip/.blank=\z@,%
+ foot/ruleskip/.alias*=foot/rule/skip,% => puis les alias&style: /.alias 2 args=/foot/rule/skip{/subkey1,/subkey2,/sub/key3,/sub/key4,...}
+ footruleskip/.alias*=foot/rule/skip,% crée aussi les alias pour les sous clés
+ font/.style={head/font={#1},foot/font={#1}},%
+ head/.style={head/left={#1},head/center={#1},head/right={#1}},%
+ head/font/.style={head/left/font={#1},head/center/font={#1},head/right/font={#1}},%
+ head/font+/.style={head/left/font+={#1},head/center/font+={#1},head/right/font+={#1}},%
+ nohead/.style={head=,head/font=,head/rule=},
+ foot/.style={foot/left={#1},foot/center={#1},foot/right={#1}},%
+ foot/font/.style={foot/left/font={#1},foot/center/font={#1},foot/right/font={#1}},%
+ foot/font+/.style={foot/left/font+={#1},foot/center/font+={#1},foot/right/font+={#1}},%
+ nofoot/.style={foot=,foot/font=,foot/rule=},
+ left/.style={head/left={#1},foot/left={#1}},%
+ left/font/.style={head/left/font={#1},foot/left/font={#1}},%
+ left/font+/.style={head/left/font+={#1},foot/left/font+={#1}},%
+ center/.style={head/center={#1},foot/center={#1}},%
+ center/font/.style={head/center/font={#1},foot/center/font={#1}},%
+ center/font+/.style={head/center/font+={#1},foot/center/font+={#1}},%
+ right/.style={head/right={#1},foot/right={#1}},%
+ right/font/.style={head/right/font={#1},foot/right/font={#1}},%
+ right/font+/.style={head/right/font+={#1},foot/right/font+={#1}},%
+ head/left/.style={head/left/even={#1},head/left/odd={#1}},%
+ head/left/font/.style={head/left/even/font={#1},head/left/odd/font={#1}},%
+ head/left/font+/.style={head/left/even/font+={#1},head/left/odd/font+={#1}},%
+ head/center/.style={head/center/even={#1},head/center/odd={#1}},%
+ head/center/font/.style={head/center/even/font={#1},head/center/odd/font={#1}},%
+ head/center/font+/.style={head/center/even/font+={#1},head/center/odd/font+={#1}},%
+ head/right/.style={head/right/even={#1},head/right/odd={#1}},%
+ head/right/font/.style={head/right/even/font={#1},head/right/odd/font={#1}},%
+ head/right/font+/.style={head/right/even/font+={#1},head/right/odd/font+={#1}},%
+ foot/left/.style={foot/left/even={#1},foot/left/odd={#1}},%
+ foot/left/font/.style={foot/left/even/font={#1},foot/left/odd/font={#1}},%
+ foot/left/font+/.style={foot/left/even/font+={#1},foot/left/odd/font+={#1}},%
+ foot/center/.style={foot/center/even={#1},foot/center/odd={#1}},%
+ foot/center/font/.style={foot/center/even/font={#1},foot/center/odd/font={#1}},%
+ foot/center/font+/.style={foot/center/even/font+={#1},foot/center/odd/font+={#1}},%
+ foot/right/.style={foot/right/even={#1},foot/right/odd={#1}},%
+ foot/right/font/.style={foot/right/even/font={#1},foot/right/odd/font={#1}},%
+ foot/right/font+/.style={foot/right/even/font+={#1},foot/right/odd/font+={#1}},%
+ head/left/odd/.fancy@hf=olh,%
+ head/left/odd/font/.store as code=+,%
+ odd/head/left/.alias=head/left/odd,%
+ odd/head/left/font/.alias*=head/left/odd/font,%
+ head/odd/left/.alias=head/left/odd,%
+ head/odd/left/font/.alias*=head/left/odd/font,%
+ head/center/odd/.fancy@hf=och,%
+ head/center/odd/font/.store as code=+,%
+ odd/head/center/.alias=head/center/odd,%
+ odd/head/center/font/.alias*=head/center/odd/font,%
+ head/odd/center/.alias=head/center/odd,%
+ head/odd/center/font/.alias*=head/center/odd/font,%
+ head/right/odd/.fancy@hf=orh,%
+ head/right/odd/font/.store as code=+,%
+ odd/head/right/.alias=head/right/odd,%
+ odd/head/right/font/.alias*=head/right/odd/font,%
+ head/odd/right/.alias=head/right/odd,%
+ head/odd/right/font/.alias*=head/right/odd/font,%
+ head/left/even/.fancy@hf=elh,%
+ head/left/even/font/.store as code=+,%
+ even/head/left/.alias=head/left/even,%
+ even/head/left/font/.alias*=head/left/even/font,%
+ head/even/left/.alias=head/left/even,%
+ head/even/left/font/.alias*=head/left/even/font,%
+ head/center/even/.fancy@hf=ech,%
+ head/center/even/font/.store as code=+,%
+ even/head/center/.alias=head/center/even,%
+ even/head/center/font/.alias*=head/center/even/font,%
+ head/even/center/.alias=head/center/even,%
+ head/even/center/font/.alias*=head/center/even/font,%
+ head/right/even/.fancy@hf=erh,%
+ head/right/even/font/.store as code=+,%
+ even/head/right/.alias=head/right/even,%
+ even/head/right/font/.alias*=head/right/even/font,%
+ head/even/right/.alias=head/right/even,%
+ even/head/right/font/.alias*=head/right/even/font,%
+ foot/left/odd/.fancy@hf=olf,%
+ foot/left/odd/font/.store as code=+,%
+ odd/foot/left/.alias=foot/left/odd,%
+ odd/foot/left/font/.alias*=foot/left/odd/font,%
+ foot/odd/left/.alias=foot/left/odd,%
+ foot/odd/left/font/.alias*=foot/left/odd/font,%
+ foot/center/odd/.fancy@hf=ocf,%
+ foot/center/odd/font/.store as code=+,%
+ odd/foot/center/.alias=foot/center/odd,%
+ odd/foot/center/font/.alias*=foot/center/odd/font,%
+ foot/odd/center/.alias=foot/center/odd,%
+ foot/odd/center/font/.alias*=foot/center/odd/font,%
+ foot/right/odd/.fancy@hf=orf,%
+ foot/right/odd/font/.store as code=+,%
+ odd/foot/right/.alias=foot/right/odd,%
+ odd/foot/right/font/.alias*=foot/right/odd/font,%
+ odd/foot/right/.alias=foot/right/odd,%
+ odd/foot/right/font/.alias*=foot/right/odd/font,%
+ foot/left/even/.fancy@hf=elf,%
+ foot/left/even/font/.store as code=+,%
+ even/foot/left/.alias=foot/left/even,%
+ even/foot/left/font/.alias*=foot/left/even/font,%
+ foot/even/left/.alias=foot/left/even,%
+ foot/even/left/font/.alias*=foot/left/even/font,%
+ foot/center/even/.fancy@hf=ecf,%
+ foot/center/even/font/.store as code=+,%
+ even/foot/center/.alias=foot/center/even,%
+ even/foot/center/font/.alias*=foot/center/even/font,%
+ foot/even/center/.alias=foot/center/even,%
+ foot/even/center/font/.alias*=foot/center/even/font,%
+ foot/right/even/.fancy@hf=erf,%
+ foot/right/even/font/.store as code=+,%
+ even/foot/right/.alias=foot/right/even,%
+ even/foot/right/font/.alias*=foot/right/even/font,%
+ foot/even/right/.alias=foot/right/even,%
+ foot/even/right/font/.alias*=foot/right/even/font,%
+ offset/.style={head/offset={#1},foot/offset={#1}},%
+ head/offset/.style={head/left/offset={#1},head/right/offset={#1}},%
+ offset/head/.alias=head/offset,%
+ foot/offset/.style={foot/left/offset={#1},foot/right/offset={#1}},%
+ offset/foot/.alias=foot/offset,%
+ head/left/offset/.style={head/left/even/offset={#1},head/left/odd/offset={#1}},%
+ offset/head/left/.alias=head/left/offset,%
+ head/right/offset/.style={head/right/even/offset={#1},head/right/odd/offset={#1}},%
+ offset/head/right/.alias=head/right/offset,%
+ foot/left/offset/.style={foot/left/even/offset={#1},foot/left/odd/offset={#1}},%
+ offset/foot/left/.alias=foot/left/offset,%
+ foot/right/offset/.style={foot/right/even/offset={#1},foot/right/odd/offset={#1}},%
+ offset/foot/right/.alias=foot/right/offset,%
+ head/left/even/offset/.store in skip cs=f@ncyO@elh,%
+ offset/head/left/even/.alias=head/left/even/offset,%
+ head/left/odd/offset/.store in skip cs=f@ncyO@olh,%
+ offset/head/left/odd/.alias=head/left/odd/offset,%
+ head/right/even/offset/.store in skip cs=f@ncyO@erh,%
+ offset/head/right/even/.alias=head/right/even/offset,%
+ head/right/odd/offset/.store in skip cs=f@ncyO@orh,%
+ offset/head/right/odd/.alias=head/right/odd/offset,%
+ foot/left/even/offset/.store in skip cs=f@ncyO@elf,%
+ offset/foot/left/even/.alias=foot/left/even/offset,%
+ foot/left/odd/offset/.store in skip cs=f@ncyO@olf,%
+ offset/foot/left/odd/.alias=foot/left/odd/offset,%
+ foot/right/even/offset/.store in skip cs=f@ncyO@erf,%
+ offset/foot/right/even/.alias=foot/right/even/offset,%
+ foot/right/odd/offset/.store in skip cs=f@ncyO@orf,%
+ offset/foot/right/odd/.alias=foot/right/odd/offset,%
+ reset/.style={norule,head=,foot=,offset=\z@,foot/rule/skip,rule/font=,font=},%
+ reset/.value forbidden,%
+}% keys for \pagesetup (stored into token \itf@tk)
+\AtBeginDocument{%
+\ifdim\headwidth<\z@
+%% This catches the case that \headwidth hasn't been initialized and the
+%% case that the user added something to \headwidth in the expectation that
+%% it was initialized to \textwidth. We compensate this now. This loses if
+%% the user intended to multiply it by a factor. But that case is more
+%% likely done by saying something like \headwidth=1.2\textwidth.
+%% The doc says you have to change \headwidth after the first call to
+%% \pagestyle{fancy}. This code is just to catch the most common cases were
+%% that requirement is violated.
+ \global\advance\headwidth123456789sp\global\advance\headwidth\textwidth
+\fi}
+\endinput
+%%
+%% End of file `interfaces-fancyhdr.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-fancyvrb.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-fancyvrb.sty
new file mode 100644
index 00000000000..72d299bb72e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-fancyvrb.sty
@@ -0,0 +1,81 @@
+%%
+%% This is file `interfaces-fancyvrb.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `fancyvrb')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-fancyvrb}
+ [2010/08/22 v1.0 Custom verbatim environments (FC)]
+\RequirePackage{interfaces-base}
+\itf@Check@Package{fancyvrb}
+\itf@pgfkeys
+\def\itf@tp#1{%
+\DefineVerbatimEnvironment{itf:VerbLines}{Verbatim}
+ {gobble=#1,frame=lines,framesep=6pt,fontseries=m}
+\DefineVerbatimEnvironment{itf:Verb}{Verbatim}
+ {gobble=#1,fontseries=m}
+\DefineVerbatimEnvironment{itf:Verb*}{Verbatim}
+ {gobble=#1,fontseries=m,commandchars=$()}
+}
+\ltx@ifpackageloaded{doc}
+ {\itf@tp{1}}
+ {\itf@tp{0}}
+\AtBeginDocument{%
+\ifdefined\VerbLines\else
+\ifdefined\endVerbLines\else
+ \letcs\VerbLines{itf:VerbLines}%
+ \letcs\endVerbLines{enditf:VerbLines}%
+\fi\fi
+\ifdefined\Verb\else\ifdefined\endVerb\else
+ \letcs\Verb{itf:Verb}%
+ \letcs\endVerb{enditf:Verb}%
+\fi\fi
+\ifcsname Verb*\endcsname\else
+\ifcsname endVerb*\endcsname\else
+ \csletcs{Verb*}{itf:Verb*}%
+ \csletcs{endVerb*}{enditf:Verb*}%
+\fi\fi
+}
+\endinput
+%%
+%% End of file `interfaces-fancyvrb.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-hypbmsec.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-hypbmsec.sty
new file mode 100644
index 00000000000..ccb39c77aa3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-hypbmsec.sty
@@ -0,0 +1,56 @@
+%%
+%% This is file `interfaces-hypbmsec.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `hypbmsec')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-hypbmsec}
+ [2010/10/05 v1.0 lastsection etc. (FC)]
+\RequirePackage{interfaces-base}
+\itf@Check@Package{hypbmsec}
+\AfterPackage*{interfaces-titlesec}{% requires interface-titlesec
+ \input{interfaces-hypbmsec.code.tex}%
+}%
+\endinput
+%%
+%% End of file `interfaces-hypbmsec.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-hyperref.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-hyperref.sty
new file mode 100644
index 00000000000..08796098963
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-hyperref.sty
@@ -0,0 +1,71 @@
+%%
+%% This is file `interfaces-hyperref.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `hyperref')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-hyperref}
+ [2010/08/08 v1.0 provides raised hyperdef (FC)]
+\RequirePackage{interfaces-base}
+\itf@Check@Package{hyperref}
+\newrobustcmd\raisedhyperdef[4][]{\begingroup
+ \ifblank{#1}
+ {}
+ {%
+ \expandafter\def\expandafter\HyperRaiseLinkHook\expandafter{%
+ \expandafter\def\expandafter\HyperRaiseLinkHook
+ \expandafter{\HyperRaiseLinkHook}% restore current definition
+ \HyperRaiseLinkHook
+ \advance\noexpand\HyperRaiseLinkLength by\dimexpr#1\relax\relax}%
+ }%
+ \ifx \\#2\\\def \Hy@AnchorName {#3}\else
+ \def \Hy@AnchorName {#2.#3}%
+ \fi
+ \ltx@leavevmode
+ \Hy@raisedlink{\hyper@anchorstart{\Hy@AnchorName}\hyper@anchorend}%
+ \endgroup
+ #4%
+}% \raisedhyperdef
+\endinput
+%%
+%% End of file `interfaces-hyperref.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-makecell.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-makecell.sty
new file mode 100644
index 00000000000..fa20c8f0ac0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-makecell.sty
@@ -0,0 +1,370 @@
+%%
+%% This is file `interfaces-makecell.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `makecell')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-makecell}
+ [2010/10/12 v1.0 more control on tabular cells (FC)]
+\RequirePackage{interfaces-base}
+\itf@Check@Package{makecell}
+\edef\itf@AtEnd{\catcode126 \the\catcode126}% 126 = ~
+\AtEndOfPackage{\itf@AtEnd}
+\catcode126 \active % 126 = ~
+\itf@pgfkeys
+\def\countvalues#1{\number\numexpr
+ \expandafter\itf@countvalues\expandafter0#1,\countvalues\@nnil
+}% \countvalues
+\def\itf@countvalues#1#2,#3\@nnil{%
+ \ifx\countvalues#3%
+ +#1\expandafter\remove@to@nnil
+ \else
+ +1\expandafter\itf@countvalues
+ \fi1#3\@nnil
+}% \itf@countvalues
+\def\itf@getvalue#1#2{%
+ \romannumeral-`\q\expandafter\itf@getv@lue\expandafter0#1,\itf@getvalue\@nil{#2-1}\@nnil
+}% \itf@getvalue
+\def\itf@getv@lue#1#2,#3\@nil#4\@nnil{%
+ \ifnum\numexpr#1=\numexpr#4\relax
+ #2\expandafter\remove@to@nnil
+ \else\ifx\itf@getvalue#3%
+ \expandafter\expandafter\expandafter\remove@to@nnil
+ \else
+ \expandafter\expandafter\expandafter\itf@getv@lue
+ \fi\fi{#1+1}#3\@nil#4\@nnil
+}% \itf@getv@lue
+\newif\ifitf@celltranspose
+\def\itf@ampactive{%
+ \def\tab{&}%
+ \lccode`\~=38\lowercase{\def~{&}}%
+}% \itf@ampactive
+\newrobustcmd*\repeatcell{\begingroup
+ \let\tab\relax
+ \catcode38\active
+ \itf@repeatcell
+}% \repeatcell
+\newrobustcmd*\itf@repeatcell[3][]{%
+ \ifblank{#1}% alignment option ?
+ {\let\itf@makecell\@firstofone}
+ {\def\itf@makecell##1{\noexpand\makecell[{#1}]{##1}}}%
+ \countdef\itf@col=100% local
+ \countdef\itf@row=101% local
+ \countdef\itf@cnt=102% local
+ \toksdef\itf@cell=1% local
+ \itf@pgfkeys
+ \pgfqkeys{/itf/makecell/repeatcell}{@reset={#2},#3}%
+ \toks@{}% local
+ \ifnum\itf@row>\z@ % number
+ \edef\itf@rowloop{\noexpand\@whilenum\itf@row<\the\itf@row}%
+ \def\itf@cell@init{\def\r{\row}\let\R\@empty}%
+ \else % list
+ \def\itf@rowloop{\@for\r:=\itf@rows}%
+ \expandafter\def\expandafter\itf@cell@init\expandafter{%
+ \expandafter\def\expandafter\R\expandafter{%
+ \expandafter\itf@getvalue\expandafter{\expandafter\@empty\itf@rows}}}%
+ \fi
+ \ifnum\itf@col>\z@ % number
+ \edef\itf@colloop{\noexpand\@whilenum\itf@col<\the\itf@col}%
+ \expandafter\def\expandafter\itf@cell@init\expandafter{%
+ \itf@cell@init\def\c{\column}\let\C\@empty}%
+ \else % list
+ \def\itf@colloop{\@for\c:=\itf@cols}%
+ \expandafter\expandafter\expandafter\def
+ \expandafter\expandafter\expandafter\itf@cell@init
+ \expandafter\expandafter\expandafter{%
+ \expandafter\itf@cell@init
+ \expandafter\def\expandafter\C\expandafter{%
+ \expandafter\itf@getvalue\expandafter{\expandafter\@empty\itf@cols}}}%
+ \fi
+ \itf@cell@init % in case they are used in formulas
+ \ifitf@celltranspose
+ \itf@col\z@
+ \itf@colloop\do{%
+ \ifnum\itf@col>\z@
+ \pgfkeysifdefined{/itf/makecell/repeatcell/cr/row\the\itf@col}%
+ {\pgfkeysgetvalue{/itf/makecell/repeatcell/cr/row\the\itf@col}\itf@thecr}
+ {\pgfkeysgetvalue{/itf/makecell/repeatcell/cr}\itf@thecr}%
+ \toks@\expandafter\expandafter\expandafter{%
+ \expandafter\the\expandafter\toks@\itf@thecr}%
+ \fi
+ \advance\itf@col\@ne
+ \itf@row\z@
+ \itf@rowloop\do{%
+ \advance\itf@row\@ne
+ \ifnum\itf@row>\@ne
+ \toks@\expandafter{\the\toks@&}%
+ \fi
+ \toks@\expandafter\expandafter\expandafter{%
+ \expandafter\the\expandafter\toks@
+ \itf@cell@init\itf@ampactive}%
+ \itf@cell@insert}%
+ }%
+ \else
+ \itf@row\z@
+ \itf@rowloop\do{%
+ \ifnum\itf@row>\z@
+ \pgfkeysifdefined{/itf/makecell/repeatcell/cr/row\the\itf@row}%
+ {\pgfkeysgetvalue{/itf/makecell/repeatcell/cr/row\the\itf@row}\itf@thecr}
+ {\pgfkeysgetvalue{/itf/makecell/repeatcell/cr}\itf@thecr}%
+ \toks@\expandafter\expandafter\expandafter{%
+ \expandafter\the\expandafter\toks@\itf@thecr}%
+ \fi
+ \advance\itf@row\@ne
+ \itf@col\z@
+ \itf@colloop\do{%
+ \advance\itf@col\@ne
+ \ifnum\itf@col>\@ne
+ \toks@\expandafter{\the\toks@&}%
+ \fi
+ \toks@\expandafter\expandafter\expandafter{%
+ \expandafter\the\expandafter\toks@
+ \itf@cell@init\itf@ampactive}%
+ \itf@cell@insert}%
+ }%
+ \fi
+ \itf@message{Code introduced by repeatcell in the \@currenvir:\the\toks@}% (to see the code...)
+ \expandafter\endgroup\the\toks@
+ \ignorespaces
+}% \itf@repeatcell
+\let\itf@message\@gobble
+\def\itf@cell@rowcolkey{%
+ \removefromstart\pgfkeyscurrentname{row}%
+ \ifin@\else
+ \removefromstart\pgfkeyscurrentname{col}%
+ \fi
+ \ifin@
+ \itf@number\itf@cnt\pgfkeyscurrentname\relax\@nnil
+ {\pgfkeyslet\pgfkeyscurrentkey\pgfkeyscurrentvalue}
+ \in@false
+ \fi
+ \ifin@\else
+ \pgfkeysvalueof{/errors/unknown key/.@cmd}\pgfkeyscurrentkey
+ \pgfkeyscurrentvalue
+ \pgfeov
+ \fi
+}% \itf@cell@rowcolkey
+\pgfqkeys{/itf/makecell/repeatcell}{%
+ font/.store in=\itf@cellfont,%
+ font/.unknown/.code=\itf@cell@rowcolkey,%
+ text/.store in=\itf@celltext,%
+ text/.default=\ifdefined\C\C\column\fi,%
+ text/.unknown/.code=\itf@cell@rowcolkey,%
+ cr/.initial=\\,%
+ cr/.default=\crcr,cr/.blank=\\,end/.alias=cr,%
+ cr/.unknown/.code=\itf@cell@rowcolkey,%
+ rows/.code=\itf@number\itf@row#1\relax\@nnil
+ {\ifnum\itf@row<\z@\itf@row\@ne\fi}
+ {\itf@row\z@
+ \def\itf@rows{#1}\itf@expandonceifcs\itf@rows},%
+ rows/.default=1,rows/.blank=1,%
+ @cols/.is private=interfaces-makecell,%
+ column/.is private=interfaces-makecell,%
+ row/.is private=interfaces-makecell,%
+ transpose/.is if=itf@celltranspose,%
+ .unknown/.code=%
+ \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text \itf@cell@formulaerror{}\z@ \fi
+ \ifx\pgfkeyscurrentvalue\@empty \itf@cell@formulaerror{}\@ne \fi
+ \pgfkeysifdefined{\pgfkeyscurrentkey/@calc}%
+ {\itf@cell@formulaerror{}\tw@}
+ {\pgfkeyslet{\pgfkeyscurrentkey/@calc}\relax}%
+ \itf@cell@getformula{#1}%
+ \pgfkeysEaddvalue{/itf/makecell/repeatcell/@calc}{}
+ {\the\toks@\expandafter\noexpand\csname\pgfkeyscurrentname\endcsname}%
+ \expandafter\let\csname\pgfkeyscurrentname\endcsname\@undefined,% (order of evaluation => "undefined cs")
+ @reset/.code=% #1 are the columns
+ \itf@celltransposefalse
+ \let\itf@celltext\@empty
+ \let\itf@cellfont\@empty
+ \pgfkeyssetvalue{/itf/makecell/repeatcell/cr}{\\}%
+ \itf@row\@ne
+ \pgfkeyssetvalue{/itf/makecell/repeatcell/@calc}{%
+ \itf@cell@numcalc\itf@col\column
+ \itf@cell@numcalc\itf@row\row}%
+ \itf@number\itf@col#1\relax\@nnil
+ {\ifnum\itf@col<\z@\itf@col\@ne\fi}
+ {\itf@col\z@
+ \def\itf@cols{#1}\itf@expandonceifcs\itf@cols},%
+}% keys for \repeatcell
+\def\itf@cell@getformula#1{%
+ \itf@cell@getf@rmula #1$$$\itf@cell@getformula$\relax\@nnil
+ \expandafter\ifx\expandafter\toks@\the\toks@
+ \itf@cell@formulaerror{#1}\thr@@
+ \fi
+}% \itf@cell@getformula
+\def\itf@cell@getf@rmula #1$#2$#3$#4#5$#6{%
+ \toks@{\toks@}%
+ \ifx\itf@cell@getformula #4%
+ \toks@{\itf@cell@numcalc{#1}}%
+ \else\ifx $#4%
+ \ifx\itf@cell@getformula #6%
+ \ifdefined\pgfmathparse\else\itf@cell@formulaerror{#2}4\fi
+ \toks@{\itf@cell@pgfcalc{#2}}%
+ \else\ifx $#6%
+ \ifdefined\FPeval\else\itf@cell@formulaerror{#3}5\fi
+ \toks@{\itf@cell@FPcalc{#3}}%
+ \fi\fi
+ \fi\fi\remove@to@nnil
+}% \itf@cell@getf@rmula
+\def\itf@cell@formulaerror#1#2{%
+ \def\itf@tp{#1}\@onelevel@sanitize\itf@tp
+ \ifcase#2% 0
+ \PackageError{interfaces-makecell}
+ {Missing formula for key \pgfkeyscurrentname!}\@ehd
+ \or %1
+ \PackageError{interfaces-makecell}
+ {Computed key \pgfkeyscurrentname\space wes left blank!}\@ehd
+ \or %2
+ \PackageError{interfaces-makecell}
+ {Duplicate definition for computed key \pgfkeyscurrentname
+ \MessageBreak\string\repeatcell\space will redefine the key}\@eha
+ \or %3
+ \PackageError{interfaces-makecell}
+ {Incorrect formula in \string\repeatcell
+ \MessageBreak Check: \itf@tp
+ \MessageBreak Take care of commas and equal signs...}\@ehd
+ \or %4
+ \PackageError{interfaces-makecell}
+ {Formula: \itf@tp
+ \MessageBreak requires \string\pgfmathparse:\space\string\usetikz{pgfmath}}\@ehd
+ \or %5
+ \PackageError{interfaces-makecell}
+ {Formula: \itf@tp
+ \MessageBreak requires \string\FPeval:\space\string\usepackage{fp}}\@ehd
+ \else
+ \PackageError{interfaces-makecell}
+ {Impossible value!}\@ehd
+ \fi
+}% \itf@cell@formulaerror
+\protected\def\itf@cell@calc#1#2{%
+ \edef#1{\def\noexpand#1{#2}}%
+ \toks@\expandafter\expandafter\expandafter{%
+ \expandafter\the\expandafter\toks@#1}%
+ #1%
+}% \itf@cell@calc
+\protected\def\itf@cell@numcalc#1#2{%
+ \itf@cell@calc#2{\number\numexpr#1}%
+}% \itf@cell@numcalc
+\protected\def\itf@cell@pgfcalc#1#2{%
+ \pgfmathparse{#1}%
+ \itf@cell@calc#2\pgfmathresult
+}% \itf@cell@pgfcalc
+\protected\def\itf@cell@FPcalc#1#2{%
+ \begingroup
+ \setbox\z@\vbox{%\FPeval introduces some weird code, hence the calculation in a \vbox
+ \FPeval\FPresult{#1}%
+ \global\let\FPresult\FPresult}%
+ \endgroup
+ \itf@cell@calc#2\FPresult
+}% \itf@cell@FPcalc
+\def\itf@cell@getifdefined#1#2{%
+ \pgfkeysifdefined{/itf/makecell/repeatcell/#1}
+ {\pgfkeysgetvalue{/itf/makecell/repeatcell/#1}#2}
+ {\let#2\@empty}%
+}%
+\def\itf@cell@insert{%
+ \pgfkeysvalueof{/itf/makecell/repeatcell/@calc}%
+ \ifx\R\@empty\else
+ \toks@\expandafter\expandafter\expandafter{%
+ \expandafter\the\expandafter\toks@
+ \expandafter\def\expandafter\r\expandafter{\r}}%
+ \fi
+ \ifx\C\@empty\else
+ \toks@\expandafter\expandafter\expandafter{%
+ \expandafter\the\expandafter\toks@
+ \expandafter\def\expandafter\c\expandafter{\c}}%
+ \fi
+ \itf@cell@getifdefined{font/row\the\itf@row}\itf@cellfontrow
+ \itf@cell@getifdefined{font/col\the\itf@col}\itf@cellfontcol
+ \itf@cell@getifdefined{text/row\the\itf@row}\itf@cellrow
+ \itf@cell@getifdefined{text/col\the\itf@col}\itf@cellcol
+ \toks@\expandafter\expandafter\expandafter{%
+ \expandafter\the\expandafter\toks@\itf@cellfont}%
+ \ifx\itf@cellrow\@empty
+ \ifx\itf@cellcol\@empty
+ \itf@cell\expandafter\expandafter\expandafter{%
+ \expandafter\itf@cellfontcol\itf@cellfontrow}%
+ \let\itf@tp\itf@celltext
+ \else
+ \itf@cell\expandafter{\itf@cellfontcol}%
+ \let\itf@tp\itf@cellcol
+ \fi
+ \else
+ \ifx\itf@cellcol\@empty
+ \itf@cell\expandafter{\itf@cellfontrow}%
+ \let\itf@tp\itf@cellrow
+ \else
+ \itf@cell{}%
+ \ifitf@celltranspose
+ \edef\itf@tp{\noexpand\itf@diaghead(-2,1)
+ {\expandonce\itf@cellfontrow\expandonce\itf@cellrow}
+ {\expandonce\itf@cellfontcol\expandonce\itf@cellcol}}%
+ \else
+ \edef\itf@tp{\noexpand\itf@diaghead(-2,1)
+ {\expandonce\itf@cellfontcol\expandonce\itf@cellcol}
+ {\expandonce\itf@cellfontrow\expandonce\itf@cellrow}}%
+ \fi
+ \fi
+ \fi
+ \itf@cell\expandafter\expandafter\expandafter{%
+ \expandafter\the\expandafter\itf@cell\itf@tp}%
+ \edef\itf@tp{\itf@makecell{\the\itf@cell}}%
+ \toks@\expandafter\expandafter\expandafter{%
+ \expandafter\the\expandafter\toks@\itf@tp}%
+}% \itf@cell@insert
+\def\itf@diaghead(#1)#2#3{%
+ \begingroup
+ \edef\itf@tp{%
+ \noexpand\diaghead({#1}){\unexpanded{#2 #3}}%
+ {\unexpanded{#2}}
+ {\unexpanded{#3}}}%
+ \expandafter\endgroup\itf@tp
+}% \itf@diaghead
+\AfterPackage*{colortbl}{%
+\def\CT@cellc#1[#2]#3{% #1 is either \@firstofone or \@gobble, [#2]#3 = color spec
+ \xdef\CT@cell@color{\noexpand\CT@color#1{[{#2}]}{#3}%
+ \global\let\noexpand\CT@cell@color\relax}%
+}}
+\endinput
+%%
+%% End of file `interfaces-makecell.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-marks.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-marks.sty
new file mode 100644
index 00000000000..084238ee61e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-marks.sty
@@ -0,0 +1,112 @@
+%%
+%% This is file `interfaces-marks.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `marks')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-marks}
+ [2010/10/12 v1.0 easier use of e-TeX marks (FC)]
+\RequirePackage{interfaces-base}
+\newrobustcmd\marksthe[2]{%
+ \ifcsname marks@#1\endcsname\else
+ \itf@marks@new{#1}%
+ \fi
+ \expandafter\marks\csname marks@#1\endcsname{\unexpanded{#2}}%
+}% \marksthe
+\newrobustcmd*\marksthecs[2]{%
+ \ifcsname marks@#1\endcsname\else
+ \itf@marks@new{#1}%
+ \fi
+ \expandafter\marks\csname marks@#1\endcsname{%
+ \unexpanded\expandafter\expandafter\expandafter{%
+ \csname#2\endcsname}}%
+}% \marksthecs
+\def\itf@marks@new#1{%
+ \expandafter\newmarks\csname marks@#1\endcsname
+ \PackageInfo{interfaces-marks}
+ {New marks `#1' defined}
+}% \itf@marks@warning
+\newcommand*\thefirstmarks[1]{%
+ \ifcsname marks@#1\endcsname
+ \expandafter\firstmarks\csname marks@#1\endcsname
+ \fi
+}% \thefirstmarks
+\newcommand*\thebotmarks[1]{%
+ \ifcsname marks@#1\endcsname
+ \expandafter\botmarks\csname marks@#1\endcsname
+ \fi
+}% \thebotmarks
+\newcommand*\thetopmarks[1]{%
+ \ifcsname marks@#1\endcsname
+ \expandafter\topmarks\csname marks@#1\endcsname
+ \fi
+}% \thetopmarks
+%% \getthemarks\firstmarks{section}\macro
+\newrobustcmd*\getthemarks[3]{%
+ \ifcsname marks@#2\endcsname
+ \expandafter\itf@getthemarks\expandafter#1\csname marks@#2\endcsname{#3}%
+ \else \let#3\@undefined
+ \fi
+}% \getthemarks
+\def\itf@getthemarks#1#2#3{%
+ \expandafter\def\expandafter#3\expandafter{#1#2}%
+}% \itf@getthemarks
+\newrobustcmd*\getthefirstmarks[2]{\getthemarks\firstmarks{#1}{#2}}
+\newrobustcmd*\getthebotmarks[2]{\getthemarks\botmarks{#1}{#2}}
+\newrobustcmd*\getthetopmarks[2]{\getthemarks\topmarks{#1}{#2}}
+%% \ifmarksequal\firstmarks\botmarks{subsection}{ true }{ false }
+\newrobustcmd*\ifmarksequal[3]{%
+ \begingroup
+ \getthemarks{#1}{#3}\@tempa
+ \getthemarks{#2}{#3}\@tempb
+ \expandafter\endgroup
+ \csname ltx@\ifdefined\@tempa\ifdefined\@tempb
+ \ifx\@tempa\@tempb first\else
+ second\fi\else
+ second\fi\else
+ second\fi
+ oftwo\endcsname
+}% \ifmarksequal
+\endinput
+%%
+%% End of file `interfaces-marks.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-pgfkeys.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-pgfkeys.sty
new file mode 100644
index 00000000000..7e4ec13cff5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-pgfkeys.sty
@@ -0,0 +1,621 @@
+%%
+%% This is file `interfaces-pgfkeys.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `pgfkeys')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-pgfkeys}
+ [2010/10/22 v1.1 pgfkeys handlers definitions (FC)]
+\RequirePackage{interfaces-base}
+\AtEndOfPackage{%
+ \let\itf@pgfkeys@unpack\pgfkeys@unpack
+ \let\itf@pgfkeys@case@three\pgfkeys@case@three
+ \let\itf@pgfkeys@exp@call\pgfkeys@exp@call
+ \let\itf@pgfkeysaddvalue\pgfkeysaddvalue
+}% AtEndOfPackage
+\def\itf@pgfkeys{%
+ \global\let\pgfkeys@unpack\itf@pgfkeys@unpack
+ \global\let\pgfkeys@case@three\itf@pgfkeys@case@three
+ \global\let\pgfkeys@exp@call\itf@pgfkeys@exp@call
+ \global\let\pgfkeysaddvalue\itf@pgfkeysaddvalue
+}% \itf@pgfkeys
+\AtBeginDocument{%
+ \itf@pgfkeys
+ \let\itf@pgfkeys\relax
+}% AtBeginDocument
+\providecommand*\pgfkeysmeaning[1]{%
+ \pgfkeysifdefined{#1}
+ {\expandafter\meaning\csname pgfk@#1\endcsname}
+ {\meaning\@undefined}%
+}%
+\def\pgfkeysvalueof@unexpanded#1{%
+ \unexpanded\expandafter\expandafter\expandafter{%
+ \csname pgfk@#1\endcsname}%
+}% \pgfkeysvalueof@unexpanded
+\newrobustcmd*\pgfkeysEsetvalue[2]{%
+ \expandafter\edef\csname pgfk@#1\endcsname{#2}%
+}% \pgfkeysEsetvalue
+\renewrobustcmd*\pgfkeysaddvalue[3]{% \cspreappto{pgfk@#1}{#2}{#3} (bug in pgfkeys.code.tex)
+ \edef\pgfkeys@global@temp{%
+ \unexpanded{#2}%
+ \ifcsname pgfk@#1\endcsname
+ \unexpanded\expandafter\expandafter\expandafter{%
+ \csname pgfk@#1\endcsname}%
+ \fi
+ \unexpanded{#3}}%
+ \pgfkeyslet{#1}\pgfkeys@global@temp
+}% \pgfkeysaddvalue
+\newrobustcmd*\pgfkeysEaddvalue[3]{% \csepreappto{pgfk@#1}{#2}{#3}
+ \edef\pgfkeys@global@temp{%
+ #2%
+ \ifcsname pgfk@#1\endcsname
+ \unexpanded\expandafter\expandafter\expandafter{%
+ \csname pgfk@#1\endcsname}%
+ \fi
+ #3}%
+ \pgfkeyslet{#1}\pgfkeys@global@temp
+}% \pgfkeysaddvalue
+%% missed a pair of braces around the argument in pgfkeys.code.tex ( code could break if it contains = or , )
+\def\pgfkeys@exp@call#1{\pgfkeysalso{\pgfkeyscurrentpath={#1}}}
+%% The value is now checked by \itf@pgfkeys@default@blank@required:
+\def\pgfkeys@unpack#1=#2=#3\pgfkeys@stop{%
+ \pgfkeys@spdef\pgfkeyscurrentkey{#1}%
+ \edef\pgfkeyscurrentkey{\pgfkeyscurrentkey}%
+ \ifx\pgfkeyscurrentkey\pgfkeys@empty
+ % Skip
+ \else%
+ \pgfkeys@add@path@as@needed
+ \pgfkeys@spdef\pgfkeyscurrentvalue{#2}%
+ \itf@pgfkeys@default@blank@required % <FC>
+ \pgfkeyscurrentkey % <FC>
+ \pgfkeys@case@one % <FC>
+ \fi
+}% \pgfkeys@unpack
+\def\itf@pgfkeys@default@blank@required#1#2{%
+ \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text% Hmm... no value
+ \pgfkeysifdefined{#1/.@def}%
+ {\pgfkeysgetvalue{#1/.@def}\pgfkeyscurrentvalue}
+ {}% no default, so leave it
+ \fi
+ \ifx\pgfkeyscurrentvalue\@empty
+ \pgfkeysifdefined{#1/.@blank}
+ {\pgfkeysgetvalue{#1/.@blank}\pgfkeyscurrentvalue}
+ {}% no /.blank specified
+ \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text% in case /.blank -> \pgfkeysnovalue
+ \pgfkeysifdefined{#1/.@def}%
+ {\pgfkeysgetvalue{#1/.@def}\pgfkeyscurrentvalue}
+ {}% no default, so leave it
+ \fi\fi
+ \ifx\pgfkeyscurrentvalue\pgfkeysvaluerequired
+ \pgfkeysvalueof{/errors/value required/.@cmd}\pgfkeyscurrentkey
+ \pgfkeyscurrentvalue
+ \pgfeov
+ \else
+ #2%
+ \fi
+}% \itf@pgfkeys@default@blank@required
+%% To handle the cases of: /handler/.default= /handler/.blank= /handler/.value required,
+%% it is necessary to redefine \pgfkeys@case@three
+\renewcommand*\pgfkeys@case@three{%
+ \pgfkeys@split@path
+ \pgfkeysifdefined{/handlers/\pgfkeyscurrentname/.@cmd}
+ {%
+ \itf@pgfkeys@default@blank@required{/handlers/\pgfkeyscurrentname}%
+ {\pgfkeysgetvalue{/handlers/\pgfkeyscurrentname/.@cmd}\pgfkeys@code
+ \expandafter\pgfkeys@code\pgfkeyscurrentvalue\pgfeov}%
+ }
+ \pgfkeys@unknown % no handler, thus the key is unknown
+}% \pgfkeys@case@three
+\pgfkeys{%
+ /handlers/.alias/.code=\itf@pgfkeys@ifaliasexists{#1}{%
+ \pgfkeysedef\pgfkeyscurrentpath{\noexpand\pgfkeysalso{\pgfkeysdefaultpath#1={##1}}}},%
+ /handlers/.alias/.value required,%
+ /handlers/.blank/.code=\pgfkeyssetvalue{\pgfkeyscurrentpath/.@blank}{#1},%
+ /handlers/.blank/.default=\pgfkeysnovalue,%
+}% /.alias and /.blank
+\def\itf@pgfkeys@ifaliasexists#1#2{%
+ \pgfkeysifdefined{\pgfkeysdefaultpath#1/.@cmd}{#2}
+ {\pgfkeysifdefined{\pgfkeysdefaultpath#1}
+ {#2}
+ {\itf@pgfkeys@aliaserror{#1}}}%
+}% \itf@pgfkeys@ifaliasexists
+\def\itf@pgfkeys@aliaserror#1{%
+ \PackageError{interfaces-pgfkeys}
+ {You want the key \pgfkeyscurrentpath\space
+ \MessageBreak to be an alias for \pgfkeysdefaultpath#1
+ \MessageBreak but the key \pgfkeysdefaultpath#1
+ \MessageBreak is not defined!}\@eha\@gobble
+}% \itf@pgfkeys@aliaserror
+\pgfkeys{
+ /handlers/.alias*/.code=\itf@pgfkeys@ifaliasexists{#1}{%
+ \pgfkeysedef\pgfkeyscurrentpath{\noexpand\pgfkeysalso{\pgfkeysdefaultpath#1={##1}}}%
+ \@tfor\x:=+-*\do{%
+ \pgfkeysifdefined{\pgfkeysdefaultpath#1\x/.@cmd}
+ {\pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \noexpand\pgfkeysalso{\pgfkeysdefaultpath#1\x={##1}}}}
+ {}%
+ }},%
+ /handlers/.alias*/.value required,%
+}% /.alias*
+\pgfkeys{%
+ /handlers/.is private/.code=\pgfkeysdef\pgfkeyscurrentpath{%
+ \PackageError{#1}{Key \pgfkeyscurrentkey\space is private
+ \MessageBreak and should not be modified}\@ehd},%
+ /handlers/.is private to class/.code=\pgfkeysdef\pgfkeyscurrentpath{%
+ \ClassError{#1}{Key \pgfkeyscurrentkey\space is private
+ \MessageBreak and should not be modified}\@ehd}%
+}% /.is private
+\def\itf@pgfkeys@choice[#1]#2#3{%
+ \pgfkeys{\pgfkeyscurrentpath/.cd,%
+ .is choice,%
+ #2/.code={#3},%
+ .default/.expanded=\@firstoftwo#1}%
+}% \itf@pgfkeys@choice
+\pgfkeys{%
+ /handlers/.true/.code=\itf@pgfkeys@choice[{true}{false}]{true}{#1},%
+ /handlers/.false/.code=\itf@pgfkeys@choice[{true}{false}]{false}{#1},%
+ /handlers/.on/.code=\itf@pgfkeys@choice[{on}{off}]{on}{#1},%
+ /handlers/.off/.code=\itf@pgfkeys@choice[{on}{off}]{off}{#1},%
+}% /.true /.false
+\pgfkeys{%
+ /handlers/.store in cs/.code=\pgfkeysdef\pgfkeyscurrentpath{\csdef{#1}{##1}},%
+ /handlers/.estore in cs/.code=\pgfkeysdef\pgfkeyscurrentpath{\csedef{#1}{##1}},%
+}% /.store in cs
+%% /.store as code handlers
+\pgfkeys{%
+ /handlers/.store as code/.code={%
+ \pgfkeysedef\pgfkeyscurrentpath{%
+ \noexpand\pgfkeyslet{\pgfkeyscurrentpath}\noexpand\pgfkeyscurrentvalue}%
+ \pgfkeyslet\pgfkeyscurrentpath\@empty
+ \pgfkeyslet{\pgfkeyscurrentpath/.@def}\@empty
+ \@tfor\x:=#1\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath/.expanded={%
+ \noexpand\pgfkeysvalueof@unexpanded{\pgfkeyscurrentpath}%
+ \noexpand\unexpanded{##1}}}}%
+ \pgfkeyslet{\pgfkeyscurrentpath\x/.@def}\@empty
+ }},%
+ /handlers/.store as code/.default=*+,%
+}% /.store as code
+\pgfkeys{%
+ /handlers/.estore as code/.code={%
+ \pgfkeysedef\pgfkeyscurrentpath{%
+ \noexpand\pgfkeysEsetvalue{\pgfkeyscurrentpath}{##1}}%
+ \pgfkeyslet\pgfkeyscurrentpath\@empty
+ \@tfor\x:=#1\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath/.expanded={%
+ \noexpand\pgfkeysvalueof@unexpanded{\pgfkeyscurrentpath}%
+ \noexpand\unexpanded{##1}}}}%
+ }},%
+ /handlers/.estore as code/.default=*+,%
+}% /.estore as code
+\pgfkeys{%
+ /handlers/.store as code in cs/.code={%
+ \pgfkeysdef\pgfkeyscurrentpath{%
+ \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text
+ \else\csdef{#1}{##1}\fi}%
+ \@tfor\x:=*+\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath/.expanded={%
+ \noexpand\ifcsname#1\endcsname
+ \noexpand\expandafter\noexpand\expandonce
+ \noexpand\csname#1\endcsname
+ \noexpand\fi
+ \noexpand\unexpanded{##1}}}}%
+ \pgfkeyslet{\pgfkeyscurrentpath\x/.@def}\@empty
+ }},%
+ /handlers/.store as code in cs/.value required,%
+}% /.store as code in cs
+\pgfkeys{%
+ /handlers/.estore as code in cs/.code={%
+ \pgfkeysdef\pgfkeyscurrentpath{%
+ \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text
+ \else\csedef{#1}{##1}\fi}%
+ \@tfor\x:=*+\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath/.expanded={%
+ \noexpand\ifcsname#1\endcsname
+ \noexpand\expandafter\noexpand\expandonce
+ \noexpand\csname#1\endcsname
+ \noexpand\fi
+ \noexpand\unexpanded{##1}}}}%
+ }},% default if \pgfkeysnovalue which expands to \@empty
+ /handlers/.estore as code in cs/.value required,%
+}% /.estore as code in cs
+\protected\def\itf@pgfk@color#1#2\@nil{%
+ \ifx\@let@token\color
+ \def\pgfkeyscurrentvalue{#2}%
+ \else\ifx\@let@token\normalcolor
+ \def\pgfkeyscurrentvalue{default}%
+ \else\ifx\@let@token\pgfkeysnovalue
+ \def\pgfkeyscurrentvalue{default}%
+ \fi\fi\fi
+}% \itf@pgfk@color
+\pgfkeys{%
+ /handlers/.store as color/.code=%
+ \pgfkeysedef\pgfkeyscurrentpath{%
+ \futurelet\noexpand\@let@token\itf@pgfk@color
+ ##1\noexpand\pgfkeysnovalue\noexpand\@nil
+ \noexpand\pgfkeyslet{\pgfkeyscurrentpath}\noexpand\pgfkeyscurrentvalue}%
+}% /.store as color
+\pgfkeys{%
+ /handlers/.store as color in cs/.code=%
+ \pgfkeysedef\pgfkeyscurrentpath{%
+ \futurelet\noexpand\@let@token\itf@pgfk@color
+ ##1\noexpand\pgfkeysnovalue\noexpand\@nil
+ \cslet{#1}\pgfkeyscurrentvalue}%
+}% /.store as color in cs
+\protected\def\itf@pgfk@colorcmd#1\@nil{%
+ \ifcat @\noexpand\@let@token
+ \def\pgfkeyscurrentvalue{\color{#1}}%
+ \else\ifcat 0\noexpand\@let@token
+ \def\pgfkeyscurrentvalue{\color{#1}}%
+ \else\ifx\@let@token\@nil
+ \let\pgfkeyscurrentvalue\normalcolor
+ \fi\fi\fi
+}% \itf@pgfk@colorcmd
+\pgfkeys{%
+ /handlers/.store as color command/.code=%
+ \pgfkeysedef\pgfkeyscurrentpath{%
+ \futurelet\noexpand\@let@token\itf@pgfk@colorcmd
+ ##1\noexpand\@nil
+ \noexpand\pgfkeyslet{\pgfkeyscurrentpath}\noexpand\pgfkeyscurrentvalue}%
+ \pgfkeyssetvalue{\pgfkeyscurrentpath/.@def}\normalcolor
+}% /.store as color command
+\pgfkeys{%
+ /handlers/.store as color command in cs/.code=%
+ \pgfkeysedef\pgfkeyscurrentpath{%
+ \futurelet\noexpand\@let@token\itf@pgfk@colorcmd
+ ##1\noexpand\@nil
+ \cslet{#1}\noexpand\pgfkeyscurrentvalue}%
+ \pgfkeyssetvalue{\pgfkeyscurrentpath/.@def}\normalcolor
+}% /.store as color command in cs
+\pgfkeys{%
+ /handlers/.store as number/.code={%
+ \pgfkeysedef\pgfkeyscurrentpath{%
+ \normalcolor\pgfkeyssetvalue{\pgfkeyscurrentpath}{\numexpr##1\relax}}%
+ \pgfkeyslet\pgfkeyscurrentpath\z@
+ \pgfkeyslet{\pgfkeyscurrentpath/.@def}\z@
+ \pgfkeyslet{\pgfkeyscurrentpath/.@blank}\z@
+ \@tfor\x:=#1\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath/.expanded=%
+ \noexpand\pgfkeysvalueof@unexpanded{\pgfkeyscurrentpath}%
+ \x
+ \numexpr\unexpanded{##1}\relax}}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@def}{\if*\x\@ne\else\z@\fi}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@blank}{\if*\x\@ne\else\z@\fi}%
+ }},%
+ /handlers/.store as number/.default=+-*,%
+}% /.store as number
+\pgfkeys{%
+ /handlers/.estore as number/.code={%
+ \pgfkeysedef\pgfkeyscurrentpath{%
+ \noexpand\pgfkeyssetvalue{\pgfkeyscurrentpath}{\number\numexpr##1\relax}}%
+ \pgfkeyslet\pgfkeyscurrentpath\z@
+ \pgfkeyslet{\pgfkeyscurrentpath/.@def}\z@
+ \pgfkeyslet{\pgfkeyscurrentpath/.@blank}\z@
+ \@tfor\x:=#1\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath=%
+ \noexpand\pgfkeysvalueof{\pgfkeyscurrentpath}%
+ \x
+ \numexpr##1\relax}}%
+ }},%
+ /handlers/.estore as number/.default=+-*,%
+}% /.estore as number
+\pgfkeys{%
+ /handlers/.store as number in cs/.code={%
+ \pgfkeysdef\pgfkeyscurrentpath{%
+ \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text
+ \else\csdef{#1}{\numexpr##1\relax}\fi}%
+ \pgfkeyslet{\pgfkeyscurrentpath/.@blank}\z@
+ \@tfor\x:=+-*\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \letcs\noexpand\pgfkeys@temp{%
+ \noexpand\ifcsname#1\endcsname
+ #1\noexpand\else z@\noexpand\fi}%
+ \edef\noexpand\pgfkeys@temp{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath={%
+ \noexpand\expandonce\noexpand\pgfkeys@temp
+ \x
+ \numexpr\noexpand\unexpanded{##1}\relax}}%
+ }\noexpand\pgfkeys@temp}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@def}{\if*\x\@ne\else\z@\fi}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@blank}{\if*\x\@ne\else\z@\fi}%
+ }},%
+ /handlers/.store as number in cs/.value required,%
+}% /.store as number in cs
+\pgfkeys{%
+ /handlers/.estore as number in cs/.code={%
+ \pgfkeysdef\pgfkeyscurrentpath{%
+ \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text
+ \else\csedef{#1}{\number\numexpr##1\relax}\fi}%
+ \pgfkeyslet{\pgfkeyscurrentpath/.@blank}\z@
+ \@tfor\x:=+-*\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath=%
+ \noexpand\csname\noexpand\ifcsname#1\endcsname
+ #1\noexpand\else z@\noexpand\fi\endcsname
+ \x
+ \numexpr##1\relax}}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@def}{\if*\x\@ne\else\z@\fi}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@blank}{\if*\x\@ne\else\z@\fi}%
+ }},%
+ /handlers/.estore as number in cs/.value required,%
+}% /.estore as number in cs
+\pgfkeys{%
+ /handlers/.defcounter/.code=\pgfkeysdef\pgfkeyscurrentpath{\defcounter{#1}{##1}}%
+}% /.defcounter
+\pgfkeys{%
+ /handlers/.store as glue/.code={%
+ \pgfkeysedef\pgfkeyscurrentpath{%
+ \noexpand\pgfkeyssetvalue{\pgfkeyscurrentpath}{\glueexpr##1\relax}}%
+ \pgfkeyslet\pgfkeyscurrentpath\z@skip
+ \pgfkeyslet{\pgfkeyscurrentpath/.@def}\z@skip
+ \pgfkeyslet{\pgfkeyscurrentpath/.@blank}\z@skip
+ \@tfor\x:=#1\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath/.expanded=%
+ \noexpand\pgfkeysvalueof@unexpanded{\pgfkeyscurrentpath}%
+ \x
+ \if*\x\noexpand\itf@units@scale##1!
+ \else\glueexpr\noexpand\unexpanded{##1}\relax\fi}}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@def}{\if*\x\@ne\else\z@skip\fi}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@blank}{\if*\x\@ne\else\z@skip\fi}%
+ }},%
+ /handlers/.store as glue/.default=+-*,%
+}% /.store as glue
+\pgfkeys{%
+ /handlers/.estore as glue/.code={%
+ \pgfkeysedef{\pgfkeyscurrentpath}{%
+ \noexpand\pgfkeysEsetvalue{\pgfkeyscurrentpath}{%
+ \noexpand\the\glueexpr##1\relax}}%
+ \pgfkeyslet\pgfkeyscurrentpath\z@skip
+ \pgfkeyslet{\pgfkeyscurrentpath/.@def}\z@skip
+ \pgfkeyslet{\pgfkeyscurrentpath/.@blank}\z@skip
+ \@tfor\x:=#1\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath=%
+ \noexpand\pgfkeysvalueof{\pgfkeyscurrentpath}\x
+ \if*\x \noexpand\itf@units@scale##1!
+ \else\glueexpr##1\relax\fi}}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@def}{\if*\x\@ne\else\z@skip\fi}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@blank}{\if*\x\@ne\else\z@skip\fi}%
+ }},%
+ /handlers/.estore as glue/.default=+-*,%
+}% /.estore as glue
+\pgfkeys{%
+ /handlers/.store as dimen/.code={%
+ \pgfkeysedef\pgfkeyscurrentpath{%
+ \noexpand\pgfkeyssetvalue{\pgfkeyscurrentpath}{\dimexpr##1\relax}}%
+ \pgfkeyslet\pgfkeyscurrentpath\z@
+ \pgfkeyslet{\pgfkeyscurrentpath/.@def}\z@
+ \pgfkeyslet{\pgfkeyscurrentpath/.@blank}\z@
+ \@tfor\x:=#1\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath/.expanded={%
+ \noexpand\pgfkeysvalueof@unexpanded{\pgfkeyscurrentpath}%
+ \x
+ \if*\x \noexpand\itf@units@scale##1!
+ \else\dimexpr\noexpand\unexpanded{##1}\relax\fi}}}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@def}{\if*\x\@ne\else\z@\fi}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@blank}{\if*\x\@ne\else\z@\fi}%
+ }},%
+ /handlers/.store as dimen/.default=+-*,%
+}% /.store as dimen
+\pgfkeys{%
+ /handlers/.estore as dimen/.code={%
+ \pgfkeysedef\pgfkeyscurrentpath{%
+ \noexpand\pgfkeysEsetvalue{\pgfkeyscurrentpath}{%
+ \noexpand\the\dimexpr##1\relax}}%
+ \pgfkeyslet\pgfkeyscurrentpath\z@
+ \pgfkeyslet{\pgfkeyscurrentpath/.@def}\z@
+ \pgfkeyslet{\pgfkeyscurrentpath/.@blank}\z@
+ \@tfor\x:=#1\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath=%
+ \noexpand\pgfkeysvalueof{\pgfkeyscurrentpath}\x
+ \if*\x \noexpand\itf@units@scale##1!
+ \else \dimexpr##1\relax\fi}}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@def}{\if*\x\@ne\else\z@\fi}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@blank}{\if*\x\@ne\else\z@\fi}%
+ }},%
+ /handlers/.estore as dimen/.default=+-*,%
+}% /.estore as dimen
+\pgfkeys{%
+ /handlers/.store as glue in cs/.code={%
+ \pgfkeysdef\pgfkeyscurrentpath{%
+ \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text
+ \else\csdef{#1}{\glueexpr##1\relax}\fi}%
+ \pgfkeyslet{\pgfkeyscurrentpath/.@blank}\z@skip
+ \@tfor\x:=+-*\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \letcs\noexpand\pgfkeys@temp{%
+ \noexpand\ifcsname#1\endcsname
+ #1\noexpand\else z@skip\noexpand\fi}%
+ \edef\noexpand\pgfkeys@temp{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath={%
+ \noexpand\expandonce\noexpand\pgfkeys@temp
+ \x
+ \if*\x\noexpand\itf@units@scale##1!
+ \else\glueexpr\noexpand\unexpanded{##1}\relax\fi}}%
+ }\noexpand\pgfkeys@temp}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@def}{\if*\x\@ne\else\z@skip\fi}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@blank}{\if*\x\@ne\else\z@skip\fi}%
+ }},%
+ /handlers/.store as glue in cs/.value required,%
+}% /.store as glue in cs
+\pgfkeys{%
+ /handlers/.estore as glue in cs/.code={%
+ \pgfkeysdef\pgfkeyscurrentpath{%
+ \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text
+ \else\csedef{#1}{\the\glueexpr##1\relax}\fi}%
+ \pgfkeyslet{\pgfkeyscurrentpath/.@blank}\z@skip
+ \@tfor\x:=+-*\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath=%
+ \noexpand\csname\noexpand\ifcsname#1\endcsname
+ #1\noexpand\else z@skip\noexpand\fi\endcsname
+ \x
+ \if*\x\noexpand\itf@units@scale##1!
+ \else\glueexpr##1\relax\fi}}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@def}{\if*\x\@ne\else\z@skip\fi}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@blank}{\if*\x\@ne\else\z@skip\fi}%
+ }},%
+ /handlers/.etore as glue in cs/.value required,%
+}% /.estore as glue in cs
+\pgfkeys{%
+ /handlers/.store in skip cs/.code={%
+ \pgfkeysdef\pgfkeyscurrentpath{%
+ \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text
+ \else\csname#1\endcsname\glueexpr##1\relax\fi}%
+ \pgfkeyslet{/\pgfkeyscurrentpath/.@blank}\z@skip
+ \@tfor\x:=+-*\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath=%
+ \csname#1\endcsname % should have been defined as a skip (not expandable)
+ \x
+ \if*\x\noexpand\itf@units@scale##1!
+ \else\glueexpr##1\relax\fi}}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@def}{\if*\x\@ne\else\z@skip\fi}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@blank}{\if*\x\@ne\else\z@skip\fi}%
+ }},%
+ /handlers/.store in skip cs/.value required,%
+}% /.store in skip cs
+\pgfkeys{%
+ /handlers/.store as dimen in cs/.code={%
+ \pgfkeysdef\pgfkeyscurrentpath{%
+ \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text
+ \else\csdef{#1}{\dimexpr##1\relax}\fi}%
+ \pgfkeyslet{\pgfkeyscurrentpath/.@blank}\z@
+ \@tfor\x:=+-*\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \letcs\noexpand\pgfkeys@temp{%
+ \ifcsname#1\endcsname#1\else z@\fi}%
+ \edef\noexpand\pgfkeys@temp{%
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath={%
+ \noexpand\expandonce\noexpand\pgfkeys@temp
+ \x
+ \if*\x\noexpand\itf@units@scale##1!
+ \else\dimexpr\noexpand\unexpanded{##1}\fi}}%
+ }\noexpand\pgfkeys@temp}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@def}{\if*\x\@ne\else\z@\fi}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@blank}{\if*\x\@ne\else\z@\fi}%
+ }},%
+ /handlers/.store as dimen in cs/.value required,%
+}% /.store as dimen in cs {csname}{+-}
+\pgfkeys{%
+ /handlers/.estore as dimen in cs/.code={%
+ \pgfkeysdef\pgfkeyscurrentpath{%
+ \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text
+ \else \@defaultunits\itf@sk ##1pt\relax\@nnil
+ \csedef{#1}{\the\dimexpr\itf@sk\relax}\fi}%
+ \pgfkeyslet{\pgfkeyscurrentpath/.@blank}\z@
+ \@tfor\x:=+-*\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \noexpand\ifcsname#1\endcsname
+ \noexpand\@defaultunits\itf@sk
+ \noexpand\csname#1\endcsname pt\relax\noexpand\@nnil
+ \noexpand\else\itf@sk\z@\noexpand\fi
+ \if*\x
+ \itf@sk\dimexpr\itf@sk*\noexpand\itf@units@scale##1!\relax
+ \else
+ \noexpand\@defaultunits\@tempdima ##1pt\relax\noexpand\@nnil
+ \advance\itf@sk\x\@tempdima
+ \fi
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath=\itf@sk}}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@def}{\if*\x\@ne\else\z@\fi}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@blank}{\if*\x\@ne\else\z@\fi}%
+ }},%
+ /handlers/.etore as dimen in cs/.value required,%
+}% /.estore as dimen in cs
+\pgfkeys{%
+ /handlers/.store in dimen cs/.code={%
+ \pgfkeysdef\pgfkeyscurrentpath{%
+ \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text
+ \else\csname#1\endcsname\dimexpr##1\relax\fi}%
+ \pgfkeyslet{/\pgfkeyscurrentpath/.@blank}\z@
+ \@tfor\x:=+-*\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath\x}{%
+ \if*\x \else
+ \noexpand\@defaultunits\itf@sk ##1pt\relax\noexpand\@nnil
+ \fi
+ \noexpand\pgfkeysalso{\pgfkeyscurrentpath=%
+ \csname#1\endcsname % should have been defined as a dimen (not expandable)
+ \x
+ \if*\x \noexpand\itf@units@scale##1!
+ \else\itf@sk\fi}}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@def}{\if*\x\@ne\else\z@\fi}%
+ \pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@blank}{\if*\x\@ne\else\z@\fi}%
+ }},%
+ /handlers/.store in dimen cs/.value required,%
+}% /.store in dimen cs
+\pgfkeys{%
+ /handlers/.is multiple choice/.code=%
+ \pgfkeys{\pgfkeyscurrentpath/.cd,%
+ .unknown/.style={/errors/unknown choice value=\pgfkeyscurrentkey\pgfkeyscurrentvalue},%
+ .code=\expandafter\pgfkeys\expandafter{\pgfkeyscurrentkey/.cd,####1}%
+ },%
+ /handlers/.is multiple choice/.value forbidden,%
+}% /.is multiple choice
+\pgfkeys{%
+ /handlers/.is enum/.code={%
+ \itf@cnt\z@
+ \@for\x:=\pgfkeyscurrentvalue\do{%
+ \pgfkeysedef{\pgfkeyscurrentpath/\x}{%
+ \noexpand\pgfkeyssetvalue{\pgfkeyscurrentpath}{\x}%
+ \noexpand\pgfkeyssetvalue{\pgfkeyscurrentpath/.number}{\the\itf@cnt}}%
+ \ifnum\itf@cnt=\z@
+ \pgfkeyslet{\pgfkeyscurrentpath/.@def}\x
+ \pgfkeyslet{\pgfkeyscurrentpath/.@blank}\x
+ \fi
+ \advance\itf@cnt\@ne
+ }%
+ \pgfkeysalso{\pgfkeyscurrentpath/.is choice}},%
+ /handlers/.is enum/.value required,%
+}% /.is enum
+\endinput
+%%
+%% End of file `interfaces-pgfkeys.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-scrlfile.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-scrlfile.sty
new file mode 100644
index 00000000000..fca7b627f6c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-scrlfile.sty
@@ -0,0 +1,85 @@
+%%
+%% This is file `interfaces-scrlfile.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `scrlfile')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-scrlfile}
+ [2010/08/09 v1.0 scrlfile hooks improved (FC)]
+\RequirePackage{interfaces-base}
+\AfterEndPreamble{%
+ \let\@pkgextension\ltx@pkgextension
+ \let\@clsextension\ltx@clsextension
+ \let\@ifpackageloaded\ltx@ifpackageloaded
+ \let\@ifclassloaded\ltx@ifclassloaded
+}
+\renewrobustcmd*\scr@load@hook[2]{%
+ \csuse{#2-@#1}%
+ \ifcsname#2-@#1-\string\keep\endcsname\else\global\csundef{#2-@#1}\fi
+}% \scr@load@hook
+\renewrobustcmd*\scr@set@load@hook[2]{\csgappto{#2-@#1}}
+\renewrobustcmd*\BeforeFile{\@ifstar
+ {\itf@s@LoadFile{before}}
+ {\itf@LoadFile{before}}%
+}% \BeforeFile
+\renewrobustcmd*\AfterFile{\@ifstar
+ {\itf@s@LoadFile{after}}
+ {\itf@LoadFile{after}}%
+}% \AfterFile
+\def\itf@s@LoadFile#1#2{%
+ \global\cslet{#2-@#1-\string\keep}\@empty
+ \scr@set@load@hook{#1}{#2}%
+}% \itf@s@LoadFile
+\def\itf@LoadFile#1#2{%
+ \global\csundef{#2-@#1-\string\keep}%
+ \scr@set@load@hook{#1}{#2}%
+}% \itf@LoadFile
+\renewcommand*\@input[1]{\IfFileExists{#1}
+ {\scr@load@hook{before}{#1}%
+ \@@input\@filef@und
+ \scr@load@hook{after}{#1}}%
+ {\typeout{No file #1.}}%
+}% \@input
+\endinput
+%%
+%% End of file `interfaces-scrlfile.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-tikz.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-tikz.sty
new file mode 100644
index 00000000000..920adbcc31b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-tikz.sty
@@ -0,0 +1,140 @@
+%%
+%% This is file `interfaces-tikz.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `tikz')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-tikz}
+ [2010/09/21 v1.0 load of tikz libraries easily (FC)]
+\RequirePackage{interfaces-base}
+\itf@pgfkeys
+%% Some catcode checking
+\AfterPackage*{tikz}{%
+ \AtEndPreamble{%
+ \tikzset{every picture/.add style={%
+ /utils/exec={\@makeother\!\@makeother\:}}{}}%
+ }%
+}%
+\newcommand*\alltikzpackages{%
+ pgf,pgfmath,pgfcalendar,pgfplots,pgfpages,tikz%
+}% \alltikzpackages
+\newcommand*\allpgfmodules{matrix,plot}
+\newcommand*\alltikzlibraries{%
+ arrows,%
+ chains,%
+ er,%
+ scopes,%
+ snakes,%
+ shapes,%
+ shapes.misc,%
+ shapes.geometric,%
+ shapes.arrows,%
+ shapes.multipart,%
+ shapes.callouts,%
+ shapes.symbols,%
+ shapes.gates.logic.US,%
+ shapes.gates.logic.IEC,%
+ decorations,%
+ decorations.pathmorphing,%
+ decorations.pathreplacing,%
+ decorations.shapes,%
+ decorations.text,%
+ decorations.markings,%
+ decorations.fractals,%
+ decorations.footprints,%
+ positioning,trees,%
+ automata,%
+ patterns,%
+ fadings,%
+ shadows,%
+ through,%
+ backgrounds,%
+ petri,%
+ fit,%
+ mindmap,%
+ folding,%
+ plothandlers,%
+ plotmarks,%
+ calc,%
+ matrix%
+%% topath,placements,%
+}% \alltikzlibraries
+\pgfqkeys{/itf/tikz}{%
+ basic/.code={%
+ \usetikzlibrary{calc,%
+ arrows,% for arrows
+ backgrounds,% for framed
+ scopes% for scopes and shortcut : { [scope] ... }
+ }%
+ },%
+ basic/.value forbidden,% \alltikzpackages
+ base/.alias=basic,%
+ all/.code={%
+ \expandafter\RequirePackage\expandafter{\alltikzpackages}%
+ \expandafter\usepgfmodule\expandafter{\allpgfmodules}% see pgfcorescopes.code.tex
+ \expandafter\usetikzlibrary\expandafter{\alltikzlibraries}% from: tikz.code.tex
+ },%
+ .unknown/.code=\itf@usetikzcode\pgfkeyscurrentname
+}% \pgfkeys for \usetikz
+\newrobustcmd*\usetikz[1]{%
+ \RequirePackage{tikz}%
+ \ifblank{#1}
+ {\pgfqkeys{/itf/tikz}{all}}
+ {\pgfqkeys{/itf/tikz}{#1}}%
+ \itf@pgfkeys% overwritten by \input primitive otherwise
+}% \usetikz
+\newrobustcmd*\itf@usetikzcode[1]{\begingroup
+ \edef\x{%
+ \noexpand\in@{,#1,}{,\alltikzpackages,}%
+ \noexpand\ifin@ \noexpand\usepackage{#1}%
+ \noexpand\else
+ \noexpand\in@{,#1,}{,\allpgfmodules,}%
+ \noexpand\ifin@ \noexpand\usepgfmodule{#1}%
+ \noexpand\else \noexpand\usetikzlibrary{#1}% \usetikzlibrary by default
+ \noexpand\fi
+ \noexpand\fi
+ }\expandafter\endgroup\x
+}% \itf@usetikzcode
+\endinput
+%%
+%% End of file `interfaces-tikz.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-titlesec.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-titlesec.sty
new file mode 100644
index 00000000000..4ac65b17da9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-titlesec.sty
@@ -0,0 +1,375 @@
+%%
+%% This is file `interfaces-titlesec.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `titlesec')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-titlesec}
+ [2010/10/20 v1.0 pgfkeys macros for titlesec (FC)]
+\RequirePackage{interfaces-base}
+\RequirePackage{auxhook}% for fix for \ttlp@append (odd/even pages, not implemented in interfaces)
+\itf@Check@Package{titlesec}
+\itf@pgfkeys
+%% t i t l e s e c "p a t c h e s"
+\robustify\titleclass \robustify\titleformat \robustify\titlespacing
+\AddLineBeginMainAux{%
+ \string\providecommand\string\ttlp@append[2]{}%
+}
+\BeforeFile*{ttlkeys.def}{%
+ \catcode32 9\relax % ignore spaces
+ \count@\endlinechar\endlinechar\m@ne % and line feeds
+}
+\AfterFile*{ttlkeys.def}{% restore spaces and line feeds
+ \catcode32 10\relax
+ \endlinechar\count@
+}
+%%-----------------------------------------------------------------------------
+%% runinifempty => like hang but no paragraph break (like runin) if title is empty
+\def\ttlh@runinifempty{%
+ \csname ttlh@\ifx\ttl@savetitle\@empty runin\else hang\fi\endcsname
+}% \ttlh@runinifempty
+\newrobustcmd*\sectionformat[1]{\@ifstar
+ {\itf@sectionformat{#1}{/*}}
+ {\itf@sectionformat{#1}{}}%
+}% \sectionformat
+\def\itf@sectionformat#1#2{\@testopt
+ {\expandafter\expandafter\expandafter%
+ \itf@sectionf@rmat\expandafter\@gobble\string#1\@nil{#2}}{}%
+}% \sectionformat
+\def\itf@sectionf@rmat#1\@nil#2[#3]#4{\itf@pgfkeys
+ \ifblank{#3}
+ {\pgfqkeys{/itf/titlesec/#1#2}
+ {/itf/titlesec/@setup={#1}{#2},#4,/itf/titlesec/@update={#1}{#2}}}
+ {\pgfqkeys{/itf/titlesec/#1#2}
+ {/itf/titlesec/@setup={#1}{#2},shape={#3},#4,/itf/titlesec/@update={#1}{#2}}}%
+}% \itf@ttl@sectionformat
+%% private keys @setup and @update
+\pgfqkeys{/itf/titlesec}{%
+ @setup/.code 2 args=\itf@ttl@setup{#1}{#2},%
+ @update/.code 2 args=\expandafter\itf@ttl@update
+ \csname#1\endcsname{/itf/titlesec/#1}{#2}%
+}
+\newrobustcmd*\itf@ttl@setup[2]{%
+ \pgfkeysifdefined{/itf/titlesec/#1#2/shape}{}
+ {\itf@ttl@newsection{#1}{#2}}%
+ \ifcsundef{ttls@#1#2}{}% no previous spacing settings
+ {\expandafter\expandafter\expandafter%
+ \itf@ttl@getspacing\csname ttls@#1#2\endcsname{/itf/titlesec/#1#2}}%
+ \ifcsundef{ttlf@#1#2}{}% no previous format settings
+ {\expandafter\expandafter\expandafter%
+ \itf@ttl@getformat\csname ttlf@#1#2\endcsname{/itf/titlesec/#1#2}}%
+}% \itf@ttl@setup
+\def\itf@ttl@setkey#1#2{\begingroup
+ \def\x{\pgfkeysvalueof{#1}}\def\y{#2}%
+ \expandafter\endgroup\ifx\x\y\else
+ \pgfkeyssetvalue{#1}{#2}\fi
+}% \itf@ttl@setkey
+\def\itf@ttl@getspacing#1#2#3#4#5#6{%
+ \itf@ttl@setkey{#6/left}{#1}%
+ \itf@ttl@setkey{#6/right}{#2}%
+ \itf@ttl@setkey{#6/top}{#3}%
+ \itf@ttl@setkey{#6/bottom}{#4}%
+ \itf@ttl@setkey{#6/indent first}{#5}%
+}% \itf@ttl@getspacing
+\def\itf@ttl@getformat#1#2{%
+ \csname ltx@\ifx\pgfkeysvalueof#1first\else second\fi oftwo\endcsname
+ {\itf@ttl@get@format{}}
+ {\itf@ttl@get@format{#1}{#2}}%
+}% \itf@ttl@getformat
+\def\itf@ttl@get@format#1#2#3#4#5#6#7{%
+ \if\relax\detokenize{#1}\relax\else
+ \pgfkeysEsetvalue{#7/shape}{\expandafter\itf@strip@at\string#1}%
+ \fi
+ \itf@ttl@setkey{#7/font}{#2}%
+ \itf@ttl@setkey{#7/label}{#3}%
+ \itf@ttl@setkey{#7/sep}{#4}%
+ \itf@ttl@setkey{#7/before}{#5}%
+ \itf@ttl@setkey{#7/after}{#6}%
+}% \itf@ttl@get@format
+\newrobustcmd*\itf@ttl@update[3]{%
+ \ifblank{#3}
+ {\ttl@getkeys{#1}{titlesec}}
+ {\ttl@getkeys{name=#1,numberless}{titlesec}}%
+ \pgfkeysgetvalue{#2#3/shape}\itf@tp
+ \ifcsundef{ttlh@\itf@tp}
+ {\begingroup \makeatletter
+ \InputIfFileExists{\itf@tp.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 \itf@tp.tss file}}%
+ \endgroup}
+ {}%
+ \ifttl@explicit\@temptokena{\csdef{ttlf@\ttl@a}##1}%
+ \else\@temptokena{\csdef{ttlf@\ttl@a}}%
+ \fi
+ \the\@temptokena{%
+ \pgfkeysvalueof{#2#3/shape@cs}%
+ {\pgfkeysvalueof{#2#3/font}}%
+ {\pgfkeysvalueof{#2#3/label}}%
+ {\pgfkeysvalueof{#2#3/sep}}%
+ {\pgfkeysvalueof{#2#3/before}}%
+ {\pgfkeysvalueof{#2#3/after}}}%
+ \csname ttl@compat\ttl@a\endcsname
+ \ttl@spacing@ii
+ {\pgfkeysvalueof{#2#3/indent first}}%
+ {\pgfkeysvalueof{#2#3/left}}%
+ {\pgfkeysvalueof{#2#3/top}}%
+ {\pgfkeysvalueof{#2#3/bottom}}%
+ [\pgfkeysvalueof{#2#3/right}]%
+}% \itf@ttl@update
+%%----------------------------------------------------------------------------
+%% t i t l e c l a s s
+\newrobustcmd*\itf@ttl@titleclass{\@ifstar
+ {\itf@ttl@titleclass@i*}
+ {\itf@ttl@titleclass@i{}}%
+}% \itf@ttl@titleclass
+\def\itf@ttl@titleclass@i#1#2#3[#4]#5\@nil{\ifblank{#4}
+ {%
+ \expandafter\titleclass\csname#2\endcsname{#3}%
+ }
+ {%
+ \expandafter\titleclass\csname#2\endcsname{#3}[{#4}]% #4 = sup-level
+ \if\relax#1\relax % not starred
+ \expandafter\expandafter\expandafter%
+ \itf@ttl@titleclass@ii\expandafter\@gobble\string#4\relax{#2}% subsection\relax{article} => \@addtoreset{article}{subsection}
+ \fi
+ }%
+ \expandafter\providecommand\csname l@#2\endcsname[2]{}% no entry in toc
+}% \itf@ttl@titleclass@i
+\def\itf@ttl@titleclass@ii#1\relax#2{%
+ \ifcsundef{c@#2}
+ {\newcounter{#2}[{#1}]}% creates counter for #1
+ {\@addtoreset{#2}{#1}}%
+ \csxdef{the#2}{%
+ \expandafter\noexpand\csname the#1\endcsname
+ .\noexpand\@arabic\expandafter\noexpand\csname c@#2\endcsname
+ }% \the#2
+ \ifcsundef{l@#1}{}{%
+ \expandafter\providecommand\csname l@#2\endcsname[2]{%
+ \csname l@#1\endcsname{##1}{##2}%
+ }% \l@#2 = \l@newsection is (by default) the same as \l@sup-level
+ }%
+}% \itf@ttl@titleclass@ii
+%%-----------------------------------------------------------------------------
+%% C r e a t i n g n e w s e c t i o n s
+\def\itf@ttl@createsection#1{% sectionning command undefined: temporarily defined
+ \expandafter\titleclass\csname#1\endcsname{straight}[*]% in straight class
+ \itf@AfterPackage{hypbmsec}{%
+ \AtBeginDocument{%
+ \csletcs{hbs@#1}{#1}%
+ \csxdef{#1}{\noexpand\hbs@do\expandafter\noexpand\csname hbs@#1\endcsname}%
+ }%
+ }%
+ \itf@AfterPackage{interfaces-tocloft}{%
+ \itf@cft@newsection{#1}{toc}%
+ }%
+ \itf@AfterPackage{interfaces-hypbmsec}{%
+ \cslet{last#1title}\@empty
+ \cslet{last#1bookmark}\@empty
+ \cslet{last#1toc}\@empty
+ }%
+}% \itf@ttl@createsection
+%%-----------------------------------------------------------------------------
+%% D e f i n i n g k e y s f o r e a c h s e c t i o n
+\def\itf@ttl@newsection#1#2{% #1=section, #2=/* or empty
+ \ifcsundef{#1}% sectionning command undefined: temporarily defined in straight class
+ {\itf@ttl@createsection{#1}}
+ {}%
+ \ifblank{#2}{%
+ \pgfqkeys{/itf/titlesec/#1}{% these keys do not exist for starred/numberless sections
+ class/.code=\itf@ttl@titleclass{#1}##1[]\@nil,% with \@addtoreset
+ class/.value required,% if sup-level is given
+ class*/.code=\itf@ttl@titleclass*{#1}##1[]\@nil,% without \@addtoreset
+ class*/.value required,% even if sup-level is given
+ shape/.initial=,% initial shapes set by titlesec.sty for not numbered sections.
+ the#1/.store in cs=the#1,%
+ the#1/.default=\pgfkeysvalueof{/itf/titlesec/#1/label},%
+ }}
+ {% starred (numberless) unless titlesec, we do not put the default shape to hang,
+ \pgfkeysifdefined{/itf/titlesec/#1/shape}% but to the shape of the not starred
+ {\pgfkeysgetvalue{/itf/titlesec/#1/shape}\itf@tp}% sectionning command
+ {\def\itf@tp{hang}}%
+ \pgfkeyslet{/itf/titlesec/#1#2/shape}\itf@tp%
+ }%
+ \pgfqkeys{/itf/titlesec/#1#2}{%
+ shape/.value required,%
+ shape@cs/.initial=\csname ttlh@\pgfkeysvalueof{/itf/titlesec/#1#2/shape}\endcsname,% constant
+ shape@cs/.is private=interface-titlesec,% constant
+ font/.store as code,%
+ format/.alias*=font,%
+ label/.store as code,%
+ sep/.estore as glue,%
+ labelsep/.alias*=sep,%
+ before/.store as code,%
+ after/.store as code,%
+ indent first/.true=\pgfkeyssetvalue{/itf/titlesec/#1#2/indent first}{\@ne},%
+ indent first/.false=\pgfkeyssetvalue{/itf/titlesec/#1#2/indent first}{\z@},%
+ identfirst/.alias=indent first,%
+ indent first=true,%
+ left/.estore as glue,%
+ top/.estore as glue,%
+ bottom/.estore as glue,%
+ right/.estore as glue,%
+ break/.code=\ifblank{##1}
+ {\cslet{#1break}\@empty}
+ {\protected\csdef{#1break}{##1}},%
+ break*/.code=\protected\apptocs{#1break}{##1},%
+ break+/.alias=break*,%
+ mark/.code=\ifblank{##1}
+ {\cslet{#1mark}\@gobble}
+ {\protected\long\csdef{#1mark}####1{##1}},%
+ mark/.default=,%
+ }% \pgfkeys
+ \ifblank{#2}{% no default marks for stared (numberless) \section*
+ \itf@AfterPackage{interfaces-marks}{% requires interfaces-marks
+ \pgfkeys{/itf/titlesec/#1/mark/.default=\marksthe{#1}{##1}}%
+ }% AfterPackage interfaces-mark
+ \itf@AfterPackage{interfaces-bookmark}{% requires interfaces-bookmark
+ \pgfqkeys{/itf/titlesec/#1}{% does not exist for starred sections
+ bookmark/.is multiple choice,%
+ bookmark/level/.estore in cs=toclevel@#1,% depth of the bookmark
+ bookmark/level/.default=,%
+ bookmark/level/.blank=\ifcsvoid{toclevel@#1}{99}{\csuse{toclevel@#1}},%
+ bookmark/toclevel/.alias=bookmark/level,%
+ bookmark/bold/.code=\ifblank{##1}
+ {\pgfkeyslet{/itf/titlesec/#1/bookmark/bold}\@empty}
+ {\pgfkeyssetvalue{/itf/titlesec/#1/bookmark/bold}{bold=##1,}},%
+ bookmark/bold/.default=true,%
+ bookmark/bold*/.code=\ifblank{##1}
+ {\pgfkeyslet{/itf/titlesec/#1/bookmark/bold*}\@empty}
+ {\pgfkeyssetvalue{/itf/titlesec/#1/bookmark/bold*}{bold*=##1,}},%
+ bookmark/bold*/.default=true,%
+ bookmark/italic/.code=\ifblank{##1}
+ {\pgfkeyslet{/itf/titlesec/#1/bookmark/italic}\@empty}
+ {\pgfkeyssetvalue{/itf/titlesec/#1/bookmark/italic}{italic=##1,}},%
+ bookmark/italic/.default=true,%
+ bookmark/italic*/.code=\ifblank{##1}
+ {\pgfkeyslet{/itf/titlesec/#1/bookmark/italic*}\@empty}
+ {\pgfkeyssetvalue{/itf/titlesec/#1/bookmark/italic}{italic*=##1,}},%
+ bookmark/italic*/.default=true,%
+ bookmark/color/.code=\ifblank{##1}
+ {\pgfkeyslet{/itf/titlesec/#1/bookmark/color}\@empty}
+ {\pgfkeyssetvalue{/itf/titlesec/#1/bookmark/color}{color=##1,}},%
+ bookmark/color/.default=,%
+ bookmark/color*/.code=\ifblank{##1}
+ {\pgfkeyslet{/itf/titlesec/#1/bookmark/color*}\@empty}
+ {\pgfkeyssetvalue{/itf/titlesec/#1/bookmark/color*}{color*=##1,}},%
+ bookmark/color*/.default=,%
+ bookmark/on/.code=\pgfkeyssetvalue{/itf/titlesec/#1/bookmark/on}{disable=false,},%
+ bookmark/on/.value forbidden,%
+ bookmark/off/.code=\pgfkeyssetvalue{/itf/titlesec/#1/bookmark/on}{disable=true,},%
+ bookmark/off/.value forbidden,%
+ bookmark/none/.alias=bookmark/off,%
+ bookmark/style/.code=\ifblank{##1}
+ {\pgfkeyslet{/itf/titlesec/#1/bookmark/style}\@empty}
+ {\pgfkeyssetvalue{/itf/titlesec/#1/bookmark/style}{style=##1,}},%
+ bookmark/style/.default=,%
+ bookmark/.unknown/.code=\pgfkeysEsetvalue{/itf/titlesec/#1/bookmark/other}{\pgfkeyscurrentname={##1}},%
+ bookmark/bold/.initial=,%
+ bookmark/bold*/.initial=,%
+ bookmark/italic/.initial=,%
+ bookmark/italic*/.initial=,%
+ bookmark/color/.initial=,%
+ bookmark/color*/.initial=,%
+ bookmark/on/.initial=,%
+ bookmark/style/.initial=,%
+ }}% \AfterPackage*{interfaces-bookmark}
+ }% not starred (numberless) \section
+ {}% starred/numberless \section*: do not create the keys
+}% \itf@ttl@newsection
+%% bookmarks styles for sectionning commands:
+\@makeother\#
+\itf@AfterPackage{interfaces-bookmark}{%
+ \itf@patch\itf@preapptocmd\addcontentsline % #2=section name in
+ {\begingroup\itf@ttl@BKM{/itf/titlesec/#2/bookmark}}% \addcontentsline
+ {\endgroup}
+ {\PackageInfo{interfaces-titlesec}
+ {Command \string\addcontentsline\space successfully patched!}}
+ {\PackageWarning{interfaces-titlesec}
+ {Patch of \string\addcontentsline\space failed
+ \MessageBreak bookmark-style specs for sections
+ \MessageBreak will be unavailable}}%
+}% AfterPackage interfaces-bookmark
+\catcode`\#=6
+\def\itf@ttl@BKM#1{%
+ \pgfkeysifdefined{#1/.@cmd}
+ {%
+ \edef\itf@tp{% do nothing if the keys are not set (shortcut)
+ \pgfkeysvalueof{#1/bold}%
+ \pgfkeysvalueof{#1/bold*}%
+ \pgfkeysvalueof{#1/italic}%
+ \pgfkeysvalueof{#1/italic*}%
+ \pgfkeysvalueof{#1/color}%
+ \pgfkeysvalueof{#1/color*}%
+ \pgfkeysvalueof{#1/on}%
+ \pgfkeysvalueof{#1/style}}%
+ \ifx\itf@tp\@empty
+ \else
+ \global\pgfkeyslet{#1/bold*}\@empty
+ \global\pgfkeyslet{#1/italic*}\@empty
+ \global\pgfkeyslet{#1/color*}\@empty
+ \expandafter\bookmarksetup\expandafter{\itf@tp}%
+ \pgfkeysifdefined{/itf/bookmark/*}%
+ {% \bookmarksetup{color*=} overwrites \sectionformat...{bookmark/color*=}
+ \pgfkeysgetvalue{/itf/bookmark/*}\itf@tp
+ \expandafter\bookmarksetup\expandafter{\itf@tp}%
+ }
+ {}%
+ \fi}
+ {}%
+}% \itf@ttl@BKM
+%%-----------------------------------------------------------------------------
+%% b o t t o m t i t l e s
+\newrobustcmd*\bottomtitles{\@ifnextchar\bgroup
+ \itf@setbottomtitlespace
+ {\afterassignment\itf@set@bottomtitle@space\itf@sk}%
+}% \bottomtitles
+\def\itf@setbottomtitlespace#1{%
+ \@defaultunits\itf@sk#1\textheight\relax\@nnil
+ \itf@set@bottomtitle@space
+}% \itf@setbottomtitlespace
+\def\itf@set@bottomtitle@space{\edef\bottomtitlespace{\the\itf@sk}}
+\endinput
+%%
+%% End of file `interfaces-titlesec.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-tocloft.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-tocloft.sty
new file mode 100644
index 00000000000..af838e4294b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-tocloft.sty
@@ -0,0 +1,380 @@
+%%
+%% This is file `interfaces-tocloft.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `tocloft')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-tocloft}
+ [2010/07/23 v1.0 pgfkeys macros for tocloft (FC)]
+\RequirePackage{interfaces-base}
+\itf@Check@Package{tocloft}
+\itf@pgfkeys
+\newrobustcmd\tocsetup[1]{%
+ \AfterPreamble{\itf@pgfkeys\pgfqkeys{/itf/tocloft/toc}{#1}}%
+}% \tocsetup
+\newrobustcmd\lofsetup[1]{%
+ \AfterPreamble{\itf@pgfkeys\pgfqkeys{/itf/tocloft/lof}{#1}}%
+}% \lofsetup
+\newrobustcmd\lotsetup[1]{%
+ \AfterPreamble{\itf@pgfkeys\pgfqkeys{/itf/tocloft/lot}{#1}}%
+}% \lotsetup
+\newrobustcmd\listofsetup[2]{%
+ \AfterPreamble{\itf@pgfkeys\pgfqkeys{/itf/tocloft/#1}{#2}}%
+}% \listofsetup
+
+\def\itf@cft@newlistof#1{%
+ \pgfqkeys{/itf/tocloft/#1}{%
+ pagestyle/.code=\tocloftpagestyle{##1},%
+ parskip/.store in skip cs=cftparskip,%
+ parsep/.alias=parskip,%
+ mark/.store in cs=cftmark#1,%
+ marks/.alias=mark,%
+ label/.store as code,%
+ ref/.store as code,%
+ ref/.initial=\csname cft#1title\endcsname,% overwritten (toc,lof,lot)
+ ref/.default=\csname cft#1title\endcsname,% overwritten (toc,lof,lot)
+ ref/.blank=\pgfkeysnovalue,%
+ title/.store as code in cs=cft#1title,% overwritten below for toc, lof and lot
+ title/top/.store in skip cs=cftbefore#1titleskip,%
+ beforetitleskip/.alias*=title/top,%
+ title/bottom/.store in skip cs=cftafter#1titleskip,%
+ aftertitleskip/.alias*=title/bottom,%
+ title/font/.store as code in cs=cft#1titlefont,%
+ title/format/.alias*=title/font,%
+ title/after/.store as code in cs=cftafter#1title,%
+ dotsep/.code=\itf@units@mu\itf@musk{##1}% converts to mu
+ \edef\cftdotsep{\itf@strip@mu\itf@musk},%
+ dotsep/.default=4.5mu,%
+ dotsep/.blank=\cftnodots,%
+ dot/.store in=\cftdot,%
+ before/.store as code,%
+ after/.store as code,%
+ columns/before@hook/.is private=interfaces-tocloft,%
+ columns/after@hook/.is private=interfaces-tocloft,%
+ columns/before@hook/.initial=,%
+ columns/after@hook/.initial=,%
+ columns/.code={\ltx@ifpackageloaded{multicol}{%
+ \pgfkeysEsetvalue\pgfkeyscurrentkey{\number##1}%
+ \ifnum\number##1>\@ne
+ \pgfkeysgetvalue{/itf/tocloft/#1/columns/before@hook}\itf@tp
+ \ifx\itf@tp\@empty
+ \pgfkeyssetvalue{/itf/tocloft/#1/columns/before@hook}{%
+ \begingroup
+ \multicolsep\pgfkeysvalueof{/itf/tocloft/#1/multicolsep}\relax
+ \begin{multicols}{\pgfkeysvalueof{/itf/tocloft/#1/columns}}%
+ \columnseprule\pgfkeysvalueof{/itf/tocloft/#1/columns/rule}\relax
+ \columnsep\pgfkeysvalueof{/itf/tocloft/#1/columns/sep}\relax
+ \pgfkeysgetvalue{/itf/tocloft/#1/columns/rule/color}\columnseprulecolor
+ \pgfkeysvalueof{/itf/tocloft/#1/multicols/begin}%
+ }%
+ \pgfkeyssetvalue{/itf/tocloft/#1/columns/after@hook}{%
+ \pgfkeysvalueof{/itf/tocloft/#1/multicols/end}%
+ \end{multicols}
+ \endgroup
+ }%
+ \fi
+ \else
+ \pgfkeyslet\pgfkeyscurrentkey\@ne
+ \pgfkeyslet{/itf/tocloft/#1/columns/before@hook}\@empty
+ \pgfkeyslet{/itf/tocloft/#1/columns/after@hook}\@empty
+ \fi}
+ {\PackageError{interfaces-tocloft}
+ {Key `columns': package multicol is required}\@eha}%
+ },%
+ columns/.default=2,columns/.blank=1,%
+ multicol/.alias=columns,%
+ multicols/.alias=columns,%
+ twocolumns/.true=\pgfkeysalso{columns=2},%
+ twocolumns/.false=\pgfkeysalso{columns=1},%
+ columns/rule/.store as dimen,%
+ columns/rule/.default=\columnseprule,%
+ columns/rule,% assign default
+ columnseprule/.alias*=columns/rule,%
+ columns/sep/.store as dimen,%
+ columns/sep/.default=\columnsep,%
+ columns/sep/.blank=10\p@,%
+ columns/sep,% assign default
+ columnsep/.alias*=columns/sep,%
+ columns/rule/color/.store as color command,%
+ columns/rule/color,% assign default (\normalcolor)
+ columnseprulecolor/.alias*=columns/rule/color,%
+ columns/rulecolor/.alias*=columns/rule/color,%
+ multicolsep/.store as glue,%
+ multicolsep/.default=0pt plus4pt minus3pt,%
+ multicolsep,% sets default
+ multicols/begin/.initial=,multicols/begin/.default=,%
+ multicols/before/.alias=multicols/begin,%
+ multicols/end/.initial=,multicols/end/.default=,%
+ multicols/after/.alias=multicols/end,%
+ }% \pgfkeys
+ \itf@AfterPackage{interfaces-bookmark}{%
+ \pgfqkeys{/itf/tocloft/#1}{%
+ bookmark/.is multiple choice,%
+ bookmark/bold/.true=\pgfkeysaddvalue{/itf/tocloft/#1/bookmark}{}{,bold=true},%
+ bookmark/bold/.false=\pgfkeysaddvalue{/itf/tocloft/#1/bookmark}{}{,bold=false},%
+ bookmark/italic/.true=\pgfkeysaddvalue{/itf/tocloft/#1/bookmark}{}{,italic=true},%
+ bookmark/italic/.false=\pgfkeysaddvalue{/itf/tocloft/#1/bookmark}{}{,italic=false},%
+ bookmark/color/.code=\pgfkeysaddvalue{/itf/tocloft/#1/bookmark}{}{,color={##1}},%
+ bookmark/level/.code=\pgfkeysEaddvalue{/itf/tocloft/#1/bookmark}{}{level={%
+ \ifcsname toclevel@##1\endcsname
+ \csname toclevel@##1\endcsname
+ \else##1\fi}},%
+ bookmark/text/.store as code,%
+ bookmark/text/.default=\contentsname,%
+ bookmark/.unknown/.code=\pgfkeysEaddvalue{/itf/tocloft/#1/bookmark}{}{\pgfkeyscurrentname={##1}},%
+ bookmark/.initial=,%
+ }% \pgfkeys
+ }% AfterPackage interfaces-bookmark
+ %% while making a format \jobname is expanded to the name of the format... Therefore, the following commands must be expanded \AtEndPreamble
+ \AtEndPreamble{%
+ \BeforeFile{\jobname.#1}{%
+ \pgfkeysvalueof{/itf/tocloft/#1/before}%
+ \pgfkeysvalueof{/itf/tocloft/#1/columns/before@hook}%
+ }%
+ \AfterFile{\jobname.#1}{%
+ \pgfkeysvalueof{/itf/tocloft/#1/columns/after@hook}%
+ \pgfkeysvalueof{/itf/tocloft/#1/after}%
+ }%
+ }%
+ \ifcsname #1setup\endcsname\else
+ \pgfqkeys{/itf/tocloft/#1}{%
+ pagenumbers/.true=\@cftpnumon{#1},%
+ pagenumbers/.false=\@cftpnumoff{#1},%
+ pagenumber/.alias=pagenumbers
+ }%
+ \expandafter\pretocmd\csname @cftmake#1title\expandafter\endcsname
+ \expandafter{\expandafter\itf@tocloft\csname cft#1title\endcsname{#1}{listof#1}}
+ {\PackageInfo{interfaces-tocloft}
+ {Command \expandafter\string\csname @cftmake#1title\endcsname
+ successfully augmented}}
+ {\PackageWarning{interfaces-tocloft}
+ {Command \expandafter\string\csname @cftmake#1title\endcsname
+ \space could not be patched
+ \MessageBreak Keys label and bookmark won't work for \string\listofsetup}}%
+ \fi
+}% \itf@cft@newlistof
+\itf@cft@newlistof{toc}
+\itf@cft@newlistof{lof}
+\itf@cft@newlistof{lot}
+%% Specific to toc only -------------------------------------------------------
+\pgfqkeys{/itf/tocloft/toc}{%
+ depth/.defcounter=tocdepth,%
+ depth/.value required,%
+ tocdepth/.alias=depth,%
+ title/.store as code in cs=contentsname,%
+ contentsname/.alias=title,%
+ ref/.initial=\contentsname,%
+ ref/.default=\contentsname,%
+ pagenumbers/.style={% boolean key
+ part/pagenumbers={#1},chapter/pagenumbers={#1},section/pagenumbers={#1},%
+ subsubsection/pagenumbers={#1},subsubsection/pagenumbers={#1},%
+ paragraph/pagenumbers={#1},subparagraph/pagenumbers={#1}},%
+ pagenumber/.alias=pagenumbers,%
+}%
+%% Specific to lof and lot ----------------------------------------------------
+\pgfqkeys{/itf/tocloft/lof}{%
+ title/.store as code in cs=listfigurename,%
+ listfigurename/.alias=title,%
+ ref/.initial=\listfigurename,%
+ ref/.default=\listfigurename,%
+}%
+\pgfqkeys{/itf/tocloft/lot}{%
+ title/.store as code in cs=listtablename,%
+ listtablename/.alias=title,%
+ ref/.initial=\listtablename,%
+ ref/.default=\listtablename,%
+}%
+\if@cftsubfigopt
+\pgfqkeys{/itf/tocloft}{%
+ lof/pagenumbers/.style={figure/pagenumbers={#1},subfigure/pagenumbers={#1}},%
+ lof/pagenumber/.alias=lof/pagenumbers,%
+ lot/pagenumbers/.style={figure/pagenumbers={#1},subfigure/pagenumbers={#1}},%
+ lot/pagenumber/.alias=lot/pagenumbers,%
+}%
+\else
+\pgfqkeys{/itf/tocloft}{%
+ lof/pagenumbers/.style={figure/pagenumbers={#1}},%
+ lof/pagenumber/.alias=lof/pagenumbers,%
+ lot/pagenumbers/.style={figure/pagenumbers={#1}},%
+ lot/pagenumber/.alias=lot/pagenumbers,%
+}%
+\fi
+\def\itf@cft@name#1.#2.#3\@nil{cft#1\itf@cft@secname{#2}#3}
+\def\itf@cft@secname#1{%
+ \expandafter\itf@cft@sec@name\csname#1\endcsname{#1}%
+}% \itf@cft@secname
+\def\itf@cft@sec@name#1#2{%
+ \ifx#1\chapter chap\else
+ \ifx#1\section sec\else
+ \ifx#1\subsection subsec\else
+ \ifx#1\subsubsection subsubsec\else
+ \ifx#1\paragraph para\else
+ \ifx#1\subparagraph subpara\else
+ \ifx#1\figure fig\else
+ \ifx#1\subsubfigure subfig\else
+ \ifx#1\table tab\else
+ \ifx#1\subtable subtab\else
+ #2\fi
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi
+}% \itf@cft@section@name
+%% tocloft setup for tables sections :
+\pgfkeys{%
+ /handlers/.cft@def/.style={\pgfkeyscurrentpath/.store in cs=\itf@cft@name #1\@nil},%
+ /handlers/.cft@code/.style={\pgfkeyscurrentpath/.store as code in cs=\itf@cft@name #1\@nil},%
+ /handlers/.cft@length/.style={\pgfkeyscurrentpath/.store in skip cs=\itf@cft@name #1\@nil},%
+}
+\def\itf@cft@newsection#1#2{% #1=part / chap / sec / subsec etc., #2 = #1 = toc | lof | lot
+ \pgfqkeys{/itf/tocloft/#2/#1}{%
+ skip/.cft@length=before.#1.skip,%
+ beforeskip/.alias*=skip,%
+ top/.alias*=skip,%
+ indent/.cft@length=.#1.indent,%
+ font/.cft@code=.#1.font,%
+ font/.append code={\pgfkeysalso{/itf/tocloft/#2/#1/pagenumber/font={##1}}},%
+ format/.alias*=font,%
+ number/width/.cft@length=.#1.numwidth,%
+ numwidth/.alias*=number/width,%
+ presnum/.cft@code=.#1.presnum,%
+ number/before/.alias*=presnum,%
+ aftersnum/.cft@code=.#1.aftersnum,%
+ number/after/.alias*=aftersnum,%
+ aftersnumb/.cft@code=.#1.aftersnumb,%
+ title/before/.alias*=aftersnumb,%
+ leader/.cft@def=.#1.leader,%
+ leader/.default=\cftdotfill{\csname\itf@cft@name.#1.dotsep\@nil\endcsname},%
+ leaders/.alias=leader,%
+ dotsep/.code={\itf@units@mu\itf@musk{##1}%
+ \csedef{\itf@cft@name.#1.dotsep\@nil}{\itf@strip@mu\itf@musk}},%
+ dotsep/.default=\cftdotsep,%
+ dotsep/.blank=\cftnodots,%
+ nodots/.code=\csdef{\itf@cft@name.#1.dotsep\@nil}{\cftnodots},%
+ nodots/.value forbidden,%
+ pagefont/.cft@code=.#1.pagefont,%
+ page/font/.alias*=pagefont,%
+ pagenumber/font/.alias*=pagefont,%
+ afterpnum/.cft@code=.#1.afterpnum,%
+ page/after/.alias*=afterpnum,%
+ pagenumber/after/.alias*=afterpnum,%
+ pagenumbers/.on=\@cftpnumon{\itf@cft@secname{#1}},%
+ pagenumbers/.off=\@cftpnumoff{\itf@cft@secname{#1}},%
+ pagenumber/.alias=pagenumbers,%
+ }% \pgfqkeys
+}% \itf@cft@newsection
+\@for\itf@tp:=part,chap,chapter,sec,section,subsec,subsection,%
+ subsubsec,subsubsection,para,paragraph,subpara,subparagraph%
+ \do{\expandafter\itf@cft@newsection\expandafter{\itf@tp}{toc}}%
+\if@cftsubfigopt % \@ifpackagewith{tocloft}{subfig} ??
+ \@for\itf@tp:=fig,figure,subfig,subfigure%
+ \do{\expandafter\itf@cft@newsection\expandafter{\itf@tp}{lof}}%
+ \@for\itf@tp:=tab,table,subtab,subtable%
+ \do{\expandafter\itf@cft@newsection\expandafter{\itf@tp}{lot}}%
+\else
+ \@for\itf@tp:=fig,figure%
+ \do{\expandafter\itf@cft@newsection\expandafter{\itf@tp}{lof}}%
+ \@for\itf@tp:=tab,table%
+ \do{\expandafter\itf@cft@newsection\expandafter{\itf@tp}{lot}}%
+\fi
+\itf@patch\pretocmd\@cftmaketoctitle
+ {\itf@tocloft\contentsname{toc}{tableofcontents}}
+ {\PackageInfo{interfaces-tocloft}
+ {Command \string\@cftmaketoctitle\space successfully augmented}}
+ {\PackageWarning{interfaces-tocloft}
+ {Command \string\@cftmaketoctitle\space could not be patched
+ \MessageBreak label and bookmark keys for \string\tocsetup\space won't work}}%
+\itf@patch\pretocmd\@cftmakeloftitle
+ {\itf@tocloft\listfigurename{lof}{listoffigures}}
+ {\PackageInfo{interfaces-tocloft}
+ {Command \string\@cftmakeloftitle\space successfully augmented}}
+ {\PackageWarning{interfaces-tocloft}
+ {Command \string\@cftmakeloftitle\space could not be patched
+ \MessageBreak label and bookmark keys for \string\lofsetup\space won't work}}%
+\itf@patch\pretocmd\@cftmakelottitle
+ {\itf@tocloft\listtablename{lot}{listoftables}}
+ {\PackageInfo{interfaces-tocloft}
+ {Command \string\@cftmakelottitle\space successfully augmented}}
+ {\PackageWarning{interfaces-tocloft}
+ {Command \string\@cftmakelottitle\space could not be patched
+ \MessageBreak label and bookmark keys for \string\lotsetup\space won't work}}%
+\@makeother\#
+\itf@patch\apptocmd\newlistentry
+ {\itf@cft@newlistof{#2}}
+ {\PackageInfo{interfaces-tocloft}
+ {Command \string\newlistentry\space successfully augmented}}
+ {\PackageWarning{interfaces-tocloft}
+ {Command \string\newlistentry\space could not be patched
+ \MessageBreak \string\listofsetup\space will not work}}%
+\catcode`\#=6
+\def\itf@tocloft#1#2#3{%
+ \expandafter\def\expandafter#1\expandafter{%
+ \expandafter\itf@cft@label
+ \expandafter#1\expandafter{#1}{#2}{#3}}%
+}% \itf@tocloft
+\long\def\itf@cft@label#1#2#3#4{%
+ \def#1{#2}% restore original
+ \begingroup
+ \pgfkeysifdefined{/itf/tocloft/#3/bookmark}
+ {%
+ \raisedhyperdef{interfaces}{#4}{#2}%
+ \pgfkeysgetvalue{/itf/tocloft/#3/bookmark/text}\itf@tp
+ \ifx\itf@tp\@empty\else
+ \pgfkeysgetvalue{/itf/tocloft/#3/bookmark}\@tempa
+ \expandafter\bookmark\expandafter[%
+ \expandafter{\@tempa,dest=interfaces.#4}]%
+ {\pgfkeysvalueof{/itf/tocloft/#3/bookmark/text}}%
+ \global\BKM@startatroottrue
+ \fi}
+ {#2}%
+ \pgfkeysgetvalue{/itf/tocloft/#3/label}\itf@tp
+ \ifx\itf@tp\@empty\else
+ \def\@currentHref{interfaces.#4}%
+ \pgfkeysgetvalue{/itf/tocloft/#3/ref}\@currentlabel
+ \def\@currentlabelname{#2}%
+ \label{\pgfkeysvalueof{/itf/tocloft/#3/label}}%
+ \fi
+ \endgroup
+ \gdef\itf@tp{\def#1{#2}\let\itf@tp\@undefined}% restore original
+ \aftergroup\itf@tp % simple group introduced by tocloft to print \contentsname
+}% \itf@cft@label
+\endinput
+%%
+%% End of file `interfaces-tocloft.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-truncate.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-truncate.sty
new file mode 100644
index 00000000000..fd8ad7ea9b8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-truncate.sty
@@ -0,0 +1,143 @@
+%%
+%% This is file `interfaces-truncate.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `truncate')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-truncate}
+\newrobustcmd\trunctext[3][\TruncateMarker]{% do nothing if width of #3 is less than #2
+ \begingroup
+ \hbadness\maxdimen\hfuzz\vsize
+ \setbox\z@=\hbox to\dimexpr#2\relax{\ignorespaces#3\unskip}%
+ \ifnum\badness>\@M
+ \def\next{\truncate[{#1}]{#2}{#3}}%
+ \else \def\next{#3}%
+ \fi
+ \expandafter\endgroup\next
+}% \trunctext
+\newrobustcmd\htruncadjust[1]{\@testopt
+ {\itf@htruncadjust{#1}}{}%
+}% \htruncadjust
+\long\def\itf@htruncadjust#1[#2]#3{% #1=total width, #2=[x_1,...,x_n], #3=text_1,...,text_n
+ \begingroup
+ \let\itf@trunc@width\@empty
+ \let\itf@istruncated\@gobble % to remove the first comma
+ \let\the@dimen\relax
+ \count@\z@ \dimen@\z@
+ \ifblank{#2}% no optional [x_1,...,x_n] parameters
+ {%
+ \@for\x:=#3\do{%
+ \advance \count@ \@ne
+ \setbox\z@=\hbox{\ignorespaces\x\unskip}%
+ \dimen\count@ = \wd\z@
+ \toks\count@\expandafter{\the\dimen\count@}%
+ \advance\dimen@ \dimen\count@}%
+ }
+ {%
+ \@for\x:=#2\do{%
+ \advance \count@ \@ne
+ \toks\count@\expandafter{\x\p@}%
+ \advance\dimen@ \x\p@
+ \dimen\count@ -\@ne\p@}%
+ }%
+ \advance\count@\@ne \dimendef\itf@freespace=\count@
+ \advance\count@\@ne \dimendef\itf@tempdim=\count@
+ \advance\count@\@ne \dimendef\itf@sum=\count@
+ \count@\z@ %%dimen0=\the\dimen@\quad\number\dimen@\par
+ \itf@freespace\z@ % free space left when w_i < x_i/sum(x_i) * total
+ \@for\x:=#3\do{%
+ \advance \count@ \@ne
+ \ifdim \dimen\count@<\z@ % not measured before
+ \setbox\z@=\hbox{\ignorespaces\x\unskip}%
+ \dimen\count@ = \wd\z@
+ \fi
+ \itf@tempdim = \itf@scaledimen{#1}*\the\toks\count@/\dimen@\relax
+ \ifdim \dimen\count@ > \itf@tempdim
+ \dimen\count@ = \itf@tempdim
+ \edef\itf@istruncated{\itf@istruncated,\the\count@}%
+ \advance\itf@sum by\the\toks\count@
+ \else
+ \advance\itf@freespace \itf@tempdim
+ \advance\itf@freespace -\dimen\count@
+ \fi
+ \edef\itf@trunc@width{\itf@trunc@width\the\count@{\the@dimen\the\count@}}%
+ }%
+%% Free space=\the\itf@freespace\par
+ \ifdim\itf@freespace > \z@ % reinsert free space proportionally
+ \ifx\itf@istruncated\@gobble\else
+ \@for\x:=\itf@istruncated\do{%
+ \advance\dimen\x by\itf@scaledimen\itf@freespace*\the\toks\x/\itf@sum\relax
+ }%
+ \fi\fi
+ \def\the@dimen{\the\dimen}%
+ \edef\itf@trunc@width{\itf@trunc@width}%
+ \expandafter\endgroup
+ \expandafter\def
+ \expandafter\itf@trunc@width
+ \expandafter{\itf@trunc@width}%
+%% total=\the\dimexpr#1\relax
+}% \itf@htruncadjust
+\def\itf@scalefactor#1#2{\strip@pt\dimexpr#1*65536/\number#2\relax}
+\def\itf@scaledimen#1*#2/#3\relax{%
+ \dimexpr\itf@scalefactor{#2}{#3}\dimexpr#1\relax\relax
+}% \itf@scaledimen
+\newcommand*\htruncwidth[1]{% purely expandable
+ \expandafter\itf@htruncwidth\itf@trunc@width\relax\relax\@nnil{#1}%
+}% \htruncwidth
+\def\itf@htruncwidth#1#2#3\@nnil#4{%
+ \ifx\relax#1\itf@trunc@nosuchwidth{#4}%
+ \else\ifnum#1=#4
+ #2%
+ \else
+ \itf@htruncwidth#3\@nnil{#4}%
+ \fi\fi
+}% \itf@htruncwidth
+\def\itf@trunc@nosuchwidth#1{%
+ \PackageError{interfaces-truncate}
+ {You requested the width for text nr#1
+ \MessageBreak but there is no such text
+ \MessageBreak Therefore no such width!}\@ehd
+}% \itf@trunc@nosuchwidth
+\endinput
+%%
+%% End of file `interfaces-truncate.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-umrand.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-umrand.sty
new file mode 100644
index 00000000000..8d3dae71633
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-umrand.sty
@@ -0,0 +1,62 @@
+%%
+%% This is file `interfaces-umrand.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `umrand')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\ProvidesPackage{interfaces-umrand}
+ [2010/07/23 v1.0 patch for umrand.sty ifnotempty (FC)]
+\RequirePackage{interfaces-base}
+\BeforePackage{umrand}{%
+ \let\itf@newif\newif
+ \def\itf@tp{\ifnotempty}%
+ \def\newif#1{\def\x{#1}\ifx\x\itf@tp \expandafter\@gobble
+ \else\expandafter\ltx@newif\fi{#1}}%
+}
+\AfterPackage{umrand}{%
+ \let\newif\itf@newif
+ \let\itf@newif\@undefined
+}
+\endinput
+%%
+%% End of file `interfaces-umrand.sty'.
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces.sty
new file mode 100644
index 00000000000..ee2d6ed1965
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interfaces/interfaces.sty
@@ -0,0 +1,75 @@
+%%
+%% This is file `interfaces.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% interfaces.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC)
+%%
+%% This work 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
+%%
+%% This work consists of the main source file interfaces.dtx
+%% and the derived files
+%% interfaces.sty, interfaces.pdf, interfaces.ins,
+%% interfaces-base.sty,
+%% interfaces-LaTeX.sty,
+%% interfaces-tikz.sty,
+%% interfaces-titlesec.sty,
+%% interfaces-hyperref.sty,
+%% interfaces-bookmark.sty,
+%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
+%% interfaces-fancyhdr.sty,
+%% interfaces-marks.sty,
+%% interfaces-tocloft.sty,
+%% interfaces-makecell.sty,
+%% interfaces-enumitem.sty,
+%% interfaces-truncate.sty,
+%% interfaces-appendix.sty,
+%% interfaces-embedfile.sty,
+%% interfaces-environ.sty,
+%% interfaces-umrand.sty,
+%% interfaces-scrlfile.sty,
+%% interfaces-pgfkeys.sty,
+%% interfaces-etoolbox.sty,
+%% interfaces-fancyvrb.sty
+%%
+%% interfaces: interfaces with keys for other packages (FC)
+%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
+%%
+\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+\ProvidesPackage{interfaces}
+ [2010/10/20 v1.0 - pgfkeys macros for other packages (FC)]
+\RequirePackage{interfaces-base}
+\DeclareOption{LaTeX}{\AtEndOfPackage{\LoadInterface{LaTeX}}}
+\DeclareOption{marks}{\AtEndOfPackage{\LoadInterface{marks}}}
+\def\itf@tp#1{%
+ \DeclareOption{#1}{\AtEndOfPackage{\LoadInterface{#1}}}%
+}% \itf@tp
+\itf@tp{titlesec}
+\itf@tp{hyperref}
+\itf@tp{bookmark}
+\itf@tp{fancyhdr}
+\itf@tp{tocloft}
+\itf@tp{makecell}
+\itf@tp{enumitem}
+\itf@tp{hypbmsec}
+\itf@tp{environ}
+\itf@tp{truncate}
+\itf@tp{appendix}
+\itf@tp{embedfile}
+\itf@tp{fancyvrb}
+\if\relax\@ptionlist{interfaces.sty}\relax % no option given
+ \ExecuteOptions\@declaredoptions % all interfaces are active
+\fi
+\ProcessOptions
+\endinput
+%%
+%% End of file `interfaces.sty'.