summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-10-12 00:07:26 +0000
committerKarl Berry <karl@freefriends.org>2010-10-12 00:07:26 +0000
commitbaa7f8e9f03bccf6f383eab72d2945fb6a2e110d (patch)
treee3d8e915a08f103fe169e6bef2c0d62d305cb5d0 /Master/texmf-dist/tex/latex
parenta8c915878e3e9b15a28df3a92b0c1ac925d6e28e (diff)
expl3 2072 (10oct10)
git-svn-id: svn://tug.org/texlive/trunk@20059 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/expl3/expl3.sty5
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3basics.sty12
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3clist.sty2
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3int.sty665
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3intexpr.sty228
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3io.sty18
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3keys.sty4
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3msg.sty127
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3names.sty18
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3num.sty4
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3prg.sty52
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3skip.sty27
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3tl.sty6
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3token.sty34
14 files changed, 693 insertions, 509 deletions
diff --git a/Master/texmf-dist/tex/latex/expl3/expl3.sty b/Master/texmf-dist/tex/latex/expl3/expl3.sty
index 1c4c346d8a7..3a14c072444 100644
--- a/Master/texmf-dist/tex/latex/expl3/expl3.sty
+++ b/Master/texmf-dist/tex/latex/expl3/expl3.sty
@@ -49,7 +49,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: expl3.dtx 2022 2010-09-16 13:00:35Z joseph $
+\GetIdInfo$Id: expl3.dtx 2056 2010-10-02 17:31:05Z will $
{L3 Experimental code bundle wrapper}%
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -68,11 +68,10 @@
l3basics,
l3expan,
l3tl,
- l3intexpr,
+ l3int,
l3quark,
l3seq,
l3toks,
- l3int,
l3prg,
l3clist,
l3token,
diff --git a/Master/texmf-dist/tex/latex/expl3/l3basics.sty b/Master/texmf-dist/tex/latex/expl3/l3basics.sty
index d128e2fa1f3..1c0e8c5243b 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3basics.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3basics.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3basics.dtx 2037 2010-09-20 21:22:45Z joseph $
+\GetIdInfo$Id: l3basics.dtx 2063 2010-10-03 08:26:49Z mittelba $
{L3 Experimental basic definitions}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -410,9 +410,8 @@
\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:~\token_to_meaning:N #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
@@ -428,9 +427,8 @@
{
\msg_kernel_bug:x
{
- Command~name~`\token_to_str:N #1'~
- already~defined!~
- Current~meaning:~\token_to_meaning:N #1
+ Command~name~`\token_to_str:N #1'~already~defined!~
+ Current~meaning: \\ \c_space_tl \c_space_tl \token_to_meaning:N #1
}
}
}
diff --git a/Master/texmf-dist/tex/latex/expl3/l3clist.sty b/Master/texmf-dist/tex/latex/expl3/l3clist.sty
index 257c7209ba8..2e40898a0dc 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3clist.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3clist.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3clist.dtx 2037 2010-09-20 21:22:45Z joseph $
+\GetIdInfo$Id: l3clist.dtx 2071 2010-10-09 09:48:48Z joseph $
{L3 Experimental comma separated lists}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
diff --git a/Master/texmf-dist/tex/latex/expl3/l3int.sty b/Master/texmf-dist/tex/latex/expl3/l3int.sty
index 44c910a145c..230ff5aed01 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3int.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3int.sty
@@ -48,26 +48,47 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3int.dtx 2029 2010-09-19 13:59:02Z joseph $
+\GetIdInfo$Id: l3int.dtx 2070 2010-10-09 06:55:11Z 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_to_number:w \tex_number: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 \intexpr_eval:w #2\intexpr_eval_end:
+\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
@@ -91,10 +112,10 @@
\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 \intexpr_eval:w #2\intexpr_eval_end:
+ \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-\intexpr_eval:w #2\intexpr_eval_end:
+ \int_advance:w #1-\int_eval:w #2\int_eval_end:
}
\cs_new_protected_nopar:Npn \int_gadd:Nn {
\pref_global:D
@@ -110,7 +131,7 @@
\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{ \intexpr_eval:n{#1}}
+\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}
@@ -125,51 +146,98 @@
\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 \intexpr_eval:n {#1} Q
+ \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 \intexpr_eval:n {#1} Q
+ \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{
- \intexpr_compare:nNnTF {#1}>{#2}
+ \int_compare:nNnTF {#1}>{#2}
{
\exp_args:Nf \int_convert_number_with_rule:nnN
- { \intexpr_div_truncate:nn {#1-1}{#2} }{#2}
+ { \int_div_truncate:nn {#1-1}{#2} }{#2}
#3
- \exp_args:Nf #3 { \intexpr_eval:n{1+\intexpr_mod:nn {#1-1}{#2}} }
+ \exp_args:Nf #3 { \int_eval:n{1+\int_mod:nn {#1-1}{#2}} }
}
- { \exp_args:Nf #3{ \intexpr_eval:n{#1} } }
+ { \exp_args:Nf #3{ \int_eval:n{#1} } }
}
-\cs_new_nopar:Npn \int_alph_default_conversion_rule:n #1{
- \if_case:w #1
- \or: a\or: b\or: c\or: d\or: e\or: f
- \or: g\or: h\or: i\or: j\or: k\or: l
- \or: m\or: n\or: o\or: p\or: q\or: r
- \or: s\or: t\or: u\or: v\or: w\or: x
- \or: y\or: z
- \fi:
-}
-\cs_new_nopar:Npn \int_Alph_default_conversion_rule:n #1{
- \if_case:w #1
- \or: A\or: B\or: C\or: D\or: E\or: F
- \or: G\or: H\or: I\or: J\or: K\or: L
- \or: M\or: N\or: O\or: P\or: Q\or: R
- \or: S\or: T\or: U\or: V\or: W\or: X
- \or: Y\or: Z
- \fi:
-}
-\cs_new_nopar:Npn \int_to_alph:n #1{
- \int_convert_number_with_rule:nnN {#1}{26}
- \int_alph_default_conversion_rule:n
+\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_number_with_rule:nnN {#1}{26}
- \int_Alph_default_conversion_rule:n
+\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
@@ -214,21 +282,390 @@
\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{\intexpr_eval:n{#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{\intexpr_eval:n{#2}}{\intexpr_eval:n{#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 {
- \intexpr_compare:nTF { #2 > \c_minus_one }
+ \int_compare:nTF { #2 > \c_minus_one }
{
- \intexpr_compare:nTF { #2 > \c_max_register_int }
+ \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 = \intexpr_eval:n {#2}
+ \tex_global:D \tex_mathchardef:D #1 = \int_eval:n {#2}
}
}
{
@@ -236,6 +673,8 @@
\int_gset:Nn #1 {#2}
}
}
+\cs_generate_variant:Nn \int_const:Nn { c }
+\tex_mathchardef:D \c_max_register_int = 32767 \scan_stop:
%% \tex_countdef:D \c_minus_one = 10 \scan_stop:
%% \c_minus_one = -1 \scan_stop: %% in l3basics
\int_const:Nn \c_one {1}
@@ -266,97 +705,61 @@
\int_const:Nn \c_ten_thousand_four {10004}
\int_const:Nn \c_twenty_thousand {20000}
\int_const:Nn \c_max_int {2147483647}
-\cs_new_nopar: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_nopar: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_nopar: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_nopar: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 {oNNN}
-\cs_set_nopar:Npn \int_convert_from_base_ten:nn#1#2{
- \intexpr_compare:nNnTF {#1}<\c_zero
- {
- - \int_convert_from_base_ten_aux:nfn {}
- { \intexpr_eval:n {-#1} }
- }
- {
- \int_convert_from_base_ten_aux:nfn {}
- { \intexpr_eval:n {#1} }
- }
- {#2}
-}
-\cs_new_nopar:Npn \int_convert_from_base_ten_aux:nnn#1#2#3{
- \intexpr_compare:nNnTF {#2}<{#3}
- { \int_convert_number_to_letter:n{#2} #1 }
- {
- \int_convert_from_base_ten_aux:ffn
- {
- \int_convert_number_to_letter:n {\intexpr_mod:nn {#2}{#3}}
- #1
- }
- { \intexpr_div_truncate:nn{#2}{#3}}
- {#3}
- }
-}
-\cs_generate_variant:Nn \int_convert_from_base_ten_aux:nnn {nfn}
-\cs_generate_variant:Nn \int_convert_from_base_ten_aux:nnn {ffn}
-\cs_set_nopar:Npn \int_convert_number_to_letter:n #1{
- \if_case:w \intexpr_eval:w #1-10\intexpr_eval_end:
- \exp_after:wN A \or: \exp_after:wN B \or:
- \exp_after:wN C \or: \exp_after:wN D \or: \exp_after:wN E \or:
- \exp_after:wN F \or: \exp_after:wN G \or: \exp_after:wN H \or:
- \exp_after:wN I \or: \exp_after:wN J \or: \exp_after:wN K \or:
- \exp_after:wN L \or: \exp_after:wN M \or: \exp_after:wN N \or:
- \exp_after:wN O \or: \exp_after:wN P \or: \exp_after:wN Q \or:
- \exp_after:wN R \or: \exp_after:wN S \or: \exp_after:wN T \or:
- \exp_after:wN U \or: \exp_after:wN V \or: \exp_after:wN W \or:
- \exp_after:wN X \or: \exp_after:wN Y \or: \exp_after:wN Z \else:
- \use_i_after_fi:nw{ #1 }\fi: }
-\cs_set_nopar:Npn \int_convert_to_base_ten:nn #1#2 {
- \intexpr_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_nopar:Npn \int_convert_to_base_ten_aux:nn #1#2{
- \int_convert_to_base_ten_auxi:nnN {0}{#2} #1 \q_no_value
-}
-\cs_new_nopar:Npn \int_convert_to_base_ten_auxi:nnN#1#2#3{
- \quark_if_no_value:NTF #3
- {#1}
- {\exp_args:Nf\int_convert_to_base_ten_auxi:nnN
- {\intexpr_eval:n{ #1*#2+\int_convert_letter_to_number:N #3} }
- {#2}
- }
-}
-\cs_set_nopar:Npn \int_convert_letter_to_number:N #1{
- \intexpr_compare:nNnTF{`#1}<{58}{#1}
- {
- \intexpr_eval:n{ `#1 -
- \intexpr_compare:nNnTF{`#1}<{91}{ 55 }{ 87 }
- }
- }
-}
+\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
+\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_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/l3intexpr.sty b/Master/texmf-dist/tex/latex/expl3/l3intexpr.sty
deleted file mode 100644
index d751152223b..00000000000
--- a/Master/texmf-dist/tex/latex/expl3/l3intexpr.sty
+++ /dev/null
@@ -1,228 +0,0 @@
-%%
-%% This is file `l3intexpr.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3intexpr.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: l3intexpr.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: l3intexpr.dtx 2045 2010-09-22 03:59:34Z will $
- {L3 Integer Expressions}
-\ProvidesExplPackage
- {\filename}{\filedate}{\fileversion}{\filedescription}
-\package_check_loaded_expl:
-\cs_new_eq:NN \if_num:w \tex_ifnum:D
-\cs_new_eq:NN \if_case:w \tex_ifcase:D
-\cs_set_eq:NN \intexpr_value:w \tex_number:D
-\cs_set_eq:NN \intexpr_eval:w \etex_numexpr:D
-\cs_set_protected:Npn \intexpr_eval_end: {\tex_relax:D}
-\cs_set_eq:NN \if_intexpr_compare:w \tex_ifnum:D
-\cs_set_eq:NN \if_intexpr_odd:w \tex_ifodd:D
-\cs_set_eq:NN \if_intexpr_case:w \tex_ifcase:D
-\cs_set:Npn \intexpr_eval:n #1{
- \intexpr_value:w \intexpr_eval:w #1\intexpr_eval_end:
-}
-\prg_set_conditional:Npnn \intexpr_compare:n #1{p,TF,T,F}{
- \exp_after:wN \intexpr_compare_auxi:w \intexpr_value:w
- \intexpr_eval:w #1\q_stop
-}
-\cs_set:Npn \intexpr_compare_auxi:w #1#2\q_stop{
- \exp_after:wN \intexpr_compare_auxii:w \tex_romannumeral:D
- \if:w #1- \else: -\fi: #1#2 \q_mark #1#2 \q_stop
-}
-\cs_set:Npn \intexpr_compare_auxii:w #1#2#3\q_mark{
- \use:c{
- intexpr_compare_
- #1 \if_meaning:w =#2 = \fi:
- :w}
-}
-\cs_set:cpn {intexpr_compare_=:w} #1=#2\q_stop{
- \if_intexpr_compare:w #1=\intexpr_eval:w #2 \intexpr_eval_end:
- \prg_return_true: \else: \prg_return_false: \fi:
-}
-\cs_set:cpn {intexpr_compare_==:w} #1==#2\q_stop{
- \if_intexpr_compare:w #1=\intexpr_eval:w #2 \intexpr_eval_end:
- \prg_return_true: \else: \prg_return_false: \fi:
-}
-\cs_set:cpn {intexpr_compare_!=:w} #1!=#2\q_stop{
- \if_intexpr_compare:w #1=\intexpr_eval:w #2 \intexpr_eval_end:
- \prg_return_false: \else: \prg_return_true: \fi:
-}
-\cs_set:cpn {intexpr_compare_<:w} #1<#2\q_stop{
- \if_intexpr_compare:w #1<\intexpr_eval:w #2 \intexpr_eval_end:
- \prg_return_true: \else: \prg_return_false: \fi:
-}
-\cs_set:cpn {intexpr_compare_>:w} #1>#2\q_stop{
- \if_intexpr_compare:w #1>\intexpr_eval:w #2 \intexpr_eval_end:
- \prg_return_true: \else: \prg_return_false: \fi:
-}
-\cs_set:cpn {intexpr_compare_<=:w} #1<=#2\q_stop{
- \if_intexpr_compare:w #1>\intexpr_eval:w #2 \intexpr_eval_end:
- \prg_return_false: \else: \prg_return_true: \fi:
-}
-\cs_set:cpn {intexpr_compare_>=:w} #1>=#2\q_stop{
- \if_intexpr_compare:w #1<\intexpr_eval:w #2 \intexpr_eval_end:
- \prg_return_false: \else: \prg_return_true: \fi:
-}
-\prg_set_conditional:Npnn \intexpr_compare:nNn #1#2#3{p}{
- \if_intexpr_compare:w \intexpr_eval:w #1 #2 \intexpr_eval:w #3
- \intexpr_eval_end:
- \prg_return_true: \else: \prg_return_false: \fi:
-}
-\cs_set_nopar:Npn \intexpr_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 \intexpr_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 \intexpr_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 \intexpr_abs:n #1{
- \intexpr_value:w
- \if_intexpr_compare:w \intexpr_eval:w #1<\c_zero
- -
- \fi:
- \intexpr_eval:w #1\intexpr_eval_end:
-}
-\cs_set:Npn \intexpr_max:nn #1#2{
- \intexpr_value:w \intexpr_eval:w
- \if_intexpr_compare:w
- \intexpr_eval:w #1>\intexpr_eval:w #2\intexpr_eval_end:
- #1
- \else:
- #2
- \fi:
- \intexpr_eval_end:
-}
-\cs_set:Npn \intexpr_min:nn #1#2{
- \intexpr_value:w \intexpr_eval:w
- \if_intexpr_compare:w
- \intexpr_eval:w #1<\intexpr_eval:w #2\intexpr_eval_end:
- #1
- \else:
- #2
- \fi:
- \intexpr_eval_end:
-}
-\cs_set:Npn \intexpr_div_truncate:nn #1#2 {
- \intexpr_value:w \intexpr_eval:w
- \if_intexpr_compare:w \intexpr_eval:w #1 = \c_zero
- 0
- \else:
- (#1
- \if_intexpr_compare:w \intexpr_eval:w #1 < \c_zero
- \if_intexpr_compare:w \intexpr_eval:w #2 < \c_zero
- -( #2 +
- \else:
- +( #2 -
- \fi:
- \else:
- \if_intexpr_compare:w \intexpr_eval:w #2 < \c_zero
- +( #2 +
- \else:
- -( #2 -
- \fi:
- \fi:
- 1)/2)
- \fi:
- /(#2)
- \intexpr_eval_end:
-}
-\cs_set:Npn \intexpr_div_round:nn #1#2 {\intexpr_eval:n{(#1)/(#2)}}
-\cs_set:Npn \intexpr_mod:nn #1#2 {
- \intexpr_value:w
- \intexpr_eval:w
- #1 - \intexpr_div_truncate:nn {#1}{#2} * (#2)
- \intexpr_eval_end:
-}
-\prg_set_conditional:Npnn \intexpr_if_odd:n #1 {p,TF,T,F} {
- \if_intexpr_odd:w \intexpr_eval:w #1\intexpr_eval_end:
- \prg_return_true: \else: \prg_return_false: \fi:
-}
-\prg_set_conditional:Npnn \intexpr_if_even:n #1 {p,TF,T,F} {
- \if_intexpr_odd:w \intexpr_eval:w #1\intexpr_eval_end:
- \prg_return_false: \else: \prg_return_true: \fi:
-}
-\cs_set:Npn \intexpr_while_do:nn #1#2{
- \intexpr_compare:nT {#1}{#2 \intexpr_while_do:nn {#1}{#2}}
-}
-\cs_set:Npn \intexpr_until_do:nn #1#2{
- \intexpr_compare:nF {#1}{#2 \intexpr_until_do:nn {#1}{#2}}
-}
-\cs_set:Npn \intexpr_do_while:nn #1#2{
- #2 \intexpr_compare:nT {#1}{\intexpr_do_while:nNnn {#1}{#2}}
-}
-\cs_set:Npn \intexpr_do_until:nn #1#2{
- #2 \intexpr_compare:nF {#1}{\intexpr_do_until:nn {#1}{#2}}
-}
-\cs_set:Npn \intexpr_while_do:nNnn #1#2#3#4{
- \intexpr_compare:nNnT {#1}#2{#3}{#4 \intexpr_while_do:nNnn {#1}#2{#3}{#4}}
-}
-\cs_set:Npn \intexpr_until_do:nNnn #1#2#3#4{
- \intexpr_compare:nNnF {#1}#2{#3}{#4 \intexpr_until_do:nNnn {#1}#2{#3}{#4}}
-}
-\cs_set:Npn \intexpr_do_while:nNnn #1#2#3#4{
- #4 \intexpr_compare:nNnT {#1}#2{#3}{\intexpr_do_while:nNnn {#1}#2{#3}{#4}}
-}
-\cs_set:Npn \intexpr_do_until:nNnn #1#2#3#4{
- #4 \intexpr_compare:nNnF {#1}#2{#3}{\intexpr_do_until:nNnn {#1}#2{#3}{#4}}
-}
-\tex_mathchardef:D \c_max_register_int = 32767 \scan_stop:
-%%
-%%
-%% End of file `l3intexpr.sty'.
diff --git a/Master/texmf-dist/tex/latex/expl3/l3io.sty b/Master/texmf-dist/tex/latex/expl3/l3io.sty
index 5999b5a476d..10502e844ca 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3io.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3io.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3io.dtx 1923 2010-05-22 12:45:49Z joseph $
+\GetIdInfo$Id: l3io.dtx 2063 2010-10-03 08:26:49Z mittelba $
{L3 Experimental i/o module}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -101,7 +101,7 @@
\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
- \intexpr_compare:nTF { \l_iow_stream_int = \c_sixteen }
+ \int_compare:nTF { \l_iow_stream_int = \c_sixteen }
{ \msg_kernel_error:nn { iow } { streams-exhausted } }
{
\iow_stream_alloc:N #1
@@ -114,7 +114,7 @@
\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
- \intexpr_compare:nTF { \l_ior_stream_int = \c_sixteen }
+ \int_compare:nTF { \l_ior_stream_int = \c_sixteen }
{ \msg_kernel_error:nn { ior } { streams-exhausted } }
{
\ior_stream_alloc:N #1
@@ -142,7 +142,7 @@
{ \cs_gset_eq:Nc #1 { g_iow_ \int_use:N \l_iow_stream_int _stream } }
{
\iow_stream_alloc_aux:
- \intexpr_compare:nT { \l_iow_stream_int = \c_sixteen }
+ \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 }
@@ -155,7 +155,7 @@
}
\cs_new_protected_nopar:Npn \iow_stream_alloc_aux: {
\int_incr:N \l_iow_stream_int
- \intexpr_compare:nT
+ \int_compare:nT
{ \l_iow_stream_int < \c_sixteen }
{
\cs_if_exist:cTF { g_iow_ \int_use:N \l_iow_stream_int _stream }
@@ -171,7 +171,7 @@
{ \cs_gset_eq:Nc #1 { g_ior_ \int_use:N \l_ior_stream_int _stream } }
{
\ior_stream_alloc_aux:
- \intexpr_compare:nT { \l_ior_stream_int = \c_sixteen }
+ \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 }
@@ -184,7 +184,7 @@
}
\cs_new_protected_nopar:Npn \ior_stream_alloc_aux: {
\int_incr:N \l_ior_stream_int
- \intexpr_compare:nT
+ \int_compare:nT
{ \l_ior_stream_int < \c_sixteen }
{
\cs_if_exist:cTF { g_ior_ \int_use:N \l_ior_stream_int _stream }
@@ -198,7 +198,7 @@
\cs_new_protected_nopar:Npn \iow_close:N #1 {
\cs_if_exist:NT #1
{
- \intexpr_compare:nF { #1 = \c_minus_one }
+ \int_compare:nF { #1 = \c_minus_one }
{
\tex_immediate:D \tex_closeout:D #1
\prop_gdel:NV \g_iow_streams_prop #1
@@ -210,7 +210,7 @@
\cs_new_protected_nopar:Npn \ior_close:N #1 {
\cs_if_exist:NT #1
{
- \intexpr_compare:nF { #1 = \c_minus_one }
+ \int_compare:nF { #1 = \c_minus_one }
{
\tex_closein:D #1
\prop_gdel:NV \g_ior_streams_prop #1
diff --git a/Master/texmf-dist/tex/latex/expl3/l3keys.sty b/Master/texmf-dist/tex/latex/expl3/l3keys.sty
index c2ef0cf8954..45e799aa6a4 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3keys.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3keys.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3keys.dtx 1931 2010-05-24 21:06:50Z joseph $
+\GetIdInfo$Id: l3keys.dtx 2063 2010-10-03 08:26:49Z mittelba $
{L3 Experimental key-value support}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -171,7 +171,7 @@
}
\cs_new_protected:Npn \keys_define_key:n #1 {
\bool_if:NTF \l_keys_no_value_bool {
- \intexpr_compare:nTF {
+ \int_compare:nTF {
\exp_args:Nc \cs_get_arg_count_from_signature:N
{ \l_keys_property_tl } = \c_zero
} {
diff --git a/Master/texmf-dist/tex/latex/expl3/l3msg.sty b/Master/texmf-dist/tex/latex/expl3/l3msg.sty
index 6ed3dad14c1..4b1de84bee5 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3msg.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3msg.sty
@@ -49,16 +49,18 @@
%% -----------------------------------------------------------------------
%%
\RequirePackage{l3names}
-\GetIdInfo$Id: l3msg.dtx 1866 2010-03-23 08:29:27Z joseph $
+\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_fatal_tl { Fatal~Error }
-\tl_const:Nn \c_msg_error_tl { Error }
-\tl_const:Nn \c_msg_warning_tl { Warning }
-\tl_const:Nn \c_msg_info_tl { Info }
+\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:
@@ -73,8 +75,7 @@
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.
- \msg_newline:
+ There~is~a~coding~bug~somewhere~around~here. \\
This~probably~needs~examining~by~an~expert.
\c_msg_return_text_tl
}
@@ -83,19 +84,18 @@
\c_msg_return_text_tl
}
\tl_const:Nn \c_msg_return_text_tl {
- \msg_two_newlines:
+ \\ \\
Try~typing~<return>~to~proceed.
- \msg_newline:
+ \\
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 %
-{}%
-}%
+\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 ~>~ }
@@ -143,34 +143,44 @@
\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:xxxx#1#2#3#4{%
-\group_begin:%
-\cs_set_eq:NN\\\msg_newline:%
-\cs_set_eq:NN\ \c_space_tl%
-\msg_direct_interrupt_aux:n{#4}%
-\cs_set_nopar:Npn\\{\msg_newline:#3}%
-\tex_errhelp:D\l_msg_tmp_tl%
-\cs_set:Npn&{%
-\tex_errmessage:D{%
-#1\msg_newline:%
-#2\msg_two_newlines:%
-\c_msg_help_text_tl%
-\c_msg_hide_tl %
-}%
-}%
-&%
-\group_end:%
-}%
-}%
+ \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} }
+ \tl_set:Nx \l_msg_tmp_tl { {
+ |'''''''''''''''''''''''''''''''''''''''''''''''\\
+ #1^^J
+ |...............................................^^J
+ } }
}
}
\cs_new_protected:Npn \msg_direct_log:xx #1#2 {
@@ -276,24 +286,24 @@
}
}
\msg_class_new:nn { fatal } {
- \msg_direct_interrupt:xxxx
- { \c_msg_fatal_tl \msg_two_newlines: }
+ \msg_direct_interrupt:xxxxx
+ { \msg_fatal_text:n {#1} : ~ "#2" }
{
- ( \c_msg_fatal_tl ) \c_space_tl
\use:c { \c_msg_text_prefix_tl #1 / #2 :xxxx } {#3} {#4} {#5} {#6}
}
- { ( \c_msg_fatal_tl ) \c_space_tl }
+ {}
+ { \msg_see_documentation_text:n {#1} }
{ \c_msg_fatal_text_tl }
\tex_end:D
}
\msg_class_new:nn { error } {
- \msg_direct_interrupt:xxxx
- { #1~\c_msg_error_tl \msg_newline: }
+ \msg_direct_interrupt:xxxxx
+ { #1~ \c_msg_error_tl : ~ "#2" }
{
- ( #1 ) \c_space_tl
\use:c { \c_msg_text_prefix_tl #1 / #2 :xxxx } {#3} {#4} {#5} {#6}
}
- { ( #1 ) \c_space_tl }
+ {}
+ { \msg_see_documentation_text:n {#1} }
{
\cs_if_exist:cTF { \c_msg_more_text_prefix_tl #1 / #2 :xxxx }
{
@@ -372,27 +382,27 @@
}
}
\cs_new_protected:Npn \msg_kernel_fatal:nnxxxx #1#2#3#4#5#6 {
- \msg_direct_interrupt:xxxx
- { \c_msg_fatal_tl \msg_two_newlines: }
+ \msg_direct_interrupt:xxxxx
+ { \msg_fatal_text:n {LaTeX} }
{
- ( LaTeX ) \c_space_tl
\use:c { \c_msg_text_prefix_tl LaTeX / #1 / #2 :xxxx }
{#3} {#4} {#5} {#6}
}
- { ( LaTeX ) \c_space_tl}
+ {}
+ { \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:xxxx
- { LaTeX~\c_msg_error_tl \msg_newline: }
+ \msg_direct_interrupt:xxxxx
+ { LaTeX~\c_msg_error_tl \c_space_tl "#2" }
{
- ( LaTeX ) \c_space_tl
\use:c { \c_msg_text_prefix_tl LaTeX / #1 / #2 :xxxx }
{#3} {#4} {#5} {#6}
}
- { ( LaTeX ) \c_space_tl }
+ {}
+ { \msg_see_documentation_text:n {LaTeX3} }
{
\cs_if_exist:cTF
{ \c_msg_more_text_prefix_tl LaTeX / #1 / #2 :xxxx }
@@ -436,10 +446,11 @@
\c_msg_return_text_tl
}
\cs_set_protected:Npn \msg_kernel_bug:x #1 {
- \msg_direct_interrupt:xxxx
+ \msg_direct_interrupt:xxxxx
{ \c_msg_kernel_bug_text_tl }
- { !~#1 }
- { ! }
+ { #1 }
+ {}
+ { \msg_see_documentation_text:n {LaTeX3} }
{ \c_msg_kernel_bug_more_text_tl }
}
%%
diff --git a/Master/texmf-dist/tex/latex/expl3/l3names.sty b/Master/texmf-dist/tex/latex/expl3/l3names.sty
index d86ea68c3f3..13a2bf23621 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3names.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3names.sty
@@ -87,7 +87,7 @@
\gdef\filedescription{#1}%
\ProvidesPackage{[unknown package]}[0000/00/00 v0.0 #1]
}
-\GetIdInfo$Id: l3names.dtx 2048 2010-09-26 19:13:59Z joseph $
+\GetIdInfo$Id: l3names.dtx 2064 2010-10-03 23:27:33Z will $
{L3 Experimental Naming Scheme for TeX Primitives}
\endgroup
\def\@tempa{%
@@ -102,12 +102,12 @@
\expandafter\@tempa
\fi
\begingroup\expandafter\expandafter\expandafter\endgroup
- \ifx\csname pdfstrcmp\endcsname\relax
+ \expandafter\ifx\csname pdfstrcmp\endcsname\relax
\let\pdfstrcmp\strcmp
\fi
\begingroup\expandafter\expandafter\expandafter\endgroup
-\ifx\csname pdfstrcmp\endcsname\relax
- \PackageError{l3names}{Required primitives not found}
+\expandafter\ifx\csname pdfstrcmp\endcsname\relax
+ \PackageError{l3names}{Required primitive not found: \protect\pdfstrcmp}
{%
LaTeX3 requires the e-TeX primitives and
\string\pdfstrcmp.\MessageBreak
@@ -657,10 +657,12 @@
\name_primitive:NN \initcatcodetable \luatex_initcatcodetable:D
\name_primitive:NN \latelua \luatex_latelua:D
\name_primitive:NN \savecatcodetable \luatex_savecatcodetable:D
-\etex_ifdefined:D \strcmp
- \etex_ifdefined:D \xetex_version:D
- \name_primitive:NN \strcmp \pdf_strcmp:D
- \tex_fi: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
diff --git a/Master/texmf-dist/tex/latex/expl3/l3num.sty b/Master/texmf-dist/tex/latex/expl3/l3num.sty
index 138dfef767f..5658ff30e35 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3num.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3num.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3num.dtx 1914 2010-05-21 16:18:46Z schoepf $
+\GetIdInfo$Id: l3num.dtx 2063 2010-10-03 08:26:49Z mittelba $
{L3 Experimental token numbers}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -70,7 +70,7 @@
\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 \intexpr_eval:n {#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}
diff --git a/Master/texmf-dist/tex/latex/expl3/l3prg.sty b/Master/texmf-dist/tex/latex/expl3/l3prg.sty
index b4f8ec44ed6..13d62b490a9 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3prg.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3prg.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3prg.dtx 2043 2010-09-22 02:10:43Z will $
+\GetIdInfo$Id: l3prg.dtx 2063 2010-10-03 08:26:49Z mittelba $
{L3 Experimental control structures}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -73,11 +73,11 @@
\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: {
- \intexpr_compare:nNnT \etex_currentgrouptype:D = \c_six
+ \int_compare:nNnT \etex_currentgrouptype:D = \c_six
{
- \intexpr_compare:nNnF \etex_lastnodetype:D = \c_zero
+ \int_compare:nNnF \etex_lastnodetype:D = \c_zero
{
- \intexpr_compare:nNnF \etex_lastnodetype:D = \c_seven
+ \int_compare:nNnF \etex_lastnodetype:D = \c_seven
\scan_stop:
}
}
@@ -85,7 +85,7 @@
\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 \intexpr_eval:n{#1} \cs_end:
+ \tex_romannumeral:D -`\q \int_eval:n{#1} \cs_end:
\cs_end:
}
\cs_new_nopar:Npn \prg_replicate_aux:N#1{
@@ -124,26 +124,26 @@
\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{
- \intexpr_compare:nNnTF{#2}<\c_zero
+ \int_compare:nNnTF{#2}<\c_zero
{\exp_args:Nf\prg_stepwise_function_decr:nnnN }
{\exp_args:Nf\prg_stepwise_function_incr:nnnN }
- {\intexpr_eval:n{#1}}{#2}
+ {\int_eval:n{#1}}{#2}
}
\cs_new:Npn \prg_stepwise_function_incr:nnnN #1#2#3#4{
- \intexpr_compare:nNnF {#1}>{#3}
+ \int_compare:nNnF {#1}>{#3}
{
#4{#1}
\exp_args:Nf \prg_stepwise_function_incr:nnnN
- {\intexpr_eval:n{#1 + #2}}
+ {\int_eval:n{#1 + #2}}
{#2}{#3}{#4}
}
}
\cs_new:Npn \prg_stepwise_function_decr:nnnN #1#2#3#4{
- \intexpr_compare:nNnF {#1}<{#3}
+ \int_compare:nNnF {#1}<{#3}
{
#4{#1}
\exp_args:Nf \prg_stepwise_function_decr:nnnN
- {\intexpr_eval:n{#1 + #2}}
+ {\int_eval:n{#1 + #2}}
{#2}{#3}{#4}
}
}
@@ -151,49 +151,49 @@
\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}
- \intexpr_compare:nNnTF {#2}<\c_zero
+ \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}
- {\intexpr_eval:n{#1}} {#2} {#3}
+ {\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{
- \intexpr_compare:nNnF {#2}>{#4}
+ \int_compare:nNnF {#2}>{#4}
{
#1{#2}
\exp_args:NNf \prg_stepwise_inline_incr:Nnnn #1
- {\intexpr_eval:n{#2 + #3}} {#3}{#4}
+ {\int_eval:n{#2 + #3}} {#3}{#4}
}
}
\cs_new:Npn \prg_stepwise_inline_decr:Nnnn #1#2#3#4{
- \intexpr_compare:nNnF {#2}<{#4}
+ \int_compare:nNnF {#2}<{#4}
{
#1{#2}
\exp_args:NNf \prg_stepwise_inline_decr:Nnnn #1
- {\intexpr_eval:n{#2 + #3}} {#3}{#4}
+ {\int_eval:n{#2 + #3}} {#3}{#4}
}
}
\cs_new_protected:Npn \prg_stepwise_variable:nnnNn #1#2 {
- \intexpr_compare:nNnTF {#2}<\c_zero
+ \int_compare:nNnTF {#2}<\c_zero
{\exp_args:Nf\prg_stepwise_variable_decr:nnnNn}
{\exp_args:Nf\prg_stepwise_variable_incr:nnnNn}
- {\intexpr_eval:n{#1}}{#2}
+ {\int_eval:n{#1}}{#2}
}
\cs_new_protected:Npn \prg_stepwise_variable_incr:nnnNn #1#2#3#4#5 {
- \intexpr_compare:nNnF {#1}>{#3}
+ \int_compare:nNnF {#1}>{#3}
{
\cs_set_nopar:Npn #4{#1} #5
\exp_args:Nf \prg_stepwise_variable_incr:nnnNn
- {\intexpr_eval:n{#1 + #2}}{#2}{#3}#4{#5}
+ {\int_eval:n{#1 + #2}}{#2}{#3}#4{#5}
}
}
\cs_new_protected:Npn \prg_stepwise_variable_decr:nnnNn #1#2#3#4#5 {
- \intexpr_compare:nNnF {#1}<{#3}
+ \int_compare:nNnF {#1}<{#3}
{
\cs_set_nopar:Npn #4{#1} #5
\exp_args:Nf \prg_stepwise_variable_decr:nnnNn
- {\intexpr_eval:n{#1 + #2}}{#2}{#3}#4{#5}
+ {\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 }
@@ -360,7 +360,7 @@
\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 {
- \intexpr_compare:nNnTF {\bool_if_p:n { #1 }} = {\bool_if_p:n { #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}{
@@ -380,12 +380,12 @@
#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 { \intexpr_eval:n{#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}
- \intexpr_compare:nNnTF{#1}={#2}
+ \int_compare:nNnTF{#1}={#2}
{ \prg_end_case:nw {#3} }
{ \prg_case_int_aux:nnn {#1}}
}
diff --git a/Master/texmf-dist/tex/latex/expl3/l3skip.sty b/Master/texmf-dist/tex/latex/expl3/l3skip.sty
index b6f10c5127d..813b1ad11e3 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3skip.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3skip.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3skip.dtx 2047 2010-09-23 09:27:30Z will $
+\GetIdInfo$Id: l3skip.dtx 2063 2010-10-03 08:26:49Z mittelba $
{L3 Experimental skip registers}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -114,8 +114,8 @@
\cs_set_eq:NN \c_max_skip \maxdimen
\prg_new_conditional:Nnn \skip_if_infinite_glue:n {p,TF,T,F} {
\bool_if:nTF {
- \intexpr_compare_p:nNn {\etex_gluestretchorder:D #1 } > \c_zero ||
- \intexpr_compare_p:nNn {\etex_glueshrinkorder:D #1 } > \c_zero
+ \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{
@@ -167,14 +167,13 @@
\cs_new_eq:NN \c_max_dim \c_max_skip
\cs_new_protected_nopar:Npn \dim_eval:n #1 { \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 \dim_eval:n {#1} #2 \dim_eval:n {#3}
\prg_return_true: \else: \prg_return_false: \fi:
}
-\cs_set_eq:NN \dim_value:w \tex_number:D
-\cs_set_eq:NN \dim_eval:w \etex_dimexpr:D
-\cs_set_eq:NN \if_dim_compare:w \if_dim:w
-\cs_set_eq:NN \dim_eval_end: \scan_stop:
\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
@@ -189,31 +188,31 @@
:w}
}
\cs_new:cpn {dim_compare_=:w} #1 = #2 \q_stop {
- \if_dim_compare:w #1 sp = \dim_eval:w #2 \dim_eval_end:
+ \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_compare:w #1 sp = \dim_eval:w #2 \dim_eval_end:
+ \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_compare:w #1 sp = \dim_eval:w #2 \dim_eval_end:
+ \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_compare:w #1 sp < \dim_eval:w #2 \dim_eval_end:
+ \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_compare:w #1 sp > \dim_eval:w #2 \dim_eval_end:
+ \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_compare:w #1 sp > \dim_eval:w #2 \dim_eval_end:
+ \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_compare:w #1 sp < \dim_eval:w #2 \dim_eval_end:
+ \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{
diff --git a/Master/texmf-dist/tex/latex/expl3/l3tl.sty b/Master/texmf-dist/tex/latex/expl3/l3tl.sty
index 19df9805a95..2fd347e0184 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3tl.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3tl.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3tl.dtx 2040 2010-09-21 18:11:09Z joseph $
+\GetIdInfo$Id: l3tl.dtx 2063 2010-10-03 08:26:49Z mittelba $
{L3 Experimental Token Lists}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -355,13 +355,13 @@
\tl_set:Nf #1 { \tl_reverse:o { #1 \exp_stop_f: } }
}
\cs_new:Npn \tl_elt_count:n #1{
- \intexpr_eval:n {
+ \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{
- \intexpr_eval:n {
+ \int_eval:n {
0 \tl_map_function:NN #1 \tl_elt_count_aux:n
}
}
diff --git a/Master/texmf-dist/tex/latex/expl3/l3token.sty b/Master/texmf-dist/tex/latex/expl3/l3token.sty
index 873775f95d0..826763a5693 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3token.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3token.sty
@@ -48,24 +48,24 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3token.dtx 2029 2010-09-19 13:59:02Z joseph $
+\GetIdInfo$Id: l3token.dtx 2063 2010-10-03 08:26:49Z mittelba $
{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 = \intexpr_eval:w #2\intexpr_eval_end:
+ \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 \intexpr_eval:w #1\intexpr_eval_end:
+ \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 \intexpr_eval:w #1\intexpr_eval_end:
+ \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} }
@@ -101,51 +101,51 @@
\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 = \intexpr_eval:w #2\intexpr_eval_end:
+ \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 = \intexpr_eval:w #2\intexpr_eval_end:
+ \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 \intexpr_eval:w #1\intexpr_eval_end:
+ \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 \intexpr_eval:w #1\intexpr_eval_end:
+ \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 = \intexpr_eval:w #2\intexpr_eval_end:
+ \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
- \intexpr_eval:w #1\intexpr_eval_end:}
+ \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 \intexpr_eval:w #1\intexpr_eval_end:}
+ \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 = \intexpr_eval:w #2\intexpr_eval_end:
+ \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
- \intexpr_eval:w #1\intexpr_eval_end:}
+ \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 \intexpr_eval:w #1\intexpr_eval_end:}
+ \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 = \intexpr_eval:w #2\intexpr_eval_end:
+ \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 \intexpr_eval:w #1\intexpr_eval_end:
+ \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 \intexpr_eval:w #1\intexpr_eval_end:
+ \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 {