summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/subfiles/subfiles.sty
blob: ea82359ca5593627f4358f148d5b412cf34c0f21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
%%
%% 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, 2019 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/02/14 v1.6 Multi-file projects (package)]
\DeclareOption*{\PackageWarning{\CurrentOption ignored}}
\ProcessOptions
\@ifclassloaded{subfiles}{%
  \let\subfiles@document\document
  \let\subfiles@enddocument\enddocument
  \let\document\subfiles@comment
  \let\enddocument\subfiles@endcomment
}{% subfiles class not loaded, we typeset the main document
  \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
}
\newcommand\subfiles@subfile[1]{%
  \begingroup
  \let\subfiles@documentclass\documentclass
  \let\subfiles@document\document
  \let\subfiles@enddocument\enddocument
  \renewcommand\documentclass[2][subfiles]{%
    \let\documentclass\subfiles@documentclass
    \ignorespaces
  }%
  \renewenvironment{document}{%
    \let\document\subfiles@document
    \ignorespaces
  }{%
    \let\enddocument\subfiles@enddocument
    \@ignoretrue
  }%
  \subfiles@split{#1}%
  \subfiles@loadfile{\filename@area}{\filename@base}%
  \endgroup
}
\def\subfiles@addimportpath#1{%
  \def\subfiles@filelist{}%
  \def\subfiles@sep{}%
  \@for\subfiles@filename:=#1\do{%
    \edef\subfiles@filelist{%
      \subfiles@filelist
      \subfiles@sep
      \import@path
      \subfiles@filename
    }%
    \def\subfiles@sep{,}%
  }
}
\let\subfiles@bibliography\bibliography
\renewcommand\bibliography[1]{%
  \subfiles@addimportpath{#1}%
  \expandafter\subfiles@bibliography\expandafter{\subfiles@filelist}%
}
\def\subfix#1{\import@path#1}
\endinput
%%
%% End of file `subfiles.sty'.