diff options
author | Karl Berry <karl@freefriends.org> | 2011-07-31 18:29:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-07-31 18:29:08 +0000 |
commit | 332d583e34cb464fadc271aac86368fc71af2c40 (patch) | |
tree | 24afad6e2f2915364873082b6bfad0bad04ba5bf /Master/texmf-dist/tex/latex | |
parent | ed6913bb5d71e9779f8714d469d5903b9d328020 (diff) |
rm expl3, now l3kernel
git-svn-id: svn://tug.org/texlive/trunk@23285 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
29 files changed, 0 insertions, 13575 deletions
diff --git a/Master/texmf-dist/tex/latex/expl3/expl3.sty b/Master/texmf-dist/tex/latex/expl3/expl3.sty deleted file mode 100644 index d9ade26fef4..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/expl3.sty +++ /dev/null @@ -1,151 +0,0 @@ -%% -%% 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-2009 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: expl3.dtx 2222 2011-04-09 12:47:12Z will $ - {L3 Experimental code bundle wrapper}% -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\RequirePackage{etex} -\reserveinserts{32} -\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, - l3int, - l3quark, - l3seq, - l3toks, - l3prg, - l3clist, - l3token, - l3prop, - l3msg, - l3io, - l3skip -} -\RequirePackage{ - l3box, - l3keyval, - l3keys, - l3precom, - l3xref, - l3file, - l3fp, - l3luatex, -} -\RequirePackage{calc} -\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: \\ - \c_space_tl \c_space_tl \tl_set:Nn #1 ~ - \iow_char:N \{ ~ ... ~ \iow_char:N \} \\ - without~first~having: \\ - \c_space_tl \c_space_tl \tl_new:N #1 \\ - \\ - LaTeX~will~create~the~variable~and~continue. - } -} -\tex_ifodd:D \@l@expl@check@declarations@bool \scan_stop: - \cs_set_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 - } -\tex_fi:D -%% -%% -%% End of file `expl3.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3basics.sty b/Master/texmf-dist/tex/latex/expl3/l3basics.sty deleted file mode 100644 index f5a32767b56..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3basics.sty +++ /dev/null @@ -1,754 +0,0 @@ -%% -%% 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-2011 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3basics.dtx 2246 2011-04-23 08:01:25Z joseph $ - {L3 Experimental basic definitions} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\tex_let:D \cs_set_eq:NwN \tex_let:D -\cs_set_eq:NwN \if_true: \tex_iftrue:D -\cs_set_eq:NwN \if_false: \tex_iffalse:D -\cs_set_eq:NwN \or: \tex_or:D -\cs_set_eq:NwN \else: \tex_else:D -\cs_set_eq:NwN \fi: \tex_fi:D -\cs_set_eq:NwN \reverse_if:N \etex_unless:D -\cs_set_eq:NwN \if:w \tex_if:D -\cs_set_eq:NwN \if_bool:N \tex_ifodd:D -\cs_set_eq:NwN \if_predicate:w \tex_ifodd:D -\cs_set_eq:NwN \if_charcode:w \tex_if:D -\cs_set_eq:NwN \if_catcode:w \tex_ifcat:D -\cs_set_eq:NwN \if_meaning:w \tex_ifx:D -\cs_set_eq:NwN \if_mode_math: \tex_ifmmode:D -\cs_set_eq:NwN \if_mode_horizontal: \tex_ifhmode:D -\cs_set_eq:NwN \if_mode_vertical: \tex_ifvmode:D -\cs_set_eq:NwN \if_mode_inner: \tex_ifinner:D -\cs_set_eq:NwN \if_cs_exist:N \etex_ifdefined:D -\cs_set_eq:NwN \if_cs_exist:w \etex_ifcsname:D -\cs_set_eq:NwN \exp_after:wN \tex_expandafter:D -\cs_set_eq:NwN \exp_not:N \tex_noexpand:D -\cs_set_eq:NwN \exp_not:n \etex_unexpanded:D -\cs_set_eq:NwN \iow_shipout_x:Nn \tex_write:D -\cs_set_eq:NwN \token_to_meaning:N \tex_meaning:D -\cs_set_eq:NwN \token_to_str:N \tex_string:D -\cs_set_eq:NwN \cs:w \tex_csname:D -\cs_set_eq:NwN \cs_end: \tex_endcsname:D -\cs_set_eq:NwN \cs_meaning:N \tex_meaning:D -\tex_def:D \cs_meaning:c {\exp_args:Nc\cs_meaning:N} -\cs_set_eq:NwN \cs_show:N \tex_show:D -\tex_def:D \cs_show:c {\exp_args:Nc\cs_show:N} -\tex_def:D \token_to_str:c {\exp_args:Nc\token_to_str:N} -\cs_set_eq:NwN \scan_stop: \tex_relax:D -\cs_set_eq:NwN \group_begin: \tex_begingroup:D -\cs_set_eq:NwN \group_end: \tex_endgroup:D -\cs_set_eq:NwN \group_execute_after:N \tex_aftergroup:D -\cs_set_eq:NwN \pref_global:D \tex_global:D -\cs_set_eq:NwN \pref_long:D \tex_long:D -\cs_set_eq:NwN \pref_protected:D \etex_protected:D -\cs_set_eq:NwN \cs_set_nopar:Npn \tex_def:D -\cs_set_eq:NwN \cs_set_nopar:Npx \tex_edef:D -\pref_protected:D \cs_set_nopar:Npn \cs_set:Npn { - \pref_long:D \cs_set_nopar:Npn -} -\pref_protected:D \cs_set_nopar:Npn \cs_set:Npx { - \pref_long:D \cs_set_nopar:Npx -} -\pref_protected:D \cs_set_nopar:Npn \cs_set_protected_nopar:Npn { - \pref_protected:D \cs_set_nopar:Npn -} -\pref_protected:D \cs_set_nopar:Npn \cs_set_protected_nopar:Npx { - \pref_protected:D \cs_set_nopar:Npx -} -\cs_set_protected_nopar:Npn \cs_set_protected:Npn { - \pref_protected:D \pref_long:D \cs_set_nopar:Npn -} -\cs_set_protected_nopar:Npn \cs_set_protected:Npx { - \pref_protected:D \pref_long:D \cs_set_nopar:Npx -} -\cs_set_eq:NwN \cs_gset_nopar:Npn \tex_gdef:D -\cs_set_eq:NwN \cs_gset_nopar:Npx \tex_xdef:D -\cs_set_protected_nopar:Npn \cs_gset:Npn { - \pref_long:D \cs_gset_nopar:Npn -} -\cs_set_protected_nopar:Npn \cs_gset:Npx { - \pref_long:D \cs_gset_nopar:Npx -} -\cs_set_protected_nopar:Npn \cs_gset_protected_nopar:Npn { - \pref_protected:D \cs_gset_nopar:Npn -} -\cs_set_protected_nopar:Npn \cs_gset_protected_nopar:Npx { - \pref_protected:D \cs_gset_nopar:Npx -} -\cs_set_protected_nopar:Npn \cs_gset_protected:Npn { - \pref_protected:D \pref_long:D \cs_gset_nopar:Npn -} -\cs_set_protected_nopar:Npn \cs_gset_protected:Npx { - \pref_protected:D \pref_long:D \cs_gset_nopar:Npx -} -\cs_set:Npn \use:c #1 { \cs:w#1\cs_end: } -\cs_set_protected:Npn \use:x #1 { - \group_begin: - \cs_set:Npx \cs_tmp: {#1} - \exp_after:wN - \group_end: - \cs_tmp: -} -\cs_set:Npn \use:n #1 {#1} -\cs_set:Npn \use:nn #1#2 {#1#2} -\cs_set:Npn \use:nnn #1#2#3 {#1#2#3} -\cs_set:Npn \use:nnnn #1#2#3#4 {#1#2#3#4} -\cs_set:Npn \use_i:nn #1#2 {#1} -\cs_set:Npn \use_ii:nn #1#2 {#2} -\cs_set:Npn \use_i:nnn #1#2#3{#1} -\cs_set:Npn \use_ii:nnn #1#2#3{#2} -\cs_set:Npn \use_iii:nnn #1#2#3{#3} -\cs_set:Npn \use_i:nnnn #1#2#3#4{#1} -\cs_set:Npn \use_ii:nnnn #1#2#3#4{#2} -\cs_set:Npn \use_iii:nnnn #1#2#3#4{#3} -\cs_set:Npn \use_iv:nnnn #1#2#3#4{#4} -\cs_set:Npn \use_i_ii:nnn #1#2#3{#1#2} -\cs_set:Npn \use_none_delimit_by_q_nil:w #1\q_nil{} -\cs_set:Npn \use_none_delimit_by_q_stop:w #1\q_stop{} -\cs_set:Npn \use_none_delimit_by_q_recursion_stop:w #1 \q_recursion_stop {} -\cs_set:Npn \use_i_delimit_by_q_nil:nw #1#2\q_nil{#1} -\cs_set:Npn \use_i_delimit_by_q_stop:nw #1#2\q_stop{#1} -\cs_set:Npn \use_i_delimit_by_q_recursion_stop:nw #1#2 \q_recursion_stop {#1} -\cs_set:Npn \use_i_after_fi:nw #1\fi:{\fi: #1} -\cs_set:Npn \use_i_after_else:nw #1\else:#2\fi:{\fi: #1} -\cs_set:Npn \use_i_after_or:nw #1\or: #2\fi: {\fi:#1} -\cs_set:Npn \use_i_after_orelse:nw #1 #2#3\fi: {\fi:#1} -\cs_set:Npn \use_none:n #1{} -\cs_set:Npn \use_none:nn #1#2{} -\cs_set:Npn \use_none:nnn #1#2#3{} -\cs_set:Npn \use_none:nnnn #1#2#3#4{} -\cs_set:Npn \use_none:nnnnn #1#2#3#4#5{} -\cs_set:Npn \use_none:nnnnnn #1#2#3#4#5#6{} -\cs_set:Npn \use_none:nnnnnnn #1#2#3#4#5#6#7{} -\cs_set:Npn \use_none:nnnnnnnn #1#2#3#4#5#6#7#8{} -\cs_set:Npn \use_none:nnnnnnnnn #1#2#3#4#5#6#7#8#9{} -\cs_set:Npn \exp_args:Nc #1#2{\exp_after:wN#1\cs:w#2\cs_end:} -\cs_set_nopar:Npn \prg_return_true: - { \exp_after:wN \use_i:nn \tex_romannumeral:D } -\cs_set_nopar:Npn \prg_return_false: - { \exp_after:wN \use_ii:nn \tex_romannumeral:D } -\cs_set_protected:Npn \prg_set_conditional:Npnn #1{ - \prg_get_parm_aux:nw{ - \cs_split_function:NN #1 \prg_generate_conditional_aux:nnNNnnnn - \cs_set:Npn {parm} - } -} -\cs_set_protected:Npn \prg_new_conditional:Npnn #1{ - \prg_get_parm_aux:nw{ - \cs_split_function:NN #1 \prg_generate_conditional_aux:nnNNnnnn - \cs_new:Npn {parm} - } -} -\cs_set_protected:Npn \prg_set_protected_conditional:Npnn #1{ - \prg_get_parm_aux:nw{ - \cs_split_function:NN #1 \prg_generate_conditional_aux:nnNNnnnn - \cs_set_protected:Npn {parm} - } -} -\cs_set_protected:Npn \prg_new_protected_conditional:Npnn #1{ - \prg_get_parm_aux:nw{ - \cs_split_function:NN #1 \prg_generate_conditional_aux:nnNNnnnn - \cs_new_protected:Npn {parm} - } -} -\cs_set_protected:Npn \prg_set_conditional:Nnn #1{ - \exp_args:Nnf \prg_get_count_aux:nn{ - \cs_split_function:NN #1 \prg_generate_conditional_aux:nnNNnnnn - \cs_set:Npn {count} - }{\cs_get_arg_count_from_signature:N #1} -} -\cs_set_protected:Npn \prg_new_conditional:Nnn #1{ - \exp_args:Nnf \prg_get_count_aux:nn{ - \cs_split_function:NN #1 \prg_generate_conditional_aux:nnNNnnnn - \cs_new:Npn {count} - }{\cs_get_arg_count_from_signature:N #1} -} - -\cs_set_protected:Npn \prg_set_protected_conditional:Nnn #1{ - \exp_args:Nnf \prg_get_count_aux:nn{ - \cs_split_function:NN #1 \prg_generate_conditional_aux:nnNNnnnn - \cs_set_protected:Npn {count} - }{\cs_get_arg_count_from_signature:N #1} -} - -\cs_set_protected:Npn \prg_new_protected_conditional:Nnn #1{ - \exp_args:Nnf \prg_get_count_aux:nn{ - \cs_split_function:NN #1 \prg_generate_conditional_aux:nnNNnnnn - \cs_new_protected:Npn {count} - }{\cs_get_arg_count_from_signature:N #1} -} -\cs_set_protected:Npn \prg_set_eq_conditional:NNn #1#2#3 { - \prg_set_eq_conditional_aux:NNNn \cs_set_eq:cc #1#2 {#3} -} -\cs_set_protected:Npn \prg_new_eq_conditional:NNn #1#2#3 { - \prg_set_eq_conditional_aux:NNNn \cs_new_eq:cc #1#2 {#3} -} -\cs_set:Npn \prg_get_count_aux:nn #1#2 {#1{#2}} -\cs_set:Npn \prg_get_parm_aux:nw #1#2#{#1{#2}} -\cs_set:Npn \prg_generate_conditional_aux:nnNNnnnn #1#2#3#4#5#6#7#8{ - \prg_generate_conditional_aux:nnw{#5}{ - #4{#1}{#2}{#6}{#8} - }#7,?, \q_recursion_stop -} -\cs_set:Npn \prg_generate_conditional_aux:nnw #1#2#3,{ - \if:w ?#3 - \exp_after:wN \use_none_delimit_by_q_recursion_stop:w - \fi: - \use:c{prg_generate_#3_form_#1:Nnnnn} #2 - \prg_generate_conditional_aux:nnw{#1}{#2} -} -\cs_set_protected:Npn \prg_generate_p_form_parm:Nnnnn #1#2#3#4#5 - { - \exp_args:Nc #1 { #2 _p: #3 } #4 - { - #5 \c_zero - \c_true_bool \c_false_bool - } - } -\cs_set_protected:Npn \prg_generate_T_form_parm:Nnnnn #1#2#3#4#5 - { - \exp_args:Nc #1 { #2 : #3 T } #4 - { - #5 \c_zero - \use:n \use_none:n - } - } -\cs_set_protected:Npn \prg_generate_F_form_parm:Nnnnn #1#2#3#4#5 - { - \exp_args:Nc #1 { #2 : #3 F } #4 - { - #5 \c_zero - { } - } - } -\cs_set_protected:Npn \prg_generate_TF_form_parm:Nnnnn #1#2#3#4#5 - { - \exp_args:Nc #1 { #2 : #3 TF } #4 - { #5 \c_zero } - } -\cs_set_protected:Npn \prg_generate_p_form_count:Nnnnn #1#2#3#4#5 - { - \cs_generate_from_arg_count:cNnn { #2 _p: #3 } #1 {#4} - { - #5 \c_zero - \c_true_bool \c_false_bool - } - } -\cs_set_protected:Npn \prg_generate_T_form_count:Nnnnn #1#2#3#4#5 - { - \cs_generate_from_arg_count:cNnn { #2 : #3 T } #1 {#4} - { - #5 \c_zero - \use:n \use_none:n - } - } -\cs_set_protected:Npn \prg_generate_F_form_count:Nnnnn #1#2#3#4#5 - { - \cs_generate_from_arg_count:cNnn { #2 : #3 F } #1 {#4} - { - #5 \c_zero - { } - } - } -\cs_set_protected:Npn \prg_generate_TF_form_count:Nnnnn #1#2#3#4#5 - { - \cs_generate_from_arg_count:cNnn { #2 : #3 TF } #1 {#4} - { #5 \c_zero } - } -\cs_set:Npn \prg_set_eq_conditional_aux:NNNn #1#2#3#4 { - \prg_set_eq_conditional_aux:NNNw #1#2#3#4,?,\q_recursion_stop -} -\cs_set:Npn \prg_set_eq_conditional_aux:NNNw #1#2#3#4, { - \if:w ? #4 \scan_stop: - \exp_after:wN \use_none_delimit_by_q_recursion_stop:w - \fi: - #1 { - \exp_args:NNc \cs_split_function:NN #2 {prg_conditional_form_#4:nnn} - }{ - \exp_args:NNc \cs_split_function:NN #3 {prg_conditional_form_#4:nnn} - } - \prg_set_eq_conditional_aux:NNNw #1{#2}{#3} -} -\cs_set:Npn \prg_conditional_form_p:nnn #1#2#3 {#1_p:#2} -\cs_set:Npn \prg_conditional_form_TF:nnn #1#2#3 {#1:#2TF} -\cs_set:Npn \prg_conditional_form_T:nnn #1#2#3 {#1:#2T} -\cs_set:Npn \prg_conditional_form_F:nnn #1#2#3 {#1:#2F} -\tex_chardef:D \c_true_bool = 1~ -\tex_chardef:D \c_false_bool = 0~ -\cs_set:Npn \cs_to_str:N - { - \tex_if:D \tex_romannumeral:D - `0 \token_to_str:N \ % - \cs_to_str_aux:w - \tex_fi:D - \exp_after:wN \use_none:n \token_to_str:N - } -\cs_set_nopar:Npn \cs_to_str_aux:w #1 \use_none:n - { ~ \tex_romannumeral:D - `0 \tex_fi:D } -\group_begin: - \tex_lccode:D `\@ = `\: \scan_stop: - \tex_catcode:D `\@ = 12~ -\tex_lowercase:D { - \group_end: -\cs_set:Npn \cs_split_function:NN #1#2{ - \exp_after:wN \cs_split_function_aux:w - \tex_romannumeral:D -`\q \cs_to_str:N #1 @a \q_stop #2 -} -\cs_set:Npn \cs_split_function_aux:w #1@#2#3\q_stop#4{ - \if_meaning:w a#2 - \exp_after:wN \use_i:nn - \else: - \exp_after:wN\use_ii:nn - \fi: - {#4{#1}{}\c_false_bool} - {\cs_split_function_auxii:w#2#3\q_stop #4{#1}} -} -\cs_set:Npn \cs_split_function_auxii:w #1@a\q_stop#2#3{ - #2{#3}{#1}\c_true_bool -} -} -\cs_set:Npn \cs_get_function_name:N #1 { - \cs_split_function:NN #1\use_i:nnn -} -\cs_set:Npn \cs_get_function_signature:N #1 { - \cs_split_function:NN #1\use_ii:nnn -} -\prg_set_conditional:Npnn \cs_if_exist:N #1 {p,TF,T,F}{ - \if_meaning:w #1\tex_relax:D - \prg_return_false: - \else: - \if_cs_exist:N #1 - \prg_return_true: - \else: - \prg_return_false: - \fi: - \fi: -} -\prg_set_conditional:Npnn \cs_if_exist:c #1 {p,TF,T,F}{ - \if_cs_exist:w #1 \cs_end: - \exp_after:wN \use_i:nn - \else: - \exp_after:wN \use_ii:nn - \fi: - { - \exp_after:wN \if_meaning:w \cs:w #1\cs_end: \tex_relax:D - \prg_return_false: - \else: - \prg_return_true: - \fi: - } - \prg_return_false: -} -\cs_set:Npn \cs_if_do_not_use_p:N #1{ - \cs_split_function:NN #1 \cs_if_do_not_use_aux:nnN -} -\cs_set:Npn \cs_if_do_not_use_aux:nnN #1#2#3{ - \str_if_eq_p:nn { D } {#2} -} -\prg_set_conditional:Npnn \cs_if_free:N #1{p,TF,T,F}{ - \tex_ifnum:D \cs_if_exist_p:N #1 =\c_zero - \exp_after:wN \use_i:nn - \else: - \exp_after:wN \use_ii:nn - \fi: - { - \tex_ifnum:D \cs_if_do_not_use_p:N #1 =\c_zero - \prg_return_true: - \else: - \prg_return_false: - \fi: - } - \prg_return_false: -} -\cs_set_nopar:Npn \cs_if_free_p:c{\exp_args:Nc\cs_if_free_p:N} -\cs_set_nopar:Npn \cs_if_free:cTF{\exp_args:Nc\cs_if_free:NTF} -\cs_set_nopar:Npn \cs_if_free:cT{\exp_args:Nc\cs_if_free:NT} -\cs_set_nopar:Npn \cs_if_free:cF{\exp_args:Nc\cs_if_free:NF} -\cs_set_eq:NwN \c_minus_one\m@ne -\tex_chardef:D \c_sixteen = 16~ -\tex_chardef:D \c_zero = 0~ -\tex_chardef:D \c_six = 6~ -\tex_chardef:D \c_seven = 7~ -\tex_chardef:D \c_twelve = 12~ -\tex_mathchardef:D \c_max_register_int = 32767 \tex_relax:D -\cs_set_protected_nopar:Npn \iow_log:x { - \tex_immediate:D \iow_shipout_x:Nn \c_minus_one -} -\cs_set_protected_nopar:Npn \iow_term:x { - \tex_immediate:D \iow_shipout_x:Nn \c_sixteen -} -\cs_set_protected_nopar:Npn \msg_kernel_bug:x #1 { - \iow_term:x { This~is~a~LaTeX~bug:~check~coding! } - \tex_errmessage:D {#1} -} -\cs_set:Npn \cs_record_meaning:N #1{} -\cs_set_protected_nopar:Npn \chk_if_free_cs:N #1{ - \cs_if_free:NF #1 - { - \msg_kernel_bug:x {Command~name~`\token_to_str:N #1'~already~defined!~ - Current~meaning: \\ \c_space_tl \c_space_tl \token_to_meaning:N #1 - } - } - \cs_record_meaning:N#1 - \iow_log:x{Defining~\token_to_str:N #1~on~ - line~\tex_the:D \tex_inputlineno:D} -} -\cs_set_protected_nopar:Npn \chk_if_free_cs:c { - \exp_args:Nc \chk_if_free_cs:N -} -\tex_ifodd:D \@l@expl@log@functions@bool \else - \cs_set_protected_nopar:Npn \chk_if_free_cs:N #1 { - \cs_if_free:NF #1 - { - \msg_kernel_bug:x - { - Command~name~`\token_to_str:N #1'~already~defined!~ - Current~meaning: \\ \c_space_tl \c_space_tl \token_to_meaning:N #1 - } - } - } -\fi -\cs_set_protected_nopar:Npn \chk_if_exist_cs:N #1 { - \cs_if_exist:NF #1 - { - \msg_kernel_bug:x {Command~ `\token_to_str:N #1'~ - not~ yet~ defined!} - } -} -\cs_set_protected_nopar:Npn \chk_if_exist_cs:c { - \exp_args:Nc \chk_if_exist_cs:N -} -\prg_set_conditional:Npnn \str_if_eq:nn #1#2 { p , T , F , TF } { - \tex_ifnum:D \pdf_strcmp:D - { \etex_unexpanded:D {#1} } { \etex_unexpanded:D {#2} } - = \c_zero - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_set_conditional:Npnn \str_if_eq:xx #1#2 { p , T , F , TF } { - \tex_ifnum:D \pdf_strcmp:D {#1} {#2} = \c_zero - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_set_conditional:Npnn \cs_if_eq_name:NN #1#2{p}{ - \str_if_eq_p:nn {#1} {#2} -} -\cs_set:Npn \cs_tmp:w #1#2 { - \cs_set_protected_nopar:Npn #1 ##1 - { - \chk_if_free_cs:N ##1 - #2 ##1 - } -} -\cs_tmp:w \cs_new_nopar:Npn \cs_gset_nopar:Npn -\cs_tmp:w \cs_new_nopar:Npx \cs_gset_nopar:Npx -\cs_tmp:w \cs_new:Npn \cs_gset:Npn -\cs_tmp:w \cs_new:Npx \cs_gset:Npx -\cs_tmp:w \cs_new_protected_nopar:Npn \cs_gset_protected_nopar:Npn -\cs_tmp:w \cs_new_protected_nopar:Npx \cs_gset_protected_nopar:Npx -\cs_tmp:w \cs_new_protected:Npn \cs_gset_protected:Npn -\cs_tmp:w \cs_new_protected:Npx \cs_gset_protected:Npx -\cs_set:Npn \cs_tmp:w #1#2{ - \cs_new_protected_nopar:Npn #1 { \exp_args:Nc #2 } -} -\cs_tmp:w \cs_set_nopar:cpn \cs_set_nopar:Npn -\cs_tmp:w \cs_set_nopar:cpx \cs_set_nopar:Npx -\cs_tmp:w \cs_gset_nopar:cpn \cs_gset_nopar:Npn -\cs_tmp:w \cs_gset_nopar:cpx \cs_gset_nopar:Npx -\cs_tmp:w \cs_new_nopar:cpn \cs_new_nopar:Npn -\cs_tmp:w \cs_new_nopar:cpx \cs_new_nopar:Npx -\cs_tmp:w \cs_set:cpn \cs_set:Npn -\cs_tmp:w \cs_set:cpx \cs_set:Npx -\cs_tmp:w \cs_gset:cpn \cs_gset:Npn -\cs_tmp:w \cs_gset:cpx \cs_gset:Npx -\cs_tmp:w \cs_new:cpn \cs_new:Npn -\cs_tmp:w \cs_new:cpx \cs_new:Npx -\cs_tmp:w \cs_set_protected_nopar:cpn \cs_set_protected_nopar:Npn -\cs_tmp:w \cs_set_protected_nopar:cpx \cs_set_protected_nopar:Npx -\cs_tmp:w \cs_gset_protected_nopar:cpn \cs_gset_protected_nopar:Npn -\cs_tmp:w \cs_gset_protected_nopar:cpx \cs_gset_protected_nopar:Npx -\cs_tmp:w \cs_new_protected_nopar:cpn \cs_new_protected_nopar:Npn -\cs_tmp:w \cs_new_protected_nopar:cpx \cs_new_protected_nopar:Npx -\cs_tmp:w \cs_set_protected:cpn \cs_set_protected:Npn -\cs_tmp:w \cs_set_protected:cpx \cs_set_protected:Npx -\cs_tmp:w \cs_gset_protected:cpn \cs_gset_protected:Npn -\cs_tmp:w \cs_gset_protected:cpx \cs_gset_protected:Npx -\cs_tmp:w \cs_new_protected:cpn \cs_new_protected:Npn -\cs_tmp:w \cs_new_protected:cpx \cs_new_protected:Npx -\cs_set_eq:NwN \cs_gnew_nopar:Npn \cs_new_nopar:Npn -\cs_set_eq:NwN \cs_gnew:Npn \cs_new:Npn -\cs_set_eq:NwN \cs_gnew_protected_nopar:Npn \cs_new_protected_nopar:Npn -\cs_set_eq:NwN \cs_gnew_protected:Npn \cs_new_protected:Npn -\cs_set_eq:NwN \cs_gnew_nopar:Npx \cs_new_nopar:Npx -\cs_set_eq:NwN \cs_gnew:Npx \cs_new:Npx -\cs_set_eq:NwN \cs_gnew_protected_nopar:Npx \cs_new_protected_nopar:Npx -\cs_set_eq:NwN \cs_gnew_protected:Npx \cs_new_protected:Npx -\cs_set_eq:NwN \cs_gnew_nopar:cpn \cs_new_nopar:cpn -\cs_set_eq:NwN \cs_gnew:cpn \cs_new:cpn -\cs_set_eq:NwN \cs_gnew_protected_nopar:cpn \cs_new_protected_nopar:cpn -\cs_set_eq:NwN \cs_gnew_protected:cpn \cs_new_protected:cpn -\cs_set_eq:NwN \cs_gnew_nopar:cpx \cs_new_nopar:cpx -\cs_set_eq:NwN \cs_gnew:cpx \cs_new:cpx -\cs_set_eq:NwN \cs_gnew_protected_nopar:cpx \cs_new_protected_nopar:cpx -\cs_set_eq:NwN \cs_gnew_protected:cpx \cs_new_protected:cpx -\cs_set_nopar:cpn{use_0_parameter:}{} -\cs_set_nopar:cpn{use_1_parameter:}{{##1}} -\cs_set_nopar:cpn{use_2_parameter:}{{##1}{##2}} -\cs_set_nopar:cpn{use_3_parameter:}{{##1}{##2}{##3}} -\cs_set_nopar:cpn{use_4_parameter:}{{##1}{##2}{##3}{##4}} -\cs_set_nopar:cpn{use_5_parameter:}{{##1}{##2}{##3}{##4}{##5}} -\cs_set_nopar:cpn{use_6_parameter:}{{##1}{##2}{##3}{##4}{##5}{##6}} -\cs_set_nopar:cpn{use_7_parameter:}{{##1}{##2}{##3}{##4}{##5}{##6}{##7}} -\cs_set_nopar:cpn{use_8_parameter:}{ - {##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}} -\cs_set_nopar:cpn{use_9_parameter:}{ - {##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}{##9}} -\cs_set_protected:Npn \cs_set_eq:NN #1 { \cs_set_eq:NwN #1=~ } -\cs_set_protected_nopar:Npn \cs_set_eq:cN { \exp_args:Nc \cs_set_eq:NN } -\cs_set_protected_nopar:Npn \cs_set_eq:Nc { \exp_args:NNc \cs_set_eq:NN } -\cs_set_protected_nopar:Npn \cs_set_eq:cc { \exp_args:Ncc \cs_set_eq:NN } -\cs_new_protected:Npn \cs_new_eq:NN #1 { - \chk_if_free_cs:N #1 - \pref_global:D \cs_set_eq:NN #1 -} -\cs_new_protected_nopar:Npn \cs_new_eq:cN { \exp_args:Nc \cs_new_eq:NN } -\cs_new_protected_nopar:Npn \cs_new_eq:Nc { \exp_args:NNc \cs_new_eq:NN } -\cs_new_protected_nopar:Npn \cs_new_eq:cc { \exp_args:Ncc \cs_new_eq:NN } -\cs_new_protected:Npn \cs_gset_eq:NN { \pref_global:D \cs_set_eq:NN } -\cs_new_protected_nopar:Npn \cs_gset_eq:Nc { \exp_args:NNc \cs_gset_eq:NN } -\cs_new_protected_nopar:Npn \cs_gset_eq:cN { \exp_args:Nc \cs_gset_eq:NN } -\cs_new_protected_nopar:Npn \cs_gset_eq:cc { \exp_args:Ncc \cs_gset_eq:NN } -\cs_set_eq:NN \cs_gnew_eq:NN \cs_new_eq:NN -\cs_set_eq:NN \cs_gnew_eq:cN \cs_new_eq:cN -\cs_set_eq:NN \cs_gnew_eq:Nc \cs_new_eq:Nc -\cs_set_eq:NN \cs_gnew_eq:cc \cs_new_eq:cc -\cs_new_protected_nopar:Npn \cs_undefine:N #1 { - \cs_set_eq:NN #1 \c_undefined:D -} -\cs_new_protected_nopar:Npn \cs_undefine:c #1 { - \cs_set_eq:cN {#1} \c_undefined:D -} -\cs_new_protected_nopar:Npn \cs_gundefine:N #1 { - \cs_gset_eq:NN #1 \c_undefined:D -} -\cs_new_protected_nopar:Npn \cs_gundefine:c #1 { - \cs_gset_eq:cN {#1} \c_undefined:D -} -\cs_new_nopar:Npn \kernel_register_show:N #1 { - \cs_if_exist:NTF #1 - { - \tex_showthe:D #1 - } - { - \msg_kernel_bug:x {Register~ `\token_to_str:N #1'~ is~ not~ defined.} - } -} -\cs_new_nopar:Npn \kernel_register_show:c { \exp_args:Nc \int_show:N } -\cs_if_exist:NTF \xetex_version:D - { \cs_new_eq:NN \c_xetex_is_engine_bool \c_true_bool } - { \cs_new_eq:NN \c_xetex_is_engine_bool \c_false_bool } -\prg_new_conditional:Npnn \xetex_if_engine: {TF,T,F} { - \if_bool:N \c_xetex_is_engine_bool - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_if_exist:NTF \luatex_directlua:D - { \cs_new_eq:NN \c_luatex_is_engine_bool \c_true_bool } - { \cs_new_eq:NN \c_luatex_is_engine_bool \c_false_bool } -\prg_set_conditional:Npnn \xetex_if_engine: {TF,T,F}{ - \if_bool:N \c_xetex_is_engine_bool \prg_return_true: - \else: \prg_return_false: \fi: -} -\prg_set_conditional:Npnn \luatex_if_engine: {TF,T,F}{ - \if_bool:N \c_luatex_is_engine_bool \prg_return_true: - \else: \prg_return_false: \fi: -} -\cs_new_nopar:Npn \prg_do_nothing: {} -\cs_set:Npn \cs_get_arg_count_from_signature:N #1{ - \cs_split_function:NN #1 \cs_get_arg_count_from_signature_aux:nnN -} -\cs_set:Npn \cs_get_arg_count_from_signature_aux:nnN #1#2#3{ - \if_predicate:w #3 % \bool_if:NTF here - \exp_after:wN \use_i:nn - \else: - \exp_after:wN\use_ii:nn - \fi: - { - \exp_after:wN \cs_get_arg_count_from_signature_auxii:w - \use_none:nnnnnnnnn #2 9876543210\q_stop - } - {-1} -} -\cs_set:Npn \cs_get_arg_count_from_signature_auxii:w #1#2\q_stop{#1} -\cs_set_nopar:Npn \cs_get_arg_count_from_signature:c { - \exp_args:Nc \cs_get_arg_count_from_signature:N -} -\cs_set:Npn \cs_generate_from_arg_count:NNnn #1#2#3#4{ - \tex_ifcase:D \etex_numexpr:D #3\tex_relax:D - \use_i_after_orelse:nw{#2#1} - \or: - \use_i_after_orelse:nw{#2#1 ##1} - \or: - \use_i_after_orelse:nw{#2#1 ##1##2} - \or: - \use_i_after_orelse:nw{#2#1 ##1##2##3} - \or: - \use_i_after_orelse:nw{#2#1 ##1##2##3##4} - \or: - \use_i_after_orelse:nw{#2#1 ##1##2##3##4##5} - \or: - \use_i_after_orelse:nw{#2#1 ##1##2##3##4##5##6} - \or: - \use_i_after_orelse:nw{#2#1 ##1##2##3##4##5##6##7} - \or: - \use_i_after_orelse:nw{#2#1 ##1##2##3##4##5##6##7##8} - \or: - \use_i_after_orelse:nw{#2#1 ##1##2##3##4##5##6##7##8##9} - \else: - \use_i_after_fi:nw{ - \cs_generate_from_arg_count_error_msg:Nn#1{#3} - \use_none:n % to remove replacement text - } - \fi: - {#4} -} -\cs_set_nopar:Npn \cs_generate_from_arg_count:cNnn { - \exp_args:Nc \cs_generate_from_arg_count:NNnn -} -\cs_set:Npn \cs_generate_from_arg_count_error_msg:Nn #1#2 { - \msg_kernel_bug:x { - You're~ trying~ to~ define~ the~ command~ `\token_to_str:N #1'~ - with~ \use:n{\tex_the:D\etex_numexpr:D #2\tex_relax:D} ~ - arguments~ but~ I~ only~ allow~ 0-9~arguments.~Perhaps~you~ - forgot~to~use~a~colon~in~the~function~name?~ - I~ can~ probably~ not~ help~ you~ here - } -} -\cs_set:Npn \cs_tmp:w #1#2#3{ - \cs_set_protected:cpx {cs_#1:#2}##1##2{ - \exp_not:N \cs_generate_from_arg_count:NNnn ##1 - \exp_after:wN \exp_not:N \cs:w cs_#1:#3 \cs_end: - {\exp_not:N\cs_get_arg_count_from_signature:N ##1}{##2} - } -} -\cs_tmp:w {set}{Nn}{Npn} -\cs_tmp:w {set}{Nx}{Npx} -\cs_tmp:w {set_nopar}{Nn}{Npn} -\cs_tmp:w {set_nopar}{Nx}{Npx} -\cs_tmp:w {set_protected}{Nn}{Npn} -\cs_tmp:w {set_protected}{Nx}{Npx} -\cs_tmp:w {set_protected_nopar}{Nn}{Npn} -\cs_tmp:w {set_protected_nopar}{Nx}{Npx} -\cs_tmp:w {gset}{Nn}{Npn} -\cs_tmp:w {gset}{Nx}{Npx} -\cs_tmp:w {gset_nopar}{Nn}{Npn} -\cs_tmp:w {gset_nopar}{Nx}{Npx} -\cs_tmp:w {gset_protected}{Nn}{Npn} -\cs_tmp:w {gset_protected}{Nx}{Npx} -\cs_tmp:w {gset_protected_nopar}{Nn}{Npn} -\cs_tmp:w {gset_protected_nopar}{Nx}{Npx} -\cs_tmp:w {new}{Nn}{Npn} -\cs_tmp:w {new}{Nx}{Npx} -\cs_tmp:w {new_nopar}{Nn}{Npn} -\cs_tmp:w {new_nopar}{Nx}{Npx} -\cs_tmp:w {new_protected}{Nn}{Npn} -\cs_tmp:w {new_protected}{Nx}{Npx} -\cs_tmp:w {new_protected_nopar}{Nn}{Npn} -\cs_tmp:w {new_protected_nopar}{Nx}{Npx} -\cs_set:Npn \cs_tmp:w #1#2#3{ - \cs_set_protected:cpx {cs_#1:#2}##1##2{ - \exp_not:N\cs_generate_from_arg_count:cNnn {##1} - \exp_after:wN \exp_not:N \cs:w cs_#1:#3 \cs_end: - {\exp_not:N\cs_get_arg_count_from_signature:c {##1}}{##2} - } -} -\cs_tmp:w {set}{cn}{Npn} -\cs_tmp:w {set}{cx}{Npx} -\cs_tmp:w {set_nopar}{cn}{Npn} -\cs_tmp:w {set_nopar}{cx}{Npx} -\cs_tmp:w {set_protected}{cn}{Npn} -\cs_tmp:w {set_protected}{cx}{Npx} -\cs_tmp:w {set_protected_nopar}{cn}{Npn} -\cs_tmp:w {set_protected_nopar}{cx}{Npx} -\cs_tmp:w {gset}{cn}{Npn} -\cs_tmp:w {gset}{cx}{Npx} -\cs_tmp:w {gset_nopar}{cn}{Npn} -\cs_tmp:w {gset_nopar}{cx}{Npx} -\cs_tmp:w {gset_protected}{cn}{Npn} -\cs_tmp:w {gset_protected}{cx}{Npx} -\cs_tmp:w {gset_protected_nopar}{cn}{Npn} -\cs_tmp:w {gset_protected_nopar}{cx}{Npx} -\cs_tmp:w {new}{cn}{Npn} -\cs_tmp:w {new}{cx}{Npx} -\cs_tmp:w {new_nopar}{cn}{Npn} -\cs_tmp:w {new_nopar}{cx}{Npx} -\cs_tmp:w {new_protected}{cn}{Npn} -\cs_tmp:w {new_protected}{cx}{Npx} -\cs_tmp:w {new_protected_nopar}{cn}{Npn} -\cs_tmp:w {new_protected_nopar}{cx}{Npx} -\prg_set_conditional:Npnn \cs_if_eq:NN #1#2{p,TF,T,F}{ - \if_meaning:w #1#2 - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_new_nopar:Npn \cs_if_eq_p:cN {\exp_args:Nc \cs_if_eq_p:NN} -\cs_new_nopar:Npn \cs_if_eq:cNTF {\exp_args:Nc \cs_if_eq:NNTF} -\cs_new_nopar:Npn \cs_if_eq:cNT {\exp_args:Nc \cs_if_eq:NNT} -\cs_new_nopar:Npn \cs_if_eq:cNF {\exp_args:Nc \cs_if_eq:NNF} -\cs_new_nopar:Npn \cs_if_eq_p:Nc {\exp_args:NNc \cs_if_eq_p:NN} -\cs_new_nopar:Npn \cs_if_eq:NcTF {\exp_args:NNc \cs_if_eq:NNTF} -\cs_new_nopar:Npn \cs_if_eq:NcT {\exp_args:NNc \cs_if_eq:NNT} -\cs_new_nopar:Npn \cs_if_eq:NcF {\exp_args:NNc \cs_if_eq:NNF} -\cs_new_nopar:Npn \cs_if_eq_p:cc {\exp_args:Ncc \cs_if_eq_p:NN} -\cs_new_nopar:Npn \cs_if_eq:ccTF {\exp_args:Ncc \cs_if_eq:NNTF} -\cs_new_nopar:Npn \cs_if_eq:ccT {\exp_args:Ncc \cs_if_eq:NNT} -\cs_new_nopar:Npn \cs_if_eq:ccF {\exp_args:Ncc \cs_if_eq:NNF} -%% -%% -%% End of file `l3basics.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3box.sty b/Master/texmf-dist/tex/latex/expl3/l3box.sty deleted file mode 100644 index f96675fe755..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3box.sty +++ /dev/null @@ -1,195 +0,0 @@ -%% -%% This is file `l3box.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3box.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: l3box.dtx Copyright (C) 2005-2011 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3box.dtx 2223 2011-04-09 12:57:14Z will $ - {L3 Experimental Box module} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\cs_new_protected:Npn \box_new:N #1 { - \chk_if_free_cs:N #1 - \newbox #1 -} -\cs_generate_variant:Nn \box_new:N {c} -\cs_new_eq:NN \if_hbox:N \tex_ifhbox:D -\cs_new_eq:NN \if_vbox:N \tex_ifvbox:D -\cs_new_eq:NN \if_box_empty:N \tex_ifvoid:D -\prg_new_conditional:Nnn \box_if_horizontal:N {p,TF,T,F} { - \tex_ifhbox:D #1 \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \box_if_vertical:N {p,TF,T,F} { - \tex_ifvbox:D #1 \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_generate_variant:Nn \box_if_horizontal_p:N {c} -\cs_generate_variant:Nn \box_if_horizontal:NTF {c} -\cs_generate_variant:Nn \box_if_horizontal:NT {c} -\cs_generate_variant:Nn \box_if_horizontal:NF {c} -\cs_generate_variant:Nn \box_if_vertical_p:N {c} -\cs_generate_variant:Nn \box_if_vertical:NTF {c} -\cs_generate_variant:Nn \box_if_vertical:NT {c} -\cs_generate_variant:Nn \box_if_vertical:NF {c} -\prg_new_conditional:Nnn \box_if_empty:N {p,TF,T,F} { - \tex_ifvoid:D #1 \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_generate_variant:Nn \box_if_empty_p:N {c} -\cs_generate_variant:Nn \box_if_empty:NTF {c} -\cs_generate_variant:Nn \box_if_empty:NT {c} -\cs_generate_variant:Nn \box_if_empty:NF {c} -\cs_new_protected_nopar:Npn \box_set_eq:NN #1#2 {\tex_setbox:D #1 \tex_copy:D #2} -\cs_generate_variant:Nn \box_set_eq:NN {cN,Nc,cc} -\cs_new_protected_nopar:Npn \box_set_eq_clear:NN #1#2 {\tex_setbox:D #1 \tex_box:D #2} -\cs_generate_variant:Nn \box_set_eq_clear:NN {cN,Nc,cc} -\cs_new_protected_nopar:Npn \box_gset_eq:NN {\pref_global:D\box_set_eq:NN} -\cs_generate_variant:Nn \box_gset_eq:NN {cN,Nc,cc} -\cs_new_protected_nopar:Npn \box_gset_eq_clear:NN {\pref_global:D\box_set_eq_clear:NN} -\cs_generate_variant:Nn \box_gset_eq_clear:NN {cN,Nc,cc} -\cs_new_eq:NN \l_last_box \tex_lastbox:D -\cs_new_protected_nopar:Npn \box_set_to_last:N #1{\tex_setbox:D#1\l_last_box} -\cs_generate_variant:Nn \box_set_to_last:N {c} -\cs_new_protected_nopar:Npn \box_gset_to_last:N {\pref_global:D \box_set_to_last:N} -\cs_generate_variant:Nn \box_gset_to_last:N {c} -\cs_new:Npn \box_move_left:nn #1#2{\tex_moveleft:D\dim_eval:n{#1} #2} -\cs_new:Npn \box_move_right:nn #1#2{\tex_moveright:D\dim_eval:n{#1} #2} -\cs_new:Npn \box_move_up:nn #1#2{\tex_raise:D\dim_eval:n{#1} #2} -\cs_new:Npn \box_move_down:nn #1#2{\tex_lower:D\dim_eval:n{#1} #2} -\cs_new_protected_nopar:Npn \box_clear:N #1{\box_set_eq_clear:NN #1 \c_empty_box } -\cs_generate_variant:Nn \box_clear:N {c} -\cs_new_protected_nopar:Npn \box_gclear:N {\pref_global:D\box_clear:N} -\cs_generate_variant:Nn \box_gclear:N {c} -\cs_new_eq:NN \box_ht:N \tex_ht:D -\cs_new_eq:NN \box_dp:N \tex_dp:D -\cs_new_eq:NN \box_wd:N \tex_wd:D -\cs_generate_variant:Nn \box_ht:N {c} -\cs_generate_variant:Nn \box_dp:N {c} -\cs_generate_variant:Nn \box_wd:N {c} -\cs_new_protected_nopar:Npn \box_set_dp:Nn #1#2 { - \box_dp:N #1 \etex_dimexpr:D #2 \scan_stop: -} -\cs_new_protected_nopar:Npn \box_set_ht:Nn #1#2 { - \box_ht:N #1 \etex_dimexpr:D #2 \scan_stop: -} -\cs_new_protected_nopar:Npn \box_set_wd:Nn #1#2 { - \box_wd:N #1 \etex_dimexpr:D #2 \scan_stop: -} -\cs_generate_variant:Nn \box_set_ht:Nn { c } -\cs_generate_variant:Nn \box_set_dp:Nn { c } -\cs_generate_variant:Nn \box_set_wd:Nn { c } -\cs_new_eq:NN \box_use_clear:N \tex_box:D -\cs_generate_variant:Nn \box_use_clear:N {c} -\cs_new_eq:NN \box_use:N \tex_copy:D -\cs_generate_variant:Nn \box_use:N {c} -\cs_set_eq:NN \box_show:N \tex_showbox:D -\cs_generate_variant:Nn \box_show:N {c} -\cs_set_eq:NN \c_empty_box \voidb@x -\cs_new_eq:NN \l_tmpa_box \@tempboxa -\box_new:N \l_tmpb_box -\cs_new_protected_nopar:Npn \vbox:n {\tex_vbox:D \scan_stop:} -\cs_new_protected_nopar:Npn \vbox_top:n {\tex_vtop:D \scan_stop:} -\cs_new_protected:Npn \vbox_set:Nn #1#2 {\tex_setbox:D #1 \tex_vbox:D {#2}} -\cs_generate_variant:Nn \vbox_set:Nn {cn} -\cs_new_protected_nopar:Npn \vbox_gset:Nn {\pref_global:D \vbox_set:Nn} -\cs_generate_variant:Nn \vbox_gset:Nn {cn} -\cs_new_protected:Npn \vbox_set_top:Nn #1#2 {\tex_setbox:D #1 \tex_vtop:D {#2}} -\cs_generate_variant:Nn \vbox_set_top:Nn {cn} -\cs_new_protected_nopar:Npn \vbox_gset_top:Nn {\pref_global:D \vbox_set_top:Nn} -\cs_generate_variant:Nn \vbox_gset_top:Nn {cn} -\cs_new_protected:Npn \vbox_set_to_ht:Nnn #1#2#3 { - \tex_setbox:D #1 \tex_vbox:D to #2 {#3} -} -\cs_generate_variant:Nn \vbox_set_to_ht:Nnn {cnn} -\cs_new_protected_nopar:Npn \vbox_gset_to_ht:Nnn { \pref_global:D \vbox_set_to_ht:Nnn } -\cs_generate_variant:Nn \vbox_gset_to_ht:Nnn {cnn,ccn} -\cs_new_protected_nopar:Npn \vbox_set_inline_begin:N #1 { - \tex_setbox:D #1 \tex_vbox:D \c_group_begin_token } -\cs_new_eq:NN \vbox_set_inline_end: \c_group_end_token -\cs_new_protected_nopar:Npn \vbox_gset_inline_begin:N { - \pref_global:D \vbox_set_inline_begin:N } -\cs_new_eq:NN \vbox_gset_inline_end: \c_group_end_token -\cs_new_protected:Npn \vbox_to_ht:nn #1#2{\tex_vbox:D to \dim_eval:n{#1}{#2}} -\cs_new_protected:Npn \vbox_to_zero:n #1 {\tex_vbox:D to \c_zero_dim {#1}} -\cs_new_protected_nopar:Npn \vbox_set_split_to_ht:NNn #1#2#3{ - \tex_setbox:D #1 \tex_vsplit:D #2 to #3 -} -\cs_new_eq:NN \vbox_unpack:N \tex_unvcopy:D -\cs_generate_variant:Nn \vbox_unpack:N {c} -\cs_new_eq:NN \vbox_unpack_clear:N \tex_unvbox:D -\cs_generate_variant:Nn \vbox_unpack_clear:N {c} -\cs_new_protected_nopar:Npn \hbox:n {\tex_hbox:D \scan_stop:} -\cs_new_protected:Npn \hbox_set:Nn #1#2 {\tex_setbox:D #1 \tex_hbox:D {#2}} -\cs_generate_variant:Nn \hbox_set:Nn {cn} -\cs_new_protected_nopar:Npn \hbox_gset:Nn {\pref_global:D \hbox_set:Nn} -\cs_generate_variant:Nn \hbox_gset:Nn {cn} -\cs_new_protected:Npn \hbox_set_to_wd:Nnn #1#2#3 { - \tex_setbox:D #1 \tex_hbox:D to \dim_eval:n{#2} {#3} -} -\cs_generate_variant:Nn \hbox_set_to_wd:Nnn {cnn} -\cs_new_protected_nopar:Npn \hbox_gset_to_wd:Nnn {\pref_global:D \hbox_set_to_wd:Nnn } -\cs_generate_variant:Nn \hbox_gset_to_wd:Nnn {cnn} -\cs_new_protected_nopar:Npn \hbox_set_inline_begin:N #1 { - \tex_setbox:D #1 \tex_hbox:D \c_group_begin_token -} -\cs_generate_variant:Nn \hbox_set_inline_begin:N {c} -\cs_new_eq:NN \hbox_set_inline_end: \c_group_end_token -\cs_new_protected_nopar:Npn \hbox_gset_inline_begin:N { - \pref_global:D \hbox_set_inline_begin:N -} -\cs_generate_variant:Nn \hbox_gset_inline_begin:N {c} -\cs_new_eq:NN \hbox_gset_inline_end: \c_group_end_token -\cs_new_protected:Npn \hbox_to_wd:nn #1#2 {\tex_hbox:D to #1 {#2}} -\cs_new_protected:Npn \hbox_to_zero:n #1 {\tex_hbox:D to \c_zero_skip {#1}} -\cs_new_protected:Npn \hbox_overlap_left:n #1 {\hbox_to_zero:n {\tex_hss:D #1}} -\cs_new_protected:Npn \hbox_overlap_right:n #1 {\hbox_to_zero:n {#1 \tex_hss:D}} -\cs_new_eq:NN \hbox_unpack:N \tex_unhcopy:D -\cs_generate_variant:Nn \hbox_unpack:N {c} -\cs_new_eq:NN \hbox_unpack_clear:N \tex_unhbox:D -\cs_generate_variant:Nn \hbox_unpack_clear:N {c} -%% -%% -%% End of file `l3box.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3calc.sty b/Master/texmf-dist/tex/latex/expl3/l3calc.sty deleted file mode 100644 index c880a0c091d..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3calc.sty +++ /dev/null @@ -1,502 +0,0 @@ -%% -%% This is file `l3calc.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3calc.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: l3calc.dtx Copyright (C) 2006,2009 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3calc.dtx 2223 2011-04-09 12:57:14Z will $ - {L3 Experimental calc module} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\tl_new:N \l_calc_expression_tl -\cs_new_nopar:Npn \g_calc_A_register{} -\cs_new_nopar:Npn \l_calc_B_register{} -\int_new:N \l_calc_current_type_int -\int_new:N \g_calc_A_int -\int_new:N \l_calc_B_int -\int_new:N \l_calc_C_int -\dim_new:N \g_calc_A_dim -\dim_new:N \l_calc_B_dim -\dim_new:N \l_calc_C_dim -\skip_new:N \g_calc_A_skip -\skip_new:N \l_calc_B_skip -\skip_new:N \l_calc_C_skip -\muskip_new:N \g_calc_A_muskip -\muskip_new:N \l_calc_B_muskip -\muskip_new:N \l_calc_C_muskip -\cs_new:Npn \calc_assign_generic:NNNNnn#1#2#3#4#5#6{ - \cs_set_eq:NN\g_calc_A_register#2 - \cs_set_eq:NN\l_calc_B_register#3 - \int_set:Nn \l_calc_current_type_int {#1} - \group_begin: - \cs_set_eq:NN \real \calc_real:n - \cs_set_eq:NN \ratio\calc_ratio:nn - \tl_set:Nx\l_calc_expression_tl{#6} - \exp_after:wN - \group_end: - \exp_after:wN\calc_open:w\exp_after:wN(\l_calc_expression_tl ! - \pref_global:D\g_calc_A_register\l_calc_B_register - \group_end: - #4{#5}\l_calc_B_register -} -\cs_new_nopar:Npn\calc_int_set:Nn{ - \calc_assign_generic:NNNNnn\c_zero\g_calc_A_int\l_calc_B_int\int_set:Nn -} -\cs_new_nopar:Npn\calc_int_gset:Nn{ - \calc_assign_generic:NNNNnn\c_zero\g_calc_A_int\l_calc_B_int\int_gset:Nn -} -\cs_new_nopar:Npn\calc_int_add:Nn{ - \calc_assign_generic:NNNNnn\c_zero\g_calc_A_int\l_calc_B_int\int_add:Nn -} -\cs_new_nopar:Npn\calc_int_gadd:Nn{ - \calc_assign_generic:NNNNnn\c_zero\g_calc_A_int\l_calc_B_int\int_gadd:Nn -} -\cs_new_nopar:Npn\calc_int_sub:Nn{ - \calc_assign_generic:NNNNnn\c_zero\g_calc_A_int\l_calc_B_int\int_sub:Nn -} -\cs_new_nopar:Npn\calc_int_gsub:Nn{ - \calc_assign_generic:NNNNnn\c_zero\g_calc_A_int\l_calc_B_int\int_gsub:Nn -} -\cs_new_nopar:Npn\calc_dim_set:Nn{ - \calc_assign_generic:NNNNnn\c_one\g_calc_A_dim\l_calc_B_dim\dim_set:Nn -} -\cs_new_nopar:Npn\calc_dim_gset:Nn{ - \calc_assign_generic:NNNNnn\c_one\g_calc_A_dim\l_calc_B_dim\dim_gset:Nn -} -\cs_new_nopar:Npn\calc_dim_add:Nn{ - \calc_assign_generic:NNNNnn\c_one\g_calc_A_dim\l_calc_B_dim\dim_add:Nn -} -\cs_new_nopar:Npn\calc_dim_gadd:Nn{ - \calc_assign_generic:NNNNnn\c_one\g_calc_A_dim\l_calc_B_dim\dim_gadd:Nn -} -\cs_new_nopar:Npn\calc_dim_sub:Nn{ - \calc_assign_generic:NNNNnn\c_one\g_calc_A_int\l_calc_B_int\dim_sub:Nn -} -\cs_new_nopar:Npn\calc_dim_gsub:Nn{ - \calc_assign_generic:NNNNnn\c_one\g_calc_A_int\l_calc_B_int\dim_gsub:Nn -} -\cs_new_nopar:Npn\calc_skip_set:Nn{ - \calc_assign_generic:NNNNnn\c_two\g_calc_A_skip\l_calc_B_skip\skip_set:Nn -} -\cs_new_nopar:Npn\calc_skip_gset:Nn{ - \calc_assign_generic:NNNNnn\c_two\g_calc_A_skip\l_calc_B_skip\skip_gset:Nn -} -\cs_new_nopar:Npn\calc_skip_add:Nn{ - \calc_assign_generic:NNNNnn\c_two\g_calc_A_skip\l_calc_B_skip\skip_add:Nn -} -\cs_new_nopar:Npn\calc_skip_gadd:Nn{ - \calc_assign_generic:NNNNnn\c_two\g_calc_A_skip\l_calc_B_skip\skip_gadd:Nn -} -\cs_new_nopar:Npn\calc_skip_sub:Nn{ - \calc_assign_generic:NNNNnn\c_two\g_calc_A_skip\l_calc_B_skip\skip_sub:Nn -} -\cs_new_nopar:Npn\calc_skip_gsub:Nn{ - \calc_assign_generic:NNNNnn\c_two\g_calc_A_skip\l_calc_B_skip\skip_gsub:Nn -} -\cs_new_nopar:Npn\calc_muskip_set:Nn{ - \calc_assign_generic:NNNNnn\c_three\g_calc_A_muskip\l_calc_B_muskip - \muskip_set:Nn -} -\cs_new_nopar:Npn\calc_muskip_gset:Nn{ - \calc_assign_generic:NNNNnn\c_three\g_calc_A_muskip\l_calc_B_muskip - \muskip_gset:Nn -} -\cs_new_nopar:Npn\calc_muskip_add:Nn{ - \calc_assign_generic:NNNNnn\c_three\g_calc_A_muskip\l_calc_B_muskip - \muskip_add:Nn -} -\cs_new_nopar:Npn\calc_muskip_gadd:Nn{ - \calc_assign_generic:NNNNnn\c_three\g_calc_A_muskip\l_calc_B_muskip - \muskip_gadd:Nn -} -\cs_new_nopar:Npn\calc_muskip_sub:Nn{ - \calc_assign_generic:NNNNnn\c_three\g_calc_A_muskip\l_calc_B_muskip - \muskip_add:Nn -} -\cs_new_nopar:Npn\calc_muskip_gsub:Nn{ - \calc_assign_generic:NNNNnn\c_three\g_calc_A_muskip\l_calc_B_muskip - \muskip_gadd:Nn -} -\cs_new_nopar:Npn \calc_pre_scan:N #1{ - \if_meaning:w(#1 - \exp_after:wN\calc_open:w - \else: - \if_meaning:w \calc_textsize:Nn #1 - \else: - \if_meaning:w \calc_maxmin_operation:Nnn #1 - \else: - \calc_numeric: - \fi: - \fi: - \fi: - #1} -\cs_new_nopar:Npn \calc_open:w({ - \group_begin:\group_execute_after:N\calc_init_B: - \group_begin:\group_execute_after:N\calc_init_B: - \calc_pre_scan:N -} -\cs_new_nopar:Npn\calc_init_B:{\l_calc_B_register\g_calc_A_register} -\cs_new_nopar:Npn\calc_numeric:{ - \tex_afterassignment:D\calc_post_scan:N - \pref_global:D\g_calc_A_register -} -\cs_new_nopar:Npn\calc_close:{ - \group_end:\pref_global:D\g_calc_A_register\l_calc_B_register - \group_end:\pref_global:D\g_calc_A_register\l_calc_B_register - \calc_post_scan:N} -\cs_new_nopar:Npn\calc_post_scan:N#1{ - \if_meaning:w#1!\cs_set_eq:NN\calc_next:w\group_end: \else: - \if_meaning:w#1+\cs_set_eq:NN\calc_next:w\calc_add: \else: - \if_meaning:w#1-\cs_set_eq:NN\calc_next:w\calc_subtract: \else: - \if_meaning:w#1*\cs_set_eq:NN\calc_next:w\calc_multiply:N \else: - \if_meaning:w#1/\cs_set_eq:NN\calc_next:w\calc_divide:N \else: - \if_meaning:w#1)\cs_set_eq:NN\calc_next:w\calc_close: \else: - \if_meaning:w#1\scan_stop:\cs_set_eq:NN\calc_next:w\calc_post_scan:N - \else: - \cs_set_eq:NN \calc_next:w \prg_do_nothing: - \calc_error:N#1 - \fi: - \fi: - \fi: - \fi: - \fi: - \fi: - \fi: - \calc_next:w} -\cs_new_nopar:Npn \calc_multiply:N #1{ - \if_meaning:w \calc_maxmin_operation:Nnn #1 - \cs_set_eq:NN \calc_next:w \calc_maxmin_multiply: - \else: - \if_meaning:w \calc_ratio_multiply:nn #1 - \cs_set_eq:NN \calc_next:w \calc_ratio_multiply:nn - \else: - \if_meaning:w \calc_real_evaluate:nn #1 - \cs_set_eq:NN \calc_next:w \calc_real_multiply:n - \else: - \cs_set_nopar:Npn \calc_next:w{\calc_multiply: #1} - \fi: - \fi: - \fi: - \calc_next:w -} -\cs_new_nopar:Npn \calc_divide:N #1{ - \if_meaning:w \calc_maxmin_operation:Nnn #1 - \cs_set_eq:NN \calc_next:w \calc_maxmin_divide: - \else: - \if_meaning:w \calc_ratio_multiply:nn #1 - \cs_set_eq:NN \calc_next:w \calc_ratio_divide:nn - \else: - \if_meaning:w \calc_real_evaluate:nn #1 - \cs_set_eq:NN \calc_next:w \calc_real_divide:n - \else: - \cs_set_nopar:Npn \calc_next:w{\calc_divide: #1} - \fi: - \fi: - \fi: - \calc_next:w -} -\cs_new_nopar:Npn\calc_generic_add_or_subtract:N#1{ - \group_end: - \pref_global:D\g_calc_A_register\l_calc_B_register\group_end: - \group_begin:\group_execute_after:N#1\group_begin: - \group_execute_after:N\calc_init_B: - \calc_pre_scan:N} -\cs_new_nopar:Npn\calc_add:{\calc_generic_add_or_subtract:N\calc_add_A_to_B:} -\cs_new_nopar:Npn\calc_subtract:{ - \calc_generic_add_or_subtract:N\calc_subtract_A_from_B:} -\cs_new_nopar:Npn\calc_add_A_to_B:{ - \l_calc_B_register - \if_case:w\l_calc_current_type_int - \etex_numexpr:D\or: - \etex_dimexpr:D\or: - \etex_glueexpr:D\or: - \etex_muexpr:D\fi: - \l_calc_B_register + \g_calc_A_register\scan_stop: -} -\cs_new_nopar:Npn\calc_subtract_A_from_B:{ - \l_calc_B_register - \if_case:w\l_calc_current_type_int - \etex_numexpr:D\or: - \etex_dimexpr:D\or: - \etex_glueexpr:D\or: - \etex_muexpr:D\fi: - \l_calc_B_register - \g_calc_A_register\scan_stop: -} -\cs_new_nopar:Npn\calc_generic_multiply_or_divide:N#1{ - \group_end: - \group_begin: - \cs_set_eq:NN\g_calc_A_register\g_calc_A_int - \cs_set_eq:NN\l_calc_B_register\l_calc_B_int - \int_zero:N \l_calc_current_type_int - \group_execute_after:N#1\calc_pre_scan:N -} -\cs_new_nopar:Npn\calc_multiply_B_by_A:{ - \l_calc_B_register - \if_case:w\l_calc_current_type_int - \etex_numexpr:D\or: - \etex_dimexpr:D\or: - \etex_glueexpr:D\or: - \etex_muexpr:D\fi: - \l_calc_B_register*\g_calc_A_int\scan_stop: -} -\cs_new_nopar:Npn\calc_divide_B_by_A:{ - \l_calc_B_register - \if_case:w\l_calc_current_type_int - \etex_numexpr:D\or: - \etex_dimexpr:D\or: - \etex_glueexpr:D\or: - \etex_muexpr:D\fi: - \l_calc_B_register/\g_calc_A_int\scan_stop: -} -\cs_new_nopar:Npn\calc_multiply:{ - \calc_generic_multiply_or_divide:N\calc_multiply_B_by_A:} -\cs_new_nopar:Npn\calc_divide:{ - \calc_generic_multiply_or_divide:N\calc_divide_B_by_A:} -\cs_new:Npn \calc_calculate_box_size:nnn #1#2#3{ - \hbox_set:Nn \l_tmpa_box {{#3}} - #2{\c_zero_dim \tl_map_function:nN{#1}\calc_calculate_box_size_aux:n} -} -\cs_set_nopar:Npn \calc_calculate_box_size_aux:n#1{ + #1\l_tmpa_box} -\cs_set_protected:Npn \calc_textsize:Nn#1#2{ - \group_begin: - \cs_set_eq:NN\calc_widthof_aux:n\box_wd:N - \cs_set_eq:NN\calc_heightof_aux:n\box_ht:N - \cs_set_eq:NN\calc_depthof_aux:n\box_dp:N - \cs_set_nopar:Npn\calc_totalheightof_aux:n{\box_ht:N\box_dp:N} - \exp_args:No\calc_calculate_box_size:nnn{#1} - {\dim_gset:Nn\g_calc_A_register} - { - \cs_set_eq:NN \calc_depthof_aux:n \calc_depthof_auxi:n - \cs_set_eq:NN \calc_widthof_aux:n \calc_widthof_auxi:n - \cs_set_eq:NN \calc_heightof_aux:n \calc_heightof_auxi:n - \cs_set_eq:NN \calc_totalheightof_aux:n \calc_totalheightof_auxi:n - #2 - } - \group_end: - \calc_post_scan:N -} -\cs_set_protected:Npn\calc_ratio_multiply:nn#1#2{ - \group_end:\group_begin: - \if_num:w\l_calc_current_type_int < \c_three - \calc_dim_set:Nn\l_calc_B_int{#1} - \calc_dim_set:Nn\l_calc_C_int{#2} - \else: - \calc_dim_muskip:Nn{\l_calc_B_int\etex_mutoglue:D}{#1} - \calc_dim_muskip:Nn{\l_calc_C_int\etex_mutoglue:D}{#2} - \fi: - \cs_gset_nopar:Npx\calc_calculated_ratio:{ - \int_use:N\l_calc_B_int/\int_use:N\l_calc_C_int - } - \group_end: - \l_calc_B_register - \if_case:w\l_calc_current_type_int - \etex_numexpr:D\or: - \etex_dimexpr:D\or: - \etex_glueexpr:D\or: - \etex_muexpr:D\fi: - \l_calc_B_register*\calc_calculated_ratio:\scan_stop: - \group_begin: - \calc_post_scan:N} -\cs_new:Npn \calc_ratio_divide:nn#1#2{\calc_ratio_multiply:nn{#2}{#1}} -\cs_new_protected_nopar:Npn\calc_real_evaluate:nn #1#2{ - \group_end: - \l_calc_B_register - \if_case:w\l_calc_current_type_int - \etex_numexpr:D\or: - \etex_dimexpr:D\or: - \etex_glueexpr:D\or: - \etex_muexpr:D\fi: - \l_calc_B_register * - \tex_number:D \dim_eval:n{#1pt}/ - \tex_number:D\dim_eval:n{#2pt} - \scan_stop: - \group_begin: - \calc_post_scan:N} -\cs_new_nopar:Npn \calc_real_multiply:n #1{\calc_real_evaluate:nn{#1}{1}} -\cs_new_nopar:Npn \calc_real_divide:n {\calc_real_evaluate:nn{1}} -\cs_set_protected:Npn\calc_maxmin_operation:Nnn#1#2#3{ - \group_begin: - \calc_maxmin_generic:Nnn#1{#2}{#3} - \group_end: - \calc_post_scan:N -} -\cs_new_protected:Npn \calc_maxmin_generic:Nnn#1#2#3{ - \group_begin: - \if_case:w\l_calc_current_type_int - \calc_int_set:Nn\l_calc_C_int{#2}% - \calc_int_set:Nn\l_calc_B_int{#3}% - \pref_global:D\g_calc_A_register - \if_num:w\l_calc_C_int#1\l_calc_B_int - \l_calc_C_int\else:\l_calc_B_int\fi: - \or: - \calc_dim_set:Nn\l_calc_C_dim{#2}% - \calc_dim_set:Nn\l_calc_B_dim{#3}% - \pref_global:D\g_calc_A_register - \if_dim:w\l_calc_C_dim#1\l_calc_B_dim - \l_calc_C_dim\else:\l_calc_B_dim\fi: - \or: - \calc_skip_set:Nn\l_calc_C_skip{#2}% - \calc_skip_set:Nn\l_calc_B_skip{#3}% - \pref_global:D\g_calc_A_register - \if_dim:w\l_calc_C_skip#1\l_calc_B_skip - \l_calc_C_skip\else:\l_calc_B_skip\fi: - \else: - \calc_muskip_set:Nn\l_calc_C_muskip{#2}% - \calc_muskip_set:Nn\l_calc_B_muskip{#3}% - \pref_global:D\g_calc_A_register - \if_dim:w\l_calc_C_muskip#1\l_calc_B_muskip - \l_calc_C_muskip\else:\l_calc_B_muskip\fi: - \fi: - \group_end: -} -\cs_new:Npn\calc_maxmin_div_or_mul:NNnn#1#2#3#4{ - \group_end: - \group_begin: - \int_zero:N\l_calc_current_type_int - \group_execute_after:N#1 - \calc_maxmin_generic:Nnn#2{#3}{#4} - \group_end: - \group_begin: - \calc_post_scan:N -} -\cs_new_nopar:Npn\calc_maxmin_multiply:{ - \calc_maxmin_div_or_mul:NNnn\calc_multiply_B_by_A:} -\cs_new_nopar:Npn\calc_maxmin_divide: { - \calc_maxmin_div_or_mul:NNnn\calc_divide_B_by_A:} -\cs_new_nopar:Npn\calc_error:N#1{ - \PackageError{calc} - {`\token_to_str:N#1'~ invalid~ at~ this~ point} - {I~ expected~ to~ see~ one~ of:~ +~ -~ *~ /~ )} -} -\cs_new:Npn \calc_maxof:nn#1#2{ - \calc_maxmin_operation:Nnn > \exp_not:n{{#1}{#2}} -} -\cs_new:Npn \calc_minof:nn#1#2{ - \calc_maxmin_operation:Nnn < \exp_not:n{{#1}{#2}} -} -\cs_set_eq:NN \maxof \calc_maxof:nn -\cs_set_eq:NN \minof \calc_minof:nn -\cs_new:Npn \calc_widthof:n#1{ - \calc_textsize:Nn \exp_not:N\calc_widthof_aux:n\exp_not:n{{#1}} -} -\cs_new:Npn \calc_heightof:n#1{ - \calc_textsize:Nn \exp_not:N\calc_heightof_aux:n\exp_not:n{{#1}} -} -\cs_new:Npn \calc_depthof:n#1{ - \calc_textsize:Nn \exp_not:N\calc_depthof_aux:n\exp_not:n{{#1}} -} -\cs_new:Npn \calc_totalheightof:n#1{ - \calc_textsize:Nn \exp_not:N\calc_totalheightof_aux:n \exp_not:n{{#1}} -} -\cs_new:Npn \calc_widthof_aux:n #1{ - \exp_not:N\calc_widthof_aux:n\exp_not:n{{#1}} -} -\cs_new_eq:NN \calc_widthof_auxi:n \calc_widthof_aux:n -\cs_new:Npn \calc_depthof_aux:n #1{ - \exp_not:N\calc_depthof_aux:n\exp_not:n{{#1}} -} -\cs_new_eq:NN \calc_depthof_auxi:n \calc_depthof_aux:n -\cs_new:Npn \calc_heightof_aux:n #1{ - \exp_not:N\calc_heightof_aux:n\exp_not:n{{#1}} -} -\cs_new_eq:NN \calc_heightof_auxi:n \calc_heightof_aux:n -\cs_new:Npn \calc_totalheightof_aux:n #1{ - \exp_not:N\calc_totalheightof_aux:n\exp_not:n{{#1}} -} -\cs_new_eq:NN \calc_totalheightof_auxi:n \calc_totalheightof_aux:n -\cs_new:Npn \calc_ratio:nn#1#2{ - \calc_ratio_multiply:nn\exp_not:n{{#1}{#2}}} -\cs_new_nopar:Npn \calc_real:n {\calc_real_evaluate:nn} -\cs_set_eq:NN \depthof\calc_depthof:n -\cs_set_eq:NN \widthof\calc_widthof:n -\cs_set_eq:NN \heightof\calc_heightof:n -\cs_set_eq:NN \totalheightof\calc_totalheightof:n -%%\cs_set_eq:NN \ratio\calc_ratio:nn -%%\cs_set_eq:NN \real\calc_real:n -\cs_set_protected_nopar:Npn \setlength{\calc_skip_set:Nn} -\cs_set_protected_nopar:Npn \gsetlength{\calc_skip_gset:Nn} -\cs_set_protected_nopar:Npn \addtolength{\calc_skip_add:Nn} -\cs_set_protected_nopar:Npn \gaddtolength{\calc_skip_gadd:Nn} -\newif\iffirstchoice@ \firstchoice@true -\cs_set_protected_nopar:Npn \calc_setcounter:nn#1#2{ - \calc_chk_document_counter:nn{#1}{ - \exp_args:Nc\calc_int_gset:Nn {c@#1}{#2} - } -} -\cs_set_protected_nopar:Npn \calc_addtocounter:nn#1#2{ - \iffirstchoice@ - \calc_chk_document_counter:nn{#1}{ - \exp_args:Nc\calc_int_gadd:Nn {c@#1}{#2} - } - \fi: -} -\cs_set_protected_nopar:Npn \calc_stepcounter:n#1{ - \iffirstchoice@ - \calc_chk_document_counter:nn{#1}{ - \int_gincr:c {c@#1} - \group_begin: - \cs_set_eq:NN \@elt\@stpelt \use:c{cl@#1} - \group_end: - } - \fi: -} -\cs_new_nopar:Npn \calc_chk_document_counter:nn#1{ - \cs_if_free:cTF{c@#1}{\@nocounterr {#1}} -} -\cs_set_eq:NN \setcounter \calc_setcounter:nn -\cs_set_eq:NN \addtocounter \calc_addtocounter:nn -\cs_set_eq:NN \stepcounter \calc_stepcounter:n -\AtBeginDocument{ - \cs_set_eq:NN \setcounter \calc_setcounter:nn - \cs_set_eq:NN \addtocounter \calc_addtocounter:nn - \cs_set_eq:NN \stepcounter \calc_stepcounter:n -} -\cs_set_nopar:cpn{ver@calc.sty}{2005/08/06} -%% -%% -%% End of file `l3calc.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3chk.sty b/Master/texmf-dist/tex/latex/expl3/l3chk.sty deleted file mode 100644 index 1cb606b8618..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3chk.sty +++ /dev/null @@ -1,160 +0,0 @@ -%% -%% 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-2006,2009 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -%% -\RequirePackage{l3names} -\GetIdInfo$Id: l3chk.dtx 2223 2011-04-09 12:57:14Z will $ - {L3 Experimental check module} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\cs_new_nopar:Npn \chk_local:N #1{ - \exp_after:wN \chk_local_aux:w \token_to_str:N#1\q_stop} - -\cs_new_nopar:Npn \chk_local_aux:w #1#2#3\q_stop{ - \if_num:w\tex_uccode:D`#2=`G\scan_stop: - \msg_kernel_bug:x {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: - \msg_kernel_bug:x {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 -\cs_new_nopar:Npn \chk_global:N #1{\exp_after:wN - \chk_global_aux:w \token_to_str:N#1\q_stop} -\cs_new_nopar:Npn \chk_global_aux:w #1#2#3\q_stop{ - \if_num:w\tex_uccode:D`#2=`L\scan_stop: - \msg_kernel_bug:x {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: - \msg_kernel_bug:x {Variable~mismatch:~function~not~called~with~ - proper~variable:~#1#2#3~ - on~line~\tex_the:D\tex_inputlineno:D}\fi:\fi:} -\cs_new_nopar:Npn \pref_global_chk: { - \cs_gset_nopar:Npn \chk_local_or_pref_global:N ##1{ - \chk_global:N ##1 - \cs_gset_eq:NN \chk_local_or_pref_global:N \chk_local:N} - \pref_global:D} -\cs_new_eq:NN \chk_local_or_pref_global:N \chk_local:N -\cs_new_nopar:Npn \chk_var_or_const:N #1{\exp_after:wN - \chk_var_or_const_aux:w \token_to_str:N#1\q_stop } -\cs_new_nopar: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_charcode:w#2q\scan_stop: - \else: - \msg_kernel_bug:x {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:} -\cs_new_nopar:Npn\donotcheck{ - \cs_set_eq:NN \chk_global:N \use_none:n - \cs_set_eq:NN \chk_local:N \use_none:n - \cs_set_eq:NN \chk_local_or_pref_global:N \use_none:n - \cs_set_eq:NN \pref_global_chk: \pref_global:D - \cs_set_eq:NN \chk_if_free_cs:N \use_none:n - \cs_set_eq:NN \chk_exist_cs:N \use_none:n - \cs_set_eq:NN \chk_var_or_const:N \use_none:n - \cs_set_eq:NN \cs_record_name:N \use_none:n - \cs_set_eq:NN \cs_record_name:c \use_none:n - \cs_set_eq:NN \cs_record_meaning:N \use_none:n - \cs_set_eq:NN \register_record_name:N \use_none:n -} -\cs_new_nopar: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 - \tex_errorstopmode:D} -\cs_new_nopar: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 -} -\cs_new_nopar:Npn\traceon#1{ - \clist_map_inline:nn {#1}{ - \cs_if_free:cF{g_trace_ ##1 _status} - {\int_gincr:c{g_trace_ ##1 _status}} - } -} -\cs_new_nopar:Npn\traceoff#1{ - \clist_map_inline:nn {#1}{ - \cs_if_free:cF{g_trace_ ##1 _status} - {\int_gdecr:c{g_trace_ ##1 _status}} - } -} -%% -%% -%% End of file `l3chk.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3clist.sty b/Master/texmf-dist/tex/latex/expl3/l3clist.sty deleted file mode 100644 index e7afede66af..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3clist.sty +++ /dev/null @@ -1,241 +0,0 @@ -%% -%% This is file `l3clist.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3clist.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: l3clist.dtx Copyright (C) 2005-2011 Frank Mittelbach, 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3clist.dtx 2223 2011-04-09 12:57:14Z will $ - {L3 Experimental comma separated lists} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\cs_new_eq:NN \clist_new:N \tl_new:N -\cs_generate_variant:Nn \clist_new:N {c} -\cs_new_eq:NN \clist_clear:N \tl_clear:N -\cs_generate_variant:Nn \clist_clear:N {c} -\cs_new_eq:NN \clist_gclear:N \tl_gclear:N -\cs_generate_variant:Nn \clist_gclear:N {c} -\cs_new_eq:NN \clist_clear_new:N \tl_clear_new:N -\cs_generate_variant:Nn \clist_clear_new:N {c} -\cs_new_eq:NN \clist_gclear_new:N \tl_gclear_new:N -\cs_generate_variant:Nn \clist_gclear_new:N {c} -\cs_new_eq:NN \clist_set_eq:NN \tl_set_eq:NN -\cs_new_eq:NN \clist_set_eq:cN \tl_set_eq:cN -\cs_new_eq:NN \clist_set_eq:Nc \tl_set_eq:Nc -\cs_new_eq:NN \clist_set_eq:cc \tl_set_eq:cc -\cs_new_eq:NN \clist_gset_eq:NN \tl_gset_eq:NN -\cs_new_eq:NN \clist_gset_eq:cN \tl_gset_eq:cN -\cs_new_eq:NN \clist_gset_eq:Nc \tl_gset_eq:Nc -\cs_new_eq:NN \clist_gset_eq:cc \tl_gset_eq:cc -\prg_new_eq_conditional:NNn \clist_if_empty:N \tl_if_empty:N {p,TF,T,F} -\prg_new_eq_conditional:NNn \clist_if_empty:c \tl_if_empty:c {p,TF,T,F} -\cs_new_protected_nopar:Npn \clist_if_empty_err:N #1 { - \if_meaning:w #1 \c_empty_tl - \tl_clear:N \l_kernel_testa_tl % catch prefixes - \msg_kernel_bug:x {Empty~comma-list~`\token_to_str:N #1'} - \fi: -} -\prg_new_eq_conditional:NNn \clist_if_eq:NN \tl_if_eq:NN {p,TF,T,F} -\prg_new_eq_conditional:NNn \clist_if_eq:cN \tl_if_eq:cN {p,TF,T,F} -\prg_new_eq_conditional:NNn \clist_if_eq:Nc \tl_if_eq:Nc {p,TF,T,F} -\prg_new_eq_conditional:NNn \clist_if_eq:cc \tl_if_eq:cc {p,TF,T,F} -\prg_new_protected_conditional:Nnn \clist_if_in:Nn {TF,T,F} { - \cs_set:Npn \clist_tmp:w ##1,#2,##2##3 \q_stop { - \if_meaning:w \q_no_value ##2 - \prg_return_false: \else: \prg_return_true: \fi: - } - \exp_last_unbraced:NNo \clist_tmp:w , #1 , #2 , \q_no_value \q_stop -} -\cs_generate_variant:Nn \clist_if_in:NnTF {NV,No,cn,cV,co} -\cs_generate_variant:Nn \clist_if_in:NnT {NV,No,cn,cV,co} -\cs_generate_variant:Nn \clist_if_in:NnF {NV,No,cn,cV,co} -\cs_new_nopar:Npn \clist_use:N #1 { - \if_meaning:w #1 \scan_stop: - \msg_kernel_bug:x { - Comma~list~ `\token_to_str:N #1'~ has~ an~ erroneous~ structure!} - \else: - \exp_after:wN #1 - \fi: -} -\cs_generate_variant:Nn \clist_use:N {c} -\cs_new_protected_nopar:Npn \clist_get:NN #1 { - \clist_if_empty_err:N #1 - \exp_after:wN \clist_get_aux:w #1,\q_stop -} -\cs_generate_variant:Nn \clist_get:NN {cN} -\cs_new_protected:Npn \clist_get_aux:w #1,#2\q_stop #3 { \tl_set:Nn #3{#1} } -\cs_new_protected:Npn \clist_pop_aux:nnNN #1#2#3 { - \clist_if_empty_err:N #3 - \exp_after:wN \clist_pop_aux:w #3,\q_nil\q_stop #1#2#3 -} -\cs_new_protected:Npn \clist_pop_aux:w #1,#2\q_stop #3#4#5#6 { - #4 #6 {#1} - #3 #5 {#2} - \quark_if_nil:NTF #5 { #3 #5 {} }{ \clist_pop_auxi:w #2 #3#5 } -} -\cs_new:Npn \clist_pop_auxi:w #1,\q_nil #2#3 { #2#3{#1} } -\cs_new_eq:NN \clist_show:N \tl_show:N -\cs_new_eq:NN \clist_show:c \tl_show:c -\cs_new_protected_nopar:Npn \clist_display:N #1 { - \iow_term:x { Comma-list~\token_to_str:N #1~contains~ - the~elements~(without~outer~braces): } - \toks_clear:N \l_tmpa_toks - \clist_map_inline:Nn #1 { - \toks_if_empty:NF \l_tmpa_toks { - \toks_put_right:Nx \l_tmpa_toks {^^J>~} - } - \toks_put_right:Nx \l_tmpa_toks { - \c_space_tl \iow_char:N \{ \exp_not:n {##1} \iow_char:N \} - } - } - \toks_show:N \l_tmpa_toks -} -\cs_generate_variant:Nn \clist_display:N {c} -\cs_new_protected:Npn \clist_put_aux:NNnnNn #1#2#3#4#5#6 { - \clist_if_empty:NTF #5 { #1 #5 {#6} } { - \tl_if_empty:nF {#6} { #2 #5{#3#6#4} } - } -} -\cs_new_protected_nopar:Npn \clist_put_left:Nn { - \clist_put_aux:NNnnNn \tl_set:Nn \tl_put_left:Nn {} , -} -\cs_generate_variant:Nn \clist_put_left:Nn {NV,No,Nx,cn,cV,co} -\cs_new_protected_nopar:Npn \clist_gput_left:Nn { - \clist_put_aux:NNnnNn \tl_gset:Nn \tl_gput_left:Nn {} , -} -\cs_generate_variant:Nn \clist_gput_left:Nn {NV,No,Nx,cn,cV,co} -\cs_new_protected_nopar:Npn \clist_put_right:Nn { - \clist_put_aux:NNnnNn \tl_set:Nn \tl_put_right:Nn , {} -} -\cs_generate_variant:Nn \clist_put_right:Nn {NV,No,Nx,cn,cV,co} -\cs_new_protected_nopar:Npn \clist_gput_right:Nn { - \clist_put_aux:NNnnNn \tl_gset:Nn \tl_gput_right:Nn , {} -} -\cs_generate_variant:Nn \clist_gput_right:Nn {NV,No,Nx,cn,cV,co} -\prg_new_map_functions:Nn , { clist } -\cs_generate_variant:Nn \clist_map_function:NN { Nc } -\cs_generate_variant:Nn \clist_map_function:NN { c } -\cs_generate_variant:Nn \clist_map_function:NN { cc } -\cs_generate_variant:Nn \clist_map_inline:Nn { c } -\cs_generate_variant:Nn \clist_map_inline:Nn { nc } -\cs_new_protected:Npn \clist_map_variable:nNn #1#2#3 { - \tl_if_empty:nF {#1} { - \clist_map_variable_aux:Nnw #2 {#3} #1 - , \q_recursion_tail , \q_recursion_stop - } -} -\cs_new_protected_nopar:Npn \clist_map_variable:NNn {\exp_args:No \clist_map_variable:nNn} -\cs_generate_variant:Nn\clist_map_variable:NNn {cNn} -\cs_new_protected:Npn \clist_map_variable_aux:Nnw #1#2#3,{ - \cs_set_nopar:Npn #1{#3} - \quark_if_recursion_tail_stop:N #1 - #2 \clist_map_variable_aux:Nnw #1{#2} -} -\cs_new_protected_nopar:Npn \clist_concat_aux:NNNN #1#2#3#4 { - \tl_set:No \l_tmpa_tl {#3} - \tl_set:No \l_tmpb_tl {#4} - #1 #2 { - \exp_not:V \l_tmpa_tl - \tl_if_empty:NF \l_tmpa_tl { \tl_if_empty:NF \l_tmpb_tl , } - \exp_not:V \l_tmpb_tl - } -} -\cs_new_protected_nopar:Npn \clist_concat:NNN { \clist_concat_aux:NNNN \tl_set:Nx } -\cs_new_protected_nopar:Npn \clist_gconcat:NNN { \clist_concat_aux:NNNN \tl_gset:Nx } -\cs_generate_variant:Nn \clist_concat:NNN {ccc} -\cs_generate_variant:Nn \clist_gconcat:NNN {ccc} -\clist_new:N \l_clist_remove_clist -\cs_new_protected:Npn \clist_remove_duplicates_aux:NN #1#2 { - \clist_clear:N \l_clist_remove_clist - \clist_map_function:NN #2 \clist_remove_duplicates_aux:n - #1 #2 \l_clist_remove_clist -} -\cs_new_protected:Npn \clist_remove_duplicates_aux:n #1 { - \clist_if_in:NnF \l_clist_remove_clist {#1} { - \clist_put_right:Nn \l_clist_remove_clist {#1} - } -} -\cs_new_protected_nopar:Npn \clist_remove_duplicates:N { - \clist_remove_duplicates_aux:NN \clist_set_eq:NN -} -\cs_new_protected_nopar:Npn \clist_gremove_duplicates:N { - \clist_remove_duplicates_aux:NN \clist_gset_eq:NN -} -\cs_new_protected_nopar:Npn \clist_remove_element:Nn { - \clist_remove_element_aux:NNn \clist_set_eq:NN -} -\cs_new_protected_nopar:Npn \clist_gremove_element:Nn { - \clist_remove_element_aux:NNn \clist_gset_eq:NN -} -\cs_new_protected:Npn \clist_remove_element_aux:NNn #1#2#3 { - \clist_clear:N \l_clist_remove_clist - \cs_set:Npn \clist_remove_element_aux:n ##1 { - \str_if_eq:nnF {#3} {##1} { - \clist_put_right:Nn \l_clist_remove_clist {##1} - } - } - \clist_map_function:NN #2 \clist_remove_element_aux:n - #1 #2 \l_clist_remove_clist -} -\cs_new:Npn \clist_remove_element_aux:n #1 { } -\cs_new_eq:NN \clist_push:Nn \clist_put_left:Nn -\cs_new_eq:NN \clist_push:NV \clist_put_left:NV -\cs_new_eq:NN \clist_push:No \clist_put_left:No -\cs_new_eq:NN \clist_push:cn \clist_put_left:cn -\cs_new_protected_nopar:Npn \clist_pop:NN {\clist_pop_aux:nnNN \tl_set:Nn \tl_set:Nn} -\cs_generate_variant:Nn \clist_pop:NN {cN} -\cs_new_eq:NN \clist_gpush:Nn \clist_gput_left:Nn -\cs_new_eq:NN \clist_gpush:NV \clist_gput_left:NV -\cs_new_eq:NN \clist_gpush:No \clist_gput_left:No -\cs_generate_variant:Nn \clist_gpush:Nn {cn} -\cs_new_protected_nopar:Npn \clist_gpop:NN {\clist_pop_aux:nnNN \tl_gset:Nn \tl_set:Nn} -\cs_generate_variant:Nn \clist_gpop:NN {cN} -\cs_new_eq:NN \clist_top:NN \clist_get:NN -\cs_new_eq:NN \clist_top:cN \clist_get:cN -%% -%% -%% End of file `l3clist.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3doc.cls b/Master/texmf-dist/tex/latex/expl3/l3doc.cls deleted file mode 100644 index 279bb170083..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3doc.cls +++ /dev/null @@ -1,1039 +0,0 @@ -%% -%% This is file `l3doc.cls', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3doc.dtx (with options: `class') -%% -%% -%% 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: l3doc.dtx Copyright (C) 1990-2009 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\let \filenameOld \filename -\let \filenameextOld \filenameext -\let \filedateOld \filedate -\let \fileversionOld \fileversion -\let \filedescriptionOld \filedescription -\GetIdInfo$Id: l3doc.dtx 2228 2011-04-10 08:37:13Z joseph $ - {L3 Experimental documentation class} -\ProvidesExplClass - {\filename}{\filedate}{\fileversion}{\filedescription} -\RequirePackage{expl3,xparse} -\let \filename \filenameOld -\let \filenameext \filenameextOld -\let \filedate \filedateOld -\let \fileversion \fileversionOld -\let \filedescription \filedescriptionOld -\cs_new_nopar:Npn\Team{% - The~\LaTeX3~Project\thanks{% - Frank~Mittelbach,~Denys~Duchier,~Chris~Rowley,~ - Rainer~Sch\"opf,~Johannes~Braams,~Michael~Downes,~ - David~Carlisle,~Alan~Jeffrey,~Morten~H\o{}gholm,~Thomas~Lotze,~ - Javier~Bezos,~Will~Robertson,~Joseph~Wright}} -\DeclareOption{a5paper}{\@latexerr{Option not supported}{}} -\bool_new:N \g_doc_full_bool -\bool_new:N \g_doc_lmodern_bool -\bool_new:N \g_doc_checkfunc_bool -\bool_new:N \g_doc_checktest_bool -\DeclareOption{full}{ \bool_set_true:N \g_doc_full_bool } -\DeclareOption{onlydoc}{ \bool_set_false:N \g_doc_full_bool } -\DeclareOption{check}{ \bool_set_true:N \g_doc_checkfunc_bool } -\DeclareOption{nocheck}{ \bool_set_false:N \g_doc_checkfunc_bool } -\DeclareOption{checktest}{ \bool_set_true:N \g_doc_checktest_bool } -\DeclareOption{nochecktest}{ \bool_set_false:N \g_doc_checktest_bool } -\DeclareOption{cm-default}{ \bool_set_false:N \g_doc_lmodern_bool } -\DeclareOption{lm-default}{ \bool_set_true:N \g_doc_lmodern_bool } -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} -\ExecuteOptions{full,a4paper,nocheck,nochecktest,lm-default} -\InputIfFileExists{l3doc.cfg} - { - \typeout{*************************************^^J - *~Local~config~file~l3doc.cfg~used ^^J - *************************************} - } - { \@input{l3doc.ltx} } -\ProcessOptions -\LoadClass{article} -\RequirePackage{doc} -\RequirePackage{array,alphalph,booktabs,color,fixltx2e,enumitem,textcomp,trace,underscore,csquotes} -\bool_if:NT \g_doc_lmodern_bool { - \RequirePackage[T1]{fontenc} - \RequirePackage{lmodern} -} -\RequirePackage{hypdoc} -\let\doc@verbatim\verbatim -\let\enddoc@verbatim\endverbatim -\let\doc@@verbatim\@verbatim -\expandafter\let\csname doc@verbatim*\expandafter\endcsname - \csname verbatim*\endcsname -\expandafter\let\csname enddoc@verbatim*\expandafter\endcsname - \csname endverbatim*\endcsname -\expandafter\let\csname doc@@verbatim*\expandafter\endcsname - \csname @verbatim*\endcsname -\RequirePackage{verbatim} -\AtBeginDocument{% - \let\verbatim\doc@verbatim - \let\endverbatim\enddoc@verbatim - \let\@verbatim\doc@@verbatim - \expandafter\let\csname verbatim*\expandafter\endcsname - \csname doc@verbatim*\endcsname - \expandafter\let\csname endverbatim*\expandafter\endcsname - \csname enddoc@verbatim*\endcsname - \expandafter\let\csname @verbatim*\expandafter\endcsname - \csname doc@@verbatim*\endcsname -} -\cs_set_nopar:Npn \MakePrivateLetters { - \char_make_letter:N \@ - \char_make_letter:N \_ - \char_make_letter:N \: -} -\setcounter{StandardModuleDepth}{1} -\@addtoreset{CodelineNo}{part} -\cs_set_nopar:Npn \theCodelineNo { - \textcolor[gray]{0.5}{ \sffamily\tiny\arabic{CodelineNo} } -} -\setlength \textwidth { 385pt } -\addtolength \marginparwidth { 30pt } -\addtolength \oddsidemargin { 20pt } -\addtolength \evensidemargin { 20pt } -\cs_set_eq:NN \@@oldlist\list -\cs_set_nopar:Npn \list#1#2{\@@oldlist{#1}{#2\listparindent\z@}} -\setlength \parindent { 0pt } -\setlength \itemindent { 0pt } -\setlength \parskip { \medskipamount } -\AtBeginDocument { - \MakeShortVerb \" - \MakeShortVerb \| -} -\providecommand*\eTeX{ - \if b\expandafter\@car\f@series\@nil\boldmath\fi - $\m@th\varepsilon$-\TeX -} -\providecommand*\IniTeX{Ini\TeX} -\providecommand*\Lua{Lua} -\providecommand*\LuaTeX{\Lua\TeX} -\providecommand*\pdfTeX{pdf\TeX} -\RequirePackage{graphicx} -\cs_if_free:NT \XeTeX { - \cs_new_protected_nopar:Npn \XeTeX - {X\kern-.125em\lower.5ex\hbox{\reflectbox{E}}\kern-.1667em\TeX} -} -\cs_set_nopar:Npn \cmd #1 { \cs{\expandafter\cmd@to@cs\string#1} } -\cs_set_nopar:Npn \cmd@to@cs #1#2 { \char\number`#2\relax } -\DeclareRobustCommand \cs [1] { \texttt { \char`\\ #1 } } -\providecommand\marg[1]{ \texttt{\char`\{} \meta{#1} \texttt{\char`\}} } -\providecommand\oarg[1]{ \texttt[ \meta{#1} \texttt] } -\providecommand\parg[1]{ \texttt( \meta{#1} \texttt) } -\cs_set_eq:NN \m \meta -\cs_set_eq:NN \file \nolinkurl -\DeclareRobustCommand \env {\texttt} -\DeclareRobustCommand \pkg {\textsf} -\DeclareRobustCommand \cls {\textsf} -\newenvironment{texnote}{ - \endgraf - \vspace{3mm} - \small\textbf{\TeX~hackers~note:} -}{ - \vspace{3mm} -} -\newcommand\tn[1]{ - \texttt{\bslash #1} - \index{TeX~and~LaTeX2e~commands\actualchar - \string\TeX{}~and~\string\LaTeXe{}~commands:\levelchar - #1\actualchar{\string\ttfamily\string\bslash{}#1}}} -\cs_new:Npn \doc_implementation: { - \cs_set:Npn \variable {\macro[var]} -} -\cs_new:Npn \doc_docu: { - \cs_set_eq:NN \variable \variabledoc -} -\AtEndOfPackage{\doc_docu:} -\newenvironment{documentation}{\doc_docu:}{} -\newenvironment{implementation}{\doc_implementation:}{} -\newcommand\EnableDocumentation{% - \renewenvironment{documentation}{\doc_docu:}{}% -} -\newcommand\EnableImplementation{% - \renewenvironment{implementation}{\doc_implementation:}{}% -} -\newcommand\DisableDocumentation{% - \cs_set_eq:NN \documentation \comment - \cs_set_eq:NN \enddocumentation \endcomment -} -\newcommand\DisableImplementation{% - \cs_set_eq:NN \implementation \comment - \cs_set_eq:NN \endimplementation \endcomment -} -\newenvironment{arguments}{ - \enumerate[ - nolistsep, - label=\texttt{\#\arabic*}~:, - labelsep=*, - ] -}{ - \endenumerate -} -\char_make_active:N \< -\DeclareDocumentCommand \function { O{} } { - - \phantomsection - - \bool_gset_false:N \l_doc_meta_TF_bool - \bool_gset_false:N \l_doc_meta_pTF_bool - \bool_gset_false:N \l_doc_meta_EXP_bool - - \cs_set_nopar:Npn \KV_key_no_value_elt:n ##1 { \use:c {doc_meta_opt_##1:} } - \KV_parse_space_removal_sanitize:n {#1} - - \char_make_active:N \< - \cs_set_eq:NN < \doc_open_meta:n - - \group_begin: - \MakePrivateLetters - \char_make_other:N \| - \char_make_other:N \\ - \char_make_space:N \~ - \char_make_ignore:N \ % space - \char_make_ignore:N \^^M - \char_make_ignore:N \^^I - \function_aux:n -} -\char_make_other:N \< -\cs_set_eq:NN \variabledoc \function -\cs_set:Nn \doc_meta_opt_TF: { - \bool_gset_true:N \l_doc_meta_TF_bool -} -\cs_set:Nn \doc_meta_opt_EXP: { - \bool_gset_true:N \l_doc_meta_EXP_bool -} -\cs_set:Nn \doc_meta_opt_pTF: { - \bool_gset_true:N \l_doc_meta_pTF_bool - \bool_gset_true:N \l_doc_meta_TF_bool - \bool_gset_true:N \l_doc_meta_EXP_bool -} -\group_begin: -\char_make_other:N \| -\cs_gset_nopar:Npn \function_aux:n #1 { - \cs_set_nopar:Npn \nextnewline{\cs_gset_nopar:Npn\nextnewline{\\}} - \tl_gset_eq:NN \g_doc_macro_tl \c_empty_tl - \bigskip\endgraf\noindent\ttfamily - \tabular[b]{ | l @{} c | } - \hline - \clist_map_inline:nn {#1} {\doc_showmacro:w ##1 | \q_stop} \\ - \hline - \endtabular - \group_end: -} -\group_end: -\group_begin: -\char_make_other:N \| -\cs_gset_nopar:Npn \doc_showmacro:w #1 | { - \tl_if_blank:nTF {#1} { - \use_none:n - }{ - \doc_showmacro_aux:w #1 / \q_stop - \peek_meaning:NTF \q_stop { \use_none:n } { \doc_showmacro:w } - } -} -\group_end: -\bool_new:N \l_doc_meta_TF_bool -\bool_new:N \l_doc_meta_pTF_bool -\bool_new:N \l_doc_meta_EXP_bool -\cs_new_nopar:Npn \doc_showmacro_aux:w #1 / #2 \q_stop { - - \tl_if_in:nnT {#2} { (TF) } { - \bool_gset_true:N \l_doc_meta_TF_bool - } - - \tl_if_in:nnT {#2} { (EXP) } { - \bool_gset_true:N \l_doc_meta_EXP_bool - } - - \tl_if_in:nnT {#2} { (pTF) } { - \bool_gset_true:N \l_doc_meta_TF_bool - \bool_gset_true:N \l_doc_meta_pTF_bool - \bool_gset_true:N \l_doc_meta_EXP_bool - } - - \bool_if:NT \l_doc_meta_pTF_bool { - \tl_set:Nx \l_doc_pTF_name_tl { \doc_predicate_from_base:w #1 \q_nil } - \doc_special_main_index:o { \l_doc_pTF_name_tl } - \seq_gput_right:Nx \g_doc_functions_seq { \tl_to_str:N \l_doc_pTF_name_tl } - } - - \bool_if:NTF \l_doc_meta_TF_bool { - \doc_special_main_index:o { #1 TF } - \seq_gput_right:Nx \g_doc_functions_seq { \tl_to_str:n { #1 TF } } - \seq_gput_right:Nx \g_doc_functions_seq { \tl_to_str:n { #1 T } } - \seq_gput_right:Nx \g_doc_functions_seq { \tl_to_str:n { #1 F } } - }{ - \doc_special_main_index:o { #1 } - \seq_gput_right:Nx \g_doc_functions_seq { \tl_to_str:n { #1 } } - } - - \bool_if:NTF \l_doc_meta_pTF_bool { - \bool_gset_false:N \l_doc_meta_TF_bool - \exp_after:wN \doc_showmacro_aux_ii:w \l_doc_pTF_name_tl ::\q_stop - \bool_gset_true:N \l_doc_meta_TF_bool - \doc_showmacro_aux_ii:w #1::\q_stop - }{ - \doc_showmacro_aux_ii:w #1::\q_stop - } -} -\cs_set_nopar:Npn \doc_showmacro_aux_ii:w #1:#2:#3 \q_stop { - \nextnewline - \str_if_eq:xxTF {#1} {\g_doc_macro_tl} { - \doc_typeset_aux:n - }{ - \tl_gset:Nn \g_doc_macro_tl {#1} - \use:n - } - { \g_doc_macro_tl } - #3 - #2 - \bool_if:NT \l_doc_meta_TF_bool { \doc_typeset_TF: } - & - \bool_if:NT \l_doc_meta_EXP_bool { - \hspace{\tabcolsep} - $\star$ - } - \tl_set:Nx \g_doc_macro_tl { \tl_to_str:N \g_doc_macro_tl } - \exp_args:NNf \tl_replace_all_in:Nnn \g_doc_macro_tl {\token_to_str:N _} {/} - \exp_args:NNf \tl_replace_all_in:Nnn \g_doc_macro_tl {\@backslashchar} {} - \bool_if:NT \g_doc_full_bool { - \exp_args:Nf\label{doc/function/\g_doc_macro_tl#3#2} - } -} -\dim_new:N \g_doc_syntax_dim -\dim_set:Nn \g_doc_syntax_dim {0.7\textwidth} -\newenvironment{syntax}{ - \minipage[b]{\g_doc_syntax_dim} - \cs_set_nopar:Npn \meta@font@select{\rmfamily\itshape} % (Will: I HATE italic cmtt!) - \small\ttfamily\raggedright - \obeyspaces\obeylines -}{ - \endminipage - \hfil\break - \global\@ignoretrue -} -\tl_map_inline:nn {0123456789} { \cs_gset_eq:cN {char_other_#1} #1 } -\group_begin: - \tl_map_inline:nn {0123456789} { \char_make_active:N #1 } - \cs_new:Npn \doc_open_meta:n { - \group_begin: - \tl_map_function:nN {0123456789} \doc_assign_num:n - \doc_close_meta:w - } - \cs_new:Npn \Arg { - \texttt{ \char`\{ } - \group_begin: - \tl_map_function:nN {0123456789} \doc_assign_num:n - \doc_close_Arg:n - } -\group_end: -\cs_new_nopar:Npn \doc_close_meta:w #1> { \meta {#1} \group_end: } -\cs_new_nopar:Npn \doc_close_Arg:n #1 { - \meta {#1} - \group_end: - \texttt{ \char`\} } -} -\cs_new_nopar:Npn \doc_assign_num:n #1 { - \cs_set_eq:cc { \string #1 } { char_other_\string #1 } - \char_make_active:N #1 - \cs_set_nopar:Npn #1 { \unskip \, $ {} \sb { \use:c { char_other_\string #1 } } $ } -} -\renewcommand \macro [1][] { - - \int_compare:nNnTF \currentgrouplevel=2 - { \int_gzero:N \g_doc_nested_macro_int } - { \int_incr:N \g_doc_nested_macro_int } - - \bool_set_false:N \l_doc_macro_aux_bool - \bool_set_false:N \l_doc_macro_internal_bool - \bool_set_false:N \l_doc_macro_TF_bool - \bool_set_false:N \l_doc_macro_pTF_bool - \bool_set_false:N \l_doc_macro_var_bool - \bool_set_false:N \l_doc_tested_bool - - \cs_set_eq:NN \doc_macroname_prefix:n \use:n - \cs_set_eq:NN \doc_macroname_suffix: \c_empty_tl - - \cs_set_nopar:Npn \KV_key_no_value_elt:n ##1 { \use:c {doc_macro_opt_##1:} } - \KV_parse_space_removal_sanitize:n {#1} - - \cs_set_eq:NN \testfile \doc_print_testfile:n - - \group_begin: - \MakePrivateLetters - \char_make_letter:N \\ - \char_make_ignore:N \ % space - \char_make_ignore:N \^^M - \char_make_ignore:N \^^I - \doc_macro_aux:n -} -\cs_new_nopar:Npn \doc_macro_aux:n #1 { - \group_end: - \cs_set:Npn \l_doc_macro_input_clist {#1} - \bool_if:NTF \l_doc_macro_pTF_bool - { - \clist_map_inline:nn {#1} - { - \tl_if_blank:nF {##1} - { - \exp_args:Nf \doc_macro_single - { \doc_predicate_from_base:w ##1 \q_nil } - } - } - \bool_set_true:N \l_doc_macro_TF_bool - \clist_map_inline:nn {#1} - { \tl_if_blank:nF {##1} { \doc_macro_single {##1} } } - \bool_set_false:N \l_doc_macro_TF_bool - } - { - \clist_map_inline:nn {#1} - { \tl_if_blank:nF {##1} { \doc_macro_single {##1} } } - } -} -\bool_new:N \l_doc_macro_internal_bool -\bool_new:N \l_doc_macro_aux_bool -\bool_new:N \l_doc_macro_TF_bool -\bool_new:N \l_doc_macro_pTF_bool -\bool_new:N \l_doc_macro_var_bool -\cs_set_nopar:Npn \doc_macro_opt_aux: { \bool_set_true:N \l_doc_macro_aux_bool } -\cs_set_nopar:Npn \doc_macro_opt_internal: { \bool_set_true:N \l_doc_macro_internal_bool } -\cs_set_nopar:Npn \doc_macro_opt_TF: { \bool_set_true:N \l_doc_macro_TF_bool } -\cs_set_nopar:Npn \doc_macro_opt_pTF: { \bool_set_true:N \l_doc_macro_pTF_bool } -\cs_set_nopar:Npn \doc_macro_opt_var: { \bool_set_true:N \l_doc_macro_var_bool } -\cs_set:Npn \doc_predicate_from_base:w #1:#2 \q_nil {#1_p:#2} -\int_new:N \l_doc_macro_int -\cs_set_nopar:Npn \doc_macro_single #1 { - \int_incr:N \l_doc_macro_int - \tl_set:Nx \saved@macroname { \token_to_str:N #1 } - \topsep\MacroTopsep - \trivlist - \cs_set_nopar:Npn \makelabel ##1 { \llap{##1} } - \if@inlabel - \cs_set_eq:NN \@tempa \@empty - \count@ \macro@cnt - \loop \ifnum\count@>\z@ - \cs_set_nopar:Npx \@tempa{\@tempa\hbox{\strut}} - \advance\count@\m@ne - \repeat - \cs_set_nopar:Npx \makelabel ##1 { - \llap{\vtop to\baselineskip {\@tempa\hbox{##1}\vss}} - } - \advance \macro@cnt \@ne - \else - \macro@cnt \@ne - \fi - - \bool_if:NT \l_doc_macro_aux_bool { - \cs_set_eq:NN \doc_macroname_prefix:n \doc_typeset_aux:n - } - \bool_if:NT \l_doc_macro_TF_bool { - \cs_set_eq:NN \doc_macroname_suffix: \doc_typeset_TF: - } - - \bool_if:NF \l_doc_macro_aux_bool { - \tl_gset:Nx \l_doc_macro_tl { \tl_to_str:n {#1} } - \exp_args:NNf \tl_greplace_all_in:Nnn \l_doc_macro_tl {\token_to_str:N _} {/} - \exp_args:NNf \tl_greplace_all_in:Nnn \l_doc_macro_tl {\@backslashchar} {} - } - - \use:x { - \exp_not:N \item [ \exp_not:N \doc_print_macroname:n { - \tl_to_str:n {#1} - }] - } - \global\advance \c@CodelineNo \@ne - - \bool_if:NF \l_doc_macro_aux_bool { - \bool_if:NTF \l_doc_macro_TF_bool { - \seq_gput_right:Nx \g_doc_macros_seq { \tl_to_str:n { #1 TF } } - \seq_gput_right:Nx \g_doc_macros_seq { \tl_to_str:n { #1 T } } - \seq_gput_right:Nx \g_doc_macros_seq { \tl_to_str:n { #1 F } } - }{ - \seq_gput_right:Nx \g_doc_macros_seq { \tl_to_str:n {#1} } - } - } - \bool_if:NTF \l_doc_macro_TF_bool { - \SpecialMainIndex{#1 TF}\nobreak - \DoNotIndex{#1 TF} - }{ - \SpecialMainIndex{#1}\nobreak - \DoNotIndex{#1} - } - - \global\advance \c@CodelineNo \m@ne - \ignorespaces -} -\tl_clear:N \l_doc_macro_tl -\cs_set_nopar:Npn \doc_print_macroname:n #1 { - \strut - \int_compare:nTF { \tl_elt_count:n {#1} <= 28 } - { \MacroFont } { \MacroLongFont } - - % INEFFICIENT: (!) - \exp_args:NNx \seq_if_in:NnTF \g_doc_functions_seq - { #1 \bool_if:NT \l_doc_macro_TF_bool { \tl_to_str:n {TF} } } - { - \hyperref [doc/function/\l_doc_macro_tl] - } - { \use:n } - { - \doc_macroname_prefix:n {#1} \doc_macroname_suffix: \ % space! - } -} -\providecommand \MacroLongFont { - \fontfamily{lmtt}\fontseries{lc}\small -} -\cs_set_nopar:Npn \doc_typeset_TF: { - \itshape TF% - \makebox[0pt][r]{% - \color[gray]{0.5} - \underline { \phantom{\itshape TF} \kern-0.1em } - } -} -\cs_set_nopar:Npn \doc_typeset_aux:n #1 { - {\color[gray]{0.5} #1} -} -\DeclareDocumentCommand \doc_print_testfile:n {m} { - \bool_set_true:N \l_doc_tested_bool - \tl_if_eq:nnF {#1} {*} { - \seq_if_in:NnF \g_doc_testfiles_seq {#1} - { - \par{\footnotesize(\textit{ - The~ test~ suite~ for~ this~ command,~ and~ others~ in~ this~ file,~ is~ \textsf{#1}}. - )\par} - \seq_gput_right:Nn \g_doc_testfiles_seq {#1} - } - } -} -\seq_new:N \g_doc_testfiles_seq -\DeclareDocumentCommand \TestFiles {m} { - \par - {\itshape - The~ following~ test~ files~ are~ used~ for~ this~ code:~ \textsf{#1}. - } - \par\ignorespaces -} -\DeclareDocumentCommand \UnitTested {} { - \testfile* -} -\cs_generate_variant:Nn \prop_gput:Nnn {NVx} -\prop_new:N \g_doc_missing_tests_prop -\DeclareDocumentCommand \TestMissing {m} { - \prop_if_in:NVTF \g_doc_missing_tests_prop \l_doc_macro_input_clist - { - \prop_get:NVN \g_doc_missing_tests_prop \l_doc_macro_input_clist \l_tmpa_tl - \prop_gput:NVx \g_doc_missing_tests_prop \l_doc_macro_input_clist - { - *~ \l_tmpa_tl - ^^J \exp_not:n {\space\space\space\space\space\space} - *~ #1 - } - } - { \prop_gput:NVn \g_doc_missing_tests_prop \l_doc_macro_input_clist {#1} } -} -\cs_set_nopar:Npn \clist_length:N #1 { - \tex_number:D \etex_numexpr:D - 0 - \clist_map_function:NN #1 \tl_elt_count_aux:n - \scan_stop: -} -\cs_set_nopar:Npn \clist_length:n #1 { - \tex_number:D \etex_numexpr:D - 0 - \clist_map_function:nN {#1} \tl_elt_count_aux:n - \scan_stop: -} -\cs_set_nopar:Npn \clist_item:Nn #1#2 { - \exp_args:No \clist_item:nn {#1} {#2} -} -\cs_generate_variant:Nn \clist_item:Nn { c } -\cs_set:Npn \clist_item:nn #1#2 { - \int_compare:nNnTF {#2} < { 0 } - { - \exp_args:Nf \clist_item_aux:nw - { \clist_length:n {#1} + #2 } - #1 , \q_recursion_tail \q_recursion_stop - } - { - \clist_item_aux:nw {#2} #1 - , \q_recursion_tail \q_recursion_stop - } -} -\cs_set:Npn \clist_item_aux:nw #1#2 , #3 { - \int_compare:nNnTF {#1} = { 0 } - { \use_i_delimit_by_q_recursion_stop:nw {#2} } - { - \quark_if_recursion_tail_stop:n {#3} - \clist_item_aux:nw { #1 - 1 } #3 - } -} -\int_new:N \g_doc_nested_macro_int -\cs_set:Nn \doc_texttt_comma:n {\,,~\texttt{#1}} -\cs_set:Npn \endmacro { - \int_compare:nT {\g_doc_nested_macro_int<1} - { - \par\nobreak{\footnotesize(\emph{ - End~ definition~ for~ - \prg_case_int:nnn { \clist_length:N \l_doc_macro_input_clist } - { - {1} { \texttt{ \clist_use:N \l_doc_macro_input_clist }. } - {2} - { - \tl_set:Nx \l_clist_first_tl { \clist_item:Nn \l_doc_macro_input_clist {0} } - \tl_set:Nx \l_clist_last_tl { \clist_item:Nn \l_doc_macro_input_clist {1} } - \texttt{\l_clist_first_tl}\,~ and~ \texttt{\l_clist_last_tl}\,. - } - {3} - { - \tl_set:Nx \l_clist_first_tl { \clist_item:Nn \l_doc_macro_input_clist {0} } - \tl_set:Nx \l_clist_mid_tl { \clist_item:Nn \l_doc_macro_input_clist {1} } - \tl_set:Nx \l_clist_last_tl { \clist_item:Nn \l_doc_macro_input_clist {2} } - \texttt{\l_clist_first_tl}\,,~ - \texttt{\l_clist_mid_tl}\,,~ - and~ \texttt{\l_clist_last_tl}\,. - } - } - { - \tl_set:Nx \l_clist_first_tl { \clist_item:Nn \l_doc_macro_input_clist {0} } - \texttt{\l_clist_first_tl}\,~and~others. - } - \bool_if:nT { - !\l_doc_macro_aux_bool && - !\l_doc_macro_internal_bool && - \int_compare_p:n {\g_doc_nested_macro_int<1} - } - { - \int_compare:nNnTF \l_doc_macro_int=1 {~This~} {~These~} - \bool_if:NTF \l_doc_macro_var_bool{variable}{function} - \int_compare:nNnTF \l_doc_macro_int=1 {~is~}{s~are~} - documented~on~page~ - \exp_args:Nx\pageref{doc/function/\l_doc_macro_tl}. - } - })\par} - } - \bool_if:nT - { \g_doc_checktest_bool && - !( \l_doc_macro_aux_bool || \l_doc_macro_var_bool ) && - !\l_doc_tested_bool - } - { - \seq_gput_right:Nx \g_doc_not_tested_seq - { - \l_doc_macro_input_clist - \bool_if:NT \l_doc_macro_pTF_bool {~(pTF)} - \bool_if:NT \l_doc_macro_TF_bool {~(TF)} - } - } -} -\newcommand*{\DescribeOption}{ - \leavevmode - \@bsphack - \begingroup - \MakePrivateLetters - \Describe@Option -} -\newcommand*{\Describe@Option}[1]{ - \endgroup - \marginpar{ - \raggedleft - \PrintDescribeEnv{#1} - } - \SpecialOptionIndex{#1} - \@esphack - \ignorespaces -} -\newcommand*{\SpecialOptionIndex}[1]{ - \@bsphack - \begingroup - \HD@target - \let\HDorg@encapchar\encapchar - \edef\encapchar usage{ - \HDorg@encapchar hdclindex{\the\c@HD@hypercount}{usage} - } - \index{ - #1\actualchar{\protect\ttfamily#1}~(option) - \encapchar usage - } - \index{ - options:\levelchar#1\actualchar{\protect\ttfamily#1} - \encapchar usage - } - \endgroup - \@esphack -} -\font\manual=manfnt -\cs_set_nopar:Npn \dbend { {\manual\char127} } -\newenvironment {danger} { - \begin{trivlist}\item[]\noindent - \begingroup\hangindent=2pc\hangafter=-2 - \cs_set_nopar:Npn \par{\endgraf\endgroup} - \hbox to0pt{\hskip-\hangindent\dbend\hfill}\ignorespaces -}{ - \par\end{trivlist} -} -\newenvironment {ddanger} { - \begin{trivlist}\item[]\noindent - \begingroup\hangindent=3.5pc\hangafter=-2 - \cs_set_nopar:Npn \par{\endgraf\endgroup} - \hbox to0pt{\hskip-\hangindent\dbend\kern2pt\dbend\hfill}\ignorespaces -}{ - \par\end{trivlist} -} -\newenvironment{TemplateInterfaceDescription}[1] - {\subsection{The~object~type~`#1'}% - \begingroup - \@beginparpenalty\@M - \description - \def\TemplateArgument##1##2{\item[Arg:~##1]##2\par}% - \def\TemplateSemantics{\enddescription\endgroup - \subsubsection*{Semantics:}}% - } - {\par\bigskip} -\newenvironment{TemplateDescription}[2] - {\subsection{The~template~`#2'~(object~type~#1)}% - \subsubsection*{Attributes:}% - \begingroup - \@beginparpenalty\@M - \description - \def\TemplateKey##1##2##3##4{\item[##1~(##2)]##3% - \ifx\TemplateKey##4\TemplateKey\else - \hfill\penalty500\hbox{}\hfill Default:~##4% - \nobreak\hskip-\parfillskip\hskip0pt\relax - \fi - \par}% - \def\TemplateSemantics{\enddescription\endgroup - \subsubsection*{Semantics~\&~Comments:}}% - } - {\par\bigskip} -\newenvironment{InstanceDescription}[4][xxxxxxxxxxxxxxx] - {\subsubsection{The~instance~`#3'~(template~#2/#4)}% - \subsubsection*{Attribute~values:}% - \begingroup - \@beginparpenalty\@M - \def\InstanceKey##1##2{\>\textbf{##1}\>##2\\}% - \def\InstanceSemantics{\endtabbing\endgroup - \vskip-30pt\vskip0pt - \subsubsection*{Layout~description~\&~Comments:}}% - \tabbing - xxxx\=#1\=\kill - } - {\par\bigskip} -\bool_new:N \g_doc_implementation_bool -\cs_set_nopar:Npn \AlsoImplementation { - \bool_set_true:N \g_doc_implementation_bool - \cs_set:Npn \StopEventually ##1 { - \@bsphack - \cs_gset_nopar:Npn \Finale { ##1 \check@checksum } - \init@checksum - \@esphack - } -} -\AlsoImplementation -\cs_set_nopar:Npn \OnlyDescription { - \@bsphack - \bool_set_false:N \g_doc_implementation_bool - \cs_set:Npn \StopEventually ##1 { ##1 \endinput } - \@esphack -} -\cs_set_eq:NN \Finale \relax -\cs_set_nopar:Npn \partname{File} -\clist_new:N \g_docinput_clist -\cs_set:Npn \DocInput #1 { - \clist_map_inline:nn {#1} { - \clist_put_right:Nn \g_docinput_clist {##1} - \MakePercentIgnore - \input{##1} - \MakePercentComment - } -} -\cs_set:Npn \DocInputAgain { - \clist_map_inline:Nn \g_docinput_clist { - \MakePercentIgnore - \input{##1} - \MakePercentComment - } -} -\cs_set_nopar:Npn \partname{File} -\newcommand*{\DocInclude}[1]{% - \relax\clearpage - \docincludeaux - \IfFileExists{#1.fdd}{ - \cs_set_nopar:Npn \currentfile{#1.fdd} - }{ - \cs_set_nopar:Npn \currentfile{#1.dtx} - } - \ifnum\@auxout=\@partaux - \@latexerr{\string\include\space cannot~be~nested}\@eha - \else - \@docinclude #1 - \fi -} -\cs_set_nopar:Npn \@docinclude #1 { - \clearpage - \immediate\write\@mainaux{\string\@input{#1.aux}} - \@tempswatrue - \if@partsw - \@tempswafalse - \cs_set_nopar:Npx \@tempb{#1} - \@for\@tempa:=\@partlist\do{ - \ifx\@tempa\@tempb\@tempswatrue\fi - } - \fi - \if@tempswa - \cs_set_eq:NN \@auxout\@partaux - \immediate\openout\@partaux #1.aux - \immediate\write\@partaux{\relax} - \cs_set_eq:NN \@ltxdoc@PrintIndex\PrintIndex - \cs_set_eq:NN \PrintIndex\relax - \cs_set_eq:NN \@ltxdoc@PrintChanges\PrintChanges - \cs_set_eq:NN \PrintChanges\relax - \cs_set_eq:NN \@ltxdoc@theglossary\theglossary - \cs_set_eq:NN \@ltxdoc@endtheglossary\endtheglossary - \part{\currentfile} - { - \cs_set_eq:NN \ttfamily\relax - \cs_gset_nopar:Npx \filekey{\filekey, \thepart={\ttfamily\currentfile}} - } - \DocInput{\currentfile} - \cs_set_eq:NN \PrintIndex\@ltxdoc@PrintIndex - \cs_set_eq:NN \PrintChanges\@ltxdoc@PrintChanges - \cs_set_eq:NN \theglossary\@ltxdoc@theglossary - \cs_set_eq:NN \endtheglossary\@ltxdoc@endtheglossary - \clearpage - \@writeckpt{#1} - \immediate\closeout\@partaux - \else - \@nameuse{cp@#1} - \fi - \cs_set_eq:NN \@auxout\@mainaux -} -\cs_gset_nopar:Npn \codeline@wrindex #1 { - \immediate\write\@indexfile { - \string\indexentry{#1} - {\filesep\number\c@CodelineNo} - } -} -\cs_set_eq:NN \filesep \@empty -\cs_set_nopar:Npn \docincludeaux { - \cs_set_nopar:Npn \thepart {\alphalph{part}} - \cs_set_nopar:Npn \filesep {\thepart-} - \cs_set_eq:NN \filekey\@gobble - \g@addto@macro\index@prologue{ - \cs_gset_nopar:Npn\@oddfoot{ - \parbox{\textwidth}{ - \strut\footnotesize - \raggedright{\bfseries File~Key:}~\filekey - } - } - \cs_set_eq:NN \@evenfoot\@oddfoot - } - \cs_gset_eq:NN \docincludeaux\relax - \cs_gset_nopar:Npn\@oddfoot{ - \expandafter\ifx\csname ver@\currentfile\endcsname\relax - File~\thepart :~{\ttfamily\currentfile}~ - \else - \GetFileInfo{\currentfile} - File~\thepart :~{\ttfamily\filename}~ - Date:~\filedate\ % space - Version~\fileversion - \fi - \hfill\thepage - } - \cs_set_eq:NN \@evenfoot \@oddfoot -} -\seq_new:N \g_doc_functions_seq -\seq_new:N \g_doc_macros_seq -\seq_new:N \g_doc_not_tested_seq -\iow_open:Nn \g_write_func_stream { \jobname.cmds } -\cs_new_nopar:Npn \doc_show_functions_defined: { - \bool_if:nT { \g_doc_implementation_bool && \g_doc_checkfunc_bool } { - \typeout{ ======================================== ^^J } - - \tl_clear:N \l_tmpa_tl - \seq_map_inline:Nn \g_doc_functions_seq { - \seq_if_in:NnT \g_doc_macros_seq {##1} { - \tl_put_right:Nn \l_tmpa_tl { ##1 ^^J } - \iow_now:Nn \g_write_func_stream { ##1 } - } - } - \iow_close:N \g_write_func_stream - \doc_functions_typeout:n { - Functions~both~documented~and~defined:^^J (In~order~of~being~documented) - } - - \seq_map_inline:Nn \g_doc_functions_seq { - \seq_if_in:NnF \g_doc_macros_seq {##1} { - \tl_put_right:Nn \l_tmpa_tl { ##1 ^^J } - } - } - \doc_functions_typeout:n { Functions~documented~but~not~defined: } - - \seq_map_inline:Nn \g_doc_macros_seq { - \seq_if_in:NnF \g_doc_functions_seq {##1} { - \tl_put_right:Nn \l_tmpa_tl { ##1 ^^J } - } - } - \doc_functions_typeout:n { Functions~defined~but~not~documented: } - - \typeout{ ======================================== } - } -} -\AtEndDocument{ \doc_show_functions_defined: } -\cs_set_nopar:Npn \doc_functions_typeout:n #1 { - \tl_if_empty:NF \l_tmpa_tl { - \typeout{ - -------------------------------------- ^^J #1 ^^J - -------------------------------------- ^^J \l_tmpa_tl - } - \tl_clear:N \l_tmpa_tl - } -} -\cs_new:Npn \doc_show_not_tested: { - \bool_if:NT \g_doc_checktest_bool - { - \bool_if:nT { !(\seq_if_empty_p:N \g_doc_not_tested_seq) || - !(\prop_if_empty_p:N \g_doc_missing_tests_prop) } - { - \tl_clear:N \l_tmpa_tl - \prop_if_empty:NF \g_doc_missing_tests_prop - { - \tl_put_right:Nn \l_tmpa_tl - { - ^^J^^JThe~ following~ macro(s)~ have~ incomplete~ tests:^^J - } - \prop_map_inline:Nn \g_doc_missing_tests_prop - { - \tl_put_right:Nn \l_tmpa_tl - {^^J\space\space\space\space ##1 - ^^J\space\space\space\space\space\space ##2} - } - } - \seq_if_empty:NF \g_doc_not_tested_seq - { - \tl_put_right:Nn \l_tmpa_tl - { - ^^J^^J - The~ following~ macro(s)~ do~ not~ have~ any~ tests:^^J - } - \seq_map_inline:Nn \g_doc_not_tested_seq - { - \clist_map_inline:nn {##1} - { - \tl_put_right:Nn \l_tmpa_tl {^^J\space\space\space\space ####1} - } - } - \int_set:Nn \l_tmpa_int {\etex_interactionmode:D} - \errorstopmode - \ClassError{l3doc}{\l_tmpa_tl}{} - \int_set:Nn \etex_interactionmode:D {\l_tmpa_int} - } - } - } -} -\AtEndDocument{ \doc_show_not_tested: } -\g@addto@macro\theindex{\MakePrivateLetters} -\cs_set:Npn \verbatimchar {&} -\setcounter{IndexColumns}{2} -\IndexPrologue{ - \part*{Index} - \markboth{Index}{Index} - \addcontentsline{toc}{part}{Index} - The~italic~numbers~denote~the~pages~where~the~ - corresponding~entry~is~described,~ - numbers~underlined~point~to~the~definition,~ - all~others~indicate~the~places~where~it~is~used. -} - -\cs_set_nopar:Npn \doc_special_main_index:n #1 { - \index{ - \@gobble#1 - \actualchar - \string\verb\quotechar*\verbatimchar#1\verbatimchar - \encapchar - hdpgindex{\thepage}{usage} - } -} -\cs_set_nopar:Npn \doc_special_main_index:o { \exp_args:No \doc_special_main_index:n } -\cs_set_nopar:Npn \hdpgindex #1#2#3 { - \csname\ifx\\#2\\relax\else#2\fi\endcsname{ - \hyperlink{page.#1}{#3} - } -} -\g@addto@macro \PrintIndex { \AtEndDocument{ \typeout{^^J - ========================================^^J - Generate~the~index~by~executing^^J - \c_space_tl \c_space_tl \c_space_tl \c_space_tl - makeindex~-s~l3doc.ist~-o~\jobname.ind~\jobname.idx^^J - ========================================^^J - }} -} -\GlossaryPrologue{ - \part*{Change~History} - {\GlossaryParms\ttfamily\hyphenchar\font=`\-} - \markboth{Change~History}{Change~History} - \addcontentsline{toc}{part}{Change~History} -} -\g@addto@macro \PrintChanges { \AtEndDocument{ \typeout{^^J - ========================================^^J - Generate~the~change~list~by~executing^^J - \c_space_tl \c_space_tl \c_space_tl \c_space_tl - makeindex~-s~gglo.ist~~-o~\jobname.gls~\jobname.glo^^J - ========================================^^J - }} -} -\bool_if:NTF \g_doc_full_bool { - \RecordChanges - \CodelineIndex - \EnableCrossrefs - \AlsoImplementation -}{ - \CodelineNumbered - \DisableCrossrefs - \OnlyDescription -} -%% -%% -%% End of file `l3doc.cls'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3expan.sty b/Master/texmf-dist/tex/latex/expl3/l3expan.sty deleted file mode 100644 index 583e20f8513..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3expan.sty +++ /dev/null @@ -1,334 +0,0 @@ -%% -%% 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-2010 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3expan.dtx 2223 2011-04-09 12:57:14Z will $ - {L3 Experimental Argument Expansion module} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\cs_new_nopar:Npn \l_exp_tl {} -\cs_new:Npn\exp_arg_next:nnn#1#2#3{ - #2\:::{#3{#1}} -} -\cs_new:Npn\exp_arg_next_nobrace:nnn#1#2#3{ - #2\:::{#3#1} -} -\cs_new:Npn\:::#1{#1} -\cs_new:Npn\::n#1\:::#2#3{ - #1\:::{#2{#3}} -} -\cs_new:Npn\::N#1\:::#2#3{ - #1\:::{#2#3} -} -\cs_new:Npn\::c#1\:::#2#3{ - \exp_after:wN\exp_arg_next_nobrace:nnn\cs:w #3\cs_end:{#1}{#2} -} -\cs_new:Npn\::o#1\:::#2#3{ - \exp_after:wN\exp_arg_next:nnn\exp_after:wN{#3}{#1}{#2} -} -\cs_new:Npn\::f#1\:::#2#3{ - \exp_after:wN\exp_arg_next:nnn - \exp_after:wN{\tex_romannumeral:D -`0 #3} - {#1}{#2} -} -\cs_new_nopar:Npn \exp_stop_f: {~} - \cs_new_protected:Npn \::x #1 \::: #2#3 { - \cs_set_nopar:Npx \l_exp_tl {{#3}} - \exp_after:wN \exp_arg_next:nnn \l_exp_tl {#1}{#2} - } -\cs_new:Npn \::V#1\:::#2#3{ - \exp_after:wN\exp_arg_next:nnn - \exp_after:wN{ - \tex_romannumeral:D -`0 - \exp_eval_register:N #3 - } - {#1}{#2} -} -\cs_new:Npn \::v#1\:::#2#3{ - \exp_after:wN\exp_arg_next:nnn - \exp_after:wN{ - \tex_romannumeral:D -`0 - \exp_eval_register:c {#3} - } - {#1}{#2} -} -\cs_set_nopar:Npn \exp_eval_register:N #1{ - \exp_after:wN \if_meaning:w \exp_not:N #1#1 - \if_meaning:w \tex_relax:D #1 - \exp_eval_error_msg:w - \fi: - \else: - \exp_after:wN \use_i_ii:nnn - \fi: - \exp_after:wN \exp_stop_f: \tex_the:D #1 -} -\cs_set_nopar:Npn \exp_eval_register:c #1{ - \exp_after:wN\exp_eval_register:N\cs:w #1\cs_end: -} -\group_begin:% -\tex_catcode:D`\!=11\tex_relax:D% -\tex_catcode:D`\ =11\tex_relax:D% -\cs_gset:Npn\exp_eval_error_msg:w#1\tex_the:D#2{% -\fi:\fi:\erroneous variable used!}% -\group_end:% -\cs_new:Npn \exp_args:No #1#2{\exp_after:wN#1\exp_after:wN{#2}} -\cs_new:Npn \exp_args:NNo #1#2#3{\exp_after:wN#1\exp_after:wN#2 - \exp_after:wN{#3}} -\cs_new:Npn \exp_args:NNNo #1#2#3#4{\exp_after:wN#1\exp_after:wN#2 - \exp_after:wN#3\exp_after:wN{#4}} -\cs_set:Npn \exp_args:Nc #1#2{\exp_after:wN#1\cs:w#2\cs_end:} -\cs_new:Npn \exp_args:cc #1#2{\cs:w #1\exp_after:wN\cs_end:\cs:w #2\cs_end:} -\cs_new:Npn \exp_args:NNc #1#2#3{\exp_after:wN#1\exp_after:wN#2 - \cs:w#3\cs_end:} -\cs_new:Npn \exp_args:Ncc #1#2#3{\exp_after:wN#1 - \cs:w#2\exp_after:wN\cs_end:\cs:w#3\cs_end:} -\cs_new:Npn \exp_args:Nccc #1#2#3#4{\exp_after:wN#1 - \cs:w#2\exp_after:wN\cs_end:\cs:w#3\exp_after:wN - \cs_end:\cs:w #4\cs_end:} -\cs_new:Npn \exp_args:Nco #1#2#3{\exp_after:wN#1\cs:w#2\exp_after:wN - \cs_end:\exp_after:wN{#3}} -\cs_set_nopar:Npn \exp_args:Nf {\::f\:::} -\cs_set_nopar:Npn \exp_args:Nv {\::v\:::} -\cs_set_nopar:Npn \exp_args:NV {\::V\:::} -\cs_set_protected_nopar:Npn \exp_args:Nx {\::x\:::} -\cs_set_nopar:Npn \exp_args:NNf {\::N\::f\:::} -\cs_set_nopar:Npn \exp_args:NNv {\::N\::v\:::} -\cs_set_nopar:Npn \exp_args:NNV {\::N\::V\:::} -\cs_set_protected_nopar:Npn \exp_args:NNx {\::N\::x\:::} - -\cs_set_protected_nopar:Npn \exp_args:Ncx {\::c\::x\:::} -\cs_set_nopar:Npn \exp_args:Nfo {\::f\::o\:::} -\cs_set_nopar:Npn \exp_args:Nff {\::f\::f\:::} -\cs_set_nopar:Npn \exp_args:Ncf {\::c\::f\:::} -\cs_set_nopar:Npn \exp_args:Nnf {\::n\::f\:::} -\cs_set_nopar:Npn \exp_args:Nno {\::n\::o\:::} -\cs_set_nopar:Npn \exp_args:NnV {\::n\::V\:::} -\cs_set_protected_nopar:Npn \exp_args:Nnx {\::n\::x\:::} - -\cs_set_nopar:Npn \exp_args:Noc {\::o\::c\:::} -\cs_set_nopar:Npn \exp_args:Noo {\::o\::o\:::} -\cs_set_protected_nopar:Npn \exp_args:Nox {\::o\::x\:::} - -\cs_set_nopar:Npn \exp_args:NVV {\::V\::V\:::} - -\cs_set_protected_nopar:Npn \exp_args:Nxo {\::x\::o\:::} -\cs_set_protected_nopar:Npn \exp_args:Nxx {\::x\::x\:::} -\cs_set_nopar:Npn \exp_args:NNNV {\::N\::N\::V\:::} - -\cs_set_nopar:Npn \exp_args:NNno {\::N\::n\::o\:::} -\cs_set_protected_nopar:Npn \exp_args:NNnx {\::N\::n\::x\:::} -\cs_set_nopar:Npn \exp_args:NNoo {\::N\::o\::o\:::} -\cs_set_protected_nopar:Npn \exp_args:NNox {\::N\::o\::x\:::} - -\cs_set_nopar:Npn \exp_args:Nnnc {\::n\::n\::c\:::} -\cs_set_nopar:Npn \exp_args:Nnno {\::n\::n\::o\:::} -\cs_set_protected_nopar:Npn \exp_args:Nnnx {\::n\::n\::x\:::} -\cs_set_protected_nopar:Npn \exp_args:Nnox {\::n\::o\::x\:::} - -\cs_set_nopar:Npn \exp_args:NcNc {\::c\::N\::c\:::} -\cs_set_nopar:Npn \exp_args:NcNo {\::c\::N\::o\:::} -\cs_set_nopar:Npn \exp_args:Ncco {\::c\::c\::o\:::} -\cs_set_nopar:Npn \exp_args:Ncco {\::c\::c\::o\:::} -\cs_set_protected_nopar:Npn \exp_args:Nccx {\::c\::c\::x\:::} -\cs_set_protected_nopar:Npn \exp_args:Ncnx {\::c\::n\::x\:::} - -\cs_set_protected_nopar:Npn \exp_args:Noox {\::o\::o\::x\:::} -\cs_set_nopar:Npn \exp_args:Nooo {\::o\::o\::o\:::} -\cs_new:Npn\exp_not:o#1{\exp_not:n\exp_after:wN{#1}} -\cs_new:Npn\exp_not:f#1{ - \exp_not:n\exp_after:wN{\tex_romannumeral:D -`0 #1} -} -\cs_new:Npn\exp_not:v#1{ - \exp_not:n\exp_after:wN{\tex_romannumeral:D -`0 \exp_eval_register:c {#1}} -} -\cs_new:Npn\exp_not:V#1{ - \exp_not:n\exp_after:wN{\tex_romannumeral:D -`0 \exp_eval_register:N #1} -} -\cs_new:Npn\exp_not:c#1{\exp_after:wN\exp_not:N\cs:w#1\cs_end:} -\cs_new_protected:Npn \cs_generate_variant:Nn #1 { - \chk_if_exist_cs:N #1 - \cs_split_function:NN #1 \cs_generate_variant_aux:nnNn -} -\cs_set:Npn \cs_generate_variant_aux:nnNn #1#2#3#4{ - \cs_generate_variant_aux:nnw {#1}{#2} #4,?,\q_recursion_stop -} -\cs_set:Npn \cs_generate_variant_aux:nnw #1 #2 #3, { - \if:w ? #3 - \exp_after:wN \use_none_delimit_by_q_recursion_stop:w - \fi: - \cs_if_free:cTF { - #1:#3\use:c {use_none:\cs_generate_variant_aux:N #3 ?}#2 - } - { - \_cs_generate_variant_aux:ccpx { #1 : #2 } - { - #1:#3 \use:c{use_none:\cs_generate_variant_aux:N #3 ?}#2 - } - { - \exp_not:c { exp_args:N #3} \exp_not:c {#1:#2} - } - \cs_generate_internal_variant:n {#3} - } - { - \iow_log:x{ - Variant~\token_to_str:c { - #1:#3\use:c {use_none:\cs_generate_variant_aux:N #3 ?}#2 - }~already~defined;~ not~ changing~ it~on~line~ - \tex_the:D \tex_inputlineno:D - } - } - \cs_generate_variant_aux:nnw{#1}{#2} -} -\cs_set:Npn \cs_generate_variant_aux:N #1{ - \if:w ?#1 \exp_after:wN\use_none:nn \fi: n \cs_generate_variant_aux:N -} -\group_begin: - \tex_lccode:D `\Z = `\d \scan_stop: - \tex_lccode:D `\? =`\\ \scan_stop: - \tex_catcode:D `\P = 12 \scan_stop: - \tex_catcode:D `\R = 12 \scan_stop: - \tex_catcode:D `\O = 12 \scan_stop: - \tex_catcode:D `\T = 12 \scan_stop: - \tex_catcode:D `\E = 12 \scan_stop: - \tex_catcode:D `\C = 12 \scan_stop: - \tex_catcode:D `\Z = 12 \scan_stop: -\tex_lowercase:D { - \group_end: - \cs_new_nopar:Npn \_cs_generate_variant_aux:Ncpx #1 - { - \exp_after:wN \_cs_generate_variant_aux:w - \tex_meaning:D #1 ? PROTECTEZ \q_stop - } - \cs_new_nopar:Npn \_cs_generate_variant_aux:ccpx - { \exp_args:Nc \_cs_generate_variant_aux:Ncpx} - \cs_new:Npn \_cs_generate_variant_aux:w - #1 ? PROTECTEZ #2 \q_stop - { - \exp_after:wN \tex_ifx:D \exp_after:wN - \q_no_value \etex_detokenize:D {#1} \q_no_value - \exp_after:wN \cs_new_protected_nopar:cpx - \tex_else:D - \exp_after:wN \cs_new_nopar:cpx - \tex_fi:D - } -} -\cs_new_protected:Npn \cs_generate_internal_variant:n #1 { - \cs_if_free:cT { exp_args:N #1 }{ - \cs_new:cpx { exp_args:N #1 } - { \cs_generate_internal_variant_aux:n #1 : } - } -} -\cs_new:Npn \cs_generate_internal_variant_aux:n #1 { - \exp_not:c{::#1} - \if_meaning:w #1 : - \exp_after:wN \use_none:n - \fi: - \cs_generate_internal_variant_aux:n -} -\cs_new:Npn \exp_arg_last_unbraced:nn #1#2 { #2#1 } -\cs_new:Npn \::f_unbraced \:::#1#2 { - \exp_after:wN \exp_arg_last_unbraced:nn - \exp_after:wN { \tex_romannumeral:D -`0 #2 } {#1} -} -\cs_new:Npn \::o_unbraced \:::#1#2 { - \exp_after:wN \exp_arg_last_unbraced:nn \exp_after:wN {#2 }{#1} -} -\cs_new:Npn \::V_unbraced \:::#1#2 { - \exp_after:wN \exp_arg_last_unbraced:nn - \exp_after:wN { \tex_romannumeral:D -`0 \exp_eval_register:N #2 } {#1} -} -\cs_new:Npn \::v_unbraced \:::#1#2 { - \exp_after:wN \exp_arg_last_unbraced:nn - \exp_after:wN { - \tex_romannumeral:D -`0 \exp_eval_register:c {#2} - } {#1} -} -\cs_new_nopar:Npn \exp_last_unbraced:Nf { \::f_unbraced \::: } -\cs_new_nopar:Npn \exp_last_unbraced:NV { \::V_unbraced \::: } -\cs_new_nopar:Npn \exp_last_unbraced:No { \::o_unbraced \::: } -\cs_new_nopar:Npn \exp_last_unbraced:Nv { \::v_unbraced \::: } -\cs_new_nopar:Npn \exp_last_unbraced:NcV { - \::c \::V_unbraced \::: -} -\cs_new_nopar:Npn \exp_last_unbraced:NNV { - \::N \::V_unbraced \::: -} -\cs_new:Npn \exp_last_unbraced:NNo #1#2#3 { - \exp_after:wN #1 \exp_after:wN #2 #3 -} -\cs_new_nopar:Npn \exp_last_unbraced:NNNV { - \::N \::N \::V_unbraced \::: -} -\cs_new:Npn \exp_last_unbraced:NNNo #1#2#3#4 { - \exp_after:wN #1 \exp_after:wN #2 \exp_after:wN #3 #4 -} -\cs_generate_variant:Nn \str_if_eq_p:nn { V } -\cs_generate_variant:Nn \str_if_eq_p:nn { o } -\cs_generate_variant:Nn \str_if_eq_p:nn { nV } -\cs_generate_variant:Nn \str_if_eq_p:nn { no } -\cs_generate_variant:Nn \str_if_eq_p:nn { VV } -\cs_generate_variant:Nn \str_if_eq:nnT { V } -\cs_generate_variant:Nn \str_if_eq:nnT { o } -\cs_generate_variant:Nn \str_if_eq:nnT { nV } -\cs_generate_variant:Nn \str_if_eq:nnT { no } -\cs_generate_variant:Nn \str_if_eq:nnT { VV } -\cs_generate_variant:Nn \str_if_eq:nnF { V } -\cs_generate_variant:Nn \str_if_eq:nnF { o } -\cs_generate_variant:Nn \str_if_eq:nnF { nV } -\cs_generate_variant:Nn \str_if_eq:nnF { no } -\cs_generate_variant:Nn \str_if_eq:nnF { VV } -\cs_generate_variant:Nn \str_if_eq:nnTF { V } -\cs_generate_variant:Nn \str_if_eq:nnTF { o } -\cs_generate_variant:Nn \str_if_eq:nnTF { nV } -\cs_generate_variant:Nn \str_if_eq:nnTF { no } -\cs_generate_variant:Nn \str_if_eq:nnTF { VV } -%% -%% -%% End of file `l3expan.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3file.sty b/Master/texmf-dist/tex/latex/expl3/l3file.sty deleted file mode 100644 index d651ce408d5..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3file.sty +++ /dev/null @@ -1,136 +0,0 @@ -%% -%% This is file `l3file.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3file.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: l3file.dtx Copyright (C) 2009-2011 by -%% The LaTeX3 Project <latex-team@latex-project.org> -%% -%% 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: l3file.dtx 2242 2011-04-21 08:07:24Z joseph $ - {The LaTeX3 kernel: file operations} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\tl_new:N \g_file_current_name_tl -\tl_gset_eq:NN \g_file_current_name_tl \@currname -\seq_new:N \g_file_stack_seq -\seq_new:N \g_file_record_seq -\tl_new:N \l_file_name_tl -\seq_new:N \l_file_search_path_seq -\seq_new:N \l_file_search_path_saved_seq -\cs_new_protected_nopar:Npn \file_add_path:nN #1#2 - { - \ior_open:Nn \g_file_test_stream {#1} - \ior_if_eof:NTF \g_file_test_stream - { \file_add_path_search:nN {#1} #2 } - { - \ior_close:N \g_file_test_stream - \tl_set:Nx #2 {#1} - } - } -\cs_new_protected_nopar:Npn \file_add_path_search:nN #1#2 - { - \tl_clear:N #2 - \cs_if_exist:NT \input@path - { - \seq_set_eq:NN \l_file_search_path_saved_seq \l_file_search_path_seq - \clist_map_inline:Nn \input@path - { \seq_put_right:Nn \l_file_search_path_seq {##1} } - } - \seq_map_inline:Nn \l_file_search_path_seq - { - \ior_open:Nn \g_file_test_stream { ##1 #1 } - \ior_if_eof:NF \g_file_test_stream - { - \tl_set:Nx #2 { ##1 #1 } - \seq_map_break: - } - } - \cs_if_exist:NT \input@path - { \seq_set_eq:NN \l_file_search_path_seq \l_file_search_path_saved_seq } - \ior_close:N \g_file_test_stream - } -\prg_new_protected_conditional:Nnn \file_if_exist:n { T , F , TF } - { - \file_add_path:nN {#1} \l_file_name_tl - \tl_if_empty:NTF \l_file_name_tl - { \prg_return_false: } - { \prg_return_true: } - } -\cs_new_protected_nopar:Npn \file_input:n #1 - { - \file_add_path:nN {#1} \l_file_name_tl - \tl_if_empty:NF \l_file_name_tl - { - \@addtofilelist {#1} - \seq_gpush:NV \g_file_stack_seq \g_file_current_name_tl - \tl_gset:Nn \g_file_current_name_tl {#1} - \tex_expandafter:D \tex_input:D \l_file_name_tl ~ - \seq_gpop:NN \g_file_stack_seq \g_file_current_name_tl - } - } -\cs_new_protected_nopar:Npn \file_path_include:n #1 - { - \seq_if_in:NnF \l_file_search_path_seq {#1} - { \seq_put_right:Nn \l_file_search_path_seq {#1} } - } -\cs_new_protected_nopar:Npn \file_path_remove:n #1 - { \seq_remove_all:Nn \l_file_search_path_seq {#1} } -\cs_new_protected_nopar:Npn \file_list: - { - \seq_remove_duplicates:N \g_file_record_seq - \iow_log:n { *~File~List~* } - \seq_map_inline:Nn \g_file_record_seq { \iow_log:n {##1} } - \iow_log:n { ************* } - } -\AtBeginDocument - { - \clist_map_inline:Nn \@filelist - { \seq_put_right:Nn \g_file_record_seq {#1} } - } -%% -%% -%% End of file `l3file.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3font.sty b/Master/texmf-dist/tex/latex/expl3/l3font.sty deleted file mode 100644 index 81e9661ba75..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3font.sty +++ /dev/null @@ -1,107 +0,0 @@ -%% -%% This is file `l3font.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3font.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: l3font.dtx Copyright (C) 1990-2011 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3font.dtx 2223 2011-04-09 12:57:14Z will $ - {L3 Experimental Font Loading} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\cs_new_protected:Npn \fontface_set:Nnn #1#2#3 { - \tex_font:D #1 = #2 ~at~ #3 \scan_stop: -} -\cs_new_protected:Npn \fontface_gset:Nnn #1#2#3 { - \tex_global:D \tex_font:D #1 = #2 ~at~ #3 \scan_stop: -} -\cs_generate_variant:Nn \fontface_set:Nnn {c} -\cs_generate_variant:Nn \fontface_gset:Nnn {c} -\cs_set_eq:NN \fontface_set_eq:NN \tex_let:D -\cs_set_protected:Npn \fontface_gset_eq:NN { \tex_global:D \tex_let:D } -\cs_set:Npn \fontface_set_to_current:N #1 { - \exp_after:wN \fontface_set_eq:NN \exp_after:wN #1 \tex_the:D \tex_font:D -} -\cs_set:Npn \fontface_gset_to_current:N #1 { - \tex_global:D \exp_after:wN \fontface_set_eq:NN \exp_after:wN #1 \tex_the:D \tex_font:D -} -\luatex_if_engine:TF -{ - \cs_new:Npn \font_suppress_not_found_error: - {\luatexsuppressfontnotfounderror=\c_one} - \cs_new:Npn \font_enable_not_found_error: - {\luatexsuppressfontnotfounderror=\c_zero} -} -{ - \xetex_if_engine:TF - { - \cs_new:Npn \font_suppress_not_found_error: - {\suppressfontnotfounderror=\c_one} - \cs_new:Npn \font_enable_not_found_error: - {\suppressfontnotfounderror=\c_zero} - } - { - \cs_new:Npn \font_suppress_not_found_error: - { - \msg_kernel_warning:nnx {l3font} {cmd-pdftex-unavail} - {\font_suppress_not_found_error:} - } - } -} -\msg_kernel_new:nnn {l3font} {cmd-pdftex-unavail} { - The~ command~ `\exp_not:n{#1}'~ is~ not~ available~ for~ the~ pdfTeX~ format. -} -\prg_new_conditional:Nnn \fontface_if_null:N {p,TF,T,F} { - \if_meaning:w #1 \tex_nullfont:D - \prg_return_true: - \else: - \prg_return_false: - \fi: -} -%% -%% -%% End of file `l3font.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3fp.sty b/Master/texmf-dist/tex/latex/expl3/l3fp.sty deleted file mode 100644 index 9c042acad1b..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3fp.sty +++ /dev/null @@ -1,3434 +0,0 @@ -%% -%% This is file `l3fp.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3fp.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: l3fp.dtx Copyright (C) 2010-2011 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3fp.dtx 2201 2011-03-19 17:16:13Z joseph $ - {L3 Experimental floating-point operations} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\int_const:Nn \c_forty_four { 44 } -\int_const:Nn \c_one_hundred { 100 } -\int_const:Nn \c_one_thousand { 1000 } -\int_const:Nn \c_one_million { 1 000 000 } -\int_const:Nn \c_one_hundred_million { 100 000 000 } -\int_const:Nn \c_five_hundred_million { 500 000 000 } -\int_const:Nn \c_one_thousand_million { 1 000 000 000 } -\int_new:N \c_fp_pi_by_four_decimal_int -\int_set:Nn \c_fp_pi_by_four_decimal_int { 785 398 158 } -\int_new:N \c_fp_pi_by_four_extended_int -\int_set:Nn \c_fp_pi_by_four_extended_int { 897 448 310 } -\int_new:N \c_fp_pi_decimal_int -\int_set:Nn \c_fp_pi_decimal_int { 141 592 653 } -\int_new:N \c_fp_pi_extended_int -\int_set:Nn \c_fp_pi_extended_int { 589 793 238 } -\int_new:N \c_fp_two_pi_decimal_int -\int_set:Nn \c_fp_two_pi_decimal_int { 283 185 307 } -\int_new:N \c_fp_two_pi_extended_int -\int_set:Nn \c_fp_two_pi_extended_int { 179 586 477 } -\tl_new:N \c_e_fp -\tl_set:Nn \c_e_fp { + 2.718281828 e 0 } -\tl_new:N \c_one_fp -\tl_set:Nn \c_one_fp { + 1.000000000 e 0 } -\tl_new:N \c_pi_fp -\tl_set:Nn \c_pi_fp { + 3.141592654 e 0 } -\tl_new:N \c_undefined_fp -\tl_set:Nn \c_undefined_fp { X 0.000000000 e 0 } -\tl_new:N \c_zero_fp -\tl_set:Nn \c_zero_fp { + 0.000000000 e 0 } -\tl_new:N \l_fp_arg_tl -\int_new:N \l_fp_count_int -\int_new:N \l_fp_div_offset_int -\int_new:N \l_fp_exp_integer_int -\int_new:N \l_fp_exp_decimal_int -\int_new:N \l_fp_exp_extended_int -\int_new:N \l_fp_exp_exponent_int -\int_new:N \l_fp_input_a_sign_int -\int_new:N \l_fp_input_a_integer_int -\int_new:N \l_fp_input_a_decimal_int -\int_new:N \l_fp_input_a_exponent_int -\int_new:N \l_fp_input_b_sign_int -\int_new:N \l_fp_input_b_integer_int -\int_new:N \l_fp_input_b_decimal_int -\int_new:N \l_fp_input_b_exponent_int -\int_new:N \l_fp_input_a_extended_int -\int_new:N \l_fp_input_b_extended_int -\int_new:N \l_fp_mul_a_i_int -\int_new:N \l_fp_mul_a_ii_int -\int_new:N \l_fp_mul_a_iii_int -\int_new:N \l_fp_mul_a_iv_int -\int_new:N \l_fp_mul_a_v_int -\int_new:N \l_fp_mul_a_vi_int -\int_new:N \l_fp_mul_b_i_int -\int_new:N \l_fp_mul_b_ii_int -\int_new:N \l_fp_mul_b_iii_int -\int_new:N \l_fp_mul_b_iv_int -\int_new:N \l_fp_mul_b_v_int -\int_new:N \l_fp_mul_b_vi_int -\int_new:N \l_fp_mul_output_int -\tl_new:N \l_fp_mul_output_tl -\int_new:N \l_fp_output_sign_int -\int_new:N \l_fp_output_integer_int -\int_new:N \l_fp_output_decimal_int -\int_new:N \l_fp_output_exponent_int -\int_new:N \l_fp_output_extended_int -\bool_new:N \l_fp_round_carry_bool -\tl_new:N \l_fp_round_decimal_tl -\int_new:N \l_fp_round_position_int -\int_new:N \l_fp_round_target_int -\tl_new:N \l_fp_sign_tl -\int_new:N \l_fp_split_sign_int -\int_new:N \l_fp_tmp_int -\tl_new:N \l_fp_tmp_tl -\int_new:N \l_fp_trig_octant_int -\int_new:N \l_fp_trig_sign_int -\int_new:N \l_fp_trig_decimal_int -\int_new:N \l_fp_trig_extended_int -\cs_new_protected_nopar:Npn \fp_read:N #1 { - \tex_expandafter:D \fp_read_aux:w #1 \q_stop -} -\cs_new_protected_nopar:Npn \fp_read_aux:w #1#2 . #3 e #4 \q_stop { - \tex_if:D #1 - - \l_fp_input_a_sign_int \c_minus_one - \tex_else:D - \l_fp_input_a_sign_int \c_one - \tex_fi:D - \l_fp_input_a_integer_int #2 \scan_stop: - \l_fp_input_a_decimal_int #3 \scan_stop: - \l_fp_input_a_exponent_int #4 \scan_stop: -} -\cs_new_protected_nopar:Npn \fp_split:Nn #1#2 { - \tl_set:Nx \l_fp_tmp_tl {#2} - \tl_set_rescan:Nno \l_fp_tmp_tl { \char_make_ignore:n { 32 } } - { \l_fp_tmp_tl } - \l_fp_split_sign_int \c_one - \fp_split_sign: - \use:c { l_fp_input_ #1 _sign_int } \l_fp_split_sign_int - \tex_expandafter:D \fp_split_exponent:w \l_fp_tmp_tl e e \q_stop #1 -} -\cs_new_protected_nopar:Npn \fp_split_sign: { - \tex_ifnum:D \pdf_strcmp:D - { \tex_expandafter:D \tl_head:w \l_fp_tmp_tl ? \q_stop } { - } - = \c_zero - \tl_set:Nx \l_fp_tmp_tl - { - \tex_expandafter:D - \tl_tail:w \l_fp_tmp_tl \prg_do_nothing: \q_stop - } - \l_fp_split_sign_int -\l_fp_split_sign_int - \tex_expandafter:D \fp_split_sign: - \tex_else:D - \tex_ifnum:D \pdf_strcmp:D - { \tex_expandafter:D \tl_head:w \l_fp_tmp_tl ? \q_stop } { + } - = \c_zero - \tl_set:Nx \l_fp_tmp_tl - { - \tex_expandafter:D - \tl_tail:w \l_fp_tmp_tl \prg_do_nothing: \q_stop - } - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_split_sign: - \tex_fi:D - \tex_fi:D -} -\cs_new_protected_nopar:Npn - \fp_split_exponent:w #1 e #2 e #3 \q_stop #4 { - \use:c { l_fp_input_ #4 _exponent_int } - \etex_numexpr:D 0 #2 \scan_stop: - \tex_afterassignment:D \fp_split_aux_i:w - \use:c { l_fp_input_ #4 _integer_int } - \etex_numexpr:D 0 #1 . . \q_stop #4 -} -\cs_new_protected_nopar:Npn \fp_split_aux_i:w #1 . #2 . #3 \q_stop { - \fp_split_aux_ii:w #2 000000000 \q_stop -} -\cs_new_protected_nopar:Npn \fp_split_aux_ii:w #1#2#3#4#5#6#7#8#9 { - \fp_split_aux_iii:w {#1#2#3#4#5#6#7#8#9} -} -\cs_new_protected_nopar:Npn \fp_split_aux_iii:w #1#2 \q_stop { - \l_fp_tmp_int 1 #1 \scan_stop: - \tex_expandafter:D \fp_split_decimal:w - \int_use:N \l_fp_tmp_int 000000000 \q_stop -} -\cs_new_protected_nopar:Npn \fp_split_decimal:w #1#2#3#4#5#6#7#8#9 { - \fp_split_decimal_aux:w {#2#3#4#5#6#7#8#9} -} -\cs_new_protected_nopar:Npn \fp_split_decimal_aux:w #1#2#3 \q_stop #4 { - \use:c { l_fp_input_ #4 _decimal_int } #1#2 \scan_stop: - \tex_ifnum:D - \etex_numexpr:D - \use:c { l_fp_input_ #4 _integer_int } + - \use:c { l_fp_input_ #4 _decimal_int } - \scan_stop: - = \c_zero - \use:c { l_fp_input_ #4 _sign_int } \c_one - \tex_fi:D - \tex_ifnum:D - \use:c { l_fp_input_ #4 _integer_int } < \c_one_thousand_million - \tex_else:D - \tex_expandafter:D \fp_overflow_msg: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_standardise:NNNN #1#2#3#4 { - \tex_ifnum:D - \etex_numexpr:D #2 + #3 = \c_zero - #1 \c_one - #4 \c_zero - \tex_expandafter:D \use_none:nnnn - \tex_else:D - \tex_expandafter:D \fp_standardise_aux:NNNN - \tex_fi:D - #1#2#3#4 -} -\cs_new_protected_nopar:Npn \fp_standardise_aux:NNNN #1#2#3#4 { - \cs_set_protected_nopar:Npn \fp_standardise_aux: - { - \tex_ifnum:D #2 = \c_zero - \tex_advance:D #3 \c_one_thousand_million - \tex_expandafter:D \fp_standardise_aux:w - \int_use:N #3 \q_stop - \tex_expandafter:D \fp_standardise_aux: - \tex_fi:D - } - \cs_set_protected_nopar:Npn - \fp_standardise_aux:w ##1##2##3##4##5##6##7##8##9 \q_stop - { - #2 ##2 \scan_stop: - #3 ##3##4##5##6##7##8##9 0 \scan_stop: - \tex_advance:D #4 \c_minus_one - } - \fp_standardise_aux: - \cs_set_protected_nopar:Npn \fp_standardise_aux: - { - \tex_ifnum:D #2 > \c_nine - \tex_advance:D #2 \c_one_thousand_million - \tex_expandafter:D \use_i:nn \tex_expandafter:D - \fp_standardise_aux:w \int_use:N #2 - \tex_expandafter:D \fp_standardise_aux: - \tex_fi:D - } - \cs_set_protected_nopar:Npn - \fp_standardise_aux:w ##1##2##3##4##5##6##7##8##9 - { - #2 ##1##2##3##4##5##6##7##8 \scan_stop: - \tex_advance:D #3 \c_one_thousand_million - \tex_divide:D #3 \c_ten - \tl_set:Nx \l_fp_tmp_tl - { - ##9 - \tex_expandafter:D \use_none:n \int_use:N #3 - } - #3 \l_fp_tmp_tl \scan_stop: - \tex_advance:D #4 \c_one - } - \fp_standardise_aux: - \tex_ifnum:D #4 < \c_one_hundred - \tex_ifnum:D #4 > -\c_one_hundred - \tex_else:D - #1 \c_one - #2 \c_zero - #3 \c_zero - #4 \c_zero - \tex_fi:D - \tex_else:D - \tex_expandafter:D \fp_overflow_msg: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_standardise_aux: { } -\cs_new_protected_nopar:Npn \fp_standardise_aux:w { } -\cs_new_protected_nopar:Npn \fp_level_input_exponents: { - \tex_ifnum:D \l_fp_input_a_exponent_int > \l_fp_input_b_exponent_int - \tex_expandafter:D \fp_level_input_exponents_a: - \tex_else:D - \tex_expandafter:D \fp_level_input_exponents_b: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_level_input_exponents_a: { - \tex_ifnum:D \l_fp_input_a_exponent_int > \l_fp_input_b_exponent_int - \tex_advance:D \l_fp_input_b_integer_int \c_one_thousand_million - \tex_expandafter:D \use_i:nn \tex_expandafter:D - \fp_level_input_exponents_a:NNNNNNNNN - \int_use:N \l_fp_input_b_integer_int - \tex_expandafter:D \fp_level_input_exponents_a: - \tex_fi:D -} -\cs_new_protected_nopar:Npn - \fp_level_input_exponents_a:NNNNNNNNN #1#2#3#4#5#6#7#8#9 { - \l_fp_input_b_integer_int #1#2#3#4#5#6#7#8 \scan_stop: - \tex_advance:D \l_fp_input_b_decimal_int \c_one_thousand_million - \tex_divide:D \l_fp_input_b_decimal_int \c_ten - \tl_set:Nx \l_fp_tmp_tl - { - #9 - \tex_expandafter:D \use_none:n - \int_use:N \l_fp_input_b_decimal_int - } - \l_fp_input_b_decimal_int \l_fp_tmp_tl \scan_stop: - \tex_advance:D \l_fp_input_b_exponent_int \c_one -} -\cs_new_protected_nopar:Npn \fp_level_input_exponents_b: { - \tex_ifnum:D \l_fp_input_b_exponent_int > \l_fp_input_a_exponent_int - \tex_advance:D \l_fp_input_a_integer_int \c_one_thousand_million - \tex_expandafter:D \use_i:nn \tex_expandafter:D - \fp_level_input_exponents_b:NNNNNNNNN - \int_use:N \l_fp_input_a_integer_int - \tex_expandafter:D \fp_level_input_exponents_b: - \tex_fi:D -} -\cs_new_protected_nopar:Npn - \fp_level_input_exponents_b:NNNNNNNNN #1#2#3#4#5#6#7#8#9 { - \l_fp_input_a_integer_int #1#2#3#4#5#6#7#8 \scan_stop: - \tex_advance:D \l_fp_input_a_decimal_int \c_one_thousand_million - \tex_divide:D \l_fp_input_a_decimal_int \c_ten - \tl_set:Nx \l_fp_tmp_tl - { - #9 - \tex_expandafter:D \use_none:n - \int_use:N \l_fp_input_a_decimal_int - } - \l_fp_input_a_decimal_int \l_fp_tmp_tl \scan_stop: - \tex_advance:D \l_fp_input_a_exponent_int \c_one -} -\cs_new_protected_nopar:Npn \fp_tmp:w #1#2 { } -\cs_new_protected_nopar:Npn \fp_new:N #1 { - \tl_new:N #1 - \tl_gset_eq:NN #1 \c_zero_fp -} -\cs_generate_variant:Nn \fp_new:N { c } -\cs_new_protected_nopar:Npn \fp_const:Nn #1#2 { - \cs_if_free:NTF #1 - { - \fp_new:N #1 - \fp_gset:Nn #1 {#2} - } - { - \msg_kernel_error:nx { variable-already-defined } - { \token_to_str:N #1 } - } -} -\cs_generate_variant:Nn \fp_const:Nn { c } -\cs_new_protected_nopar:Npn \fp_zero:N #1 { - \tl_set_eq:NN #1 \c_zero_fp -} -\cs_new_protected_nopar:Npn \fp_gzero:N #1 { - \tl_gset_eq:NN #1 \c_zero_fp -} -\cs_generate_variant:Nn \fp_zero:N { c } -\cs_generate_variant:Nn \fp_gzero:N { c } -\cs_new_protected_nopar:Npn \fp_set:Nn { - \fp_set_aux:NNn \tl_set:Nn -} -\cs_new_protected_nopar:Npn \fp_gset:Nn { - \fp_set_aux:NNn \tl_gset:Nn -} -\cs_new_protected_nopar:Npn \fp_set_aux:NNn #1#2#3 { - \group_begin: - \fp_split:Nn a {#3} - \fp_standardise:NNNN - \l_fp_input_a_sign_int - \l_fp_input_a_integer_int - \l_fp_input_a_decimal_int - \l_fp_input_a_exponent_int - \tex_advance:D \l_fp_input_a_decimal_int \c_one_thousand_million - \cs_set_protected_nopar:Npx \fp_tmp:w - { - \group_end: - #1 \exp_not:N #2 - { - \tex_ifnum:D \l_fp_input_a_sign_int < \c_zero - - - \tex_else:D - + - \tex_fi:D - \int_use:N \l_fp_input_a_integer_int - . - \tex_expandafter:D \use_none:n - \int_use:N \l_fp_input_a_decimal_int - e - \int_use:N \l_fp_input_a_exponent_int - } - } - \fp_tmp:w -} -\cs_generate_variant:Nn \fp_set:Nn { c } -\cs_generate_variant:Nn \fp_gset:Nn { c } -\cs_new_protected_nopar:Npn \fp_set_from_dim:Nn { - \fp_set_from_dim_aux:NNn \tl_set:Nx -} -\cs_new_protected_nopar:Npn \fp_gset_from_dim:Nn { - \fp_set_from_dim_aux:NNn \tl_gset:Nx -} -\cs_new_protected_nopar:Npn \fp_set_from_dim_aux:NNn #1#2#3 { - \group_begin: - \l_fp_tmp_skip \etex_glueexpr:D #3 \scan_stop: - \l_fp_tmp_dim \l_fp_tmp_skip - \fp_split:Nn a - { - \tex_expandafter:D \fp_set_from_dim_aux:w - \dim_use:N \l_fp_tmp_dim - } - \fp_standardise:NNNN - \l_fp_input_a_sign_int - \l_fp_input_a_integer_int - \l_fp_input_a_decimal_int - \l_fp_input_a_exponent_int - \tex_advance:D \l_fp_input_a_decimal_int \c_one_thousand_million - \cs_set_protected_nopar:Npx \fp_tmp:w - { - \group_end: - #1 \exp_not:N #2 - { - \tex_ifnum:D \l_fp_input_a_sign_int < \c_zero - - - \tex_else:D - + - \tex_fi:D - \int_use:N \l_fp_input_a_integer_int - . - \tex_expandafter:D \use_none:n - \int_use:N \l_fp_input_a_decimal_int - e - \int_use:N \l_fp_input_a_exponent_int - } - } - \fp_tmp:w -} -\cs_set_protected_nopar:Npx \fp_set_from_dim_aux:w { - \cs_set_nopar:Npn \exp_not:N \fp_set_from_dim_aux:w - ##1 \tl_to_str:n { pt } {##1} -} -\fp_set_from_dim_aux:w -\cs_generate_variant:Nn \fp_set_from_dim:Nn { c } -\cs_generate_variant:Nn \fp_gset_from_dim:Nn { c } -\dim_new:N \l_fp_tmp_dim -\skip_new:N \l_fp_tmp_skip -\cs_new_eq:NN \fp_set_eq:NN \tl_set_eq:NN -\cs_new_eq:NN \fp_set_eq:cN \tl_set_eq:cN -\cs_new_eq:NN \fp_set_eq:Nc \tl_set_eq:Nc -\cs_new_eq:NN \fp_set_eq:cc \tl_set_eq:cc -\cs_new_eq:NN \fp_gset_eq:NN \tl_gset_eq:NN -\cs_new_eq:NN \fp_gset_eq:cN \tl_gset_eq:cN -\cs_new_eq:NN \fp_gset_eq:Nc \tl_gset_eq:Nc -\cs_new_eq:NN \fp_gset_eq:cc \tl_gset_eq:cc -\cs_new_eq:NN \fp_show:N \tl_show:N -\cs_new_eq:NN \fp_show:c \tl_show:c -\cs_new_nopar:Npn \fp_use:N #1 { - \tex_expandafter:D \fp_use_aux:w #1 \q_stop -} -\cs_generate_variant:Nn \fp_use:N { c } -\cs_new_nopar:Npn \fp_use_aux:w #1#2 e #3 \q_stop { - \tex_if:D #1 - - - - \tex_fi:D - \tex_ifnum:D #3 > \c_zero - \tex_expandafter:D \fp_use_large:w - \tex_else:D - \tex_ifnum:D #3 < \c_zero - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_use_small:w - \tex_else:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_use_none:w - \tex_fi:D - \tex_fi:D - #2 e #3 \q_stop -} -\cs_new_nopar:Npn \fp_use_none:w #1 e #2 \q_stop {#1} -\cs_new_nopar:Npn \fp_use_small:w #1 . #2 e #3 \q_stop { - 0 . - \prg_replicate:nn { -#3 - 1 } { 0 } - #1#2 -} -\cs_new_nopar:Npn \fp_use_large:w #1 . #2 e #3 \q_stop { - \tex_ifnum:D #3 < \c_ten - \tex_expandafter:D \fp_use_large_aux_i:w - \tex_else:D - \tex_expandafter:D \fp_use_large_aux_ii:w - \tex_fi:D - #1#2 e #3 \q_stop -} -\cs_new_nopar:Npn \fp_use_large_aux_i:w #1#2 e #3 \q_stop { - #1 - \use:c { fp_use_large_aux_ #3 :w } #2 \q_stop -} -\cs_new_nopar:cpn { fp_use_large_aux_1:w } #1#2 \q_stop { #1 . #2 } -\cs_new_nopar:cpn { fp_use_large_aux_2:w } #1#2#3 \q_stop { - #1#2 . #3 -} -\cs_new_nopar:cpn { fp_use_large_aux_3:w } #1#2#3#4 \q_stop { - #1#2#3 . #4 -} -\cs_new_nopar:cpn { fp_use_large_aux_4:w } #1#2#3#4#5 \q_stop { - #1#2#3#4 . #5 -} -\cs_new_nopar:cpn { fp_use_large_aux_5:w } #1#2#3#4#5#6 \q_stop { - #1#2#3#4#5 . #6 -} -\cs_new_nopar:cpn { fp_use_large_aux_6:w } #1#2#3#4#5#6#7 \q_stop { - #1#2#3#4#5#6 . #7 -} -\cs_new_nopar:cpn { fp_use_large_aux_7:w } #1#2#3#4#5#6#7#8 \q_stop { - #1#2#3#4#6#7 . #8 -} -\cs_new_nopar:cpn { fp_use_large_aux_8:w } #1#2#3#4#5#6#7#8#9 \q_stop { - #1#2#3#4#5#6#7#8 . #9 -} -\cs_new_nopar:cpn { fp_use_large_aux_9:w } #1 \q_stop { #1 . } -\cs_new_nopar:Npn \fp_use_large_aux_ii:w #1 e #2 \q_stop { - #1 - \prg_replicate:nn { #2 - 9 } { 0 } - . -} -\cs_new_nopar:Npn \fp_to_dim:N #1 { \fp_use:N #1 pt } -\cs_generate_variant:Nn \fp_to_dim:N { c } -\cs_new_nopar:Npn \fp_to_int:N #1 { - \tex_expandafter:D \fp_to_int_aux:w #1 \q_stop -} -\cs_generate_variant:Nn \fp_to_int:N { c } -\cs_new_nopar:Npn \fp_to_int_aux:w #1#2 e #3 \q_stop { - \tex_if:D #1 - - - - \tex_fi:D - \tex_ifnum:D #3 < \c_zero - \tex_expandafter:D \fp_to_int_small:w - \tex_else:D - \tex_expandafter:D \fp_to_int_large:w - \tex_fi:D - #2 e #3 \q_stop -} -\cs_new_nopar:Npn \fp_to_int_small:w #1 . #2 e #3 \q_stop { - \tex_ifnum:D #3 > \c_one - \tex_else:D - \tex_ifnum:D #1 < \c_five - 0 - \tex_else:D - 1 - \tex_fi:D - \tex_fi:D -} -\cs_new_nopar:Npn \fp_to_int_large:w #1 . #2 e #3 \q_stop { - \tex_ifnum:D #3 < \c_ten - \tex_expandafter:D \fp_to_int_large_aux_i:w - \tex_else:D - \tex_expandafter:D \fp_to_int_large_aux_ii:w - \tex_fi:D - #1#2 e #3 \q_stop -} -\cs_new_nopar:Npn \fp_to_int_large_aux_i:w #1#2 e #3 \q_stop { - \use:c { fp_to_int_large_aux_ #3 :w } #2 \q_stop {#1} -} -\cs_new_nopar:cpn { fp_to_int_large_aux_1:w } #1#2 \q_stop { - \fp_to_int_large_aux:nnn { #2 0 } {#1} -} -\cs_new_nopar:cpn { fp_to_int_large_aux_2:w } #1#2#3 \q_stop { - \fp_to_int_large_aux:nnn { #3 00 } {#1#2} -} -\cs_new_nopar:cpn { fp_to_int_large_aux_3:w } #1#2#3#4 \q_stop { - \fp_to_int_large_aux:nnn { #4 000 } {#1#2#3} -} -\cs_new_nopar:cpn { fp_to_int_large_aux_4:w } #1#2#3#4#5 \q_stop { - \fp_to_int_large_aux:nnn { #5 0000 } {#1#2#3#4} -} -\cs_new_nopar:cpn { fp_to_int_large_aux_5:w } #1#2#3#4#5#6 \q_stop { - \fp_to_int_large_aux:nnn { #6 00000 } {#1#2#3#4#5} -} -\cs_new_nopar:cpn { fp_to_int_large_aux_6:w } #1#2#3#4#5#6#7 \q_stop { - \fp_to_int_large_aux:nnn { #7 000000 } {#1#2#3#4#5#6} -} -\cs_new_nopar:cpn - { fp_to_int_large_aux_7:w } #1#2#3#4#5#6#7#8 \q_stop { - \fp_to_int_large_aux:nnn { #8 0000000 } {#1#2#3#4#5#6#7} -} -\cs_new_nopar:cpn - { fp_to_int_large_aux_8:w } #1#2#3#4#5#6#7#8#9 \q_stop { - \fp_to_int_large_aux:nnn { #9 00000000 } {#1#2#3#4#5#6#7#8} -} -\cs_new_nopar:cpn { fp_to_int_large_aux_9:w } #1 \q_stop {#1} -\cs_new_nopar:Npn \fp_to_int_large_aux:nnn #1#2#3 { - \tex_ifnum:D #1 < \c_five_hundred_million - #3#2 - \tex_else:D - \tex_number:D \etex_numexpr:D #3#2 + 1 \scan_stop: - \tex_fi:D -} -\cs_new_nopar:Npn \fp_to_int_large_aux_ii:w #1 e #2 \q_stop { - #1 - \prg_replicate:nn { #2 - 9 } { 0 } -} -\cs_new_nopar:Npn \fp_to_tl:N #1 { - \tex_expandafter:D \fp_to_tl_aux:w #1 \q_stop -} -\cs_generate_variant:Nn \fp_to_tl:N { c } -\cs_new_nopar:Npn \fp_to_tl_aux:w #1#2 e #3 \q_stop { - \tex_if:D #1 - - - - \tex_fi:D - \tex_ifnum:D #3 < \c_zero - \tex_expandafter:D \fp_to_tl_small:w - \tex_else:D - \tex_expandafter:D \fp_to_tl_large:w - \tex_fi:D - #2 e #3 \q_stop -} -\cs_new_nopar:Npn \fp_to_tl_large:w #1 e #2 \q_stop { - \tex_ifnum:D #2 < \c_ten - \tex_expandafter:D \fp_to_tl_large_aux_i:w - \tex_else:D - \tex_expandafter:D \fp_to_tl_large_aux_ii:w - \tex_fi:D - #1 e #2 \q_stop -} -\cs_new_nopar:Npn \fp_to_tl_large_aux_i:w #1 e #2 \q_stop { - \use:c { fp_to_tl_large_ #2 :w } #1 \q_stop -} -\cs_new_nopar:Npn \fp_to_tl_large_aux_ii:w #1 . #2 e #3 \q_stop { - #1 - \fp_to_tl_large_zeros:NNNNNNNNN #2 - e #3 -} -\cs_new_nopar:cpn { fp_to_tl_large_0:w } #1 . #2 \q_stop { - #1 - \fp_to_tl_large_zeros:NNNNNNNNN #2 -} -\cs_new_nopar:cpn { fp_to_tl_large_1:w } #1 . #2#3 \q_stop { - #1#2 - \fp_to_tl_large_zeros:NNNNNNNNN #3 0 -} -\cs_new_nopar:cpn { fp_to_tl_large_2:w } #1 . #2#3#4 \q_stop { - #1#2#3 - \fp_to_tl_large_zeros:NNNNNNNNN #4 00 -} -\cs_new_nopar:cpn { fp_to_tl_large_3:w } #1 . #2#3#4#5 \q_stop { - #1#2#3#4 - \fp_to_tl_large_zeros:NNNNNNNNN #5 000 -} -\cs_new_nopar:cpn { fp_to_tl_large_4:w } #1 . #2#3#4#5#6 \q_stop { - #1#2#3#4#5 - \fp_to_tl_large_zeros:NNNNNNNNN #6 0000 -} -\cs_new_nopar:cpn { fp_to_tl_large_5:w } #1 . #2#3#4#5#6#7 \q_stop { - #1#2#3#4#5#6 - \fp_to_tl_large_zeros:NNNNNNNNN #7 00000 -} -\cs_new_nopar:cpn { fp_to_tl_large_6:w } #1 . #2#3#4#5#6#7#8 \q_stop { - #1#2#3#4#5#6#7 - \fp_to_tl_large_zeros:NNNNNNNNN #8 000000 -} -\cs_new_nopar:cpn { fp_to_tl_large_7:w } #1 . #2#3#4#5#6#7#8#9 \q_stop { - #1#2#3#4#5#6#7#8 - \fp_to_tl_large_zeros:NNNNNNNNN #9 0000000 -} -\cs_new_nopar:cpn { fp_to_tl_large_8:w } #1 . { - #1 - \use:c { fp_to_tl_large_8_aux:w } -} -\cs_new_nopar:cpn - { fp_to_tl_large_8_aux:w } #1#2#3#4#5#6#7#8#9 \q_stop { - #1#2#3#4#5#6#7#8 - \fp_to_tl_large_zeros:NNNNNNNNN #9 00000000 -} -\cs_new_nopar:cpn { fp_to_tl_large_9:w } #1 . #2 \q_stop {#1#2} -\cs_new_nopar:Npn \fp_to_tl_small:w #1 e #2 \q_stop { - \tex_ifnum:D #2 = \c_minus_one - \tex_expandafter:D \fp_to_tl_small_one:w - \tex_else:D - \tex_ifnum:D #2 = -\c_two - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_to_tl_small_two:w - \tex_else:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_to_tl_small_aux:w - \tex_fi:D - \tex_fi:D - #1 e #2 \q_stop -} -\cs_new_nopar:Npn \fp_to_tl_small_one:w #1 . #2 e #3 \q_stop { - \tex_ifnum:D \fp_use_ix:NNNNNNNNN #2 > \c_four - \tex_ifnum:D - \etex_numexpr:D #1 \fp_use_i_to_iix:NNNNNNNNN #2 + 1 - < \c_one_thousand_million - 0. - \tex_expandafter:D \fp_to_tl_small_zeros:NNNNNNNNN - \tex_number:D - \etex_numexpr:D - #1 \fp_use_i_to_iix:NNNNNNNNN #2 + 1 - \scan_stop: - \tex_else:D - 1 - \tex_fi:D - \tex_else:D - 0. #1 - \fp_to_tl_small_zeros:NNNNNNNNN #2 - \tex_fi:D -} -\cs_new_nopar:Npn \fp_to_tl_small_two:w #1 . #2 e #3 \q_stop { - \tex_ifnum:D \fp_use_iix_ix:NNNNNNNNN #2 > \c_forty_four - \tex_ifnum:D - \etex_numexpr:D #1 \fp_use_i_to_vii:NNNNNNNNN #2 0 + \c_ten - < \c_one_thousand_million - 0.0 - \tex_expandafter:D \fp_to_tl_small_zeros:NNNNNNNNN - \tex_number:D - \etex_numexpr:D - #1 \fp_use_i_to_vii:NNNNNNNNN #2 0 + \c_ten - \scan_stop: - \tex_else:D - 0.1 - \tex_fi:D - \tex_else:D - 0.0 - #1 - \fp_to_tl_small_zeros:NNNNNNNNN #2 - \tex_fi:D -} -\cs_new_nopar:Npn \fp_to_tl_small_aux:w #1 . #2 e #3 \q_stop { - #1 - \fp_to_tl_large_zeros:NNNNNNNNN #2 - e #3 -} -\cs_new_nopar:Npn \fp_to_tl_large_zeros:NNNNNNNNN #1#2#3#4#5#6#7#8#9 { - \tex_ifnum:D #9 = \c_zero - \tex_ifnum:D #8 = \c_zero - \tex_ifnum:D #7 = \c_zero - \tex_ifnum:D #6 = \c_zero - \tex_ifnum:D #5 = \c_zero - \tex_ifnum:D #4 = \c_zero - \tex_ifnum:D #3 = \c_zero - \tex_ifnum:D #2 = \c_zero - \tex_ifnum:D #1 = \c_zero - \tex_else:D - . #1 - \tex_fi:D - \tex_else:D - . #1#2 - \tex_fi:D - \tex_else:D - . #1#2#3 - \tex_fi:D - \tex_else:D - . #1#2#3#4 - \tex_fi:D - \tex_else:D - . #1#2#3#4#5 - \tex_fi:D - \tex_else:D - . #1#2#3#4#5#6 - \tex_fi:D - \tex_else:D - . #1#2#3#4#5#6#7 - \tex_fi:D - \tex_else:D - . #1#2#3#4#5#6#7#8 - \tex_fi:D - \tex_else:D - . #1#2#3#4#5#6#7#8#9 - \tex_fi:D -} -\cs_new_nopar:Npn \fp_to_tl_small_zeros:NNNNNNNNN #1#2#3#4#5#6#7#8#9 { - \tex_ifnum:D #9 = \c_zero - \tex_ifnum:D #8 = \c_zero - \tex_ifnum:D #7 = \c_zero - \tex_ifnum:D #6 = \c_zero - \tex_ifnum:D #5 = \c_zero - \tex_ifnum:D #4 = \c_zero - \tex_ifnum:D #3 = \c_zero - \tex_ifnum:D #2 = \c_zero - \tex_ifnum:D #1 = \c_zero - \tex_else:D - #1 - \tex_fi:D - \tex_else:D - #1#2 - \tex_fi:D - \tex_else:D - #1#2#3 - \tex_fi:D - \tex_else:D - #1#2#3#4 - \tex_fi:D - \tex_else:D - #1#2#3#4#5 - \tex_fi:D - \tex_else:D - #1#2#3#4#5#6 - \tex_fi:D - \tex_else:D - #1#2#3#4#5#6#7 - \tex_fi:D - \tex_else:D - #1#2#3#4#5#6#7#8 - \tex_fi:D - \tex_else:D - #1#2#3#4#5#6#7#8#9 - \tex_fi:D -} -\cs_new_nopar:Npn \fp_use_iix_ix:NNNNNNNNN #1#2#3#4#5#6#7#8#9 {#8#9} -\cs_new_nopar:Npn \fp_use_ix:NNNNNNNNN #1#2#3#4#5#6#7#8#9 {#9} -\cs_new_nopar:Npn \fp_use_i_to_vii:NNNNNNNNN #1#2#3#4#5#6#7#8#9 { - #1#2#3#4#5#6#7 -} -\cs_new_nopar:Npn \fp_use_i_to_iix:NNNNNNNNN #1#2#3#4#5#6#7#8#9 { - #1#2#3#4#5#6#7#8 -} -\cs_new_protected_nopar:Npn \fp_round_figures:Nn { - \fp_round_figures_aux:NNn \tl_set:Nn -} -\cs_generate_variant:Nn \fp_round_figures:Nn { c } -\cs_new_protected_nopar:Npn \fp_ground_figures:Nn { - \fp_round_figures_aux:NNn \tl_gset:Nn -} -\cs_generate_variant:Nn \fp_ground_figures:Nn { c } -\cs_new_protected_nopar:Npn \fp_round_figures_aux:NNn #1#2#3 { - \group_begin: - \fp_read:N #2 - \int_set:Nn \l_fp_round_target_int { #3 - 1 } - \tex_ifnum:D \l_fp_round_target_int < \c_ten - \tex_expandafter:D \fp_round: - \tex_fi:D - \tex_advance:D \l_fp_input_a_decimal_int \c_one_thousand_million - \cs_set_protected_nopar:Npx \fp_tmp:w - { - \group_end: - #1 \exp_not:N #2 - { - \tex_ifnum:D \l_fp_input_a_sign_int < \c_zero - - - \tex_else:D - + - \tex_fi:D - \int_use:N \l_fp_input_a_integer_int - . - \tex_expandafter:D \use_none:n - \int_use:N \l_fp_input_a_decimal_int - e - \int_use:N \l_fp_input_a_exponent_int - } - } - \fp_tmp:w -} -\cs_new_protected_nopar:Npn \fp_round_places:Nn { - \fp_round_places_aux:NNn \tl_set:Nn -} -\cs_generate_variant:Nn \fp_round_places:Nn { c } -\cs_new_protected_nopar:Npn \fp_ground_places:Nn { - \fp_round_places_aux:NNn \tl_gset:Nn -} -\cs_generate_variant:Nn \fp_ground_places:Nn { c } -\cs_new_protected_nopar:Npn \fp_round_places_aux:NNn #1#2#3 { - \group_begin: - \fp_read:N #2 - \int_set:Nn \l_fp_round_target_int - { #3 + \l_fp_input_a_exponent_int } - \tex_ifnum:D \l_fp_round_target_int < \c_ten - \tex_expandafter:D \fp_round: - \tex_fi:D - \tex_advance:D \l_fp_input_a_decimal_int \c_one_thousand_million - \cs_set_protected_nopar:Npx \fp_tmp:w - { - \group_end: - #1 \exp_not:N #2 - { - \tex_ifnum:D \l_fp_input_a_sign_int < \c_zero - - - \tex_else:D - + - \tex_fi:D - \int_use:N \l_fp_input_a_integer_int - . - \tex_expandafter:D \use_none:n - \int_use:N \l_fp_input_a_decimal_int - e - \int_use:N \l_fp_input_a_exponent_int - } - } - \fp_tmp:w -} -\cs_new_protected_nopar:Npn \fp_round: { - \bool_set_false:N \l_fp_round_carry_bool - \l_fp_round_position_int \c_eight - \tl_clear:N \l_fp_round_decimal_tl - \tex_advance:D \l_fp_input_a_decimal_int \c_one_thousand_million - \tex_expandafter:D \use_i:nn \tex_expandafter:D - \fp_round_aux:NNNNNNNNN \int_use:N \l_fp_input_a_decimal_int -} -\cs_new_protected_nopar:Npn \fp_round_aux:NNNNNNNNN #1#2#3#4#5#6#7#8#9 { - \fp_round_loop:N #9#8#7#6#5#4#3#2#1 - \bool_if:NT \l_fp_round_carry_bool - { \tex_advance:D \l_fp_input_a_integer_int \c_one } - \l_fp_input_a_decimal_int \l_fp_round_decimal_tl \scan_stop: - \tex_ifnum:D \l_fp_input_a_integer_int < \c_ten - \tex_else:D - \l_fp_input_a_integer_int \c_one - \tex_divide:D \l_fp_input_a_decimal_int \c_ten - \tex_advance:D \l_fp_input_a_exponent_int \c_one - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_round_loop:N #1 { - \tex_ifnum:D \l_fp_round_position_int < \l_fp_round_target_int - \bool_if:NTF \l_fp_round_carry_bool - { \l_fp_tmp_int \etex_numexpr:D #1 + \c_one \scan_stop: } - { \l_fp_tmp_int \etex_numexpr:D #1 \scan_stop: } - \tex_ifnum:D \l_fp_tmp_int = \c_ten - \l_fp_tmp_int \c_zero - \tex_else:D - \bool_set_false:N \l_fp_round_carry_bool - \tex_fi:D - \tl_set:Nx \l_fp_round_decimal_tl - { \int_use:N \l_fp_tmp_int \l_fp_round_decimal_tl } - \tex_else:D - \tl_set:Nx \l_fp_round_decimal_tl { 0 \l_fp_round_decimal_tl } - \tex_ifnum:D \l_fp_round_position_int = \l_fp_round_target_int - \tex_ifnum:D #1 > \c_four - \bool_set_true:N \l_fp_round_carry_bool - \tex_fi:D - \tex_fi:D - \tex_fi:D - \tex_advance:D \l_fp_round_position_int \c_minus_one - \tex_ifnum:D \l_fp_round_position_int > \c_minus_one - \tex_expandafter:D \fp_round_loop:N - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_abs:N { - \fp_abs_aux:NN \tl_set:Nn -} -\cs_new_protected_nopar:Npn \fp_gabs:N { - \fp_abs_aux:NN \tl_gset:Nn -} -\cs_generate_variant:Nn \fp_abs:N { c } -\cs_generate_variant:Nn \fp_gabs:N { c } -\cs_new_protected_nopar:Npn \fp_abs_aux:NN #1#2 { - \group_begin: - \fp_read:N #2 - \tex_advance:D \l_fp_input_a_decimal_int \c_one_thousand_million - \cs_set_protected_nopar:Npx \fp_tmp:w - { - \group_end: - #1 \exp_not:N #2 - { - + - \int_use:N \l_fp_input_a_integer_int - . - \tex_expandafter:D \use_none:n - \int_use:N \l_fp_input_a_decimal_int - e - \int_use:N \l_fp_input_a_exponent_int - } - } - \fp_tmp:w -} -\cs_new_protected_nopar:Npn \fp_neg:N { - \fp_neg_aux:NN \tl_set:Nn -} -\cs_new_protected_nopar:Npn \fp_gneg:N { - \fp_neg_aux:NN \tl_gset:Nn -} -\cs_generate_variant:Nn \fp_neg:N { c } -\cs_generate_variant:Nn \fp_gneg:N { c } -\cs_new_protected_nopar:Npn \fp_neg_aux:NN #1#2 { - \group_begin: - \fp_read:N #2 - \tex_advance:D \l_fp_input_a_decimal_int \c_one_thousand_million - \tl_set:Nx \l_fp_tmp_tl - { - \tex_ifnum:D \l_fp_input_a_sign_int < \c_zero - + - \tex_else:D - - - \tex_fi:D - \int_use:N \l_fp_input_a_integer_int - . - \tex_expandafter:D \use_none:n - \int_use:N \l_fp_input_a_decimal_int - e - \int_use:N \l_fp_input_a_exponent_int - } - \tex_expandafter:D \group_end: \tex_expandafter:D - #1 \tex_expandafter:D #2 \tex_expandafter:D { \l_fp_tmp_tl } -} -\cs_new_protected_nopar:Npn \fp_add:Nn { - \fp_add_aux:NNn \tl_set:Nn -} -\cs_new_protected_nopar:Npn \fp_gadd:Nn { - \fp_add_aux:NNn \tl_gset:Nn -} -\cs_generate_variant:Nn \fp_add:Nn { c } -\cs_generate_variant:Nn \fp_gadd:Nn { c } -\cs_new_protected_nopar:Npn \fp_add_aux:NNn #1#2#3 { - \group_begin: - \fp_read:N #2 - \fp_split:Nn b {#3} - \fp_standardise:NNNN - \l_fp_input_b_sign_int - \l_fp_input_b_integer_int - \l_fp_input_b_decimal_int - \l_fp_input_b_exponent_int - \fp_add_core: - \fp_tmp:w #1#2 -} -\cs_new_protected_nopar:Npn \fp_add_core: { - \fp_level_input_exponents: - \tex_ifnum:D - \etex_numexpr:D - \l_fp_input_a_sign_int * \l_fp_input_b_sign_int - \scan_stop: - > \c_zero - \tex_expandafter:D \fp_add_sum: - \tex_else:D - \tex_expandafter:D \fp_add_difference: - \tex_fi:D - \l_fp_output_exponent_int \l_fp_input_a_exponent_int - \fp_standardise:NNNN - \l_fp_output_sign_int - \l_fp_output_integer_int - \l_fp_output_decimal_int - \l_fp_output_exponent_int - \cs_set_protected_nopar:Npx \fp_tmp:w ##1##2 - { - \group_end: - ##1 ##2 - { - \tex_ifnum:D \l_fp_output_sign_int < \c_zero - - - \tex_else:D - + - \tex_fi:D - \int_use:N \l_fp_output_integer_int - . - \tex_expandafter:D \use_none:n - \tex_number:D \etex_numexpr:D - \l_fp_output_decimal_int + \c_one_thousand_million - e - \int_use:N \l_fp_output_exponent_int - } - } -} -\cs_new_protected_nopar:Npn \fp_add_sum: { - \l_fp_output_sign_int \l_fp_input_a_sign_int - \l_fp_output_integer_int - \etex_numexpr:D - \l_fp_input_a_integer_int + \l_fp_input_b_integer_int - \scan_stop: - \l_fp_output_decimal_int - \etex_numexpr:D - \l_fp_input_a_decimal_int + \l_fp_input_b_decimal_int - \scan_stop: - \tex_ifnum:D \l_fp_output_decimal_int < \c_one_thousand_million - \tex_else:D - \tex_advance:D \l_fp_output_integer_int \c_one - \tex_advance:D \l_fp_output_decimal_int -\c_one_thousand_million - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_add_difference: { - \l_fp_output_integer_int - \etex_numexpr:D - \l_fp_input_a_integer_int - \l_fp_input_b_integer_int - \scan_stop: - \l_fp_output_decimal_int - \etex_numexpr:D - \l_fp_input_a_decimal_int - \l_fp_input_b_decimal_int - \scan_stop: - \tex_ifnum:D \l_fp_output_decimal_int < \c_zero - \tex_advance:D \l_fp_output_integer_int \c_minus_one - \tex_advance:D \l_fp_output_decimal_int \c_one_thousand_million - \tex_fi:D - \tex_ifnum:D \l_fp_output_integer_int < \c_zero - \l_fp_output_sign_int \l_fp_input_b_sign_int - \tex_ifnum:D \l_fp_output_decimal_int = \c_zero - \l_fp_output_integer_int -\l_fp_output_integer_int - \tex_else:D - \l_fp_output_decimal_int - \etex_numexpr:D - \c_one_thousand_million - \l_fp_output_decimal_int - \scan_stop: - \l_fp_output_integer_int - \etex_numexpr:D - - \l_fp_output_integer_int - \c_one - \scan_stop: - \tex_fi:D - \tex_else:D - \l_fp_output_sign_int \l_fp_input_a_sign_int - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_sub:Nn { - \fp_sub_aux:NNn \tl_set:Nn -} -\cs_new_protected_nopar:Npn \fp_gsub:Nn { - \fp_sub_aux:NNn \tl_gset:Nn -} -\cs_generate_variant:Nn \fp_sub:Nn { c } -\cs_generate_variant:Nn \fp_gsub:Nn { c } -\cs_new_protected_nopar:Npn \fp_sub_aux:NNn #1#2#3 { - \group_begin: - \fp_read:N #2 - \fp_split:Nn b {#3} - \fp_standardise:NNNN - \l_fp_input_b_sign_int - \l_fp_input_b_integer_int - \l_fp_input_b_decimal_int - \l_fp_input_b_exponent_int - \tex_multiply:D \l_fp_input_b_sign_int \c_minus_one - \fp_add_core: - \fp_tmp:w #1#2 -} -\cs_new_protected_nopar:Npn \fp_mul:Nn { - \fp_mul_aux:NNn \tl_set:Nn -} -\cs_new_protected_nopar:Npn \fp_gmul:Nn { - \fp_mul_aux:NNn \tl_gset:Nn -} -\cs_generate_variant:Nn \fp_mul:Nn { c } -\cs_generate_variant:Nn \fp_gmul:Nn { c } -\cs_new_protected_nopar:Npn \fp_mul_aux:NNn #1#2#3 { - \group_begin: - \fp_read:N #2 - \fp_split:Nn b {#3} - \fp_standardise:NNNN - \l_fp_input_b_sign_int - \l_fp_input_b_integer_int - \l_fp_input_b_decimal_int - \l_fp_input_b_exponent_int - \fp_mul_internal: - \l_fp_output_exponent_int - \etex_numexpr:D - \l_fp_input_a_exponent_int + \l_fp_input_b_exponent_int - \scan_stop: - \fp_standardise:NNNN - \l_fp_output_sign_int - \l_fp_output_integer_int - \l_fp_output_decimal_int - \l_fp_output_exponent_int - \cs_set_protected_nopar:Npx \fp_tmp:w - { - \group_end: - #1 \exp_not:N #2 - { - \tex_ifnum:D - \etex_numexpr:D - \l_fp_input_a_sign_int * \l_fp_input_b_sign_int - < \c_zero - \tex_ifnum:D - \etex_numexpr:D - \l_fp_output_integer_int + \l_fp_output_decimal_int - = \c_zero - + - \tex_else:D - - - \tex_fi:D - \tex_else:D - + - \tex_fi:D - \int_use:N \l_fp_output_integer_int - . - \tex_expandafter:D \use_none:n - \tex_number:D \etex_numexpr:D - \l_fp_output_decimal_int + \c_one_thousand_million - e - \int_use:N \l_fp_output_exponent_int - } - } - \fp_tmp:w -} -\cs_new_protected_nopar:Npn \fp_mul_internal: { - \fp_mul_split:NNNN \l_fp_input_a_decimal_int - \l_fp_mul_a_i_int \l_fp_mul_a_ii_int \l_fp_mul_a_iii_int - \fp_mul_split:NNNN \l_fp_input_b_decimal_int - \l_fp_mul_b_i_int \l_fp_mul_b_ii_int \l_fp_mul_b_iii_int - \l_fp_mul_output_int \c_zero - \tl_clear:N \l_fp_mul_output_tl - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_mul_b_iii_int - \fp_mul_product:NN \l_fp_mul_a_ii_int \l_fp_mul_b_ii_int - \fp_mul_product:NN \l_fp_mul_a_iii_int \l_fp_mul_b_i_int - \tex_divide:D \l_fp_mul_output_int \c_one_thousand - \fp_mul_product:NN \l_fp_input_a_integer_int \l_fp_mul_b_iii_int - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_mul_b_ii_int - \fp_mul_product:NN \l_fp_mul_a_ii_int \l_fp_mul_b_i_int - \fp_mul_product:NN \l_fp_mul_a_iii_int \l_fp_input_b_integer_int - \fp_mul_end_level: - \fp_mul_product:NN \l_fp_input_a_integer_int \l_fp_mul_b_ii_int - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_mul_b_i_int - \fp_mul_product:NN \l_fp_mul_a_ii_int \l_fp_input_b_integer_int - \fp_mul_end_level: - \fp_mul_product:NN \l_fp_input_a_integer_int \l_fp_mul_b_i_int - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_input_b_integer_int - \fp_mul_end_level: - \l_fp_output_decimal_int 0 \l_fp_mul_output_tl \scan_stop: - \tl_clear:N \l_fp_mul_output_tl - \fp_mul_product:NN \l_fp_input_a_integer_int \l_fp_input_b_integer_int - \fp_mul_end_level: - \l_fp_output_integer_int 0 \l_fp_mul_output_tl \scan_stop: -} -\cs_new_protected_nopar:Npn \fp_mul_split:NNNN #1#2#3#4 { - \tex_advance:D #1 \c_one_thousand_million - \cs_set_protected_nopar:Npn \fp_mul_split_aux:w - ##1##2##3##4##5##6##7##8##9 \q_stop { - #2 ##2##3##4 \scan_stop: - #3 ##5##6##7 \scan_stop: - #4 ##8##9 \scan_stop: - } - \tex_expandafter:D \fp_mul_split_aux:w \int_use:N #1 \q_stop - \tex_advance:D #1 -\c_one_thousand_million -} -\cs_new_protected_nopar:Npn \fp_mul_product:NN #1#2 { - \l_fp_mul_output_int - \etex_numexpr:D \l_fp_mul_output_int + #1 * #2 \scan_stop: -} -\cs_new_protected_nopar:Npn \fp_mul_end_level: { - \tex_advance:D \l_fp_mul_output_int \c_one_thousand_million - \tex_expandafter:D \use_i:nn \tex_expandafter:D - \fp_mul_end_level:NNNNNNNNN \int_use:N \l_fp_mul_output_int -} -\cs_new_protected_nopar:Npn \fp_mul_end_level:NNNNNNNNN - #1#2#3#4#5#6#7#8#9 { - \tl_set:Nx \l_fp_mul_output_tl { #7#8#9 \l_fp_mul_output_tl } - \l_fp_mul_output_int #1#2#3#4#5#6 \scan_stop: -} -\cs_new_protected_nopar:Npn \fp_div:Nn { - \fp_div_aux:NNn \tl_set:Nn -} -\cs_new_protected_nopar:Npn \fp_gdiv:Nn { - \fp_div_aux:NNn \tl_gset:Nn -} -\cs_generate_variant:Nn \fp_div:Nn { c } -\cs_generate_variant:Nn \fp_gdiv:Nn { c } -\cs_new_protected_nopar:Npn \fp_div_aux:NNn #1#2#3 { - \group_begin: - \fp_read:N #2 - \fp_split:Nn b {#3} - \fp_standardise:NNNN - \l_fp_input_b_sign_int - \l_fp_input_b_integer_int - \l_fp_input_b_decimal_int - \l_fp_input_b_exponent_int - \tex_ifnum:D - \etex_numexpr:D - \l_fp_input_b_integer_int + \l_fp_input_b_decimal_int - = \c_zero - \cs_set_protected_nopar:Npx \fp_tmp:w ##1##2 - { - \group_end: - #1 \exp_not:N #2 { \c_undefined_fp } - } - \tex_else:D - \tex_ifnum:D - \etex_numexpr:D - \l_fp_input_a_integer_int + \l_fp_input_a_decimal_int - = \c_zero - \cs_set_protected_nopar:Npx \fp_tmp:w ##1##2 - { - \group_end: - #1 \exp_not:N #2 { \c_zero_fp } - } - \tex_else:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_div_internal: - \tex_fi:D - \tex_fi:D - \fp_tmp:w #1#2 -} -\cs_new_protected_nopar:Npn \fp_div_internal: { - \l_fp_output_integer_int \c_zero - \l_fp_output_decimal_int \c_zero - \cs_set_eq:NN \fp_div_store: \fp_div_store_integer: - \l_fp_div_offset_int \c_one_hundred_million - \fp_div_loop: - \l_fp_output_exponent_int - \etex_numexpr:D - \l_fp_input_a_exponent_int - \l_fp_input_b_exponent_int - \scan_stop: - \fp_standardise:NNNN - \l_fp_output_sign_int - \l_fp_output_integer_int - \l_fp_output_decimal_int - \l_fp_output_exponent_int - \cs_set_protected_nopar:Npx \fp_tmp:w ##1##2 - { - \group_end: - ##1 ##2 - { - \tex_ifnum:D - \etex_numexpr:D - \l_fp_input_a_sign_int * \l_fp_input_b_sign_int - < \c_zero - \tex_ifnum:D - \etex_numexpr:D - \l_fp_output_integer_int + \l_fp_output_decimal_int - = \c_zero - + - \tex_else:D - - - \tex_fi:D - \tex_else:D - + - \tex_fi:D - \int_use:N \l_fp_output_integer_int - . - \tex_expandafter:D \use_none:n - \tex_number:D \etex_numexpr:D - \l_fp_output_decimal_int + \c_one_thousand_million - \scan_stop: - e - \int_use:N \l_fp_output_exponent_int - } - } -} -\cs_new_protected_nopar:Npn \fp_div_loop: { - \l_fp_count_int \c_zero - \fp_div_divide: - \fp_div_store: - \tex_multiply:D \l_fp_input_a_integer_int \c_ten - \tex_advance:D \l_fp_input_a_decimal_int \c_one_thousand_million - \tex_expandafter:D \fp_div_loop_step:w - \int_use:N \l_fp_input_a_decimal_int \q_stop - \tex_ifnum:D - \etex_numexpr:D - \l_fp_input_a_integer_int + \l_fp_input_a_decimal_int - > \c_zero - \tex_ifnum:D \l_fp_div_offset_int > \c_zero - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_div_loop: - \tex_fi:D - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_div_divide: { - \tex_ifnum:D \l_fp_input_a_integer_int > \l_fp_input_b_integer_int - \tex_expandafter:D \fp_div_divide_aux: - \tex_else:D - \tex_ifnum:D \l_fp_input_a_integer_int < \l_fp_input_b_integer_int - \tex_else:D - \tex_ifnum:D - \l_fp_input_a_decimal_int < \l_fp_input_b_decimal_int - \tex_else:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \fp_div_divide_aux: - \tex_fi:D - \tex_fi:D - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_div_divide_aux: { - \tex_advance:D \l_fp_count_int \c_one - \tex_advance:D \l_fp_input_a_integer_int -\l_fp_input_b_integer_int - \tex_advance:D \l_fp_input_a_decimal_int -\l_fp_input_b_decimal_int - \tex_ifnum:D \l_fp_input_a_decimal_int < \c_zero - \tex_advance:D \l_fp_input_a_integer_int \c_minus_one - \tex_advance:D \l_fp_input_a_decimal_int \c_one_thousand_million - \tex_fi:D - \fp_div_divide: -} -\cs_new_protected_nopar:Npn \fp_div_store: { } -\cs_new_protected_nopar:Npn \fp_div_store_integer: { - \l_fp_output_integer_int \l_fp_count_int - \cs_set_eq:NN \fp_div_store: \fp_div_store_decimal: -} -\cs_new_protected_nopar:Npn \fp_div_store_decimal: { - \l_fp_output_decimal_int - \etex_numexpr:D - \l_fp_output_decimal_int + - \l_fp_count_int * \l_fp_div_offset_int - \scan_stop: - \tex_divide:D \l_fp_div_offset_int \c_ten -} -\cs_new_protected_nopar:Npn - \fp_div_loop_step:w #1#2#3#4#5#6#7#8#9 \q_stop { - \l_fp_input_a_integer_int - \etex_numexpr:D - #2 + \l_fp_input_a_integer_int - \scan_stop: - \l_fp_input_a_decimal_int #3#4#5#6#7#8#9 0 \scan_stop: -} -\cs_new_protected_nopar:Npn \fp_add:NNNNNNNNN #1#2#3#4#5#6#7#8#9 { - #7 \etex_numexpr:D #1 + #4 \scan_stop: - #8 \etex_numexpr:D #2 + #5 \scan_stop: - #9 \etex_numexpr:D #3 + #6 \scan_stop: - \tex_ifnum:D #9 < \c_one_thousand_million - \tex_else:D - \tex_advance:D #8 \c_one - \tex_advance:D #9 -\c_one_thousand_million - \tex_fi:D - \tex_ifnum:D #8 < \c_one_thousand_million - \tex_else:D - \tex_advance:D #7 \c_one - \tex_advance:D #8 -\c_one_thousand_million - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_sub:NNNNNNNNN #1#2#3#4#5#6#7#8#9 { - #7 \etex_numexpr:D #1 - #4 \scan_stop: - #8 \etex_numexpr:D #2 - #5 \scan_stop: - #9 \etex_numexpr:D #3 - #6 \scan_stop: - \tex_ifnum:D #9 < \c_zero - \tex_advance:D #8 \c_minus_one - \tex_advance:D #9 \c_one_thousand_million - \tex_fi:D - \tex_ifnum:D #8 < \c_zero - \tex_advance:D #7 \c_minus_one - \tex_advance:D #8 \c_one_thousand_million - \tex_fi:D - \tex_ifnum:D #7 < \c_zero - \tex_ifnum:D \etex_numexpr:D #8 + #9 = \c_zero - #7 -#7 - \tex_else:D - \tex_advance:D #7 \c_one - #8 \etex_numexpr:D \c_one_thousand_million - #8 \scan_stop: - #9 \etex_numexpr:D \c_one_thousand_million - #9 \scan_stop: - \tex_fi:D - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_mul:NNNNNN #1#2#3#4#5#6 { - \fp_mul_split:NNNN #1 - \l_fp_mul_a_i_int \l_fp_mul_a_ii_int \l_fp_mul_a_iii_int - \fp_mul_split:NNNN #2 - \l_fp_mul_a_iv_int \l_fp_mul_a_v_int \l_fp_mul_a_vi_int - \fp_mul_split:NNNN #3 - \l_fp_mul_b_i_int \l_fp_mul_b_ii_int \l_fp_mul_b_iii_int - \fp_mul_split:NNNN #4 - \l_fp_mul_b_iv_int \l_fp_mul_b_v_int \l_fp_mul_b_vi_int - \l_fp_mul_output_int \c_zero - \tl_clear:N \l_fp_mul_output_tl - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_mul_b_vi_int - \fp_mul_product:NN \l_fp_mul_a_ii_int \l_fp_mul_b_v_int - \fp_mul_product:NN \l_fp_mul_a_iii_int \l_fp_mul_b_iv_int - \fp_mul_product:NN \l_fp_mul_a_iv_int \l_fp_mul_b_iii_int - \fp_mul_product:NN \l_fp_mul_a_v_int \l_fp_mul_b_ii_int - \fp_mul_product:NN \l_fp_mul_a_vi_int \l_fp_mul_b_i_int - \tex_divide:D \l_fp_mul_output_int \c_one_thousand - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_mul_b_v_int - \fp_mul_product:NN \l_fp_mul_a_ii_int \l_fp_mul_b_iv_int - \fp_mul_product:NN \l_fp_mul_a_iii_int \l_fp_mul_b_iii_int - \fp_mul_product:NN \l_fp_mul_a_iv_int \l_fp_mul_b_ii_int - \fp_mul_product:NN \l_fp_mul_a_v_int \l_fp_mul_b_i_int - \fp_mul_end_level: - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_mul_b_iv_int - \fp_mul_product:NN \l_fp_mul_a_ii_int \l_fp_mul_b_iii_int - \fp_mul_product:NN \l_fp_mul_a_iii_int \l_fp_mul_b_ii_int - \fp_mul_product:NN \l_fp_mul_a_iv_int \l_fp_mul_b_i_int - \fp_mul_end_level: - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_mul_b_iii_int - \fp_mul_product:NN \l_fp_mul_a_ii_int \l_fp_mul_b_ii_int - \fp_mul_product:NN \l_fp_mul_a_iii_int \l_fp_mul_b_i_int - \fp_mul_end_level: - #6 0 \l_fp_mul_output_tl \scan_stop: - \tl_clear:N \l_fp_mul_output_tl - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_mul_b_ii_int - \fp_mul_product:NN \l_fp_mul_a_ii_int \l_fp_mul_b_i_int - \fp_mul_end_level: - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_mul_b_i_int - \fp_mul_end_level: - \fp_mul_end_level: - #5 0 \l_fp_mul_output_tl \scan_stop: -} -\cs_new_protected_nopar:Npn \fp_mul:NNNNNNNNN #1#2#3#4#5#6#7#8#9 { - \fp_mul_split:NNNN #2 - \l_fp_mul_a_i_int \l_fp_mul_a_ii_int \l_fp_mul_a_iii_int - \fp_mul_split:NNNN #3 - \l_fp_mul_a_iv_int \l_fp_mul_a_v_int \l_fp_mul_a_vi_int - \fp_mul_split:NNNN #5 - \l_fp_mul_b_i_int \l_fp_mul_b_ii_int \l_fp_mul_b_iii_int - \fp_mul_split:NNNN #6 - \l_fp_mul_b_iv_int \l_fp_mul_b_v_int \l_fp_mul_b_vi_int - \l_fp_mul_output_int \c_zero - \tl_clear:N \l_fp_mul_output_tl - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_mul_b_vi_int - \fp_mul_product:NN \l_fp_mul_a_ii_int \l_fp_mul_b_v_int - \fp_mul_product:NN \l_fp_mul_a_iii_int \l_fp_mul_b_iv_int - \fp_mul_product:NN \l_fp_mul_a_iv_int \l_fp_mul_b_iii_int - \fp_mul_product:NN \l_fp_mul_a_v_int \l_fp_mul_b_ii_int - \fp_mul_product:NN \l_fp_mul_a_vi_int \l_fp_mul_b_i_int - \tex_divide:D \l_fp_mul_output_int \c_one_thousand - \fp_mul_product:NN #1 \l_fp_mul_b_vi_int - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_mul_b_v_int - \fp_mul_product:NN \l_fp_mul_a_ii_int \l_fp_mul_b_iv_int - \fp_mul_product:NN \l_fp_mul_a_iii_int \l_fp_mul_b_iii_int - \fp_mul_product:NN \l_fp_mul_a_iv_int \l_fp_mul_b_ii_int - \fp_mul_product:NN \l_fp_mul_a_v_int \l_fp_mul_b_i_int - \fp_mul_product:NN \l_fp_mul_a_vi_int #4 - \fp_mul_end_level: - \fp_mul_product:NN #1 \l_fp_mul_b_v_int - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_mul_b_iv_int - \fp_mul_product:NN \l_fp_mul_a_ii_int \l_fp_mul_b_iii_int - \fp_mul_product:NN \l_fp_mul_a_iii_int \l_fp_mul_b_ii_int - \fp_mul_product:NN \l_fp_mul_a_iv_int \l_fp_mul_b_i_int - \fp_mul_product:NN \l_fp_mul_a_v_int #4 - \fp_mul_end_level: - \fp_mul_product:NN #1 \l_fp_mul_b_iv_int - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_mul_b_iii_int - \fp_mul_product:NN \l_fp_mul_a_ii_int \l_fp_mul_b_ii_int - \fp_mul_product:NN \l_fp_mul_a_iii_int \l_fp_mul_b_i_int - \fp_mul_product:NN \l_fp_mul_a_iv_int #4 - \fp_mul_end_level: - #9 0 \l_fp_mul_output_tl \scan_stop: - \tl_clear:N \l_fp_mul_output_tl - \fp_mul_product:NN #1 \l_fp_mul_b_iii_int - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_mul_b_ii_int - \fp_mul_product:NN \l_fp_mul_a_ii_int \l_fp_mul_b_i_int - \fp_mul_product:NN \l_fp_mul_a_iii_int #4 - \fp_mul_end_level: - \fp_mul_product:NN #1 \l_fp_mul_b_ii_int - \fp_mul_product:NN \l_fp_mul_a_i_int \l_fp_mul_b_i_int - \fp_mul_product:NN \l_fp_mul_a_ii_int #4 - \fp_mul_end_level: - \fp_mul_product:NN #1 \l_fp_mul_b_i_int - \fp_mul_product:NN \l_fp_mul_a_i_int #4 - \fp_mul_end_level: - #8 0 \l_fp_mul_output_tl \scan_stop: - \tl_clear:N \l_fp_mul_output_tl - \fp_mul_product:NN #1 #4 - \fp_mul_end_level: - #7 0 \l_fp_mul_output_tl \scan_stop: -} -\cs_new_protected_nopar:Npn \fp_div_integer:NNNNN #1#2#3#4#5 { - \l_fp_tmp_int #1 - \tex_divide:D \l_fp_tmp_int #3 - \l_fp_tmp_int \etex_numexpr:D #1 - \l_fp_tmp_int * #3 \scan_stop: - #4 #1 - \tex_divide:D #4 #3 - #5 #2 - \tex_divide:D #5 #3 - \tex_multiply:D \l_fp_tmp_int \c_one_thousand - \tex_divide:D \l_fp_tmp_int #3 - #5 \etex_numexpr:D #5 + \l_fp_tmp_int * \c_one_million \scan_stop: - \tex_ifnum:D #5 > \c_one_thousand_million - \tex_advance:D #4 \c_one - \tex_advancd:D #5 -\c_one_thousand_million - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_extended_normalise: { - \fp_extended_normalise_aux_i: - \fp_extended_normalise_aux_ii: -} -\cs_new_protected_nopar:Npn \fp_extended_normalise_aux_i: { - \tex_ifnum:D \l_fp_input_a_exponent_int > \c_zero - \tex_multiply:D \l_fp_input_a_integer_int \c_ten - \tex_advance:D \l_fp_input_a_decimal_int \c_one_thousand_million - \tex_expandafter:D \fp_extended_normalise_aux_i:w - \int_use:N \l_fp_input_a_decimal_int \q_stop - \tex_expandafter:D \fp_extended_normalise_aux_i: - \tex_fi:D -} -\cs_new_protected_nopar:Npn - \fp_extended_normalise_aux_i:w #1#2#3#4#5#6#7#8#9 \q_stop { - \l_fp_input_a_integer_int - \etex_numexpr:D \l_fp_input_a_integer_int + #2 \scan_stop: - \l_fp_input_a_decimal_int #3#4#5#6#7#8#9 0 \scan_stop: - \tex_advance:D \l_fp_input_a_extended_int \c_one_thousand_million - \tex_expandafter:D \fp_extended_normalise_aux_ii:w - \int_use:N \l_fp_input_a_extended_int \q_stop -} -\cs_new_protected_nopar:Npn - \fp_extended_normalise_aux_ii:w #1#2#3#4#5#6#7#8#9 \q_stop { - \l_fp_input_a_decimal_int - \etex_numexpr:D \l_fp_input_a_decimal_int + #2 \scan_stop: - \l_fp_input_a_extended_int #3#4#5#6#7#8#9 0 \scan_stop: - \tex_advance:D \l_fp_input_a_exponent_int \c_minus_one -} -\cs_new_protected_nopar:Npn \fp_extended_normalise_aux_ii: { - \tex_ifnum:D \l_fp_input_a_exponent_int < \c_zero - \tex_advance:D \l_fp_input_a_decimal_int \c_one_thousand_million - \tex_expandafter:D \use_i:nn \tex_expandafter:D - \fp_extended_normalise_ii_aux:NNNNNNNNN - \int_use:N \l_fp_input_a_decimal_int - \tex_expandafter:D \fp_extended_normalise_aux_ii: - \tex_fi:D -} -\cs_new_protected_nopar:Npn - \fp_extended_normalise_ii_aux:NNNNNNNNN #1#2#3#4#5#6#7#8#9 { - \tex_ifnum:D \l_fp_input_a_integer_int = \c_zero - \l_fp_input_a_decimal_int #1#2#3#4#5#6#7#8 \scan_stop: - \tex_else:D - \tl_set:Nx \l_fp_tmp_tl - { - \int_use:N \l_fp_input_a_integer_int - #1#2#3#4#5#6#7#8 - } - \l_fp_input_a_integer_int \c_zero - \l_fp_input_a_decimal_int \l_fp_tmp_tl \scan_stop: - \tex_fi:D - \tex_divide:D \l_fp_input_a_extended_int \c_ten - \tl_set:Nx \l_fp_tmp_tl - { - #9 - \int_use:N \l_fp_input_a_extended_int - } - \l_fp_input_a_extended_int \l_fp_tmp_tl \scan_stop: - \tex_advance:D \l_fp_input_a_exponent_int \c_one -} -\cs_new_protected_nopar:Npn \fp_extended_normalise_output: { - \tex_ifnum:D \l_fp_output_integer_int > \c_nine - \tex_advance:D \l_fp_output_integer_int \c_one_thousand_million - \tex_expandafter:D \use_i:nn \tex_expandafter:D - \fp_extended_normalise_output_aux_i:NNNNNNNNN - \int_use:N \l_fp_output_integer_int - \tex_expandafter:D \fp_extended_normalise_output: - \tex_fi:D -} -\cs_new_protected_nopar:Npn - \fp_extended_normalise_output_aux_i:NNNNNNNNN #1#2#3#4#5#6#7#8#9 { - \l_fp_output_integer_int #1#2#3#4#5#6#7#8 \scan_stop: - \tex_advance:D \l_fp_output_decimal_int \c_one_thousand_million - \tl_set:Nx \l_fp_tmp_tl - { - #9 - \tex_expandafter:D \use_none:n - \int_use:N \l_fp_output_decimal_int - } - \tex_expandafter:D \fp_extended_normalise_output_aux_ii:NNNNNNNNN - \l_fp_tmp_tl -} -\cs_new_protected_nopar:Npn - \fp_extended_normalise_output_aux_ii:NNNNNNNNN #1#2#3#4#5#6#7#8#9 { - \l_fp_output_decimal_int #1#2#3#4#5#6#7#8#9 \scan_stop: - \fp_extended_normalise_output_aux:N -} -\cs_new_protected_nopar:Npn \fp_extended_normalise_output_aux:N #1 { - \tex_advance:D \l_fp_output_extended_int \c_one_thousand_million - \tex_divide:D \l_fp_output_extended_int \c_ten - \tl_set:Nx \l_fp_tmp_tl - { - #1 - \tex_expandafter:D \use_none:n - \int_use:N \l_fp_output_extended_int - } - \l_fp_output_extended_int \l_fp_tmp_tl \scan_stop: - \tex_advance:D \l_fp_output_exponent_int \c_one -} -\cs_new_protected_nopar:Npn \fp_trig_normalise: { - \tex_ifnum:D \l_fp_input_a_exponent_int < \c_ten - \l_fp_input_a_extended_int \c_zero - \fp_extended_normalise: - \fp_trig_normalise_aux: - \tex_ifnum:D \l_fp_input_a_integer_int < \c_zero - \l_fp_input_a_sign_int -\l_fp_input_a_sign_int - \l_fp_input_a_integer_int -\l_fp_input_a_integer_int - \tex_fi:D - \tex_expandafter:D \fp_trig_octant: - \tex_else:D - \l_fp_input_a_sign_int \c_one - \l_fp_output_integer_int \c_zero - \l_fp_output_decimal_int \c_zero - \l_fp_output_exponent_int \c_zero - \tex_expandafter:D \fp_trig_overflow_msg: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_trig_normalise_aux: { - \tex_ifnum:D \l_fp_input_a_integer_int > \c_three - \fp_trig_sub:NNN - \c_six \c_fp_two_pi_decimal_int \c_fp_two_pi_extended_int - \tex_expandafter:D \fp_trig_normalise_aux: - \tex_else:D - \tex_ifnum:D \l_fp_input_a_integer_int > \c_two - \tex_ifnum:D \l_fp_input_a_decimal_int > \c_fp_pi_decimal_int - \fp_trig_sub:NNN - \c_six \c_fp_two_pi_decimal_int \c_fp_two_pi_extended_int - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \fp_trig_normalise_aux: - \tex_fi:D - \tex_fi:D - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_trig_sub:NNN #1#2#3 { - \l_fp_input_a_integer_int - \etex_numexpr:D \l_fp_input_a_integer_int - #1 \scan_stop: - \l_fp_input_a_decimal_int - \etex_numexpr:D \l_fp_input_a_decimal_int - #2 \scan_stop: - \l_fp_input_a_extended_int - \etex_numexpr:D \l_fp_input_a_extended_int - #3 \scan_stop: - \tex_ifnum:D \l_fp_input_a_extended_int < \c_zero - \tex_advance:D \l_fp_input_a_decimal_int \c_minus_one - \tex_advance:D \l_fp_input_a_extended_int \c_one_thousand_million - \tex_fi:D - \tex_ifnum:D \l_fp_input_a_decimal_int < \c_zero - \tex_advance:D \l_fp_input_a_integer_int \c_minus_one - \tex_advance:D \l_fp_input_a_decimal_int \c_one_thousand_million - \tex_fi:D - \tex_ifnum:D \l_fp_input_a_integer_int < \c_zero - \l_fp_input_a_sign_int -\l_fp_input_a_sign_int - \tex_ifnum:D - \etex_numexpr:D - \l_fp_input_a_decimal_int + \l_fp_input_a_extended_int - = \c_zero - \l_fp_input_a_integer_int -\l_fp_input_a_integer_int - \tex_else:D - \l_fp_input_a_integer_int - \etex_numexpr:D - - \l_fp_input_a_integer_int - \c_one - \scan_stop: - \l_fp_input_a_decimal_int - \etex_numexpr:D - \c_one_thousand_million - \l_fp_input_a_decimal_int - \scan_stop: - \l_fp_input_a_extended_int - \etex_numexpr:D - \c_one_thousand_million - \l_fp_input_a_extended_int - \scan_stop: - \tex_fi:D - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_trig_octant: { - \l_fp_trig_octant_int \c_one - \fp_trig_octant_aux: - \tex_ifnum:D \l_fp_input_a_decimal_int < \c_ten - \l_fp_input_a_decimal_int \c_zero - \l_fp_input_a_extended_int \c_zero - \tex_fi:D - \tex_ifodd:D \l_fp_trig_octant_int - \tex_else:D - \fp_sub:NNNNNNNNN - \c_zero \c_fp_pi_by_four_decimal_int \c_fp_pi_by_four_extended_int - \l_fp_input_a_integer_int \l_fp_input_a_decimal_int - \l_fp_input_a_extended_int - \l_fp_input_a_integer_int \l_fp_input_a_decimal_int - \l_fp_input_a_extended_int - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_trig_octant_aux: { - \tex_ifnum:D \l_fp_input_a_integer_int > \c_zero - \fp_sub:NNNNNNNNN - \l_fp_input_a_integer_int \l_fp_input_a_decimal_int - \l_fp_input_a_extended_int - \c_zero \c_fp_pi_by_four_decimal_int \c_fp_pi_by_four_extended_int - \l_fp_input_a_integer_int \l_fp_input_a_decimal_int - \l_fp_input_a_extended_int - \tex_advance:D \l_fp_trig_octant_int \c_one - \tex_expandafter:D \fp_trig_octant_aux: - \tex_else:D - \tex_ifnum:D - \l_fp_input_a_decimal_int > \c_fp_pi_by_four_decimal_int - \fp_sub:NNNNNNNNN - \l_fp_input_a_integer_int \l_fp_input_a_decimal_int - \l_fp_input_a_extended_int - \c_zero \c_fp_pi_by_four_decimal_int - \c_fp_pi_by_four_extended_int - \l_fp_input_a_integer_int \l_fp_input_a_decimal_int - \l_fp_input_a_extended_int - \tex_advance:D \l_fp_trig_octant_int \c_one - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_trig_octant_aux: - \tex_fi:D - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_sin:Nn { - \fp_sin_aux:NNn \tl_set:Nn -} -\cs_new_protected_nopar:Npn \fp_gsin:Nn { - \fp_sin_aux:NNn \tl_gset:Nn -} -\cs_generate_variant:Nn \fp_sin:Nn { c } -\cs_generate_variant:Nn \fp_gsin:Nn { c } -\cs_new_protected_nopar:Npn \fp_sin_aux:NNn #1#2#3 { - \group_begin: - \fp_split:Nn a {#3} - \fp_standardise:NNNN - \l_fp_input_a_sign_int - \l_fp_input_a_integer_int - \l_fp_input_a_decimal_int - \l_fp_input_a_exponent_int - \tl_set:Nx \l_fp_arg_tl - { - \tex_ifnum:D \l_fp_input_a_sign_int < \c_zero - - - \tex_else:D - + - \tex_fi:D - \int_use:N \l_fp_input_a_integer_int - . - \tex_expandafter:D \use_none:n - \tex_number:D \etex_numexpr:D - \l_fp_input_a_decimal_int + \c_one_thousand_million - e - \int_use:N \l_fp_input_a_exponent_int - } - \tex_ifnum:D \l_fp_input_a_exponent_int < -\c_five - \cs_set_protected_nopar:Npx \fp_tmp:w - { - \group_end: - #1 \exp_not:N #2 { \l_fp_arg_tl } - } - \tex_else:D - \etex_ifcsname:D - c_fp_sin ( \l_fp_arg_tl ) _fp - \tex_endcsname:D - \tex_else:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_sin_aux_i: - \tex_fi:D - \cs_set_protected_nopar:Npx \fp_tmp:w - { - \group_end: - #1 \exp_not:N #2 - { \use:c { c_fp_sin ( \l_fp_arg_tl ) _fp } } - } - \tex_fi:D - \fp_tmp:w -} -\cs_new_protected_nopar:Npn \fp_sin_aux_i: { - \fp_trig_normalise: - \fp_sin_aux_ii: - \tex_ifnum:D \l_fp_output_integer_int = \c_one - \l_fp_output_exponent_int \c_zero - \tex_else:D - \l_fp_output_integer_int \l_fp_output_decimal_int - \l_fp_output_decimal_int \l_fp_output_extended_int - \l_fp_output_exponent_int -\c_nine - \tex_fi:D - \fp_standardise:NNNN - \l_fp_input_a_sign_int - \l_fp_output_integer_int - \l_fp_output_decimal_int - \l_fp_output_exponent_int - \tl_new:c { c_fp_sin ( \l_fp_arg_tl ) _fp } - \tl_gset:cx { c_fp_sin ( \l_fp_arg_tl ) _fp } - { - \tex_ifnum:D \l_fp_input_a_sign_int > \c_zero - + - \tex_else:D - - - \tex_fi:D - \int_use:N \l_fp_output_integer_int - . - \tex_expandafter:D \use_none:n - \tex_number:D \etex_numexpr:D - \l_fp_output_decimal_int + \c_one_thousand_million - \scan_stop: - e - \int_use:N \l_fp_output_exponent_int - } -} -\cs_new_protected_nopar:Npn \fp_sin_aux_ii: { - \tex_ifcase:D \l_fp_trig_octant_int - \tex_or:D - \tex_expandafter:D \fp_trig_calc_sin: - \tex_or:D - \tex_expandafter:D \fp_trig_calc_cos: - \tex_or:D - \tex_expandafter:D \fp_trig_calc_cos: - \tex_or:D - \tex_expandafter:D \fp_trig_calc_sin: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_cos:Nn { - \fp_cos_aux:NNn \tl_set:Nn -} -\cs_new_protected_nopar:Npn \fp_gcos:Nn { - \fp_cos_aux:NNn \tl_gset:Nn -} -\cs_generate_variant:Nn \fp_cos:Nn { c } -\cs_generate_variant:Nn \fp_gcos:Nn { c } -\cs_new_protected_nopar:Npn \fp_cos_aux:NNn #1#2#3 { - \group_begin: - \fp_split:Nn a {#3} - \fp_standardise:NNNN - \l_fp_input_a_sign_int - \l_fp_input_a_integer_int - \l_fp_input_a_decimal_int - \l_fp_input_a_exponent_int - \tl_set:Nx \l_fp_arg_tl - { - \tex_ifnum:D \l_fp_input_a_sign_int < \c_zero - - - \tex_else:D - + - \tex_fi:D - \int_use:N \l_fp_input_a_integer_int - . - \tex_expandafter:D \use_none:n - \tex_number:D \etex_numexpr:D - \l_fp_input_a_decimal_int + \c_one_thousand_million - e - \int_use:N \l_fp_input_a_exponent_int - } - \etex_ifcsname:D c_fp_cos ( \l_fp_arg_tl ) _fp \tex_endcsname:D - \tex_else:D - \tex_expandafter:D \fp_cos_aux_i: - \tex_fi:D - \cs_set_protected_nopar:Npx \fp_tmp:w - { - \group_end: - #1 \exp_not:N #2 - { \use:c { c_fp_cos ( \l_fp_arg_tl ) _fp } } - } - \fp_tmp:w -} -\cs_new_protected_nopar:Npn \fp_cos_aux_i: { - \fp_trig_normalise: - \fp_cos_aux_ii: - \tex_ifnum:D \l_fp_output_integer_int = \c_one - \l_fp_output_exponent_int \c_zero - \tex_else:D - \l_fp_output_integer_int \l_fp_output_decimal_int - \l_fp_output_decimal_int \l_fp_output_extended_int - \l_fp_output_exponent_int -\c_nine - \tex_fi:D - \fp_standardise:NNNN - \l_fp_input_a_sign_int - \l_fp_output_integer_int - \l_fp_output_decimal_int - \l_fp_output_exponent_int - \tl_new:c { c_fp_cos ( \l_fp_arg_tl ) _fp } - \tl_gset:cx { c_fp_cos ( \l_fp_arg_tl ) _fp } - { - \tex_ifnum:D \l_fp_input_a_sign_int > \c_zero - + - \tex_else:D - - - \tex_fi:D - \int_use:N \l_fp_output_integer_int - . - \tex_expandafter:D \use_none:n - \tex_number:D \etex_numexpr:D - \l_fp_output_decimal_int + \c_one_thousand_million - \scan_stop: - e - \int_use:N \l_fp_output_exponent_int - } -} -\cs_new_protected_nopar:Npn \fp_cos_aux_ii: { - \tex_ifcase:D \l_fp_trig_octant_int - \tex_or:D - \tex_expandafter:D \fp_trig_calc_cos: - \tex_or:D - \tex_expandafter:D \fp_trig_calc_sin: - \tex_or:D - \tex_expandafter:D \fp_trig_calc_sin: - \tex_or:D - \tex_expandafter:D \fp_trig_calc_cos: - \tex_fi:D - \tex_ifnum:D \l_fp_input_a_sign_int > \c_zero - \tex_ifnum:D \l_fp_trig_octant_int > \c_two - \l_fp_input_a_sign_int \c_minus_one - \tex_fi:D - \tex_else:D - \tex_ifnum:D \l_fp_trig_octant_int > \c_two - \tex_else:D - \l_fp_input_a_sign_int \c_one - \tex_fi:D - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_trig_calc_cos: { - \tex_ifnum:D \l_fp_input_a_decimal_int = \c_zero - \l_fp_output_integer_int \c_one - \l_fp_output_decimal_int \c_zero - \tex_else:D - \l_fp_trig_sign_int \c_minus_one - \fp_mul:NNNNNN - \l_fp_input_a_decimal_int \l_fp_input_a_extended_int - \l_fp_input_a_decimal_int \l_fp_input_a_extended_int - \l_fp_trig_decimal_int \l_fp_trig_extended_int - \fp_div_integer:NNNNN - \l_fp_trig_decimal_int \l_fp_trig_extended_int - \c_two - \l_fp_trig_decimal_int \l_fp_trig_extended_int - \l_fp_count_int \c_three - \tex_ifnum:D \l_fp_trig_extended_int = \c_zero - \tex_ifnum:D \l_fp_trig_decimal_int = \c_zero - \l_fp_output_integer_int \c_one - \l_fp_output_decimal_int \c_zero - \l_fp_output_extended_int \c_zero - \tex_else:D - \l_fp_output_integer_int \c_zero - \l_fp_output_decimal_int \c_one_thousand_million - \l_fp_output_extended_int \c_zero - \tex_fi:D - \tex_else:D - \l_fp_output_integer_int \c_zero - \l_fp_output_decimal_int 999999999 \scan_stop: - \l_fp_output_extended_int \c_one_thousand_million - \tex_fi:D - \tex_advance:D \l_fp_output_extended_int -\l_fp_trig_extended_int - \tex_advance:D \l_fp_output_decimal_int -\l_fp_trig_decimal_int - \tex_expandafter:D \fp_trig_calc_Taylor: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_trig_calc_sin: { - \l_fp_output_integer_int \c_zero - \tex_ifnum:D \l_fp_input_a_decimal_int = \c_zero - \l_fp_output_decimal_int \c_zero - \tex_else:D - \l_fp_output_decimal_int \l_fp_input_a_decimal_int - \l_fp_output_extended_int \l_fp_input_a_extended_int - \l_fp_trig_sign_int \c_one - \l_fp_trig_decimal_int \l_fp_input_a_decimal_int - \l_fp_trig_extended_int \l_fp_input_a_extended_int - \l_fp_count_int \c_two - \tex_expandafter:D \fp_trig_calc_Taylor: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_trig_calc_Taylor: { - \l_fp_trig_sign_int -\l_fp_trig_sign_int - \fp_mul:NNNNNN - \l_fp_trig_decimal_int \l_fp_trig_extended_int - \l_fp_input_a_decimal_int \l_fp_input_a_extended_int - \l_fp_trig_decimal_int \l_fp_trig_extended_int - \fp_mul:NNNNNN - \l_fp_trig_decimal_int \l_fp_trig_extended_int - \l_fp_input_a_decimal_int \l_fp_input_a_extended_int - \l_fp_trig_decimal_int \l_fp_trig_extended_int - \fp_div_integer:NNNNN - \l_fp_trig_decimal_int \l_fp_trig_extended_int - \l_fp_count_int - \l_fp_trig_decimal_int \l_fp_trig_extended_int - \tex_advance:D \l_fp_count_int \c_one - \fp_div_integer:NNNNN - \l_fp_trig_decimal_int \l_fp_trig_extended_int - \l_fp_count_int - \l_fp_trig_decimal_int \l_fp_trig_extended_int - \tex_advance:D \l_fp_count_int \c_one - \tex_ifnum:D \l_fp_trig_decimal_int > \c_zero - \tex_ifnum:D \l_fp_trig_sign_int > \c_zero - \tex_advance:D \l_fp_output_decimal_int \l_fp_trig_decimal_int - \tex_advance:D \l_fp_output_extended_int - \l_fp_trig_extended_int - \tex_ifnum:D \l_fp_output_extended_int < \c_one_thousand_million - \tex_else:D - \tex_advance:D \l_fp_output_decimal_int \c_one - \tex_advance:D \l_fp_output_extended_int - -\c_one_thousand_million - \tex_fi:D - \tex_ifnum:D \l_fp_output_decimal_int < \c_one_thousand_million - \tex_else:D - \tex_advance:D \l_fp_output_integer_int \c_one - \tex_advance:D \l_fp_output_decimal_int - -\c_one_thousand_million - \tex_fi:D - \tex_else:D - \tex_advance:D \l_fp_output_decimal_int -\l_fp_trig_decimal_int - \tex_advance:D \l_fp_output_extended_int - -\l_fp_input_a_extended_int - \tex_ifnum:D \l_fp_output_extended_int < \c_zero - \tex_advance:D \l_fp_output_decimal_int \c_minus_one - \tex_advance:D \l_fp_output_extended_int \c_one_thousand_million - \tex_fi:D - \tex_ifnum:D \l_fp_output_decimal_int < \c_zero - \tex_advance:D \l_fp_output_integer_int \c_minus_one - \tex_advance:D \l_fp_output_decimal_int \c_one_thousand_million - \tex_fi:D - \tex_fi:D - \tex_expandafter:D \fp_trig_calc_Taylor: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_tan:Nn { - \fp_tan_aux:NNn \tl_set:Nn -} -\cs_new_protected_nopar:Npn \fp_gtan:Nn { - \fp_tan_aux:NNn \tl_gset:Nn -} -\cs_generate_variant:Nn \fp_tan:Nn { c } -\cs_generate_variant:Nn \fp_gtan:Nn { c } -\cs_new_protected_nopar:Npn \fp_tan_aux:NNn #1#2#3 { - \group_begin: - \fp_split:Nn a {#3} - \fp_standardise:NNNN - \l_fp_input_a_sign_int - \l_fp_input_a_integer_int - \l_fp_input_a_decimal_int - \l_fp_input_a_exponent_int - \tl_set:Nx \l_fp_arg_tl - { - \tex_ifnum:D \l_fp_input_a_sign_int < \c_zero - - - \tex_else:D - + - \tex_fi:D - \int_use:N \l_fp_input_a_integer_int - . - \tex_expandafter:D \use_none:n - \tex_number:D \etex_numexpr:D - \l_fp_input_a_decimal_int + \c_one_thousand_million - e - \int_use:N \l_fp_input_a_exponent_int - } - \tex_ifnum:D \l_fp_input_a_exponent_int < -\c_five - \cs_set_protected_nopar:Npx \fp_tmp:w - { - \group_end: - #1 \exp_not:N #2 { \l_fp_arg_tl } - } - \tex_else:D - \etex_ifcsname:D - c_fp_tan ( \l_fp_arg_tl ) _fp - \tex_endcsname:D - \tex_else:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_tan_aux_i: - \tex_fi:D - \cs_set_protected_nopar:Npx \fp_tmp:w - { - \group_end: - #1 \exp_not:N #2 - { \use:c { c_fp_tan ( \l_fp_arg_tl ) _fp } } - } - \tex_fi:D - \fp_tmp:w -} -\cs_new_protected_nopar:Npn \fp_tan_aux_i: { - \tex_ifnum:D \l_fp_input_a_exponent_int < \c_ten - \tex_expandafter:D \fp_tan_aux_ii: - \tex_else:D - \cs_new_eq:cN { c_fp_tan ( \l_fp_arg_tl ) _fp } - \c_zero_fp - \tex_expandafter:D \fp_trig_overflow_msg: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_tan_aux_ii: { - \fp_trig_normalise: - \tex_ifnum:D \l_fp_input_a_sign_int > \c_zero - \tex_ifnum:D \l_fp_trig_octant_int > \c_two - \l_fp_output_sign_int \c_minus_one - \tex_else:D - \l_fp_output_sign_int \c_one - \tex_fi:D - \tex_else:D - \tex_ifnum:D \l_fp_trig_octant_int > \c_two - \l_fp_output_sign_int \c_one - \tex_else:D - \l_fp_output_sign_int \c_minus_one - \tex_fi:D - \tex_fi:D - \fp_cos_aux_ii: - \tex_ifnum:D \l_fp_input_a_decimal_int = \c_zero - \tex_ifnum:D \l_fp_input_a_integer_int = \c_zero - \cs_new_eq:cN { c_fp_tan ( \l_fp_arg_tl ) _fp } - \c_undefined_fp - \tex_else:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_tan_aux_iii: - \tex_fi:D - \tex_else:D - \tex_expandafter:D \fp_tan_aux_iii: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_tan_aux_iii: { - \l_fp_input_b_integer_int \l_fp_output_decimal_int - \l_fp_input_b_decimal_int \l_fp_output_extended_int - \l_fp_input_b_exponent_int -\c_nine - \fp_standardise:NNNN - \l_fp_input_b_sign_int - \l_fp_input_b_integer_int - \l_fp_input_b_decimal_int - \l_fp_input_b_exponent_int - \fp_sin_aux_ii: - \l_fp_input_a_integer_int \l_fp_output_decimal_int - \l_fp_input_a_decimal_int \l_fp_output_extended_int - \l_fp_input_a_exponent_int -\c_nine - \fp_standardise:NNNN - \l_fp_input_a_sign_int - \l_fp_input_a_integer_int - \l_fp_input_a_decimal_int - \l_fp_input_a_exponent_int - \tex_ifnum:D \l_fp_input_a_decimal_int = \c_zero - \tex_ifnum:D \l_fp_input_a_integer_int = \c_zero - \cs_new_eq:cN { c_fp_tan ( \l_fp_arg_tl ) _fp } - \c_zero_fp - \tex_else:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_tan_aux_iv: - \tex_fi:D - \tex_else:D - \tex_expandafter:D \fp_tan_aux_iv: - \tex_fi:D -} - \cs_new_protected_nopar:Npn \fp_tan_aux_iv: { - \l_fp_output_integer_int \c_zero - \l_fp_output_decimal_int \c_zero - \cs_set_eq:NN \fp_div_store: \fp_div_store_integer: - \l_fp_div_offset_int \c_one_hundred_million - \fp_div_loop: - \l_fp_output_exponent_int - \etex_numexpr:D - \l_fp_input_a_exponent_int - \l_fp_input_b_exponent_int - \scan_stop: - \fp_standardise:NNNN - \l_fp_output_sign_int - \l_fp_output_integer_int - \l_fp_output_decimal_int - \l_fp_output_exponent_int - \tl_new:c { c_fp_tan ( \l_fp_arg_tl ) _fp } - \tl_gset:cx { c_fp_tan ( \l_fp_arg_tl ) _fp } - { - \tex_ifnum:D \l_fp_output_sign_int > \c_zero - + - \tex_else:D - - - \tex_fi:D - \int_use:N \l_fp_output_integer_int - . - \tex_expandafter:D \use_none:n - \tex_number:D \etex_numexpr:D - \l_fp_output_decimal_int + \c_one_thousand_million - \scan_stop: - e - \int_use:N \l_fp_output_exponent_int - } -} -\tl_new:c { c_fp_exp_1_tl } -\tl_set:cn { c_fp_exp_1_tl } - { { 2 } { 718281828 } { 459045235 } { 0 } } -\tl_new:c { c_fp_exp_2_tl } -\tl_set:cn { c_fp_exp_2_tl } - { { 7 } { 389056098 } { 930650227 } { 0 } } -\tl_new:c { c_fp_exp_3_tl } -\tl_set:cn { c_fp_exp_3_tl } - { { 2 } { 008553692 } { 318766774 } { 1 } } -\tl_new:c { c_fp_exp_4_tl } -\tl_set:cn { c_fp_exp_4_tl } - { { 5 } { 459815003 } { 314423908 } { 1 } } -\tl_new:c { c_fp_exp_5_tl } -\tl_set:cn { c_fp_exp_5_tl } - { { 1 } { 484131591 } { 025766034 } { 2 } } -\tl_new:c { c_fp_exp_6_tl } -\tl_set:cn { c_fp_exp_6_tl } - { { 4 } { 034287934 } { 927351226 } { 2 } } -\tl_new:c { c_fp_exp_7_tl } -\tl_set:cn { c_fp_exp_7_tl } - { { 1 } { 096633158 } { 428458599 } { 3 } } -\tl_new:c { c_fp_exp_8_tl } -\tl_set:cn { c_fp_exp_8_tl } - { { 2 } { 980957987 } { 041728275 } { 3 } } -\tl_new:c { c_fp_exp_9_tl } -\tl_set:cn { c_fp_exp_9_tl } - { { 8 } { 103083927 } { 575384008 } { 3 } } -\tl_new:c { c_fp_exp_10_tl } -\tl_set:cn { c_fp_exp_10_tl } - { { 2 } { 202646579 } { 480671652 } { 4 } } -\tl_new:c { c_fp_exp_20_tl } -\tl_set:cn { c_fp_exp_20_tl } - { { 4 } { 851651954 } { 097902280 } { 8 } } -\tl_new:c { c_fp_exp_30_tl } -\tl_set:cn { c_fp_exp_30_tl } - { { 1 } { 068647458 } { 152446215 } { 13 } } -\tl_new:c { c_fp_exp_40_tl } -\tl_set:cn { c_fp_exp_40_tl } - { { 2 } { 353852668 } { 370199854 } { 17 } } -\tl_new:c { c_fp_exp_50_tl } -\tl_set:cn { c_fp_exp_50_tl } - { { 5 } { 184705528 } { 587072464 } { 21 } } -\tl_new:c { c_fp_exp_60_tl } -\tl_set:cn { c_fp_exp_60_tl } - { { 1 } { 142007389 } { 815684284 } { 26 } } -\tl_new:c { c_fp_exp_70_tl } -\tl_set:cn { c_fp_exp_70_tl } - { { 2 } { 515438670 } { 919167006 } { 30 } } -\tl_new:c { c_fp_exp_80_tl } -\tl_set:cn { c_fp_exp_80_tl } - { { 5 } { 540622384 } { 393510053 } { 34 } } -\tl_new:c { c_fp_exp_90_tl } -\tl_set:cn { c_fp_exp_90_tl } - { { 1 } { 220403294 } { 317840802 } { 39 } } -\tl_new:c { c_fp_exp_100_tl } -\tl_set:cn { c_fp_exp_100_tl } - { { 2 } { 688117141 } { 816135448 } { 43 } } -\tl_new:c { c_fp_exp_200_tl } -\tl_set:cn { c_fp_exp_200_tl } - { { 7 } { 225973768 } { 125749258 } { 86 } } -\tl_new:c { c_fp_exp_-1_tl } -\tl_set:cn { c_fp_exp_-1_tl } - { { 3 } { 678794411 } { 71442322 } { -1 } } -\tl_new:c { c_fp_exp_-2_tl } -\tl_set:cn { c_fp_exp_-2_tl } - { { 1 } { 353352832 } { 366132692 } { -1 } } -\tl_new:c { c_fp_exp_-3_tl } -\tl_set:cn { c_fp_exp_-3_tl } - { { 4 } { 978706836 } { 786394298 } { -2 } } -\tl_new:c { c_fp_exp_-4_tl } -\tl_set:cn { c_fp_exp_-4_tl } - { { 1 } { 831563888 } { 873418029 } { -2 } } -\tl_new:c { c_fp_exp_-5_tl } -\tl_set:cn { c_fp_exp_-5_tl } - { { 6 } { 737946999 } { 085467097 } { -3 } } -\tl_new:c { c_fp_exp_-6_tl } -\tl_set:cn { c_fp_exp_-6_tl } - { { 2 } { 478752176 } { 666358423 } { -3 } } -\tl_new:c { c_fp_exp_-7_tl } -\tl_set:cn { c_fp_exp_-7_tl } - { { 9 } { 118819655 } { 545162080 } { -4 } } -\tl_new:c { c_fp_exp_-8_tl } -\tl_set:cn { c_fp_exp_-8_tl } - { { 3 } { 354626279 } { 025118388 } { -4 } } -\tl_new:c { c_fp_exp_-9_tl } -\tl_set:cn { c_fp_exp_-9_tl } - { { 1 } { 234098040 } { 866795495 } { -4 } } -\tl_new:c { c_fp_exp_-10_tl } -\tl_set:cn { c_fp_exp_-10_tl } - { { 4 } { 539992976 } { 248451536 } { -5 } } -\tl_new:c { c_fp_exp_-20_tl } -\tl_set:cn { c_fp_exp_-20_tl } - { { 2 } { 061153622 } { 438557828 } { -9 } } -\tl_new:c { c_fp_exp_-30_tl } -\tl_set:cn { c_fp_exp_-30_tl } - { { 9 } { 357622968 } { 840174605 } { -14 } } -\tl_new:c { c_fp_exp_-40_tl } -\tl_set:cn { c_fp_exp_-40_tl } - { { 4 } { 248354255 } { 291588995 } { -18 } } -\tl_new:c { c_fp_exp_-50_tl } -\tl_set:cn { c_fp_exp_-50_tl } - { { 1 } { 928749847 } { 963917783 } { -22 } } -\tl_new:c { c_fp_exp_-60_tl } -\tl_set:cn { c_fp_exp_-60_tl } - { { 8 } { 756510762 } { 696520338 } { -27 } } -\tl_new:c { c_fp_exp_-70_tl } -\tl_set:cn { c_fp_exp_-70_tl } - { { 3 } { 975449735 } { 908646808 } { -31 } } -\tl_new:c { c_fp_exp_-80_tl } -\tl_set:cn { c_fp_exp_-80_tl } - { { 1 } { 804851387 } { 845415172 } { -35 } } -\tl_new:c { c_fp_exp_-90_tl } -\tl_set:cn { c_fp_exp_-90_tl } - { { 8 } { 194012623 } { 990515430 } { -40 } } -\tl_new:c { c_fp_exp_-100_tl } -\tl_set:cn { c_fp_exp_-100_tl } - { { 3 } { 720075976 } { 020835963 } { -44 } } -\tl_new:c { c_fp_exp_-200_tl } -\tl_set:cn { c_fp_exp_-200_tl } - { { 1 } { 383896526 } { 736737530 } { -87 } } -\cs_new_protected_nopar:Npn \fp_exp:Nn { - \fp_exp_aux:NNn \tl_set:Nn -} -\cs_new_protected_nopar:Npn \fp_gexp:Nn { - \fp_exp_aux:NNn \tl_gset:Nn -} -\cs_generate_variant:Nn \fp_exp:Nn { c } -\cs_generate_variant:Nn \fp_gexp:Nn { c } -\cs_new_protected_nopar:Npn \fp_exp_aux:NNn #1#2#3 { - \group_begin: - \fp_split:Nn a {#3} - \fp_standardise:NNNN - \l_fp_input_a_sign_int - \l_fp_input_a_integer_int - \l_fp_input_a_decimal_int - \l_fp_input_a_exponent_int - \l_fp_input_a_extended_int \c_zero - \tl_set:Nx \l_fp_arg_tl - { - \tex_ifnum:D \l_fp_input_a_sign_int < \c_zero - - - \tex_else:D - + - \tex_fi:D - \int_use:N \l_fp_input_a_integer_int - . - \tex_expandafter:D \use_none:n - \tex_number:D \etex_numexpr:D - \l_fp_input_a_decimal_int + \c_one_thousand_million - e - \int_use:N \l_fp_input_a_exponent_int - } - \etex_ifcsname:D c_fp_exp ( \l_fp_arg_tl ) _fp \tex_endcsname:D - \tex_else:D - \tex_expandafter:D \fp_exp_internal: - \tex_fi:D - \cs_set_protected_nopar:Npx \fp_tmp:w - { - \group_end: - #1 \exp_not:N #2 - { - \etex_ifcsname:D c_fp_exp ( \l_fp_arg_tl ) _fp - \tex_endcsname:D - \use:c { c_fp_exp ( \l_fp_arg_tl ) _fp } - \tex_else:D - \c_zero_fp - \tex_fi:D - } - } - \fp_tmp:w -} -\cs_new_protected_nopar:Npn \fp_exp_internal: { - \tex_ifnum:D \l_fp_input_a_exponent_int < \c_three - \fp_extended_normalise: - \tex_ifnum:D \l_fp_input_a_sign_int > \c_zero - \tex_ifnum:D \l_fp_input_a_integer_int < 230 \scan_stop: - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \fp_exp_aux: - \tex_else:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \fp_exp_overflow_msg: - \tex_fi:D - \tex_else:D - \tex_ifnum:D \l_fp_input_a_integer_int < 230 \scan_stop: - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \fp_exp_aux: - \tex_else:D - \fp_exp_const:cx { c_fp_exp ( \l_fp_arg_tl ) _fp } - { \c_zero_fp } - \tex_fi:D - \tex_fi:D - \tex_else:D - \tex_expandafter:D \fp_exp_overflow_msg: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_exp_aux: { - \tex_ifnum:D \l_fp_input_a_integer_int > \c_zero - \tex_expandafter:D \fp_exp_integer: - \tex_else:D - \l_fp_output_integer_int \c_one - \l_fp_output_decimal_int \c_zero - \l_fp_output_extended_int \c_zero - \l_fp_output_exponent_int \c_zero - \tex_expandafter:D \fp_exp_decimal: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_exp_integer: { - \tex_ifnum:D \l_fp_input_a_integer_int < \c_one_hundred - \l_fp_exp_integer_int \c_one - \l_fp_exp_decimal_int \c_zero - \l_fp_exp_extended_int \c_zero - \l_fp_exp_exponent_int \c_zero - \tex_expandafter:D \fp_exp_integer_tens: - \tex_else:D - \tl_set:Nx \l_fp_tmp_tl - { - \tex_expandafter:D \use_i:nnn - \int_use:N \l_fp_input_a_integer_int - } - \l_fp_input_a_integer_int - \etex_numexpr:D - \l_fp_input_a_integer_int - \l_fp_tmp_tl 00 - \scan_stop: - \tex_ifnum:D \l_fp_input_a_sign_int < \c_zero - \tex_ifnum:D \l_fp_output_integer_int > 200 \scan_stop: - \fp_exp_const:cx { c_fp_exp ( \l_fp_arg_tl ) _fp } - { \c_zero_fp } - \tex_else:D - \fp_exp_integer_const:n { - \l_fp_tmp_tl 00 } - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \fp_exp_integer_tens: - \tex_fi:D - \tex_else:D - \fp_exp_integer_const:n { \l_fp_tmp_tl 00 } - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \fp_exp_integer_tens: - \tex_fi:D - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_exp_integer_tens: { - \l_fp_output_integer_int \l_fp_exp_integer_int - \l_fp_output_decimal_int \l_fp_exp_decimal_int - \l_fp_output_extended_int \l_fp_exp_extended_int - \l_fp_output_exponent_int \l_fp_exp_exponent_int - \tex_ifnum:D \l_fp_input_a_integer_int > \c_nine - \tl_set:Nx \l_fp_tmp_tl - { - \tex_expandafter:D \use_i:nn - \int_use:N \l_fp_input_a_integer_int - } - \l_fp_input_a_integer_int - \etex_numexpr:D - \l_fp_input_a_integer_int - \l_fp_tmp_tl 0 - \scan_stop: - \tex_ifnum:D \l_fp_input_a_sign_int > \c_zero - \fp_exp_integer_const:n { \l_fp_tmp_tl 0 } - \tex_else:D - \fp_exp_integer_const:n { - \l_fp_tmp_tl 0 } - \tex_fi:D - \fp_mul:NNNNNNNNN - \l_fp_exp_integer_int \l_fp_exp_decimal_int \l_fp_exp_extended_int - \l_fp_output_integer_int \l_fp_output_decimal_int - \l_fp_output_extended_int - \l_fp_output_integer_int \l_fp_output_decimal_int - \l_fp_output_extended_int - \tex_advance:D \l_fp_output_exponent_int \l_fp_exp_exponent_int - \fp_extended_normalise_output: - \tex_fi:D - \fp_exp_integer_units: -} -\cs_new_protected_nopar:Npn \fp_exp_integer_units: { - \tex_ifnum:D \l_fp_input_a_integer_int > \c_zero - \tex_ifnum:D \l_fp_input_a_sign_int > \c_zero - \fp_exp_integer_const:n { \int_use:N \l_fp_input_a_integer_int } - \tex_else:D - \fp_exp_integer_const:n - { - \int_use:N \l_fp_input_a_integer_int } - \tex_fi:D - \fp_mul:NNNNNNNNN - \l_fp_exp_integer_int \l_fp_exp_decimal_int \l_fp_exp_extended_int - \l_fp_output_integer_int \l_fp_output_decimal_int - \l_fp_output_extended_int - \l_fp_output_integer_int \l_fp_output_decimal_int - \l_fp_output_extended_int - \tex_advance:D \l_fp_output_exponent_int \l_fp_exp_exponent_int - \fp_extended_normalise_output: - \tex_fi:D - \fp_exp_decimal: -} -\cs_new_protected_nopar:Npn \fp_exp_integer_const:n #1 { - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_exp_integer_const:nnnn - \tex_csname:D c_fp_exp_ #1 _tl \tex_endcsname:D -} -\cs_new_protected_nopar:Npn \fp_exp_integer_const:nnnn #1#2#3#4 { - \l_fp_exp_integer_int #1 \scan_stop: - \l_fp_exp_decimal_int #2 \scan_stop: - \l_fp_exp_extended_int #3 \scan_stop: - \l_fp_exp_exponent_int #4 \scan_stop: -} -\cs_new_protected_nopar:Npn \fp_exp_decimal: { - \tex_ifnum:D \l_fp_input_a_decimal_int > \c_zero - \tex_ifnum:D \l_fp_input_a_sign_int > \c_zero - \l_fp_exp_integer_int \c_one - \l_fp_exp_decimal_int \l_fp_input_a_decimal_int - \l_fp_exp_extended_int \l_fp_input_a_extended_int - \tex_else:D - \l_fp_exp_integer_int \c_zero - \tex_ifnum:D \l_fp_exp_extended_int = \c_zero - \l_fp_exp_decimal_int - \etex_numexpr:D - \c_one_thousand_million - \l_fp_input_a_decimal_int - \scan_stop: - \l_fp_exp_extended_int \c_zero - \tex_else:D - \l_fp_exp_decimal_int - \etex_numexpr:D - 999999999 - \l_fp_input_a_decimal_int - \scan_stop: - \l_fp_exp_extended_int - \etex_numexpr:D - \c_one_thousand_million - \l_fp_input_a_extended_int - \scan_stop: - \tex_fi:D - \tex_fi:D - \l_fp_input_b_sign_int \l_fp_input_a_sign_int - \l_fp_input_b_decimal_int \l_fp_input_a_decimal_int - \l_fp_input_b_extended_int \l_fp_input_a_extended_int - \l_fp_count_int \c_one - \fp_exp_Taylor: - \fp_mul:NNNNNNNNN - \l_fp_exp_integer_int \l_fp_exp_decimal_int \l_fp_exp_extended_int - \l_fp_output_integer_int \l_fp_output_decimal_int - \l_fp_output_extended_int - \l_fp_output_integer_int \l_fp_output_decimal_int - \l_fp_output_extended_int - \tex_fi:D - \tex_ifnum:D \l_fp_output_extended_int < \c_five_hundred_million - \tex_else:D - \tex_advance:D \l_fp_output_decimal_int \c_one - \tex_ifnum:D \l_fp_output_decimal_int < \c_one_thousand_million - \tex_else:D - \l_fp_output_decimal_int \c_zero - \tex_advance:D \l_fp_output_integer_int \c_one - \tex_fi:D - \tex_fi:D - \fp_standardise:NNNN - \l_fp_output_sign_int - \l_fp_output_integer_int - \l_fp_output_decimal_int - \l_fp_output_exponent_int - \fp_exp_const:cx { c_fp_exp ( \l_fp_arg_tl ) _fp } - { - + - \int_use:N \l_fp_output_integer_int - . - \tex_expandafter:D \use_none:n - \tex_number:D \etex_numexpr:D - \l_fp_output_decimal_int + \c_one_thousand_million - \scan_stop: - e - \int_use:N \l_fp_output_exponent_int - } -} -\cs_new_protected_nopar:Npn \fp_exp_Taylor: { - \tex_advance:D \l_fp_count_int \c_one - \tex_multiply:D \l_fp_input_b_sign_int \l_fp_input_a_sign_int - \fp_mul:NNNNNN - \l_fp_input_a_decimal_int \l_fp_input_a_extended_int - \l_fp_input_b_decimal_int \l_fp_input_b_extended_int - \l_fp_input_b_decimal_int \l_fp_input_b_extended_int - \fp_div_integer:NNNNN - \l_fp_input_b_decimal_int \l_fp_input_b_extended_int - \l_fp_count_int - \l_fp_input_b_decimal_int \l_fp_input_b_extended_int - \tex_ifnum:D - \etex_numexpr:D - \l_fp_input_b_decimal_int + \l_fp_input_b_extended_int - > \c_zero - \tex_ifnum:D \l_fp_input_b_sign_int > \c_zero - \tex_advance:D \l_fp_exp_decimal_int \l_fp_input_b_decimal_int - \tex_advance:D \l_fp_exp_extended_int - \l_fp_input_b_extended_int - \tex_ifnum:D \l_fp_exp_extended_int < \c_one_thousand_million - \tex_else:D - \tex_advance:D \l_fp_exp_decimal_int \c_one - \tex_advance:D \l_fp_exp_extended_int - -\c_one_thousand_million - \tex_fi:D - \tex_ifnum:D \l_fp_exp_decimal_int < \c_one_thousand_million - \tex_else:D - \tex_advance:D \l_fp_exp_integer_int \c_one - \tex_advance:D \l_fp_exp_decimal_int - -\c_one_thousand_million - \tex_fi:D - \tex_else:D - \tex_advance:D \l_fp_exp_decimal_int -\l_fp_input_b_decimal_int - \tex_advance:D \l_fp_exp_extended_int - -\l_fp_input_a_extended_int - \tex_ifnum:D \l_fp_exp_extended_int < \c_zero - \tex_advance:D \l_fp_exp_decimal_int \c_minus_one - \tex_advance:D \l_fp_exp_extended_int \c_one_thousand_million - \tex_fi:D - \tex_ifnum:D \l_fp_exp_decimal_int < \c_zero - \tex_advance:D \l_fp_exp_integer_int \c_minus_one - \tex_advance:D \l_fp_exp_decimal_int \c_one_thousand_million - \tex_fi:D - \tex_fi:D - \tex_expandafter:D \fp_exp_Taylor: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_exp_const:Nx #1#2 { - \tl_new:N #1 - \tl_gset:Nx #1 {#2} -} -\cs_generate_variant:Nn \fp_exp_const:Nx { c } -\tl_new:c { c_fp_ln_10_1_tl } -\tl_set:cn { c_fp_ln_10_1_tl } - { { 2 } { 302585092 } { 994045684 } { 0 } } -\tl_new:c { c_fp_ln_10_2_tl } -\tl_set:cn { c_fp_ln_10_2_tl } - { { 4 } { 605170185 } { 988091368 } { 0 } } -\tl_new:c { c_fp_ln_10_3_tl } -\tl_set:cn { c_fp_ln_10_3_tl } - { { 6 } { 907755278 } { 982137052 } { 0 } } -\tl_new:c { c_fp_ln_10_4_tl } -\tl_set:cn { c_fp_ln_10_4_tl } - { { 9 } { 210340371 } { 976182736 } { 0 } } -\tl_new:c { c_fp_ln_10_5_tl } -\tl_set:cn { c_fp_ln_10_5_tl } - { { 1 } { 151292546 } { 497022842 } { 1 } } -\tl_new:c { c_fp_ln_10_6_tl } -\tl_set:cn { c_fp_ln_10_6_tl } - { { 1 } { 381551055 } { 796427410 } { 1 } } -\tl_new:c { c_fp_ln_10_7_tl } -\tl_set:cn { c_fp_ln_10_7_tl } - { { 1 } { 611809565 } { 095831979 } { 1 } } -\tl_new:c { c_fp_ln_10_8_tl } -\tl_set:cn { c_fp_ln_10_8_tl } - { { 1 } { 842068074 } { 395226547 } { 1 } } -\tl_new:c { c_fp_ln_10_9_tl } -\tl_set:cn { c_fp_ln_10_9_tl } - { { 2 } { 072326583 } { 694641116 } { 1 } } -\tl_new:c { c_fp_ln_2_1_tl } -\tl_set:cn { c_fp_ln_2_1_tl } - { { 0 } { 693147180 } { 559945309 } { 0 } } -\tl_new:c { c_fp_ln_2_2_tl } -\tl_set:cn { c_fp_ln_2_2_tl } - { { 1 } { 386294361 } { 119890618 } { 0 } } -\tl_new:c { c_fp_ln_2_3_tl } -\tl_set:cn { c_fp_ln_2_3_tl } - { { 2 } { 079441541 } { 679835928 } { 0 } } -\cs_new_protected_nopar:Npn \fp_ln:Nn { - \fp_ln_aux:NNn \tl_set:Nn -} -\cs_new_protected_nopar:Npn \fp_gln:Nn { - \fp_ln_aux:NNn \tl_gset:Nn -} -\cs_generate_variant:Nn \fp_ln:Nn { c } -\cs_generate_variant:Nn \fp_gln:Nn { c } -\cs_new_protected_nopar:Npn \fp_ln_aux:NNn #1#2#3 { - \group_begin: - \fp_split:Nn a {#3} - \fp_standardise:NNNN - \l_fp_input_a_sign_int - \l_fp_input_a_integer_int - \l_fp_input_a_decimal_int - \l_fp_input_a_exponent_int - \tex_ifnum:D \l_fp_input_a_sign_int > \c_zero - \tex_ifnum:D - \etex_numexpr:D - \l_fp_input_a_integer_int + \l_fp_input_a_decimal_int - > \c_zero - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_ln_aux: - \tex_else:D - \cs_set_protected_nopar:Npx \fp_tmp:w ##1##2 - { - \group_end: - ##1 \exp_not:N ##2 { \c_zero_fp } - } - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_ln_error_msg: - \tex_fi:D - \tex_else:D - \cs_set_protected_nopar:Npx \fp_tmp:w ##1##2 - { - \group_end: - ##1 \exp_not:N ##2 { \c_zero_fp } - } - \tex_expandafter:D \fp_ln_error_msg: - \tex_fi:D - \fp_tmp:w #1 #2 -} -\cs_new_protected_nopar:Npn \fp_ln_aux: { - \tl_set:Nx \l_fp_arg_tl - { - + - \int_use:N \l_fp_input_a_integer_int - . - \tex_expandafter:D \use_none:n - \tex_number:D \etex_numexpr:D - \l_fp_input_a_decimal_int + \c_one_thousand_million - e - \int_use:N \l_fp_input_a_exponent_int - } - \etex_ifcsname:D c_fp_ln ( \l_fp_arg_tl ) _fp \tex_endcsname:D - \tex_else:D - \tex_expandafter:D \fp_ln_exponent: - \tex_fi:D - \cs_set_protected_nopar:Npx \fp_tmp:w ##1##2 - { - \group_end: - ##1 \exp_not:N ##2 - { \use:c { c_fp_ln ( \l_fp_arg_tl ) _fp } } - } -} -\cs_new_protected_nopar:Npn \fp_ln_exponent: { - \fp_ln_internal: - \tex_ifnum:D \l_fp_output_extended_int < \c_five_hundred_million - \tex_else:D - \tex_advance:D \l_fp_output_decimal_int \c_one - \tex_ifnum:D \l_fp_output_decimal_int < \c_one_thousand_million - \tex_else:D - \l_fp_output_decimal_int \c_zero - \tex_advance:D \l_fp_output_integer_int \c_one - \tex_fi:D - \tex_fi:D - \fp_standardise:NNNN - \l_fp_output_sign_int - \l_fp_output_integer_int - \l_fp_output_decimal_int - \l_fp_output_exponent_int - \tl_new:c { c_fp_ln ( \l_fp_arg_tl ) _fp } - \tl_gset:cx { c_fp_ln ( \l_fp_arg_tl ) _fp } - { - \tex_ifnum:D \l_fp_output_sign_int > \c_zero - + - \tex_else:D - - - \tex_fi:D - \int_use:N \l_fp_output_integer_int - . - \tex_expandafter:D \use_none:n - \tex_number:D \etex_numexpr:D - \l_fp_output_decimal_int + \c_one_thousand_million - \scan_stop: - e - \int_use:N \l_fp_output_exponent_int - } -} -\cs_new_protected_nopar:Npn \fp_ln_internal: { - \tex_ifnum:D \l_fp_input_a_exponent_int < \c_zero - \l_fp_input_a_exponent_int -\l_fp_input_a_exponent_int - \l_fp_output_sign_int \c_minus_one - \tex_else:D - \l_fp_output_sign_int \c_one - \tex_fi:D - \tex_ifnum:D \l_fp_input_a_exponent_int > \c_nine - \tl_set:Nx \l_fp_tmp_tl - { - \tex_expandafter:D \use_i:nn - \int_use:N \l_fp_input_a_exponent_int - } - \l_fp_input_a_exponent_int - \etex_numexpr:D - \l_fp_input_a_exponent_int - \l_fp_tmp_tl 0 - \scan_stop: - \fp_ln_const:nn { 10 } { \l_fp_tmp_tl } - \tex_advance:D \l_fp_exp_exponent_int \c_one - \l_fp_output_integer_int \l_fp_exp_integer_int - \l_fp_output_decimal_int \l_fp_exp_decimal_int - \l_fp_output_extended_int \l_fp_exp_extended_int - \l_fp_output_exponent_int \l_fp_exp_exponent_int - \tex_else:D - \l_fp_output_integer_int \c_zero - \l_fp_output_decimal_int \c_zero - \l_fp_output_extended_int \c_zero - \l_fp_output_exponent_int \c_zero - \tex_fi:D - \fp_ln_exponent_units: -} -\cs_new_protected_nopar:Npn \fp_ln_exponent_units: { - \tex_ifnum:D \l_fp_input_a_exponent_int > \c_zero - \fp_ln_const:nn { 10 } { \int_use:N \l_fp_input_a_exponent_int } - \fp_ln_normalise: - \fp_add:NNNNNNNNN - \l_fp_exp_integer_int \l_fp_exp_decimal_int \l_fp_exp_extended_int - \l_fp_output_integer_int \l_fp_output_decimal_int - \l_fp_output_extended_int - \l_fp_output_integer_int \l_fp_output_decimal_int - \l_fp_output_extended_int - \tex_fi:D - \fp_ln_mantissa: -} -\cs_new_protected_nopar:Npn \fp_ln_normalise: { - \tex_ifnum:D \l_fp_exp_exponent_int < \l_fp_output_exponent_int - \tex_advance:D \l_fp_exp_decimal_int \c_one_thousand_million - \tex_expandafter:D \use_i:nn \tex_expandafter:D - \fp_ln_normalise_aux:NNNNNNNNN - \int_use:N \l_fp_exp_decimal_int - \tex_expandafter:D \fp_ln_normalise: - \tex_fi:D -} -\cs_new_protected_nopar:Npn - \fp_ln_normalise_aux:NNNNNNNNN #1#2#3#4#5#6#7#8#9 { - \tex_ifnum:D \l_fp_exp_integer_int = \c_zero - \l_fp_exp_decimal_int #1#2#3#4#5#6#7#8 \scan_stop: - \tex_else:D - \tl_set:Nx \l_fp_tmp_tl - { - \int_use:N \l_fp_exp_integer_int - #1#2#3#4#5#6#7#8 - } - \l_fp_exp_integer_int \c_zero - \l_fp_exp_decimal_int \l_fp_tmp_tl \scan_stop: - \tex_fi:D - \tex_divide:D \l_fp_exp_extended_int \c_ten - \tl_set:Nx \l_fp_tmp_tl - { - #9 - \int_use:N \l_fp_exp_extended_int - } - \l_fp_exp_extended_int \l_fp_tmp_tl \scan_stop: - \tex_advance:D \l_fp_exp_exponent_int \c_one -} -\cs_new_protected_nopar:Npn \fp_ln_mantissa: { - \l_fp_count_int \c_zero - \l_fp_input_a_extended_int \c_zero - \fp_ln_mantissa_aux: - \tex_ifnum:D \l_fp_count_int > \c_zero - \fp_ln_const:nn { 2 } { \int_use:N \l_fp_count_int } - \fp_ln_normalise: - \tex_ifnum:D \l_fp_output_sign_int > \c_zero - \tex_expandafter:D \fp_add:NNNNNNNNN - \tex_else:D - \tex_expandafter:D \fp_sub:NNNNNNNNN - \tex_fi:D - \l_fp_output_integer_int \l_fp_output_decimal_int - \l_fp_output_extended_int - \l_fp_exp_integer_int \l_fp_exp_decimal_int \l_fp_exp_extended_int - \l_fp_output_integer_int \l_fp_output_decimal_int - \l_fp_output_extended_int - \tex_fi:D - \tex_ifnum:D - \etex_numexpr:D - \l_fp_input_a_integer_int + \l_fp_input_a_decimal_int > \c_one - \scan_stop: - \tex_expandafter:D \fp_ln_Taylor: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_ln_mantissa_aux: { - \tex_ifnum:D \l_fp_input_a_integer_int > \c_one - \tex_advance:D \l_fp_count_int \c_one - \fp_ln_mantissa_divide_two: - \tex_expandafter:D \fp_ln_mantissa_aux: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_ln_mantissa_divide_two: { - \tex_ifodd:D \l_fp_input_a_decimal_int - \tex_advance:D \l_fp_input_a_extended_int \c_one_thousand_million - \tex_fi:D - \tex_ifodd:D \l_fp_input_a_integer_int - \tex_advance:D \l_fp_input_a_decimal_int \c_one_thousand_million - \tex_fi:D - \tex_divide:D \l_fp_input_a_integer_int \c_two - \tex_divide:D \l_fp_input_a_decimal_int \c_two - \tex_divide:D \l_fp_input_a_extended_int \c_two -} -\cs_new_protected_nopar:Npn \fp_ln_const:nn #1#2 { - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_exp_integer_const:nnnn - \tex_csname:D c_fp_ln_ #1 _ #2 _tl \tex_endcsname:D -} -\cs_new_protected_nopar:Npn \fp_ln_Taylor: { - \group_begin: - \l_fp_input_a_integer_int \c_zero - \l_fp_input_a_exponent_int \c_zero - \l_fp_input_b_integer_int \c_two - \l_fp_input_b_decimal_int \l_fp_input_a_decimal_int - \l_fp_input_b_exponent_int \c_zero - \fp_div_internal: - \fp_ln_fixed: - \l_fp_input_a_integer_int \l_fp_output_integer_int - \l_fp_input_a_decimal_int \l_fp_output_decimal_int - \l_fp_input_a_exponent_int \l_fp_output_exponent_int - \l_fp_input_a_extended_int \c_zero - \l_fp_output_decimal_int \c_zero - \l_fp_output_decimal_int \l_fp_input_a_decimal_int - \l_fp_output_extended_int \l_fp_input_a_extended_int - \fp_mul:NNNNNN - \l_fp_input_a_decimal_int \l_fp_input_a_extended_int - \l_fp_input_a_decimal_int \l_fp_input_a_extended_int - \l_fp_input_b_decimal_int \l_fp_input_b_extended_int - \l_fp_count_int \c_one - \fp_ln_Taylor_aux: - \cs_set_protected_nopar:Npx \fp_tmp:w - { - \group_end: - \exp_not:N \l_fp_exp_decimal_int - \int_use:N \l_fp_output_decimal_int \scan_stop: - \exp_not:N \l_fp_exp_extended_int - \int_use:N \l_fp_output_extended_int \scan_stop: - \exp_not:N \l_fp_exp_exponent_int - \int_use:N \l_fp_output_exponent_int \scan_stop: - } - \fp_tmp:w - \tex_advance:D \l_fp_exp_decimal_int \l_fp_exp_decimal_int - \tex_ifnum:D \l_fp_exp_extended_int < \c_five_hundred_million - \tex_else:D - \tex_advance:D \l_fp_exp_extended_int -\c_five_hundred_million - \tex_advance:D \l_fp_exp_decimal_int \c_one - \tex_fi:D - \tex_advance:D \l_fp_exp_extended_int \l_fp_exp_extended_int - \tex_ifnum:D \l_fp_output_sign_int > \c_zero - \tex_expandafter:D \fp_add:NNNNNNNNN - \tex_else:D - \tex_expandafter:D \fp_sub:NNNNNNNNN - \tex_fi:D - \l_fp_output_integer_int \l_fp_output_decimal_int - \l_fp_output_extended_int - \c_zero \l_fp_exp_decimal_int \l_fp_exp_extended_int - \l_fp_output_integer_int \l_fp_output_decimal_int - \l_fp_output_extended_int -} -\cs_new_protected_nopar:Npn \fp_ln_fixed: { - \tex_ifnum:D \l_fp_output_exponent_int < \c_zero - \tex_advance:D \l_fp_output_decimal_int \c_one_thousand_million - \tex_expandafter:D \use_i:nn \tex_expandafter:D - \fp_ln_fixed_aux:NNNNNNNNN - \int_use:N \l_fp_output_decimal_int - \tex_expandafter:D \fp_ln_fixed: - \tex_fi:D -} -\cs_new_protected_nopar:Npn - \fp_ln_fixed_aux:NNNNNNNNN #1#2#3#4#5#6#7#8#9 { - \tex_ifnum:D \l_fp_output_integer_int = \c_zero - \l_fp_output_decimal_int #1#2#3#4#5#6#7#8 \scan_stop: - \tex_else:D - \tl_set:Nx \l_fp_tmp_tl - { - \int_use:N \l_fp_output_integer_int - #1#2#3#4#5#6#7#8 - } - \l_fp_output_integer_int \c_zero - \l_fp_output_decimal_int \l_fp_tmp_tl \scan_stop: - \tex_fi:D - \tex_advance:D \l_fp_output_exponent_int \c_one -} -\cs_new_protected_nopar:Npn \fp_ln_Taylor_aux: { - \tex_advance:D \l_fp_count_int \c_two - \fp_mul:NNNNNN - \l_fp_input_a_decimal_int \l_fp_input_a_extended_int - \l_fp_input_b_decimal_int \l_fp_input_b_extended_int - \l_fp_input_a_decimal_int \l_fp_input_a_extended_int - \tex_ifnum:D - \etex_numexpr:D - \l_fp_input_a_decimal_int + \l_fp_input_a_extended_int - > \c_zero - \fp_div_integer:NNNNN - \l_fp_input_a_decimal_int \l_fp_input_a_extended_int - \l_fp_count_int - \l_fp_exp_decimal_int \l_fp_exp_extended_int - \tex_advance:D \l_fp_output_decimal_int \l_fp_exp_decimal_int - \tex_advance:D \l_fp_output_extended_int \l_fp_exp_extended_int - \tex_ifnum:D \l_fp_output_extended_int < \c_one_thousand_million - \tex_else:D - \tex_advance:D \l_fp_output_decimal_int \c_one - \tex_advance:D \l_fp_output_extended_int - -\c_one_thousand_million - \tex_fi:D - \tex_ifnum:D \l_fp_output_decimal_int < \c_one_thousand_million - \tex_else:D - \tex_advance:D \l_fp_output_integer_int \c_one - \tex_advance:D \l_fp_output_decimal_int - -\c_one_thousand_million - \tex_fi:D - \tex_expandafter:D \fp_ln_Taylor_aux: - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_pow:Nn { - \fp_pow_aux:NNn \tl_set:Nn -} -\cs_new_protected_nopar:Npn \fp_gpow:Nn { - \fp_pow_aux:NNn \tl_gset:Nn -} -\cs_generate_variant:Nn \fp_pow:Nn { c } -\cs_generate_variant:Nn \fp_gpow:Nn { c } -\cs_new_protected_nopar:Npn \fp_pow_aux:NNn #1#2#3 { - \group_begin: - \fp_read:N #2 - \l_fp_input_b_sign_int \l_fp_input_a_sign_int - \l_fp_input_b_integer_int \l_fp_input_a_integer_int - \l_fp_input_b_decimal_int \l_fp_input_a_decimal_int - \l_fp_input_b_exponent_int \l_fp_input_a_exponent_int - \fp_split:Nn a {#3} - \fp_standardise:NNNN - \l_fp_input_a_sign_int - \l_fp_input_a_integer_int - \l_fp_input_a_decimal_int - \l_fp_input_a_exponent_int - \tex_ifnum:D - \etex_numexpr:D - \l_fp_input_b_integer_int + \l_fp_input_b_decimal_int - = \c_zero - \tex_ifnum:D - \etex_numexpr:D - \l_fp_input_a_integer_int + \l_fp_input_a_decimal_int - = \c_zero - \cs_set_protected_nopar:Npx \fp_tmp:w ##1##2 - { - \group_end: - ##1 ##2 { \c_undefined_fp } - } - \tex_else:D - \cs_set_protected_nopar:Npx \fp_tmp:w ##1##2 - { - \group_end: - ##1 ##2 { \c_zero_fp } - } - \tex_fi:D - \tex_else:D - \tex_ifnum:D - \etex_numexpr:D - \l_fp_input_a_integer_int + \l_fp_input_a_decimal_int - = \c_zero - \cs_set_protected_nopar:Npx \fp_tmp:w ##1##2 - { - \group_end: - ##1 ##2 { \c_one_fp } - } - \tex_else:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_pow_aux_i: - \tex_fi:D - \tex_fi:D - \fp_tmp:w #1 #2 -} -\cs_new_protected_nopar:Npn \fp_pow_aux_i: { - \tex_ifnum:D \l_fp_input_b_sign_int > \c_zero - \tl_set:Nn \l_fp_sign_tl { + } - \tex_expandafter:D \fp_pow_aux_ii: - \tex_else:D - \l_fp_input_a_extended_int \c_zero - \tex_ifnum:D \l_fp_input_a_exponent_int < \c_ten - \group_begin: - \fp_extended_normalise: - \tex_ifnum:D - \etex_numexpr:D - \l_fp_input_a_decimal_int + \l_fp_input_a_extended_int - = \c_zero - \group_end: - \tl_set:Nn \l_fp_sign_tl { - } - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \fp_pow_aux_ii: - \tex_else:D - \group_end: - \cs_set_protected_nopar:Npx \fp_tmp:w ##1##2 - { - \group_end: - ##1 ##2 { \c_undefined_fp } - } - \tex_fi:D - \tex_else:D - \cs_set_protected_nopar:Npx \fp_tmp:w ##1##2 - { - \group_end: - ##1 ##2 { \c_undefined_fp } - } - \tex_fi:D - \tex_fi:D -} -\cs_new_protected_nopar:Npn \fp_pow_aux_ii: { - \tex_ifnum:D \l_fp_input_a_sign_int > \c_zero - \tex_expandafter:D \fp_pow_aux_iv: - \tex_else:D - \tex_ifnum:D \l_fp_input_a_exponent_int < \c_ten - \group_begin: - \l_fp_input_a_extended_int \c_zero - \fp_extended_normalise: - \tex_ifnum:D \l_fp_input_a_decimal_int = \c_zero - \tex_ifnum:D \l_fp_input_a_integer_int > \c_ten - \group_end: - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_pow_aux_iv: - \tex_else:D - \group_end: - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \fp_pow_aux_iii: - \tex_fi:D - \tex_else:D - \group_end: - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \tex_expandafter:D \fp_pow_aux_iv: - \tex_fi:D - \tex_else:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D - \fp_pow_aux_iv: - \tex_fi:D - \tex_fi:D - \cs_set_protected_nopar:Npx \fp_tmp:w ##1##2 - { - \group_end: - ##1 ##2 - { - \l_fp_sign_tl - \int_use:N \l_fp_output_integer_int - . - \tex_expandafter:D \use_none:n - \tex_number:D \etex_numexpr:D - \l_fp_output_decimal_int + \c_one_thousand_million - \scan_stop: - e - \int_use:N \l_fp_output_exponent_int - } - } -} -\cs_new_protected_nopar:Npn \fp_pow_aux_iii: { - \l_fp_input_a_sign_int \c_one - \fp_pow_aux_iv: - \l_fp_input_a_integer_int \c_one - \l_fp_input_a_decimal_int \c_zero - \l_fp_input_a_exponent_int \c_zero - \l_fp_input_b_integer_int \l_fp_output_integer_int - \l_fp_input_b_decimal_int \l_fp_output_decimal_int - \l_fp_input_b_exponent_int \l_fp_output_exponent_int - \fp_div_internal: -} -\cs_new_protected_nopar:Npn \fp_pow_aux_iv: { - \group_begin: - \l_fp_input_a_integer_int \l_fp_input_b_integer_int - \l_fp_input_a_decimal_int \l_fp_input_b_decimal_int - \l_fp_input_a_exponent_int \l_fp_input_b_exponent_int - \fp_ln_internal: - \cs_set_protected_nopar:Npx \fp_tmp:w - { - \group_end: - \exp_not:N \l_fp_input_b_sign_int - \int_use:N \l_fp_output_sign_int \scan_stop: - \exp_not:N \l_fp_input_b_integer_int - \int_use:N \l_fp_output_integer_int \scan_stop: - \exp_not:N \l_fp_input_b_decimal_int - \int_use:N \l_fp_output_decimal_int \scan_stop: - \exp_not:N \l_fp_input_b_extended_int - \int_use:N \l_fp_output_extended_int \scan_stop: - \exp_not:N \l_fp_input_b_exponent_int - \int_use:N \l_fp_output_exponent_int \scan_stop: - } - \fp_tmp:w - \l_fp_input_a_extended_int \c_zero - \fp_mul:NNNNNNNNN - \l_fp_input_a_integer_int \l_fp_input_a_decimal_int - \l_fp_input_a_extended_int - \l_fp_input_b_integer_int \l_fp_input_b_decimal_int - \l_fp_input_b_extended_int - \l_fp_input_a_integer_int \l_fp_input_a_decimal_int - \l_fp_input_a_extended_int - \tex_advance:D \l_fp_input_a_exponent_int \l_fp_input_b_exponent_int - \l_fp_output_integer_int \c_zero - \l_fp_output_decimal_int \c_zero - \l_fp_output_exponent_int \c_zero - \cs_set_eq:NN \fp_exp_const:Nx \use_none:nn - \fp_exp_internal: -} -\prg_new_conditional:Npnn \fp_if_undefined:N #1 { T , F , TF , p } { - \tex_ifx:D #1 \c_undefined_fp - \prg_return_true: - \tex_else:D - \prg_return_false: - \tex_fi:D -} -\prg_new_conditional:Npnn \fp_if_zero:N #1 { T , F , TF , p } { - \tex_ifx:D #1 \c_zero_fp - \prg_return_true: - \tex_else:D - \prg_return_false: - \tex_fi:D -} -\prg_new_protected_conditional:Npnn \fp_compare:nNn #1#2#3 - { T , F , TF } - { - \group_begin: - \fp_split:Nn a {#1} - \fp_standardise:NNNN - \l_fp_input_a_sign_int - \l_fp_input_a_integer_int - \l_fp_input_a_decimal_int - \l_fp_input_a_exponent_int - \fp_split:Nn b {#3} - \fp_standardise:NNNN - \l_fp_input_b_sign_int - \l_fp_input_b_integer_int - \l_fp_input_b_decimal_int - \l_fp_input_b_exponent_int - \fp_compare_aux:N #2 -} -\prg_new_protected_conditional:Npnn \fp_compare:NNN #1#2#3 - { T , F , TF } - { - \group_begin: - \fp_read:N #3 - \l_fp_input_b_sign_int \l_fp_input_a_sign_int - \l_fp_input_b_integer_int \l_fp_input_a_integer_int - \l_fp_input_b_decimal_int \l_fp_input_a_decimal_int - \l_fp_input_b_exponent_int \l_fp_input_a_exponent_int - \fp_read:N #1 - \fp_compare_aux:N #2 -} -\cs_new_protected_nopar:Npn \fp_compare_aux:N #1 { - \cs_if_exist:cTF { fp_compare_#1: } - { \use:c { fp_compare_#1: } } - { - \group_end: - \prg_return_false: - } -} -\cs_new_protected_nopar:cpn { fp_compare_=: } { - \tex_ifnum:D \l_fp_input_a_sign_int = \l_fp_input_b_sign_int - \tex_ifnum:D \l_fp_input_a_integer_int = \l_fp_input_b_integer_int - \tex_ifnum:D \l_fp_input_a_decimal_int = \l_fp_input_b_decimal_int - \tex_ifnum:D - \l_fp_input_a_exponent_int = \l_fp_input_b_exponent_int - \group_end: - \prg_return_true: - \tex_else:D - \group_end: - \prg_return_false: - \tex_fi:D - \tex_else:D - \group_end: - \prg_return_false: - \tex_fi:D - \tex_else:D - \group_end: - \prg_return_false: - \tex_fi:D - \tex_else:D - \group_end: - \prg_return_false: - \tex_fi:D -} -\cs_new_protected_nopar:cpn { fp_compare_>: } { - \tex_ifnum:D \etex_numexpr:D - \l_fp_input_a_integer_int + \l_fp_input_a_decimal_int - = \c_zero - \tex_ifnum:D \etex_numexpr:D - \l_fp_input_b_integer_int + \l_fp_input_b_decimal_int - = \c_zero - \group_end: - \prg_return_false: - \tex_else:D - \tex_ifnum:D \l_fp_input_b_sign_int > \c_zero - \group_end: - \prg_return_false: - \tex_else:D - \group_end: - \prg_return_true: - \tex_fi:D - \tex_fi:D - \tex_else:D - \tex_ifnum:D \etex_numexpr:D - \l_fp_input_b_integer_int + \l_fp_input_b_decimal_int - = \c_zero - \tex_ifnum:D \l_fp_input_a_sign_int > \c_zero - \group_end: - \prg_return_true: - \tex_else:D - \group_end: - \prg_return_false: - \tex_fi:D - \tex_else:D - \use:c { fp_compare_>_aux: } - \tex_fi:D - \tex_fi:D -} -\cs_new_protected_nopar:cpn { fp_compare_>_aux: } { - \tex_ifnum:D \l_fp_input_a_sign_int > \l_fp_input_b_sign_int - \group_end: - \prg_return_true: - \tex_else:D - \tex_ifnum:D \l_fp_input_a_sign_int < \l_fp_input_b_sign_int - \group_end: - \prg_return_false: - \tex_else:D - \tex_ifnum:D \l_fp_input_a_sign_int > \c_zero - \use:c { fp_compare_absolute_a>b: } - \tex_else:D - \use:c { fp_compare_absolute_a<b: } - \tex_fi:D - \tex_fi:D - \tex_fi:D -} -\cs_new_protected_nopar:cpn { fp_compare_absolute_a>b: } { - \tex_ifnum:D \l_fp_input_a_exponent_int > \l_fp_input_b_exponent_int - \group_end: - \prg_return_true: - \tex_else:D - \tex_ifnum:D \l_fp_input_a_exponent_int < \l_fp_input_b_exponent_int - \group_end: - \prg_return_false: - \tex_else:D - \tex_ifnum:D \l_fp_input_a_integer_int > \l_fp_input_b_integer_int - \group_end: - \prg_return_true: - \tex_else:D - \tex_ifnum:D - \l_fp_input_a_integer_int < \l_fp_input_b_integer_int - \group_end: - \prg_return_false: - \tex_else:D - \tex_ifnum:D - \l_fp_input_a_decimal_int > \l_fp_input_b_decimal_int - \group_end: - \prg_return_true: - \tex_else:D - \group_end: - \prg_return_false: - \tex_fi:D - \tex_fi:D - \tex_fi:D - \tex_fi:D - \tex_fi:D -} -\cs_new_protected_nopar:cpn { fp_compare_absolute_a<b: } { - \tex_ifnum:D \l_fp_input_b_exponent_int > \l_fp_input_a_exponent_int - \group_end: - \prg_return_true: - \tex_else:D - \tex_ifnum:D \l_fp_input_b_exponent_int < \l_fp_input_a_exponent_int - \group_end: - \prg_return_false: - \tex_else:D - \tex_ifnum:D \l_fp_input_b_integer_int > \l_fp_input_a_integer_int - \group_end: - \prg_return_true: - \tex_else:D - \tex_ifnum:D - \l_fp_input_b_integer_int < \l_fp_input_a_integer_int - \group_end: - \prg_return_false: - \tex_else:D - \tex_ifnum:D - \l_fp_input_b_decimal_int > \l_fp_input_a_decimal_int - \group_end: - \prg_return_true: - \tex_else:D - \group_end: - \prg_return_false: - \tex_fi:D - \tex_fi:D - \tex_fi:D - \tex_fi:D - \tex_fi:D -} -\cs_new_protected_nopar:cpn { fp_compare_<: } { - \tl_set:Nx \l_fp_tmp_tl - { - \int_set:Nn \exp_not:N \l_fp_input_a_sign_int - { \int_use:N \l_fp_input_b_sign_int } - \int_set:Nn \exp_not:N \l_fp_input_a_integer_int - { \int_use:N \l_fp_input_b_integer_int } - \int_set:Nn \exp_not:N \l_fp_input_a_decimal_int - { \int_use:N \l_fp_input_b_decimal_int } - \int_set:Nn \exp_not:N \l_fp_input_a_exponent_int - { \int_use:N \l_fp_input_b_exponent_int } - \int_set:Nn \exp_not:N \l_fp_input_b_sign_int - { \int_use:N \l_fp_input_a_sign_int } - \int_set:Nn \exp_not:N \l_fp_input_b_integer_int - { \int_use:N \l_fp_input_a_integer_int } - \int_set:Nn \exp_not:N \l_fp_input_b_decimal_int - { \int_use:N \l_fp_input_a_decimal_int } - \int_set:Nn \exp_not:N \l_fp_input_b_exponent_int - { \int_use:N \l_fp_input_a_exponent_int } - } - \l_fp_tmp_tl - \use:c { fp_compare_>: } -} -\msg_kernel_new:nnnn { fpu } { overflow } - { Number~too~big. } - { - The~input~given~is~too~big~for~the~LaTeX~floating~point~unit. \\ - Further~errors~may~well~occur! - } -\cs_new_protected_nopar:Npn \fp_overflow_msg: { - \msg_kernel_error:nn { fpu } { overflow } -} -\msg_kernel_new:nnnn { fpu } { exponent-overflow } - { Number~too~big~for~exponent~unit. } - { - The~exponent~of~the~input~given~is~too~big~for~the~floating~point~ - unit:~the~maximum~input~value~for~an~exponent~is~230. - } -\cs_new_protected_nopar:Npn \fp_exp_overflow_msg: { - \msg_kernel_error:nn { fpu } { exponent-overflow } -} -\msg_kernel_new:nnnn { fpu } { logarithm-input-error } - { Invalid~input~to~ln~function. } - { Logarithms~can~only~be~calculated~for~positive~numbers. } -\cs_new_protected_nopar:Npn \fp_ln_error_msg: { - \msg_kernel_error:nn { fpu } { logarithm-input-error } -} -\msg_kernel_new:nnnn { fpu } { trigonometric-overflow } - { Number~too~big~for~trigonometry~unit. } - { - The~trigonometry~code~can~only~work~with~numbers~smaller~ - than~1000000000. - } -\cs_new_protected_nopar:Npn \fp_trig_overflow_msg: { - \msg_kernel_error:nn { fpu } { trigonometric-overflow } -} -%% -%% -%% End of file `l3fp.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3int.sty b/Master/texmf-dist/tex/latex/expl3/l3int.sty deleted file mode 100644 index 9a6a034b355..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3int.sty +++ /dev/null @@ -1,767 +0,0 @@ -%% -%% 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-2011 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3int.dtx 2229 2011-04-11 17:37:05Z joseph $ - {L3 Experimental Integer module} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\cs_set_eq:NN \int_value:w \tex_number:D -\cs_set_eq:NN \int_eval:w \etex_numexpr:D -\cs_set_protected:Npn \int_eval_end: {\tex_relax:D} -\cs_set_eq:NN \if_int_compare:w \tex_ifnum:D -\cs_new_eq:NN \if_num:w \tex_ifnum:D -\cs_set_eq:NN \if_int_odd:w \tex_ifodd:D -\cs_new_eq:NN \if_case:w \tex_ifcase:D -\cs_new_eq:NN \int_to_roman:w \tex_romannumeral:D -\cs_new_eq:NN \int_advance:w \tex_advance:D -\cs_set:Npn \int_eval:n #1{ - \int_value:w \int_eval:w #1\int_eval_end: -} -\cs_new_protected_nopar:Npn \int_new:N #1 { - \chk_if_free_cs:N #1 - \newcount #1 -} -\cs_generate_variant:Nn \int_new:N {c} -\cs_new_protected_nopar:Npn \int_set:Nn #1#2{#1 \int_eval:w #2\int_eval_end: -} -\cs_new_protected_nopar:Npn \int_gset:Nn { - \pref_global:D - \int_set:Nn } -\cs_generate_variant:Nn\int_set:Nn {cn} -\cs_generate_variant:Nn\int_gset:Nn {cn} -\cs_new_protected_nopar:Npn \int_set_eq:NN #1#2 { - \int_set:Nn #1 {#2} -} -\cs_generate_variant:Nn \int_set_eq:NN { c } -\cs_generate_variant:Nn \int_set_eq:NN { Nc } -\cs_generate_variant:Nn \int_set_eq:NN { cc } -\cs_new_protected_nopar:Npn \int_gset_eq:NN #1#2 { - \int_gset:Nn #1 {#2} -} -\cs_generate_variant:Nn \int_gset_eq:NN { c } -\cs_generate_variant:Nn \int_gset_eq:NN { Nc } -\cs_generate_variant:Nn \int_gset_eq:NN { cc } -\cs_new_protected_nopar:Npn \int_incr:N #1{\int_advance:w#1\c_one -} -\cs_new_protected_nopar:Npn \int_decr:N #1{\int_advance:w#1\c_minus_one -} -\cs_new_protected_nopar:Npn \int_gincr:N { - \pref_global:D - \int_incr:N} -\cs_new_protected_nopar:Npn \int_gdecr:N { - \pref_global:D - \int_decr:N} -\cs_set_protected_nopar:Npn \int_incr:N #1{\int_add:Nn#1\c_one} -\cs_set_protected_nopar:Npn \int_decr:N #1{\int_add:Nn#1\c_minus_one} -\cs_set_protected_nopar:Npn \int_gincr:N #1{\int_gadd:Nn#1\c_one} -\cs_set_protected_nopar:Npn \int_gdecr:N #1{\int_gadd:Nn#1\c_minus_one} -\cs_generate_variant:Nn \int_incr:N {c} -\cs_generate_variant:Nn \int_decr:N {c} -\cs_generate_variant:Nn \int_gincr:N {c} -\cs_generate_variant:Nn \int_gdecr:N {c} -\cs_new_protected_nopar:Npn \int_zero:N #1 {#1=\c_zero} -\cs_generate_variant:Nn \int_zero:N {c} -\cs_new_protected_nopar:Npn \int_gzero:N #1 {\pref_global:D #1=\c_zero} -\cs_generate_variant:Nn \int_gzero:N {c} -\cs_new_protected_nopar:Npn \int_add:Nn #1#2{ - \int_advance:w #1 by \int_eval:w #2\int_eval_end: -} -\cs_new_nopar:Npn \int_sub:Nn #1#2{ - \int_advance:w #1-\int_eval:w #2\int_eval_end: -} -\cs_new_protected_nopar:Npn \int_gadd:Nn { - \pref_global:D - \int_add:Nn } -\cs_new_protected_nopar:Npn \int_gsub:Nn { - \pref_global:D - \int_sub:Nn } -\cs_generate_variant:Nn \int_add:Nn {cn} -\cs_generate_variant:Nn \int_gadd:Nn {cn} -\cs_generate_variant:Nn \int_sub:Nn {cn} -\cs_generate_variant:Nn \int_gsub:Nn {cn} -\cs_new_eq:NN \int_use:N \tex_the:D -\cs_new_nopar:Npn \int_use:c #1{\int_use:N \cs:w#1\cs_end:} -\cs_new_eq:NN \int_show:N \kernel_register_show:N -\cs_new_eq:NN \int_show:c \kernel_register_show:c -\cs_new_nopar:Npn \int_to_arabic:n #1{ \int_eval:n{#1}} -\cs_new_protected_nopar:Npn \int_roman_lcuc_mapping:Nnn #1#2#3{ - \cs_set_nopar:cpn {int_to_lc_roman_#1:}{#2} - \cs_set_nopar:cpn {int_to_uc_roman_#1:}{#3} -} -\int_roman_lcuc_mapping:Nnn i i I -\int_roman_lcuc_mapping:Nnn v v V -\int_roman_lcuc_mapping:Nnn x x X -\int_roman_lcuc_mapping:Nnn l l L -\int_roman_lcuc_mapping:Nnn c c C -\int_roman_lcuc_mapping:Nnn d d D -\int_roman_lcuc_mapping:Nnn m m M -\int_roman_lcuc_mapping:Nnn Q \use_none:nn \use_none:nn -\cs_new_nopar:Npn \int_to_roman:n #1 { - \exp_after:wN \int_to_roman_lcuc:NN \exp_after:wN l - \int_to_roman:w \int_eval:n {#1} Q -} -\cs_new_nopar:Npn \int_to_Roman:n #1 { - \exp_after:wN \int_to_roman_lcuc:NN \exp_after:wN u - \int_to_roman:w \int_eval:n {#1} Q -} -\cs_new_nopar:Npn \int_to_roman_lcuc:NN #1#2{ - \use:c {int_to_#1c_roman_#2:} - \int_to_roman_lcuc:NN #1 -} -\cs_new_nopar:Npn \int_convert_to_symbols:nnn #1#2#3 { - \int_compare:nNnTF {#1} > {#2} - { - \exp_args:Nf \int_convert_to_symbols:nnn - { \int_div_truncate:nn { #1 - 1 } {#2} } {#2} {#3} - \exp_args:Nf \prg_case_int:nnn - { \int_eval:n { 1 + \int_mod:nn { #1 - 1 } {#2} } } - {#3} { } - } - { \exp_args:Nf \prg_case_int:nnn { \int_eval:n {#1} } {#3} { } } -} -\cs_set_nopar:Npn \int_convert_number_with_rule:nnN #1#2#3{ - \int_compare:nNnTF {#1}>{#2} - { - \exp_args:Nf \int_convert_number_with_rule:nnN - { \int_div_truncate:nn {#1-1}{#2} }{#2} - #3 - \exp_args:Nf #3 { \int_eval:n{1+\int_mod:nn {#1-1}{#2}} } - } - { \exp_args:Nf #3{ \int_eval:n{#1} } } -} -\cs_new_nopar:Npn \int_to_alph:n #1 { - \int_convert_to_symbols:nnn {#1} { 26 } - { - { 1 } { a } - { 2 } { b } - { 3 } { c } - { 4 } { d } - { 5 } { e } - { 6 } { f } - { 7 } { g } - { 8 } { h } - { 9 } { i } - { 10 } { j } - { 11 } { k } - { 12 } { l } - { 13 } { m } - { 14 } { n } - { 15 } { o } - { 16 } { p } - { 17 } { q } - { 18 } { r } - { 19 } { s } - { 20 } { t } - { 21 } { u } - { 22 } { v } - { 23 } { w } - { 24 } { x } - { 25 } { y } - { 26 } { z } - } -} -\cs_new_nopar:Npn \int_to_Alph:n #1 { - \int_convert_to_symbols:nnn {#1} { 26 } - { - { 1 } { A } - { 2 } { B } - { 3 } { C } - { 4 } { D } - { 5 } { E } - { 6 } { F } - { 7 } { G } - { 8 } { H } - { 9 } { I } - { 10 } { J } - { 11 } { K } - { 12 } { L } - { 13 } { M } - { 14 } { N } - { 15 } { O } - { 16 } { P } - { 17 } { Q } - { 18 } { R } - { 19 } { S } - { 20 } { T } - { 21 } { U } - { 22 } { V } - { 23 } { W } - { 24 } { X } - { 25 } { Y } - { 26 } { Z } - } -} -\cs_new_nopar:Npn \int_to_symbol:n #1{ - \mode_if_math:TF - { - \int_convert_number_with_rule:nnN {#1}{9} - \int_symbol_math_conversion_rule:n - } - { - \int_convert_number_with_rule:nnN {#1}{9} - \int_symbol_text_conversion_rule:n - } -} -\cs_new_nopar:Npn \int_symbol_math_conversion_rule:n #1 { - \if_case:w #1 - \or: * - \or: \dagger - \or: \ddagger - \or: \mathsection - \or: \mathparagraph - \or: \| - \or: ** - \or: \dagger\dagger - \or: \ddagger\ddagger - \fi: -} -\cs_new_nopar:Npn \int_symbol_text_conversion_rule:n #1 { - \if_case:w #1 - \or: \textasteriskcentered - \or: \textdagger - \or: \textdaggerdbl - \or: \textsection - \or: \textparagraph - \or: \textbardbl - \or: \textasteriskcentered\textasteriskcentered - \or: \textdagger\textdagger - \or: \textdaggerdbl\textdaggerdbl - \fi: -} -\int_new:N \l_tmpa_int -\int_new:N \l_tmpb_int -\int_new:N \l_tmpc_int -\int_new:N \g_tmpa_int -\int_new:N \g_tmpb_int -\cs_set_nopar:Npn \int_pre_eval_one_arg:Nn #1#2{ - \exp_args:Nf#1{\int_eval:n{#2}}} -\cs_set_nopar:Npn \int_pre_eval_two_args:Nnn #1#2#3{ - \exp_args:Nff#1{\int_eval:n{#2}}{\int_eval:n{#3}} -} -\cs_new_nopar:Npn \int_from_roman:n #1 { - \tl_if_blank:nF {#1} - { - \tex_expandafter:D \int_from_roman_end:w - \tex_number:D \etex_numexpr:D - \int_from_roman_aux:NN #1 Q \q_stop - } -} -\cs_new_nopar:Npn \int_from_roman_aux:NN #1#2 { - \str_if_eq:nnTF {#1} { Q } - {#1#2} - { - \str_if_eq:nnTF {#2} { Q } - { - \cs_if_exist:cF { c_int_from_roman_ #1 _int } - { \int_from_roman_clean_up:w } - + - \use:c { c_int_from_roman_ #1 _int } - #2 - } - { - \cs_if_exist:cF { c_int_from_roman_ #1 _int } - { \int_from_roman_clean_up:w } - \cs_if_exist:cF { c_int_from_roman_ #2 _int } - { \int_from_roman_clean_up:w } - \int_compare:nNnTF - { \use:c { c_int_from_roman_ #1 _int } } - < - { \use:c { c_int_from_roman_ #2 _int } } - { - + \use:c { c_int_from_roman_ #2 _int } - - \use:c { c_int_from_roman_ #1 _int } - \int_from_roman_aux:NN - } - { - + \use:c { c_int_from_roman_ #1 _int } - \int_from_roman_aux:NN #2 - } - } - } -} -\cs_new_nopar:Npn \int_from_roman_end:w #1 Q #2 \q_stop { - \tl_if_empty:nTF {#2} {#1} {#2} -} -\cs_new_nopar:Npn \int_from_roman_clean_up:w #1 Q { + 0 Q -1 } -\cs_new:Npn \int_convert_from_base_ten:nn #1#2 { - \int_compare:nNnTF {#1} < { 0 } - { - - - \exp_args:Nnf \int_convert_from_base_ten_aux:nnn - { } { \int_eval:n { 0 - ( #1 ) } } {#2} - } - { - \exp_args:Nnf \int_convert_from_base_ten_aux:nnn - { } { \int_eval:n {#1} } {#2} - } -} -\cs_new:Npn \int_convert_from_base_ten_aux:nnn #1#2#3 { - \int_compare:nNnTF {#2} < {#3} - { - \int_convert_number_to_letter:n {#2} - #1 - } - { - \exp_args:Nff \int_convert_from_base_ten_aux:nnn - { - \int_convert_number_to_letter:n - { \int_mod:nn {#2} {#3} } - #1 - } - { \int_div_truncate:nn {#2} {#3} } - {#3} - } -} -\cs_new:Npn \int_convert_number_to_letter:n #1 { - \prg_case_int:nnn { #1 - 9 } - { - { 1 } { A } - { 2 } { B } - { 3 } { C } - { 4 } { D } - { 5 } { E } - { 6 } { F } - { 7 } { G } - { 8 } { H } - { 9 } { I } - { 10 } { J } - { 11 } { K } - { 12 } { L } - { 13 } { M } - { 14 } { N } - { 15 } { O } - { 16 } { P } - { 17 } { Q } - { 18 } { R } - { 19 } { S } - { 20 } { T } - { 21 } { U } - { 22 } { V } - { 23 } { W } - { 24 } { X } - { 25 } { Y } - { 26 } { Z } - } - {#1} -} -\cs_new:Npn \int_convert_to_base_ten:nn #1#2 { - \int_eval:n - { - \int_get_sign:n {#1} - \exp_args:Nf \int_convert_to_base_ten_aux:nn - { \int_get_digits:n {#1} } {#2} - } -} -\cs_new:Npn \int_convert_to_base_ten_aux:nn #1#2 { - \int_convert_to_base_ten_aux:nnN { 0 } { #2 } #1 \q_nil -} -\cs_new:Npn \int_convert_to_base_ten_aux:nnN #1#2#3 { - \quark_if_nil:NTF #3 - {#1} - { - \exp_args:Nf \int_convert_to_base_ten_aux:nnN - { \int_eval:n { #1 * #2 + \int_convert_to_base_ten_aux:N #3 } } - {#2} - } -} -\cs_new:Npn \int_convert_to_base_ten_aux:N #1 { - \int_compare:nNnTF { `#1 } < { 58 } - {#1} - { - \int_eval:n - { `#1 - \int_compare:nNnTF { `#1 } < { 91 } { 55 } { 87 } } - } -} -\cs_new:Npn \int_get_sign_and_digits:n #1 { - \int_get_sign_and_digits_aux:nNNN {#1} - \c_true_bool \c_true_bool \c_true_bool -} -\cs_new:Npn \int_get_sign:n #1 { - \int_get_sign_and_digits_aux:nNNN {#1} - \c_true_bool \c_true_bool \c_false_bool -} -\cs_new:Npn \int_get_digits:n #1 { - \int_get_sign_and_digits_aux:nNNN {#1} - \c_true_bool \c_false_bool \c_true_bool -} -\cs_new:Npn \int_get_sign_and_digits_aux:nNNN #1#2#3#4 { - \tl_if_head_eq_charcode:fNTF {#1} - - { - \bool_if:NTF #2 - { - \int_get_sign_and_digits_aux:oNNN - { \use_none:n #1 } \c_false_bool #3#4 - } - { - \int_get_sign_and_digits_aux:oNNN - { \use_none:n #1 } \c_true_bool #3#4 - } - } - { - \tl_if_head_eq_charcode:fNTF {#1} + - { \int_get_sign_and_digits_aux:oNNN { \use_none:n #1 } #2#3#4 } - { - \bool_if:NT #3 { \bool_if:NF #2 - } - \bool_if:NT #4 {#1} - } - } -} -\cs_generate_variant:Nn \int_get_sign_and_digits_aux:nNNN { o } -\cs_new:Npn \int_from_binary:n #1 { - \int_convert_to_base_ten:nn {#1} { 2 } -} -\cs_new:Npn \int_from_hexadecimal:n #1 { - \int_convert_to_base_ten:nn {#1} { 16 } -} -\cs_new:Npn \int_from_octal:n #1 { - \int_convert_to_base_ten:nn {#1} { 8 } -} -\cs_new:Npn \int_to_binary:n #1 { - \int_convert_from_base_ten:nn {#1} { 2 } -} -\cs_new:Npn \int_to_hexadecimal:n #1 { - \int_convert_from_base_ten:nn {#1} { 16 } -} -\cs_new:Npn \int_to_octal:n #1 { - \int_convert_from_base_ten:nn {#1} { 8 } -} -\cs_new:Npn \int_from_alph:n #1 { - \int_eval:n - { - \int_get_sign:n {#1} - \exp_args:Nf \int_from_alph_aux:n - { \int_get_digits:n {#1} } - } -} -\cs_new:Npn \int_from_alph_aux:n #1 { - \int_from_alph_aux:nN { 0 } #1 \q_nil -} -\cs_new:Npn \int_from_alph_aux:nN #1#2 { - \quark_if_nil:NTF #2 - {#1} - { - \exp_args:Nf \int_from_alph_aux:nN - { \int_eval:n { #1 * 26 + \int_from_alph_aux:N #2 } } - } -} -\cs_new:Npn \int_from_alph_aux:N #1 { - \int_eval:n - { `#1 - \int_compare:nNnTF { `#1 } < { 91 } { 64 } { 96 } } -} -\prg_set_conditional:Npnn \int_compare:n #1{p,TF,T,F}{ - \exp_after:wN \int_compare_auxi:w \int_value:w - \int_eval:w #1\q_stop -} -\cs_set:Npn \int_compare_auxi:w #1#2\q_stop{ - \exp_after:wN \int_compare_auxii:w \tex_romannumeral:D - \if:w #1- \else: -\fi: #1#2 \q_mark #1#2 \q_stop -} -\cs_set:Npn \int_compare_auxii:w #1#2#3\q_mark{ - \use:c{ - int_compare_ - #1 \if_meaning:w =#2 = \fi: - :w} -} -\cs_set:cpn {int_compare_=:w} #1=#2\q_stop{ - \if_int_compare:w #1=\int_eval:w #2 \int_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_set:cpn {int_compare_==:w} #1==#2\q_stop{ - \if_int_compare:w #1=\int_eval:w #2 \int_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_set:cpn {int_compare_!=:w} #1!=#2\q_stop{ - \if_int_compare:w #1=\int_eval:w #2 \int_eval_end: - \prg_return_false: \else: \prg_return_true: \fi: -} -\cs_set:cpn {int_compare_<:w} #1<#2\q_stop{ - \if_int_compare:w #1<\int_eval:w #2 \int_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_set:cpn {int_compare_>:w} #1>#2\q_stop{ - \if_int_compare:w #1>\int_eval:w #2 \int_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_set:cpn {int_compare_<=:w} #1<=#2\q_stop{ - \if_int_compare:w #1>\int_eval:w #2 \int_eval_end: - \prg_return_false: \else: \prg_return_true: \fi: -} -\cs_set:cpn {int_compare_>=:w} #1>=#2\q_stop{ - \if_int_compare:w #1<\int_eval:w #2 \int_eval_end: - \prg_return_false: \else: \prg_return_true: \fi: -} -\prg_set_conditional:Npnn \int_compare:nNn #1#2#3{p}{ - \if_int_compare:w \int_eval:w #1 #2 \int_eval:w #3 - \int_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_set_nopar:Npn \int_compare:nNnT #1#2#3 { - \tex_ifnum:D \etex_numexpr:D #1 #2 \etex_numexpr:D #3 \scan_stop: - \tex_expandafter:D \use:n - \tex_else:D - \tex_expandafter:D \use_none:n - \tex_fi:D -} -\cs_set_nopar:Npn \int_compare:nNnF #1#2#3 { - \tex_ifnum:D \etex_numexpr:D #1 #2 \etex_numexpr:D #3 \scan_stop: - \tex_expandafter:D \use_none:n - \tex_else:D - \tex_expandafter:D \use:n - \tex_fi:D -} -\cs_set_nopar:Npn \int_compare:nNnTF #1#2#3 { - \tex_ifnum:D \etex_numexpr:D #1 #2 \etex_numexpr:D #3 \scan_stop: - \tex_expandafter:D \use_i:nn - \tex_else:D - \tex_expandafter:D \use_ii:nn - \tex_fi:D -} -\cs_set:Npn \int_abs:n #1{ - \int_value:w - \if_int_compare:w \int_eval:w #1<\c_zero - - - \fi: - \int_eval:w #1\int_eval_end: -} -\cs_set:Npn \int_max:nn #1#2{ - \int_value:w \int_eval:w - \if_int_compare:w - \int_eval:w #1>\int_eval:w #2\int_eval_end: - #1 - \else: - #2 - \fi: - \int_eval_end: -} -\cs_set:Npn \int_min:nn #1#2{ - \int_value:w \int_eval:w - \if_int_compare:w - \int_eval:w #1<\int_eval:w #2\int_eval_end: - #1 - \else: - #2 - \fi: - \int_eval_end: -} -\cs_set:Npn \int_div_truncate:nn #1#2 { - \int_value:w \int_eval:w - \if_int_compare:w \int_eval:w #1 = \c_zero - 0 - \else: - (#1 - \if_int_compare:w \int_eval:w #1 < \c_zero - \if_int_compare:w \int_eval:w #2 < \c_zero - -( #2 + - \else: - +( #2 - - \fi: - \else: - \if_int_compare:w \int_eval:w #2 < \c_zero - +( #2 + - \else: - -( #2 - - \fi: - \fi: - 1)/2) - \fi: - /(#2) - \int_eval_end: -} -\cs_set:Npn \int_div_round:nn #1#2 {\int_eval:n{(#1)/(#2)}} -\cs_set:Npn \int_mod:nn #1#2 { - \int_value:w - \int_eval:w - #1 - \int_div_truncate:nn {#1}{#2} * (#2) - \int_eval_end: -} -\prg_set_conditional:Npnn \int_if_odd:n #1 {p,TF,T,F} { - \if_int_odd:w \int_eval:w #1\int_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_set_conditional:Npnn \int_if_even:n #1 {p,TF,T,F} { - \if_int_odd:w \int_eval:w #1\int_eval_end: - \prg_return_false: \else: \prg_return_true: \fi: -} -\cs_set:Npn \int_while_do:nn #1#2{ - \int_compare:nT {#1}{#2 \int_while_do:nn {#1}{#2}} -} -\cs_set:Npn \int_until_do:nn #1#2{ - \int_compare:nF {#1}{#2 \int_until_do:nn {#1}{#2}} -} -\cs_set:Npn \int_do_while:nn #1#2{ - #2 \int_compare:nT {#1}{\int_do_while:nNnn {#1}{#2}} -} -\cs_set:Npn \int_do_until:nn #1#2{ - #2 \int_compare:nF {#1}{\int_do_until:nn {#1}{#2}} -} -\cs_set:Npn \int_while_do:nNnn #1#2#3#4{ - \int_compare:nNnT {#1}#2{#3}{#4 \int_while_do:nNnn {#1}#2{#3}{#4}} -} -\cs_set:Npn \int_until_do:nNnn #1#2#3#4{ - \int_compare:nNnF {#1}#2{#3}{#4 \int_until_do:nNnn {#1}#2{#3}{#4}} -} -\cs_set:Npn \int_do_while:nNnn #1#2#3#4{ - #4 \int_compare:nNnT {#1}#2{#3}{\int_do_while:nNnn {#1}#2{#3}{#4}} -} -\cs_set:Npn \int_do_until:nNnn #1#2#3#4{ - #4 \int_compare:nNnF {#1}#2{#3}{\int_do_until:nNnn {#1}#2{#3}{#4}} -} -\cs_new_protected_nopar:Npn \int_const:Nn #1#2 { - \int_compare:nTF { #2 > \c_minus_one } - { - \int_compare:nTF { #2 > \c_max_register_int } - { - \int_new:N #1 - \int_gset:Nn #1 {#2} - } - { - \chk_if_free_cs:N #1 - \tex_global:D \tex_mathchardef:D #1 = - \etex_numexpr:D #2 \scan_stop: - } - } - { - \int_new:N #1 - \int_gset:Nn #1 {#2} - } -} -\cs_generate_variant:Nn \int_const:Nn { c } - %% \tex_countdef:D \c_minus_one = 10 \scan_stop: - %% \c_minus_one = -1 \scan_stop: %% in l3basics -\int_const:Nn \c_one {1} -\int_const:Nn \c_two {2} -\int_const:Nn \c_three {3} -\int_const:Nn \c_four {4} -\int_const:Nn \c_five {5} -\int_const:Nn \c_eight {8} -\int_const:Nn \c_nine {9} -\int_const:Nn \c_ten {10} -\int_const:Nn \c_eleven {11} -\int_const:Nn \c_thirteen {13} -\int_const:Nn \c_fourteen {14} -\int_const:Nn \c_fifteen {15} - %% \tex_chardef:D \c_sixteen = 16\scan_stop: %% in l3basics -\int_const:Nn \c_thirty_two {32} -\int_const:Nn \c_hundred_one {101} -\int_const:Nn \c_twohundred_fifty_five{255} -\int_const:Nn \c_twohundred_fifty_six {256} -\int_const:Nn \c_thousand {1000} -\int_const:Nn \c_ten_thousand {10000} -\int_const:Nn \c_ten_thousand_one {10001} -\int_const:Nn \c_ten_thousand_two {10002} -\int_const:Nn \c_ten_thousand_three {10003} -\int_const:Nn \c_ten_thousand_four {10004} -\int_const:Nn \c_twenty_thousand {20000} -\int_const:Nn \c_max_int {2147483647} -\int_const:cn { c_int_from_roman_i_int } { 1 } -\int_const:cn { c_int_from_roman_v_int } { 5 } -\int_const:cn { c_int_from_roman_x_int } { 10 } -\int_const:cn { c_int_from_roman_l_int } { 50 } -\int_const:cn { c_int_from_roman_c_int } { 100 } -\int_const:cn { c_int_from_roman_d_int } { 500 } -\int_const:cn { c_int_from_roman_m_int } { 1000 } -\int_const:cn { c_int_from_roman_I_int } { 1 } -\int_const:cn { c_int_from_roman_V_int } { 5 } -\int_const:cn { c_int_from_roman_X_int } { 10 } -\int_const:cn { c_int_from_roman_L_int } { 50 } -\int_const:cn { c_int_from_roman_C_int } { 100 } -\int_const:cn { c_int_from_roman_D_int } { 500 } -\int_const:cn { c_int_from_roman_M_int } { 1000 } -\int_new:N \g_tl_inline_level_int -\int_new:N\g_prg_inline_level_int -\cs_set_eq:NN \intexpr_value:w \int_value:w -\cs_set_eq:NN \intexpr_eval:w \int_eval:w -\cs_set_eq:NN \intexpr_eval_end: \int_eval_end: -\cs_set_eq:NN \if_intexpr_compare:w \if_int_compare:w -\cs_set_eq:NN \if_intexpr_odd:w \if_int_odd:w -\cs_set_eq:NN \if_intexpr_case:w \if_case:w -\cs_set_eq:NN \intexpr_eval:n \int_eval:n - -\cs_set_eq:NN \intexpr_compare_p:n \int_compare_p:n -\cs_set_eq:NN \intexpr_compare:nTF \int_compare:nTF -\cs_set_eq:NN \intexpr_compare:nT \int_compare:nT -\cs_set_eq:NN \intexpr_compare:nF \int_compare:nF - -\cs_set_eq:NN \intexpr_compare_p:nNn \int_compare_p:nNn -\cs_set_eq:NN \intexpr_compare:nNnTF \int_compare:nNnTF -\cs_set_eq:NN \intexpr_compare:nNnT \int_compare:nNnT -\cs_set_eq:NN \intexpr_compare:nNnF \int_compare:nNnF - -\cs_set_eq:NN \intexpr_abs:n \int_abs:n -\cs_set_eq:NN \intexpr_max:nn \int_max:nn -\cs_set_eq:NN \intexpr_min:nn \int_min:nn - -\cs_set_eq:NN \intexpr_div_truncate:nn \int_div_truncate:nn -\cs_set_eq:NN \intexpr_div_round:nn \int_div_round:nn -\cs_set_eq:NN \intexpr_mod:nn \int_mod:nn - -\cs_set_eq:NN \intexpr_if_odd_p:n \int_if_odd_p:n -\cs_set_eq:NN \intexpr_if_odd:nTF \int_if_odd:nTF -\cs_set_eq:NN \intexpr_if_odd:nT \int_if_odd:nT -\cs_set_eq:NN \intexpr_if_odd:nF \int_if_odd:nF - -\cs_set_eq:NN \intexpr_if_even_p:n \int_if_even_p:n -\cs_set_eq:NN \intexpr_if_even:nTF \int_if_even:nTF -\cs_set_eq:NN \intexpr_if_even:nT \int_if_even:nT -\cs_set_eq:NN \intexpr_if_even:nF \int_if_even:nF - -\cs_set_eq:NN \intexpr_while_do:nn \int_while_do:nn -\cs_set_eq:NN \intexpr_until_do:nn \int_until_do:nn -\cs_set_eq:NN \intexpr_do_while:nn \int_do_while:nn -\cs_set_eq:NN \intexpr_do_until:nn \int_do_until:nn - -\cs_set_eq:NN \intexpr_while_do:nNnn \int_while_do:nNnn -\cs_set_eq:NN \intexpr_until_do:nNnn \int_until_do:nNnn -\cs_set_eq:NN \intexpr_do_while:nNnn \int_do_while:nNnn -\cs_set_eq:NN \intexpr_do_until:nNnn \int_do_until:nNnn -%% -%% -%% 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 deleted file mode 100644 index 10502e844ca..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3io.sty +++ /dev/null @@ -1,289 +0,0 @@ -%% -%% 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-2010 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3io.dtx 2063 2010-10-03 08:26:49Z mittelba $ - {L3 Experimental i/o module} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\cs_new_eq:NN \c_iow_term_stream \c_sixteen -\cs_new_eq:NN \c_ior_term_stream \c_sixteen -\cs_new_eq:NN \c_iow_log_stream \c_minus_one -\cs_new_eq:NN \c_ior_log_stream \c_minus_one -\tl_const:Nn \c_iow_streams_tl - { - \c_zero - \c_one - \c_two - \c_three - \c_four - \c_five - \c_six - \c_seven - \c_eight - \c_nine - \c_ten - \c_eleven - \c_twelve - \c_thirteen - \c_fourteen - \c_fifteen - } -\cs_new_eq:NN \c_ior_streams_tl \c_iow_streams_tl -\prop_new:N \g_iow_streams_prop -\prop_new:N \g_ior_streams_prop -\prop_put:Nnn \g_iow_streams_prop { 0 } { LaTeX2e~reserved } -\prop_put:Nnn \g_iow_streams_prop { 1 } { LaTeX2e~reserved } -\prop_put:Nnn \g_iow_streams_prop { 2 } { LaTeX2e~reserved } -\prop_put:Nnn \g_ior_streams_prop { 0 } { LaTeX2e~reserved } -\int_new:N \l_iow_stream_int -\cs_new_eq:NN \l_ior_stream_int \l_iow_stream_int -\cs_set_eq:NN \iow_raw_new:N \newwrite -\cs_set_eq:NN \ior_raw_new:N \newread -\cs_generate_variant:Nn \iow_raw_new:N { c } -\cs_generate_variant:Nn \ior_raw_new:N { c } -\cs_new_protected_nopar:Npn \iow_new:N #1 { - \cs_new_eq:NN #1 \c_iow_log_stream -} -\cs_generate_variant:Nn \iow_new:N { c } -\cs_new_protected_nopar:Npn \ior_new:N #1 { - \cs_new_eq:NN #1 \c_ior_log_stream -} -\cs_generate_variant:Nn \ior_new:N { c } -\cs_new_protected_nopar:Npn \iow_open:Nn #1#2 { - \iow_close:N #1 - \int_set:Nn \l_iow_stream_int { \c_sixteen } - \tl_map_function:NN \c_iow_streams_tl \iow_alloc_write:n - \int_compare:nTF { \l_iow_stream_int = \c_sixteen } - { \msg_kernel_error:nn { iow } { streams-exhausted } } - { - \iow_stream_alloc:N #1 - \prop_gput:NVn \g_iow_streams_prop \l_iow_stream_int {#2} - \tex_immediate:D \tex_openout:D #1#2 \scan_stop: - } -} -\cs_generate_variant:Nn \iow_open:Nn { c } -\cs_new_protected_nopar:Npn \ior_open:Nn #1#2 { - \ior_close:N #1 - \int_set:Nn \l_ior_stream_int { \c_sixteen } - \tl_map_function:NN \c_ior_streams_tl \ior_alloc_read:n - \int_compare:nTF { \l_ior_stream_int = \c_sixteen } - { \msg_kernel_error:nn { ior } { streams-exhausted } } - { - \ior_stream_alloc:N #1 - \prop_gput:NVn \g_ior_streams_prop \l_ior_stream_int {#2} - \tex_openin:D #1#2 \scan_stop: - } -} -\cs_generate_variant:Nn \ior_open:Nn { c } -\cs_new_protected_nopar:Npn \iow_alloc_write:n #1 { - \prop_if_in:NnF \g_iow_streams_prop {#1} - { - \int_set:Nn \l_iow_stream_int {#1} - \tl_map_break: - } -} -\cs_new_protected_nopar:Npn \ior_alloc_read:n #1 { - \prop_if_in:NnF \g_iow_streams_prop {#1} - { - \int_set:Nn \l_ior_stream_int {#1} - \tl_map_break: - } -} -\cs_new_protected_nopar:Npn \iow_stream_alloc:N #1 { - \cs_if_exist:cTF { g_iow_ \int_use:N \l_iow_stream_int _stream } - { \cs_gset_eq:Nc #1 { g_iow_ \int_use:N \l_iow_stream_int _stream } } - { - \iow_stream_alloc_aux: - \int_compare:nT { \l_iow_stream_int = \c_sixteen } - { - \iow_raw_new:N \g_iow_tmp_stream - \int_set:Nn \l_iow_stream_int { \g_iow_tmp_stream } - \cs_gset_eq:cN - { g_iow_ \int_use:N \l_iow_stream_int _stream } - \g_iow_tmp_stream - } - \cs_gset_eq:Nc #1 { g_iow_ \int_use:N \l_iow_stream_int _stream } - } -} -\cs_new_protected_nopar:Npn \iow_stream_alloc_aux: { - \int_incr:N \l_iow_stream_int - \int_compare:nT - { \l_iow_stream_int < \c_sixteen } - { - \cs_if_exist:cTF { g_iow_ \int_use:N \l_iow_stream_int _stream } - { - \prop_if_in:NVT \g_iow_streams_prop \l_iow_stream_int - { \iow_stream_alloc_aux: } - } - { \iow_stream_alloc_aux: } - } -} -\cs_new_protected_nopar:Npn \ior_stream_alloc:N #1 { - \cs_if_exist:cTF { g_ior_ \int_use:N \l_ior_stream_int _stream } - { \cs_gset_eq:Nc #1 { g_ior_ \int_use:N \l_ior_stream_int _stream } } - { - \ior_stream_alloc_aux: - \int_compare:nT { \l_ior_stream_int = \c_sixteen } - { - \ior_raw_new:N \g_ior_tmp_stream - \int_set:Nn \l_ior_stream_int { \g_ior_tmp_stream } - \cs_gset_eq:cN - { g_ior_ \int_use:N \l_iow_stream_int _stream } - \g_ior_tmp_stream - } - \cs_gset_eq:Nc #1 { g_ior_ \int_use:N \l_ior_stream_int _stream } - } -} -\cs_new_protected_nopar:Npn \ior_stream_alloc_aux: { - \int_incr:N \l_ior_stream_int - \int_compare:nT - { \l_ior_stream_int < \c_sixteen } - { - \cs_if_exist:cTF { g_ior_ \int_use:N \l_ior_stream_int _stream } - { - \prop_if_in:NVT \g_ior_streams_prop \l_ior_stream_int - { \ior_stream_alloc_aux: } - } - { \ior_stream_alloc_aux: } - } -} -\cs_new_protected_nopar:Npn \iow_close:N #1 { - \cs_if_exist:NT #1 - { - \int_compare:nF { #1 = \c_minus_one } - { - \tex_immediate:D \tex_closeout:D #1 - \prop_gdel:NV \g_iow_streams_prop #1 - \cs_gundefine:N #1 - } - } -} -\cs_generate_variant:Nn \iow_close:N { c } -\cs_new_protected_nopar:Npn \ior_close:N #1 { - \cs_if_exist:NT #1 - { - \int_compare:nF { #1 = \c_minus_one } - { - \tex_closein:D #1 - \prop_gdel:NV \g_ior_streams_prop #1 - \cs_gundefine:N #1 - } - } -} -\cs_generate_variant:Nn \ior_close:N { c } -\cs_new_protected_nopar:Npn \iow_open_streams: { - \prop_display:N \g_iow_streams_prop -} -\cs_new_protected_nopar:Npn \ior_open_streams: { - \prop_display:N \g_ior_streams_prop -} -\msg_kernel_new:nnnn { iow } { streams-exhausted } - {Output streams exhausted} - {% - TeX can only open up to 16 output streams at one time.\\% - All 16 are currently in use, and something wanted to open - another one.% - } -\msg_kernel_new:nnnn { ior } { streams-exhausted } - {Input streams exhausted} - {% - TeX can only open up to 16 input streams at one time.\\% - All 16 are currently in use, and something wanted to open - another one.% - } -\cs_new_protected_nopar:Npn \iow_now:Nx { \tex_immediate:D \iow_shipout_x:Nn } -\cs_new_protected_nopar:Npn \iow_now:Nn #1#2 { - \iow_now:Nx #1 { \exp_not:n {#2} } -} -\cs_set_protected_nopar:Npn \iow_log:x { \iow_now:Nx \c_iow_log_stream } -\cs_new_protected_nopar:Npn \iow_log:n { \iow_now:Nn \c_iow_log_stream } -\cs_set_protected_nopar:Npn \iow_term:x { \iow_now:Nx \c_iow_term_stream } -\cs_new_protected_nopar:Npn \iow_term:n { \iow_now:Nn \c_iow_term_stream } -\cs_new_protected_nopar:Npn \iow_now_when_avail:Nn #1 { - \cs_if_free:NTF #1 { \use_none:n } { \iow_now:Nn #1 } -} -\cs_generate_variant:Nn \iow_now_when_avail:Nn { c } -\cs_new_protected_nopar:Npn \iow_now_when_avail:Nx #1 { - \cs_if_free:NTF #1 { \use_none:n } { \iow_now:Nx #1 } -} -\cs_generate_variant:Nn \iow_now_when_avail:Nx { c } -\cs_new_protected_nopar:Npn \iow_now_buffer_safe:Nn { - \iow_now_buffer_safe_aux:w \iow_now:Nx -} -\cs_new_protected_nopar:Npn \iow_now_buffer_safe:Nx { - \iow_now_buffer_safe_aux:w \iow_now:Nn -} -\cs_new_protected_nopar:Npn \iow_now_buffer_safe_aux:w #1#2#3 { - \group_begin: \tex_newlinechar:D`\ #1#2 {#3} \group_end: -} -\cs_set_eq:NN \iow_shipout_x:Nn \tex_write:D -\cs_generate_variant:Nn \iow_shipout_x:Nn {Nx } -\cs_new_protected_nopar:Npn \iow_shipout:Nn #1#2 { - \iow_shipout_x:Nn #1 { \exp_not:n {#2} } -} -\cs_generate_variant:Nn \iow_shipout:Nn { Nx } -\cs_new_nopar:Npn \iow_newline: { ^^J } -\cs_new:Npn \iow_char:N #1 { \cs_to_str:N #1 } -\cs_new_eq:NN \if_eof:w \tex_ifeof:D -\prg_new_conditional:Nnn \ior_if_eof:N { p , TF , T , F } { - \cs_if_exist:NTF #1 - { \tex_ifeof:D #1 \prg_return_true: \else: \prg_return_false: \fi: } - { \prg_return_true: } -} -\cs_new_protected_nopar:Npn \ior_to:NN #1#2 { - \tex_read:D #1 to #2 -} -\cs_new_protected_nopar:Npn \ior_gto:NN { - \pref_global:D \ior_to:NN -} -%% -%% -%% End of file `l3io.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3keys.sty b/Master/texmf-dist/tex/latex/expl3/l3keys.sty deleted file mode 100644 index bb0aae6360b..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3keys.sty +++ /dev/null @@ -1,506 +0,0 @@ -%% -%% This is file `l3keys.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3keys.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: l3keys.dtx Copyright (C) 2009-2010 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3keys.dtx 2082 2010-11-11 11:34:57Z joseph $ - {L3 Experimental key-value support} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\tl_const:Nn \c_keys_root_tl { keys~>~ } -\tl_const:Nn \c_keys_properties_root_tl { keys_properties } -\tl_const:Nn \c_keys_value_forbidden_tl { forbidden } -\tl_const:Nn \c_keys_value_required_tl { required } -\int_new:N \l_keys_choice_int -\tl_new:N \l_keys_choice_tl -\tl_new:N \l_keys_choice_code_tl -\tl_new:N \l_keys_key_tl -\tl_new:N \l_keys_path_tl -\tl_new:N \l_keys_property_tl -\tl_new:N \l_keys_module_tl -\bool_new:N \l_keys_no_value_bool -\tl_new:N \l_keys_value_tl -\cs_new_protected_nopar:Npn \keys_bool_set:Nn #1#2 { - \keys_cmd_set:nx { \l_keys_path_tl / true } { - \exp_not:c { bool_ #2 set_true:N } - \exp_not:N #1 - } - \keys_cmd_set:nx { \l_keys_path_tl / false } { - \exp_not:N \use:c - { bool_ #2 set_false:N } - \exp_not:N #1 - } - \keys_choice_make: - \cs_if_exist:NF #1 { - \bool_new:N #1 - } - \keys_default_set:n { true } -} -\cs_new_protected:Npn \keys_choice_code_store:x #1 { - \tl_set:cx { \c_keys_root_tl \l_keys_path_tl .choice_code_tl } {#1} -} -\cs_new_protected_nopar:Npn \keys_choice_find:n #1 { - \keys_execute_aux:nn { \l_keys_path_tl / \tl_to_str:n {#1} } { - \keys_execute_aux:nn { \l_keys_path_tl / unknown } { } - } -} -\cs_new_protected_nopar:Npn \keys_choice_make: { - \keys_cmd_set:nn { \l_keys_path_tl } { - \keys_choice_find:n {##1} - } - \keys_cmd_set:nn { \l_keys_path_tl / unknown } { - \msg_kernel_error:nnxx { keys } { choice-unknown } - { \l_keys_path_tl } {##1} - } -} -\cs_new_protected:Npn \keys_choices_generate:n #1 { - \keys_choice_make: - \int_zero:N \l_keys_choice_int - \cs_if_exist:cTF { - \c_keys_root_tl \l_keys_path_tl .choice_code_tl - } { - \tl_set:Nv \l_keys_choice_code_tl { - \c_keys_root_tl \l_keys_path_tl .choice_code_tl - } - }{ - \msg_kernel_error:nnx { keys } { generate-choices-before-code } - { \l_keys_path_tl } - } - \clist_map_function:nN {#1} \keys_choices_generate_aux:n -} -\cs_new_protected_nopar:Npn \keys_choices_generate_aux:n #1 { - \keys_cmd_set:nx { \l_keys_path_tl / #1 } { - \exp_not:n { \tl_set:Nn \l_keys_choice_tl } {#1} - \exp_not:n { \int_set:Nn \l_keys_choice_int } - { \int_use:N \l_keys_choice_int } - \exp_not:V \l_keys_choice_code_tl - } - \int_incr:N \l_keys_choice_int -} -\cs_new_protected:Npn \keys_cmd_set:nn #1#2 { - \keys_cmd_set_aux:n {#1} - \cs_generate_from_arg_count:cNnn { \c_keys_root_tl #1 .cmd:n } - \cs_set:Npn 1 {#2} -} -\cs_new_protected:Npn \keys_cmd_set:nx #1#2 { - \keys_cmd_set_aux:n {#1} - \cs_generate_from_arg_count:cNnn { \c_keys_root_tl #1 .cmd:n } - \cs_set:Npx 1 {#2} -} -\cs_new_protected_nopar:Npn \keys_cmd_set_aux:n #1 { - \keys_property_undefine:n { #1 .default_tl } - \cs_if_free:cT { \c_keys_root_tl #1 .req_tl } - { \tl_new:c { \c_keys_root_tl #1 .req_tl } } - \tl_clear:c { \c_keys_root_tl #1 .req_tl } -} -\cs_new_protected:Npn \keys_default_set:n #1 { - \cs_if_free:cT { \c_keys_root_tl \l_keys_path_tl .default_tl } - { \tl_new:c { \c_keys_root_tl \l_keys_path_tl .default_tl } } - \tl_set:cn { \c_keys_root_tl \l_keys_path_tl .default_tl } {#1} -} -\cs_generate_variant:Nn \keys_default_set:n { V } -\cs_new_protected:Npn \keys_define:nn { - \keys_define_aux:onn { \l_keys_module_tl } -} -\cs_new_protected:Npn \keys_define_aux:nnn #1#2#3 { - \tl_set:Nn \l_keys_module_tl {#2} - \KV_process_no_space_removal_no_sanitize:NNn - \keys_define_elt:n \keys_define_elt:nn {#3} - \tl_set:Nn \l_keys_module_tl {#1} -} -\cs_generate_variant:Nn \keys_define_aux:nnn { o } -\cs_new_protected_nopar:Npn \keys_define_elt:n #1 { - \bool_set_true:N \l_keys_no_value_bool - \keys_define_elt_aux:nn {#1} { } -} -\cs_new_protected:Npn \keys_define_elt:nn #1#2 { - \bool_set_false:N \l_keys_no_value_bool - \keys_define_elt_aux:nn {#1} {#2} -} -\cs_new_protected:Npn \keys_define_elt_aux:nn #1#2 { - \keys_property_find:n {#1} - \cs_set_eq:Nc \keys_tmp:w - { \c_keys_properties_root_tl \l_keys_property_tl } - \cs_if_exist:NTF \keys_tmp:w { - \keys_define_key:n {#2} - }{ - \msg_kernel_error:nnxx { keys } { property-unknown } - { \l_keys_property_tl } { \l_keys_path_tl } - } -} -\cs_new_protected:Npn \keys_define_key:n #1 { - \bool_if:NTF \l_keys_no_value_bool { - \int_compare:nTF { - \exp_args:Nc \cs_get_arg_count_from_signature:N - { \l_keys_property_tl } = \c_zero - } { - \keys_tmp:w - }{ - \msg_kernel_error:nnxx { key } { property-requires-value } - { \l_keys_property_tl } { \l_keys_path_tl } - } - }{ - \keys_tmp:w {#1} - } -} -\cs_new_protected_nopar:Npn \keys_execute: { - \keys_execute_aux:nn { \l_keys_path_tl } { - \keys_execute_unknown: - } -} -\cs_new_protected_nopar:Npn \keys_execute_unknown: { - \keys_execute_aux:nn { \l_keys_module_tl / unknown } { - \msg_kernel_error:nnxx { keys } { key-unknown } { \l_keys_path_tl } - { \l_keys_module_tl } - } -} -\cs_new_protected_nopar:Npn \keys_execute_aux:nn #1#2 { - \cs_set_eq:Nc \keys_tmp:w { \c_keys_root_tl #1 .cmd:n } - \cs_if_exist:NTF \keys_tmp:w { - \exp_args:NV \keys_tmp:w \l_keys_value_tl - }{ - #2 - } -} -\prg_set_conditional:Nnn \keys_if_exist:nn {TF,T,F} { - \cs_if_exist:cTF { \c_keys_root_tl #1 / #2 .cmd:n } { - \prg_return_true: - }{ - \prg_return_false: - } -} -\cs_new_nopar:Npn \keys_if_value_requirement:nTF #1 { - \tl_if_eq:ccTF { c_keys_value_ #1 _tl } { - \c_keys_root_tl \l_keys_path_tl .req_tl - } -} -\cs_new_protected_nopar:Npn \keys_meta_make:n #1 { - \exp_last_unbraced:NNo \keys_cmd_set:nn \l_keys_path_tl - \exp_after:wN { \exp_after:wN \keys_set:nn \exp_after:wN { \l_keys_module_tl } {#1} } -} -\cs_new_protected_nopar:Npn \keys_meta_make:x #1 { - \keys_cmd_set:nx { \l_keys_path_tl } { - \exp_not:N \keys_set:nn { \l_keys_module_tl } {#1} - } -} -\cs_new_protected_nopar:Npn \keys_property_find:n #1 { - \tl_set:Nx \l_keys_path_tl { \l_keys_module_tl / } - \tl_if_in:nnTF {#1} {.} { - \keys_property_find_aux:n {#1} - }{ - \msg_kernel_error:nnx { keys } { key-no-property } {#1} - } -} -\cs_new_protected_nopar:Npn \keys_property_find_aux:n #1 { - \keys_property_find_aux:w #1 \q_stop -} -\cs_new_protected_nopar:Npn \keys_property_find_aux:w #1 . #2 \q_stop { - \tl_if_in:nnTF {#2} { . } { - \tl_set:Nx \l_keys_path_tl { - \l_keys_path_tl \tl_to_str:n {#1} . - } - \keys_property_find_aux:w #2 \q_stop - }{ - \tl_set:Nx \l_keys_path_tl { \l_keys_path_tl \tl_to_str:n {#1} } - \tl_set:Nn \l_keys_property_tl { . #2 } - } -} -\cs_new_nopar:Npn \keys_property_new:nn #1#2 { - \cs_new:cpn { \c_keys_properties_root_tl #1 } {#2} -} -\cs_new_protected_nopar:Npn \keys_property_new_arg:nn #1#2 { - \cs_new:cpn { \c_keys_properties_root_tl #1 } ##1 {#2} -} -\cs_new_protected_nopar:Npn \keys_property_undefine:n #1 { - \cs_set_eq:cN { \c_keys_root_tl #1 } \c_undefined -} -\cs_new_protected:Npn \keys_set:nn { - \keys_set_aux:onn { \l_keys_module_tl } -} -\cs_generate_variant:Nn \keys_set:nn { nV, nv } -\cs_new_protected:Npn \keys_set_aux:nnn #1#2#3 { - \tl_set:Nn \l_keys_module_tl {#2} - \KV_process_space_removal_sanitize:NNn - \keys_set_elt:n \keys_set_elt:nn {#3} - \tl_set:Nn \l_keys_module_tl {#1} -} -\cs_generate_variant:Nn \keys_set_aux:nnn { o } -\cs_new_protected_nopar:Npn \keys_set_elt:n #1 { - \bool_set_true:N \l_keys_no_value_bool - \keys_set_elt_aux:nn {#1} { } -} -\cs_new_protected:Npn \keys_set_elt:nn #1#2 { - \bool_set_false:N \l_keys_no_value_bool - \keys_set_elt_aux:nn {#1} {#2} -} -\cs_new_protected:Npn \keys_set_elt_aux:nn #1#2 { - \tl_set:Nx \l_keys_key_tl { \tl_to_str:n {#1} } - \tl_set:Nx \l_keys_path_tl { \l_keys_module_tl / \l_keys_key_tl } - \keys_value_or_default:n {#2} - \keys_if_value_requirement:nTF { required } { - \bool_if:NTF \l_keys_no_value_bool { - \msg_kernel_error:nnx { keys } { value-required } - { \l_keys_path_tl } - }{ - \keys_set_elt_aux: - } - }{ - \keys_set_elt_aux: - } -} -\cs_new_protected_nopar:Npn \keys_set_elt_aux: { - \keys_if_value_requirement:nTF { forbidden } { - \bool_if:NTF \l_keys_no_value_bool { - \keys_execute: - }{ - \msg_kernel_error:nnxx { keys } { value-forbidden } - { \l_keys_path_tl } { \tl_use:N \l_keys_value_tl } - } - }{ - \keys_execute: - } -} -\cs_new_nopar:Npn \keys_show:nn #1#2 { - \cs_show:c { \c_keys_root_tl #1 / \tl_to_str:n {#2} .cmd:n } -} -\cs_new:Npn \keys_tmp:w {} -\cs_new_protected:Npn \keys_value_or_default:n #1 { - \tl_set:Nn \l_keys_value_tl {#1} - \bool_if:NT \l_keys_no_value_bool { - \cs_if_exist:cT { \c_keys_root_tl \l_keys_path_tl .default_tl } { - \tl_set:Nv \l_keys_value_tl { - \c_keys_root_tl \l_keys_path_tl .default_tl - } - } - } -} -\cs_new_protected_nopar:Npn \keys_value_requirement:n #1 { - \tl_set_eq:cc { \c_keys_root_tl \l_keys_path_tl .req_tl } - { c_keys_value_ #1 _tl } -} -\cs_new_protected_nopar:Npn \keys_variable_set:NnNN #1#2#3#4 { - \cs_if_exist:NF #1 { - \use:c { #2 _new:N } #1 - } - \keys_cmd_set:nx { \l_keys_path_tl } { - \exp_not:c { #2 _ #3 set:N #4 } \exp_not:N #1 {##1} - } -} -\cs_generate_variant:Nn \keys_variable_set:NnNN { c } -\keys_property_new_arg:nn { .bool_set:N } { - \keys_bool_set:Nn #1 { } -} -\keys_property_new_arg:nn { .bool_gset:N } { - \keys_bool_set:Nn #1 { g } -} -\keys_property_new:nn { .choice: } { - \keys_choice_make: -} -\keys_property_new_arg:nn { .choice_code:n } { - \keys_choice_code_store:x { \exp_not:n {#1} } -} -\keys_property_new_arg:nn { .choice_code:x } { - \keys_choice_code_store:x {#1} -} -\keys_property_new_arg:nn { .code:n } { - \keys_cmd_set:nn { \l_keys_path_tl } {#1} -} -\keys_property_new_arg:nn { .code:x } { - \keys_cmd_set:nx { \l_keys_path_tl } {#1} -} -\keys_property_new_arg:nn { .default:n } { - \keys_default_set:n {#1} -} -\keys_property_new_arg:nn { .default:V } { - \keys_default_set:V #1 -} -\keys_property_new_arg:nn { .dim_set:N } { - \keys_variable_set:NnNN #1 { dim } { } n -} -\keys_property_new_arg:nn { .dim_set:c } { - \keys_variable_set:cnNN {#1} { dim } { } n -} -\keys_property_new_arg:nn { .dim_gset:N } { - \keys_variable_set:NnNN #1 { dim } g n -} -\keys_property_new_arg:nn { .dim_gset:c } { - \keys_variable_set:cnNN {#1} { dim } g n -} -\keys_property_new_arg:nn { .fp_set:N } { - \keys_variable_set:NnNN #1 { fp } { } n -} -\keys_property_new_arg:nn { .fp_set:c } { - \keys_variable_set:cnNN {#1} { fp } { } n -} -\keys_property_new_arg:nn { .fp_gset:N } { - \keys_variable_set:NnNN #1 { fp } g n -} -\keys_property_new_arg:nn { .fp_gset:c } { - \keys_variable_set:cnNN {#1} { fp } g n -} -\keys_property_new_arg:nn { .generate_choices:n } { - \keys_choices_generate:n {#1} -} -\keys_property_new_arg:nn { .int_set:N } { - \keys_variable_set:NnNN #1 { int } { } n -} -\keys_property_new_arg:nn { .int_set:c } { - \keys_variable_set:cnNN {#1} { int } { } n -} -\keys_property_new_arg:nn { .int_gset:N } { - \keys_variable_set:NnNN #1 { int } g n -} -\keys_property_new_arg:nn { .int_gset:c } { - \keys_variable_set:cnNN {#1} { int } g n -} -\keys_property_new_arg:nn { .meta:n } { - \keys_meta_make:n {#1} -} -\keys_property_new_arg:nn { .meta:x } { - \keys_meta_make:x {#1} -} -\keys_property_new_arg:nn { .skip_set:N } { - \keys_variable_set:NnNN #1 { skip } { } n -} -\keys_property_new_arg:nn { .skip_set:c } { - \keys_variable_set:cnNN {#1} { skip } { } n -} -\keys_property_new_arg:nn { .skip_gset:N } { - \keys_variable_set:NnNN #1 { skip } g n -} -\keys_property_new_arg:nn { .skip_gset:c } { - \keys_variable_set:cnNN {#1} { skip } g n -} -\keys_property_new_arg:nn { .tl_set:N } { - \keys_variable_set:NnNN #1 { tl } { } n -} -\keys_property_new_arg:nn { .tl_set:c } { - \keys_variable_set:cnNN {#1} { tl } { } n -} -\keys_property_new_arg:nn { .tl_set_x:N } { - \keys_variable_set:NnNN #1 { tl } { } x -} -\keys_property_new_arg:nn { .tl_set_x:c } { - \keys_variable_set:cnNN {#1} { tl } { } x -} -\keys_property_new_arg:nn { .tl_gset:N } { - \keys_variable_set:NnNN #1 { tl } g n -} -\keys_property_new_arg:nn { .tl_gset:c } { - \keys_variable_set:cnNN {#1} { tl } g n -} -\keys_property_new_arg:nn { .tl_gset_x:N } { - \keys_variable_set:NnNN #1 { tl } g x -} -\keys_property_new_arg:nn { .tl_gset_x:c } { - \keys_variable_set:cnNN {#1} { tl } g x -} -\keys_property_new:nn { .value_forbidden: } { - \keys_value_requirement:n { forbidden } -} -\keys_property_new:nn { .value_required: } { - \keys_value_requirement:n { required } -} -\msg_kernel_new:nnnn { keys } { choice-unknown } - { Choice~'#2'~unknown~for~key~'#1'. } - { - The~key~'#1'~takes~a~limited~number~of~values.\\ - The~input~given,~'#2',~is~not~on~the~list~accepted. - } -\msg_kernel_new:nnnn { keys } { generate-choices-before-code } - { No~code~available~to~generate~choices~for~key~'#1'. } - { - \l_msg_coding_error_text_tl - Before~using~.generate_choices:n~the~code~should~be~defined\\% - with~.choice_code:n~or~.choice_code:x. - } -\msg_kernel_new:nnnn { keys } { key-no-property } - { No~property~given~in~definition~of~key~'#1'. } - { - \c_msg_coding_error_text_tl - Inside~\token_to_str:N \keys_define:nn \c_space_tl each~key~name - needs~a~property: \\ - ~ ~ #1 .<property> \\ - LaTeX~did~not~find~a~'.'~to~indicate~the~start~of~a~property. - } -\msg_kernel_new:nnnn { keys } { key-unknown } - { The~key~'#1'~is~unknown~and~is~being~ignored. } - { - The~module~'#2'~does~not~have~a~key~called~#1'.\\ - Check~that~you~have~spelled~the~key~name~correctly. - } -\msg_kernel_new:nnnn { keys } { property-requires-value } - { The~property~'#1'~requires~a~value. } - { - \l_msg_coding_error_text_tl - LaTeX~was~asked~to~set~property~'#2'~for~key~'#1'.\\ - No~value~was~given~for~the~property,~and~one~is~required. - } -\msg_kernel_new:nnnn { keys } { property-unknown } - { The~key~property~'#1'~is~unknown. } - { - \l_msg_coding_error_text_tl - LaTeX~has~been~asked~to~set~the~property~'#1'~for~key~'#2':\\ - this~property~is~not~defined. - } -\msg_kernel_new:nnnn { keys } { value-forbidden } - { The~key~'#1'~does~not~taken~a~value. } - { - The~key~'#1'~should~be~given~without~a~value.\\ - LaTeX~will~ignore~the~given~value~'#2'. - } -\msg_kernel_new:nnnn { keys } { value-required } - { The~key~'#1'~requires~a~value. } - { - The~key~'#1'~must~have~a~value.\\ - No~value~was~present:~the~key~will~be~ignored. - } -%% -%% -%% End of file `l3keys.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3keyval.sty b/Master/texmf-dist/tex/latex/expl3/l3keyval.sty deleted file mode 100644 index 6bf05f0c409..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3keyval.sty +++ /dev/null @@ -1,250 +0,0 @@ -%% -%% This is file `l3keyval.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3keyval.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: l3keyval.dtx Copyright (C) 2006-2009 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3keyval.dtx 2223 2011-04-09 12:57:14Z will $ - {L3 Experimental keyval processing} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\tl_new:N \l_KV_tmpa_tl -\tl_new:N \l_KV_tmpb_tl -\tl_const:Nn \c_KV_single_equal_sign_tl { = } -\tl_new:N \l_KV_parse_tl -\tl_new:N \l_KV_currkey_tl -\tl_new:N \l_KV_currval_tl -\int_new:N \l_KV_level_int -\bool_new:N \l_KV_remove_one_level_of_braces_bool -\bool_set_true:N \l_KV_remove_one_level_of_braces_bool -\cs_new_protected_nopar:Npn \KV_process_space_removal_sanitize:NNn { - \KV_process_aux:NNNn \KV_parse_space_removal_sanitize:n -} -\cs_new_protected_nopar:Npn \KV_process_space_removal_no_sanitize:NNn { - \KV_process_aux:NNNn \KV_parse_space_removal_no_sanitize:n -} -\cs_new_protected_nopar:Npn \KV_process_no_space_removal_no_sanitize:NNn { - \KV_process_aux:NNNn \KV_parse_no_space_removal_no_sanitize:n -} -\cs_new_protected:Npn \KV_process_aux:NNNn #1#2#3#4 { - \cs_set_eq:cN - { KV_key_no_value_elt_ \int_use:N \l_KV_level_int :n } - \KV_key_no_value_elt:n - \cs_set_eq:cN - { KV_key_value_elt_ \int_use:N \l_KV_level_int :nn } - \KV_key_value_elt:nn - \cs_set_eq:NN \KV_key_no_value_elt:n #2 - \cs_set_eq:NN \KV_key_value_elt:nn #3 - \int_incr:N \l_KV_level_int - #1 {#4} - \int_decr:N \l_KV_level_int - \cs_set_eq:Nc \KV_key_no_value_elt:n - { KV_key_no_value_elt_ \int_use:N \l_KV_level_int :n } - \cs_set_eq:Nc \KV_key_value_elt:nn - { KV_key_value_elt_ \int_use:N \l_KV_level_int :nn } -} -\group_begin: -\char_set_catcode:nn{`\=}{13} -\char_set_catcode:nn{`\,}{13} -\char_set_lccode:nn{`\8}{`\=} -\char_set_lccode:nn{`\9}{`\,} -\tl_to_lowercase:n{\group_end: -\cs_new_protected_nopar:Npn \KV_sanitize_outerlevel_active_equals:N #1{ - \tl_replace_all_in:Nnn #1 = 8 -} -\cs_new_nopar:Npn \KV_sanitize_outerlevel_active_commas:N #1{ - \tl_replace_all_in:Nnn #1 , 9 -} -} -\group_begin: -\char_set_catcode:nn{`\Q}{3} -\cs_new:Npn\KV_remove_surrounding_spaces:nw#1#2\q_nil{ - #1{\KV_remove_surrounding_spaces_auxi:w \exp_not:N#2Q~Q} -} -\cs_new:Npn\KV_remove_surrounding_spaces_auxi:w#1~Q{ - \KV_remove_surrounding_spaces_auxii:w #1 Q -} -\cs_new:Npn\KV_remove_surrounding_spaces_auxii:w#1Q#2{#1} -\cs_new_protected:Npn\KV_add_value_element:w\q_stop#1\q_nil{ - \tl_set:Nf\l_KV_currval_tl { - \KV_remove_surrounding_spaces_auxi:w \exp_not:N#1Q~Q - } - \tl_put_right:No\l_KV_parse_tl{ - \exp_after:wN { \l_KV_currval_tl } - } -} -\cs_new_protected:Npn\KV_set_key_element:w#1\q_nil{ - \tl_set:Nf\l_KV_currkey_tl - { - \exp_last_unbraced:NNo \KV_remove_surrounding_spaces_auxi:w - \exp_not:N \use_none:n #1Q~Q - } - \bool_if:NT \l_KV_remove_one_level_of_braces_bool - { - \exp_args:NNo \tl_set:No \l_KV_currkey_tl { - \exp_after:wN \KV_add_element_aux:w \l_KV_currkey_tl \q_nil - } - } -} -\group_end: -\cs_new:Npn \KV_add_element_aux:w#1\q_nil{#1} -\cs_new_protected:Npn \KV_parse_sanitize_aux:n #1 { - \group_begin: - \tl_clear:N \l_KV_parse_tl - \tl_set:Nn \l_KV_tmpa_tl {#1} - \KV_sanitize_outerlevel_active_equals:N \l_KV_tmpa_tl - \KV_sanitize_outerlevel_active_commas:N \l_KV_tmpa_tl - \exp_last_unbraced:NNV \KV_parse_elt:w \q_no_value - \l_KV_tmpa_tl , \q_nil , - \exp_after:wN \group_end: - \l_KV_parse_tl -} -\cs_new_protected:Npn \KV_parse_no_sanitize_aux:n #1{ - \group_begin: - \tl_clear:N \l_KV_parse_tl - \KV_parse_elt:w \q_no_value #1 , \q_nil , - \exp_after:wN \group_end: - \l_KV_parse_tl -} -\cs_set:Npn \KV_parse_elt:w #1,{ - \tl_if_blank:oTF{\use_none:n #1} - { \KV_parse_elt:w \q_no_value } - { - \quark_if_nil:oF {\use_ii:nn #1 } - { - \KV_split_key_value_current:w #1==\q_nil - \KV_parse_elt:w \q_no_value - } - } -} -\cs_new:Npn \KV_split_key_value_current:w {\ERROR} -\cs_new_protected:Npn \KV_split_key_value_space_removal:w #1 = #2\q_nil{ - \KV_set_key_element:w#1\q_nil - \tl_set:Nn\l_KV_tmpa_tl{#2} - \tl_if_eq:NNTF\l_KV_tmpa_tl\c_KV_single_equal_sign_tl - { - \tl_put_right:No\l_KV_parse_tl{ - \exp_after:wN \KV_key_no_value_elt:n - \exp_after:wN {\l_KV_currkey_tl} - } - } - { - \KV_split_key_value_space_removal_detect_error:wTF#2\q_no_value\q_nil - {\KV_split_key_value_space_removal_aux:w \q_stop #2} - { \msg_kernel_error:nn { keyval } { misplaced-equals-sign } } - } -} -\cs_new_protected:Npn - \KV_split_key_value_space_removal_detect_error:wTF#1=#2#3\q_nil{ - \tl_if_head_eq_meaning:nNTF{#3}\q_no_value -} -\cs_new:Npn \KV_val_preserve_braces:NnN #1#2#3{{#2}} -\cs_new_protected:Npn\KV_split_key_value_space_removal_aux:w #1=={ - \tl_set:Nx\l_KV_tmpa_tl{\exp_not:o{\use_none:nnn#1\q_nil\q_nil}} - \tl_put_right:No\l_KV_parse_tl{ - \exp_after:wN \KV_key_value_elt:nn - \exp_after:wN {\l_KV_currkey_tl} - } - \tl_if_empty:NTF\l_KV_tmpa_tl - { \tl_put_right:Nn\l_KV_parse_tl{{}} } - { - \quark_if_nil:NTF\l_KV_tmpa_tl - { - \bool_if:NTF \l_KV_remove_one_level_of_braces_bool - { - \tl_put_right:No\l_KV_parse_tl{ - \exp_after:wN{\use_ii:nnn #1\q_nil} - } - } - { - \tl_put_right:No\l_KV_parse_tl{ - \exp_after:wN{\KV_val_preserve_braces:NnN #1\q_nil} - } - } - } - { \KV_add_value_element:w #1\q_nil } - } -} -\cs_new_protected:Npn \KV_split_key_value_no_space_removal:w #1#2=#3=#4\q_nil{ - \tl_set:Nn\l_KV_tmpa_tl{#4} - \tl_if_empty:NTF \l_KV_tmpa_tl - { - \tl_put_right:Nn\l_KV_parse_tl{\KV_key_no_value_elt:n{#2}} - } - { - \tl_if_eq:NNTF\c_KV_single_equal_sign_tl\l_KV_tmpa_tl - { - \tl_put_right:Nn\l_KV_parse_tl{\KV_key_value_elt:nn{#2}{#3}} - } - { \msg_kernel_error:nn { keyval } { misplaced-equals-sign } } - } -} -\cs_new:Npn \KV_key_no_value_elt:n #1{\ERROR} -\cs_new:Npn \KV_key_value_elt:nn #1#2{\ERROR} -\cs_new_protected_nopar:Npn \KV_parse_no_space_removal_no_sanitize:n { - \cs_set_eq:NN \KV_split_key_value_current:w \KV_split_key_value_no_space_removal:w - \KV_parse_no_sanitize_aux:n -} -\cs_new_protected_nopar:Npn \KV_parse_space_removal_sanitize:n { - \cs_set_eq:NN \KV_split_key_value_current:w \KV_split_key_value_space_removal:w - \KV_parse_sanitize_aux:n -} -\cs_new_protected_nopar:Npn \KV_parse_space_removal_no_sanitize:n { - \cs_set_eq:NN \KV_split_key_value_current:w \KV_split_key_value_space_removal:w - \KV_parse_no_sanitize_aux:n -} -\msg_kernel_new:nnnn { keyval } { misplaced-equals-sign } - {Misplaced~equals~sign~in~key--value~input~\msg_line_context:} - { - I~am~trying~to~read~some~key--value~input~but~found~two~equals~ - signs\\% - without~a~comma~between~them. - } -%% -%% -%% End of file `l3keyval.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3luatex.sty b/Master/texmf-dist/tex/latex/expl3/l3luatex.sty deleted file mode 100644 index d32d740cee0..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3luatex.sty +++ /dev/null @@ -1,161 +0,0 @@ -%% -%% This is file `l3luatex.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3luatex.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: l3luatex.dtx Copyright (C) 2010,2011 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3luatex.dtx 1985 2010-07-18 09:05:56Z joseph $ - {L3 Experimental LuaTeX functions} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\luatex_if_engine:TF - { - \cs_new_eq:NN \lua_now:x \luatex_directlua:D - \cs_new_eq:NN \lua_shipout_x:n \luatex_latelua:D - } - { - \cs_new:Npn \lua_now:x #1 { \lua_wrong_engine: } - \cs_new_protected:Npn \lua_shipout_x:n #1 { \lua_wrong_engine: } - } -\cs_new:Npn \lua_now:n #1 { - \lua_now:x { \exp_not:n {#1} } -} -\cs_generate_variant:Nn \lua_shipout_x:n { x } -\cs_new_protected:Npn \lua_shipout:n #1 { - \lua_shipout_x:n { \exp_not:n {#1} } -} -\cs_generate_variant:Nn \lua_shipout:n { x } -\group_begin: -\char_make_letter:N\! -\char_make_letter:N\ % -\cs_gset:Npn\lua_wrong_engine:{% -\LuaTeX engine not in use!% -}% -\group_end:% -\int_new:N \g_cctab_allocate_int -\int_set:Nn \g_cctab_allocate_int { -1 } -\int_new:N \g_cctab_stack_int -\seq_new:N \g_cctab_stack_seq -\cs_new_protected_nopar:Npn \cctab_new:N #1 { - \cs_if_free:NTF #1 - { - \int_gadd:Nn \g_cctab_allocate_int { 2 } - \int_compare:nNnTF - { \g_cctab_allocate_int } < { \c_allocate_max_tl + 1 } - { - \tex_global:D \tex_mathchardef:D #1 \g_cctab_allocate_int - \luatex_initcatcodetable:D #1 - } - { - \msg_kernel_error:nnx { code } { out-of-registers } { cctab } - } - } - { - \msg_kernel_error:nnx { code } { variable-already-defined } - { \token_to_str:N #1 } - } -} -\luatex_if_engine:F { - \cs_set_protected_nopar:Npn \cctab_new:N #1 { \lua_wrong_engine: } -} -\luatex_if_engine:T { - \cs_set_protected_nopar:Npn \cctab_new:N #1 - { - \newcatcodetable #1 - \luatex_initcatcodetable:D #1 - } -} -\cs_new_protected_nopar:Npn \cctab_begin:N #1 { - \seq_gpush:Nx \g_cctab_stack_seq { \tex_the:D \luatex_catcodetable:D } - \luatex_catcodetable:D #1 - \int_gadd:Nn \g_cctab_stack_int { 2 } - \int_compare:nNnT { \g_cctab_stack_int } > { 268435453 } - { \msg_kernel_error:nn { code } { cctab-stack-full } } - \luatex_savecatcodetable:D \g_cctab_stack_int - \luatex_catcodetable:D \g_cctab_stack_int -} -\cs_new_protected_nopar:Npn \cctab_end: { - \int_gsub:Nn \g_cctab_stack_int { 2 } - \seq_gpop:NN \g_cctab_stack_seq \l_cctab_tmp_tl - \quark_if_no_value:NT \l_cctab_tmp_tl - { \tl_set:Nn \l_cctab_tmp_tl { 0 } } - \luatex_catcodetable:D \l_cctab_tmp_tl \scan_stop: -} -\luatex_if_engine:F { - \cs_set_protected_nopar:Npn \cctab_begin:N #1 { \lua_wrong_engine: } - \cs_set_protected_nopar:Npn \cctab_end: { \lua_wrong_engine: } -} -\luatex_if_engine:T { - \cs_set_protected_nopar:Npn \cctab_begin:N #1 - { \BeginCatcodeRegime #1 } - \cs_set_protected_nopar:Npn \cctab_end: - { \EndCatcodeRegime } -} -\tl_new:N \l_cctab_tmp_tl -\cs_new_protected:Npn \cctab_gset:Nn #1#2 { - \group_begin: - #2 - \luatex_savecatcodetable:D #1 - \group_end: -} -\luatex_if_engine:F { - \cs_set_protected_nopar:Npn \cctab_gset:Nn #1#2 { \lua_wrong_engine: } -} -\luatex_if_engine:T { - \cctab_new:N \c_code_cctab - \cctab_gset:Nn \c_code_cctab { } -} -\luatex_if_engine:T { - \cs_new_eq:NN \c_document_cctab \CatcodeTableLaTeX - \cs_new_eq:NN \c_initex_cctab \CatcodeTableIniTeX - \cs_new_eq:NN \c_other_cctab \CatcodeTableOther - \cs_new_eq:NN \c_string_cctab \CatcodeTableString -} -%% -%% -%% End of file `l3luatex.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3msg.sty b/Master/texmf-dist/tex/latex/expl3/l3msg.sty deleted file mode 100644 index 4b1de84bee5..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3msg.sty +++ /dev/null @@ -1,458 +0,0 @@ -%% -%% This is file `l3msg.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3msg.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: l3msg.dtx Copyright (C) 2009 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -%% -\RequirePackage{l3names} -\GetIdInfo$Id: l3msg.dtx 2052 2010-10-02 16:04:38Z will $ - {L3 Experimental LaTeX Messages module} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\int_set:Nn \tex_errorcontextlines:D { \c_minus_one } -\tl_const:Nn \c_msg_error_tl { error } -\tl_const:Nn \c_msg_warning_tl { warning } -\tl_const:Nn \c_msg_info_tl { info } -\cs_new:Npn \msg_fatal_text:n #1 { Fatal~#1~error } -\cs_new:Npn \msg_see_documentation_text:n #1 - { See~the~#1~documentation~for~further~information } -\tl_const:Nn \c_msg_coding_error_text_tl { - This~is~a~coding~error. - \msg_two_newlines: -} -\tl_const:Nn \c_msg_fatal_text_tl { - This~is~a~fatal~error:~LaTeX~will~abort -} -\tl_const:Nn \c_msg_help_text_tl { - For~immediate~help~type~H~<return> -} -\tl_const:Nn \c_msg_kernel_bug_text_tl { - This~is~a~LaTeX~bug:~check~coding! -} -\tl_const:Nn \c_msg_kernel_bug_more_text_tl { - There~is~a~coding~bug~somewhere~around~here. \\ - This~probably~needs~examining~by~an~expert. - \c_msg_return_text_tl -} -\tl_const:Nn \c_msg_no_info_text_tl { - LaTeX~does~not~know~anything~more~about~this~error,~sorry. - \c_msg_return_text_tl -} -\tl_const:Nn \c_msg_return_text_tl { - \\ \\ - Try~typing~<return>~to~proceed. - \\ - If~that~doesn't~work,~type~X~<return>~to~quit -} -\group_begin: -\char_make_letter:N \. -\tl_to_lowercase:n { - \group_end: - \tl_const:Nn \c_msg_hide_tl................................................ - {} -} -\tl_const:Nn \c_msg_on_line_tl { on~line } -\tl_const:Nn \c_msg_text_prefix_tl { msg_text ~>~ } -\tl_const:Nn \c_msg_more_text_prefix_tl { msg_text_more ~>~ } -\tl_new:N \l_msg_class_tl -\tl_new:N \l_msg_current_class_tl -\tl_new:N \l_msg_current_module_tl -\clist_new:N \l_msg_names_clist -\prop_new:N \l_msg_redirect_classes_prop -\prop_new:N \l_msg_redirect_names_prop -\clist_new:N \l_msg_redirect_classes_clist -\tl_new:N \l_msg_tmp_tl -\cs_new_nopar:Npn \msg_line_number: { - \toks_use:N \tex_inputlineno:D -} -\cs_new_nopar:Npn \msg_line_context: { - \c_msg_on_line_tl - \c_space_tl - \msg_line_number: -} -\cs_new_nopar:Npn \msg_newline: { ^^J } -\cs_new_nopar:Npn \msg_two_newlines: { ^^J ^^J } -\cs_new_protected_nopar:Npn \msg_generic_new:nnn #1 { - \chk_if_free_cs:c { \c_msg_text_prefix_tl #1 :xxxx } - \msg_generic_set:nnn {#1} -} -\cs_new_protected_nopar:Npn \msg_generic_new:nn #1 { - \chk_if_free_cs:c { \c_msg_text_prefix_tl #1 :xxxx } - \msg_generic_set:nn {#1} -} -\cs_new_protected_nopar:Npn \msg_generic_set:nnn #1#2#3 { - \msg_generic_set_clist:n {#1} - \cs_set:cpn { \c_msg_text_prefix_tl #1 :xxxx } ##1##2##3##4 {#2} - \cs_set:cpn { \c_msg_more_text_prefix_tl #1 :xxxx } ##1##2##3##4 {#3} -} -\cs_new_protected_nopar:Npn \msg_generic_set:nn #1#2 { - \msg_generic_set_clist:n {#1} - \cs_set:cpn { \c_msg_text_prefix_tl #1 :xxxx } ##1##2##3##4 {#2} - \cs_set_eq:cN { \c_msg_more_text_prefix_tl #1 :xxxx } \c_undefined -} -\cs_new_protected_nopar:Npn \msg_generic_set_clist:n #1 { - \clist_if_in:NnF \l_msg_names_clist { // #1 / } { - \clist_put_right:Nn \l_msg_names_clist { // #1 / } - } -} -\group_begin: - \char_set_lccode:nn {`\&} {`\ } % { - \char_set_lccode:w `\} = `\ \scan_stop: - \char_set_lccode:w `\& = `\!\scan_stop: - \char_make_active:N \& - \char_make_letter:N \. -\tl_to_lowercase:n{ - \group_end: - \cs_new_protected:Npn \msg_direct_interrupt:xxxxx #1#2#3#4#5 { - \group_begin: - \cs_set_nopar:Npn \\ {\msg_newline:} - \cs_set_eq:NN \ \c_space_tl - \tl_set:Nx \l_tmpa_tl {#5} - \tl_set:Nx \l_tmpb_tl {\c_msg_no_info_text_tl} - \msg_direct_interrupt_aux:n {#5} - \tex_errhelp:D \l_msg_tmp_tl - \cs_set_nopar:Npn \\ {\msg_newline: !~#3} - \iow_term:x - {\msg_newline: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!} - \cs_set:Npn & { - \tex_errmessage:D{ - \\ #1 \\ \\ #2 \\ \\ #4 - \tl_if_eq:NNF \l_tmpa_tl \l_tmpb_tl - { . \\ \c_msg_help_text_tl } - \c_msg_hide_tl................................................ - } - } - & - \group_end: - } -} -\cs_new_protected:Npn \msg_direct_interrupt_aux:n #1 { - \cs_set_nopar:Npn \\ {\msg_newline: |~} - \tl_if_empty:nTF {#1} { - \tl_set:Nx \l_msg_tmp_tl { { \c_msg_no_info_text_tl } } - }{ - \tl_set:Nx \l_msg_tmp_tl { { - |'''''''''''''''''''''''''''''''''''''''''''''''\\ - #1^^J - |...............................................^^J - } } - } -} -\cs_new_protected:Npn \msg_direct_log:xx #1#2 { - \group_begin: - \cs_set:Npn \\ { \msg_newline: #2 } - \cs_set_eq:NN \ \c_space_tl - \iow_log:x { #1 \msg_newline: } - \group_end: -} -\cs_new_protected:Npn \msg_direct_term:xx #1#2 { - \group_begin: - \cs_set:Npn \\ { \msg_newline: #2 } - \cs_set_eq:NN \ \c_space_tl - \iow_term:x { #1 \msg_newline: } - \group_end: -} -\cs_new_protected_nopar:Npn \msg_new:nnnn #1#2 { - \msg_generic_new:nnn { #1 / #2 } -} -\cs_new_protected_nopar:Npn \msg_new:nnn #1#2 { - \msg_generic_new:nn { #1 / #2 } -} -\cs_new_protected_nopar:Npn \msg_set:nnnn #1#2 { - \msg_generic_set:nnn { #1 / #2 } -} -\cs_new_protected_nopar:Npn \msg_set:nnn #1#2 { - \msg_generic_set:nn { #1 / #2 } -} -\cs_new_protected_nopar:Npn \msg_class_new:nn #1 { - \chk_if_free_cs:c { msg_ #1 :nnxxxx } - \prop_new:c { l_msg_redirect_ #1 _prop } - \msg_class_set:nn {#1} -} -\cs_new_protected_nopar:Npn \msg_class_set:nn #1#2 { - \prop_clear:c { l_msg_redirect_ #1 _prop } - \cs_set_protected:cpn { msg_ #1 :nnxxxx } ##1##2##3##4##5##6 { - \msg_use:nnnnxxxx {#1} {#2} {##1} {##2} {##3} {##4} {##5} {##6} - } - \cs_set_protected:cpx { msg_ #1 :nnxxx } ##1##2##3##4##5 { - \exp_not:c { msg_ #1 :nnxxxx } {##1} {##2} {##3} {##4} {##5} { } - } - \cs_set_protected:cpx { msg_ #1 :nnxx } ##1##2##3##4 { - \exp_not:c { msg_ #1 :nnxxxx } {##1} {##2} {##3} {##4} { } { } - } - \cs_set_protected:cpx { msg_ #1 :nnx } ##1##2##3 { - \exp_not:c { msg_ #1 :nnxxxx } {##1} {##2} {##3} { } { } { } - } - \cs_set_protected:cpx { msg_ #1 :nn } ##1##2 { - \exp_not:c { msg_ #1 :nnxxxx } {##1} {##2} { } { } { } { } - } -} -\cs_new_protected:Npn \msg_use:nnnnxxxx #1#2#3#4#5#6#7#8 { - \cs_set_nopar:Npn \msg_use_code: { - \clist_clear:N \l_msg_redirect_classes_clist - #2 - } - \cs_set:Npn \msg_use_loop:n ##1 { - \clist_if_in:NnTF \l_msg_redirect_classes_clist {#1} { - \msg_kernel_error:nn { msg } { redirect-loop } {#1} - }{ - \clist_put_right:Nn \l_msg_redirect_classes_clist {#1} - \cs_if_exist:cTF { msg_ ##1 :nnxxxx } { - \use:c { msg_ ##1 :nnxxxx } {#3} {#4} {#5} {#6} {#7} {#8} - }{ - \msg_kernel_error:nnx { msg } { message-class-unknown } {##1} - } - } - } - \cs_if_exist:cTF { \c_msg_text_prefix_tl #3 / #4 :xxxx } { - \msg_use_aux:nnn {#1} {#3} {#4} - }{ - \msg_kernel_error:nnxx { msg } { message-unknown } {#3} {#4} - } -} -\cs_new_nopar:Npn \msg_use_code: { } -\cs_new:Npn \msg_use_loop:n #1 { } -\cs_new_protected_nopar:Npn \msg_use_aux:nnn #1#2#3 { - \tl_set:Nn \l_msg_current_class_tl {#1} - \tl_set:Nn \l_msg_current_module_tl {#2} - \prop_if_in:NnTF \l_msg_redirect_names_prop { // #2 / #3 / } { - \msg_use_loop_check:nn { names } { // #2 / #3 / } - }{ - \msg_use_aux:nn {#1} {#2} - } -} -\cs_new_protected_nopar:Npn \msg_use_aux:nn #1#2 { - \prop_if_in:cnTF { l_msg_redirect_ #1 _prop } {#2} { - \msg_use_loop_check:nn {#1} {#2} - }{ - \prop_if_in:cnTF { l_msg_redirect_ #1 _prop } { * } { - \msg_use_loop_check:nn {#1} { * } - }{ - \msg_use_code: - } - } -} -\cs_new_protected:Npn \msg_use_loop_check:nn #1#2 { - \prop_get:cnN { l_msg_redirect_ #1 _prop } {#2} \l_msg_class_tl - \tl_if_eq:NNTF \l_msg_current_class_tl \l_msg_class_tl { - \msg_use_code: - }{ - \msg_use_loop:n { \l_msg_class_tl } - } -} -\msg_class_new:nn { fatal } { - \msg_direct_interrupt:xxxxx - { \msg_fatal_text:n {#1} : ~ "#2" } - { - \use:c { \c_msg_text_prefix_tl #1 / #2 :xxxx } {#3} {#4} {#5} {#6} - } - {} - { \msg_see_documentation_text:n {#1} } - { \c_msg_fatal_text_tl } - \tex_end:D -} -\msg_class_new:nn { error } { - \msg_direct_interrupt:xxxxx - { #1~ \c_msg_error_tl : ~ "#2" } - { - \use:c { \c_msg_text_prefix_tl #1 / #2 :xxxx } {#3} {#4} {#5} {#6} - } - {} - { \msg_see_documentation_text:n {#1} } - { - \cs_if_exist:cTF { \c_msg_more_text_prefix_tl #1 / #2 :xxxx } - { - \use:c { \c_msg_more_text_prefix_tl #1 / #2 :xxxx } - {#3} {#4} {#5} {#6} - } - { \c_msg_no_info_text_tl } - } -} -\msg_class_new:nn { warning } { - \msg_direct_term:xx { - \c_space_tl #1 ~ \c_msg_warning_tl :~ - \use:c { \c_msg_text_prefix_tl #1 / #2 :xxxx } {#3} {#4} {#5} {#6} - } - { ( #1 ) \c_space_tl \c_space_tl } -} -\msg_class_new:nn { info } { - \msg_direct_log:xx { - \c_space_tl #1~\c_msg_info_tl :~ - \use:c { \c_msg_text_prefix_tl #1 / #2 :xxxx } {#3} {#4} {#5} {#6} - } - { ( #1 ) \c_space_tl \c_space_tl } -} -\msg_class_new:nn { log } { - \msg_direct_log:xx { - \use:c { \c_msg_text_prefix_tl #1 / #2 :xxxx } {#3} {#4} {#5} {#6} - } - { } -} -\msg_class_new:nn { trace } { - \msg_direct_log:xx { - \use:c { \c_msg_text_prefix_tl #1 / #2 :xxxx } {#3} {#4} {#5} {#6} - } - { } -} -\msg_class_new:nn { none } { } -\cs_new_protected_nopar:Npn \msg_redirect_class:nn #1#2 { - \prop_put:cnn { l_msg_redirect_ #1 _prop } { * } {#2} -} -\cs_new_protected_nopar:Npn \msg_redirect_module:nnn #1#2#3 { - \prop_put:cnn { l_msg_redirect_ #2 _prop } {#1} {#3} -} -\cs_new_protected_nopar:Npn \msg_redirect_name:nnn #1#2#3 { - \prop_put:Nnn \l_msg_redirect_names_prop { // #1 / #2 / } {#3} -} -\cs_new_protected_nopar:Npn \msg_kernel_new:nnnn #1#2 { - \msg_new:nnnn { LaTeX } { #1 / #2 } -} -\cs_new_protected_nopar:Npn \msg_kernel_new:nnn #1#2 { - \msg_new:nnn { LaTeX } { #1 / #2 } -} -\cs_new_protected_nopar:Npn \msg_kernel_set:nnnn #1#2 { - \msg_set:nnnn { LaTeX } { #1 / #2 } -} -\cs_new_protected_nopar:Npn \msg_kernel_set:nnn #1#2 { - \msg_set:nnn { LaTeX } { #1 / #2 } -} -\cs_new_protected_nopar:Npn \msg_kernel_classes_new:n #1 { - \cs_new_protected:cpx { msg_kernel_ #1 :nnxxx } ##1##2##3##4##5 - { - \exp_not:c { msg_kernel_ #1 :nnxxxx } - {##1} {##2} {##3} {##4} {##5} { } - } - \cs_new_protected:cpx { msg_kernel_ #1 :nnxx } ##1##2##3##4 - { - \exp_not:c { msg_kernel_ #1 :nnxxxx } - {##1} {##2} {##3} {##4} { } { } - } - \cs_new_protected:cpx { msg_kernel_ #1 :nnx } ##1##2##3 - { - \exp_not:c { msg_kernel_ #1 :nnxxxx } {##1} {##2} {##3} { } { } { } - } - \cs_new_protected:cpx { msg_kernel_ #1 :nn } ##1##2 - { - \exp_not:c { msg_kernel_ #1 :nnxxxx } {##1} {##2} { } { } { } { } - } -} -\cs_new_protected:Npn \msg_kernel_fatal:nnxxxx #1#2#3#4#5#6 { - \msg_direct_interrupt:xxxxx - { \msg_fatal_text:n {LaTeX} } - { - \use:c { \c_msg_text_prefix_tl LaTeX / #1 / #2 :xxxx } - {#3} {#4} {#5} {#6} - } - {} - { \msg_see_documentation_text:n {LaTeX3} } - { \c_msg_fatal_text_tl } - \tex_end:D -} -\msg_kernel_classes_new:n { fatal } -\cs_new_protected:Npn \msg_kernel_error:nnxxxx #1#2#3#4#5#6 { - \msg_direct_interrupt:xxxxx - { LaTeX~\c_msg_error_tl \c_space_tl "#2" } - { - \use:c { \c_msg_text_prefix_tl LaTeX / #1 / #2 :xxxx } - {#3} {#4} {#5} {#6} - } - {} - { \msg_see_documentation_text:n {LaTeX3} } - { - \cs_if_exist:cTF - { \c_msg_more_text_prefix_tl LaTeX / #1 / #2 :xxxx } - { - \use:c { \c_msg_more_text_prefix_tl LaTeX / #1 / #2 :xxxx } - {#3} {#4} {#5} {#6} - } - { \c_msg_no_info_text_tl } - } -} -\msg_kernel_classes_new:n { error } -\cs_new_protected_nopar:Npn \msg_kernel_warning:nnxxxx #1#2 { - \msg_warning:nnxxxx { LaTeX } { #1 / #2 } -} -\msg_kernel_classes_new:n { warning } -\cs_new_protected_nopar:Npn \msg_kernel_info:nnxxxx #1#2 { - \msg_info:nnxxxx { LaTeX } { #1 / #2 } -} -\msg_kernel_classes_new:n { info } -\msg_kernel_new:nnnn { msg } { message-unknown } - { Unknown~message~'#2'~for~module~'#1'.} - { - \c_msg_coding_error_text_tl - LaTeX~was~asked~to~display~a~message~called~'#2'\\ - by~the~module~'#1'~module:~this~message~does~not~exist. - \c_msg_return_text_tl - } -\msg_kernel_new:nnnn { msg } { message-class-unknown } - { Unknown~message~class~'#1'. } - { - LaTeX~has~been~asked~to~redirect~messages~to~a~class~'#1':\\ - this~was~never~defined. - - \c_msg_return_text_tl - } -\msg_kernel_new:nnnn { msg } { redirect-loop } - { Message~redirection~loop~for~message~class~'#1'. } - { - LaTeX~has~been~asked~to~redirect~messages~in~an~infinite~loop.\\ - The~original~message~here~has~been~lost. - \c_msg_return_text_tl - } -\cs_set_protected:Npn \msg_kernel_bug:x #1 { - \msg_direct_interrupt:xxxxx - { \c_msg_kernel_bug_text_tl } - { #1 } - {} - { \msg_see_documentation_text:n {LaTeX3} } - { \c_msg_kernel_bug_more_text_tl } -} -%% -%% -%% End of file `l3msg.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3names.sty b/Master/texmf-dist/tex/latex/expl3/l3names.sty deleted file mode 100644 index b162f1371a3..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3names.sty +++ /dev/null @@ -1,852 +0,0 @@ -%% -%% 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-2006,2009-2010 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\begingroup -\def\GetIdInfo$#1${% - \begingroup - \def\GetIdInfoString{#1}% - \def\IdInfoStringUnexp{Id}% - \ifx\GetIdInfoString\IdInfoStringUnexp - \def\next{\endgroup\GetIdInfoMissing}% - \else - \def\next{\endgroup\GetIdInfoFull$#1$}% - \fi - \next -} -\def\GetIdInfoFull$#1 #2.#3 #4 #5 #6 #7${% - \GetIdInfoAux #5\relax{#2}#5\relax{#4}% -} -\def\GetIdInfoAux #1#2#3#4#5#6\relax{% - \ifx#5/% - \expandafter\GetIdInfoAuxCVS - \else - \expandafter\GetIdInfoAuxSVN - \fi -} -\def\GetIdInfoAuxCVS #1#2\relax#3#4{% - \gdef\fileversion{#3}% - \gdef\filedate{#2}% - \gdef\filedescription{#4}% - \ProvidesPackage{#1}[#2 v#3 #4]% -} -\def\GetIdInfoAuxSVN #1#2-#3-#4\relax#5#6{% - \gdef\fileversion{#5}% - \gdef\filedate{#2/#3/#4}% - \gdef\filedescription{#6}% - \ProvidesPackage{#1}[#2/#3/#4 v#5 #6] -} -\def\GetIdInfoMissing#1{% - \gdef\fileversion{000}% - \gdef\filedate{0000/00/00}% - \gdef\filedescription{#1}% - \ProvidesPackage{[unknown package]}[0000/00/00 v0.0 #1] -} -\GetIdInfo$Id: l3names.dtx 2122 2011-01-08 09:14:28Z joseph $ - {L3 Experimental Naming Scheme for TeX Primitives} -\endgroup -\def\@tempa{% - \def\@tempa{}% - \RequirePackage{luatex}% - \RequirePackage{pdftexcmds}% - \let\pdfstrcmp\pdf@strcmp -} -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname directlua\endcsname\relax -\else - \expandafter\@tempa -\fi -\begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname pdfstrcmp\endcsname\relax - \let\pdfstrcmp\strcmp -\fi -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname pdfstrcmp\endcsname\relax - \PackageError{l3names}{Required primitive not found: \protect\pdfstrcmp} - {% - LaTeX3 requires the e-TeX primitives and - \string\pdfstrcmp.\MessageBreak - These are available in engine versions: \MessageBreak - - pdfTeX 1.30 \MessageBreak - - XeTeX 0.9994 \MessageBreak - - LuaTeX 0.60 \MessageBreak - or later. \MessageBreak - \MessageBreak - Loading of l3names will abort! - } - \expandafter\endinput -\fi -\protected\edef\ExplSyntaxOff{ - \unexpanded{\ifodd \ExplSyntaxStatus\relax - \def\ExplSyntaxStatus{0} - } - \catcode 126=\the \catcode 126 \relax - \catcode 32=\the \catcode 32 \relax - \catcode 9=\the \catcode 9 \relax - \endlinechar =\the \endlinechar \relax - \catcode 95=\the \catcode 95 \relax - \catcode 58=\the \catcode 58 \relax - \catcode 124=\the \catcode 124 \relax - \catcode 38=\the \catcode 38 \relax - \catcode 94=\the \catcode 94 \relax - \catcode 34=\the \catcode 34 \relax - \noexpand\fi -} -\catcode126=10\relax % tilde is a space char. -\catcode32=9\relax % space is ignored -\catcode9=9\relax % tab also ignored -\endlinechar=32\relax % endline is space -\catcode95=11\relax % underscore letter -\catcode58=11\relax % colon letter -\catcode124=12\relax % vert bar, other -\catcode38=4\relax % ampersand, alignment token -\catcode34=12\relax % doublequote, other -\catcode94=7\relax % caret, math superscript -\let \tex_let:D \let -\DeclareOption{removeoldnames}{ - \long\def\name_undefine:N#1{ - \tex_let:D#1\c_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 \nonscript \tex_nonscript: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 \parfillskip \tex_parfillskip: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 -\name_primitive:NN \ifdefined \etex_ifdefined:D -\name_primitive:NN \ifcsname \etex_ifcsname:D -\name_primitive:NN \unless \etex_unless:D -\name_primitive:NN \eTeXversion \etex_eTeXversion:D -\name_primitive:NN \eTeXrevision \etex_eTeXrevision:D -\name_primitive:NN \marks \etex_marks:D -\name_primitive:NN \topmarks \etex_topmarks:D -\name_primitive:NN \firstmarks \etex_firstmarks:D -\name_primitive:NN \botmarks \etex_botmarks:D -\name_primitive:NN \splitfirstmarks \etex_splitfirstmarks:D -\name_primitive:NN \splitbotmarks \etex_splitbotmarks:D -\name_primitive:NN \unexpanded \etex_unexpanded:D -\name_primitive:NN \detokenize \etex_detokenize:D -\name_primitive:NN \scantokens \etex_scantokens:D -\name_primitive:NN \showtokens \etex_showtokens:D -\name_primitive:NN \readline \etex_readline:D -\name_primitive:NN \tracingassigns \etex_tracingassigns:D -\name_primitive:NN \tracingscantokens \etex_tracingscantokens:D -\name_primitive:NN \tracingnesting \etex_tracingnesting:D -\name_primitive:NN \tracingifs \etex_tracingifs:D -\name_primitive:NN \currentiflevel \etex_currentiflevel:D -\name_primitive:NN \currentifbranch \etex_currentifbranch:D -\name_primitive:NN \currentiftype \etex_currentiftype:D -\name_primitive:NN \tracinggroups \etex_tracinggroups:D -\name_primitive:NN \currentgrouplevel \etex_currentgrouplevel:D -\name_primitive:NN \currentgrouptype \etex_currentgrouptype:D -\name_primitive:NN \showgroups \etex_showgroups:D -\name_primitive:NN \showifs \etex_showifs:D -\name_primitive:NN \interactionmode \etex_interactionmode:D -\name_primitive:NN \lastnodetype \etex_lastnodetype:D -\name_primitive:NN \iffontchar \etex_iffontchar:D -\name_primitive:NN \fontcharht \etex_fontcharht:D -\name_primitive:NN \fontchardp \etex_fontchardp:D -\name_primitive:NN \fontcharwd \etex_fontcharwd:D -\name_primitive:NN \fontcharic \etex_fontcharic:D -\name_primitive:NN \parshapeindent \etex_parshapeindent:D -\name_primitive:NN \parshapelength \etex_parshapelength:D -\name_primitive:NN \parshapedimen \etex_parshapedimen:D -\name_primitive:NN \numexpr \etex_numexpr:D -\name_primitive:NN \dimexpr \etex_dimexpr:D -\name_primitive:NN \glueexpr \etex_glueexpr:D -\name_primitive:NN \muexpr \etex_muexpr:D -\name_primitive:NN \gluestretch \etex_gluestretch:D -\name_primitive:NN \glueshrink \etex_glueshrink:D -\name_primitive:NN \gluestretchorder \etex_gluestretchorder:D -\name_primitive:NN \glueshrinkorder \etex_glueshrinkorder:D -\name_primitive:NN \gluetomu \etex_gluetomu:D -\name_primitive:NN \mutoglue \etex_mutoglue:D -\name_primitive:NN \lastlinefit \etex_lastlinefit:D -\name_primitive:NN \interlinepenalties \etex_interlinepenalties:D -\name_primitive:NN \clubpenalties \etex_clubpenalties:D -\name_primitive:NN \widowpenalties \etex_widowpenalties:D -\name_primitive:NN \displaywidowpenalties \etex_displaywidowpenalties:D -\name_primitive:NN \middle \etex_middle:D -\name_primitive:NN \savinghyphcodes \etex_savinghyphcodes:D -\name_primitive:NN \savingvdiscards \etex_savingvdiscards:D -\name_primitive:NN \pagediscards \etex_pagediscards:D -\name_primitive:NN \splitdiscards \etex_splitdiscards:D -\name_primitive:NN \TeXXETstate \etex_TeXXETstate:D -\name_primitive:NN \beginL \etex_beginL:D -\name_primitive:NN \endL \etex_endL:D -\name_primitive:NN \beginR \etex_beginR:D -\name_primitive:NN \endR \etex_endR:D -\name_primitive:NN \predisplaydirection \etex_predisplaydirection:D -\name_primitive:NN \everyeof \etex_everyeof:D -\name_primitive:NN \protected \etex_protected:D -%% integer registers: -\name_primitive:NN \pdfoutput \pdf_output:D -\name_primitive:NN \pdfminorversion \pdf_minorversion:D -\name_primitive:NN \pdfcompresslevel \pdf_compresslevel:D -\name_primitive:NN \pdfdecimaldigits \pdf_decimaldigits:D -\name_primitive:NN \pdfimageresolution \pdf_imageresolution:D -\name_primitive:NN \pdfpkresolution \pdf_pkresolution:D -\name_primitive:NN \pdftracingfonts \pdf_tracingfonts:D -\name_primitive:NN \pdfuniqueresname \pdf_uniqueresname:D -\name_primitive:NN \pdfadjustspacing \pdf_adjustspacing:D -\name_primitive:NN \pdfprotrudechars \pdf_protrudechars:D -\name_primitive:NN \efcode \pdf_efcode:D -\name_primitive:NN \lpcode \pdf_lpcode:D -\name_primitive:NN \rpcode \pdf_rpcode:D -\name_primitive:NN \pdfforcepagebox \pdf_forcepagebox:D -\name_primitive:NN \pdfoptionalwaysusepdfpagebox \pdf_optionalwaysusepdfpagebox:D -\name_primitive:NN \pdfinclusionerrorlevel\pdf_inclusionerrorlevel:D -\name_primitive:NN \pdfoptionpdfinclusionerrorlevel \pdf_optionpdfinclusionerrorlevel:D -\name_primitive:NN \pdfimagehicolor \pdf_imagehicolor:D -\name_primitive:NN \pdfimageapplygamma \pdf_imageapplygamma:D -\name_primitive:NN \pdfgamma \pdf_gamma:D -\name_primitive:NN \pdfimagegamma \pdf_imagegamma:D -%% dimen registers: -\name_primitive:NN \pdfhorigin \pdf_horigin:D -\name_primitive:NN \pdfvorigin \pdf_vorigin:D -\name_primitive:NN \pdfpagewidth \pdf_pagewidth:D -\name_primitive:NN \pdfpageheight \pdf_pageheight:D -\name_primitive:NN \pdflinkmargin \pdf_linkmargin:D -\name_primitive:NN \pdfdestmargin \pdf_destmargin:D -\name_primitive:NN \pdfthreadmargin \pdf_threadmargin:D -%% token registers: -\name_primitive:NN \pdfpagesattr \pdf_pagesattr:D -\name_primitive:NN \pdfpageattr \pdf_pageattr:D -\name_primitive:NN \pdfpageresources \pdf_pageresources:D -\name_primitive:NN \pdfpkmode \pdf_pkmode:D -%% expandable commands: -\name_primitive:NN \pdftexrevision \pdf_texrevision:D -\name_primitive:NN \pdftexbanner \pdf_texbanner:D -\name_primitive:NN \pdfcreationdate \pdf_creationdate:D -\name_primitive:NN \pdfpageref \pdf_pageref:D -\name_primitive:NN \pdfxformname \pdf_xformname:D -\name_primitive:NN \pdffontname \pdf_fontname:D -\name_primitive:NN \pdffontobjnum \pdf_fontobjnum:D -\name_primitive:NN \pdffontsize \pdf_fontsize:D -\name_primitive:NN \pdfincludechars \pdf_includechars:D -\name_primitive:NN \leftmarginkern \pdf_leftmarginkern:D -\name_primitive:NN \rightmarginkern \pdf_rightmarginkern:D -\name_primitive:NN \pdfescapestring \pdf_escapestring:D -\name_primitive:NN \pdfescapename \pdf_escapename:D -\name_primitive:NN \pdfescapehex \pdf_escapehex:D -\name_primitive:NN \pdfunescapehex \pdf_unescapehex:D -\name_primitive:NN \pdfstrcmp \pdf_strcmp:D -\name_primitive:NN \pdfuniformdeviate \pdf_uniformdeviate:D -\name_primitive:NN \pdfnormaldeviate \pdf_normaldeviate:D -\name_primitive:NN \pdfmdfivesum \pdf_mdfivesum:D -\name_primitive:NN \pdffilemoddate \pdf_filemoddate:D -\name_primitive:NN \pdffilesize \pdf_filesize:D -\name_primitive:NN \pdffiledump \pdf_filedump:D -%% read-only integers: -\name_primitive:NN \pdftexversion \pdf_texversion:D -\name_primitive:NN \pdflastobj \pdf_lastobj:D -\name_primitive:NN \pdflastxform \pdf_lastxform:D -\name_primitive:NN \pdflastximage \pdf_lastximage:D -\name_primitive:NN \pdflastximagepages \pdf_lastximagepages:D -\name_primitive:NN \pdflastannot \pdf_lastannot:D -\name_primitive:NN \pdflastxpos \pdf_lastxpos:D -\name_primitive:NN \pdflastypos \pdf_lastypos:D -\name_primitive:NN \pdflastdemerits \pdf_lastdemerits:D -\name_primitive:NN \pdfelapsedtime \pdf_elapsedtime:D -\name_primitive:NN \pdfrandomseed \pdf_randomseed:D -\name_primitive:NN \pdfshellescape \pdf_shellescape:D -%% general commands: -\name_primitive:NN \pdfobj \pdf_obj:D -\name_primitive:NN \pdfrefobj \pdf_refobj:D -\name_primitive:NN \pdfxform \pdf_xform:D -\name_primitive:NN \pdfrefxform \pdf_refxform:D -\name_primitive:NN \pdfximage \pdf_ximage:D -\name_primitive:NN \pdfrefximage \pdf_refximage:D -\name_primitive:NN \pdfannot \pdf_annot:D -\name_primitive:NN \pdfstartlink \pdf_startlink:D -\name_primitive:NN \pdfendlink \pdf_endlink:D -\name_primitive:NN \pdfoutline \pdf_outline:D -\name_primitive:NN \pdfdest \pdf_dest:D -\name_primitive:NN \pdfthread \pdf_thread:D -\name_primitive:NN \pdfstartthread \pdf_startthread:D -\name_primitive:NN \pdfendthread \pdf_endthread:D -\name_primitive:NN \pdfsavepos \pdf_savepos:D -\name_primitive:NN \pdfinfo \pdf_info:D -\name_primitive:NN \pdfcatalog \pdf_catalog:D -\name_primitive:NN \pdfnames \pdf_names:D -\name_primitive:NN \pdfmapfile \pdf_mapfile:D -\name_primitive:NN \pdfmapline \pdf_mapline:D -\name_primitive:NN \pdffontattr \pdf_fontattr:D -\name_primitive:NN \pdftrailer \pdf_trailer:D -\name_primitive:NN \pdffontexpand \pdf_fontexpand:D -%%\name_primitive:NN \vadjust [<pre spec>] <filler> { <vertical mode material> } (h, m) -\name_primitive:NN \pdfliteral \pdf_literal:D -%%\name_primitive:NN \special <pdfspecial spec> -\name_primitive:NN \pdfresettimer \pdf_resettimer:D -\name_primitive:NN \pdfsetrandomseed \pdf_setrandomseed:D -\name_primitive:NN \pdfnoligatures \pdf_noligatures:D -\name_primitive:NN \XeTeXversion \xetex_version:D -\name_primitive:NN \catcodetable \luatex_catcodetable:D -\name_primitive:NN \directlua \luatex_directlua:D -\name_primitive:NN \initcatcodetable \luatex_initcatcodetable:D -\name_primitive:NN \latelua \luatex_latelua:D -\name_primitive:NN \savecatcodetable \luatex_savecatcodetable:D -\tex_begingroup:D - \tex_expandafter:D \tex_expandafter:D \tex_expandafter:D -\tex_endgroup:D -\tex_expandafter:D \tex_ifx:D \tex_csname:D xetex_version:D\tex_endcsname:D - \tex_relax:D \tex_else:D - \name_primitive:NN \strcmp \pdf_strcmp:D -\tex_fi:D -\etex_protected:D \tex_def:D \ExplSyntaxOn { - \tex_ifodd:D \ExplSyntaxStatus \tex_relax:D - \tex_else:D - \etex_protected:D \tex_edef:D \ExplSyntaxOff { - \etex_unexpanded:D{ - \tex_ifodd:D \ExplSyntaxStatus \tex_relax:D - \tex_def:D \ExplSyntaxStatus{0} - } - \tex_catcode:D 126=\tex_the:D \tex_catcode:D 126 \tex_relax:D - \tex_catcode:D 32=\tex_the:D \tex_catcode:D 32 \tex_relax:D - \tex_catcode:D 9=\tex_the:D \tex_catcode:D 9 \tex_relax:D - \tex_endlinechar:D =\tex_the:D \tex_endlinechar:D \tex_relax:D - \tex_catcode:D 95=\tex_the:D \tex_catcode:D 95 \tex_relax:D - \tex_catcode:D 58=\tex_the:D \tex_catcode:D 58 \tex_relax:D - \tex_catcode:D 124=\tex_the:D \tex_catcode:D 124 \tex_relax:D - \tex_catcode:D 38=\tex_the:D \tex_catcode:D 38 \tex_relax:D - \tex_catcode:D 94=\tex_the:D \tex_catcode:D 94 \tex_relax:D - \tex_catcode:D 34=\tex_the:D \tex_catcode:D 34 \tex_relax:D - \tex_noexpand:D \tex_fi:D - } - \tex_def:D \ExplSyntaxStatus { 1 } - \tex_catcode:D 126=10 \tex_relax:D % tilde is a space char. - \tex_catcode:D 32=9 \tex_relax:D % space is ignored - \tex_catcode:D 9=9 \tex_relax:D % tab also ignored - \tex_endlinechar:D =32 \tex_relax:D % endline is space - \tex_catcode:D 95=11 \tex_relax:D % underscore letter - \tex_catcode:D 58=11 \tex_relax:D % colon letter - \tex_catcode:D 124=12 \tex_relax:D % vertical bar, other - \tex_catcode:D 38=4 \tex_relax:D % ampersand, alignment token - \tex_catcode:D 94=7 \tex_relax:D % caret, math superscript - \tex_catcode:D 34=12 \tex_relax:D % doublequote, other - \tex_fi:D -} -\tex_def:D \ExplSyntaxStatus { 1 } -\etex_protected:D \tex_def:D \ExplSyntaxNamesOn { - \tex_catcode:D `\_=11\tex_relax:D - \tex_catcode:D `\:=11\tex_relax:D -} -\etex_protected:D \tex_def:D \ExplSyntaxNamesOff { - \tex_catcode:D `\_=8\tex_relax:D - \tex_catcode:D `\:=12\tex_relax:D -} -\etex_protected:D \tex_def:D \GetIdInfo { - \tex_begingroup:D - \tex_catcode:D 32=10 \tex_relax:D % needed? Probably for now. - \GetIdInfoMaybeMissing:w -} -\etex_protected:D \tex_def:D\GetIdInfoMaybeMissing:w$#1$#2{ - \tex_def:D \l_kernel_tmpa_tl {#1} - \tex_def:D \l_kernel_tmpb_tl {Id} - \tex_ifx:D \l_kernel_tmpa_tl \l_kernel_tmpb_tl - \tex_def:D \l_kernel_tmpa_tl { - \tex_endgroup:D - \tex_def:D\filedescription{#2} - \tex_def:D\filename {[unknown~name]} - \tex_def:D\fileversion {000} - \tex_def:D\fileauthor {[unknown~author]} - \tex_def:D\filedate {0000/00/00} - \tex_def:D\filenameext {[unknown~ext]} - \tex_def:D\filetimestamp {[unknown~timestamp]} - } - \tex_else:D - \tex_def:D \l_kernel_tmpa_tl {\GetIdInfoAuxi:w$#1${#2}} - \tex_fi:D - \l_kernel_tmpa_tl -} -\etex_protected:D \tex_def:D\GetIdInfoAuxi:w$#1~#2.#3~#4~#5~#6~#7~#8$#9{ - \tex_endgroup:D - \tex_def:D\filename{#2} - \tex_def:D\fileversion{#4} - \tex_def:D\filedescription{#9} - \tex_def:D\fileauthor{#7} - \GetIdInfoAuxii:w #5\tex_relax:D - #3\tex_relax:D#5\tex_relax:D#6\tex_relax:D -} -\etex_protected:D \tex_def:D\GetIdInfoAuxii:w #1#2#3#4#5#6\tex_relax:D{ - \tex_ifx:D#5/ - \tex_expandafter:D\GetIdInfoAuxCVS:w - \tex_else:D - \tex_expandafter:D\GetIdInfoAuxSVN:w - \tex_fi:D -} -\etex_protected:D \tex_def:D\GetIdInfoAuxCVS:w #1,v\tex_relax:D - #2\tex_relax:D#3\tex_relax:D{ - \tex_def:D\filedate{#2} - \tex_def:D\filenameext{#1} - \tex_def:D\filetimestamp{#3} -} -\etex_protected:D \tex_def:D\GetIdInfoAuxSVN:w #1\tex_relax:D#2-#3-#4 - \tex_relax:D#5Z\tex_relax:D{ - \tex_def:D\filenameext{#1} - \tex_def:D\filedate{#2/#3/#4} - \tex_def:D\filetimestamp{#5} -} -\etex_protected:D \tex_def:D \ProvidesExplPackage#1#2#3#4{ - \ProvidesPackage{#1}[#2~v#3~#4] - \ExplSyntaxOn -} -\etex_protected:D \tex_def:D \ProvidesExplClass#1#2#3#4{ - \ProvidesClass{#1}[#2~v#3~#4] - \ExplSyntaxOn -} -\etex_protected:D \tex_def:D \ProvidesExplFile#1#2#3#4{ - \ProvidesFile{#1}[#2~v#3~#4] - \ExplSyntaxOn -} -\tex_edef:D \@pushfilename{ - \etex_unexpanded:D{ - \tex_edef:D \ExplSyntaxStack{ \ExplSyntaxStatus \ExplSyntaxStack } - \ExplSyntaxOff - } - \etex_unexpanded:D\tex_expandafter:D{\@pushfilename } -} -\tex_edef:D \@popfilename{ - \etex_unexpanded:D\tex_expandafter:D{\@popfilename - \tex_if:D 2\ExplSyntaxStack 2 - \ExplSyntaxOff - \tex_else:D - \tex_expandafter:D\ExplSyntaxPopStack\ExplSyntaxStack\q_stop - \tex_fi:D - } -} -\etex_protected:D\tex_def:D\ExplSyntaxPopStack#1#2\q_stop{ - \tex_def:D\ExplSyntaxStack{#2} - \tex_ifodd:D#1\tex_relax:D - \ExplSyntaxOn - \tex_else:D - \ExplSyntaxOff - \tex_fi:D -} -\tex_def:D \ExplSyntaxStack{0} -\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\luatex_catcodetable:D \luatexcatcodetable -\tex_let:D\luatex_initcatcodetable:D \luatexinitcatcodetable -\tex_let:D\luatex_latelua:D \luatexlatelua -\tex_let:D\luatex_savecatcodetable:D \luatexsavecatcodetable -\tex_let:D\par \tex_par:D -\tex_ifx:D\name_undefine:N\@gobble - \tex_def:D\name_pop_stack:w{} -\tex_else:D -\tex_def:D\ProvidesPackage{ - \tex_begingroup:D - \ExplSyntaxOff - \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{#1}} -\tex_def:D\name_pop_stack:w#1\relax{% - \ExplSyntaxOff - \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 - \ExplSyntaxOn - \tex_input:D#1.sty\tex_relax:D - \tex_fi:D} -\tex_fi:D -\tex_futurelet:D\name_tmp:\name_pop_stack:w -\etex_protected:D\tex_def:D \package_check_loaded_expl: { - \@ifpackageloaded{expl3}{}{ - \PackageError{expl3}{Cannot~load~the~expl3~modules~separately}{ - The~expl3~modules~cannot~be~loaded~separately;\MessageBreak - please~\protect\usepackage{expl3}~instead. - } - } -} -%% -%% -%% End of file `l3names.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3num.sty b/Master/texmf-dist/tex/latex/expl3/l3num.sty deleted file mode 100644 index 5658ff30e35..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3num.sty +++ /dev/null @@ -1,100 +0,0 @@ -%% -%% This is file `l3num.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3num.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: l3num.dtx Copyright (C) 2005-2010 Frank Mittelbach, 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3num.dtx 2063 2010-10-03 08:26:49Z mittelba $ - {L3 Experimental token numbers} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\cs_set_eq:NN \if_num:w \tex_ifnum:D -\cs_set_eq:NN \if_case:w \tex_ifcase:D -\cs_set_protected_nopar:Npn \num_incr:N #1{\num_add:Nn#1 1} -\cs_set_protected_nopar:Npn \num_decr:N #1{\num_add:Nn#1 \c_minus_one} -\cs_set_protected_nopar:Npn \num_gincr:N #1{\num_gadd:Nn#1 1} -\cs_set_protected_nopar:Npn \num_gdecr:N #1{\num_gadd:Nn#1 \c_minus_one} -\cs_generate_variant:Nn \num_incr:N {c} -\cs_generate_variant:Nn \num_decr:N {c} -\cs_generate_variant:Nn \num_gincr:N {c} -\cs_generate_variant:Nn \num_gdecr:N {c} -\cs_new_protected_nopar:Npn \num_zero:N #1 {\num_set:Nn #1 0} -\cs_new_protected_nopar:Npn \num_gzero:N #1 {\num_gset:Nn #1 0} -\cs_generate_variant:Nn \num_zero:N {c} -\cs_generate_variant:Nn \num_gzero:N {c} -\cs_new_protected_nopar:Npn \num_new:N #1{\tl_new:Nn #1{0}} -\cs_generate_variant:Nn \num_new:N {c} -\cs_new_protected_nopar:Npn \num_set:Nn #1#2{ - \tl_set:No #1{ \tex_number:D \int_eval:n {#2} } -} -\cs_generate_variant:Nn\num_set:Nn {c} -\cs_new_protected_nopar:Npn \num_gset:Nn {\pref_global:D \num_set:Nn} -\cs_generate_variant:Nn\num_gset:Nn {c} -\cs_new_eq:NN \num_set_eq:NN \tl_set_eq:NN -\cs_generate_variant:Nn\num_set_eq:NN {c,Nc,cc} -\cs_new_eq:NN \num_gset_eq:NN \tl_gset_eq:NN -\cs_generate_variant:Nn\num_gset_eq:NN {c,Nc,cc} -\cs_new_protected_nopar:Npn \num_add:Nn #1#2 {\num_set:Nn #1{#1+#2}} -\cs_generate_variant:Nn\num_add:Nn {c} -\cs_new_protected_nopar:Npn \num_gadd:Nn {\pref_global:D \num_add:Nn} -\cs_generate_variant:Nn\num_gadd:Nn {c} -\cs_new_eq:NN\num_use:N \use:n -\cs_new_eq:NN\num_use:c \use:c -\cs_new_eq:NN\num_show:N \cs_show:N -\cs_new_eq:NN\num_show:c \cs_show:c -\cs_new:Npn \num_elt_count:n #1 { + 1 } -\cs_new:Npn \num_elt_count_prop:Nn #1#2 { + 1 } -\num_new:N \l_tmpa_num -\num_new:N \l_tmpb_num -\num_new:N \l_tmpc_num -\num_new:N \g_tmpa_num -\num_new:N \g_tmpb_num -\tex_mathchardef:D \c_max_register_num = 32767 \scan_stop: -%% -%% -%% End of file `l3num.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3precom.sty b/Master/texmf-dist/tex/latex/expl3/l3precom.sty deleted file mode 100644 index 0fc29e1d11c..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3precom.sty +++ /dev/null @@ -1,142 +0,0 @@ -%% -%% 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-2006,2009 Frank Mittelbach, 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3precom.dtx 2223 2011-04-09 12:57:14Z will $ - {L3 Experimental precompilation module} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\tl_new:N \g_cs_dump_name_tl -\seq_new:N\g_cs_dump_seq -\cs_new_nopar:Npn\cs_record_name:N#1{ -\seq_gput_left:Nn - \g_cs_trace_seq#1 -\seq_gput_left:Nn - \g_cs_dump_seq#1} -\cs_generate_variant:Nn \cs_record_name:N {c} -\cs_new_nopar:Npn\cs_dump:{ -\iow_term:x{Precompiling~style~into~(\g_cs_dump_name_tl)} -\iow_open:Nn\g_cs_dump_stream{\g_cs_dump_name_tl} -\iow_now:Nx\g_cs_dump_stream -{\group_begin: -\tex_catcode:D`\token_to_str:N\*=11\scan_stop: -\token_to_str:N\ExplSyntaxOn -} -\seq_map_inline:Nn -\g_cs_dump_seq -{\tex_message:D{.} -\iow_now:Nx\g_cs_dump_stream - {\exp_not:n{\cs_gset_nopar:Npn ##1} - {\tl_to_str:N##1}} -} -\iow_now:Nx \g_cs_dump_stream {\exp_not:n{\int_gset:Nn - \g_gen_sym_int} - {\int_use:N\g_gen_sym_int}^^J -\exp_not:n{\int_gset:Nn \g_ggen_sym_int} - {\int_use:N\g_ggen_sym_int}} -\iow_now:Nx -\g_cs_dump_stream -{\group_end:} -\iow_close:N\g_cs_dump_stream -\tex_message:D{~finished} -} -\cs_new_nopar:Npn \cs_load_dump:n #1 { - \file_if_exist:nTF { #1 .cmp } { - \file_input:n { #1 .cmp } - \cs_set_eq:NN \cs_dump: \fi: - \if_false: - }{ - \tl_gset:Nn \g_cs_dump_name_tl { #1 .cmp } - } -} -\int_new:N\g_gen_sym_int \int_gset:Nn\g_gen_sym_int{0} -\int_new:N\g_ggen_sym_int \int_gset:Nn\g_ggen_sym_int{0} -\cs_new_nopar:Npn\cs_gen_sym:N#1{ -\int_gincr:N\g_gen_sym_num -\tl_set:Nc#1{l*\tex_romannumeral:D\int_use:N\g_gen_sym_int} -\exp_after:wN\cs_record_name:N#1 -\exp_after:wN\tl_clear_new:N#1} -\cs_new_nopar:Npn\cs_ggen_sym:N#1{ -\int_gincr:N\g_ggen_sym_int -\tl_set:Nc#1{g*\tex_romannumeral:D\int_use:N\g_ggen_sym_int} -\exp_after:wN\cs_record_name:N#1 -\exp_after:wN\tl_clear_new:N#1} -\seq_new:N\g_cs_trace_seq -\seq_new:N\g_register_trace_seq -\cs_set_nopar:Npn\cs_record_meaning:N#1{ -\seq_gput_left:Nn - \g_cs_trace_seq#1} -\cs_set_nopar:Npn\register_record_name:N#1{ -\seq_gput_left:Nn - \g_register_trace_seq#1} -\cs_new_nopar:Npn\dumpLaTeXstate#1{ - \iow_term:x{Dumping~commands~into~(#1.dmp)} - \iow_open:Nn\g_cs_dump_stream{#1.dmp} - \seq_map_inline:Nn - \g_cs_trace_seq - {\tex_message:D{.} - \iow_now:Nx\g_cs_dump_stream - {\token_to_str:N##1~ - \token_to_meaning:N##1} - } - \tex_message:D{~registers} - \seq_map_inline:Nn - \g_register_trace_seq - {\tex_message:D{.} - \iow_now:Nx\g_cs_dump_stream - {\token_to_str:N##1 - \toks_use:N##1} - } - \iow_clos:Nn \g_cs_dump_stream - \tex_message:D{~finished} -} -%% -%% -%% End of file `l3precom.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3prg.sty b/Master/texmf-dist/tex/latex/expl3/l3prg.sty deleted file mode 100644 index d61832b0500..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3prg.sty +++ /dev/null @@ -1,614 +0,0 @@ -%% -%% This is file `l3prg.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3prg.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: l3prg.dtx Copyright (C) 2005-2011 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3prg.dtx 2223 2011-04-09 12:57:14Z will $ - {L3 Experimental control structures} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\prg_set_conditional:Npnn \mode_if_vertical: {p,TF,T,F}{ - \if_mode_vertical: \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_set_conditional:Npnn \mode_if_horizontal: {p,TF,T,F}{ - \if_mode_horizontal: \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_set_conditional:Npnn \mode_if_inner: {p,TF,T,F}{ - \if_mode_inner: \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_set_conditional:Npnn \mode_if_math: {p,TF,T,F}{ - \scan_align_safe_stop: \if_mode_math: - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_new_nopar:Npn \group_align_safe_begin: { - \if_false:{\fi:\if_num:w`}=\c_zero\fi:} -\cs_new_nopar:Npn \group_align_safe_end: {\if_num:w`{=\c_zero}\fi:} -\cs_new_nopar:Npn \scan_align_safe_stop: { - \int_compare:nNnT \etex_currentgrouptype:D = \c_six - { - \int_compare:nNnF \etex_lastnodetype:D = \c_zero - { - \int_compare:nNnF \etex_lastnodetype:D = \c_seven - \scan_stop: - } - } -} -\cs_new_nopar:Npn \prg_replicate:nn #1{ - \cs:w prg_do_nothing: - \exp_after:wN\prg_replicate_first_aux:N - \tex_romannumeral:D -`\q \int_eval:n{#1} \cs_end: - \cs_end: -} -\cs_new_nopar:Npn \prg_replicate_aux:N#1{ - \cs:w prg_replicate_#1:n\prg_replicate_aux:N -} -\cs_new_nopar:Npn \prg_replicate_first_aux:N#1{ - \cs:w prg_replicate_first_#1:n\prg_replicate_aux:N -} -\cs_new_nopar:Npn \prg_replicate_ :n #1{}% no, this is not a typo! -\cs_new:cpn {prg_replicate_0:n}#1{\cs_end:{#1#1#1#1#1#1#1#1#1#1}} -\cs_new:cpn {prg_replicate_1:n}#1{\cs_end:{#1#1#1#1#1#1#1#1#1#1}#1} -\cs_new:cpn {prg_replicate_2:n}#1{\cs_end:{#1#1#1#1#1#1#1#1#1#1}#1#1} -\cs_new:cpn {prg_replicate_3:n}#1{ - \cs_end:{#1#1#1#1#1#1#1#1#1#1}#1#1#1} -\cs_new:cpn {prg_replicate_4:n}#1{ - \cs_end:{#1#1#1#1#1#1#1#1#1#1}#1#1#1#1} -\cs_new:cpn {prg_replicate_5:n}#1{ - \cs_end:{#1#1#1#1#1#1#1#1#1#1}#1#1#1#1#1} -\cs_new:cpn {prg_replicate_6:n}#1{ - \cs_end:{#1#1#1#1#1#1#1#1#1#1}#1#1#1#1#1#1} -\cs_new:cpn {prg_replicate_7:n}#1{ - \cs_end:{#1#1#1#1#1#1#1#1#1#1}#1#1#1#1#1#1#1} -\cs_new:cpn {prg_replicate_8:n}#1{ - \cs_end:{#1#1#1#1#1#1#1#1#1#1}#1#1#1#1#1#1#1#1} -\cs_new:cpn {prg_replicate_9:n}#1{ - \cs_end:{#1#1#1#1#1#1#1#1#1#1}#1#1#1#1#1#1#1#1#1} -\cs_new:cpn {prg_replicate_first_-:n}#1{\cs_end: \ERROR } -\cs_new:cpn {prg_replicate_first_0:n}#1{\cs_end: } -\cs_new:cpn {prg_replicate_first_1:n}#1{\cs_end: #1} -\cs_new:cpn {prg_replicate_first_2:n}#1{\cs_end: #1#1} -\cs_new:cpn {prg_replicate_first_3:n}#1{\cs_end: #1#1#1} -\cs_new:cpn {prg_replicate_first_4:n}#1{\cs_end: #1#1#1#1} -\cs_new:cpn {prg_replicate_first_5:n}#1{\cs_end: #1#1#1#1#1} -\cs_new:cpn {prg_replicate_first_6:n}#1{\cs_end: #1#1#1#1#1#1} -\cs_new:cpn {prg_replicate_first_7:n}#1{\cs_end: #1#1#1#1#1#1#1} -\cs_new:cpn {prg_replicate_first_8:n}#1{\cs_end: #1#1#1#1#1#1#1#1} -\cs_new:cpn {prg_replicate_first_9:n}#1{\cs_end: #1#1#1#1#1#1#1#1#1} -\cs_new:Npn \prg_stepwise_function:nnnN #1#2{ - \int_compare:nNnTF{#2}<\c_zero - {\exp_args:Nf\prg_stepwise_function_decr:nnnN } - {\exp_args:Nf\prg_stepwise_function_incr:nnnN } - {\int_eval:n{#1}}{#2} -} -\cs_new:Npn \prg_stepwise_function_incr:nnnN #1#2#3#4{ - \int_compare:nNnF {#1}>{#3} - { - #4{#1} - \exp_args:Nf \prg_stepwise_function_incr:nnnN - {\int_eval:n{#1 + #2}} - {#2}{#3}{#4} - } -} -\cs_new:Npn \prg_stepwise_function_decr:nnnN #1#2#3#4{ - \int_compare:nNnF {#1}<{#3} - { - #4{#1} - \exp_args:Nf \prg_stepwise_function_decr:nnnN - {\int_eval:n{#1 + #2}} - {#2}{#3}{#4} - } -} -\cs_new_protected:Npn\prg_stepwise_inline:nnnn #1#2#3#4{ - \int_gincr:N \g_prg_inline_level_int - \cs_gset_nopar:cpn{prg_stepwise_inline_\int_use:N\g_prg_inline_level_int :n}##1{#4} - \int_compare:nNnTF {#2}<\c_zero - {\exp_args:Ncf \prg_stepwise_inline_decr:Nnnn } - {\exp_args:Ncf \prg_stepwise_inline_incr:Nnnn } - {prg_stepwise_inline_\int_use:N\g_prg_inline_level_int :n} - {\int_eval:n{#1}} {#2} {#3} - \int_gdecr:N \g_prg_inline_level_int -} -\cs_new:Npn \prg_stepwise_inline_incr:Nnnn #1#2#3#4{ - \int_compare:nNnF {#2}>{#4} - { - #1{#2} - \exp_args:NNf \prg_stepwise_inline_incr:Nnnn #1 - {\int_eval:n{#2 + #3}} {#3}{#4} - } -} -\cs_new:Npn \prg_stepwise_inline_decr:Nnnn #1#2#3#4{ - \int_compare:nNnF {#2}<{#4} - { - #1{#2} - \exp_args:NNf \prg_stepwise_inline_decr:Nnnn #1 - {\int_eval:n{#2 + #3}} {#3}{#4} - } -} -\cs_new_protected:Npn \prg_stepwise_variable:nnnNn #1#2 { - \int_compare:nNnTF {#2}<\c_zero - {\exp_args:Nf\prg_stepwise_variable_decr:nnnNn} - {\exp_args:Nf\prg_stepwise_variable_incr:nnnNn} - {\int_eval:n{#1}}{#2} -} -\cs_new_protected:Npn \prg_stepwise_variable_incr:nnnNn #1#2#3#4#5 { - \int_compare:nNnF {#1}>{#3} - { - \cs_set_nopar:Npn #4{#1} #5 - \exp_args:Nf \prg_stepwise_variable_incr:nnnNn - {\int_eval:n{#1 + #2}}{#2}{#3}#4{#5} - } -} -\cs_new_protected:Npn \prg_stepwise_variable_decr:nnnNn #1#2#3#4#5 { - \int_compare:nNnF {#1}<{#3} - { - \cs_set_nopar:Npn #4{#1} #5 - \exp_args:Nf \prg_stepwise_variable_decr:nnnNn - {\int_eval:n{#1 + #2}}{#2}{#3}#4{#5} - } -} -\cs_new_protected_nopar:Npn \bool_new:N #1 { \cs_new_eq:NN #1 \c_false_bool } -\cs_new_protected_nopar:Npn \bool_new:c #1 { \cs_new_eq:cN {#1} \c_false_bool } -\cs_new_protected_nopar:Npn \bool_set_true:N #1 { \cs_set_eq:NN #1 \c_true_bool } -\cs_new_protected_nopar:Npn \bool_set_true:c #1 { \cs_set_eq:cN {#1} \c_true_bool } -\cs_new_protected_nopar:Npn \bool_set_false:N #1 { \cs_set_eq:NN #1 \c_false_bool } -\cs_new_protected_nopar:Npn \bool_set_false:c #1 { \cs_set_eq:cN {#1} \c_false_bool } -\cs_new_protected_nopar:Npn \bool_gset_true:N #1 { \cs_gset_eq:NN #1 \c_true_bool } -\cs_new_protected_nopar:Npn \bool_gset_true:c #1 { \cs_gset_eq:cN {#1} \c_true_bool } -\cs_new_protected_nopar:Npn \bool_gset_false:N #1 { \cs_gset_eq:NN #1 \c_false_bool } -\cs_new_protected_nopar:Npn \bool_gset_false:c #1 { \cs_gset_eq:cN {#1} \c_false_bool } -\cs_new_eq:NN \bool_set_eq:NN \cs_set_eq:NN -\cs_new_eq:NN \bool_set_eq:Nc \cs_set_eq:Nc -\cs_new_eq:NN \bool_set_eq:cN \cs_set_eq:cN -\cs_new_eq:NN \bool_set_eq:cc \cs_set_eq:cc -\cs_new_eq:NN \bool_gset_eq:NN \cs_gset_eq:NN -\cs_new_eq:NN \bool_gset_eq:Nc \cs_gset_eq:Nc -\cs_new_eq:NN \bool_gset_eq:cN \cs_gset_eq:cN -\cs_new_eq:NN \bool_gset_eq:cc \cs_gset_eq:cc -\bool_new:N \l_tmpa_bool -\bool_new:N \g_tmpa_bool -\prg_set_conditional:Npnn \bool_if:N #1 {p,TF,T,F}{ - \if_bool:N #1 \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_generate_variant:Nn \bool_if_p:N {c} -\cs_generate_variant:Nn \bool_if:NTF {c} -\cs_generate_variant:Nn \bool_if:NT {c} -\cs_generate_variant:Nn \bool_if:NF {c} -\cs_new:Npn \bool_while_do:Nn #1 #2 { - \bool_if:NT #1 {#2 \bool_while_do:Nn #1 {#2}} -} -\cs_generate_variant:Nn \bool_while_do:Nn {c} -\cs_new:Npn \bool_until_do:Nn #1 #2 { - \bool_if:NF #1 {#2 \bool_until_do:Nn #1 {#2}} -} -\cs_generate_variant:Nn \bool_until_do:Nn {c} -\cs_new:Npn \bool_do_while:Nn #1 #2 { - #2 \bool_if:NT #1 {\bool_do_while:Nn #1 {#2}} -} -\cs_generate_variant:Nn \bool_do_while:Nn {c} -\cs_new:Npn \bool_do_until:Nn #1 #2 { - #2 \bool_if:NF #1 {\bool_do_until:Nn #1 {#2}} -} -\cs_generate_variant:Nn \bool_do_until:Nn {c} -\cs_new:Npn \bool_if_p:n #1{ - \group_align_safe_begin: - \bool_get_next:N ( #1 )S -} -\cs_new:Npn \bool_get_next:N #1{ - \use:c { - bool_ - \if_meaning:w !#1 ! \else: \if_meaning:w (#1 ( \else: p \fi: \fi: - :w - } #1 -} -\cs_new:Npn \bool_get_not_next:N #1{ - \use:c { - bool_not_ - \if_meaning:w !#1 ! \else: \if_meaning:w (#1 ( \else: p \fi: \fi: - :w - } #1 -} -\cs_new:Npn \bool_get_next:NN #1#2{ - \bool_get_next:N #2 -} -\cs_new:Npn \bool_get_not_next:NN #1#2{ - \bool_get_not_next:N #2 -} -\cs_new:cpn { bool_!:w } #1#2 { - \if_meaning:w ( #2 - \exp_after:wN \bool_Not:w - \else: - \if_meaning:w ! #2 - \exp_after:wN \exp_after:wN \exp_after:wN \bool_get_next:NN - \else: - \exp_after:wN \exp_after:wN \exp_after:wN \bool_Not:N - \fi: - \fi: - #2 -} -\cs_new:cpn { bool_not_!:w } #1#2 { - \if_meaning:w ( #2 - \exp_after:wN \bool_not_Not:w - \else: - \if_meaning:w ! #2 - \exp_after:wN \exp_after:wN \exp_after:wN \bool_get_not_next:NN - \else: - \exp_after:wN \exp_after:wN \exp_after:wN \bool_not_Not:N - \fi: - \fi: - #2 -} -\cs_new:Npn \bool_Not:w { - \exp_after:wN \tex_number:D \bool_get_not_next:N -} -\cs_new:Npn \bool_not_Not:w { - \exp_after:wN \tex_number:D \bool_get_next:N -} -\cs_new:Npn \bool_Not:N #1 { - \exp_after:wN \bool_p:w - \if_meaning:w #1 \c_true_bool - \c_false_bool - \else: - \c_true_bool - \fi: -} -\cs_new:Npn \bool_not_Not:N #1 { - \exp_after:wN \bool_p:w - \if_meaning:w #1 \c_true_bool - \c_true_bool - \else: - \c_false_bool - \fi: -} -\cs_new:cpn {bool_(:w}#1{ - \exp_after:wN \bool_cleanup:N \tex_number:D \bool_get_next:N -} -\cs_new:cpn {bool_not_(:w}#1{ - \exp_after:wN \bool_not_cleanup:N \tex_number:D \bool_get_next:N -} -\cs_new:cpn {bool_p:w}{\exp_after:wN \bool_cleanup:N \tex_number:D } -\cs_new:cpn {bool_not_p:w}{\exp_after:wN \bool_not_cleanup:N \tex_number:D } -\cs_new_nopar:Npn \bool_cleanup:N #1{ - \exp_after:wN \bool_choose:NN \exp_after:wN #1 - \int_to_roman:w-`\q -} -\cs_new_nopar:Npn \bool_not_cleanup:N #1{ - \exp_after:wN \bool_not_choose:NN \exp_after:wN #1 - \int_to_roman:w-`\q -} -\cs_new_nopar:Npn \bool_choose:NN #1#2{ \use:c{bool_#2_#1:w} } -\cs_new_nopar:Npn \bool_not_choose:NN #1#2{ \use:c{bool_not_#2_#1:w} } -\cs_new_nopar:cpn{bool_&_1:w}&{\bool_get_next:N} -\cs_new_nopar:cpn{bool_|_0:w}|{\bool_get_next:N} -\cs_new_nopar:cpn{bool_not_&_0:w}&{\bool_get_next:N} -\cs_new_nopar:cpn{bool_not_|_1:w}|{\bool_get_next:N} -\cs_new_nopar:cpn{bool_)_0:w}{ \c_false_bool } -\cs_new_nopar:cpn{bool_)_1:w}{ \c_true_bool } -\cs_new_nopar:cpn{bool_not_)_0:w}{ \c_true_bool } -\cs_new_nopar:cpn{bool_not_)_1:w}{ \c_false_bool } -\cs_new_nopar:cpn{bool_S_0:w}{\group_align_safe_end: \c_false_bool } -\cs_new_nopar:cpn{bool_S_1:w}{\group_align_safe_end: \c_true_bool } -\cs_new:cpn{bool_&_0:w}&{\bool_eval_skip_to_end:Nw \c_false_bool} -\cs_new:cpn{bool_|_1:w}|{\bool_eval_skip_to_end:Nw \c_true_bool} -\cs_new:cpn{bool_not_&_1:w}&{\bool_eval_skip_to_end:Nw \c_false_bool} -\cs_new:cpn{bool_not_|_0:w}|{\bool_eval_skip_to_end:Nw \c_true_bool} -\cs_new:Npn \bool_eval_skip_to_end:Nw #1#2){ - \bool_eval_skip_to_end_aux:Nw #1 #2(\q_no_value\q_stop{#2} -} -\cs_new:Npn \bool_eval_skip_to_end_aux:Nw #1#2(#3#4\q_stop#5{ - \quark_if_no_value:NTF #3 - { #1 } - { \bool_eval_skip_to_end_auxii:Nw #1 #5 } -} -\cs_new:Npn \bool_eval_skip_to_end_auxii:Nw #1#2(#3){ - \bool_eval_skip_to_end:Nw #1#3 ) -} -\cs_new:Npn \bool_set:Nn #1#2 {\tex_chardef:D #1 = \bool_if_p:n {#2}} -\cs_new:Npn \bool_gset:Nn #1#2 { - \tex_global:D \tex_chardef:D #1 = \bool_if_p:n {#2} -} -\cs_generate_variant:Nn \bool_set:Nn {c} -\cs_generate_variant:Nn \bool_gset:Nn {c} -\cs_new:Npn \bool_not_p:n #1{ \bool_if_p:n{!(#1)} } -\cs_new:Npn \bool_xor_p:nn #1#2 { - \int_compare:nNnTF {\bool_if_p:n { #1 }} = {\bool_if_p:n { #2 }} - {\c_false_bool}{\c_true_bool} -} -\prg_set_conditional:Npnn \bool_if:n #1 {TF,T,F}{ - \if_predicate:w \bool_if_p:n{#1} - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_new:Npn \bool_while_do:nn #1#2 { - \bool_if:nT {#1} { #2 \bool_while_do:nn {#1}{#2} } -} -\cs_new:Npn \bool_until_do:nn #1#2 { - \bool_if:nF {#1} { #2 \bool_until_do:nn {#1}{#2} } -} -\cs_new:Npn \bool_do_while:nn #1#2 { - #2 \bool_if:nT {#1} { \bool_do_while:nn {#1}{#2} } -} -\cs_new:Npn \bool_do_until:nn #1#2 { - #2 \bool_if:nF {#1} { \bool_do_until:nn {#1}{#2} } -} -\cs_new:Npn \prg_case_int:nnn #1 #2 { - \exp_args:Nf \prg_case_int_aux:nnn { \int_eval:n{#1}} #2 - \q_recursion_tail ? \q_recursion_stop -} -\cs_new:Npn \prg_case_int_aux:nnn #1#2#3{ - \quark_if_recursion_tail_stop_do:nn{#2}{\use:n} - \int_compare:nNnTF{#1}={#2} - { \prg_end_case:nw {#3} } - { \prg_case_int_aux:nnn {#1}} -} -\cs_new:Npn \prg_case_dim:nnn #1 #2 { - \exp_args:No \prg_case_dim_aux:nnn {\dim_eval:n{#1}} #2 - \q_recursion_tail ? \q_recursion_stop -} -\cs_new:Npn \prg_case_dim_aux:nnn #1#2#3{ - \quark_if_recursion_tail_stop_do:nn{#2}{\use:n} - \dim_compare:nNnTF{#1}={#2} - { \prg_end_case:nw {#3} } - { \prg_case_dim_aux:nnn {#1}} -} -\cs_new:Npn \prg_case_str:nnn #1 #2 { - \prg_case_str_aux:nnn {#1} #2 - \q_recursion_tail ? \q_recursion_stop -} -\cs_new:Npn \prg_case_str_aux:nnn #1#2#3{ - \quark_if_recursion_tail_stop_do:nn{#2}{\use:n} - \str_if_eq:xxTF{#1}{#2} - { \prg_end_case:nw {#3} } - { \prg_case_str_aux:nnn {#1}} -} -\cs_new:Npn \prg_case_tl:Nnn #1 #2 { - \prg_case_tl_aux:NNn #1 #2 - \q_recursion_tail ? \q_recursion_stop -} -\cs_new:Npn \prg_case_tl_aux:NNn #1#2#3{ - \quark_if_recursion_tail_stop_do:Nn #2{\use:n} - \tl_if_eq:NNTF #1 #2 - { \prg_end_case:nw {#3} } - { \prg_case_tl_aux:NNn #1} -} -\cs_new:Npn \prg_end_case:nw #1#2\q_recursion_stop#3{#1} - -\cs_new_protected_nopar:Npn \prg_define_quicksort:nnn #1#2#3 { - \cs_set:cpx{#1_quicksort:n}##1{ - \exp_not:c{#1_quicksort_start_partition:w} ##1 - \exp_not:n{#2\q_nil#3\q_stop} - } - \cs_set:cpx{#1_quicksort_braced:n}##1{ - \exp_not:c{#1_quicksort_start_partition_braced:n} ##1 - \exp_not:N\q_nil\exp_not:N\q_stop - } - \cs_set:cpx {#1_quicksort_start_partition:w} #2 ##1 #3{ - \exp_not:N \quark_if_nil:nT {##1}\exp_not:N \use_none_delimit_by_q_stop:w - \exp_not:c{#1_quicksort_do_partition_i:nnnw} {##1}{}{} - } - \cs_set:cpx {#1_quicksort_start_partition_braced:n} ##1 { - \exp_not:N \quark_if_nil:nT {##1}\exp_not:N \use_none_delimit_by_q_stop:w - \exp_not:c{#1_quicksort_do_partition_i_braced:nnnn} {##1}{}{} - } - \cs_set:cpx {#1_quicksort_do_partition_i:nnnw} ##1##2##3 #2 ##4 #3 { - \exp_not:N \quark_if_nil:nTF {##4} \exp_not:c {#1_do_quicksort_braced:nnnnw} - { - \exp_not:c{#1_quicksort_compare:nnTF}{##1}{##4} - \exp_not:c{#1_quicksort_partition_greater_ii:nnnn} - \exp_not:c{#1_quicksort_partition_less_ii:nnnn} - } - {##1}{##2}{##3}{##4} - } - \cs_set:cpx {#1_quicksort_do_partition_i_braced:nnnn} ##1##2##3##4 { - \exp_not:N \quark_if_nil:nTF {##4} \exp_not:c {#1_do_quicksort_braced:nnnnw} - { - \exp_not:c{#1_quicksort_compare:nnTF}{##1}{##4} - \exp_not:c{#1_quicksort_partition_greater_ii_braced:nnnn} - \exp_not:c{#1_quicksort_partition_less_ii_braced:nnnn} - } - {##1}{##2}{##3}{##4} - } - \cs_set:cpx {#1_quicksort_do_partition_ii:nnnw} ##1##2##3 #2 ##4 #3 { - \exp_not:N \quark_if_nil:nTF {##4} \exp_not:c {#1_do_quicksort_braced:nnnnw} - { - \exp_not:c{#1_quicksort_compare:nnTF}{##4}{##1} - \exp_not:c{#1_quicksort_partition_less_i:nnnn} - \exp_not:c{#1_quicksort_partition_greater_i:nnnn} - } - {##1}{##2}{##3}{##4} - } - \cs_set:cpx {#1_quicksort_do_partition_ii_braced:nnnn} ##1##2##3##4 { - \exp_not:N \quark_if_nil:nTF {##4} \exp_not:c {#1_do_quicksort_braced:nnnnw} - { - \exp_not:c{#1_quicksort_compare:nnTF}{##4}{##1} - \exp_not:c{#1_quicksort_partition_less_i_braced:nnnn} - \exp_not:c{#1_quicksort_partition_greater_i_braced:nnnn} - } - {##1}{##2}{##3}{##4} - } - \cs_set:cpx {#1_quicksort_partition_less_i:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_i:nnnw}{##1}{##2}{{##4}##3}} - \cs_set:cpx {#1_quicksort_partition_less_ii:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_ii:nnnw}{##1}{##2}{##3{##4}}} - \cs_set:cpx {#1_quicksort_partition_greater_i:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_i:nnnw}{##1}{{##4}##2}{##3}} - \cs_set:cpx {#1_quicksort_partition_greater_ii:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_ii:nnnw}{##1}{##2{##4}}{##3}} - \cs_set:cpx {#1_quicksort_partition_less_i_braced:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_i_braced:nnnn}{##1}{##2}{{##4}##3}} - \cs_set:cpx {#1_quicksort_partition_less_ii_braced:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_ii_braced:nnnn}{##1}{##2}{##3{##4}}} - \cs_set:cpx {#1_quicksort_partition_greater_i_braced:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_i_braced:nnnn}{##1}{{##4}##2}{##3}} - \cs_set:cpx {#1_quicksort_partition_greater_ii_braced:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_ii_braced:nnnn}{##1}{##2{##4}}{##3}} - \cs_set:cpx {#1_do_quicksort_braced:nnnnw} ##1##2##3##4\q_stop { - \exp_not:c{#1_quicksort_braced:n}{##2} - \exp_not:c{#1_quicksort_function:n}{##1} - \exp_not:c{#1_quicksort_braced:n}{##3} - } -} -\prg_define_quicksort:nnn {prg}{}{} -\cs_set:Npn \prg_quicksort_function:n {\ERROR} -\cs_set:Npn \prg_quicksort_compare:nnTF {\ERROR} -\group_begin: - \tex_lccode:D `\& = `\g \tex_relax:D - \tex_catcode:D `\& = \c_twelve \tex_relax:D -\tl_to_lowercase:n { - \group_end: - \cs_new_nopar:Npn \prg_variable_get_scope:N #1 { - \exp_last_unbraced:Nf \prg_variable_get_scope_aux:w - { \cs_to_str:N #1 \exp_stop_f: \q_stop } - } - \cs_new_nopar:Npn \prg_variable_get_scope_aux:w #1#2 \q_stop { - \token_if_eq_meaning:NNT & #1 {g} - } -} -\group_begin: - \tex_lccode:D `\& = `\_ \tex_relax:D - \tex_catcode:D `\& = \c_twelve \tex_relax:D -\tl_to_lowercase:n { - \group_end: - \cs_new_nopar:Npn \prg_variable_get_type:N #1 { - \exp_after:wN \p;rg_variable_get_type_aux:w - \token_to_str:N #1 & a \q_stop - } - \cs_new_nopar:Npn \prg_variable_get_type_aux:w #1 & #2#3 \q_stop { - \token_if_eq_meaning:NNTF a #2 { - #1 - }{ - \prg_variable_get_type_aux:w #2#3 \q_stop - } - } -} -\cs_new_protected:Npn \prg_new_map_functions:Nn #1#2 { - \cs_if_free:cTF { #2 _map_function:NN } - { \prg_set_map_functions:Nn #1 {#2} } - { - \msg_kernel_error:nnx { code } { csname-already-defined } - { \token_to_str:c { #2 _map_function:NN } } - } -} -\cs_new_protected:Npn \prg_set_map_functions:Nn #1#2 { - \cs_gset_nopar:cpx { #2 _map_function:NN } ##1##2 - { - \exp_not:N \tl_if_empty:NF ##1 - { - \exp_not:N \exp_after:wN - \exp_not:c { #2 _map_function_aux:Nw } - \exp_not:N \exp_after:wN ##2 ##1 - \exp_not:n { #1 \q_recursion_tail #1 \q_recursion_stop } - } - } - \cs_gset:cpx { #2 _map_function:nN } ##1##2 - { - \exp_not:N \tl_if_blank:nF {##1} - { - \exp_not:c { #2 _map_function_aux:Nw } ##2 ##1 - \exp_not:n { #1 \q_recursion_tail #1 \q_recursion_stop } - } - } - \cs_gset:cpx { #2 _map_function_aux:Nw } ##1##2 #1 - { - \exp_not:N \quark_if_recursion_tail_stop:n {##2} - ##1 {##2} - \exp_not:c { #2 _map_function_aux:Nw } ##1 - } - \cs_if_free:cT { g_ #2 _map_inline_int } - { \int_new:c { g_ #2 _map_inline_int } } - \cs_gset_protected_nopar:cpx { #2 _map_inline:Nn } ##1##2 - { - \exp_not:N \tl_if_empty:NF ##1 - { - \exp_not:N \int_gincr:N \exp_not:c { g_ #2 _map_inline_int } - \cs_gset:cpn - { - #2 _map_inline_ - \exp_not:N \int_use:N \exp_not:c { g_ #2 _map_inline_int } - :n - } - ####1 {##2} - \exp_not:N \exp_last_unbraced:NcV - \exp_not:c { #2 _map_function_aux:Nw } - { - #2 _map_inline_ - \exp_not:N \int_use:N \exp_not:c { g_ #2 _map_inline_int } - :n - } - ##1 \exp_not:n { #1 \q_recursion_tail #1 \q_recursion_stop } - \exp_not:N \int_gdecr:N \exp_not:c { g_ #2 _map_inline_int } - } - } - \cs_gset_protected:cpx { #2 _map_inline:nn } ##1##2 - { - \exp_not:N \tl_if_empty:nF {##1} - { - \exp_not:N \int_gincr:N \exp_not:c { g_ #2 _map_inline_int } - \cs_gset:cpn - { - #2 _map_inline_ - \exp_not:N \int_use:N \exp_not:c { g_ #2 _map_inline_int } - :n - } - ####1 {##2} - \exp_not:N \exp_args:Nc - \exp_not:c { #2 _map_function_aux:Nw } - { - #2 _map_inline_ - \exp_not:N \int_use:N \exp_not:c { g_ #2 _map_inline_int } - :n - } - ##1 \exp_not:n { #1 \q_recursion_tail #1 \q_recursion_stop } - \exp_not:N \int_gdecr:N \exp_not:c { g_ #2 _map_inline_int } - } - } - \cs_gset_eq:cN { #2 _map_break: } - \use_none_delimit_by_q_recursion_stop:w -} -%% -%% -%% End of file `l3prg.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3prop.sty b/Master/texmf-dist/tex/latex/expl3/l3prop.sty deleted file mode 100644 index f688dd0c651..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3prop.sty +++ /dev/null @@ -1,192 +0,0 @@ -%% -%% 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-2009 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3prop.dtx 2223 2011-04-09 12:57:14Z will $ - {L3 Experimental Property Lists} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\quark_new:N\q_prop -\cs_new_eq:NN \prop_new:N \toks_new:N -\cs_new_eq:NN \prop_new:c \toks_new:c -\cs_new_eq:NN \prop_clear:N \toks_clear:N -\cs_new_eq:NN \prop_clear:c \toks_clear:c -\cs_new_eq:NN \prop_gclear:N \toks_gclear:N -\cs_new_eq:NN \prop_gclear:c \toks_gclear:c -\cs_new_eq:NN \prop_set_eq:NN \toks_set_eq:NN -\cs_new_eq:NN \prop_set_eq:Nc \toks_set_eq:Nc -\cs_new_eq:NN \prop_set_eq:cN \toks_set_eq:cN -\cs_new_eq:NN \prop_set_eq:cc \toks_set_eq:cc -\cs_new_eq:NN \prop_gset_eq:NN \toks_gset_eq:NN -\cs_new_eq:NN \prop_gset_eq:Nc \toks_gset_eq:Nc -\cs_new_eq:NN \prop_gset_eq:cN \toks_gset_eq:cN -\cs_new_eq:NN \prop_gset_eq:cc \toks_gset_eq:cc -\cs_new_eq:NN \prop_show:N \toks_show:N -\cs_new_eq:NN \prop_show:c \toks_show:c -\cs_new_protected_nopar:Npn \prop_display:N #1 { - \iow_term:x { Property-list~\token_to_str:N #1~contains~ - the~pairs~(without~outer~braces): } - \toks_clear:N \l_tmpa_toks - \prop_map_inline:Nn #1 { - \toks_if_empty:NF \l_tmpa_toks { - \toks_put_right:Nx \l_tmpa_toks {^^J>~} - } - \toks_put_right:Nx \l_tmpa_toks { - \c_space_tl \iow_char:N \{ \exp_not:n {##1} \iow_char:N \} \c_space_tl - \c_space_tl => \c_space_tl - \c_space_tl \iow_char:N \{ \exp_not:n {##2} \iow_char:N \} - } - } - \toks_show:N \l_tmpa_toks -} -\cs_generate_variant:Nn \prop_display:N {c} -\cs_new_protected:Npn \prop_split_aux:Nnn #1#2#3{ - \cs_set:Npn \prop_tmp:w ##1 \q_prop #2 \q_prop ##2##3 \q_stop { - #3 {##1}{##2}{##3} - } - \exp_after:wN \prop_tmp:w \toks_use:N #1 \q_prop #2 \q_prop \q_no_value \q_stop -} -\cs_new_protected:Npn \prop_get:NnN #1#2 { - \prop_split_aux:Nnn #1{#2}\prop_get_aux:w -} -\cs_new_protected:Npn \prop_get_aux:w #1#2#3#4 { \tl_set:Nn #4 {#2} } -\cs_generate_variant:Nn \prop_get:NnN { NVN, cnN, cVN } -\cs_new_protected:Npn \prop_gget:NnN #1#2{ - \prop_split_aux:Nnn #1{#2}\prop_gget_aux:w} -\cs_new_protected:Npn \prop_gget_aux:w #1#2#3#4{\tl_gset:Nx#4{\exp_not:n{#2}}} -\cs_generate_variant:Nn \prop_gget:NnN { NVN, cnN, cVN } -\cs_new_protected:Npn \prop_get_gdel:NnN #1#2#3{ - \prop_split_aux:Nnn #1{#2}{\prop_get_del_aux:w #3{\toks_gset:Nn #1}{#2}}} -\cs_new_protected:Npn \prop_get_del_aux:w #1#2#3#4#5#6{ - \tl_set:Nn #1 {#5} - \quark_if_no_value:NF #1 { - \cs_set_nopar:Npn \prop_tmp:w ##1\q_prop#3\q_prop\q_no_value {#2{#4##1}} - \prop_tmp:w #6} -} -\cs_new_protected:Npn \prop_put:Nnn #1#2{ - \prop_split_aux:Nnn #1{#2}{ - \prop_clear:N #1 - \prop_put_aux:w {\toks_put_right:Nn #1}{#2} - } -} -\cs_new_protected:Npn \prop_gput:Nnn #1#2{ - \prop_split_aux:Nnn #1{#2}{ - \prop_gclear:N #1 - \prop_put_aux:w {\toks_gput_right:Nn #1}{#2} - } -} -\cs_new_protected:Npn \prop_put_aux:w #1#2#3#4#5#6{ - #1{\q_prop#2\q_prop{#6}#3} - \tl_if_empty:nF{#5} - { - \cs_set_nopar:Npn \prop_tmp:w ##1\q_prop#2\q_prop\q_no_value {#1{##1}} - \prop_tmp:w #5 - } -} -\cs_generate_variant:Nn \prop_put:Nnn { Nno , NnV, Nnx, NVn, NVV, cnn , cnx } -\cs_generate_variant:Nn \prop_gput:Nnn {NVn,NnV,Nno,Nnx,Nox,cnn,ccx} -\cs_new_protected:Npn \prop_del:Nn #1#2{ - \prop_split_aux:Nnn #1{#2}{\prop_del_aux:w {\toks_set:Nn #1}{#2}}} -\cs_new_protected:Npn \prop_gdel:Nn #1#2{ - \prop_split_aux:Nnn #1{#2}{\prop_del_aux:w {\toks_gset:Nn #1}{#2}}} -\cs_new_protected:Npn \prop_del_aux:w #1#2#3#4#5{ - \cs_set_nopar:Npn \prop_tmp:w {#4} - \quark_if_no_value:NF \prop_tmp:w { - \cs_set_nopar:Npn \prop_tmp:w ##1\q_prop#2\q_prop\q_no_value {#1{#3##1}} - \prop_tmp:w #5 - } -} -\cs_generate_variant:Nn \prop_del:Nn { NV } -\cs_generate_variant:Nn \prop_gdel:Nn { NV } -\cs_new_protected:Npn \prop_gput_if_new:Nnn #1#2{ - \prop_split_aux:Nnn #1{#2}{\prop_put_if_new_aux:w #1{#2}}} -\cs_new_protected:Npn \prop_put_if_new_aux:w #1#2#3#4#5#6{ - \tl_if_empty:nT {#5}{#1{\q_prop#2\q_prop{#6}#3}}} -\prg_new_eq_conditional:NNn \prop_if_empty:N \toks_if_empty:N {p,TF,T,F} -\prg_new_eq_conditional:NNn \prop_if_empty:c \toks_if_empty:c {p,TF,T,F} -\prg_new_eq_conditional:NNn \prop_if_eq:NN \toks_if_eq:NN {p,TF,T,F} -\prg_new_eq_conditional:NNn \prop_if_eq:cN \toks_if_eq:cN {p,TF,T,F} -\prg_new_eq_conditional:NNn \prop_if_eq:Nc \toks_if_eq:Nc {p,TF,T,F} -\prg_new_eq_conditional:NNn \prop_if_eq:cc \toks_if_eq:cc {p,TF,T,F} -\prg_new_protected_conditional:Nnn \prop_if_in:Nn {TF,T,F} { - \prop_split_aux:Nnn #1 {#2} {\prop_if_in_aux:w} -} -\cs_new_nopar:Npn \prop_if_in_aux:w #1#2#3 { - \quark_if_no_value:nTF {#2} {\prg_return_false:} {\prg_return_true:} -} -\cs_generate_variant:Nn \prop_if_in:NnTF {NV,No,cn,cc} -\cs_generate_variant:Nn \prop_if_in:NnT {NV,No,cn,cc} -\cs_generate_variant:Nn \prop_if_in:NnF {NV,No,cn,cc} -\cs_set_nopar:Npn \prop_map_function:NN #1#2 { - \exp_after:wN \prop_map_function_aux:w - \exp_after:wN #2 \toks_use:N #1 \q_prop \q_nil \q_prop \q_no_value \q_stop -} -\cs_set:Npn \prop_map_function_aux:w #1 \q_prop #2 \q_prop #3 { - \if_meaning:w \q_nil #2 - \exp_after:wN \prop_map_break: - \fi: - #1{#2}{#3} - \prop_map_function_aux:w #1 -} -\cs_generate_variant:Nn \prop_map_function:NN {c,Nc,cc} -\int_new:N \g_prop_inline_level_int -\cs_new_protected_nopar:Npn \prop_map_inline:Nn #1#2 { - \int_gincr:N \g_prop_inline_level_int - \cs_gset:cpn {prop_map_inline_ \int_use:N \g_prop_inline_level_int :n} - ##1##2{#2} - \prop_map_function:Nc #1 - {prop_map_inline_ \int_use:N \g_prop_inline_level_int :n} - \int_gdecr:N \g_prop_inline_level_int -} -\cs_generate_variant:Nn\prop_map_inline:Nn {cn} -\cs_new_eq:NN \prop_map_break: \use_none_delimit_by_q_stop:w -%% -%% -%% 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 deleted file mode 100644 index da25c0a0f3c..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3quark.sty +++ /dev/null @@ -1,144 +0,0 @@ -%% -%% 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-2009 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3quark.dtx 2234 2011-04-14 19:58:43Z joseph $ - {L3 Experimental Quark Commands} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\cs_new_protected_nopar:Npn \quark_new:N #1 { \tl_const: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 -\quark_new:N\q_recursion_tail -\quark_new:N\q_recursion_stop -\cs_new:Npn \quark_if_recursion_tail_stop:N #1 - { - \tex_ifx:D #1 \q_recursion_tail - \exp_after:wN \use_none_delimit_by_q_recursion_stop:w - \tex_fi:D - } -\cs_new:Npn \quark_if_recursion_tail_stop_do:Nn #1#2 - { - \tex_ifx:D #1 \q_recursion_tail - \exp_after:wN \use_i_delimit_by_q_recursion_stop:nw - \tex_else:D - \exp_after:wN \use_none:n - \tex_fi:D - {#2} - } -\cs_new:Npn \quark_if_recursion_tail_stop:n #1 - { - \tex_ifcat:D - A - \etex_detokenize:D \exp_after:wN - { - \quark_if_recursion_tail_aux:w #1 \q_recursion_stop - \q_recursion_tail \q_recursion_stop \q_stop - } - A - \exp_after:wN \use_none_delimit_by_q_recursion_stop:w - \tex_fi:D - } -\cs_new:Npn \quark_if_recursion_tail_stop_do:nn #1#2 - { - \tex_ifcat:D - A - \etex_detokenize:D \exp_after:wN - { - \quark_if_recursion_tail_aux:w #1 \q_recursion_stop - \q_recursion_tail \q_recursion_stop \q_stop - } - A - \exp_after:wN \use_i_delimit_by_q_recursion_stop:nw - \tex_else:D - \exp_after:wN \use_none:n - \tex_fi:D - {#2} - } -\cs_new:Npn \quark_if_recursion_tail_aux:w - #1 \q_recursion_tail #2 \q_recursion_stop #3 \q_stop - { #1 #2 } -\cs_generate_variant:Nn \quark_if_recursion_tail_stop:n { o } -\cs_generate_variant:Nn \quark_if_recursion_tail_stop_do:nn { o } -\prg_new_conditional:Nnn \quark_if_no_value:N {p,TF,T,F} { - \if_meaning:w \q_no_value #1 - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \quark_if_no_value:n {p,TF,T,F} { - \if_num:w \pdf_strcmp:D - {\exp_not:N \q_no_value} - {\exp_not:n{#1}} = \c_zero - \prg_return_true: \else: \prg_return_false: - \fi: -} -\prg_new_conditional:Nnn \quark_if_nil:N {p,TF,T,F} { - \if_meaning:w \q_nil #1 \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \quark_if_nil:n {p,TF,T,F} { - \if_num:w \pdf_strcmp:D - {\exp_not:N \q_nil} - {\exp_not:n{#1}} = \c_zero - \prg_return_true: \else: \prg_return_false: - \fi: -} -\cs_generate_variant:Nn \quark_if_nil_p:n {V} -\cs_generate_variant:Nn \quark_if_nil:nTF {V} -\cs_generate_variant:Nn \quark_if_nil:nT {V} -\cs_generate_variant:Nn \quark_if_nil:nF {V} -\cs_generate_variant:Nn \quark_if_nil_p:n {o} -\cs_generate_variant:Nn \quark_if_nil:nTF {o} -\cs_generate_variant:Nn \quark_if_nil:nT {o} -\cs_generate_variant:Nn \quark_if_nil:nF {o} -%% -%% -%% 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 deleted file mode 100644 index b43fdbae470..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3seq.sty +++ /dev/null @@ -1,378 +0,0 @@ -%% -%% 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-2011 by -%% The LaTeX3 Project <latex-team@latex-project.org> -%% -%% 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: l3seq.dtx 2245 2011-04-21 19:45:31Z joseph $ - {The LaTeX3 kernel: sequences and stacks} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\cs_new:Npn \seq_item:n - { - \seq_use_error: - \use_none:n - } -\tl_new:N \l_seq_tmpa_tl -\tl_new:N \l_seq_tmpb_tl -\cs_new_eq:NN \seq_new:N \tl_new:N -\cs_new_eq:NN \seq_new:c \tl_new:c -\cs_new_eq:NN \seq_clear:N \tl_clear:N -\cs_new_eq:NN \seq_clear:c \tl_clear:c -\cs_new_eq:NN \seq_gclear:N \tl_gclear:N -\cs_new_eq:NN \seq_gclear:c \tl_gclear:c -\cs_new_eq:NN \seq_clear_new:N \tl_clear_new:N -\cs_new_eq:NN \seq_clear_new:c \tl_clear_new:c -\cs_new_eq:NN \seq_gclear_new:N \tl_gclear_new:N -\cs_new_eq:NN \seq_gclear_new:c \tl_gclear_new:c -\cs_new_eq:NN \seq_set_eq:NN \tl_set_eq:NN -\cs_new_eq:NN \seq_set_eq:Nc \tl_set_eq:Nc -\cs_new_eq:NN \seq_set_eq:cN \tl_set_eq:cN -\cs_new_eq:NN \seq_set_eq:cc \tl_set_eq:cc -\cs_new_eq:NN \seq_gset_eq:NN \tl_gset_eq:NN -\cs_new_eq:NN \seq_gset_eq:Nc \tl_gset_eq:Nc -\cs_new_eq:NN \seq_gset_eq:cN \tl_gset_eq:cN -\cs_new_eq:NN \seq_gset_eq:cc \tl_gset_eq:cc -\cs_new_protected_nopar:Npn \seq_concat:NNN #1#2#3 - { \tl_set:Nx #1 { \exp_not:o {#2} \exp_not:o {#3} } } -\cs_new_protected_nopar:Npn \seq_gconcat:NNN #1#2#3 - { \tl_gset:Nx #1 { \exp_not:o {#2} \exp_not:o {#3} } } -\cs_generate_variant:Nn \seq_concat:NNN { ccc } -\cs_generate_variant:Nn \seq_gconcat:NNN { ccc } -\cs_new_protected:Npn \seq_put_left:Nn #1#2 - { \tl_put_left:Nn #1 { \seq_item:n {#2} } } -\cs_new_protected:Npn \seq_put_right:Nn #1#2 - { \tl_put_right:Nn #1 { \seq_item:n {#2} } } -\cs_generate_variant:Nn \seq_put_left:Nn { NV , Nv , No , Nx } -\cs_generate_variant:Nn \seq_put_left:Nn { c , cV , cv , co , cx } -\cs_generate_variant:Nn \seq_put_right:Nn { NV , Nv , No , Nx } -\cs_generate_variant:Nn \seq_put_right:Nn { c , cV , cv , co , cx } -\cs_new_protected:Npn \seq_gput_left:Nn #1#2 - { \tl_gput_left:Nn #1 { \seq_item:n {#2} } } -\cs_new_protected:Npn \seq_gput_right:Nn #1#2 - { \tl_gput_right:Nn #1 { \seq_item:n {#2} } } -\cs_generate_variant:Nn \seq_gput_left:Nn { NV , Nv , No , Nx } -\cs_generate_variant:Nn \seq_gput_left:Nn { c , cV , cv , co , cx } -\cs_generate_variant:Nn \seq_gput_right:Nn { NV , Nv , No , Nx } -\cs_generate_variant:Nn \seq_gput_right:Nn { c , cV , cv , co , cx } -\cs_new:Npn \seq_break: #1 \seq_break_point:n #2 {#2} -\cs_new:Npn \seq_break:n #1#2 \seq_break_point:n #3 { #3 #1 } -\cs_new_eq:NN \seq_map_break: \seq_break: -\cs_new_eq:NN \seq_map_break:n \seq_break:n -\cs_new_eq:NN \seq_break_point:n \use:n -\cs_new_protected_nopar:Npn \seq_if_empty_err_break:N #1 - { - \tex_ifx:D #1 \c_empty_tl - \msg_kernel_bug:x { Empty~sequence~\token_to_str:N #1 } - \exp_after:wN \seq_break: - \tex_fi:D - } -\cs_new:Npn \seq_map_function:NN #1#2 - { - \exp_after:wN \seq_map_function_aux:NNn \exp_after:wN #2 #1 - { ? \seq_map_break: } { } - \seq_break_point:n { } - } -\cs_new:Npn \seq_map_function_aux:NNn #1#2#3 - { - \use_none:n #2 - #1 {#3} - \seq_map_function_aux:NNn #1 - } -\cs_generate_variant:Nn \seq_map_function:NN { c } -\int_new:N \g_seq_nesting_depth_int -\cs_new_protected:Npn \seq_push_item_def:n - { - \seq_push_item_def_aux: - \cs_gset:Npn \seq_item:n ##1 - } -\cs_new_protected:Npn \seq_push_item_def:x - { - \seq_push_item_def_aux: - \cs_gset:Npx \seq_item:n ##1 - } -\cs_new_protected:Npn \seq_push_item_def_aux: - { - \cs_gset_eq:cN { seq_item_ \int_use:N \g_seq_nesting_depth_int :n } - \seq_item:n - \int_gincr:N \g_seq_nesting_depth_int - } -\cs_new_protected_nopar:Npn \seq_pop_item_def: - { - \int_gdecr:N \g_seq_nesting_depth_int - \cs_gset_eq:Nc \seq_item:n - { seq_item_ \int_use:N \g_seq_nesting_depth_int :n } - } -\cs_new_protected:Npn \seq_map_inline:Nn #1#2 - { - \seq_push_item_def:n {#2} - #1 - \seq_break_point:n { \seq_pop_item_def: } - } -\cs_generate_variant:Nn \seq_map_inline:Nn { c } -\cs_new_protected:Npn \seq_map_variable:NNn #1#2#3 - { - \seq_push_item_def:x - { - \tl_set:Nn \exp_not:N #2 {##1} - \exp_not:n {#3} - } - #1 - \seq_break_point:n { \seq_pop_item_def: } - } -\cs_generate_variant:Nn \seq_map_variable:NNn { Nc } -\cs_generate_variant:Nn \seq_map_variable:NNn { c , cc } -\cs_new_eq:NN \seq_push:Nn \seq_put_left:Nn -\cs_new_eq:NN \seq_push:NV \seq_put_left:NV -\cs_new_eq:NN \seq_push:Nv \seq_put_left:Nv -\cs_new_eq:NN \seq_push:No \seq_put_left:No -\cs_new_eq:NN \seq_push:Nx \seq_put_left:Nx -\cs_new_eq:NN \seq_push:cn \seq_put_left:cn -\cs_new_eq:NN \seq_push:cV \seq_put_left:cV -\cs_new_eq:NN \seq_push:cv \seq_put_left:cv -\cs_new_eq:NN \seq_push:co \seq_put_left:co -\cs_new_eq:NN \seq_push:cx \seq_put_left:cx -\cs_new_eq:NN \seq_gpush:Nn \seq_gput_left:Nn -\cs_new_eq:NN \seq_gpush:NV \seq_gput_left:NV -\cs_new_eq:NN \seq_gpush:Nv \seq_gput_left:Nv -\cs_new_eq:NN \seq_gpush:No \seq_gput_left:No -\cs_new_eq:NN \seq_gpush:Nx \seq_gput_left:Nx -\cs_new_eq:NN \seq_gpush:cn \seq_gput_left:cn -\cs_new_eq:NN \seq_gpush:cV \seq_gput_left:cV -\cs_new_eq:NN \seq_gpush:cv \seq_gput_left:cv -\cs_new_eq:NN \seq_gpush:co \seq_gput_left:co -\cs_new_eq:NN \seq_gpush:cx \seq_gput_left:cx -\cs_new_protected_nopar:Npn \seq_get_left:NN #1#2 - { - \seq_if_empty_err_break:N #1 - \exp_after:wN \seq_get_left_aux:Nw #1 \q_stop #2 - \seq_break_point:n { } - } -\cs_new_protected:Npn \seq_get_left_aux:Nw \seq_item:n #1#2 \q_stop #3 - { \tl_set:Nn #3 {#1} } -\cs_generate_variant:Nn \seq_get_left:NN { c } -\cs_new_protected_nopar:Npn \seq_pop_left:NN - { \seq_pop_left_aux:NNN \tl_set:Nn } -\cs_new_protected_nopar:Npn \seq_gpop_left:NN - { \seq_pop_left_aux:NNN \tl_gset:Nn } -\cs_new_protected_nopar:Npn \seq_pop_left_aux:NNN #1#2#3 - { - \seq_if_empty_err_break:N #2 - \exp_after:wN \seq_pop_left_aux:Nw #2 \q_stop #1#2#3 - \seq_break_point:n { } - } -\cs_new_protected:Npn \seq_pop_left_aux:Nw \seq_item:n #1#2 \q_stop #3#4#5 - { - #3 #4 {#2} - \tl_set:Nn #5 {#1} - } -\cs_generate_variant:Nn \seq_pop_left:NN { c } -\cs_generate_variant:Nn \seq_gpop_left:NN { c } -\cs_new_protected_nopar:Npn \seq_get_right:NN #1#2 - { - \seq_if_empty_err_break:N #1 - \seq_get_right_aux:NN #1#2 - \seq_break_point:n { } - } -\cs_new_protected_nopar:Npn \seq_get_right_aux:NN #1#2 - { - \seq_push_item_def:n { } - \exp_after:wN \exp_after:wN \exp_after:wN \seq_get_right_loop:nn - \exp_after:wN \use_none:n #1 - { \tl_set:Nn #2 } - { } - { - \seq_pop_item_def: - \seq_break: - } -} -\cs_new:Npn \seq_get_right_loop:nn #1#2 - { - #2 {#1} - \seq_get_right_loop:nn - } -\cs_generate_variant:Nn \seq_get_right:NN { c } -\cs_new_protected_nopar:Npn \seq_pop_right:NN - { \seq_pop_right_aux:NNN \tl_set:Nx } -\cs_new_protected_nopar:Npn \seq_gpop_right:NN - { \seq_pop_right_aux:NNN \tl_gset:Nx } -\cs_new_protected_nopar:Npn \seq_pop_right_aux:NNN #1#2#3 - { - \seq_if_empty_err_break:N #2 - \seq_pop_right_aux_ii:NNN #1 #2 #3 - \seq_break_point:n { } - } -\cs_new_protected_nopar:Npn \seq_pop_right_aux_ii:NNN #1#2#3 - { - \seq_push_item_def:n { \exp_not:n { \seq_item:n {##1} } } - #1 #2 { \tex_iffalse:D } \tex_fi:D - \exp_after:wN \exp_after:wN \exp_after:wN \seq_get_right_loop:nn - \exp_after:wN \use_none:n #2 - { - \tex_iffalse:D { \tex_fi:D } - \tl_set:Nn #3 - } - { } - { - \seq_pop_item_def: - \seq_break: - } - } -\cs_generate_variant:Nn \seq_pop_right:NN { c } -\cs_generate_variant:Nn \seq_gpop_right:NN { c } -\cs_new_eq:NN \seq_get:NN \seq_get_left:NN -\cs_new_eq:NN \seq_get:cN \seq_get_left:cN -\cs_new_eq:NN \seq_pop:NN \seq_pop_left:NN -\cs_new_eq:NN \seq_pop:cN \seq_pop_left:cN -\cs_new_eq:NN \seq_gpop:NN \seq_gpop_left:NN -\cs_new_eq:NN \seq_gpop:cN \seq_gpop_left:cN -\prg_new_eq_conditional:NNn \seq_if_empty:N \tl_if_empty:N - { p , T , F , TF } -\prg_new_eq_conditional:NNn \seq_if_empty:c \tl_if_empty:c - { p , T , F , TF } -\prg_new_protected_conditional:Npnn \seq_if_in:Nn #1#2 - { T , F , TF } - { - \group_begin: - \tl_set:Nn \l_seq_tmpa_tl {#2} - \cs_set_protected:Npn \seq_item:n ##1 - { - \tl_set:Nn \l_seq_tmpb_tl {##1} - \tex_ifx:D \l_seq_tmpa_tl \l_seq_tmpb_tl - \exp_after:wN \seq_if_in_aux: - \tex_fi:D - } - #1 - \seq_break:n { \prg_return_false: } - \seq_break_point:n { \group_end: } - } -\cs_new_nopar:Npn \seq_if_in_aux: { \seq_break:n { \prg_return_true: } } -\cs_generate_variant:Nn \seq_if_in:NnT { NV , Nv , No , Nx } -\cs_generate_variant:Nn \seq_if_in:NnT { c , cV , cv , co , cx } -\cs_generate_variant:Nn \seq_if_in:NnF { NV , Nv , No , Nx } -\cs_generate_variant:Nn \seq_if_in:NnF { c , cV , cv , co , cx } -\cs_generate_variant:Nn \seq_if_in:NnTF { NV , Nv , No , Nx } -\cs_generate_variant:Nn \seq_if_in:NnTF { c , cV , cv , co , cx } -\seq_new:N \l_seq_remove_seq -\cs_new_protected:Npn \seq_remove_duplicates:N - { \seq_remove_duplicates_aux:NN \seq_set_eq:NN } -\cs_new_protected:Npn \seq_gremove_duplicates:N - { \seq_remove_duplicates_aux:NN \seq_gset_eq:NN } -\cs_new_protected:Npn \seq_remove_duplicates_aux:NN #1#2 - { - \seq_clear:N \l_seq_remove_seq - \seq_map_inline:Nn #2 - { - \seq_if_in:NnF \l_seq_remove_seq {##1} - { \seq_put_right:Nn \l_seq_remove_seq {##1} } - } - #1 #2 \l_seq_remove_seq - } -\cs_generate_variant:Nn \seq_remove_duplicates:N { c } -\cs_generate_variant:Nn \seq_gremove_duplicates:N { c } -\cs_new_protected:Npn \seq_remove_all:Nn - { \seq_remove_all_aux:NNn \tl_set:Nx } -\cs_new_protected:Npn \seq_gremove_all:Nn - { \seq_remove_all_aux:NNn \tl_gset:Nx } -\cs_new_protected:Npn \seq_remove_all_aux:NNn #1#2#3 - { - \seq_push_item_def:n - { - \str_if_eq:nnT {##1} {#3} - { - \tex_iffalse:D { \tex_fi:D } - \tl_set:Nn \l_seq_tmpb_tl {##1} - #1 #2 - { \tex_iffalse:D } \tex_fi:D - \exp_not:o {#2} - \tl_if_eq:NNT \l_seq_tmpa_tl \l_seq_tmpb_tl - { \use_none:nn } - } - \exp_not:n { \seq_item:n {##1} } - } - \tl_set:Nn \l_seq_tmpa_tl {#3} - #1 #2 {#2} - \seq_pop_item_def: - } -\cs_generate_variant:Nn \seq_remove_all:Nn { c } -\cs_generate_variant:Nn \seq_gremove_all:Nn { c } -\tl_new:N \l_seq_show_tl -\cs_new_protected_nopar:Npn \seq_show:N #1 - { - \seq_if_empty:NTF #1 - { - \iow_term:x { Sequence~\token_to_str:N #1 \c_space_tl is~empty } - \tl_show:n { } - } - { - \iow_term:x - { - Sequence~\token_to_str:N #1 \c_space_tl - contains~the~items~(without~outer~braces): - } - \tl_set:Nx \l_seq_show_tl - { \seq_map_function:NN #1 \seq_show_aux:n } - \etex_showtokens:D \exp_after:wN \exp_after:wN \exp_after:wN - { \exp_after:wN \seq_show_aux:w \l_seq_show_tl } - } - } -\cs_new:Npn \seq_show_aux:n #1 - { - \iow_newline: > \c_space_tl \c_space_tl - \iow_char:N \{ \exp_not:n {#1} \iow_char:N \} - } -\cs_new:Npn \seq_show_aux:w #1 > ~ { } -\cs_generate_variant:Nn \seq_show:N { c } -\cs_new_eq:NN \seq_top:NN \seq_get_left:NN -\cs_new_eq:NN \seq_top:cN \seq_get_left:cN -\cs_new_eq:NN \seq_display:N \seq_show:N -\cs_new_eq:NN \seq_display:c \seq_show:c -%% -%% -%% End of file `l3seq.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3skip.sty b/Master/texmf-dist/tex/latex/expl3/l3skip.sty deleted file mode 100644 index 9dae6498cc0..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3skip.sty +++ /dev/null @@ -1,270 +0,0 @@ -%% -%% This is file `l3skip.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3skip.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: l3skip.dtx Copyright (C) 2005-2011 Frank Mittelbach, 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3skip.dtx 2149 2011-02-15 20:50:02Z mittelba $ - {L3 Experimental skip registers} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\cs_new_protected_nopar:Npn \skip_new:N #1 { - \chk_if_free_cs:N #1 - \newskip #1 -} -\cs_generate_variant:Nn \skip_new:N {c} -\cs_new_protected_nopar:Npn \skip_set:Nn #1#2 { - #1 \etex_glueexpr:D #2 \scan_stop: -} -\cs_new_protected_nopar:Npn \skip_gset:Nn { - \pref_global:D - \skip_set:Nn -} -\cs_generate_variant:Nn \skip_set:Nn {cn} -\cs_generate_variant:Nn \skip_gset:Nn {cn} -\cs_new_protected_nopar:Npn \skip_zero:N #1{ - #1\c_zero_skip \scan_stop: -} -\cs_new_protected_nopar:Npn \skip_gzero:N { - \pref_global:D - \skip_zero:N -} -\cs_generate_variant:Nn \skip_zero:N {c} -\cs_generate_variant:Nn \skip_gzero:N {c} -\cs_new_protected_nopar:Npn \skip_add:Nn #1#2 { - \tex_advance:D#1 by \etex_glueexpr:D #2 \scan_stop: -} -\cs_generate_variant:Nn \skip_add:Nn {cn} -\cs_new_protected_nopar:Npn \skip_sub:Nn #1#2{ - \tex_advance:D #1 -\etex_glueexpr:D #2 \scan_stop: -} -\cs_new_protected_nopar:Npn \skip_gadd:Nn { - \pref_global:D - \skip_add:Nn -} -\cs_generate_variant:Nn \skip_gadd:Nn {cn} -\cs_new_nopar:Npn \skip_gsub:Nn { - \pref_global:D - \skip_sub:Nn -} -\cs_new_eq:NN \skip_horizontal:N \tex_hskip:D -\cs_generate_variant:Nn \skip_horizontal:N {c} -\cs_new_nopar:Npn \skip_horizontal:n #1 { - \skip_horizontal:N \etex_glueexpr:D #1 \scan_stop: -} -\cs_new_eq:NN \skip_vertical:N \tex_vskip:D -\cs_generate_variant:Nn \skip_vertical:N {c} -\cs_new_nopar:Npn \skip_vertical:n #1 { - \skip_vertical:N \etex_glueexpr:D #1 \scan_stop: -} -\cs_new_eq:NN \skip_use:N \tex_the:D -\cs_generate_variant:Nn \skip_use:N {c} -\cs_new_eq:NN \skip_show:N \kernel_register_show:N -\cs_generate_variant:Nn \skip_show:N {c} -\cs_new_nopar:Npn \skip_eval:n #1 { - \tex_the:D \etex_glueexpr:D #1 \scan_stop: -} -%%\chk_if_free_cs:N \l_tmpa_skip -%%\tex_skipdef:D\l_tmpa_skip 255 %currently taken up by \skip@ -\skip_new:N \l_tmpa_skip -\skip_new:N \l_tmpb_skip -\skip_new:N \l_tmpc_skip -\skip_new:N \g_tmpa_skip -\skip_new:N \g_tmpb_skip -\cs_set_eq:NN \c_zero_skip \z@ -\cs_set_eq:NN \c_max_skip \maxdimen -\prg_new_conditional:Nnn \skip_if_infinite_glue:n {p,TF,T,F} { - \bool_if:nTF { - \int_compare_p:nNn {\etex_gluestretchorder:D #1 } > \c_zero || - \int_compare_p:nNn {\etex_glueshrinkorder:D #1 } > \c_zero - } {\prg_return_true:} {\prg_return_false:} -} -\cs_new_nopar:Npn \skip_split_finite_else_action:nnNN #1#2#3#4{ - \skip_if_infinite_glue:nTF {#1} - { - #3 = \c_zero_skip - #4 = \c_zero_skip - #2 - } - { - #3 = \etex_gluestretch:D #1 \scan_stop: - #4 = \etex_glueshrink:D #1 \scan_stop: - } -} -\cs_new_protected_nopar:Npn \dim_new:N #1 { - \chk_if_free_cs:N #1 - \newdimen #1 -} -\cs_generate_variant:Nn \dim_new:N {c} -\cs_new_protected_nopar:Npn \dim_set:Nn #1#2 { - #1~ \etex_dimexpr:D #2 \scan_stop: -} -\cs_generate_variant:Nn \dim_set:Nn {cn,Nc} -\cs_new_protected_nopar:Npn \dim_gset:Nn { \pref_global:D \dim_set:Nn } -\cs_generate_variant:Nn \dim_gset:Nn {cn,Nc,cc} -\cs_new_protected_nopar:Npn \dim_set_max:Nn #1#2 { - \dim_compare:nNnT {#1} < {#2} { \dim_set:Nn #1 {#2} } -} -\cs_generate_variant:Nn \dim_set_max:Nn { c } -\cs_new_protected_nopar:Npn \dim_set_min:Nn #1#2 { - \dim_compare:nNnT {#1} > {#2} { \dim_set:Nn #1 {#2} } -} -\cs_generate_variant:Nn \dim_set_min:Nn { c } -\cs_new_protected_nopar:Npn \dim_gset_max:Nn #1#2 { - \dim_compare:nNnT {#1} < {#2} { \dim_gset:Nn #1 {#2} } -} -\cs_generate_variant:Nn \dim_gset_max:Nn { c } -\cs_new_protected_nopar:Npn \dim_gset_min:Nn #1#2 { - \dim_compare:nNnT {#1} > {#2} { \dim_gset:Nn #1 {#2} } -} -\cs_generate_variant:Nn \dim_gset_min:Nn { c } -\cs_new_protected_nopar:Npn \dim_zero:N #1 { #1\c_zero_skip } -\cs_generate_variant:Nn \dim_zero:N {c} -\cs_new_protected_nopar:Npn \dim_gzero:N { \pref_global:D \dim_zero:N } -\cs_generate_variant:Nn \dim_gzero:N {c} -\cs_new_protected_nopar:Npn \dim_add:Nn #1#2{ - \tex_advance:D#1 by \etex_dimexpr:D #2 \scan_stop: -} -\cs_generate_variant:Nn \dim_add:Nn {cn,Nc} -\cs_new_protected_nopar:Npn \dim_gadd:Nn { \pref_global:D \dim_add:Nn } -\cs_generate_variant:Nn \dim_gadd:Nn {cn} -\cs_new_protected_nopar:Npn \dim_sub:Nn #1#2 { \tex_advance:D#1-#2\scan_stop: } -\cs_generate_variant:Nn \dim_sub:Nn {cn,Nc} -\cs_new_protected_nopar:Npn \dim_gsub:Nn { \pref_global:D \dim_sub:Nn } -\cs_generate_variant:Nn \dim_gsub:Nn {cn} -\cs_new_eq:NN \dim_use:N \tex_the:D -\cs_generate_variant:Nn \dim_use:N {c} -\cs_new_eq:NN \dim_show:N \kernel_register_show:N -\cs_generate_variant:Nn \dim_show:N {c} -\dim_new:N \l_tmpa_dim -\dim_new:N \l_tmpb_dim -\dim_new:N \l_tmpc_dim -\dim_new:N \l_tmpd_dim -\dim_new:N \g_tmpa_dim -\dim_new:N \g_tmpb_dim -\cs_new_eq:NN \c_zero_dim \c_zero_skip -\cs_new_eq:NN \c_max_dim \c_max_skip -\cs_new_nopar:Npn \dim_eval:n #1 { - \tex_the:D \etex_dimexpr:D #1 \scan_stop: -} -\cs_new_eq:NN \if_dim:w \tex_ifdim:D -\cs_set_eq:NN \dim_value:w \tex_number:D -\cs_set_eq:NN \dim_eval:w \etex_dimexpr:D -\cs_set_protected:Npn \dim_eval_end: {\tex_relax:D} -\prg_new_conditional:Nnn \dim_compare:nNn {p,TF,T,F} { - \if_dim:w \etex_dimexpr:D #1 #2 \etex_dimexpr:D #3 \scan_stop: - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Npnn \dim_compare:n #1 {p,TF,T,F} { - \exp_after:wN \dim_compare_auxi:w \dim_value:w - \dim_eval:w #1 \q_stop -} -\cs_new:Npn \dim_compare_auxi:w #1#2 \q_stop { - \exp_after:wN \dim_compare_auxii:w \tex_romannumeral:D - \if:w #1- \else: -\fi: #1#2 \q_mark #1#2 \q_stop -} -\cs_new:Npn \dim_compare_auxii:w #1#2#3\q_mark{ - \use:c{ - dim_compare_ #1 \if_meaning:w =#2 = \fi: - :w} -} -\cs_new:cpn {dim_compare_=:w} #1 = #2 \q_stop { - \if_dim:w #1 sp = \dim_eval:w #2 \dim_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_new:cpn {dim_compare_==:w} #1 == #2 \q_stop { - \if_dim:w #1 sp = \dim_eval:w #2 \dim_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_new:cpn {dim_compare_!=:w} #1 != #2 \q_stop { - \if_dim:w #1 sp = \dim_eval:w #2 \dim_eval_end: - \prg_return_false: \else: \prg_return_true: \fi: -} -\cs_new:cpn {dim_compare_<:w} #1 < #2 \q_stop { - \if_dim:w #1 sp < \dim_eval:w #2 \dim_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_new:cpn {dim_compare_>:w} #1 > #2 \q_stop { - \if_dim:w #1 sp > \dim_eval:w #2 \dim_eval_end: - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_new:cpn {dim_compare_<=:w} #1 <= #2 \q_stop { - \if_dim:w #1 sp > \dim_eval:w #2 \dim_eval_end: - \prg_return_false: \else: \prg_return_true: \fi: -} -\cs_new:cpn {dim_compare_>=:w} #1 >= #2 \q_stop { - \if_dim:w #1 sp < \dim_eval:w #2 \dim_eval_end: - \prg_return_false: \else: \prg_return_true: \fi: -} -\cs_new_nopar:Npn \dim_while_do:nNnn #1#2#3#4{ - \dim_compare:nNnT {#1}#2{#3}{#4 \dim_while_do:nNnn {#1}#2{#3}{#4}} -} -\cs_new_nopar:Npn \dim_until_do:nNnn #1#2#3#4{ - \dim_compare:nNnF {#1}#2{#3}{#4 \dim_until_do:nNnn {#1}#2{#3}{#4}} -} -\cs_new_nopar:Npn \dim_do_while:nNnn #1#2#3#4{ - #4 \dim_compare:nNnT {#1}#2{#3}{\dim_do_while:nNnn {#1}#2{#3}{#4}} -} -\cs_new_nopar:Npn \dim_do_until:nNnn #1#2#3#4{ - #4 \dim_compare:nNnF {#1}#2{#3}{\dim_do_until:nNnn {#1}#2{#3}{#4}} -} -\cs_new_protected_nopar:Npn \muskip_new:N #1 { - \chk_if_free_cs:N #1 - \newmuskip #1 -} -\cs_new_protected_nopar:Npn \muskip_set:Nn#1#2{#1\etex_muexpr:D#2\scan_stop:} -\cs_new_protected_nopar:Npn \muskip_gset:Nn{\pref_global:D\muskip_set:Nn} -\cs_new_protected_nopar:Npn \muskip_add:Nn#1#2{\tex_advance:D#1\etex_muexpr:D#2\scan_stop:} -\cs_new_protected_nopar:Npn \muskip_gadd:Nn{\pref_global:D\muskip_add:Nn} -\cs_new_protected_nopar:Npn \muskip_sub:Nn#1#2{\tex_advance:D#1-\etex_muexpr:D#2\scan_stop:} -\cs_new_protected_nopar:Npn \muskip_gsub:Nn{\pref_global:D\muskip_sub:Nn} -\cs_new_eq:NN \muskip_use:N \tex_the:D -\cs_new_eq:NN \muskip_show:N \kernel_register_show:N -%% -%% -%% End of file `l3skip.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3tl.sty b/Master/texmf-dist/tex/latex/expl3/l3tl.sty deleted file mode 100644 index 29bba61d462..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3tl.sty +++ /dev/null @@ -1,558 +0,0 @@ -%% -%% This is file `l3tl.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3tl.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: l3tl.dtx Copyright (C) 1990-2010 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3tl.dtx 2223 2011-04-09 12:57:14Z will $ - {L3 Experimental Token Lists} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\cs_new_protected:Npn \tl_new:Nn #1#2{ - \chk_if_free_cs:N #1 - \tl_gset:Nn #1 {#2} -} -\cs_generate_variant:Nn \tl_new:Nn {cn} -\cs_new_protected:Npn \tl_new:Nx #1#2{ - \chk_if_free_cs:N #1 - \tl_gset:Nx #1 {#2} -} -\cs_new_protected_nopar:Npn \tl_new:N #1{\tl_new:Nn #1{}} -\cs_new_protected_nopar:Npn \tl_new:c #1{\tl_new:cn {#1}{}} -\cs_new_protected:Npn \tl_const:Nn #1#2 { - \tl_new:N #1 - \tl_gset:Nn #1 {#2} -} -\cs_new_nopar:Npn \tl_use:N #1 { - \if_meaning:w #1 \tex_relax:D - \msg_kernel_bug:x {Token~list~variable~ `\token_to_str:N #1'~ - has~ an~ erroneous~ structure!} - \else: - \exp_after:wN #1 - \fi: -} -\cs_generate_variant:Nn \tl_use:N {c} -\cs_new_nopar:Npn \tl_show:N #1 { \cs_show:N #1 } -\cs_generate_variant:Nn \tl_show:N {c} -\cs_set_eq:NN \tl_show:n \etex_showtokens:D -\cs_new_protected:Npn \tl_set:Nn #1#2 { - \cs_set_nopar:Npx #1 { \exp_not:n {#2} } -} -\cs_new_protected:Npn \tl_set:Nx #1#2 { - \cs_set_nopar:Npx #1 {#2} -} -\cs_new_protected:Npn \tl_gset:Nn #1#2 { - \cs_gset_nopar:Npx #1 { \exp_not:n {#2} } -} -\cs_new_protected:Npn \tl_gset:Nx #1#2 { - \cs_gset_nopar:Npx #1 {#2} -} -\cs_generate_variant:Nn \tl_set:Nn { NV } -\cs_generate_variant:Nn \tl_set:Nn { Nv } -\cs_generate_variant:Nn \tl_set:Nn { No } -\cs_generate_variant:Nn \tl_set:Nn { Nf } -\cs_generate_variant:Nn \tl_set:Nn { cV } -\cs_generate_variant:Nn \tl_set:Nn { c } -\cs_generate_variant:Nn \tl_set:Nn { cv } -\cs_generate_variant:Nn \tl_set:Nn { co } -\cs_generate_variant:Nn \tl_set:Nx { c } -\cs_generate_variant:Nn \tl_gset:Nn { NV } -\cs_generate_variant:Nn \tl_gset:Nn { Nv } -\cs_generate_variant:Nn \tl_gset:Nn { No } -\cs_generate_variant:Nn \tl_gset:Nn { Nf } -\cs_generate_variant:Nn \tl_gset:Nn { c } -\cs_generate_variant:Nn \tl_gset:Nn { cV } -\cs_generate_variant:Nn \tl_gset:Nn { cv } -\cs_generate_variant:Nn \tl_gset:Nx { c } -\cs_new_eq:NN \tl_set_eq:NN \cs_set_eq:NN -\cs_new_eq:NN \tl_gset_eq:NN \cs_gset_eq:NN -\cs_generate_variant:Nn \tl_set_eq:NN {Nc,c,cc} -\cs_generate_variant:Nn \tl_gset_eq:NN {Nc,c,cc} -\cs_new_protected_nopar:Npn \tl_clear:N #1{\tl_set_eq:NN #1\c_empty_tl} -\cs_generate_variant:Nn \tl_clear:N {c} -\cs_new_protected_nopar:Npn \tl_gclear:N #1{\tl_gset_eq:NN #1\c_empty_tl} -\cs_generate_variant:Nn \tl_gclear:N {c} -\cs_new_eq:NN \tl_clear_new:N \tl_clear:N -\cs_generate_variant:Nn \tl_clear_new:N {c} -\cs_new_eq:NN \tl_gclear_new:N \tl_gclear:N -\cs_generate_variant:Nn \tl_gclear_new:N {c} -\cs_new_protected:Npn \tl_put_right:Nn #1#2 { - \cs_set_nopar:Npx #1 { \exp_not:o #1 \exp_not:n {#2} } -} -\cs_new_protected:Npn \tl_put_right:NV #1#2 { - \cs_set_nopar:Npx #1 { \exp_not:o #1 \exp_not:V #2 } -} -\cs_new_protected:Npn \tl_put_right:Nv #1#2 { - \cs_set_nopar:Npx #1 { \exp_not:o #1 \exp_not:v {#2} } -} -\cs_new_protected:Npn \tl_put_right:Nx #1#2 { - \cs_set_nopar:Npx #1 { \exp_not:o #1 #2 } -} -\cs_new_protected:Npn \tl_put_right:No #1#2 { - \cs_set_nopar:Npx #1 { \exp_not:o #1 \exp_not:o {#2} } -} -\cs_new_protected:Npn \tl_gput_right:Nn #1#2 { - \cs_gset_nopar:Npx #1 { \exp_not:o #1 \exp_not:n {#2} } -} -\cs_new_protected:Npn \tl_gput_right:NV #1#2 { - \cs_gset_nopar:Npx #1 { \exp_not:o #1 \exp_not:V #2 } -} -\cs_new_protected:Npn \tl_gput_right:Nv #1#2 { - \cs_gset_nopar:Npx #1 { \exp_not:o #1 \exp_not:v {#2} } -} -\cs_new_protected:Npn \tl_gput_right:No #1#2 { - \cs_gset_nopar:Npx #1 { \exp_not:o #1 \exp_not:o {#2} } -} -\cs_new_protected:Npn \tl_gput_right:Nx #1#2 { - \cs_gset_nopar:Npx #1 { \exp_not:o #1 #2 } -} -\cs_generate_variant:Nn \tl_put_right:Nn { c } -\cs_generate_variant:Nn \tl_put_right:NV { c } -\cs_generate_variant:Nn \tl_put_right:Nv { c } -\cs_generate_variant:Nn \tl_put_right:Nx { c } -\cs_generate_variant:Nn \tl_gput_right:Nn { c } -\cs_generate_variant:Nn \tl_gput_right:NV { c } -\cs_generate_variant:Nn \tl_gput_right:Nv { c } -\cs_generate_variant:Nn \tl_gput_right:No { c } -\cs_generate_variant:Nn \tl_gput_right:Nx { c } -\cs_new_protected:Npn \tl_put_left:Nn #1#2 { - \cs_set_nopar:Npx #1 { \exp_not:n {#2} \exp_not:o #1 } -} -\cs_new_protected:Npn \tl_put_left:NV #1#2 { - \cs_set_nopar:Npx #1 { \exp_not:V #2 \exp_not:o #1 } -} -\cs_new_protected:Npn \tl_put_left:Nv #1#2 { - \cs_set_nopar:Npx #1 { \exp_not:v {#2} \exp_not:o #1 } -} -\cs_new_protected:Npn \tl_put_left:Nx #1#2 { - \cs_set_nopar:Npx #1 { #2 \exp_not:o #1 } -} -\cs_new_protected:Npn \tl_put_left:No #1#2 { - \cs_set_nopar:Npx #1 { \exp_not:o {#2} \exp_not:o #1 } -} -\cs_new_protected:Npn \tl_gput_left:Nn #1#2 { - \cs_gset_nopar:Npx #1 { \exp_not:n {#2} \exp_not:o #1 } -} -\cs_new_protected:Npn \tl_gput_left:NV #1#2 { - \cs_gset_nopar:Npx #1 { \exp_not:V #2 \exp_not:o #1 } -} -\cs_new_protected:Npn \tl_gput_left:Nv #1#2 { - \cs_gset_nopar:Npx #1 { \exp_not:v {#2} \exp_not:o #1 } -} -\cs_new_protected:Npn \tl_gput_left:No #1#2 { - \cs_gset_nopar:Npx #1 { \exp_not:o {#2} \exp_not:o #1 } -} -\cs_new_protected:Npn \tl_gput_left:Nx #1#2 { - \cs_gset_nopar:Npx #1 { #2 \exp_not:o #1 } -} -\cs_generate_variant:Nn \tl_put_left:Nn { c } -\cs_generate_variant:Nn \tl_put_left:NV { c } -\cs_generate_variant:Nn \tl_put_left:Nv { c } -\cs_generate_variant:Nn \tl_put_left:Nx { c } -\cs_generate_variant:Nn \tl_gput_left:Nn { c } -\cs_generate_variant:Nn \tl_gput_left:NV { c } -\cs_generate_variant:Nn \tl_gput_left:Nv { c } -\cs_generate_variant:Nn \tl_gput_left:Nx { c } -\cs_new_protected_nopar:Npn \tl_gset:Nc { - \pref_global:D - \tl_set:Nc} -\cs_new_protected_nopar:Npn \tl_set:Nc #1#2{\tl_set:No #1{\cs:w#2\cs_end:}} -\tl_new:N \c_job_name_tl -\tl_set:Nx \c_job_name_tl { \tex_jobname:D } -\tl_const:Nn \c_empty_tl { } -\tl_const:Nn \c_space_tl { ~ } -\tl_new:N \g_tmpa_tl -\tl_new:N \g_tmpb_tl -\tl_new:N \l_kernel_testa_tl -\tl_new:N \l_kernel_testb_tl -\tl_new:N \l_tmpa_tl -\tl_new:N \l_tmpb_tl -\tl_new:N \l_kernel_tmpa_tl -\tl_new:N \l_kernel_tmpb_tl -\prg_set_conditional:Npnn \tl_if_empty:N #1 {p,TF,T,F} { - \if_meaning:w #1 \c_empty_tl - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_generate_variant:Nn \tl_if_empty_p:N {c} -\cs_generate_variant:Nn \tl_if_empty:NTF {c} -\cs_generate_variant:Nn \tl_if_empty:NT {c} -\cs_generate_variant:Nn \tl_if_empty:NF {c} -\prg_new_conditional:Npnn \tl_if_eq:NN #1#2 {p,TF,T,F} { - \if_meaning:w #1 #2 \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_generate_variant:Nn \tl_if_eq_p:NN {Nc,c,cc} -\cs_generate_variant:Nn \tl_if_eq:NNTF {Nc,c,cc} -\cs_generate_variant:Nn \tl_if_eq:NNT {Nc,c,cc} -\cs_generate_variant:Nn \tl_if_eq:NNF {Nc,c,cc} -\prg_new_protected_conditional:Npnn \tl_if_eq:nn #1#2 { T , F , TF } { - \group_begin: - \tl_set:Nn \l_tl_tmpa_tl {#1} - \tl_set:Nn \l_tl_tmpb_tl {#2} - \tex_ifx:D \l_tl_tmpa_tl \l_tl_tmpb_tl - \group_end: - \prg_return_true: - \tex_else:D - \group_end: - \prg_return_false: - \tex_fi:D -} -\tl_new:N \l_tl_tmpa_tl -\tl_new:N \l_tl_tmpb_tl -\prg_new_conditional:Npnn \tl_if_empty:n #1 {p,TF,T,F} { - \exp_after:wN \if_meaning:w \exp_after:wN \q_nil \tl_to_str:n {#1} \q_nil - \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_generate_variant:Nn \tl_if_empty_p:n {V} -\cs_generate_variant:Nn \tl_if_empty:nTF {V} -\cs_generate_variant:Nn \tl_if_empty:nT {V} -\cs_generate_variant:Nn \tl_if_empty:nF {V} -\cs_generate_variant:Nn \tl_if_empty_p:n {o} -\cs_generate_variant:Nn \tl_if_empty:nTF {o} -\cs_generate_variant:Nn \tl_if_empty:nT {o} -\cs_generate_variant:Nn \tl_if_empty:nF {o} -\prg_new_conditional:Npnn \tl_if_blank:n #1 {p,TF,T,F} { - \exp_after:wN \tl_if_blank_p_aux:w \tl_to_str:n {#1} aa..\q_stop -} -\cs_new:Npn \tl_if_blank_p_aux:w #1#2 a #3#4 \q_stop { - \if_meaning:w #3 #4 \prg_return_true: \else: \prg_return_false: \fi: -} -\cs_generate_variant:Nn \tl_if_blank_p:n {V} -\cs_generate_variant:Nn \tl_if_blank:nTF {V} -\cs_generate_variant:Nn \tl_if_blank:nT {V} -\cs_generate_variant:Nn \tl_if_blank:nF {V} -\cs_generate_variant:Nn \tl_if_blank_p:n {o} -\cs_generate_variant:Nn \tl_if_blank:nTF {o} -\cs_generate_variant:Nn \tl_if_blank:nT {o} -\cs_generate_variant:Nn \tl_if_blank:nF {o} -\prg_new_conditional:Nnn \tl_if_single:n {p,TF,T,F} { - \tl_if_empty:nTF {#1} - {\prg_return_false:} - { - \tl_if_blank:nTF {#1} - {\prg_return_true:} - { - \_tl_if_single_aux:w #1 \q_stop - } - } -} -\prg_new_conditional:Nnn \tl_if_single:N {p,TF,T,F} { - \tl_if_empty:NTF #1 - { \prg_return_false: } - { - \tl_if_blank:oTF {#1} - { \prg_return_true: } - { \exp_after:wN \_tl_if_single_aux:w #1 \q_stop } - } -} -\cs_new:Npn \_tl_if_single_aux:w #1#2 \q_stop { - \tl_if_empty:nTF {#2} \prg_return_true: \prg_return_false: -} -\cs_new_eq:NN \tl_to_lowercase:n \tex_lowercase:D -\cs_new_eq:NN \tl_to_uppercase:n \tex_uppercase:D -\cs_new_eq:NN \tl_to_str:n \etex_detokenize:D -\cs_new_nopar:Npn \tl_to_str:N {\exp_after:wN\tl_to_str_aux:w - \token_to_meaning:N} -\cs_new_nopar:Npn \tl_to_str_aux:w #1>{} -\cs_generate_variant:Nn \tl_to_str:N {c} -\cs_new:Npn \tl_map_function:nN #1#2{ - \tl_map_function_aux:Nn #2 #1 \q_recursion_tail \q_recursion_stop -} -\cs_new_nopar:Npn \tl_map_function:NN #1#2{ - \exp_after:wN \tl_map_function_aux:Nn - \exp_after:wN #2 #1 \q_recursion_tail \q_recursion_stop -} -\cs_new:Npn \tl_map_function_aux:Nn #1#2{ - \quark_if_recursion_tail_stop:n{#2} - #1{#2} \tl_map_function_aux:Nn #1 -} -\cs_generate_variant:Nn \tl_map_function:NN {cN} -\cs_new_protected:Npn \tl_map_inline:nn #1#2{ - \int_gincr:N \g_tl_inline_level_int - \cs_gset:cpn {tl_map_inline_ \int_use:N \g_tl_inline_level_int :n} - ##1{#2} - \exp_args:Nc \tl_map_function_aux:Nn - {tl_map_inline_ \int_use:N \g_tl_inline_level_int :n} - #1 \q_recursion_tail\q_recursion_stop - \int_gdecr:N \g_tl_inline_level_int -} -\cs_new_protected:Npn \tl_map_inline:Nn #1#2{ - \int_gincr:N \g_tl_inline_level_int - \cs_gset:cpn {tl_map_inline_ \int_use:N \g_tl_inline_level_int :n} - ##1{#2} - \exp_last_unbraced:NcV \tl_map_function_aux:Nn - {tl_map_inline_ \int_use:N \g_tl_inline_level_int :n} - #1 \q_recursion_tail\q_recursion_stop - \int_gdecr:N \g_tl_inline_level_int -} -\cs_generate_variant:Nn \tl_map_inline:Nn {c} -\cs_new_protected:Npn \tl_map_variable:nNn #1#2#3{ - \tl_map_variable_aux:Nnn #2 {#3} #1 \q_recursion_tail \q_recursion_stop -} -\cs_new_protected_nopar:Npn \tl_map_variable:NNn {\exp_args:No \tl_map_variable:nNn} -\cs_generate_variant:Nn \tl_map_variable:NNn {c} -\cs_new_protected:Npn \tl_map_variable_aux:Nnn #1#2#3{ - \tl_set:Nn #1{#3} - \quark_if_recursion_tail_stop:N #1 - #2 \tl_map_variable_aux:Nnn #1{#2} -} -\cs_new_eq:NN \tl_map_break: \use_none_delimit_by_q_recursion_stop:w -\cs_new:Npn \tl_reverse:n #1{ - \tl_reverse_aux:nN {} #1 \q_recursion_tail\q_recursion_stop -} -\cs_new:Npn \tl_reverse_aux:nN #1#2{ - \quark_if_recursion_tail_stop_do:nn {#2}{ #1 } - \tl_reverse_aux:nN {#2#1} -} -\cs_generate_variant:Nn \tl_reverse:n {V,o} -\cs_new_protected_nopar:Npn \tl_reverse:N #1 { - \tl_set:Nf #1 { \tl_reverse:o { #1 \exp_stop_f: } } -} -\cs_new:Npn \tl_elt_count:n #1{ - \int_eval:n { - 0 \tl_map_function:nN {#1} \tl_elt_count_aux:n - } -} -\cs_generate_variant:Nn \tl_elt_count:n {V,o} -\cs_new_nopar:Npn \tl_elt_count:N #1{ - \int_eval:n { - 0 \tl_map_function:NN #1 \tl_elt_count_aux:n - } -} -\cs_new:Npn \tl_elt_count_aux:n #1 { + 1 } -\cs_new_protected:Npn \tl_set_rescan:Nnn { \tl_set_rescan_aux:NNnn \tl_set:Nn } -\cs_new_protected:Npn \tl_gset_rescan:Nnn { \tl_set_rescan_aux:NNnn \tl_gset:Nn } -\cs_generate_variant:Nn \tl_set_rescan:Nnn { Nno } -\cs_generate_variant:Nn \tl_gset_rescan:Nnn { Nno } -\group_begin: - \tex_lccode:D `\A = `\@ \scan_stop: - \tex_lccode:D `\B = `\@ \scan_stop: - \tex_catcode:D `\A = 8 \scan_stop: - \tex_catcode:D `\B = 3 \scan_stop: -\tl_to_lowercase:n { - \group_end: - \tl_const:Nn \c_two_ats_with_two_catcodes_tl { A B } -} -\cs_new_protected:Npn \tl_set_rescan_aux:NNnn #1#2#3#4 { - \group_begin: - \toks_set:NV \etex_everyeof:D \c_two_ats_with_two_catcodes_tl - \tex_endlinechar:D = \c_minus_one - #3 - \exp_after:wN \tl_rescan_aux:w \etex_scantokens:D {#4} - \exp_args:NNNV - \group_end: - #1 #2 \l_tmpa_tl -} -\exp_after:wN \cs_set:Npn -\exp_after:wN \tl_rescan_aux:w -\exp_after:wN # -\exp_after:wN 1 \c_two_ats_with_two_catcodes_tl { - \tl_set:Nn \l_tmpa_tl {#1} -} -\cs_new_protected:Npn \tl_set_rescan:Nnx #1#2#3 { - \group_begin: - \etex_everyeof:D { \exp_not:N } - \tex_endlinechar:D = \c_minus_one - #2 - \tl_set:Nx \l_kernel_tmpa_tl { \etex_scantokens:D {#3} } - \exp_args:NNNV - \group_end: - \tl_set:Nn #1 \l_kernel_tmpa_tl -} -\cs_new_protected:Npn \tl_gset_rescan:Nnx #1#2#3 { - \group_begin: - \etex_everyeof:D { \exp_not:N } - \tex_endlinechar:D = \c_minus_one - #2 - \tl_gset:Nx #1 { \etex_scantokens:D {#3} } - \group_end: -} -\cs_new_protected:Npn \tl_rescan:nn #1#2 { - \group_begin: - \toks_set:NV \etex_everyeof:D \c_two_ats_with_two_catcodes_tl - \tex_endlinechar:D = \c_minus_one - #1 - \exp_after:wN \tl_rescan_aux:w \etex_scantokens:D {#2} - \exp_args:NV \group_end: - \l_tmpa_tl -} -\prg_new_protected_conditional:Npnn \tl_if_in:Nn #1#2 {TF,T,F} { - \cs_set:Npn \tl_tmp:w ##1 #2 ##2 \q_stop { - \quark_if_no_value:nTF {##2} {\prg_return_false:} {\prg_return_true:} - } - \exp_after:wN \tl_tmp:w #1 #2 \q_no_value \q_stop -} -\cs_generate_variant:Nn \tl_if_in:NnTF {c} -\cs_generate_variant:Nn \tl_if_in:NnT {c} -\cs_generate_variant:Nn \tl_if_in:NnF {c} -\prg_new_protected_conditional:Npnn \tl_if_in:nn #1#2 {TF,T,F} { - \cs_set:Npn \tl_tmp:w ##1 #2 ##2 \q_stop { - \quark_if_no_value:nTF {##2} {\prg_return_false:} {\prg_return_true:} - } - \tl_tmp:w #1 #2 \q_no_value \q_stop -} -\cs_generate_variant:Nn \tl_if_in:nnTF {V} -\cs_generate_variant:Nn \tl_if_in:nnT {V} -\cs_generate_variant:Nn \tl_if_in:nnF {V} -\cs_generate_variant:Nn \tl_if_in:nnTF {o} -\cs_generate_variant:Nn \tl_if_in:nnT {o} -\cs_generate_variant:Nn \tl_if_in:nnF {o} -\tl_new:N \_l_tl_replace_tl -\cs_new_protected_nopar:Npn \tl_replace_in:Nnn { - \_tl_replace_in_aux:NNnn \tl_set_eq:NN -} -\cs_new_protected:Npn \_tl_replace_in_aux:NNnn #1#2#3#4 { - \cs_set_protected:Npn \_tl_tmp:w ##1 #3 ##2 \q_stop - { - \quark_if_no_value:nF {##2} - { - \tl_set:No \_l_tl_replace_tl { ##1 #4 } - \cs_set_protected:Npn \_tl_tmp:w ####1 \q_nil #3 \q_no_value - { \tl_put_right:No \_l_tl_replace_tl {####1} } - \_tl_tmp:w \prg_do_nothing: ##2 - #1 #2 \_l_tl_replace_tl - } - } - \use:n - { - \exp_after:wN \_tl_tmp:w \exp_after:wN - \prg_do_nothing: - } - #2 \q_nil #3 \q_no_value \q_stop -} -\cs_new_protected_nopar:Npn \tl_greplace_in:Nnn { - \_tl_replace_in_aux:NNnn \tl_gset_eq:NN -} -\cs_generate_variant:Nn \tl_replace_in:Nnn { c } -\cs_generate_variant:Nn \tl_greplace_in:Nnn { c } -\cs_new_protected_nopar:Npn \tl_replace_all_in:Nnn { - \_tl_replace_all_in_aux:NNnn \tl_set_eq:NN -} -\cs_new_protected_nopar:Npn \tl_greplace_all_in:Nnn { - \_tl_replace_all_in_aux:NNnn \tl_gset_eq:NN -} -\cs_new_protected:Npn \_tl_replace_all_in_aux:NNnn #1#2#3#4 { - \tl_clear:N \_l_tl_replace_tl - \cs_set_protected:Npn \_tl_tmp:w ##1 #3 ##2 \q_stop - { - \quark_if_no_value:nTF {##2} - { - \cs_set_protected:Npn \_tl_tmp:w ####1 \q_nil ####2 \q_stop - { \tl_put_right:No \_l_tl_replace_tl {####1} } - \_tl_tmp:w ##1 \q_stop - } - { - \tl_put_right:No \_l_tl_replace_tl { ##1 #4 } - \_tl_tmp:w \prg_do_nothing: ##2 \q_stop - } - } - \use:n - { - \exp_after:wN \_tl_tmp:w \exp_after:wN - \prg_do_nothing: - } - #2 \q_nil #3 \q_no_value \q_stop - #1 #2 \_l_tl_replace_tl -} -\cs_generate_variant:Nn \tl_replace_all_in:Nnn { c } -\cs_generate_variant:Nn \tl_greplace_all_in:Nnn { c } -\cs_new_protected:Npn \tl_remove_in:Nn #1#2{\tl_replace_in:Nnn #1{#2}{}} -\cs_new_protected:Npn \tl_gremove_in:Nn #1#2{\tl_greplace_in:Nnn #1{#2}{}} -\cs_generate_variant:Nn \tl_remove_in:Nn {cn} -\cs_generate_variant:Nn \tl_gremove_in:Nn {cn} -\cs_new_protected:Npn \tl_remove_all_in:Nn #1#2{ - \tl_replace_all_in:Nnn #1{#2}{} -} -\cs_new_protected:Npn \tl_gremove_all_in:Nn #1#2{ - \tl_greplace_all_in:Nnn #1{#2}{} -} -\cs_generate_variant:Nn \tl_remove_all_in:Nn {cn} -\cs_generate_variant:Nn \tl_gremove_all_in:Nn {cn} -\cs_new:Npn \tl_head:n #1{\tl_head:w #1\q_stop} -\cs_new_eq:NN \tl_head_i:n \tl_head:n -\cs_new:Npn \tl_tail:n #1{\tl_tail:w #1\q_stop} -\cs_generate_variant:Nn \tl_tail:n {f} -\cs_new:Npn \tl_head_iii:n #1{\tl_head_iii:w #1\q_stop} -\cs_generate_variant:Nn \tl_head_iii:n {f} -\cs_new:Npn \tl_head:w #1#2\q_stop{#1} -\cs_new_eq:NN \tl_head_i:w \tl_head:w -\cs_new:Npn \tl_tail:w #1#2\q_stop{#2} -\cs_new:Npn \tl_head_iii:w #1#2#3#4\q_stop{#1#2#3} -\cs_generate_variant:Nn \tl_head:n { V } -\cs_generate_variant:Nn \tl_head:n { v } -\cs_generate_variant:Nn \tl_tail:n { V } -\cs_generate_variant:Nn \tl_tail:n { v } -\prg_new_conditional:Npnn \tl_if_head_eq_meaning:nN #1#2 {p,TF,T,F} { - \exp_after:wN \if_meaning:w \tl_head:w #1 \q_stop #2 - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Npnn \tl_if_head_eq_charcode:nN #1#2 {p,TF,T,F} { - \exp_after:wN \if:w \exp_after:wN \exp_not:N - \tl_head:w #1 \q_stop \exp_not:N #2 - \prg_return_true: \else: \prg_return_false: \fi: -} -%% \cs_new:Npn \tl_if_head_eq_charcode_p:fN #1#2{ -%% \exp_after:wN\if_charcode:w \tl_head:w #1\q_stop\exp_not:N#2 -%% \c_true_bool -%% \else: -%% \c_false_bool -%% \fi: -%% } -%% \def_long_test_function_new:npn {tl_if_head_eq_charcode:fN}#1#2{ -%% \if_predicate:w \tl_if_head_eq_charcode_p:fN {#1}#2} -\cs_generate_variant:Nn \tl_if_head_eq_charcode_p:nN {f} -\cs_generate_variant:Nn \tl_if_head_eq_charcode:nNTF {f} -\cs_generate_variant:Nn \tl_if_head_eq_charcode:nNT {f} -\cs_generate_variant:Nn \tl_if_head_eq_charcode:nNF {f} -\prg_new_conditional:Npnn \tl_if_head_eq_catcode:nN #1#2 {p,TF,T,F} { - \exp_after:wN \if_catcode:w \exp_after:wN \exp_not:N - \tl_head:w #1 \q_stop \exp_not:N #2 - \prg_return_true: \else: \prg_return_false: \fi: -} -%% -%% -%% End of file `l3tl.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3token.sty b/Master/texmf-dist/tex/latex/expl3/l3token.sty deleted file mode 100644 index 9013497ff87..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3token.sty +++ /dev/null @@ -1,566 +0,0 @@ -%% -%% This is file `l3token.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3token.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: l3token.dtx Copyright (C) 2005-2010 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3token.dtx 2223 2011-04-09 12:57:14Z will $ - {L3 Experimental token investigation and manipulation} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\cs_new_eq:NN \char_set_catcode:w \tex_catcode:D -\cs_new_protected_nopar:Npn \char_set_catcode:nn #1#2 { - \char_set_catcode:w #1 = \int_eval:w #2\int_eval_end: -} -\cs_new_nopar:Npn \char_value_catcode:w { \int_use:N \tex_catcode:D } -\cs_new_nopar:Npn \char_value_catcode:n #1 { - \char_value_catcode:w \int_eval:w #1\int_eval_end: -} -\cs_new_nopar:Npn \char_show_value_catcode:w { - \tex_showthe:D \tex_catcode:D -} -\cs_new_nopar:Npn \char_show_value_catcode:n #1 { - \char_show_value_catcode:w \int_eval:w #1\int_eval_end: -} -\cs_new_protected_nopar:Npn \char_make_escape:N #1 { \char_set_catcode:nn {`#1} {\c_zero} } -\cs_new_protected_nopar:Npn \char_make_begin_group:N #1 { \char_set_catcode:nn {`#1} {\c_one} } -\cs_new_protected_nopar:Npn \char_make_end_group:N #1 { \char_set_catcode:nn {`#1} {\c_two} } -\cs_new_protected_nopar:Npn \char_make_math_shift:N #1 { \char_set_catcode:nn {`#1} {\c_three} } -\cs_new_protected_nopar:Npn \char_make_alignment:N #1 { \char_set_catcode:nn {`#1} {\c_four} } -\cs_new_protected_nopar:Npn \char_make_end_line:N #1 { \char_set_catcode:nn {`#1} {\c_five} } -\cs_new_protected_nopar:Npn \char_make_parameter:N #1 { \char_set_catcode:nn {`#1} {\c_six} } -\cs_new_protected_nopar:Npn \char_make_math_superscript:N #1 { \char_set_catcode:nn {`#1} {\c_seven} } -\cs_new_protected_nopar:Npn \char_make_math_subscript:N #1 { \char_set_catcode:nn {`#1} {\c_eight} } -\cs_new_protected_nopar:Npn \char_make_ignore:N #1 { \char_set_catcode:nn {`#1} {\c_nine} } -\cs_new_protected_nopar:Npn \char_make_space:N #1 { \char_set_catcode:nn {`#1} {\c_ten} } -\cs_new_protected_nopar:Npn \char_make_letter:N #1 { \char_set_catcode:nn {`#1} {\c_eleven} } -\cs_new_protected_nopar:Npn \char_make_other:N #1 { \char_set_catcode:nn {`#1} {\c_twelve} } -\cs_new_protected_nopar:Npn \char_make_active:N #1 { \char_set_catcode:nn {`#1} {\c_thirteen} } -\cs_new_protected_nopar:Npn \char_make_comment:N #1 { \char_set_catcode:nn {`#1} {\c_fourteen} } -\cs_new_protected_nopar:Npn \char_make_invalid:N #1 { \char_set_catcode:nn {`#1} {\c_fifteen} } -\cs_new_protected_nopar:Npn \char_make_escape:n #1 { \char_set_catcode:nn {#1} {\c_zero} } -\cs_new_protected_nopar:Npn \char_make_begin_group:n #1 { \char_set_catcode:nn {#1} {\c_one} } -\cs_new_protected_nopar:Npn \char_make_end_group:n #1 { \char_set_catcode:nn {#1} {\c_two} } -\cs_new_protected_nopar:Npn \char_make_math_shift:n #1 { \char_set_catcode:nn {#1} {\c_three} } -\cs_new_protected_nopar:Npn \char_make_alignment:n #1 { \char_set_catcode:nn {#1} {\c_four} } -\cs_new_protected_nopar:Npn \char_make_end_line:n #1 { \char_set_catcode:nn {#1} {\c_five} } -\cs_new_protected_nopar:Npn \char_make_parameter:n #1 { \char_set_catcode:nn {#1} {\c_six} } -\cs_new_protected_nopar:Npn \char_make_math_superscript:n #1 { \char_set_catcode:nn {#1} {\c_seven} } -\cs_new_protected_nopar:Npn \char_make_math_subscript:n #1 { \char_set_catcode:nn {#1} {\c_eight} } -\cs_new_protected_nopar:Npn \char_make_ignore:n #1 { \char_set_catcode:nn {#1} {\c_nine} } -\cs_new_protected_nopar:Npn \char_make_space:n #1 { \char_set_catcode:nn {#1} {\c_ten} } -\cs_new_protected_nopar:Npn \char_make_letter:n #1 { \char_set_catcode:nn {#1} {\c_eleven} } -\cs_new_protected_nopar:Npn \char_make_other:n #1 { \char_set_catcode:nn {#1} {\c_twelve} } -\cs_new_protected_nopar:Npn \char_make_active:n #1 { \char_set_catcode:nn {#1} {\c_thirteen} } -\cs_new_protected_nopar:Npn \char_make_comment:n #1 { \char_set_catcode:nn {#1} {\c_fourteen} } -\cs_new_protected_nopar:Npn \char_make_invalid:n #1 { \char_set_catcode:nn {#1} {\c_fifteen} } -\cs_new_eq:NN \char_set_mathcode:w \tex_mathcode:D -\cs_new_protected_nopar:Npn \char_set_mathcode:nn #1#2 { - \char_set_mathcode:w #1 = \int_eval:w #2\int_eval_end: -} -\cs_new_protected_nopar:Npn \char_gset_mathcode:w { \pref_global:D \tex_mathcode:D } -\cs_new_protected_nopar:Npn \char_gset_mathcode:nn #1#2 { - \char_gset_mathcode:w #1 = \int_eval:w #2\int_eval_end: -} -\cs_new_nopar:Npn \char_value_mathcode:w { \int_use:N \tex_mathcode:D } -\cs_new_nopar:Npn \char_value_mathcode:n #1 { - \char_value_mathcode:w \int_eval:w #1\int_eval_end: -} -\cs_new_nopar:Npn \char_show_value_mathcode:w { \tex_showthe:D \tex_mathcode:D } -\cs_new_nopar:Npn \char_show_value_mathcode:n #1 { - \char_show_value_mathcode:w \int_eval:w #1\int_eval_end: -} -\cs_new_eq:NN \char_set_lccode:w \tex_lccode:D -\cs_new_protected_nopar:Npn \char_set_lccode:nn #1#2{ - \char_set_lccode:w #1 = \int_eval:w #2\int_eval_end: -} -\cs_new_nopar:Npn \char_value_lccode:w {\int_use:N\tex_lccode:D} -\cs_new_nopar:Npn \char_value_lccode:n #1{\char_value_lccode:w - \int_eval:w #1\int_eval_end:} -\cs_new_nopar:Npn \char_show_value_lccode:w {\tex_showthe:D\tex_lccode:D} -\cs_new_nopar:Npn \char_show_value_lccode:n #1{ - \char_show_value_lccode:w \int_eval:w #1\int_eval_end:} -\cs_new_eq:NN \char_set_uccode:w \tex_uccode:D -\cs_new_protected_nopar:Npn \char_set_uccode:nn #1#2{ - \char_set_uccode:w #1 = \int_eval:w #2\int_eval_end: -} -\cs_new_nopar:Npn \char_value_uccode:w {\int_use:N\tex_uccode:D} -\cs_new_nopar:Npn \char_value_uccode:n #1{\char_value_uccode:w - \int_eval:w #1\int_eval_end:} -\cs_new_nopar:Npn \char_show_value_uccode:w {\tex_showthe:D\tex_uccode:D} -\cs_new_nopar:Npn \char_show_value_uccode:n #1{ - \char_show_value_uccode:w \int_eval:w #1\int_eval_end:} -\cs_new_eq:NN \char_set_sfcode:w \tex_sfcode:D -\cs_new_protected_nopar:Npn \char_set_sfcode:nn #1#2 { - \char_set_sfcode:w #1 = \int_eval:w #2\int_eval_end: -} -\cs_new_nopar:Npn \char_value_sfcode:w { \int_use:N \tex_sfcode:D } -\cs_new_nopar:Npn \char_value_sfcode:n #1 { - \char_value_sfcode:w \int_eval:w #1\int_eval_end: -} -\cs_new_nopar:Npn \char_show_value_sfcode:w { \tex_showthe:D \tex_sfcode:D } -\cs_new_nopar:Npn \char_show_value_sfcode:n #1 { - \char_show_value_sfcode:w \int_eval:w #1\int_eval_end: -} -\cs_new_protected_nopar:Npn \token_new:Nn #1#2 {\cs_new_eq:NN #1#2} -\cs_new_eq:NN \c_group_begin_token { -\cs_new_eq:NN \c_group_end_token } -\group_begin: -\char_set_catcode:nn{`\*}{3} -\token_new:Nn \c_math_shift_token {*} -\char_set_catcode:nn{`\*}{4} -\token_new:Nn \c_alignment_tab_token {*} -\token_new:Nn \c_parameter_token {#} -\token_new:Nn \c_math_superscript_token {^} -\char_set_catcode:nn{`\*}{8} -\token_new:Nn \c_math_subscript_token {*} -\token_new:Nn \c_space_token {~} -\token_new:Nn \c_letter_token {a} -\token_new:Nn \c_other_char_token {1} -\char_set_catcode:nn{`\*}{13} -\cs_gset_nopar:Npn \c_active_char_token {\exp_not:N*} -\group_end: -\prg_new_conditional:Nnn \token_if_group_begin:N {p,TF,T,F} { - \if_catcode:w \exp_not:N #1\c_group_begin_token - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \token_if_group_end:N {p,TF,T,F} { - \if_catcode:w \exp_not:N #1\c_group_end_token - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \token_if_math_shift:N {p,TF,T,F} { - \if_catcode:w \exp_not:N #1\c_math_shift_token - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \token_if_alignment_tab:N {p,TF,T,F} { - \if_catcode:w \exp_not:N #1\c_alignment_tab_token - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \token_if_parameter:N {p,TF,T,F} { - \exp_after:wN\if_catcode:w \cs:w c_parameter_token\cs_end:\exp_not:N #1 - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \token_if_math_superscript:N {p,TF,T,F} { - \if_catcode:w \exp_not:N #1\c_math_superscript_token - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \token_if_math_subscript:N {p,TF,T,F} { - \if_catcode:w \exp_not:N #1\c_math_subscript_token - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \token_if_space:N {p,TF,T,F} { - \if_catcode:w \exp_not:N #1\c_space_token - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \token_if_letter:N {p,TF,T,F} { - \if_catcode:w \exp_not:N #1\c_letter_token - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \token_if_other_char:N {p,TF,T,F} { - \if_catcode:w \exp_not:N #1\c_other_char_token - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \token_if_active_char:N {p,TF,T,F} { - \if_catcode:w \exp_not:N #1\c_active_char_token - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \token_if_eq_meaning:NN {p,TF,T,F} { - \if_meaning:w #1 #2 - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \token_if_eq_catcode:NN {p,TF,T,F} { - \if_catcode:w \exp_not:N #1 \exp_not:N #2 - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \token_if_eq_charcode:NN {p,TF,T,F} { - \if_charcode:w \exp_not:N #1 \exp_not:N #2 - \prg_return_true: \else: \prg_return_false: \fi: -} -\prg_new_conditional:Nnn \token_if_macro:N {p,TF,T,F} { - \exp_after:wN \token_if_macro_p_aux:w \token_to_meaning:N #1 -> \q_stop -} -\cs_new_nopar:Npn \token_if_macro_p_aux:w #1 -> #2 \q_stop{ - \if_predicate:w \tl_if_empty_p:n{#2} - \prg_return_false: \else: \prg_return_true: \fi: -} -\prg_new_conditional:Nnn \token_if_cs:N {p,TF,T,F} { - \if_predicate:w \token_if_eq_catcode_p:NN \scan_stop: #1 - \prg_return_true: \else: \prg_return_false: \fi:} -\prg_new_conditional:Nnn \token_if_expandable:N {p,TF,T,F} { - \cs_if_exist:NTF #1 { - \exp_after:wN \if_meaning:w \exp_not:N #1 #1 - \prg_return_false: \else: \prg_return_true: \fi: - } { - \prg_return_false: - } -} -\group_begin: - \char_set_lccode:nn {`\T}{`\T} - \char_set_lccode:nn {`\F}{`\F} - \char_set_lccode:nn {`\X}{`\n} - \char_set_lccode:nn {`\Y}{`\t} - \char_set_lccode:nn {`\Z}{`\d} - \char_set_lccode:nn {`\?}{`\\} - \tl_map_inline:nn{\X\Y\Z\M\C\H\A\R\O\U\S\K\I\P\L\G\P\E} - {\char_set_catcode:nn {`#1}{12}} -\tl_to_lowercase:n{ - \group_end: -\prg_new_conditional:Nnn \token_if_chardef:N {p,TF,T,F} { - \exp_after:wN \token_if_chardef_aux:w - \token_to_meaning:N #1?CHAR"\q_stop -} -\cs_new_nopar:Npn \token_if_chardef_aux:w #1?CHAR"#2\q_stop{ - \tl_if_empty:nTF {#1} {\prg_return_true:} {\prg_return_false:} -} -\prg_new_conditional:Nnn \token_if_mathchardef:N {p,TF,T,F} { - \exp_after:wN \token_if_mathchardef_aux:w - \token_to_meaning:N #1?MAYHCHAR"\q_stop -} -\cs_new_nopar:Npn \token_if_mathchardef_aux:w #1?MAYHCHAR"#2\q_stop{ - \tl_if_empty:nTF {#1} {\prg_return_true:} {\prg_return_false:} -} -\prg_new_conditional:Nnn \token_if_int_register:N {p,TF,T,F} { - \if_meaning:w \tex_countdef:D #1 - \prg_return_false: - \else: - \exp_after:wN \token_if_int_register_aux:w - \token_to_meaning:N #1?COUXY\q_stop - \fi: -} -\cs_new_nopar:Npn \token_if_int_register_aux:w #1?COUXY#2\q_stop{ - \tl_if_empty:nTF {#1} {\prg_return_true:} {\prg_return_false:} -} -\prg_new_conditional:Nnn \token_if_skip_register:N {p,TF,T,F} { - \if_meaning:w \tex_skipdef:D #1 - \prg_return_false: - \else: - \exp_after:wN \token_if_skip_register_aux:w - \token_to_meaning:N #1?SKIP\q_stop - \fi: -} -\cs_new_nopar:Npn \token_if_skip_register_aux:w #1?SKIP#2\q_stop{ - \tl_if_empty:nTF {#1} {\prg_return_true:} {\prg_return_false:} -} -\prg_new_conditional:Nnn \token_if_dim_register:N {p,TF,T,F} { - \if_meaning:w \tex_dimendef:D #1 - \c_false_bool - \else: - \exp_after:wN \token_if_dim_register_aux:w - \token_to_meaning:N #1?ZIMEX\q_stop - \fi: -} -\cs_new_nopar:Npn \token_if_dim_register_aux:w #1?ZIMEX#2\q_stop{ - \tl_if_empty:nTF {#1} {\prg_return_true:} {\prg_return_false:} -} -\prg_new_conditional:Nnn \token_if_toks_register:N {p,TF,T,F} { - \if_meaning:w \tex_toksdef:D #1 - \prg_return_false: - \else: - \exp_after:wN \token_if_toks_register_aux:w - \token_to_meaning:N #1?YOKS\q_stop - \fi: -} -\cs_new_nopar:Npn \token_if_toks_register_aux:w #1?YOKS#2\q_stop{ - \tl_if_empty:nTF {#1} {\prg_return_true:} {\prg_return_false:} -} -\prg_new_conditional:Nnn \token_if_protected_macro:N {p,TF,T,F} { - \exp_after:wN \token_if_protected_macro_aux:w - \token_to_meaning:N #1?PROYECYEZ~MACRO\q_stop -} -\cs_new_nopar:Npn \token_if_protected_macro_aux:w #1?PROYECYEZ~MACRO#2\q_stop{ - \tl_if_empty:nTF {#1} {\prg_return_true:} {\prg_return_false:} -} -\prg_new_conditional:Nnn \token_if_long_macro:N {p,TF,T,F} { - \exp_after:wN \token_if_long_macro_aux:w - \token_to_meaning:N #1?LOXG~MACRO\q_stop -} -\cs_new_nopar:Npn \token_if_long_macro_aux:w #1?LOXG~MACRO#2\q_stop{ - \tl_if_empty:nTF {#1} {\prg_return_true:} {\prg_return_false:} -} -\prg_new_conditional:Nnn \token_if_protected_long_macro:N {p,TF,T,F} { - \exp_after:wN \token_if_protected_long_macro_aux:w - \token_to_meaning:N #1?PROYECYEZ?LOXG~MACRO\q_stop -} -\cs_new_nopar:Npn \token_if_protected_long_macro_aux:w #1 - ?PROYECYEZ?LOXG~MACRO#2\q_stop{ - \tl_if_empty:nTF {#1} {\prg_return_true:} {\prg_return_false:} -} -} -\group_begin: -\char_set_lccode:nn {`\?}{`\:} -\char_set_catcode:nn{`\M}{12} -\char_set_catcode:nn{`\A}{12} -\char_set_catcode:nn{`\C}{12} -\char_set_catcode:nn{`\R}{12} -\char_set_catcode:nn{`\O}{12} -\tl_to_lowercase:n{ - \group_end: - \cs_new_nopar:Npn \token_get_prefix_arg_replacement_aux:w #1MACRO?#2->#3\q_stop#4{ - #4{#1}{#2}{#3} - } - \cs_new_nopar:Npn\token_get_prefix_spec:N #1{ - \token_if_macro:NTF #1{ - \exp_after:wN \token_get_prefix_arg_replacement_aux:w - \token_to_meaning:N #1\q_stop\use_i:nnn - }{\scan_stop:} - } - \cs_new_nopar:Npn\token_get_arg_spec:N #1{ - \token_if_macro:NTF #1{ - \exp_after:wN \token_get_prefix_arg_replacement_aux:w - \token_to_meaning:N #1\q_stop\use_ii:nnn - }{\scan_stop:} - } - \cs_new_nopar:Npn\token_get_replacement_spec:N #1{ - \token_if_macro:NTF #1{ - \exp_after:wN \token_get_prefix_arg_replacement_aux:w - \token_to_meaning:N #1\q_stop\use_iii:nnn - }{\scan_stop:} - } -} -\prg_new_conditional:Nnn \token_if_primitive:N {p,TF,T,F} { - \if_predicate:w \token_if_cs_p:N #1 - \if_predicate:w \token_if_macro_p:N #1 - \prg_return_false: - \else: - \token_if_primitive_p_aux:N #1 - \fi: - \else: - \if_predicate:w \token_if_active_char_p:N #1 - \if_predicate:w \token_if_macro_p:N #1 - \prg_return_false: - \else: - \token_if_primitive_p_aux:N #1 - \fi: - \else: - \prg_return_false: - \fi: - \fi: -} -\cs_new_nopar:Npn \token_if_primitive_p_aux:N #1{ - \if_predicate:w \token_if_chardef_p:N #1 \c_false_bool - \else: - \if_predicate:w \token_if_mathchardef_p:N #1 \prg_return_false: - \else: - \if_predicate:w \token_if_int_register_p:N #1 \prg_return_false: - \else: - \if_predicate:w \token_if_skip_register_p:N #1 \prg_return_false: - \else: - \if_predicate:w \token_if_dim_register_p:N #1 \prg_return_false: - \else: - \if_predicate:w \token_if_toks_register_p:N #1 \prg_return_false: - \else: - \prg_return_true: - \fi: - \fi: - \fi: - \fi: - \fi: - \fi: -} -\token_new:Nn \l_peek_token {?} -\token_new:Nn \g_peek_token {?} -\token_new:Nn \l_peek_search_token {?} -\cs_new_protected_nopar:Npn \peek_after:NN {\tex_futurelet:D \l_peek_token } -\cs_new_protected_nopar:Npn \peek_gafter:NN { - \pref_global:D \tex_futurelet:D \g_peek_token -} -\tl_new:N \l_peek_true_tl -\tl_new:N \l_peek_false_tl -\cs_new_nopar:Npn \peek_tmp:w {} -\tl_new:N \l_peek_search_tl -\cs_new_protected:Npn \peek_token_generic:NNTF #1#2#3#4 { - \cs_set_eq:NN \l_peek_search_token #2 - \tl_set:Nn \l_peek_search_tl {#2} - \tl_set:Nn \l_peek_true_tl { \group_align_safe_end: #3 } - \tl_set:Nn \l_peek_false_tl { \group_align_safe_end: #4 } - \group_align_safe_begin: - \peek_after:NN #1 -} -\cs_new_protected:Npn \peek_token_generic:NNT #1#2#3 { - \peek_token_generic:NNTF #1#2 {#3} {} -} -\cs_new_protected:Npn \peek_token_generic:NNF #1#2#3 { - \peek_token_generic:NNTF #1#2 {} {#3} -} -\cs_new_protected:Npn \peek_token_remove_generic:NNTF #1#2#3#4 { - \cs_set_eq:NN \l_peek_search_token #2 - \tl_set:Nn \l_peek_search_tl {#2} - \tl_set:Nn \l_peek_true_aux_tl {#3} - \tl_set_eq:NN \l_peek_true_tl \c_peek_true_remove_next_tl - \tl_set:Nn \l_peek_false_tl {\group_align_safe_end: #4} - \group_align_safe_begin: - \peek_after:NN #1 -} -\cs_new:Npn \peek_token_remove_generic:NNT #1#2#3 { - \peek_token_remove_generic:NNTF #1#2 {#3} {} -} -\cs_new:Npn \peek_token_remove_generic:NNF #1#2#3 { - \peek_token_remove_generic:NNTF #1#2 {} {#3} -} -\tl_new:N \l_peek_true_aux_tl -\tl_const:Nn \c_peek_true_remove_next_tl {\group_align_safe_end: - \tex_afterassignment:D \l_peek_true_aux_tl \cs_set_eq:NN \peek_tmp:w -} -\cs_new_nopar:Npn \peek_execute_branches_meaning: { - \if_meaning:w \l_peek_token \l_peek_search_token - \exp_after:wN \l_peek_true_tl - \else: - \exp_after:wN \l_peek_false_tl - \fi: -} -\cs_new_nopar:Npn \peek_execute_branches_catcode: { - \if_catcode:w \exp_not:N\l_peek_token \exp_not:N\l_peek_search_token - \exp_after:wN \l_peek_true_tl - \else: - \exp_after:wN \l_peek_false_tl - \fi: -} -\cs_new_nopar:Npn \peek_execute_branches_charcode: { - \bool_if:nTF { - \token_if_eq_catcode_p:NN \l_peek_token \c_group_begin_token || - \token_if_eq_catcode_p:NN \l_peek_token \c_group_end_token || - \token_if_eq_meaning_p:NN \l_peek_token \c_space_token - } - { \l_peek_false_tl } - { \exp_after:wN \peek_execute_branches_charcode_aux:NN \l_peek_search_tl } -} -\cs_new:Npn \peek_execute_branches_charcode_aux:NN #1#2{ - \if_charcode:w \exp_not:N #1\exp_not:N#2 - \exp_after:wN \l_peek_true_tl - \else: - \exp_after:wN \l_peek_false_tl - \fi: - #2 -} -\cs_new_nopar:Npn \peek_def_aux:nnnn #1#2#3#4 { - \peek_def_aux_ii:nnnnn {#1} {#2} {#3} {#4} { TF } - \peek_def_aux_ii:nnnnn {#1} {#2} {#3} {#4} { T } - \peek_def_aux_ii:nnnnn {#1} {#2} {#3} {#4} { F } -} -\cs_new_protected_nopar:Npn \peek_def_aux_ii:nnnnn #1#2#3#4#5 { - \cs_new_nopar:cpx { #1 #5 } { - \tl_if_empty:nF {#2} { - \exp_not:n { \cs_set_eq:NN \peek_execute_branches: #2 } - } - \exp_not:c { #3 #5 } - \exp_not:n { #4 } - } -} -\peek_def_aux:nnnn - { peek_meaning:N } - {} - { peek_token_generic:NN } - { \peek_execute_branches_meaning: } -\peek_def_aux:nnnn - { peek_meaning_ignore_spaces:N } - { \peek_execute_branches_meaning: } - { peek_token_generic:NN } - { \peek_ignore_spaces_execute_branches: } -\peek_def_aux:nnnn - { peek_meaning_remove:N } - {} - { peek_token_remove_generic:NN } - { \peek_execute_branches_meaning: } -\peek_def_aux:nnnn - { peek_meaning_remove_ignore_spaces:N } - { \peek_execute_branches_meaning: } - { peek_token_remove_generic:NN } - { \peek_ignore_spaces_execute_branches: } -\peek_def_aux:nnnn - { peek_catcode:N } - {} - { peek_token_generic:NN } - { \peek_execute_branches_catcode: } -\peek_def_aux:nnnn - { peek_catcode_ignore_spaces:N } - { \peek_execute_branches_catcode: } - { peek_token_generic:NN } - { \peek_ignore_spaces_execute_branches: } -\peek_def_aux:nnnn - { peek_catcode_remove:N } - {} - { peek_token_remove_generic:NN } - { \peek_execute_branches_catcode: } -\peek_def_aux:nnnn - { peek_catcode_remove_ignore_spaces:N } - { \peek_execute_branches_catcode: } - { peek_token_remove_generic:NN } - { \peek_ignore_spaces_execute_branches: } -\peek_def_aux:nnnn - { peek_charcode:N } - {} - { peek_token_generic:NN } - { \peek_execute_branches_charcode: } -\peek_def_aux:nnnn - { peek_charcode_ignore_spaces:N } - { \peek_execute_branches_charcode: } - { peek_token_generic:NN } - { \peek_ignore_spaces_execute_branches: } -\peek_def_aux:nnnn - { peek_charcode_remove:N } - {} - { peek_token_remove_generic:NN } - { \peek_execute_branches_charcode: } -\peek_def_aux:nnnn - { peek_charcode_remove_ignore_spaces:N } - { \peek_execute_branches_charcode: } - { peek_token_remove_generic:NN } - { \peek_ignore_spaces_execute_branches:} -\cs_new_nopar:Npn \peek_ignore_spaces_aux: { - \peek_after:NN \peek_ignore_spaces_execute_branches: -} -\cs_new_protected_nopar:Npn \peek_ignore_spaces_execute_branches: { - \token_if_eq_meaning:NNTF \l_peek_token \c_space_token - { \tex_afterassignment:D \peek_ignore_spaces_aux: - \cs_set_eq:NN \peek_tmp:w - } - \peek_execute_branches: -} -%% -%% -%% End of file `l3token.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3toks.sty b/Master/texmf-dist/tex/latex/expl3/l3toks.sty deleted file mode 100644 index 23abea78be8..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3toks.sty +++ /dev/null @@ -1,165 +0,0 @@ -%% -%% 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-2010 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3toks.dtx 2223 2011-04-09 12:57:14Z will $ - {L3 Experimental Token Registers} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\cs_new_protected_nopar:Npn \toks_new:N #1 { - \chk_if_free_cs:N #1 - \newtoks #1 -} -\cs_generate_variant:Nn \toks_new:N {c} -\cs_new_eq:NN \toks_use:N \tex_the:D -\cs_generate_variant:Nn \toks_use:N {c} -\cs_new_eq:NN \toks_set:Nn \prg_do_nothing: -\cs_new_protected:Npn \toks_set:NV #1#2 { - #1 \exp_after:wN { \int_to_roman:w -`0 \exp_eval_register:N #2 } -} -\cs_new_protected:Npn \toks_set:Nv #1#2 { - #1 \exp_after:wN { \int_to_roman:w -`0 \exp_eval_register:c {#2} } -} -\cs_new_protected:Npn \toks_set:No #1#2 { #1 \exp_after:wN {#2} } -\cs_new_protected:Npn \toks_set:Nf #1#2 { - #1 \exp_after:wN { \int_to_roman:w -`0#2 } -} -\cs_generate_variant:Nn \toks_set:Nn {Nx,cn,cV,cv,co,cx,cf} -\cs_new_eq:NN \toks_gset:Nn \pref_global:D -\cs_generate_variant:Nn \toks_gset:Nn {NV,No,Nx,cn,cV,co,cx} -\cs_new_eq:NN \toks_set_eq:NN \prg_do_nothing: -\cs_new_eq:NN \toks_gset_eq:NN \pref_global:D -\cs_generate_variant:Nn \toks_set_eq:NN {Nc,cN,cc} -\cs_generate_variant:Nn \toks_gset_eq:NN {Nc,cN,cc} -\cs_new_protected_nopar:Npn \toks_clear:N #1 { - #1\c_empty_toks -} -\cs_new_protected_nopar:Npn \toks_gclear:N { - \pref_global:D - \toks_clear:N -} -\cs_generate_variant:Nn \toks_clear:N {c} -\cs_generate_variant:Nn \toks_gclear:N {c} -\cs_new_protected_nopar:Npn \toks_use_clear:N #1 { - \exp_last_unbraced:NNV \toks_clear:N #1 #1 -} -\cs_new_protected_nopar:Npn \toks_use_gclear:N { - \pref_global:D - \toks_use_clear:N -} -\cs_generate_variant:Nn \toks_use_clear:N {c} -\cs_generate_variant:Nn \toks_use_gclear:N {c} -\cs_new_eq:NN \toks_show:N \kernel_register_show:N -\cs_generate_variant:Nn \toks_show:N {c} -\cs_new_protected_nopar:Npn \toks_put_left:Nn #1 { - \exp_after:wN \toks_put_left_aux:w \exp_after:wN \q_nil - \toks_use:N #1 \q_stop #1 -} -\cs_generate_variant:Nn \toks_put_left:Nn {NV,No,Nx,cn,co,cV} -\cs_new_protected_nopar:Npn \toks_gput_left:Nn { - \pref_global:D - \toks_put_left:Nn -} -\cs_generate_variant:Nn \toks_gput_left:Nn {NV,No,Nx,cn,cV,co} -\cs_new:Npn \toks_put_left_aux:w #1\q_stop #2#3 { - #2 \exp_after:wN { \use_i:nn {#3} #1 } -} -\cs_new_protected:Npn \toks_put_right:Nn #1#2 { - #1 \exp_after:wN { \toks_use:N #1 #2 } -} -\cs_new_protected_nopar:Npn \toks_gput_right:Nn { - \pref_global:D - \toks_put_right:Nn -} -\cs_new_protected:Npn \toks_put_right:NV #1#2 { - #1 \exp_after:wN \exp_after:wN \exp_after:wN { - \exp_after:wN \toks_use:N \exp_after:wN #1 - \int_to_roman:w -`0 \exp_eval_register:N #2 - } -} -\cs_new_protected:Npn \toks_put_right:No #1#2 { - #1 \exp_after:wN \exp_after:wN \exp_after:wN { - \exp_after:wN \toks_use:N \exp_after:wN #1 #2 - } -} -\cs_generate_variant:Nn \toks_put_right:Nn {Nx,cn,cV,co} -\cs_generate_variant:Nn \toks_gput_right:Nn {NV,No,Nx,cn,cV,co} -\cs_new_protected:Npn \toks_put_right:Nf #1#2 { - #1 \exp_after:wN \exp_after:wN \exp_after:wN { - \exp_after:wN \toks_use:N \exp_after:wN #1 \int_to_roman:w -`0#2 - } -} -\prg_new_conditional:Nnn \toks_if_empty:N {p,TF,T,F} { - \tl_if_empty:VTF #1 {\prg_return_true:} {\prg_return_false:} -} -\cs_generate_variant:Nn \toks_if_empty_p:N {c} -\cs_generate_variant:Nn \toks_if_empty:NTF {c} -\cs_generate_variant:Nn \toks_if_empty:NT {c} -\cs_generate_variant:Nn \toks_if_empty:NF {c} -\prg_new_conditional:Nnn \toks_if_eq:NN {p,TF,T,F} { - \str_if_eq:xxTF {\toks_use:N #1} {\toks_use:N #2} - {\prg_return_true:} {\prg_return_false:} -} -\cs_generate_variant:Nn \toks_if_eq_p:NN {Nc,c,cc} -\cs_generate_variant:Nn \toks_if_eq:NNTF {Nc,c,cc} -\cs_generate_variant:Nn \toks_if_eq:NNT {Nc,c,cc} -\cs_generate_variant:Nn \toks_if_eq:NNF {Nc,c,cc} -\tex_toksdef:D \l_tmpa_toks = 255\scan_stop: -\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 -\toks_new:N \l_tl_replace_toks - -%% -%% -%% End of file `l3toks.sty'. diff --git a/Master/texmf-dist/tex/latex/expl3/l3xref.sty b/Master/texmf-dist/tex/latex/expl3/l3xref.sty deleted file mode 100644 index 99ed3f83b47..00000000000 --- a/Master/texmf-dist/tex/latex/expl3/l3xref.sty +++ /dev/null @@ -1,110 +0,0 @@ -%% -%% This is file `l3xref.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3xref.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: l3xref.dtx Copyright (C) 2006,2009 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 LaTeX Project Team. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3names} -\GetIdInfo$Id: l3xref.dtx 2223 2011-04-09 12:57:14Z will $ - {L3 Experimental cross referencing} -\ProvidesExplPackage - {\filename}{\filedate}{\fileversion}{\filedescription} -\package_check_loaded_expl: -\prop_new:N \g_xref_all_curr_immediate_fields_prop -\prop_new:N \g_xref_all_curr_deferred_fields_prop -\cs_new_nopar:Npn \xref_new:nn {\xref_new_aux:nnn{immediate}} -\cs_new_nopar:Npn \xref_deferred_new:nn {\xref_new_aux:nnn{deferred}} -\cs_new_nopar:Npn \xref_new_aux:nnn #1#2#3{ - \prop_gput:ccx {g_xref_all_curr_ #1 _fields_prop} - { xref_ #2 _key } - { \exp_not:c {l_xref_curr_#2_tl }} - \cs_set_protected_nopar:cpn { xref_#2_key }{} - \tl_new:cn{l_xref_curr_#2_tl}{#3} - \toks_set:Nx \l_tmpa_toks { - \exp_not:n { \cs_set_nopar:cpn {xref_get_value_#2_aux:w} ##1 } - \exp_not:N \q_prop - \exp_not:c { xref_#2_key } - \exp_not:N \q_prop - } - \toks_use:N \l_tmpa_toks ##2 ##3\q_nil {##2} -} -\cs_new_nopar:Npn \xref_get_value:nn #1#2 { - \cs_if_exist:cTF{g_xref_#2_prop} - { - \exp_args:NcNc \exp_after:wN {xref_get_value_#1_aux:w} - \toks_use:N {g_xref_#2_prop} - \q_nil - } - {??} -} -\cs_set_nopar:Npn \exp_after:cc #1#2 { - \exp_after:wN \exp_after:wN - \cs:w #1\exp_after:wN\cs_end: \cs:w #2\cs_end: -} -\cs_set_protected:Npn \q_prop {\q_prop} -\cs_new_protected_nopar:Npn \xref_define_label:nn { - \group_begin: - \char_set_catcode:nn {`\ }\c_ten - \xref_define_label_aux:nn -} -\cs_new_nopar:Npn \xref_define_label_aux:nn #1#2 { - \cs_if_free:cTF{g_xref_#1_prop} - {\prop_new:c{g_xref_#1_prop}}{\WARNING} - \toks_gset:cn{g_xref_#1_prop}{#2} - \group_end: -} -\cs_set_nopar:Npn \xref_set_label:n #1{ - \cs_set_nopar:Npx \xref_tmp:w{\toks_use:N\g_xref_all_curr_immediate_fields_prop} - \exp_args:NNx\iow_shipout_x:Nn \xref_write{ - \xref_define_label:nn {#1} { - \xref_tmp:w - \toks_use:N \g_xref_all_curr_deferred_fields_prop - } - } -} -%% -%% -%% End of file `l3xref.sty'. |