diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/tilings/tikzlibrarytilings.penrose.code.tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/tilings/tikzlibrarytilings.penrose.code.tex | 699 |
1 files changed, 699 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tilings/tikzlibrarytilings.penrose.code.tex b/Master/texmf-dist/tex/latex/tilings/tikzlibrarytilings.penrose.code.tex new file mode 100644 index 00000000000..0dbf14e5185 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tilings/tikzlibrarytilings.penrose.code.tex @@ -0,0 +1,699 @@ +%% +%% This is file `tikzlibrarytilings.penrose.code.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tilings_code.dtx (with options: `penrose') +%% ---------------------------------------------------------------- +%% 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.penrose.code.tex} +[2023/06/01 v2.0 TikZ pics for Penrose tiles] +\DefineTile{thin rhombus}{a A B b} +{ + {0 , 0} + {cosd(18) , sind(18)} + {2*cosd(18) , 0} + {cosd(18) , -sind(18)} +} +\DefineTile{thick rhombus}{B a A b} +{ + {0 , 0} + {cosd(36) , sind(36)} + {2*cosd(36) , 0} + {cosd(36) , -sind(36)} +} +\DefineTile{dart}{c a A C} +{ + {0 , 0} + {2*sind(18)*cosd(108) , 2*sind(18)*sind(108)} + {2*sind(18) , 0} + {2*sind(18)*cosd(108) , -2*sind(18)*sind(108)} +} +\DefineTile{kite}{a c C A} +{ + {0 , 0} + {cosd(36) , sind(36)} + {1 , 0} + {cosd(36) , -sind(36)} +} +\DefineTile{golden triangle}{a c b} +{ + {0 , 0} + {cosd(18) , sind(18)} + {cosd(18) , -sind(18)} +} +\DefineTile {reverse golden triangle}{B C A} +{ + {0 , 0} + {cosd(18) , sind(18)} + {cosd(18) , -sind(18)} +} +\DefineTile {golden gnomon}{C b A} +{ + {0 , 0} + {cosd(36) , sind(36)} + {2*cosd(36) , 0} +} +\DefineTile {reverse golden gnomon}{a B c} +{ + {0 , 0} + {2*cosd(36) , 0} + {cosd(36) , -sind(36)} +} +\DefineTile {pentagon 5}{a a a a a} +{ + {0 , 0} + {cosd(108) , sind(108)} + {1+cosd(72)+cosd(144) , sind(72)+sind(144)} + {1+cosd(72) , sind(72)} + {1 , 0} +} +\DefineTile {pentagon 3}{A b a a b} +{ + {0 , 0} + {cosd(108) , sind(108)} + {1+cosd(72)+cosd(144) , sind(72)+sind(144)} + {1+cosd(72) , sind(72)} + {1 , 0} +} +\DefineTile {pentagon 2}{d A e c A} +{ + {0 , 0} + {cosd(108) , sind(108)} + {1+cosd(72)+cosd(144) , sind(72)+sind(144)} + {1+cosd(72) , sind(72)} + {1 , 0} +} +\DefineTile {pentagram}{C E C E C E C E C E} +{ + {1 , 0} + {1-cosd(36) , -sind(36)} + {1-cosd(36)-cosd(108) , -sind(36)-sind(108)} + {cosd(108) , -sind(108)} + {-1+3*cosd(108)+cosd(36) , -sind(36)-sind(108)} + {-1+2*cosd(108)+cosd(36) , -sind(36)} + {-1+2*cosd(108) , 0} + {2*cosd(108) , 0} + {cosd(108) , sind(108)} + {0 , 0} +} +\DefineTile {boat}{C E C E B D B} +{ + {-1+2*cosd(108) , 0} + {2*cosd(108) , 0} + {cosd(108) , sind(108)} + {0 , 0} + {1 , 0} + {1-cosd(36) , -sind(36)} + {-1+2*cosd(108)+cosd(36) , -sind(36)} +} +\DefineTile {diamond}{D B B D} +{ + {0 , 0} + {cosd(18) , sind(18)} + {2*cosd(18) , 0} + {cosd(18) , -sind(18)} +} +\tikzset{ + every thin rhombus before path/.code={ + \path[every circle arc/.try] (-edge a end) circle[radius=1/4]; + \path[every long arc/.try] (-edge b start) circle[radius=1/4]; + }, + every thick rhombus before path/.code={ + \path[every circle arc/.try] (-edge a end) circle[radius=1/4]; + \path[every long arc/.try] (-edge B start) circle[radius=3/4]; + }, + every kite before path/.code={ + \path[every circle arc/.try] (-edge a start) circle[radius=2/(sqrt(5)+1)]; + \path[every long arc/.try] (-edge c end) circle[radius=2/(3+sqrt(5))]; + }, + every dart before path/.code={ + \path[every circle arc/.try] (-edge a end) circle[radius=1 - 2/(sqrt(5)+1)]; + \path[every long arc/.try] (-edge c start) circle[radius=2/(sqrt(5)+1) - 2/(3+sqrt(5))]; + } +} +\BakeTile {thin rhombus} +\BakeTile {thick rhombus} +\BakeTile {dart} +\BakeTile {kite} +\BakeTile {golden triangle} +\BakeTile {reverse golden triangle} +\BakeTile {golden gnomon} +\BakeTile {reverse golden gnomon} +\BakeTile {pentagon 5} +\BakeTile {pentagon 3} +\BakeTile {pentagon 2} +\BakeTile {pentagram} +\BakeTile {boat} +\BakeTile {diamond} +\ExplSyntaxOn +\prop_new:N \g__tilings_rhombus_lms_rule_prop +\prop_gput:Nnn \g__tilings_rhombus_lms_rule_prop {T} {[f*sT][f>g]} +\prop_gput:Nnn \g__tilings_rhombus_lms_rule_prop {t} {[f_st][f>G]} +\prop_gput:Nnn \g__tilings_rhombus_lms_rule_prop {G} {[f+sG][sf>g][sf*sT]} +\prop_gput:Nnn \g__tilings_rhombus_lms_rule_prop {g} {[f-sg][sf>G][sf_st]} +\prop_new:N \g__tilings_kite_lms_rule_prop +\prop_gput:Nnn \g__tilings_kite_lms_rule_prop {T} {[f*sT][f>st][+sg]} +\prop_gput:Nnn \g__tilings_kite_lms_rule_prop {t} {[f_st][f>sT][-sG]} +\prop_gput:Nnn \g__tilings_kite_lms_rule_prop {G} {[f*+sG][sT]} +\prop_gput:Nnn \g__tilings_kite_lms_rule_prop {g} {[f-_sg][st]} +\prop_new:N \g__tilings_pentagon_lms_rule_prop +\prop_gput:Nnn \g__tilings_pentagon_lms_rule_prop {P} +{[s>P][1sF+Q][1+sF+Q][1*sF+Q][1-sF+Q][1_sF+Q]} % pentagon 5 +\prop_gput:Nnn \g__tilings_pentagon_lms_rule_prop {Q} +{[s>P][1+sFR][1*sF*R][1-sF+Q][1_sF+Q][1sF+Q][->fsD]} % pentagon 3 +\prop_gput:Nnn \g__tilings_pentagon_lms_rule_prop {R} +{[s>P][1-sF+Q][1+sF*R][1*sFR][1_sF*R][1sFR][_>fsD][>fsD]} % pentagon 2 +\prop_gput:Nnn \g__tilings_pentagon_lms_rule_prop {G} +{ + [s>G] + [se[>d+R][e1B]] + [+se[>d+R][e1B]] + [-se[>d+R][e1B]] + [*se[>d+R][e1B]] + [_se[>d+R][e1B]] +} % pentagram +\prop_gput:Nnn \g__tilings_pentagon_lms_rule_prop {B} +{ + [s>G] + [se[>d+R][e1B]] + [+se[>d+R][e1B]] + [-se[>d+R][e1B]] +} % boat +\prop_gput:Nnn \g__tilings_pentagon_lms_rule_prop {D} +{[s>d+R][s>eG][se1B]} % diamond +\prop_gset_eq:NN \g__tilings_rtriangle_lms_rule_prop +\g__tilings_rhombus_lms_rule_prop +\prop_gset_eq:NN \g__tilings_ktriangle_lms_rule_prop +\g__tilings_kite_lms_rule_prop +\prop_gput:Nnn \g__tilings_drawables_lms_prop {rhombus} {TG} +\prop_gput:Nnn \g__tilings_drawables_lms_prop {kite} {Tg} +\prop_gput:Nnn \g__tilings_drawables_lms_prop {rtriangle} {TtGg} +\prop_gput:Nnn \g__tilings_drawables_lms_prop {ktriangle} {TtGg} +\prop_gput:Nnn \g__tilings_drawables_lms_prop {pentagon} {PQRGBD} +\prop_new:N \g__tilings_rhombus_lms_action_prop +\prop_new:N \g__tilings_kite_lms_action_prop +\prop_new:N \g__tilings_rtriangle_lms_action_prop +\prop_new:N \g__tilings_ktriangle_lms_action_prop +\prop_new:N \g__tilings_pentagon_lms_action_prop +\prop_gput:Nnn \g__tilings_rhombus_lms_action_prop {+} +{\pgftransformrotate{144}} +\prop_gput:Nnn \g__tilings_rhombus_lms_action_prop {*} +{\pgftransformrotate{108}} +\prop_gput:Nnn \g__tilings_rhombus_lms_action_prop {-} +{\pgftransformrotate{216}} +\prop_gput:Nnn \g__tilings_rhombus_lms_action_prop {_} +{\pgftransformrotate{252}} +\prop_gput:Nnn \g__tilings_rhombus_lms_action_prop {>} +{\pgftransformrotate{180}} +\prop_gput:Nnn \g__tilings_rhombus_lms_action_prop {s} { + \fp_set:Nn \l__tilings_tmpa_fp { 2 * sind(18) * \l__tilings_step_dim } + \dim_set:Nn \l__tilings_step_dim {\fp_to_dim:N \l__tilings_tmpa_fp} +} +\prop_gset_eq:NN \g__tilings_rtriangle_lms_action_prop +\g__tilings_rhombus_lms_action_prop +\prop_gput:Nnn \g__tilings_rhombus_lms_action_prop {T} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \pgftransformrotate{198} + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim*2*cosd(18)} + \pgftransformxshift{-\fp_to_dim:N \l__tilings_tmpa_fp} + \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~ thin~ rhombus/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{thin~rhombus} + \group_end: +} +\prop_gput:Nnn \g__tilings_rhombus_lms_action_prop {G} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim/(1cm)/(2*cosd(36))} + \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~ thick~ rhombus/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{thick~rhombus} + \group_end: +} +\prop_gput:Nnn \g__tilings_kite_lms_action_prop {+} {\pgftransformrotate{36}} +\prop_gput:Nnn \g__tilings_kite_lms_action_prop {*} {\pgftransformrotate{108}} +\prop_gput:Nnn \g__tilings_kite_lms_action_prop {-} {\pgftransformrotate{-36}} +\prop_gput:Nnn \g__tilings_kite_lms_action_prop {_} +{\pgftransformrotate{-108}} +\prop_gput:Nnn \g__tilings_kite_lms_action_prop {>} {\pgftransformrotate{180}} +\prop_gput:Nnn \g__tilings_kite_lms_action_prop {s} { + \fp_set:Nn \l__tilings_tmpa_fp { 2 * sind(18) * \l__tilings_step_dim } + \dim_set:Nn \l__tilings_step_dim {\fp_to_dim:N \l__tilings_tmpa_fp} +} +\prop_gset_eq:NN \g__tilings_ktriangle_lms_action_prop +\g__tilings_kite_lms_action_prop +\prop_gput:Nnn \g__tilings_kite_lms_action_prop {T} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \pgftransformrotate{36} + \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~ kite/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{kite} + \group_end: +} +\prop_gput:Nnn \g__tilings_kite_lms_action_prop {g} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \pgftransformrotate{144} + \pgftransformxshift{-\l__tilings_step_dim * 2 * sin(18)} + \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~ dart/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{dart} + \group_end: +} +\prop_gput:Nnn \g__tilings_rtriangle_lms_action_prop {T} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \pgftransformrotate{18} + \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~ reverse~ golden~ triangle/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{reverse~ golden~ triangle} + \group_end: +} +\prop_gput:Nnn \g__tilings_rtriangle_lms_action_prop {t} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \pgftransformrotate{-18} + \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} + } + \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~ golden~ triangle/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{golden~ triangle} + \group_end: +} +\prop_gput:Nnn \g__tilings_rtriangle_lms_action_prop {G} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \pgftransformrotate{180} + \pgftransformxshift{-\l__tilings_step_dim} + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim/(1cm)/(2*cosd(36))} + \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~ reverse~ golden~ gnomon/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{reverse~ golden~ gnomon} + \group_end: +} +\prop_gput:Nnn \g__tilings_rtriangle_lms_action_prop {g} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \pgftransformrotate{180} + \pgftransformxshift{-\l__tilings_step_dim} + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim/(1cm)/(2*cosd(36))} + \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~ golden~ gnomon/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{golden~ gnomon} + \group_end: +} +\prop_gput:Nnn \g__tilings_ktriangle_lms_action_prop {T} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \pgftransformrotate{18} + \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~ reverse~ golden~ triangle/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{reverse~ golden~ triangle} + \group_end: +} +\prop_gput:Nnn \g__tilings_ktriangle_lms_action_prop {t} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \pgftransformrotate{-18} + \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~ golden~ triangle/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{golden~ triangle} + \group_end: +} +\prop_gput:Nnn \g__tilings_ktriangle_lms_action_prop {G} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \pgftransformrotate{180} + \pgftransformxshift{-\l__tilings_step_dim} + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim/(1cm)/(2*cosd(36))} + \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~ reverse~ golden~ gnomon/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{reverse~ golden~ gnomon} + \group_end: +} +\prop_gput:Nnn \g__tilings_ktriangle_lms_action_prop {g} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \pgftransformrotate{180} + \pgftransformxshift{-\l__tilings_step_dim} + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim/(1cm)/(2*cosd(36))} + \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~ golden~ gnomon/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{golden~ gnomon} + \group_end: +} +\int_new:N \l__tilings_pentagon_parity_int +\seq_new:N \l__tilings_pentagon_parity_seq +\seq_set_from_clist:Nn \l__tilings_pentagon_parity_seq {odd,even} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {1} { + \int_set:Nn \l__tilings_pentagon_parity_int + {3 - \l__tilings_pentagon_parity_int} +} +\tikzset{ + every~ pentagon~ decomposition/.code={% + \int_set:Nn \l__tilings_pentagon_parity_int {2} + } +} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {+} +{\pgftransformrotate{72}} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {*} +{\pgftransformrotate{144}} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {-} +{\pgftransformrotate{288}} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {_} +{\pgftransformrotate{216}} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {>} +{\pgftransformrotate{180}} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {|} +{\pgftransformxscale{-1}} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {s} { + \fp_set:Nn \l__tilings_tmpa_fp + { + 1/(2 + 2 * cosd(72) ) * \l__tilings_step_dim + } + \dim_set:Nn \l__tilings_step_dim {\fp_to_dim:N \l__tilings_tmpa_fp} +} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {f} { + \fp_set:Nn \l__tilings_tmpa_fp { tand(54)/2 * \l__tilings_step_dim } + \pgftransformyshift{\fp_to_dim:N \l__tilings_tmpa_fp} +} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {F} { + \fp_set:Nn \l__tilings_tmpa_fp { tand(54) * \l__tilings_step_dim } + \pgftransformyshift{\fp_to_dim:N \l__tilings_tmpa_fp} +} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {d} { + \fp_set:Nn \l__tilings_tmpa_fp + { + (tand(54)/2 - tand(72)/2 + sind(36) ) * \l__tilings_step_dim + } + \pgftransformyshift{\fp_to_dim:N \l__tilings_tmpa_fp} +} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {e} { + \fp_set:Nn \l__tilings_tmpa_fp + { + tand(54) * cosd(36) * \l__tilings_step_dim + } + \pgftransformyshift{\fp_to_dim:N \l__tilings_tmpa_fp} +} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {P} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim/2} + \pgftransformxshift{-\fp_to_dim:N \l__tilings_tmpa_fp} + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim*tand(54)/2} + \pgftransformyshift{-\fp_to_dim:N \l__tilings_tmpa_fp} + \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~ pentagon/.try, + every~ + \seq_item:Nn \l__tilings_pentagon_parity_seq + {\l__tilings_pentagon_parity_int} + \space pentagon/.try, + every~ pentagon~ 5/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{pentagon~5} + \group_end: +} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {Q} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim/2} + \pgftransformxshift{-\fp_to_dim:N \l__tilings_tmpa_fp} + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim*tand(54)/2} + \pgftransformyshift{-\fp_to_dim:N \l__tilings_tmpa_fp} + \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~ pentagon/.try, + every~ + \seq_item:Nn \l__tilings_pentagon_parity_seq + {\l__tilings_pentagon_parity_int} + \space pentagon/.try, + every~ pentagon~ 3/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{pentagon~3} + \group_end: +} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {R} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim/2} + \pgftransformxshift{-\fp_to_dim:N \l__tilings_tmpa_fp} + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim*tand(54)/2} + \pgftransformyshift{-\fp_to_dim:N \l__tilings_tmpa_fp} + \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~ pentagon/.try, + every~ + \seq_item:Nn \l__tilings_pentagon_parity_seq + {\l__tilings_pentagon_parity_int} + \space pentagon/.try, + every~ pentagon~ 2/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{pentagon~2} + \group_end: +} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {G} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim*cosd(72)} + \pgftransformxshift{\fp_to_dim:N \l__tilings_tmpa_fp} + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim*tand(54)*cosd(72)} + \pgftransformyshift{\fp_to_dim:N \l__tilings_tmpa_fp} + \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~ pentagram/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{pentagram} + \group_end: +} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {B} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim*cosd(72)} + \pgftransformxshift{\fp_to_dim:N \l__tilings_tmpa_fp} + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim*tand(54)*cosd(72)} + \pgftransformyshift{\fp_to_dim:N \l__tilings_tmpa_fp} + \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~ boat/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{boat} + \group_end: +} +\prop_gput:Nnn \g__tilings_pentagon_lms_action_prop {D} { + \group_begin: + \int_gincr:N \g__tilings_tile_int + \pgftransformrotate{90} + \fp_set:Nn \l__tilings_tmpa_fp {\l__tilings_step_dim*cosd(18)} + \pgftransformxshift{-\fp_to_dim:N \l__tilings_tmpa_fp} + \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~ diamond/.try, + tile~ \int_use:N \g__tilings_tile_int/.try, + tile/.try/.expand~ once=\l__tilings_tmpc_tl + ]{diamond} + \group_end: +} +\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.penrose.code.tex'. |