From c46a8cff75c54bb399a1879724c1ae8a37b13d66 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Jan 2006 23:55:26 +0000 Subject: expl3 git-svn-id: svn://tug.org/texlive/trunk@897 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/expl3/l3basics.sty | 216 +++++++++++++ Master/texmf-dist/tex/latex/expl3/l3chk.sty | 124 +++++++ Master/texmf-dist/tex/latex/expl3/l3doc.cls | 119 +++++++ Master/texmf-dist/tex/latex/expl3/l3expan.sty | 125 ++++++++ Master/texmf-dist/tex/latex/expl3/l3int.sty | 126 ++++++++ Master/texmf-dist/tex/latex/expl3/l3io.sty | 78 +++++ Master/texmf-dist/tex/latex/expl3/l3names.sty | 426 +++++++++++++++++++++++++ Master/texmf-dist/tex/latex/expl3/l3precom.sty | 115 +++++++ Master/texmf-dist/tex/latex/expl3/l3prop.sty | 91 ++++++ Master/texmf-dist/tex/latex/expl3/l3quark.sty | 46 +++ Master/texmf-dist/tex/latex/expl3/l3seq.sty | 121 +++++++ Master/texmf-dist/tex/latex/expl3/l3tlp.sty | 97 ++++++ Master/texmf-dist/tex/latex/expl3/l3toks.sty | 73 +++++ 13 files changed, 1757 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/expl3/l3basics.sty create mode 100644 Master/texmf-dist/tex/latex/expl3/l3chk.sty create mode 100644 Master/texmf-dist/tex/latex/expl3/l3doc.cls create mode 100644 Master/texmf-dist/tex/latex/expl3/l3expan.sty create mode 100644 Master/texmf-dist/tex/latex/expl3/l3int.sty create mode 100644 Master/texmf-dist/tex/latex/expl3/l3io.sty create mode 100644 Master/texmf-dist/tex/latex/expl3/l3names.sty create mode 100644 Master/texmf-dist/tex/latex/expl3/l3precom.sty create mode 100644 Master/texmf-dist/tex/latex/expl3/l3prop.sty create mode 100644 Master/texmf-dist/tex/latex/expl3/l3quark.sty create mode 100644 Master/texmf-dist/tex/latex/expl3/l3seq.sty create mode 100644 Master/texmf-dist/tex/latex/expl3/l3tlp.sty create mode 100644 Master/texmf-dist/tex/latex/expl3/l3toks.sty (limited to 'Master/texmf-dist/tex/latex/expl3') diff --git a/Master/texmf-dist/tex/latex/expl3/l3basics.sty b/Master/texmf-dist/tex/latex/expl3/l3basics.sty new file mode 100644 index 00000000000..fb4f3de9da0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/expl3/l3basics.sty @@ -0,0 +1,216 @@ +%% +%% This is file `l3basics.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3basics.dtx (with options: `package,trace') +%% +%% +%% 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: l3basics.dtx Copyright (C) 1990-1998 LaTeX3 project +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{l3basics} + [1998/05/04 v1.0i L3 Experimental basic definitions] +\RequirePackage{l3names}\par +\tex_let:D \let:NwN \tex_let:D +\let:NwN \def:Npn \tex_def:D +\let:NwN \gdef:Npn \tex_gdef:D +\let:NwN \def:Npx \tex_edef:D +\let:NwN \gdef:Npx \tex_xdef:D +\let:NwN \if:w \tex_if:D +\let:NwN \if_num:w \tex_ifnum:D +\let:NwN \if_meaning:NN \tex_ifx:D +\let:NwN \if_false: \tex_iffalse:D +\let:NwN \else: \tex_else:D +\let:NwN \fi: \tex_fi:D +\let:NwN \io_put_deferred:Nx \tex_write:D +\let:NwN \token_to_meaning:N \tex_meaning:D +\let:NwN \token_to_string:N \tex_string:D +\let:NwN \cs:w \tex_csname:D +\let:NwN \cs_end: \tex_endcsname:D +\let:NwN \exp_after:NN \tex_expandafter:D +\let:NwN \scan_stop: \tex_relax:D +\let:NwN \exp_not:N \tex_noexpand:D +\let:NwN \group_begin: \tex_begingroup:D +\let:NwN \group_end: \tex_endgroup:D +\let:NwN \the_internal:D \tex_the:D +\let:NwN \pref_global:D \tex_global:D +\let:NwN\c_minus_one\m@ne +\tex_chardef:D \c_one = 1\scan_stop: +\tex_chardef:D \c_sixteen = 16\scan_stop: +\tex_mathchardef:D \c_two_hundred_fifty_six = 256\scan_stop: +\def:Npn \io_put_log:x{ + \tex_immediate:D\io_put_deferred:Nx \c_minus_one } +\def:Npn \io_put_term:x{ + \tex_immediate:D\io_put_deferred:Nx \c_sixteen } +\def:Npn\err_latex_bug:n#1{ + \io_put_term:x{This~is~a~LaTeX~bug!~Check~coding!}\tex_errmessage:D{#1}} +\def:Npn \cs_record_meaning:N#1{} +\def:Npn \chk_new_cs:N #1{ + \if_meaning:NN #1\c_undefined + \else: + \if_meaning:NN #1\scan_stop: + \else: + \err_latex_bug:n {Command~name~`\token_to_string:N #1'~ + already~defined!~ + Current~meaning:~\token_to_meaning:N #1 + } + \fi: + \fi: + \cs_record_meaning:N#1 + \io_put_log:x{Defining~\token_to_string:N #1~on~ + line~\tex_the:D \tex_inputlineno:D} + } +\def:Npn \cs_exist_p:N #1{ + \if:w \cs_free_p:N #1 + \c_false + \else: + \c_true \fi:} +\def:Npn \chk_exist_cs:N #1 { + \if:w \cs_exist_p:N #1 + \else: + \err_latex_bug:n{Command~ `\token_to_string:N #1'~ + not~ yet~ defined!} + \fi:} +\def:Npn \cs_free_p:N #1{ + \if_meaning:NN#1\c_undefined + \if:w\cs_eq_p:NN #1\c_undefined \c_false + \else: \c_true \fi: + \else: + \if_meaning:NN#1\scan_stop: + \if:w\cs_eq_p:NN #1\scan_stop: \c_false + \else: \c_true \fi: + \else: + \c_false \fi:\fi:} +\tex_long:D\def:Npn \let:NN #1{ + \let:NwN #1=~} +\def:Npn\let:cN #1 {\exp_after:NN\let:NwN\cs:w#1\cs_end:=~} +\def:Npn\let:Nc{\exp_args:NNc\let:NN} +\def:Npn\let:cc{\exp_args:Ncc\let:NN} +\def:Npn \def_new:Npn #1{\chk_new_cs:N #1 + \def:Npn #1} +\def:Npn \def_new:Npx #1{\chk_new_cs:N #1 + \def:Npx #1} +\def_new:Npn \let_new:NN #1{\chk_new_cs:N #1 + \let:NN #1} +\def_new:Npn \def:cpn #1{\exp_after:NN + \def:Npn + \cs:w #1\cs_end:} +\def_new:Npn \def:cpx #1{\exp_after:NN + \def:Npx + \cs:w #1\cs_end:} +\def_new:Npn \def_new:cpn #1{\exp_after:NN + \def_new:Npn + \cs:w #1\cs_end:} +\def_new:Npn \def_new:cpx #1{\exp_after:NN + \def_new:Npx + \cs:w #1\cs_end:} +\def_new:Npn \def:No{\exp_args:NNo\def:Npn} +\def_new:Npn \def_long:Npn {\tex_long:D\def:Npn} +\def_new:Npn \def_long_new:Npn #1{\chk_new_cs:N #1 + \def_long:Npn #1} +\def_new:Npn \def_long:cpn #1{\exp_after:NN + \def_long:Npn + \cs:w #1\cs_end:} +\def_new:Npn \def_long:Npx {\tex_long:D\def:Npx} +\def_new:Npn \glet:NN {\tex_global:D \let:NN} +\def_new:Npn \glet_new:NN #1{\chk_new_cs:N #1 + \tex_global:D\let:NN #1} +\def_new:Npn \gdef_new:Npn #1{\chk_new_cs:N #1 + \gdef:Npn #1} +\def_new:Npn \gdef:cpn {\tex_global:D \def:cpn} +\def_new:Npn \gdef:cpx {\tex_global:D \def:cpx} +\def_new:Npn \gdef:No {\exp_args:NNo\gdef:Npn} + +\def_new:Npn \gdef_long:Npn {\tex_long:D\gdef:Npn} +\def_new:Npn \gdef_long:Npx {\tex_long:D\gdef:Npx} +\def_new:Npn \gfuturelet:NNN{\tex_global:D \let_peek_after:NNN} +\def_long_new:Npn \cs_free:NTF #1{\if:w\cs_free_p:N #1 + \exp_after:NN \use_choice_i:nn \else: + \exp_after:NN \use_choice_ii:nn \fi:} +\def_long_new:Npn \cs_free:NT #1{\if:w\cs_free_p:N #1 + \exp_after:NN \use:n \else: + \exp_after:NN \use_none:n \fi:} +\def_long_new:Npn \cs_free:NF #1{\if:w\cs_free_p:N #1 + \exp_after:NN \use_none:n \else: + \exp_after:NN \use:n \fi:} +\def_long_new:Npn \cs_free:cTF #1{ + \exp_after:NN + \if_meaning:NN + \cs:w#1\cs_end: + \scan_stop: + \exp_after:NN \use_choice_i:nn + \else: + \exp_after:NN \use_choice_ii:nn + \fi:} +\def_long_new:Npn \cs_free:cF #1{\exp_after:NN + \if_meaning:NN \cs:w#1\cs_end: \scan_stop: + \exp_after:NN \use_none:nn \fi: \use:n} +\def_long_new:Npn \cs_free:cT #1{\exp_after:NN + \if_meaning:NN \cs:w#1\cs_end: \scan_stop: + \else: + \exp_after:NN \use_none:nn \fi: \use:n} +\def_new:Npn \gundefine:N #1{\glet:NN #1\c_undefined} +\def_long_new:Npn \use_none:n #1{} +\def_long_new:Npn \use_none:nn #1#2{} +\def_long_new:Npn \use_none:nnn #1{\use_none:nn} +\def_long_new:Npn \use_none:nnnn + {\exp_after:NN\use_none:nn \use_none:nn} +\def_long_new:Npn \use:n #1{#1} +\def_new:Npn \use:c #1{\cs:w #1\cs_end:} + +\def_new:Npn \use:cc #1#2 + {\cs:w #1\exp_after:NN\cs_end:\cs:w #2\cs_end:} +\def_long_new:Npn \use_choice_i:nn #1#2{#1} +\def_long_new:Npn \use_choice_ii:nn #1#2{#2} +\def_long_new:Npn\use_choice_i:nnn#1#2#3{#1} +\def_long_new:Npn\use_choice_ii:nnn#1#2#3{#2} +\def_long_new:Npn\use_choice_iii:nnn#1#2#3{#3} +\def_new:Npn \gtmp:w {} +\def_new:Npn \tmp:w {} +\def_new:Npn \use_noop: {} +\def_new:Npn \cs_to_str:N {\exp_after:NN\use_none:n \token_to_string:N} +\def_new:Npn \tlist_eq:nnTF #1#2{ + \tlp_gset:Nn \g_testa_tlp {#1} + \tlp_gset:Nn \g_testb_tlp {#2} + \if_meaning:NN\g_testa_tlp \g_testb_tlp + \exp_after:NN\use_choice_i:nn \else: + \exp_after:NN\use_choice_ii:nn \fi:} +\def_new:Npn \tlist_eq:onTF {\exp_args:No \tlist_eq:nnTF} +\def_new:Npn \tlist_empty:nTF #1{\tlp_gset:Nn \g_testa_tlp {#1} + \if_meaning:NN\g_testa_tlp \c_empty_tlp + \exp_after:NN \use_choice_i:nn \else: + \exp_after:NN \use_choice_ii:nn \fi:} +\def_new:Npn \tlist_empty:nF #1{\tlp_gset:Nn \g_testa_tlp {#1} + \if_meaning:NN\g_testa_tlp \c_empty_tlp + \exp_after:NN \use_none:nn \fi: \use:n} +\def_new:Npn \str_eq_p:nn #1#2{\str_eq_p_aux:w #1\scan_stop:\\#2\scan_stop:\\} +\def_new:Npn \str_eq_p_aux:w #1#2\\#3#4\\{ + \if_meaning:NN#1#3 + \if_meaning:NN#1\scan_stop:\c_true \else: + \if_meaning:NN#3\scan_stop:\c_false \else: + \str_eq_p_aux:w #2\\#4\\\fi:\fi: + \else:\c_false \fi:} +\def:Npn \cs_eq_p:NN #1#2{ + \exp_after:NN\exp_after:NN + \exp_after:NN\str_eq_p_aux:w + \exp_after:NN\token_to_string:N + \exp_after:NN#1 + \exp_after:NN\scan_stop: + \exp_after:NN\\ + \token_to_string:N#2\scan_stop:\\} +\def_new:Npn\file_not_found:nTF #1#2#3{\IfFileExists{#1}{#3}{#2}} +\def_new:Npn \c_true {TT} +\def_new:Npn \c_false {TF} + +%% +%% +%% End of file `l3basics.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3chk.sty b/Master/texmf-dist/tex/latex/expl3/l3chk.sty new file mode 100644 index 00000000000..936ddb833c0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/expl3/l3chk.sty @@ -0,0 +1,124 @@ +%% +%% This is file `l3chk.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3chk.dtx (with options: `package,trace') +%% +%% +%% 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: l3chk.dtx Copyright (C) 1990-1998 LaTeX3 project +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{l3chk} + [1998/04/20 v1.0e L3 Experimental check module] +\RequirePackage{l3basics} +\RequirePackage{l3int} +\def_new:Npn \chk_local:N #1{\exp_after:NN + \chk_local_aux:w \token_to_string:N#1\q_stop} +\def_new:Npn \chk_local_aux:w #1#2#3\q_stop{ + \if_num:w\tex_uccode:D`#2=`G\scan_stop: + \err_latex_bug:n{Local~mismatch:~local~function~called~with~ + global~variable:^^J\text_put_four_sp: #1#2#3~ + on~line~\tex_the:D\tex_inputlineno:D} + \else: + \if_num:w\tex_uccode:D`#2=`L\scan_stop: + \else: + \err_latex_bug:n{Variable~mismatch:~function~not~called~with~ + proper~variable:^^J\text_put_four_sp: #1#2#3~ + on~line~\tex_the:D\tex_inputlineno:D}\fi: + \fi:} +\tex_newlinechar:D=`\^^J +\def_new:Npn \chk_global:N #1{\exp_after:NN + \chk_global_aux:w \token_to_string:N#1\q_stop} +\def_new:Npn \chk_global_aux:w #1#2#3\q_stop{ + \if_num:w\tex_uccode:D`#2=`L\scan_stop: + \err_latex_bug:n{Global~mismatch:~global~function~called~with~ + local~variable:~#1#2#3~ + on~line~\tex_the:D\tex_inputlineno:D} + \else: + \if_num:w\tex_uccode:D`#2=`G\scan_stop: + \else: + \err_latex_bug:n{Variable~mismatch:~function~not~called~with~ + proper~variable:~#1#2#3~ + on~line~\tex_the:D\tex_inputlineno:D}\fi:\fi:} +\def_new:Npn \pref_global_chk: { + \gdef:Npn \chk_local_or_pref_global:N ##1{ + \chk_global:N ##1 + \glet:NN \chk_local_or_pref_global:N \chk_local:N} + \pref_global:D} +\let_new:NN \chk_local_or_pref_global:N \chk_local:N +\def_new:Npn \chk_var_or_const:N #1{\exp_after:NN + \chk_var_or_const_aux:w \token_to_string:N#1\q_stop } +\def_new:Npn \chk_var_or_const_aux:w #1#2#3\q_stop { + \if_num:w\tex_uccode:D`#2=`L\scan_stop: + \else: + \if_num:w\tex_uccode:D`#2=`G\scan_stop: + \else: + \if_num:w\tex_uccode:D`#2=`C\scan_stop: + \else: + \if_char_code:w#2q\scan_stop: + \else: + \err_latex_bug:n{Variable~mismatch:~function~not~called~with~ + proper~variable:^^J\text_put_four_sp: #1#2#3~ + on~line~\tex_the:D\tex_inputlineno:D}\fi:\fi:\fi: + \fi:} +\def_new:Npn\donotcheck{ + \let:NN \chk_global:N \use_none:n + \let:NN \chk_local:N \use_none:n + \let:NN \chk_local_or_pref_global:N \use_none:n + \let:NN \pref_global_chk: \pref_global:D + \let:NN \chk_new_cs:N \use_none:n + \let:NN \chk_exist_cs:N \use_none:n + \let:NN \chk_var_or_const:N \use_none:n + \let:NN \cs_record_name:N \use_none:n + \let:NN \cs_record_name:c \use_none:n + \let:NN \cs_record_meaning:N \use_none:n + \let:NN \register_record_name:N \use_none:n +} +\def_new:Npn\absolutelytracingall{ + \pref_global:D\g_trace_commands_status\c_two + \pref_global:D\g_trace_statistics_status\c_two + \pref_global:D\g_trace_pages_status\c_one + \pref_global:D\g_trace_output_status\c_one + \pref_global:D\g_trace_chars_status\c_one + \pref_global:D\g_trace_macros_status\c_two + \pref_global:D\g_trace_paragraphs_status\c_one + \pref_global:D\g_trace_restores_status\c_one + \pref_global:D\g_trace_box_breadth_int\c_ten_thousand + \pref_global:D\g_trace_box_depth_int\c_ten_thousand + \pref_global:D\g_trace_online_status\c_one + \mode_errorstop:D} +\def_new:Npn\tracingoff{ + \pref_global:D\g_trace_online_status\c_zero + \pref_global:D\g_trace_commands_status\c_zero + \pref_global:D\g_trace_statistics_status\c_zero + \pref_global:D\g_trace_pages_status\c_zero + \pref_global:D\g_trace_output_status\c_zero + \pref_global:D\g_trace_chars_status\c_zero + \pref_global:D\g_trace_macros_status\c_zero + \pref_global:D\g_trace_paragraphs_status\c_zero + \pref_global:D\g_trace_restores_status\c_zero + \pref_global:D\g_trace_box_breadth_int\c_zero + \pref_global:D\g_trace_box_depth_int\c_zero +} +\def_new:Npn\traceon#1{\for_clist:Nnn\l_tmpa_tlp{#1} + { + \cs_free:cF{g_trace_\l_tmpa_tlp _status} + {\int_gincr:c{g_trace_\l_tmpa_tlp _status}} + }} +\def_new:Npn\traceoff#1{\for_clist:Nnn\l_tmpa_tlp{#1} + { + \cs_free:cF{g_trace_\l_tmpa_tlp _status} + {\int_gdecr:c{g_trace_\l_tmpa_tlp _status}} + }} +%% +%% +%% End of file `l3chk.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3doc.cls b/Master/texmf-dist/tex/latex/expl3/l3doc.cls new file mode 100644 index 00000000000..7b747d4e10c --- /dev/null +++ b/Master/texmf-dist/tex/latex/expl3/l3doc.cls @@ -0,0 +1,119 @@ + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{l3doc} + [1998/04/12 v0.0c class for documenting experimental stuff] + +\DeclareOption*{\PassOptionstoClass{\CurrentOption}{article}} + +\ProcessOptions + +\LoadClass{article} +\RequirePackage{doc} + +\RequirePackage[T1]{fontenc} + +%% The Guilty Parties +\def\Team{% + The \LaTeX3 Project\thanks{% + Frank Mittelbach, Denys Duchier, Chris Rowley, + Rainer Sch\"opf, Johannes Braams, Michael Downes, + David Carlisle, Alan Jeffrey}} + +%% You do not want to look at the mess below this line. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\catcode`\_=11 + +\MakeShortVerb\" +\MakeShortVerb\| + +\newcommand{\tn}[1]{{\tt\bslash #1}% + \index{ \actualchar\string\TeX{} and \string\LaTeX2.09 commands:\levelchar + #1\actualchar{\string\tt\string\bslash{}#1}}} + + + +\def\vindex#1>#2\@nil{% + \edef\temp{\foo#2<>\@nil}% + \ifx\temp\space\else + \expandafter\SpecialMainIndexB\expandafter{\temp}\fi} + +% Cant remember why I switched from \SpecialMainIndexB +\gdef\SpecialMainIndexB#1{\index{\@gobble#1\space\actualchar{\string\verb+#1+}}} + +% remove from index (quick hack, could be better) +\def\foo#1<#2>#3\@nil{% + #1\ifx\foo#3\foo + \else#2\expandafter\foo\fi#3\@nil} +\def\foo#1<#2>#3\@nil{#1<#2>#3} + +\let\m\meta +\newenvironment{texnote}% + {\endgraf\vspace{3mm}{\bf \TeX{}hackers~ note:}\small} + {\vspace{3mm}} +% stick the function names in a box. +{\catcode`\|=\active\catcode`\<=\active + +% index fuction lists (could be better...) +\gdef\funcindex#1 |{% + \def\yyy{#1}% + \ifx\yyy\empty\else + \expandafter\vindex\meaning\yyy\@nil + \expandafter\funcindex\fi} + +\gdef\function{% + \catcode`\<=\active\def<##1>{\meta{##1}}% + \bigskip + \bgroup + \@makeother\\ + \@makeother\_ + \catcode`\ =9 + \catcode`\^^M=9 + \catcode`\^^I=9 + \catcode`\|=\active\def|{\\}% + \@function} +\gdef\@function#1{% + \ifx\@function#1\@function\else + \funcindex#1 | |% + \fi + \tt + \endgraf + \noindent\hspace*{-2\parindent}% + \tabular[b]% + {@{\vline\hskip\tabcolsep}l@{\hskip\tabcolsep\vline}} + \hline + #1\crcr + \hline + \noalign{\kern-2pt}% + \endtabular + \egroup}} + + +\let\variable\function + +% syntax for functions +\def\syntax{% + \@syntax} + +\def\@syntax{% + \minipage[b]{.7\textwidth}% + \small\ttfamily\raggedright + \obeyspaces\obeylines} +\def\endsyntax{\endminipage\hfil\break\global\@ignoretrue} + + +%The toks file uses these, Icould not see the original definition... +\let\zz\m +\let\zv\m + +\setcounter{StandardModuleDepth}{1} +\addtolength{\textwidth}{30pt} + +\let\@@oldlist\list +\def\list#1#2{\@@oldlist{#1}{#2\listparindent\z@}} + +\setlength{\parindent}{0pt} +\setlength{\itemindent}{0pt} +\setlength{\parskip}{\medskipamount} + diff --git a/Master/texmf-dist/tex/latex/expl3/l3expan.sty b/Master/texmf-dist/tex/latex/expl3/l3expan.sty new file mode 100644 index 00000000000..3632bb179d1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/expl3/l3expan.sty @@ -0,0 +1,125 @@ +%% +%% This is file `l3expan.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3expan.dtx (with options: `package,trace') +%% +%% +%% 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: l3expan.dtx Copyright (C) 1990-1998 LaTeX3 project +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{l3expan} + [1998/04/20 v1.0e L3 Experimental Argument Expansion module] +\RequirePackage{l3basics} +\RequirePackage{l3tlp} +\tlp_new:Nn\l_exp_tlp{} +\def_new:Npn\exp_arg_next:nnn#1#2#3{% + #2\:::{#3#1}} +\def_new:Npn\::n#1\:::#2#3{% + #1\:::{#2{#3}}} +\def_new:Npn\::N#1\:::#2#3{% + #1\:::{#2#3}} +\def_new:Npn\::c#1\:::#2#3{% + \exp_after:NN\exp_arg_next:nnn\cs:w #3\cs_end:{#1}{#2}} +\def_new:Npn\::o#1\:::#2#3{% + \exp_after:NN\exp_arg_next:nnn\exp_after:NN{\exp_after:NN{#3}}{#1}{#2}} +\def_new:Npn\::x#1\:::#2#3{% + \tlp_set:Nx\l_exp_tlp{{{#3}}}% + \exp_after:NN\exp_arg_next:nnn\l_exp_tlp{#1}{#2}} +\def_new:Npn\:::#1{#1} +\def_new:Npn\::C#1\:::#2#3{% + \exp_after:NN\exp_C_aux:nnn\cs:w #3\cs_end:{#1}{#2}} +\def_new:Npn\exp_C_aux:nnn #1 + { + \exp_after:NN + \exp_arg_next:nnn + \exp_after:NN + { + \exp_after:NN + {#1} + } + } +\def:Npn \exp_args:NC {\::C\:::} +\def:Npn \exp_args:Nccx {\::c\::c\::x\:::} +\def:Npn \exp_args:Ncnx {\::c\::n\::x\:::} +\def:Npn \exp_args:NNno {\::N\::n\::o\:::} +\def:Npn \exp_args:Nnno {\::n\::n\::o\:::} +\def:Npn \exp_args:Nnnx {\::n\::n\::x\:::} +\def:Npn \exp_args:Nno {\::n\::o\:::} +\def:Npn \exp_args:Nnox {\::n\::o\::x\:::} +\def:Npn \exp_args:NNx {\::N\::x\:::} +\def:Npn \exp_args:Nnx {\::n\::x\:::} +\def:Npn \exp_args:Noo {\::o\::o\:::} +\def:Npn \exp_args:Noox {\::o\::o\::x\:::} +\def:Npn \exp_args:Nox {\::o\::x\:::} +\def:Npn \exp_args:Nx {\::x\:::} +\def:Npn \exp_args:Nxo {\::x\::o\:::} +\def:Npn \exp_args:Nxx {\::x\::x\:::} +\def_new:Npn\exp_not:o{\exp_after:NN\exp_not:N} +\def_new:Npn\exp_not:c#1{\exp_after:NN\exp_not:N\cs:w#1\cs_end:} +\def_new:Npn \exp_args:No #1#2{\exp_after:NN#1\exp_after:NN{#2}} +\def_new:Npn \exp_args:NOo #1#2#3{\exp_after:NN\exp_args:No \exp_after:NN#1 + \exp_after:NN#2\exp_after:NN{#3}} +\def_new:Npn \exp_args:NOOo #1#2#3#4{\exp_after:NN\exp_args:NOo + \exp_after:NN#1\exp_after:NN#2\exp_after:NN#3\exp_after:NN{#4}} +\def_new:Npn \exp_args:NNo #1#2#3{\exp_after:NN#1\exp_after:NN#2 + \exp_after:NN{#3}} +\def_new:Npn \exp_args:NNOo #1#2#3#4{\exp_after:NN\exp_args:NNo + \exp_after:NN#1\exp_after:NN#2\exp_after:NN#3\exp_after:NN{#4}} +\def_new:Npn \exp_args:NNNo #1#2#3#4{\exp_after:NN#1\exp_after:NN#2 + \exp_after:NN#3\exp_after:NN{#4}} +\def_new:Npn \exp_args:Nc #1#2{\exp_after:NN#1\cs:w#2\cs_end:} +\def_new:Npn \exp_args:NNc #1#2#3{\exp_after:NN#1\exp_after:NN#2 + \cs:w#3\cs_end:} +\def_new:Npn \exp_args:NOc#1#2#3{\exp_after:NN\exp_args:No\exp_after:NN + #1\exp_after:NN#2\cs:w#3\cs_end:} +\def_new:Npn \exp_args:Ncc #1#2#3{\exp_after:NN#1 + \cs:w#2\exp_after:NN\cs_end:\cs:w#3\cs_end:} +\def_new:Npn \exp_args:Nccc #1#2#3#4{\exp_after:NN#1 + \cs:w#2\exp_after:NN\cs_end:\cs:w#3\exp_after:NN + \cs_end:\cs:w #4\cs_end:} +\def_new:Npn \exp_args:Nco #1#2#3{\exp_after:NN#1\cs:w#2\exp_after:NN + \cs_end:\exp_after:NN{#3}} +\def:Npn\exp_def_form:nnn#1#2#3{ + \exp_after:NN + \def:Npn + \cs:w + #1:#3 + \exp_after:NN + \cs_end: + \exp_after:NN + { + \cs:w + exp_args:N#3 + \exp_after:NN + \cs_end: + \cs:w + #1:#2 + \cs_end: + } + \cs_free:cT + {exp_args:N#3} + {\def:cpx {exp_args:N#3} + {\exp_args_form_x:w #3 :} + } +} +\def_new:Npn\exp_args_form_x:w #1 { + \exp_after:NN \exp_not:N \cs:w ::#1 \cs_end: + \if_meaning:NN #1 : + \else: + \exp_after:NN\exp_args_form_x:w + \fi:} + + +%% +%% +%% End of file `l3expan.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3int.sty b/Master/texmf-dist/tex/latex/expl3/l3int.sty new file mode 100644 index 00000000000..e745beceb25 --- /dev/null +++ b/Master/texmf-dist/tex/latex/expl3/l3int.sty @@ -0,0 +1,126 @@ +%% +%% This is file `l3int.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3int.dtx (with options: `package,trace') +%% +%% +%% 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: l3int.dtx Copyright (C) 1990-1998 LaTeX3 project +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{l3int} + [1998/04/20 v1.0c L3 Experimental Integer module] +\RequirePackage{l3basics}\par +\def_new:Npn \int_incr:N #1{\tex_advance:D#1\c_one +} +\def_new:Npn \int_decr:N #1{\tex_advance:D#1\c_minus_one +} +\def_new:Npn \int_gincr:N { + \pref_global:D + \int_incr:N} +\def_new:Npn \int_gdecr:N { + \pref_global:D + \int_decr:N} +\def:Npn \int_incr:N #1{\int_add:Nn#1\c_one} +\def:Npn \int_decr:N #1{\int_add:Nn#1\c_minus_one} +\def:Npn \int_gincr:N #1{\int_gadd:Nn#1\c_one} +\def:Npn \int_gdecr:N #1{\int_gadd:Nn#1\c_minus_one} +\def_new:Npn \int_new:N {} % but since we don't distribute +\let:NN \int_new:N \newcount % allocation better nick the LaTeX one ... +\def_new:Npn \int_new:c {\exp_args:Nc \int_new:N} +\def_new:Npn \int_set:Nn #1#2{#1#2\scan_stop: +} +\def_new:Npn \int_gset:Nn { + \pref_global:D + \int_set:Nn } +\def_new:Npn \int_set:cn {\exp_args:Nc \int_set:Nn } +\def_new:Npn \int_gset:cn {\exp_args:Nc \int_gset:Nn } +\def_new:Npn \int_add:Nn #1#2{ + \tex_advance:D#1#2\scan_stop: +} +\def_new:Npn\int_add:cn{\exp_args:Nc\int_add:Nn} +\def_new:Npn \int_sub:Nn #1#2{ + \tex_advance:D#1-#2\scan_stop: +} +\def_new:Npn \int_gadd:Nn { + \pref_global:D + \int_add:Nn } +\def_new:Npn \int_gsub:Nn { + \pref_global:D + \int_sub:Nn } +\let_new:NN \int_use:N \tex_the:D +\def_new:Npn \int_use:c #1{\int_use:N \cs:w#1\cs_end:} + +\def_new:Npn \int_gincr:c {\exp_args:Nc \int_gincr:N} +\def_new:Npn \int_gdecr:c {\exp_args:Nc \int_gdecr:N} +\chk_new_cs:N \l_tmpa_int +\tex_countdef:D\l_tmpa_int 255 +\int_new:N \l_tmpb_int +\int_new:N \l_tmpc_int +\int_new:N \g_tmpa_int +\int_new:N \g_tmpb_int +\tex_chardef:D \c_zero = 0 \scan_stop: +\tex_chardef:D \c_one = 1 \scan_stop: +\tex_chardef:D \c_two = 2 \scan_stop: +\tex_chardef:D \c_three = 3 \scan_stop: +\tex_chardef:D \c_four = 4 \scan_stop: +\tex_chardef:D \c_sixteen = 16 \scan_stop: +\tex_chardef:D \c_thirty_two = 32 \scan_stop: +\tex_chardef:D \c_twohundred_fifty_five = 255 \scan_stop: +\tex_mathchardef:D \c_twohundred_fifty_six = 256 \scan_stop: +\tex_mathchardef:D \c_thousand = 1000 \scan_stop: +\tex_mathchardef:D \c_ten_thousand = 10000 \scan_stop: +\tex_mathchardef:D \c_ten_thousand_one = 10001 \scan_stop: +\tex_mathchardef:D \c_ten_thousand_two = 10002 \scan_stop: +\tex_mathchardef:D \c_ten_thousand_three = 10003 \scan_stop: +\tex_mathchardef:D \c_ten_thousand_four = 10004 \scan_stop: +\tex_mathchardef:D \c_twenty_thousand = 20000 \scan_stop: +\let_new:NN \fint_new:N \newmuskip % nicked from LaTeX +\def_new:Npn \fint_use:N {\exp_after:NN\fint_use_aux:w\the_internal:D} +\tex_lccode:D`\!=`\m \tex_lccode:D`\?=`\u +\tex_lowercase:D{\def_new:Npn \fint_use_aux:w #1.0!?{#1}} +\tex_lccode:D`\!=0\scan_stop: \tex_lccode:D`\?=0\scan_stop: +\def_new:Npn \fint_set:Nn #1#2{#1#2~mu\scan_stop: +} +\def_new:Npn \fint_gset:Nn{ + \pref_global:D + \fint_set:Nn} +\def_new:Npn \fint_set_eq:NN #1#2{#1#2 +} +\def_new:Npn \fint_gset_eq:NN { + \pref_global:D + \fint_set_eq:NN} +\def_new:Npn \fint_add:Nn #1#2{\int_add:Nn#1{#2mu}} +\def_new:Npn \fint_gadd:Nn { + \pref_global:D + \fint_add:Nn} +\def_new:Npn \fint_sub:Nn #1#2{\int_sub:Nn#1{#2mu}} +\def_new:Npn \fint_gsub:Nn { + \pref_global:D + \fint_sub:Nn} +\def_new:Npn \fint_incr:N #1{\advance:D#1\c_one mu\scan_stop: +} +\def_new:Npn \fint_decr:N #1{\advance:D#1\c_minus_one mu\scan_stop: +} +\def_new:Npn \fint_gincr:N { + \pref_global:D + \fint_incr:N} +\def_new:Npn \fint_gdecr:N { + \pref_global:D + \fint_decr:N} +\def:Npn \fint_incr:N #1{\fint_add:Nn#1\c_one} +\def:Npn \fint_decr:N #1{\fint_add:Nn#1\c_minus_one} +\tex_mathchardef:D\c_fint_max=16383 \scan_stop: + +%% +%% +%% End of file `l3int.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3io.sty b/Master/texmf-dist/tex/latex/expl3/l3io.sty new file mode 100644 index 00000000000..3e9d643dda6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/expl3/l3io.sty @@ -0,0 +1,78 @@ +%% +%% This is file `l3io.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3io.dtx (with options: `package,trace') +%% +%% +%% 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: l3io.dtx Copyright (C) 1990-1998 LaTeX3 project +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{l3io} + [1998/04/20 v1.0c L3 Experimental i/o module] +\RequirePackage{l3toks}\par +\def_new:Npn \iow_new:N {} +\let:NN \iow_new:N \newwrite +\def_new:Npn \iow_new:c {\exp_args:Nc \iow_new:N} +\def_new:Npn \iow_open:Nn #1#2{\iow_close:N #1 + \tex_immediate:D\tex_openout:D#1#2\scan_stop:} +\def_new:Npn \iow_open:cn {\exp_args:Nc \iow_open:Nn} +\def_new:Npn \iow_close:N {\tex_immediate:D\tex_closeout:D} +\let_new:NN \c_io_term_stream \c_sixteen +\let_new:NN \c_iow_log_stream \c_minus_one +\def_new:Npn \iow_expanded:Nn {\tex_immediate:D\iow_deferred_expanded:Nn} +\def_new:Npn \iow_unexpanded:Nn #1#2{\toks_gset:Nn \g_tmpa_toks {#2} + \iow_expanded:Nn #1{\toks_use:N \g_tmpa_toks}} +\def:Npn \iow_expanded_log:n {\iow_expanded:Nn \c_iow_log_stream} +\def:Npn \iow_expanded_term:n{\iow_expanded:Nn \c_io_term_stream} + +\def_new:Npn \iow_unexpanded_term:n {\iow_unexpanded:Nn \c_io_term_stream} +\def_new:Npn \iow_unexpanded_if_avail:Nn #1{ + \cs_free:NTF #1\use_none:n {\iow_unexpanded:Nn #1}} +\def_new:Npn \iow_unexpanded_if_avail:cn { + \exp_args:Nc \iow_unexpanded_if_avail:Nn } +\def_new:Npn \iow_long_expanded_aux:w #1#2#3{ + \group_begin:\g_iow_newline_code`\ #1#2{#3}\group_end:} +\def_new:Npn \iow_long_expanded:Nn {\iow_long_expanded_aux:w + \iow_expanded:Nn} +\def_new:Npn \iow_long_unexpanded:Nn {\iow_long_expanded_aux:w + \iow_unexpanded:Nn} +\let:NN \iow_deferred_expanded:Nn \tex_write:D +\def_new:Npn \iow_deferred_unexpanded:Nn #1#2{ + \tlp_set:Nn \l_tmpa_tlp {#2} + \tlp_set:Nx \l_tmpb_tlp + {\iow_deferred_expanded:Nn #1{\tlp_to_str:N \l_tmpa_tlp}} + \l_tmpb_tlp} +\tex_catcode:D `\%= 12 \scan_stop: +\tlp_new:Nn \c_iow_comment_char {%} +\tex_catcode:D `\%= 14 \scan_stop: +\tlp_new:Nn \c_iow_lbrace_char{} +\tlp_new:Nn \c_iow_rbrace_char{} +\def:Npx\c_iow_lbrace_char {\token_to_string:N{} +\def:Npx\c_iow_rbrace_char {\token_to_string:N}} +\def_new:Npn \ior_new:N {} +\let:NN \ior_new:N \newread +\def_new:Npn \ior_open:Nn #1#2{\ior_close:N #1\scan_stop: + \tex_openin:D#1#2\scan_stop:} +\def_new:Npn \ior_eof:NTF #1{\if_eof:w#1 + \exp_after:NN\use_choice_i:nn \else: + \exp_after:NN\use_choice_ii:nn \fi:} +\def_new:Npn \ior_eof:NF #1{\if_eof:w#1 + \exp_after:NN \use_none:nn \fi: \use:n} + \def_new:Npn \ior_to:NN #1{\tex_read:D#1to} +\def_new:Npn \ior_gto:NN { + \pref_global:D + \ior_to:NN} + +%% +%% +%% End of file `l3io.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3names.sty b/Master/texmf-dist/tex/latex/expl3/l3names.sty new file mode 100644 index 00000000000..4d5256bad38 --- /dev/null +++ b/Master/texmf-dist/tex/latex/expl3/l3names.sty @@ -0,0 +1,426 @@ +%% +%% This is file `l3names.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3names.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: l3names.dtx Copyright (C) 1990-1997 LaTeX3 project +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{l3names} + [1998/04/20 v2.0b L3 Experimental Naming Scheme for TeX Primitives] +\catcode`\ =9\relax +\catcode`\^^I=9\relax +\catcode`\^^M=9\relax +\catcode`\~=10\relax +\catcode`\_=11\relax\catcode`\:=11\relax +\catcode`\@=11\relax % as long as we use old LaTeX stuff. +\let\tex_let:D\let +\DeclareOption{removeoldnames}{ + \long\def\name_undefine:N#1{ + \tex_let:D#1\tex_undefined:}} +\DeclareOption{keepoldnames}{ + \long\def\name_undefine:N#1{}} +\ExecuteOptions{keepoldnames} +\ProcessOptions +\long\def\name_primitive:NN#1#2{ + \tex_let:D #2 #1 + \name_undefine:N #1 + } +\name_primitive:NN \ \tex_space:D +\name_primitive:NN \/ \tex_italiccor:D +\name_primitive:NN \- \tex_hyphen:D +\name_primitive:NN \let \tex_let:D +\name_primitive:NN \def \tex_def:D +\name_primitive:NN \edef \tex_edef:D +\name_primitive:NN \gdef \tex_gdef:D +\name_primitive:NN \xdef \tex_xdef:D +\name_primitive:NN \chardef \tex_chardef:D +\name_primitive:NN \countdef \tex_countdef:D +\name_primitive:NN \dimendef \tex_dimendef:D +\name_primitive:NN \skipdef \tex_skipdef:D +\name_primitive:NN \muskipdef \tex_muskipdef:D +\name_primitive:NN \mathchardef \tex_mathchardef:D +\name_primitive:NN \toksdef \tex_toksdef:D +\name_primitive:NN \futurelet \tex_futurelet:D +\name_primitive:NN \advance \tex_advance:D +\name_primitive:NN \divide \tex_divide:D +\name_primitive:NN \multiply \tex_multiply:D +\name_primitive:NN \font \tex_font:D +\name_primitive:NN \fam \tex_fam:D +\name_primitive:NN \global \tex_global:D +\name_primitive:NN \long \tex_long:D +\name_primitive:NN \outer \tex_outer:D +\name_primitive:NN \setlanguage \tex_setlanguage:D +\name_primitive:NN \globaldefs \tex_globaldefs:D +\name_primitive:NN \afterassignment \tex_afterassignment:D +\name_primitive:NN \aftergroup \tex_aftergroup:D +\name_primitive:NN \expandafter \tex_expandafter:D +\name_primitive:NN \noexpand \tex_noexpand:D +\name_primitive:NN \begingroup \tex_begingroup:D +\name_primitive:NN \endgroup \tex_endgroup:D +\name_primitive:NN \halign \tex_halign:D +\name_primitive:NN \valign \tex_valign:D +\name_primitive:NN \cr \tex_cr:D +\name_primitive:NN \crcr \tex_crcr:D +\name_primitive:NN \noalign \tex_noalign:D +\name_primitive:NN \omit \tex_omit:D +\name_primitive:NN \span \tex_span:D +\name_primitive:NN \tabskip \tex_tabskip:D +\name_primitive:NN \everycr \tex_everycr:D +\name_primitive:NN \if \tex_if:D +\name_primitive:NN \ifcase \tex_ifcase:D +\name_primitive:NN \ifcat \tex_ifcat:D +\name_primitive:NN \ifnum \tex_ifnum:D +\name_primitive:NN \ifodd \tex_ifodd:D +\name_primitive:NN \ifdim \tex_ifdim:D +\name_primitive:NN \ifeof \tex_ifeof:D +\name_primitive:NN \ifhbox \tex_ifhbox:D +\name_primitive:NN \ifvbox \tex_ifvbox:D +\name_primitive:NN \ifvoid \tex_ifvoid:D +\name_primitive:NN \ifx \tex_ifx:D +\name_primitive:NN \iffalse \tex_iffalse:D +\name_primitive:NN \iftrue \tex_iftrue:D +\name_primitive:NN \ifhmode \tex_ifhmode:D +\name_primitive:NN \ifmmode \tex_ifmmode:D +\name_primitive:NN \ifvmode \tex_ifvmode:D +\name_primitive:NN \ifinner \tex_ifinner:D +\name_primitive:NN \else \tex_else:D +\name_primitive:NN \fi \tex_fi:D +\name_primitive:NN \or \tex_or:D +\name_primitive:NN \immediate \tex_immediate:D +\name_primitive:NN \closeout \tex_closeout:D +\name_primitive:NN \openin \tex_openin:D +\name_primitive:NN \openout \tex_openout:D +\name_primitive:NN \read \tex_read:D +\name_primitive:NN \write \tex_write:D +\name_primitive:NN \closein \tex_closein:D +\name_primitive:NN \newlinechar \tex_newlinechar:D +\name_primitive:NN \input \tex_input:D +\name_primitive:NN \endinput \tex_endinput:D +\name_primitive:NN \inputlineno \tex_inputlineno:D +\name_primitive:NN \errmessage \tex_errmessage:D +\name_primitive:NN \message \tex_message:D +\name_primitive:NN \show \tex_show:D +\name_primitive:NN \showthe \tex_showthe:D +\name_primitive:NN \showbox \tex_showbox:D +\name_primitive:NN \showlists \tex_showlists:D +\name_primitive:NN \errhelp \tex_errhelp:D +\name_primitive:NN \errorcontextlines \tex_errorcontextlines:D +\name_primitive:NN \tracingcommands \tex_tracingcommands:D +\name_primitive:NN \tracinglostchars \tex_tracinglostchars:D +\name_primitive:NN \tracingmacros \tex_tracingmacros:D +\name_primitive:NN \tracingonline \tex_tracingonline:D +\name_primitive:NN \tracingoutput \tex_tracingoutput:D +\name_primitive:NN \tracingpages \tex_tracingpages:D +\name_primitive:NN \tracingparagraphs \tex_tracingparagraphs:D +\name_primitive:NN \tracingrestores \tex_tracingrestores:D +\name_primitive:NN \tracingstats \tex_tracingstats:D +\name_primitive:NN \pausing \tex_pausing:D +\name_primitive:NN \showboxbreadth \tex_showboxbreadth:D +\name_primitive:NN \showboxdepth \tex_showboxdepth:D +\name_primitive:NN \batchmode \tex_batchmode:D +\name_primitive:NN \errorstopmode \tex_errorstopmode:D +\name_primitive:NN \nonstopmode \tex_nonstopmode:D +\name_primitive:NN \scrollmode \tex_scrollmode:D +\name_primitive:NN \end \tex_end:D +\name_primitive:NN \csname \tex_csname:D +\name_primitive:NN \endcsname \tex_endcsname:D +\name_primitive:NN \ignorespaces \tex_ignorespaces:D +\name_primitive:NN \relax \tex_relax:D +\name_primitive:NN \the \tex_the:D +\name_primitive:NN \mag \tex_mag:D +\name_primitive:NN \language \tex_language:D +\name_primitive:NN \mark \tex_mark:D +\name_primitive:NN \topmark \tex_topmark:D +\name_primitive:NN \firstmark \tex_firstmark:D +\name_primitive:NN \botmark \tex_botmark:D +\name_primitive:NN \splitfirstmark \tex_splitfirstmark:D +\name_primitive:NN \splitbotmark \tex_splitbotmark:D +\name_primitive:NN \fontname \tex_fontname:D +\name_primitive:NN \escapechar \tex_escapechar:D +\name_primitive:NN \endlinechar \tex_endlinechar:D +\name_primitive:NN \mathchoice \tex_mathchoice:D +\name_primitive:NN \delimiter \tex_delimiter:D +\name_primitive:NN \mathaccent \tex_mathaccent:D +\name_primitive:NN \mathchar \tex_mathchar:D +\name_primitive:NN \mskip \tex_mskip:D +\name_primitive:NN \radical \tex_radical:D +\name_primitive:NN \vcenter \tex_vcenter:D +\name_primitive:NN \mkern \tex_mkern:D +\name_primitive:NN \above \tex_above:D +\name_primitive:NN \abovewithdelims \tex_abovewithdelims:D +\name_primitive:NN \atop \tex_atop:D +\name_primitive:NN \atopwithdelims \tex_atopwithdelims:D +\name_primitive:NN \over \tex_over:D +\name_primitive:NN \overwithdelims \tex_overwithdelims:D +\name_primitive:NN \displaystyle \tex_displaystyle:D +\name_primitive:NN \textstyle \tex_textstyle:D +\name_primitive:NN \scriptstyle \tex_scriptstyle:D +\name_primitive:NN \scriptscriptstyle \tex_scriptscriptstyle:D +\name_primitive:NN \eqno \tex_eqno:D +\name_primitive:NN \leqno \tex_leqno:D +\name_primitive:NN \abovedisplayshortskip \tex_abovedisplayshortskip:D +\name_primitive:NN \abovedisplayskip \tex_abovedisplayskip:D +\name_primitive:NN \belowdisplayshortskip \tex_belowdisplayshortskip:D +\name_primitive:NN \belowdisplayskip \tex_belowdisplayskip:D +\name_primitive:NN \displaywidowpenalty \tex_displaywidowpenalty:D +\name_primitive:NN \displayindent \tex_displayindent:D +\name_primitive:NN \displaywidth \tex_displaywidth:D +\name_primitive:NN \everydisplay \tex_everydisplay:D +\name_primitive:NN \predisplaysize \tex_predisplaysize:D +\name_primitive:NN \predisplaypenalty \tex_predisplaypenalty:D +\name_primitive:NN \postdisplaypenalty \tex_postdisplaypenalty:D +\name_primitive:NN \mathbin \tex_mathbin:D +\name_primitive:NN \mathclose \tex_mathclose:D +\name_primitive:NN \mathinner \tex_mathinner:D +\name_primitive:NN \mathop \tex_mathop:D +\name_primitive:NN \displaylimits \tex_displaylimits:D +\name_primitive:NN \limits \tex_limits:D +\name_primitive:NN \nolimits \tex_nolimits:D +\name_primitive:NN \mathopen \tex_mathopen:D +\name_primitive:NN \mathord \tex_mathord:D +\name_primitive:NN \mathpunct \tex_mathpunct:D +\name_primitive:NN \mathrel \tex_mathrel:D +\name_primitive:NN \overline \tex_overline:D +\name_primitive:NN \underline \tex_underline:D +\name_primitive:NN \left \tex_left:D +\name_primitive:NN \right \tex_right:D +\name_primitive:NN \binoppenalty \tex_binoppenalty:D +\name_primitive:NN \relpenalty \tex_relpenalty:D +\name_primitive:NN \delimitershortfall \tex_delimitershortfall:D +\name_primitive:NN \delimiterfactor \tex_delimiterfactor:D +\name_primitive:NN \nulldelimiterspace \tex_nulldelimiterspace:D +\name_primitive:NN \everymath \tex_everymath:D +\name_primitive:NN \mathsurround \tex_mathsurround:D +\name_primitive:NN \medmuskip \tex_medmuskip:D +\name_primitive:NN \thinmuskip \tex_thinmuskip:D +\name_primitive:NN \thickmuskip \tex_thickmuskip:D +\name_primitive:NN \scriptspace \tex_scriptspace:D +\name_primitive:NN \noboundary \tex_noboundary:D +\name_primitive:NN \accent \tex_accent:D +\name_primitive:NN \char \tex_char:D +\name_primitive:NN \discretionary \tex_discretionary:D +\name_primitive:NN \hfil \tex_hfil:D +\name_primitive:NN \hfilneg \tex_hfilneg:D +\name_primitive:NN \hfill \tex_hfill:D +\name_primitive:NN \hskip \tex_hskip:D +\name_primitive:NN \hss \tex_hss:D +\name_primitive:NN \vfil \tex_vfil:D +\name_primitive:NN \vfilneg \tex_vfilneg:D +\name_primitive:NN \vfill \tex_vfill:D +\name_primitive:NN \vskip \tex_vskip:D +\name_primitive:NN \vss \tex_vss:D +\name_primitive:NN \unskip \tex_unskip:D +\name_primitive:NN \kern \tex_kern:D +\name_primitive:NN \unkern \tex_unkern:D +\name_primitive:NN \hrule \tex_hrule:D +\name_primitive:NN \vrule \tex_vrule:D +\name_primitive:NN \leaders \tex_leaders:D +\name_primitive:NN \cleaders \tex_cleaders:D +\name_primitive:NN \xleaders \tex_xleaders:D +\name_primitive:NN \lastkern \tex_lastkern:D +\name_primitive:NN \lastskip \tex_lastskip:D +\name_primitive:NN \indent \tex_indent:D +\name_primitive:NN \par \tex_par:D +\name_primitive:NN \noindent \tex_noindent:D +\name_primitive:NN \vadjust \tex_vadjust:D +\name_primitive:NN \baselineskip \tex_baselineskip:D +\name_primitive:NN \lineskip \tex_lineskip:D +\name_primitive:NN \lineskiplimit \tex_lineskiplimit:D +\name_primitive:NN \clubpenalty \tex_clubpenalty:D +\name_primitive:NN \widowpenalty \tex_widowpenalty:D +\name_primitive:NN \exhyphenpenalty \tex_exhyphenpenalty:D +\name_primitive:NN \hyphenpenalty \tex_hyphenpenalty:D +\name_primitive:NN \linepenalty \tex_linepenalty:D +\name_primitive:NN \doublehyphendemerits \tex_doublehyphendemerits:D +\name_primitive:NN \finalhyphendemerits \tex_finalhyphendemerits:D +\name_primitive:NN \adjdemerits \tex_adjdemerits:D +\name_primitive:NN \hangafter \tex_hangafter:D +\name_primitive:NN \hangindent \tex_hangindent:D +\name_primitive:NN \parshape \tex_parshape:D +\name_primitive:NN \hsize \tex_hsize:D +\name_primitive:NN \lefthyphenmin \tex_lefthyphenmin:D +\name_primitive:NN \righthyphenmin \tex_righthyphenmin:D +\name_primitive:NN \leftskip \tex_leftskip:D +\name_primitive:NN \rightskip \tex_rightskip:D +\name_primitive:NN \looseness \tex_looseness:D +\name_primitive:NN \parskip \tex_parskip:D +\name_primitive:NN \parindent \tex_parindent:D +\name_primitive:NN \uchyph \tex_uchyph:D +\name_primitive:NN \emergencystretch \tex_emergencystretch:D +\name_primitive:NN \pretolerance \tex_pretolerance:D +\name_primitive:NN \tolerance \tex_tolerance:D +\name_primitive:NN \spaceskip \tex_spaceskip:D +\name_primitive:NN \xspaceskip \tex_xspaceskip:D +\name_primitive:NN \everypar \tex_everypar:D +\name_primitive:NN \prevgraf \tex_prevgraf:D +\name_primitive:NN \spacefactor \tex_spacefactor:D +\name_primitive:NN \shipout \tex_shipout:D +\name_primitive:NN \vsize \tex_vsize:D +\name_primitive:NN \interlinepenalty \tex_interlinepenalty:D +\name_primitive:NN \brokenpenalty \tex_brokenpenalty:D +\name_primitive:NN \topskip \tex_topskip:D +\name_primitive:NN \maxdeadcycles \tex_maxdeadcycles:D +\name_primitive:NN \maxdepth \tex_maxdepth:D +\name_primitive:NN \output \tex_output:D +\name_primitive:NN \deadcycles \tex_deadcycles:D +\name_primitive:NN \pagedepth \tex_pagedepth:D +\name_primitive:NN \pagestretch \tex_pagestretch:D +\name_primitive:NN \pagefilstretch \tex_pagefilstretch:D +\name_primitive:NN \pagefillstretch \tex_pagefillstretch:D +\name_primitive:NN \pagefilllstretch \tex_pagefilllstretch:D +\name_primitive:NN \pageshrink \tex_pageshrink:D +\name_primitive:NN \pagegoal \tex_pagegoal:D +\name_primitive:NN \pagetotal \tex_pagetotal:D +\name_primitive:NN \outputpenalty \tex_outputpenalty:D +\name_primitive:NN \hoffset \tex_hoffset:D +\name_primitive:NN \voffset \tex_voffset:D +\name_primitive:NN \insert \tex_insert:D +\name_primitive:NN \holdinginserts \tex_holdinginserts:D +\name_primitive:NN \floatingpenalty \tex_floatingpenalty:D +\name_primitive:NN \insertpenalties \tex_insertpenalties:D +\name_primitive:NN \lower \tex_lower:D +\name_primitive:NN \moveleft \tex_moveleft:D +\name_primitive:NN \moveright \tex_moveright:D +\name_primitive:NN \raise \tex_raise:D +\name_primitive:NN \copy \tex_copy:D +\name_primitive:NN \lastbox \tex_lastbox:D +\name_primitive:NN \vsplit \tex_vsplit:D +\name_primitive:NN \unhbox \tex_unhbox:D +\name_primitive:NN \unhcopy \tex_unhcopy:D +\name_primitive:NN \unvbox \tex_unvbox:D +\name_primitive:NN \unvcopy \tex_unvcopy:D +\name_primitive:NN \setbox \tex_setbox:D +\name_primitive:NN \hbox \tex_hbox:D +\name_primitive:NN \vbox \tex_vbox:D +\name_primitive:NN \vtop \tex_vtop:D +\name_primitive:NN \prevdepth \tex_prevdepth:D +\name_primitive:NN \badness \tex_badness:D +\name_primitive:NN \hbadness \tex_hbadness:D +\name_primitive:NN \vbadness \tex_vbadness:D +\name_primitive:NN \hfuzz \tex_hfuzz:D +\name_primitive:NN \vfuzz \tex_vfuzz:D +\name_primitive:NN \overfullrule \tex_overfullrule:D +\name_primitive:NN \boxmaxdepth \tex_boxmaxdepth:D +\name_primitive:NN \splitmaxdepth \tex_splitmaxdepth:D +\name_primitive:NN \splittopskip \tex_splittopskip:D +\name_primitive:NN \everyhbox \tex_everyhbox:D +\name_primitive:NN \everyvbox \tex_everyvbox:D +\name_primitive:NN \nullfont \tex_nullfont:D +\name_primitive:NN \textfont \tex_textfont:D +\name_primitive:NN \scriptfont \tex_scriptfont:D +\name_primitive:NN \scriptscriptfont \tex_scriptscriptfont:D +\name_primitive:NN \fontdimen \tex_fontdimen:D +\name_primitive:NN \hyphenchar \tex_hyphenchar:D +\name_primitive:NN \skewchar \tex_skewchar:D +\name_primitive:NN \defaulthyphenchar \tex_defaulthyphenchar:D +\name_primitive:NN \defaultskewchar \tex_defaultskewchar:D +\name_primitive:NN \number \tex_number:D +\name_primitive:NN \romannumeral \tex_romannumeral:D +\name_primitive:NN \string \tex_string:D +\name_primitive:NN \lowercase \tex_lowercase:D +\name_primitive:NN \uppercase \tex_uppercase:D +\name_primitive:NN \meaning \tex_meaning:D +\name_primitive:NN \penalty \tex_penalty:D +\name_primitive:NN \unpenalty \tex_unpenalty:D +\name_primitive:NN \lastpenalty \tex_lastpenalty:D +\name_primitive:NN \special \tex_special:D +\name_primitive:NN \dump \tex_dump:D +\name_primitive:NN \patterns \tex_patterns:D +\name_primitive:NN \hyphenation \tex_hyphenation:D +\name_primitive:NN \time \tex_time:D +\name_primitive:NN \day \tex_day:D +\name_primitive:NN \month \tex_month:D +\name_primitive:NN \year \tex_year:D +\name_primitive:NN \jobname \tex_jobname:D +\name_primitive:NN \everyjob \tex_everyjob:D +\name_primitive:NN \count \tex_count:D +\name_primitive:NN \dimen \tex_dimen:D +\name_primitive:NN \skip \tex_skip:D +\name_primitive:NN \toks \tex_toks:D +\name_primitive:NN \muskip \tex_muskip:D +\name_primitive:NN \box \tex_box:D +\name_primitive:NN \wd \tex_wd:D +\name_primitive:NN \ht \tex_ht:D +\name_primitive:NN \dp \tex_dp:D +\name_primitive:NN \catcode \tex_catcode:D +\name_primitive:NN \delcode \tex_delcode:D +\name_primitive:NN \sfcode \tex_sfcode:D +\name_primitive:NN \lccode \tex_lccode:D +\name_primitive:NN \uccode \tex_uccode:D +\name_primitive:NN \mathcode \tex_mathcode:D +\tex_def:D\CodeStart{% + \tex_catcode:D `\ =9\tex_relax:D + \tex_catcode:D `\^^M=9\tex_relax:D + \tex_catcode:D `\^^I=9\tex_relax:D + \tex_catcode:D `\~=10\tex_relax:D + \tex_catcode:D `\@=11\tex_relax:D % For LaTeX2e + \tex_catcode:D `\_=11\tex_relax:D + \tex_catcode:D `\:=11\tex_relax:D} +\tex_def:D\CodeStop{ + \tex_catcode:D `\ =10\tex_relax:D + \tex_catcode:D `\^^M=5\tex_relax:D + \tex_catcode:D `\^^I=10\tex_relax:D + \tex_catcode:D `\~=13\tex_relax:D + \tex_catcode:D `\@=12\tex_relax:D % For LaTeX2e + \tex_catcode:D `\_=8\tex_relax:D + \tex_catcode:D `\:=12\tex_relax:D} +\tex_let:D\tex_input:D \@@input +\tex_let:D\tex_underline:D \@@underline +\tex_let:D\tex_end:D \@@end +\tex_let:D\tex_everymath:D \frozen@everymath +\tex_let:D\tex_everydisplay:D \frozen@everydisplay +\tex_let:D\tex_italiccor:D \@@italiccorr +\tex_let:D\tex_hyphen:D \@@hyph +\tex_let:D\par \tex_par:D +\tex_def:D\ProvidesPackage{ + \tex_begingroup:D + \CodeStop + \package_provides:w} +\tex_def:D\package_provides:w#1#2[#3]{ + \tex_endgroup:D + \tex_immediate:D\tex_write:D-1{Package: #1#2 #3} + \tex_expandafter:D\tex_xdef:D + \tex_csname:D ver@#1.sty\tex_endcsname:D{}} +\tex_ifx:D\name_undefine:N\@gobble + \tex_def:D\name_pop_stack:w{} + \g@addto@macro\@popfilename{% + \tex_ifnum:D12=\tex_the:D\tex_catcode:D`@ + \CodeStop + \tex_fi:D} + \g@addto@macro\@pushfilename{\CodeStart} +\tex_else:D +\tex_def:D\name_pop_stack:w#1\relax{% + \CodeStop + \tex_expandafter:D\@p@pfilename\@currnamestack\@nil + \tex_let:D\default@ds\@unknownoptionerror + \tex_global:D\tex_let:D\ds@\@empty + \tex_global:D\tex_let:D\@declaredoptions\@empty} +\tex_def:D\@p@pfilename#1#2#3#4\@nil{% + \tex_gdef:D\@currname{#1}% + \tex_gdef:D\@currext{#2}% + \tex_catcode:D`\@#3% + \tex_gdef:D\@currnamestack{#4}} + \tex_def:D\NeedsTeXFormat#1{} + \tex_def:D\RequirePackage#1{ + \tex_expandafter:D\tex_ifx:D + \tex_csname:D ver@#1.sty\tex_endcsname:D\tex_relax:D + \CodeStart + \tex_input:D#1.sty\tex_relax:D + \tex_fi:D} +\tex_fi:D +\tex_futurelet:D\name_tmp:\name_pop_stack:w +%% +%% +%% End of file `l3names.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3precom.sty b/Master/texmf-dist/tex/latex/expl3/l3precom.sty new file mode 100644 index 00000000000..f1ccdd9086d --- /dev/null +++ b/Master/texmf-dist/tex/latex/expl3/l3precom.sty @@ -0,0 +1,115 @@ +%% +%% This is file `l3precom.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3precom.dtx (with options: `package,precompile,trace') +%% +%% +%% 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: l3precom.dtx Copyright (C) 1990-1998 LaTeX3 project +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{l3precom} + [1998/04/20 v1.0b L3 Experimental precompilation module] +\RequirePackage{l3int} +\RequirePackage{l3io} +\RequirePackage{l3seq} +\iow_new:N\c_cs_dump_stream +\tlp_new:Nn\g_cs_dump_name_tlp{} +\seq_new:N\g_cs_dump_seq +\def_new:Npn\cs_record_name:N#1{ + \seq_gput_left:Nn + \g_cs_trace_seq#1 + \seq_gput_left:Nn + \g_cs_dump_seq#1} +\def_new:Npn\cs_record_name:c{\exp_args:Nc\cs_record_name:N} +\def_new:Npn\cs_dump:{ + \iow_expanded_term:n{Precompiling~style~into~(\g_cs_dump_name_tlp)} + \iow_open:Nn\c_cs_dump_stream{\g_cs_dump_name_tlp} + \iow_expanded:Nn\c_cs_dump_stream + {\group_begin: + \tex_catcode:D`\token_to_string:N\*=11\scan_stop: + \token_to_string:N\CodeStart + } + \seq_map_inline:Nn + \g_cs_dump_seq + {\tex_message:D{.} + \iow_expanded:Nn\c_cs_dump_stream + {\token_to_string:N\gdef:Npn + \token_to_string:N##1 + {\tlp_to_str:N##1}} + } + \iow_expanded:Nn + \c_cs_dump_stream + {\token_to_string:N\fint_gset:Nn + \g_gen_sym_fint + {\fint_use:N\g_gen_sym_fint}^^J + \token_to_string:N\fint_gset:Nn + \g_ggen_sym_fint + {\fint_use:N\g_ggen_sym_fint}} + \iow_expanded:Nn + \c_cs_dump_stream + {\group_end:} + \iow_close:N\c_cs_dump_stream + \tex_message:D{~finished} +} +\def_new:Npn\cs_load_dump:n#1{ + \file_not_found:nTF{#1.cmp} + {\tlp_gset:Nn\g_cs_dump_name_tlp{#1.cmp}} + {\input{#1.cmp} + \let:NN\cs_dump:\fi: + \if_false:}} +\fint_new:N\g_gen_sym_fint +\fint_gset:Nn\g_gen_sym_fint{0} +\fint_new:N\g_ggen_sym_fint +\fint_gset:Nn\g_ggen_sym_fint{0} +\def_new:Npn\cs_gen_sym:N#1{ + \fint_gincr:N\g_gen_sym_fint + \tlp_set:Nc#1{l*\tex_romannumeral:D\fint_use:N\g_gen_sym_fint} + \exp_after:NN\cs_record_name:N#1 + \exp_after:NN\tlp_clear_new:N#1} +\def_new:Npn\cs_ggen_sym:N#1{ + \fint_gincr:N\g_ggen_sym_fint + \tlp_set:Nc#1{g*\tex_romannumeral:D\fint_use:N\g_ggen_sym_fint} + \exp_after:NN\cs_record_name:N#1 + \exp_after:NN\tlp_clear_new:N#1} +\seq_new:N\g_cs_trace_seq +\seq_new:N\g_register_trace_seq +\def:Npn\cs_record_meaning:N#1{ + \seq_gput_left:Nn + \g_cs_trace_seq#1} +\def:Npn\register_record_name:N#1{ + \seq_gput_left:Nn + \g_register_trace_seq#1} +\def_new:Npn\dumpLaTeXstate#1{ + \iow_expanded_term:n{Dumping~commands~into~(#1.dmp)} + \iow_open:Nn\c_cs_dump_stream{#1.dmp} + \seq_map_inline:Nn + \g_cs_trace_seq + {\tex_message:D{.} + \iow_expanded:Nn\c_cs_dump_stream + {\token_to_string:N##1~ + \token_to_meaning:N##1} + } + \tex_message:D{~registers} + \seq_map_inline:Nn + \g_register_trace_seq + {\tex_message:D{.} + \iow_expanded:Nn\c_cs_dump_stream + {\token_to_string:N##1 + \the_internal:D##1} + } + \tex_message:D{~finished} +} + +%% +%% +%% End of file `l3precom.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3prop.sty b/Master/texmf-dist/tex/latex/expl3/l3prop.sty new file mode 100644 index 00000000000..4959cf2a949 --- /dev/null +++ b/Master/texmf-dist/tex/latex/expl3/l3prop.sty @@ -0,0 +1,91 @@ +%% +%% This is file `l3prop.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3prop.dtx (with options: `package,trace') +%% +%% +%% 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: l3prop.dtx Copyright (C) 1990-1998 LaTeX3 project +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{l3prop} + [1998/05/04 v1.0e L3 Experimental Property Lists] +\RequirePackage{l3seq}\par +\let_new:NN \prop_new:N \seq_new:N +\let_new:NN \prop_new:O \seq_new:O +\let_new:NN \prop_new:c \seq_new:c +\let_new:NN \prop_clear:N \seq_clear:N +\let_new:NN \prop_gclear:N \seq_gclear:N +\def_long_new:Npn \prop_split_aux:NNn #1#2#3{ + \def:Npn \tmp:w ##1#2##2##3\q_stop {#3{##1}{##2}{##3}} + \exp_after:NN\tmp:w #1#2\q_no_value \q_stop} +\def_long_new:Npn \prop_get:NNN #1#2{\prop_split_aux:NNn + #1#2\prop_get_aux:w} +\def_long_new:Npn \prop_get_aux:w #1#2#3#4{\tlp_set:Nn#4{#2}} +\def_long_new:Npn \prop_gget:NNN #1#2{\prop_split_aux:NNn + #1#2\prop_gget_aux:w} +\def_long_new:Npn \prop_gget_aux:w #1#2#3#4{\tlp_gset:Nn#4{#2}} +\def_long_new:Npn \prop_get_gdel:NNN #1#2#3{\prop_split_aux:NNn + #1#2{\prop_get_del_aux:w #3{\tlp_gset:Nn #1}#2}} +\def_long_new:Npn \prop_get_del_aux:w #1#2#3#4#5#6{ + \tlp_set:Nn #1{#5} + \quark_if_no_value:NF#1 + {\def:Npn \tmp:w ##1#3\q_no_value {#2{#4##1}} + \tmp:w #6}} +\def_long_new:Npn \prop_put:NNn #1#2{\prop_split_aux:NNn + #1#2{\prop_put_aux:w {\tlp_set:Nn #1}#2}} +\def_long_new:Npn \prop_gput:NNn #1#2{\prop_split_aux:NNn + #1#2{\prop_put_aux:w {\tlp_gset:Nn #1}#2}} +\def_new:Npn \prop_gput:NNo {\exp_args:NNNo \prop_gput:NNn} +\def_new:Npn \prop_gput:NOx {\exp_args:Nnox \prop_gput:NNn} +\def_new:Npn \prop_gput:NNx {\exp_args:Nnnx \prop_gput:NNn} +\def_new:Npn \prop_gput:NOo {\exp_args:NNOo \prop_gput:NNn} +\def_new:Npn \prop_gput:OOo {\exp_args:NOOo \prop_gput:NNn} +\def_new:Npn \prop_gput:ccn {\exp_args:Ncc \prop_gput:NNn} +\def_new:Npn \prop_gput:ccx {\exp_args:Nccx \prop_gput:NNn} +\def_long_new:Npn \prop_put_aux:w #1#2#3#4#5#6{ + \quark_if_no_value:nTF {#4} + {#1{#2{#6}#3}} + {\def:Npn \tmp:w ##1#2\q_no_value {#1{#3#2{#6}##1}} + \tmp:w #5}} +\def_long_new:Npn \prop_del:NN #1#2{\prop_split_aux:NNn + #1#2{\prop_del_aux:w {\tlp_set:Nn #1}#2}} +\def_long_new:Npn \prop_gdel:NN #1#2{\prop_split_aux:NNn + #1#2{\prop_del_aux:w {\tlp_gset:Nn #1}#2}} +\def_long_new:Npn \prop_del_aux:w #1#2#3#4#5{\quark_if_no_value:nF {#4} + {\def:Npn \tmp:w ##1#2\q_no_value {#1{#3##1}}\tmp:w #5}} +\def_new:Npn \prop_if_in:NNTF #1#2{\prop_split_aux:NNn + #1#2\prop_if_in_aux:w} +\def_new:Npn \prop_if_in:NOTF {\exp_args:Nno \prop_if_in:NNTF} +\def_new:Npn \prop_if_in_aux:w #1#2#3{\quark_if_no_value:nTF {#2}} +\def_long_new:Npn \prop_gput_if_new:NNn #1#2{\prop_split_aux:NNn #1#2 + {\prop_put_if_new_aux:w #1#2}} +\def_long_new:Npn \prop_put_if_new_aux:w #1#2#3#4#5#6{ + \quark_if_no_value:nT {#4}{#1{#2{#6}#3}}} +\let_new:NN\prop_set_eq:NN\tlp_set_eq:NN +\let_new:NN \prop_empty:NTF \tlp_empty:NTF +\let_new:NN \prop_map_funct:Nn \use_none:nn +\def_new:Npn \prop_map:NN #1#2{ + \let:NN \prop_map_funct:Nn #2 + \exp_after:NN\prop_map_aux:w #1\q_stop \q_stop} +\def_new:Npn \prop_map_aux:w #1#2{ + \if_meaning:NN#1\q_stop \else: + \prop_map_funct:Nn #1{#2} + \exp_after:NN\prop_map_aux:w + \fi:} +\def_new:Npn \prop_map:cN { \exp_args:Nc \prop_map:NN } +\let_new:NN \prop_map_inline:Nn \ERROR +\let_new:NN \prop_map_inline:cn \ERROR + +%% +%% +%% End of file `l3prop.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3quark.sty b/Master/texmf-dist/tex/latex/expl3/l3quark.sty new file mode 100644 index 00000000000..a4bb2fbf985 --- /dev/null +++ b/Master/texmf-dist/tex/latex/expl3/l3quark.sty @@ -0,0 +1,46 @@ +%% +%% This is file `l3quark.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3quark.dtx (with options: `package,trace') +%% +%% +%% 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: l3quark.dtx Copyright (C) 1990-1998 LaTeX3 project +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{l3quark} + [1998/05/20 v1.0e L3 Experimental Quark Commands] +\RequirePackage{l3expan}\par +\def_new:Npn \quark_new:N #1{\tlp_new:Nn #1{#1}} +\quark_new:N \q_stop +\quark_new:N \q_no_value +\quark_new:N \q_nil +\quark_new:N\q_error +\quark_new:N\q_mark +\def_new:Npn \quark_if_no_value:NTF #1{ + \if_meaning:NN\q_no_value#1 + \exp_after:NN\use_choice_i:nn + \else: \exp_after:NN\use_choice_ii:nn \fi:} +\def_new:Npn \quark_if_no_value:NF #1{\quark_if_no_value:NTF {#1}\use_noop:} +\def_new:Npn \quark_if_no_value:nTF #1{\tlp_gset:Nn \g_testa_tlp {#1} + \quark_if_no_value:NTF\g_testa_tlp} +\def_new:Npn \quark_if_no_value:nF #1{\quark_if_no_value:nTF {#1}\use_noop:} +\def_new:Npn \quark_if_no_value:nT #1#2{\quark_if_no_value:nTF {#1} + {#2}\use_noop:} +\def_new:Npn\quark_if_nil:NTF#1{ + \if_meaning:NN#1\q_nil + \exp_after:NN\use_choice_i:nn + \else: + \exp_after:NN\use_choice_ii:nn\fi:} +%% +%% +%% End of file `l3quark.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3seq.sty b/Master/texmf-dist/tex/latex/expl3/l3seq.sty new file mode 100644 index 00000000000..f2856e4366e --- /dev/null +++ b/Master/texmf-dist/tex/latex/expl3/l3seq.sty @@ -0,0 +1,121 @@ +%% +%% This is file `l3seq.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3seq.dtx (with options: `package,trace') +%% +%% +%% 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: l3seq.dtx Copyright (C) 1990-1998 LaTeX3 project +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{l3seq} + [1998/04/20 v1.0d L3 Experimental Token List Pointers] +\RequirePackage{l3toks} +\RequirePackage{l3quark} +\RequirePackage{l3expan} +\let_new:NN \seq_elt:w \use_noop: +\let_new:NN \seq_elt_end: \use_noop: +\def_new:Npn \seq_new:N #1{\tlp_new:Nn #1{}} +\def_new:Npn \seq_new:c {\exp_args:Nc \seq_new:N} +\def_new:Npn \seq_new:O {\exp_args:No \seq_new:N} +\let_new:NN \seq_clear:N \tlp_clear:N +\let_new:NN \seq_clear:c \tlp_clear:c +\let_new:NN \seq_gclear:N \tlp_gclear:N +\let_new:NN \seq_gclear:c \tlp_gclear:c +\let_new:NN \seq_clear_new:N \tlp_clear_new:N +\let_new:NN \seq_clear_new:c \tlp_clear_new:c +\let_new:NN \seq_gclear_new:N \tlp_gclear_new:N +\let_new:NN \seq_gclear_new:c \tlp_gclear_new:c +\let_new:NN \seq_empty_p:N \tlp_empty_p:N +\def_new:Npn \seq_empty:NTF #1{ + \if_meaning:NN#1\c_empty_tlp + \exp_after:NN\use_choice_i:nn + \else: \exp_after:NN\use_choice_ii:nn \fi:} +\def_new:Npn \seq_empty:cTF {\exp_args:Nc\seq_empty:NTF} +\def_new:Npn \seq_empty:NF #1{ + \if_meaning:NN#1\c_empty_tlp \exp_after:NN\use_none:n + \else: \exp_after:NN\use:n \fi:} +\def_new:Npn \seq_empty:cF {\exp_args:Nc\seq_empty:NF} +\def_new:Npn \seq_empty_err:N #1{\if_meaning:NN#1\c_empty_tlp + \tlp_clear:N \l_testa_tlp % catch prefixes + \err_latex_bug:n{Empty~sequence~`\token_to_string:N#1'}\fi:} +\def_new:Npn \seq_get:NN #1{ + \seq_empty_err:N #1 + \exp_after:NN\seq_get_aux:w #1\q_stop} +\def_new:Npn \seq_get_aux:w \seq_elt:w #1\seq_elt_end: + #2\q_stop #3{\tlp_set:Nn #3{#1}} +\def_new:Npn \seq_get:cN {\exp_args:Nc \seq_get:NN} +\def_new:Npn \seq_pop_aux:nnNN #1#2#3{ + \seq_empty_err:N #3 + \exp_after:NN\seq_pop_aux:w #3\q_stop #1#2#3} +\def_new:Npn \seq_pop_aux:w \seq_elt:w #1\seq_elt_end: + #2\q_stop #3#4#5#6{#3#5{#2}#4#6{#1}} +\def_new:Npn \seq_put_aux:Nnn #1{ + \exp_after:NN\seq_put_aux:w #1\q_stop #1} +\def_new:Npn \seq_put_aux:w #1\q_stop #2#3#4{\tlp_set:Nn #2{#3#1#4}} +\def_new:Npn \seq_put_left:Nn #1#2{ + \seq_put_aux:Nnn #1{\seq_elt:w #2\seq_elt_end:}{}} +\def_new:Npn \seq_put_left:cn {\exp_args:Nc\seq_put_left:Nn} +\def_new:Npn \seq_put_left:No {\exp_args:NNo\seq_put_left:Nn} +\def_new:Npn \seq_put_left:Nx {\exp_args:Nnx\seq_put_left:Nn} +\def_new:Npn \seq_put_right:Nn #1#2{ + \seq_put_aux:Nnn #1{}{\seq_elt:w #2\seq_elt_end:}} +\def_new:Npn \seq_put_right:No {\exp_args:Nno\seq_put_right:Nn} +\def_new:Npn \seq_put_right:Nx {\exp_args:Nnx\seq_put_right:Nn} +\def_new:Npn \seq_gput_left:Nn { + \seq_put_left:Nn} +\def_new:Npn \seq_gput_right:Nn { + \seq_put_right:Nn} +\def_new:Npn \seq_gput_right:No {\exp_args:NNo \seq_gput_right:Nn} +\def_new:Npn \seq_gput_right:cn {\exp_args:Nc \seq_gput_right:Nn} +\def_new:Npn \seq_gput_right:co {\exp_args:Nco \seq_gput_right:Nn} +\def_new:Npn \seq_gput_right:cc {\exp_args:Ncc \seq_gput_right:Nn} +\def_new:Npn \seq_map:NN #1#2{ + \def:Npn \seq_elt:w ##1\seq_elt_end: {#2{##1}}#1} +\def_new:Npn \seq_map_inline:Nn #1#2{ + \gdef:Npn \seq_elt:w ##1\seq_elt_end: {#2}#1} +\def_new:Npn \seq_map_inline:cn{\exp_args:Nc\seq_map_inline:Nn} +\def_new:Npn \seq_gconcat:NNN #1#2#3{ + \l_tmpa_toks \exp_after:NN{#2} + \l_tmpb_toks \exp_after:NN{#3} + \gdef:Npx #1{\toks_use:N \l_tmpa_toks \toks_use:N \l_tmpb_toks}} +\def_new:Npn \seq_gconcat:ccc{\exp_args:Nccc\seq_gconcat:NNN} +\def_new:Npn \seq_if_in:NnTF #1#2{ + \def:Npn\tmp:w + ##1\seq_elt:w #2\seq_elt_end: ##2##3\q_stop{ + \if_meaning:NN\q_no_value##2 + \exp_after:NN\use_choice_ii:nn + \else: + \exp_after:NN\use_choice_i:nn + \fi: + } + \exp_after:NN + \tmp:w #1\seq_elt:w + #2\seq_elt_end: \q_no_value \q_stop} +\def_new:Npn \seq_if_in:coTF {\exp_args:Nco \seq_if_in:NnTF} +\def_new:Npn \seq_if_in:cnTF {\exp_args:Nc \seq_if_in:NnTF} +\let_new:NN \seq_push:Nn \seq_put_left:Nn +\let_new:NN \seq_push:No \seq_put_left:No +\let_new:NN \seq_push:cn \seq_put_left:cn +\def_new:Npn \seq_pop:NN {\seq_pop_aux:nnNN \tlp_set:Nn \tlp_set:Nn} +\def_new:Npn \seq_pop:cN {\exp_args:Nc \seq_pop:NN} +\let_new:NN \seq_gpush:Nn \seq_gput_left:Nn +\def_new:Npn \seq_gpush:No {\exp_args:NNo \seq_gpush:Nn} +\def_new:Npn \seq_gpush:cn {\exp_args:Nc \seq_gpush:Nn} +\def_new:Npn \seq_gpop:NN {\seq_pop_aux:nnNN \tlp_gset:Nn \tlp_set:Nn} +\def_new:Npn \seq_gpop:cN {\exp_args:Nc \seq_gpop:NN} +\let_new:NN \seq_top:NN \seq_get:NN +\let_new:NN \seq_top:cN \seq_get:cN + +%% +%% +%% End of file `l3seq.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3tlp.sty b/Master/texmf-dist/tex/latex/expl3/l3tlp.sty new file mode 100644 index 00000000000..8c7dbfc9339 --- /dev/null +++ b/Master/texmf-dist/tex/latex/expl3/l3tlp.sty @@ -0,0 +1,97 @@ +%% +%% This is file `l3tlp.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3tlp.dtx (with options: `package,trace') +%% +%% +%% 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: l3tlp.dtx Copyright (C) 1990-1998 LaTeX3 project +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{l3tlp} + [1998/04/20 v1.0d L3 Experimental Token List Pointers] +\RequirePackage{l3basics}\par + \let_new:NN\tlp_new:Nn\gdef:Npn +\def_long_new:Npn \tlp_clear:N #1{\tlp_set_eq:NN #1\c_empty_tlp} +\def_long_new:Npn \tlp_gclear:N #1{\tlp_gset_eq:NN #1\c_empty_tlp} +\def_new:Npn \tlp_clear:c {\exp_args:Nc \tlp_clear:N} +\def_new:Npn \tlp_gclear:c {\exp_args:Nc \tlp_gclear:N} +\let_new:NN \tlp_clear_new:N \tlp_clear:N +\def_long_new:Npn \tlp_clear_new:c {\exp_args:Nc \tlp_clear_new:N} +\let_new:NN \tlp_gclear_new:N \tlp_gclear:N +\def_long_new:Npn \tlp_gclear_new:c {\exp_args:Nc \tlp_gclear_new:N} +\def_long_new:Npn \tlp_put_left:Nn #1{\exp_after:NN + \tlp_put_left:aux\exp_after:NN{#1}#1} +\def_new:Npn\tlp_put_left:No{\exp_args:NNo\tlp_put_left:Nn} +\def_long_new:Npn \tlp_gput_left:Nn { + \pref_global:D + \tlp_put_left:Nn} +\def_new:Npn\tlp_gput_left:No{\exp_args:NNo\tlp_gput_left:Nn} +\def_long_new:Npn \tlp_put_left:aux #1#2#3{\def:Npn #2{#3#1} +} +\def_long_new:Npn \tlp_put_right:Nn #1#2{\tlp_set:No #1{#1#2}} +\def_long_new:Npn \tlp_gput_right:Nn #1#2{\tlp_gset:No #1{#1#2}} +\def_new:Npn \tlp_gput_right:No {\exp_args:NNo \tlp_gput_right:Nn} +\def_new:Npn \tlp_gput_right:Nx {\exp_args:NNx \tlp_gput_right:Nn} +\def_new:Npn \tlp_put_right:cc {\exp_args:Ncc \tlp_put_right:Nn} +\def_new:Npn \tlp_put_right:No {\exp_args:NNo \tlp_put_right:Nn} +\def_new:Npn \tlp_put_right:Nx {\exp_args:Nnx \tlp_put_right:Nn} + \def_new:Npn\tlp_set:Nn#1#2{\def:Npn#1{#2}} + \def_new:Npn\tlp_set:Nx#1#2{\def:Npx#1{#2}} + \def_new:Npn\tlp_gset:Nn#1#2{\gdef:Npn#1{#2}} + \def_new:Npn\tlp_gset:Nx#1#2{\gdef:Npx#1{#2}} + \let_new:NN\tlp_set:No\def:No + \let_new:NN\tlp_gset:No\gdef:No + \let_new:NN\tlp_set_eq:NN\let:NwN + \let_new:NN\tlp_gset_eq:NN\glet:NN +\def_new:Npn \tlp_gset:Nc { + \pref_global:D + \tlp_set:Nc} +\def_new:Npn \tlp_set:Nc #1#2{\tlp_set:No #1{\cs:w#2\cs_end:}} +\def_new:Npn \tlp_empty_p:N #1{ + \if_meaning:NN#1\c_empty_tlp \c_true \else: \c_false \fi:} +\def_new:Npn \tlp_empty:NF #1{ + \if_meaning:NN#1\c_empty_tlp + \exp_after:NN\use_none:nn + \fi: + \use:n} +\def_new:Npn \tlp_empty:NTF #1{ + \if_meaning:NN#1\c_empty_tlp + \exp_after:NN\use_choice_i:nn + \else: + \exp_after:NN\use_choice_ii:nn + \fi:} +\def_new:Npn \tlp_eq:NNF #1#2{ + \if_meaning:NN#1#2 + \exp_after:NN\use_none:nn + \fi: + \use:n} +\tlp_new:Nn \c_empty_tlp {} +\tlp_new:Nn \c_relax_tlp {\scan_stop:} + +\tlp_new:Nn \g_tmpa_tlp{} +\tlp_new:Nn \g_tmpb_tlp{} + +\tlp_new:Nn \l_testa_tlp {} +\tlp_new:Nn \l_testb_tlp {} +\tlp_new:Nn \g_testa_tlp {} +\tlp_new:Nn \g_testb_tlp {} + +\tlp_new:Nn \l_tmpa_tlp{} +\tlp_new:Nn \l_tmpb_tlp{} +\def_new:Npn \tlp_to_str:N {\exp_after:NN\tlp_to_str:aux + \token_to_meaning:N} +\def_new:Npn \tlp_to_str:aux #1>{} +\def_new:Npn\tlp_to_str:c{\exp_args:Nc\tlp_to_str:N} +%% +%% +%% End of file `l3tlp.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3toks.sty b/Master/texmf-dist/tex/latex/expl3/l3toks.sty new file mode 100644 index 00000000000..3db8ed5adbb --- /dev/null +++ b/Master/texmf-dist/tex/latex/expl3/l3toks.sty @@ -0,0 +1,73 @@ +%% +%% This is file `l3toks.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3toks.dtx (with options: `package,trace') +%% +%% +%% 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: l3toks.dtx Copyright (C) 1990-1998 LaTeX3 project +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{l3toks} + [1998/05/14 v1.0g L3 Experimental Token Registers] +\RequirePackage{l3expan}\par +\def_new:Npn \toks_new:N {} +\let:NN \toks_new:N \newtoks % nick from LaTeX for the moment +\def_new:Npn \toks_clear:N #1{#1\c_empty_toks +} +\def_new:Npn \toks_gclear:N { + \pref_global:D + \toks_clear:N} +\let_new:NN \toks_use:N \the_internal:D +\def_new:Npn \toks_use_clear:N#1{ + \exp_after:NN + \toks_clear:N + \exp_after:NN + #1 + \toks_use:N#1} +\def_new:Npn \toks_use_gclear:N{ + \pref_global:D + \toks_use_clear:N} +\def_new:Npn \toks_put_left:Nn #1{\exp_after:NN\toks_put_left_aux:w + \toks_use:N #1\q_stop #1} +\def_new:Npn \toks_gput_left:Nn { + \pref_global:D + \toks_put_left:Nn} +\def_long_new:Npn \toks_put_left_aux:w #1\q_stop #2#3{#2{#3#1} +} +\def_long_new:Npn \toks_put_right:Nn #1#2{#1\exp_after:NN{\toks_use:N #1#2} +} +\def_new:Npn \toks_gput_right:Nn { + \pref_global:D + \toks_put_right:Nn} +\def_new:Npn \toks_gput_right:Nx {\exp_args:Nnx\toks_gput_right:Nn} + \let_new:NN \toks_set:Nn\use_noop: +\def_new:Npn \toks_set:No {\exp_args:NNo \toks_set:Nn} +\def_new:Npn \toks_set:Nx {\exp_args:NNx \toks_set:Nn} + \let_new:NN \toks_gset:Nn\pref_global:D +\def_new:Npn \toks_gset:No {\exp_args:NNo \toks_gset:Nn} +\def_new:Npn \toks_gset:Nx {\exp_args:NNx \toks_gset:Nn} + \let_new:NN \toks_set_eq:NN \use_noop: + \let_new:NN \toks_gset_eq:NN \pref_global:D +\def_new:Npn\toks_empty:NTF#1{ + \tlp_set:No\l_testa_tlp{\toks_use:N#1} + \tlp_empty:NTF\l_testa_tlp} +\tex_toksdef:D \l_tmpa_toks = 255 +\toks_new:N \l_tmpb_toks +\toks_new:N \l_tmpc_toks +\toks_new:N \g_tmpa_toks +\toks_new:N \g_tmpb_toks +\toks_new:N \g_tmpc_toks +\toks_new:N \c_empty_toks +%% +%% +%% End of file `l3toks.sty'. -- cgit v1.2.3