summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/docmute/docmute.sty
blob: 41438a248230eadc2a44cb0b05fe98b9302daade (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
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{docmute}[2012/03/22 v1.4 Input stand-alone documents]
\def\docmute@docenv{document}
\long\def\docmute@gobblepreamble#1\begin#2{%
  \def\docmute@thisenv{#2}%
  \ifx\docmute@thisenv\docmute@docenv
    \begin{document}%
  \else
    \expandafter\docmute@gobblepreamble
  \fi
}
\let\docmute@document=\document
\let\docmute@enddocument=\enddocument
\let\docmute=\docmute@gobblepreamble
\def\document{%
  \docmute@document
  \newcount\docmute@nestinglevel
  \docmute@nestinglevel=0\relax
  \let\documentclass=\docmute
  \renewenvironment{document}{%
    \endgroup
    \advance \docmute@nestinglevel 1\relax
    \ignorespaces
  }{%
    \ifnum\docmute@nestinglevel=0
      \expandafter\docmute@enddocument
    \else
      \advance \docmute@nestinglevel -1\relax
      \begingroup
      \@ignoretrue
      \def\@currenvir{document}%
      \endinput
    \fi
  }%
  \ignorespaces
}
\DeclareOption{nested}{}% for backwards compatibility only
\ProcessOptions