summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/interfaces
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-12-08 23:10:08 +0000
committerKarl Berry <karl@freefriends.org>2010-12-08 23:10:08 +0000
commit683d8229d4e98772f56ad658500561b7dc97ad62 (patch)
tree9a30a0bd8c225ecbb04d2cd08efb81403d304673 /Master/texmf-dist/source/latex/interfaces
parent1dd12f0cdb395b2f0be720638566c238b2354a71 (diff)
interfaces 2.5 (8dec10)
git-svn-id: svn://tug.org/texlive/trunk@20692 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/interfaces')
-rw-r--r--Master/texmf-dist/source/latex/interfaces/interfaces.drv14
-rw-r--r--Master/texmf-dist/source/latex/interfaces/interfaces.dtx1311
-rw-r--r--Master/texmf-dist/source/latex/interfaces/interfaces.ins6
3 files changed, 782 insertions, 549 deletions
diff --git a/Master/texmf-dist/source/latex/interfaces/interfaces.drv b/Master/texmf-dist/source/latex/interfaces/interfaces.drv
index f6d924b8d07..19a9d762218 100644
--- a/Master/texmf-dist/source/latex/interfaces/interfaces.drv
+++ b/Master/texmf-dist/source/latex/interfaces/interfaces.drv
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% interfaces : 2010/11/26 v2.4 - interfaces : interfaces with keys for other packages (FC)
+%% interfaces : 2010/12/07 v2.5 - 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
@@ -46,8 +46,8 @@
\let\CTANLinks=y
\edef\thisfile{\jobname}
\def\thisinfo{interfaces with keys for other packages}
-\def\thisdate{2010/11/26}
-\def\thisversion{2.4\,\textendash\,release candidate}
+\def\thisdate{2010/12/07}
+\def\thisversion{2.5\,\textendash\,release}
\def\CTANbaseurl{http://www.ctan.org/tex-archive/}
\def\LocalOrCTAN#1#2{\ifx y\CTANLinks#2\else#1\fi}
\def\LOCALDOC{file:C:/texmf/doc/latex}
@@ -64,17 +64,19 @@
\usepackage{etoolbox,atveryend,calc}
\usepackage{graphicx,xspace,xcolor,framed}
\usepackage{geometry,lastpage,tocloft,titlesec,hypbmsec,fancyhdr,moresize,relsize}
-\usepackage{enumitem,multirow,makecell,tabularx,booktabs,colortbl,arydshln,dcolumn,delarray,hhline,linegoal}
+\usepackage{enumitem,multirow,makecell,tabularx,booktabs,colortbl,arydshln,dcolumn,delarray,hhline}
+\usepackage[verbose]{linegoal}[2010/12/07]
\usepackage[breakall]{truncate}
\usepackage{appendix}
-\usepackage{interfaces}
+\usepackage{interfaces}[2010/12/07]
\usepackage{holtxdoc,hyperref,bookmark}
\usepackage{embedfile}
\usepackage{fp}
\usepackage{zref,zref-user,zref-savepos}
\usetikz{basic,decorations.pathmorphing}
\csname endofdump\endcsname
-\RequirePackage{tabu}[2010/11/22]
+\RequirePackage[debugshow]{tabu}[2010/12/07]
+\FPmessagestrue
%%\OnlyDescription
\CodelineNumbered
\usepackage{fancyvrb} \fvset{gobble=1}
diff --git a/Master/texmf-dist/source/latex/interfaces/interfaces.dtx b/Master/texmf-dist/source/latex/interfaces/interfaces.dtx
index e7c6eacd426..eef890e5579 100644
--- a/Master/texmf-dist/source/latex/interfaces/interfaces.dtx
+++ b/Master/texmf-dist/source/latex/interfaces/interfaces.dtx
@@ -1,5 +1,5 @@
% \iffalse meta-comment
-% interfaces : 2010/11/26 v2.4 - interfaces with keys for other packages (FC)
+% interfaces : 2010/12/07 v2.5 - 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
@@ -56,7 +56,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: 2010/11/26 v2.4 - interfaces: interfaces with keys for other packages (FC)}
+\Msg{* Package: 2010/12/07 v2.5 - interfaces: interfaces with keys for other packages (FC)}
\Msg{************************************************************************}
\keepsilent
@@ -67,7 +67,7 @@
This is a generated file.
-interfaces : 2010/11/26 v2.4 - interfaces : interfaces with keys for other packages (FC)
+interfaces : 2010/12/07 v2.5 - 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
@@ -160,8 +160,8 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\let\CTANLinks=y
\edef\thisfile{\jobname}
\def\thisinfo{interfaces with keys for other packages}
-\def\thisdate{2010/11/26}
-\def\thisversion{2.4\,\textendash\,release candidate}
+\def\thisdate{2010/12/07}
+\def\thisversion{2.5\,\textendash\,release}
\def\CTANbaseurl{http://www.ctan.org/tex-archive/}
\def\LocalOrCTAN#1#2{\ifx y\CTANLinks#2\else#1\fi}
\def\LOCALDOC{file:C:/texmf/doc/latex}
@@ -178,17 +178,19 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\usepackage{etoolbox,atveryend,calc}
\usepackage{graphicx,xspace,xcolor,framed}
\usepackage{geometry,lastpage,tocloft,titlesec,hypbmsec,fancyhdr,moresize,relsize}
-\usepackage{enumitem,multirow,makecell,tabularx,booktabs,colortbl,arydshln,dcolumn,delarray,hhline,linegoal}
+\usepackage{enumitem,multirow,makecell,tabularx,booktabs,colortbl,arydshln,dcolumn,delarray,hhline}
+\usepackage[verbose]{linegoal}[2010/12/07]
\usepackage[breakall]{truncate}
\usepackage{appendix}
-\usepackage{interfaces}
+\usepackage{interfaces}[2010/12/07]
\usepackage{holtxdoc,hyperref,bookmark}
\usepackage{embedfile}
\usepackage{fp}
\usepackage{zref,zref-user,zref-savepos}
\usetikz{basic,decorations.pathmorphing}
\csname endofdump\endcsname
-\RequirePackage{tabu}[2010/11/22]
+\RequirePackage[debugshow]{tabu}[2010/12/07]
+\FPmessagestrue
%%\OnlyDescription
\CodelineNumbered
\usepackage{fancyvrb} \fvset{gobble=1}
@@ -214,8 +216,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%</driver>
% \fi
%
-% \CheckSum{5655}
-%
+% \CheckSum{5820}
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -281,7 +282,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \DoNotIndex{\afterassignment,\csxdef,\cslet,\csletcs,\csgdef,\csedef,\csdef,\csappto,\csundef,\csuse,\ClassError,\cl@section,\~}
% \makeatletter
%
-%
+% \newcommand*\tikzlabel[2][]{\tikz[{remember picture,#1}]\coordinate ({#2});}
% \colorlet{pkgcolor}{teal} \protected\def\pkgcolor{\color{pkgcolor}}
% \def\descfont{\normalfont\bfseries}
% \newrobustcmd*\FC{{\color{copper}\usefont{T1}{fts}xn FC}}
@@ -343,14 +344,6 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \newrobustcmd\csbf[2][\macrocodecolor]{\texorpdfstring{\textbf{\cs[{#1}]{#2}}}{\@backslashchar#2}}
% \let\doc@meta\meta
% \renewrobustcmd*\meta[2][\macrocodecolor]{\doc@meta{#1{#2}}}
-% \newrobustcmd\hyperdefanchor[2][\z@]{^^A
-% \ifdim#1>\z@
-% \edef\HyperRaiseLinkHook{^^A
-% \def\noexpand\HyperRaiseLinkHook{\expandonce\HyperRaiseLinkHook}^^A% restore current definition
-% \advance\noexpand\HyperRaiseLinkLength by\dimexpr#1\relax\relax}^^A
-% \fi
-% \Hy@raisedlink{\hyper@anchorstart{#2}\hyper@anchorend}^^A
-% }
% \renewrobustcmd\declcs[2][]{^^A
% \par\addvspace\parskip^^A{.5ex plus 1ex}\noindent
% \goodbreak
@@ -360,7 +353,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \begin{tabular}{|l|}^^A
% \hline
% \expandafter\SpecialUsageIndex\csname #2\endcsname
-% \hyperdefanchor[8pt]{declcs.#2}{\cs[{#1}]{#2}}^^A
+% \raisedhyperdef[8pt]{declcs}{#2}{\cs[{#1}]{#2}}^^A
% }^^A
% \renewcommand\enddeclcs{%
% \crcr \hline
@@ -393,13 +386,13 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \noindent\ignorespacesafterend
% }^^A enddeclcs*
% \newrobustcmd\keytab[2][ol]{\makecell[tl]{^^A
-% \begin{tabular}[t]{#1}
+% \begin{tabu}[t]{#1}
% #2
-% \end{tabular}}}
+% \end{tabu}}}
% \newrobustcmd\xkeytab[2][oX]{\makecell[tl]{^^A
-% \begin{tabularx}\linegoal[t]{#1}
+% \begin{tabu} to\linegoal[t]{#1}
% #2
-% \end{tabularx}}}
+% \end{tabu}}}
% \def\@makeactive#1{\catcode`#1\active}
% {\@makeactive\*
% \gdef\staractive{\@makeactive\*\def*{\expandafter\stform\string*}\expandafter\let\expandafter\*\expandafter=\string*
@@ -480,10 +473,16 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% mark=\marksthe{subsubsection}{##1}\marksthecs{subsubsectionanchor}{lastsubsubsectionanchor}}
% \hfuzz=10pt
% \section{Implementation} \label{sec:implementation}}
+%
% \let\plainllap\llap
-% \newrobustcmd\macro@llap[1]{\let\llap\plainllap\setbox\z@\hbox{#1}\ifdim\wd\z@>3cm\hbox to\z@{\hss\hbox to3cm{#1\hss}}\else\hbox to\z@{\hss#1}\fi\setbox\z@\box\voidb@x}
-% \pretocmd\macro{\let\llap\macro@llap}{}{}
-% \apptocmd\endmacro{\goodbreak}{}{}
+% \newrobustcmd\macro@llap[1]{\global\let\llap\plainllap\setbox0\hbox{#1}^^A
+% \ifdim\wd0>3cm\hbox to\z@{\hss\hbox to3cm{#1\hss}}^^A
+% \edef\@tempa{\the\everypar\hskip\dimexpr\the\wd0-3cm\relax\global\everypar{}}%
+% \global\everypar\expandafter{\@tempa}^^A
+% \else\hbox to\z@{\hss#1}\fi
+% \setbox\z@\box\voidb@x}
+% \pretocmd\macro{\MacrocodeTopsep=\z@skip\MacroTopsep\z@skip\let\llap\macro@llap\parsep=\z@\topsep=\z@\itemsep=\z@\partopsep\z@}{}{}
+% \apptocmd\endmacro{\goodbreak\vskip.3\parskip}{}{}
%
% \newcommand\reflinkcolor{\color{reflink}}\definecolor{reflink}{rgb}{0.49,0.00,0.00}
% \definecolor{reffilecolor}{rgb}{0,.3,0}
@@ -501,7 +500,6 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% {\errmessage{cle de section #1 non definie!}}
% {\expandafter\expandafter\expandafter\subsection\csname itf@section@#1\endcsname}%
% }
-%
% \sectionformat\section{%
% font=\Large\bfseries,
% label=\llap{\arabic{section}},
@@ -557,7 +555,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% (\ie they will be loaded or not, depending on your document preamble).
% If you prefer not to use all modules, you can load them separately as a package, for example, type:
% \usepackage*{interfaces-titlesec} \textitbf{after} \usepackage{titlesec}.
-% A better way is to add \usepackage*{interface-base} to your preamble, and then:\, \LoadInterface{titlesec,tocloft}\,
+% A better way is to add \usepackage*{interfaces-base} to your preamble, and then:\, \LoadInterface{titlesec,tocloft}\,
% indifferently before or after \usepackage{titlesec,tocloft}. Another possibility to restrict the modules
% is to give them as options for the main package:
% \cs[\lk]{usepackage}\M*[\xpackage{titlesec,tocloft}]\M*{{\pkgcolor interfaces}}.
@@ -727,7 +725,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \tikz\draw [cm={-1,0,0,0,(0,0)},anchor=east,decoration=snake,decorate,thick] (0,1) -- ++(3,0);
% }
% {\footnotesize\def\theadfont{\bfseries\sffamily} \letcs\rowcolor{@gobble}\letcs\columncolor{@gobble}\arrayrulewidth=.8pt
-% \begin{tabularx}\linewidth{>{\columncolor{AliceBlue}}X:>{\columncolor{LemonChiffon}}X:*{2}{>{\columncolor{AntiqueWhite}}X}}\firsthline
+% \begin{tabu} to\linewidth{>{\columncolor{AliceBlue}}X:>{\columncolor{LemonChiffon}}X:*{2}{>{\columncolor{AntiqueWhite}}X}}\firsthline
% \rowcolor{white} \thead{TikZ/pgf package} &\thead{pgfmodules} &\multicolumn{2}{c}{\thead{TikZ libraries}} \\ \hline
% pgf &matrix &arrows &decorations.pathreplacing \\
% pgfmath &plot &chains &decorations.shapes \\
@@ -751,7 +749,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% & & &calc \\
% & & &matrix \\
% \hline
-% \end{tabularx}}
+% \end{tabu}}
%
% {\scriptsize\raggedleft sorry for the blank cell, but I didn't get out with \xpackage{colortbl} and the \cs{multicolumn} entry...\par}
%
@@ -797,7 +795,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \tikz\draw [cm={-1,0,0,0,(0,0)},anchor=east,decoration=snake,decorate,thick] (0,1) -- ++(3,0);
% }
% {\small
-% \begin{tabularx}\linewidth{>{\ttfamily\opt}ll>{\smaller}X}\hline
+% \begin{tabu} to\linewidth{>{\ttfamily\opt}ll>{\smaller}X}\hline
% class &name of the class &\key{page}=like standard \cs{part}\par\key{top}=like standard \cs{chapter}\par\key{straight}=like standard \cs{section} etc.\par example:\cs[\red]{sectionformat}\cs{subchapter}\M*{\ttfamily{\opt class}=straight[\cs{chapter}]} \\
% shape &shape &\key{hang}=hanging label (like \cs{section})\par\key{block}=paragraph without formatting (for centered titles)\par\key{display}=like standard \cs{chapter}\par\key{runin}=like standard \cs{paragraph}\par\key{leftmargin}=left margin\par\key{rightmargin}=right margin\par\key{drop}=wraps the text around the title \textsmaller{(the first paragraph should be longer than the title, otherwise, they overlap)}\par\key{wrap}=like \key{drop} but the space reserved for the title is variable\par\key{frame}=like \key{display}+puts the title in frame\par\key{runinifempty}=\key{hang} but no label if the title is empty\par \\
% font\EQUIV format &format for title &applied to the label and the title \\
@@ -813,14 +811,14 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% before &code before title body & \\
% after &code after title body & \\
% \hline
-% \end{tabularx}
+% \end{tabu}
% }
%
%
% If the \xpackage{bookmark} package is loaded, with \thispackage[interfaces-bookmark], the following keys are defined for each section:
%
% {\small
-% \begin{tabularx}\linewidth{>{\ttfamily\opt}ll>{\smaller}X}\hline
+% \begin{tabu} to\linewidth{>{\ttfamily\opt}ll>{\smaller}X}\hline
% bookmark/bold &bold bookmark text &the text of the bookmark for that sectionning command will be \textbf{bold} \\
% bookmark/italic &italic bookmark text &the text of the bookmark for that sectionning command will be in \textit{italic} \\
% bookmark/color &colored bookmark text &the text of the bookmark for that sectionning command will be {\opt colorized} \\
@@ -828,7 +826,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% bookmark/style &use a \emph{style} &the \emph{style} must be previouly declared with \cs{bookmarkdefinestyle} \\
% bookmark/level &level of the bookmark &defines \cs{toclevel@\meta{sectionname}}, see \xpackage{bookmark} documentation \\
% \hline
-% \end{tabularx}
+% \end{tabu}
% }
%
% The syntax: \cs[\red]{sectionformat}\cs[\rred]{subsection}\M*{{\opt bookmark}=\M*{bold,italic,color=green,on,view=FitB}} also works.
@@ -837,7 +835,8 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%
%
%
-% The starred keys \textt[\opt]{bold}\stform*, \textt[\opt]{italic}\stform* and \textt[\opt]{color}\stform* are also provided.
+% The starred keys \textt[\opt]{bold}\stform*, \textt[\opt]{italic}\stform*, \textt[\opt]{color}\stform*
+% and \textt[\opt]{off}\stform* are also provided.
% For example:
% \begin{Verb*}
% \sectionformat\section{
@@ -857,14 +856,16 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% }
% {\vspace*{-10pt}\small
% \begin{Verb*}[frame=lines]
-% $cs[$red](sectionformat)$cs[$rred](section)[$texttbf(hang)]{% ($nnn this is the same as:) shape = hang
-% ($opt font)=\bfseries\scshape,
-% ($opt label)=\Roman{chapter}\ \textbullet\ \arabic{section},
-% ($opt bottom)=1ex plus.4ex minus.2ex,
-% ($opt top$stform+)=3pt,
+% ($red(\sectionformat\section))[$texttbf(hang)]{% ($nnn this is the same as:) shape = hang
+% ($opt(font))=\bfseries\scshape,
+% ($opt(label))=\Roman{chapter}\ \textbullet\ \arabic{section},
+% ($opt(labelsep))=\widthof{\textbullet},
+% ($opt(bottom))=1ex plus.4ex minus.2ex,
+% ($opt(top$stform+))=3pt,
% ($opt(mark))=\markright{$#1},% ($nnn=> this defines ) \def\sectionmark#1{\markright{#1}}
-% ($opt(break))=\goodbreak %($nnn=> this defines ) \def\sectionbreak{\goodbreak}
-% ($opt(thesection))=\Roman{chapter}.\arabic{section} } %($nnn redefines ) \def\thesection{...}
+% ($opt(break))=\goodbreak, % ($nnn=> this defines ) \def\sectionbreak{\goodbreak}
+% ($opt(thesection))=\Roman{chapter}.\arabic{section}, %($nnn redefines ) \def\thesection{...}
+% ($opt(bookmark))={bold,color=blue} }
% \end{Verb*}
% }
% {\small
@@ -873,7 +874,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \titleformat{name=\section,numberless}{...}
% \end{Verb*}
%
-% One swallow does not a summer make, \thispackage[interface-titlesec] does not provides this feature in a \textt{key=value} stuff
+% One swallow does not a summer make, \thispackage[interfaces-titlesec] does not provides this feature in a \textt{key=value} stuff
% but just type:
% \begin{Verb*}
% ($red(\sectionformat))\section$stform*{ key=value }
@@ -1004,11 +1005,11 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \end{Verb*}
%
% Macros for each sectionning command are defined:§
-% \begin{tabularx}\linewidth{XXX}
+% \begin{tabu}{XXX}
% \cs[\opt]{lastparttitle} &\cs[\opt]{lastchaptertitle} & \\
% \cs[\opt]{lastsectiontitle} &\cs[\opt]{lastsubsectiontitle} &\cs[\opt]{lastsubsubsectiontitle} \\
% \cs[\opt]{lastparagraphtitle} &\cs[\opt]{lastsubparagraphtitle} & \\
-% \end{tabularx}
+% \end{tabu}
% with their \textt[\opt]{\textellipsis bookmark} and \textt[\opt]{\textellipsis toc} counterparts.
%
% Assignation to those macros is automatic. More precisely, \cs{lastsectiontitle} is defined {\bfseries after \cs{sectionbreak}}
@@ -1021,7 +1022,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% Values are automatically reset to \csbf{relax} when a section of a superior level is created.
%
% This feature has been implemented essentially to make the use of a \cs{mark} command at \cs{sectionbreak} easier.
-% Mark at \cs{sectionbreak} is important to get the correct behaviour for marks described in \thispackage[interface-marks]
+% Mark at \cs{sectionbreak} is important to get the correct behaviour for marks described in \thispackage[interfaces-marks]
% (page \pageref{marks} under \csref{ifmarksequal}). With this feature, when a new \cs{section} is created,
% \cs{lastsubsection} is reset to\, \csbf{relax}\, therefore,\, \cs{marksthecs}\M{subsection}\M{lastsubsection}
% will not mark anything.
@@ -1049,14 +1050,15 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%
% \begin{declcs}[\red]{tocsetup}\{\hskip-2.2cm\staractive
% \makecell[tl]{\small
-% \begin{tabularx}\linewidth[t]{oX}
-% depth &\cs{setcounter}\M\*{tocdepth} {\smaller This is a \LaTeX{} rather than \xpackage{tocloft}'s ...} \endgraf However with \thispackage you can change the t.o.c. depth anywhere inside your document, just like bookmarks depths (two runs are required) \\
+% \begin{tabu}[t]{oX}
+% depth &\cs{setcounter}\M\*{tocdepth} {\smaller This is a \LaTeX{} rather than \xpackage{tocloft}'s ...} \endgraf With \thispackage you can change the t.o.c. depth anywhere inside your document, just like bookmarks depths (two runs are required) \\
% title\OR contentsname &redefines \cs{contentsname} \\
% title/top\OR title/top\stform+\OR title/top\stform-\OR title/top\stform* &vertical space before the title (set\OR add\OR substract\OR scale) \\
% title/bottom \OR title/bottom\stform+ \etc &vertical space after the title \\
-% title/font\OR title/font* &the title font (set\OR append code) \\
-% title/after\OR title/after* &hook to execute just after the title {\smaller(\cs{cftaftertoctitle}...)} \\
-% parskip\OR parskip\stform+ \etc \OR parsep &modifies (or add to) \cs{cftparskip} \\
+% title/font\OR title/font\stform+\OR title/format &the title font (set\OR append code) \\
+% title/color\OR title/font/color &the color of the title (may also be defined in the key \textt{title/font}) \\
+% title/after\OR title/after\stform+ &hook to execute just after the title {\smaller(\cs{cftaftertoctitle}...)} \\
+% parskip\OR parskip\stform+\OR parskip\stform-\OR parskip* \OR parsep &modifies (or add to) \cs{cftparskip} \\
% dotsep &modifies \cs{cftdotsep} {\smaller if no dimen is specified, $mu$ is assumed, otherwise, conversion to $mu\simeq 1em/18$ is supplied. Default value is $4.5mu$ and blank value is the same as \cs{cftnodots}} \\
% dot &modifies \cs{cftdot}, the dot used for leaders produced by \cs{cftdotfill} \\
% pagestyle &page style for the first page (\cs{tocloftpagestyle}) \\
@@ -1074,36 +1076,37 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% bookmark/text &the bookmark text for the table of contents {\footnotesize(if empty, no bookmark is set)} \\
% bookmark/bold\OR bookmark/italic\OR bookmark/color &the bookmark style for the table of contents \\
% bookmark/level &the bookmark level: either a number or \textt[\db]{section} or \textt[\db]{chapter}\endgraf{\footnotesize Default is chapter, or section if the class does not provide chapters.} \hfill\rlap\}
-% \end{tabularx}}
-% \end{declcs}
-%
+% \end{tabu}}
+% \end{declcs}§
% \textt[\opt]{bookmark} key and sub-keys are available only if the package \xpackage{bookmark} is loaded with \thispackage[interfaces-bookmark].
%
% The following keys apply to each section levels. Section level names are :
% \texttt{part / chap {\it or} chapter / sec {\it or} section / subsec {\it or} subsection / subsubsec {\it or} subsubsection /
% para {\it or} paragraph / subpara {\it or} subparagraph / fig {\it or} figure / subfig {\it or} subfigure / tab {\it or} table / subtab {\it or} subtable}.§
% \textcolor{LimeGreen}{\smaller\textbf\textparagraph} may be one of those names (see \doclink{tocloft} documentation).
+% \enlargethispage{2\baselineskip}\vspace*{-6pt}\nobreak
%
-%
-% \begin{declcs}[\red]{tocsetup}\{\\
-% \staractive\def\Z{\textcolor{LimeGreen}{\smaller\textbf\textparagraph}\/}%
+% \begin{declcs}[\red]{tocsetup}\{\hskip-2.2cm\staractive
+% \def\Z{\textcolor{LimeGreen}{\smaller\textbf\textparagraph}\/}%
% \makecell[tl]{\small
-% \begin{tabularx}\linewidth[t]{>{\opt}r@{\,=\,}X}
+% \begin{tabu}[t]{oX}
% \Z/top\OR \Z/top\stform+\OR \Z/skip\OR \Z/beforeskip &modifies (or add to) the vertical \meta{glue} before an entry \\
% \Z/indent\OR \Z/indent\stform+\OR\Z/indent\stform-\OR\Z/indent* &modifies (or add \etc) the indentation of the entry \\
-% \Z/font\OR \Z/font* &the font of the \Z\, section title \\
-% \Z/number/width\OR number/width\stform+\OR numwidth &modifies the space allowed to typeset the title numbers \\
-% \Z/number/before\OR number/before*\OR presnum &code before the section number \textsmaller{(see pseudo code below)} \\
-% \Z/number/after\OR number/after*\OR aftersnum &code after the section number \textsmaller{(see pseudo code below)} \\
-% \Z/title/before\OR title/before*\OR aftersnumb &code before the title (\ie after the section number box) \\
+% \Z/font\OR \Z/font\stform+ &the font of the \Z\, section title \\
+% \Z/color\OR \Z/font/color &the color of the \Z\, section title (overwrites \textt{linkcolor} if hyper-linked) \\
+% \Z/number/width\OR number/width\stform+ \etc\OR numwidth &modifies the space allowed to typeset the title numbers \\
+% \Z/number/before\OR number/before\stform+\OR presnum &code before the section number \textsmaller{(see pseudo code below)} \\
+% \Z/number/after\OR number/after\stform+ \OR aftersnum &code after the section number \textsmaller{(see pseudo code below)} \\
+% \Z/title/before\OR title/before\stform+ \OR aftersnumb &code before the title (\ie after the section number box) \\
% \Z/leader\OR\Z/leaders &modifies the leader: \textsmaller{the default is \cs{cftdotfill}\texttt{\{\cs{cft\Z dotsep}\}}} \\
-% \Z/dotsep &the space (in $mu$) between dots in the leader. \textsmaller{Default is \cs{cftdotsep} and blank value is the same as \cs{cftnodots}} \\
-% \Z/pagefont\OR \Z/page/font\OR \Z/pagenumber/font &modifies the font used to typeset the page number \\
+% \Z/dotsep &the space (in $mu$) between dots in the leader. Default is \cs{cftdotsep} and blank value is the same as \cs{cftnodots} \\
+% \Z/pagefont\OR \Z/page/font\OR \Z/page/number/font &modifies the font used to typeset the page number \\
+% \Z/page/number/color \OR \Z/page/number/font/color &the color of the page numbers for this section (overwrites \textt{linkcolor} if the page number if hyper-linked) \\
% \Z/page/after\OR \Z/pagenumber/after\OR afterpnum &macro expanded after the page number is typeset \kern2cm\} \\
-% \end{tabularx}}
+% \end{tabu}}
% \end{declcs}
%
-% \ClearPage*
+% \clearpage
%
% \centerline{\bfseries\large\lk
% \tikz\draw [decoration=snake,decorate,thick] (0,1) -- ++(3,0);
@@ -1125,12 +1128,42 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%
% This command is provided to setup the parameters of user-defined lists created with \xpackage{tocloft}'s \cs{newlistof} and
% printed with \cs{listofX} (where\, \textt X\, is the name given to the list). The keys are the same as \csref[\red]{tocsetup},
-% but there is no sub-keys for \textt{section}, \textt{subsection} \etc.
+% and the sub-keys correspond to the entries. In fact:
+%
+% \begin{itemize}
+% \item \cs{tocsetup} is a shortcut for \cs{listofsetup}\M*{toc}
+% \item \cs{lofsetup} is a shortcut for \cs{listofsetup}\M*{lof} \, and
+% \item \cs{lotsetup} is a shortcut for \cs{listofsetup}\M*{lot}
+% \end{itemize}
+%
+% Example:
+%
+% \begin{Verb*}
+% \newlistof[section]{answer}{ans}{List of Answers} $tikzlabel(start)
+% \newlistentry[answer]{subanswer}{ans}{1} $tikzlabel(stop)
+% ($rred(\listofsetup)){ans}{
+% depth=2, % can be changed inside the document body
+% title=List of Answers of the section,% modifies the title
+% title/font=\Huge,
+% answer/font=\Large\bfseries, % font spec.
+% subanswer/font=\large\itshape,
+% answer/dotsep=3mu,
+% subanswer/dotsep=, % no dot
+% subanswer/pagenumbers=off,
+% }
+% \addcontentsline{ans}{answer}{\numberline{1}First answer}
+% \addcontentsline{ans}{subanswer}{\numberline{1.1}First sub-answer}
+% \listofanswer
+% \end{Verb*}
+%
+% \tikz[remember picture,overlay]\path (start) -- (stop) node [midway,right] {\begin{tabu}\}{X[-1]}. preferably in\\ the preamble\end{tabu}};
+%
+% \clearpage
%
% \Section[fancyhdr]({\cs{pagesetup} (fancyhdr)})[{Interface fancyhdr: \cs[\red]{pagesetup}}]{\sectitle{fancyhdr}: \cs[\mdseries\red]{pagesetup}}
% \begin{declcs}[\red]{pagesetup}\M[pagestyle-name]\{\\ \relax\staractive\smaller \def\etc{\omit\hfill\emph{etc.}\hfill}\def\phant{\hphantom{{=\textellipsis\,\hskip.5em}}}
-% \begin{tabularx}\linewidth[t]{OOO>{\scriptsize}X}
-% \omit\hfill {\opt\ttfamily norule}\phant &\omit &\omit &set \cs{headrulewidth} and \cs{footrulewidth} to 0pt \\
+% \begin{tabu} to\linewidth[t]{OOO>{\scriptsize}X}
+% \omit\hfill {\opt\ttfamily norule\OR norules}\phant &\omit &\omit &set \cs{headrulewidth} and \cs{footrulewidth} to 0pt \\
% rule\OR rule/width\[*\stform+\stform-\] &\omit &\omit &set \cs{headrulewidth} and \cs{footrulewidth} to a given value \\
% rule/color &rule/font &\omit &To change the rule font/color \\
% headrule &footrule &\omit &redefines \cs{headrule} and \cs{footrule} (no value restores default) \\
@@ -1155,7 +1188,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% inner/offset &head/inner/offset &foot/inner/offset&\textt{inner} is an alias for \textt{right/even, left/odd} \\
% outer/offset &head/outer/offset &foot/outer/offset&\textt{outer} is an alias for \textt{left/even, right/odd} \\ \hdashline[1.5pt/1pt]
% pagestyle &\omit &\omit &load the settings of another page style \hfill\rlap{\}} \\
-% \end{tabularx} \\
+% \end{tabu} \\
% \cs[\red]{pagesetup}\stform*\M[pagestyle-name]\M*{key\,=\,value}
% \end{declcs}
%
@@ -1177,9 +1210,11 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \csuse{@gobble}{(\smaller they are not provided for \textt{offsets} however, for dim reasons..)}. And for code (\textt{font} keys) the
% \stform+ and \stform* keys are provided: both append their content to the previous value.
%
+% \clearpage
+%
% \Section[marks](Interface marks)[Interface marks]{Interface marks}
%
-% \thispackage[interface-marks] provides a few macros to make easier the use of \eTeX{} \cs{marks} registers.
+% \thispackage[interfaces-marks] provides a few macros to make easier the use of \eTeX{} \cs{marks} registers.
% \eTeX{} defines \numprint{32768} marks registers, making the use of them far more comfortable than ``old'' \LaTeX{} \cs{markboth},
% \cs{markright}, \cs{leftmark} and \cs{rightmark}. Who gets the correct -- I mean \emph{expected} -- result
% with such commands ? Not me, I can say !
@@ -1335,19 +1370,19 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%
% If you specify the rows as a comma separated list of values, the following sequences are also admissible in \textt[\opt]{text}:\par\nobreak
%
-% \begin{tabularx}\linewidth{>{\ttfamily}p{\widthof{\cs[\pkgcolor]{C}\cs[\pkgcolor]{column}}}X}
+% \begin{tabu} to\linewidth{>{\ttfamily}p{\widthof{\cs[\pkgcolor]{C}\cs[\pkgcolor]{column}}}X}
% \cs[\pkgcolor]{R}\cs[\pkgcolor]{row} &refer to the value of the list for the current row. \cs[\pkgcolor]{r} is the same {\smaller(unless you defined a formula named \textt[\pkgcolor]{r}).} \\
% \cs[\pkgcolor]{R}\M{n} &to the value of the list for row \M{n} \\
-% \end{tabularx}
+% \end{tabu}
%
% If the number of rows is specified as an integer, then \cs[\pkgcolor]R\cs[\pkgcolor]{row},\, \cs[\pkgcolor]r\, and \,\cs[\pkgcolor]{row}
% are equal (to the current row index).
%
% Similarly if you specify the columns as a comma separated list of values, the following sequences are provided:\par\nobreak
-% \begin{tabularx}\linewidth{>{\ttfamily}m{\widthof{\cs[\pkgcolor]{C}\cs[\pkgcolor]{column}}}X}
+% \begin{tabu} to\linewidth{>{\ttfamily}X[-1m]X[m]}
% \cs[\pkgcolor]{C}\cs[\pkgcolor]{column} &refer to the value of the list for the current column. \cs[\pkgcolor]{c} {\smaller is the same, unless you defined a formula named \textt[\pkgcolor]{c}.} \\
% \cs[\pkgcolor]{C}\M{m} &to the value of the list for column \M{m} \\
-% \end{tabularx}
+% \end{tabu}
%
% If the number of columns is specified as an integer, then \cs[\pkgcolor]C\cs[\pkgcolor]{row},\, \cs[\pkgcolor]c\, and\, \cs[\pkgcolor]{col}
% are equal {\smaller(to the current column index)}.
@@ -1494,7 +1529,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% §
% \def\listofx{ -4 , -2 , 0 , 2.25 , 7 }
% $$\begin{tabu}{|c<{\bottopstrut}|*{5}{|D..{5.5}}|} \hline
-% \rowfont{\large\color{db}}
+% \rowfont{\ifmmode$\large$\else\large\fi\color{db}}
% x &\repeatcell\listofx{ text=\C\column } \\ \hline\hline
% f(x)=2x-3 &\repeatcell\listofx{ fx = $2*\c-3$, text=\fx } \\ \hline
% x^2 &\repeatcell\listofx{ xsquare = $\C\column^2$ , text = \xsquare } \\ \hline
@@ -1503,7 +1538,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \centerline{\$\cs{pgfmath}\$ computations}§
%
% $$\begin{tabu}{|c<{\bottopstrut}|*{5}{|D..{5.5}}|} \hline
-% \rowfont{\large\color{db}}
+% \rowfont{\ifmmode$\large$\else\large\fi\color{db}}
% x &\repeatcell\listofx{ text=\C\column } \\ \hline\hline
% f(x)=2x-3 &\repeatcell\listofx{ fx = {$$round(2*\c-3,5)$$}, text=\fx } \\ \hline
% x^2 &\repeatcell\listofx{ xsquare = {$$round(abs(\C\column)^2,5)$$} , text = \xsquare } \\ \hline
@@ -1549,7 +1584,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \ifdim#1pt<17pt denutrition\else \ifdim#1pt<19pt skinniness\else \ifdim#1pt<26pt normal\else
% \ifdim#1pt<30pt obesity\else \ifdim#1pt<35pt serious obesity\else morbid obesity\fi\fi\fi\fi\fi}}
%
-% \iftrue ^^A set to true to compute.
+% \iffalse
% \begin{tabu}{*{\countvalues\heightlist}{|c}|} \hline
% \repeatcell\heightlist{%
% rows=\weightlist,
@@ -1591,14 +1626,15 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%
% \Section[enumitem](Interface enumitem)[Interface enumitem]{\sectitle{enumitem}: \cs[\red]{setlist}}
%
-% \begin{declcs}[\red]{setlist}\hphantom{\stform*}\M[environment,level]\{\\
-% \hphantom{\cs{setlist}\stform*}\smaller\xkeytab[olX]{
+% \begin{declcs}[\red]{setlist}\hphantom{\stform*}\M*[environment,level,environment,level,\etc]\{\\
+% \hphantom{\cs{setlist}\stform*}^^A
+% \xkeytab[olX]{
% label &the label to be used \\
% font &the label font \\\hdashline[1.5pt/1pt]
% topsep &vertical space before the list \\
% partopsep &vertical space \\
% parsep &value of \cs{parskip} inside the list \\
-% itemsep &vertical space between two items \\\hdashline[1.5pt/1pt]
+% itemsep &vertical space between two items \\\hdashline[1.5pt/1pt]
% leftmargin &the list left margin \\
% rightmargin &the list right margin \\
% listparindent &the value of \cs{parindent} inside the list \\
@@ -1606,7 +1642,25 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% labelsep &horizontal space between label and following text \\
% itemindent &the indentation of the items \kern4cm \}
% } \\
-% \cs[\red]{setlist}\stform*\M[environment,level]\M*{key=value}
+% \cs[\red]{setlist}\stform*\M[environment,level,environment,level,\etc]\M*{key=value}
+% \end{declcs}
+%
+% \begin{declcs}[\red]{setlist}\hphantom{\stform*}\M*[environment,level,environment,level,\etc]\{\\
+% \hphantom{\cs{setlist}\stform*}\xkeytab[oX]{
+% label &the label to be used \\
+% font &the label font \\\hdashline[1.5pt/1pt]
+% topsep &vertical space before the list \\
+% partopsep &vertical space \\
+% parsep &value of \cs{parskip} inside the list \\
+% itemsep &vertical space between two items \\\hdashline[1.5pt/1pt]
+% leftmargin &the list left margin \\
+% rightmargin &the list right margin \\
+% listparindent &the value of \cs{parindent} inside the list \\
+% labelwidth &the width of the label box \\
+% labelsep &horizontal space between label and following text \\
+% itemindent &the indentation of the items \kern4cm \}
+% } \\
+% \cs[\red]{setlist}\stform*\M[environment,level,environment,level,\etc]\M*{key=value}
% \end{declcs}
%
% Enumerated lists, description lists or itemize lists can be defined by \xpackage{enumitem}
@@ -1658,6 +1712,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \end{enumerate}
% And the following follows...
%
+% \clearpage
% \Section[truncate](Interface truncate)[Interface truncate]{\sectitle{truncate}}
%
% The package \xpackage{truncate} by Donal Arseneau provides the command:
@@ -1751,7 +1806,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \qquad (\htruncwidth 1\,,\,\htruncwidth 2\,,\,\htruncwidth 3\,,\,total=\the\wd0).}
% }
%
-%
+% \clearpage
% \sectionformat\section{bookmark={color=black,bold=false}}
%
% \Section[appendix]({\cs{appendices} (appendix)})[{Interface appendix}]{\sectitle{appendix} and the appendices environment}
@@ -1784,7 +1839,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \cs{embedthisfile}\stform* embeds only the main file.
%
% {\smaller
-% This macro could disapear from \thispackage[interface-embedfile] if it is added to the main package...
+% This macro could disapear from \thispackage[interfaces-embedfile] if it is added to the main package...
% Depending on Mr~Oberdiek moods {\Large\Smiley}.}
%
%
@@ -1819,24 +1874,26 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% }
% {
% \def\temp{%
-% \handler/.blank/ &replace blank value by another value \\
-% \handler/.is private/ &throws an error if the key is used in an assignment \\
-% \handler/.store in cs/\, \handler/.estore in cs/ &like \handler/.store in/ but with \cs{csname}...\cs{endcsname} \\
-% \handler/.true/\, \handler/.false/, \handler/.on/\, \handler/.off/ &\handler/.is choice/ shortcut for boolean keys \\
-% \handler/.is multiple choice/ &like \handler/.is choice/ but more than on choice can be selected at a time \\
-% \handler/.is enum/ &\handler/.is choice/ shortcut for enumerated keys\endgraf also provides the \textt{/key\handler/.number/} key to get the numeric index of the selected choice. \\
-% \handler/.store as code/, \handler/.estore as code/ &store value (\emph{expanded value}) in the key. Created \stform+ and \stform* keys to append code \\
-% \handler/.store as code in cs/, \handler/.estore as code in cs/ &store value (\emph{expanded value}) in a cs-name rather than in the key. Created \stform+ and \stform* keys to append code \\
-% \handler/.store as color/, \handler/.store as color command/ &store the color (\emph{the color command}) in the key. \\
-% \handler/.store as color in cs/, \handler/.store as color command in cs/ &the same, store in the cs-name rather than in the key \\
-% \handler/.store as number/, \handler/.estore as number/ &store an integer in the key (\stform-\, \stform+\, and\, \stform* keys are provided to add, substract and multiply) \\
-% \handler/.store as number in cs/, \handler/.estore as number in cs/ &the same, but stores into a cs-name rather than in the key \\
-% \handler/.store as glue/, \handler/.estore as glue/ &store a glue in the key (\stform+\, \stform-\, and\, \stform* keys are provided to add, substract or scale) \\
-% \handler/.store as glue in cs/, \handler/.estore as glue in cs/ &the same, store in a given named control sequence \\
-% \handler/.store in skip cs/ &store the glue inside a \cs{skip} register rather than in a macro \\
-% \handler/.store as dimen/, \handler/.estore as dimen/ &store a dimen in the key (with \stform+\, \stform-\, and\, \stform* keys for addition, substraction and scaling) \\
-% \handler/.store as dimen in cs/, \handler/.estore as dimen in cs/ &the same, store in a given named control sequence rather than in the key itself \\
-% \handler/.store in dimen cs/ &store the dimension into a \cs{dimen} register rather than in a macro \\
+% \handler/.blank/ &Replaces blank value by another value. \\
+% \handler/.is private/ &Throws an error if the key is used in an assignment \\
+% \handler/.store in cs/\, \handler/.estore in cs/ &Like \handler/.store in/\, but with \cs{csname}...\cs{endcsname} \\
+% \handler/.true/\, \handler/.false/,\handler/.on/\, \handler/.off/ &\handler/.is choice/ shortcut for boolean keys \\
+% \handler/.is multiple choice/ &Like \handler/.is choice/ but more than on choice can be selected at a time \\
+% \handler/.is enum/ &\handler/.is choice/ shortcut for enumerated keys\endgraf also provides the \textt{/key\handler/.number/} key to get the numeric index of the selected choice. \\
+% \handler/.store as code/,\handler/.estore as code/ &Stores the given value in the key itself. \stform+ and \stform* keys are creted to append code.\endgraf The same but stores the \emph{expanded value}. \\
+% \handler/.store as code in cs/,\handler/.estore as code in cs/ &Stores the given value in a cs-name rather than in the key. \stform+ and \stform* keys are created to append code.\endgraf The same but stores the \emph{expanded value}. \\
+% \handler/.store as color/,\handler/.store as color command/ &Stores the color in the key itself.\endgraf The same but stores the color \emph{command}. \\
+% \handler/.store as color in cs/,\handler/.store as color command in cs/ &Stores the color in a cs-name rather than in the key.\endgraf The same but stores the color \emph{command}. \\
+% \handler/.store as number/,\handler/.estore as number/ &Stores an integer in the key (\stform-\, \stform+\, and\, \stform* keys are provided to add, substract and multiply). \\
+% \handler/.store as number in cs/,\handler/.estore as number in cs/ &The same, but stores into a cs-name rather than in the key. \\
+% \handler/.store in counter cs/ &The same, but stores into a \TeX{} counter. \\
+% \handler/.store as glue/,\handler/.estore as glue/ &Stores a glue expression in the key (\stform+\, \stform-\, and\, \stform* keys are provided to add, substract or scale).\endgraf The same, but stores the \emph{computed value} of the glue, not its expression. \\
+% \handler/.store as glue in cs/,\handler/.estore as glue in cs/ &The same, but stores in a given cs-name rather than in the key itself. \\
+% \handler/.store in skip cs/ &The same, but stores the glue inside a \TeX{} \cs{skip} register. \\
+% \handler/.store as dimen/,\handler/.estore as dimen/ &Store a dimen expression in the key (with \stform+\, \stform-\, and\, \stform* keys for addition, substraction and scaling).\endgraf The same, but stores the \emph{computed value} of the dimen, not its expression. \\
+% \handler/.store as dimen in cs/,\handler/.estore as dimen in cs/ &The same, but stores in a given cs-name rather than in the key itself. \\
+% \handler/.store in dimen cs/ &Stores the dimension into a \TeX{} \cs{dimen} register rather than in a macro. \\
+% \handler/.alias/,\handler/.alias\stform*/ &Creates an alias for the key.\endgraf The same, but also creates the alias for the \stform+, \stform- and \stform* keys if they exist. \\
% }
%
% \smaller
@@ -1845,6 +1902,11 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \expandafter\parsetest\temp\END
% \bottomrule
% \end{tabu}
+%
+% \begin{tabu}{X[-1m]X[m]}\toprule
+% \expandafter\parsetest\temp\END
+% \bottomrule
+% \end{tabu}
% }
%
% The command \cs[\dg]{pgfkeysmeaning} is provided (with \cs{providecommand}): it expands to the meaning of the given pgfkey.
@@ -1871,7 +1933,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \pgfkeys{/base/path/my key$handler/.value required/}
% \end{Verb*}
%
-% With \thispackage[interface-pgfkeys] it is also possible to give a \handler/.default/ or/and a \handler/.blank/
+% With \thispackage[interfaces-pgfkeys] it is also possible to give a \handler/.default/ or/and a \handler/.blank/
% value to a handler, or on the other hand to say that a handler must have (\handler/.value required/)
% or does not suffer (\handler/.value forbidden/) a value.
% (this feature was not implemented in \xpackage{pgfkeys.code.tex}).
@@ -1942,7 +2004,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \pgfkeys{/path/format=bold,/path/format=italic,path/format={color=...}}
% \end{Verb*}
%
-% {\itshape The \textt{bookmark} key of \csref[\red]{sectionformat} (in \thispackage[interface-titlesec]) is a good example.}
+% {\itshape The \textt{bookmark} key of \csref[\red]{sectionformat} (in \thispackage[interfaces-titlesec]) is a good example.}
%
% \subsection[/.is enum]{Handler definition: \handler/.is enum/}
%
@@ -2190,13 +2252,13 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%
% The modification occurs only if the given module of \thispackage is loaded.
% For example, \cs{addcontentsline} is modified only if packages \xpackage{titlesec} and \xpackage{bookmark} are
-% loaded, \textitbf{and if} \thispackage[interface-titlesec] and \thispackage[interface-bookmark] are loaded.
+% loaded, \textitbf{and if} \thispackage[interfaces-titlesec] and \thispackage[interfaces-bookmark] are loaded.
%
% \makeatletter \newcounter{PatchedCommand}
% \newcolumntype\X{>{\centering\arraybackslash}X}
% \newrobustcmd\PatchedCommand[4][]{\begin{small}\stepcounter{PatchedCommand}%
% \hbox{\llap{\Pisymbol{\number\numexpr181+\value{PatchedCommand}}\,\,}
-% \begin{tabularx}\linewidth{|\X|c|\X|\X|c|}\hline
+% \begin{tabu} to\linewidth{|X[c]|c|X[c]|X[c]|c|}\hline
% Patched command &Type & Importance &Module & ref. page \\\hline
% \makecell[l]{\repeatcell{#2}{text=\csbf[\macrocodecolor]{\c},transpose}}
% &
@@ -2216,7 +2278,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% {}
% {\pageref{patch-\itf@getvalue{#2}1}}%
% \\ \hline
-% \end{tabularx}}\end{small}}
+% \end{tabu}}\end{small}}
% \makeatother
%
% \begin{smaller}
@@ -2235,7 +2297,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% can be used inside \textt{document} as well.
%
%
-% \PatchedCommand[LaTeX]{addcontentsline}{interface-titlesec,interface-bookmark}{1}
+% \PatchedCommand[LaTeX]{addcontentsline}{interfaces-titlesec,interfaces-bookmark}{1}
%
% \cs{addcontentsline} does a lot a thing and in particular it expands the \cs{bookmark} command (if the \xpackage{bookmark} package is loaded,
% otherwise it's hyperref). As long as \cs[\red]{sectionformat} can drive the attributes of the bookmark for each section, it is necessary
@@ -2243,7 +2305,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%
% This is achived by \cs{itf@ttl@BKM}, placed at the beginning of \cs{addcontentsline}.
%
-% \PatchedCommand[LaTeX]{@input}{interface-scrlfile}{1}
+% \PatchedCommand[LaTeX]{@input}{interfaces-scrlfile}{1}
%
% The \cs{input} primitive (same as \LaTeX{} control sequence \cs{@@input}) is surrounded by
% \cs{scr@load@hook}\M*{before}...\cs{scr@load@hook}\M*{after}:
@@ -2270,7 +2332,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%
% \subsection[bookmark]{\xpackage{bookmark} \cs{\backslashchar bookmark}}
%
-% \PatchedCommand[bookmark]{bookmark}{interface-bookmark}{2}
+% \PatchedCommand[bookmark]{bookmark}{interfaces-bookmark}{2}
%
% The \stform* keys for \cs{bookmarksetup} (\textt{italic\stform*},\, \textt{color\stform*},\, \textt{bold\stform*},\, and \textt{disable\stform*})
% are local to the group, but govern only the very next bookmark.
@@ -2286,10 +2348,16 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \item is it necessary to restore previous values after write (\ie \cs{aftergroup}) ?
% \end{enumerate}
%
+% \subsection[tocloft]{\xpackage{tocloft} \cs{\backslashchar newlistof}}
+%
+% \PatchedCommand[tocloft]{newlistof}{interfaces-tocloft}{1}
+%
+%
+%
% \ClearPage
% \subsection[colortbl]{\xpackage{colortbl}}
%
-% \PatchedCommand[colortbl]{CT@cellc,endarray}{interface-makecell}{1}
+% \PatchedCommand[colortbl]{CT@cellc}{interfaces-makecell}{1}
%
% \xpackage{colortbl} modifies the preamble of tabulars: it put each cell in a box, sets the color and then displays the box.
% The example shown page \pageref{repeatcell:colors} does not work without a minor modification: the color specification must
@@ -2311,12 +2379,6 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% }
% \end{Verb*}
%
-% \csbf{endarray}: missed \cs{@arrayleft} in the redefinition of \xpackage{colortbl}, then
-% compatibility with \xpackage{delarray} is broken. Bug fixed by \thispackage[interfaces-base].
-%
-% Same problem for \xpackage{arydshln} who redefines \cs{endarray}, taking care of \xpackage{colortbl}
-% but not of \xpackage{delarray}. Bug fixed by \thispackage[interfaces-base].
-%
% Remember \xpackage{arydshln} must be loaded after \xpackage{colortbl} (this is not due to \thispackage,
% but to the fact that both redefine \cs{@classz} from the \xpackage{array} package).
%
@@ -2372,7 +2434,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{interfaces}
- [2010/11/26 v2.4 - pgfkeys (pgf 2.0 et 2.1 macros for interfaces (FC)]
+ [2010/12/07 v2.5 - pgfkeys (pgf 2.0 et 2.1 macros for interfaces (FC)]
% \end{macrocode}
%
% \subsubsection{Requirements}
@@ -2413,8 +2475,8 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \begin{macrocode}
%<*base>
\ProvidesPackage{interfaces-base}
- [2010/11/26 v2.4 Basic macros for interfaces package (FC)]
-\RequirePackage{etex,ltxcmds,etoolbox,pgfkeys,scrlfile}
+ [2010/12/07 v2.5 Basic macros for interfaces package (FC)]
+\RequirePackage{etex,ltxcmds,etoolbox,pgfkeys,scrlfile,infwarerr}
\AtEndOfPackage{%
\RequirePackage{interfaces-etoolbox}%
\RequirePackage{interfaces-scrlfile}%
@@ -2469,39 +2531,39 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \end{macrocode}
% \end{macro}
%
-% \subsubsection{Bug Fixes}
-%
-% David Carlisle's \xpackage{colortbl} is not compatible with David Carlisle's \xpackage{delarray}!!
-%
-% Bug Fixed by \thispackage[interfaces-base]. At the same time, the bug exist as well in \xpackage{arydshln}
-% and we fix it.
-%
-% \begin{macro}{\endarray}
-% \patchlabel{endarray}
-% \begin{macrocode}
-\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
-% \end{macrocode}
-% \end{macro}
+% ^^A% \subsubsection{Bug Fixes}
+% ^^A%
+% ^^A% David Carlisle's \xpackage{colortbl} is not compatible with David Carlisle's \xpackage{delarray}!!
+% ^^A%
+% ^^A% Bug Fixed by \thispackage[interfaces-base]. At the same time, the bug exist as well in \xpackage{arydshln}
+% ^^A% and we fix it.
+% ^^A%
+% ^^A% \begin{macro}{\endarray}
+% ^^A% \patchlabel{endarray}
+% ^^A% \begin{macrocode}
+% ^^A\AfterPackage*{colortbl}{%
+% ^^A \renewcommand*\endarray{%
+% ^^A \crcr \egroup \egroup \@arrayright \gdef\@preamble{}\CT@end}%
+% ^^A}% AfterPackage colortbl
+% ^^A\AfterPackage*{arydshln}{%
+% ^^A \ltx@ifpackageloaded{colortbl}
+% ^^A {% colortbl
+% ^^A \def\endarray{%
+% ^^A \adl@endarray \egroup \adl@arrayrestore \CT@end \egroup %<original>
+% ^^A \@arrayright % <FC>
+% ^^A \gdef\@preamble{}% <FC>
+% ^^A }%
+% ^^A }
+% ^^A {% no colortbl
+% ^^A \def\endarray{%
+% ^^A \adl@endarray \egroup \adl@arrayrestore \egroup %<original>
+% ^^A \@arrayright % <FC>
+% ^^A \gdef\@preamble{}% <FC>
+% ^^A }%
+% ^^A }%
+% ^^A}% AfterPackage arydshln
+% ^^A% \end{macrocode}
+% ^^A% \end{macro}
%
%
% \subsubsection{Interfaces patches}
@@ -2512,7 +2574,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \begin{macrocode}
\AfterPackage{colortbl}{%
{\ltx@ifpackageloaded{arydshln}
- {\PackageWarning{interfaces-base}
+ {\@PackageWarningNoLine{interfaces-base}
{The package arydshln should be loaded after colortbl
\MessageBreak because both redefine \string\@classz}}%
{}}%
@@ -2566,11 +2628,19 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\catcode`\#=6%
\let\itf@tp#2%
#1\itf@tp{#3}{#4}%
- {\let#2\itf@tp
+ {\ifx#1\patchcmd \itf@patch@inside@{#1}{#3}{#4}\fi
+ \let#2\itf@tp
\AtBeginDocument{#5}%
}
{#6}%
}% \itf@patch@inside (for \patchcmd)
+\def\itf@patch@inside@#1#2#3{%
+ \loop
+ \let\@tempa \itf@tp
+ #1\itf@tp{#2}{#3}{}{}%
+ \unless\ifx \@tempa\itf@tp
+ \repeat
+}% \itf@patch@inside@
% \end{macrocode}
% \end{macro}
%
@@ -2653,6 +2723,74 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%
% \subsubsection{Units and math units}
%
+% \begin{macro}{\itf@setlength}
+%
+% To be able to write: \cs{pgfkeys}\M*{key=\cs{widthof\M*{some text}}} (package \xpackage{calc}),
+% \thispackage[interfaces-base] defines \cs{itf@setlength}:
+%
+% \begin{macrocode}
+\protected\def\itf@setlength#1#2{#1\glueexpr#2\relax}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\itf@units@scale}
+%
+% For multiplication of units: \cs{glueexpr}...\cs{relax}*\cs{itf@units@scale}\meta{scaling factor}!
+%
+% The scaling factor can be a fraction or a real number. Real numbers are approximated by a fraction
+% of 65536.
+%
+% \begin{macrocode}
+%% 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@scale@normalize
+\def\itf@units@scaleNoCalc#1!{\itf@units@scale@normalizeNoCalc#1/\@nnil/\@nil}
+\let\itf@units@scale@normalizeNoCalc \itf@units@scale@normalize
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\itf@setlength@calc}
+%
+% The version for the \xpackage{calc} package. \xpackage{calc} removes stretch
+% and shrink components of glues when a scaling operation is done using \cs{real}
+% or \cs{ratio}. This limitation is lifted for \textt{key=value} assignments.
+%
+% \begin{macro}{\itf@units@scale@normalize@calc}
+%
+% The version of \cs{itf@units@scale@normalize} when using the \xpackage{calc} package.
+%
+% \cs{ratio} is used.
+%
+% \begin{macrocode}
+\protected\def\itf@setlength@calc#1#2{\begingroup
+ \let\calc@multiply@by@real \itf@calc@multiply@by@real
+ \let\calc@Adimen \itf@calc@Askip \let\calc@Bdimen \itf@calc@Bskip
+ \setlength{#1}{#2}%
+ \expandafter\endgroup\expandafter#1\the#1\relax
+}% \itf@setlength@calc
+\def\itf@units@scale@normalize@calc#1/#2/#3\@nil{%
+ \ifx#2\@nnil 1*\ratio{\dimexpr#1pt\relax}\p@
+ \else 1*\ratio{\dimexpr#1pt\relax}/{\dimexpr#2pt\relax}%
+ \fi
+}% \itf@units@scale@normalize@calc
+\def\itf@calc@multiply@by@real#1{%
+ \calc@Bdimen\glueexpr\calc@B*\number\dimexpr#1pt\relax/65536\relax
+ \calc@B\calc@Bdimen
+}% \itf@calc@multiply@by@real
+\AfterPackage*{calc}{%
+ \newskip\itf@calc@Askip \newskip\itf@calc@Bskip
+ \let\itf@setlength \itf@setlength@calc
+ \let\itf@units@scale@normalize \itf@units@scale@normalize@calc
+}% AfterPackage calc
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \begin{macro}{\itf@strip@mu}
%
% This is the equivalent of \LaTeX's \cs{strip@pt} but for math units:
@@ -2744,25 +2882,6 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\itf@units@scale}
-%
-% For multiplication of units: \cs{glueexpr}...\cs{relax}*\cs{itf@units@scale}\meta{scaling factor}!
-%
-% The scaling factor can be a fraction or a real number. Real numbers are approximated by a fraction
-% of 65536.
-%
-% \begin{macrocode}
-%% 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
-% \end{macrocode}
-% \end{macro}
%
% \subsubsection{Default color}
%
@@ -2806,7 +2925,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \begin{macrocode}
%<*LaTeX>
\ProvidesPackage{interfaces-LaTeX}
- [2010/10/31 v2.0 pgfkeys macros for LaTeX (FC)]
+ [2010/12/07 v2.5 pgfkeys macros for LaTeX (FC)]
\RequirePackage{interfaces-base}
\itf@pgfkeys
% \end{macrocode}
@@ -2844,16 +2963,23 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
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/.estore 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,%
+ @linespread/.estore as dimen,%
+ @linespread/.append code=
+ \pgfkeysgetvalue{/itf/LaTeX/changefont/@linespread}\pgfkeys@temp
+ \ifx\pgfkeys@temp\@empty \let\pgfkeys@temp \p@ \fi
+ \edef\f@linespread{\expandafter\rem@pt\pgfkeys@temp}%
+ \set@fontsize\f@linespread\f@size\f@baselineskip,%
+ @linespread/.initial=\p@,%
+ linespread/.code=\@defaultunits\itf@sk #1pt\relax\@nnil
+ \pgfkeysalso{/itf/LaTeX/changefont/@linespread=\itf@sk},%
+ linespread+/.code=\@defaultunits\itf@sk #1pt\relax\@nnil
+ \pgfkeysalso{/itf/LaTeX/changefont/@linespread+=\itf@sk},%
+ linespread-/.code=\@defaultunits\itf@sk #1pt\relax\@nnil
+ \pgfkeysalso{/itf/LaTeX/changefont/@linespread-=\itf@sk},%
+ linespread*/.alias=@linespread*,%
spread/.alias*=linespread,%
}% \pgfkeys definitions for \changefont
\itf@AfterPackage{color}{%
@@ -2876,7 +3002,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \begin{macrocode}
%<*tikz>
\ProvidesPackage{interfaces-tikz}
- [2010/11/26 v2.4 load tikz libraries easily - pgf 2.0 & 2.1 (FC)]
+ [2010/12/07 v2.5 load tikz libraries easily - pgf 2.0 & 2.1 (FC)]
\RequirePackage{interfaces-base}
\itf@pgfkeys
% \end{macrocode}
@@ -3065,7 +3191,7 @@ turtle%
% \begin{macrocode}
%<*titlesec>
\ProvidesPackage{interfaces-titlesec}
- [2010/11/15 v2.1 pgfkeys macros for titlesec (FC)]
+ [2010/12/07 v2.5 pgfkeys macros for titlesec (FC)]
\RequirePackage{interfaces-base}
\RequirePackage{auxhook}% <fix for \ttlp@append (odd/even pages)>
\RequirePackage{gettitlestring}
@@ -3082,13 +3208,15 @@ turtle%
\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@
+ \expandafter\edef\csname itf@ttlkeys.def\endcsname{%
+ \catcode32 \the\catcode32\relax
+ \catcode37 \the\catcode37\relax
+ \endlinechar\the\endlinechar\relax}%
+ \catcode37 14\relax % percent=comment (inside .dtx files...)
+ \catcode32 9\relax % ignore spaces
+ \endlinechar\m@ne % and line feeds
}
+\AfterFile*{ttlkeys.def}{\csname itf@ttlkeys.def\endcsname}%
% \end{macrocode}
%
% \begin{macro}{\ttlh@runinifempty}
@@ -3144,10 +3272,15 @@ turtle%
{\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}}%
+ \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}}%
+ {\ifttl@explicit
+ \expandafter\expandafter\expandafter%
+ \itf@ttl@getformat\csname ttlf@#1#2\endcsname{}{/itf/titlesec/#1#2}%
+ \else
+ \expandafter\expandafter\expandafter%
+ \itf@ttl@getformat\csname ttlf@#1#2\endcsname{/itf/titlesec/#1#2}%
+ \fi}%
}% \itf@ttl@setup
\def\itf@ttl@setkey#1#2{\begingroup
\def\x{\pgfkeysvalueof{#1}}\def\y{#2}%
@@ -3199,9 +3332,20 @@ turtle%
or there is no a \itf@tp.tss file}}%
\endgroup}
{}%
- \ifttl@explicit\@temptokena{\csdef{ttlf@\ttl@a}##1}%
+ \ifttl@explicit \begingroup
+ \pgfkeysgetvalue{#2#3/before}\pgfkeys@temp
+ \toks@\expandafter{\pgfkeys@temp}%
+ \edef\x{\endgroup\def\noexpand\itf@tp####1{\the\toks@}}%
+ \x \pgfkeyslet{#2#3/before@cmd}\itf@tp
+ \@temptokena{\csdef{ttlf@\ttl@a}##1}%
+ \the\@temptokena{%
+ \pgfkeysvalueof{#2#3/shape@cs}%
+ {\pgfkeysvalueof{#2#3/font}}%
+ {\pgfkeysvalueof{#2#3/label}}%
+ {\pgfkeysvalueof{#2#3/sep}}%
+ {\pgfkeysvalueof{#2#3/before@cmd}{##1}}%
+ {\pgfkeysvalueof{#2#3/after}}}%
\else\@temptokena{\csdef{ttlf@\ttl@a}}%
- \fi
\the\@temptokena{%
\pgfkeysvalueof{#2#3/shape@cs}%
{\pgfkeysvalueof{#2#3/font}}%
@@ -3209,6 +3353,7 @@ turtle%
{\pgfkeysvalueof{#2#3/sep}}%
{\pgfkeysvalueof{#2#3/before}}%
{\pgfkeysvalueof{#2#3/after}}}%
+ \fi
\csname ttl@compat\ttl@a\endcsname
\ttl@spacing@ii
{\pgfkeysvalueof{#2#3/indent first}}%
@@ -3285,7 +3430,7 @@ turtle%
}%
}%
\itf@AfterPackage{interfaces-tocloft}{%
- \itf@cft@newsection{#1}{toc}%
+ \itf@cft@newsection{toc}{#1}%
}%
\itf@AfterPackage{interfaces-hypbmsec}{%
\expandafter\let\csname last#1title\endcsname\relax
@@ -3329,13 +3474,14 @@ turtle%
shape/.value required,%
shape@cs/.initial=
\csname ttlh@\pgfkeysvalueof{/itf/titlesec/#1#2/shape}\endcsname,% constant
- shape@cs/.is private=interface-titlesec,% constant
+ shape@cs/.is private=interfaces-titlesec,% constant
font/.store as code,%
format/.alias*=font,%
label/.store as code,%
sep/.estore as glue,%
labelsep/.alias*=sep,%
before/.store as code,%
+ before@cmd/.is private=interfaces-titlesec,%
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@},%
@@ -3396,6 +3542,10 @@ turtle%
bookmark/off/.code=\pgfkeyssetvalue{/itf/titlesec/#1/bookmark/on}{disable=true,},%
bookmark/off/.value forbidden,%
bookmark/none/.alias=bookmark/off,%
+ bookmark/on*/.code=\pgfkeyssetvalue{/itf/titlesec/#1/bookmark/on*}{disable*=false,},%
+ bookmark/off*/.code=\pgfkeyssetvalue{/itf/titlesec/#1/bookmark/on*}{disable*=true,},%
+ bookmark/none*/.alias=bookmark/off*,%
+ bookmark/disable*/.alias=bookmark/off*,%
bookmark/style/.code=\ifblank{##1}
{\pgfkeyslet{/itf/titlesec/#1/bookmark/style}\@empty}
{\pgfkeyssetvalue{/itf/titlesec/#1/bookmark/style}{style=##1,}},%
@@ -3409,6 +3559,7 @@ turtle%
bookmark/color/.initial=,%
bookmark/color*/.initial=,%
bookmark/on/.initial=,%
+ bookmark/on*/.initial=,%
bookmark/style/.initial=,%
}}% \AfterPackage*{interfaces-bookmark}
}% not starred (numberless) \section
@@ -3431,9 +3582,9 @@ turtle%
\itf@patch\itf@preapptocmd\addcontentsline % #2=section name in
{\begingroup\itf@ttl@BKM{/itf/titlesec/#2/bookmark}}% \addcontentsline
{\endgroup}
- {\PackageInfo{interfaces-titlesec}
+ {\@PackageInfoNoLine{interfaces-titlesec}
{Command \string\addcontentsline\space successfully patched!}}
- {\PackageWarning{interfaces-titlesec}
+ {\@PackageWarningNoLine{interfaces-titlesec}
{Patch of \string\addcontentsline\space failed
\MessageBreak bookmark-style specs for sections
\MessageBreak will be unavailable}}%
@@ -3450,12 +3601,14 @@ turtle%
\pgfkeysvalueof{#1/color}%
\pgfkeysvalueof{#1/color*}%
\pgfkeysvalueof{#1/on}%
+ \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
+ \global\pgfkeyslet{#1/on*}\@empty
\expandafter\bookmarksetup\expandafter{\itf@tp}%
\pgfkeysifdefined{/itf/bookmark/*}%
{% \bookmarksetup{color*=} overwrites \sectionformat...{bookmark/color*=}
@@ -3497,7 +3650,7 @@ turtle%
% \begin{macrocode}
%<*hyperref>
\ProvidesPackage{interfaces-hyperref}
- [2010/10/27 v1.2 provides raised hyperdef (FC)]
+ [2010/12/07 v2.5 provides raised hyperdef (FC)]
\RequirePackage{interfaces-base}
\itf@Check@Package{hyperref}
% \end{macrocode}
@@ -3537,7 +3690,7 @@ turtle%
% \begin{macrocode}
%<*bookmark>
\ProvidesPackage{interfaces-bookmark}
- [2010/11/15 v2.1 more control on bookmarks (FC)]
+ [2010/12/07 v2.5 more control on bookmarks (FC)]
\RequirePackage{interfaces-base}
\RequirePackage{interfaces-hyperref}
\RequirePackage{refcount}
@@ -3552,10 +3705,10 @@ turtle%
% \begin{macrocode}
\expandafter\itf@patch\expandafter\patchcmd\csname\string\bookmark\endcsname
{\immediate\write\@mainaux}{\itf@BKM@write}
- {\PackageInfo{interfaces-bookmark}
+ {\@PackageInfoNoLine{interfaces-bookmark}
{Command \expandafter\string\csname\string\bookmark\endcsname\space
successfully patched!}}
- {\PackageWarning{interfaces-bookmark}
+ {\@PackageWarningNoLine{interfaces-bookmark}
{Command \expandafter\string\csname\string\bookmark\endcsname\space
could not be patched\MessageBreak
Loading of interfaces-bookmark is canceled}%
@@ -3751,7 +3904,7 @@ turtle%
% \begin{macrocode}
%<*hypbmsec>
\ProvidesPackage{interfaces-hypbmsec}
- [2010/11/15 v2.1 lastsection (title,anchor, etc. - FC)]
+ [2010/12/07 v2.5 lastsection (title,anchor, etc. - FC)]
\RequirePackage{interfaces-base}
\RequirePackage{gettitlestring}
\itf@Check@Package{hypbmsec}
@@ -3778,9 +3931,9 @@ turtle%
\itf@patch\pretocmd\hbs@process{%
\itf@hbs@process{#1}%
}%
- {\PackageInfo{interfaces-hypbmsec}
+ {\@PackageInfoNoLine{interfaces-hypbmsec}
{Command \string\hbs@process\space successfully patched}}
- {\PackageWarning{interfaces-hypbmsec}
+ {\@PackageWarningNoLine{interfaces-hypbmsec}
{Command \string\hbs@process\space could not be patched
\MessageBreak loading of `interfaces-hypbmsec` aborted
\MessageBreak \string\lastsection\space will not work}%
@@ -3978,7 +4131,7 @@ turtle%
% \begin{macrocode}
%<*fancyhdr>
\ProvidesPackage{interfaces-fancyhdr}
- [2010/11/26 v2.4 pgfkeys macros for fancyhdr (FC)]
+ [2010/12/07 v2.5 pgfkeys macros for fancyhdr (FC)]
\RequirePackage{interfaces-base}
\itf@Check@Package{fancyhdr}
\itf@pgfkeys
@@ -4044,7 +4197,7 @@ turtle%
\pgfkeys{%
/handlers/.fancy@hf/.code=%
\edef\itf@tp{\pgfkeyscurrentpath}%
- \pgfkeysalso{\pgfkeyscurrentpath/.store as code=}%
+ \pgfkeysalso{\pgfkeyscurrentpath/.store as code}%
\pgfkeysalso{\pgfkeyscurrentpath/.append code/.expanded=%
\csdef{f@ncy#1}{%
\noexpand\pgfkeysvalueof{\itf@tp/font}
@@ -4112,7 +4265,7 @@ turtle%
rules/font*/.alias=rule/font+,%
rule/color/.style={head/rule/color={#1},foot/rule/color={#1}},%
rules/color/.alias=rule/color,%
- foot/rule/skip/.store as glue in cs=footruleskip,%
+ foot/rule/skip/.estore as glue in cs=footruleskip,%
foot/rule/skip/.default=.3\normalbaselineskip,%
foot/rule/skip/.blank=\z@,%
foot/ruleskip/.alias*=foot/rule/skip,%
@@ -4123,6 +4276,8 @@ turtle%
color/.style={head/color={#1},foot/color={#1},%
head/rule/color={#1},foot/rule/color={#1}},%
head/.style={head/left={#1},head/center={#1},head/right={#1}},%
+ head+/.style={head/left+={#1},head/center+={#1},head/right+={#1}},
+ head*/.alias=head+,%
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}},%
head/font*/.alias=head/font+,%
@@ -4130,6 +4285,8 @@ turtle%
head/rule/color={#1}},%
nohead/.style={head=,head/font=,head/rule=,head/rule/font=},
foot/.style={foot/left={#1},foot/center={#1},foot/right={#1}},%
+ foot+/.style={foot/left+={#1},foot/center+={#1},foot/right+={#1}},
+ foot*/.alias=foot+,%
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}},%
foot/font*/.alias=foot/font+,%
@@ -4137,76 +4294,94 @@ turtle%
foot/rule/color={#1}},%
nofoot/.style={foot=,foot/font=,foot/rule=,foot/rule/font=},
left/.style={head/left={#1},foot/left={#1}},%
+ left+/.style={head/left+={#1},foot/left+={#1}},%
+ left*/.alias=left+,%
left/font/.style={head/left/font={#1},foot/left/font={#1}},%
left/font+/.style={head/left/font+={#1},foot/left/font+={#1}},%
left/font*/.alias=left/font+,%
left/color/.style={head/left/color={#1},foot/left/color={#1}},%
center/.style={head/center={#1},foot/center={#1}},%
+ center+/.style={head/center+={#1},foot/center+={#1}},%
+ center*/.alias=center+,%
center/font/.style={head/center/font={#1},foot/center/font={#1}},%
center/font+/.style={head/center/font+={#1},foot/center/font+={#1}},%
center/font*/.alias=center/font+,%
center/color/.style={head/center/color={#1},foot/center/color={#1}},%
right/.style={head/right={#1},foot/right={#1}},%
+ right+/.style={head/right+={#1},foot/right+={#1}},%
+ right*/.alias=right+,%
right/font/.style={head/right/font={#1},foot/right/font={#1}},%
right/font+/.style={head/right/font+={#1},foot/right/font+={#1}},%
right/font*/.alias=right/font+,%
right/color/.style={head/right/color={#1},foot/right/color={#1}},%
head/left/.style={head/left/even={#1},head/left/odd={#1}},%
+ head/left+/.style={head/left/even+={#1},head/left/odd+={#1}},%
+ head/left*/.alias=head/left+,%
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/left/font*/.alias=head/left/font+,%
head/left/color/.style={head/left/even/color={#1},head/left/odd/color={#1}},%
- left/head/.alias=head/left,%
+ left/head/.alias*=head/left,%
left/head/font/.alias*=head/left/font,%
left/head/color/.alias=head/left/color,%
head/center/.style={head/center/even={#1},head/center/odd={#1}},%
+ head/center+/.style={head/center/even+={#1},head/center/odd+={#1}},%
+ head/center*/.alias=head/center+,%
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/center/font*/.alias=head/center/font+,%
head/center/color/.style={head/center/even/color={#1},head/center/odd/color={#1}},%
- center/head/.alias=head/center,%
+ center/head/.alias*=head/center,%
center/head/font/.alias*=head/center/font,%
center/head/color/.alias=head/center/color,%
head/right/.style={head/right/even={#1},head/right/odd={#1}},%
+ head/right+/.style={head/right/even+={#1},head/right/odd+={#1}},%
+ head/right*/.alias=head/right+,%
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}},%
head/right/font*/.alias=head/right/font+,%
head/right/color/.style={head/right/even/color={#1},head/right/odd/color={#1}},%
- right/head/.alias=head/right,%
+ right/head/.alias*=head/right,%
right/head/font/.alias*=head/right/font,%
right/head/color/.alias=head/right/color,%
foot/left/.style={foot/left/even={#1},foot/left/odd={#1}},%
+ foot/left+/.style={foot/left/even+={#1},foot/left/odd+={#1}},%
+ foot/left*/.alias=foot/left+,%
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/left/font*/.alias=foot/left/font+,%
foot/left/color/.style={foot/left/even/color={#1},foot/left/odd/color={#1}},%
- left/foot/.alias=foot/left,%
+ left/foot/.alias*=foot/left,%
left/foot/font/.alias*=foot/left/font,%
left/foot/color/.alias=foot/left/color,%
foot/center/.style={foot/center/even={#1},foot/center/odd={#1}},%
+ foot/center+/.style={foot/center/even+={#1},foot/center/odd+={#1}},%
+ foot/center*/.alias=foot/center,%
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/center/font*/.alias=foot/center/font+,%
foot/center/color/.style={foot/center/even/color={#1},foot/center/odd/color={#1}},%
- center/foot/.alias=foot/center,%
+ center/foot/.alias*=foot/center,%
center/foot/font/.alias*=foot/center/font,%
center/foot/color/.alias=foot/center/color,%
foot/right/.style={foot/right/even={#1},foot/right/odd={#1}},%
+ foot/right+/.style={foot/right/even+={#1},foot/right/odd+={#1}},%
+ foot/right*/.alias=foot/right+,%
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}},%
foot/right/font*/.alias=foot/right/font+,%
foot/right/color/.style={foot/right/even/color={#1},foot/right/odd/color={#1}},%
- right/foot/.alias=foot/right,%
+ right/foot/.alias*=foot/right,%
right/foot/font/.alias*=foot/right/font,%
right/foot/color/.alias=foot/right/color,%
head/left/odd/.fancy@hf=olh,%
head/left/odd/font/.store as code,%
head/left/odd/color/.style={head/left/odd/font+=\color{#1}},%
- head/odd/left/.alias=head/left/odd,%
- odd/head/left/.alias=head/left/odd,%
- odd/left/head/.alias=head/left/odd,%
- left/odd/head/.alias=head/left/odd,%
- left/head/odd/.alias=head/left/odd,%
+ head/odd/left/.alias*=head/left/odd,%
+ odd/head/left/.alias*=head/left/odd,%
+ odd/left/head/.alias*=head/left/odd,%
+ left/odd/head/.alias*=head/left/odd,%
+ left/head/odd/.alias*=head/left/odd,%
head/odd/left/font/.alias*=head/left/odd/font,%
odd/head/left/font/.alias*=head/left/odd/font,%
odd/left/head/font/.alias*=head/left/odd/font,%
@@ -4220,11 +4395,11 @@ turtle%
head/center/odd/.fancy@hf=och,%
head/center/odd/font/.store as code,%
head/center/odd/color/.style={head/center/odd/font+=\color{#1}},%
- head/odd/center/.alias=head/center/odd,%
- odd/head/center/.alias=head/center/odd,%
- odd/center/head/.alias=head/center/odd,%
- center/odd/head/.alias=head/center/odd,%
- center/head/odd/.alias=head/center/odd,%
+ head/odd/center/.alias*=head/center/odd,%
+ odd/head/center/.alias*=head/center/odd,%
+ odd/center/head/.alias*=head/center/odd,%
+ center/odd/head/.alias*=head/center/odd,%
+ center/head/odd/.alias*=head/center/odd,%
head/odd/center/font/.alias*=head/center/odd/font,%
odd/head/center/font/.alias*=head/center/odd/font,%
odd/center/head/font/.alias*=head/center/odd/font,%
@@ -4238,11 +4413,11 @@ turtle%
head/right/odd/.fancy@hf=orh,%
head/right/odd/font/.store as code,%
head/right/odd/color/.style={head/right/odd/font+=\color{#1}},%
- head/odd/right/.alias=head/right/odd,%
- odd/head/right/.alias=head/right/odd,%
- odd/right/head/.alias=head/right/odd,%
- right/odd/head/.alias=head/right/odd,%
- right/head/odd/.alias=head/right/odd,%
+ head/odd/right/.alias*=head/right/odd,%
+ odd/head/right/.alias*=head/right/odd,%
+ odd/right/head/.alias*=head/right/odd,%
+ right/odd/head/.alias*=head/right/odd,%
+ right/head/odd/.alias*=head/right/odd,%
head/odd/right/font/.alias*=head/right/odd/font,%
odd/head/right/font/.alias*=head/right/odd/font,%
odd/right/head/font/.alias*=head/right/odd/font,%
@@ -4256,11 +4431,11 @@ turtle%
head/left/even/.fancy@hf=elh,%
head/left/even/font/.store as code,%
head/left/even/color/.style={head/left/even/font+=\color{#1}},%
- head/even/left/.alias=head/left/even,%
- even/head/left/.alias=head/left/even,%
- even/left/head/.alias=head/left/even,%
- left/even/head/.alias=head/left/even,%
- left/head/even/.alias=head/left/even,%
+ head/even/left/.alias*=head/left/even,%
+ even/head/left/.alias*=head/left/even,%
+ even/left/head/.alias*=head/left/even,%
+ left/even/head/.alias*=head/left/even,%
+ left/head/even/.alias*=head/left/even,%
head/even/left/font/.alias*=head/left/even/font,%
even/head/left/font/.alias*=head/left/even/font,%
even/left/head/font/.alias*=head/left/even/font,%
@@ -4274,11 +4449,11 @@ turtle%
head/center/even/.fancy@hf=ech,%
head/center/even/font/.store as code,%
head/center/even/color/.style={head/center/even/font+=\color{#1}},%
- head/even/center/.alias=head/center/even,%
- even/head/center/.alias=head/center/even,%
- even/center/head/.alias=head/center/even,%
- center/even/head/.alias=head/center/even,%
- center/head/even/.alias=head/center/even,%
+ head/even/center/.alias*=head/center/even,%
+ even/head/center/.alias*=head/center/even,%
+ even/center/head/.alias*=head/center/even,%
+ center/even/head/.alias*=head/center/even,%
+ center/head/even/.alias*=head/center/even,%
head/even/center/font/.alias*=head/center/even/font,%
even/head/center/font/.alias*=head/center/even/font,%
even/center/head/font/.alias*=head/center/even/font,%
@@ -4292,11 +4467,11 @@ turtle%
head/right/even/.fancy@hf=erh,%
head/right/even/font/.store as code,%
head/right/even/color/.style={head/right/even/font+=\color{#1}},%
- head/even/right/.alias=head/right/even,%
- even/head/right/.alias=head/right/even,%
- even/right/head/.alias=head/right/even,%
- right/even/head/.alias=head/right/even,%
- right/head/even/.alias=head/right/even,%
+ head/even/right/.alias*=head/right/even,%
+ even/head/right/.alias*=head/right/even,%
+ even/right/head/.alias*=head/right/even,%
+ right/even/head/.alias*=head/right/even,%
+ right/head/even/.alias*=head/right/even,%
head/even/right/font/.alias*=head/right/even/font,%
even/head/right/font/.alias*=head/right/even/font,%
even/right/head/font/.alias*=head/right/even/font,%
@@ -4310,11 +4485,11 @@ turtle%
foot/left/odd/.fancy@hf=olf,%
foot/left/odd/font/.store as code,%
foot/left/odd/color/.style={foot/left/odd/font+=\color{#1}},%
- foot/odd/left/.alias=foot/left/odd,%
- odd/foot/left/.alias=foot/left/odd,%
- odd/left/foot/.alias=foot/left/odd,%
- left/odd/foot/.alias=foot/left/odd,%
- left/foot/odd/.alias=foot/left/odd,%
+ foot/odd/left/.alias*=foot/left/odd,%
+ odd/foot/left/.alias*=foot/left/odd,%
+ odd/left/foot/.alias*=foot/left/odd,%
+ left/odd/foot/.alias*=foot/left/odd,%
+ left/foot/odd/.alias*=foot/left/odd,%
foot/odd/left/font/.alias*=foot/left/odd/font,%
odd/foot/left/font/.alias*=foot/left/odd/font,%
odd/left/foot/font/.alias*=foot/left/odd/font,%
@@ -4328,11 +4503,11 @@ turtle%
foot/center/odd/.fancy@hf=ocf,%
foot/center/odd/font/.store as code,%
foot/center/odd/color/.style={foot/center/odd/font+=\color{#1}},%
- foot/odd/center/.alias=foot/center/odd,%
- odd/foot/center/.alias=foot/center/odd,%
- odd/center/foot/.alias=foot/center/odd,%
- center/odd/foot/.alias=foot/center/odd,%
- center/foot/odd/.alias=foot/center/odd,%
+ foot/odd/center/.alias*=foot/center/odd,%
+ odd/foot/center/.alias*=foot/center/odd,%
+ odd/center/foot/.alias*=foot/center/odd,%
+ center/odd/foot/.alias*=foot/center/odd,%
+ center/foot/odd/.alias*=foot/center/odd,%
foot/odd/center/font/.alias*=foot/center/odd/font,%
odd/foot/center/font/.alias*=foot/center/odd/font,%
odd/center/foot/font/.alias*=foot/center/odd/font,%
@@ -4346,11 +4521,11 @@ turtle%
foot/right/odd/.fancy@hf=orf,%
foot/right/odd/font/.store as code,%
foot/right/odd/color/.style={foot/right/odd/font+=\color{#1}},%
- foot/odd/right/.alias=foot/right/odd,%
- odd/foot/right/.alias=foot/right/odd,%
- odd/right/foot/.alias=foot/right/odd,%
- right/odd/foot/.alias=foot/right/odd,%
- right/foot/odd/.alias=foot/right/odd,%
+ foot/odd/right/.alias*=foot/right/odd,%
+ odd/foot/right/.alias*=foot/right/odd,%
+ odd/right/foot/.alias*=foot/right/odd,%
+ right/odd/foot/.alias*=foot/right/odd,%
+ right/foot/odd/.alias*=foot/right/odd,%
foot/odd/right/font/.alias*=foot/right/odd/font,%
odd/foot/right/font/.alias*=foot/right/odd/font,%
odd/right/foot/font/.alias*=foot/right/odd/font,%
@@ -4364,11 +4539,11 @@ turtle%
foot/left/even/.fancy@hf=elf,%
foot/left/even/font/.store as code,%
foot/left/even/color/.style={foot/left/even/font+=\color{#1}},%
- foot/even/left/.alias=foot/left/even,%
- even/foot/left/.alias=foot/left/even,%
- even/left/foot/.alias=foot/left/even,%
- left/even/foot/.alias=foot/left/even,%
- left/foot/even/.alias=foot/left/even,%
+ foot/even/left/.alias*=foot/left/even,%
+ even/foot/left/.alias*=foot/left/even,%
+ even/left/foot/.alias*=foot/left/even,%
+ left/even/foot/.alias*=foot/left/even,%
+ left/foot/even/.alias*=foot/left/even,%
foot/even/left/font/.alias*=foot/left/even/font,%
even/foot/left/font/.alias*=foot/left/even/font,%
even/left/foot/font/.alias*=foot/left/even/font,%
@@ -4382,11 +4557,11 @@ turtle%
foot/center/even/.fancy@hf=ecf,%
foot/center/even/font/.store as code,%
foot/center/even/color/.style={foot/center/even/font+=\color{#1}},%
- foot/even/center/.alias=foot/center/even,%
- even/foot/center/.alias=foot/center/even,%
- even/center/foot/.alias=foot/center/even,%
- center/even/foot/.alias=foot/center/even,%
- center/foot/even/.alias=foot/center/even,%
+ foot/even/center/.alias*=foot/center/even,%
+ even/foot/center/.alias*=foot/center/even,%
+ even/center/foot/.alias*=foot/center/even,%
+ center/even/foot/.alias*=foot/center/even,%
+ center/foot/even/.alias*=foot/center/even,%
foot/even/center/font/.alias*=foot/center/even/font,%
even/foot/center/font/.alias*=foot/center/even/font,%
even/center/foot/font/.alias*=foot/center/even/font,%
@@ -4400,11 +4575,11 @@ turtle%
foot/right/even/.fancy@hf=erf,%
foot/right/even/font/.store as code,%
foot/right/even/color/.style={foot/right/even/font+=\color{#1}},%
- foot/even/right/.alias=foot/right/even,%
- even/foot/right/.alias=foot/right/even,%
- even/right/foot/.alias=foot/right/even,%
- right/even/foot/.alias=foot/right/even,%
- right/foot/even/.alias=foot/right/even,%
+ foot/even/right/.alias*=foot/right/even,%
+ even/foot/right/.alias*=foot/right/even,%
+ even/right/foot/.alias*=foot/right/even,%
+ right/even/foot/.alias*=foot/right/even,%
+ right/foot/even/.alias*=foot/right/even,%
foot/even/right/font/.alias*=foot/right/even/font,%
even/foot/right/font/.alias*=foot/right/even/font,%
even/right/foot/font/.alias*=foot/right/even/font,%
@@ -4416,43 +4591,55 @@ turtle%
right/even/foot/color/.alias=foot/right/even/color,%
right/foot/even/color/.alias=foot/right/even/color,%
foot/inner/.style={foot/right/even={#1},foot/left/odd={#1}},%
+ foot/inner+/.style={foot/right/even+={#1},foot/left/odd+={#1}},%
+ foot/inner*/.alias=foot/inner+,%
foot/inner/font/.style={foot/right/even/font={#1},foot/left/odd/font={#1}},%
foot/inner/color/.style={foot/right/even/color={#1},foot/left/odd/color={#1}},%
foot/inner/font+/.style={foot/right/even/font+={#1},foot/left/odd/font+={#1}},%
foot/inner/font*/.alias=foot/inner/font+,%
- inner/foot/.alias=foot/inner,%
+ inner/foot/.alias*=foot/inner,%
inner/foot/font/.alias*=foot/inner/font,%
inner/foot/color/.alias=foot/inner/color,%
foot/outer/.style={foot/left/even={#1},foot/right/odd={#1}},%
+ foot/outer+/.style={foot/left/even+={#1},foot/right/odd+={#1}},%
+ foot/outer*/.alias=foot/outer+,%
foot/outer/font/.style={foot/left/even/font={#1},foot/right/odd/font={#1}},%
foot/outer/color/.style={foot/left/even/color={#1},foot/right/odd/color={#1}},%
foot/outer/font+/.style={foot/left/even/font+={#1},foot/right/odd/font+={#1}},%
foot/outer/font*/.alias=foot/outer/font+,%
- outer/foot/.alias=foot/outer,%
+ outer/foot/.alias*=foot/outer,%
outer/foot/font/.alias*=foot/outer/font,%
outer/foot/color/.alias=foot/outer/color,%
head/inner/.style={head/right/even={#1},head/left/odd={#1}},%
+ head/inner+/.style={head/right/even+={#1},head/left/odd+={#1}},%
+ head/inner*/.alias=head/inner+,%
head/inner/font/.style={head/right/even/font={#1},head/left/odd/font={#1}},%
head/inner/color/.style={head/right/even/color={#1},head/left/odd/color={#1}},%
head/inner/font+/.style={head/right/even/font+={#1},head/left/odd/font+={#1}},%
head/inner/font*/.alias=head/inner/font+,%
- inner/head/.alias=head/inner,%
+ inner/head/.alias*=head/inner,%
inner/head/font/.alias*=head/inner/font,%
inner/head/color/.alias=head/inner/color,%
head/outer/.style={head/left/even={#1},head/right/odd={#1}},%
+ head/outer+/.style={head/left/even+={#1},head/right/odd+={#1}},%
+ head/outer*/.alias=head/outer+,%
head/outer/font/.style={head/left/even/font={#1},head/right/odd/font={#1}},%
head/outer/color/.style={head/left/even/color={#1},head/right/odd/color={#1}},%
head/outer/font+/.style={head/left/even/font+={#1},head/right/odd/font+={#1}},%
head/outer/font*/.alias=head/outer/font+,%
- outer/head/.alias=head/outer,%
+ outer/head/.alias*=head/outer,%
outer/head/font/.alias*=head/outer/font,%
outer/head/color/.alias=head/outer/color,%
inner/.style={foot/inner={#1},head/inner={#1}},%
+ inner+/.style={foot/inner+={#1},head/inner+={#1}},%
+ inner*/.alias=inner+,%
inner/font/.style={foot/inner/font={#1},head/inner/font={#1}},%
inner/font+/.style={foot/inner/font+={#1},head/inner/font+={#1}},%
inner/font*/.alias=inner/font+,%
inner/color/.style={foot/inner/color={#1},head/inner/color={#1}},%
outer/.style={foot/outer={#1},head/outer={#1}},%
+ outer+/.style={foot/outer+={#1},head/outer+={#1}},%
+ outer*/.alias=outer+,%
outer/font/.style={foot/outer/font={#1},head/outer/font={#1}},%
outer/font+/.style={foot/outer/font+={#1},head/outer/font+={#1}},%
outer/font*/.alias=outer/font+,%
@@ -4830,7 +5017,7 @@ turtle%
% \begin{macrocode}
%<*marks>
\ProvidesPackage{interfaces-marks}
- [2010/11/26 v2.4 easier use of e-TeX marks (FC)]
+ [2010/12/07 v2.5 easier use of e-TeX marks (FC)]
\RequirePackage{interfaces-base}
% \end{macrocode}
%
@@ -4860,7 +5047,7 @@ turtle%
% \begin{macrocode}
\def\itf@marks@new#1{%
\expandafter\newmarks\csname marks@#1\endcsname
- \PackageInfo{interfaces-marks}{New marks `#1' defined}%
+ \PackageInfo{interfaces-marks}{marks `#1' defined}%
}% \itf@marks@new
% \end{macrocode}
% \end{macro}
@@ -4950,7 +5137,7 @@ turtle%
% \begin{macrocode}
%<*tocloft>
\ProvidesPackage{interfaces-tocloft}
- [2010/11/26 v2.4 pgfkeys macros for tocloft (FC)]
+ [2010/12/07 v2.5 pgfkeys macros for tocloft (FC)]
\RequirePackage{interfaces-base}
\itf@Check@Package{tocloft}
\itf@pgfkeys
@@ -4988,13 +5175,20 @@ turtle%
% to create the keys for each new list created with \xpackage{tocloft}'s \cs{newlistof}.
% \begin{macrocode}
-\def\itf@cft@newlistof#1{%
+\def\itf@cft@newlistof#1#2#3{% #1=toc/lof (ext.), #2=entry (\newlistof only), #3=title (\newlistof only)
\pgfqkeys{/itf/tocloft/#1}{%
+ depth/.store in counter cs=c@#1depth,%
+ depth/.append code=\expandafter\global\csname c@#1depth\endcsname
+ \csname c@#1depth\endcsname
+ \addtocontents{#1}{\csname c@#1depth\endcsname
+ \the\csname c@#1depth\endcsname\relax},%
+ #1depth/.alias*=depth,%
pagestyle/.code=\tocloftpagestyle{##1},%
parskip/.store in skip cs=cftparskip,%
parsep/.alias=parskip,%
mark/.store in cs=cftmark#1,%
marks/.alias=mark,%
+ mark=,%
label/.store as code,%
ref/.store as code,%
ref/.initial=\csname cft#1title\endcsname,% overwritten (toc,lof,lot)
@@ -5007,6 +5201,11 @@ turtle%
aftertitleskip/.alias*=title/bottom,%
title/font/.store as code in cs=cft#1titlefont,%
title/format/.alias*=title/font,%
+ title/color/.store as color,%
+ title/color/.append code=\pgfkeysalso{/itf/tocloft/#1/title/font+={%
+ \color{\pgfkeysvalueof{/itf/tocloft/#1/title/color}}}},%
+ title/font/color/.alias=title/color,%
+ title/format/color/.alias=title/color,%
title/after/.store as code in cs=cftafter#1title,%
title/command/.code=\csdef{@cftmake#1title}####1{##1},%
dotsep/.code=\itf@units@mu\itf@musk{##1}% converts to mu
@@ -5053,12 +5252,12 @@ turtle%
multicols/.alias=columns,%
twocolumns/.true=\pgfkeysalso{columns=2},%
twocolumns/.false=\pgfkeysalso{columns=1},%
- columns/rule/.store as dimen,%
+ columns/rule/.estore as dimen,%
columns/rule/.default=\columnseprule,%
columns/rule,% assign default
columnseprule/.alias*=columns/rule,%
columns/rule/width/.alias*=columns/rule,%
- columns/sep/.store as dimen,%
+ columns/sep/.estore as dimen,%
columns/sep/.default=\columnsep,%
columns/sep/.blank=10\p@,%
columns/sep,% assign default
@@ -5067,7 +5266,7 @@ turtle%
columns/rule/color,% assign default (\normalcolor)
columnseprulecolor/.alias*=columns/rule/color,%
columns/rulecolor/.alias*=columns/rule/color,%
- multicolsep/.store as glue,%
+ multicolsep/.estore as glue,%
multicolsep/.default=0pt plus4pt minus3pt,%
multicolsep,% sets default
multicols/begin/.initial=,multicols/begin/.default=,%
@@ -5083,7 +5282,7 @@ turtle%
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={%
+ bookmark/level/.code=\pgfkeysEaddvalue{/itf/tocloft/#1/bookmark}{}{,level={%
\ifcsname toclevel@##1\endcsname
\csname toclevel@##1\endcsname
\else##1\fi}},%
@@ -5096,7 +5295,7 @@ turtle%
}% 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{%
+ \AfterPreamble{%
\BeforeFile{\jobname.#1}{%
\pgfkeysvalueof{/itf/tocloft/#1/before}%
\pgfkeysvalueof{/itf/tocloft/#1/columns/before@hook}%
@@ -5108,17 +5307,20 @@ turtle%
}%
\ifcsname #1setup\endcsname\else
\pgfqkeys{/itf/tocloft/#1}{%
- pagenumbers/.true=\@cftpnumon{#1},%
- pagenumbers/.false=\@cftpnumoff{#1},%
- pagenumber/.alias=pagenumbers
+ title={#3},%
+ pagenumbers/.true=\@cftpnumon{#2},%
+ pagenumbers/.false=\@cftpnumoff{#2},%
+ pagenumbers/on/.alias=pagenumbers/true,
+ pagenumbers/off/.alias=pagenumbers/false,
+ 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
+ \expandafter{\expandafter\itf@tocloft\csname cft#1title\endcsname{#1}{listof#2}}
+ {\@PackageInfoNoLine{interfaces-tocloft}
+ {Command \expandafter\string\csname @cftmake#1title\endcsname\space
successfully augmented}}
- {\PackageWarning{interfaces-tocloft}
- {Command \expandafter\string\csname @cftmake#1title\endcsname
+ {\@PackageWarningNoLine{interfaces-tocloft}
+ {Command \expandafter\string\csname @cftmake#1title\endcsname\space
\space could not be patched
\MessageBreak Keys label and bookmark won't work for \string\listofsetup}}%
\fi
@@ -5129,19 +5331,14 @@ turtle%
% Then create the keys for \textt{toc},\, \textt{lof},\, and\, \textt{lot}:
%
% \begin{macrocode}
-\itf@cft@newlistof{toc}
-\itf@cft@newlistof{lof}
-\itf@cft@newlistof{lot}
+\itf@cft@newlistof{toc}{}{}
+\itf@cft@newlistof{lof}{}{}
+\itf@cft@newlistof{lot}{}{}
% \end{macrocode}
%
% \begin{macrocode}
%% Specific to toc only -------------------------------------------------------
\pgfqkeys{/itf/tocloft/toc}{%
- depth/.store in counter cs=c@tocdepth,%
- depth/.append code=
- \global\c@tocdepth\c@tocdepth
- \addtocontents{toc}{\c@tocdepth\the\c@tocdepth\relax},%
- tocdepth/.alias=depth,%
title/.store as code in cs=contentsname,%
contentsname/.alias=title,%
ref/.initial=\contentsname,%
@@ -5169,14 +5366,8 @@ turtle%
\pgfqkeys{/itf/tocloft}{%
lof/pagenumbers/.style={figure/pagenumbers={#1},subfigure/pagenumbers={#1}},%
lof/pagenumber/.alias=lof/pagenumbers,%
- lof/depth/.store in counter cs=c@lofdepth,%
- lof/depth/.append code=\global\c@lofdepth\c@lofdepth
- \addtocontents{lof}{\c@lofdepth\the\c@lofdepth\relax},%
lot/pagenumbers/.style={figure/pagenumbers={#1},subfigure/pagenumbers={#1}},%
lot/pagenumber/.alias=lot/pagenumbers,%
- lot/depth/.store in counter cs=c@lotdepth,%
- lot/depth/.append code=\global\c@lotdepth\c@lotdepth
- \addtocontents{lot}{\c@lotdepth\the\c@lotdepth\relax},%
}%
\else
\pgfqkeys{/itf/tocloft}{%
@@ -5202,18 +5393,19 @@ turtle%
\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
+ \ifx#1\relax #2\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
+ \ifx#1\chapter chap\else
+ #2\fi
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
}% \itf@cft@section@name
% \end{macrocode}
% \end{macro}
@@ -5221,9 +5413,12 @@ turtle%
% \begin{macrocode}
%% 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},%
+/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},%
}
% \end{macrocode}
%
@@ -5233,43 +5428,63 @@ turtle%
%
% \begin{macrocode}
\def\itf@cft@newsection{\itf@cft@new@section{/itf/tocloft}}
-\def\itf@cft@new@section#1#2#3{% #2=part / chap / sec / subsec etc., #3 = toc | lof | lot
- \pgfqkeys{#1/#3/#2}{%
- skip/.cft@length=before.#2.skip,%
+\def\itf@cft@new@section#1#2#3{% #2 = toc | lof | lot, #3=part / chap / sec / subsec etc.
+ \pgfqkeys{#1/#2/#3}{%
+ skip/.cft@length=before.#3.skip,%
beforeskip/.alias*=skip,%
top/.alias*=skip,%
- indent/.cft@length=.#2.indent,%
- font/.cft@code=.#2.font,%
- font/.append code={\pgfkeysalso{/itf/tocloft/#3/#2/pagenumber/font={##1}}},%
+ indent/.cft@length=.#3.indent,%
+ font/.cft@code=.#3.font,%
+ font/.append code=\pgfkeysalso{/itf/tocloft/#2/#3/pagenumber/font={##1}},%
format/.alias*=font,%
- number/width/.cft@length=.#2.numwidth,%
+ color/.store as color,%
+ color/.append code=\pgfkeysalso{/itf/tocloft/#2/#3/font+={%
+ \color{\pgfkeysvalueof{/itf/tocloft/#2/#3/color}}%
+ \ifdefined\hypersetup \hypersetup{%
+ linkcolor=\pgfkeysvalueof{/itf/tocloft/#2/#3/color}}%
+ \fi}},%
+ font/color/.alias=color,%
+ format/color/.alias=color,%
+ number/width/.cft@length=.#3.numwidth,%
numwidth/.alias*=number/width,%
- presnum/.cft@code=.#2.presnum,%
+ presnum/.cft@code=.#3.presnum,%
number/before/.alias*=presnum,%
- aftersnum/.cft@code=.#2.aftersnum,%
+ aftersnum/.cft@code=.#3.aftersnum,%
number/after/.alias*=aftersnum,%
- aftersnumb/.cft@code=.#2.aftersnumb,%
+ aftersnumb/.cft@code=.#3.aftersnumb,%
title/before/.alias*=aftersnumb,%
- leader/.cft@def=.#2.leader,%
- leader/.default=\cftdotfill{\csname\itf@cft@name.#2.dotsep\@nil\endcsname},%
+ leader/.cft@def=.#3.leader,%
+ leader/.default=\cftdotfill{\csname\itf@cft@name.#3.dotsep\@nil\endcsname},%
leaders/.alias=leader,%
dotsep/.code={\ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text
- \csdef{\itf@cft@name.#2.dotsep\@nil}{\cftdotsep}%
+ \csdef{\itf@cft@name.#3.dotsep\@nil}{\cftdotsep}%
\else
\itf@units@mu\itf@musk{##1}%
- \csedef{\itf@cft@name.#2.dotsep\@nil}{\itf@strip@mu\itf@musk}%
+ \csedef{\itf@cft@name.#3.dotsep\@nil}{\itf@strip@mu\itf@musk}%
\fi},%
dotsep/.blank=\cftnodots,%
- nodots/.code=\csdef{\itf@cft@name.#2.dotsep\@nil}{\cftnodots},%
+ nodots/.code=\csdef{\itf@cft@name.#3.dotsep\@nil}{\cftnodots},%
nodots/.value forbidden,%
- pagefont/.cft@code=.#2.pagefont,%
+ pagefont/.cft@code=.#3.pagefont,%
page/font/.alias*=pagefont,%
pagenumber/font/.alias*=pagefont,%
- afterpnum/.cft@code=.#2.afterpnum,%
+ pagenumbers/font/.alias*=pagefont,%
+ page/color/.store as color,%
+ page/color/.append code=\pgfkeysalso{/itf/tocloft/#2/#3/pagefont+={%
+ \color{\pgfkeysvalueof{/itf/tocloft/#2/#3/page/color}}%
+ \ifdefined\hypersetup \hypersetup{%
+ linkcolor=\pgfkeysvalueof{/itf/tocloft/#2/#3/page/color}}%
+ \fi}},%
+ pagenumber/color/.alias=page/color,%
+ pagenumbers/color/.alias=page/color,%
+ page/font/color/.alias=page/color,%
+ pagenumber/font/color/.alias=page/color,%
+ pagenumbers/font/color/.alias=page/color,%
+ afterpnum/.cft@code=.#3.afterpnum,%
page/after/.alias*=afterpnum,%
pagenumber/after/.alias*=afterpnum,%
- pagenumbers/.on=\@cftpnumon{\itf@cft@secname{#2}},%
- pagenumbers/.off=\@cftpnumoff{\itf@cft@secname{#2}},%
+ pagenumbers/.on=\@cftpnumon{\itf@cft@secname{#3}},%
+ pagenumbers/.off=\@cftpnumoff{\itf@cft@secname{#3}},%
pagenumber/.alias=pagenumbers,%
}% \pgfqkeys
}% \itf@cft@new@section
@@ -5279,17 +5494,17 @@ turtle%
% \begin{macrocode}
\@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}}%
+ \do{\edef\itf@tp{\noexpand\itf@cft@newsection{toc}{\itf@tp}}\itf@tp}%
\if@cftsubfigopt
\@for\itf@tp:=fig,figure,subfig,subfigure%
- \do{\expandafter\itf@cft@newsection\expandafter{\itf@tp}{lof}}%
+ \do{\edef\itf@tp{\noexpand\itf@cft@newsection{lof}{\itf@tp}}\itf@tp}%
\@for\itf@tp:=tab,table,subtab,subtable%
- \do{\expandafter\itf@cft@newsection\expandafter{\itf@tp}{lot}}%
+ \do{\edef\itf@tp{\noexpand\itf@cft@newsection{lot}{\itf@tp}}\itf@tp}%
\else
\@for\itf@tp:=fig,figure%
- \do{\expandafter\itf@cft@newsection\expandafter{\itf@tp}{lof}}%
+ \do{\edef\itf@tp{\noexpand\itf@cft@newsection{lof}{\itf@tp}}\itf@tp}%
\@for\itf@tp:=tab,table%
- \do{\expandafter\itf@cft@newsection\expandafter{\itf@tp}{lot}}%
+ \do{\edef\itf@tp{\noexpand\itf@cft@newsection{lot}{\itf@tp}}\itf@tp}%
\fi
% \end{macrocode}
%
@@ -5297,38 +5512,52 @@ turtle%
% \begin{macro}{\@cftmaketoctitle (patch)}
% \begin{macro}{\@cftmakeloftitle (patch)}
% \begin{macro}{\@cftmakelottitle (patch)}
-% \begin{macro}{\newlistentry (patch)}
+% \begin{macro}{\\newlistof (patch)}
% \patchlabel{@cftmaketoctitle}
%
% \begin{macrocode}
\itf@patch\pretocmd\@cftmaketoctitle
{\itf@tocloft\contentsname{toc}{tableofcontents}}
- {\PackageInfo{interfaces-tocloft}
+ {\@PackageInfoNoLine{interfaces-tocloft}
{Command \string\@cftmaketoctitle\space successfully augmented}}
- {\PackageWarning{interfaces-tocloft}
+ {\@PackageWarningNoLine{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}
+ {\@PackageInfoNoLine{interfaces-tocloft}
{Command \string\@cftmakeloftitle\space successfully augmented}}
- {\PackageWarning{interfaces-tocloft}
+ {\@PackageWarningNoLine{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}
+ {\@PackageInfoNoLine{interfaces-tocloft}
{Command \string\@cftmakelottitle\space successfully augmented}}
- {\PackageWarning{interfaces-tocloft}
+ {\@PackageWarningNoLine{interfaces-tocloft}
{Command \string\@cftmakelottitle\space could not be patched
\MessageBreak label and bookmark keys for \string\lotsetup\space won't work}}%
-\itf@patch\apptocmd\newlistentry
- {\itf@cft@newlistof{#2}}
- {\PackageInfo{interfaces-tocloft}
+\expandafter\itf@patch\expandafter\patchcmd\csname\string\newlistof\endcsname
+ {#4}{\csname cft#3title\endcsname}
+ {\@PackageInfoNoLine{interfaces-tocloft}
+ {Command \string\newlistof\space successfully patched}}
+ {\@PackageWarningNoLine{interfaces-tocloft}
+ {Command \string\newlistof\space could not be patched
+ \MessageBreak \string\listofsetup\space will not work}}%
+\expandafter\itf@patch\expandafter\apptocmd\csname\string\newlistof\endcsname
+ {\itf@cft@newlistof{#3}{#2}{#4}}
+ {\@PackageInfoNoLine{interfaces-tocloft}
+ {Command \string\newlistof\space successfully augmented}}
+ {\@PackageWarningNoLine{interfaces-tocloft}
+ {Command \string\newlistof\space could not be patched
+ \MessageBreak \string\listofsetup\space will not work}}%
+\expandafter\itf@patch\expandafter\apptocmd\csname\string\newlistentry\endcsname
+ {\itf@cft@newsection{#3}{#2}}
+ {\@PackageInfoNoLine{interfaces-tocloft}
{Command \string\newlistentry\space successfully augmented}}
- {\PackageWarning{interfaces-tocloft}
+ {\@PackageWarningNoLine{interfaces-tocloft}
{Command \string\newlistentry\space could not be patched
- \MessageBreak \string\listofsetup\space will not work}}%
+ \MessageBreak \string\listofsetup\space will not work}}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -5386,7 +5615,7 @@ turtle%
% \begin{macrocode}
%<*makecell>
\ProvidesPackage{interfaces-makecell}
- [2010/11/26 v2.4 repeatcell to fill in tabulars (FC)]
+ [2010/12/07 v2.5 repeatcell to fill in tabulars (FC)]
\RequirePackage{interfaces-base}
\itf@Check@Package{makecell}
\edef\itf@AtEnd{\catcode126 \the\catcode126}% 126 = ~
@@ -5477,8 +5706,7 @@ turtle%
\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}%
+ \toks@\expandafter{\the\expandafter\toks@ \itf@thecr}%
\fi
\advance\itf@col\@ne
\itf@row\z@
@@ -5487,9 +5715,7 @@ turtle%
\ifnum\itf@row>\@ne
\toks@\expandafter{\the\toks@&}%
\fi
- \toks@\expandafter\expandafter\expandafter{%
- \expandafter\the\expandafter\toks@
- \itf@cell@init}%
+ \toks@\expandafter{\the\expandafter\toks@ \itf@cell@init}%
\itf@cell@insert}% rows loop
}% cols loop
\else
@@ -5499,8 +5725,7 @@ turtle%
\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}%
+ \toks@\expandafter{\the\expandafter\toks@ \itf@thecr}%
\fi
\advance\itf@row\@ne
\itf@col\z@
@@ -5509,9 +5734,7 @@ turtle%
\ifnum\itf@col>\@ne
\toks@\expandafter{\the\toks@&}%
\fi
- \toks@\expandafter\expandafter\expandafter{%
- \expandafter\the\expandafter\toks@
- \itf@cell@init}%
+ \toks@\expandafter{\the\expandafter\toks@ \itf@cell@init}%
\itf@cell@insert}% cols loop
}% rows loop
\fi
@@ -5654,8 +5877,7 @@ turtle%
% \begin{macrocode}
\protected\def\itf@cell@calc#1#2{%
\edef#1{\def\noexpand#1{#2}}%
- \toks@\expandafter\expandafter\expandafter{%
- \expandafter\the\expandafter\toks@#1}%
+ \toks@\expandafter{\the\expandafter\toks@ #1}%
#1%
}% \itf@cell@calc
\protected\def\itf@cell@numcalc#1#2{%
@@ -5690,25 +5912,22 @@ turtle%
\def\itf@cell@insert{%
\pgfkeysvalueof{/itf/makecell/repeatcell/@calc}%
\ifx\R\@empty\else
- \toks@\expandafter\expandafter\expandafter{%
- \expandafter\the\expandafter\toks@
+ \toks@\expandafter{\the\expandafter\toks@
\expandafter\def\expandafter\r\expandafter{\r}}%
\fi
\ifx\C\@empty\else
- \toks@\expandafter\expandafter\expandafter{%
- \expandafter\the\expandafter\toks@
+ \toks@\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}%
+ \toks@\expandafter{\the\expandafter\toks@ \itf@cellfont}%
\ifx\itf@cellrow\@empty
\ifx\itf@cellcol\@empty
\itf@cell\expandafter\expandafter\expandafter{%
- \expandafter\itf@cellfontcol\itf@cellfontrow}%
+ \expandafter\itf@cellfontcol \itf@cellfontrow}%
\let\itf@tp\itf@celltext
\else
\itf@cell\expandafter{\itf@cellfontcol}%
@@ -5731,11 +5950,9 @@ turtle%
\fi
\fi
\fi
- \itf@cell\expandafter\expandafter\expandafter{%
- \expandafter\the\expandafter\itf@cell\itf@tp}%
+ \itf@cell\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}%
+ \toks@\expandafter{\the\expandafter\toks@ \itf@tp}%
}% \itf@cell@insert
% \end{macrocode}
% \end{macro}
@@ -5778,7 +5995,7 @@ turtle%
% \begin{macrocode}
%<*enumitem>
\ProvidesPackage{interfaces-enumitem}
- [2010/11/15 v2.1 more control on lists (FC)]
+ [2010/12/07 v2.5 more control on lists (FC)]
\RequirePackage{interfaces-base}
\itf@Check@Package{enumitem}
\itf@pgfkeys
@@ -5972,7 +6189,7 @@ turtle%
% \begin{macrocode}
%<*appendix>
\ProvidesPackage{interfaces-appendix}
- [2010/10/27 v1.2 easy control of appendices environment (FC)]
+ [2010/12/07 v2.5 easy control of appendices environment (FC)]
\RequirePackage{interfaces-base}
\itf@Check@Package{appendix}
\itf@pgfkeys
@@ -6026,7 +6243,7 @@ turtle%
% \begin{macrocode}
%<*embedfile>
\ProvidesPackage{interfaces-embedfile}
- [2010/10/27 v1.2 easy macros to embed files into pdf (FC)]
+ [2010/12/07 v2.5 easy macros to embed files into pdf (FC)]
\RequirePackage{interfaces-base}
\itf@Check@Package{embedfile}
\newrobustcmd*\embedthisfile{\@ifstar
@@ -6063,7 +6280,7 @@ turtle%
% \begin{macrocode}
%<*environ>
\ProvidesPackage{interfaces-environ}
- [2010/07/23 v1.0 ReNewEnviron = RenewEnviron (FC)]
+ [2010/12/07 v2.5 ReNewEnviron = RenewEnviron (FC)]
\RequirePackage{interfaces-base}
\AfterPackage{environ}{
\ifundef\ReNewEnviron
@@ -6079,7 +6296,7 @@ turtle%
% \begin{macrocode}
%<*umrand>
\ProvidesPackage{interfaces-umrand}
- [2010/07/23 v1.0 patch for umrand.sty ifnotempty (FC)]
+ [2010/12/07 v2.5 patch for umrand.sty ifnotempty (FC)]
\RequirePackage{interfaces-base}
\BeforePackage{umrand}{%
\let\itf@newif\newif
@@ -6100,7 +6317,7 @@ turtle%
% \begin{macrocode}
%<*scrlfile>
\ProvidesPackage{interfaces-scrlfile}
- [2010/10/27 v1.2 scrlfile hooks improved (FC)]
+ [2010/12/07 v2.5 scrlfile hooks improved (FC)]
\RequirePackage{interfaces-base}
% \end{macrocode}
%
@@ -6189,7 +6406,7 @@ turtle%
% \begin{macrocode}
%<*pgfkeys>
\ProvidesPackage{interfaces-pgfkeys}
- [2010/11/26 v2.4 pgfkeys handlers definitions (FC)]
+ [2010/12/07 v2.5 pgfkeys handlers definitions (FC)]
\RequirePackage{interfaces-base}
\ifdefined\pgfkeys@ifexecutehandler % pgf version 2.1
\def\itf@pgfkeys{%
@@ -6365,7 +6582,7 @@ turtle%
\itf@pgfkeys
% \end{macrocode}
%
-% \paragraph(/.alias){Handlers definition: \handler/.alias/, \handler/.blank/}
+% \paragraph(/.alias){Handler definition: \handler/.alias/, \handler/.blank/}
%
% \begin{macrocode}
\pgfkeys{%
@@ -6391,7 +6608,7 @@ turtle%
}% \itf@pgfkeys@aliaserror
% \end{macrocode}
%
-% \paragraph(/.alias*){Handlers definition: \handler/.alias*/}
+% \paragraph(/.alias*){Handler definition: \handler/.alias*/}
%
% For use with handlers \handler/.store as glue/ or \handler/.store as glue in cs/ \etc. when a handler
% defines key with \stform* version and/or \stform+ version and/or \stform- versions.
@@ -6413,7 +6630,7 @@ turtle%
}% /.alias*
% \end{macrocode}
%
-% \paragraph(/.is private){Handlers definition: \handler/.is private/}
+% \paragraph(/.is private){Handler definition: \handler/.is private/}
%
% \begin{macrocode}
\pgfkeys{%
@@ -6474,7 +6691,7 @@ turtle%
}% /.store as code
% \end{macrocode}
%
-% \paragraph(/.estore as code){Handlers definition: \handler/.estore as code/}
+% \paragraph(/.estore as code){Handler definition: \handler/.estore as code/}
%
% \begin{macrocode}
\pgfkeys{%
@@ -6492,7 +6709,7 @@ turtle%
}% /.estore as code
% \end{macrocode}
%
-% \paragraph(/.store as code in cs){Handlers definition: \handler/.store as code in cs/\csuse{=cs-name}}
+% \paragraph(/.store as code in cs){Handler definition: \handler/.store as code in cs/\csuse{=cs-name}}
%
% \begin{macrocode}
\pgfkeys{%
@@ -6530,7 +6747,7 @@ turtle%
}% /.estore as code in cs
% \end{macrocode}
%
-% \paragraph(/.store as color){Handlers definition: \handler/.store as color/, \handler/.store as color command/}
+% \paragraph(/.store as color){Handler definition: \handler/.store as color/}
%
% \begin{macrocode}
\protected\def\itf@pgfk@color#1#2\@nil{%
@@ -6551,7 +6768,7 @@ turtle%
}% /.store as color
% \end{macrocode}
%
-% \paragraph(/.store as color in cs){Handlers definition: \handler/.store as color in cs/\csuse{=cs-name}}
+% \paragraph(/.store as color in cs){Handler definition: \handler/.store as color in cs/\csuse{=cs-name}}
%
% \begin{macrocode}
\pgfkeys{%
@@ -6563,7 +6780,7 @@ turtle%
}% /.store as color in cs
% \end{macrocode}
%
-% \paragraph(/.store as color command){Handlers definition: \handler/.store as color command/}
+% \paragraph(/.store as color command){Handler definition: \handler/.store as color command/}
%
% \begin{macrocode}
\protected\def\itf@pgfk@colorcmd#1\@nil{%
@@ -6585,7 +6802,7 @@ turtle%
}% /.store as color command
% \end{macrocode}
%
-% \paragraph(/.store as color command in cs){Handlers definition: \handler/.store as color command in cs/\csuse{=cs-name}}
+% \paragraph(/.store as color command in cs){Handler definition: \handler/.store as color command in cs/\csuse{=cs-name}}
%
% \begin{macrocode}
\pgfkeys{%
@@ -6598,7 +6815,7 @@ turtle%
}% /.store as color command in cs
% \end{macrocode}
%
-% \paragraph(/.store as number){Handlers definition \handler/.store as number/}
+% \paragraph(/.store as number){Handler definition \handler/.store as number/}
%
% \begin{macrocode}
\pgfkeys{%
@@ -6621,29 +6838,7 @@ turtle%
}% /.store as number
% \end{macrocode}
%
-% \paragraph(/.estore as number){Handlers definition: \handler/.estore as number/}
-%
-% \begin{macrocode}
-\pgfkeys{%
- /handlers/.estore as number/.code={%
- \pgfkeysedef\pgfkeyscurrentpath{%
- \noexpand\pgfkeyssetvalue{\pgfkeyscurrentpath}{%
- \noexpand\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
-% \end{macrocode}
-%
-% \paragraph{/.store as number in cs}{Handlers definition: \handler/.store as number in cs/}
+% \paragraph{/.store as number in cs}{Handler definition: \handler/.store as number in cs/}
%
% \begin{macrocode}
\pgfkeys{%
@@ -6670,7 +6865,29 @@ turtle%
}% /.store as number in cs
% \end{macrocode}
%
-% \paragraph(/.estore as number in cs){Handlers definition: \handler/.estore as number in cs/}
+% \paragraph(/.estore as number){Handler definition: \handler/.estore as number/}
+%
+% \begin{macrocode}
+\pgfkeys{%
+ /handlers/.estore as number/.code={%
+ \pgfkeysedef\pgfkeyscurrentpath{%
+ \noexpand\pgfkeyssetvalue{\pgfkeyscurrentpath}{%
+ \noexpand\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
+% \end{macrocode}
+%
+% \paragraph(/.estore as number in cs){Handler definition: \handler/.estore as number in cs/}
%
% \begin{macrocode}
\pgfkeys{%
@@ -6693,7 +6910,7 @@ turtle%
}% /.estore as number in cs
% \end{macrocode}
%
-% \paragraph(/.store in counter cs){Handlers definition: \handler/.store in counter cs/}
+% \paragraph(/.store in counter cs){Handler definition: \handler/.store in counter cs/}
%
% \begin{macrocode}
\pgfkeys{%
@@ -6731,7 +6948,7 @@ turtle%
\noexpand\pgfkeysalso{\pgfkeyscurrentpath/.expanded=%
\noexpand\pgfkeysvalueof@unexpanded{\pgfkeyscurrentpath}%
\x
- \if*\x\noexpand\itf@units@scale##1!
+ \if*\x\noexpand\itf@units@scaleNoCalc##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}%
@@ -6740,79 +6957,6 @@ turtle%
}% /.store as glue
% \end{macrocode}
%
-% \paragraph(/.estore as glue){Handlers definition: \handler/.estore as glue/}
-%
-% \begin{macrocode}
-\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
-% \end{macrocode}
-%
-% \paragraph(/.store as dimen){Handlers definition: \handler/.store as dimen/}
-%
-% \begin{macrocode}
-\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
-% \end{macrocode}
-%
-% \paragraph(/.estore as dimen){Handlers definition: \handler/.estore as dimen/}
-%
-% \begin{macrocode}
-\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
-% \end{macrocode}
-%
-%
% \paragraph(/.store as glue in cs){Handlers definition: \handler/.store as glue in cs/\csuse{=cs-name}}
%
% \begin{macrocode}
@@ -6828,10 +6972,10 @@ turtle%
\noexpand\ifcsname#1\endcsname
#1\noexpand\else z@skip\noexpand\fi}%
\edef\noexpand\pgfkeys@temp{%
- \noexpand\pgfkeysalso{\pgfkeyscurrentpath={%
+ \noexpand\noexpand\noexpand\pgfkeysalso{\pgfkeyscurrentpath={%
\noexpand\expandonce\noexpand\pgfkeys@temp
\x
- \if*\x\noexpand\itf@units@scale##1!
+ \if*\x\noexpand\itf@units@scaleNoCalc##1!
\else\glueexpr\noexpand\unexpanded{##1}\relax\fi}}%
}\noexpand\pgfkeys@temp}%
\pgfkeysEsetvalue{\pgfkeyscurrentpath\x/.@def}{\if*\x\@ne\else\z@skip\fi}%
@@ -6841,6 +6985,31 @@ turtle%
}% /.store as glue in cs
% \end{macrocode}
%
+% \paragraph(/.estore as glue){Handlers definition: \handler/.estore as glue/}
+%
+% \begin{macrocode}
+\pgfkeys{%
+ /handlers/.estore as glue/.code={%
+ \pgfkeysedef{\pgfkeyscurrentpath}{%
+ \itf@setlength\itf@sk{##1}%
+ \noexpand\pgfkeysEsetvalue{\pgfkeyscurrentpath}{%
+ \noexpand\the\itf@sk}}%
+ \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
+% \end{macrocode}
+%
% \paragraph(/.estore as glue in cs){Handlers definition: \handler/.estore as glue in cs/\csuse{=cs-name}}
%
% \begin{macrocode}
@@ -6848,7 +7017,8 @@ turtle%
/handlers/.estore as glue in cs/.code={%
\pgfkeysdef\pgfkeyscurrentpath{%
\ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text
- \else\csedef{#1}{\the\glueexpr##1\relax}\fi}%
+ \else\itf@setlength\itf@sk{##1}%
+ \csedef{#1}{\the\itf@sk}\fi}%
\pgfkeyslet{\pgfkeyscurrentpath/.@blank}\z@skip
\@tfor\x:=+-*\do{%
\pgfkeysedef{\pgfkeyscurrentpath\x}{%
@@ -6867,7 +7037,7 @@ turtle%
%
% \paragraph(/.store in skip cs){Handlers definition: \handler/.store in skip cs/}
%
-% This is a variant of \handler/.store as glue in cs/ when the control sequence in a \cs{skip} (\ie a length).
+% This is a variant of \handler/.estore as glue in cs/ when the control sequence in a \cs{skip} (\ie a length).
% The skip is given by its name, not as a control sequence.
%
% \begin{macrocode}
@@ -6875,7 +7045,7 @@ turtle%
/handlers/.store in skip cs/.code={%
\pgfkeysdef\pgfkeyscurrentpath{%
\ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text
- \else\csname#1\endcsname\glueexpr##1\relax\fi}%
+ \else\expandafter\itf@setlength\csname#1\endcsname{##1}\fi}%
\pgfkeyslet{/\pgfkeyscurrentpath/.@blank}\z@skip
\@tfor\x:=+-*\do{%
\pgfkeysedef{\pgfkeyscurrentpath\x}{%
@@ -6891,6 +7061,29 @@ turtle%
}% /.store in skip cs
% \end{macrocode}
%
+% \paragraph(/.store as dimen){Handlers definition: \handler/.store as dimen/}
+%
+% \begin{macrocode}
+\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@scaleNoCalc##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
+% \end{macrocode}
%
% \paragraph(/.store as dimen in cs){Handlers definition: \handler/.store as dimen in cs/\csuse{=cs-name}}
%
@@ -6904,21 +7097,48 @@ turtle%
\@tfor\x:=+-*\do{%
\pgfkeysedef{\pgfkeyscurrentpath\x}{%
\letcs\noexpand\pgfkeys@temp{%
- \ifcsname#1\endcsname#1\else z@\fi}%
+ \noexpand\ifcsname#1\endcsname
+ #1\noexpand\else z@\noexpand\fi}%
\edef\noexpand\pgfkeys@temp{%
- \noexpand\pgfkeysalso{\pgfkeyscurrentpath={%
+ \noexpand\noexpand\noexpand\pgfkeysalso{\pgfkeyscurrentpath={%
\noexpand\expandonce\noexpand\pgfkeys@temp
\x
- \if*\x\noexpand\itf@units@scale##1!
- \else\dimexpr\noexpand\unexpanded{##1}\fi}}%
+ \if*\x\noexpand\itf@units@scaleNoCalc##1!
+ \else\dimexpr\noexpand\unexpanded{##1}\relax\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}{+-}
+}% /.store as dimen in cs {csname}{+-*}
+% \end{macrocode}
+%
+% \paragraph(/.estore as dimen){Handlers definition: \handler/.estore as dimen/}
+%
+% \begin{macrocode}
+\pgfkeys{%
+ /handlers/.estore as dimen/.code={%
+ \pgfkeysedef\pgfkeyscurrentpath{%
+ \itf@setlength\itf@sk{##1}%
+ \noexpand\pgfkeysEsetvalue{\pgfkeyscurrentpath}{%
+ \noexpand\the\dimexpr\itf@sk}}%
+ \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
% \end{macrocode}
%
+%
% \paragraph(/.estore as dimen in cs){Handlers definition: \handler/.estore as dimen in cs/\csuse{=cs-name}}
%
% \begin{macrocode}
@@ -6926,20 +7146,20 @@ turtle%
/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}%
+ \else \itf@setlength\itf@sk{##1}%
+ \csedef{#1}{\the\dimexpr\itf@sk}\fi}%
\pgfkeyslet{\pgfkeyscurrentpath/.@blank}\z@
\@tfor\x:=+-*\do{%
\pgfkeysedef{\pgfkeyscurrentpath\x}{%
\noexpand\ifcsname#1\endcsname
- \noexpand\@defaultunits\itf@sk
+ \noexpand\@defaultunits \itf@sk
\noexpand\csname#1\endcsname pt\relax\noexpand\@nnil
- \noexpand\else\itf@sk\z@\noexpand\fi
+ \noexpand\else \itf@sk \z@ \noexpand\fi
\if*\x
- \itf@sk\dimexpr\itf@sk*\noexpand\itf@units@scale##1!\relax
+ \itf@setlength\itf@sk {\itf@sk*\noexpand\itf@units@scale##1!}%
\else
- \noexpand\@defaultunits\@tempdima ##1pt\relax\noexpand\@nnil
- \advance\itf@sk\x\@tempdima
+ \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}%
@@ -6959,12 +7179,12 @@ turtle%
/handlers/.store in dimen cs/.code={%
\pgfkeysdef\pgfkeyscurrentpath{%
\ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text
- \else\csname#1\endcsname\dimexpr##1\relax\fi}%
+ \else\expandafter\itf@setlength\csname#1\endcsname{##1}\fi}%
\pgfkeyslet{/\pgfkeyscurrentpath/.@blank}\z@
\@tfor\x:=+-*\do{%
\pgfkeysedef{\pgfkeyscurrentpath\x}{%
\if*\x \else
- \noexpand\@defaultunits\itf@sk ##1pt\relax\noexpand\@nnil
+ \noexpand\@defaultunits\itf@sk ##1pt \relax\noexpand\@nnil
\fi
\noexpand\pgfkeysalso{\pgfkeyscurrentpath=%
\csname#1\endcsname % has been defined as a dimen (not expandable)
@@ -6984,7 +7204,8 @@ turtle%
\pgfkeys{%
/handlers/.is multiple choice/.code=%
\pgfkeys{\pgfkeyscurrentpath/.cd,%
- .unknown/.style={/errors/unknown choice value=\pgfkeyscurrentkey\pgfkeyscurrentvalue},%
+ .unknown/.style={%
+ /errors/unknown choice value=\pgfkeyscurrentkey\pgfkeyscurrentvalue},%
.code=\expandafter\pgfkeys\expandafter{\pgfkeyscurrentkey/.cd,####1}%
},%
/handlers/.is multiple choice/.value forbidden,%
@@ -7020,7 +7241,7 @@ turtle%
% \begin{macrocode}
%<*etoolbox>
\ProvidesPackage{interfaces-etoolbox}
- [2010/10/27 v1.2 some more etoolbox-like commands (FC)]
+ [2010/12/07 v2.5 some more etoolbox-like commands (FC)]
\RequirePackage{interfaces-base}
\begingroup\catcode`\&=3
\long\gdef\etb@doitem#1&{\do{#1}}
@@ -7070,7 +7291,7 @@ turtle%
% \end{macro}
% \end{macro}
% \end{macro}
-%%----------------------------------------------------------------------------
+%
% \begin{macro}{\removefrom}
% \begin{macro}{\eremovefrom}
% \begin{macro}{\gremovefrom}
@@ -7150,7 +7371,7 @@ turtle%
}% \itf@removefromstart
% \end{macrocode}
% \end{macro}
-%----------------------------------------------------------------------------
+%
% \begin{macrocode}
%</etoolbox>
% \end{macrocode}
@@ -7159,14 +7380,35 @@ turtle%
% \pagesetup*{
% left/offset-=1.5cm,
% right/offset+=.5cm,
-% head/right=\leftmark,
-% head/right/font=\small\bfseries\sffamily\pkgcolor
+% head/right/font=\small\bfseries\sffamily\pkgcolor,
+% head/right=\hyperref{}{}{\thefirstmarks{sectionanchor}}{\thefirstmarks{section}},
% }
%
% \begin{History}
%
% \sectionformat\subsection[hang]{format=\large\bfseries}
%
+% \begin{Version}{2010/12/07 v2.5}
+% \item \csref{sectionformat} now works with the \textt{explicit} option of package \xpackage{titlesec}.
+% (\emph{in} \thispackage[interfaces-titlesec])
+% \item Compatibility with \xpackage{calc} package as been implemented for \xpackage{pgfkeys} handlers: \par
+% \begin{tabu}{XXX}
+% \handler/.estore as dimen/ &\handler/.estore as dimen in cs/ &\handler/.store in dimen cs/ \\
+% \handler/.estore as glue/ &\handler/.estore as glue in cs/ &\handler/.store in skip cs/
+% \end{tabu} \par
+% As a result, it is now possible to write:
+% \begin{Verb*}
+% \sectionformat\section{labelsep=\widthof{ some text }}
+% \tocsetup{ section/pagenumbers/width=\widthof{ 00.00\enspace } }
+% \end{Verb*}
+% For scaling operations, \thispackage keeps the shrink and stretch components of glues,
+% while \xpackage{calc} discard them.
+% \item \csref{listofsetup} now works properly (\thispackage[interfaces-tocloft]).
+% \item Some \stform+ and \stform* keys added to \thispackage[interfaces-fancyhdr].
+% \item Fix a bug of \xpackage{titlesec} when inside \xext{dtx} files: \cs{input}\M*{ttlkeys.def}
+% shall be done with \% as a comment character (\cs{BeforeFile}...\cs{AfterFile} does the trick).
+% \end{Version}
+%
% \begin{Version}{2010/11/26 v2.4}
% \item \thispackage[interfaces-fancyhdr] : complete key set for header, footer and offset settings \\
% Now keys like \textt{foot/inner} or \textt{head/outer/offset} are available (ouf!).
@@ -7221,17 +7463,6 @@ turtle%
%
% \end{History}
%
-% \begin{thebibliography}{9}
-%
-% \bibitem{docstrip}
-% \textit{The \xpackage{docstrip} program};
-% 2009/09/25 v2.5d;
-% \CTAN{macros/latex/base/}.
-%
-% \bibitem{many others...}
-% \textit{some packages...}
-% \end{thebibliography}
-%
% \begin{appendices}[intoc=true,title=Appendix: README (for CTAN),intoc/title=\textsc{readme},section]
% The \thispackage package provides a small number of macros to modify the settings of a
% large number of parameters provided by Most Frequently Used Package (MFUP) for typesetting
diff --git a/Master/texmf-dist/source/latex/interfaces/interfaces.ins b/Master/texmf-dist/source/latex/interfaces/interfaces.ins
index b745a547e1e..fc1d6e11e98 100644
--- a/Master/texmf-dist/source/latex/interfaces/interfaces.ins
+++ b/Master/texmf-dist/source/latex/interfaces/interfaces.ins
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% interfaces : 2010/11/26 v2.4 - interfaces : interfaces with keys for other packages (FC)
+%% interfaces : 2010/12/07 v2.5 - 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
@@ -46,7 +46,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: 2010/11/26 v2.4 - interfaces: interfaces with keys for other packages (FC)}
+\Msg{* Package: 2010/12/07 v2.5 - interfaces: interfaces with keys for other packages (FC)}
\Msg{************************************************************************}
\keepsilent
@@ -57,7 +57,7 @@
This is a generated file.
-interfaces : 2010/11/26 v2.4 - interfaces : interfaces with keys for other packages (FC)
+interfaces : 2010/12/07 v2.5 - 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