summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tilings/tikzlibrarytilings.penrose.code.tex
diff options
context:
space:
mode:
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.tex699
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'.