diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/interfaces/interfaces.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/interfaces/interfaces.dtx | 369 |
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} |