diff options
author | Karl Berry <karl@freefriends.org> | 2010-12-08 23:10:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-12-08 23:10:08 +0000 |
commit | 683d8229d4e98772f56ad658500561b7dc97ad62 (patch) | |
tree | 9a30a0bd8c225ecbb04d2cd08efb81403d304673 /Master/texmf-dist/source/latex/interfaces | |
parent | 1dd12f0cdb395b2f0be720638566c238b2354a71 (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')
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 ¯o 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 |