diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/standalone/standalone.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/standalone/standalone.cls | 97 |
1 files changed, 53 insertions, 44 deletions
diff --git a/Master/texmf-dist/tex/latex/standalone/standalone.cls b/Master/texmf-dist/tex/latex/standalone/standalone.cls index 99682b22ff8..c899c181ba2 100644 --- a/Master/texmf-dist/tex/latex/standalone/standalone.cls +++ b/Master/texmf-dist/tex/latex/standalone/standalone.cls @@ -25,60 +25,36 @@ %% This work consists of the files standalone.dtx, standalone.ins %% and the derived file standalone.sty. %% -% $Id: standalone.dtx 1714 2010-03-22 14:44:37Z martin $ +% $Id: standalone.dtx 1772 2010-03-27 13:50:59Z martin $ \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{standalone} [2010/03/22 v0.2 Class to compile TeX sub-files standalone] -\def\sa@classoptionslist{} +\ProvidesClass{standalone} [2010/03/27 v0.3a Class to compile TeX sub-files standalone] +\newif\ifstandalone +\standalonetrue +\newif\ifstandalonebeamer +\standalonebeamerfalse +\let\onlyifstandalone\@firstofone \RequirePackage{kvoptions} \SetupKeyvalOptions{prefix=sa@} \DeclareBoolOption[true]{preview} -\let\standalone\empty -\let\endstandalone\relax -\def\sa@cls@document{\standalone} -\def\sa@cls@enddocument{\endstandalone} -\newif\ifstandalonebeamer \DeclareVoidOption{beamer}{% \def\sa@class{beamer}% \sa@previewfalse \standalonebeamertrue - \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} +\def\sa@classoptionslist{} \DeclareDefaultOption{% \xdef\sa@classoptionslist{\sa@classoptionslist,\CurrentOption}% } \ProcessKeyvalOptions*\relax \let\@classoptionslist\sa@classoptionslist +\begingroup \xdef\@tempa{[\sa@classoptionslist]{\sa@class}} +\expandafter +\endgroup \expandafter\LoadClass\@tempa +\let\standalone\empty +\let\endstandalone\relax \input{standalone.cfg} \ifsa@preview \@ifundefined{endstandalone}{% @@ -88,17 +64,50 @@ }{}% \RequirePackage{preview} \fi -\RequirePackage{standalone}[2010/03/21] -\standalonetrue +\ifstandalonebeamer +\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]% +}% +\fi +\let\sa@cls@orig@document\document +\let\sa@cls@orig@enddocument\enddocument \def\document{% - \sa@orig@document - \let\documentclass\sa@documentclass - \sa@cls@document + \sa@cls@orig@document + \let\documentclass\sa@documentclass % TODO: really required? + \sa@cls@afterbegindocument } \def\enddocument{% - \sa@cls@enddocument - \sa@orig@enddocument + \sa@cls@beforeenddocument + \sa@cls@orig@enddocument } +\def\sa@cls@afterbegindocument{\expandafter\standalone\ignorespaces} +\def\sa@cls@beforeenddocument{\unskip\endstandalone} \endinput %% %% End of file `standalone.cls'. |