%%
%% 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/31 v2.0 - 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/31 v2.0 load tikz libraries easily - pgf 2.0 & 2.1 (FC)]
\RequirePackage{interfaces-base}
\itf@pgfkeys
%% Some catcode checking
\AfterPackage*{tikz}{%
   \AtEndPreamble{%
      \tikzset{every picture/.add style={%
            /utils/exec={\@makeother\!\@makeother\:}}{}}%
   }%
}%
\newcommand*\alltikzpackages{%
   tikz,pgf,pgfcore,pgfcalendar,pgffor,pgfkeys,pgfpages,pgfrcs,tikzexternal,xxcolor,%
   pgfplots,pgfsys,pgfmath,%
   pgfpic2e,fp,%           + fp required for fixedpointarithmetic
}% \alltikzpackages
\newcommand*\allpgfmodules{datavisualization,%
decorations,%
matrix,%
oo,%
parser,%
plot,%
shapes,%
snakes,%
sorting%
}% \allpgfmodules
\newcommand*\alltikzlibraries{3d,%
arrows,%
automata,%
backgrounds,%
calc,%
calendar,%
chains,%
circuits,%
circuits.ee,%
circuits.ee.IEC,%
circuits.logic,%
circuits.logic.CDH,%
circuits.logic.IEC,%
circuits.logic.US,%
datavisualization,%
datavisualization.3d,%
datavisualization.barcharts,%
datavisualization.formats.functions,%
datavisualization.polar,%
datavisualization.sparklines,%
decorations,%
decorations.footprints,%
decorations.fractals,%
decorations.markings,%
decorations.pathmorphing,%
decorations.pathreplacing,%
decorations.shapes,%
decorations.text,%
er,%
external,%
fadings,%
fit,%
fixedpointarithmetic,%
folding,%
fpu,%
graphs,%
graphs.basic,%
intersections,%
lindenmayersystems,%
matrix,%
mindmap,%
patterns,%
petri,%
plothandlers,%
plotmarks,%
positioning,%
scopes,%
shadings,%
shadows,%
shapes,%
shapes.arrows,%
shapes.callouts,%
shapes.gates.logic.IEC,%
shapes.gates.logic.US,%
shapes.geometric,%
shapes.misc,%
shapes.multipart,%
shapes.symbols,%
snakes,%
spy,%
svg.path,%
through,%
topaths,%
trees,%
turtle%
}% \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'.
