summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/interfaces/interfaces.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/interfaces/interfaces.dtx')
-rw-r--r--Master/texmf-dist/source/latex/interfaces/interfaces.dtx369
1 files changed, 236 insertions, 133 deletions
diff --git a/Master/texmf-dist/source/latex/interfaces/interfaces.dtx b/Master/texmf-dist/source/latex/interfaces/interfaces.dtx
index 0d118f8d988..1965b0ea0b5 100644
--- a/Master/texmf-dist/source/latex/interfaces/interfaces.dtx
+++ b/Master/texmf-dist/source/latex/interfaces/interfaces.dtx
@@ -1,6 +1,7 @@
\let\CTANLinks=y
+\let\interfacesquick=n
% \iffalse meta-comment
-% interfaces : 2011/01/17 v2.8 - interfaces with keys for other packages (FC)
+% interfaces : 2011/01/19 v2.9 - 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
@@ -57,7 +58,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: 2011/01/17 v2.8 - interfaces: interfaces with keys for other packages (FC)}
+\Msg{* Package: 2011/01/17 v2.9 - interfaces: interfaces with keys for other packages (FC)}
\Msg{************************************************************************}
\keepsilent
@@ -68,7 +69,7 @@
This is a generated file.
-interfaces : 2011/01/17 v2.8 - interfaces : interfaces with keys for other packages (FC)
+interfaces : 2011/01/19 v2.9 - 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
@@ -159,8 +160,8 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%<*driver>
\edef\thisfile{\jobname}
\def\thisinfo{interfaces with keys for other packages}
-\def\thisdate{2011/01/17}
-\def\thisversion{2.8}
+\def\thisdate{2011/01/19}
+\def\thisversion{2.9}
\def\thisVersion{\thisversion\,\textendash\,release}
\def\CTANbaseurl{http://www.ctan.org/tex-archive/}
\def\LocalOrCTAN#1#2{\ifx y\CTANLinks#2\else#1\fi}
@@ -174,7 +175,8 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\usepackage[T1]{fontenc}
\usepackage{txfonts,times,marvosym,wasysym,nicefrac,numprint,hologo}
\usepackage[scaled=.9]{helvet}
-\usepackage[expansion=all,protrusion=none,shrink=50,stretch=20]{microtype}
+\ifx y\interfacesquick\else
+\usepackage[expansion=all,protrusion=none,shrink=50,stretch=20]{microtype}\fi
\PassOptionsToPackage{svgnames}{xcolor}
\usepackage{etoolbox,atveryend,calc}
\usepackage{graphicx,xspace,xcolor,framed}
@@ -218,7 +220,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%</driver>
% \fi
%
-% \CheckSum{6001}
+% \CheckSum{6105}
% \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
@@ -712,12 +714,12 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \Section[TikZ](Interface TikZ)[Interface TikZ]{Interface TikZ \raise.1ex\hbox{\smaller(\HR\doclink[\LocalOrCTAN{\LOCALDOC/../generic/pgf/pgfmanual.pdf}{\CTANbaseurl/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf}]{\mdseries pgfmanual})}}
%
% \begin{declcs}[\red]{usetikz}
-% \{\begin{tabular}[t]{Ol}
+% \{\begin{tabu}[t]{Ol}
% basic &loads \texttt{tikz} with libraries \textt{calc}, \textt{arrows}, \textt{scopes} and \textt{backgrounds} \\
% all &loads \texttt{tikz} with all packages, pgf-modules and TikZ-libraries \\
% {\normalcolor any other key} &\makecell[tl]{loads \texttt{tikz} and the specified package, module or library \\
% using \cs{usepackage}, \cs{usepgfmodule} or \cs{usetizlibrary} \kern2cm\}}
-% \end{tabular}
+% \end{tabu}
% \end{declcs}
%
% \cs[\red]{usetikz} is a facility provided to load \xpackage{pgf}, \xpackage{tikz}, \xpackage{pgf}-modules, and \xpackage{tikz}-libraries,
@@ -768,45 +770,61 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%
% {\scriptsize\raggedleft sorry for the blank cell, but I didn't get out with \xpackage{colortbl} and the \cs{multicolumn} entry...\par}
%
-% \begin{declcs}{papergraduate}\M*[options] \M*(coordinate) - \M*(coordinate);
+% \begin{declcs}[\red]{papergraduate}\M*[options] \qquad displays a graduated paper on the whole page background, \, \\
+% \qquad or inside a \textt{pgfpicture} : \\
+% \cs[\red]{papergraduate}
+% [\begin{tabu}[t]{ol}
+% x & unit for x axis (default is \textt{1cm}), \\
+% y & unit for y axis (default is \textt{1cm}), \\
+% unit & sets both \textt x and \textt y, \\
+% xcolor & color for horizontal graduations (default is \textt{magenta}), \\
+% ycolor & color for vertical graduations (default is \textt{cyan}) \\
+% color & sets both \textt{xcolor} and \textt{ycolor} \\
+% xrule & \textt{true} (default) or \textt{false}: displays the horizontal rule or not, \\
+% yrule & \textt{true} (default) or \textt{false}: displays the vertical rule or not, \\
+% xrule/font [\stform+,\stform*] & font for the labels on the horizontal rule \\
+% yrule/font [\stform+,\stform*] & font for the labels on the vertical rule \\
+% norule & don't display the rules \\
+% opacity & opacity for the graduations (default $=.25$)\\
+% text opacity & opacity for the rules labels (default =$.8$) \kern2cm]
+% \end{tabu} \\
+% \hphantom{\cs{papergraduate}}\quad \M*(coordinate) \qquad \M*(coordinate);
% \end{declcs}
%
-% \cs{papergraduates} is a bit like \xpackage{TikZ} \textt{grid} path and displays a real graduated paper.
+% \cs{papergraduate} is close to \xpackage{TikZ} \textt{grid} path and displays a real graduated paper.
%
-% Moreover, when used \emph{outside} a \textt{tikzpicture} environment, \cs{papergraduate} alone draws a graduated paper
-% as a wallpaper on the current page background.
+% When used \emph{outside} of a \textt{pgfpicture}, \cs{papergraduate} alone draws a graduated paper
+% as a wallpaper on the current page background (on this page with $x=1 in$ and $y=1 in$).
%
% The code is fast because based on \TeX{} primitive \cs{leaders} (faster than \textt{grid}).
%
-% Examples:
+% Examples: \papergraduate [x=1in,y=1in,xcolor=Fuchsia,ycolor=Chartreuse]
%
% \begin{multicols}{2}
-% \begin{Verb}
+% \begin{Verb}[commandchars=$<>]
% \tikz{
-% \coordinate (A) at (0,0);
-% \coordinate (B) at (8cm,3.5cm);
-% \papergraduate (A) - (B); }
+% \coordinate (A) at (0,0);
+% \papergraduate [opacity=.9]
+% (A) ++ (8cm,3.5cm); }
+%
+% $smaller or \papergraduate (A) to ++ (8cm,3.5cm);
+% $smaller or \papergraduate (A) -- ++ (8cm,3.5cm);
% \end{Verb}
% \columnbreak
% \tikz{
% \coordinate (A) at (0,0);
-% \coordinate (B) at (8cm,3.5cm);
-% \papergraduate (A) - (B); }
+% \papergraduate [opacity=.9,text opacity=1] (A) ++ (8cm,3.5cm); }
% \end{multicols}
%
-% As for now (\thispackage \hyperref[v\thisversion]{version 2.8}, there is no option !
%
-% But the optional argument is there for a future release...
-%
-%
-%
+%
% \clearpage
% \sectionformat\section{bookmark={color=db,bold}}
% \Section[titlesec]({\cs{sectionformat} (titlesec)})[{Interface titlesec: \cs[\red]{sectionformat}}]{\sectitle{titlesec}: \cs[\mdseries\red]{sectionformat}}
%
%
% \begin{declcs}[\red]{sectionformat}\M*{\cs{section}} \{ \hskip-2em
-% \begin{tabular}[t]{OOOOO}
+% \begin{tabu}[t]{OOOOO}
% class &\multicolumn{4}{l}{\textt{page}\OR\textt{top}\OR\textt{straight} \M*[\cs{sup-level}]} \\
% shape &\multicolumn{4}{l}{\makecell[tl]{%
% \textt{hang}\OR\textt{block}\OR\textt{display}\OR\textt{runin}\OR\textt{leftmargin}\OR\textt{rightmargin}\OR \\
@@ -815,7 +833,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% left &right &top &bottom \\
% before &after &\omit & \omit \\
% mark &break &thesection &\omit \rlap{\hfill\}} \\
-% \end{tabular}
+% \end{tabu}
% \end{declcs}
%
% \newrobustcmd\key[2][\keydefault]{\textt[{#1}]{#2}} \let\keydefault\opt
@@ -975,13 +993,13 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% A few new keys appear with \thispackage for the command \cs{bookmarksetup}:
%
% \begin{declcs}[\red]{bookmarksetup}
-% \{\begin{tabular}[t]{Ol}
+% \{\begin{tabu}[t]{Ol}
% bold\stform* & will make the bookmark text bold, but only for the very next bookmark \\
% italic\stform* & \emph{idem} for italic \\
% color\stform* & \emph{idem} for color: the previous color will be restored after the next bookmark \\
% disable & will disable the bookmarks (the same as \cs{bookmarksetup}\M*{depth=-2}) \\
% disable\stform* & will disable only the very next bookmark \hfill\rlap\}
-% \end{tabular}
+% \end{tabu}
% \end{declcs}
%
% Furthermore the following code:
@@ -1034,11 +1052,11 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \section$string(out$string)[toc]{title} ($nnn or) \section[toc]$string(out$string){title}
% \end{Verb*}
% Where:
-% \begin{tabular}{>{\ttfamily}rl}
+% \begin{tabu}{>{\ttfamily}rl}
% \M*(out) &is used for the bookmark (outline) \\
% \M*[toc] &for tha table and contents and the marks \\
% \M*{title} &to typeset the section title in the document
-% \end{tabular}
+% \end{tabu}
%
%
% Internally, \xpackage{hypbmsec} defines \cs{hbs@bmstring} (the string used for the bookmark entry) and
@@ -1337,11 +1355,11 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%
%
% {\small
-% \begin{tabular}{!{\textbullet}l@{\,=\,}l!{$\Leftrightarrow$}l}
+% \begin{tabu}{!{\textbullet}l@{\,=\,}l!{$\Leftrightarrow$}l}
% \cs{firstmarks} &\cs{botmarks} &there is at most one section title on the current page; \\
% \cs{topmarks} &\cs{botmarks} &there is no section title on the current page;\\
% \cs{firstmarks} &\cs{topmarks} &the last section title continues on the current page.
-% \end{tabular}
+% \end{tabu}
%
% Those assertions are true only if you mark the section title at \cs{sectionmark} and at \cs{sectionbreak}: this is easy when using
% \thispackage[interfaces-hypbmsec]: \cs{sectionformat}\cs{subsection}\M*{break=\cs{marksthecs}\M*{subsection}\M*{lastsubsectiontoc}}.
@@ -1526,7 +1544,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \label{repeatcell:colors}
% {\footnotesize
% \begin{Verb*}[commandchars=£|+]
-% \begin{|£dg£underline|tabular++}{*{4}c}
+% \begin{|£dg£underline|tabu++}{*4c}
% |£red|\repeatcell++ {8}{|£opt|transpose++=true, rows=4,
% red = {$$round(\c/8*255,0)$$},
% greeni = \red, bluei = \red,
@@ -1537,11 +1555,11 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% text/row2={\cellcolor[RGB]{\red,\greenii,\blueii}(\red,\greenii,\blueii)},
% text/row3={\cellcolor[RGB]{\red,\greeniii,\blueiii}(\red,\greeniii,\blueiii)},
% text/row4={\cellcolor[RGB]{\red,\greeniv,\blueiv}(\red,\greeniv,\blueiv)} }
-% \end{|£dg£underline|tabular++}
+% \end{|£dg£underline|tabu++}
% \end{Verb*}
% }§
% \begin{center}\smaller
-% \begin{tabular}{*{4}{c}}
+% \begin{tabu}{*4c}
% \repeatcell {8}{transpose=true, rows=4,
% red = {$$round(\c/8*255,0)$$},
% greeni = \red, bluei = \red,
@@ -1553,7 +1571,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% text/row3={\cellcolor[RGB]{\red,\greeniii,\blueiii}(\red,\greeniii,\blueiii)},
% text/row4={\cellcolor[RGB]{\red,\greeniv,\blueiv}(\red,\greeniv,\blueiv)},
% }
-% \end{tabular}
+% \end{tabu}
% \end{center}
%
% {\smaller \textitbf{Note: } \xpackage{makecell} interact very badly with \xpackage{colortbl}. Therefore, with \cs{cellcolor}
@@ -1585,7 +1603,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \end{tabu}$$\nobreak
% \centerline{\$\cs{pgfmath}\$ computations}§
%
-% $$\begin{tabu}{|c<{\bottopstrut}|*{5}{|D..{5.5}}|} \hline
+% $$\begin{tabu}{|c<{\bottopstrut}|*5{|D..{5.5}}|} \hline
% \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
@@ -1632,7 +1650,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
+% \ifx y\interfacesquick \else
% \begin{tabu}{*{\countvalues\heightlist}{|c}|} \hline
% \repeatcell\heightlist{%
% rows=\weightlist,
@@ -1756,10 +1774,10 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \cs[\red]{trunctext}\, is the same as\, \cs{truncate}\, but it leaves \M*{text} to its natural width
% if it has not to be truncated (\ie if \meta{width}$\leq$ \textt{width of }\meta{text}). Example:
%
-% \begin{tabular}{>{\ttfamily}rll}
+% \begin{tabu}{>{\ttfamily}rll}
% truncate: &\cs{truncate}\M{5cm}\M{Hello world!} &\fbox{\truncate{5cm}{Hello word!}} \\
% trunctext: &\cs{trunctext}\M{5cm}\M{Hello world!} &\fbox{\trunctext{5cm}{Hello world!}}
-% \end{tabular}
+% \end{tabu}
%
% This corresponds to the \M*[fit] option of the \xpackage{truncate} package.
%
@@ -2336,9 +2354,9 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%
% Those commands are replaced by their equivalent in the package \xpackage{ltxcmds}:
%
-% \begin{tabular}{*{4}{c}}
+% \begin{tabu}{*4c}
% \repeatcell{ltx@pkgextension,ltx@clsextension,ltx@ifpackageloaded,ltx@ifclassloaded}{text=\cs{\c}}
-% \end{tabular}
+% \end{tabu}
%
% This is because \LaTeX{} defines those commands \cs{@onlypreamble}, while the equivalent macros in \xpackage{ltxcmds}
% can be used inside \textt{document} as well.
@@ -2481,7 +2499,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{interfaces}
- [2011/01/17 v2.8 - pgfkeys interfaces - pgf 2.0 et 2.1 (FC)]
+ [2011/01/19 v2.9 - pgfkeys interfaces - pgf 2.0 et 2.1 (FC)]
% \end{macrocode}
%
% \subsubsection{Requirements}
@@ -2522,7 +2540,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \begin{macrocode}
%<*base>
\ProvidesPackage{interfaces-base}
- [2011/01/17 v2.8 Interfaces core system layer (FC)]
+ [2011/01/19 v2.9 Interfaces core system layer (FC)]
\RequirePackage{etex,ltxcmds,etoolbox,pgfkeys,scrlfile,infwarerr}
\AtEndOfPackage{%
\RequirePackage{interfaces-etoolbox}%
@@ -2938,7 +2956,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \begin{macrocode}
%<*LaTeX>
\ProvidesPackage{interfaces-LaTeX}
- [2011/01/17 v2.8 pgfkeys macros for LaTeX (FC)]
+ [2011/01/19 v2.9 pgfkeys macros for LaTeX (FC)]
\RequirePackage{interfaces-base}
\itf@pgfkeys
% \end{macrocode}
@@ -3016,7 +3034,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \begin{macrocode}
%<*tikz>
\ProvidesPackage{interfaces-tikz}
- [2011/01/17 v2.8 load tikz libraries easily (FC)]
+ [2011/01/19 v2.9 load tikz libraries easily (FC)]
\RequirePackage{interfaces-base}
\itf@pgfkeys
% \end{macrocode}
@@ -3175,7 +3193,6 @@ turtle%
\ifblank{#1}
{\pgfqkeys{/itf/tikz}{all}}
{\pgfqkeys{/itf/tikz}{#1}}%
- \itf@pgfkeys% overwritten by \input primitive otherwise
\itf@usetikzsetup
}% \usetikz
% \end{macrocode}
@@ -3183,7 +3200,7 @@ turtle%
%
% \begin{macro}{\itf@usetikzsetup}
% \begin{macrocode}
-\def\itf@usetikzsetup{%
+\def\itf@usetikzsetup{\itf@pgfkeys
\pgfkeysifdefined{/tikz/shorten>}{}{%
\pgfkeys{/tikz/shorten>/.alias=tikz/shorten >}}%
\pgfkeysifdefined{/tikz/shorten<}{}{%
@@ -3221,53 +3238,121 @@ turtle%
%
% \begin{macro}{\papergraduate}
% \begin{macrocode}
-\newrobustcmd*\papergraduate[1][]{%
+\newrobustcmd*\papergraduate[1][x=1cm,y=1cm]{%
\ifpgfpicture \expandafter \itf@papergraduate
\else \expandafter \itf@wallpapergraduate
\fi{#1}%
}% \papergraduate
+\pgfqkeys{/itf/tikz/papergraduate}{%
+ xcolor/.store as color,%
+ xcolor/.default=magenta,%
+ ycolor/.store as color,%
+ ycolor/.default=cyan,%
+ color/.style={xcolor={#1},ycolor={#1}},%
+ opacity/.initial=.25,opacity/.default=.25,opacity/.blank=.25,%
+ x/.initial=1cm,x/.default=1cm,%
+ y/.initial=1cm,y/.default=1cm,%
+ unit/.style={x={#1},y={#1}},%
+ units/.alias=unit,xy/.alias=unit,%
+ xrule/.true=\pgfkeyslet{/itf/tikz/papergraduate/hasHrule}\@firstofone,%
+ xrule/.false=\pgfkeyslet{/itf/tikz/papergraduate/hasHrule}\@gobble,%
+ xrule/on/.alias=xrule/true,xrule/off/.alias=xrule/false,%
+ Hrule/.alias=xrule,%
+ xrule/font/.store as code,%
+ xrule/font/.default=\tiny,%
+ Hrule/font/.alias=xrule/font,%
+ yrule/.true=\pgfkeyslet{/itf/tikz/papergraduate/hasVrule}\@firstofone,%
+ yrule/.false=\pgfkeyslet{/itf/tikz/papergraduate/hasVrule}\@gobble,%
+ yrule/on/.alias=yrule/true,yrule/off/.alias=yrule/false,%
+ Vrule/.alias=yrule,%
+ yrule/font/.store as code,%
+ yrule/font/.default=\tiny,%
+ Vrule/font/.alias=yrule/font,%
+ font/.style={xrule/font={#1},yrule/font={#1}},%
+ rule/font/.alias=font,%
+ text opacity/.initial=.8,%
+ text opacity/.default=.8,text opacity/.blank=.8,%
+ norule/.style={xrule=false,yrule=false},%
+ norules/.alias=norule,%
+ @reset/.style={font,xrule,yrule,color,unit,opacity},%
+}% keys for \papergraduate options
\def\itf@graduation@vert[#1]#2#3#4#5{%
- \node at (0,0) [{inner sep=0pt,outer sep=0pt,anchor=south west,#1}] {%
- \rlap{\hbox to#2{\leaders\hbox to#4{\kern-\dimexpr#5/2\relax\vrule height#3 depth\z@ width#5}\hss}}}}
+ \node at (0,0) [{inner sep=0pt,outer sep=0pt,anchor=south west,
+ color=\pgfkeysvalueof{/itf/tikz/papergraduate/ycolor},#1}] {%
+ \rlap{\hbox to#2{\leaders \hbox to\dimexpr\pgf@yy/#4{%
+ \kern-\dimexpr#5/2\relax\vrule height#3 depth\z@ width#5}\hss}}}}
\def\itf@graduation@horiz[#1]#2#3#4#5{
- \node at (0,0) [{inner sep=0pt,outer sep=0pt,anchor=north west,yscale=-1,#1}] {%
- \rlap{\vbox to#3{\leaders\vbox to#4{\kern-\dimexpr#5/2\relax\hrule width#2 depth0pt height#5}\vss}}}}
+ \node at (0,0) [{inner sep=0pt,outer sep=0pt,anchor=north west,yscale=-1,
+ color=\pgfkeysvalueof{/itf/tikz/papergraduate/xcolor},#1}] {%
+ \rlap{\vbox to\dimexpr#3{\leaders \vbox to\dimexpr\pgf@xx/#4{%
+ \kern-\dimexpr#5/2\relax\hrule width#2 depth0pt height#5}\vss}}}}
\def\itf@wallpapergraduate #1{%
- \tikz[remember picture,overlay]{
- \itf@papergraduate {#1} (current page.south west) - (current page.north east);}
+ \tikz[{remember picture,overlay}]{%
+ \pgfqkeys{/itf/tikz/papergraduate}{@reset,#1}%
+ \begin{scope}[{shift=(current page.south west),
+ x=\pgfkeysvalueof{/itf/tikz/papergraduate/x},%
+ y=\pgfkeysvalueof{/itf/tikz/papergraduate/y},%
+ text opacity=\pgfkeysvalueof{/itf/tikz/papergraduate/opacity}}]%
+ \itf@paper@graduate \paperwidth \paperheight
+ \end{scope}}%
}% \itf@wallpapergraduate
-\def\itf@papergraduate #1#2-#3;{%
- \path let \p1 = ($#2-#3$)
- in node {\global\@tempdima\x1 \global\@tempdimb\y1};
- \@tempdima \ifdim\@tempdima<\z@-\fi\dimexpr\@tempdima*2540/7227\relax
- \@tempdimb \ifdim\@tempdimb<\z@-\fi\dimexpr\@tempdimb*2540/7227\relax
- \begin{scope}[shift={#2}]
- \@expandtwoargs\itf@paper@graduate{\strip@pt\@tempdima}{\strip@pt\@tempdimb}%
- \end{scope}
-}% \paper@graduate
-\def\itf@paper@graduate#1#2{{\hfuzz\maxdimen\vfuzz\hfuzz\hbadness\@M\vbadness\hbadness
- \itf@graduation@horiz [magenta,very nearly transparent] {#1mm}{#2mm}{1mm}{.1pt};
- \itf@graduation@horiz [magenta,nearly transparent] {#1mm}{#2mm}{5mm}{.1pt};
- \itf@graduation@horiz [magenta,nearly transparent] {#1mm}{#2mm}{10mm}{.2pt};
- \itf@graduation@horiz [black,nearly opaque] {1mm}{#2mm}{1mm}{.1pt};
- \itf@graduation@horiz [black,nearly opaque] {1.5mm}{#2mm}{5mm}{.1pt};
- \itf@graduation@horiz [black,opaque] {2mm}{#2mm}{10mm}{.1pt};
- \foreach \y in {0,10,...,#2}
- \node [inner sep=0pt,outer sep=0pt,font=\tiny,yshift=\y mm,xshift=3mm] at (0,0) {\y};
- \itf@graduation@vert [cyan,very nearly transparent] {#1mm}{#2mm}{1mm}{.1pt};
- \itf@graduation@vert [cyan,nearly transparent] {#1mm}{#2mm}{5mm}{.1pt};
- \itf@graduation@vert [cyan,nearly transparent] {#1mm}{#2mm}{10mm}{.2pt};
- \itf@graduation@vert [black,nearly opaque] {#1mm}{1mm}{1mm}{.1pt};
- \itf@graduation@vert [black,nearly opaque] {#1mm}{1.5mm}{5mm}{.1pt};
- \itf@graduation@vert [black,opaque] {#1mm}{2mm}{10mm}{.1pt};
- \foreach \x in {0,10,...,#1}
- \node [inner sep=0pt,outer sep=0pt,font=\tiny,xshift=\x mm,yshift=3mm] at (0,0) {\x};
-}}% \itf@paper@graduate
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
+\def\itf@papergraduate@coord#1;{%
+ \path #1 node
+ {\def\itf@tp##1##2##3##4\@nil{\gdef\itf@tp{{##2}{##3}}%
+ }\expandafter\itf@tp\pgf@interrupt@path \@nil};
+}% \itf@papergraduate@coord
+\def\itf@papergraduate #1#2;{{%
+ \itf@papergraduate@coord #2;
+ \@tempdima \pgf@x \@tempdimb \pgf@y
+ \expandafter\pgfqpoint \itf@tp
+ \@tempdimc \pgf@x
+ \advance\pgf@x -\@tempdima \pgf@x\ifdim\pgf@x<\z@-\fi\pgf@x
+ \@tempdima \@tempdimc \@tempdimc \pgf@y
+ \advance\pgf@y -\@tempdimb \pgf@y\ifdim\pgf@y<\z@-\fi\pgf@y
+ \@tempdimb \@tempdimc
+ \pgfqkeys{/itf/tikz/papergraduate}{@reset,#1}%
+ \edef\itf@tp{%
+ \noexpand\begin{scope}[{shift={(\the\@tempdima,\the\@tempdimb)},%
+ x=\pgfkeysvalueof{/itf/tikz/papergraduate/x},%
+ y=\pgfkeysvalueof{/itf/tikz/papergraduate/y},%
+ text opacity=\pgfkeysvalueof{/itf/tikz/papergraduate/opacity}}]%
+ \noexpand\itf@paper@graduate {\the \pgf@x}{\the \pgf@y}%
+ \noexpand\end{scope}%
+ }\itf@tp \global\let\itf@tp \relax
+}}% \paper@graduate
+\def\itf@paper@graduate#1#2{\hfuzz\maxdimen\vfuzz\hfuzz\hbadness\@M\vbadness\hbadness
+ \itf@graduation@horiz [text opacity/.expanded={\tikz@textopacity/2}] {#1}{#2}{10}{.1pt};%
+ \itf@graduation@horiz []{#1}{#2}{2}{.1pt};% opacity=.25
+ \itf@graduation@horiz []{#1}{#2}{1}{.2pt};
+ \pgfkeysvalueof{/itf/tikz/papergraduate/hasVrule}{%
+ \itf@graduation@horiz [black,nearly opaque] {1mm}{#2}{10}{.1pt};% opacity=.75
+ \itf@graduation@horiz [black,nearly opaque] {1.5mm}{#2}{2}{.1pt};
+ \itf@graduation@horiz [black,opaque] {2mm}{#2}{1}{.1pt};
+ \begin{scope}[inner sep=0pt,outer sep=0pt,%
+ text opacity=\pgfkeysvalueof{/itf/tikz/papergraduate/text opacity},%
+ font=\pgfkeysvalueof{/itf/tikz/papergraduate/yrule/font}]%
+ \foreach \y in {0,1,...,\the\dimexpr#2*\p@/\pgf@xx}
+ \node [yshift=\y\pgf@xx,xshift=3mm] at (0,0) {\the\numexpr\y*10};
+ \end{scope}}%
+ \itf@graduation@vert [text opacity/.expanded={\tikz@textopacity/2}] {#1}{#2}{10}{.1pt};
+ \itf@graduation@vert [] {#1}{#2}{2}{.1pt};
+ \itf@graduation@vert [] {#1}{#2}{1}{.2pt};
+ \pgfkeysvalueof{/itf/tikz/papergraduate/hasHrule}{%
+ \itf@graduation@vert [black,nearly opaque] {#1}{1mm}{10}{.1pt};
+ \itf@graduation@vert [black,nearly opaque] {#1}{1.5mm}{2}{.1pt};
+ \itf@graduation@vert [black,opaque] {#1}{2mm}{1}{.1pt};
+ \begin{scope}[inner sep=0pt,outer sep=0pt,%
+ text opacity=\pgfkeysvalueof{/itf/tikz/papergraduate/text opacity},%
+ font=\pgfkeysvalueof{/itf/tikz/papergraduate/xrule/font}]%
+ \foreach \x in {0,1,...,\the\dimexpr#1*\p@/\pgf@yy}
+ \node [xshift=\x\pgf@yy,yshift=3mm] at (0,0) {\the\numexpr\x*10};
+ \end{scope}}%
+}% \itf@paper@graduate
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
%
% \begin{macrocode}
%</tikz>
@@ -3279,7 +3364,7 @@ turtle%
% \begin{macrocode}
%<*titlesec>
\ProvidesPackage{interfaces-titlesec}
- [2011/01/17 v2.8 pgfkeys macros for titlesec (FC)]
+ [2011/01/19 v2.9 pgfkeys macros for titlesec (FC)]
\RequirePackage{interfaces-base}
\RequirePackage{auxhook}% <fix for \ttlp@append (odd/even pages)>
\RequirePackage{gettitlestring}
@@ -3670,7 +3755,7 @@ turtle%
{\begingroup\itf@ttl@BKM{/itf/titlesec/#2/bookmark}}% \addcontentsline
{\endgroup}
{\@PackageInfoNoLine{interfaces-titlesec}
- {Command \string\addcontentsline\space successfully patched!}}
+ {\string\addcontentsline\space successfully patched!}}
{\@PackageWarningNoLine{interfaces-titlesec}
{Patch of \string\addcontentsline\space failed
\MessageBreak bookmark-style specs for sections
@@ -3737,7 +3822,7 @@ turtle%
% \begin{macrocode}
%<*hyperref>
\ProvidesPackage{interfaces-hyperref}
- [2011/01/17 v2.8 provides raised hyperdef (FC)]
+ [2011/01/19 v2.9 provides raised hyperdef (FC)]
\RequirePackage{interfaces-base}
\itf@Check@Package{hyperref}
% \end{macrocode}
@@ -3777,7 +3862,7 @@ turtle%
% \begin{macrocode}
%<*bookmark>
\ProvidesPackage{interfaces-bookmark}
- [2011/01/17 v2.8 more control on bookmarks (FC)]
+ [2011/01/19 v2.9 more control on bookmarks (FC)]
\RequirePackage{interfaces-base}
\RequirePackage{interfaces-hyperref}
\RequirePackage{refcount}
@@ -3792,7 +3877,7 @@ turtle%
\expandafter\itf@patch\expandafter\patchcmd\csname\string\bookmark\endcsname
{\immediate\write\@mainaux}{\itf@BKM@write}
{\@PackageInfoNoLine{interfaces-bookmark}
- {Command \expandafter\string\csname\string\bookmark\endcsname\space
+ {\expandafter\string\csname\string\bookmark\endcsname\space
successfully patched!}}
{\@PackageWarningNoLine{interfaces-bookmark}
{Command \expandafter\string\csname\string\bookmark\endcsname\space
@@ -3990,7 +4075,7 @@ turtle%
% \begin{macrocode}
%<*hypbmsec>
\ProvidesPackage{interfaces-hypbmsec}
- [2011/01/17 v2.8 lastsection,title,anchor, etc. (FC)]
+ [2011/01/19 v2.9 lastsection,title,anchor, etc. (FC)]
\RequirePackage{interfaces-base}
\RequirePackage{gettitlestring}
\itf@Check@Package{hypbmsec}
@@ -4018,7 +4103,7 @@ turtle%
\itf@hbs@process{#1}%
}%
{\@PackageInfoNoLine{interfaces-hypbmsec}
- {Command \string\hbs@process\space successfully patched}}
+ {\string\hbs@process\space successfully patched}}
{\@PackageWarningNoLine{interfaces-hypbmsec}
{Command \string\hbs@process\space could not be patched
\MessageBreak loading of `interfaces-hypbmsec` aborted
@@ -4217,7 +4302,7 @@ turtle%
% \begin{macrocode}
%<*fancyhdr>
\ProvidesPackage{interfaces-fancyhdr}
- [2011/01/17 v2.8 pgfkeys macros for fancyhdr (FC)]
+ [2011/01/19 v2.9 pgfkeys macros for fancyhdr (FC)]
\RequirePackage{interfaces-base}
\itf@Check@Package{fancyhdr}
\robustify\fancyhf
@@ -5102,7 +5187,7 @@ turtle%
% \begin{macrocode}
%<*marks>
\ProvidesPackage{interfaces-marks}
- [2011/01/17 v2.8 easier use of e-TeX marks (FC)]
+ [2011/01/19 v2.9 easier use of e-TeX marks (FC)]
\RequirePackage{interfaces-base}
% \end{macrocode}
%
@@ -5222,7 +5307,7 @@ turtle%
% \begin{macrocode}
%<*tocloft>
\ProvidesPackage{interfaces-tocloft}
- [2011/01/17 v2.8 pgfkeys macros for tocloft (FC)]
+ [2011/01/19 v2.9 pgfkeys macros for tocloft (FC)]
\RequirePackage{interfaces-base}
\itf@Check@Package{tocloft}
% \end{macrocode}
@@ -5360,17 +5445,25 @@ turtle%
multicols/after/.alias=multicols/end,%
}% \pgfkeys
\itf@AfterPackage{interfaces-bookmark}{%
+ \def\itf@tocloft@bookmark@handler##1##2{%
+ \pgfkeysEaddvalue{/itf/tocloft/##1/bookmark}{}{,##2}%
+ \pgfkeysgetvalue{/itf/tocloft/##1/bookmark/text}\itf@tp
+ \ifx \itf@tp\@empty
+ \pgfkeyssetvalue{/itf/tocloft/##1/bookmark/text}\contentsname \fi}%
\pgfqkeys{/itf/tocloft/#1}{%
bookmark/.is multiple choice,%
- bookmark/bold/.true=\pgfkeysaddvalue{/itf/tocloft/#1/bookmark}{}{,bold=true},%
- bookmark/bold/.false=\pgfkeysaddvalue{/itf/tocloft/#1/bookmark}{}{,bold=false},%
- bookmark/italic/.true=\pgfkeysaddvalue{/itf/tocloft/#1/bookmark}{}{,italic=true},%
- bookmark/italic/.false=\pgfkeysaddvalue{/itf/tocloft/#1/bookmark}{}{,italic=false},%
- bookmark/color/.code=\pgfkeysaddvalue{/itf/tocloft/#1/bookmark}{}{,color={##1}},%
- bookmark/level/.code=\pgfkeysEaddvalue{/itf/tocloft/#1/bookmark}{}{,level={%
+ bookmark/bold/.true=\itf@tocloft@bookmark@handler{#1}{bold=true},%
+ bookmark/bold/.false=\itf@tocloft@bookmark@handler{#1}{bold=false},%
+ bookmark/italic/.true=\itf@tocloft@bookmark@handler{#1}{italic=true},%
+ bookmark/italic/.false=\itf@tocloft@bookmark@handler{#1}{italic=false},%
+ bookmark/color/.code=\itf@tocloft@bookmark@handler{#1}{color={##1}},%
+ bookmark/level/.code=\pgfkeysEsetvalue{/itf/tocloft/#1/bookmark/level}{%
\ifcsname toclevel@##1\endcsname
\csname toclevel@##1\endcsname
- \else##1\fi}},%
+ \else##1\fi}%
+ \itf@tocloft@bookmark@handler{#1}{},%
+ bookmark/level/.default=-1,%
+ bookmark/level/.initial=-1,%
bookmark/text/.store as code,%
bookmark/text/.default=\contentsname,%
bookmark/.unknown/.code=\pgfkeysEaddvalue{/itf/tocloft/#1/bookmark}
@@ -5402,10 +5495,10 @@ turtle%
\expandafter\pretocmd\csname @cftmake#1title\expandafter\endcsname
\expandafter{\expandafter\itf@tocloft\csname cft#1title\endcsname{#1}{listof#2}}
{\@PackageInfoNoLine{interfaces-tocloft}
- {Command \expandafter\string\csname @cftmake#1title\endcsname\space
+ {\expandafter\string\csname @cftmake#1title\endcsname\space
successfully augmented}}
{\@PackageWarningNoLine{interfaces-tocloft}
- {Command \expandafter\string\csname @cftmake#1title\endcsname\space
+ {\expandafter\string\csname @cftmake#1title\endcsname\space
\space could not be patched
\MessageBreak Keys label and bookmark won't work for \string\listofsetup}}%
\fi
@@ -5604,44 +5697,44 @@ turtle%
\itf@patch\pretocmd\@cftmaketoctitle
{\itf@tocloft\contentsname{toc}{tableofcontents}}
{\@PackageInfoNoLine{interfaces-tocloft}
- {Command \string\@cftmaketoctitle\space successfully augmented}}
+ {\string\@cftmaketoctitle\space successfully augmented}}
{\@PackageWarningNoLine{interfaces-tocloft}
- {Command \string\@cftmaketoctitle\space could not be patched
+ {\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}}
{\@PackageInfoNoLine{interfaces-tocloft}
- {Command \string\@cftmakeloftitle\space successfully augmented}}
+ {\string\@cftmakeloftitle\space successfully augmented}}
{\@PackageWarningNoLine{interfaces-tocloft}
- {Command \string\@cftmakeloftitle\space could not be patched
+ {\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}}
{\@PackageInfoNoLine{interfaces-tocloft}
- {Command \string\@cftmakelottitle\space successfully augmented}}
+ {\string\@cftmakelottitle\space successfully augmented}}
{\@PackageWarningNoLine{interfaces-tocloft}
- {Command \string\@cftmakelottitle\space could not be patched
+ {\string\@cftmakelottitle\space could not be patched
\MessageBreak label and bookmark keys for \string\lotsetup\space won't work}}%
\expandafter\itf@patch\expandafter\patchcmd\csname\string\newlistof\endcsname
{#4}{\csname cft#3title\endcsname}
{\@PackageInfoNoLine{interfaces-tocloft}
- {Command \string\newlistof\space successfully patched}}
+ {\string\newlistof\space successfully patched}}
{\@PackageWarningNoLine{interfaces-tocloft}
- {Command \string\newlistof\space could not be patched
+ {\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}}
+ {\string\newlistof\space successfully augmented}}
{\@PackageWarningNoLine{interfaces-tocloft}
- {Command \string\newlistof\space could not be patched
+ {\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}}
+ {\string\newlistentry\space successfully augmented}}
{\@PackageWarningNoLine{interfaces-tocloft}
- {Command \string\newlistentry\space could not be patched
+ {\string\newlistentry\space could not be patched
\MessageBreak \string\listofsetup\space will not work}}
% \end{macrocode}
% \end{macro}
@@ -5668,23 +5761,25 @@ turtle%
{%
\raisedhyperdef{interfaces}{#4}{#2}%
\pgfkeysgetvalue{/itf/tocloft/#3/bookmark/text}\itf@tp
- \ifx\itf@tp\@empty\else
+ \ifx \itf@tp\@empty \else
\pgfkeysgetvalue{/itf/tocloft/#3/bookmark}\@tempa
\expandafter\bookmark\expandafter[%
- \expandafter{\@tempa,dest=interfaces.#4}]%
- {\pgfkeysvalueof{/itf/tocloft/#3/bookmark/text}}%
+ \expandafter{\@tempa,
+ dest=interfaces.#4,%
+ level=\pgfkeysvalueof{/itf/tocloft/#3/bookmark/level}%
+ }]{\pgfkeysvalueof{/itf/tocloft/#3/bookmark/text}}%
\global\BKM@startatroottrue
\fi}
{#2}%
\pgfkeysgetvalue{/itf/tocloft/#3/label}\itf@tp
- \ifx\itf@tp\@empty\else
+ \ifx \itf@tp\@empty \else
\def\@currentHref{interfaces.#4}%
\pgfkeysgetvalue{/itf/tocloft/#3/ref}\@currentlabel
\def\@currentlabelname{#2}%
\label{\pgfkeysvalueof{/itf/tocloft/#3/label}}%
\fi
\endgroup
- \gdef\itf@tp{\def#1{#2}\let\itf@tp\@undefined}% restore original
+ \gdef\itf@tp{\def#1{#2}\global\let\itf@tp \relax}% restore original
\aftergroup\itf@tp % simple group introduced by tocloft to print \contentsname
}% \itf@cft@label
% \end{macrocode}
@@ -5700,7 +5795,7 @@ turtle%
% \begin{macrocode}
%<*makecell>
\ProvidesPackage{interfaces-makecell}
- [2011/01/17 v2.8 repeatcell to fill in tabulars (FC)]
+ [2011/01/19 v2.9 repeatcell to fill in tabulars (FC)]
\RequirePackage{interfaces-base}
\itf@Check@Package{makecell}
\edef\itf@AtEnd{\catcode126 \the\catcode126}% 126 = ~
@@ -6086,7 +6181,7 @@ turtle%
% \begin{macrocode}
%<*enumitem>
\ProvidesPackage{interfaces-enumitem}
- [2011/01/17 v2.8 more control on lists (FC)]
+ [2011/01/19 v2.9 more control on lists (FC)]
\RequirePackage{interfaces-base}
\itf@Check@Package{enumitem}
% \end{macrocode}
@@ -6279,7 +6374,7 @@ turtle%
% \begin{macrocode}
%<*appendix>
\ProvidesPackage{interfaces-appendix}
- [2011/01/17 v2.8 easy control of appendices environment (FC)]
+ [2011/01/19 v2.9 easy control of appendices environment (FC)]
\RequirePackage{interfaces-base}
\itf@Check@Package{appendix}
% \end{macrocode}
@@ -6332,7 +6427,7 @@ turtle%
% \begin{macrocode}
%<*embedfile>
\ProvidesPackage{interfaces-embedfile}
- [2011/01/17 v2.8 easy macros to embed files into pdf (FC)]
+ [2011/01/19 v2.9 easy macros to embed files into pdf (FC)]
\RequirePackage{interfaces-base}
\itf@Check@Package{embedfile}
\newrobustcmd*\embedthisfile{\@ifstar
@@ -6369,7 +6464,7 @@ turtle%
% \begin{macrocode}
%<*environ>
\ProvidesPackage{interfaces-environ}
- [2011/01/17 v2.8 ReNewEnviron = RenewEnviron (FC)]
+ [2011/01/19 v2.9 ReNewEnviron = RenewEnviron (FC)]
\RequirePackage{interfaces-base}
\AfterPackage{environ}{
\ifundef\ReNewEnviron
@@ -6385,7 +6480,7 @@ turtle%
% \begin{macrocode}
%<*umrand>
\ProvidesPackage{interfaces-umrand}
- [2011/01/17 v2.8 patch for umrand.sty ifnotempty (FC)]
+ [2011/01/19 v2.9 patch for umrand.sty ifnotempty (FC)]
\RequirePackage{interfaces-base}
\BeforePackage{umrand}{%
\let\itf@newif\newif
@@ -6406,7 +6501,7 @@ turtle%
% \begin{macrocode}
%<*scrlfile>
\ProvidesPackage{interfaces-scrlfile}
- [2011/01/17 v2.8 scrlfile hooks improved (FC)]
+ [2011/01/19 v2.9 scrlfile hooks improved (FC)]
\RequirePackage{interfaces-base}
% \end{macrocode}
%
@@ -6495,7 +6590,7 @@ turtle%
% \begin{macrocode}
%<*pgfkeys>
\ProvidesPackage{interfaces-pgfkeys}
- [2011/01/17 v2.8 pgfkeys handlers definitions (FC)]
+ [2011/01/19 v2.9 pgfkeys handlers definitions (FC)]
\RequirePackage{interfaces-base}
\ifdefined\pgfkeys@ifexecutehandler % pgf version 2.1
\def\itf@pgfkeys{%
@@ -7350,7 +7445,7 @@ turtle%
% \begin{macrocode}
%<*etoolbox>
\ProvidesPackage{interfaces-etoolbox}
- [2011/01/17 v2.8 more etoolbox-like commands (FC)]
+ [2011/01/19 v2.9 more etoolbox-like commands (FC)]
\RequirePackage{interfaces-base}
\begingroup\catcode`\&=3
\long\gdef\etb@doitem#1&{\do{#1}}
@@ -7497,6 +7592,14 @@ turtle%
%
% \sectionformat\subsection[hang]{format=\large\bfseries}
%
+% \begin{Version}{2001/01/19 v2.9}\HistLabel{v2.9}
+% \item Modification of the syntax of \csref{papergraduate} to allow the same syntax as \cs{path}.\\
+% + optional arguments for this command.
+% \item Some correction on \csref{tocsetup}: \cs{tocsetup}\M*{bookmark=bold} (for example) will automatically
+% set \cs{tocsetup}\M*{title=\cs{contentsname}} in no key \textt{title} has been set. Therefore, a bookmark
+% is set for the table of contents...
+% \end{Version}
+%
% \begin{Version}{2011/01/17 v2.8}\HistLabel{v2.8}
% \item New: \csref{papergraduate} in \thispackage[interfaces-TikZ].
% \end{Version}