diff options
author | Karl Berry <karl@freefriends.org> | 2010-10-25 23:12:18 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-10-25 23:12:18 +0000 |
commit | d74b95d250c7632cb73e7420db04e2e38adc3827 (patch) | |
tree | fbc6763253fbb9d309da7b613857d782ee5feccb /Master/texmf-dist/tex/latex/interfaces | |
parent | ec47c1b7880fd4f626f8aa8377e576e03d72c24f (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')
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'. |