summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-07-31 18:29:08 +0000
committerKarl Berry <karl@freefriends.org>2011-07-31 18:29:08 +0000
commit332d583e34cb464fadc271aac86368fc71af2c40 (patch)
tree24afad6e2f2915364873082b6bfad0bad04ba5bf /Master/texmf-dist/tex
parented6913bb5d71e9779f8714d469d5903b9d328020 (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')
-rw-r--r--Master/texmf-dist/tex/latex/expl3/expl3.sty151
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3basics.sty754
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3box.sty195
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3calc.sty502
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3chk.sty160
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3clist.sty241
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3doc.cls1039
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3expan.sty334
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3file.sty136
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3font.sty107
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3fp.sty3434
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3int.sty767
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3io.sty289
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3keys.sty506
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3keyval.sty250
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3luatex.sty161
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3msg.sty458
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3names.sty852
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3num.sty100
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3precom.sty142
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3prg.sty614
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3prop.sty192
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3quark.sty144
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3seq.sty378
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3skip.sty270
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3tl.sty558
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3token.sty566
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3toks.sty165
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3xref.sty110
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'.