summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tilings/tikzlibrarytilings.polykite.code.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/tilings/tikzlibrarytilings.polykite.code.tex')
-rw-r--r--Master/texmf-dist/tex/latex/tilings/tikzlibrarytilings.polykite.code.tex859
1 files changed, 859 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tilings/tikzlibrarytilings.polykite.code.tex b/Master/texmf-dist/tex/latex/tilings/tikzlibrarytilings.polykite.code.tex
new file mode 100644
index 00000000000..8efff82ac62
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tilings/tikzlibrarytilings.polykite.code.tex
@@ -0,0 +1,859 @@
+%%
+%% This is file `tikzlibrarytilings.polykite.code.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tilings_code.dtx (with options: `polykite')
+%% ----------------------------------------------------------------
+%% tilings --- TikZ library for producing tilings
+%% E-mail: loopspace@mathforge.org
+%% Released under the LaTeX Project Public License v1.3c or later
+%% See http://www.latex-project.org/lppl.txt
+%% ----------------------------------------------------------------
+%%
+\RequirePackage{tikz}
+\usetikzlibrary{tilings}
+\ProvidesFile {tikzlibrarytilings.polykite.code.tex}
+ [2023/06/01 v2.0 TikZ pics for Aperiodical Polykite tiles]
+\DeclareDocumentCommand \DefinePolykiteTile {s m m m}
+{
+ \IfBooleanTF {#1}
+ {
+ \DefineTile {#2} {2 2 1 1 2 2 1 1 1 1 2 2 1 1}
+ }
+ {
+ \DefineTile {#2} {1 1 2 2 1 1 2 2 2 2 1 1 2 2}
+ }
+ {
+ {0 : #4}
+ ++{90 : #3}
+ ++{150 : #3}
+ ++{240 : #4}
+ ++{180 : #4}
+ ++{-90 : #3}
+ ++{210 : #3}
+ ++{-60 : #4}
+ ++{0 : #4}
+ ++{0 : #4}
+ ++{60 : #4}
+ ++{-30 : #3}
+ ++{30 : #3}
+ ++{120 : #4}
+ }
+}
+\DefinePolykiteTile{aperiodical hat}{sqrt(3)/2}{1/2}
+\DefinePolykiteTile{spectral hat}{sqrt(3)/2}{1/2}
+\DefinePolykiteTile{aperiodical turtle}{1/2}{sqrt(3)/2}
+\DefinePolykiteTile*{spectral turtle}{1/2}{sqrt(3)/2}
+\DefineTile {spectre} {a A a A a A a A a A a A a A}
+ {
+ {0 : .75}
+ ++{90 : .75}
+ ++{150 : .75}
+ ++{240 : .75}
+ ++{180 : .75}
+ ++{-90 : .75}
+ ++{210 : .75}
+ ++{-60 : .75}
+ ++{0 : .75}
+ ++{0 : .75}
+ ++{60 : .75}
+ ++{-30 : .75}
+ ++{30 : .75}
+ ++{120 : .75}
+ }
+\DefineTile{meta cluster T}{A A b}
+{
+{ -1.5 , -sqrt(3)/2 }
+{ 1.5 , -sqrt(3)/2 }
+{ 0 , sqrt(3) }
+}
+\DefineTile{meta cluster P}{1 D d A 1 D d b}
+{
+{ -2.5, sqrt(3)/2 }
+{ -2, 0 }
+{ -1.5, -sqrt(3)/2 }
+{ -0.5 , -sqrt(3)/2 }
+{ 2.5 , -sqrt(3)/2 }
+{ 2 , 0 }
+{ 1.5 , sqrt(3)/2 }
+{ .5 , sqrt(3)/2 }
+}
+\DefineTile{meta cluster F}{1 D d 1 D c C d b}
+{
+{ -2.5, sqrt(3)/2 }
+{ -2, 0 }
+{ -1.5, -sqrt(3)/2 }
+{ -0.5 , -sqrt(3)/2 }
+{ .5 , -sqrt(3)/2 }
+{ 1.5 , -sqrt(3)/2 }
+{ 2 , 0 }
+{ 1.5 , sqrt(3)/2 }
+{ .5 , sqrt(3)/2 }
+}
+\DefineTile{meta cluster H}{B D d B D d a D d}
+{
+{ -2, -sqrt(3) }
+{ 1, -sqrt(3) }
+{ 2, -sqrt(3) }
+{ 2.5, -sqrt(3)/2 }
+{ 1, sqrt(3)}
+{ .5 , 3*sqrt(3)/2 }
+{ -.5 , 3*sqrt(3)/2 }
+{ -2, 0 }
+{ -2.5, -sqrt(3)/2 }
+}
+\DefineTile{super cluster T}{A A b}
+{
+{ -30 : 3 * (1 + sqrt(5))/2 / sqrt(3) }
+{ 90 : 3 * (1 + sqrt(5))/2 / sqrt(3) }
+{ 210 : 3 * (1 + sqrt(5))/2 / sqrt(3) }
+}
+\DefineTile{super cluster P}{1 D d A 1 D d b}
+{
+{ - 1.75 - sqrt(5), (sqrt(5)/2 + 1) * sqrt(3)/2 }
+++{ -60 : 1 + sqrt(5) }
+++{ -60 : 1}
+++{ 1, 0}
+++{ 3*(1 + sqrt(5))/2, 0 }
+++{ 120 : 1 + sqrt(5) }
+++{ 120 : 1 }
+++{ -1, 0 }
+}
+\DefineTile{super cluster F}{1 D d 1 D c C d b}
+{
+{ - 1.75 - sqrt(5), (sqrt(5)/2 + 1) * sqrt(3)/2 }
+++{ -60 : 1 + sqrt(5) }
+++{ -60 : 1}
+++{ 1, 0}
+++{ 1 + sqrt(5), 0 }
+++{ 1, 0 }
++{ -.75 + (2 + sqrt(5)) * sqrt(3)/4 * sqrt(3)/3,
+ (2 + sqrt(5)) * sqrt(3)/4 + 3/4 * sqrt(3)/3 }
+++{ -1.5, (2 + sqrt(5)) * sqrt(3)/2 }
+++{ -1, 0 }
+}
+\DefineTile{super cluster H}{B D d B D d a D d}
+{
+{1.75 + 3*sqrt(5)/4, -(1 + sqrt(5))*sqrt(3)/4}
+++{120 : 3*(1+sqrt(5))/2 }
+++{120 : 1 }
+++{-1,0}
+++{240 : 3*(1+sqrt(5))/2}
+++{240 : 1}
+++{300 : 1}
+++{ 3*(1+sqrt(5))/2, 0 }
+++{1, 0}
+++{60 : 1}
+}
+\DefineTile{subcluster H}{B B a}
+{
+ { 0, 0 }
+ { 3, 0 }
+ { 60 : 3 }
+}
+\DefineTile{subcluster T}{A A b}
+{
+ { 0, 0 }
+ { 3, 0 }
+ { 60 : 3 }
+}
+\DefineTile{subcluster P}{ 1 A 1 b }
+{
+ { 0, 0 }
+ { 1, 0 }
+ { 4, 0 }
+ { 3, 0 }
+}
+\DefineTile{subcluster F}{ 1 1 f F b }
+{
+ { 0, 0 }
+ { 1, 0 }
+ +{ 60 : 1 }
+ { 2, 0 }
+ { 3, 0 }
+}
+\tikzset{
+ no clip/.code={%
+ \tikz@addmode{\tikz@mode@clipfalse}%
+ },
+ every subcluster P clip/.style={no clip},
+ every subcluster F clip/.style={no clip},
+}
+\BakeTile {aperiodical hat}
+\BakeTile {aperiodical turtle}
+\BakeTile {spectral hat}
+\BakeTile {spectral turtle}
+\BakeTile {spectre}
+\BakeTile {meta cluster T}
+\BakeTile {meta cluster P}
+\BakeTile {meta cluster F}
+\BakeTile {meta cluster H}
+\BakeTile {super cluster T}
+\BakeTile {super cluster P}
+\BakeTile {super cluster F}
+\BakeTile {super cluster H}
+\ExplSyntaxOn
+\clist_map_inline:nn {a,A,b,B,f,F}
+{
+ \tl_new:c {g__tilings_side_polykite_#1_tl}
+ \tl_if_exist:cF {g__tilings_side_#1_tl}
+ {
+ \tl_new:c {g__tilings_side_#1_tl}
+ }
+}
+
+\tl_gset:cn {g__tilings_side_polykite_A_tl}
+{
+ \pgfsyssoftpath@movetotoken {0pt}{-0.3333332942822268pt}
+ \pgfsyssoftpath@linetotoken {0.0833331478405773pt}{-0.1889954840909892pt}
+ \pgfsyssoftpath@linetotoken {0.3333332942822268pt}{-0.3333332942822268pt}
+ \pgfsyssoftpath@linetotoken {0.5833333235705567pt}{-0.1889954840909892pt}
+ \pgfsyssoftpath@linetotoken {0.6666667057177732pt}{-0.3333332942822268pt}
+ \pgfsyssoftpath@linetotoken {1pt}{-0.3333332942822268pt}
+}
+\tl_gset:cn {g__tilings_side_polykite_a_tl}
+{
+ \pgfsyssoftpath@movetotoken {0pt}{0.33333pt}
+ \pgfsyssoftpath@linetotoken {0.33333pt}{0.33333pt}
+ \pgfsyssoftpath@linetotoken {0.41667pt}{0.189pt}
+ \pgfsyssoftpath@linetotoken {0.66667pt}{0.33333pt}
+ \pgfsyssoftpath@linetotoken {0.91667pt}{0.189pt}
+ \pgfsyssoftpath@linetotoken {1pt}{0.33333pt}
+}
+\tl_gset:cn {g__tilings_side_polykite_B_tl}
+{
+ \pgfsyssoftpath@movetotoken {0pt}{0pt}
+ \pgfsyssoftpath@linetotoken {0.3333332942822268pt}{0pt}
+ \pgfsyssoftpath@linetotoken {0.4166665592761237pt}{0.1443378101912376pt}
+ \pgfsyssoftpath@linetotoken {0.6666667057177732pt}{0pt}
+ \pgfsyssoftpath@linetotoken {0.9166666178527835pt}{0.1443378101912376pt}
+ \pgfsyssoftpath@linetotoken {1pt}{0pt}
+}
+\tl_gset:cn {g__tilings_side_polykite_b_tl}
+{
+ \pgfsyssoftpath@movetotoken {0pt}{0pt}
+ \pgfsyssoftpath@linetotoken {0.08333pt}{-0.14433pt}
+ \pgfsyssoftpath@linetotoken {0.33333pt}{0pt}
+ \pgfsyssoftpath@linetotoken {0.58333pt}{-0.14433pt}
+ \pgfsyssoftpath@linetotoken {0.66667pt}{0pt}
+ \pgfsyssoftpath@linetotoken {1pt}{0pt}
+}
+\tl_gset:cn {g__tilings_side_polykite_F_tl}
+{
+ \pgfsyssoftpath@movetotoken {0pt}{-2.00000070292pt}
+ \pgfsyssoftpath@linetotoken {0.74999982427pt}{-1.566987221617321pt}
+ \pgfsyssoftpath@linetotoken {1pt}{-2.00000070292pt}
+}
+\tl_gset:cn {g__tilings_side_polykite_f_tl}
+{
+ \pgfsyssoftpath@movetotoken {0pt}{2pt}
+ \pgfsyssoftpath@linetotoken {0.25pt}{1.56699pt}
+ \pgfsyssoftpath@linetotoken {1pt}{2pt}
+}
+
+\clist_map_inline:nn {a,A,b,B,f,F}
+{
+ \tl_gclear_new:c {g__tilings_side_backup_#1_tl}
+ \tl_gset_eq:cc {g__tilings_side_backup_#1_tl} {g__tilings_side_#1_tl}
+ \tl_gclear_new:c {g__tilings_side_#1_tl}
+ \tl_gset_eq:cc {g__tilings_side_#1_tl}{g__tilings_side_polykite_#1_tl}
+}
+
+\BakeTile{subcluster~ H}
+\BakeTile{subcluster~ T}
+\BakeTile{subcluster~ P}
+\BakeTile{subcluster~ F}
+
+\clist_map_inline:nn {a,A,b,B,f,F}
+{
+ \tl_gset_eq:cc {g__tilings_side_#1_tl} {g__tilings_side_backup_#1_tl}
+}
+\cs_new_protected_nopar:Npn \__tilings_place_cluster_tile:nn #1#2
+{
+ \group_begin:
+ \int_gincr:N \g__tilings_tile_int
+ \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim/(1cm)}
+ \pgftransformscale{\fp_use:N \l__tilings_tmpa_fp}
+ \tl_set:Nx \l__tilings_tmpc_tl
+ {
+ {\int_use:N \g__tilings_tile_int}
+ {\int_use:N \g__tilings_tiles_int}
+ }
+ \UseTile[
+ every~ tile/.try,
+ every~ #1~#2/.try,
+ tile~ \int_use:N \g__tilings_tile_int/.try,
+ tile/.try/.expand~ once=\l__tilings_tmpc_tl
+ ]{#1~ #2}
+ \group_end:
+}
+\cs_generate_variant:Nn \__tilings_place_cluster_tile:nn {Vn}
+\prop_new:N \g__tilings_supercluster_lms_rule_prop
+\prop_gput:Nnn \g__tilings_supercluster_lms_rule_prop {T}
+{
+ [s H]
+}
+\prop_gput:Nnn \g__tilings_supercluster_lms_rule_prop {H}
+{
+ [s {r{-60}} T]
+ [s {x{\fp_to_decimal:n{1}}} {y{\fp_to_decimal:n{(1+2*\c__tilings_phi_fp)}}} H]
+ [s
+ {x{\fp_to_decimal:n{-2-3*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{-\c__tilings_phi_fp}}}
+ H]
+ [s
+ {x{\fp_to_decimal:n{1+3*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{-1-\c__tilings_phi_fp}}}
+ {r{-120}}
+ H]
+ [s
+ {x{\fp_to_decimal:n{-1.5-3.5*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{2.5*\c__tilings_phi_fp+1.5}}}
+ {r{-120}}
+ P]
+ [s
+ {x{\fp_to_decimal:n{-1.5-2*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{-1.5-3*\c__tilings_phi_fp}}}
+ {r{180}}
+ P]
+ [s
+ {x{\fp_to_decimal:n{3+5.5*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{.5*\c__tilings_phi_fp}}}
+ {r{120}}
+ P]
+ [s
+ {x{\fp_to_decimal:n{-4.5-6.5*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{.5-.5*\c__tilings_phi_fp}}}
+ {r{-120}}
+ F]
+ [s
+ {x{\fp_to_decimal:n{1.5+4*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{-2.5-3*\c__tilings_phi_fp}}}
+ F]
+ [s
+ {x{\fp_to_decimal:n{3+2.5*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{2+3.5*\c__tilings_phi_fp}}}
+ {r{120}}
+ F]
+}
+\prop_gput:Nnn \g__tilings_supercluster_lms_rule_prop {P}
+{
+ [s {r{60}} P]
+ [s
+ {x{\fp_to_decimal:n{2.5+3.5*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{-.5-.5*\c__tilings_phi_fp}}}
+ {r{-120}}
+ H]
+ [s
+ {x{\fp_to_decimal:n{-2.5-3.5*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{.5+.5*\c__tilings_phi_fp}}}
+ {r{180}}
+ H]
+ [s
+ {x{\fp_to_decimal:n{4.5+6*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{.5+\c__tilings_phi_fp}}}
+ {r{120}}
+ F]
+ [s
+ {x{\fp_to_decimal:n{-4.5-6*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{-.5-\c__tilings_phi_fp}}}
+ {r{-60}}
+ F]
+}
+\prop_gput:Nnn \g__tilings_supercluster_lms_rule_prop {F}
+{
+ [s {r{60}} P]
+ [s
+ {x{\fp_to_decimal:n{2.5+3.5*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{-.5-.5*\c__tilings_phi_fp}}}
+ {r{-120}}
+ H]
+ [s
+ {x{\fp_to_decimal:n{-2.5-3.5*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{.5+.5*\c__tilings_phi_fp}}}
+ {r{180}}
+ H]
+ [s
+ {x{\fp_to_decimal:n{4.5+6*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{.5+\c__tilings_phi_fp}}}
+ {r{120}}
+ F]
+ [s
+ {x{\fp_to_decimal:n{-4.5-6*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{-.5-\c__tilings_phi_fp}}}
+ {r{-60}}
+ F]
+ [s
+ {x{\fp_to_decimal:n{3+4.5*\c__tilings_phi_fp}}}
+ {y{\fp_to_decimal:n{-2-2.5*\c__tilings_phi_fp}}}
+ F]
+}
+\prop_gput:Nnn \g__tilings_drawables_lms_prop {supercluster} {HTPF}
+\fp_const:Nn \c__tilings_phi_fp {(1 + sqrt(5))/2}
+\prop_new:N \g__tilings_supercluster_lms_action_prop
+
+\prop_gput:Nnn \g__tilings_supercluster_lms_action_prop {r}
+{
+ \pgftransformrotate{\l__tilings_parameters_lms_tl}
+}
+\prop_gput:Nnn \g__tilings_supercluster_lms_action_prop {x}
+{
+ \pgftransformxshift{
+ \fp_to_dim:n
+ {.5 * (\l__tilings_parameters_lms_tl) * \l__tilings_step_dim}
+ }
+}
+\prop_gput:Nnn \g__tilings_supercluster_lms_action_prop {y}
+{
+ \pgftransformyshift{
+ \fp_to_dim:n
+ {.5 * sqrt(3) * (\l__tilings_parameters_lms_tl) * \l__tilings_step_dim}
+ }
+}
+
+\prop_gput:Nnn \g__tilings_supercluster_lms_action_prop {s}
+{
+ \fp_set:Nn \l__tilings_tmpa_fp {
+ \l__tilings_step_dim
+ /
+ \c__tilings_phi_fp
+ /
+ \c__tilings_phi_fp
+ }
+ \dim_set:Nn \l__tilings_step_dim {\fp_to_dim:N \l__tilings_tmpa_fp}
+}
+\prop_gput:Nnn \g__tilings_supercluster_lms_action_prop {H}
+{
+ \__tilings_place_cluster_tile:nn {super~ cluster}{H}
+}
+\prop_gput:Nnn \g__tilings_supercluster_lms_action_prop {T}
+{
+ \__tilings_place_cluster_tile:nn {super~ cluster}{T}
+}
+\prop_gput:Nnn \g__tilings_supercluster_lms_action_prop {P}
+{
+ \__tilings_place_cluster_tile:nn {super~ cluster}{P}
+}
+\prop_gput:Nnn \g__tilings_supercluster_lms_action_prop {F}
+{
+ \__tilings_place_cluster_tile:nn {super~ cluster}{F}
+}
+\cs_new_protected_nopar:Npn \__tilings_place_cluster_tile_as_pic:nnnnnn #1#2#3#4#5#6
+{
+ \group_begin:
+ \int_gincr:N \g__tilings_tile_int
+ \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim/(1cm)}
+ \tl_set:Nx \l__tilings_tmpc_tl
+ {
+ {\int_use:N \g__tilings_tile_int}
+ {\int_use:N \g__tilings_tiles_int}
+ }
+ \tl_clear:N \l__tilings_tmpa_tl
+ \tl_put_right:Nn \l__tilings_tmpa_tl
+ {
+ \pic[
+ every~ tile/.try,
+ every~ #1~#2/.try,
+ }
+ \tl_put_right:Nx \l__tilings_tmpa_tl
+ {
+ tile~ \int_use:N \g__tilings_tile_int/.try,
+ tile/.try=\l__tilings_tmpc_tl,
+ scale=\fp_use:N \l__tilings_tmpa_fp,
+ }
+ \tl_put_right:Nn \l__tilings_tmpa_tl
+ {
+ name=#3,
+ }
+ \tl_if_empty:nTF {#4}
+ {
+ \tl_put_right:Nn \l__tilings_tmpa_tl
+ {
+ first~ tile/.try,
+ }
+ }
+ {
+ \tl_put_right:Nn \l__tilings_tmpa_tl
+ {
+ align~ with=#4~along~#5
+ }
+ \tl_if_single:nF {#6}
+ {
+ \tl_put_right:Nx \l__tilings_tmpa_tl
+ {
+ \c_space_tl using~\tl_tail:n {#6}
+ }
+ }
+ \tl_put_right:Nn \l__tilings_tmpa_tl {,}
+ }
+ \tl_put_right:Nn \l__tilings_tmpa_tl
+ {
+ #1~ #2
+ ];
+ }
+ \tl_use:N \l__tilings_tmpa_tl
+ \group_end:
+}
+\cs_generate_variant:Nn \__tilings_place_cluster_tile_as_pic:nnnnnn {
+ Vnnnnn, VnVnnn, VnVVnn
+}
+\tikzset{
+ cluster~ type/.initial=super~ cluster,
+ first~ file/.style={transform~ shape}
+}
+\prop_new:N \g__tilings_cluster_lms_rule_prop
+\cs_new_nopar:Npn \__tilings_tile_label:
+{
+ \tl_item:Nn \l__tilings_parameters_lms_tl {1}
+}
+\cs_new_nopar:Npn \__tilings_adjoint_label:
+{
+ \tl_item:Nn \l__tilings_parameters_lms_tl {2}
+}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {T}
+{
+ [s {H{\__tilings_tile_label:0}{}}]
+}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {H}
+{
+ [s {r{-60}} {T{\__tilings_tile_label:0}{}}]
+ [{ {HTa{A1}} {\__tilings_tile_label:1} {\__tilings_tile_label:0} }]
+ [{ {HTa{A2}} {\__tilings_tile_label:2} {\__tilings_tile_label:0} }]
+ [{ {HT{B1}b} {\__tilings_tile_label:3} {\__tilings_tile_label:0} }]
+ [{ {PHb{B2}} {\__tilings_tile_label:4} {\__tilings_tile_label:1} }]
+ [{ {PHb{B2}} {\__tilings_tile_label:5} {\__tilings_tile_label:2} }]
+ [{ {PHAa} {\__tilings_tile_label:6} {\__tilings_tile_label:3} }]
+ [{ {FHb{B1}} {\__tilings_tile_label:7} {\__tilings_tile_label:1} }]
+ [{ {FHb{B1}} {\__tilings_tile_label:8} {\__tilings_tile_label:2} }]
+ [{ {FHb{B2}} {\__tilings_tile_label:9} {\__tilings_tile_label:3} }]
+}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {P}
+{
+ [s {r{60}} {P{\__tilings_tile_label:0}{}}]
+ [{ {HPaA} {\__tilings_tile_label:1} {\__tilings_tile_label:0} }]
+ [{ {HP{B2}b} {\__tilings_tile_label:2} {\__tilings_tile_label:0} }]
+ [{ {FHb{B2}} {\__tilings_tile_label:3} {\__tilings_tile_label:1} }]
+ [{ {FHb{B1}} {\__tilings_tile_label:4} {\__tilings_tile_label:2} }]
+}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {F}
+{
+ [s {r{60}} {P{\__tilings_tile_label:0}{}}]
+ [{ {HPaA} {\__tilings_tile_label:1} {\__tilings_tile_label:0} }]
+ [{ {HP{B2}b} {\__tilings_tile_label:2} {\__tilings_tile_label:0} }]
+ [{ {FHb{B2}} {\__tilings_tile_label:3} {\__tilings_tile_label:1} }]
+ [{ {FHb{B1}} {\__tilings_tile_label:4} {\__tilings_tile_label:2} }]
+ [{ {FHb{B1}} {\__tilings_tile_label:5} {\__tilings_tile_label:1} }]
+}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {TH{A1}a} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {TH{A2}a} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {THb{B1}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {THb{B2}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {HTa{A1}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {HTa{A2}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {HT{B1}b} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {HT{B2}b} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {HPaA} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {HP{B1}b} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {HP{B2}b} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {HF{B1}b} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {HF{B2}b} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {PHAa} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {PHb{B1}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {PHb{B2}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {PF{11}{11}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {PF{12}{11}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {PF{11}{12}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {PF{12}{12}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {FHb{B1}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {FHb{B2}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {FP{11}{11}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {FP{12}{11}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {FP{11}{12}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {FP{12}{12}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {FFfF} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {FFFf} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {FF{11}{11}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {FF{12}{11}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {FF{11}{12}} {}
+\prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {FF{12}{12}} {}
+\cs_new_nopar:cpn {__tilings_T{A1}_creator:nnnnn} #1#2#3#4#5
+{
+ \prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {T#1{A1}#2}
+ {
+ [{ {H#3{B1}#4} {\__tilings_tile_label:0} {\__tilings_adjoint_label:#5} }]
+ }
+}
+\cs_new_nopar:cpn {__tilings_T{A2}_creator:nnnnn} #1#2#3#4#5
+{
+ \prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {T#1{A2}#2}
+ {
+ [{ {H#3{B2}#4} {\__tilings_tile_label:0} {\__tilings_adjoint_label:#5} }]
+ }
+}
+\cs_new_nopar:cpn {__tilings_Tb_creator:nnnnn} #1#2#3#4#5
+{
+ \prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {T#1b#2}
+ {
+ [{ {H#3a#4} {\__tilings_tile_label:0} {\__tilings_adjoint_label:#5} }]
+ }
+}
+
+\cs_new_nopar:cpn {__tilings_H{B1}_creator:nnnnn} #1#2#3#4#5
+{
+ \prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {H#1{B1}#2}
+ {
+ [{ {P#3A#4} {\__tilings_tile_label:4} {\__tilings_adjoint_label:#5} }]
+
+ [{ {HP{B2}b} {\__tilings_tile_label:1} {\__tilings_tile_label:4} }]
+ [{ {TH{A1}a} {\__tilings_tile_label:0} {\__tilings_tile_label:1} }]
+
+ [{ {HTa{A2}} {\__tilings_tile_label:2} {\__tilings_tile_label:0} }]
+ [{ {PHb{B2}} {\__tilings_tile_label:5} {\__tilings_tile_label:2} }]
+
+ [{ {HT{B1}b} {\__tilings_tile_label:3} {\__tilings_tile_label:0} }]
+ [{ {PHAa} {\__tilings_tile_label:6} {\__tilings_tile_label:3} }]
+
+ [{ {FHb{B1}} {\__tilings_tile_label:7} {\__tilings_tile_label:1} }]
+ [{ {FHb{B1}} {\__tilings_tile_label:8} {\__tilings_tile_label:2} }]
+ [{ {FHb{B2}} {\__tilings_tile_label:9} {\__tilings_tile_label:3} }]
+ }
+}
+
+\cs_new_nopar:cpn {__tilings_H{B2}_creator:nnnnn} #1#2#3#4#5
+{
+ \prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {H#1{B2}#2}
+ {
+ [{ {P#3A#4} {\__tilings_tile_label:5} {\__tilings_adjoint_label:#5} }]
+
+ [{ {HP{B2}b} {\__tilings_tile_label:2} {\__tilings_tile_label:5} }]
+ [{ {TH{A2}a} {\__tilings_tile_label:0} {\__tilings_tile_label:2} }]
+
+ [{ {HTa{A1}} {\__tilings_tile_label:1} {\__tilings_tile_label:0} }]
+ [{ {PHb{B2}} {\__tilings_tile_label:4} {\__tilings_tile_label:1} }]
+
+ [{ {HT{B1}b} {\__tilings_tile_label:3} {\__tilings_tile_label:0} }]
+ [{ {PHAa} {\__tilings_tile_label:6} {\__tilings_tile_label:3} }]
+
+ [{ {FHb{B1}} {\__tilings_tile_label:7} {\__tilings_tile_label:1} }]
+ [{ {FHb{B1}} {\__tilings_tile_label:8} {\__tilings_tile_label:2} }]
+ [{ {FHb{B2}} {\__tilings_tile_label:9} {\__tilings_tile_label:3} }]
+ }
+}
+
+\cs_new_nopar:cpn {__tilings_Ha_creator:nnnnn} #1#2#3#4#5
+{
+ \prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {H#1a#2}
+ {
+ [{ {P#3b#4} {\__tilings_tile_label:6} {\__tilings_adjoint_label:#5} }]
+
+ [{ {HPaA} {\__tilings_tile_label:3} {\__tilings_tile_label:6} }]
+ [{ {THb{B1}} {\__tilings_tile_label:0} {\__tilings_tile_label:3} }]
+
+ [{ {HTa{A1}} {\__tilings_tile_label:1} {\__tilings_tile_label:0} }]
+ [{ {PHb{B2}} {\__tilings_tile_label:4} {\__tilings_tile_label:1} }]
+
+ [{ {HTa{A2}} {\__tilings_tile_label:2} {\__tilings_tile_label:0} }]
+ [{ {PHb{B2}} {\__tilings_tile_label:5} {\__tilings_tile_label:2} }]
+
+ [{ {FHb{B1}} {\__tilings_tile_label:7} {\__tilings_tile_label:1} }]
+ [{ {FHb{B1}} {\__tilings_tile_label:8} {\__tilings_tile_label:2} }]
+ [{ {FHb{B2}} {\__tilings_tile_label:9} {\__tilings_tile_label:3} }]
+ }
+}
+
+\cs_new_nopar:cpn {__tilings_PA_creator:nnnnn} #1#2#3#4#5
+{
+ \prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {P#1A#2}
+ {
+ [{ {H#3{B1}#4} {\__tilings_tile_label:1} {\__tilings_adjoint_label:#5} }]
+ [{ {PHAa} {\__tilings_tile_label:0} {\__tilings_tile_label:1} }]
+ [{ {HP{B2}b} {\__tilings_tile_label:2} {\__tilings_tile_label:0} }]
+
+ [{ {FHb{B2}} {\__tilings_tile_label:3} {\__tilings_tile_label:1} }]
+ [{ {FHb{B1}} {\__tilings_tile_label:4} {\__tilings_tile_label:2} }]
+ }
+}
+
+\cs_new_nopar:cpn {__tilings_Pb_creator:nnnnn} #1#2#3#4#5
+{
+ \prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {P#1b#2}
+ {
+ [{ {H#3a#4} {\__tilings_tile_label:2} {\__tilings_adjoint_label:#5} }]
+ [{ {PHb{B2}} {\__tilings_tile_label:0}{\__tilings_tile_label:2} }]
+ [{ {HPaA} {\__tilings_tile_label:1} {\__tilings_tile_label:0} }]
+
+ [{ {FHb{B2}} {\__tilings_tile_label:3} {\__tilings_tile_label:1} }]
+ [{ {FHb{B1}} {\__tilings_tile_label:4} {\__tilings_tile_label:2} }]
+ }
+}
+
+\cs_new_nopar:cpn {__tilings_Fb_creator:nnnnn} #1#2#3#4#5
+{
+ \prop_gput:Nnn \g__tilings_cluster_lms_rule_prop {F#1b#2}
+ {
+ [{ {H#3a#4} {\__tilings_tile_label:2} {\__tilings_adjoint_label:#5} }]
+ [{ {PHb{B2}} {\__tilings_tile_label:0}{\__tilings_tile_label:2} }]
+ [{ {HPaA} {\__tilings_tile_label:1} {\__tilings_tile_label:0} }]
+
+ [{ {FHb{B2}} {\__tilings_tile_label:3} {\__tilings_tile_label:1} }]
+ [{ {FHb{B1}} {\__tilings_tile_label:4} {\__tilings_tile_label:2} }]
+ [{ {FHb{B1}} {\__tilings_tile_label:5} {\__tilings_tile_label:1} }]
+ }
+}
+\clist_map_inline:nn
+{
+ TH{{A1}}a HP{{{B1}}}b06,
+ TH{{A2}}a HP{{{B2}}}b06,
+ THb{{B1}} HPaA04,
+ THb{{B2}} HPaA05,
+ PHAa HP{{{B1}}}b16,
+ PHb{{B1}} HPaA24,
+ PHb{{B2}} HPaA25,
+ FHb{{B1}} HPaA24,
+ FHb{{B2}} HPaA25,
+}
+{
+ \tl_clear:N \l__tilings_tmpa_tl
+ \tl_put_right:Nn \l__tilings_tmpa_tl { \use:c }
+ \tl_put_right:Nx \l__tilings_tmpa_tl
+ {
+ {__tilings_ \tl_item:nn {#1}{2}\tl_item:nn {#1}{4} _creator:nnnnn}
+ {\tl_item:nn {#1}{1}}{\tl_item:nn{#1}{3}}
+ \tl_item:nn {#1}{5}\tl_item:nn{#1}{7}
+ \tl_item:nn {#1}{9}
+ }
+ \tl_use:N \l__tilings_tmpa_tl
+ \tl_clear:N \l__tilings_tmpa_tl
+ \tl_put_right:Nn \l__tilings_tmpa_tl { \use:c }
+ \tl_put_right:Nx \l__tilings_tmpa_tl
+ {
+ {__tilings_ \tl_item:nn {#1}{1}\tl_item:nn {#1}{3} _creator:nnnnn}
+ {\tl_item:nn {#1}{2}}{\tl_item:nn{#1}{4}}
+ \tl_item:nn {#1}{6}\tl_item:nn{#1}{8}
+ \tl_item:nn {#1}{10}
+ }
+ \tl_use:N \l__tilings_tmpa_tl
+}
+
+\prop_new:N \g__tilings_cluster_lms_action_prop
+\prop_gput:Nnn \g__tilings_drawables_lms_prop {cluster} {HTPF}
+\prop_gput:Nnn \g__tilings_cluster_lms_action_prop {r}
+{
+ \pgftransformrotate{\l__tilings_parameters_lms_tl}
+}
+\prop_gput:Nnn \g__tilings_cluster_lms_action_prop {x}
+{
+ \pgftransformxshift{
+ \fp_to_dim:n
+ {.5 * (\l__tilings_parameters_lms_tl) * \l__tilings_step_dim}
+ }
+}
+\prop_gput:Nnn \g__tilings_cluster_lms_action_prop {y}
+{
+ \pgftransformyshift{
+ \fp_to_dim:n
+ {.5 * sqrt(3) * (\l__tilings_parameters_lms_tl) * \l__tilings_step_dim}
+ }
+}
+
+\prop_gput:Nnn \g__tilings_cluster_lms_action_prop {s}
+{
+ \fp_set:Nn \l__tilings_tmpa_fp {
+ \l__tilings_step_dim
+ /
+ \c__tilings_phi_fp
+ /
+ \c__tilings_phi_fp
+ }
+ \dim_set:Nn \l__tilings_step_dim {\fp_to_dim:N \l__tilings_tmpa_fp}
+}
+\clist_map_inline:nn {H,T,P,F}
+{
+
+ \prop_gput:Nnn \g__tilings_cluster_lms_action_prop {#1}
+ {
+ \__tilings_tikz_keys_get:Nn \l__tilings_tmpa_tl {cluster~type}
+ \tl_set:Nx \l__tilings_tmpb_tl {\tl_item:Nn \l__tilings_parameters_lms_tl {1}}
+ \__tilings_place_cluster_tile_as_pic:VnVnnn
+ \l__tilings_tmpa_tl {#1} \l__tilings_tmpb_tl {}{}{}
+ }
+}
+\cs_new_protected_nopar:Npn \__tilings_place_cluster_tile_as_pic_aux:nnnn #1#2#3#4
+{
+ \__tilings_tikz_keys_get:Nn \l__tilings_tmpa_tl {cluster~type}
+ \tl_set:Nx \l__tilings_tmpb_tl {\__tilings_tile_label:}
+ \tl_set:Nx \l__tilings_tmpc_tl {\__tilings_adjoint_label:}
+ \__tilings_place_cluster_tile_as_pic:VnVVnn
+ \l__tilings_tmpa_tl {#1} \l__tilings_tmpb_tl \l__tilings_tmpc_tl {#4}{#3}
+}
+
+\clist_map_inline:nn {
+ TH{A1}a,
+ TH{A2}a,
+ THb{B1},
+ THb{B2},
+ HTa{A1},
+ HTa{A2},
+ HT{B1}b,
+ HT{B2}b,
+ HPaA,
+ HP{B1}b,
+ HP{B2}b,
+ HF{B1}b,
+ HF{B2}b,
+ PHAa,
+ PHb{B1},
+ PHb{B2},
+ PF{11}{11},
+ PF{12}{11},
+ PF{11}{12},
+ PF{12}{12},
+ FHb{B1},
+ FHb{B2},
+ FP{11}{11},
+ FP{12}{11},
+ FP{11}{12},
+ FP{12}{12},
+ FFfF,
+ FFFf,
+ FF{11}{11},
+ FF{12}{11},
+ FF{11}{12},
+ FF{12}{12}
+}
+{
+ \prop_gput:Nnn \g__tilings_cluster_lms_action_prop {#1}
+ {
+ \__tilings_place_cluster_tile_as_pic_aux:nnnn #1
+ }
+}
+
+\ExplSyntaxOff
+%%
+%% Copyright (C) 2014-2023 by Andrew Stacey <loopspace@mathforge.org>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License (LPPL), either
+%% version 1.3c of this license or (at your option) any later
+%% version. The latest version of this license is in the file:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% This work is "maintained" (as per LPPL maintenance status) by
+%% Andrew Stacey.
+%%
+%% This work consists of the files penrose_code.dtx
+%% penrose.tex
+%% and the derived files penrose.ins
+%% penrose_code.pdf
+%% penrose.pdf
+%% tikzlibrarytilings.code.tex
+%% tikzlibrarytilings.penrose.code.tex
+%% tikzlibrarytilings.polykite.code.tex
+%% tikzlibrarypenrose.code.tex
+%% README.txt
+%%
+%%
+%% End of file `tikzlibrarytilings.polykite.code.tex'.