diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/expl3.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/expl3.sty | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty new file mode 100644 index 00000000000..d0ac38f18e1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty @@ -0,0 +1,179 @@ +%% +%% This is file `expl3.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% expl3.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: expl3.dtx Copyright (C) 1990-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 "expl3 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 LaTeX3 Project. +%% +%% ----------------------------------------------------------------------- +\RequirePackage{l3names} +\GetIdInfo$Id: expl3.dtx 2478 2011-06-19 21:34:23Z joseph $ + {L3 Experimental code bundle wrapper} + %\subsubsection{Variables: scope and type} +\RequirePackage{etex} +\reserveinserts{32} +\RequirePackage{calc} +\ProvidesExplPackage + {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} +\newcommand* \@l@expl@check@declarations@bool { 0 } +\newcommand*\@l@expl@log@functions@bool { 0 } +\DeclareOption { check-declarations } + { \def \@l@expl@check@declarations@bool { 1 } } +\DeclareOption { log-functions } + {\def \@l@expl@log@functions@bool { 1 } } +\ProcessOptions \relax +\RequirePackage{ l3basics, l3expan, l3tl } +\ifodd \@l@expl@check@declarations@bool \relax + \cs_new_protected:Npn \tl_check_exists:N #1 + { + \cs_if_exist:NF #1 + { + \msg_kernel_error:nnx { check } { non-declared-variable } + { \token_to_str:N #1 } + } + } + \cs_set_protected:Npn \tl_set:Nn #1#2 + { + \tl_check_exists:N #1 + \cs_set_nopar:Npx #1 { \exp_not:n {#2} } + } + \cs_set_protected:Npn \tl_set:Nx #1#2 + { + \tl_check_exists:N #1 + \cs_set_nopar:Npx #1 {#2} + } + \cs_set_protected:Npn \tl_gset:Nn #1#2 + { + \tl_check_exists:N #1 + \cs_gset_nopar:Npx #1 { \exp_not:n {#2} } + } + \cs_set_protected:Npn \tl_gset:Nx #1#2 + { + \tl_check_exists:N #1 + \cs_gset_nopar:Npx #1 {#2} + } + \cs_set_protected:Npn \tl_set_eq:NN #1#2 + { + \tl_check_exists:N #1 + \tl_check_exists:N #2 + \cs_set_eq:NN #1 #2 + } + \cs_set_protected:Npn \tl_gset_eq:NN #1#2 + { + \tl_check_exists:N #1 + \tl_check_exists:N #2 + \cs_gset_eq:NN #1 #2 + } +\fi +\RequirePackage{ + l3seq, + l3int, + l3quark, + l3prg, + l3clist, + l3token, + l3prop, + l3msg, + l3io, + l3file, + l3skip, + l3box, + l3keyval, + l3keys, + l3fp, + l3luatex +} +\RequirePackage{l3toks} +\bool_if:nT { \@l@expl@check@declarations@bool } + { + \msg_kernel_new:nnnn { check } { non-declared-variable } + { The~variable~#1~has~not~been~declared~\msg_line_context:. } + { + Checking~is~active,~and~you~have~tried~do~so~something~like: \\ + \ \ \tl_set:Nn #1 ~ + \iow_char:N \{ ~ ... ~ \iow_char:N \} \\ + without~first~having: \\ + \ \ \tl_new:N #1 \\ + \\ + LaTeX~will~create~the~variable~and~continue. + } + } +\cs_set_protected_nopar:Npn \ExplSyntaxOn + { + \bool_if:NF \l_expl_status_bool + { + \cs_set_protected_nopar:Npx \ExplSyntaxOff + { + \char_set_catcode:nn { 9 } { \char_value_catcode:n { 9 } } + \char_set_catcode:nn { 32 } { \char_value_catcode:n { 32 } } + \char_set_catcode:nn { 34 } { \char_value_catcode:n { 34 } } + \char_set_catcode:nn { 38 } { \char_value_catcode:n { 38 } } + \char_set_catcode:nn { 58 } { \char_value_catcode:n { 58 } } + \char_set_catcode:nn { 94 } { \char_value_catcode:n { 94 } } + \char_set_catcode:nn { 95 } { \char_value_catcode:n { 95 } } + \char_set_catcode:nn { 124 } { \char_value_catcode:n { 124 } } + \char_set_catcode:nn { 126 } { \char_value_catcode:n { 126 } } + \tex_endlinechar:D = \tex_the:D \tex_endlinechar:D \scan_stop: + \bool_set_false:N \l_expl_status_bool + \cs_set_protected_nopar:Npn \ExplSyntaxOff { } + } + } + \char_set_catcode_ignore:n { 9 } % tab + \char_set_catcode_ignore:n { 32 } % space + \char_set_catcode_other:n { 34 } % double quote + \char_set_catcode_alignment:n { 38 } % ampersand + \char_set_catcode_letter:n { 58 } % colon + \char_set_catcode_math_superscript:n { 94 } % circumflex + \char_set_catcode_letter:n { 95 } % underscore + \char_set_catcode_other:n { 124 } % pipe + \char_set_catcode_space:n { 126 } % tilde + \tex_endlinechar:D = 32 \scan_stop: + \bool_set_true:N \l_expl_status_bool + } +\cs_set_protected_nopar:Npx \ExplSyntaxOff + { + \exp_not:o \ExplSyntaxOff + \cs_set_protected_nopar:Npn \ExplSyntaxOff { } + } +%% +%% +%% End of file `expl3.sty'. |