%%
%% This is file `interfaces-tikz.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% interfaces.dtx  (with options: `tikz')
%% 
%% This is a generated file.
%% 
%% interfaces : 2010/10/20 v1.1 - interfaces : interfaces with keys for other packages (FC)
%% 
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3 of this license or (at your option) any later
%% version. The latest version of this license is in
%%    http://www.latex-project.org/lppl.txt
%% 
%% This work consists of the main source file interfaces.dtx
%% and the derived files
%%     interfaces.sty, interfaces.pdf, interfaces.ins,
%%     interfaces-base.sty,
%%     interfaces-LaTeX.sty,
%%     interfaces-tikz.sty,
%%     interfaces-titlesec.sty,
%%     interfaces-hyperref.sty,
%%     interfaces-bookmark.sty,
%%     interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
%%     interfaces-fancyhdr.sty,
%%     interfaces-marks.sty,
%%     interfaces-tocloft.sty,
%%     interfaces-makecell.sty,
%%     interfaces-enumitem.sty,
%%     interfaces-truncate.sty,
%%     interfaces-appendix.sty,
%%     interfaces-embedfile.sty,
%%     interfaces-environ.sty,
%%     interfaces-umrand.sty,
%%     interfaces-scrlfile.sty,
%%     interfaces-pgfkeys.sty,
%%     interfaces-etoolbox.sty,
%%     interfaces-fancyvrb.sty
%% 
%% interfaces: interfaces with keys for other packages (FC)
%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%% 
\ProvidesPackage{interfaces-tikz}
   [2010/10/27 v1.2 load of tikz libraries easily (FC)]
\RequirePackage{interfaces-base}
\itf@pgfkeys
%% Some catcode checking
\AfterPackage*{tikz}{%
   \AtEndPreamble{%
      \tikzset{every picture/.add style={%
            /utils/exec={\@makeother\!\@makeother\:}}{}}%
   }%
}%
\newcommand*\alltikzpackages{%
   pgf,pgfmath,pgfcalendar,pgfplots,pgfpages,tikz%
}% \alltikzpackages
\newcommand*\allpgfmodules{matrix,plot}
\newcommand*\alltikzlibraries{%
   arrows,%
   chains,%
   er,%
   scopes,%
   snakes,%
   shapes,%
   shapes.misc,%
   shapes.geometric,%
   shapes.arrows,%
   shapes.multipart,%
   shapes.callouts,%
   shapes.symbols,%
   shapes.gates.logic.US,%
   shapes.gates.logic.IEC,%
   decorations,%
   decorations.pathmorphing,%
   decorations.pathreplacing,%
   decorations.shapes,%
   decorations.text,%
   decorations.markings,%
   decorations.fractals,%
   decorations.footprints,%
   positioning,trees,%
   automata,%
   patterns,%
   fadings,%
   shadows,%
   through,%
   backgrounds,%
   petri,%
   fit,%
   mindmap,%
   folding,%
   plothandlers,%
   plotmarks,%
   calc,%
   matrix%
%%   topath,placements,%
}% \alltikzlibraries
\pgfqkeys{/itf/tikz}{%
   basic/.code={%
      \usetikzlibrary{calc,%
                      arrows,%         for arrows
                      backgrounds,%    for framed
                      scopes%          for scopes and shortcut : { [scope] ... }
      }%
   },%
   basic/.value forbidden,%   \alltikzpackages
   base/.alias=basic,%
   all/.code={%
      \expandafter\RequirePackage\expandafter{\alltikzpackages}%
      \expandafter\usepgfmodule\expandafter{\allpgfmodules}% see pgfcorescopes.code.tex
      \expandafter\usetikzlibrary\expandafter{\alltikzlibraries}% from:  tikz.code.tex
   },%
   .unknown/.code=\itf@usetikzcode\pgfkeyscurrentname
}% \pgfkeys for \usetikz
\newrobustcmd*\usetikz[1]{%
   \RequirePackage{tikz}%
   \ifblank{#1}
      {\pgfqkeys{/itf/tikz}{all}}
      {\pgfqkeys{/itf/tikz}{#1}}%
   \itf@pgfkeys% overwritten by \input primitive otherwise
}% \usetikz
\newrobustcmd*\itf@usetikzcode[1]{\begingroup
   \edef\x{%
      \noexpand\in@{,#1,}{,\alltikzpackages,}%
      \noexpand\ifin@  \noexpand\usepackage{#1}%
      \noexpand\else
         \noexpand\in@{,#1,}{,\allpgfmodules,}%
         \noexpand\ifin@ \noexpand\usepgfmodule{#1}%
         \noexpand\else  \noexpand\usetikzlibrary{#1}% \usetikzlibrary by default
         \noexpand\fi
      \noexpand\fi
   }\expandafter\endgroup\x
}% \itf@usetikzcode
\endinput
%%
%% End of file `interfaces-tikz.sty'.
