summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-05-14 22:40:58 +0000
committerKarl Berry <karl@freefriends.org>2017-05-14 22:40:58 +0000
commite0c5d6d38a1f285f20a66692e46d2e607d6ff1dd (patch)
tree977232bc088d27b46d9a6330c8f4f47aa98dbb78 /Master/texmf-dist/tex/latex/l3kernel
parent4407d96af752e6e79a48c25c5189bd1a63fbd125 (diff)
l3 (14may17)
git-svn-id: svn://tug.org/texlive/trunk@44351 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex887
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex3
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty24
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3basics.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3box.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3clist.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3color.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3doc.cls4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def67
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3expan.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3file.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3fp.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3int.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3keys.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3msg.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3names.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3prg.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3prop.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3quark.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3seq.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3skip.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3sort.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3tl.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3token.sty1
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def95
30 files changed, 600 insertions, 553 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index f0604e11f7c..16769c81796 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -58,7 +58,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx Copyright (C) 1990-2017 The LaTeX3 Project
-\def\ExplFileDate{2017/04/01}%
+\def\ExplFileDate{2017/05/13}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -3064,7 +3064,8 @@
\cs_new_protected:Npn \tl_map_inline:nn #1#2
{
\int_gincr:N \g__prg_map_int
- \cs_gset:cpn { __prg_map_ \int_use:N \g__prg_map_int :w } ##1 {#2}
+ \cs_gset_protected:cpn
+ { __prg_map_ \int_use:N \g__prg_map_int :w } ##1 {#2}
\exp_args:Nc \__tl_map_function:Nn
{ __prg_map_ \int_use:N \g__prg_map_int :w }
#1 \q_recursion_tail
@@ -4788,7 +4789,7 @@
\cs_generate_variant:Nn \int_gincr:N { c }
\cs_generate_variant:Nn \int_gdecr:N { c }
\cs_new_protected:Npn \int_set:Nn #1#2
- { #1 ~ \__int_eval:w #2\__int_eval_end: }
+ { #1 ~ \__int_eval:w #2 \__int_eval_end: }
\cs_new_protected:Npn \int_gset:Nn { \tex_global:D \int_set:Nn }
\cs_generate_variant:Nn \int_set:Nn { c }
\cs_generate_variant:Nn \int_gset:Nn { c }
@@ -5005,14 +5006,14 @@
{
\int_gincr:N \g__prg_map_int
\exp_args:NNc \__int_step:NNnnnn
- \cs_gset:Npn
+ \cs_gset_protected:Npn
{ __prg_map_ \int_use:N \g__prg_map_int :w }
}
\cs_new_protected:Npn \int_step_variable:nnnNn #1#2#3#4#5
{
\int_gincr:N \g__prg_map_int
\exp_args:NNc \__int_step:NNnnnn
- \cs_gset:Npx
+ \cs_gset_protected:Npx
{ __prg_map_ \int_use:N \g__prg_map_int :w }
{#1}{#2}{#3}
{
@@ -6307,7 +6308,8 @@
\clist_if_empty:NF #1
{
\int_gincr:N \g__prg_map_int
- \cs_gset:cpn { __prg_map_ \int_use:N \g__prg_map_int :w } ##1 {#2}
+ \cs_gset_protected:cpn
+ { __prg_map_ \int_use:N \g__prg_map_int :w } ##1 {#2}
\exp_last_unbraced:Nco \__clist_map_function:Nw
{ __prg_map_ \int_use:N \g__prg_map_int :w }
#1 , \q_recursion_tail ,
@@ -7474,7 +7476,7 @@
\cs_gset_eq:cN
{ __prg_map_ \int_use:N \g__prg_map_int :wn } \__prop_pair:wn
\int_gincr:N \g__prg_map_int
- \cs_gset:Npn \__prop_pair:wn ##1 \s__prop ##2 {#2}
+ \cs_gset_protected:Npn \__prop_pair:wn ##1 \s__prop ##2 {#2}
#1
\__prg_break_point:Nn \prop_map_break:
{
@@ -11329,10 +11331,13 @@
{
\cs_if_exist_use:cF { __fp_parse_word_#2:N }
{
- \__msg_kernel_expandable_error:nnn
- { kernel } { unknown-fp-word } {#2}
- \exp_after:wN \c_nan_fp \exp:w \exp_end_continue_f:w
- \__fp_parse_infix:NN
+ \cs_if_exist_use:cF { __fp_parse_caseless_ \str_fold_case:n {#2} :N }
+ {
+ \__msg_kernel_expandable_error:nnn
+ { kernel } { unknown-fp-word } {#2}
+ \exp_after:wN \c_nan_fp \exp:w \exp_end_continue_f:w
+ \__fp_parse_infix:NN
+ }
}
#1
}
@@ -11823,6 +11828,9 @@
\__fp_tmp:w { deg } \c_one_degree_fp
\__fp_tmp:w { true } \c_one_fp
\__fp_tmp:w { false } \c_zero_fp
+\cs_new_eq:NN \__fp_parse_caseless_inf:N \__fp_parse_word_inf:N
+\cs_new_eq:NN \__fp_parse_caseless_infinity:N \__fp_parse_word_inf:N
+\cs_new_eq:NN \__fp_parse_caseless_nan:N \__fp_parse_word_nan:N
\cs_set_protected:Npn \__fp_tmp:w #1 #2
{
\cs_new:cpn { __fp_parse_word_#1:N }
@@ -12512,13 +12520,29 @@
}
}
\cs_generate_variant:Nn \__fp_step:NnnnnN { Nf }
-\cs_new_protected:Npn \fp_step_inline:nnnn #1#2#3#4
+\cs_new_protected:Npn \fp_step_inline:nnnn
+ {
+ \int_gincr:N \g__prg_map_int
+ \exp_args:NNc \__fp_step:NNnnnn
+ \cs_gset_protected:Npn
+ { __prg_map_ \int_use:N \g__prg_map_int :w }
+ }
+\cs_new_protected:Npn \fp_step_variable:nnnNn #1#2#3#4#5
{
\int_gincr:N \g__prg_map_int
- \cs_gset_protected:cpn { __prg_map_ \int_use:N \g__prg_map_int :w }
- ##1 {#4}
- \fp_step_function:nnnc {#1} {#2} {#3}
+ \exp_args:NNc \__fp_step:NNnnnn
+ \cs_gset_protected:Npx
{ __prg_map_ \int_use:N \g__prg_map_int :w }
+ {#1} {#2} {#3}
+ {
+ \tl_set:Nn \exp_not:N #4 {##1}
+ \exp_not:n {#5}
+ }
+ }
+\cs_new_protected:Npn \__fp_step:NNnnnn #1#2#3#4#5#6
+ {
+ #1 #2 ##1 {#6}
+ \fp_step_function:nnnN {#3} {#4} {#5} #2
\__prg_break_point:Nn \scan_stop: { \int_gdecr:N \g__prg_map_int }
}
\__msg_kernel_new:nnn { kernel } { fp-bad-step }
@@ -16320,29 +16344,45 @@
}
}
\cs_generate_variant:Nn \__box_show:NNnn { NNff }
-\cs_new_protected:Npn \hbox:n #1 { \tex_hbox:D \scan_stop: {#1} }
+\cs_new_protected:Npn \hbox:n #1
+ { \tex_hbox:D \scan_stop: { \group_begin: #1 \group_end: } }
\cs_new_protected:Npn \hbox_set:Nn #1#2
- { \tex_setbox:D #1 \tex_hbox:D {#2} }
+ { \tex_setbox:D #1 \tex_hbox:D { \group_begin: #2 \group_end: } }
\cs_new_protected:Npn \hbox_gset:Nn { \tex_global:D \hbox_set:Nn }
\cs_generate_variant:Nn \hbox_set:Nn { c }
\cs_generate_variant:Nn \hbox_gset:Nn { c }
\cs_new_protected:Npn \hbox_set_to_wd:Nnn #1#2#3
- { \tex_setbox:D #1 \tex_hbox:D to \__dim_eval:w #2 \__dim_eval_end: {#3} }
+ {
+ \tex_setbox:D #1 \tex_hbox:D to \__dim_eval:w #2 \__dim_eval_end:
+ { \group_begin: #3 \group_end: }
+ }
\cs_new_protected:Npn \hbox_gset_to_wd:Nnn
{ \tex_global:D \hbox_set_to_wd:Nnn }
\cs_generate_variant:Nn \hbox_set_to_wd:Nnn { c }
\cs_generate_variant:Nn \hbox_gset_to_wd:Nnn { c }
\cs_new_protected:Npn \hbox_set:Nw #1
- { \tex_setbox:D #1 \tex_hbox:D \c_group_begin_token }
+ {
+ \tex_setbox:D #1 \tex_hbox:D
+ \c_group_begin_token
+ \group_begin:
+ }
\cs_new_protected:Npn \hbox_gset:Nw
{ \tex_global:D \hbox_set:Nw }
\cs_generate_variant:Nn \hbox_set:Nw { c }
\cs_generate_variant:Nn \hbox_gset:Nw { c }
-\cs_new_eq:NN \hbox_set_end: \c_group_end_token
-\cs_new_eq:NN \hbox_gset_end: \c_group_end_token
+\cs_new_protected:Npn \hbox_set_end:
+ {
+ \group_end:
+ \c_group_end_token
+ }
+\cs_new_eq:NN \hbox_gset_end: \hbox_set_end:
\cs_new_protected:Npn \hbox_to_wd:nn #1#2
- { \tex_hbox:D to \__dim_eval:w #1 \__dim_eval_end: {#2} }
-\cs_new_protected:Npn \hbox_to_zero:n #1 { \tex_hbox:D to \c_zero_dim {#1} }
+ {
+ \tex_hbox:D to \__dim_eval:w #1 \__dim_eval_end:
+ { \group_begin: #2 \group_end: }
+ }
+\cs_new_protected:Npn \hbox_to_zero:n #1
+ { \tex_hbox:D to \c_zero_dim { \group_begin: #1 \group_end: } }
\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
@@ -16351,19 +16391,33 @@
\cs_new_eq:NN \hbox_unpack_clear:N \tex_unhbox:D
\cs_generate_variant:Nn \hbox_unpack:N { c }
\cs_generate_variant:Nn \hbox_unpack_clear:N { c }
-\cs_new_protected:Npn \vbox:n #1 { \tex_vbox:D { #1 \par } }
-\cs_new_protected:Npn \vbox_top:n #1 { \tex_vtop:D { #1 \par } }
+\cs_new_protected:Npn \vbox:n #1
+ { \tex_vbox:D { \group_begin: #1 \par \group_end: } }
+\cs_new_protected:Npn \vbox_top:n #1
+ { \tex_vtop:D { \group_begin: #1 \par \group_end: } }
\cs_new_protected:Npn \vbox_to_ht:nn #1#2
- { \tex_vbox:D to \__dim_eval:w #1 \__dim_eval_end: { #2 \par } }
+ {
+ \tex_vbox:D to \__dim_eval:w #1 \__dim_eval_end:
+ { \group_begin: #2 \par \group_end: }
+ }
\cs_new_protected:Npn \vbox_to_zero:n #1
- { \tex_vbox:D to \c_zero_dim { #1 \par } }
+ {
+ \tex_vbox:D to \c_zero_dim
+ { \group_begin: #1 \par \group_end: }
+ }
\cs_new_protected:Npn \vbox_set:Nn #1#2
- { \tex_setbox:D #1 \tex_vbox:D { #2 \par } }
+ {
+ \tex_setbox:D #1 \tex_vbox:D
+ { \group_begin: #2 \par \group_end: }
+ }
\cs_new_protected:Npn \vbox_gset:Nn { \tex_global:D \vbox_set:Nn }
\cs_generate_variant:Nn \vbox_set:Nn { c }
\cs_generate_variant:Nn \vbox_gset:Nn { c }
\cs_new_protected:Npn \vbox_set_top:Nn #1#2
- { \tex_setbox:D #1 \tex_vtop:D { #2 \par } }
+ {
+ \tex_setbox:D #1 \tex_vtop:D
+ { \group_begin: #2 \par \group_end: }
+ }
\cs_new_protected:Npn \vbox_gset_top:Nn
{ \tex_global:D \vbox_set_top:Nn }
\cs_generate_variant:Nn \vbox_set_top:Nn { c }
@@ -16371,21 +16425,26 @@
\cs_new_protected:Npn \vbox_set_to_ht:Nnn #1#2#3
{
\tex_setbox:D #1 \tex_vbox:D to \__dim_eval:w #2 \__dim_eval_end:
- { #3 \par }
+ { \group_begin: #3 \par \group_end: }
}
\cs_new_protected:Npn \vbox_gset_to_ht:Nnn
{ \tex_global:D \vbox_set_to_ht:Nnn }
\cs_generate_variant:Nn \vbox_set_to_ht:Nnn { c }
\cs_generate_variant:Nn \vbox_gset_to_ht:Nnn { c }
\cs_new_protected:Npn \vbox_set:Nw #1
- { \tex_setbox:D #1 \tex_vbox:D \c_group_begin_token }
+ {
+ \tex_setbox:D #1 \tex_vbox:D
+ \c_group_begin_token
+ \group_begin:
+ }
\cs_new_protected:Npn \vbox_gset:Nw
{ \tex_global:D \vbox_set:Nw }
\cs_generate_variant:Nn \vbox_set:Nw { c }
\cs_generate_variant:Nn \vbox_gset:Nw { c }
\cs_new_protected:Npn \vbox_set_end:
{
- \par
+ \par
+ \group_end:
\c_group_end_token
}
\cs_new_eq:NN \vbox_gset_end: \vbox_set_end:
@@ -16395,21 +16454,322 @@
\cs_generate_variant:Nn \vbox_unpack_clear:N { c }
\cs_new_protected:Npn \vbox_set_split_to_ht:NNn #1#2#3
{ \tex_setbox:D #1 \tex_vsplit:D #2 to \__dim_eval:w #3 \__dim_eval_end: }
+\fp_new:N \l__box_angle_fp
+\fp_new:N \l__box_cos_fp
+\fp_new:N \l__box_sin_fp
+\dim_new:N \l__box_top_dim
+\dim_new:N \l__box_bottom_dim
+\dim_new:N \l__box_left_dim
+\dim_new:N \l__box_right_dim
+\dim_new:N \l__box_top_new_dim
+\dim_new:N \l__box_bottom_new_dim
+\dim_new:N \l__box_left_new_dim
+\dim_new:N \l__box_right_new_dim
+\box_new:N \l__box_internal_box
+\cs_new_protected:Npn \box_rotate:Nn #1#2
+ {
+ \hbox_set:Nn #1
+ {
+ \fp_set:Nn \l__box_angle_fp {#2}
+ \fp_set:Nn \l__box_sin_fp { sind ( \l__box_angle_fp ) }
+ \fp_set:Nn \l__box_cos_fp { cosd ( \l__box_angle_fp ) }
+ \__box_rotate:N #1
+ }
+ }
+\cs_new_protected:Npn \__box_rotate:N #1
+ {
+ \dim_set:Nn \l__box_top_dim { \box_ht:N #1 }
+ \dim_set:Nn \l__box_bottom_dim { -\box_dp:N #1 }
+ \dim_set:Nn \l__box_right_dim { \box_wd:N #1 }
+ \dim_zero:N \l__box_left_dim
+ \fp_compare:nNnTF \l__box_sin_fp > \c_zero_fp
+ {
+ \fp_compare:nNnTF \l__box_cos_fp > \c_zero_fp
+ { \__box_rotate_quadrant_one: }
+ { \__box_rotate_quadrant_two: }
+ }
+ {
+ \fp_compare:nNnTF \l__box_cos_fp < \c_zero_fp
+ { \__box_rotate_quadrant_three: }
+ { \__box_rotate_quadrant_four: }
+ }
+ \hbox_set:Nn \l__box_internal_box { \box_use:N #1 }
+ \hbox_set:Nn \l__box_internal_box
+ {
+ \tex_kern:D -\l__box_left_new_dim
+ \hbox:n
+ {
+ \__driver_box_use_rotate:Nn
+ \l__box_internal_box
+ \l__box_angle_fp
+ }
+ }
+ \box_set_ht:Nn \l__box_internal_box { \l__box_top_new_dim }
+ \box_set_dp:Nn \l__box_internal_box { -\l__box_bottom_new_dim }
+ \box_set_wd:Nn \l__box_internal_box
+ { \l__box_right_new_dim - \l__box_left_new_dim }
+ \box_use:N \l__box_internal_box
+ }
+\cs_new_protected:Npn \__box_rotate_x:nnN #1#2#3
+ {
+ \dim_set:Nn #3
+ {
+ \fp_to_dim:n
+ {
+ \l__box_cos_fp * \dim_to_fp:n {#1}
+ - \l__box_sin_fp * \dim_to_fp:n {#2}
+ }
+ }
+ }
+\cs_new_protected:Npn \__box_rotate_y:nnN #1#2#3
+ {
+ \dim_set:Nn #3
+ {
+ \fp_to_dim:n
+ {
+ \l__box_sin_fp * \dim_to_fp:n {#1}
+ + \l__box_cos_fp * \dim_to_fp:n {#2}
+ }
+ }
+ }
+\cs_new_protected:Npn \__box_rotate_quadrant_one:
+ {
+ \__box_rotate_y:nnN \l__box_right_dim \l__box_top_dim
+ \l__box_top_new_dim
+ \__box_rotate_y:nnN \l__box_left_dim \l__box_bottom_dim
+ \l__box_bottom_new_dim
+ \__box_rotate_x:nnN \l__box_left_dim \l__box_top_dim
+ \l__box_left_new_dim
+ \__box_rotate_x:nnN \l__box_right_dim \l__box_bottom_dim
+ \l__box_right_new_dim
+ }
+\cs_new_protected:Npn \__box_rotate_quadrant_two:
+ {
+ \__box_rotate_y:nnN \l__box_right_dim \l__box_bottom_dim
+ \l__box_top_new_dim
+ \__box_rotate_y:nnN \l__box_left_dim \l__box_top_dim
+ \l__box_bottom_new_dim
+ \__box_rotate_x:nnN \l__box_right_dim \l__box_top_dim
+ \l__box_left_new_dim
+ \__box_rotate_x:nnN \l__box_left_dim \l__box_bottom_dim
+ \l__box_right_new_dim
+ }
+\cs_new_protected:Npn \__box_rotate_quadrant_three:
+ {
+ \__box_rotate_y:nnN \l__box_left_dim \l__box_bottom_dim
+ \l__box_top_new_dim
+ \__box_rotate_y:nnN \l__box_right_dim \l__box_top_dim
+ \l__box_bottom_new_dim
+ \__box_rotate_x:nnN \l__box_right_dim \l__box_bottom_dim
+ \l__box_left_new_dim
+ \__box_rotate_x:nnN \l__box_left_dim \l__box_top_dim
+ \l__box_right_new_dim
+ }
+\cs_new_protected:Npn \__box_rotate_quadrant_four:
+ {
+ \__box_rotate_y:nnN \l__box_left_dim \l__box_top_dim
+ \l__box_top_new_dim
+ \__box_rotate_y:nnN \l__box_right_dim \l__box_bottom_dim
+ \l__box_bottom_new_dim
+ \__box_rotate_x:nnN \l__box_left_dim \l__box_bottom_dim
+ \l__box_left_new_dim
+ \__box_rotate_x:nnN \l__box_right_dim \l__box_top_dim
+ \l__box_right_new_dim
+ }
+\fp_new:N \l__box_scale_x_fp
+\fp_new:N \l__box_scale_y_fp
+\cs_new_protected:Npn \box_resize_to_wd_and_ht_plus_dp:Nnn #1#2#3
+ {
+ \hbox_set:Nn #1
+ {
+ \__box_resize_set_corners:N #1
+ \fp_set:Nn \l__box_scale_x_fp
+ { \dim_to_fp:n {#2} / \dim_to_fp:n { \l__box_right_dim } }
+ \fp_set:Nn \l__box_scale_y_fp
+ {
+ \dim_to_fp:n {#3}
+ / \dim_to_fp:n { \l__box_top_dim - \l__box_bottom_dim }
+ }
+ \__box_resize:N #1
+ }
+ }
+\cs_generate_variant:Nn \box_resize_to_wd_and_ht_plus_dp:Nnn { c }
+\cs_new_protected:Npn \__box_resize_set_corners:N #1
+ {
+ \dim_set:Nn \l__box_top_dim { \box_ht:N #1 }
+ \dim_set:Nn \l__box_bottom_dim { -\box_dp:N #1 }
+ \dim_set:Nn \l__box_right_dim { \box_wd:N #1 }
+ \dim_zero:N \l__box_left_dim
+ }
+\cs_new_protected:Npn \__box_resize:N #1
+ {
+ \__box_resize:NNN \l__box_right_new_dim
+ \l__box_scale_x_fp \l__box_right_dim
+ \__box_resize:NNN \l__box_bottom_new_dim
+ \l__box_scale_y_fp \l__box_bottom_dim
+ \__box_resize:NNN \l__box_top_new_dim
+ \l__box_scale_y_fp \l__box_top_dim
+ \__box_resize_common:N #1
+ }
+\cs_new_protected:Npn \__box_resize:NNN #1#2#3
+ {
+ \dim_set:Nn #1
+ { \fp_to_dim:n { \fp_abs:n { #2 } * \dim_to_fp:n { #3 } } }
+ }
+\cs_new_protected:Npn \box_resize_to_ht:Nn #1#2
+ {
+ \hbox_set:Nn #1
+ {
+ \__box_resize_set_corners:N #1
+ \fp_set:Nn \l__box_scale_y_fp
+ {
+ \dim_to_fp:n {#2}
+ / \dim_to_fp:n { \l__box_top_dim }
+ }
+ \fp_set_eq:NN \l__box_scale_x_fp \l__box_scale_y_fp
+ \__box_resize:N #1
+ }
+ }
+\cs_generate_variant:Nn \box_resize_to_ht:Nn { c }
+\cs_new_protected:Npn \box_resize_to_ht_plus_dp:Nn #1#2
+ {
+ \hbox_set:Nn #1
+ {
+ \__box_resize_set_corners:N #1
+ \fp_set:Nn \l__box_scale_y_fp
+ {
+ \dim_to_fp:n {#2}
+ / \dim_to_fp:n { \l__box_top_dim - \l__box_bottom_dim }
+ }
+ \fp_set_eq:NN \l__box_scale_x_fp \l__box_scale_y_fp
+ \__box_resize:N #1
+ }
+ }
+\cs_generate_variant:Nn \box_resize_to_ht_plus_dp:Nn { c }
+\cs_new_protected:Npn \box_resize_to_wd:Nn #1#2
+ {
+ \hbox_set:Nn #1
+ {
+ \__box_resize_set_corners:N #1
+ \fp_set:Nn \l__box_scale_x_fp
+ { \dim_to_fp:n {#2} / \dim_to_fp:n { \l__box_right_dim } }
+ \fp_set_eq:NN \l__box_scale_y_fp \l__box_scale_x_fp
+ \__box_resize:N #1
+ }
+ }
+\cs_generate_variant:Nn \box_resize_to_wd:Nn { c }
+\cs_new_protected:Npn \box_resize_to_wd_and_ht:Nnn #1#2#3
+ {
+ \hbox_set:Nn #1
+ {
+ \__box_resize_set_corners:N #1
+ \fp_set:Nn \l__box_scale_x_fp
+ { \dim_to_fp:n {#2} / \dim_to_fp:n { \l__box_right_dim } }
+ \fp_set:Nn \l__box_scale_y_fp
+ {
+ \dim_to_fp:n {#3}
+ / \dim_to_fp:n { \l__box_top_dim }
+ }
+ \__box_resize:N #1
+ }
+ }
+\cs_generate_variant:Nn \box_resize_to_wd_and_ht:Nnn { c }
+\cs_new_protected:Npn \box_scale:Nnn #1#2#3
+ {
+ \hbox_set:Nn #1
+ {
+ \fp_set:Nn \l__box_scale_x_fp {#2}
+ \fp_set:Nn \l__box_scale_y_fp {#3}
+ \__box_scale_aux:N #1
+ }
+ }
+\cs_generate_variant:Nn \box_scale:Nnn { c }
+\cs_new_protected:Npn \__box_scale_aux:N #1
+ {
+ \dim_set:Nn \l__box_top_dim { \box_ht:N #1 }
+ \dim_set:Nn \l__box_bottom_dim { -\box_dp:N #1 }
+ \dim_set:Nn \l__box_right_dim { \box_wd:N #1 }
+ \dim_zero:N \l__box_left_dim
+ \dim_set:Nn \l__box_top_new_dim
+ { \fp_abs:n { \l__box_scale_y_fp } \l__box_top_dim }
+ \dim_set:Nn \l__box_bottom_new_dim
+ { \fp_abs:n { \l__box_scale_y_fp } \l__box_bottom_dim }
+ \dim_set:Nn \l__box_right_new_dim
+ { \fp_abs:n { \l__box_scale_x_fp } \l__box_right_dim }
+ \__box_resize_common:N #1
+ }
+\cs_new_protected:Npn \box_autosize_to_wd_and_ht:Nnn #1#2#3
+ { \__box_autosize:Nnnn #1 {#2} {#3} { \box_ht:N #1 } }
+\cs_generate_variant:Nn \box_autosize_to_wd_and_ht:Nnn { c }
+\cs_new_protected:Npn \box_autosize_to_wd_and_ht_plus_dp:Nnn #1#2#3
+ { \__box_autosize:Nnnn #1 {#2} {#3} { \box_ht:N #1 + \box_dp:N #1 } }
+\cs_generate_variant:Nn \box_autosize_to_wd_and_ht_plus_dp:Nnn { c }
+\cs_new_protected:Npn \__box_autosize:Nnnn #1#2#3#4
+ {
+ \hbox_set:Nn #1
+ {
+ \fp_set:Nn \l__box_scale_x_fp { ( #2 ) / \box_wd:N #1 }
+ \fp_set:Nn \l__box_scale_y_fp { ( #3 ) / ( #4 ) }
+ \fp_compare:nNnTF \l__box_scale_x_fp > \l__box_scale_y_fp
+ { \fp_set_eq:NN \l__box_scale_x_fp \l__box_scale_y_fp }
+ { \fp_set_eq:NN \l__box_scale_y_fp \l__box_scale_x_fp }
+ \__box_scale_aux:N #1
+ }
+ }
+\cs_new_protected:Npn \__box_resize_common:N #1
+ {
+ \hbox_set:Nn \l__box_internal_box
+ {
+ \__driver_box_use_scale:Nnn
+ #1
+ \l__box_scale_x_fp
+ \l__box_scale_y_fp
+ }
+ \fp_compare:nNnTF \l__box_scale_y_fp > \c_zero_fp
+ {
+ \box_set_ht:Nn \l__box_internal_box { \l__box_top_new_dim }
+ \box_set_dp:Nn \l__box_internal_box { -\l__box_bottom_new_dim }
+ }
+ {
+ \box_set_dp:Nn \l__box_internal_box { \l__box_top_new_dim }
+ \box_set_ht:Nn \l__box_internal_box { -\l__box_bottom_new_dim }
+ }
+ \fp_compare:nNnTF \l__box_scale_x_fp < \c_zero_fp
+ {
+ \hbox_to_wd:nn { \l__box_right_new_dim }
+ {
+ \tex_kern:D \l__box_right_new_dim
+ \box_use:N \l__box_internal_box
+ \tex_hss:D
+ }
+ }
+ {
+ \box_set_wd:Nn \l__box_internal_box { \l__box_right_new_dim }
+ \hbox:n
+ {
+ \tex_kern:D \c_zero_dim
+ \box_use:N \l__box_internal_box
+ \tex_hss:D
+ }
+ }
+ }
+\cs_new_eq:NN \box_resize:Nnn \box_resize_to_wd_and_ht_plus_dp:Nnn
+\cs_new_eq:NN \box_resize:cnn \box_resize_to_wd_and_ht_plus_dp:cnn
%% File: l3coffins.dtx Copyright(C) 2010-2017 The LaTeX3 Project
\box_new:N \l__coffin_internal_box
\dim_new:N \l__coffin_internal_dim
\tl_new:N \l__coffin_internal_tl
\prop_new:N \c__coffin_corners_prop
-\prop_put:Nnn \c__coffin_corners_prop { tl } { { 0 pt } { 0 pt } }
-\prop_put:Nnn \c__coffin_corners_prop { tr } { { 0 pt } { 0 pt } }
-\prop_put:Nnn \c__coffin_corners_prop { bl } { { 0 pt } { 0 pt } }
-\prop_put:Nnn \c__coffin_corners_prop { br } { { 0 pt } { 0 pt } }
+\prop_put:Nnn \c__coffin_corners_prop { tl } { { 0pt } { 0pt } }
+\prop_put:Nnn \c__coffin_corners_prop { tr } { { 0pt } { 0pt } }
+\prop_put:Nnn \c__coffin_corners_prop { bl } { { 0pt } { 0pt } }
+\prop_put:Nnn \c__coffin_corners_prop { br } { { 0pt } { 0pt } }
\prop_new:N \c__coffin_poles_prop
-\tl_set:Nn \l__coffin_internal_tl { { 0 pt } { 0 pt } { 0 pt } { 1000 pt } }
+\tl_set:Nn \l__coffin_internal_tl { { 0pt } { 0pt } { 0pt } { 1000pt } }
\prop_put:Nno \c__coffin_poles_prop { l } { \l__coffin_internal_tl }
\prop_put:Nno \c__coffin_poles_prop { hc } { \l__coffin_internal_tl }
\prop_put:Nno \c__coffin_poles_prop { r } { \l__coffin_internal_tl }
-\tl_set:Nn \l__coffin_internal_tl { { 0 pt } { 0 pt } { 1000 pt } { 0 pt } }
+\tl_set:Nn \l__coffin_internal_tl { { 0pt } { 0pt } { 1000pt } { 0pt } }
\prop_put:Nno \c__coffin_poles_prop { b } { \l__coffin_internal_tl }
\prop_put:Nno \c__coffin_poles_prop { vc } { \l__coffin_internal_tl }
\prop_put:Nno \c__coffin_poles_prop { t } { \l__coffin_internal_tl }
@@ -16478,10 +16838,8 @@
{
\hbox_set:Nn #1
{
- \color_group_begin:
- \color_ensure_current:
- #2
- \color_group_end:
+ \color_ensure_current:
+ #2
}
\__coffin_reset_structure:N #1
\__coffin_update_poles:N #1
@@ -16498,9 +16856,7 @@
\dim_set:Nn \tex_hsize:D {#2}
\dim_set_eq:NN \linewidth \tex_hsize:D
\dim_set_eq:NN \columnwidth \tex_hsize:D
- \color_group_begin:
- #3
- \color_group_end:
+ #3
}
\__coffin_reset_structure:N #1
\__coffin_update_poles:N #1
@@ -16508,13 +16864,13 @@
\vbox_set_top:Nn \l__coffin_internal_box { \vbox_unpack:N #1 }
\__coffin_set_pole:Nnx #1 { T }
{
- { 0 pt }
+ { 0pt }
{
\dim_eval:n
{ \box_ht:N #1 - \box_ht:N \l__coffin_internal_box }
}
- { 1000 pt }
- { 0 pt }
+ { 1000pt }
+ { 0pt }
}
\box_clear:N \l__coffin_internal_box
}
@@ -16524,10 +16880,9 @@
{
\__coffin_if_exist:NT #1
{
- \hbox_set:Nw #1 \color_group_begin: \color_ensure_current:
+ \hbox_set:Nw #1 \color_ensure_current:
\cs_set_protected:Npn \hcoffin_set_end:
{
- \color_group_end:
\hbox_set_end:
\__coffin_reset_structure:N #1
\__coffin_update_poles:N #1
@@ -16545,10 +16900,8 @@
\dim_set:Nn \tex_hsize:D {#2}
\dim_set_eq:NN \linewidth \tex_hsize:D
\dim_set_eq:NN \columnwidth \tex_hsize:D
- \color_group_begin:
\cs_set_protected:Npn \vcoffin_set_end:
{
- \color_group_end:
\vbox_set_end:
\__coffin_reset_structure:N #1
\__coffin_update_poles:N #1
@@ -16556,13 +16909,13 @@
\vbox_set_top:Nn \l__coffin_internal_box { \vbox_unpack:N #1 }
\__coffin_set_pole:Nnx #1 { T }
{
- { 0 pt }
+ { 0pt }
{
\dim_eval:n
{ \box_ht:N #1 - \box_ht:N \l__coffin_internal_box }
}
- { 1000 pt }
- { 0 pt }
+ { 1000pt }
+ { 0pt }
}
\box_clear:N \l__coffin_internal_box
}
@@ -16598,7 +16951,7 @@
{
\__msg_kernel_error:nnxx { kernel } { unknown-coffin-pole }
{#2} { \token_to_str:N #1 }
- \tl_set:Nn #3 { { 0 pt } { 0 pt } { 0 pt } { 0 pt } }
+ \tl_set:Nn #3 { { 0pt } { 0pt } { 0pt } { 0pt } }
}
}
\cs_new_protected:Npn \__coffin_reset_structure:N #1
@@ -16628,8 +16981,8 @@
{
\__coffin_set_pole:Nnx #1 {#2}
{
- { 0 pt } { \dim_eval:n {#3} }
- { 1000 pt } { 0 pt }
+ { 0pt } { \dim_eval:n {#3} }
+ { 1000pt } { 0pt }
}
}
}
@@ -16639,8 +16992,8 @@
{
\__coffin_set_pole:Nnx #1 {#2}
{
- { \dim_eval:n {#3} } { 0 pt }
- { 0 pt } { 1000 pt }
+ { \dim_eval:n {#3} } { 0pt }
+ { 0pt } { 1000pt }
}
}
}
@@ -16652,11 +17005,11 @@
\cs_new_protected:Npn \__coffin_update_corners:N #1
{
\prop_put:cnx { l__coffin_corners_ \__int_value:w #1 _prop } { tl }
- { { 0 pt } { \dim_eval:n { \box_ht:N #1 } } }
+ { { 0pt } { \dim_eval:n { \box_ht:N #1 } } }
\prop_put:cnx { l__coffin_corners_ \__int_value:w #1 _prop } { tr }
{ { \dim_eval:n { \box_wd:N #1 } } { \dim_eval:n { \box_ht:N #1 } } }
\prop_put:cnx { l__coffin_corners_ \__int_value:w #1 _prop } { bl }
- { { 0 pt } { \dim_eval:n { - \box_dp:N #1 } } }
+ { { 0pt } { \dim_eval:n { -\box_dp:N #1 } } }
\prop_put:cnx { l__coffin_corners_ \__int_value:w #1 _prop } { br }
{ { \dim_eval:n { \box_wd:N #1 } } { \dim_eval:n { -\box_dp:N #1 } } }
}
@@ -16665,33 +17018,33 @@
\prop_put:cnx { l__coffin_poles_ \__int_value:w #1 _prop } { hc }
{
{ \dim_eval:n { 0.5 \box_wd:N #1 } }
- { 0 pt } { 0 pt } { 1000 pt }
+ { 0pt } { 0pt } { 1000pt }
}
\prop_put:cnx { l__coffin_poles_ \__int_value:w #1 _prop } { r }
{
{ \dim_eval:n { \box_wd:N #1 } }
- { 0 pt } { 0 pt } { 1000 pt }
+ { 0pt } { 0pt } { 1000pt }
}
\prop_put:cnx { l__coffin_poles_ \__int_value:w #1 _prop } { vc }
{
- { 0 pt }
+ { 0pt }
{ \dim_eval:n { ( \box_ht:N #1 - \box_dp:N #1 ) / 2 } }
- { 1000 pt }
- { 0 pt }
+ { 1000pt }
+ { 0pt }
}
\prop_put:cnx { l__coffin_poles_ \__int_value:w #1 _prop } { t }
{
- { 0 pt }
+ { 0pt }
{ \dim_eval:n { \box_ht:N #1 } }
- { 1000 pt }
- { 0 pt }
+ { 1000pt }
+ { 0pt }
}
\prop_put:cnx { l__coffin_poles_ \__int_value:w #1 _prop } { b }
{
- { 0 pt }
- { \dim_eval:n { - \box_dp:N #1 } }
- { 1000 pt }
- { 0 pt }
+ { 0pt }
+ { \dim_eval:n { -\box_dp:N #1 } }
+ { 1000pt }
+ { 0pt }
}
}
\cs_new_protected:Npn \__coffin_calculate_intersection:Nnn #1#2#3
@@ -16816,21 +17169,21 @@
{ \tex_kern:D -\l__coffin_internal_dim }
}
\__coffin_reset_structure:N \l__coffin_aligned_coffin
- \prop_clear:c
- { l__coffin_corners_ \__int_value:w \l__coffin_aligned_coffin _ prop }
- \__coffin_update_poles:N \l__coffin_aligned_coffin
+ \prop_clear:c
+ { l__coffin_corners_ \__int_value:w \l__coffin_aligned_coffin _ prop }
+ \__coffin_update_poles:N \l__coffin_aligned_coffin
\dim_compare:nNnTF \l__coffin_offset_x_dim < \c_zero_dim
{
- \__coffin_offset_poles:Nnn #1 { -\l__coffin_offset_x_dim } { 0 pt }
- \__coffin_offset_poles:Nnn #4 { 0 pt } { \l__coffin_offset_y_dim }
- \__coffin_offset_corners:Nnn #1 { -\l__coffin_offset_x_dim } { 0 pt }
- \__coffin_offset_corners:Nnn #4 { 0 pt } { \l__coffin_offset_y_dim }
+ \__coffin_offset_poles:Nnn #1 { -\l__coffin_offset_x_dim } { 0pt }
+ \__coffin_offset_poles:Nnn #4 { 0pt } { \l__coffin_offset_y_dim }
+ \__coffin_offset_corners:Nnn #1 { -\l__coffin_offset_x_dim } { 0pt }
+ \__coffin_offset_corners:Nnn #4 { 0pt } { \l__coffin_offset_y_dim }
}
{
- \__coffin_offset_poles:Nnn #1 { 0 pt } { 0 pt }
+ \__coffin_offset_poles:Nnn #1 { 0pt } { 0pt }
\__coffin_offset_poles:Nnn #4
{ \l__coffin_offset_x_dim } { \l__coffin_offset_y_dim }
- \__coffin_offset_corners:Nnn #1 { 0 pt } { 0 pt }
+ \__coffin_offset_corners:Nnn #1 { 0pt } { 0pt }
\__coffin_offset_corners:Nnn #4
{ \l__coffin_offset_x_dim } { \l__coffin_offset_y_dim }
}
@@ -16850,7 +17203,7 @@
{ l__coffin_corners_ \__int_value:w \l__coffin_aligned_coffin _prop }
{ l__coffin_corners_ \__int_value:w #1 _prop }
\__coffin_update_poles:N \l__coffin_aligned_coffin
- \__coffin_offset_poles:Nnn #1 { 0 pt } { 0 pt }
+ \__coffin_offset_poles:Nnn #1 { 0pt } { 0pt }
\__coffin_offset_poles:Nnn #4
{ \l__coffin_offset_x_dim } { \l__coffin_offset_y_dim }
\__coffin_update_vertical_poles:NNN #1 #4 \l__coffin_aligned_coffin
@@ -16935,11 +17288,11 @@
\dim_compare:nNnTF {#2} < {#6}
{
\__coffin_set_pole:Nnx #9 { T }
- { { 0 pt } {#6} { 1000 pt } { 0 pt } }
+ { { 0pt } {#6} { 1000pt } { 0pt } }
}
{
\__coffin_set_pole:Nnx #9 { T }
- { { 0 pt } {#2} { 1000 pt } { 0 pt } }
+ { { 0pt } {#2} { 1000pt } { 0pt } }
}
}
\cs_new_protected:Npn \__coffin_update_B:nnnnnnnnN #1#2#3#4#5#6#7#8#9
@@ -16947,11 +17300,11 @@
\dim_compare:nNnTF {#2} < {#6}
{
\__coffin_set_pole:Nnx #9 { B }
- { { 0 pt } {#2} { 1000 pt } { 0 pt } }
+ { { 0pt } {#2} { 1000pt } { 0pt } }
}
{
\__coffin_set_pole:Nnx #9 { B }
- { { 0 pt } {#6} { 1000 pt } { 0 pt } }
+ { { 0pt } {#6} { 1000pt } { 0pt } }
}
}
\cs_new_protected:Npn \coffin_typeset:Nnnnn #1#2#3#4#5
@@ -17003,7 +17356,7 @@
\prop_put:Nnn \l__coffin_display_handles_prop { Br }
{ { b } { l } { 1 } { -1 } }
\dim_new:N \l__coffin_display_offset_dim
-\dim_set:Nn \l__coffin_display_offset_dim { 2 pt }
+\dim_set:Nn \l__coffin_display_offset_dim { 2pt }
\dim_new:N \l__coffin_display_x_dim
\dim_new:N \l__coffin_display_y_dim
\prop_new:N \l__coffin_display_poles_prop
@@ -17014,10 +17367,10 @@
\hcoffin_set:Nn \l__coffin_display_pole_coffin
{
\color {#4}
- \rule { 1 pt } { 1 pt }
+ \rule { 1pt } { 1pt }
}
\coffin_attach_mark:NnnNnnnn #1 {#2} {#3}
- \l__coffin_display_pole_coffin { hc } { vc } { 0 pt } { 0 pt }
+ \l__coffin_display_pole_coffin { hc } { vc } { 0pt } { 0pt }
\hcoffin_set:Nn \l__coffin_display_coord_coffin
{
\color {#4}
@@ -17034,7 +17387,7 @@
{
\coffin_attach_mark:NnnNnnnn #1 {#2} {#3}
\l__coffin_display_coord_coffin { l } { vc }
- { 1 pt } { 0 pt }
+ { 1pt } { 0pt }
}
{
\exp_last_unbraced:No \__coffin_mark_handle_aux:nnnnNnn
@@ -17059,7 +17412,7 @@
\hcoffin_set:Nn \l__coffin_display_pole_coffin
{
\color {#2}
- \rule { 1 pt } { 1 pt }
+ \rule { 1pt } { 1pt }
}
\prop_set_eq:Nc \l__coffin_display_poles_prop
{ l__coffin_poles_ \__int_value:w #1 _prop }
@@ -17090,7 +17443,7 @@
\dim_set:Nn \l__coffin_display_y_dim { \l__coffin_y_dim }
\__coffin_display_attach:Nnnnn
\l__coffin_display_pole_coffin { hc } { vc }
- { 0 pt } { 0 pt }
+ { 0pt } { 0pt }
\hcoffin_set:Nn \l__coffin_display_coord_coffin
{
\color {#6}
@@ -17107,7 +17460,7 @@
{
\__coffin_display_attach:Nnnnn
\l__coffin_display_coord_coffin { l } { vc }
- { 1 pt } { 0 pt }
+ { 1pt } { 0pt }
}
{
\exp_last_unbraced:No
@@ -17205,25 +17558,11 @@
\cs_new_eq:NN \color_group_begin: \group_begin:
\cs_new_protected:Npn \color_group_end:
{
- \tex_par:D
+ \par
\group_end:
}
-\cs_new_protected:Npn \color_ensure_current: { }
-\AtBeginDocument
- {
- \cs_if_exist:NTF \__driver_color_ensure_current:
- {
- \cs_set_protected:Npn \color_ensure_current:
- { \__driver_color_ensure_current: }
- }
- {
- \cs_if_exist:NT \set@color
- {
- \cs_set_protected:Npn \color_ensure_current:
- { \set@color }
- }
- }
- }
+\cs_new_protected:Npn \color_ensure_current:
+ { \__driver_color_ensure_current: }
%% File: l3sys.dtx Copyright (C) 2015-2017 The LaTeX3 Project
\str_const:Nx \c_sys_jobname_str { \tex_jobname:D }
\int_const:Nn \c_sys_minute_int
@@ -17258,11 +17597,9 @@
}
\cs_if_exist:NT \ptex_kanjiskip:D
{
- \bool_if:nTF
- {
- \cs_if_exist_p:N \uptex_disablecjktoken:D &&
- \int_compare_p:nNn { \ptex_jis:D "2121 } = { "3000 }
- }
+ \bool_lazy_and:nnTF
+ { \cs_if_exist_p:N \uptex_disablecjktoken:D }
+ { \int_compare_p:nNn { \ptex_jis:D "2121 } = { "3000 } }
{
\cs_gset_eq:NN \sys_if_engine_uptex:T \use:n
\cs_gset_eq:NN \sys_if_engine_uptex:F \use_none:n
@@ -17359,6 +17696,8 @@
\__deprecation_error:Nnn \tl_to_lowercase:n { } { 2017-12-31 }
\__deprecation_error:Nnn \tl_to_uppercase:n { } { 2017-12-31 }
\__deprecation_error:Nnn \ior_get_str:NN { \ior_str_get:NN } { 2017-12-31 }
+ \__deprecation_error:Nnn \box_resize:Nnn { \box_resize_to_wd_and_ht_plus_dp:Nnn } { 2018-12-31 }
+ \__deprecation_error:Nnn \box_resize:cnn { \box_resize_to_wd_and_ht_plus_dp:cnn } { 2018-12-31 }
\__deprecation_error:Nnn \c_minus_one { - 1 } { 2018-12-31 }
\__deprecation_error:Nnn \sort_ordered: { \sort_return_same: } { 2018-12-31 }
\__deprecation_error:Nnn \sort_reversed: { \sort_return_swapped: } { 2018-12-31 }
@@ -17366,297 +17705,6 @@
\cs_set_eq:NN \deprecation_error: \scan_stop:
}
%% File: l3candidates.dtx Copyright (C) 2012-2017 The LaTeX3 Project
-\fp_new:N \l__box_angle_fp
-\fp_new:N \l__box_cos_fp
-\fp_new:N \l__box_sin_fp
-\dim_new:N \l__box_top_dim
-\dim_new:N \l__box_bottom_dim
-\dim_new:N \l__box_left_dim
-\dim_new:N \l__box_right_dim
-\dim_new:N \l__box_top_new_dim
-\dim_new:N \l__box_bottom_new_dim
-\dim_new:N \l__box_left_new_dim
-\dim_new:N \l__box_right_new_dim
-\box_new:N \l__box_internal_box
-\cs_new_protected:Npn \box_rotate:Nn #1#2
- {
- \hbox_set:Nn #1
- {
- \group_begin:
- \fp_set:Nn \l__box_angle_fp {#2}
- \fp_set:Nn \l__box_sin_fp { sind ( \l__box_angle_fp ) }
- \fp_set:Nn \l__box_cos_fp { cosd ( \l__box_angle_fp ) }
- \__box_rotate:N #1
- \group_end:
- }
- }
-\cs_new_protected:Npn \__box_rotate:N #1
- {
- \dim_set:Nn \l__box_top_dim { \box_ht:N #1 }
- \dim_set:Nn \l__box_bottom_dim { -\box_dp:N #1 }
- \dim_set:Nn \l__box_right_dim { \box_wd:N #1 }
- \dim_zero:N \l__box_left_dim
- \fp_compare:nNnTF \l__box_sin_fp > \c_zero_fp
- {
- \fp_compare:nNnTF \l__box_cos_fp > \c_zero_fp
- { \__box_rotate_quadrant_one: }
- { \__box_rotate_quadrant_two: }
- }
- {
- \fp_compare:nNnTF \l__box_cos_fp < \c_zero_fp
- { \__box_rotate_quadrant_three: }
- { \__box_rotate_quadrant_four: }
- }
- \hbox_set:Nn \l__box_internal_box { \box_use:N #1 }
- \hbox_set:Nn \l__box_internal_box
- {
- \tex_kern:D -\l__box_left_new_dim
- \hbox:n
- {
- \__driver_box_use_rotate:Nn
- \l__box_internal_box
- \l__box_angle_fp
- }
- }
- \box_set_ht:Nn \l__box_internal_box { \l__box_top_new_dim }
- \box_set_dp:Nn \l__box_internal_box { -\l__box_bottom_new_dim }
- \box_set_wd:Nn \l__box_internal_box
- { \l__box_right_new_dim - \l__box_left_new_dim }
- \box_use:N \l__box_internal_box
- }
-\cs_new_protected:Npn \__box_rotate_x:nnN #1#2#3
- {
- \dim_set:Nn #3
- {
- \fp_to_dim:n
- {
- \l__box_cos_fp * \dim_to_fp:n {#1}
- - \l__box_sin_fp * \dim_to_fp:n {#2}
- }
- }
- }
-\cs_new_protected:Npn \__box_rotate_y:nnN #1#2#3
- {
- \dim_set:Nn #3
- {
- \fp_to_dim:n
- {
- \l__box_sin_fp * \dim_to_fp:n {#1}
- + \l__box_cos_fp * \dim_to_fp:n {#2}
- }
- }
- }
-\cs_new_protected:Npn \__box_rotate_quadrant_one:
- {
- \__box_rotate_y:nnN \l__box_right_dim \l__box_top_dim
- \l__box_top_new_dim
- \__box_rotate_y:nnN \l__box_left_dim \l__box_bottom_dim
- \l__box_bottom_new_dim
- \__box_rotate_x:nnN \l__box_left_dim \l__box_top_dim
- \l__box_left_new_dim
- \__box_rotate_x:nnN \l__box_right_dim \l__box_bottom_dim
- \l__box_right_new_dim
- }
-\cs_new_protected:Npn \__box_rotate_quadrant_two:
- {
- \__box_rotate_y:nnN \l__box_right_dim \l__box_bottom_dim
- \l__box_top_new_dim
- \__box_rotate_y:nnN \l__box_left_dim \l__box_top_dim
- \l__box_bottom_new_dim
- \__box_rotate_x:nnN \l__box_right_dim \l__box_top_dim
- \l__box_left_new_dim
- \__box_rotate_x:nnN \l__box_left_dim \l__box_bottom_dim
- \l__box_right_new_dim
- }
-\cs_new_protected:Npn \__box_rotate_quadrant_three:
- {
- \__box_rotate_y:nnN \l__box_left_dim \l__box_bottom_dim
- \l__box_top_new_dim
- \__box_rotate_y:nnN \l__box_right_dim \l__box_top_dim
- \l__box_bottom_new_dim
- \__box_rotate_x:nnN \l__box_right_dim \l__box_bottom_dim
- \l__box_left_new_dim
- \__box_rotate_x:nnN \l__box_left_dim \l__box_top_dim
- \l__box_right_new_dim
- }
-\cs_new_protected:Npn \__box_rotate_quadrant_four:
- {
- \__box_rotate_y:nnN \l__box_left_dim \l__box_top_dim
- \l__box_top_new_dim
- \__box_rotate_y:nnN \l__box_right_dim \l__box_bottom_dim
- \l__box_bottom_new_dim
- \__box_rotate_x:nnN \l__box_left_dim \l__box_bottom_dim
- \l__box_left_new_dim
- \__box_rotate_x:nnN \l__box_right_dim \l__box_top_dim
- \l__box_right_new_dim
- }
-\fp_new:N \l__box_scale_x_fp
-\fp_new:N \l__box_scale_y_fp
-\cs_new_protected:Npn \box_resize:Nnn #1#2#3
- {
- \hbox_set:Nn #1
- {
- \group_begin:
- \__box_resize_set_corners:N #1
- \fp_set:Nn \l__box_scale_x_fp
- { \dim_to_fp:n {#2} / \dim_to_fp:n { \l__box_right_dim } }
- \fp_set:Nn \l__box_scale_y_fp
- {
- \dim_to_fp:n {#3}
- / \dim_to_fp:n { \l__box_top_dim - \l__box_bottom_dim }
- }
- \__box_resize:N #1
- \group_end:
- }
- }
-\cs_generate_variant:Nn \box_resize:Nnn { c }
-\cs_new_protected:Npn \__box_resize_set_corners:N #1
- {
- \dim_set:Nn \l__box_top_dim { \box_ht:N #1 }
- \dim_set:Nn \l__box_bottom_dim { -\box_dp:N #1 }
- \dim_set:Nn \l__box_right_dim { \box_wd:N #1 }
- \dim_zero:N \l__box_left_dim
- }
-\cs_new_protected:Npn \__box_resize:N #1
- {
- \__box_resize:NNN \l__box_right_new_dim
- \l__box_scale_x_fp \l__box_right_dim
- \__box_resize:NNN \l__box_bottom_new_dim
- \l__box_scale_y_fp \l__box_bottom_dim
- \__box_resize:NNN \l__box_top_new_dim
- \l__box_scale_y_fp \l__box_top_dim
- \__box_resize_common:N #1
- }
-\cs_new_protected:Npn \__box_resize:NNN #1#2#3
- {
- \dim_set:Nn #1
- { \fp_to_dim:n { \fp_abs:n { #2 } * \dim_to_fp:n { #3 } } }
- }
-\cs_new_protected:Npn \box_resize_to_ht:Nn #1#2
- {
- \hbox_set:Nn #1
- {
- \group_begin:
- \__box_resize_set_corners:N #1
- \fp_set:Nn \l__box_scale_y_fp
- {
- \dim_to_fp:n {#2}
- / \dim_to_fp:n { \l__box_top_dim }
- }
- \fp_set_eq:NN \l__box_scale_x_fp \l__box_scale_y_fp
- \__box_resize:N #1
- \group_end:
- }
- }
-\cs_generate_variant:Nn \box_resize_to_ht:Nn { c }
-\cs_new_protected:Npn \box_resize_to_ht_plus_dp:Nn #1#2
- {
- \hbox_set:Nn #1
- {
- \group_begin:
- \__box_resize_set_corners:N #1
- \fp_set:Nn \l__box_scale_y_fp
- {
- \dim_to_fp:n {#2}
- / \dim_to_fp:n { \l__box_top_dim - \l__box_bottom_dim }
- }
- \fp_set_eq:NN \l__box_scale_x_fp \l__box_scale_y_fp
- \__box_resize:N #1
- \group_end:
- }
- }
-\cs_generate_variant:Nn \box_resize_to_ht_plus_dp:Nn { c }
-\cs_new_protected:Npn \box_resize_to_wd:Nn #1#2
- {
- \hbox_set:Nn #1
- {
- \group_begin:
- \__box_resize_set_corners:N #1
- \fp_set:Nn \l__box_scale_x_fp
- { \dim_to_fp:n {#2} / \dim_to_fp:n { \l__box_right_dim } }
- \fp_set_eq:NN \l__box_scale_y_fp \l__box_scale_x_fp
- \__box_resize:N #1
- \group_end:
- }
- }
-\cs_generate_variant:Nn \box_resize_to_wd:Nn { c }
-\cs_new_protected:Npn \box_resize_to_wd_and_ht:Nnn #1#2#3
- {
- \hbox_set:Nn #1
- {
- \group_begin:
- \__box_resize_set_corners:N #1
- \fp_set:Nn \l__box_scale_x_fp
- { \dim_to_fp:n {#2} / \dim_to_fp:n { \l__box_right_dim } }
- \fp_set:Nn \l__box_scale_y_fp
- {
- \dim_to_fp:n {#3}
- / \dim_to_fp:n { \l__box_top_dim }
- }
- \__box_resize:N #1
- \group_end:
- }
- }
-\cs_generate_variant:Nn \box_resize_to_wd_and_ht:Nnn { c }
-\cs_new_protected:Npn \box_scale:Nnn #1#2#3
- {
- \hbox_set:Nn #1
- {
- \group_begin:
- \fp_set:Nn \l__box_scale_x_fp {#2}
- \fp_set:Nn \l__box_scale_y_fp {#3}
- \dim_set:Nn \l__box_top_dim { \box_ht:N #1 }
- \dim_set:Nn \l__box_bottom_dim { -\box_dp:N #1 }
- \dim_set:Nn \l__box_right_dim { \box_wd:N #1 }
- \dim_zero:N \l__box_left_dim
- \dim_set:Nn \l__box_top_new_dim
- { \fp_abs:n { \l__box_scale_y_fp } \l__box_top_dim }
- \dim_set:Nn \l__box_bottom_new_dim
- { \fp_abs:n { \l__box_scale_y_fp } \l__box_bottom_dim }
- \dim_set:Nn \l__box_right_new_dim
- { \fp_abs:n { \l__box_scale_x_fp } \l__box_right_dim }
- \__box_resize_common:N #1
- \group_end:
- }
- }
-\cs_generate_variant:Nn \box_scale:Nnn { c }
-\cs_new_protected:Npn \__box_resize_common:N #1
- {
- \hbox_set:Nn \l__box_internal_box
- {
- \__driver_box_use_scale:Nnn
- #1
- \l__box_scale_x_fp
- \l__box_scale_y_fp
- }
- \fp_compare:nNnTF \l__box_scale_y_fp > \c_zero_fp
- {
- \box_set_ht:Nn \l__box_internal_box { \l__box_top_new_dim }
- \box_set_dp:Nn \l__box_internal_box { -\l__box_bottom_new_dim }
- }
- {
- \box_set_dp:Nn \l__box_internal_box { \l__box_top_new_dim }
- \box_set_ht:Nn \l__box_internal_box { -\l__box_bottom_new_dim }
- }
- \fp_compare:nNnTF \l__box_scale_x_fp < \c_zero_fp
- {
- \hbox_to_wd:nn { \l__box_right_new_dim }
- {
- \tex_kern:D \l__box_right_new_dim
- \box_use:N \l__box_internal_box
- \tex_hss:D
- }
- }
- {
- \box_set_wd:Nn \l__box_internal_box { \l__box_right_new_dim }
- \hbox:n
- {
- \tex_kern:D \c_zero_dim
- \box_use:N \l__box_internal_box
- \tex_hss:D
- }
- }
- }
\cs_new_protected:Npn \box_clip:N #1
{ \hbox_set:Nn #1 { \__driver_box_use_clip:N #1 } }
\cs_generate_variant:Nn \box_clip:N { c }
@@ -17925,7 +17973,7 @@
\dim_to_fp:n {#3}
/ \dim_to_fp:n { \coffin_ht:N #1 + \coffin_dp:N #1 }
}
- \box_resize:Nnn #1 {#2} {#3}
+ \box_resize_to_wd_and_ht_plus_dp:Nnn #1 {#2} {#3}
\__coffin_resize_common:Nnn #1 {#2} {#3}
}
\cs_generate_variant:Nn \coffin_resize:Nnn { c }
@@ -18037,7 +18085,7 @@
}
\cs_new_protected:Npn \__ior_map_inline:NNNn #1#2#3#4
{
- \cs_set:Npn #1 ##1 {#4}
+ \cs_gset_protected:Npn #1 ##1 {#4}
\ior_if_eof:NF #3 { \__ior_map_inline_loop:NNN #1#2#3 }
\__prg_break_point:Nn \ior_map_break:
{ \int_gdecr:N \g__prg_map_int }
@@ -18245,6 +18293,18 @@
#2
}
}
+\cs_if_exist:NTF \pdftex_uniformdeviate:D
+ {
+ \prg_new_conditional:Npnn \sys_if_rand_exist: { p , T , F , TF }
+ { \prg_return_true: }
+ }
+ {
+ \prg_new_conditional:Npnn \sys_if_rand_exist: { p , T , F , TF }
+ { \prg_return_false: }
+ }
+\cs_new:Npn \sys_rand_seed: { \tex_the:D \pdftex_randomseed:D }
+\cs_new_protected:Npn \sys_gset_rand_seed:n #1
+ { \pdftex_setrandomseed:D \__int_eval:w #1 \__int_eval_end: }
\prg_new_conditional:Npnn \tl_if_single_token:n #1 { p , T , F , TF }
{
\tl_if_head_is_N_type:nTF {#1}
@@ -18934,10 +18994,9 @@
\__tl_tmp:w \c__unicode_I_ogonek_tl { 012E }
\group_end:
\group_begin:
- \bool_if:nT
- {
- \sys_if_engine_pdftex_p: || \sys_if_engine_uptex_p:
- }
+ \bool_lazy_or:nnT
+ { \sys_if_engine_pdftex_p: }
+ { \sys_if_engine_uptex_p: }
{
\cs_set_protected:Npn \__tl_loop:nn #1#2
{
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index d219cea798d..7ff0bc2bb26 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx Copyright (C) 1990-2017 The LaTeX3 Project
-\def\ExplFileDate{2017/04/01}%
+\def\ExplFileDate{2017/05/13}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\def\tempa{LaTeX2e}%
@@ -73,7 +73,6 @@
\expandafter\endinput
\fi
\cs_set_eq:NN \__iow_wrap_set:Nx \tl_set:Nx
-\protected\def\GetIdInfoLog{}
\cs_set_protected:Npn \ProvidesExplFile
{
\group_begin:
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index b72e6e3ac4b..ffdcd396e0b 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx Copyright (C) 1990-2017 The LaTeX3 Project
-\def\ExplFileDate{2017/04/01}%
+\def\ExplFileDate{2017/05/13}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
@@ -95,11 +95,9 @@
\sys_if_output_pdf:TF
{ pdfmode }
{
- \bool_if:nTF
- {
- \sys_if_engine_pdftex_p: ||
- \sys_if_engine_luatex_p:
- }
+ \bool_lazy_or:nnTF
+ { \sys_if_engine_pdftex_p: }
+ { \sys_if_engine_luatex_p: }
{ dvips }
{ dvipdfmx }
}
@@ -226,7 +224,7 @@
}
\cs_set_protected:Npn \box_rotate:Nn #1#2
{ \hbox_set:Nn #1 { \rotatebox {#2} { \box_use:N #1 } } }
- \cs_set_protected:Npn \box_resize:Nnn #1#2#3
+ \cs_set_protected:Npn \box_resize_to_wd_and_ht_plus_dp:Nnn #1#2#3
{
\hbox_set:Nn #1
{
@@ -252,15 +250,13 @@
{ \box_use:N #1 }
}
}
- \cs_set_protected:Npn \box_scale:Nnn #1#2#3
+ \cs_set_protected:Npn \__box_scale_aux:N #1
{
- \hbox_set:Nn #1
- {
- \exp_last_unbraced:Nx \scalebox
- { { \fp_eval:n {#2} } [ \fp_eval:n {#3} ] }
- { \box_use:N #1 }
- }
+ \exp_last_unbraced:Nx \scalebox
+ { { \fp_use:N \l__box_scale_x_fp } [ \fp_use:N \l__box_scale_y_fp ] }
+ { \box_use:N #1 }
}
+ \cs_set_protected:Npn \color_ensure_current: { \set@color }
}
{
\group_begin:
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
index ecc4ec63d8b..01247fc3cc7 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3basics.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty b/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty
index 5802b76351d..10179692ae8 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3bootstrap.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3box.sty b/Master/texmf-dist/tex/latex/l3kernel/l3box.sty
index e97f3c82e8a..772f216bda4 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3box.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3box.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3box.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
index 3e9cc1ca2a0..b285554a278 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3candidates.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty b/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
index 448c5e6416c..398a0a2c985 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3clist.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty b/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty
index 8402a41fea2..ec1a9cc35b5 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3coffins.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3color.sty b/Master/texmf-dist/tex/latex/l3kernel/l3color.sty
index b40efec230e..61cbb081a93 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3color.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3color.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3color.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
index 7282e860ae8..87a276fbd8b 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
@@ -20,7 +20,7 @@
%%
%% File: l3doc.dtx Copyright (C) 1990-2017 The LaTeX3 project
\RequirePackage{expl3,xparse,calc}
-\ProvidesExplClass{l3doc}{2017/04/01}{}
+\ProvidesExplClass{l3doc}{2017/05/13}{}
{L3 Experimental documentation class}
\clist_new:N \g_docinput_clist
\seq_new:N \g_doc_functions_seq
@@ -892,7 +892,7 @@
\clist_clear:N \l__codedoc_function_label_clist
\tl_set:Nn \l__codedoc_override_module_tl { \q_no_value }
\char_set_catcode_active:N \<
- \cs_set_protected:Npn < ##1 > { \meta {##1} }
+ \cs_set_protected_nopar:Npn < ##1 > { \meta {##1} }
}
\group_end:
\cs_new_protected:Npn \__codedoc_function_reset:
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
index 421757e959a..a2e1fb7ee87 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
@@ -25,26 +25,9 @@
\cs_new_protected:Npn \__driver_literal:n #1
{ \tex_special:D { pdf:literal~ #1 } }
\cs_new_protected:Npn \__driver_scope_begin:
- { \__driver_literal:n { q } }
+ { \tex_special:D { x:gsave } }
\cs_new_protected:Npn \__driver_scope_end:
- { \__driver_literal:n { Q } }
-\cs_new_protected:Npn \__driver_matrix:n #1
- { \__driver_literal:n { #1 \c_space_tl 0~0~cm } }
-\tl_new:N \l__driver_current_color_tl
-\tl_set:Nn \l__driver_current_color_tl { [ 0 ] }
-\AtBeginDocument
- {
- \@ifpackageloaded { color }
- { \tl_set:Nn \l__driver_current_color_tl { \current@color } }
- { }
- }
-\cs_new_protected:Npn \__driver_color_ensure_current:
- {
- \tex_special:D { pdf:bcolor~\l__driver_current_color_tl }
- \group_insert_after:N \__driver_color_reset:
- }
-\cs_new_protected:Npn \__driver_color_reset:
- { \tex_special:D { pdf:ecolor } }
+ { \tex_special:D { x:grestore } }
\cs_new_protected:Npn \__driver_box_use_clip:N #1
{
\__driver_scope_begin:
@@ -63,41 +46,43 @@
\cs_new_protected:Npn \__driver_box_use_rotate:Nn #1#2
{
\__driver_scope_begin:
- \box_set_wd:Nn #1 \c_zero_dim
- \fp_set:Nn \l__driver_cos_fp { round ( cosd ( #2 ) , 5 ) }
- \fp_compare:nNnT \l__driver_cos_fp = \c_zero_fp
- { \fp_zero:N \l__driver_cos_fp }
- \fp_set:Nn \l__driver_sin_fp { round ( sind ( #2 ) , 5 ) }
- \__driver_matrix:n
+ \tex_special:D
{
- \fp_use:N \l__driver_cos_fp \c_space_tl
- \fp_compare:nNnTF \l__driver_sin_fp = \c_zero_fp
- { 0~0 }
- {
- \fp_use:N \l__driver_sin_fp
- \c_space_tl
- \fp_eval:n { -\l__driver_sin_fp }
- }
- \c_space_tl
- \fp_use:N \l__driver_cos_fp
+ x:rotate~
+ \fp_compare:nNnTF {#2} = \c_zero_fp
+ { 0 }
+ { \fp_eval:n { round ( #2 , 5 ) } }
}
- \box_use:N #1
- \__driver_scope_end:
+ \box_use:N #1
+ \__driver_scope_end:
}
-\fp_new:N \l__driver_cos_fp
-\fp_new:N \l__driver_sin_fp
\cs_new_protected:Npn \__driver_box_use_scale:Nnn #1#2#3
{
\__driver_scope_begin:
- \__driver_matrix:n
+ \tex_special:D
{
+ x:scale~
\fp_eval:n { round ( #2 , 5 ) } ~
- 0~0~
\fp_eval:n { round ( #3 , 5 ) }
}
\hbox_overlap_right:n { \box_use:N #1 }
\__driver_scope_end:
}
+\tl_new:N \l__driver_current_color_tl
+\tl_set:Nn \l__driver_current_color_tl { [ 0 ] }
+\AtBeginDocument
+ {
+ \@ifpackageloaded { color }
+ { \tl_set:Nn \l__driver_current_color_tl { \current@color } }
+ { }
+ }
+\cs_new_protected:Npn \__driver_color_ensure_current:
+ {
+ \tex_special:D { pdf:bcolor~\l__driver_current_color_tl }
+ \group_insert_after:N \__driver_color_reset:
+ }
+\cs_new_protected:Npn \__driver_color_reset:
+ { \tex_special:D { pdf:ecolor } }
\cs_new_eq:NN \__driver_draw_literal:n \__driver_literal:n
\cs_generate_variant:Nn \__driver_draw_literal:n { x }
\cs_new_protected:Npn \__driver_draw_begin:
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty b/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty
index 1384b917ae2..d359460c6a9 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3expan.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty b/Master/texmf-dist/tex/latex/l3kernel/l3file.sty
index 1d304be09b0..e3885146b5b 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3file.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3file.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty b/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
index b0db3df4086..25d5f463f93 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3fp.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
index 39f59525ccd..2cf8d17adaf 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3int.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty b/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty
index 6bf04e91edf..f70076e7624 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3keys.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty
index 5f56f117b47..a69bed4d629 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3msg.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3names.sty b/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
index d3ed998a594..70dfa8a8f9e 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3names.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
index c4e02851cbd..aa41c1f1c1b 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
@@ -48,31 +48,6 @@
{ \pdftex_pdfsetmatrix:D }
{#1}
}
-\tl_new:N \l__driver_current_color_tl
-\tl_set:Nn \l__driver_current_color_tl { 0~g~0~G }
-\AtBeginDocument
- {
- \@ifpackageloaded { color }
- { \tl_set:Nn \l__driver_current_color_tl { \current@color } }
- { }
- }
-\int_new:N \l__driver_color_stack_int
-\cs_new_protected:Npx \__driver_color_ensure_current:
- {
- \cs_if_exist:NTF \luatex_pdfextension:D
- { \luatex_pdfextension:D colorstack }
- { \pdftex_pdfcolorstack:D }
- \exp_not:N \l__driver_color_stack_int push
- { \exp_not:N \l__driver_current_color_tl }
- \group_insert_after:N \exp_not:N \__driver_color_reset:
- }
-\cs_new_protected:Npx \__driver_color_reset:
- {
- \cs_if_exist:NTF \luatex_pdfextension:D
- { \luatex_pdfextension:D colorstack }
- { \pdftex_pdfcolorstack:D }
- \exp_not:N \l__driver_color_stack_int pop \scan_stop:
- }
\cs_new_protected:Npn \__driver_box_use_clip:N #1
{
\__driver_scope_begin:
@@ -126,6 +101,31 @@
\hbox_overlap_right:n { \box_use:N #1 }
\__driver_scope_end:
}
+\tl_new:N \l__driver_current_color_tl
+\tl_set:Nn \l__driver_current_color_tl { 0~g~0~G }
+\AtBeginDocument
+ {
+ \@ifpackageloaded { color }
+ { \tl_set:Nn \l__driver_current_color_tl { \current@color } }
+ { }
+ }
+\int_new:N \l__driver_color_stack_int
+\cs_new_protected:Npx \__driver_color_ensure_current:
+ {
+ \cs_if_exist:NTF \luatex_pdfextension:D
+ { \luatex_pdfextension:D colorstack }
+ { \pdftex_pdfcolorstack:D }
+ \exp_not:N \l__driver_color_stack_int push
+ { \exp_not:N \l__driver_current_color_tl }
+ \group_insert_after:N \exp_not:N \__driver_color_reset:
+ }
+\cs_new_protected:Npx \__driver_color_reset:
+ {
+ \cs_if_exist:NTF \luatex_pdfextension:D
+ { \luatex_pdfextension:D colorstack }
+ { \pdftex_pdfcolorstack:D }
+ \exp_not:N \l__driver_color_stack_int pop \scan_stop:
+ }
\cs_new_eq:NN \__driver_draw_literal:n \__driver_literal:n
\cs_generate_variant:Nn \__driver_draw_literal:n { x }
\cs_new_protected:Npn \__driver_draw_begin:
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
index a17d2ea2240..0dd86d4d6fa 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3prg.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
index 77f6d1baa0e..ee0bec1c87e 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3prop.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3quark.sty b/Master/texmf-dist/tex/latex/l3kernel/l3quark.sty
index 11fb023c9f8..40673cd62b0 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3quark.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3quark.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3quark.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty b/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty
index a37f41ed175..dbd89d0a301 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3seq.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
index 0ecd47abf7a..bff54263790 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3skip.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3sort.sty b/Master/texmf-dist/tex/latex/l3kernel/l3sort.sty
index 618a56f4d66..9c562ad9755 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3sort.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3sort.sty
@@ -41,6 +41,7 @@
\old@liii@module@name{This package is obsolete ---
use 'expl3' instead}
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3sort.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str.sty b/Master/texmf-dist/tex/latex/l3kernel/l3str.sty
index d1e5a9b7512..1f7effda4f6 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3str.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty b/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty
index f3e6f71ab09..4faa54e46e2 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3tl.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3token.sty b/Master/texmf-dist/tex/latex/l3kernel/l3token.sty
index dfdf3bde38f..53f89cae6fc 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3token.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3token.sty
@@ -44,6 +44,7 @@
use 'expl3' instead}
\@ehc
\RequirePackage{expl3}
+
%%
%%
%% End of file `l3token.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
index 53f51576a3c..80de21c81dd 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
@@ -25,40 +25,9 @@
\cs_new_protected:Npn \__driver_literal:n #1
{ \tex_special:D { pdf:literal~ #1 } }
\cs_new_protected:Npn \__driver_scope_begin:
- { \__driver_literal:n { q } }
+ { \tex_special:D { x:gsave } }
\cs_new_protected:Npn \__driver_scope_end:
- { \__driver_literal:n { Q } }
-\cs_new_protected:Npn \__driver_matrix:n #1
- { \__driver_literal:n { #1 \c_space_tl 0~0~cm } }
-\tl_new:N \l__driver_current_color_tl
-\tl_set:Nn \l__driver_current_color_tl { [ 0 ] }
-\AtBeginDocument
- {
- \@ifpackageloaded { color }
- { \tl_set:Nn \l__driver_current_color_tl { \current@color } }
- { }
- }
-\cs_new_protected:Npn \__driver_color_ensure_current:
- {
- \tex_special:D { pdf:bcolor~\l__driver_current_color_tl }
- \group_insert_after:N \__driver_color_reset:
- }
-\cs_new_protected:Npn \__driver_color_reset:
- { \tex_special:D { pdf:ecolor } }
-\AtBeginDocument
- {
- \@ifpackageloaded { color }
- {
- \cs_set_protected:Npn \__driver_color_ensure_current:
- {
- \tex_special:D { color~push~\l__driver_current_color_tl }
- \group_insert_after:N \__driver_color_reset:
- }
- \cs_set_protected:Npn \__driver_color_reset:
- { \tex_special:D { color~pop } }
- }
- { }
- }
+ { \tex_special:D { x:grestore } }
\cs_new_protected:Npn \__driver_box_use_clip:N #1
{
\__driver_scope_begin:
@@ -77,41 +46,57 @@
\cs_new_protected:Npn \__driver_box_use_rotate:Nn #1#2
{
\__driver_scope_begin:
- \box_set_wd:Nn #1 \c_zero_dim
- \fp_set:Nn \l__driver_cos_fp { round ( cosd ( #2 ) , 5 ) }
- \fp_compare:nNnT \l__driver_cos_fp = \c_zero_fp
- { \fp_zero:N \l__driver_cos_fp }
- \fp_set:Nn \l__driver_sin_fp { round ( sind ( #2 ) , 5 ) }
- \__driver_matrix:n
+ \tex_special:D
{
- \fp_use:N \l__driver_cos_fp \c_space_tl
- \fp_compare:nNnTF \l__driver_sin_fp = \c_zero_fp
- { 0~0 }
- {
- \fp_use:N \l__driver_sin_fp
- \c_space_tl
- \fp_eval:n { -\l__driver_sin_fp }
- }
- \c_space_tl
- \fp_use:N \l__driver_cos_fp
+ x:rotate~
+ \fp_compare:nNnTF {#2} = \c_zero_fp
+ { 0 }
+ { \fp_eval:n { round ( #2 , 5 ) } }
}
- \box_use:N #1
- \__driver_scope_end:
+ \box_use:N #1
+ \__driver_scope_end:
}
-\fp_new:N \l__driver_cos_fp
-\fp_new:N \l__driver_sin_fp
\cs_new_protected:Npn \__driver_box_use_scale:Nnn #1#2#3
{
\__driver_scope_begin:
- \__driver_matrix:n
+ \tex_special:D
{
+ x:scale~
\fp_eval:n { round ( #2 , 5 ) } ~
- 0~0~
\fp_eval:n { round ( #3 , 5 ) }
}
\hbox_overlap_right:n { \box_use:N #1 }
\__driver_scope_end:
}
+\tl_new:N \l__driver_current_color_tl
+\tl_set:Nn \l__driver_current_color_tl { [ 0 ] }
+\AtBeginDocument
+ {
+ \@ifpackageloaded { color }
+ { \tl_set:Nn \l__driver_current_color_tl { \current@color } }
+ { }
+ }
+\cs_new_protected:Npn \__driver_color_ensure_current:
+ {
+ \tex_special:D { pdf:bcolor~\l__driver_current_color_tl }
+ \group_insert_after:N \__driver_color_reset:
+ }
+\cs_new_protected:Npn \__driver_color_reset:
+ { \tex_special:D { pdf:ecolor } }
+\AtBeginDocument
+ {
+ \@ifpackageloaded { color }
+ {
+ \cs_set_protected:Npn \__driver_color_ensure_current:
+ {
+ \tex_special:D { color~push~\l__driver_current_color_tl }
+ \group_insert_after:N \__driver_color_reset:
+ }
+ \cs_set_protected:Npn \__driver_color_reset:
+ { \tex_special:D { color~pop } }
+ }
+ { }
+ }
\cs_new_eq:NN \__driver_draw_literal:n \__driver_literal:n
\cs_generate_variant:Nn \__driver_draw_literal:n { x }
\cs_new_protected:Npn \__driver_draw_begin: