summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/subfiles/subfiles.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/subfiles/subfiles.sty')
-rw-r--r--Master/texmf-dist/tex/latex/subfiles/subfiles.sty42
1 files changed, 33 insertions, 9 deletions
diff --git a/Master/texmf-dist/tex/latex/subfiles/subfiles.sty b/Master/texmf-dist/tex/latex/subfiles/subfiles.sty
index 04d8ef19032..ea6d1d4e97e 100644
--- a/Master/texmf-dist/tex/latex/subfiles/subfiles.sty
+++ b/Master/texmf-dist/tex/latex/subfiles/subfiles.sty
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright 2002, 2012 Federico Garcia; 2018 Gernot Salzer
+%% 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
@@ -26,18 +26,42 @@
%% and the derived files subfiles.sty and subfiles.pdf
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{subfiles}[2018/07/31 Federico Garcia, Gernot Salzer]
+\ProvidesPackage{subfiles}[2019/09/28 v1.3 Federico Garcia, Gernot Salzer]
\DeclareOption*{\PackageWarning{\CurrentOption ignored}}
\ProcessOptions
\RequirePackage{verbatim}
-\newcommand{\skip@preamble}{%
- \let\document\relax\let\enddocument\relax%
- \newenvironment{document}{}{}%
- \renewcommand{\documentclass}[2][subfiles]{}}
-\newcommand\subfile[1]{\begingroup\skip@preamble\input{#1}\endgroup}
+\RequirePackage{import}
+\def\subfiles@split#1{%
+ \edef\subfiles@filename{#1}%
+ \def\subfiles@dir{}%
+ \def\subfiles@base{}%
+ \def\subfiles@sep{}%
+ \expandafter\subfiles@split@\subfiles@filename/\@nil/%
+}
+\def\subfiles@split@#1/{%
+ \def\tmp{#1}%
+ \ifx\tmp\@nnil
+ \let\subfiles@next\relax
+ \else
+ \edef\subfiles@dir{\subfiles@dir\subfiles@base\subfiles@sep}%
+ \def\subfiles@base{#1}%
+ \def\subfiles@sep{/}%
+ \let\subfiles@next\subfiles@split@
+ \fi
+ \subfiles@next
+}
+\newcommand\subfile[1]{%
+ \begingroup
+ \renewcommand\documentclass[2][subfiles]{\ignorespaces}%
+ \renewenvironment{document}{\let\document\@onlypreamble\ignorespaces}{}%
+ \subfiles@split{#1}%
+ \subimport{\subfiles@dir}{\subfiles@base}%
+ \unskip
+ \endgroup
+}
\@ifclassloaded{subfiles}{%
- \let\old@document@subfiles\document
- \let\old@enddocument@subfiles\enddocument
+ \let\subfiles@document\document
+ \let\subfiles@enddocument\enddocument
\let\document\comment
\let\enddocument\endcomment
}{}