summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/beamer/base/beamerbaseoptions.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/beamer/base/beamerbaseoptions.sty
Initial commit
Diffstat (limited to 'macros/latex/contrib/beamer/base/beamerbaseoptions.sty')
-rw-r--r--macros/latex/contrib/beamer/base/beamerbaseoptions.sty57
1 files changed, 57 insertions, 0 deletions
diff --git a/macros/latex/contrib/beamer/base/beamerbaseoptions.sty b/macros/latex/contrib/beamer/base/beamerbaseoptions.sty
new file mode 100644
index 0000000000..c69564b681
--- /dev/null
+++ b/macros/latex/contrib/beamer/base/beamerbaseoptions.sty
@@ -0,0 +1,57 @@
+% Copyright 2003--2007 by Till Tantau
+% Copyright 2010 by Vedran Mileti\'c
+% Copyright 2013,2015 by Vedran Mileti\'c, Joseph Wright
+% Copyright 2017 by Joseph Wright
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/licenses/LICENSE for more details.
+
+\RequirePackage{keyval}[1997/11/10]
+
+\newrobustcmd*\ProcessOptionsBeamer{%
+ \let\@tempa\@empty
+ \ifx\@currext\@clsextension
+ \else
+ \@for\CurrentOption:=\@classoptionslist\do{%
+ \@ifundefined{KV@\@currname @\CurrentOption}%
+ {}{\edef\@tempa{\@tempa,\CurrentOption,}}}%
+ \fi
+ \edef\@tempa{%
+ \noexpand\setkeys{\@currname}{\@tempa\@ptionlist{\@currname.\@currext}}}%
+ \let\beamer@origkverr\KV@errx
+ \let\beamer@origxkverr\XKV@err
+ \let\KV@errx=\@gobble% never mind
+ \let\XKV@err=\@gobble% never mind
+ \@tempa
+ \let\KV@errx\beamer@origkverr
+ \let\XKV@err\beamer@origxkverr
+ \AtEndOfPackage{\let\@unprocessedoptions\relax}}
+
+\newrobustcmd\ExecuteOptionsBeamer[1]{%
+ \setkeys{\@currname}{#1}}
+
+\newrobustcmd\DeclareOptionBeamer[1]{\@ifnextchar[{\beamer@dokv{#1}}{\beamer@dokv{#1}[]}}
+\long\def\beamer@dokv#1[#2]#3{\define@key{\@currname}{#1}[{#2}]{#3}}
+
+\def\beamer@filterclassoptions{%
+ \def\beamer@filteredclassoptionslist{}%
+ \@for\CurrentOption:=\@classoptionslist\do{%
+ \ifx\CurrentOption\@empty\else
+ \@expandtwoargs\in@{=}{\CurrentOption}%
+ \ifin@
+ \else
+ \edef\beamer@filteredclassoptionslist{%
+ \beamer@filteredclassoptionslist,\CurrentOption}%
+ \fi
+ \fi
+ }%
+ \let\@classoptionslist=\beamer@filteredclassoptionslist
+}
+
+\newrobustcmd*\defbeameroption{\define@key{beamer@option}}
+\newrobustcmd*\setbeameroption{\setkeys{beamer@option}}
+