diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/l3experimental')
18 files changed, 170 insertions, 28 deletions
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx b/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx index d5ba6349ab4..5a868d830e4 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -122,7 +122,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3benchmark}{2021-08-27}{} +\ProvidesExplPackage{l3benchmark}{2021-11-12}{} {L3 Experimental benchmarking} % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx b/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx index 517cab5815f..21a5f550b83 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % \begin{documentation} @@ -264,7 +264,7 @@ %<@@=bitset> % \end{macrocode} % \begin{macrocode} -\ProvidesExplPackage{l3bitset}{2021-08-27}{} +\ProvidesExplPackage{l3bitset}{2021-11-12}{} {L3 Experimental bitset support} % \end{macrocode} % A bitset is a string variable. diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx index 817db2e90fc..d3a474abdae 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx index bab6d5d0144..8c8bcea84bd 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx index 9f49558bc25..ad09f0a605f 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx index 2e17871c405..82629b50536 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -477,6 +477,137 @@ % \end{macro} % \end{macro} % +% \begin{macro}[EXP]{\draw_point_intersect_line_circle:nnnnn} +% \begin{macro}[EXP]{\@@_point_intersect_line_circle_auxi:nnnnnnnn} +% \begin{macro}[EXP] +% { +% \@@_point_intersect_line_circle_auxii:nnnnnnnn, +% \@@_point_intersect_line_circle_auxii:fnnnnnnn, +% \@@_point_intersect_line_circle_auxiii:nnnnnnnn, +% \@@_point_intersect_line_circle_auxiii:fffnnnnn +% } +% \begin{macro}[EXP] +% { +% \@@_point_intersect_line_circle_auxiv:nnnnnnnn, +% \@@_point_intersect_line_circle_auxiv:ffnnnnnn +% } +% \begin{macro}[EXP] +% { +% \@@_point_intersect_line_circle_auxv:nnnnn, +% \@@_point_intersect_line_circle_auxv:fnnnn +% } +% The intersection points~$P_{1}$ and~$P_{2}$ between +% a line joining points $(x_{1}, y_{1})$ and $(x_{2}, y_{2})$ +% and a circle with center $(x_{3}, y_{3})$ and radius~$r$. +% We use the intermediate +% values +% \begin{align*} +% a &= (x_{2} - x_{1})^{2} + (y_{2} - y_{1})^{2} \\ +% b &= 2 \times ((x_{2} - x_{1}) \times (x_{1} - x_{3}) + (y_{2} - y_{1}) \times (y_{1} - y_{3})) \\ +% c &= x_{3}^{2} + y_{3}^{2} + x_{1}^{2} + y_{1}^{2} +% - 2\times(x_{3} \times x_{1} + y_{3} \times y_{1}) - r^{2} \\ +% d &= b^{2} - 4\times a \times c \\ +% \mu_{1} &= \frac{-b + \sqrt{d}}{2 \times a}\\ +% \mu_{2} &= \frac{-b - \sqrt{d}}{2 \times a} +% \end{align*} +% in either +% \begin{align*} +% P_{1x} &= x_{1} + \mu_{1}\times (x_{2} - x_{1}) \\ +% P_{1y} &= y_{1} + \mu_{1}\times (y_{2} - y_{1}) +% \end{align*} +% or +% \begin{align*} +% P_{2x} &= x_{1} + \mu_{2}\times (x_{2} - x_{1}) \\ +% P_{2y} &= y_{1} + \mu_{2}\times (y_{2} - y_{1}) +% \end{align*} +% depending on which solution is required. The rest of the work is simply +% forcing the appropriate expansion and shuffling arguments. +% \begin{macrocode} +\cs_new:Npn \draw_point_intersect_line_circle:nnnnn #1#2#3#4#5 + { + \@@_point_process:nnnn + { \@@_point_intersect_line_circle_auxi:nnnnnnnn {#4} {#5} } + {#1} {#2} {#3} + } +\cs_new:Npn \@@_point_intersect_line_circle_auxi:nnnnnnnn #1#2#3#4#5#6#7#8 + { + \@@_point_intersect_line_circle_auxii:fnnnnnnn + { \fp_eval:n {#1} } {#3} {#4} {#5} {#6} {#7} {#8} {#2} + } +% \end{macrocode} +% At this stage we have all of the information we need, fully expanded: +% \begin{enumerate}[label = \#\arabic*, font = \ttfamily] +% \item $r$ +% \item $x_{1}$ +% \item $y_{1}$ +% \item $x_{2}$ +% \item $y_{2}$ +% \item $x_{3}$ +% \item $y_{3}$ +% \item $n$ +% \end{enumerate} +% Once we evaluate $a$, $b$ and $c$, the co-ordinate $(x_{3},y_{3})$ +% and $r$ are no longer required: handy as we will need various +% intermediate values in the following. +% \begin{macrocode} +\cs_new:Npn \@@_point_intersect_line_circle_auxii:nnnnnnnn #1#2#3#4#5#6#7#8 + { + \@@_point_intersect_line_circle_auxiii:fffnnnnn + { \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 \@@_point_intersect_line_circle_auxii:nnnnnnnn { f } +% \end{macrocode} +% then we can get $d = b^{2} - 4\times a \times c$ and the usage of $n$. +% \begin{macrocode} +\cs_new:Npn \@@_point_intersect_line_circle_auxiii:nnnnnnnn #1#2#3#4#5#6#7#8 + { + \@@_point_intersect_line_circle_auxiv:ffnnnnnn + { \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 \@@_point_intersect_line_circle_auxiii:nnnnnnnn { fff } +% \end{macrocode} +% We now have all of the intermediate values we require, with one division +% carried out up-front to avoid doing this expensive step twice: +% \begin{enumerate}[label = \#\arabic*, font = \ttfamily] +% \item $a$ +% \item $b$ +% \item $c$ +% \item $d$ +% \item $\pm$(the usage of $n$) +% \item $x_{1}$ +% \item $y_{1}$ +% \item $x_{2}$ +% \item $y_{2}$ +% \end{enumerate} +% There are some final pre-calculations, +% $\mu = \frac{-b \pm \sqrt{d}}{2 \times a}$ +% then, we can yield a result. +% \begin{macrocode} +\cs_new:Npn \@@_point_intersect_line_circle_auxiv:nnnnnnnn #1#2#3#4#5#6#7#8 + { + \@@_point_intersect_line_circle_auxv:fnnnn + { \fp_eval:n { (-1 * #4 + #2 * sqrt(#1)) / (2 * #3) } } + {#5} {#6} {#7} {#8} + } +\cs_generate_variant:Nn \@@_point_intersect_line_circle_auxiv:nnnnnnnn { ff } +\cs_new:Npn \@@_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 \@@_point_intersect_line_circle_auxv:nnnnn { f } +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% % \subsection{Interpolation on a line (vector) or arc} % % \begin{macro}[EXP]{\draw_point_interpolate_line:nnn} diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx index 174764e29d2..e20f31bf813 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx index c0e748f2622..64aeec907d3 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx index 6158be04a34..fc08e1b5100 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx index 5c25b61c35a..82be9368a64 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx index bda53293c7e..9fd88f8c7fe 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx @@ -110,7 +110,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -528,6 +528,17 @@ % \pkg{pgf}, which has the two centers then the two radii. % \end{function} % +% \begin{function}[EXP]{\draw_point_intersect_line_circle:nnnnn} +% \begin{syntax} +% \cs{draw_point_intersect_line_circle:nnnnn} +% \Arg{point1} \Arg{point2} \Arg{center} \Arg{radius} \Arg{root} +% \end{syntax} +% Evaluates the point at the intersection of one line, joining +% \meta{point1} and \meta{point2}, and a circle with \meta{center} +% and \meta{radius}. If the lines and circle do not intersect and +% error will occur. +% \end{function} +% % \subsubsection{Interpolations} % % \begin{function}[EXP]{\draw_point_interpolate_line:nnn} @@ -1162,7 +1173,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3draw}{2021-08-27}{} +\ProvidesExplPackage{l3draw}{2021-11-12}{} {L3 Experimental core drawing support} % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx b/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx index a3691ae3273..9b7860425c3 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -240,7 +240,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3graphics}{2021-08-27}{} +\ProvidesExplPackage{l3graphics}{2021-11-12}{} {L3 Experimental graphics inclusion support} % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx b/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx index e2e518fffe8..fcbfb83f0f2 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -97,7 +97,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3opacity}{2021-08-27}{} +\ProvidesExplPackage{l3opacity}{2021-11-12}{} {L3 Experimental opacity support} % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx index 5da80c3a743..0ecbb95c3f0 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx @@ -48,7 +48,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -166,7 +166,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3str-format}{2021-08-27}{} +\ProvidesExplPackage{l3str-format}{2021-11-12}{} {L3 Experimental string formatting} % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx b/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx index 3ba357ee7ca..50424a66851 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -151,7 +151,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3sys-shell}{2021-08-27}{} +\ProvidesExplPackage{l3sys-shell}{2021-11-12}{} {L3 Experimental system shell functions} % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx index 61a6009c9e5..f167302265d 100644 --- a/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx @@ -53,7 +53,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -672,7 +672,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xcoffins}{2021-08-27}{} +\ProvidesExplPackage{xcoffins}{2021-11-12}{} {L3 Experimental design level coffins} % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx index 877e39b3daf..7ce0c017843 100644 --- a/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx @@ -61,7 +61,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -686,7 +686,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3galley}{2021-08-27}{} +\ProvidesExplPackage{l3galley}{2021-11-12}{} {L3 Experimental galley code} % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx index 64fafabdcb9..659ddb27514 100644 --- a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -731,7 +731,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xgalley}{2021-08-27}{} +\ProvidesExplPackage{xgalley}{2021-11-12}{} {L3 Experimental galley} \RequirePackage{xtemplate,l3galley} % \end{macrocode} |