diff options
author | Karl Berry <karl@freefriends.org> | 2024-10-08 20:00:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-10-08 20:00:25 +0000 |
commit | 8e824c88451f54c5120ffa2d2358ddb262688db5 (patch) | |
tree | a57083b4471e77e38edf750a6153527fc48a93d2 | |
parent | 8dfd5f4d8c1eb156dcecf73186f51431377d04c6 (diff) |
suanpan-l3 (8oct24)
git-svn-id: svn://tug.org/texlive/trunk@72496 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/suanpan-l3/suanpan-l3.pdf | bin | 439455 -> 446706 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/suanpan-l3/suanpan-l3.tex | 52 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/suanpan-l3/suanpan-l3.sty | 59 |
3 files changed, 92 insertions, 19 deletions
diff --git a/Master/texmf-dist/doc/latex/suanpan-l3/suanpan-l3.pdf b/Master/texmf-dist/doc/latex/suanpan-l3/suanpan-l3.pdf Binary files differindex f47e8edc2f9..88c05cd4d6e 100644 --- a/Master/texmf-dist/doc/latex/suanpan-l3/suanpan-l3.pdf +++ b/Master/texmf-dist/doc/latex/suanpan-l3/suanpan-l3.pdf diff --git a/Master/texmf-dist/doc/latex/suanpan-l3/suanpan-l3.tex b/Master/texmf-dist/doc/latex/suanpan-l3/suanpan-l3.tex index 89cb17784df..e411d2bdd05 100644 --- a/Master/texmf-dist/doc/latex/suanpan-l3/suanpan-l3.tex +++ b/Master/texmf-dist/doc/latex/suanpan-l3/suanpan-l3.tex @@ -124,7 +124,7 @@ { \__codedoc_cmd:no {#1} { #2 } } \ExplSyntaxOff -\def\vers{\texttt{v1.2.2} } +\def\vers{\texttt{v1.2.3} } \changes{v1.0.0}{2024/08/20}{first version.} @@ -810,6 +810,33 @@ \end{suanpan} \end{SideBySideExample} +\changes{v1.2.3}{2024/09/10}{change bid's highlight to shading=ball + and add bidspot option to set the angle + of shading.} + +\subsection{高光位置(角度)} + +\begin{option}{ opt = bidspot, desc = {= \meta{高光位置}}, init=0 } + 设置算珠高光点的位置,用角度表示,逆时针为正。 +\end{option} + +\begin{SideBySideExample}[frame=single,numbers=left,% + xrightmargin=.45\linewidth,gobble=2] + \centering + \suanpanset{scale = 0.65, bidspot = 180} + \begin{suanpan} + \rods{0, 0, 7, 11, 8, 19} + \bid{1}{1}{brown5} + \bid{2}{5}{brown5} + \bid{3}{6}{red5} + \bid{4}{7}{red5} + \bid{4}{8}{azure5} + \bid{4}{9}{yellow5} + \bid{5}{10}{violet5} + \bid{6}{4,5,6,11}{teal4}[magenta5] + \end{suanpan} +\end{SideBySideExample} + \bigskip \changes{v1.1.1}{2024/08/30}{add English documentation.} @@ -1474,6 +1501,29 @@ The ``|=true|'' in the \marg{option}|=true| for Boolean types can be omitted. \end{suanpan} \end{SideBySideExample} +\subsection{highlight pos/angle} + +\begin{option}{ opt = bidspot, desc = {= \meta{bidspot}}, init=0 } + The bid's highlight angle. +\end{option} + +\begin{SideBySideExample}[frame=single,numbers=left,% + xrightmargin=.45\linewidth,gobble=2] + \centering + \suanpanset{scale = 0.65, bidspot = 180} + \begin{suanpan} + \rods{0, 0, 7, 11, 8, 19} + \bid{1}{1}{brown5} + \bid{2}{5}{brown5} + \bid{3}{6}{red5} + \bid{4}{7}{red5} + \bid{4}{8}{azure5} + \bid{4}{9}{yellow5} + \bid{5}{10}{violet5} + \bid{6}{4,5,6,11}{teal4}[magenta5] + \end{suanpan} +\end{SideBySideExample} + \end{documentation} \end{document} diff --git a/Master/texmf-dist/tex/latex/suanpan-l3/suanpan-l3.sty b/Master/texmf-dist/tex/latex/suanpan-l3/suanpan-l3.sty index ac30c79d740..bbe133bcd70 100644 --- a/Master/texmf-dist/tex/latex/suanpan-l3/suanpan-l3.sty +++ b/Master/texmf-dist/tex/latex/suanpan-l3/suanpan-l3.sty @@ -16,8 +16,10 @@ % \ProvidesExplPackage{suanpan-l3}{2024-09-04}{v1.2.0} % 添加\lab横梁文字标记命令 % \ProvidesExplPackage{suanpan-l3}{2024-09-05}{v1.2.1} % 将草稿模式所有算珠改为圆冒 % % 直线并取消所有高光特效 -\ProvidesExplPackage{suanpan-l3}{2024-09-07}{v1.2.2} % 为珠高、珠宽、档杆宽度和 - % 边框宽度添加设置选项 +% \ProvidesExplPackage{suanpan-l3}{2024-09-07}{v1.2.2} % 为珠高、珠宽、档杆宽度和 +% % 边框宽度添加设置选项 +\ProvidesExplPackage{suanpan-l3}{2024-09-07}{v1.2.3} % 将算珠高光改为ball类型, + % 并添加高光位置(角度)选项。 {draw suanpan(abacus) with LaTeX3} \RequirePackage{l3keys2e} @@ -25,6 +27,21 @@ \RequirePackage{l3draw} \RequirePackage {tikz} +% Expl3中载入tikz宏包库的补丁 +\ExplSyntaxOff +\patchcmd +{\pgfutil@InputIfFileExists} + {\input #1} + {% + \@pushfilename + \xdef\@currname{#1}% + \input #1 % + \@popfilename + } + {}{} +\ExplSyntaxOn +% 添加tikz宏包的库 +\usetikzlibrary{shadings} \cs_new:Npn \__suanpan_error:n { \msg_error:nn { suanpan(abacus) } } @@ -162,6 +179,7 @@ \tl_new:N \l__suanpan_bid_fill_color_tl \tl_new:N \l__suanpan_scale_tl \tl_new:N \l__suanpan_mark_font_tl +\tl_new:N \l__suanpan_bid_spot_angle_tl % 档位最大值 \int_new:N \l__suanpan_rod_max_int @@ -454,11 +472,13 @@ innerfill .initial:n = black, % 横梁标记字符格式 - font .code:n = {% - \tl_gset:Nn \l__suanpan_mark_font_tl {#1} - }, + font .tl_set:N = \l__suanpan_mark_font_tl, font .initial:n = \bfseries\Large, + % 算珠高光点位置(角度) + bidspot .tl_set:N = \l__suanpan_bid_spot_angle_tl, + bidspot .initial:n = 0, + unknown .code:n = { \msg_error:nn { suanpan } { unknown-option } } } @@ -486,9 +506,9 @@ { \l__suanpan_bid_d_half_dim - \l__suanpan_bid_draw_h_half_dim } \tikzset{bid/.style = {% 内珠高光填充样式 - inner~color = innerfillcolor!30, - outer~color = innerfillcolor, - draw = innerdrawcolor, + shading = ball, + ball~color = innerfillcolor, + shading~angle = \l__suanpan_bid_spot_angle_tl, line~width = \l__suanpan_bid_linewidth_dim, rounded~corners = \l__suanpan_bid_arc_dim, }, @@ -528,9 +548,9 @@ { \l__suanpan_bid_d_half_dim - \l__suanpan_bid_draw_h_half_dim } \tikzset{bid/.style ={ - inner~color = outerfillcolor!30, - outer~color = outerfillcolor, - draw = outerdrawcolor, + shading = ball, + ball~color = outerfillcolor, + shading~angle = \l__suanpan_bid_spot_angle_tl, line~width = \l__suanpan_bid_linewidth_dim, rounded~corners = \l__suanpan_bid_arc_dim, }, @@ -572,7 +592,12 @@ \dim_set:Nn \l_tmpa_dim { \l__suanpan_bid_d_half_dim - \l__suanpan_bid_draw_h_half_dim } - \tikzset{bid/.style ={ + \tikzset{bid/.style~args = { #1/#2 }{ + draw = #1, + shading = ball, + ball~color = #2, + shading~angle = 0, + shading~angle = \l__suanpan_bid_spot_angle_tl, line~width = \l__suanpan_bid_linewidth_dim, rounded~corners = \l__suanpan_bid_arc_dim, }, @@ -594,10 +619,7 @@ \end{tikzpicture} }{ \begin{tikzpicture} - \shadedraw[draw = #1, - inner~color=#2!30, - outer~color=#2, - bid]% + \shadedraw[bid=#1/#2] ( -\l__suanpan_bid_d_half_dim, \l__suanpan_bid_lower_dim) rectangle ( \l__suanpan_bid_d_half_dim, \l__suanpan_bid_upper_dim); @@ -778,8 +800,9 @@ \bool_if:NT \l__suanpan_support_unit_bool { \shade[% - inner~color=black!40, - outer~color=black!80, + shading = ball, + ball~color = black, + shading~angle = \l__suanpan_bid_spot_angle_tl, ] (0pt, 0pt) circle [radius = \l__suanpan_frame_unit_r_dim]; } |