%% %% 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 %% %% 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'.