summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/standalone/standalone.cls
blob: 46cc44389d270ef5aee84a7feb028f9ae7e60c49 (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
96
97
98
99
100
101
102
103
104
%%
%% This is file `standalone.cls',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% standalone.dtx  (with options: `cls')
%% 
%% Copyright (c) 2010 by Martin Scharrer <martin@scharrer-online.de>
%% 
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
%% 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.3c or later is part of all distributions of LaTeX
%% version 2008/05/04 or later.
%% 
%% This work has the LPPL maintenance status `maintained'.
%% 
%% The Current Maintainer of this work is Martin Scharrer.
%% 
%% This work consists of the files standalone.dtx, standalone.ins
%% and the derived file standalone.sty.
%% 
% $Id: standalone.dtx 1704 2010-03-21 19:25:13Z martin $
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{standalone}   [2010/03/21 v0.1 Class to compile TeX sub-files standalone]
\def\sa@classoptionslist{}
\RequirePackage{kvoptions}
\SetupKeyvalOptions{prefix=sa@}
\DeclareBoolOption[true]{preview}
\let\standalone\empty
\let\endstandalone\relax
\def\sa@cls@document{\standalone}
\def\sa@cls@enddocument{\endstandalone}
\DeclareVoidOption{beamer}{%
  \def\sa@class{beamer}%
  \sa@previewfalse
  \newenvironment{standaloneframe}{%
    \@ifnextchar<%
      {\@standaloneframe}%
      {\@@standaloneframe{}}%
  }{\end{frame}}%
  \def\@standaloneframe<##1>{%
      \@@standaloneframe{<##1>}%
  }
  \def\@@standaloneframe##1{%
    \@ifnextchar[%]
      {\@@@standaloneframe{##1}}%
      {\@@@standaloneframe{##1}[]}%
  }%
  \def\@@@standaloneframe##1[{%
    \@ifnextchar<%
      {\@@@@standaloneframe{##1}[}%
      {\@@@@@@standaloneframe{##1}[}%
  }%
  \def\@@@@standaloneframe##1[##2]{%
    \@ifnextchar[%]
      {\@@@@@standaloneframe{##1}{##2}}%
      {\begin{frame}##1[##2][environment=standaloneframe]}%
  }%
  \def\@@@@@standaloneframe##1##2[##3]{%
      \begin{frame}##1[##2][environment=standaloneframe,##3]%
  }%
  \def\@@@@@@standaloneframe##1[##2]{%
      \begin{frame}##1[environment=standaloneframe,##2]%
  }%
}
\DeclareStringOption[article]{class}
\DeclareStringOption[]{frameoptions}
\DeclareDefaultOption{%
  \xdef\sa@classoptionslist{\sa@classoptionslist,\CurrentOption}%
}
\input{standalone.cfg}
\ProcessKeyvalOptions*\relax
\let\@classoptionslist\sa@classoptionslist
\xdef\@tempa{[\sa@classoptionslist]{\sa@class}}
\expandafter\LoadClass\@tempa
\@nameuse{sa@afterclassloaded}
\ifsa@preview
  \@ifundefined{endstandalone}{%
    \renewenvironment{standalone}
      {\preview   }
      {\endpreview}
  }{}%
  \RequirePackage{preview}
\fi
\RequirePackage{standalone}[2010/03/21]
\standalonetrue
\def\document{%
  \sa@orig@document
  \let\documentclass\sa@documentclass
  \sa@cls@document
}
\def\enddocument{%
  \sa@cls@enddocument
  \sa@orig@enddocument
}
\endinput
%%
%% End of file `standalone.cls'.