diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty new file mode 100644 index 00000000000..3a84d0e1d4f --- /dev/null +++ b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty @@ -0,0 +1,156 @@ +%% +%% This is file `l3keys2e.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3keys2e.dtx (with options: `package') +%% +%% EXPERIMENTAL CODE +%% +%% Do not distribute this file without also distributing the +%% source files specified above. +%% +%% Do not distribute a modified version of this file. +%% +%% File: l3keys2e.dtx (C) Copyright 2009,2011 The LaTeX3 Project +%% +%% It may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License (LPPL), either version 1.3c of this +%% license or (at your option) any later version. The latest version +%% of this license is in the file +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This file is part of the "l3packages bundle" (The Work in LPPL) +%% and all files in that bundle must be distributed together. +%% +%% The released version of this bundle is available from CTAN. +%% +%% ----------------------------------------------------------------------- +%% +%% The development version of the bundle can be found at +%% +%% http://www.latex-project.org/svnroot/experimental/trunk/ +%% +%% for those people who are interested. +%% +%%%%%%%%%%% +%% NOTE: %% +%%%%%%%%%%% +%% +%% Snapshots taken from the repository represent work in progress and may +%% not work or may contain conflicting material! We therefore ask +%% people _not_ to put them into distributions, archives, etc. without +%% prior consultation with the LaTeX Project Team. +%% +%% ----------------------------------------------------------------------- +%% +\RequirePackage{xparse} +\GetIdInfo$Id: l3keys2e.dtx 2492 2011-07-02 13:40:38Z joseph $ + {LaTeX2e option processing using LaTeX3 keys} +\ProvidesExplPackage + {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} +\@ifpackagelater { l3token } { 2011/07/02 } + { } + { + \PackageError { l3keys2e } { Support~package~l3kernel~too~old. } + { + Please~install~an~up~to~date~version~of~l3kernel~ + using~your~TeX~package~manager~or~from~CTAN.\\ \\ + Loading~l3keys2e~will~abort! + } + \tex_endinput:D + } +\clist_new:N \keys_latexe_options_clist +\bool_new:N \_l_keys_process_class_bool +\cs_new_protected:Npn \keys_latexe_options:n #1 + { + \clist_clear:N \keys_latexe_options_clist + \keys_latexe_options_global:n {#1} + \keys_latexe_options_local: + \keys_if_exist:nnF {#1} { unknown } + { + \keys_define:nn {#1} + { + unknown .code:n = + { + \msg_error:nnxx { keyvalue } { option-unknown } + { \l_keys_key_tl } { \@currname } + } + } + } + \keys_set:nV {#1} \keys_latexe_options_clist + \AtEndOfPackage { \cs_set_eq:NN \@unprocessedoptions \scan_stop: } + } +\cs_new_protected:Npn \keys_latexe_options_global:n #1 + { + \cs_if_eq:NNF \@classoptionslist \scan_stop: + { + \cs_if_eq:NNTF \@currext \@clsextension + { \keys_latexe_options_class:n {#1} } + { + \bool_if:NT \_l_keys_process_class_bool + { \keys_latexe_options_package:n {#1} } + } + } + } +\cs_new_protected:Npn \keys_latexe_options_class:n #1 + { + \keys_if_exist:nnTF {#1} { unknown } + { \clist_put_right:No \keys_latexe_options_clist \@classoptionslist } + { + \clist_map_inline:Nn \@classoptionslist + { + \keys_if_exist:nnTF {#1} { \keys_latexe_remove_equals:n {##1} } + { \clist_put_right:Nn \keys_latexe_options_clist {##1} } + { \clist_put_right:Nn \@unusedoptionlist {##1} } + } + } + } +\cs_new_protected:Npn \keys_latexe_options_package:n #1 + { + \clist_map_inline:Nn \@classoptionslist + { + \keys_if_exist:nnT {#1} { \keys_latexe_remove_equals:n {##1} } + { + \clist_put_right:Nn \keys_latexe_options_clist {##1} + \clist_remove_element:Nn \@unusedoptionlist {##1} + } + } + } +\cs_new_protected_nopar:Npn \keys_latexe_options_local: + { + \cs_if_eq:NNF \@currext \@clsextension + { + \cs_if_exist:cT { opt@ \@currname . \@currext } + { + \exp_args:NNc \clist_put_right:NV \keys_latexe_options_clist + { opt@ \@currname . \@currext } + } + } + } +\cs_new:Npn \keys_latexe_remove_equals:n #1 + { \keys_latexe_remove_equals:w #1 = \q_stop } +\cs_new:Npn \keys_latexe_remove_equals:w #1 = #2 \q_stop {#1} +\cs_new_protected_nopar:Npn \ProcessKeysOptions #1 + { + \bool_set_true:N \_l_keys_process_class_bool + \keys_latexe_options:n {#1} + } +\cs_new_protected_nopar:Npn \ProcessKeysPackageOptions #1 + { + \bool_set_false:N \_l_keys_process_class_bool + \keys_latexe_options:n {#1} + } +\@onlypreamble \ProcessKeysOptions +\@onlypreamble \ProcessKeysPackageOptions +\msg_new:nnnn { keyvalue } { option-unknown } + { Unknown~option~'#1'~for~package~#2. } + { + LaTeX~has~been~asked~to~set~an~option~called~'#1'~ + but~the~#2~package~has~not~created~an~option~with~this~name. + } +%% +%% +%% End of file `l3keys2e.sty'. |