%%
%% This is file `texdepends.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% texdepends.dtx  (with options: `package')
%% 
%% IMPORTANT NOTICE:
%% 
%% For the copyright see the source file.
%% 
%% Any modified versions of this file must be renamed
%% with new filenames distinct from texdepends.sty.
%% 
%% For distribution of the original source see the terms
%% for copying and modification in the file texdepends.dtx.
%% 
%% This generated file may be distributed as long as the
%% original source files, as listed above, are part of the
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%%
%% File: texdepends.dtx Copyright (C) 2004--2011 V. Danjean
%%    Vincent.Danjean@ens-lyon.org
%% Modified by Matthieu Gallet
%%    Matthieu.Gallet@ens-lyon.org
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License
%% as published by the Free Software Foundation; either version 2
%% of the License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful,
%% but WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%% GNU General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
%%
\NeedsTeXFormat{LaTeX2e}%
\ProvidesPackage{texdepends}%
[2016/02/09 v2.2.2 Automatic depends generation]
\RequirePackage{ifthen}
\newboolean{TD@debug}
\newcommand{\TD@option@debug}[1][true]{%
  %\PackageWarningNoLine{texdepends}{Setting debug to #1}
  \setboolean{TD@debug}{#1}%
}%
\def\TD@option@extension[#1]{%
  %\PackageWarningNoLine{texdepends}{Using extention #1}
  \def\TD@extention{#1}%
}%
\def\TD@option@split#1=#2=#3\relax{%
  \def\TD@option@name{#1}%
  \ifx\TD@option@name\@empty\else
    \expandafter\let\expandafter\TD@option@cmd
      \csname TD@option@\TD@option@name\endcsname
    %\PackageWarningNoLine{texdepends}{1: '#1', 2: '#2', 3: '#3'}
    \ifx\TD@option@cmd\relax
      \@unknownoptionerror%
    \else
      \ifx\@empty#3\@empty
         \TD@option@cmd\relax%
      \else
        \def\TD@option@value{#2}%
        \TD@option@cmd[\TD@option@value]%
      \fi
    \fi
  \fi
}%
\DeclareOption*{%
  %\PackageWarningNoLine{texdepends}{Option \CurrentOption}%
  \expandafter\TD@option@split\CurrentOption==\relax%
}%
\ProcessOptions
\ifthenelse{\isundefined{\TD@extention}}{%
  \PackageWarningNoLine{texdepends}{No extension given: detecting it}%
  \RequirePackage{ifxetex,ifpdf}%
  \ifxetex%
    \PackageWarningNoLine{textdepends}{Detected XeTeX: using .pdf}%
    \def\TD@extention{.pdf}%
  \else\ifpdf%
    \PackageWarningNoLine{texdepends}{Detected PDF mode: using .pdf}%
    \def\TD@extention{.pdf}%
  \else%
    \PackageWarningNoLine{texdepends}{Detected DVI mode. Using .dvi}%
    \def\TD@extention{.dvi}%
  \fi\fi%
}{}%
\newcommand{\TD@warning}[1]{%
  \PackageWarningNoLine{texdepends}{#1}%
}%
\newcommand{\TD@warningLine}[1]{%
  \PackageWarning{texdepends}{#1}%
}%
\newcommand{\TD@info}[1]{%
  \ifthenelse{\boolean{TD@debug}}{%
    \PackageWarningNoLine{texdepends}{#1}%
  }{%
    \PackageInfo{texdepends}{#1}%
  }%
}%
\newcommand{\TD@debug}[1]{%
  \ifthenelse{\boolean{TD@debug}}{%
    \PackageWarningNoLine{texdepends}{#1}%
  }{%
  }%
}%
\newwrite\TD@write
\TD@info{Writing info in '\jobname\TD@extention.mk'}
\immediate\openout\TD@write\jobname\TD@extention.mk%
\def\TD@print#1{%
  \immediate\write\TD@write{#1}%
}%
\def\TD@printClass#1{%
  \TD@print{TD_\jobname\TD@extention _INPUTS\space += #1.cls}%
}%
\def\TD@printPackage#1{%
  \TD@print{TD_\jobname\TD@extention _INPUTS\space += #1.sty}%
}%
\def\TD@printInput#1{%
  \TD@print{TD_\jobname\TD@extention _INPUTS\space += #1}%
}%
\def\TD@printFig#1{%
  \TD@print{TD_\jobname\TD@extention _FIGURES\space += #1}%
}%
\def\TD@printSubfig#1{%
  \TD@print{TD_\jobname\TD@extention _SUBFIGS\space += #1}%
}%
\def\TD@printRequiredFile#1{%
  \TD@print{TD_\jobname\TD@extention _REQUIRED\space += #1}%
}%
\let\RequireFile\TD@printRequiredFile
\def\TD@printOut#1{%
  \TD@print{TD_\jobname\TD@extention _OUTPUTS\space += #1}%
}%
\def\TD@printGraphicspath#1{%
  \TD@print{TD_\jobname\TD@extention _GRAPHICSPATH\space := #1}%
}%
\def\TD@printBibfile#1{%
  \TD@print{TD_\jobname\TD@extention _BIBFILES\space += #1.bib}%
}%
\def\TD@printBibstyle#1{%
  \TD@print{TD_\jobname\TD@extention _BIBSTYLES\space += #1.bst}%
}%
\def\TD@printBblfile#1{%
  \TD@print{TD_\jobname\TD@extention _BBLFILES\space += #1.bbl}%
}%
\def\TD@printRebuildRule#1{%
  \TD@print{TD_\jobname\TD@extention _REBUILD_RULES\space += #1}%
}%
\def\TD@printIndex#1{%
  \TD@print{TD_\jobname\TD@extention _INDEXES\space += INDEX}%
  \TD@print{TD_\jobname\TD@extention _INDEXES_INDEX\space += #1}%
}%
\def\TD@printIndexSource#1#2{%
  \TD@print{TD_\jobname\TD@extention _INDEX_#1_SRC\space = #2}%
}%
\def\TD@printIndexTarget#1#2{%
  \TD@print{TD_\jobname\TD@extention _INDEX_#1_TARGET\space = #2}%
}%
\def\TD@printIndexStyle#1#2{%
  \TD@print{TD_\jobname\TD@extention _INDEX_#1_STYLE\space = #2}%
}%
\def\TD@printGlossary#1{%
  \TD@print{TD_\jobname\TD@extention _INDEXES += GLOSS}%
  \TD@print{TD_\jobname\TD@extention _INDEXES_GLOSS\space += #1}%
}%
\def\TD@printGlossarySource#1#2{%
  \TD@print{TD_\jobname\TD@extention _GLOSS_#1_SRC\space = #2}%
}%
\def\TD@printGlossaryTarget#1#2{%
  \TD@print{TD_\jobname\TD@extention _GLOSS_#1_TARGET\space = #2}%
}%
\def\TD@printGlossaryStyle#1#2{%
  \TD@print{TD_\jobname\TD@extention _GLOSS_#1_STYLE\space = #2}%
}%
\def\TD@switch#1{%
  \expandafter\let\expandafter\TD@local@old\csname#1\endcsname%
  \expandafter\let\expandafter\TD@local@new\csname TD@#1\endcsname%
  \ifx\TD@local@old\TD@local@new
    \PackageWarning{texdepends}{#1 already redefined. Skipping it.}%
  \else
    \ifx\TD@local@old\relax
      \TD@warning{Diverting empty macro '#1' \MessageBreak%
        Probably a bug in texdepends.sty}%
    \else
      \TD@info{Diverting macro '#1'}%
    \fi
    \expandafter\let\csname TD@orig@#1\endcsname\TD@local@old%
    \expandafter\let\csname#1\endcsname\TD@local@new%
  \fi
}%
\def\TD@docswitchlist{}%
\def\TD@docswitch#1{%
  \TD@info{Registering macro '#1' for diversion}%
  \ifx\TD@docswitchlist\@empty%
    \xdef\TD@docswitchlist{#1}%
  \else%
    \xdef\TD@docswitchlist{\TD@docswitchlist,#1}%
  \fi%
}%
\AtBeginDocument{%
  \TD@info{Diverting registered macros...}%
  \@for\TD@cmd:=\TD@docswitchlist\do{%
    \TD@switch{\TD@cmd}%
  }%
  \TD@info{Divertions done}%
}%
\def\TD@PackagePreDivert#1{%
  \expandafter\def\csname TD@PackageStart@#1\endcsname ##1##2##3##4%
}%
\def\TD@PackagePostDivert#1{%
  \expandafter\def\csname TD@PackageEnd@#1\endcsname ##1##2##3##4%
}%
\ifx\documentclass\@twoclasseserror
  \PackageError{texdepends}{texdepends needs to be loaded BEFORE
	\string\documentclass \MessageBreak
	Use \string\RequirePackage\space instead of \string\usepackage
	\MessageBreak as the later is not allowed before
	\string\documentclass}
\fi
\TD@printPackage{texdepends}
\TD@printGraphicspath{{.}}
\def\TD@depends{}%
\def\TD@dependsWarning{%
  \PackageWarningNoLine{texdepends}{Figure(s) missing. Check
    dependencies again}%
}%
\def\TD@missingDepends{%
  \global\let\TD@depends\TD@dependsWarning%
}%
\AtEndDocument{%
  \TD@depends%
}%
\def\TD@@fileswith@pti@ns#1[#2]#3[#4]{%
  \ifx#1\@clsextension
    \TD@printClass{#3}
  \fi
  \TD@orig@@fileswith@pti@ns{#1}[#2]{#3}[#4]%
}%
\let\TD@@@fileswith@pti@ns\TD@@fileswith@pti@ns
\TD@switch{@fileswith@pti@ns}%
\TD@switch{@@fileswith@pti@ns}%
\def\TD@@onefilewithoptions#1[#2][#3]#4{%
  \TD@printPackage{#1}%
  \ifthenelse{\equal{#1}{texdepends}}{%
    \TD@debug{Package '#1' detected}
    \@for\TD@package@option:=#2\do{%
      \ifthenelse{\expandafter\isundefined\csname TD@option@\TD@package@option\endcsname}{
        \TD@warningLine{Ignoring unknown option '\TD@package@option'}
      }{
        \ifthenelse{%
          \equal{\TD@package@option}{debug}%
          %\OR\equal{\TD@package@option}{debug}%
        }{
          \csname TD@option@\TD@package@option\endcsname%
        }{
          \TD@warningLine{Ignoring option '\TD@package@option'
            \MessageBreak #1 already loaded
          }
        }
      }
    }
  }{%
    \expandafter\let\expandafter\TD@divert
    \csname TD@PackageStart@#1\endcsname
    \ifx\TD@divert\relax
      \TD@debug{No preamble for package #1}
    \else
      \TD@info{Preamble for package #1}
      \TD@divert{#1}{#2}{#3}{#4}%
    \fi
    \TD@orig@@onefilewithoptions{#1}[#2][#3]{#4}%
    \expandafter\let\expandafter\TD@divert
    \csname TD@PackageEnd@#1\endcsname
    \ifx\TD@divert\relax
      \TD@debug{No postamble for package #1}
    \else
      \TD@info{Postamble for package #1}
      \TD@divert{#1}{#2}{#3}{#4}%
    \fi
  }%
}%
\TD@switch{@onefilewithoptions}%
\def\TD@@iinput#1{%
  \TD@printInput{#1}%
  \TD@orig@@iinput{#1}}%
\def\TD@@input@#1{%
  \IfFileExists{#1}{%
    \TD@printInput{#1}%
  }{}%
  \TD@orig@@input@{#1}}%
\TD@switch{@iinput}%
\TD@switch{@input@}%
\def\TD@verbatiminput#1{%
  \TD@printInput{#1}%
  \TD@orig@verbatiminput{#1}}%
\TD@PackagePostDivert{verbatim}{%
  \TD@switch{verbatiminput}}%
\let\TD@orig@openout\openout
\def\TD@openout#1{%
  \@ifnextchar={\TD@openout@eq#1}{\TD@openout@noeq#1}}
\def\TD@openout@eq#1=#2.#3{%
  \TD@printOut{#2.#3}%
  \TD@orig@openout#1=#2.#3%
}%
\def\TD@openout@noeq#1#2.#3{%
  \TD@printOut{#2.#3}%
  \TD@orig@openout#1#2.#3%
}%
 %\TD@switch{openout}
\def\TD@bibli@bbl{%
    \TD@printBblfile{\jobname}%
    \global\let\TD@bibli@bbl\relax%
}%
\def\TD@bibli@files#1{%
  \TD@bibli@bbl%
  \@for\TD@bibfile:=#1\do{%
    \TD@printBibfile{\TD@bibfile}%
  }%
}
\def\TD@bibli@style#1{%
  \TD@bibli@bbl%
  %\@for\TD@bibstyle:=#1\do{%
  %  \TD@printBibstyle{\TD@bibstyle}%
  %}
  \TD@printBibstyle{#1}%
}
\def\TD@bibliography#1{%
  \TD@bibli@files{#1}%
  \TD@orig@bibliography{#1}%
}%
\def\TD@bibliographystyle#1{%
  \TD@bibli@style{#1}%
  \TD@orig@bibliographystyle{#1}%
}%
\TD@docswitch{bibliography}%
\TD@switch{bibliographystyle}%
\def\TD@makeindex{%
  \TD@printIndex{\jobname}%
  \TD@printIndexSource{\jobname}{\jobname.idx}%
  \TD@orig@makeindex%
}%
\def\TD@makeglossary{%
  \TD@printGlossary{\jobname}%
  \TD@printGlossarySource{\jobname}{\jobname.glo}%
  \TD@orig@makeglossary%
}%
\TD@switch{makeindex}%
\TD@switch{makeglossary}%
\def\TD@Gin@getbase#1{%
  \TD@orig@Gin@getbase{#1}%
  \ifx\Gin@ext\relax%
  \else%
  \TD@printFig{\Gin@base\Gin@ext}%
  \fi%
}%
\def\TD@Ginclude@eps#1{%
  \IfFileExists{#1}{%
    \TD@orig@Ginclude@eps{#1}%
  }{%
    \PackageWarning{texdepends}{Figure '#1' needed\MessageBreak
      Skipping it this time (the last one however)\MessageBreak}%
    \TD@missingDepends%
    \TD@printRequiredFile{#1}%
  }%
}%
\def\TD@Ginclude@pdf#1{%
  \IfFileExists{#1}{%
    \TD@orig@Ginclude@pdf{#1}%
  }{%
    \PackageWarning{texdepends}{Figure '#1' needed\MessageBreak
      Skipping it this time (the last one however)\MessageBreak}%
    \TD@missingDepends%
    \TD@printRequiredFile{#1}%
  }%
}%
\def\TD@graphicspath#1{%
  \TD@printGraphicspath{#1}%
  \TD@orig@graphicspath{#1}%
}%
\def\TD@Gread@eps#1{%
  \IfFileExists{#1}{%
    %\PackageWarning{texdepends}{Gread File '#1' exists}%
    \TD@orig@Gread@eps{#1}%
  }{%
    \PackageWarning{texdepends}{No '#1' file \MessageBreak
      using 1 for graphic dimensions}%
    \setbox\@tempboxa\hbox{\relax}%
    \def\Gin@llx{1}\let\Gin@lly\Gin@llx
    \Gin@defaultbp\Gin@urx{\wd\@tempboxa}%
    \Gin@defaultbp\Gin@ury{\ht\@tempboxa}%
  }%
}%
\def\TD@Gread@pdf#1{%
  \IfFileExists{#1}{%
    %\PackageWarning{texdepends}{Gread File '#1' exists}%
    \TD@orig@Gread@pdf{#1}%
  }{%
    \PackageWarning{texdepends}{No '#1' file \MessageBreak
      using 1 for graphic dimensions}%
    \setbox\@tempboxa\hbox{\relax}%
    \def\Gin@llx{1}\let\Gin@lly\Gin@llx
    \Gin@defaultbp\Gin@urx{\wd\@tempboxa}%
    \Gin@defaultbp\Gin@ury{\ht\@tempboxa}%
  }%
}%
\TD@PackagePostDivert{graphics}{%
  \TD@switch{graphicspath}%
  \TD@docswitch{Gin@getbase}%
  \TD@docswitch{Ginclude@eps}%
  \TD@docswitch{Ginclude@pdf}%
  \TD@docswitch{Gread@eps}%
  \TD@docswitch{Gread@pdf}%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\TD@FL@includerawtexgraphics[#1]#2{%
  \IfFileExists{#2}{%
    \TD@orig@FL@includerawtexgraphics[#1]{#2}%
  }{%
    \PackageWarning{texdepends}{Figure '#2' needed\MessageBreak
      Skipping it this time (the last one however)\MessageBreak}%
    \TD@missingDepends%
    \TD@printRequiredFile{#2}%
  }%
}%

\def\TD@Ginclude@rawtex#1{%
  \IfFileExists{#1}{%
    \TD@orig@Ginclude@rawtex{#1}%
  }{%
    \PackageWarning{texdepends}{Figure '#1' needed\MessageBreak
      Skipping it this time (the last one however)\MessageBreak}%
    \TD@missingDepends%
    \TD@printRequiredFile{#1}%
  }%
}%

\def\TD@Ginclude@figtex#1{%
  \IfFileExists{#1}{%
    %\PackageWarning{texdepends}{Ginclude File '#1' exists}%
    \TD@orig@Ginclude@figtex{#1}%
  }{%
    \ifthenelse{\isundefined{\FL@subfig@mainfigname}}{%
      \PackageWarning{texdepends}{Figure '#1' needed\MessageBreak
        Skipping it this time (the last one however)\MessageBreak}%
    }{%
      \PackageWarning{texdepends}{SubFigure '#1' from
        \FL@subfig@mainfigname needed\MessageBreak
        Skipping it this time (the last one however)\MessageBreak}%
    }
    \TD@missingDepends%
    \TD@printRequiredFile{#1}%
  }%
}%
\def\TD@Ginclude@svgtex#1{%
  \IfFileExists{#1}{%
    %\PackageWarning{texdepends}{Ginclude File '#1' exists}%
    \TD@orig@Ginclude@svgtex{#1}%
  }{%
    \ifthenelse{\isundefined{\FL@subfig@mainfigname}}{%
      \PackageWarning{texdepends}{Figure '#1' needed\MessageBreak
        Skipping it this time (the last one however)\MessageBreak}%
    }{%
      \PackageWarning{texdepends}{SubFigure '#1' from
        \FL@subfig@mainfigname needed\MessageBreak
        Skipping it this time (the last one however)\MessageBreak}%
    }
    \TD@missingDepends%
    \TD@printRequiredFile{#1}%
  }%
}%

\def\TD@Gread@figtex#1{%
  \IfFileExists{#1}{%
    %\PackageWarning{texdepends}{Gread File '#1' exists}%
    \TD@orig@Gread@figtex{#1}%
  }{%
    \PackageWarning{texdepends}{No '#1' file \MessageBreak
      using 1 for graphic dimensions}%
    \setbox\@tempboxa\hbox{\relax}%
    \def\Gin@llx{1}\let\Gin@lly\Gin@llx
    \Gin@defaultbp\Gin@urx{\wd\@tempboxa}%
    \Gin@defaultbp\Gin@ury{\ht\@tempboxa}%
  }%
}%

\def\TD@Gread@svgtex#1{%
  \IfFileExists{#1}{%
    %\PackageWarning{texdepends}{Gread File '#1' exists}%
    \TD@orig@Gread@svgtex{#1}%
  }{%
    \PackageWarning{texdepends}{No '#1' file \MessageBreak
      using 1 for graphic dimensions}%
    \setbox\@tempboxa\hbox{\relax}%
    \def\Gin@llx{1}\let\Gin@lly\Gin@llx
    \Gin@defaultbp\Gin@urx{\wd\@tempboxa}%
    \Gin@defaultbp\Gin@ury{\ht\@tempboxa}%
  }%
}%
\def\TD@FL@subfig@check#1{%
  \TD@printRequiredFile{#1}%
  \TD@printSubfig{#1}%
}%
\TD@PackagePostDivert{figlatex}{%
  \TD@docswitch{FL@includerawtexgraphics}%
  \TD@docswitch{Ginclude@rawtex}%
  \TD@docswitch{Ginclude@figtex}%
  \TD@docswitch{Ginclude@svgtex}%
  \TD@docswitch{Gread@figtex}%
  \TD@docswitch{Gread@svgtex}%
  \TD@docswitch{FL@subfig@check}%
}%
\def\TD@PrintIndex{%
  \TD@printIndexStyle{\jobname}{gind.ist}
  \TD@printIndexTarget{\jobname}{\jobname.ind}
  \TD@orig@PrintIndex%
}%
\def\TD@PrintChanges{%
  \TD@printGlossaryStyle{\jobname}{gglo.ist}
  \TD@printGlossaryTarget{\jobname}{\jobname.gls}
  \TD@orig@PrintChanges%
}%
\TD@PackagePostDivert{doc}{%
  \TD@docswitch{PrintIndex}%
  \TD@docswitch{PrintChanges}%
}%
\def\TD@def@index#1#2#3#4{%
  \TD@printIndex{#2}%
  \TD@printIndexSource{#2}{\jobname.#3}%
  \TD@printIndexTarget{#2}{\jobname.#4}
  \TD@orig@def@index{#1}{#2}{#3}{#4}%
}%
\TD@PackagePostDivert{index}{%
  \TD@switch{def@index}%
}%
\def\TD@printindex{%
  \TD@printIndexTarget{\jobname}{\jobname.ind}
  \TD@orig@printindex%
}%
\TD@PackagePostDivert{makeidx}{%
  \TD@docswitch{printindex}%
}%
\def\TD@printglossary{%
  \TD@printGlossaryTarget{\jobname}{\jobname.gls}
  \TD@orig@printglossary%
}%
\TD@PackagePostDivert{nomencl}{%
  \TD@docswitch{printglossary}%
  \TD@switch{makeglossary}%
  \TD@printGlossaryStyle{\jobname}{nomencl.ist}
}%
\def\TD@btSect{%
  \@ifnextchar[{\TD@btSect@opt}{\TD@btSect@noopt}}
\def\TD@btSect@opt[#1]#2{%
  \TD@bibli@files{#2}%
  \TD@bibli@style{#1}%
  \TD@orig@btSect[#1]{#2}}
\def\TD@btSect@noopt#1{%
  \TD@bibli@files{#1}%
  \TD@orig@btSect{#1}}

\def\TD@@bt@write@auxfile{%
  \TD@printBblfile{\thebtauxfile}%
  \TD@orig@@bt@write@auxfile%
}%
\TD@PackagePostDivert{bibtopic}{%
  \global\let\TD@bibli@bbl\relax%
  \global\let\TD@biblio@rules@package\TD@biblio@rules@package@bibtopic%
  \TD@switch{@bt@write@auxfile}%
  \TD@printOut{btbbl.aux}%
  \TD@printRebuildRule{bibtopic}%
  \TD@docswitch{btSect}%
}%
\endinput
%%
%% End of file `texdepends.sty'.
