diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty | 285 |
1 files changed, 153 insertions, 132 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty index bca4f693965..15e008bfbe1 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty @@ -14,7 +14,7 @@ %% l3draw-state.dtx (with options: `package') %% l3draw-transforms.dtx (with options: `package') %% -%% Copyright (C) 2018-2023 The LaTeX Project +%% Copyright (C) 2018-2024 The LaTeX Project %% %% It may be distributed and/or modified under the conditions of %% the LaTeX Project Public License (LPPL), either version 1.3c of @@ -29,7 +29,7 @@ %% File: l3draw.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3draw}{2023-12-08}{} +\ProvidesExplPackage{l3draw}{2024-01-04}{} {L3 Experimental core drawing support} \scan_new:N \s__draw_mark \scan_new:N \s__draw_stop @@ -287,9 +287,9 @@ } \cs_new_protected:Npn \__draw_path_moveto:nn #1#2 { - \__draw_path_update_limits:nn {#1} {#2} - \__draw_softpath_moveto:nn {#1} {#2} - \__draw_path_update_last:nn {#1} {#2} + \__draw_path_update_limits:nn {#1} {#2} + \__draw_softpath_moveto:nn {#1} {#2} + \__draw_path_update_last:nn {#1} {#2} } \cs_new_protected:Npn \draw_path_lineto:n #1 { @@ -299,10 +299,10 @@ } \cs_new_protected:Npn \__draw_path_lineto:nn #1#2 { - \__draw_path_mark_corner: - \__draw_path_update_limits:nn {#1} {#2} - \__draw_softpath_lineto:nn {#1} {#2} - \__draw_path_update_last:nn {#1} {#2} + \__draw_path_mark_corner: + \__draw_path_update_limits:nn {#1} {#2} + \__draw_softpath_lineto:nn {#1} {#2} + \__draw_path_update_last:nn {#1} {#2} } \cs_new_protected:Npn \draw_path_curveto:nnn #1#2#3 { @@ -317,11 +317,11 @@ } \cs_new_protected:Npn \__draw_path_curveto:nnnnnn #1#2#3#4#5#6 { - \__draw_path_update_limits:nn {#1} {#2} - \__draw_path_update_limits:nn {#3} {#4} - \__draw_path_update_limits:nn {#5} {#6} - \__draw_softpath_curveto:nnnnnn {#1} {#2} {#3} {#4} {#5} {#6} - \__draw_path_update_last:nn {#5} {#6} + \__draw_path_update_limits:nn {#1} {#2} + \__draw_path_update_limits:nn {#3} {#4} + \__draw_path_update_limits:nn {#5} {#6} + \__draw_softpath_curveto:nnnnnn {#1} {#2} {#3} {#4} {#5} {#6} + \__draw_path_update_last:nn {#5} {#6} } \cs_new_protected:Npn \draw_path_close: { @@ -354,32 +354,32 @@ \fp_set:Nn \l__draw_path_tmpb_fp { \c__draw_path_curveto_b_fp * #2 } \use:e { - \__draw_path_mark_corner: - \__draw_path_curveto:nnnnnn - { - \fp_to_dim:n - { - \c__draw_path_curveto_a_fp * \g__draw_path_lastx_dim - + \l__draw_path_tmpa_fp - } - } - { - \fp_to_dim:n - { - \c__draw_path_curveto_a_fp * \g__draw_path_lasty_dim - + \l__draw_path_tmpb_fp - } - } - { - \fp_to_dim:n - { \c__draw_path_curveto_a_fp * #3 + \l__draw_path_tmpa_fp } - } - { - \fp_to_dim:n - { \c__draw_path_curveto_a_fp * #4 + \l__draw_path_tmpb_fp } - } - {#3} - {#4} + \__draw_path_mark_corner: + \__draw_path_curveto:nnnnnn + { + \fp_to_dim:n + { + \c__draw_path_curveto_a_fp * \g__draw_path_lastx_dim + + \l__draw_path_tmpa_fp + } + } + { + \fp_to_dim:n + { + \c__draw_path_curveto_a_fp * \g__draw_path_lasty_dim + + \l__draw_path_tmpb_fp + } + } + { + \fp_to_dim:n + { \c__draw_path_curveto_a_fp * #3 + \l__draw_path_tmpa_fp } + } + { + \fp_to_dim:n + { \c__draw_path_curveto_a_fp * #4 + \l__draw_path_tmpb_fp } + } + {#3} + {#4} } } \fp_const:Nn \c__draw_path_curveto_a_fp { 1 / 3 } @@ -395,7 +395,7 @@ { \fp_eval:n {#2} } { \fp_to_dim:n {#3} } { \fp_to_dim:n {#4} } - } + } } \cs_new_protected:Npn \__draw_path_arc:nnnn #1#2#3#4 { @@ -411,14 +411,14 @@ { \fp_compare:nNnTF \l__draw_path_arc_delta_fp > { 115 } { - \__draw_path_arc_auxi:ffnnNnn + \__draw_path_arc_auxi:eennNnn { \fp_to_decimal:N \l__draw_path_arc_start_fp } { \fp_eval:n { \l__draw_path_arc_start_fp #3 90 } } { 90 } {#2} #3 {#4} {#5} } { - \__draw_path_arc_auxi:ffnnNnn + \__draw_path_arc_auxi:eennNnn { \fp_to_decimal:N \l__draw_path_arc_start_fp } { \fp_eval:n { \l__draw_path_arc_start_fp #3 60 } } { 60 } {#2} @@ -426,7 +426,7 @@ } } \__draw_path_mark_corner: - \__draw_path_arc_auxi:fnfnNnn + \__draw_path_arc_auxi:enenNnn { \fp_to_decimal:N \l__draw_path_arc_start_fp } {#2} { \fp_eval:n { abs( \l__draw_path_arc_start_fp - #2 ) } } @@ -459,7 +459,7 @@ } } } -\cs_generate_variant:Nn \__draw_path_arc_auxi:nnnnNnn { fnf , ff } +\cs_generate_variant:Nn \__draw_path_arc_auxi:nnnnNnn { ene , ee } \cs_new_protected:Npn \__draw_path_arc_auxii:nnnNnnnn #1#2#3#4#5#6#7#8 { \tl_clear:N \l__draw_path_tmp_tl @@ -605,7 +605,7 @@ { \__draw_path_rectangle_rounded:nnnn } { \__draw_path_rectangle:nnnn } } - { \draw_point_transform:n {#1} } + {#1} {#2} } \cs_new_protected:Npn \__draw_path_rectangle:nnnn #1#2#3#4 @@ -636,7 +636,7 @@ { \__draw_point_process:nnn { - \__draw_path_grid_auxi:ffnnnn + \__draw_path_grid_auxi:eennnn { \dim_eval:n { \dim_abs:n {#1} } } { \dim_eval:n { \dim_abs:n {#2} } } } @@ -648,7 +648,7 @@ { \__draw_path_grid_auxii:nnnnnn {#1} {#2} {#5} {#4} {#3} {#6} } { \__draw_path_grid_auxii:nnnnnn {#1} {#2} {#3} {#4} {#5} {#6} } } -\cs_generate_variant:Nn \__draw_path_grid_auxi:nnnnnn { ff } +\cs_generate_variant:Nn \__draw_path_grid_auxi:nnnnnn { ee } \cs_new_protected:Npn \__draw_path_grid_auxii:nnnnnn #1#2#3#4#5#6 { \dim_compare:nNnTF {#4} > {#6} @@ -657,7 +657,7 @@ } \cs_new_protected:Npn \__draw_path_grid_auxiii:nnnnnn #1#2#3#4#5#6 { - \__draw_path_grid_auxiv:ffnnnnnn + \__draw_path_grid_auxiv:eennnnnn { \fp_to_dim:n { #1 * trunc(#3/(#1)) } } { \fp_to_dim:n { #2 * trunc(#4/(#2)) } } {#1} {#2} {#3} {#4} {#5} {#6} @@ -681,7 +681,7 @@ \draw_path_lineto:n { #7 , ##1 } } } -\cs_generate_variant:Nn \__draw_path_grid_auxiv:nnnnnnnn { ff } +\cs_generate_variant:Nn \__draw_path_grid_auxiv:nnnnnnnn { ee } \bool_new:N \l__draw_path_use_clip_bool \bool_new:N \l__draw_path_use_fill_bool \bool_new:N \l__draw_path_use_stroke_bool @@ -702,7 +702,7 @@ \__draw_path_reset_limits: } { \__draw_path_use:n { #1 , clear } } - } + } \cs_new_protected:Npn \__draw_path_use:n #1 { \bool_set_false:N \l__draw_path_use_clip_bool @@ -820,28 +820,30 @@ %% File: l3draw-points.dtx \cs_new:Npn \__draw_point_process:nn #1#2 { - \exp_args:Nf \__draw_point_process_auxi:nn + \__draw_point_process_auxi:en { \draw_point:n {#2} } {#1} } \cs_new:Npn \__draw_point_process_auxi:nn #1#2 { \__draw_point_process_auxii:nw {#2} #1 \s__draw_stop } +\cs_generate_variant:Nn \__draw_point_process_auxi:nn { e } \cs_new:Npn \__draw_point_process_auxii:nw #1 #2 , #3 \s__draw_stop { #1 {#2} {#3} } \cs_new:Npn \__draw_point_process:nnn #1#2#3 { - \exp_args:Nff \__draw_point_process_auxiii:nnn + \__draw_point_process_auxiii:een { \draw_point:n {#2} } { \draw_point:n {#3} } {#1} } \cs_new:Npn \__draw_point_process_auxiii:nnn #1#2#3 { \__draw_point_process_auxiv:nw {#3} #1 \s__draw_mark #2 \s__draw_stop } +\cs_generate_variant:Nn \__draw_point_process_auxiii:nnn { ee } \cs_new:Npn \__draw_point_process_auxiv:nw #1 #2 , #3 \s__draw_mark #4 , #5 \s__draw_stop { #1 {#2} {#3} {#4} {#5} } \cs_new:Npn \__draw_point_process:nnnn #1#2#3#4 { - \exp_args:Nfff \__draw_point_process_auxv:nnnn + \__draw_point_process_auxv:eeen { \draw_point:n {#2} } { \draw_point:n {#3} } { \draw_point:n {#4} } @@ -849,12 +851,13 @@ } \cs_new:Npn \__draw_point_process_auxv:nnnn #1#2#3#4 { \__draw_point_process_auxvi:nw {#4} #1 \s__draw_mark #2 \s__draw_mark #3 \s__draw_stop } +\cs_generate_variant:Nn \__draw_point_process_auxv:nnnn { eee } \cs_new:Npn \__draw_point_process_auxvi:nw #1 #2 , #3 \s__draw_mark #4 , #5 \s__draw_mark #6 , #7 \s__draw_stop { #1 {#2} {#3} {#4} {#5} {#6} {#7} } \cs_new:Npn \__draw_point_process:nnnnn #1#2#3#4#5 { - \exp_args:Nffff \__draw_point_process_auxvii:nnnnn + \__draw_point_process_auxvii:eeeen { \draw_point:n {#2} } { \draw_point:n {#3} } { \draw_point:n {#4} } @@ -866,27 +869,28 @@ \__draw_point_process_auxviii:nw {#5} #1 \s__draw_mark #2 \s__draw_mark #3 \s__draw_mark #4 \s__draw_stop } +\cs_generate_variant:Nn \__draw_point_process_auxvii:nnnnn { eeee } \cs_new:Npn \__draw_point_process_auxviii:nw #1 #2 , #3 \s__draw_mark #4 , #5 \s__draw_mark #6 , #7 \s__draw_mark #8 , #9 \s__draw_stop { #1 {#2} {#3} {#4} {#5} {#6} {#7} {#8} {#9} } \cs_new:Npn \draw_point:n #1 - { \__draw_point_to_dim:f { \fp_eval:n {#1} } } + { \__draw_point_to_dim:e { \fp_eval:n {#1} } } \cs_new:Npn \__draw_point_to_dim:n #1 { \__draw_point_to_dim:w #1 } -\cs_generate_variant:Nn \__draw_point_to_dim:n { f } +\cs_generate_variant:Nn \__draw_point_to_dim:n { e } \cs_new:Npn \__draw_point_to_dim:w ( #1 , ~ #2 ) { #1pt , #2pt } \cs_new:Npn \draw_point_polar:nn #1#2 { \draw_point_polar:nnn {#1} {#1} {#2} } \cs_new:Npn \draw_point_polar:nnn #1#2#3 - { \__draw_draw_polar:fnn { \fp_eval:n {#3} } {#1} {#2} } + { \__draw_draw_polar:enn { \fp_eval:n {#3} } {#1} {#2} } \cs_new:Npn \__draw_draw_polar:nnn #1#2#3 { \draw_point:n { cosd(#1) * (#2) , sind(#1) * (#3) } } -\cs_generate_variant:Nn \__draw_draw_polar:nnn { f } +\cs_generate_variant:Nn \__draw_draw_polar:nnn { e } \cs_new:Npn \draw_point_unit_vector:n #1 { \__draw_point_process:nn { \__draw_point_unit_vector:nn } {#1} } \cs_new:Npn \__draw_point_unit_vector:nn #1#2 { - \exp_args:Nf \__draw_point_unit_vector:nnn + \__draw_point_unit_vector:nnn { \fp_eval:n { (sqrt(#1 * #1 + #2 * #2)) } } {#1} {#2} } @@ -899,6 +903,7 @@ { ( #2 , #3 ) / #1 } } } +\cs_generate_variant:Nn \__draw_point_unit_vector:nnn { e } \cs_new:Npn \draw_point_intersect_lines:nnnn #1#2#3#4 { \__draw_point_process:nnnnn @@ -907,7 +912,7 @@ } \cs_new:Npn \__draw_point_intersect_lines:nnnnnnnn #1#2#3#4#5#6#7#8 { - \__draw_point_intersect_lines_aux:ffffff + \__draw_point_intersect_lines_aux:eeeeee { \fp_eval:n { #1 * #4 - #2 * #3 } } { \fp_eval:n { #5 * #8 - #6 * #7 } } { \fp_eval:n { #1 - #3 } } @@ -923,7 +928,7 @@ / ( #4 * #5 - #6 * #3 ) } } -\cs_generate_variant:Nn \__draw_point_intersect_lines_aux:nnnnnn { ffffff } +\cs_generate_variant:Nn \__draw_point_intersect_lines_aux:nnnnnn { eeeeee } \cs_new:Npn \draw_point_intersect_circles:nnnnn #1#2#3#4#5 { \__draw_point_process:nnn @@ -932,54 +937,54 @@ } \cs_new:Npn \__draw_point_intersect_circles_auxi:nnnnnnn #1#2#3#4#5#6#7 { - \__draw_point_intersect_circles_auxii:ffnnnnn + \__draw_point_intersect_circles_auxii:eennnnn { \fp_eval:n {#1} } { \fp_eval:n {#2} } {#4} {#5} {#6} {#7} {#3} } \cs_new:Npn \__draw_point_intersect_circles_auxii:nnnnnnn #1#2#3#4#5#6#7 { - \__draw_point_intersect_circles_auxiii:ffnnnnn + \__draw_point_intersect_circles_auxiii:eennnnn { \fp_eval:n { #5 - #3 } } { \fp_eval:n { #6 - #4 } } {#1} {#2} {#3} {#4} {#7} } -\cs_generate_variant:Nn \__draw_point_intersect_circles_auxii:nnnnnnn { ff } +\cs_generate_variant:Nn \__draw_point_intersect_circles_auxii:nnnnnnn { ee } \cs_new:Npn \__draw_point_intersect_circles_auxiii:nnnnnnn #1#2#3#4#5#6#7 { - \__draw_point_intersect_circles_auxiv:fnnnnnnn + \__draw_point_intersect_circles_auxiv:ennnnnnn { \fp_eval:n { sqrt( #1 * #1 + #2 * #2 ) } } {#1} {#2} {#3} {#4} {#5} {#6} {#7} } -\cs_generate_variant:Nn \__draw_point_intersect_circles_auxiii:nnnnnnn { ff } +\cs_generate_variant:Nn \__draw_point_intersect_circles_auxiii:nnnnnnn { ee } \cs_new:Npn \__draw_point_intersect_circles_auxiv:nnnnnnnn #1#2#3#4#5#6#7#8 { - \__draw_point_intersect_circles_auxv:ffnnnnnnn + \__draw_point_intersect_circles_auxv:eennnnnnn { \fp_eval:n { 1 / #1 } } { \fp_eval:n { #4 * #4 } } {#1} {#2} {#3} {#5} {#6} {#7} {#8} } -\cs_generate_variant:Nn \__draw_point_intersect_circles_auxiv:nnnnnnnn { f } +\cs_generate_variant:Nn \__draw_point_intersect_circles_auxiv:nnnnnnnn { e } \cs_new:Npn \__draw_point_intersect_circles_auxv:nnnnnnnnn #1#2#3#4#5#6#7#8#9 { - \__draw_point_intersect_circles_auxvi:fnnnnnnn + \__draw_point_intersect_circles_auxvi:ennnnnnn { \fp_eval:n { 0.5 * #1 * ( #2 + #3 * #3 - #6 * #6 ) } } {#1} {#2} {#4} {#5} {#7} {#8} {#9} } -\cs_generate_variant:Nn \__draw_point_intersect_circles_auxv:nnnnnnnnn { ff } +\cs_generate_variant:Nn \__draw_point_intersect_circles_auxv:nnnnnnnnn { ee } \cs_new:Npn \__draw_point_intersect_circles_auxvi:nnnnnnnn #1#2#3#4#5#6#7#8 { - \__draw_point_intersect_circles_auxvii:fffnnnn + \__draw_point_intersect_circles_auxvii:eeennnn { \fp_eval:n { #1 * #2 } } { \int_if_odd:nTF {#8} { 1 } { -1 } } { \fp_eval:n { sqrt ( #3 - #1 * #1 ) * #2 } } {#4} {#5} {#6} {#7} } -\cs_generate_variant:Nn \__draw_point_intersect_circles_auxvi:nnnnnnnn { f } +\cs_generate_variant:Nn \__draw_point_intersect_circles_auxvi:nnnnnnnn { e } \cs_new:Npn \__draw_point_intersect_circles_auxvii:nnnnnnn #1#2#3#4#5#6#7 { \draw_point:n { #6 + #4 * #1 + #2 * #3 * #5 , #7 + #5 * #1 + -1 * #2 * #3 * #4 } } -\cs_generate_variant:Nn \__draw_point_intersect_circles_auxvii:nnnnnnn { fff } +\cs_generate_variant:Nn \__draw_point_intersect_circles_auxvii:nnnnnnn { eee } \cs_new:Npn \draw_point_intersect_line_circle:nnnnn #1#2#3#4#5 { \__draw_point_process:nnnn @@ -988,54 +993,54 @@ } \cs_new:Npn \__draw_point_intersect_line_circle_auxi:nnnnnnnn #1#2#3#4#5#6#7#8 { - \__draw_point_intersect_line_circle_auxii:fnnnnnnn + \__draw_point_intersect_line_circle_auxii:ennnnnnn { \fp_eval:n {#1} } {#3} {#4} {#5} {#6} {#7} {#8} {#2} } \cs_new:Npn \__draw_point_intersect_line_circle_auxii:nnnnnnnn #1#2#3#4#5#6#7#8 { - \__draw_point_intersect_line_circle_auxiii:fffnnnnn + \__draw_point_intersect_line_circle_auxiii:eeennnnn { \fp_eval:n { (#4-#2)*(#4-#2)+(#5-#3)*(#5-#3) } } { \fp_eval:n { 2*((#4-#2)*(#2-#6)+(#5-#3)*(#3-#7)) } } { \fp_eval:n { (#6*#6+#7*#7)+(#2*#2+#3*#3)-(2*(#6*#2+#7*#3))-(#1*#1) } } {#2} {#3} {#4} {#5} {#8} } -\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxii:nnnnnnnn { f } +\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxii:nnnnnnnn { e } \cs_new:Npn \__draw_point_intersect_line_circle_auxiii:nnnnnnnn #1#2#3#4#5#6#7#8 { - \__draw_point_intersect_line_circle_auxiv:ffnnnnnn + \__draw_point_intersect_line_circle_auxiv:eennnnnn { \fp_eval:n { #2 * #2 - 4 * #1 * #3 } } { \int_if_odd:nTF {#8} { 1 } { -1 } } {#1} {#2} {#4} {#5} {#6} {#7} } -\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxiii:nnnnnnnn { fff } +\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxiii:nnnnnnnn { eee } \cs_new:Npn \__draw_point_intersect_line_circle_auxiv:nnnnnnnn #1#2#3#4#5#6#7#8 { - \__draw_point_intersect_line_circle_auxv:fnnnn + \__draw_point_intersect_line_circle_auxv:ennnn { \fp_eval:n { (-1 * #4 + #2 * sqrt(#1)) / (2 * #3) } } {#5} {#6} {#7} {#8} } -\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxiv:nnnnnnnn { ff } +\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxiv:nnnnnnnn { ee } \cs_new:Npn \__draw_point_intersect_line_circle_auxv:nnnnn #1#2#3#4#5 { \draw_point:n { #2 + #1 * (#4 - #2), #3 + #1 * (#5 - #3) } } -\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxv:nnnnn { f } +\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxv:nnnnn { e } \cs_new:Npn \draw_point_interpolate_line:nnn #1#2#3 { \__draw_point_process:nnn - { \__draw_point_interpolate_line_aux:fnnnn { \fp_eval:n {#1} } } + { \__draw_point_interpolate_line_aux:ennnn { \fp_eval:n {#1} } } {#2} {#3} } \cs_new:Npn \__draw_point_interpolate_line_aux:nnnnn #1#2#3#4#5 { - \__draw_point_interpolate_line_aux:fnnnnn { \fp_eval:n { 1 - #1 } } + \__draw_point_interpolate_line_aux:ennnnn { \fp_eval:n { 1 - #1 } } {#1} {#2} {#3} {#4} {#5} } -\cs_generate_variant:Nn \__draw_point_interpolate_line_aux:nnnnn { f } +\cs_generate_variant:Nn \__draw_point_interpolate_line_aux:nnnnn { e } \cs_new:Npn \__draw_point_interpolate_line_aux:nnnnnn #1#2#3#4#5#6 { \draw_point:n { #2 * #3 + #1 * #5 , #2 * #4 + #1 * #6 } } -\cs_generate_variant:Nn \__draw_point_interpolate_line_aux:nnnnnn { f } +\cs_generate_variant:Nn \__draw_point_interpolate_line_aux:nnnnnn { e } \cs_new:Npn \draw_point_interpolate_distance:nnn #1#2#3 { \__draw_point_process:nn @@ -1046,14 +1051,14 @@ { \__draw_point_process:nn { - \__draw_point_interpolate_distance:fnnnn + \__draw_point_interpolate_distance:ennnn { \fp_eval:n {#1} } {#3} {#4} } { \draw_point_unit_vector:n { ( #2 ) - ( #3 , #4 ) } } } \cs_new:Npn \__draw_point_interpolate_distance:nnnnn #1#2#3#4#5 { \draw_point:n { #2 + #1 * #4 , #3 + #1 * #5 } } -\cs_generate_variant:Nn \__draw_point_interpolate_distance:nnnnn { f } +\cs_generate_variant:Nn \__draw_point_interpolate_distance:nnnnn { e } \cs_new:Npn \draw_point_interpolate_arcaxes:nnnnnn #1#2#3#4#5#6 { \__draw_point_process:nnnn @@ -1062,30 +1067,30 @@ } \cs_new:Npn \__draw_point_interpolate_arcaxes_auxi:nnnnnnnnn #1#2#3#4#5#6#7#8#9 { - \__draw_point_interpolate_arcaxes_auxii:fnnnnnnnn + \__draw_point_interpolate_arcaxes_auxii:ennnnnnnn { \fp_eval:n {#1} } {#2} {#3} {#4} {#5} {#6} {#7} {#8} {#9} } \cs_new:Npn \__draw_point_interpolate_arcaxes_auxii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 { - \__draw_point_interpolate_arcaxes_auxiii:fnnnnnn + \__draw_point_interpolate_arcaxes_auxiii:ennnnnn { \fp_eval:n { #1 * (#3) + ( 1 - #1 ) * (#2) } } {#4} {#5} {#6} {#7} {#8} {#9} } -\cs_generate_variant:Nn \__draw_point_interpolate_arcaxes_auxii:nnnnnnnnn { f } +\cs_generate_variant:Nn \__draw_point_interpolate_arcaxes_auxii:nnnnnnnnn { e } \cs_new:Npn \__draw_point_interpolate_arcaxes_auxiii:nnnnnnn #1#2#3#4#5#6#7 { - \__draw_point_interpolate_arcaxes_auxiv:ffnnnnnn + \__draw_point_interpolate_arcaxes_auxiv:eennnnnn { \fp_eval:n { cosd (#1) } } { \fp_eval:n { sind (#1) } } {#2} {#3} {#4} {#5} {#6} {#7} } -\cs_generate_variant:Nn \__draw_point_interpolate_arcaxes_auxiii:nnnnnnn { f } +\cs_generate_variant:Nn \__draw_point_interpolate_arcaxes_auxiii:nnnnnnn { e } \cs_new:Npn \__draw_point_interpolate_arcaxes_auxiv:nnnnnnnn #1#2#3#4#5#6#7#8 { \draw_point:n { #3 + #1 * #5 + #2 * #7 , #4 + #1 * #6 + #2 * #8 } } -\cs_generate_variant:Nn \__draw_point_interpolate_arcaxes_auxiv:nnnnnnnn { ff } +\cs_generate_variant:Nn \__draw_point_interpolate_arcaxes_auxiv:nnnnnnnn { ee } \cs_new:Npn \draw_point_interpolate_curve:nnnnnn #1#2#3#4#5 { \__draw_point_process:nnnnn @@ -1094,19 +1099,19 @@ } \cs_new:Npn \__draw_point_interpolate_curve_auxi:nnnnnnnnn #1#2#3#4#5#6#7#8#9 { - \__draw_point_interpolate_curve_auxii:fnnnnnnnn + \__draw_point_interpolate_curve_auxii:ennnnnnnn { \fp_eval:n {#1} } {#2} {#3} {#4} {#5} {#6} {#7} {#8} {#9} } \cs_new:Npn \__draw_point_interpolate_curve_auxii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 { - \__draw_point_interpolate_curve_auxiii:fnnnnn + \__draw_point_interpolate_curve_auxiii:ennnnn { \fp_eval:n { 1 - #1 } } {#1} { {#2} {#3} } { {#4} {#5} } { {#6} {#7} } { {#8} {#9} } } -\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxii:nnnnnnnnn { f } +\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxii:nnnnnnnnn { e } \cs_new:Npn \__draw_point_interpolate_curve_auxiii:nnnnnn #1#2#3#4#5#6 { \__draw_point_interpolate_curve_auxiv:nnnnnn {#1} {#2} #3 #4 @@ -1115,10 +1120,10 @@ \prg_do_nothing: \__draw_point_interpolate_curve_auxvi:n { {#1} {#2} } } -\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxiii:nnnnnn { f } +\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxiii:nnnnnn { e } \cs_new:Npn \__draw_point_interpolate_curve_auxiv:nnnnnn #1#2#3#4#5#6 { - \__draw_point_interpolate_curve_auxv:ffw + \__draw_point_interpolate_curve_auxv:eew { \fp_eval:n { #1 * #3 + #2 * #5 } } { \fp_eval:n { #1 * #4 + #2 * #6 } } } @@ -1129,12 +1134,12 @@ \prg_do_nothing: #4 { #5 {#1} {#2} } } -\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxv:nnw { ff } +\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxv:nnw { ee } \cs_new:Npn \__draw_point_interpolate_curve_auxvi:n #1 { \__draw_point_interpolate_curve_auxvii:nnnnnnnn #1 } \cs_new:Npn \__draw_point_interpolate_curve_auxvii:nnnnnnnn #1#2#3#4#5#6#7#8 { - \__draw_point_interpolate_curve_auxviii:ffffnn + \__draw_point_interpolate_curve_auxviii:eeeenn { \fp_eval:n { #1 * #5 + #2 * #3 } } { \fp_eval:n { #1 * #6 + #2 * #4 } } { \fp_eval:n { #1 * #7 + #2 * #5 } } @@ -1146,7 +1151,7 @@ \draw_point:n { #5 * #3 + #6 * #1 , #5 * #4 + #6 * #2 } } -\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxviii:nnnnnn { ffff } +\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxviii:nnnnnn { eeee } \dim_new:N \l__draw_xvec_x_dim \dim_new:N \l__draw_xvec_y_dim \dim_new:N \l__draw_yvec_x_dim @@ -1172,7 +1177,7 @@ \draw_yvec:n { 0cm , 1cm } \draw_zvec:n { -0.385cm , -0.385cm } \cs_new:Npn \draw_point_vec:nn #1#2 - { \__draw_point_vec:ff { \fp_eval:n {#1} } { \fp_eval:n {#2} } } + { \__draw_point_vec:ee { \fp_eval:n {#1} } { \fp_eval:n {#2} } } \cs_new:Npn \__draw_point_vec:nn #1#2 { \draw_point:n @@ -1181,39 +1186,39 @@ #1 * \l__draw_xvec_y_dim + #2 * \l__draw_yvec_y_dim } } -\cs_generate_variant:Nn \__draw_point_vec:nn { ff } +\cs_generate_variant:Nn \__draw_point_vec:nn { ee } \cs_new:Npn \draw_point_vec:nnn #1#2#3 { - \__draw_point_vec:fff + \__draw_point_vec:eee { \fp_eval:n {#1} } { \fp_eval:n {#2} } { \fp_eval:n {#3} } } \cs_new:Npn \__draw_point_vec:nnn #1#2#3 { \draw_point:n { - #1 * \l__draw_xvec_x_dim - + #2 * \l__draw_yvec_x_dim - + #3 * \l__draw_zvec_x_dim + #1 * \l__draw_xvec_x_dim + + #2 * \l__draw_yvec_x_dim + + #3 * \l__draw_zvec_x_dim , #1 * \l__draw_xvec_y_dim + #2 * \l__draw_yvec_y_dim + #3 * \l__draw_zvec_y_dim } } -\cs_generate_variant:Nn \__draw_point_vec:nnn { fff } +\cs_generate_variant:Nn \__draw_point_vec:nnn { eee } \cs_new:Npn \draw_point_vec_polar:nn #1#2 { \draw_point_vec_polar:nnn {#1} {#1} {#2} } \cs_new:Npn \draw_point_vec_polar:nnn #1#2#3 - { \__draw_draw_vec_polar:fnn { \fp_eval:n {#3} } {#1} {#2} } + { \__draw_draw_vec_polar:enn { \fp_eval:n {#3} } {#1} {#2} } \cs_new:Npn \__draw_draw_vec_polar:nnn #1#2#3 { \draw_point:n { cosd(#1) * (#2) * \l__draw_xvec_x_dim , sind(#1) * (#3) * \l__draw_yvec_y_dim - } + } } -\cs_generate_variant:Nn \__draw_draw_vec_polar:nnn { f } +\cs_generate_variant:Nn \__draw_draw_vec_polar:nnn { e } \cs_new:Npn \draw_point_transform:n #1 { \__draw_point_process:nn @@ -1358,7 +1363,7 @@ { 0pt } } \box_set_ht:Nn \l__draw_main_box - { \g__draw_ymax_dim + #1 } + { \g__draw_ymax_dim - #1 } } \bool_new:N \l__draw_baseline_bool \dim_new:N \l__draw_baseline_dim @@ -1440,12 +1445,10 @@ \cs_generate_variant:Nn \__draw_softpath_add:n { o, e } \cs_new_protected:Npn \__draw_softpath_use: { - \tl_build_gend:N \g__draw_softpath_main_tl - \tl_set_eq:NN \l__draw_softpath_tmp_tl \g__draw_softpath_main_tl + \tl_build_get_intermediate:NN + \g__draw_softpath_main_tl + \l__draw_softpath_tmp_tl \l__draw_softpath_tmp_tl - \tl_build_gbegin:N \g__draw_softpath_main_tl - \exp_args:NNV \tl_build_gput_right:Nn - \g__draw_softpath_main_tl \l__draw_softpath_tmp_tl } \cs_new_protected:Npn \__draw_softpath_clear: { @@ -1685,7 +1688,7 @@ \tl_put_right:Ne \l__draw_softpath_part_tl { \exp_not:N #4 - \__draw_softpath_round_calc:fVnnnn + \__draw_softpath_round_calc:eVnnnn { \draw_point_interpolate_distance:nnn \l__draw_softpath_corneri_dim @@ -1707,7 +1710,7 @@ \__draw_softpath_round_calc:nnnnw {#3} {#4} {#5} {#6} #1 \s__draw_mark #2 \s__draw_stop } -\cs_generate_variant:Nn \__draw_softpath_round_calc:nnnnnn { fV } +\cs_generate_variant:Nn \__draw_softpath_round_calc:nnnnnn { eV } \cs_new:Npn \__draw_softpath_round_calc:nnnnw #1#2#3#4 #5 , #6 \s__draw_mark #7 , #8 \s__draw_stop { @@ -1853,10 +1856,7 @@ { \__draw_transform_shift_absolute:nn } {#1} } \cs_new_protected:Npn \__draw_transform_shift_absolute:nn #1#2 - { - \dim_set:Nn \l__draw_xshift_dim {#1} - \dim_set:Nn \l__draw_yshift_dim {#2} - } + { \__draw_transform_shift:nnnn { 0pt } { 0pt } {#1} {#2} } \cs_new_protected:Npn \draw_transform_matrix:nnnn #1#2#3#4 { \use:e @@ -1886,14 +1886,35 @@ } \cs_new_protected:Npn \__draw_transform_shift:nn #1#2 { - \dim_set:Nn \l__draw_xshift_dim { \l__draw_xshift_dim + #1 } - \dim_set:Nn \l__draw_yshift_dim { \l__draw_yshift_dim + #2 } + \__draw_transform_shift:nnnn + \l__draw_xshift_dim + \l__draw_yshift_dim + {#1} {#2} + } +\cs_new_protected:Npn \__draw_transform_shift:nnnn #1#2#3#4 + { + \dim_set:Nn \l__draw_xshift_dim + { + \fp_to_dim:n + { + #1 + + ( #3 * \l__draw_matrix_a_fp + #4 * \l__draw_matrix_b_fp ) + } + } + \dim_set:Nn \l__draw_yshift_dim + { + \fp_to_dim:n + { + #2 + + ( #3 * \l__draw_matrix_c_fp + #4 * \l__draw_matrix_d_fp ) + } + } } \cs_new_protected:Npn \draw_transform_matrix_invert: { \bool_if:NT \l__draw_matrix_active_bool { - \__draw_transform_invert:f + \__draw_transform_invert:e { \fp_eval:n { @@ -1917,7 +1938,7 @@ \fp_set:Nn \l__draw_matrix_d_fp { \l__draw_matrix_a_fp * #1 } } -\cs_generate_variant:Nn \__draw_transform_invert:n { f } +\cs_generate_variant:Nn \__draw_transform_invert:n { e } \cs_new_protected:Npn \draw_transform_shift_invert: { \dim_set:Nn \l__draw_xshift_dim { -\l__draw_xshift_dim } @@ -1960,17 +1981,17 @@ \cs_new_protected:Npn \draw_transform_yslant:n #1 { \draw_transform_matrix:nnnn { 1 } { #1 } { 0 } { 1 } } \cs_new_protected:Npn \draw_transform_rotate:n #1 - { \__draw_transform_rotate:f { \fp_eval:n {#1} } } + { \__draw_transform_rotate:e { \fp_eval:n {#1} } } \cs_new_protected:Npn \__draw_transform_rotate:n #1 { - \__draw_transform_rotate:ff + \__draw_transform_rotate:ee { \fp_eval:n { cosd(#1) } } { \fp_eval:n { sind(#1) } } } -\cs_generate_variant:Nn \__draw_transform_rotate:n { f } +\cs_generate_variant:Nn \__draw_transform_rotate:n { e } \cs_new_protected:Npn \__draw_transform_rotate:nn #1#2 { \draw_transform_matrix:nnnn {#1} {#2} { -#2 } { #1 } } -\cs_generate_variant:Nn \__draw_transform_rotate:nn { ff } +\cs_generate_variant:Nn \__draw_transform_rotate:nn { ee } %% %% %% End of file `l3draw.sty'. |