%%
%% This is file `subfiles.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% subfiles.dtx  (with options: `package')
%% 
%% This is a generated file.
%% 
%% Copyright 2002, 2012 Federico Garcia; 2018-2020 Gernot Salzer
%% 
%% 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
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%% 
%% This work has the LPPL maintenance status `maintained'.
%% 
%% The Current Maintainer of this work is Gernot Salzer (salzer@logic.at).
%% 
%% This work consists of the files subfiles.dtx and subfiles.ins
%% and the derived files subfiles.sty and subfiles.pdf
%% 
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{subfiles}[2020/10/29 v2.1 Multi-file projects (package)]
\def\subfiles@DOCUMENT{document}
\def\ifDOCUMENT#1#2#3{%
  \def\subfiles@tmp{#1}%
  \ifx\subfiles@tmp\subfiles@DOCUMENT
    \def\subfiles@tmp{#2}%
  \else
    \def\subfiles@tmp{#3}%
  \fi
  \subfiles@tmp
}
\def\subfiles@renewDocument#1#2{%
  \expandafter\def\csname#1\endcsname##1{%
    \ifDOCUMENT{##1}{%
      \expandafter\let\csname#1\expandafter\endcsname\csname subfiles@#1\endcsname
      #2%
    }{%
      \csname subfiles@#1\endcsname{##1}%
    }%
  }%
}
\def\subfiles@newSkipToDocument#1#2#3{%
  \long\def#2##1#1##2{\ifDOCUMENT{##2}{#3}{#2}}%
}
\def\subfiles@handleMainDocumentVi{%
  \let\subfiles@begin\begin
  \subfiles@renewDocument{begin}{%
    \subfiles@newSkipToDocument\end\subfiles@skipToEndDocument\ignorespaces
    \subfiles@skipToEndDocument
  }%
}
\def\subfiles@handleMainDocumentVii{%
  \let\subfiles@begin\begin
  \subfiles@renewDocument{begin}{%
    \endinput
    \ignorespaces
  }%
}
\def\subfiles@handleSubDocumentVi{%
  \let\subfiles@documentclass\documentclass
  \def\documentclass{%
    \@ifnextchar[\subfiles@documentclass@{\subfiles@documentclass@[]}%
  }%
  \def\subfiles@documentclass@[##1]##2{%
    \let\documentclass\subfiles@documentclass
    \ignorespaces
  }%
  \let\subfiles@begin\begin
  \subfiles@renewDocument{begin}{%
    \subfiles@saveEnd
    \subfiles@renewDocument{end}\ignorespaces
    \ignorespaces
  }%
}
\def\subfiles@handleSubDocumentVii{%
  \let\subfiles@documentclass\documentclass
  \subfiles@newSkipToDocument\begin\documentclass{%
    \let\documentclass\subfiles@documentclass
    \subfiles@saveEnd
    \subfiles@renewDocument{end}{%
      \endinput
      \ignorespaces
    }%
    \ignorespaces
  }%
}
\def\subfiles@saveEnd{%
  \ifcsname subfiles@end\endcsname
  \else
    \let\subfiles@end\end
  \fi
}
\let\subfiles@handleMainDocument\subfiles@handleMainDocumentVii
\let\subfiles@handleSubDocument\subfiles@handleSubDocumentVii
\DeclareOption{v1}{%
  \let\subfiles@handleMainDocument\subfiles@handleMainDocumentVi
  \let\subfiles@handleSubDocument\subfiles@handleSubDocumentVi
}
\DeclareOption*{\PackageWarning{subfiles}{Option '\CurrentOption' ignored}}
\ProcessOptions\relax
\RequirePackage{import}
\def\subfiles@split#1{%
  \let\subfiles@filename@simple\filename@simple
  \def\filename@simple##1.\\{\edef\filename@base{##1}}%
  \filename@parse{#1}%
  \let\filename@simple\subfiles@filename@simple
}%
\newcommand\subfile{%
  \let\subfiles@loadfile\subimport
  \subfiles@subfile
}
\newcommand\subfileinclude{%
  \let\subfiles@loadfile\subincludefrom
  \subfiles@subfile
}
\def\subfiles@subfile#1{%
  \begingroup
  \subfiles@handleSubDocument
  \subfiles@split{#1}%
  \subfiles@loadfile{\filename@area}{\filename@base}%
  \endgroup
}
\def\subfix#1{\import@path#1}
\def\subfiles@fixfilelist#1{%
  \def\subfiles@list{}%
  \def\subfiles@sep{}%
  \@for\subfiles@tmp:=#1\do{%
    \edef\subfiles@list{\subfiles@list\subfiles@sep\subfix{\subfiles@tmp}}%
    \def\subfiles@sep{,}%
  }%
}
\def\subfiles@fixpathlist#1{%
  \def\subfiles@list{}%
  \@tfor\subfiles@tmp:=#1\do{%
    \edef\subfiles@list{\subfiles@list{\subfix\subfiles@tmp}}%
  }%
}
\let\subfiles@bibliography\bibliography
\def\bibliography#1{%
  \subfiles@fixfilelist{#1}%
  \expandafter\subfiles@bibliography\expandafter{\subfiles@list}%
}
\@ifpackageloaded{graphics}{%
  \let\subfiles@graphicspath\graphicspath
  \def\graphicspath#1{%
    \subfiles@fixpathlist{#1}%
    \edef\subfiles@list{{\subfix{}}\subfiles@list}%
    \expandafter\subfiles@graphicspath\expandafter{\subfiles@list}%
  }%
}{}
\@ifpackageloaded{standalone}{
  \RequirePackage{xpatch}
  \xpretocmd\includestandalone{%
    \let\subfiles@end@\end
    \ifcsname subfiles@end\endcsname
      \let\end\subfiles@end
    \fi
  }{}{}
  \xapptocmd\includestandalone{\let\end\subfiles@end@}{}{}
}{}
\newcommand\ifSubfilesClassLoaded{%
  \expandafter\ifx\csname ver@subfiles.cls\endcsname\relax
    \expandafter\@secondoftwo
  \else
    \expandafter\@firstoftwo
  \fi
}
\ifSubfilesClassLoaded{%
  \subfiles@handleMainDocument
}{}
\endinput
%%
%% End of file `subfiles.sty'.
